diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 8b51784e22..d18a5a1ebf 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.0.4 +current_version = 1.1.0 commit = True tag = True parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\.(?P.*))? diff --git a/.gitignore b/.gitignore index 41dc6bbd2f..6db55f67e9 100644 --- a/.gitignore +++ b/.gitignore @@ -72,3 +72,4 @@ _test_est *_local/ *_local.* +**/output/ diff --git a/.travis.yml b/.travis.yml index 8161c6e2cd..a94e2b7d12 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,22 +19,24 @@ jobs: - env: TEST_SUITE=activitysim/core - stage: Examples - name: "MTC Example" - env: TEST_SUITE=activitysim/examples/example_mtc/test + name: "Prototype MTC" + env: TEST_SUITE=activitysim/examples/prototype_mtc/test + - name: "Prototype MTC (Extended)" + env: TEST_SUITE=activitysim/examples/prototype_mtc_extended/test - name: "Multizone Example" - env: TEST_SUITE=activitysim/examples/example_multiple_zone/test + env: TEST_SUITE=activitysim/examples/placeholder_multiple_zone/test - name: "Marin Example" - env: TEST_SUITE=activitysim/examples/example_marin/test + env: TEST_SUITE=activitysim/examples/prototype_marin/test - name: "ARC Example" - env: TEST_SUITE=activitysim/examples/example_arc/test + env: TEST_SUITE=activitysim/examples/prototype_arc/test - name: "SEMCOG Example" - env: TEST_SUITE=activitysim/examples/example_semcog/test + env: TEST_SUITE=activitysim/examples/prototype_semcog/test - name: "PSRC Example" - env: TEST_SUITE=activitysim/examples/example_psrc/test + env: TEST_SUITE=activitysim/examples/placeholder_psrc/test - name: "SANDAG Example" - env: TEST_SUITE=activitysim/examples/example_sandag/test + env: TEST_SUITE=activitysim/examples/placeholder_sandag/test - name: "SANDAG Cross-Border Example" - env: TEST_SUITE=activitysim/examples/example_sandag_xborder/test + env: TEST_SUITE=activitysim/examples/prototype_sandag_xborder/test - stage: Estimation Mode name: "Larch Test" @@ -92,12 +94,11 @@ install: script: # This is the "default" script used for each test suite, unless overridden with a "script" in the jobs above. # build 2 and 3 zone test data twice since the Python test code on Linux sees these as different locations -- python activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py -- python activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py -- python /home/travis/miniconda/envs/asimtest/lib/python$TRAVIS_PYTHON_VERSION/site-packages/activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py -- python /home/travis/miniconda/envs/asimtest/lib/python$TRAVIS_PYTHON_VERSION/site-packages/activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py -# pycodestyle -- pycodestyle activitysim +- python activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py +- python activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py +- python /home/travis/miniconda/envs/asimtest/lib/python$TRAVIS_PYTHON_VERSION/site-packages/activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py +- python /home/travis/miniconda/envs/asimtest/lib/python$TRAVIS_PYTHON_VERSION/site-packages/activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py +- black --check --diff activitysim # run specific TEST_SUITE job on travis to avoid job max time - travis_wait 50 py.test $TEST_SUITE --cov activitysim --cov-report term-missing --durations=0 -- coveralls +# coveralls # disable coveralls service, which errors frequently diff --git a/HOW_TO_RELEASE.md b/HOW_TO_RELEASE.md index eba38de1c1..0c51962267 100644 --- a/HOW_TO_RELEASE.md +++ b/HOW_TO_RELEASE.md @@ -60,8 +60,8 @@ regular test suite takes some time to run, between about half an hour and two hours depending on the specs of your machine. ```sh - python activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py - python activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py + python activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py + python activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py pytest . ``` @@ -83,7 +83,7 @@ python ../activitysim/examples/scan_examples_for_errors.py . ``` -00. Test the notebooks in `activitysim/examples/example_mtc/notebooks`. +00. Test the notebooks in `activitysim/examples/prototype_mtc/notebooks`. There are also demo notebooks for estimation, but their functionality is completely tested in the unit tests run previously. diff --git a/LICENSE.txt b/LICENSE.txt index 4d7800ce6d..c091c014e5 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,7 +1,7 @@ BSD 3-Clause License -Copyright (c) After March 2016, Contributing Authors -Copyright (c) Before March 2016, UrbanSim Inc +Copyright (c) Association of Metropolitan Planning Organizations Research Foundation + All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/README.md b/README.md index 4d4f0e57cc..8c8d2e32d2 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ActivitySim =========== -[![Build Status](https://travis-ci.org/ActivitySim/activitysim.svg?branch=master)](https://travis-ci.org/ActivitySim/activitysim)[![Coverage Status](https://coveralls.io/repos/github/ActivitySim/activitysim/badge.svg?branch=master)](https://coveralls.io/github/ActivitySim/activitysim?branch=master) +[![Build Status](https://travis-ci.com/ActivitySim/activitysim.svg?branch=master)](https://travis-ci.org/github/ActivitySim/activitysim)[![Coverage Status](https://coveralls.io/repos/github/ActivitySim/activitysim/badge.svg?branch=master)](https://coveralls.io/github/ActivitySim/activitysim?branch=master) The mission of the ActivitySim project is to create and maintain advanced, open-source, activity-based travel behavior modeling software based on best software development @@ -15,4 +15,4 @@ and benefit from contributions of other agency partners. ## Documentation -https://activitysim.github.io/activitysim +https://activitysim.github.io/activitysim \ No newline at end of file diff --git a/activitysim/__init__.py b/activitysim/__init__.py index 686f456fdc..497c4499e1 100644 --- a/activitysim/__init__.py +++ b/activitysim/__init__.py @@ -2,5 +2,5 @@ # See full license in LICENSE.txt. -__version__ = '1.0.4' -__doc__ = 'Activity-Based Travel Modeling' +__version__ = "1.1.0" +__doc__ = "Activity-Based Travel Modeling" diff --git a/activitysim/abm/__init__.py b/activitysim/abm/__init__.py index 98b4b2cb14..eb5a299611 100644 --- a/activitysim/abm/__init__.py +++ b/activitysim/abm/__init__.py @@ -1,5 +1,3 @@ # ActivitySim # See full license in LICENSE.txt. -from . import misc -from . import tables -from . import models +from . import misc, models, tables diff --git a/activitysim/abm/misc.py b/activitysim/abm/misc.py index 994346dfc2..528c8db937 100644 --- a/activitysim/abm/misc.py +++ b/activitysim/abm/misc.py @@ -4,8 +4,7 @@ import pandas as pd -from activitysim.core import config -from activitysim.core import inject +from activitysim.core import config, inject # FIXME # warnings.filterwarnings('ignore', category=pd.io.pytables.PerformanceWarning) @@ -18,7 +17,7 @@ def households_sample_size(settings, override_hh_ids): if override_hh_ids is None: - return settings.get('households_sample_size', 0) + return settings.get("households_sample_size", 0) else: return 0 if override_hh_ids is None else len(override_hh_ids) @@ -26,18 +25,20 @@ def households_sample_size(settings, override_hh_ids): @inject.injectable(cache=True) def override_hh_ids(settings): - hh_ids_filename = settings.get('hh_ids', None) + hh_ids_filename = settings.get("hh_ids", None) if hh_ids_filename is None: return None file_path = config.data_file_path(hh_ids_filename, mandatory=False) if not file_path: - logger.error("hh_ids file name '%s' specified in settings not found" % hh_ids_filename) + logger.error( + "hh_ids file name '%s' specified in settings not found" % hh_ids_filename + ) return None - df = pd.read_csv(file_path, comment='#') + df = pd.read_csv(file_path, comment="#") - if 'household_id' not in df.columns: + if "household_id" not in df.columns: logger.error("No 'household_id' column in hh_ids file %s" % hh_ids_filename) return None @@ -47,8 +48,10 @@ def override_hh_ids(settings): logger.error("No households in hh_ids file %s" % hh_ids_filename) return None - logger.info("Using hh_ids list with %s households from file %s" % - (len(household_ids), hh_ids_filename)) + logger.info( + "Using hh_ids list with %s households from file %s" + % (len(household_ids), hh_ids_filename) + ) return household_ids @@ -56,10 +59,12 @@ def override_hh_ids(settings): @inject.injectable(cache=True) def trace_hh_id(settings): - id = settings.get('trace_hh_id', None) + id = settings.get("trace_hh_id", None) if id and not isinstance(id, int): - logger.warning("setting trace_hh_id is wrong type, should be an int, but was %s" % type(id)) + logger.warning( + "setting trace_hh_id is wrong type, should be an int, but was %s" % type(id) + ) id = None return id @@ -68,9 +73,11 @@ def trace_hh_id(settings): @inject.injectable(cache=True) def trace_od(settings): - od = settings.get('trace_od', None) + od = settings.get("trace_od", None) - if od and not (isinstance(od, list) and len(od) == 2 and all(isinstance(x, int) for x in od)): + if od and not ( + isinstance(od, list) and len(od) == 2 and all(isinstance(x, int) for x in od) + ): logger.warning("setting trace_od should be a list of length 2, but was %s" % od) od = None @@ -79,11 +86,11 @@ def trace_od(settings): @inject.injectable(cache=True) def chunk_size(settings): - _chunk_size = int(settings.get('chunk_size', 0) or 0) + _chunk_size = int(settings.get("chunk_size", 0) or 0) return _chunk_size @inject.injectable(cache=True) def check_for_variability(settings): - return bool(settings.get('check_for_variability', False)) + return bool(settings.get("check_for_variability", False)) diff --git a/activitysim/abm/models/__init__.py b/activitysim/abm/models/__init__.py index 351d9dc326..76e6855635 100644 --- a/activitysim/abm/models/__init__.py +++ b/activitysim/abm/models/__init__.py @@ -1,38 +1,42 @@ # ActivitySim # See full license in LICENSE.txt. -from . import accessibility -from . import atwork_subtour_destination -from . import atwork_subtour_frequency -from . import atwork_subtour_mode_choice -from . import atwork_subtour_scheduling -from . import auto_ownership -from . import cdap -from . import free_parking -from . import initialize -from . import initialize_tours -from . import initialize_los -from . import joint_tour_composition -from . import joint_tour_destination -from . import joint_tour_frequency -from . import joint_tour_participation -from . import joint_tour_scheduling -from . import location_choice -from . import mandatory_scheduling -from . import mandatory_tour_frequency -from . import non_mandatory_destination -from . import non_mandatory_scheduling -from . import non_mandatory_tour_frequency -from . import parking_location_choice -from . import stop_frequency -from . import tour_mode_choice -from . import tour_od_choice -from . import tour_scheduling_probabilistic -from . import trip_destination -from . import trip_mode_choice -from . import trip_purpose -from . import trip_purpose_and_destination -from . import trip_scheduling -from . import trip_departure_choice -from . import trip_scheduling_choice -from . import trip_matrices -from . import summarize +from . import ( + accessibility, + atwork_subtour_destination, + atwork_subtour_frequency, + atwork_subtour_mode_choice, + atwork_subtour_scheduling, + auto_ownership, + cdap, + free_parking, + initialize, + initialize_los, + initialize_tours, + joint_tour_composition, + joint_tour_destination, + joint_tour_frequency, + joint_tour_participation, + joint_tour_scheduling, + location_choice, + mandatory_scheduling, + mandatory_tour_frequency, + non_mandatory_destination, + non_mandatory_scheduling, + non_mandatory_tour_frequency, + parking_location_choice, + stop_frequency, + summarize, + tour_mode_choice, + tour_od_choice, + tour_scheduling_probabilistic, + trip_departure_choice, + trip_destination, + trip_matrices, + trip_mode_choice, + trip_purpose, + trip_purpose_and_destination, + trip_scheduling, + trip_scheduling_choice, + vehicle_allocation, + vehicle_type_choice, +) diff --git a/activitysim/abm/models/accessibility.py b/activitysim/abm/models/accessibility.py index 16d0e85597..edd928e5c6 100644 --- a/activitysim/abm/models/accessibility.py +++ b/activitysim/abm/models/accessibility.py @@ -2,31 +2,24 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import assign -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import chunk -from activitysim.core import mem - -from activitysim.core import los +from activitysim.core import assign, chunk, config, inject, los, mem, pipeline, tracing from activitysim.core.pathbuilder import TransitVirtualPathBuilder logger = logging.getLogger(__name__) def compute_accessibilities_for_zones( - accessibility_df, - land_use_df, - assignment_spec, - constants, - network_los, - trace_od, - trace_label): + accessibility_df, + land_use_df, + assignment_spec, + constants, + network_los, + trace_od, + trace_label, +): orig_zones = accessibility_df.index.values dest_zones = land_use_df.index.values @@ -34,14 +27,16 @@ def compute_accessibilities_for_zones( orig_zone_count = len(orig_zones) dest_zone_count = len(dest_zones) - logger.info("Running %s with %d orig zones %d dest zones" % - (trace_label, orig_zone_count, dest_zone_count)) + logger.info( + "Running %s with %d orig zones %d dest zones" + % (trace_label, orig_zone_count, dest_zone_count) + ) # create OD dataframe od_df = pd.DataFrame( data={ - 'orig': np.repeat(orig_zones, dest_zone_count), - 'dest': np.tile(dest_zones, orig_zone_count) + "orig": np.repeat(orig_zones, dest_zone_count), + "dest": np.tile(dest_zones, orig_zone_count), } ) @@ -52,28 +47,36 @@ def compute_accessibilities_for_zones( trace_od_rows = None # merge land_use_columns into od_df - od_df = pd.merge(od_df, land_use_df, left_on='dest', right_index=True).sort_index() + logger.info(f"{trace_label}: merge land_use_columns into od_df") + od_df = pd.merge(od_df, land_use_df, left_on="dest", right_index=True).sort_index() chunk.log_df(trace_label, "od_df", od_df) locals_d = { - 'log': np.log, - 'exp': np.exp, - 'network_los': network_los, + "log": np.log, + "exp": np.exp, + "network_los": network_los, } locals_d.update(constants) skim_dict = network_los.get_default_skim_dict() - locals_d['skim_od'] = skim_dict.wrap('orig', 'dest').set_df(od_df) - locals_d['skim_do'] = skim_dict.wrap('dest', 'orig').set_df(od_df) + locals_d["skim_od"] = skim_dict.wrap("orig", "dest").set_df(od_df) + locals_d["skim_do"] = skim_dict.wrap("dest", "orig").set_df(od_df) if network_los.zone_system == los.THREE_ZONE: - locals_d['tvpb'] = network_los.tvpb + locals_d["tvpb"] = network_los.tvpb - results, trace_results, trace_assigned_locals \ - = assign.assign_variables(assignment_spec, od_df, locals_d, - trace_rows=trace_od_rows, trace_label=trace_label, chunk_log=True) + logger.info(f"{trace_label}: assign.assign_variables") + results, trace_results, trace_assigned_locals = assign.assign_variables( + assignment_spec, + od_df, + locals_d, + trace_rows=trace_od_rows, + trace_label=trace_label, + chunk_log=True, + ) chunk.log_df(trace_label, "results", results) + logger.info(f"{trace_label}: have results") # accessibility_df = accessibility_df.copy() for column in results.columns: @@ -84,23 +87,29 @@ def compute_accessibilities_for_zones( if trace_od: if not trace_od_rows.any(): - logger.warning(f"trace_od not found origin = {trace_orig}, dest = {trace_dest}") + logger.warning( + f"trace_od not found origin = {trace_orig}, dest = {trace_dest}" + ) else: # add OD columns to trace results df = pd.concat([od_df[trace_od_rows], trace_results], axis=1) # dump the trace results table (with _temp variables) to aid debugging - tracing.trace_df(df, - label='accessibility', - index_label='skim_offset', - slicer='NONE', - warn_if_empty=True) + tracing.trace_df( + df, + label="accessibility", + index_label="skim_offset", + slicer="NONE", + warn_if_empty=True, + ) if trace_assigned_locals: - tracing.write_csv(trace_assigned_locals, file_name="accessibility_locals") + tracing.write_csv( + trace_assigned_locals, file_name="accessibility_locals" + ) - return(accessibility_df) + return accessibility_df @inject.step() @@ -122,32 +131,45 @@ def compute_accessibility(land_use, accessibility, network_los, chunk_size, trac steeper than automobile or transit. The minimum accessibility is zero. """ - trace_label = 'compute_accessibility' - model_settings = config.read_model_settings('accessibility.yaml') - assignment_spec = assign.read_assignment_spec(config.config_file_path('accessibility.csv')) + trace_label = "compute_accessibility" + model_settings = config.read_model_settings("accessibility.yaml") + assignment_spec = assign.read_assignment_spec( + config.config_file_path("accessibility.csv") + ) accessibility_df = accessibility.to_frame() if len(accessibility_df.columns) > 0: - logger.warning(f"accessibility table is not empty. Columns:{list(accessibility_df.columns)}") + logger.warning( + f"accessibility table is not empty. Columns:{list(accessibility_df.columns)}" + ) raise RuntimeError(f"accessibility table is not empty.") constants = config.get_model_constants(model_settings) # only include the land_use columns needed by spec, as specified by land_use_columns model_setting - land_use_columns = model_settings.get('land_use_columns', []) + land_use_columns = model_settings.get("land_use_columns", []) land_use_df = land_use.to_frame() land_use_df = land_use_df[land_use_columns] - logger.info(f"Running {trace_label} with {len(accessibility_df.index)} orig zones {len(land_use_df)} dest zones") + logger.info( + f"Running {trace_label} with {len(accessibility_df.index)} orig zones {len(land_use_df)} dest zones" + ) accessibilities_list = [] - for i, chooser_chunk, chunk_trace_label in \ - chunk.adaptive_chunked_choosers(accessibility_df, chunk_size, trace_label): - - accessibilities = \ - compute_accessibilities_for_zones(chooser_chunk, land_use_df, assignment_spec, - constants, network_los, trace_od, trace_label) + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + accessibility_df, chunk_size, trace_label + ): + + accessibilities = compute_accessibilities_for_zones( + chooser_chunk, + land_use_df, + assignment_spec, + constants, + network_los, + trace_od, + trace_label, + ) accessibilities_list.append(accessibilities) accessibility_df = pd.concat(accessibilities_list) diff --git a/activitysim/abm/models/atwork_subtour_destination.py b/activitysim/abm/models/atwork_subtour_destination.py index b7f2ae8208..1b69cde775 100644 --- a/activitysim/abm/models/atwork_subtour_destination.py +++ b/activitysim/abm/models/atwork_subtour_destination.py @@ -4,18 +4,12 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject - -from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.core import config, inject, pipeline, simulate, tracing from activitysim.core.interaction_sample import interaction_sample +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate from activitysim.core.util import assign_in_place -from .util import tour_destination -from .util import estimation +from .util import estimation, tour_destination logger = logging.getLogger(__name__) DUMP = False @@ -23,47 +17,54 @@ @inject.step() def atwork_subtour_destination( - tours, - persons_merged, - network_los, - chunk_size, trace_hh_id): + tours, persons_merged, network_los, chunk_size, trace_hh_id +): - trace_label = 'atwork_subtour_destination' - model_settings_file_name = 'atwork_subtour_destination.yaml' + trace_label = "atwork_subtour_destination" + model_settings_file_name = "atwork_subtour_destination.yaml" model_settings = config.read_model_settings(model_settings_file_name) future_settings = { - 'SIZE_TERM_SELECTOR': 'atwork', - 'SEGMENTS': ['atwork'], - 'ORIG_ZONE_ID': 'workplace_zone_id' + "SIZE_TERM_SELECTOR": "atwork", + "SEGMENTS": ["atwork"], + "ORIG_ZONE_ID": "workplace_zone_id", } - model_settings = config.future_model_settings(model_settings_file_name, model_settings, future_settings) + model_settings = config.future_model_settings( + model_settings_file_name, model_settings, future_settings + ) - destination_column_name = 'destination' - logsum_column_name = model_settings.get('DEST_CHOICE_LOGSUM_COLUMN_NAME') + destination_column_name = "destination" + logsum_column_name = model_settings.get("DEST_CHOICE_LOGSUM_COLUMN_NAME") want_logsums = logsum_column_name is not None - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) persons_merged = persons_merged.to_frame() tours = tours.to_frame() - subtours = tours[tours.tour_category == 'atwork'] + subtours = tours[tours.tour_category == "atwork"] # - if no atwork subtours if subtours.shape[0] == 0: - tracing.no_results('atwork_subtour_destination') + tracing.no_results("atwork_subtour_destination") return - estimator = estimation.manager.begin_estimation('atwork_subtour_destination') + estimator = estimation.manager.begin_estimation("atwork_subtour_destination") if estimator: estimator.write_coefficients(model_settings=model_settings) # estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SPEC") estimator.set_alt_id(model_settings["ALT_DEST_COL_NAME"]) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) estimator.write_model_settings(model_settings, model_settings_file_name) choices_df, save_sample_df = tour_destination.run_tour_destination( @@ -74,26 +75,31 @@ def atwork_subtour_destination( model_settings, network_los, estimator, - chunk_size, trace_hh_id, trace_label) + chunk_size, + trace_hh_id, + trace_label, + ) if estimator: - estimator.write_choices(choices_df['choice']) - choices_df['choice'] = estimator.get_survey_values(choices_df['choice'], 'tours', 'destination') - estimator.write_override_choices(choices_df['choice']) + estimator.write_choices(choices_df["choice"]) + choices_df["choice"] = estimator.get_survey_values( + choices_df["choice"], "tours", "destination" + ) + estimator.write_override_choices(choices_df["choice"]) estimator.end_estimation() - subtours[destination_column_name] = choices_df['choice'] + subtours[destination_column_name] = choices_df["choice"] assign_in_place(tours, subtours[[destination_column_name]]) if want_logsums: - subtours[logsum_column_name] = choices_df['logsum'] + subtours[logsum_column_name] = choices_df["logsum"] assign_in_place(tours, subtours[[logsum_column_name]]) pipeline.replace_table("tours", tours) - tracing.print_summary(destination_column_name, - subtours[destination_column_name], - describe=True) + tracing.print_summary( + destination_column_name, subtours[destination_column_name], describe=True + ) if want_sample_table: assert len(save_sample_df.index.get_level_values(0).unique()) == len(choices_df) @@ -101,6 +107,6 @@ def atwork_subtour_destination( pipeline.extend_table(sample_table_name, save_sample_df) if trace_hh_id: - tracing.trace_df(tours, - label='atwork_subtour_destination', - columns=['destination']) + tracing.trace_df( + tours, label="atwork_subtour_destination", columns=["destination"] + ) diff --git a/activitysim/abm/models/atwork_subtour_frequency.py b/activitysim/abm/models/atwork_subtour_frequency.py index cb9d3ca4c7..d42b97fdc3 100644 --- a/activitysim/abm/models/atwork_subtour_frequency.py +++ b/activitysim/abm/models/atwork_subtour_frequency.py @@ -2,18 +2,12 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing from .util import estimation - from .util.tour_frequency import process_atwork_subtours logger = logging.getLogger(__name__) @@ -21,26 +15,23 @@ def add_null_results(trace_label, tours): logger.info("Skipping %s: add_null_results", trace_label) - tours['atwork_subtour_frequency'] = np.nan + tours["atwork_subtour_frequency"] = np.nan pipeline.replace_table("tours", tours) @inject.step() -def atwork_subtour_frequency(tours, - persons_merged, - chunk_size, - trace_hh_id): +def atwork_subtour_frequency(tours, persons_merged, chunk_size, trace_hh_id): """ This model predicts the frequency of making at-work subtour tours (alternatives for this model come from a separate csv file which is configured by the user). """ - trace_label = 'atwork_subtour_frequency' - model_settings_file_name = 'atwork_subtour_frequency.yaml' + trace_label = "atwork_subtour_frequency" + model_settings_file_name = "atwork_subtour_frequency.yaml" tours = tours.to_frame() - work_tours = tours[tours.tour_type == 'work'] + work_tours = tours[tours.tour_type == "work"] # - if no work_tours if len(work_tours) == 0: @@ -48,17 +39,21 @@ def atwork_subtour_frequency(tours, return model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('atwork_subtour_frequency') + estimator = estimation.manager.begin_estimation("atwork_subtour_frequency") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) - alternatives = simulate.read_model_alts('atwork_subtour_frequency_alternatives.csv', set_index='alt') + alternatives = simulate.read_model_alts( + "atwork_subtour_frequency_alternatives.csv", set_index="alt" + ) # merge persons into work_tours persons_merged = persons_merged.to_frame() - work_tours = pd.merge(work_tours, persons_merged, left_on='person_id', right_index=True) + work_tours = pd.merge( + work_tours, persons_merged, left_on="person_id", right_index=True + ) logger.info("Running atwork_subtour_frequency with %d work tours", len(work_tours)) @@ -66,13 +61,12 @@ def atwork_subtour_frequency(tours, constants = config.get_model_constants(model_settings) # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: expressions.assign_columns( - df=work_tours, - model_settings=preprocessor_settings, - trace_label=trace_label) + df=work_tours, model_settings=preprocessor_settings, trace_label=trace_label + ) if estimator: estimator.write_spec(model_settings) @@ -87,37 +81,40 @@ def atwork_subtour_frequency(tours, locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='atwork_subtour_frequency', - estimator=estimator) + trace_choice_name="atwork_subtour_frequency", + estimator=estimator, + ) # convert indexes to alternative names choices = pd.Series(model_spec.columns[choices.values], index=choices.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'tours', 'atwork_subtour_frequency') + choices = estimator.get_survey_values( + choices, "tours", "atwork_subtour_frequency" + ) estimator.write_override_choices(choices) estimator.end_estimation() # add atwork_subtour_frequency column to tours # reindex since we are working with a subset of tours - tours['atwork_subtour_frequency'] = choices.reindex(tours.index) + tours["atwork_subtour_frequency"] = choices.reindex(tours.index) pipeline.replace_table("tours", tours) # - create atwork_subtours based on atwork_subtour_frequency choice names - work_tours = tours[tours.tour_type == 'work'] + work_tours = tours[tours.tour_type == "work"] assert not work_tours.atwork_subtour_frequency.isnull().any() subtours = process_atwork_subtours(work_tours, alternatives) tours = pipeline.extend_table("tours", subtours) - tracing.register_traceable_table('tours', subtours) - pipeline.get_rn_generator().add_channel('tours', subtours) + tracing.register_traceable_table("tours", subtours) + pipeline.get_rn_generator().add_channel("tours", subtours) - tracing.print_summary('atwork_subtour_frequency', tours.atwork_subtour_frequency, - value_counts=True) + tracing.print_summary( + "atwork_subtour_frequency", tours.atwork_subtour_frequency, value_counts=True + ) if trace_hh_id: - tracing.trace_df(tours, - label='atwork_subtour_frequency.tours') + tracing.trace_df(tours, label="atwork_subtour_frequency.tours") diff --git a/activitysim/abm/models/atwork_subtour_mode_choice.py b/activitysim/abm/models/atwork_subtour_mode_choice.py index 5b42c1b26e..bc3f1c66c1 100644 --- a/activitysim/abm/models/atwork_subtour_mode_choice.py +++ b/activitysim/abm/models/atwork_subtour_mode_choice.py @@ -2,61 +2,64 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate - -from activitysim.core import los +from activitysim.core import ( + config, + expressions, + inject, + los, + pipeline, + simulate, + tracing, +) from activitysim.core.pathbuilder import TransitVirtualPathBuilder +from activitysim.core.util import assign_in_place -from .util.mode import run_tour_mode_choice_simulate from .util import estimation - -from activitysim.core.util import assign_in_place +from .util.mode import run_tour_mode_choice_simulate logger = logging.getLogger(__name__) @inject.step() def atwork_subtour_mode_choice( - tours, - persons_merged, - network_los, - chunk_size, - trace_hh_id): + tours, persons_merged, network_los, chunk_size, trace_hh_id +): """ At-work subtour mode choice simulate """ - trace_label = 'atwork_subtour_mode_choice' + trace_label = "atwork_subtour_mode_choice" - model_settings_file_name = 'tour_mode_choice.yaml' + model_settings_file_name = "tour_mode_choice.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('MODE_CHOICE_LOGSUM_COLUMN_NAME') - mode_column_name = 'tour_mode' + logsum_column_name = model_settings.get("MODE_CHOICE_LOGSUM_COLUMN_NAME") + mode_column_name = "tour_mode" tours = tours.to_frame() - subtours = tours[tours.tour_category == 'atwork'] + subtours = tours[tours.tour_category == "atwork"] # - if no atwork subtours if subtours.shape[0] == 0: tracing.no_results(trace_label) return - subtours_merged = \ - pd.merge(subtours, persons_merged.to_frame(), - left_on='person_id', right_index=True, how='left') + subtours_merged = pd.merge( + subtours, + persons_merged.to_frame(), + left_on="person_id", + right_index=True, + how="left", + ) logger.info("Running %s with %d subtours" % (trace_label, subtours_merged.shape[0])) - tracing.print_summary('%s tour_type' % trace_label, - subtours_merged.tour_type, value_counts=True) + tracing.print_summary( + "%s tour_type" % trace_label, subtours_merged.tour_type, value_counts=True + ) constants = {} constants.update(config.get_model_constants(model_settings)) @@ -64,18 +67,22 @@ def atwork_subtour_mode_choice( skim_dict = network_los.get_default_skim_dict() # setup skim keys - orig_col_name = 'workplace_zone_id' - dest_col_name = 'destination' - out_time_col_name = 'start' - in_time_col_name = 'end' - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='out_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='in_period') - odr_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='in_period') - dor_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='out_period') + orig_col_name = "workplace_zone_id" + dest_col_name = "destination" + out_time_col_name = "start" + in_time_col_name = "end" + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="out_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="in_period" + ) + odr_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="in_period" + ) + dor_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="out_period" + ) od_skim_stack_wrapper = skim_dict.wrap(orig_col_name, dest_col_name) skims = { @@ -84,34 +91,45 @@ def atwork_subtour_mode_choice( "odr_skims": odr_skim_stack_wrapper, "dor_skims": dor_skim_stack_wrapper, "od_skims": od_skim_stack_wrapper, - 'orig_col_name': orig_col_name, - 'dest_col_name': dest_col_name, - 'out_time_col_name': out_time_col_name, - 'in_time_col_name': in_time_col_name + "orig_col_name": orig_col_name, + "dest_col_name": dest_col_name, + "out_time_col_name": out_time_col_name, + "in_time_col_name": in_time_col_name, } if network_los.zone_system == los.THREE_ZONE: # fixme - is this a lightweight object? tvpb = network_los.tvpb - tvpb_logsum_odt = tvpb.wrap_logsum(orig_key=orig_col_name, dest_key=dest_col_name, - tod_key='out_period', segment_key='demographic_segment', - cache_choices=True, - trace_label=trace_label, tag='tvpb_logsum_odt') - tvpb_logsum_dot = tvpb.wrap_logsum(orig_key=dest_col_name, dest_key=orig_col_name, - tod_key='in_period', segment_key='demographic_segment', - cache_choices=True, - trace_label=trace_label, tag='tvpb_logsum_dot') - - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - 'tvpb_logsum_dot': tvpb_logsum_dot - }) + tvpb_logsum_odt = tvpb.wrap_logsum( + orig_key=orig_col_name, + dest_key=dest_col_name, + tod_key="out_period", + segment_key="demographic_segment", + cache_choices=True, + trace_label=trace_label, + tag="tvpb_logsum_odt", + ) + tvpb_logsum_dot = tvpb.wrap_logsum( + orig_key=dest_col_name, + dest_key=orig_col_name, + tod_key="in_period", + segment_key="demographic_segment", + cache_choices=True, + trace_label=trace_label, + tag="tvpb_logsum_dot", + ) + + skims.update( + {"tvpb_logsum_odt": tvpb_logsum_odt, "tvpb_logsum_dot": tvpb_logsum_dot} + ) # TVPB constants can appear in expressions - constants.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + constants.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) - estimator = estimation.manager.begin_estimation('atwork_subtour_mode_choice') + estimator = estimation.manager.begin_estimation("atwork_subtour_mode_choice") if estimator: estimator.write_coefficients(model_settings=model_settings) estimator.write_coefficients_template(model_settings=model_settings) @@ -121,7 +139,8 @@ def atwork_subtour_mode_choice( choices_df = run_tour_mode_choice_simulate( subtours_merged, - tour_purpose='atwork', model_settings=model_settings, + tour_purpose="atwork", + model_settings=model_settings, mode_column_name=mode_column_name, logsum_column_name=logsum_column_name, network_los=network_los, @@ -130,15 +149,18 @@ def atwork_subtour_mode_choice( estimator=estimator, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='tour_mode_choice') + trace_choice_name="tour_mode_choice", + ) # add cached tvpb_logsum tap choices for modes specified in tvpb_mode_path_types if network_los.zone_system == los.THREE_ZONE: - tvpb_mode_path_types = model_settings.get('tvpb_mode_path_types') + tvpb_mode_path_types = model_settings.get("tvpb_mode_path_types") for mode, path_types in tvpb_mode_path_types.items(): - for direction, skim in zip(['od', 'do'], [tvpb_logsum_odt, tvpb_logsum_dot]): + for direction, skim in zip( + ["od", "do"], [tvpb_logsum_odt, tvpb_logsum_dot] + ): path_type = path_types[direction] skim_cache = skim.cache[path_type] @@ -147,27 +169,48 @@ def atwork_subtour_mode_choice( for c in skim_cache: - dest_col = f'{direction}_{c}' + dest_col = f"{direction}_{c}" if dest_col not in choices_df: - choices_df[dest_col] = np.nan if pd.api.types.is_numeric_dtype(skim_cache[c]) else '' + choices_df[dest_col] = ( + np.nan + if pd.api.types.is_numeric_dtype(skim_cache[c]) + else "" + ) - choices_df[dest_col].where(choices_df.tour_mode != mode, skim_cache[c], inplace=True) + choices_df[dest_col].where( + choices_df.tour_mode != mode, skim_cache[c], inplace=True + ) if estimator: estimator.write_choices(choices_df[mode_column_name]) - choices_df[mode_column_name] = \ - estimator.get_survey_values(choices_df[mode_column_name], 'tours', mode_column_name) + choices_df[mode_column_name] = estimator.get_survey_values( + choices_df[mode_column_name], "tours", mode_column_name + ) estimator.write_override_choices(choices_df[mode_column_name]) estimator.end_estimation() - tracing.print_summary('%s choices' % trace_label, choices_df[mode_column_name], value_counts=True) + tracing.print_summary( + "%s choices" % trace_label, choices_df[mode_column_name], value_counts=True + ) assign_in_place(tours, choices_df) pipeline.replace_table("tours", tours) + # - annotate tours table + if model_settings.get("annotate_tours"): + tours = inject.get_table("tours").to_frame() + expressions.assign_columns( + df=tours, + model_settings=model_settings.get("annotate_tours"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), + ) + pipeline.replace_table("tours", tours) + if trace_hh_id: - tracing.trace_df(tours[tours.tour_category == 'atwork'], - label=tracing.extend_trace_label(trace_label, mode_column_name), - slicer='tour_id', - index_label='tour_id') + tracing.trace_df( + tours[tours.tour_category == "atwork"], + label=tracing.extend_trace_label(trace_label, mode_column_name), + slicer="tour_id", + index_label="tour_id", + ) diff --git a/activitysim/abm/models/atwork_subtour_scheduling.py b/activitysim/abm/models/atwork_subtour_scheduling.py index f7a61b3a4b..188cfaeaaf 100644 --- a/activitysim/abm/models/atwork_subtour_scheduling.py +++ b/activitysim/abm/models/atwork_subtour_scheduling.py @@ -2,22 +2,16 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject +from activitysim.core import config, expressions, inject, pipeline, simulate from activitysim.core import timetable as tt -from activitysim.core import expressions - -from .util.vectorize_tour_scheduling import vectorize_subtour_scheduling +from activitysim.core import tracing +from activitysim.core.util import assign_in_place from .util import estimation - -from activitysim.core.util import assign_in_place +from .util.vectorize_tour_scheduling import vectorize_subtour_scheduling logger = logging.getLogger(__name__) @@ -26,21 +20,17 @@ @inject.step() def atwork_subtour_scheduling( - tours, - persons_merged, - tdd_alts, - skim_dict, - chunk_size, - trace_hh_id): + tours, persons_merged, tdd_alts, skim_dict, chunk_size, trace_hh_id +): """ This model predicts the departure time and duration of each activity for at work subtours tours """ - trace_label = 'atwork_subtour_scheduling' - model_settings_file_name = 'tour_scheduling_atwork.yaml' + trace_label = "atwork_subtour_scheduling" + model_settings_file_name = "tour_scheduling_atwork.yaml" tours = tours.to_frame() - subtours = tours[tours.tour_category == 'atwork'] + subtours = tours[tours.tour_category == "atwork"] # - if no atwork subtours if subtours.shape[0] == 0: @@ -48,9 +38,9 @@ def atwork_subtour_scheduling( return model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('atwork_subtour_scheduling') + estimator = estimation.manager.begin_estimation("atwork_subtour_scheduling") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -60,18 +50,18 @@ def atwork_subtour_scheduling( # preprocessor constants = config.get_model_constants(model_settings) - od_skim_wrapper = skim_dict.wrap('origin', 'destination') + od_skim_wrapper = skim_dict.wrap("origin", "destination") skims = { "od_skims": od_skim_wrapper, } expressions.annotate_preprocessors( - subtours, constants, skims, - model_settings, trace_label) + subtours, constants, skims, model_settings, trace_label + ) # parent_tours table with columns ['tour_id', 'tdd'] index = tour_id parent_tour_ids = subtours.parent_tour_id.astype(np.int64).unique() - parent_tours = pd.DataFrame({'tour_id': parent_tour_ids}, index=parent_tour_ids) - parent_tours = parent_tours.merge(tours[['tdd']], left_index=True, right_index=True) + parent_tours = pd.DataFrame({"tour_id": parent_tour_ids}, index=parent_tour_ids) + parent_tours = parent_tours.merge(tours[["tdd"]], left_index=True, right_index=True) if estimator: estimator.write_model_settings(model_settings, model_settings_file_name) @@ -83,42 +73,52 @@ def atwork_subtour_scheduling( parent_tours, subtours, persons_merged, - tdd_alts, model_spec, + tdd_alts, + model_spec, model_settings, estimator=estimator, chunk_size=chunk_size, - trace_label=trace_label) + trace_label=trace_label, + ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'tours', 'tdd') + choices = estimator.get_survey_values(choices, "tours", "tdd") estimator.write_override_choices(choices) estimator.end_estimation() # choices are tdd alternative ids # we want to add start, end, and duration columns to tours, which we have in tdd_alts table - tdd_choices = pd.merge(choices.to_frame('tdd'), tdd_alts, left_on=['tdd'], right_index=True, how='left') + tdd_choices = pd.merge( + choices.to_frame("tdd"), tdd_alts, left_on=["tdd"], right_index=True, how="left" + ) assign_in_place(tours, tdd_choices) pipeline.replace_table("tours", tours) if trace_hh_id: - tracing.trace_df(tours[tours.tour_category == 'atwork'], - label="atwork_subtour_scheduling", - slicer='person_id', - index_label='tour_id', - columns=None) + tracing.trace_df( + tours[tours.tour_category == "atwork"], + label="atwork_subtour_scheduling", + slicer="person_id", + index_label="tour_id", + columns=None, + ) if DUMP: - subtours = tours[tours.tour_category == 'atwork'] + subtours = tours[tours.tour_category == "atwork"] parent_tours = tours[tours.index.isin(subtours.parent_tour_id)] - tracing.dump_df(DUMP, subtours, trace_label, 'sub_tours') - tracing.dump_df(DUMP, parent_tours, trace_label, 'parent_tours') + tracing.dump_df(DUMP, subtours, trace_label, "sub_tours") + tracing.dump_df(DUMP, parent_tours, trace_label, "parent_tours") - parent_tours['parent_tour_id'] = parent_tours.index + parent_tours["parent_tour_id"] = parent_tours.index subtours = pd.concat([parent_tours, subtours]) - tracing.dump_df(DUMP, - tt.tour_map(parent_tours, subtours, tdd_alts, - persons_id_col='parent_tour_id'), - trace_label, 'tour_map') + tracing.dump_df( + DUMP, + tt.tour_map( + parent_tours, subtours, tdd_alts, persons_id_col="parent_tour_id" + ), + trace_label, + "tour_map", + ) diff --git a/activitysim/abm/models/auto_ownership.py b/activitysim/abm/models/auto_ownership.py index 12f8fbd2bb..564d6f94b6 100644 --- a/activitysim/abm/models/auto_ownership.py +++ b/activitysim/abm/models/auto_ownership.py @@ -2,34 +2,26 @@ # See full license in LICENSE.txt. import logging -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject +from activitysim.core import config, inject, pipeline, simulate, tracing from .util import estimation - logger = logging.getLogger(__name__) @inject.step() -def auto_ownership_simulate(households, - households_merged, - chunk_size, - trace_hh_id): +def auto_ownership_simulate(households, households_merged, chunk_size, trace_hh_id): """ Auto ownership is a standard model which predicts how many cars a household with given characteristics owns """ - trace_label = 'auto_ownership_simulate' - model_settings_file_name = 'auto_ownership.yaml' + trace_label = "auto_ownership_simulate" + model_settings_file_name = "auto_ownership.yaml" model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('auto_ownership') + estimator = estimation.manager.begin_estimation("auto_ownership") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -46,7 +38,7 @@ def auto_ownership_simulate(households, estimator.write_coefficients(coefficients_df, model_settings) estimator.write_choosers(choosers) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = simulate.simple_simulate( choosers=choosers, @@ -55,26 +47,27 @@ def auto_ownership_simulate(households, locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='auto_ownership', + trace_choice_name="auto_ownership", log_alt_losers=log_alt_losers, - estimator=estimator) + estimator=estimator, + ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'households', 'auto_ownership') + choices = estimator.get_survey_values(choices, "households", "auto_ownership") estimator.write_override_choices(choices) estimator.end_estimation() households = households.to_frame() # no need to reindex as we used all households - households['auto_ownership'] = choices + households["auto_ownership"] = choices pipeline.replace_table("households", households) - tracing.print_summary('auto_ownership', households.auto_ownership, value_counts=True) + tracing.print_summary( + "auto_ownership", households.auto_ownership, value_counts=True + ) if trace_hh_id: - tracing.trace_df(households, - label='auto_ownership', - warn_if_empty=True) + tracing.trace_df(households, label="auto_ownership", warn_if_empty=True) diff --git a/activitysim/abm/models/cdap.py b/activitysim/abm/models/cdap.py index 3f29891a71..b37cf8a9a4 100644 --- a/activitysim/abm/models/cdap.py +++ b/activitysim/abm/models/cdap.py @@ -4,24 +4,16 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions - +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing from activitysim.core.util import reindex -from .util import cdap -from .util import estimation +from .util import cdap, estimation logger = logging.getLogger(__name__) @inject.step() -def cdap_simulate(persons_merged, persons, households, - chunk_size, trace_hh_id): +def cdap_simulate(persons_merged, persons, households, chunk_size, trace_hh_id): """ CDAP stands for Coordinated Daily Activity Pattern, which is a choice of high-level activity pattern for each person, in a coordinated way with other @@ -32,32 +24,46 @@ def cdap_simulate(persons_merged, persons, households, simply applies those utilities using the simulation framework. """ - trace_label = 'cdap' - model_settings = config.read_model_settings('cdap.yaml') - person_type_map = model_settings.get('PERSON_TYPE_MAP', None) - assert person_type_map is not None, f"Expected to find PERSON_TYPE_MAP setting in cdap.yaml" - estimator = estimation.manager.begin_estimation('cdap') + trace_label = "cdap" + model_settings = config.read_model_settings("cdap.yaml") + person_type_map = model_settings.get("PERSON_TYPE_MAP", None) + assert ( + person_type_map is not None + ), f"Expected to find PERSON_TYPE_MAP setting in cdap.yaml" + estimator = estimation.manager.begin_estimation("cdap") - cdap_indiv_spec = simulate.read_model_spec(file_name=model_settings['INDIV_AND_HHSIZE1_SPEC']) + cdap_indiv_spec = simulate.read_model_spec( + file_name=model_settings["INDIV_AND_HHSIZE1_SPEC"] + ) coefficients_df = simulate.read_model_coefficients(model_settings) - cdap_indiv_spec = simulate.eval_coefficients(cdap_indiv_spec, coefficients_df, estimator) + cdap_indiv_spec = simulate.eval_coefficients( + cdap_indiv_spec, coefficients_df, estimator + ) # Rules and coefficients for generating interaction specs for different household sizes - interaction_coefficients_file_name = \ - model_settings.get('INTERACTION_COEFFICIENTS', 'cdap_interaction_coefficients.csv') - cdap_interaction_coefficients = \ - pd.read_csv(config.config_file_path(interaction_coefficients_file_name), comment='#') + interaction_coefficients_file_name = model_settings.get( + "INTERACTION_COEFFICIENTS", "cdap_interaction_coefficients.csv" + ) + cdap_interaction_coefficients = pd.read_csv( + config.config_file_path(interaction_coefficients_file_name), comment="#" + ) # replace cdap_interaction_coefficients coefficient labels with numeric values # for backward compatibility, use where() to allow hard-coded coefficients and dummy (empty) coefficients_file - coefficients = cdap_interaction_coefficients.coefficient.map(coefficients_df.value.to_dict()) - coefficients = cdap_interaction_coefficients.coefficient.where(coefficients.isnull(), coefficients) - coefficients = pd.to_numeric(coefficients, errors='coerce').astype(float) + coefficients = cdap_interaction_coefficients.coefficient.map( + coefficients_df.value.to_dict() + ) + coefficients = cdap_interaction_coefficients.coefficient.where( + coefficients.isnull(), coefficients + ) + coefficients = pd.to_numeric(coefficients, errors="coerce").astype(float) if coefficients.isnull().any(): # show them the offending lines from interaction_coefficients_file - logger.warning(f"bad coefficients in INTERACTION_COEFFICIENTS {interaction_coefficients_file_name}\n" - f"{cdap_interaction_coefficients[coefficients.isnull()]}") + logger.warning( + f"bad coefficients in INTERACTION_COEFFICIENTS {interaction_coefficients_file_name}\n" + f"{cdap_interaction_coefficients[coefficients.isnull()]}" + ) assert not coefficients.isnull().any() cdap_interaction_coefficients.coefficient = coefficients @@ -68,21 +74,27 @@ def cdap_simulate(persons_merged, persons, households, EXCEPT that the values computed are relative proportions, not utilities (i.e. values are not exponentiated before being normalized to probabilities summing to 1.0) """ - cdap_fixed_relative_proportions = \ - simulate.read_model_spec(file_name=model_settings['FIXED_RELATIVE_PROPORTIONS_SPEC']) + cdap_fixed_relative_proportions = simulate.read_model_spec( + file_name=model_settings["FIXED_RELATIVE_PROPORTIONS_SPEC"] + ) persons_merged = persons_merged.to_frame() # add tour-based chunk_id so we can chunk all trips in tour together - assert 'chunk_id' not in persons_merged.columns + assert "chunk_id" not in persons_merged.columns unique_household_ids = persons_merged.household_id.unique() - household_chunk_ids = pd.Series(range(len(unique_household_ids)), index=unique_household_ids) - persons_merged['chunk_id'] = reindex(household_chunk_ids, persons_merged.household_id) + household_chunk_ids = pd.Series( + range(len(unique_household_ids)), index=unique_household_ids + ) + persons_merged["chunk_id"] = reindex( + household_chunk_ids, persons_merged.household_id + ) constants = config.get_model_constants(model_settings) - cdap_interaction_coefficients = \ - cdap.preprocess_interaction_coefficients(cdap_interaction_coefficients) + cdap_interaction_coefficients = cdap.preprocess_interaction_coefficients( + cdap_interaction_coefficients + ) # specs are built just-in-time on demand and cached as injectables # prebuilding here allows us to write them to the output directory @@ -90,19 +102,28 @@ def cdap_simulate(persons_merged, persons, households, logger.info("Pre-building cdap specs") for hhsize in range(2, cdap.MAX_HHSIZE + 1): spec = cdap.build_cdap_spec(cdap_interaction_coefficients, hhsize, cache=True) - if inject.get_injectable('locutor', False): - spec.to_csv(config.output_file_path('cdap_spec_%s.csv' % hhsize), index=True) + if inject.get_injectable("locutor", False): + spec.to_csv( + config.output_file_path("cdap_spec_%s.csv" % hhsize), index=True + ) if estimator: - estimator.write_model_settings(model_settings, 'cdap.yaml') - estimator.write_spec(model_settings, tag='INDIV_AND_HHSIZE1_SPEC') - estimator.write_spec(model_settings=model_settings, tag='FIXED_RELATIVE_PROPORTIONS_SPEC') + estimator.write_model_settings(model_settings, "cdap.yaml") + estimator.write_spec(model_settings, tag="INDIV_AND_HHSIZE1_SPEC") + estimator.write_spec( + model_settings=model_settings, tag="FIXED_RELATIVE_PROPORTIONS_SPEC" + ) estimator.write_coefficients(coefficients_df, model_settings) - estimator.write_table(cdap_interaction_coefficients, 'interaction_coefficients', index=False, append=False) + estimator.write_table( + cdap_interaction_coefficients, + "interaction_coefficients", + index=False, + append=False, + ) estimator.write_choosers(persons_merged) for hhsize in range(2, cdap.MAX_HHSIZE + 1): spec = cdap.get_cached_spec(hhsize) - estimator.write_table(spec, 'spec_%s' % hhsize, append=False) + estimator.write_table(spec, "spec_%s" % hhsize, append=False) logger.info("Running cdap_simulate with %d persons", len(persons_merged.index)) @@ -115,11 +136,12 @@ def cdap_simulate(persons_merged, persons, households, locals_d=constants, chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=trace_label) + trace_label=trace_label, + ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'cdap_activity') + choices = estimator.get_survey_values(choices, "persons", "cdap_activity") estimator.write_override_choices(choices) estimator.end_estimation() @@ -127,12 +149,13 @@ def cdap_simulate(persons_merged, persons, households, persons = persons.to_frame() choices = choices.reindex(persons.index) - persons['cdap_activity'] = choices + persons["cdap_activity"] = choices expressions.assign_columns( df=persons, - model_settings=model_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=model_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", persons) @@ -140,10 +163,13 @@ def cdap_simulate(persons_merged, persons, households, households = households.to_frame() expressions.assign_columns( df=households, - model_settings=model_settings.get('annotate_households'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_households')) + model_settings=model_settings.get("annotate_households"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_households"), + ) pipeline.replace_table("households", households) - tracing.print_summary('cdap_activity', persons.cdap_activity, value_counts=True) - logger.info("cdap crosstabs:\n%s" % - pd.crosstab(persons.ptype, persons.cdap_activity, margins=True)) + tracing.print_summary("cdap_activity", persons.cdap_activity, value_counts=True) + logger.info( + "cdap crosstabs:\n%s" + % pd.crosstab(persons.ptype, persons.cdap_activity, margins=True) + ) diff --git a/activitysim/abm/models/free_parking.py b/activitysim/abm/models/free_parking.py index b144ed0543..086422ba27 100644 --- a/activitysim/abm/models/free_parking.py +++ b/activitysim/abm/models/free_parking.py @@ -2,12 +2,7 @@ # See full license in LICENSE.txt. import logging -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing from .util import estimation @@ -15,27 +10,23 @@ @inject.step() -def free_parking( - persons_merged, persons, - chunk_size, trace_hh_id): - """ +def free_parking(persons_merged, persons, chunk_size, trace_hh_id): + """ """ - """ - - trace_label = 'free_parking' - model_settings_file_name = 'free_parking.yaml' + trace_label = "free_parking" + model_settings_file_name = "free_parking.yaml" choosers = persons_merged.to_frame() choosers = choosers[choosers.workplace_zone_id > -1] logger.info("Running %s with %d persons", trace_label, len(choosers)) model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('free_parking') + estimator = estimation.manager.begin_estimation("free_parking") constants = config.get_model_constants(model_settings) # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_d = {} @@ -46,9 +37,10 @@ def free_parking( df=choosers, model_settings=preprocessor_settings, locals_dict=locals_d, - trace_label=trace_label) + trace_label=trace_label, + ) - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -67,26 +59,31 @@ def free_parking( locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='free_parking_at_work', - estimator=estimator) + trace_choice_name="free_parking_at_work", + estimator=estimator, + ) - free_parking_alt = model_settings['FREE_PARKING_ALT'] - choices = (choices == free_parking_alt) + free_parking_alt = model_settings["FREE_PARKING_ALT"] + choices = choices == free_parking_alt if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'free_parking_at_work') + choices = estimator.get_survey_values( + choices, "persons", "free_parking_at_work" + ) estimator.write_override_choices(choices) estimator.end_estimation() persons = persons.to_frame() - persons['free_parking_at_work'] = choices.reindex(persons.index).fillna(0).astype(bool) + persons["free_parking_at_work"] = ( + choices.reindex(persons.index).fillna(0).astype(bool) + ) pipeline.replace_table("persons", persons) - tracing.print_summary('free_parking', persons.free_parking_at_work, value_counts=True) + tracing.print_summary( + "free_parking", persons.free_parking_at_work, value_counts=True + ) if trace_hh_id: - tracing.trace_df(persons, - label=trace_label, - warn_if_empty=True) + tracing.trace_df(persons, label=trace_label, warn_if_empty=True) diff --git a/activitysim/abm/models/initialize.py b/activitysim/abm/models/initialize.py index d72a88f9da..14419dfde3 100644 --- a/activitysim/abm/models/initialize.py +++ b/activitysim/abm/models/initialize.py @@ -1,38 +1,31 @@ # ActivitySim # See full license in LICENSE.txt. import logging -import warnings import os -import pandas as pd - -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions -from activitysim.core import chunk -from activitysim.core import mem +import warnings -from activitysim.core.steps.output import write_data_dictionary -from activitysim.core.steps.output import write_tables -from activitysim.core.steps.output import track_skim_usage +import pandas as pd from activitysim.abm.tables import shadow_pricing +from activitysim.core import chunk, config, expressions, inject, mem, pipeline, tracing +from activitysim.core.steps.output import ( + track_skim_usage, + write_data_dictionary, + write_tables, +) # We are using the naming conventions in the mtc_asim.h5 example # file for our default list. This provides backwards compatibility # with previous versions of ActivitySim in which only 'input_store' # is given in the settings file. DEFAULT_TABLE_LIST = [ - {'tablename': 'households', - 'h5_tablename': 'households', - 'index_col': 'household_id'}, - {'tablename': 'persons', - 'h5_tablename': 'persons', - 'index_col': 'person_id'}, - {'tablename': 'land_use', - 'h5_tablename': 'land_use_taz', - 'index_col': 'TAZ'} + { + "tablename": "households", + "h5_tablename": "households", + "index_col": "household_id", + }, + {"tablename": "persons", "h5_tablename": "persons", "index_col": "person_id"}, + {"tablename": "land_use", "h5_tablename": "land_use_taz", "index_col": "TAZ"}, ] logger = logging.getLogger(__name__) @@ -40,23 +33,26 @@ def annotate_tables(model_settings, trace_label): - trace_label = tracing.extend_trace_label(trace_label, 'annotate_tables') + trace_label = tracing.extend_trace_label(trace_label, "annotate_tables") chunk.log_rss(trace_label) - annotate_tables = model_settings.get('annotate_tables', []) + annotate_tables = model_settings.get("annotate_tables", []) if not annotate_tables: - logger.warning(f"{trace_label} - annotate_tables setting is empty - nothing to do!") + logger.warning( + f"{trace_label} - annotate_tables setting is empty - nothing to do!" + ) - assert isinstance(annotate_tables, list), \ - f"annotate_tables settings should be a list but is {type(annotate_tables)}" + assert isinstance( + annotate_tables, list + ), f"annotate_tables settings should be a list but is {type(annotate_tables)}" t0 = tracing.print_elapsed_time() for table_info in annotate_tables: - tablename = table_info['tablename'] + tablename = table_info["tablename"] chunk.log_rss(f"{trace_label}.pre-get_table.{tablename}") @@ -64,24 +60,27 @@ def annotate_tables(model_settings, trace_label): chunk.log_df(trace_label, tablename, df) # - rename columns - column_map = table_info.get('column_map', None) + column_map = table_info.get("column_map", None) if column_map: - warnings.warn(f"Setting 'column_map' has been changed to 'rename_columns'. " - f"Support for 'column_map' in annotate_tables will be removed in future versions.", - FutureWarning) + warnings.warn( + f"Setting 'column_map' has been changed to 'rename_columns'. " + f"Support for 'column_map' in annotate_tables will be removed in future versions.", + FutureWarning, + ) logger.info(f"{trace_label} - renaming {tablename} columns {column_map}") df.rename(columns=column_map, inplace=True) # - annotate - annotate = table_info.get('annotate', None) + annotate = table_info.get("annotate", None) if annotate: - logger.info(f"{trace_label} - annotating {tablename} SPEC {annotate['SPEC']}") + logger.info( + f"{trace_label} - annotating {tablename} SPEC {annotate['SPEC']}" + ) expressions.assign_columns( - df=df, - model_settings=annotate, - trace_label=trace_label) + df=df, model_settings=annotate, trace_label=trace_label + ) chunk.log_df(trace_label, tablename, df) @@ -95,53 +94,57 @@ def annotate_tables(model_settings, trace_label): @inject.step() def initialize_landuse(): - trace_label = 'initialize_landuse' + trace_label = "initialize_landuse" with chunk.chunk_log(trace_label, base=True): - model_settings = config.read_model_settings('initialize_landuse.yaml', mandatory=True) + model_settings = config.read_model_settings( + "initialize_landuse.yaml", mandatory=True + ) annotate_tables(model_settings, trace_label) # instantiate accessibility (must be checkpointed to be be used to slice accessibility) - accessibility = pipeline.get_table('accessibility') + accessibility = pipeline.get_table("accessibility") chunk.log_df(trace_label, "accessibility", accessibility) @inject.step() def initialize_households(): - trace_label = 'initialize_households' + trace_label = "initialize_households" with chunk.chunk_log(trace_label, base=True): chunk.log_rss(f"{trace_label}.inside-yield") - households = inject.get_table('households').to_frame() + households = inject.get_table("households").to_frame() assert not households._is_view chunk.log_df(trace_label, "households", households) del households chunk.log_df(trace_label, "households", None) - persons = inject.get_table('persons').to_frame() + persons = inject.get_table("persons").to_frame() assert not persons._is_view chunk.log_df(trace_label, "persons", persons) del persons chunk.log_df(trace_label, "persons", None) - model_settings = config.read_model_settings('initialize_households.yaml', mandatory=True) + model_settings = config.read_model_settings( + "initialize_households.yaml", mandatory=True + ) annotate_tables(model_settings, trace_label) # - initialize shadow_pricing size tables after annotating household and person tables # since these are scaled to model size, they have to be created while single-process # this can now be called as a stand alone model step instead, add_size_tables - add_size_tables = model_settings.get('add_size_tables', True) + add_size_tables = model_settings.get("add_size_tables", True) if add_size_tables: # warnings.warn(f"Calling add_size_tables from initialize will be removed in the future.", FutureWarning) shadow_pricing.add_size_tables() # - preload person_windows - person_windows = inject.get_table('person_windows').to_frame() + person_windows = inject.get_table("person_windows").to_frame() chunk.log_df(trace_label, "person_windows", person_windows) @@ -153,42 +156,43 @@ def preload_injectables(): logger.info("preload_injectables") - inject.add_step('track_skim_usage', track_skim_usage) - inject.add_step('write_data_dictionary', write_data_dictionary) - inject.add_step('write_tables', write_tables) + inject.add_step("track_skim_usage", track_skim_usage) + inject.add_step("write_data_dictionary", write_data_dictionary) + inject.add_step("write_tables", write_tables) - table_list = config.setting('input_table_list') + table_list = config.setting("input_table_list") # default ActivitySim table names and indices if table_list is None: logger.warning( "No 'input_table_list' found in settings. This will be a " - "required setting in upcoming versions of ActivitySim.") + "required setting in upcoming versions of ActivitySim." + ) - new_settings = inject.get_injectable('settings') - new_settings['input_table_list'] = DEFAULT_TABLE_LIST - inject.add_injectable('settings', new_settings) + new_settings = inject.get_injectable("settings") + new_settings["input_table_list"] = DEFAULT_TABLE_LIST + inject.add_injectable("settings", new_settings) # FIXME undocumented feature - if config.setting('write_raw_tables'): + if config.setting("write_raw_tables"): # write raw input tables as csv (before annotation) - csv_dir = config.output_file_path('raw_tables') + csv_dir = config.output_file_path("raw_tables") if not os.path.exists(csv_dir): os.makedirs(csv_dir) # make directory if needed - table_names = [t['tablename'] for t in table_list] + table_names = [t["tablename"] for t in table_list] for t in table_names: df = inject.get_table(t).to_frame() - df.to_csv(os.path.join(csv_dir, '%s.csv' % t), index=True) + df.to_csv(os.path.join(csv_dir, "%s.csv" % t), index=True) t0 = tracing.print_elapsed_time() - # FIXME - still want to do this? - # if inject.get_injectable('skim_dict', None) is not None: - # t0 = tracing.print_elapsed_time("preload skim_dict", t0, debug=True) - # - # if inject.get_injectable('skim_stack', None) is not None: - # t0 = tracing.print_elapsed_time("preload skim_stack", t0, debug=True) + if config.setting("benchmarking", False): + # we don't want to pay for skim_dict inside any model component during + # benchmarking, so we'll preload skim_dict here. Preloading is not needed + # for regular operation, as activitysim components can load-on-demand. + if inject.get_injectable("skim_dict", None) is not None: + t0 = tracing.print_elapsed_time("preload skim_dict", t0, debug=True) return True diff --git a/activitysim/abm/models/initialize_los.py b/activitysim/abm/models/initialize_los.py index fbffd8f9ed..63e2f415f3 100644 --- a/activitysim/abm/models/initialize_los.py +++ b/activitysim/abm/models/initialize_los.py @@ -1,26 +1,26 @@ # ActivitySim # See full license in LICENSE.txt. import logging +import multiprocessing import os import time -import multiprocessing -import numba - from contextlib import contextmanager -import pandas as pd +import numba import numpy as np +import pandas as pd -from activitysim.core import assign -from activitysim.core import config -from activitysim.core import simulate -from activitysim.core import pipeline -from activitysim.core import tracing -from activitysim.core import chunk -from activitysim.core import inject -from activitysim.core import los - -from activitysim.core import pathbuilder +from activitysim.core import ( + assign, + chunk, + config, + inject, + los, + pathbuilder, + pipeline, + simulate, + tracing, +) logger = logging.getLogger(__name__) @@ -81,7 +81,7 @@ def initialize_los(network_los): FIXME - to instantiate attribute_combinations_df if the pipeline table version were not available. """ - trace_label = 'initialize_los' + trace_label = "initialize_los" if network_los.zone_system == los.THREE_ZONE: @@ -90,7 +90,7 @@ def initialize_los(network_los): attribute_combinations_df = uid_calculator.scalar_attribute_combinations() # - write table to pipeline (so we can slice it, when multiprocessing) - pipeline.replace_table('attribute_combinations', attribute_combinations_df) + pipeline.replace_table("attribute_combinations", attribute_combinations_df) # clean up any unwanted cache files from previous run if network_los.rebuild_tvpb_cache: @@ -99,7 +99,12 @@ def initialize_los(network_los): # if multiprocessing make sure shared cache is filled with np.nan # so that initialize_tvpb subprocesses can detect when cache is fully populated if network_los.multiprocess(): - data, lock = tap_cache.get_data_and_lock_from_buffers() # don't need lock here since single process + ( + data, + lock, + ) = ( + tap_cache.get_data_and_lock_from_buffers() + ) # don't need lock here since single process if os.path.isfile(tap_cache.cache_path): # fully populated cache should have been loaded from saved cache @@ -112,7 +117,9 @@ def initialize_los(network_los): np.copyto(data, np.nan) -def compute_utilities_for_attribute_tuple(network_los, scalar_attributes, data, chunk_size, trace_label): +def compute_utilities_for_attribute_tuple( + network_los, scalar_attributes, data, chunk_size, trace_label +): # scalar_attributes is a dict of attribute name/value pairs for this combination # (e.g. {'demographic_segment': 0, 'tod': 'AM', 'access_mode': 'walk'}) @@ -121,12 +128,15 @@ def compute_utilities_for_attribute_tuple(network_los, scalar_attributes, data, uid_calculator = network_los.tvpb.uid_calculator - attributes_as_columns = \ - network_los.setting('TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attributes_as_columns', []) - model_settings = \ - network_los.setting(f'TVPB_SETTINGS.tour_mode_choice.tap_tap_settings') - model_constants = \ - network_los.setting(f'TVPB_SETTINGS.tour_mode_choice.CONSTANTS').copy() + attributes_as_columns = network_los.setting( + "TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attributes_as_columns", [] + ) + model_settings = network_los.setting( + f"TVPB_SETTINGS.tour_mode_choice.tap_tap_settings" + ) + model_constants = network_los.setting( + f"TVPB_SETTINGS.tour_mode_choice.CONSTANTS" + ).copy() model_constants.update(scalar_attributes) data = data.reshape(uid_calculator.fully_populated_shape) @@ -138,29 +148,31 @@ def compute_utilities_for_attribute_tuple(network_los, scalar_attributes, data, # since it is created outside of adaptive_chunked_choosers and so will show up in baseline assert not chunk.chunk_logging() # otherwise we should chunk_log this - chunk_tag = 'initialize_tvpb' # all attribute_combinations can use same cached data for row_size calc + chunk_tag = "initialize_tvpb" # all attribute_combinations can use same cached data for row_size calc - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(choosers_df, chunk_size, trace_label, chunk_tag=chunk_tag): + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + choosers_df, chunk_size, trace_label, chunk_tag=chunk_tag + ): # we should count choosers_df as chunk overhead since its pretty big and was custom made for compute_utilities assert chooser_chunk._is_view # otherwise copying it is wasteful chooser_chunk = chooser_chunk.copy() - chunk.log_df(trace_label, 'attribute_chooser_chunk', chooser_chunk) + chunk.log_df(trace_label, "attribute_chooser_chunk", chooser_chunk) # add any attribute columns specified as column attributes in settings (the rest will be scalars in locals_dict) for attribute_name in attributes_as_columns: chooser_chunk[attribute_name] = scalar_attributes[attribute_name] - chunk.log_df(trace_label, 'attribute_chooser_chunk', chooser_chunk) + chunk.log_df(trace_label, "attribute_chooser_chunk", chooser_chunk) - utilities_df = \ - pathbuilder.compute_utilities(network_los, - model_settings=model_settings, - choosers=chooser_chunk, - model_constants=model_constants, - trace_label=trace_label) + utilities_df = pathbuilder.compute_utilities( + network_los, + model_settings=model_settings, + choosers=chooser_chunk, + model_constants=model_constants, + trace_label=trace_label, + ) - chunk.log_df(trace_label, 'utilities_df', utilities_df) + chunk.log_df(trace_label, "utilities_df", utilities_df) assert len(utilities_df) == len(chooser_chunk) assert len(utilities_df.columns) == data.shape[1] @@ -169,7 +181,7 @@ def compute_utilities_for_attribute_tuple(network_los, scalar_attributes, data, data[chooser_chunk.index.values, :] = utilities_df.values del chooser_chunk - chunk.log_df(trace_label, 'attribute_chooser_chunk', None) + chunk.log_df(trace_label, "attribute_chooser_chunk", None) logger.debug(f"{trace_label} updated utilities") @@ -192,10 +204,12 @@ def initialize_tvpb(network_los, attribute_combinations, chunk_size): FIXME - if we did not close this, we could avoid having to reload it from mmap when single-process? """ - trace_label = 'initialize_tvpb' + trace_label = "initialize_tvpb" if network_los.zone_system != los.THREE_ZONE: - logger.info(f"{trace_label} - skipping step because zone_system is not THREE_ZONE") + logger.info( + f"{trace_label} - skipping step because zone_system is not THREE_ZONE" + ) return attribute_combinations_df = attribute_combinations.to_frame() @@ -209,8 +223,10 @@ def initialize_tvpb(network_los, attribute_combinations, chunk_size): if os.path.isfile(tap_cache.cache_path): # otherwise should have been deleted by TVPBCache.cleanup in initialize_los step assert not network_los.rebuild_tvpb_cache - logger.info(f"{trace_label} skipping rebuild of STATIC cache because rebuild_tvpb_cache setting is False" - f" and cache already exists: {tap_cache.cache_path}") + logger.info( + f"{trace_label} skipping rebuild of STATIC cache because rebuild_tvpb_cache setting is False" + f" and cache already exists: {tap_cache.cache_path}" + ) return if multiprocess: @@ -220,24 +236,32 @@ def initialize_tvpb(network_los, attribute_combinations, chunk_size): data = tap_cache.allocate_data_buffer(shared=False) lock = None - logger.debug(f"{trace_label} processing {len(attribute_combinations_df)} attribute_combinations") - logger.debug(f"{trace_label} compute utilities for attribute_combinations_df\n{attribute_combinations_df}") + logger.debug( + f"{trace_label} processing {len(attribute_combinations_df)} attribute_combinations" + ) + logger.debug( + f"{trace_label} compute utilities for attribute_combinations_df\n{attribute_combinations_df}" + ) - for offset, scalar_attributes in attribute_combinations_df.to_dict('index').items(): + for offset, scalar_attributes in attribute_combinations_df.to_dict("index").items(): # compute utilities for this 'skim' with a single full set of scalar attributes offset = network_los.tvpb.uid_calculator.get_skim_offset(scalar_attributes) - tuple_trace_label = tracing.extend_trace_label(trace_label, f'offset{offset}') + tuple_trace_label = tracing.extend_trace_label(trace_label, f"offset{offset}") - compute_utilities_for_attribute_tuple(network_los, scalar_attributes, data, chunk_size, tuple_trace_label) + compute_utilities_for_attribute_tuple( + network_los, scalar_attributes, data, chunk_size, tuple_trace_label + ) # make sure we populated the entire offset - assert not any_uninitialized(data.reshape(uid_calculator.skim_shape)[offset], lock) + assert not any_uninitialized( + data.reshape(uid_calculator.skim_shape)[offset], lock + ) - if multiprocess and not inject.get_injectable('locutor', False): + if multiprocess and not inject.get_injectable("locutor", False): return - write_results = not multiprocess or inject.get_injectable('locutor', False) + write_results = not multiprocess or inject.get_injectable("locutor", False) if write_results: if multiprocess: @@ -247,8 +271,10 @@ def initialize_tvpb(network_los, attribute_combinations, chunk_size): # FIXME testing entire array is costly in terms of RAM) while any_uninitialized(data, lock): - logger.debug(f"{trace_label}.{multiprocessing.current_process().name} waiting for other processes" - f" to populate {num_uninitialized(data, lock)} uninitialized data values") + logger.debug( + f"{trace_label}.{multiprocessing.current_process().name} waiting for other processes" + f" to populate {num_uninitialized(data, lock)} uninitialized data values" + ) time.sleep(5) logger.info(f"{trace_label} writing static cache.") diff --git a/activitysim/abm/models/initialize_tours.py b/activitysim/abm/models/initialize_tours.py index 8fe34a737e..476a53feb1 100644 --- a/activitysim/abm/models/initialize_tours.py +++ b/activitysim/abm/models/initialize_tours.py @@ -1,71 +1,75 @@ # ActivitySim # See full license in LICENSE.txt. import logging -import warnings import os -import pandas as pd - -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import expressions +import warnings -from activitysim.core.input import read_input_table +import pandas as pd from activitysim.abm.models.util import tour_frequency as tf +from activitysim.core import config, expressions, inject, pipeline, tracing +from activitysim.core.input import read_input_table logger = logging.getLogger(__name__) -SURVEY_TOUR_ID = 'external_tour_id' -SURVEY_PARENT_TOUR_ID = 'external_parent_tour_id' -SURVEY_PARTICIPANT_ID = 'external_participant_id' -ASIM_TOUR_ID = 'tour_id' -ASIM_PARENT_TOUR_ID = 'parent_tour_id' -REQUIRED_TOUR_COLUMNS = set(['person_id', 'tour_category', 'tour_type']) +SURVEY_TOUR_ID = "external_tour_id" +SURVEY_PARENT_TOUR_ID = "external_parent_tour_id" +SURVEY_PARTICIPANT_ID = "external_participant_id" +ASIM_TOUR_ID = "tour_id" +ASIM_PARENT_TOUR_ID = "parent_tour_id" +REQUIRED_TOUR_COLUMNS = set(["person_id", "tour_category", "tour_type"]) def patch_tour_ids(tours): - def set_tour_index(tours, parent_tour_num_col, is_joint): - group_cols = ['person_id', 'tour_category', 'tour_type'] + group_cols = ["person_id", "tour_category", "tour_type"] - if 'parent_tour_num' in tours: - group_cols += ['parent_tour_num'] + if "parent_tour_num" in tours: + group_cols += ["parent_tour_num"] - tours['tour_type_num'] = \ + tours["tour_type_num"] = ( tours.sort_values(by=group_cols).groupby(group_cols).cumcount() + 1 + ) - return tf.set_tour_index(tours, parent_tour_num_col=parent_tour_num_col, is_joint=is_joint) + return tf.set_tour_index( + tours, parent_tour_num_col=parent_tour_num_col, is_joint=is_joint + ) - assert REQUIRED_TOUR_COLUMNS.issubset(set(tours.columns)), \ - f"Required columns missing from tours table: {REQUIRED_TOUR_COLUMNS.difference(set(tours.columns))}" + assert REQUIRED_TOUR_COLUMNS.issubset( + set(tours.columns) + ), f"Required columns missing from tours table: {REQUIRED_TOUR_COLUMNS.difference(set(tours.columns))}" # replace tour index with asim standard tour_ids (which are based on person_id and tour_type) if tours.index.name is not None: - tours.insert(loc=0, column='legacy_index', value=tours.index) + tours.insert(loc=0, column="legacy_index", value=tours.index) # FIXME - for now, only grok simple tours - assert set(tours.tour_category.unique()).issubset({'mandatory', 'non_mandatory'}) + assert set(tours.tour_category.unique()).issubset({"mandatory", "non_mandatory"}) # mandatory tours - mandatory_tours = \ - set_tour_index(tours[tours.tour_category == 'mandatory'], parent_tour_num_col=None, is_joint=False) + mandatory_tours = set_tour_index( + tours[tours.tour_category == "mandatory"], + parent_tour_num_col=None, + is_joint=False, + ) - assert mandatory_tours.index.name == 'tour_id' + assert mandatory_tours.index.name == "tour_id" # FIXME joint tours not implemented - assert not (tours.tour_category == 'joint').any() + assert not (tours.tour_category == "joint").any() # non_mandatory tours - non_mandatory_tours = \ - set_tour_index(tours[tours.tour_category == 'non_mandatory'], parent_tour_num_col=None, is_joint=False) + non_mandatory_tours = set_tour_index( + tours[tours.tour_category == "non_mandatory"], + parent_tour_num_col=None, + is_joint=False, + ) # FIXME atwork tours ot implemented - assert not (tours.tour_category == 'atwork').any() + assert not (tours.tour_category == "atwork").any() patched_tours = pd.concat([mandatory_tours, non_mandatory_tours]) - del patched_tours['tour_type_num'] + del patched_tours["tour_type_num"] return patched_tours @@ -73,40 +77,42 @@ def set_tour_index(tours, parent_tour_num_col, is_joint): @inject.step() def initialize_tours(network_los, households, persons, trace_hh_id): - trace_label = 'initialize_tours' + trace_label = "initialize_tours" tours = read_input_table("tours") # FIXME can't use households_sliced injectable as flag like persons table does in case of resume_after. # FIXME could just always slice... - slice_happened = \ - inject.get_injectable('households_sample_size', 0) > 0 \ - or inject.get_injectable('households_sample_size', 0) > 0 + slice_happened = ( + inject.get_injectable("households_sample_size", 0) > 0 + or inject.get_injectable("households_sample_size", 0) > 0 + ) if slice_happened: logger.info("slicing tours %s" % (tours.shape,)) # keep all persons in the sampled households tours = tours[tours.person_id.isin(persons.index)] # annotate before patching tour_id to allow addition of REQUIRED_TOUR_COLUMNS defined above - model_settings = config.read_model_settings('initialize_tours.yaml', mandatory=True) + model_settings = config.read_model_settings("initialize_tours.yaml", mandatory=True) expressions.assign_columns( df=tours, - model_settings=model_settings.get('annotate_tours'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_tours')) + model_settings=model_settings.get("annotate_tours"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), + ) - skip_patch_tour_ids = model_settings.get('skip_patch_tour_ids', False) + skip_patch_tour_ids = model_settings.get("skip_patch_tour_ids", False) if skip_patch_tour_ids: pass else: tours = patch_tour_ids(tours) - assert tours.index.name == 'tour_id' + assert tours.index.name == "tour_id" # replace table function with dataframe - inject.add_table('tours', tours) + inject.add_table("tours", tours) - pipeline.get_rn_generator().add_channel('tours', tours) + pipeline.get_rn_generator().add_channel("tours", tours) - tracing.register_traceable_table('tours', tours) + tracing.register_traceable_table("tours", tours) logger.debug(f"{len(tours.household_id.unique())} unique household_ids in tours") logger.debug(f"{len(households.index.unique())} unique household_ids in households") @@ -114,11 +120,11 @@ def initialize_tours(network_los, households, persons, trace_hh_id): tours_without_persons = ~tours.person_id.isin(persons.index) if tours_without_persons.any(): - logger.error(f"{tours_without_persons.sum()} tours out of {len(persons)} without persons\n" - f"{pd.Series({'person_id': tours_without_persons.index.values})}") + logger.error( + f"{tours_without_persons.sum()} tours out of {len(persons)} without persons\n" + f"{pd.Series({'person_id': tours_without_persons.index.values})}" + ) raise RuntimeError(f"{tours_without_persons.sum()} tours with bad person_id") if trace_hh_id: - tracing.trace_df(tours, - label='initialize_tours', - warn_if_empty=True) + tracing.trace_df(tours, label="initialize_tours", warn_if_empty=True) diff --git a/activitysim/abm/models/joint_tour_composition.py b/activitysim/abm/models/joint_tour_composition.py index f21b8f8677..a041fb9e83 100644 --- a/activitysim/abm/models/joint_tour_composition.py +++ b/activitysim/abm/models/joint_tour_composition.py @@ -4,40 +4,30 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing from .util import estimation - from .util.overlap import hh_time_window_overlap - logger = logging.getLogger(__name__) def add_null_results(trace_label, tours): logger.info("Skipping %s: add_null_results" % trace_label) - tours['composition'] = '' + tours["composition"] = "" pipeline.replace_table("tours", tours) @inject.step() -def joint_tour_composition( - tours, households, persons, - chunk_size, - trace_hh_id): +def joint_tour_composition(tours, households, persons, chunk_size, trace_hh_id): """ This model predicts the makeup of the travel party (adults, children, or mixed). """ - trace_label = 'joint_tour_composition' - model_settings_file_name = 'joint_tour_composition.yaml' + trace_label = "joint_tour_composition" + model_settings_file_name = "joint_tour_composition.yaml" tours = tours.to_frame() - joint_tours = tours[tours.tour_category == 'joint'] + joint_tours = tours[tours.tour_category == "joint"] # - if no joint tours if joint_tours.shape[0] == 0: @@ -45,7 +35,7 @@ def joint_tour_composition( return model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('joint_tour_composition') + estimator = estimation.manager.begin_estimation("joint_tour_composition") # - only interested in households with joint_tours households = households.to_frame() @@ -54,28 +44,32 @@ def joint_tour_composition( persons = persons.to_frame() persons = persons[persons.household_id.isin(households.index)] - logger.info("Running joint_tour_composition with %d joint tours" % joint_tours.shape[0]) + logger.info( + "Running joint_tour_composition with %d joint tours" % joint_tours.shape[0] + ) # - run preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_dict = { - 'persons': persons, - 'hh_time_window_overlap': hh_time_window_overlap + "persons": persons, + "hh_time_window_overlap": hh_time_window_overlap, } expressions.assign_columns( df=households, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) - joint_tours_merged = pd.merge(joint_tours, households, - left_on='household_id', right_index=True, how='left') + joint_tours_merged = pd.merge( + joint_tours, households, left_on="household_id", right_index=True, how="left" + ) # - simple_simulate - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -95,29 +89,33 @@ def joint_tour_composition( locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='composition', - estimator=estimator) + trace_choice_name="composition", + estimator=estimator, + ) # convert indexes to alternative names choices = pd.Series(model_spec.columns[choices.values], index=choices.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'tours', 'composition') + choices = estimator.get_survey_values(choices, "tours", "composition") estimator.write_override_choices(choices) estimator.end_estimation() # add composition column to tours for tracing - joint_tours['composition'] = choices + joint_tours["composition"] = choices # reindex since we ran model on a subset of households - tours['composition'] = choices.reindex(tours.index).fillna('').astype(str) + tours["composition"] = choices.reindex(tours.index).fillna("").astype(str) pipeline.replace_table("tours", tours) - tracing.print_summary('joint_tour_composition', joint_tours.composition, - value_counts=True) + tracing.print_summary( + "joint_tour_composition", joint_tours.composition, value_counts=True + ) if trace_hh_id: - tracing.trace_df(joint_tours, - label="joint_tour_composition.joint_tours", - slicer='household_id') + tracing.trace_df( + joint_tours, + label="joint_tour_composition.joint_tours", + slicer="household_id", + ) diff --git a/activitysim/abm/models/joint_tour_destination.py b/activitysim/abm/models/joint_tour_destination.py index 9154fdfedc..02651d2a44 100644 --- a/activitysim/abm/models/joint_tour_destination.py +++ b/activitysim/abm/models/joint_tour_destination.py @@ -4,29 +4,18 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate - +from activitysim.core import config, inject, pipeline, simulate, tracing from activitysim.core.util import assign_in_place -from .util import tour_destination -from .util import estimation - +from .util import estimation, tour_destination logger = logging.getLogger(__name__) @inject.step() def joint_tour_destination( - tours, - persons_merged, - households_merged, - network_los, - chunk_size, - trace_hh_id): + tours, persons_merged, households_merged, network_los, chunk_size, trace_hh_id +): """ Given the tour generation from the above, each tour needs to have a @@ -34,35 +23,42 @@ def joint_tour_destination( person that's making the tour) """ - trace_label = 'joint_tour_destination' - model_settings_file_name = 'joint_tour_destination.yaml' + trace_label = "joint_tour_destination" + model_settings_file_name = "joint_tour_destination.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('DEST_CHOICE_LOGSUM_COLUMN_NAME') + logsum_column_name = model_settings.get("DEST_CHOICE_LOGSUM_COLUMN_NAME") want_logsums = logsum_column_name is not None - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) # choosers are tours - in a sense tours are choosing their destination tours = tours.to_frame() - joint_tours = tours[tours.tour_category == 'joint'] + joint_tours = tours[tours.tour_category == "joint"] persons_merged = persons_merged.to_frame() # - if no joint tours if joint_tours.shape[0] == 0: - tracing.no_results('joint_tour_destination') + tracing.no_results("joint_tour_destination") return - estimator = estimation.manager.begin_estimation('joint_tour_destination') + estimator = estimation.manager.begin_estimation("joint_tour_destination") if estimator: estimator.write_coefficients(model_settings=model_settings) # estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SPEC") estimator.set_alt_id(model_settings["ALT_DEST_COL_NAME"]) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) estimator.write_model_settings(model_settings, model_settings_file_name) choices_df, save_sample_df = tour_destination.run_tour_destination( @@ -73,24 +69,29 @@ def joint_tour_destination( model_settings, network_los, estimator, - chunk_size, trace_hh_id, trace_label) + chunk_size, + trace_hh_id, + trace_label, + ) if estimator: estimator.write_choices(choices_df.choice) - choices_df.choice = estimator.get_survey_values(choices_df.choice, 'tours', 'destination') + choices_df.choice = estimator.get_survey_values( + choices_df.choice, "tours", "destination" + ) estimator.write_override_choices(choices_df.choice) estimator.end_estimation() # add column as we want joint_tours table for tracing. - joint_tours['destination'] = choices_df.choice - assign_in_place(tours, joint_tours[['destination']]) + joint_tours["destination"] = choices_df.choice + assign_in_place(tours, joint_tours[["destination"]]) pipeline.replace_table("tours", tours) if want_logsums: - joint_tours[logsum_column_name] = choices_df['logsum'] + joint_tours[logsum_column_name] = choices_df["logsum"] assign_in_place(tours, joint_tours[[logsum_column_name]]) - tracing.print_summary('destination', joint_tours.destination, describe=True) + tracing.print_summary("destination", joint_tours.destination, describe=True) if want_sample_table: assert len(save_sample_df.index.get_level_values(0).unique()) == len(choices_df) @@ -98,5 +99,4 @@ def joint_tour_destination( pipeline.extend_table(sample_table_name, save_sample_df) if trace_hh_id: - tracing.trace_df(joint_tours, - label="joint_tour_destination.joint_tours") + tracing.trace_df(joint_tours, label="joint_tour_destination.joint_tours") diff --git a/activitysim/abm/models/joint_tour_frequency.py b/activitysim/abm/models/joint_tour_frequency.py index d8930d9834..1039646651 100644 --- a/activitysim/abm/models/joint_tour_frequency.py +++ b/activitysim/abm/models/joint_tour_frequency.py @@ -5,15 +5,9 @@ import numpy as np import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing from .util import estimation - from .util.overlap import hh_time_window_overlap from .util.tour_frequency import process_joint_tours @@ -21,22 +15,21 @@ @inject.step() -def joint_tour_frequency( - households, persons, - chunk_size, - trace_hh_id): +def joint_tour_frequency(households, persons, chunk_size, trace_hh_id): """ This model predicts the frequency of making fully joint trips (see the alternatives above). """ - trace_label = 'joint_tour_frequency' - model_settings_file_name = 'joint_tour_frequency.yaml' + trace_label = "joint_tour_frequency" + model_settings_file_name = "joint_tour_frequency.yaml" - estimator = estimation.manager.begin_estimation('joint_tour_frequency') + estimator = estimation.manager.begin_estimation("joint_tour_frequency") model_settings = config.read_model_settings(model_settings_file_name) - alternatives = simulate.read_model_alts('joint_tour_frequency_alternatives.csv', set_index='alt') + alternatives = simulate.read_model_alts( + "joint_tour_frequency_alternatives.csv", set_index="alt" + ) # - only interested in households with more than one cdap travel_active person and # - at least one non-preschooler @@ -48,25 +41,28 @@ def joint_tour_frequency( persons = persons.to_frame() persons = persons[persons.household_id.isin(multi_person_households.index)] - logger.info("Running joint_tour_frequency with %d multi-person households" % - multi_person_households.shape[0]) + logger.info( + "Running joint_tour_frequency with %d multi-person households" + % multi_person_households.shape[0] + ) # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_dict = { - 'persons': persons, - 'hh_time_window_overlap': hh_time_window_overlap + "persons": persons, + "hh_time_window_overlap": hh_time_window_overlap, } expressions.assign_columns( df=multi_person_households, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -86,15 +82,18 @@ def joint_tour_frequency( locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='joint_tour_frequency', - estimator=estimator) + trace_choice_name="joint_tour_frequency", + estimator=estimator, + ) # convert indexes to alternative names choices = pd.Series(model_spec.columns[choices.values], index=choices.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'households', 'joint_tour_frequency') + choices = estimator.get_survey_values( + choices, "households", "joint_tour_frequency" + ) estimator.write_override_choices(choices) estimator.end_estimation() @@ -105,53 +104,63 @@ def joint_tour_frequency( # - so we arbitrarily choose the first person in the household # - to be point person for the purpose of generating an index and setting origin temp_point_persons = persons.loc[persons.PNUM == 1] - temp_point_persons['person_id'] = temp_point_persons.index - temp_point_persons = temp_point_persons.set_index('household_id') - temp_point_persons = temp_point_persons[['person_id', 'home_zone_id']] + temp_point_persons["person_id"] = temp_point_persons.index + temp_point_persons = temp_point_persons.set_index("household_id") + temp_point_persons = temp_point_persons[["person_id", "home_zone_id"]] - joint_tours = \ - process_joint_tours(choices, alternatives, temp_point_persons) + joint_tours = process_joint_tours(choices, alternatives, temp_point_persons) tours = pipeline.extend_table("tours", joint_tours) - tracing.register_traceable_table('tours', joint_tours) - pipeline.get_rn_generator().add_channel('tours', joint_tours) + tracing.register_traceable_table("tours", joint_tours) + pipeline.get_rn_generator().add_channel("tours", joint_tours) # - annotate households # we expect there to be an alt with no tours - which we can use to backfill non-travelers no_tours_alt = (alternatives.sum(axis=1) == 0).index[0] - households['joint_tour_frequency'] = choices.reindex(households.index).fillna(no_tours_alt).astype(str) - - households['num_hh_joint_tours'] = joint_tours.groupby('household_id').size().\ - reindex(households.index).fillna(0).astype(np.int8) + households["joint_tour_frequency"] = ( + choices.reindex(households.index).fillna(no_tours_alt).astype(str) + ) + + households["num_hh_joint_tours"] = ( + joint_tours.groupby("household_id") + .size() + .reindex(households.index) + .fillna(0) + .astype(np.int8) + ) pipeline.replace_table("households", households) - tracing.print_summary('joint_tour_frequency', households.joint_tour_frequency, - value_counts=True) + tracing.print_summary( + "joint_tour_frequency", households.joint_tour_frequency, value_counts=True + ) if trace_hh_id: - tracing.trace_df(households, - label="joint_tour_frequency.households") + tracing.trace_df(households, label="joint_tour_frequency.households") - tracing.trace_df(joint_tours, - label="joint_tour_frequency.joint_tours", - slicer='household_id') + tracing.trace_df( + joint_tours, label="joint_tour_frequency.joint_tours", slicer="household_id" + ) if estimator: - survey_tours = estimation.manager.get_survey_table('tours') - survey_tours = survey_tours[survey_tours.tour_category == 'joint'] + survey_tours = estimation.manager.get_survey_table("tours") + survey_tours = survey_tours[survey_tours.tour_category == "joint"] print(f"len(survey_tours) {len(survey_tours)}") print(f"len(joint_tours) {len(joint_tours)}") different = False - survey_tours_not_in_tours = survey_tours[~survey_tours.index.isin(joint_tours.index)] + survey_tours_not_in_tours = survey_tours[ + ~survey_tours.index.isin(joint_tours.index) + ] if len(survey_tours_not_in_tours) > 0: print(f"survey_tours_not_in_tours\n{survey_tours_not_in_tours}") different = True - tours_not_in_survey_tours = joint_tours[~joint_tours.index.isin(survey_tours.index)] + tours_not_in_survey_tours = joint_tours[ + ~joint_tours.index.isin(survey_tours.index) + ] if len(survey_tours_not_in_tours) > 0: print(f"tours_not_in_survey_tours\n{tours_not_in_survey_tours}") different = True diff --git a/activitysim/abm/models/joint_tour_participation.py b/activitysim/abm/models/joint_tour_participation.py index c69b5093c5..bce5a91e24 100644 --- a/activitysim/abm/models/joint_tour_participation.py +++ b/activitysim/abm/models/joint_tour_participation.py @@ -4,25 +4,22 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import logit -from activitysim.core import expressions -from activitysim.core import chunk - -from activitysim.core.util import assign_in_place +from activitysim.abm.models.util.canonical_ids import MAX_PARTICIPANT_PNUM +from activitysim.core import ( + chunk, + config, + expressions, + inject, + logit, + pipeline, + simulate, + tracing, +) +from activitysim.core.util import assign_in_place, reindex from .util import estimation - -from activitysim.core.util import reindex from .util.overlap import person_time_window_overlap -from activitysim.abm.models.util.canonical_ids import MAX_PARTICIPANT_PNUM - - logger = logging.getLogger(__name__) @@ -40,17 +37,21 @@ def joint_tour_participation_candidates(joint_tours, persons_merged): # - create candidates table candidates = pd.merge( - joint_tours.reset_index().rename(columns={'person_id': 'point_person_id'}), - persons_merged.reset_index().rename(columns={persons_merged.index.name: 'person_id'}), - left_on=['household_id'], right_on=['household_id']) + joint_tours.reset_index().rename(columns={"person_id": "point_person_id"}), + persons_merged.reset_index().rename( + columns={persons_merged.index.name: "person_id"} + ), + left_on=["household_id"], + right_on=["household_id"], + ) # should have all joint_tours - assert len(candidates['tour_id'].unique()) == joint_tours.shape[0] + assert len(candidates["tour_id"].unique()) == joint_tours.shape[0] # - filter out ineligible candidates (adults for children-only tours, and vice-versa) eligible = ~( - ((candidates.composition == 'adults') & ~candidates.adult) | - ((candidates.composition == 'children') & candidates.adult) + ((candidates.composition == "adults") & ~candidates.adult) + | ((candidates.composition == "children") & candidates.adult) ) candidates = candidates[eligible] @@ -58,10 +59,15 @@ def joint_tour_participation_candidates(joint_tours, persons_merged): # if this happens, participant_id may not be unique # channel random seeds will overlap at MAX_PARTICIPANT_PNUM (not probably a big deal) # and estimation infer will fail - assert candidates.PNUM.max() < MAX_PARTICIPANT_PNUM, \ - f"max persons.PNUM ({candidates.PNUM.max()}) > MAX_PARTICIPANT_PNUM ({MAX_PARTICIPANT_PNUM})" - candidates['participant_id'] = (candidates[joint_tours.index.name] * MAX_PARTICIPANT_PNUM) + candidates.PNUM - candidates.set_index('participant_id', drop=True, inplace=True, verify_integrity=True) + assert ( + candidates.PNUM.max() < MAX_PARTICIPANT_PNUM + ), f"max persons.PNUM ({candidates.PNUM.max()}) > MAX_PARTICIPANT_PNUM ({MAX_PARTICIPANT_PNUM})" + candidates["participant_id"] = ( + candidates[joint_tours.index.name] * MAX_PARTICIPANT_PNUM + ) + candidates.PNUM + candidates.set_index( + "participant_id", drop=True, inplace=True, verify_integrity=True + ) return candidates @@ -75,27 +81,34 @@ def get_tour_satisfaction(candidates, participate): candidates = candidates[participate] # if this happens, we would need to filter them out! - assert not ((candidates.composition == 'adults') & ~candidates.adult).any() - assert not ((candidates.composition == 'children') & candidates.adult).any() + assert not ((candidates.composition == "adults") & ~candidates.adult).any() + assert not ((candidates.composition == "children") & candidates.adult).any() # FIXME tour satisfaction - hack # annotate_households_cdap.csv says there has to be at least one non-preschooler in household # so presumably there also has to be at least one non-preschooler in joint tour # participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) - cols = ['tour_id', 'composition', 'adult', 'person_is_preschool'] - - x = candidates[cols].groupby(['tour_id', 'composition'])\ - .agg(participants=('adult', 'size'), adults=('adult', 'sum'), preschoolers=('person_is_preschool', 'sum'))\ - .reset_index('composition') + cols = ["tour_id", "composition", "adult", "person_is_preschool"] + + x = ( + candidates[cols] + .groupby(["tour_id", "composition"]) + .agg( + participants=("adult", "size"), + adults=("adult", "sum"), + preschoolers=("person_is_preschool", "sum"), + ) + .reset_index("composition") + ) # satisfaction = \ # (x.composition == 'adults') & (x.participants > 1) | \ # (x.composition == 'children') & (x.participants > 1) & (x.preschoolers < x.participants) | \ # (x.composition == 'mixed') & (x.adults > 0) & (x.participants > x.adults) - satisfaction = \ - (x.composition != 'mixed') & (x.participants > 1) | \ - (x.composition == 'mixed') & (x.adults > 0) & (x.participants > x.adults) + satisfaction = (x.composition != "mixed") & (x.participants > 1) | ( + x.composition == "mixed" + ) & (x.adults > 0) & (x.participants > x.adults) satisfaction = satisfaction.reindex(tour_ids).fillna(False).astype(bool) @@ -144,22 +157,27 @@ def participants_chooser(probs, choosers, spec, trace_label): assert probs.index.equals(choosers.index) # choice is boolean (participate or not) - model_settings = config.read_model_settings('joint_tour_participation.yaml') + model_settings = config.read_model_settings("joint_tour_participation.yaml") - choice_col = model_settings.get('participation_choice', 'participate') - assert choice_col in spec.columns, \ - "couldn't find participation choice column '%s' in spec" + choice_col = model_settings.get("participation_choice", "participate") + assert ( + choice_col in spec.columns + ), "couldn't find participation choice column '%s' in spec" PARTICIPATE_CHOICE = spec.columns.get_loc(choice_col) - MAX_ITERATIONS = model_settings.get('max_participation_choice_iterations', 5000) + MAX_ITERATIONS = model_settings.get("max_participation_choice_iterations", 5000) - trace_label = tracing.extend_trace_label(trace_label, 'participants_chooser') + trace_label = tracing.extend_trace_label(trace_label, "participants_chooser") candidates = choosers.copy() choices_list = [] rands_list = [] num_tours_remaining = len(candidates.tour_id.unique()) - logger.info('%s %s joint tours to satisfy.', trace_label, num_tours_remaining,) + logger.info( + "%s %s joint tours to satisfy.", + trace_label, + num_tours_remaining, + ) iter = 0 while candidates.shape[0] > 0: @@ -167,16 +185,23 @@ def participants_chooser(probs, choosers, spec, trace_label): iter += 1 if iter > MAX_ITERATIONS: - logger.warning('%s max iterations exceeded (%s).', trace_label, MAX_ITERATIONS) - diagnostic_cols = ['tour_id', 'household_id', 'composition', 'adult'] + logger.warning( + "%s max iterations exceeded (%s).", trace_label, MAX_ITERATIONS + ) + diagnostic_cols = ["tour_id", "household_id", "composition", "adult"] unsatisfied_candidates = candidates[diagnostic_cols].join(probs) - tracing.write_csv(unsatisfied_candidates, - file_name='%s.UNSATISFIED' % trace_label, transpose=False) + tracing.write_csv( + unsatisfied_candidates, + file_name="%s.UNSATISFIED" % trace_label, + transpose=False, + ) print(unsatisfied_candidates.head(20)) assert False - choices, rands = logit.make_choices(probs, trace_label=trace_label, trace_choosers=choosers) - participate = (choices == PARTICIPATE_CHOICE) + choices, rands = logit.make_choices( + probs, trace_label=trace_label, trace_choosers=choosers + ) + participate = choices == PARTICIPATE_CHOICE # satisfaction indexed by tour_id tour_satisfaction = get_tour_satisfaction(candidates, participate) @@ -195,8 +220,10 @@ def participants_chooser(probs, choosers, spec, trace_label): probs = probs[~satisfied] candidates = candidates[~satisfied] - logger.debug(f"{trace_label} iteration {iter} : " - f"{num_tours_satisfied_this_iter} joint tours satisfied {num_tours_remaining} remaining") + logger.debug( + f"{trace_label} iteration {iter} : " + f"{num_tours_satisfied_this_iter} joint tours satisfied {num_tours_remaining} remaining" + ) choices = pd.concat(choices_list) rands = pd.concat(rands_list).reindex(choosers.index) @@ -207,7 +234,11 @@ def participants_chooser(probs, choosers, spec, trace_label): assert choices.index.equals(choosers.index) assert rands.index.equals(choosers.index) - logger.info('%s %s iterations to satisfy all joint tours.', trace_label, iter,) + logger.info( + "%s %s iterations to satisfy all joint tours.", + trace_label, + iter, + ) return choices, rands @@ -215,11 +246,12 @@ def participants_chooser(probs, choosers, spec, trace_label): def annotate_jtp(model_settings, trace_label): # - annotate persons - persons = inject.get_table('persons').to_frame() + persons = inject.get_table("persons").to_frame() expressions.assign_columns( df=persons, - model_settings=model_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=model_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", persons) @@ -227,10 +259,10 @@ def add_null_results(model_settings, trace_label): logger.info("Skipping %s: joint tours", trace_label) # participants table is used downstream in non-joint tour expressions - PARTICIPANT_COLS = ['tour_id', 'household_id', 'person_id', 'participant_num'] + PARTICIPANT_COLS = ["tour_id", "household_id", "person_id", "participant_num"] participants = pd.DataFrame(columns=PARTICIPANT_COLS) - participants.index.name = 'participant_id' + participants.index.name = "participant_id" pipeline.replace_table("joint_tour_participants", participants) # - run annotations @@ -238,19 +270,16 @@ def add_null_results(model_settings, trace_label): @inject.step() -def joint_tour_participation( - tours, persons_merged, - chunk_size, - trace_hh_id): +def joint_tour_participation(tours, persons_merged, chunk_size, trace_hh_id): """ Predicts for each eligible person to participate or not participate in each joint tour. """ - trace_label = 'joint_tour_participation' - model_settings_file_name = 'joint_tour_participation.yaml' + trace_label = "joint_tour_participation" + model_settings_file_name = "joint_tour_participation.yaml" model_settings = config.read_model_settings(model_settings_file_name) tours = tours.to_frame() - joint_tours = tours[tours.tour_category == 'joint'] + joint_tours = tours[tours.tour_category == "joint"] # - if no joint tours if joint_tours.shape[0] == 0: @@ -261,32 +290,35 @@ def joint_tour_participation( # - create joint_tour_participation_candidates table candidates = joint_tour_participation_candidates(joint_tours, persons_merged) - tracing.register_traceable_table('joint_tour_participants', candidates) - pipeline.get_rn_generator().add_channel('joint_tour_participants', candidates) + tracing.register_traceable_table("joint_tour_participants", candidates) + pipeline.get_rn_generator().add_channel("joint_tour_participants", candidates) - logger.info("Running joint_tours_participation with %d potential participants (candidates)" % - candidates.shape[0]) + logger.info( + "Running joint_tours_participation with %d potential participants (candidates)" + % candidates.shape[0] + ) # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_dict = { - 'person_time_window_overlap': person_time_window_overlap, - 'persons': persons_merged + "person_time_window_overlap": person_time_window_overlap, + "persons": persons_merged, } expressions.assign_columns( df=candidates, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) # - simple_simulate - estimator = estimation.manager.begin_estimation('joint_tour_participation') + estimator = estimation.manager.begin_estimation("joint_tour_participation") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -300,10 +332,12 @@ def joint_tour_participation( estimator.write_choosers(candidates) # add tour-based chunk_id so we can chunk all trips in tour together - assert 'chunk_id' not in candidates.columns + assert "chunk_id" not in candidates.columns unique_household_ids = candidates.household_id.unique() - household_chunk_ids = pd.Series(range(len(unique_household_ids)), index=unique_household_ids) - candidates['chunk_id'] = reindex(household_chunk_ids, candidates.household_id) + household_chunk_ids = pd.Series( + range(len(unique_household_ids)), index=unique_household_ids + ) + candidates["chunk_id"] = reindex(household_chunk_ids, candidates.household_id) choices = simulate.simple_simulate_by_chunk_id( choosers=candidates, @@ -312,28 +346,34 @@ def joint_tour_participation( locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='participation', + trace_choice_name="participation", custom_chooser=participants_chooser, - estimator=estimator) + estimator=estimator, + ) # choice is boolean (participate or not) - choice_col = model_settings.get('participation_choice', 'participate') - assert choice_col in model_spec.columns, \ - "couldn't find participation choice column '%s' in spec" + choice_col = model_settings.get("participation_choice", "participate") + assert ( + choice_col in model_spec.columns + ), "couldn't find participation choice column '%s' in spec" PARTICIPATE_CHOICE = model_spec.columns.get_loc(choice_col) - participate = (choices == PARTICIPATE_CHOICE) + participate = choices == PARTICIPATE_CHOICE if estimator: estimator.write_choices(choices) # we override the 'participate' boolean series, instead of raw alternative index in 'choices' series # its value depends on whether the candidate's 'participant_id' is in the joint_tour_participant index - survey_participants_df = estimator.get_survey_table('joint_tour_participants') - participate = pd.Series(choices.index.isin(survey_participants_df.index.values), index=choices.index) + survey_participants_df = estimator.get_survey_table("joint_tour_participants") + participate = pd.Series( + choices.index.isin(survey_participants_df.index.values), index=choices.index + ) # but estimation software wants to know the choices value (alternative index) - choices = participate.replace({True: PARTICIPATE_CHOICE, False: 1-PARTICIPATE_CHOICE}) + choices = participate.replace( + {True: PARTICIPATE_CHOICE, False: 1 - PARTICIPATE_CHOICE} + ) # estimator.write_override_choices(participate) # write choices as boolean participate estimator.write_override_choices(choices) # write choices as int alt indexes @@ -344,30 +384,33 @@ def joint_tour_participation( assert tour_satisfaction.all() - candidates['satisfied'] = reindex(tour_satisfaction, candidates.tour_id) + candidates["satisfied"] = reindex(tour_satisfaction, candidates.tour_id) - PARTICIPANT_COLS = ['tour_id', 'household_id', 'person_id'] + PARTICIPANT_COLS = ["tour_id", "household_id", "person_id"] participants = candidates[participate][PARTICIPANT_COLS].copy() # assign participant_num # FIXME do we want something smarter than the participant with the lowest person_id? - participants['participant_num'] = \ - participants.sort_values(by=['tour_id', 'person_id']).\ - groupby('tour_id').cumcount() + 1 + participants["participant_num"] = ( + participants.sort_values(by=["tour_id", "person_id"]) + .groupby("tour_id") + .cumcount() + + 1 + ) pipeline.replace_table("joint_tour_participants", participants) # drop channel as we aren't using any more (and it has candidates that weren't chosen) - pipeline.get_rn_generator().drop_channel('joint_tour_participants') + pipeline.get_rn_generator().drop_channel("joint_tour_participants") # - assign joint tour 'point person' (participant_num == 1) point_persons = participants[participants.participant_num == 1] - joint_tours['person_id'] = point_persons.set_index('tour_id').person_id + joint_tours["person_id"] = point_persons.set_index("tour_id").person_id # update number_of_participants which was initialized to 1 - joint_tours['number_of_participants'] = participants.groupby('tour_id').size() + joint_tours["number_of_participants"] = participants.groupby("tour_id").size() - assign_in_place(tours, joint_tours[['person_id', 'number_of_participants']]) + assign_in_place(tours, joint_tours[["person_id", "number_of_participants"]]) pipeline.replace_table("tours", tours) @@ -375,8 +418,6 @@ def joint_tour_participation( annotate_jtp(model_settings, trace_label) if trace_hh_id: - tracing.trace_df(participants, - label="joint_tour_participation.participants") + tracing.trace_df(participants, label="joint_tour_participation.participants") - tracing.trace_df(joint_tours, - label="joint_tour_participation.joint_tours") + tracing.trace_df(joint_tours, label="joint_tour_participation.joint_tours") diff --git a/activitysim/abm/models/joint_tour_scheduling.py b/activitysim/abm/models/joint_tour_scheduling.py index 3b41f898e5..32c444c76c 100644 --- a/activitysim/abm/models/joint_tour_scheduling.py +++ b/activitysim/abm/models/joint_tour_scheduling.py @@ -4,39 +4,27 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing +from activitysim.core.util import assign_in_place, reindex from .util import estimation - from .util.vectorize_tour_scheduling import vectorize_joint_tour_scheduling -from activitysim.core.util import assign_in_place -from activitysim.core.util import reindex logger = logging.getLogger(__name__) @inject.step() -def joint_tour_scheduling( - tours, - persons_merged, - tdd_alts, - chunk_size, - trace_hh_id): +def joint_tour_scheduling(tours, persons_merged, tdd_alts, chunk_size, trace_hh_id): """ This model predicts the departure time and duration of each joint tour """ - trace_label = 'joint_tour_scheduling' + trace_label = "joint_tour_scheduling" - model_settings_file_name = 'joint_tour_scheduling.yaml' + model_settings_file_name = "joint_tour_scheduling.yaml" model_settings = config.read_model_settings(model_settings_file_name) tours = tours.to_frame() - joint_tours = tours[tours.tour_category == 'joint'] + joint_tours = tours[tours.tour_category == "joint"] # - if no joint tours if joint_tours.shape[0] == 0: @@ -44,7 +32,7 @@ def joint_tour_scheduling( return # use inject.get_table as this won't exist if there are no joint_tours - joint_tour_participants = inject.get_table('joint_tour_participants').to_frame() + joint_tour_participants = inject.get_table("joint_tour_participants").to_frame() persons_merged = persons_merged.to_frame() @@ -64,7 +52,7 @@ def joint_tour_scheduling( constants = config.get_model_constants(model_settings) # - run preprocessor to annotate choosers - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_d = {} @@ -75,13 +63,14 @@ def joint_tour_scheduling( df=joint_tours, model_settings=preprocessor_settings, locals_dict=locals_d, - trace_label=trace_label) + trace_label=trace_label, + ) timetable = inject.get_injectable("timetable") - estimator = estimation.manager.begin_estimation('joint_tour_scheduling') + estimator = estimation.manager.begin_estimation("joint_tour_scheduling") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -92,45 +81,55 @@ def joint_tour_scheduling( timetable.begin_transaction(estimator) choices = vectorize_joint_tour_scheduling( - joint_tours, joint_tour_participants, + joint_tours, + joint_tour_participants, persons_merged, - tdd_alts, timetable, + tdd_alts, + timetable, spec=model_spec, model_settings=model_settings, estimator=estimator, chunk_size=chunk_size, - trace_label=trace_label) + trace_label=trace_label, + ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'tours', 'tdd') + choices = estimator.get_survey_values(choices, "tours", "tdd") estimator.write_override_choices(choices) estimator.end_estimation() # update timetable to reflect the override choices (assign tours in tour_num order) timetable.rollback() - for tour_num, nth_tours in joint_tours.groupby('tour_num', sort=True): - nth_participants = \ - joint_tour_participants[joint_tour_participants.tour_id.isin(nth_tours.index)] - - estimator.log("assign timetable for %s participants in %s tours with tour_num %s" % - (len(nth_participants), len(nth_tours), tour_num)) + for tour_num, nth_tours in joint_tours.groupby("tour_num", sort=True): + nth_participants = joint_tour_participants[ + joint_tour_participants.tour_id.isin(nth_tours.index) + ] + + estimator.log( + "assign timetable for %s participants in %s tours with tour_num %s" + % (len(nth_participants), len(nth_tours), tour_num) + ) # - update timetables of all joint tour participants - timetable.assign(nth_participants.person_id, reindex(choices, nth_participants.tour_id)) + timetable.assign( + nth_participants.person_id, reindex(choices, nth_participants.tour_id) + ) timetable.replace_table() # choices are tdd alternative ids # we want to add start, end, and duration columns to tours, which we have in tdd_alts table - choices = pd.merge(choices.to_frame('tdd'), tdd_alts, left_on=['tdd'], right_index=True, how='left') + choices = pd.merge( + choices.to_frame("tdd"), tdd_alts, left_on=["tdd"], right_index=True, how="left" + ) assign_in_place(tours, choices) pipeline.replace_table("tours", tours) # updated df for tracing - joint_tours = tours[tours.tour_category == 'joint'] + joint_tours = tours[tours.tour_category == "joint"] if trace_hh_id: - tracing.trace_df(joint_tours, - label="joint_tour_scheduling", - slicer='household_id') + tracing.trace_df( + joint_tours, label="joint_tour_scheduling", slicer="household_id" + ) diff --git a/activitysim/abm/models/location_choice.py b/activitysim/abm/models/location_choice.py index 5b3b7d1e47..f35d3eb158 100644 --- a/activitysim/abm/models/location_choice.py +++ b/activitysim/abm/models/location_choice.py @@ -2,29 +2,30 @@ # See full license in LICENSE.txt. import logging -# import multiprocessing - -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import mem -from activitysim.core import expressions -from activitysim.core import los -from activitysim.core import logit - -from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.abm.tables import shadow_pricing +from activitysim.core import ( + config, + expressions, + inject, + logit, + los, + mem, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_sample import interaction_sample +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate -from .util import logsums as logsum from .util import estimation +from .util import logsums as logsum from .util import tour_destination -from activitysim.abm.tables import shadow_pricing +# import multiprocessing + """ The school/workplace location model predicts the zones in which various people will @@ -78,7 +79,7 @@ logger = logging.getLogger(__name__) # column name of logsum in df returned by run_location_logsums (here because used in more than one place) -ALT_LOGSUM = 'mode_choice_logsum' +ALT_LOGSUM = "mode_choice_logsum" def write_estimation_specs(estimator, model_settings, settings_file): @@ -93,23 +94,29 @@ def write_estimation_specs(estimator, model_settings, settings_file): estimator.write_model_settings(model_settings, settings_file) # estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SPEC") estimator.write_coefficients(model_settings=model_settings) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) def _location_sample( - segment_name, - choosers, - alternatives, - skims, - estimator, - model_settings, - alt_dest_col_name, - chunk_size, chunk_tag, - trace_label): + segment_name, + choosers, + alternatives, + skims, + estimator, + model_settings, + alt_dest_col_name, + chunk_size, + chunk_tag, + trace_label, +): """ select a sample of alternative locations. @@ -132,23 +139,29 @@ def _location_sample( logger.info("Running %s with %d persons" % (trace_label, len(choosers.index))) sample_size = model_settings["SAMPLE_SIZE"] - if config.setting('disable_destination_sampling', False) or (estimator and estimator.want_unsampled_alternatives): + if config.setting("disable_destination_sampling", False) or ( + estimator and estimator.want_unsampled_alternatives + ): # FIXME interaction_sample will return unsampled complete alternatives with probs and pick_count - logger.info("Estimation mode for %s using unsampled alternatives short_circuit_choices" % (trace_label,)) + logger.info( + "Estimation mode for %s using unsampled alternatives short_circuit_choices" + % (trace_label,) + ) sample_size = 0 - locals_d = { - 'skims': skims, - 'segment_size': segment_name - } + locals_d = {"skims": skims, "segment_size": segment_name} constants = config.get_model_constants(model_settings) locals_d.update(constants) - spec = simulate.spec_for_segment(model_settings, spec_id='SAMPLE_SPEC', - segment_name=segment_name, estimator=estimator) + spec = simulate.spec_for_segment( + model_settings, + spec_id="SAMPLE_SPEC", + segment_name=segment_name, + estimator=estimator, + ) # here since presumably we want this when called for either sample or presample - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample( choosers, @@ -161,23 +174,26 @@ def _location_sample( locals_d=locals_d, chunk_size=chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) return choices def location_sample( - segment_name, - persons_merged, - network_los, - dest_size_terms, - estimator, - model_settings, - chunk_size, chunk_tag, - trace_label): + segment_name, + persons_merged, + network_los, + dest_size_terms, + estimator, + model_settings, + chunk_size, + chunk_tag, + trace_label, +): # FIXME - MEMORY HACK - only include columns actually used in spec - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] choosers = persons_merged[chooser_columns] # create wrapper with keys for this lookup - in this case there is a home_zone_id in the choosers @@ -185,9 +201,9 @@ def location_sample( # (logit.interaction_dataset suffixes duplicate chooser column with '_chooser') # the skims will be available under the name "skims" for any @ expressions skim_dict = network_los.get_default_skim_dict() - skims = skim_dict.wrap('home_zone_id', 'zone_id') + skims = skim_dict.wrap("home_zone_id", "zone_id") - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] choices = _location_sample( segment_name, @@ -197,16 +213,18 @@ def location_sample( estimator, model_settings, alt_dest_col_name, - chunk_size, chunk_tag, - trace_label) + chunk_size, + chunk_tag, + trace_label, + ) return choices -DEST_TAZ = 'dest_TAZ' -HOME_TAZ = 'TAZ' -HOME_MAZ = 'home_zone_id' -DEST_MAZ = 'dest_MAZ' +DEST_TAZ = "dest_TAZ" +HOME_TAZ = "TAZ" +HOME_MAZ = "home_zone_id" +DEST_MAZ = "dest_MAZ" def aggregate_size_terms(dest_size_terms, network_los): @@ -217,23 +235,36 @@ def aggregate_size_terms(dest_size_terms, network_los): MAZ_size_terms = dest_size_terms.copy() # add crosswalk DEST_TAZ column to MAZ_size_terms - maz_to_taz = network_los.maz_taz_df[['MAZ', 'TAZ']].set_index('MAZ').sort_values(by='TAZ').TAZ + maz_to_taz = ( + network_los.maz_taz_df[["MAZ", "TAZ"]] + .set_index("MAZ") + .sort_values(by="TAZ") + .TAZ + ) MAZ_size_terms[DEST_TAZ] = MAZ_size_terms.index.map(maz_to_taz) - weighted_average_cols = ['shadow_price_size_term_adjustment', 'shadow_price_utility_adjustment'] + weighted_average_cols = [ + "shadow_price_size_term_adjustment", + "shadow_price_utility_adjustment", + ] for c in weighted_average_cols: - MAZ_size_terms[c] *= MAZ_size_terms['size_term'] # weighted average + MAZ_size_terms[c] *= MAZ_size_terms["size_term"] # weighted average TAZ_size_terms = MAZ_size_terms.groupby(DEST_TAZ).agg( - {'size_term': 'sum', - 'shadow_price_size_term_adjustment': 'sum', - 'shadow_price_utility_adjustment': 'sum'}) + { + "size_term": "sum", + "shadow_price_size_term_adjustment": "sum", + "shadow_price_utility_adjustment": "sum", + } + ) for c in weighted_average_cols: - TAZ_size_terms[c] /= TAZ_size_terms['size_term'] # weighted average + TAZ_size_terms[c] /= TAZ_size_terms["size_term"] # weighted average if TAZ_size_terms.isna().any(axis=None): - logger.warning(f"TAZ_size_terms with NAN values\n{TAZ_size_terms[TAZ_size_terms.isna().any(axis=1)]}") + logger.warning( + f"TAZ_size_terms with NAN values\n{TAZ_size_terms[TAZ_size_terms.isna().any(axis=1)]}" + ) assert not TAZ_size_terms.isna(axis=None).any() # print(f"TAZ_size_terms\n{TAZ_size_terms}") @@ -243,8 +274,10 @@ def aggregate_size_terms(dest_size_terms, network_los): # 3 20.511 1.0 0 # 4 19.737 1.0 0 - MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, 'size_term']].reset_index(drop=False) - MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, 'zone_id']).reset_index(drop=True) + MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, "size_term"]].reset_index(drop=False) + MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, "zone_id"]).reset_index( + drop=True + ) # print(f"MAZ_size_terms\n{MAZ_size_terms}") # zone_id dest_TAZ size_term @@ -257,20 +290,22 @@ def aggregate_size_terms(dest_size_terms, network_los): def location_presample( - segment_name, - persons_merged, - network_los, - dest_size_terms, - estimator, - model_settings, - chunk_size, chunk_tag, - trace_label): - - trace_label = tracing.extend_trace_label(trace_label, 'presample') + segment_name, + persons_merged, + network_los, + dest_size_terms, + estimator, + model_settings, + chunk_size, + chunk_tag, + trace_label, +): + + trace_label = tracing.extend_trace_label(trace_label, "presample") logger.info(f"{trace_label} location_presample") - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] assert DEST_TAZ != alt_dest_col_name MAZ_size_terms, TAZ_size_terms = aggregate_size_terms(dest_size_terms, network_los) @@ -278,19 +313,21 @@ def location_presample( # convert MAZ zone_id to 'TAZ' in choosers (persons_merged) # persons_merged[HOME_TAZ] = persons_merged[HOME_MAZ].map(maz_to_taz) assert HOME_MAZ in persons_merged - assert HOME_TAZ in persons_merged # 'TAZ' should already be in persons_merged from land_use + assert ( + HOME_TAZ in persons_merged + ) # 'TAZ' should already be in persons_merged from land_use # FIXME - MEMORY HACK - only include columns actually used in spec # FIXME we don't actually require that land_use provide a TAZ crosswalk # FIXME maybe we should add it for multi-zone (from maz_taz) if missing? - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] chooser_columns = [HOME_TAZ if c == HOME_MAZ else c for c in chooser_columns] choosers = persons_merged[chooser_columns] # create wrapper with keys for this lookup - in this case there is a HOME_TAZ in the choosers # and a DEST_TAZ in the alternatives which get merged during interaction # the skims will be available under the name "skims" for any @ expressions - skim_dict = network_los.get_skim_dict('taz') + skim_dict = network_los.get_skim_dict("taz") skims = skim_dict.wrap(HOME_TAZ, DEST_TAZ) taz_sample = _location_sample( @@ -301,8 +338,10 @@ def location_presample( estimator, model_settings, DEST_TAZ, - chunk_size, chunk_tag, - trace_label) + chunk_size, + chunk_tag, + trace_label, + ) # print(f"taz_sample\n{taz_sample}") # dest_TAZ prob pick_count @@ -313,7 +352,9 @@ def location_presample( # 55227 20 0.035548 3 # choose a MAZ for each DEST_TAZ choice, choice probability based on MAZ size_term fraction of TAZ total - maz_choices = tour_destination.choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label) + maz_choices = tour_destination.choose_MAZ_for_TAZ( + taz_sample, MAZ_size_terms, trace_label + ) assert DEST_MAZ in maz_choices maz_choices = maz_choices.rename(columns={DEST_MAZ: alt_dest_col_name}) @@ -322,14 +363,16 @@ def location_presample( def run_location_sample( - segment_name, - persons_merged, - network_los, - dest_size_terms, - estimator, - model_settings, - chunk_size, chunk_tag, - trace_label): + segment_name, + persons_merged, + network_los, + dest_size_terms, + estimator, + model_settings, + chunk_size, + chunk_tag, + trace_label, +): """ select a sample of alternative locations. @@ -348,20 +391,27 @@ def run_location_sample( 23751, 14, 0.972732479292, 2 """ - logger.debug(f"dropping {(~(dest_size_terms.size_term > 0)).sum()} " - f"of {len(dest_size_terms)} rows where size_term is zero") + logger.debug( + f"dropping {(~(dest_size_terms.size_term > 0)).sum()} " + f"of {len(dest_size_terms)} rows where size_term is zero" + ) dest_size_terms = dest_size_terms[dest_size_terms.size_term > 0] # by default, enable presampling for multizone systems, unless they disable it in settings file pre_sample_taz = not (network_los.zone_system == los.ONE_ZONE) - if pre_sample_taz and not config.setting('want_dest_choice_presampling', True): + if pre_sample_taz and not config.setting("want_dest_choice_presampling", True): pre_sample_taz = False - logger.info(f"Disabled destination zone presampling for {trace_label} " - f"because 'want_dest_choice_presampling' setting is False") + logger.info( + f"Disabled destination zone presampling for {trace_label} " + f"because 'want_dest_choice_presampling' setting is False" + ) if pre_sample_taz: - logger.info("Running %s location_presample with %d persons" % (trace_label, len(persons_merged))) + logger.info( + "Running %s location_presample with %d persons" + % (trace_label, len(persons_merged)) + ) choices = location_presample( segment_name, @@ -371,8 +421,9 @@ def run_location_sample( estimator, model_settings, chunk_size, - chunk_tag=f'{chunk_tag}.presample', - trace_label=trace_label) + chunk_tag=f"{chunk_tag}.presample", + trace_label=trace_label, + ) else: @@ -384,20 +435,23 @@ def run_location_sample( estimator, model_settings, chunk_size, - chunk_tag=f'{chunk_tag}.sample', - trace_label=trace_label) + chunk_tag=f"{chunk_tag}.sample", + trace_label=trace_label, + ) return choices def run_location_logsums( - segment_name, - persons_merged_df, - network_los, - location_sample_df, - model_settings, - chunk_size, chunk_tag, - trace_label): + segment_name, + persons_merged_df, + network_los, + location_sample_df, + model_settings, + chunk_size, + chunk_tag, + trace_label, +): """ add logsum column to existing location_sample table @@ -421,28 +475,33 @@ def run_location_logsums( assert not location_sample_df.empty - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) # FIXME - MEMORY HACK - only include columns actually used in spec - persons_merged_df = \ - logsum.filter_chooser_columns(persons_merged_df, logsum_settings, model_settings) + persons_merged_df = logsum.filter_chooser_columns( + persons_merged_df, logsum_settings, model_settings + ) - logger.info("Running %s with %s rows" % (trace_label, len(location_sample_df.index))) + logger.info( + "Running %s with %s rows" % (trace_label, len(location_sample_df.index)) + ) - choosers = location_sample_df.join(persons_merged_df, how='left') + choosers = location_sample_df.join(persons_merged_df, how="left") - tour_purpose = model_settings['LOGSUM_TOUR_PURPOSE'] + tour_purpose = model_settings["LOGSUM_TOUR_PURPOSE"] if isinstance(tour_purpose, dict): tour_purpose = tour_purpose[segment_name] logsums = logsum.compute_logsums( choosers, tour_purpose, - logsum_settings, model_settings, + logsum_settings, + model_settings, network_los, chunk_size, chunk_tag, - trace_label) + trace_label, + ) # "add_column series should have an index matching the table to which it is being added" # when the index has duplicates, however, in the special case that the series index exactly @@ -454,16 +513,18 @@ def run_location_logsums( def run_location_simulate( - segment_name, - persons_merged, - location_sample_df, - network_los, - dest_size_terms, - want_logsums, - estimator, - model_settings, - chunk_size, chunk_tag, - trace_label): + segment_name, + persons_merged, + location_sample_df, + network_los, + dest_size_terms, + want_logsums, + estimator, + model_settings, + chunk_size, + chunk_tag, + trace_label, +): """ run location model on location_sample annotated with mode_choice logsum to select a dest zone from sample alternatives @@ -479,16 +540,20 @@ def run_location_simulate( assert not persons_merged.empty # FIXME - MEMORY HACK - only include columns actually used in spec - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] choosers = persons_merged[chooser_columns] - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] # alternatives are pre-sampled and annotated with logsums and pick_count # but we have to merge additional alt columns into alt sample list - alternatives = \ - pd.merge(location_sample_df, dest_size_terms, - left_on=alt_dest_col_name, right_index=True, how="left") + alternatives = pd.merge( + location_sample_df, + dest_size_terms, + left_on=alt_dest_col_name, + right_index=True, + how="left", + ) logger.info("Running %s with %d persons" % (trace_label, len(choosers))) @@ -496,12 +561,9 @@ def run_location_simulate( # and a zone_id in the alternatives which get merged during interaction # the skims will be available under the name "skims" for any @ expressions skim_dict = network_los.get_default_skim_dict() - skims = skim_dict.wrap('home_zone_id', alt_dest_col_name) + skims = skim_dict.wrap("home_zone_id", alt_dest_col_name) - locals_d = { - 'skims': skims, - 'segment_size': segment_name - } + locals_d = {"skims": skims, "segment_size": segment_name} constants = config.get_model_constants(model_settings) if constants is not None: locals_d.update(constants) @@ -512,9 +574,11 @@ def run_location_simulate( estimator.set_alt_id(alt_dest_col_name) estimator.write_interaction_sample_alternatives(alternatives) - spec = simulate.spec_for_segment(model_settings, spec_id='SPEC', segment_name=segment_name, estimator=estimator) + spec = simulate.spec_for_segment( + model_settings, spec_id="SPEC", segment_name=segment_name, estimator=estimator + ) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample_simulate( choosers, @@ -525,15 +589,17 @@ def run_location_simulate( want_logsums=want_logsums, skims=skims, locals_d=locals_d, - chunk_size=chunk_size, chunk_tag=chunk_tag, + chunk_size=chunk_size, + chunk_tag=chunk_tag, trace_label=trace_label, - trace_choice_name=model_settings['DEST_CHOICE_COLUMN_NAME'], - estimator=estimator) + trace_choice_name=model_settings["DEST_CHOICE_COLUMN_NAME"], + estimator=estimator, + ) if not want_logsums: # for consistency, always return a dataframe with canonical column name assert isinstance(choices, pd.Series) - choices = choices.to_frame('choice') + choices = choices.to_frame("choice") assert isinstance(choices, pd.DataFrame) @@ -541,16 +607,18 @@ def run_location_simulate( def run_location_choice( - persons_merged_df, - network_los, - shadow_price_calculator, - want_logsums, - want_sample_table, - estimator, - model_settings, - chunk_size, chunk_tag, - trace_hh_id, trace_label - ): + persons_merged_df, + network_los, + shadow_price_calculator, + want_logsums, + want_sample_table, + estimator, + model_settings, + chunk_size, + chunk_tag, + trace_hh_id, + trace_label, +): """ Run the three-part location choice algorithm to generate a location choice for each chooser @@ -580,74 +648,89 @@ def run_location_choice( logsums optional & only returned if DEST_CHOICE_LOGSUM_COLUMN_NAME specified in model_settings """ - chooser_segment_column = model_settings['CHOOSER_SEGMENT_COLUMN_NAME'] + chooser_segment_column = model_settings["CHOOSER_SEGMENT_COLUMN_NAME"] # maps segment names to compact (integer) ids - segment_ids = model_settings['SEGMENT_IDS'] + segment_ids = model_settings["SEGMENT_IDS"] choices_list = [] sample_list = [] for segment_name, segment_id in segment_ids.items(): - choosers = persons_merged_df[persons_merged_df[chooser_segment_column] == segment_id] + choosers = persons_merged_df[ + persons_merged_df[chooser_segment_column] == segment_id + ] # size_term and shadow price adjustment - one row per zone dest_size_terms = shadow_price_calculator.dest_size_terms(segment_name) - assert dest_size_terms.index.is_monotonic_increasing, \ - f"shadow_price_calculator.dest_size_terms({segment_name}) not monotonic_increasing" + assert ( + dest_size_terms.index.is_monotonic_increasing + ), f"shadow_price_calculator.dest_size_terms({segment_name}) not monotonic_increasing" if choosers.shape[0] == 0: logger.info(f"{trace_label} skipping segment {segment_name}: no choosers") continue # - location_sample - location_sample_df = \ - run_location_sample( - segment_name, - choosers, - network_los, - dest_size_terms, - estimator, - model_settings, - chunk_size, - chunk_tag, # run_location_sample will add appropriate suffix for sample or presample - trace_label=tracing.extend_trace_label(trace_label, 'sample.%s' % segment_name)) + location_sample_df = run_location_sample( + segment_name, + choosers, + network_los, + dest_size_terms, + estimator, + model_settings, + chunk_size, + chunk_tag, # run_location_sample will add appropriate suffix for sample or presample + trace_label=tracing.extend_trace_label( + trace_label, "sample.%s" % segment_name + ), + ) # - location_logsums - location_sample_df = \ - run_location_logsums( - segment_name, - choosers, - network_los, - location_sample_df, - model_settings, - chunk_size, chunk_tag=f'{chunk_tag}.logsums', - trace_label=tracing.extend_trace_label(trace_label, 'logsums.%s' % segment_name)) + location_sample_df = run_location_logsums( + segment_name, + choosers, + network_los, + location_sample_df, + model_settings, + chunk_size, + chunk_tag=f"{chunk_tag}.logsums", + trace_label=tracing.extend_trace_label( + trace_label, "logsums.%s" % segment_name + ), + ) # - location_simulate - choices_df = \ - run_location_simulate( - segment_name, - choosers, - location_sample_df, - network_los, - dest_size_terms, - want_logsums, - estimator, - model_settings, - chunk_size, chunk_tag=f'{chunk_tag}.simulate', - trace_label=tracing.extend_trace_label(trace_label, 'simulate.%s' % segment_name)) + choices_df = run_location_simulate( + segment_name, + choosers, + location_sample_df, + network_los, + dest_size_terms, + want_logsums, + estimator, + model_settings, + chunk_size, + chunk_tag=f"{chunk_tag}.simulate", + trace_label=tracing.extend_trace_label( + trace_label, "simulate.%s" % segment_name + ), + ) if estimator: if trace_hh_id: - estimation_trace_label = \ - tracing.extend_trace_label(trace_label, f'estimation.{segment_name}.modeled_choices') + estimation_trace_label = tracing.extend_trace_label( + trace_label, f"estimation.{segment_name}.modeled_choices" + ) tracing.trace_df(choices_df, label=estimation_trace_label) estimator.write_choices(choices_df.choice) - choices_df.choice = estimator.get_survey_values(choices_df.choice, 'persons', - column_names=model_settings['DEST_CHOICE_COLUMN_NAME']) + choices_df.choice = estimator.get_survey_values( + choices_df.choice, + "persons", + column_names=model_settings["DEST_CHOICE_COLUMN_NAME"], + ) estimator.write_override_choices(choices_df.choice) if want_logsums: @@ -659,31 +742,38 @@ def run_location_choice( # merge mode_choice_logsum for the overridden location # alt_logsums columns: ['person_id', 'choice', 'logsum'] - alt_dest_col = model_settings['ALT_DEST_COL_NAME'] - alt_logsums = \ - location_sample_df[[alt_dest_col, ALT_LOGSUM]]\ - .rename(columns={alt_dest_col: 'choice', ALT_LOGSUM: 'logsum'})\ + alt_dest_col = model_settings["ALT_DEST_COL_NAME"] + alt_logsums = ( + location_sample_df[[alt_dest_col, ALT_LOGSUM]] + .rename(columns={alt_dest_col: "choice", ALT_LOGSUM: "logsum"}) .reset_index() + ) # choices_df columns: ['person_id', 'choice'] - choices_df = choices_df[['choice']].reset_index() + choices_df = choices_df[["choice"]].reset_index() # choices_df columns: ['person_id', 'choice', 'logsum'] - choices_df = pd.merge(choices_df, alt_logsums, how='left').set_index('person_id') + choices_df = pd.merge(choices_df, alt_logsums, how="left").set_index( + "person_id" + ) - logger.debug(f"{trace_label} segment {segment_name} estimation: override logsums") + logger.debug( + f"{trace_label} segment {segment_name} estimation: override logsums" + ) if trace_hh_id: - estimation_trace_label = \ - tracing.extend_trace_label(trace_label, f'estimation.{segment_name}.survey_choices') + estimation_trace_label = tracing.extend_trace_label( + trace_label, f"estimation.{segment_name}.survey_choices" + ) tracing.trace_df(choices_df, estimation_trace_label) choices_list.append(choices_df) if want_sample_table: # FIXME - sample_table - location_sample_df.set_index(model_settings['ALT_DEST_COL_NAME'], - append=True, inplace=True) + location_sample_df.set_index( + model_settings["ALT_DEST_COL_NAME"], append=True, inplace=True + ) sample_list.append(location_sample_df) else: # del this so we dont hold active reference to it while run_location_sample is creating its replacement @@ -694,7 +784,7 @@ def run_location_choice( else: # this will only happen with small samples (e.g. singleton) with no (e.g.) school segs logger.warning("%s no choices", trace_label) - choices_df = pd.DataFrame(columns=['choice', 'logsum']) + choices_df = pd.DataFrame(columns=["choice", "logsum"]) if len(sample_list) > 0: save_sample_df = pd.concat(sample_list) @@ -706,12 +796,17 @@ def run_location_choice( def iterate_location_choice( - model_settings, - persons_merged, persons, households, - network_los, - estimator, - chunk_size, trace_hh_id, locutor, - trace_label): + model_settings, + persons_merged, + persons, + households, + network_los, + estimator, + chunk_size, + trace_hh_id, + locutor, + trace_label, +): """ iterate run_location_choice updating shadow pricing until convergence criteria satisfied or max_iterations reached. @@ -740,25 +835,31 @@ def iterate_location_choice( chunk_tag = trace_label # boolean to filter out persons not needing location modeling (e.g. is_worker, is_student) - chooser_filter_column = model_settings['CHOOSER_FILTER_COLUMN_NAME'] + chooser_filter_column = model_settings["CHOOSER_FILTER_COLUMN_NAME"] - dest_choice_column_name = model_settings['DEST_CHOICE_COLUMN_NAME'] - logsum_column_name = model_settings.get('DEST_CHOICE_LOGSUM_COLUMN_NAME') + dest_choice_column_name = model_settings["DEST_CHOICE_COLUMN_NAME"] + logsum_column_name = model_settings.get("DEST_CHOICE_LOGSUM_COLUMN_NAME") - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) persons_merged_df = persons_merged.to_frame() persons_merged_df = persons_merged_df[persons_merged[chooser_filter_column]] - persons_merged_df.sort_index(inplace=True) # interaction_sample expects chooser index to be monotonic increasing + persons_merged_df.sort_index( + inplace=True + ) # interaction_sample expects chooser index to be monotonic increasing # chooser segmentation allows different sets coefficients for e.g. different income_segments or tour_types - chooser_segment_column = model_settings['CHOOSER_SEGMENT_COLUMN_NAME'] + chooser_segment_column = model_settings["CHOOSER_SEGMENT_COLUMN_NAME"] - assert chooser_segment_column in persons_merged_df, \ - f"CHOOSER_SEGMENT_COLUMN '{chooser_segment_column}' not in persons_merged table." + assert ( + chooser_segment_column in persons_merged_df + ), f"CHOOSER_SEGMENT_COLUMN '{chooser_segment_column}' not in persons_merged table." spc = shadow_pricing.load_shadow_price_calculator(model_settings) max_iterations = spc.max_iterations @@ -779,31 +880,42 @@ def iterate_location_choice( want_sample_table=want_sample_table, estimator=estimator, model_settings=model_settings, - chunk_size=chunk_size, chunk_tag=chunk_tag, + chunk_size=chunk_size, + chunk_tag=chunk_tag, trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, 'i%s' % iteration)) + trace_label=tracing.extend_trace_label(trace_label, "i%s" % iteration), + ) # choices_df is a pandas DataFrame with columns 'choice' and (optionally) 'logsum' if choices_df is None: break spc.set_choices( - choices=choices_df['choice'], - segment_ids=persons_merged_df[chooser_segment_column].reindex(choices_df.index)) + choices=choices_df["choice"], + segment_ids=persons_merged_df[chooser_segment_column].reindex( + choices_df.index + ), + ) if locutor: spc.write_trace_files(iteration) if spc.use_shadow_pricing and spc.check_fit(iteration): - logging.info("%s converged after iteration %s" % (trace_label, iteration,)) + logging.info( + "%s converged after iteration %s" + % ( + trace_label, + iteration, + ) + ) break # - shadow price table if locutor: - if spc.use_shadow_pricing and 'SHADOW_PRICE_TABLE' in model_settings: - inject.add_table(model_settings['SHADOW_PRICE_TABLE'], spc.shadow_prices) - if 'MODELED_SIZE_TABLE' in model_settings: - inject.add_table(model_settings['MODELED_SIZE_TABLE'], spc.modeled_size) + if spc.use_shadow_pricing and "SHADOW_PRICE_TABLE" in model_settings: + inject.add_table(model_settings["SHADOW_PRICE_TABLE"], spc.shadow_prices) + if "MODELED_SIZE_TABLE" in model_settings: + inject.add_table(model_settings["MODELED_SIZE_TABLE"], spc.modeled_size) persons_df = persons.to_frame() @@ -812,86 +924,98 @@ def iterate_location_choice( # so we backfill the empty choices with -1 to code as no school location # names for location choice and (optional) logsums columns NO_DEST_ZONE = -1 - persons_df[dest_choice_column_name] = \ - choices_df['choice'].reindex(persons_df.index).fillna(NO_DEST_ZONE).astype(int) + persons_df[dest_choice_column_name] = ( + choices_df["choice"].reindex(persons_df.index).fillna(NO_DEST_ZONE).astype(int) + ) # add the dest_choice_logsum column to persons dataframe if logsum_column_name: - persons_df[logsum_column_name] = \ - choices_df['logsum'].reindex(persons_df.index).astype('float') + persons_df[logsum_column_name] = ( + choices_df["logsum"].reindex(persons_df.index).astype("float") + ) if save_sample_df is not None: # might be None for tiny samples even if sample_table_name was specified assert len(save_sample_df.index.get_level_values(0).unique()) == len(choices_df) # lest they try to put school and workplace samples into the same table if pipeline.is_table(sample_table_name): - raise RuntimeError("dest choice sample table %s already exists" % sample_table_name) + raise RuntimeError( + "dest choice sample table %s already exists" % sample_table_name + ) pipeline.extend_table(sample_table_name, save_sample_df) # - annotate persons table - if 'annotate_persons' in model_settings: + if "annotate_persons" in model_settings: expressions.assign_columns( df=persons_df, - model_settings=model_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=model_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", persons_df) if trace_hh_id: - tracing.trace_df(persons_df, - label=trace_label, - warn_if_empty=True) + tracing.trace_df(persons_df, label=trace_label, warn_if_empty=True) # - annotate households table - if 'annotate_households' in model_settings: + if "annotate_households" in model_settings: households_df = households.to_frame() expressions.assign_columns( df=households_df, - model_settings=model_settings.get('annotate_households'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_households')) + model_settings=model_settings.get("annotate_households"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_households"), + ) pipeline.replace_table("households", households_df) if trace_hh_id: - tracing.trace_df(households_df, - label=trace_label, - warn_if_empty=True) + tracing.trace_df(households_df, label=trace_label, warn_if_empty=True) if logsum_column_name: - tracing.print_summary(logsum_column_name, choices_df['logsum'], value_counts=True) + tracing.print_summary( + logsum_column_name, choices_df["logsum"], value_counts=True + ) return persons_df @inject.step() def workplace_location( - persons_merged, persons, households, - network_los, - chunk_size, trace_hh_id, locutor): + persons_merged, persons, households, network_los, chunk_size, trace_hh_id, locutor +): """ workplace location choice model iterate_location_choice adds location choice column and annotations to persons table """ - trace_label = 'workplace_location' - model_settings = config.read_model_settings('workplace_location.yaml') + trace_label = "workplace_location" + model_settings = config.read_model_settings("workplace_location.yaml") - estimator = estimation.manager.begin_estimation('workplace_location') + estimator = estimation.manager.begin_estimation("workplace_location") if estimator: - write_estimation_specs(estimator, model_settings, 'workplace_location.yaml') + write_estimation_specs(estimator, model_settings, "workplace_location.yaml") # FIXME - debugging code to test multiprocessing failure handling # process_name = multiprocessing.current_process().name # if multiprocessing.current_process().name =='mp_households_0': # raise RuntimeError(f"fake fail {process_name}") + # disable locutor for benchmarking + if config.setting("benchmarking", False): + locutor = False + iterate_location_choice( model_settings, - persons_merged, persons, households, + persons_merged, + persons, + households, network_los, estimator, - chunk_size, trace_hh_id, locutor, trace_label + chunk_size, + trace_hh_id, + locutor, + trace_label, ) if estimator: @@ -900,29 +1024,36 @@ def workplace_location( @inject.step() def school_location( - persons_merged, persons, households, - network_los, - chunk_size, trace_hh_id, locutor - ): + persons_merged, persons, households, network_los, chunk_size, trace_hh_id, locutor +): """ School location choice model iterate_location_choice adds location choice column and annotations to persons table """ - trace_label = 'school_location' - model_settings = config.read_model_settings('school_location.yaml') + trace_label = "school_location" + model_settings = config.read_model_settings("school_location.yaml") - estimator = estimation.manager.begin_estimation('school_location') + estimator = estimation.manager.begin_estimation("school_location") if estimator: - write_estimation_specs(estimator, model_settings, 'school_location.yaml') + write_estimation_specs(estimator, model_settings, "school_location.yaml") + + # disable locutor for benchmarking + if config.setting("benchmarking", False): + locutor = False iterate_location_choice( model_settings, - persons_merged, persons, households, + persons_merged, + persons, + households, network_los, estimator, - chunk_size, trace_hh_id, locutor, trace_label + chunk_size, + trace_hh_id, + locutor, + trace_label, ) if estimator: diff --git a/activitysim/abm/models/mandatory_scheduling.py b/activitysim/abm/models/mandatory_scheduling.py index 34f25cf778..6a9618874d 100644 --- a/activitysim/abm/models/mandatory_scheduling.py +++ b/activitysim/abm/models/mandatory_scheduling.py @@ -4,45 +4,33 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline +from activitysim.core import config, expressions, inject, pipeline, simulate from activitysim.core import timetable as tt -from activitysim.core import expressions - -from activitysim.core.util import reindex +from activitysim.core import tracing +from activitysim.core.util import assign_in_place, reindex from .util import estimation from .util import vectorize_tour_scheduling as vts from .util.tour_scheduling import run_tour_scheduling -from activitysim.core.util import assign_in_place - - logger = logging.getLogger(__name__) DUMP = False @inject.step() -def mandatory_tour_scheduling(tours, - persons_merged, - tdd_alts, - chunk_size, - trace_hh_id): +def mandatory_tour_scheduling(tours, persons_merged, tdd_alts, chunk_size, trace_hh_id): """ This model predicts the departure time and duration of each activity for mandatory tours """ - model_name = 'mandatory_tour_scheduling' + model_name = "mandatory_tour_scheduling" trace_label = model_name persons_merged = persons_merged.to_frame() tours = tours.to_frame() - mandatory_tours = tours[tours.tour_category == 'mandatory'] + mandatory_tours = tours[tours.tour_category == "mandatory"] # - if no mandatory_tours if mandatory_tours.shape[0] == 0: @@ -56,31 +44,44 @@ def mandatory_tour_scheduling(tours, # (i.e. there are different logsum coefficients for work, school, univ primary_purposes # for simplicity managing these different segmentation schemes, # we conflate them by segmenting tour processing to align with primary_purpose - tour_segment_col = 'mandatory_tour_seg' + tour_segment_col = "mandatory_tour_seg" assert tour_segment_col not in mandatory_tours - is_university_tour = \ - (mandatory_tours.tour_type == 'school') & \ - reindex(persons_merged.is_university, mandatory_tours.person_id) - mandatory_tours[tour_segment_col] = \ - mandatory_tours.tour_type.where(~is_university_tour, 'univ') - - choices = run_tour_scheduling(model_name, mandatory_tours, persons_merged, tdd_alts, - tour_segment_col, chunk_size, trace_hh_id) + is_university_tour = (mandatory_tours.tour_type == "school") & reindex( + persons_merged.is_university, mandatory_tours.person_id + ) + mandatory_tours[tour_segment_col] = mandatory_tours.tour_type.where( + ~is_university_tour, "univ" + ) + + choices = run_tour_scheduling( + model_name, + mandatory_tours, + persons_merged, + tdd_alts, + tour_segment_col, + chunk_size, + trace_hh_id, + ) assign_in_place(tours, choices) pipeline.replace_table("tours", tours) # updated df for tracing - mandatory_tours = tours[tours.tour_category == 'mandatory'] + mandatory_tours = tours[tours.tour_category == "mandatory"] - tracing.dump_df(DUMP, - tt.tour_map(persons_merged, mandatory_tours, tdd_alts), - trace_label, 'tour_map') + tracing.dump_df( + DUMP, + tt.tour_map(persons_merged, mandatory_tours, tdd_alts), + trace_label, + "tour_map", + ) if trace_hh_id: - tracing.trace_df(mandatory_tours, - label=trace_label, - slicer='person_id', - index_label='tour', - columns=None, - warn_if_empty=True) + tracing.trace_df( + mandatory_tours, + label=trace_label, + slicer="person_id", + index_label="tour", + columns=None, + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/mandatory_tour_frequency.py b/activitysim/abm/models/mandatory_tour_frequency.py index bbe1df599e..727a591f0c 100644 --- a/activitysim/abm/models/mandatory_tour_frequency.py +++ b/activitysim/abm/models/mandatory_tour_frequency.py @@ -4,15 +4,10 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing -from .util.tour_frequency import process_mandatory_tours from .util import estimation +from .util.tour_frequency import process_mandatory_tours logger = logging.getLogger(__name__) @@ -20,40 +15,39 @@ def add_null_results(trace_label, mandatory_tour_frequency_settings): logger.info("Skipping %s: add_null_results", trace_label) - persons = inject.get_table('persons').to_frame() - persons['mandatory_tour_frequency'] = '' + persons = inject.get_table("persons").to_frame() + persons["mandatory_tour_frequency"] = "" tours = pd.DataFrame() - tours['tour_category'] = None - tours['tour_type'] = None - tours['person_id'] = None - tours.index.name = 'tour_id' + tours["tour_category"] = None + tours["tour_type"] = None + tours["person_id"] = None + tours.index.name = "tour_id" pipeline.replace_table("tours", tours) expressions.assign_columns( df=persons, - model_settings=mandatory_tour_frequency_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=mandatory_tour_frequency_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", persons) @inject.step() -def mandatory_tour_frequency(persons_merged, - chunk_size, - trace_hh_id): +def mandatory_tour_frequency(persons_merged, chunk_size, trace_hh_id): """ This model predicts the frequency of making mandatory trips (see the alternatives above) - these trips include work and school in some combination. """ - trace_label = 'mandatory_tour_frequency' - model_settings_file_name = 'mandatory_tour_frequency.yaml' + trace_label = "mandatory_tour_frequency" + model_settings_file_name = "mandatory_tour_frequency.yaml" model_settings = config.read_model_settings(model_settings_file_name) choosers = persons_merged.to_frame() # filter based on results of CDAP - choosers = choosers[choosers.cdap_activity == 'M'] + choosers = choosers[choosers.cdap_activity == "M"] logger.info("Running mandatory_tour_frequency with %d persons", len(choosers)) # - if no mandatory tours @@ -62,7 +56,7 @@ def mandatory_tour_frequency(persons_merged, return # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_dict = {} @@ -71,11 +65,12 @@ def mandatory_tour_frequency(persons_merged, df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) - estimator = estimation.manager.begin_estimation('mandatory_tour_frequency') + estimator = estimation.manager.begin_estimation("mandatory_tour_frequency") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -95,15 +90,18 @@ def mandatory_tour_frequency(persons_merged, locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='mandatory_tour_frequency', - estimator=estimator) + trace_choice_name="mandatory_tour_frequency", + estimator=estimator, + ) # convert indexes to alternative names choices = pd.Series(model_spec.columns[choices.values], index=choices.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'mandatory_tour_frequency') + choices = estimator.get_survey_values( + choices, "persons", "mandatory_tour_frequency" + ) estimator.write_override_choices(choices) estimator.end_estimation() @@ -113,39 +111,46 @@ def mandatory_tour_frequency(persons_merged, alternatives into an actual dataframe of tours. Ending format is the same as got non_mandatory_tours except trip types are "work" and "school" """ - alternatives = simulate.read_model_alts('mandatory_tour_frequency_alternatives.csv', set_index='alt') - choosers['mandatory_tour_frequency'] = choices.reindex(choosers.index) + alternatives = simulate.read_model_alts( + "mandatory_tour_frequency_alternatives.csv", set_index="alt" + ) + choosers["mandatory_tour_frequency"] = choices.reindex(choosers.index) mandatory_tours = process_mandatory_tours( - persons=choosers, - mandatory_tour_frequency_alts=alternatives + persons=choosers, mandatory_tour_frequency_alts=alternatives ) tours = pipeline.extend_table("tours", mandatory_tours) - tracing.register_traceable_table('tours', mandatory_tours) - pipeline.get_rn_generator().add_channel('tours', mandatory_tours) + tracing.register_traceable_table("tours", mandatory_tours) + pipeline.get_rn_generator().add_channel("tours", mandatory_tours) # - annotate persons - persons = inject.get_table('persons').to_frame() + persons = inject.get_table("persons").to_frame() # need to reindex as we only handled persons with cdap_activity == 'M' - persons['mandatory_tour_frequency'] = choices.reindex(persons.index).fillna('').astype(str) + persons["mandatory_tour_frequency"] = ( + choices.reindex(persons.index).fillna("").astype(str) + ) expressions.assign_columns( df=persons, - model_settings=model_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=model_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", persons) - tracing.print_summary('mandatory_tour_frequency', persons.mandatory_tour_frequency, - value_counts=True) + tracing.print_summary( + "mandatory_tour_frequency", persons.mandatory_tour_frequency, value_counts=True + ) if trace_hh_id: - tracing.trace_df(mandatory_tours, - label="mandatory_tour_frequency.mandatory_tours", - warn_if_empty=True) - - tracing.trace_df(persons, - label="mandatory_tour_frequency.persons", - warn_if_empty=True) + tracing.trace_df( + mandatory_tours, + label="mandatory_tour_frequency.mandatory_tours", + warn_if_empty=True, + ) + + tracing.trace_df( + persons, label="mandatory_tour_frequency.persons", warn_if_empty=True + ) diff --git a/activitysim/abm/models/non_mandatory_destination.py b/activitysim/abm/models/non_mandatory_destination.py index ca3493dd21..322d0ed325 100644 --- a/activitysim/abm/models/non_mandatory_destination.py +++ b/activitysim/abm/models/non_mandatory_destination.py @@ -4,28 +4,18 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate - +from activitysim.core import config, inject, pipeline, simulate, tracing from activitysim.core.util import assign_in_place -from .util import tour_destination -from .util import estimation - +from .util import estimation, tour_destination logger = logging.getLogger(__name__) @inject.step() def non_mandatory_tour_destination( - tours, - persons_merged, - network_los, - chunk_size, - trace_hh_id): + tours, persons_merged, network_los, chunk_size, trace_hh_id +): """ Given the tour generation from the above, each tour needs to have a @@ -33,36 +23,43 @@ def non_mandatory_tour_destination( person that's making the tour) """ - trace_label = 'non_mandatory_tour_destination' - model_settings_file_name = 'non_mandatory_tour_destination.yaml' + trace_label = "non_mandatory_tour_destination" + model_settings_file_name = "non_mandatory_tour_destination.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('DEST_CHOICE_LOGSUM_COLUMN_NAME') + logsum_column_name = model_settings.get("DEST_CHOICE_LOGSUM_COLUMN_NAME") want_logsums = logsum_column_name is not None - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) tours = tours.to_frame() persons_merged = persons_merged.to_frame() # choosers are tours - in a sense tours are choosing their destination - non_mandatory_tours = tours[tours.tour_category == 'non_mandatory'] + non_mandatory_tours = tours[tours.tour_category == "non_mandatory"] # - if no mandatory_tours if non_mandatory_tours.shape[0] == 0: tracing.no_results(trace_label) return - estimator = estimation.manager.begin_estimation('non_mandatory_tour_destination') + estimator = estimation.manager.begin_estimation("non_mandatory_tour_destination") if estimator: estimator.write_coefficients(model_settings=model_settings) # estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SPEC") estimator.set_alt_id(model_settings["ALT_DEST_COL_NAME"]) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) estimator.write_model_settings(model_settings, model_settings_file_name) choices_df, save_sample_df = tour_destination.run_tour_destination( @@ -73,20 +70,25 @@ def non_mandatory_tour_destination( model_settings, network_los, estimator, - chunk_size, trace_hh_id, trace_label) + chunk_size, + trace_hh_id, + trace_label, + ) if estimator: estimator.write_choices(choices_df.choice) - choices_df.choice = estimator.get_survey_values(choices_df.choice, 'tours', 'destination') + choices_df.choice = estimator.get_survey_values( + choices_df.choice, "tours", "destination" + ) estimator.write_override_choices(choices_df.choice) estimator.end_estimation() - non_mandatory_tours['destination'] = choices_df.choice + non_mandatory_tours["destination"] = choices_df.choice - assign_in_place(tours, non_mandatory_tours[['destination']]) + assign_in_place(tours, non_mandatory_tours[["destination"]]) if want_logsums: - non_mandatory_tours[logsum_column_name] = choices_df['logsum'] + non_mandatory_tours[logsum_column_name] = choices_df["logsum"] assign_in_place(tours, non_mandatory_tours[[logsum_column_name]]) pipeline.replace_table("tours", tours) @@ -97,9 +99,11 @@ def non_mandatory_tour_destination( pipeline.extend_table(sample_table_name, save_sample_df) if trace_hh_id: - tracing.trace_df(tours[tours.tour_category == 'non_mandatory'], - label="non_mandatory_tour_destination", - slicer='person_id', - index_label='tour', - columns=None, - warn_if_empty=True) + tracing.trace_df( + tours[tours.tour_category == "non_mandatory"], + label="non_mandatory_tour_destination", + slicer="person_id", + index_label="tour", + columns=None, + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/non_mandatory_scheduling.py b/activitysim/abm/models/non_mandatory_scheduling.py index d8f32d61ef..b827f18536 100644 --- a/activitysim/abm/models/non_mandatory_scheduling.py +++ b/activitysim/abm/models/non_mandatory_scheduling.py @@ -4,42 +4,34 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline +from activitysim.core import config, expressions, inject, pipeline, simulate from activitysim.core import timetable as tt -from activitysim.core import simulate -from activitysim.core import expressions +from activitysim.core import tracing +from activitysim.core.util import assign_in_place from .util import estimation from .util.tour_scheduling import run_tour_scheduling - from .util.vectorize_tour_scheduling import vectorize_tour_scheduling -from activitysim.core.util import assign_in_place - logger = logging.getLogger(__name__) DUMP = False @inject.step() -def non_mandatory_tour_scheduling(tours, - persons_merged, - tdd_alts, - chunk_size, - trace_hh_id): +def non_mandatory_tour_scheduling( + tours, persons_merged, tdd_alts, chunk_size, trace_hh_id +): """ This model predicts the departure time and duration of each activity for non-mandatory tours """ - model_name = 'non_mandatory_tour_scheduling' + model_name = "non_mandatory_tour_scheduling" trace_label = model_name persons_merged = persons_merged.to_frame() tours = tours.to_frame() - non_mandatory_tours = tours[tours.tour_category == 'non_mandatory'] + non_mandatory_tours = tours[tours.tour_category == "non_mandatory"] # - if no mandatory_tours if non_mandatory_tours.shape[0] == 0: @@ -48,23 +40,35 @@ def non_mandatory_tour_scheduling(tours, tour_segment_col = None - choices = run_tour_scheduling(model_name, non_mandatory_tours, persons_merged, tdd_alts, - tour_segment_col, chunk_size, trace_hh_id) + choices = run_tour_scheduling( + model_name, + non_mandatory_tours, + persons_merged, + tdd_alts, + tour_segment_col, + chunk_size, + trace_hh_id, + ) assign_in_place(tours, choices) pipeline.replace_table("tours", tours) # updated df for tracing - non_mandatory_tours = tours[tours.tour_category == 'non_mandatory'] + non_mandatory_tours = tours[tours.tour_category == "non_mandatory"] - tracing.dump_df(DUMP, - tt.tour_map(persons_merged, non_mandatory_tours, tdd_alts), - trace_label, 'tour_map') + tracing.dump_df( + DUMP, + tt.tour_map(persons_merged, non_mandatory_tours, tdd_alts), + trace_label, + "tour_map", + ) if trace_hh_id: - tracing.trace_df(non_mandatory_tours, - label=trace_label, - slicer='person_id', - index_label='tour_id', - columns=None, - warn_if_empty=True) + tracing.trace_df( + non_mandatory_tours, + label=trace_label, + slicer="person_id", + index_label="tour_id", + columns=None, + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/non_mandatory_tour_frequency.py b/activitysim/abm/models/non_mandatory_tour_frequency.py index 814bec97e6..813bc7de63 100644 --- a/activitysim/abm/models/non_mandatory_tour_frequency.py +++ b/activitysim/abm/models/non_mandatory_tour_frequency.py @@ -5,18 +5,18 @@ import numpy as np import pandas as pd +from activitysim.core import ( + config, + expressions, + inject, + logit, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_simulate import interaction_simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import simulate -from activitysim.core import logit -from activitysim.core import expressions - from .util import estimation - from .util.overlap import person_max_window from .util.tour_frequency import process_non_mandatory_tours @@ -24,12 +24,12 @@ def extension_probs(): - f = config.config_file_path('non_mandatory_tour_frequency_extension_probs.csv') - df = pd.read_csv(f, comment='#') + f = config.config_file_path("non_mandatory_tour_frequency_extension_probs.csv") + df = pd.read_csv(f, comment="#") # convert cum probs to individual probs - df['2_tours'] = df['2_tours'] - df['1_tours'] - df['1_tours'] = df['1_tours'] - df['0_tours'] + df["2_tours"] = df["2_tours"] - df["1_tours"] + df["1_tours"] = df["1_tours"] - df["0_tours"] return df @@ -70,9 +70,9 @@ def extend_tour_counts(persons, tour_counts, alternatives, trace_hh_id, trace_la assert tour_counts.index.name == persons.index.name - PROBABILITY_COLUMNS = ['0_tours', '1_tours', '2_tours'] - JOIN_COLUMNS = ['ptype', 'has_mandatory_tour', 'has_joint_tour'] - TOUR_TYPE_COL = 'nonmandatory_tour_type' + PROBABILITY_COLUMNS = ["0_tours", "1_tours", "2_tours"] + JOIN_COLUMNS = ["ptype", "has_mandatory_tour", "has_joint_tour"] + TOUR_TYPE_COL = "nonmandatory_tour_type" probs_spec = extension_probs() persons = persons[JOIN_COLUMNS] @@ -91,8 +91,9 @@ def extend_tour_counts(persons, tour_counts, alternatives, trace_hh_id, trace_la tour_type_trace_label = tracing.extend_trace_label(trace_label, tour_type) # - only extend tour if frequency is max possible frequency for this tour type - tour_type_is_maxed = \ - extend_tour_counts & (tour_counts[tour_type] == alternatives[tour_type].max()) + tour_type_is_maxed = extend_tour_counts & ( + tour_counts[tour_type] == alternatives[tour_type].max() + ) maxed_tour_count_idx = tour_counts.index[tour_type_is_maxed] if len(maxed_tour_count_idx) == 0: @@ -103,7 +104,7 @@ def extend_tour_counts(persons, tour_counts, alternatives, trace_hh_id, trace_la persons.loc[maxed_tour_count_idx], probs_spec[probs_spec[TOUR_TYPE_COL] == i_tour_type], on=JOIN_COLUMNS, - how='left' + how="left", ).set_index(maxed_tour_count_idx) assert choosers.index.name == tour_counts.index.name @@ -111,27 +112,30 @@ def extend_tour_counts(persons, tour_counts, alternatives, trace_hh_id, trace_la choices, rands = logit.make_choices( choosers[PROBABILITY_COLUMNS], trace_label=tour_type_trace_label, - trace_choosers=choosers) + trace_choosers=choosers, + ) # - extend tour_count (0-based prob alternative choice equals magnitude of extension) if choices.any(): tour_counts.loc[choices.index, tour_type] += choices if have_trace_targets: - tracing.trace_df(choices, - tracing.extend_trace_label(tour_type_trace_label, 'choices'), - columns=[None, 'choice']) - tracing.trace_df(rands, - tracing.extend_trace_label(tour_type_trace_label, 'rands'), - columns=[None, 'rand']) + tracing.trace_df( + choices, + tracing.extend_trace_label(tour_type_trace_label, "choices"), + columns=[None, "choice"], + ) + tracing.trace_df( + rands, + tracing.extend_trace_label(tour_type_trace_label, "rands"), + columns=[None, "rand"], + ) return tour_counts @inject.step() -def non_mandatory_tour_frequency(persons, persons_merged, - chunk_size, - trace_hh_id): +def non_mandatory_tour_frequency(persons, persons_merged, chunk_size, trace_hh_id): """ This model predicts the frequency of making non-mandatory trips (alternatives for this model come from a separate csv file which is @@ -139,68 +143,76 @@ def non_mandatory_tour_frequency(persons, persons_merged, othdiscr, eatout, and social trips in various combination. """ - trace_label = 'non_mandatory_tour_frequency' - model_settings_file_name = 'non_mandatory_tour_frequency.yaml' + trace_label = "non_mandatory_tour_frequency" + model_settings_file_name = "non_mandatory_tour_frequency.yaml" model_settings = config.read_model_settings(model_settings_file_name) # FIXME kind of tacky both that we know to add this here and del it below # 'tot_tours' is used in model_spec expressions - alternatives = simulate.read_model_alts('non_mandatory_tour_frequency_alternatives.csv', set_index=None) - alternatives['tot_tours'] = alternatives.sum(axis=1) + alternatives = simulate.read_model_alts( + "non_mandatory_tour_frequency_alternatives.csv", set_index=None + ) + alternatives["tot_tours"] = alternatives.sum(axis=1) # filter based on results of CDAP choosers = persons_merged.to_frame() - choosers = choosers[choosers.cdap_activity.isin(['M', 'N'])] + choosers = choosers[choosers.cdap_activity.isin(["M", "N"])] # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: - locals_dict = { - 'person_max_window': person_max_window - } + locals_dict = {"person_max_window": person_max_window} expressions.assign_columns( df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) logger.info("Running non_mandatory_tour_frequency with %d persons", len(choosers)) constants = config.get_model_constants(model_settings) - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) - spec_segments = model_settings.get('SPEC_SEGMENTS', {}) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) + spec_segments = model_settings.get("SPEC_SEGMENTS", {}) # segment by person type and pick the right spec for each person type choices_list = [] for segment_settings in spec_segments: - segment_name = segment_settings['NAME'] - ptype = segment_settings['PTYPE'] + segment_name = segment_settings["NAME"] + ptype = segment_settings["PTYPE"] # pick the spec column for the segment segment_spec = model_spec[[segment_name]] chooser_segment = choosers[choosers.ptype == ptype] - logger.info("Running segment '%s' of size %d", segment_name, len(chooser_segment)) + logger.info( + "Running segment '%s' of size %d", segment_name, len(chooser_segment) + ) if len(chooser_segment) == 0: # skip empty segments continue - estimator = \ - estimation.manager.begin_estimation(model_name=segment_name, bundle_name='non_mandatory_tour_frequency') + estimator = estimation.manager.begin_estimation( + model_name=segment_name, bundle_name="non_mandatory_tour_frequency" + ) coefficients_df = simulate.read_model_coefficients(segment_settings) - segment_spec = simulate.eval_coefficients(segment_spec, coefficients_df, estimator) + segment_spec = simulate.eval_coefficients( + segment_spec, coefficients_df, estimator + ) if estimator: estimator.write_spec(model_settings, bundle_directory=True) - estimator.write_model_settings(model_settings, model_settings_file_name, bundle_directory=True) + estimator.write_model_settings( + model_settings, model_settings_file_name, bundle_directory=True + ) # preserving coefficients file name makes bringing back updated coefficients more straightforward estimator.write_coefficients(coefficients_df, segment_settings) estimator.write_choosers(chooser_segment) @@ -211,16 +223,16 @@ def non_mandatory_tour_frequency(persons, persons_merged, # chooser index must be duplicated in column or it will be omitted from interaction_dataset # estimation requires that chooser_id is either in index or a column of interaction_dataset # so it can be reformatted (melted) and indexed by chooser_id and alt_id - assert chooser_segment.index.name == 'person_id' - assert 'person_id' not in chooser_segment.columns - chooser_segment['person_id'] = chooser_segment.index + assert chooser_segment.index.name == "person_id" + assert "person_id" not in chooser_segment.columns + chooser_segment["person_id"] = chooser_segment.index # FIXME set_alt_id - do we need this for interaction_simulate estimation bundle tables? - estimator.set_alt_id('alt_id') + estimator.set_alt_id("alt_id") estimator.set_chooser_id(chooser_segment.index.name) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_simulate( chooser_segment, @@ -229,19 +241,22 @@ def non_mandatory_tour_frequency(persons, persons_merged, log_alt_losers=log_alt_losers, locals_d=constants, chunk_size=chunk_size, - trace_label='non_mandatory_tour_frequency.%s' % segment_name, - trace_choice_name='non_mandatory_tour_frequency', - estimator=estimator) + trace_label="non_mandatory_tour_frequency.%s" % segment_name, + trace_choice_name="non_mandatory_tour_frequency", + estimator=estimator, + ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'non_mandatory_tour_frequency') + choices = estimator.get_survey_values( + choices, "persons", "non_mandatory_tour_frequency" + ) estimator.write_override_choices(choices) estimator.end_estimation() choices_list.append(choices) - del alternatives['tot_tours'] # del tot_tours column we added above + del alternatives["tot_tours"] # del tot_tours column we added above # The choice value 'non_mandatory_tour_frequency' assigned by interaction_simulate # is the index value of the chosen alternative in the alternatives table. @@ -252,8 +267,9 @@ def non_mandatory_tour_frequency(persons, persons_merged, # we expect there to be an alt with no tours - which we can use to backfill non-travelers no_tours_alt = (alternatives.sum(axis=1) == 0).index[0] # need to reindex as we only handled persons with cdap_activity in ['M', 'N'] - persons['non_mandatory_tour_frequency'] = \ + persons["non_mandatory_tour_frequency"] = ( choices.reindex(persons.index).fillna(no_tours_alt).astype(np.int8) + ) """ We have now generated non-mandatory tour frequencies, but they are attributes of the person table @@ -279,27 +295,41 @@ def non_mandatory_tour_frequency(persons, persons_merged, modeled_tour_counts.index = choices.index # assign person ids to the index # - extend_tour_counts - probabalistic - extended_tour_counts = \ - extend_tour_counts(choosers, modeled_tour_counts.copy(), alternatives, - trace_hh_id, tracing.extend_trace_label(trace_label, 'extend_tour_counts')) + extended_tour_counts = extend_tour_counts( + choosers, + modeled_tour_counts.copy(), + alternatives, + trace_hh_id, + tracing.extend_trace_label(trace_label, "extend_tour_counts"), + ) num_modeled_tours = modeled_tour_counts.sum().sum() num_extended_tours = extended_tour_counts.sum().sum() - logger.info("extend_tour_counts increased tour count by %s from %s to %s" % - (num_extended_tours - num_modeled_tours, num_modeled_tours, num_extended_tours)) + logger.info( + "extend_tour_counts increased tour count by %s from %s to %s" + % ( + num_extended_tours - num_modeled_tours, + num_modeled_tours, + num_extended_tours, + ) + ) """ create the non_mandatory tours based on extended_tour_counts """ if estimator: - override_tour_counts = \ - estimation.manager.get_survey_values(extended_tour_counts, - table_name='persons', - column_names=['_%s' % c for c in extended_tour_counts.columns]) - override_tour_counts = \ - override_tour_counts.rename(columns={('_%s' % c): c for c in extended_tour_counts.columns}) - logger.info("estimation get_survey_values override_tour_counts %s changed cells" % - (override_tour_counts != extended_tour_counts).sum().sum()) + override_tour_counts = estimation.manager.get_survey_values( + extended_tour_counts, + table_name="persons", + column_names=["_%s" % c for c in extended_tour_counts.columns], + ) + override_tour_counts = override_tour_counts.rename( + columns={("_%s" % c): c for c in extended_tour_counts.columns} + ) + logger.info( + "estimation get_survey_values override_tour_counts %s changed cells" + % (override_tour_counts != extended_tour_counts).sum().sum() + ) extended_tour_counts = override_tour_counts """ @@ -311,52 +341,68 @@ def non_mandatory_tour_frequency(persons, persons_merged, if estimator: # make sure they created the right tours - survey_tours = estimation.manager.get_survey_table('tours').sort_index() - non_mandatory_survey_tours = survey_tours[survey_tours.tour_category == 'non_mandatory'] + survey_tours = estimation.manager.get_survey_table("tours").sort_index() + non_mandatory_survey_tours = survey_tours[ + survey_tours.tour_category == "non_mandatory" + ] assert len(non_mandatory_survey_tours) == len(non_mandatory_tours) - assert non_mandatory_survey_tours.index.equals(non_mandatory_tours.sort_index().index) + assert non_mandatory_survey_tours.index.equals( + non_mandatory_tours.sort_index().index + ) # make sure they created tours with the expected tour_ids - columns = ['person_id', 'household_id', 'tour_type', 'tour_category'] - survey_tours = \ - estimation.manager.get_survey_values(non_mandatory_tours, - table_name='tours', - column_names=columns) + columns = ["person_id", "household_id", "tour_type", "tour_category"] + survey_tours = estimation.manager.get_survey_values( + non_mandatory_tours, table_name="tours", column_names=columns + ) - tours_differ = (non_mandatory_tours[columns] != survey_tours[columns]).any(axis=1) + tours_differ = (non_mandatory_tours[columns] != survey_tours[columns]).any( + axis=1 + ) if tours_differ.any(): print("tours_differ\n%s" % tours_differ) print("%s of %s tours differ" % (tours_differ.sum(), len(tours_differ))) print("differing survey_tours\n%s" % survey_tours[tours_differ]) - print("differing modeled_tours\n%s" % non_mandatory_tours[columns][tours_differ]) + print( + "differing modeled_tours\n%s" + % non_mandatory_tours[columns][tours_differ] + ) - assert(not tours_differ.any()) + assert not tours_differ.any() pipeline.extend_table("tours", non_mandatory_tours) - tracing.register_traceable_table('tours', non_mandatory_tours) - pipeline.get_rn_generator().add_channel('tours', non_mandatory_tours) + tracing.register_traceable_table("tours", non_mandatory_tours) + pipeline.get_rn_generator().add_channel("tours", non_mandatory_tours) expressions.assign_columns( df=persons, - model_settings=model_settings.get('annotate_persons'), - trace_label=trace_label) + model_settings=model_settings.get("annotate_persons"), + trace_label=trace_label, + ) pipeline.replace_table("persons", persons) - tracing.print_summary('non_mandatory_tour_frequency', - persons.non_mandatory_tour_frequency, value_counts=True) + tracing.print_summary( + "non_mandatory_tour_frequency", + persons.non_mandatory_tour_frequency, + value_counts=True, + ) if trace_hh_id: - tracing.trace_df(non_mandatory_tours, - label="non_mandatory_tour_frequency.non_mandatory_tours", - warn_if_empty=True) - - tracing.trace_df(choosers, - label="non_mandatory_tour_frequency.choosers", - warn_if_empty=True) - - tracing.trace_df(persons, - label="non_mandatory_tour_frequency.annotated_persons", - warn_if_empty=True) + tracing.trace_df( + non_mandatory_tours, + label="non_mandatory_tour_frequency.non_mandatory_tours", + warn_if_empty=True, + ) + + tracing.trace_df( + choosers, label="non_mandatory_tour_frequency.choosers", warn_if_empty=True + ) + + tracing.trace_df( + persons, + label="non_mandatory_tour_frequency.annotated_persons", + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/parking_location_choice.py b/activitysim/abm/models/parking_location_choice.py index 5c13969eed..bddbc65190 100644 --- a/activitysim/abm/models/parking_location_choice.py +++ b/activitysim/abm/models/parking_location_choice.py @@ -5,21 +5,21 @@ import numpy as np import pandas as pd -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import logit - -from activitysim.core import expressions +from activitysim.core import ( + config, + expressions, + inject, + logit, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_sample_simulate import interaction_sample_simulate -from activitysim.core.util import assign_in_place from activitysim.core.tracing import print_elapsed_time +from activitysim.core.util import assign_in_place from .util import estimation - logger = logging.getLogger(__name__) NO_DESTINATION = -1 @@ -50,19 +50,27 @@ def wrap_skims(model_settings): dict containing skims, keyed by canonical names relative to tour orientation """ - network_los = inject.get_injectable('network_los') + network_los = inject.get_injectable("network_los") skim_dict = network_los.get_default_skim_dict() - origin = model_settings['TRIP_ORIGIN'] - park_zone = model_settings['ALT_DEST_COL_NAME'] - destination = model_settings['TRIP_DESTINATION'] - time_period = model_settings['TRIP_DEPARTURE_PERIOD'] + origin = model_settings["TRIP_ORIGIN"] + park_zone = model_settings["ALT_DEST_COL_NAME"] + destination = model_settings["TRIP_DESTINATION"] + time_period = model_settings["TRIP_DEPARTURE_PERIOD"] skims = { - "odt_skims": skim_dict.wrap_3d(orig_key=origin, dest_key=destination, dim3_key=time_period), - "dot_skims": skim_dict.wrap_3d(orig_key=destination, dest_key=origin, dim3_key=time_period), - "opt_skims": skim_dict.wrap_3d(orig_key=origin, dest_key=park_zone, dim3_key=time_period), - "pdt_skims": skim_dict.wrap_3d(orig_key=park_zone, dest_key=destination, dim3_key=time_period), + "odt_skims": skim_dict.wrap_3d( + orig_key=origin, dest_key=destination, dim3_key=time_period + ), + "dot_skims": skim_dict.wrap_3d( + orig_key=destination, dest_key=origin, dim3_key=time_period + ), + "opt_skims": skim_dict.wrap_3d( + orig_key=origin, dest_key=park_zone, dim3_key=time_period + ), + "pdt_skims": skim_dict.wrap_3d( + orig_key=park_zone, dest_key=destination, dim3_key=time_period + ), "od_skims": skim_dict.wrap(origin, destination), "do_skims": skim_dict.wrap(destination, origin), "op_skims": skim_dict.wrap(origin, park_zone), @@ -86,13 +94,15 @@ def get_spec_for_segment(model_settings, spec_name, segment): def parking_destination_simulate( - segment_name, - trips, - destination_sample, - model_settings, - skims, - chunk_size, trace_hh_id, - trace_label): + segment_name, + trips, + destination_sample, + model_settings, + skims, + chunk_size, + trace_hh_id, + trace_label, +): """ Chose destination from destination_sample (with od_logsum and dp_logsum columns added) @@ -102,11 +112,11 @@ def parking_destination_simulate( choices - pandas.Series destination alt chosen """ - trace_label = tracing.extend_trace_label(trace_label, 'trip_destination_simulate') + trace_label = tracing.extend_trace_label(trace_label, "trip_destination_simulate") - spec = get_spec_for_segment(model_settings, 'SPECIFICATION', segment_name) + spec = get_spec_for_segment(model_settings, "SPECIFICATION", segment_name) - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] logger.info("Running trip_destination_simulate with %d trips", len(trips)) @@ -119,37 +129,46 @@ def parking_destination_simulate( spec=spec, choice_column=alt_dest_col_name, want_logsums=False, - allow_zero_probs=True, zero_prob_choice_val=NO_DESTINATION, + allow_zero_probs=True, + zero_prob_choice_val=NO_DESTINATION, skims=skims, locals_d=locals_dict, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='parking_loc') + trace_choice_name="parking_loc", + ) # drop any failed zero_prob destinations if (parking_locations == NO_DESTINATION).any(): - logger.debug("dropping %s failed parking locations", (parking_locations == NO_DESTINATION).sum()) + logger.debug( + "dropping %s failed parking locations", + (parking_locations == NO_DESTINATION).sum(), + ) parking_locations = parking_locations[parking_locations != NO_DESTINATION] return parking_locations def choose_parking_location( - segment_name, - trips, - alternatives, - model_settings, - want_sample_table, - skims, - chunk_size, trace_hh_id, - trace_label): + segment_name, + trips, + alternatives, + model_settings, + want_sample_table, + skims, + chunk_size, + trace_hh_id, + trace_label, +): logger.info("choose_parking_location %s with %d trips", trace_label, trips.shape[0]) t0 = print_elapsed_time() - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - destination_sample = logit.interaction_dataset(trips, alternatives, alt_index_id=alt_dest_col_name) + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] + destination_sample = logit.interaction_dataset( + trips, alternatives, alt_index_id=alt_dest_col_name + ) destination_sample.index = np.repeat(trips.index.values, len(alternatives)) destination_sample.index.name = trips.index.name destination_sample = destination_sample[[alt_dest_col_name]].copy() @@ -161,12 +180,16 @@ def choose_parking_location( destination_sample=destination_sample, model_settings=model_settings, skims=skims, - chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=trace_label) + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + ) if want_sample_table: # FIXME - sample_table - destination_sample.set_index(model_settings['ALT_DEST_COL_NAME'], append=True, inplace=True) + destination_sample.set_index( + model_settings["ALT_DEST_COL_NAME"], append=True, inplace=True + ) else: destination_sample = None @@ -176,18 +199,24 @@ def choose_parking_location( def run_parking_destination( - model_settings, - trips, land_use, - chunk_size, trace_hh_id, - trace_label, - fail_some_trips_for_testing=False): - - chooser_filter_column = model_settings.get('CHOOSER_FILTER_COLUMN_NAME') - chooser_segment_column = model_settings.get('CHOOSER_SEGMENT_COLUMN_NAME') - - parking_location_column_name = model_settings['ALT_DEST_COL_NAME'] - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + model_settings, + trips, + land_use, + chunk_size, + trace_hh_id, + trace_label, + fail_some_trips_for_testing=False, +): + + chooser_filter_column = model_settings.get("CHOOSER_FILTER_COLUMN_NAME") + chooser_segment_column = model_settings.get("CHOOSER_SEGMENT_COLUMN_NAME") + + parking_location_column_name = model_settings["ALT_DEST_COL_NAME"] + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) choosers = trips[trips[chooser_filter_column]] choosers = choosers.sort_index() @@ -197,7 +226,7 @@ def run_parking_destination( skims = wrap_skims(model_settings) - alt_column_filter_name = model_settings.get('ALTERNATIVE_FILTER_COLUMN_NAME') + alt_column_filter_name = model_settings.get("ALTERNATIVE_FILTER_COLUMN_NAME") alternatives = land_use[land_use[alt_column_filter_name]] # don't need size terms in alternatives, just TAZ index @@ -208,7 +237,9 @@ def run_parking_destination( sample_list = [] for segment_name, chooser_segment in choosers.groupby(chooser_segment_column): if chooser_segment.shape[0] == 0: - logger.info("%s skipping segment %s: no choosers", trace_label, segment_name) + logger.info( + "%s skipping segment %s: no choosers", trace_label, segment_name + ) continue choices, destination_sample = choose_parking_location( @@ -218,8 +249,10 @@ def run_parking_destination( model_settings, want_sample_table, skims, - chunk_size, trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, segment_name)) + chunk_size, + trace_hh_id, + trace_label=tracing.extend_trace_label(trace_label, segment_name), + ) choices_list.append(choices) if want_sample_table: @@ -233,7 +266,9 @@ def run_parking_destination( parking_df = parking_df.drop(parking_df.index[0]) assign_in_place(trips, parking_df.to_frame(parking_location_column_name)) - trips[parking_location_column_name] = trips[parking_location_column_name].fillna(-1) + trips[parking_location_column_name] = trips[ + parking_location_column_name + ].fillna(-1) else: trips[parking_location_column_name] = -1 @@ -244,30 +279,24 @@ def run_parking_destination( @inject.step() def parking_location( - trips, - trips_merged, - land_use, - network_los, - chunk_size, - trace_hh_id): + trips, trips_merged, land_use, network_los, chunk_size, trace_hh_id +): """ Given a set of trips, each trip needs to have a parking location if it is eligible for remote parking. """ - trace_label = 'parking_location' - model_settings = config.read_model_settings('parking_location_choice.yaml') - alt_destination_col_name = model_settings['ALT_DEST_COL_NAME'] + trace_label = "parking_location" + model_settings = config.read_model_settings("parking_location_choice.yaml") + alt_destination_col_name = model_settings["ALT_DEST_COL_NAME"] - preprocessor_settings = model_settings.get('PREPROCESSOR', None) + preprocessor_settings = model_settings.get("PREPROCESSOR", None) trips_df = trips.to_frame() trips_merged_df = trips_merged.to_frame() land_use_df = land_use.to_frame() - locals_dict = { - 'network_los': network_los - } + locals_dict = {"network_los": network_los} locals_dict.update(config.get_model_constants(model_settings)) if preprocessor_settings: @@ -275,11 +304,13 @@ def parking_location( df=trips_merged_df, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) parking_locations, save_sample_df = run_parking_destination( model_settings, - trips_merged_df, land_use_df, + trips_merged_df, + land_use_df, chunk_size=chunk_size, trace_hh_id=trace_hh_id, trace_label=trace_label, @@ -290,20 +321,25 @@ def parking_location( pipeline.replace_table("trips", trips_df) if trace_hh_id: - tracing.trace_df(trips_df, - label=trace_label, - slicer='trip_id', - index_label='trip_id', - warn_if_empty=True) + tracing.trace_df( + trips_df, + label=trace_label, + slicer="trip_id", + index_label="trip_id", + warn_if_empty=True, + ) if save_sample_df is not None: - assert len(save_sample_df.index.get_level_values(0).unique()) == \ - len(trips_df[trips_df.trip_num < trips_df.trip_count]) + assert len(save_sample_df.index.get_level_values(0).unique()) == len( + trips_df[trips_df.trip_num < trips_df.trip_count] + ) - sample_table_name = model_settings.get('PARKING_LOCATION_SAMPLE_TABLE_NAME') + sample_table_name = model_settings.get("PARKING_LOCATION_SAMPLE_TABLE_NAME") assert sample_table_name is not None - logger.info("adding %s samples to %s" % (len(save_sample_df), sample_table_name)) + logger.info( + "adding %s samples to %s" % (len(save_sample_df), sample_table_name) + ) # lest they try to put tour samples into the same table if pipeline.is_table(sample_table_name): diff --git a/activitysim/abm/models/stop_frequency.py b/activitysim/abm/models/stop_frequency.py index 14ddeb0669..dd52c0b7a7 100644 --- a/activitysim/abm/models/stop_frequency.py +++ b/activitysim/abm/models/stop_frequency.py @@ -5,15 +5,8 @@ import numpy as np import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions - -from activitysim.core.util import assign_in_place -from activitysim.core.util import reindex +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing +from activitysim.core.util import assign_in_place, reindex from .util import estimation, trip @@ -22,11 +15,8 @@ @inject.step() def stop_frequency( - tours, tours_merged, - stop_frequency_alts, - network_los, - chunk_size, - trace_hh_id): + tours, tours_merged, stop_frequency_alts, network_los, chunk_size, trace_hh_id +): """ stop frequency model @@ -53,8 +43,8 @@ def stop_frequency( """ - trace_label = 'stop_frequency' - model_settings_file_name = 'stop_frequency.yaml' + trace_label = "stop_frequency" + model_settings_file_name = "stop_frequency.yaml" model_settings = config.read_model_settings(model_settings_file_name) @@ -68,19 +58,18 @@ def stop_frequency( constants = config.get_model_constants(model_settings) # - run preprocessor to annotate tours_merged - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: # hack: preprocessor adds origin column in place if it does not exist already - assert 'origin' in tours_merged - assert 'destination' in tours_merged - od_skim_stack_wrapper = network_los.get_default_skim_dict().wrap('origin', 'destination') + assert "origin" in tours_merged + assert "destination" in tours_merged + od_skim_stack_wrapper = network_los.get_default_skim_dict().wrap( + "origin", "destination" + ) skims = [od_skim_stack_wrapper] - locals_dict = { - "od_skims": od_skim_stack_wrapper, - 'network_los': network_los - } + locals_dict = {"od_skims": od_skim_stack_wrapper, "network_los": network_los} locals_dict.update(constants) simulate.set_skim_wrapper_targets(tours_merged, skims) @@ -90,17 +79,23 @@ def stop_frequency( df=tours_merged, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) assign_in_place(tours_merged, annotations) - tracing.print_summary('stop_frequency segments', - tours_merged.primary_purpose, value_counts=True) + tracing.print_summary( + "stop_frequency segments", tours_merged.primary_purpose, value_counts=True + ) - spec_segments = model_settings.get('SPEC_SEGMENTS') - assert spec_segments is not None, f"SPEC_SEGMENTS setting not found in model settings: {model_settings_file_name}" - segment_col = model_settings.get('SEGMENT_COL') - assert segment_col is not None, f"SEGMENT_COL setting not found in model settings: {model_settings_file_name}" + spec_segments = model_settings.get("SPEC_SEGMENTS") + assert ( + spec_segments is not None + ), f"SPEC_SEGMENTS setting not found in model settings: {model_settings_file_name}" + segment_col = model_settings.get("SEGMENT_COL") + assert ( + segment_col is not None + ), f"SEGMENT_COL setting not found in model settings: {model_settings_file_name}" nest_spec = config.get_logit_model_settings(model_settings) @@ -116,20 +111,32 @@ def stop_frequency( logging.info(f"{trace_label} skipping empty segment {segment_name}") continue - logging.info(f"{trace_label} running segment {segment_name} with {chooser_segment.shape[0]} chooser rows") + logging.info( + f"{trace_label} running segment {segment_name} with {chooser_segment.shape[0]} chooser rows" + ) - estimator = estimation.manager.begin_estimation(model_name=segment_name, bundle_name='stop_frequency') + estimator = estimation.manager.begin_estimation( + model_name=segment_name, bundle_name="stop_frequency" + ) - segment_spec = simulate.read_model_spec(file_name=segment_settings['SPEC']) - assert segment_spec is not None, "spec for segment_type %s not found" % segment_name + segment_spec = simulate.read_model_spec(file_name=segment_settings["SPEC"]) + assert segment_spec is not None, ( + "spec for segment_type %s not found" % segment_name + ) - coefficients_file_name = segment_settings['COEFFICIENTS'] - coefficients_df = simulate.read_model_coefficients(file_name=coefficients_file_name) - segment_spec = simulate.eval_coefficients(segment_spec, coefficients_df, estimator) + coefficients_file_name = segment_settings["COEFFICIENTS"] + coefficients_df = simulate.read_model_coefficients( + file_name=coefficients_file_name + ) + segment_spec = simulate.eval_coefficients( + segment_spec, coefficients_df, estimator + ) if estimator: estimator.write_spec(segment_settings, bundle_directory=False) - estimator.write_model_settings(model_settings, model_settings_file_name, bundle_directory=True) + estimator.write_model_settings( + model_settings, model_settings_file_name, bundle_directory=True + ) estimator.write_coefficients(coefficients_df, segment_settings) estimator.write_choosers(chooser_segment) @@ -142,15 +149,18 @@ def stop_frequency( locals_d=constants, chunk_size=chunk_size, trace_label=tracing.extend_trace_label(trace_label, segment_name), - trace_choice_name='stops', - estimator=estimator) + trace_choice_name="stops", + estimator=estimator, + ) # convert indexes to alternative names choices = pd.Series(segment_spec.columns[choices.values], index=choices.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'tours', 'stop_frequency') # override choices + choices = estimator.get_survey_values( + choices, "tours", "stop_frequency" + ) # override choices estimator.write_override_choices(choices) estimator.end_estimation() @@ -158,30 +168,30 @@ def stop_frequency( choices = pd.concat(choices_list) - tracing.print_summary('stop_frequency', choices, value_counts=True) + tracing.print_summary("stop_frequency", choices, value_counts=True) # add stop_frequency choices to tours table - assign_in_place(tours, choices.to_frame('stop_frequency')) + assign_in_place(tours, choices.to_frame("stop_frequency")) # FIXME should have added this when tours created? - assert 'primary_purpose' not in tours - if 'primary_purpose' not in tours.columns: + assert "primary_purpose" not in tours + if "primary_purpose" not in tours.columns: # if not already there, then it will have been added by stop_freq_annotate_tours_preprocessor - assign_in_place(tours, tours_merged[['primary_purpose']]) + assign_in_place(tours, tours_merged[["primary_purpose"]]) pipeline.replace_table("tours", tours) # create trips table trips = trip.initialize_from_tours(tours, stop_frequency_alts) pipeline.replace_table("trips", trips) - tracing.register_traceable_table('trips', trips) - pipeline.get_rn_generator().add_channel('trips', trips) + tracing.register_traceable_table("trips", trips) + pipeline.get_rn_generator().add_channel("trips", trips) if estimator: # make sure they created trips with the expected tour_ids - columns = ['person_id', 'household_id', 'tour_id', 'outbound'] + columns = ["person_id", "household_id", "tour_id", "outbound"] - survey_trips = estimation.manager.get_survey_table(table_name='trips') + survey_trips = estimation.manager.get_survey_table(table_name="trips") different = False survey_trips_not_in_trips = survey_trips[~survey_trips.index.isin(trips.index)] if len(survey_trips_not_in_trips) > 0: @@ -193,10 +203,9 @@ def stop_frequency( different = True assert not different - survey_trips = \ - estimation.manager.get_survey_values(trips, - table_name='trips', - column_names=columns) + survey_trips = estimation.manager.get_survey_values( + trips, table_name="trips", column_names=columns + ) trips_differ = (trips[columns] != survey_trips[columns]).any(axis=1) @@ -206,24 +215,22 @@ def stop_frequency( print("differing survey_trips\n%s" % survey_trips[trips_differ]) print("differing modeled_trips\n%s" % trips[columns][trips_differ]) - assert(not trips_differ.any()) + assert not trips_differ.any() if trace_hh_id: - tracing.trace_df(tours, - label="stop_frequency.tours", - slicer='person_id', - columns=None) - - tracing.trace_df(trips, - label="stop_frequency.trips", - slicer='person_id', - columns=None) - - tracing.trace_df(annotations, - label="stop_frequency.annotations", - columns=None) - - tracing.trace_df(tours_merged, - label="stop_frequency.tours_merged", - slicer='person_id', - columns=None) + tracing.trace_df( + tours, label="stop_frequency.tours", slicer="person_id", columns=None + ) + + tracing.trace_df( + trips, label="stop_frequency.trips", slicer="person_id", columns=None + ) + + tracing.trace_df(annotations, label="stop_frequency.annotations", columns=None) + + tracing.trace_df( + tours_merged, + label="stop_frequency.tours_merged", + slicer="person_id", + columns=None, + ) diff --git a/activitysim/abm/models/summarize.py b/activitysim/abm/models/summarize.py index 8d224c8754..66b5cf9588 100644 --- a/activitysim/abm/models/summarize.py +++ b/activitysim/abm/models/summarize.py @@ -1,43 +1,356 @@ # ActivitySim # See full license in LICENSE.txt. import logging -import sys -import pandas as pd +import os -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import config +import numpy as np +import pandas as pd -from activitysim.core.config import setting +from activitysim.abm.models.trip_matrices import annotate_trips +from activitysim.core import config, expressions, inject, pipeline logger = logging.getLogger(__name__) +def wrap_skims( + network_los: pipeline.Pipeline, trips_merged: pd.DataFrame +) -> dict[str, object]: + """ + Retrieve skim wrappers for merged trips. + + For each record in `trips_merged`, retrieve skim wrappers for appropriate time of day. + + Returns dictionary of skims wrappers that are available for use in expressions defined + in `summarize_preprocessor.csv` + """ + skim_dict = network_los.get_default_skim_dict() + + trips_merged["start_tour_period"] = network_los.skim_time_period_label( + trips_merged["start"] + ) + trips_merged["end_tour_period"] = network_los.skim_time_period_label( + trips_merged["end"] + ) + trips_merged["trip_period"] = network_los.skim_time_period_label( + trips_merged["depart"] + ) + + tour_odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key="origin_tour", + dest_key="destination_tour", + dim3_key="start_tour_period", + ) + tour_dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key="destination_tour", dest_key="origin_tour", dim3_key="end_tour_period" + ) + trip_odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key="origin_trip", dest_key="destination_trip", dim3_key="trip_period" + ) + + tour_od_skim_stack_wrapper = skim_dict.wrap("origin_tour", "destination_tour") + trip_od_skim_stack_wrapper = skim_dict.wrap("origin_trip", "destination_trip") + + return { + "tour_odt_skims": tour_odt_skim_stack_wrapper, + "tour_dot_skims": tour_dot_skim_stack_wrapper, + "trip_odt_skims": trip_odt_skim_stack_wrapper, + "tour_od_skims": tour_od_skim_stack_wrapper, + "trip_od_skims": trip_od_skim_stack_wrapper, + } + + +DEFAULT_BIN_LABEL_FORMAT = "{left:,.2f} - {right:,.2f}" + + +def construct_bin_labels(bins: pd.Series, label_format: str) -> pd.Series: + """ + Construct bin label strings based on intervals (pd.Interval) in `bins` + + `label_format` is an F-string format that can reference the following variables: + - 'left': Bin minimum + - 'right': Min maximum + - 'mid': Bin center + - 'rank': Bin rank (lowest to highest) + + For example: '{left:,.2f} - {right:,.2f}' might yield '0.00 - 1.00' + """ + left = bins.apply(lambda x: x.left) + mid = bins.apply(lambda x: x.mid) + right = bins.apply(lambda x: x.right) + # Get integer ranks of bins (e.g., 1st, 2nd ... nth quantile) + rank = mid.map( + { + x: sorted(mid.unique().tolist()).index(x) + 1 if pd.notnull(x) else np.nan + for x in mid.unique() + }, + na_action="ignore", + ) + + def construct_label(label_format, bounds_dict): + bounds_dict = { + x: bound for x, bound in bounds_dict.items() if x in label_format + } + return label_format.format(**bounds_dict) + + labels = pd.Series( + [ + construct_label( + label_format, {"left": lt, "mid": md, "right": rt, "rank": rk} + ) + for lt, md, rt, rk in zip(left, mid, right, rank) + ], + index=bins.index, + ) + # Convert to numeric if possible + labels = pd.to_numeric(labels, errors="ignore") + return labels + + +def quantiles( + data: pd.Series, bins: pd.Series, label_format: str = DEFAULT_BIN_LABEL_FORMAT +) -> pd.Series: + """ + Construct quantiles from a Series given a number of bins. + + For example: set bins = 5 to construct quintiles. + + data: Input Series + bins: Number of bins + label_format: F-string format for bin labels + Bins are labeled with 'min - max' ranges by default. + + Returns a Series indexed by labels + """ + vals = data.sort_values() + # qcut a ranking instead of raw values to deal with high frequencies of the same value + # (e.g., many 0 values) that may span multiple bins + ranks = vals.rank(method="first") + bins = pd.qcut(ranks, bins, duplicates="drop") + bins = construct_bin_labels(bins, label_format) + return bins + + +def spaced_intervals( + data: pd.Series, + lower_bound: float, + interval: float, + label_format: str = DEFAULT_BIN_LABEL_FORMAT, +) -> pd.Series: + """ + Construct evenly-spaced intervals from a Series given a starting value and bin size. + + data: Input Series + lower_bound: Minimum value of lowest bin + interval: Bin spacing above the `lower_bound` + label_format: F-string format for bin labels + Bins are labeled with 'min - max' ranges by default. + + Returns a Series indexed by labels + """ + if lower_bound == "min": + lower_bound = data.min() + breaks = np.arange(lower_bound, data.max() + interval, interval) + bins = pd.cut(data, breaks, include_lowest=True) + bins = construct_bin_labels(bins, label_format) + return bins + + +def equal_intervals( + data: pd.Series, bins: int, label_format: str = DEFAULT_BIN_LABEL_FORMAT +) -> pd.Series: + """ + Construct equally-spaced intervals across the entire range of a Series. + + data: Input Series + bins: Number of bins + label_format: F-string format for bin labels + Bins are labeled with 'min - max' ranges by default. + + Returns a Series indexed by labels + """ + bins = pd.cut(data, bins, include_lowest=True) + bins = construct_bin_labels(bins, label_format) + return bins + + +def manual_breaks( + data: pd.Series, + bin_breaks: list, + labels: list = None, + label_format: str = DEFAULT_BIN_LABEL_FORMAT, +) -> pd.Series: + """ + Classify numeric data in a Pandas Series into manually-defined bins. + + data: Input Series + bin_breaks: Break points between bins + labels: Manually-defined labels for each bin (`len(labels)` == `len(bin_breaks) + 1`) + label_format: F-string format for bin labels if not defined by `labels` + Bins are labeled with 'min - max' ranges by default. + + Returns a Series indexed by labels + """ + if isinstance(labels, list): + return pd.cut(data, bin_breaks, labels=labels, include_lowest=True) + else: + bins = pd.cut(data, bin_breaks, include_lowest=True) + bins = construct_bin_labels(bins, label_format) + return bins + + @inject.step() -def write_summaries(output_dir): +def summarize( + network_los: pipeline.Pipeline, + persons: pd.DataFrame, + persons_merged: pd.DataFrame, + households: pd.DataFrame, + households_merged: pd.DataFrame, + trips: pd.DataFrame, + tours: pd.DataFrame, + tours_merged: pd.DataFrame, + land_use: pd.DataFrame, +): + """ + A standard model that uses expression files to summarize pipeline tables for vizualization. + + Summaries are configured in `summarize.yaml`, including specification of the + expression file (`summarize.csv` by default). + + Columns in pipeline tables can also be sliced and aggregated prior to summarization. + This preprocessing is configured in `summarize.yaml`. + + Outputs a seperate csv summary file for each expression; + outputs starting with '_' are saved as temporary local variables. + """ + trace_label = "summarize" + model_settings_file_name = "summarize.yaml" + model_settings = config.read_model_settings(model_settings_file_name) + + output_location = ( + model_settings["OUTPUT"] if "OUTPUT" in model_settings else "summaries" + ) + os.makedirs(config.output_file_path(output_location), exist_ok=True) + + spec = pd.read_csv( + config.config_file_path(model_settings["SPECIFICATION"]), comment="#" + ) + + # Load dataframes from pipeline + persons = persons.to_frame() + persons_merged = persons_merged.to_frame() + households = households.to_frame() + households_merged = households_merged.to_frame() + trips = trips.to_frame() + tours = tours_merged.to_frame() + tours_merged = tours_merged.to_frame() + land_use = land_use.to_frame() + + # - trips_merged - merge trips and tours_merged + trips_merged = pd.merge( + trips, + tours_merged.drop(columns=["person_id", "household_id"]), + left_on="tour_id", + right_index=True, + suffixes=["_trip", "_tour"], + how="left", + ) + + # Add dataframes as local variables + locals_d = { + "persons": persons, + "persons_merged": persons_merged, + "households": households, + "households_merged": households_merged, + "trips": trips, + "trips_merged": trips_merged, + "tours": tours_merged, + "tours_merged": tours_merged, + "land_use": land_use, + } + + skims = wrap_skims(network_los, trips_merged) + + # Annotate trips_merged + expressions.annotate_preprocessors( + trips_merged, locals_d, skims, model_settings, "summarize" + ) + + for table_name, df in locals_d.items(): + if table_name in model_settings: + + meta = model_settings[table_name] + df = eval(table_name) + + if "AGGREGATE" in meta and meta["AGGREGATE"]: + for agg in meta["AGGREGATE"]: + assert set(("column", "label", "map")) <= agg.keys() + df[agg["label"]] = ( + df[agg["column"]].map(agg["map"]).fillna(df[agg["column"]]) + ) + + if "BIN" in meta and meta["BIN"]: + for slicer in meta["BIN"]: + if slicer["type"] == "manual_breaks": + df[slicer["label"]] = manual_breaks( + df[slicer["column"]], + slicer["bin_breaks"], + slicer["bin_labels"], + ) + + elif slicer["type"] == "quantiles": + df[slicer["label"]] = quantiles( + df[slicer["column"]], slicer["bins"], slicer["label_format"] + ) + + elif slicer["type"] == "spaced_intervals": + df[slicer["label"]] = spaced_intervals( + df[slicer["column"]], + slicer["lower_bound"], + slicer["interval"], + slicer["label_format"], + ) + + elif slicer["type"] == "equal_intervals": + df[slicer["label"]] = equal_intervals( + df[slicer["column"]], slicer["bins"], slicer["label_format"] + ) - summary_settings_name = 'output_summaries' - summary_file_name = 'summaries.txt' + # Output pipeline tables for expression development + if model_settings["EXPORT_PIPELINE_TABLES"] is True: + pipeline_table_dir = os.path.join(output_location, "pipeline_tables") + os.makedirs(config.output_file_path(pipeline_table_dir), exist_ok=True) + for name, df in locals_d.items(): + df.to_csv( + config.output_file_path(os.path.join(pipeline_table_dir, f"{name}.csv")) + ) - summary_settings = setting(summary_settings_name) + # Add classification functions to locals + locals_d.update( + { + "quantiles": quantiles, + "spaced_intervals": spaced_intervals, + "equal_intervals": equal_intervals, + "manual_breaks": manual_breaks, + } + ) - if summary_settings is None: - logger.info("No {summary_settings_name} specified in settings file. Nothing to write.") - return + for i, row in spec.iterrows(): - summary_dict = summary_settings + out_file = row["Output"] + expr = row["Expression"] - mode = 'wb' if sys.version_info < (3,) else 'w' - with open(config.output_file_path(summary_file_name), mode) as output_file: + # Save temporary variables starting with underscores in locals_d + if out_file.startswith("_"): - for table_name, column_names in summary_dict.items(): + logger.debug(f"Temp Variable: {expr} -> {out_file}") - df = pipeline.get_table(table_name) + locals_d[out_file] = eval(expr, globals(), locals_d) + continue - for c in column_names: - n = 100 - empty = (df[c] == '') | df[c].isnull() + logger.debug(f"Summary: {expr} -> {out_file}.csv") - print(f"\n### {table_name}.{c} type: {df.dtypes[c]} rows: {len(df)} ({empty.sum()} empty)\n\n", - file=output_file) - print(df[c].value_counts().nlargest(n), file=output_file) + resultset = eval(expr, globals(), locals_d) + resultset.to_csv( + config.output_file_path(os.path.join(output_location, f"{out_file}.csv")), + index=False, + ) diff --git a/activitysim/abm/models/tour_mode_choice.py b/activitysim/abm/models/tour_mode_choice.py index 0d0eb1adb4..0dd2a64f54 100644 --- a/activitysim/abm/models/tour_mode_choice.py +++ b/activitysim/abm/models/tour_mode_choice.py @@ -2,26 +2,25 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd from orca import orca -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import logit -from activitysim.core.util import assign_in_place, reindex - -from activitysim.core import los +from activitysim.core import ( + config, + expressions, + inject, + logit, + los, + pipeline, + simulate, + tracing, +) from activitysim.core.pathbuilder import TransitVirtualPathBuilder +from activitysim.core.util import assign_in_place, reindex -from activitysim.core import los - +from .util import estimation, trip from .util.mode import run_tour_mode_choice_simulate -from .util import trip -from .util import estimation logger = logging.getLogger(__name__) @@ -56,8 +55,7 @@ def get_alts_from_segmented_nested_logit(model_settings, segment_name, trace_lab return tour_mode_alts -def create_logsum_trips( - tours, segment_column_name, model_settings, trace_label): +def create_logsum_trips(tours, segment_column_name, model_settings, trace_label): """ Construct table of trips from half-tours (1 inbound, 1 outbound) for each tour-mode. @@ -74,29 +72,30 @@ def create_logsum_trips( pandas.DataFrame Table of trips: 2 per tour, with O/D and purpose inherited from tour """ - stop_frequency_alts = inject.get_injectable('stop_frequency_alts') - stop_freq = '0out_0in' # no intermediate stops - tours['stop_frequency'] = stop_freq - tours['primary_purpose'] = tours['tour_purpose'] + stop_frequency_alts = inject.get_injectable("stop_frequency_alts") + stop_freq = "0out_0in" # no intermediate stops + tours["stop_frequency"] = stop_freq + tours["primary_purpose"] = tours["tour_purpose"] trips = trip.initialize_from_tours(tours, stop_frequency_alts) - trips['stop_frequency'] = stop_freq - outbound = trips['outbound'] - trips['depart'] = reindex(tours.start, trips.tour_id) - trips.loc[~outbound, 'depart'] = reindex(tours.end, trips.loc[~outbound, 'tour_id']) + trips["stop_frequency"] = stop_freq + outbound = trips["outbound"] + trips["depart"] = reindex(tours.start, trips.tour_id) + trips.loc[~outbound, "depart"] = reindex(tours.end, trips.loc[~outbound, "tour_id"]) # actual segment doesn't matter. just need to grab one # to get a set of coefficients from the spec segment_name = tours.iloc[0][segment_column_name] tour_mode_alts = get_alts_from_segmented_nested_logit( - model_settings, segment_name, trace_label) + model_settings, segment_name, trace_label + ) # repeat rows from the trips table iterating over tour mode logsum_trips = pd.DataFrame() for tour_mode in tour_mode_alts: - trips['tour_mode'] = tour_mode + trips["tour_mode"] = tour_mode logsum_trips = pd.concat((logsum_trips, trips), ignore_index=True) assert len(logsum_trips) == len(trips) * len(tour_mode_alts) - logsum_trips.index.name = 'trip_id' + logsum_trips.index.name = "trip_id" return logsum_trips @@ -113,12 +112,16 @@ def append_tour_leg_trip_mode_choice_logsums(tours): tours : pd.DataFrame Adds two * n_modes logsum columns to each tour row, e.g. "logsum_DRIVE_outbound" """ - trips = inject.get_table('trips').to_frame() + trips = inject.get_table("trips").to_frame() trip_dir_mode_logsums = trips.pivot( - index='tour_id', columns=['tour_mode', 'outbound'], values='trip_mode_choice_logsum') + index="tour_id", + columns=["tour_mode", "outbound"], + values="trip_mode_choice_logsum", + ) new_cols = [ - '_'.join(['logsum', mode, 'outbound' if outbound else 'inbound']) - for mode, outbound in trip_dir_mode_logsums.columns] + "_".join(["logsum", mode, "outbound" if outbound else "inbound"]) + for mode, outbound in trip_dir_mode_logsums.columns + ] trip_dir_mode_logsums.columns = new_cols trip_dir_mode_logsums.reindex(tours.index) tours = pd.merge(tours, trip_dir_mode_logsums, left_index=True, right_index=True) @@ -127,7 +130,8 @@ def append_tour_leg_trip_mode_choice_logsums(tours): def get_trip_mc_logsums_for_all_modes( - tours, segment_column_name, model_settings, trace_label): + tours, segment_column_name, model_settings, trace_label +): """Creates pseudo-trips from tours and runs trip mode choice to get logsums Parameters @@ -146,55 +150,59 @@ def get_trip_mc_logsums_for_all_modes( # create pseudo-trips from tours for all tour modes logsum_trips = create_logsum_trips( - tours, segment_column_name, model_settings, - trace_label) + tours, segment_column_name, model_settings, trace_label + ) # temporarily register trips in the pipeline - pipeline.replace_table('trips', logsum_trips) - tracing.register_traceable_table('trips', logsum_trips) - pipeline.get_rn_generator().add_channel('trips', logsum_trips) + pipeline.replace_table("trips", logsum_trips) + tracing.register_traceable_table("trips", logsum_trips) + pipeline.get_rn_generator().add_channel("trips", logsum_trips) # run trip mode choice on pseudo-trips. use orca instead of pipeline to # execute the step because pipeline can only handle one open step at a time - orca.run(['trip_mode_choice']) + orca.run(["trip_mode_choice"]) # add trip mode choice logsums as new cols in tours tours = append_tour_leg_trip_mode_choice_logsums(tours) # de-register logsum trips table - pipeline.get_rn_generator().drop_channel('trips') - tracing.deregister_traceable_table('trips') + pipeline.get_rn_generator().drop_channel("trips") + tracing.deregister_traceable_table("trips") return tours @inject.step() -def tour_mode_choice_simulate(tours, persons_merged, - network_los, - chunk_size, - trace_hh_id): +def tour_mode_choice_simulate( + tours, persons_merged, network_los, chunk_size, trace_hh_id +): """ Tour mode choice simulate """ - trace_label = 'tour_mode_choice' - model_settings_file_name = 'tour_mode_choice.yaml' + trace_label = "tour_mode_choice" + model_settings_file_name = "tour_mode_choice.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('MODE_CHOICE_LOGSUM_COLUMN_NAME') - mode_column_name = 'tour_mode' - segment_column_name = 'tour_purpose' + logsum_column_name = model_settings.get("MODE_CHOICE_LOGSUM_COLUMN_NAME") + mode_column_name = "tour_mode" + segment_column_name = "tour_purpose" primary_tours = tours.to_frame() - assert not (primary_tours.tour_category == 'atwork').any() + assert not (primary_tours.tour_category == "atwork").any() logger.info("Running %s with %d tours" % (trace_label, primary_tours.shape[0])) - tracing.print_summary('tour_types', - primary_tours.tour_type, value_counts=True) + tracing.print_summary("tour_types", primary_tours.tour_type, value_counts=True) persons_merged = persons_merged.to_frame() - primary_tours_merged = pd.merge(primary_tours, persons_merged, left_on='person_id', - right_index=True, how='left', suffixes=('', '_r')) + primary_tours_merged = pd.merge( + primary_tours, + persons_merged, + left_on="person_id", + right_index=True, + how="left", + suffixes=("", "_r"), + ) constants = {} # model_constants can appear in expressions @@ -203,19 +211,23 @@ def tour_mode_choice_simulate(tours, persons_merged, skim_dict = network_los.get_default_skim_dict() # setup skim keys - orig_col_name = 'home_zone_id' - dest_col_name = 'destination' - - out_time_col_name = 'start' - in_time_col_name = 'end' - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='out_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='in_period') - odr_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='in_period') - dor_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='out_period') + orig_col_name = "home_zone_id" + dest_col_name = "destination" + + out_time_col_name = "start" + in_time_col_name = "end" + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="out_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="in_period" + ) + odr_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="in_period" + ) + dor_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="out_period" + ) od_skim_stack_wrapper = skim_dict.wrap(orig_col_name, dest_col_name) skims = { @@ -224,10 +236,10 @@ def tour_mode_choice_simulate(tours, persons_merged, "odr_skims": odr_skim_stack_wrapper, # dot return skims for e.g. TNC bridge return fare "dor_skims": dor_skim_stack_wrapper, # odt return skims for e.g. TNC bridge return fare "od_skims": od_skim_stack_wrapper, - 'orig_col_name': orig_col_name, - 'dest_col_name': dest_col_name, - 'out_time_col_name': out_time_col_name, - 'in_time_col_name': in_time_col_name + "orig_col_name": orig_col_name, + "dest_col_name": dest_col_name, + "out_time_col_name": out_time_col_name, + "in_time_col_name": in_time_col_name, } if network_los.zone_system == los.THREE_ZONE: @@ -235,30 +247,41 @@ def tour_mode_choice_simulate(tours, persons_merged, tvpb = network_los.tvpb - tvpb_logsum_odt = tvpb.wrap_logsum(orig_key=orig_col_name, dest_key=dest_col_name, - tod_key='out_period', segment_key='demographic_segment', - cache_choices=True, - trace_label=trace_label, tag='tvpb_logsum_odt') - tvpb_logsum_dot = tvpb.wrap_logsum(orig_key=dest_col_name, dest_key=orig_col_name, - tod_key='in_period', segment_key='demographic_segment', - cache_choices=True, - trace_label=trace_label, tag='tvpb_logsum_dot') - - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - 'tvpb_logsum_dot': tvpb_logsum_dot - }) + tvpb_logsum_odt = tvpb.wrap_logsum( + orig_key=orig_col_name, + dest_key=dest_col_name, + tod_key="out_period", + segment_key="demographic_segment", + cache_choices=True, + trace_label=trace_label, + tag="tvpb_logsum_odt", + ) + tvpb_logsum_dot = tvpb.wrap_logsum( + orig_key=dest_col_name, + dest_key=orig_col_name, + tod_key="in_period", + segment_key="demographic_segment", + cache_choices=True, + trace_label=trace_label, + tag="tvpb_logsum_dot", + ) + + skims.update( + {"tvpb_logsum_odt": tvpb_logsum_odt, "tvpb_logsum_dot": tvpb_logsum_dot} + ) # TVPB constants can appear in expressions - if model_settings.get('use_TVPB_constants', True): - constants.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + if model_settings.get("use_TVPB_constants", True): + constants.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) # don't create estimation data bundle if trip mode choice is being called # from another model step (i.e. tour mode choice logsum creation) - if pipeline.get_rn_generator().step_name != 'tour_mode_choice_simulate': + if pipeline.get_rn_generator().step_name != "tour_mode_choice_simulate": estimator = None else: - estimator = estimation.manager.begin_estimation('tour_mode_choice') + estimator = estimation.manager.begin_estimation("tour_mode_choice") if estimator: estimator.write_coefficients(model_settings=model_settings) estimator.write_coefficients_template(model_settings=model_settings) @@ -269,33 +292,45 @@ def tour_mode_choice_simulate(tours, persons_merged, # FIXME should normalize handling of tour_type and tour_purpose # mtctm1 school tour_type includes univ, which has different coefficients from elementary and HS # we should either add this column when tours created or add univ to tour_types - not_university = (primary_tours_merged.tour_type != 'school') | \ - ~(primary_tours_merged.is_university if 'is_university' in primary_tours_merged.columns else False) - primary_tours_merged['tour_purpose'] = \ - primary_tours_merged.tour_type.where(not_university, 'univ') + not_university = (primary_tours_merged.tour_type != "school") | ~( + primary_tours_merged.is_university.astype(bool) + if "is_university" in primary_tours_merged.columns + else False + ) + primary_tours_merged["tour_purpose"] = primary_tours_merged.tour_type.where( + not_university, "univ" + ) # if trip logsums are used, run trip mode choice and append the logsums - if model_settings.get('COMPUTE_TRIP_MODE_CHOICE_LOGSUMS', False): + if model_settings.get("COMPUTE_TRIP_MODE_CHOICE_LOGSUMS", False): primary_tours_merged = get_trip_mc_logsums_for_all_modes( - primary_tours_merged, segment_column_name, - model_settings, trace_label) + primary_tours_merged, segment_column_name, model_settings, trace_label + ) choices_list = [] - for tour_purpose, tours_segment in primary_tours_merged.groupby(segment_column_name): - - logger.info("tour_mode_choice_simulate tour_type '%s' (%s tours)" % - (tour_purpose, len(tours_segment.index), )) + for tour_purpose, tours_segment in primary_tours_merged.groupby( + segment_column_name + ): + + logger.info( + "tour_mode_choice_simulate tour_type '%s' (%s tours)" + % ( + tour_purpose, + len(tours_segment.index), + ) + ) if network_los.zone_system == los.THREE_ZONE: tvpb_logsum_odt.extend_trace_label(tour_purpose) tvpb_logsum_dot.extend_trace_label(tour_purpose) # name index so tracing knows how to slice - assert tours_segment.index.name == 'tour_id' + assert tours_segment.index.name == "tour_id" choices_df = run_tour_mode_choice_simulate( tours_segment, - tour_purpose, model_settings, + tour_purpose, + model_settings, mode_column_name=mode_column_name, logsum_column_name=logsum_column_name, network_los=network_los, @@ -304,10 +339,14 @@ def tour_mode_choice_simulate(tours, persons_merged, estimator=estimator, chunk_size=chunk_size, trace_label=tracing.extend_trace_label(trace_label, tour_purpose), - trace_choice_name='tour_mode_choice') + trace_choice_name="tour_mode_choice", + ) - tracing.print_summary('tour_mode_choice_simulate %s choices_df' % tour_purpose, - choices_df.tour_mode, value_counts=True) + tracing.print_summary( + "tour_mode_choice_simulate %s choices_df" % tour_purpose, + choices_df.tour_mode, + value_counts=True, + ) choices_list.append(choices_df) @@ -316,11 +355,13 @@ def tour_mode_choice_simulate(tours, persons_merged, # add cached tvpb_logsum tap choices for modes specified in tvpb_mode_path_types if network_los.zone_system == los.THREE_ZONE: - tvpb_mode_path_types = model_settings.get('tvpb_mode_path_types') + tvpb_mode_path_types = model_settings.get("tvpb_mode_path_types") if tvpb_mode_path_types is not None: for mode, path_types in tvpb_mode_path_types.items(): - for direction, skim in zip(['od', 'do'], [tvpb_logsum_odt, tvpb_logsum_dot]): + for direction, skim in zip( + ["od", "do"], [tvpb_logsum_odt, tvpb_logsum_dot] + ): path_type = path_types[direction] skim_cache = skim.cache[path_type] @@ -329,20 +370,31 @@ def tour_mode_choice_simulate(tours, persons_merged, for c in skim_cache: - dest_col = f'{direction}_{c}' + dest_col = f"{direction}_{c}" if dest_col not in choices_df: - choices_df[dest_col] = np.nan if pd.api.types.is_numeric_dtype(skim_cache[c]) else '' - choices_df[dest_col].where(choices_df.tour_mode != mode, skim_cache[c], inplace=True) + choices_df[dest_col] = ( + np.nan + if pd.api.types.is_numeric_dtype(skim_cache[c]) + else "" + ) + choices_df[dest_col].where( + choices_df.tour_mode != mode, skim_cache[c], inplace=True + ) if estimator: estimator.write_choices(choices_df.tour_mode) - choices_df.tour_mode = estimator.get_survey_values(choices_df.tour_mode, 'tours', 'tour_mode') + choices_df.tour_mode = estimator.get_survey_values( + choices_df.tour_mode, "tours", "tour_mode" + ) estimator.write_override_choices(choices_df.tour_mode) estimator.end_estimation() - tracing.print_summary('tour_mode_choice_simulate all tour type choices', - choices_df.tour_mode, value_counts=True) + tracing.print_summary( + "tour_mode_choice_simulate all tour type choices", + choices_df.tour_mode, + value_counts=True, + ) # so we can trace with annotations assign_in_place(primary_tours, choices_df) @@ -353,9 +405,21 @@ def tour_mode_choice_simulate(tours, persons_merged, pipeline.replace_table("tours", all_tours) + # - annotate tours table + if model_settings.get("annotate_tours"): + tours = inject.get_table("tours").to_frame() + expressions.assign_columns( + df=tours, + model_settings=model_settings.get("annotate_tours"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), + ) + pipeline.replace_table("tours", tours) + if trace_hh_id: - tracing.trace_df(primary_tours, - label=tracing.extend_trace_label(trace_label, mode_column_name), - slicer='tour_id', - index_label='tour_id', - warn_if_empty=True) + tracing.trace_df( + primary_tours, + label=tracing.extend_trace_label(trace_label, mode_column_name), + slicer="tour_id", + index_label="tour_id", + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/tour_od_choice.py b/activitysim/abm/models/tour_od_choice.py index 6816eed385..0825a21ea3 100644 --- a/activitysim/abm/models/tour_od_choice.py +++ b/activitysim/abm/models/tour_od_choice.py @@ -4,29 +4,18 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate - +from activitysim.core import config, inject, pipeline, simulate, tracing from activitysim.core.util import assign_in_place -from .util import tour_od -from .util import estimation +from .util import estimation, tour_od logger = logging.getLogger(__name__) @inject.step() def tour_od_choice( - tours, - persons, - households, - land_use, - network_los, - chunk_size, - trace_hh_id): + tours, persons, households, land_use, network_los, chunk_size, trace_hh_id +): """Simulates joint origin/destination choice for all tours. @@ -57,17 +46,20 @@ def tour_od_choice( households to trace, set in main settings.yaml """ - trace_label = 'tour_od_choice' - model_settings_file_name = 'tour_od_choice.yaml' + trace_label = "tour_od_choice" + model_settings_file_name = "tour_od_choice.yaml" model_settings = config.read_model_settings(model_settings_file_name) - origin_col_name = model_settings['ORIG_COL_NAME'] - dest_col_name = model_settings['DEST_COL_NAME'] + origin_col_name = model_settings["ORIG_COL_NAME"] + dest_col_name = model_settings["DEST_COL_NAME"] alt_id_col = tour_od.get_od_id_col(origin_col_name, dest_col_name) - sample_table_name = model_settings.get('OD_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("OD_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) - logsum_column_name = model_settings.get('OD_CHOICE_LOGSUM_COLUMN_NAME', None) + logsum_column_name = model_settings.get("OD_CHOICE_LOGSUM_COLUMN_NAME", None) want_logsums = logsum_column_name is not None tours = tours.to_frame() @@ -75,14 +67,18 @@ def tour_od_choice( # interaction_sample_simulate insists choosers appear in same order as alts tours = tours.sort_index() - estimator = estimation.manager.begin_estimation('tour_od_choice') + estimator = estimation.manager.begin_estimation("tour_od_choice") if estimator: estimator.write_coefficients(model_settings=model_settings) - estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SAMPLE_SPEC") + estimator.write_spec(model_settings, tag="SPEC") estimator.set_alt_id(alt_id_col) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) estimator.write_model_settings(model_settings, model_settings_file_name) choices_df, save_sample_df = tour_od.run_tour_od( @@ -93,16 +89,22 @@ def tour_od_choice( model_settings, network_los, estimator, - chunk_size, trace_hh_id, trace_label) + chunk_size, + trace_hh_id, + trace_label, + ) if estimator: assert estimator.want_unsampled_alternatives estimator.write_choices(choices_df.choice) survey_od = estimator.get_survey_values( - choices_df.choice, 'tours', [origin_col_name, dest_col_name]) + choices_df.choice, "tours", [origin_col_name, dest_col_name] + ) choices_df[origin_col_name] = survey_od[origin_col_name] choices_df[dest_col_name] = survey_od[dest_col_name] - survey_od[alt_id_col] = tour_od.create_od_id_col(survey_od, origin_col_name, dest_col_name) + survey_od[alt_id_col] = tour_od.create_od_id_col( + survey_od, origin_col_name, dest_col_name + ) choices_df.choice = survey_od[alt_id_col] estimator.write_override_choices(choices_df.choice) estimator.end_estimation() @@ -110,20 +112,27 @@ def tour_od_choice( tours[origin_col_name] = choices_df[origin_col_name].reindex(tours.index) tours[dest_col_name] = choices_df[dest_col_name].reindex(tours.index) if want_logsums: - tours[logsum_column_name] = \ - choices_df['logsum'].reindex(tours.index).astype('float') - tours['poe_id'] = tours[origin_col_name].map(land_use.to_frame(columns='poe_id').poe_id) + tours[logsum_column_name] = ( + choices_df["logsum"].reindex(tours.index).astype("float") + ) + tours["poe_id"] = tours[origin_col_name].map( + land_use.to_frame(columns="poe_id").poe_id + ) households = households.to_frame() persons = persons.to_frame() - households[origin_col_name] = tours.set_index('household_id')[origin_col_name].reindex(households.index) - persons[origin_col_name] = households[origin_col_name].reindex(persons.household_id).values + households[origin_col_name] = tours.set_index("household_id")[ + origin_col_name + ].reindex(households.index) + persons[origin_col_name] = ( + households[origin_col_name].reindex(persons.household_id).values + ) # Downstream steps require that persons and households have a 'home_zone_id' # column. We assume that if the tour_od_choice model is used, this field is # missing from the population data, so it gets inherited from the tour origin - households['home_zone_id'] = households[origin_col_name] - persons['home_zone_id'] = persons[origin_col_name] + households["home_zone_id"] = households[origin_col_name] + persons["home_zone_id"] = persons[origin_col_name] pipeline.replace_table("tours", tours) pipeline.replace_table("persons", persons) @@ -134,9 +143,11 @@ def tour_od_choice( pipeline.extend_table(sample_table_name, save_sample_df) if trace_hh_id: - tracing.trace_df(tours, - label="tours_od_choice", - slicer='person_id', - index_label='tour', - columns=None, - warn_if_empty=True) + tracing.trace_df( + tours, + label="tours_od_choice", + slicer="person_id", + index_label="tour", + columns=None, + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/tour_scheduling_probabilistic.py b/activitysim/abm/models/tour_scheduling_probabilistic.py index 9124cb73b4..89fb416768 100644 --- a/activitysim/abm/models/tour_scheduling_probabilistic.py +++ b/activitysim/abm/models/tour_scheduling_probabilistic.py @@ -6,26 +6,24 @@ import numpy as np import pandas as pd -from activitysim.core import logit -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import chunk -from activitysim.core import pipeline - -from activitysim.core.util import reindex - from activitysim.abm.models.util import estimation +from activitysim.core import chunk, config, inject, logit, pipeline, tracing +from activitysim.core.util import reindex from .util import probabilistic_scheduling as ps - logger = logging.getLogger(__name__) def run_tour_scheduling_probabilistic( - tours_df, scheduling_probs, probs_join_cols, depart_alt_base, chunk_size, - trace_label, trace_hh_id): + tours_df, + scheduling_probs, + probs_join_cols, + depart_alt_base, + chunk_size, + trace_label, + trace_hh_id, +): """Make probabilistic tour scheduling choices in chunks Parameters @@ -53,12 +51,21 @@ def run_tour_scheduling_probabilistic( """ result_list = [] for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( - tours_df, chunk_size, trace_label, trace_label): + tours_df, chunk_size, trace_label, trace_label + ): choices = ps.make_scheduling_choices( - chooser_chunk, 'departure', scheduling_probs, probs_join_cols, depart_alt_base, - first_trip_in_leg=False, report_failed_trips=True, - trace_label=chunk_trace_label, trace_hh_id=trace_hh_id, - trace_choice_col_name='depart_return', clip_earliest_latest=False) + chooser_chunk, + "departure", + scheduling_probs, + probs_join_cols, + depart_alt_base, + first_trip_in_leg=False, + report_failed_trips=True, + trace_label=chunk_trace_label, + trace_hh_id=trace_hh_id, + trace_choice_col_name="depart_return", + clip_earliest_latest=False, + ) result_list.append(choices) choices = pd.concat(result_list) @@ -66,10 +73,7 @@ def run_tour_scheduling_probabilistic( @inject.step() -def tour_scheduling_probabilistic( - tours, - chunk_size, - trace_hh_id): +def tour_scheduling_probabilistic(tours, chunk_size, trace_hh_id): """Makes tour departure and arrival choices by sampling from a probability lookup table This model samples tour scheduling choices from an exogenously defined probability @@ -89,51 +93,61 @@ def tour_scheduling_probabilistic( """ trace_label = "tour_scheduling_probabilistic" - model_settings_file_name = 'tour_scheduling_probabilistic.yaml' + model_settings_file_name = "tour_scheduling_probabilistic.yaml" model_settings = config.read_model_settings(model_settings_file_name) - depart_alt_base = model_settings.get('depart_alt_base', 0) - scheduling_probs_filepath = config.config_file_path(model_settings['PROBS_SPEC']) + depart_alt_base = model_settings.get("depart_alt_base", 0) + scheduling_probs_filepath = config.config_file_path(model_settings["PROBS_SPEC"]) scheduling_probs = pd.read_csv(scheduling_probs_filepath) - probs_join_cols = model_settings['PROBS_JOIN_COLS'] + probs_join_cols = model_settings["PROBS_JOIN_COLS"] tours_df = tours.to_frame() # trip_scheduling is a probabilistic model ane we don't support estimation, # but we do need to override choices in estimation mode - estimator = estimation.manager.begin_estimation('tour_scheduling_probabilistic') + estimator = estimation.manager.begin_estimation("tour_scheduling_probabilistic") if estimator: - estimator.write_spec(model_settings, tag='PROBS_SPEC') + estimator.write_spec(model_settings, tag="PROBS_SPEC") estimator.write_model_settings(model_settings, model_settings_file_name) - chooser_cols_for_estimation = ['purpose_id'] + chooser_cols_for_estimation = ["purpose_id"] estimator.write_choosers(tours_df[chooser_cols_for_estimation]) choices = run_tour_scheduling_probabilistic( - tours_df, scheduling_probs, probs_join_cols, depart_alt_base, chunk_size, - trace_label, trace_hh_id) + tours_df, + scheduling_probs, + probs_join_cols, + depart_alt_base, + chunk_size, + trace_label, + trace_hh_id, + ) # convert alt index choices to depart/return times - probs_cols = pd.Series([c for c in scheduling_probs.columns if c not in probs_join_cols]) + probs_cols = pd.Series( + [c for c in scheduling_probs.columns if c not in probs_join_cols] + ) dep_ret_choices = probs_cols.loc[choices] dep_ret_choices.index = choices.index choices.update(dep_ret_choices) - departures = choices.str.split('_').str[0].astype(int) - returns = choices.str.split('_').str[1].astype(int) + departures = choices.str.split("_").str[0].astype(int) + returns = choices.str.split("_").str[1].astype(int) if estimator: estimator.write_choices(choices) - choices_df = estimator.get_survey_values(choices, 'tours', ['start', 'end']) # override choices - choices = choices_df['start'].astype(str) + '_' + choices_df['end'].astype(str) + choices_df = estimator.get_survey_values( + choices, "tours", ["start", "end"] + ) # override choices + choices = choices_df["start"].astype(str) + "_" + choices_df["end"].astype(str) estimator.write_override_choices(choices) estimator.end_estimation() assert not choices.isnull().any() # these column names are required for downstream models (e.g. tour mode choice) # normally generated by time_windows.py and used as alts for vectorize_tour_scheduling - tours_df['start'] = departures - tours_df['end'] = returns - tours_df['duration'] = tours_df['end'] - tours_df['start'] + tours_df["start"] = departures + tours_df["end"] = returns + tours_df["duration"] = tours_df["end"] - tours_df["start"] - assert not tours_df['start'].isnull().any() - assert not tours_df['end'].isnull().any() - assert not tours_df['duration'].isnull().any() + assert not tours_df["start"].isnull().any() + assert not tours_df["end"].isnull().any() + assert not tours_df["duration"].isnull().any() pipeline.replace_table("tours", tours_df) diff --git a/activitysim/abm/models/trip_departure_choice.py b/activitysim/abm/models/trip_departure_choice.py index 80eb9b912a..2dad8d37c0 100644 --- a/activitysim/abm/models/trip_departure_choice.py +++ b/activitysim/abm/models/trip_departure_choice.py @@ -3,42 +3,44 @@ import numpy as np import pandas as pd -from activitysim.core import chunk -from activitysim.core import config -from activitysim.core import expressions -from activitysim.core import inject -from activitysim.core import logit -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import tracing - from activitysim.abm.models.util.trip import get_time_windows -from activitysim.core import interaction_simulate +from activitysim.core import ( + chunk, + config, + expressions, + inject, + interaction_simulate, + logit, + pipeline, + simulate, + tracing, +) from activitysim.core.simulate import set_skim_wrapper_targets from activitysim.core.util import reindex - logger = logging.getLogger(__name__) -MAIN_LEG_DURATION = 'main_leg_duration' -IB_DURATION = 'inbound_duration' -OB_DURATION = 'outbound_duration' +MAIN_LEG_DURATION = "main_leg_duration" +IB_DURATION = "inbound_duration" +OB_DURATION = "outbound_duration" -TOUR_ID = 'tour_id' -TRIP_ID = 'trip_id' -TOUR_LEG_ID = 'tour_leg_id' -PATTERN_ID = 'pattern_id' -TRIP_DURATION = 'trip_duration' -STOP_TIME_DURATION = 'stop_time_duration' -TRIP_NUM = 'trip_num' -TRIP_COUNT = 'trip_count' -OUTBOUND = 'outbound' +TOUR_ID = "tour_id" +TRIP_ID = "trip_id" +TOUR_LEG_ID = "tour_leg_id" +PATTERN_ID = "pattern_id" +TRIP_DURATION = "trip_duration" +STOP_TIME_DURATION = "stop_time_duration" +TRIP_NUM = "trip_num" +TRIP_COUNT = "trip_count" +OUTBOUND = "outbound" MAX_TOUR_ID = int(1e9) def generate_tour_leg_id(tour_leg_row): - return tour_leg_row.tour_id + (int(MAX_TOUR_ID) if tour_leg_row.outbound else int(2 * MAX_TOUR_ID)) + return tour_leg_row.tour_id + ( + int(MAX_TOUR_ID) if tour_leg_row.outbound else int(2 * MAX_TOUR_ID) + ) def get_tour_legs(trips): @@ -47,6 +49,7 @@ def get_tour_legs(trips): tour_legs = tour_legs.set_index(TOUR_LEG_ID) return tour_legs + # def trip_departure_rpc(chunk_size, choosers, trace_label): # # # NOTE we chunk chunk_id @@ -77,16 +80,21 @@ def generate_alternatives(trips, alternative_col_name): leg_alts = None durations = np.where(legs[OUTBOUND], legs[OB_DURATION], legs[IB_DURATION]) if len(durations) > 0: - leg_alts = pd.Series(np.concatenate([np.arange(0, duration + 1) for duration in durations]), - np.repeat(legs.index, durations + 1), - name=alternative_col_name).to_frame() + leg_alts = pd.Series( + np.concatenate([np.arange(0, duration + 1) for duration in durations]), + np.repeat(legs.index, durations + 1), + name=alternative_col_name, + ).to_frame() single_trips = trips[trips[TRIP_COUNT] == 1] single_alts = None - durations = np.where(single_trips[OUTBOUND], single_trips[OB_DURATION], single_trips[IB_DURATION]) + durations = np.where( + single_trips[OUTBOUND], single_trips[OB_DURATION], single_trips[IB_DURATION] + ) if len(durations) > 0: - single_alts = pd.Series(durations, single_trips.index, - name=alternative_col_name).to_frame() + single_alts = pd.Series( + durations, single_trips.index, name=alternative_col_name + ).to_frame() if not legs.empty and not single_trips.empty: return pd.concat([leg_alts, single_alts]) @@ -107,15 +115,20 @@ def build_patterns(trips, time_windows): pattern_sizes = [] for duration, trip_count in duration_and_counts: - possible_windows = time_windows[:trip_count-1, np.where(time_windows[:trip_count-1].sum(axis=0) == duration)[0]] + possible_windows = time_windows[ + : trip_count - 1, + np.where(time_windows[: trip_count - 1].sum(axis=0) == duration)[0], + ] possible_windows = np.unique(possible_windows, axis=1).transpose() filler = np.full((possible_windows.shape[0], max_trip_count), np.nan) - filler[:possible_windows.shape[0], :possible_windows.shape[1]] = possible_windows + filler[ + : possible_windows.shape[0], : possible_windows.shape[1] + ] = possible_windows patterns.append(filler) pattern_sizes.append(filler.shape[0]) patterns = np.concatenate(patterns) - pattern_names = ['_'.join('%0.0f' % x for x in y[~np.isnan(y)]) for y in patterns] + pattern_names = ["_".join("%0.0f" % x for x in y[~np.isnan(y)]) for y in patterns] indexes = np.repeat(tours.index, pattern_sizes) # If we've done everything right, the indexes @@ -127,15 +140,22 @@ def build_patterns(trips, time_windows): patterns.index.name = tours.index.name patterns[PATTERN_ID] = pattern_names - patterns = patterns.melt(id_vars=PATTERN_ID, value_name=STOP_TIME_DURATION, - var_name=TRIP_NUM, ignore_index=False).reset_index() + patterns = patterns.melt( + id_vars=PATTERN_ID, + value_name=STOP_TIME_DURATION, + var_name=TRIP_NUM, + ignore_index=False, + ).reset_index() patterns = patterns[~patterns[STOP_TIME_DURATION].isnull()].copy() patterns[TRIP_NUM] = patterns[TRIP_NUM] + 1 patterns[STOP_TIME_DURATION] = patterns[STOP_TIME_DURATION].astype(int) - patterns = pd.merge(patterns, trips.reset_index()[[TOUR_ID, TRIP_ID, TRIP_NUM, OUTBOUND]], - on=[TOUR_ID, TRIP_NUM]) + patterns = pd.merge( + patterns, + trips.reset_index()[[TOUR_ID, TRIP_ID, TRIP_NUM, OUTBOUND]], + on=[TOUR_ID, TRIP_NUM], + ) patterns.index = patterns.apply(generate_tour_leg_id, axis=1) patterns.index.name = TOUR_LEG_ID @@ -154,19 +174,22 @@ def get_spec_for_segment(omnibus_spec, segment): return spec -def choose_tour_leg_pattern(trip_segment, - patterns, spec, - trace_label='trace_label'): +def choose_tour_leg_pattern(trip_segment, patterns, spec, trace_label="trace_label"): alternatives = generate_alternatives(trip_segment, STOP_TIME_DURATION).sort_index() have_trace_targets = tracing.has_trace_targets(trip_segment) if have_trace_targets: - tracing.trace_df(trip_segment, tracing.extend_trace_label(trace_label, 'choosers')) - tracing.trace_df(alternatives, tracing.extend_trace_label(trace_label, 'alternatives'), - transpose=False) + tracing.trace_df( + trip_segment, tracing.extend_trace_label(trace_label, "choosers") + ) + tracing.trace_df( + alternatives, + tracing.extend_trace_label(trace_label, "alternatives"), + transpose=False, + ) if len(spec.columns) > 1: - raise RuntimeError('spec must have only one column') + raise RuntimeError("spec must have only one column") # - join choosers and alts # in vanilla interaction_simulate interaction_df is cross join of choosers and alternatives @@ -176,49 +199,68 @@ def choose_tour_leg_pattern(trip_segment, # so we just need to left join alternatives with choosers assert alternatives.index.name == trip_segment.index.name - interaction_df = alternatives.join(trip_segment, how='left', rsuffix='_chooser') + interaction_df = alternatives.join(trip_segment, how="left", rsuffix="_chooser") - chunk.log_df(trace_label, 'interaction_df', interaction_df) + chunk.log_df(trace_label, "interaction_df", interaction_df) if have_trace_targets: - trace_rows, trace_ids = tracing.interaction_trace_rows(interaction_df, trip_segment) - - tracing.trace_df(interaction_df, - tracing.extend_trace_label(trace_label, 'interaction_df'), - transpose=False) + trace_rows, trace_ids = tracing.interaction_trace_rows( + interaction_df, trip_segment + ) + + tracing.trace_df( + interaction_df, + tracing.extend_trace_label(trace_label, "interaction_df"), + transpose=False, + ) else: trace_rows = trace_ids = None - interaction_utilities, trace_eval_results \ - = interaction_simulate.eval_interaction_utilities(spec, interaction_df, None, trace_label, trace_rows, - estimator=None) - - interaction_utilities = pd.concat([interaction_df[STOP_TIME_DURATION], interaction_utilities], axis=1) - chunk.log_df(trace_label, 'interaction_utilities', interaction_utilities) - - interaction_utilities = pd.merge(interaction_utilities.reset_index(), - patterns[patterns[TRIP_ID].isin(interaction_utilities.index)], - on=[TRIP_ID, STOP_TIME_DURATION], how='left') + ( + interaction_utilities, + trace_eval_results, + ) = interaction_simulate.eval_interaction_utilities( + spec, interaction_df, None, trace_label, trace_rows, estimator=None + ) + + interaction_utilities = pd.concat( + [interaction_df[STOP_TIME_DURATION], interaction_utilities], axis=1 + ) + chunk.log_df(trace_label, "interaction_utilities", interaction_utilities) + + interaction_utilities = pd.merge( + interaction_utilities.reset_index(), + patterns[patterns[TRIP_ID].isin(interaction_utilities.index)], + on=[TRIP_ID, STOP_TIME_DURATION], + how="left", + ) if have_trace_targets: - tracing.trace_interaction_eval_results(trace_eval_results, trace_ids, - tracing.extend_trace_label(trace_label, 'eval')) - - tracing.trace_df(interaction_utilities, - tracing.extend_trace_label(trace_label, 'interaction_utilities'), - transpose=False) + tracing.trace_interaction_eval_results( + trace_eval_results, + trace_ids, + tracing.extend_trace_label(trace_label, "eval"), + ) + + tracing.trace_df( + interaction_utilities, + tracing.extend_trace_label(trace_label, "interaction_utilities"), + transpose=False, + ) del interaction_df - chunk.log_df(trace_label, 'interaction_df', None) + chunk.log_df(trace_label, "interaction_df", None) - interaction_utilities = interaction_utilities.groupby([TOUR_ID, OUTBOUND, PATTERN_ID], - as_index=False)[['utility']].sum() + interaction_utilities = interaction_utilities.groupby( + [TOUR_ID, OUTBOUND, PATTERN_ID], as_index=False + )[["utility"]].sum() - interaction_utilities[TOUR_LEG_ID] = \ - interaction_utilities.apply(generate_tour_leg_id, axis=1) + interaction_utilities[TOUR_LEG_ID] = interaction_utilities.apply( + generate_tour_leg_id, axis=1 + ) tour_choosers = interaction_utilities.set_index(TOUR_LEG_ID) - interaction_utilities = tour_choosers[['utility']].copy() + interaction_utilities = tour_choosers[["utility"]].copy() # reshape utilities (one utility column and one row per row in model_design) # to a dataframe with one row per chooser and one column per alternative @@ -226,8 +268,10 @@ def choose_tour_leg_pattern(trip_segment, # so we need to pad with dummy utilities so low that they are never chosen # number of samples per chooser - sample_counts = interaction_utilities.groupby(interaction_utilities.index).size().values - chunk.log_df(trace_label, 'sample_counts', sample_counts) + sample_counts = ( + interaction_utilities.groupby(interaction_utilities.index).size().values + ) + chunk.log_df(trace_label, "sample_counts", sample_counts) # max number of alternatvies for any chooser max_sample_count = sample_counts.max() @@ -242,57 +286,63 @@ def choose_tour_leg_pattern(trip_segment, inserts = np.repeat(last_row_offsets, max_sample_count - sample_counts) del sample_counts - chunk.log_df(trace_label, 'sample_counts', None) + chunk.log_df(trace_label, "sample_counts", None) # insert the zero-prob utilities to pad each alternative set to same size padded_utilities = np.insert(interaction_utilities.utility.values, inserts, -999) del inserts del interaction_utilities - chunk.log_df(trace_label, 'interaction_utilities', None) + chunk.log_df(trace_label, "interaction_utilities", None) # reshape to array with one row per chooser, one column per alternative padded_utilities = padded_utilities.reshape(-1, max_sample_count) - chunk.log_df(trace_label, 'padded_utilities', padded_utilities) + chunk.log_df(trace_label, "padded_utilities", padded_utilities) # convert to a dataframe with one row per chooser and one column per alternative - utilities_df = pd.DataFrame( - padded_utilities, - index=tour_choosers.index.unique()) - chunk.log_df(trace_label, 'utilities_df', utilities_df) + utilities_df = pd.DataFrame(padded_utilities, index=tour_choosers.index.unique()) + chunk.log_df(trace_label, "utilities_df", utilities_df) del padded_utilities - chunk.log_df(trace_label, 'padded_utilities', None) + chunk.log_df(trace_label, "padded_utilities", None) if have_trace_targets: - tracing.trace_df(utilities_df, tracing.extend_trace_label(trace_label, 'utilities'), - column_labels=['alternative', 'utility']) + tracing.trace_df( + utilities_df, + tracing.extend_trace_label(trace_label, "utilities"), + column_labels=["alternative", "utility"], + ) # convert to probabilities (utilities exponentiated and normalized to probs) # probs is same shape as utilities, one row per chooser and one column for alternative - probs = logit.utils_to_probs(utilities_df, - trace_label=trace_label, trace_choosers=trip_segment) + probs = logit.utils_to_probs( + utilities_df, trace_label=trace_label, trace_choosers=trip_segment + ) - chunk.log_df(trace_label, 'probs', probs) + chunk.log_df(trace_label, "probs", probs) del utilities_df - chunk.log_df(trace_label, 'utilities_df', None) + chunk.log_df(trace_label, "utilities_df", None) if have_trace_targets: - tracing.trace_df(probs, tracing.extend_trace_label(trace_label, 'probs'), - column_labels=['alternative', 'probability']) + tracing.trace_df( + probs, + tracing.extend_trace_label(trace_label, "probs"), + column_labels=["alternative", "probability"], + ) # make choices # positions is series with the chosen alternative represented as a column index in probs # which is an integer between zero and num alternatives in the alternative sample - positions, rands = \ - logit.make_choices(probs, trace_label=trace_label, trace_choosers=trip_segment) + positions, rands = logit.make_choices( + probs, trace_label=trace_label, trace_choosers=trip_segment + ) - chunk.log_df(trace_label, 'positions', positions) - chunk.log_df(trace_label, 'rands', rands) + chunk.log_df(trace_label, "positions", positions) + chunk.log_df(trace_label, "rands", rands) del probs - chunk.log_df(trace_label, 'probs', None) + chunk.log_df(trace_label, "probs", None) # shouldn't have chosen any of the dummy pad utilities assert positions.max() < max_sample_count @@ -304,13 +354,19 @@ def choose_tour_leg_pattern(trip_segment, # resulting pandas Int64Index has one element per chooser row and is in same order as choosers choices = tour_choosers[PATTERN_ID].take(positions + first_row_offsets) - chunk.log_df(trace_label, 'choices', choices) + chunk.log_df(trace_label, "choices", choices) if have_trace_targets: - tracing.trace_df(choices, tracing.extend_trace_label(trace_label, 'choices'), - columns=[None, PATTERN_ID]) - tracing.trace_df(rands, tracing.extend_trace_label(trace_label, 'rands'), - columns=[None, 'rand']) + tracing.trace_df( + choices, + tracing.extend_trace_label(trace_label, "choices"), + columns=[None, PATTERN_ID], + ) + tracing.trace_df( + rands, + tracing.extend_trace_label(trace_label, "rands"), + columns=[None, "rand"], + ) return choices @@ -321,116 +377,142 @@ def apply_stage_two_model(omnibus_spec, trips, chunk_size, trace_label): trips = trips.sort_index() # Assign the duration of the appropriate leg to the trip - trips[TRIP_DURATION] = np.where(trips[OUTBOUND], trips[OB_DURATION], trips[IB_DURATION]) + trips[TRIP_DURATION] = np.where( + trips[OUTBOUND], trips[OB_DURATION], trips[IB_DURATION] + ) - trips['depart'] = -1 + trips["depart"] = -1 # If this is the first outbound trip, the choice is easy, assign the depart time # to equal the tour start time. - trips.loc[(trips['trip_num'] == 1) & (trips[OUTBOUND]), 'depart'] = trips['start'] + trips.loc[(trips["trip_num"] == 1) & (trips[OUTBOUND]), "depart"] = trips["start"] # If its the first return leg, it is easy too. Just assign the trip start time to the # end time minus the IB duration - trips.loc[(trips['trip_num'] == 1) & (~trips[OUTBOUND]), 'depart'] = trips['end'] - trips[IB_DURATION] + trips.loc[(trips["trip_num"] == 1) & (~trips[OUTBOUND]), "depart"] = ( + trips["end"] - trips[IB_DURATION] + ) # The last leg of the outbound tour needs to begin at the start plus OB duration - trips.loc[(trips['trip_count'] == trips['trip_num']) & (trips[OUTBOUND]), 'depart'] = \ - trips['start'] + trips[OB_DURATION] + trips.loc[ + (trips["trip_count"] == trips["trip_num"]) & (trips[OUTBOUND]), "depart" + ] = (trips["start"] + trips[OB_DURATION]) # The last leg of the inbound tour needs to begin at the end time of the tour - trips.loc[(trips['trip_count'] == trips['trip_num']) & (~trips[OUTBOUND]), 'depart'] = \ - trips['end'] + trips.loc[ + (trips["trip_count"] == trips["trip_num"]) & (~trips[OUTBOUND]), "depart" + ] = trips["end"] # Slice off the remaining trips with an intermediate stops to deal with. # Hopefully, with the tricks above we've sliced off a lot of choices. # This slice should only include trip numbers greater than 2 since the - side_trips = trips[(trips['trip_num'] != 1) & (trips['trip_count'] != trips['trip_num'])] + side_trips = trips[ + (trips["trip_num"] != 1) & (trips["trip_count"] != trips["trip_num"]) + ] # No processing needs to be done because we have simple trips / tours if side_trips.empty: - assert trips['depart'].notnull().all - return trips['depart'].astype(int) + assert trips["depart"].notnull().all + return trips["depart"].astype(int) # Get the potential time windows - time_windows = get_time_windows(side_trips[TRIP_DURATION].max(), side_trips[TRIP_COUNT].max() - 1) + time_windows = get_time_windows( + side_trips[TRIP_DURATION].max(), side_trips[TRIP_COUNT].max() - 1 + ) trip_list = [] - for i, chooser_chunk, chunk_trace_label in \ - chunk.adaptive_chunked_choosers_by_chunk_id(side_trips, chunk_size, trace_label): + for ( + i, + chooser_chunk, + chunk_trace_label, + ) in chunk.adaptive_chunked_choosers_by_chunk_id( + side_trips, chunk_size, trace_label + ): for is_outbound, trip_segment in chooser_chunk.groupby(OUTBOUND): - direction = OUTBOUND if is_outbound else 'inbound' + direction = OUTBOUND if is_outbound else "inbound" spec = get_spec_for_segment(omnibus_spec, direction) - segment_trace_label = '{}_{}'.format(direction, chunk_trace_label) + segment_trace_label = "{}_{}".format(direction, chunk_trace_label) patterns = build_patterns(trip_segment, time_windows) - choices = choose_tour_leg_pattern(trip_segment, - patterns, spec, trace_label=segment_trace_label) + choices = choose_tour_leg_pattern( + trip_segment, patterns, spec, trace_label=segment_trace_label + ) - choices = pd.merge(choices.reset_index(), patterns.reset_index(), - on=[TOUR_LEG_ID, PATTERN_ID], how='left') + choices = pd.merge( + choices.reset_index(), + patterns.reset_index(), + on=[TOUR_LEG_ID, PATTERN_ID], + how="left", + ) - choices = choices[['trip_id', 'stop_time_duration']].copy() + choices = choices[["trip_id", "stop_time_duration"]].copy() trip_list.append(choices) - trip_list = pd.concat(trip_list, sort=True).set_index('trip_id') - trips['stop_time_duration'] = 0 + trip_list = pd.concat(trip_list, sort=True).set_index("trip_id") + trips["stop_time_duration"] = 0 trips.update(trip_list) - trips.loc[trips['trip_num'] == 1, 'stop_time_duration'] = trips['depart'] - trips.sort_values(['tour_id', 'outbound', 'trip_num']) - trips['stop_time_duration'] = trips.groupby(['tour_id', 'outbound'])['stop_time_duration'].cumsum() - trips.loc[trips['trip_num'] != trips['trip_count'], 'depart'] = trips['stop_time_duration'] - return trips['depart'].astype(int) + trips.loc[trips["trip_num"] == 1, "stop_time_duration"] = trips["depart"] + trips.sort_values(["tour_id", "outbound", "trip_num"]) + trips["stop_time_duration"] = trips.groupby(["tour_id", "outbound"])[ + "stop_time_duration" + ].cumsum() + trips.loc[trips["trip_num"] != trips["trip_count"], "depart"] = trips[ + "stop_time_duration" + ] + return trips["depart"].astype(int) @inject.step() -def trip_departure_choice( - trips, - trips_merged, - skim_dict, - chunk_size, - trace_hh_id): +def trip_departure_choice(trips, trips_merged, skim_dict, chunk_size, trace_hh_id): - trace_label = 'trip_departure_choice' - model_settings = config.read_model_settings('trip_departure_choice.yaml') + trace_label = "trip_departure_choice" + model_settings = config.read_model_settings("trip_departure_choice.yaml") - spec = simulate.read_model_spec(file_name=model_settings['SPECIFICATION']) + spec = simulate.read_model_spec(file_name=model_settings["SPECIFICATION"]) trips_merged_df = trips_merged.to_frame() # add tour-based chunk_id so we can chunk all trips in tour together tour_ids = trips_merged[TOUR_ID].unique() - trips_merged_df['chunk_id'] = reindex(pd.Series(list(range(len(tour_ids))), tour_ids), trips_merged_df.tour_id) + trips_merged_df["chunk_id"] = reindex( + pd.Series(list(range(len(tour_ids))), tour_ids), trips_merged_df.tour_id + ) max_tour_id = trips_merged[TOUR_ID].max() - trip_departure_choice.MAX_TOUR_ID = int(np.power(10, np.ceil(np.log10(max_tour_id)))) + trip_departure_choice.MAX_TOUR_ID = int( + np.power(10, np.ceil(np.log10(max_tour_id))) + ) locals_d = config.get_model_constants(model_settings).copy() - preprocessor_settings = model_settings.get('PREPROCESSOR', None) + preprocessor_settings = model_settings.get("PREPROCESSOR", None) tour_legs = get_tour_legs(trips_merged_df) - pipeline.get_rn_generator().add_channel('tour_legs', tour_legs) + pipeline.get_rn_generator().add_channel("tour_legs", tour_legs) if preprocessor_settings: - od_skim = skim_dict.wrap('origin', 'destination') - do_skim = skim_dict.wrap('destination', 'origin') + od_skim = skim_dict.wrap("origin", "destination") + do_skim = skim_dict.wrap("destination", "origin") skims = [od_skim, do_skim] simulate.set_skim_wrapper_targets(trips_merged_df, skims) - locals_d.update({ - "od_skims": od_skim, - "do_skims": do_skim, - }) + locals_d.update( + { + "od_skims": od_skim, + "do_skims": do_skim, + } + ) expressions.assign_columns( df=trips_merged_df, model_settings=preprocessor_settings, locals_dict=locals_d, - trace_label=trace_label) + trace_label=trace_label, + ) choices = apply_stage_two_model(spec, trips_merged_df, chunk_size, trace_label) @@ -438,6 +520,6 @@ def trip_departure_choice( trip_length = len(trips_df) trips_df = pd.concat([trips_df, choices], axis=1) assert len(trips_df) == trip_length - assert trips_df[trips_df['depart'].isnull()].empty + assert trips_df[trips_df["depart"].isnull()].empty pipeline.replace_table("trips", trips_df) diff --git a/activitysim/abm/models/trip_destination.py b/activitysim/abm/models/trip_destination.py index e4dbed4444..133e5c5b06 100644 --- a/activitysim/abm/models/trip_destination.py +++ b/activitysim/abm/models/trip_destination.py @@ -1,64 +1,59 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - import logging +from builtins import range import numpy as np import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import chunk -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import los -from activitysim.core import assign -from activitysim.core import expressions - -from activitysim.core.tracing import print_elapsed_time - -from activitysim.core.util import reindex -from activitysim.core.util import assign_in_place - -from activitysim.core.pathbuilder import TransitVirtualPathBuilder - +from activitysim.abm.models.util.trip import ( + cleanup_failed_trips, + flag_failed_trip_leg_mates, +) from activitysim.abm.tables.size_terms import tour_destination_size_terms - -from activitysim.core.skim_dictionary import DataFrameMatrix - -from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.core import ( + assign, + chunk, + config, + expressions, + inject, + los, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_sample import interaction_sample +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.core.pathbuilder import TransitVirtualPathBuilder +from activitysim.core.skim_dictionary import DataFrameMatrix +from activitysim.core.tracing import print_elapsed_time +from activitysim.core.util import assign_in_place, reindex from .util import estimation -from activitysim.abm.models.util.trip import cleanup_failed_trips -from activitysim.abm.models.util.trip import flag_failed_trip_leg_mates - - logger = logging.getLogger(__name__) NO_DESTINATION = -1 # TRIP_ORIG_TAZ = 'TAZ' -ALT_DEST_TAZ = 'ALT_DEST_TAZ' +ALT_DEST_TAZ = "ALT_DEST_TAZ" # PRIMARY_DEST_TAZ = 'PRIMARY_DEST_TAZ' # DEST_MAZ = 'dest_maz' def _destination_sample( - primary_purpose, - trips, - alternatives, - model_settings, - size_term_matrix, - skims, - alt_dest_col_name, - estimator, - chunk_size, - chunk_tag, - trace_label): + primary_purpose, + trips, + alternatives, + model_settings, + size_term_matrix, + skims, + alt_dest_col_name, + estimator, + chunk_size, + chunk_tag, + trace_label, +): """ Note: trips with no viable destination receive no sample rows @@ -75,13 +70,22 @@ def _destination_sample( 102829169 3193 0.002628 1 """ - spec = simulate.spec_for_segment(model_settings, spec_id='DESTINATION_SAMPLE_SPEC', - segment_name=primary_purpose, estimator=estimator) + spec = simulate.spec_for_segment( + model_settings, + spec_id="DESTINATION_SAMPLE_SPEC", + segment_name=primary_purpose, + estimator=estimator, + ) - sample_size = model_settings['SAMPLE_SIZE'] - if config.setting('disable_destination_sampling', False) or (estimator and estimator.want_unsampled_alternatives): + sample_size = model_settings["SAMPLE_SIZE"] + if config.setting("disable_destination_sampling", False) or ( + estimator and estimator.want_unsampled_alternatives + ): # FIXME interaction_sample will return unsampled complete alternatives with probs and pick_count - logger.info("Estimation mode for %s using unsampled alternatives short_circuit_choices" % (trace_label,)) + logger.info( + "Estimation mode for %s using unsampled alternatives short_circuit_choices" + % (trace_label,) + ) sample_size = 0 locals_dict = config.get_model_constants(model_settings).copy() @@ -91,12 +95,10 @@ def _destination_sample( # cannot be determined until after choosers are joined with alternatives # (unless we iterate over trip.purpose - which we could, though we are already iterating over trip_num) # so, instead, expressions determine row-specific size_term by a call to: size_terms.get(df.alt_dest, df.purpose) - locals_dict.update({ - 'size_terms': size_term_matrix - }) + locals_dict.update({"size_terms": size_term_matrix}) locals_dict.update(skims) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample( choosers=trips, @@ -108,28 +110,30 @@ def _destination_sample( spec=spec, skims=skims, locals_d=locals_dict, - chunk_size=chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label - ) + chunk_size=chunk_size, + chunk_tag=chunk_tag, + trace_label=trace_label, + ) return choices def destination_sample( - primary_purpose, - trips, - alternatives, - model_settings, - size_term_matrix, - skim_hotel, - estimator, - chunk_size, - trace_label): - - chunk_tag = 'trip_destination.sample' + primary_purpose, + trips, + alternatives, + model_settings, + size_term_matrix, + skim_hotel, + estimator, + chunk_size, + trace_label, +): + + chunk_tag = "trip_destination.sample" skims = skim_hotel.sample_skims(presample=False) - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] choices = _destination_sample( primary_purpose, @@ -142,7 +146,8 @@ def destination_sample( estimator, chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) return choices @@ -160,7 +165,9 @@ def aggregate_size_term_matrix(maz_size_term_matrix, maz_taz): return taz_size_term_matrix -def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_col_name, trace_label): +def choose_MAZ_for_TAZ( + taz_sample, MAZ_size_terms, trips, network_los, alt_dest_col_name, trace_label +): """ Convert taz_sample table with TAZ zone sample choices to a table with a MAZ zone chosen for each TAZ choose MAZ probabilistically (proportionally by size_term) from set of MAZ zones in parent TAZ @@ -190,13 +197,15 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ trace_hh_id = inject.get_injectable("trace_hh_id", None) have_trace_targets = trace_hh_id and tracing.has_trace_targets(taz_sample) if have_trace_targets: - trace_label = tracing.extend_trace_label(trace_label, 'choose_MAZ_for_TAZ') + trace_label = tracing.extend_trace_label(trace_label, "choose_MAZ_for_TAZ") # write taz choices, pick_counts, probs trace_targets = tracing.trace_targets(taz_sample) - tracing.trace_df(taz_sample[trace_targets], - label=tracing.extend_trace_label(trace_label, 'taz_sample'), - transpose=False) + tracing.trace_df( + taz_sample[trace_targets], + label=tracing.extend_trace_label(trace_label, "taz_sample"), + transpose=False, + ) # print(f"taz_sample\n{taz_sample}") # alt_dest_TAZ prob pick_count @@ -204,9 +213,11 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ # 4343721 12 0.000054 1 # 4343721 20 0.001864 2 - taz_choices = taz_sample[[DEST_TAZ, 'prob']].reset_index(drop=False) - taz_choices = taz_choices.reindex(taz_choices.index.repeat(taz_sample.pick_count)).reset_index(drop=True) - taz_choices = taz_choices.rename(columns={'prob': 'TAZ_prob'}) + taz_choices = taz_sample[[DEST_TAZ, "prob"]].reset_index(drop=False) + taz_choices = taz_choices.reindex( + taz_choices.index.repeat(taz_sample.pick_count) + ).reset_index(drop=True) + taz_choices = taz_choices.rename(columns={"prob": "TAZ_prob"}) # print(f"taz_choices\n{taz_choices}") # trip_id alt_dest_TAZ prob @@ -222,7 +233,9 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ # 4 0.0 1.879 0.023 0.000 0.023 0.023 5.796 0.023 # just to make it clear we are siloing choices by chooser_id - chooser_id_col = taz_sample.index.name # should be canonical chooser index name (e.g. 'trip_id') + chooser_id_col = ( + taz_sample.index.name + ) # should be canonical chooser index name (e.g. 'trip_id') # for random_for_df, we need df with de-duplicated chooser canonical index chooser_df = pd.DataFrame(index=taz_sample.index[~taz_sample.index.duplicated()]) @@ -234,20 +247,27 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ taz_sample_size = taz_choices.groupby(chooser_id_col)[DEST_TAZ].count().max() # taz_choices index values should be contiguous - assert (taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size)).all() + assert ( + taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size) + ).all() # we need to choose a MAZ for each DEST_TAZ choice # probability of choosing MAZ based on MAZ size_term fraction of TAZ total # there will be a different set (and number) of candidate MAZs for each TAZ # (preserve index, which will have duplicates as result of join) - maz_taz = network_los.maz_taz_df[['MAZ', 'TAZ']].rename(columns={'TAZ': DEST_TAZ, 'MAZ': DEST_MAZ}) - maz_sizes = pd.merge(taz_choices[[chooser_id_col, DEST_TAZ]].reset_index(), - maz_taz, - how='left', on=DEST_TAZ).set_index('index') + maz_taz = network_los.maz_taz_df[["MAZ", "TAZ"]].rename( + columns={"TAZ": DEST_TAZ, "MAZ": DEST_MAZ} + ) + maz_sizes = pd.merge( + taz_choices[[chooser_id_col, DEST_TAZ]].reset_index(), + maz_taz, + how="left", + on=DEST_TAZ, + ).set_index("index") - purpose = maz_sizes['trip_id'].map(trips.purpose) # size term varies by purpose - maz_sizes['size_term'] = MAZ_size_terms.get(maz_sizes[DEST_MAZ], purpose) + purpose = maz_sizes["trip_id"].map(trips.purpose) # size term varies by purpose + maz_sizes["size_term"] = MAZ_size_terms.get(maz_sizes[DEST_MAZ], purpose) # print(f"maz_sizes\n{maz_sizes}") # trip_id alt_dest_TAZ alt_dest size_term @@ -258,11 +278,13 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ if have_trace_targets: # write maz_sizes: maz_sizes[index,trip_id,dest_TAZ,zone_id,size_term] - maz_sizes_trace_targets = tracing.trace_targets(maz_sizes, slicer='trip_id') + maz_sizes_trace_targets = tracing.trace_targets(maz_sizes, slicer="trip_id") trace_maz_sizes = maz_sizes[maz_sizes_trace_targets] - tracing.trace_df(trace_maz_sizes, - label=tracing.extend_trace_label(trace_label, 'maz_sizes'), - transpose=False) + tracing.trace_df( + trace_maz_sizes, + label=tracing.extend_trace_label(trace_label, "maz_sizes"), + transpose=False, + ) # number of DEST_TAZ candidates per chooser maz_counts = maz_sizes.groupby(maz_sizes.index).size().values @@ -290,7 +312,11 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ maz_probs = np.divide(padded_maz_sizes, row_sums.reshape(-1, 1)) assert maz_probs.shape == (num_choosers * taz_sample_size, max_maz_count) - rands = pipeline.get_rn_generator().random_for_df(chooser_df, n=taz_sample_size).reshape(-1, 1) + rands = ( + pipeline.get_rn_generator() + .random_for_df(chooser_df, n=taz_sample_size) + .reshape(-1, 1) + ) assert len(rands) == num_choosers * taz_sample_size assert len(rands) == maz_probs.shape[0] @@ -303,49 +329,79 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ assert (positions < maz_counts).all() taz_choices[DEST_MAZ] = maz_sizes[DEST_MAZ].take(positions + first_row_offsets) - taz_choices['MAZ_prob'] = maz_probs[np.arange(maz_probs.shape[0]), positions] - taz_choices['prob'] = taz_choices['TAZ_prob'] * taz_choices['MAZ_prob'] + taz_choices["MAZ_prob"] = maz_probs[np.arange(maz_probs.shape[0]), positions] + taz_choices["prob"] = taz_choices["TAZ_prob"] * taz_choices["MAZ_prob"] if have_trace_targets: - taz_choices_trace_targets = tracing.trace_targets(taz_choices, slicer='trip_id') + taz_choices_trace_targets = tracing.trace_targets(taz_choices, slicer="trip_id") trace_taz_choices_df = taz_choices[taz_choices_trace_targets] - tracing.trace_df(trace_taz_choices_df, - label=tracing.extend_trace_label(trace_label, 'taz_choices'), - transpose=False) + tracing.trace_df( + trace_taz_choices_df, + label=tracing.extend_trace_label(trace_label, "taz_choices"), + transpose=False, + ) - lhs_df = trace_taz_choices_df[['trip_id', DEST_TAZ]] - alt_dest_columns = [f'dest_maz_{c}' for c in range(max_maz_count)] + lhs_df = trace_taz_choices_df[["trip_id", DEST_TAZ]] + alt_dest_columns = [f"dest_maz_{c}" for c in range(max_maz_count)] # following the same logic as the full code, but for trace cutout trace_maz_counts = maz_counts[taz_choices_trace_targets] trace_last_row_offsets = maz_counts[taz_choices_trace_targets].cumsum() - trace_inserts = np.repeat(trace_last_row_offsets, max_maz_count - trace_maz_counts) + trace_inserts = np.repeat( + trace_last_row_offsets, max_maz_count - trace_maz_counts + ) # trace dest_maz_alts - padded_maz_sizes = np.insert(trace_maz_sizes[DEST_MAZ].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes[DEST_MAZ].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_alts'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_alts"), + transpose=False, + ) # trace dest_maz_size_terms - padded_maz_sizes = np.insert(trace_maz_sizes['size_term'].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes["size_term"].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_size_terms'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_size_terms"), + transpose=False, + ) # trace dest_maz_probs - df = pd.DataFrame(data=maz_probs[taz_choices_trace_targets], - columns=alt_dest_columns, index=trace_taz_choices_df.index) + df = pd.DataFrame( + data=maz_probs[taz_choices_trace_targets], + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - df['rand'] = rands[taz_choices_trace_targets] - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_probs'), transpose=False) + df["rand"] = rands[taz_choices_trace_targets] + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_probs"), + transpose=False, + ) - taz_choices = taz_choices.drop(columns=['TAZ_prob', 'MAZ_prob']) - taz_choices = taz_choices.groupby([chooser_id_col, DEST_MAZ]).agg(prob=('prob', 'max'), - pick_count=('prob', 'count')) + taz_choices = taz_choices.drop(columns=["TAZ_prob", "MAZ_prob"]) + taz_choices = taz_choices.groupby([chooser_id_col, DEST_MAZ]).agg( + prob=("prob", "max"), pick_count=("prob", "count") + ) taz_choices.reset_index(level=DEST_MAZ, inplace=True) @@ -353,27 +409,29 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ def destination_presample( - primary_purpose, - trips, - alternatives, - model_settings, - size_term_matrix, - skim_hotel, - network_los, - estimator, - chunk_size, trace_hh_id, - trace_label): - - trace_label = tracing.extend_trace_label(trace_label, 'presample') - chunk_tag = 'trip_destination.presample' # distinguish from trip_destination.sample - - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - maz_taz = network_los.maz_taz_df[['MAZ', 'TAZ']].set_index('MAZ').TAZ + primary_purpose, + trips, + alternatives, + model_settings, + size_term_matrix, + skim_hotel, + network_los, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): + + trace_label = tracing.extend_trace_label(trace_label, "presample") + chunk_tag = "trip_destination.presample" # distinguish from trip_destination.sample + + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] + maz_taz = network_los.maz_taz_df[["MAZ", "TAZ"]].set_index("MAZ").TAZ TAZ_size_term_matrix = aggregate_size_term_matrix(size_term_matrix, maz_taz) - TRIP_ORIGIN = model_settings['TRIP_ORIGIN'] - PRIMARY_DEST = model_settings['PRIMARY_DEST'] + TRIP_ORIGIN = model_settings["TRIP_ORIGIN"] + PRIMARY_DEST = model_settings["PRIMARY_DEST"] trips_taz = trips.copy() trips_taz[TRIP_ORIGIN] = trips_taz[TRIP_ORIGIN].map(maz_taz) @@ -400,10 +458,13 @@ def destination_presample( estimator, chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) # choose a MAZ for each DEST_TAZ choice, choice probability based on MAZ size_term fraction of TAZ total - maz_sample = choose_MAZ_for_TAZ(taz_sample, size_term_matrix, trips, network_los, alt_dest_col_name, trace_label) + maz_sample = choose_MAZ_for_TAZ( + taz_sample, size_term_matrix, trips, network_los, alt_dest_col_name, trace_label + ) assert alt_dest_col_name in maz_sample @@ -411,15 +472,17 @@ def destination_presample( def trip_destination_sample( - primary_purpose, - trips, - alternatives, - model_settings, - size_term_matrix, - skim_hotel, - estimator, - chunk_size, trace_hh_id, - trace_label): + primary_purpose, + trips, + alternatives, + model_settings, + size_term_matrix, + skim_hotel, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): """ Returns @@ -436,22 +499,27 @@ def trip_destination_sample( pick_count : int number of duplicate picks for chooser, alt """ - trace_label = tracing.extend_trace_label(trace_label, 'sample') + trace_label = tracing.extend_trace_label(trace_label, "sample") assert len(trips) > 0 assert len(alternatives) > 0 # by default, enable presampling for multizone systems, unless they disable it in settings file - network_los = inject.get_injectable('network_los') + network_los = inject.get_injectable("network_los") pre_sample_taz = network_los.zone_system != los.ONE_ZONE - if pre_sample_taz and not config.setting('want_dest_choice_presampling', True): + if pre_sample_taz and not config.setting("want_dest_choice_presampling", True): pre_sample_taz = False - logger.info(f"Disabled destination zone presampling for {trace_label} " - f"because 'want_dest_choice_presampling' setting is False") + logger.info( + f"Disabled destination zone presampling for {trace_label} " + f"because 'want_dest_choice_presampling' setting is False" + ) if pre_sample_taz: - logger.info("Running %s trip_destination_presample with %d trips" % (trace_label, len(trips))) + logger.info( + "Running %s trip_destination_presample with %d trips" + % (trace_label, len(trips)) + ) choices = destination_presample( primary_purpose, @@ -462,8 +530,10 @@ def trip_destination_sample( skim_hotel, network_los, estimator, - chunk_size, trace_hh_id, - trace_label) + chunk_size, + trace_hh_id, + trace_label, + ) else: choices = destination_sample( @@ -475,20 +545,23 @@ def trip_destination_sample( skim_hotel, estimator, chunk_size, - trace_label) + trace_label, + ) return choices def compute_ood_logsums( - choosers, - logsum_settings, - nest_spec, logsum_spec, - od_skims, - locals_dict, - chunk_size, - trace_label, - chunk_tag): + choosers, + logsum_settings, + nest_spec, + logsum_spec, + od_skims, + locals_dict, + chunk_size, + trace_label, + chunk_tag, +): """ Compute one (of two) out-of-direction logsums for destination alternatives @@ -502,12 +575,12 @@ def compute_ood_logsums( # causing pathbuilder to throw an error at L815 due to the assert statement # in `chunk.chunk_log()` at chunk.py L927. To avoid failing this assertion, # the preprocessor must be called from within a "null chunker" as follows: - with chunk.chunk_log(tracing.extend_trace_label( - trace_label, 'annotate_preprocessor'), base=True): + with chunk.chunk_log( + tracing.extend_trace_label(trace_label, "annotate_preprocessor"), base=True + ): expressions.annotate_preprocessors( - choosers, locals_dict, od_skims, - logsum_settings, - trace_label) + choosers, locals_dict, od_skims, logsum_settings, trace_label + ) logsums = simulate.simple_simulate_logsums( choosers, @@ -517,7 +590,8 @@ def compute_ood_logsums( locals_d=locals_dict, chunk_size=chunk_size, trace_label=trace_label, - chunk_tag=chunk_tag) + chunk_tag=chunk_tag, + ) assert logsums.index.equals(choosers.index) @@ -528,14 +602,15 @@ def compute_ood_logsums( def compute_logsums( - primary_purpose, - trips, - destination_sample, - tours_merged, - model_settings, - skim_hotel, - chunk_size, - trace_label): + primary_purpose, + trips, + destination_sample, + tours_merged, + model_settings, + skim_hotel, + chunk_size, + trace_label, +): """ Calculate mode choice logsums using the same recipe as for trip_mode_choice, but do it twice for each alternative since we need out-of-direction logsum @@ -545,41 +620,40 @@ def compute_logsums( ------- adds od_logsum and dp_logsum columns to trips (in place) """ - trace_label = tracing.extend_trace_label(trace_label, 'compute_logsums') + trace_label = tracing.extend_trace_label(trace_label, "compute_logsums") logger.info("Running %s with %d samples", trace_label, destination_sample.shape[0]) # chunk usage is uniform so better to combine - chunk_tag = 'trip_destination.compute_logsums' + chunk_tag = "trip_destination.compute_logsums" # FIXME should pass this in? - network_los = inject.get_injectable('network_los') + network_los = inject.get_injectable("network_los") # - trips_merged - merge trips and tours_merged trips_merged = pd.merge( - trips, - tours_merged, - left_on='tour_id', - right_index=True, - how="left") + trips, tours_merged, left_on="tour_id", right_index=True, how="left" + ) assert trips_merged.index.equals(trips.index) # - choosers - merge destination_sample and trips_merged # re/set index because pandas merge does not preserve left index if it has duplicate values! - choosers = pd.merge(destination_sample, - trips_merged.reset_index(), - left_index=True, - right_on='trip_id', - how="left", - suffixes=('', '_r')).set_index('trip_id') + choosers = pd.merge( + destination_sample, + trips_merged.reset_index(), + left_index=True, + right_on="trip_id", + how="left", + suffixes=("", "_r"), + ).set_index("trip_id") assert choosers.index.equals(destination_sample.index) - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) coefficients = simulate.get_segment_coefficients(logsum_settings, primary_purpose) nest_spec = config.get_logit_model_settings(logsum_settings) nest_spec = simulate.eval_nest_coefficients(nest_spec, coefficients, trace_label) - logsum_spec = simulate.read_model_spec(file_name=logsum_settings['SPEC']) + logsum_spec = simulate.read_model_spec(file_name=logsum_settings["SPEC"]) logsum_spec = simulate.eval_coefficients(logsum_spec, coefficients, estimator=None) locals_dict = {} @@ -591,70 +665,82 @@ def compute_logsums( skims = skim_hotel.logsum_skims() if network_los.zone_system == los.THREE_ZONE: # TVPB constants can appear in expressions - if logsum_settings.get('use_TVPB_constants', True): - locals_dict.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + if logsum_settings.get("use_TVPB_constants", True): + locals_dict.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) # - od_logsums od_skims = { - 'ORIGIN': model_settings['TRIP_ORIGIN'], - 'DESTINATION': model_settings['ALT_DEST_COL_NAME'], - "odt_skims": skims['odt_skims'], - "dot_skims": skims['dot_skims'], - "od_skims": skims['od_skims'], + "ORIGIN": model_settings["TRIP_ORIGIN"], + "DESTINATION": model_settings["ALT_DEST_COL_NAME"], + "odt_skims": skims["odt_skims"], + "dot_skims": skims["dot_skims"], + "od_skims": skims["od_skims"], } if network_los.zone_system == los.THREE_ZONE: - od_skims.update({ - 'tvpb_logsum_odt': skims['tvpb_logsum_odt'], - 'tvpb_logsum_dot': skims['tvpb_logsum_dot'] - }) - destination_sample['od_logsum'] = compute_ood_logsums( + od_skims.update( + { + "tvpb_logsum_odt": skims["tvpb_logsum_odt"], + "tvpb_logsum_dot": skims["tvpb_logsum_dot"], + } + ) + destination_sample["od_logsum"] = compute_ood_logsums( choosers, logsum_settings, - nest_spec, logsum_spec, + nest_spec, + logsum_spec, od_skims, locals_dict, chunk_size, - trace_label=tracing.extend_trace_label(trace_label, 'od'), - chunk_tag=chunk_tag) + trace_label=tracing.extend_trace_label(trace_label, "od"), + chunk_tag=chunk_tag, + ) # - dp_logsums dp_skims = { - 'ORIGIN': model_settings['ALT_DEST_COL_NAME'], - 'DESTINATION': model_settings['PRIMARY_DEST'], - "odt_skims": skims['dpt_skims'], - "dot_skims": skims['pdt_skims'], - "od_skims": skims['dp_skims'], + "ORIGIN": model_settings["ALT_DEST_COL_NAME"], + "DESTINATION": model_settings["PRIMARY_DEST"], + "odt_skims": skims["dpt_skims"], + "dot_skims": skims["pdt_skims"], + "od_skims": skims["dp_skims"], } if network_los.zone_system == los.THREE_ZONE: - dp_skims.update({ - 'tvpb_logsum_odt': skims['tvpb_logsum_dpt'], - 'tvpb_logsum_dot': skims['tvpb_logsum_pdt'] - }) + dp_skims.update( + { + "tvpb_logsum_odt": skims["tvpb_logsum_dpt"], + "tvpb_logsum_dot": skims["tvpb_logsum_pdt"], + } + ) - destination_sample['dp_logsum'] = compute_ood_logsums( + destination_sample["dp_logsum"] = compute_ood_logsums( choosers, logsum_settings, - nest_spec, logsum_spec, + nest_spec, + logsum_spec, dp_skims, locals_dict, chunk_size, - trace_label=tracing.extend_trace_label(trace_label, 'dp'), - chunk_tag=chunk_tag) + trace_label=tracing.extend_trace_label(trace_label, "dp"), + chunk_tag=chunk_tag, + ) return destination_sample def trip_destination_simulate( - primary_purpose, - trips, - destination_sample, - model_settings, - want_logsums, - size_term_matrix, - skim_hotel, - estimator, - chunk_size, trace_hh_id, - trace_label): + primary_purpose, + trips, + destination_sample, + model_settings, + want_logsums, + size_term_matrix, + skim_hotel, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): """ Chose destination from destination_sample (with od_logsum and dp_logsum columns added) @@ -664,28 +750,30 @@ def trip_destination_simulate( choices - pandas.Series destination alt chosen """ - trace_label = tracing.extend_trace_label(trace_label, 'trip_dest_simulate') - chunk_tag = 'trip_destination.simulate' + trace_label = tracing.extend_trace_label(trace_label, "trip_dest_simulate") + chunk_tag = "trip_destination.simulate" - spec = simulate.spec_for_segment(model_settings, spec_id='DESTINATION_SPEC', - segment_name=primary_purpose, estimator=estimator) + spec = simulate.spec_for_segment( + model_settings, + spec_id="DESTINATION_SPEC", + segment_name=primary_purpose, + estimator=estimator, + ) if estimator: estimator.write_choosers(trips) - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] logger.info("Running trip_destination_simulate with %d trips", len(trips)) skims = skim_hotel.sample_skims(presample=False) locals_dict = config.get_model_constants(model_settings).copy() - locals_dict.update({ - 'size_terms': size_term_matrix - }) + locals_dict.update({"size_terms": size_term_matrix}) locals_dict.update(skims) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) destinations = interaction_sample_simulate( choosers=trips, alternatives=destination_sample, @@ -693,24 +781,29 @@ def trip_destination_simulate( choice_column=alt_dest_col_name, log_alt_losers=log_alt_losers, want_logsums=want_logsums, - allow_zero_probs=True, zero_prob_choice_val=NO_DESTINATION, + allow_zero_probs=True, + zero_prob_choice_val=NO_DESTINATION, skims=skims, locals_d=locals_dict, - chunk_size=chunk_size, chunk_tag=chunk_tag, + chunk_size=chunk_size, + chunk_tag=chunk_tag, trace_label=trace_label, - trace_choice_name='trip_dest', - estimator=estimator) + trace_choice_name="trip_dest", + estimator=estimator, + ) if not want_logsums: # for consistency, always return a dataframe with canonical column name assert isinstance(destinations, pd.Series) - destinations = destinations.to_frame('choice') + destinations = destinations.to_frame("choice") if estimator: # need to overwrite choices here before any failed choices are suppressed estimator.write_choices(destinations.choice) - destinations.choice = estimator.get_survey_values(destinations.choice, 'trips', 'destination') + destinations.choice = estimator.get_survey_values( + destinations.choice, "trips", "destination" + ) estimator.write_override_choices(destinations.choice) # drop any failed zero_prob destinations @@ -722,17 +815,20 @@ def trip_destination_simulate( def choose_trip_destination( - primary_purpose, - trips, - alternatives, - tours_merged, - model_settings, - want_logsums, - want_sample_table, - size_term_matrix, skim_hotel, - estimator, - chunk_size, trace_hh_id, - trace_label): + primary_purpose, + trips, + alternatives, + tours_merged, + model_settings, + want_logsums, + want_sample_table, + size_term_matrix, + skim_hotel, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): logger.info("choose_trip_destination %s with %d trips", trace_label, trips.shape[0]) @@ -747,20 +843,24 @@ def choose_trip_destination( size_term_matrix=size_term_matrix, skim_hotel=skim_hotel, estimator=estimator, - chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=trace_label) + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + ) dropped_trips = ~trips.index.isin(destination_sample.index.unique()) if dropped_trips.any(): - logger.warning("%s trip_destination_sample %s trips " - "without viable destination alternatives" % - (trace_label, dropped_trips.sum())) + logger.warning( + "%s trip_destination_sample %s trips " + "without viable destination alternatives" + % (trace_label, dropped_trips.sum()) + ) trips = trips[~dropped_trips] t0 = print_elapsed_time("%s.trip_destination_sample" % trace_label, t0) if trips.empty: - return pd.Series(index=trips.index).to_frame('choice'), None + return pd.Series(index=trips.index).to_frame("choice"), None # - compute logsums destination_sample = compute_logsums( @@ -771,7 +871,8 @@ def choose_trip_destination( model_settings=model_settings, skim_hotel=skim_hotel, chunk_size=chunk_size, - trace_label=trace_label) + trace_label=trace_label, + ) t0 = print_elapsed_time("%s.compute_logsums" % trace_label, t0) @@ -785,18 +886,24 @@ def choose_trip_destination( size_term_matrix=size_term_matrix, skim_hotel=skim_hotel, estimator=estimator, - chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=trace_label) + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + ) dropped_trips = ~trips.index.isin(destinations.index) if dropped_trips.any(): - logger.warning("%s trip_destination_simulate %s trips " - "without viable destination alternatives" % - (trace_label, dropped_trips.sum())) + logger.warning( + "%s trip_destination_simulate %s trips " + "without viable destination alternatives" + % (trace_label, dropped_trips.sum()) + ) if want_sample_table: # FIXME - sample_table - destination_sample.set_index(model_settings['ALT_DEST_COL_NAME'], append=True, inplace=True) + destination_sample.set_index( + model_settings["ALT_DEST_COL_NAME"], append=True, inplace=True + ) else: destination_sample = None @@ -806,50 +913,64 @@ def choose_trip_destination( class SkimHotel(object): - def __init__(self, model_settings, network_los, trace_label): self.model_settings = model_settings - self.trace_label = tracing.extend_trace_label(trace_label, 'skim_hotel') + self.trace_label = tracing.extend_trace_label(trace_label, "skim_hotel") self.network_los = network_los self.zone_system = network_los.zone_system def sample_skims(self, presample): - o = self.model_settings['TRIP_ORIGIN'] - d = self.model_settings['ALT_DEST_COL_NAME'] - p = self.model_settings['PRIMARY_DEST'] + o = self.model_settings["TRIP_ORIGIN"] + d = self.model_settings["ALT_DEST_COL_NAME"] + p = self.model_settings["PRIMARY_DEST"] if presample: assert not (self.zone_system == los.ONE_ZONE) - skim_dict = self.network_los.get_skim_dict('taz') + skim_dict = self.network_los.get_skim_dict("taz") else: skim_dict = self.network_los.get_default_skim_dict() skims = { "od_skims": skim_dict.wrap(o, d), "dp_skims": skim_dict.wrap(d, p), - - "odt_skims": skim_dict.wrap_3d(orig_key=o, dest_key=d, dim3_key='trip_period'), - "dot_skims": skim_dict.wrap_3d(orig_key=d, dest_key=o, dim3_key='trip_period'), - "dpt_skims": skim_dict.wrap_3d(orig_key=d, dest_key=p, dim3_key='trip_period'), - "pdt_skims": skim_dict.wrap_3d(orig_key=p, dest_key=d, dim3_key='trip_period'), + "odt_skims": skim_dict.wrap_3d( + orig_key=o, dest_key=d, dim3_key="trip_period" + ), + "dot_skims": skim_dict.wrap_3d( + orig_key=d, dest_key=o, dim3_key="trip_period" + ), + "dpt_skims": skim_dict.wrap_3d( + orig_key=d, dest_key=p, dim3_key="trip_period" + ), + "pdt_skims": skim_dict.wrap_3d( + orig_key=p, dest_key=d, dim3_key="trip_period" + ), } return skims def logsum_skims(self): - o = self.model_settings['TRIP_ORIGIN'] - d = self.model_settings['ALT_DEST_COL_NAME'] - p = self.model_settings['PRIMARY_DEST'] + o = self.model_settings["TRIP_ORIGIN"] + d = self.model_settings["ALT_DEST_COL_NAME"] + p = self.model_settings["PRIMARY_DEST"] skim_dict = self.network_los.get_default_skim_dict() skims = { - "odt_skims": skim_dict.wrap_3d(orig_key=o, dest_key=d, dim3_key='trip_period'), - "dot_skims": skim_dict.wrap_3d(orig_key=d, dest_key=o, dim3_key='trip_period'), - "dpt_skims": skim_dict.wrap_3d(orig_key=d, dest_key=p, dim3_key='trip_period'), - "pdt_skims": skim_dict.wrap_3d(orig_key=p, dest_key=d, dim3_key='trip_period'), + "odt_skims": skim_dict.wrap_3d( + orig_key=o, dest_key=d, dim3_key="trip_period" + ), + "dot_skims": skim_dict.wrap_3d( + orig_key=d, dest_key=o, dim3_key="trip_period" + ), + "dpt_skims": skim_dict.wrap_3d( + orig_key=d, dest_key=p, dim3_key="trip_period" + ), + "pdt_skims": skim_dict.wrap_3d( + orig_key=p, dest_key=d, dim3_key="trip_period" + ), "od_skims": skim_dict.wrap(o, d), "dp_skims": skim_dict.wrap(d, p), } @@ -858,36 +979,60 @@ def logsum_skims(self): # fixme - is this a lightweight object? tvpb = self.network_los.tvpb - tvpb_logsum_odt = tvpb.wrap_logsum(orig_key=o, dest_key=d, - tod_key='trip_period', segment_key='demographic_segment', - trace_label=self.trace_label, tag='tvpb_logsum_odt') - tvpb_logsum_dot = tvpb.wrap_logsum(orig_key=d, dest_key=o, - tod_key='trip_period', segment_key='demographic_segment', - trace_label=self.trace_label, tag='tvpb_logsum_dot') - tvpb_logsum_dpt = tvpb.wrap_logsum(orig_key=d, dest_key=p, - tod_key='trip_period', segment_key='demographic_segment', - trace_label=self.trace_label, tag='tvpb_logsum_dpt') - tvpb_logsum_pdt = tvpb.wrap_logsum(orig_key=p, dest_key=d, - tod_key='trip_period', segment_key='demographic_segment', - trace_label=self.trace_label, tag='tvpb_logsum_pdt') - - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - 'tvpb_logsum_dot': tvpb_logsum_dot, - 'tvpb_logsum_dpt': tvpb_logsum_dpt, - 'tvpb_logsum_pdt': tvpb_logsum_pdt - }) + tvpb_logsum_odt = tvpb.wrap_logsum( + orig_key=o, + dest_key=d, + tod_key="trip_period", + segment_key="demographic_segment", + trace_label=self.trace_label, + tag="tvpb_logsum_odt", + ) + tvpb_logsum_dot = tvpb.wrap_logsum( + orig_key=d, + dest_key=o, + tod_key="trip_period", + segment_key="demographic_segment", + trace_label=self.trace_label, + tag="tvpb_logsum_dot", + ) + tvpb_logsum_dpt = tvpb.wrap_logsum( + orig_key=d, + dest_key=p, + tod_key="trip_period", + segment_key="demographic_segment", + trace_label=self.trace_label, + tag="tvpb_logsum_dpt", + ) + tvpb_logsum_pdt = tvpb.wrap_logsum( + orig_key=p, + dest_key=d, + tod_key="trip_period", + segment_key="demographic_segment", + trace_label=self.trace_label, + tag="tvpb_logsum_pdt", + ) + + skims.update( + { + "tvpb_logsum_odt": tvpb_logsum_odt, + "tvpb_logsum_dot": tvpb_logsum_dot, + "tvpb_logsum_dpt": tvpb_logsum_dpt, + "tvpb_logsum_pdt": tvpb_logsum_pdt, + } + ) return skims def run_trip_destination( - trips, - tours_merged, - estimator, - chunk_size, trace_hh_id, - trace_label, - fail_some_trips_for_testing=False): + trips, + tours_merged, + estimator, + chunk_size, + trace_hh_id, + trace_label, + fail_some_trips_for_testing=False, +): """ trip destination - main functionality separated from model step so it can be called iteratively @@ -911,22 +1056,25 @@ def run_trip_destination( """ - model_settings_file_name = 'trip_destination.yaml' + model_settings_file_name = "trip_destination.yaml" model_settings = config.read_model_settings(model_settings_file_name) - preprocessor_settings = model_settings.get('preprocessor', None) - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) + preprocessor_settings = model_settings.get("preprocessor", None) + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) - logsum_column_name = model_settings.get('DEST_CHOICE_LOGSUM_COLUMN_NAME') + logsum_column_name = model_settings.get("DEST_CHOICE_LOGSUM_COLUMN_NAME") want_logsums = logsum_column_name is not None - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) - land_use = inject.get_table('land_use') - size_terms = inject.get_injectable('size_terms') - network_los = inject.get_injectable('network_los') + land_use = inject.get_table("land_use") + size_terms = inject.get_injectable("size_terms") + network_los = inject.get_injectable("network_los") trips = trips.sort_index() - trips['next_trip_id'] = np.roll(trips.index, -1) + trips["next_trip_id"] = np.roll(trips.index, -1) trips.next_trip_id = trips.next_trip_id.where(trips.trip_num < trips.trip_count, 0) # - initialize trip origin and destination to those of half-tour @@ -939,10 +1087,10 @@ def run_trip_destination( # stop_frequency step calls trip.initialize_from_tours. But if this module is being # called from trip_destination_and_purpose, these columns will have been deleted # so they must be re-created - if pipeline.get_rn_generator().step_name == 'trip_purpose_and_destination': - trips['destination'] = np.where(trips.outbound, tour_destination, tour_origin) - trips['origin'] = np.where(trips.outbound, tour_origin, tour_destination) - trips['failed'] = False + if pipeline.get_rn_generator().step_name == "trip_purpose_and_destination": + trips["destination"] = np.where(trips.outbound, tour_destination, tour_origin) + trips["origin"] = np.where(trips.outbound, tour_origin, tour_destination) + trips["failed"] = False if estimator: # need to check or override non-intermediate trip destination @@ -950,41 +1098,49 @@ def run_trip_destination( # FIXME if not consistent, do we fail or override? (seems weird to override them to bad values?) # expect all the same trips - survey_trips = estimator.get_survey_table('trips').sort_index() + survey_trips = estimator.get_survey_table("trips").sort_index() assert survey_trips.index.equals(trips.index) - first = (survey_trips.trip_num == 1) - last = (survey_trips.trip_num == trips.trip_count) + first = survey_trips.trip_num == 1 + last = survey_trips.trip_num == trips.trip_count # expect survey's outbound first trip origin to be same as half tour origin - assert (survey_trips.origin[survey_trips.outbound & first] - == tour_origin[survey_trips.outbound & first]).all() + assert ( + survey_trips.origin[survey_trips.outbound & first] + == tour_origin[survey_trips.outbound & first] + ).all() # expect outbound last trip destination to be same as half tour destination - assert (survey_trips.destination[survey_trips.outbound & last] - == tour_destination[survey_trips.outbound & last]).all() + assert ( + survey_trips.destination[survey_trips.outbound & last] + == tour_destination[survey_trips.outbound & last] + ).all() # expect inbound first trip origin to be same as half tour destination - assert (survey_trips.origin[~survey_trips.outbound & first] - == tour_destination[~survey_trips.outbound & first]).all() + assert ( + survey_trips.origin[~survey_trips.outbound & first] + == tour_destination[~survey_trips.outbound & first] + ).all() # expect inbound last trip destination to be same as half tour origin - assert (survey_trips.destination[~survey_trips.outbound & last] - == tour_origin[~survey_trips.outbound & last]).all() + assert ( + survey_trips.destination[~survey_trips.outbound & last] + == tour_origin[~survey_trips.outbound & last] + ).all() # - filter tours_merged (AFTER copying destination and origin columns to trips) # tours_merged is used for logsums, we filter it here upfront to save space and time - tours_merged_cols = logsum_settings['TOURS_MERGED_CHOOSER_COLUMNS'] - redundant_cols = model_settings.get('REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS', []) + tours_merged_cols = logsum_settings["TOURS_MERGED_CHOOSER_COLUMNS"] + redundant_cols = model_settings.get("REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS", []) if redundant_cols: tours_merged_cols = [c for c in tours_merged_cols if c not in redundant_cols] - assert model_settings['PRIMARY_DEST'] not in tours_merged_cols + assert model_settings["PRIMARY_DEST"] not in tours_merged_cols tours_merged = tours_merged[tours_merged_cols] # - skims skim_hotel = SkimHotel(model_settings, network_los, trace_label) # - size_terms and alternatives - alternatives = tour_destination_size_terms(land_use, size_terms, 'trip') + alternatives = tour_destination_size_terms(land_use, size_terms, "trip") # DataFrameMatrix alows us to treat dataframe as virtual a 2-D array, indexed by zone_id, purpose # e.g. size_terms.get(df.dest_zone_id, df.purpose) @@ -993,7 +1149,7 @@ def run_trip_destination( # don't need size terms in alternatives, just zone_id index alternatives = alternatives.drop(alternatives.columns, axis=1) - alternatives.index.name = model_settings['ALT_DEST_COL_NAME'] + alternatives.index.name = model_settings["ALT_DEST_COL_NAME"] sample_list = [] @@ -1008,11 +1164,11 @@ def run_trip_destination( for trip_num in range(first_trip_num, last_trip_num + 1): nth_trips = trips[intermediate & (trips.trip_num == trip_num)] - nth_trace_label = tracing.extend_trace_label(trace_label, 'trip_num_%s' % trip_num) + nth_trace_label = tracing.extend_trace_label( + trace_label, "trip_num_%s" % trip_num + ) - locals_dict = { - 'network_los': network_los - } + locals_dict = {"network_los": network_los} locals_dict.update(config.get_model_constants(model_settings)) # - annotate nth_trips @@ -1021,13 +1177,14 @@ def run_trip_destination( df=nth_trips, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=nth_trace_label) + trace_label=nth_trace_label, + ) logger.info("Running %s with %d trips", nth_trace_label, nth_trips.shape[0]) # - choose destination for nth_trips, segmented by primary_purpose choices_list = [] - for primary_purpose, trips_segment in nth_trips.groupby('primary_purpose'): + for primary_purpose, trips_segment in nth_trips.groupby("primary_purpose"): choices, destination_sample = choose_trip_destination( primary_purpose, trips_segment, @@ -1036,10 +1193,15 @@ def run_trip_destination( model_settings, want_logsums, want_sample_table, - size_term_matrix, skim_hotel, + size_term_matrix, + skim_hotel, estimator, - chunk_size, trace_hh_id, - trace_label=tracing.extend_trace_label(nth_trace_label, primary_purpose)) + chunk_size, + trace_hh_id, + trace_label=tracing.extend_trace_label( + nth_trace_label, primary_purpose + ), + ) choices_list.append(choices) if want_sample_table: @@ -1054,31 +1216,41 @@ def run_trip_destination( failed_trip_ids = nth_trips.index.difference(destinations_df.index) if failed_trip_ids.any(): - logger.warning("%s sidelining %s trips without viable destination alternatives" % - (nth_trace_label, failed_trip_ids.shape[0])) + logger.warning( + "%s sidelining %s trips without viable destination alternatives" + % (nth_trace_label, failed_trip_ids.shape[0]) + ) next_trip_ids = nth_trips.next_trip_id.reindex(failed_trip_ids) - trips.loc[failed_trip_ids, 'failed'] = True - trips.loc[failed_trip_ids, 'destination'] = -1 - trips.loc[next_trip_ids, 'origin'] = trips.loc[failed_trip_ids].origin.values + trips.loc[failed_trip_ids, "failed"] = True + trips.loc[failed_trip_ids, "destination"] = -1 + trips.loc[next_trip_ids, "origin"] = trips.loc[ + failed_trip_ids + ].origin.values if len(destinations_df) == 0: assert failed_trip_ids.all() - logger.warning(f"all {len(nth_trips)} {primary_purpose} trip_num {trip_num} trips failed") + logger.warning( + f"all {len(nth_trips)} {primary_purpose} trip_num {trip_num} trips failed" + ) if len(destinations_df) > 0: # - assign choices to this trip's destinations # if estimator, then the choices will already have been overridden by trip_destination_simulate # because we need to overwrite choices before any failed choices are suppressed - assign_in_place(trips, destinations_df.choice.to_frame('destination')) + assign_in_place(trips, destinations_df.choice.to_frame("destination")) if want_logsums: - assert 'logsum' in destinations_df.columns - assign_in_place(trips, destinations_df.logsum.to_frame(logsum_column_name)) + assert "logsum" in destinations_df.columns + assign_in_place( + trips, destinations_df.logsum.to_frame(logsum_column_name) + ) # - assign choice to next trip's origin - destinations_df.index = nth_trips.next_trip_id.reindex(destinations_df.index) - assign_in_place(trips, destinations_df.choice.to_frame('origin')) + destinations_df.index = nth_trips.next_trip_id.reindex( + destinations_df.index + ) + assign_in_place(trips, destinations_df.choice.to_frame("origin")) - del trips['next_trip_id'] + del trips["next_trip_id"] if len(sample_list) > 0: save_sample_df = pd.concat(sample_list) @@ -1090,10 +1262,7 @@ def run_trip_destination( @inject.step() -def trip_destination( - trips, - tours_merged, - chunk_size, trace_hh_id): +def trip_destination(trips, tours_merged, chunk_size, trace_hh_id): """ Choose a destination for all 'intermediate' trips based on trip purpose. @@ -1102,26 +1271,32 @@ def trip_destination( """ - trace_label = 'trip_destination' + trace_label = "trip_destination" - model_settings_file_name = 'trip_destination.yaml' + model_settings_file_name = "trip_destination.yaml" model_settings = config.read_model_settings(model_settings_file_name) - CLEANUP = model_settings.get('CLEANUP', True) - fail_some_trips_for_testing = model_settings.get('fail_some_trips_for_testing', False) + CLEANUP = model_settings.get("CLEANUP", True) + fail_some_trips_for_testing = model_settings.get( + "fail_some_trips_for_testing", False + ) trips_df = trips.to_frame() tours_merged_df = tours_merged.to_frame() - estimator = estimation.manager.begin_estimation('trip_destination') + estimator = estimation.manager.begin_estimation("trip_destination") if estimator: estimator.write_coefficients(model_settings=model_settings) # estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SPEC") estimator.set_alt_id(model_settings["ALT_DEST_COL_NAME"]) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) estimator.write_model_settings(model_settings, model_settings_file_name) logger.info("Running %s with %d trips", trace_label, trips_df.shape[0]) @@ -1133,25 +1308,34 @@ def trip_destination( chunk_size=chunk_size, trace_hh_id=trace_hh_id, trace_label=trace_label, - fail_some_trips_for_testing=fail_some_trips_for_testing) + fail_some_trips_for_testing=fail_some_trips_for_testing, + ) # testing feature t0 make sure at least one trip fails so trip_purpose_and_destination model is run - if config.setting('testing_fail_trip_destination', False) and not trips_df.failed.any(): + if ( + config.setting("testing_fail_trip_destination", False) + and not trips_df.failed.any() + ): if (trips_df.trip_num < trips_df.trip_count).sum() == 0: - raise RuntimeError(f"can't honor 'testing_fail_trip_destination' setting because no intermediate trips") + raise RuntimeError( + f"can't honor 'testing_fail_trip_destination' setting because no intermediate trips" + ) fail_o = trips_df[trips_df.trip_num < trips_df.trip_count].origin.max() - trips_df.failed = (trips_df.origin == fail_o) & \ - (trips_df.trip_num < trips_df.trip_count) + trips_df.failed = (trips_df.origin == fail_o) & ( + trips_df.trip_num < trips_df.trip_count + ) if trips_df.failed.any(): logger.warning("%s %s failed trips", trace_label, trips_df.failed.sum()) - if inject.get_injectable('pipeline_file_prefix', None): + if inject.get_injectable("pipeline_file_prefix", None): file_name = f"{trace_label}_failed_trips_{inject.get_injectable('pipeline_file_prefix')}" else: file_name = f"{trace_label}_failed_trips" logger.info("writing failed trips to %s", file_name) - tracing.write_csv(trips_df[trips_df.failed], file_name=file_name, transpose=False) + tracing.write_csv( + trips_df[trips_df.failed], file_name=file_name, transpose=False + ) if estimator: estimator.end_estimation() @@ -1161,35 +1345,42 @@ def trip_destination( if CLEANUP: if trips_df.failed.any(): - flag_failed_trip_leg_mates(trips_df, 'failed') + flag_failed_trip_leg_mates(trips_df, "failed") if save_sample_df is not None: - save_sample_df.drop(trips_df.index[trips_df.failed], level='trip_id', inplace=True) + save_sample_df.drop( + trips_df.index[trips_df.failed], level="trip_id", inplace=True + ) trips_df = cleanup_failed_trips(trips_df) - trips_df.drop(columns='failed', inplace=True, errors='ignore') + trips_df.drop(columns="failed", inplace=True, errors="ignore") pipeline.replace_table("trips", trips_df) if trace_hh_id: - tracing.trace_df(trips_df, - label=trace_label, - slicer='trip_id', - index_label='trip_id', - warn_if_empty=True) + tracing.trace_df( + trips_df, + label=trace_label, + slicer="trip_id", + index_label="trip_id", + warn_if_empty=True, + ) if save_sample_df is not None: # might be none if want_sample_table but there are no intermediate trips # expect samples only for intermediate trip destinations - assert len(save_sample_df.index.get_level_values(0).unique()) == \ - len(trips_df[trips_df.trip_num < trips_df.trip_count]) + assert len(save_sample_df.index.get_level_values(0).unique()) == len( + trips_df[trips_df.trip_num < trips_df.trip_count] + ) - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") assert sample_table_name is not None - logger.info("adding %s samples to %s" % (len(save_sample_df), sample_table_name)) + logger.info( + "adding %s samples to %s" % (len(save_sample_df), sample_table_name) + ) # lest they try to put tour samples into the same table if pipeline.is_table(sample_table_name): diff --git a/activitysim/abm/models/trip_matrices.py b/activitysim/abm/models/trip_matrices.py index 2df091c012..0f33e69e69 100644 --- a/activitysim/abm/models/trip_matrices.py +++ b/activitysim/abm/models/trip_matrices.py @@ -3,15 +3,11 @@ import logging +import numpy as np import openmatrix as omx import pandas as pd -import numpy as np -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions -from activitysim.core import los +from activitysim.core import config, expressions, inject, los, pipeline logger = logging.getLogger(__name__) @@ -36,117 +32,154 @@ def write_trip_matrices(network_los): """ - trips = inject.get_table('trips', None) + trips = inject.get_table("trips", None) if trips is None: # this step is a NOP if there is no trips table # this might legitimately happen if they comment out some steps to debug but still want write_tables # this saves them the hassle of remembering to comment out this step - logger.warning(f"write_trip_matrices returning empty-handed because there is no trips table") + logger.warning( + f"write_trip_matrices returning empty-handed because there is no trips table" + ) return - model_settings = config.read_model_settings('write_trip_matrices.yaml') + model_settings = config.read_model_settings("write_trip_matrices.yaml") trips_df = annotate_trips(trips, network_los, model_settings) - if bool(model_settings.get('SAVE_TRIPS_TABLE')): - pipeline.replace_table('trips', trips_df) + if bool(model_settings.get("SAVE_TRIPS_TABLE")): + pipeline.replace_table("trips", trips_df) - if 'parking_location' in config.setting('models'): - parking_settings = config.read_model_settings('parking_location_choice.yaml') - parking_taz_col_name = parking_settings['ALT_DEST_COL_NAME'] + if "parking_location" in config.setting("models"): + parking_settings = config.read_model_settings("parking_location_choice.yaml") + parking_taz_col_name = parking_settings["ALT_DEST_COL_NAME"] if parking_taz_col_name in trips_df: - trips_df.loc[trips_df[parking_taz_col_name] > 0, 'destination'] = trips_df[parking_taz_col_name] + trips_df.loc[trips_df[parking_taz_col_name] > 0, "destination"] = trips_df[ + parking_taz_col_name + ] # Also need address the return trip # write matrices by zone system type if network_los.zone_system == los.ONE_ZONE: # taz trips written to taz matrices - logger.info('aggregating trips one zone...') - aggregate_trips = trips_df.groupby(['origin', 'destination'], sort=False).sum() + logger.info("aggregating trips one zone...") + aggregate_trips = trips_df.groupby(["origin", "destination"], sort=False).sum() # use the average household weight for all trips in the origin destination pair - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') - aggregate_weight = trips_df[['origin', 'destination', hh_weight_col]].groupby(['origin', 'destination'], - sort=False).mean() + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") + aggregate_weight = ( + trips_df[["origin", "destination", hh_weight_col]] + .groupby(["origin", "destination"], sort=False) + .mean() + ) aggregate_trips[hh_weight_col] = aggregate_weight[hh_weight_col] - orig_vals = aggregate_trips.index.get_level_values('origin') - dest_vals = aggregate_trips.index.get_level_values('destination') + orig_vals = aggregate_trips.index.get_level_values("origin") + dest_vals = aggregate_trips.index.get_level_values("destination") # use the land use table for the set of possible tazs - zone_index = pipeline.get_table('land_use').index + zone_index = pipeline.get_table("land_use").index assert all(zone in zone_index for zone in orig_vals) assert all(zone in zone_index for zone in dest_vals) _, orig_index = zone_index.reindex(orig_vals) _, dest_index = zone_index.reindex(dest_vals) - write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_settings) + write_matrices( + aggregate_trips, zone_index, orig_index, dest_index, model_settings + ) elif network_los.zone_system == los.TWO_ZONE: # maz trips written to taz matrices - logger.info('aggregating trips two zone...') - trips_df["otaz"] = pipeline.get_table('land_use').reindex(trips_df['origin']).TAZ.tolist() - trips_df["dtaz"] = pipeline.get_table('land_use').reindex(trips_df['destination']).TAZ.tolist() - aggregate_trips = trips_df.groupby(['otaz', 'dtaz'], sort=False).sum() + logger.info("aggregating trips two zone...") + trips_df["otaz"] = ( + pipeline.get_table("land_use").reindex(trips_df["origin"]).TAZ.tolist() + ) + trips_df["dtaz"] = ( + pipeline.get_table("land_use").reindex(trips_df["destination"]).TAZ.tolist() + ) + aggregate_trips = trips_df.groupby(["otaz", "dtaz"], sort=False).sum() # use the average household weight for all trips in the origin destination pair - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') - aggregate_weight = trips_df[['otaz', 'dtaz', hh_weight_col]].groupby(['otaz', 'dtaz'], sort=False).mean() + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") + aggregate_weight = ( + trips_df[["otaz", "dtaz", hh_weight_col]] + .groupby(["otaz", "dtaz"], sort=False) + .mean() + ) aggregate_trips[hh_weight_col] = aggregate_weight[hh_weight_col] - orig_vals = aggregate_trips.index.get_level_values('otaz') - dest_vals = aggregate_trips.index.get_level_values('dtaz') + orig_vals = aggregate_trips.index.get_level_values("otaz") + dest_vals = aggregate_trips.index.get_level_values("dtaz") - zone_index = pd.Index(network_los.get_tazs(), name='TAZ') + zone_index = pd.Index(network_los.get_tazs(), name="TAZ") assert all(zone in zone_index for zone in orig_vals) assert all(zone in zone_index for zone in dest_vals) _, orig_index = zone_index.reindex(orig_vals) _, dest_index = zone_index.reindex(dest_vals) - write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_settings) + write_matrices( + aggregate_trips, zone_index, orig_index, dest_index, model_settings + ) - elif network_los.zone_system == los.THREE_ZONE: # maz trips written to taz and tap matrices + elif ( + network_los.zone_system == los.THREE_ZONE + ): # maz trips written to taz and tap matrices - logger.info('aggregating trips three zone taz...') - trips_df["otaz"] = pipeline.get_table('land_use').reindex(trips_df['origin']).TAZ.tolist() - trips_df["dtaz"] = pipeline.get_table('land_use').reindex(trips_df['destination']).TAZ.tolist() - aggregate_trips = trips_df.groupby(['otaz', 'dtaz'], sort=False).sum() + logger.info("aggregating trips three zone taz...") + trips_df["otaz"] = ( + pipeline.get_table("land_use").reindex(trips_df["origin"]).TAZ.tolist() + ) + trips_df["dtaz"] = ( + pipeline.get_table("land_use").reindex(trips_df["destination"]).TAZ.tolist() + ) + aggregate_trips = trips_df.groupby(["otaz", "dtaz"], sort=False).sum() # use the average household weight for all trips in the origin destination pair - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') - aggregate_weight = trips_df[['otaz', 'dtaz', hh_weight_col]].groupby(['otaz', 'dtaz'], sort=False).mean() + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") + aggregate_weight = ( + trips_df[["otaz", "dtaz", hh_weight_col]] + .groupby(["otaz", "dtaz"], sort=False) + .mean() + ) aggregate_trips[hh_weight_col] = aggregate_weight[hh_weight_col] - orig_vals = aggregate_trips.index.get_level_values('otaz') - dest_vals = aggregate_trips.index.get_level_values('dtaz') + orig_vals = aggregate_trips.index.get_level_values("otaz") + dest_vals = aggregate_trips.index.get_level_values("dtaz") - zone_index = pd.Index(network_los.get_tazs(), name='TAZ') + zone_index = pd.Index(network_los.get_tazs(), name="TAZ") assert all(zone in zone_index for zone in orig_vals) assert all(zone in zone_index for zone in dest_vals) _, orig_index = zone_index.reindex(orig_vals) _, dest_index = zone_index.reindex(dest_vals) - write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_settings) + write_matrices( + aggregate_trips, zone_index, orig_index, dest_index, model_settings + ) - logger.info('aggregating trips three zone tap...') - aggregate_trips = trips_df.groupby(['btap', 'atap'], sort=False).sum() + logger.info("aggregating trips three zone tap...") + aggregate_trips = trips_df.groupby(["btap", "atap"], sort=False).sum() # use the average household weight for all trips in the origin destination pair - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') - aggregate_weight = trips_df[['btap', 'atap', hh_weight_col]].groupby(['btap', 'atap'], sort=False).mean() + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") + aggregate_weight = ( + trips_df[["btap", "atap", hh_weight_col]] + .groupby(["btap", "atap"], sort=False) + .mean() + ) aggregate_trips[hh_weight_col] = aggregate_weight[hh_weight_col] - orig_vals = aggregate_trips.index.get_level_values('btap') - dest_vals = aggregate_trips.index.get_level_values('atap') + orig_vals = aggregate_trips.index.get_level_values("btap") + dest_vals = aggregate_trips.index.get_level_values("atap") - zone_index = pd.Index(network_los.get_taps(), name='TAP') + zone_index = pd.Index(network_los.get_taps(), name="TAP") assert all(zone in zone_index for zone in orig_vals) assert all(zone in zone_index for zone in dest_vals) _, orig_index = zone_index.reindex(orig_vals) _, dest_index = zone_index.reindex(dest_vals) - write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_settings, True) + write_matrices( + aggregate_trips, zone_index, orig_index, dest_index, model_settings, True + ) def annotate_trips(trips, network_los, model_settings): @@ -161,19 +194,18 @@ def annotate_trips(trips, network_los, model_settings): trips_df = trips.to_frame() - trace_label = 'trip_matrices' + trace_label = "trip_matrices" skim_dict = network_los.get_default_skim_dict() # setup skim keys - if 'trip_period' not in trips_df: - trips_df['trip_period'] = network_los.skim_time_period_label(trips_df.depart) - od_skim_wrapper = skim_dict.wrap('origin', 'destination') - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key='origin', dest_key='destination', dim3_key='trip_period') - skims = { - 'od_skims': od_skim_wrapper, - "odt_skims": odt_skim_stack_wrapper - } + if "trip_period" not in trips_df: + trips_df["trip_period"] = network_los.skim_time_period_label(trips_df.depart) + od_skim_wrapper = skim_dict.wrap("origin", "destination") + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key="origin", dest_key="destination", dim3_key="trip_period" + ) + skims = {"od_skims": od_skim_wrapper, "odt_skims": odt_skim_stack_wrapper} locals_dict = {} constants = config.get_model_constants(model_settings) @@ -181,22 +213,24 @@ def annotate_trips(trips, network_los, model_settings): locals_dict.update(constants) expressions.annotate_preprocessors( - trips_df, locals_dict, skims, - model_settings, trace_label) + trips_df, locals_dict, skims, model_settings, trace_label + ) # Data will be expanded by an expansion weight column from # the households pipeline table, if specified in the model settings. - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") if hh_weight_col and hh_weight_col not in trips_df: logger.info("adding '%s' from households to trips table" % hh_weight_col) - household_weights = pipeline.get_table('households')[hh_weight_col] + household_weights = pipeline.get_table("households")[hh_weight_col] trips_df[hh_weight_col] = trips_df.household_id.map(household_weights) return trips_df -def write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_settings, is_tap=False): +def write_matrices( + aggregate_trips, zone_index, orig_index, dest_index, model_settings, is_tap=False +): """ Write aggregated trips to OMX format. @@ -209,42 +243,48 @@ def write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_se but the table 'data_field's must be summable types: ints, floats, bools. """ - matrix_settings = model_settings.get('MATRICES') + matrix_settings = model_settings.get("MATRICES") if not matrix_settings: - logger.error('Missing MATRICES setting in write_trip_matrices.yaml') + logger.error("Missing MATRICES setting in write_trip_matrices.yaml") for matrix in matrix_settings: - matrix_is_tap = matrix.get('is_tap', False) + matrix_is_tap = matrix.get("is_tap", False) if matrix_is_tap == is_tap: # only write tap matrices to tap matrix files - filename = matrix.get('file_name') + filename = matrix.get("file_name") filepath = config.output_file_path(filename) - logger.info('opening %s' % filepath) - file = omx.open_file(filepath, 'w') # possibly overwrite existing file - table_settings = matrix.get('tables') + logger.info("opening %s" % filepath) + file = omx.open_file(filepath, "w") # possibly overwrite existing file + table_settings = matrix.get("tables") for table in table_settings: - table_name = table.get('name') - col = table.get('data_field') + table_name = table.get("name") + col = table.get("data_field") if col not in aggregate_trips: - logger.error(f'missing {col} column in aggregate_trips DataFrame') + logger.error(f"missing {col} column in aggregate_trips DataFrame") return - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") if hh_weight_col: - aggregate_trips[col] = aggregate_trips[col] / aggregate_trips[hh_weight_col] + aggregate_trips[col] = ( + aggregate_trips[col] / aggregate_trips[hh_weight_col] + ) data = np.zeros((len(zone_index), len(zone_index))) data[orig_index, dest_index] = aggregate_trips[col] - logger.debug('writing %s sum %0.2f' % (table_name, aggregate_trips[col].sum())) + logger.debug( + "writing %s sum %0.2f" % (table_name, aggregate_trips[col].sum()) + ) file[table_name] = data # write to file # include the index-to-zone map in the file - logger.info('adding %s mapping for %s zones to %s' % - (zone_index.name, zone_index.size, filename)) + logger.info( + "adding %s mapping for %s zones to %s" + % (zone_index.name, zone_index.size, filename) + ) file.create_mapping(zone_index.name, zone_index.to_numpy()) - logger.info('closing %s' % filepath) + logger.info("closing %s" % filepath) file.close() diff --git a/activitysim/abm/models/trip_mode_choice.py b/activitysim/abm/models/trip_mode_choice.py index 59e9fc5e5e..59bc8433f1 100644 --- a/activitysim/abm/models/trip_mode_choice.py +++ b/activitysim/abm/models/trip_mode_choice.py @@ -3,35 +3,31 @@ import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import chunk -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions - -from activitysim.core import assign -from activitysim.core import los - +from activitysim.core import ( + assign, + chunk, + config, + expressions, + inject, + los, + pipeline, + simulate, + tracing, +) +from activitysim.core.pathbuilder import TransitVirtualPathBuilder from activitysim.core.util import assign_in_place -from activitysim.core.pathbuilder import TransitVirtualPathBuilder -from .util.mode import mode_choice_simulate from .util import estimation - +from .util.mode import mode_choice_simulate logger = logging.getLogger(__name__) @inject.step() -def trip_mode_choice( - trips, - network_los, - chunk_size, trace_hh_id): +def trip_mode_choice(trips, network_los, chunk_size, trace_hh_id): """ Trip mode choice - compute trip_mode (same values as for tour_mode) for each trip. @@ -41,12 +37,12 @@ def trip_mode_choice( Adds trip_mode column to trip table """ - trace_label = 'trip_mode_choice' - model_settings_file_name = 'trip_mode_choice.yaml' + trace_label = "trip_mode_choice" + model_settings_file_name = "trip_mode_choice.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('MODE_CHOICE_LOGSUM_COLUMN_NAME') - mode_column_name = 'trip_mode' + logsum_column_name = model_settings.get("MODE_CHOICE_LOGSUM_COLUMN_NAME") + mode_column_name = "trip_mode" trips_df = trips.to_frame() logger.info("Running %s with %d trips", trace_label, trips_df.shape[0]) @@ -54,48 +50,57 @@ def trip_mode_choice( # give trip mode choice the option to run without calling tours_merged. Useful for xborder # model where tour_od_choice needs trip mode choice logsums before some of the join keys # needed by tour_merged (e.g. home_zone_id) exist - tours_cols = [col for col in model_settings['TOURS_MERGED_CHOOSER_COLUMNS'] if col not in trips_df.columns] + tours_cols = [ + col + for col in model_settings["TOURS_MERGED_CHOOSER_COLUMNS"] + if col not in trips_df.columns + ] if len(tours_cols) > 0: - tours_merged = inject.get_table('tours_merged').to_frame(columns=tours_cols) + tours_merged = inject.get_table("tours_merged").to_frame(columns=tours_cols) else: tours_merged = pd.DataFrame() # - trips_merged - merge trips and tours_merged trips_merged = pd.merge( - trips_df, - tours_merged, - left_on='tour_id', - right_index=True, - how="left") + trips_df, tours_merged, left_on="tour_id", right_index=True, how="left" + ) assert trips_merged.index.equals(trips.index) - tracing.print_summary('primary_purpose', trips_df.primary_purpose, value_counts=True) + tracing.print_summary( + "primary_purpose", trips_df.primary_purpose, value_counts=True + ) # setup skim keys - assert ('trip_period' not in trips_merged) - trips_merged['trip_period'] = network_los.skim_time_period_label(trips_merged.depart) - - orig_col = 'origin' - dest_col = 'destination' - min_per_period = network_los.skim_time_periods['period_minutes'] + assert "trip_period" not in trips_merged + trips_merged["trip_period"] = network_los.skim_time_period_label( + trips_merged.depart + ) + + orig_col = "origin" + dest_col = "destination" + min_per_period = network_los.skim_time_periods["period_minutes"] periods_per_hour = 60 / min_per_period constants = {} constants.update(config.get_model_constants(model_settings)) - constants.update({ - 'ORIGIN': orig_col, - 'DESTINATION': dest_col, - 'MIN_PER_PERIOD': min_per_period, - 'PERIODS_PER_HOUR': periods_per_hour - }) + constants.update( + { + "ORIGIN": orig_col, + "DESTINATION": dest_col, + "MIN_PER_PERIOD": min_per_period, + "PERIODS_PER_HOUR": periods_per_hour, + } + ) skim_dict = network_los.get_default_skim_dict() - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col, dest_key=dest_col, - dim3_key='trip_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col, dest_key=orig_col, - dim3_key='trip_period') - od_skim_wrapper = skim_dict.wrap('origin', 'destination') + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col, dest_key=dest_col, dim3_key="trip_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col, dest_key=orig_col, dim3_key="trip_period" + ) + od_skim_wrapper = skim_dict.wrap("origin", "destination") skims = { "odt_skims": odt_skim_stack_wrapper, @@ -106,15 +111,22 @@ def trip_mode_choice( if network_los.zone_system == los.THREE_ZONE: # fixme - is this a lightweight object? tvpb = network_los.tvpb - tvpb_recipe = model_settings.get('TVPB_recipe', 'tour_mode_choice') + tvpb_recipe = model_settings.get("TVPB_recipe", "tour_mode_choice") tvpb_logsum_odt = tvpb.wrap_logsum( - orig_key=orig_col, dest_key=dest_col, - tod_key='trip_period', segment_key='demographic_segment', - recipe=tvpb_recipe, cache_choices=True, - trace_label=trace_label, tag='tvpb_logsum_odt') - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - }) + orig_key=orig_col, + dest_key=dest_col, + tod_key="trip_period", + segment_key="demographic_segment", + recipe=tvpb_recipe, + cache_choices=True, + trace_label=trace_label, + tag="tvpb_logsum_odt", + ) + skims.update( + { + "tvpb_logsum_odt": tvpb_logsum_odt, + } + ) # This if-clause gives the user the option of NOT inheriting constants # from the tvpb settings. previously, these constants were inherited @@ -126,40 +138,49 @@ def trip_mode_choice( # the tvpb will still use the constants as defined in the recipe # specified above in `tvpb.wrap_logsum()` but they will not be used # in the trip mode choice expressions. - if model_settings.get('use_TVPB_constants', True): - constants.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + if model_settings.get("use_TVPB_constants", True): + constants.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) # don't create estimation data bundle if trip mode choice is being called # from another model step (e.g. tour mode choice logsum creation) - if pipeline._PIPELINE.rng().step_name != 'trip_mode_choice': + if pipeline._PIPELINE.rng().step_name != "trip_mode_choice": estimator = None else: - estimator = estimation.manager.begin_estimation('trip_mode_choice') + estimator = estimation.manager.begin_estimation("trip_mode_choice") if estimator: estimator.write_coefficients(model_settings=model_settings) estimator.write_coefficients_template(model_settings=model_settings) estimator.write_spec(model_settings) estimator.write_model_settings(model_settings, model_settings_file_name) - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) nest_spec = config.get_logit_model_settings(model_settings) choices_list = [] - for primary_purpose, trips_segment in trips_merged.groupby('primary_purpose'): + for primary_purpose, trips_segment in trips_merged.groupby("primary_purpose"): segment_trace_label = tracing.extend_trace_label(trace_label, primary_purpose) - logger.info("trip_mode_choice tour_type '%s' (%s trips)" % - (primary_purpose, len(trips_segment.index), )) + logger.info( + "trip_mode_choice tour_type '%s' (%s trips)" + % ( + primary_purpose, + len(trips_segment.index), + ) + ) # name index so tracing knows how to slice - assert trips_segment.index.name == 'trip_id' + assert trips_segment.index.name == "trip_id" if network_los.zone_system == los.THREE_ZONE: tvpb_logsum_odt.extend_trace_label(primary_purpose) # tvpb_logsum_dot.extend_trace_label(primary_purpose) - coefficients = simulate.get_segment_coefficients(model_settings, primary_purpose) + coefficients = simulate.get_segment_coefficients( + model_settings, primary_purpose + ) locals_dict = {} locals_dict.update(constants) @@ -171,11 +192,12 @@ def trip_mode_choice( # have to initialize chunker for preprocessing in order to access # tvpb logsum terms in preprocessor expressions. - with chunk.chunk_log(tracing.extend_trace_label( - trace_label, 'preprocessing'), base=True): + with chunk.chunk_log( + tracing.extend_trace_label(trace_label, "preprocessing"), base=True + ): expressions.annotate_preprocessors( - trips_segment, locals_dict, skims, - model_settings, segment_trace_label) + trips_segment, locals_dict, skims, model_settings, segment_trace_label + ) if estimator: # write choosers after annotation @@ -186,31 +208,38 @@ def trip_mode_choice( choices = mode_choice_simulate( choosers=trips_segment, spec=simulate.eval_coefficients(model_spec, coefficients, estimator), - nest_spec=simulate.eval_nest_coefficients(nest_spec, coefficients, segment_trace_label), + nest_spec=simulate.eval_nest_coefficients( + nest_spec, coefficients, segment_trace_label + ), skims=skims, locals_d=locals_dict, chunk_size=chunk_size, mode_column_name=mode_column_name, logsum_column_name=logsum_column_name, trace_label=segment_trace_label, - trace_choice_name='trip_mode_choice', - estimator=estimator) + trace_choice_name="trip_mode_choice", + estimator=estimator, + ) if trace_hh_id: # trace the coefficients - tracing.trace_df(pd.Series(locals_dict), - label=tracing.extend_trace_label(segment_trace_label, 'constants'), - transpose=False, - slicer='NONE') + tracing.trace_df( + pd.Series(locals_dict), + label=tracing.extend_trace_label(segment_trace_label, "constants"), + transpose=False, + slicer="NONE", + ) # so we can trace with annotations assign_in_place(trips_segment, choices) - tracing.trace_df(trips_segment, - label=tracing.extend_trace_label(segment_trace_label, 'trip_mode'), - slicer='tour_id', - index_label='tour_id', - warn_if_empty=True) + tracing.trace_df( + trips_segment, + label=tracing.extend_trace_label(segment_trace_label, "trip_mode"), + slicer="tour_id", + index_label="tour_id", + warn_if_empty=True, + ) choices_list.append(choices) @@ -219,7 +248,7 @@ def trip_mode_choice( # add cached tvpb_logsum tap choices for modes specified in tvpb_mode_path_types if network_los.zone_system == los.THREE_ZONE: - tvpb_mode_path_types = model_settings.get('tvpb_mode_path_types') + tvpb_mode_path_types = model_settings.get("tvpb_mode_path_types") for mode, path_type in tvpb_mode_path_types.items(): skim_cache = tvpb_logsum_odt.cache[path_type] @@ -227,30 +256,38 @@ def trip_mode_choice( for c in skim_cache: dest_col = c if dest_col not in choices_df: - choices_df[dest_col] = np.nan if pd.api.types.is_numeric_dtype(skim_cache[c]) else '' - choices_df[dest_col].where(choices_df[mode_column_name] != mode, skim_cache[c], inplace=True) + choices_df[dest_col] = ( + np.nan if pd.api.types.is_numeric_dtype(skim_cache[c]) else "" + ) + choices_df[dest_col].where( + choices_df[mode_column_name] != mode, skim_cache[c], inplace=True + ) if estimator: estimator.write_choices(choices_df.trip_mode) - choices_df.trip_mode = estimator.get_survey_values(choices_df.trip_mode, 'trips', 'trip_mode') + choices_df.trip_mode = estimator.get_survey_values( + choices_df.trip_mode, "trips", "trip_mode" + ) estimator.write_override_choices(choices_df.trip_mode) estimator.end_estimation() trips_df = trips.to_frame() assign_in_place(trips_df, choices_df) - tracing.print_summary('trip_modes', - trips_merged.tour_mode, value_counts=True) + tracing.print_summary("trip_modes", trips_merged.tour_mode, value_counts=True) - tracing.print_summary('trip_mode_choice choices', - trips_df[mode_column_name], value_counts=True) + tracing.print_summary( + "trip_mode_choice choices", trips_df[mode_column_name], value_counts=True + ) assert not trips_df[mode_column_name].isnull().any() pipeline.replace_table("trips", trips_df) if trace_hh_id: - tracing.trace_df(trips_df, - label=tracing.extend_trace_label(trace_label, 'trip_mode'), - slicer='trip_id', - index_label='trip_id', - warn_if_empty=True) + tracing.trace_df( + trips_df, + label=tracing.extend_trace_label(trace_label, "trip_mode"), + slicer="trip_id", + index_label="trip_id", + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/trip_purpose.py b/activitysim/abm/models/trip_purpose.py index f0787ccf55..fe3103135d 100644 --- a/activitysim/abm/models/trip_purpose.py +++ b/activitysim/abm/models/trip_purpose.py @@ -5,29 +5,33 @@ import numpy as np import pandas as pd -from activitysim.core import logit -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import chunk -from activitysim.core import pipeline -from activitysim.core import expressions -from activitysim.core import simulate +from activitysim.core import ( + chunk, + config, + expressions, + inject, + logit, + pipeline, + simulate, + tracing, +) + from .util import estimation logger = logging.getLogger(__name__) -PROBS_JOIN_COLUMNS = ['primary_purpose', 'outbound', 'person_type'] +PROBS_JOIN_COLUMNS = ["primary_purpose", "outbound", "person_type"] def map_coefficients(spec, coefficients): if isinstance(coefficients, pd.DataFrame): - assert ('value' in coefficients.columns) - coefficients = coefficients['value'].to_dict() + assert "value" in coefficients.columns + coefficients = coefficients["value"].to_dict() - assert isinstance(coefficients, dict), \ - "map_coefficients doesn't grok type of coefficients: %s" % (type(coefficients)) + assert isinstance( + coefficients, dict + ), "map_coefficients doesn't grok type of coefficients: %s" % (type(coefficients)) for c in spec.columns: if c == simulate.SPEC_LABEL_NAME: @@ -40,7 +44,14 @@ def map_coefficients(spec, coefficients): def choose_intermediate_trip_purpose( - trips, probs_spec, estimator, probs_join_cols, use_depart_time, trace_hh_id, trace_label): + trips, + probs_spec, + estimator, + probs_join_cols, + use_depart_time, + trace_hh_id, + trace_label, +): """ chose purpose for intermediate trips based on probs_spec which assigns relative weights (summing to 1) to the possible purpose choices @@ -52,7 +63,7 @@ def choose_intermediate_trip_purpose( non_purpose_cols = probs_join_cols.copy() if use_depart_time: - non_purpose_cols += ['depart_range_start', 'depart_range_end'] + non_purpose_cols += ["depart_range_start", "depart_range_end"] purpose_cols = [c for c in probs_spec.columns if c not in non_purpose_cols] num_trips = len(trips.index) @@ -60,40 +71,70 @@ def choose_intermediate_trip_purpose( # probs should sum to 1 across rows sum_probs = probs_spec[purpose_cols].sum(axis=1) - probs_spec.loc[:, purpose_cols] = probs_spec.loc[:, purpose_cols].div(sum_probs, axis=0) + probs_spec.loc[:, purpose_cols] = probs_spec.loc[:, purpose_cols].div( + sum_probs, axis=0 + ) # left join trips to probs (there may be multiple rows per trip for multiple depart ranges) - choosers = pd.merge(trips.reset_index(), probs_spec, on=probs_join_cols, - how='left').set_index('trip_id') - chunk.log_df(trace_label, 'choosers', choosers) + choosers = pd.merge( + trips.reset_index(), probs_spec, on=probs_join_cols, how="left" + ).set_index("trip_id") + chunk.log_df(trace_label, "choosers", choosers) if use_depart_time: # select the matching depart range (this should result on in exactly one chooser row per trip) - chooser_probs = \ - (choosers.start >= choosers['depart_range_start']) & (choosers.start <= choosers['depart_range_end']) + chooser_probs = (choosers.start >= choosers["depart_range_start"]) & ( + choosers.start <= choosers["depart_range_end"] + ) # if we failed to match a row in probs_spec if chooser_probs.sum() < num_trips: # this can happen if the spec doesn't have probs for the trips matching a trip's probs_join_cols - missing_trip_ids = trips.index[~trips.index.isin(choosers.index[chooser_probs])].values + missing_trip_ids = trips.index[ + ~trips.index.isin(choosers.index[chooser_probs]) + ].values unmatched_choosers = choosers[choosers.index.isin(missing_trip_ids)] - unmatched_choosers = unmatched_choosers[['person_id', 'start'] + non_purpose_cols] + unmatched_choosers = unmatched_choosers[ + ["person_id", "start"] + non_purpose_cols + ] # join to persons for better diagnostics - persons = inject.get_table('persons').to_frame() - persons_cols = ['age', 'is_worker', 'is_student', 'is_gradeschool', 'is_highschool', 'is_university'] + persons = inject.get_table("persons").to_frame() + persons_cols = [ + "age", + "is_worker", + "is_student", + "is_gradeschool", + "is_highschool", + "is_university", + ] unmatched_choosers = pd.merge( - unmatched_choosers, persons[[col for col in persons_cols if col in persons.columns]], - left_on='person_id', right_index=True, how='left') - - file_name = '%s.UNMATCHED_PROBS' % trace_label - logger.error("%s %s of %s intermediate trips could not be matched to probs based on join columns %s" % - (trace_label, len(unmatched_choosers), len(choosers), probs_join_cols)) - logger.info("Writing %s unmatched choosers to %s" % (len(unmatched_choosers), file_name,)) + unmatched_choosers, + persons[[col for col in persons_cols if col in persons.columns]], + left_on="person_id", + right_index=True, + how="left", + ) + + file_name = "%s.UNMATCHED_PROBS" % trace_label + logger.error( + "%s %s of %s intermediate trips could not be matched to probs based on join columns %s" + % (trace_label, len(unmatched_choosers), len(choosers), probs_join_cols) + ) + logger.info( + "Writing %s unmatched choosers to %s" + % ( + len(unmatched_choosers), + file_name, + ) + ) tracing.write_csv(unmatched_choosers, file_name=file_name, transpose=False) - raise RuntimeError("Some trips could not be matched to probs based on join columns %s." % probs_join_cols) + raise RuntimeError( + "Some trips could not be matched to probs based on join columns %s." + % probs_join_cols + ) # select the matching depart range (this should result on in exactly one chooser row per trip) choosers = choosers[chooser_probs] @@ -104,26 +145,23 @@ def choose_intermediate_trip_purpose( if estimator: probs_cols = list(probs_spec.columns) print(choosers[probs_cols]) - estimator.write_table(choosers[probs_cols], 'probs', append=True) + estimator.write_table(choosers[probs_cols], "probs", append=True) choices, rands = logit.make_choices( - choosers[purpose_cols], - trace_label=trace_label, trace_choosers=choosers) + choosers[purpose_cols], trace_label=trace_label, trace_choosers=choosers + ) if have_trace_targets: - tracing.trace_df(choices, '%s.choices' % trace_label, columns=[None, 'trip_purpose']) - tracing.trace_df(rands, '%s.rands' % trace_label, columns=[None, 'rand']) + tracing.trace_df( + choices, "%s.choices" % trace_label, columns=[None, "trip_purpose"] + ) + tracing.trace_df(rands, "%s.rands" % trace_label, columns=[None, "rand"]) choices = choices.map(pd.Series(purpose_cols)) return choices -def run_trip_purpose( - trips_df, - estimator, - chunk_size, - trace_hh_id, - trace_label): +def run_trip_purpose(trips_df, estimator, chunk_size, trace_hh_id, trace_label): """ trip purpose - main functionality separated from model step so it can be called iteratively @@ -141,36 +179,38 @@ def run_trip_purpose( """ # uniform across trip_purpose - chunk_tag = 'trip_purpose' + chunk_tag = "trip_purpose" - model_settings_file_name = 'trip_purpose.yaml' + model_settings_file_name = "trip_purpose.yaml" model_settings = config.read_model_settings(model_settings_file_name) - probs_join_cols = model_settings.get('probs_join_cols', PROBS_JOIN_COLUMNS) + probs_join_cols = model_settings.get("probs_join_cols", PROBS_JOIN_COLUMNS) - spec_file_name = model_settings.get('PROBS_SPEC', 'trip_purpose_probs.csv') - probs_spec = pd.read_csv(config.config_file_path(spec_file_name), comment='#') + spec_file_name = model_settings.get("PROBS_SPEC", "trip_purpose_probs.csv") + probs_spec = pd.read_csv(config.config_file_path(spec_file_name), comment="#") # FIXME for now, not really doing estimation for probabilistic model - just overwriting choices # besides, it isn't clear that named coefficients would be helpful if we had some form of estimation # coefficients_df = simulate.read_model_coefficients(model_settings) # probs_spec = map_coefficients(probs_spec, coefficients_df) if estimator: - estimator.write_spec(model_settings, tag='PROBS_SPEC') + estimator.write_spec(model_settings, tag="PROBS_SPEC") estimator.write_model_settings(model_settings, model_settings_file_name) # estimator.write_coefficients(coefficients_df, model_settings) result_list = [] # - last trip of outbound tour gets primary_purpose - last_trip = (trips_df.trip_num == trips_df.trip_count) + last_trip = trips_df.trip_num == trips_df.trip_count purpose = trips_df.primary_purpose[last_trip & trips_df.outbound] result_list.append(purpose) logger.info("assign purpose to %s last outbound trips", purpose.shape[0]) # - last trip of inbound tour gets home (or work for atwork subtours) purpose = trips_df.primary_purpose[last_trip & ~trips_df.outbound] - purpose = pd.Series(np.where(purpose == 'atwork', 'work', 'home'), index=purpose.index) + purpose = pd.Series( + np.where(purpose == "atwork", "work", "home"), index=purpose.index + ) result_list.append(purpose) logger.info("assign purpose to %s last inbound trips", purpose.shape[0]) @@ -178,19 +218,21 @@ def run_trip_purpose( trips_df = trips_df[~last_trip] logger.info("assign purpose to %s intermediate trips", trips_df.shape[0]) - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_dict = config.get_model_constants(model_settings) expressions.assign_columns( df=trips_df, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) - use_depart_time = model_settings.get('use_depart_time', True) + use_depart_time = model_settings.get("use_depart_time", True) - for i, trips_chunk, chunk_trace_label in \ - chunk.adaptive_chunked_choosers(trips_df, chunk_size, chunk_tag, trace_label): + for i, trips_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + trips_df, chunk_size, chunk_tag, trace_label + ): choices = choose_intermediate_trip_purpose( trips_chunk, probs_spec, @@ -198,11 +240,12 @@ def run_trip_purpose( probs_join_cols=probs_join_cols, use_depart_time=use_depart_time, trace_hh_id=trace_hh_id, - trace_label=chunk_trace_label) + trace_label=chunk_trace_label, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) if len(result_list) > 1: choices = pd.concat(result_list) @@ -211,10 +254,7 @@ def run_trip_purpose( @inject.step() -def trip_purpose( - trips, - chunk_size, - trace_hh_id): +def trip_purpose(trips, chunk_size, trace_hh_id): """ trip purpose model step - calls run_trip_purpose to run the actual model @@ -225,9 +265,14 @@ def trip_purpose( trips_df = trips.to_frame() - estimator = estimation.manager.begin_estimation('trip_purpose') + estimator = estimation.manager.begin_estimation("trip_purpose") if estimator: - chooser_cols_for_estimation = ['person_id', 'household_id', 'tour_id', 'trip_num'] + chooser_cols_for_estimation = [ + "person_id", + "household_id", + "tour_id", + "trip_num", + ] estimator.write_choosers(trips_df[chooser_cols_for_estimation]) choices = run_trip_purpose( @@ -235,16 +280,18 @@ def trip_purpose( estimator, chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=trace_label + trace_label=trace_label, ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'trips', 'purpose') # override choices + choices = estimator.get_survey_values( + choices, "trips", "purpose" + ) # override choices estimator.write_override_choices(choices) estimator.end_estimation() - trips_df['purpose'] = choices + trips_df["purpose"] = choices # we should have assigned a purpose to all trips assert not trips_df.purpose.isnull().any() @@ -252,8 +299,10 @@ def trip_purpose( pipeline.replace_table("trips", trips_df) if trace_hh_id: - tracing.trace_df(trips_df, - label=trace_label, - slicer='trip_id', - index_label='trip_id', - warn_if_empty=True) + tracing.trace_df( + trips_df, + label=trace_label, + slicer="trip_id", + index_label="trip_id", + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/trip_purpose_and_destination.py b/activitysim/abm/models/trip_purpose_and_destination.py index 19ac2c4691..31bca977ec 100644 --- a/activitysim/abm/models/trip_purpose_and_destination.py +++ b/activitysim/abm/models/trip_purpose_and_destination.py @@ -4,18 +4,14 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import inject - -from activitysim.core.util import assign_in_place - -from activitysim.abm.models.trip_purpose import run_trip_purpose from activitysim.abm.models.trip_destination import run_trip_destination - -from activitysim.abm.models.util.trip import flag_failed_trip_leg_mates -from activitysim.abm.models.util.trip import cleanup_failed_trips +from activitysim.abm.models.trip_purpose import run_trip_purpose +from activitysim.abm.models.util.trip import ( + cleanup_failed_trips, + flag_failed_trip_leg_mates, +) +from activitysim.core import config, inject, pipeline, tracing +from activitysim.core.util import assign_in_place from .util import estimation @@ -23,11 +19,8 @@ def run_trip_purpose_and_destination( - trips_df, - tours_merged_df, - chunk_size, - trace_hh_id, - trace_label): + trips_df, tours_merged_df, chunk_size, trace_hh_id, trace_label +): assert not trips_df.empty @@ -36,10 +29,10 @@ def run_trip_purpose_and_destination( estimator=None, chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, 'purpose') + trace_label=tracing.extend_trace_label(trace_label, "purpose"), ) - trips_df['purpose'] = choices + trips_df["purpose"] = choices trips_df, save_sample_df = run_trip_destination( trips_df, @@ -47,27 +40,31 @@ def run_trip_purpose_and_destination( estimator=None, chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, 'destination')) + trace_label=tracing.extend_trace_label(trace_label, "destination"), + ) return trips_df, save_sample_df @inject.step() -def trip_purpose_and_destination( - trips, - tours_merged, - chunk_size, - trace_hh_id): +def trip_purpose_and_destination(trips, tours_merged, chunk_size, trace_hh_id): trace_label = "trip_purpose_and_destination" - model_settings = config.read_model_settings('trip_purpose_and_destination.yaml') + model_settings = config.read_model_settings("trip_purpose_and_destination.yaml") # for consistency, read sample_table_name setting from trip_destination settings file - trip_destination_model_settings = config.read_model_settings('trip_destination.yaml') - sample_table_name = trip_destination_model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + trip_destination_model_settings = config.read_model_settings( + "trip_destination.yaml" + ) + sample_table_name = trip_destination_model_settings.get( + "DEST_CHOICE_SAMPLE_TABLE_NAME" + ) + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) - MAX_ITERATIONS = model_settings.get('MAX_ITERATIONS', 5) + MAX_ITERATIONS = model_settings.get("MAX_ITERATIONS", 5) trips_df = trips.to_frame() tours_merged_df = tours_merged.to_frame() @@ -78,12 +75,12 @@ def trip_purpose_and_destination( # FIXME could allow MAX_ITERATIONS=0 to allow for cleanup-only run # in which case, we would need to drop bad trips, WITHOUT failing bad_trip leg_mates - assert (MAX_ITERATIONS > 0) + assert MAX_ITERATIONS > 0 # if trip_destination has been run before, keep only failed trips (and leg_mates) to retry - if 'destination' in trips_df: + if "destination" in trips_df: - if 'failed' not in trips_df.columns: + if "failed" not in trips_df.columns: # trip_destination model cleaned up any failed trips logger.info("%s - no failed column from prior model run." % trace_label) return @@ -91,35 +88,39 @@ def trip_purpose_and_destination( elif not trips_df.failed.any(): # 'failed' column but no failed trips from prior run of trip_destination logger.info("%s - no failed trips from prior model run." % trace_label) - trips_df.drop(columns='failed', inplace=True) + trips_df.drop(columns="failed", inplace=True) pipeline.replace_table("trips", trips_df) return else: logger.info("trip_destination has already been run. Rerunning failed trips") - flag_failed_trip_leg_mates(trips_df, 'failed') + flag_failed_trip_leg_mates(trips_df, "failed") trips_df = trips_df[trips_df.failed] - tours_merged_df = tours_merged_df[tours_merged_df.index.isin(trips_df.tour_id)] + tours_merged_df = tours_merged_df[ + tours_merged_df.index.isin(trips_df.tour_id) + ] logger.info("Rerunning %s failed trips and leg-mates" % trips_df.shape[0]) # drop any previously saved samples of failed trips if want_sample_table and pipeline.is_table(sample_table_name): logger.info("Dropping any previously saved samples of failed trips") save_sample_df = pipeline.get_table(sample_table_name) - save_sample_df.drop(trips_df.index, level='trip_id', inplace=True) + save_sample_df.drop(trips_df.index, level="trip_id", inplace=True) pipeline.replace_table(sample_table_name, save_sample_df) del save_sample_df # if we estimated trip_destination, there should have been no failed trips # if we didn't, but it is enabled, it is probably a configuration error # if we just estimated trip_purpose, it isn't clear what they are trying to do , nor how to handle it - assert not (estimation.manager.begin_estimation('trip_purpose') - or estimation.manager.begin_estimation('trip_destination')) + assert not ( + estimation.manager.begin_estimation("trip_purpose") + or estimation.manager.begin_estimation("trip_destination") + ) processed_trips = [] save_samples = [] i = 0 - TRIP_RESULT_COLUMNS = ['purpose', 'destination', 'origin', 'failed'] + TRIP_RESULT_COLUMNS = ["purpose", "destination", "origin", "failed"] while True: i += 1 @@ -133,14 +134,19 @@ def trip_purpose_and_destination( tours_merged_df, chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, "i%s" % i)) + trace_label=tracing.extend_trace_label(trace_label, "i%s" % i), + ) # # if testing, make sure at least one trip fails - if config.setting('testing_fail_trip_destination', False) \ - and (i == 1) and not trips_df.failed.any(): + if ( + config.setting("testing_fail_trip_destination", False) + and (i == 1) + and not trips_df.failed.any() + ): fail_o = trips_df[trips_df.trip_num < trips_df.trip_count].origin.max() - trips_df.failed = (trips_df.origin == fail_o) & \ - (trips_df.trip_num < trips_df.trip_count) + trips_df.failed = (trips_df.origin == fail_o) & ( + trips_df.trip_num < trips_df.trip_count + ) num_failed_trips = trips_df.failed.sum() @@ -151,10 +157,14 @@ def trip_purpose_and_destination( save_samples.append(save_sample_df) break - logger.warning("%s %s failed trips in iteration %s" % (trace_label, num_failed_trips, i)) + logger.warning( + "%s %s failed trips in iteration %s" % (trace_label, num_failed_trips, i) + ) file_name = "%s_i%s_failed_trips" % (trace_label, i) logger.info("writing failed trips to %s" % file_name) - tracing.write_csv(trips_df[trips_df.failed], file_name=file_name, transpose=False) + tracing.write_csv( + trips_df[trips_df.failed], file_name=file_name, transpose=False + ) # if max iterations reached, add remaining trips to processed_trips and give up # note that we do this BEFORE failing leg_mates so resulting trip legs are complete @@ -162,12 +172,14 @@ def trip_purpose_and_destination( logger.warning("%s too many iterations %s" % (trace_label, i)) processed_trips.append(trips_df[TRIP_RESULT_COLUMNS]) if save_sample_df is not None: - save_sample_df.drop(trips_df[trips_df.failed].index, level='trip_id', inplace=True) + save_sample_df.drop( + trips_df[trips_df.failed].index, level="trip_id", inplace=True + ) save_samples.append(save_sample_df) break # otherwise, if any trips failed, then their leg-mates trips must also fail - flag_failed_trip_leg_mates(trips_df, 'failed') + flag_failed_trip_leg_mates(trips_df, "failed") # add the good trips to processed_trips processed_trips.append(trips_df[~trips_df.failed][TRIP_RESULT_COLUMNS]) @@ -179,7 +191,7 @@ def trip_purpose_and_destination( # add trip samples of processed_trips to processed_samples if save_sample_df is not None: # drop failed trip samples - save_sample_df.drop(trips_df.index, level='trip_id', inplace=True) + save_sample_df.drop(trips_df.index, level="trip_id", inplace=True) save_samples.append(save_sample_df) # - assign result columns to trips @@ -187,11 +199,15 @@ def trip_purpose_and_destination( if len(save_samples) > 0: save_sample_df = pd.concat(save_samples) - logger.info("adding %s samples to %s" % (len(save_sample_df), sample_table_name)) + logger.info( + "adding %s samples to %s" % (len(save_sample_df), sample_table_name) + ) pipeline.extend_table(sample_table_name, save_sample_df) - logger.info("%s %s failed trips after %s iterations" % - (trace_label, processed_trips.failed.sum(), i)) + logger.info( + "%s %s failed trips after %s iterations" + % (trace_label, processed_trips.failed.sum(), i) + ) trips_df = trips.to_frame() assign_in_place(trips_df, processed_trips) @@ -207,14 +223,16 @@ def trip_purpose_and_destination( # once we discard failed trips, we should samples for all trips save_sample_df = pipeline.get_table(sample_table_name) # expect samples only for intermediate trip destinatinos - assert \ - len(save_sample_df.index.get_level_values(0).unique()) == \ - len(trips_df[trips_df.trip_num < trips_df.trip_count]) + assert len(save_sample_df.index.get_level_values(0).unique()) == len( + trips_df[trips_df.trip_num < trips_df.trip_count] + ) del save_sample_df if trace_hh_id: - tracing.trace_df(trips_df, - label=trace_label, - slicer='trip_id', - index_label='trip_id', - warn_if_empty=True) + tracing.trace_df( + trips_df, + label=trace_label, + slicer="trip_id", + index_label="trip_id", + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/trip_scheduling.py b/activitysim/abm/models/trip_scheduling.py index 2e89414bbd..a594f5e0bd 100644 --- a/activitysim/abm/models/trip_scheduling.py +++ b/activitysim/abm/models/trip_scheduling.py @@ -1,28 +1,18 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - import logging +from builtins import range import numpy as np import pandas as pd -from activitysim.core import logit -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import chunk -from activitysim.core import pipeline - +from activitysim.abm.models.util import estimation +from activitysim.abm.models.util.trip import cleanup_failed_trips, failed_trip_cohorts +from activitysim.core import chunk, config, inject, logit, pipeline, tracing from activitysim.core.util import reindex -from activitysim.abm.models.util.trip import failed_trip_cohorts -from activitysim.abm.models.util.trip import cleanup_failed_trips - -from activitysim.abm.models.util import estimation from .util import probabilistic_scheduling as ps - logger = logging.getLogger(__name__) """ @@ -36,17 +26,22 @@ NO_TRIP_ID = 0 NO_DEPART = 0 -DEPART_ALT_BASE = 'DEPART_ALT_BASE' +DEPART_ALT_BASE = "DEPART_ALT_BASE" -FAILFIX = 'FAILFIX' -FAILFIX_CHOOSE_MOST_INITIAL = 'choose_most_initial' -FAILFIX_DROP_AND_CLEANUP = 'drop_and_cleanup' +FAILFIX = "FAILFIX" +FAILFIX_CHOOSE_MOST_INITIAL = "choose_most_initial" +FAILFIX_DROP_AND_CLEANUP = "drop_and_cleanup" FAILFIX_DEFAULT = FAILFIX_CHOOSE_MOST_INITIAL -DEPARTURE_MODE = 'departure' -DURATION_MODE = 'stop_duration' -PROBS_JOIN_COLUMNS_DEPARTURE_BASED = ['primary_purpose', 'outbound', 'tour_hour', 'trip_num'] -PROBS_JOIN_COLUMNS_DURATION_BASED = ['outbound', 'stop_num'] +DEPARTURE_MODE = "departure" +DURATION_MODE = "stop_duration" +PROBS_JOIN_COLUMNS_DEPARTURE_BASED = [ + "primary_purpose", + "outbound", + "tour_hour", + "trip_num", +] +PROBS_JOIN_COLUMNS_DURATION_BASED = ["outbound", "stop_num"] def set_tour_hour(trips, tours): @@ -64,33 +59,37 @@ def set_tour_hour(trips, tours): """ # all trips must depart between tour start and end - trips['earliest'] = reindex(tours.start, trips.tour_id) - trips['latest'] = reindex(tours.end, trips.tour_id) + trips["earliest"] = reindex(tours.start, trips.tour_id) + trips["latest"] = reindex(tours.end, trips.tour_id) # tour_hour is start for outbound trips, and end for inbound trips - trips['tour_hour'] = np.where( - trips.outbound, - trips['earliest'], - trips['latest']).astype(np.int8) + trips["tour_hour"] = np.where( + trips.outbound, trips["earliest"], trips["latest"] + ).astype(np.int8) # subtours indexed by parent_tour_id - subtours = tours.loc[tours.primary_purpose == 'atwork', - ['tour_num', 'tour_count', 'parent_tour_id', 'start', 'end']] + subtours = tours.loc[ + tours.primary_purpose == "atwork", + ["tour_num", "tour_count", "parent_tour_id", "start", "end"], + ] subtours.parent_tour_id = subtours.parent_tour_id.astype(np.int64) - subtours = subtours.set_index('parent_tour_id') + subtours = subtours.set_index("parent_tour_id") subtours = subtours.astype(np.int16) # remaining columns are all small ints # bool series trip_has_subtours = trips.tour_id.isin(subtours.index) outbound = trip_has_subtours & trips.outbound - trips.loc[outbound, 'latest'] = \ - reindex(subtours[subtours.tour_num == 1]['start'], trips[outbound].tour_id) + trips.loc[outbound, "latest"] = reindex( + subtours[subtours.tour_num == 1]["start"], trips[outbound].tour_id + ) inbound = trip_has_subtours & ~trips.outbound - trips.loc[inbound, 'earliest'] = \ - reindex(subtours[subtours.tour_num == subtours.tour_count]['end'], trips[inbound].tour_id) + trips.loc[inbound, "earliest"] = reindex( + subtours[subtours.tour_num == subtours.tour_count]["end"], + trips[inbound].tour_id, + ) def set_stop_num(trips): @@ -102,8 +101,8 @@ def set_stop_num(trips): outbound trips technically choose a departure time while inbound trips choose an arrival. """ - trips['stop_num'] = trips['trip_num'] - 1 - trips['stop_num'] = trips.stop_num.where(trips['outbound'], trips['trip_num']) + trips["stop_num"] = trips["trip_num"] - 1 + trips["stop_num"] = trips.stop_num.where(trips["outbound"], trips["trip_num"]) def update_tour_earliest(trips, outbound_choices): @@ -125,35 +124,41 @@ def update_tour_earliest(trips, outbound_choices): """ # append outbound departure times to trips tmp_trips = trips.copy() - tmp_trips['outbound_departure'] = outbound_choices.reindex(tmp_trips.index) + tmp_trips["outbound_departure"] = outbound_choices.reindex(tmp_trips.index) # get max outbound trip departure times for all person-tours - max_outbound_person_departures = tmp_trips.groupby( - ['person_id', 'tour_id'])['outbound_departure'].max() - max_outbound_person_departures.name = 'max_outbound_departure' + max_outbound_person_departures = tmp_trips.groupby(["person_id", "tour_id"])[ + "outbound_departure" + ].max() + max_outbound_person_departures.name = "max_outbound_departure" # append max outbound trip departure times to trips tmp_trips = tmp_trips.merge( max_outbound_person_departures, - left_on=['person_id', 'tour_id'], right_index=True) + left_on=["person_id", "tour_id"], + right_index=True, + ) # set the trips "earliest" column equal to the max outbound departure # time for all inbound trips. preserve values that were used for outbound trips - tmp_trips['earliest'] = tmp_trips['earliest'].where( - tmp_trips['outbound'], tmp_trips['max_outbound_departure']) + tmp_trips["earliest"] = tmp_trips["earliest"].where( + tmp_trips["outbound"], tmp_trips["max_outbound_departure"] + ) - trips['earliest'] = tmp_trips['earliest'].reindex(trips.index) + trips["earliest"] = tmp_trips["earliest"].reindex(trips.index) return def schedule_trips_in_leg( - outbound, - trips, - probs_spec, - model_settings, - is_last_iteration, - trace_hh_id, trace_label): + outbound, + trips, + probs_spec, + model_settings, + is_last_iteration, + trace_hh_id, + trace_label, +): """ Parameters @@ -173,17 +178,22 @@ def schedule_trips_in_leg( """ failfix = model_settings.get(FAILFIX, FAILFIX_DEFAULT) - depart_alt_base = model_settings.get('DEPART_ALT_BASE', 0) - scheduling_mode = model_settings.get('scheduling_mode', 'departure') - - if scheduling_mode == 'departure': - probs_join_cols = model_settings.get('probs_join_cols', PROBS_JOIN_COLUMNS_DEPARTURE_BASED) - elif scheduling_mode == 'stop_duration': - probs_join_cols = model_settings.get('probs_join_cols', PROBS_JOIN_COLUMNS_DURATION_BASED) + depart_alt_base = model_settings.get("DEPART_ALT_BASE", 0) + scheduling_mode = model_settings.get("scheduling_mode", "departure") + + if scheduling_mode == "departure": + probs_join_cols = model_settings.get( + "probs_join_cols", PROBS_JOIN_COLUMNS_DEPARTURE_BASED + ) + elif scheduling_mode == "stop_duration": + probs_join_cols = model_settings.get( + "probs_join_cols", PROBS_JOIN_COLUMNS_DURATION_BASED + ) else: logger.error( "Invalid scheduling mode specified: {0}.".format(scheduling_mode), - "Please select one of ['departure', 'stop_duration'] and try again.") + "Please select one of ['departure', 'stop_duration'] and try again.", + ) # logger.debug("%s scheduling %s trips" % (trace_label, trips.shape[0])) @@ -194,8 +204,10 @@ def schedule_trips_in_leg( # trips to/from tour origin or atwork get tour_hour departure times # no need to schedule them if there are no intermediate stops - to_from_tour_orig = (trips.trip_num == 1) if outbound else (trips.trip_num == trips.trip_count) - do_not_schedule = to_from_tour_orig | (trips.primary_purpose == 'atwork') + to_from_tour_orig = ( + (trips.trip_num == 1) if outbound else (trips.trip_num == trips.trip_count) + ) + do_not_schedule = to_from_tour_orig | (trips.primary_purpose == "atwork") choices = trips.tour_hour[do_not_schedule] if do_not_schedule.all(): @@ -207,16 +219,16 @@ def schedule_trips_in_leg( # add next_trip_id temp column, and specificy departure constraint column to update trips = trips.sort_index() if outbound or scheduling_mode == DURATION_MODE: - trips['next_trip_id'] = np.roll(trips.index, -1) + trips["next_trip_id"] = np.roll(trips.index, -1) is_final = trips.trip_num == trips.trip_count # each trip's depart constrains next trip's earliest depart option - ADJUST_NEXT_DEPART_COL = 'earliest' + ADJUST_NEXT_DEPART_COL = "earliest" else: - trips['next_trip_id'] = np.roll(trips.index, 1) + trips["next_trip_id"] = np.roll(trips.index, 1) is_final = trips.trip_num == 1 # if inbound, we are handling in reverse order, so each choice # constrains latest depart of the preceding trip - ADJUST_NEXT_DEPART_COL = 'latest' + ADJUST_NEXT_DEPART_COL = "latest" trips.next_trip_id = trips.next_trip_id.where(~is_final, NO_TRIP_ID) first_trip_in_leg = True @@ -229,34 +241,43 @@ def schedule_trips_in_leg( # iterate over inbound trips in descending trip_num order, skipping the final trip nth_trips = trips[trips.trip_num == trips.trip_count - i] - nth_trace_label = tracing.extend_trace_label(trace_label, 'num_%s' % i) + nth_trace_label = tracing.extend_trace_label(trace_label, "num_%s" % i) choices = ps.make_scheduling_choices( - nth_trips, scheduling_mode, probs_spec, probs_join_cols, + nth_trips, + scheduling_mode, + probs_spec, + probs_join_cols, depart_alt_base, first_trip_in_leg=first_trip_in_leg, report_failed_trips=is_last_iteration, trace_hh_id=trace_hh_id, - trace_label=nth_trace_label) + trace_label=nth_trace_label, + ) # most initial departure (when no choice was made because all probs were zero) if is_last_iteration and (failfix == FAILFIX_CHOOSE_MOST_INITIAL): choices = choices.reindex(nth_trips.index) - logger.warning("%s coercing %s depart choices to most initial" % - (nth_trace_label, choices.isna().sum())) + logger.warning( + "%s coercing %s depart choices to most initial" + % (nth_trace_label, choices.isna().sum()) + ) choices = choices.fillna(trips[ADJUST_NEXT_DEPART_COL]) # adjust allowed depart range of next trip - has_next_trip = (nth_trips.next_trip_id != NO_TRIP_ID) + has_next_trip = nth_trips.next_trip_id != NO_TRIP_ID if has_next_trip.any(): next_trip_ids = nth_trips.next_trip_id[has_next_trip] # patch choice any trips with next_trips that weren't scheduled - trips.loc[next_trip_ids, ADJUST_NEXT_DEPART_COL] = \ - choices.reindex(next_trip_ids.index).fillna(trips[ADJUST_NEXT_DEPART_COL]).values + trips.loc[next_trip_ids, ADJUST_NEXT_DEPART_COL] = ( + choices.reindex(next_trip_ids.index) + .fillna(trips[ADJUST_NEXT_DEPART_COL]) + .values + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) first_trip_in_leg = False @@ -267,15 +288,16 @@ def schedule_trips_in_leg( def run_trip_scheduling( - trips_chunk, - tours, - probs_spec, - model_settings, - estimator, - is_last_iteration, - chunk_size, - trace_hh_id, - trace_label): + trips_chunk, + tours, + probs_spec, + model_settings, + estimator, + is_last_iteration, + chunk_size, + trace_hh_id, + trace_label, +): set_tour_hour(trips_chunk, tours) set_stop_num(trips_chunk) @@ -289,19 +311,19 @@ def run_trip_scheduling( if trips_chunk.outbound.any(): leg_chunk = trips_chunk[trips_chunk.outbound] - leg_trace_label = tracing.extend_trace_label(trace_label, 'outbound') - choices = \ - schedule_trips_in_leg( - outbound=True, - trips=leg_chunk, - probs_spec=probs_spec, - model_settings=model_settings, - is_last_iteration=is_last_iteration, - trace_hh_id=trace_hh_id, - trace_label=leg_trace_label) + leg_trace_label = tracing.extend_trace_label(trace_label, "outbound") + choices = schedule_trips_in_leg( + outbound=True, + trips=leg_chunk, + probs_spec=probs_spec, + model_settings=model_settings, + is_last_iteration=is_last_iteration, + trace_hh_id=trace_hh_id, + trace_label=leg_trace_label, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # departure time of last outbound trips must constrain # departure times for initial inbound trips @@ -309,19 +331,19 @@ def run_trip_scheduling( if (~trips_chunk.outbound).any(): leg_chunk = trips_chunk[~trips_chunk.outbound] - leg_trace_label = tracing.extend_trace_label(trace_label, 'inbound') - choices = \ - schedule_trips_in_leg( - outbound=False, - trips=leg_chunk, - probs_spec=probs_spec, - model_settings=model_settings, - is_last_iteration=is_last_iteration, - trace_hh_id=trace_hh_id, - trace_label=leg_trace_label) + leg_trace_label = tracing.extend_trace_label(trace_label, "inbound") + choices = schedule_trips_in_leg( + outbound=False, + trips=leg_chunk, + probs_spec=probs_spec, + model_settings=model_settings, + is_last_iteration=is_last_iteration, + trace_hh_id=trace_hh_id, + trace_label=leg_trace_label, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) choices = pd.concat(result_list) @@ -329,11 +351,7 @@ def run_trip_scheduling( @inject.step() -def trip_scheduling( - trips, - tours, - chunk_size, - trace_hh_id): +def trip_scheduling(trips, tours, chunk_size, trace_hh_id): """ Trip scheduling assigns depart times for trips within the start, end limits of the tour. @@ -381,7 +399,7 @@ def trip_scheduling( """ trace_label = "trip_scheduling" - model_settings_file_name = 'trip_scheduling.yaml' + model_settings_file_name = "trip_scheduling.yaml" model_settings = config.read_model_settings(model_settings_file_name) trips_df = trips.to_frame() @@ -392,35 +410,52 @@ def trip_scheduling( # trip_scheduling is a probabilistic model ane we don't support estimation, # but we do need to override choices in estimation mode - estimator = estimation.manager.begin_estimation('trip_scheduling') + estimator = estimation.manager.begin_estimation("trip_scheduling") if estimator: - estimator.write_spec(model_settings, tag='PROBS_SPEC') + estimator.write_spec(model_settings, tag="PROBS_SPEC") estimator.write_model_settings(model_settings, model_settings_file_name) - chooser_cols_for_estimation = ['person_id', 'household_id', 'tour_id', 'trip_num', 'trip_count', - 'primary_purpose', 'outbound', 'earliest', 'latest', 'tour_hour', ] + chooser_cols_for_estimation = [ + "person_id", + "household_id", + "tour_id", + "trip_num", + "trip_count", + "primary_purpose", + "outbound", + "earliest", + "latest", + "tour_hour", + ] estimator.write_choosers(trips_df[chooser_cols_for_estimation]) - probs_spec = pd.read_csv(config.config_file_path('trip_scheduling_probs.csv'), comment='#') + probs_spec = pd.read_csv( + config.config_file_path("trip_scheduling_probs.csv"), comment="#" + ) # FIXME for now, not really doing estimation for probabilistic model - just overwriting choices # besides, it isn't clear that named coefficients would be helpful if we had some form of estimation # coefficients_df = simulate.read_model_coefficients(model_settings) # probs_spec = map_coefficients(probs_spec, coefficients_df) # add tour-based chunk_id so we can chunk all trips in tour together - trips_df['chunk_id'] = reindex(pd.Series(list(range(len(tours))), tours.index), trips_df.tour_id) + trips_df["chunk_id"] = reindex( + pd.Series(list(range(len(tours))), tours.index), trips_df.tour_id + ) - assert 'DEPART_ALT_BASE' in model_settings + assert "DEPART_ALT_BASE" in model_settings failfix = model_settings.get(FAILFIX, FAILFIX_DEFAULT) - max_iterations = model_settings.get('MAX_ITERATIONS', 1) + max_iterations = model_settings.get("MAX_ITERATIONS", 1) assert max_iterations > 0 choices_list = [] - for chunk_i, trips_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers_by_chunk_id(trips_df, - chunk_size, - trace_label, - trace_label): + for ( + chunk_i, + trips_chunk, + chunk_trace_label, + ) in chunk.adaptive_chunked_choosers_by_chunk_id( + trips_df, chunk_size, trace_label, trace_label + ): i = 0 while (i < max_iterations) and not trips_chunk.empty: @@ -429,22 +464,27 @@ def trip_scheduling( with chunk.chunk_log(trace_label) if i == 0 else chunk.chunk_log_skip(): i += 1 - is_last_iteration = (i == max_iterations) + is_last_iteration = i == max_iterations trace_label_i = tracing.extend_trace_label(trace_label, "i%s" % i) - logger.info("%s scheduling %s trips within chunk %s", trace_label_i, trips_chunk.shape[0], chunk_i) - - choices = \ - run_trip_scheduling( - trips_chunk, - tours, - probs_spec, - model_settings, - estimator=estimator, - is_last_iteration=is_last_iteration, - chunk_size=chunk_size, - trace_hh_id=trace_hh_id, - trace_label=trace_label_i) + logger.info( + "%s scheduling %s trips within chunk %s", + trace_label_i, + trips_chunk.shape[0], + chunk_i, + ) + + choices = run_trip_scheduling( + trips_chunk, + tours, + probs_spec, + model_settings, + estimator=estimator, + is_last_iteration=is_last_iteration, + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label_i, + ) # boolean series of trips whose individual trip scheduling failed failed = choices.reindex(trips_chunk.index).isnull() @@ -465,24 +505,30 @@ def trip_scheduling( if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'trips', 'depart') # override choices + choices = estimator.get_survey_values( + choices, "trips", "depart" + ) # override choices estimator.write_override_choices(choices) estimator.end_estimation() assert not choices.isnull().any() if choices.isnull().any(): - logger.warning("%s of %s trips could not be scheduled after %s iterations" % - (choices.isnull().sum(), trips_df.shape[0], i)) + logger.warning( + "%s of %s trips could not be scheduled after %s iterations" + % (choices.isnull().sum(), trips_df.shape[0], i) + ) if failfix != FAILFIX_DROP_AND_CLEANUP: - raise RuntimeError("%s setting '%s' not enabled in settings" % - (FAILFIX, FAILFIX_DROP_AND_CLEANUP)) + raise RuntimeError( + "%s setting '%s' not enabled in settings" + % (FAILFIX, FAILFIX_DROP_AND_CLEANUP) + ) - trips_df['failed'] = choices.isnull() + trips_df["failed"] = choices.isnull() trips_df = cleanup_failed_trips(trips_df) choices = choices.reindex(trips_df.index) - trips_df['depart'] = choices + trips_df["depart"] = choices assert not trips_df.depart.isnull().any() diff --git a/activitysim/abm/models/trip_scheduling_choice.py b/activitysim/abm/models/trip_scheduling_choice.py index c950b0726f..463a00ee76 100644 --- a/activitysim/abm/models/trip_scheduling_choice.py +++ b/activitysim/abm/models/trip_scheduling_choice.py @@ -3,39 +3,40 @@ import numpy as np import pandas as pd -from activitysim.core import chunk -from activitysim.core import config -from activitysim.core import expressions -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import tracing - -from activitysim.abm.models.util.trip import generate_alternative_sizes, get_time_windows +from activitysim.abm.models.util.trip import ( + generate_alternative_sizes, + get_time_windows, +) +from activitysim.core import ( + chunk, + config, + expressions, + inject, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_sample_simulate import _interaction_sample_simulate logger = logging.getLogger(__name__) -TOUR_DURATION_COLUMN = 'duration' -NUM_ALTERNATIVES = 'num_alts' -MAIN_LEG_DURATION = 'main_leg_duration' -IB_DURATION = 'inbound_duration' -OB_DURATION = 'outbound_duration' -NUM_OB_STOPS = 'num_outbound_stops' -NUM_IB_STOPS = 'num_inbound_stops' -HAS_OB_STOPS = 'has_outbound_stops' -HAS_IB_STOPS = 'has_inbound_stops' -LAST_OB_STOP = 'last_outbound_stop' -FIRST_IB_STOP = 'last_inbound_stop' +TOUR_DURATION_COLUMN = "duration" +NUM_ALTERNATIVES = "num_alts" +MAIN_LEG_DURATION = "main_leg_duration" +IB_DURATION = "inbound_duration" +OB_DURATION = "outbound_duration" +NUM_OB_STOPS = "num_outbound_stops" +NUM_IB_STOPS = "num_inbound_stops" +HAS_OB_STOPS = "has_outbound_stops" +HAS_IB_STOPS = "has_inbound_stops" +LAST_OB_STOP = "last_outbound_stop" +FIRST_IB_STOP = "last_inbound_stop" -SCHEDULE_ID = 'schedule_id' +SCHEDULE_ID = "schedule_id" -OUTBOUND_FLAG = 'outbound' +OUTBOUND_FLAG = "outbound" -TEMP_COLS = [NUM_OB_STOPS, LAST_OB_STOP, - NUM_IB_STOPS, FIRST_IB_STOP, - NUM_ALTERNATIVES - ] +TEMP_COLS = [NUM_OB_STOPS, LAST_OB_STOP, NUM_IB_STOPS, FIRST_IB_STOP, NUM_ALTERNATIVES] def generate_schedule_alternatives(tours): @@ -66,7 +67,9 @@ def generate_schedule_alternatives(tours): stops. :return: pd.Dataframe: Potential time duration windows. """ - assert set([NUM_IB_STOPS, NUM_OB_STOPS, TOUR_DURATION_COLUMN]).issubset(tours.columns) + assert set([NUM_IB_STOPS, NUM_OB_STOPS, TOUR_DURATION_COLUMN]).issubset( + tours.columns + ) stop_pattern = tours[HAS_OB_STOPS].astype(int) + tours[HAS_IB_STOPS].astype(int) @@ -87,7 +90,9 @@ def no_stops_patterns(tours): :param tours: pd.Dataframe: Tours with no intermediate stops. :return: pd.Dataframe: Main leg duration, outbound leg duration, and inbound leg duration """ - alternatives = tours[[TOUR_DURATION_COLUMN]].rename(columns={TOUR_DURATION_COLUMN: MAIN_LEG_DURATION}) + alternatives = tours[[TOUR_DURATION_COLUMN]].rename( + columns={TOUR_DURATION_COLUMN: MAIN_LEG_DURATION} + ) alternatives[[IB_DURATION, OB_DURATION]] = 0 return alternatives.astype(int) @@ -106,15 +111,19 @@ def stop_one_way_only_patterns(tours, travel_duration_col=TOUR_DURATION_COLUMN): assert travel_duration_col in tours.columns - indexes, patterns, pattern_sizes = get_pattern_index_and_arrays(tours.index, tours[travel_duration_col], - one_way=True) + indexes, patterns, pattern_sizes = get_pattern_index_and_arrays( + tours.index, tours[travel_duration_col], one_way=True + ) direction = np.repeat(tours[HAS_OB_STOPS], pattern_sizes) inbound = np.where(direction == 0, patterns[:, 1], 0) outbound = np.where(direction == 1, patterns[:, 1], 0) - patterns = pd.DataFrame(index=indexes, data=np.column_stack((patterns[:, 0], outbound, inbound)), - columns=[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]) + patterns = pd.DataFrame( + index=indexes, + data=np.column_stack((patterns[:, 0], outbound, inbound)), + columns=[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION], + ) patterns.index.name = tours.index.name return patterns @@ -134,10 +143,15 @@ def stop_two_way_only_patterns(tours, travel_duration_col=TOUR_DURATION_COLUMN): assert travel_duration_col in tours.columns - indexes, patterns, _ = get_pattern_index_and_arrays(tours.index, tours[travel_duration_col], one_way=False) + indexes, patterns, _ = get_pattern_index_and_arrays( + tours.index, tours[travel_duration_col], one_way=False + ) - patterns = pd.DataFrame(index=indexes, data=patterns, - columns=[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]) + patterns = pd.DataFrame( + index=indexes, + data=patterns, + columns=[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION], + ) patterns.index.name = tours.index.name return patterns @@ -163,7 +177,9 @@ def get_pattern_index_and_arrays(tour_indexes, durations, one_way=True): pattern_sizes = [] for duration in durations: - possible_windows = time_windows[:max_columns, np.where(time_windows.sum(axis=0) == duration)[0]] + possible_windows = time_windows[ + :max_columns, np.where(time_windows.sum(axis=0) == duration)[0] + ] possible_windows = np.unique(possible_windows, axis=1).transpose() patterns.append(possible_windows) pattern_sizes.append(possible_windows.shape[0]) @@ -199,11 +215,12 @@ def get_spec_for_segment(model_settings, spec_name, segment): return spec -def run_trip_scheduling_choice(spec, tours, skims, locals_dict, - chunk_size, trace_hh_id, trace_label): +def run_trip_scheduling_choice( + spec, tours, skims, locals_dict, chunk_size, trace_hh_id, trace_label +): NUM_TOUR_LEGS = 3 - trace_label = tracing.extend_trace_label(trace_label, 'interaction_sample_simulate') + trace_label = tracing.extend_trace_label(trace_label, "interaction_sample_simulate") # FIXME: The duration, start, and end should be ints well before we get here... tours[TOUR_DURATION_COLUMN] = tours[TOUR_DURATION_COLUMN].astype(np.int8) @@ -221,14 +238,21 @@ def run_trip_scheduling_choice(spec, tours, skims, locals_dict, # Assert the number of tour leg schedule alternatives for each tour tours[NUM_ALTERNATIVES] = 1 - tours.loc[tours[HAS_OB_STOPS] != tours[HAS_IB_STOPS], NUM_ALTERNATIVES] = tours[TOUR_DURATION_COLUMN] + 1 - tours.loc[tours[HAS_OB_STOPS] & tours[HAS_IB_STOPS], NUM_ALTERNATIVES] = \ - tours.apply(lambda x: alt_sizes[1, x.duration], axis=1) + tours.loc[tours[HAS_OB_STOPS] != tours[HAS_IB_STOPS], NUM_ALTERNATIVES] = ( + tours[TOUR_DURATION_COLUMN] + 1 + ) + tours.loc[ + tours[HAS_OB_STOPS] & tours[HAS_IB_STOPS], NUM_ALTERNATIVES + ] = tours.apply(lambda x: alt_sizes[1, x.duration], axis=1) # If no intermediate stops on the tour, then then main leg duration # equals the tour duration and the intermediate durations are zero - tours.loc[~tours[HAS_OB_STOPS] & ~tours[HAS_IB_STOPS], MAIN_LEG_DURATION] = tours[TOUR_DURATION_COLUMN] - tours.loc[~tours[HAS_OB_STOPS] & ~tours[HAS_IB_STOPS], [IB_DURATION, OB_DURATION]] = 0 + tours.loc[~tours[HAS_OB_STOPS] & ~tours[HAS_IB_STOPS], MAIN_LEG_DURATION] = tours[ + TOUR_DURATION_COLUMN + ] + tours.loc[ + ~tours[HAS_OB_STOPS] & ~tours[HAS_IB_STOPS], [IB_DURATION, OB_DURATION] + ] = 0 # We only need to determine schedules for tours with intermediate stops indirect_tours = tours.loc[tours[HAS_OB_STOPS] | tours[HAS_IB_STOPS]] @@ -237,8 +261,9 @@ def run_trip_scheduling_choice(spec, tours, skims, locals_dict, # Iterate through the chunks result_list = [] - for i, choosers, chunk_trace_label in \ - chunk.adaptive_chunked_choosers(indirect_tours, chunk_size, trace_label): + for i, choosers, chunk_trace_label in chunk.adaptive_chunked_choosers( + indirect_tours, chunk_size, trace_label + ): # Sort the choosers and get the schedule alternatives choosers = choosers.sort_index() @@ -254,14 +279,15 @@ def run_trip_scheduling_choice(spec, tours, skims, locals_dict, alternatives=schedules, spec=spec, choice_column=SCHEDULE_ID, - allow_zero_probs=True, zero_prob_choice_val=-999, + allow_zero_probs=True, + zero_prob_choice_val=-999, log_alt_losers=False, want_logsums=False, skims=skims, locals_d=locals_dict, trace_label=chunk_trace_label, - trace_choice_name='trip_schedule_stage_1', - estimator=None + trace_choice_name="trip_schedule_stage_1", + estimator=None, ) assert len(choices.index) == len(choosers.index) @@ -270,7 +296,7 @@ def run_trip_scheduling_choice(spec, tours, skims, locals_dict, result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: @@ -285,24 +311,20 @@ def run_trip_scheduling_choice(spec, tours, skims, locals_dict, tours.update(choices[[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]]) # Cleanup data types and drop temporary columns - tours[[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]] = \ - tours[[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]].astype(np.int8) + tours[[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]] = tours[ + [MAIN_LEG_DURATION, OB_DURATION, IB_DURATION] + ].astype(np.int8) tours = tours.drop(columns=TEMP_COLS) return tours @inject.step() -def trip_scheduling_choice( - trips, - tours, - skim_dict, - chunk_size, - trace_hh_id): +def trip_scheduling_choice(trips, tours, skim_dict, chunk_size, trace_hh_id): - trace_label = 'trip_scheduling_choice' - model_settings = config.read_model_settings('trip_scheduling_choice.yaml') - spec = get_spec_for_segment(model_settings, 'SPECIFICATION', 'stage_one') + trace_label = "trip_scheduling_choice" + model_settings = config.read_model_settings("trip_scheduling_choice.yaml") + spec = get_spec_for_segment(model_settings, "SPECIFICATION", "stage_one") trips_df = trips.to_frame() tours_df = tours.to_frame() @@ -310,20 +332,36 @@ def trip_scheduling_choice( outbound_trips = trips_df[trips_df[OUTBOUND_FLAG]] inbound_trips = trips_df[~trips_df[OUTBOUND_FLAG]] - last_outbound_trip = trips_df.loc[outbound_trips.groupby('tour_id')['trip_num'].idxmax()] - first_inbound_trip = trips_df.loc[inbound_trips.groupby('tour_id')['trip_num'].idxmin()] - - tours_df[NUM_OB_STOPS] = outbound_trips.groupby('tour_id').size().reindex(tours.index) - 1 - tours_df[NUM_IB_STOPS] = inbound_trips.groupby('tour_id').size().reindex(tours.index) - 1 - tours_df[LAST_OB_STOP] = last_outbound_trip[['tour_id', 'origin']].set_index('tour_id').reindex(tours.index) - tours_df[FIRST_IB_STOP] = first_inbound_trip[['tour_id', 'destination']].set_index('tour_id').reindex(tours.index) - - preprocessor_settings = model_settings.get('PREPROCESSOR', None) + last_outbound_trip = trips_df.loc[ + outbound_trips.groupby("tour_id")["trip_num"].idxmax() + ] + first_inbound_trip = trips_df.loc[ + inbound_trips.groupby("tour_id")["trip_num"].idxmin() + ] + + tours_df[NUM_OB_STOPS] = ( + outbound_trips.groupby("tour_id").size().reindex(tours.index) - 1 + ) + tours_df[NUM_IB_STOPS] = ( + inbound_trips.groupby("tour_id").size().reindex(tours.index) - 1 + ) + tours_df[LAST_OB_STOP] = ( + last_outbound_trip[["tour_id", "origin"]] + .set_index("tour_id") + .reindex(tours.index) + ) + tours_df[FIRST_IB_STOP] = ( + first_inbound_trip[["tour_id", "destination"]] + .set_index("tour_id") + .reindex(tours.index) + ) + + preprocessor_settings = model_settings.get("PREPROCESSOR", None) if preprocessor_settings: # hack: preprocessor adds origin column in place if it does not exist already - od_skim_stack_wrapper = skim_dict.wrap('origin', 'destination') - do_skim_stack_wrapper = skim_dict.wrap('destination', 'origin') + od_skim_stack_wrapper = skim_dict.wrap("origin", "destination") + do_skim_stack_wrapper = skim_dict.wrap("destination", "origin") obib_skim_stack_wrapper = skim_dict.wrap(LAST_OB_STOP, FIRST_IB_STOP) skims = [od_skim_stack_wrapper, do_skim_stack_wrapper, obib_skim_stack_wrapper] @@ -331,7 +369,7 @@ def trip_scheduling_choice( locals_dict = { "od_skims": od_skim_stack_wrapper, "do_skims": do_skim_stack_wrapper, - "obib_skims": obib_skim_stack_wrapper + "obib_skims": obib_skim_stack_wrapper, } simulate.set_skim_wrapper_targets(tours_df, skims) @@ -340,8 +378,11 @@ def trip_scheduling_choice( df=tours_df, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) - tours_df = run_trip_scheduling_choice(spec, tours_df, skims, locals_dict, chunk_size, trace_hh_id, trace_label) + tours_df = run_trip_scheduling_choice( + spec, tours_df, skims, locals_dict, chunk_size, trace_hh_id, trace_label + ) pipeline.replace_table("tours", tours_df) diff --git a/activitysim/abm/models/util/canonical_ids.py b/activitysim/abm/models/util/canonical_ids.py index 51d46d3022..0720340fc2 100644 --- a/activitysim/abm/models/util/canonical_ids.py +++ b/activitysim/abm/models/util/canonical_ids.py @@ -10,16 +10,31 @@ logger = logging.getLogger(__name__) -RANDOM_CHANNELS = ['households', 'persons', 'tours', 'joint_tour_participants', 'trips'] -TRACEABLE_TABLES = ['households', 'persons', 'tours', 'joint_tour_participants', 'trips'] +RANDOM_CHANNELS = [ + "households", + "persons", + "tours", + "joint_tour_participants", + "trips", + "vehicles", +] +TRACEABLE_TABLES = [ + "households", + "persons", + "tours", + "joint_tour_participants", + "trips", + "vehicles", +] CANONICAL_TABLE_INDEX_NAMES = { - 'households': 'household_id', - 'persons': 'person_id', - 'tours': 'tour_id', - 'joint_tour_participants': 'participant_id', - 'trips': 'trip_id', - 'land_use': 'zone_id' + "households": "household_id", + "persons": "person_id", + "tours": "tour_id", + "joint_tour_participants": "participant_id", + "trips": "trip_id", + "land_use": "zone_id", + "vehicles": "vehicle_id", } # unfortunately the two places this is needed (joint_tour_participation and estimation.infer @@ -31,9 +46,11 @@ def enumerate_tour_types(tour_flavors): # tour_flavors: {'eat': 1, 'business': 2, 'maint': 1} # channels: ['eat1', 'business1', 'business2', 'maint1'] - channels = [tour_type + str(tour_num) - for tour_type, max_count in tour_flavors.items() - for tour_num in range(1, max_count + 1)] + channels = [ + tour_type + str(tour_num) + for tour_type, max_count in tour_flavors.items() + for tour_num in range(1, max_count + 1) + ] return channels @@ -53,35 +70,49 @@ def canonical_tours(): # - non_mandatory_channels MAX_EXTENSION = 2 - non_mandatory_tour_flavors = {'escort': 2 + MAX_EXTENSION, - 'shopping': 1 + MAX_EXTENSION, - 'othmaint': 1 + MAX_EXTENSION, - 'othdiscr': 1 + MAX_EXTENSION, - 'eatout': 1 + MAX_EXTENSION, - 'social': 1 + MAX_EXTENSION} + non_mandatory_tour_flavors = { + "escort": 2 + MAX_EXTENSION, + "shopping": 1 + MAX_EXTENSION, + "othmaint": 1 + MAX_EXTENSION, + "othdiscr": 1 + MAX_EXTENSION, + "eatout": 1 + MAX_EXTENSION, + "social": 1 + MAX_EXTENSION, + } non_mandatory_channels = enumerate_tour_types(non_mandatory_tour_flavors) # - mandatory_channels - mandatory_tour_flavors = {'work': 2, 'school': 2} + mandatory_tour_flavors = {"work": 2, "school": 2} mandatory_channels = enumerate_tour_types(mandatory_tour_flavors) # - atwork_subtour_channels # we need to distinguish between subtours of different work tours # (e.g. eat1_1 is eat subtour for parent work tour 1 and eat1_2 is for work tour 2) - atwork_subtour_flavors = {'eat': 1, 'business': 2, 'maint': 1} + atwork_subtour_flavors = {"eat": 1, "business": 2, "maint": 1} atwork_subtour_channels = enumerate_tour_types(atwork_subtour_flavors) - max_work_tours = mandatory_tour_flavors['work'] - atwork_subtour_channels = ['%s_%s' % (c, i+1) - for c in atwork_subtour_channels - for i in range(max_work_tours)] + max_work_tours = mandatory_tour_flavors["work"] + atwork_subtour_channels = [ + "%s_%s" % (c, i + 1) + for c in atwork_subtour_channels + for i in range(max_work_tours) + ] # - joint_tour_channels - joint_tour_flavors = {'shopping': 2, 'othmaint': 2, 'othdiscr': 2, 'eatout': 2, 'social': 2} + joint_tour_flavors = { + "shopping": 2, + "othmaint": 2, + "othdiscr": 2, + "eatout": 2, + "social": 2, + } joint_tour_channels = enumerate_tour_types(joint_tour_flavors) - joint_tour_channels = ['j_%s' % c for c in joint_tour_channels] + joint_tour_channels = ["j_%s" % c for c in joint_tour_channels] - sub_channels = \ - non_mandatory_channels + mandatory_channels + atwork_subtour_channels + joint_tour_channels + sub_channels = ( + non_mandatory_channels + + mandatory_channels + + atwork_subtour_channels + + joint_tour_channels + ) sub_channels.sort() @@ -106,36 +137,37 @@ def set_tour_index(tours, parent_tour_num_col=None, is_joint=False): Tours dataframe to reindex. """ - tour_num_col = 'tour_type_num' + tour_num_col = "tour_type_num" possible_tours = canonical_tours() possible_tours_count = len(possible_tours) assert tour_num_col in tours.columns # create string tour_id corresonding to keys in possible_tours (e.g. 'work1', 'j_shopping2') - tours['tour_id'] = tours.tour_type + tours[tour_num_col].map(str) + tours["tour_id"] = tours.tour_type + tours[tour_num_col].map(str) if parent_tour_num_col: # we need to distinguish between subtours of different work tours # (e.g. eat1_1 is eat subtour for parent work tour 1 and eat1_2 is for work tour 2) parent_tour_num = tours[parent_tour_num_col] - if parent_tour_num.dtype != 'int64': + if parent_tour_num.dtype != "int64": # might get converted to float if non-subtours rows are None (but we try to avoid this) - logger.error('parent_tour_num.dtype: %s' % parent_tour_num.dtype) + logger.error("parent_tour_num.dtype: %s" % parent_tour_num.dtype) parent_tour_num = parent_tour_num.astype(np.int64) - tours['tour_id'] = tours['tour_id'] + '_' + parent_tour_num.map(str) + tours["tour_id"] = tours["tour_id"] + "_" + parent_tour_num.map(str) if is_joint: - tours['tour_id'] = 'j_' + tours['tour_id'] + tours["tour_id"] = "j_" + tours["tour_id"] # map recognized strings to ints - tours.tour_id = tours.tour_id.replace(to_replace=possible_tours, - value=list(range(possible_tours_count))) + tours.tour_id = tours.tour_id.replace( + to_replace=possible_tours, value=list(range(possible_tours_count)) + ) # convert to numeric - shouldn't be any NaNs - this will raise error if there are - tours.tour_id = pd.to_numeric(tours.tour_id, errors='raise').astype(np.int64) + tours.tour_id = pd.to_numeric(tours.tour_id, errors="raise").astype(np.int64) tours.tour_id = (tours.person_id * possible_tours_count) + tours.tour_id @@ -144,20 +176,22 @@ def set_tour_index(tours, parent_tour_num_col=None, is_joint=False): # print(tours[tours.tour_id.duplicated(keep=False)][['survey_tour_id', 'tour_type', 'tour_category']]) assert not tours.tour_id.duplicated().any() - tours.set_index('tour_id', inplace=True, verify_integrity=True) + tours.set_index("tour_id", inplace=True, verify_integrity=True) # we modify tours in place, but return the dataframe for the convenience of the caller return tours -def set_trip_index(trips, tour_id_column='tour_id'): +def set_trip_index(trips, tour_id_column="tour_id"): MAX_TRIPS_PER_LEG = 4 # max number of trips per leg (inbound or outbound) of tour # canonical_trip_num: 1st trip out = 1, 2nd trip out = 2, 1st in = 5, etc. canonical_trip_num = (~trips.outbound * MAX_TRIPS_PER_LEG) + trips.trip_num - trips['trip_id'] = trips[tour_id_column] * (2 * MAX_TRIPS_PER_LEG) + canonical_trip_num - trips.set_index('trip_id', inplace=True, verify_integrity=True) + trips["trip_id"] = ( + trips[tour_id_column] * (2 * MAX_TRIPS_PER_LEG) + canonical_trip_num + ) + trips.set_index("trip_id", inplace=True, verify_integrity=True) # we modify trips in place, but return the dataframe for the convenience of the caller return trips diff --git a/activitysim/abm/models/util/cdap.py b/activitysim/abm/models/util/cdap.py index fdc34961ae..7e0f551860 100644 --- a/activitysim/abm/models/util/cdap.py +++ b/activitysim/abm/models/util/cdap.py @@ -1,33 +1,26 @@ # ActivitySim # See full license in LICENSE.txt. -import logging import itertools +import logging import os import numpy as np import pandas as pd -from activitysim.core import simulate -from activitysim.core import pipeline - -from activitysim.core import chunk -from activitysim.core import logit -from activitysim.core import tracing -from activitysim.core import inject -from activitysim.core import config +from activitysim.core import chunk, config, inject, logit, pipeline, simulate, tracing logger = logging.getLogger(__name__) # FIXME - this allows us to turn some dev debug table dump code on and off - eventually remove? # DUMP = False -_persons_index_ = 'person_id' -_hh_index_ = 'household_id' -_hh_size_ = 'hhsize' +_persons_index_ = "person_id" +_hh_index_ = "household_id" +_hh_size_ = "hhsize" -_hh_id_ = 'household_id' -_ptype_ = 'ptype' -_age_ = 'age' +_hh_id_ = "household_id" +_ptype_ = "ptype" +_age_ = "age" # For clarity, the named constant MAX_HHSIZE refers to the cdap 5 person threshold figure. MAX_HHSIZE = 5 @@ -50,9 +43,9 @@ def add_pn(col, pnum): e.g. M_p1, ptype_p2 but leave _hh_id_ column unchanged """ if type(col) is str: - return col if col == _hh_id_ else '%s_p%s' % (col, pnum) + return col if col == _hh_id_ else "%s_p%s" % (col, pnum) elif isinstance(col, (list, tuple)): - return [c if c == _hh_id_ else '%s_p%s' % (c, pnum) for c in col] + return [c if c == _hh_id_ else "%s_p%s" % (c, pnum) for c in col] else: raise RuntimeError("add_pn col not list or str") @@ -101,24 +94,32 @@ def assign_cdap_rank(persons, person_type_map, trace_hh_id=None, trace_label=Non RANK_CHILD = 2 RANK_BACKFILL = 3 RANK_UNASSIGNED = 9 - persons['cdap_rank'] = RANK_UNASSIGNED + persons["cdap_rank"] = RANK_UNASSIGNED # choose up to 2 workers, preferring full over part, older over younger - workers = \ - persons.loc[persons[_ptype_].isin(person_type_map['WORKER']), [_hh_id_, _ptype_]]\ - .sort_values(by=[_hh_id_, _ptype_], ascending=[True, True])\ - .groupby(_hh_id_).head(2) + workers = ( + persons.loc[ + persons[_ptype_].isin(person_type_map["WORKER"]), [_hh_id_, _ptype_] + ] + .sort_values(by=[_hh_id_, _ptype_], ascending=[True, True]) + .groupby(_hh_id_) + .head(2) + ) # tag the selected workers - persons.loc[workers.index, 'cdap_rank'] = RANK_WORKER + persons.loc[workers.index, "cdap_rank"] = RANK_WORKER del workers # choose up to 3, preferring youngest - children = \ - persons.loc[persons[_ptype_].isin(person_type_map['CHILD']), [_hh_id_, _ptype_, _age_]]\ - .sort_values(by=[_hh_id_, _ptype_], ascending=[True, True])\ - .groupby(_hh_id_).head(3) + children = ( + persons.loc[ + persons[_ptype_].isin(person_type_map["CHILD"]), [_hh_id_, _ptype_, _age_] + ] + .sort_values(by=[_hh_id_, _ptype_], ascending=[True, True]) + .groupby(_hh_id_) + .head(3) + ) # tag the selected children - persons.loc[children.index, 'cdap_rank'] = RANK_CHILD + persons.loc[children.index, "cdap_rank"] = RANK_CHILD del children # choose up to MAX_HHSIZE, preferring anyone already chosen @@ -128,44 +129,45 @@ def assign_cdap_rank(persons, person_type_map, trace_hh_id=None, trace_label=Non # .groupby(_hh_id_).head(MAX_HHSIZE) # choose up to MAX_HHSIZE, choosing randomly - others = persons[[_hh_id_, 'cdap_rank']].copy() - others['random_order'] = pipeline.get_rn_generator().random_for_df(persons) - others = \ - others\ - .sort_values(by=[_hh_id_, 'random_order'], ascending=[True, True])\ - .groupby(_hh_id_).head(MAX_HHSIZE) + others = persons[[_hh_id_, "cdap_rank"]].copy() + others["random_order"] = pipeline.get_rn_generator().random_for_df(persons) + others = ( + others.sort_values(by=[_hh_id_, "random_order"], ascending=[True, True]) + .groupby(_hh_id_) + .head(MAX_HHSIZE) + ) # tag the backfilled persons - persons.loc[others[others.cdap_rank == RANK_UNASSIGNED].index, 'cdap_rank'] \ - = RANK_BACKFILL + persons.loc[ + others[others.cdap_rank == RANK_UNASSIGNED].index, "cdap_rank" + ] = RANK_BACKFILL del others # assign person number in cdapPersonArray preference order # i.e. convert cdap_rank from category to index in order of category rank within household # groupby rank() is slow, so we compute rank artisanally # save time by sorting only the columns we need (persons is big, and sort moves data) - p = persons[[_hh_id_, 'cdap_rank', _age_]]\ - .sort_values(by=[_hh_id_, 'cdap_rank', _age_], ascending=[True, True, True]) + p = persons[[_hh_id_, "cdap_rank", _age_]].sort_values( + by=[_hh_id_, "cdap_rank", _age_], ascending=[True, True, True] + ) rank = p.groupby(_hh_id_).size().map(range) - rank = [item+1 for sublist in rank for item in sublist] - p['cdap_rank'] = rank - persons['cdap_rank'] = p['cdap_rank'] # assignment aligns on index values + rank = [item + 1 for sublist in rank for item in sublist] + p["cdap_rank"] = rank + persons["cdap_rank"] = p["cdap_rank"] # assignment aligns on index values # if DUMP: # tracing.trace_df(persons, '%s.DUMP.cdap_person_array' % trace_label, # transpose=False, slicer='NONE') if trace_hh_id: - tracing.trace_df(persons, '%s.cdap_rank' % trace_label) + tracing.trace_df(persons, "%s.cdap_rank" % trace_label) - return persons['cdap_rank'] + return persons["cdap_rank"] def individual_utilities( - persons, - cdap_indiv_spec, - locals_d, - trace_hh_id=None, trace_label=None): + persons, cdap_indiv_spec, locals_d, trace_hh_id=None, trace_label=None +): """ Calculate CDAP utilities for all individuals. @@ -185,15 +187,20 @@ def individual_utilities( """ # calculate single person utilities - indiv_utils = simulate.eval_utilities(cdap_indiv_spec, persons, locals_d, trace_label=trace_label) + indiv_utils = simulate.eval_utilities( + cdap_indiv_spec, persons, locals_d, trace_label=trace_label + ) # add columns from persons to facilitate building household interactions - useful_columns = [_hh_id_, _ptype_, 'cdap_rank', _hh_size_] + useful_columns = [_hh_id_, _ptype_, "cdap_rank", _hh_size_] indiv_utils[useful_columns] = persons[useful_columns] if trace_hh_id: - tracing.trace_df(indiv_utils, '%s.indiv_utils' % trace_label, - column_labels=['activity', 'person']) + tracing.trace_df( + indiv_utils, + "%s.indiv_utils" % trace_label, + column_labels=["activity", "person"], + ) return indiv_utils @@ -225,25 +232,31 @@ def preprocess_interaction_coefficients(interaction_coefficients): # make a copy coefficients = interaction_coefficients.copy() - if not coefficients['activity'].isin(['M', 'N', 'H']).all(): - msg = "Error in cdap_interaction_coefficients at row %s. Expect only M, N, or H!" \ - % coefficients[~coefficients['activity'].isin(['M', 'N', 'H'])].index.values + if not coefficients["activity"].isin(["M", "N", "H"]).all(): + msg = ( + "Error in cdap_interaction_coefficients at row %s. Expect only M, N, or H!" + % coefficients[~coefficients["activity"].isin(["M", "N", "H"])].index.values + ) raise RuntimeError(msg) - coefficients['cardinality'] = coefficients['interaction_ptypes'].astype(str).str.len() + coefficients["cardinality"] = ( + coefficients["interaction_ptypes"].astype(str).str.len() + ) - wildcards = coefficients.interaction_ptypes == coefficients.cardinality.map(lambda x: x*'*') - coefficients.loc[wildcards, 'interaction_ptypes'] = '' + wildcards = coefficients.interaction_ptypes == coefficients.cardinality.map( + lambda x: x * "*" + ) + coefficients.loc[wildcards, "interaction_ptypes"] = "" - coefficients['slug'] = \ - coefficients['activity'] * coefficients['cardinality'] \ - + coefficients['interaction_ptypes'].astype(str) + coefficients["slug"] = coefficients["activity"] * coefficients[ + "cardinality" + ] + coefficients["interaction_ptypes"].astype(str) return coefficients def cached_spec_name(hhsize): - return 'cdap_spec_%s' % hhsize + return "cdap_spec_%s" % hhsize def get_cached_spec(hhsize): @@ -274,8 +287,9 @@ def cache_spec(hhsize, spec): inject.add_injectable(spec_name, spec) -def build_cdap_spec(interaction_coefficients, hhsize, - trace_spec=False, trace_label=None, cache=True): +def build_cdap_spec( + interaction_coefficients, hhsize, trace_spec=False, trace_label=None, cache=True +): """ Build a spec file for computing utilities of alternative household member interaction patterns for households of specified size. @@ -339,7 +353,7 @@ def build_cdap_spec(interaction_coefficients, hhsize, # generate a list of activity pattern alternatives for this hhsize # e.g. ['HH', 'HM', 'HN', 'MH', 'MM', 'MN', 'NH', 'NM', 'NN'] for hhsize=2 - alternatives = [''.join(tup) for tup in itertools.product('HMN', repeat=hhsize)] + alternatives = ["".join(tup) for tup in itertools.product("HMN", repeat=hhsize)] # spec df has expression column plus a column for each alternative spec = pd.DataFrame(columns=[expression_name] + alternatives) @@ -353,15 +367,17 @@ def build_cdap_spec(interaction_coefficients, hhsize, # Expression MM MN MH NM NN NH HM HN HH # M_p1 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 # N_p1 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 - for pnum in range(1, hhsize+1): - for activity in ['M', 'N', 'H']: + for pnum in range(1, hhsize + 1): + for activity in ["M", "N", "H"]: new_row_index = len(spec) spec.loc[new_row_index, expression_name] = add_pn(activity, pnum) # list of alternative columns where person pnum has expression activity # e.g. for M_p1 we want the columns where activity M is in position p1 - alternative_columns = [alt for alt in alternatives if alt[pnum - 1] == activity] + alternative_columns = [ + alt for alt in alternatives if alt[pnum - 1] == activity + ] spec.loc[new_row_index, alternative_columns] = 1 # ignore rows whose cardinality exceeds hhsize @@ -383,24 +399,26 @@ def build_cdap_spec(interaction_coefficients, hhsize, # FIXME - should we be doing this for greater than HH_MAXSIZE households? if row.slug in alternatives: - spec.loc[len(spec), [expression_name, row.slug]] = ['1', row.slug] + spec.loc[len(spec), [expression_name, row.slug]] = ["1", row.slug] continue if not (0 <= row.cardinality <= MAX_INTERACTION_CARDINALITY): - raise RuntimeError("Bad row cardinality %d for %s" % (row.cardinality, row.slug)) + raise RuntimeError( + "Bad row cardinality %d for %s" % (row.cardinality, row.slug) + ) # for all other interaction rules, we need to generate a row in the spec for each # possible combination of interacting persons # e.g. for (1, 2), (1,3), (2,3) for a coefficient with cardinality 2 in hhsize 3 - for tup in itertools.combinations(list(range(1, hhsize+1)), row.cardinality): + for tup in itertools.combinations(list(range(1, hhsize + 1)), row.cardinality): # determine the name of the chooser column with the ptypes for this interaction if row.cardinality == 1: interaction_column = "ptype_p%d" % tup[0] else: # column named (e.g.) p1_p3 for an interaction between p1 and p3 - interaction_column = '_'.join(['p%s' % pnum for pnum in tup]) + interaction_column = "_".join(["p%s" % pnum for pnum in tup]) # build expression that evaluates True iff the interaction is between specified ptypes # (e.g.) p1_p3==13 for an interaction between p1 and p3 of ptypes 1 and 3 (or 3 and1 ) @@ -410,13 +428,16 @@ def build_cdap_spec(interaction_coefficients, hhsize, # e.g. ['MMM', 'MMN', 'MMH'] for an interaction between p1 and p3 with activity 'M' # alternative_columns = \ # filter(lambda alt: all([alt[p - 1] == row.activity for p in tup]), alternatives) - alternative_columns = \ - [alt for alt in alternatives if all([alt[p - 1] == row.activity for p in tup])] + alternative_columns = [ + alt + for alt in alternatives + if all([alt[p - 1] == row.activity for p in tup]) + ] # a row for this interaction may already exist, # e.g. if there are rules for both HH13 and MM13, we don't need to add rows for both # since they are triggered by the same expressions (e.g. p1_p2==13, p1_p3=13,...) - existing_row_index = (spec[expression_name] == expression) + existing_row_index = spec[expression_name] == expression if (existing_row_index).any(): # if the rows exist, simply update the appropriate alternative columns in spec spec.loc[existing_row_index, alternative_columns] = row.slug @@ -433,18 +454,25 @@ def build_cdap_spec(interaction_coefficients, hhsize, simulate.uniquify_spec_index(spec) if trace_spec: - tracing.trace_df(spec, '%s.hhsize%d_spec' % (trace_label, hhsize), - transpose=False, slicer='NONE') + tracing.trace_df( + spec, + "%s.hhsize%d_spec" % (trace_label, hhsize), + transpose=False, + slicer="NONE", + ) # replace slug with coefficient - d = interaction_coefficients.set_index('slug')['coefficient'].to_dict() + d = interaction_coefficients.set_index("slug")["coefficient"].to_dict() for c in spec.columns: - spec[c] =\ - spec[c].map(lambda x: d.get(x, x or 0.0)).fillna(0) + spec[c] = spec[c].map(lambda x: d.get(x, x or 0.0)).fillna(0) if trace_spec: - tracing.trace_df(spec, '%s.hhsize%d_spec_patched' % (trace_label, hhsize), - transpose=False, slicer='NONE') + tracing.trace_df( + spec, + "%s.hhsize%d_spec_patched" % (trace_label, hhsize), + transpose=False, + slicer="NONE", + ) if cache: cache_spec(hhsize, spec) @@ -497,15 +525,19 @@ def add_interaction_column(choosers, p_tup): # I couldn't figure out a good way to do this in pandas, but we want to do something like: # choosers['p1_p3'] = choosers['ptype_p1'].astype(str) + choosers['ptype_p3'].astype(str) - dest_col = '_'.join(['p%s' % pnum for pnum in p_tup]) + dest_col = "_".join(["p%s" % pnum for pnum in p_tup]) # build a string concatenating the ptypes of the persons in the order they appear in p_tup - choosers[dest_col] = choosers[add_pn('ptype', p_tup[0])].astype(str) + choosers[dest_col] = choosers[add_pn("ptype", p_tup[0])].astype(str) for pnum in p_tup[1:]: - choosers[dest_col] = choosers[dest_col] + choosers[add_pn('ptype', pnum)].astype(str) + choosers[dest_col] = choosers[dest_col] + choosers[ + add_pn("ptype", pnum) + ].astype(str) # sort the list of ptypes so it is in increasing ptype order, then convert to int - choosers[dest_col] = choosers[dest_col].apply(lambda x: ''.join(sorted(x))).astype(int) + choosers[dest_col] = ( + choosers[dest_col].apply(lambda x: "".join(sorted(x))).astype(int) + ) def hh_choosers(indiv_utils, hhsize): @@ -544,27 +576,31 @@ def hh_choosers(indiv_utils, hhsize): """ # we want to merge the ptype and M, N, and H utilities for each individual in the household - merge_cols = [_hh_id_, _ptype_, 'M', 'N', 'H'] + merge_cols = [_hh_id_, _ptype_, "M", "N", "H"] if hhsize > MAX_HHSIZE: raise RuntimeError("hh_choosers hhsize > MAX_HHSIZE") if hhsize < MAX_HHSIZE: - include_households = (indiv_utils[_hh_size_] == hhsize) + include_households = indiv_utils[_hh_size_] == hhsize else: # we want to include larger households along with MAX_HHSIZE households - include_households = (indiv_utils[_hh_size_] >= MAX_HHSIZE) + include_households = indiv_utils[_hh_size_] >= MAX_HHSIZE # start with all the individuals with cdap_rank of 1 (thus there will be one row per household) - choosers = indiv_utils.loc[include_households & (indiv_utils['cdap_rank'] == 1), merge_cols] + choosers = indiv_utils.loc[ + include_households & (indiv_utils["cdap_rank"] == 1), merge_cols + ] # rename columns, adding pn suffix (e.g. ptype_p1, M_p1) to all columns except hh_id choosers.columns = add_pn(merge_cols, 1) # for each of the higher cdap_ranks - for pnum in range(2, hhsize+1): + for pnum in range(2, hhsize + 1): # df with merge columns for indiv with cdap_rank of pnum - rhs = indiv_utils.loc[include_households & (indiv_utils['cdap_rank'] == pnum), merge_cols] + rhs = indiv_utils.loc[ + include_households & (indiv_utils["cdap_rank"] == pnum), merge_cols + ] # rename columns, adding pn suffix (e.g. ptype_p1, M_p1) to all columns except hh_id rhs.columns = add_pn(merge_cols, pnum) @@ -575,20 +611,21 @@ def hh_choosers(indiv_utils, hhsize): set_hh_index(choosers) # coerce utilities to float (merge apparently makes column type objects) - for pnum in range(1, hhsize+1): - pn_cols = add_pn(['M', 'N', 'H'], pnum) + for pnum in range(1, hhsize + 1): + pn_cols = add_pn(["M", "N", "H"], pnum) choosers[pn_cols] = choosers[pn_cols].astype(float) # add interaction columns for all 2 and 3 person interactions - for i in range(2, min(hhsize, MAX_INTERACTION_CARDINALITY)+1): - for tup in itertools.combinations(list(range(1, hhsize+1)), i): + for i in range(2, min(hhsize, MAX_INTERACTION_CARDINALITY) + 1): + for tup in itertools.combinations(list(range(1, hhsize + 1)), i): add_interaction_column(choosers, tup) return choosers -def household_activity_choices(indiv_utils, interaction_coefficients, hhsize, - trace_hh_id=None, trace_label=None): +def household_activity_choices( + indiv_utils, interaction_coefficients, hhsize, trace_hh_id=None, trace_label=None +): """ Calculate household utilities for each activity pattern alternative for households of hhsize The resulting activity pattern for each household will be coded as a string of activity codes. @@ -620,21 +657,24 @@ def household_activity_choices(indiv_utils, interaction_coefficients, hhsize, # and the household utils are the same as the individual utils choosers = vars = None # extract the individual utilities for individuals from hhsize 1 households - utils = indiv_utils.loc[indiv_utils[_hh_size_] == 1, [_hh_id_, 'M', 'N', 'H']] + utils = indiv_utils.loc[indiv_utils[_hh_size_] == 1, [_hh_id_, "M", "N", "H"]] # index on household_id, not person_id set_hh_index(utils) else: choosers = hh_choosers(indiv_utils, hhsize=hhsize) - spec = build_cdap_spec(interaction_coefficients, hhsize, - trace_spec=(trace_hh_id in choosers.index), - trace_label=trace_label) + spec = build_cdap_spec( + interaction_coefficients, + hhsize, + trace_spec=(trace_hh_id in choosers.index), + trace_label=trace_label, + ) utils = simulate.eval_utilities(spec, choosers, trace_label=trace_label) if len(utils.index) == 0: - return pd.Series(dtype='float64') + return pd.Series(dtype="float64") probs = logit.utils_to_probs(utils, trace_label=trace_label) @@ -648,23 +688,35 @@ def household_activity_choices(indiv_utils, interaction_coefficients, hhsize, if trace_hh_id: if hhsize > 1: - tracing.trace_df(choosers, '%s.hhsize%d_choosers' % (trace_label, hhsize), - column_labels=['expression', 'person']) - - tracing.trace_df(utils, '%s.hhsize%d_utils' % (trace_label, hhsize), - column_labels=['expression', 'household']) - tracing.trace_df(probs, '%s.hhsize%d_probs' % (trace_label, hhsize), - column_labels=['expression', 'household']) - tracing.trace_df(choices, '%s.hhsize%d_activity_choices' % (trace_label, hhsize), - column_labels=['expression', 'household']) - tracing.trace_df(rands, '%s.hhsize%d_rands' % (trace_label, hhsize), - columns=[None, 'rand']) + tracing.trace_df( + choosers, + "%s.hhsize%d_choosers" % (trace_label, hhsize), + column_labels=["expression", "person"], + ) + + tracing.trace_df( + utils, + "%s.hhsize%d_utils" % (trace_label, hhsize), + column_labels=["expression", "household"], + ) + tracing.trace_df( + probs, + "%s.hhsize%d_probs" % (trace_label, hhsize), + column_labels=["expression", "household"], + ) + tracing.trace_df( + choices, + "%s.hhsize%d_activity_choices" % (trace_label, hhsize), + column_labels=["expression", "household"], + ) + tracing.trace_df( + rands, "%s.hhsize%d_rands" % (trace_label, hhsize), columns=[None, "rand"] + ) return choices -def unpack_cdap_indiv_activity_choices(persons, hh_choices, - trace_hh_id, trace_label): +def unpack_cdap_indiv_activity_choices(persons, hh_choices, trace_hh_id, trace_label): """ Unpack the household activity choice list into choices for each (non-extra) household member @@ -683,25 +735,27 @@ def unpack_cdap_indiv_activity_choices(persons, hh_choices, series contains one activity per individual hh member, indexed on _persons_index_ """ - cdap_indivs = persons['cdap_rank'] <= MAX_HHSIZE + cdap_indivs = persons["cdap_rank"] <= MAX_HHSIZE indiv_activity = pd.merge( - left=persons.loc[cdap_indivs, [_hh_id_, 'cdap_rank']], - right=hh_choices.to_frame(name='hh_choices'), + left=persons.loc[cdap_indivs, [_hh_id_, "cdap_rank"]], + right=hh_choices.to_frame(name="hh_choices"), left_on=_hh_id_, - right_index=True + right_index=True, ) # resulting dataframe has columns _hh_id_,'cdap_rank', hh_choices indexed on _persons_index_ - indiv_activity['cdap_activity'] = '' + indiv_activity["cdap_activity"] = "" # for each cdap_rank (1..5) for i in range(MAX_HHSIZE): - pnum_i = (indiv_activity['cdap_rank'] == i+1) - indiv_activity.loc[pnum_i, ['cdap_activity']] = indiv_activity[pnum_i]['hh_choices'].str[i] + pnum_i = indiv_activity["cdap_rank"] == i + 1 + indiv_activity.loc[pnum_i, ["cdap_activity"]] = indiv_activity[pnum_i][ + "hh_choices" + ].str[i] - cdap_indiv_activity_choices = indiv_activity['cdap_activity'] + cdap_indiv_activity_choices = indiv_activity["cdap_activity"] # if DUMP: # tracing.trace_df(cdap_indiv_activity_choices, @@ -711,8 +765,9 @@ def unpack_cdap_indiv_activity_choices(persons, hh_choices, return cdap_indiv_activity_choices -def extra_hh_member_choices(persons, cdap_fixed_relative_proportions, locals_d, - trace_hh_id, trace_label): +def extra_hh_member_choices( + persons, cdap_fixed_relative_proportions, locals_d, trace_hh_id, trace_label +): """ Generate the activity choices for the 'extra' household members who weren't handled by cdap @@ -742,16 +797,18 @@ def extra_hh_member_choices(persons, cdap_fixed_relative_proportions, locals_d, list of alternatives chosen for all extra members, indexed by _persons_index_ """ - trace_label = tracing.extend_trace_label(trace_label, 'extra_hh_member_choices') + trace_label = tracing.extend_trace_label(trace_label, "extra_hh_member_choices") # extra household members have cdap_ran > MAX_HHSIZE - choosers = persons[persons['cdap_rank'] > MAX_HHSIZE] + choosers = persons[persons["cdap_rank"] > MAX_HHSIZE] if len(choosers.index) == 0: - return pd.Series(dtype='float64') + return pd.Series(dtype="float64") # eval the expression file - values = simulate.eval_variables(cdap_fixed_relative_proportions.index, choosers, locals_d) + values = simulate.eval_variables( + cdap_fixed_relative_proportions.index, choosers, locals_d + ) # cdap_fixed_relative_proportions computes relative proportions by ptype, not utilities proportions = values.dot(cdap_fixed_relative_proportions) @@ -777,26 +834,40 @@ def extra_hh_member_choices(persons, cdap_fixed_relative_proportions, locals_d, # slicer='NONE') if trace_hh_id: - tracing.trace_df(proportions, '%s.extra_hh_member_choices_proportions' % trace_label, - column_labels=['expression', 'person']) - tracing.trace_df(probs, '%s.extra_hh_member_choices_probs' % trace_label, - column_labels=['expression', 'person']) - tracing.trace_df(choices, '%s.extra_hh_member_choices_choices' % trace_label, - column_labels=['expression', 'person']) - tracing.trace_df(rands, '%s.extra_hh_member_choices_rands' % trace_label, - columns=[None, 'rand']) + tracing.trace_df( + proportions, + "%s.extra_hh_member_choices_proportions" % trace_label, + column_labels=["expression", "person"], + ) + tracing.trace_df( + probs, + "%s.extra_hh_member_choices_probs" % trace_label, + column_labels=["expression", "person"], + ) + tracing.trace_df( + choices, + "%s.extra_hh_member_choices_choices" % trace_label, + column_labels=["expression", "person"], + ) + tracing.trace_df( + rands, + "%s.extra_hh_member_choices_rands" % trace_label, + columns=[None, "rand"], + ) return choices def _run_cdap( - persons, - person_type_map, - cdap_indiv_spec, - interaction_coefficients, - cdap_fixed_relative_proportions, - locals_d, - trace_hh_id, trace_label): + persons, + person_type_map, + cdap_indiv_spec, + interaction_coefficients, + cdap_fixed_relative_proportions, + locals_d, + trace_hh_id, + trace_label, +): """ Implements core run_cdap functionality on persons df (or chunked subset thereof) Aside from chunking of persons df, params are passed through from run_cdap unchanged @@ -813,53 +884,61 @@ def _run_cdap( # persons with cdap_rank 1..MAX_HHSIZE will be have their activities chose by CDAP model # extra household members, will have activities assigned by in fixed proportions assign_cdap_rank(persons, person_type_map, trace_hh_id, trace_label) - chunk.log_df(trace_label, 'persons', persons) + chunk.log_df(trace_label, "persons", persons) # Calculate CDAP utilities for each individual, ignoring interactions # ind_utils has index of 'person_id' and a column for each alternative # i.e. three columns 'M' (Mandatory), 'N' (NonMandatory), 'H' (Home) - indiv_utils = individual_utilities(persons[persons.cdap_rank <= MAX_HHSIZE], - cdap_indiv_spec, locals_d, - trace_hh_id, trace_label) - chunk.log_df(trace_label, 'indiv_utils', indiv_utils) + indiv_utils = individual_utilities( + persons[persons.cdap_rank <= MAX_HHSIZE], + cdap_indiv_spec, + locals_d, + trace_hh_id, + trace_label, + ) + chunk.log_df(trace_label, "indiv_utils", indiv_utils) # compute interaction utilities, probabilities, and hh activity pattern choices # for each size household separately in turn up to MAX_HHSIZE hh_choices_list = [] - for hhsize in range(1, MAX_HHSIZE+1): + for hhsize in range(1, MAX_HHSIZE + 1): choices = household_activity_choices( - indiv_utils, interaction_coefficients, hhsize=hhsize, - trace_hh_id=trace_hh_id, trace_label=trace_label) + indiv_utils, + interaction_coefficients, + hhsize=hhsize, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + ) hh_choices_list.append(choices) del indiv_utils - chunk.log_df(trace_label, 'indiv_utils', None) + chunk.log_df(trace_label, "indiv_utils", None) # concat all the household choices into a single series indexed on _hh_index_ hh_activity_choices = pd.concat(hh_choices_list) - chunk.log_df(trace_label, 'hh_activity_choices', hh_activity_choices) + chunk.log_df(trace_label, "hh_activity_choices", hh_activity_choices) # unpack the household activity choice list into choices for each (non-extra) household member # resulting series contains one activity per individual hh member, indexed on _persons_index_ - cdap_person_choices \ - = unpack_cdap_indiv_activity_choices(persons, hh_activity_choices, - trace_hh_id, trace_label) + cdap_person_choices = unpack_cdap_indiv_activity_choices( + persons, hh_activity_choices, trace_hh_id, trace_label + ) # assign activities to extra household members (with cdap_rank > MAX_HHSIZE) # resulting series contains one activity per individual hh member, indexed on _persons_index_ - extra_person_choices \ - = extra_hh_member_choices(persons, cdap_fixed_relative_proportions, locals_d, - trace_hh_id, trace_label) + extra_person_choices = extra_hh_member_choices( + persons, cdap_fixed_relative_proportions, locals_d, trace_hh_id, trace_label + ) # concat cdap and extra persoin choices into a single series # this series will be the same length as the persons dataframe and be indexed on _persons_index_ person_choices = pd.concat([cdap_person_choices, extra_person_choices]) - persons['cdap_activity'] = person_choices - chunk.log_df(trace_label, 'persons', persons) + persons["cdap_activity"] = person_choices + chunk.log_df(trace_label, "persons", persons) # if DUMP: # tracing.trace_df(hh_activity_choices, '%s.DUMP.hh_activity_choices' % trace_label, @@ -867,22 +946,25 @@ def _run_cdap( # tracing.trace_df(cdap_results, '%s.DUMP.cdap_results' % trace_label, # transpose=False, slicer='NONE') - result = persons[['cdap_rank', 'cdap_activity']] + result = persons[["cdap_rank", "cdap_activity"]] del persons - chunk.log_df(trace_label, 'persons', None) + chunk.log_df(trace_label, "persons", None) return result def run_cdap( - persons, - person_type_map, - cdap_indiv_spec, - cdap_interaction_coefficients, - cdap_fixed_relative_proportions, - locals_d, - chunk_size=0, trace_hh_id=None, trace_label=None): + persons, + person_type_map, + cdap_indiv_spec, + cdap_interaction_coefficients, + cdap_fixed_relative_proportions, + locals_d, + chunk_size=0, + trace_hh_id=None, + trace_label=None, +): """ Choose individual activity patterns for persons. @@ -919,25 +1001,30 @@ def run_cdap( activity for that person expressed as 'M', 'N', 'H' """ - trace_label = tracing.extend_trace_label(trace_label, 'cdap') + trace_label = tracing.extend_trace_label(trace_label, "cdap") result_list = [] # segment by person type and pick the right spec for each person type - for i, persons_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers_by_chunk_id(persons, chunk_size, trace_label): - - cdap_results = \ - _run_cdap(persons_chunk, - person_type_map, - cdap_indiv_spec, - cdap_interaction_coefficients, - cdap_fixed_relative_proportions, - locals_d, - trace_hh_id, chunk_trace_label) + for ( + i, + persons_chunk, + chunk_trace_label, + ) in chunk.adaptive_chunked_choosers_by_chunk_id(persons, chunk_size, trace_label): + + cdap_results = _run_cdap( + persons_chunk, + person_type_map, + cdap_indiv_spec, + cdap_interaction_coefficients, + cdap_fixed_relative_proportions, + locals_d, + trace_hh_id, + chunk_trace_label, + ) result_list.append(cdap_results) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: @@ -947,10 +1034,12 @@ def run_cdap( if trace_hh_id: - tracing.trace_df(cdap_results, - label="cdap", - columns=['cdap_rank', 'cdap_activity'], - warn_if_empty=True) + tracing.trace_df( + cdap_results, + label="cdap", + columns=["cdap_rank", "cdap_activity"], + warn_if_empty=True, + ) # return choices column as series - return cdap_results['cdap_activity'] + return cdap_results["cdap_activity"] diff --git a/activitysim/abm/models/util/estimation.py b/activitysim/abm/models/util/estimation.py index 7cd98372b6..6a5dbadf1f 100644 --- a/activitysim/abm/models/util/estimation.py +++ b/activitysim/abm/models/util/estimation.py @@ -1,27 +1,23 @@ # ActivitySim # See full license in LICENSE.txt. +import logging import os import shutil -import logging - -import yaml - import pandas as pd +import yaml -from activitysim.core import config -from activitysim.core import simulate - -from activitysim.core.util import reindex from activitysim.abm.models.util import canonical_ids as cid +from activitysim.core import config, simulate +from activitysim.core.util import reindex -logger = logging.getLogger('estimation') +logger = logging.getLogger("estimation") -ESTIMATION_SETTINGS_FILE_NAME = 'estimation.yaml' +ESTIMATION_SETTINGS_FILE_NAME = "estimation.yaml" -def unlink_files(directory_path, file_types=('csv', 'yaml')): +def unlink_files(directory_path, file_types=("csv", "yaml")): for file_name in os.listdir(directory_path): if file_name.endswith(file_types): file_path = os.path.join(directory_path, file_name) @@ -34,7 +30,6 @@ def unlink_files(directory_path, file_types=('csv', 'yaml')): class Estimator(object): - def __init__(self, bundle_name, model_name, estimation_table_recipes): logger.info("Initialize Estimator for'%s'" % (model_name,)) @@ -51,19 +46,27 @@ def __init__(self, bundle_name, model_name, estimation_table_recipes): os.makedirs(output_dir) # make directory if needed # delete estimation files - unlink_files(self.output_directory(), file_types=('csv', 'yaml')) + unlink_files(self.output_directory(), file_types=("csv", "yaml")) if self.bundle_name != self.model_name: # kind of inelegant to always delete these, but ok as they are redundantly recreated for each sub model - unlink_files(self.output_directory(bundle_directory=True), file_types=('csv', 'yaml')) + unlink_files( + self.output_directory(bundle_directory=True), file_types=("csv", "yaml") + ) # FIXME - not required? # assert 'override_choices' in self.model_settings, \ # "override_choices not found for %s in %s." % (model_name, ESTIMATION_SETTINGS_FILE_NAME) - self.omnibus_tables = self.estimation_table_recipes['omnibus_tables'] - self.omnibus_tables_append_columns = self.estimation_table_recipes['omnibus_tables_append_columns'] + self.omnibus_tables = self.estimation_table_recipes["omnibus_tables"] + self.omnibus_tables_append_columns = self.estimation_table_recipes[ + "omnibus_tables_append_columns" + ] self.tables = {} - self.tables_to_cache = [table_name for tables in self.omnibus_tables.values() for table_name in tables] + self.tables_to_cache = [ + table_name + for tables in self.omnibus_tables.values() + for table_name in tables + ] self.alt_id_column_name = None self.chooser_id_column_name = None @@ -121,7 +124,9 @@ def output_directory(self, bundle_directory=False): assert self.estimating assert self.model_name is not None - dir = os.path.join(config.output_file_path('estimation_data_bundle'), self.bundle_name) + dir = os.path.join( + config.output_file_path("estimation_data_bundle"), self.bundle_name + ) if bundle_directory: # shouldn't be asking - probably confused @@ -152,7 +157,9 @@ def output_file_path(self, table_name, file_type=None, bundle_directory=False): return os.path.join(output_dir, file_name) - def write_table(self, df, table_name, index=True, append=True, bundle_directory=False): + def write_table( + self, df, table_name, index=True, append=True, bundle_directory=False + ): """ Parameters @@ -168,22 +175,29 @@ def write_table(self, df, table_name, index=True, append=True, bundle_directory= def cache_table(df, table_name, append): if table_name in self.tables and not append: - raise RuntimeError("cache_table %s append=False and table exists" % (table_name,)) + raise RuntimeError( + "cache_table %s append=False and table exists" % (table_name,) + ) if table_name in self.tables: self.tables[table_name] = pd.concat([self.tables[table_name], df]) else: self.tables[table_name] = df.copy() def write_table(df, table_name, index, append, bundle_directory): - if table_name.endswith('.csv'): + if table_name.endswith(".csv"): # pass through filename without adding model or bundle name prefix - file_path = os.path.join(self.output_directory(bundle_directory), table_name) + file_path = os.path.join( + self.output_directory(bundle_directory), table_name + ) else: - file_path = self.output_file_path(table_name, 'csv', bundle_directory) + file_path = self.output_file_path(table_name, "csv", bundle_directory) file_exists = os.path.isfile(file_path) if file_exists and not append: - raise RuntimeError("write_table %s append=False and file exists: %s" % (table_name, file_path)) - df.to_csv(file_path, mode='a', index=index, header=(not file_exists)) + raise RuntimeError( + "write_table %s append=False and file exists: %s" + % (table_name, file_path) + ) + df.to_csv(file_path, mode="a", index=index, header=(not file_exists)) assert self.estimating @@ -193,11 +207,11 @@ def write_table(df, table_name, index, append, bundle_directory): if cache: cache_table(df, table_name, append) - self.debug('write_table cache: %s' % table_name) + self.debug("write_table cache: %s" % table_name) if write: write_table(df, table_name, index, append, bundle_directory) - self.debug('write_table write: %s' % table_name) + self.debug("write_table write: %s" % table_name) def write_omnibus_table(self): @@ -206,41 +220,50 @@ def write_omnibus_table(self): for omnibus_table, table_names in self.omnibus_tables.items(): - self.debug("write_omnibus_table: %s table_names: %s" % (omnibus_table, table_names)) + self.debug( + "write_omnibus_table: %s table_names: %s" % (omnibus_table, table_names) + ) for t in table_names: if t not in self.tables: - self.warning("write_omnibus_table: %s table '%s' not found" % (omnibus_table, t)) + self.warning( + "write_omnibus_table: %s table '%s' not found" + % (omnibus_table, t) + ) # ignore any tables not in cache table_names = [t for t in table_names if t in self.tables] - concat_axis = 1 if omnibus_table in self.omnibus_tables_append_columns else 0 + concat_axis = ( + 1 if omnibus_table in self.omnibus_tables_append_columns else 0 + ) df = pd.concat([self.tables[t] for t in table_names], axis=concat_axis) - df.sort_index(ascending=True, inplace=True, kind='mergesort') + df.sort_index(ascending=True, inplace=True, kind="mergesort") - file_path = self.output_file_path(omnibus_table, 'csv') + file_path = self.output_file_path(omnibus_table, "csv") assert not os.path.isfile(file_path) - df.to_csv(file_path, mode='a', index=True, header=True) + df.to_csv(file_path, mode="a", index=True, header=True) - self.debug('write_omnibus_choosers: %s' % file_path) + self.debug("write_omnibus_choosers: %s" % file_path) def write_dict(self, d, dict_name, bundle_directory): assert self.estimating - file_path = self.output_file_path(dict_name, 'yaml', bundle_directory) + file_path = self.output_file_path(dict_name, "yaml", bundle_directory) # we don't know how to concat, and afraid to overwrite assert not os.path.isfile(file_path) - with open(file_path, 'w') as f: + with open(file_path, "w") as f: # write ordered dict as array yaml.dump(d, f) self.debug("estimate.write_dict: %s" % file_path) - def write_coefficients(self, coefficients_df=None, model_settings=None, file_name=None): + def write_coefficients( + self, coefficients_df=None, model_settings=None, file_name=None + ): """ Because the whole point of estimation is to generate new coefficient values we want to make it easy to put the coefficients file back in configs @@ -249,7 +272,7 @@ def write_coefficients(self, coefficients_df=None, model_settings=None, file_nam if model_settings is not None: assert file_name is None - file_name = model_settings['COEFFICIENTS'] + file_name = model_settings["COEFFICIENTS"] assert file_name is not None @@ -266,60 +289,76 @@ def write_coefficients_template(self, model_settings): assert self.estimating coefficients_df = simulate.read_model_coefficient_template(model_settings) - tag = 'coefficients_template' + tag = "coefficients_template" self.write_table(coefficients_df, tag, append=False) def write_choosers(self, choosers_df): - self.write_table(choosers_df, 'choosers', append=True) + self.write_table(choosers_df, "choosers", append=True) def write_choices(self, choices): if isinstance(choices, pd.Series): - choices = choices.to_frame(name='model_choice') - assert(list(choices.columns) == ['model_choice']) - self.write_table(choices, 'choices', append=True) + choices = choices.to_frame(name="model_choice") + assert list(choices.columns) == ["model_choice"] + self.write_table(choices, "choices", append=True) def write_override_choices(self, choices): if isinstance(choices, pd.Series): - choices = choices.to_frame(name='override_choice') - assert(list(choices.columns) == ['override_choice']) - self.write_table(choices, 'override_choices', append=True) + choices = choices.to_frame(name="override_choice") + assert list(choices.columns) == ["override_choice"] + self.write_table(choices, "override_choices", append=True) def write_constants(self, constants): - self.write_dict(self, constants, 'model_constants') + self.write_dict(self, constants, "model_constants") def write_nest_spec(self, nest_spec): - self.write_dict(self, nest_spec, 'nest_spec') + self.write_dict(self, nest_spec, "nest_spec") - def copy_model_settings(self, settings_file_name, tag='model_settings', bundle_directory=False): + def copy_model_settings( + self, settings_file_name, tag="model_settings", bundle_directory=False + ): input_path = config.base_settings_file_path(settings_file_name) - output_path = self.output_file_path(tag, 'yaml', bundle_directory) + output_path = self.output_file_path(tag, "yaml", bundle_directory) shutil.copy(input_path, output_path) - def write_model_settings(self, model_settings, settings_file_name, bundle_directory=False): + def write_model_settings( + self, model_settings, settings_file_name, bundle_directory=False + ): - if 'include_settings' in model_settings: - file_path = self.output_file_path('model_settings', 'yaml', bundle_directory) + if "include_settings" in model_settings: + file_path = self.output_file_path( + "model_settings", "yaml", bundle_directory + ) assert not os.path.isfile(file_path) - with open(file_path, 'w') as f: + with open(file_path, "w") as f: yaml.dump(model_settings, f) else: - self.copy_model_settings(settings_file_name, bundle_directory=bundle_directory) - if 'inherit_settings' in model_settings: - self.write_dict(model_settings, 'inherited_model_settings', bundle_directory) + self.copy_model_settings( + settings_file_name, bundle_directory=bundle_directory + ) + if "inherit_settings" in model_settings: + self.write_dict( + model_settings, "inherited_model_settings", bundle_directory + ) def melt_alternatives(self, df): alt_id_name = self.alt_id_column_name - assert alt_id_name is not None, \ - "alt_id not set. Did you forget to call set_alt_id()? (%s)" % self.model_name - assert alt_id_name in df, \ - "alt_id_column_name '%s' not in alternatives table (%s)" % (alt_id_name, self.model_name) + assert alt_id_name is not None, ( + "alt_id not set. Did you forget to call set_alt_id()? (%s)" + % self.model_name + ) + assert ( + alt_id_name in df + ), "alt_id_column_name '%s' not in alternatives table (%s)" % ( + alt_id_name, + self.model_name, + ) - variable_column = 'variable' + variable_column = "variable" # alt_dest util_dist_0_1 util_dist_1_2 ... # person_id ... @@ -337,16 +376,20 @@ def melt_alternatives(self, df): assert chooser_name in df # mergesort is the only stable sort, and we want the expressions to appear in original df column order - melt_df = pd.melt(df, id_vars=[chooser_name, alt_id_name]) \ - .sort_values(by=chooser_name, kind='mergesort') \ - .rename(columns={'variable': variable_column}) + melt_df = ( + pd.melt(df, id_vars=[chooser_name, alt_id_name]) + .sort_values(by=chooser_name, kind="mergesort") + .rename(columns={"variable": variable_column}) + ) # person_id,alt_dest,expression,value # 31153,1,util_dist_0_1,1.0 # 31153,2,util_dist_0_1,1.0 # 31153,3,util_dist_0_1,1.0 - melt_df = melt_df.set_index([chooser_name, variable_column, alt_id_name]).unstack(2) + melt_df = melt_df.set_index( + [chooser_name, variable_column, alt_id_name] + ).unstack(2) melt_df.columns = melt_df.columns.droplevel(0) melt_df = melt_df.reset_index(1) @@ -359,21 +402,30 @@ def melt_alternatives(self, df): def write_interaction_expression_values(self, df): df = self.melt_alternatives(df) - self.write_table(df, 'interaction_expression_values', append=True) + self.write_table(df, "interaction_expression_values", append=True) def write_expression_values(self, df): - self.write_table(df, 'expression_values', append=True) + self.write_table(df, "expression_values", append=True) def write_alternatives(self, alternatives_df, bundle_directory=False): - self.write_table(alternatives_df, 'alternatives', append=True, bundle_directory=bundle_directory) + self.write_table( + alternatives_df, + "alternatives", + append=True, + bundle_directory=bundle_directory, + ) def write_interaction_sample_alternatives(self, alternatives_df): alternatives_df = self.melt_alternatives(alternatives_df) - self.write_table(alternatives_df, 'interaction_sample_alternatives', append=True) + self.write_table( + alternatives_df, "interaction_sample_alternatives", append=True + ) def write_interaction_simulate_alternatives(self, interaction_df): interaction_df = self.melt_alternatives(interaction_df) - self.write_table(interaction_df, 'interaction_simulate_alternatives', append=True) + self.write_table( + interaction_df, "interaction_simulate_alternatives", append=True + ) def get_survey_values(self, model_values, table_name, column_names): # convenience method so deep callers don't need to import estimation @@ -385,7 +437,9 @@ def get_survey_table(self, table_name): assert self.estimating return manager.get_survey_table(table_name) - def write_spec(self, model_settings=None, file_name=None, tag='SPEC', bundle_directory=False): + def write_spec( + self, model_settings=None, file_name=None, tag="SPEC", bundle_directory=False + ): if model_settings is not None: assert file_name is None @@ -394,13 +448,12 @@ def write_spec(self, model_settings=None, file_name=None, tag='SPEC', bundle_dir input_path = config.config_file_path(file_name) table_name = tag # more readable than full spec file_name - output_path = self.output_file_path(table_name, 'csv', bundle_directory) + output_path = self.output_file_path(table_name, "csv", bundle_directory) shutil.copy(input_path, output_path) self.debug("estimate.write_spec: %s" % output_path) class EstimationManager(object): - def __init__(self): self.settings_initialized = False @@ -417,30 +470,40 @@ def initialize_settings(self): assert not self.settings_initialized settings = config.read_model_settings(ESTIMATION_SETTINGS_FILE_NAME) - self.enabled = settings.get('enable', 'True') - self.bundles = settings.get('bundles', []) + self.enabled = settings.get("enable", "True") + self.bundles = settings.get("bundles", []) - self.model_estimation_table_types = settings.get('model_estimation_table_types', {}) - self.estimation_table_recipes = settings.get('estimation_table_recipes', {}) + self.model_estimation_table_types = settings.get( + "model_estimation_table_types", {} + ) + self.estimation_table_recipes = settings.get("estimation_table_recipes", {}) if self.enabled: - self.survey_tables = settings.get('survey_tables', {}) + self.survey_tables = settings.get("survey_tables", {}) for table_name, table_info in self.survey_tables.items(): - assert 'file_name' in table_info, \ - "No file name specified for survey_table '%s' in %s" % (table_name, ESTIMATION_SETTINGS_FILE_NAME) - file_path = config.data_file_path(table_info['file_name'], mandatory=True) - assert os.path.exists(file_path), \ - "File for survey table '%s' not found: %s" % (table_name, file_path) + assert ( + "file_name" in table_info + ), "No file name specified for survey_table '%s' in %s" % ( + table_name, + ESTIMATION_SETTINGS_FILE_NAME, + ) + file_path = config.data_file_path( + table_info["file_name"], mandatory=True + ) + assert os.path.exists( + file_path + ), "File for survey table '%s' not found: %s" % (table_name, file_path) df = pd.read_csv(file_path) - index_col = table_info.get('index_col') + index_col = table_info.get("index_col") if index_col is not None: - assert index_col in df.columns, \ - "Index col '%s' not in survey_table '%s' in file: %s % (index_col, table_name, file_path)" + assert ( + index_col in df.columns + ), "Index col '%s' not in survey_table '%s' in file: %s % (index_col, table_name, file_path)" df.set_index(index_col, inplace=True) # add the table df to survey_tables - table_info['df'] = df + table_info["df"] = df self.settings_initialized = True @@ -467,25 +530,40 @@ def begin_estimation(self, model_name, bundle_name=None): bundle_name = bundle_name or model_name if bundle_name not in self.bundles: - logger.warning(f"estimation bundle {bundle_name} not in settings file {ESTIMATION_SETTINGS_FILE_NAME}") + logger.warning( + f"estimation bundle {bundle_name} not in settings file {ESTIMATION_SETTINGS_FILE_NAME}" + ) return None # can't estimate the same model simultaneously - assert model_name not in self.estimating, \ - "Cant begin estimating %s - already estimating that model." % (model_name, ) + assert ( + model_name not in self.estimating + ), "Cant begin estimating %s - already estimating that model." % (model_name,) - assert bundle_name in self.model_estimation_table_types, \ - "No estimation_table_type for %s in %s." % (bundle_name, ESTIMATION_SETTINGS_FILE_NAME) + assert ( + bundle_name in self.model_estimation_table_types + ), "No estimation_table_type for %s in %s." % ( + bundle_name, + ESTIMATION_SETTINGS_FILE_NAME, + ) model_estimation_table_type = self.model_estimation_table_types[bundle_name] - assert model_estimation_table_type in self.estimation_table_recipes, \ - "model_estimation_table_type '%s' for model %s no in %s." % \ - (model_estimation_table_type, model_name, ESTIMATION_SETTINGS_FILE_NAME) - - self.estimating[model_name] = \ - Estimator(bundle_name, model_name, - estimation_table_recipes=self.estimation_table_recipes[model_estimation_table_type]) + assert ( + model_estimation_table_type in self.estimation_table_recipes + ), "model_estimation_table_type '%s' for model %s no in %s." % ( + model_estimation_table_type, + model_name, + ESTIMATION_SETTINGS_FILE_NAME, + ) + + self.estimating[model_name] = Estimator( + bundle_name, + model_name, + estimation_table_recipes=self.estimation_table_recipes[ + model_estimation_table_type + ], + ) return self.estimating[model_name] @@ -496,22 +574,31 @@ def release(self, estimator): def get_survey_table(self, table_name): assert self.enabled if table_name not in self.survey_tables: - logger.warning("EstimationManager. get_survey_table: survey table '%s' not in survey_tables" % table_name) - df = self.survey_tables[table_name].get('df') + logger.warning( + "EstimationManager. get_survey_table: survey table '%s' not in survey_tables" + % table_name + ) + df = self.survey_tables[table_name].get("df") return df def get_survey_values(self, model_values, table_name, column_names): - assert isinstance(model_values, (pd.Series, pd.DataFrame, pd.Index)), \ - "get_survey_values model_values has unrecognized type %s" % type(model_values) + assert isinstance( + model_values, (pd.Series, pd.DataFrame, pd.Index) + ), "get_survey_values model_values has unrecognized type %s" % type( + model_values + ) - dest_index = model_values if isinstance(model_values, (pd.Index)) else model_values.index + dest_index = ( + model_values if isinstance(model_values, (pd.Index)) else model_values.index + ) # read override_df table survey_df = manager.get_survey_table(table_name) - assert survey_df is not None, \ - "get_survey_values: table '%s' not found" % (table_name,) + assert survey_df is not None, "get_survey_values: table '%s' not found" % ( + table_name, + ) column_name = column_names if isinstance(column_names, str) else None if column_name: @@ -519,47 +606,67 @@ def get_survey_values(self, model_values, table_name, column_names): if not set(column_names).issubset(set(survey_df.columns)): missing_columns = list(set(column_names) - set(survey_df.columns)) - logger.error("missing columns (%s) in survey table %s" % (missing_columns, table_name)) - print("survey table columns: %s" % (survey_df.columns, )) - raise RuntimeError("missing columns (%s) in survey table %s" % (missing_columns, table_name)) - - assert set(column_names).issubset(set(survey_df.columns)), \ - f"missing columns ({list(set(column_names) - set(survey_df.columns))}) " \ + logger.error( + "missing columns (%s) in survey table %s" + % (missing_columns, table_name) + ) + print("survey table columns: %s" % (survey_df.columns,)) + raise RuntimeError( + "missing columns (%s) in survey table %s" + % (missing_columns, table_name) + ) + + assert set(column_names).issubset(set(survey_df.columns)), ( + f"missing columns ({list(set(column_names) - set(survey_df.columns))}) " f"in survey table {table_name} {list(survey_df.columns)}" + ) # for now tour_id is asim_tour_id in survey_df asim_df_index_name = dest_index.name if asim_df_index_name == survey_df.index.name: # survey table has same index as activitysim - survey_df_index_column = 'index' + survey_df_index_column = "index" elif asim_df_index_name in survey_df.columns: # survey table has activitysim index as column survey_df_index_column = asim_df_index_name - elif 'asim_%s' % asim_df_index_name in survey_df.columns: + elif "asim_%s" % asim_df_index_name in survey_df.columns: # survey table has activitysim index as column with asim_ prefix - survey_df_index_column = 'asim_%s' % asim_df_index_name + survey_df_index_column = "asim_%s" % asim_df_index_name else: - logger.error("get_survey_values:index '%s' not in survey table" % dest_index.name) + logger.error( + "get_survey_values:index '%s' not in survey table" % dest_index.name + ) # raise RuntimeError("index '%s' not in survey table %s" % (dest_index.name, table_name) survey_df_index_column = None - logger.debug("get_survey_values: reindexing using %s.%s" % (table_name, survey_df_index_column)) + logger.debug( + "get_survey_values: reindexing using %s.%s" + % (table_name, survey_df_index_column) + ) values = pd.DataFrame(index=dest_index) for c in column_names: - if survey_df_index_column == 'index': + if survey_df_index_column == "index": survey_values = survey_df[c] else: - survey_values = pd.Series(survey_df[c].values, index=survey_df[survey_df_index_column]) + survey_values = pd.Series( + survey_df[c].values, index=survey_df[survey_df_index_column] + ) survey_values = reindex(survey_values, dest_index) # shouldn't be any choices we can't override missing_values = survey_values.isna() if missing_values.any(): - logger.error("missing survey_values for %s\n%s" % (c, dest_index[missing_values])) - logger.error("couldn't get_survey_values for %s in %s\n" % (c, table_name)) - raise RuntimeError("couldn't get_survey_values for %s in %s\n" % (c, table_name)) + logger.error( + "missing survey_values for %s\n%s" % (c, dest_index[missing_values]) + ) + logger.error( + "couldn't get_survey_values for %s in %s\n" % (c, table_name) + ) + raise RuntimeError( + "couldn't get_survey_values for %s in %s\n" % (c, table_name) + ) values[c] = survey_values diff --git a/activitysim/abm/models/util/logsums.py b/activitysim/abm/models/util/logsums.py index 270b229449..f42c15c161 100644 --- a/activitysim/abm/models/util/logsums.py +++ b/activitysim/abm/models/util/logsums.py @@ -2,12 +2,7 @@ # See full license in LICENSE.txt. import logging -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import los -from activitysim.core import expressions - +from activitysim.core import config, expressions, los, simulate, tracing from activitysim.core.pathbuilder import TransitVirtualPathBuilder logger = logging.getLogger(__name__) @@ -15,14 +10,19 @@ def filter_chooser_columns(choosers, logsum_settings, model_settings): - chooser_columns = logsum_settings.get('LOGSUM_CHOOSER_COLUMNS', []) + chooser_columns = logsum_settings.get("LOGSUM_CHOOSER_COLUMNS", []) - if 'CHOOSER_ORIG_COL_NAME' in model_settings and model_settings['CHOOSER_ORIG_COL_NAME'] not in chooser_columns: - chooser_columns.append(model_settings['CHOOSER_ORIG_COL_NAME']) + if ( + "CHOOSER_ORIG_COL_NAME" in model_settings + and model_settings["CHOOSER_ORIG_COL_NAME"] not in chooser_columns + ): + chooser_columns.append(model_settings["CHOOSER_ORIG_COL_NAME"]) missing_columns = [c for c in chooser_columns if c not in choosers] if missing_columns: - logger.debug("logsum.filter_chooser_columns missing_columns %s" % missing_columns) + logger.debug( + "logsum.filter_chooser_columns missing_columns %s" % missing_columns + ) # ignore any columns not appearing in choosers df chooser_columns = [c for c in chooser_columns if c in choosers] @@ -31,12 +31,19 @@ def filter_chooser_columns(choosers, logsum_settings, model_settings): return choosers -def compute_logsums(choosers, - tour_purpose, - logsum_settings, model_settings, - network_los, - chunk_size, chunk_tag, trace_label, - in_period_col=None, out_period_col=None, duration_col=None): +def compute_logsums( + choosers, + tour_purpose, + logsum_settings, + model_settings, + network_los, + chunk_size, + chunk_tag, + trace_label, + in_period_col=None, + out_period_col=None, + duration_col=None, +): """ Parameters @@ -56,41 +63,71 @@ def compute_logsums(choosers, computed logsums with same index as choosers """ - trace_label = tracing.extend_trace_label(trace_label, 'compute_logsums') + trace_label = tracing.extend_trace_label(trace_label, "compute_logsums") logger.debug("Running compute_logsums with %d choosers" % choosers.shape[0]) # compute_logsums needs to know name of dest column in interaction_sample - orig_col_name = model_settings['CHOOSER_ORIG_COL_NAME'] - dest_col_name = model_settings['ALT_DEST_COL_NAME'] + orig_col_name = model_settings["CHOOSER_ORIG_COL_NAME"] + dest_col_name = model_settings["ALT_DEST_COL_NAME"] # FIXME - are we ok with altering choosers (so caller doesn't have to set these)? if (in_period_col is not None) and (out_period_col is not None): - choosers['in_period'] = network_los.skim_time_period_label(choosers[in_period_col]) - choosers['out_period'] = network_los.skim_time_period_label(choosers[out_period_col]) - elif ('in_period' not in choosers.columns) and ('out_period' not in choosers.columns): - if type(model_settings['IN_PERIOD']) is dict and type(model_settings['OUT_PERIOD']) is dict: - if tour_purpose in model_settings['IN_PERIOD'] and tour_purpose in model_settings['OUT_PERIOD']: - choosers['in_period'] = network_los.skim_time_period_label(model_settings['IN_PERIOD'][tour_purpose]) - choosers['out_period'] = network_los.skim_time_period_label(model_settings['OUT_PERIOD'][tour_purpose]) + choosers["in_period"] = network_los.skim_time_period_label( + choosers[in_period_col] + ) + choosers["out_period"] = network_los.skim_time_period_label( + choosers[out_period_col] + ) + elif ("in_period" not in choosers.columns) and ( + "out_period" not in choosers.columns + ): + if ( + type(model_settings["IN_PERIOD"]) is dict + and type(model_settings["OUT_PERIOD"]) is dict + ): + if ( + tour_purpose in model_settings["IN_PERIOD"] + and tour_purpose in model_settings["OUT_PERIOD"] + ): + choosers["in_period"] = network_los.skim_time_period_label( + model_settings["IN_PERIOD"][tour_purpose] + ) + choosers["out_period"] = network_los.skim_time_period_label( + model_settings["OUT_PERIOD"][tour_purpose] + ) else: - choosers['in_period'] = network_los.skim_time_period_label(model_settings['IN_PERIOD']) - choosers['out_period'] = network_los.skim_time_period_label(model_settings['OUT_PERIOD']) + choosers["in_period"] = network_los.skim_time_period_label( + model_settings["IN_PERIOD"] + ) + choosers["out_period"] = network_los.skim_time_period_label( + model_settings["OUT_PERIOD"] + ) else: logger.error("Choosers table already has columns 'in_period' and 'out_period'.") if duration_col is not None: - choosers['duration'] = choosers[duration_col] - elif 'duration' not in choosers.columns: - if type(model_settings['IN_PERIOD']) is dict and type(model_settings['OUT_PERIOD']) is dict: - if tour_purpose in model_settings['IN_PERIOD'] and tour_purpose in model_settings['OUT_PERIOD']: - choosers['duration'] = model_settings['IN_PERIOD'][tour_purpose] - \ - model_settings['OUT_PERIOD'][tour_purpose] + choosers["duration"] = choosers[duration_col] + elif "duration" not in choosers.columns: + if ( + type(model_settings["IN_PERIOD"]) is dict + and type(model_settings["OUT_PERIOD"]) is dict + ): + if ( + tour_purpose in model_settings["IN_PERIOD"] + and tour_purpose in model_settings["OUT_PERIOD"] + ): + choosers["duration"] = ( + model_settings["IN_PERIOD"][tour_purpose] + - model_settings["OUT_PERIOD"][tour_purpose] + ) else: - choosers['duration'] = model_settings['IN_PERIOD'] - model_settings['OUT_PERIOD'] + choosers["duration"] = ( + model_settings["IN_PERIOD"] - model_settings["OUT_PERIOD"] + ) else: logger.error("Choosers table already has column 'duration'.") - logsum_spec = simulate.read_model_spec(file_name=logsum_settings['SPEC']) + logsum_spec = simulate.read_model_spec(file_name=logsum_settings["SPEC"]) coefficients = simulate.get_segment_coefficients(logsum_settings, tour_purpose) logsum_spec = simulate.eval_coefficients(logsum_spec, coefficients, estimator=None) @@ -107,14 +144,18 @@ def compute_logsums(choosers, # setup skim keys skim_dict = network_los.get_default_skim_dict() - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='out_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='in_period') - odr_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='in_period') - dor_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='out_period') + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="out_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="in_period" + ) + odr_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="in_period" + ) + dor_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="out_period" + ) od_skim_stack_wrapper = skim_dict.wrap(orig_col_name, dest_col_name) skims = { @@ -123,35 +164,46 @@ def compute_logsums(choosers, "odr_skims": odr_skim_stack_wrapper, "dor_skims": dor_skim_stack_wrapper, "od_skims": od_skim_stack_wrapper, - 'orig_col_name': orig_col_name, - 'dest_col_name': dest_col_name + "orig_col_name": orig_col_name, + "dest_col_name": dest_col_name, } if network_los.zone_system == los.THREE_ZONE: # fixme - is this a lightweight object? tvpb = network_los.tvpb - tvpb_logsum_odt = tvpb.wrap_logsum(orig_key=orig_col_name, dest_key=dest_col_name, - tod_key='out_period', segment_key='demographic_segment', - trace_label=trace_label, tag='tvpb_logsum_odt') - tvpb_logsum_dot = tvpb.wrap_logsum(orig_key=dest_col_name, dest_key=orig_col_name, - tod_key='in_period', segment_key='demographic_segment', - trace_label=trace_label, tag='tvpb_logsum_dot') - - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - 'tvpb_logsum_dot': tvpb_logsum_dot - }) + tvpb_logsum_odt = tvpb.wrap_logsum( + orig_key=orig_col_name, + dest_key=dest_col_name, + tod_key="out_period", + segment_key="demographic_segment", + trace_label=trace_label, + tag="tvpb_logsum_odt", + ) + tvpb_logsum_dot = tvpb.wrap_logsum( + orig_key=dest_col_name, + dest_key=orig_col_name, + tod_key="in_period", + segment_key="demographic_segment", + trace_label=trace_label, + tag="tvpb_logsum_dot", + ) + + skims.update( + {"tvpb_logsum_odt": tvpb_logsum_odt, "tvpb_logsum_dot": tvpb_logsum_dot} + ) # TVPB constants can appear in expressions - if logsum_settings.get('use_TVPB_constants', True): - locals_dict.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + if logsum_settings.get("use_TVPB_constants", True): + locals_dict.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) locals_dict.update(skims) # - run preprocessor to annotate choosers # allow specification of alternate preprocessor for nontour choosers - preprocessor = model_settings.get('LOGSUM_PREPROCESSOR', 'preprocessor') + preprocessor = model_settings.get("LOGSUM_PREPROCESSOR", "preprocessor") preprocessor_settings = logsum_settings[preprocessor] if preprocessor_settings: @@ -162,7 +214,8 @@ def compute_logsums(choosers, df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) logsums = simulate.simple_simulate_logsums( choosers, @@ -172,6 +225,7 @@ def compute_logsums(choosers, locals_d=locals_dict, chunk_size=chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) return logsums diff --git a/activitysim/abm/models/util/mode.py b/activitysim/abm/models/util/mode.py index 37afe6d47d..f28713b2c1 100644 --- a/activitysim/abm/models/util/mode.py +++ b/activitysim/abm/models/util/mode.py @@ -1,12 +1,10 @@ # ActivitySim # See full license in LICENSE.txt. -import pandas as pd import logging -from activitysim.core import simulate -from activitysim.core import config -from activitysim.core import expressions -from activitysim.core import tracing +import pandas as pd + +from activitysim.core import config, expressions, simulate, tracing """ At this time, these utilities are mostly for transforming the mode choice @@ -18,14 +16,19 @@ def mode_choice_simulate( - choosers, spec, nest_spec, skims, locals_d, - chunk_size, - mode_column_name, - logsum_column_name, - trace_label, - trace_choice_name, - trace_column_names=None, - estimator=None): + choosers, + spec, + nest_spec, + skims, + locals_d, + chunk_size, + mode_column_name, + logsum_column_name, + trace_label, + trace_choice_name, + trace_column_names=None, + estimator=None, +): """ common method for both tour_mode_choice and trip_mode_choice @@ -60,34 +63,39 @@ def mode_choice_simulate( trace_label=trace_label, trace_choice_name=trace_choice_name, estimator=estimator, - trace_column_names=trace_column_names) + trace_column_names=trace_column_names, + ) # for consistency, always return dataframe, whether or not logsums were requested if isinstance(choices, pd.Series): - choices = choices.to_frame('choice') + choices = choices.to_frame("choice") - choices.rename(columns={'logsum': logsum_column_name, - 'choice': mode_column_name}, - inplace=True) + choices.rename( + columns={"logsum": logsum_column_name, "choice": mode_column_name}, inplace=True + ) alts = spec.columns - choices[mode_column_name] = \ - choices[mode_column_name].map(dict(list(zip(list(range(len(alts))), alts)))) + choices[mode_column_name] = choices[mode_column_name].map( + dict(list(zip(list(range(len(alts))), alts))) + ) return choices def run_tour_mode_choice_simulate( - choosers, - tour_purpose, model_settings, - mode_column_name, - logsum_column_name, - network_los, - skims, - constants, - estimator, - chunk_size, - trace_label=None, trace_choice_name=None): + choosers, + tour_purpose, + model_settings, + mode_column_name, + logsum_column_name, + network_los, + skims, + constants, + estimator, + chunk_size, + trace_label=None, + trace_choice_name=None, +): """ This is a utility to run a mode choice model for each segment (usually segments are tour/trip purposes). Pass in the tours/trip that need a mode, @@ -95,7 +103,7 @@ def run_tour_mode_choice_simulate( you want to use in the evaluation of variables. """ - spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients = simulate.get_segment_coefficients(model_settings, tour_purpose) spec = simulate.eval_coefficients(spec, coefficients, estimator) @@ -113,18 +121,18 @@ def run_tour_mode_choice_simulate( logger.warning("coefficients are obscuring locals_dict values") locals_dict.update(coefficients) - assert ('in_period' not in choosers) and ('out_period' not in choosers) - in_time = skims['in_time_col_name'] - out_time = skims['out_time_col_name'] - choosers['in_period'] = network_los.skim_time_period_label(choosers[in_time]) - choosers['out_period'] = network_los.skim_time_period_label(choosers[out_time]) + assert ("in_period" not in choosers) and ("out_period" not in choosers) + in_time = skims["in_time_col_name"] + out_time = skims["out_time_col_name"] + choosers["in_period"] = network_los.skim_time_period_label(choosers[in_time]) + choosers["out_period"] = network_los.skim_time_period_label(choosers[out_time]) expressions.annotate_preprocessors( - choosers, locals_dict, skims, - model_settings, trace_label) + choosers, locals_dict, skims, model_settings, trace_label + ) trace_column_names = choosers.index.name - assert trace_column_names == 'tour_id' + assert trace_column_names == "tour_id" if trace_column_names not in choosers: choosers[trace_column_names] = choosers.index @@ -144,6 +152,7 @@ def run_tour_mode_choice_simulate( trace_label=trace_label, trace_choice_name=trace_choice_name, trace_column_names=trace_column_names, - estimator=estimator) + estimator=estimator, + ) return choices diff --git a/activitysim/abm/models/util/overlap.py b/activitysim/abm/models/util/overlap.py index 433dc3a0bb..70fadfbd43 100644 --- a/activitysim/abm/models/util/overlap.py +++ b/activitysim/abm/models/util/overlap.py @@ -2,12 +2,10 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import tracing -from activitysim.core import inject - +from activitysim.core import inject, tracing logger = logging.getLogger(__name__) @@ -122,11 +120,11 @@ def p2p_time_window_overlap(p1_ids, p2_ids): row_ids = row_ids[target_rows] run_length = run_length[target_rows] - df = pd.DataFrame({'row_ids': row_ids, 'run_length': run_length}) + df = pd.DataFrame({"row_ids": row_ids, "run_length": run_length}) # groupby index of row_ids match the numpy row indexes of timetable.pairwise_available ndarray # but there may be missing values of any no-overlap persons pairs - max_overlap = df.groupby('row_ids').run_length.max() + max_overlap = df.groupby("row_ids").run_length.max() # fill in any missing values to align with input arrays input_row_ids = np.arange(len(p1_ids)) max_overlap = max_overlap.reindex(input_row_ids).fillna(0) @@ -139,23 +137,28 @@ def p2p_time_window_overlap(p1_ids, p2_ids): def person_pairs(persons): - p = persons[['household_id', 'adult']].reset_index() - p2p = pd.merge(p, p, left_on='household_id', right_on='household_id', how='outer') + p = persons[["household_id", "adult"]].reset_index() + p2p = pd.merge(p, p, left_on="household_id", right_on="household_id", how="outer") # we desire well known non-contingent column names - p2p.rename(columns={ - '%s_x' % persons.index.name: 'person1', - '%s_y' % persons.index.name: 'person2', - }, inplace=True) + p2p.rename( + columns={ + "%s_x" % persons.index.name: "person1", + "%s_y" % persons.index.name: "person2", + }, + inplace=True, + ) p2p = p2p[p2p.person1 < p2p.person2] # index is meaningless, but might as well be tidy p2p.reset_index(drop=True, inplace=True) - p2p['p2p_type'] = (p2p.adult_x * 1 + p2p.adult_y * 1).map({0: 'cc', 1: 'ac', 2: 'aa'}) + p2p["p2p_type"] = (p2p.adult_x * 1 + p2p.adult_y * 1).map( + {0: "cc", 1: "ac", 2: "aa"} + ) - p2p = p2p[['household_id', 'person1', 'person2', 'p2p_type']] + p2p = p2p[["household_id", "person1", "person2", "p2p_type"]] return p2p @@ -164,16 +167,19 @@ def hh_time_window_overlap(households, persons): p2p = person_pairs(persons) - p2p['max_overlap'] = p2p_time_window_overlap(p2p.person1, p2p.person2) + p2p["max_overlap"] = p2p_time_window_overlap(p2p.person1, p2p.person2) - hh_overlap = \ - p2p.groupby(['household_id', 'p2p_type']).max_overlap.max().unstack(level=-1, fill_value=0) + hh_overlap = ( + p2p.groupby(["household_id", "p2p_type"]) + .max_overlap.max() + .unstack(level=-1, fill_value=0) + ) # fill in missing households (in case there were no overlaps) hh_overlap = hh_overlap.reindex(households.index).fillna(0).astype(np.int8) # make sure we have all p2p_types (if there were none to unstack, then column will be missing) - for c in ['aa', 'cc', 'ac']: + for c in ["aa", "cc", "ac"]: if c not in hh_overlap.columns: hh_overlap[c] = 0 @@ -184,18 +190,28 @@ def person_time_window_overlap(persons): p2p = person_pairs(persons) - p2p['max_overlap'] = p2p_time_window_overlap(p2p.person1, p2p.person2) - - p_overlap = pd.concat([ - p2p[['person1', 'p2p_type', 'max_overlap']].rename(columns={'person1': 'person_id'}), - p2p[['person2', 'p2p_type', 'max_overlap']].rename(columns={'person2': 'person_id'}) - ]).groupby(['person_id', 'p2p_type']).max_overlap.max() + p2p["max_overlap"] = p2p_time_window_overlap(p2p.person1, p2p.person2) + + p_overlap = ( + pd.concat( + [ + p2p[["person1", "p2p_type", "max_overlap"]].rename( + columns={"person1": "person_id"} + ), + p2p[["person2", "p2p_type", "max_overlap"]].rename( + columns={"person2": "person_id"} + ), + ] + ) + .groupby(["person_id", "p2p_type"]) + .max_overlap.max() + ) # unstack to create columns for each p2p_type (aa, cc, and ac) p_overlap = p_overlap.unstack(level=-1, fill_value=0) # make sure we have columns for all p2p_types (in case there were none of a p2ptype to unstack) - for c in ['aa', 'cc', 'ac']: + for c in ["aa", "cc", "ac"]: if c not in p_overlap.columns: p_overlap[c] = 0 @@ -221,11 +237,11 @@ def person_max_window(persons): row_ids = row_ids[target_rows] run_length = run_length[target_rows] - df = pd.DataFrame({'row_ids': row_ids, 'run_length': run_length}) + df = pd.DataFrame({"row_ids": row_ids, "run_length": run_length}) # groupby index of row_ids match the numpy row indexes of timetable.pairwise_available ndarray # but there may be missing values of any no-overlap persons pairs - max_overlap = df.groupby('row_ids').run_length.max() + max_overlap = df.groupby("row_ids").run_length.max() # fill in any missing values to align with input arrays input_row_ids = np.arange(persons.shape[0]) max_window = max_overlap.reindex(input_row_ids).fillna(0) diff --git a/activitysim/abm/models/util/probabilistic_scheduling.py b/activitysim/abm/models/util/probabilistic_scheduling.py index 73500f58e8..aab2e8d708 100644 --- a/activitysim/abm/models/util/probabilistic_scheduling.py +++ b/activitysim/abm/models/util/probabilistic_scheduling.py @@ -2,16 +2,10 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import chunk -from activitysim.core import logit -from activitysim.core import inject +from activitysim.core import chunk, config, inject, logit, pipeline, simulate, tracing logger = logging.getLogger(__name__) @@ -44,18 +38,23 @@ def _clip_probs(choosers_df, probs, depart_alt_base): probs = probs.div(probs.sum(axis=1), axis=0) num_rows, num_cols = probs.shape - ix_map = np.tile(np.arange(0, num_cols), num_rows).reshape(num_rows, num_cols) + depart_alt_base + ix_map = ( + np.tile(np.arange(0, num_cols), num_rows).reshape(num_rows, num_cols) + + depart_alt_base + ) # 5 6 7 8 9 10... # 5 6 7 8 9 10... # 5 6 7 8 9 10... - clip_mask = ((ix_map >= choosers_df.earliest.values.reshape(num_rows, 1)) & - (ix_map <= choosers_df.latest.values.reshape(num_rows, 1))) * 1 + clip_mask = ( + (ix_map >= choosers_df.earliest.values.reshape(num_rows, 1)) + & (ix_map <= choosers_df.latest.values.reshape(num_rows, 1)) + ) * 1 # [0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0] # [0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0] # [0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]... - probs = probs*clip_mask + probs = probs * clip_mask return probs @@ -80,7 +79,7 @@ def _report_bad_choices(bad_row_map, df, filename, trace_label, trace_choosers=N hh_ids = tracing.hh_id_for_chooser(df.index, df) else: hh_ids = tracing.hh_id_for_chooser(df.index, trace_choosers) - df['household_id'] = hh_ids + df["household_id"] = hh_ids filename = "%s.%s" % (trace_label, filename) @@ -91,15 +90,25 @@ def _report_bad_choices(bad_row_map, df, filename, trace_label, trace_choosers=N MAX_PRINT = 0 for idx in df.index[:MAX_PRINT].values: - row_msg = "%s : failed %s = %s (hh_id = %s)" % \ - (trace_label, df.index.name, idx, df.household_id.loc[idx]) + row_msg = "%s : failed %s = %s (hh_id = %s)" % ( + trace_label, + df.index.name, + idx, + df.household_id.loc[idx], + ) logger.warning(row_msg) def _preprocess_departure_probs( - choosers_df, choosers, probs_spec, probs_join_cols, - clip_earliest_latest, depart_alt_base, first_trip_in_leg): + choosers_df, + choosers, + probs_spec, + probs_join_cols, + clip_earliest_latest, + depart_alt_base, + first_trip_in_leg, +): # zero out probs outside earliest-latest window if one exists probs_cols = [c for c in probs_spec.columns if c not in probs_join_cols] @@ -120,10 +129,11 @@ def _preprocess_stop_duration_probs(choosers): # convert wide to long. duration probs are stored in long format so that # inbound/outbound duration probs, which both have a 0 alternative, can be # stored in a single config file. open to better suggestions here. - choosers['periods_left'] = choosers['latest'] - choosers['earliest'] - choosers = choosers.query('periods_left_min <= periods_left <= periods_left_max') + choosers["periods_left"] = choosers["latest"] - choosers["earliest"] + choosers = choosers.query("periods_left_min <= periods_left <= periods_left_max") chooser_probs = choosers.reset_index().pivot( - index='trip_id', columns='duration_offset', values='prob') + index="trip_id", columns="duration_offset", values="prob" + ) # re-order columns if using negative offsets bc pivot (above) will sort # columns in ascending order by default. but we need the zero-indexed @@ -136,32 +146,47 @@ def _preprocess_stop_duration_probs(choosers): def _preprocess_scheduling_probs( - scheduling_mode, choosers_df, choosers, probs_spec, - probs_join_cols, clip_earliest_latest, depart_alt_base, first_trip_in_leg): + scheduling_mode, + choosers_df, + choosers, + probs_spec, + probs_join_cols, + clip_earliest_latest, + depart_alt_base, + first_trip_in_leg, +): """ Preprocesses the choosers tables depending on the trip scheduling mode selected. """ - if scheduling_mode == 'departure': + if scheduling_mode == "departure": chooser_probs = _preprocess_departure_probs( - choosers_df, choosers, probs_spec, probs_join_cols, - clip_earliest_latest, depart_alt_base, first_trip_in_leg) - elif scheduling_mode == 'stop_duration': + choosers_df, + choosers, + probs_spec, + probs_join_cols, + clip_earliest_latest, + depart_alt_base, + first_trip_in_leg, + ) + elif scheduling_mode == "stop_duration": chooser_probs = _preprocess_stop_duration_probs(choosers) else: logger.error( "Invalid scheduling mode specified: {0}.".format(scheduling_mode), - "Please select one of ['departure', 'stop_duration'] and try again.") + "Please select one of ['departure', 'stop_duration'] and try again.", + ) # probs should sum to 1 with residual probs resulting in choice of 'fail' - chooser_probs['fail'] = 1 - chooser_probs.sum(axis=1).clip(0, 1) + chooser_probs["fail"] = 1 - chooser_probs.sum(axis=1).clip(0, 1) return chooser_probs def _postprocess_scheduling_choices( - scheduling_mode, depart_alt_base, choices, choice_cols, choosers): + scheduling_mode, depart_alt_base, choices, choice_cols, choosers +): """ This method just converts the choice column indexes returned by the @@ -169,26 +194,27 @@ def _postprocess_scheduling_choices( more useful for downstream models. """ # convert alt choice index to depart time (setting failed choices to -1) - failed = (choices == choice_cols.get_loc('fail')) + failed = choices == choice_cols.get_loc("fail") # For the stop duration-based probabilities, the alternatives are offsets that # get applied to trip-specific departure and arrival times, so depart_alt_base # is a column/series rather than a scalar. - if scheduling_mode == 'stop_duration': + if scheduling_mode == "stop_duration": # for outbound trips, offsets get added to the departure time constraint if choosers.outbound.all(): - depart_alt_base = choosers['earliest'] + depart_alt_base = choosers["earliest"] # for inbound trips, offsets get subtracted from tour end constraint elif not choosers.outbound.any(): - depart_alt_base = choosers['latest'] + depart_alt_base = choosers["latest"] choices *= -1 else: logger.error( - 'Outbound trips are being scheduled at the same ' - 'time as inbound trips. That should never happen.') + "Outbound trips are being scheduled at the same " + "time as inbound trips. That should never happen." + ) choices = (choices + depart_alt_base).where(~failed, -1) @@ -196,13 +222,18 @@ def _postprocess_scheduling_choices( def make_scheduling_choices( - choosers_df, scheduling_mode, - probs_spec, probs_join_cols, - depart_alt_base, - first_trip_in_leg, - report_failed_trips, trace_hh_id, trace_label, - trace_choice_col_name='depart', - clip_earliest_latest=True): + choosers_df, + scheduling_mode, + probs_spec, + probs_join_cols, + depart_alt_base, + first_trip_in_leg, + report_failed_trips, + trace_hh_id, + trace_label, + trace_choice_col_name="depart", + clip_earliest_latest=True, +): """ We join each trip with the appropriate row in probs_spec by joining on probs_join_cols, which should exist in both trips, probs_spec dataframe. @@ -231,35 +262,54 @@ def make_scheduling_choices( time periods depart choices, one per trip (except for trips with zero probs) """ - choosers = pd.merge(choosers_df.reset_index(), probs_spec, on=probs_join_cols, - how='left').set_index(choosers_df.index.name) + choosers = pd.merge( + choosers_df.reset_index(), probs_spec, on=probs_join_cols, how="left" + ).set_index(choosers_df.index.name) chunk.log_df(trace_label, "choosers", choosers) if trace_hh_id and tracing.has_trace_targets(choosers_df): - tracing.trace_df(choosers, '%s.choosers' % trace_label) + tracing.trace_df(choosers, "%s.choosers" % trace_label) # different pre-processing is required based on the scheduling mode chooser_probs = _preprocess_scheduling_probs( - scheduling_mode, choosers_df, choosers, probs_spec, - probs_join_cols, clip_earliest_latest, depart_alt_base, first_trip_in_leg) + scheduling_mode, + choosers_df, + choosers, + probs_spec, + probs_join_cols, + clip_earliest_latest, + depart_alt_base, + first_trip_in_leg, + ) chunk.log_df(trace_label, "chooser_probs", chooser_probs) if trace_hh_id and tracing.has_trace_targets(choosers_df): - tracing.trace_df(chooser_probs, '%s.chooser_probs' % trace_label) + tracing.trace_df(chooser_probs, "%s.chooser_probs" % trace_label) - raw_choices, rands = logit.make_choices(chooser_probs, trace_label=trace_label, trace_choosers=choosers) + raw_choices, rands = logit.make_choices( + chooser_probs, trace_label=trace_label, trace_choosers=choosers + ) chunk.log_df(trace_label, "choices", raw_choices) chunk.log_df(trace_label, "rands", rands) if trace_hh_id and tracing.has_trace_targets(choosers_df): - tracing.trace_df(raw_choices, '%s.choices' % trace_label, columns=[None, trace_choice_col_name]) - tracing.trace_df(rands, '%s.rands' % trace_label, columns=[None, 'rand']) + tracing.trace_df( + raw_choices, + "%s.choices" % trace_label, + columns=[None, trace_choice_col_name], + ) + tracing.trace_df(rands, "%s.rands" % trace_label, columns=[None, "rand"]) # different post-processing is required based on the scheduling mode choices, failed = _postprocess_scheduling_choices( - scheduling_mode, depart_alt_base, raw_choices, chooser_probs.columns, choosers_df) + scheduling_mode, + depart_alt_base, + raw_choices, + chooser_probs.columns, + choosers_df, + ) chunk.log_df(trace_label, "failed", failed) @@ -268,20 +318,23 @@ def make_scheduling_choices( _report_bad_choices( bad_row_map=failed, df=choosers, - filename='failed_choosers', + filename="failed_choosers", trace_label=trace_label, - trace_choosers=None) + trace_choosers=None, + ) # trace before removing failures if trace_hh_id and tracing.has_trace_targets(choosers_df): - tracing.trace_df(choices, '%s.choices' % trace_label, columns=[None, trace_choice_col_name]) - tracing.trace_df(rands, '%s.rands' % trace_label, columns=[None, 'rand']) + tracing.trace_df( + choices, "%s.choices" % trace_label, columns=[None, trace_choice_col_name] + ) + tracing.trace_df(rands, "%s.rands" % trace_label, columns=[None, "rand"]) # remove any failed choices if failed.any(): choices = choices[~failed] - if all([check_col in choosers_df.columns for check_col in ['earliest', 'latest']]): + if all([check_col in choosers_df.columns for check_col in ["earliest", "latest"]]): assert (choices >= choosers_df.earliest[~failed]).all() assert (choices <= choosers_df.latest[~failed]).all() diff --git a/activitysim/abm/models/util/test/test_cdap.py b/activitysim/abm/models/util/test/test_cdap.py index 9056264b14..0e4bd68392 100644 --- a/activitysim/abm/models/util/test/test_cdap.py +++ b/activitysim/abm/models/util/test/test_cdap.py @@ -2,30 +2,25 @@ # See full license in LICENSE.txt. import os.path -import yaml import pandas as pd import pandas.testing as pdt import pytest +import yaml -from .. import cdap +from activitysim.core import chunk, config, inject, simulate -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import config -from activitysim.core import chunk +from .. import cdap -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_dir(): - return os.path.join(os.path.dirname(__file__), 'data') + return os.path.join(os.path.dirname(__file__), "data") -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def people(data_dir): - return pd.read_csv( - os.path.join(data_dir, 'people.csv'), - index_col='id') + return pd.read_csv(os.path.join(data_dir, "people.csv"), index_col="id") def teardown_function(func): @@ -33,32 +28,34 @@ def teardown_function(func): inject.reinject_decorated_tables() -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def model_settings(configs_dir): - yml_file = os.path.join(configs_dir, 'cdap.yaml') + yml_file = os.path.join(configs_dir, "cdap.yaml") with open(yml_file) as f: model_settings = yaml.load(f, Loader=yaml.loader.SafeLoader) return model_settings -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def configs_dir(): - return os.path.join(os.path.dirname(__file__), 'configs') + return os.path.join(os.path.dirname(__file__), "configs") def setup_function(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) def test_bad_coefficients(): - coefficients = pd.read_csv(config.config_file_path('cdap_interaction_coefficients.csv'), comment='#') + coefficients = pd.read_csv( + config.config_file_path("cdap_interaction_coefficients.csv"), comment="#" + ) coefficients = cdap.preprocess_interaction_coefficients(coefficients) - coefficients.loc[2, 'activity'] = 'AA' + coefficients.loc[2, "activity"] = "AA" with pytest.raises(RuntimeError) as excinfo: coefficients = cdap.preprocess_interaction_coefficients(coefficients) @@ -67,75 +64,95 @@ def test_bad_coefficients(): def test_assign_cdap_rank(people, model_settings): - person_type_map = model_settings.get('PERSON_TYPE_MAP', {}) + person_type_map = model_settings.get("PERSON_TYPE_MAP", {}) - with chunk.chunk_log('test_assign_cdap_rank', base=True): + with chunk.chunk_log("test_assign_cdap_rank", base=True): cdap.assign_cdap_rank(people, person_type_map) expected = pd.Series( - [1, 1, 1, 2, 2, 1, 3, 1, 2, 1, 3, 2, 1, 3, 2, 4, 1, 3, 4, 2], - index=people.index + [1, 1, 1, 2, 2, 1, 3, 1, 2, 1, 3, 2, 1, 3, 2, 4, 1, 3, 4, 2], index=people.index ) - pdt.assert_series_equal(people['cdap_rank'], expected, check_dtype=False, check_names=False) + pdt.assert_series_equal( + people["cdap_rank"], expected, check_dtype=False, check_names=False + ) def test_individual_utilities(people, model_settings): - cdap_indiv_and_hhsize1 = simulate.read_model_spec(file_name='cdap_indiv_and_hhsize1.csv') + cdap_indiv_and_hhsize1 = simulate.read_model_spec( + file_name="cdap_indiv_and_hhsize1.csv" + ) - person_type_map = model_settings.get('PERSON_TYPE_MAP', {}) + person_type_map = model_settings.get("PERSON_TYPE_MAP", {}) - with chunk.chunk_log('test_individual_utilities', base=True): + with chunk.chunk_log("test_individual_utilities", base=True): cdap.assign_cdap_rank(people, person_type_map) - individual_utils = cdap.individual_utilities(people, cdap_indiv_and_hhsize1, locals_d=None) - - individual_utils = individual_utils[['M', 'N', 'H']] - - expected = pd.DataFrame([ - [2, 0, 0], # person 1 - [0, 0, 1], # person 2 - [3, 0, 0], # person 3 - [3, 0, 0], # person 4 - [0, 1, 0], # person 5 - [1, 0, 0], # person 6 - [1, 0, 0], # person 7 - [0, 2, 0], # person 8 - [0, 0, 1], # person 9 - [2, 0, 0], # person 10 - [0, 0, 3], # person 11 - [0, 0, 2], # person 12 - [3, 0, 0], # person 13 - [1, 0, 0], # person 14 - [0, 4, 0], # person 15 - [0, 4, 0], # person 16 - [0, 0, 4], # person 17 - [0, 0, 5], # person 18 - [50, 0, 4], # person 19 - [2, 0, 0] # person 20 - ], index=people.index, columns=cdap_indiv_and_hhsize1.columns) + individual_utils = cdap.individual_utilities( + people, cdap_indiv_and_hhsize1, locals_d=None + ) + + individual_utils = individual_utils[["M", "N", "H"]] + + expected = pd.DataFrame( + [ + [2, 0, 0], # person 1 + [0, 0, 1], # person 2 + [3, 0, 0], # person 3 + [3, 0, 0], # person 4 + [0, 1, 0], # person 5 + [1, 0, 0], # person 6 + [1, 0, 0], # person 7 + [0, 2, 0], # person 8 + [0, 0, 1], # person 9 + [2, 0, 0], # person 10 + [0, 0, 3], # person 11 + [0, 0, 2], # person 12 + [3, 0, 0], # person 13 + [1, 0, 0], # person 14 + [0, 4, 0], # person 15 + [0, 4, 0], # person 16 + [0, 0, 4], # person 17 + [0, 0, 5], # person 18 + [50, 0, 4], # person 19 + [2, 0, 0], # person 20 + ], + index=people.index, + columns=cdap_indiv_and_hhsize1.columns, + ) pdt.assert_frame_equal( - individual_utils, expected, check_dtype=False, check_names=False) + individual_utils, expected, check_dtype=False, check_names=False + ) def test_build_cdap_spec_hhsize2(people, model_settings): hhsize = 2 - cdap_indiv_and_hhsize1 = simulate.read_model_spec(file_name='cdap_indiv_and_hhsize1.csv') + cdap_indiv_and_hhsize1 = simulate.read_model_spec( + file_name="cdap_indiv_and_hhsize1.csv" + ) - interaction_coefficients = pd.read_csv(config.config_file_path('cdap_interaction_coefficients.csv'), comment='#') - interaction_coefficients = cdap.preprocess_interaction_coefficients(interaction_coefficients) + interaction_coefficients = pd.read_csv( + config.config_file_path("cdap_interaction_coefficients.csv"), comment="#" + ) + interaction_coefficients = cdap.preprocess_interaction_coefficients( + interaction_coefficients + ) - person_type_map = model_settings.get('PERSON_TYPE_MAP', {}) + person_type_map = model_settings.get("PERSON_TYPE_MAP", {}) - with chunk.chunk_log('test_build_cdap_spec_hhsize2', base=True): + with chunk.chunk_log("test_build_cdap_spec_hhsize2", base=True): cdap.assign_cdap_rank(people, person_type_map) - indiv_utils = cdap.individual_utilities(people, cdap_indiv_and_hhsize1, locals_d=None) + indiv_utils = cdap.individual_utilities( + people, cdap_indiv_and_hhsize1, locals_d=None + ) choosers = cdap.hh_choosers(indiv_utils, hhsize=hhsize) - spec = cdap.build_cdap_spec(interaction_coefficients, hhsize=hhsize, cache=False) + spec = cdap.build_cdap_spec( + interaction_coefficients, hhsize=hhsize, cache=False + ) # pandas.dot depends on column names of expression_values matching spec index values # expressions should have been uniquified when spec was read @@ -148,11 +165,13 @@ def test_build_cdap_spec_hhsize2(people, model_settings): utils = vars.dot(spec) - expected = pd.DataFrame([ - [0, 3, 0, 3, 7, 3, 0, 3, 0], # household 3 - [0, 0, 1, 1, 1, 2, 0, 0, 2], # household 4 + expected = pd.DataFrame( + [ + [0, 3, 0, 3, 7, 3, 0, 3, 0], # household 3 + [0, 0, 1, 1, 1, 2, 0, 0, 2], # household 4 ], index=[3, 4], - columns=['HH', 'HM', 'HN', 'MH', 'MM', 'MN', 'NH', 'NM', 'NN']).astype('float') + columns=["HH", "HM", "HN", "MH", "MM", "MN", "NH", "NM", "NN"], + ).astype("float") pdt.assert_frame_equal(utils, expected, check_names=False) diff --git a/activitysim/abm/models/util/test/test_mandatory_tour_frequency.py b/activitysim/abm/models/util/test/test_mandatory_tour_frequency.py index 74aba531bc..2739e1a401 100644 --- a/activitysim/abm/models/util/test/test_mandatory_tour_frequency.py +++ b/activitysim/abm/models/util/test/test_mandatory_tour_frequency.py @@ -2,30 +2,40 @@ # See full license in LICENSE.txt. -import pytest import os + import pandas as pd import pandas.testing as pdt +import pytest + from ..tour_frequency import process_mandatory_tours def mandatory_tour_frequency_alternatives(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') - f = os.path.join(configs_dir, 'mandatory_tour_frequency_alternatives.csv') - df = pd.read_csv(f, comment='#') - df.set_index('alt', inplace=True) + configs_dir = os.path.join(os.path.dirname(__file__), "configs") + f = os.path.join(configs_dir, "mandatory_tour_frequency_alternatives.csv") + df = pd.read_csv(f, comment="#") + df.set_index("alt", inplace=True) return df def test_mtf(): - persons = pd.DataFrame({ - "is_worker": [True, True, False, False], - "mandatory_tour_frequency": ["work1", "work_and_school", "work_and_school", "school2"], - "school_zone_id": [1, 2, 3, 4], - "workplace_zone_id": [10, 20, 30, 40], - "home_zone_id": [100, 200, 300, 400], - "household_id": [1, 2, 2, 4] - }, index=[10, 20, 30, 40]) + persons = pd.DataFrame( + { + "is_worker": [True, True, False, False], + "mandatory_tour_frequency": [ + "work1", + "work_and_school", + "work_and_school", + "school2", + ], + "school_zone_id": [1, 2, 3, 4], + "workplace_zone_id": [10, 20, 30, 40], + "home_zone_id": [100, 200, 300, 400], + "household_id": [1, 2, 2, 4], + }, + index=[10, 20, 30, 40], + ) tour_frequency_alternatives = mandatory_tour_frequency_alternatives() @@ -35,22 +45,30 @@ def test_mtf(): pdt.assert_series_equal( mandatory_tours.person_id, - pd.Series([10, 20, 20, 30, 30, 40, 40], index=idx, name='person_id')) + pd.Series([10, 20, 20, 30, 30, 40, 40], index=idx, name="person_id"), + ) pdt.assert_series_equal( mandatory_tours.tour_type, - pd.Series(['work', 'work', 'school', 'work', 'school', 'school', 'school'], - index=idx, name='tour_type')) + pd.Series( + ["work", "work", "school", "work", "school", "school", "school"], + index=idx, + name="tour_type", + ), + ) # tour_nums for work_and_school non-worker should be flipped pdt.assert_series_equal( mandatory_tours.tour_num, - pd.Series([1, 1, 2, 2, 1, 1, 2], index=idx, name='tour_num')) + pd.Series([1, 1, 2, 2, 1, 1, 2], index=idx, name="tour_num"), + ) pdt.assert_series_equal( mandatory_tours.destination, - pd.Series([10, 20, 2, 30, 3, 4, 4], index=idx, name='destination')) + pd.Series([10, 20, 2, 30, 3, 4, 4], index=idx, name="destination"), + ) pdt.assert_series_equal( mandatory_tours.origin, - pd.Series([100, 200, 200, 300, 300, 400, 400], index=idx, name='origin')) + pd.Series([100, 200, 200, 300, 300, 400, 400], index=idx, name="origin"), + ) diff --git a/activitysim/abm/models/util/test/test_non_mandatory_tour_frequency.py b/activitysim/abm/models/util/test/test_non_mandatory_tour_frequency.py index a3574b6744..5ae895630f 100644 --- a/activitysim/abm/models/util/test/test_non_mandatory_tour_frequency.py +++ b/activitysim/abm/models/util/test/test_non_mandatory_tour_frequency.py @@ -2,10 +2,12 @@ # See full license in LICENSE.txt. -import pytest import os + import pandas as pd import pandas.testing as pdt +import pytest + from ..tour_frequency import process_non_mandatory_tours @@ -13,23 +15,21 @@ def test_nmtf(): persons = pd.DataFrame( { - 'non_mandatory_tour_frequency': [0, 3, 2, 1], - 'household_id': [1, 1, 2, 4], - 'home_zone_id': [100, 100, 200, 400] + "non_mandatory_tour_frequency": [0, 3, 2, 1], + "household_id": [1, 1, 2, 4], + "home_zone_id": [100, 100, 200, 400], }, - index=[0, 1, 2, 3] + index=[0, 1, 2, 3], ) non_mandatory_tour_frequency_alts = pd.DataFrame( - { - "escort": [0, 0, 2, 0], - "shopping": [1, 0, 0, 0], - "othmaint": [0, 1, 0, 0] - }, - index=[0, 1, 2, 3] + {"escort": [0, 0, 2, 0], "shopping": [1, 0, 0, 0], "othmaint": [0, 1, 0, 0]}, + index=[0, 1, 2, 3], ) - tour_counts = non_mandatory_tour_frequency_alts.loc[persons.non_mandatory_tour_frequency] + tour_counts = non_mandatory_tour_frequency_alts.loc[ + persons.non_mandatory_tour_frequency + ] tour_counts.index = persons.index # assign person ids to the index # - create the non_mandatory tours @@ -38,12 +38,12 @@ def test_nmtf(): idx = nmt.index pdt.assert_series_equal( - nmt.person_id, - pd.Series( - [0, 2, 2, 3], index=idx, name='person_id')) + nmt.person_id, pd.Series([0, 2, 2, 3], index=idx, name="person_id") + ) pdt.assert_series_equal( nmt.tour_type, pd.Series( - ["shopping", "escort", "escort", "othmaint"], - index=idx, name='tour_type')) + ["shopping", "escort", "escort", "othmaint"], index=idx, name="tour_type" + ), + ) diff --git a/activitysim/abm/models/util/test/test_vectorize_tour_scheduling.py b/activitysim/abm/models/util/test/test_vectorize_tour_scheduling.py index 3e9b61b89c..4e4325b056 100644 --- a/activitysim/abm/models/util/test/test_vectorize_tour_scheduling.py +++ b/activitysim/abm/models/util/test/test_vectorize_tour_scheduling.py @@ -2,16 +2,18 @@ # See full license in LICENSE.txt. import os -import pytest -import pandas as pd -import numpy as np +import numpy as np +import pandas as pd import pandas.testing as pdt +import pytest from activitysim.core import inject -from ..vectorize_tour_scheduling import get_previous_tour_by_tourid, \ - vectorize_tour_scheduling +from ..vectorize_tour_scheduling import ( + get_previous_tour_by_tourid, + vectorize_tour_scheduling, +) def teardown_function(func): @@ -20,7 +22,7 @@ def teardown_function(func): def setup_function(): - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) @@ -29,45 +31,41 @@ def test_vts(): inject.add_injectable("settings", {}) # note: need 0 duration tour on one end of day to guarantee at least one available tour - alts = pd.DataFrame({ - "start": [1, 1, 2, 3], - "end": [1, 4, 5, 6] - }) - alts['duration'] = alts.end - alts.start + alts = pd.DataFrame({"start": [1, 1, 2, 3], "end": [1, 4, 5, 6]}) + alts["duration"] = alts.end - alts.start inject.add_injectable("tdd_alts", alts) - current_tour_person_ids = pd.Series(['b', 'c'], - index=['d', 'e']) + current_tour_person_ids = pd.Series(["b", "c"], index=["d", "e"]) - previous_tour_by_personid = pd.Series([2, 2, 1], - index=['a', 'b', 'c']) + previous_tour_by_personid = pd.Series([2, 2, 1], index=["a", "b", "c"]) - prev_tour_attrs = get_previous_tour_by_tourid(current_tour_person_ids, - previous_tour_by_personid, - alts) + prev_tour_attrs = get_previous_tour_by_tourid( + current_tour_person_ids, previous_tour_by_personid, alts + ) pdt.assert_series_equal( prev_tour_attrs.start_previous, - pd.Series([2, 1], index=['d', 'e'], name='start_previous')) + pd.Series([2, 1], index=["d", "e"], name="start_previous"), + ) pdt.assert_series_equal( prev_tour_attrs.end_previous, - pd.Series([5, 4], index=['d', 'e'], name='end_previous')) + pd.Series([5, 4], index=["d", "e"], name="end_previous"), + ) - tours = pd.DataFrame({ - "person_id": [1, 1, 2, 3, 3], - "tour_num": [1, 2, 1, 1, 2], - "tour_type": ['x', 'x', 'x', 'x', 'x'] - }) + tours = pd.DataFrame( + { + "person_id": [1, 1, 2, 3, 3], + "tour_num": [1, 2, 1, 1, 2], + "tour_type": ["x", "x", "x", "x", "x"], + } + ) - persons = pd.DataFrame({ - "income": [20, 30, 25] - }, index=[1, 2, 3]) + persons = pd.DataFrame({"income": [20, 30, 25]}, index=[1, 2, 3]) - inject.add_table('persons', persons) + inject.add_table("persons", persons) - spec = pd.DataFrame({"Coefficient": [1.2]}, - index=["income"]) + spec = pd.DataFrame({"Coefficient": [1.2]}, index=["income"]) spec.index.name = "Expression" inject.add_injectable("check_for_variability", True) @@ -75,11 +73,16 @@ def test_vts(): timetable = inject.get_injectable("timetable") tdd_choices = vectorize_tour_scheduling( - tours, persons, alts, timetable, - tour_segments={'spec': spec}, + tours, + persons, + alts, + timetable, + tour_segments={"spec": spec}, tour_segment_col=None, model_settings={}, - chunk_size=0, trace_label='test_vts') + chunk_size=0, + trace_label="test_vts", + ) # FIXME - dead reckoning regression # there's no real logic here - this is just what came out of the monte carlo diff --git a/activitysim/abm/models/util/tour_destination.py b/activitysim/abm/models/util/tour_destination.py index 7482aeb6db..a39037b479 100644 --- a/activitysim/abm/models/util/tour_destination.py +++ b/activitysim/abm/models/util/tour_destination.py @@ -2,23 +2,16 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import los -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import pipeline - -from activitysim.core.util import reindex - -from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.abm.tables.size_terms import tour_destination_size_terms +from activitysim.core import config, inject, los, pipeline, simulate, tracing from activitysim.core.interaction_sample import interaction_sample +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.core.util import reindex from . import logsums as logsum -from activitysim.abm.tables.size_terms import tour_destination_size_terms logger = logging.getLogger(__name__) DUMP = False @@ -34,10 +27,11 @@ class SizeTermCalculator(object): def __init__(self, size_term_selector): # do this once so they can request size_terms for various segments (tour_type or purpose) - land_use = inject.get_table('land_use') - size_terms = inject.get_injectable('size_terms') - self.destination_size_terms = \ - tour_destination_size_terms(land_use, size_terms, size_term_selector) + land_use = inject.get_table("land_use") + size_terms = inject.get_injectable("size_terms") + self.destination_size_terms = tour_destination_size_terms( + land_use, size_terms, size_term_selector + ) assert not self.destination_size_terms.isna().any(axis=None) @@ -49,15 +43,19 @@ def dest_size_terms_df(self, segment_name, trace_label): # convenient if creating or merging with alts size_terms = self.destination_size_terms[[segment_name]].copy() - size_terms.columns = ['size_term'] + size_terms.columns = ["size_term"] # FIXME - no point in considering impossible alternatives (where dest size term is zero) - logger.debug(f"SizeTermCalculator dropping {(~(size_terms.size_term > 0)).sum()} " - f"of {len(size_terms)} rows where size_term is zero for {segment_name}") + logger.debug( + f"SizeTermCalculator dropping {(~(size_terms.size_term > 0)).sum()} " + f"of {len(size_terms)} rows where size_term is zero for {segment_name}" + ) size_terms = size_terms[size_terms.size_term > 0] if len(size_terms) == 0: - logger.warning(f"SizeTermCalculator: no zones with non-zero size terms for {segment_name} in {trace_label}") + logger.warning( + f"SizeTermCalculator: no zones with non-zero size terms for {segment_name} in {trace_label}" + ) return size_terms @@ -68,36 +66,44 @@ def dest_size_terms_df(self, segment_name, trace_label): def _destination_sample( - spec_segment_name, - choosers, - destination_size_terms, - skims, - estimator, + spec_segment_name, + choosers, + destination_size_terms, + skims, + estimator, + model_settings, + alt_dest_col_name, + chunk_size, + chunk_tag, + trace_label, +): + + model_spec = simulate.spec_for_segment( model_settings, - alt_dest_col_name, - chunk_size, - chunk_tag, - trace_label): - - model_spec = simulate.spec_for_segment(model_settings, spec_id='SAMPLE_SPEC', - segment_name=spec_segment_name, estimator=estimator) + spec_id="SAMPLE_SPEC", + segment_name=spec_segment_name, + estimator=estimator, + ) logger.info("running %s with %d tours", trace_label, len(choosers)) - sample_size = model_settings['SAMPLE_SIZE'] - if config.setting('disable_destination_sampling', False) or (estimator and estimator.want_unsampled_alternatives): + sample_size = model_settings["SAMPLE_SIZE"] + if config.setting("disable_destination_sampling", False) or ( + estimator and estimator.want_unsampled_alternatives + ): # FIXME interaction_sample will return unsampled complete alternatives with probs and pick_count - logger.info("Estimation mode for %s using unsampled alternatives short_circuit_choices" % (trace_label,)) + logger.info( + "Estimation mode for %s using unsampled alternatives short_circuit_choices" + % (trace_label,) + ) sample_size = 0 - locals_d = { - 'skims': skims - } + locals_d = {"skims": skims} constants = config.get_model_constants(model_settings) if constants is not None: locals_d.update(constants) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample( choosers, @@ -110,39 +116,42 @@ def _destination_sample( locals_d=locals_d, chunk_size=chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) # remember person_id in chosen alts so we can merge with persons in subsequent steps # (broadcasts person_id onto all alternatives sharing the same tour_id index value) - choices['person_id'] = choosers.person_id + choices["person_id"] = choosers.person_id return choices def destination_sample( - spec_segment_name, - choosers, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, trace_label): - - chunk_tag = 'tour_destination.sample' + spec_segment_name, + choosers, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): + + chunk_tag = "tour_destination.sample" # create wrapper with keys for this lookup # the skims will be available under the name "skims" for any @ expressions - skim_origin_col_name = model_settings['CHOOSER_ORIG_COL_NAME'] + skim_origin_col_name = model_settings["CHOOSER_ORIG_COL_NAME"] skim_dest_col_name = destination_size_terms.index.name # (logit.interaction_dataset suffixes duplicate chooser column with '_chooser') - if (skim_origin_col_name == skim_dest_col_name): - skim_origin_col_name = f'{skim_origin_col_name}_chooser' + if skim_origin_col_name == skim_dest_col_name: + skim_origin_col_name = f"{skim_origin_col_name}_chooser" skim_dict = network_los.get_default_skim_dict() skims = skim_dict.wrap(skim_origin_col_name, skim_dest_col_name) # the name of the dest column to be returned in choices - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] choices = _destination_sample( spec_segment_name, @@ -152,20 +161,22 @@ def destination_sample( estimator, model_settings, alt_dest_col_name, - chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + chunk_size, + chunk_tag=chunk_tag, + trace_label=trace_label, + ) return choices # temp column names for presampling -DEST_MAZ = 'dest_MAZ' -DEST_TAZ = 'dest_TAZ' -ORIG_TAZ = 'TAZ' # likewise a temp, but if already in choosers, we assume we can use it opportunistically +DEST_MAZ = "dest_MAZ" +DEST_TAZ = "dest_TAZ" +ORIG_TAZ = "TAZ" # likewise a temp, but if already in choosers, we assume we can use it opportunistically def map_maz_to_taz(s, network_los): - maz_to_taz = network_los.maz_taz_df[['MAZ', 'TAZ']].set_index('MAZ').TAZ + maz_to_taz = network_los.maz_taz_df[["MAZ", "TAZ"]].set_index("MAZ").TAZ return s.map(maz_to_taz) @@ -180,9 +191,9 @@ def aggregate_size_terms(dest_size_terms, network_los): MAZ_size_terms[DEST_TAZ] = map_maz_to_taz(MAZ_size_terms.index, network_los) # aggregate to TAZ - TAZ_size_terms = MAZ_size_terms.groupby(DEST_TAZ).agg({'size_term': 'sum'}) + TAZ_size_terms = MAZ_size_terms.groupby(DEST_TAZ).agg({"size_term": "sum"}) TAZ_size_terms[DEST_TAZ] = TAZ_size_terms.index - assert not TAZ_size_terms['size_term'].isna().any() + assert not TAZ_size_terms["size_term"].isna().any() # size_term # dest_TAZ @@ -192,8 +203,10 @@ def aggregate_size_terms(dest_size_terms, network_los): # add crosswalk DEST_TAZ column to MAZ_size_terms # MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, 'size_term']) # maybe helpful for debugging - MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, 'size_term']].reset_index(drop=False) - MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, 'zone_id']).reset_index(drop=True) + MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, "size_term"]].reset_index(drop=False) + MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, "zone_id"]).reset_index( + drop=True + ) # zone_id dest_TAZ size_term # 0 6097 2 10.0 @@ -231,21 +244,27 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): trace_hh_id = inject.get_injectable("trace_hh_id", None) have_trace_targets = trace_hh_id and tracing.has_trace_targets(taz_sample) if have_trace_targets: - trace_label = tracing.extend_trace_label(trace_label, 'choose_MAZ_for_TAZ') + trace_label = tracing.extend_trace_label(trace_label, "choose_MAZ_for_TAZ") - CHOOSER_ID = taz_sample.index.name # zone_id for tours, but person_id for location choice + CHOOSER_ID = ( + taz_sample.index.name + ) # zone_id for tours, but person_id for location choice assert CHOOSER_ID is not None # write taz choices, pick_counts, probs trace_targets = tracing.trace_targets(taz_sample) - tracing.trace_df(taz_sample[trace_targets], - label=tracing.extend_trace_label(trace_label, 'taz_sample'), - transpose=False) + tracing.trace_df( + taz_sample[trace_targets], + label=tracing.extend_trace_label(trace_label, "taz_sample"), + transpose=False, + ) # redupe taz_sample[[DEST_TAZ, 'prob']] using pick_count to repeat rows - taz_choices = taz_sample[[DEST_TAZ, 'prob']].reset_index(drop=False) - taz_choices = taz_choices.reindex(taz_choices.index.repeat(taz_sample.pick_count)).reset_index(drop=True) - taz_choices = taz_choices.rename(columns={'prob': 'TAZ_prob'}) + taz_choices = taz_sample[[DEST_TAZ, "prob"]].reset_index(drop=False) + taz_choices = taz_choices.reindex( + taz_choices.index.repeat(taz_sample.pick_count) + ).reset_index(drop=True) + taz_choices = taz_choices.rename(columns={"prob": "TAZ_prob"}) # print(f"taz_choices\n{taz_choices}") # tour_id dest_TAZ TAZ_prob @@ -261,7 +280,9 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): # 2 24251 2 10.904 # just to make it clear we are siloing choices by chooser_id - chooser_id_col = taz_sample.index.name # should be canonical chooser index name (e.g. 'person_id') + chooser_id_col = ( + taz_sample.index.name + ) # should be canonical chooser index name (e.g. 'person_id') # for random_for_df, we need df with de-duplicated chooser canonical index chooser_df = pd.DataFrame(index=taz_sample.index[~taz_sample.index.duplicated()]) @@ -273,15 +294,21 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): taz_sample_size = taz_choices.groupby(chooser_id_col)[DEST_TAZ].count().max() # taz_choices index values should be contiguous - assert (taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size)).all() + assert ( + taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size) + ).all() # we need to choose a MAZ for each DEST_TAZ choice # probability of choosing MAZ based on MAZ size_term fraction of TAZ total # there will be a different set (and number) of candidate MAZs for each TAZ # (preserve index, which will have duplicates as result of join) # maz_sizes.index is the integer offset into taz_choices of the taz for which the maz_size row is a candidate) - maz_sizes = pd.merge(taz_choices[[chooser_id_col, DEST_TAZ]].reset_index(), - MAZ_size_terms, how='left', on=DEST_TAZ).set_index('index') + maz_sizes = pd.merge( + taz_choices[[chooser_id_col, DEST_TAZ]].reset_index(), + MAZ_size_terms, + how="left", + on=DEST_TAZ, + ).set_index("index") # tour_id dest_TAZ zone_id size_term # index @@ -296,9 +323,11 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): maz_sizes_trace_targets = tracing.trace_targets(maz_sizes, slicer=CHOOSER_ID) trace_maz_sizes = maz_sizes[maz_sizes_trace_targets] - tracing.trace_df(trace_maz_sizes, - label=tracing.extend_trace_label(trace_label, 'maz_sizes'), - transpose=False) + tracing.trace_df( + trace_maz_sizes, + label=tracing.extend_trace_label(trace_label, "maz_sizes"), + transpose=False, + ) # number of DEST_TAZ candidates per chooser maz_counts = maz_sizes.groupby(maz_sizes.index).size().values @@ -316,7 +345,9 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): inserts = np.repeat(last_row_offsets, max_maz_count - maz_counts) # insert zero filler to pad each alternative set to same size - padded_maz_sizes = np.insert(maz_sizes.size_term.values, inserts, 0.0).reshape(-1, max_maz_count) + padded_maz_sizes = np.insert(maz_sizes.size_term.values, inserts, 0.0).reshape( + -1, max_maz_count + ) # prob array with one row TAZ_choice, one column per alternative row_sums = padded_maz_sizes.sum(axis=1) @@ -336,50 +367,82 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): # shouldn't have chosen any of the dummy pad positions assert (positions < maz_counts).all() - taz_choices[DEST_MAZ] = maz_sizes['zone_id'].take(positions + first_row_offsets) - taz_choices['MAZ_prob'] = maz_probs[np.arange(maz_probs.shape[0]), positions] - taz_choices['prob'] = taz_choices['TAZ_prob'] * taz_choices['MAZ_prob'] + taz_choices[DEST_MAZ] = maz_sizes["zone_id"].take(positions + first_row_offsets) + taz_choices["MAZ_prob"] = maz_probs[np.arange(maz_probs.shape[0]), positions] + taz_choices["prob"] = taz_choices["TAZ_prob"] * taz_choices["MAZ_prob"] if have_trace_targets: - taz_choices_trace_targets = tracing.trace_targets(taz_choices, slicer=CHOOSER_ID) + taz_choices_trace_targets = tracing.trace_targets( + taz_choices, slicer=CHOOSER_ID + ) trace_taz_choices_df = taz_choices[taz_choices_trace_targets] - tracing.trace_df(trace_taz_choices_df, - label=tracing.extend_trace_label(trace_label, 'taz_choices'), - transpose=False) + tracing.trace_df( + trace_taz_choices_df, + label=tracing.extend_trace_label(trace_label, "taz_choices"), + transpose=False, + ) lhs_df = trace_taz_choices_df[[CHOOSER_ID, DEST_TAZ]] - alt_dest_columns = [f'dest_maz_{c}' for c in range(max_maz_count)] + alt_dest_columns = [f"dest_maz_{c}" for c in range(max_maz_count)] # following the same logic as the full code, but for trace cutout trace_maz_counts = maz_counts[taz_choices_trace_targets] trace_last_row_offsets = maz_counts[taz_choices_trace_targets].cumsum() - trace_inserts = np.repeat(trace_last_row_offsets, max_maz_count - trace_maz_counts) + trace_inserts = np.repeat( + trace_last_row_offsets, max_maz_count - trace_maz_counts + ) # trace dest_maz_alts - padded_maz_sizes = np.insert(trace_maz_sizes[CHOOSER_ID].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes[CHOOSER_ID].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_alts'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_alts"), + transpose=False, + ) # trace dest_maz_size_terms - padded_maz_sizes = np.insert(trace_maz_sizes['size_term'].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes["size_term"].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_size_terms'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_size_terms"), + transpose=False, + ) # trace dest_maz_probs - df = pd.DataFrame(data=maz_probs[taz_choices_trace_targets], - columns=alt_dest_columns, index=trace_taz_choices_df.index) + df = pd.DataFrame( + data=maz_probs[taz_choices_trace_targets], + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - df['rand'] = rands[taz_choices_trace_targets] - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_probs'), transpose=False) - - taz_choices = taz_choices.drop(columns=['TAZ_prob', 'MAZ_prob']) - taz_choices = taz_choices.groupby([chooser_id_col, DEST_MAZ]).agg(prob=('prob', 'max'), - pick_count=('prob', 'count')) + df["rand"] = rands[taz_choices_trace_targets] + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_probs"), + transpose=False, + ) + + taz_choices = taz_choices.drop(columns=["TAZ_prob", "MAZ_prob"]) + taz_choices = taz_choices.groupby([chooser_id_col, DEST_MAZ]).agg( + prob=("prob", "max"), pick_count=("prob", "count") + ) taz_choices.reset_index(level=DEST_MAZ, inplace=True) @@ -387,25 +450,29 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): def destination_presample( - spec_segment_name, - choosers, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, trace_label): - - trace_label = tracing.extend_trace_label(trace_label, 'presample') - chunk_tag = 'tour_destination.presample' + spec_segment_name, + choosers, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): + + trace_label = tracing.extend_trace_label(trace_label, "presample") + chunk_tag = "tour_destination.presample" logger.info(f"{trace_label} location_presample") - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] assert DEST_TAZ != alt_dest_col_name - MAZ_size_terms, TAZ_size_terms = aggregate_size_terms(destination_size_terms, network_los) + MAZ_size_terms, TAZ_size_terms = aggregate_size_terms( + destination_size_terms, network_los + ) - orig_maz = model_settings['CHOOSER_ORIG_COL_NAME'] + orig_maz = model_settings["CHOOSER_ORIG_COL_NAME"] assert orig_maz in choosers if ORIG_TAZ not in choosers: choosers[ORIG_TAZ] = map_maz_to_taz(choosers[orig_maz], network_los) @@ -413,7 +480,7 @@ def destination_presample( # create wrapper with keys for this lookup - in this case there is a HOME_TAZ in the choosers # and a DEST_TAZ in the alternatives which get merged during interaction # the skims will be available under the name "skims" for any @ expressions - skim_dict = network_los.get_skim_dict('taz') + skim_dict = network_los.get_skim_dict("taz") skims = skim_dict.wrap(ORIG_TAZ, DEST_TAZ) taz_sample = _destination_sample( @@ -424,8 +491,10 @@ def destination_presample( estimator, model_settings, DEST_TAZ, - chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + chunk_size, + chunk_tag=chunk_tag, + trace_label=trace_label, + ) # choose a MAZ for each DEST_TAZ choice, choice probability based on MAZ size_term fraction of TAZ total maz_choices = choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label) @@ -437,36 +506,50 @@ def destination_presample( def run_destination_sample( - spec_segment_name, - tours, - persons_merged, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, trace_label): + spec_segment_name, + tours, + persons_merged, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): # FIXME - MEMORY HACK - only include columns actually used in spec (omit them pre-merge) - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] - persons_merged = persons_merged[[c for c in persons_merged.columns if c in chooser_columns]] - tours = tours[[c for c in tours.columns if c in chooser_columns or c == 'person_id']] - choosers = pd.merge(tours, persons_merged, left_on='person_id', right_index=True, how='left') + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] + persons_merged = persons_merged[ + [c for c in persons_merged.columns if c in chooser_columns] + ] + tours = tours[ + [c for c in tours.columns if c in chooser_columns or c == "person_id"] + ] + choosers = pd.merge( + tours, persons_merged, left_on="person_id", right_index=True, how="left" + ) # interaction_sample requires that choosers.index.is_monotonic_increasing if not choosers.index.is_monotonic_increasing: - logger.debug(f"run_destination_sample {trace_label} sorting choosers because not monotonic_increasing") + logger.debug( + f"run_destination_sample {trace_label} sorting choosers because not monotonic_increasing" + ) choosers = choosers.sort_index() # by default, enable presampling for multizone systems, unless they disable it in settings file pre_sample_taz = not (network_los.zone_system == los.ONE_ZONE) - if pre_sample_taz and not config.setting('want_dest_choice_presampling', True): + if pre_sample_taz and not config.setting("want_dest_choice_presampling", True): pre_sample_taz = False - logger.info(f"Disabled destination zone presampling for {trace_label} " - f"because 'want_dest_choice_presampling' setting is False") + logger.info( + f"Disabled destination zone presampling for {trace_label} " + f"because 'want_dest_choice_presampling' setting is False" + ) if pre_sample_taz: - logger.info("Running %s destination_presample with %d tours" % (trace_label, len(tours))) + logger.info( + "Running %s destination_presample with %d tours" % (trace_label, len(tours)) + ) choices = destination_presample( spec_segment_name, @@ -475,7 +558,9 @@ def run_destination_sample( network_los, destination_size_terms, estimator, - chunk_size, trace_label) + chunk_size, + trace_label, + ) else: choices = destination_sample( @@ -485,23 +570,26 @@ def run_destination_sample( network_los, destination_size_terms, estimator, - chunk_size, trace_label) + chunk_size, + trace_label, + ) # remember person_id in chosen alts so we can merge with persons in subsequent steps # (broadcasts person_id onto all alternatives sharing the same tour_id index value) - choices['person_id'] = tours.person_id + choices["person_id"] = tours.person_id return choices def run_destination_logsums( - tour_purpose, - persons_merged, - destination_sample, - model_settings, - network_los, - chunk_size, - trace_label): + tour_purpose, + persons_merged, + destination_sample, + model_settings, + network_los, + chunk_size, + trace_label, +): """ add logsum column to existing tour_destination_sample table @@ -523,82 +611,103 @@ def run_destination_logsums( +-----------+--------------+----------------+------------+----------------+ """ - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) - chunk_tag = 'tour_destination.logsums' + chunk_tag = "tour_destination.logsums" # FIXME - MEMORY HACK - only include columns actually used in spec - persons_merged = logsum.filter_chooser_columns(persons_merged, logsum_settings, model_settings) + persons_merged = logsum.filter_chooser_columns( + persons_merged, logsum_settings, model_settings + ) # merge persons into tours - choosers = pd.merge(destination_sample, - persons_merged, - left_on='person_id', - right_index=True, - how="left") + choosers = pd.merge( + destination_sample, + persons_merged, + left_on="person_id", + right_index=True, + how="left", + ) logger.info("Running %s with %s rows", trace_label, len(choosers)) - tracing.dump_df(DUMP, persons_merged, trace_label, 'persons_merged') - tracing.dump_df(DUMP, choosers, trace_label, 'choosers') + tracing.dump_df(DUMP, persons_merged, trace_label, "persons_merged") + tracing.dump_df(DUMP, choosers, trace_label, "choosers") logsums = logsum.compute_logsums( choosers, tour_purpose, - logsum_settings, model_settings, + logsum_settings, + model_settings, network_los, chunk_size, chunk_tag, - trace_label) + trace_label, + ) - destination_sample['mode_choice_logsum'] = logsums + destination_sample["mode_choice_logsum"] = logsums return destination_sample def run_destination_simulate( - spec_segment_name, - tours, - persons_merged, - destination_sample, - want_logsums, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, trace_label): + spec_segment_name, + tours, + persons_merged, + destination_sample, + want_logsums, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): """ run destination_simulate on tour_destination_sample annotated with mode_choice logsum to select a destination from sample alternatives """ - chunk_tag = 'tour_destination.simulate' + chunk_tag = "tour_destination.simulate" - model_spec = simulate.spec_for_segment(model_settings, spec_id='SPEC', - segment_name=spec_segment_name, estimator=estimator) + model_spec = simulate.spec_for_segment( + model_settings, + spec_id="SPEC", + segment_name=spec_segment_name, + estimator=estimator, + ) # FIXME - MEMORY HACK - only include columns actually used in spec (omit them pre-merge) - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] - persons_merged = persons_merged[[c for c in persons_merged.columns if c in chooser_columns]] - tours = tours[[c for c in tours.columns if c in chooser_columns or c == 'person_id']] - choosers = pd.merge(tours, persons_merged, left_on='person_id', right_index=True, how='left') + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] + persons_merged = persons_merged[ + [c for c in persons_merged.columns if c in chooser_columns] + ] + tours = tours[ + [c for c in tours.columns if c in chooser_columns or c == "person_id"] + ] + choosers = pd.merge( + tours, persons_merged, left_on="person_id", right_index=True, how="left" + ) # interaction_sample requires that choosers.index.is_monotonic_increasing if not choosers.index.is_monotonic_increasing: - logger.debug(f"run_destination_simulate {trace_label} sorting choosers because not monotonic_increasing") + logger.debug( + f"run_destination_simulate {trace_label} sorting choosers because not monotonic_increasing" + ) choosers = choosers.sort_index() if estimator: estimator.write_choosers(choosers) - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - origin_col_name = model_settings['CHOOSER_ORIG_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] + origin_col_name = model_settings["CHOOSER_ORIG_COL_NAME"] # alternatives are pre-sampled and annotated with logsums and pick_count # but we have to merge size_terms column into alt sample list - destination_sample['size_term'] = \ - reindex(destination_size_terms.size_term, destination_sample[alt_dest_col_name]) + destination_sample["size_term"] = reindex( + destination_size_terms.size_term, destination_sample[alt_dest_col_name] + ) - tracing.dump_df(DUMP, destination_sample, trace_label, 'alternatives') + tracing.dump_df(DUMP, destination_sample, trace_label, "alternatives") constants = config.get_model_constants(model_settings) @@ -611,14 +720,14 @@ def run_destination_simulate( skims = skim_dict.wrap(origin_col_name, alt_dest_col_name) locals_d = { - 'skims': skims, + "skims": skims, } if constants is not None: locals_d.update(constants) - tracing.dump_df(DUMP, choosers, trace_label, 'choosers') + tracing.dump_df(DUMP, choosers, trace_label, "choosers") - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample_simulate( choosers, @@ -629,38 +738,44 @@ def run_destination_simulate( want_logsums=want_logsums, skims=skims, locals_d=locals_d, - chunk_size=chunk_size, chunk_tag=chunk_tag, + chunk_size=chunk_size, + chunk_tag=chunk_tag, trace_label=trace_label, - trace_choice_name='destination', - estimator=estimator) + trace_choice_name="destination", + estimator=estimator, + ) if not want_logsums: # for consistency, always return a dataframe with canonical column name assert isinstance(choices, pd.Series) - choices = choices.to_frame('choice') + choices = choices.to_frame("choice") return choices def run_tour_destination( - tours, - persons_merged, - want_logsums, - want_sample_table, - model_settings, - network_los, - estimator, - chunk_size, trace_hh_id, trace_label): - - size_term_calculator = SizeTermCalculator(model_settings['SIZE_TERM_SELECTOR']) + tours, + persons_merged, + want_logsums, + want_sample_table, + model_settings, + network_los, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): + + size_term_calculator = SizeTermCalculator(model_settings["SIZE_TERM_SELECTOR"]) # maps segment names to compact (integer) ids - segments = model_settings['SEGMENTS'] + segments = model_settings["SEGMENTS"] - chooser_segment_column = model_settings.get('CHOOSER_SEGMENT_COLUMN_NAME', None) + chooser_segment_column = model_settings.get("CHOOSER_SEGMENT_COLUMN_NAME", None) if chooser_segment_column is None: - assert len(segments) == 1, \ - f"CHOOSER_SEGMENT_COLUMN_NAME not specified in model_settings to slice SEGMENTS: {segments}" + assert ( + len(segments) == 1 + ), f"CHOOSER_SEGMENT_COLUMN_NAME not specified in model_settings to slice SEGMENTS: {segments}" choices_list = [] sample_list = [] @@ -674,59 +789,65 @@ def run_tour_destination( choosers = tours.copy() # Note: size_term_calculator omits zones with impossible alternatives (where dest size term is zero) - segment_destination_size_terms = size_term_calculator.dest_size_terms_df(segment_name, segment_trace_label) + segment_destination_size_terms = size_term_calculator.dest_size_terms_df( + segment_name, segment_trace_label + ) if choosers.shape[0] == 0: - logger.info("%s skipping segment %s: no choosers", trace_label, segment_name) + logger.info( + "%s skipping segment %s: no choosers", trace_label, segment_name + ) continue # - destination_sample spec_segment_name = segment_name # spec_segment_name is segment_name - location_sample_df = \ - run_destination_sample( - spec_segment_name, - choosers, - persons_merged, - model_settings, - network_los, - segment_destination_size_terms, - estimator, - chunk_size=chunk_size, - trace_label=tracing.extend_trace_label(segment_trace_label, 'sample')) + location_sample_df = run_destination_sample( + spec_segment_name, + choosers, + persons_merged, + model_settings, + network_los, + segment_destination_size_terms, + estimator, + chunk_size=chunk_size, + trace_label=tracing.extend_trace_label(segment_trace_label, "sample"), + ) # - destination_logsums tour_purpose = segment_name # tour_purpose is segment_name - location_sample_df = \ - run_destination_logsums( - tour_purpose, - persons_merged, - location_sample_df, - model_settings, - network_los, - chunk_size=chunk_size, - trace_label=tracing.extend_trace_label(segment_trace_label, 'logsums')) + location_sample_df = run_destination_logsums( + tour_purpose, + persons_merged, + location_sample_df, + model_settings, + network_los, + chunk_size=chunk_size, + trace_label=tracing.extend_trace_label(segment_trace_label, "logsums"), + ) # - destination_simulate spec_segment_name = segment_name # spec_segment_name is segment_name - choices = \ - run_destination_simulate( - spec_segment_name, - choosers, - persons_merged, - destination_sample=location_sample_df, - want_logsums=want_logsums, - model_settings=model_settings, - network_los=network_los, - destination_size_terms=segment_destination_size_terms, - estimator=estimator, - chunk_size=chunk_size, - trace_label=tracing.extend_trace_label(segment_trace_label, 'simulate')) + choices = run_destination_simulate( + spec_segment_name, + choosers, + persons_merged, + destination_sample=location_sample_df, + want_logsums=want_logsums, + model_settings=model_settings, + network_los=network_los, + destination_size_terms=segment_destination_size_terms, + estimator=estimator, + chunk_size=chunk_size, + trace_label=tracing.extend_trace_label(segment_trace_label, "simulate"), + ) choices_list.append(choices) if want_sample_table: # FIXME - sample_table - location_sample_df.set_index(model_settings['ALT_DEST_COL_NAME'], append=True, inplace=True) + location_sample_df.set_index( + model_settings["ALT_DEST_COL_NAME"], append=True, inplace=True + ) sample_list.append(location_sample_df) else: # del this so we dont hold active reference to it while run_location_sample is creating its replacement @@ -737,7 +858,7 @@ def run_tour_destination( else: # this will only happen with small samples (e.g. singleton) with no (e.g.) school segs logger.warning("%s no choices", trace_label) - choices_df = pd.DataFrame(columns=['choice', 'logsum']) + choices_df = pd.DataFrame(columns=["choice", "logsum"]) if len(sample_list) > 0: save_sample_df = pd.concat(sample_list) diff --git a/activitysim/abm/models/util/tour_frequency.py b/activitysim/abm/models/util/tour_frequency.py index fe4ed03647..37108b564c 100644 --- a/activitysim/abm/models/util/tour_frequency.py +++ b/activitysim/abm/models/util/tour_frequency.py @@ -5,13 +5,13 @@ import numpy as np import pandas as pd -from activitysim.core.util import reindex from activitysim.abm.models.util.canonical_ids import set_tour_index +from activitysim.core.util import reindex logger = logging.getLogger(__name__) -def create_tours(tour_counts, tour_category, parent_col='person_id'): +def create_tours(tour_counts, tour_category, parent_col="person_id"): """ This method processes the tour_frequency column that comes out of the model of the same name and turns into a DataFrame that @@ -73,13 +73,15 @@ def create_tours(tour_counts, tour_category, parent_col='person_id'): # now have two rows, and zero trips yields zero rows tours = tours.take(np.repeat(tours.index.values, tours.tour_type_count.values)) - grouped = tours.groupby([parent_col, 'tour_type']) - tours['tour_type_num'] = grouped.cumcount() + 1 - tours['tour_type_count'] = tours['tour_type_num'] + grouped.cumcount(ascending=False) + grouped = tours.groupby([parent_col, "tour_type"]) + tours["tour_type_num"] = grouped.cumcount() + 1 + tours["tour_type_count"] = tours["tour_type_num"] + grouped.cumcount( + ascending=False + ) grouped = tours.groupby(parent_col) - tours['tour_num'] = grouped.cumcount() + 1 - tours['tour_count'] = tours['tour_num'] + grouped.cumcount(ascending=False) + tours["tour_num"] = grouped.cumcount() + 1 + tours["tour_count"] = tours["tour_num"] + grouped.cumcount(ascending=False) """ tour_type tour_type_num tour_type_count tour_num tour_count @@ -90,11 +92,11 @@ def create_tours(tour_counts, tour_category, parent_col='person_id'): """ # set these here to ensure consistency across different tour categories - assert tour_category in ['mandatory', 'non_mandatory', 'atwork', 'joint'] - tours['tour_category'] = tour_category + assert tour_category in ["mandatory", "non_mandatory", "atwork", "joint"] + tours["tour_category"] = tour_category # for joint tours, the correct number will be filled in after participation step - tours['number_of_participants'] = 1 + tours["number_of_participants"] = 1 # index is arbitrary but don't want any duplicates in index tours.reset_index(drop=True, inplace=True) @@ -102,7 +104,9 @@ def create_tours(tour_counts, tour_category, parent_col='person_id'): return tours -def process_tours(tour_frequency, tour_frequency_alts, tour_category, parent_col='person_id'): +def process_tours( + tour_frequency, tour_frequency_alts, tour_category, parent_col="person_id" +): """ This method processes the tour_frequency column that comes out of the model of the same name and turns into a DataFrame that @@ -191,32 +195,47 @@ def process_mandatory_tours(persons, mandatory_tour_frequency_alts): depends on the is_worker column: work tours first for workers, second for non-workers """ - person_columns = ['mandatory_tour_frequency', 'is_worker', - 'school_zone_id', 'workplace_zone_id', 'home_zone_id', 'household_id'] + person_columns = [ + "mandatory_tour_frequency", + "is_worker", + "school_zone_id", + "workplace_zone_id", + "home_zone_id", + "household_id", + ] assert not persons.mandatory_tour_frequency.isnull().any() - tours = process_tours(persons.mandatory_tour_frequency.dropna(), - mandatory_tour_frequency_alts, - tour_category='mandatory') + tours = process_tours( + persons.mandatory_tour_frequency.dropna(), + mandatory_tour_frequency_alts, + tour_category="mandatory", + ) - tours_merged = pd.merge(tours[['person_id', 'tour_type']], - persons[person_columns], - left_on='person_id', right_index=True) + tours_merged = pd.merge( + tours[["person_id", "tour_type"]], + persons[person_columns], + left_on="person_id", + right_index=True, + ) # by default work tours are first for work_and_school tours # swap tour_nums for non-workers so school tour is 1 and work is 2 - work_and_school_and_student = \ - (tours_merged.mandatory_tour_frequency == 'work_and_school') & ~tours_merged.is_worker + work_and_school_and_student = ( + tours_merged.mandatory_tour_frequency == "work_and_school" + ) & ~tours_merged.is_worker - tours.tour_num = tours.tour_num.where(~work_and_school_and_student, 3 - tours.tour_num) + tours.tour_num = tours.tour_num.where( + ~work_and_school_and_student, 3 - tours.tour_num + ) # work tours destination is workplace_zone_id, school tours destination is school_zone_id - tours['destination'] = \ - tours_merged.workplace_zone_id.where((tours_merged.tour_type == 'work'), tours_merged.school_zone_id) + tours["destination"] = tours_merged.workplace_zone_id.where( + (tours_merged.tour_type == "work"), tours_merged.school_zone_id + ) - tours['origin'] = tours_merged.home_zone_id + tours["origin"] = tours_merged.home_zone_id - tours['household_id'] = tours_merged.household_id + tours["household_id"] = tours_merged.household_id # assign stable (predictable) tour_id set_tour_index(tours) @@ -266,10 +285,10 @@ def process_non_mandatory_tours(persons, tour_counts): column names of the alternatives DataFrame supplied above. """ - tours = create_tours(tour_counts, tour_category='non_mandatory') + tours = create_tours(tour_counts, tour_category="non_mandatory") - tours['household_id'] = reindex(persons.household_id, tours.person_id) - tours['origin'] = reindex(persons.home_zone_id, tours.person_id) + tours["household_id"] = reindex(persons.household_id, tours.person_id) + tours["origin"] = reindex(persons.home_zone_id, tours.person_id) # assign stable (predictable) tour_id set_tour_index(tours) @@ -328,11 +347,13 @@ def process_atwork_subtours(work_tours, atwork_subtour_frequency_alts): eat_business 1 1 0 """ - parent_col = 'parent_tour_id' - tours = process_tours(work_tours.atwork_subtour_frequency.dropna(), - atwork_subtour_frequency_alts, - tour_category='atwork', - parent_col=parent_col) + parent_col = "parent_tour_id" + tours = process_tours( + work_tours.atwork_subtour_frequency.dropna(), + atwork_subtour_frequency_alts, + tour_category="atwork", + parent_col=parent_col, + ) # print tours """ @@ -349,13 +370,14 @@ def process_atwork_subtours(work_tours, atwork_subtour_frequency_alts): """ # merge fields from parent work_tours (note parent tour destination becomes subtour origin) - work_tours = work_tours[['person_id', 'household_id', 'tour_num', 'destination']] - work_tours.rename(columns={'tour_num': 'parent_tour_num', - 'destination': 'origin'}, inplace=True) + work_tours = work_tours[["person_id", "household_id", "tour_num", "destination"]] + work_tours.rename( + columns={"tour_num": "parent_tour_num", "destination": "origin"}, inplace=True + ) tours = pd.merge(tours, work_tours, left_on=parent_col, right_index=True) # assign stable (predictable) tour_id - set_tour_index(tours, parent_tour_num_col='parent_tour_num') + set_tour_index(tours, parent_tour_num_col="parent_tour_num") """ person_id tour_type tour_type_count tour_type_num tour_num tour_count @@ -371,7 +393,7 @@ def process_atwork_subtours(work_tours, atwork_subtour_frequency_alts): """ # don't need this once we have computed index - del tours['parent_tour_num'] + del tours["parent_tour_num"] return tours @@ -405,17 +427,19 @@ def process_joint_tours(joint_tour_frequency, joint_tour_frequency_alts, point_p assert not joint_tour_frequency.isnull().any() - tours = process_tours(joint_tour_frequency.dropna(), - joint_tour_frequency_alts, - tour_category='joint', - parent_col='household_id') + tours = process_tours( + joint_tour_frequency.dropna(), + joint_tour_frequency_alts, + tour_category="joint", + parent_col="household_id", + ) assert not tours.index.duplicated().any() - assert point_persons.index.name == 'household_id' + assert point_persons.index.name == "household_id" # - assign a temp point person to tour so we can create stable index - tours['person_id'] = reindex(point_persons.person_id, tours.household_id) - tours['origin'] = reindex(point_persons.home_zone_id, tours.household_id) + tours["person_id"] = reindex(point_persons.person_id, tours.household_id) + tours["origin"] = reindex(point_persons.home_zone_id, tours.household_id) # assign stable (predictable) tour_id set_tour_index(tours, is_joint=True) diff --git a/activitysim/abm/models/util/tour_od.py b/activitysim/abm/models/util/tour_od.py index 0db7e01d74..55cc9a4a00 100644 --- a/activitysim/abm/models/util/tour_od.py +++ b/activitysim/abm/models/util/tour_od.py @@ -2,65 +2,70 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd from orca import orca -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import logit -from activitysim.core import los -from activitysim.core import expressions - -from activitysim.core.util import reindex - -from activitysim.core.interaction_sample_simulate \ - import interaction_sample_simulate -from activitysim.core.interaction_sample import interaction_sample - -from . import trip, logsums as logsum - from activitysim.abm.tables.size_terms import tour_destination_size_terms +from activitysim.core import ( + config, + expressions, + inject, + logit, + los, + pipeline, + simulate, + tracing, +) +from activitysim.core.interaction_sample import interaction_sample +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.core.util import reindex +from . import logsums as logsum +from . import trip logger = logging.getLogger(__name__) DUMP = False # temp column names for presampling -DEST_MAZ = 'dest_MAZ' -DEST_TAZ = 'dest_TAZ' +DEST_MAZ = "dest_MAZ" +DEST_TAZ = "dest_TAZ" # likewise a temp, but if already in choosers, # we assume we can use it opportunistically -ORIG_TAZ = 'orig_TAZ' -ORIG_MAZ = 'orig_MAZ' -ORIG_TAZ_EXT = 'orig_TAZ_ext' +ORIG_TAZ = "orig_TAZ" +ORIG_MAZ = "orig_MAZ" +ORIG_TAZ_EXT = "orig_TAZ_ext" def get_od_id_col(origin_col, destination_col): - colname = '{0}_{1}'.format(origin_col, destination_col) + colname = "{0}_{1}".format(origin_col, destination_col) return colname def create_od_id_col(df, origin_col, destination_col): - return df[origin_col].astype(str) + '_' + df[destination_col].astype(str) + return df[origin_col].astype(str) + "_" + df[destination_col].astype(str) -def _get_od_cols_from_od_id(df, orig_col_name=None, dest_col_name=None, od_id_col='choice'): +def _get_od_cols_from_od_id( + df, orig_col_name=None, dest_col_name=None, od_id_col="choice" +): - df[orig_col_name] = df[od_id_col].str.split('_').str[0].astype(int) - df[dest_col_name] = df[od_id_col].str.split('_').str[1].astype(int) + df[orig_col_name] = df[od_id_col].str.split("_").str[0].astype(int) + df[dest_col_name] = df[od_id_col].str.split("_").str[1].astype(int) return df def _create_od_alts_from_dest_size_terms( - size_terms_df, segment_name, od_id_col=None, - origin_id_col='origin', dest_id_col='destination', - origin_filter=None, origin_attr_cols=None): + size_terms_df, + segment_name, + od_id_col=None, + origin_id_col="origin", + dest_id_col="destination", + origin_filter=None, + origin_attr_cols=None, +): """ Extend destination size terms to create dataframe representing the cartesian product of tour origins and destinations. Actual "Size Terms" @@ -68,7 +73,7 @@ def _create_od_alts_from_dest_size_terms( attributes of the origins can be preserved. """ - land_use = inject.get_table('land_use').to_frame(columns=origin_attr_cols) + land_use = inject.get_table("land_use").to_frame(columns=origin_attr_cols) if origin_filter: origins = land_use.query(origin_filter) @@ -86,7 +91,9 @@ def _create_od_alts_from_dest_size_terms( new_index_name = get_od_id_col(origin_id_col, dest_id_col) else: new_index_name = od_id_col - od_alts[new_index_name] = od_alts[origin_id_col].astype(str) + '_' + od_alts[dest_id_col].astype(str) + od_alts[new_index_name] = ( + od_alts[origin_id_col].astype(str) + "_" + od_alts[dest_id_col].astype(str) + ) od_alts.set_index(new_index_name, inplace=True) # manually add origin attributes to output since these can't be generated by @@ -96,31 +103,37 @@ def _create_od_alts_from_dest_size_terms( land_use.reset_index(inplace=True) od_alts.reset_index(inplace=True) od_alts = pd.merge( - od_alts, land_use[origin_attr_cols + [origin_id_col]], - on=origin_id_col, how='left').set_index(new_index_name) + od_alts, + land_use[origin_attr_cols + [origin_id_col]], + on=origin_id_col, + how="left", + ).set_index(new_index_name) return od_alts def _od_sample( - spec_segment_name, - choosers, - network_los, - destination_size_terms, - origin_id_col, - dest_id_col, - skims, - estimator, + spec_segment_name, + choosers, + network_los, + destination_size_terms, + origin_id_col, + dest_id_col, + skims, + estimator, + model_settings, + alt_od_col_name, + chunk_size, + chunk_tag, + trace_label, +): + + model_spec = simulate.spec_for_segment( model_settings, - alt_od_col_name, - chunk_size, - chunk_tag, - trace_label): - - model_spec = simulate.spec_for_segment(model_settings, - spec_id='SAMPLE_SPEC', - segment_name=spec_segment_name, - estimator=estimator) + spec_id="SAMPLE_SPEC", + segment_name=spec_segment_name, + estimator=estimator, + ) if alt_od_col_name is None: alt_col_name = get_od_id_col(origin_id_col, dest_id_col) else: @@ -128,33 +141,38 @@ def _od_sample( logger.info("running %s with %d tours", trace_label, len(choosers)) - sample_size = model_settings['SAMPLE_SIZE'] - if config.setting('disable_destination_sampling', False) or ( - estimator and estimator.want_unsampled_alternatives): + sample_size = model_settings["SAMPLE_SIZE"] + if config.setting("disable_destination_sampling", False) or ( + estimator and estimator.want_unsampled_alternatives + ): # FIXME interaction_sample will return unsampled complete alternatives # with probs and pick_count - logger.info(( - "Estimation mode for %s using unsampled alternatives " - "short_circuit_choices") % trace_label) + logger.info( + ( + "Estimation mode for %s using unsampled alternatives " + "short_circuit_choices" + ) + % trace_label + ) sample_size = 0 - locals_d = { - 'skims': skims - } + locals_d = {"skims": skims} constants = config.get_model_constants(model_settings) if constants is not None: locals_d.update(constants) - origin_filter = model_settings.get('ORIG_FILTER', None) - origin_attr_cols = model_settings['ORIGIN_ATTR_COLS_TO_USE'] + origin_filter = model_settings.get("ORIG_FILTER", None) + origin_attr_cols = model_settings["ORIGIN_ATTR_COLS_TO_USE"] od_alts_df = _create_od_alts_from_dest_size_terms( - destination_size_terms, spec_segment_name, + destination_size_terms, + spec_segment_name, od_id_col=alt_col_name, origin_id_col=origin_id_col, dest_id_col=dest_id_col, origin_filter=origin_filter, - origin_attr_cols=origin_attr_cols) + origin_attr_cols=origin_attr_cols, + ) if skims.orig_key == ORIG_TAZ: od_alts_df[ORIG_TAZ] = map_maz_to_taz(od_alts_df[origin_id_col], network_los) @@ -172,25 +190,28 @@ def _od_sample( locals_d=locals_d, chunk_size=chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) return choices def od_sample( - spec_segment_name, - choosers, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, trace_label): - - chunk_tag = 'tour_od.sample' - - origin_col_name = model_settings['ORIG_COL_NAME'] - dest_col_name = model_settings['DEST_COL_NAME'] - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + spec_segment_name, + choosers, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): + + chunk_tag = "tour_od.sample" + + origin_col_name = model_settings["ORIG_COL_NAME"] + dest_col_name = model_settings["DEST_COL_NAME"] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] skim_dict = network_los.get_default_skim_dict() skims = skim_dict.wrap(origin_col_name, dest_col_name) @@ -210,31 +231,40 @@ def od_sample( alt_od_col_name, chunk_size, chunk_tag, - trace_label) + trace_label, + ) - choices[origin_col_name] = choices[alt_od_col_name].str.split('_').str[0].astype(int) - choices[dest_col_name] = choices[alt_od_col_name].str.split('_').str[1].astype(int) + choices[origin_col_name] = ( + choices[alt_od_col_name].str.split("_").str[0].astype(int) + ) + choices[dest_col_name] = choices[alt_od_col_name].str.split("_").str[1].astype(int) return choices def map_maz_to_taz(s, network_los): - maz_to_taz = network_los.maz_taz_df[['MAZ', 'TAZ']].set_index('MAZ').TAZ + maz_to_taz = network_los.maz_taz_df[["MAZ", "TAZ"]].set_index("MAZ").TAZ return s.map(maz_to_taz) def map_maz_to_ext_taz(s): - land_use = inject.get_table('land_use').to_frame(columns=['external_TAZ']).external_TAZ + land_use = ( + inject.get_table("land_use").to_frame(columns=["external_TAZ"]).external_TAZ + ) return s.map(land_use).astype(int) def map_maz_to_ext_maz(s): - land_use = inject.get_table('land_use').to_frame(columns=['external_MAZ']).external_MAZ + land_use = ( + inject.get_table("land_use").to_frame(columns=["external_MAZ"]).external_MAZ + ) return s.map(land_use).astype(int) def map_ext_maz_to_maz(s): - land_use = inject.get_table('land_use').to_frame(columns=['original_MAZ']).original_MAZ + land_use = ( + inject.get_table("land_use").to_frame(columns=["original_MAZ"]).original_MAZ + ) return s.map(land_use).astype(int) @@ -247,8 +277,8 @@ def aggregate_size_terms(dest_size_terms, network_los): MAZ_size_terms[DEST_TAZ] = map_maz_to_taz(MAZ_size_terms.index, network_los) # aggregate to TAZ - TAZ_size_terms = MAZ_size_terms.groupby(DEST_TAZ).agg({'size_term': 'sum'}) - assert not TAZ_size_terms['size_term'].isna().any() + TAZ_size_terms = MAZ_size_terms.groupby(DEST_TAZ).agg({"size_term": "sum"}) + assert not TAZ_size_terms["size_term"].isna().any() # size_term # dest_TAZ @@ -258,8 +288,10 @@ def aggregate_size_terms(dest_size_terms, network_los): # add crosswalk DEST_TAZ column to MAZ_size_terms # MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, 'size_term']) # maybe helpful for debugging - MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, 'size_term']].reset_index(drop=False) - MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, 'zone_id']).reset_index(drop=True) + MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, "size_term"]].reset_index(drop=False) + MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, "zone_id"]).reset_index( + drop=True + ) # zone_id dest_TAZ size_term # 0 6097 2 10.0 @@ -273,10 +305,12 @@ def aggregate_size_terms(dest_size_terms, network_los): def choose_MAZ_for_TAZ( - taz_sample, MAZ_size_terms, trace_label, - addtl_col_for_unique_key=None, - dest_maz_id_col=DEST_MAZ, - ): + taz_sample, + MAZ_size_terms, + trace_label, + addtl_col_for_unique_key=None, + dest_maz_id_col=DEST_MAZ, +): """ Convert taz_sample table with TAZ zone sample choices to a table with a MAZ zone chosen for each TAZ choose MAZ probabilistically (proportionally by size_term) from set of MAZ zones in parent TAZ @@ -304,16 +338,20 @@ def choose_MAZ_for_TAZ( trace_hh_id = inject.get_injectable("trace_hh_id", None) have_trace_targets = trace_hh_id and tracing.has_trace_targets(taz_sample) if have_trace_targets: - trace_label = tracing.extend_trace_label(trace_label, 'choose_MAZ_for_TAZ') + trace_label = tracing.extend_trace_label(trace_label, "choose_MAZ_for_TAZ") - CHOOSER_ID = taz_sample.index.name # zone_id for tours, but person_id for location choice + CHOOSER_ID = ( + taz_sample.index.name + ) # zone_id for tours, but person_id for location choice assert CHOOSER_ID is not None # write taz choices, pick_counts, probs trace_targets = tracing.trace_targets(taz_sample) - tracing.trace_df(taz_sample[trace_targets], - label=tracing.extend_trace_label(trace_label, 'taz_sample'), - transpose=False) + tracing.trace_df( + taz_sample[trace_targets], + label=tracing.extend_trace_label(trace_label, "taz_sample"), + transpose=False, + ) if addtl_col_for_unique_key is None: addtl_col_for_unique_key = [] @@ -321,9 +359,13 @@ def choose_MAZ_for_TAZ( addtl_col_for_unique_key = [addtl_col_for_unique_key] # redupe taz_sample[[DEST_TAZ, 'prob']] using pick_count to repeat rows - taz_choices = taz_sample[[DEST_TAZ, 'prob'] + addtl_col_for_unique_key].reset_index(drop=False) - taz_choices = taz_choices.reindex(taz_choices.index.repeat(taz_sample.pick_count)).reset_index(drop=True) - taz_choices = taz_choices.rename(columns={'prob': 'TAZ_prob'}) + taz_choices = taz_sample[[DEST_TAZ, "prob"] + addtl_col_for_unique_key].reset_index( + drop=False + ) + taz_choices = taz_choices.reindex( + taz_choices.index.repeat(taz_sample.pick_count) + ).reset_index(drop=True) + taz_choices = taz_choices.rename(columns={"prob": "TAZ_prob"}) # print(f"taz_choices\n{taz_choices}") # tour_id dest_TAZ TAZ_prob @@ -340,7 +382,9 @@ def choose_MAZ_for_TAZ( # 2 24251 2 10.904 # just to make it clear we are siloing choices by chooser_id - chooser_id_col = taz_sample.index.name # should be canonical chooser index name (e.g. 'person_id') + chooser_id_col = ( + taz_sample.index.name + ) # should be canonical chooser index name (e.g. 'person_id') # for random_for_df, we need df with de-duplicated chooser canonical index chooser_df = pd.DataFrame(index=taz_sample.index[~taz_sample.index.duplicated()]) @@ -352,15 +396,23 @@ def choose_MAZ_for_TAZ( taz_sample_size = taz_choices.groupby(chooser_id_col)[DEST_TAZ].count().max() # taz_choices index values should be contiguous - assert (taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size)).all() + assert ( + taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size) + ).all() # we need to choose a MAZ for each DEST_TAZ choice # probability of choosing MAZ based on MAZ size_term fraction of TAZ total # there will be a different set (and number) of candidate MAZs for each TAZ # (preserve index, which will have duplicates as result of join) # maz_sizes.index is the integer offset into taz_choices of the taz for which the maz_size row is a candidate) - maz_sizes = pd.merge(taz_choices[[chooser_id_col, DEST_TAZ] + addtl_col_for_unique_key].reset_index(), - MAZ_size_terms, how='left', on=DEST_TAZ).set_index('index') + maz_sizes = pd.merge( + taz_choices[ + [chooser_id_col, DEST_TAZ] + addtl_col_for_unique_key + ].reset_index(), + MAZ_size_terms, + how="left", + on=DEST_TAZ, + ).set_index("index") # tour_id dest_TAZ zone_id size_term # index @@ -375,9 +427,11 @@ def choose_MAZ_for_TAZ( maz_sizes_trace_targets = tracing.trace_targets(maz_sizes, slicer=CHOOSER_ID) trace_maz_sizes = maz_sizes[maz_sizes_trace_targets] - tracing.trace_df(trace_maz_sizes, - label=tracing.extend_trace_label(trace_label, 'maz_sizes'), - transpose=False) + tracing.trace_df( + trace_maz_sizes, + label=tracing.extend_trace_label(trace_label, "maz_sizes"), + transpose=False, + ) # number of DEST_TAZ candidates per chooser maz_counts = maz_sizes.groupby(maz_sizes.index).size().values @@ -395,7 +449,9 @@ def choose_MAZ_for_TAZ( inserts = np.repeat(last_row_offsets, max_maz_count - maz_counts) # insert zero filler to pad each alternative set to same size - padded_maz_sizes = np.insert(maz_sizes.size_term.values, inserts, 0.0).reshape(-1, max_maz_count) + padded_maz_sizes = np.insert(maz_sizes.size_term.values, inserts, 0.0).reshape( + -1, max_maz_count + ) # prob array with one row TAZ_choice, one column per alternative row_sums = padded_maz_sizes.sum(axis=1) @@ -417,51 +473,82 @@ def choose_MAZ_for_TAZ( # this take can choose same dest more than once (choice with replacement) # this is why you need the groupby later on, which is why the prob is a max - taz_choices[DEST_MAZ] = maz_sizes['zone_id'].take(positions + first_row_offsets) - taz_choices['MAZ_prob'] = maz_probs[np.arange(maz_probs.shape[0]), positions] - taz_choices['prob'] = taz_choices['TAZ_prob'] * taz_choices['MAZ_prob'] + taz_choices[DEST_MAZ] = maz_sizes["zone_id"].take(positions + first_row_offsets) + taz_choices["MAZ_prob"] = maz_probs[np.arange(maz_probs.shape[0]), positions] + taz_choices["prob"] = taz_choices["TAZ_prob"] * taz_choices["MAZ_prob"] if have_trace_targets: - taz_choices_trace_targets = tracing.trace_targets(taz_choices, slicer=CHOOSER_ID) + taz_choices_trace_targets = tracing.trace_targets( + taz_choices, slicer=CHOOSER_ID + ) trace_taz_choices_df = taz_choices[taz_choices_trace_targets] - tracing.trace_df(trace_taz_choices_df, - label=tracing.extend_trace_label(trace_label, 'taz_choices'), - transpose=False) + tracing.trace_df( + trace_taz_choices_df, + label=tracing.extend_trace_label(trace_label, "taz_choices"), + transpose=False, + ) lhs_df = trace_taz_choices_df[[CHOOSER_ID, DEST_TAZ] + addtl_col_for_unique_key] - alt_dest_columns = [f'dest_maz_{c}' for c in range(max_maz_count)] + alt_dest_columns = [f"dest_maz_{c}" for c in range(max_maz_count)] # following the same logic as the full code, but for trace cutout trace_maz_counts = maz_counts[taz_choices_trace_targets] trace_last_row_offsets = maz_counts[taz_choices_trace_targets].cumsum() - trace_inserts = np.repeat(trace_last_row_offsets, max_maz_count - trace_maz_counts) + trace_inserts = np.repeat( + trace_last_row_offsets, max_maz_count - trace_maz_counts + ) # trace dest_maz_alts - padded_maz_sizes = np.insert(trace_maz_sizes[CHOOSER_ID].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes[CHOOSER_ID].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_alts'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_alts"), + transpose=False, + ) # trace dest_maz_size_terms - padded_maz_sizes = np.insert(trace_maz_sizes['size_term'].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes["size_term"].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_size_terms'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_size_terms"), + transpose=False, + ) # trace dest_maz_probs - df = pd.DataFrame(data=maz_probs[taz_choices_trace_targets], - columns=alt_dest_columns, index=trace_taz_choices_df.index) + df = pd.DataFrame( + data=maz_probs[taz_choices_trace_targets], + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - df['rand'] = rands[taz_choices_trace_targets] - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_probs'), transpose=False) - - taz_choices = taz_choices.drop(columns=['TAZ_prob', 'MAZ_prob']) - taz_choices_w_maz = taz_choices.groupby([chooser_id_col, dest_maz_id_col] + addtl_col_for_unique_key).agg( - prob=('prob', 'first'), - pick_count=('prob', 'count')) + df["rand"] = rands[taz_choices_trace_targets] + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_probs"), + transpose=False, + ) + + taz_choices = taz_choices.drop(columns=["TAZ_prob", "MAZ_prob"]) + taz_choices_w_maz = taz_choices.groupby( + [chooser_id_col, dest_maz_id_col] + addtl_col_for_unique_key + ).agg(prob=("prob", "first"), pick_count=("prob", "count")) taz_choices_w_maz.reset_index(inplace=True) taz_choices_w_maz.set_index(chooser_id_col, inplace=True) @@ -470,28 +557,31 @@ def choose_MAZ_for_TAZ( def od_presample( - spec_segment_name, - choosers, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, - trace_label): - - trace_label = tracing.extend_trace_label(trace_label, 'presample') - chunk_tag = 'tour_od.presample' + spec_segment_name, + choosers, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): + + trace_label = tracing.extend_trace_label(trace_label, "presample") + chunk_tag = "tour_od.presample" logger.info(f"{trace_label} od_presample") alt_od_col_name = get_od_id_col(ORIG_MAZ, DEST_TAZ) - MAZ_size_terms, TAZ_size_terms = aggregate_size_terms(destination_size_terms, network_los) + MAZ_size_terms, TAZ_size_terms = aggregate_size_terms( + destination_size_terms, network_los + ) # create wrapper with keys for this lookup - in this case there is a ORIG_TAZ # in the choosers and a DEST_TAZ in the alternatives which get merged during # interaction the skims will be available under the name "skims" for any @ expressions - skim_dict = network_los.get_skim_dict('taz') + skim_dict = network_los.get_skim_dict("taz") skims = skim_dict.wrap(ORIG_TAZ, DEST_TAZ) orig_MAZ_dest_TAZ_sample = _od_sample( @@ -507,25 +597,34 @@ def od_presample( alt_od_col_name, chunk_size, chunk_tag, - trace_label) + trace_label, + ) - orig_MAZ_dest_TAZ_sample[ORIG_MAZ] = orig_MAZ_dest_TAZ_sample[alt_od_col_name].str.split('_').str[0].astype(int) - orig_MAZ_dest_TAZ_sample[DEST_TAZ] = orig_MAZ_dest_TAZ_sample[alt_od_col_name].str.split('_').str[1].astype(int) + orig_MAZ_dest_TAZ_sample[ORIG_MAZ] = ( + orig_MAZ_dest_TAZ_sample[alt_od_col_name].str.split("_").str[0].astype(int) + ) + orig_MAZ_dest_TAZ_sample[DEST_TAZ] = ( + orig_MAZ_dest_TAZ_sample[alt_od_col_name].str.split("_").str[1].astype(int) + ) # choose a MAZ for each DEST_TAZ choice, choice probability based on # MAZ size_term fraction of TAZ total maz_choices = choose_MAZ_for_TAZ( - orig_MAZ_dest_TAZ_sample, MAZ_size_terms, trace_label, - addtl_col_for_unique_key=ORIG_MAZ) + orig_MAZ_dest_TAZ_sample, + MAZ_size_terms, + trace_label, + addtl_col_for_unique_key=ORIG_MAZ, + ) # outputs assert DEST_MAZ in maz_choices - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - chooser_orig_col_name = model_settings['CHOOSER_ORIG_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] + chooser_orig_col_name = model_settings["CHOOSER_ORIG_COL_NAME"] maz_choices = maz_choices.rename( - columns={DEST_MAZ: alt_dest_col_name, ORIG_MAZ: chooser_orig_col_name}) + columns={DEST_MAZ: alt_dest_col_name, ORIG_MAZ: chooser_orig_col_name} + ) return maz_choices @@ -540,11 +639,12 @@ class SizeTermCalculator(object): def __init__(self, size_term_selector): # do this once so they can request size_terms for various segments (tour_type or purpose) - land_use = inject.get_table('land_use') + land_use = inject.get_table("land_use") self.land_use = land_use - size_terms = inject.get_injectable('size_terms') - self.destination_size_terms = \ - tour_destination_size_terms(self.land_use, size_terms, size_term_selector) + size_terms = inject.get_injectable("size_terms") + self.destination_size_terms = tour_destination_size_terms( + self.land_use, size_terms, size_term_selector + ) assert not self.destination_size_terms.isna().any(axis=None) @@ -556,15 +656,19 @@ def dest_size_terms_df(self, segment_name, trace_label): # convenient if creating or merging with alts size_terms = self.destination_size_terms[[segment_name]].copy() - size_terms.columns = ['size_term'] + size_terms.columns = ["size_term"] # FIXME - no point in considering impossible alternatives (where dest size term is zero) - logger.debug(f"SizeTermCalculator dropping {(~(size_terms.size_term > 0)).sum()} " - f"of {len(size_terms)} rows where size_term is zero for {segment_name}") + logger.debug( + f"SizeTermCalculator dropping {(~(size_terms.size_term > 0)).sum()} " + f"of {len(size_terms)} rows where size_term is zero for {segment_name}" + ) size_terms = size_terms[size_terms.size_term > 0] if len(size_terms) == 0: - logger.warning(f"SizeTermCalculator: no zones with non-zero size terms for {segment_name} in {trace_label}") + logger.warning( + f"SizeTermCalculator: no zones with non-zero size terms for {segment_name} in {trace_label}" + ) return size_terms @@ -575,38 +679,49 @@ def dest_size_terms_series(self, segment_name): def run_od_sample( - spec_segment_name, - tours, + spec_segment_name, + tours, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): + + model_spec = simulate.spec_for_segment( model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, - trace_label): - - model_spec = simulate.spec_for_segment(model_settings, spec_id='SAMPLE_SPEC', - segment_name=spec_segment_name, estimator=estimator) + spec_id="SAMPLE_SPEC", + segment_name=spec_segment_name, + estimator=estimator, + ) choosers = tours # FIXME - MEMORY HACK - only include columns actually used in spec - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] choosers = choosers[chooser_columns] # interaction_sample requires that choosers.index.is_monotonic_increasing if not choosers.index.is_monotonic_increasing: - logger.debug(f"run_destination_sample {trace_label} sorting choosers because not monotonic_increasing") + logger.debug( + f"run_destination_sample {trace_label} sorting choosers because not monotonic_increasing" + ) choosers = choosers.sort_index() # by default, enable presampling for multizone systems, unless they disable it in settings file pre_sample_taz = not (network_los.zone_system == los.ONE_ZONE) - if pre_sample_taz and not config.setting('want_dest_choice_presampling', True): + if pre_sample_taz and not config.setting("want_dest_choice_presampling", True): pre_sample_taz = False - logger.info(f"Disabled destination zone presampling for {trace_label} " - f"because 'want_dest_choice_presampling' setting is False") + logger.info( + f"Disabled destination zone presampling for {trace_label} " + f"because 'want_dest_choice_presampling' setting is False" + ) if pre_sample_taz: - logger.info("Running %s destination_presample with %d tours" % (trace_label, len(tours))) + logger.info( + "Running %s destination_presample with %d tours" % (trace_label, len(tours)) + ) choices = od_presample( spec_segment_name, @@ -616,7 +731,8 @@ def run_od_sample( destination_size_terms, estimator, chunk_size, - trace_label) + trace_label, + ) else: choices = od_sample( @@ -626,89 +742,107 @@ def run_od_sample( network_los, destination_size_terms, estimator, - chunk_size, trace_label) + chunk_size, + trace_label, + ) return choices def run_od_logsums( - spec_segment_name, - tours_merged_df, - od_sample, - model_settings, - network_los, - estimator, - chunk_size, - trace_hh_id, - trace_label): + spec_segment_name, + tours_merged_df, + od_sample, + model_settings, + network_los, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): """ add logsum column to existing tour_destination_sample table logsum is calculated by running the mode_choice model for each sample (person, OD_id) pair in od_sample, and computing the logsum of all the utilities """ - chunk_tag = 'tour_od.logsums' - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) - origin_id_col = model_settings['ORIG_COL_NAME'] - dest_id_col = model_settings['DEST_COL_NAME'] + chunk_tag = "tour_od.logsums" + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) + origin_id_col = model_settings["ORIG_COL_NAME"] + dest_id_col = model_settings["DEST_COL_NAME"] tour_od_id_col = get_od_id_col(origin_id_col, dest_id_col) # FIXME - MEMORY HACK - only include columns actually used in spec - tours_merged_df = \ - logsum.filter_chooser_columns(tours_merged_df, logsum_settings, model_settings) + tours_merged_df = logsum.filter_chooser_columns( + tours_merged_df, logsum_settings, model_settings + ) # merge ods into choosers table - choosers = od_sample.join(tours_merged_df, how='left') - choosers[tour_od_id_col] = choosers[origin_id_col].astype(str) + '_' + choosers[dest_id_col].astype(str) + choosers = od_sample.join(tours_merged_df, how="left") + choosers[tour_od_id_col] = ( + choosers[origin_id_col].astype(str) + "_" + choosers[dest_id_col].astype(str) + ) logger.info("Running %s with %s rows", trace_label, len(choosers)) - tracing.dump_df(DUMP, choosers, trace_label, 'choosers') + tracing.dump_df(DUMP, choosers, trace_label, "choosers") # run trip mode choice to compute tour mode choice logsums - if logsum_settings.get('COMPUTE_TRIP_MODE_CHOICE_LOGSUMS', False): + if logsum_settings.get("COMPUTE_TRIP_MODE_CHOICE_LOGSUMS", False): pseudo_tours = choosers.copy() - trip_mode_choice_settings = config.read_model_settings('trip_mode_choice') + trip_mode_choice_settings = config.read_model_settings("trip_mode_choice") # tours_merged table doesn't yet have all the cols it needs to be called (e.g. # home_zone_id), so in order to compute tour mode choice/trip mode choice logsums # in this step we have to pass all tour-level attributes in with the main trips # table. see trip_mode_choice.py L56-61 for more details. - tour_cols_needed = trip_mode_choice_settings.get('TOURS_MERGED_CHOOSER_COLUMNS', []) + tour_cols_needed = trip_mode_choice_settings.get( + "TOURS_MERGED_CHOOSER_COLUMNS", [] + ) tour_cols_needed.append(tour_od_id_col) # from tour_mode_choice.py - not_university = (pseudo_tours.tour_type != 'school') | ~pseudo_tours.is_university - pseudo_tours['tour_purpose'] = \ - pseudo_tours.tour_type.where(not_university, 'univ') - - pseudo_tours['stop_frequency'] = '0out_0in' - pseudo_tours['primary_purpose'] = pseudo_tours['tour_purpose'] + not_university = ( + pseudo_tours.tour_type != "school" + ) | ~pseudo_tours.is_university + pseudo_tours["tour_purpose"] = pseudo_tours.tour_type.where( + not_university, "univ" + ) + + pseudo_tours["stop_frequency"] = "0out_0in" + pseudo_tours["primary_purpose"] = pseudo_tours["tour_purpose"] choosers_og_index = choosers.index.name pseudo_tours.reset_index(inplace=True) - pseudo_tours.index.name = 'unique_id' + pseudo_tours.index.name = "unique_id" # need dest_id_col to create dest col in trips, but need to preserve # tour dest as separate column in the trips table bc the trip mode choice # preprocessor isn't able to get the tour dest from the tours table bc the # tours don't yet have ODs. - stop_frequency_alts = inject.get_injectable('stop_frequency_alts') - pseudo_tours['tour_destination'] = pseudo_tours[dest_id_col] + stop_frequency_alts = inject.get_injectable("stop_frequency_alts") + pseudo_tours["tour_destination"] = pseudo_tours[dest_id_col] trips = trip.initialize_from_tours( - pseudo_tours, stop_frequency_alts, - [origin_id_col, dest_id_col, 'tour_destination', 'unique_id']) - outbound = trips['outbound'] - trips['depart'] = reindex(pseudo_tours.start, trips.unique_id) - trips.loc[~outbound, 'depart'] = reindex(pseudo_tours.end, trips.loc[~outbound, 'unique_id']) + pseudo_tours, + stop_frequency_alts, + [origin_id_col, dest_id_col, "tour_destination", "unique_id"], + ) + outbound = trips["outbound"] + trips["depart"] = reindex(pseudo_tours.start, trips.unique_id) + trips.loc[~outbound, "depart"] = reindex( + pseudo_tours.end, trips.loc[~outbound, "unique_id"] + ) logsum_trips = pd.DataFrame() nest_spec = config.get_logit_model_settings(logsum_settings) # actual coeffs dont matter here, just need them to load the nest structure coefficients = simulate.get_segment_coefficients( - logsum_settings, pseudo_tours.iloc[0]['tour_purpose']) - nest_spec = simulate.eval_nest_coefficients(nest_spec, coefficients, trace_label) + logsum_settings, pseudo_tours.iloc[0]["tour_purpose"] + ) + nest_spec = simulate.eval_nest_coefficients( + nest_spec, coefficients, trace_label + ) tour_mode_alts = [] for nest in logit.each_nest(nest_spec): if nest.is_leaf: @@ -716,41 +850,47 @@ def run_od_logsums( # repeat rows from the trips table iterating over tour mode for tour_mode in tour_mode_alts: - trips['tour_mode'] = tour_mode + trips["tour_mode"] = tour_mode logsum_trips = pd.concat((logsum_trips, trips), ignore_index=True) assert len(logsum_trips) == len(trips) * len(tour_mode_alts) - logsum_trips.index.name = 'trip_id' + logsum_trips.index.name = "trip_id" for col in tour_cols_needed: if col not in trips: logsum_trips[col] = reindex(pseudo_tours[col], logsum_trips.unique_id) - pipeline.replace_table('trips', logsum_trips) - tracing.register_traceable_table('trips', logsum_trips) - pipeline.get_rn_generator().add_channel('trips', logsum_trips) + pipeline.replace_table("trips", logsum_trips) + tracing.register_traceable_table("trips", logsum_trips) + pipeline.get_rn_generator().add_channel("trips", logsum_trips) # run trip mode choice on pseudo-trips. use orca instead of pipeline to # execute the step because pipeline can only handle one open step at a time - orca.run(['trip_mode_choice']) + orca.run(["trip_mode_choice"]) # grab trip mode choice logsums and pivot by tour mode and direction, index # on tour_id to enable merge back to choosers table - trips = inject.get_table('trips').to_frame() + trips = inject.get_table("trips").to_frame() trip_dir_mode_logsums = trips.pivot( - index=['tour_id', tour_od_id_col], columns=['tour_mode', 'outbound'], values='trip_mode_choice_logsum') + index=["tour_id", tour_od_id_col], + columns=["tour_mode", "outbound"], + values="trip_mode_choice_logsum", + ) new_cols = [ - '_'.join(['logsum', mode, 'outbound' if outbound else 'inbound']) - for mode, outbound in trip_dir_mode_logsums.columns] + "_".join(["logsum", mode, "outbound" if outbound else "inbound"]) + for mode, outbound in trip_dir_mode_logsums.columns + ] trip_dir_mode_logsums.columns = new_cols choosers.reset_index(inplace=True) - choosers.set_index(['tour_id', tour_od_id_col], inplace=True) - choosers = pd.merge(choosers, trip_dir_mode_logsums, left_index=True, right_index=True) + choosers.set_index(["tour_id", tour_od_id_col], inplace=True) + choosers = pd.merge( + choosers, trip_dir_mode_logsums, left_index=True, right_index=True + ) choosers.reset_index(inplace=True) choosers.set_index(choosers_og_index, inplace=True) - pipeline.get_rn_generator().drop_channel('trips') - tracing.deregister_traceable_table('trips') + pipeline.get_rn_generator().drop_channel("trips") + tracing.deregister_traceable_table("trips") assert (od_sample.index == choosers.index).all() for col in new_cols: @@ -764,66 +904,82 @@ def run_od_logsums( network_los, chunk_size, chunk_tag, - trace_label, 'end', 'start', 'duration') + trace_label, + "end", + "start", + "duration", + ) assert (od_sample.index == logsums.index).all() - od_sample['tour_mode_choice_logsum'] = logsums + od_sample["tour_mode_choice_logsum"] = logsums return od_sample def run_od_simulate( - spec_segment_name, - tours, - od_sample, - want_logsums, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, - trace_label): + spec_segment_name, + tours, + od_sample, + want_logsums, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): """ run simulate OD choices on tour_od_sample annotated with mode_choice logsum to select a tour OD from sample alternatives """ - model_spec = simulate.spec_for_segment(model_settings, spec_id='SPEC', - segment_name=spec_segment_name, estimator=estimator) + model_spec = simulate.spec_for_segment( + model_settings, + spec_id="SPEC", + segment_name=spec_segment_name, + estimator=estimator, + ) # merge persons into tours choosers = tours # FIXME - MEMORY HACK - only include columns actually used in spec - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] choosers = choosers[chooser_columns] # interaction_sample requires that choosers.index.is_monotonic_increasing if not choosers.index.is_monotonic_increasing: - logger.debug(f"run_destination_simulate {trace_label} sorting choosers because not monotonic_increasing") + logger.debug( + f"run_destination_simulate {trace_label} sorting choosers because not monotonic_increasing" + ) choosers = choosers.sort_index() if estimator: estimator.write_choosers(choosers) - origin_col_name = model_settings['ORIG_COL_NAME'] - dest_col_name = model_settings['DEST_COL_NAME'] - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - origin_attr_cols = model_settings['ORIGIN_ATTR_COLS_TO_USE'] + origin_col_name = model_settings["ORIG_COL_NAME"] + dest_col_name = model_settings["DEST_COL_NAME"] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] + origin_attr_cols = model_settings["ORIGIN_ATTR_COLS_TO_USE"] alt_od_col_name = get_od_id_col(origin_col_name, dest_col_name) - od_sample[alt_od_col_name] = create_od_id_col(od_sample, origin_col_name, dest_col_name) + od_sample[alt_od_col_name] = create_od_id_col( + od_sample, origin_col_name, dest_col_name + ) # alternatives are pre-sampled and annotated with logsums and pick_count # but we have to merge size_terms column into alt sample list - od_sample['size_term'] = \ - reindex(destination_size_terms.size_term, od_sample[alt_dest_col_name]) + od_sample["size_term"] = reindex( + destination_size_terms.size_term, od_sample[alt_dest_col_name] + ) # also have to add origin attribute columns - lu = inject.get_table('land_use').to_frame(columns=origin_attr_cols) - od_sample = pd.merge(od_sample, lu, left_on=origin_col_name, right_index=True, how='left') + lu = inject.get_table("land_use").to_frame(columns=origin_attr_cols) + od_sample = pd.merge( + od_sample, lu, left_on=origin_col_name, right_index=True, how="left" + ) - tracing.dump_df(DUMP, od_sample, trace_label, 'alternatives') + tracing.dump_df(DUMP, od_sample, trace_label, "alternatives") constants = config.get_model_constants(model_settings) @@ -836,12 +992,12 @@ def run_od_simulate( skims = skim_dict.wrap(origin_col_name, dest_col_name) locals_d = { - 'skims': skims, + "skims": skims, } if constants is not None: locals_d.update(constants) - tracing.dump_df(DUMP, choosers, trace_label, 'choosers') + tracing.dump_df(DUMP, choosers, trace_label, "choosers") choices = interaction_sample_simulate( choosers, od_sample, @@ -852,11 +1008,12 @@ def run_od_simulate( locals_d=locals_d, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='origin_destination', - estimator=estimator) + trace_choice_name="origin_destination", + estimator=estimator, + ) if not want_logsums: - choices = choices.to_frame('choice') + choices = choices.to_frame("choice") choices = _get_od_cols_from_od_id(choices, origin_col_name, dest_col_name) @@ -864,23 +1021,26 @@ def run_od_simulate( def run_tour_od( - tours, - persons, - want_logsums, - want_sample_table, - model_settings, - network_los, - estimator, - chunk_size, trace_hh_id, trace_label): - - size_term_calculator = SizeTermCalculator(model_settings['SIZE_TERM_SELECTOR']) - preprocessor_settings = model_settings.get('preprocessor', None) - origin_col_name = model_settings['ORIG_COL_NAME'] - - chooser_segment_column = model_settings['CHOOSER_SEGMENT_COLUMN_NAME'] + tours, + persons, + want_logsums, + want_sample_table, + model_settings, + network_los, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): + + size_term_calculator = SizeTermCalculator(model_settings["SIZE_TERM_SELECTOR"]) + preprocessor_settings = model_settings.get("preprocessor", None) + origin_col_name = model_settings["ORIG_COL_NAME"] + + chooser_segment_column = model_settings["CHOOSER_SEGMENT_COLUMN_NAME"] # maps segment names to compact (integer) ids - segments = model_settings['SEGMENTS'] + segments = model_settings["SEGMENTS"] # interaction_sample_simulate insists choosers appear in same order as alts tours = tours.sort_index() @@ -892,76 +1052,91 @@ def run_tour_od( choosers = tours[tours[chooser_segment_column] == segment_name] choosers = pd.merge( - choosers, persons.to_frame(columns=['is_university', 'demographic_segment']), - left_on='person_id', right_index=True) + choosers, + persons.to_frame(columns=["is_university", "demographic_segment"]), + left_on="person_id", + right_index=True, + ) # - annotate choosers if preprocessor_settings: expressions.assign_columns( df=choosers, model_settings=preprocessor_settings, - trace_label=trace_label) + trace_label=trace_label, + ) # size_term segment is segment_name - segment_destination_size_terms = size_term_calculator.dest_size_terms_df(segment_name, trace_label) + segment_destination_size_terms = size_term_calculator.dest_size_terms_df( + segment_name, trace_label + ) if choosers.shape[0] == 0: - logger.info("%s skipping segment %s: no choosers", trace_label, segment_name) + logger.info( + "%s skipping segment %s: no choosers", trace_label, segment_name + ) continue # - od_sample spec_segment_name = segment_name # spec_segment_name is segment_name - od_sample_df = \ - run_od_sample( - spec_segment_name, - choosers, - model_settings, - network_los, - segment_destination_size_terms, - estimator, - chunk_size=chunk_size, - trace_label=tracing.extend_trace_label( - trace_label, 'sample.%s' % segment_name)) - - if model_settings['ORIG_FILTER'] == 'original_MAZ > 0': + od_sample_df = run_od_sample( + spec_segment_name, + choosers, + model_settings, + network_los, + segment_destination_size_terms, + estimator, + chunk_size=chunk_size, + trace_label=tracing.extend_trace_label( + trace_label, "sample.%s" % segment_name + ), + ) + + if model_settings["ORIG_FILTER"] == "original_MAZ > 0": pass - elif model_settings['ORIG_FILTER'] == 'external_TAZ > 0': + elif model_settings["ORIG_FILTER"] == "external_TAZ > 0": # sampled alts using internal mazs, so now we # have to convert to using the external tazs od_sample_df[origin_col_name] = map_maz_to_ext_maz( - od_sample_df[origin_col_name]) + od_sample_df[origin_col_name] + ) else: raise ValueError( - 'Not sure how you identified tour origins but you probably need ' - 'to choose a different ORIG_FILTER setting') + "Not sure how you identified tour origins but you probably need " + "to choose a different ORIG_FILTER setting" + ) # - destination_logsums - od_sample_df = \ - run_od_logsums( - spec_segment_name, - choosers, - od_sample_df, - model_settings, - network_los, - estimator, - chunk_size=chunk_size, - trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, 'logsums.%s' % segment_name)) + od_sample_df = run_od_logsums( + spec_segment_name, + choosers, + od_sample_df, + model_settings, + network_los, + estimator, + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=tracing.extend_trace_label( + trace_label, "logsums.%s" % segment_name + ), + ) # - od_simulate - choices = \ - run_od_simulate( - spec_segment_name, - choosers, - od_sample_df, - want_logsums=want_logsums, - model_settings=model_settings, - network_los=network_los, - destination_size_terms=segment_destination_size_terms, - estimator=estimator, - chunk_size=chunk_size, - trace_label=tracing.extend_trace_label(trace_label, 'simulate.%s' % segment_name)) + choices = run_od_simulate( + spec_segment_name, + choosers, + od_sample_df, + want_logsums=want_logsums, + model_settings=model_settings, + network_los=network_los, + destination_size_terms=segment_destination_size_terms, + estimator=estimator, + chunk_size=chunk_size, + trace_label=tracing.extend_trace_label( + trace_label, "simulate.%s" % segment_name + ), + ) choices_list.append(choices) if estimator: @@ -969,7 +1144,9 @@ def run_tour_od( if want_sample_table: # FIXME - sample_table - od_sample_df.set_index(model_settings['ALT_DEST_COL_NAME'], append=True, inplace=True) + od_sample_df.set_index( + model_settings["ALT_DEST_COL_NAME"], append=True, inplace=True + ) sample_list.append(od_sample_df) # FIXME - want to do this here? diff --git a/activitysim/abm/models/util/tour_scheduling.py b/activitysim/abm/models/util/tour_scheduling.py index d482410280..5936ae81e0 100644 --- a/activitysim/abm/models/util/tour_scheduling.py +++ b/activitysim/abm/models/util/tour_scheduling.py @@ -4,11 +4,7 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, simulate, tracing from . import estimation from . import vectorize_tour_scheduling as vts @@ -16,57 +12,70 @@ logger = logging.getLogger(__name__) -def run_tour_scheduling(model_name, chooser_tours, persons_merged, tdd_alts, tour_segment_col, chunk_size, trace_hh_id): +def run_tour_scheduling( + model_name, + chooser_tours, + persons_merged, + tdd_alts, + tour_segment_col, + chunk_size, + trace_hh_id, +): trace_label = model_name - model_settings_file_name = f'{model_name}.yaml' + model_settings_file_name = f"{model_name}.yaml" model_settings = config.read_model_settings(model_settings_file_name) - if 'LOGSUM_SETTINGS' in model_settings: - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) - logsum_columns = logsum_settings.get('LOGSUM_CHOOSER_COLUMNS', []) + if "LOGSUM_SETTINGS" in model_settings: + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) + logsum_columns = logsum_settings.get("LOGSUM_CHOOSER_COLUMNS", []) else: logsum_columns = [] # - filter chooser columns for both logsums and simulate - model_columns = model_settings.get('SIMULATE_CHOOSER_COLUMNS', []) - chooser_columns = logsum_columns + [c for c in model_columns if c not in logsum_columns] + model_columns = model_settings.get("SIMULATE_CHOOSER_COLUMNS", []) + chooser_columns = logsum_columns + [ + c for c in model_columns if c not in logsum_columns + ] persons_merged = expressions.filter_chooser_columns(persons_merged, chooser_columns) timetable = inject.get_injectable("timetable") # - run preprocessor to annotate choosers - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: - locals_d = { - 'tt': timetable - } + locals_d = {"tt": timetable} locals_d.update(config.get_model_constants(model_settings)) expressions.assign_columns( df=chooser_tours, model_settings=preprocessor_settings, locals_dict=locals_d, - trace_label=trace_label) + trace_label=trace_label, + ) estimators = {} - if 'TOUR_SPEC_SEGMENTS' in model_settings: + if "TOUR_SPEC_SEGMENTS" in model_settings: # load segmented specs - spec_segment_settings = model_settings.get('SPEC_SEGMENTS', {}) + spec_segment_settings = model_settings.get("SPEC_SEGMENTS", {}) specs = {} for spec_segment_name, spec_settings in spec_segment_settings.items(): - bundle_name = f'{model_name}_{spec_segment_name}' + bundle_name = f"{model_name}_{spec_segment_name}" # estimator for this tour_segment - estimator = estimation.manager.begin_estimation(model_name=bundle_name, bundle_name=bundle_name) + estimator = estimation.manager.begin_estimation( + model_name=bundle_name, bundle_name=bundle_name + ) - spec_file_name = spec_settings['SPEC'] + spec_file_name = spec_settings["SPEC"] model_spec = simulate.read_model_spec(file_name=spec_file_name) coefficients_df = simulate.read_model_coefficients(spec_settings) - specs[spec_segment_name] = simulate.eval_coefficients(model_spec, coefficients_df, estimator) + specs[spec_segment_name] = simulate.eval_coefficients( + model_spec, coefficients_df, estimator + ) if estimator: estimators[spec_segment_name] = estimator # add to local list @@ -75,27 +84,29 @@ def run_tour_scheduling(model_name, chooser_tours, persons_merged, tdd_alts, tou estimator.write_coefficients(coefficients_df, spec_settings) # - spec dict segmented by primary_purpose - tour_segment_settings = model_settings.get('TOUR_SPEC_SEGMENTS', {}) + tour_segment_settings = model_settings.get("TOUR_SPEC_SEGMENTS", {}) tour_segments = {} for tour_segment_name, spec_segment_name in tour_segment_settings.items(): tour_segments[tour_segment_name] = {} - tour_segments[tour_segment_name]['spec_segment_name'] = spec_segment_name - tour_segments[tour_segment_name]['spec'] = specs[spec_segment_name] - tour_segments[tour_segment_name]['estimator'] = estimators.get(spec_segment_name) + tour_segments[tour_segment_name]["spec_segment_name"] = spec_segment_name + tour_segments[tour_segment_name]["spec"] = specs[spec_segment_name] + tour_segments[tour_segment_name]["estimator"] = estimators.get( + spec_segment_name + ) # default tour_segment_col to 'tour_type' if segmented spec and tour_segment_col not specified if tour_segment_col is None and tour_segments: - tour_segment_col = 'tour_type' + tour_segment_col = "tour_type" else: # unsegmented spec - assert 'SPEC_SEGMENTS' not in model_settings - assert 'TOUR_SPEC_SEGMENTS' not in model_settings + assert "SPEC_SEGMENTS" not in model_settings + assert "TOUR_SPEC_SEGMENTS" not in model_settings assert tour_segment_col is None estimator = estimation.manager.begin_estimation(model_name) - spec_file_name = model_settings['SPEC'] + spec_file_name = model_settings["SPEC"] model_spec = simulate.read_model_spec(file_name=spec_file_name) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -107,22 +118,23 @@ def run_tour_scheduling(model_name, chooser_tours, persons_merged, tdd_alts, tou estimator.write_coefficients(coefficients_df, model_settings) # - non_mandatory tour scheduling is not segmented by tour type - tour_segments = { - 'spec': model_spec, - 'estimator': estimator - } + tour_segments = {"spec": model_spec, "estimator": estimator} if estimators: timetable.begin_transaction(list(estimators.values())) logger.info(f"Running {model_name} with %d tours", len(chooser_tours)) choices = vts.vectorize_tour_scheduling( - chooser_tours, persons_merged, - tdd_alts, timetable, - tour_segments=tour_segments, tour_segment_col=tour_segment_col, + chooser_tours, + persons_merged, + tdd_alts, + timetable, + tour_segments=tour_segments, + tour_segment_col=tour_segment_col, model_settings=model_settings, chunk_size=chunk_size, - trace_label=trace_label) + trace_label=trace_label, + ) if estimators: # overrride choices for all estimators @@ -134,7 +146,9 @@ def run_tour_scheduling(model_name, chooser_tours, persons_merged, tdd_alts, tou model_choices = choices estimator.write_choices(model_choices) - override_choices = estimator.get_survey_values(model_choices, 'tours', 'tdd') + override_choices = estimator.get_survey_values( + model_choices, "tours", "tdd" + ) estimator.write_override_choices(override_choices) choices_list.append(override_choices) @@ -143,13 +157,18 @@ def run_tour_scheduling(model_name, chooser_tours, persons_merged, tdd_alts, tou # update timetable to reflect the override choices (assign tours in tour_num order) timetable.rollback() - for tour_num, nth_tours in chooser_tours.groupby('tour_num', sort=True): - timetable.assign(window_row_ids=nth_tours['person_id'], tdds=choices.reindex(nth_tours.index)) + for tour_num, nth_tours in chooser_tours.groupby("tour_num", sort=True): + timetable.assign( + window_row_ids=nth_tours["person_id"], + tdds=choices.reindex(nth_tours.index), + ) timetable.replace_table() # choices are tdd alternative ids # we want to add start, end, and duration columns to tours, which we have in tdd_alts table - choices = pd.merge(choices.to_frame('tdd'), tdd_alts, left_on=['tdd'], right_index=True, how='left') + choices = pd.merge( + choices.to_frame("tdd"), tdd_alts, left_on=["tdd"], right_index=True, how="left" + ) return choices diff --git a/activitysim/abm/models/util/trip.py b/activitysim/abm/models/util/trip.py index 6c74b6cbcd..a137934f5f 100644 --- a/activitysim/abm/models/util/trip.py +++ b/activitysim/abm/models/util/trip.py @@ -1,13 +1,13 @@ # ActivitySim # See full license in LICENSE.txt. import logging -import pandas as pd + import numpy as np +import pandas as pd +from activitysim.abm.models.util.canonical_ids import set_trip_index from activitysim.core import config, inject from activitysim.core.util import assign_in_place, reindex -from activitysim.abm.models.util.canonical_ids import set_trip_index - logger = logging.getLogger(__name__) @@ -15,12 +15,14 @@ def failed_trip_cohorts(trips, failed): # outbound trips in a tour with a failed outbound trip - bad_outbound_trips = \ - trips.outbound & (trips.tour_id.isin(trips.tour_id[failed & trips.outbound])) + bad_outbound_trips = trips.outbound & ( + trips.tour_id.isin(trips.tour_id[failed & trips.outbound]) + ) # inbound trips in a tour with a failed inbound trip - bad_inbound_trips = \ - ~trips.outbound & (trips.tour_id.isin(trips.tour_id[failed & ~trips.outbound])) + bad_inbound_trips = ~trips.outbound & ( + trips.tour_id.isin(trips.tour_id[failed & ~trips.outbound]) + ) bad_trips = bad_outbound_trips | bad_inbound_trips @@ -32,7 +34,9 @@ def flag_failed_trip_leg_mates(trips_df, col_name): set boolean flag column of specified name to identify failed trip leg_mates in place """ - failed_trip_leg_mates = failed_trip_cohorts(trips_df, trips_df.failed) & ~trips_df.failed + failed_trip_leg_mates = ( + failed_trip_cohorts(trips_df, trips_df.failed) & ~trips_df.failed + ) trips_df.loc[failed_trip_leg_mates, col_name] = True # handle outbound and inbound legs independently @@ -57,10 +61,12 @@ def cleanup_failed_trips(trips): """ if trips.failed.any(): - logger.warning("cleanup_failed_trips dropping %s failed trips" % trips.failed.sum()) + logger.warning( + "cleanup_failed_trips dropping %s failed trips" % trips.failed.sum() + ) - trips['patch'] = False - flag_failed_trip_leg_mates(trips, 'patch') + trips["patch"] = False + flag_failed_trip_leg_mates(trips, "patch") # drop the original failures trips = trips[~trips.failed] @@ -69,16 +75,18 @@ def cleanup_failed_trips(trips): patch_trips = trips[trips.patch].sort_index() # recompute fields dependent on trip_num sequence - grouped = patch_trips.groupby(['tour_id', 'outbound']) - patch_trips['trip_num'] = grouped.cumcount() + 1 + grouped = patch_trips.groupby(["tour_id", "outbound"]) + patch_trips["trip_num"] = grouped.cumcount() + 1 # FIXME - 'clever' hack to avoid regroup - implementation dependent optimization that could change - patch_trips['trip_count'] = patch_trips['trip_num'] + grouped.cumcount(ascending=False) + patch_trips["trip_count"] = patch_trips["trip_num"] + grouped.cumcount( + ascending=False + ) - assign_in_place(trips, patch_trips[['trip_num', 'trip_count']]) + assign_in_place(trips, patch_trips[["trip_num", "trip_count"]]) - del trips['patch'] + del trips["patch"] - del trips['failed'] + del trips["failed"] return trips @@ -92,20 +100,25 @@ def generate_alternative_sizes(max_duration, max_trips): :param max_trips: :return: """ + def np_shift(xs, n, fill_zero=True): if n >= 0: shift_array = np.concatenate((np.full(n, np.nan), xs[:-n])) else: shift_array = np.concatenate((xs[-n:], np.full(-n, np.nan))) - return np.nan_to_num(shift_array, np.nan).astype(int) if fill_zero else shift_array + return ( + np.nan_to_num(shift_array, np.nan).astype(int) if fill_zero else shift_array + ) levels = np.empty([max_trips, max_duration + max_trips]) levels[0] = np.arange(1, max_duration + max_trips + 1) for level in np.arange(1, max_trips): - levels[level] = np_shift(np.cumsum(np_shift(levels[level - 1], 1)), -1, fill_zero=False) + levels[level] = np_shift( + np.cumsum(np_shift(levels[level - 1], 1)), -1, fill_zero=False + ) - return levels[:, :max_duration+1].astype(int) + return levels[:, : max_duration + 1].astype(int) def get_time_windows(residual, level): @@ -130,9 +143,9 @@ def get_time_windows(residual, level): @inject.injectable() def stop_frequency_alts(): # alt file for building trips even though simulation is simple_simulate not interaction_simulate - file_path = config.config_file_path('stop_frequency_alternatives.csv') - df = pd.read_csv(file_path, comment='#') - df.set_index('alt', inplace=True) + file_path = config.config_file_path("stop_frequency_alternatives.csv") + df = pd.read_csv(file_path, comment="#") + df.set_index("alt", inplace=True) return df @@ -142,7 +155,7 @@ def initialize_from_tours(tours, stop_frequency_alts, addtl_tour_cols_to_preserv tour origin, tour destination. """ - OUTBOUND_ALT = 'out' + OUTBOUND_ALT = "out" assert OUTBOUND_ALT in stop_frequency_alts.columns # get the actual alternatives for each person - have to go back to the @@ -171,13 +184,13 @@ def initialize_from_tours(tours, stop_frequency_alts, addtl_tour_cols_to_preserv # reformat with the columns given below trips = trips.stack().reset_index() - trips.columns = ['tour_temp_index', 'direction', 'trip_count'] + trips.columns = ["tour_temp_index", "direction", "trip_count"] # tours legs have one more trip than stop trips.trip_count += 1 # prefer direction as boolean - trips['outbound'] = trips.direction == OUTBOUND_ALT + trips["outbound"] = trips.direction == OUTBOUND_ALT """ tour_temp_index direction trip_count outbound @@ -192,12 +205,14 @@ def initialize_from_tours(tours, stop_frequency_alts, addtl_tour_cols_to_preserv trips = trips.take(np.repeat(trips.index.values, trips.trip_count.values)) trips = trips.reset_index(drop=True) - grouped = trips.groupby(['tour_temp_index', 'outbound']) - trips['trip_num'] = grouped.cumcount() + 1 + grouped = trips.groupby(["tour_temp_index", "outbound"]) + trips["trip_num"] = grouped.cumcount() + 1 - trips['person_id'] = reindex(unique_tours.person_id, trips.tour_temp_index) - trips['household_id'] = reindex(unique_tours.household_id, trips.tour_temp_index) - trips['primary_purpose'] = reindex(unique_tours.primary_purpose, trips.tour_temp_index) + trips["person_id"] = reindex(unique_tours.person_id, trips.tour_temp_index) + trips["household_id"] = reindex(unique_tours.household_id, trips.tour_temp_index) + trips["primary_purpose"] = reindex( + unique_tours.primary_purpose, trips.tour_temp_index + ) if addtl_tour_cols_to_preserve is None: addtl_tour_cols_to_preserve = [] @@ -205,8 +220,18 @@ def initialize_from_tours(tours, stop_frequency_alts, addtl_tour_cols_to_preserv trips[col] = reindex(unique_tours[col], trips.tour_temp_index) # reorder columns and drop 'direction' - trips = trips[['person_id', 'household_id', 'tour_temp_index', 'primary_purpose', - 'trip_num', 'outbound', 'trip_count'] + addtl_tour_cols_to_preserve] + trips = trips[ + [ + "person_id", + "household_id", + "tour_temp_index", + "primary_purpose", + "trip_num", + "outbound", + "trip_count", + ] + + addtl_tour_cols_to_preserve + ] """ person_id household_id tour_temp_index primary_purpose trip_num outbound trip_count @@ -221,26 +246,31 @@ def initialize_from_tours(tours, stop_frequency_alts, addtl_tour_cols_to_preserv """ # previously in trip_destination.py - tour_destination = reindex(unique_tours.destination, trips.tour_temp_index).astype(np.int64) + tour_destination = reindex(unique_tours.destination, trips.tour_temp_index).astype( + np.int64 + ) tour_origin = reindex(unique_tours.origin, trips.tour_temp_index).astype(np.int64) - trips['destination'] = np.where(trips.outbound, tour_destination, tour_origin) - trips['origin'] = np.where(trips.outbound, tour_origin, tour_destination) - trips['failed'] = False + trips["destination"] = np.where(trips.outbound, tour_destination, tour_origin) + trips["origin"] = np.where(trips.outbound, tour_origin, tour_destination) + trips["failed"] = False # replace temp tour identifier with tour_id - trips['tour_id'] = reindex(unique_tours.tour_id, trips.tour_temp_index) + trips["tour_id"] = reindex(unique_tours.tour_id, trips.tour_temp_index) # trip ids are generated based on unique combination of `tour_id`, `outbound`, # and `trip_num`. When pseudo-trips are generated from pseudo-tours for the # purposes of computing logsums, `tour_id` won't be unique on `outbound` and # `trip_num`, so we use `tour_temp_index` instead. this will only be the case # when generating temporary pseudo-trips which won't get saved as outputs. - if trips.groupby(['tour_id', 'outbound', 'trip_num'])['person_id'].count().max() > 1: - trip_index_tour_id = 'tour_temp_index' + if ( + trips.groupby(["tour_id", "outbound", "trip_num"])["person_id"].count().max() + > 1 + ): + trip_index_tour_id = "tour_temp_index" else: - trip_index_tour_id = 'tour_id' + trip_index_tour_id = "tour_id" set_trip_index(trips, trip_index_tour_id) - del trips['tour_temp_index'] + del trips["tour_temp_index"] return trips diff --git a/activitysim/abm/models/util/vectorize_tour_scheduling.py b/activitysim/abm/models/util/vectorize_tour_scheduling.py index 199059e2af..b7698ae11d 100644 --- a/activitysim/abm/models/util/vectorize_tour_scheduling.py +++ b/activitysim/abm/models/util/vectorize_tour_scheduling.py @@ -5,28 +5,25 @@ import numpy as np import pandas as pd -from activitysim.core.interaction_sample_simulate import interaction_sample_simulate -from activitysim.core import config -from activitysim.core import tracing -from activitysim.core import inject -from activitysim.core import mem - -from activitysim.core import chunk -from activitysim.core import simulate -from activitysim.core import logit -from activitysim.core import los - +from activitysim.core import ( + chunk, + config, + expressions, + inject, + logit, + los, + mem, + simulate, +) from activitysim.core import timetable as tt - -from activitysim.core.util import reindex -from activitysim.core import expressions - +from activitysim.core import tracing +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate from activitysim.core.pathbuilder import TransitVirtualPathBuilder - +from activitysim.core.util import reindex logger = logging.getLogger(__name__) -TDD_CHOICE_COLUMN = 'tdd' +TDD_CHOICE_COLUMN = "tdd" USE_BRUTE_FORCE_TO_COMPUTE_LOGSUMS = False RUN_ALTS_PREPROCESSOR_BEFORE_MERGE = True # see FIXME below before changing this @@ -34,30 +31,36 @@ def skims_for_logsums(tour_purpose, model_settings, trace_label): - assert 'LOGSUM_SETTINGS' in model_settings + assert "LOGSUM_SETTINGS" in model_settings - network_los = inject.get_injectable('network_los') + network_los = inject.get_injectable("network_los") skim_dict = network_los.get_default_skim_dict() - orig_col_name = 'home_zone_id' + orig_col_name = "home_zone_id" - destination_for_tour_purpose = model_settings.get('DESTINATION_FOR_TOUR_PURPOSE') + destination_for_tour_purpose = model_settings.get("DESTINATION_FOR_TOUR_PURPOSE") if isinstance(destination_for_tour_purpose, str): dest_col_name = destination_for_tour_purpose elif isinstance(destination_for_tour_purpose, dict): dest_col_name = destination_for_tour_purpose.get(tour_purpose) else: - raise RuntimeError(f"expected string or dict DESTINATION_FOR_TOUR_PURPOSE model_setting for {tour_purpose}") - - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='out_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='in_period') - odr_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='in_period') - dor_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='out_period') + raise RuntimeError( + f"expected string or dict DESTINATION_FOR_TOUR_PURPOSE model_setting for {tour_purpose}" + ) + + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="out_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="in_period" + ) + odr_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="in_period" + ) + dor_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="out_period" + ) od_skim_stack_wrapper = skim_dict.wrap(orig_col_name, dest_col_name) skims = { @@ -66,40 +69,53 @@ def skims_for_logsums(tour_purpose, model_settings, trace_label): "odr_skims": odr_skim_stack_wrapper, "dor_skims": dor_skim_stack_wrapper, "od_skims": od_skim_stack_wrapper, - 'orig_col_name': orig_col_name, - 'dest_col_name': dest_col_name, + "orig_col_name": orig_col_name, + "dest_col_name": dest_col_name, } if network_los.zone_system == los.THREE_ZONE: # fixme - is this a lightweight object? tvpb = network_los.tvpb - tvpb_logsum_odt = tvpb.wrap_logsum(orig_key=orig_col_name, dest_key=dest_col_name, - tod_key='out_period', segment_key='demographic_segment', - trace_label=trace_label, tag='tvpb_logsum_odt') - tvpb_logsum_dot = tvpb.wrap_logsum(orig_key=dest_col_name, dest_key=orig_col_name, - tod_key='in_period', segment_key='demographic_segment', - trace_label=trace_label, tag='tvpb_logsum_dot') - - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - 'tvpb_logsum_dot': tvpb_logsum_dot - }) + tvpb_logsum_odt = tvpb.wrap_logsum( + orig_key=orig_col_name, + dest_key=dest_col_name, + tod_key="out_period", + segment_key="demographic_segment", + trace_label=trace_label, + tag="tvpb_logsum_odt", + ) + tvpb_logsum_dot = tvpb.wrap_logsum( + orig_key=dest_col_name, + dest_key=orig_col_name, + tod_key="in_period", + segment_key="demographic_segment", + trace_label=trace_label, + tag="tvpb_logsum_dot", + ) + + skims.update( + {"tvpb_logsum_odt": tvpb_logsum_odt, "tvpb_logsum_dot": tvpb_logsum_dot} + ) return skims -def _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, network_los, skims, trace_label): +def _compute_logsums( + alt_tdd, tours_merged, tour_purpose, model_settings, network_los, skims, trace_label +): """ compute logsums for tours using skims for alt_tdd out_period and in_period """ - trace_label = tracing.extend_trace_label(trace_label, 'logsums') + trace_label = tracing.extend_trace_label(trace_label, "logsums") with chunk.chunk_log(trace_label): - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) - choosers = alt_tdd.join(tours_merged, how='left', rsuffix='_chooser') - logger.info(f"{trace_label} compute_logsums for {choosers.shape[0]} choosers {alt_tdd.shape[0]} alts") + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) + choosers = alt_tdd.join(tours_merged, how="left", rsuffix="_chooser") + logger.info( + f"{trace_label} compute_logsums for {choosers.shape[0]} choosers {alt_tdd.shape[0]} alts" + ) # - locals_dict constants = config.get_model_constants(logsum_settings) @@ -108,7 +124,9 @@ def _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, networ if network_los.zone_system == los.THREE_ZONE: # TVPB constants can appear in expressions - locals_dict.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + locals_dict.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) locals_dict.update(skims) @@ -118,7 +136,7 @@ def _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, networ # - run preprocessor to annotate choosers # allow specification of alternate preprocessor for nontour choosers - preprocessor = model_settings.get('LOGSUM_PREPROCESSOR', 'preprocessor') + preprocessor = model_settings.get("LOGSUM_PREPROCESSOR", "preprocessor") preprocessor_settings = logsum_settings[preprocessor] if preprocessor_settings: @@ -129,14 +147,19 @@ def _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, networ df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) # - compute logsums - logsum_spec = simulate.read_model_spec(file_name=logsum_settings['SPEC']) - logsum_spec = simulate.eval_coefficients(logsum_spec, coefficients, estimator=None) + logsum_spec = simulate.read_model_spec(file_name=logsum_settings["SPEC"]) + logsum_spec = simulate.eval_coefficients( + logsum_spec, coefficients, estimator=None + ) nest_spec = config.get_logit_model_settings(logsum_settings) - nest_spec = simulate.eval_nest_coefficients(nest_spec, coefficients, trace_label) + nest_spec = simulate.eval_nest_coefficients( + nest_spec, coefficients, trace_label + ) logsums = simulate.simple_simulate_logsums( choosers, @@ -145,98 +168,137 @@ def _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, networ skims=skims, locals_d=locals_dict, chunk_size=0, - trace_label=trace_label) + trace_label=trace_label, + ) return logsums def dedupe_alt_tdd(alt_tdd, tour_purpose, trace_label): - tdd_segments = inject.get_injectable('tdd_alt_segments', None) + tdd_segments = inject.get_injectable("tdd_alt_segments", None) alt_tdd_periods = None logger.info(f"tdd_alt_segments specified for representative logsums") - with chunk.chunk_log(tracing.extend_trace_label(trace_label, 'dedupe_alt_tdd')): + with chunk.chunk_log(tracing.extend_trace_label(trace_label, "dedupe_alt_tdd")): if tdd_segments is not None: - dedupe_columns = ['out_period', 'in_period'] + dedupe_columns = ["out_period", "in_period"] # tdd_alt_segments is optionally segmented by tour purpose - if 'tour_purpose' in tdd_segments: + if "tour_purpose" in tdd_segments: - is_tdd_for_tour_purpose = (tdd_segments.tour_purpose == tour_purpose) + is_tdd_for_tour_purpose = tdd_segments.tour_purpose == tour_purpose if not is_tdd_for_tour_purpose.any(): is_tdd_for_tour_purpose = tdd_segments.tour_purpose.isnull() - assert is_tdd_for_tour_purpose.any(), \ - f"no segments found for tour purpose {tour_purpose} in tour_departure_and_duration_segments" + assert ( + is_tdd_for_tour_purpose.any() + ), f"no segments found for tour purpose {tour_purpose} in tour_departure_and_duration_segments" - tdd_segments = tdd_segments[is_tdd_for_tour_purpose].drop(columns=['tour_purpose']) - assert len(tdd_segments) > 0, f"tour_purpose '{tour_purpose}' not in tdd_alt_segments" + tdd_segments = tdd_segments[is_tdd_for_tour_purpose].drop( + columns=["tour_purpose"] + ) + assert ( + len(tdd_segments) > 0 + ), f"tour_purpose '{tour_purpose}' not in tdd_alt_segments" # left join representative start on out_period - alt_tdd_periods = \ - pd.merge(alt_tdd[['out_period', 'in_period']].reset_index(), - tdd_segments[['time_period', 'start']].rename(columns={'time_period': 'out_period'}), - how='left', on='out_period') + alt_tdd_periods = pd.merge( + alt_tdd[["out_period", "in_period"]].reset_index(), + tdd_segments[["time_period", "start"]].rename( + columns={"time_period": "out_period"} + ), + how="left", + on="out_period", + ) chunk.log_df(trace_label, "alt_tdd_periods", alt_tdd_periods) # left join representative end on in_period - alt_tdd_periods = \ - pd.merge(alt_tdd_periods, - tdd_segments[['time_period', 'end']].rename(columns={'time_period': 'in_period'}), - how='left', on=['in_period']) + alt_tdd_periods = pd.merge( + alt_tdd_periods, + tdd_segments[["time_period", "end"]].rename( + columns={"time_period": "in_period"} + ), + how="left", + on=["in_period"], + ) chunk.log_df(trace_label, "alt_tdd_periods", alt_tdd_periods) if tdd_segments.start.isnull().any(): - missing_periods = tdd_segments.out_period[tdd_segments.start.isnull()].unique() - logger.warning(f"missing out_periods in tdd_alt_segments: {missing_periods}") + missing_periods = tdd_segments.out_period[ + tdd_segments.start.isnull() + ].unique() + logger.warning( + f"missing out_periods in tdd_alt_segments: {missing_periods}" + ) if tdd_segments.end.isnull().any(): - missing_periods = tdd_segments.in_period[tdd_segments.end.isnull()].unique() - logger.warning(f"missing in_periods in tdd_alt_segments: {missing_periods}") + missing_periods = tdd_segments.in_period[ + tdd_segments.end.isnull() + ].unique() + logger.warning( + f"missing in_periods in tdd_alt_segments: {missing_periods}" + ) assert not tdd_segments.start.isnull().any() assert not tdd_segments.end.isnull().any() # drop duplicates - alt_tdd_periods = alt_tdd_periods.drop_duplicates().set_index(alt_tdd.index.name) + alt_tdd_periods = alt_tdd_periods.drop_duplicates().set_index( + alt_tdd.index.name + ) chunk.log_df(trace_label, "alt_tdd_periods", alt_tdd_periods) # representative duration - alt_tdd_periods['duration'] = alt_tdd_periods['end'] - alt_tdd_periods['start'] + alt_tdd_periods["duration"] = ( + alt_tdd_periods["end"] - alt_tdd_periods["start"] + ) chunk.log_df(trace_label, "alt_tdd_periods", alt_tdd_periods) - logger.debug(f"{trace_label} " - f"dedupe_alt_tdd.tdd_alt_segments reduced number of rows by " - f"{round(100 * (len(alt_tdd) - len(alt_tdd_periods)) / len(alt_tdd), 2)}% " - f"from {len(alt_tdd)} to {len(alt_tdd_periods)}") + logger.debug( + f"{trace_label} " + f"dedupe_alt_tdd.tdd_alt_segments reduced number of rows by " + f"{round(100 * (len(alt_tdd) - len(alt_tdd_periods)) / len(alt_tdd), 2)}% " + f"from {len(alt_tdd)} to {len(alt_tdd_periods)}" + ) # if there is no tdd_alt_segments file, we can at least dedupe on 'out_period', 'in_period', 'duration' if alt_tdd_periods is None: # FIXME This won't work if they reference start or end in logsum calculations # for MTC only duration is used (to calculate all_day parking cost) - dedupe_columns = ['out_period', 'in_period', 'duration'] + dedupe_columns = ["out_period", "in_period", "duration"] - logger.warning(f"No tdd_alt_segments for representative logsums so fallback to " - f"deduping tdd_alts by time_period and duration") + logger.warning( + f"No tdd_alt_segments for representative logsums so fallback to " + f"deduping tdd_alts by time_period and duration" + ) # - get list of unique (tour_id, out_period, in_period, duration) in alt_tdd_periods # we can cut the number of alts roughly in half (for mtctm1) by conflating duplicates - alt_tdd_periods = alt_tdd[dedupe_columns].reset_index().drop_duplicates().set_index(alt_tdd.index.name) + alt_tdd_periods = ( + alt_tdd[dedupe_columns] + .reset_index() + .drop_duplicates() + .set_index(alt_tdd.index.name) + ) chunk.log_df(trace_label, "alt_tdd_periods", alt_tdd_periods) - logger.debug(f"{trace_label} " - f"dedupe_alt_tdd.drop_duplicates reduced number of rows by " - f"{round(100 * (len(alt_tdd) - len(alt_tdd_periods)) / len(alt_tdd), 2)}% " - f"from {len(alt_tdd)} to {len(alt_tdd_periods)}") + logger.debug( + f"{trace_label} " + f"dedupe_alt_tdd.drop_duplicates reduced number of rows by " + f"{round(100 * (len(alt_tdd) - len(alt_tdd_periods)) / len(alt_tdd), 2)}% " + f"from {len(alt_tdd)} to {len(alt_tdd_periods)}" + ) return alt_tdd_periods, dedupe_columns -def compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, skims, trace_label): +def compute_logsums( + alt_tdd, tours_merged, tour_purpose, model_settings, skims, trace_label +): """ Compute logsums for the tour alt_tdds, which will differ based on their different start, stop times of day, which translate to different odt_skim out_period and in_periods. @@ -249,15 +311,15 @@ def compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, skims, (out-period, in-period) pairs and then join them back to the alt_tdds. """ - trace_label = tracing.extend_trace_label(trace_label, 'compute_logsums') - network_los = inject.get_injectable('network_los') + trace_label = tracing.extend_trace_label(trace_label, "compute_logsums") + network_los = inject.get_injectable("network_los") # - in_period and out_period - assert 'out_period' not in alt_tdd - assert 'in_period' not in alt_tdd - alt_tdd['out_period'] = network_los.skim_time_period_label(alt_tdd['start']) - alt_tdd['in_period'] = network_los.skim_time_period_label(alt_tdd['end']) - alt_tdd['duration'] = alt_tdd['end'] - alt_tdd['start'] + assert "out_period" not in alt_tdd + assert "in_period" not in alt_tdd + alt_tdd["out_period"] = network_los.skim_time_period_label(alt_tdd["start"]) + alt_tdd["in_period"] = network_los.skim_time_period_label(alt_tdd["end"]) + alt_tdd["duration"] = alt_tdd["end"] - alt_tdd["start"] # outside chunk_log context because we extend log_df call for alt_tdd made by our only caller _schedule_tours chunk.log_df(trace_label, "alt_tdd", alt_tdd) @@ -266,35 +328,56 @@ def compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, skims, if USE_BRUTE_FORCE_TO_COMPUTE_LOGSUMS: # compute logsums for all the tour alt_tdds (inefficient) - logsums = _compute_logsums(alt_tdd, tours_merged, tour_purpose, - model_settings, network_los, skims, trace_label) + logsums = _compute_logsums( + alt_tdd, + tours_merged, + tour_purpose, + model_settings, + network_los, + skims, + trace_label, + ) return logsums index_name = alt_tdd.index.name - deduped_alt_tdds, redupe_columns = dedupe_alt_tdd(alt_tdd, tour_purpose, trace_label) + deduped_alt_tdds, redupe_columns = dedupe_alt_tdd( + alt_tdd, tour_purpose, trace_label + ) chunk.log_df(trace_label, "deduped_alt_tdds", deduped_alt_tdds) - logger.info(f"{trace_label} compute_logsums " - f"deduped_alt_tdds reduced number of rows by " - f"{round(100 * (len(alt_tdd) - len(deduped_alt_tdds)) / len(alt_tdd), 2)}% " - f"from {len(alt_tdd)} to {len(deduped_alt_tdds)} compared to USE_BRUTE_FORCE_TO_COMPUTE_LOGSUMS") + logger.info( + f"{trace_label} compute_logsums " + f"deduped_alt_tdds reduced number of rows by " + f"{round(100 * (len(alt_tdd) - len(deduped_alt_tdds)) / len(alt_tdd), 2)}% " + f"from {len(alt_tdd)} to {len(deduped_alt_tdds)} compared to USE_BRUTE_FORCE_TO_COMPUTE_LOGSUMS" + ) t0 = tracing.print_elapsed_time() # - compute logsums for the alt_tdd_periods - deduped_alt_tdds['logsums'] = \ - _compute_logsums(deduped_alt_tdds, tours_merged, tour_purpose, - model_settings, network_los, skims, trace_label) + deduped_alt_tdds["logsums"] = _compute_logsums( + deduped_alt_tdds, + tours_merged, + tour_purpose, + model_settings, + network_los, + skims, + trace_label, + ) # tracing.log_runtime(model_name=trace_label, start_time=t0) # redupe - join the alt_tdd_period logsums to alt_tdd to get logsums for alt_tdd - logsums = pd.merge( - alt_tdd.reset_index(), - deduped_alt_tdds.reset_index(), - on=[index_name] + redupe_columns, - how='left' - ).set_index(index_name).logsums + logsums = ( + pd.merge( + alt_tdd.reset_index(), + deduped_alt_tdds.reset_index(), + on=[index_name] + redupe_columns, + how="left", + ) + .set_index(index_name) + .logsums + ) chunk.log_df(trace_label, "logsums", logsums) del deduped_alt_tdds @@ -303,20 +386,30 @@ def compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, skims, # this is really expensive TRACE = False if TRACE: - trace_logsums_df = logsums.to_frame('representative_logsum') - trace_logsums_df['brute_force_logsum'] = \ - _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, network_los, skims, trace_label) - tracing.trace_df(trace_logsums_df, - label=tracing.extend_trace_label(trace_label, 'representative_logsums'), - slicer='NONE', transpose=False) + trace_logsums_df = logsums.to_frame("representative_logsum") + trace_logsums_df["brute_force_logsum"] = _compute_logsums( + alt_tdd, + tours_merged, + tour_purpose, + model_settings, + network_los, + skims, + trace_label, + ) + tracing.trace_df( + trace_logsums_df, + label=tracing.extend_trace_label(trace_label, "representative_logsums"), + slicer="NONE", + transpose=False, + ) # leave it to our caller to pick up logsums with call to chunk.log_df return logsums -def get_previous_tour_by_tourid(current_tour_window_ids, - previous_tour_by_window_id, - alts): +def get_previous_tour_by_tourid( + current_tour_window_ids, previous_tour_by_window_id, alts +): """ Matches current tours with attributes of previous tours for the same person. See the return value below for more information. @@ -343,20 +436,21 @@ def get_previous_tour_by_tourid(current_tour_window_ids, interaction. """ - PREV_TOUR_COLUMNS = ['start', 'end'] + PREV_TOUR_COLUMNS = ["start", "end"] - previous_tour_by_tourid = \ - previous_tour_by_window_id.loc[current_tour_window_ids] + previous_tour_by_tourid = previous_tour_by_window_id.loc[current_tour_window_ids] previous_tour_by_tourid = alts.loc[previous_tour_by_tourid, PREV_TOUR_COLUMNS] previous_tour_by_tourid.index = current_tour_window_ids.index - previous_tour_by_tourid.columns = [x+'_previous' for x in PREV_TOUR_COLUMNS] + previous_tour_by_tourid.columns = [x + "_previous" for x in PREV_TOUR_COLUMNS] return previous_tour_by_tourid -def tdd_interaction_dataset(tours, alts, timetable, choice_column, window_id_col, trace_label): +def tdd_interaction_dataset( + tours, alts, timetable, choice_column, window_id_col, trace_label +): """ interaction_sample_simulate expects alts index same as choosers (e.g. tour_id) @@ -382,11 +476,11 @@ def tdd_interaction_dataset(tours, alts, timetable, choice_column, window_id_col """ - trace_label = tracing.extend_trace_label(trace_label, 'tdd_interaction_dataset') + trace_label = tracing.extend_trace_label(trace_label, "tdd_interaction_dataset") with chunk.chunk_log(trace_label): alts_ids = np.tile(alts.index, len(tours.index)) - chunk.log_df(trace_label, 'alts_ids', alts_ids) + chunk.log_df(trace_label, "alts_ids", alts_ids) tour_ids = np.repeat(tours.index, len(alts.index)) window_row_ids = np.repeat(tours[window_id_col], len(alts.index)) @@ -401,15 +495,21 @@ def tdd_interaction_dataset(tours, alts, timetable, choice_column, window_id_col alt_tdd.insert(loc=0, column=choice_column, value=alts_ids) # slice out all non-available tours - available = timetable.tour_available(alt_tdd[window_id_col], alt_tdd[choice_column]) - logger.debug(f"tdd_interaction_dataset keeping {available.sum()} of ({len(available)}) available alt_tdds") + available = timetable.tour_available( + alt_tdd[window_id_col], alt_tdd[choice_column] + ) + logger.debug( + f"tdd_interaction_dataset keeping {available.sum()} of ({len(available)}) available alt_tdds" + ) assert available.any() - chunk.log_df(trace_label, 'alt_tdd', alt_tdd) # catch this before we slice on available + chunk.log_df( + trace_label, "alt_tdd", alt_tdd + ) # catch this before we slice on available alt_tdd = alt_tdd[available] - chunk.log_df(trace_label, 'alt_tdd', alt_tdd) + chunk.log_df(trace_label, "alt_tdd", alt_tdd) # FIXME - don't need this any more after slicing del alt_tdd[window_id_col] @@ -441,41 +541,57 @@ def run_alts_preprocessor(model_settings, alts, segment, locals_dict, trace_labe annotated copy of alts """ - preprocessor_settings = model_settings.get('ALTS_PREPROCESSOR', {}) + preprocessor_settings = model_settings.get("ALTS_PREPROCESSOR", {}) if segment in preprocessor_settings: # segmented by logsum_tour_purpose preprocessor_settings = preprocessor_settings.get(segment) - logger.debug(f"running ALTS_PREPROCESSOR with spec for {segment}: {preprocessor_settings.get('SPEC')}") - elif 'SPEC' in preprocessor_settings: + logger.debug( + f"running ALTS_PREPROCESSOR with spec for {segment}: {preprocessor_settings.get('SPEC')}" + ) + elif "SPEC" in preprocessor_settings: # unsegmented (either because no segmentation, or fallback if settings has generic preprocessor) - logger.debug(f"running ALTS_PREPROCESSOR with unsegmented spec {preprocessor_settings.get('SPEC')}") + logger.debug( + f"running ALTS_PREPROCESSOR with unsegmented spec {preprocessor_settings.get('SPEC')}" + ) else: - logger.debug(f"skipping alts preprocesser because no ALTS_PREPROCESSOR segment for {segment}") + logger.debug( + f"skipping alts preprocesser because no ALTS_PREPROCESSOR segment for {segment}" + ) preprocessor_settings = None if preprocessor_settings: - logger.debug(f"run_alts_preprocessor calling assign_columns for {segment} preprocessor_settings") + logger.debug( + f"run_alts_preprocessor calling assign_columns for {segment} preprocessor_settings" + ) alts = alts.copy() expressions.assign_columns( df=alts, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) return alts def _schedule_tours( - tours, persons_merged, alts, - spec, logsum_tour_purpose, - model_settings, skims, - timetable, window_id_col, - previous_tour, tour_owner_id_col, - estimator, - tour_trace_label): + tours, + persons_merged, + alts, + spec, + logsum_tour_purpose, + model_settings, + skims, + timetable, + window_id_col, + previous_tour, + tour_owner_id_col, + estimator, + tour_trace_label, +): """ previous_tour stores values used to add columns that can be used in the spec which have to do with the previous tours per person. Every column in the @@ -520,12 +636,19 @@ def _schedule_tours( """ - logger.info("%s schedule_tours running %d tour choices" % (tour_trace_label, len(tours))) + logger.info( + "%s schedule_tours running %d tour choices" % (tour_trace_label, len(tours)) + ) # merge persons into tours # avoid dual suffix for redundant columns names (e.g. household_id) that appear in both - tours = pd.merge(tours, persons_merged, left_on='person_id', right_index=True, - suffixes=('', '_y')) + tours = pd.merge( + tours, + persons_merged, + left_on="person_id", + right_index=True, + suffixes=("", "_y"), + ) chunk.log_df(tour_trace_label, "tours", tours) # - add explicit window_id_col for timetable owner if it is index @@ -542,31 +665,34 @@ def _schedule_tours( # dataframe columns start, end , duration, person_id, tdd # indexed (not unique) on tour_id choice_column = TDD_CHOICE_COLUMN - alt_tdd = tdd_interaction_dataset(tours, alts, timetable, choice_column, window_id_col, - tour_trace_label) + alt_tdd = tdd_interaction_dataset( + tours, alts, timetable, choice_column, window_id_col, tour_trace_label + ) # print(f"tours {tours.shape} alts {alts.shape}") chunk.log_df(tour_trace_label, "alt_tdd", alt_tdd) # - add logsums if logsum_tour_purpose: - logsums = compute_logsums(alt_tdd, tours, logsum_tour_purpose, model_settings, skims, tour_trace_label) + logsums = compute_logsums( + alt_tdd, tours, logsum_tour_purpose, model_settings, skims, tour_trace_label + ) else: logsums = 0 - alt_tdd['mode_choice_logsum'] = logsums + alt_tdd["mode_choice_logsum"] = logsums del logsums chunk.log_df(tour_trace_label, "alt_tdd", alt_tdd) # - merge in previous tour columns # adds start_previous and end_previous, joins on index - tours = tours.join(get_previous_tour_by_tourid(tours[tour_owner_id_col], previous_tour, alts)) + tours = tours.join( + get_previous_tour_by_tourid(tours[tour_owner_id_col], previous_tour, alts) + ) chunk.log_df(tour_trace_label, "tours", tours) # - make choices - locals_d = { - 'tt': timetable - } + locals_d = {"tt": timetable} constants = config.get_model_constants(model_settings) if constants is not None: locals_d.update(constants) @@ -574,13 +700,17 @@ def _schedule_tours( if not RUN_ALTS_PREPROCESSOR_BEFORE_MERGE: # Note: Clint was running alts_preprocessor here on tdd_interaction_dataset instead of on raw (unmerged) alts # and he was using logsum_tour_purpose as selector, although logically it should be the spec_segment - # It just happened to work for example_arc.mandatory_tour_scheduling because, in that model, (unlike semcog) + # It just happened to work for prototype_arc.mandatory_tour_scheduling because, in that model, (unlike semcog) # logsum_tour_purpose and spec_segments are aligned (both logsums and spec are segmented on work, school, univ) # In any case, I don't see any benefit to doing this here - at least not for any existing implementations # but if we do, it will require passing spec_segment to schedule_tours and _schedule_tours # or redundently segmenting alts (yuck!) to conform to more granular tour_segmentation (e.g. univ do school) - spec_segment = logsum_tour_purpose # FIXME this is not always right - see note above - alt_tdd = run_alts_preprocessor(model_settings, alt_tdd, spec_segment, locals_d, tour_trace_label) + spec_segment = ( + logsum_tour_purpose # FIXME this is not always right - see note above + ) + alt_tdd = run_alts_preprocessor( + model_settings, alt_tdd, spec_segment, locals_d, tour_trace_label + ) chunk.log_df(tour_trace_label, "alt_tdd", alt_tdd) if estimator: @@ -589,7 +719,7 @@ def _schedule_tours( estimator.set_alt_id(choice_column) estimator.write_interaction_sample_alternatives(alt_tdd) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample_simulate( tours, @@ -600,9 +730,9 @@ def _schedule_tours( locals_d=locals_d, chunk_size=0, trace_label=tour_trace_label, - estimator=estimator + estimator=estimator, ) - chunk.log_df(tour_trace_label, 'choices', choices) + chunk.log_df(tour_trace_label, "choices", choices) # - update previous_tour and timetable parameters @@ -616,13 +746,21 @@ def _schedule_tours( def schedule_tours( - tours, persons_merged, alts, - spec, logsum_tour_purpose, - model_settings, - timetable, timetable_window_id_col, - previous_tour, tour_owner_id_col, - estimator, - chunk_size, tour_trace_label, tour_chunk_tag): + tours, + persons_merged, + alts, + spec, + logsum_tour_purpose, + model_settings, + timetable, + timetable_window_id_col, + previous_tour, + tour_owner_id_col, + estimator, + chunk_size, + tour_trace_label, + tour_chunk_tag, +): """ chunking wrapper for _schedule_tours @@ -637,7 +775,9 @@ def schedule_tours( logger.info("schedule_tours %s tours not monotonic_increasing - sorting df") tours = tours.sort_index() - logger.info("%s schedule_tours running %d tour choices" % (tour_trace_label, len(tours))) + logger.info( + "%s schedule_tours running %d tour choices" % (tour_trace_label, len(tours)) + ) # no more than one tour per timetable_window per call if timetable_window_id_col is None: @@ -645,27 +785,36 @@ def schedule_tours( else: assert not tours[timetable_window_id_col].duplicated().any() - if 'LOGSUM_SETTINGS' in model_settings: + if "LOGSUM_SETTINGS" in model_settings: # we need skims to calculate tvpb skim overhead in 3_ZONE systems for use by calc_rows_per_chunk skims = skims_for_logsums(logsum_tour_purpose, model_settings, tour_trace_label) else: skims = None result_list = [] - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(tours, chunk_size, tour_trace_label, tour_chunk_tag): - - choices = _schedule_tours(chooser_chunk, persons_merged, - alts, spec, logsum_tour_purpose, - model_settings, skims, - timetable, timetable_window_id_col, - previous_tour, tour_owner_id_col, - estimator, - tour_trace_label=chunk_trace_label) + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + tours, chunk_size, tour_trace_label, tour_chunk_tag + ): + + choices = _schedule_tours( + chooser_chunk, + persons_merged, + alts, + spec, + logsum_tour_purpose, + model_settings, + skims, + timetable, + timetable_window_id_col, + previous_tour, + tour_owner_id_col, + estimator, + tour_trace_label=chunk_trace_label, + ) result_list.append(choices) - chunk.log_df(tour_trace_label, f'result_list', result_list) + chunk.log_df(tour_trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: @@ -678,10 +827,17 @@ def schedule_tours( return choices -def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, - tour_segments, tour_segment_col, - model_settings, - chunk_size=0, trace_label=None): +def vectorize_tour_scheduling( + tours, + persons_merged, + alts, + timetable, + tour_segments, + tour_segment_col, + model_settings, + chunk_size=0, + trace_label=None, +): """ The purpose of this method is fairly straightforward - it takes tours and schedules them into time slots. Alternatives should be specified so @@ -722,11 +878,11 @@ def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, persons timetable updated with tours (caller should replace_table for it to persist) """ - trace_label = tracing.extend_trace_label(trace_label, 'vectorize_tour_scheduling') + trace_label = tracing.extend_trace_label(trace_label, "vectorize_tour_scheduling") assert len(tours.index) > 0 - assert 'tour_num' in tours.columns - assert 'tour_type' in tours.columns + assert "tour_num" in tours.columns + assert "tour_type" in tours.columns # tours must be scheduled in increasing trip_num order # second trip of type must be in group immediately following first @@ -737,9 +893,9 @@ def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, # initialize with first trip from alts previous_tour_by_personid = pd.Series(alts.index[0], index=tours.person_id.unique()) - timetable_window_id_col = 'person_id' - tour_owner_id_col = 'person_id' - compute_logsums = ('LOGSUM_SETTINGS' in model_settings) + timetable_window_id_col = "person_id" + tour_owner_id_col = "person_id" + compute_logsums = "LOGSUM_SETTINGS" in model_settings assert isinstance(tour_segments, dict) @@ -748,44 +904,62 @@ def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, # second trip of type must be in group immediately following first # segregate scheduling by tour_type if multiple specs passed in dict keyed by tour_type - for tour_num, nth_tours in tours.groupby('tour_num', sort=True): + for tour_num, nth_tours in tours.groupby("tour_num", sort=True): - tour_trace_label = tracing.extend_trace_label(trace_label, f'tour_{tour_num}') - tour_chunk_tag = tracing.extend_trace_label(trace_label, f"tour_{1 if tour_num == 1 else 'n'}") + tour_trace_label = tracing.extend_trace_label(trace_label, f"tour_{tour_num}") + tour_chunk_tag = tracing.extend_trace_label( + trace_label, f"tour_{1 if tour_num == 1 else 'n'}" + ) if tour_segment_col is not None: for tour_segment_name, tour_segment_info in tour_segments.items(): - segment_trace_label = tracing.extend_trace_label(tour_trace_label, tour_segment_name) - segment_chunk_tag = tracing.extend_trace_label(tour_chunk_tag, tour_segment_name) + segment_trace_label = tracing.extend_trace_label( + tour_trace_label, tour_segment_name + ) + segment_chunk_tag = tracing.extend_trace_label( + tour_chunk_tag, tour_segment_name + ) # assume segmentation of spec and coefficients are aligned - spec_segment_name = tour_segment_info.get('spec_segment_name') + spec_segment_name = tour_segment_info.get("spec_segment_name") # assume logsum segmentation is same as tours logsum_tour_purpose = tour_segment_name if compute_logsums else None - nth_tours_in_segment = nth_tours[nth_tours[tour_segment_col] == tour_segment_name] + nth_tours_in_segment = nth_tours[ + nth_tours[tour_segment_col] == tour_segment_name + ] if nth_tours_in_segment.empty: logger.info("skipping empty segment %s" % tour_segment_name) continue if RUN_ALTS_PREPROCESSOR_BEFORE_MERGE: locals_dict = {} - alts = run_alts_preprocessor(model_settings, alts, spec_segment_name, locals_dict, tour_trace_label) - - choices = \ - schedule_tours(nth_tours_in_segment, persons_merged, alts, - spec=tour_segment_info['spec'], - logsum_tour_purpose=logsum_tour_purpose, - model_settings=model_settings, - timetable=timetable, - timetable_window_id_col=timetable_window_id_col, - previous_tour=previous_tour_by_personid, - tour_owner_id_col=tour_owner_id_col, - estimator=tour_segment_info.get('estimator'), - chunk_size=chunk_size, - tour_trace_label=segment_trace_label, tour_chunk_tag=segment_chunk_tag) + alts = run_alts_preprocessor( + model_settings, + alts, + spec_segment_name, + locals_dict, + tour_trace_label, + ) + + choices = schedule_tours( + nth_tours_in_segment, + persons_merged, + alts, + spec=tour_segment_info["spec"], + logsum_tour_purpose=logsum_tour_purpose, + model_settings=model_settings, + timetable=timetable, + timetable_window_id_col=timetable_window_id_col, + previous_tour=previous_tour_by_personid, + tour_owner_id_col=tour_owner_id_col, + estimator=tour_segment_info.get("estimator"), + chunk_size=chunk_size, + tour_trace_label=segment_trace_label, + tour_chunk_tag=segment_chunk_tag, + ) choice_list.append(choices) @@ -794,21 +968,27 @@ def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, # MTC non_mandatory_tours are not segmented by tour_purpose and do not require logsums # FIXME should support logsums? - assert not compute_logsums, "logsums for unsegmented spec not implemented because not currently needed" - assert tour_segments.get('spec_segment_name') is None - - choices = \ - schedule_tours(nth_tours, persons_merged, alts, - spec=tour_segments['spec'], - logsum_tour_purpose=None, - model_settings=model_settings, - timetable=timetable, - timetable_window_id_col=timetable_window_id_col, - previous_tour=previous_tour_by_personid, - tour_owner_id_col=tour_owner_id_col, - estimator=tour_segments.get('estimator'), - chunk_size=chunk_size, - tour_trace_label=tour_trace_label, tour_chunk_tag=tour_chunk_tag) + assert ( + not compute_logsums + ), "logsums for unsegmented spec not implemented because not currently needed" + assert tour_segments.get("spec_segment_name") is None + + choices = schedule_tours( + nth_tours, + persons_merged, + alts, + spec=tour_segments["spec"], + logsum_tour_purpose=None, + model_settings=model_settings, + timetable=timetable, + timetable_window_id_col=timetable_window_id_col, + previous_tour=previous_tour_by_personid, + tour_owner_id_col=tour_owner_id_col, + estimator=tour_segments.get("estimator"), + chunk_size=chunk_size, + tour_trace_label=tour_trace_label, + tour_chunk_tag=tour_chunk_tag, + ) choice_list.append(choices) @@ -816,10 +996,17 @@ def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, return choices -def vectorize_subtour_scheduling(parent_tours, subtours, persons_merged, alts, spec, - model_settings, - estimator, - chunk_size=0, trace_label=None): +def vectorize_subtour_scheduling( + parent_tours, + subtours, + persons_merged, + alts, + spec, + model_settings, + estimator, + chunk_size=0, + trace_label=None, +): """ Like vectorize_tour_scheduling but specifically for atwork subtours @@ -855,14 +1042,14 @@ def vectorize_subtour_scheduling(parent_tours, subtours, persons_merged, alts, s DataFrame and the values are the index of the alts DataFrame. """ if not trace_label: - trace_label = 'vectorize_non_mandatory_tour_scheduling' + trace_label = "vectorize_non_mandatory_tour_scheduling" assert len(subtours.index) > 0 - assert 'tour_num' in subtours.columns - assert 'tour_type' in subtours.columns + assert "tour_num" in subtours.columns + assert "tour_type" in subtours.columns - timetable_window_id_col = 'parent_tour_id' - tour_owner_id_col = 'parent_tour_id' + timetable_window_id_col = "parent_tour_id" + tour_owner_id_col = "parent_tour_id" logsum_tour_purpose = None # FIXME logsums not currently supported # timetable with a window for each parent tour @@ -884,30 +1071,40 @@ def vectorize_subtour_scheduling(parent_tours, subtours, persons_merged, alts, s # keep a series of the the most recent tours for each person # initialize with first trip from alts - previous_tour_by_parent_tour_id = \ - pd.Series(alts.index[0], index=subtours['parent_tour_id'].unique()) + previous_tour_by_parent_tour_id = pd.Series( + alts.index[0], index=subtours["parent_tour_id"].unique() + ) # tours must be scheduled in increasing trip_num order # second trip of type must be in group immediately following first # this ought to have been ensured when tours are created (tour_frequency.process_tours) - for tour_num, nth_tours in subtours.groupby('tour_num', sort=True): + for tour_num, nth_tours in subtours.groupby("tour_num", sort=True): - tour_trace_label = tracing.extend_trace_label(trace_label, f'tour_{tour_num}') - tour_chunk_tag = tracing.extend_trace_label(trace_label, f"tour_{1 if tour_num == 1 else 'n'}") + tour_trace_label = tracing.extend_trace_label(trace_label, f"tour_{tour_num}") + tour_chunk_tag = tracing.extend_trace_label( + trace_label, f"tour_{1 if tour_num == 1 else 'n'}" + ) # no more than one tour per timetable window per call to schedule_tours assert not nth_tours.parent_tour_id.duplicated().any() - choices = \ - schedule_tours(nth_tours, - persons_merged, alts, - spec, logsum_tour_purpose, - model_settings, - timetable, timetable_window_id_col, - previous_tour_by_parent_tour_id, tour_owner_id_col, - estimator, - chunk_size, tour_trace_label, tour_chunk_tag) + choices = schedule_tours( + nth_tours, + persons_merged, + alts, + spec, + logsum_tour_purpose, + model_settings, + timetable, + timetable_window_id_col, + previous_tour_by_parent_tour_id, + tour_owner_id_col, + estimator, + chunk_size, + tour_trace_label, + tour_chunk_tag, + ) choice_list.append(choices) @@ -926,30 +1123,43 @@ def vectorize_subtour_scheduling(parent_tours, subtours, persons_merged, alts, s return choices -def build_joint_tour_timetables(joint_tours, joint_tour_participants, persons_timetable, alts): +def build_joint_tour_timetables( + joint_tours, joint_tour_participants, persons_timetable, alts +): # timetable with a window for each joint tour joint_tour_windows_df = tt.create_timetable_windows(joint_tours, alts) joint_tour_timetable = tt.TimeTable(joint_tour_windows_df, alts) - for participant_num, nth_participants in \ - joint_tour_participants.groupby('participant_num', sort=True): + for participant_num, nth_participants in joint_tour_participants.groupby( + "participant_num", sort=True + ): # nth_participant windows from persons_timetable - participant_windows = persons_timetable.slice_windows_by_row_id(nth_participants.person_id) + participant_windows = persons_timetable.slice_windows_by_row_id( + nth_participants.person_id + ) # assign them joint_tour_timetable - joint_tour_timetable.assign_footprints(nth_participants.tour_id, participant_windows) + joint_tour_timetable.assign_footprints( + nth_participants.tour_id, participant_windows + ) return joint_tour_timetable def vectorize_joint_tour_scheduling( - joint_tours, joint_tour_participants, - persons_merged, alts, persons_timetable, - spec, model_settings, - estimator, - chunk_size=0, trace_label=None): + joint_tours, + joint_tour_participants, + persons_merged, + alts, + persons_timetable, + spec, + model_settings, + estimator, + chunk_size=0, + trace_label=None, +): """ Like vectorize_tour_scheduling but specifically for joint tours @@ -981,21 +1191,25 @@ def vectorize_joint_tour_scheduling( timetable updated with joint tours (caller should replace_table for it to persist) """ - trace_label = tracing.extend_trace_label(trace_label, 'vectorize_joint_tour_scheduling') + trace_label = tracing.extend_trace_label( + trace_label, "vectorize_joint_tour_scheduling" + ) assert len(joint_tours.index) > 0 - assert 'tour_num' in joint_tours.columns - assert 'tour_type' in joint_tours.columns + assert "tour_num" in joint_tours.columns + assert "tour_type" in joint_tours.columns timetable_window_id_col = None - tour_owner_id_col = 'household_id' + tour_owner_id_col = "household_id" logsum_tour_purpose = None # FIXME logsums not currently supported choice_list = [] # keep a series of the the most recent tours for each person # initialize with first trip from alts - previous_tour_by_householdid = pd.Series(alts.index[0], index=joint_tours.household_id.unique()) + previous_tour_by_householdid = pd.Series( + alts.index[0], index=joint_tours.household_id.unique() + ) # tours must be scheduled in increasing trip_num order # second trip of type must be in group immediately following first @@ -1004,36 +1218,45 @@ def vectorize_joint_tour_scheduling( # print "participant windows before scheduling\n%s" % \ # persons_timetable.slice_windows_by_row_id(joint_tour_participants.person_id) - for tour_num, nth_tours in joint_tours.groupby('tour_num', sort=True): + for tour_num, nth_tours in joint_tours.groupby("tour_num", sort=True): - tour_trace_label = tracing.extend_trace_label(trace_label, f'tour_{tour_num}') - tour_chunk_tag = tracing.extend_trace_label(trace_label, f"tour_{1 if tour_num == 1 else 'n'}") + tour_trace_label = tracing.extend_trace_label(trace_label, f"tour_{tour_num}") + tour_chunk_tag = tracing.extend_trace_label( + trace_label, f"tour_{1 if tour_num == 1 else 'n'}" + ) # no more than one tour per household per call to schedule_tours assert not nth_tours.household_id.duplicated().any() - nth_participants = \ - joint_tour_participants[joint_tour_participants.tour_id.isin(nth_tours.index)] + nth_participants = joint_tour_participants[ + joint_tour_participants.tour_id.isin(nth_tours.index) + ] timetable = build_joint_tour_timetables( - nth_tours, nth_participants, - persons_timetable, alts) - - choices = \ - schedule_tours(nth_tours, - persons_merged, alts, - spec, - logsum_tour_purpose, - model_settings, - timetable, timetable_window_id_col, - previous_tour_by_householdid, tour_owner_id_col, - estimator, - chunk_size, tour_trace_label, tour_chunk_tag) + nth_tours, nth_participants, persons_timetable, alts + ) + + choices = schedule_tours( + nth_tours, + persons_merged, + alts, + spec, + logsum_tour_purpose, + model_settings, + timetable, + timetable_window_id_col, + previous_tour_by_householdid, + tour_owner_id_col, + estimator, + chunk_size, + tour_trace_label, + tour_chunk_tag, + ) # - update timetables of all joint tour participants persons_timetable.assign( - nth_participants.person_id, - reindex(choices, nth_participants.tour_id)) + nth_participants.person_id, reindex(choices, nth_participants.tour_id) + ) choice_list.append(choices) diff --git a/activitysim/abm/models/vehicle_allocation.py b/activitysim/abm/models/vehicle_allocation.py new file mode 100644 index 0000000000..e68abc386d --- /dev/null +++ b/activitysim/abm/models/vehicle_allocation.py @@ -0,0 +1,257 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import itertools +import logging +import os + +import numpy as np +import pandas as pd + +from activitysim.core import ( + assign, + config, + expressions, + inject, + logit, + los, + pipeline, + simulate, + tracing, +) +from activitysim.core.interaction_simulate import interaction_simulate +from activitysim.core.util import assign_in_place + +from .util import estimation +from .util.mode import mode_choice_simulate + +logger = logging.getLogger(__name__) + + +def annotate_vehicle_allocation(model_settings, trace_label): + """ + Add columns to the tours table in the pipeline according to spec. + + Parameters + ---------- + model_settings : dict + trace_label : str + """ + tours = inject.get_table("tours").to_frame() + expressions.assign_columns( + df=tours, + model_settings=model_settings.get("annotate_tours"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), + ) + pipeline.replace_table("tours", tours) + + +def get_skim_dict(network_los, choosers): + """ + Returns a dictionary of skim wrappers to use in expression writing. + + Skims have origin as home_zone_id and destination as the tour destination. + + Parameters + ---------- + network_los : activitysim.core.los.Network_LOS object + choosers : pd.DataFrame + + Returns + ------- + skims : dict + index is skim wrapper name, value is the skim wrapper + """ + skim_dict = network_los.get_default_skim_dict() + orig_col_name = "home_zone_id" + dest_col_name = "destination" + + out_time_col_name = "start" + in_time_col_name = "end" + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="out_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="in_period" + ) + + choosers["in_period"] = network_los.skim_time_period_label( + choosers[in_time_col_name] + ) + choosers["out_period"] = network_los.skim_time_period_label( + choosers[out_time_col_name] + ) + + skims = { + "odt_skims": odt_skim_stack_wrapper.set_df(choosers), + "dot_skims": dot_skim_stack_wrapper.set_df(choosers), + } + return skims + + +@inject.step() +def vehicle_allocation( + persons, + households, + vehicles, + tours, + tours_merged, + network_los, + chunk_size, + trace_hh_id, +): + """Selects a vehicle for each occupancy level for each tour. + + Alternatives consist of the up to the number of household vehicles plus one + option for non-household vehicles. + + The model will be run once for each tour occupancy defined in the model yaml. + Output tour table will columns added for each occupancy level. + + The user may also augment the `tours` tables with new vehicle + type-based fields specified via the annotate_tours option. + + Parameters + ---------- + persons : orca.DataFrameWrapper + households : orca.DataFrameWrapper + vehicles : orca.DataFrameWrapper + vehicles_merged : orca.DataFrameWrapper + tours : orca.DataFrameWrapper + tours_merged : orca.DataFrameWrapper + chunk_size : orca.injectable + trace_hh_id : orca.injectable + """ + trace_label = "vehicle_allocation" + model_settings_file_name = "vehicle_allocation.yaml" + model_settings = config.read_model_settings(model_settings_file_name) + + logsum_column_name = model_settings.get("MODE_CHOICE_LOGSUM_COLUMN_NAME") + + estimator = estimation.manager.begin_estimation("vehicle_allocation") + + model_spec_raw = simulate.read_model_spec(file_name=model_settings["SPEC"]) + coefficients_df = simulate.read_model_coefficients(model_settings) + model_spec = simulate.eval_coefficients(model_spec_raw, coefficients_df, estimator) + + nest_spec = config.get_logit_model_settings(model_settings) + constants = config.get_model_constants(model_settings) + + locals_dict = {} + locals_dict.update(constants) + locals_dict.update(coefficients_df) + + # ------ constructing alternatives from model spec and joining to choosers + vehicles_wide = vehicles.to_frame().pivot_table( + index="household_id", + columns="vehicle_num", + values="vehicle_type", + aggfunc=lambda x: "".join(x), + ) + + alts_from_spec = model_spec.columns + # renaming vehicle numbers to alternative names in spec + vehicle_alt_columns_dict = {} + for veh_num in range(1, len(alts_from_spec)): + vehicle_alt_columns_dict[veh_num] = alts_from_spec[veh_num - 1] + vehicles_wide.rename(columns=vehicle_alt_columns_dict, inplace=True) + + # if the number of vehicles is less than the alternatives, fill with NA + # e.g. all households only have 1 or 2 vehicles because of small sample size, + # still need columns for alternatives 3 and 4 + for veh_num, col_name in vehicle_alt_columns_dict.items(): + if col_name not in vehicles_wide.columns: + vehicles_wide[col_name] = "" + + # last entry in spec is the non-hh-veh option + assert ( + alts_from_spec[-1] == "non_hh_veh" + ), "Last option in spec needs to be non_hh_veh" + vehicles_wide[alts_from_spec[-1]] = "" + + # merging vehicle alternatives to choosers + choosers = tours_merged.to_frame().reset_index() + choosers = pd.merge(choosers, vehicles_wide, how="left", on="household_id") + choosers.set_index("tour_id", inplace=True) + + # ----- setup skim keys + skims = get_skim_dict(network_los, choosers) + locals_dict.update(skims) + + # ------ preprocessor + preprocessor_settings = model_settings.get("preprocessor", None) + if preprocessor_settings: + expressions.assign_columns( + df=choosers, + model_settings=preprocessor_settings, + locals_dict=locals_dict, + trace_label=trace_label, + ) + + logger.info("Running %s with %d tours", trace_label, len(choosers)) + + if estimator: + estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_spec(model_settings) + estimator.write_coefficients(coefficients_df, model_settings) + estimator.write_choosers(choosers) + + tours = tours.to_frame() + + # ------ running for each occupancy level selected + tours_veh_occup_cols = [] + for occup in model_settings.get("OCCUPANCY_LEVELS", [1]): + logger.info("Running for occupancy = %d", occup) + # setting occup for access in spec expressions + locals_dict.update({"occup": occup}) + + choices = simulate.simple_simulate( + choosers=choosers, + spec=model_spec, + nest_spec=nest_spec, + skims=skims, + locals_d=locals_dict, + chunk_size=chunk_size, + trace_label=trace_label, + trace_choice_name="vehicle_allocation", + estimator=estimator, + ) + + # matching alt names to choices + choices = choices.map(dict(enumerate(alts_from_spec))).to_frame() + choices.columns = ["alt_choice"] + + # last alternative is the non-household vehicle option + for alt in alts_from_spec[:-1]: + choices.loc[choices["alt_choice"] == alt, "choice"] = choosers.loc[ + choices["alt_choice"] == alt, alt + ] + choices.loc[ + choices["alt_choice"] == alts_from_spec[-1], "choice" + ] = alts_from_spec[-1] + + # creating a column for choice of each occupancy level + tours_veh_occup_col = f"vehicle_occup_{occup}" + tours[tours_veh_occup_col] = choices["choice"] + tours_veh_occup_cols.append(tours_veh_occup_col) + + if estimator: + estimator.write_choices(choices) + choices = estimator.get_survey_values( + choices, "households", "vehicle_allocation" + ) + estimator.write_override_choices(choices) + estimator.end_estimation() + + pipeline.replace_table("tours", tours) + + tracing.print_summary( + "vehicle_allocation", tours[tours_veh_occup_cols], value_counts=True + ) + + annotate_settings = model_settings.get("annotate_tours", None) + if annotate_settings: + annotate_vehicle_allocation(model_settings, trace_label) + + if trace_hh_id: + tracing.trace_df(tours, label="vehicle_allocation", warn_if_empty=True) diff --git a/activitysim/abm/models/vehicle_type_choice.py b/activitysim/abm/models/vehicle_type_choice.py new file mode 100644 index 0000000000..95723eb9d3 --- /dev/null +++ b/activitysim/abm/models/vehicle_type_choice.py @@ -0,0 +1,568 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import itertools +import logging +import os + +import numpy as np +import pandas as pd + +from activitysim.core import ( + assign, + config, + expressions, + inject, + logit, + los, + pipeline, + simulate, + tracing, +) +from activitysim.core.interaction_simulate import interaction_simulate +from activitysim.core.util import assign_in_place + +from .util import estimation + +logger = logging.getLogger(__name__) + + +def append_probabilistic_vehtype_type_choices(choices, model_settings, trace_label): + """ + Select a fuel type for the provided body type and age of the vehicle. + + Make probabilistic choices based on the `PROBS_SPEC` file. + + Parameters + ---------- + choices : pandas.DataFrame + selection of {body_type}_{age} to append vehicle type to + probs_spec_file : str + trace_label : str + + Returns + ------- + choices : pandas.DataFrame + table of chosen vehicle types + """ + probs_spec_file = model_settings.get("PROBS_SPEC", None) + probs_spec = pd.read_csv(config.config_file_path(probs_spec_file), comment="#") + + fleet_year = model_settings.get("FLEET_YEAR") + probs_spec["age"] = (1 + fleet_year - probs_spec["vehicle_year"]).astype(int) + probs_spec["vehicle_type"] = ( + probs_spec[["body_type", "age"]].astype(str).agg("_".join, axis=1) + ) + + # left join vehicles to probs + choosers = pd.merge( + choices.reset_index(), probs_spec, on="vehicle_type", how="left", indicator=True + ).set_index("vehicle_id") + + # checking to make sure all alternatives have probabilities + missing_alts = choosers.loc[choosers._merge == "left_only", ["vehicle_type"]] + assert ( + len(missing_alts) == 0 + ), f"missing probabilities for alternatives:\n {missing_alts}" + + # chooser columns here should just be the fuel type probabilities + non_prob_cols = ["_merge", "vehicle_type", "body_type", "age", "vehicle_year"] + choosers.drop(columns=non_prob_cols, inplace=True) + + # probs should sum to 1 with residual probs resulting in choice of 'fail' + chooser_probs = choosers.div(choosers.sum(axis=1), axis=0).fillna(0) + chooser_probs["fail"] = 1 - chooser_probs.sum(axis=1).clip(0, 1) + + # make probabilistic choices + prob_choices, rands = logit.make_choices( + chooser_probs, trace_label=trace_label, trace_choosers=choosers + ) + + # convert alt choice index to vehicle type attribute + prob_choices = chooser_probs.columns[prob_choices.values].to_series( + index=prob_choices.index + ) + failed = prob_choices == chooser_probs.columns.get_loc("fail") + prob_choices = prob_choices.where(~failed, "NOT CHOSEN") + + # add new attribute to logit choice vehicle types + choices["vehicle_type"] = choices["vehicle_type"] + "_" + prob_choices + + return choices + + +def annotate_vehicle_type_choice_households(model_settings, trace_label): + """ + Add columns to the households table in the pipeline according to spec. + + Parameters + ---------- + model_settings : dict + trace_label : str + """ + households = inject.get_table("households").to_frame() + expressions.assign_columns( + df=households, + model_settings=model_settings.get("annotate_households"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_households"), + ) + pipeline.replace_table("households", households) + + +def annotate_vehicle_type_choice_persons(model_settings, trace_label): + """ + Add columns to the persons table in the pipeline according to spec. + + Parameters + ---------- + model_settings : dict + trace_label : str + """ + persons = inject.get_table("persons").to_frame() + expressions.assign_columns( + df=persons, + model_settings=model_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) + pipeline.replace_table("persons", households) + + +def annotate_vehicle_type_choice_vehicles(model_settings, trace_label): + """ + Add columns to the vehicles table in the pipeline according to spec. + + Parameters + ---------- + model_settings : dict + trace_label : str + """ + vehicles = inject.get_table("vehicles").to_frame() + expressions.assign_columns( + df=vehicles, + model_settings=model_settings.get("annotate_vehicles"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_vehicles"), + ) + pipeline.replace_table("vehicles", vehicles) + + +def get_combinatorial_vehicle_alternatives(alts_cats_dict): + """ + Build a pandas dataframe containing columns for each vehicle alternative. + + Rows will correspond to the alternative number and will be 0 except for the + 1 in the column corresponding to that alternative. + + Parameters + ---------- + alts_cats_dict : dict + model_settings : dict + + Returns + ------- + alts_wide : pd.DataFrame in wide format expanded using pandas get_dummies function + alts_long : pd.DataFrame in long format + """ + cat_cols = list(alts_cats_dict.keys()) # e.g. fuel type, body type, age + alts_long = pd.DataFrame( + list(itertools.product(*alts_cats_dict.values())), columns=alts_cats_dict.keys() + ).astype(str) + alts_wide = pd.get_dummies(alts_long) # rows will sum to num_cats + + alts_wide = pd.concat([alts_wide, alts_long], axis=1) + return alts_wide, alts_long + + +def construct_model_alternatives(model_settings, alts_cats_dict, vehicle_type_data): + """ + Construct the table of vehicle type alternatives. + + Vehicle type data is joined to the alternatives table for use in utility expressions. + + Parameters + ---------- + model_settings : dict + alts_cats_dict : dict + nested dictionary of vehicle body, age, and fuel options + vehicle_type_data : pandas.DataFrame + + Returns + ------- + alts_wide : pd.DataFrame + includes column indicators and data for each alternative + alts_long : pd.DataFrame + rows just list the alternatives + """ + probs_spec_file = model_settings.get("PROBS_SPEC", None) + if probs_spec_file: + # do not include alternatives from fuel_type if they are given probabilisticly + del alts_cats_dict["fuel_type"] + alts_wide, alts_long = get_combinatorial_vehicle_alternatives(alts_cats_dict) + + # merge vehicle type data to alternatives if data is provided + if (vehicle_type_data is not None) and (probs_spec_file is None): + + alts_wide = pd.merge( + alts_wide, + vehicle_type_data, + how="left", + on=["body_type", "fuel_type", "age"], + indicator=True, + ) + + # checking to make sure all alternatives have data + missing_alts = alts_wide.loc[ + alts_wide._merge == "left_only", ["body_type", "fuel_type", "age"] + ] + + assert ( + len(missing_alts) == 0 + ), f"missing vehicle data for alternatives:\n {missing_alts}" + alts_wide.drop(columns="_merge", inplace=True) + + # converting age to integer to allow interactions in utilities + alts_wide["age"] = alts_wide["age"].astype(int) + + # store alts in primary configs dir for inspection + configs_dirs = inject.get_injectable("configs_dir") + configs_dirs = configs_dirs if isinstance(configs_dirs, list) else [configs_dirs] + + if model_settings.get("WRITE_OUT_ALTS_FILE", False): + alts_wide.to_csv( + os.path.join(configs_dirs[0]), "vehicle_type_choice_aternatives.csv" + ) + + return alts_wide, alts_long + + +def get_vehicle_type_data(model_settings, vehicle_type_data_file): + """ + Read in the vehicle type data and computes the vehicle age. + + Parameters + ---------- + model_settings : dict + vehicle_type_data_file : str + name of vehicle type data file found in config folder + + Returns + ------- + vehicle_type_data : pandas.DataFrame + table of vehicle type data with required body_type, age, and fuel_type columns + """ + vehicle_type_data = pd.read_csv( + config.config_file_path(vehicle_type_data_file), comment="#" + ) + fleet_year = model_settings.get("FLEET_YEAR") + + vehicle_type_data["age"] = ( + 1 + fleet_year - vehicle_type_data["vehicle_year"] + ).astype(str) + vehicle_type_data["vehicle_type"] = ( + vehicle_type_data[["body_type", "age", "fuel_type"]] + .astype(str) + .agg("_".join, axis=1) + ) + + return vehicle_type_data + + +def iterate_vehicle_type_choice( + vehicles_merged, + model_settings, + model_spec, + locals_dict, + estimator, + chunk_size, + trace_label, +): + """ + Select vehicle type for each household vehicle sequentially. + + Iterate through household vehicle numbers and select a vehicle type of + the form {body_type}_{age}_{fuel_type}. The preprocessor is run for each + iteration on the entire chooser table, not just the one for the current + vehicle number. This allows for computation of terms involving the presence + of other household vehicles. + + Vehicle type data is read in according to the specification and joined to + the alternatives. It can optionally be included in the output vehicles table + by specifying the `COLS_TO_INCLUDE_IN_VEHICLE_TABLE` option in the model yaml. + + Parameters + ---------- + vehicles_merged : orca.DataFrameWrapper + vehicle list owned by each household merged with households table + model_settings : dict + yaml model settings file as dict + model_spec : pandas.DataFrame + omnibus spec file with expressions in index and one column per segment + locals_dict : dict + additional variables available when writing expressions + estimator : Estimator object + chunk_size : orca.injectable + trace_label : str + + Returns + ------- + all_choices : pandas.DataFrame + single table of selected vehicle types and associated data + all_choosers : pandas.DataFrame + single table of chooser data with preprocessor variables included + """ + # - model settings + nest_spec = config.get_logit_model_settings(model_settings) + vehicle_type_data_file = model_settings.get("VEHICLE_TYPE_DATA_FILE", None) + probs_spec_file = model_settings.get("PROBS_SPEC", None) + alts_cats_dict = model_settings.get("combinatorial_alts", False) + + # adding vehicle type data to be available to locals_dict regardless of option + if vehicle_type_data_file: + vehicle_type_data = get_vehicle_type_data( + model_settings, vehicle_type_data_file + ) + locals_dict.update({"vehicle_type_data": vehicle_type_data}) + + # - Preparing alternatives + # create alts on-the-fly as cartesian product of categorical values + if alts_cats_dict: + # do not include fuel types as alternatives if probability file is supplied + alts_wide, alts_long = construct_model_alternatives( + model_settings, alts_cats_dict, vehicle_type_data + ) + + # - preparing choosers for iterating + vehicles_merged = vehicles_merged.to_frame() + vehicles_merged["already_owned_veh"] = "" + logger.info("Running %s with %d vehicles", trace_label, len(vehicles_merged)) + all_choosers = [] + all_choices = [] + + # - Selecting each vehicle in the household sequentially + # This is necessary to determine and use utility terms that include other + # household vehicles + for veh_num in range(1, vehicles_merged.vehicle_num.max() + 1): + # - preprocessor + # running preprocessor on entire vehicle table to enumerate vehicle types + # already owned by the household + choosers = vehicles_merged + preprocessor_settings = model_settings.get("preprocessor", None) + if preprocessor_settings: + expressions.assign_columns( + df=choosers, + model_settings=preprocessor_settings, + locals_dict=locals_dict, + trace_label=trace_label, + ) + + # only make choices for vehicles that have not been selected yet + choosers = choosers[choosers["vehicle_num"] == veh_num] + logger.info( + "Running %s for vehicle number %s with %d vehicles", + trace_label, + veh_num, + len(choosers), + ) + + # if there were so many alts that they had to be created programmatically, + # by combining categorical variables, then the utility expressions should make + # use of interaction terms to accommodate alt-specific coefficients and constants + simulation_type = model_settings.get("SIMULATION_TYPE", "interaction_simulate") + assert (simulation_type == "interaction_simulate") or ( + simulation_type == "simple_simulate" + ), "SIMULATION_TYPE needs to be interaction_simulate or simple_simulate" + + log_alt_losers = config.setting("log_alt_losers", False) + + if simulation_type == "interaction_simulate": + assert ( + alts_cats_dict is not None + ), "Need to supply combinatorial_alts in yaml" + + choices = interaction_simulate( + choosers=choosers, + alternatives=alts_wide, + spec=model_spec, + log_alt_losers=log_alt_losers, + locals_d=locals_dict, + chunk_size=chunk_size, + trace_label=trace_label, + trace_choice_name="vehicle_type", + estimator=estimator, + ) + + # otherwise, "simple simulation" should suffice, with a model spec that enumerates + # each alternative as a distinct column in the .csv + elif simulation_type == "simple_simulate": + choices = simulate.simple_simulate( + choosers=choosers, + spec=model_spec, + log_alt_losers=log_alt_losers, + nest_spec=nest_spec, + locals_d=locals_dict, + chunk_size=chunk_size, + trace_label=trace_label, + trace_choice_name="vehicle_type", + estimator=estimator, + ) + + if isinstance(choices, pd.Series): + choices = choices.to_frame("choice") + + choices.rename(columns={"choice": "vehicle_type"}, inplace=True) + + if alts_cats_dict: + alts = ( + alts_long[alts_long.columns] + .apply(lambda row: "_".join(row.values.astype(str)), axis=1) + .values + ) + else: + alts = model_spec.columns + choices["vehicle_type"] = choices["vehicle_type"].map(dict(enumerate(alts))) + + # STEP II: append probabilistic vehicle type attributes + if probs_spec_file is not None: + choices = append_probabilistic_vehtype_type_choices( + choices, model_settings, trace_label + ) + + vehicles_merged.loc[choices.index, "already_owned_veh"] = choices[ + "vehicle_type" + ] + all_choices.append(choices) + all_choosers.append(choosers) + + # adding all vehicle numbers to one dataframe + all_choices = pd.concat(all_choices) + all_choosers = pd.concat(all_choosers) + + # appending vehicle type data to the vehicle table + additional_cols = model_settings.get("COLS_TO_INCLUDE_IN_VEHICLE_TABLE") + if additional_cols: + additional_cols.append("vehicle_type") + all_choices = ( + all_choices.reset_index() + .merge(vehicle_type_data[additional_cols], how="left", on="vehicle_type") + .set_index("vehicle_id") + ) + + return all_choices, all_choosers + + +@inject.step() +def vehicle_type_choice( + persons, households, vehicles, vehicles_merged, chunk_size, trace_hh_id +): + """Assign a vehicle type to each vehicle in the `vehicles` table. + + If a "SIMULATION_TYPE" is set to simple_simulate in the + vehicle_type_choice.yaml config file, then the model specification .csv file + should contain one column of coefficients for each distinct alternative. This + format corresponds to ActivitySim's :func:`activitysim.core.simulate.simple_simulate` + format. Otherwise, this model will construct a table of alternatives, at run time, + based on all possible combinations of values of the categorical variables enumerated + as "combinatorial_alts" in the .yaml config. In this case, the model leverages + ActivitySim's :func:`activitysim.core.interaction_simulate` model design, in which + the model specification .csv has only one column of coefficients, and the utility + expressions can turn coefficients on or off based on attributes of either + the chooser _or_ the alternative. + + As an optional second step, the user may also specify a "PROBS_SPEC" .csv file in + the main .yaml config, corresponding to a lookup table of additional vehicle + attributes and probabilities to be sampled and assigned to vehicles after the logit + choices have been made. The rows of the "PROBS_SPEC" file must include all body type + and vehicle age choices assigned in the logit model. These additional attributes are + concatenated with the selected alternative from the logit model to form a single + vehicle type name to be stored in the `vehicles` table as the vehicle_type column. + + Only one household vehicle is selected at a time to allow for the introduction of + owned vehicle related attributes. For example, a household may be less likely to + own a second van if they already own one. The model is run sequentially through + household vehicle numbers. The preprocessor is run for each iteration on the entire + vehicles table to allow for computation of terms involving the presence of other + household vehicles. + + The user may also augment the `households` or `persons` tables with new vehicle + type-based fields specified via expressions in "annotate_households_vehicle_type.csv" + and "annotate_persons_vehicle_type.csv", respectively. + + Parameters + ---------- + persons : orca.DataFrameWrapper + households : orca.DataFrameWrapper + vehicles : orca.DataFrameWrapper + vehicles_merged : orca.DataFrameWrapper + chunk_size : orca.injectable + trace_hh_id : orca.injectable + """ + trace_label = "vehicle_type_choice" + model_settings_file_name = "vehicle_type_choice.yaml" + model_settings = config.read_model_settings(model_settings_file_name) + + estimator = estimation.manager.begin_estimation("vehicle_type") + + model_spec_raw = simulate.read_model_spec(file_name=model_settings["SPEC"]) + coefficients_df = simulate.read_model_coefficients(model_settings) + model_spec = simulate.eval_coefficients(model_spec_raw, coefficients_df, estimator) + + constants = config.get_model_constants(model_settings) + + locals_dict = {} + locals_dict.update(constants) + locals_dict.update(coefficients_df) + + choices, choosers = iterate_vehicle_type_choice( + vehicles_merged, + model_settings, + model_spec, + locals_dict, + estimator, + chunk_size, + trace_label, + ) + + if estimator: + estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_spec(model_settings) + estimator.write_coefficients(coefficients_df, model_settings) + estimator.write_choosers(choosers) + + # FIXME #interaction_simulate_estimation_requires_chooser_id_in_df_column + # shuold we do it here or have interaction_simulate do it? + # chooser index must be duplicated in column or it will be omitted from interaction_dataset + # estimation requires that chooser_id is either in index or a column of interaction_dataset + # so it can be reformatted (melted) and indexed by chooser_id and alt_id + assert choosers.index.name == "vehicle_id" + assert "vehicle_id" not in choosers.columns + choosers["vehicle_id"] = choosers.index + + # FIXME set_alt_id - do we need this for interaction_simulate estimation bundle tables? + estimator.set_alt_id("alt_id") + estimator.set_chooser_id(choosers.index.name) + + estimator.write_choices(choices) + choices = estimator.get_survey_values( + choices, "vehicles", "vehicle_type_choice" + ) + estimator.write_override_choices(choices) + estimator.end_estimation() + + # update vehicles table + # vehicles = pd.merge(vehicles.to_frame(), choices, left_index=True, right_index=True) + vehicles = pd.concat([vehicles.to_frame(), choices], axis=1) + pipeline.replace_table("vehicles", vehicles) + + # - annotate tables + if model_settings.get("annotate_households"): + annotate_vehicle_type_choice_households(model_settings, trace_label) + if model_settings.get("annotate_persons"): + annotate_vehicle_type_choice_persons(model_settings, trace_label) + if model_settings.get("annotate_vehicles"): + annotate_vehicle_type_choice_vehicles(model_settings, trace_label) + + tracing.print_summary( + "vehicle_type_choice", vehicles.vehicle_type, value_counts=True + ) + + if trace_hh_id: + tracing.trace_df(vehicles, label="vehicle_type_choice", warn_if_empty=True) diff --git a/activitysim/abm/tables/__init__.py b/activitysim/abm/tables/__init__.py index 24dd5a13d6..145c9186c5 100644 --- a/activitysim/abm/tables/__init__.py +++ b/activitysim/abm/tables/__init__.py @@ -1,14 +1,16 @@ # ActivitySim # See full license in LICENSE.txt. -from . import households -from . import persons -from . import landuse -from . import accessibility -from . import skims -from . import tours -from . import size_terms -from . import trips -from . import time_windows -from . import shadow_pricing - -from . import table_dict +from . import ( + accessibility, + households, + landuse, + persons, + shadow_pricing, + size_terms, + skims, + table_dict, + time_windows, + tours, + trips, + vehicles, +) diff --git a/activitysim/abm/tables/accessibility.py b/activitysim/abm/tables/accessibility.py index 5be410f1f1..3fd0544216 100644 --- a/activitysim/abm/tables/accessibility.py +++ b/activitysim/abm/tables/accessibility.py @@ -27,13 +27,16 @@ def accessibility(land_use): if accessibility_df is None: accessibility_df = pd.DataFrame(index=land_use.index) - logger.debug("created placeholder accessibility table %s" % (accessibility_df.shape,)) + logger.debug( + "created placeholder accessibility table %s" % (accessibility_df.shape,) + ) else: - assert accessibility_df.sort_index().index.equals(land_use.to_frame().sort_index().index), \ - f"loaded accessibility table index does not match index of land_use table" + assert accessibility_df.sort_index().index.equals( + land_use.to_frame().sort_index().index + ), f"loaded accessibility table index does not match index of land_use table" logger.info("loaded land_use %s" % (accessibility_df.shape,)) # replace table function with dataframe - inject.add_table('accessibility', accessibility_df) + inject.add_table("accessibility", accessibility_df) return accessibility_df diff --git a/activitysim/abm/tables/households.py b/activitysim/abm/tables/households.py index 5d52ec004d..9c115f17ce 100644 --- a/activitysim/abm/tables/households.py +++ b/activitysim/abm/tables/households.py @@ -1,16 +1,11 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - import logging +from builtins import range import pandas as pd -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import mem - +from activitysim.core import inject, mem, pipeline, tracing from activitysim.core.input import read_input_table logger = logging.getLogger(__name__) @@ -30,17 +25,21 @@ def households(households_sample_size, override_hh_ids, trace_hh_id): if override_hh_ids is not None: # trace_hh_id will not used if it is not in list of override_hh_ids - logger.info("override household list containing %s households" % len(override_hh_ids)) + logger.info( + "override household list containing %s households" % len(override_hh_ids) + ) df = df_full[df_full.index.isin(override_hh_ids)] households_sliced = True if df.shape[0] < len(override_hh_ids): - logger.info("found %s of %s households in override household list" % - (df.shape[0], len(override_hh_ids))) + logger.info( + "found %s of %s households in override household list" + % (df.shape[0], len(override_hh_ids)) + ) if df.shape[0] == 0: - raise RuntimeError('No override households found in store') + raise RuntimeError("No override households found in store") # if we are tracing hh exclusively elif trace_hh_id and households_sample_size == 1: @@ -52,7 +51,9 @@ def households(households_sample_size, override_hh_ids, trace_hh_id): # if we need a subset of full store elif tot_households > households_sample_size > 0: - logger.info("sampling %s of %s households" % (households_sample_size, tot_households)) + logger.info( + "sampling %s of %s households" % (households_sample_size, tot_households) + ) """ Because random seed is set differently for each step, sampling of households using @@ -64,15 +65,19 @@ def households(households_sample_size, override_hh_ids, trace_hh_id): if the pipeline rng's base_seed is changed """ - prng = pipeline.get_rn_generator().get_external_rng('sample_households') - df = df_full.take(prng.choice(len(df_full), size=households_sample_size, replace=False)) + prng = pipeline.get_rn_generator().get_external_rng("sample_households") + df = df_full.take( + prng.choice(len(df_full), size=households_sample_size, replace=False) + ) households_sliced = True # if tracing and we missed trace_hh in sample, but it is in full store if trace_hh_id and trace_hh_id not in df.index and trace_hh_id in df_full.index: # replace first hh in sample with trace_hh - logger.debug("replacing household %s with %s in household sample" % - (df.index[0], trace_hh_id)) + logger.debug( + "replacing household %s with %s in household sample" + % (df.index[0], trace_hh_id) + ) df_hh = df_full.loc[[trace_hh_id]] df = pd.concat([df_hh, df[1:]]) @@ -80,24 +85,24 @@ def households(households_sample_size, override_hh_ids, trace_hh_id): df = df_full # persons table - inject.add_injectable('households_sliced', households_sliced) + inject.add_injectable("households_sliced", households_sliced) - if 'sample_rate' not in df.columns: + if "sample_rate" not in df.columns: if households_sample_size == 0: sample_rate = 1 else: sample_rate = round(households_sample_size / tot_households, 3) - df['sample_rate'] = sample_rate + df["sample_rate"] = sample_rate logger.info("loaded households %s" % (df.shape,)) # replace table function with dataframe - inject.add_table('households', df) + inject.add_table("households", df) - pipeline.get_rn_generator().add_channel('households', df) + pipeline.get_rn_generator().add_channel("households", df) - tracing.register_traceable_table('households', df) + tracing.register_traceable_table("households", df) if trace_hh_id: tracing.trace_df(df, "raw.households", warn_if_empty=True) @@ -107,11 +112,13 @@ def households(households_sample_size, override_hh_ids, trace_hh_id): # this is a common merge so might as well define it once here and use it @inject.table() def households_merged(households, land_use, accessibility): - return inject.merge_tables(households.name, tables=[households, land_use, accessibility]) + return inject.merge_tables( + households.name, tables=[households, land_use, accessibility] + ) -inject.broadcast('households', 'persons', cast_index=True, onto_on='household_id') +inject.broadcast("households", "persons", cast_index=True, onto_on="household_id") # this would be accessibility around the household location - be careful with # this one as accessibility at some other location can also matter -inject.broadcast('accessibility', 'households', cast_index=True, onto_on='home_zone_id') +inject.broadcast("accessibility", "households", cast_index=True, onto_on="home_zone_id") diff --git a/activitysim/abm/tables/landuse.py b/activitysim/abm/tables/landuse.py index da0a5f8637..cf4e72420e 100644 --- a/activitysim/abm/tables/landuse.py +++ b/activitysim/abm/tables/landuse.py @@ -24,9 +24,9 @@ def land_use(): logger.info("loaded land_use %s" % (df.shape,)) # replace table function with dataframe - inject.add_table('land_use', df) + inject.add_table("land_use", df) return df -inject.broadcast('land_use', 'households', cast_index=True, onto_on='home_zone_id') +inject.broadcast("land_use", "households", cast_index=True, onto_on="home_zone_id") diff --git a/activitysim/abm/tables/persons.py b/activitysim/abm/tables/persons.py index 6eb1683e76..a193b8f6dd 100644 --- a/activitysim/abm/tables/persons.py +++ b/activitysim/abm/tables/persons.py @@ -4,11 +4,7 @@ import pandas as pd -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import mem - +from activitysim.core import inject, mem, pipeline, tracing from activitysim.core.input import read_input_table logger = logging.getLogger(__name__) @@ -18,7 +14,7 @@ def read_raw_persons(households): df = read_input_table("persons") - if inject.get_injectable('households_sliced', False): + if inject.get_injectable("households_sliced", False): # keep only persons in the sampled households df = df[df.household_id.isin(households.index)] @@ -33,11 +29,11 @@ def persons(households, trace_hh_id): logger.info("loaded persons %s" % (df.shape,)) # replace table function with dataframe - inject.add_table('persons', df) + inject.add_table("persons", df) - pipeline.get_rn_generator().add_channel('persons', df) + pipeline.get_rn_generator().add_channel("persons", df) - tracing.register_traceable_table('persons', df) + tracing.register_traceable_table("persons", df) if trace_hh_id: tracing.trace_df(df, "raw.persons", warn_if_empty=True) @@ -48,15 +44,25 @@ def persons(households, trace_hh_id): persons_without_households = ~df.household_id.isin(households.index) if persons_without_households.any(): - logger.error(f"{persons_without_households.sum()} persons out of {len(persons)} without households\n" - f"{pd.Series({'person_id': persons_without_households.index.values})}") - raise RuntimeError(f"{persons_without_households.sum()} persons with bad household_id") - - households_without_persons = df.groupby('household_id').size().reindex(households.index).isnull() + logger.error( + f"{persons_without_households.sum()} persons out of {len(persons)} without households\n" + f"{pd.Series({'person_id': persons_without_households.index.values})}" + ) + raise RuntimeError( + f"{persons_without_households.sum()} persons with bad household_id" + ) + + households_without_persons = ( + df.groupby("household_id").size().reindex(households.index).isnull() + ) if households_without_persons.any(): - logger.error(f"{households_without_persons.sum()} households out of {len(households.index)} without persons\n" - f"{pd.Series({'household_id': households_without_persons.index.values})}") - raise RuntimeError(f"{households_without_persons.sum()} households with no persons") + logger.error( + f"{households_without_persons.sum()} households out of {len(households.index)} without persons\n" + f"{pd.Series({'household_id': households_without_persons.index.values})}" + ) + raise RuntimeError( + f"{households_without_persons.sum()} households with no persons" + ) return df @@ -65,4 +71,6 @@ def persons(households, trace_hh_id): @inject.table() def persons_merged(persons, households, land_use, accessibility): - return inject.merge_tables(persons.name, tables=[persons, households, land_use, accessibility]) + return inject.merge_tables( + persons.name, tables=[persons, households, land_use, accessibility] + ) diff --git a/activitysim/abm/tables/shadow_pricing.py b/activitysim/abm/tables/shadow_pricing.py index 823fd5515c..053b1dcbc5 100644 --- a/activitysim/abm/tables/shadow_pricing.py +++ b/activitysim/abm/tables/shadow_pricing.py @@ -1,22 +1,16 @@ # ActivitySim # See full license in LICENSE.txt. +import ctypes import logging -import time import multiprocessing -import ctypes - +import time from collections import OrderedDict import numpy as np import pandas as pd -from activitysim.core import inject -from activitysim.core import util -from activitysim.core import config -from activitysim.core import tracing - from activitysim.abm.tables.size_terms import tour_destination_size_terms - +from activitysim.core import config, inject, tracing, util logger = logging.getLogger(__name__) @@ -77,8 +71,9 @@ def size_table_name(model_selector): class ShadowPriceCalculator(object): - - def __init__(self, model_settings, num_processes, shared_data=None, shared_data_lock=None): + def __init__( + self, model_settings, num_processes, shared_data=None, shared_data_lock=None + ): """ Presence of shared_data is used as a flag for multiprocessing @@ -97,42 +92,57 @@ def __init__(self, model_settings, num_processes, shared_data=None, shared_data_ """ self.num_processes = num_processes - self.use_shadow_pricing = bool(config.setting('use_shadow_pricing')) - self.saved_shadow_price_file_path = None # set by read_saved_shadow_prices if loaded + self.use_shadow_pricing = bool(config.setting("use_shadow_pricing")) + self.saved_shadow_price_file_path = ( + None # set by read_saved_shadow_prices if loaded + ) - self.model_selector = model_settings['MODEL_SELECTOR'] + self.model_selector = model_settings["MODEL_SELECTOR"] - full_model_run = config.setting('households_sample_size') == 0 + full_model_run = config.setting("households_sample_size") == 0 if self.use_shadow_pricing and not full_model_run: - logger.warning("deprecated combination of use_shadow_pricing and not full_model_run") + logger.warning( + "deprecated combination of use_shadow_pricing and not full_model_run" + ) - if (self.num_processes > 1) and not config.setting('fail_fast'): + if (self.num_processes > 1) and not config.setting("fail_fast"): # if we are multiprocessing, then fail_fast should be true or we will wait forever for failed processes - logger.warning("deprecated combination of multiprocessing and not fail_fast") - raise RuntimeError("Shadow pricing requires fail_fast setting in multiprocessing mode") + logger.warning( + "deprecated combination of multiprocessing and not fail_fast" + ) + raise RuntimeError( + "Shadow pricing requires fail_fast setting in multiprocessing mode" + ) - self.segment_ids = model_settings['SEGMENT_IDS'] + self.segment_ids = model_settings["SEGMENT_IDS"] # - modeled_size (set by call to set_choices/synchronize_choices) self.modeled_size = None if self.use_shadow_pricing: - self.shadow_settings = config.read_model_settings('shadow_pricing.yaml') + self.shadow_settings = config.read_model_settings("shadow_pricing.yaml") for k in self.shadow_settings: - logger.debug("shadow_settings %s: %s" % (k, self.shadow_settings.get(k))) + logger.debug( + "shadow_settings %s: %s" % (k, self.shadow_settings.get(k)) + ) # - destination_size_table (desired_size) - self.desired_size = inject.get_table(size_table_name(self.model_selector)).to_frame() + self.desired_size = inject.get_table( + size_table_name(self.model_selector) + ).to_frame() self.desired_size = self.desired_size.sort_index() - assert self.desired_size.index.is_monotonic_increasing, \ - f"{size_table_name(self.model_selector)} not is_monotonic_increasing" + assert ( + self.desired_size.index.is_monotonic_increasing + ), f"{size_table_name(self.model_selector)} not is_monotonic_increasing" # - shared_data if shared_data is not None: assert shared_data.shape[0] == self.desired_size.shape[0] - assert shared_data.shape[1] == self.desired_size.shape[1] + 1 # tally column + assert ( + shared_data.shape[1] == self.desired_size.shape[1] + 1 + ) # tally column assert shared_data_lock is not None self.shared_data = shared_data self.shared_data_lock = shared_data_lock @@ -140,26 +150,31 @@ def __init__(self, model_settings, num_processes, shared_data=None, shared_data_ # - load saved shadow_prices (if available) and set max_iterations accordingly if self.use_shadow_pricing: self.shadow_prices = None - self.shadow_price_method = self.shadow_settings['SHADOW_PRICE_METHOD'] - assert self.shadow_price_method in ['daysim', 'ctramp'] + self.shadow_price_method = self.shadow_settings["SHADOW_PRICE_METHOD"] + assert self.shadow_price_method in ["daysim", "ctramp"] - if self.shadow_settings['LOAD_SAVED_SHADOW_PRICES']: + if self.shadow_settings["LOAD_SAVED_SHADOW_PRICES"]: # read_saved_shadow_prices logs error and returns None if file not found self.shadow_prices = self.read_saved_shadow_prices(model_settings) if self.shadow_prices is None: - self.max_iterations = self.shadow_settings.get('MAX_ITERATIONS', 5) + self.max_iterations = self.shadow_settings.get("MAX_ITERATIONS", 5) else: - self.max_iterations = self.shadow_settings.get('MAX_ITERATIONS_SAVED', 1) + self.max_iterations = self.shadow_settings.get( + "MAX_ITERATIONS_SAVED", 1 + ) # initial_shadow_price if we did not load if self.shadow_prices is None: # initial value depends on method - initial_shadow_price = 1.0 if self.shadow_price_method == 'ctramp' else 0.0 - self.shadow_prices = \ - pd.DataFrame(data=initial_shadow_price, - columns=self.desired_size.columns, - index=self.desired_size.index) + initial_shadow_price = ( + 1.0 if self.shadow_price_method == "ctramp" else 0.0 + ) + self.shadow_prices = pd.DataFrame( + data=initial_shadow_price, + columns=self.desired_size.columns, + index=self.desired_size.index, + ) else: self.max_iterations = 1 @@ -184,10 +199,14 @@ def read_saved_shadow_prices(self, model_settings): shadow_prices = None # - load saved shadow_prices - saved_shadow_price_file_name = model_settings.get('SAVED_SHADOW_PRICE_TABLE_NAME') + saved_shadow_price_file_name = model_settings.get( + "SAVED_SHADOW_PRICE_TABLE_NAME" + ) if saved_shadow_price_file_name: # FIXME - where should we look for this file? - file_path = config.data_file_path(saved_shadow_price_file_name, mandatory=False) + file_path = config.data_file_path( + saved_shadow_price_file_name, mandatory=False + ) if file_path: shadow_prices = pd.read_csv(file_path, index_col=0) self.saved_shadow_price_file_path = file_path # informational @@ -276,10 +295,11 @@ def wait(tally, target): logger.info("first_in clearing shared_data") # convert summed numpy array data to conform to original dataframe - global_modeled_size_df = \ - pd.DataFrame(data=global_modeled_size_array, - index=local_modeled_size.index, - columns=local_modeled_size.columns) + global_modeled_size_df = pd.DataFrame( + data=global_modeled_size_array, + index=local_modeled_size.index, + columns=local_modeled_size.columns, + ) return global_modeled_size_df @@ -302,8 +322,7 @@ def set_choices(self, choices, segment_ids): modeled_size = pd.DataFrame(index=self.desired_size.index) for seg_name in self.desired_size: - segment_choices = \ - choices[(segment_ids == self.segment_ids[seg_name])] + segment_choices = choices[(segment_ids == self.segment_ids[seg_name])] modeled_size[seg_name] = segment_choices.value_counts() @@ -343,11 +362,11 @@ def check_fit(self, iteration): # - convergence criteria for check_fit # ignore convergence criteria for zones smaller than size_threshold - size_threshold = self.shadow_settings['SIZE_THRESHOLD'] + size_threshold = self.shadow_settings["SIZE_THRESHOLD"] # zone passes if modeled is within percent_tolerance of desired_size - percent_tolerance = self.shadow_settings['PERCENT_TOLERANCE'] + percent_tolerance = self.shadow_settings["PERCENT_TOLERANCE"] # max percentage of zones allowed to fail - fail_threshold = self.shadow_settings['FAIL_THRESHOLD'] + fail_threshold = self.shadow_settings["FAIL_THRESHOLD"] modeled_size = self.modeled_size desired_size = self.desired_size @@ -362,16 +381,16 @@ def check_fit(self, iteration): # ignore zones where rel_diff < percent_tolerance rel_diff.where(rel_diff > (percent_tolerance / 100.0), 0, inplace=True) - self.num_fail['iter%s' % iteration] = (rel_diff > 0).sum() - self.max_abs_diff['iter%s' % iteration] = abs_diff.max() - self.max_rel_diff['iter%s' % iteration] = rel_diff.max() + self.num_fail["iter%s" % iteration] = (rel_diff > 0).sum() + self.max_abs_diff["iter%s" % iteration] = abs_diff.max() + self.max_rel_diff["iter%s" % iteration] = rel_diff.max() total_fails = (rel_diff > 0).values.sum() # FIXME - should not count zones where desired_size < threshold? (could calc in init) max_fail = (fail_threshold / 100.0) * util.iprod(desired_size.shape) - converged = (total_fails <= max_fail) + converged = total_fails <= max_fail # for c in desired_size: # print("check_fit %s segment %s" % (self.model_selector, c)) @@ -380,8 +399,10 @@ def check_fit(self, iteration): # print(" max abs diff %s" % (abs_diff[c].max())) # print(" max rel diff %s" % (rel_diff[c].max())) - logger.info("check_fit %s iteration: %s converged: %s max_fail: %s total_fails: %s" % - (self.model_selector, iteration, converged, max_fail, total_fails)) + logger.info( + "check_fit %s iteration: %s converged: %s max_fail: %s total_fails: %s" + % (self.model_selector, iteration, converged, max_fail, total_fails) + ) # - convergence stats if converged or iteration == self.max_iterations: @@ -422,7 +443,7 @@ def update_shadow_prices(self): assert self.use_shadow_pricing - shadow_price_method = self.shadow_settings['SHADOW_PRICE_METHOD'] + shadow_price_method = self.shadow_settings["SHADOW_PRICE_METHOD"] # can't update_shadow_prices until after first iteration # modeled_size should have been set by set_choices at end of previous iteration @@ -430,7 +451,7 @@ def update_shadow_prices(self): assert self.desired_size is not None assert self.shadow_prices is not None - if shadow_price_method == 'ctramp': + if shadow_price_method == "ctramp": # - CTRAMP """ if ( modeledDestinationLocationsByDestZone > 0 ) @@ -438,7 +459,7 @@ def update_shadow_prices(self): // else // shadowPrice *= scaledSize; """ - damping_factor = self.shadow_settings['DAMPING_FACTOR'] + damping_factor = self.shadow_settings["DAMPING_FACTOR"] assert 0 < damping_factor <= 1 new_scale_factor = self.desired_size / self.modeled_size @@ -447,9 +468,11 @@ def update_shadow_prices(self): # following CTRAMP (revised version - with 0 dest zone case lines commented out) # avoid zero-divide for 0 modeled_size, by leaving shadow_prices unchanged - new_shadow_prices.where(self.modeled_size > 0, self.shadow_prices, inplace=True) + new_shadow_prices.where( + self.modeled_size > 0, self.shadow_prices, inplace=True + ) - elif shadow_price_method == 'daysim': + elif shadow_price_method == "daysim": # - Daysim """ if modeled > desired: # if modeled is too high, increase shadow price @@ -467,21 +490,32 @@ def update_shadow_prices(self): shadow_price = shadow_price + log(np.maximum(target, 0.01) / np.maximum(modeled, 0.01)) """ # FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? - absolute_tolerance = self.shadow_settings['DAYSIM_ABSOLUTE_TOLERANCE'] - percent_tolerance = self.shadow_settings['DAYSIM_PERCENT_TOLERANCE'] / 100.0 + absolute_tolerance = self.shadow_settings["DAYSIM_ABSOLUTE_TOLERANCE"] + percent_tolerance = self.shadow_settings["DAYSIM_PERCENT_TOLERANCE"] / 100.0 assert 0 <= percent_tolerance <= 1 target = np.where( self.modeled_size > self.desired_size, - np.minimum(self.modeled_size, - np.minimum(self.desired_size * (1 + percent_tolerance), - self.desired_size + absolute_tolerance)), - np.maximum(self.modeled_size, - np.maximum(self.desired_size * (1 - percent_tolerance), - self.desired_size - absolute_tolerance))) + np.minimum( + self.modeled_size, + np.minimum( + self.desired_size * (1 + percent_tolerance), + self.desired_size + absolute_tolerance, + ), + ), + np.maximum( + self.modeled_size, + np.maximum( + self.desired_size * (1 - percent_tolerance), + self.desired_size - absolute_tolerance, + ), + ), + ) # adjustment = np.log(np.maximum(target, 0.01) / np.maximum(self.modeled_size, 0.01)) - adjustment = np.log(np.maximum(target, 0.01) / np.maximum(self.modeled_size, 1)) + adjustment = np.log( + np.maximum(target, 0.01) / np.maximum(self.modeled_size, 1) + ) new_shadow_prices = self.shadow_prices + adjustment @@ -504,20 +538,25 @@ def dest_size_terms(self, segment): if self.use_shadow_pricing: - shadow_price_method = self.shadow_settings['SHADOW_PRICE_METHOD'] + shadow_price_method = self.shadow_settings["SHADOW_PRICE_METHOD"] - if shadow_price_method == 'ctramp': + if shadow_price_method == "ctramp": size_term_adjustment = self.shadow_prices[segment] - elif shadow_price_method == 'daysim': + elif shadow_price_method == "daysim": utility_adjustment = self.shadow_prices[segment] else: - raise RuntimeError("unknown SHADOW_PRICE_METHOD %s" % shadow_price_method) - - size_terms = pd.DataFrame({ - 'size_term': self.desired_size[segment], - 'shadow_price_size_term_adjustment': size_term_adjustment, - 'shadow_price_utility_adjustment': utility_adjustment}, - index=self.desired_size.index) + raise RuntimeError( + "unknown SHADOW_PRICE_METHOD %s" % shadow_price_method + ) + + size_terms = pd.DataFrame( + { + "size_term": self.desired_size[segment], + "shadow_price_size_term_adjustment": size_term_adjustment, + "shadow_price_utility_adjustment": utility_adjustment, + }, + index=self.desired_size.index, + ) assert size_terms.index.is_monotonic_increasing @@ -539,18 +578,24 @@ def write_trace_files(self, iteration): logger.info("write_trace_files iteration %s" % iteration) if iteration == 1: # write desired_size only on first iteration, as it doesn't change - tracing.write_csv(self.desired_size, - 'shadow_price_%s_desired_size' % self.model_selector, - transpose=False) - - tracing.write_csv(self.modeled_size, - 'shadow_price_%s_modeled_size_%s' % (self.model_selector, iteration), - transpose=False) + tracing.write_csv( + self.desired_size, + "shadow_price_%s_desired_size" % self.model_selector, + transpose=False, + ) + + tracing.write_csv( + self.modeled_size, + "shadow_price_%s_modeled_size_%s" % (self.model_selector, iteration), + transpose=False, + ) if self.use_shadow_pricing: - tracing.write_csv(self.shadow_prices, - 'shadow_price_%s_shadow_prices_%s' % (self.model_selector, iteration), - transpose=False) + tracing.write_csv( + self.shadow_prices, + "shadow_price_%s_shadow_prices_%s" % (self.model_selector, iteration), + transpose=False, + ) def block_name(model_selector): @@ -597,8 +642,8 @@ def buffers_for_shadow_pricing(shadow_pricing_info): dict of multiprocessing.Array keyed by model_selector """ - dtype = shadow_pricing_info['dtype'] - block_shapes = shadow_pricing_info['block_shapes'] + dtype = shadow_pricing_info["dtype"] + block_shapes = shadow_pricing_info["block_shapes"] data_buffers = {} for block_key, block_shape in block_shapes.items(): @@ -607,13 +652,17 @@ def buffers_for_shadow_pricing(shadow_pricing_info): buffer_size = util.iprod(block_shape) csz = buffer_size * np.dtype(dtype).itemsize - logger.info("allocating shared shadow pricing buffer %s %s buffer_size %s bytes %s (%s)" % - (block_key, buffer_size, block_shape, csz, util.GB(csz))) + logger.info( + "allocating shared shadow pricing buffer %s %s buffer_size %s bytes %s (%s)" + % (block_key, buffer_size, block_shape, csz, util.GB(csz)) + ) if np.issubdtype(dtype, np.int64): typecode = ctypes.c_int64 else: - raise RuntimeError("buffer_for_shadow_pricing unrecognized dtype %s" % dtype) + raise RuntimeError( + "buffer_for_shadow_pricing unrecognized dtype %s" % dtype + ) shared_data_buffer = multiprocessing.Array(typecode, buffer_size) @@ -652,11 +701,13 @@ def shadow_price_data_from_buffers(data_buffers, shadow_pricing_info, model_sele assert type(data_buffers) == dict - dtype = shadow_pricing_info['dtype'] - block_shapes = shadow_pricing_info['block_shapes'] + dtype = shadow_pricing_info["dtype"] + block_shapes = shadow_pricing_info["block_shapes"] if model_selector not in block_shapes: - raise RuntimeError("Model selector %s not in shadow_pricing_info" % model_selector) + raise RuntimeError( + "Model selector %s not in shadow_pricing_info" % model_selector + ) if block_name(model_selector) not in data_buffers: raise RuntimeError("Block %s not in data_buffers" % block_name(model_selector)) @@ -683,31 +734,30 @@ def load_shadow_price_calculator(model_settings): spc : ShadowPriceCalculator """ - num_processes = inject.get_injectable('num_processes', 1) + num_processes = inject.get_injectable("num_processes", 1) - model_selector = model_settings['MODEL_SELECTOR'] + model_selector = model_settings["MODEL_SELECTOR"] # - get shared_data from data_buffers (if multiprocessing) - data_buffers = inject.get_injectable('data_buffers', None) + data_buffers = inject.get_injectable("data_buffers", None) if data_buffers is not None: - logger.info('Using existing data_buffers for shadow_price') + logger.info("Using existing data_buffers for shadow_price") # - shadow_pricing_info - shadow_pricing_info = inject.get_injectable('shadow_pricing_info', None) + shadow_pricing_info = inject.get_injectable("shadow_pricing_info", None) assert shadow_pricing_info is not None # - extract data buffer and reshape as numpy array - data, lock = \ - shadow_price_data_from_buffers(data_buffers, shadow_pricing_info, model_selector) + data, lock = shadow_price_data_from_buffers( + data_buffers, shadow_pricing_info, model_selector + ) else: assert num_processes == 1 data = None # ShadowPriceCalculator will allocate its own data lock = None # - ShadowPriceCalculator - spc = ShadowPriceCalculator( - model_settings, - num_processes, data, lock) + spc = ShadowPriceCalculator(model_settings, num_processes, data, lock) return spc @@ -733,18 +783,20 @@ def add_size_tables(): (size table) counts. """ - use_shadow_pricing = bool(config.setting('use_shadow_pricing')) + use_shadow_pricing = bool(config.setting("use_shadow_pricing")) - shadow_settings = config.read_model_settings('shadow_pricing.yaml') - shadow_pricing_models = shadow_settings.get('shadow_pricing_models') + shadow_settings = config.read_model_settings("shadow_pricing.yaml") + shadow_pricing_models = shadow_settings.get("shadow_pricing_models") if shadow_pricing_models is None: - logger.warning('shadow_pricing_models list not found in shadow_pricing settings') + logger.warning( + "shadow_pricing_models list not found in shadow_pricing settings" + ) return # probably ought not scale if not shadow_pricing (breaks partial sample replicability) # but this allows compatability with existing CTRAMP behavior... - scale_size_table = shadow_settings.get('SCALE_SIZE_TABLE', False) + scale_size_table = shadow_settings.get("SCALE_SIZE_TABLE", False) # shadow_pricing_models is dict of {: } # since these are scaled to model size, they have to be created while single-process @@ -753,21 +805,24 @@ def add_size_tables(): model_settings = config.read_model_settings(model_name) - assert model_selector == model_settings['MODEL_SELECTOR'] + assert model_selector == model_settings["MODEL_SELECTOR"] - assert 'SEGMENT_IDS' in model_settings, f"missing SEGMENT_IDS setting in {model_name} model_settings" - segment_ids = model_settings['SEGMENT_IDS'] - chooser_table_name = model_settings['CHOOSER_TABLE_NAME'] - chooser_segment_column = model_settings['CHOOSER_SEGMENT_COLUMN_NAME'] + assert ( + "SEGMENT_IDS" in model_settings + ), f"missing SEGMENT_IDS setting in {model_name} model_settings" + segment_ids = model_settings["SEGMENT_IDS"] + chooser_table_name = model_settings["CHOOSER_TABLE_NAME"] + chooser_segment_column = model_settings["CHOOSER_SEGMENT_COLUMN_NAME"] choosers_df = inject.get_table(chooser_table_name).to_frame() - if 'CHOOSER_FILTER_COLUMN_NAME' in model_settings: - choosers_df = \ - choosers_df[choosers_df[model_settings['CHOOSER_FILTER_COLUMN_NAME']] != 0] + if "CHOOSER_FILTER_COLUMN_NAME" in model_settings: + choosers_df = choosers_df[ + choosers_df[model_settings["CHOOSER_FILTER_COLUMN_NAME"]] != 0 + ] # - raw_desired_size - land_use = inject.get_table('land_use') - size_terms = inject.get_injectable('size_terms') + land_use = inject.get_table("land_use") + size_terms = inject.get_injectable("size_terms") raw_size = tour_destination_size_terms(land_use, size_terms, model_selector) assert set(raw_size.columns) == set(segment_ids.keys()) @@ -783,28 +838,38 @@ def add_size_tables(): segment_desired_size = raw_size[c].astype(np.float64).sum() # number of synthetic population choosers in segment - segment_chooser_count = \ - (choosers_df[chooser_segment_column] == segment_ids[c]).sum() - - segment_scale_factors[c] = \ - segment_chooser_count / np.maximum(segment_desired_size, 1) - - logger.info("add_desired_size_tables %s segment %s " - "desired %s modeled %s scale_factor %s" % - (chooser_table_name, c, - segment_desired_size, - segment_chooser_count, - segment_scale_factors[c])) + segment_chooser_count = ( + choosers_df[chooser_segment_column] == segment_ids[c] + ).sum() + + segment_scale_factors[c] = segment_chooser_count / np.maximum( + segment_desired_size, 1 + ) + + logger.info( + "add_desired_size_tables %s segment %s " + "desired %s modeled %s scale_factor %s" + % ( + chooser_table_name, + c, + segment_desired_size, + segment_chooser_count, + segment_scale_factors[c], + ) + ) # FIXME - should we be rounding? scaled_size = (raw_size * segment_scale_factors).round() else: scaled_size = raw_size - logger.debug(f"add_size_table {size_table_name(model_selector)} ({scaled_size.shape}) for {model_selector}") + logger.debug( + f"add_size_table {size_table_name(model_selector)} ({scaled_size.shape}) for {model_selector}" + ) - assert scaled_size.index.is_monotonic_increasing, \ - f"size table {size_table_name(model_selector)} not is_monotonic_increasing" + assert ( + scaled_size.index.is_monotonic_increasing + ), f"size table {size_table_name(model_selector)} not is_monotonic_increasing" inject.add_table(size_table_name(model_selector), scaled_size) @@ -823,13 +888,13 @@ def get_shadow_pricing_info(): block_shapes: dict {: } """ - land_use = inject.get_table('land_use') - size_terms = inject.get_injectable('size_terms') + land_use = inject.get_table("land_use") + size_terms = inject.get_injectable("size_terms") - shadow_settings = config.read_model_settings('shadow_pricing.yaml') + shadow_settings = config.read_model_settings("shadow_pricing.yaml") # shadow_pricing_models is dict of {: } - shadow_pricing_models = shadow_settings.get('shadow_pricing_models', {}) + shadow_pricing_models = shadow_settings.get("shadow_pricing_models", {}) blocks = OrderedDict() for model_selector in shadow_pricing_models: @@ -843,8 +908,8 @@ def get_shadow_pricing_info(): sp_dtype = np.int64 shadow_pricing_info = { - 'dtype': sp_dtype, - 'block_shapes': blocks, + "dtype": sp_dtype, + "block_shapes": blocks, } for k in shadow_pricing_info: diff --git a/activitysim/abm/tables/size_terms.py b/activitysim/abm/tables/size_terms.py index cdf9a480b9..e31b004e5d 100644 --- a/activitysim/abm/tables/size_terms.py +++ b/activitysim/abm/tables/size_terms.py @@ -1,20 +1,19 @@ # ActivitySim # See full license in LICENSE.txt. import logging + import numpy as np import pandas as pd -from activitysim.core import inject -from activitysim.core import config - +from activitysim.core import config, inject logger = logging.getLogger(__name__) @inject.injectable(cache=True) def size_terms(): - f = config.config_file_path('destination_choice_size_terms.csv') - return pd.read_csv(f, comment='#', index_col='segment') + f = config.config_file_path("destination_choice_size_terms.csv") + return pd.read_csv(f, comment="#", index_col="segment") def size_term(land_use, destination_choice_coefficients): @@ -56,27 +55,27 @@ def size_term(land_use, destination_choice_coefficients): def tour_destination_size_terms(land_use, size_terms, model_selector): """ - Parameters - ---------- - land_use - pipeline table - size_terms - pipeline table - model_selector - str + Parameters + ---------- + land_use - pipeline table + size_terms - pipeline table + model_selector - str - Returns - ------- + Returns + ------- - :: + :: - pandas.dataframe - one column per model_selector segment with index of land_use - e.g. for model_selector 'workplace', columns will be work_low, work_med, ... - and for model_selector 'trip', columns will be eatout, escort, othdiscr, ... + pandas.dataframe + one column per model_selector segment with index of land_use + e.g. for model_selector 'workplace', columns will be work_low, work_med, ... + and for model_selector 'trip', columns will be eatout, escort, othdiscr, ... - work_low work_med work_high work_veryhigh - zone_id ... - 1 1267.00000 522.000 1108.000 1540.0000 ... - 2 1991.00000 824.500 1759.000 2420.0000 ... - ... + work_low work_med work_high work_veryhigh + zone_id ... + 1 1267.00000 522.000 1108.000 1540.0000 ... + 2 1991.00000 824.500 1759.000 2420.0000 ... + ... """ land_use = land_use.to_frame() @@ -86,19 +85,23 @@ def tour_destination_size_terms(land_use, size_terms, model_selector): land_use = land_use.sort_index() size_terms = size_terms[size_terms.model_selector == model_selector].copy() - del size_terms['model_selector'] + del size_terms["model_selector"] - df = pd.DataFrame({key: size_term(land_use, row) for key, row in size_terms.iterrows()}, - index=land_use.index) + df = pd.DataFrame( + {key: size_term(land_use, row) for key, row in size_terms.iterrows()}, + index=land_use.index, + ) - assert land_use.index.name == 'zone_id' + assert land_use.index.name == "zone_id" df.index.name = land_use.index.name - if not (df.dtypes == 'float64').all(): - logger.warning('Surprised to find that not all size_terms were float64!') + if not (df.dtypes == "float64").all(): + logger.warning("Surprised to find that not all size_terms were float64!") if df.isna().any(axis=None): - logger.warning(f"tour_destination_size_terms with NAN values\n{df[df.isna().any(axis=1)]}") + logger.warning( + f"tour_destination_size_terms with NAN values\n{df[df.isna().any(axis=1)]}" + ) assert not df.isna().any(axis=None) return df diff --git a/activitysim/abm/tables/skims.py b/activitysim/abm/tables/skims.py index bdcaf7f3d1..f7a841d9ad 100644 --- a/activitysim/abm/tables/skims.py +++ b/activitysim/abm/tables/skims.py @@ -3,13 +3,9 @@ import logging -from activitysim.core import los -from activitysim.core import inject -from activitysim.core import config - +from activitysim.core import config, inject, los from activitysim.core.pathbuilder import TransitVirtualPathBuilder - logger = logging.getLogger(__name__) """ @@ -46,12 +42,12 @@ def log_settings(): # abm settings to log on startup return [ - 'households_sample_size', - 'chunk_size', - 'chunk_method', - 'chunk_training_mode', - 'multiprocess', - 'num_processes', - 'resume_after', - 'trace_hh_id', + "households_sample_size", + "chunk_size", + "chunk_method", + "chunk_training_mode", + "multiprocess", + "num_processes", + "resume_after", + "trace_hh_id", ] diff --git a/activitysim/abm/tables/table_dict.py b/activitysim/abm/tables/table_dict.py index cb4367ca2f..2b1cb9086c 100644 --- a/activitysim/abm/tables/table_dict.py +++ b/activitysim/abm/tables/table_dict.py @@ -3,9 +3,8 @@ import logging from collections import OrderedDict -from activitysim.core import inject from activitysim.abm.models.util import canonical_ids as cid - +from activitysim.core import inject logger = logging.getLogger(__name__) diff --git a/activitysim/abm/tables/time_windows.py b/activitysim/abm/tables/time_windows.py index ca6cf0d027..1a6279173e 100644 --- a/activitysim/abm/tables/time_windows.py +++ b/activitysim/abm/tables/time_windows.py @@ -6,8 +6,7 @@ import numpy as np import pandas as pd -from activitysim.core import inject -from activitysim.core import config +from activitysim.core import config, inject from activitysim.core import timetable as tt logger = logging.getLogger(__name__) @@ -16,10 +15,10 @@ @inject.injectable(cache=True) def tdd_alts(): # right now this file just contains the start and end hour - file_path = config.config_file_path('tour_departure_and_duration_alternatives.csv') + file_path = config.config_file_path("tour_departure_and_duration_alternatives.csv") df = pd.read_csv(file_path) - df['duration'] = df.end - df.start + df["duration"] = df.end - df.start # - NARROW df = df.astype(np.int8) @@ -37,15 +36,17 @@ def tdd_alt_segments(): # school,PM,15,17 # school,EV,18,22 - file_path = config.config_file_path('tour_departure_and_duration_segments.csv', mandatory=False) + file_path = config.config_file_path( + "tour_departure_and_duration_segments.csv", mandatory=False + ) if file_path: - df = pd.read_csv(file_path, comment='#') + df = pd.read_csv(file_path, comment="#") # - NARROW - df['start'] = df['start'].astype(np.int8) - df['end'] = df['end'].astype(np.int8) + df["start"] = df["start"].astype(np.int8) + df["end"] = df["end"].astype(np.int8) else: df = None @@ -58,7 +59,7 @@ def person_windows(persons, tdd_alts): df = tt.create_timetable_windows(persons, tdd_alts) - inject.add_table('person_windows', df) + inject.add_table("person_windows", df) return df @@ -66,5 +67,5 @@ def person_windows(persons, tdd_alts): @inject.injectable() def timetable(person_windows, tdd_alts): - logging.debug('@inject timetable') + logging.debug("@inject timetable") return tt.TimeTable(person_windows.to_frame(), tdd_alts, person_windows.name) diff --git a/activitysim/abm/tables/tours.py b/activitysim/abm/tables/tours.py index 3982015885..a3bd8a8112 100644 --- a/activitysim/abm/tables/tours.py +++ b/activitysim/abm/tables/tours.py @@ -12,4 +12,4 @@ def tours_merged(tours, persons_merged): return inject.merge_tables(tours.name, tables=[tours, persons_merged]) -inject.broadcast('persons_merged', 'tours', cast_index=True, onto_on='person_id') +inject.broadcast("persons_merged", "tours", cast_index=True, onto_on="person_id") diff --git a/activitysim/abm/tables/trips.py b/activitysim/abm/tables/trips.py index bd9f0a89f0..890cbd6f57 100644 --- a/activitysim/abm/tables/trips.py +++ b/activitysim/abm/tables/trips.py @@ -4,7 +4,6 @@ from activitysim.core import inject - logger = logging.getLogger(__name__) @@ -13,4 +12,4 @@ def trips_merged(trips, tours): return inject.merge_tables(trips.name, tables=[trips, tours]) -inject.broadcast('tours', 'trips', cast_index=True, onto_on='tour_id') +inject.broadcast("tours", "trips", cast_index=True, onto_on="tour_id") diff --git a/activitysim/abm/tables/vehicles.py b/activitysim/abm/tables/vehicles.py new file mode 100644 index 0000000000..ab6a9d011b --- /dev/null +++ b/activitysim/abm/tables/vehicles.py @@ -0,0 +1,68 @@ +# ActivitySim +# See full license in LICENSE.txt. +import logging + +from activitysim.core import inject, pipeline, tracing + +logger = logging.getLogger(__name__) + + +@inject.table() +def vehicles(households): + """Creates the vehicles table and load it as an injectable + + This method initializes the `vehicles` table, where the number of rows + is equal to the sum of `households["auto_ownership"]`. + + Parameters + ---------- + households : orca.DataFrameWrapper + + Returns + ------- + vehicles : pandas.DataFrame + """ + + # initialize vehicles table + vehicles = households.to_frame().loc[ + households.index.repeat(households["auto_ownership"]) + ] + vehicles = vehicles.reset_index()[["household_id"]] + + vehicles["vehicle_num"] = vehicles.groupby("household_id").cumcount() + 1 + # tying the vehicle id to the household id in order to ensure reproducability + vehicles["vehicle_id"] = vehicles.household_id * 10 + vehicles.vehicle_num + vehicles.set_index("vehicle_id", inplace=True) + + # replace table function with dataframe + inject.add_table("vehicles", vehicles) + + pipeline.get_rn_generator().add_channel("vehicles", vehicles) + tracing.register_traceable_table("households", vehicles) + + return vehicles + + +@inject.table() +def vehicles_merged(vehicles, households_merged): + """Augments the vehicles table with household attributes + + Parameters + ---------- + vehicles : orca.DataFrameWrapper + households_merged : orca.DataFrameWrapper + + Returns + ------- + vehicles_merged : pandas.DataFrame + """ + + vehicles_merged = inject.merge_tables( + vehicles.name, tables=[vehicles, households_merged] + ) + return vehicles_merged + + +inject.broadcast( + "households_merged", "vehicles", cast_index=True, onto_on="household_id" +) diff --git a/activitysim/abm/test/conftest.py b/activitysim/abm/test/conftest.py new file mode 100644 index 0000000000..f14a69149d --- /dev/null +++ b/activitysim/abm/test/conftest.py @@ -0,0 +1,55 @@ +import os + +import orca +import pandas as pd +import pytest + +from activitysim.core import pipeline +from activitysim.core.los import Network_LOS as los + + +@pytest.fixture(scope="module") +def initialize_pipeline( + module: str, tables: dict[str, str], initialize_network_los: bool +) -> pipeline.Pipeline: + test_dir = os.path.join("test", module) + configs_dir = os.path.join(test_dir, "configs") + data_dir = os.path.join(test_dir, "data") + output_dir = os.path.join(test_dir, "output") + + if os.path.isdir(configs_dir): + orca.add_injectable("configs_dir", configs_dir) + + if os.path.isdir(data_dir): + orca.add_injectable("data_dir", data_dir) + + if os.path.isdir(test_dir): + if not os.path.isdir(output_dir): + os.mkdir(output_dir) + orca.add_injectable("output_dir", output_dir) + + # Read in the input test dataframes + for dataframe_name, idx_name in tables.items(): + df = pd.read_csv( + os.path.join("test", module, "data", f"{dataframe_name}.csv"), + index_col=idx_name, + ) + orca.add_table(dataframe_name, df) + + if initialize_network_los: + net_los = los() + net_los.load_data() + orca.add_injectable("network_los", net_los) + + # Add the dataframes to the pipeline + pipeline.open_pipeline() + pipeline.add_checkpoint(module) + pipeline.close_pipeline() + + # By convention, this method needs to yield something + yield pipeline._PIPELINE + + # pytest teardown code + pipeline.close_pipeline() + pipeline_file_path = os.path.join(output_dir, "pipeline.h5") + os.unlink(pipeline_file_path) diff --git a/activitysim/abm/test/run_multi_zone_mp.py b/activitysim/abm/test/run_multi_zone_mp.py index 9b994f7ec2..dacd1b3103 100644 --- a/activitysim/abm/test/run_multi_zone_mp.py +++ b/activitysim/abm/test/run_multi_zone_mp.py @@ -4,14 +4,9 @@ import pandas as pd import pandas.testing as pdt +from test_multi_zone import example_path, regress_3_zone, setup_dirs -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import mp_tasks - -from test_multi_zone import example_path -from test_multi_zone import setup_dirs -from test_multi_zone import regress_3_zone +from activitysim.core import inject, mp_tasks, pipeline # set the max households for all tests (this is to limit memory use on travis) HOUSEHOLDS_SAMPLE_SIZE = 100 @@ -19,25 +14,25 @@ def test_mp_run(): - configs_dir = [example_path('configs_3_zone'), example_path('configs')] - data_dir = example_path('data_3') + configs_dir = [example_path("configs_3_zone"), example_path("configs")] + data_dir = example_path("data_3") setup_dirs(configs_dir, data_dir) - inject.add_injectable('settings_file_name', 'settings_mp.yaml') + inject.add_injectable("settings_file_name", "settings_mp.yaml") run_list = mp_tasks.get_run_list() mp_tasks.print_run_list(run_list) # do this after config.handle_standard_args, as command line args may override injectables - injectables = ['data_dir', 'configs_dir', 'output_dir', 'settings_file_name'] + injectables = ["data_dir", "configs_dir", "output_dir", "settings_file_name"] injectables = {k: inject.get_injectable(k) for k in injectables} mp_tasks.run_multiprocess(run_list, injectables) - pipeline.open_pipeline('_') + pipeline.open_pipeline("_") regress_3_zone() pipeline.close_pipeline() -if __name__ == '__main__': +if __name__ == "__main__": test_mp_run() diff --git a/activitysim/abm/test/test_misc/setup_utils.py b/activitysim/abm/test/test_misc/setup_utils.py index bfee82afc0..d844dcc5fd 100644 --- a/activitysim/abm/test/test_misc/setup_utils.py +++ b/activitysim/abm/test/test_misc/setup_utils.py @@ -1,23 +1,18 @@ # ActivitySim # See full license in LICENSE.txt. -import os import logging -import pkg_resources +import os -import openmatrix as omx import numpy as np import numpy.testing as npt - +import openmatrix as omx import pandas as pd import pandas.testing as pdt +import pkg_resources import pytest import yaml -from activitysim.core import random -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import config +from activitysim.core import config, inject, pipeline, random, tracing # set the max households for all tests (this is to limit memory use on travis) HOUSEHOLDS_SAMPLE_SIZE = 50 @@ -34,39 +29,39 @@ def example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) def setup_dirs(ancillary_configs_dir=None, data_dir=None): # ancillary_configs_dir is used by run_mp to test multiprocess - test_pipeline_configs_dir = os.path.join(os.path.dirname(__file__), 'configs') - example_configs_dir = example_path('configs') + test_pipeline_configs_dir = os.path.join(os.path.dirname(__file__), "configs") + example_configs_dir = example_path("configs") configs_dir = [test_pipeline_configs_dir, example_configs_dir] if ancillary_configs_dir is not None: configs_dir = [ancillary_configs_dir] + configs_dir - inject.add_injectable('configs_dir', configs_dir) + inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') - inject.add_injectable('output_dir', output_dir) + output_dir = os.path.join(os.path.dirname(__file__), "output") + inject.add_injectable("output_dir", output_dir) if not data_dir: - data_dir = example_path('data') + data_dir = example_path("data") - inject.add_injectable('data_dir', data_dir) + inject.add_injectable("data_dir", data_dir) inject.clear_cache() tracing.config_logger() - tracing.delete_output_files('csv') - tracing.delete_output_files('txt') - tracing.delete_output_files('yaml') - tracing.delete_output_files('omx') + tracing.delete_output_files("csv") + tracing.delete_output_files("txt") + tracing.delete_output_files("yaml") + tracing.delete_output_files("omx") def teardown_function(func): @@ -86,7 +81,7 @@ def close_handlers(): def inject_settings(**kwargs): - settings = config.read_settings_file('settings.yaml', mandatory=True) + settings = config.read_settings_file("settings.yaml", mandatory=True) for k in kwargs: settings[k] = kwargs[k] diff --git a/activitysim/abm/test/test_misc/test_load_cached_accessibility.py b/activitysim/abm/test/test_misc/test_load_cached_accessibility.py index 762fdd705c..505fef890a 100644 --- a/activitysim/abm/test/test_misc/test_load_cached_accessibility.py +++ b/activitysim/abm/test/test_misc/test_load_cached_accessibility.py @@ -1,26 +1,20 @@ # ActivitySim # See full license in LICENSE.txt. -import os import logging -import pkg_resources +import os -import openmatrix as omx import numpy as np import numpy.testing as npt - +import openmatrix as omx import pandas as pd import pandas.testing as pdt +import pkg_resources import pytest import yaml -from activitysim.core import random -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import config +from activitysim.core import config, inject, pipeline, random, tracing -from .setup_utils import setup_dirs -from .setup_utils import inject_settings +from .setup_utils import inject_settings, setup_dirs # set the max households for all tests (this is to limit memory use on travis) HOUSEHOLDS_SAMPLE_SIZE = 50 @@ -37,8 +31,8 @@ def example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) def teardown_function(func): @@ -60,7 +54,7 @@ def test_load_cached_accessibility(): inject.clear_cache() inject.reinject_decorated_tables() - data_dir = [os.path.join(os.path.dirname(__file__), 'data'), example_path('data')] + data_dir = [os.path.join(os.path.dirname(__file__), "data"), example_path("data")] setup_dirs(data_dir=data_dir) # @@ -68,28 +62,30 @@ def test_load_cached_accessibility(): # activitysim.abm.tables.land_use.accessibility() will load this table if listed here # presumably independently calculated outside activitysim or a cached copy created during a previous run # - settings = config.read_settings_file('settings.yaml', mandatory=True) - input_table_list = settings.get('input_table_list') - input_table_list.append({ - 'tablename': 'accessibility', - 'filename': 'cached_accessibility.csv', - 'index_col': 'zone_id' - }) - inject_settings(households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, - input_table_list=input_table_list - ) + settings = config.read_settings_file("settings.yaml", mandatory=True) + input_table_list = settings.get("input_table_list") + input_table_list.append( + { + "tablename": "accessibility", + "filename": "cached_accessibility.csv", + "index_col": "zone_id", + } + ) + inject_settings( + households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, input_table_list=input_table_list + ) _MODELS = [ - 'initialize_landuse', + "initialize_landuse", # 'compute_accessibility', # we load accessibility table ordinarily created by compute_accessibility - 'initialize_households', + "initialize_households", ] pipeline.run(models=_MODELS, resume_after=None) accessibility_df = pipeline.get_table("accessibility") - assert 'auPkRetail' in accessibility_df + assert "auPkRetail" in accessibility_df pipeline.close_pipeline() inject.clear_cache() diff --git a/activitysim/abm/test/test_misc/test_misc.py b/activitysim/abm/test/test_misc/test_misc.py index af349bc4d0..f4daf7250c 100644 --- a/activitysim/abm/test/test_misc/test_misc.py +++ b/activitysim/abm/test/test_misc/test_misc.py @@ -1,11 +1,11 @@ # ActivitySim # See full license in LICENSE.txt. import os + import pytest from activitysim.core import inject - # The following import statement has the side-effect of registering injectables: from .. import __init__ @@ -26,13 +26,13 @@ def test_misc(): inject.get_injectable("output_dir") assert "directory does not exist" in str(excinfo.value) - configs_dir = os.path.join(os.path.dirname(__file__), 'configs_test_misc') + configs_dir = os.path.join(os.path.dirname(__file__), "configs_test_misc") inject.add_injectable("configs_dir", configs_dir) settings = inject.get_injectable("settings") assert isinstance(settings, dict) - data_dir = os.path.join(os.path.dirname(__file__), 'data') + data_dir = os.path.join(os.path.dirname(__file__), "data") inject.add_injectable("data_dir", data_dir) # default values if not specified in settings diff --git a/activitysim/abm/test/test_misc/test_summarize.py b/activitysim/abm/test/test_misc/test_summarize.py new file mode 100644 index 0000000000..6f76e1f2c1 --- /dev/null +++ b/activitysim/abm/test/test_misc/test_summarize.py @@ -0,0 +1,79 @@ +import logging +import os + +import pandas as pd +import pytest + +# import models is necessary to initalize the model steps with orca +from activitysim.abm import models +from activitysim.core import config, pipeline + + +# Used by conftest.py initialize_pipeline method +@pytest.fixture(scope="module") +def module() -> str: + """ + A pytest fixture that returns the data folder location. + :return: folder location for any necessary data to initialize the tests + """ + return "summarize" + + +# Used by conftest.py initialize_pipeline method +@pytest.fixture(scope="module") +def tables() -> dict[str, str]: + """ + A pytest fixture that returns the "mock" tables to build pipeline dataframes. The + key-value pair is the name of the table and the index column. + :return: dict + """ + return { + "land_use": "zone_id", + "tours": "tour_id", + "trips": "trip_id", + "persons": "person_id", + "households": "household_id", + } + + +# Used by conftest.py initialize_pipeline method +# Set to true if you need to read skims into the pipeline +@pytest.fixture(scope="module") +def initialize_network_los() -> bool: + """ + A pytest boolean fixture indicating whether network skims should be read from the + fixtures test data folder. + :return: bool + """ + return True + + +def test_summarize(initialize_pipeline: pipeline.Pipeline, caplog): + # Run summarize model + caplog.set_level(logging.DEBUG) + pipeline.run(models=["summarize"]) + + # Retrieve output tables to check contents + model_settings = config.read_model_settings("summarize.yaml") + output_location = ( + model_settings["OUTPUT"] if "OUTPUT" in model_settings else "summaries" + ) + output_dir = config.output_file_path(output_location) + + # Check that households are counted correctly + households_count = pd.read_csv( + config.output_file_path(os.path.join(output_location, f"households_count.csv")) + ) + households = pd.read_csv(config.data_file_path("households.csv")) + assert int(households_count.iloc[0]) == len(households) + + # Check that bike trips are counted correctly + trips_by_mode_count = pd.read_csv( + config.output_file_path( + os.path.join(output_location, f"trips_by_mode_count.csv") + ) + ) + trips = pd.read_csv(config.data_file_path("trips.csv")) + assert int(trips_by_mode_count.BIKE.iloc[0]) == len( + trips[trips.trip_mode == "BIKE"] + ) diff --git a/activitysim/abm/test/test_misc/test_trip_departure_choice.py b/activitysim/abm/test/test_misc/test_trip_departure_choice.py index 285655ac70..f36cf6df20 100644 --- a/activitysim/abm/test/test_misc/test_trip_departure_choice.py +++ b/activitysim/abm/test/test_misc/test_trip_departure_choice.py @@ -1,4 +1,3 @@ - import numpy as np import pandas as pd import pytest @@ -6,52 +5,93 @@ import activitysim.abm.models.trip_departure_choice as tdc from activitysim.abm.models.util.trip import get_time_windows from activitysim.core import los + from .setup_utils import setup_dirs -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def trips(): outbound_array = [True, True, False, False, False, True, True, False, False, True] - trips = pd.DataFrame(data={'tour_id': [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], - 'trip_duration': [2, 2, 7, 7, 7, 12, 12, 4, 4, 5], - 'inbound_duration': [0, 0, 7, 7, 7, 0, 0, 4, 4, 5], - 'main_leg_duration': [4, 4, 2, 2, 2, 2, 2, 1, 1, 2], - 'outbound_duration': [2, 2, 0, 0, 0, 12, 12, 0, 0, 5], - 'trip_count': [2, 2, 3, 3, 3, 2, 2, 2, 2, 1], - 'trip_num': [1, 2, 1, 2, 3, 1, 2, 1, 2, 1], - 'outbound': outbound_array, - 'chunk_id': [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], - 'is_work': [True, True, False, False, False, False, False, False, False, True], - 'is_school': [False, False, False, False, False, False, False, True, True, False], - 'is_eatout': [False, False, True, True, True, True, True, False, False, False], - 'start': [8, 8, 18, 18, 18, 18, 18, 24, 24, 19], - 'end': [14, 14, 39, 39, 39, 39, 39, 29, 29, 26], - 'origin': [3, 5, 15, 12, 24, 8, 17, 8, 9, 6], - 'destination': [5, 9, 12, 24, 20, 17, 18, 9, 11, 14], - }, index=range(10)) - - trips.index.name = 'trip_id' + trips = pd.DataFrame( + data={ + "tour_id": [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], + "trip_duration": [2, 2, 7, 7, 7, 12, 12, 4, 4, 5], + "inbound_duration": [0, 0, 7, 7, 7, 0, 0, 4, 4, 5], + "main_leg_duration": [4, 4, 2, 2, 2, 2, 2, 1, 1, 2], + "outbound_duration": [2, 2, 0, 0, 0, 12, 12, 0, 0, 5], + "trip_count": [2, 2, 3, 3, 3, 2, 2, 2, 2, 1], + "trip_num": [1, 2, 1, 2, 3, 1, 2, 1, 2, 1], + "outbound": outbound_array, + "chunk_id": [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], + "is_work": [ + True, + True, + False, + False, + False, + False, + False, + False, + False, + True, + ], + "is_school": [ + False, + False, + False, + False, + False, + False, + False, + True, + True, + False, + ], + "is_eatout": [ + False, + False, + True, + True, + True, + True, + True, + False, + False, + False, + ], + "start": [8, 8, 18, 18, 18, 18, 18, 24, 24, 19], + "end": [14, 14, 39, 39, 39, 39, 39, 29, 29, 26], + "origin": [3, 5, 15, 12, 24, 8, 17, 8, 9, 6], + "destination": [5, 9, 12, 24, 20, 17, 18, 9, 11, 14], + }, + index=range(10), + ) + + trips.index.name = "trip_id" return trips -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def settings(): - return {"skims_file": "skims.omx", - "skim_time_periods": { - "labels": ['EA', 'AM', 'MD', 'PM', 'NT']} - } + return { + "skims_file": "skims.omx", + "skim_time_periods": {"labels": ["EA", "AM", "MD", "PM", "NT"]}, + } -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def model_spec(): - index = ["@(df['stop_time_duration'] * df['is_work'].astype(int)).astype(int)", - "@(df['stop_time_duration'] * df['is_school'].astype(int)).astype(int)", - "@(df['stop_time_duration'] * df['is_eatout'].astype(int)).astype(int)"] + index = [ + "@(df['stop_time_duration'] * df['is_work'].astype(int)).astype(int)", + "@(df['stop_time_duration'] * df['is_school'].astype(int)).astype(int)", + "@(df['stop_time_duration'] * df['is_eatout'].astype(int)).astype(int)", + ] - values = {'inbound': [0.933020, 0.370260, 0.994840], - 'outbound': [0.933020, 0.370260, 0.994840] - } + values = { + "inbound": [0.933020, 0.370260, 0.994840], + "outbound": [0.933020, 0.370260, 0.994840], + } return pd.DataFrame(index=index, data=values) @@ -59,14 +99,20 @@ def model_spec(): def test_build_patterns(trips): time_windows = get_time_windows(48, 3) patterns = tdc.build_patterns(trips, time_windows) - patterns = patterns.sort_values(['tour_id', 'outbound', 'trip_num']) + patterns = patterns.sort_values(["tour_id", "outbound", "trip_num"]) assert patterns.shape[0] == 34 assert patterns.shape[1] == 6 assert patterns.index.name == tdc.TOUR_LEG_ID - output_columns = [tdc.TOUR_ID, tdc.PATTERN_ID, tdc.TRIP_NUM, - tdc.STOP_TIME_DURATION, tdc.TOUR_ID, tdc.OUTBOUND] + output_columns = [ + tdc.TOUR_ID, + tdc.PATTERN_ID, + tdc.TRIP_NUM, + tdc.STOP_TIME_DURATION, + tdc.TOUR_ID, + tdc.OUTBOUND, + ] assert set(output_columns).issubset(patterns.columns) @@ -74,7 +120,10 @@ def test_build_patterns(trips): def test_get_tour_legs(trips): tour_legs = tdc.get_tour_legs(trips) assert tour_legs.index.name == tdc.TOUR_LEG_ID - assert np.unique(tour_legs[tdc.TOUR_ID].values).shape[0] == np.unique(trips[tdc.TOUR_ID].values).shape[0] + assert ( + np.unique(tour_legs[tdc.TOUR_ID].values).shape[0] + == np.unique(trips[tdc.TOUR_ID].values).shape[0] + ) def test_generate_alternative(trips): @@ -85,14 +134,16 @@ def test_generate_alternative(trips): assert alts.index.name == tdc.TRIP_ID assert alts.columns[0] == tdc.STOP_TIME_DURATION - pd.testing.assert_series_equal(trips.groupby(trips.index)['trip_duration'].max(), - alts.groupby(alts.index)[tdc.STOP_TIME_DURATION].max(), - check_names=False) + pd.testing.assert_series_equal( + trips.groupby(trips.index)["trip_duration"].max(), + alts.groupby(alts.index)[tdc.STOP_TIME_DURATION].max(), + check_names=False, + ) def test_apply_stage_two_model(model_spec, trips): setup_dirs() - departures = tdc.apply_stage_two_model(model_spec, trips, 0, 'TEST Trip Departure') + departures = tdc.apply_stage_two_model(model_spec, trips, 0, "TEST Trip Departure") assert len(departures) == len(trips) pd.testing.assert_index_equal(departures.index, trips.index) diff --git a/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py b/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py index e03c018967..a3f6ffdd95 100644 --- a/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py +++ b/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py @@ -1,4 +1,3 @@ - import numpy as np import pandas as pd import pytest @@ -6,22 +5,27 @@ from activitysim.abm.models import trip_scheduling_choice as tsc from activitysim.abm.tables.skims import skim_dict from activitysim.core import los + from .setup_utils import setup_dirs -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def tours(): - tours = pd.DataFrame(data={'duration': [2, 44, 32, 12, 11, 16], - 'num_outbound_stops': [2, 4, 0, 0, 1, 3], - 'num_inbound_stops': [1, 0, 0, 2, 1, 2], - 'tour_type': ['othdisc'] * 2 + ['eatout'] * 4, - 'origin': [3, 10, 15, 23, 5, 8], - 'destination': [5, 9, 12, 24, 20, 17], - tsc.LAST_OB_STOP: [1, 3, 0, 0, 12, 14], - tsc.FIRST_IB_STOP: [2, 0, 0, 4, 6, 20], - }, index=range(6)) - - tours.index.name = 'tour_id' + tours = pd.DataFrame( + data={ + "duration": [2, 44, 32, 12, 11, 16], + "num_outbound_stops": [2, 4, 0, 0, 1, 3], + "num_inbound_stops": [1, 0, 0, 2, 1, 2], + "tour_type": ["othdisc"] * 2 + ["eatout"] * 4, + "origin": [3, 10, 15, 23, 5, 8], + "destination": [5, 9, 12, 24, 20, 17], + tsc.LAST_OB_STOP: [1, 3, 0, 0, 12, 14], + tsc.FIRST_IB_STOP: [2, 0, 0, 4, 6, 20], + }, + index=range(6), + ) + + tours.index.name = "tour_id" tours[tsc.HAS_OB_STOPS] = tours[tsc.NUM_OB_STOPS] >= 1 tours[tsc.HAS_IB_STOPS] = tours[tsc.NUM_IB_STOPS] >= 1 @@ -29,41 +33,49 @@ def tours(): return tours -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def settings(): - return {"skims_file": "skims.omx", - "skim_time_periods": { - "labels": ['MD']} - } + return {"skims_file": "skims.omx", "skim_time_periods": {"labels": ["MD"]}} -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def model_spec(): - index = ["@(df['main_leg_duration']>df['duration']).astype(int)", - "@(df['main_leg_duration'] == 0)&(df['tour_type']=='othdiscr')", - "@(df['main_leg_duration'] == 1)&(df['tour_type']=='othdiscr')", - "@(df['main_leg_duration'] == 2)&(df['tour_type']=='othdiscr')", - "@(df['main_leg_duration'] == 3)&(df['tour_type']=='othdiscr')", - "@(df['main_leg_duration'] == 4)&(df['tour_type']=='othdiscr')", - "@df['tour_type']=='othdiscr'", - "@df['tour_type']=='eatout'", - "@df['tour_type']=='eatout'" - ] - - values = [-999, -6.5884, -5.0326, -2.0526, -1.0313, -0.46489, 0.060382, -0.7508, 0.53247] - - return pd.DataFrame(index=index, data=values, columns=['stage_one']) - - -@pytest.fixture(scope='module') + index = [ + "@(df['main_leg_duration']>df['duration']).astype(int)", + "@(df['main_leg_duration'] == 0)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 1)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 2)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 3)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 4)&(df['tour_type']=='othdiscr')", + "@df['tour_type']=='othdiscr'", + "@df['tour_type']=='eatout'", + "@df['tour_type']=='eatout'", + ] + + values = [ + -999, + -6.5884, + -5.0326, + -2.0526, + -1.0313, + -0.46489, + 0.060382, + -0.7508, + 0.53247, + ] + + return pd.DataFrame(index=index, data=values, columns=["stage_one"]) + + +@pytest.fixture(scope="module") def skims(settings): setup_dirs() nw_los = los.Network_LOS() nw_los.load_data() skim_d = skim_dict(nw_los) - od_skim_stack_wrapper = skim_d.wrap('origin', 'destination') - do_skim_stack_wrapper = skim_d.wrap('destination', 'origin') + od_skim_stack_wrapper = skim_d.wrap("origin", "destination") + do_skim_stack_wrapper = skim_d.wrap("destination", "origin") obib_skim_stack_wrapper = skim_d.wrap(tsc.LAST_OB_STOP, tsc.FIRST_IB_STOP) skims = [od_skim_stack_wrapper, do_skim_stack_wrapper, obib_skim_stack_wrapper] @@ -71,13 +83,9 @@ def skims(settings): return skims -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def locals_dict(skims): - return { - "od_skims": skims[0], - "do_skims": skims[1], - "obib_skims": skims[2] - } + return {"od_skims": skims[0], "do_skims": skims[1], "obib_skims": skims[2]} def test_generate_schedule_alternatives(tours): @@ -85,40 +93,53 @@ def test_generate_schedule_alternatives(tours): assert windows.shape[0] == 296 assert windows.shape[1] == 4 - output_columns = [tsc.SCHEDULE_ID, tsc.MAIN_LEG_DURATION, - tsc.OB_DURATION, tsc.IB_DURATION] + output_columns = [ + tsc.SCHEDULE_ID, + tsc.MAIN_LEG_DURATION, + tsc.OB_DURATION, + tsc.IB_DURATION, + ] assert set(output_columns).issubset(windows.columns) def test_no_stops_patterns(tours): - no_stops = tours[(tours['num_outbound_stops'] == 0) & (tours['num_inbound_stops'] == 0)].copy() + no_stops = tours[ + (tours["num_outbound_stops"] == 0) & (tours["num_inbound_stops"] == 0) + ].copy() windows = tsc.no_stops_patterns(no_stops) assert windows.shape[0] == 1 assert windows.shape[1] == 3 - output_columns = [tsc.MAIN_LEG_DURATION, - tsc.OB_DURATION, tsc.IB_DURATION] + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] assert set(output_columns).issubset(windows.columns) - pd.testing.assert_series_equal(windows[tsc.MAIN_LEG_DURATION], no_stops['duration'], - check_names=False, check_dtype=False) + pd.testing.assert_series_equal( + windows[tsc.MAIN_LEG_DURATION], + no_stops["duration"], + check_names=False, + check_dtype=False, + ) assert windows[windows[tsc.IB_DURATION] > 0].empty assert windows[windows[tsc.OB_DURATION] > 0].empty def test_one_way_stop_patterns(tours): - one_way_stops = tours[((tours['num_outbound_stops'] > 0).astype(int) + - (tours['num_inbound_stops'] > 0).astype(int)) == 1].copy() + one_way_stops = tours[ + ( + (tours["num_outbound_stops"] > 0).astype(int) + + (tours["num_inbound_stops"] > 0).astype(int) + ) + == 1 + ].copy() windows = tsc.stop_one_way_only_patterns(one_way_stops) assert windows.shape[0] == 58 assert windows.shape[1] == 3 - output_columns = [tsc.MAIN_LEG_DURATION, - tsc.OB_DURATION, tsc.IB_DURATION] + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] assert set(output_columns).issubset(windows.columns) @@ -129,15 +150,19 @@ def test_one_way_stop_patterns(tours): def test_two_way_stop_patterns(tours): - two_way_stops = tours[((tours['num_outbound_stops'] > 0).astype(int) + - (tours['num_inbound_stops'] > 0).astype(int)) == 2].copy() + two_way_stops = tours[ + ( + (tours["num_outbound_stops"] > 0).astype(int) + + (tours["num_inbound_stops"] > 0).astype(int) + ) + == 2 + ].copy() windows = tsc.stop_two_way_only_patterns(two_way_stops) assert windows.shape[0] == 237 assert windows.shape[1] == 3 - output_columns = [tsc.MAIN_LEG_DURATION, - tsc.OB_DURATION, tsc.IB_DURATION] + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] assert set(output_columns).issubset(windows.columns) @@ -147,15 +172,21 @@ def test_run_trip_scheduling_choice(model_spec, tours, skims, locals_dict): Test run the model. """ - out_tours = tsc.run_trip_scheduling_choice(model_spec, tours, skims, locals_dict, - 2, None, "PyTest Trip Scheduling") + out_tours = tsc.run_trip_scheduling_choice( + model_spec, tours, skims, locals_dict, 2, None, "PyTest Trip Scheduling" + ) assert len(tours) == len(out_tours) - pd.testing.assert_index_equal(tours.sort_index().index, out_tours.sort_index().index) + pd.testing.assert_index_equal( + tours.sort_index().index, out_tours.sort_index().index + ) - output_columns = [tsc.MAIN_LEG_DURATION, - tsc.OB_DURATION, tsc.IB_DURATION] + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] assert set(output_columns).issubset(out_tours.columns) - assert len(out_tours[out_tours[output_columns].sum(axis=1) == out_tours[tsc.TOUR_DURATION_COLUMN]]) == len(tours) + assert len( + out_tours[ + out_tours[output_columns].sum(axis=1) == out_tours[tsc.TOUR_DURATION_COLUMN] + ] + ) == len(tours) diff --git a/activitysim/abm/test/test_misc/test_trip_utils.py b/activitysim/abm/test/test_misc/test_trip_utils.py index bf908986ea..ef03b90360 100644 --- a/activitysim/abm/test/test_misc/test_trip_utils.py +++ b/activitysim/abm/test/test_misc/test_trip_utils.py @@ -5,9 +5,17 @@ from activitysim.abm.models.util.trip import get_time_windows -@pytest.mark.parametrize("duration, levels, expected", - [(24, 3, 2925), (24, 2, 325), (24, 1, 25), - (48, 3, 20825), (48, 2, 1225), (48, 1, 49)]) +@pytest.mark.parametrize( + "duration, levels, expected", + [ + (24, 3, 2925), + (24, 2, 325), + (24, 1, 25), + (48, 3, 20825), + (48, 2, 1225), + (48, 1, 49), + ], +) def test_get_time_windows(duration, levels, expected): time_windows = get_time_windows(duration, levels) diff --git a/activitysim/abm/test/test_misc/test_vehicle_type_alternatives.py b/activitysim/abm/test/test_misc/test_vehicle_type_alternatives.py new file mode 100644 index 0000000000..8acdc5203e --- /dev/null +++ b/activitysim/abm/test/test_misc/test_vehicle_type_alternatives.py @@ -0,0 +1,77 @@ +import numpy as np +import pandas as pd +import pytest + +from activitysim.abm.models.vehicle_type_choice import ( + get_combinatorial_vehicle_alternatives, +) + + +def test_get_combinatorial_vehicle_alternatives(): + test_alts_cats_dict = { + "body_type": ["Car", "Van"], + "age": [1, 2], + "fuel_type": ["Gas", "PEV"], + } + alts_wide, alts_long = get_combinatorial_vehicle_alternatives(test_alts_cats_dict) + + expected_wide = pd.DataFrame( + { + "body_type_Car": {0: 1, 1: 1, 2: 1, 3: 1, 4: 0, 5: 0, 6: 0, 7: 0}, + "body_type_Van": {0: 0, 1: 0, 2: 0, 3: 0, 4: 1, 5: 1, 6: 1, 7: 1}, + "age_1": {0: 1, 1: 1, 2: 0, 3: 0, 4: 1, 5: 1, 6: 0, 7: 0}, + "age_2": {0: 0, 1: 0, 2: 1, 3: 1, 4: 0, 5: 0, 6: 1, 7: 1}, + "fuel_type_Gas": {0: 1, 1: 0, 2: 1, 3: 0, 4: 1, 5: 0, 6: 1, 7: 0}, + "fuel_type_PEV": {0: 0, 1: 1, 2: 0, 3: 1, 4: 0, 5: 1, 6: 0, 7: 1}, + "body_type": { + 0: "Car", + 1: "Car", + 2: "Car", + 3: "Car", + 4: "Van", + 5: "Van", + 6: "Van", + 7: "Van", + }, + "age": {0: "1", 1: "1", 2: "2", 3: "2", 4: "1", 5: "1", 6: "2", 7: "2"}, + "fuel_type": { + 0: "Gas", + 1: "PEV", + 2: "Gas", + 3: "PEV", + 4: "Gas", + 5: "PEV", + 6: "Gas", + 7: "PEV", + }, + } + ) + + expected_long = pd.DataFrame( + { + "body_type": { + 0: "Car", + 1: "Car", + 2: "Car", + 3: "Car", + 4: "Van", + 5: "Van", + 6: "Van", + 7: "Van", + }, + "age": {0: "1", 1: "1", 2: "2", 3: "2", 4: "1", 5: "1", 6: "2", 7: "2"}, + "fuel_type": { + 0: "Gas", + 1: "PEV", + 2: "Gas", + 3: "PEV", + 4: "Gas", + 5: "PEV", + 6: "Gas", + 7: "PEV", + }, + } + ) + + pd.testing.assert_frame_equal(alts_wide, expected_wide, check_dtype=False) + pd.testing.assert_frame_equal(alts_long, expected_long, check_dtype=False) diff --git a/activitysim/abm/test/test_pipeline/test_pipeline.py b/activitysim/abm/test/test_pipeline/test_pipeline.py index 7f8986f8c5..0bb09a4cc1 100644 --- a/activitysim/abm/test/test_pipeline/test_pipeline.py +++ b/activitysim/abm/test/test_pipeline/test_pipeline.py @@ -1,23 +1,18 @@ # ActivitySim # See full license in LICENSE.txt. -import os import logging -import pkg_resources +import os -import openmatrix as omx import numpy as np import numpy.testing as npt - +import openmatrix as omx import pandas as pd import pandas.testing as pdt +import pkg_resources import pytest import yaml -from activitysim.core import random -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import config +from activitysim.core import config, inject, pipeline, random, tracing # set the max households for all tests (this is to limit memory use on travis) HOUSEHOLDS_SAMPLE_SIZE = 50 @@ -34,39 +29,39 @@ def example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) def setup_dirs(ancillary_configs_dir=None, data_dir=None): # ancillary_configs_dir is used by run_mp to test multiprocess - test_pipeline_configs_dir = os.path.join(os.path.dirname(__file__), 'configs') - example_configs_dir = example_path('configs') + test_pipeline_configs_dir = os.path.join(os.path.dirname(__file__), "configs") + example_configs_dir = example_path("configs") configs_dir = [test_pipeline_configs_dir, example_configs_dir] if ancillary_configs_dir is not None: configs_dir = [ancillary_configs_dir] + configs_dir - inject.add_injectable('configs_dir', configs_dir) + inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') - inject.add_injectable('output_dir', output_dir) + output_dir = os.path.join(os.path.dirname(__file__), "output") + inject.add_injectable("output_dir", output_dir) if not data_dir: - data_dir = example_path('data') + data_dir = example_path("data") - inject.add_injectable('data_dir', data_dir) + inject.add_injectable("data_dir", data_dir) inject.clear_cache() tracing.config_logger() - tracing.delete_output_files('csv') - tracing.delete_output_files('txt') - tracing.delete_output_files('yaml') - tracing.delete_output_files('omx') + tracing.delete_output_files("csv") + tracing.delete_output_files("txt") + tracing.delete_output_files("yaml") + tracing.delete_output_files("omx") def teardown_function(func): @@ -86,7 +81,7 @@ def close_handlers(): def inject_settings(**kwargs): - settings = config.read_settings_file('settings.yaml', mandatory=True) + settings = config.read_settings_file("settings.yaml", mandatory=True) for k in kwargs: settings[k] = kwargs[k] @@ -100,7 +95,7 @@ def test_rng_access(): setup_dirs() - inject.add_injectable('rng_base_seed', 0) + inject.add_injectable("rng_base_seed", 0) pipeline.open_pipeline() @@ -118,12 +113,15 @@ def regress_mini_auto(): # should be the same results as in run_mp (multiprocessing) test case hh_ids = [1099626, 1173905, 1196298, 1286259] choices = [1, 1, 0, 0] - expected_choice = pd.Series(choices, index=pd.Index(hh_ids, name="household_id"), - name='auto_ownership') + expected_choice = pd.Series( + choices, index=pd.Index(hh_ids, name="household_id"), name="auto_ownership" + ) auto_choice = pipeline.get_table("households").sort_index().auto_ownership - offset = HOUSEHOLDS_SAMPLE_SIZE // 2 # choose something midway as hh_id ordered by hh size + offset = ( + HOUSEHOLDS_SAMPLE_SIZE // 2 + ) # choose something midway as hh_id ordered by hh size print("auto_choice\n%s" % auto_choice.head(offset).tail(4)) auto_choice = auto_choice.reindex(hh_ids) @@ -146,11 +144,14 @@ def regress_mini_mtf(): # these choices are for pure regression - their appropriateness has not been checked per_ids = [2566701, 2566702, 3061895] - choices = ['school1', 'school1', 'work1'] - expected_choice = pd.Series(choices, index=pd.Index(per_ids, name='person_id'), - name='mandatory_tour_frequency') + choices = ["school1", "school1", "work1"] + expected_choice = pd.Series( + choices, + index=pd.Index(per_ids, name="person_id"), + name="mandatory_tour_frequency", + ) - mtf_choice = mtf_choice[mtf_choice != ''] # drop null (empty string) choices + mtf_choice = mtf_choice[mtf_choice != ""] # drop null (empty string) choices offset = len(mtf_choice) // 2 # choose something midway as hh_id ordered by hh size print("mtf_choice\n%s" % mtf_choice.head(offset).tail(3)) @@ -163,7 +164,9 @@ def regress_mini_mtf(): 3061895 work1 Name: mandatory_tour_frequency, dtype: object """ - pdt.assert_series_equal(mtf_choice.reindex(per_ids), expected_choice, check_dtype=False) + pdt.assert_series_equal( + mtf_choice.reindex(per_ids), expected_choice, check_dtype=False + ) def regress_mini_location_choice_logsums(): @@ -171,36 +174,36 @@ def regress_mini_location_choice_logsums(): persons = pipeline.get_table("persons") # DEST_CHOICE_LOGSUM_COLUMN_NAME is specified in school_location.yaml and should be assigned - assert 'school_location_logsum' in persons + assert "school_location_logsum" in persons assert not persons.school_location_logsum.isnull().all() # DEST_CHOICE_LOGSUM_COLUMN_NAME is NOT specified in workplace_location.yaml - assert 'workplace_location_logsum' not in persons + assert "workplace_location_logsum" not in persons def test_mini_pipeline_run(): setup_dirs() - inject_settings(households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, - write_skim_cache=True - ) + inject_settings( + households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, write_skim_cache=True + ) _MODELS = [ - 'initialize_landuse', - 'compute_accessibility', - 'initialize_households', - 'school_location', - 'workplace_location', - 'auto_ownership_simulate' + "initialize_landuse", + "compute_accessibility", + "initialize_households", + "school_location", + "workplace_location", + "auto_ownership_simulate", ] pipeline.run(models=_MODELS, resume_after=None) regress_mini_auto() - pipeline.run_model('cdap_simulate') - pipeline.run_model('mandatory_tour_frequency') + pipeline.run_model("cdap_simulate") + pipeline.run_model("mandatory_tour_frequency") regress_mini_mtf() regress_mini_location_choice_logsums() @@ -217,7 +220,7 @@ def test_mini_pipeline_run(): # should create optional workplace_location_sample table workplace_location_sample_df = pipeline.get_table("workplace_location_sample") - assert 'mode_choice_logsum' in workplace_location_sample_df + assert "mode_choice_logsum" in workplace_location_sample_df pipeline.close_pipeline() inject.clear_cache() @@ -232,8 +235,7 @@ def test_mini_pipeline_run2(): setup_dirs() - inject_settings(households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, - read_skim_cache=True) + inject_settings(households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, read_skim_cache=True) # should be able to get this BEFORE pipeline is opened checkpoints_df = pipeline.get_checkpoints() @@ -242,18 +244,18 @@ def test_mini_pipeline_run2(): # print "checkpoints_df\n%s" % checkpoints_df[['checkpoint_name']] assert prev_checkpoint_count == 9 - pipeline.open_pipeline('auto_ownership_simulate') + pipeline.open_pipeline("auto_ownership_simulate") regress_mini_auto() # try to run a model already in pipeline with pytest.raises(RuntimeError) as excinfo: - pipeline.run_model('auto_ownership_simulate') + pipeline.run_model("auto_ownership_simulate") assert "run model 'auto_ownership_simulate' more than once" in str(excinfo.value) # and these new ones - pipeline.run_model('cdap_simulate') - pipeline.run_model('mandatory_tour_frequency') + pipeline.run_model("cdap_simulate") + pipeline.run_model("mandatory_tour_frequency") regress_mini_mtf() @@ -264,9 +266,9 @@ def test_mini_pipeline_run2(): # - write list of override_hh_ids to override_hh_ids.csv in data for use in next test num_hh_ids = 10 hh_ids = pipeline.get_table("households").head(num_hh_ids).index.values - hh_ids = pd.DataFrame({'household_id': hh_ids}) + hh_ids = pd.DataFrame({"household_id": hh_ids}) - hh_ids_path = config.data_file_path('override_hh_ids.csv') + hh_ids_path = config.data_file_path("override_hh_ids.csv") hh_ids.to_csv(hh_ids_path, index=False, header=True) pipeline.close_pipeline() @@ -279,11 +281,11 @@ def test_mini_pipeline_run3(): # test that hh_ids setting overrides household sampling setup_dirs() - inject_settings(hh_ids='override_hh_ids.csv') + inject_settings(hh_ids="override_hh_ids.csv") - households = inject.get_table('households').to_frame() + households = inject.get_table("households").to_frame() - override_hh_ids = pd.read_csv(config.data_file_path('override_hh_ids.csv')) + override_hh_ids = pd.read_csv(config.data_file_path("override_hh_ids.csv")) print("\noverride_hh_ids\n%s" % override_hh_ids) @@ -296,9 +298,14 @@ def test_mini_pipeline_run3(): close_handlers() -def full_run(resume_after=None, chunk_size=0, - households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, - trace_hh_id=None, trace_od=None, check_for_variability=None): +def full_run( + resume_after=None, + chunk_size=0, + households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, + trace_hh_id=None, + trace_od=None, + check_for_variability=None, +): setup_dirs() @@ -310,15 +317,16 @@ def full_run(resume_after=None, chunk_size=0, testing_fail_trip_destination=False, check_for_variability=check_for_variability, want_dest_choice_sample_tables=False, - use_shadow_pricing=False) # shadow pricing breaks replicability when sample_size varies + use_shadow_pricing=False, + ) # shadow pricing breaks replicability when sample_size varies # FIXME should enable testing_fail_trip_destination? - MODELS = settings['models'] + MODELS = settings["models"] pipeline.run(models=MODELS, resume_after=resume_after) - tours = pipeline.get_table('tours') + tours = pipeline.get_table("tours") tour_count = len(tours.index) return tour_count @@ -349,11 +357,10 @@ def get_trace_csv(file_name): def regress_tour_modes(tours_df): - mode_cols = ['tour_mode', 'person_id', 'tour_type', - 'tour_num', 'tour_category'] + mode_cols = ["tour_mode", "person_id", "tour_type", "tour_num", "tour_category"] tours_df = tours_df[tours_df.household_id == HH_ID] - tours_df = tours_df.sort_values(by=['person_id', 'tour_category', 'tour_num']) + tours_df = tours_df.sort_values(by=["person_id", "tour_category", "tour_num"]) print("mode_df\n%s" % tours_df[mode_cols]) @@ -375,25 +382,18 @@ def regress_tour_modes(tours_df): 325052, 325052, 325052, - ] - - EXPECT_TOUR_TYPES = [ - 'othdiscr', - 'work', - 'work', - 'business', - 'work', - 'othmaint' ] + EXPECT_TOUR_TYPES = ["othdiscr", "work", "work", "business", "work", "othmaint"] + EXPECT_MODES = [ - 'WALK', - 'WALK', - 'SHARED3FREE', - 'WALK', - 'WALK_LOC', - 'WALK', - ] + "WALK", + "WALK", + "SHARED3FREE", + "WALK", + "WALK_LOC", + "WALK", + ] assert len(tours_df) == len(EXPECT_PERSON_IDS) assert (tours_df.person_id.values == EXPECT_PERSON_IDS).all() @@ -403,9 +403,9 @@ def regress_tour_modes(tours_df): def regress(): - persons_df = pipeline.get_table('persons') + persons_df = pipeline.get_table("persons") persons_df = persons_df[persons_df.household_id == HH_ID] - print("persons_df\n%s" % persons_df[['value_of_time', 'distance_to_work']]) + print("persons_df\n%s" % persons_df[["value_of_time", "distance_to_work"]]) """ persons_df @@ -415,7 +415,7 @@ def regress(): 3249923 23.349532 0.62 """ - tours_df = pipeline.get_table('tours') + tours_df = pipeline.get_table("tours") regress_tour_modes(tours_df) @@ -423,16 +423,27 @@ def regress(): assert not tours_df.tour_mode.isnull().any() # optional logsum column was added to all tours except mandatory - assert 'destination_logsum' in tours_df - if (tours_df.destination_logsum.isnull() != (tours_df.tour_category == 'mandatory')).any(): - print(tours_df[(tours_df.destination_logsum.isnull() != (tours_df.tour_category == 'mandatory'))]) - assert (tours_df.destination_logsum.isnull() == (tours_df.tour_category == 'mandatory')).all() + assert "destination_logsum" in tours_df + if ( + tours_df.destination_logsum.isnull() != (tours_df.tour_category == "mandatory") + ).any(): + print( + tours_df[ + ( + tours_df.destination_logsum.isnull() + != (tours_df.tour_category == "mandatory") + ) + ] + ) + assert ( + tours_df.destination_logsum.isnull() == (tours_df.tour_category == "mandatory") + ).all() # mode choice logsum calculated for all tours - assert 'mode_choice_logsum' in tours_df + assert "mode_choice_logsum" in tours_df assert not tours_df.mode_choice_logsum.isnull().any() - trips_df = pipeline.get_table('trips') + trips_df = pipeline.get_table("trips") assert trips_df.shape[0] > 0 assert not trips_df.purpose.isnull().any() assert not trips_df.depart.isnull().any() @@ -442,17 +453,17 @@ def regress(): assert not trips_df.mode_choice_logsum.isnull().any() # should be at least two tours per trip - assert trips_df.shape[0] >= 2*tours_df.shape[0] + assert trips_df.shape[0] >= 2 * tours_df.shape[0] # write_trip_matrices - trip_matrices_file = config.output_file_path('trips_md.omx') + trip_matrices_file = config.output_file_path("trips_md.omx") assert os.path.exists(trip_matrices_file) trip_matrices = omx.open_file(trip_matrices_file) assert trip_matrices.shape() == (25, 25) - assert 'WALK_MD' in trip_matrices.list_matrices() - walk_trips = np.array(trip_matrices['WALK_MD']) - assert walk_trips.dtype == np.dtype('float64') + assert "WALK_MD" in trip_matrices.list_matrices() + walk_trips = np.array(trip_matrices["WALK_MD"]) + assert walk_trips.dtype == np.dtype("float64") trip_matrices.close() @@ -462,13 +473,17 @@ def test_full_run1(): if SKIP_FULL_RUN: return - tour_count = full_run(trace_hh_id=HH_ID, check_for_variability=True, - households_sample_size=HOUSEHOLDS_SAMPLE_SIZE) + tour_count = full_run( + trace_hh_id=HH_ID, + check_for_variability=True, + households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, + ) print("tour_count", tour_count) - assert(tour_count == EXPECT_TOUR_COUNT), \ - "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) + assert ( + tour_count == EXPECT_TOUR_COUNT + ), "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) regress() @@ -482,10 +497,13 @@ def test_full_run2(): if SKIP_FULL_RUN: return - tour_count = full_run(resume_after='non_mandatory_tour_scheduling', trace_hh_id=HH_ID) + tour_count = full_run( + resume_after="non_mandatory_tour_scheduling", trace_hh_id=HH_ID + ) - assert(tour_count == EXPECT_TOUR_COUNT), \ - "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) + assert ( + tour_count == EXPECT_TOUR_COUNT + ), "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) regress() @@ -499,12 +517,15 @@ def test_full_run3_with_chunks(): if SKIP_FULL_RUN: return - tour_count = full_run(trace_hh_id=HH_ID, - households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, - chunk_size=500000) + tour_count = full_run( + trace_hh_id=HH_ID, + households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, + chunk_size=500000, + ) - assert(tour_count == EXPECT_TOUR_COUNT), \ - "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) + assert ( + tour_count == EXPECT_TOUR_COUNT + ), "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) regress() @@ -518,8 +539,9 @@ def test_full_run4_stability(): if SKIP_FULL_RUN: return - tour_count = full_run(trace_hh_id=HH_ID, - households_sample_size=HOUSEHOLDS_SAMPLE_SIZE-10) + tour_count = full_run( + trace_hh_id=HH_ID, households_sample_size=HOUSEHOLDS_SAMPLE_SIZE - 10 + ) regress() @@ -535,9 +557,7 @@ def test_full_run5_singleton(): if SKIP_FULL_RUN: return - tour_count = full_run(trace_hh_id=HH_ID, - households_sample_size=1, - chunk_size=1) + tour_count = full_run(trace_hh_id=HH_ID, households_sample_size=1, chunk_size=1) regress() @@ -547,6 +567,7 @@ def test_full_run5_singleton(): if __name__ == "__main__": from activitysim import abm # register injectables + print("running test_full_run1") test_full_run1() # teardown_function(None) diff --git a/activitysim/benchmarking/__init__.py b/activitysim/benchmarking/__init__.py new file mode 100644 index 0000000000..ee674e1b35 --- /dev/null +++ b/activitysim/benchmarking/__init__.py @@ -0,0 +1 @@ +from . import componentwise diff --git a/activitysim/benchmarking/asv.conf.json b/activitysim/benchmarking/asv.conf.json new file mode 100644 index 0000000000..ca13605795 --- /dev/null +++ b/activitysim/benchmarking/asv.conf.json @@ -0,0 +1,171 @@ +{ + // The version of the config file format. Do not change, unless + // you know what you are doing. + "version": 1, + + // The name of the project being benchmarked + "project": "activitysim", + + // The project's homepage + "project_url": "https://activitysim.github.io/", + + // The URL or local path of the source code repository for the + // project being benchmarked + "repo": ".", + + // The Python project's subdirectory in your repo. If missing or + // the empty string, the project is assumed to be located at the root + // of the repository. + // "repo_subdir": "", + + // Customizable commands for building, installing, and + // uninstalling the project. See asv.conf.json documentation. + // + // "install_command": ["in-dir={env_dir} python -mpip install {wheel_file}"], + // "uninstall_command": ["return-code=any python -mpip uninstall -y {project}"], + // "build_command": [ + // "python setup.py build", + // "PIP_NO_BUILD_ISOLATION=false python -mpip wheel --no-deps --no-index -w {build_cache_dir} {build_dir}" + // ], + + // List of branches to benchmark. If not provided, defaults to "master" + // (for git) or "default" (for mercurial). + // "branches": ["master"], // for git + // "branches": ["default"], // for mercurial + + // The DVCS being used. If not set, it will be automatically + // determined from "repo" by looking at the protocol in the URL + // (if remote), or by looking for special directories, such as + // ".git" (if local). + // "dvcs": "git", + + // The tool to use to create environments. May be "conda", + // "virtualenv" or other value depending on the plugins in use. + // If missing or the empty string, the tool will be automatically + // determined by looking for tools on the PATH environment + // variable. + "environment_type": "conda", + + // timeout in seconds for installing any dependencies in environment + // defaults to 10 min + //"install_timeout": 600, + + // the base URL to show a commit for the project. + "show_commit_url": "http://github.com/ActivitySim/activitysim/commit/", + + // The Pythons you'd like to test against. If not provided, defaults + // to the current version of Python used to run `asv`. + // "pythons": ["2.7", "3.6"], + + // The list of conda channel names to be searched for benchmark + // dependency packages in the specified order + "conda_channels": ["conda-forge"], + + // The matrix of dependencies to test. Each key is the name of a + // package (in PyPI) and the values are version numbers. An empty + // list or empty string indicates to just test against the default + // (latest) version. null indicates that the package is to not be + // installed. If the package to be tested is only available from + // PyPi, and the 'environment_type' is conda, then you can preface + // the package name by 'pip+', and the package will be installed via + // pip (with all the conda available packages installed first, + // followed by the pip installed packages). + // + "matrix": { + "pyarrow": [], + "numpy": [], + "openmatrix": [], + "pandas": ["1.2"], + "pyyaml": [], + "pytables": [], + "toolz": [], + "orca": [], + "psutil": [], + "requests": [], + "numba": [], + "coverage": [], + "pytest": [], + "cytoolz": [] + }, + + // Combinations of libraries/python versions can be excluded/included + // from the set to test. Each entry is a dictionary containing additional + // key-value pairs to include/exclude. + // + // An exclude entry excludes entries where all values match. The + // values are regexps that should match the whole string. + // + // An include entry adds an environment. Only the packages listed + // are installed. The 'python' key is required. The exclude rules + // do not apply to includes. + // + // In addition to package names, the following keys are available: + // + // - python + // Python version, as in the *pythons* variable above. + // - environment_type + // Environment type, as above. + // - sys_platform + // Platform, as in sys.platform. Possible values for the common + // cases: 'linux2', 'win32', 'cygwin', 'darwin'. + // + // "exclude": [ + // {"python": "3.2", "sys_platform": "win32"}, // skip py3.2 on windows + // {"environment_type": "conda", "six": null}, // don't run without six on conda + // ], + // + // "include": [ + // // additional env for python2.7 + // {"python": "2.7", "numpy": "1.8"}, + // // additional env if run on windows+conda + // {"platform": "win32", "environment_type": "conda", "python": "2.7", "libpython": ""}, + // ], + + // The directory (relative to the current directory) that benchmarks are + // stored in. If not provided, defaults to "benchmarks" + // "benchmark_dir": "benchmarks", + + // The directory (relative to the current directory) to cache the Python + // environments in. If not provided, defaults to "env" + "env_dir": "../activitysim-asv/env", + + // The directory (relative to the current directory) that raw benchmark + // results are stored in. If not provided, defaults to "results". + "results_dir": "../activitysim-asv/results", + + // The directory (relative to the current directory) that the html tree + // should be written to. If not provided, defaults to "html". + "html_dir": "../activitysim-asv/html", + + // The number of characters to retain in the commit hashes. + // "hash_length": 8, + + // `asv` will cache results of the recent builds in each + // environment, making them faster to install next time. This is + // the number of builds to keep, per environment. + // "build_cache_size": 2, + + // The commits after which the regression search in `asv publish` + // should start looking for regressions. Dictionary whose keys are + // regexps matching to benchmark names, and values corresponding to + // the commit (exclusive) after which to start looking for + // regressions. The default is to start from the first commit + // with results. If the commit is `null`, regression detection is + // skipped for the matching benchmark. + // + // "regressions_first_commits": { + // "some_benchmark": "352cdf", // Consider regressions only after this commit + // "another_benchmark": null, // Skip regression detection altogether + // }, + + // The thresholds for relative change in results, after which `asv + // publish` starts reporting regressions. Dictionary of the same + // form as in ``regressions_first_commits``, with values + // indicating the thresholds. If multiple entries match, the + // maximum is taken. If no entry matches, the default is 5%. + // + // "regressions_thresholds": { + // "some_benchmark": 0.01, // Threshold of 1% + // "another_benchmark": 0.5, // Threshold of 50% + // }, +} diff --git a/activitysim/examples/example_sandag_xborder/configs/initialize_landuse.yaml b/activitysim/benchmarking/benchmarks/__init__.py similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/initialize_landuse.yaml rename to activitysim/benchmarking/benchmarks/__init__.py diff --git a/activitysim/benchmarking/benchmarks/mtc1full.py b/activitysim/benchmarking/benchmarks/mtc1full.py new file mode 100644 index 0000000000..39115a9922 --- /dev/null +++ b/activitysim/benchmarking/benchmarks/mtc1full.py @@ -0,0 +1,83 @@ +from activitysim.benchmarking.componentwise import ( + template_component_timings, + template_setup_cache, +) + +EXAMPLE_NAME = "prototype_mtc_full" +CONFIGS_DIRS = ("configs",) +DYNAMIC_CONFIG_DIR = "bench_configs" +DATA_DIR = "data" +OUTPUT_DIR = "output" +COMPONENT_NAMES = [ + # "compute_accessibility", + "school_location", + "workplace_location", + "auto_ownership_simulate", + "free_parking", + "cdap_simulate", + "mandatory_tour_frequency", + "mandatory_tour_scheduling", + "joint_tour_frequency", + "joint_tour_composition", + "joint_tour_participation", + "joint_tour_destination", + "joint_tour_scheduling", + "non_mandatory_tour_frequency", + "non_mandatory_tour_destination", + "non_mandatory_tour_scheduling", + "tour_mode_choice_simulate", + "atwork_subtour_frequency", + "atwork_subtour_destination", + "atwork_subtour_scheduling", + "atwork_subtour_mode_choice", + "stop_frequency", + "trip_purpose", + "trip_destination", + "trip_purpose_and_destination", + "trip_scheduling", + "trip_mode_choice", + # "write_data_dictionary", + # "track_skim_usage", + "write_trip_matrices", + # "write_tables", +] +BENCHMARK_SETTINGS = { + "households_sample_size": 48_769, +} +SKIM_CACHE = False +PRELOAD_INJECTABLES = ("skim_dict",) +REPEAT = 1 +NUMBER = 1 +TIMEOUT = 36000.0 # ten hours +VERSION = "1" + + +def setup_cache(): + template_setup_cache( + EXAMPLE_NAME, + COMPONENT_NAMES, + BENCHMARK_SETTINGS, + dict( + read_skim_cache=SKIM_CACHE, + write_skim_cache=SKIM_CACHE, + ), + CONFIGS_DIRS, + DATA_DIR, + OUTPUT_DIR, + config_overload_dir=DYNAMIC_CONFIG_DIR, + ) + + +template_component_timings( + globals(), + COMPONENT_NAMES, + EXAMPLE_NAME, + (DYNAMIC_CONFIG_DIR, *CONFIGS_DIRS), + DATA_DIR, + OUTPUT_DIR, + PRELOAD_INJECTABLES, + REPEAT, + NUMBER, + TIMEOUT, + VERSION, +) diff --git a/activitysim/benchmarking/benchmarks/mtc1mp4.py b/activitysim/benchmarking/benchmarks/mtc1mp4.py new file mode 100644 index 0000000000..8fe8dce187 --- /dev/null +++ b/activitysim/benchmarking/benchmarks/mtc1mp4.py @@ -0,0 +1,82 @@ +import multiprocessing + +import numpy as np + +from activitysim.benchmarking.componentwise import ( + template_component_timings_mp, + template_setup_cache, +) + +PRETTY_NAME = "MTC1_MP4" +EXAMPLE_NAME = "prototype_mtc_full" +NUM_PROCESSORS = int(np.clip(multiprocessing.cpu_count() - 2, 2, 4)) +CONFIGS_DIRS = ("configs_mp", "configs") +DYNAMIC_CONFIG_DIR = "bench_configs_mp" +DATA_DIR = "data" +OUTPUT_DIR = "output_mp" +COMPONENT_NAMES = [ + "school_location", + "workplace_location", + "auto_ownership_simulate", + "free_parking", + "cdap_simulate", + "mandatory_tour_frequency", + "mandatory_tour_scheduling", + "joint_tour_frequency", + "joint_tour_composition", + "joint_tour_participation", + "joint_tour_destination", + "joint_tour_scheduling", + "non_mandatory_tour_frequency", + "non_mandatory_tour_destination", + "non_mandatory_tour_scheduling", + "tour_mode_choice_simulate", + "atwork_subtour_frequency", + "atwork_subtour_destination", + "atwork_subtour_scheduling", + "atwork_subtour_mode_choice", + "stop_frequency", + "trip_purpose", + "trip_destination", + "trip_purpose_and_destination", + "trip_scheduling", + "trip_mode_choice", +] +BENCHMARK_SETTINGS = { + # TODO: This multiprocess benchmarking is minimally functional, + # but has a bad habit of crashing due to memory allocation errors on + # all but the tiniest of examples. It would be great to fix the MP + # benchmarks so they use chunking, automatically configure for available + # RAM, and run a training-production cycle to get useful timing results. + "households_sample_size": 400, + "num_processes": NUM_PROCESSORS, +} +SKIM_CACHE = False +TIMEOUT = 36000.0 # ten hours +VERSION = "1" + + +def setup_cache(): + template_setup_cache( + EXAMPLE_NAME, + COMPONENT_NAMES, + BENCHMARK_SETTINGS, + dict( + read_skim_cache=SKIM_CACHE, + write_skim_cache=SKIM_CACHE, + ), + CONFIGS_DIRS, + DATA_DIR, + OUTPUT_DIR, + config_overload_dir=DYNAMIC_CONFIG_DIR, + ) + + +template_component_timings_mp( + globals(), + COMPONENT_NAMES, + EXAMPLE_NAME, + OUTPUT_DIR, + PRETTY_NAME, + VERSION, +) diff --git a/activitysim/benchmarking/benchmarks/sandag1example.py b/activitysim/benchmarking/benchmarks/sandag1example.py new file mode 100644 index 0000000000..66e296b38f --- /dev/null +++ b/activitysim/benchmarking/benchmarks/sandag1example.py @@ -0,0 +1,43 @@ +from activitysim.benchmarking.componentwise import ( + template_component_timings, + template_setup_cache, +) + +from .sandag_example import * + +EXAMPLE_NAME = "placeholder_sandag_1_zone" +CONFIGS_DIRS = ("configs_1_zone", "prototype_mtc/configs") +DYNAMIC_CONFIG_DIR = "bench_configs" +DATA_DIR = "data_1" +OUTPUT_DIR = "output_1" +VERSION = "1" + + +def setup_cache(): + template_setup_cache( + EXAMPLE_NAME, + COMPONENT_NAMES, + BENCHMARK_SETTINGS, + dict( + read_skim_cache=SKIM_CACHE, + write_skim_cache=SKIM_CACHE, + ), + CONFIGS_DIRS, + DATA_DIR, + OUTPUT_DIR, + ) + + +template_component_timings( + globals(), + COMPONENT_NAMES, + EXAMPLE_NAME, + (DYNAMIC_CONFIG_DIR, *CONFIGS_DIRS), + DATA_DIR, + OUTPUT_DIR, + PRELOAD_INJECTABLES, + REPEAT, + NUMBER, + TIMEOUT, + VERSION, +) diff --git a/activitysim/benchmarking/benchmarks/sandag1full.py b/activitysim/benchmarking/benchmarks/sandag1full.py new file mode 100644 index 0000000000..37e5372384 --- /dev/null +++ b/activitysim/benchmarking/benchmarks/sandag1full.py @@ -0,0 +1,43 @@ +from activitysim.benchmarking.componentwise import ( + template_component_timings, + template_setup_cache, +) + +from .sandag_full import * + +EXAMPLE_NAME = "placeholder_sandag_1_zone_full" +CONFIGS_DIRS = ("configs_benchmarking", "configs_1_zone", "prototype_mtc/configs") +DYNAMIC_CONFIG_DIR = "bench_configs" +DATA_DIR = "data_1" +OUTPUT_DIR = "output_1" +VERSION = "1" + + +def setup_cache(): + template_setup_cache( + EXAMPLE_NAME, + COMPONENT_NAMES, + BENCHMARK_SETTINGS, + dict( + read_skim_cache=SKIM_CACHE, + write_skim_cache=SKIM_CACHE, + ), + CONFIGS_DIRS, + DATA_DIR, + OUTPUT_DIR, + ) + + +template_component_timings( + globals(), + COMPONENT_NAMES, + EXAMPLE_NAME, + (DYNAMIC_CONFIG_DIR, *CONFIGS_DIRS), + DATA_DIR, + OUTPUT_DIR, + PRELOAD_INJECTABLES, + REPEAT, + NUMBER, + TIMEOUT, + VERSION, +) diff --git a/activitysim/benchmarking/benchmarks/sandag2example.py b/activitysim/benchmarking/benchmarks/sandag2example.py new file mode 100644 index 0000000000..bd4916c5a3 --- /dev/null +++ b/activitysim/benchmarking/benchmarks/sandag2example.py @@ -0,0 +1,43 @@ +from activitysim.benchmarking.componentwise import ( + template_component_timings, + template_setup_cache, +) + +from .sandag_example import * + +EXAMPLE_NAME = "placeholder_sandag_2_zone" +CONFIGS_DIRS = ("configs_2_zone", "placeholder_psrc/configs") +DYNAMIC_CONFIG_DIR = "bench_configs" +DATA_DIR = "data_2" +OUTPUT_DIR = "output_2" +VERSION = "1" + + +def setup_cache(): + template_setup_cache( + EXAMPLE_NAME, + COMPONENT_NAMES, + BENCHMARK_SETTINGS, + dict( + read_skim_cache=SKIM_CACHE, + write_skim_cache=SKIM_CACHE, + ), + CONFIGS_DIRS, + DATA_DIR, + OUTPUT_DIR, + ) + + +template_component_timings( + globals(), + COMPONENT_NAMES, + EXAMPLE_NAME, + (DYNAMIC_CONFIG_DIR, *CONFIGS_DIRS), + DATA_DIR, + OUTPUT_DIR, + PRELOAD_INJECTABLES, + REPEAT, + NUMBER, + TIMEOUT, + VERSION, +) diff --git a/activitysim/benchmarking/benchmarks/sandag2full.py b/activitysim/benchmarking/benchmarks/sandag2full.py new file mode 100644 index 0000000000..3e11f81232 --- /dev/null +++ b/activitysim/benchmarking/benchmarks/sandag2full.py @@ -0,0 +1,43 @@ +from activitysim.benchmarking.componentwise import ( + template_component_timings, + template_setup_cache, +) + +from .sandag_full import * + +EXAMPLE_NAME = "placeholder_sandag_2_zone_full" +CONFIGS_DIRS = ("configs_benchmarking", "configs_2_zone", "placeholder_psrc/configs") +DYNAMIC_CONFIG_DIR = "bench_configs" +DATA_DIR = "data_2" +OUTPUT_DIR = "output_2" +VERSION = "1" + + +def setup_cache(): + template_setup_cache( + EXAMPLE_NAME, + COMPONENT_NAMES, + BENCHMARK_SETTINGS, + dict( + read_skim_cache=SKIM_CACHE, + write_skim_cache=SKIM_CACHE, + ), + CONFIGS_DIRS, + DATA_DIR, + OUTPUT_DIR, + ) + + +template_component_timings( + globals(), + COMPONENT_NAMES, + EXAMPLE_NAME, + (DYNAMIC_CONFIG_DIR, *CONFIGS_DIRS), + DATA_DIR, + OUTPUT_DIR, + PRELOAD_INJECTABLES, + REPEAT, + NUMBER, + TIMEOUT, + VERSION, +) diff --git a/activitysim/benchmarking/benchmarks/sandag3example.py b/activitysim/benchmarking/benchmarks/sandag3example.py new file mode 100644 index 0000000000..5bc22de7a0 --- /dev/null +++ b/activitysim/benchmarking/benchmarks/sandag3example.py @@ -0,0 +1,43 @@ +from activitysim.benchmarking.componentwise import ( + template_component_timings, + template_setup_cache, +) + +from .sandag_example import * + +EXAMPLE_NAME = "placeholder_sandag_3_zone" +CONFIGS_DIRS = ("configs_3_zone", "prototype_mtc/configs") +DYNAMIC_CONFIG_DIR = "bench_configs" +DATA_DIR = "data_3" +OUTPUT_DIR = "output_3" +VERSION = "1" + + +def setup_cache(): + template_setup_cache( + EXAMPLE_NAME, + COMPONENT_NAMES, + BENCHMARK_SETTINGS, + dict( + read_skim_cache=SKIM_CACHE, + write_skim_cache=SKIM_CACHE, + ), + CONFIGS_DIRS, + DATA_DIR, + OUTPUT_DIR, + ) + + +template_component_timings( + globals(), + COMPONENT_NAMES, + EXAMPLE_NAME, + (DYNAMIC_CONFIG_DIR, *CONFIGS_DIRS), + DATA_DIR, + OUTPUT_DIR, + PRELOAD_INJECTABLES, + REPEAT, + NUMBER, + TIMEOUT, + VERSION, +) diff --git a/activitysim/benchmarking/benchmarks/sandag3full.py b/activitysim/benchmarking/benchmarks/sandag3full.py new file mode 100644 index 0000000000..a2f9b67ee2 --- /dev/null +++ b/activitysim/benchmarking/benchmarks/sandag3full.py @@ -0,0 +1,43 @@ +from activitysim.benchmarking.componentwise import ( + template_component_timings, + template_setup_cache, +) + +from .sandag_full import * + +EXAMPLE_NAME = "placeholder_sandag_3_zone_full" +CONFIGS_DIRS = ("configs_benchmarking", "configs_3_zone", "prototype_mtc/configs") +DYNAMIC_CONFIG_DIR = "bench_configs" +DATA_DIR = "data_3" +OUTPUT_DIR = "output_3" +VERSION = "1" + + +def setup_cache(): + template_setup_cache( + EXAMPLE_NAME, + COMPONENT_NAMES, + BENCHMARK_SETTINGS, + dict( + read_skim_cache=SKIM_CACHE, + write_skim_cache=SKIM_CACHE, + ), + CONFIGS_DIRS, + DATA_DIR, + OUTPUT_DIR, + ) + + +template_component_timings( + globals(), + COMPONENT_NAMES, + EXAMPLE_NAME, + (DYNAMIC_CONFIG_DIR, *CONFIGS_DIRS), + DATA_DIR, + OUTPUT_DIR, + PRELOAD_INJECTABLES, + REPEAT, + NUMBER, + TIMEOUT, + VERSION, +) diff --git a/activitysim/benchmarking/benchmarks/sandag_example.py b/activitysim/benchmarking/benchmarks/sandag_example.py new file mode 100644 index 0000000000..b9c74c86eb --- /dev/null +++ b/activitysim/benchmarking/benchmarks/sandag_example.py @@ -0,0 +1,41 @@ +COMPONENT_NAMES = [ + # "compute_accessibility", + "school_location", + "workplace_location", + "auto_ownership_simulate", + "free_parking", + "cdap_simulate", + "mandatory_tour_frequency", + "mandatory_tour_scheduling", + "joint_tour_frequency", + "joint_tour_composition", + "joint_tour_participation", + "joint_tour_destination", + "joint_tour_scheduling", + "non_mandatory_tour_frequency", + "non_mandatory_tour_destination", + "non_mandatory_tour_scheduling", + "tour_mode_choice_simulate", + "atwork_subtour_frequency", + "atwork_subtour_destination", + "atwork_subtour_scheduling", + "atwork_subtour_mode_choice", + "stop_frequency", + "trip_purpose", + "trip_destination", + "trip_purpose_and_destination", + "trip_scheduling", + "trip_mode_choice", + # "write_data_dictionary", + # "track_skim_usage", + "write_trip_matrices", + # "write_tables", +] +BENCHMARK_SETTINGS = { + "households_sample_size": 48_769, +} +SKIM_CACHE = True +PRELOAD_INJECTABLES = ("skim_dict",) +REPEAT = 1 +NUMBER = 1 +TIMEOUT = 36000.0 # ten hours diff --git a/activitysim/benchmarking/benchmarks/sandag_full.py b/activitysim/benchmarking/benchmarks/sandag_full.py new file mode 100644 index 0000000000..51710a1af7 --- /dev/null +++ b/activitysim/benchmarking/benchmarks/sandag_full.py @@ -0,0 +1,41 @@ +COMPONENT_NAMES = [ + # "compute_accessibility", + "school_location", + "workplace_location", + "auto_ownership_simulate", + "free_parking", + "cdap_simulate", + "mandatory_tour_frequency", + "mandatory_tour_scheduling", + "joint_tour_frequency", + "joint_tour_composition", + "joint_tour_participation", + "joint_tour_destination", + "joint_tour_scheduling", + "non_mandatory_tour_frequency", + "non_mandatory_tour_destination", + "non_mandatory_tour_scheduling", + "tour_mode_choice_simulate", + "atwork_subtour_frequency", + "atwork_subtour_destination", + "atwork_subtour_scheduling", + "atwork_subtour_mode_choice", + "stop_frequency", + "trip_purpose", + "trip_destination", + "trip_purpose_and_destination", + "trip_scheduling", + "trip_mode_choice", + # "write_data_dictionary", + # "track_skim_usage", + "write_trip_matrices", + # "write_tables", +] +BENCHMARK_SETTINGS = { + "households_sample_size": 48_769, # match hh sample size in example data +} +SKIM_CACHE = False +PRELOAD_INJECTABLES = ("skim_dict",) +REPEAT = 1 +NUMBER = 1 +TIMEOUT = 36000.0 # ten hours diff --git a/activitysim/benchmarking/componentwise.py b/activitysim/benchmarking/componentwise.py new file mode 100644 index 0000000000..dda43c4548 --- /dev/null +++ b/activitysim/benchmarking/componentwise.py @@ -0,0 +1,702 @@ +import glob +import logging +import logging.handlers +import os +import traceback + +import numpy as np +import pandas as pd +import yaml + +from ..cli.create import get_example +from ..cli.run import INJECTABLES, config, pipeline +from ..core import inject, tracing +from ..core.pipeline import open_pipeline, run_model +from . import workspace + +logger = logging.getLogger(__name__) + + +def reload_settings(settings_filename, **kwargs): + settings = config.read_settings_file(settings_filename, mandatory=True) + for k in kwargs: + settings[k] = kwargs[k] + inject.add_injectable("settings", settings) + return settings + + +def component_logging(component_name): + root_logger = logging.getLogger() + + CLOG_FMT = "%(asctime)s %(levelname)7s - %(name)s: %(message)s" + + logfilename = config.log_file_path(f"asv-{component_name}.log") + + # avoid creation of multiple file handlers for logging components + # as we will re-enter this function for every component run + for entry in root_logger.handlers: + if (isinstance(entry, logging.handlers.RotatingFileHandler)) and ( + entry.formatter._fmt == CLOG_FMT + ): + return + + tracing.config_logger(basic=True) + file_handler = logging.handlers.RotatingFileHandler( + filename=logfilename, + mode="a", + maxBytes=50_000_000, + backupCount=5, + ) + formatter = logging.Formatter( + fmt=CLOG_FMT, + datefmt="%Y-%m-%d %H:%M:%S", + ) + file_handler.setFormatter(formatter) + logging.getLogger().addHandler(file_handler) + + +def setup_component( + component_name, + working_dir=".", + preload_injectables=(), + configs_dirs=("configs"), + data_dir="data", + output_dir="output", + settings_filename="settings.yaml", +): + """ + Prepare to benchmark a model component. + + This function sets up everything, opens the pipeline, and + reloads table state from checkpoints of prior components. + All this happens here, before the model component itself + is actually executed inside the timed portion of the loop. + """ + if isinstance(configs_dirs, str): + configs_dirs = [configs_dirs] + inject.add_injectable( + "configs_dir", [os.path.join(working_dir, i) for i in configs_dirs] + ) + inject.add_injectable("data_dir", os.path.join(working_dir, data_dir)) + inject.add_injectable("output_dir", os.path.join(working_dir, output_dir)) + + reload_settings( + settings_filename, + benchmarking=component_name, + checkpoints=False, + ) + + component_logging(component_name) + logger.info("connected to component logger") + config.filter_warnings() + logging.captureWarnings(capture=True) + + # register abm steps and other abm-specific injectables outside of + # benchmark timing loop + if not inject.is_injectable("preload_injectables"): + logger.info("preload_injectables yes import") + from activitysim import abm + else: + logger.info("preload_injectables no import") + + # Extract the resume_after argument based on the model immediately + # prior to the component being benchmarked. + models = config.setting("models") + try: + component_index = models.index(component_name) + except ValueError: + # the last component to be benchmarked isn't included in the + # pre-checkpointed model list, we just resume from the end + component_index = len(models) + if component_index: + resume_after = models[component_index - 1] + else: + resume_after = None + + if config.setting("multiprocess", False): + raise NotImplementedError( + "multiprocess component benchmarking is not yet implemented" + ) + # Component level timings for multiprocess benchmarking + # are not generated using this code that re-runs individual + # components. Instead, those benchmarks are generated in + # aggregate during setup and then extracted from logs later. + else: + open_pipeline(resume_after, mode="r") + + for k in preload_injectables: + if inject.get_injectable(k, None) is not None: + logger.info("pre-loaded %s", k) + + # Directories Logging + for k in ["configs_dir", "settings_file_name", "data_dir", "output_dir"]: + logger.info(f"DIRECTORY {k}: {inject.get_injectable(k, None)}") + + # Settings Logging + log_settings = [ + "checkpoints", + "chunk_training_mode", + "chunk_size", + "chunk_method", + "trace_hh_id", + "households_sample_size", + "check_for_variability", + "use_shadow_pricing", + "want_dest_choice_sample_tables", + "log_alt_losers", + ] + for k in log_settings: + logger.info(f"SETTING {k}: {config.setting(k)}") + + logger.info("setup_component completed: %s", component_name) + + +def run_component(component_name): + logger.info("run_component: %s", component_name) + try: + if config.setting("multiprocess", False): + raise NotImplementedError( + "multiprocess component benchmarking is not yet implemented" + ) + # Component level timings for multiprocess benchmarking + # are not generated using this code that re-runs individual + # components. Instead, those benchmarks are generated in + # aggregate during setup and then extracted from logs later. + else: + run_model(component_name) + except Exception as err: + logger.exception("run_component exception: %s", component_name) + raise + else: + logger.info("run_component completed: %s", component_name) + return 0 + + +def teardown_component(component_name): + logger.info("teardown_component: %s", component_name) + + # use the pipeline module to clear out all the orca tables, so + # the next benchmark run has a clean slate. + # anything needed should be reloaded from the pipeline checkpoint file + pipeline_tables = pipeline.registered_tables() + for table_name in pipeline_tables: + logger.info("dropping table %s", table_name) + pipeline.drop_table(table_name) + + if config.setting("multiprocess", False): + raise NotImplementedError("multiprocess benchmarking is not yet implemented") + else: + pipeline.close_pipeline() + logger.critical( + "teardown_component completed: %s\n\n%s\n\n", component_name, "~" * 88 + ) + return 0 + + +def pre_run( + model_working_dir, + configs_dirs=None, + data_dir="data", + output_dir="output", + settings_file_name=None, +): + """ + Pre-run the models, checkpointing everything. + + By checkpointing everything, it is possible to run each benchmark + by recreating the state of the pipeline immediately prior to that + component. + + Parameters + ---------- + model_working_dir : str + Path to the model working directory, generally inside the + benchmarking workspace. + configs_dirs : Iterable[str], optional + Override the config dirs, similar to using -c on the command line + for a model run. + data_dir : str, optional + Override the data directory similar to using -d on the command line + for a model run. + output_dir : str, optional + Override the output directory similar to using -o on the command line + for a model run. + settings_file_name : str, optional + Override the settings file name, similar to using -s on the command line + for a model run. + """ + if configs_dirs is None: + inject.add_injectable("configs_dir", os.path.join(model_working_dir, "configs")) + else: + configs_dirs_ = [os.path.join(model_working_dir, i) for i in configs_dirs] + inject.add_injectable("configs_dir", configs_dirs_) + inject.add_injectable("data_dir", os.path.join(model_working_dir, data_dir)) + inject.add_injectable("output_dir", os.path.join(model_working_dir, output_dir)) + + if settings_file_name is not None: + inject.add_injectable("settings_file_name", settings_file_name) + + # Always pre_run from the beginning + config.override_setting("resume_after", None) + + # register abm steps and other abm-specific injectables + if not inject.is_injectable("preload_injectables"): + from activitysim import ( # register abm steps and other abm-specific injectables + abm, + ) + + if settings_file_name is not None: + inject.add_injectable("settings_file_name", settings_file_name) + + # cleanup + # cleanup_output_files() + + tracing.config_logger(basic=False) + config.filter_warnings() + logging.captureWarnings(capture=True) + + # directories + for k in ["configs_dir", "settings_file_name", "data_dir", "output_dir"]: + logger.info("SETTING %s: %s" % (k, inject.get_injectable(k, None))) + + log_settings = inject.get_injectable("log_settings", {}) + for k in log_settings: + logger.info("SETTING %s: %s" % (k, config.setting(k))) + + # OMP_NUM_THREADS: openmp + # OPENBLAS_NUM_THREADS: openblas + # MKL_NUM_THREADS: mkl + for env in ["MKL_NUM_THREADS", "OMP_NUM_THREADS", "OPENBLAS_NUM_THREADS"]: + logger.info(f"ENV {env}: {os.getenv(env)}") + + np_info_keys = [ + "atlas_blas_info", + "atlas_blas_threads_info", + "atlas_info", + "atlas_threads_info", + "blas_info", + "blas_mkl_info", + "blas_opt_info", + "lapack_info", + "lapack_mkl_info", + "lapack_opt_info", + "mkl_info", + ] + + for cfg_key in np_info_keys: + info = np.__config__.get_info(cfg_key) + if info: + for info_key in ["libraries"]: + if info_key in info: + logger.info(f"NUMPY {cfg_key} {info_key}: {info[info_key]}") + + t0 = tracing.print_elapsed_time() + + logger.info(f"MODELS: {config.setting('models')}") + + if config.setting("multiprocess", False): + logger.info("run multi-process complete simulation") + else: + logger.info("run single process simulation") + pipeline.run(models=config.setting("models")) + pipeline.close_pipeline() + + tracing.print_elapsed_time("prerun required models for checkpointing", t0) + + return 0 + + +def run_multiprocess(): + logger.info("run multiprocess simulation") + tracing.delete_trace_files() + tracing.delete_output_files("h5") + tracing.delete_output_files("csv") + tracing.delete_output_files("txt") + tracing.delete_output_files("yaml") + tracing.delete_output_files("prof") + tracing.delete_output_files("omx") + + from activitysim.core import mp_tasks + + injectables = {k: inject.get_injectable(k) for k in INJECTABLES} + mp_tasks.run_multiprocess(injectables) + + assert not pipeline.is_open() + + if config.setting("cleanup_pipeline_after_run", False): + pipeline.cleanup_pipeline() + + +######## + + +def local_dir(): + benchmarking_directory = workspace.get_dir() + if benchmarking_directory is not None: + return benchmarking_directory + return os.getcwd() + + +def model_dir(*subdirs): + return os.path.join(local_dir(), "models", *subdirs) + + +def template_setup_cache( + example_name, + component_names, + benchmark_settings, + benchmark_network_los, + config_dirs=("configs",), + data_dir="data", + output_dir="output", + settings_filename="settings.yaml", + skip_component_names=None, + config_overload_dir="dynamic_configs", +): + """ + Prepare an example model for benchmarking. + + The algorithm for benchmarking components requires an existing pipeline + file with checkpoints after every component, which allows the code to + recreate the state of pipeline tables immediately prior to each component's + execution. The checkpoints file is very large, and can be recreated + by running the model, so it is not stored/downloaded but just rebuilt as + needed. + + This template function creates that pipeline store if it does not exist by + getting the example model and running once through from the beginning through + the last component to be benchmarked. After this is done, a token is written + out to `benchmark-setup-token.txt` in the output directory, flagging that + the complete checkpointed pipeline has been created without errors and is + ready to use. If the template setup finds this token file, all this work + is assumed to be already done and is skipped. + + Parameters + ---------- + example_name : str + The name of the example to benchmark, as used in + the `activitysim create` command. + component_names : Sequence + The names of the model components to be individually + benchmarked. This list does not need to include all + the components usually included in the example. + benchmark_settings : Mapping + Settings values to override from their usual values + in the example. + benchmark_network_los : Mapping + Network LOS values to override from their usual values + in the example. + config_dirs : Sequence + data_dir : str + output_dir : str + settings_filename : str + skip_component_names : Sequence, optional + Skip running these components when setting up the + benchmarks (i.e. in pre-run). + config_overload_dir : str, default 'dynamic_configs' + """ + try: + os.makedirs(model_dir(), exist_ok=True) + get_example( + example_name=example_name, + destination=model_dir(), + benchmarking=True, + ) + os.makedirs(model_dir(example_name, config_overload_dir), exist_ok=True) + + # Find the settings file and extract the complete set of models included + from ..core.config import read_settings_file + + try: + existing_settings, settings_filenames = read_settings_file( + settings_filename, + mandatory=True, + include_stack=True, + configs_dir_list=[model_dir(example_name, c) for c in config_dirs], + ) + except Exception: + logger.error(f"os.getcwd:{os.getcwd()}") + raise + if "models" not in existing_settings: + raise ValueError( + f"missing list of models from {config_dirs}/{settings_filename}" + ) + models = existing_settings["models"] + use_multiprocess = existing_settings.get("multiprocess", False) + for k in existing_settings: + print(f"existing_settings {k}:", existing_settings[k]) + + settings_changes = dict( + benchmarking=True, + checkpoints=True, + trace_hh_id=None, + chunk_training_mode="disabled", + inherit_settings=True, + ) + settings_changes.update(benchmark_settings) + + # Pre-run checkpointing or Multiprocess timing runs only need to + # include models up to the penultimate component to be benchmarked. + last_component_to_benchmark = 0 + for cname in component_names: + try: + last_component_to_benchmark = max( + models.index(cname), last_component_to_benchmark + ) + except ValueError: + if cname not in models: + logger.warning( + f"want to benchmark {example_name}.{cname} but it is not in the list of models to run" + ) + else: + raise + if use_multiprocess: + last_component_to_benchmark += 1 + pre_run_model_list = models[:last_component_to_benchmark] + if skip_component_names is not None: + for cname in skip_component_names: + if cname in pre_run_model_list: + pre_run_model_list.remove(cname) + settings_changes["models"] = pre_run_model_list + + if "multiprocess_steps" in existing_settings: + multiprocess_steps = existing_settings["multiprocess_steps"] + while ( + multiprocess_steps[-1].get("begin", "missing-begin") + not in pre_run_model_list + ): + multiprocess_steps = multiprocess_steps[:-1] + if len(multiprocess_steps) == 0: + break + settings_changes["multiprocess_steps"] = multiprocess_steps + + with open( + model_dir(example_name, config_overload_dir, settings_filename), "wt" + ) as yf: + try: + yaml.safe_dump(settings_changes, yf) + except Exception: + logger.error(f"settings_changes:{str(settings_changes)}") + logger.exception("oops") + raise + with open( + model_dir(example_name, config_overload_dir, "network_los.yaml"), "wt" + ) as yf: + benchmark_network_los["inherit_settings"] = True + yaml.safe_dump(benchmark_network_los, yf) + + os.makedirs(model_dir(example_name, output_dir), exist_ok=True) + + # Running the model through all the steps and checkpointing everywhere is + # expensive and only needs to be run once. Once it is done we will write + # out a completion token file to indicate to future benchmark attempts + # that this does not need to be repeated. Developers should manually + # delete the token (or the whole model file) when a structural change + # in the model happens such that re-checkpointing is needed (this should + # happen rarely). + use_config_dirs = (config_overload_dir, *config_dirs) + token_file = model_dir(example_name, output_dir, "benchmark-setup-token.txt") + if not os.path.exists(token_file) and not use_multiprocess: + try: + pre_run( + model_dir(example_name), + use_config_dirs, + data_dir, + output_dir, + settings_filename, + ) + except Exception as err: + with open( + model_dir(example_name, output_dir, "benchmark-setup-error.txt"), + "wt", + ) as f: + f.write(f"error {err}") + f.write(traceback.format_exc()) + raise + else: + with open(token_file, "wt") as f: + # We write the commit into the token, in case that is useful + # to developers to decide if the checkpointed pipeline is + # out of date. + asv_commit = os.environ.get("ASV_COMMIT", "ASV_COMMIT_UNKNOWN") + f.write(asv_commit) + if use_multiprocess: + # Multiprocessing timing runs are actually fully completed within + # the setup_cache step, and component-level timings are written out + # to log files by activitysim during this run. + asv_commit = os.environ.get("ASV_COMMIT", "ASV_COMMIT_UNKNOWN") + try: + pre_run( + model_dir(example_name), + use_config_dirs, + data_dir, + output_dir, + settings_filename, + ) + run_multiprocess() + except Exception as err: + with open( + model_dir( + example_name, output_dir, f"-mp-run-error-{asv_commit}.txt" + ), + "wt", + ) as f: + f.write(f"error {err}") + f.write(traceback.format_exc()) + raise + + except Exception as err: + logger.error( + f"error in template_setup_cache({example_name}):\n" + traceback.format_exc() + ) + raise + + +def template_component_timings( + module_globals, + component_names, + example_name, + config_dirs, + data_dir, + output_dir, + preload_injectables, + repeat_=(1, 20, 10.0), # min_repeat, max_repeat, max_time_seconds + number_=1, + timeout_=36000.0, # ten hours, + version_="1", +): + """ + Inject ComponentTiming classes into a module namespace for benchmarking a model. + + Arguments with a trailing underscore get passed through to airspeed velocity, see + https://asv.readthedocs.io/en/stable/benchmarks.html?highlight=repeat#timing-benchmarks + for more info on these. + + Parameters + ---------- + module_globals : Mapping + The module globals namespace, into which the timing classes are written. + component_names : Iterable[str] + Names of components to benchmark. + example_name : str + Name of the example model being benchmarked, as it appears in the + exammple_manifest.yaml file. + config_dirs : Tuple[str] + Config directories to use when running the model being benchmarked. + data_dir, output_dir : str + Data and output directories to use when running the model being + benchmarked. + preload_injectables : Tuple[str] + Names of injectables to pre-load (typically skims). + repeat_ : tuple + The values for (min_repeat, max_repeat, max_time_seconds). See ASV docs + for more information. + number_ : int, default 1 + The number of iterations in each sample. Generally this should stay + set to 1 for ActivitySim timing. + timeout_ : number, default 36000.0, + How many seconds before the benchmark is assumed to have crashed. The + typical default for airspeed velocity is 60 but that is wayyyyy too short for + ActivitySim, so the default here is set to ten hours. + version_ : str + Used to determine when to invalidate old benchmark results. Benchmark results + produced with a different value of the version than the current value will be + ignored. + """ + + for componentname in component_names: + + class ComponentTiming: + component_name = componentname + warmup_time = 0 + min_run_count = 1 + processes = 1 + repeat = repeat_ + number = number_ + timeout = timeout_ + + def setup(self): + setup_component( + self.component_name, + model_dir(example_name), + preload_injectables, + config_dirs, + data_dir, + output_dir, + ) + + def teardown(self): + teardown_component(self.component_name) + + def time_component(self): + run_component(self.component_name) + + time_component.pretty_name = f"{example_name}:{componentname}" + time_component.version = version_ + + ComponentTiming.__name__ = f"{componentname}" + + module_globals[componentname] = ComponentTiming + + +def template_component_timings_mp( + module_globals, + component_names, + example_name, + output_dir, + pretty_name, + version_="1", +): + """ + Inject ComponentTiming classes into a module namespace for benchmarking a model. + + This "MP" version for multiprocessing doesn't actually measure the time taken, + but instead it parses the run logs from a single full run of the mode, to + extract the per-component timings. Most of the configurability has been removed + compared to the single-process version of this function. + + Parameters + ---------- + module_globals : Mapping + The module globals namespace, into which the timing classes are written. + component_names : Iterable[str] + Names of components to benchmark. + example_name : str + Name of the example model being benchmarked, as it appears in the + exammple_manifest.yaml file. + output_dir : str + Output directory to use when running the model being benchmarked. + pretty_name : str + A "pretty" name for this set of benchmarks. + version_ : str + Used to determine when to invalidate old benchmark results. Benchmark results + produced with a different value of the version than the current value will be + ignored. + """ + + for componentname in component_names: + + class ComponentTiming: + component_name = componentname + + def track_component(self): + durations = [] + inject.add_injectable("output_dir", model_dir(example_name, output_dir)) + logfiler = config.log_file_path(f"timing_log.mp_households_*.csv") + for logfile in glob.glob(logfiler): + df = pd.read_csv(logfile) + dfq = df.query(f"component_name=='{self.component_name}'") + if len(dfq): + durations.append(dfq.iloc[-1].duration) + if len(durations): + return np.mean(durations) + else: + raise ValueError("no results available") + + track_component.pretty_name = f"{pretty_name}:{componentname}" + track_component.version = version_ + track_component.unit = "s" + + ComponentTiming.__name__ = f"{componentname}" + + module_globals[componentname] = ComponentTiming diff --git a/activitysim/benchmarking/latest.py b/activitysim/benchmarking/latest.py new file mode 100644 index 0000000000..8a6579513d --- /dev/null +++ b/activitysim/benchmarking/latest.py @@ -0,0 +1,182 @@ +# -*- coding: utf-8 -*- + +from __future__ import absolute_import, division, print_function, unicode_literals + +import logging +import shlex +import subprocess +import traceback + +from asv import util +from asv.commands import common_args +from asv.commands.run import Run +from asv.console import log + + +def _do_build(args): + env, conf, repo, commit_hash = args + try: + with log.set_level(logging.WARN): + env.install_project(conf, repo, commit_hash) + except util.ProcessError: + return (env.name, False) + return (env.name, True) + + +def _do_build_multiprocess(args): + """ + multiprocessing callback to build the project in one particular + environment. + """ + try: + return _do_build(args) + except BaseException as exc: + raise util.ParallelFailure(str(exc), exc.__class__, traceback.format_exc()) + + +class Latest(Run): + @classmethod + def setup_arguments(cls, subparsers): + parser = subparsers.add_parser( + "latest", + help="Run a benchmark suite on the HEAD commit", + description="Run a benchmark suite.", + ) + + common_args.add_bench(parser) + parser.add_argument( + "--profile", + "-p", + action="store_true", + help="""In addition to timing, run the benchmarks through + the `cProfile` profiler and store the results.""", + ) + common_args.add_parallel(parser) + common_args.add_show_stderr(parser) + parser.add_argument( + "--quick", + "-q", + action="store_true", + help="""Do a "quick" run, where each benchmark function is + run only once. This is useful to find basic errors in the + benchmark functions faster. The results are unlikely to + be useful, and thus are not saved.""", + ) + common_args.add_environment(parser) + parser.add_argument( + "--set-commit-hash", + default=None, + help="""Set the commit hash to use when recording benchmark + results. This makes results to be saved also when using an + existing environment.""", + ) + common_args.add_launch_method(parser) + parser.add_argument( + "--dry-run", + "-n", + action="store_true", + default=None, + help="""Do not save any results to disk.""", + ) + common_args.add_machine(parser) + parser.add_argument( + "--skip-existing-successful", + action="store_true", + help="""Skip running benchmarks that have previous successful + results""", + ) + parser.add_argument( + "--skip-existing-failed", + action="store_true", + help="""Skip running benchmarks that have previous failed + results""", + ) + parser.add_argument( + "--skip-existing-commits", + action="store_true", + help="""Skip running benchmarks for commits that have existing + results""", + ) + parser.add_argument( + "--skip-existing", + "-k", + action="store_true", + help="""Skip running benchmarks that have previous successful + or failed results""", + ) + parser.add_argument( + "--interleave-processes", + action="store_true", + default=False, + help="""Interleave benchmarks with multiple processes across + commits. This can avoid measurement biases from commit ordering, + can take longer.""", + ) + parser.add_argument( + "--no-interleave-processes", + action="store_false", + dest="interleave_processes", + ) + parser.add_argument( + "--no-pull", action="store_true", help="Do not pull the repository" + ) + + parser.set_defaults(func=cls.run_from_args) + + return parser + + @classmethod + def run_from_conf_args(cls, conf, args, **kwargs): + return cls.run( + conf=conf, + range_spec="HEAD^!", + steps=None, + bench=args.bench, + attribute=args.attribute, + parallel=args.parallel, + show_stderr=args.show_stderr, + quick=args.quick, + profile=args.profile, + env_spec=args.env_spec, + set_commit_hash=args.set_commit_hash, + dry_run=args.dry_run, + machine=args.machine, + skip_successful=args.skip_existing_successful or args.skip_existing, + skip_failed=args.skip_existing_failed or args.skip_existing, + skip_existing_commits=args.skip_existing_commits, + record_samples=True, + append_samples=True, + pull=not args.no_pull, + interleave_processes=args.interleave_processes, + launch_method=args.launch_method, + **kwargs + ) + + +class Batch(Run): + @classmethod + def setup_arguments(cls, subparsers): + parser = subparsers.add_parser( + "batch", + help="Run a set of benchmark suites based on a batch file. " + "Simply give the file name, which should be a text file " + "containing a number of activitysim benchmark commands.", + description="Run a set of benchmark suites based on a batch file.", + ) + + parser.add_argument( + "file", + action="store", + type=str, + help="""Set the file name to use for reading multiple commands.""", + ) + + parser.set_defaults(func=cls.run_from_args) + + return parser + + @classmethod + def run_from_conf_args(cls, conf, args, **kwargs): + with open(args.file, "rt") as f: + for line in f.readlines(): + subprocess.run(["activitysim", "benchmark", *shlex.split(line)]) diff --git a/activitysim/benchmarking/profile_inspector.py b/activitysim/benchmarking/profile_inspector.py new file mode 100644 index 0000000000..1c8ab9e57a --- /dev/null +++ b/activitysim/benchmarking/profile_inspector.py @@ -0,0 +1,107 @@ +import base64 +import contextlib +import io +import json +import os +import tempfile +import traceback +import zlib + +from asv.commands import Command +from asv.console import log +from asv.plugins.snakeviz import SnakevizGui + + +def benchmark_snakeviz(json_record, benchmark=None): + """ + A utility to directly display saved profiling data in Snakeviz. + + Parameters + ---------- + json_record : Path-like + The archived json file that contains profile data for benchmarks. + benchmark : str, optional + The name of the benchmark to display. + """ + from asv import util + + with open(json_record, "rt") as f: + json_content = json.load(f) + profiles = json_content.get("profiles", {}) + if benchmark is None or benchmark not in profiles: + if profiles: + log.info("\n\nAvailable profiles:") + for k in profiles.keys(): + log.info(f"- {k}") + else: + log.info(f"\n\nNo profiles stored in {json_record}") + if benchmark is None: + return + raise KeyError() + profile_data = zlib.decompress(base64.b64decode(profiles[benchmark].encode())) + prefix = benchmark.replace(".", "__") + "." + with temp_profile(profile_data, prefix) as profile_path: + log.info(f"Profiling data cached to {profile_path}") + import pstats + + prof = pstats.Stats(profile_path) + prof.strip_dirs().dump_stats(profile_path + "b") + try: + SnakevizGui.open_profiler_gui(profile_path + "b") + except KeyboardInterrupt: + pass + except Exception: + + traceback.print_exc() + input(input("Press Enter to continue...")) + finally: + os.remove(profile_path + "b") + + +@contextlib.contextmanager +def temp_profile(profile_data, prefix=None): + profile_fd, profile_path = tempfile.mkstemp(prefix=prefix) + try: + with io.open(profile_fd, "wb", closefd=True) as fd: + fd.write(profile_data) + + yield profile_path + finally: + os.remove(profile_path) + + +class ProfileInspector(Command): + @classmethod + def setup_arguments(cls, subparsers): + parser = subparsers.add_parser( + "snakeviz", + help="""Run snakeviz on a particular benchmark that has been profiled.""", + description="Inspect a benchmark profile", + ) + + parser.add_argument( + "json_record", + help="""The json file in the benchmark results to read profile data from.""", + ) + + parser.add_argument( + "benchmark", + help="""The benchmark to profile. Must be a + fully-specified benchmark name. For parameterized benchmark, it + must include the parameter combination to use, e.g.: + benchmark_name(param0, param1, ...)""", + default=None, + nargs="?", + ) + + parser.set_defaults(func=cls.run_from_args) + + return parser + + @classmethod + def run_from_conf_args(cls, conf, args, **kwargs): + return cls.run(json_record=args.json_record, benchmark=args.benchmark) + + @classmethod + def run(cls, json_record, benchmark): + benchmark_snakeviz(json_record, benchmark) diff --git a/activitysim/benchmarking/reader.py b/activitysim/benchmarking/reader.py new file mode 100644 index 0000000000..f1da72d706 --- /dev/null +++ b/activitysim/benchmarking/reader.py @@ -0,0 +1,28 @@ +import pandas as pd +import yaml + + +def read_results(json_file): + """ + Read benchmarking results from a single commit on a single machine. + + Parameters + ---------- + json_file : str + Path to the json file containing the target results. + + Returns + ------- + pandas.DataFrame + """ + out_data = {} + with open(json_file, "rt") as f: + in_data = yaml.safe_load(f) + for k, v in in_data["results"].items(): + if v is None: + continue + m, c, _ = k.split(".") + if m not in out_data: + out_data[m] = {} + out_data[m][c] = v["result"][0] + return pd.DataFrame(out_data) diff --git a/activitysim/benchmarking/workspace.py b/activitysim/benchmarking/workspace.py new file mode 100644 index 0000000000..691c4aa31f --- /dev/null +++ b/activitysim/benchmarking/workspace.py @@ -0,0 +1,20 @@ +import os + +_directory = None + + +def get_dir(): + global _directory + if _directory is None: + _directory = os.environ.get("ASIM_ASV_WORKSPACE", None) + if _directory is None: + _directory = os.environ.get("ASV_CONF_DIR", None) + return _directory + + +def set_dir(directory): + global _directory + if directory: + _directory = directory + else: + _directory = os.environ.get("ASIM_ASV_WORKSPACE", None) diff --git a/activitysim/cli/__init__.py b/activitysim/cli/__init__.py index 21c677dcc2..70203a8397 100644 --- a/activitysim/cli/__init__.py +++ b/activitysim/cli/__init__.py @@ -1,3 +1,2 @@ +from . import create, run from .cli import CLI -from . import create -from . import run diff --git a/activitysim/cli/benchmark.py b/activitysim/cli/benchmark.py new file mode 100644 index 0000000000..cbb1512d94 --- /dev/null +++ b/activitysim/cli/benchmark.py @@ -0,0 +1,297 @@ +import json +import os +import shutil +import subprocess +import sys + +ASV_CONFIG = { + # The version of the config file format. Do not change, unless + # you know what you are doing. + "version": 1, + # The name of the project being benchmarked + "project": "activitysim", + # The project's homepage + "project_url": "https://activitysim.github.io/", + # The URL or local path of the source code repository for the + # project being benchmarked + "repo": ".", + # The tool to use to create environments. + "environment_type": "conda", + # the base URL to show a commit for the project. + "show_commit_url": "http://github.com/ActivitySim/activitysim/commit/", + # The Pythons you'd like to test against. If not provided, defaults + # to the current version of Python used to run `asv`. + # "pythons": ["2.7", "3.6"], + # The list of conda channel names to be searched for benchmark + # dependency packages in the specified order + "conda_channels": ["conda-forge"], + # The matrix of dependencies to test. Each key is the name of a + # package (in PyPI) and the values are version numbers. An empty + # list or empty string indicates to just test against the default + # (latest) version. null indicates that the package is to not be + # installed. If the package to be tested is only available from + # PyPi, and the 'environment_type' is conda, then you can preface + # the package name by 'pip+', and the package will be installed via + # pip (with all the conda available packages installed first, + # followed by the pip installed packages). + "matrix": { + "pyarrow": [], + "numpy": [], + "openmatrix": [], + "pandas": [], + "pyyaml": [], + "pytables": [], + "toolz": [], + "orca": [], + "psutil": [], + "requests": [], + "numba": [], + "coverage": [], + "pytest": [], + "cytoolz": [], + }, + # The directory (relative to the current directory) to cache the Python + # environments in. If not provided, defaults to "env" + # "env_dir": "../activitysim-asv/env", + # The directory (relative to the current directory) that raw benchmark + # results are stored in. If not provided, defaults to "results". + # "results_dir": "../activitysim-asv/results", + # The directory (relative to the current directory) that the html tree + # should be written to. If not provided, defaults to "html". + # "html_dir": "../activitysim-asv/html", + # List of branches to benchmark. If not provided, defaults to "master" + # (for git) or "default" (for mercurial). + "branches": ["develop"], +} + + +def make_asv_argparser(parser): + """ + The entry point for asv. + + Most of this work is handed off to the airspeed velocity library. + """ + try: + from asv.commands import Command, command_order, common_args, util + except ImportError: + return + + def help(args): + parser.print_help() + sys.exit(0) + + common_args.add_global_arguments(parser, suppress_defaults=False) + + subparsers = parser.add_subparsers( + title="benchmarking with airspeed velocity", description="valid subcommands" + ) + + help_parser = subparsers.add_parser("help", help="Display usage information") + help_parser.set_defaults(afunc=help) + + commands = dict((x.__name__, x) for x in util.iter_subclasses(Command)) + + hide_commands = [ + "quickstart", + ] + + for command in command_order: + if str(command) in hide_commands: + continue + subparser = commands[str(command)].setup_arguments(subparsers) + common_args.add_global_arguments(subparser) + subparser.add_argument( + "--workspace", + "-w", + help="benchmarking workspace directory", + default=".", + ) + subparser.add_argument( + "--branch", + type=str, + action="append", + metavar="NAME", + help="git branch to include in benchmarking", + ) + del commands[command] + + for name, command in sorted(commands.items()): + if str(command) in hide_commands: + continue + subparser = command.setup_arguments(subparsers) + subparser.add_argument( + "--workspace", + "-w", + help="benchmarking workspace directory", + default=".", + ) + subparser.add_argument( + "--branch", + type=str, + action="append", + metavar="NAME", + help="git branch to include in benchmarking", + ) + common_args.add_global_arguments(subparser) + + from ..benchmarking.latest import Batch, Latest + + subparser = Latest.setup_arguments(subparsers) + subparser.add_argument( + "--workspace", + "-w", + help="benchmarking workspace directory", + default=".", + ) + subparser.add_argument( + "--branch", + type=str, + action="append", + metavar="NAME", + help="git branch to include in benchmarking", + ) + common_args.add_global_arguments(subparser) + + subparser = Batch.setup_arguments(subparsers) + subparser.add_argument( + "--workspace", + "-w", + help="benchmarking workspace directory", + default=".", + ) + + from ..benchmarking.profile_inspector import ProfileInspector + + subparser = ProfileInspector.setup_arguments(subparsers) + subparser.add_argument( + "--workspace", + "-w", + help="benchmarking workspace directory", + default=".", + ) + + parser.set_defaults(afunc=benchmark) + return parser, subparsers + + +def benchmark(args): + try: + import asv + except ModuleNotFoundError: + print("airspeed velocity is not installed") + print("try `conda install asv -c conda-forge` if you want to run benchmarks") + sys.exit(1) + from asv import util + from asv.console import log + + log.enable(args.verbose) + + log.info("<== benchmarking activitysim ==>") + + # workspace + args.workspace = os.path.abspath(args.workspace) + + if os.path.abspath(os.path.expanduser("~")) == args.workspace: + log.error( + "don't run benchmarks in the user's home directory \n" + "try changing directories before calling `activitysim benchmark` " + "or use the --workspace option \n" + ) + sys.exit(1) + + if not os.path.isdir(args.workspace): + raise NotADirectoryError(args.workspace) + log.info(f" workspace: {args.workspace}") + os.chdir(args.workspace) + os.environ["ASIM_ASV_WORKSPACE"] = str(args.workspace) + + from ..benchmarking import workspace + + workspace.set_dir(args.workspace) + + from .. import __path__ as pkg_path + + log.info(f" activitysim installation: {pkg_path[0]}") + + repo_dir = os.path.normpath(os.path.join(pkg_path[0], "..")) + git_dir = os.path.normpath(os.path.join(repo_dir, ".git")) + local_git = os.path.exists(git_dir) + log.info(f" local git repo available: {local_git}") + + branches = args.branch + + asv_config = ASV_CONFIG.copy() + if local_git: + repo_dir_rel = os.path.relpath(repo_dir, args.workspace) + log.info(f" local git repo: {repo_dir_rel}") + asv_config["repo"] = repo_dir_rel + if not branches: + # add current branch to the branches to benchmark + current_branch = ( + subprocess.check_output( + ["git", "branch", "--show-current"], + env={"GIT_DIR": git_dir}, + stdin=None, + stderr=None, + shell=False, + universal_newlines=False, + ) + .decode() + .strip() + ) + if current_branch: + asv_config["branches"].append(current_branch) + else: + log.info(f" local git repo available: {local_git}") + asv_config["repo"] = "https://github.com/ActivitySim/activitysim.git" + + asv_config["branches"].extend(branches) + + # copy the benchmarks to the workspace, deleting previous files in workspace + import activitysim.benchmarking.benchmarks + + benchmarks_dir = os.path.dirname(activitysim.benchmarking.benchmarks.__file__) + shutil.rmtree( + os.path.join(args.workspace, "benchmarks"), + ignore_errors=True, + ) + shutil.copytree( + benchmarks_dir, + os.path.join(args.workspace, "benchmarks"), + dirs_exist_ok=True, + ) + + # write the asv config to the workspace + conf_file = os.path.normpath(os.path.join(args.workspace, "asv.conf.json")) + with open(conf_file, "wt") as jf: + json.dump(asv_config, jf) + + if args.config and args.config != "asv.conf.json": + raise ValueError( + "activitysim manages the asv config json file itself, do not use --config" + ) + args.config = os.path.abspath(conf_file) + + # write the pre-commit search and replace hook to the workspace + search_replace_file = os.path.normpath( + os.path.join(args.workspace, ".pre-commit-search-and-replace.yaml") + ) + with open(search_replace_file, "wt") as sf: + benchpath = os.path.join(args.workspace, "benchmarks") + if not benchpath.endswith(os.path.sep): + benchpath += os.path.sep + benchpath = benchpath.replace(os.path.sep, r"[/\\]") + sf.write(f"""- search: /{benchpath}/\n replacement: ./\n""") + + try: + result = args.func(args) + except util.UserError as e: + log.error(str(e)) + sys.exit(1) + finally: + log.flush() + + if result is None: + result = 0 + + sys.exit(result) diff --git a/activitysim/cli/cli.py b/activitysim/cli/cli.py index 1eff88406f..23d07812a1 100644 --- a/activitysim/cli/cli.py +++ b/activitysim/cli/cli.py @@ -7,21 +7,22 @@ def __init__(self, version, description): self.description = description self.parser = argparse.ArgumentParser(description=self.description) - self.parser.add_argument('--version', '-V', - action='version', - version=self.version) + self.parser.add_argument( + "--version", "-V", action="version", version=self.version + ) # print help if no subcommand is provided - self.parser.set_defaults(func=lambda x: self.parser.print_help()) + self.parser.set_defaults(afunc=lambda x: self.parser.print_help()) - self.subparsers = self.parser.add_subparsers(title='subcommands', - help='available subcommand options') + self.subparsers = self.parser.add_subparsers( + title="subcommands", help="available subcommand options" + ) def add_subcommand(self, name, args_func, exec_func, description): subparser = self.subparsers.add_parser(name, description=description) args_func(subparser) - subparser.set_defaults(func=exec_func) + subparser.set_defaults(afunc=exec_func) def execute(self): args = self.parser.parse_args() - args.func(args) + args.afunc(args) diff --git a/activitysim/cli/create.py b/activitysim/cli/create.py index b9e0fe33d1..85187c63e6 100644 --- a/activitysim/cli/create.py +++ b/activitysim/cli/create.py @@ -1,15 +1,16 @@ +import glob +import hashlib import os -import sys -import requests import shutil -import glob +import sys + import pkg_resources +import requests import yaml -import hashlib -PACKAGE = 'activitysim' -EXAMPLES_DIR = 'examples' -MANIFEST = 'example_manifest.yaml' +PACKAGE = "activitysim" +EXAMPLES_DIR = "examples" +MANIFEST = "example_manifest.yaml" def _example_path(resource): @@ -20,33 +21,37 @@ def _example_path(resource): def _load_manifest(): - with open(_example_path(MANIFEST), 'r') as f: + with open(_example_path(MANIFEST), "r") as f: manifest = yaml.safe_load(f.read()) - assert manifest, f'error: could not load {MANIFEST}' - return {example['name']: example for example in manifest} + assert manifest, f"error: could not load {MANIFEST}" + return {example["name"]: example for example in manifest} EXAMPLES = _load_manifest() def add_create_args(parser): - """Create command args - """ + """Create command args""" create_group = parser.add_mutually_exclusive_group(required=True) - create_group.add_argument('-l', '--list', - action='store_true', - help='list available example directories and exit') - create_group.add_argument('-e', '--example', - type=str, - metavar='PATH', - help='example directory to copy') - - parser.add_argument('-d', '--destination', - type=str, - metavar='PATH', - default=os.getcwd(), - help="path to new project directory (default: %(default)s)") + create_group.add_argument( + "-l", + "--list", + action="store_true", + help="list available example directories and exit", + ) + create_group.add_argument( + "-e", "--example", type=str, metavar="PATH", help="example directory to copy" + ) + + parser.add_argument( + "-d", + "--destination", + type=str, + metavar="PATH", + default=os.getcwd(), + help="path to new project directory (default: %(default)s)", + ) def create(args): @@ -70,18 +75,18 @@ def create(args): def list_examples(): - print('*** Available examples ***\n') + print("*** Available examples ***\n") ret = [] for example in list(EXAMPLES.values()): - del example['include'] + del example["include"] ret.append(example) print(yaml.dump(example)) return ret -def get_example(example_name, destination): +def get_example(example_name, destination, benchmarking=False): """ Copy project data to user-specified directory. @@ -101,6 +106,7 @@ def get_example(example_name, destination): If the target directory already exists, project files will be copied into a subdirectory with the same name as the example + benchmarking: bool """ if example_name not in EXAMPLES: sys.exit(f"error: could not find example '{example_name}'") @@ -111,8 +117,11 @@ def get_example(example_name, destination): dest_path = destination example = EXAMPLES[example_name] + itemlist = example.get("include", []) + if benchmarking: + itemlist.extend(example.get("benchmarking", [])) - for item in example.get('include', []): + for item in itemlist: # split include string into source/destination paths items = item.split() @@ -127,49 +136,63 @@ def get_example(example_name, destination): target_path = dest_path sha256 = None - if assets.startswith('http'): + if assets.startswith("http"): download_asset(assets, target_path, sha256) else: for asset_path in glob.glob(_example_path(assets)): copy_asset(asset_path, target_path, dirs_exist_ok=True) - print(f'copied! new project files are in {os.path.abspath(dest_path)}') + print(f"copied! new project files are in {os.path.abspath(dest_path)}") - instructions = example.get('instructions') + instructions = example.get("instructions") if instructions: print(instructions) def copy_asset(asset_path, target_path, dirs_exist_ok=False): - print(f'copying {os.path.basename(asset_path)} ...') + print(f"copying {os.path.basename(asset_path)} ...") if os.path.isdir(asset_path): target_path = os.path.join(target_path, os.path.basename(asset_path)) shutil.copytree(asset_path, target_path, dirs_exist_ok=dirs_exist_ok) else: + target_dir = os.path.dirname(target_path) + if target_dir: + os.makedirs(target_dir, exist_ok=True) shutil.copy(asset_path, target_path) def download_asset(url, target_path, sha256=None): os.makedirs(os.path.dirname(target_path), exist_ok=True) + if url.endswith(".gz") and not target_path.endswith(".gz"): + target_path_dl = target_path + ".gz" + else: + target_path_dl = target_path if sha256 and os.path.isfile(target_path): computed_sha256 = sha256_checksum(target_path) if sha256 == computed_sha256: - print(f'not re-downloading existing {os.path.basename(target_path)} ...') + print(f"not re-downloading existing {os.path.basename(target_path)} ...") return else: - print(f're-downloading existing {os.path.basename(target_path)} ...') - print(f' expected checksum {sha256}') - print(f' computed checksum {computed_sha256}') + print(f"re-downloading existing {os.path.basename(target_path)} ...") + print(f" expected checksum {sha256}") + print(f" computed checksum {computed_sha256}") else: - print(f'downloading {os.path.basename(target_path)} ...') + print(f"downloading {os.path.basename(target_path)} ...") with requests.get(url, stream=True) as r: r.raise_for_status() - with open(target_path, 'wb') as f: + with open(target_path_dl, "wb") as f: for chunk in r.iter_content(chunk_size=None): f.write(chunk) + if target_path_dl != target_path: + import gzip + + with gzip.open(target_path_dl, "rb") as f_in: + with open(target_path, "wb") as f_out: + shutil.copyfileobj(f_in, f_out) + os.remove(target_path_dl) computed_sha256 = sha256_checksum(target_path) if sha256 and sha256 != computed_sha256: raise ValueError( @@ -177,11 +200,13 @@ def download_asset(url, target_path, sha256=None): f" expected checksum {sha256}\n" f" computed checksum {computed_sha256}" ) + elif not sha256: + print(f" computed checksum {computed_sha256}") def sha256_checksum(filename, block_size=65536): sha256 = hashlib.sha256() - with open(filename, 'rb') as f: - for block in iter(lambda: f.read(block_size), b''): + with open(filename, "rb") as f: + for block in iter(lambda: f.read(block_size), b""): sha256.update(block) return sha256.hexdigest() diff --git a/activitysim/cli/main.py b/activitysim/cli/main.py index 113e8b9d68..92988e863a 100644 --- a/activitysim/cli/main.py +++ b/activitysim/cli/main.py @@ -1,21 +1,38 @@ +import os import sys -from activitysim.cli import CLI -from activitysim.cli import run -from activitysim.cli import create -from activitysim import __version__, __doc__ +def main(): + # set all these before we import numpy or any other math library + if len(sys.argv) > 1 and sys.argv[1] == "benchmark": + os.environ["MKL_NUM_THREADS"] = "1" + os.environ["OMP_NUM_THREADS"] = "1" + os.environ["OPENBLAS_NUM_THREADS"] = "1" + os.environ["NUMBA_NUM_THREADS"] = "1" + os.environ["VECLIB_MAXIMUM_THREADS"] = "1" + os.environ["NUMEXPR_NUM_THREADS"] = "1" -def main(): - asim = CLI(version=__version__, - description=__doc__) - asim.add_subcommand(name='run', - args_func=run.add_run_args, - exec_func=run.run, - description=run.run.__doc__) - asim.add_subcommand(name='create', - args_func=create.add_create_args, - exec_func=create.create, - description=create.create.__doc__) + from activitysim import __doc__, __version__ + from activitysim.cli import CLI, benchmark, create, run + + asim = CLI(version=__version__, description=__doc__) + asim.add_subcommand( + name="run", + args_func=run.add_run_args, + exec_func=run.run, + description=run.run.__doc__, + ) + asim.add_subcommand( + name="create", + args_func=create.add_create_args, + exec_func=create.create, + description=create.create.__doc__, + ) + asim.add_subcommand( + name="benchmark", + args_func=benchmark.make_asv_argparser, + exec_func=benchmark.benchmark, + description=benchmark.benchmark.__doc__, + ) sys.exit(asim.execute()) diff --git a/activitysim/cli/run.py b/activitysim/cli/run.py index c4a2ffb14e..d5c4649505 100644 --- a/activitysim/cli/run.py +++ b/activitysim/cli/run.py @@ -1,74 +1,83 @@ # ActivitySim # See full license in LICENSE.txt. -import sys -import os -import logging import argparse +import logging +import os +import sys import warnings import numpy as np -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import mem -from activitysim.core import chunk +from activitysim.core import chunk, config, inject, mem, pipeline, tracing logger = logging.getLogger(__name__) -INJECTABLES = ['data_dir', 'configs_dir', 'output_dir', 'settings_file_name'] +INJECTABLES = ["data_dir", "configs_dir", "output_dir", "settings_file_name"] def add_run_args(parser, multiprocess=True): - """Run command args - """ - parser.add_argument('-w', '--working_dir', - type=str, - metavar='PATH', - help='path to example/project directory (default: %s)' % os.getcwd()) - parser.add_argument('-c', '--config', - type=str, - action='append', - metavar='PATH', - help='path to config dir') - parser.add_argument('-o', '--output', - type=str, - metavar='PATH', - help='path to output dir') - parser.add_argument('-d', '--data', - type=str, - action='append', - metavar='PATH', - help='path to data dir') - parser.add_argument('-r', '--resume', - type=str, - metavar='STEPNAME', - help='resume after step') - parser.add_argument('-p', '--pipeline', - type=str, - metavar='FILE', - help='pipeline file name') - parser.add_argument('-s', '--settings_file', - type=str, - metavar='FILE', - help='settings file name') - parser.add_argument('-g', '--chunk_size', - type=int, - metavar='BYTES', - help='chunk size') + """Run command args""" + parser.add_argument( + "-w", + "--working_dir", + type=str, + metavar="PATH", + help="path to example/project directory (default: %s)" % os.getcwd(), + ) + parser.add_argument( + "-c", + "--config", + type=str, + action="append", + metavar="PATH", + help="path to config dir", + ) + parser.add_argument( + "-o", "--output", type=str, metavar="PATH", help="path to output dir" + ) + parser.add_argument( + "-d", + "--data", + type=str, + action="append", + metavar="PATH", + help="path to data dir", + ) + parser.add_argument( + "-r", "--resume", type=str, metavar="STEPNAME", help="resume after step" + ) + parser.add_argument( + "-p", "--pipeline", type=str, metavar="FILE", help="pipeline file name" + ) + parser.add_argument( + "-s", "--settings_file", type=str, metavar="FILE", help="settings file name" + ) + parser.add_argument( + "-g", "--chunk_size", type=int, metavar="BYTES", help="chunk size" + ) + parser.add_argument( + "--chunk_training_mode", + type=str, + help="chunk training mode, one of [training, adaptive, production, disabled]", + ) + parser.add_argument( + "--households_sample_size", type=int, metavar="N", help="households sample size" + ) if multiprocess: - parser.add_argument('-m', '--multiprocess', - default=False, - const=-1, - metavar='(N)', - nargs='?', - type=int, - help='run multiprocess. Adds configs_mp settings' - ' by default. Optionally give a number of processes,' - ' which will override the settings file.') + parser.add_argument( + "-m", + "--multiprocess", + default=False, + const=-1, + metavar="(N)", + nargs="?", + type=int, + help="run multiprocess. Adds configs_mp settings" + " by default. Optionally give a number of processes," + " which will override the settings file.", + ) def validate_injectable(name): @@ -77,9 +86,11 @@ def validate_injectable(name): except RuntimeError: # injectable is missing, meaning is hasn't been explicitly set # and defaults cannot be found. - sys.exit('Error: please specify either a --working_dir ' - "containing 'configs', 'data', and 'output' folders " - 'or all three of --config, --data, and --output') + sys.exit( + "Error: please specify either a --working_dir " + "containing 'configs', 'data', and 'output' folders " + "or all three of --config, --data, and --output" + ) dir_paths = [dir_paths] if isinstance(dir_paths, str) else dir_paths @@ -91,7 +102,6 @@ def validate_injectable(name): def handle_standard_args(args, multiprocess=True): - def inject_arg(name, value, cache=False): assert name in INJECTABLES inject.add_injectable(name, value, cache=cache) @@ -103,54 +113,58 @@ def inject_arg(name, value, cache=False): # settings_file_name should be cached or else it gets squashed by config.py if args.settings_file: - inject_arg('settings_file_name', args.settings_file, cache=True) + inject_arg("settings_file_name", args.settings_file, cache=True) if args.config: - inject_arg('configs_dir', args.config) + inject_arg("configs_dir", args.config) if args.data: - inject_arg('data_dir', args.data) + inject_arg("data_dir", args.data) if args.output: - inject_arg('output_dir', args.output) + inject_arg("output_dir", args.output) if multiprocess and args.multiprocess: - config_paths = validate_injectable('configs_dir') + config_paths = validate_injectable("configs_dir") - if not os.path.exists('configs_mp'): + if not os.path.exists("configs_mp"): logger.warning("could not find 'configs_mp'. skipping...") else: logger.info("adding 'configs_mp' to config_dir list...") - config_paths.insert(0, 'configs_mp') - inject_arg('configs_dir', config_paths) + config_paths.insert(0, "configs_mp") + inject_arg("configs_dir", config_paths) - config.override_setting('multiprocess', True) + config.override_setting("multiprocess", True) if args.multiprocess > 0: - config.override_setting('num_processes', args.multiprocess) + config.override_setting("num_processes", args.multiprocess) if args.chunk_size: - config.override_setting('chunk_size', int(args.chunk_size)) + config.override_setting("chunk_size", int(args.chunk_size)) + if args.chunk_training_mode is not None: + config.override_setting("chunk_training_mode", args.chunk_training_mode) + if args.households_sample_size is not None: + config.override_setting("households_sample_size", args.households_sample_size) - for injectable in ['configs_dir', 'data_dir', 'output_dir']: + for injectable in ["configs_dir", "data_dir", "output_dir"]: validate_injectable(injectable) if args.pipeline: - inject.add_injectable('pipeline_file_name', args.pipeline) + inject.add_injectable("pipeline_file_name", args.pipeline) if args.resume: - config.override_setting('resume_after', args.resume) + config.override_setting("resume_after", args.resume) def cleanup_output_files(): tracing.delete_trace_files() - tracing.delete_output_files('h5') - tracing.delete_output_files('csv') - tracing.delete_output_files('txt') - tracing.delete_output_files('yaml') - tracing.delete_output_files('prof') - tracing.delete_output_files('omx') + tracing.delete_output_files("h5") + tracing.delete_output_files("csv") + tracing.delete_output_files("txt") + tracing.delete_output_files("yaml") + tracing.delete_output_files("prof") + tracing.delete_output_files("omx") def run(args): @@ -168,38 +182,45 @@ def run(args): # by default, assume we are running activitysim.abm # other callers (e.g. populationsim) will have to arrange to register their own steps and injectables # (presumably) in a custom run_simulation.py instead of using the 'activitysim run' command - if not inject.is_injectable('preload_injectables'): - from activitysim import abm # register abm steps and other abm-specific injectables + if not inject.is_injectable("preload_injectables"): + from activitysim import ( # register abm steps and other abm-specific injectables + abm, + ) tracing.config_logger(basic=True) handle_standard_args(args) # possibly update injectables # legacy support for run_list setting nested 'models' and 'resume_after' settings - if config.setting('run_list'): - warnings.warn("Support for 'run_list' settings group will be removed.\n" - "The run_list.steps setting is renamed 'models'.\n" - "The run_list.resume_after setting is renamed 'resume_after'.\n" - "Specify both 'models' and 'resume_after' directly in settings config file.", FutureWarning) - run_list = config.setting('run_list') - if 'steps' in run_list: - assert not config.setting('models'), \ - f"Don't expect 'steps' in run_list and 'models' as stand-alone setting!" - config.override_setting('models', run_list['steps']) - - if 'resume_after' in run_list: - assert not config.setting('resume_after'), \ - f"Don't expect 'resume_after' both in run_list and as stand-alone setting!" - config.override_setting('resume_after', run_list['resume_after']) + if config.setting("run_list"): + warnings.warn( + "Support for 'run_list' settings group will be removed.\n" + "The run_list.steps setting is renamed 'models'.\n" + "The run_list.resume_after setting is renamed 'resume_after'.\n" + "Specify both 'models' and 'resume_after' directly in settings config file.", + FutureWarning, + ) + run_list = config.setting("run_list") + if "steps" in run_list: + assert not config.setting( + "models" + ), f"Don't expect 'steps' in run_list and 'models' as stand-alone setting!" + config.override_setting("models", run_list["steps"]) + + if "resume_after" in run_list: + assert not config.setting( + "resume_after" + ), f"Don't expect 'resume_after' both in run_list and as stand-alone setting!" + config.override_setting("resume_after", run_list["resume_after"]) # If you provide a resume_after argument to pipeline.run # the pipeline manager will attempt to load checkpointed tables from the checkpoint store # and resume pipeline processing on the next submodel step after the specified checkpoint - resume_after = config.setting('resume_after', None) + resume_after = config.setting("resume_after", None) # cleanup if not resuming if not resume_after: cleanup_output_files() - elif config.setting('cleanup_trace_files_on_resume', False): + elif config.setting("cleanup_trace_files_on_resume", False): tracing.delete_trace_files() tracing.config_logger(basic=False) # update using possibly new logging configs @@ -207,60 +228,62 @@ def run(args): logging.captureWarnings(capture=True) # directories - for k in ['configs_dir', 'settings_file_name', 'data_dir', 'output_dir']: - logger.info('SETTING %s: %s' % (k, inject.get_injectable(k, None))) + for k in ["configs_dir", "settings_file_name", "data_dir", "output_dir"]: + logger.info("SETTING %s: %s" % (k, inject.get_injectable(k, None))) - log_settings = inject.get_injectable('log_settings', {}) + log_settings = inject.get_injectable("log_settings", {}) for k in log_settings: - logger.info('SETTING %s: %s' % (k, config.setting(k))) + logger.info("SETTING %s: %s" % (k, config.setting(k))) # OMP_NUM_THREADS: openmp # OPENBLAS_NUM_THREADS: openblas # MKL_NUM_THREADS: mkl - for env in ['MKL_NUM_THREADS', 'OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS']: + for env in ["MKL_NUM_THREADS", "OMP_NUM_THREADS", "OPENBLAS_NUM_THREADS"]: logger.info(f"ENV {env}: {os.getenv(env)}") np_info_keys = [ - 'atlas_blas_info', - 'atlas_blas_threads_info', - 'atlas_info', - 'atlas_threads_info', - 'blas_info', - 'blas_mkl_info', - 'blas_opt_info', - 'lapack_info', - 'lapack_mkl_info', - 'lapack_opt_info', - 'mkl_info'] + "atlas_blas_info", + "atlas_blas_threads_info", + "atlas_info", + "atlas_threads_info", + "blas_info", + "blas_mkl_info", + "blas_opt_info", + "lapack_info", + "lapack_mkl_info", + "lapack_opt_info", + "mkl_info", + ] for cfg_key in np_info_keys: info = np.__config__.get_info(cfg_key) if info: - for info_key in ['libraries']: + for info_key in ["libraries"]: if info_key in info: logger.info(f"NUMPY {cfg_key} {info_key}: {info[info_key]}") t0 = tracing.print_elapsed_time() try: - if config.setting('multiprocess', False): - logger.info('run multiprocess simulation') + if config.setting("multiprocess", False): + logger.info("run multiprocess simulation") from activitysim.core import mp_tasks + injectables = {k: inject.get_injectable(k) for k in INJECTABLES} mp_tasks.run_multiprocess(injectables) assert not pipeline.is_open() - if config.setting('cleanup_pipeline_after_run', False): + if config.setting("cleanup_pipeline_after_run", False): pipeline.cleanup_pipeline() else: - logger.info('run single process simulation') + logger.info("run single process simulation") - pipeline.run(models=config.setting('models'), resume_after=resume_after) + pipeline.run(models=config.setting("models"), resume_after=resume_after) - if config.setting('cleanup_pipeline_after_run', False): + if config.setting("cleanup_pipeline_after_run", False): pipeline.cleanup_pipeline() # has side effect of closing open pipeline else: pipeline.close_pipeline() @@ -268,19 +291,19 @@ def run(args): mem.log_global_hwm() # main process except Exception: # log time until error and the error traceback - tracing.print_elapsed_time('all models until this error', t0) - logger.exception('activitysim run encountered an unrecoverable error') + tracing.print_elapsed_time("all models until this error", t0) + logger.exception("activitysim run encountered an unrecoverable error") raise chunk.consolidate_logs() mem.consolidate_logs() - tracing.print_elapsed_time('all models', t0) + tracing.print_elapsed_time("all models", t0) return 0 -if __name__ == '__main__': +if __name__ == "__main__": from activitysim import abm # register injectables @@ -288,5 +311,5 @@ def run(args): add_run_args(parser) args = parser.parse_args() - parser.parse_args(['--sum', '7', '-1', '42']) + parser.parse_args(["--sum", "7", "-1", "42"]) sys.exit(run(args)) diff --git a/activitysim/cli/test/test_cli.py b/activitysim/cli/test/test_cli.py index b96044a3a0..96c3575c0a 100644 --- a/activitysim/cli/test/test_cli.py +++ b/activitysim/cli/test/test_cli.py @@ -1,56 +1,64 @@ # ActivitySim # See full license in LICENSE.txt. import os -import subprocess import shutil +import subprocess import sys + import pytest if sys.version_info < (3, 7): - pytest.skip('capture_output introduced in Python 3.7', allow_module_level=True) + pytest.skip("capture_output introduced in Python 3.7", allow_module_level=True) def test_help(): # cp = completed process - cp = subprocess.run(['activitysim', '-h'], capture_output=True) + cp = subprocess.run(["activitysim", "-h"], capture_output=True) - assert 'usage: activitysim [-h] [--version]' in str(cp.stdout) + assert "usage: activitysim [-h] [--version]" in str(cp.stdout) def test_create_help(): - cp = subprocess.run(['activitysim', 'create', '-h'], capture_output=True) + cp = subprocess.run(["activitysim", "create", "-h"], capture_output=True) - assert 'usage: activitysim create [-h] (-l | -e PATH) [-d PATH]' in str(cp.stdout) + assert "usage: activitysim create [-h] (-l | -e PATH) [-d PATH]" in str(cp.stdout) def test_create_list(): - cp = subprocess.run(['activitysim', 'create', '--list'], capture_output=True) + cp = subprocess.run(["activitysim", "create", "--list"], capture_output=True) - assert 'Available examples' in str(cp.stdout) - assert "name: example_mtc" in str(cp.stdout) - assert "name: example_test" in str(cp.stdout) + assert "Available examples" in str(cp.stdout) + assert "name: prototype_mtc" in str(cp.stdout) def test_create_copy(): - target = os.path.join(os.path.dirname(__file__), 'test_example') - cp = subprocess.run(['activitysim', 'create', - '--example', 'example_test', - '--destination', target], capture_output=True) + target = os.path.join(os.path.dirname(__file__), "test_example") + cp = subprocess.run( + [ + "activitysim", + "create", + "--example", + "prototype_mtc", + "--destination", + target, + ], + capture_output=True, + ) - assert 'copying data ...' in str(cp.stdout) - assert 'copying configs ...' in str(cp.stdout) - assert 'copying configs_mp ...' in str(cp.stdout) - assert 'copying output ...' in str(cp.stdout) + assert "copying data ..." in str(cp.stdout) + assert "copying configs ..." in str(cp.stdout) + assert "copying configs_mp ..." in str(cp.stdout) + assert "copying output ..." in str(cp.stdout) # replace slashes on windows assert str(target).replace("\\\\", "\\") in str(cp.stdout).replace("\\\\", "\\") assert os.path.exists(target) - for folder in ['configs', 'configs_mp', 'data', 'output']: + for folder in ["configs", "configs_mp", "data", "output"]: assert os.path.isdir(os.path.join(target, folder)) # clean up @@ -60,19 +68,19 @@ def test_create_copy(): def test_run(): - cp = subprocess.run(['activitysim', 'run'], capture_output=True) + cp = subprocess.run(["activitysim", "run"], capture_output=True) msg = ( - 'Error: please specify either a --working_dir ' + "Error: please specify either a --working_dir " "containing 'configs', 'data', and 'output' " - 'folders or all three of --config, --data, and --output' + "folders or all three of --config, --data, and --output" ) # expect error assert msg in str(cp.stderr) -if __name__ == '__main__': +if __name__ == "__main__": test_help() test_create_help() diff --git a/activitysim/core/assign.py b/activitysim/core/assign.py index b764d37cce..4eb55ddc32 100644 --- a/activitysim/core/assign.py +++ b/activitysim/core/assign.py @@ -1,19 +1,13 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import zip -from builtins import object - import logging +from builtins import object, zip from collections import OrderedDict import numpy as np import pandas as pd -from activitysim.core import util -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import chunk -from activitysim.core import inject +from activitysim.core import chunk, config, inject, pipeline, util logger = logging.getLogger(__name__) @@ -66,10 +60,12 @@ def evaluate_constants(expressions, constants): return d -def read_assignment_spec(file_name, - description_name="Description", - target_name="Target", - expression_name="Expression"): +def read_assignment_spec( + file_name, + description_name="Description", + target_name="Target", + expression_name="Expression", +): """ Read a CSV model specification into a Pandas DataFrame or Series. @@ -98,7 +94,7 @@ def read_assignment_spec(file_name, """ try: - cfg = pd.read_csv(file_name, comment='#') + cfg = pd.read_csv(file_name, comment="#") except Exception as e: logger.error(f"Error reading spec file: {file_name}") logger.error(str(e)) @@ -107,14 +103,18 @@ def read_assignment_spec(file_name, # drop null expressions # cfg = cfg.dropna(subset=[expression_name]) - cfg.rename(columns={target_name: 'target', - expression_name: 'expression', - description_name: 'description'}, - inplace=True) + cfg.rename( + columns={ + target_name: "target", + expression_name: "expression", + description_name: "description", + }, + inplace=True, + ) # backfill description - if 'description' not in cfg.columns: - cfg.description = '' + if "description" not in cfg.columns: + cfg.description = "" cfg.target = cfg.target.str.strip() cfg.expression = cfg.expression.str.strip() @@ -125,12 +125,14 @@ def read_assignment_spec(file_name, class NumpyLogger(object): def __init__(self, logger): self.logger = logger - self.target = '' - self.expression = '' + self.target = "" + self.expression = "" def write(self, msg): - self.logger.warning("numpy: %s expression: %s = %s" % - (msg.rstrip(), str(self.target), str(self.expression))) + self.logger.warning( + "numpy: %s expression: %s = %s" + % (msg.rstrip(), str(self.target), str(self.expression)) + ) def local_utilities(): @@ -144,13 +146,13 @@ def local_utilities(): """ utility_dict = { - 'pd': pd, - 'np': np, - 'reindex': util.reindex, - 'reindex_i': util.reindex_i, - 'setting': config.setting, - 'other_than': util.other_than, - 'rng': pipeline.get_rn_generator(), + "pd": pd, + "np": np, + "reindex": util.reindex, + "reindex_i": util.reindex_i, + "setting": config.setting, + "other_than": util.other_than, + "rng": pipeline.get_rn_generator(), } utility_dict.update(config.get_global_constants()) @@ -159,19 +161,26 @@ def local_utilities(): def is_throwaway(target): - return target == '_' + return target == "_" def is_temp_scalar(target): - return target.startswith('_') and target.isupper() + return target.startswith("_") and target.isupper() def is_temp(target): - return target.startswith('_') - - -def assign_variables(assignment_expressions, df, locals_dict, df_alias=None, - trace_rows=None, trace_label=None, chunk_log=None): + return target.startswith("_") + + +def assign_variables( + assignment_expressions, + df, + locals_dict, + df_alias=None, + trace_rows=None, + trace_label=None, + chunk_log=None, +): """ Evaluate a set of variable expressions from a spec in the context of a given data table. @@ -216,13 +225,13 @@ def assign_variables(assignment_expressions, df, locals_dict, df_alias=None, np_logger = NumpyLogger(logger) def is_throwaway(target): - return target == '_' + return target == "_" def is_temp_singular(target): - return target.startswith('_') and target.isupper() + return target.startswith("_") and target.isupper() def is_temp_series_val(target): - return target.startswith('_') + return target.startswith("_") def to_series(x): if x is None or np.isscalar(x): @@ -247,7 +256,7 @@ def to_series(x): if df_alias: _locals_dict[df_alias] = df else: - _locals_dict['df'] = df + _locals_dict["df"] = df local_keys = list(_locals_dict.keys()) # build a dataframe of eval results for non-temp targets @@ -261,28 +270,40 @@ def to_series(x): for e in zip(assignment_expressions.target, assignment_expressions.expression): target, expression = e - assert isinstance(target, str), \ - "expected target '%s' for expression '%s' to be string not %s" % \ - (target, expression, type(target)) + assert isinstance( + target, str + ), "expected target '%s' for expression '%s' to be string not %s" % ( + target, + expression, + type(target), + ) if target in local_keys: - logger.warning("assign_variables target obscures local_d name '%s'", str(target)) + logger.warning( + "assign_variables target obscures local_d name '%s'", str(target) + ) if trace_label: - logger.debug(f"{trace_label}.assign_variables {target} = {expression}") + logger.info(f"{trace_label}.assign_variables {target} = {expression}") if is_temp_singular(target) or is_throwaway(target): try: x = eval(expression, globals(), _locals_dict) except Exception as err: - logger.error("assign_variables error: %s: %s", type(err).__name__, str(err)) - logger.error("assign_variables expression: %s = %s", str(target), str(expression)) + logger.error( + "assign_variables error: %s: %s", type(err).__name__, str(err) + ) + logger.error( + "assign_variables expression: %s = %s", str(target), str(expression) + ) raise err if not is_throwaway(target): _locals_dict[target] = x if trace_assigned_locals is not None: - trace_assigned_locals[uniquify_key(trace_assigned_locals, target)] = x + trace_assigned_locals[ + uniquify_key(trace_assigned_locals, target) + ] = x continue @@ -292,7 +313,7 @@ def to_series(x): np_logger.target = str(target) np_logger.expression = str(expression) saved_handler = np.seterrcall(np_logger) - save_err = np.seterr(all='log') + save_err = np.seterr(all="log") # FIXME should whitelist globals for security? globals_dict = {} @@ -307,7 +328,9 @@ def to_series(x): # raise err except Exception as err: - logger.exception(f"assign_variables - {type(err).__name__} ({str(err)}) evaluating: {str(expression)}") + logger.exception( + f"assign_variables - {type(err).__name__} ({str(err)}) evaluating: {str(expression)}" + ) raise err if not is_temp_series_val(target): @@ -337,11 +360,11 @@ def to_series(x): assert variables, "No non-temp variables were assigned." if chunk_log: - chunk.log_df(trace_label, 'temps', temps) - chunk.log_df(trace_label, 'variables', variables) + chunk.log_df(trace_label, "temps", temps) + chunk.log_df(trace_label, "variables", variables) # these are going away - let caller log result df - chunk.log_df(trace_label, 'temps', None) - chunk.log_df(trace_label, 'variables', None) + chunk.log_df(trace_label, "temps", None) + chunk.log_df(trace_label, "variables", None) # we stored result in dict - convert to df variables = util.df_from_dict(variables, index=df.index) diff --git a/activitysim/core/chunk.py b/activitysim/core/chunk.py index a209b34e8e..27c933470b 100644 --- a/activitysim/core/chunk.py +++ b/activitysim/core/chunk.py @@ -13,10 +13,7 @@ import numpy as np import pandas as pd -from . import config -from . import mem -from . import tracing -from . import util +from . import config, mem, tracing, util from .util import GB logger = logging.getLogger(__name__) @@ -25,11 +22,11 @@ # CHUNK_METHODS and METRICS # -RSS = 'rss' -USS = 'uss' -BYTES = 'bytes' -HYBRID_RSS = 'hybrid_rss' -HYBRID_USS = 'hybrid_uss' +RSS = "rss" +USS = "uss" +BYTES = "bytes" +HYBRID_RSS = "hybrid_rss" +HYBRID_USS = "hybrid_uss" METRICS = [RSS, USS, BYTES] CHUNK_METHODS = [RSS, USS, BYTES, HYBRID_RSS, HYBRID_USS] @@ -75,10 +72,10 @@ assuming there is abundant RAM. """ -MODE_RETRAIN = 'training' -MODE_ADAPTIVE = 'adaptive' -MODE_PRODUCTION = 'production' -MODE_CHUNKLESS = 'disabled' +MODE_RETRAIN = "training" +MODE_ADAPTIVE = "adaptive" +MODE_PRODUCTION = "production" +MODE_CHUNKLESS = "disabled" TRAINING_MODES = [MODE_RETRAIN, MODE_ADAPTIVE, MODE_PRODUCTION, MODE_CHUNKLESS] # @@ -90,26 +87,31 @@ LOG_SUBCHUNK_HISTORY = False # only useful for debugging WRITE_SUBCHUNK_HISTORY = False # only useful for debugging -DEFAULT_INITIAL_ROWS_PER_CHUNK = 100 # fallback for default_initial_rows_per_chunk setting +DEFAULT_INITIAL_ROWS_PER_CHUNK = ( + 100 # fallback for default_initial_rows_per_chunk setting +) # # cache and history files # -CACHE_FILE_NAME = 'chunk_cache.csv' -LOG_FILE_NAME = 'chunk_history.csv' +CACHE_FILE_NAME = "chunk_cache.csv" +LOG_FILE_NAME = "chunk_history.csv" OMNIBUS_LOG_FILE_NAME = f"omnibus_{LOG_FILE_NAME}" -C_CHUNK_TAG = 'tag' -C_DEPTH = 'depth' -C_NUM_ROWS = 'num_rows' -C_TIME = 'time' +C_CHUNK_TAG = "tag" +C_DEPTH = "depth" +C_NUM_ROWS = "num_rows" +C_TIME = "time" # columns to write to LOG_FILE -CUM_OVERHEAD_COLUMNS = [f'cum_overhead_{m}' for m in METRICS] -CHUNK_HISTORY_COLUMNS = [C_TIME, C_CHUNK_TAG] + CUM_OVERHEAD_COLUMNS + \ - [C_NUM_ROWS, 'row_size', 'chunk_size', C_DEPTH, 'process', 'chunk'] +CUM_OVERHEAD_COLUMNS = [f"cum_overhead_{m}" for m in METRICS] +CHUNK_HISTORY_COLUMNS = ( + [C_TIME, C_CHUNK_TAG] + + CUM_OVERHEAD_COLUMNS + + [C_NUM_ROWS, "row_size", "chunk_size", C_DEPTH, "process", "chunk"] +) CHUNK_CACHE_COLUMNS = [C_CHUNK_TAG, C_NUM_ROWS] + METRICS @@ -125,24 +127,32 @@ def chunk_method(): - method = SETTINGS.get('chunk_method') + method = SETTINGS.get("chunk_method") if method is None: - method = SETTINGS.setdefault('chunk_method', config.setting('chunk_method', DEFAULT_CHUNK_METHOD)) - assert method in CHUNK_METHODS, \ - f"chunk_method setting '{method}' not recognized. Should be one of: {CHUNK_METHODS}" + method = SETTINGS.setdefault( + "chunk_method", config.setting("chunk_method", DEFAULT_CHUNK_METHOD) + ) + assert ( + method in CHUNK_METHODS + ), f"chunk_method setting '{method}' not recognized. Should be one of: {CHUNK_METHODS}" return method def chunk_metric(): - return SETTINGS.setdefault('chunk_metric', USS if chunk_method() in USS_CHUNK_METHODS else 'rss') + return SETTINGS.setdefault( + "chunk_metric", USS if chunk_method() in USS_CHUNK_METHODS else "rss" + ) def chunk_training_mode(): - training_mode = \ - SETTINGS.setdefault('chunk_training_mode', config.setting('chunk_training_mode', MODE_ADAPTIVE)) + training_mode = SETTINGS.setdefault( + "chunk_training_mode", config.setting("chunk_training_mode", MODE_ADAPTIVE) + ) if not training_mode: training_mode = MODE_CHUNKLESS - assert training_mode in TRAINING_MODES, f"chunk_training_mode '{training_mode}' not one of: {TRAINING_MODES}" + assert ( + training_mode in TRAINING_MODES + ), f"chunk_training_mode '{training_mode}' not one of: {TRAINING_MODES}" return training_mode @@ -151,20 +161,27 @@ def chunk_logging(): def default_initial_rows_per_chunk(): - return SETTINGS.setdefault('default_initial_rows_per_chunk', - config.setting('default_initial_rows_per_chunk', DEFAULT_INITIAL_ROWS_PER_CHUNK)) + return SETTINGS.setdefault( + "default_initial_rows_per_chunk", + config.setting( + "default_initial_rows_per_chunk", DEFAULT_INITIAL_ROWS_PER_CHUNK + ), + ) def min_available_chunk_ratio(): - return SETTINGS.setdefault('min_available_chunk_ratio', - config.setting('min_available_chunk_ratio', 0)) + return SETTINGS.setdefault( + "min_available_chunk_ratio", config.setting("min_available_chunk_ratio", 0) + ) def keep_chunk_logs(): # if we are overwriting MEM_LOG_FILE then presumably we want to delete any subprocess files - default = (LOG_FILE_NAME == OMNIBUS_LOG_FILE_NAME) + default = LOG_FILE_NAME == OMNIBUS_LOG_FILE_NAME - return SETTINGS.setdefault('keep_chunk_logs', config.setting('keep_chunk_logs', default)) + return SETTINGS.setdefault( + "keep_chunk_logs", config.setting("keep_chunk_logs", default) + ) def trace_label_for_chunk(trace_label, chunk_size, i): @@ -230,32 +247,38 @@ def consolidate_logs(): if not glob_files: return - assert chunk_training_mode() not in (MODE_PRODUCTION, MODE_CHUNKLESS), \ - f"shouldn't be any chunk log files when chunk_training_mode" \ + assert chunk_training_mode() not in (MODE_PRODUCTION, MODE_CHUNKLESS), ( + f"shouldn't be any chunk log files when chunk_training_mode" f" is {MODE_PRODUCTION} or {MODE_CHUNKLESS}" + ) # # OMNIBUS_LOG_FILE # logger.debug(f"chunk.consolidate_logs reading glob {glob_file_name}") - omnibus_df = pd.concat((pd.read_csv(f, comment='#') for f in glob_files)) + omnibus_df = pd.concat((pd.read_csv(f, comment="#") for f in glob_files)) omnibus_df = omnibus_df.sort_values(by=C_TIME) # shouldn't have different depths for the same chunk_tag multi_depth_chunk_tag = omnibus_df[[C_CHUNK_TAG, C_DEPTH]] - multi_depth_chunk_tag = multi_depth_chunk_tag[~multi_depth_chunk_tag.duplicated()][[C_CHUNK_TAG]] - multi_depth_chunk_tag = multi_depth_chunk_tag[multi_depth_chunk_tag[C_CHUNK_TAG].duplicated()] - assert len(multi_depth_chunk_tag) == 0,\ - f"consolidate_logs multi_depth_chunk_tags \n{multi_depth_chunk_tag.values}" + multi_depth_chunk_tag = multi_depth_chunk_tag[~multi_depth_chunk_tag.duplicated()][ + [C_CHUNK_TAG] + ] + multi_depth_chunk_tag = multi_depth_chunk_tag[ + multi_depth_chunk_tag[C_CHUNK_TAG].duplicated() + ] + assert ( + len(multi_depth_chunk_tag) == 0 + ), f"consolidate_logs multi_depth_chunk_tags \n{multi_depth_chunk_tag.values}" if not keep_chunk_logs(): - util.delete_files(glob_files, 'chunk.consolidate_logs') + util.delete_files(glob_files, "chunk.consolidate_logs") log_output_path = config.log_file_path(OMNIBUS_LOG_FILE_NAME, prefix=False) logger.debug(f"chunk.consolidate_logs writing omnibus log to {log_output_path}") - omnibus_df.to_csv(log_output_path, mode='w', index=False) + omnibus_df.to_csv(log_output_path, mode="w", index=False) # # CACHE_FILE @@ -269,7 +292,9 @@ def consolidate_logs(): if zero_rows.any(): # this should only happen when chunk_log() instantiates the base ChunkSizer. # Since chunk_log is not chunked (chunk_size is always 0) there is no need for its history record in the cache - logger.debug(f"consolidate_logs dropping {zero_rows.sum()} rows where {C_NUM_ROWS} == 0") + logger.debug( + f"consolidate_logs dropping {zero_rows.sum()} rows where {C_NUM_ROWS} == 0" + ) omnibus_df = omnibus_df[omnibus_df[C_NUM_ROWS] > 0] omnibus_df = omnibus_df[[C_CHUNK_TAG, C_NUM_ROWS] + CUM_OVERHEAD_COLUMNS] @@ -283,29 +308,40 @@ def consolidate_logs(): # compute row_size num_rows = omnibus_df[C_NUM_ROWS] for m in USS_CHUNK_METHODS: - omnibus_df[f'{m}_row_size'] = np.ceil(overhead_for_chunk_method(omnibus_df, m) / num_rows).astype(int) + omnibus_df[f"{m}_row_size"] = np.ceil( + overhead_for_chunk_method(omnibus_df, m) / num_rows + ).astype(int) omnibus_df = omnibus_df.sort_values(by=C_CHUNK_TAG) log_dir_output_path = config.log_file_path(CACHE_FILE_NAME, prefix=False) - logger.debug(f"chunk.consolidate_logs writing omnibus chunk cache to {log_dir_output_path}") - omnibus_df.to_csv(log_dir_output_path, mode='w', index=False) + logger.debug( + f"chunk.consolidate_logs writing omnibus chunk cache to {log_dir_output_path}" + ) + omnibus_df.to_csv(log_dir_output_path, mode="w", index=False) if (chunk_training_mode() == MODE_RETRAIN) or not _HISTORIAN.have_cached_history: - if config.setting('resume_after'): + if config.setting("resume_after"): # FIXME - logger.warning(f"Not updating chunk_log cache directory because resume_after") + logger.warning( + f"Not updating chunk_log cache directory because resume_after" + ) else: - cache_dir_output_path = os.path.join(config.get_cache_dir(), CACHE_FILE_NAME) - logger.debug(f"chunk.consolidate_logs writing chunk cache to {cache_dir_output_path}") - omnibus_df.to_csv(cache_dir_output_path, mode='w', index=False) + cache_dir_output_path = os.path.join( + config.get_cache_dir(), CACHE_FILE_NAME + ) + logger.debug( + f"chunk.consolidate_logs writing chunk cache to {cache_dir_output_path}" + ) + omnibus_df.to_csv(cache_dir_output_path, mode="w", index=False) class ChunkHistorian(object): """ Utility for estimating row_size """ + def __init__(self): self.chunk_log_path = None @@ -324,16 +360,22 @@ def load_cached_history(self): chunk_cache_path = os.path.join(config.get_cache_dir(), CACHE_FILE_NAME) - logger.debug(f"ChunkHistorian load_cached_history chunk_cache_path {chunk_cache_path}") + logger.debug( + f"ChunkHistorian load_cached_history chunk_cache_path {chunk_cache_path}" + ) if os.path.exists(chunk_cache_path): - logger.debug(f"ChunkHistorian load_cached_history reading cached chunk history from {CACHE_FILE_NAME}") - df = pd.read_csv(chunk_cache_path, comment='#') + logger.debug( + f"ChunkHistorian load_cached_history reading cached chunk history from {CACHE_FILE_NAME}" + ) + df = pd.read_csv(chunk_cache_path, comment="#") self.cached_history_df = df for c in CHUNK_CACHE_COLUMNS: - assert c in df, f"Expected column '{c}' not in chunk_cache: {chunk_cache_path}" + assert ( + c in df + ), f"Expected column '{c}' not in chunk_cache: {chunk_cache_path}" self.have_cached_history = True else: @@ -345,9 +387,13 @@ def load_cached_history(self): if chunk_training_mode() == MODE_PRODUCTION: # raise RuntimeError(f"chunk_training_mode is {MODE_PRODUCTION} but no chunk_cache: {chunk_cache_path}") - SETTINGS['chunk_training_mode'] = MODE_RETRAIN - logger.warning(f"chunk_training_mode is {MODE_PRODUCTION} but no chunk_cache: {chunk_cache_path}") - logger.warning(f"chunk_training_mode falling back to {chunk_training_mode()}") + SETTINGS["chunk_training_mode"] = MODE_RETRAIN + logger.warning( + f"chunk_training_mode is {MODE_PRODUCTION} but no chunk_cache: {chunk_cache_path}" + ) + logger.warning( + f"chunk_training_mode falling back to {chunk_training_mode()}" + ) def cached_history_for_chunk_tag(self, chunk_tag): @@ -357,19 +403,25 @@ def cached_history_for_chunk_tag(self, chunk_tag): if self.have_cached_history: try: - df = self.cached_history_df[self.cached_history_df[C_CHUNK_TAG] == chunk_tag] + df = self.cached_history_df[ + self.cached_history_df[C_CHUNK_TAG] == chunk_tag + ] if len(df) > 0: if len(df) > 1: # don't expect this, but not fatal - logger.warning(f"ChunkHistorian aggregating {len(df)} multiple rows for {chunk_tag}") + logger.warning( + f"ChunkHistorian aggregating {len(df)} multiple rows for {chunk_tag}" + ) # history for this chunk_tag as dict column sums ('num_rows' and cum_overhead for each metric) # {'num_rows: , 'rss': , 'uss': , 'bytes': } history = df.sum().to_dict() except Exception as e: - logger.warning(f"ChunkHistorian Error loading cached history for {chunk_tag}") + logger.warning( + f"ChunkHistorian Error loading cached history for {chunk_tag}" + ) raise e return history @@ -398,23 +450,29 @@ def write_history(self, history, chunk_tag): history_df = history_df.tail(1) history_df[C_CHUNK_TAG] = chunk_tag - history_df['process'] = multiprocessing.current_process().name + history_df["process"] = multiprocessing.current_process().name history_df = history_df[CHUNK_HISTORY_COLUMNS] if self.chunk_log_path is None: self.chunk_log_path = config.log_file_path(LOG_FILE_NAME) - tracing.write_df_csv(history_df, self.chunk_log_path, index_label=None, - columns=None, column_labels=None, transpose=False) + tracing.write_df_csv( + history_df, + self.chunk_log_path, + index_label=None, + columns=None, + column_labels=None, + transpose=False, + ) _HISTORIAN = ChunkHistorian() class ChunkLedger(object): - """ - """ + """ """ + def __init__(self, trace_label, chunk_size, baseline_rss, baseline_uss, headroom): self.trace_label = trace_label self.chunk_size = chunk_size @@ -422,9 +480,9 @@ def __init__(self, trace_label, chunk_size, baseline_rss, baseline_uss, headroom self.base_chunk_size = get_base_chunk_size() self.tables = {} - self.hwm_bytes = {'value': 0, 'info': f'{trace_label}.init'} - self.hwm_rss = {'value': baseline_rss, 'info': f'{trace_label}.init'} - self.hwm_uss = {'value': baseline_uss, 'info': f'{trace_label}.init'} + self.hwm_bytes = {"value": 0, "info": f"{trace_label}.init"} + self.hwm_rss = {"value": baseline_rss, "info": f"{trace_label}.init"} + self.hwm_uss = {"value": baseline_uss, "info": f"{trace_label}.init"} self.total_bytes = 0 def audit(self, msg, bytes=0, rss=0, uss=0, from_rss_monitor=False): @@ -440,29 +498,40 @@ def audit(self, msg, bytes=0, rss=0, uss=0, from_rss_monitor=False): bytes_panic_threshold = self.headroom + (self.base_chunk_size * MAX_OVERDRAFT) if bytes > bytes_panic_threshold: - logger.warning(f"out_of_chunk_memory: " - f"bytes: {bytes} headroom: {self.headroom} chunk_size: {self.base_chunk_size} {msg}") + logger.warning( + f"out_of_chunk_memory: " + f"bytes: {bytes} headroom: {self.headroom} chunk_size: {self.base_chunk_size} {msg}" + ) if chunk_metric() == RSS and rss > mem_panic_threshold: rss, _ = mem.get_rss(force_garbage_collect=True, uss=False) if rss > mem_panic_threshold: - logger.warning(f"out_of_chunk_memory: " - f"rss: {rss} chunk_size: {self.base_chunk_size} {msg}") + logger.warning( + f"out_of_chunk_memory: " + f"rss: {rss} chunk_size: {self.base_chunk_size} {msg}" + ) if chunk_metric() == USS and uss > mem_panic_threshold: _, uss = mem.get_rss(force_garbage_collect=True, uss=True) if uss > mem_panic_threshold: - logger.warning(f"out_of_chunk_memory: " - f"uss: {uss} chunk_size: {self.base_chunk_size} {msg}") + logger.warning( + f"out_of_chunk_memory: " + f"uss: {uss} chunk_size: {self.base_chunk_size} {msg}" + ) def close(self): logger.debug(f"ChunkLedger.close trace_label: {self.trace_label}") - logger.debug(f"ChunkLedger.close hwm_bytes: {self.hwm_bytes.get('value', 0)} {self.hwm_bytes['info']}") - logger.debug(f"ChunkLedger.close hwm_rss {self.hwm_rss['value']} {self.hwm_rss['info']}") - logger.debug(f"ChunkLedger.close hwm_uss {self.hwm_uss['value']} {self.hwm_uss['info']}") + logger.debug( + f"ChunkLedger.close hwm_bytes: {self.hwm_bytes.get('value', 0)} {self.hwm_bytes['info']}" + ) + logger.debug( + f"ChunkLedger.close hwm_rss {self.hwm_rss['value']} {self.hwm_rss['info']}" + ) + logger.debug( + f"ChunkLedger.close hwm_uss {self.hwm_uss['value']} {self.hwm_uss['info']}" + ) def log_df(self, table_name, df): - def size_it(df): if isinstance(df, pd.Series): elements = util.iprod(df.shape) @@ -515,7 +584,9 @@ def size_it(df): else: shape = df.shape - logger.debug(f"log_df delta_bytes: {util.INT(delta_bytes).rjust(12)} {table_name} {shape} {self.trace_label}") + logger.debug( + f"log_df delta_bytes: {util.INT(delta_bytes).rjust(12)} {table_name} {shape} {self.trace_label}" + ) # update current total_bytes count self.total_bytes = sum(self.tables.values()) @@ -526,30 +597,32 @@ def check_local_hwm(self, hwm_trace_label, rss, uss, total_bytes): from_rss_monitor = total_bytes is None - info = f"rss: {GB(rss)} " \ - f"uss: {GB(uss)} " \ - f"base_chunk_size: {GB(self.base_chunk_size)} " \ - f"op: {hwm_trace_label}" + info = ( + f"rss: {GB(rss)} " + f"uss: {GB(uss)} " + f"base_chunk_size: {GB(self.base_chunk_size)} " + f"op: {hwm_trace_label}" + ) if total_bytes: info = f"bytes: {GB(total_bytes)} " + info - if total_bytes > self.hwm_bytes['value']: + if total_bytes > self.hwm_bytes["value"]: # total_bytes high water mark - self.hwm_bytes['value'] = total_bytes - self.hwm_bytes['info'] = info + self.hwm_bytes["value"] = total_bytes + self.hwm_bytes["info"] = info self.audit(hwm_trace_label, bytes=total_bytes) - if rss > self.hwm_rss['value']: + if rss > self.hwm_rss["value"]: # rss high water mark - self.hwm_rss['value'] = rss - self.hwm_rss['info'] = info + self.hwm_rss["value"] = rss + self.hwm_rss["info"] = info self.audit(hwm_trace_label, rss=rss, from_rss_monitor=from_rss_monitor) - if uss > self.hwm_uss['value']: + if uss > self.hwm_uss["value"]: # uss high water mark - self.hwm_uss['value'] = uss - self.hwm_uss['info'] = info + self.hwm_uss["value"] = uss + self.hwm_uss["info"] = info self.audit(hwm_trace_label, uss=uss, from_rss_monitor=from_rss_monitor) # silently registers global high water mark @@ -560,16 +633,16 @@ def check_local_hwm(self, hwm_trace_label, rss, uss, total_bytes): def get_hwm_rss(self): with ledger_lock: - net_rss = self.hwm_rss['value'] + net_rss = self.hwm_rss["value"] return net_rss def get_hwm_uss(self): with ledger_lock: - net_uss = self.hwm_uss['value'] + net_uss = self.hwm_uss["value"] return net_uss def get_hwm_bytes(self): - return self.hwm_bytes['value'] + return self.hwm_bytes["value"] def log_rss(trace_label, force=False): @@ -603,7 +676,7 @@ def log_df(trace_label, table_name, df): assert len(CHUNK_LEDGERS) > 0, f"log_df called without current chunker." - op = 'del' if df is None else 'add' + op = "del" if df is None else "add" hwm_trace_label = f"{trace_label}.{op}.{table_name}" rss, uss = mem.trace_memory_info(hwm_trace_label) @@ -622,7 +695,6 @@ def log_df(trace_label, table_name, df): class MemMonitor(threading.Thread): - def __init__(self, trace_label, stop_snooping): self.trace_label = trace_label self.stop_snooping = stop_snooping @@ -635,8 +707,8 @@ def run(self): class ChunkSizer(object): - """ - """ + """ """ + def __init__(self, chunk_tag, trace_label, num_choosers=0, chunk_size=0): self.depth = len(CHUNK_SIZERS) + 1 @@ -658,11 +730,13 @@ def __init__(self, chunk_tag, trace_label, num_choosers=0, chunk_size=0): parent = CHUNK_SIZERS[-1] assert parent.chunk_ledger is not None - log_rss(trace_label) # give parent a complementary log_rss reading entering sub context + log_rss( + trace_label + ) # give parent a complementary log_rss reading entering sub context else: self.rss, self.uss = 0, 0 chunk_size = 0 - config.override_setting('chunk_size', 0) + config.override_setting("chunk_size", 0) self.chunk_tag = chunk_tag self.trace_label = trace_label @@ -672,8 +746,9 @@ def __init__(self, chunk_tag, trace_label, num_choosers=0, chunk_size=0): self.rows_processed = 0 min_chunk_ratio = min_available_chunk_ratio() - assert 0 <= min_chunk_ratio <= 1, \ - f"min_chunk_ratio setting {min_chunk_ratio} is not in range [0..1]" + assert ( + 0 <= min_chunk_ratio <= 1 + ), f"min_chunk_ratio setting {min_chunk_ratio} is not in range [0..1]" self.min_chunk_size = chunk_size * min_chunk_ratio self.initial_row_size = 0 @@ -691,9 +766,11 @@ def __init__(self, chunk_tag, trace_label, num_choosers=0, chunk_size=0): self.cum_overhead = {m: cached_history[m] for m in METRICS} self.cum_rows = cached_history[C_NUM_ROWS] - logger.debug(f"{self.trace_label}.ChunkSizer - cached history " - f"cum_rows: {self.cum_rows} " - f"cum_overhead: {self.cum_overhead} ") + logger.debug( + f"{self.trace_label}.ChunkSizer - cached history " + f"cum_rows: {self.cum_rows} " + f"cum_overhead: {self.cum_overhead} " + ) # add self to CHUNK_SIZERS list before setting base_chunk_size (since we might be base chunker) CHUNK_SIZERS.append(self) @@ -701,12 +778,15 @@ def __init__(self, chunk_tag, trace_label, num_choosers=0, chunk_size=0): self.base_chunk_size = CHUNK_SIZERS[0].chunk_size # need base_chunk_size to calc headroom - self.headroom = self.available_headroom(self.uss if chunk_metric() == USS else self.rss) + self.headroom = self.available_headroom( + self.uss if chunk_metric() == USS else self.rss + ) def close(self): - if ((self.depth == 1) or WRITE_SUBCHUNK_HISTORY) and \ - (chunk_training_mode() not in (MODE_PRODUCTION, MODE_CHUNKLESS)): + if ((self.depth == 1) or WRITE_SUBCHUNK_HISTORY) and ( + chunk_training_mode() not in (MODE_PRODUCTION, MODE_CHUNKLESS) + ): _HISTORIAN.write_history(self.history, self.chunk_tag) _chunk_sizer = CHUNK_SIZERS.pop() @@ -720,10 +800,12 @@ def available_headroom(self, xss): if headroom < self.min_chunk_size: if self.base_chunk_size > 0: - logger.warning(f"Not enough memory for minimum chunk_size without exceeding specified chunk_size. " - f"available_headroom: {util.INT(headroom)} " - f"min_chunk_size: {util.INT(self.min_chunk_size)} " - f"base_chunk_size: {util.INT(self.base_chunk_size)}") + logger.warning( + f"Not enough memory for minimum chunk_size without exceeding specified chunk_size. " + f"available_headroom: {util.INT(headroom)} " + f"min_chunk_size: {util.INT(self.min_chunk_size)} " + f"base_chunk_size: {util.INT(self.base_chunk_size)}" + ) headroom = self.min_chunk_size @@ -745,15 +827,23 @@ def initial_rows_per_chunk(self): assert len(CHUNK_LEDGERS) == 0, f"len(CHUNK_LEDGERS): {len(CHUNK_LEDGERS)}" if self.initial_row_size > 0: - max_rows_per_chunk = np.maximum(int(self.headroom / self.initial_row_size), 1) + max_rows_per_chunk = np.maximum( + int(self.headroom / self.initial_row_size), 1 + ) rows_per_chunk = np.clip(max_rows_per_chunk, 1, self.num_choosers) - estimated_number_of_chunks = math.ceil(self.num_choosers / rows_per_chunk) + estimated_number_of_chunks = math.ceil( + self.num_choosers / rows_per_chunk + ) - logger.debug(f"{self.trace_label}.initial_rows_per_chunk - initial_row_size: {self.initial_row_size}") + logger.debug( + f"{self.trace_label}.initial_rows_per_chunk - initial_row_size: {self.initial_row_size}" + ) else: # if no initial_row_size from cache, fall back to default_initial_rows_per_chunk self.initial_row_size = 0 - rows_per_chunk = min(self.num_choosers, default_initial_rows_per_chunk()) + rows_per_chunk = min( + self.num_choosers, default_initial_rows_per_chunk() + ) estimated_number_of_chunks = None assert chunk_training_mode() != MODE_PRODUCTION @@ -764,10 +854,12 @@ def initial_rows_per_chunk(self): self.rows_processed += rows_per_chunk self.cum_rows += rows_per_chunk - logger.debug(f"{self.trace_label}.initial_rows_per_chunk - " - f"rows_per_chunk: {self.rows_per_chunk} " - f"headroom: {self.headroom} " - f"initial_row_size: {self.initial_row_size} ") + logger.debug( + f"{self.trace_label}.initial_rows_per_chunk - " + f"rows_per_chunk: {self.rows_per_chunk} " + f"headroom: {self.headroom} " + f"initial_row_size: {self.initial_row_size} " + ) return rows_per_chunk, estimated_number_of_chunks @@ -791,7 +883,9 @@ def adaptive_rows_per_chunk(self, i): self.rss, _ = mem.get_rss(force_garbage_collect=True, uss=False) self.uss = 0 - self.headroom = self.available_headroom(self.uss if chunk_metric() == USS else self.rss) + self.headroom = self.available_headroom( + self.uss if chunk_metric() == USS else self.rss + ) rows_remaining = self.num_choosers - prev_rows_processed @@ -812,8 +906,9 @@ def adaptive_rows_per_chunk(self, i): for m in METRICS: self.cum_overhead[m] += overhead[m] - observed_row_size = \ - prev_cum_rows and math.ceil(overhead_for_chunk_method(self.cum_overhead) / prev_cum_rows) + observed_row_size = prev_cum_rows and math.ceil( + overhead_for_chunk_method(self.cum_overhead) / prev_cum_rows + ) # rows_per_chunk is closest number of chooser rows to achieve chunk_size without exceeding it if observed_row_size > 0: @@ -824,39 +919,49 @@ def adaptive_rows_per_chunk(self, i): self.rows_per_chunk = np.clip(self.rows_per_chunk, 1, rows_remaining) self.rows_processed += self.rows_per_chunk - estimated_number_of_chunks = i + math.ceil(rows_remaining / self.rows_per_chunk) if rows_remaining else i + estimated_number_of_chunks = ( + i + math.ceil(rows_remaining / self.rows_per_chunk) if rows_remaining else i + ) - self.history.setdefault(C_TIME, []).append(datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S.%f")) + self.history.setdefault(C_TIME, []).append( + datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S.%f") + ) self.history.setdefault(C_DEPTH, []).append(self.depth) for m in METRICS: - self.history.setdefault(f'cum_overhead_{m}', []).append(self.cum_overhead[m]) + self.history.setdefault(f"cum_overhead_{m}", []).append( + self.cum_overhead[m] + ) self.history.setdefault(C_NUM_ROWS, []).append(prev_cum_rows) - self.history.setdefault('chunk', []).append(i) - self.history.setdefault('chunk_size', []).append(self.chunk_size) - self.history.setdefault('row_size', []).append(observed_row_size) + self.history.setdefault("chunk", []).append(i) + self.history.setdefault("chunk_size", []).append(self.chunk_size) + self.history.setdefault("row_size", []).append(observed_row_size) # diagnostics not reported by ChunkHistorian if chunk_metric() == USS: - self.history.setdefault('prev_uss', []).append(prev_uss) - self.history.setdefault('cur_uss', []).append(self.uss) + self.history.setdefault("prev_uss", []).append(prev_uss) + self.history.setdefault("cur_uss", []).append(self.uss) else: - self.history.setdefault('prev_rss', []).append(prev_rss) - self.history.setdefault('cur_rss', []).append(self.rss) + self.history.setdefault("prev_rss", []).append(prev_rss) + self.history.setdefault("cur_rss", []).append(self.rss) - self.history.setdefault('prev_headroom', []).append(prev_headroom) - self.history.setdefault('cur_headroom', []).append(self.headroom) + self.history.setdefault("prev_headroom", []).append(prev_headroom) + self.history.setdefault("cur_headroom", []).append(self.headroom) for m in METRICS: - self.history.setdefault(f'overhead_{m}', []).append(overhead[m]) + self.history.setdefault(f"overhead_{m}", []).append(overhead[m]) - self.history.setdefault('new_rows_processed', []).append(self.rows_processed) - self.history.setdefault('new_rows_per_chunk', []).append(self.rows_per_chunk) - self.history.setdefault('estimated_num_chunks', []).append(estimated_number_of_chunks) + self.history.setdefault("new_rows_processed", []).append(self.rows_processed) + self.history.setdefault("new_rows_per_chunk", []).append(self.rows_per_chunk) + self.history.setdefault("estimated_num_chunks", []).append( + estimated_number_of_chunks + ) history_df = pd.DataFrame.from_dict(self.history) if LOG_SUBCHUNK_HISTORY: - logger.debug(f"ChunkSizer.adaptive_rows_per_chunk {self.chunk_tag}\n{history_df.transpose()}") + logger.debug( + f"ChunkSizer.adaptive_rows_per_chunk {self.chunk_tag}\n{history_df.transpose()}" + ) # input() @@ -880,7 +985,9 @@ def ledger(self): assert self.chunk_size == 0 with ledger_lock: - self.chunk_ledger = ChunkLedger(self.trace_label, self.chunk_size, self.rss, self.uss, self.headroom) + self.chunk_ledger = ChunkLedger( + self.trace_label, self.chunk_size, self.rss, self.uss, self.headroom + ) CHUNK_LEDGERS.append(self.chunk_ledger) # reality check - there should be one ledger per sizer @@ -896,9 +1003,13 @@ def ledger(self): mem_monitor = MemMonitor(self.trace_label, stop_snooping) mem_monitor.start() - log_rss(self.trace_label, force=True) # make sure we get at least one reading + log_rss( + self.trace_label, force=True + ) # make sure we get at least one reading yield - log_rss(self.trace_label, force=True) # make sure we get at least one reading + log_rss( + self.trace_label, force=True + ) # make sure we get at least one reading finally: @@ -910,7 +1021,9 @@ def ledger(self): stop_snooping.set() while mem_monitor.is_alive(): - logger.debug(f"{self.trace_label} waiting for mem_monitor thread to terminate") + logger.debug( + f"{self.trace_label} waiting for mem_monitor thread to terminate" + ) mem_monitor.join(timeout=MEM_MONITOR_TICK) with ledger_lock: @@ -966,7 +1079,9 @@ def adaptive_chunked_choosers(choosers, chunk_size, trace_label, chunk_tag=None) assert num_choosers > 0 assert chunk_size >= 0 - logger.info(f"{trace_label} Running adaptive_chunked_choosers with {num_choosers} choosers") + logger.info( + f"{trace_label} Running adaptive_chunked_choosers with {num_choosers} choosers" + ) chunk_sizer = ChunkSizer(chunk_tag, trace_label, num_choosers, chunk_size) @@ -983,22 +1098,29 @@ def adaptive_chunked_choosers(choosers, chunk_size, trace_label, chunk_tag=None) with chunk_sizer.ledger(): # grab the next chunk based on current rows_per_chunk - chooser_chunk = choosers[offset: offset + rows_per_chunk] + chooser_chunk = choosers[offset : offset + rows_per_chunk] - logger.info(f"Running chunk {i} of {estimated_number_of_chunks or '?'} " - f"with {len(chooser_chunk)} of {num_choosers} choosers") + logger.info( + f"Running chunk {i} of {estimated_number_of_chunks or '?'} " + f"with {len(chooser_chunk)} of {num_choosers} choosers" + ) yield i, chooser_chunk, chunk_trace_label offset += rows_per_chunk if chunk_training_mode() != MODE_CHUNKLESS: - rows_per_chunk, estimated_number_of_chunks = chunk_sizer.adaptive_rows_per_chunk(i) + ( + rows_per_chunk, + estimated_number_of_chunks, + ) = chunk_sizer.adaptive_rows_per_chunk(i) chunk_sizer.close() -def adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace_label, chunk_tag=None): +def adaptive_chunked_choosers_and_alts( + choosers, alternatives, chunk_size, trace_label, chunk_tag=None +): """ generator to iterate over choosers and alternatives in chunk_size chunks @@ -1039,16 +1161,23 @@ def adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace assert num_choosers > 0 # alternatives index should match choosers (except with duplicate repeating alt rows) - assert choosers.index.equals(alternatives.index[~alternatives.index.duplicated(keep='first')]) + assert choosers.index.equals( + alternatives.index[~alternatives.index.duplicated(keep="first")] + ) last_repeat = alternatives.index != np.roll(alternatives.index, -1) assert (num_choosers == 1) or choosers.index.equals(alternatives.index[last_repeat]) - assert 'pick_count' in alternatives.columns or choosers.index.name == alternatives.index.name + assert ( + "pick_count" in alternatives.columns + or choosers.index.name == alternatives.index.name + ) assert choosers.index.name == alternatives.index.name - logger.info(f"{trace_label} Running adaptive_chunked_choosers_and_alts " - f"with {num_choosers} choosers and {num_alternatives} alternatives") + logger.info( + f"{trace_label} Running adaptive_chunked_choosers_and_alts " + f"with {num_choosers} choosers and {num_alternatives} alternatives" + ) chunk_sizer = ChunkSizer(chunk_tag, trace_label, num_choosers, chunk_size) rows_per_chunk, estimated_number_of_chunks = chunk_sizer.initial_rows_per_chunk() @@ -1057,30 +1186,41 @@ def adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace # alt chunks boundaries are where index changes alt_ids = alternatives.index.values alt_chunk_ends = np.where(alt_ids[:-1] != alt_ids[1:])[0] + 1 - alt_chunk_ends = np.append([0], alt_chunk_ends) # including the first to simplify indexing - alt_chunk_ends = np.append(alt_chunk_ends, [len(alternatives.index)]) # end of final chunk + alt_chunk_ends = np.append( + [0], alt_chunk_ends + ) # including the first to simplify indexing + alt_chunk_ends = np.append( + alt_chunk_ends, [len(alternatives.index)] + ) # end of final chunk i = offset = alt_offset = 0 while offset < num_choosers: i += 1 - assert offset + rows_per_chunk <= num_choosers, \ - f"i {i} offset {offset} rows_per_chunk {rows_per_chunk} num_choosers {num_choosers}" + assert ( + offset + rows_per_chunk <= num_choosers + ), f"i {i} offset {offset} rows_per_chunk {rows_per_chunk} num_choosers {num_choosers}" chunk_trace_label = trace_label_for_chunk(trace_label, chunk_size, i) with chunk_sizer.ledger(): - chooser_chunk = choosers[offset: offset + rows_per_chunk] + chooser_chunk = choosers[offset : offset + rows_per_chunk] alt_end = alt_chunk_ends[offset + rows_per_chunk] - alternative_chunk = alternatives[alt_offset: alt_end] + alternative_chunk = alternatives[alt_offset:alt_end] - assert len(chooser_chunk.index) == len(np.unique(alternative_chunk.index.values)) - assert (chooser_chunk.index == np.unique(alternative_chunk.index.values)).all() + assert len(chooser_chunk.index) == len( + np.unique(alternative_chunk.index.values) + ) + assert ( + chooser_chunk.index == np.unique(alternative_chunk.index.values) + ).all() - logger.info(f"Running chunk {i} of {estimated_number_of_chunks or '?'} " - f"with {len(chooser_chunk)} of {num_choosers} choosers") + logger.info( + f"Running chunk {i} of {estimated_number_of_chunks or '?'} " + f"with {len(chooser_chunk)} of {num_choosers} choosers" + ) yield i, chooser_chunk, alternative_chunk, chunk_trace_label @@ -1088,12 +1228,17 @@ def adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace alt_offset = alt_end if chunk_training_mode() != MODE_CHUNKLESS: - rows_per_chunk, estimated_number_of_chunks = chunk_sizer.adaptive_rows_per_chunk(i) + ( + rows_per_chunk, + estimated_number_of_chunks, + ) = chunk_sizer.adaptive_rows_per_chunk(i) chunk_sizer.close() -def adaptive_chunked_choosers_by_chunk_id(choosers, chunk_size, trace_label, chunk_tag=None): +def adaptive_chunked_choosers_by_chunk_id( + choosers, chunk_size, trace_label, chunk_tag=None +): # generator to iterate over choosers in chunk_size chunks # like chunked_choosers but based on chunk_id field rather than dataframe length # (the presumption is that choosers has multiple rows with the same chunk_id that @@ -1102,7 +1247,7 @@ def adaptive_chunked_choosers_by_chunk_id(choosers, chunk_size, trace_label, chu chunk_tag = chunk_tag or trace_label - num_choosers = choosers['chunk_id'].max() + 1 + num_choosers = choosers["chunk_id"].max() + 1 assert num_choosers > 0 chunk_sizer = ChunkSizer(chunk_tag, trace_label, num_choosers, chunk_size) @@ -1119,16 +1264,23 @@ def adaptive_chunked_choosers_by_chunk_id(choosers, chunk_size, trace_label, chu with chunk_sizer.ledger(): - chooser_chunk = choosers[choosers['chunk_id'].between(offset, offset + rows_per_chunk - 1)] + chooser_chunk = choosers[ + choosers["chunk_id"].between(offset, offset + rows_per_chunk - 1) + ] - logger.info(f"{trace_label} Running chunk {i} of {estimated_number_of_chunks or '?'} " - f"with {rows_per_chunk} of {num_choosers} choosers") + logger.info( + f"{trace_label} Running chunk {i} of {estimated_number_of_chunks or '?'} " + f"with {rows_per_chunk} of {num_choosers} choosers" + ) yield i, chooser_chunk, chunk_trace_label offset += rows_per_chunk if chunk_training_mode() != MODE_CHUNKLESS: - rows_per_chunk, estimated_number_of_chunks = chunk_sizer.adaptive_rows_per_chunk(i) + ( + rows_per_chunk, + estimated_number_of_chunks, + ) = chunk_sizer.adaptive_rows_per_chunk(i) chunk_sizer.close() diff --git a/activitysim/core/config.py b/activitysim/core/config.py index b85a02e81a..02d6fadea2 100644 --- a/activitysim/core/config.py +++ b/activitysim/core/config.py @@ -1,13 +1,15 @@ # ActivitySim # See full license in LICENSE.txt. import argparse -import os import glob -import yaml -import sys +import logging +import os +import struct +import time import warnings -import logging +import yaml + from activitysim.core import inject logger = logging.getLogger(__name__) @@ -26,35 +28,37 @@ def locutor(): @inject.injectable(cache=True) def configs_dir(): - if not os.path.exists('configs'): + if not os.path.exists("configs"): raise RuntimeError("'configs' directory does not exist") - return 'configs' + return "configs" @inject.injectable(cache=True) def data_dir(): - if not os.path.exists('data'): + if not os.path.exists("data"): raise RuntimeError("'data' directory does not exist") - return 'data' + return "data" @inject.injectable(cache=True) def output_dir(): - if not os.path.exists('output'): - print(f"'output' directory does not exist - current working directory: {os.getcwd()}") + if not os.path.exists("output"): + print( + f"'output' directory does not exist - current working directory: {os.getcwd()}" + ) raise RuntimeError("'output' directory does not exist") - return 'output' + return "output" @inject.injectable() def output_file_prefix(): - return '' + return "" @inject.injectable(cache=True) def pipeline_file_name(settings): - pipeline_file_name = settings.get('pipeline_file_name', 'pipeline.h5') + pipeline_file_name = settings.get("pipeline_file_name", "pipeline.h5") return pipeline_file_name @@ -66,7 +70,7 @@ def rng_base_seed(): @inject.injectable(cache=True) def settings_file_name(): - return 'settings.yaml' + return "settings.yaml" @inject.injectable(cache=True) @@ -94,9 +98,11 @@ def get_cache_dir(): ------- str path """ - cache_dir = setting('cache_dir', default=None) + cache_dir = setting("cache_dir", default=None) if cache_dir is None: - cache_dir = setting('cache_dir', os.path.join(inject.get_injectable('output_dir'), 'cache')) + cache_dir = setting( + "cache_dir", os.path.join(inject.get_injectable("output_dir"), "cache") + ) if not os.path.isdir(cache_dir): os.mkdir(cache_dir) @@ -106,13 +112,13 @@ def get_cache_dir(): def setting(key, default=None): - return inject.get_injectable('settings').get(key, default) + return inject.get_injectable("settings").get(key, default) def override_setting(key, value): - new_settings = inject.get_injectable('settings') + new_settings = inject.get_injectable("settings") new_settings[key] = value - inject.add_injectable('settings', new_settings) + inject.add_injectable("settings", new_settings) def get_global_constants(): @@ -124,7 +130,7 @@ def get_global_constants(): constants : dict dictionary of constants to add to locals for use by expressions in model spec """ - return read_settings_file('constants.yaml', mandatory=False) + return read_settings_file("constants.yaml", mandatory=False) def read_model_settings(file_name, mandatory=False): @@ -168,9 +174,12 @@ def future_model_settings(model_name, model_settings, future_settings): model_settings = model_settings.copy() for key, setting in future_settings.items(): if key not in model_settings.keys(): - warnings.warn(f"Setting '{key}' not found in {model_name} model settings." - f"Replacing with default value: {setting}." - f"This setting will be required in future versions", FutureWarning) + warnings.warn( + f"Setting '{key}' not found in {model_name} model settings." + f"Replacing with default value: {setting}." + f"This setting will be required in future versions", + FutureWarning, + ) model_settings[key] = setting return model_settings @@ -185,7 +194,7 @@ def get_model_constants(model_settings): constants : dict dictionary of constants to add to locals for use by expressions in model spec """ - return model_settings.get('CONSTANTS', {}) + return model_settings.get("CONSTANTS", {}) def get_logit_model_settings(model_settings): @@ -205,14 +214,14 @@ def get_logit_model_settings(model_settings): if model_settings is not None: # default to MNL - logit_type = model_settings.get('LOGIT_TYPE', 'MNL') + logit_type = model_settings.get("LOGIT_TYPE", "MNL") - if logit_type not in ['NL', 'MNL']: + if logit_type not in ["NL", "MNL"]: logger.error("Unrecognized logit type '%s'" % logit_type) raise RuntimeError("Unrecognized logit type '%s'" % logit_type) - if logit_type == 'NL': - nests = model_settings.get('NESTS', None) + if logit_type == "NL": + nests = model_settings.get("NESTS", None) if nests is None: logger.error("No NEST found in model spec for NL model type") raise RuntimeError("No NEST found in model spec for NL model type") @@ -221,7 +230,7 @@ def get_logit_model_settings(model_settings): def build_output_file_path(file_name, use_prefix=None): - output_dir = inject.get_injectable('output_dir') + output_dir = inject.get_injectable("output_dir") if use_prefix: file_name = "%s-%s" % (use_prefix, file_name) @@ -231,7 +240,9 @@ def build_output_file_path(file_name, use_prefix=None): return file_path -def cascading_input_file_path(file_name, dir_list_injectable_name, mandatory=True, allow_glob=False): +def cascading_input_file_path( + file_name, dir_list_injectable_name, mandatory=True, allow_glob=False +): dir_paths = inject.get_injectable(dir_list_injectable_name) dir_paths = [dir_paths] if isinstance(dir_paths, str) else dir_paths @@ -248,15 +259,19 @@ def cascading_input_file_path(file_name, dir_list_injectable_name, mandatory=Tru break if mandatory and not file_path: - raise RuntimeError("file_path %s: file '%s' not in %s" % - (dir_list_injectable_name, file_name, dir_paths)) + raise RuntimeError( + "file_path %s: file '%s' not in %s" + % (dir_list_injectable_name, file_name, dir_paths) + ) return file_path def data_file_path(file_name, mandatory=True, allow_glob=False): - return cascading_input_file_path(file_name, 'data_dir', mandatory=mandatory, allow_glob=allow_glob) + return cascading_input_file_path( + file_name, "data_dir", mandatory=mandatory, allow_glob=allow_glob + ) def expand_input_file_list(input_files): @@ -280,8 +295,11 @@ def expand_input_file_list(input_files): continue if os.path.isdir(file_name): - logger.warning("WARNING: expand_input_file_list skipping directory: " - "(use glob instead): %s", file_name) + logger.warning( + "WARNING: expand_input_file_list skipping directory: " + "(use glob instead): %s", + file_name, + ) ungroked_files += 1 continue @@ -292,12 +310,16 @@ def expand_input_file_list(input_files): if os.path.isfile(globbed_file): expanded_files.append(globbed_file) else: - logger.warning("WARNING: expand_input_file_list skipping: " - "(does not grok) %s", file_name) + logger.warning( + "WARNING: expand_input_file_list skipping: " "(does not grok) %s", + file_name, + ) ungroked_files += 1 if len(globbed_files) == 0: - logger.warning("WARNING: expand_input_file_list file/glob not found: %s", file_name) + logger.warning( + "WARNING: expand_input_file_list file/glob not found: %s", file_name + ) assert ungroked_files == 0, f"{ungroked_files} ungroked file names" @@ -306,39 +328,51 @@ def expand_input_file_list(input_files): def config_file_path(file_name, mandatory=True): - return cascading_input_file_path(file_name, 'configs_dir', mandatory) + return cascading_input_file_path(file_name, "configs_dir", mandatory) def output_file_path(file_name): - prefix = inject.get_injectable('output_file_prefix', None) + prefix = inject.get_injectable("output_file_prefix", None) return build_output_file_path(file_name, use_prefix=prefix) def trace_file_path(file_name): - output_dir = inject.get_injectable('output_dir') + output_dir = inject.get_injectable("output_dir") - # - check for optional trace subfolder - if os.path.exists(os.path.join(output_dir, 'trace')): - output_dir = os.path.join(output_dir, 'trace') - else: - file_name = "trace.%s" % (file_name,) + # - check for trace subfolder, create it if missing + trace_dir = os.path.join(output_dir, "trace") + if not os.path.exists(trace_dir): + os.makedirs(trace_dir) - file_path = os.path.join(output_dir, file_name) + # construct a unique tail string from the time + # this is a convenience for opening multiple similarly named trace files + tail = hex(struct.unpack(" in directories in configs_dir list, @@ -396,7 +435,7 @@ def read_settings_file(file_name, mandatory=True, include_stack=[], configs_dir_ file_name mandatory: booelan if true, raise SettingsFileNotFound exception if no settings file, otherwise return empty dict - include_stack: boolean + include_stack: boolean or list only used for recursive calls to provide list of files included so far to detect cycles Returns: dict @@ -411,28 +450,40 @@ def backfill_settings(settings, backfill): return new_settings if configs_dir_list is None: - configs_dir_list = inject.get_injectable('configs_dir') - configs_dir_list = [configs_dir_list] if isinstance(configs_dir_list, str) else configs_dir_list + configs_dir_list = inject.get_injectable("configs_dir") + configs_dir_list = ( + [configs_dir_list] + if isinstance(configs_dir_list, str) + else configs_dir_list + ) assert isinstance(configs_dir_list, list) - assert len(configs_dir_list) == len(set(configs_dir_list)), \ - f"repeating file names not allowed in config_dir list: {configs_dir_list}" + assert len(configs_dir_list) == len( + set(configs_dir_list) + ), f"repeating file names not allowed in config_dir list: {configs_dir_list}" - if not file_name.lower().endswith('.yaml'): - file_name = '%s.yaml' % (file_name,) + if not file_name.lower().endswith(".yaml"): + file_name = "%s.yaml" % (file_name,) inheriting = False settings = {} - source_file_paths = include_stack.copy() + if isinstance(include_stack, list): + source_file_paths = include_stack.copy() + else: + source_file_paths = [] for dir in configs_dir_list: file_path = os.path.join(dir, file_name) if os.path.exists(file_path): if inheriting: # we must be inheriting - logger.debug("inheriting additional settings for %s from %s" % (file_name, file_path)) + logger.debug( + "inheriting additional settings for %s from %s" + % (file_name, file_path) + ) inheriting = True - assert file_path not in source_file_paths, \ - f"read_settings_file - recursion in reading 'file_path' after loading: {source_file_paths}" + assert ( + file_path not in source_file_paths + ), f"read_settings_file - recursion in reading 'file_path' after loading: {source_file_paths}" with open(file_path) as f: @@ -445,23 +496,34 @@ def backfill_settings(settings, backfill): # maintain a list of files we read from to improve error message when an expected setting is not found source_file_paths += [file_path] - include_file_name = s.get('include_settings', False) + include_file_name = s.get("include_settings", False) if include_file_name: # FIXME - prevent users from creating borgesian garden of branching paths? # There is a lot of opportunity for confusion if this feature were over-used # Maybe we insist that a file with an include directive is the 'end of the road' # essentially the current settings firle is an alias for the included file if len(s) > 1: - logger.error(f"'include_settings' must appear alone in settings file.") - additional_settings = list(set(s.keys()).difference({'include_settings'})) - logger.error(f"Unexpected additional settings: {additional_settings}") - raise RuntimeError(f"'include_settings' must appear alone in settings file.") - - logger.debug("including settings for %s from %s" % (file_name, include_file_name)) + logger.error( + f"'include_settings' must appear alone in settings file." + ) + additional_settings = list( + set(s.keys()).difference({"include_settings"}) + ) + logger.error( + f"Unexpected additional settings: {additional_settings}" + ) + raise RuntimeError( + f"'include_settings' must appear alone in settings file." + ) + + logger.debug( + "including settings for %s from %s" % (file_name, include_file_name) + ) # recursive call to read included file INSTEAD of the file with include_settings sepcified - s, source_file_paths = \ - read_settings_file(include_file_name, mandatory=True, include_stack=source_file_paths) + s, source_file_paths = read_settings_file( + include_file_name, mandatory=True, include_stack=source_file_paths + ) # FIXME backfill with the included file settings = backfill_settings(settings, s) @@ -469,31 +531,36 @@ def backfill_settings(settings, backfill): # we are done as soon as we read one file successfully # unless if inherit_settings is set to true in this file - if not s.get('inherit_settings', False): + if not s.get("inherit_settings", False): break # if inheriting, continue and backfill settings from the next existing settings file configs_dir_list - inherit_settings = s.get('inherit_settings') + inherit_settings = s.get("inherit_settings") if isinstance(inherit_settings, str): inherit_file_name = inherit_settings - assert os.path.join(dir, inherit_file_name) not in source_file_paths, \ - f"circular inheritance of {inherit_file_name}: {source_file_paths}: " + assert ( + os.path.join(dir, inherit_file_name) not in source_file_paths + ), f"circular inheritance of {inherit_file_name}: {source_file_paths}: " # make a recursive call to switch inheritance chain to specified file - configs_dir_list = None - logger.debug("inheriting additional settings for %s from %s" % (file_name, inherit_file_name)) - s, source_file_paths = \ - read_settings_file(inherit_file_name, mandatory=True, - include_stack=source_file_paths, - configs_dir_list=configs_dir_list) + logger.debug( + "inheriting additional settings for %s from %s" + % (file_name, inherit_file_name) + ) + s, source_file_paths = read_settings_file( + inherit_file_name, + mandatory=True, + include_stack=source_file_paths, + configs_dir_list=configs_dir_list, + ) # backfill with the inherited file settings = backfill_settings(settings, s) break # break the current inheritance chain (not as bad luck as breaking a chain-letter chain?...) if len(source_file_paths) > 0: - settings['source_file_paths'] = source_file_paths + settings["source_file_paths"] = source_file_paths if mandatory and not settings: raise SettingsFileNotFound(file_name, configs_dir_list) @@ -518,10 +585,10 @@ def base_settings_file_path(file_name): path to base settings file or None if not found """ - if not file_name.lower().endswith('.yaml'): - file_name = '%s.yaml' % (file_name, ) + if not file_name.lower().endswith(".yaml"): + file_name = "%s.yaml" % (file_name,) - configs_dir = inject.get_injectable('configs_dir') + configs_dir = inject.get_injectable("configs_dir") configs_dir = [configs_dir] if isinstance(configs_dir, str) else configs_dir for dir in configs_dir: @@ -537,36 +604,47 @@ def filter_warnings(): set warning filter to 'strict' if specified in settings """ - if setting('strict', False): # noqa: E402 - warnings.filterwarnings('error', category=Warning) - warnings.filterwarnings('default', category=PendingDeprecationWarning, module='future') - warnings.filterwarnings('default', category=FutureWarning, module='pandas') - warnings.filterwarnings('default', category=RuntimeWarning, module='numpy') + if setting("strict", False): # noqa: E402 + warnings.filterwarnings("error", category=Warning) + warnings.filterwarnings( + "default", category=PendingDeprecationWarning, module="future" + ) + warnings.filterwarnings("default", category=FutureWarning, module="pandas") + warnings.filterwarnings("default", category=RuntimeWarning, module="numpy") # pandas pytables.py __getitem__ (e.g. df = store['any_string']) # indirectly raises tables DeprecationWarning: tostring() is deprecated. Use tobytes() instead. - warnings.filterwarnings('ignore', category=DeprecationWarning, module='tables', message='tostring') + warnings.filterwarnings( + "ignore", category=DeprecationWarning, module="tables", message="tostring" + ) # File "tables/hdf5extension.pyx", line 1450, in tables.hdf5extension.Array._open_array # DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. # Deprecated in NumPy 1.20; - warnings.filterwarnings('ignore', category=DeprecationWarning, module='tables', - message='`np.object` is a deprecated alias') + warnings.filterwarnings( + "ignore", + category=DeprecationWarning, + module="tables", + message="`np.object` is a deprecated alias", + ) # beginning pandas version 1.3, various places emit a PerformanceWarning that is # caught in the "strict" filter above, but which are currently unavoidable for complex models. # These warning are left as warnings as an invitation for future enhancement. from pandas.errors import PerformanceWarning - warnings.filterwarnings('default', category=PerformanceWarning) + + warnings.filterwarnings("default", category=PerformanceWarning) def handle_standard_args(parser=None): from activitysim.cli import run - warnings.warn('config.handle_standard_args() has been moved to the command line ' - 'module and will be removed in future versions.', - FutureWarning) + warnings.warn( + "config.handle_standard_args() has been moved to the command line " + "module and will be removed in future versions.", + FutureWarning, + ) if parser is None: parser = argparse.ArgumentParser() diff --git a/activitysim/core/expressions.py b/activitysim/core/expressions.py index 05e0b8eb18..a64f66523f 100644 --- a/activitysim/core/expressions.py +++ b/activitysim/core/expressions.py @@ -5,15 +5,9 @@ import numpy as np import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import assign -from activitysim.core import inject -from activitysim.core import simulate - +from activitysim.core import assign, config, inject, simulate, tracing from activitysim.core.util import assign_in_place - logger = logging.getLogger(__name__) @@ -45,31 +39,36 @@ def compute_columns(df, model_settings, locals_dict={}, trace_label=None): if isinstance(model_settings, str): model_settings_name = model_settings - model_settings = config.read_model_settings('%s.yaml' % model_settings) + model_settings = config.read_model_settings("%s.yaml" % model_settings) assert model_settings, "Found no model settings for %s" % model_settings_name else: - model_settings_name = 'dict' + model_settings_name = "dict" assert isinstance(model_settings, dict) - assert 'DF' in model_settings, \ - "Expected to find 'DF' in %s" % model_settings_name + assert "DF" in model_settings, "Expected to find 'DF' in %s" % model_settings_name - df_name = model_settings.get('DF') - helper_table_names = model_settings.get('TABLES', []) - expressions_spec_name = model_settings.get('SPEC', None) + df_name = model_settings.get("DF") + helper_table_names = model_settings.get("TABLES", []) + expressions_spec_name = model_settings.get("SPEC", None) - assert expressions_spec_name is not None, \ + assert expressions_spec_name is not None, ( "Expected to find 'SPEC' in %s" % model_settings_name + ) - trace_label = tracing.extend_trace_label(trace_label or '', expressions_spec_name) + trace_label = tracing.extend_trace_label(trace_label or "", expressions_spec_name) if not expressions_spec_name.endswith(".csv"): - expressions_spec_name = '%s.csv' % expressions_spec_name - logger.debug(f"{trace_label} compute_columns using expression spec file {expressions_spec_name}") - expressions_spec = assign.read_assignment_spec(config.config_file_path(expressions_spec_name)) - - assert expressions_spec.shape[0] > 0, \ + expressions_spec_name = "%s.csv" % expressions_spec_name + logger.debug( + f"{trace_label} compute_columns using expression spec file {expressions_spec_name}" + ) + expressions_spec = assign.read_assignment_spec( + config.config_file_path(expressions_spec_name) + ) + + assert expressions_spec.shape[0] > 0, ( "Expected to find some assignment expressions in %s" % expressions_spec_name + ) tables = {t: inject.get_table(t).to_frame() for t in helper_table_names} @@ -78,28 +77,26 @@ def compute_columns(df, model_settings, locals_dict={}, trace_label=None): tables[df_name] = df # be nice and also give it to them as df? - tables['df'] = df + tables["df"] = df _locals_dict = assign.local_utilities() _locals_dict.update(locals_dict) _locals_dict.update(tables) # FIXME a number of asim model preprocessors want skim_dict - should they request it in model_settings.TABLES? - _locals_dict.update({ - # 'los': inject.get_injectable('network_los', None), - 'skim_dict': inject.get_injectable('skim_dict', None), - }) + _locals_dict.update( + { + # 'los': inject.get_injectable('network_los', None), + "skim_dict": inject.get_injectable("skim_dict", None), + } + ) - results, trace_results, trace_assigned_locals \ - = assign.assign_variables(expressions_spec, - df, - _locals_dict, - trace_rows=tracing.trace_targets(df)) + results, trace_results, trace_assigned_locals = assign.assign_variables( + expressions_spec, df, _locals_dict, trace_rows=tracing.trace_targets(df) + ) if trace_results is not None: - tracing.trace_df(trace_results, - label=trace_label, - slicer='NONE') + tracing.trace_df(trace_results, label=trace_label, slicer="NONE") if trace_assigned_locals: tracing.write_csv(trace_assigned_locals, file_name="%s_locals" % trace_label) @@ -130,15 +127,13 @@ def assign_columns(df, model_settings, locals_dict={}, trace_label=None): # ################################################################################################## -def annotate_preprocessors( - df, locals_dict, skims, - model_settings, trace_label): +def annotate_preprocessors(df, locals_dict, skims, model_settings, trace_label): locals_d = {} locals_d.update(locals_dict) locals_d.update(skims) - preprocessor_settings = model_settings.get('preprocessor', []) + preprocessor_settings = model_settings.get("preprocessor", []) if not isinstance(preprocessor_settings, list): assert isinstance(preprocessor_settings, dict) preprocessor_settings = [preprocessor_settings] @@ -151,7 +146,8 @@ def annotate_preprocessors( df=df, model_settings=model_settings, locals_dict=locals_d, - trace_label=trace_label) + trace_label=trace_label, + ) assign_in_place(df, results) diff --git a/activitysim/core/inject.py b/activitysim/core/inject.py index da221b284b..6e2e9d5fa1 100644 --- a/activitysim/core/inject.py +++ b/activitysim/core/inject.py @@ -11,37 +11,38 @@ # we want to allow None (any anyting else) as a default value, so just choose an improbable string -_NO_DEFAULT = 'throw error if missing' +_NO_DEFAULT = "throw error if missing" logger = logging.getLogger(__name__) def step(): - def decorator(func): name = func.__name__ logger.debug("inject step %s" % name) - assert not _DECORATED_STEPS.get(name, False), \ + assert not _DECORATED_STEPS.get(name, False), ( "step '%s' already decorated." % name + ) _DECORATED_STEPS[name] = func orca.add_step(name, func) return func + return decorator def table(): - def decorator(func): name = func.__name__ logger.debug("inject table %s" % name) - assert not _DECORATED_TABLES.get(name, False), \ + assert not _DECORATED_TABLES.get(name, False), ( "table '%s' already decorated." % name + ) _DECORATED_TABLES[name] = func orca.add_table(name, func) @@ -58,14 +59,16 @@ def decorator(func): logger.debug("inject injectable %s" % name) # insist on explicit override to ensure multiple definitions occur in correct order - assert override or not _DECORATED_INJECTABLES.get(name, False), \ + assert override or not _DECORATED_INJECTABLES.get(name, False), ( "injectable '%s' already defined. not overridden" % name + ) - _DECORATED_INJECTABLES[name] = {'func': func, 'cache': cache} + _DECORATED_INJECTABLES[name] = {"func": func, "cache": cache} orca.add_injectable(name, func, cache=cache) return func + return decorator @@ -82,7 +85,11 @@ def add_table(table_name, table, replace=False): Add new table and raise assertion error if the table already exists. Silently replace if replace=True. """ - if not replace and orca.is_table(table_name) and orca.table_type(table_name) == 'dataframe': + if ( + not replace + and orca.is_table(table_name) + and orca.table_type(table_name) == "dataframe" + ): logger.warning("inject add_table replacing existing table %s" % table_name) assert False @@ -99,10 +106,17 @@ def add_injectable(name, injectable, cache=False): return orca.add_injectable(name, injectable, cache=cache) -def broadcast(cast, onto, cast_on=None, onto_on=None, cast_index=False, onto_index=False): - return orca.broadcast(cast, onto, - cast_on=cast_on, onto_on=onto_on, - cast_index=cast_index, onto_index=onto_index) +def broadcast( + cast, onto, cast_on=None, onto_on=None, cast_index=False, onto_index=False +): + return orca.broadcast( + cast, + onto, + cast_on=cast_on, + onto_on=onto_on, + cast_index=cast_index, + onto_index=onto_index, + ) def get_table(name, default=_NO_DEFAULT): @@ -151,11 +165,11 @@ def reinject_decorated_tables(): for column_key, args in _DECORATED_COLUMNS.items(): table_name, column_name = column_key logger.debug("reinject decorated column %s.%s" % (table_name, column_name)) - orca.add_column(table_name, column_name, args['func'], cache=args['cache']) + orca.add_column(table_name, column_name, args["func"], cache=args["cache"]) for name, args in _DECORATED_INJECTABLES.items(): logger.debug("reinject decorated injectable %s" % name) - orca.add_injectable(name, args['func'], cache=args['cache']) + orca.add_injectable(name, args["func"], cache=args["cache"]) def clear_cache(): @@ -165,12 +179,12 @@ def clear_cache(): def set_step_args(args=None): assert isinstance(args, dict) or args is None - orca.add_injectable('step_args', args) + orca.add_injectable("step_args", args) def get_step_arg(arg_name, default=_NO_DEFAULT): - args = orca.get_injectable('step_args') + args = orca.get_injectable("step_args") assert isinstance(args, dict) if arg_name not in args and default == _NO_DEFAULT: diff --git a/activitysim/core/input.py b/activitysim/core/input.py index 3ae3fd806a..73183f3e91 100644 --- a/activitysim/core/input.py +++ b/activitysim/core/input.py @@ -2,23 +2,18 @@ # See full license in LICENSE.txt. import logging -import warnings import os +import warnings import pandas as pd -from activitysim.core import ( - inject, - config, - util, -) -from activitysim.core import mem +from activitysim.core import config, inject, mem, util logger = logging.getLogger(__name__) def canonical_table_index_name(table_name): - table_index_names = inject.get_injectable('canonical_table_index_names', None) + table_index_names = inject.get_injectable("canonical_table_index_names", None) return table_index_names and table_index_names.get(table_name, None) @@ -35,19 +30,21 @@ def read_input_table(tablename, required=True): ------- pandas DataFrame """ - table_list = config.setting('input_table_list') - assert table_list is not None, 'no input_table_list found in settings' + table_list = config.setting("input_table_list") + assert table_list is not None, "no input_table_list found in settings" table_info = None for info in table_list: - if info['tablename'] == tablename: + if info["tablename"] == tablename: table_info = info if table_info is not None: df = read_from_table_info(table_info) else: if required: - raise RuntimeError(f"could not find info for for tablename {tablename} in settings file") + raise RuntimeError( + f"could not find info for for tablename {tablename} in settings file" + ) df = None return df @@ -78,17 +75,17 @@ def read_from_table_info(table_info): +--------------+----------------------------------------------------------+ """ - input_store = config.setting('input_store', None) - create_input_store = config.setting('create_input_store', default=False) - - tablename = table_info.get('tablename') - data_filename = table_info.get('filename', input_store) - h5_tablename = table_info.get('h5_tablename') or tablename - drop_columns = table_info.get('drop_columns', None) - column_map = table_info.get('column_map', None) - keep_columns = table_info.get('keep_columns', None) - rename_columns = table_info.get('rename_columns', None) - csv_dtypes = table_info.get('dtypes', {}) + input_store = config.setting("input_store", None) + create_input_store = config.setting("create_input_store", default=False) + + tablename = table_info.get("tablename") + data_filename = table_info.get("filename", input_store) + h5_tablename = table_info.get("h5_tablename") or tablename + drop_columns = table_info.get("drop_columns", None) + column_map = table_info.get("column_map", None) + keep_columns = table_info.get("keep_columns", None) + rename_columns = table_info.get("rename_columns", None) + csv_dtypes = table_info.get("dtypes", {}) # don't require a redundant index_col directive for canonical tables # but allow explicit disabling of assignment of index col for canonical tables, in which case, presumably, @@ -96,19 +93,22 @@ def read_from_table_info(table_info): canonical_index_col = canonical_table_index_name(tablename) # if there is an explicit index_col entry in table_info - if 'index_col' in table_info: + if "index_col" in table_info: # honor explicit index_col unless it conflicts with canonical name - index_col = table_info['index_col'] + index_col = table_info["index_col"] if canonical_index_col: if index_col: # if there is a non-empty index_col directive, it should be for canonical_table_index_name - assert index_col == canonical_index_col, \ - f"{tablename} index_col {table_info.get('index_col')} should be {index_col}" + assert ( + index_col == canonical_index_col + ), f"{tablename} index_col {table_info.get('index_col')} should be {index_col}" else: - logger.info(f"Not assigning canonical index_col {tablename}.{canonical_index_col} " - f"because settings file index_col directive is explicitly None.") + logger.info( + f"Not assigning canonical index_col {tablename}.{canonical_index_col} " + f"because settings file index_col directive is explicitly None." + ) # if there is an index_col directive for a canonical table, it should be for canonical_table_index_name @@ -116,34 +116,38 @@ def read_from_table_info(table_info): # otherwise default is to use canonical index name for known tables, and no index for unknown tables index_col = canonical_index_col - assert tablename is not None, 'no tablename provided' - assert data_filename is not None, 'no input file provided' + assert tablename is not None, "no tablename provided" + assert data_filename is not None, "no input file provided" data_file_path = config.data_file_path(data_filename) - df = _read_input_file(data_file_path, h5_tablename=h5_tablename, csv_dtypes=csv_dtypes) + df = _read_input_file( + data_file_path, h5_tablename=h5_tablename, csv_dtypes=csv_dtypes + ) # logger.debug('raw %s table columns: %s' % (tablename, df.columns.values)) - logger.debug('raw %s table size: %s' % (tablename, util.df_size(df))) + logger.debug("raw %s table size: %s" % (tablename, util.df_size(df))) if create_input_store: - h5_filepath = config.output_file_path('input_data.h5') - logger.info('writing %s to %s' % (h5_tablename, h5_filepath)) - df.to_hdf(h5_filepath, key=h5_tablename, mode='a') + h5_filepath = config.output_file_path("input_data.h5") + logger.info("writing %s to %s" % (h5_tablename, h5_filepath)) + df.to_hdf(h5_filepath, key=h5_tablename, mode="a") - csv_dir = config.output_file_path('input_data') + csv_dir = config.output_file_path("input_data") if not os.path.exists(csv_dir): os.makedirs(csv_dir) # make directory if needed - df.to_csv(os.path.join(csv_dir, '%s.csv' % tablename), index=False) + df.to_csv(os.path.join(csv_dir, "%s.csv" % tablename), index=False) if drop_columns: logger.debug("dropping columns: %s" % drop_columns) - df.drop(columns=drop_columns, inplace=True, errors='ignore') + df.drop(columns=drop_columns, inplace=True, errors="ignore") if column_map: - warnings.warn("table_inf option 'column_map' renamed 'rename_columns'" - "Support for 'column_map' will be removed in future versions.", - FutureWarning) + warnings.warn( + "table_inf option 'column_map' renamed 'rename_columns'" + "Support for 'column_map' will be removed in future versions.", + FutureWarning, + ) logger.debug("renaming columns: %s" % column_map) df.rename(columns=column_map, inplace=True) @@ -158,52 +162,62 @@ def read_from_table_info(table_info): assert not df.duplicated(index_col).any() if canonical_index_col: # we expect canonical indexes to be integer-valued - assert (df[index_col] == df[index_col].astype(int)).all(), \ - f"Index col '{index_col}' has non-integer values" + assert ( + df[index_col] == df[index_col].astype(int) + ).all(), f"Index col '{index_col}' has non-integer values" df[index_col] = df[index_col].astype(int) df.set_index(index_col, inplace=True) else: # FIXME not sure we want to do this. More likely they omitted index col than that they want to name it? # df.index.names = [index_col] - logger.error(f"index_col '{index_col}' specified in configs but not in {tablename} table!") + logger.error( + f"index_col '{index_col}' specified in configs but not in {tablename} table!" + ) logger.error(f"{tablename} columns are: {list(df.columns)}") raise RuntimeError(f"index_col '{index_col}' not in {tablename} table!") if keep_columns: logger.debug("keeping columns: %s" % keep_columns) if not set(keep_columns).issubset(set(df.columns)): - logger.error(f"Required columns missing from {tablename} table: " - f"{list(set(keep_columns).difference(set(df.columns)))}") + logger.error( + f"Required columns missing from {tablename} table: " + f"{list(set(keep_columns).difference(set(df.columns)))}" + ) logger.error(f"{tablename} table has columns: {list(df.columns)}") raise RuntimeError(f"Required columns missing from {tablename} table") df = df[keep_columns] if df.columns.duplicated().any(): - duplicate_column_names = df.columns[df.columns.duplicated(keep=False)].unique().to_list() - assert not df.columns.duplicated().any(), f"duplicate columns names in {tablename}: {duplicate_column_names}" + duplicate_column_names = ( + df.columns[df.columns.duplicated(keep=False)].unique().to_list() + ) + assert ( + not df.columns.duplicated().any() + ), f"duplicate columns names in {tablename}: {duplicate_column_names}" - logger.debug('%s table columns: %s' % (tablename, df.columns.values)) - logger.debug('%s table size: %s' % (tablename, util.df_size(df))) - logger.debug('%s index name: %s' % (tablename, df.index.name)) + logger.debug("%s table columns: %s" % (tablename, df.columns.values)) + logger.debug("%s table size: %s" % (tablename, util.df_size(df))) + logger.debug("%s index name: %s" % (tablename, df.index.name)) return df def _read_input_file(filepath, h5_tablename=None, csv_dtypes=None): - assert os.path.exists(filepath), 'input file not found: %s' % filepath + assert os.path.exists(filepath), "input file not found: %s" % filepath - if filepath.endswith('.csv'): + if filepath.endswith(".csv") or filepath.endswith(".csv.gz"): return _read_csv_with_fallback_encoding(filepath, csv_dtypes) - if filepath.endswith('.h5'): - assert h5_tablename is not None, 'must provide a tablename to read HDF5 table' - logger.info('reading %s table from %s' % (h5_tablename, filepath)) + if filepath.endswith(".h5"): + assert h5_tablename is not None, "must provide a tablename to read HDF5 table" + logger.info("reading %s table from %s" % (h5_tablename, filepath)) return pd.read_hdf(filepath, h5_tablename) raise IOError( - 'Unsupported file type: %s. ' - 'ActivitySim supports CSV and HDF5 files only' % filepath) + "Unsupported file type: %s. " + "ActivitySim supports CSV and HDF5 files only" % filepath + ) def _read_csv_with_fallback_encoding(filepath, dtypes=None): @@ -213,12 +227,14 @@ def _read_csv_with_fallback_encoding(filepath, dtypes=None): """ try: - logger.info('Reading CSV file %s' % filepath) - df = pd.read_csv(filepath, comment='#', dtype=dtypes) + logger.info("Reading CSV file %s" % filepath) + df = pd.read_csv(filepath, comment="#", dtype=dtypes) except UnicodeDecodeError: logger.warning( - 'Reading %s with default utf-8 encoding failed, trying cp1252 instead', filepath) - df = pd.read_csv(filepath, comment='#', encoding='cp1252', dtype=dtypes) + "Reading %s with default utf-8 encoding failed, trying cp1252 instead", + filepath, + ) + df = pd.read_csv(filepath, comment="#", encoding="cp1252", dtype=dtypes) if dtypes: # although the dtype argument suppresses the DtypeWarning, it does not coerce recognized types (e.g. int) diff --git a/activitysim/core/interaction_sample.py b/activitysim/core/interaction_sample.py index d792401dc2..6d5d87edf3 100644 --- a/activitysim/core/interaction_sample.py +++ b/activitysim/core/interaction_sample.py @@ -1,33 +1,30 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - import logging - +from builtins import range from math import ceil + import numpy as np import pandas as pd -from . import logit -from . import tracing -from . import chunk +from . import chunk, interaction_simulate, logit, pipeline, tracing from .simulate import set_skim_wrapper_targets - -from . import interaction_simulate -from . import pipeline - logger = logging.getLogger(__name__) DUMP = False def make_sample_choices( - choosers, probs, - alternatives, - sample_size, alternative_count, alt_col_name, - allow_zero_probs, - trace_label): + choosers, + probs, + alternatives, + sample_size, + alternative_count, + alt_col_name, + allow_zero_probs, + trace_label, +): """ Parameters @@ -55,21 +52,23 @@ def make_sample_choices( assert len(alternatives) == alternative_count if allow_zero_probs: - zero_probs = (probs.sum(axis=1) == 0) + zero_probs = probs.sum(axis=1) == 0 if zero_probs.all(): - return pd.DataFrame(columns=[alt_col_name, 'rand', 'prob', choosers.index.name]) + return pd.DataFrame( + columns=[alt_col_name, "rand", "prob", choosers.index.name] + ) if zero_probs.any(): # remove from sample probs = probs[~zero_probs] choosers = choosers[~zero_probs] cum_probs_array = probs.values.cumsum(axis=1) - chunk.log_df(trace_label, 'cum_probs_array', cum_probs_array) + chunk.log_df(trace_label, "cum_probs_array", cum_probs_array) # alt probs in convenient layout to return prob of chose alternative # (same layout as cum_probs_arr) alt_probs_array = probs.values.flatten() - chunk.log_df(trace_label, 'alt_probs_array', alt_probs_array) + chunk.log_df(trace_label, "alt_probs_array", alt_probs_array) # get sample_size rands for each chooser rands = pipeline.get_rn_generator().random_for_df(probs, n=sample_size) @@ -78,12 +77,14 @@ def make_sample_choices( # reshape so rands[i] is in broadcastable (2-D) shape for cum_probs_arr # i.e rands[i] is a 2-D array of one alt choice rand for each chooser rands = rands.T.reshape(sample_size, -1, 1) - chunk.log_df(trace_label, 'rands', rands) + chunk.log_df(trace_label, "rands", rands) # the alternative value chosen # WHY SHOULD CHOICES COL HAVE TO BE TYPE INT??? # choices_array = np.empty([sample_size, len(choosers)]).astype(int) - choices_array = np.empty([sample_size, len(choosers)]).astype(alternatives.index.dtype) + choices_array = np.empty([sample_size, len(choosers)]).astype( + alternatives.index.dtype + ) # chunk log these later after we populate them... # the probability of the chosen alternative @@ -91,7 +92,7 @@ def make_sample_choices( # chunk log these later after we populate them... alts = np.tile(alternatives.index.values, len(choosers)) - chunk.log_df(trace_label, 'alts', alts) + chunk.log_df(trace_label, "alts", alts) # FIXME - do this all at once rather than iterate? for i in range(sample_size): @@ -123,47 +124,53 @@ def make_sample_choices( del positions del offsets - chunk.log_df(trace_label, 'choices_array', choices_array) - chunk.log_df(trace_label, 'choice_probs_array', choice_probs_array) + chunk.log_df(trace_label, "choices_array", choices_array) + chunk.log_df(trace_label, "choice_probs_array", choice_probs_array) del alts - chunk.log_df(trace_label, 'alts', None) + chunk.log_df(trace_label, "alts", None) del cum_probs_array - chunk.log_df(trace_label, 'cum_probs_array', None) + chunk.log_df(trace_label, "cum_probs_array", None) del alt_probs_array - chunk.log_df(trace_label, 'alt_probs_array', None) + chunk.log_df(trace_label, "alt_probs_array", None) # explode to one row per chooser.index, alt_zone_id choices_df = pd.DataFrame( - {alt_col_name: choices_array.flatten(order='F'), - 'rand': rands.flatten(order='F'), - 'prob': choice_probs_array.flatten(order='F'), - choosers.index.name: np.repeat(np.asanyarray(choosers.index), sample_size) - }) + { + alt_col_name: choices_array.flatten(order="F"), + "rand": rands.flatten(order="F"), + "prob": choice_probs_array.flatten(order="F"), + choosers.index.name: np.repeat(np.asanyarray(choosers.index), sample_size), + } + ) - chunk.log_df(trace_label, 'choices_df', choices_df) + chunk.log_df(trace_label, "choices_df", choices_df) del choices_array - chunk.log_df(trace_label, 'choices_array', None) + chunk.log_df(trace_label, "choices_array", None) del rands - chunk.log_df(trace_label, 'rands', None) + chunk.log_df(trace_label, "rands", None) del choice_probs_array - chunk.log_df(trace_label, 'choice_probs_array', None) + chunk.log_df(trace_label, "choice_probs_array", None) # handing this off to caller - chunk.log_df(trace_label, 'choices_df', None) + chunk.log_df(trace_label, "choices_df", None) return choices_df def _interaction_sample( - choosers, alternatives, - spec, sample_size, alt_col_name, - allow_zero_probs=False, - log_alt_losers=False, - skims=None, - locals_d=None, - trace_label=None): + choosers, + alternatives, + spec, + sample_size, + alt_col_name, + allow_zero_probs=False, + log_alt_losers=False, + skims=None, + locals_d=None, + trace_label=None, +): """ Run a MNL simulation in the situation in which alternatives must be merged with choosers because there are interaction terms or @@ -225,12 +232,16 @@ def _interaction_sample( assert num_choosers > 0 if have_trace_targets: - tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, 'choosers')) - tracing.trace_df(alternatives, tracing.extend_trace_label(trace_label, 'alternatives'), - slicer='NONE', transpose=False) + tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, "choosers")) + tracing.trace_df( + alternatives, + tracing.extend_trace_label(trace_label, "alternatives"), + slicer="NONE", + transpose=False, + ) if len(spec.columns) > 1: - raise RuntimeError('spec must have only one column') + raise RuntimeError("spec must have only one column") # if using skims, copy index into the dataframe, so it will be # available as the "destination" for set_skim_wrapper_targets @@ -244,11 +255,14 @@ def _interaction_sample( # for every chooser, there will be a row for each alternative # index values (non-unique) are from alternatives df alternative_count = alternatives.shape[0] - interaction_df = \ - logit.interaction_dataset(choosers, alternatives, sample_size=alternative_count, - chooser_index_id=chooser_index_id) + interaction_df = logit.interaction_dataset( + choosers, + alternatives, + sample_size=alternative_count, + chooser_index_id=chooser_index_id, + ) - chunk.log_df(trace_label, 'interaction_df', interaction_df) + chunk.log_df(trace_label, "interaction_df", interaction_df) assert alternative_count == len(interaction_df.index) / len(choosers.index) @@ -261,93 +275,132 @@ def _interaction_sample( # utilities has utility value for element in the cross product of choosers and alternatives # interaction_utilities is a df with one utility column and one row per row in interaction_df if have_trace_targets: - trace_rows, trace_ids \ - = tracing.interaction_trace_rows(interaction_df, choosers, alternative_count) - - tracing.trace_df(interaction_df[trace_rows], - tracing.extend_trace_label(trace_label, 'interaction_df'), - slicer='NONE', transpose=False) + trace_rows, trace_ids = tracing.interaction_trace_rows( + interaction_df, choosers, alternative_count + ) + + tracing.trace_df( + interaction_df[trace_rows], + tracing.extend_trace_label(trace_label, "interaction_df"), + slicer="NONE", + transpose=False, + ) else: trace_rows = trace_ids = None # interaction_utilities is a df with one utility column and one row per interaction_df row - interaction_utilities, trace_eval_results \ - = interaction_simulate.eval_interaction_utilities(spec, interaction_df, locals_d, trace_label, trace_rows, - estimator=None, - log_alt_losers=log_alt_losers) - chunk.log_df(trace_label, 'interaction_utilities', interaction_utilities) + ( + interaction_utilities, + trace_eval_results, + ) = interaction_simulate.eval_interaction_utilities( + spec, + interaction_df, + locals_d, + trace_label, + trace_rows, + estimator=None, + log_alt_losers=log_alt_losers, + ) + chunk.log_df(trace_label, "interaction_utilities", interaction_utilities) # ########### HWM - high water mark (point of max observed memory usage) del interaction_df - chunk.log_df(trace_label, 'interaction_df', None) + chunk.log_df(trace_label, "interaction_df", None) if have_trace_targets: - tracing.trace_interaction_eval_results(trace_eval_results, trace_ids, - tracing.extend_trace_label(trace_label, 'eval')) + tracing.trace_interaction_eval_results( + trace_eval_results, + trace_ids, + tracing.extend_trace_label(trace_label, "eval"), + ) - tracing.trace_df(interaction_utilities[trace_rows], - tracing.extend_trace_label(trace_label, 'interaction_utilities'), - slicer='NONE', transpose=False) + tracing.trace_df( + interaction_utilities[trace_rows], + tracing.extend_trace_label(trace_label, "interaction_utilities"), + slicer="NONE", + transpose=False, + ) - tracing.dump_df(DUMP, interaction_utilities, trace_label, 'interaction_utilities') + tracing.dump_df(DUMP, interaction_utilities, trace_label, "interaction_utilities") # reshape utilities (one utility column and one row per row in interaction_utilities) # to a dataframe with one row per chooser and one column per alternative utilities = pd.DataFrame( interaction_utilities.values.reshape(len(choosers), alternative_count), - index=choosers.index) - chunk.log_df(trace_label, 'utilities', utilities) + index=choosers.index, + ) + chunk.log_df(trace_label, "utilities", utilities) del interaction_utilities - chunk.log_df(trace_label, 'interaction_utilities', None) + chunk.log_df(trace_label, "interaction_utilities", None) if have_trace_targets: - tracing.trace_df(utilities, tracing.extend_trace_label(trace_label, 'utils'), - column_labels=['alternative', 'utility']) + tracing.trace_df( + utilities, + tracing.extend_trace_label(trace_label, "utils"), + column_labels=["alternative", "utility"], + ) - tracing.dump_df(DUMP, utilities, trace_label, 'utilities') + tracing.dump_df(DUMP, utilities, trace_label, "utilities") # convert to probabilities (utilities exponentiated and normalized to probs) # probs is same shape as utilities, one row per chooser and one column for alternative - probs = logit.utils_to_probs(utilities, allow_zero_probs=allow_zero_probs, - trace_label=trace_label, trace_choosers=choosers) - chunk.log_df(trace_label, 'probs', probs) + probs = logit.utils_to_probs( + utilities, + allow_zero_probs=allow_zero_probs, + trace_label=trace_label, + trace_choosers=choosers, + ) + chunk.log_df(trace_label, "probs", probs) del utilities - chunk.log_df(trace_label, 'utilities', None) + chunk.log_df(trace_label, "utilities", None) if have_trace_targets: - tracing.trace_df(probs, tracing.extend_trace_label(trace_label, 'probs'), - column_labels=['alternative', 'probability']) + tracing.trace_df( + probs, + tracing.extend_trace_label(trace_label, "probs"), + column_labels=["alternative", "probability"], + ) if sample_size == 0: # FIXME return full alternative set rather than sample - logger.info("Estimation mode for %s using unsampled alternatives" % (trace_label, )) + logger.info( + "Estimation mode for %s using unsampled alternatives" % (trace_label,) + ) index_name = probs.index.name - choices_df = \ - pd.melt(probs.reset_index(), id_vars=[index_name])\ - .sort_values(by=index_name, kind='mergesort')\ - .set_index(index_name)\ - .rename(columns={'value': 'prob'})\ - .drop(columns='variable') - - choices_df['pick_count'] = 1 - choices_df.insert(0, alt_col_name, np.tile(alternatives.index.values, len(choosers.index))) + choices_df = ( + pd.melt(probs.reset_index(), id_vars=[index_name]) + .sort_values(by=index_name, kind="mergesort") + .set_index(index_name) + .rename(columns={"value": "prob"}) + .drop(columns="variable") + ) + + choices_df["pick_count"] = 1 + choices_df.insert( + 0, alt_col_name, np.tile(alternatives.index.values, len(choosers.index)) + ) return choices_df else: choices_df = make_sample_choices( - choosers, probs, alternatives, - sample_size, alternative_count, alt_col_name, + choosers, + probs, + alternatives, + sample_size, + alternative_count, + alt_col_name, allow_zero_probs=allow_zero_probs, - trace_label=trace_label) + trace_label=trace_label, + ) - chunk.log_df(trace_label, 'choices_df', choices_df) + chunk.log_df(trace_label, "choices_df", choices_df) del probs - chunk.log_df(trace_label, 'probs', None) + chunk.log_df(trace_label, "probs", None) # pick_count and pick_dup # pick_count is number of duplicate picks @@ -355,47 +408,56 @@ def _interaction_sample( pick_group = choices_df.groupby([choosers.index.name, alt_col_name]) # number each item in each group from 0 to the length of that group - 1. - choices_df['pick_count'] = pick_group.cumcount(ascending=True) + choices_df["pick_count"] = pick_group.cumcount(ascending=True) # flag duplicate rows after first - choices_df['pick_dup'] = choices_df['pick_count'] > 0 + choices_df["pick_dup"] = choices_df["pick_count"] > 0 # add reverse cumcount to get total pick_count (conveniently faster than groupby.count + merge) - choices_df['pick_count'] += pick_group.cumcount(ascending=False) + 1 + choices_df["pick_count"] += pick_group.cumcount(ascending=False) + 1 # drop the duplicates - choices_df = choices_df[~choices_df['pick_dup']] - del choices_df['pick_dup'] - chunk.log_df(trace_label, 'choices_df', choices_df) + choices_df = choices_df[~choices_df["pick_dup"]] + del choices_df["pick_dup"] + chunk.log_df(trace_label, "choices_df", choices_df) # set index after groupby so we can trace on it choices_df.set_index(choosers.index.name, inplace=True) - tracing.dump_df(DUMP, choices_df, trace_label, 'choices_df') + tracing.dump_df(DUMP, choices_df, trace_label, "choices_df") if have_trace_targets: - tracing.trace_df(choices_df, - tracing.extend_trace_label(trace_label, 'sampled_alternatives'), - transpose=False, - column_labels=['sample_alt', 'alternative']) + tracing.trace_df( + choices_df, + tracing.extend_trace_label(trace_label, "sampled_alternatives"), + transpose=False, + column_labels=["sample_alt", "alternative"], + ) # don't need this after tracing - del choices_df['rand'] - chunk.log_df(trace_label, 'choices_df', choices_df) + del choices_df["rand"] + chunk.log_df(trace_label, "choices_df", choices_df) # - NARROW - choices_df['prob'] = choices_df['prob'].astype(np.float32) - assert (choices_df['pick_count'].max() < 4294967295) or (choices_df.empty) - choices_df['pick_count'] = choices_df['pick_count'].astype(np.uint32) + choices_df["prob"] = choices_df["prob"].astype(np.float32) + assert (choices_df["pick_count"].max() < 4294967295) or (choices_df.empty) + choices_df["pick_count"] = choices_df["pick_count"].astype(np.uint32) return choices_df def interaction_sample( - choosers, alternatives, spec, sample_size, - alt_col_name, - allow_zero_probs=False, - log_alt_losers=False, - skims=None, locals_d=None, chunk_size=0, chunk_tag=None, - trace_label=None): + choosers, + alternatives, + spec, + sample_size, + alt_col_name, + allow_zero_probs=False, + log_alt_losers=False, + skims=None, + locals_d=None, + chunk_size=0, + chunk_tag=None, + trace_label=None, +): """ Run a simulation in the situation in which alternatives must @@ -453,7 +515,7 @@ def interaction_sample( number of duplicate picks for chooser, alt """ - trace_label = tracing.extend_trace_label(trace_label, 'interaction_sample') + trace_label = tracing.extend_trace_label(trace_label, "interaction_sample") chunk_tag = chunk_tag or trace_label # we return alternatives ordered in (index, alt_col_name) @@ -465,24 +527,28 @@ def interaction_sample( sample_size = min(sample_size, len(alternatives.index)) result_list = [] - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(choosers, chunk_size, trace_label, chunk_tag): - - choices = _interaction_sample(chooser_chunk, alternatives, - spec=spec, - sample_size=sample_size, - alt_col_name=alt_col_name, - allow_zero_probs=allow_zero_probs, - log_alt_losers=log_alt_losers, - skims=skims, - locals_d=locals_d, - trace_label=chunk_trace_label) + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + choosers, chunk_size, trace_label, chunk_tag + ): + + choices = _interaction_sample( + chooser_chunk, + alternatives, + spec=spec, + sample_size=sample_size, + alt_col_name=alt_col_name, + allow_zero_probs=allow_zero_probs, + log_alt_losers=log_alt_losers, + skims=skims, + locals_d=locals_d, + trace_label=chunk_trace_label, + ) if choices.shape[0] > 0: # might not be any if allow_zero_probs result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: @@ -490,9 +556,11 @@ def interaction_sample( if len(result_list) > 1: choices = pd.concat(result_list) - assert allow_zero_probs or (len(choosers.index) == len(np.unique(choices.index.values))) + assert allow_zero_probs or ( + len(choosers.index) == len(np.unique(choices.index.values)) + ) # keep alts in canonical order so choices based on their probs are stable across runs - choices = choices.sort_values(by=alt_col_name).sort_index(kind='mergesort') + choices = choices.sort_values(by=alt_col_name).sort_index(kind="mergesort") return choices diff --git a/activitysim/core/interaction_sample_simulate.py b/activitysim/core/interaction_sample_simulate.py index 9f7a275ba5..776df91d47 100644 --- a/activitysim/core/interaction_sample_simulate.py +++ b/activitysim/core/interaction_sample_simulate.py @@ -5,24 +5,27 @@ import numpy as np import pandas as pd -from . import logit -from . import tracing -from . import chunk +from . import chunk, interaction_simulate, logit, tracing from .simulate import set_skim_wrapper_targets -from . import interaction_simulate - logger = logging.getLogger(__name__) def _interaction_sample_simulate( - choosers, alternatives, spec, - choice_column, - allow_zero_probs, zero_prob_choice_val, log_alt_losers, - want_logsums, - skims, locals_d, - trace_label, trace_choice_name, - estimator): + choosers, + alternatives, + spec, + choice_column, + allow_zero_probs, + zero_prob_choice_val, + log_alt_losers, + want_logsums, + skims, + locals_d, + trace_label, + trace_choice_name, + estimator, +): """ Run a MNL simulation in the situation in which alternatives must @@ -88,17 +91,22 @@ def _interaction_sample_simulate( # this is the more general check (not requiring is_monotonic_increasing) last_repeat = alternatives.index != np.roll(alternatives.index, -1) - assert (choosers.shape[0] == 1) or choosers.index.equals(alternatives.index[last_repeat]) + assert (choosers.shape[0] == 1) or choosers.index.equals( + alternatives.index[last_repeat] + ) have_trace_targets = tracing.has_trace_targets(choosers) if have_trace_targets: - tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, 'choosers')) - tracing.trace_df(alternatives, tracing.extend_trace_label(trace_label, 'alternatives'), - transpose=False) + tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, "choosers")) + tracing.trace_df( + alternatives, + tracing.extend_trace_label(trace_label, "alternatives"), + transpose=False, + ) if len(spec.columns) > 1: - raise RuntimeError('spec must have only one column') + raise RuntimeError("spec must have only one column") # if using skims, copy index into the dataframe, so it will be # available as the "destination" for the skims dereference below @@ -115,21 +123,25 @@ def _interaction_sample_simulate( # so we just need to left join alternatives with choosers assert alternatives.index.name == choosers.index.name - interaction_df = alternatives.join(choosers, how='left', rsuffix='_chooser') + interaction_df = alternatives.join(choosers, how="left", rsuffix="_chooser") if log_alt_losers: # logit.interaction_dataset adds ALT_CHOOSER_ID column if log_alt_losers is True # to enable detection of zero_prob-driving utils (e.g. -999 for all alts in a chooser) - interaction_df[interaction_simulate.ALT_CHOOSER_ID] = interaction_df.index.values + interaction_df[ + interaction_simulate.ALT_CHOOSER_ID + ] = interaction_df.index.values - chunk.log_df(trace_label, 'interaction_df', interaction_df) + chunk.log_df(trace_label, "interaction_df", interaction_df) if have_trace_targets: trace_rows, trace_ids = tracing.interaction_trace_rows(interaction_df, choosers) - tracing.trace_df(interaction_df, - tracing.extend_trace_label(trace_label, 'interaction_df'), - transpose=False) + tracing.trace_df( + interaction_df, + tracing.extend_trace_label(trace_label, "interaction_df"), + transpose=False, + ) else: trace_rows = trace_ids = None @@ -141,21 +153,35 @@ def _interaction_sample_simulate( # column names of choosers match spec index values # utilities has utility value for element in the cross product of choosers and alternatives # interaction_utilities is a df with one utility column and one row per row in alternative - interaction_utilities, trace_eval_results \ - = interaction_simulate.eval_interaction_utilities(spec, interaction_df, locals_d, trace_label, trace_rows, - estimator=estimator, log_alt_losers=log_alt_losers) - chunk.log_df(trace_label, 'interaction_utilities', interaction_utilities) + ( + interaction_utilities, + trace_eval_results, + ) = interaction_simulate.eval_interaction_utilities( + spec, + interaction_df, + locals_d, + trace_label, + trace_rows, + estimator=estimator, + log_alt_losers=log_alt_losers, + ) + chunk.log_df(trace_label, "interaction_utilities", interaction_utilities) del interaction_df - chunk.log_df(trace_label, 'interaction_df', None) + chunk.log_df(trace_label, "interaction_df", None) if have_trace_targets: - tracing.trace_interaction_eval_results(trace_eval_results, trace_ids, - tracing.extend_trace_label(trace_label, 'eval')) - - tracing.trace_df(interaction_utilities, - tracing.extend_trace_label(trace_label, 'interaction_utilities'), - transpose=False) + tracing.trace_interaction_eval_results( + trace_eval_results, + trace_ids, + tracing.extend_trace_label(trace_label, "eval"), + ) + + tracing.trace_df( + interaction_utilities, + tracing.extend_trace_label(trace_label, "interaction_utilities"), + transpose=False, + ) # reshape utilities (one utility column and one row per row in model_design) # to a dataframe with one row per chooser and one column per alternative @@ -163,8 +189,10 @@ def _interaction_sample_simulate( # so we need to pad with dummy utilities so low that they are never chosen # number of samples per chooser - sample_counts = interaction_utilities.groupby(interaction_utilities.index).size().values - chunk.log_df(trace_label, 'sample_counts', sample_counts) + sample_counts = ( + interaction_utilities.groupby(interaction_utilities.index).size().values + ) + chunk.log_df(trace_label, "sample_counts", sample_counts) # max number of alternatvies for any chooser max_sample_count = sample_counts.max() @@ -179,51 +207,61 @@ def _interaction_sample_simulate( inserts = np.repeat(last_row_offsets, max_sample_count - sample_counts) del sample_counts - chunk.log_df(trace_label, 'sample_counts', None) + chunk.log_df(trace_label, "sample_counts", None) # insert the zero-prob utilities to pad each alternative set to same size padded_utilities = np.insert(interaction_utilities.utility.values, inserts, -999) - chunk.log_df(trace_label, 'padded_utilities', padded_utilities) + chunk.log_df(trace_label, "padded_utilities", padded_utilities) del inserts del interaction_utilities - chunk.log_df(trace_label, 'interaction_utilities', None) + chunk.log_df(trace_label, "interaction_utilities", None) # reshape to array with one row per chooser, one column per alternative padded_utilities = padded_utilities.reshape(-1, max_sample_count) # convert to a dataframe with one row per chooser and one column per alternative - utilities_df = pd.DataFrame( - padded_utilities, - index=choosers.index) - chunk.log_df(trace_label, 'utilities_df', utilities_df) + utilities_df = pd.DataFrame(padded_utilities, index=choosers.index) + chunk.log_df(trace_label, "utilities_df", utilities_df) del padded_utilities - chunk.log_df(trace_label, 'padded_utilities', None) + chunk.log_df(trace_label, "padded_utilities", None) if have_trace_targets: - tracing.trace_df(utilities_df, tracing.extend_trace_label(trace_label, 'utilities'), - column_labels=['alternative', 'utility']) + tracing.trace_df( + utilities_df, + tracing.extend_trace_label(trace_label, "utilities"), + column_labels=["alternative", "utility"], + ) # convert to probabilities (utilities exponentiated and normalized to probs) # probs is same shape as utilities, one row per chooser and one column for alternative - probs = logit.utils_to_probs(utilities_df, allow_zero_probs=allow_zero_probs, - trace_label=trace_label, trace_choosers=choosers) - chunk.log_df(trace_label, 'probs', probs) + probs = logit.utils_to_probs( + utilities_df, + allow_zero_probs=allow_zero_probs, + trace_label=trace_label, + trace_choosers=choosers, + ) + chunk.log_df(trace_label, "probs", probs) if want_logsums: - logsums = logit.utils_to_logsums(utilities_df, allow_zero_probs=allow_zero_probs) - chunk.log_df(trace_label, 'logsums', logsums) + logsums = logit.utils_to_logsums( + utilities_df, allow_zero_probs=allow_zero_probs + ) + chunk.log_df(trace_label, "logsums", logsums) del utilities_df - chunk.log_df(trace_label, 'utilities_df', None) + chunk.log_df(trace_label, "utilities_df", None) if have_trace_targets: - tracing.trace_df(probs, tracing.extend_trace_label(trace_label, 'probs'), - column_labels=['alternative', 'probability']) + tracing.trace_df( + probs, + tracing.extend_trace_label(trace_label, "probs"), + column_labels=["alternative", "probability"], + ) if allow_zero_probs: - zero_probs = (probs.sum(axis=1) == 0) + zero_probs = probs.sum(axis=1) == 0 if zero_probs.any(): # FIXME this is kind of gnarly, but we force choice of first alt probs.loc[zero_probs, 0] = 1.0 @@ -231,14 +269,15 @@ def _interaction_sample_simulate( # make choices # positions is series with the chosen alternative represented as a column index in probs # which is an integer between zero and num alternatives in the alternative sample - positions, rands = \ - logit.make_choices(probs, trace_label=trace_label, trace_choosers=choosers) + positions, rands = logit.make_choices( + probs, trace_label=trace_label, trace_choosers=choosers + ) - chunk.log_df(trace_label, 'positions', positions) - chunk.log_df(trace_label, 'rands', rands) + chunk.log_df(trace_label, "positions", positions) + chunk.log_df(trace_label, "rands", rands) del probs - chunk.log_df(trace_label, 'probs', None) + chunk.log_df(trace_label, "probs", None) # shouldn't have chosen any of the dummy pad utilities assert positions.max() < max_sample_count @@ -253,41 +292,59 @@ def _interaction_sample_simulate( # create a series with index from choosers and the index of the chosen alternative choices = pd.Series(choices, index=choosers.index) - chunk.log_df(trace_label, 'choices', choices) + chunk.log_df(trace_label, "choices", choices) if allow_zero_probs and zero_probs.any(): # FIXME this is kind of gnarly, patch choice for zero_probs choices.loc[zero_probs] = zero_prob_choice_val if have_trace_targets: - tracing.trace_df(choices, tracing.extend_trace_label(trace_label, 'choices'), - columns=[None, trace_choice_name]) - tracing.trace_df(rands, tracing.extend_trace_label(trace_label, 'rands'), - columns=[None, 'rand']) + tracing.trace_df( + choices, + tracing.extend_trace_label(trace_label, "choices"), + columns=[None, trace_choice_name], + ) + tracing.trace_df( + rands, + tracing.extend_trace_label(trace_label, "rands"), + columns=[None, "rand"], + ) if want_logsums: - tracing.trace_df(logsums, tracing.extend_trace_label(trace_label, 'logsum'), - columns=[None, 'logsum']) + tracing.trace_df( + logsums, + tracing.extend_trace_label(trace_label, "logsum"), + columns=[None, "logsum"], + ) if want_logsums: - choices = choices.to_frame('choice') - choices['logsum'] = logsums + choices = choices.to_frame("choice") + choices["logsum"] = logsums - chunk.log_df(trace_label, 'choices', choices) + chunk.log_df(trace_label, "choices", choices) # handing this off to our caller - chunk.log_df(trace_label, 'choices', None) + chunk.log_df(trace_label, "choices", None) return choices def interaction_sample_simulate( - choosers, alternatives, spec, choice_column, - allow_zero_probs=False, zero_prob_choice_val=None, - log_alt_losers=False, - want_logsums=False, - skims=None, locals_d=None, chunk_size=0, chunk_tag=None, - trace_label=None, trace_choice_name=None, - estimator=None): + choosers, + alternatives, + spec, + choice_column, + allow_zero_probs=False, + zero_prob_choice_val=None, + log_alt_losers=False, + want_logsums=False, + skims=None, + locals_d=None, + chunk_size=0, + chunk_tag=None, + trace_label=None, + trace_choice_name=None, + estimator=None, +): """ Run a simulation in the situation in which alternatives must @@ -344,24 +401,38 @@ def interaction_sample_simulate( """ - trace_label = tracing.extend_trace_label(trace_label, 'interaction_sample_simulate') + trace_label = tracing.extend_trace_label(trace_label, "interaction_sample_simulate") chunk_tag = chunk_tag or trace_label result_list = [] - for i, chooser_chunk, alternative_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace_label, chunk_tag): + for ( + i, + chooser_chunk, + alternative_chunk, + chunk_trace_label, + ) in chunk.adaptive_chunked_choosers_and_alts( + choosers, alternatives, chunk_size, trace_label, chunk_tag + ): choices = _interaction_sample_simulate( - chooser_chunk, alternative_chunk, spec, choice_column, - allow_zero_probs, zero_prob_choice_val, log_alt_losers, + chooser_chunk, + alternative_chunk, + spec, + choice_column, + allow_zero_probs, + zero_prob_choice_val, + log_alt_losers, want_logsums, - skims, locals_d, - chunk_trace_label, trace_choice_name, - estimator) + skims, + locals_d, + chunk_trace_label, + trace_choice_name, + estimator, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: diff --git a/activitysim/core/interaction_simulate.py b/activitysim/core/interaction_simulate.py index 292c9ccaef..836fc4a348 100644 --- a/activitysim/core/interaction_simulate.py +++ b/activitysim/core/interaction_simulate.py @@ -1,29 +1,24 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import zip - import logging +from builtins import zip +from collections import OrderedDict import numpy as np import pandas as pd -from collections import OrderedDict -from . import logit -from . import tracing -from . import config -from . import simulate -from . import chunk - -from . import simulate +from . import chunk, config, logit, simulate, tracing logger = logging.getLogger(__name__) DUMP = False -ALT_CHOOSER_ID = '_chooser_id' +ALT_CHOOSER_ID = "_chooser_id" -def eval_interaction_utilities(spec, df, locals_d, trace_label, trace_rows, estimator=None, log_alt_losers=False): +def eval_interaction_utilities( + spec, df, locals_d, trace_label, trace_rows, estimator=None, log_alt_losers=False +): """ Compute the utilities for a single-alternative spec evaluated in the context of df @@ -67,13 +62,13 @@ def eval_interaction_utilities(spec, df, locals_d, trace_label, trace_rows, esti with chunk.chunk_log(trace_label): - assert(len(spec.columns) == 1) + assert len(spec.columns) == 1 # avoid altering caller's passed-in locals_d parameter (they may be looping) locals_d = locals_d.copy() if locals_d is not None else {} # add df for startswith('@') eval expressions - locals_d['df'] = df + locals_d["df"] = df def to_series(x): if np.isscalar(x): @@ -90,14 +85,14 @@ def to_series(x): else: trace_eval_results = None - check_for_variability = config.setting('check_for_variability') + check_for_variability = config.setting("check_for_variability") # need to be able to identify which variables causes an error, which keeps # this from being expressed more parsimoniously - utilities = pd.DataFrame({'utility': 0.0}, index=df.index) + utilities = pd.DataFrame({"utility": 0.0}, index=df.index) - chunk.log_df(trace_label, 'eval.utilities', utilities) + chunk.log_df(trace_label, "eval.utilities", utilities) no_variability = has_missing_vals = 0 @@ -115,8 +110,11 @@ def to_series(x): # bug - location choice has df index_name zone_id but should be person_id???? if df.index.name is None: chooser_id = estimator.get_chooser_id() - assert chooser_id in df.columns, \ - "Expected to find choose_id column '%s' in interaction dataset" % (chooser_id, ) + assert ( + chooser_id in df.columns + ), "Expected to find choose_id column '%s' in interaction dataset" % ( + chooser_id, + ) assert df.index.name is None expression_values_df[chooser_id] = df[chooser_id] @@ -131,10 +129,10 @@ def to_series(x): try: # - allow temps of form _od_DIST@od_skim['DIST'] - if expr.startswith('_'): + if expr.startswith("_"): - target = expr[:expr.index('@')] - rhs = expr[expr.index('@') + 1:] + target = expr[: expr.index("@")] + rhs = expr[expr.index("@") + 1 :] v = to_series(eval(rhs, globals(), locals_d)) # update locals to allows us to ref previously assigned targets @@ -148,13 +146,16 @@ def to_series(x): # they have a non-zero dummy coefficient to avoid being removed from spec as NOPs continue - if expr.startswith('@'): + if expr.startswith("@"): v = to_series(eval(expr[1:], globals(), locals_d)) else: v = df.eval(expr) if check_for_variability and v.std() == 0: - logger.info("%s: no variability (%s) in: %s" % (trace_label, v.iloc[0], expr)) + logger.info( + "%s: no variability (%s) in: %s" + % (trace_label, v.iloc[0], expr) + ) no_variability += 1 # FIXME - how likely is this to happen? Not sure it is really a problem? @@ -164,10 +165,13 @@ def to_series(x): if estimator: # in case we modified expression_values_df index - expression_values_df.insert(loc=len(expression_values_df.columns), column=label, - value=v.values if isinstance(v, pd.Series) else v) + expression_values_df.insert( + loc=len(expression_values_df.columns), + column=label, + value=v.values if isinstance(v, pd.Series) else v, + ) - utility = (v * coefficient).astype('float') + utility = (v * coefficient).astype("float") if log_alt_losers: @@ -176,9 +180,13 @@ def to_series(x): if (max_utils_by_chooser < simulate.ALT_LOSER_UTIL).any(): - losers = max_utils_by_chooser[max_utils_by_chooser < simulate.ALT_LOSER_UTIL] - logger.warning(f"{trace_label} - {len(losers)} choosers of {len(max_utils_by_chooser)} " - f"with prohibitive utilities for all alternatives for expression: {expr}") + losers = max_utils_by_chooser[ + max_utils_by_chooser < simulate.ALT_LOSER_UTIL + ] + logger.warning( + f"{trace_label} - {len(losers)} choosers of {len(max_utils_by_chooser)} " + f"with prohibitive utilities for all alternatives for expression: {expr}" + ) # loser_df = df[df[ALT_CHOOSER_ID].isin(losers.index)] # print(f"\nloser_df\n{loser_df}\n") @@ -197,50 +205,68 @@ def to_series(x): assert expr not in trace_eval_results trace_eval_results[expr] = v[trace_rows] - k = 'partial utility (coefficient = %s) for %s' % (coefficient, expr) + k = "partial utility (coefficient = %s) for %s" % ( + coefficient, + expr, + ) trace_eval_results[k] = v[trace_rows] * coefficient del v # chunk.log_df(trace_label, 'v', None) except Exception as err: - logger.exception(f"{trace_label} - {type(err).__name__} ({str(err)}) evaluating: {str(expr)}") + logger.exception( + f"{trace_label} - {type(err).__name__} ({str(err)}) evaluating: {str(expr)}" + ) raise err if estimator: - estimator.log("eval_interaction_utilities write_interaction_expression_values %s" % trace_label) + estimator.log( + "eval_interaction_utilities write_interaction_expression_values %s" + % trace_label + ) estimator.write_interaction_expression_values(expression_values_df) del expression_values_df if no_variability > 0: - logger.warning("%s: %s columns have no variability" % (trace_label, no_variability)) + logger.warning( + "%s: %s columns have no variability" % (trace_label, no_variability) + ) if has_missing_vals > 0: - logger.warning("%s: %s columns have missing values" % (trace_label, has_missing_vals)) + logger.warning( + "%s: %s columns have missing values" % (trace_label, has_missing_vals) + ) if trace_eval_results is not None: - trace_eval_results['total utility'] = utilities.utility[trace_rows] + trace_eval_results["total utility"] = utilities.utility[trace_rows] trace_eval_results = pd.DataFrame.from_dict(trace_eval_results) trace_eval_results.index = df[trace_rows].index # add df columns to trace_results trace_eval_results = pd.concat([df[trace_rows], trace_eval_results], axis=1) - chunk.log_df(trace_label, 'eval.trace_eval_results', trace_eval_results) + chunk.log_df(trace_label, "eval.trace_eval_results", trace_eval_results) - chunk.log_df(trace_label, 'v', None) - chunk.log_df(trace_label, 'eval.utilities', None) # out of out hands... - chunk.log_df(trace_label, 'eval.trace_eval_results', None) + chunk.log_df(trace_label, "v", None) + chunk.log_df(trace_label, "eval.utilities", None) # out of out hands... + chunk.log_df(trace_label, "eval.trace_eval_results", None) return utilities, trace_eval_results def _interaction_simulate( - choosers, alternatives, spec, - skims=None, locals_d=None, sample_size=None, - trace_label=None, trace_choice_name=None, - log_alt_losers=False, - estimator=None): + choosers, + alternatives, + spec, + skims=None, + locals_d=None, + sample_size=None, + trace_label=None, + trace_choice_name=None, + log_alt_losers=False, + estimator=None, +): """ Run a MNL simulation in the situation in which alternatives must be merged with choosers because there are interaction terms or @@ -289,22 +315,28 @@ def _interaction_simulate( choices are simulated in the standard Monte Carlo fashion """ - trace_label = tracing.extend_trace_label(trace_label, 'interaction_simulate') + trace_label = tracing.extend_trace_label(trace_label, "interaction_simulate") have_trace_targets = tracing.has_trace_targets(choosers) if have_trace_targets: - tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, 'choosers')) - tracing.trace_df(alternatives, tracing.extend_trace_label(trace_label, 'alternatives'), - slicer='NONE', transpose=False) + tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, "choosers")) + tracing.trace_df( + alternatives, + tracing.extend_trace_label(trace_label, "alternatives"), + slicer="NONE", + transpose=False, + ) if len(spec.columns) > 1: - raise RuntimeError('spec must have only one column') + raise RuntimeError("spec must have only one column") sample_size = sample_size or len(alternatives) if sample_size > len(alternatives): - logger.debug("clipping sample size %s to len(alternatives) %s" % - (sample_size, len(alternatives))) + logger.debug( + "clipping sample size %s to len(alternatives) %s" + % (sample_size, len(alternatives)) + ) sample_size = min(sample_size, len(alternatives)) # if using skims, copy index into the dataframe, so it will be @@ -319,9 +351,14 @@ def _interaction_simulate( alt_index_id = estimator.get_alt_id() if estimator else None chooser_index_id = ALT_CHOOSER_ID if log_alt_losers else None - interaction_df = logit.interaction_dataset(choosers, alternatives, sample_size, - alt_index_id=alt_index_id, chooser_index_id=chooser_index_id) - chunk.log_df(trace_label, 'interaction_df', interaction_df) + interaction_df = logit.interaction_dataset( + choosers, + alternatives, + sample_size, + alt_index_id=alt_index_id, + chooser_index_id=chooser_index_id, + ) + chunk.log_df(trace_label, "interaction_df", interaction_df) if skims is not None: simulate.set_skim_wrapper_targets(interaction_df, skims) @@ -332,67 +369,91 @@ def _interaction_simulate( # utilities has utility value for element in the cross product of choosers and alternatives # interaction_utilities is a df with one utility column and one row per row in model_design if have_trace_targets: - trace_rows, trace_ids \ - = tracing.interaction_trace_rows(interaction_df, choosers, sample_size) - - tracing.trace_df(interaction_df[trace_rows], - tracing.extend_trace_label(trace_label, 'interaction_df'), - slicer='NONE', transpose=False) + trace_rows, trace_ids = tracing.interaction_trace_rows( + interaction_df, choosers, sample_size + ) + + tracing.trace_df( + interaction_df[trace_rows], + tracing.extend_trace_label(trace_label, "interaction_df"), + slicer="NONE", + transpose=False, + ) else: trace_rows = trace_ids = None - - interaction_utilities, trace_eval_results \ - = eval_interaction_utilities(spec, interaction_df, locals_d, trace_label, trace_rows, - estimator=estimator, - log_alt_losers=log_alt_losers) - chunk.log_df(trace_label, 'interaction_utilities', interaction_utilities) + interaction_utilities, trace_eval_results = eval_interaction_utilities( + spec, + interaction_df, + locals_d, + trace_label, + trace_rows, + estimator=estimator, + log_alt_losers=log_alt_losers, + ) + chunk.log_df(trace_label, "interaction_utilities", interaction_utilities) # print(f"interaction_df {interaction_df.shape}") # print(f"interaction_utilities {interaction_utilities.shape}") del interaction_df - chunk.log_df(trace_label, 'interaction_df', None) + chunk.log_df(trace_label, "interaction_df", None) if have_trace_targets: - tracing.trace_interaction_eval_results(trace_eval_results, trace_ids, - tracing.extend_trace_label(trace_label, 'eval')) - - tracing.trace_df(interaction_utilities[trace_rows], - tracing.extend_trace_label(trace_label, 'interaction_utils'), - slicer='NONE', transpose=False) + tracing.trace_interaction_eval_results( + trace_eval_results, + trace_ids, + tracing.extend_trace_label(trace_label, "eval"), + ) + + tracing.trace_df( + interaction_utilities[trace_rows], + tracing.extend_trace_label(trace_label, "interaction_utils"), + slicer="NONE", + transpose=False, + ) # reshape utilities (one utility column and one row per row in model_design) # to a dataframe with one row per chooser and one column per alternative utilities = pd.DataFrame( interaction_utilities.values.reshape(len(choosers), sample_size), - index=choosers.index) - chunk.log_df(trace_label, 'utilities', utilities) + index=choosers.index, + ) + chunk.log_df(trace_label, "utilities", utilities) if have_trace_targets: - tracing.trace_df(utilities, tracing.extend_trace_label(trace_label, 'utils'), - column_labels=['alternative', 'utility']) + tracing.trace_df( + utilities, + tracing.extend_trace_label(trace_label, "utils"), + column_labels=["alternative", "utility"], + ) - tracing.dump_df(DUMP, utilities, trace_label, 'utilities') + tracing.dump_df(DUMP, utilities, trace_label, "utilities") # convert to probabilities (utilities exponentiated and normalized to probs) # probs is same shape as utilities, one row per chooser and one column for alternative - probs = logit.utils_to_probs(utilities, trace_label=trace_label, trace_choosers=choosers) - chunk.log_df(trace_label, 'probs', probs) + probs = logit.utils_to_probs( + utilities, trace_label=trace_label, trace_choosers=choosers + ) + chunk.log_df(trace_label, "probs", probs) del utilities - chunk.log_df(trace_label, 'utilities', None) + chunk.log_df(trace_label, "utilities", None) if have_trace_targets: - tracing.trace_df(probs, tracing.extend_trace_label(trace_label, 'probs'), - column_labels=['alternative', 'probability']) + tracing.trace_df( + probs, + tracing.extend_trace_label(trace_label, "probs"), + column_labels=["alternative", "probability"], + ) # make choices # positions is series with the chosen alternative represented as a column index in probs # which is an integer between zero and num alternatives in the alternative sample - positions, rands = \ - logit.make_choices(probs, trace_label=trace_label, trace_choosers=choosers) - chunk.log_df(trace_label, 'positions', positions) - chunk.log_df(trace_label, 'rands', rands) + positions, rands = logit.make_choices( + probs, trace_label=trace_label, trace_choosers=choosers + ) + chunk.log_df(trace_label, "positions", positions) + chunk.log_df(trace_label, "rands", rands) # need to get from an integer offset into the alternative sample to the alternative index # that is, we want the index value of the row that is offset by rows into the @@ -404,23 +465,36 @@ def _interaction_simulate( # create a series with index from choosers and the index of the chosen alternative choices = pd.Series(choices, index=choosers.index) - chunk.log_df(trace_label, 'choices', choices) + chunk.log_df(trace_label, "choices", choices) if have_trace_targets: - tracing.trace_df(choices, tracing.extend_trace_label(trace_label, 'choices'), - columns=[None, trace_choice_name]) - tracing.trace_df(rands, tracing.extend_trace_label(trace_label, 'rands'), - columns=[None, 'rand']) + tracing.trace_df( + choices, + tracing.extend_trace_label(trace_label, "choices"), + columns=[None, trace_choice_name], + ) + tracing.trace_df( + rands, + tracing.extend_trace_label(trace_label, "rands"), + columns=[None, "rand"], + ) return choices def interaction_simulate( - choosers, alternatives, spec, - log_alt_losers=False, - skims=None, locals_d=None, sample_size=None, chunk_size=0, - trace_label=None, trace_choice_name=None, - estimator=None): + choosers, + alternatives, + spec, + log_alt_losers=False, + skims=None, + locals_d=None, + sample_size=None, + chunk_size=0, + trace_label=None, + trace_choice_name=None, + estimator=None, +): """ Run a simulation in the situation in which alternatives must @@ -471,26 +545,31 @@ def interaction_simulate( choices are simulated in the standard Monte Carlo fashion """ - trace_label = tracing.extend_trace_label(trace_label, 'interaction_simulate') + trace_label = tracing.extend_trace_label(trace_label, "interaction_simulate") assert len(choosers) > 0 result_list = [] - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(choosers, chunk_size, trace_label): - - choices = _interaction_simulate(chooser_chunk, alternatives, spec, - skims=skims, - locals_d=locals_d, - sample_size=sample_size, - trace_label=chunk_trace_label, - trace_choice_name=trace_choice_name, - log_alt_losers=log_alt_losers, - estimator=estimator) + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + choosers, chunk_size, trace_label + ): + + choices = _interaction_simulate( + chooser_chunk, + alternatives, + spec, + skims=skims, + locals_d=locals_d, + sample_size=sample_size, + trace_label=chunk_trace_label, + trace_choice_name=trace_choice_name, + log_alt_losers=log_alt_losers, + estimator=estimator, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: diff --git a/activitysim/core/logit.py b/activitysim/core/logit.py index b3dace2e0b..652965e395 100644 --- a/activitysim/core/logit.py +++ b/activitysim/core/logit.py @@ -1,15 +1,12 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import object - import logging +from builtins import object import numpy as np import pandas as pd -from . import tracing -from . import pipeline -from . import config +from . import config, pipeline, tracing logger = logging.getLogger(__name__) @@ -20,7 +17,9 @@ PROB_MAX = 1.0 -def report_bad_choices(bad_row_map, df, trace_label, msg, trace_choosers=None, raise_error=True): +def report_bad_choices( + bad_row_map, df, trace_label, msg, trace_choosers=None, raise_error=True +): """ Parameters @@ -42,7 +41,12 @@ def report_bad_choices(bad_row_map, df, trace_label, msg, trace_choosers=None, r MAX_DUMP = 1000 MAX_PRINT = 10 - msg_with_count = "%s %s for %s of %s rows" % (trace_label, msg, bad_row_map.sum(), len(df)) + msg_with_count = "%s %s for %s of %s rows" % ( + trace_label, + msg, + bad_row_map.sum(), + len(df), + ) logger.warning(msg_with_count) df = df[bad_row_map] @@ -54,15 +58,18 @@ def report_bad_choices(bad_row_map, df, trace_label, msg, trace_choosers=None, r if trace_label: logger.info("dumping %s" % trace_label) - tracing.write_csv(df[:MAX_DUMP], - file_name=trace_label, - transpose=False) + tracing.write_csv(df[:MAX_DUMP], file_name=trace_label, transpose=False) # log the indexes of the first MAX_DUMP offending rows for idx in df.index[:MAX_PRINT].values: - row_msg = "%s : %s in: %s = %s (hh_id = %s)" % \ - (trace_label, msg, df.index.name, idx, df[trace_col].loc[idx]) + row_msg = "%s : %s in: %s = %s (hh_id = %s)" % ( + trace_label, + msg, + df.index.name, + idx, + df[trace_col].loc[idx], + ) logger.warning(row_msg) @@ -99,7 +106,7 @@ def utils_to_logsums(utils, exponentiated=False, allow_zero_probs=False): utils_arr = np.where(utils_arr == EXP_UTIL_MIN, 0.0, utils_arr) - with np.errstate(divide='ignore' if allow_zero_probs else 'warn'): + with np.errstate(divide="ignore" if allow_zero_probs else "warn"): logsums = np.log(utils_arr.sum(axis=1)) logsums = pd.Series(logsums, index=utils.index) @@ -107,8 +114,13 @@ def utils_to_logsums(utils, exponentiated=False, allow_zero_probs=False): return logsums -def utils_to_probs(utils, trace_label=None, exponentiated=False, allow_zero_probs=False, - trace_choosers=None): +def utils_to_probs( + utils, + trace_label=None, + exponentiated=False, + allow_zero_probs=False, + trace_choosers=None, +): """ Convert a table of utilities to probabilities. @@ -139,7 +151,7 @@ def utils_to_probs(utils, trace_label=None, exponentiated=False, allow_zero_prob Will have the same index and columns as `utils`. """ - trace_label = tracing.extend_trace_label(trace_label, 'utils_to_probs') + trace_label = tracing.extend_trace_label(trace_label, "utils_to_probs") # fixme - conversion to float not needed in either case? # utils_arr = utils.values.astype('float') @@ -154,24 +166,32 @@ def utils_to_probs(utils, trace_label=None, exponentiated=False, allow_zero_prob arr_sum = utils_arr.sum(axis=1) - zero_probs = (arr_sum == 0.0) + zero_probs = arr_sum == 0.0 if zero_probs.any() and not allow_zero_probs: - report_bad_choices(zero_probs, utils, - trace_label=tracing.extend_trace_label(trace_label, 'zero_prob_utils'), - msg="all probabilities are zero", - trace_choosers=trace_choosers) + report_bad_choices( + zero_probs, + utils, + trace_label=tracing.extend_trace_label(trace_label, "zero_prob_utils"), + msg="all probabilities are zero", + trace_choosers=trace_choosers, + ) inf_utils = np.isinf(arr_sum) if inf_utils.any(): - report_bad_choices(inf_utils, utils, - trace_label=tracing.extend_trace_label(trace_label, 'inf_exp_utils'), - msg="infinite exponentiated utilities", - trace_choosers=trace_choosers) + report_bad_choices( + inf_utils, + utils, + trace_label=tracing.extend_trace_label(trace_label, "inf_exp_utils"), + msg="infinite exponentiated utilities", + trace_choosers=trace_choosers, + ) # if allow_zero_probs, this may cause a RuntimeWarning: invalid value encountered in divide - with np.errstate(invalid='ignore' if allow_zero_probs else 'warn', - divide='ignore' if allow_zero_probs else 'warn'): + with np.errstate( + invalid="ignore" if allow_zero_probs else "warn", + divide="ignore" if allow_zero_probs else "warn", + ): np.divide(utils_arr, arr_sum.reshape(len(utils_arr), 1), out=utils_arr) # if allow_zero_probs, this will cause EXP_UTIL_MIN util rows to have all zero probabilities @@ -210,21 +230,24 @@ def make_choices(probs, trace_label=None, trace_choosers=None, allow_bad_probs=F The random numbers used to make the choices (for debugging, tracing) """ - trace_label = tracing.extend_trace_label(trace_label, 'make_choices') + trace_label = tracing.extend_trace_label(trace_label, "make_choices") # probs should sum to 1 across each row BAD_PROB_THRESHOLD = 0.001 - bad_probs = \ - probs.sum(axis=1).sub(np.ones(len(probs.index))).abs() \ - > BAD_PROB_THRESHOLD * np.ones(len(probs.index)) + bad_probs = probs.sum(axis=1).sub( + np.ones(len(probs.index)) + ).abs() > BAD_PROB_THRESHOLD * np.ones(len(probs.index)) if bad_probs.any() and not allow_bad_probs: - report_bad_choices(bad_probs, probs, - trace_label=tracing.extend_trace_label(trace_label, 'bad_probs'), - msg="probabilities do not add up to 1", - trace_choosers=trace_choosers) + report_bad_choices( + bad_probs, + probs, + trace_label=tracing.extend_trace_label(trace_label, "bad_probs"), + msg="probabilities do not add up to 1", + trace_choosers=trace_choosers, + ) rands = pipeline.get_rn_generator().random_for_df(probs) @@ -241,7 +264,9 @@ def make_choices(probs, trace_label=None, trace_choosers=None, allow_bad_probs=F return choices, rands -def interaction_dataset(choosers, alternatives, sample_size=None, alt_index_id=None, chooser_index_id=None): +def interaction_dataset( + choosers, alternatives, sample_size=None, alt_index_id=None, chooser_index_id=None +): """ Combine choosers and alternatives into one table for the purposes of creating interaction variables and/or sampling alternatives. @@ -265,12 +290,12 @@ def interaction_dataset(choosers, alternatives, sample_size=None, alt_index_id=N """ if not choosers.index.is_unique: raise RuntimeError( - "ERROR: choosers index is not unique, " - "sample will not work correctly") + "ERROR: choosers index is not unique, " "sample will not work correctly" + ) if not alternatives.index.is_unique: raise RuntimeError( - "ERROR: alternatives index is not unique, " - "sample will not work correctly") + "ERROR: alternatives index is not unique, " "sample will not work correctly" + ) numchoosers = len(choosers) numalts = len(alternatives) @@ -280,8 +305,9 @@ def interaction_dataset(choosers, alternatives, sample_size=None, alt_index_id=N alts_idx = np.arange(numalts) if sample_size < numalts: - sample = pipeline.get_rn_generator().choice_for_df(choosers, - alts_idx, sample_size, replace=False) + sample = pipeline.get_rn_generator().choice_for_df( + choosers, alts_idx, sample_size, replace=False + ) else: sample = np.tile(alts_idx, numchoosers) @@ -292,13 +318,15 @@ def interaction_dataset(choosers, alternatives, sample_size=None, alt_index_id=N # permits identification of alternative row in the joined dataset alts_sample[alt_index_id] = alts_sample.index - logger.debug("interaction_dataset pre-merge choosers %s alternatives %s alts_sample %s" % - (choosers.shape, alternatives.shape, alts_sample.shape)) + logger.debug( + "interaction_dataset pre-merge choosers %s alternatives %s alts_sample %s" + % (choosers.shape, alternatives.shape, alts_sample.shape) + ) # no need to do an expensive merge of alts and choosers # we can simply assign repeated chooser values for c in choosers.columns: - c_chooser = (c + '_chooser') if c in alts_sample.columns else c + c_chooser = (c + "_chooser") if c in alts_sample.columns else c alts_sample[c_chooser] = np.repeat(choosers[c].values, sample_size) # caller may want this to detect utils that make all alts for a chooser unavailable (e.g. -999) @@ -306,7 +334,7 @@ def interaction_dataset(choosers, alternatives, sample_size=None, alt_index_id=N assert chooser_index_id not in alts_sample alts_sample[chooser_index_id] = np.repeat(choosers.index.values, sample_size) - logger.debug("interaction_dataset merged alts_sample %s" % (alts_sample.shape, )) + logger.debug("interaction_dataset merged alts_sample %s" % (alts_sample.shape,)) return alts_sample @@ -332,20 +360,28 @@ def __init__(self, name=None, level=0): self.coefficient = 0 def print(self): - print("Nest name: %s level: %s coefficient: %s product_of_coefficients: %s ancestors: %s" % - (self.name, self.level, self.coefficient, self.product_of_coefficients, self.ancestors)) + print( + "Nest name: %s level: %s coefficient: %s product_of_coefficients: %s ancestors: %s" + % ( + self.name, + self.level, + self.coefficient, + self.product_of_coefficients, + self.ancestors, + ) + ) @property def is_leaf(self): - return (self.alternatives is None) + return self.alternatives is None @property def type(self): - return 'leaf' if self.is_leaf else 'node' + return "leaf" if self.is_leaf else "node" @classmethod def nest_types(cls): - return ['leaf', 'node'] + return ["leaf", "node"] def validate_nest_spec(nest_spec, trace_label): @@ -354,14 +390,20 @@ def validate_nest_spec(nest_spec, trace_label): duplicates = [] for nest in each_nest(nest_spec): if nest.name in keys: - logger.error("validate_nest_spec:duplicate nest key '%s' in nest spec - %s" % (nest.name, trace_label)) + logger.error( + "validate_nest_spec:duplicate nest key '%s' in nest spec - %s" + % (nest.name, trace_label) + ) duplicates.append(nest.name) keys.append(nest.name) # nest.print() if duplicates: - raise RuntimeError("validate_nest_spec:duplicate nest key/s '%s' in nest spec - %s" % (duplicates, trace_label)) + raise RuntimeError( + "validate_nest_spec:duplicate nest key/s '%s' in nest spec - %s" + % (duplicates, trace_label) + ) def _each_nest(spec, parent_nest, post_order): @@ -392,11 +434,17 @@ def _each_nest(spec, parent_nest, post_order): level = parent_nest.level + 1 if isinstance(spec, dict): - name = spec['name'] - coefficient = spec['coefficient'] - assert isinstance(coefficient, (int, float)), \ - "Coefficient '%s' (%s) not a number" % (name, coefficient) # forgot to eval coefficient? - alternatives = [a['name'] if isinstance(a, dict) else a for a in spec['alternatives']] + name = spec["name"] + coefficient = spec["coefficient"] + assert isinstance( + coefficient, (int, float) + ), "Coefficient '%s' (%s) not a number" % ( + name, + coefficient, + ) # forgot to eval coefficient? + alternatives = [ + a["name"] if isinstance(a, dict) else a for a in spec["alternatives"] + ] nest = Nest(name=name) nest.level = parent_nest.level + 1 @@ -409,7 +457,7 @@ def _each_nest(spec, parent_nest, post_order): yield spec, nest # recursively iterate the list of alternatives - for alternative in spec['alternatives']: + for alternative in spec["alternatives"]: for sub_node, sub_nest in _each_nest(alternative, nest, post_order): yield sub_node, sub_nest @@ -464,7 +512,11 @@ def count_nests(nest_spec): def count_each_nest(spec, count): if isinstance(spec, dict): - return count + 1 + sum([count_each_nest(alt, count) for alt in spec['alternatives']]) + return ( + count + + 1 + + sum([count_each_nest(alt, count) for alt in spec["alternatives"]]) + ) else: assert isinstance(spec, str) return 1 diff --git a/activitysim/core/los.py b/activitysim/core/los.py index a76dbe97d5..b274941f1d 100644 --- a/activitysim/core/los.py +++ b/activitysim/core/los.py @@ -1,42 +1,42 @@ # ActivitySim # See full license in LICENSE.txt. -import os import logging +import os import warnings import numpy as np import pandas as pd -from activitysim.core import skim_dictionary -from activitysim.core import inject -from activitysim.core import util -from activitysim.core import config -from activitysim.core import pathbuilder -from activitysim.core import mem -from activitysim.core import tracing - +from activitysim.core import ( + config, + inject, + mem, + pathbuilder, + skim_dictionary, + tracing, + util, +) +from activitysim.core.skim_dict_factory import MemMapSkimFactory, NumpyArraySkimFactory from activitysim.core.skim_dictionary import NOT_IN_SKIM_ZONE_ID -from activitysim.core.skim_dict_factory import NumpyArraySkimFactory -from activitysim.core.skim_dict_factory import MemMapSkimFactory skim_factories = { - 'NumpyArraySkimFactory': NumpyArraySkimFactory, - 'MemMapSkimFactory': MemMapSkimFactory, + "NumpyArraySkimFactory": NumpyArraySkimFactory, + "MemMapSkimFactory": MemMapSkimFactory, } logger = logging.getLogger(__name__) -LOS_SETTINGS_FILE_NAME = 'network_los.yaml' +LOS_SETTINGS_FILE_NAME = "network_los.yaml" ONE_ZONE = 1 TWO_ZONE = 2 THREE_ZONE = 3 DEFAULT_SETTINGS = { - 'rebuild_tvpb_cache': True, - 'zone_system': ONE_ZONE, - 'skim_dict_factory': 'NumpyArraySkimFactory' + "rebuild_tvpb_cache": True, + "zone_system": ONE_ZONE, + "skim_dict_factory": "NumpyArraySkimFactory", } TRACE_TRIMMED_MAZ_TO_TAP_TABLES = True @@ -80,7 +80,7 @@ def __init__(self, los_settings_file_name=LOS_SETTINGS_FILE_NAME): # Note: we require all skims to be of same dtype so they can share buffer - is that ok? # fixme is it ok to require skims be all the same type? if so, is this the right choice? - self.skim_dtype_name = 'float32' + self.skim_dtype_name = "float32" self.zone_system = None self.skim_time_periods = None self.skims_info = {} @@ -101,11 +101,16 @@ def __init__(self, los_settings_file_name=LOS_SETTINGS_FILE_NAME): self.load_settings() # dependency injection of skim factory (of type specified in skim_dict_factory setting) - skim_dict_factory_name = self.setting('skim_dict_factory') - assert skim_dict_factory_name in skim_factories, \ - f"Unrecognized skim_dict_factory setting '{skim_dict_factory_name}" - self.skim_dict_factory = skim_factories[skim_dict_factory_name](network_los=self) - logger.info(f"Network_LOS using skim_dict_factory: {type(self.skim_dict_factory).__name__}") + skim_dict_factory_name = self.setting("skim_dict_factory") + assert ( + skim_dict_factory_name in skim_factories + ), f"Unrecognized skim_dict_factory setting '{skim_dict_factory_name}" + self.skim_dict_factory = skim_factories[skim_dict_factory_name]( + network_los=self + ) + logger.info( + f"Network_LOS using skim_dict_factory: {type(self.skim_dict_factory).__name__}" + ) # load SkimInfo for all skims for this zone_system (TAZ for ONE_ZONE and TWO_ZONE, TAZ and MAZ for THREE_ZONE) self.load_skim_info() @@ -113,23 +118,33 @@ def __init__(self, los_settings_file_name=LOS_SETTINGS_FILE_NAME): @property def rebuild_tvpb_cache(self): # setting as property here so others don't need to know default - assert self.zone_system == THREE_ZONE, f"Should not even be asking about rebuild_tvpb_cache if not THREE_ZONE" - return self.setting('rebuild_tvpb_cache') + assert ( + self.zone_system == THREE_ZONE + ), f"Should not even be asking about rebuild_tvpb_cache if not THREE_ZONE" + return self.setting("rebuild_tvpb_cache") - def setting(self, keys, default=''): + def setting(self, keys, default=""): # if they dont specify a default, check the default defaults - default = DEFAULT_SETTINGS.get(keys, '') if default == '' else default + default = ( + DEFAULT_SETTINGS.get(keys, "") + if default == "" + else default + ) # get setting value for single key or dot-delimited key path (e.g. 'maz_to_maz.tables') - key_list = keys.split('.') + key_list = keys.split(".") s = self.los_settings for key in key_list[:-1]: s = s.get(key) - assert isinstance(s, dict), f"expected key '{key}' not found in '{keys}' in {self.los_settings_file_name}" + assert isinstance( + s, dict + ), f"expected key '{key}' not found in '{keys}' in {self.los_settings_file_name}" key = key_list[-1] # last key - if default == '': - assert key in s, f"Expected setting {keys} not found in in {LOS_SETTINGS_FILE_NAME}" + if default == "": + assert ( + key in s + ), f"Expected setting {keys} not found in in {LOS_SETTINGS_FILE_NAME}" return s.get(key, default) def load_settings(self): @@ -138,60 +153,87 @@ def load_settings(self): """ try: - self.los_settings = config.read_settings_file(self.los_settings_file_name, mandatory=True) + self.los_settings = config.read_settings_file( + self.los_settings_file_name, mandatory=True + ) except config.SettingsFileNotFound as e: - print(f"los_settings_file_name {self.los_settings_file_name} not found - trying global settings") + print( + f"los_settings_file_name {self.los_settings_file_name} not found - trying global settings" + ) print(f"skims_file: {config.setting('skims_file')}") print(f"skim_time_periods: {config.setting('skim_time_periods')}") print(f"source_file_paths: {config.setting('source_file_paths')}") - print(f"inject.get_injectable('configs_dir') {inject.get_injectable('configs_dir')}") + print( + f"inject.get_injectable('configs_dir') {inject.get_injectable('configs_dir')}" + ) # look for legacy 'skims_file' setting in global settings file - if config.setting('skims_file'): + if config.setting("skims_file"): - warnings.warn("Support for 'skims_file' setting in global settings file will be removed." - "Use 'taz_skims' in network_los.yaml config file instead.", FutureWarning) + warnings.warn( + "Support for 'skims_file' setting in global settings file will be removed." + "Use 'taz_skims' in network_los.yaml config file instead.", + FutureWarning, + ) # in which case, we also expect to find skim_time_periods in settings file - skim_time_periods = config.setting('skim_time_periods') - assert skim_time_periods is not None, "'skim_time_periods' setting not found." - warnings.warn("Support for 'skim_time_periods' setting in global settings file will be removed." - "Put 'skim_time_periods' in network_los.yaml config file instead.", FutureWarning) + skim_time_periods = config.setting("skim_time_periods") + assert ( + skim_time_periods is not None + ), "'skim_time_periods' setting not found." + warnings.warn( + "Support for 'skim_time_periods' setting in global settings file will be removed." + "Put 'skim_time_periods' in network_los.yaml config file instead.", + FutureWarning, + ) self.los_settings = { - 'taz_skims': config.setting('skims_file'), - 'zone_system': ONE_ZONE, - 'skim_time_periods': skim_time_periods + "taz_skims": config.setting("skims_file"), + "zone_system": ONE_ZONE, + "skim_time_periods": skim_time_periods, } else: raise e # validate skim_time_periods - self.skim_time_periods = self.setting('skim_time_periods') - if 'hours' in self.skim_time_periods: - self.skim_time_periods['periods'] = self.skim_time_periods.pop('hours') - warnings.warn('support for `skim_time_periods` key `hours` will be removed in ' - 'future verions. Use `periods` instead', - FutureWarning) - assert 'periods' in self.skim_time_periods, "'periods' key not found in network_los.skim_time_periods" - assert 'labels' in self.skim_time_periods, "'labels' key not found in network_los.skim_time_periods" - - self.zone_system = self.setting('zone_system') - assert self.zone_system in [ONE_ZONE, TWO_ZONE, THREE_ZONE], \ - f"Network_LOS: unrecognized zone_system: {self.zone_system}" + self.skim_time_periods = self.setting("skim_time_periods") + if "hours" in self.skim_time_periods: + self.skim_time_periods["periods"] = self.skim_time_periods.pop("hours") + warnings.warn( + "support for `skim_time_periods` key `hours` will be removed in " + "future verions. Use `periods` instead", + FutureWarning, + ) + assert ( + "periods" in self.skim_time_periods + ), "'periods' key not found in network_los.skim_time_periods" + assert ( + "labels" in self.skim_time_periods + ), "'labels' key not found in network_los.skim_time_periods" + + self.zone_system = self.setting("zone_system") + assert self.zone_system in [ + ONE_ZONE, + TWO_ZONE, + THREE_ZONE, + ], f"Network_LOS: unrecognized zone_system: {self.zone_system}" if self.zone_system in [TWO_ZONE, THREE_ZONE]: # maz_to_maz_settings - self.max_blend_distance = self.setting('maz_to_maz.max_blend_distance', default={}) + self.max_blend_distance = self.setting( + "maz_to_maz.max_blend_distance", default={} + ) if isinstance(self.max_blend_distance, int): - self.max_blend_distance = {'DEFAULT': self.max_blend_distance} - self.blend_distance_skim_name = self.setting('maz_to_maz.blend_distance_skim_name', default=None) + self.max_blend_distance = {"DEFAULT": self.max_blend_distance} + self.blend_distance_skim_name = self.setting( + "maz_to_maz.blend_distance_skim_name", default=None + ) # validate skim_time_periods - self.skim_time_periods = self.setting('skim_time_periods') - assert {'periods', 'labels'}.issubset(set(self.skim_time_periods.keys())) + self.skim_time_periods = self.setting("skim_time_periods") + assert {"periods", "labels"}.issubset(set(self.skim_time_periods.keys())) def load_skim_info(self): """ @@ -202,16 +244,20 @@ def load_skim_info(self): """ assert self.skim_dict_factory is not None # load taz skim_info - self.skims_info['taz'] = self.skim_dict_factory.load_skim_info('taz') + self.skims_info["taz"] = self.skim_dict_factory.load_skim_info("taz") if self.zone_system == THREE_ZONE: # load tap skim_info - self.skims_info['tap'] = self.skim_dict_factory.load_skim_info('tap') + self.skims_info["tap"] = self.skim_dict_factory.load_skim_info("tap") if self.zone_system == THREE_ZONE: # load this here rather than in load_data as it is required during multiprocessing to size TVPBCache - self.tap_df = pd.read_csv(config.data_file_path(self.setting('tap'), mandatory=True)).sort_values('TAP') - self.tvpb = pathbuilder.TransitVirtualPathBuilder(self) # dependent on self.tap_df + self.tap_df = pd.read_csv( + config.data_file_path(self.setting("tap"), mandatory=True) + ).sort_values("TAP") + self.tvpb = pathbuilder.TransitVirtualPathBuilder( + self + ) # dependent on self.tap_df def load_data(self): """ @@ -222,26 +268,36 @@ def load_data(self): if self.zone_system in [TWO_ZONE, THREE_ZONE]: # maz - file_name = self.setting('maz') - self.maz_taz_df = pd.read_csv(config.data_file_path(file_name, mandatory=True)) - self.maz_taz_df = self.maz_taz_df[['MAZ', 'TAZ']].sort_values(by='MAZ') # only fields we need + file_name = self.setting("maz") + self.maz_taz_df = pd.read_csv( + config.data_file_path(file_name, mandatory=True) + ) + self.maz_taz_df = self.maz_taz_df[["MAZ", "TAZ"]].sort_values( + by="MAZ" + ) # only fields we need self.maz_ceiling = self.maz_taz_df.MAZ.max() + 1 # maz_to_maz_df - maz_to_maz_tables = self.setting('maz_to_maz.tables') - maz_to_maz_tables = [maz_to_maz_tables] if isinstance(maz_to_maz_tables, str) else maz_to_maz_tables + maz_to_maz_tables = self.setting("maz_to_maz.tables") + maz_to_maz_tables = ( + [maz_to_maz_tables] + if isinstance(maz_to_maz_tables, str) + else maz_to_maz_tables + ) for file_name in maz_to_maz_tables: df = pd.read_csv(config.data_file_path(file_name, mandatory=True)) - df['i'] = df.OMAZ * self.maz_ceiling + df.DMAZ - df.set_index('i', drop=True, inplace=True, verify_integrity=True) - logger.debug(f"loading maz_to_maz table {file_name} with {len(df)} rows") + df["i"] = df.OMAZ * self.maz_ceiling + df.DMAZ + df.set_index("i", drop=True, inplace=True, verify_integrity=True) + logger.debug( + f"loading maz_to_maz table {file_name} with {len(df)} rows" + ) # FIXME - don't really need these columns, but if we do want them, # we would need to merge them in since files may have different numbers of rows - df.drop(columns=['OMAZ', 'DMAZ'], inplace=True) + df.drop(columns=["OMAZ", "DMAZ"], inplace=True) # besides, we only want data columns so we can coerce to same type as skims df = df.astype(np.dtype(self.skim_dtype_name)) @@ -260,24 +316,29 @@ def load_data(self): assert self.tap_df is not None # maz_to_tap_dfs - different sized sparse arrays with different columns, so we keep them seperate - for mode, maz_to_tap_settings in self.setting('maz_to_tap').items(): + for mode, maz_to_tap_settings in self.setting("maz_to_tap").items(): - assert 'table' in maz_to_tap_settings, \ - f"Expected setting maz_to_tap.{mode}.table not found in in {LOS_SETTINGS_FILE_NAME}" + assert ( + "table" in maz_to_tap_settings + ), f"Expected setting maz_to_tap.{mode}.table not found in in {LOS_SETTINGS_FILE_NAME}" - file_name = maz_to_tap_settings['table'] + file_name = maz_to_tap_settings["table"] df = pd.read_csv(config.data_file_path(file_name, mandatory=True)) # trim tap set # if provided, use tap_line_distance_col together with tap_lines table to trim the near tap set # to only include the nearest tap to origin when more than one tap serves the same line - distance_col = maz_to_tap_settings.get('tap_line_distance_col') + distance_col = maz_to_tap_settings.get("tap_line_distance_col") if distance_col: if self.tap_lines_df is None: # load tap_lines on demand (required if they specify tap_line_distance_col) - tap_lines_file_name = self.setting('tap_lines', ) - self.tap_lines_df = pd.read_csv(config.data_file_path(tap_lines_file_name, mandatory=True)) + tap_lines_file_name = self.setting( + "tap_lines", + ) + self.tap_lines_df = pd.read_csv( + config.data_file_path(tap_lines_file_name, mandatory=True) + ) # csv file has one row per TAP with space-delimited list of lines served by that TAP # TAP LINES @@ -287,48 +348,74 @@ def load_data(self): # 6020 GG_024b_SB # 6020 GG_068_RT # 6020 GG_228_WB - self.tap_lines_df = \ - self.tap_lines_df.set_index('TAP').LINES.str.split(expand=True)\ - .stack().droplevel(1).to_frame('line') + self.tap_lines_df = ( + self.tap_lines_df.set_index("TAP") + .LINES.str.split(expand=True) + .stack() + .droplevel(1) + .to_frame("line") + ) old_len = len(df) # NOTE - merge will remove unused taps (not appearing in tap_lines) - df = pd.merge(df, self.tap_lines_df, left_on='TAP', right_index=True) + df = pd.merge( + df, self.tap_lines_df, left_on="TAP", right_index=True + ) # find nearest TAP to MAz that serves line - df = df.sort_values(by=distance_col).drop_duplicates(subset=['MAZ', 'line']) + df = df.sort_values(by=distance_col).drop_duplicates( + subset=["MAZ", "line"] + ) # we don't need to remember which lines are served by which TAPs - df = df.drop(columns='line').drop_duplicates(subset=['MAZ', 'TAP']).sort_values(['MAZ', 'TAP']) - - logger.debug(f"trimmed maz_to_tap table {file_name} from {old_len} to {len(df)} rows " - f"based on tap_lines") - logger.debug(f"maz_to_tap table {file_name} max {distance_col} {df[distance_col].max()}") - - max_dist = maz_to_tap_settings.get('max_dist', None) + df = ( + df.drop(columns="line") + .drop_duplicates(subset=["MAZ", "TAP"]) + .sort_values(["MAZ", "TAP"]) + ) + + logger.debug( + f"trimmed maz_to_tap table {file_name} from {old_len} to {len(df)} rows " + f"based on tap_lines" + ) + logger.debug( + f"maz_to_tap table {file_name} max {distance_col} {df[distance_col].max()}" + ) + + max_dist = maz_to_tap_settings.get("max_dist", None) if max_dist: old_len = len(df) df = df[df[distance_col] <= max_dist] - logger.debug(f"trimmed maz_to_tap table {file_name} from {old_len} to {len(df)} rows " - f"based on max_dist {max_dist}") + logger.debug( + f"trimmed maz_to_tap table {file_name} from {old_len} to {len(df)} rows " + f"based on max_dist {max_dist}" + ) if TRACE_TRIMMED_MAZ_TO_TAP_TABLES: - tracing.write_csv(df, file_name=f"trimmed_{maz_to_tap_settings['table']}", transpose=False) + tracing.write_csv( + df, + file_name=f"trimmed_{maz_to_tap_settings['table']}", + transpose=False, + ) else: - logger.warning(f"tap_line_distance_col not provided in {LOS_SETTINGS_FILE_NAME} so maz_to_tap " - f"pairs will not be trimmed which may result in high memory use and long runtimes") - - df.set_index(['MAZ', 'TAP'], drop=True, inplace=True, verify_integrity=True) + logger.warning( + f"tap_line_distance_col not provided in {LOS_SETTINGS_FILE_NAME} so maz_to_tap " + f"pairs will not be trimmed which may result in high memory use and long runtimes" + ) + + df.set_index( + ["MAZ", "TAP"], drop=True, inplace=True, verify_integrity=True + ) logger.debug(f"loaded maz_to_tap table {file_name} with {len(df)} rows") assert mode not in self.maz_to_tap_dfs self.maz_to_tap_dfs[mode] = df # create taz skim dict - assert 'taz' not in self.skim_dicts - self.skim_dicts['taz'] = self.create_skim_dict('taz') + assert "taz" not in self.skim_dicts + self.skim_dicts["taz"] = self.create_skim_dict("taz") # make sure skim has all taz_ids # FIXME - weird that there is no list of tazs? @@ -337,20 +424,26 @@ def load_data(self): if self.zone_system in [TWO_ZONE, THREE_ZONE]: # create MazSkimDict facade skim_dict # (must have already loaded dependencies: taz skim_dict, maz_to_maz_df, and maz_taz_df) - assert 'maz' not in self.skim_dicts - maz_skim_dict = self.create_skim_dict('maz') - self.skim_dicts['maz'] = maz_skim_dict + assert "maz" not in self.skim_dicts + maz_skim_dict = self.create_skim_dict("maz") + self.skim_dicts["maz"] = maz_skim_dict # make sure skim has all maz_ids - assert not (maz_skim_dict.offset_mapper.map(self.maz_taz_df['MAZ'].values) == NOT_IN_SKIM_ZONE_ID).any() + assert not ( + maz_skim_dict.offset_mapper.map(self.maz_taz_df["MAZ"].values) + == NOT_IN_SKIM_ZONE_ID + ).any() # create tap skim dict if self.zone_system == THREE_ZONE: - assert 'tap' not in self.skim_dicts - tap_skim_dict = self.create_skim_dict('tap') - self.skim_dicts['tap'] = tap_skim_dict + assert "tap" not in self.skim_dicts + tap_skim_dict = self.create_skim_dict("tap") + self.skim_dicts["tap"] = tap_skim_dict # make sure skim has all tap_ids - assert not (tap_skim_dict.offset_mapper.map(self.tap_df['TAP'].values) == NOT_IN_SKIM_ZONE_ID).any() + assert not ( + tap_skim_dict.offset_mapper.map(self.tap_df["TAP"].values) + == NOT_IN_SKIM_ZONE_ID + ).any() def create_skim_dict(self, skim_tag): """ @@ -364,16 +457,19 @@ def create_skim_dict(self, skim_tag): ------- SkimDict or subclass (e.g. MazSkimDict) """ - assert skim_tag not in self.skim_dicts # avoid inadvertently creating multiple copies + assert ( + skim_tag not in self.skim_dicts + ) # avoid inadvertently creating multiple copies - if skim_tag == 'maz': + if skim_tag == "maz": # MazSkimDict gets a reference to self here, because it has dependencies on self.load_data # (e.g. maz_to_maz_df, maz_taz_df...) We pass in taz_skim_dict as a parameter # to hilight the fact that we do not want two copies of its (very large) data array in memory - assert 'taz' in self.skim_dicts, \ - f"create_skim_dict 'maz': backing taz skim_dict not in skim_dicts" - taz_skim_dict = self.skim_dicts['taz'] - skim_dict = skim_dictionary.MazSkimDict('maz', self, taz_skim_dict) + assert ( + "taz" in self.skim_dicts + ), f"create_skim_dict 'maz': backing taz skim_dict not in skim_dicts" + taz_skim_dict = self.skim_dicts["taz"] + skim_dict = skim_dictionary.MazSkimDict("maz", self, taz_skim_dict) else: skim_info = self.skims_info[skim_tag] skim_data = self.skim_dict_factory.get_skim_data(skim_tag, skim_info) @@ -395,7 +491,7 @@ def omx_file_names(self, skim_tag): ------- list of str """ - file_names = self.setting(f'{skim_tag}_skims') + file_names = self.setting(f"{skim_tag}_skims") file_names = [file_names] if isinstance(file_names, str) else file_names return file_names @@ -407,7 +503,7 @@ def multiprocess(self): ------- bool """ - is_multiprocess = config.setting('multiprocess', False) + is_multiprocess = config.setting("multiprocess", False) return is_multiprocess def load_shared_data(self, shared_data_buffers): @@ -425,18 +521,24 @@ def load_shared_data(self, shared_data_buffers): if self.skim_dict_factory.supports_shared_data_for_multiprocessing: for skim_tag in self.skims_info.keys(): - assert skim_tag in shared_data_buffers, f"load_shared_data expected allocated shared_data_buffers" - self.skim_dict_factory.load_skims_to_buffer(self.skims_info[skim_tag], shared_data_buffers[skim_tag]) + assert ( + skim_tag in shared_data_buffers + ), f"load_shared_data expected allocated shared_data_buffers" + self.skim_dict_factory.load_skims_to_buffer( + self.skims_info[skim_tag], shared_data_buffers[skim_tag] + ) if self.zone_system == THREE_ZONE: assert self.tvpb is not None - if self.rebuild_tvpb_cache and not config.setting('resume_after', None): + if self.rebuild_tvpb_cache and not config.setting("resume_after", None): # delete old cache at start of new run so that stale cache is not loaded by load_data_to_buffer # when singleprocess, this call is made (later in program flow) in the initialize_los step self.tvpb.tap_cache.cleanup() - self.tvpb.tap_cache.load_data_to_buffer(shared_data_buffers[self.tvpb.tap_cache.cache_tag]) + self.tvpb.tap_cache.load_data_to_buffer( + shared_data_buffers[self.tvpb.tap_cache.cache_tag] + ) def allocate_shared_skim_buffers(self): """ @@ -454,19 +556,23 @@ def allocate_shared_skim_buffers(self): """ assert self.multiprocess() - assert not self.skim_dicts, f"allocate_shared_skim_buffers must be called BEFORE, not after, load_data" + assert ( + not self.skim_dicts + ), f"allocate_shared_skim_buffers must be called BEFORE, not after, load_data" skim_buffers = {} if self.skim_dict_factory.supports_shared_data_for_multiprocessing: for skim_tag in self.skims_info.keys(): - skim_buffers[skim_tag] = \ - self.skim_dict_factory.allocate_skim_buffer(self.skims_info[skim_tag], shared=True) + skim_buffers[skim_tag] = self.skim_dict_factory.allocate_skim_buffer( + self.skims_info[skim_tag], shared=True + ) if self.zone_system == THREE_ZONE: assert self.tvpb is not None - skim_buffers[self.tvpb.tap_cache.cache_tag] = \ - self.tvpb.tap_cache.allocate_data_buffer(shared=True) + skim_buffers[ + self.tvpb.tap_cache.cache_tag + ] = self.tvpb.tap_cache.allocate_data_buffer(shared=True) return skim_buffers @@ -479,8 +585,9 @@ def get_skim_dict(self, skim_tag): SkimDict or subclass (e.g. MazSkimDict) """ - assert skim_tag in self.skim_dicts, \ - f"network_los.get_skim_dict: skim tag '{skim_tag}' not in skim_dicts" + assert ( + skim_tag in self.skim_dicts + ), f"network_los.get_skim_dict: skim tag '{skim_tag}' not in skim_dicts" return self.skim_dicts[skim_tag] def get_default_skim_dict(self): @@ -492,9 +599,9 @@ def get_default_skim_dict(self): TAZ SkimDict for ONE_ZONE, MazSkimDict for TWO_ZONE and THREE_ZONE """ if self.zone_system == ONE_ZONE: - return self.get_skim_dict('taz') + return self.get_skim_dict("taz") else: - return self.get_skim_dict('maz') + return self.get_skim_dict("maz") def get_mazpairs(self, omaz, dmaz, attribute): """ @@ -545,7 +652,7 @@ def get_tappairs3d(self, otap, dtap, dim3, key): Numpy.ndarray: list of tap skim values for odt tuples """ - s = self.get_skim_dict('tap').lookup_3d(otap, dtap, dim3, key) + s = self.get_skim_dict("tap").lookup_3d(otap, dtap, dim3, key) return s def skim_time_period_label(self, time_period): @@ -562,26 +669,34 @@ def skim_time_period_label(self, time_period): string time period labels """ - assert self.skim_time_periods is not None, "'skim_time_periods' setting not found." + assert ( + self.skim_time_periods is not None + ), "'skim_time_periods' setting not found." # Default to 60 minute time periods - period_minutes = self.skim_time_periods.get('period_minutes', 60) + period_minutes = self.skim_time_periods.get("period_minutes", 60) # Default to a day - model_time_window_min = self.skim_time_periods.get('time_window', 1440) + model_time_window_min = self.skim_time_periods.get("time_window", 1440) # Check to make sure the intervals result in no remainder time through 24 hour day assert 0 == model_time_window_min % period_minutes total_periods = model_time_window_min / period_minutes - bins = np.digitize( - [np.array(time_period) % total_periods], self.skim_time_periods['periods'], right=True)[0] - 1 - return np.array(self.skim_time_periods['labels'])[bins] + bins = ( + np.digitize( + [np.array(time_period) % total_periods], + self.skim_time_periods["periods"], + right=True, + )[0] + - 1 + ) + return np.array(self.skim_time_periods["labels"])[bins] def get_tazs(self): # FIXME - should compute on init? if self.zone_system == ONE_ZONE: - tazs = inject.get_table('land_use').index.values + tazs = inject.get_table("land_use").index.values else: tazs = self.maz_taz_df.TAZ.unique() assert isinstance(tazs, np.ndarray) diff --git a/activitysim/core/mem.py b/activitysim/core/mem.py index fd8c906b21..845ea35542 100644 --- a/activitysim/core/mem.py +++ b/activitysim/core/mem.py @@ -1,25 +1,21 @@ - # ActivitySim # See full license in LICENSE.txt. import datetime - import gc import glob import logging import multiprocessing import os import platform -import psutil import threading import time import numpy as np import pandas as pd +import psutil -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import util +from activitysim.core import config, inject, util logger = logging.getLogger(__name__) @@ -46,7 +42,7 @@ def time_bin(timestamps): seconds_since_epoch = (timestamps - epoch) // pd.Timedelta("1s") bin = seconds_since_epoch - (seconds_since_epoch % bins_size_in_seconds) - return pd.to_datetime(bin, unit='s', origin='unix') + return pd.to_datetime(bin, unit="s", origin="unix") def consolidate_logs(): @@ -54,80 +50,98 @@ def consolidate_logs(): Consolidate and aggregate subprocess mem logs """ - if not config.setting('multiprocess', False): + if not config.setting("multiprocess", False): return - delete_originals = not config.setting('keep_mem_logs', False) + delete_originals = not config.setting("keep_mem_logs", False) omnibus_df = [] # for each multiprocess step - multiprocess_steps = config.setting('multiprocess_steps', []) + multiprocess_steps = config.setting("multiprocess_steps", []) for step in multiprocess_steps: - step_name = step.get('name', None) + step_name = step.get("name", None) logger.debug(f"mem.consolidate_logs for step {step_name}") - glob_file_name = config.log_file_path(f"{step_name}*{MEM_LOG_FILE_NAME}", prefix=False) + glob_file_name = config.log_file_path( + f"{step_name}*{MEM_LOG_FILE_NAME}", prefix=False + ) glob_files = glob.glob(glob_file_name) if not glob_files: continue - logger.debug(f"mem.consolidate_logs consolidating {len(glob_files)} logs for {step_name}") + logger.debug( + f"mem.consolidate_logs consolidating {len(glob_files)} logs for {step_name}" + ) # for each individual log step_summary_df = [] for f in glob_files: - df = pd.read_csv(f, comment='#') + df = pd.read_csv(f, comment="#") - df = df[['rss', 'uss', 'event', 'time']] + df = df[["rss", "uss", "event", "time"]] df.rss = df.rss.astype(np.int64) df.uss = df.uss.astype(np.int64) - df['time'] = time_bin(pd.to_datetime(df.time, errors='coerce', format='%Y/%m/%d %H:%M:%S')) + df["time"] = time_bin( + pd.to_datetime(df.time, errors="coerce", format="%Y/%m/%d %H:%M:%S") + ) # consolidate events (duplicate rows should be idle steps (e.g. log_rss) - df = df.groupby('time')\ - .agg(rss=('rss', 'max'), uss=('uss', 'max'),)\ + df = ( + df.groupby("time") + .agg( + rss=("rss", "max"), + uss=("uss", "max"), + ) .reset_index(drop=False) + ) step_summary_df.append(df) # add step_df to step summary # aggregate the individual the logs into a single step log step_summary_df = pd.concat(step_summary_df) - step_summary_df = step_summary_df.groupby('time') \ - .agg(rss=('rss', 'sum'), uss=('uss', 'sum'), num_files=('rss', 'size')) \ + step_summary_df = ( + step_summary_df.groupby("time") + .agg(rss=("rss", "sum"), uss=("uss", "sum"), num_files=("rss", "size")) .reset_index(drop=False) - step_summary_df = step_summary_df.sort_values('time') + ) + step_summary_df = step_summary_df.sort_values("time") - step_summary_df['step'] = step_name + step_summary_df["step"] = step_name # scale missing values (might be missing idle steps for some chunk_tags) - scale = 1 + (len(glob_files) - step_summary_df.num_files) / step_summary_df.num_files - for c in ['rss', 'uss']: + scale = ( + 1 + + (len(glob_files) - step_summary_df.num_files) / step_summary_df.num_files + ) + for c in ["rss", "uss"]: step_summary_df[c] = (step_summary_df[c] * scale).astype(np.int64) - step_summary_df['scale'] = scale - del step_summary_df['num_files'] # do we want to keep track of scale factor? + step_summary_df["scale"] = scale + del step_summary_df["num_files"] # do we want to keep track of scale factor? if delete_originals: - util.delete_files(glob_files, f'mem.consolidate_logs.{step_name}') + util.delete_files(glob_files, f"mem.consolidate_logs.{step_name}") # write aggregate step log - output_path = config.log_file_path(f'mem_{step_name}.csv', prefix=False) - logger.debug(f"chunk.consolidate_logs writing step summary log for step {step_name} to {output_path}") - step_summary_df.to_csv(output_path, mode='w', index=False) + output_path = config.log_file_path(f"mem_{step_name}.csv", prefix=False) + logger.debug( + f"chunk.consolidate_logs writing step summary log for step {step_name} to {output_path}" + ) + step_summary_df.to_csv(output_path, mode="w", index=False) omnibus_df.append(step_summary_df) # add step summary to omnibus # aggregate the step logs into a single omnibus log ordered by timestamp omnibus_df = pd.concat(omnibus_df) - omnibus_df = omnibus_df.sort_values('time') + omnibus_df = omnibus_df.sort_values("time") output_path = config.log_file_path(OMNIBUS_LOG_FILE_NAME, prefix=False) logger.debug(f"chunk.consolidate_logs writing omnibus log to {output_path}") - omnibus_df.to_csv(output_path, mode='w', index=False) + omnibus_df.to_csv(output_path, mode="w", index=False) def check_global_hwm(tag, value, label): @@ -136,13 +150,13 @@ def check_global_hwm(tag, value, label): hwm = GLOBAL_HWM.setdefault(tag, {}) - is_new_hwm = value > hwm.get('mark', 0) or not hwm + is_new_hwm = value > hwm.get("mark", 0) or not hwm if is_new_hwm: timestamp = datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S") - hwm['mark'] = value - hwm['timestamp'] = timestamp - hwm['label'] = label + hwm["mark"] = value + hwm["timestamp"] = timestamp + hwm["label"] = label return is_new_hwm @@ -153,9 +167,11 @@ def log_global_hwm(): for tag in GLOBAL_HWM: hwm = GLOBAL_HWM[tag] - value = hwm.get('mark', 0) - logger.info(f"{process_name} high water mark {tag}: {util.INT(value)} ({util.GB(value)}) " - f"timestamp: {hwm.get('timestamp', '')} label:{hwm.get('label', '')}") + value = hwm.get("mark", 0) + logger.info( + f"{process_name} high water mark {tag}: {util.INT(value)} ({util.GB(value)}) " + f"timestamp: {hwm.get('timestamp', '')} label:{hwm.get('label', '')}" + ) def trace_memory_info(event, trace_ticks=0): @@ -190,11 +206,13 @@ def trace_memory_info(event, trace_ticks=0): except (psutil.NoSuchProcess, psutil.AccessDenied) as e: pass - noteworthy = True # any reason not to always log this if we are filtering idle ticks? + noteworthy = ( + True # any reason not to always log this if we are filtering idle ticks? + ) noteworthy = (num_children > 0) or noteworthy - noteworthy = check_global_hwm('rss', full_rss or rss, event) or noteworthy - noteworthy = check_global_hwm('uss', uss, event) or noteworthy + noteworthy = check_global_hwm("rss", full_rss or rss, event) or noteworthy + noteworthy = check_global_hwm("uss", uss, event) or noteworthy if noteworthy: @@ -206,16 +224,20 @@ def trace_memory_info(event, trace_ticks=0): with mem_log_lock: MEM_LOG_HEADER = "process,pid,rss,full_rss,uss,event,children,time" - with config.open_log_file(MEM_LOG_FILE_NAME, 'a', header=MEM_LOG_HEADER, prefix=True) as log_file: - print(f"{process_name}," - f"{pid}," - f"{util.INT(rss)}," # want these as ints so we can plot them... - f"{util.INT(full_rss)}," - f"{util.INT(uss)}," - f"{event}," - f"{num_children}," - f"{timestamp}", - file=log_file) + with config.open_log_file( + MEM_LOG_FILE_NAME, "a", header=MEM_LOG_HEADER, prefix=True + ) as log_file: + print( + f"{process_name}," + f"{pid}," + f"{util.INT(rss)}," # want these as ints so we can plot them... + f"{util.INT(full_rss)}," + f"{util.INT(uss)}," + f"{event}," + f"{num_children}," + f"{timestamp}", + file=log_file, + ) # return rss and uss for optional use by interested callers return full_rss or rss, uss @@ -251,7 +273,7 @@ def shared_memory_size(data_buffers=None): shared_size = 0 if data_buffers is None: - data_buffers = inject.get_injectable('data_buffers', {}) + data_buffers = inject.get_injectable("data_buffers", {}) for k, data_buffer in data_buffers.items(): try: diff --git a/activitysim/core/mp_tasks.py b/activitysim/core/mp_tasks.py index 6365a5b279..1d41c7c96f 100644 --- a/activitysim/core/mp_tasks.py +++ b/activitysim/core/mp_tasks.py @@ -1,31 +1,23 @@ # ActivitySim # See full license in LICENSE.txt. -import sys -import os -import time import logging import multiprocessing +import os +import sys +import time import traceback - from collections import OrderedDict -import yaml import numpy as np import pandas as pd +import yaml -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import mem -from activitysim.core import pipeline -from activitysim.core import tracing -from activitysim.core import util - - +from activitysim.core import config, inject, mem, pipeline, tracing, util from activitysim.core.config import setting logger = logging.getLogger(__name__) -LAST_CHECKPOINT = '_' +LAST_CHECKPOINT = "_" MEM_TRACE_TICKS = 5 @@ -211,7 +203,7 @@ def log(msg, level, write_to_log_file=True): print(f"############ mp_tasks - {process_name} - {msg}") if write_to_log_file: - with config.open_log_file('mp_tasks_log.txt', 'a') as log_file: + with config.open_log_file("mp_tasks_log.txt", "a") as log_file: print(f"mp_tasks - {process_name} - {msg}", file=log_file) if write_to_log_file: @@ -243,7 +235,7 @@ def exception(msg, write_to_log_file=True): print(f"mp_tasks - {process_name} - {msg}") print(f"---\n{traceback.format_exc()}---") - with config.open_log_file('mp_tasks_log.txt', 'a') as log_file: + with config.open_log_file("mp_tasks_log.txt", "a") as log_file: print(f"---\nmp_tasks - {process_name} - {msg}", file=log_file) traceback.print_exc(limit=10, file=log_file) print("---", file=log_file) @@ -297,11 +289,13 @@ def pipeline_table_keys(pipeline_store): checkpoint_tables = checkpoint[~checkpoint.index.isin(pipeline.NON_TABLE_COLUMNS)] # omit dropped tables with empty checkpoint name - checkpoint_tables = checkpoint_tables[checkpoint_tables != ''] + checkpoint_tables = checkpoint_tables[checkpoint_tables != ""] # hdf5 key is / - checkpoint_tables = {table_name: pipeline.pipeline_table_key(table_name, checkpoint_name) - for table_name, checkpoint_name in checkpoint_tables.items()} + checkpoint_tables = { + table_name: pipeline.pipeline_table_key(table_name, checkpoint_name) + for table_name, checkpoint_name in checkpoint_tables.items() + } # checkpoint name and series mapping table name to hdf5 key for tables in that checkpoint return checkpoint_name, checkpoint_tables @@ -386,8 +380,8 @@ def build_slice_rules(slice_info, pipeline_tables): slice_rules : dict """ - slicer_table_names = slice_info['tables'] - slicer_table_exceptions = slice_info.get('except', []) + slicer_table_names = slice_info["tables"] + slicer_table_exceptions = slice_info.get("except", []) primary_slicer = slicer_table_names[0] # - ensure that tables listed in slice_info appear in correct order and before any others @@ -404,14 +398,16 @@ def build_slice_rules(slice_info, pipeline_tables): # followed by a slice.coalesce directive to explicitly list the omnibus tables created by the subprocesses. # So don't change this behavior withoyt testing populationsim multiprocess! if slicer_table_exceptions is True: - debug(f"slice.except wildcard (True): excluding all tables not explicitly listed in slice.tables") + debug( + f"slice.except wildcard (True): excluding all tables not explicitly listed in slice.tables" + ) slicer_table_exceptions = [t for t in tables if t not in slicer_table_names] # dict mapping slicer table_name to index name # (also presumed to be name of ref col name in referencing table) slicer_ref_cols = OrderedDict() - if slicer_table_exceptions == '*': + if slicer_table_exceptions == "*": slicer_table_exceptions = [t for t in tables if t not in slicer_table_names] # build slice rules for loaded tables @@ -421,36 +417,44 @@ def build_slice_rules(slice_info, pipeline_tables): rule = {} if table_name == primary_slicer: # slice primary apportion table - rule = {'slice_by': 'primary'} + rule = {"slice_by": "primary"} elif table_name in slicer_table_exceptions: - rule['slice_by'] = None + rule["slice_by"] = None else: for slicer_table_name in slicer_ref_cols: - if df.index.name is not None and (df.index.name == tables[slicer_table_name].index.name): + if df.index.name is not None and ( + df.index.name == tables[slicer_table_name].index.name + ): # slice df with same index name as a known slicer - rule = {'slice_by': 'index', 'source': slicer_table_name} + rule = {"slice_by": "index", "source": slicer_table_name} else: # if df has a column with same name as the ref_col (index) of a slicer? try: - source, ref_col = next((t, c) - for t, c in slicer_ref_cols.items() - if c in df.columns) + source, ref_col = next( + (t, c) + for t, c in slicer_ref_cols.items() + if c in df.columns + ) # then we can use that table to slice this df - rule = {'slice_by': 'column', - 'column': ref_col, - 'source': source} + rule = { + "slice_by": "column", + "column": ref_col, + "source": source, + } except StopIteration: - rule['slice_by'] = None + rule["slice_by"] = None - if rule['slice_by']: + if rule["slice_by"]: # cascade sliceability slicer_ref_cols[table_name] = df.index.name slice_rules[table_name] = rule for table_name, rule in slice_rules.items(): - if rule['slice_by'] is not None: - debug(f"### table_name: {table_name} slice_rules: {slice_rules[table_name]}") + if rule["slice_by"] is not None: + debug( + f"### table_name: {table_name} slice_rules: {slice_rules[table_name]}" + ) debug(f"### slicer_ref_cols: {slicer_ref_cols}") return slice_rules @@ -477,19 +481,21 @@ def apportion_pipeline(sub_proc_names, step_info): creates apportioned pipeline files for each sub job """ - slice_info = step_info.get('slice', None) - multiprocess_step_name = step_info.get('name', None) + slice_info = step_info.get("slice", None) + multiprocess_step_name = step_info.get("name", None) - pipeline_file_name = inject.get_injectable('pipeline_file_name') + pipeline_file_name = inject.get_injectable("pipeline_file_name") # ensure that if we are resuming, we don't apportion any tables from future model steps - last_checkpoint_in_previous_multiprocess_step = step_info.get('last_checkpoint_in_previous_multiprocess_step', None) + last_checkpoint_in_previous_multiprocess_step = step_info.get( + "last_checkpoint_in_previous_multiprocess_step", None + ) assert last_checkpoint_in_previous_multiprocess_step is not None pipeline.open_pipeline(resume_after=last_checkpoint_in_previous_multiprocess_step) # ensure all tables are in the pipeline checkpointed_tables = pipeline.checkpointed_tables() - for table_name in slice_info['tables']: + for table_name in slice_info["tables"]: if table_name not in checkpointed_tables: raise RuntimeError(f"slicer table {table_name} not found in pipeline") @@ -523,7 +529,9 @@ def apportion_pipeline(sub_proc_names, step_info): # use well-known pipeline file name process_name = sub_proc_names[i] - pipeline_path = config.build_output_file_path(pipeline_file_name, use_prefix=process_name) + pipeline_path = config.build_output_file_path( + pipeline_file_name, use_prefix=process_name + ) # remove existing file try: @@ -531,7 +539,7 @@ def apportion_pipeline(sub_proc_names, step_info): except OSError: pass - with pd.HDFStore(pipeline_path, mode='a') as pipeline_store: + with pd.HDFStore(pipeline_path, mode="a") as pipeline_store: # remember sliced_tables so we can cascade slicing to other tables sliced_tables = {} @@ -541,14 +549,16 @@ def apportion_pipeline(sub_proc_names, step_info): df = tables[table_name] - if rule['slice_by'] is not None and num_sub_procs > len(df): + if rule["slice_by"] is not None and num_sub_procs > len(df): # almost certainly a configuration error - raise RuntimeError(f"apportion_pipeline: multiprocess step {multiprocess_step_name} " - f"slice table {table_name} has fewer rows {df.shape} " - f"than num_processes ({num_sub_procs}).") + raise RuntimeError( + f"apportion_pipeline: multiprocess step {multiprocess_step_name} " + f"slice table {table_name} has fewer rows {df.shape} " + f"than num_processes ({num_sub_procs})." + ) - if rule['slice_by'] == 'primary': + if rule["slice_by"] == "primary": # slice primary apportion table by num_sub_procs strides # this hopefully yields a more random distribution # (e.g.) households are ordered by size in input store @@ -557,29 +567,37 @@ def apportion_pipeline(sub_proc_names, step_info): # we could easily work around this, but it seems likely this was an error on the user's part assert not df.index.duplicated().any() - primary_df = df[np.asanyarray(list(range(df.shape[0]))) % num_sub_procs == i] + primary_df = df[ + np.asanyarray(list(range(df.shape[0]))) % num_sub_procs == i + ] sliced_tables[table_name] = primary_df - elif rule['slice_by'] == 'index': + elif rule["slice_by"] == "index": # slice a table with same index name as a known slicer - source_df = sliced_tables[rule['source']] + source_df = sliced_tables[rule["source"]] sliced_tables[table_name] = df.loc[source_df.index] - elif rule['slice_by'] == 'column': + elif rule["slice_by"] == "column": # slice a table with a recognized slicer_column - source_df = sliced_tables[rule['source']] - sliced_tables[table_name] = df[df[rule['column']].isin(source_df.index)] - elif rule['slice_by'] is None: + source_df = sliced_tables[rule["source"]] + sliced_tables[table_name] = df[ + df[rule["column"]].isin(source_df.index) + ] + elif rule["slice_by"] is None: # don't slice mirrored tables sliced_tables[table_name] = df else: - raise RuntimeError("Unrecognized slice rule '%s' for table %s" % - (rule['slice_by'], table_name)) + raise RuntimeError( + "Unrecognized slice rule '%s' for table %s" + % (rule["slice_by"], table_name) + ) # - write table to pipeline hdf5_key = pipeline.pipeline_table_key(table_name, checkpoint_name) pipeline_store[hdf5_key] = sliced_tables[table_name] - debug(f"writing checkpoints ({checkpoints_df.shape}) " - f"to {pipeline.CHECKPOINT_TABLE_NAME} in {pipeline_path}") + debug( + f"writing checkpoints ({checkpoints_df.shape}) " + f"to {pipeline.CHECKPOINT_TABLE_NAME} in {pipeline_path}" + ) pipeline_store[pipeline.CHECKPOINT_TABLE_NAME] = checkpoints_df @@ -603,16 +621,18 @@ def coalesce_pipelines(sub_proc_names, slice_info): creates an omnibus pipeline with coalesced data from individual sub_proc pipelines """ - pipeline_file_name = inject.get_injectable('pipeline_file_name') + pipeline_file_name = inject.get_injectable("pipeline_file_name") debug(f"coalesce_pipelines to: {pipeline_file_name}") # - read all tables from first process pipeline # FIXME - note: assumes any new tables will be present in ALL subprocess pipelines tables = {} - pipeline_path = config.build_output_file_path(pipeline_file_name, use_prefix=sub_proc_names[0]) + pipeline_path = config.build_output_file_path( + pipeline_file_name, use_prefix=sub_proc_names[0] + ) - with pd.HDFStore(pipeline_path, mode='r') as pipeline_store: + with pd.HDFStore(pipeline_path, mode="r") as pipeline_store: # hdf5_keys is a dict mapping table_name to pipeline hdf5_key checkpoint_name, hdf5_keys = pipeline_table_keys(pipeline_store) @@ -630,21 +650,26 @@ def coalesce_pipelines(sub_proc_names, slice_info): # which new tables to coalesce. Populationsim uses this wildcard except directives to avoid having to list # many slice exceptions, and just lists weigh tables to coalesce. So don't change this behavior without testing # populationsim multiprocessing! - coalesce_tables = slice_info.get('coalesce', []) + coalesce_tables = slice_info.get("coalesce", []) # report absence of any slice_info.coalesce tables not in pipeline # we don't require their presence in case there are tracing tables that will only be present if tracing is enabled for table_name in coalesce_tables: if table_name not in tables: - logger.warning("slicer coalesce.table %s not found in pipeline" % table_name) + logger.warning( + "slicer coalesce.table %s not found in pipeline" % table_name + ) # - use slice rules followed by apportion_pipeline to identify mirrored tables # (tables that are identical in every pipeline and so don't need to be concatenated) slice_rules = build_slice_rules(slice_info, tables) # table is mirrored if no slice rule or explicitly listed in slice_info.coalesce setting - mirrored_table_names = \ - [t for t, rule in slice_rules.items() if rule['slice_by'] is None and t not in coalesce_tables] + mirrored_table_names = [ + t + for t, rule in slice_rules.items() + if rule["slice_by"] is None and t not in coalesce_tables + ] mirrored_tables = {t: tables[t] for t in mirrored_table_names} omnibus_keys = {t: k for t, k in hdf5_keys.items() if t not in mirrored_table_names} @@ -655,15 +680,17 @@ def coalesce_pipelines(sub_proc_names, slice_info): # assemble lists of omnibus tables from all sub_processes omnibus_tables = {table_name: [] for table_name in omnibus_keys} for process_name in sub_proc_names: - pipeline_path = config.build_output_file_path(pipeline_file_name, use_prefix=process_name) + pipeline_path = config.build_output_file_path( + pipeline_file_name, use_prefix=process_name + ) logger.info(f"coalesce pipeline {pipeline_path}") - with pd.HDFStore(pipeline_path, mode='r') as pipeline_store: + with pd.HDFStore(pipeline_path, mode="r") as pipeline_store: for table_name, hdf5_key in omnibus_keys.items(): omnibus_tables[table_name].append(pipeline_store[hdf5_key]) # open pipeline, preserving existing checkpoints (so resume_after will work for prior steps) - pipeline.open_pipeline('_') + pipeline.open_pipeline("_") # - add mirrored tables to pipeline for table_name in mirrored_tables: @@ -705,16 +732,18 @@ def setup_injectables_and_logging(injectables, locutor=True): # by default, assume we are running activitysim.abm # other callers (e.g. piopulationsim) will have to arrange to register their own steps and injectables # (presumably) in a custom run_simulation.py instead of using the 'activitysim run' command - if not inject.is_injectable('preload_injectables'): - from activitysim import abm # register abm steps and other abm-specific injectables + if not inject.is_injectable("preload_injectables"): + from activitysim import ( # register abm steps and other abm-specific injectables + abm, + ) try: for k, v in injectables.items(): inject.add_injectable(k, v) - inject.add_injectable('is_sub_task', True) - inject.add_injectable('locutor', locutor) + inject.add_injectable("is_sub_task", True) + inject.add_injectable("locutor", locutor) config.filter_warnings() @@ -722,7 +751,10 @@ def setup_injectables_and_logging(injectables, locutor=True): inject.add_injectable("log_file_prefix", process_name) except Exception as e: - exception(f"{type(e).__name__} exception while setting up injectables: {str(e)}", write_to_log_file=False) + exception( + f"{type(e).__name__} exception while setting up injectables: {str(e)}", + write_to_log_file=False, + ) raise e try: @@ -750,16 +782,20 @@ def adjust_chunk_size_for_shared_memory(chunk_size, data_buffers, num_processes) adjusted_chunk_size = chunk_size - fair_share_of_shared_memory - logger.info(f"adjust_chunk_size_for_shared_memory " - f"adjusted_chunk_size {util.INT(adjusted_chunk_size)} " - f"chunk_size {util.INT(chunk_size)} " - f"shared_memory_size {util.INT(shared_memory_size)} " - f"num_processes {num_processes} " - f"fair_share_of_shared_memory {util.INT(fair_share_of_shared_memory)} ") + logger.info( + f"adjust_chunk_size_for_shared_memory " + f"adjusted_chunk_size {util.INT(adjusted_chunk_size)} " + f"chunk_size {util.INT(chunk_size)} " + f"shared_memory_size {util.INT(shared_memory_size)} " + f"num_processes {num_processes} " + f"fair_share_of_shared_memory {util.INT(fair_share_of_shared_memory)} " + ) if adjusted_chunk_size <= 0: - raise RuntimeError(f"adjust_chunk_size_for_shared_memory: chunk_size too small for shared memory. " - f"adjusted_chunk_size: {adjusted_chunk_size}") + raise RuntimeError( + f"adjust_chunk_size_for_shared_memory: chunk_size too small for shared memory. " + f"adjusted_chunk_size: {adjusted_chunk_size}" + ) return adjusted_chunk_size @@ -785,13 +821,15 @@ def run_simulation(queue, step_info, resume_after, shared_data_buffer): # step_label = step_info['name'] - models = step_info['models'] - chunk_size = step_info['chunk_size'] - num_processes = step_info['num_processes'] + models = step_info["models"] + chunk_size = step_info["chunk_size"] + num_processes = step_info["num_processes"] - chunk_size = adjust_chunk_size_for_shared_memory(chunk_size, shared_data_buffer, num_processes) + chunk_size = adjust_chunk_size_for_shared_memory( + chunk_size, shared_data_buffer, num_processes + ) - inject.add_injectable('data_buffers', shared_data_buffer) + inject.add_injectable("data_buffers", shared_data_buffer) inject.add_injectable("chunk_size", chunk_size) inject.add_injectable("num_processes", num_processes) @@ -799,8 +837,11 @@ def run_simulation(queue, step_info, resume_after, shared_data_buffer): info(f"resume_after {resume_after}") # if they specified a resume_after model, check to make sure it is checkpointed - if resume_after != LAST_CHECKPOINT and \ - resume_after not in pipeline.get_checkpoints()[pipeline.CHECKPOINT_NAME].values: + if ( + resume_after != LAST_CHECKPOINT + and resume_after + not in pipeline.get_checkpoints()[pipeline.CHECKPOINT_NAME].values + ): # if not checkpointed, then fall back to last checkpoint info(f"resume_after checkpoint '{resume_after}' not in pipeline.") resume_after = LAST_CHECKPOINT @@ -810,9 +851,9 @@ def run_simulation(queue, step_info, resume_after, shared_data_buffer): if last_checkpoint in models: info(f"Resuming model run list after {last_checkpoint}") - models = models[models.index(last_checkpoint) + 1:] + models = models[models.index(last_checkpoint) + 1 :] - assert inject.get_injectable('preload_injectables', None) + assert inject.get_injectable("preload_injectables", None) t0 = tracing.print_elapsed_time() for model in models: @@ -826,12 +867,12 @@ def run_simulation(queue, step_info, resume_after, shared_data_buffer): raise e tracing.log_runtime(model_name=model, start_time=t1) - queue.put({'model': model, 'time': time.time()-t1}) + queue.put({"model": model, "time": time.time() - t1}) tracing.print_elapsed_time("run (%s models)" % len(models), t0) # add checkpoint with final tables even if not intermediate checkpointing - checkpoint_name = step_info['name'] + checkpoint_name = step_info["name"] pipeline.add_checkpoint(checkpoint_name) pipeline.close_pipeline() @@ -859,11 +900,13 @@ def mp_run_simulation(locutor, queue, injectables, step_info, resume_after, **kw setup_injectables_and_logging(injectables, locutor=locutor) - debug(f"mp_run_simulation {step_info['name']} locutor={inject.get_injectable('locutor', False)} ") + debug( + f"mp_run_simulation {step_info['name']} locutor={inject.get_injectable('locutor', False)} " + ) try: - if step_info['num_processes'] > 1: + if step_info["num_processes"] > 1: pipeline_prefix = multiprocessing.current_process().name logger.debug(f"injecting pipeline_file_prefix '{pipeline_prefix}'") inject.add_injectable("pipeline_file_prefix", pipeline_prefix) @@ -897,7 +940,9 @@ def mp_apportion_pipeline(injectables, sub_proc_names, step_info): try: apportion_pipeline(sub_proc_names, step_info) except Exception as e: - exception(f"{type(e).__name__} exception caught in mp_apportion_pipeline: {str(e)}") + exception( + f"{type(e).__name__} exception caught in mp_apportion_pipeline: {str(e)}" + ) raise e @@ -923,7 +968,7 @@ def mp_setup_skims(injectables, **kwargs): try: shared_data_buffer = kwargs - network_los_preload = inject.get_injectable('network_los_preload', None) + network_los_preload = inject.get_injectable("network_los_preload", None) if network_los_preload is not None: network_los_preload.load_shared_data(shared_data_buffer) @@ -952,7 +997,9 @@ def mp_coalesce_pipelines(injectables, sub_proc_names, slice_info): try: coalesce_pipelines(sub_proc_names, slice_info) except Exception as e: - exception(f"{type(e).__name__} exception caught in coalesce_pipelines: {str(e)}") + exception( + f"{type(e).__name__} exception caught in coalesce_pipelines: {str(e)}" + ) raise e @@ -975,7 +1022,7 @@ def allocate_shared_skim_buffers(): info("allocate_shared_skim_buffer") - network_los = inject.get_injectable('network_los_preload', None) + network_los = inject.get_injectable("network_los_preload", None) if network_los is not None: skim_buffers = network_los.allocate_shared_skim_buffers() else: @@ -995,11 +1042,14 @@ def allocate_shared_shadow_pricing_buffers(): info("allocate_shared_shadow_pricing_buffers") - shadow_pricing_info = inject.get_injectable('shadow_pricing_info', None) + shadow_pricing_info = inject.get_injectable("shadow_pricing_info", None) if shadow_pricing_info is not None: from activitysim.abm.tables import shadow_pricing - shadow_pricing_buffers = shadow_pricing.buffers_for_shadow_pricing(shadow_pricing_info) + + shadow_pricing_buffers = shadow_pricing.buffers_for_shadow_pricing( + shadow_pricing_info + ) else: shadow_pricing_buffers = {} @@ -1007,10 +1057,14 @@ def allocate_shared_shadow_pricing_buffers(): def run_sub_simulations( - injectables, - shared_data_buffers, - step_info, process_names, - resume_after, previously_completed, fail_fast): + injectables, + shared_data_buffers, + step_info, + process_names, + resume_after, + previously_completed, + fail_fast, +): """ Launch sub processes to run models in step according to specification in step_info. @@ -1046,12 +1100,15 @@ def run_sub_simulations( names of sub_processes that completed successfully """ + def log_queued_messages(): for process, queue in zip(procs, queues): while not queue.empty(): msg = queue.get(block=False) - model_name = msg['model'] - info(f"{process.name} {model_name} : {tracing.format_elapsed_time(msg['time'])}") + model_name = msg["model"] + info( + f"{process.name} {model_name} : {tracing.format_elapsed_time(msg['time'])}" + ) mem.trace_memory_info(f"{process.name}.{model_name}.completed") def check_proc_status(): @@ -1065,7 +1122,7 @@ def check_proc_status(): if p.name not in completed: info(f"process {p.name} completed") completed.add(p.name) - drop_breadcrumb(step_name, 'completed', list(completed)) + drop_breadcrumb(step_name, "completed", list(completed)) mem.trace_memory_info(f"{p.name}.completed") else: # process failed @@ -1084,10 +1141,10 @@ def check_proc_status(): info(f"error terminating process {op.name}: {e}") raise RuntimeError("Process %s failed" % (p.name,)) - step_name = step_info['name'] + step_name = step_info["name"] t0 = tracing.print_elapsed_time() - info(f'run_sub_simulations step {step_name} models resume_after {resume_after}') + info(f"run_sub_simulations step {step_name} models resume_after {resume_after}") # if resuming and some processes completed successfully in previous run if previously_completed: @@ -1097,15 +1154,19 @@ def check_proc_status(): if resume_after == LAST_CHECKPOINT: # if we are resuming where previous run left off, then we can skip running # any subprocudures that successfully complete the previous run - process_names = [name for name in process_names if name not in previously_completed] - info(f'step {step_name}: skipping {len(previously_completed)} previously completed subprocedures') + process_names = [ + name for name in process_names if name not in previously_completed + ] + info( + f"step {step_name}: skipping {len(previously_completed)} previously completed subprocedures" + ) else: # if we are resuming after a specific model, then force all subprocesses to run # (assuming if they specified a model, they really want everything after that to run) previously_completed = [] # if not the first step, resume_after the last checkpoint from the previous step - if resume_after is None and step_info['step_num'] > 0: + if resume_after is None and step_info["step_num"] > 0: resume_after = LAST_CHECKPOINT num_simulations = len(process_names) @@ -1114,17 +1175,19 @@ def check_proc_status(): completed = set(previously_completed) failed = set([]) # so we can log process failure first time it happens - drop_breadcrumb(step_name, 'completed', list(completed)) + drop_breadcrumb(step_name, "completed", list(completed)) for i, process_name in enumerate(process_names): q = multiprocessing.Queue() - locutor = (i == 0) - - args = OrderedDict(locutor=locutor, - queue=q, - injectables=injectables, - step_info=step_info, - resume_after=resume_after) + locutor = i == 0 + + args = OrderedDict( + locutor=locutor, + queue=q, + injectables=injectables, + step_info=step_info, + resume_after=resume_after, + ) # debug(f"create_process {process_name} target={mp_run_simulation}") # for k in args: @@ -1132,9 +1195,18 @@ def check_proc_status(): # for k in shared_data_buffers: # debug(f"create_process {process_name} shared_data_buffers {k}={shared_data_buffers[k]}") - p = multiprocessing.Process(target=mp_run_simulation, name=process_name, - args=(locutor, q, injectables, step_info, resume_after,), - kwargs=shared_data_buffers) + p = multiprocessing.Process( + target=mp_run_simulation, + name=process_name, + args=( + locutor, + q, + injectables, + step_info, + resume_after, + ), + kwargs=shared_data_buffers, + ) procs.append(p) queues.append(q) @@ -1159,7 +1231,7 @@ def __setstate__(self, state): # XXX the correct long-term fix. See issue 23060 #assert _winapi.GetLastError() == _winapi.ERROR_ALREADY_EXISTS """ - if sys.platform == 'win32': + if sys.platform == "win32": time.sleep(1) mem.trace_memory_info(f"{p.name}.start") @@ -1170,7 +1242,9 @@ def __setstate__(self, state): # monitor sub process status and drop breadcrumbs or fail_fast as they terminate check_proc_status() # monitor memory usage - mem.trace_memory_info("run_sub_simulations.idle", trace_ticks=mem.MEM_PARENT_TRACE_TICK_LEN) + mem.trace_memory_info( + "run_sub_simulations.idle", trace_ticks=mem.MEM_PARENT_TRACE_TICK_LEN + ) time.sleep(1) # clean up any messages or breadcrumbs that occurred while we slept @@ -1188,7 +1262,7 @@ def __setstate__(self, state): info(f"Process {p.name} completed with exitcode {p.exitcode}") assert p.name in completed - t0 = tracing.print_elapsed_time('run_sub_simulations step %s' % step_name, t0) + t0 = tracing.print_elapsed_time("run_sub_simulations step %s" % step_name, t0) return list(completed) @@ -1211,13 +1285,15 @@ def run_sub_task(p): p.start() while multiprocessing.active_children(): - mem.trace_memory_info("run_sub_simulations.idle", trace_ticks=mem.MEM_PARENT_TRACE_TICK_LEN) + mem.trace_memory_info( + "run_sub_simulations.idle", trace_ticks=mem.MEM_PARENT_TRACE_TICK_LEN + ) time.sleep(1) # no need to join explicitly since multiprocessing.active_children joins completed procs # p.join() - t0 = tracing.print_elapsed_time('#run_model sub_process %s' % p.name, t0) + t0 = tracing.print_elapsed_time("#run_model sub_process %s" % p.name, t0) # info(f'{p.name}.exitcode = {p.exitcode}') mem.trace_memory_info(f"run_model {p.name} completed") @@ -1248,9 +1324,9 @@ def drop_breadcrumb(step_name, crumb, value=True): ------- """ - breadcrumbs = inject.get_injectable('breadcrumbs', OrderedDict()) - breadcrumbs.setdefault(step_name, {'name': step_name})[crumb] = value - inject.add_injectable('breadcrumbs', breadcrumbs) + breadcrumbs = inject.get_injectable("breadcrumbs", OrderedDict()) + breadcrumbs.setdefault(step_name, {"name": step_name})[crumb] = value + inject.add_injectable("breadcrumbs", breadcrumbs) write_breadcrumbs(breadcrumbs) @@ -1288,14 +1364,16 @@ def run_multiprocess(injectables): run_list = get_run_list() - if not run_list['multiprocess']: - raise RuntimeError("run_multiprocess called but multiprocess flag is %s" % - run_list['multiprocess']) + if not run_list["multiprocess"]: + raise RuntimeError( + "run_multiprocess called but multiprocess flag is %s" + % run_list["multiprocess"] + ) - old_breadcrumbs = run_list.get('breadcrumbs', {}) + old_breadcrumbs = run_list.get("breadcrumbs", {}) # raise error if any sub-process fails without waiting for others to complete - fail_fast = setting('fail_fast') + fail_fast = setting("fail_fast") info(f"run_multiprocess fail_fast: {fail_fast}") def skip_phase(phase): @@ -1314,32 +1392,35 @@ def find_breadcrumb(crumb, default=None): t0 = tracing.print_elapsed_time() shared_data_buffers.update(allocate_shared_skim_buffers()) - t0 = tracing.print_elapsed_time('allocate shared skim buffer', t0) + t0 = tracing.print_elapsed_time("allocate shared skim buffer", t0) mem.trace_memory_info("allocate_shared_skim_buffer.completed") # combine shared_skim_buffer and shared_shadow_pricing_buffer in shared_data_buffer t0 = tracing.print_elapsed_time() shared_data_buffers.update(allocate_shared_shadow_pricing_buffers()) - t0 = tracing.print_elapsed_time('allocate shared shadow_pricing buffer', t0) + t0 = tracing.print_elapsed_time("allocate shared shadow_pricing buffer", t0) mem.trace_memory_info("allocate_shared_shadow_pricing_buffers.completed") # - mp_setup_skims if len(shared_data_buffers) > 0: run_sub_task( multiprocessing.Process( - target=mp_setup_skims, name='mp_setup_skims', args=(injectables,), - kwargs=shared_data_buffers) + target=mp_setup_skims, + name="mp_setup_skims", + args=(injectables,), + kwargs=shared_data_buffers, + ) ) - t0 = tracing.print_elapsed_time('setup shared_data_buffers', t0) + t0 = tracing.print_elapsed_time("setup shared_data_buffers", t0) mem.trace_memory_info("mp_setup_skims.completed") # - for each step in run list - for step_info in run_list['multiprocess_steps']: + for step_info in run_list["multiprocess_steps"]: - step_name = step_info['name'] + step_name = step_info["name"] - num_processes = step_info['num_processes'] - slice_info = step_info.get('slice', None) + num_processes = step_info["num_processes"] + slice_info = step_info.get("slice", None) if num_processes == 1: sub_proc_names = [step_name] @@ -1347,43 +1428,53 @@ def find_breadcrumb(crumb, default=None): sub_proc_names = ["%s_%s" % (step_name, i) for i in range(num_processes)] # - mp_apportion_pipeline - if not skip_phase('apportion') and num_processes > 1: + if not skip_phase("apportion") and num_processes > 1: run_sub_task( multiprocessing.Process( - target=mp_apportion_pipeline, name='%s_apportion' % step_name, - args=(injectables, sub_proc_names, step_info)) + target=mp_apportion_pipeline, + name="%s_apportion" % step_name, + args=(injectables, sub_proc_names, step_info), + ) ) - drop_breadcrumb(step_name, 'apportion') + drop_breadcrumb(step_name, "apportion") # - run_sub_simulations - if not skip_phase('simulate'): - resume_after = step_info.get('resume_after', None) - - previously_completed = find_breadcrumb('completed', default=[]) - - completed = run_sub_simulations(injectables, - shared_data_buffers, - step_info, - sub_proc_names, - resume_after, previously_completed, fail_fast) + if not skip_phase("simulate"): + resume_after = step_info.get("resume_after", None) + + previously_completed = find_breadcrumb("completed", default=[]) + + completed = run_sub_simulations( + injectables, + shared_data_buffers, + step_info, + sub_proc_names, + resume_after, + previously_completed, + fail_fast, + ) if len(completed) != num_processes: - raise RuntimeError("%s processes failed in step %s" % - (num_processes - len(completed), step_name)) - drop_breadcrumb(step_name, 'simulate') + raise RuntimeError( + "%s processes failed in step %s" + % (num_processes - len(completed), step_name) + ) + drop_breadcrumb(step_name, "simulate") # - mp_coalesce_pipelines - if not skip_phase('coalesce') and num_processes > 1: + if not skip_phase("coalesce") and num_processes > 1: run_sub_task( multiprocessing.Process( - target=mp_coalesce_pipelines, name='%s_coalesce' % step_name, - args=(injectables, sub_proc_names, slice_info)) + target=mp_coalesce_pipelines, + name="%s_coalesce" % step_name, + args=(injectables, sub_proc_names, slice_info), + ) ) - drop_breadcrumb(step_name, 'coalesce') + drop_breadcrumb(step_name, "coalesce") # add checkpoint with final tables even if not intermediate checkpointing if not pipeline.intermediate_checkpoint(): - pipeline.open_pipeline('_') + pipeline.open_pipeline("_") pipeline.add_checkpoint(pipeline.FINAL_CHECKPOINT_NAME) pipeline.close_pipeline() @@ -1418,7 +1509,7 @@ def get_breadcrumbs(run_list): validated and annotated breadcrumbs file from previous run """ - resume_after = run_list['resume_after'] + resume_after = run_list["resume_after"] assert resume_after is not None # - read breadcrumbs file from previous run @@ -1436,31 +1527,40 @@ def get_breadcrumbs(run_list): previous_steps = list(breadcrumbs.keys()) # find the run_list step resume_after is in - resume_step = next((step for step in run_list['multiprocess_steps'] - if resume_after in step['models']), None) + resume_step = next( + ( + step + for step in run_list["multiprocess_steps"] + if resume_after in step["models"] + ), + None, + ) - resume_step_name = resume_step['name'] + resume_step_name = resume_step["name"] if resume_step_name not in previous_steps: error(f"resume_after model '{resume_after}' not in breadcrumbs") - raise RuntimeError("resume_after model '%s' not in breadcrumbs" % resume_after) + raise RuntimeError( + "resume_after model '%s' not in breadcrumbs" % resume_after + ) # drop any previous_breadcrumbs steps after resume_step - for step in previous_steps[previous_steps.index(resume_step_name) + 1:]: + for step in previous_steps[previous_steps.index(resume_step_name) + 1 :]: del breadcrumbs[step] # if resume_after is not the last model in the step # then we need to rerun the simulations in that step, even if they succeeded - if resume_after in resume_step['models'][:-1]: - if 'simulate' in breadcrumbs[resume_step_name]: - breadcrumbs[resume_step_name]['simulate'] = None - if 'coalesce' in breadcrumbs[resume_step_name]: - breadcrumbs[resume_step_name]['coalesce'] = None - - multiprocess_step_names = [step['name'] for step in run_list['multiprocess_steps']] - if list(breadcrumbs.keys()) != multiprocess_step_names[:len(breadcrumbs)]: - raise RuntimeError("last run steps don't match run list: %s" % - list(breadcrumbs.keys())) + if resume_after in resume_step["models"][:-1]: + if "simulate" in breadcrumbs[resume_step_name]: + breadcrumbs[resume_step_name]["simulate"] = None + if "coalesce" in breadcrumbs[resume_step_name]: + breadcrumbs[resume_step_name]["coalesce"] = None + + multiprocess_step_names = [step["name"] for step in run_list["multiprocess_steps"]] + if list(breadcrumbs.keys()) != multiprocess_step_names[: len(breadcrumbs)]: + raise RuntimeError( + "last run steps don't match run list: %s" % list(breadcrumbs.keys()) + ) return breadcrumbs @@ -1514,36 +1614,46 @@ def get_run_list(): validated and annotated run_list """ - models = setting('models', []) - multiprocess_steps = setting('multiprocess_steps', []) + models = setting("models", []) + multiprocess_steps = setting("multiprocess_steps", []) - resume_after = inject.get_injectable('resume_after', None) or setting('resume_after', None) - multiprocess = inject.get_injectable('multiprocess', False) or setting('multiprocess', False) + resume_after = inject.get_injectable("resume_after", None) or setting( + "resume_after", None + ) + multiprocess = inject.get_injectable("multiprocess", False) or setting( + "multiprocess", False + ) # default settings that can be overridden by settings in individual steps - global_chunk_size = setting('chunk_size', 0) or 0 - default_mp_processes = setting('num_processes', 0) or int(1 + multiprocessing.cpu_count() / 2.0) + global_chunk_size = setting("chunk_size", 0) or 0 + default_mp_processes = setting("num_processes", 0) or int( + 1 + multiprocessing.cpu_count() / 2.0 + ) if multiprocess and multiprocessing.cpu_count() == 1: warning("Can't multiprocess because there is only 1 cpu") run_list = { - 'models': models, - 'resume_after': resume_after, - 'multiprocess': multiprocess, + "models": models, + "resume_after": resume_after, + "multiprocess": multiprocess, # 'multiprocess_steps': multiprocess_steps # add this later if multiprocess } if not models or not isinstance(models, list): - raise RuntimeError('No models list in settings file') + raise RuntimeError("No models list in settings file") if resume_after == models[-1]: - raise RuntimeError("resume_after '%s' is last model in models list" % resume_after) + raise RuntimeError( + "resume_after '%s' is last model in models list" % resume_after + ) if multiprocess: if not multiprocess_steps: - raise RuntimeError("multiprocess setting is %s but no multiprocess_steps setting" % - multiprocess) + raise RuntimeError( + "multiprocess setting is %s but no multiprocess_steps setting" + % multiprocess + ) # check step name, num_processes, chunk_size and presence of slice info num_steps = len(multiprocess_steps) @@ -1551,46 +1661,56 @@ def get_run_list(): for istep in range(num_steps): step = multiprocess_steps[istep] - step['step_num'] = istep + step["step_num"] = istep # - validate step name - name = step.get('name', None) + name = step.get("name", None) if not name: - raise RuntimeError("missing name for step %s" - " in multiprocess_steps" % istep) + raise RuntimeError( + "missing name for step %s" " in multiprocess_steps" % istep + ) if name in step_names: - raise RuntimeError("duplicate step name %s" - " in multiprocess_steps" % name) + raise RuntimeError( + "duplicate step name %s" " in multiprocess_steps" % name + ) if name in models: - raise RuntimeError(f"multiprocess_steps step name '{name}' cannot also be a model name") + raise RuntimeError( + f"multiprocess_steps step name '{name}' cannot also be a model name" + ) step_names.add(name) # - validate num_processes and assign default - num_processes = step.get('num_processes', 0) + num_processes = step.get("num_processes", 0) if not isinstance(num_processes, int) or num_processes < 0: - raise RuntimeError("bad value (%s) for num_processes for step %s" - " in multiprocess_steps" % (num_processes, name)) + raise RuntimeError( + "bad value (%s) for num_processes for step %s" + " in multiprocess_steps" % (num_processes, name) + ) - if 'slice' in step: + if "slice" in step: if num_processes == 0: info(f"Setting num_processes = {num_processes} for step {name}") num_processes = default_mp_processes if num_processes > multiprocessing.cpu_count(): - warning(f"num_processes setting ({num_processes}) " - f"greater than cpu count ({ multiprocessing.cpu_count()})") + warning( + f"num_processes setting ({num_processes}) " + f"greater than cpu count ({ multiprocessing.cpu_count()})" + ) else: if num_processes == 0: num_processes = 1 if num_processes > 1: - raise RuntimeError("num_processes > 1 but no slice info for step %s" - " in multiprocess_steps" % name) + raise RuntimeError( + "num_processes > 1 but no slice info for step %s" + " in multiprocess_steps" % name + ) - multiprocess_steps[istep]['num_processes'] = num_processes + multiprocess_steps[istep]["num_processes"] = num_processes # - validate chunk_size and assign default - chunk_size = step.get('chunk_size', None) + chunk_size = step.get("chunk_size", None) if chunk_size is None: if global_chunk_size > 0 and num_processes > 1: chunk_size = int(round(global_chunk_size / num_processes)) @@ -1598,77 +1718,91 @@ def get_run_list(): else: chunk_size = global_chunk_size - multiprocess_steps[istep]['chunk_size'] = chunk_size + multiprocess_steps[istep]["chunk_size"] = chunk_size # - determine index in models list of step starts - start_tag = 'begin' + start_tag = "begin" starts = [0] * len(multiprocess_steps) for istep in range(num_steps): step = multiprocess_steps[istep] - name = step['name'] + name = step["name"] - slice = step.get('slice', None) + slice = step.get("slice", None) if slice: - if 'tables' not in slice: - raise RuntimeError("missing tables list for step %s" - " in multiprocess_steps" % istep) + if "tables" not in slice: + raise RuntimeError( + "missing tables list for step %s" + " in multiprocess_steps" % istep + ) start = step.get(start_tag, None) if not name: - raise RuntimeError("missing %s tag for step '%s' (%s)" - " in multiprocess_steps" % - (start_tag, name, istep)) + raise RuntimeError( + "missing %s tag for step '%s' (%s)" + " in multiprocess_steps" % (start_tag, name, istep) + ) if start not in models: - raise RuntimeError("%s tag '%s' for step '%s' (%s) not in models list" % - (start_tag, start, name, istep)) + raise RuntimeError( + "%s tag '%s' for step '%s' (%s) not in models list" + % (start_tag, start, name, istep) + ) starts[istep] = models.index(start) if istep == 0 and starts[istep] != 0: - raise RuntimeError("%s tag '%s' for first step '%s' (%s)" - " is not first model in models list" % - (start_tag, start, name, istep)) + raise RuntimeError( + "%s tag '%s' for first step '%s' (%s)" + " is not first model in models list" + % (start_tag, start, name, istep) + ) if istep > 0 and starts[istep] <= starts[istep - 1]: - raise RuntimeError("%s tag '%s' for step '%s' (%s)" - " falls before that of prior step in models list" % - (start_tag, start, name, istep)) + raise RuntimeError( + "%s tag '%s' for step '%s' (%s)" + " falls before that of prior step in models list" + % (start_tag, start, name, istep) + ) # remember there should always be a final checkpoint with same name as multiprocess_step name - multiprocess_steps[istep]['last_checkpoint_in_previous_multiprocess_step'] = \ - multiprocess_steps[istep - 1].get('name') if istep > 0 else None + multiprocess_steps[istep][ + "last_checkpoint_in_previous_multiprocess_step" + ] = (multiprocess_steps[istep - 1].get("name") if istep > 0 else None) # - build individual step model lists based on starts starts.append(len(models)) # so last step gets remaining models in list for istep in range(num_steps): - step_models = models[starts[istep]: starts[istep + 1]] + step_models = models[starts[istep] : starts[istep + 1]] if step_models[-1][0] == LAST_CHECKPOINT: - raise RuntimeError("Final model '%s' in step %s models list not checkpointed" % - (step_models[-1], name)) + raise RuntimeError( + "Final model '%s' in step %s models list not checkpointed" + % (step_models[-1], name) + ) - multiprocess_steps[istep]['models'] = step_models + multiprocess_steps[istep]["models"] = step_models - run_list['multiprocess_steps'] = multiprocess_steps + run_list["multiprocess_steps"] = multiprocess_steps # - add resume breadcrumbs if resume_after: breadcrumbs = get_breadcrumbs(run_list) if breadcrumbs: - run_list['breadcrumbs'] = breadcrumbs + run_list["breadcrumbs"] = breadcrumbs # - add resume_after to last step if resume_after is not None: # get_breadcrumbs should have deleted breadcrumbs for any subsequent steps istep = len(breadcrumbs) - 1 - assert resume_after == LAST_CHECKPOINT or \ - resume_after in multiprocess_steps[istep]['models'] - multiprocess_steps[istep]['resume_after'] = resume_after + assert ( + resume_after == LAST_CHECKPOINT + or resume_after in multiprocess_steps[istep]["models"] + ) + multiprocess_steps[istep]["resume_after"] = resume_after # - write run list to output dir # use log_file_path so we use (optional) log subdir and prefix process name - with config.open_log_file('run_list.txt', 'w') as f: + with config.open_log_file("run_list.txt", "w") as f: print_run_list(run_list, f) return run_list @@ -1687,18 +1821,18 @@ def print_run_list(run_list, output_file=None): if output_file is None: output_file = sys.stdout - print("resume_after:", run_list['resume_after'], file=output_file) - print("multiprocess:", run_list['multiprocess'], file=output_file) + print("resume_after:", run_list["resume_after"], file=output_file) + print("multiprocess:", run_list["multiprocess"], file=output_file) print("models:", file=output_file) - for m in run_list['models']: + for m in run_list["models"]: print(" - ", m, file=output_file) # - print multiprocess_steps - if run_list['multiprocess']: + if run_list["multiprocess"]: print("\nmultiprocess_steps:", file=output_file) - for step in run_list['multiprocess_steps']: - print(" step:", step['name'], file=output_file) + for step in run_list["multiprocess_steps"]: + print(" step:", step["name"], file=output_file) for k in step: if isinstance(step[k], list): print(" %s:" % k, file=output_file) @@ -1708,7 +1842,7 @@ def print_run_list(run_list, output_file=None): print(" %s: %s" % (k, step[k]), file=output_file) # - print breadcrumbs - breadcrumbs = run_list.get('breadcrumbs') + breadcrumbs = run_list.get("breadcrumbs") if breadcrumbs: print("\nbreadcrumbs:", file=output_file) for step_name in breadcrumbs: @@ -1725,7 +1859,7 @@ def print_run_list(run_list, output_file=None): def breadcrumbs_file_path(): # return path to breadcrumbs file in output_dir - return config.build_output_file_path('breadcrumbs.yaml') + return config.build_output_file_path("breadcrumbs.yaml") def read_breadcrumbs(): @@ -1742,10 +1876,10 @@ def read_breadcrumbs(): file_path = breadcrumbs_file_path() if not os.path.exists(file_path): raise IOError("Could not find saved breadcrumbs file '%s'" % file_path) - with open(file_path, 'r') as f: + with open(file_path, "r") as f: breadcrumbs = yaml.load(f, Loader=yaml.SafeLoader) # convert array to ordered dict keyed by step name - breadcrumbs = OrderedDict([(step['name'], step) for step in breadcrumbs]) + breadcrumbs = OrderedDict([(step["name"], step) for step in breadcrumbs]) return breadcrumbs @@ -1768,7 +1902,7 @@ def write_breadcrumbs(breadcrumbs): ---------- breadcrumbs : OrderedDict """ - with open(breadcrumbs_file_path(), 'w') as f: + with open(breadcrumbs_file_path(), "w") as f: # write ordered dict as array breadcrumbs = [step for step in list(breadcrumbs.values())] yaml.dump(breadcrumbs, f) @@ -1796,4 +1930,4 @@ def if_sub_task(if_is, if_isnt): (any type) (one of parameters if_is or if_isnt) """ - return if_is if inject.get_injectable('is_sub_task', False) else if_isnt + return if_is if inject.get_injectable("is_sub_task", False) else if_isnt diff --git a/activitysim/core/pathbuilder.py b/activitysim/core/pathbuilder.py index d4cee77504..91107e08e7 100644 --- a/activitysim/core/pathbuilder.py +++ b/activitysim/core/pathbuilder.py @@ -1,27 +1,26 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - import logging import warnings +from builtins import range + import numpy as np import pandas as pd -from activitysim.core import tracing -from activitysim.core import inject -from activitysim.core import config -from activitysim.core import chunk -from activitysim.core import logit -from activitysim.core import simulate -from activitysim.core import los -from activitysim.core import pathbuilder_cache - -from activitysim.core.util import reindex - -from activitysim.core import expressions -from activitysim.core import assign - +from activitysim.core import ( + assign, + chunk, + config, + expressions, + inject, + logit, + los, + pathbuilder_cache, + simulate, + tracing, +) from activitysim.core.pathbuilder_cache import memo +from activitysim.core.util import reindex logger = logging.getLogger(__name__) @@ -33,31 +32,40 @@ UNAVAILABLE = -999 # used as base file name for cached files and as shared buffer tag -CACHE_TAG = 'tap_tap_utilities' - - -def compute_utilities(network_los, model_settings, choosers, model_constants, - trace_label, trace=False, trace_column_names=None): +CACHE_TAG = "tap_tap_utilities" + + +def compute_utilities( + network_los, + model_settings, + choosers, + model_constants, + trace_label, + trace=False, + trace_column_names=None, +): """ Compute utilities """ - trace_label = tracing.extend_trace_label(trace_label, 'compute_utils') + trace_label = tracing.extend_trace_label(trace_label, "compute_utils") with chunk.chunk_log(trace_label): - logger.debug(f"{trace_label} Running compute_utilities with {choosers.shape[0]} choosers") + logger.debug( + f"{trace_label} Running compute_utilities with {choosers.shape[0]} choosers" + ) - locals_dict = {'np': np, 'los': network_los} + locals_dict = {"np": np, "los": network_los} locals_dict.update(model_constants) # we don't grok coefficients, but allow them to use constants in spec alt columns - spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) for c in spec.columns: if c != simulate.SPEC_LABEL_NAME: spec[c] = spec[c].map(lambda s: model_constants.get(s, s)).astype(float) # - run preprocessor to annotate choosers - preprocessor_settings = model_settings.get('PREPROCESSOR') + preprocessor_settings = model_settings.get("PREPROCESSOR") if preprocessor_settings: # don't want to alter caller's dataframe @@ -67,7 +75,8 @@ def compute_utilities(network_los, model_settings, choosers, model_constants, df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) utilities = simulate.eval_utilities( spec, @@ -75,7 +84,8 @@ def compute_utilities(network_los, model_settings, choosers, model_constants, locals_d=locals_dict, trace_all_rows=trace, trace_label=trace_label, - trace_column_names=trace_column_names) + trace_column_names=trace_column_names, + ) return utilities @@ -84,6 +94,7 @@ class TransitVirtualPathBuilder(object): """ Transit virtual path builder for three zone systems """ + def __init__(self, network_los): self.network_los = network_los @@ -91,130 +102,168 @@ def __init__(self, network_los): self.uid_calculator = pathbuilder_cache.TapTapUidCalculator(network_los) # note: pathbuilder_cache is lightweight until opened - self.tap_cache = pathbuilder_cache.TVPBCache(self.network_los, self.uid_calculator, CACHE_TAG) + self.tap_cache = pathbuilder_cache.TVPBCache( + self.network_los, self.uid_calculator, CACHE_TAG + ) - assert network_los.zone_system == los.THREE_ZONE, \ - f"TransitVirtualPathBuilder: network_los zone_system not THREE_ZONE" + assert ( + network_los.zone_system == los.THREE_ZONE + ), f"TransitVirtualPathBuilder: network_los zone_system not THREE_ZONE" def trace_df(self, df, trace_label, extension): assert len(df) > 0 - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, extension), slicer='NONE', transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, extension), + slicer="NONE", + transpose=False, + ) def trace_maz_tap(self, maz_od_df, access_mode, egress_mode): - def maz_tap_stats(mode, name): maz_tap_df = self.network_los.maz_to_tap_dfs[mode].reset_index() logger.debug(f"TVPB access_maz_tap {maz_tap_df.shape}") MAZ_count = len(maz_tap_df.MAZ.unique()) TAP_count = len(maz_tap_df.TAP.unique()) MAZ_PER_TAP = MAZ_count / TAP_count - logger.debug(f"TVPB maz_tap_stats {name} {mode} MAZ {MAZ_count} TAP {TAP_count} ratio {MAZ_PER_TAP}") + logger.debug( + f"TVPB maz_tap_stats {name} {mode} MAZ {MAZ_count} TAP {TAP_count} ratio {MAZ_PER_TAP}" + ) logger.debug(f"TVPB maz_od_df {maz_od_df.shape}") - maz_tap_stats(access_mode, 'access') - maz_tap_stats(egress_mode, 'egress') + maz_tap_stats(access_mode, "access") + maz_tap_stats(egress_mode, "egress") def units_for_recipe(self, recipe): - units = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.units') - assert units in ['utility', 'time'], \ - f"unrecognized units: {units} for {recipe}. Expected either 'time' or 'utility'." + units = self.network_los.setting(f"TVPB_SETTINGS.{recipe}.units") + assert units in [ + "utility", + "time", + ], f"unrecognized units: {units} for {recipe}. Expected either 'time' or 'utility'." return units - def compute_maz_tap_utilities(self, recipe, maz_od_df, chooser_attributes, leg, mode, trace_label, trace): + def compute_maz_tap_utilities( + self, recipe, maz_od_df, chooser_attributes, leg, mode, trace_label, trace + ): - trace_label = tracing.extend_trace_label(trace_label, f'maz_tap_utils.{leg}') + trace_label = tracing.extend_trace_label(trace_label, f"maz_tap_utils.{leg}") with chunk.chunk_log(trace_label): - maz_tap_settings = \ - self.network_los.setting(f'TVPB_SETTINGS.{recipe}.maz_tap_settings.{mode}') - chooser_columns = maz_tap_settings['CHOOSER_COLUMNS'] - attribute_columns = list(chooser_attributes.columns) if chooser_attributes is not None else [] - model_constants = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.CONSTANTS') - - if leg == 'access': - maz_col = 'omaz' - tap_col = 'btap' + maz_tap_settings = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.maz_tap_settings.{mode}" + ) + chooser_columns = maz_tap_settings["CHOOSER_COLUMNS"] + attribute_columns = ( + list(chooser_attributes.columns) + if chooser_attributes is not None + else [] + ) + model_constants = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.CONSTANTS" + ) + + if leg == "access": + maz_col = "omaz" + tap_col = "btap" else: - maz_col = 'dmaz' - tap_col = 'atap' + maz_col = "dmaz" + tap_col = "atap" # maz_to_tap access/egress utilities # deduped utilities_df - one row per chooser for each boarding tap (btap) accessible from omaz utilities_df = self.network_los.maz_to_tap_dfs[mode] - utilities_df = utilities_df[chooser_columns]. \ - reset_index(drop=False). \ - rename(columns={'MAZ': maz_col, 'TAP': tap_col}) + utilities_df = ( + utilities_df[chooser_columns] + .reset_index(drop=False) + .rename(columns={"MAZ": maz_col, "TAP": tap_col}) + ) utilities_df = pd.merge( - maz_od_df[['idx', maz_col]].drop_duplicates(), + maz_od_df[["idx", maz_col]].drop_duplicates(), utilities_df, - on=maz_col, how='inner') + on=maz_col, + how="inner", + ) if len(utilities_df) == 0: trace = False # add any supplemental chooser attributes (e.g. demographic_segment, tod) for c in attribute_columns: - utilities_df[c] = reindex(chooser_attributes[c], utilities_df['idx']) + utilities_df[c] = reindex(chooser_attributes[c], utilities_df["idx"]) chunk.log_df(trace_label, "utilities_df", utilities_df) - if self.units_for_recipe(recipe) == 'utility': + if self.units_for_recipe(recipe) == "utility": utilities_df[leg] = compute_utilities( self.network_los, maz_tap_settings, utilities_df, model_constants=model_constants, - trace_label=trace_label, trace=trace, - trace_column_names=['idx', maz_col, tap_col] if trace else None) + trace_label=trace_label, + trace=trace, + trace_column_names=["idx", maz_col, tap_col] if trace else None, + ) chunk.log_df(trace_label, "utilities_df", utilities_df) # annotated else: - assignment_spec = \ - assign.read_assignment_spec(file_name=config.config_file_path(maz_tap_settings['SPEC'])) + assignment_spec = assign.read_assignment_spec( + file_name=config.config_file_path(maz_tap_settings["SPEC"]) + ) - results, _, _ = assign.assign_variables(assignment_spec, utilities_df, model_constants) + results, _, _ = assign.assign_variables( + assignment_spec, utilities_df, model_constants + ) assert len(results.columns == 1) utilities_df[leg] = results chunk.log_df(trace_label, "utilities_df", utilities_df) if trace: - self.trace_df(utilities_df, trace_label, 'utilities_df') + self.trace_df(utilities_df, trace_label, "utilities_df") # drop utility computation columns ('tod', 'demographic_segment' and maz_to_tap_df time/distance columns) utilities_df.drop(columns=attribute_columns + chooser_columns, inplace=True) return utilities_df - def all_transit_paths(self, access_df, egress_df, chooser_attributes, trace_label, trace): + def all_transit_paths( + self, access_df, egress_df, chooser_attributes, trace_label, trace + ): - trace_label = tracing.extend_trace_label(trace_label, 'all_transit_paths') + trace_label = tracing.extend_trace_label(trace_label, "all_transit_paths") # deduped transit_df has one row per chooser for each boarding (btap) and alighting (atap) pair transit_df = pd.merge( - access_df[['idx', 'btap']], - egress_df[['idx', 'atap']], - on='idx').drop_duplicates() + access_df[["idx", "btap"]], egress_df[["idx", "atap"]], on="idx" + ).drop_duplicates() # don't want transit trips that start and stop in same tap transit_df = transit_df[transit_df.atap != transit_df.btap] for c in list(chooser_attributes.columns): - transit_df[c] = reindex(chooser_attributes[c], transit_df['idx']) + transit_df[c] = reindex(chooser_attributes[c], transit_df["idx"]) transit_df = transit_df.reset_index(drop=True) if trace: - self.trace_df(transit_df, trace_label, 'all_transit_df') + self.trace_df(transit_df, trace_label, "all_transit_df") return transit_df - def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attributes, path_info, - trace_label, trace): + def compute_tap_tap_utilities( + self, + recipe, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + trace, + ): """ create transit_df and compute utilities for all atap-btap pairs between omaz in access and dmaz in egress_df compute the utilities using the tap_tap utility expressions file specified in tap_tap_settings @@ -244,15 +293,21 @@ def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attrib assert trace - trace_label = tracing.extend_trace_label(trace_label, 'compute_tap_tap_utils') + trace_label = tracing.extend_trace_label(trace_label, "compute_tap_tap_utils") with chunk.chunk_log(trace_label): - model_constants = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.CONSTANTS') - tap_tap_settings = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.tap_tap_settings') + model_constants = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.CONSTANTS" + ) + tap_tap_settings = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.tap_tap_settings" + ) with memo("#TVPB CACHE compute_tap_tap_utilities all_transit_paths"): - transit_df = self.all_transit_paths(access_df, egress_df, chooser_attributes, trace_label, trace) + transit_df = self.all_transit_paths( + access_df, egress_df, chooser_attributes, trace_label, trace + ) # note: transit_df index is arbitrary chunk.log_df(trace_label, "transit_df", transit_df) @@ -261,31 +316,48 @@ def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attrib locals_dict.update(model_constants) # columns needed for compute_utilities - chooser_columns = ['btap', 'atap'] + list(chooser_attributes.columns) + chooser_columns = ["btap", "atap"] + list(chooser_attributes.columns) # deduplicate transit_df to unique_transit_df with memo("#TVPB compute_tap_tap_utilities deduplicate transit_df"): - attribute_segments = \ - self.network_los.setting('TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments') - scalar_attributes = {k: locals_dict[k] for k in attribute_segments.keys() if k not in transit_df} - - transit_df['uid'] = self.uid_calculator.get_unique_ids(transit_df, scalar_attributes) + attribute_segments = self.network_los.setting( + "TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments" + ) + scalar_attributes = { + k: locals_dict[k] + for k in attribute_segments.keys() + if k not in transit_df + } + + transit_df["uid"] = self.uid_calculator.get_unique_ids( + transit_df, scalar_attributes + ) - unique_transit_df = transit_df.loc[~transit_df.uid.duplicated(), chooser_columns + ['uid']] - logger.debug(f"#TVPB CACHE deduped transit_df from {len(transit_df)} to {len(unique_transit_df)}") + unique_transit_df = transit_df.loc[ + ~transit_df.uid.duplicated(), chooser_columns + ["uid"] + ] + logger.debug( + f"#TVPB CACHE deduped transit_df from {len(transit_df)} to {len(unique_transit_df)}" + ) - unique_transit_df.set_index('uid', inplace=True) + unique_transit_df.set_index("uid", inplace=True) chunk.log_df(trace_label, "unique_transit_df", unique_transit_df) - transit_df = transit_df[['idx', 'btap', 'atap', 'uid']] # don't need chooser columns + transit_df = transit_df[ + ["idx", "btap", "atap", "uid"] + ] # don't need chooser columns chunk.log_df(trace_label, "transit_df", transit_df) - logger.debug(f"#TVPB CACHE compute_tap_tap_utilities dedupe transit_df " - f"from {len(transit_df)} to {len(unique_transit_df)} rows") + logger.debug( + f"#TVPB CACHE compute_tap_tap_utilities dedupe transit_df " + f"from {len(transit_df)} to {len(unique_transit_df)} rows" + ) num_unique_transit_rows = len(unique_transit_df) # errcheck - logger.debug(f"#TVPB CACHE compute_tap_tap_utilities compute_utilities for {len(unique_transit_df)} rows") + logger.debug( + f"#TVPB CACHE compute_tap_tap_utilities compute_utilities for {len(unique_transit_df)} rows" + ) with memo("#TVPB compute_tap_tap_utilities compute_utilities"): unique_utilities_df = compute_utilities( @@ -295,16 +367,23 @@ def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attrib model_constants=locals_dict, trace_label=trace_label, trace=trace, - trace_column_names=chooser_columns if trace else None + trace_column_names=chooser_columns if trace else None, ) chunk.log_df(trace_label, "unique_utilities_df", unique_utilities_df) - chunk.log_df(trace_label, "unique_transit_df", unique_transit_df) # annotated + chunk.log_df( + trace_label, "unique_transit_df", unique_transit_df + ) # annotated if trace: # combine unique_transit_df with unique_utilities_df for legibility - omnibus_df = pd.merge(unique_transit_df, unique_utilities_df, - left_index=True, right_index=True, how='left') - self.trace_df(omnibus_df, trace_label, 'unique_utilities_df') + omnibus_df = pd.merge( + unique_transit_df, + unique_utilities_df, + left_index=True, + right_index=True, + how="left", + ) + self.trace_df(omnibus_df, trace_label, "unique_utilities_df") chunk.log_df(trace_label, "omnibus_df", omnibus_df) del omnibus_df chunk.log_df(trace_label, "omnibus_df", None) @@ -315,8 +394,10 @@ def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attrib with memo("#TVPB compute_tap_tap_utilities redupe transit_df"): # idx = transit_df.index - transit_df = pd.merge(transit_df, unique_utilities_df, left_on='uid', right_index=True) - del transit_df['uid'] + transit_df = pd.merge( + transit_df, unique_utilities_df, left_on="uid", right_index=True + ) + del transit_df["uid"] # transit_df.index = idx # note: left merge on columns does not preserve index, # but transit_df index is arbitrary so no need to restore @@ -334,12 +415,20 @@ def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attrib chunk.log_df(trace_label, "transit_df", None) if trace: - self.trace_df(transit_df, trace_label, 'transit_df') + self.trace_df(transit_df, trace_label, "transit_df") return transit_df - def lookup_tap_tap_utilities(self, recipe, maz_od_df, access_df, egress_df, chooser_attributes, - path_info, trace_label): + def lookup_tap_tap_utilities( + self, + recipe, + maz_od_df, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + ): """ create transit_df and compute utilities for all atap-btap pairs between omaz in access and dmaz in egress_df look up the utilities in the precomputed tap_cache data (which is indexed by uid_calculator unique_ids) @@ -362,21 +451,29 @@ def lookup_tap_tap_utilities(self, recipe, maz_od_df, access_df, egress_df, choo """ - trace_label = tracing.extend_trace_label(trace_label, 'lookup_tap_tap_utils') + trace_label = tracing.extend_trace_label(trace_label, "lookup_tap_tap_utils") with chunk.chunk_log(trace_label): with memo("#TVPB CACHE lookup_tap_tap_utilities all_transit_paths"): - transit_df = self.all_transit_paths(access_df, egress_df, chooser_attributes, trace_label, trace=False) + transit_df = self.all_transit_paths( + access_df, egress_df, chooser_attributes, trace_label, trace=False + ) # note: transit_df index is arbitrary chunk.log_df(trace_label, "transit_df", transit_df) if TRACE_COMPLEXITY: # diagnostic: log the omaz,dmaz pairs with the greatest number of virtual tap-tap paths - num_paths = transit_df.groupby(['idx']).size().to_frame('n') - num_paths = pd.merge(maz_od_df, num_paths, left_on='idx', right_index=True) - num_paths = num_paths[['omaz', 'dmaz', 'n']].drop_duplicates(subset=['omaz', 'dmaz']) - num_paths = num_paths.sort_values('n', ascending=False).reset_index(drop=True) + num_paths = transit_df.groupby(["idx"]).size().to_frame("n") + num_paths = pd.merge( + maz_od_df, num_paths, left_on="idx", right_index=True + ) + num_paths = num_paths[["omaz", "dmaz", "n"]].drop_duplicates( + subset=["omaz", "dmaz"] + ) + num_paths = num_paths.sort_values("n", ascending=False).reset_index( + drop=True + ) logger.debug(f"num_paths\n{num_paths.head(10)}") # FIXME some expressions may want to know access mode - @@ -384,12 +481,21 @@ def lookup_tap_tap_utilities(self, recipe, maz_od_df, access_df, egress_df, choo # add uid column to transit_df with memo("#TVPB lookup_tap_tap_utilities assign uid"): - attribute_segments = \ - self.network_los.setting('TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments') - scalar_attributes = {k: locals_dict[k] for k in attribute_segments.keys() if k not in transit_df} - - transit_df.index = self.uid_calculator.get_unique_ids(transit_df, scalar_attributes) - transit_df = transit_df[['idx', 'btap', 'atap']] # just needed chooser_columns for uid calculation + attribute_segments = self.network_los.setting( + "TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments" + ) + scalar_attributes = { + k: locals_dict[k] + for k in attribute_segments.keys() + if k not in transit_df + } + + transit_df.index = self.uid_calculator.get_unique_ids( + transit_df, scalar_attributes + ) + transit_df = transit_df[ + ["idx", "btap", "atap"] + ] # just needed chooser_columns for uid calculation chunk.log_df(trace_label, "transit_df add uid index", transit_df) with memo("#TVPB lookup_tap_tap_utilities reindex transit_df"): @@ -406,64 +512,93 @@ def lookup_tap_tap_utilities(self, recipe, maz_od_df, access_df, egress_df, choo return transit_df - def compute_tap_tap_time(self, recipe, access_df, egress_df, chooser_attributes, path_info, trace_label, trace): + def compute_tap_tap_time( + self, + recipe, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + trace, + ): - trace_label = tracing.extend_trace_label(trace_label, 'compute_tap_tap_time') + trace_label = tracing.extend_trace_label(trace_label, "compute_tap_tap_time") with chunk.chunk_log(trace_label): - model_constants = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.CONSTANTS') - tap_tap_settings = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.tap_tap_settings') + model_constants = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.CONSTANTS" + ) + tap_tap_settings = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.tap_tap_settings" + ) with memo("#TVPB CACHE compute_tap_tap_utilities all_transit_paths"): - transit_df = self.all_transit_paths(access_df, egress_df, chooser_attributes, trace_label, trace) + transit_df = self.all_transit_paths( + access_df, egress_df, chooser_attributes, trace_label, trace + ) # note: transit_df index is arbitrary chunk.log_df(trace_label, "transit_df", transit_df) # some expressions may want to know access mode - locals_dict = path_info.copy() - locals_dict['los'] = self.network_los + locals_dict["los"] = self.network_los locals_dict.update(model_constants) - assignment_spec = assign.read_assignment_spec(file_name=config.config_file_path(tap_tap_settings['SPEC'])) + assignment_spec = assign.read_assignment_spec( + file_name=config.config_file_path(tap_tap_settings["SPEC"]) + ) DEDUPE = True if DEDUPE: # assign uid for reduping max_atap = transit_df.atap.max() + 1 - transit_df['uid'] = transit_df.btap * max_atap + transit_df.atap + transit_df["uid"] = transit_df.btap * max_atap + transit_df.atap # dedupe chooser_attribute_columns = list(chooser_attributes.columns) - unique_transit_df = \ - transit_df.loc[~transit_df.uid.duplicated(), ['btap', 'atap', 'uid'] + chooser_attribute_columns] - unique_transit_df.set_index('uid', inplace=True) + unique_transit_df = transit_df.loc[ + ~transit_df.uid.duplicated(), + ["btap", "atap", "uid"] + chooser_attribute_columns, + ] + unique_transit_df.set_index("uid", inplace=True) chunk.log_df(trace_label, "unique_transit_df", unique_transit_df) - logger.debug(f"#TVPB CACHE deduped transit_df from {len(transit_df)} to {len(unique_transit_df)}") + logger.debug( + f"#TVPB CACHE deduped transit_df from {len(transit_df)} to {len(unique_transit_df)}" + ) # assign_variables - results, _, _ = assign.assign_variables(assignment_spec, unique_transit_df, locals_dict) + results, _, _ = assign.assign_variables( + assignment_spec, unique_transit_df, locals_dict + ) assert len(results.columns == 1) - unique_transit_df['transit'] = results + unique_transit_df["transit"] = results # redupe results back into transit_df with memo("#TVPB compute_tap_tap_time redupe transit_df"): - transit_df['transit'] = reindex(unique_transit_df.transit, transit_df.uid) + transit_df["transit"] = reindex( + unique_transit_df.transit, transit_df.uid + ) - del transit_df['uid'] + del transit_df["uid"] del unique_transit_df chunk.log_df(trace_label, "transit_df", transit_df) chunk.log_df(trace_label, "unique_transit_df", None) else: - results, _, _ = assign.assign_variables(assignment_spec, transit_df, locals_dict) + results, _, _ = assign.assign_variables( + assignment_spec, transit_df, locals_dict + ) assert len(results.columns == 1) - transit_df['transit'] = results + transit_df["transit"] = results # filter out unavailable btap_atap pairs - logger.debug(f"{(transit_df['transit'] <= 0).sum()} unavailable tap_tap pairs out of {len(transit_df)}") + logger.debug( + f"{(transit_df['transit'] <= 0).sum()} unavailable tap_tap pairs out of {len(transit_df)}" + ) transit_df = transit_df[transit_df.transit > 0] transit_df.drop(columns=chooser_attributes.columns, inplace=True) @@ -471,104 +606,173 @@ def compute_tap_tap_time(self, recipe, access_df, egress_df, chooser_attributes, chunk.log_df(trace_label, "transit_df", None) if trace: - self.trace_df(transit_df, trace_label, 'transit_df') + self.trace_df(transit_df, trace_label, "transit_df") return transit_df - def compute_tap_tap(self, recipe, maz_od_df, access_df, egress_df, chooser_attributes, path_info, - trace_label, trace): + def compute_tap_tap( + self, + recipe, + maz_od_df, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + trace, + ): - if self.units_for_recipe(recipe) == 'utility': + if self.units_for_recipe(recipe) == "utility": if not self.tap_cache.is_open: with memo("#TVPB compute_tap_tap tap_cache.open"): self.tap_cache.open() if trace: - result = \ - self.compute_tap_tap_utilities(recipe, access_df, egress_df, chooser_attributes, - path_info, trace_label, trace) + result = self.compute_tap_tap_utilities( + recipe, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + trace, + ) else: - result = \ - self.lookup_tap_tap_utilities(recipe, maz_od_df, access_df, egress_df, chooser_attributes, - path_info, trace_label) + result = self.lookup_tap_tap_utilities( + recipe, + maz_od_df, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + ) return result else: - assert self.units_for_recipe(recipe) == 'time' + assert self.units_for_recipe(recipe) == "time" with memo("#TVPB compute_tap_tap_time"): - result = self.compute_tap_tap_time(recipe, access_df, egress_df, chooser_attributes, - path_info, trace_label, trace) + result = self.compute_tap_tap_time( + recipe, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + trace, + ) return result - def best_paths(self, recipe, path_type, maz_od_df, access_df, egress_df, transit_df, trace_label, trace=False): + def best_paths( + self, + recipe, + path_type, + maz_od_df, + access_df, + egress_df, + transit_df, + trace_label, + trace=False, + ): - trace_label = tracing.extend_trace_label(trace_label, 'best_paths') + trace_label = tracing.extend_trace_label(trace_label, "best_paths") with chunk.chunk_log(trace_label): - path_settings = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.path_types.{path_type}') - max_paths_per_tap_set = path_settings.get('max_paths_per_tap_set', 1) - max_paths_across_tap_sets = path_settings.get('max_paths_across_tap_sets', 1) + path_settings = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.path_types.{path_type}" + ) + max_paths_per_tap_set = path_settings.get("max_paths_per_tap_set", 1) + max_paths_across_tap_sets = path_settings.get( + "max_paths_across_tap_sets", 1 + ) units = self.units_for_recipe(recipe) - smaller_is_better = (units in ['time']) + smaller_is_better = units in ["time"] - maz_od_df['seq'] = maz_od_df.index + maz_od_df["seq"] = maz_od_df.index # maz_od_df has one row per chooser # inner join to add rows for each access, egress, and transit segment combination - path_df = maz_od_df. \ - merge(access_df, on=['idx', 'omaz'], how='inner'). \ - merge(egress_df, on=['idx', 'dmaz'], how='inner'). \ - merge(transit_df, on=['idx', 'atap', 'btap'], how='inner') + path_df = ( + maz_od_df.merge(access_df, on=["idx", "omaz"], how="inner") + .merge(egress_df, on=["idx", "dmaz"], how="inner") + .merge(transit_df, on=["idx", "atap", "btap"], how="inner") + ) chunk.log_df(trace_label, "path_df", path_df) # transit sets are the transit_df non-join columns - transit_sets = [c for c in transit_df.columns if c not in ['idx', 'atap', 'btap']] + transit_sets = [ + c for c in transit_df.columns if c not in ["idx", "atap", "btap"] + ] if trace: # be nice and show both tap_tap set utility and total_set = access + set + egress for c in transit_sets: - path_df[f'total_{c}'] = path_df[c] + path_df['access'] + path_df['egress'] - self.trace_df(path_df, trace_label, 'best_paths.full') + path_df[f"total_{c}"] = ( + path_df[c] + path_df["access"] + path_df["egress"] + ) + self.trace_df(path_df, trace_label, "best_paths.full") for c in transit_sets: - del path_df[f'total_{c}'] + del path_df[f"total_{c}"] for c in transit_sets: - path_df[c] = path_df[c] + path_df['access'] + path_df['egress'] - path_df.drop(columns=['access', 'egress'], inplace=True) + path_df[c] = path_df[c] + path_df["access"] + path_df["egress"] + path_df.drop(columns=["access", "egress"], inplace=True) # choose best paths by tap set best_paths_list = [] for c in transit_sets: keep = path_df.index.isin( - path_df[['seq', c]].sort_values(by=c, ascending=smaller_is_better). - groupby(['seq']).head(max_paths_per_tap_set).index + path_df[["seq", c]] + .sort_values(by=c, ascending=smaller_is_better) + .groupby(["seq"]) + .head(max_paths_per_tap_set) + .index ) best_paths_for_set = path_df[keep] - best_paths_for_set['path_set'] = c # remember the path set + best_paths_for_set["path_set"] = c # remember the path set best_paths_for_set[units] = path_df[keep][c] best_paths_for_set.drop(columns=transit_sets, inplace=True) best_paths_list.append(best_paths_for_set) - path_df = pd.concat(best_paths_list).sort_values(by=['seq', units], ascending=[True, smaller_is_better]) + path_df = pd.concat(best_paths_list).sort_values( + by=["seq", units], ascending=[True, smaller_is_better] + ) # choose best paths overall by seq - path_df = path_df.sort_values(by=['seq', units], ascending=[True, smaller_is_better]) - path_df = path_df[path_df.index.isin(path_df.groupby(['seq']).head(max_paths_across_tap_sets).index)] + path_df = path_df.sort_values( + by=["seq", units], ascending=[True, smaller_is_better] + ) + path_df = path_df[ + path_df.index.isin( + path_df.groupby(["seq"]).head(max_paths_across_tap_sets).index + ) + ] if trace: - self.trace_df(path_df, trace_label, 'best_paths') + self.trace_df(path_df, trace_label, "best_paths") return path_df - def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_segment, - want_choices, trace_label, - filter_targets=None, trace=False, override_choices=None): - - trace_label = tracing.extend_trace_label(trace_label, 'build_virtual_path') + def build_virtual_path( + self, + recipe, + path_type, + orig, + dest, + tod, + demographic_segment, + want_choices, + trace_label, + filter_targets=None, + trace=False, + override_choices=None, + ): + + trace_label = tracing.extend_trace_label(trace_label, "build_virtual_path") # Tracing is implemented as a seperate, second call that operates ONLY on filter_targets assert not (trace and filter_targets is None) @@ -595,49 +799,68 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg override_choices = override_choices[filter_targets] units = self.units_for_recipe(recipe) - assert units == 'utility' or not want_choices, "'want_choices' only supported supported if units is utility" - - access_mode = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.path_types.{path_type}.access') - egress_mode = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.path_types.{path_type}.egress') - path_types_settings = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.path_types.{path_type}') - attributes_as_columns = \ - self.network_los.setting(f'TVPB_SETTINGS.{recipe}.tap_tap_settings.attributes_as_columns', []) - - path_info = {'path_type': path_type, 'access_mode': access_mode, 'egress_mode': egress_mode} + assert ( + units == "utility" or not want_choices + ), "'want_choices' only supported supported if units is utility" + + access_mode = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.path_types.{path_type}.access" + ) + egress_mode = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.path_types.{path_type}.egress" + ) + path_types_settings = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.path_types.{path_type}" + ) + attributes_as_columns = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.tap_tap_settings.attributes_as_columns", [] + ) + + path_info = { + "path_type": path_type, + "access_mode": access_mode, + "egress_mode": egress_mode, + } # maz od pairs requested with memo("#TVPB build_virtual_path maz_od_df"): - maz_od_df = pd.DataFrame({ - 'idx': orig.index.values, - 'omaz': orig.values, - 'dmaz': dest.values, - 'seq': range(len(orig)) - }) + maz_od_df = pd.DataFrame( + { + "idx": orig.index.values, + "omaz": orig.values, + "dmaz": dest.values, + "seq": range(len(orig)), + } + ) chunk.log_df(trace_label, "maz_od_df", maz_od_df) self.trace_maz_tap(maz_od_df, access_mode, egress_mode) # for location choice, there will be multiple alt dest rows per chooser and duplicate orig.index values # but tod and demographic_segment should be the same for all chooser rows (unique orig index values) # knowing this allows us to eliminate redundant computations (e.g. utilities of maz_tap pairs) - duplicated = orig.index.duplicated(keep='first') + duplicated = orig.index.duplicated(keep="first") chooser_attributes = pd.DataFrame(index=orig.index[~duplicated]) if not isinstance(tod, str): - chooser_attributes['tod'] = tod.loc[~duplicated] - elif 'tod' in attributes_as_columns: - chooser_attributes['tod'] = tod + chooser_attributes["tod"] = tod.loc[~duplicated] + elif "tod" in attributes_as_columns: + chooser_attributes["tod"] = tod else: - path_info['tod'] = tod + path_info["tod"] = tod if demographic_segment is not None: - chooser_attributes['demographic_segment'] = demographic_segment.loc[~duplicated] + chooser_attributes["demographic_segment"] = demographic_segment.loc[ + ~duplicated + ] with memo("#TVPB build_virtual_path access_df"): access_df = self.compute_maz_tap_utilities( recipe, maz_od_df, chooser_attributes, - leg='access', + leg="access", mode=access_mode, - trace_label=trace_label, trace=trace) + trace_label=trace_label, + trace=trace, + ) chunk.log_df(trace_label, "access_df", access_df) with memo("#TVPB build_virtual_path egress_df"): @@ -645,13 +868,15 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg recipe, maz_od_df, chooser_attributes, - leg='egress', + leg="egress", mode=egress_mode, - trace_label=trace_label, trace=trace) + trace_label=trace_label, + trace=trace, + ) chunk.log_df(trace_label, "egress_df", egress_df) # L200 will drop all rows if all trips are intra-tap. - if np.array_equal(access_df['btap'].values, egress_df['atap'].values): + if np.array_equal(access_df["btap"].values, egress_df["atap"].values): trace = False # path_info for use by expressions (e.g. penalty for drive access if no parking at access tap) @@ -665,7 +890,9 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg egress_df, chooser_attributes, path_info=path_info, - trace_label=trace_label, trace=trace) + trace_label=trace_label, + trace=trace, + ) chunk.log_df(trace_label, "transit_df", transit_df) # Cannot trace if df is empty. Prob happened at L200 @@ -674,9 +901,15 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg with memo("#TVPB build_virtual_path best_paths"): path_df = self.best_paths( - recipe, path_type, - maz_od_df, access_df, egress_df, transit_df, - trace_label, trace) + recipe, + path_type, + maz_od_df, + access_df, + egress_df, + transit_df, + trace_label, + trace, + ) chunk.log_df(trace_label, "path_df", path_df) # now that we have created path_df, we are done with the dataframes for the separate legs @@ -687,21 +920,31 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg del transit_df chunk.log_df(trace_label, "transit_df", None) - if units == 'utility': + if units == "utility": # logsums with memo("#TVPB build_virtual_path logsums"): # one row per seq with utilities in columns # path_num 0-based to aligh with logit.make_choices 0-based choice indexes - path_df['path_num'] = path_df.groupby('seq').cumcount() + path_df["path_num"] = path_df.groupby("seq").cumcount() chunk.log_df(trace_label, "path_df", path_df) - utilities_df = path_df[['seq', 'path_num', units]].set_index(['seq', 'path_num']).unstack() - utilities_df.columns = utilities_df.columns.droplevel() # for legibility + utilities_df = ( + path_df[["seq", "path_num", units]] + .set_index(["seq", "path_num"]) + .unstack() + ) + utilities_df.columns = ( + utilities_df.columns.droplevel() + ) # for legibility # add rows missing because no access or egress availability - utilities_df = pd.concat([pd.DataFrame(index=maz_od_df.seq), utilities_df], axis=1) - utilities_df = utilities_df.fillna(UNAVAILABLE) # set utilities for missing paths to UNAVAILABLE + utilities_df = pd.concat( + [pd.DataFrame(index=maz_od_df.seq), utilities_df], axis=1 + ) + utilities_df = utilities_df.fillna( + UNAVAILABLE + ) # set utilities for missing paths to UNAVAILABLE chunk.log_df(trace_label, "utilities_df", utilities_df) @@ -710,19 +953,31 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg # most likely "divide by zero encountered in log" caused by all transit sets non-viable warnings.simplefilter("always") - paths_nest_nesting_coefficient = path_types_settings.get('paths_nest_nesting_coefficient', 1) - exp_utilities = np.exp(utilities_df.values / paths_nest_nesting_coefficient) - logsums = np.maximum(np.log(np.nansum(exp_utilities, axis=1)), UNAVAILABLE) + paths_nest_nesting_coefficient = path_types_settings.get( + "paths_nest_nesting_coefficient", 1 + ) + exp_utilities = np.exp( + utilities_df.values / paths_nest_nesting_coefficient + ) + logsums = np.maximum( + np.log(np.nansum(exp_utilities, axis=1)), UNAVAILABLE + ) if len(w) > 0: for wrn in w: logger.warning( - f"{trace_label} - {type(wrn).__name__} ({wrn.message})") + f"{trace_label} - {type(wrn).__name__} ({wrn.message})" + ) DUMP = False if DUMP: - zero_utilities_df = utilities_df[np.nansum(np.exp(utilities_df.values), axis=1) == 0] - zero_utilities_df.to_csv(config.output_file_path('warning_utilities_df.csv'), index=True) + zero_utilities_df = utilities_df[ + np.nansum(np.exp(utilities_df.values), axis=1) == 0 + ] + zero_utilities_df.to_csv( + config.output_file_path("warning_utilities_df.csv"), + index=True, + ) if want_choices: @@ -731,20 +986,24 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg with memo("#TVPB build_virtual_path make_choices"): - probs = logit.utils_to_probs(utilities_df, allow_zero_probs=True, trace_label=trace_label) + probs = logit.utils_to_probs( + utilities_df, allow_zero_probs=True, trace_label=trace_label + ) chunk.log_df(trace_label, "probs", probs) if trace: choices = override_choices - utilities_df['choices'] = choices - self.trace_df(utilities_df, trace_label, 'utilities_df') + utilities_df["choices"] = choices + self.trace_df(utilities_df, trace_label, "utilities_df") - probs['choices'] = choices - self.trace_df(probs, trace_label, 'probs') + probs["choices"] = choices + self.trace_df(probs, trace_label, "probs") else: - choices, rands = logit.make_choices(probs, allow_bad_probs=True, trace_label=trace_label) + choices, rands = logit.make_choices( + probs, allow_bad_probs=True, trace_label=trace_label + ) chunk.log_df(trace_label, "rands", rands) del rands @@ -755,20 +1014,26 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg # we need to get path_set, btap, atap from path_df row with same seq and path_num # drop seq join column, but keep path_num of choice to override_choices when tracing - columns_to_cache = ['btap', 'atap', 'path_set', 'path_num'] - logsum_df = \ - pd.merge(pd.DataFrame({'seq': range(len(orig)), 'path_num': choices.values}), - path_df[['seq'] + columns_to_cache], - on=['seq', 'path_num'], how='left')\ - .drop(columns=['seq'])\ + columns_to_cache = ["btap", "atap", "path_set", "path_num"] + logsum_df = ( + pd.merge( + pd.DataFrame( + {"seq": range(len(orig)), "path_num": choices.values} + ), + path_df[["seq"] + columns_to_cache], + on=["seq", "path_num"], + how="left", + ) + .drop(columns=["seq"]) .set_index(orig.index) + ) - logsum_df['logsum'] = logsums + logsum_df["logsum"] = logsums else: assert len(logsums) == len(orig) - logsum_df = pd.DataFrame({'logsum': logsums}, index=orig.index) + logsum_df = pd.DataFrame({"logsum": logsums}, index=orig.index) chunk.log_df(trace_label, "logsum_df", logsum_df) @@ -776,16 +1041,16 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg chunk.log_df(trace_label, "utilities_df", None) if trace: - self.trace_df(logsum_df, trace_label, 'logsum_df') + self.trace_df(logsum_df, trace_label, "logsum_df") chunk.log_df(trace_label, "logsum_df", logsum_df) results = logsum_df else: - assert units == 'time' + assert units == "time" # return a series - results = pd.Series(path_df[units].values, index=path_df['idx']) + results = pd.Series(path_df[units].values, index=path_df["idx"]) # zero-fill rows for O-D pairs where no best path exists because there was no tap-tap transit availability results = reindex(results, maz_od_df.idx).fillna(0.0) @@ -805,31 +1070,56 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg return results def get_tvpb_logsum( - self, path_type, orig, dest, tod, demographic_segment, want_choices, - recipe='tour_mode_choice', trace_label=None): + self, + path_type, + orig, + dest, + tod, + demographic_segment, + want_choices, + recipe="tour_mode_choice", + trace_label=None, + ): # assume they have given us a more specific name (since there may be more than one active wrapper) - trace_label = trace_label or 'get_tvpb_logsum' + trace_label = trace_label or "get_tvpb_logsum" trace_label = tracing.extend_trace_label(trace_label, path_type) with chunk.chunk_log(trace_label): - logsum_df = \ - self.build_virtual_path(recipe, path_type, orig, dest, tod, demographic_segment, - want_choices=want_choices, trace_label=trace_label) + logsum_df = self.build_virtual_path( + recipe, + path_type, + orig, + dest, + tod, + demographic_segment, + want_choices=want_choices, + trace_label=trace_label, + ) trace_hh_id = inject.get_injectable("trace_hh_id", None) - if (all(logsum_df['logsum'] == UNAVAILABLE)) or (len(logsum_df) == 0): + if (all(logsum_df["logsum"] == UNAVAILABLE)) or (len(logsum_df) == 0): trace_hh_id = False if trace_hh_id: filter_targets = tracing.trace_targets(orig) # choices from preceding run (because random numbers) - override_choices = logsum_df['path_num'] if want_choices else None + override_choices = logsum_df["path_num"] if want_choices else None if filter_targets.any(): - self.build_virtual_path(recipe, path_type, orig, dest, tod, demographic_segment, - want_choices=want_choices, override_choices=override_choices, - trace_label=trace_label, filter_targets=filter_targets, trace=True) + self.build_virtual_path( + recipe, + path_type, + orig, + dest, + tod, + demographic_segment, + want_choices=want_choices, + override_choices=override_choices, + trace_label=trace_label, + filter_targets=filter_targets, + trace=True, + ) return logsum_df @@ -837,44 +1127,86 @@ def get_tvpb_best_transit_time(self, orig, dest, tod): # FIXME lots of pathological knowledge here as we are only called by accessibility directly from expressions - trace_label = tracing.extend_trace_label('accessibility.tvpb_best_time', tod) - recipe = 'accessibility' - path_type = 'WTW' + trace_label = tracing.extend_trace_label("accessibility.tvpb_best_time", tod) + recipe = "accessibility" + path_type = "WTW" with chunk.chunk_log(trace_label): - result = \ - self.build_virtual_path(recipe, path_type, orig, dest, tod, - demographic_segment=None, want_choices=False, - trace_label=trace_label) + result = self.build_virtual_path( + recipe, + path_type, + orig, + dest, + tod, + demographic_segment=None, + want_choices=False, + trace_label=trace_label, + ) trace_od = inject.get_injectable("trace_od", None) if trace_od: filter_targets = (orig == trace_od[0]) & (dest == trace_od[1]) if filter_targets.any(): - self.build_virtual_path(recipe, path_type, orig, dest, tod, - demographic_segment=None, want_choices=False, - trace_label=trace_label, filter_targets=filter_targets, trace=True) + self.build_virtual_path( + recipe, + path_type, + orig, + dest, + tod, + demographic_segment=None, + want_choices=False, + trace_label=trace_label, + filter_targets=filter_targets, + trace=True, + ) return result - def wrap_logsum(self, orig_key, dest_key, tod_key, segment_key, - recipe='tour_mode_choice', - cache_choices=False, trace_label=None, tag=None): + def wrap_logsum( + self, + orig_key, + dest_key, + tod_key, + segment_key, + recipe="tour_mode_choice", + cache_choices=False, + trace_label=None, + tag=None, + ): return TransitVirtualPathLogsumWrapper( - self, orig_key, dest_key, tod_key, segment_key, - recipe, cache_choices, trace_label, tag) + self, + orig_key, + dest_key, + tod_key, + segment_key, + recipe, + cache_choices, + trace_label, + tag, + ) class TransitVirtualPathLogsumWrapper(object): """ Transit virtual path builder logsum wrapper for three zone systems """ - def __init__(self, pathbuilder, orig_key, dest_key, tod_key, segment_key, - recipe, cache_choices, trace_label, tag): + + def __init__( + self, + pathbuilder, + orig_key, + dest_key, + tod_key, + segment_key, + recipe, + cache_choices, + trace_label, + tag, + ): self.tvpb = pathbuilder - assert hasattr(pathbuilder, 'get_tvpb_logsum') + assert hasattr(pathbuilder, "get_tvpb_logsum") self.orig_key = orig_key self.dest_key = dest_key @@ -886,7 +1218,9 @@ def __init__(self, pathbuilder, orig_key, dest_key, tod_key, segment_key, self.cache_choices = cache_choices self.cache = {} if cache_choices else None - self.base_trace_label = tracing.extend_trace_label(trace_label, tag) or f'tvpb_logsum.{tag}' + self.base_trace_label = ( + tracing.extend_trace_label(trace_label, tag) or f"tvpb_logsum.{tag}" + ) self.trace_label = self.base_trace_label self.tag = tag @@ -913,7 +1247,9 @@ def set_df(self, df): def extend_trace_label(self, extension=None): if extension: - self.trace_label = tracing.extend_trace_label(self.base_trace_label, extension) + self.trace_label = tracing.extend_trace_label( + self.base_trace_label, extension + ) else: self.trace_label = self.base_trace_label @@ -933,37 +1269,49 @@ def __getitem__(self, path_type): """ assert self.df is not None, "Call set_df first" - assert(self.orig_key in self.df), \ - f"TransitVirtualPathLogsumWrapper: orig_key '{self.orig_key}' not in df" - assert(self.dest_key in self.df), \ - f"TransitVirtualPathLogsumWrapper: dest_key '{self.dest_key}' not in df" - assert(self.tod_key in self.df), \ - f"TransitVirtualPathLogsumWrapper: tod_key '{self.tod_key}' not in df" - assert(self.segment_key in self.df), \ - f"TransitVirtualPathLogsumWrapper: segment_key '{self.segment_key}' not in df" - - orig = self.df[self.orig_key].astype('int') - dest = self.df[self.dest_key].astype('int') + assert ( + self.orig_key in self.df + ), f"TransitVirtualPathLogsumWrapper: orig_key '{self.orig_key}' not in df" + assert ( + self.dest_key in self.df + ), f"TransitVirtualPathLogsumWrapper: dest_key '{self.dest_key}' not in df" + assert ( + self.tod_key in self.df + ), f"TransitVirtualPathLogsumWrapper: tod_key '{self.tod_key}' not in df" + assert ( + self.segment_key in self.df + ), f"TransitVirtualPathLogsumWrapper: segment_key '{self.segment_key}' not in df" + + orig = self.df[self.orig_key].astype("int") + dest = self.df[self.dest_key].astype("int") tod = self.df[self.tod_key] segment = self.df[self.segment_key] - logsum_df = \ - self.tvpb.get_tvpb_logsum(path_type, orig, dest, tod, segment, - want_choices=self.cache_choices, - recipe=self.recipe, - trace_label=self.trace_label) + logsum_df = self.tvpb.get_tvpb_logsum( + path_type, + orig, + dest, + tod, + segment, + want_choices=self.cache_choices, + recipe=self.recipe, + trace_label=self.trace_label, + ) - if (self.cache_choices) and (not all(logsum_df['logsum'] == UNAVAILABLE)): + if (self.cache_choices) and (not all(logsum_df["logsum"] == UNAVAILABLE)): # not tested on duplicate index because not currently needed # caching strategy does not require unique indexes but care would need to be taken to maintain alignment assert not orig.index.duplicated().any() # we only need to cache taps and path_set - choices_df = logsum_df[['atap', 'btap', 'path_set']] + choices_df = logsum_df[["atap", "btap", "path_set"]] if path_type in self.cache: - assert len(self.cache.get(path_type).index.intersection(logsum_df.index)) == 0 + assert ( + len(self.cache.get(path_type).index.intersection(logsum_df.index)) + == 0 + ) choices_df = pd.concat([self.cache.get(path_type), choices_df]) self.cache[path_type] = choices_df diff --git a/activitysim/core/pathbuilder_cache.py b/activitysim/core/pathbuilder_cache.py index a47b8ab357..b5f1089138 100644 --- a/activitysim/core/pathbuilder_cache.py +++ b/activitysim/core/pathbuilder_cache.py @@ -1,35 +1,29 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - -import logging -import os +import gc as _gc import itertools +import logging import multiprocessing -import gc as _gc -import psutil +import os import time - +from builtins import range from contextlib import contextmanager import numpy as np import pandas as pd +import psutil -from activitysim.core import util -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import simulate -from activitysim.core import tracing +from activitysim.core import config, inject, simulate, tracing, util logger = logging.getLogger(__name__) RAWARRAY = False -DTYPE_NAME = 'float32' +DTYPE_NAME = "float32" RESCALE = 1000 -DYNAMIC = 'dynamic' -STATIC = 'static' -TRACE = 'trace' +DYNAMIC = "dynamic" +STATIC = "static" +TRACE = "trace" MEMO_STACK = [] @@ -52,7 +46,7 @@ def memo(tag, console=False, disable_gc=True): finally: elapsed_time = time.time() - t0 - current_mem = (psutil.Process().memory_info().rss) + current_mem = psutil.Process().memory_info().rss marginal_mem = current_mem - previous_mem mem_str = f"net {util.GB(marginal_mem)} ({util.INT(marginal_mem)}) total {util.GB(current_mem)}" @@ -73,6 +67,7 @@ class TVPBCache(object): """ Transit virtual path builder cache for three zone systems """ + def __init__(self, network_los, uid_calculator, cache_tag): # lightweight until opened @@ -88,13 +83,13 @@ def __init__(self, network_los, uid_calculator, cache_tag): @property def cache_path(self): - file_type = 'mmap' - return os.path.join(config.get_cache_dir(), f'{self.cache_tag}.{file_type}') + file_type = "mmap" + return os.path.join(config.get_cache_dir(), f"{self.cache_tag}.{file_type}") @property def csv_trace_path(self): - file_type = 'csv' - return os.path.join(config.get_cache_dir(), f'{self.cache_tag}.{file_type}') + file_type = "csv" + return os.path.join(config.get_cache_dir(), f"{self.cache_tag}.{file_type}") def cleanup(self): """ @@ -116,16 +111,17 @@ def write_static_cache(self, data): logger.debug(f"#TVPB CACHE write_static_cache df {data.shape}") - mm_data = np.memmap(self.cache_path, - shape=data.shape, - dtype=DTYPE_NAME, - mode='w+') + mm_data = np.memmap( + self.cache_path, shape=data.shape, dtype=DTYPE_NAME, mode="w+" + ) np.copyto(mm_data, data) mm_data._mmap.close() del mm_data - logger.debug(f"#TVPB CACHE write_static_cache wrote static cache table " - f"({data.shape}) to {self.cache_path}") + logger.debug( + f"#TVPB CACHE write_static_cache wrote static cache table " + f"({data.shape}) to {self.cache_path}" + ) def open(self): """ @@ -144,10 +140,12 @@ def open(self): # multiprocessing usex preloaded fully_populated shared data buffer with memo("TVPBCache.open get_data_and_lock_from_buffers"): data, _ = self.get_data_and_lock_from_buffers() - logger.info(f"TVPBCache.open {self.cache_tag} STATIC cache using existing data_buffers") + logger.info( + f"TVPBCache.open {self.cache_tag} STATIC cache using existing data_buffers" + ) elif os.path.isfile(self.cache_path): # single process ought have created a precomputed fully_populated STATIC file - data = np.memmap(self.cache_path, dtype=DTYPE_NAME, mode='r') + data = np.memmap(self.cache_path, dtype=DTYPE_NAME, mode="r") # FIXME - why leave memmap open - maybe should copy since it will be read into memory when accessed anyway # mm_data = np.memmap(self.cache_path, dtype=DTYPE_NAME, mode='r') @@ -156,15 +154,21 @@ def open(self): # mm_data._mmap.close() # del mm_data - logger.info(f"TVPBCache.open {self.cache_tag} read fully_populated data array from mmap file") + logger.info( + f"TVPBCache.open {self.cache_tag} read fully_populated data array from mmap file" + ) else: - raise RuntimeError(f"Pathbuilder cache not found. Did you forget to run initialize tvpb?" - f"Expected cache file: {self.cache_path}") + raise RuntimeError( + f"Pathbuilder cache not found. Did you forget to run initialize tvpb?" + f"Expected cache file: {self.cache_path}" + ) # create no-copy pandas DataFrame from numpy wrapped RawArray or Memmap buffer column_names = self.uid_calculator.set_names with memo("TVPBCache.open data.reshape"): - data = data.reshape((-1, len(column_names))) # reshape so there is one column per set + data = data.reshape( + (-1, len(column_names)) + ) # reshape so there is one column per set # data should be fully_populated and in canonical order - so we can assign canonical uid index with memo("TVPBCache.open uid_calculator.fully_populated_uids"): @@ -219,31 +223,41 @@ def allocate_data_buffer(self, shared=False): buffer_size = util.iprod(self.uid_calculator.fully_populated_shape) csz = buffer_size * dtype.itemsize - logger.info(f"TVPBCache.allocate_data_buffer allocating data buffer " - f"shape {shape} buffer_size {util.INT(buffer_size)} total size: {util.INT(csz)} ({util.GB(csz)})") + logger.info( + f"TVPBCache.allocate_data_buffer allocating data buffer " + f"shape {shape} buffer_size {util.INT(buffer_size)} total size: {util.INT(csz)} ({util.GB(csz)})" + ) if shared: - if dtype_name == 'float64': - typecode = 'd' - elif dtype_name == 'float32': - typecode = 'f' + if dtype_name == "float64": + typecode = "d" + elif dtype_name == "float32": + typecode = "f" else: - raise RuntimeError("allocate_data_buffer unrecognized dtype %s" % dtype_name) + raise RuntimeError( + "allocate_data_buffer unrecognized dtype %s" % dtype_name + ) if RAWARRAY: with memo("TVPBCache.allocate_data_buffer allocate RawArray"): buffer = multiprocessing.RawArray(typecode, buffer_size) - logger.info(f"TVPBCache.allocate_data_buffer allocated shared multiprocessing.RawArray as buffer") + logger.info( + f"TVPBCache.allocate_data_buffer allocated shared multiprocessing.RawArray as buffer" + ) else: with memo("TVPBCache.allocate_data_buffer allocate Array"): buffer = multiprocessing.Array(typecode, buffer_size) - logger.info(f"TVPBCache.allocate_data_buffer allocated shared multiprocessing.Array as buffer") + logger.info( + f"TVPBCache.allocate_data_buffer allocated shared multiprocessing.Array as buffer" + ) else: buffer = np.empty(buffer_size, dtype=dtype) np.copyto(buffer, np.nan) # fill with np.nan - logger.info(f"TVPBCache.allocate_data_buffer allocating non-shared numpy array as buffer") + logger.info( + f"TVPBCache.allocate_data_buffer allocating non-shared numpy array as buffer" + ) return buffer @@ -263,11 +277,13 @@ def load_data_to_buffer(self, data_buffer): if os.path.isfile(self.cache_path): with memo("TVPBCache.load_data_to_buffer copy memmap"): - data = np.memmap(self.cache_path, dtype=DTYPE_NAME, mode='r') + data = np.memmap(self.cache_path, dtype=DTYPE_NAME, mode="r") np.copyto(np_wrapped_data_buffer, data) data._mmap.close() del data - logger.debug(f"TVPBCache.load_data_to_buffer loaded data from {self.cache_path}") + logger.debug( + f"TVPBCache.load_data_to_buffer loaded data from {self.cache_path}" + ) else: np.copyto(np_wrapped_data_buffer, np.nan) logger.debug(f"TVPBCache.load_data_to_buffer - saved cache file not found.") @@ -279,7 +295,7 @@ def get_data_and_lock_from_buffers(self): ------- either multiprocessing.Array and lock or multiprocessing.RawArray and None according to RAWARRAY """ - data_buffers = inject.get_injectable('data_buffers', None) + data_buffers = inject.get_injectable("data_buffers", None) assert self.cache_tag in data_buffers # internal error logger.debug(f"TVPBCache.get_data_and_lock_from_buffers") data_buffer = data_buffers[self.cache_tag] @@ -297,6 +313,7 @@ class TapTapUidCalculator(object): """ Transit virtual path builder TAP to TAP unique ID calculator for three zone systems """ + def __init__(self, network_los): self.network_los = network_los @@ -304,13 +321,16 @@ def __init__(self, network_los): # ensure that tap_df has been loaded # (during multiprocessing we are initialized before network_los.load_data is called) assert network_los.tap_df is not None - self.tap_ids = network_los.tap_df['TAP'].values + self.tap_ids = network_los.tap_df["TAP"].values - self.segmentation = \ - network_los.setting('TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments') + self.segmentation = network_los.setting( + "TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments" + ) # e.g. [(0, 'AM', 'walk'), (0, 'AM', 'walk')...]) for attributes demographic_segment, tod, and access_mode - self.attribute_combination_tuples = list(itertools.product(*list(self.segmentation.values()))) + self.attribute_combination_tuples = list( + itertools.product(*list(self.segmentation.values())) + ) # ordinalizers - for mapping attribute values to canonical ordinal values for uid computation # (pandas series of ordinal position with attribute value index (e.g. map tod value 'AM' to 0, 'MD' to 1,...) @@ -319,13 +339,17 @@ def __init__(self, network_los): for k, v in self.segmentation.items(): self.ordinalizers[k] = pd.Series(range(len(v)), index=v) # orig/dest go last so all rows in same 'skim' end up with adjacent uids - self.ordinalizers['btap'] = pd.Series(range(len(self.tap_ids)), index=self.tap_ids) - self.ordinalizers['atap'] = self.ordinalizers['btap'] + self.ordinalizers["btap"] = pd.Series( + range(len(self.tap_ids)), index=self.tap_ids + ) + self.ordinalizers["atap"] = self.ordinalizers["btap"] # for k,v in self.ordinalizers.items(): # print(f"\ordinalizer {k}\n{v}") - spec_name = self.network_los.setting(f'TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.SPEC') + spec_name = self.network_los.setting( + f"TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.SPEC" + ) self.set_names = list(simulate.read_model_spec(file_name=spec_name).columns) @property @@ -379,7 +403,9 @@ def get_unique_ids(self, df, scalar_attributes): uid = uid * cardinality + np.asanyarray(df[name].map(ordinalizer)) else: # otherwise it should be in scalar_attributes - assert name in scalar_attributes, f"attribute '{name}' not found in df.columns or scalar_attributes." + assert ( + name in scalar_attributes + ), f"attribute '{name}' not found in df.columns or scalar_attributes." uid = uid * cardinality + ordinalizer.at[scalar_attributes[name]] return uid @@ -403,8 +429,8 @@ def get_od_dataframe(self, scalar_attributes): num_taps = len(self.tap_ids) od_choosers_df = pd.DataFrame( data={ - 'btap': np.repeat(self.tap_ids, num_taps), - 'atap': np.tile(self.tap_ids, num_taps) + "btap": np.repeat(self.tap_ids, num_taps), + "atap": np.tile(self.tap_ids, num_taps), } ) od_choosers_df.index = self.get_unique_ids(od_choosers_df, scalar_attributes) @@ -430,7 +456,10 @@ def each_scalar_attribute_combination(self): # attribute_value_tuple is an tuple of attribute values - e.g. (0, 'AM', 'walk') # build dict of attribute name:value pairs - e.g. {'demographic_segment': 0, 'tod': 'AM', }) - scalar_attributes = {name: value for name, value in zip(attribute_names, attribute_value_tuple)} + scalar_attributes = { + name: value + for name, value in zip(attribute_names, attribute_value_tuple) + } yield scalar_attributes @@ -439,5 +468,5 @@ def scalar_attribute_combinations(self): attribute_tuples = self.attribute_combination_tuples x = [list(t) for t in attribute_tuples] df = pd.DataFrame(data=x, columns=attribute_names) - df.index.name = 'offset' + df.index.name = "offset" return df diff --git a/activitysim/core/pipeline.py b/activitysim/core/pipeline.py index 1b2240e6d7..ad39cdcfed 100644 --- a/activitysim/core/pipeline.py +++ b/activitysim/core/pipeline.py @@ -1,48 +1,36 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import next -from builtins import map -from builtins import object - -import os -import logging import datetime as dt +import logging +import os +from builtins import map, next, object import pandas as pd - from orca import orca -from . import inject -from . import config -from . import random -from . import tracing -from . import mem - - -from . import util +from . import config, inject, mem, random, tracing, util from .tracing import print_elapsed_time - logger = logging.getLogger(__name__) # name of the checkpoint dict keys # (which are also columns in the checkpoints dataframe stored in hte pipeline store) -TIMESTAMP = 'timestamp' -CHECKPOINT_NAME = 'checkpoint_name' +TIMESTAMP = "timestamp" +CHECKPOINT_NAME = "checkpoint_name" NON_TABLE_COLUMNS = [CHECKPOINT_NAME, TIMESTAMP] # name used for storing the checkpoints dataframe to the pipeline store -CHECKPOINT_TABLE_NAME = 'checkpoints' +CHECKPOINT_TABLE_NAME = "checkpoints" # name of the first step/checkpoint created when the pipeline is started -INITIAL_CHECKPOINT_NAME = 'init' -FINAL_CHECKPOINT_NAME = 'final' +INITIAL_CHECKPOINT_NAME = "init" +FINAL_CHECKPOINT_NAME = "final" # special value for resume_after meaning last checkpoint -LAST_CHECKPOINT = '_' +LAST_CHECKPOINT = "_" # single character prefix for run_list model name to indicate that no checkpoint should be saved -NO_CHECKPOINT_PREFIX = '_' +NO_CHECKPOINT_PREFIX = "_" class Pipeline(object): @@ -81,6 +69,14 @@ def is_open(): return _PIPELINE.is_open +def is_readonly(): + if is_open(): + store = get_pipeline_store() + if store and store._mode == "r": + return True + return False + + def pipeline_table_key(table_name, checkpoint_name): if checkpoint_name: key = f"{table_name}/{checkpoint_name}" @@ -101,7 +97,7 @@ def close_open_files(): _PIPELINE.open_files.clear() -def open_pipeline_store(overwrite=False): +def open_pipeline_store(overwrite=False, mode="a"): """ Open the pipeline checkpoint store @@ -109,12 +105,25 @@ def open_pipeline_store(overwrite=False): ---------- overwrite : bool delete file before opening (unless resuming) + mode : {'a', 'w', 'r', 'r+'}, default 'a' + ``'r'`` + Read-only; no data can be modified. + ``'w'`` + Write; a new file is created (an existing file with the same + name would be deleted). + ``'a'`` + Append; an existing file is opened for reading and writing, + and if the file does not exist it is created. + ``'r+'`` + It is similar to ``'a'``, but the file must already exist. """ if _PIPELINE.pipeline_store is not None: raise RuntimeError("Pipeline store is already open!") - pipeline_file_path = config.pipeline_file_path(inject.get_injectable('pipeline_file_name')) + pipeline_file_path = config.pipeline_file_path( + inject.get_injectable("pipeline_file_name") + ) if overwrite: try: @@ -125,7 +134,7 @@ def open_pipeline_store(overwrite=False): print(e) logger.warning("Error removing %s: %s" % (pipeline_file_path, e)) - _PIPELINE.pipeline_store = pd.HDFStore(pipeline_file_path, mode='a') + _PIPELINE.pipeline_store = pd.HDFStore(pipeline_file_path, mode=mode) logger.debug(f"opened pipeline_store {pipeline_file_path}") @@ -282,13 +291,18 @@ def add_checkpoint(checkpoint_name): if len(orca.list_columns_for_table(table_name)): # rewrap the changed orca table as a unitary DataFrame-backed DataFrameWrapper table df = rewrap(table_name) - elif table_name not in _PIPELINE.last_checkpoint or table_name in _PIPELINE.replaced_tables: + elif ( + table_name not in _PIPELINE.last_checkpoint + or table_name in _PIPELINE.replaced_tables + ): df = orca.get_table(table_name).to_frame() else: continue - logger.debug("add_checkpoint '%s' table '%s' %s" % - (checkpoint_name, table_name, util.df_size(df))) + logger.debug( + "add_checkpoint '%s' table '%s' %s" + % (checkpoint_name, table_name, util.df_size(df)) + ) write_df(df, table_name, checkpoint_name) # remember which checkpoint it was last written @@ -307,7 +321,7 @@ def add_checkpoint(checkpoint_name): # convert empty values to str so PyTables doesn't pickle object types for c in checkpoints.columns: - checkpoints[c] = checkpoints[c].fillna('') + checkpoints[c] = checkpoints[c].fillna("") # write it to the store, overwriting any previous version (no way to simply extend) write_df(checkpoints, CHECKPOINT_TABLE_NAME) @@ -317,7 +331,7 @@ def registered_tables(): """ Return a list of the names of all currently registered dataframe tables """ - return [name for name in orca.list_tables() if orca.table_type(name) == 'dataframe'] + return [name for name in orca.list_tables() if orca.table_type(name) == "dataframe"] def checkpointed_tables(): @@ -325,8 +339,11 @@ def checkpointed_tables(): Return a list of the names of all checkpointed tables """ - return [name for name, checkpoint_name in _PIPELINE.last_checkpoint.items() - if checkpoint_name and name not in NON_TABLE_COLUMNS] + return [ + name + for name, checkpoint_name in _PIPELINE.last_checkpoint.items() + if checkpoint_name and name not in NON_TABLE_COLUMNS + ] def load_checkpoint(checkpoint_name): @@ -354,8 +371,10 @@ def load_checkpoint(checkpoint_name): i = checkpoints[checkpoints[CHECKPOINT_NAME] == checkpoint_name].index[0] checkpoints = checkpoints.loc[:i] + # if the store is not open in read-only mode, # write it to the store to ensure so any subsequent checkpoints are forgotten - write_df(checkpoints, CHECKPOINT_TABLE_NAME) + if not is_readonly(): + write_df(checkpoints, CHECKPOINT_TABLE_NAME) except IndexError: msg = "Couldn't find checkpoint '%s' in checkpoints" % (checkpoint_name,) @@ -364,7 +383,7 @@ def load_checkpoint(checkpoint_name): raise RuntimeError(msg) # convert pandas dataframe back to array of checkpoint dicts - checkpoints = checkpoints.to_dict(orient='records') + checkpoints = checkpoints.to_dict(orient="records") # drop tables with empty names for checkpoint in checkpoints: @@ -379,8 +398,10 @@ def load_checkpoint(checkpoint_name): _PIPELINE.last_checkpoint.clear() _PIPELINE.last_checkpoint.update(_PIPELINE.checkpoints[-1]) - logger.info("load_checkpoint %s timestamp %s" - % (checkpoint_name, _PIPELINE.last_checkpoint['timestamp'])) + logger.info( + "load_checkpoint %s timestamp %s" + % (checkpoint_name, _PIPELINE.last_checkpoint["timestamp"]) + ) tables = checkpointed_tables() @@ -394,14 +415,14 @@ def load_checkpoint(checkpoint_name): loaded_tables[table_name] = df # register for tracing in order that tracing.register_traceable_table wants us to register them - traceable_tables = inject.get_injectable('traceable_tables', []) + traceable_tables = inject.get_injectable("traceable_tables", []) for table_name in traceable_tables: if table_name in loaded_tables: tracing.register_traceable_table(table_name, loaded_tables[table_name]) # add tables of known rng channels - rng_channels = inject.get_injectable('rng_channels', []) + rng_channels = inject.get_injectable("rng_channels", []) if rng_channels: logger.debug("loading random channels %s" % rng_channels) for table_name in rng_channels: @@ -410,7 +431,7 @@ def load_checkpoint(checkpoint_name): _PIPELINE.rng().add_channel(table_name, loaded_tables[table_name]) -def split_arg(s, sep, default=''): +def split_arg(s, sep, default=""): """ split str s in two at first sep, returning empty string as second result if no sep """ @@ -423,7 +444,7 @@ def split_arg(s, sep, default=''): val = default else: val = r[1] - val = {'true': True, 'false': False}.get(val.lower(), val) + val = {"true": True, "false": False}.get(val.lower(), val) return arg, val @@ -444,17 +465,22 @@ def run_model(model_name): raise RuntimeError("Pipeline not initialized! Did you call open_pipeline?") # can't run same model more than once - if model_name in [checkpoint[CHECKPOINT_NAME] for checkpoint in _PIPELINE.checkpoints]: + if model_name in [ + checkpoint[CHECKPOINT_NAME] for checkpoint in _PIPELINE.checkpoints + ]: raise RuntimeError("Cannot run model '%s' more than once" % model_name) _PIPELINE.rng().begin_step(model_name) # check for args - if '.' in model_name: - step_name, arg_string = model_name.split('.', 1) - args = dict((k, v) - for k, v in (split_arg(item, "=", default=True) - for item in arg_string.split(";"))) + if "." in model_name: + step_name, arg_string = model_name.split(".", 1) + args = dict( + (k, v) + for k, v in ( + split_arg(item, "=", default=True) for item in arg_string.split(";") + ) + ) else: step_name = model_name args = {} @@ -475,7 +501,9 @@ def run_model(model_name): orca.run([step_name]) - t0 = print_elapsed_time("#run_model completed step '%s'" % model_name, t0, debug=True) + t0 = print_elapsed_time( + "#run_model completed step '%s'" % model_name, t0, debug=True + ) mem.trace_memory_info(f"pipeline.run_model {model_name} finished") inject.set_step_args(None) @@ -487,7 +515,7 @@ def run_model(model_name): logger.info("##### skipping %s checkpoint for %s" % (step_name, model_name)) -def open_pipeline(resume_after=None): +def open_pipeline(resume_after=None, mode="a"): """ Start pipeline, either for a new run or, if resume_after, loading checkpoint from pipeline. @@ -498,6 +526,9 @@ def open_pipeline(resume_after=None): ---------- resume_after : str or None name of checkpoint to load from pipeline store + mode : {'a', 'w', 'r', 'r+'}, default 'a' + same as for typical opening of H5Store. Ignored unless resume_after + is not None. This is here to allow read-only pipeline for benchmarking. """ if is_open(): @@ -506,12 +537,12 @@ def open_pipeline(resume_after=None): _PIPELINE.init_state() _PIPELINE.is_open = True - get_rn_generator().set_base_seed(inject.get_injectable('rng_base_seed', 0)) + get_rn_generator().set_base_seed(inject.get_injectable("rng_base_seed", 0)) if resume_after: # open existing pipeline logger.debug("open_pipeline - open existing pipeline") - open_pipeline_store(overwrite=False) + open_pipeline_store(overwrite=False, mode=mode) load_checkpoint(resume_after) else: # open new, empty pipeline @@ -558,12 +589,14 @@ def close_pipeline(): def intermediate_checkpoint(checkpoint_name=None): - checkpoints = config.setting('checkpoints', True) + checkpoints = config.setting("checkpoints", True) if checkpoints is True or checkpoints is False: return checkpoints - assert isinstance(checkpoints, list), f"setting 'checkpoints'' should be True or False or a list" + assert isinstance( + checkpoints, list + ), f"setting 'checkpoints'' should be True or False or a list" return checkpoint_name in checkpoints @@ -593,7 +626,7 @@ def run(models, resume_after=None): t0 = print_elapsed_time() open_pipeline(resume_after) - t0 = print_elapsed_time('open_pipeline', t0) + t0 = print_elapsed_time("open_pipeline", t0) if resume_after == LAST_CHECKPOINT: resume_after = _PIPELINE.last_checkpoint[CHECKPOINT_NAME] @@ -601,15 +634,15 @@ def run(models, resume_after=None): if resume_after: logger.info("resume_after %s" % resume_after) if resume_after in models: - models = models[models.index(resume_after) + 1:] + models = models[models.index(resume_after) + 1 :] - mem.trace_memory_info('pipeline.run before preload_injectables') + mem.trace_memory_info("pipeline.run before preload_injectables") # preload any bulky injectables (e.g. skims) not in pipeline - if inject.get_injectable('preload_injectables', None): - t0 = print_elapsed_time('preload_injectables', t0) + if inject.get_injectable("preload_injectables", None): + t0 = print_elapsed_time("preload_injectables", t0) - mem.trace_memory_info('pipeline.run after preload_injectables') + mem.trace_memory_info("pipeline.run after preload_injectables") t0 = print_elapsed_time() for model in models: @@ -623,7 +656,7 @@ def run(models, resume_after=None): if not intermediate_checkpoint(): add_checkpoint(FINAL_CHECKPOINT_NAME) - mem.trace_memory_info('pipeline.run after run_models') + mem.trace_memory_info("pipeline.run after run_models") t0 = print_elapsed_time("run_model (%s models)" % len(models), t0) @@ -655,8 +688,10 @@ def get_table(table_name, checkpoint_name=None): # orca table not in checkpoints (e.g. a merged table) if table_name not in _PIPELINE.last_checkpoint and orca.is_table(table_name): if checkpoint_name is not None: - raise RuntimeError("get_table: checkpoint_name ('%s') not supported" - "for non-checkpointed table '%s'" % (checkpoint_name, table_name)) + raise RuntimeError( + "get_table: checkpoint_name ('%s') not supported" + "for non-checkpointed table '%s'" % (checkpoint_name, table_name) + ) return orca.get_table(table_name).to_frame() @@ -673,8 +708,10 @@ def get_table(table_name, checkpoint_name=None): return orca.get_table(table_name).to_frame() # find the requested checkpoint - checkpoint = \ - next((x for x in _PIPELINE.checkpoints if x['checkpoint_name'] == checkpoint_name), None) + checkpoint = next( + (x for x in _PIPELINE.checkpoints if x["checkpoint_name"] == checkpoint_name), + None, + ) if checkpoint is None: raise RuntimeError("checkpoint '%s' not in checkpoints." % checkpoint_name) @@ -682,7 +719,9 @@ def get_table(table_name, checkpoint_name=None): last_checkpoint_name = checkpoint.get(table_name, None) if not last_checkpoint_name: - raise RuntimeError("table '%s' not in checkpoint '%s'." % (table_name, checkpoint_name)) + raise RuntimeError( + "table '%s' not in checkpoint '%s'." % (table_name, checkpoint_name) + ) # if this version of table is same as current if _PIPELINE.last_checkpoint.get(table_name, None) == last_checkpoint_name: @@ -708,7 +747,9 @@ def get_checkpoints(): if store is not None: df = store[CHECKPOINT_TABLE_NAME] else: - pipeline_file_path = config.pipeline_file_path(orca.get_injectable('pipeline_file_name')) + pipeline_file_path = config.pipeline_file_path( + orca.get_injectable("pipeline_file_name") + ) df = pd.read_hdf(pipeline_file_path, CHECKPOINT_TABLE_NAME) # non-table columns first (column order in df is random because created from a dict) @@ -742,11 +783,15 @@ def replace_table(table_name, df): assert is_open(), f"Pipeline is not open." if df.columns.duplicated().any(): - logger.error("replace_table: dataframe '%s' has duplicate columns: %s" % - (table_name, df.columns[df.columns.duplicated()])) + logger.error( + "replace_table: dataframe '%s' has duplicate columns: %s" + % (table_name, df.columns[df.columns.duplicated()]) + ) - raise RuntimeError("replace_table: dataframe '%s' has duplicate columns: %s" % - (table_name, df.columns[df.columns.duplicated()])) + raise RuntimeError( + "replace_table: dataframe '%s' has duplicate columns: %s" + % (table_name, df.columns[df.columns.duplicated()]) + ) rewrap(table_name, df) @@ -775,8 +820,11 @@ def extend_table(table_name, df, axis=0): if axis == 0: # don't expect indexes to overlap assert len(table_df.index.intersection(df.index)) == 0 - missing_df_str_columns = [c for c in table_df.columns - if c not in df.columns and table_df[c].dtype == 'O'] + missing_df_str_columns = [ + c + for c in table_df.columns + if c not in df.columns and table_df[c].dtype == "O" + ] else: # expect indexes be same assert table_df.index.equals(df.index) @@ -789,7 +837,7 @@ def extend_table(table_name, df, axis=0): # backfill missing df columns that were str (object) type in table_df if axis == 0: for c in missing_df_str_columns: - df[c] = df[c].fillna('') + df[c] = df[c].fillna("") replace_table(table_name, df) @@ -824,7 +872,7 @@ def drop_table(table_name): logger.debug("drop_table removing table %s from last_checkpoint" % table_name) - _PIPELINE.last_checkpoint[table_name] = '' + _PIPELINE.last_checkpoint[table_name] = "" def is_table(table_name): @@ -847,30 +895,34 @@ def cleanup_pipeline(): """ # we don't expect to be called unless cleanup_pipeline_after_run setting is True - assert config.setting('cleanup_pipeline_after_run', False) + assert config.setting("cleanup_pipeline_after_run", False) if not is_open(): - open_pipeline('_') + open_pipeline("_") assert is_open(), f"Pipeline is not open." - FINAL_PIPELINE_FILE_NAME = f"final_{inject.get_injectable('pipeline_file_name', 'pipeline')}" - FINAL_CHECKPOINT_NAME = 'final' + FINAL_PIPELINE_FILE_NAME = ( + f"final_{inject.get_injectable('pipeline_file_name', 'pipeline')}" + ) + FINAL_CHECKPOINT_NAME = "final" final_pipeline_file_path = config.build_output_file_path(FINAL_PIPELINE_FILE_NAME) # keep only the last row of checkpoints and patch the last checkpoint name checkpoints_df = get_checkpoints().tail(1).copy() - checkpoints_df['checkpoint_name'] = FINAL_CHECKPOINT_NAME + checkpoints_df["checkpoint_name"] = FINAL_CHECKPOINT_NAME - with pd.HDFStore(final_pipeline_file_path, mode='w') as final_pipeline_store: + with pd.HDFStore(final_pipeline_file_path, mode="w") as final_pipeline_store: for table_name in checkpointed_tables(): # patch last checkpoint name for all tables checkpoints_df[table_name] = FINAL_CHECKPOINT_NAME table_df = get_table(table_name) - logger.debug(f"cleanup_pipeline - adding table {table_name} {table_df.shape}") + logger.debug( + f"cleanup_pipeline - adding table {table_name} {table_df.shape}" + ) final_pipeline_store[table_name] = table_df @@ -879,4 +931,4 @@ def cleanup_pipeline(): close_pipeline() logger.debug(f"deleting all pipeline files except {final_pipeline_file_path}") - tracing.delete_output_files('h5', ignore=[final_pipeline_file_path]) + tracing.delete_output_files("h5", ignore=[final_pipeline_file_path]) diff --git a/activitysim/core/random.py b/activitysim/core/random.py index a9c9770340..12527840f4 100644 --- a/activitysim/core/random.py +++ b/activitysim/core/random.py @@ -1,24 +1,22 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range -from builtins import object - -import logging import hashlib +import logging +from builtins import object, range import numpy as np import pandas as pd + from activitysim.core.util import reindex from .tracing import print_elapsed_time - logger = logging.getLogger(__name__) # one more than 0xFFFFFFFF so we can wrap using: int64 % _MAX_SEED -_MAX_SEED = (1 << 32) -_SEED_MASK = 0xffffffff +_MAX_SEED = 1 << 32 +_SEED_MASK = 0xFFFFFFFF def hash32(s): @@ -32,7 +30,7 @@ def hash32(s): ------- 32 bit unsigned hash """ - s = s.encode('utf8') + s = s.encode("utf8") h = hashlib.md5(s).hexdigest() return int(h, base=16) & _SEED_MASK @@ -103,13 +101,12 @@ def init_row_states_for_step(self, row_states): if self.step_name and not row_states.empty: - row_states['row_seed'] = (self.base_seed + - self.channel_seed + - self.step_seed + - row_states.index) % _MAX_SEED + row_states["row_seed"] = ( + self.base_seed + self.channel_seed + self.step_seed + row_states.index + ) % _MAX_SEED # number of rands pulled this step - row_states['offset'] = 0 + row_states["offset"] = 0 return row_states @@ -128,10 +125,12 @@ def extend_domain(self, domain_df): """ if domain_df.empty: - logger.warning("extend_domain for channel %s for empty domain_df" % self.channel_name) + logger.warning( + "extend_domain for channel %s for empty domain_df" % self.channel_name + ) # dataframe to hold state for every df row - row_states = pd.DataFrame(columns=['row_seed', 'offset'], index=domain_df.index) + row_states = pd.DataFrame(columns=["row_seed", "offset"], index=domain_df.index) if self.step_name and not row_states.empty: self.init_row_states_for_step(row_states) @@ -170,8 +169,8 @@ def end_step(self, step_name): self.step_name = None self.step_seed = None - self.row_states['offset'] = 0 - self.row_states['row_seed'] = 0 + self.row_states["offset"] = 0 + self.row_states["row_seed"] = 0 def _generators_for_df(self, df): """ @@ -245,7 +244,7 @@ def random_for_df(self, df, step_name, n=1): rands = np.asanyarray([prng.rand(n) for prng in generators]) # update offset for rows we handled - self.row_states.loc[df.index, 'offset'] += n + self.row_states.loc[df.index, "offset"] += n return rands def normal_for_df(self, df, step_name, mu, sigma, lognormal=False): @@ -295,16 +294,22 @@ def to_series(x): sigma = to_series(sigma) if lognormal: - rands = \ - np.asanyarray([prng.lognormal(mean=mu[i], sigma=sigma[i]) - for i, prng in enumerate(generators)]) + rands = np.asanyarray( + [ + prng.lognormal(mean=mu[i], sigma=sigma[i]) + for i, prng in enumerate(generators) + ] + ) else: - rands = \ - np.asanyarray([prng.normal(loc=mu[i], scale=sigma[i]) - for i, prng in enumerate(generators)]) + rands = np.asanyarray( + [ + prng.normal(loc=mu[i], scale=sigma[i]) + for i, prng in enumerate(generators) + ] + ) # update offset for rows we handled - self.row_states.loc[df.index, 'offset'] += 1 + self.row_states.loc[df.index, "offset"] += 1 return rands @@ -350,20 +355,21 @@ def choice_for_df(self, df, step_name, a, size, replace): # initialize the generator iterator generators = self._generators_for_df(df) - sample = np.concatenate(tuple(prng.choice(a, size, replace) for prng in generators)) + sample = np.concatenate( + tuple(prng.choice(a, size, replace) for prng in generators) + ) if not self.multi_choice_offset: # FIXME - if replace, should we estimate rands_consumed? if replace: logger.warning("choice_for_df MULTI_CHOICE_FF with replace") # update offset for rows we handled - self.row_states.loc[df.index, 'offset'] += size + self.row_states.loc[df.index, "offset"] += size return sample class Random(object): - def __init__(self): self.channels = {} @@ -462,20 +468,22 @@ def add_channel(self, channel_name, domain_df): if channel_name in self.channels: assert channel_name == self.index_to_channel[domain_df.index.name] - logger.debug("Random: extending channel '%s' %s ids" % - (channel_name, len(domain_df.index))) + logger.debug( + "Random: extending channel '%s' %s ids" + % (channel_name, len(domain_df.index)) + ) channel = self.channels[channel_name] channel.extend_domain(domain_df) else: - logger.debug("Adding channel '%s' %s ids" % (channel_name, len(domain_df.index))) + logger.debug( + "Adding channel '%s' %s ids" % (channel_name, len(domain_df.index)) + ) - channel = SimpleChannel(channel_name, - self.base_seed, - domain_df, - self.step_name - ) + channel = SimpleChannel( + channel_name, self.base_seed, domain_df, self.step_name + ) self.channels[channel_name] = channel self.index_to_channel[domain_df.index.name] = channel_name @@ -490,10 +498,12 @@ def drop_channel(self, channel_name): """ if channel_name in self.channels: - logger.debug("Dropping channel '%s'" % (channel_name, )) + logger.debug("Dropping channel '%s'" % (channel_name,)) del self.channels[channel_name] else: - logger.error("drop_channel called with unknown channel '%s'" % (channel_name,)) + logger.error( + "drop_channel called with unknown channel '%s'" % (channel_name,) + ) def set_base_seed(self, seed=None): """ @@ -640,11 +650,15 @@ def normal_for_df(self, df, mu=0, sigma=1, broadcast=False): if broadcast: alts_df = df df = df.index.unique().to_series() - rands = channel.normal_for_df(df, self.step_name, mu=0, sigma=1, lognormal=False) + rands = channel.normal_for_df( + df, self.step_name, mu=0, sigma=1, lognormal=False + ) rands = reindex(pd.Series(rands, index=df.index), alts_df.index) - rands = rands*sigma + mu + rands = rands * sigma + mu else: - rands = channel.normal_for_df(df, self.step_name, mu, sigma, lognormal=False) + rands = channel.normal_for_df( + df, self.step_name, mu, sigma, lognormal=False + ) return rands @@ -703,7 +717,9 @@ def lognormal_for_df(self, df, mu, sigma, broadcast=False, scale=False): rands = np.exp(rands) else: channel = self.get_channel_for_df(df) - rands = channel.normal_for_df(df, self.step_name, mu=mu, sigma=sigma, lognormal=True) + rands = channel.normal_for_df( + df, self.step_name, mu=mu, sigma=sigma, lognormal=True + ) return rands @@ -746,11 +762,15 @@ def choice_for_df(self, df, a, size, replace): # FIXME - for tests if not self.channels: rng = np.random.RandomState(0) - choices = np.concatenate(tuple(rng.choice(a, size, replace) for _ in range(len(df)))) + choices = np.concatenate( + tuple(rng.choice(a, size, replace) for _ in range(len(df))) + ) return choices t0 = print_elapsed_time() channel = self.get_channel_for_df(df) choices = channel.choice_for_df(df, self.step_name, a, size, replace) - t0 = print_elapsed_time("choice_for_df for %s rows" % len(df.index), t0, debug=True) + t0 = print_elapsed_time( + "choice_for_df for %s rows" % len(df.index), t0, debug=True + ) return choices diff --git a/activitysim/core/simulate.py b/activitysim/core/simulate.py index c14939da95..01ff427090 100644 --- a/activitysim/core/simulate.py +++ b/activitysim/core/simulate.py @@ -1,30 +1,21 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - -import warnings import logging +import warnings +from builtins import range from collections import OrderedDict import numpy as np import pandas as pd -from . import logit -from . import tracing -from . import pipeline -from . import config -from . import util -from . import assign -from . import chunk - -from . import pathbuilder +from . import assign, chunk, config, logit, pathbuilder, pipeline, tracing, util logger = logging.getLogger(__name__) -SPEC_DESCRIPTION_NAME = 'Description' -SPEC_EXPRESSION_NAME = 'Expression' -SPEC_LABEL_NAME = 'Label' +SPEC_DESCRIPTION_NAME = "Description" +SPEC_EXPRESSION_NAME = "Expression" +SPEC_LABEL_NAME = "Label" ALT_LOSER_UTIL = -900 @@ -58,7 +49,7 @@ def uniquify_spec_index(spec): def read_model_alts(file_name, set_index=None): file_path = config.config_file_path(file_name) - df = pd.read_csv(file_path, comment='#') + df = pd.read_csv(file_path, comment="#") if set_index: df.set_index(set_index, inplace=True) return df @@ -97,17 +88,17 @@ def read_model_spec(file_name): """ assert isinstance(file_name, str) - if not file_name.lower().endswith('.csv'): - file_name = '%s.csv' % (file_name,) + if not file_name.lower().endswith(".csv"): + file_name = "%s.csv" % (file_name,) file_path = config.config_file_path(file_name) try: - spec = pd.read_csv(file_path, comment='#') + spec = pd.read_csv(file_path, comment="#") except Exception as err: logger.error(f"read_model_spec error reading {file_path}") logger.error(f"read_model_spec error {type(err).__name__}: {str(err)}") - raise(err) + raise (err) spec = spec.dropna(subset=[SPEC_EXPRESSION_NAME]) @@ -137,26 +128,32 @@ def read_model_coefficients(model_settings=None, file_name=None): assert file_name is not None else: assert file_name is None - assert 'COEFFICIENTS' in model_settings, \ - "'COEFFICIENTS' tag not in model_settings in %s" % model_settings.get('source_file_paths') - file_name = model_settings['COEFFICIENTS'] + assert ( + "COEFFICIENTS" in model_settings + ), "'COEFFICIENTS' tag not in model_settings in %s" % model_settings.get( + "source_file_paths" + ) + file_name = model_settings["COEFFICIENTS"] logger.debug(f"read_model_coefficients file_name {file_name}") file_path = config.config_file_path(file_name) try: - coefficients = pd.read_csv(file_path, comment='#', index_col='coefficient_name') + coefficients = pd.read_csv(file_path, comment="#", index_col="coefficient_name") except ValueError: logger.exception("Coefficient File Invalid: %s" % str(file_path)) raise if coefficients.index.duplicated().any(): - logger.warning(f"duplicate coefficients in {file_path}\n" - f"{coefficients[coefficients.index.duplicated(keep=False)]}") + logger.warning( + f"duplicate coefficients in {file_path}\n" + f"{coefficients[coefficients.index.duplicated(keep=False)]}" + ) raise RuntimeError(f"duplicate coefficients in {file_path}") if coefficients.value.isnull().any(): logger.warning( - f"null coefficients in {file_path}\n{coefficients[coefficients.value.isnull()]}") + f"null coefficients in {file_path}\n{coefficients[coefficients.value.isnull()]}" + ) raise RuntimeError(f"null coefficients in {file_path}") return coefficients @@ -188,15 +185,19 @@ def spec_for_segment(model_settings, spec_id, segment_name, estimator): else: # otherwise we expect a single coefficient column # doesn't really matter what it is called, but this may catch errors - assert spec.columns[0] in ['coefficient', segment_name] + assert spec.columns[0] in ["coefficient", segment_name] - if 'COEFFICIENTS' not in model_settings: - logger.warning(f"no coefficient file specified in model_settings for {spec_file_name}") + if "COEFFICIENTS" not in model_settings: + logger.warning( + f"no coefficient file specified in model_settings for {spec_file_name}" + ) try: assert (spec.astype(float) == spec).all(axis=None) except (ValueError, AssertionError): - raise RuntimeError(f"No coefficient file specified for {spec_file_name} " - f"but not all spec column values are numeric") + raise RuntimeError( + f"No coefficient file specified for {spec_file_name} " + f"but not all spec column values are numeric" + ) return spec @@ -212,14 +213,17 @@ def read_model_coefficient_template(model_settings): Read the coefficient template specified by COEFFICIENT_TEMPLATE model setting """ - assert 'COEFFICIENT_TEMPLATE' in model_settings, \ - "'COEFFICIENT_TEMPLATE' not in model_settings in %s" % model_settings.get('source_file_paths') + assert ( + "COEFFICIENT_TEMPLATE" in model_settings + ), "'COEFFICIENT_TEMPLATE' not in model_settings in %s" % model_settings.get( + "source_file_paths" + ) - coefficients_file_name = model_settings['COEFFICIENT_TEMPLATE'] + coefficients_file_name = model_settings["COEFFICIENT_TEMPLATE"] file_path = config.config_file_path(coefficients_file_name) try: - template = pd.read_csv(file_path, comment='#', index_col='coefficient_name') + template = pd.read_csv(file_path, comment="#", index_col="coefficient_name") except ValueError: logger.exception("Coefficient Template File Invalid: %s" % str(file_path)) raise @@ -236,7 +240,9 @@ def read_model_coefficient_template(model_settings): if template.index.duplicated().any(): dupes = template[template.index.duplicated(keep=False)].sort_index() - logger.warning(f"duplicate coefficient names in {coefficients_file_name}:\n{dupes}") + logger.warning( + f"duplicate coefficient names in {coefficients_file_name}:\n{dupes}" + ) assert not template.index.duplicated().any() return template @@ -253,12 +259,12 @@ def dump_mapped_coefficients(model_settings): for c in template_df.columns: template_df[c] = template_df[c].map(coefficients_df.value) - coefficients_template_file_name = model_settings['COEFFICIENT_TEMPLATE'] + coefficients_template_file_name = model_settings["COEFFICIENT_TEMPLATE"] file_path = config.output_file_path(coefficients_template_file_name) template_df.to_csv(file_path, index=True) logger.info(f"wrote mapped coefficient template to {file_path}") - coefficients_file_name = model_settings['COEFFICIENTS'] + coefficients_file_name = model_settings["COEFFICIENTS"] file_path = config.output_file_path(coefficients_file_name) coefficients_df.to_csv(file_path, index=True) logger.info(f"wrote raw coefficients to {file_path}") @@ -296,33 +302,47 @@ def get_segment_coefficients(model_settings, segment_name): """ - if 'COEFFICIENTS' in model_settings and 'COEFFICIENT_TEMPLATE' in model_settings: + if "COEFFICIENTS" in model_settings and "COEFFICIENT_TEMPLATE" in model_settings: legacy = False - elif 'COEFFICIENTS' in model_settings: - legacy = 'COEFFICIENTS' - warnings.warn("Support for COEFFICIENTS without COEFFICIENT_TEMPLATE in model settings file will be removed." - "Use COEFFICIENT and COEFFICIENT_TEMPLATE to support estimation.", FutureWarning) - elif 'LEGACY_COEFFICIENTS' in model_settings: - legacy = 'LEGACY_COEFFICIENTS' - warnings.warn("Support for 'LEGACY_COEFFICIENTS' setting in model settings file will be removed." - "Use COEFFICIENT and COEFFICIENT_TEMPLATE to support estimation.", FutureWarning) + elif "COEFFICIENTS" in model_settings: + legacy = "COEFFICIENTS" + warnings.warn( + "Support for COEFFICIENTS without COEFFICIENT_TEMPLATE in model settings file will be removed." + "Use COEFFICIENT and COEFFICIENT_TEMPLATE to support estimation.", + FutureWarning, + ) + elif "LEGACY_COEFFICIENTS" in model_settings: + legacy = "LEGACY_COEFFICIENTS" + warnings.warn( + "Support for 'LEGACY_COEFFICIENTS' setting in model settings file will be removed." + "Use COEFFICIENT and COEFFICIENT_TEMPLATE to support estimation.", + FutureWarning, + ) else: raise RuntimeError(f"No COEFFICIENTS setting in model_settings") if legacy: constants = config.get_model_constants(model_settings) legacy_coeffs_file_path = config.config_file_path(model_settings[legacy]) - omnibus_coefficients = pd.read_csv(legacy_coeffs_file_path, comment='#', index_col='coefficient_name') - coefficients_dict = assign.evaluate_constants(omnibus_coefficients[segment_name], constants=constants) + omnibus_coefficients = pd.read_csv( + legacy_coeffs_file_path, comment="#", index_col="coefficient_name" + ) + coefficients_dict = assign.evaluate_constants( + omnibus_coefficients[segment_name], constants=constants + ) else: coefficients_df = read_model_coefficients(model_settings) template_df = read_model_coefficient_template(model_settings) - coefficients_col = template_df[segment_name].map(coefficients_df.value).astype(float) + coefficients_col = ( + template_df[segment_name].map(coefficients_df.value).astype(float) + ) if coefficients_col.isnull().any(): # show them the offending lines from interaction_coefficients_file - logger.warning(f"bad coefficients in COEFFICIENTS {model_settings['COEFFICIENTS']}\n" - f"{coefficients_col[coefficients_col.isnull()]}") + logger.warning( + f"bad coefficients in COEFFICIENTS {model_settings['COEFFICIENTS']}\n" + f"{coefficients_col[coefficients_col.isnull()]}" + ) assert not coefficients_col.isnull().any() coefficients_dict = coefficients_col.to_dict() @@ -331,24 +351,25 @@ def get_segment_coefficients(model_settings, segment_name): def eval_nest_coefficients(nest_spec, coefficients, trace_label): - def replace_coefficients(nest): if isinstance(nest, dict): - assert 'coefficient' in nest - coefficient_name = nest['coefficient'] + assert "coefficient" in nest + coefficient_name = nest["coefficient"] if isinstance(coefficient_name, str): - assert coefficient_name in coefficients, "%s not in nest coefficients" % (coefficient_name, ) - nest['coefficient'] = coefficients[coefficient_name] + assert ( + coefficient_name in coefficients + ), "%s not in nest coefficients" % (coefficient_name,) + nest["coefficient"] = coefficients[coefficient_name] - assert 'alternatives' in nest - for alternative in nest['alternatives']: + assert "alternatives" in nest + for alternative in nest["alternatives"]: if isinstance(alternative, dict): replace_coefficients(alternative) if isinstance(coefficients, pd.DataFrame): - assert ('value' in coefficients.columns) - coefficients = coefficients['value'].to_dict() + assert "value" in coefficients.columns + coefficients = coefficients["value"].to_dict() replace_coefficients(nest_spec) @@ -362,16 +383,19 @@ def eval_coefficients(spec, coefficients, estimator): spec = spec.copy() # don't clobber input spec if isinstance(coefficients, pd.DataFrame): - assert ('value' in coefficients.columns) - coefficients = coefficients['value'].to_dict() + assert "value" in coefficients.columns + coefficients = coefficients["value"].to_dict() - assert isinstance(coefficients, dict), \ - "eval_coefficients doesn't grok type of coefficients: %s" % (type(coefficients)) + assert isinstance( + coefficients, dict + ), "eval_coefficients doesn't grok type of coefficients: %s" % (type(coefficients)) for c in spec.columns: if c == SPEC_LABEL_NAME: continue - spec[c] = spec[c].apply(lambda x: eval(str(x), {}, coefficients)).astype(np.float32) + spec[c] = ( + spec[c].apply(lambda x: eval(str(x), {}, coefficients)).astype(np.float32) + ) # drop any rows with all zeros since they won't have any effect (0 marginal utility) # (do not drop rows in estimation mode as it may confuse the estimation package (e.g. larch) @@ -380,15 +404,23 @@ def eval_coefficients(spec, coefficients, estimator): if estimator: logger.debug("keeping %s all-zero rows in SPEC" % (zero_rows.sum(),)) else: - logger.debug("dropping %s all-zero rows from SPEC" % (zero_rows.sum(), )) + logger.debug("dropping %s all-zero rows from SPEC" % (zero_rows.sum(),)) spec = spec.loc[~zero_rows] return spec -def eval_utilities(spec, choosers, locals_d=None, trace_label=None, - have_trace_targets=False, trace_all_rows=False, - estimator=None, trace_column_names=None, log_alt_losers=False): +def eval_utilities( + spec, + choosers, + locals_d=None, + trace_label=None, + have_trace_targets=False, + trace_all_rows=False, + estimator=None, + trace_column_names=None, + log_alt_losers=False, +): """ Parameters @@ -416,7 +448,7 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, # fixme - restore tracing and _check_for_variability - trace_label = tracing.extend_trace_label(trace_label, 'eval_utils') + trace_label = tracing.extend_trace_label(trace_label, "eval_utils") # avoid altering caller's passed-in locals_d parameter (they may be looping) locals_dict = assign.local_utilities() @@ -425,7 +457,7 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, locals_dict.update(locals_d) globals_dict = {} - locals_dict['df'] = choosers + locals_dict["df"] = choosers # - eval spec expressions if isinstance(spec.index, pd.MultiIndex): @@ -444,7 +476,7 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, with warnings.catch_warnings(record=True) as w: # Cause all warnings to always be triggered. warnings.simplefilter("always") - if expr.startswith('@'): + if expr.startswith("@"): expression_value = eval(expr[1:], globals_dict, locals_dict) else: @@ -452,10 +484,14 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, if len(w) > 0: for wrn in w: - logger.warning(f"{trace_label} - {type(wrn).__name__} ({wrn.message}) evaluating: {str(expr)}") + logger.warning( + f"{trace_label} - {type(wrn).__name__} ({wrn.message}) evaluating: {str(expr)}" + ) except Exception as err: - logger.exception(f"{trace_label} - {type(err).__name__} ({str(err)}) evaluating: {str(expr)}") + logger.exception( + f"{trace_label} - {type(err).__name__} ({str(err)}) evaluating: {str(expr)}" + ) raise err if log_alt_losers: @@ -465,8 +501,10 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, losers = np.amax(utils, axis=1) < ALT_LOSER_UTIL if losers.any(): - logger.warning(f"{trace_label} - {sum(losers)} choosers of {len(losers)} " - f"with prohibitive utilities for all alternatives for expression: {expr}") + logger.warning( + f"{trace_label} - {sum(losers)} choosers of {len(losers)} " + f"with prohibitive utilities for all alternatives for expression: {expr}" + ) expression_values[i] = expression_value i += 1 @@ -477,7 +515,8 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, df = pd.DataFrame( data=expression_values.transpose(), index=choosers.index, - columns=spec.index.get_level_values(SPEC_LABEL_NAME)) + columns=spec.index.get_level_values(SPEC_LABEL_NAME), + ) df.index.name = choosers.index.name estimator.write_expression_values(df) @@ -511,19 +550,28 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, if trace_column_names is not None: if isinstance(trace_column_names, str): trace_column_names = [trace_column_names] - expression_values_df.columns = pd.MultiIndex.from_frame(choosers.loc[trace_targets, trace_column_names]) + expression_values_df.columns = pd.MultiIndex.from_frame( + choosers.loc[trace_targets, trace_column_names] + ) - tracing.trace_df(expression_values_df, tracing.extend_trace_label(trace_label, 'expression_values'), - slicer=None, transpose=False) + tracing.trace_df( + expression_values_df, + tracing.extend_trace_label(trace_label, "expression_values"), + slicer=None, + transpose=False, + ) if len(spec.columns) > 1: for c in spec.columns: - name = f'expression_value_{c}' + name = f"expression_value_{c}" - tracing.trace_df(expression_values_df.multiply(spec[c].values, axis=0), - tracing.extend_trace_label(trace_label, name), - slicer=None, transpose=False) + tracing.trace_df( + expression_values_df.multiply(spec[c].values, axis=0), + tracing.extend_trace_label(trace_label, name), + slicer=None, + transpose=False, + ) del expression_values chunk.log_df(trace_label, "expression_values", None) @@ -574,7 +622,7 @@ def eval_variables(exprs, df, locals_d=None): locals_dict.update(locals_d) globals_dict = {} - locals_dict['df'] = df + locals_dict["df"] = df def to_array(x): @@ -599,7 +647,7 @@ def to_array(x): values = OrderedDict() for expr in exprs: try: - if expr.startswith('@'): + if expr.startswith("@"): expr_values = to_array(eval(expr[1:], globals_dict, locals_dict)) else: expr_values = to_array(df.eval(expr)) @@ -608,7 +656,9 @@ def to_array(x): values[expr] = expr_values except Exception as err: - logger.exception(f"Variable evaluation failed {type(err).__name__} ({str(err)}) evaluating: {str(expr)}") + logger.exception( + f"Variable evaluation failed {type(err).__name__} ({str(err)}) evaluating: {str(expr)}" + ) raise err values = util.df_from_dict(values, index=df.index) @@ -661,9 +711,13 @@ def set_skim_wrapper_targets(df, skims): the skims object is intended to be used. """ - skims = skims if isinstance(skims, list) \ - else skims.values() if isinstance(skims, dict) \ + skims = ( + skims + if isinstance(skims, list) + else skims.values() + if isinstance(skims, dict) else [skims] + ) # assume any object in skims can be treated as a skim for skim in skims: @@ -685,7 +739,7 @@ def _check_for_variability(expression_values, trace_label): """ if trace_label is None: - trace_label = '_check_for_variability' + trace_label = "_check_for_variability" sample = random_rows(expression_values, min(1000, len(expression_values))) @@ -694,7 +748,9 @@ def _check_for_variability(expression_values, trace_label): v = sample.iloc[:, i] if v.min() == v.max(): col_name = sample.columns[i] - logger.info("%s: no variability (%s) in: %s" % (trace_label, v.iloc[0], col_name)) + logger.info( + "%s: no variability (%s) in: %s" % (trace_label, v.iloc[0], col_name) + ) no_variability += 1 # FIXME - how could this happen? Not sure it is really a problem? if np.count_nonzero(v.isnull().values) > 0: @@ -703,10 +759,14 @@ def _check_for_variability(expression_values, trace_label): has_missing_vals += 1 if no_variability > 0: - logger.warning("%s: %s columns have no variability" % (trace_label, no_variability)) + logger.warning( + "%s: %s columns have no variability" % (trace_label, no_variability) + ) if has_missing_vals > 0: - logger.warning("%s: %s columns have missing values" % (trace_label, has_missing_vals)) + logger.warning( + "%s: %s columns have missing values" % (trace_label, has_missing_vals) + ) def compute_nested_exp_utilities(raw_utilities, nest_spec): @@ -739,8 +799,9 @@ def compute_nested_exp_utilities(raw_utilities, nest_spec): if nest.is_leaf: # leaf_utility = raw_utility / nest.product_of_coefficients - nested_utilities[name] = \ + nested_utilities[name] = ( raw_utilities[name].astype(float) / nest.product_of_coefficients + ) else: # nest node @@ -748,9 +809,10 @@ def compute_nested_exp_utilities(raw_utilities, nest_spec): # this will RuntimeWarning: divide by zero encountered in log # if all nest alternative utilities are zero # but the resulting inf will become 0 when exp is applied below - with np.errstate(divide='ignore'): - nested_utilities[name] = \ - nest.coefficient * np.log(nested_utilities[nest.alternatives].sum(axis=1)) + with np.errstate(divide="ignore"): + nested_utilities[name] = nest.coefficient * np.log( + nested_utilities[nest.alternatives].sum(axis=1) + ) # exponentiate the utility nested_utilities[name] = np.exp(nested_utilities[name]) @@ -780,12 +842,14 @@ def compute_nested_probabilities(nested_exp_utilities, nest_spec, trace_label): nested_probabilities = pd.DataFrame(index=nested_exp_utilities.index) - for nest in logit.each_nest(nest_spec, type='node', post_order=False): + for nest in logit.each_nest(nest_spec, type="node", post_order=False): - probs = logit.utils_to_probs(nested_exp_utilities[nest.alternatives], - trace_label=trace_label, - exponentiated=True, - allow_zero_probs=True) + probs = logit.utils_to_probs( + nested_exp_utilities[nest.alternatives], + trace_label=trace_label, + exponentiated=True, + allow_zero_probs=True, + ) nested_probabilities = pd.concat([nested_probabilities, probs], axis=1) @@ -815,7 +879,7 @@ def compute_base_probabilities(nested_probabilities, nests, spec): base_probabilities = pd.DataFrame(index=nested_probabilities.index) - for nest in logit.each_nest(nests, type='leaf', post_order=False): + for nest in logit.each_nest(nests, type="leaf", post_order=False): # skip root: it has a prob of 1 but we didn't compute a nested probability column for it ancestors = nest.ancestors[1:] @@ -824,16 +888,24 @@ def compute_base_probabilities(nested_probabilities, nests, spec): # reorder alternative columns to match spec # since these are alternatives chosen by column index, order of columns matters - assert(set(base_probabilities.columns) == set(spec.columns)) + assert set(base_probabilities.columns) == set(spec.columns) base_probabilities = base_probabilities[spec.columns] return base_probabilities -def eval_mnl(choosers, spec, locals_d, custom_chooser, estimator, - log_alt_losers=False, - want_logsums=False, trace_label=None, - trace_choice_name=None, trace_column_names=None): +def eval_mnl( + choosers, + spec, + locals_d, + custom_chooser, + estimator, + log_alt_losers=False, + want_logsums=False, + trace_label=None, + trace_choice_name=None, + trace_column_names=None, +): """ Run a simulation for when the model spec does not involve alternative specific data, e.g. there are no interactions with alternative @@ -879,55 +951,79 @@ def eval_mnl(choosers, spec, locals_d, custom_chooser, estimator, # FIXME - not implemented because not currently needed assert not want_logsums - trace_label = tracing.extend_trace_label(trace_label, 'eval_mnl') + trace_label = tracing.extend_trace_label(trace_label, "eval_mnl") have_trace_targets = tracing.has_trace_targets(choosers) if have_trace_targets: - tracing.trace_df(choosers, '%s.choosers' % trace_label) - - utilities = eval_utilities(spec, choosers, locals_d, - log_alt_losers=log_alt_losers, - trace_label=trace_label, have_trace_targets=have_trace_targets, - estimator=estimator, trace_column_names=trace_column_names) + tracing.trace_df(choosers, "%s.choosers" % trace_label) + + utilities = eval_utilities( + spec, + choosers, + locals_d, + log_alt_losers=log_alt_losers, + trace_label=trace_label, + have_trace_targets=have_trace_targets, + estimator=estimator, + trace_column_names=trace_column_names, + ) chunk.log_df(trace_label, "utilities", utilities) if have_trace_targets: - tracing.trace_df(utilities, '%s.utilities' % trace_label, - column_labels=['alternative', 'utility']) - - probs = logit.utils_to_probs(utilities, trace_label=trace_label, trace_choosers=choosers) + tracing.trace_df( + utilities, + "%s.utilities" % trace_label, + column_labels=["alternative", "utility"], + ) + + probs = logit.utils_to_probs( + utilities, trace_label=trace_label, trace_choosers=choosers + ) chunk.log_df(trace_label, "probs", probs) del utilities - chunk.log_df(trace_label, 'utilities', None) + chunk.log_df(trace_label, "utilities", None) if have_trace_targets: # report these now in case make_choices throws error on bad_choices - tracing.trace_df(probs, '%s.probs' % trace_label, - column_labels=['alternative', 'probability']) + tracing.trace_df( + probs, + "%s.probs" % trace_label, + column_labels=["alternative", "probability"], + ) if custom_chooser: - choices, rands = custom_chooser(probs=probs, choosers=choosers, spec=spec, - trace_label=trace_label) + choices, rands = custom_chooser( + probs=probs, choosers=choosers, spec=spec, trace_label=trace_label + ) else: choices, rands = logit.make_choices(probs, trace_label=trace_label) del probs - chunk.log_df(trace_label, 'probs', None) + chunk.log_df(trace_label, "probs", None) if have_trace_targets: - tracing.trace_df(choices, '%s.choices' % trace_label, - columns=[None, trace_choice_name]) - tracing.trace_df(rands, '%s.rands' % trace_label, - columns=[None, 'rand']) + tracing.trace_df( + choices, "%s.choices" % trace_label, columns=[None, trace_choice_name] + ) + tracing.trace_df(rands, "%s.rands" % trace_label, columns=[None, "rand"]) return choices -def eval_nl(choosers, spec, nest_spec, locals_d, custom_chooser, estimator, - log_alt_losers=False, - want_logsums=False, trace_label=None, - trace_choice_name=None, trace_column_names=None): +def eval_nl( + choosers, + spec, + nest_spec, + locals_d, + custom_chooser, + estimator, + log_alt_losers=False, + want_logsums=False, + trace_label=None, + trace_choice_name=None, + trace_column_names=None, +): """ Run a nested-logit simulation for when the model spec does not involve alternative specific data, e.g. there are no interactions with alternative @@ -965,39 +1061,52 @@ def eval_nl(choosers, spec, nest_spec, locals_d, custom_chooser, estimator, of `spec`. """ - trace_label = tracing.extend_trace_label(trace_label, 'eval_nl') + trace_label = tracing.extend_trace_label(trace_label, "eval_nl") assert trace_label have_trace_targets = tracing.has_trace_targets(choosers) logit.validate_nest_spec(nest_spec, trace_label) if have_trace_targets: - tracing.trace_df(choosers, '%s.choosers' % trace_label) - - raw_utilities = eval_utilities(spec, choosers, locals_d, - log_alt_losers=log_alt_losers, - trace_label=trace_label, have_trace_targets=have_trace_targets, - estimator=estimator, trace_column_names=trace_column_names) + tracing.trace_df(choosers, "%s.choosers" % trace_label) + + raw_utilities = eval_utilities( + spec, + choosers, + locals_d, + log_alt_losers=log_alt_losers, + trace_label=trace_label, + have_trace_targets=have_trace_targets, + estimator=estimator, + trace_column_names=trace_column_names, + ) chunk.log_df(trace_label, "raw_utilities", raw_utilities) if have_trace_targets: - tracing.trace_df(raw_utilities, '%s.raw_utilities' % trace_label, - column_labels=['alternative', 'utility']) + tracing.trace_df( + raw_utilities, + "%s.raw_utilities" % trace_label, + column_labels=["alternative", "utility"], + ) # exponentiated utilities of leaves and nests nested_exp_utilities = compute_nested_exp_utilities(raw_utilities, nest_spec) chunk.log_df(trace_label, "nested_exp_utilities", nested_exp_utilities) del raw_utilities - chunk.log_df(trace_label, 'raw_utilities', None) + chunk.log_df(trace_label, "raw_utilities", None) if have_trace_targets: - tracing.trace_df(nested_exp_utilities, '%s.nested_exp_utilities' % trace_label, - column_labels=['alternative', 'utility']) + tracing.trace_df( + nested_exp_utilities, + "%s.nested_exp_utilities" % trace_label, + column_labels=["alternative", "utility"], + ) # probabilities of alternatives relative to siblings sharing the same nest - nested_probabilities = \ - compute_nested_probabilities(nested_exp_utilities, nest_spec, trace_label=trace_label) + nested_probabilities = compute_nested_probabilities( + nested_exp_utilities, nest_spec, trace_label=trace_label + ) chunk.log_df(trace_label, "nested_probabilities", nested_probabilities) if want_logsums: @@ -1006,22 +1115,30 @@ def eval_nl(choosers, spec, nest_spec, locals_d, custom_chooser, estimator, chunk.log_df(trace_label, "logsums", logsums) del nested_exp_utilities - chunk.log_df(trace_label, 'nested_exp_utilities', None) + chunk.log_df(trace_label, "nested_exp_utilities", None) if have_trace_targets: - tracing.trace_df(nested_probabilities, '%s.nested_probabilities' % trace_label, - column_labels=['alternative', 'probability']) + tracing.trace_df( + nested_probabilities, + "%s.nested_probabilities" % trace_label, + column_labels=["alternative", "probability"], + ) # global (flattened) leaf probabilities based on relative nest coefficients (in spec order) - base_probabilities = compute_base_probabilities(nested_probabilities, nest_spec, spec) + base_probabilities = compute_base_probabilities( + nested_probabilities, nest_spec, spec + ) chunk.log_df(trace_label, "base_probabilities", base_probabilities) del nested_probabilities - chunk.log_df(trace_label, 'nested_probabilities', None) + chunk.log_df(trace_label, "nested_probabilities", None) if have_trace_targets: - tracing.trace_df(base_probabilities, '%s.base_probabilities' % trace_label, - column_labels=['alternative', 'probability']) + tracing.trace_df( + base_probabilities, + "%s.base_probabilities" % trace_label, + column_labels=["alternative", "probability"], + ) # note base_probabilities could all be zero since we allowed all probs for nests to be zero # check here to print a clear message but make_choices will raise error if probs don't sum to 1 @@ -1031,43 +1148,57 @@ def eval_nl(choosers, spec, nest_spec, locals_d, custom_chooser, estimator, if no_choices.any(): logit.report_bad_choices( - no_choices, base_probabilities, - trace_label=tracing.extend_trace_label(trace_label, 'bad_probs'), + no_choices, + base_probabilities, + trace_label=tracing.extend_trace_label(trace_label, "bad_probs"), trace_choosers=choosers, - msg="base_probabilities do not sum to one") + msg="base_probabilities do not sum to one", + ) if custom_chooser: - choices, rands = custom_chooser(probs=base_probabilities, choosers=choosers, spec=spec, - trace_label=trace_label) + choices, rands = custom_chooser( + probs=base_probabilities, + choosers=choosers, + spec=spec, + trace_label=trace_label, + ) else: choices, rands = logit.make_choices(base_probabilities, trace_label=trace_label) del base_probabilities - chunk.log_df(trace_label, 'base_probabilities', None) + chunk.log_df(trace_label, "base_probabilities", None) if have_trace_targets: - tracing.trace_df(choices, '%s.choices' % trace_label, - columns=[None, trace_choice_name]) - tracing.trace_df(rands, '%s.rands' % trace_label, - columns=[None, 'rand']) + tracing.trace_df( + choices, "%s.choices" % trace_label, columns=[None, trace_choice_name] + ) + tracing.trace_df(rands, "%s.rands" % trace_label, columns=[None, "rand"]) if want_logsums: - tracing.trace_df(logsums, '%s.logsums' % trace_label, - columns=[None, 'logsum']) + tracing.trace_df( + logsums, "%s.logsums" % trace_label, columns=[None, "logsum"] + ) if want_logsums: - choices = choices.to_frame('choice') - choices['logsum'] = logsums + choices = choices.to_frame("choice") + choices["logsum"] = logsums return choices -def _simple_simulate(choosers, spec, nest_spec, skims=None, locals_d=None, - custom_chooser=None, - log_alt_losers=False, - want_logsums=False, - estimator=None, - trace_label=None, trace_choice_name=None, trace_column_names=None, - ): +def _simple_simulate( + choosers, + spec, + nest_spec, + skims=None, + locals_d=None, + custom_chooser=None, + log_alt_losers=False, + want_logsums=False, + estimator=None, + trace_label=None, + trace_choice_name=None, + trace_column_names=None, +): """ Run an MNL or NL simulation for when the model spec does not involve alternative specific data, e.g. there are no interactions with alternative @@ -1117,59 +1248,90 @@ def _simple_simulate(choosers, spec, nest_spec, skims=None, locals_d=None, set_skim_wrapper_targets(choosers, skims) if nest_spec is None: - choices = eval_mnl(choosers, spec, locals_d, custom_chooser, - log_alt_losers=log_alt_losers, - want_logsums=want_logsums, - estimator=estimator, - trace_label=trace_label, - trace_choice_name=trace_choice_name, trace_column_names=trace_column_names) + choices = eval_mnl( + choosers, + spec, + locals_d, + custom_chooser, + log_alt_losers=log_alt_losers, + want_logsums=want_logsums, + estimator=estimator, + trace_label=trace_label, + trace_choice_name=trace_choice_name, + trace_column_names=trace_column_names, + ) else: - choices = eval_nl(choosers, spec, nest_spec, locals_d, custom_chooser, - log_alt_losers=log_alt_losers, - want_logsums=want_logsums, - estimator=estimator, - trace_label=trace_label, - trace_choice_name=trace_choice_name, trace_column_names=trace_column_names) + choices = eval_nl( + choosers, + spec, + nest_spec, + locals_d, + custom_chooser, + log_alt_losers=log_alt_losers, + want_logsums=want_logsums, + estimator=estimator, + trace_label=trace_label, + trace_choice_name=trace_choice_name, + trace_column_names=trace_column_names, + ) return choices def tvpb_skims(skims): - def list_of_skims(skims): - return \ - skims if isinstance(skims, list) \ - else skims.values() if isinstance(skims, dict) \ - else [skims] if skims is not None \ + return ( + skims + if isinstance(skims, list) + else skims.values() + if isinstance(skims, dict) + else [skims] + if skims is not None else [] - - return [skim for skim in list_of_skims(skims) if isinstance(skim, pathbuilder.TransitVirtualPathLogsumWrapper)] - - -def simple_simulate(choosers, spec, nest_spec, - skims=None, locals_d=None, - chunk_size=0, custom_chooser=None, - log_alt_losers=False, - want_logsums=False, - estimator=None, - trace_label=None, trace_choice_name=None, trace_column_names=None): + ) + + return [ + skim + for skim in list_of_skims(skims) + if isinstance(skim, pathbuilder.TransitVirtualPathLogsumWrapper) + ] + + +def simple_simulate( + choosers, + spec, + nest_spec, + skims=None, + locals_d=None, + chunk_size=0, + custom_chooser=None, + log_alt_losers=False, + want_logsums=False, + estimator=None, + trace_label=None, + trace_choice_name=None, + trace_column_names=None, +): """ Run an MNL or NL simulation for when the model spec does not involve alternative specific data, e.g. there are no interactions with alternative properties and no need to sample from alternatives. """ - trace_label = tracing.extend_trace_label(trace_label, 'simple_simulate') + trace_label = tracing.extend_trace_label(trace_label, "simple_simulate") assert len(choosers) > 0 result_list = [] # segment by person type and pick the right spec for each person type - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(choosers, chunk_size, trace_label): + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + choosers, chunk_size, trace_label + ): choices = _simple_simulate( - chooser_chunk, spec, nest_spec, + chooser_chunk, + spec, + nest_spec, skims=skims, locals_d=locals_d, custom_chooser=custom_chooser, @@ -1178,11 +1340,12 @@ def simple_simulate(choosers, spec, nest_spec, estimator=estimator, trace_label=chunk_trace_label, trace_choice_name=trace_choice_name, - trace_column_names=trace_column_names) + trace_column_names=trace_column_names, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) if len(result_list) > 1: choices = pd.concat(result_list) @@ -1192,24 +1355,35 @@ def simple_simulate(choosers, spec, nest_spec, return choices -def simple_simulate_by_chunk_id(choosers, spec, nest_spec, - skims=None, locals_d=None, - chunk_size=0, custom_chooser=None, - log_alt_losers=False, - want_logsums=False, - estimator=None, - trace_label=None, - trace_choice_name=None): +def simple_simulate_by_chunk_id( + choosers, + spec, + nest_spec, + skims=None, + locals_d=None, + chunk_size=0, + custom_chooser=None, + log_alt_losers=False, + want_logsums=False, + estimator=None, + trace_label=None, + trace_choice_name=None, +): """ chunk_by_chunk_id wrapper for simple_simulate """ result_list = [] - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers_by_chunk_id(choosers, chunk_size, trace_label): + for ( + i, + chooser_chunk, + chunk_trace_label, + ) in chunk.adaptive_chunked_choosers_by_chunk_id(choosers, chunk_size, trace_label): choices = _simple_simulate( - chooser_chunk, spec, nest_spec, + chooser_chunk, + spec, + nest_spec, skims=skims, locals_d=locals_d, custom_chooser=custom_chooser, @@ -1217,11 +1391,12 @@ def simple_simulate_by_chunk_id(choosers, spec, nest_spec, want_logsums=want_logsums, estimator=estimator, trace_label=chunk_trace_label, - trace_choice_name=trace_choice_name) + trace_choice_name=trace_choice_name, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) if len(result_list) > 1: choices = pd.concat(result_list) @@ -1241,21 +1416,26 @@ def eval_mnl_logsums(choosers, spec, locals_d, trace_label=None): # FIXME - untested and not currently used by any models... - trace_label = tracing.extend_trace_label(trace_label, 'eval_mnl_logsums') + trace_label = tracing.extend_trace_label(trace_label, "eval_mnl_logsums") have_trace_targets = tracing.has_trace_targets(choosers) logger.debug("running eval_mnl_logsums") # trace choosers if have_trace_targets: - tracing.trace_df(choosers, '%s.choosers' % trace_label) + tracing.trace_df(choosers, "%s.choosers" % trace_label) - utilities = eval_utilities(spec, choosers, locals_d, trace_label, have_trace_targets) + utilities = eval_utilities( + spec, choosers, locals_d, trace_label, have_trace_targets + ) chunk.log_df(trace_label, "utilities", utilities) if have_trace_targets: - tracing.trace_df(utilities, '%s.raw_utilities' % trace_label, - column_labels=['alternative', 'utility']) + tracing.trace_df( + utilities, + "%s.raw_utilities" % trace_label, + column_labels=["alternative", "utility"], + ) # - logsums # logsum is log of exponentiated utilities summed across columns of each chooser row @@ -1265,8 +1445,9 @@ def eval_mnl_logsums(choosers, spec, locals_d, trace_label=None): # trace utilities if have_trace_targets: - tracing.trace_df(logsums, '%s.logsums' % trace_label, - column_labels=['alternative', 'logsum']) + tracing.trace_df( + logsums, "%s.logsums" % trace_label, column_labels=["alternative", "logsum"] + ) return logsums @@ -1281,29 +1462,37 @@ def eval_nl_logsums(choosers, spec, nest_spec, locals_d, trace_label=None): Index will be that of `choosers`, values will be nest logsum based on spec column values """ - trace_label = tracing.extend_trace_label(trace_label, 'eval_nl_logsums') + trace_label = tracing.extend_trace_label(trace_label, "eval_nl_logsums") have_trace_targets = tracing.has_trace_targets(choosers) logit.validate_nest_spec(nest_spec, trace_label) # trace choosers if have_trace_targets: - tracing.trace_df(choosers, '%s.choosers' % trace_label) - - raw_utilities = eval_utilities(spec, choosers, locals_d, - trace_label=trace_label, have_trace_targets=have_trace_targets) + tracing.trace_df(choosers, "%s.choosers" % trace_label) + + raw_utilities = eval_utilities( + spec, + choosers, + locals_d, + trace_label=trace_label, + have_trace_targets=have_trace_targets, + ) chunk.log_df(trace_label, "raw_utilities", raw_utilities) if have_trace_targets: - tracing.trace_df(raw_utilities, '%s.raw_utilities' % trace_label, - column_labels=['alternative', 'utility']) + tracing.trace_df( + raw_utilities, + "%s.raw_utilities" % trace_label, + column_labels=["alternative", "utility"], + ) # - exponentiated utilities of leaves and nests nested_exp_utilities = compute_nested_exp_utilities(raw_utilities, nest_spec) chunk.log_df(trace_label, "nested_exp_utilities", nested_exp_utilities) del raw_utilities # done with raw_utilities - chunk.log_df(trace_label, 'raw_utilities', None) + chunk.log_df(trace_label, "raw_utilities", None) # - logsums logsums = np.log(nested_exp_utilities.root) @@ -1312,20 +1501,25 @@ def eval_nl_logsums(choosers, spec, nest_spec, locals_d, trace_label=None): if have_trace_targets: # add logsum to nested_exp_utilities for tracing - nested_exp_utilities['logsum'] = logsums - tracing.trace_df(nested_exp_utilities, '%s.nested_exp_utilities' % trace_label, - column_labels=['alternative', 'utility']) - tracing.trace_df(logsums, '%s.logsums' % trace_label, - column_labels=['alternative', 'logsum']) + nested_exp_utilities["logsum"] = logsums + tracing.trace_df( + nested_exp_utilities, + "%s.nested_exp_utilities" % trace_label, + column_labels=["alternative", "utility"], + ) + tracing.trace_df( + logsums, "%s.logsums" % trace_label, column_labels=["alternative", "logsum"] + ) del nested_exp_utilities # done with nested_exp_utilities - chunk.log_df(trace_label, 'nested_exp_utilities', None) + chunk.log_df(trace_label, "nested_exp_utilities", None) return logsums -def _simple_simulate_logsums(choosers, spec, nest_spec, - skims=None, locals_d=None, trace_label=None): +def _simple_simulate_logsums( + choosers, spec, nest_spec, skims=None, locals_d=None, trace_label=None +): """ like simple_simulate except return logsums instead of making choices @@ -1339,18 +1533,25 @@ def _simple_simulate_logsums(choosers, spec, nest_spec, set_skim_wrapper_targets(choosers, skims) if nest_spec is None: - logsums = eval_mnl_logsums(choosers, spec, locals_d, - trace_label=trace_label) + logsums = eval_mnl_logsums(choosers, spec, locals_d, trace_label=trace_label) else: - logsums = eval_nl_logsums(choosers, spec, nest_spec, locals_d, - trace_label=trace_label) + logsums = eval_nl_logsums( + choosers, spec, nest_spec, locals_d, trace_label=trace_label + ) return logsums -def simple_simulate_logsums(choosers, spec, nest_spec, - skims=None, locals_d=None, chunk_size=0, - trace_label=None, chunk_tag=None): +def simple_simulate_logsums( + choosers, + spec, + nest_spec, + skims=None, + locals_d=None, + chunk_size=0, + trace_label=None, + chunk_tag=None, +): """ like simple_simulate except return logsums instead of making choices @@ -1365,17 +1566,17 @@ def simple_simulate_logsums(choosers, spec, nest_spec, result_list = [] # segment by person type and pick the right spec for each person type - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(choosers, chunk_size, trace_label, chunk_tag): + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + choosers, chunk_size, trace_label, chunk_tag + ): logsums = _simple_simulate_logsums( - chooser_chunk, spec, nest_spec, - skims, locals_d, - chunk_trace_label) + chooser_chunk, spec, nest_spec, skims, locals_d, chunk_trace_label + ) result_list.append(logsums) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) if len(result_list) > 1: logsums = pd.concat(result_list) diff --git a/activitysim/core/skim_dict_factory.py b/activitysim/core/skim_dict_factory.py index 51b1bc59ab..6c1c8f2228 100644 --- a/activitysim/core/skim_dict_factory.py +++ b/activitysim/core/skim_dict_factory.py @@ -2,18 +2,15 @@ # See full license in LICENSE.txt. # from builtins import int -import os -import multiprocessing import logging +import multiprocessing +import os +from abc import ABC, abstractmethod + import numpy as np import openmatrix as omx -from abc import ABC, abstractmethod -from activitysim.core import util -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import skim_dictionary +from activitysim.core import config, inject, skim_dictionary, tracing, util logger = logging.getLogger(__name__) @@ -27,6 +24,7 @@ class SkimData(object): For instance, to open/close memmapped files just in time, or to access backing data via an alternate api """ + def __init__(self, skim_data): """ skim_data is an np.ndarray or anything that implements the methods/properties of this class @@ -39,7 +37,7 @@ def __init__(self, skim_data): def __getitem__(self, indexes): if len(indexes) != 3: - raise ValueError(f'number of indexes ({len(indexes)}) should be 3') + raise ValueError(f"number of indexes ({len(indexes)}) should be 3") return self._skim_data[indexes] @property @@ -108,7 +106,7 @@ def load_skim_info(self, skim_tag): # ignore any 3D skims not in skim_time_periods # specifically, load all skims except those with key2 not in dim3_tags_to_load skim_time_periods = self.network_los.skim_time_periods - dim3_tags_to_load = skim_time_periods and skim_time_periods['labels'] + dim3_tags_to_load = skim_time_periods and skim_time_periods["labels"] self.omx_manifest = {} # dict mapping { omx_key: skim_name } @@ -120,13 +118,18 @@ def load_skim_info(self, skim_tag): # fixme call to omx_file.shape() failing in windows p3.5 if self.omx_shape is None: - self.omx_shape = tuple(int(i) for i in omx_file.shape()) # sometimes omx shape are floats! + self.omx_shape = tuple( + int(i) for i in omx_file.shape() + ) # sometimes omx shape are floats! else: - assert (self.omx_shape == tuple(int(i) for i in omx_file.shape())) + assert self.omx_shape == tuple( + int(i) for i in omx_file.shape() + ), f"Mismatch shape {self.omx_shape} != {omx_file.shape()}" for skim_name in omx_file.listMatrices(): - assert skim_name not in self.omx_manifest, \ - f"duplicate skim '{skim_name}' found in {self.omx_manifest[skim_name]} and {omx_file}" + assert ( + skim_name not in self.omx_manifest + ), f"duplicate skim '{skim_name}' found in {self.omx_manifest[skim_name]} and {omx_file}" self.omx_manifest[skim_name] = omx_file_path for m in omx_file.listMappings(): @@ -137,14 +140,16 @@ def load_skim_info(self, skim_tag): else: # don't really expect more than one, but ok if they are all the same if not (self.offset_map == omx_file.mapentries(m)): - raise RuntimeError(f"Multiple mappings in omx file: {self.offset_map_name} != {m}") + raise RuntimeError( + f"Multiple mappings in omx file: {self.offset_map_name} != {m}" + ) # - omx_keys dict maps skim key to omx_key # DISTWALK: DISTWALK # ('DRV_COM_WLK_BOARDS', 'AM'): DRV_COM_WLK_BOARDS__AM, ... self.omx_keys = dict() for skim_name in self.omx_manifest.keys(): - key1, sep, key2 = skim_name.partition('__') + key1, sep, key2 = skim_name.partition("__") # - ignore composite tags not in dim3_tags_to_load if dim3_tags_to_load and sep and key2 not in dim3_tags_to_load: @@ -192,7 +197,11 @@ def load_skim_info(self, skim_tag): self.block_offsets[skim_key] = key1_offset + key2_relative_offset if skim_dictionary.ROW_MAJOR_LAYOUT: - self.skim_data_shape = (self.num_skims, self.omx_shape[0], self.omx_shape[1]) + self.skim_data_shape = ( + self.num_skims, + self.omx_shape[0], + self.omx_shape[1], + ) else: self.skim_data_shape = self.omx_shape + (self.num_skims,) @@ -278,8 +287,10 @@ def _read_skims_from_omx(self, skim_info, skim_data): if omx_manifest[omx_key] == omx_file_path: offset = skim_info.block_offsets[skim_key] - logger.debug(f"_read_skims_from_omx file {omx_file_path} omx_key {omx_key} " - f"skim_key {skim_key} to offset {offset}") + logger.debug( + f"_read_skims_from_omx file {omx_file_path} omx_key {omx_key} " + f"skim_key {skim_key} to offset {offset}" + ) if skim_dictionary.ROW_MAJOR_LAYOUT: a = skim_data[offset, :, :] @@ -292,12 +303,14 @@ def _read_skims_from_omx(self, skim_info, skim_data): num_skims_loaded += 1 - logger.info(f"_read_skims_from_omx loaded {num_skims_loaded} skims from {omx_file_path}") + logger.info( + f"_read_skims_from_omx loaded {num_skims_loaded} skims from {omx_file_path}" + ) def _open_existing_readonly_memmap_skim_cache(self, skim_info): """ - read cached memmapped skim data from canonically named cache file(s) in output directory into skim_data - return True if it was there and we read it, return False if not found + read cached memmapped skim data from canonically named cache file(s) in output directory into skim_data + return True if it was there and we read it, return False if not found """ dtype = np.dtype(skim_info.dtype_name) @@ -308,29 +321,41 @@ def _open_existing_readonly_memmap_skim_cache(self, skim_info): logger.warning(f"read_skim_cache file not found: {skim_cache_path}") return None - logger.info(f"reading skim cache {skim_info.skim_tag} {skim_info.skim_data_shape} from {skim_cache_path}") + logger.info( + f"reading skim cache {skim_info.skim_tag} {skim_info.skim_data_shape} from {skim_cache_path}" + ) try: - data = np.memmap(skim_cache_path, shape=skim_info.skim_data_shape, dtype=dtype, mode='r') + data = np.memmap( + skim_cache_path, shape=skim_info.skim_data_shape, dtype=dtype, mode="r" + ) except Exception as e: - logger.warning(f"{type(e).__name__} reading {skim_info.skim_tag} skim_cache {skim_cache_path}: {str(e)}") - logger.warning(f"ignoring incompatible {skim_info.skim_tag} skim_cache {skim_cache_path}") + logger.warning( + f"{type(e).__name__} reading {skim_info.skim_tag} skim_cache {skim_cache_path}: {str(e)}" + ) + logger.warning( + f"ignoring incompatible {skim_info.skim_tag} skim_cache {skim_cache_path}" + ) return None return data def _create_empty_writable_memmap_skim_cache(self, skim_info): """ - write skim data from skim_data to canonically named cache file(s) in output directory + write skim data from skim_data to canonically named cache file(s) in output directory """ dtype = np.dtype(skim_info.dtype_name) skim_cache_path = self._memmap_skim_data_path(skim_info.skim_tag) - logger.info(f"writing skim cache {skim_info.skim_tag} {skim_info.skim_data_shape} to {skim_cache_path}") + logger.info( + f"writing skim cache {skim_info.skim_tag} {skim_info.skim_data_shape} to {skim_cache_path}" + ) - data = np.memmap(skim_cache_path, shape=skim_info.skim_data_shape, dtype=dtype, mode='w+') + data = np.memmap( + skim_cache_path, shape=skim_info.skim_data_shape, dtype=dtype, mode="w+" + ) return data @@ -343,7 +368,6 @@ def copy_omx_to_mmap_file(self, skim_info): class NumpyArraySkimFactory(AbstractSkimFactory): - def __init__(self, network_los): super().__init__(network_los) @@ -366,8 +390,9 @@ def allocate_skim_buffer(self, skim_info, shared=False): multiprocessing.RawArray or numpy.ndarray """ - assert shared == self.network_los.multiprocess(), \ - f"NumpyArraySkimFactory.allocate_skim_buffer shared {shared} multiprocess {not shared}" + assert ( + shared == self.network_los.multiprocess() + ), f"NumpyArraySkimFactory.allocate_skim_buffer shared {shared} multiprocess {not shared}" dtype_name = skim_info.dtype_name dtype = np.dtype(dtype_name) @@ -376,16 +401,20 @@ def allocate_skim_buffer(self, skim_info, shared=False): buffer_size = util.iprod(skim_info.skim_data_shape) csz = buffer_size * dtype.itemsize - logger.info(f"allocate_skim_buffer shared {shared} {skim_info.skim_tag} shape {skim_info.skim_data_shape} " - f"total size: {util.INT(csz)} ({util.GB(csz)})") + logger.info( + f"allocate_skim_buffer shared {shared} {skim_info.skim_tag} shape {skim_info.skim_data_shape} " + f"total size: {util.INT(csz)} ({util.GB(csz)})" + ) if shared: - if dtype_name == 'float64': - typecode = 'd' - elif dtype_name == 'float32': - typecode = 'f' + if dtype_name == "float64": + typecode = "d" + elif dtype_name == "float32": + typecode = "f" else: - raise RuntimeError("allocate_skim_buffer unrecognized dtype %s" % dtype_name) + raise RuntimeError( + "allocate_skim_buffer unrecognized dtype %s" % dtype_name + ) buffer = multiprocessing.RawArray(typecode, buffer_size) else: @@ -409,7 +438,9 @@ def _skim_data_from_buffer(self, skim_info, skim_buffer): dtype = np.dtype(skim_info.dtype_name) assert len(skim_buffer) == util.iprod(skim_info.skim_data_shape) - skim_data = np.frombuffer(skim_buffer, dtype=dtype).reshape(skim_info.skim_data_shape) + skim_data = np.frombuffer(skim_buffer, dtype=dtype).reshape( + skim_info.skim_data_shape + ) return skim_data def load_skims_to_buffer(self, skim_info, skim_buffer): @@ -422,8 +453,8 @@ def load_skims_to_buffer(self, skim_info, skim_buffer): skim_buffer: 1D buffer sized to hold all skims (multiprocessing.RawArray or numpy.ndarray) """ - read_cache = self.network_los.setting('read_skim_cache', False) - write_cache = self.network_los.setting('write_skim_cache', False) + read_cache = self.network_los.setting("read_skim_cache", False) + write_cache = self.network_los.setting("write_skim_cache", False) skim_data = self._skim_data_from_buffer(skim_info, skim_buffer) assert skim_data.shape == skim_info.skim_data_shape @@ -451,7 +482,9 @@ def load_skims_to_buffer(self, skim_info, skim_buffer): # bug - do we need to close it? - logger.info(f"load_skims_to_buffer {skim_info.skim_tag} shape {skim_data.shape}") + logger.info( + f"load_skims_to_buffer {skim_info.skim_tag} shape {skim_data.shape}" + ) def get_skim_data(self, skim_tag, skim_info): """ @@ -467,10 +500,12 @@ def get_skim_data(self, skim_tag, skim_info): SkimData """ - data_buffers = inject.get_injectable('data_buffers', None) + data_buffers = inject.get_injectable("data_buffers", None) if data_buffers: # we assume any existing skim buffers will already have skim data loaded into them - logger.info(f"get_skim_data {skim_tag} using existing shared skim_buffers for skims") + logger.info( + f"get_skim_data {skim_tag} using existing shared skim_buffers for skims" + ) skim_buffer = data_buffers[skim_tag] else: skim_buffer = self.allocate_skim_buffer(skim_info, shared=False) @@ -478,7 +513,9 @@ def get_skim_data(self, skim_tag, skim_info): skim_data = SkimData(self._skim_data_from_buffer(skim_info, skim_buffer)) - logger.info(f"get_skim_data {skim_tag} {type(skim_data).__name__} shape {skim_data.shape}") + logger.info( + f"get_skim_data {skim_tag} {type(skim_data).__name__} shape {skim_data.shape}" + ) return skim_data @@ -499,9 +536,11 @@ def __init__(self, skim_cache_path, skim_info): self._shape = skim_info.skim_data_shape def __getitem__(self, indexes): - assert len(indexes) == 3, f'number of indexes ({len(indexes)}) should be 3' + assert len(indexes) == 3, f"number of indexes ({len(indexes)}) should be 3" # open memmap - data = np.memmap(self.skim_cache_path, shape=self._shape, dtype=self.dtype, mode='r') + data = np.memmap( + self.skim_cache_path, shape=self._shape, dtype=self.dtype, mode="r" + ) # dereference skim values result = data[indexes] # closing memmap's underlying mmap frees data read into (not really needed as we are exiting scope) @@ -552,7 +591,7 @@ def get_skim_data(self, skim_tag, skim_info): """ # don't expect legacy shared memory buffers - assert not inject.get_injectable('data_buffers', {}).get(skim_tag) + assert not inject.get_injectable("data_buffers", {}).get(skim_tag) skim_cache_path = self._memmap_skim_data_path(skim_tag) if not os.path.isfile(skim_cache_path): @@ -566,6 +605,8 @@ def get_skim_data(self, skim_tag, skim_info): skim_data = self._open_existing_readonly_memmap_skim_cache(skim_info) skim_data = SkimData(skim_data) - logger.info(f"get_skim_data {skim_tag} {type(skim_data).__name__} shape {skim_data.shape}") + logger.info( + f"get_skim_data {skim_tag} {type(skim_data).__name__} shape {skim_data.shape}" + ) return skim_data diff --git a/activitysim/core/skim_dictionary.py b/activitysim/core/skim_dictionary.py index cdd32b5520..d707e560ee 100644 --- a/activitysim/core/skim_dictionary.py +++ b/activitysim/core/skim_dictionary.py @@ -1,10 +1,8 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range -from builtins import object - import logging +from builtins import object, range import numpy as np import pandas as pd @@ -40,7 +38,9 @@ def __init__(self, offset_int=None, offset_list=None, offset_series=None): self.offset_int = self.offset_series = None - assert (offset_int is not None) + (offset_list is not None) + (offset_series is not None) <= 1 + assert (offset_int is not None) + (offset_list is not None) + ( + offset_series is not None + ) <= 1 if offset_int is not None: self.set_offset_int(offset_int) @@ -49,7 +49,7 @@ def __init__(self, offset_int=None, offset_list=None, offset_series=None): elif offset_series is not None: self.set_offset_series(offset_series) - def print_offset(self, message=''): + def print_offset(self, message=""): assert (self.offset_int is not None) or (self.offset_series is not None) if self.offset_int is not None: @@ -86,11 +86,13 @@ def set_offset_list(self, offset_list): # - for performance, check if this is a simple range that can ber represented by an int offset first_offset = offset_list[0] - if (offset_list == list(range(first_offset, len(offset_list)+first_offset))): + if offset_list == list(range(first_offset, len(offset_list) + first_offset)): offset_int = -1 * first_offset self.set_offset_int(offset_int) else: - offset_series = pd.Series(data=list(range(len(offset_list))), index=offset_list) + offset_series = pd.Series( + data=list(range(len(offset_list))), index=offset_list + ) self.set_offset_series(offset_series) def set_offset_int(self, offset_int): @@ -121,7 +123,7 @@ def map(self, zone_ids): """ if self.offset_series is not None: - assert(self.offset_int is None) + assert self.offset_int is None assert isinstance(self.offset_series, pd.Series) # FIXME - turns out it is faster to use series.map if zone_ids is a series @@ -129,12 +131,20 @@ def map(self, zone_ids): if isinstance(zone_ids, np.ndarray): zone_ids = pd.Series(zone_ids) - offsets = zone_ids.map(self.offset_series, na_action='ignore').fillna(NOT_IN_SKIM_ZONE_ID).astype(int) + offsets = ( + zone_ids.map(self.offset_series, na_action="ignore") + .fillna(NOT_IN_SKIM_ZONE_ID) + .astype(int) + ) elif self.offset_int: - assert (self.offset_series is None) + assert self.offset_series is None # apply integer offset, but map NOT_IN_SKIM_ZONE_ID to self - offsets = np.where(zone_ids == NOT_IN_SKIM_ZONE_ID, NOT_IN_SKIM_ZONE_ID, zone_ids + self.offset_int) + offsets = np.where( + zone_ids == NOT_IN_SKIM_ZONE_ID, + NOT_IN_SKIM_ZONE_ID, + zone_ids + self.offset_int, + ) else: offsets = zone_ids @@ -157,11 +167,15 @@ def __init__(self, skim_tag, skim_info, skim_data): self.skim_info = skim_info self.usage = set() # track keys of skims looked up - self.offset_mapper = self._offset_mapper() # (in function so subclass can override) + self.offset_mapper = ( + self._offset_mapper() + ) # (in function so subclass can override) self.omx_shape = skim_info.omx_shape self.skim_data = skim_data - self.dtype = np.dtype(skim_info.dtype_name) # so we can coerce if we have missing values + self.dtype = np.dtype( + skim_info.dtype_name + ) # so we can coerce if we have missing values # - skim_dim3 dict maps key1 to dict of key2 absolute offsets into block # DRV_COM_WLK_BOARDS: {'MD': 4, 'AM': 3, 'PM': 5}, ... @@ -171,7 +185,9 @@ def __init__(self, skim_tag, skim_info, skim_data): if isinstance(skim_key, tuple): key1, key2 = skim_key self.skim_dim3.setdefault(key1, {})[key2] = offset - logger.info(f"SkimDict.build_3d_skim_block_offset_table registered {len(self.skim_dim3)} 3d keys") + logger.info( + f"SkimDict.build_3d_skim_block_offset_table registered {len(self.skim_dim3)} 3d keys" + ) def _offset_mapper(self): """ @@ -250,8 +266,12 @@ def _lookup(self, orig, dest, block_offsets): result = self.skim_data[mapped_orig, mapped_dest, block_offsets] # FIXME - should return nan if not in skim (negative indices wrap around) - in_skim = (mapped_orig >= 0) & (mapped_orig < self.omx_shape[0]) & \ - (mapped_dest >= 0) & (mapped_dest < self.omx_shape[1]) + in_skim = ( + (mapped_orig >= 0) + & (mapped_orig < self.omx_shape[0]) + & (mapped_dest >= 0) + & (mapped_dest < self.omx_shape[1]) + ) # if not ((in_skim | (orig == NOT_IN_SKIM_ZONE_ID) | (dest == NOT_IN_SKIM_ZONE_ID)).all()): # print(f"orig\n{orig}") @@ -259,8 +279,9 @@ def _lookup(self, orig, dest, block_offsets): # print(f"in_skim\n{in_skim}") # check for bad indexes (other than NOT_IN_SKIM_ZONE_ID) - assert (in_skim | (orig == NOT_IN_SKIM_ZONE_ID) | (dest == NOT_IN_SKIM_ZONE_ID)).all(), \ - f"{(~in_skim).sum()} od pairs not in skim" + assert ( + in_skim | (orig == NOT_IN_SKIM_ZONE_ID) | (dest == NOT_IN_SKIM_ZONE_ID) + ).all(), f"{(~in_skim).sum()} od pairs not in skim" if not in_skim.all(): result = np.where(in_skim, result, NOT_IN_SKIM_NAN).astype(self.dtype) @@ -331,10 +352,14 @@ def lookup_3d(self, orig, dest, dim3, key): # skim_indexes = dim3.map(skim_keys_to_indexes).astype('int') try: - block_offsets = np.vectorize(skim_keys_to_indexes.get)(dim3) # this should be faster than map + block_offsets = np.vectorize(skim_keys_to_indexes.get)( + dim3 + ) # this should be faster than map result = self._lookup(orig, dest, block_offsets) except Exception as err: - logger.error("SkimDict lookup_3d error: %s: %s", type(err).__name__, str(err)) + logger.error( + "SkimDict lookup_3d error: %s: %s", type(err).__name__, str(err) + ) logger.error(f"key {key}") logger.error(f"orig max {orig.max()} min {orig.min()}") logger.error(f"dest max {dest.max()} min {dest.min()}") @@ -411,8 +436,12 @@ def set_df(self, df): ------- self (to facilitiate chaining) """ - assert self.orig_key in df, f"orig_key '{self.orig_key}' not in df columns: {list(df.columns)}" - assert self.dest_key in df, f"dest_key '{self.dest_key}' not in df columns: {list(df.columns)}" + assert ( + self.orig_key in df + ), f"orig_key '{self.orig_key}' not in df columns: {list(df.columns)}" + assert ( + self.dest_key in df + ), f"dest_key '{self.dest_key}' not in df columns: {list(df.columns)}" self.df = df return self @@ -439,9 +468,13 @@ def lookup(self, key, reverse=False): assert self.df is not None, "Call set_df first" if reverse: - s = self.skim_dict.lookup(self.df[self.dest_key], self.df[self.orig_key], key) + s = self.skim_dict.lookup( + self.df[self.dest_key], self.df[self.orig_key], key + ) else: - s = self.skim_dict.lookup(self.df[self.orig_key], self.df[self.dest_key], key) + s = self.skim_dict.lookup( + self.df[self.orig_key], self.df[self.dest_key], key + ) return pd.Series(s, index=self.df.index) @@ -459,7 +492,7 @@ def max(self, key): s = np.maximum( self.skim_dict.lookup(self.df[self.dest_key], self.df[self.orig_key], key), - self.skim_dict.lookup(self.df[self.orig_key], self.df[self.dest_key], key) + self.skim_dict.lookup(self.df[self.orig_key], self.df[self.dest_key], key), ) return pd.Series(s, index=self.df.index) @@ -533,9 +566,15 @@ def set_df(self, df): ------- self (to facilitiate chaining) """ - assert self.orig_key in df, f"orig_key '{self.orig_key}' not in df columns: {list(df.columns)}" - assert self.dest_key in df, f"dest_key '{self.dest_key}' not in df columns: {list(df.columns)}" - assert self.dim3_key in df, f"dim3_key '{self.dim3_key}' not in df columns: {list(df.columns)}" + assert ( + self.orig_key in df + ), f"orig_key '{self.orig_key}' not in df columns: {list(df.columns)}" + assert ( + self.dest_key in df + ), f"dest_key '{self.dest_key}' not in df columns: {list(df.columns)}" + assert ( + self.dim3_key in df + ), f"dim3_key '{self.dim3_key}' not in df columns: {list(df.columns)}" self.df = df return self @@ -554,8 +593,8 @@ def __getitem__(self, key): A Series of impedances values from the set of skims with specified base key, indexed by orig/dest/dim3 """ assert self.df is not None, "Call set_df first" - orig = self.df[self.orig_key].astype('int') - dest = self.df[self.dest_key].astype('int') + orig = self.df[self.orig_key].astype("int") + dest = self.df[self.dest_key].astype("int") dim3 = self.df[self.dim3_key] skim_values = self.skim_dict.lookup_3d(orig, dest, dim3, key) @@ -596,11 +635,15 @@ def __init__(self, skim_tag, network_los, taz_skim_dict): self.network_los = network_los super().__init__(skim_tag, taz_skim_dict.skim_info, taz_skim_dict.skim_data) - assert self.offset_mapper is not None # should have been set with _init_offset_mapper + assert ( + self.offset_mapper is not None + ) # should have been set with _init_offset_mapper self.dtype = np.dtype(self.skim_info.dtype_name) self.base_keys = taz_skim_dict.skim_info.base_keys - self.sparse_keys = list(set(network_los.maz_to_maz_df.columns) - {'OMAZ', 'DMAZ'}) + self.sparse_keys = list( + set(network_los.maz_to_maz_df.columns) - {"OMAZ", "DMAZ"} + ) self.sparse_key_usage = set() def _offset_mapper(self): @@ -616,7 +659,12 @@ def _offset_mapper(self): """ # start with a series with MAZ zone_id index and TAZ zone id values - maz_to_taz = self.network_los.maz_taz_df[['MAZ', 'TAZ']].set_index('MAZ').sort_values(by='TAZ').TAZ + maz_to_taz = ( + self.network_los.maz_taz_df[["MAZ", "TAZ"]] + .set_index("MAZ") + .sort_values(by="TAZ") + .TAZ + ) # use taz offset_mapper to create series mapping directly from MAZ to TAZ skim index taz_offset_mapper = super()._offset_mapper() @@ -630,7 +678,9 @@ def _offset_mapper(self): # 8429 330 # 9859 331 - assert isinstance(maz_to_skim_offset, np.ndarray) or isinstance(maz_to_skim_offset, pd.Series) + assert isinstance(maz_to_skim_offset, np.ndarray) or isinstance( + maz_to_skim_offset, pd.Series + ) if isinstance(maz_to_skim_offset, pd.Series): offset_mapper = OffsetMapper(offset_series=maz_to_skim_offset) elif isinstance(maz_to_skim_offset, np.ndarray): @@ -682,8 +732,10 @@ def sparse_lookup(self, orig, dest, key): backstop_values = super().lookup(orig, dest, key) # get distance skim if a different key was specified by blend_distance_skim_name - if (blend_distance_skim_name != key): - distance = self.network_los.get_mazpairs(orig, dest, blend_distance_skim_name) + if blend_distance_skim_name != key: + distance = self.network_los.get_mazpairs( + orig, dest, blend_distance_skim_name + ) else: distance = values @@ -692,9 +744,12 @@ def sparse_lookup(self, orig, dest, key): # beyond max_blend_distance, just use the skim values backstop_fractions = np.minimum(distance / max_blend_distance, 1) - values = np.where(is_nan, - backstop_values, - backstop_fractions * backstop_values + (1 - backstop_fractions) * values) + values = np.where( + is_nan, + backstop_values, + backstop_fractions * backstop_values + + (1 - backstop_fractions) * values, + ) elif is_nan.any(): # print(f"{is_nan.sum()} nans out of {len(is_nan)} for key '{self.key}") @@ -708,7 +763,8 @@ def sparse_lookup(self, orig, dest, key): # FIXME - if no backstop skim, then return 0 (which conventionally means "not available") logger.warning( "No backstop skims found for {0}, so setting Nulls to 0. Make sure " - "mode availability flags are set to > 0") + "mode availability flags are set to > 0" + ) values = np.where(is_nan, 0, values) # want to return same type as backstop skim @@ -800,13 +856,17 @@ def get(self, row_ids, col_ids): row_indexes = self.offset_mapper.map(np.asanyarray(row_ids)) - not_in_skim = (row_indexes == NOT_IN_SKIM_ZONE_ID) + not_in_skim = row_indexes == NOT_IN_SKIM_ZONE_ID if not_in_skim.any(): - logger.warning(f"DataFrameMatrix: {not_in_skim.sum()} row_ids of {len(row_ids)} not in skim.") + logger.warning( + f"DataFrameMatrix: {not_in_skim.sum()} row_ids of {len(row_ids)} not in skim." + ) not_in_skim = not_in_skim.values logger.warning(f"row_ids: {row_ids[not_in_skim]}") logger.warning(f"col_ids: {col_ids[not_in_skim]}") - raise RuntimeError(f"DataFrameMatrix: {not_in_skim.sum()} row_ids of {len(row_ids)} not in skim.") + raise RuntimeError( + f"DataFrameMatrix: {not_in_skim.sum()} row_ids of {len(row_ids)} not in skim." + ) assert (row_indexes >= 0).all(), f"{row_indexes}" diff --git a/activitysim/core/steps/output.py b/activitysim/core/steps/output.py index bf0c439484..93397b914c 100644 --- a/activitysim/core/steps/output.py +++ b/activitysim/core/steps/output.py @@ -2,13 +2,11 @@ # See full license in LICENSE.txt. import logging import sys -import pandas as pd -import numpy as np -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import config +import numpy as np +import pandas as pd +from activitysim.core import config, inject, pipeline from activitysim.core.config import setting logger = logging.getLogger(__name__) @@ -30,16 +28,18 @@ def track_skim_usage(output_dir): pd.options.display.max_columns = 500 pd.options.display.max_rows = 100 - skim_dict = inject.get_injectable('skim_dict') + skim_dict = inject.get_injectable("skim_dict") - mode = 'wb' if sys.version_info < (3,) else 'w' - with open(config.output_file_path('skim_usage.txt'), mode) as output_file: + mode = "wb" if sys.version_info < (3,) else "w" + with open(config.output_file_path("skim_usage.txt"), mode) as output_file: print("\n### skim_dict usage", file=output_file) for key in skim_dict.get_skim_usage(): print(key, file=output_file) - unused = set(k for k in skim_dict.skim_info.base_keys) - set(k for k in skim_dict.get_skim_usage()) + unused = set(k for k in skim_dict.skim_info.base_keys) - set( + k for k in skim_dict.get_skim_usage() + ) for key in unused: print(key, file=output_file) @@ -55,9 +55,9 @@ def previous_write_data_dictionary(output_dir): """ - model_settings = config.read_model_settings('write_data_dictionary') - txt_format = model_settings.get('txt_format', 'data_dict.txt') - csv_format = model_settings.get('csv_format', 'data_dict.csv') + model_settings = config.read_model_settings("write_data_dictionary") + txt_format = model_settings.get("txt_format", "data_dict.txt") + csv_format = model_settings.get("csv_format", "data_dict.csv") if txt_format: @@ -70,12 +70,12 @@ def previous_write_data_dictionary(output_dir): # write data dictionary for all checkpointed_tables - with open(output_file_path, 'w') as output_file: + with open(output_file_path, "w") as output_file: for table_name in output_tables: df = inject.get_table(table_name, None).to_frame() print("\n### %s %s" % (table_name, df.shape), file=output_file) - print('index:', df.index.name, df.index.dtype, file=output_file) + print("index:", df.index.name, df.index.dtype, file=output_file) print(df.dtypes, file=output_file) @@ -100,18 +100,20 @@ def write_data_dictionary(output_dir): """ - model_settings = config.read_model_settings('write_data_dictionary') - txt_format = model_settings.get('txt_format', 'data_dict.txt') - csv_format = model_settings.get('csv_format', 'data_dict.csv') + model_settings = config.read_model_settings("write_data_dictionary") + txt_format = model_settings.get("txt_format", "data_dict.txt") + csv_format = model_settings.get("csv_format", "data_dict.csv") if not (csv_format or txt_format): - logger.warning(f"write_data_dictionary step invoked but neither 'txt_format' nor 'csv_format' specified") + logger.warning( + f"write_data_dictionary step invoked but neither 'txt_format' nor 'csv_format' specified" + ) return table_names = pipeline.registered_tables() # use table_names list from model_settings, if provided - schema_tables = model_settings.get('tables', None) + schema_tables = model_settings.get("tables", None) if schema_tables: table_names = [c for c in schema_tables if c in table_names] @@ -125,10 +127,15 @@ def write_data_dictionary(output_dir): if df.index.name and df.index.name not in df.columns: df = df.reset_index() - info = df.dtypes.astype(str).to_frame('dtype').reset_index().rename(columns={'index': 'column_name'}) - info['checkpoint'] = '' - - info.insert(loc=0, column='table_name', value=table_name) + info = ( + df.dtypes.astype(str) + .to_frame("dtype") + .reset_index() + .rename(columns={"index": "column_name"}) + ) + info["checkpoint"] = "" + + info.insert(loc=0, column="table_name", value=table_name) schema[table_name] = info # annotate schema.info with name of checkpoint columns were first seen @@ -151,10 +158,12 @@ def write_data_dictionary(output_dir): info = schema.get(table_name, None) # tag any new columns with checkpoint name - prev_columns = info[info.checkpoint != ''].column_name.values + prev_columns = info[info.checkpoint != ""].column_name.values new_cols = [c for c in df.columns.values if c not in prev_columns] is_new_column_this_checkpoont = info.column_name.isin(new_cols) - info.checkpoint = np.where(is_new_column_this_checkpoont, checkpoint_name, info.checkpoint) + info.checkpoint = np.where( + is_new_column_this_checkpoont, checkpoint_name, info.checkpoint + ) schema[table_name] = info @@ -164,7 +173,7 @@ def write_data_dictionary(output_dir): schema_df.to_csv(config.output_file_path(csv_format), header=True, index=False) if txt_format: - with open(config.output_file_path(txt_format), 'w') as output_file: + with open(config.output_file_path(txt_format), "w") as output_file: # get max schema column widths from omnibus table col_width = {c: schema_df[c].str.len().max() + 2 for c in schema_df} @@ -172,17 +181,20 @@ def write_data_dictionary(output_dir): for table_name in table_names: info = schema.get(table_name, None) - columns_to_print = ['column_name', 'dtype', 'checkpoint'] + columns_to_print = ["column_name", "dtype", "checkpoint"] info = info[columns_to_print].copy() # normalize schema columns widths across all table schemas for unified output formatting for c in info: - info[c] = info[c].str.pad(col_width[c], side='right') + info[c] = info[c].str.pad(col_width[c], side="right") info.columns = [c.ljust(col_width[c]) for c in info.columns] info = info.to_string(index=False) - print(f"###\n### {table_name} {final_shapes[table_name]}\n###\n", file=output_file) + print( + f"###\n### {table_name} {final_shapes[table_name]}\n###\n", + file=output_file, + ) print(f"{info}\n", file=output_file) @@ -229,7 +241,7 @@ def write_tables(output_dir): """ - output_tables_settings_name = 'output_tables' + output_tables_settings_name = "output_tables" output_tables_settings = setting(output_tables_settings_name) @@ -237,25 +249,27 @@ def write_tables(output_dir): logger.info("No output_tables specified in settings file. Nothing to write.") return - action = output_tables_settings.get('action') - tables = output_tables_settings.get('tables') - prefix = output_tables_settings.get('prefix', 'final_') - h5_store = output_tables_settings.get('h5_store', False) - sort = output_tables_settings.get('sort', False) + action = output_tables_settings.get("action") + tables = output_tables_settings.get("tables") + prefix = output_tables_settings.get("prefix", "final_") + h5_store = output_tables_settings.get("h5_store", False) + sort = output_tables_settings.get("sort", False) registered_tables = pipeline.registered_tables() - if action == 'include': + if action == "include": # interpret empty or missing tables setting to mean include all registered tables output_tables_list = tables if tables is not None else registered_tables - elif action == 'skip': + elif action == "skip": output_tables_list = [t for t in registered_tables if t not in tables] else: - raise "expected %s action '%s' to be either 'include' or 'skip'" % \ - (output_tables_settings_name, action) + raise "expected %s action '%s' to be either 'include' or 'skip'" % ( + output_tables_settings_name, + action, + ) for table_name in output_tables_list: - if table_name == 'checkpoints': + if table_name == "checkpoints": df = pipeline.get_checkpoints() else: if table_name not in registered_tables: @@ -264,30 +278,42 @@ def write_tables(output_dir): df = pipeline.get_table(table_name) if sort: - traceable_table_indexes = inject.get_injectable('traceable_table_indexes', {}) + traceable_table_indexes = inject.get_injectable( + "traceable_table_indexes", {} + ) if df.index.name in traceable_table_indexes: df = df.sort_index() - logger.debug(f"write_tables sorting {table_name} on index {df.index.name}") + logger.debug( + f"write_tables sorting {table_name} on index {df.index.name}" + ) else: # find all registered columns we can use to sort this table # (they are ordered appropriately in traceable_table_indexes) - sort_columns = [c for c in traceable_table_indexes if c in df.columns] + sort_columns = [ + c for c in traceable_table_indexes if c in df.columns + ] if len(sort_columns) > 0: df = df.sort_values(by=sort_columns) - logger.debug(f"write_tables sorting {table_name} on columns {sort_columns}") + logger.debug( + f"write_tables sorting {table_name} on columns {sort_columns}" + ) else: - logger.debug(f"write_tables sorting {table_name} on unrecognized index {df.index.name}") + logger.debug( + f"write_tables sorting {table_name} on unrecognized index {df.index.name}" + ) df = df.sort_index() if h5_store: - file_path = config.output_file_path('%soutput_tables.h5' % prefix) - df.to_hdf(file_path, key=table_name, mode='a', format='fixed') + file_path = config.output_file_path("%soutput_tables.h5" % prefix) + df.to_hdf(file_path, key=table_name, mode="a", format="fixed") else: file_name = "%s%s.csv" % (prefix, table_name) file_path = config.output_file_path(file_name) # include the index if it has a name or is a MultiIndex - write_index = df.index.name is not None or isinstance(df.index, pd.MultiIndex) + write_index = df.index.name is not None or isinstance( + df.index, pd.MultiIndex + ) df.to_csv(file_path, index=write_index) diff --git a/activitysim/core/test/extensions/__init__.py b/activitysim/core/test/extensions/__init__.py index 690edc137d..33c638303a 100644 --- a/activitysim/core/test/extensions/__init__.py +++ b/activitysim/core/test/extensions/__init__.py @@ -1,2 +1 @@ - from . import steps diff --git a/activitysim/core/test/extensions/steps.py b/activitysim/core/test/extensions/steps.py index b9e598b93c..baa894c692 100644 --- a/activitysim/core/test/extensions/steps.py +++ b/activitysim/core/test/extensions/steps.py @@ -1,37 +1,36 @@ import pandas as pd -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import tracing + +from activitysim.core import inject, pipeline, tracing @inject.step() def step1(): - table1 = pd.DataFrame({'c': [1, 2, 3]}) - inject.add_table('table1', table1) + table1 = pd.DataFrame({"c": [1, 2, 3]}) + inject.add_table("table1", table1) @inject.step() def step2(): - table1 = pd.DataFrame({'c': [2, 4, 6]}) - inject.add_table('table2', table1) + table1 = pd.DataFrame({"c": [2, 4, 6]}) + inject.add_table("table2", table1) @inject.step() def step3(): - table1 = pd.DataFrame({'c': [3, 6, 9]}) - inject.add_table('table3', table1) + table1 = pd.DataFrame({"c": [3, 6, 9]}) + inject.add_table("table3", table1) @inject.step() def step_add_col(): - table_name = inject.get_step_arg('table_name') + table_name = inject.get_step_arg("table_name") assert table_name is not None - col_name = inject.get_step_arg('column_name') + col_name = inject.get_step_arg("column_name") assert col_name is not None table = pipeline.get_table(table_name) @@ -46,7 +45,7 @@ def step_add_col(): @inject.step() def step_forget_tab(): - table_name = inject.get_step_arg('table_name') + table_name = inject.get_step_arg("table_name") assert table_name is not None table = pipeline.get_table(table_name) @@ -57,9 +56,9 @@ def step_forget_tab(): @inject.step() def create_households(trace_hh_id): - df = pd.DataFrame({'household_id': [1, 2, 3], 'home_zone_id': {100, 100, 101}}) - inject.add_table('households', df) + df = pd.DataFrame({"household_id": [1, 2, 3], "home_zone_id": {100, 100, 101}}) + inject.add_table("households", df) - pipeline.get_rn_generator().add_channel('households', df) + pipeline.get_rn_generator().add_channel("households", df) - tracing.register_traceable_table('households', df) + tracing.register_traceable_table("households", df) diff --git a/activitysim/core/test/test_assign.py b/activitysim/core/test/test_assign.py index 1efd4201f5..3818711067 100644 --- a/activitysim/core/test/test_assign.py +++ b/activitysim/core/test/test_assign.py @@ -1,21 +1,18 @@ # ActivitySim # See full license in LICENSE.txt. -import os.path import logging import logging.config +import os.path import numpy as np import pandas as pd import pytest -from .. import config -from .. import assign -from .. import tracing -from .. import inject +from .. import assign, config, inject, tracing def setup_function(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) @@ -34,46 +31,47 @@ def teardown_function(func): inject.reinject_decorated_tables() -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_dir(): - return os.path.join(os.path.dirname(__file__), 'data') + return os.path.join(os.path.dirname(__file__), "data") -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def spec_name(data_dir): - return os.path.join(data_dir, 'assignment_spec.csv') + return os.path.join(data_dir, "assignment_spec.csv") -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_name(data_dir): - return os.path.join(data_dir, 'data.csv') + return os.path.join(data_dir, "data.csv") -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data(data_name): return pd.read_csv(data_name) def test_read_model_spec(): - spec = assign.read_assignment_spec(config.config_file_path('assignment_spec.csv')) + spec = assign.read_assignment_spec(config.config_file_path("assignment_spec.csv")) assert len(spec) == 8 - assert list(spec.columns) == ['description', 'target', 'expression'] + assert list(spec.columns) == ["description", "target", "expression"] def test_assign_variables(capsys, data): - spec = assign.read_assignment_spec(config.config_file_path('assignment_spec.csv')) + spec = assign.read_assignment_spec(config.config_file_path("assignment_spec.csv")) - locals_d = {'CONSTANT': 7, '_shadow': 99} + locals_d = {"CONSTANT": 7, "_shadow": 99} - results, trace_results, trace_assigned_locals \ - = assign.assign_variables(spec, data, locals_d, trace_rows=None) + results, trace_results, trace_assigned_locals = assign.assign_variables( + spec, data, locals_d, trace_rows=None + ) print(results) - assert list(results.columns) == ['target1', 'target2', 'target3'] + assert list(results.columns) == ["target1", "target2", "target3"] assert list(results.target1) == [True, False, False] assert list(results.target2) == [53, 53, 55] assert list(results.target3) == [530, 530, 550] @@ -82,8 +80,9 @@ def test_assign_variables(capsys, data): trace_rows = [False, True, False] - results, trace_results, trace_assigned_locals \ - = assign.assign_variables(spec, data, locals_d, trace_rows=trace_rows) + results, trace_results, trace_assigned_locals = assign.assign_variables( + spec, data, locals_d, trace_rows=trace_rows + ) # should get same results as before assert list(results.target3) == [530, 530, 550] @@ -92,38 +91,40 @@ def test_assign_variables(capsys, data): print(trace_results) assert trace_results is not None - assert '_scalar' in trace_results.columns - assert list(trace_results['_scalar']) == [42] + assert "_scalar" in trace_results.columns + assert list(trace_results["_scalar"]) == [42] # shadow should have been assigned - assert list(trace_results['_shadow']) == [1] - assert list(trace_results['_temp']) == [9] - assert list(trace_results['target3']) == [530] + assert list(trace_results["_shadow"]) == [1] + assert list(trace_results["_temp"]) == [9] + assert list(trace_results["target3"]) == [530] print("trace_assigned_locals", trace_assigned_locals) - assert trace_assigned_locals['_DF_COL_NAME'] == 'thing2' + assert trace_assigned_locals["_DF_COL_NAME"] == "thing2" # shouldn't have been changed even though it was a target - assert locals_d['_shadow'] == 99 + assert locals_d["_shadow"] == 99 out, err = capsys.readouterr() def test_assign_variables_aliased(capsys, data): - spec = assign.read_assignment_spec(config.config_file_path('assignment_spec_alias_df.csv')) + spec = assign.read_assignment_spec( + config.config_file_path("assignment_spec_alias_df.csv") + ) - locals_d = {'CONSTANT': 7, '_shadow': 99} + locals_d = {"CONSTANT": 7, "_shadow": 99} trace_rows = [False, True, False] - results, trace_results, trace_assigned_locals \ - = assign.assign_variables(spec, data, locals_d, - df_alias='aliased_df', trace_rows=trace_rows) + results, trace_results, trace_assigned_locals = assign.assign_variables( + spec, data, locals_d, df_alias="aliased_df", trace_rows=trace_rows + ) print(results) - assert list(results.columns) == ['target1', 'target2', 'target3'] + assert list(results.columns) == ["target1", "target2", "target3"] assert list(results.target1) == [True, False, False] assert list(results.target2) == [53, 53, 55] assert list(results.target3) == [530, 530, 550] @@ -132,15 +133,15 @@ def test_assign_variables_aliased(capsys, data): print(trace_results) assert trace_results is not None - assert '_scalar' in trace_results.columns - assert list(trace_results['_scalar']) == [42] + assert "_scalar" in trace_results.columns + assert list(trace_results["_scalar"]) == [42] # shadow should have been assigned - assert list(trace_results['_shadow']) == [1] - assert list(trace_results['_temp']) == [9] - assert list(trace_results['target3']) == [530] + assert list(trace_results["_shadow"]) == [1] + assert list(trace_results["_temp"]) == [9] + assert list(trace_results["target3"]) == [530] - assert locals_d['_shadow'] == 99 + assert locals_d["_shadow"] == 99 out, err = capsys.readouterr() @@ -149,21 +150,25 @@ def test_assign_variables_failing(capsys, data): close_handlers() - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) tracing.config_logger(basic=True) - spec = assign.read_assignment_spec(config.config_file_path('assignment_spec_failing.csv')) + spec = assign.read_assignment_spec( + config.config_file_path("assignment_spec_failing.csv") + ) locals_d = { - 'CONSTANT': 7, - '_shadow': 99, - 'log': np.log, + "CONSTANT": 7, + "_shadow": 99, + "log": np.log, } with pytest.raises(NameError) as excinfo: - results, trace_results = assign.assign_variables(spec, data, locals_d, trace_rows=None) + results, trace_results = assign.assign_variables( + spec, data, locals_d, trace_rows=None + ) out, err = capsys.readouterr() # don't consume output diff --git a/activitysim/core/test/test_inject_defaults.py b/activitysim/core/test/test_inject_defaults.py index d0b869f1c9..82e106984d 100644 --- a/activitysim/core/test/test_inject_defaults.py +++ b/activitysim/core/test/test_inject_defaults.py @@ -4,10 +4,8 @@ import pytest -from .. import inject - # Note that the following import statement has the side-effect of registering injectables: -from .. import config +from .. import config, inject def teardown_function(func): @@ -32,11 +30,11 @@ def test_defaults(): print("output_dir", output_dir) assert "directory does not exist" in str(excinfo.value) - configs_dir = os.path.join(os.path.dirname(__file__), 'configs_test_defaults') + configs_dir = os.path.join(os.path.dirname(__file__), "configs_test_defaults") inject.add_injectable("configs_dir", configs_dir) settings = inject.get_injectable("settings") assert isinstance(settings, dict) - data_dir = os.path.join(os.path.dirname(__file__), 'data') + data_dir = os.path.join(os.path.dirname(__file__), "data") inject.add_injectable("data_dir", data_dir) diff --git a/activitysim/core/test/test_input.py b/activitysim/core/test/test_input.py index fa94590246..f695020b63 100644 --- a/activitysim/core/test/test_input.py +++ b/activitysim/core/test/test_input.py @@ -1,33 +1,34 @@ # ActivitySim # See full license in LICENSE.txt. import os -import yaml -import pytest + import pandas as pd +import pytest +import yaml -from activitysim.core import inject # Note that the following import statement has the side-effect of registering injectables: -from activitysim.core import config -from activitysim.core import input +from activitysim.core import config, inject, input -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def seed_households(): - return pd.DataFrame({ - 'HHID': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - 'home_zone_id': [8, 8, 8, 8, 12, 12, 15, 16, 16, 18], - }) + return pd.DataFrame( + { + "HHID": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "home_zone_id": [8, 8, 8, 8, 12, 12, 15, 16, 16, 18], + } + ) -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_dir(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) - data_dir = os.path.join(os.path.dirname(__file__), 'temp_data') + data_dir = os.path.join(os.path.dirname(__file__), "temp_data") if not os.path.exists(data_dir): os.mkdir(data_dir) @@ -44,12 +45,12 @@ def data_dir(): def test_missing_table_list(data_dir): - settings = inject.get_injectable('settings') + settings = inject.get_injectable("settings") assert isinstance(settings, dict) with pytest.raises(AssertionError) as excinfo: - input.read_input_table('households') - assert 'no input_table_list found' in str(excinfo.value) + input.read_input_table("households") + assert "no input_table_list found" in str(excinfo.value) def test_csv_reader(seed_households, data_dir): @@ -64,16 +65,16 @@ def test_csv_reader(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) - hh_file = os.path.join(data_dir, 'households.csv') + hh_file = os.path.join(data_dir, "households.csv") seed_households.to_csv(hh_file, index=False) assert os.path.isfile(hh_file) - df = input.read_input_table('households') + df = input.read_input_table("households") - assert df.index.name == 'household_id' + assert df.index.name == "household_id" def test_hdf_reader1(seed_households, data_dir): @@ -88,16 +89,16 @@ def test_hdf_reader1(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) - hh_file = os.path.join(data_dir, 'households.h5') - seed_households.to_hdf(hh_file, key='households', mode='w') + hh_file = os.path.join(data_dir, "households.h5") + seed_households.to_hdf(hh_file, key="households", mode="w") assert os.path.isfile(hh_file) - df = input.read_input_table('households') + df = input.read_input_table("households") - assert df.index.name == 'household_id' + assert df.index.name == "household_id" def test_hdf_reader2(seed_households, data_dir): @@ -113,16 +114,16 @@ def test_hdf_reader2(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) - hh_file = os.path.join(data_dir, 'households.h5') - seed_households.to_hdf(hh_file, key='seed_households', mode='w') + hh_file = os.path.join(data_dir, "households.h5") + seed_households.to_hdf(hh_file, key="seed_households", mode="w") assert os.path.isfile(hh_file) - df = input.read_input_table('households') + df = input.read_input_table("households") - assert df.index.name == 'household_id' + assert df.index.name == "household_id" def test_hdf_reader3(seed_households, data_dir): @@ -137,16 +138,16 @@ def test_hdf_reader3(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) - hh_file = os.path.join(data_dir, 'input_data.h5') - seed_households.to_hdf(hh_file, key='households', mode='w') + hh_file = os.path.join(data_dir, "input_data.h5") + seed_households.to_hdf(hh_file, key="households", mode="w") assert os.path.isfile(hh_file) - df = input.read_input_table('households') + df = input.read_input_table("households") - assert df.index.name == 'household_id' + assert df.index.name == "household_id" def test_missing_filename(seed_households, data_dir): @@ -160,11 +161,11 @@ def test_missing_filename(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) with pytest.raises(AssertionError) as excinfo: - input.read_input_table('households') - assert 'no input file provided' in str(excinfo.value) + input.read_input_table("households") + assert "no input file provided" in str(excinfo.value) def test_create_input_store(seed_households, data_dir): @@ -181,19 +182,19 @@ def test_create_input_store(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) - hh_file = os.path.join(data_dir, 'households.csv') + hh_file = os.path.join(data_dir, "households.csv") seed_households.to_csv(hh_file, index=False) assert os.path.isfile(hh_file) - df = input.read_input_table('households') + df = input.read_input_table("households") - assert df.index.name == 'household_id' + assert df.index.name == "household_id" - output_store = os.path.join(inject.get_injectable('output_dir'), 'input_data.h5') + output_store = os.path.join(inject.get_injectable("output_dir"), "input_data.h5") assert os.path.exists(output_store) - store_df = pd.read_hdf(output_store, 'seed_households') + store_df = pd.read_hdf(output_store, "seed_households") assert store_df.equals(seed_households) diff --git a/activitysim/core/test/test_logit.py b/activitysim/core/test/test_logit.py index 15db8a5ae0..225fdbb3c7 100644 --- a/activitysim/core/test/test_logit.py +++ b/activitysim/core/test/test_logit.py @@ -5,17 +5,15 @@ import numpy as np import pandas as pd - import pandas.testing as pdt import pytest +from .. import inject, logit from ..simulate import eval_variables -from .. import logit -from .. import inject def setup_function(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) @@ -24,121 +22,130 @@ def teardown_function(func): inject.reinject_decorated_tables() -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_dir(): - return os.path.join(os.path.dirname(__file__), 'data') + return os.path.join(os.path.dirname(__file__), "data") def add_canonical_dirs(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) # this is lifted straight from urbansim's test_mnl.py -@pytest.fixture(scope='module', params=[ - ('fish.csv', - 'fish_choosers.csv', - pd.DataFrame( - [[-0.02047652], [0.95309824]], index=['price', 'catch'], - columns=['Alt']), - pd.DataFrame([ - [0.2849598, 0.2742482, 0.1605457, 0.2802463], - [0.1498991, 0.4542377, 0.2600969, 0.1357664]], - columns=['beach', 'boat', 'charter', 'pier']))]) +@pytest.fixture( + scope="module", + params=[ + ( + "fish.csv", + "fish_choosers.csv", + pd.DataFrame( + [[-0.02047652], [0.95309824]], index=["price", "catch"], columns=["Alt"] + ), + pd.DataFrame( + [ + [0.2849598, 0.2742482, 0.1605457, 0.2802463], + [0.1498991, 0.4542377, 0.2600969, 0.1357664], + ], + columns=["beach", "boat", "charter", "pier"], + ), + ) + ], +) def test_data(request): data, choosers, spec, probabilities = request.param return { - 'data': data, - 'choosers': choosers, - 'spec': spec, - 'probabilities': probabilities + "data": data, + "choosers": choosers, + "spec": spec, + "probabilities": probabilities, } @pytest.fixture def choosers(test_data, data_dir): - filen = os.path.join(data_dir, test_data['choosers']) + filen = os.path.join(data_dir, test_data["choosers"]) return pd.read_csv(filen) @pytest.fixture def spec(test_data): - return test_data['spec'] + return test_data["spec"] @pytest.fixture def utilities(choosers, spec, test_data): vars = eval_variables(spec.index, choosers) - utils = vars.dot(spec).astype('float') + utils = vars.dot(spec).astype("float") return pd.DataFrame( - utils.values.reshape(test_data['probabilities'].shape), - columns=test_data['probabilities'].columns) + utils.values.reshape(test_data["probabilities"].shape), + columns=test_data["probabilities"].columns, + ) def test_utils_to_probs(utilities, test_data): probs = logit.utils_to_probs(utilities, trace_label=None) - pdt.assert_frame_equal(probs, test_data['probabilities']) + pdt.assert_frame_equal(probs, test_data["probabilities"]) def test_utils_to_probs_raises(): add_canonical_dirs() - idx = pd.Index(name='household_id', data=[1]) + idx = pd.Index(name="household_id", data=[1]) with pytest.raises(RuntimeError) as excinfo: - logit.utils_to_probs(pd.DataFrame([[1, 2, np.inf, 3]], index=idx), trace_label=None) + logit.utils_to_probs( + pd.DataFrame([[1, 2, np.inf, 3]], index=idx), trace_label=None + ) assert "infinite exponentiated utilities" in str(excinfo.value) with pytest.raises(RuntimeError) as excinfo: - logit.utils_to_probs(pd.DataFrame([[-999, -999, -999, -999]], index=idx), trace_label=None) + logit.utils_to_probs( + pd.DataFrame([[-999, -999, -999, -999]], index=idx), trace_label=None + ) assert "all probabilities are zero" in str(excinfo.value) def test_make_choices_only_one(): probs = pd.DataFrame( - [[1, 0, 0], [0, 1, 0]], columns=['a', 'b', 'c'], index=['x', 'y']) + [[1, 0, 0], [0, 1, 0]], columns=["a", "b", "c"], index=["x", "y"] + ) choices, rands = logit.make_choices(probs) - pdt.assert_series_equal( - choices, - pd.Series([0, 1], index=['x', 'y'])) + pdt.assert_series_equal(choices, pd.Series([0, 1], index=["x", "y"])) def test_make_choices_real_probs(utilities): probs = logit.utils_to_probs(utilities, trace_label=None) choices, rands = logit.make_choices(probs) - pdt.assert_series_equal( - choices, - pd.Series([1, 2], index=[0, 1])) + pdt.assert_series_equal(choices, pd.Series([1, 2], index=[0, 1])) -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def interaction_choosers(): - return pd.DataFrame({ - 'attr': ['a', 'b', 'c', 'b']}, - index=['w', 'x', 'y', 'z']) + return pd.DataFrame({"attr": ["a", "b", "c", "b"]}, index=["w", "x", "y", "z"]) -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def interaction_alts(): - return pd.DataFrame({ - 'prop': [10, 20, 30, 40]}, - index=[1, 2, 3, 4]) + return pd.DataFrame({"prop": [10, 20, 30, 40]}, index=[1, 2, 3, 4]) def test_interaction_dataset_no_sample(interaction_choosers, interaction_alts): - expected = pd.DataFrame({ - 'attr': ['a'] * 4 + ['b'] * 4 + ['c'] * 4 + ['b'] * 4, - 'prop': [10, 20, 30, 40] * 4}, - index=[1, 2, 3, 4] * 4) + expected = pd.DataFrame( + { + "attr": ["a"] * 4 + ["b"] * 4 + ["c"] * 4 + ["b"] * 4, + "prop": [10, 20, 30, 40] * 4, + }, + index=[1, 2, 3, 4] * 4, + ) - interacted = logit.interaction_dataset( - interaction_choosers, interaction_alts) + interacted = logit.interaction_dataset(interaction_choosers, interaction_alts) interacted, expected = interacted.align(expected, axis=1) @@ -147,15 +154,18 @@ def test_interaction_dataset_no_sample(interaction_choosers, interaction_alts): pdt.assert_frame_equal(interacted, expected) -def test_interaction_dataset_sampled( - interaction_choosers, interaction_alts): - expected = pd.DataFrame({ - 'attr': ['a'] * 2 + ['b'] * 2 + ['c'] * 2 + ['b'] * 2, - 'prop': [30, 40, 10, 30, 40, 10, 20, 10]}, - index=[3, 4, 1, 3, 4, 1, 2, 1]) +def test_interaction_dataset_sampled(interaction_choosers, interaction_alts): + expected = pd.DataFrame( + { + "attr": ["a"] * 2 + ["b"] * 2 + ["c"] * 2 + ["b"] * 2, + "prop": [30, 40, 10, 30, 40, 10, 20, 10], + }, + index=[3, 4, 1, 3, 4, 1, 2, 1], + ) interacted = logit.interaction_dataset( - interaction_choosers, interaction_alts, sample_size=2) + interaction_choosers, interaction_alts, sample_size=2 + ) interacted, expected = interacted.align(expected, axis=1) pdt.assert_frame_equal(interacted, expected) diff --git a/activitysim/core/test/test_los.py b/activitysim/core/test/test_los.py index 318bf92ec1..9a99e9b6b2 100644 --- a/activitysim/core/test/test_los.py +++ b/activitysim/core/test/test_los.py @@ -4,14 +4,12 @@ import os import numpy as np -import pandas as pd import numpy.testing as npt +import pandas as pd import pandas.testing as pdt import pytest - -from .. import inject -from .. import los +from .. import inject, los def teardown_function(func): @@ -21,37 +19,37 @@ def teardown_function(func): def add_canonical_dirs(configs_dir_name): - configs_dir = os.path.join(os.path.dirname(__file__), f'los/{configs_dir_name}') + configs_dir = os.path.join(os.path.dirname(__file__), f"los/{configs_dir_name}") inject.add_injectable("configs_dir", configs_dir) - data_dir = os.path.join(os.path.dirname(__file__), f'los/data') + data_dir = os.path.join(os.path.dirname(__file__), f"los/data") inject.add_injectable("data_dir", data_dir) - output_dir = os.path.join(os.path.dirname(__file__), f'output') + output_dir = os.path.join(os.path.dirname(__file__), f"output") inject.add_injectable("output_dir", output_dir) def test_legacy_configs(): - add_canonical_dirs('configs_legacy_settings') + add_canonical_dirs("configs_legacy_settings") with pytest.warns(FutureWarning): network_los = los.Network_LOS() - assert network_los.setting('zone_system') == los.ONE_ZONE + assert network_los.setting("zone_system") == los.ONE_ZONE - assert 'z1_taz_skims.omx' in network_los.omx_file_names('taz') + assert "z1_taz_skims.omx" in network_los.omx_file_names("taz") def test_one_zone(): - add_canonical_dirs('configs_1z') + add_canonical_dirs("configs_1z") network_los = los.Network_LOS() - assert network_los.setting('zone_system') == los.ONE_ZONE + assert network_los.setting("zone_system") == los.ONE_ZONE - assert 'z1_taz_skims.omx' in network_los.omx_file_names('taz') + assert "z1_taz_skims.omx" in network_los.omx_file_names("taz") network_los.load_data() @@ -60,10 +58,7 @@ def test_one_zone(): # 23000,22000,0.89,0.89 # 23000,23000,0.19,0.19 - od_df = pd.DataFrame({ - 'orig': [5, 23, 23, 23], - 'dest': [7, 20, 21, 22] - }) + od_df = pd.DataFrame({"orig": [5, 23, 23, 23], "dest": [7, 20, 21, 22]}) skim_dict = network_los.get_default_skim_dict() @@ -73,9 +68,11 @@ def test_one_zone(): # 23000,20000,2.55,2.55 # 23000,21000,1.9,1.9 # 23000,22000,0.62,0.62 - skims = skim_dict.wrap('orig', 'dest') + skims = skim_dict.wrap("orig", "dest") skims.set_df(od_df) - pdt.assert_series_equal(skims['DIST'], pd.Series([0.4, 2.55, 1.9, 0.62]).astype(np.float32)) + pdt.assert_series_equal( + skims["DIST"], pd.Series([0.4, 2.55, 1.9, 0.62]).astype(np.float32) + ) # OMAZ, DMAZ, DIST, DISTBIKE # 2000, 1000, 0.37, 0.37 @@ -83,43 +80,51 @@ def test_one_zone(): # 21000,23000,1.89,1.89 # 22000,23000,0.89,0.89 - skims = skim_dict.wrap('dest', 'orig') + skims = skim_dict.wrap("dest", "orig") skims.set_df(od_df) - pdt.assert_series_equal(skims['DIST'], pd.Series([0.46, 2.45, 1.89, 0.89]).astype(np.float32)) + pdt.assert_series_equal( + skims["DIST"], pd.Series([0.46, 2.45, 1.89, 0.89]).astype(np.float32) + ) def test_two_zone(): - add_canonical_dirs('configs_2z') + add_canonical_dirs("configs_2z") network_los = los.Network_LOS() - assert network_los.setting('zone_system') == los.TWO_ZONE + assert network_los.setting("zone_system") == los.TWO_ZONE - assert 'z2_taz_skims.omx' in network_los.omx_file_names('taz') + assert "z2_taz_skims.omx" in network_los.omx_file_names("taz") - assert network_los.blend_distance_skim_name == 'DIST' + assert network_los.blend_distance_skim_name == "DIST" network_los.load_data() skim_dict = network_los.get_default_skim_dict() # skims should be the same as maz_to_maz distances when no blending - od_df = pd.DataFrame({ - 'orig': [1000, 2000, 23000, 23000, 23000], - 'dest': [2000, 2000, 20000, 21000, 22000] - }) + od_df = pd.DataFrame( + { + "orig": [1000, 2000, 23000, 23000, 23000], + "dest": [2000, 2000, 20000, 21000, 22000], + } + ) # compare to distances from maz_to_maz table - dist = pd.Series(network_los.get_mazpairs(od_df.orig, od_df.dest, 'DIST')).astype(np.float32) + dist = pd.Series(network_los.get_mazpairs(od_df.orig, od_df.dest, "DIST")).astype( + np.float32 + ) # make sure we got the right values - pdt.assert_series_equal(dist, pd.Series([0.24, 0.14, 2.55, 1.9, 0.62]).astype(np.float32)) + pdt.assert_series_equal( + dist, pd.Series([0.24, 0.14, 2.55, 1.9, 0.62]).astype(np.float32) + ) - skims = skim_dict.wrap('orig', 'dest') + skims = skim_dict.wrap("orig", "dest") skims.set_df(od_df) # assert no blending for DISTBIKE - assert network_los.max_blend_distance.get('DISTBIKE', 0) == 0 + assert network_los.max_blend_distance.get("DISTBIKE", 0) == 0 - skim_dist = skims['DISTBIKE'] + skim_dist = skims["DISTBIKE"] print(type(skims), type(skim_dist.iloc[0])) print(type(dist.iloc[0])) @@ -127,88 +132,106 @@ def test_two_zone(): # but should be different where maz-maz distance differs from skim backstop and blending desired # blending enabled for DIST - assert network_los.max_blend_distance.get('DIST') > 0 + assert network_los.max_blend_distance.get("DIST") > 0 with pytest.raises(AssertionError) as excinfo: - pdt.assert_series_equal(skims['DIST'], dist) + pdt.assert_series_equal(skims["DIST"], dist) def test_three_zone(): - add_canonical_dirs('configs_3z') + add_canonical_dirs("configs_3z") network_los = los.Network_LOS() - assert network_los.setting('zone_system') == los.THREE_ZONE + assert network_los.setting("zone_system") == los.THREE_ZONE - assert 'z3_taz_skims.omx' in network_los.omx_file_names('taz') + assert "z3_taz_skims.omx" in network_los.omx_file_names("taz") - assert network_los.blend_distance_skim_name == 'DIST' + assert network_los.blend_distance_skim_name == "DIST" network_los.load_data() - od_df = pd.DataFrame({ - 'orig': [1000, 2000, 23000, 23000, 23000], - 'dest': [2000, 2000, 20000, 21000, 22000] - }) + od_df = pd.DataFrame( + { + "orig": [1000, 2000, 23000, 23000, 23000], + "dest": [2000, 2000, 20000, 21000, 22000], + } + ) - dist = network_los.get_mazpairs(od_df.orig, od_df.dest, 'DIST').astype(np.float32) + dist = network_los.get_mazpairs(od_df.orig, od_df.dest, "DIST").astype(np.float32) np.testing.assert_almost_equal(dist, [0.24, 0.14, 2.55, 1.9, 0.62]) def test_30_minute_windows(): - add_canonical_dirs('configs_test_misc') - network_los = los.Network_LOS(los_settings_file_name='settings_30_min.yaml') + add_canonical_dirs("configs_test_misc") + network_los = los.Network_LOS(los_settings_file_name="settings_30_min.yaml") - assert network_los.skim_time_period_label(1) == 'EA' - assert network_los.skim_time_period_label(16) == 'AM' - assert network_los.skim_time_period_label(24) == 'MD' - assert network_los.skim_time_period_label(36) == 'PM' - assert network_los.skim_time_period_label(46) == 'EV' + assert network_los.skim_time_period_label(1) == "EA" + assert network_los.skim_time_period_label(16) == "AM" + assert network_los.skim_time_period_label(24) == "MD" + assert network_los.skim_time_period_label(36) == "PM" + assert network_los.skim_time_period_label(46) == "EV" np.testing.assert_array_equal( network_los.skim_time_period_label(pd.Series([1, 16, 24, 36, 46])), - np.array(['EA', 'AM', 'MD', 'PM', 'EV'])) + np.array(["EA", "AM", "MD", "PM", "EV"]), + ) def test_60_minute_windows(): - add_canonical_dirs('configs_test_misc') - network_los = los.Network_LOS(los_settings_file_name='settings_60_min.yaml') + add_canonical_dirs("configs_test_misc") + network_los = los.Network_LOS(los_settings_file_name="settings_60_min.yaml") - assert network_los.skim_time_period_label(1) == 'EA' - assert network_los.skim_time_period_label(8) == 'AM' - assert network_los.skim_time_period_label(12) == 'MD' - assert network_los.skim_time_period_label(18) == 'PM' - assert network_los.skim_time_period_label(23) == 'EV' + assert network_los.skim_time_period_label(1) == "EA" + assert network_los.skim_time_period_label(8) == "AM" + assert network_los.skim_time_period_label(12) == "MD" + assert network_los.skim_time_period_label(18) == "PM" + assert network_los.skim_time_period_label(23) == "EV" np.testing.assert_array_equal( network_los.skim_time_period_label(pd.Series([1, 8, 12, 18, 23])), - np.array(['EA', 'AM', 'MD', 'PM', 'EV'])) + np.array(["EA", "AM", "MD", "PM", "EV"]), + ) def test_1_week_time_window(): - add_canonical_dirs('configs_test_misc') - network_los = los.Network_LOS(los_settings_file_name='settings_1_week.yaml') + add_canonical_dirs("configs_test_misc") + network_los = los.Network_LOS(los_settings_file_name="settings_1_week.yaml") - assert network_los.skim_time_period_label(1) == 'Sunday' - assert network_los.skim_time_period_label(2) == 'Monday' - assert network_los.skim_time_period_label(3) == 'Tuesday' - assert network_los.skim_time_period_label(4) == 'Wednesday' - assert network_los.skim_time_period_label(5) == 'Thursday' - assert network_los.skim_time_period_label(6) == 'Friday' - assert network_los.skim_time_period_label(7) == 'Saturday' + assert network_los.skim_time_period_label(1) == "Sunday" + assert network_los.skim_time_period_label(2) == "Monday" + assert network_los.skim_time_period_label(3) == "Tuesday" + assert network_los.skim_time_period_label(4) == "Wednesday" + assert network_los.skim_time_period_label(5) == "Thursday" + assert network_los.skim_time_period_label(6) == "Friday" + assert network_los.skim_time_period_label(7) == "Saturday" weekly_series = network_los.skim_time_period_label(pd.Series([1, 2, 3, 4, 5, 6, 7])) - np.testing.assert_array_equal(weekly_series, np.array([ - 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'])) + np.testing.assert_array_equal( + weekly_series, + np.array( + [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ] + ), + ) def test_skim_time_periods_future_warning(): - add_canonical_dirs('configs_test_misc') + add_canonical_dirs("configs_test_misc") with pytest.warns(FutureWarning) as warning_test: - network_los = los.Network_LOS(los_settings_file_name='settings_legacy_hours_key.yaml') + network_los = los.Network_LOS( + los_settings_file_name="settings_legacy_hours_key.yaml" + ) diff --git a/activitysim/core/test/test_pipeline.py b/activitysim/core/test/test_pipeline.py index 24e8ec0b68..724aa18822 100644 --- a/activitysim/core/test/test_pipeline.py +++ b/activitysim/core/test/test_pipeline.py @@ -1,14 +1,12 @@ # ActivitySim # See full license in LICENSE.txt. -import os import logging -import pytest +import os +import pytest import tables -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import inject +from activitysim.core import inject, pipeline, tracing from .extensions import steps @@ -21,16 +19,16 @@ def setup_function(): inject.reinject_decorated_tables() - inject.remove_injectable('skim_dict') - inject.remove_injectable('skim_stack') + inject.remove_injectable("skim_dict") + inject.remove_injectable("skim_stack") - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) - data_dir = os.path.join(os.path.dirname(__file__), 'data') + data_dir = os.path.join(os.path.dirname(__file__), "data") inject.add_injectable("data_dir", data_dir) inject.clear_cache() @@ -56,17 +54,17 @@ def close_handlers(): # @pytest.mark.filterwarnings('ignore::tables.NaturalNameWarning') def test_pipeline_run(): - inject.add_step('step1', steps.step1) - inject.add_step('step2', steps.step2) - inject.add_step('step3', steps.step3) - inject.add_step('step_add_col', steps.step_add_col) + inject.add_step("step1", steps.step1) + inject.add_step("step2", steps.step2) + inject.add_step("step3", steps.step3) + inject.add_step("step_add_col", steps.step_add_col) inject.dump_state() _MODELS = [ - 'step1', - 'step2', - 'step3', - 'step_add_col.table_name=table2;column_name=c2' + "step1", + "step2", + "step3", + "step_add_col.table_name=table2;column_name=c2", ] pipeline.run(models=_MODELS, resume_after=None) @@ -101,19 +99,19 @@ def test_pipeline_run(): def test_pipeline_checkpoint_drop(): - inject.add_step('step1', steps.step1) - inject.add_step('step2', steps.step2) - inject.add_step('step3', steps.step3) - inject.add_step('step_add_col', steps.step_add_col) - inject.add_step('step_forget_tab', steps.step_forget_tab) + inject.add_step("step1", steps.step1) + inject.add_step("step2", steps.step2) + inject.add_step("step3", steps.step3) + inject.add_step("step_add_col", steps.step_add_col) + inject.add_step("step_forget_tab", steps.step_forget_tab) _MODELS = [ - 'step1', - '_step2', - '_step_add_col.table_name=table2;column_name=c2', - '_step_forget_tab.table_name=table2', - 'step3', - 'step_forget_tab.table_name=table3', + "step1", + "_step2", + "_step_add_col.table_name=table2;column_name=c2", + "_step_forget_tab.table_name=table2", + "step3", + "step_forget_tab.table_name=table3", ] pipeline.run(models=_MODELS, resume_after=None) @@ -137,6 +135,7 @@ def test_pipeline_checkpoint_drop(): pipeline.close_pipeline() close_handlers() + # if __name__ == "__main__": # # print "\n\ntest_pipeline_run" diff --git a/activitysim/core/test/test_random.py b/activitysim/core/test/test_random.py index 85228f5941..50b4f0dc5a 100644 --- a/activitysim/core/test/test_random.py +++ b/activitysim/core/test/test_random.py @@ -1,8 +1,8 @@ # ActivitySim # See full license in LICENSE.txt. import numpy as np -import pandas as pd import numpy.testing as npt +import pandas as pd import pytest from activitysim.core import random @@ -14,7 +14,7 @@ def test_basic(): rng.set_base_seed(0) - rng.begin_step('test_step') + rng.begin_step("test_step") global_rng = rng.get_global_rng() @@ -34,25 +34,31 @@ def test_basic(): def test_channel(): channels = { - 'households': 'household_id', - 'persons': 'person_id', + "households": "household_id", + "persons": "person_id", } rng = random.Random() - persons = pd.DataFrame({ - "household_id": [1, 1, 2, 2, 2], - }, index=[1, 2, 3, 4, 5]) - persons.index.name = 'person_id' + persons = pd.DataFrame( + { + "household_id": [1, 1, 2, 2, 2], + }, + index=[1, 2, 3, 4, 5], + ) + persons.index.name = "person_id" - households = pd.DataFrame({ - "data": [1, 1, 2, 2, 2], - }, index=[1, 2, 3, 4, 5]) - households.index.name = 'household_id' + households = pd.DataFrame( + { + "data": [1, 1, 2, 2, 2], + }, + index=[1, 2, 3, 4, 5], + ) + households.index.name = "household_id" - rng.begin_step('test_step') + rng.begin_step("test_step") - rng.add_channel('persons', persons) - rng.add_channel('households', households) + rng.add_channel("persons", persons) + rng.add_channel("households", households) rands = rng.random_for_df(persons) @@ -67,9 +73,9 @@ def test_channel(): test1_expected_rands2 = [0.9105223, 0.5718418, 0.7222742, 0.9062284, 0.3929369] npt.assert_almost_equal(np.asanyarray(rands).flatten(), test1_expected_rands2) - rng.end_step('test_step') + rng.end_step("test_step") - rng.begin_step('test_step2') + rng.begin_step("test_step2") rands = rng.random_for_df(households) expected_rands = [0.417278, 0.2994774, 0.8653719, 0.4429748, 0.5101697] @@ -84,21 +90,31 @@ def test_channel(): expected_choices = [3, 1, 4, 3, 3, 2, 2, 1, 4, 2] npt.assert_almost_equal(choices, expected_choices) - rng.end_step('test_step2') + rng.end_step("test_step2") - rng.begin_step('test_step3') + rng.begin_step("test_step3") rands = rng.random_for_df(households, n=2) - expected_rands = [0.3157928, 0.3321823, 0.5194067, 0.9340083, 0.9002048, 0.8754209, - 0.3898816, 0.4101094, 0.7351484, 0.1741092] + expected_rands = [ + 0.3157928, + 0.3321823, + 0.5194067, + 0.9340083, + 0.9002048, + 0.8754209, + 0.3898816, + 0.4101094, + 0.7351484, + 0.1741092, + ] npt.assert_almost_equal(np.asanyarray(rands).flatten(), expected_rands) - rng.end_step('test_step3') + rng.end_step("test_step3") # if we use the same step name a second time, we should get the same results as before - rng.begin_step('test_step') + rng.begin_step("test_step") rands = rng.random_for_df(persons) @@ -108,4 +124,4 @@ def test_channel(): rands = rng.random_for_df(persons) npt.assert_almost_equal(np.asanyarray(rands).flatten(), test1_expected_rands2) - rng.end_step('test_step') + rng.end_step("test_step") diff --git a/activitysim/core/test/test_simulate.py b/activitysim/core/test/test_simulate.py index 3fbee00db1..9eaa66534a 100644 --- a/activitysim/core/test/test_simulate.py +++ b/activitysim/core/test/test_simulate.py @@ -3,42 +3,40 @@ import os.path -import numpy.testing as npt import numpy as np +import numpy.testing as npt import pandas as pd import pandas.testing as pdt import pytest -from .. import inject - -from .. import simulate +from .. import inject, simulate -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_dir(): - return os.path.join(os.path.dirname(__file__), 'data') + return os.path.join(os.path.dirname(__file__), "data") -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def spec_name(data_dir): - return 'sample_spec.csv' + return "sample_spec.csv" -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def spec(data_dir, spec_name): return simulate.read_model_spec(file_name=spec_name) -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data(data_dir): - return pd.read_csv(os.path.join(data_dir, 'data.csv')) + return pd.read_csv(os.path.join(data_dir, "data.csv")) def setup_function(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), f'output') + output_dir = os.path.join(os.path.dirname(__file__), f"output") inject.add_injectable("output_dir", output_dir) @@ -47,22 +45,18 @@ def test_read_model_spec(spec_name): spec = simulate.read_model_spec(file_name=spec_name) assert len(spec) == 4 - assert spec.index.name == 'Expression' - assert list(spec.columns) == ['alt0', 'alt1'] - npt.assert_array_equal( - spec.values, - [[1.1, 11], [2.2, 22], [3.3, 33], [4.4, 44]]) + assert spec.index.name == "Expression" + assert list(spec.columns) == ["alt0", "alt1"] + npt.assert_array_equal(spec.values, [[1.1, 11], [2.2, 22], [3.3, 33], [4.4, 44]]) def test_eval_variables(spec, data): result = simulate.eval_variables(spec.index, data) - expected = pd.DataFrame([ - [1, 0, 4, 1], - [0, 1, 4, 1], - [0, 1, 5, 1]], - index=data.index, columns=spec.index) + expected = pd.DataFrame( + [[1, 0, 4, 1], [0, 1, 4, 1], [0, 1, 5, 1]], index=data.index, columns=spec.index + ) expected[expected.columns[0]] = expected[expected.columns[0]].astype(np.int8) expected[expected.columns[1]] = expected[expected.columns[1]].astype(np.int8) @@ -77,7 +71,7 @@ def test_eval_variables(spec, data): def test_simple_simulate(data, spec): - inject.add_injectable("settings", {'check_for_variability': False}) + inject.add_injectable("settings", {"check_for_variability": False}) choices = simulate.simple_simulate(choosers=data, spec=spec, nest_spec=None) expected = pd.Series([1, 1, 1], index=data.index) @@ -86,8 +80,10 @@ def test_simple_simulate(data, spec): def test_simple_simulate_chunked(data, spec): - inject.add_injectable("settings", {'check_for_variability': False}) + inject.add_injectable("settings", {"check_for_variability": False}) - choices = simulate.simple_simulate(choosers=data, spec=spec, nest_spec=None, chunk_size=2) + choices = simulate.simple_simulate( + choosers=data, spec=spec, nest_spec=None, chunk_size=2 + ) expected = pd.Series([1, 1, 1], index=data.index) pdt.assert_series_equal(choices, expected) diff --git a/activitysim/core/test/test_skim.py b/activitysim/core/test/test_skim.py index 0605250378..a1e47779ae 100644 --- a/activitysim/core/test/test_skim.py +++ b/activitysim/core/test/test_skim.py @@ -2,8 +2,8 @@ # See full license in LICENSE.txt. import numpy as np -import pandas as pd import numpy.testing as npt +import pandas as pd import pandas.testing as pdt import pytest @@ -12,7 +12,7 @@ @pytest.fixture def data(): - return np.arange(100, dtype='int').reshape((10, 10)) + return np.arange(100, dtype="int").reshape((10, 10)) class FakeSkimInfo(object): @@ -25,41 +25,35 @@ def test_skims(data): # ROW_MAJOR_LAYOUT omx_shape = (10, 10) num_skims = 2 - skim_data_shape = (num_skims, ) + omx_shape + skim_data_shape = (num_skims,) + omx_shape skim_data = np.zeros(skim_data_shape, dtype=int) skim_data[0, :, :] = data - skim_data[1, :, :] = data*10 + skim_data[1, :, :] = data * 10 skim_info = FakeSkimInfo() - skim_info.block_offsets = {'AM': 0, 'PM': 1} + skim_info.block_offsets = {"AM": 0, "PM": 1} skim_info.omx_shape = omx_shape - skim_info.dtype_name = 'int' + skim_info.dtype_name = "int" - skim_dict = skim_dictionary.SkimDict('taz', skim_info, skim_data) + skim_dict = skim_dictionary.SkimDict("taz", skim_info, skim_data) skim_dict.offset_mapper.set_offset_int(0) # default is -1 skims = skim_dict.wrap("taz_l", "taz_r") - df = pd.DataFrame({ - "taz_l": [1, 9, 4], - "taz_r": [2, 3, 7], - }) + df = pd.DataFrame( + { + "taz_l": [1, 9, 4], + "taz_r": [2, 3, 7], + } + ) skims.set_df(df) pdt.assert_series_equal( - skims['AM'], - pd.Series( - [12, 93, 47], - index=[0, 1, 2] - ).astype(data.dtype) + skims["AM"], pd.Series([12, 93, 47], index=[0, 1, 2]).astype(data.dtype) ) pdt.assert_series_equal( - skims['PM'], - pd.Series( - [120, 930, 470], - index=[0, 1, 2] - ).astype(data.dtype) + skims["PM"], pd.Series([120, 930, 470], index=[0, 1, 2]).astype(data.dtype) ) @@ -68,34 +62,27 @@ def test_3dskims(data): # ROW_MAJOR_LAYOUT omx_shape = (10, 10) num_skims = 2 - skim_data_shape = (num_skims, ) + omx_shape + skim_data_shape = (num_skims,) + omx_shape skim_data = np.zeros(skim_data_shape, dtype=int) skim_data[0, :, :] = data - skim_data[1, :, :] = data*10 + skim_data[1, :, :] = data * 10 skim_info = FakeSkimInfo() - skim_info.block_offsets = {('SOV', 'AM'): 0, ('SOV', 'PM'): 1} + skim_info.block_offsets = {("SOV", "AM"): 0, ("SOV", "PM"): 1} skim_info.omx_shape = omx_shape - skim_info.dtype_name = 'int' - skim_info.key1_block_offsets = {'SOV': 0} + skim_info.dtype_name = "int" + skim_info.key1_block_offsets = {"SOV": 0} - skim_dict = skim_dictionary.SkimDict('taz', skim_info, skim_data) + skim_dict = skim_dictionary.SkimDict("taz", skim_info, skim_data) skim_dict.offset_mapper.set_offset_int(0) # default is -1 skims3d = skim_dict.wrap_3d(orig_key="taz_l", dest_key="taz_r", dim3_key="period") - df = pd.DataFrame({ - "taz_l": [1, 9, 4], - "taz_r": [2, 3, 7], - "period": ['AM', 'PM', 'AM'] - }) + df = pd.DataFrame( + {"taz_l": [1, 9, 4], "taz_r": [2, 3, 7], "period": ["AM", "PM", "AM"]} + ) skims3d.set_df(df) pdt.assert_series_equal( - skims3d["SOV"], - pd.Series( - [12, 930, 47], - index=[0, 1, 2] - ), - check_dtype=False + skims3d["SOV"], pd.Series([12, 930, 47], index=[0, 1, 2]), check_dtype=False ) diff --git a/activitysim/core/test/test_timetable.py b/activitysim/core/test/test_timetable.py index 9528cbfd77..17b871dcfc 100644 --- a/activitysim/core/test/test_timetable.py +++ b/activitysim/core/test/test_timetable.py @@ -2,21 +2,20 @@ # See full license in LICENSE.txt. from builtins import range + import numpy as np import pandas as pd import pandas.testing as pdt import pytest -from .. import timetable as tt from .. import chunk +from .. import timetable as tt @pytest.fixture def persons(): - df = pd.DataFrame( - index=list(range(6)) - ) + df = pd.DataFrame(index=list(range(6))) return df @@ -25,26 +24,42 @@ def persons(): def tdd_alts(): alts = pd.DataFrame( data=[ - [5, 5], [5, 6], [5, 7], [5, 8], [5, 9], [5, 10], - [6, 6], [6, 7], [6, 8], [6, 9], [6, 10], - [7, 7], [7, 8], [7, 9], [7, 10], - [8, 8], [8, 9], [8, 10], - [9, 9], [9, 10], + [5, 5], + [5, 6], + [5, 7], + [5, 8], + [5, 9], + [5, 10], + [6, 6], + [6, 7], + [6, 8], + [6, 9], + [6, 10], + [7, 7], + [7, 8], + [7, 9], + [7, 10], + [8, 8], + [8, 9], + [8, 10], + [9, 9], + [9, 10], [10, 10], ], - columns=['start', 'end']) - alts['duration'] = alts.end - alts.start + columns=["start", "end"], + ) + alts["duration"] = alts.end - alts.start return alts def test_basic(persons, tdd_alts): - with chunk.chunk_log('test_basic', base=True): + with chunk.chunk_log("test_basic", base=True): person_windows = tt.create_timetable_windows(persons, tdd_alts) - timetable = tt.TimeTable(person_windows, tdd_alts, 'person_windows') + timetable = tt.TimeTable(person_windows, tdd_alts, "person_windows") # print "\ntdd_footprints_df\n", timetable.tdd_footprints_df # 0 1 2 3 4 5 6 7 @@ -73,7 +88,7 @@ def test_basic(persons, tdd_alts): num_alts = len(tdd_alts.index) num_persons = len(persons.index) - person_ids = pd.Series(list(range(num_persons))*num_alts) + person_ids = pd.Series(list(range(num_persons)) * num_alts) tdds = pd.Series(np.repeat(list(range(num_alts)), num_persons)) assert timetable.tour_available(person_ids, tdds).all() @@ -92,15 +107,17 @@ def test_basic(persons, tdd_alts): # 5 0 0 0 0 2 7 4 0 person_ids = pd.Series([0, 1, 1, 0, 1, 3, 4]) - tdds = pd.Series([ - 0, # tdd START_END does not collide with START_END - 0, # tdd START_END does not collide with START - 6, # tdd START_END does not collide with END - 1, # tdd START does not collide with START_END - 7, # tdd START does not collide with END - 3, # tdd END does not collide with START_END - 3, # tdd END does not collide with START - ]) + tdds = pd.Series( + [ + 0, # tdd START_END does not collide with START_END + 0, # tdd START_END does not collide with START + 6, # tdd START_END does not collide with END + 1, # tdd START does not collide with START_END + 7, # tdd START does not collide with END + 3, # tdd END does not collide with START_END + 3, # tdd END does not collide with START + ] + ) assert timetable.tour_available(person_ids, tdds).all() # print "\nupdated_person_windows\n", timetable.get_person_windows_df() @@ -113,24 +130,30 @@ def test_basic(persons, tdd_alts): # 5 0 0 0 0 2 7 4 0 person_ids = pd.Series([1, 5, 2, 2]) - tdds = pd.Series([ - 1, # tdd START + END collides with START + END - 17, # START + MIDDLE + END collides with same - 6, # tdd START_END collides with MIDDLE - 1, # tdd START + END collides with START + MIDDLE - ]) + tdds = pd.Series( + [ + 1, # tdd START + END collides with START + END + 17, # START + MIDDLE + END collides with same + 6, # tdd START_END collides with MIDDLE + 1, # tdd START + END collides with START + MIDDLE + ] + ) assert not timetable.tour_available(person_ids, tdds).any() # ensure that tour_available handles heterogeneous results person_ids = pd.Series([0, 1, 1, 5]) - tdds = pd.Series([ - 0, # tdd START_END does not collide with START_END - 0, # tdd START_END does not collide with START - 1, # tdd START + END collides with START + END - 17, # START + MIDDLE + END collides with same - ]) - pdt.assert_series_equal(timetable.tour_available(person_ids, tdds), - pd.Series([True, True, False, False], index=person_ids.index)) + tdds = pd.Series( + [ + 0, # tdd START_END does not collide with START_END + 0, # tdd START_END does not collide with START + 1, # tdd START + END collides with START + END + 17, # START + MIDDLE + END collides with same + ] + ) + pdt.assert_series_equal( + timetable.tour_available(person_ids, tdds), + pd.Series([True, True, False, False], index=person_ids.index), + ) # assigning overlapping trip END,START should convert END to START_END person_ids = pd.Series([2]) @@ -185,5 +208,9 @@ def test_basic(persons, tdd_alts): person_ids = pd.Series([0, 1, 2, 3]) starts = pd.Series([9, 6, 9, 5]) ends = pd.Series([10, 10, 10, 9]) - periods_available = timetable.remaining_periods_available(person_ids, starts, ends) - pdt.assert_series_equal(periods_available, pd.Series([6, 3, 4, 3]), check_dtype=False) + periods_available = timetable.remaining_periods_available( + person_ids, starts, ends + ) + pdt.assert_series_equal( + periods_available, pd.Series([6, 3, 4, 3]), check_dtype=False + ) diff --git a/activitysim/core/test/test_tracing.py b/activitysim/core/test/test_tracing.py index 429b429ad8..df88e0d36c 100644 --- a/activitysim/core/test/test_tracing.py +++ b/activitysim/core/test/test_tracing.py @@ -1,13 +1,12 @@ # ActivitySim # See full license in LICENSE.txt. -import os.path import logging -import pytest +import os.path import pandas as pd +import pytest -from .. import tracing -from .. import inject +from .. import inject, tracing def close_handlers(): @@ -29,10 +28,10 @@ def add_canonical_dirs(): inject.clear_cache() - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) @@ -42,7 +41,7 @@ def test_config_logger(capsys): tracing.config_logger() - logger = logging.getLogger('activitysim') + logger = logging.getLogger("activitysim") file_handlers = [h for h in logger.handlers if type(h) is logging.FileHandler] assert len(file_handlers) == 1 @@ -50,9 +49,9 @@ def test_config_logger(capsys): print("handlers:", logger.handlers) - logger.info('test_config_logger') - logger.info('log_info') - logger.warning('log_warn1') + logger.info("test_config_logger") + logger.info("log_info") + logger.warning("log_warn1") out, err = capsys.readouterr() @@ -60,19 +59,19 @@ def test_config_logger(capsys): print(out) assert "could not find conf file" not in out - assert 'log_warn1' in out - assert 'log_info' not in out + assert "log_warn1" in out + assert "log_info" not in out close_handlers() logger = logging.getLogger(__name__) - logger.warning('log_warn2') + logger.warning("log_warn2") - with open(asim_logger_baseFilename, 'r') as content_file: + with open(asim_logger_baseFilename, "r") as content_file: content = content_file.read() print(content) - assert 'log_warn1' in content - assert 'log_warn2' not in content + assert "log_warn1" in content + assert "log_warn2" not in content def test_print_summary(capsys): @@ -81,14 +80,16 @@ def test_print_summary(capsys): tracing.config_logger() - tracing.print_summary('label', df=pd.DataFrame(), describe=False, value_counts=False) + tracing.print_summary( + "label", df=pd.DataFrame(), describe=False, value_counts=False + ) out, err = capsys.readouterr() # don't consume output print(out) - assert 'print_summary neither value_counts nor describe' in out + assert "print_summary neither value_counts nor describe" in out close_handlers() @@ -99,24 +100,24 @@ def test_register_households(capsys): tracing.config_logger() - df = pd.DataFrame({'zort': ['a', 'b', 'c']}, index=[1, 2, 3]) + df = pd.DataFrame({"zort": ["a", "b", "c"]}, index=[1, 2, 3]) - inject.add_injectable('traceable_tables', ['households']) + inject.add_injectable("traceable_tables", ["households"]) inject.add_injectable("trace_hh_id", 5) - tracing.register_traceable_table('households', df) + tracing.register_traceable_table("households", df) out, err = capsys.readouterr() # print out # don't consume output assert "Can't register table 'households' without index name" in out - df.index.name = 'household_id' - tracing.register_traceable_table('households', df) + df.index.name = "household_id" + tracing.register_traceable_table("households", df) out, err = capsys.readouterr() # print out # don't consume output # should warn that household id not in index - assert 'trace_hh_id 5 not in dataframe' in out + assert "trace_hh_id 5 not in dataframe" in out close_handlers() @@ -127,41 +128,46 @@ def test_register_tours(capsys): tracing.config_logger() - inject.add_injectable('traceable_tables', ['households', 'tours']) + inject.add_injectable("traceable_tables", ["households", "tours"]) # in case another test injected this inject.add_injectable("trace_tours", []) - inject.add_injectable("trace_hh_id", 3) # need this or register_traceable_table is a nop + inject.add_injectable( + "trace_hh_id", 3 + ) # need this or register_traceable_table is a nop - tours_df = pd.DataFrame({'zort': ['a', 'b', 'c']}, index=[10, 11, 12]) - tours_df.index.name = 'tour_id' + tours_df = pd.DataFrame({"zort": ["a", "b", "c"]}, index=[10, 11, 12]) + tours_df.index.name = "tour_id" - tracing.register_traceable_table('tours', tours_df) + tracing.register_traceable_table("tours", tours_df) out, err = capsys.readouterr() - assert "can't find a registered table to slice table 'tours' index name 'tour_id'" in out + assert ( + "can't find a registered table to slice table 'tours' index name 'tour_id'" + in out + ) inject.add_injectable("trace_hh_id", 3) - households_df = pd.DataFrame({'dzing': ['a', 'b', 'c']}, index=[1, 2, 3]) - households_df.index.name = 'household_id' - tracing.register_traceable_table('households', households_df) + households_df = pd.DataFrame({"dzing": ["a", "b", "c"]}, index=[1, 2, 3]) + households_df.index.name = "household_id" + tracing.register_traceable_table("households", households_df) - tracing.register_traceable_table('tours', tours_df) + tracing.register_traceable_table("tours", tours_df) out, err = capsys.readouterr() # print out # don't consume output assert "can't find a registered table to slice table 'tours'" in out - tours_df['household_id'] = [1, 5, 3] + tours_df["household_id"] = [1, 5, 3] - tracing.register_traceable_table('tours', tours_df) + tracing.register_traceable_table("tours", tours_df) out, err = capsys.readouterr() print(out) # don't consume output # should be tracing tour with tour_id 3 - traceable_table_ids = inject.get_injectable('traceable_table_ids') - assert traceable_table_ids['tours'] == [12] + traceable_table_ids = inject.get_injectable("traceable_table_ids") + assert traceable_table_ids["tours"] == [12] close_handlers() @@ -173,7 +179,7 @@ def test_write_csv(capsys): tracing.config_logger() # should complain if df not a DataFrame or Series - tracing.write_csv(df='not a df or series', file_name='baddie') + tracing.write_csv(df="not a df or series", file_name="baddie") out, err = capsys.readouterr() @@ -186,10 +192,10 @@ def test_write_csv(capsys): def test_slice_ids(): - df = pd.DataFrame({'household_id': [1, 2, 3]}, index=[11, 12, 13]) + df = pd.DataFrame({"household_id": [1, 2, 3]}, index=[11, 12, 13]) # slice by named column - sliced_df = tracing.slice_ids(df, [1, 3, 6], column='household_id') + sliced_df = tracing.slice_ids(df, [1, 3, 6], column="household_id") assert len(sliced_df.index) == 2 # slice by index @@ -198,7 +204,7 @@ def test_slice_ids(): # attempt to slice by non-existent column with pytest.raises(RuntimeError) as excinfo: - sliced_df = tracing.slice_ids(df, [5, 6], column='baddie') + sliced_df = tracing.slice_ids(df, [5, 6], column="baddie") assert "slice_ids slicer column 'baddie' not in dataframe" in str(excinfo.value) @@ -206,10 +212,10 @@ def test_basic(capsys): close_handlers() - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) # remove existing handlers or basicConfig is a NOP @@ -221,20 +227,20 @@ def test_basic(capsys): file_handlers = [h for h in logger.handlers if type(h) is logging.FileHandler] assert len(file_handlers) == 0 - logger = logging.getLogger('activitysim') + logger = logging.getLogger("activitysim") - logger.info('test_basic') - logger.debug('log_debug') - logger.info('log_info') - logger.warning('log_warn') + logger.info("test_basic") + logger.debug("log_debug") + logger.info("log_info") + logger.warning("log_warn") out, err = capsys.readouterr() # don't consume output print(out) - assert 'log_warn' in out - assert 'log_info' in out - assert 'log_debug' not in out + assert "log_warn" in out + assert "log_info" in out + assert "log_debug" not in out close_handlers() diff --git a/activitysim/core/test/test_util.py b/activitysim/core/test/test_util.py index 3e7017dd66..086e8a0326 100644 --- a/activitysim/core/test/test_util.py +++ b/activitysim/core/test/test_util.py @@ -6,51 +6,55 @@ import pandas.testing as pdt import pytest -from ..util import reindex -from ..util import other_than -from ..util import quick_loc_series -from ..util import quick_loc_df +from ..util import other_than, quick_loc_df, quick_loc_series, reindex -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def people(): - return pd.DataFrame({ - 'household': [1, 2, 2, 3, 3, 3, 4, 4, 4, 4], - 'ptype': [1, 2, 1, 3, 1, 2, 3, 2, 2, 1]}, - index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']) + return pd.DataFrame( + { + "household": [1, 2, 2, 3, 3, 3, 4, 4, 4, 4], + "ptype": [1, 2, 1, 3, 1, 2, 3, 2, 2, 1], + }, + index=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"], + ) def test_other_than(people): expected = pd.Series( [False, False, True, True, True, False, True, True, True, True], - index=people.index, name='left') + index=people.index, + name="left", + ) - bools = people['ptype'] == 2 - others = other_than(people['household'], bools) + bools = people["ptype"] == 2 + others = other_than(people["household"], bools) pdt.assert_series_equal(others, expected) def test_reindex(): - s = pd.Series([.5, 1.0, 1.5], index=[2, 1, 3]) - s2 = pd.Series([1, 2, 3], index=['a', 'b', 'c']) - assert list(reindex(s, s2).values) == [1.0, .5, 1.5] + s = pd.Series([0.5, 1.0, 1.5], index=[2, 1, 3]) + s2 = pd.Series([1, 2, 3], index=["a", "b", "c"]) + assert list(reindex(s, s2).values) == [1.0, 0.5, 1.5] def test_quick_loc_df(): - df = pd.DataFrame({'attrib': ['1', '2', '3', '4', '5']}, index=[1, 2, 3, 4, 5]) + df = pd.DataFrame({"attrib": ["1", "2", "3", "4", "5"]}, index=[1, 2, 3, 4, 5]) loc_list = np.asanyarray([2, 1, 3, 4, 4, 5, 1]) attrib_list = [str(i) for i in loc_list] - assert list(quick_loc_df(loc_list, df, 'attrib')) == attrib_list - assert list(quick_loc_df(loc_list, df, 'attrib')) == list(df.loc[loc_list]['attrib']) + assert list(quick_loc_df(loc_list, df, "attrib")) == attrib_list + assert list(quick_loc_df(loc_list, df, "attrib")) == list( + df.loc[loc_list]["attrib"] + ) def test_quick_loc_series(): - series = pd.Series(['1', '2', '3', '4', '5'], index=[1, 2, 3, 4, 5]) + series = pd.Series(["1", "2", "3", "4", "5"], index=[1, 2, 3, 4, 5]) loc_list = np.asanyarray([2, 1, 3, 4, 4, 5, 1]) attrib_list = [str(i) for i in loc_list] diff --git a/activitysim/core/test/utils_testing.py b/activitysim/core/test/utils_testing.py index d95a848621..a8a74fd3b4 100644 --- a/activitysim/core/test/utils_testing.py +++ b/activitysim/core/test/utils_testing.py @@ -34,18 +34,17 @@ def assert_frames_equal(actual, expected, use_close=False): else: comp = npt.assert_equal - assert (isinstance(actual, pd.DataFrame) and - isinstance(expected, pd.DataFrame)), \ - 'Inputs must both be pandas DataFrames.' + assert isinstance(actual, pd.DataFrame) and isinstance( + expected, pd.DataFrame + ), "Inputs must both be pandas DataFrames." for i, exp_row in expected.iterrows(): - assert i in actual.index, 'Expected row {!r} not found.'.format(i) + assert i in actual.index, "Expected row {!r} not found.".format(i) act_row = actual.loc[i] for j, exp_item in exp_row.items(): - assert j in act_row.index, \ - 'Expected column {!r} not found.'.format(j) + assert j in act_row.index, "Expected column {!r} not found.".format(j) act_item = act_row[j] @@ -53,7 +52,8 @@ def assert_frames_equal(actual, expected, use_close=False): comp(act_item, exp_item) except AssertionError as e: raise AssertionError( - str(e) + '\n\nColumn: {!r}\nRow: {!r}'.format(j, i)) + str(e) + "\n\nColumn: {!r}\nRow: {!r}".format(j, i) + ) def assert_index_equal(left, right): @@ -70,5 +70,8 @@ def assert_index_equal(left, right): left_diff = left.difference(right) right_diff = right.difference(left) if len(left_diff) > 0 or len(right_diff) > 0: - raise AssertionError("keys not in left [{0}], keys not in right [{1}]".format( - left_diff, right_diff)) + raise AssertionError( + "keys not in left [{0}], keys not in right [{1}]".format( + left_diff, right_diff + ) + ) diff --git a/activitysim/core/timetable.py b/activitysim/core/timetable.py index a793738344..fe2aeee3cf 100644 --- a/activitysim/core/timetable.py +++ b/activitysim/core/timetable.py @@ -1,16 +1,13 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range -from builtins import object - import logging +from builtins import object, range import numpy as np import pandas as pd -from activitysim.core import pipeline -from activitysim.core import chunk +from activitysim.core import chunk, pipeline logger = logging.getLogger(__name__) @@ -31,9 +28,12 @@ [I_START, I_START], [I_END, I_END], [I_MIDDLE, I_MIDDLE], - [I_START, I_MIDDLE], [I_MIDDLE, I_START], - [I_END, I_MIDDLE], [I_MIDDLE, I_END], - [I_START_END, I_MIDDLE], [I_MIDDLE, I_START_END], + [I_START, I_MIDDLE], + [I_MIDDLE, I_START], + [I_END, I_MIDDLE], + [I_MIDDLE, I_END], + [I_START_END, I_MIDDLE], + [I_MIDDLE, I_START_END], ] COLLISION_LIST = [a + (b << I_BIT_SHIFT) for a, b in COLLISIONS] @@ -47,25 +47,25 @@ C_START_END = str(I_START_END) -def tour_map(persons, tours, tdd_alts, persons_id_col='person_id'): +def tour_map(persons, tours, tdd_alts, persons_id_col="person_id"): sigil = { - 'empty': ' ', - 'overlap': '+++', - 'work': 'WWW', - 'school': 'SSS', - 'escort': 'esc', - 'shopping': 'shp', - 'othmaint': 'mnt', - 'othdiscr': 'dsc', - 'eatout': 'eat', - 'social': 'soc', - 'eat': 'eat', - 'business': 'bus', - 'maint': 'mnt' + "empty": " ", + "overlap": "+++", + "work": "WWW", + "school": "SSS", + "escort": "esc", + "shopping": "shp", + "othmaint": "mnt", + "othdiscr": "dsc", + "eatout": "eat", + "social": "soc", + "eat": "eat", + "business": "bus", + "maint": "mnt", } - sigil_type = 'S3' + sigil_type = "S3" # we can only map scheduled tours tours = tours[tours.tdd.notnull()] @@ -76,7 +76,7 @@ def tour_map(persons, tours, tdd_alts, persons_id_col='person_id'): n_periods = max_period - min_period + 1 n_persons = len(persons.index) - agenda = np.array([sigil['empty']]*(n_periods*n_persons), dtype=sigil_type) + agenda = np.array([sigil["empty"]] * (n_periods * n_persons), dtype=sigil_type) agenda = agenda.reshape(n_persons, n_periods) scheduled = np.zeros_like(agenda, dtype=int) @@ -84,15 +84,16 @@ def tour_map(persons, tours, tdd_alts, persons_id_col='person_id'): # construct with strings so we can create runs of strings using char * int w_strings = [ - '0' * (row.start - min_period) + - '1' * (row.duration + 1) + - '0' * (max_period - row.end) - for idx, row in tdd_alts.iterrows()] + "0" * (row.start - min_period) + + "1" * (row.duration + 1) + + "0" * (max_period - row.end) + for idx, row in tdd_alts.iterrows() + ] window_periods = np.asanyarray([list(r) for r in w_strings]).astype(int) window_periods_df = pd.DataFrame(data=window_periods, index=tdd_alts.index) - for keys, nth_tours in tours.groupby(['tour_type', 'tour_type_num'], sort=True): + for keys, nth_tours in tours.groupby(["tour_type", "tour_type_num"], sort=True): tour_type = keys[0] tour_sigil = sigil[tour_type] @@ -110,10 +111,12 @@ def tour_map(persons, tours, tdd_alts, persons_id_col='person_id'): agenda[row_ixs] = np.where(tour_windows, tour_sigil, agenda[row_ixs]) # show tour overlaps - agenda = np.where(scheduled > 1, sigil['overlap'], agenda) + agenda = np.where(scheduled > 1, sigil["overlap"], agenda) # a = pd.Series([' '.join(a) for a in agenda], index=persons.index) - a = pd.DataFrame(data=agenda, columns=[str(w) for w in range(min_period, max_period+1)]) + a = pd.DataFrame( + data=agenda, columns=[str(w) for w in range(min_period, max_period + 1)] + ) a.index = persons.index a.index.name = persons_id_col @@ -157,10 +160,9 @@ def create_timetable_windows(rows, tdd_alts): UNSCHEDULED = 0 - df = pd.DataFrame(data=UNSCHEDULED, - index=rows.index, - columns=window_cols, - dtype=np.int8) + df = pd.DataFrame( + data=UNSCHEDULED, index=rows.index, columns=window_cols, dtype=np.int8 + ) return df @@ -194,21 +196,26 @@ def __init__(self, windows_df, tdd_alts_df, table_name=None): self.checkpoint_df = None # series to map window row index value to window row's ordinal index - self.window_row_ix = pd.Series(list(range(len(windows_df.index))), index=windows_df.index) + self.window_row_ix = pd.Series( + list(range(len(windows_df.index))), index=windows_df.index + ) int_time_periods = [int(c) for c in windows_df.columns.values] - self.time_ix = pd.Series(list(range(len(windows_df.columns))), index=int_time_periods) + self.time_ix = pd.Series( + list(range(len(windows_df.columns))), index=int_time_periods + ) # - pre-compute window state footprints for every tdd_alt min_period = min(int_time_periods) max_period = max(int_time_periods) # construct with strings so we can create runs of strings using char * int w_strings = [ - C_EMPTY * (row.start - min_period) + - (C_START + C_MIDDLE * (row.duration - 1) if row.duration > 0 else '') + - (C_END if row.duration > 0 else C_START_END) + - (C_EMPTY * (max_period - row.end)) - for idx, row in tdd_alts_df.iterrows()] + C_EMPTY * (row.start - min_period) + + (C_START + C_MIDDLE * (row.duration - 1) if row.duration > 0 else "") + + (C_END if row.duration > 0 else C_START_END) + + (C_EMPTY * (max_period - row.end)) + for idx, row in tdd_alts_df.iterrows() + ] # we want range index so we can use raw numpy assert (tdd_alts_df.index == list(range(tdd_alts_df.shape[0]))).all() @@ -223,7 +230,9 @@ def begin_transaction(self, transaction_loggers): if not isinstance(transaction_loggers, list): transaction_loggers = [transaction_loggers] for transaction_logger in transaction_loggers: - transaction_logger.log("timetable.begin_transaction %s" % self.windows_table_name) + transaction_logger.log( + "timetable.begin_transaction %s" % self.windows_table_name + ) self.checkpoint_df = self.windows_df.copy() self.transaction_loggers = transaction_loggers pass @@ -281,8 +290,11 @@ def replace_table(self): assert self.windows_table_name is not None if self.checkpoint_df is not None: for logger in self.transaction_loggers.values(): - logger.log("Attempt to replace_table while in transaction: %s" % - self.windows_table_name, level=logging.ERROR) + logger.log( + "Attempt to replace_table while in transaction: %s" + % self.windows_table_name, + level=logging.ERROR, + ) raise RuntimeError("Attempt to replace_table while in transaction") # get windows_df from bottleneck function in case updates to self.person_window @@ -421,7 +433,7 @@ def pairwise_available(self, window1_row_ids, window2_row_ids): available1 = (self.slice_windows_by_row_id(window1_row_ids) != I_MIDDLE) * 1 available2 = (self.slice_windows_by_row_id(window2_row_ids) != I_MIDDLE) * 1 - return (available1 * available2) + return available1 * available2 def individually_available(self, window_row_ids): @@ -445,15 +457,15 @@ def adjacent_window_run_length(self, window_row_ids, periods, before): """ assert len(window_row_ids) == len(periods) - trace_label = 'tt.adjacent_window_run_length' + trace_label = "tt.adjacent_window_run_length" with chunk.chunk_log(trace_label): time_col_ixs = periods.map(self.time_ix).values - chunk.log_df(trace_label, 'time_col_ixs', time_col_ixs) + chunk.log_df(trace_label, "time_col_ixs", time_col_ixs) # sliced windows with 1s where windows state is I_MIDDLE and 0s elsewhere available = (self.slice_windows_by_row_id(window_row_ids) != I_MIDDLE) * 1 - chunk.log_df(trace_label, 'available', available) + chunk.log_df(trace_label, "available", available) # padding periods not available available[:, 0] = 0 @@ -461,28 +473,34 @@ def adjacent_window_run_length(self, window_row_ids, periods, before): # column idxs of windows num_rows, num_cols = available.shape - time_col_ix_map = np.tile(np.arange(0, num_cols), num_rows).reshape(num_rows, num_cols) + time_col_ix_map = np.tile(np.arange(0, num_cols), num_rows).reshape( + num_rows, num_cols + ) # 0 1 2 3 4 5... # 0 1 2 3 4 5... # 0 1 2 3 4 5... - chunk.log_df(trace_label, 'time_col_ix_map', time_col_ix_map) + chunk.log_df(trace_label, "time_col_ix_map", time_col_ix_map) if before: # ones after specified time, zeroes before mask = (time_col_ix_map < time_col_ixs.reshape(num_rows, 1)) * 1 # index of first unavailable window after time - first_unavailable = np.where((1-available)*mask, time_col_ix_map, 0).max(axis=1) + first_unavailable = np.where( + (1 - available) * mask, time_col_ix_map, 0 + ).max(axis=1) available_run_length = time_col_ixs - first_unavailable - 1 else: # ones after specified time, zeroes before mask = (time_col_ix_map > time_col_ixs.reshape(num_rows, 1)) * 1 # index of first unavailable window after time - first_unavailable = np.where((1 - available) * mask, time_col_ix_map, num_cols).min(axis=1) + first_unavailable = np.where( + (1 - available) * mask, time_col_ix_map, num_cols + ).min(axis=1) available_run_length = first_unavailable - time_col_ixs - 1 - chunk.log_df(trace_label, 'mask', mask) - chunk.log_df(trace_label, 'first_unavailable', first_unavailable) - chunk.log_df(trace_label, 'available_run_length', available_run_length) + chunk.log_df(trace_label, "mask", mask) + chunk.log_df(trace_label, "first_unavailable", first_unavailable) + chunk.log_df(trace_label, "available_run_length", available_run_length) return pd.Series(available_run_length, index=window_row_ids.index) @@ -575,7 +593,9 @@ def previous_tour_ends(self, window_row_ids, periods): pandas Series boolean indexed by window_row_ids.index """ - return self.window_periods_in_states(window_row_ids, periods, [I_END, I_START_END]) + return self.window_periods_in_states( + window_row_ids, periods, [I_END, I_START_END] + ) def previous_tour_begins(self, window_row_ids, periods): """ @@ -596,7 +616,9 @@ def previous_tour_begins(self, window_row_ids, periods): indexed by window_row_ids.index """ - return self.window_periods_in_states(window_row_ids, periods, [I_START, I_START_END]) + return self.window_periods_in_states( + window_row_ids, periods, [I_START, I_START_END] + ) def remaining_periods_available(self, window_row_ids, starts, ends): """ @@ -627,7 +649,9 @@ def remaining_periods_available(self, window_row_ids, starts, ends): assert len(window_row_ids) == len(starts) assert len(window_row_ids) == len(ends) - available = (self.slice_windows_by_row_id(window_row_ids) != I_MIDDLE).sum(axis=1) + available = (self.slice_windows_by_row_id(window_row_ids) != I_MIDDLE).sum( + axis=1 + ) # don't count time window padding at both ends of day available -= 2 @@ -663,15 +687,21 @@ def max_time_block_available(self, window_row_ids): available[:, 0] = 0 available[:, -1] = 0 - diffs = np.diff(available) # 1 at start of run of availables, -1 at end, 0 everywhere else - start_row_index, starts = np.asarray(diffs > 0).nonzero() # indices of run starts + diffs = np.diff( + available + ) # 1 at start of run of availables, -1 at end, 0 everywhere else + start_row_index, starts = np.asarray( + diffs > 0 + ).nonzero() # indices of run starts end_row_index, ends = np.asarray(diffs < 0).nonzero() # indices of run ends - assert (start_row_index == end_row_index).all() # because bounded, expect same number of starts and ends + assert ( + start_row_index == end_row_index + ).all() # because bounded, expect same number of starts and ends # run_lengths like availability but with run length at start of every run and zeros elsewhere # (row_indices of starts and ends are aligned, so end - start is run_length) run_lengths = np.zeros_like(available) - run_lengths[start_row_index, starts] = (ends - starts) + run_lengths[start_row_index, starts] = ends - starts # we just want to know the the longest one for each window_row_id max_run_lengths = run_lengths.max(axis=1) diff --git a/activitysim/core/tracing.py b/activitysim/core/tracing.py index 271fc5728d..22098065e1 100644 --- a/activitysim/core/tracing.py +++ b/activitysim/core/tracing.py @@ -1,35 +1,46 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import next -from builtins import range - -import multiprocessing # for process name -import os import logging import logging.config +import multiprocessing # for process name +import os import sys import time -import yaml +from builtins import next, range from collections import OrderedDict import numpy as np import pandas as pd +import yaml from activitysim.core import inject from . import config - # Configurations -ASIM_LOGGER = 'activitysim' -CSV_FILE_TYPE = 'csv' -LOGGING_CONF_FILE_NAME = 'logging.yaml' +ASIM_LOGGER = "activitysim" +CSV_FILE_TYPE = "csv" +LOGGING_CONF_FILE_NAME = "logging.yaml" logger = logging.getLogger(__name__) +class ElapsedTimeFormatter(logging.Formatter): + def format(self, record): + duration_milliseconds = record.relativeCreated + hours, rem = divmod(duration_milliseconds / 1000, 3600) + minutes, seconds = divmod(rem, 60) + if hours: + record.elapsedTime = "{:0>2}:{:0>2}:{:05.2f}".format( + int(hours), int(minutes), seconds + ) + else: + record.elapsedTime = "{:0>2}:{:05.2f}".format(int(minutes), seconds) + return super(ElapsedTimeFormatter, self).format(record) + + def extend_trace_label(trace_label, extension): if trace_label: trace_label = "%s.%s" % (trace_label, extension) @@ -63,12 +74,20 @@ def log_runtime(model_name, start_time=None, timing=None): process_name = multiprocessing.current_process().name - # only log runtime for locutor - if config.setting('multiprocess', False) and not inject.get_injectable('locutor', False): - return + if config.setting("multiprocess", False): + # when benchmarking, log timing for each processes in its own log + if config.setting("benchmarking", False): + header = "component_name,duration" + with config.open_log_file( + f"timing_log.{process_name}.csv", "a", header + ) as log_file: + print(f"{model_name},{timing}", file=log_file) + # only continue to log runtime in global timing log for locutor + if not inject.get_injectable("locutor", False): + return header = "process_name,model_name,seconds,minutes" - with config.open_log_file('timing_log.csv', 'a', header) as log_file: + with config.open_log_file("timing_log.csv", "a", header) as log_file: print(f"{process_name},{model_name},{seconds},{minutes}", file=log_file) @@ -86,10 +105,10 @@ def delete_output_files(file_type, ignore=None, subdir=None): Nothing """ - output_dir = inject.get_injectable('output_dir') + output_dir = inject.get_injectable("output_dir") subdir = [subdir] if subdir else None - directories = subdir or ['', 'log', 'trace'] + directories = subdir or ["", "log", "trace"] for subdir in directories: @@ -126,12 +145,16 @@ def delete_trace_files(): ------- Nothing """ - delete_output_files(CSV_FILE_TYPE, subdir='trace') - delete_output_files(CSV_FILE_TYPE, subdir='log') + delete_output_files(CSV_FILE_TYPE, subdir="trace") + delete_output_files(CSV_FILE_TYPE, subdir="log") - active_log_files = [h.baseFilename for h in logger.root.handlers if isinstance(h, logging.FileHandler)] + active_log_files = [ + h.baseFilename + for h in logger.root.handlers + if isinstance(h, logging.FileHandler) + ] - delete_output_files('log', ignore=active_log_files) + delete_output_files("log", ignore=active_log_files) def config_logger(basic=False): @@ -149,7 +172,9 @@ def config_logger(basic=False): if basic: log_config_file = None else: - log_config_file = config.config_file_path(LOGGING_CONF_FILE_NAME, mandatory=False) + log_config_file = config.config_file_path( + LOGGING_CONF_FILE_NAME, mandatory=False + ) if log_config_file: try: @@ -160,8 +185,8 @@ def config_logger(basic=False): raise e try: - config_dict = config_dict['logging'] - config_dict.setdefault('version', 1) + config_dict = config_dict["logging"] + config_dict.setdefault("version", 1) logging.config.dictConfig(config_dict) except Exception as e: print(f"Unable to config logging as specified in {log_config_file}") @@ -204,7 +229,9 @@ def print_summary(label, df, describe=False, value_counts=False): if value_counts: n = 10 - logger.info("%s top %s value counts:\n%s" % (label, n, df.value_counts().nlargest(n))) + logger.info( + "%s top %s value counts:\n%s" % (label, n, df.value_counts().nlargest(n)) + ) if describe: logger.info("%s summary:\n%s" % (label, df.describe())) @@ -212,10 +239,12 @@ def print_summary(label, df, describe=False, value_counts=False): def initialize_traceable_tables(): - traceable_table_ids = inject.get_injectable('traceable_table_ids', {}) + traceable_table_ids = inject.get_injectable("traceable_table_ids", {}) if len(traceable_table_ids) > 0: - logger.debug(f"initialize_traceable_tables resetting table_ids for {list(traceable_table_ids.keys())}") - inject.add_injectable('traceable_table_ids', {}) + logger.debug( + f"initialize_traceable_tables resetting table_ids for {list(traceable_table_ids.keys())}" + ) + inject.add_injectable("traceable_table_ids", {}) def register_traceable_table(table_name, df): @@ -236,7 +265,7 @@ def register_traceable_table(table_name, df): logger.debug(f"register_traceable_table {table_name}") - traceable_tables = inject.get_injectable('traceable_tables', []) + traceable_tables = inject.get_injectable("traceable_tables", []) if table_name not in traceable_tables: logger.error("table '%s' not in traceable_tables" % table_name) return @@ -246,19 +275,26 @@ def register_traceable_table(table_name, df): logger.error("Can't register table '%s' without index name" % table_name) return - traceable_table_ids = inject.get_injectable('traceable_table_ids', {}) - traceable_table_indexes = inject.get_injectable('traceable_table_indexes', {}) - - if idx_name in traceable_table_indexes and traceable_table_indexes[idx_name] != table_name: - logger.error("table '%s' index name '%s' already registered for table '%s'" % - (table_name, idx_name, traceable_table_indexes[idx_name])) + traceable_table_ids = inject.get_injectable("traceable_table_ids", {}) + traceable_table_indexes = inject.get_injectable("traceable_table_indexes", {}) + + if ( + idx_name in traceable_table_indexes + and traceable_table_indexes[idx_name] != table_name + ): + logger.error( + "table '%s' index name '%s' already registered for table '%s'" + % (table_name, idx_name, traceable_table_indexes[idx_name]) + ) return # update traceable_table_indexes with this traceable_table's idx_name if idx_name not in traceable_table_indexes: traceable_table_indexes[idx_name] = table_name - logger.debug("adding table %s.%s to traceable_table_indexes" % (table_name, idx_name)) - inject.add_injectable('traceable_table_indexes', traceable_table_indexes) + logger.debug( + "adding table %s.%s to traceable_table_indexes" % (table_name, idx_name) + ) + inject.add_injectable("traceable_table_indexes", traceable_table_indexes) # add any new indexes associated with trace_hh_id to traceable_table_ids @@ -267,12 +303,15 @@ def register_traceable_table(table_name, df): return new_traced_ids = [] - if table_name == 'households': + if table_name == "households": if trace_hh_id not in df.index: logger.warning("trace_hh_id %s not in dataframe" % trace_hh_id) new_traced_ids = [] else: - logger.info("tracing household id %s in %s households" % (trace_hh_id, len(df.index))) + logger.info( + "tracing household id %s in %s households" + % (trace_hh_id, len(df.index)) + ) new_traced_ids = [trace_hh_id] else: @@ -280,9 +319,11 @@ def register_traceable_table(table_name, df): ref_col = next((c for c in traceable_table_indexes if c in df.columns), None) if ref_col is None: - logger.error("can't find a registered table to slice table '%s' index name '%s'" - " in traceable_table_indexes: %s" % - (table_name, idx_name, traceable_table_indexes)) + logger.error( + "can't find a registered table to slice table '%s' index name '%s'" + " in traceable_table_indexes: %s" + % (table_name, idx_name, traceable_table_indexes) + ) return # get traceable_ids for ref_col table @@ -294,8 +335,10 @@ def register_traceable_table(table_name, df): traced_df = df[df[ref_col].isin(ref_col_traced_ids)] new_traced_ids = traced_df.index.tolist() if len(new_traced_ids) == 0: - logger.warning("register %s: no rows with %s in %s." % - (table_name, ref_col, ref_col_traced_ids)) + logger.warning( + "register %s: no rows with %s in %s." + % (table_name, ref_col, ref_col_traced_ids) + ) # update the list of trace_ids for this table prior_traced_ids = traceable_table_ids.get(table_name, []) @@ -303,15 +346,21 @@ def register_traceable_table(table_name, df): if new_traced_ids: assert not set(prior_traced_ids) & set(new_traced_ids) traceable_table_ids[table_name] = prior_traced_ids + new_traced_ids - inject.add_injectable('traceable_table_ids', traceable_table_ids) + inject.add_injectable("traceable_table_ids", traceable_table_ids) - logger.debug("register %s: added %s new ids to %s existing trace ids" % - (table_name, len(new_traced_ids), len(prior_traced_ids))) - logger.debug("register %s: tracing new ids %s in %s" % - (table_name, new_traced_ids, table_name)) + logger.debug( + "register %s: added %s new ids to %s existing trace ids" + % (table_name, len(new_traced_ids), len(prior_traced_ids)) + ) + logger.debug( + "register %s: tracing new ids %s in %s" + % (table_name, new_traced_ids, table_name) + ) -def write_df_csv(df, file_path, index_label=None, columns=None, column_labels=None, transpose=True): +def write_df_csv( + df, file_path, index_label=None, columns=None, column_labels=None, transpose=True +): need_header = not os.path.isfile(file_path) @@ -320,7 +369,7 @@ def write_df_csv(df, file_path, index_label=None, columns=None, column_labels=No if not transpose: want_index = isinstance(df.index, pd.MultiIndex) or df.index.name is not None - df.to_csv(file_path, mode='a', index=want_index, header=need_header) + df.to_csv(file_path, mode="a", index=want_index, header=need_header) return df_t = df.transpose() if df.index.name in df else df.reset_index().transpose() @@ -333,24 +382,33 @@ def write_df_csv(df, file_path, index_label=None, columns=None, column_labels=No if column_labels is None: column_labels = [None, None] if column_labels[0] is None: - column_labels[0] = 'label' + column_labels[0] = "label" if column_labels[1] is None: - column_labels[1] = 'value' + column_labels[1] = "value" if len(df_t.columns) == len(column_labels) - 1: - column_label_row = ','.join(column_labels) + column_label_row = ",".join(column_labels) else: - column_label_row = \ - column_labels[0] + ',' \ - + ','.join([column_labels[1] + '_' + str(i+1) for i in range(len(df_t.columns))]) + column_label_row = ( + column_labels[0] + + "," + + ",".join( + [ + column_labels[1] + "_" + str(i + 1) + for i in range(len(df_t.columns)) + ] + ) + ) - with open(file_path, mode='a') as f: - f.write(column_label_row + '\n') + with open(file_path, mode="a") as f: + f.write(column_label_row + "\n") - df_t.to_csv(file_path, mode='a', index=True, header=False) + df_t.to_csv(file_path, mode="a", index=True, header=False) -def write_series_csv(series, file_path, index_label=None, columns=None, column_labels=None): +def write_series_csv( + series, file_path, index_label=None, columns=None, column_labels=None +): if isinstance(columns, str): series = series.rename(columns) @@ -362,10 +420,12 @@ def write_series_csv(series, file_path, index_label=None, columns=None, column_l series.index.name = index_label need_header = not os.path.isfile(file_path) - series.to_csv(file_path, mode='a', index=True, header=need_header) + series.to_csv(file_path, mode="a", index=True, header=need_header) -def write_csv(df, file_name, index_label=None, columns=None, column_labels=None, transpose=True): +def write_csv( + df, file_name, index_label=None, columns=None, column_labels=None, transpose=True +): """ Print write_csv @@ -388,12 +448,12 @@ def write_csv(df, file_name, index_label=None, columns=None, column_labels=None, assert len(file_name) > 0 - if not file_name.endswith('.%s' % CSV_FILE_TYPE): - file_name = '%s.%s' % (file_name, CSV_FILE_TYPE) + if not file_name.endswith(".%s" % CSV_FILE_TYPE): + file_name = "%s.%s" % (file_name, CSV_FILE_TYPE) file_path = config.trace_file_path(file_name) - if os.name == 'nt': + if os.name == "nt": abs_path = os.path.abspath(file_path) if len(abs_path) > 255: msg = f"path length ({len(abs_path)}) may exceed Windows maximum length unless LongPathsEnabled: {abs_path}" @@ -404,7 +464,9 @@ def write_csv(df, file_name, index_label=None, columns=None, column_labels=None, if isinstance(df, pd.DataFrame): # logger.debug("dumping %s dataframe to %s" % (df.shape, file_name)) - write_df_csv(df, file_path, index_label, columns, column_labels, transpose=transpose) + write_df_csv( + df, file_path, index_label, columns, column_labels, transpose=transpose + ) elif isinstance(df, pd.Series): # logger.debug("dumping %s element series to %s" % (df.shape[0], file_name)) write_series_csv(df, file_path, index_label, columns, column_labels) @@ -413,8 +475,10 @@ def write_csv(df, file_name, index_label=None, columns=None, column_labels=None, # logger.debug("dumping %s element dict to %s" % (df.shape[0], file_name)) write_series_csv(df, file_path, index_label, columns, column_labels) else: - logger.error("write_csv object for file_name '%s' of unexpected type: %s" % - (file_name, type(df))) + logger.error( + "write_csv object for file_name '%s' of unexpected type: %s" + % (file_name, type(df)) + ) def slice_ids(df, ids, column=None): @@ -476,7 +540,7 @@ def get_trace_target(df, slicer, column=None): target_ids = None # id or ids to slice by (e.g. hh_id or person_ids or tour_ids) # special do-not-slice code for dumping entire df - if slicer == 'NONE': + if slicer == "NONE": return target_ids, column if slicer is None: @@ -484,16 +548,18 @@ def get_trace_target(df, slicer, column=None): if isinstance(df, pd.DataFrame): # always slice by household id if we can - if 'household_id' in df.columns: - slicer = 'household_id' + if "household_id" in df.columns: + slicer = "household_id" if slicer in df.columns: column = slicer if column is None and df.index.name != slicer: - raise RuntimeError("bad slicer '%s' for df with index '%s'" % (slicer, df.index.name)) + raise RuntimeError( + "bad slicer '%s' for df with index '%s'" % (slicer, df.index.name) + ) - traceable_table_indexes = inject.get_injectable('traceable_table_indexes', {}) - traceable_table_ids = inject.get_injectable('traceable_table_ids', {}) + traceable_table_indexes = inject.get_injectable("traceable_table_indexes", {}) + traceable_table_ids = inject.get_injectable("traceable_table_ids", {}) if df.empty: target_ids = None @@ -501,8 +567,8 @@ def get_trace_target(df, slicer, column=None): # maps 'person_id' to 'persons', etc table_name = traceable_table_indexes[slicer] target_ids = traceable_table_ids.get(table_name, []) - elif slicer == 'zone_id': - target_ids = inject.get_injectable('trace_od', []) + elif slicer == "zone_id": + target_ids = inject.get_injectable("trace_od", []) return target_ids, column @@ -553,10 +619,10 @@ def hh_id_for_chooser(id, choosers): scalar household_id or series of household_ids """ - if choosers.index.name == 'household_id': + if choosers.index.name == "household_id": hh_id = id - elif 'household_id' in choosers.columns: - hh_id = choosers.loc[id]['household_id'] + elif "household_id" in choosers.columns: + hh_id = choosers.loc[id]["household_id"] else: print(": hh_id_for_chooser: nada:\n%s" % choosers.columns) hh_id = None @@ -578,7 +644,7 @@ def trace_id_for_chooser(id, choosers): """ hh_id = None - for column_name in ['household_id', 'person_id']: + for column_name in ["household_id", "person_id"]: if choosers.index.name == column_name: hh_id = id break @@ -594,12 +660,22 @@ def trace_id_for_chooser(id, choosers): def dump_df(dump_switch, df, trace_label, fname): if dump_switch: - trace_label = extend_trace_label(trace_label, 'DUMP.%s' % fname) - trace_df(df, trace_label, index_label=df.index.name, slicer='NONE', transpose=False) - - -def trace_df(df, label, slicer=None, columns=None, - index_label=None, column_labels=None, transpose=True, warn_if_empty=False): + trace_label = extend_trace_label(trace_label, "DUMP.%s" % fname) + trace_df( + df, trace_label, index_label=df.index.name, slicer="NONE", transpose=False + ) + + +def trace_df( + df, + label, + slicer=None, + columns=None, + index_label=None, + column_labels=None, + transpose=True, + warn_if_empty=False, +): """ Slice dataframe by traced household or person id dataframe and write to CSV @@ -634,12 +710,20 @@ def trace_df(df, label, slicer=None, columns=None, if warn_if_empty and df.shape[0] == 0 and target_ids != []: column_name = column or slicer - logger.warning("slice_canonically: no rows in %s with %s == %s" - % (label, column_name, target_ids)) + logger.warning( + "slice_canonically: no rows in %s with %s == %s" + % (label, column_name, target_ids) + ) if df.shape[0] > 0: - write_csv(df, file_name=label, index_label=(index_label or slicer), columns=columns, - column_labels=column_labels, transpose=transpose) + write_csv( + df, + file_name=label, + index_label=(index_label or slicer), + columns=columns, + column_labels=column_labels, + transpose=transpose, + ) def interaction_trace_rows(interaction_df, choosers, sample_size=None): @@ -669,21 +753,23 @@ def interaction_trace_rows(interaction_df, choosers, sample_size=None): # slicer column name and id targets to use for chooser id added to model_design dataframe # currently we only ever slice by person_id, but that could change, so we check here... - traceable_table_ids = inject.get_injectable('traceable_table_ids', {}) + traceable_table_ids = inject.get_injectable("traceable_table_ids", {}) - if choosers.index.name == 'person_id' and 'persons' in traceable_table_ids: + if choosers.index.name == "person_id" and "persons" in traceable_table_ids: slicer_column_name = choosers.index.name - targets = traceable_table_ids['persons'] - elif 'household_id' in choosers.columns and 'households' in traceable_table_ids: - slicer_column_name = 'household_id' - targets = traceable_table_ids['households'] - elif 'person_id' in choosers.columns and 'persons' in traceable_table_ids: - slicer_column_name = 'person_id' - targets = traceable_table_ids['persons'] + targets = traceable_table_ids["persons"] + elif "household_id" in choosers.columns and "households" in traceable_table_ids: + slicer_column_name = "household_id" + targets = traceable_table_ids["households"] + elif "person_id" in choosers.columns and "persons" in traceable_table_ids: + slicer_column_name = "person_id" + targets = traceable_table_ids["persons"] else: print(choosers.columns) - raise RuntimeError("interaction_trace_rows don't know how to slice index '%s'" - % choosers.index.name) + raise RuntimeError( + "interaction_trace_rows don't know how to slice index '%s'" + % choosers.index.name + ) if sample_size is None: # if sample size not constant, we count on either @@ -702,11 +788,11 @@ def interaction_trace_rows(interaction_df, choosers, sample_size=None): if slicer_column_name == choosers.index.name: trace_rows = np.in1d(choosers.index, targets) trace_ids = np.asanyarray(choosers[trace_rows].index) - elif slicer_column_name == 'person_id': - trace_rows = np.in1d(choosers['person_id'], targets) + elif slicer_column_name == "person_id": + trace_rows = np.in1d(choosers["person_id"], targets) trace_ids = np.asanyarray(choosers[trace_rows].person_id) - elif slicer_column_name == 'household_id': - trace_rows = np.in1d(choosers['household_id'], targets) + elif slicer_column_name == "household_id": + trace_rows = np.in1d(choosers["household_id"], targets) trace_ids = np.asanyarray(choosers[trace_rows].household_id) else: assert False @@ -755,7 +841,7 @@ def trace_interaction_eval_results(trace_results, trace_ids, label): return # write out the raw dataframe - file_path = config.trace_file_path('%s.raw.csv' % label) + file_path = config.trace_file_path("%s.raw.csv" % label) trace_results.to_csv(file_path, mode="a", index=True, header=True) # if there are multiple targets, we want them in separate tables for readability @@ -769,14 +855,16 @@ def trace_interaction_eval_results(trace_results, trace_ids, label): # # remove the slicer (person_id or hh_id) column? # del df_target[slicer_column_name] - target_label = '%s.%s.%s' % (label, slicer_column_name, target) + target_label = "%s.%s.%s" % (label, slicer_column_name, target) - trace_df(df_target, - label=target_label, - slicer="NONE", - transpose=True, - column_labels=['expression', None], - warn_if_empty=False) + trace_df( + df_target, + label=target_label, + slicer="NONE", + transpose=True, + column_labels=["expression", None], + warn_if_empty=False, + ) def no_results(trace_label): @@ -800,20 +888,22 @@ def deregister_traceable_table(table_name): ------- Nothing """ - traceable_tables = inject.get_injectable('traceable_tables', []) - traceable_table_ids = inject.get_injectable('traceable_table_ids', {}) - traceable_table_indexes = inject.get_injectable('traceable_table_indexes', {}) + traceable_tables = inject.get_injectable("traceable_tables", []) + traceable_table_ids = inject.get_injectable("traceable_table_ids", {}) + traceable_table_indexes = inject.get_injectable("traceable_table_indexes", {}) if table_name not in traceable_tables: logger.error("table '%s' not in traceable_tables" % table_name) else: traceable_table_ids = { - k: v for k, v in traceable_table_ids.items() if k != table_name} - traceable_table_indexes = OrderedDict({ - k: v for k, v in traceable_table_indexes.items() if v != table_name}) - - inject.add_injectable('traceable_table_ids', traceable_table_ids) - inject.add_injectable('traceable_table_indexes', traceable_table_indexes) + k: v for k, v in traceable_table_ids.items() if k != table_name + } + traceable_table_indexes = OrderedDict( + {k: v for k, v in traceable_table_indexes.items() if v != table_name} + ) + + inject.add_injectable("traceable_table_ids", traceable_table_ids) + inject.add_injectable("traceable_table_indexes", traceable_table_indexes) return diff --git a/activitysim/core/util.py b/activitysim/core/util.py index 1351023f37..9a2f5c18d5 100644 --- a/activitysim/core/util.py +++ b/activitysim/core/util.py @@ -1,28 +1,26 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import zip import logging import os - +from builtins import zip from operator import itemgetter -import numpy as np -import pandas as pd - import cytoolz as tz import cytoolz.curried +import numpy as np +import pandas as pd logger = logging.getLogger(__name__) -def si_units(x, kind='B', digits=3, shift=1000): +def si_units(x, kind="B", digits=3, shift=1000): # nano micro milli kilo mega giga tera peta exa zeta yotta - tiers = ['n', 'µ', 'm', '', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'] + tiers = ["n", "µ", "m", "", "K", "M", "G", "T", "P", "E", "Z", "Y"] tier = 3 - sign = '-' if x < 0 else '' + sign = "-" if x < 0 else "" x = abs(x) if x > 0: while x > shift and tier < len(tiers): @@ -35,18 +33,18 @@ def si_units(x, kind='B', digits=3, shift=1000): def GB(bytes): - return si_units(bytes, kind='B', digits=1) + return si_units(bytes, kind="B", digits=1) def SEC(seconds): - return si_units(seconds, kind='s', digits=2) + return si_units(seconds, kind="s", digits=2) def INT(x): # format int as camel case (e.g. 1000000 vecomes '1_000_000') negative = x < 0 x = abs(int(x)) - result = '' + result = "" while x >= 1000: x, r = divmod(x, 1000) result = "_%03d%s" % (r, result) @@ -123,12 +121,12 @@ def left_merge_on_index_and_col(left_df, right_df, join_col, target_col): idx_col = right_df.index.name # SELECT target_col FROM full_sample LEFT JOIN unique_sample on idx_col, join_col - merged = \ - pd.merge( - left_df[[join_col]].reset_index(), - right_df[[join_col, target_col]].reset_index(), - on=[idx_col, join_col], - how="left") + merged = pd.merge( + left_df[[join_col]].reset_index(), + right_df[[join_col, target_col]].reset_index(), + on=[idx_col, join_col], + how="left", + ) merged.set_index(idx_col, inplace=True) @@ -171,11 +169,13 @@ def reindex(series1, series2): """ # turns out the merge is much faster than the .loc below - df = pd.merge(series2.to_frame(name='left'), - series1.to_frame(name='right'), - left_on="left", - right_index=True, - how="left") + df = pd.merge( + series2.to_frame(name="left"), + series1.to_frame(name="right"), + left_on="left", + right_index=True, + how="left", + ) return df.right # return pd.Series(series1.loc[series2.values].values, index=series2.index) @@ -213,14 +213,19 @@ def other_than(groups, bools): """ counts = groups[bools].value_counts() - merge_col = groups.to_frame(name='right') + merge_col = groups.to_frame(name="right") pipeline = tz.compose( tz.curry(pd.Series.fillna, value=False), - itemgetter('left'), + itemgetter("left"), tz.curry( - pd.DataFrame.merge, right=merge_col, how='right', left_index=True, - right_on='right'), - tz.curry(pd.Series.to_frame, name='left')) + pd.DataFrame.merge, + right=merge_col, + how="right", + left_index=True, + right_on="right", + ), + tz.curry(pd.Series.to_frame, name="left"), + ) gt0 = pipeline(counts > 0) gt1 = pipeline(counts > 1) @@ -283,13 +288,17 @@ def quick_loc_series(loc_list, target_series): elif isinstance(loc_list, np.ndarray) or isinstance(loc_list, list): left_df = pd.DataFrame({left_on: loc_list}) else: - raise RuntimeError("quick_loc_series loc_list of unexpected type %s" % type(loc_list)) - - df = pd.merge(left_df, - target_series.to_frame(name='right'), - left_on=left_on, - right_index=True, - how="left") + raise RuntimeError( + "quick_loc_series loc_list of unexpected type %s" % type(loc_list) + ) + + df = pd.merge( + left_df, + target_series.to_frame(name="right"), + left_on=left_on, + right_index=True, + how="left", + ) # regression test # assert list(df.right) == list(target_series.loc[loc_list]) @@ -313,7 +322,7 @@ def assign_in_place(df, df2): """ # expect no rows in df2 that are not in df - assert (len(df2.index.difference(df.index)) == 0) + assert len(df2.index.difference(df.index)) == 0 # update common columns in place common_columns = df2.columns.intersection(df.columns) @@ -331,18 +340,24 @@ def assign_in_place(df, df2): try: df[c] = df[c].astype(old_dtype) except ValueError: - logger.warning("assign_in_place changed dtype %s of column %s to %s" % - (old_dtype, c, df[c].dtype)) + logger.warning( + "assign_in_place changed dtype %s of column %s to %s" + % (old_dtype, c, df[c].dtype) + ) # if both df and df2 column were ints, but result is not - if np.issubdtype(old_dtype, np.integer) \ - and np.issubdtype(df2[c].dtype, np.integer) \ - and not np.issubdtype(df[c].dtype, np.integer): + if ( + np.issubdtype(old_dtype, np.integer) + and np.issubdtype(df2[c].dtype, np.integer) + and not np.issubdtype(df[c].dtype, np.integer) + ): try: df[c] = df[c].astype(old_dtype) except ValueError: - logger.warning("assign_in_place changed dtype %s of column %s to %s" % - (old_dtype, c, df[c].dtype)) + logger.warning( + "assign_in_place changed dtype %s of column %s to %s" + % (old_dtype, c, df[c].dtype) + ) # add new columns (in order they appear in df2) new_columns = [c for c in df2.columns if c not in df.columns] diff --git a/activitysim/estimation/larch/auto_ownership.py b/activitysim/estimation/larch/auto_ownership.py index cec449db4b..b008683bec 100644 --- a/activitysim/estimation/larch/auto_ownership.py +++ b/activitysim/estimation/larch/auto_ownership.py @@ -1,18 +1,18 @@ import os +from typing import Collection + import numpy as np import pandas as pd import yaml -from typing import Collection +from larch import DataFrames, Model, P, X from larch.util import Dict -from .simple_simulate import simple_simulate_data - from .general import ( - remove_apostrophes, apply_coefficients, dict_of_linear_utility_from_spec, + remove_apostrophes, ) -from larch import Model, DataFrames, P, X +from .simple_simulate import simple_simulate_data def auto_ownership_model( @@ -21,7 +21,9 @@ def auto_ownership_model( return_data=False, ): data = simple_simulate_data( - name=name, edb_directory=edb_directory, values_index_col="household_id", + name=name, + edb_directory=edb_directory, + values_index_col="household_id", ) coefficients = data.coefficients # coef_template = data.coef_template # not used @@ -45,12 +47,19 @@ def auto_ownership_model( m.initialize_graph(alternative_codes=altcodes, root_id=99) m.utility_co = dict_of_linear_utility_from_spec( - spec, "Label", dict(zip(altnames, altcodes)), + spec, + "Label", + dict(zip(altnames, altcodes)), ) apply_coefficients(coefficients, m) - d = DataFrames(co=chooser_data, av=True, alt_codes=altcodes, alt_names=altnames,) + d = DataFrames( + co=chooser_data, + av=True, + alt_codes=altcodes, + alt_names=altnames, + ) m.dataservice = d m.choice_co_code = "override_choice" diff --git a/activitysim/estimation/larch/cdap.py b/activitysim/estimation/larch/cdap.py index c3b4a22186..fdb801de03 100644 --- a/activitysim/estimation/larch/cdap.py +++ b/activitysim/estimation/larch/cdap.py @@ -1,22 +1,22 @@ -import numpy as np -import pandas as pd -import re +import importlib import itertools -from larch import P, X, DataFrames, Model -from larch.model.model_group import ModelGroup -from larch.util import Dict -import larch +import logging import os +import re +from pathlib import Path + +import larch +import numpy as np +import pandas as pd import yaml -import importlib -import logging +from larch import DataFrames, Model, P, X from larch.log import logger_name -from pathlib import Path +from larch.model.model_group import ModelGroup +from larch.util import Dict from ...abm.models.util import cdap from .general import apply_coefficients, explicit_value_parameters - _logger = logging.getLogger(logger_name) @@ -63,7 +63,7 @@ def apply_replacements(expression, prefix, tokens): The modified expression """ for i in tokens: - expression = re.sub(fr"\b{i}\b", f"{prefix}_{i}", expression) + expression = re.sub(rf"\b{i}\b", f"{prefix}_{i}", expression) return expression @@ -322,14 +322,16 @@ def read_yaml(filename, **kwargs): except FileNotFoundError: persons = pd.read_csv(persons_file) - person_type_map = settings.get('PERSON_TYPE_MAP') + person_type_map = settings.get("PERSON_TYPE_MAP") if person_type_map is None: raise KeyError("PERSON_TYPE_MAP missing from cdap_settings.yaml") person_rank = cdap.assign_cdap_rank(persons, person_type_map) coefficients = read_csv( - coefficients_file, index_col="coefficient_name", comment="#", + coefficients_file, + index_col="coefficient_name", + comment="#", ) interaction_coef = read_csv( diff --git a/activitysim/estimation/larch/general.py b/activitysim/estimation/larch/general.py index 8c0c294f82..2639db3e09 100644 --- a/activitysim/estimation/larch/general.py +++ b/activitysim/estimation/larch/general.py @@ -1,18 +1,18 @@ +import itertools +import logging +import os +import re +from pathlib import Path +from typing import Mapping + import numpy as np import pandas as pd -import re -import os import yaml -import itertools -from typing import Mapping -from larch import P, X, DataFrames, Model +from larch import DataFrames, Model, P, X +from larch.log import logger_name from larch.model.abstract_model import AbstractChoiceModel from larch.model.tree import NestingTree from larch.util import Dict -from pathlib import Path - -import logging -from larch.log import logger_name _logger = logging.getLogger(logger_name) @@ -143,7 +143,10 @@ def linear_utility_from_spec(spec, x_col, p_col, ignore_x=(), segment_id=None): partial_utility = {} for seg_p_col, segval in p_col.items(): partial_utility[seg_p_col] = linear_utility_from_spec( - spec, x_col, seg_p_col, ignore_x, + spec, + x_col, + seg_p_col, + ignore_x, ) * X(f"{segment_id}=={str_repr(segval)}") return sum(partial_utility.values()) parts = [] @@ -263,7 +266,9 @@ def explicit_value_parameters_from_spec(spec, p_col, model): pass else: model.set_value( - getattr(i, p_col), value=j, holdfast=True, + getattr(i, p_col), + value=j, + holdfast=True, ) @@ -318,14 +323,17 @@ def apply_coefficients(coefficients, model, minimum=None, maximum=None): assert "value" in coefficients.columns if "constrain" not in coefficients.columns: import warnings - warnings.warn("coefficient dataframe missing 'constrain' column, setting all to 'F'") + + warnings.warn( + "coefficient dataframe missing 'constrain' column, setting all to 'F'" + ) coefficients["constrain"] = "F" assert coefficients.index.name == "coefficient_name" assert isinstance(model, AbstractChoiceModel) explicit_value_parameters(model) for i in coefficients.itertuples(): if i.Index in model: - holdfast = (i.constrain == "T") + holdfast = i.constrain == "T" if holdfast: minimum_ = i.value maximum_ = i.value @@ -482,7 +490,7 @@ def clean_values( return values -def update_coefficients(model, data, result_dir=Path('.'), output_file=None): +def update_coefficients(model, data, result_dir=Path("."), output_file=None): if isinstance(data, pd.DataFrame): coefficients = data.copy() else: @@ -492,7 +500,7 @@ def update_coefficients(model, data, result_dir=Path('.'), output_file=None): if output_file is not None: os.makedirs(result_dir, exist_ok=True) coefficients.reset_index().to_csv( - result_dir/output_file, + result_dir / output_file, index=False, ) return coefficients diff --git a/activitysim/estimation/larch/location_choice.py b/activitysim/estimation/larch/location_choice.py index 5188737c26..74a426e714 100644 --- a/activitysim/estimation/larch/location_choice.py +++ b/activitysim/estimation/larch/location_choice.py @@ -1,21 +1,22 @@ import os +from pathlib import Path +from typing import Collection + import numpy as np import pandas as pd import yaml -from typing import Collection +from larch import DataFrames, Model, P, X from larch.util import Dict -from pathlib import Path from .general import ( - remove_apostrophes, - construct_nesting_tree, - linear_utility_from_spec, - explicit_value_parameters, apply_coefficients, + construct_nesting_tree, cv_to_ca, + explicit_value_parameters, + linear_utility_from_spec, + remove_apostrophes, str_repr, ) -from larch import Model, DataFrames, P, X def size_coefficients_from_spec(size_spec): @@ -48,15 +49,18 @@ def location_choice_model( model_selector = model_selector.replace("_destination", "") model_selector = model_selector.replace("_subtour", "") model_selector = model_selector.replace("_tour", "") - if model_selector == 'joint': - model_selector = 'non_mandatory' + if model_selector == "joint": + model_selector = "non_mandatory" edb_directory = edb_directory.format(name=name) def _read_csv(filename, **kwargs): filename = filename.format(name=name) return pd.read_csv(os.path.join(edb_directory, filename), **kwargs) - coefficients = _read_csv(coefficients_file, index_col="coefficient_name",) + coefficients = _read_csv( + coefficients_file, + index_col="coefficient_name", + ) spec = _read_csv(spec_file, comment="#") alt_values = _read_csv(alt_values_file) chooser_data = _read_csv(chooser_file) @@ -70,14 +74,20 @@ def _read_csv(filename, **kwargs): settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load(yf, Loader=yaml.SafeLoader,) + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) include_settings = settings.get("include_settings") if include_settings: include_settings = os.path.join(edb_directory, include_settings) if include_settings and os.path.exists(include_settings): with open(include_settings, "r") as yf: - more_settings = yaml.load(yf, Loader=yaml.SafeLoader, ) + more_settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) settings.update(more_settings) CHOOSER_SEGMENT_COLUMN_NAME = settings.get("CHOOSER_SEGMENT_COLUMN_NAME") @@ -87,7 +97,7 @@ def _read_csv(filename, **kwargs): if SEGMENTS is not None: SEGMENT_IDS = {i: i for i in SEGMENTS} - SIZE_TERM_SELECTOR = settings.get('SIZE_TERM_SELECTOR', model_selector) + SIZE_TERM_SELECTOR = settings.get("SIZE_TERM_SELECTOR", model_selector) # filter size spec for this location choice only size_spec = ( @@ -100,41 +110,39 @@ def _read_csv(filename, **kwargs): size_coef = size_coefficients_from_spec(size_spec) indexes_to_drop = [ - "util_size_variable", # pre-computed size (will be re-estimated) - "util_size_variable_atwork", # pre-computed size (will be re-estimated) - "util_utility_adjustment", # shadow pricing (ignored in estimation) - "@df['size_term'].apply(np.log1p)", # pre-computed size (will be re-estimated) + "util_size_variable", # pre-computed size (will be re-estimated) + "util_size_variable_atwork", # pre-computed size (will be re-estimated) + "util_utility_adjustment", # shadow pricing (ignored in estimation) + "@df['size_term'].apply(np.log1p)", # pre-computed size (will be re-estimated) ] - if 'Label' in spec.columns: + if "Label" in spec.columns: indexes_to_drop = [i for i in indexes_to_drop if i in spec.Label.to_numpy()] - label_column_name = 'Label' - elif 'Expression' in spec.columns: - indexes_to_drop = [i for i in indexes_to_drop if i in spec.Expression.to_numpy()] - label_column_name = 'Expression' + label_column_name = "Label" + elif "Expression" in spec.columns: + indexes_to_drop = [ + i for i in indexes_to_drop if i in spec.Expression.to_numpy() + ] + label_column_name = "Expression" else: raise ValueError("cannot find Label or Expression in spec file") expression_labels = None - if label_column_name == 'Expression': + if label_column_name == "Expression": expression_labels = { expr: f"variable_label{n:04d}" for n, expr in enumerate(spec.Expression.to_numpy()) } # Remove shadow pricing and pre-existing size expression for re-estimation - spec = ( - spec.set_index(label_column_name) - .drop(index=indexes_to_drop) - .reset_index() - ) + spec = spec.set_index(label_column_name).drop(index=indexes_to_drop).reset_index() - if label_column_name == 'Expression': - spec.insert(0, "Label", spec['Expression'].map(expression_labels)) - alt_values['variable'] = alt_values['variable'].map(expression_labels) + if label_column_name == "Expression": + spec.insert(0, "Label", spec["Expression"].map(expression_labels)) + alt_values["variable"] = alt_values["variable"].map(expression_labels) label_column_name = "Label" - if name == 'trip_destination': - CHOOSER_SEGMENT_COLUMN_NAME = 'primary_purpose' + if name == "trip_destination": + CHOOSER_SEGMENT_COLUMN_NAME = "primary_purpose" primary_purposes = spec.columns[3:] SEGMENT_IDS = {pp: pp for pp in primary_purposes} @@ -181,30 +189,54 @@ def _read_csv(filename, **kwargs): except KeyError: # Missing the zone_id variable? # Use the alternative id's instead, which assumes no sampling of alternatives - x_ca_1 = pd.merge(x_ca, landuse, left_on=x_ca.index.get_level_values(1), right_index=True, how="left") + x_ca_1 = pd.merge( + x_ca, + landuse, + left_on=x_ca.index.get_level_values(1), + right_index=True, + how="left", + ) x_ca_1.index = x_ca.index # Availability of choice zones if "util_no_attractions" in x_ca_1: - av = x_ca_1["util_no_attractions"].apply(lambda x: False if x == 1 else True).astype(np.int8) + av = ( + x_ca_1["util_no_attractions"] + .apply(lambda x: False if x == 1 else True) + .astype(np.int8) + ) elif "@df['size_term']==0" in x_ca_1: - av = x_ca_1["@df['size_term']==0"].apply(lambda x: False if x == 1 else True).astype(np.int8) + av = ( + x_ca_1["@df['size_term']==0"] + .apply(lambda x: False if x == 1 else True) + .astype(np.int8) + ) else: av = 1 d = DataFrames(co=x_co, ca=x_ca_1, av=av) m = Model(dataservice=d) - if len(spec.columns) == 4 and all(spec.columns == ['Label', 'Description', 'Expression', 'coefficient']): + if len(spec.columns) == 4 and all( + spec.columns == ["Label", "Description", "Expression", "coefficient"] + ): m.utility_ca = linear_utility_from_spec( - spec, x_col="Label", p_col=spec.columns[-1], ignore_x=("local_dist",), + spec, + x_col="Label", + p_col=spec.columns[-1], + ignore_x=("local_dist",), ) - elif len(spec.columns) == 4 \ - and all(spec.columns[:3] == ['Label', 'Description', 'Expression']) \ - and len(SEGMENT_IDS) == 1 \ - and spec.columns[3] == list(SEGMENT_IDS.values())[0]: + elif ( + len(spec.columns) == 4 + and all(spec.columns[:3] == ["Label", "Description", "Expression"]) + and len(SEGMENT_IDS) == 1 + and spec.columns[3] == list(SEGMENT_IDS.values())[0] + ): m.utility_ca = linear_utility_from_spec( - spec, x_col="Label", p_col=spec.columns[-1], ignore_x=("local_dist",), + spec, + x_col="Label", + p_col=spec.columns[-1], + ignore_x=("local_dist",), ) else: m.utility_ca = linear_utility_from_spec( @@ -225,7 +257,9 @@ def _read_csv(filename, **kwargs): ) else: m.quantity_ca = sum( - P(f"{i}_{q}") * X(q) * X(f"{CHOOSER_SEGMENT_COLUMN_NAME}=={str_repr(SEGMENT_IDS[i])}") + P(f"{i}_{q}") + * X(q) + * X(f"{CHOOSER_SEGMENT_COLUMN_NAME}=={str_repr(SEGMENT_IDS[i])}") for i in size_spec.index for q in size_spec.columns if size_spec.loc[i, q] != 0 @@ -256,7 +290,7 @@ def _read_csv(filename, **kwargs): return m -def update_size_spec(model, data, result_dir=Path('.'), output_file=None): +def update_size_spec(model, data, result_dir=Path("."), output_file=None): master_size_spec = data.master_size_spec size_spec = data.size_spec model_selector = data.model_selector @@ -265,7 +299,9 @@ def update_size_spec(model, data, result_dir=Path('.'), output_file=None): for c in size_spec.columns: for i in size_spec.index: param_name = f"{i}_{c}" - j = (master_size_spec['segment'] == i) & (master_size_spec['model_selector'] == model_selector) + j = (master_size_spec["segment"] == i) & ( + master_size_spec["model_selector"] == model_selector + ) try: master_size_spec.loc[j, c] = np.exp(model.get_value(param_name)) except KeyError: @@ -273,60 +309,67 @@ def update_size_spec(model, data, result_dir=Path('.'), output_file=None): # Rescale each row to total 1, not mathematically needed # but to maintain a consistent approach from existing ASim - master_size_spec.iloc[:, 2:] = ( - master_size_spec.iloc[:, 2:].div(master_size_spec.iloc[:, 2:].sum(1), axis=0) + master_size_spec.iloc[:, 2:] = master_size_spec.iloc[:, 2:].div( + master_size_spec.iloc[:, 2:].sum(1), axis=0 ) if output_file is not None: os.makedirs(result_dir, exist_ok=True) master_size_spec.reset_index().to_csv( - result_dir/output_file, + result_dir / output_file, index=False, ) return master_size_spec -def workplace_location_model(return_data=False): +def workplace_location_model(**kwargs): + unused = kwargs.pop("name", None) return location_choice_model( name="workplace_location", - return_data=return_data, + **kwargs, ) -def school_location_model(return_data=False): +def school_location_model(**kwargs): + unused = kwargs.pop("name", None) return location_choice_model( name="school_location", - return_data=return_data, + **kwargs, ) -def atwork_subtour_destination_model(return_data=False): +def atwork_subtour_destination_model(**kwargs): + unused = kwargs.pop("name", None) return location_choice_model( name="atwork_subtour_destination", - return_data=return_data, + **kwargs, ) -def joint_tour_destination_model(return_data=False): +def joint_tour_destination_model(**kwargs): # goes with non_mandatory_tour_destination + unused = kwargs.pop("name", None) + if "coefficients_file" not in kwargs: + kwargs["coefficients_file"] = "non_mandatory_tour_destination_coefficients.csv" return location_choice_model( name="joint_tour_destination", - coefficients_file="non_mandatory_tour_destination_coefficients.csv", - return_data=return_data, + **kwargs, ) -def non_mandatory_tour_destination_model(return_data=False): +def non_mandatory_tour_destination_model(**kwargs): # goes with joint_tour_destination + unused = kwargs.pop("name", None) return location_choice_model( name="non_mandatory_tour_destination", - return_data=return_data, + **kwargs, ) -def trip_destination_model(return_data=False): +def trip_destination_model(**kwargs): + unused = kwargs.pop("name", None) return location_choice_model( name="trip_destination", - return_data=return_data, + **kwargs, ) diff --git a/activitysim/estimation/larch/mode_choice.py b/activitysim/estimation/larch/mode_choice.py index 80761308c1..a790075e14 100644 --- a/activitysim/estimation/larch/mode_choice.py +++ b/activitysim/estimation/larch/mode_choice.py @@ -1,28 +1,29 @@ import os +from pathlib import Path +from typing import Collection + import numpy as np import pandas as pd import yaml -from typing import Collection +from larch import DataFrames, Model, P, X from larch.util import Dict -from pathlib import Path from .general import ( - remove_apostrophes, - construct_nesting_tree, - linear_utility_from_spec, - explicit_value_parameters, apply_coefficients, clean_values, + construct_nesting_tree, + explicit_value_parameters, + linear_utility_from_spec, + remove_apostrophes, ) -from .simple_simulate import simple_simulate_data, construct_availability -from larch import Model, DataFrames, P, X +from .simple_simulate import construct_availability, simple_simulate_data def mode_choice_model( - name, - edb_directory="output/estimation_data_bundle/{name}/", - return_data=False, - override_filenames=None, + name, + edb_directory="output/estimation_data_bundle/{name}/", + return_data=False, + override_filenames=None, ): if override_filenames is None: override_filenames = {} @@ -48,16 +49,19 @@ def mode_choice_model( purposes = list(coef_template.columns) if "atwork" in name: - purposes = ['atwork'] - elif 'atwork' in purposes: - purposes.remove('atwork') + purposes = ["atwork"] + elif "atwork" in purposes: + purposes.remove("atwork") # Setup purpose specific models m = {purpose: Model(graph=tree, title=purpose) for purpose in purposes} for alt_code, alt_name in tree.elemental_names().items(): # Read in base utility function for this alt_name u = linear_utility_from_spec( - spec, x_col="Label", p_col=alt_name, ignore_x=("#",), + spec, + x_col="Label", + p_col=alt_name, + ignore_x=("#",), ) for purpose in purposes: # Modify utility function based on template for purpose @@ -71,13 +75,18 @@ def mode_choice_model( explicit_value_parameters(model) apply_coefficients(coefficients, m) - avail = construct_availability(m[purposes[0]], chooser_data, data.alt_codes_to_names) + avail = construct_availability( + m[purposes[0]], chooser_data, data.alt_codes_to_names + ) d = DataFrames( - co=chooser_data, av=avail, alt_codes=data.alt_codes, alt_names=data.alt_names, + co=chooser_data, + av=avail, + alt_codes=data.alt_codes, + alt_names=data.alt_names, ) - if 'atwork' not in name: + if "atwork" not in name: for purpose, model in m.items(): model.dataservice = d.selector_co(f"tour_type=='{purpose}'") model.choice_co_code = "override_choice_code" @@ -142,5 +151,5 @@ def atwork_subtour_mode_choice_model( return_data=return_data, override_filenames=dict( coefficients_file="tour_mode_choice_coefficients.csv", - ) + ), ) diff --git a/activitysim/estimation/larch/nonmand_tour_freq.py b/activitysim/estimation/larch/nonmand_tour_freq.py index f042be9463..22f026d05d 100644 --- a/activitysim/estimation/larch/nonmand_tour_freq.py +++ b/activitysim/estimation/larch/nonmand_tour_freq.py @@ -1,21 +1,22 @@ +import itertools +import logging +import os +import re +from pathlib import Path +from typing import Mapping + import numpy as np import pandas as pd -import re -import os import yaml -import itertools -from typing import Mapping -from larch import P, X, DataFrames, Model +from larch import DataFrames, Model, P, X +from larch.log import logger_name from larch.util import Dict -from pathlib import Path -import logging -from larch.log import logger_name from .general import ( - remove_apostrophes, - linear_utility_from_spec, apply_coefficients, cv_to_ca, + linear_utility_from_spec, + remove_apostrophes, ) _logger = logging.getLogger(logger_name) @@ -39,7 +40,10 @@ def _read_csv(filename, **kwargs): settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load(yf, Loader=yaml.SafeLoader,) + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) coefficients = {} chooser_data = {} @@ -59,7 +63,9 @@ def _read_csv(filename, **kwargs): alt_values_files.format(name=name, segment_name=segment_name), ) - spec = _read_csv(spec_file,) + spec = _read_csv( + spec_file, + ) spec = remove_apostrophes(spec, ["Label"]) # alt_names = list(spec.columns[3:]) # alt_codes = np.arange(1, len(alt_names) + 1) @@ -117,15 +123,19 @@ def unavail(model, x_ca): def nonmand_tour_freq_model( - edb_directory="output/estimation_data_bundle/{name}/", return_data=False, + edb_directory="output/estimation_data_bundle/{name}/", + return_data=False, ): data = interaction_simulate_data( - name="non_mandatory_tour_frequency", edb_directory=edb_directory, + name="non_mandatory_tour_frequency", + edb_directory=edb_directory, ) settings = data.settings segment_names = [s["NAME"] for s in settings["SPEC_SEGMENTS"]] - data.relabel_coef = link_same_value_coefficients(segment_names, data.coefficients, data.spec) + data.relabel_coef = link_same_value_coefficients( + segment_names, data.coefficients, data.spec + ) spec = data.spec coefficients = data.coefficients chooser_data = data.chooser_data @@ -142,7 +152,9 @@ def nonmand_tour_freq_model( # Utility specifications segment_model.utility_ca = linear_utility_from_spec( - spec, x_col="Label", p_col=segment_name, + spec, + x_col="Label", + p_col=segment_name, ) apply_coefficients(coefficients[segment_name], segment_model) segment_model.choice_co_code = "override_choice" @@ -154,7 +166,11 @@ def nonmand_tour_freq_model( .rename(columns={"TAZ": "HOMETAZ"}) ) x_ca = cv_to_ca(alt_values[segment_name].set_index(["person_id", "variable"])) - d = DataFrames(co=x_co, ca=x_ca, av=~unavail(segment_model, x_ca),) + d = DataFrames( + co=x_co, + ca=x_ca, + av=~unavail(segment_model, x_ca), + ) m[segment_name].dataservice = d if return_data: diff --git a/activitysim/estimation/larch/scheduling.py b/activitysim/estimation/larch/scheduling.py index 649df79115..ea2aef1b2b 100644 --- a/activitysim/estimation/larch/scheduling.py +++ b/activitysim/estimation/larch/scheduling.py @@ -1,21 +1,22 @@ import os +from pathlib import Path +from typing import Collection + import numpy as np import pandas as pd import yaml -from typing import Collection +from larch import DataFrames, Model, P, X from larch.util import Dict -from pathlib import Path from .general import ( - remove_apostrophes, - construct_nesting_tree, - linear_utility_from_spec, - explicit_value_parameters, apply_coefficients, + construct_nesting_tree, cv_to_ca, + explicit_value_parameters, + linear_utility_from_spec, + remove_apostrophes, str_repr, ) -from larch import Model, DataFrames, P, X def schedule_choice_model( @@ -46,16 +47,25 @@ def _read_csv(filename, optional=False, **kwargs): settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load(yf, Loader=yaml.SafeLoader,) + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) try: - coefficients = _read_csv(coefficients_file, index_col="coefficient_name",) + coefficients = _read_csv( + coefficients_file, + index_col="coefficient_name", + ) except FileNotFoundError: # possibly mis-named file is shown in settings - coefficients_file = settings.get('COEFFICIENTS', coefficients_file) - coefficients = _read_csv(coefficients_file, index_col="coefficient_name",) + coefficients_file = settings.get("COEFFICIENTS", coefficients_file) + coefficients = _read_csv( + coefficients_file, + index_col="coefficient_name", + ) - spec = _read_csv(spec_file, comment='#') + spec = _read_csv(spec_file, comment="#") alt_values = _read_csv(alt_values_file) chooser_data = _read_csv(chooser_file) @@ -66,7 +76,10 @@ def _read_csv(filename, optional=False, **kwargs): include_settings = settings.get("include_settings") if include_settings: with open(os.path.join(edb_directory, include_settings), "r") as yf: - more_settings = yaml.load(yf, Loader=yaml.SafeLoader, ) + more_settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) settings.update(more_settings) CHOOSER_SEGMENT_COLUMN_NAME = settings.get("CHOOSER_SEGMENT_COLUMN_NAME") @@ -76,28 +89,35 @@ def _read_csv(filename, optional=False, **kwargs): if SEGMENTS is not None: SEGMENT_IDS = {i: i for i in SEGMENTS} - if 'Label' in spec.columns: - label_column_name = 'Label' - elif 'Expression' in spec.columns: - label_column_name = 'Expression' + if "Label" in spec.columns: + label_column_name = "Label" + elif "Expression" in spec.columns: + label_column_name = "Expression" else: raise ValueError("cannot find Label or Expression in spec file") m = Model() if len(spec.columns) == 4 and ( - [c.lower() for c in spec.columns] == [ - 'label', 'description', 'expression', 'coefficient' - ] + [c.lower() for c in spec.columns] + == ["label", "description", "expression", "coefficient"] ): m.utility_ca = linear_utility_from_spec( - spec, x_col="Label", p_col=spec.columns[-1], ignore_x=("local_dist",), + spec, + x_col="Label", + p_col=spec.columns[-1], + ignore_x=("local_dist",), ) - elif len(spec.columns) == 4 \ - and all(spec.columns[:3] == ['Label', 'Description', 'Expression']) \ - and len(SEGMENT_IDS) == 1 \ - and spec.columns[3] == list(SEGMENT_IDS.values())[0]: + elif ( + len(spec.columns) == 4 + and all(spec.columns[:3] == ["Label", "Description", "Expression"]) + and len(SEGMENT_IDS) == 1 + and spec.columns[3] == list(SEGMENT_IDS.values())[0] + ): m.utility_ca = linear_utility_from_spec( - spec, x_col="Label", p_col=spec.columns[-1], ignore_x=("local_dist",), + spec, + x_col="Label", + p_col=spec.columns[-1], + ignore_x=("local_dist",), ) else: m.utility_ca = linear_utility_from_spec( @@ -127,10 +147,10 @@ def _read_csv(filename, optional=False, **kwargs): # else: # x_co["_segment_label"] = size_spec.index[0] - alt_codes = np.arange(len(x_ca.index.levels[1]))+1 + alt_codes = np.arange(len(x_ca.index.levels[1])) + 1 x_ca.index = x_ca.index.set_levels(alt_codes, 1) - x_co["override_choice_plus1"] = x_co["override_choice"]+1 - x_co["model_choice_plus1"] = x_co["model_choice"]+1 + x_co["override_choice_plus1"] = x_co["override_choice"] + 1 + x_co["model_choice_plus1"] = x_co["model_choice"] + 1 unavail_coefs = coefficients.query("(constrain == 'T') & (value < -900)").index unavail_data = [i.data for i in m.utility_ca if i.param in unavail_coefs] diff --git a/activitysim/estimation/larch/simple_simulate.py b/activitysim/estimation/larch/simple_simulate.py index 7fc85d7dee..0ee055fe6c 100644 --- a/activitysim/estimation/larch/simple_simulate.py +++ b/activitysim/estimation/larch/simple_simulate.py @@ -1,16 +1,17 @@ import os from pathlib import Path + import numpy as np import pandas as pd import yaml +from larch import DataFrames, Model from larch.util import Dict -from larch import Model, DataFrames from .general import ( - remove_apostrophes, - dict_of_linear_utility_from_spec, apply_coefficients, construct_nesting_tree, + dict_of_linear_utility_from_spec, + remove_apostrophes, ) @@ -66,13 +67,22 @@ def _read_csv(filename, **kwargs): settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load(yf, Loader=yaml.SafeLoader,) + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) try: - coefficients = _read_csv(coefficients_file, index_col="coefficient_name",) + coefficients = _read_csv( + coefficients_file, + index_col="coefficient_name", + ) try: - coef_template = _read_csv(coefficients_template, index_col="coefficient_name",) + coef_template = _read_csv( + coefficients_template, + index_col="coefficient_name", + ) except FileNotFoundError: coef_template = None @@ -89,11 +99,15 @@ def _read_csv(filename, **kwargs): alt_names_to_codes = dict(zip(alt_names, alt_codes)) alt_codes_to_names = dict(zip(alt_codes, alt_names)) - chooser_data = _read_csv(chooser_data_file, index_col=values_index_col,) + chooser_data = _read_csv( + chooser_data_file, + index_col=values_index_col, + ) except Exception: # when an error happens in reading anything other than settings, print settings from pprint import pprint + pprint(settings) raise @@ -112,15 +126,17 @@ def _read_csv(filename, **kwargs): def simple_simulate_model( - name, - edb_directory="output/estimation_data_bundle/{name}/", - return_data=False, - choices=None, - construct_avail=False, - values_index_col="household_id", + name, + edb_directory="output/estimation_data_bundle/{name}/", + return_data=False, + choices=None, + construct_avail=False, + values_index_col="household_id", ): data = simple_simulate_data( - name=name, edb_directory=edb_directory, values_index_col=values_index_col, + name=name, + edb_directory=edb_directory, + values_index_col=values_index_col, ) coefficients = data.coefficients # coef_template = data.coef_template # not used @@ -132,20 +148,23 @@ def simple_simulate_model( alt_codes = data.alt_codes from .general import clean_values + chooser_data = clean_values( chooser_data, alt_names_to_codes=choices or data.alt_names_to_codes, choice_code="override_choice_code", ) - if settings.get('LOGIT_TYPE') == 'NL': + if settings.get("LOGIT_TYPE") == "NL": tree = construct_nesting_tree(data.alt_names, settings["NESTS"]) m = Model(graph=tree) else: m = Model(alts=data.alt_codes_to_names) m.utility_co = dict_of_linear_utility_from_spec( - spec, "Label", dict(zip(alt_names, alt_codes)), + spec, + "Label", + dict(zip(alt_names, alt_codes)), ) apply_coefficients(coefficients, m) @@ -155,7 +174,12 @@ def simple_simulate_model( else: avail = True - d = DataFrames(co=chooser_data, av=avail, alt_codes=alt_codes, alt_names=alt_names, ) + d = DataFrames( + co=chooser_data, + av=avail, + alt_codes=alt_codes, + alt_names=alt_names, + ) m.dataservice = d m.choice_co_code = "override_choice_code" @@ -186,8 +210,8 @@ def auto_ownership_model( name=name, edb_directory=edb_directory, return_data=return_data, - choices={i: i+1 for i in range(5)}, # choices are coded in data as integers, - # not 'cars0' etc as appears in the spec + choices={i: i + 1 for i in range(5)}, # choices are coded in data as integers, + # not 'cars0' etc as appears in the spec ) @@ -200,7 +224,10 @@ def free_parking_model( name=name, edb_directory=edb_directory, return_data=return_data, - choices={True: 1, False: 2}, # True is free parking, False is paid parking, names match spec positions + choices={ + True: 1, + False: 2, + }, # True is free parking, False is paid parking, names match spec positions ) diff --git a/activitysim/estimation/larch/stop_frequency.py b/activitysim/estimation/larch/stop_frequency.py index c13cd0d5ec..c572af5e87 100644 --- a/activitysim/estimation/larch/stop_frequency.py +++ b/activitysim/estimation/larch/stop_frequency.py @@ -1,33 +1,37 @@ import os from pathlib import Path + import numpy as np import pandas as pd import yaml +from larch import DataFrames, Model from larch.util import Dict -from larch import Model, DataFrames from .general import ( - remove_apostrophes, - dict_of_linear_utility_from_spec, apply_coefficients, construct_nesting_tree, + dict_of_linear_utility_from_spec, + remove_apostrophes, ) def stop_frequency_data( - edb_directory="output/estimation_data_bundle/{name}/", - settings_file="{name}_model_settings.yaml", - chooser_data_file="{name}_values_combined.csv", - values_index_col="tour_id", + edb_directory="output/estimation_data_bundle/{name}/", + settings_file="{name}_model_settings.yaml", + chooser_data_file="{name}_values_combined.csv", + values_index_col="tour_id", ): - name = 'stop_frequency' + name = "stop_frequency" edb_directory = edb_directory.format(name=name) settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load(yf, Loader=yaml.SafeLoader,) + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) - segments = [i['primary_purpose'] for i in settings['SPEC_SEGMENTS']] + segments = [i["primary_purpose"] for i in settings["SPEC_SEGMENTS"]] master_coef = {} prior_segs = [] @@ -35,10 +39,10 @@ def stop_frequency_data( segment_coef = {} for seg_ in settings["SPEC_SEGMENTS"]: - seg_purpose = seg_['primary_purpose'] + seg_purpose = seg_["primary_purpose"] seg_subdir = Path(os.path.join(edb_directory, seg_purpose)) - segment_coef[seg_['primary_purpose']] = pd.read_csv( - seg_subdir/seg_['COEFFICIENTS'], + segment_coef[seg_["primary_purpose"]] = pd.read_csv( + seg_subdir / seg_["COEFFICIENTS"], index_col="coefficient_name", ) @@ -63,14 +67,14 @@ def stop_frequency_data( # rewrite revised spec files with common segment_coef names for seg in segments: seg_subdir = Path(os.path.join(edb_directory, seg)) - with open(seg_subdir/f"stop_frequency_SPEC.csv", 'rt') as f: + with open(seg_subdir / f"stop_frequency_SPEC.csv", "rt") as f: spec = f.read() for kcoef, v in coef_map[seg].items(): spec = spec.replace(kcoef, v) - with open(seg_subdir/f"stop_frequency_SPEC_.csv", 'wt') as f: + with open(seg_subdir / f"stop_frequency_SPEC_.csv", "wt") as f: f.write(spec) - master_coef_df = pd.DataFrame(data=master_coef, index=['value']).T + master_coef_df = pd.DataFrame(data=master_coef, index=["value"]).T master_coef_df.index.name = "coefficient_name" seg_coefficients = [] @@ -82,12 +86,16 @@ def stop_frequency_data( seg_chooser_data = [] for seg in settings["SPEC_SEGMENTS"]: - seg_purpose = seg['primary_purpose'] + seg_purpose = seg["primary_purpose"] seg_subdir = Path(os.path.join(edb_directory, seg_purpose)) - coeffs_ = pd.read_csv(seg_subdir/seg['COEFFICIENTS'], index_col="coefficient_name") - coeffs_.index = pd.Index([f"{i}_{seg_purpose}" for i in coeffs_.index], name="coefficient_name") + coeffs_ = pd.read_csv( + seg_subdir / seg["COEFFICIENTS"], index_col="coefficient_name" + ) + coeffs_.index = pd.Index( + [f"{i}_{seg_purpose}" for i in coeffs_.index], name="coefficient_name" + ) seg_coefficients.append(coeffs_) - spec = pd.read_csv(seg_subdir/"stop_frequency_SPEC_.csv") + spec = pd.read_csv(seg_subdir / "stop_frequency_SPEC_.csv") spec = remove_apostrophes(spec, ["Label"]) # spec.iloc[:, 3:] = spec.iloc[:, 3:].applymap(lambda x: f"{x}_{seg_purpose}" if not pd.isna(x) else x) seg_spec.append(spec) @@ -103,7 +111,7 @@ def stop_frequency_data( seg_alt_codes_to_names.append(alt_codes_to_names) chooser_data = pd.read_csv( - seg_subdir/chooser_data_file.format(name=name), + seg_subdir / chooser_data_file.format(name=name), index_col=values_index_col, ) seg_chooser_data.append(chooser_data) @@ -129,7 +137,8 @@ def stop_frequency_model( return_data=False, ): data = stop_frequency_data( - edb_directory=edb_directory, values_index_col="tour_id", + edb_directory=edb_directory, + values_index_col="tour_id", ) models = [] @@ -146,33 +155,42 @@ def stop_frequency_model( alt_codes = data.alt_codes[n] from .general import clean_values + chooser_data = clean_values( chooser_data, alt_names_to_codes=data.alt_names_to_codes[n], choice_code="override_choice_code", ) - if settings.get('LOGIT_TYPE') == 'NL': + if settings.get("LOGIT_TYPE") == "NL": tree = construct_nesting_tree(data.alt_names[n], settings["NESTS"]) m = Model(graph=tree) else: m = Model() m.utility_co = dict_of_linear_utility_from_spec( - spec, "Label", dict(zip(alt_names, alt_codes)), + spec, + "Label", + dict(zip(alt_names, alt_codes)), ) apply_coefficients(coefficients, m) avail = True - d = DataFrames(co=chooser_data, av=avail, alt_codes=alt_codes, alt_names=alt_names, ) + d = DataFrames( + co=chooser_data, + av=avail, + alt_codes=alt_codes, + alt_names=alt_names, + ) m.dataservice = d m.choice_co_code = "override_choice_code" models.append(m) from larch.model.model_group import ModelGroup + models = ModelGroup(models) if return_data: @@ -184,7 +202,7 @@ def stop_frequency_model( return models -def update_segment_coefficients(model, data, result_dir=Path('.'), output_file=None): +def update_segment_coefficients(model, data, result_dir=Path("."), output_file=None): for m, segment_name in zip(model, data.segments): coefficient_map = data.coefficient_map[segment_name] segment_c = [] @@ -194,10 +212,12 @@ def update_segment_coefficients(model, data, result_dir=Path('.'), output_file=N segment_c.append(c_local) master_c.append(c_master) coefficients = data.segment_coefficients[segment_name].copy() - coefficients.loc[segment_c, "value"] = model.pf.loc[master_c, "value"].to_numpy() + coefficients.loc[segment_c, "value"] = model.pf.loc[ + master_c, "value" + ].to_numpy() if output_file is not None: os.makedirs(result_dir, exist_ok=True) coefficients.reset_index().to_csv( - result_dir/output_file.format(segment_name=segment_name), + result_dir / output_file.format(segment_name=segment_name), index=False, ) diff --git a/activitysim/estimation/test/test_larch_estimation.py b/activitysim/estimation/test/test_larch_estimation.py index d90c51551c..0a427b539b 100644 --- a/activitysim/estimation/test/test_larch_estimation.py +++ b/activitysim/estimation/test/test_larch_estimation.py @@ -1,9 +1,10 @@ import os -import pandas as pd -import pytest import subprocess import tempfile +import pandas as pd +import pytest + from activitysim.cli.create import get_example @@ -43,33 +44,40 @@ def est_data(): def _regression_check(dataframe_regression, df, basename=None): dataframe_regression.check( - df.select_dtypes("number").drop(columns=["holdfast"], errors='ignore').clip(-9e9, 9e9), + df.select_dtypes("number") + .drop(columns=["holdfast"], errors="ignore") + .clip(-9e9, 9e9), # pandas 1.3 handles int8 dtypes as actual numbers, so holdfast needs to be dropped manually # we're dropping it not adding to the regression check so older pandas will also work. basename=basename, - default_tolerance=dict(atol=1e-6, rtol=5e-2) + default_tolerance=dict(atol=1e-6, rtol=0.1) # set a little loose, as there is sometimes a little variance in these - # results when switching backend implementations. + # results when switching backend implementations. We're checking all + # the parameters and the log likelihood, so modest variance in individual + # parameters, especially those with high std errors, is not problematic. ) -@pytest.mark.parametrize("name,method", [ - ("free_parking", "BHHH"), - ("mandatory_tour_frequency", "SLSQP"), - ("joint_tour_frequency", "SLSQP"), - ("joint_tour_composition", "SLSQP"), - ("joint_tour_participation", "SLSQP"), - ("mandatory_tour_frequency", "BHHH"), - ("atwork_subtour_frequency", "SLSQP"), - ("auto_ownership", "BHHH"), - ("trip_mode_choice", "SLSQP"), -]) +@pytest.mark.parametrize( + "name,method", + [ + ("free_parking", "BHHH"), + ("mandatory_tour_frequency", "SLSQP"), + ("joint_tour_frequency", "SLSQP"), + ("joint_tour_composition", "SLSQP"), + ("joint_tour_participation", "SLSQP"), + ("mandatory_tour_frequency", "BHHH"), + ("atwork_subtour_frequency", "SLSQP"), + ("auto_ownership", "BHHH"), + ("trip_mode_choice", "SLSQP"), + ], +) def test_simple_simulate(est_data, num_regression, dataframe_regression, name, method): from activitysim.estimation.larch import component_model m = component_model(name) m.load_data() - m.doctor(repair_ch_av='-') + m.doctor(repair_ch_av="-") loglike_prior = m.loglike() r = m.maximize_loglike(method=method, options={"maxiter": 1000}) num_regression.check( @@ -80,27 +88,33 @@ def test_simple_simulate(est_data, num_regression, dataframe_regression, name, m _regression_check(dataframe_regression, m.pf) -@pytest.mark.parametrize("name,method", [ - ("workplace_location", "SLSQP"), - ("school_location", "SLSQP"), - ("non_mandatory_tour_destination", "SLSQP"), - ("atwork_subtour_destination", "BHHH"), - ("trip_destination", "SLSQP"), -]) +@pytest.mark.parametrize( + "name,method", + [ + ("workplace_location", "SLSQP"), + ("school_location", "SLSQP"), + ("non_mandatory_tour_destination", "SLSQP"), + ("atwork_subtour_destination", "BHHH"), + ("trip_destination", "SLSQP"), + ], +) def test_location_model(est_data, num_regression, dataframe_regression, name, method): from activitysim.estimation.larch import component_model, update_size_spec m, data = component_model(name, return_data=True) m.load_data() loglike_prior = m.loglike() - r = m.maximize_loglike(method=method, options={'maxiter': 1000}) + r = m.maximize_loglike(method=method, options={"maxiter": 1000}) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename=f"test_loc_{name}_loglike", ) _regression_check(dataframe_regression, m.pf) size_spec = update_size_spec( - m, data, result_dir=None, output_file=None, + m, + data, + result_dir=None, + output_file=None, ) dataframe_regression.check( size_spec, @@ -111,19 +125,22 @@ def test_location_model(est_data, num_regression, dataframe_regression, name, me ) -@pytest.mark.parametrize("name,method", [ - ("non_mandatory_tour_scheduling", "SLSQP"), - ("joint_tour_scheduling", "SLSQP"), - ("atwork_subtour_scheduling", "SLSQP"), - ("mandatory_tour_scheduling_work", "SLSQP"), - ("mandatory_tour_scheduling_school", "SLSQP"), -]) +@pytest.mark.parametrize( + "name,method", + [ + ("non_mandatory_tour_scheduling", "SLSQP"), + ("joint_tour_scheduling", "SLSQP"), + ("atwork_subtour_scheduling", "SLSQP"), + ("mandatory_tour_scheduling_work", "SLSQP"), + ("mandatory_tour_scheduling_school", "SLSQP"), + ], +) def test_scheduling_model(est_data, num_regression, dataframe_regression, name, method): from activitysim.estimation.larch import component_model, update_size_spec m, data = component_model(name, return_data=True) m.load_data() - m.doctor(repair_ch_av='-') + m.doctor(repair_ch_av="-") loglike_prior = m.loglike() r = m.maximize_loglike(method=method) num_regression.check( @@ -161,7 +178,10 @@ def test_workplace_location(est_data, num_regression, dataframe_regression): ) _regression_check(dataframe_regression, m.pf) size_spec = update_size_spec( - m, data, result_dir=None, output_file=None, + m, + data, + result_dir=None, + output_file=None, ) dataframe_regression.check( size_spec, @@ -183,7 +203,10 @@ def test_school_location(est_data, num_regression, dataframe_regression): ) _regression_check(dataframe_regression, m.pf) size_spec = update_size_spec( - m, data, result_dir=None, output_file=None, + m, + data, + result_dir=None, + output_file=None, ) dataframe_regression.check( size_spec, @@ -206,7 +229,9 @@ def test_cdap_model(est_data, num_regression, dataframe_regression): _regression_check(dataframe_regression, m.pf) -def test_nonmand_and_joint_tour_dest_choice(est_data, num_regression, dataframe_regression): +def test_nonmand_and_joint_tour_dest_choice( + est_data, num_regression, dataframe_regression +): from activitysim.estimation.larch import component_model modelname = ("non_mandatory_tour_destination", "joint_tour_destination") @@ -223,8 +248,10 @@ def test_nonmand_and_joint_tour_dest_choice(est_data, num_regression, dataframe_ def test_tour_and_subtour_mode_choice(est_data, num_regression, dataframe_regression): - from activitysim.estimation.larch.mode_choice import tour_mode_choice_model, \ - atwork_subtour_mode_choice_model + from activitysim.estimation.larch.mode_choice import ( + atwork_subtour_mode_choice_model, + tour_mode_choice_model, + ) m = tour_mode_choice_model() s = atwork_subtour_mode_choice_model() diff --git a/activitysim/examples/create_run_all_examples.py b/activitysim/examples/create_run_all_examples.py index 40cec55ca9..aecc2e744b 100644 --- a/activitysim/examples/create_run_all_examples.py +++ b/activitysim/examples/create_run_all_examples.py @@ -6,7 +6,7 @@ runnable_line_signature = " # " # yes, hacky for now examples_file_name = "example_manifest.yaml" -example_file = open(examples_file_name, 'r') +example_file = open(examples_file_name, "r") lines = example_file.readlines() for line in lines: if runnable_line_signature in line: diff --git a/activitysim/examples/example_arc/configs/accessibility.csv b/activitysim/examples/example_arc/configs/accessibility.csv deleted file mode 100644 index 1171554c10..0000000000 --- a/activitysim/examples/example_arc/configs/accessibility.csv +++ /dev/null @@ -1,77 +0,0 @@ -Description,Target,Expression -#,, -#,, auto peak -#,, -#AM - ALL TRANSIT,, -AM OVT (MW[31]),_amOvt,"skim_od[('WLK_ALLTRN_WLK_WALK', 'AM')] + skim_od[('WLK_ALLTRN_WLK_IWAIT','AM')]+ skim_od[('WLK_ALLTRN_WLK_XWAIT', 'AM')]" -AM OVT (Transposed) (MW[32]),_amOvt_T,"skim_do[('WLK_ALLTRN_WLK_WALK', 'AM')] + skim_do[('WLK_ALLTRN_WLK_IWAIT','AM')]+ skim_do[('WLK_ALLTRN_WLK_XWAIT', 'AM')]" -AM IVT (MW[33]),_amIvt,"skim_od[('WLK_ALLTRN_WLK_LOCAL', 'AM')]+skim_od[('WLK_ALLTRN_WLK_XBUS', 'AM')]+skim_od[('WLK_ALLTRN_WLK_BRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_HRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_LRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'AM')]" -AM IVT (Transposed) (MW[34]),_amIvt_T,"skim_do[('WLK_ALLTRN_WLK_LOCAL', 'AM')]+skim_do[('WLK_ALLTRN_WLK_XBUS', 'AM')]+skim_do[('WLK_ALLTRN_WLK_BRT', 'AM')]+skim_do[('WLK_ALLTRN_WLK_HRT', 'AM')]+skim_do[('WLK_ALLTRN_WLK_LRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'AM')]" -#,, -#MD - ALL TRANSIT,, -MD OVT (MW[41]),_mdOvt,"skim_od[('WLK_ALLTRN_WLK_WALK', 'MD')] + skim_od[('WLK_ALLTRN_WLK_IWAIT','MD')]+ skim_od[('WLK_ALLTRN_WLK_XWAIT', 'MD')]" -MD OVT (Transposed) (MW[42]),_mdOvt_T,"skim_do[('WLK_ALLTRN_WLK_WALK', 'MD')] + skim_do[('WLK_ALLTRN_WLK_IWAIT','MD')]+ skim_do[('WLK_ALLTRN_WLK_XWAIT', 'MD')]" -MD IVT (MW[43]),_mdIvt,"skim_od[('WLK_ALLTRN_WLK_LOCAL', 'MD')]+skim_od[('WLK_ALLTRN_WLK_XBUS', 'MD')]+skim_od[('WLK_ALLTRN_WLK_BRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_HRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_LRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'MD')]" -MD IVT (Transposed) (MW[44]),_mdIvt_T,"skim_do[('WLK_ALLTRN_WLK_LOCAL', 'MD')]+skim_do[('WLK_ALLTRN_WLK_XBUS', 'MD')]+skim_do[('WLK_ALLTRN_WLK_BRT', 'MD')]+skim_do[('WLK_ALLTRN_WLK_HRT', 'MD')]+skim_do[('WLK_ALLTRN_WLK_LRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'MD')]" -#,, -#AM - PREMIUM TRANSIT,, -AM OVT (MW[51]),_amOvtPrem,"skim_od[('WLK_PRMTRN_WLK_WALK', 'AM')] + skim_od[('WLK_PRMTRN_WLK_IWAIT','AM')]+ skim_od[('WLK_PRMTRN_WLK_XWAIT', 'AM')]" -AM OVT (Transposed) (MW[52]),_amOvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_WALK', 'AM')] + skim_do[('WLK_PRMTRN_WLK_IWAIT','AM')]+ skim_do[('WLK_PRMTRN_WLK_XWAIT', 'AM')]" -AM IVT (MW[53]),_amIvtPrem,"skim_od[('WLK_PRMTRN_WLK_LOCAL', 'AM')]+skim_od[('WLK_PRMTRN_WLK_XBUS', 'AM')]+skim_od[('WLK_PRMTRN_WLK_BRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_HRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_LRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'AM')]" -AM IVT (Transposed) (MW[54]),_amIvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_LOCAL', 'AM')]+skim_do[('WLK_PRMTRN_WLK_XBUS', 'AM')]+skim_do[('WLK_PRMTRN_WLK_BRT', 'AM')]+skim_do[('WLK_PRMTRN_WLK_HRT', 'AM')]+skim_do[('WLK_PRMTRN_WLK_LRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'AM')]" -#,, -#MD - PREMIUM TRANSIT,, -MD OVT (MW[61]),_mdOvtPrem,"skim_od[('WLK_PRMTRN_WLK_WALK', 'MD')] + skim_od[('WLK_PRMTRN_WLK_IWAIT','MD')]+ skim_od[('WLK_PRMTRN_WLK_XWAIT', 'MD')]" -MD OVT (Transposed) (MW[62]),_mdOvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_WALK', 'MD')] + skim_do[('WLK_PRMTRN_WLK_IWAIT','MD')]+ skim_do[('WLK_PRMTRN_WLK_XWAIT', 'MD')]" -MD IVT (MW[63]),_mdIvtPrem,"skim_od[('WLK_PRMTRN_WLK_LOCAL', 'MD')]+skim_od[('WLK_PRMTRN_WLK_XBUS', 'MD')]+skim_od[('WLK_PRMTRN_WLK_BRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_HRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_LRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'MD')]" -MD IVT (Transposed) (MW[64]),_mdIvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_LOCAL', 'MD')]+skim_do[('WLK_PRMTRN_WLK_XBUS', 'MD')]+skim_do[('WLK_PRMTRN_WLK_BRT', 'MD')]+skim_do[('WLK_PRMTRN_WLK_HRT', 'MD')]+skim_do[('WLK_PRMTRN_WLK_LRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'MD')]" -#,, -# get the destination zone retail employment from dbf file,, -Retail Employment,_retailEmp,df.retail + df.service -Total Employment,_totEmp,df.emp -#,, -#,,auto peak -# assume peak occurs in AM for outbound and PM for inbound,, -peak round trip distance,_auPkTime,"skim_od[('SOV_FREE_TIME', 'AM')] + skim_do[('SOV_FREE_TIME', 'AM')]" -decay function,_decay,exp(_auPkTime * dispersion_parameter_automobile) -auto peak retail,auPkRetail,_retailEmp * _decay -auto peak total,auPkTotal,_totEmp * _decay -#,, -#,, auto off-peak -#,, -#,, assume midday occurs entirely in the midday period -off-peak round trip distance,_auOpTime,"skim_od[('SOV_FREE_TIME', 'MD')] + skim_do[('SOV_FREE_TIME', 'MD')]" -decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) -auto off-peak retail,auOpRetail,_retailEmp * _decay -auto off-peak total,auOpTotal,_totEmp * _decay -#,, -#,, -#,, -# am peak transit,, -local travel time,_ltt,2 * (_amOvt+_amOvt_T) + (_amIvt+_amIvt_T) -premium travel time,_ptt,2 * (_amOvtPrem+_amOvtPrem_T) + (_amIvtPrem+_amIvtPrem_T) -local travel time 2,_ltt2,_amOvt + _amOvt_T + _amIvt + _amIvt_T -premium travel time 2,_ptt2,_amOvtPrem + _amOvtPrem_T + _amIvtPrem + _amIvtPrem_T -#,, -Transit Decay ,_tr_decay,"np.where((_ltt > 0), np.where((_ltt < _ptt), exp(_ltt2 * dispersion_parameter_transit), 0), np.where((_ptt > 0), exp(_ptt2 * dispersion_parameter_transit), 0))" -transit peak retail,trPkRetail,_retailEmp * _tr_decay -transit peak total,trPkTotal,_totEmp * _tr_decay -#,, -#,, -# midday transit,, -local travel time off-peak,_lttop,2 * (_mdOvt+_mdOvt_T) + (_mdIvt+_mdIvt_T) -premium travel time off-peak,_pttop,2 * (_mdOvtPrem+_mdOvtPrem_T) + (_mdIvtPrem+_mdIvtPrem_T) -local travel time off-peak 2,_ltt2op,_mdOvt + _mdOvt_T + _mdIvt + _mdIvt_T -premium travel time off-peak 2,_ptt2op,_mdOvtPrem + _mdOvtPrem_T + _mdIvtPrem + _mdIvtPrem_T -#,, -Transit Decay ,_tr_op_decay,"np.where((_lttop > 0), np.where((_lttop < _pttop), exp(_ltt2op * dispersion_parameter_transit), 0), np.where((_pttop > 0), exp(_ptt2op * dispersion_parameter_transit), 0))" -transit off-peak retail,trOpRetail,_retailEmp * _tr_op_decay -transit off-peak total,trOpTotal,_totEmp * _tr_op_decay -#,, -#,, -# walk,, -non-motorized round trip distance,_nmDist,"skim_od[('SOV_FREE_DISTANCE', 'MD')] + skim_do[('SOV_FREE_DISTANCE', 'MD')]" -round trip path is available,_rt_available,_nmDist <= (maximum_walk_distance * 2) -decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) -non-motorized retail accessibility,nmRetail,_retailEmp * _decay -non-motorized total accessibility,nmTotal,_totEmp * _decay diff --git a/activitysim/examples/example_arc/configs/school_location_sample.csv b/activitysim/examples/example_arc/configs/school_location_sample.csv deleted file mode 100644 index 8527304458..0000000000 --- a/activitysim/examples/example_arc/configs/school_location_sample.csv +++ /dev/null @@ -1,4 +0,0 @@ -Description,Expression,univ,k12_predrive,k12_drive -Distance,"@skims[('SOV_FREE_DISTANCE', 'MD')]",-0.2,-0.2,-0.2 -Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999 diff --git a/activitysim/examples/example_arc/configs/settings.yaml b/activitysim/examples/example_arc/configs/settings.yaml deleted file mode 100644 index 50baa7fb14..0000000000 --- a/activitysim/examples/example_arc/configs/settings.yaml +++ /dev/null @@ -1,210 +0,0 @@ -# input tables -input_table_list: - - tablename: households - filename: households.csv - # The index column is set before keep_columns, - # so don't put index in keep columns - index_col: household_id - rename_columns: - maz: home_zone_id - np: hhsize - nwrkrs_esr: num_workers - keep_columns: - #- household_id - - home_zone_id - - hhsize - - num_workers - - hincp - #- hhincAdj - #- adjinc - #- veh - - hht - #- bld - #- type - - tablename: persons - filename: persons.csv - # The index column is set before keep_columns, - # so don't put index in keep columns - index_col: person_id - rename_columns: - maz: home_zone_id - sporder: PNUM - keep_columns: - #- person_id - - household_id - - home_zone_id - - PNUM - - agep - #- employed - - pecasOcc - - sex - - esr - - wkw - - wkhp - #-mil - - schg - #-schl - #-indp02 - #-indp07 - #-occp02 - #-occp10 - #-n - - tablename: land_use - filename: land_use.csv - # The index column is set before keep_columns, - # so don't put index in keep columns - index_col: zone_id -# rename_columns: -# - keep_columns: - #- TAZ -# - construc -# - manufac -# - TCU -# - wholesl - - retail -# - FIRE - - service -# - private -# - govt - - emp - - pop - - hshld - - univ - - acres -# - otherEmp -# - district - - PARKTOT - - PARKLNG - - PROPFREE - - PARKRATE - - areatype -# - county - - CBDFlag - - N11 - - N21 - - N22 - - N23 - - N313233 - - N42 - - N4445 - - N4849 - - N51 - - N52 - - N53 - - N54 - - N55 - - N56 - - N61 - - N62 - - N71 - - N72 - - N81 - - N92 - - EnrollDS - - EnrollPD - - I_PCTLT10K - - I_PCT10TO20 - - I_PCT20TO40 - - I_PCTGT40 - - RetailEmp30 - - PARKING_ZONE - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# use_shadow_pricing: True - -# chunk_size: - -# assume enough RAM to not chunk -chunk_training_mode: disabled - -models: - - initialize_landuse - - initialize_households - - compute_accessibility - - school_location - - workplace_location - - auto_ownership_simulate - - free_parking - - cdap_simulate - - mandatory_tour_frequency - - mandatory_tour_scheduling - - joint_tour_frequency - - joint_tour_composition - - joint_tour_participation - - joint_tour_destination - - joint_tour_scheduling - - non_mandatory_tour_frequency - - non_mandatory_tour_destination - - non_mandatory_tour_scheduling - - tour_mode_choice_simulate - - atwork_subtour_frequency - - atwork_subtour_destination - - atwork_subtour_scheduling - - atwork_subtour_mode_choice - - stop_frequency - - trip_purpose - - trip_destination - - trip_purpose_and_destination - - trip_scheduling_choice - - trip_departure_choice - - trip_mode_choice - - parking_location - - write_data_dictionary - - track_skim_usage - - write_trip_matrices - - write_tables - -# resume_after: - -multiprocess: False -fail_fast: True - -multiprocess_steps: - - name: mp_initialize_landuse - begin: initialize_landuse - - name: mp_accessibility - begin: compute_accessibility - num_processes: 5 - slice: - tables: - - accessibility - # don't slice any tables not explicitly listed above in slice.tables - except: True - - name: mp_households - begin: school_location - num_processes: 5 - slice: - tables: - - households - - persons - - name: mp_summarize - begin: write_tables - - -output_tables: - h5_store: False - action: include - prefix: final_ - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - trips - - joint_tour_participants - -#trace_od: [100,10] -trace_hh_id: 88 -# trace_hh_id: 2 -#trace_hh_id: 1643904 - -min_value_of_time: 1 -max_value_of_time: 50 -distributed_vot_mu: 0.684 -distributed_vot_sigma: 0.85 diff --git a/activitysim/examples/example_arc/configs/settings_mp.yaml b/activitysim/examples/example_arc/configs/settings_mp.yaml deleted file mode 100644 index f5e658a103..0000000000 --- a/activitysim/examples/example_arc/configs/settings_mp.yaml +++ /dev/null @@ -1,228 +0,0 @@ -# input tables -input_table_list: - - tablename: households - filename: households.csv - # The index column is set before keep_columns, - # so don't put index in keep columns - index_col: household_id - rename_columns: - maz: zone_id - np: hhsize - nwrkrs_esr: num_workers - keep_columns: - #- household_id - - zone_id - - hhsize - - num_workers - - hincp - #- hhincAdj - #- adjinc - #- veh - - hht - #- bld - #- type - - tablename: persons - filename: persons.csv - # The index column is set before keep_columns, - # so don't put index in keep columns - index_col: person_id - rename_columns: - maz: zone_id - sporder: PNUM - keep_columns: - #- person_id - - household_id - - zone_id - - PNUM - - agep - #- employed - - pecasOcc - - sex - - esr - - wkw - - wkhp - #-mil - - schg - #-schl - #-indp02 - #-indp07 - #-occp02 - #-occp10 - #-n - - tablename: land_use - filename: land_use.csv - # The index column is set before keep_columns, - # so don't put index in keep columns - index_col: zone_id -# rename_columns: -# - keep_columns: - #- TAZ -# - construc -# - manufac -# - TCU -# - wholesl - - retail -# - FIRE - - service -# - private -# - govt - - emp - - pop - - hshld - - univ - - acres -# - otherEmp -# - district - - PARKTOT - - PARKLNG - - PROPFREE - - PARKRATE - - areatype -# - county - - CBDFlag - - N11 - - N21 - - N22 - - N23 - - N313233 - - N42 - - N4445 - - N4849 - - N51 - - N52 - - N53 - - N54 - - N55 - - N56 - - N61 - - N62 - - N71 - - N72 - - N81 - - N92 - - EnrollDS - - EnrollPD - - I_PCTLT10K - - I_PCT10TO20 - - I_PCT20TO40 - - I_PCTGT40 - - RetailEmp30 - -#input data store and skims -#input_store: arc_asim.h5 -skims_file: skims.omx - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -use_shadow_pricing: True - -#trace_od: [100,10] -# 309462, 390302 -trace_hh_id: 333650 -#trace_hh_id: 2 -#trace_hh_id: 1643904 - -chunk_size: 0 -num_processes: 40 - -models: - - initialize_landuse - - initialize_households - - compute_accessibility - - school_location - - workplace_location - - auto_ownership_simulate - - free_parking - - cdap_simulate - - mandatory_tour_frequency - - mandatory_tour_scheduling - - joint_tour_frequency - - joint_tour_composition - - joint_tour_participation - - joint_tour_destination - - joint_tour_scheduling - - non_mandatory_tour_frequency - - non_mandatory_tour_destination - - non_mandatory_tour_scheduling - - tour_mode_choice_simulate - - atwork_subtour_frequency - - atwork_subtour_destination - - atwork_subtour_scheduling - - atwork_subtour_mode_choice - - stop_frequency - - trip_purpose - - trip_destination - - trip_purpose_and_destination - - trip_scheduling_choice - - trip_departure_choice - - trip_mode_choice - - parking_location -# - write_data_dictionary -# - track_skim_usage -# - write_trip_matrices - - write_tables - -#resume_after: trip_mode_choice - -multiprocess: True -fail_fast: True - -multiprocess_steps: - - name: mp_initialize_landuse - begin: initialize_landuse - - name: mp_accessibility - begin: compute_accessibility - slice: - tables: - - accessibility - # don't slice any tables not explicitly listed above in slice.tables - except: True - - name: mp_households - begin: school_location - slice: - tables: - - households - - persons - - name: mp_summarize - begin: write_tables - -output_tables: - h5_store: False - action: include - prefix: final_ - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - trips - - joint_tour_participants - - -skim_time_periods: - period_minutes: 30 - periods: - - 0 - - 6 - - 12 - - 20 - - 30 - - 38 - - 48 - labels: - - EV - - EA - - AM - - MD - - PM - - EV - -min_value_of_time: 1 -max_value_of_time: 50 -distributed_vot_mu: 0.684 -distributed_vot_sigma: 0.85 diff --git a/activitysim/examples/example_arc/scripts/arc_crop.py b/activitysim/examples/example_arc/scripts/arc_crop.py deleted file mode 100644 index 25bda2edcc..0000000000 --- a/activitysim/examples/example_arc/scripts/arc_crop.py +++ /dev/null @@ -1,164 +0,0 @@ -import os -import pandas as pd -import openmatrix as omx -import numpy as np - -import argparse - -MAZ_OFFSET = 0 - -segments = { - 'test': (100, 135), # arbitrary but has univ - 'fulton': (0, 1296), - 'full': (0, 5922), -} - -parser = argparse.ArgumentParser(description='crop PSRC raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file') - -args = parser.parse_args() - - -segment_name = args.segment_name[0] -check_geography = args.check_geography - -assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" -zone_min, zone_max = segments[segment_name] - -input_dir = './data_raw' -output_dir = f'./data_{segment_name}' - - -print(f"check_geography {check_geography}") - -if not os.path.isdir(output_dir): - print(f"creating output directory {output_dir}") - os.mkdir(output_dir) - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def integerize_id_columns(df, table_name): - columns = ['MAZ', 'OMAZ', 'DMAZ', 'TAZ', 'zone_id', 'household_id', 'HHID', 'maz', 'taz'] - for c in df.columns: - if c in columns: - print(f"converting {table_name}.{c} to int") - if df[c].isnull().any(): - print(df[c][df[c].isnull()]) - df[c] = df[c].astype(int) - - -def read_csv(file_name, integerize=True): - df = pd.read_csv(input_path(file_name)) - - print(f"read {file_name} {df.shape}") - - return df - - -def to_csv(df, file_name): - print(f"writing {file_name} {df.shape} {output_path(file_name)}") - df.to_csv(output_path(file_name), index=False) - - -if check_geography: - - # ######## check for orphan_households not in any maz in land_use - land_use = read_csv("land_use.csv") - - households = read_csv("households.csv") - orphan_households = households[~households.maz.isin(land_use.zone_id)] - print(f"{len(orphan_households)} orphan_households") - - # write orphan_households to INPUT directory (since it doesn't belong in output) - file_name = "orphan_households.csv" - print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") - orphan_households.to_csv(input_path(file_name), index=False) - - -# -# land_use -# -land_use = read_csv("land_use.csv") -land_use = land_use[(land_use["zone_id"] >= zone_min) & (land_use["zone_id"] <= zone_max)] -integerize_id_columns(land_use, 'land_use') -land_use = land_use.sort_values('zone_id') - -# move index col to front -land_use.insert(0, "zone_id", land_use.pop("zone_id")) - -to_csv(land_use, "land_use.csv") - -# -# households -# -households = read_csv("households.csv") -households = households[households["maz"].isin(land_use.zone_id)] -integerize_id_columns(households, 'households') - -to_csv(households, "households.csv") - -# -# persons -# -persons = read_csv("persons.csv") -persons = persons[persons["household_id"].isin(households.household_id)] -integerize_id_columns(persons, 'persons') - -to_csv(persons, "persons.csv") - -# -# skims -# -omx_infile_name = 'skims.omx' -skim_data_type = np.float32 - -omx_in = omx.open_file(input_path(omx_infile_name)) -print(f"omx_in shape {omx_in.shape()}") - - -assert not omx_in.listMappings() -zone = land_use.sort_values('zone_id')[['zone_id']] -zone.index = zone.zone_id - 1 -zone_indexes = zone.index.tolist() # index of TAZ in skim (zero-based, no mapping) -zone_labels = zone.zone_id.tolist() # TAZ zone_ids in omx index order - - -# create -num_outfiles = 4 if segment_name == 'full' else 1 -if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"skims.omx"), 'w')] -else: - omx_out = [omx.open_file(output_path(f"skims{i+1}.omx"), 'w') for i in range(num_outfiles)] - -for omx_file in omx_out: - omx_file.create_mapping('ZONE', zone_labels) - -iskim = 0 -for mat_name in omx_in.list_matrices(): - - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) - m = m[zone_indexes, :][:, zone_indexes] - print(f"{mat_name} {m.shape}") - - omx_file = omx_out[iskim % num_outfiles] - omx_file[mat_name] = m - iskim += 1 - - -omx_in.close() -for omx_file in omx_out: - omx_file.close() diff --git a/activitysim/examples/example_arc/simulation.py b/activitysim/examples/example_arc/simulation.py deleted file mode 100644 index 93b430001a..0000000000 --- a/activitysim/examples/example_arc/simulation.py +++ /dev/null @@ -1,18 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_arc/test/simulation.py b/activitysim/examples/example_arc/test/simulation.py deleted file mode 100755 index ec6a1181b1..0000000000 --- a/activitysim/examples/example_arc/test/simulation.py +++ /dev/null @@ -1,15 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_arc/test/test_arc.py b/activitysim/examples/example_arc/test/test_arc.py deleted file mode 100644 index e747f632a1..0000000000 --- a/activitysim/examples/example_arc/test/test_arc.py +++ /dev/null @@ -1,48 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def test_arc(): - - def example_path(dirname): - resource = os.path.join('examples', 'example_arc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_trips.csv')) - final_trips_df = pd.read_csv(test_path('output/final_trips.csv')) - - # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, - # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum - # compare_cols = [] - pdt.assert_frame_equal(final_trips_df, regress_trips_df) - - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - subprocess.run(['coverage', 'run', '-a', file_path, - '-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), - '-o', test_path('output')], check=True) - - regress() - - -if __name__ == '__main__': - - test_arc() diff --git a/activitysim/examples/example_estimation/build_example_data/build_stop_coeffs.py b/activitysim/examples/example_estimation/build_example_data/build_stop_coeffs.py index 9594958648..69a3f38fbc 100644 --- a/activitysim/examples/example_estimation/build_example_data/build_stop_coeffs.py +++ b/activitysim/examples/example_estimation/build_example_data/build_stop_coeffs.py @@ -1,58 +1,72 @@ - # python ~/work/activitysim/activitysim/examples/example_estimation/build_example_data/build_stop_coeffs.py -import pandas as pd import numpy as np - +import pandas as pd FIRST_RUN = True # work, school, univ, social, shopping, eatout, escort,atwork,othmaint,othdiscr -for what in ['work', 'school', 'univ', 'social', 'shopping', 'eatout', 'escort', 'atwork', 'othmaint', 'othdiscr']: +for what in [ + "work", + "school", + "univ", + "social", + "shopping", + "eatout", + "escort", + "atwork", + "othmaint", + "othdiscr", +]: if FIRST_RUN: - df = pd.read_csv(f'stop_frequency_{what}.csv', comment='#') - df.to_csv(f'stop_frequency_backup_{what}.csv', index=False) + df = pd.read_csv(f"stop_frequency_{what}.csv", comment="#") + df.to_csv(f"stop_frequency_backup_{what}.csv", index=False) else: - df = pd.read_csv(f'stop_frequency_backup_{what}.csv', comment='#') + df = pd.read_csv(f"stop_frequency_backup_{what}.csv", comment="#") - del df['Expression'] + del df["Expression"] - df = df.set_index('Description').unstack() + df = df.set_index("Description").unstack() # drop empty coefficients df = df[~df.isnull()] # want index as columns - df = df.reset_index().rename(columns={'level_0': 'alt', 0: 'value'}) + df = df.reset_index().rename(columns={"level_0": "alt", 0: "value"}) # drop duplicate coefficients on same spec row - df = df[~df[['Description', 'value']].duplicated(keep='first')] + df = df[~df[["Description", "value"]].duplicated(keep="first")] - dupes = df[['Description']].duplicated(keep=False) - df['coefficient_name'] = \ - np.where(dupes, 'coef_' + df.Description + '_' + df['alt'], 'coef_' + df.Description) - df['coefficient_name'] = df['coefficient_name'].str.lower() - df['coefficient_name'] = df['coefficient_name'].str.replace('[^a-zZ-Z0-9]+', '_', regex=True) - del df['alt'] + dupes = df[["Description"]].duplicated(keep=False) + df["coefficient_name"] = np.where( + dupes, "coef_" + df.Description + "_" + df["alt"], "coef_" + df.Description + ) + df["coefficient_name"] = df["coefficient_name"].str.lower() + df["coefficient_name"] = df["coefficient_name"].str.replace( + "[^a-zZ-Z0-9]+", "_", regex=True + ) + del df["alt"] - df.to_csv(f'stop_frequency_coefficients_{what}.csv', index=False) + df.to_csv(f"stop_frequency_coefficients_{what}.csv", index=False) - spec = pd.read_csv(f'stop_frequency_backup_{what}.csv', comment='#') + spec = pd.read_csv(f"stop_frequency_backup_{what}.csv", comment="#") alt_cols = spec.columns[2:].values for index, row in df.iterrows(): - m = {row['value']: row['coefficient_name']} - alts = spec.loc[spec.Description == row['Description'], alt_cols].values[0] + m = {row["value"]: row["coefficient_name"]} + alts = spec.loc[spec.Description == row["Description"], alt_cols].values[0] alts = [m.get(a, a) for a in alts] - spec.loc[spec.Description == row['Description'], alt_cols] = [m.get(a, a) for a in alts] + spec.loc[spec.Description == row["Description"], alt_cols] = [ + m.get(a, a) for a in alts + ] - spec.insert(loc=0, column='Label', value='util_' + spec.Description) + spec.insert(loc=0, column="Label", value="util_" + spec.Description) - spec['Label'] = spec['Label'].str.lower() - spec['Label'] = spec['Label'].str.replace('[^a-zZ-Z0-9]+', '_', regex=True) + spec["Label"] = spec["Label"].str.lower() + spec["Label"] = spec["Label"].str.replace("[^a-zZ-Z0-9]+", "_", regex=True) - df.to_csv(f'stop_frequency_coefficients_{what}.csv', index=False) - spec.to_csv(f'stop_frequency_{what}.csv', index=False) + df.to_csv(f"stop_frequency_coefficients_{what}.csv", index=False) + spec.to_csv(f"stop_frequency_{what}.csv", index=False) diff --git a/activitysim/examples/example_estimation/build_example_data/build_test.txt b/activitysim/examples/example_estimation/build_example_data/build_test.txt index ed83e09337..6a45cbe1b1 100644 --- a/activitysim/examples/example_estimation/build_example_data/build_test.txt +++ b/activitysim/examples/example_estimation/build_example_data/build_test.txt @@ -4,24 +4,19 @@ MTC_SF_DATA_DIR=/Users/jeff.doyle/work/activitysim-data/mtc_tm1_sf/data MTC_FULL_DATA_DIR=/Users/jeff.doyle/work/activitysim-data/mtc_tm1/data EXAMPLES_DIR=$ACTIVITYSIM_BASE_DIR/activitysim/examples -MTC_EXAMPLE_DIR=$EXAMPLES_DIR/example_mtc +MTC_EXAMPLE_DIR=$EXAMPLES_DIR/prototype_mtc ESTIMATION_DIR=$EXAMPLES_DIR/example_estimation BUILD_DIR=$ESTIMATION_DIR/build_example_data -# build example using example_mtc test data set (25 zones) +# build example using prototype_mtc test data set (25 zones) # TAG=test # BUILD_DATA=$MTC_EXAMPLE_DIR/data -# build example using example_mtc sf data set (190 zones) +# build example using prototype_mtc_sf data set (190 zones) # data not in activitysim repo/distro TAG=sf BUILD_DATA=$MTC_SF_DATA_DIR -# build example using example_mtc sf data set (190 zones) -# data not in activitysim repo/distro -# TAG=full -# BUILD_DATA=$MTC_FULL_DATA_DIR - # output dirs for run to create fake survey data BUILD_OUTPUT=$BUILD_DIR/output_build_$TAG @@ -77,7 +72,7 @@ cp $BUILD_OUTPUT/trace/school_location*university*.csv $BUILD_DIR/scratch/$TAG/b cp $BUILD_OUTPUT/log/activitysim.log $BUILD_DIR/scratch/$TAG/build TAG=sf -python simulation.py -c override_configs -c configs -c ../example_mtc/configs -d data_$TAG -o output_$TAG +python simulation.py -c override_configs -c configs -c ../prototype_mtc/configs -d data_$TAG -o output_$TAG EST_OUTPUT=output_$TAG diff --git a/activitysim/examples/example_estimation/build_example_data/mode_choice_wrangle.py b/activitysim/examples/example_estimation/build_example_data/mode_choice_wrangle.py index 58e33b6d93..8cfe399940 100644 --- a/activitysim/examples/example_estimation/build_example_data/mode_choice_wrangle.py +++ b/activitysim/examples/example_estimation/build_example_data/mode_choice_wrangle.py @@ -1,34 +1,38 @@ -import pandas as pd import numpy as np +import pandas as pd -df = pd.read_csv(f'trip_mode_coefficients_p.csv', comment='#') +df = pd.read_csv(f"trip_mode_coefficients_p.csv", comment="#") -alts = list(df.drop(columns='Expression').columns.values.astype(str)) -alts_str = '_'.join(alts) +alts = list(df.drop(columns="Expression").columns.values.astype(str)) +alts_str = "_".join(alts) -df = df.set_index('Expression').unstack() +df = df.set_index("Expression").unstack() -df = df.reset_index().rename(columns={'level_0': 'alts', 0: 'value'}) +df = df.reset_index().rename(columns={"level_0": "alts", 0: "value"}) -df = df.groupby(['Expression', 'value']).agg(lambda col: '_'.join(col)).reset_index() +df = df.groupby(["Expression", "value"]).agg(lambda col: "_".join(col)).reset_index() -df['coefficient_name'] = 'coef_' + np.where(df.alts == alts_str, df['Expression'], df['Expression'] + '_' + df.alts) +df["coefficient_name"] = "coef_" + np.where( + df.alts == alts_str, df["Expression"], df["Expression"] + "_" + df.alts +) coefficients_df = df -df = pd.read_csv(f'trip_mode_coefficients_p.csv', comment='#') +df = pd.read_csv(f"trip_mode_coefficients_p.csv", comment="#") for alt in alts: - alt_df = pd.merge(df[['Expression', alt]].rename(columns={alt: 'value'}), - coefficients_df[['Expression', 'value', 'coefficient_name']], - left_on=['Expression', 'value'], - right_on=['Expression', 'value'], - how='left') - df[alt] = alt_df['coefficient_name'] + alt_df = pd.merge( + df[["Expression", alt]].rename(columns={alt: "value"}), + coefficients_df[["Expression", "value", "coefficient_name"]], + left_on=["Expression", "value"], + right_on=["Expression", "value"], + how="left", + ) + df[alt] = alt_df["coefficient_name"] -coefficients_df = coefficients_df[['coefficient_name', 'value']] -coefficients_df.to_csv(f'trip_mode_choice_coefficients.csv', index=False) +coefficients_df = coefficients_df[["coefficient_name", "value"]] +coefficients_df.to_csv(f"trip_mode_choice_coefficients.csv", index=False) -df.to_csv(f'trip_mode_choice_coefficients_template.csv', index=False) +df.to_csv(f"trip_mode_choice_coefficients_template.csv", index=False) diff --git a/activitysim/examples/example_estimation/configs/estimation.yaml b/activitysim/examples/example_estimation/configs/estimation.yaml index 90bd53be5e..7e8112c0f0 100644 --- a/activitysim/examples/example_estimation/configs/estimation.yaml +++ b/activitysim/examples/example_estimation/configs/estimation.yaml @@ -5,6 +5,7 @@ bundles: - school_location - workplace_location - auto_ownership + - vehicle_type_choice - free_parking - cdap - mandatory_tour_frequency @@ -100,6 +101,7 @@ model_estimation_table_types: school_location: interaction_sample_simulate workplace_location: interaction_sample_simulate auto_ownership: simple_simulate + vehicle_type_choice: interaction_simulate free_parking: simple_simulate cdap: cdap_simulate mandatory_tour_frequency: simple_simulate diff --git a/activitysim/examples/example_estimation/configs/settings.yaml b/activitysim/examples/example_estimation/configs/settings.yaml index dbabd589c5..9e9dd4eefe 100644 --- a/activitysim/examples/example_estimation/configs/settings.yaml +++ b/activitysim/examples/example_estimation/configs/settings.yaml @@ -135,4 +135,3 @@ models: # - track_skim_usage # - write_trip_matrices - write_tables - diff --git a/activitysim/examples/example_estimation/scripts/extract_survey_data.py b/activitysim/examples/example_estimation/scripts/extract_survey_data.py index e82505e052..c4bc4a770f 100644 --- a/activitysim/examples/example_estimation/scripts/extract_survey_data.py +++ b/activitysim/examples/example_estimation/scripts/extract_survey_data.py @@ -1,9 +1,9 @@ # ActivitySim # See full license in LICENSE.txt. -import sys -import os import logging +import os +import sys import numpy as np import pandas as pd @@ -13,24 +13,24 @@ # create console handler with a higher log level ch = logging.StreamHandler() -ch.setFormatter(logging.Formatter('%(levelname)s - %(message)s')) +ch.setFormatter(logging.Formatter("%(levelname)s - %(message)s")) logger.addHandler(ch) inputs = { - 'households': 'final_households.csv', - 'persons': 'final_persons.csv', - 'tours': 'final_tours.csv', - 'joint_tour_participants': 'final_joint_tour_participants.csv', - 'trips': 'final_trips.csv', + "households": "final_households.csv", + "persons": "final_persons.csv", + "tours": "final_tours.csv", + "joint_tour_participants": "final_joint_tour_participants.csv", + "trips": "final_trips.csv", } surveys = { - 'households': 'survey_households.csv', - 'persons': 'survey_persons.csv', - 'tours': 'survey_tours.csv', - 'joint_tour_participants': 'survey_joint_tour_participants.csv', - 'trips': 'survey_trips.csv', + "households": "survey_households.csv", + "persons": "survey_persons.csv", + "tours": "survey_tours.csv", + "joint_tour_participants": "survey_joint_tour_participants.csv", + "trips": "survey_trips.csv", } @@ -39,30 +39,62 @@ data_dir = args[0] -input_dir = os.path.join(data_dir, 'survey_data/') -output_dir = os.path.join(data_dir, 'survey_data/') +input_dir = os.path.join(data_dir, "survey_data/") +output_dir = os.path.join(data_dir, "survey_data/") -configs_dir = os.path.dirname('../example/configs/') +configs_dir = os.path.dirname("../example/configs/") -households = pd.read_csv(os.path.join(input_dir, inputs['households'])) -persons = pd.read_csv(os.path.join(input_dir, inputs['persons'])) -tours = pd.read_csv(os.path.join(input_dir, inputs['tours'])) -joint_tour_participants = pd.read_csv(os.path.join(input_dir, inputs['joint_tour_participants'])) -trips = pd.read_csv(os.path.join(input_dir, inputs['trips'])) +households = pd.read_csv(os.path.join(input_dir, inputs["households"])) +persons = pd.read_csv(os.path.join(input_dir, inputs["persons"])) +tours = pd.read_csv(os.path.join(input_dir, inputs["tours"])) +joint_tour_participants = pd.read_csv( + os.path.join(input_dir, inputs["joint_tour_participants"]) +) +trips = pd.read_csv(os.path.join(input_dir, inputs["trips"])) households = households[ - ['household_id', 'home_zone_id', 'income', 'hhsize', 'HHT', 'auto_ownership', 'num_workers'] + [ + "household_id", + "home_zone_id", + "income", + "hhsize", + "HHT", + "auto_ownership", + "num_workers", + ] ] persons = persons[ - ['person_id', 'household_id', 'age', 'PNUM', 'sex', - 'pemploy', 'pstudent', 'ptype', 'school_zone_id', 'workplace_zone_id', 'free_parking_at_work'] + [ + "person_id", + "household_id", + "age", + "PNUM", + "sex", + "pemploy", + "pstudent", + "ptype", + "school_zone_id", + "workplace_zone_id", + "free_parking_at_work", + ] ] tours = tours[ - ['tour_id', 'person_id', 'household_id', 'tour_type', 'tour_category', - 'destination', 'origin', 'start', 'end', 'tour_mode', 'parent_tour_id'] + [ + "tour_id", + "person_id", + "household_id", + "tour_type", + "tour_category", + "destination", + "origin", + "start", + "end", + "tour_mode", + "parent_tour_id", + ] ] joint_tour_participants = joint_tour_participants[ - ['participant_id', 'tour_id', 'household_id', 'person_id', 'participant_num'] + ["participant_id", "tour_id", "household_id", "person_id", "participant_num"] ] OPTIONAL_TRIP_COLUMNS = [] @@ -70,12 +102,25 @@ # OPTIONAL_TRIP_COLUMNS = ['trip_num'] trips = trips[ - ['trip_id', 'person_id', 'household_id', 'tour_id', 'outbound', 'purpose', - 'destination', 'origin', 'depart', 'trip_mode'] + OPTIONAL_TRIP_COLUMNS + [ + "trip_id", + "person_id", + "household_id", + "tour_id", + "outbound", + "purpose", + "destination", + "origin", + "depart", + "trip_mode", + ] + + OPTIONAL_TRIP_COLUMNS ] -households.to_csv(os.path.join(output_dir, surveys['households']), index=False) -persons.to_csv(os.path.join(output_dir, surveys['persons']), index=False) -tours.to_csv(os.path.join(output_dir, surveys['tours']), index=False) -joint_tour_participants.to_csv(os.path.join(output_dir, surveys['joint_tour_participants']), index=False) -trips.to_csv(os.path.join(output_dir, surveys['trips']), index=False) +households.to_csv(os.path.join(output_dir, surveys["households"]), index=False) +persons.to_csv(os.path.join(output_dir, surveys["persons"]), index=False) +tours.to_csv(os.path.join(output_dir, surveys["tours"]), index=False) +joint_tour_participants.to_csv( + os.path.join(output_dir, surveys["joint_tour_participants"]), index=False +) +trips.to_csv(os.path.join(output_dir, surveys["trips"]), index=False) diff --git a/activitysim/examples/example_estimation/scripts/infer.py b/activitysim/examples/example_estimation/scripts/infer.py index 9bbf4ab275..f60b94900f 100644 --- a/activitysim/examples/example_estimation/scripts/infer.py +++ b/activitysim/examples/example_estimation/scripts/infer.py @@ -1,85 +1,60 @@ # ActivitySim # See full license in LICENSE.txt. -import sys -import os import logging -import yaml +import os +import sys import numpy as np import pandas as pd +import yaml +from activitysim.abm.models.util import canonical_ids as cid from activitysim.abm.models.util import tour_frequency as tf from activitysim.core.util import reindex -from activitysim.abm.models.util import canonical_ids as cid - logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) # create console handler with a higher log level ch = logging.StreamHandler() -ch.setFormatter(logging.Formatter('%(levelname)s - %(message)s')) +ch.setFormatter(logging.Formatter("%(levelname)s - %(message)s")) logger.addHandler(ch) CONSTANTS = {} -SURVEY_TOUR_ID = 'survey_tour_id' -SURVEY_PARENT_TOUR_ID = 'survey_parent_tour_id' -SURVEY_PARTICIPANT_ID = 'survey_participant_id' -SURVEY_TRIP_ID = 'survey_trip_id' -ASIM_TOUR_ID = 'tour_id' -ASIM_PARENT_TOUR_ID = 'parent_tour_id' -ASIM_TRIP_ID = 'trip_id' +SURVEY_TOUR_ID = "survey_tour_id" +SURVEY_PARENT_TOUR_ID = "survey_parent_tour_id" +SURVEY_PARTICIPANT_ID = "survey_participant_id" +SURVEY_TRIP_ID = "survey_trip_id" +ASIM_TOUR_ID = "tour_id" +ASIM_PARENT_TOUR_ID = "parent_tour_id" +ASIM_TRIP_ID = "trip_id" -ASIM_PARTICIPANT_ID = 'participant_id' +ASIM_PARTICIPANT_ID = "participant_id" survey_tables = { - 'households': { - 'file_name': 'survey_households.csv', - 'index': 'household_id' - }, - 'persons': { - 'file_name': 'survey_persons.csv', - 'index': 'person_id' - }, - 'tours': { - 'file_name': 'survey_tours.csv' - }, - 'joint_tour_participants': { - 'file_name': 'survey_joint_tour_participants.csv' - }, - 'trips': { - 'file_name': 'survey_trips.csv' - }, + "households": {"file_name": "survey_households.csv", "index": "household_id"}, + "persons": {"file_name": "survey_persons.csv", "index": "person_id"}, + "tours": {"file_name": "survey_tours.csv"}, + "joint_tour_participants": {"file_name": "survey_joint_tour_participants.csv"}, + "trips": {"file_name": "survey_trips.csv"}, } outputs = { - 'households': 'override_households.csv', - 'persons': 'override_persons.csv', - 'tours': 'override_tours.csv', - 'joint_tour_participants': 'override_joint_tour_participants.csv', - 'trips': 'override_trips.csv', + "households": "override_households.csv", + "persons": "override_persons.csv", + "tours": "override_tours.csv", + "joint_tour_participants": "override_joint_tour_participants.csv", + "trips": "override_trips.csv", } control_tables = { - 'households': { - 'file_name': 'final_households.csv', - 'index': 'household_id' - }, - 'persons': { - 'file_name': 'final_persons.csv', - 'index': 'person_id' - }, - 'tours': { - 'file_name': 'final_tours.csv' - }, - 'joint_tour_participants': { - 'file_name': 'final_joint_tour_participants.csv' - }, - 'trips': { - 'file_name': 'final_trips.csv' - }, + "households": {"file_name": "final_households.csv", "index": "household_id"}, + "persons": {"file_name": "final_persons.csv", "index": "person_id"}, + "tours": {"file_name": "final_tours.csv"}, + "joint_tour_participants": {"file_name": "final_joint_tour_participants.csv"}, + "trips": {"file_name": "final_trips.csv"}, } apply_controls = True skip_controls = not apply_controls @@ -95,83 +70,118 @@ def unmangle_ids(ids): def infer_cdap_activity(persons, tours, joint_tour_participants): - mandatory_tour_types = ['work', 'school'] - non_mandatory_tour_types = ['escort', 'shopping', 'othmaint', 'othdiscr', 'eatout', 'social'] - - num_mandatory_tours = \ - tours[tours.tour_type.isin(mandatory_tour_types)].\ - groupby('person_id').size().\ - reindex(persons.index).fillna(0).astype(np.int8) - - num_non_mandatory_tours = \ - tours[tours.tour_type.isin(non_mandatory_tour_types)].\ - groupby('person_id').size().\ - reindex(persons.index).fillna(0).astype(np.int8) - - num_joint_tours = \ - joint_tour_participants.\ - groupby('person_id').size().\ - reindex(persons.index).fillna(0).astype(np.int8) + mandatory_tour_types = ["work", "school"] + non_mandatory_tour_types = [ + "escort", + "shopping", + "othmaint", + "othdiscr", + "eatout", + "social", + ] + + num_mandatory_tours = ( + tours[tours.tour_type.isin(mandatory_tour_types)] + .groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) + + num_non_mandatory_tours = ( + tours[tours.tour_type.isin(non_mandatory_tour_types)] + .groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) + + num_joint_tours = ( + joint_tour_participants.groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) num_non_mandatory_tours += num_joint_tours - cdap_activity = pd.Series('H', index=persons.index) - cdap_activity = cdap_activity.where(num_mandatory_tours == 0, 'M') - cdap_activity = cdap_activity.where((cdap_activity == 'M') | (num_non_mandatory_tours == 0), 'N') + cdap_activity = pd.Series("H", index=persons.index) + cdap_activity = cdap_activity.where(num_mandatory_tours == 0, "M") + cdap_activity = cdap_activity.where( + (cdap_activity == "M") | (num_non_mandatory_tours == 0), "N" + ) return cdap_activity def infer_mandatory_tour_frequency(persons, tours): - num_work_tours = \ - tours[tours.tour_type == 'work'].\ - groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) - - num_school_tours = \ - tours[tours.tour_type == 'school'].\ - groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) + num_work_tours = ( + tours[tours.tour_type == "work"] + .groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) + + num_school_tours = ( + tours[tours.tour_type == "school"] + .groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) mtf = { - 0: '', - 1: 'work1', - 2: 'work2', - 10: 'school1', - 20: 'school2', - 11: 'work_and_school' + 0: "", + 1: "work1", + 2: "work2", + 10: "school1", + 20: "school2", + 11: "work_and_school", } - mandatory_tour_frequency = (num_work_tours + num_school_tours*10).map(mtf) + mandatory_tour_frequency = (num_work_tours + num_school_tours * 10).map(mtf) return mandatory_tour_frequency def infer_non_mandatory_tour_frequency(configs_dir, persons, tours): - def read_alts(): # escort,shopping,othmaint,othdiscr,eatout,social # 0,0,0,0,0,0 # 0,0,0,1,0,0, ... - alts = \ - pd.read_csv(os.path.join(configs_dir, 'non_mandatory_tour_frequency_alternatives.csv'), - comment='#') + alts = pd.read_csv( + os.path.join(configs_dir, "non_mandatory_tour_frequency_alternatives.csv"), + comment="#", + ) alts = alts.astype(np.int8) # - NARROW return alts - tours = tours[tours.tour_category == 'non_mandatory'] + tours = tours[tours.tour_category == "non_mandatory"] alts = read_alts() tour_types = list(alts.columns.values) # tour_frequency is index in alts table - alts['alt_id'] = alts.index + alts["alt_id"] = alts.index # actual tour counts (may exceed counts envisioned by alts) unconstrained_tour_counts = pd.DataFrame(index=persons.index) for tour_type in tour_types: - unconstrained_tour_counts[tour_type] = \ - tours[tours.tour_type == tour_type].\ - groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) + unconstrained_tour_counts[tour_type] = ( + tours[tours.tour_type == tour_type] + .groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) # unextend tour counts # activitysim extend tours counts based on a probability table @@ -180,10 +190,14 @@ def read_alts(): max_tour_counts = alts[tour_types].max(axis=0) constrained_tour_counts = pd.DataFrame(index=persons.index) for tour_type in tour_types: - constrained_tour_counts[tour_type] = unconstrained_tour_counts[tour_type].clip(upper=max_tour_counts[tour_type]) + constrained_tour_counts[tour_type] = unconstrained_tour_counts[tour_type].clip( + upper=max_tour_counts[tour_type] + ) # persons whose tours were constrained who aren't eligible for extension becuase they have > 4 constrained tours - has_constrained_tours = (unconstrained_tour_counts != constrained_tour_counts).any(axis=1) + has_constrained_tours = (unconstrained_tour_counts != constrained_tour_counts).any( + axis=1 + ) print("%s persons with constrained tours" % (has_constrained_tours.sum())) too_many_tours = has_constrained_tours & constrained_tour_counts.sum(axis=1) > 4 if too_many_tours.any(): @@ -195,72 +209,107 @@ def read_alts(): # determine alt id corresponding to constrained_tour_counts # need to do index waltz because pd.merge doesn't preserve index in this case - alt_id = \ - pd.merge(constrained_tour_counts.reset_index(), alts, - left_on=tour_types, right_on=tour_types, how='left').set_index(persons.index.name).alt_id + alt_id = ( + pd.merge( + constrained_tour_counts.reset_index(), + alts, + left_on=tour_types, + right_on=tour_types, + how="left", + ) + .set_index(persons.index.name) + .alt_id + ) # did we end up with any tour frequencies not in alts? if alt_id.isna().any(): bad_tour_frequencies = alt_id.isna() logger.warning("WARNING Bad joint tour frequencies\n\n") - logger.warning("\nWARNING Bad non_mandatory tour frequencies: num_tours\n%s" % - constrained_tour_counts[bad_tour_frequencies]) - logger.warning("\nWARNING Bad non_mandatory tour frequencies: num_tours\n%s" % - tours[tours.person_id.isin(persons.index[bad_tour_frequencies])].sort_values('person_id')) + logger.warning( + "\nWARNING Bad non_mandatory tour frequencies: num_tours\n%s" + % constrained_tour_counts[bad_tour_frequencies] + ) + logger.warning( + "\nWARNING Bad non_mandatory tour frequencies: num_tours\n%s" + % tours[ + tours.person_id.isin(persons.index[bad_tour_frequencies]) + ].sort_values("person_id") + ) bug - tf = unconstrained_tour_counts.rename(columns={tour_type: '_%s' % tour_type for tour_type in tour_types}) - tf['non_mandatory_tour_frequency'] = alt_id + tf = unconstrained_tour_counts.rename( + columns={tour_type: "_%s" % tour_type for tour_type in tour_types} + ) + tf["non_mandatory_tour_frequency"] = alt_id return tf def infer_joint_tour_frequency(configs_dir, households, tours): - def read_alts(): # right now this file just contains the start and end hour - alts = \ - pd.read_csv(os.path.join(configs_dir, 'joint_tour_frequency_alternatives.csv'), - comment='#', index_col='alt') + alts = pd.read_csv( + os.path.join(configs_dir, "joint_tour_frequency_alternatives.csv"), + comment="#", + index_col="alt", + ) alts = alts.astype(np.int8) # - NARROW return alts alts = read_alts() tour_types = list(alts.columns.values) - assert(len(alts.index[(alts == 0).all(axis=1)]) == 1) # should be one zero_tours alt + assert len(alts.index[(alts == 0).all(axis=1)]) == 1 # should be one zero_tours alt zero_tours_alt = alts.index[(alts == 0).all(axis=1)].values[0] - alts['joint_tour_frequency'] = alts.index - joint_tours = tours[tours.tour_category == 'joint'] + alts["joint_tour_frequency"] = alts.index + joint_tours = tours[tours.tour_category == "joint"] num_tours = pd.DataFrame(index=households.index) for tour_type in tour_types: - joint_tour_is_tour_type = (joint_tours.tour_type == tour_type) + joint_tour_is_tour_type = joint_tours.tour_type == tour_type if joint_tour_is_tour_type.any(): - num_tours[tour_type] = \ - joint_tours[joint_tour_is_tour_type].\ - groupby('household_id').size().\ - reindex(households.index).fillna(0) + num_tours[tour_type] = ( + joint_tours[joint_tour_is_tour_type] + .groupby("household_id") + .size() + .reindex(households.index) + .fillna(0) + ) else: - logger.warning("WARNING infer_joint_tour_frequency - no tours of type '%s'" % tour_type) + logger.warning( + "WARNING infer_joint_tour_frequency - no tours of type '%s'" % tour_type + ) num_tours[tour_type] = 0 num_tours = num_tours.fillna(0).astype(np.int64) # need to do index waltz because pd.merge doesn't preserve index in this case - jtf = pd.merge(num_tours.reset_index(), alts, left_on=tour_types, right_on=tour_types, how='left').\ - set_index(households.index.name) + jtf = pd.merge( + num_tours.reset_index(), + alts, + left_on=tour_types, + right_on=tour_types, + how="left", + ).set_index(households.index.name) if jtf.joint_tour_frequency.isna().any(): bad_tour_frequencies = jtf.joint_tour_frequency.isna() logger.warning("WARNING Bad joint tour frequencies\n\n") - logger.warning("\nWARNING Bad joint tour frequencies: num_tours\n%s" % - num_tours[bad_tour_frequencies]) - logger.warning("\nWARNING Bad joint tour frequencies: num_tours\n%s" % - joint_tours[joint_tours.household_id.isin(households.index[bad_tour_frequencies])]) + logger.warning( + "\nWARNING Bad joint tour frequencies: num_tours\n%s" + % num_tours[bad_tour_frequencies] + ) + logger.warning( + "\nWARNING Bad joint tour frequencies: num_tours\n%s" + % joint_tours[ + joint_tours.household_id.isin(households.index[bad_tour_frequencies]) + ] + ) bug - logger.info("infer_joint_tour_frequency: %s households with joint tours", - (jtf.joint_tour_frequency != zero_tours_alt).sum()) + logger.info( + "infer_joint_tour_frequency: %s households with joint tours", + (jtf.joint_tour_frequency != zero_tours_alt).sum(), + ) return jtf.joint_tour_frequency @@ -270,31 +319,45 @@ def infer_joint_tour_composition(persons, tours, joint_tour_participants): assign joint_tours a 'composition' column ('adults', 'children', or 'mixed') depending on the composition of the joint_tour_participants """ - joint_tours = tours[tours.tour_category == 'joint'].copy() + joint_tours = tours[tours.tour_category == "joint"].copy() - joint_tour_participants = \ - pd.merge(joint_tour_participants, persons, - left_on='person_id', right_index=True, how='left') + joint_tour_participants = pd.merge( + joint_tour_participants, + persons, + left_on="person_id", + right_index=True, + how="left", + ) # FIXME - computed by asim annotate persons - not needed if embeded in asim and called just-in-time - if 'adult' not in joint_tour_participants: - joint_tour_participants['adult'] = (joint_tour_participants.age >= 18) - - tour_has_adults = \ - joint_tour_participants[joint_tour_participants.adult]\ - .groupby(SURVEY_TOUR_ID).size()\ - .reindex(joint_tours[SURVEY_TOUR_ID]).fillna(0) > 0 - - tour_has_children = \ - joint_tour_participants[~joint_tour_participants.adult]\ - .groupby([SURVEY_TOUR_ID]).size()\ - .reindex(joint_tours[SURVEY_TOUR_ID]).fillna(0) > 0 + if "adult" not in joint_tour_participants: + joint_tour_participants["adult"] = joint_tour_participants.age >= 18 + + tour_has_adults = ( + joint_tour_participants[joint_tour_participants.adult] + .groupby(SURVEY_TOUR_ID) + .size() + .reindex(joint_tours[SURVEY_TOUR_ID]) + .fillna(0) + > 0 + ) + + tour_has_children = ( + joint_tour_participants[~joint_tour_participants.adult] + .groupby([SURVEY_TOUR_ID]) + .size() + .reindex(joint_tours[SURVEY_TOUR_ID]) + .fillna(0) + > 0 + ) assert (tour_has_adults | tour_has_children).all() - joint_tours['composition'] = np.where(tour_has_adults, np.where(tour_has_children, 'mixed', 'adults'), 'children') + joint_tours["composition"] = np.where( + tour_has_adults, np.where(tour_has_children, "mixed", "adults"), "children" + ) - return joint_tours.composition.reindex(tours.index).fillna('').astype(str) + return joint_tours.composition.reindex(tours.index).fillna("").astype(str) def infer_tour_scheduling(configs_dir, tours): @@ -302,11 +365,13 @@ def infer_tour_scheduling(configs_dir, tours): def read_tdd_alts(): # right now this file just contains the start and end hour - tdd_alts = pd.read_csv(os.path.join(configs_dir, 'tour_departure_and_duration_alternatives.csv')) - tdd_alts['duration'] = tdd_alts.end - tdd_alts.start + tdd_alts = pd.read_csv( + os.path.join(configs_dir, "tour_departure_and_duration_alternatives.csv") + ) + tdd_alts["duration"] = tdd_alts.end - tdd_alts.start tdd_alts = tdd_alts.astype(np.int8) # - NARROW - tdd_alts['tdd'] = tdd_alts.index + tdd_alts["tdd"] = tdd_alts.index return tdd_alts tdd_alts = read_tdd_alts() @@ -317,7 +382,13 @@ def read_tdd_alts(): assert tours.end.isin(tdd_alts.end).all(), "not all tour starts in tdd_alts" - tdds = pd.merge(tours[['start', 'end']], tdd_alts, left_on=['start', 'end'], right_on=['start', 'end'], how='left') + tdds = pd.merge( + tours[["start", "end"]], + tdd_alts, + left_on=["start", "end"], + right_on=["start", "end"], + how="left", + ) if tdds.tdd.isna().any(): bad_tdds = tours[tdds.tdd.isna()] @@ -332,30 +403,35 @@ def read_tdd_alts(): def patch_tour_ids(persons, tours, joint_tour_participants): - def set_tour_index(tours, parent_tour_num_col, is_joint): - group_cols = ['person_id', 'tour_category', 'tour_type'] + group_cols = ["person_id", "tour_category", "tour_type"] - if 'parent_tour_num' in tours: - group_cols += ['parent_tour_num'] + if "parent_tour_num" in tours: + group_cols += ["parent_tour_num"] - tours['tour_type_num'] = \ + tours["tour_type_num"] = ( tours.sort_values(by=group_cols).groupby(group_cols).cumcount() + 1 + ) - return cid.set_tour_index(tours, parent_tour_num_col=parent_tour_num_col, is_joint=is_joint) + return cid.set_tour_index( + tours, parent_tour_num_col=parent_tour_num_col, is_joint=is_joint + ) - assert 'mandatory_tour_frequency' in persons + assert "mandatory_tour_frequency" in persons # replace survey_tour ids with asim standard tour_ids (which are based on person_id and tour_type) ##################### # mandatory tours ##################### - mandatory_tours = \ - set_tour_index(tours[tours.tour_category == 'mandatory'], parent_tour_num_col=None, is_joint=False) + mandatory_tours = set_tour_index( + tours[tours.tour_category == "mandatory"], + parent_tour_num_col=None, + is_joint=False, + ) - assert mandatory_tours.index.name == 'tour_id' + assert mandatory_tours.index.name == "tour_id" ##################### # joint tours @@ -363,43 +439,52 @@ def set_tour_index(tours, parent_tour_num_col, is_joint): # joint tours tour_id was assigned based on person_id of the first person in household (PNUM == 1) # because the actual point person forthe tour is only identified later in joint_tour_participants) - temp_point_persons = persons.loc[persons.PNUM == 1, ['household_id']] - temp_point_persons['person_id'] = temp_point_persons.index - temp_point_persons.set_index('household_id', inplace=True) + temp_point_persons = persons.loc[persons.PNUM == 1, ["household_id"]] + temp_point_persons["person_id"] = temp_point_persons.index + temp_point_persons.set_index("household_id", inplace=True) # patch person_id with value of temp_point_person_id and use it to set_tour_index - joint_tours = tours[tours.tour_category == 'joint'] - joint_tours['cache_point_person_id'] = joint_tours['person_id'] - joint_tours['person_id'] = reindex(temp_point_persons.person_id, joint_tours.household_id) + joint_tours = tours[tours.tour_category == "joint"] + joint_tours["cache_point_person_id"] = joint_tours["person_id"] + joint_tours["person_id"] = reindex( + temp_point_persons.person_id, joint_tours.household_id + ) joint_tours = set_tour_index(joint_tours, parent_tour_num_col=None, is_joint=True) - joint_tours['person_id'] = joint_tours['cache_point_person_id'] - del joint_tours['cache_point_person_id'] + joint_tours["person_id"] = joint_tours["cache_point_person_id"] + del joint_tours["cache_point_person_id"] # patch tour_id column in patched_joint_tour_participants patched_joint_tour_participants = joint_tour_participants.copy() asim_tour_id = pd.Series(joint_tours.index, index=joint_tours[SURVEY_TOUR_ID]) - patched_joint_tour_participants[ASIM_TOUR_ID] = \ - reindex(asim_tour_id, patched_joint_tour_participants[SURVEY_TOUR_ID]) + patched_joint_tour_participants[ASIM_TOUR_ID] = reindex( + asim_tour_id, patched_joint_tour_participants[SURVEY_TOUR_ID] + ) # participant_id is formed by combining tour_id and participant pern.PNUM # pathological knowledge, but awkward to conflate with joint_tour_participation.py logic - participant_pnum = reindex(persons.PNUM, patched_joint_tour_participants['person_id']) - patched_joint_tour_participants[ASIM_PARTICIPANT_ID] = \ - (patched_joint_tour_participants[ASIM_TOUR_ID] * cid.MAX_PARTICIPANT_PNUM) + participant_pnum + participant_pnum = reindex( + persons.PNUM, patched_joint_tour_participants["person_id"] + ) + patched_joint_tour_participants[ASIM_PARTICIPANT_ID] = ( + patched_joint_tour_participants[ASIM_TOUR_ID] * cid.MAX_PARTICIPANT_PNUM + ) + participant_pnum ##################### # non_mandatory tours ##################### - non_mandatory_tours = \ - set_tour_index(tours[tours.tour_category == 'non_mandatory'], parent_tour_num_col=None, is_joint=False) + non_mandatory_tours = set_tour_index( + tours[tours.tour_category == "non_mandatory"], + parent_tour_num_col=None, + is_joint=False, + ) ##################### # atwork tours ##################### - atwork_tours = tours[tours.tour_category == 'atwork'] + atwork_tours = tours[tours.tour_category == "atwork"] # patch atwork tours parent_tour_id before assigning their tour_id @@ -407,50 +492,71 @@ def set_tour_index(tours, parent_tour_num_col, is_joint): # tours for students with both work and school trips should have lower tour_num for school # tours are already sorted, but schools comes before work (which is alphabetical, not the alternative id order), # so work_and_school tour_nums are correct for students (school=1, work=2) but workers need to be flipped - mandatory_tour_frequency = \ - reindex(persons.mandatory_tour_frequency, mandatory_tours.person_id) - is_worker = \ - reindex(persons.pemploy, mandatory_tours.person_id).\ - isin([CONSTANTS['PEMPLOY_FULL'], CONSTANTS['PEMPLOY_PART']]) - work_and_school_and_worker = (mandatory_tour_frequency == 'work_and_school') & is_worker + mandatory_tour_frequency = reindex( + persons.mandatory_tour_frequency, mandatory_tours.person_id + ) + is_worker = reindex(persons.pemploy, mandatory_tours.person_id).isin( + [CONSTANTS["PEMPLOY_FULL"], CONSTANTS["PEMPLOY_PART"]] + ) + work_and_school_and_worker = ( + mandatory_tour_frequency == "work_and_school" + ) & is_worker # calculate tour_num for work tours (required to set_tour_index for atwork subtours) parent_tours = mandatory_tours[[SURVEY_TOUR_ID]] - parent_tours['tour_num'] = \ - mandatory_tours.\ - sort_values(by=['person_id', 'tour_category', 'tour_type']).\ - groupby(['person_id', 'tour_category']).cumcount() + 1 - - parent_tours.tour_num = parent_tours.tour_num.where(~work_and_school_and_worker, 3 - parent_tours.tour_num) + parent_tours["tour_num"] = ( + mandatory_tours.sort_values(by=["person_id", "tour_category", "tour_type"]) + .groupby(["person_id", "tour_category"]) + .cumcount() + + 1 + ) + + parent_tours.tour_num = parent_tours.tour_num.where( + ~work_and_school_and_worker, 3 - parent_tours.tour_num + ) parent_tours = parent_tours.set_index(SURVEY_TOUR_ID, drop=True) # temporarily add parent_tour_num column to atwork tours, call set_tour_index, and then delete it - atwork_tours['parent_tour_num'] = reindex(parent_tours.tour_num, atwork_tours[SURVEY_PARENT_TOUR_ID]) + atwork_tours["parent_tour_num"] = reindex( + parent_tours.tour_num, atwork_tours[SURVEY_PARENT_TOUR_ID] + ) - atwork_tours = set_tour_index(atwork_tours, parent_tour_num_col='parent_tour_num', is_joint=False) + atwork_tours = set_tour_index( + atwork_tours, parent_tour_num_col="parent_tour_num", is_joint=False + ) - del atwork_tours['parent_tour_num'] + del atwork_tours["parent_tour_num"] # tours['household_id'] = reindex(persons.household_id, tours.person_id) - asim_tour_id = pd.Series(mandatory_tours.index, index=mandatory_tours[SURVEY_TOUR_ID]) - atwork_tours[ASIM_PARENT_TOUR_ID] = reindex(asim_tour_id, atwork_tours[SURVEY_PARENT_TOUR_ID]) + asim_tour_id = pd.Series( + mandatory_tours.index, index=mandatory_tours[SURVEY_TOUR_ID] + ) + atwork_tours[ASIM_PARENT_TOUR_ID] = reindex( + asim_tour_id, atwork_tours[SURVEY_PARENT_TOUR_ID] + ) ##################### # concat tours ##################### # only true for fake data - assert (mandatory_tours.index == unmangle_ids(mandatory_tours[SURVEY_TOUR_ID])).all() + assert ( + mandatory_tours.index == unmangle_ids(mandatory_tours[SURVEY_TOUR_ID]) + ).all() assert (joint_tours.index == unmangle_ids(joint_tours[SURVEY_TOUR_ID])).all() - assert (non_mandatory_tours.index == unmangle_ids(non_mandatory_tours[SURVEY_TOUR_ID])).all() + assert ( + non_mandatory_tours.index == unmangle_ids(non_mandatory_tours[SURVEY_TOUR_ID]) + ).all() - patched_tours = pd.concat([mandatory_tours, joint_tours, non_mandatory_tours, atwork_tours]) + patched_tours = pd.concat( + [mandatory_tours, joint_tours, non_mandatory_tours, atwork_tours] + ) assert patched_tours.index.name == ASIM_TOUR_ID patched_tours = patched_tours.reset_index() - del patched_tours['tour_type_num'] + del patched_tours["tour_type_num"] assert ASIM_TOUR_ID in patched_tours assert ASIM_PARENT_TOUR_ID in patched_tours @@ -461,9 +567,14 @@ def set_tour_index(tours, parent_tour_num_col, is_joint): def infer_atwork_subtour_frequency(configs_dir, tours): # first column is 'atwork_subtour_frequency' nickname, remaining columns are trip type counts - alts = pd.read_csv(os.path.join(configs_dir, 'atwork_subtour_frequency_alternatives.csv'), comment='#') - tour_types = list(alts.drop(columns=alts.columns[0]).columns) # get trip_types, ignoring first column - alts['alt_id'] = alts.index + alts = pd.read_csv( + os.path.join(configs_dir, "atwork_subtour_frequency_alternatives.csv"), + comment="#", + ) + tour_types = list( + alts.drop(columns=alts.columns[0]).columns + ) # get trip_types, ignoring first column + alts["alt_id"] = alts.index # alt eat business maint alt_id # 0 no_subtours 0 0 0 0 @@ -473,40 +584,58 @@ def infer_atwork_subtour_frequency(configs_dir, tours): # 4 business2 0 2 0 4 # 5 eat_business 1 1 0 5 - work_tours = tours[tours.tour_type == 'work'] + work_tours = tours[tours.tour_type == "work"] work_tours = work_tours[[ASIM_TOUR_ID]] - subtours = tours[tours.tour_category == 'atwork'] - subtours = subtours[['tour_id', 'tour_type', 'parent_tour_id']] + subtours = tours[tours.tour_category == "atwork"] + subtours = subtours[["tour_id", "tour_type", "parent_tour_id"]] # actual tour counts (may exceed counts envisioned by alts) tour_counts = pd.DataFrame(index=work_tours[ASIM_TOUR_ID]) for tour_type in tour_types: # count subtours of this type by parent_tour_id - tour_type_count = subtours[subtours.tour_type == tour_type].groupby('parent_tour_id').size() + tour_type_count = ( + subtours[subtours.tour_type == tour_type].groupby("parent_tour_id").size() + ) # backfill with 0 count - tour_counts[tour_type] = tour_type_count.reindex(tour_counts.index).fillna(0).astype(np.int8) + tour_counts[tour_type] = ( + tour_type_count.reindex(tour_counts.index).fillna(0).astype(np.int8) + ) # determine alt id corresponding to constrained_tour_counts # need to do index waltz because pd.merge doesn't preserve index in this case - tour_counts = \ - pd.merge(tour_counts.reset_index(), alts, - left_on=tour_types, right_on=tour_types, how='left').set_index(tour_counts.index.name) + tour_counts = pd.merge( + tour_counts.reset_index(), + alts, + left_on=tour_types, + right_on=tour_types, + how="left", + ).set_index(tour_counts.index.name) atwork_subtour_frequency = tour_counts.alt # did we end up with any tour frequencies not in alts? if atwork_subtour_frequency.isna().any(): bad_tour_frequencies = atwork_subtour_frequency.isna() - logger.warning("WARNING Bad atwork subtour frequencies for %s work tours" % bad_tour_frequencies.sum()) - logger.warning("WARNING Bad atwork subtour frequencies: num_tours\n%s" % - tour_counts[bad_tour_frequencies]) - logger.warning("WARNING Bad atwork subtour frequencies: num_tours\n%s" % - subtours[subtours.parent_tour_id.isin(tour_counts[bad_tour_frequencies].index)]. - sort_values('parent_tour_id')) + logger.warning( + "WARNING Bad atwork subtour frequencies for %s work tours" + % bad_tour_frequencies.sum() + ) + logger.warning( + "WARNING Bad atwork subtour frequencies: num_tours\n%s" + % tour_counts[bad_tour_frequencies] + ) + logger.warning( + "WARNING Bad atwork subtour frequencies: num_tours\n%s" + % subtours[ + subtours.parent_tour_id.isin(tour_counts[bad_tour_frequencies].index) + ].sort_values("parent_tour_id") + ) bug - atwork_subtour_frequency = reindex(atwork_subtour_frequency, tours[ASIM_TOUR_ID]).fillna('') + atwork_subtour_frequency = reindex( + atwork_subtour_frequency, tours[ASIM_TOUR_ID] + ).fillna("") return atwork_subtour_frequency @@ -522,7 +651,9 @@ def patch_trip_ids(tours, trips): # patch tour_id foreign key # tours['household_id'] = reindex(persons.household_id, tours.person_id) - asim_tour_id = pd.Series(tours[ASIM_TOUR_ID].values, index=tours[SURVEY_TOUR_ID].values) + asim_tour_id = pd.Series( + tours[ASIM_TOUR_ID].values, index=tours[SURVEY_TOUR_ID].values + ) trips[ASIM_TOUR_ID] = reindex(asim_tour_id, trips[SURVEY_TOUR_ID]) # person_is_university = persons.pstudent == constants.PSTUDENT_UNIVERSITY @@ -533,16 +664,18 @@ def patch_trip_ids(tours, trips): # trips['primary_purpose'] = reindex(tour_primary_purpose, trips.tour_id) # if order is ambiguous if trips depart in same time slot - order by SURVEY_TRIP_ID hoping that increases with time - if 'trip_num' not in trips: - trips['trip_num'] = \ - trips.sort_values(by=['tour_id', 'outbound', 'depart', SURVEY_TRIP_ID]).\ - groupby(['tour_id', 'outbound']).\ - cumcount() + 1 + if "trip_num" not in trips: + trips["trip_num"] = ( + trips.sort_values(by=["tour_id", "outbound", "depart", SURVEY_TRIP_ID]) + .groupby(["tour_id", "outbound"]) + .cumcount() + + 1 + ) cid.set_trip_index(trips) assert trips.index.name == ASIM_TRIP_ID - trips = trips.reset_index().rename(columns={'trip_id': ASIM_TRIP_ID}) + trips = trips.reset_index().rename(columns={"trip_id": ASIM_TRIP_ID}) return trips @@ -553,18 +686,20 @@ def infer_stop_frequency(configs_dir, tours, trips): # 0out_0in,0,0 # 0out_1in,0,1 # ... - alts = pd.read_csv(os.path.join(configs_dir, 'stop_frequency_alternatives.csv'), comment='#') - assert 'alt' in alts - assert 'in' in alts - assert 'out' in alts + alts = pd.read_csv( + os.path.join(configs_dir, "stop_frequency_alternatives.csv"), comment="#" + ) + assert "alt" in alts + assert "in" in alts + assert "out" in alts freq = pd.DataFrame(index=tours[SURVEY_TOUR_ID]) # number of trips is one less than number of stops - freq['out'] = trips[trips.outbound].groupby(SURVEY_TOUR_ID).trip_num.max() - 1 - freq['in'] = trips[~trips.outbound].groupby(SURVEY_TOUR_ID).trip_num.max() - 1 + freq["out"] = trips[trips.outbound].groupby(SURVEY_TOUR_ID).trip_num.max() - 1 + freq["in"] = trips[~trips.outbound].groupby(SURVEY_TOUR_ID).trip_num.max() - 1 - freq = pd.merge(freq.reset_index(), alts, on=['out', 'in'], how='left') + freq = pd.merge(freq.reset_index(), alts, on=["out", "in"], how="left") assert (freq[SURVEY_TOUR_ID] == tours[SURVEY_TOUR_ID]).all() @@ -574,37 +709,41 @@ def infer_stop_frequency(configs_dir, tours, trips): def read_tables(input_dir, tables): for table, info in tables.items(): - table = pd.read_csv(os.path.join(input_dir, info['file_name']), index_col=info.get('index')) + table = pd.read_csv( + os.path.join(input_dir, info["file_name"]), index_col=info.get("index") + ) # coerce missing data in string columns to empty strings, not NaNs for c in table.columns: # read_csv converts empty string to NaN, even if all non-empty values are strings - if table[c].dtype == 'object': + if table[c].dtype == "object": print("##### converting", c, table[c].dtype) - table[c] = table[c].fillna('').astype(str) - info['table'] = table + table[c] = table[c].fillna("").astype(str) + info["table"] = table - households = tables['households'].get('table') - persons = tables['persons'].get('table') - tours = tables['tours'].get('table') - joint_tour_participants = tables['joint_tour_participants'].get('table') - trips = tables['trips'].get('table') + households = tables["households"].get("table") + persons = tables["persons"].get("table") + tours = tables["tours"].get("table") + joint_tour_participants = tables["joint_tour_participants"].get("table") + trips = tables["trips"].get("table") return households, persons, tours, joint_tour_participants, trips def check_controls(table_name, column_name): - table = survey_tables[table_name].get('table') - c_table = control_tables[table_name].get('table') + table = survey_tables[table_name].get("table") + c_table = control_tables[table_name].get("table") - if column_name == 'index': - dont_match = (table.index != c_table.index) + if column_name == "index": + dont_match = table.index != c_table.index else: - dont_match = (table[column_name] != c_table[column_name]) + dont_match = table[column_name] != c_table[column_name] if dont_match.any(): - print("check_controls %s.%s: %s out of %s do not match" % - (table_name, column_name, dont_match.sum(), len(table))) + print( + "check_controls %s.%s: %s out of %s do not match" + % (table_name, column_name, dont_match.sum(), len(table)) + ) print("control\n%s" % c_table[dont_match][[column_name]]) print("survey\n%s" % table[dont_match][[column_name]]) @@ -617,75 +756,96 @@ def check_controls(table_name, column_name): def infer(configs_dir, input_dir, output_dir): - households, persons, tours, joint_tour_participants, trips = read_tables(input_dir, survey_tables) + households, persons, tours, joint_tour_participants, trips = read_tables( + input_dir, survey_tables + ) # be explicit about all tour_ids to avoid confusion between asim and survey ids - tours = tours.rename(columns={'tour_id': SURVEY_TOUR_ID, 'parent_tour_id': SURVEY_PARENT_TOUR_ID}) - joint_tour_participants = \ - joint_tour_participants.rename(columns={'tour_id': SURVEY_TOUR_ID, 'participant_id': SURVEY_PARTICIPANT_ID}) - trips = trips.rename(columns={'trip_id': SURVEY_TRIP_ID, 'tour_id': SURVEY_TOUR_ID}) + tours = tours.rename( + columns={"tour_id": SURVEY_TOUR_ID, "parent_tour_id": SURVEY_PARENT_TOUR_ID} + ) + joint_tour_participants = joint_tour_participants.rename( + columns={"tour_id": SURVEY_TOUR_ID, "participant_id": SURVEY_PARTICIPANT_ID} + ) + trips = trips.rename(columns={"trip_id": SURVEY_TRIP_ID, "tour_id": SURVEY_TOUR_ID}) # mangle survey tour ids to keep us honest tours[SURVEY_TOUR_ID] = mangle_ids(tours[SURVEY_TOUR_ID]) tours[SURVEY_PARENT_TOUR_ID] = mangle_ids(tours[SURVEY_PARENT_TOUR_ID]) - joint_tour_participants[SURVEY_TOUR_ID] = mangle_ids(joint_tour_participants[SURVEY_TOUR_ID]) - joint_tour_participants[SURVEY_PARTICIPANT_ID] = mangle_ids(joint_tour_participants[SURVEY_PARTICIPANT_ID]) + joint_tour_participants[SURVEY_TOUR_ID] = mangle_ids( + joint_tour_participants[SURVEY_TOUR_ID] + ) + joint_tour_participants[SURVEY_PARTICIPANT_ID] = mangle_ids( + joint_tour_participants[SURVEY_PARTICIPANT_ID] + ) trips[SURVEY_TRIP_ID] = mangle_ids(trips[SURVEY_TRIP_ID]) trips[SURVEY_TOUR_ID] = mangle_ids(trips[SURVEY_TOUR_ID]) # persons.cdap_activity - persons['cdap_activity'] = infer_cdap_activity(persons, tours, joint_tour_participants) + persons["cdap_activity"] = infer_cdap_activity( + persons, tours, joint_tour_participants + ) # check but don't assert as this is not deterministic - skip_controls or check_controls('persons', 'cdap_activity') + skip_controls or check_controls("persons", "cdap_activity") # persons.mandatory_tour_frequency - persons['mandatory_tour_frequency'] = infer_mandatory_tour_frequency(persons, tours) - assert skip_controls or check_controls('persons', 'mandatory_tour_frequency') + persons["mandatory_tour_frequency"] = infer_mandatory_tour_frequency(persons, tours) + assert skip_controls or check_controls("persons", "mandatory_tour_frequency") # persons.non_mandatory_tour_frequency tour_frequency = infer_non_mandatory_tour_frequency(configs_dir, persons, tours) for c in tour_frequency.columns: print("assigning persons", c) persons[c] = tour_frequency[c] - assert skip_controls or check_controls('persons', 'non_mandatory_tour_frequency') + assert skip_controls or check_controls("persons", "non_mandatory_tour_frequency") # patch_tour_ids - tours, joint_tour_participants = patch_tour_ids(persons, tours, joint_tour_participants) - survey_tables['tours']['table'] = tours - survey_tables['joint_tour_participants']['table'] = joint_tour_participants + tours, joint_tour_participants = patch_tour_ids( + persons, tours, joint_tour_participants + ) + survey_tables["tours"]["table"] = tours + survey_tables["joint_tour_participants"]["table"] = joint_tour_participants - assert skip_controls or check_controls('tours', 'index') - assert skip_controls or check_controls('joint_tour_participants', 'index') + assert skip_controls or check_controls("tours", "index") + assert skip_controls or check_controls("joint_tour_participants", "index") # patch_tour_ids trips = patch_trip_ids(tours, trips) - survey_tables['trips']['table'] = trips # so we can check_controls - assert skip_controls or check_controls('trips', 'index') + survey_tables["trips"]["table"] = trips # so we can check_controls + assert skip_controls or check_controls("trips", "index") # households.joint_tour_frequency - households['joint_tour_frequency'] = infer_joint_tour_frequency(configs_dir, households, tours) - assert skip_controls or check_controls('households', 'joint_tour_frequency') + households["joint_tour_frequency"] = infer_joint_tour_frequency( + configs_dir, households, tours + ) + assert skip_controls or check_controls("households", "joint_tour_frequency") # tours.composition - tours['composition'] = infer_joint_tour_composition(persons, tours, joint_tour_participants) - assert skip_controls or check_controls('tours', 'composition') + tours["composition"] = infer_joint_tour_composition( + persons, tours, joint_tour_participants + ) + assert skip_controls or check_controls("tours", "composition") # tours.tdd - tours['tdd'] = infer_tour_scheduling(configs_dir, tours) - assert skip_controls or check_controls('tours', 'tdd') + tours["tdd"] = infer_tour_scheduling(configs_dir, tours) + assert skip_controls or check_controls("tours", "tdd") - tours['atwork_subtour_frequency'] = infer_atwork_subtour_frequency(configs_dir, tours) - assert skip_controls or check_controls('tours', 'atwork_subtour_frequency') + tours["atwork_subtour_frequency"] = infer_atwork_subtour_frequency( + configs_dir, tours + ) + assert skip_controls or check_controls("tours", "atwork_subtour_frequency") - tours['stop_frequency'] = infer_stop_frequency(configs_dir, tours, trips) - assert skip_controls or check_controls('tours', 'stop_frequency') + tours["stop_frequency"] = infer_stop_frequency(configs_dir, tours, trips) + assert skip_controls or check_controls("tours", "stop_frequency") # write output files - households.to_csv(os.path.join(output_dir, outputs['households']), index=True) - persons.to_csv(os.path.join(output_dir, outputs['persons']), index=True) - tours.to_csv(os.path.join(output_dir, outputs['tours']), index=False) - joint_tour_participants.to_csv(os.path.join(output_dir, outputs['joint_tour_participants']), index=False) - trips.to_csv(os.path.join(output_dir, outputs['trips']), index=False) + households.to_csv(os.path.join(output_dir, outputs["households"]), index=True) + persons.to_csv(os.path.join(output_dir, outputs["persons"]), index=True) + tours.to_csv(os.path.join(output_dir, outputs["tours"]), index=False) + joint_tour_participants.to_csv( + os.path.join(output_dir, outputs["joint_tour_participants"]), index=False + ) + trips.to_csv(os.path.join(output_dir, outputs["trips"]), index=False) # python infer.py data @@ -695,10 +855,10 @@ def infer(configs_dir, input_dir, output_dir): data_dir = args[0] configs_dir = args[1] -with open(os.path.join(configs_dir, 'constants.yaml')) as stream: +with open(os.path.join(configs_dir, "constants.yaml")) as stream: CONSTANTS = yaml.load(stream, Loader=yaml.SafeLoader) -input_dir = os.path.join(data_dir, 'survey_data/') +input_dir = os.path.join(data_dir, "survey_data/") output_dir = input_dir if apply_controls: diff --git a/activitysim/examples/example_manifest.yaml b/activitysim/examples/example_manifest.yaml index cd2f8ea446..f9b7b50a16 100644 --- a/activitysim/examples/example_manifest.yaml +++ b/activitysim/examples/example_manifest.yaml @@ -1,38 +1,26 @@ -- name: example_mtc - description: 25-zone example for the MTC region - # activitysim create -e example_mtc -d test_example_mtc - # cd test_example_mtc +- name: prototype_mtc + description: 25-zone example extracted from the prototype MTC model + # activitysim create -e prototype_mtc -d test_prototype_mtc + # cd test_prototype_mtc # activitysim run -c configs -o output -d data # cd .. include: - - example_mtc/data - - example_mtc/configs - - example_mtc/configs_mp - - example_mtc/output - - example_mtc/README.MD + - prototype_mtc/data + - prototype_mtc/configs + - prototype_mtc/configs_mp + - prototype_mtc/output + - prototype_mtc/README.MD -- name: example_test - description: data and configs for the ActivitySim test system - # activitysim create -e example_test -d test_example_test - # cd test_example_test - # activitysim run -c configs -o output -d data - # cd .. - include: - - example_mtc/data - - example_mtc/configs - - example_mtc/configs_mp - - example_mtc/output - -- name: example_mtc_full - description: Full 1475-zone dataset for the MTC region with 2.8M households and 7.5M persons - # activitysim create -e example_mtc_full -d test_example_mtc_full - # cd test_example_mtc_full +- name: prototype_mtc_full + description: Prototype MTC example model using data from the full 1475-zone MTC region with 2.8M households and 7.5M persons + # activitysim create -e prototype_mtc_full -d test_prototype_mtc_full + # cd test_prototype_mtc_full # activitysim run -c configs_mp -c configs -o output -d data # cd .. include: - - example_mtc/configs - - example_mtc/configs_mp - - example_mtc/output + - prototype_mtc/configs + - prototype_mtc/configs_mp + - prototype_mtc/output - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_full/skims.omx data/skims.omx 04bddb2dd6b829a2ce25a27369d3276143fa9a354989ebd30ed9bba92f8e9bfb @@ -46,17 +34,55 @@ data/land_use.csv fac71207925a34c32b956632fe375814e42860624a99f88401c42317af0fc203 -- name: example_mtc_sf +- name: prototype_mtc_extended + description: 25-zone prototype MTC example with extended models + # activitysim create -e prototype_mtc_extended -d test_prototype_mtc_extended + # cd test_prototype_mtc_extended + # activitysim run -c configs_extended/configs -c configs -o output -d data + # cd .. + include: + - prototype_mtc/data + - prototype_mtc_extended/configs + configs_extended + - prototype_mtc/configs + - prototype_mtc_extended/configs_mp + - prototype_mtc_extended/output + - prototype_mtc_extended/README.MD + +- name: prototype_mtc_extended_full + description: Prototype MTC example model using data from the full 1475-zone MTC region with 2.8M households and 7.5M persons + # activitysim create -e prototype_mtc_extended_full -d test_prototype_mtc_extended_full + # cd test_prototype_mtc_extended_full + # activitysim run -c configs_mp -c configs_extended/configs -c configs -o output -d data + # cd .. + include: + - prototype_mtc/data + - prototype_mtc/configs + - prototype_mtc_extended/configs + configs_extended + - prototype_mtc_extended/configs_mp + - prototype_mtc_extended/output + - prototype_mtc_extended/README.MD + - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_full/skims.omx + data/skims.omx + - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_full/households.csv + data/households.csv + - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_full/persons.csv + data/persons.csv + - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_full/land_use.csv + data/land_use.csv + +- name: prototype_mtc_sf description: San Francisco MTC dataset with 190 zones, 400k households and 900k persons - # activitysim create -e example_mtc_sf -d test_example_mtc_sf - # cd test_example_mtc_sf + # activitysim create -e prototype_mtc_sf -d test_prototype_mtc_sf + # cd test_prototype_mtc_sf # activitysim run -c configs -o output -d data # cd .. include: - - example_mtc/configs - - example_mtc/configs_mp - - example_mtc/data - - example_mtc/output + - prototype_mtc/configs + - prototype_mtc/configs_mp + - prototype_mtc/data + - prototype_mtc/output - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_sf/skims.omx data/skims.omx 579d6007266db3b055d0f9e4814004f4d5ccfae27a36e40f4881e3662bc3d3f1 @@ -77,13 +103,13 @@ # activitysim run -c configs_estimation/configs -c configs -o output -d data_test # cd .. include: - - example_mtc/configs + - prototype_mtc/configs - example_estimation/configs configs_estimation - example_estimation/data_test - - example_mtc/data/skims.omx + - prototype_mtc/data/skims.omx data_test/skims.omx - - example_mtc/output + - prototype_mtc/output - name: example_estimation_sf description: Estimation mode San Francisco MTC dataset with 190 zones, 2k households and 8k persons @@ -92,26 +118,26 @@ # activitysim run -c configs_estimation/configs -c configs -o output -d data_sf # cd .. include: - - example_mtc/configs + - prototype_mtc/configs - example_estimation/configs configs_estimation - example_estimation/data_sf - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_sf/skims.omx data_sf/skims.omx 579d6007266db3b055d0f9e4814004f4d5ccfae27a36e40f4881e3662bc3d3f1 - - example_mtc/output + - prototype_mtc/output -- name: example_2_zone - description: 2 zone system test example based on TM1 - # activitysim create -e example_2_zone -d test_example_2_zone - # cd test_example_2_zone +- name: placeholder_2_zone + description: 2 zone system test example based on prototype MTC + # activitysim create -e placeholder_2_zone -d test_placeholder_2_zone + # cd test_placeholder_2_zone # activitysim run -c configs_2_zone -c configs -d data_2 -o output_2 # cd .. include: - - example_mtc/configs - - example_multiple_zone/configs_2_zone - - example_multiple_zone/data_2 - - example_multiple_zone/output_2 + - prototype_mtc/configs + - placeholder_multiple_zone/configs_2_zone + - placeholder_multiple_zone/data_2 + - placeholder_multiple_zone/output_2 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/data_2/households.csv data_2/households.csv 0e247da9105b152730573e782e7b5f1d62040e3b381f683286fe1bb22f949529 @@ -137,22 +163,22 @@ data_2/taz_skims.omx 773c89369f748e26309786b42aa4c62b5dd329a931214dd63a11007001de3829 -- name: example_3_zone - description: 3 zone system test example based on TM1 - # activitysim create -e example_3_zone -d test_example_3_zone - # cd test_example_3_zone +- name: placeholder_3_zone + description: 3 zone system test example based on prototype MTC + # activitysim create -e placeholder_3_zone -d test_placeholder_3_zone + # cd test_placeholder_3_zone # activitysim run -c configs_3_zone -c configs -d data_3 -o output_3 -s settings_static.yaml # cd .. - # activitysim create -e example_3_zone -d test_example_3_zone_mp - # cd test_example_3_zone_mp + # activitysim create -e placeholder_3_zone -d test_placeholder_3_zone_mp + # cd test_placeholder_3_zone_mp # activitysim run -c configs_3_zone -c configs -d data_3 -o output_3 -s settings_mp.yaml # cd .. include: - - example_mtc/configs - - example_multiple_zone/configs_3_zone - - example_multiple_zone/configs_local - - example_multiple_zone/data_3 - - example_multiple_zone/output_3 + - prototype_mtc/configs + - placeholder_multiple_zone/configs_3_zone + - placeholder_multiple_zone/configs_local + - placeholder_multiple_zone/data_3 + - placeholder_multiple_zone/output_3 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/data_3/households.csv data_3/households.csv 0e247da9105b152730573e782e7b5f1d62040e3b381f683286fe1bb22f949529 @@ -193,37 +219,37 @@ data_3/taz_skims.omx d3f89e29878d3384318b15db26bfddb48d63c9a8d5187aa02797178cfead0394 -- name: example_marin +- name: prototype_marin description: Marin TM2 work tour mode choice cropped to Downtown SF for testing - # activitysim create -e example_marin -d test_example_marin - # cd test_example_marin + # activitysim create -e prototype_marin -d test_prototype_marin + # cd test_prototype_marin # activitysim run -c configs -d data -o output # cd .. - # activitysim create -e example_marin -d test_example_marin_mp - # cd test_example_marin_mp + # activitysim create -e prototype_marin -d test_prototype_marin_mp + # cd test_prototype_marin_mp # activitysim run -c configs -d data -o output -s settings_mp.yaml # cd .. include: - - example_marin/configs - - example_marin/data - - example_marin/output - - example_marin/README.MD + - prototype_marin/configs + - prototype_marin/data + - prototype_marin/output + - prototype_marin/README.MD -- name: example_marin_sf +- name: prototype_marin_sf description: Marin TM2 work tour mode choice cropped to marin and sf counties for testing (2054 MAZ - # activitysim create -e example_marin_sf -d test_example_marin_sf - # cd test_example_marin_sf + # activitysim create -e prototype_marin_sf -d test_prototype_marin_sf + # cd test_prototype_marin_sf # activitysim run -c configs -d data -o output # cd .. - # activitysim create -e example_marin_sf -d test_example_marin_sf_mp - # cd test_example_marin_sf_mp + # activitysim create -e prototype_marin_sf -d test_prototype_marin_sf_mp + # cd test_prototype_marin_sf_mp # activitysim run -c configs -d data -o output -s settings_mp.yaml # cd .. include: - - example_marin/configs - - example_marin/data - - example_marin/output - - example_marin/README.MD + - prototype_marin/configs + - prototype_marin/data + - prototype_marin/output + - prototype_marin/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/marin_data_marin_sf/highway_skims_AM.omx data/highway_skims_AM.omx 2d5d21266a0cd29f174858bc2c47a26067c7af35e12793a78a3dc673df9f13df @@ -285,17 +311,17 @@ data/work_tours.csv a88082ead7ace00f1b2d8ed3997aa3d27c0bc36c9deeee8b8e4c6cf85d6a7004 -- name: example_3_marin_full +- name: prototype_3_marin_full description: Marin TM2 work tour mode choice for the 9 county MTC region - # activitysim create -e example_3_marin_full -d test_example_3_marin_full - # cd test_example_3_marin_full + # activitysim create -e prototype_3_marin_full -d test_prototype_3_marin_full + # cd test_prototype_3_marin_full # activitysim run -c configs -d data -o output -s settings_mp.yaml # cd .. include: - - example_marin/configs - - example_marin/data - - example_marin/output - - example_marin/README.MD + - prototype_marin/configs + - prototype_marin/data + - prototype_marin/output + - prototype_marin/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/marin_data_full/highway_skims_AM.omx data/highway_skims_AM.omx e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 @@ -357,32 +383,32 @@ data/work_tours.csv 4d5accd2ed87faa70551cd0763b2a84a630f7dbdeeb09959c8300178cebedc8c -- name: example_psrc +- name: placeholder_psrc description: 27-TAZ 487-MAZ example for the PSRC region, with 14871 Households - # activitysim create -e example_psrc -d test_example_psrc - # cd test_example_psrc + # activitysim create -e placeholder_psrc -d test_placeholder_psrc + # cd test_placeholder_psrc # activitysim run -c configs -o output -d data # cd .. include: - - example_psrc/configs - - example_psrc/configs_skip_accessibility - - example_psrc/data - - example_psrc/output - - example_psrc/README.MD + - placeholder_psrc/configs + - placeholder_psrc/configs_skip_accessibility + - placeholder_psrc/data + - placeholder_psrc/output + - placeholder_psrc/README.MD -- name: example_psrc_seattle +- name: placeholder_psrc_seattle description: 781-TAZ 8400-MAZ example for the PSRC region, with 336,725 Households - # activitysim create -e example_psrc_seattle -d test_example_seattle - # cd test_example_seattle + # activitysim create -e placeholder_psrc_seattle -d test_placeholder_seattle + # cd test_placeholder_seattle # activitysim run -c configs -o output -d data # cd .. include: - - example_psrc/configs - - example_psrc/configs_skip_accessibility - - example_psrc/configs_accessibility - - example_psrc/data - - example_psrc/output - - example_psrc/README.MD + - placeholder_psrc/configs + - placeholder_psrc/configs_skip_accessibility + - placeholder_psrc/configs_accessibility + - placeholder_psrc/data + - placeholder_psrc/output + - placeholder_psrc/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/psrc_data_seattle/skims.omx data/skims.omx bbbdc70d4eceb71d3be0d025a21fb83d18a69a1806bad9cb85d66dba136b07df @@ -408,23 +434,23 @@ data/maz_to_maz_bike.csv 6c11e712abe91d6112f9bd85a7a5a01f4ce7642d44c86c3352c978ef1bb00b20 -- name: example_psrc_full +- name: placeholder_psrc_full description: 3444-TAZ 43589-MAZ example for the PSRC region - # activitysim create -e example_psrc_full -d test_example_psrc_full - # cd test_example_psrc_full + # activitysim create -e placeholder_psrc_full -d test_placeholder_psrc_full + # cd test_placeholder_psrc_full # activitysim run -c configs -o output -d data -s settings_mp.yaml # cd .. - # activitysim create -e example_psrc_full -d test_example_psrc_full_skip_access - # cd test_example_psrc_full_skip_access + # activitysim create -e placeholder_psrc_full -d test_placeholder_psrc_full_skip_access + # cd test_placeholder_psrc_full_skip_access # activitysim run -c configs_skip_accessibility -c configs -o output -d data -s settings_mp.yaml # cd .. include: - - example_psrc/configs - - example_psrc/configs_skip_accessibility - - example_psrc/configs_accessibility - - example_psrc/data - - example_psrc/output - - example_psrc/README.MD + - placeholder_psrc/configs + - placeholder_psrc/configs_skip_accessibility + - placeholder_psrc/configs_accessibility + - placeholder_psrc/data + - placeholder_psrc/output + - placeholder_psrc/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/psrc_data_full/skims.omx data/skims.omx 7e3746501632b1912ce4cc642f7401bf70141f121a71ba63d444e8d42197a4f7 @@ -462,35 +488,35 @@ data/final_accessibility.csv 949994345c9965054be260589fd64079e4032d2e4079e46b9eb9c758a40527c3 -- name: example_semcog +- name: prototype_semcog description: 67 zone test example for the SEMCOG region - # activitysim create -e example_semcog -d test_example_semcog - # cd test_example_semcog + # activitysim create -e prototype_semcog -d test_prototype_semcog + # cd test_prototype_semcog # python simulation.py -c configs -o output -d data # cd .. include: - - example_semcog/extensions - - example_semcog/data - - example_semcog/configs - - example_semcog/configs_mp - - example_semcog/output - - example_semcog/README.MD - - example_semcog/simulation.py + - prototype_semcog/extensions + - prototype_semcog/data + - prototype_semcog/configs + - prototype_semcog/configs_mp + - prototype_semcog/output + - prototype_semcog/README.MD + - prototype_semcog/simulation.py -- name: example_semcog_z500 +- name: prototype_semcog_z500 description: 500 zone intermediate size example for the SEMCOG region - # activitysim create -e example_semcog_z500 -d test_example_semcog_z500 - # cd test_example_semcog_z500 + # activitysim create -e prototype_semcog_z500 -d test_prototype_semcog_z500 + # cd test_prototype_semcog_z500 # python simulation.py -c configs -o output -d data # cd .. include: - - example_semcog/extensions - - example_semcog/data - - example_semcog/configs - - example_semcog/configs_mp - - example_semcog/output - - example_semcog/README.MD - - example_semcog/simulation.py + - prototype_semcog/extensions + - prototype_semcog/data + - prototype_semcog/configs + - prototype_semcog/configs_mp + - prototype_semcog/output + - prototype_semcog/README.MD + - prototype_semcog/simulation.py - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/semcog_data_z500/skims.omx data/skims.omx 7c824032940d1006e731d715bcee8771572e03558eef40ca1ca5f820bfc071ca @@ -504,20 +530,20 @@ data/land_use.csv d4ddb6f5fc7cd844e3e9149d03d32c841c5cb641a77aea9174045ddb85f27a3a -- name: example_semcog_full +- name: prototype_semcog_full description: 2899 zone full size example for the SEMCOG region - # activitysim create -e example_semcog_full -d test_example_semcog_full - # cd test_example_semcog_full + # activitysim create -e prototype_semcog_full -d test_prototype_semcog_full + # cd test_prototype_semcog_full # python simulation.py -c configs_mp -c configs -o output -d data # cd .. include: - - example_semcog/extensions - - example_semcog/data - - example_semcog/configs - - example_semcog/configs_mp - - example_semcog/output - - example_semcog/README.MD - - example_semcog/simulation.py + - prototype_semcog/extensions + # prototype_semcog/data # data loaded from activitysim_resources + - prototype_semcog/configs + - prototype_semcog/configs_mp + - prototype_semcog/output + - prototype_semcog/README.MD + - prototype_semcog/simulation.py - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/semcog_data_full/skims.omx data/skims.omx efa1f87395df354ccfad7cfe4e67ace96c7ac04fa0290e5e6f8e2593fc0ba6a3 @@ -534,29 +560,29 @@ data/land_use.csv 8f9146993bff315afc6ada52182cb3ea719a6a1ed07095b51535bc7c026285f6 -- name: example_arc +- name: prototype_arc description: 36 zone test example for the ARC region - # activitysim create -e example_arc -d test_example_arc - # cd test_example_arc + # activitysim create -e prototype_arc -d test_prototype_arc + # cd test_prototype_arc # activitysim run -c configs -o output -d data # cd .. include: - - example_arc/data - - example_arc/configs - - example_arc/output - - example_arc/README.MD + - prototype_arc/data + - prototype_arc/configs + - prototype_arc/output + - prototype_arc/README.MD -- name: example_arc_fulton +- name: prototype_arc_fulton description: 1296 zone fulton county example for the ARC region - # activitysim create -e example_arc_fulton -d test_example_arc_fulton - # cd test_example_arc_fulton + # activitysim create -e prototype_arc_fulton -d test_prototype_arc_fulton + # cd test_prototype_arc_fulton # activitysim run -c configs -o output -d data # cd .. include: - - example_arc/data - - example_arc/configs - - example_arc/output - - example_arc/README.MD + - prototype_arc/data + - prototype_arc/configs + - prototype_arc/output + - prototype_arc/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/arc_data_fulton/skims.omx data/skims.omx 335be57a0b89eac8b51874cc5d8a2c0a0b19472f7ac77c99fd8afd54f223712b @@ -570,17 +596,17 @@ data/land_use.csv 09a8c0cd0771c4ec3713940fc3d5b9e9443cc104668f7403c2caefb75c4fbb08 -- name: example_arc_full +- name: prototype_arc_full description: 5922 zone full example for the ARC region - # activitysim create -e example_arc_full -d test_example_arc_full - # cd test_example_arc_full + # activitysim create -e prototype_arc_full -d test_prototype_arc_full + # cd test_prototype_arc_full # activitysim run -c configs -o output -d data -s settings_mp.yaml # cd .. include: - - example_arc/data - - example_arc/configs - - example_arc/output - - example_arc/README.MD + # - prototype_arc/data # data is provided below + - prototype_arc/configs + - prototype_arc/output + - prototype_arc/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/arc_data_full/skims.omx data/skims.omx 55af7b893f13b5275fd7d9721a07f3e09d98a2660fa5fa6f5ff99f8fa8ffbcdf @@ -603,31 +629,31 @@ data/land_use.csv 36383b4c9dacdd7dd10c84b4479aa9f53ced23e155b6d354c468decc6710c80e -- name: example_sandag_1_zone +- name: placeholder_sandag_1_zone description: 90-TAZ (includes univ) 1-zone test example for the SANDAG region - # activitysim create -e example_sandag_1_zone -d test_example_sandag_1_zone - # cd test_example_sandag_1_zone - # activitysim run -c configs_1_zone -c example_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_1_zone -d test_placeholder_sandag_1_zone + # cd test_placeholder_sandag_1_zone + # activitysim run -c configs_1_zone -c prototype_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml # cd .. include: - - example_sandag/../example_mtc/configs - example_mtc - - example_sandag/configs_1_zone - - example_sandag/data_1 - - example_sandag/output_1 + - placeholder_sandag/../prototype_mtc/configs + prototype_mtc + - placeholder_sandag/configs_1_zone + - placeholder_sandag/data_1 + - placeholder_sandag/output_1 -- name: example_sandag_1_zone_full +- name: placeholder_sandag_1_zone_full description: full 1-zone example for the SANDAG region - # activitysim create -e example_sandag_1_zone_full -d test_example_sandag_1_zone_full - # cd test_example_sandag_1_zone_full - # activitysim run -c configs_1_zone -c example_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_1_zone_full -d test_placeholder_sandag_1_zone_full + # cd test_placeholder_sandag_1_zone_full + # activitysim run -c configs_1_zone -c prototype_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml # cd .. include: - - example_sandag/../example_mtc/configs - example_mtc - - example_sandag/configs_1_zone - - example_sandag/data_1 - - example_sandag/output_1 + - placeholder_sandag/../prototype_mtc/configs + prototype_mtc + - placeholder_sandag/configs_1_zone + - placeholder_sandag/data_1 + - placeholder_sandag/output_1 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/households.csv data_1/households.csv 2b0b19a1a0b00901e80a533fc6418a4dbeb3d0b017d9feadae71324f9145dcec @@ -656,31 +682,31 @@ data_1/skims6.omx e3f7fb1e0b334fc83dc69985dce8b925e3660149c5de5635c7d8464e306074b9 -- name: example_sandag_2_zone +- name: placeholder_sandag_2_zone description: 90-TAZ 609-MAZ (includes univ) 2-zone test example for the SANDAG region - # activitysim create -e example_sandag_2_zone -d test_example_sandag_2_zone - # cd test_example_sandag_2_zone - # activitysim run -c configs_2_zone -c example_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_2_zone -d test_placeholder_sandag_2_zone + # cd test_placeholder_sandag_2_zone + # activitysim run -c configs_2_zone -c placeholder_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml # cd .. include: - - example_sandag/../example_psrc/configs - example_psrc - - example_sandag/configs_2_zone - - example_sandag/data_2 - - example_sandag/output_2 + - placeholder_sandag/../placeholder_psrc/configs + placeholder_psrc + - placeholder_sandag/configs_2_zone + - placeholder_sandag/data_2 + - placeholder_sandag/output_2 -- name: example_sandag_2_zone_full +- name: placeholder_sandag_2_zone_full description: full 2-zone example for the SANDAG region - # activitysim create -e example_sandag_2_zone_full -d test_example_sandag_2_zone_full - # cd test_example_sandag_2_zone_full - # activitysim run -c configs_2_zone -c example_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_2_zone_full -d test_placeholder_sandag_2_zone_full + # cd test_placeholder_sandag_2_zone_full + # activitysim run -c configs_2_zone -c placeholder_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml # cd .. include: - - example_sandag/../example_psrc/configs - example_psrc - - example_sandag/configs_2_zone - - example_sandag/data_2 - - example_sandag/output_2 + - placeholder_sandag/../placeholder_psrc/configs + placeholder_psrc + - placeholder_sandag/configs_2_zone + - placeholder_sandag/data_2 + - placeholder_sandag/output_2 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/households.csv data_2/households.csv 4afe40dfbdb89f17cd150fd5b32245364d538cdebb91fd323e18c6f570d1a087 @@ -721,33 +747,33 @@ data_2/skims6.omx 77a82afa09ee1f4c48aa7928e96756525d170402ca99da04cdf676e45cb6fbcf -- name: example_sandag_3_zone +- name: placeholder_sandag_3_zone description: 90-TAZ 609-MAZ (includes univ) 3-zone test example for the SANDAG region - # activitysim create -e example_sandag_3_zone -d test_example_sandag_3_zone - # cd test_example_sandag_3_zone - # activitysim run -c configs_3_zone -c example_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_3_zone -d test_placeholder_sandag_3_zone + # cd test_placeholder_sandag_3_zone + # activitysim run -c configs_3_zone -c prototype_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml # cd .. include: - - example_sandag/data_3 - - example_sandag/../example_mtc/configs - example_mtc - - example_sandag/configs_3_zone - - example_sandag/configs_skip_accessibility - - example_sandag/output_3 + - placeholder_sandag/data_3 + - placeholder_sandag/../prototype_mtc/configs + prototype_mtc + - placeholder_sandag/configs_3_zone + - placeholder_sandag/configs_skip_accessibility + - placeholder_sandag/output_3 -- name: example_sandag_3_zone_full +- name: placeholder_sandag_3_zone_full description: full 3-zone example for the SANDAG region - # activitysim create -e example_sandag_3_zone_full -d test_example_sandag_3_zone_full - # cd test_example_sandag_3_zone_full - # activitysim run -c configs_3_zone -c example_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_3_zone_full -d test_placeholder_sandag_3_zone_full + # cd test_placeholder_sandag_3_zone_full + # activitysim run -c configs_3_zone -c prototype_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml # cd .. include: - - example_sandag/data_3 - - example_sandag/../example_mtc/configs - example_mtc - - example_sandag/configs_3_zone - - example_sandag/configs_skip_accessibility - - example_sandag/output_3 + - placeholder_sandag/data_3 + - placeholder_sandag/../prototype_mtc/configs + prototype_mtc + - placeholder_sandag/configs_3_zone + - placeholder_sandag/configs_skip_accessibility + - placeholder_sandag/output_3 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/taz_skims1.omx data_3/taz_skims1.omx 5b56d0e79ec671e37f8c71f7fedd741d7bf32d2bced866ab1f03f3973fccce8c @@ -806,55 +832,65 @@ data_3/tap_lines.csv 0e1b2c532e5e85b48e2ac77b2836be7ec0cc7cba79907c6f5fb11d2ba171230a -- name: example_sandag_xborder +- name: prototype_sandag_xborder description: SANDAG cross border travel model - # activitysim create -e example_sandag_xborder -d test_example_sandag_xborder - # cd test_example_sandag_xborder + # activitysim create -e prototype_sandag_xborder -d test_prototype_sandag_xborder + # cd test_prototype_sandag_xborder # python simulation.py # cd .. include: - - example_sandag_xborder/configs - - example_sandag_xborder/data - - example_sandag_xborder/extensions - - example_sandag_xborder/output - - example_sandag_xborder/simulation.py + - prototype_sandag_xborder/configs + - prototype_sandag_xborder/data + - prototype_sandag_xborder/extensions + - prototype_sandag_xborder/output + - prototype_sandag_xborder/simulation.py -- name: example_sandag_xborder_full +- name: prototype_sandag_xborder_full description: full scale SANDAG cross border travel model - # activitysim create -e example_sandag_xborder_full -d test_example_sandag_xborder_full - # cd test_example_sandag_xborder_full + # activitysim create -e prototype_sandag_xborder_full -d test_prototype_sandag_xborder_full + # cd test_prototype_sandag_xborder_full # python simulation.py # cd .. include: - - example_sandag_xborder/configs - - example_sandag_xborder/extensions - - example_sandag_xborder/output - - example_sandag_xborder/simulation.py + - prototype_sandag_xborder/configs + - prototype_sandag_xborder/extensions + - prototype_sandag_xborder/output + - prototype_sandag_xborder/simulation.py - https://raw.githubusercontent.com/ActivitySim/activitysim_resources/master/sandag_xborder/households_xborder.csv data/households_xborder.csv + d5eacdab200955de06bd70761c648624734740a05738e9ab387502654283acdd - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/maz_maz_walk.csv - data/maz_maz_walk.csv + data/maz_maz_walk.csv + 027bb92325cd3d19a68c0608d8f909b075a857d4a2793dd6b75a183d371bc1e0 - https://raw.githubusercontent.com/activitysim/activitysim_resources/master/sandag_xborder/maz_tap_walk.csv - data/maz_tap_walk.csv + data/maz_tap_walk.csv + a5ba44307843ed3dd73448abe61b585d3c4f6a795414f4035cb14f2606a89c8b - https://raw.githubusercontent.com/activitysim/activitysim_resources/master/sandag_xborder/mazs_xborder.csv - data/mazs_xborder.csv - - https://raw.githubusercontent.com/activitysim/activitysim_resources/master/sandag_xborder/persons_xborder.csv - data/persons_xborder.csv + data/mazs_xborder.csv + 2d481ec20f69204fc02a259d2d7c4e3d955d6a83b13d7bae920c9c7f8e28c517 + - prototype_sandag_xborder/data/persons_xborder.csv # this matches the local tours_xborder, see below - https://raw.githubusercontent.com/activitysim/activitysim_resources/master/sandag_xborder/tap_lines.csv data/tap_lines.csv + 750745a33f39963f0c3e4efa6135ff89fb7dd49f58f17cdbd90d62e7057fea01 - https://raw.githubusercontent.com/activitysim/activitysim_resources/master/sandag_xborder/taps.csv - data/taps.csv - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/tours_xborder.csv - data/tours_xborder.csv + data/taps.csv + 9a6a29eb17079583e0c235525a58d301ab93f2b3a3bce537b142c85a0ad46606 + - prototype_sandag_xborder/data/tours_xborder.csv # the file on activitysim_resources is not consistent with this model - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/transit_skims_xborder.omx data/transit_skims_xborder.omx + 8d5544cc6b543c6b45e77968efca8d62b7ec8b03bd30bdc5e46cd291b4e6b8d3 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/traffic_skims_xborder_AM.omx data/traffic_skims_xborder_AM.omx + b7f675e78d0d5f214b9ee4d5a4bb91a66692be1776f474381b8a024e3fcbf4a5 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/traffic_skims_xborder_EA.omx data/traffic_skims_xborder_EA.omx + 3d4978cba03c1fe5013bcc624b75e90456fe2ac723ca031ce0a1a50c758c3a92 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/traffic_skims_xborder_EV.omx data/traffic_skims_xborder_EV.omx + 3826807fbbf5a62b97a70022ea6979cd9d16129e326e5570159221db1cbc4584 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/traffic_skims_xborder_MD.omx data/traffic_skims_xborder_MD.omx + 9a83cf893e459019328aab726c4bd0fdcd38a2b5ecb88e0aa4a880b6104bbd3a - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/traffic_skims_xborder_PM.omx - data/traffic_skims_xborder_PM.omx \ No newline at end of file + data/traffic_skims_xborder_PM.omx + 87544b59488c4ca654ae8d9756dfb3a8226b85faa21e631339d86fae5dc60feb diff --git a/activitysim/examples/example_marin/configs/constants.yaml b/activitysim/examples/example_marin/configs/constants.yaml deleted file mode 100755 index 626a0c415e..0000000000 --- a/activitysim/examples/example_marin/configs/constants.yaml +++ /dev/null @@ -1,64 +0,0 @@ -## ActivitySim -## See full license in LICENSE.txt. - -walk_speed: 3.00 - -#HHT_NONE: 0 -#HHT_FAMILY_MARRIED: 1 -#HHT_FAMILY_MALE: 2 -#HHT_FAMILY_FEMALE: 3 -#HHT_NONFAMILY_MALE_ALONE: 4 -#HHT_NONFAMILY_MALE_NOTALONE: 5 -#HHT_NONFAMILY_FEMALE_ALONE: 6 -#HHT_NONFAMILY_FEMALE_NOTALONE: 7 - -# convenience for expression files -HHT_NONFAMILY: [4, 5, 6, 7] -HHT_FAMILY: [1, 2, 3] - -PSTUDENT_GRADE_OR_HIGH: 1 -PSTUDENT_UNIVERSITY: 2 -PSTUDENT_NOT: 3 - -GRADE_SCHOOL_MAX_AGE: 14 -GRADE_SCHOOL_MIN_AGE: 5 - -SCHOOL_SEGMENT_NONE: 0 -SCHOOL_SEGMENT_GRADE: 1 -SCHOOL_SEGMENT_HIGH: 2 -SCHOOL_SEGMENT_UNIV: 3 - -#INCOME_SEGMENT_LOW: 1 -#INCOME_SEGMENT_MED: 2 -#INCOME_SEGMENT_HIGH: 3 -#INCOME_SEGMENT_VERYHIGH: 4 - -PEMPLOY_FULL: 1 -PEMPLOY_PART: 2 -PEMPLOY_NOT: 3 -PEMPLOY_CHILD: 4 - -PTYPE_FULL: &ptype_full 1 -PTYPE_PART: &ptype_part 2 -PTYPE_UNIVERSITY: &ptype_university 3 -PTYPE_NONWORK: &ptype_nonwork 4 -PTYPE_RETIRED: &ptype_retired 5 -PTYPE_DRIVING: &ptype_driving 6 -PTYPE_SCHOOL: &ptype_school 7 -PTYPE_PRESCHOOL: &ptype_preschool 8 - -# these appear as column headers in non_mandatory_tour_frequency.csv -PTYPE_NAME: - *ptype_full: PTYPE_FULL - *ptype_part: PTYPE_PART - *ptype_university: PTYPE_UNIVERSITY - *ptype_nonwork: PTYPE_NONWORK - *ptype_retired: PTYPE_RETIRED - *ptype_driving: PTYPE_DRIVING - *ptype_school: PTYPE_SCHOOL - *ptype_preschool: PTYPE_PRESCHOOL - - -CDAP_ACTIVITY_MANDATORY: M -CDAP_ACTIVITY_NONMANDATORY: N -CDAP_ACTIVITY_HOME: H diff --git a/activitysim/examples/example_marin/configs/network_los.yaml b/activitysim/examples/example_marin/configs/network_los.yaml deleted file mode 100755 index 7c99f84eca..0000000000 --- a/activitysim/examples/example_marin/configs/network_los.yaml +++ /dev/null @@ -1,170 +0,0 @@ -inherit_settings: True - -zone_system: 3 - -skim_dict_factory: NumpyArraySkimFactory -#skim_dict_factory: MemMapSkimFactory - -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -read_skim_cache: True -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -write_skim_cache: True - -# rebuild and overwrite existing tap_tap_utilities cache -rebuild_tvpb_cache: True - - -# when checkpointing cache. also write a csv version of tvpb cache for tracing -# (writes csv file when writing/checkpointing cache (i.e. when cached changed) even if rebuild_tvpb_cache is False) -# (n.b. csv file could be quite large if cache is STATIC!) -trace_tvpb_cache_as_csv: False - -taz_skims: - - highway_skims_AM.omx - - highway_skims_EA.omx - - highway_skims_EV.omx - - highway_skims_MD.omx - - highway_skims_PM.omx - -tap_skims: - # we require that skims for all tap_tap sets have unique names - # and cso an share a single skim_dict without name collision - # e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM - - transit_skims_SET1.omx - - transit_skims_SET2.omx - - transit_skims_SET3.omx - -maz: maz_taz.csv - -tap: tap.csv - -tap_lines: tap_lines.csv - -maz_to_maz: - tables: - - maz_maz_walk.csv - - maz_maz_bike.csv - - # maz_to_maz blending distance (missing or 0 means no blending) - max_blend_distance: - # blend distance of 0 means no blending - WALK_DIST: 0 - BIKE_DIST: 0 - - -maz_to_tap: - walk: - table: maz_tap_walk.csv - # if provided, this column will be used (together with tap_lines table) to trim the near tap set - # to only include the nearest tap to origin when more than one tap serves the same line - tap_line_distance_col: WALK_TRANSIT_DIST - max_dist: 1.2 - drive: - table: maz_taz_tap_drive.csv - # not trimming because drive_maz_tap utility calculations take into account both drive and walk time and cost - # though some sort of trimming appears to have been done as there are not so many of these in marin data - #tap_line_distance_col: DDIST - - -skim_time_periods: - time_window: 1440 - period_minutes: 30 - periods: [0, 12, 20, 30, 38, 48] - labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] - -demographic_segments: &demographic_segments - - &low_income_segment_id 0 - - &high_income_segment_id 1 - - -# transit virtual path builder settings -TVPB_SETTINGS: - - tour_mode_choice: - units: utility - path_types: - WTW: - access: walk - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - paths_nest_nesting_coefficient: 1 - DTW: - access: drive - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - paths_nest_nesting_coefficient: 1 - WTD: - access: walk - egress: drive - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - paths_nest_nesting_coefficient: 1 - tap_tap_settings: - SPEC: tvpb_utility_tap_tap.csv - PREPROCESSOR: - SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv - DF: df - # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files - attribute_segments: - demographic_segment: *demographic_segments - tod: *skim_time_period_labels - access_mode: ['drive', 'walk'] - attributes_as_columns: - - demographic_segment - - tod - - maz_tap_settings: - walk: - SPEC: tvpb_utility_walk_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - WALK_TRANSIT_DIST - drive: - SPEC: tvpb_utility_drive_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - DDIST - - DTIME - - WDIST - - CONSTANTS: - C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id - C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id - TVPB_demographic_segments_by_income_segment: - 1: *low_income_segment_id - 2: *low_income_segment_id - 3: *high_income_segment_id - 4: *high_income_segment_id - c_ivt_high_income: -0.016 # use tour constant from TM2 - c_ivt_low_income: -0.016 # use tour constant from TM2 - c_cost_high_income: -0.00112 - c_cost_low_income: -0.00112 - c_auto_operating_cost_per_mile: 18.29 - # constants used in maz_tap and tap_tap utility expressions - c_drive: 1.5 - c_walk: 1.7 - c_fwt: 1.5 - c_waux: 3.677 - c_xwt: 2 - c_xfers1: 30 - c_xfers2: 45 - c_xfers3: 47.026 - # no Express bus alternative-specific constant - c_lrt_asc: -17 # LRT alternative-specific constant - c_fr_asc: -35 # FR alternative-specific constant - c_hr_asc: -22 # Heavy Rail alternative-specific constant - c_cr_asc: -15 # Commuter Rail alternative-specific constant - c_cr20_40: -20 # Commuter Rail distance 20-40 miles - c_cr40plus: -30 # Commuter Rail distance >40 miles - c_drvExpress: -26 # drive to EB constant - c_drvLRT: 2 # drive to LRT constant - c_drvFR: -52 # drive to FR constant - c_drvHeavy: -41 # drive to HR constant - c_drvCR: -52 # drive to CR constant - #"max(IVT/Drive time - 0.3,0)",drvRatio,c_ivt* 6 - C_UNAVAILABLE: -999 - c_walkAcc: 3.0783 # walk to tap time - c_dtim: 2.5724 # drive to tap time - diff --git a/activitysim/examples/example_marin/configs/settings.yaml b/activitysim/examples/example_marin/configs/settings.yaml deleted file mode 100755 index 81f7fd6bdd..0000000000 --- a/activitysim/examples/example_marin/configs/settings.yaml +++ /dev/null @@ -1,241 +0,0 @@ -inherit_settings: True - -# number of households to simulate -#households_sample_size: 200000 -households_sample_size: 500 - -chunk_size: 0 - -# assume enough RAM to not chunk -chunk_training_mode: disabled - -#trace_hh_id: 662398 -trace_hh_id: - -# input tables -input_table_list: - - tablename: households - filename: households.csv - index_col: household_id - rename_columns: - HHID: household_id - MAZ: home_zone_id - keep_columns: - - home_zone_id - - HHINCADJ - - NWRKRS_ESR - - VEH - - NP - #- MTCCountyID - #- HHT - #- BLD - #- TYPE - - - tablename: persons - filename: persons.csv - index_col: person_id - rename_columns: - HHID: household_id - PERID: person_id - keep_columns: - - AGEP - - household_id - - type - - value_of_time - - fp_choice - - SEX - #- SCHL - #- OCCP - #- WKHP - #- WKW - #- EMPLOYED - #- ESR - #- SCHG - - - tablename: land_use - filename: land_use.csv - index_col: zone_id - rename_columns: - MAZ: zone_id - CountyID: county_id - keep_columns: - - TAZ - - DistID - - ACRES - - POP - - emp_total - - hparkcost - - TERMINALTIME - - county_id - - TotInt - - EmpDen - - RetEmpDen - - DUDen -# - level_0 -# - index -# - MAZ_ORIGINAL -# - TAZ_ORIGINAL -# - DistName -# - CountyID -# - CountyName -# - HH -# - ag -# - art_rec -# - constr -# - eat -# - ed_high -# - ed_k12 -# - ed_oth -# - fire -# - gov -# - health -# - hotel -# - info -# - lease -# - logis -# - man_bio -# - man_lgt -# - man_hvy -# - man_tech -# - natres -# - prof -# - ret_loc -# - ret_reg -# - serv_bus -# - serv_pers -# - serv_soc -# - transp -# - util -# - publicEnrollGradeKto8 -# - privateEnrollGradeKto8 -# - publicEnrollGrade9to12 -# - privateEnrollGrade9to12 -# - comm_coll_enroll -# - EnrollGradeKto8 -# - EnrollGrade9to12 -# - collegeEnroll -# - otherCollegeEnroll -# - AdultSchEnrl -# - hstallsoth -# - hstallssam -# - dstallsoth -# - dstallssam -# - mstallsoth -# - mstallssam -# - park_area -# - numfreehrs -# - dparkcost -# - mparkcost -# - ech_dist -# - hch_dist -# - parkarea -# - MAZ_X -# - MAZ_Y -# - PopDen -# - IntDenBin -# - EmpDenBin -# - DuDenBin -# - PopEmpDenPerMi -# - mgra -# - mgraParkArea -# - lsWgtAvgCostM -# - lsWgtAvgCostD -# - lsWgtAvgCostH - - - tablename: tours - filename: work_tours.csv - # since tours has a canonical index name 'tour_id', we must explicitly indicate that no index should be assigned - # canonical index_col 'tour_id' will be assigned by initialize_tours - index_col: - rename_columns: - hh_id: household_id - start_period: start - end_period: end - tour_id: tm2_tour_id - tour_mode: tm2_tour_mode - out_btap: tm2_out_btap - out_atap: tm2_out_atap - in_btap: tm2_in_btap - in_atap: tm2_in_atap - out_set: tm2_out_set - in_set: tm2_in_set - keep_columns: - - person_id - - household_id - - tour_category - - tour_purpose - - orig_mgra - - dest_mgra - - start - - end - # ctramp tm2 fields for validation - - tm2_tour_id # really just ordinal position in ctramp tour file, put probably will be useful for validation - - tm2_tour_mode - - tm2_out_btap - - tm2_out_atap - - tm2_in_btap - - tm2_in_atap - - tm2_out_set - - tm2_in_set -# - person_num -# - person_type -# - tour_distance -# - tour_time -# - atWork_freq -# - num_ob_stops -# - num_ib_stops - - -# set false to disable variability check in simple_simulate and interaction_simulate -check_for_variability: False - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False - -#resume_after: initialize_tvpb - -models: - - initialize_landuse - - initialize_households - - initialize_tours - # --- STATIC cache prebuild steps - # single-process step to create attribute_combination list - - initialize_los - # multi-processable step to build STATIC cache - # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) - - initialize_tvpb - # --- - - tour_mode_choice_simulate - - write_data_dictionary - - track_skim_usage - - write_tables - - write_summaries - -output_tables: - h5_store: False - action: include - prefix: final_ - # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes - sort: True - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - attribute_combinations - -output_summaries: - tours: - - tour_mode - - od_path_set - - do_path_set diff --git a/activitysim/examples/example_marin/configs/settings_mp.yaml b/activitysim/examples/example_marin/configs/settings_mp.yaml deleted file mode 100644 index 9397441a84..0000000000 --- a/activitysim/examples/example_marin/configs/settings_mp.yaml +++ /dev/null @@ -1,84 +0,0 @@ -inherit_settings: settings.yaml - -# raise error if any sub-process fails without waiting for others to complete -fail_fast: True - - -# - ------------------------- dev config -multiprocess: True -strict: False -use_shadow_pricing: False - -households_sample_size: 0 -num_processes: 28 - -# - ------------------------- - -# not recommended or supported for multiprocessing -want_dest_choice_sample_tables: False - -#read_skim_cache: True -#write_skim_cache: True - -# - tracing -trace_hh_id: -trace_od: - -# to resume after last successful checkpoint, specify resume_after: _ -resume_after: - -models: - # - # -- multiprocess_step mp_initialize - # - - initialize_landuse - - initialize_households - - initialize_tours - # initialize_los is a single-process step to create attribute_combination list for initialize_tvpb - - initialize_los - # - # - multiprocess_step initialize_tvpb - # - # multi-processable step to build STATIC cache - # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) - - initialize_tvpb - # - # --- multiprocess_step mp_mode_choice - # - - tour_mode_choice_simulate - - write_data_dictionary - - track_skim_usage - - write_tables - - write_summaries - -multiprocess_steps: - - name: mp_initialize - begin: initialize_landuse - - name: mp_tvpb - begin: initialize_tvpb - num_processes: 20 # it is necessary to limit this to only 20 processes due to the small size of the example data - slice: - tables: - - attribute_combinations - - name: mp_mode_choice - begin: tour_mode_choice_simulate - slice: - tables: - - households - - persons - - tours - - name: mp_summarize - begin: write_data_dictionary - - -output_tables: - action: include - prefix: final_ - # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes - sort: True - tables: - - checkpoints - - households - - persons - - tours - - attribute_combinations diff --git a/activitysim/examples/example_marin/configs/tour_mode_choice.csv b/activitysim/examples/example_marin/configs/tour_mode_choice.csv deleted file mode 100755 index 386e2e37c1..0000000000 --- a/activitysim/examples/example_marin/configs/tour_mode_choice.csv +++ /dev/null @@ -1,226 +0,0 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,, -#util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,VEH == 0,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,AGEP < 16,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['TIMEDA'] + dot_skims['TIMEDA'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@df.origin_terminal_time,coef_walk_access_time,,,,,,,,,,,, -util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@df.dest_terminal_time,coef_walk_egress_time,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTDA'] + dot_skims['DISTDA']),coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLDA'] + dot_skims['BTOLLDA']),coef_ivt,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,VEH == 0,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,AGEP < 16,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['TOLLTIMEDA'] + dot_skims['TOLLTIMEDA'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@df.origin_terminal_time,,coef_walk_access_time,,,,,,,,,,, -util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@df.dest_terminal_time,,coef_walk_egress_time,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTDA'] + dot_skims['TOLLDISTDA']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLDA'] + dot_skims['TOLLBTOLLDA']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLDA'] + dot_skims['TOLLVTOLLDA']),,coef_ivt,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['TIMES2'] + dot_skims['TIMES2']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@df.origin_terminal_time,,,coef_walk_access_time,,,,,,,,,, -util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@df.dest_terminal_time,,,coef_walk_egress_time,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS2'] + dot_skims['DISTS2']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS2'] + dot_skims['BTOLLS2']) / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Person_is_between_16_and_24_years_old,SHARED2FREE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,c_age1624_sr2,,,,,,,,,, -util_SHARED2FREE_Person_is_between_41_and_55_years_old,SHARED2FREE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,c_age4155_sr2,,,,,,,,,, -util_SHARED2FREE_Person_is_between_56_and_64_years_old,SHARED2FREE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,c_age5664_sr2,,,,,,,,,, -util_SHARED2FREE_Person_is_between_65plus_years_old,SHARED2FREE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,c_age65pl_sr2,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.NP == 2),,,c_size2_sr2,,,,,,,,,, -util_SHARED2FREE_Three_person_household,SHARED2FREE - Three person household,@(df.NP == 3),,,c_size3_sr2,,,,,,,,,, -util_SHARED2FREE_Four_person_household,SHARED2FREE - Four person household,@(df.NP >= 4),,,c_size4p_sr2,,,,,,,,,, -util_SHARED2FREE_Female,SHARED2FREE - Female,@~df.is_male,,,c_female_sr2,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@df.origin_terminal_time,,,,coef_walk_access_time,,,,,,,,, -util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@df.dest_terminal_time,,,,coef_walk_egress_time,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Person_is_between_16_and_24_years_old,SHARED2PAY_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,c_age1624_sr2,,,,,,,,, -util_SHARED2PAY_Person_is_between_41_and_55_years_old,SHARED2PAY_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,c_age4155_sr2,,,,,,,,, -util_SHARED2PAY_Person_is_between_56_and_64_years_old,SHARED2PAY_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,c_age5664_sr2,,,,,,,,, -util_SHARED2PAY_Person_is_between_65plus_years_old,SHARED2PAY_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,c_age65pl_sr2,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.NP == 2),,,,c_size2_sr2,,,,,,,,, -util_SHARED2PAY_Three_person_household,SHARED2PAY - Three person household,@(df.NP == 3),,,,c_size3_sr2,,,,,,,,, -util_SHARED2PAY_Four_person_household,SHARED2PAY - Four person household,@(df.NP >= 4),,,,c_size4p_sr2,,,,,,,,, -util_SHARED2PAY_Female,SHARED2PAY - Female,@~df.is_male,,,,c_female_sr2,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['TIMES3'] + dot_skims['TIMES3']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@df.origin_terminal_time,,,,,coef_walk_access_time,,,,,,,, -util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@df.dest_terminal_time,,,,,coef_walk_egress_time,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS3'] + dot_skims['DISTS3']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS3'] + dot_skims['BTOLLS3']) / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Person_is_between_16_and_24_years_old,SHARED3FREE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,c_age1624_sr3,,,,,,,, -util_SHARED3FREE_Person_is_between_41_and_55_years_old,SHARED3FREE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,c_age4155_sr3,,,,,,,, -util_SHARED3FREE_Person_is_between_56_and_64_years_old,SHARED3FREE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,c_age5664_sr3,,,,,,,, -util_SHARED3FREE_Person_is_between_65plus_years_old,SHARED3FREE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,c_age65pl_sr3,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.NP == 2),,,,,c_size2_sr3,,,,,,,, -util_SHARED3FREE_Three_person_household,SHARED3FREE - Three person household,@(df.NP == 3),,,,,c_size3_sr3,,,,,,,, -util_SHARED3FREE_Four_person_household,SHARED3FREE - Four person household,@(df.NP >= 4),,,,,c_size4p_sr3,,,,,,,, -util_SHARED3FREE_Female,SHARED3FREE - Female,@~df.is_male,,,,,c_female_sr3,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['TOLLTIMES3'] + dot_skims['TOLLTIMES3']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@df.origin_terminal_time,,,,,,coef_walk_access_time,,,,,,, -util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@df.dest_terminal_time,,,,,,coef_walk_egress_time,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS3'] + dot_skims['TOLLDISTS3']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS3'] + dot_skims['TOLLBTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Person_is_between_16_and_24_years_old,SHARED3PAY_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,c_age1624_sr3,,,,,,, -util_SHARED3PAY_Person_is_between_41_and_55_years_old,SHARED3PAY_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,c_age4155_sr3,,,,,,, -util_SHARED3PAY_Person_is_between_56_and_64_years_old,SHARED3PAY_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,c_age5664_sr3,,,,,,, -util_SHARED3PAY_Person_is_between_65plus_years_old,SHARED3PAY_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,c_age65pl_sr3,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.NP == 2),,,,,,c_size2_sr3,,,,,,, -util_SHARED3PAY_Three_person_household,SHARED3PAY - Three person household,@(df.NP == 3),,,,,,c_size3_sr3,,,,,,, -util_SHARED3PAY_Four_person_household,SHARED3PAY - Four person household,@(df.NP >= 4),,,,,,c_size4p_sr3,,,,,,, -util_SHARED3PAY_Female,SHARED3PAY - Female,@~df.is_male,,,,,,c_female_sr3,,,,,,, -#,Walk,,,,,,,,,,,,,, -util_WALK_Unavailable,WALK - Unavailable,walk_available == False,,,,,,,-999,,,,,, -util_WALK_Time,WALK - walk time,@(od_skims.lookup('WALK_DIST') + od_skims.reverse('WALK_DIST'))*60/walkSpeed,,,,,,,c_walkTime,,,,,, -util_WALK_Person_is_between_16_and_24_years_old,WALK_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,c_age1624_nmot,,,,,, -util_WALK_Person_is_between_41_and_55_years_old,WALK_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,c_age4155_nmot,,,,,, -util_WALK_Person_is_between_56_and_64_years_old,WALK_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,c_age5664_nmot,,,,,, -util_WALK_Person_is_between_65plus_years_old,WALK_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,c_age65pl_nmot,,,,,, -util_WALK_Female,WALK - Female,@~df.is_male,,,,,,,c_female_nmot,,,,,, -util_WALK_Origin_Mix,WALK_Origin_Mix,@df.origin_Mix,,,,,,,c_oMix_nmot,,,,,, -util_WALK_Origin_Intersection_Density,WALK_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,c_oIntDen_nmot,,,,,, -util_WALK_Destination_Employment_Density,WALK_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,c_dEmpDen_nmot,,,,,, -#,Bike,,,,,,,,,,,,,, -util_BIKE_Unavailable,BIKE - Unavailable,bike_available == False,,,,,,,,-999,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, -util_BIKE_Time,BIKE - bike time,@(od_skims.lookup('BIKE_DIST') + od_skims.reverse('BIKE_DIST'))*60/bikeSpeed,,,,,,,,c_bikeTime,,,,, -util_BIKE_Person_is_between_16_and_24_years_old,BIKE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,c_age1624_nmot,,,,, -util_BIKE_Person_is_between_41_and_55_years_old,BIKE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,c_age4155_nmot,,,,, -util_BIKE_Person_is_between_56_and_64_years_old,BIKE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,c_age5664_nmot,,,,, -util_BIKE_Person_is_between_65plus_years_old,BIKE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,c_age65pl_nmot,,,,, -util_BIKE_Female,BIKE - Female,@~df.is_male,,,,,,,,c_female_nmot,,,,, -util_BIKE_Origin_Mix,BIKE_Origin_Mix,@df.origin_Mix,,,,,,,,c_oMix_nmot,,,,, -util_BIKE_Origin_Intersection_Density,BIKE_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,,c_oIntDen_nmot,,,,, -util_BIKE_Destination_Employment_Density,BIKE_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,c_dEmpDen_nmot,,,,, -#,Walk to Local,,,,,,,,,,,,,, -util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW'],,,,,,,,,coef_one,,,, -util_WALK_TRANSIT_Person_is_between_16_and_24_years_old,WALK_TRANSIT_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,,c_age1624_tran,,,, -util_WALK_TRANSIT_Person_is_between_41_and_55_years_old,WALK_TRANSIT_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,,c_age4155_tran,,,, -util_WALK_TRANSIT_Person_is_between_56_and_64_years_old,WALK_TRANSIT_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,,c_age5664_tran,,,, -util_WALK_TRANSIT_Person_is_between_65plus_years_old,WALK_TRANSIT_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,,c_age65pl_tran,,,, -util_WALK_TRANSIT_Female,BIKE - Female,@~df.is_male,,,,,,,,,c_female_tran,,,, -util_WALK_TRANSIT_Origin_Mix,WALK_TRANSIT_Origin_Mix,@df.origin_Mix,,,,,,,,,c_oMix_wtran,,,, -util_WALK_TRANSIT_Origin_Intersection_Density,WALK_TRANSIT_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,,,c_oIntDen_wtran,,,, -util_WALK_TRANSIT_Destination_Employment_Density,WALK_TRANSIT_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,,c_dEmpDen_wtran,,,, -#,Drive to Local,,,,,,,,,,,,,, -util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,VEH == 0,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,AGEP < 16,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD'],,,,,,,,,,coef_one,,, -util_DRIVE_TRANSIT_Person_is_between_16_and_24_years_old,DRIVE_TRANSIT_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,,,c_age1624_tran,,, -util_DRIVE_TRANSIT_Person_is_between_41_and_55_years_old,DRIVE_TRANSIT_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,,,c_age4155_tran,,, -util_DRIVE_TRANSIT_Person_is_between_56_and_64_years_old,DRIVE_TRANSIT_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,,,c_age5664_tran,,, -util_DRIVE_TRANSIT_Person_is_between_65plus_years_old,DRIVE_TRANSIT_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,,,c_age65pl_tran,,, -util_DRIVE_TRANSIT_Female,BIKE - Female,@~df.is_male,,,,,,,,,,c_female_tran,,, -util_DRIVE_TRANSIT_Destination_Employment_Density,DRIVE_TRANSIT_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,,,c_dEmpDen_dtran,,, -#,Taxi,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,coef_ivt,, -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']),,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * Taxi_costPerMile +(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_single_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_shared_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt -#,indiv tour ASCs,,,,,,,,,,,,,, -util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,zeroAutoHH_walk,,,,,, -util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,autoDeficientHH_walk,,,,,, -util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,autoSufficientHH_walk,,,,,, -util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,zeroAutoHH_bike,,,,, -util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,0,,,,, -util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,autoSufficientHH_bike,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,0,0,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,autoDeficientHH_sr2,autoDeficientHH_sr2,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,autoSufficientHH_sr2,autoSufficientHH_sr2,,,,,,,,, -util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,zeroAutoHH_sr3,zeroAutoHH_sr3,,,,,,, -util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,autoDeficientHH_sr3,autoDeficientHH_sr3,,,,,,, -util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,autoSufficientHH_sr3,autoSufficientHH_sr3,,,,,,, -util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,zeroAutoHH_wt,,,, -util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,autoDeficientHH_wt,,,, -util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,autoSufficientHH_wt,,,, -util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,zeroAutoHH_kt,,, -util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,autoDeficientHH_dt,,, -util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,autoSufficientHH_dt,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,0,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,0,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,0,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,0, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,0, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,0, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,,0 -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,0 -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,0 -#,joint tour ASCs,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,0,,,,,, -util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,0,,,,,, -util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,0,,,,,, -util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,0,,,,, -util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,0,,,,, -util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,0,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,0,0,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,0,0,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,0,0,,,,,,,,, -util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,0,0,,,,,,, -util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,0,0,,,,,,, -util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,0,0,,,,,,, -util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,0,,,, -util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,0,,,, -util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,0,,,, -util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,0,,, -util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,0,,, -util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,0,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,0,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,0,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,0,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,0, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,0, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,0, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,,0 -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,0 -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,0 -#,calibration,,,,,,,,,,,,,, -util_Walk_to_Transit_dest_CBD_SF,Walk to Transit dest CBD SF,@df.destination_in_cbd_sf,,,,,,,,,asc_wtransit_cbd_sf,,,, -util_Walk_to_Transit_dest_NW_SF,walk to Transit dest NW SF,@df.destination_in_nw_sf,,,,,,,,,asc_wtransit_nw_sf,,,, -util_Walk_to_Transit_dest_SE_SF,Walk to Transit dest SE SF,@df.destination_in_se_sf,,,,,,,,,asc_wtransit_se_sf,,,, -util_Drive_to_Transit_dest_CBD_SF,Drive to Transit dest CBD SF,@df.destination_in_cbd_sf,,,,,,,,,,asc_dtransit_cbd_sf,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@(50-2.5*odt_skims['DISTDA']).clip(lower=0),,,,,,,,,,coef_ivt,,, -util_Walk_to_Transit_distance_penalty,Walk to Transit - distance penalty,@(200-133*odt_skims['DISTDA']).clip(lower=0),,,,,,,,,coef_ivt,,,, -util_Transit_Pseudo_area_type_constant,Transit - Pseudo area type constant,@asc_Transit_Pseudo_area_type_constant * (df.daily_parking_cost>0),,,,,,,,,coef_ivt,coef_ivt,,, -util_TM2_Round_2_ASC_adjustment_for_0_Autos_HHs,TM2_Round_2_ASC_adjustment_for_0_Autos_HHs,@(df.is_indiv & (df.VEH == 0)),,,zeroAutoHH_SHARED2HOV,zeroAutoHH_SHARED2PAY,zeroAutoHH_SHARED3HOV,zeroAutoHH_SHARED3PAY,zeroAutoHH_WALK,zeroAutoHH_BIKE,zeroAutoHH_WALK_SET,zeroAutoHH_PNR_SET,,, -util_TM2_Round_2_ASC_adjustment_for_Auto_Defecient_HHs,TM2_Round_2_ASC_adjustment_for_Auto_Defecient_HHs,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,autoDeficientHH_SHARED2HOV,autoDeficientHH_SHARED2PAY,autoDeficientHH_SHARED3HOV,autoDeficientHH_SHARED3PAY,autoDeficientHH_WALK,autoDeficientHH_BIKE,autoDeficientHH_WALK_SET,autoDeficientHH_PNR_SET,,, -util_TM2_Round_2_ASC_adjustment_for_Auto_Sufficient_HHs,TM2_Round_2_ASC_adjustment_for_Auto_Sufficient_HHs,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,autoSufficientHH_SHARED2HOV,autoSufficientHH_SHARED2PAY,autoSufficientHH_SHARED3HOV,autoSufficientHH_SHARED3PAY,autoSufficientHH_WALK,autoSufficientHH_BIKE,autoSufficientHH_WALK_SET,autoSufficientHH_PNR_SET,,, -util_taxi_penalty,taxi penalty,@asc_taxi_penalty,,,,,,,,,,,coef_one,, -util_no_tnc,turn off tnc,1,,,,,,,,,,,,-999,-999 diff --git a/activitysim/examples/example_marin/configs/tour_mode_choice.yaml b/activitysim/examples/example_marin/configs/tour_mode_choice.yaml deleted file mode 100755 index 5aadac97d7..0000000000 --- a/activitysim/examples/example_marin/configs/tour_mode_choice.yaml +++ /dev/null @@ -1,188 +0,0 @@ -LOGIT_TYPE: NL -#LOGIT_TYPE: MNL - -tvpb_mode_path_types: - DRIVE_TRANSIT: - od: DTW - do: WTD - WALK_TRANSIT: - od: WTW - do: WTW - -NESTS: - name: root - coefficient: coef_nest_root - alternatives: - - name: AUTO - coefficient: coef_nest_AUTO - alternatives: - - name: DRIVEALONE - coefficient: coef_nest_AUTO_DRIVEALONE - alternatives: - - DRIVEALONEFREE - - DRIVEALONEPAY - - name: SHAREDRIDE2 - coefficient: coef_nest_AUTO_SHAREDRIDE2 - alternatives: - - SHARED2FREE - - SHARED2PAY - - name: SHAREDRIDE3 - coefficient: coef_nest_AUTO_SHAREDRIDE3 - alternatives: - - SHARED3FREE - - SHARED3PAY - - name: NONMOTORIZED - coefficient: coef_nest_NONMOTORIZED - alternatives: - - WALK - - BIKE - - name: TRANSIT - coefficient: coef_nest_TRANSIT - alternatives: - - WALK_TRANSIT - - DRIVE_TRANSIT - - name: RIDEHAIL - coefficient: coef_nest_RIDEHAIL - alternatives: - - TAXI - - TNC_SINGLE - - TNC_SHARED - -SPEC: tour_mode_choice.csv -COEFFICIENTS: tour_mode_choice_coefficients.csv -COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv - -CONSTANTS: - #valueOfTime: 8.00 - costPerMile: 17.23 - costShareSr2: 1.11 - costShareSr3: 1.25 -# waitThresh: 10.00 - walkThresh: 3.0 -# shortWalk: 0.333 -# longWalk: 0.667 - walkSpeed: 3.00 - bikeThresh: 12.00 - bikeSpeed: 12.00 -# maxCbdAreaTypeThresh: 2 -# indivTour: 1.00000 -# upperEA: 5 -# upperAM: 10 -# upperMD: 15 -# upperPM: 19 - # RIDEHAIL Settings - Taxi_baseFare: 2.20 - Taxi_costPerMile: 2.30 - Taxi_costPerMinute: 0.10 - Taxi_waitTime_mean: - 1: 5.5 - 2: 9.5 - 3: 13.3 - 4: 17.3 - 5: 26.5 - Taxi_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_single_baseFare: 2.20 - TNC_single_costPerMile: 1.33 - TNC_single_costPerMinute: 0.24 - TNC_single_costMinimum: 7.20 - TNC_single_waitTime_mean: - 1: 3.0 - 2: 6.3 - 3: 8.4 - 4: 8.5 - 5: 10.3 - TNC_single_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_shared_baseFare: 2.20 - TNC_shared_costPerMile: 0.53 - TNC_shared_costPerMinute: 0.10 - TNC_shared_costMinimum: 3.00 - TNC_shared_IVTFactor: 1.5 - TNC_shared_waitTime_mean: - 1: 5.0 - 2: 8.0 - 3: 11.0 - 4: 15.0 - 5: 15.0 - TNC_shared_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - min_waitTime: 0 - max_waitTime: 50 -# - ivt_cost_multiplier: 0.6 -# ivt_lrt_multiplier: 0.9 -# ivt_ferry_multiplier: 0.8 -# ivt_exp_multiplier: 1 -# ivt_hvy_multiplier: 0.8 -# ivt_com_multiplier: 0.7 - walktimeshort_multiplier: 2 -# walktimelong_multiplier: 10 -# biketimeshort_multiplier: 4 -# biketimelong_multiplier: 20 -# short_i_wait_multiplier: 2 -# long_i_wait_multiplier: 1 -# wacc_multiplier: 2 -# wegr_multiplier: 2 -# waux_multiplier: 2 -# dtim_multiplier: 2 -# xwait_multiplier: 2 -# dacc_ratio: 0 -# xfers_wlk_multiplier: 10 -# xfers_drv_multiplier: 20 - drvtrn_distpen_0_multiplier: 270 - drvtrn_distpen_max: 15 -# density_index_multiplier: -0.2 - joint_sr2_ASC_no_auto: 0 - joint_sr2_ASC_auto_deficient: 0 - joint_sr2_ASC_auto_sufficient: 0 - joint_drive_transit_ASC_no_auto: 0 - c_auto_operating_cost_per_mile: 17.23 - - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - - tours - -nontour_preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - -# to reduce memory needs filter chooser table to these fields -LOGSUM_CHOOSER_COLUMNS: - - tour_type - - hhsize - - density_index - - age - - age_16_p - - age_16_to_19 - - auto_ownership - - number_of_participants - - tour_category - - num_workers - - value_of_time - - free_parking_at_work - - income_segment - - demographic_segment - - c_ivt_for_segment - - c_cost_for_segment - -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/example_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/example_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv deleted file mode 100755 index 1e9f1978a6..0000000000 --- a/activitysim/examples/example_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv +++ /dev/null @@ -1,87 +0,0 @@ -Description,Target,Expression, -#,,, -,number_of_participants,1, -,is_joint,False, -#,,, -,_HAVE_PARENT_TOURS,False, -,_parent_tour_mode,False, -,work_tour_is_drive,False, -,work_tour_is_bike,False, -,work_tour_is_SOV,False, -#,,, -,is_mandatory,True, -,is_joint,False, -,is_indiv,~is_joint, -,is_atwork_subtour,False, -,is_escort,False, -#,,, -income_in_thousands,income_in_thousands,(df.HHINCADJ / 1000).clip(lower=0), -income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)", -,demographic_segment,income_segment.map(TVPB_demographic_segments_by_income_segment), -#,c_ivt_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)", -#,c_cost_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)", -#,,, -#,c_cost,(0.60 * c_ivt) / df.value_of_time, -# ivot * (c_ivt_cost_multiplier * c_ivt),,, -,ivot,1.0 / df.value_of_time, -# RIDEHAIL,,, -,origin_density_measure,"(reindex(land_use.POP, df[orig_col_name]) + reindex(land_use.emp_total, df[orig_col_name])) / (reindex(land_use.ACRES, df[orig_col_name]) / 640)", -,dest_density_measure,"(reindex(land_use.POP, df[dest_col_name]) + reindex(land_use.emp_total, df[dest_col_name])) / (reindex(land_use.ACRES, df[dest_col_name]) / 640)", -,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", -,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", -,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", -,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", -,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", -,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", -# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from -,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", -,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", -,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", -,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", -,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", -,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", -,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", -,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", -,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime, -,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime, -,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime, -#,,, -,_free_parking_available,(df.tour_type == 'work') & (df.fp_choice == 1), -,_dest_hourly_peak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", -,_dest_hourly_offpeak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", -,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)", -,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)", -just hourly instead of times duration for now,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost, _hourly_offpeak_parking_cost)", -#,,, -,distance,(odt_skims['DISTDA']), -,sov_available,(odt_skims['TIMEDA']>0) & (dot_skims['TIMEDA']>0), -,sovtoll_available,(odt_skims['TOLLVTOLLDA']>0) | (dot_skims['TOLLVTOLLDA']>0), -,hov2_available,(odt_skims['TIMES2'] + dot_skims['TIMES2'])>0, -,hov2toll_available,(odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2'])>0, -,hov3_available,(odt_skims['TIMES3']>0) & (dot_skims['TIMES3']>0), -,hov3toll_available,(odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3'])>0, -,walk_available,"od_skims.lookup('WALK_DIST').between(0.01, walkThresh) & od_skims.reverse('WALK_DIST').between(0.01, walkThresh)", -,bike_available,"od_skims.lookup('BIKE_DIST').between(0.01, bikeThresh) & od_skims.reverse('BIKE_DIST').between(0.01, bikeThresh)", -#,,, -destination district,destination_in_cbd_sf,"reindex(land_use.DistID, df[dest_col_name])==1", -destination district,destination_in_nw_sf,"reindex(land_use.DistID, df[dest_col_name])==2", -destination district,destination_in_se_sf,"reindex(land_use.DistID, df[dest_col_name])==3", -#,,, -,origin_terminal_time,"reindex(land_use.TERMINALTIME, df[orig_col_name])", -,dest_terminal_time,"reindex(land_use.TERMINALTIME, df[dest_col_name])", -,origin_DUDen,"reindex(land_use.DUDen, df[orig_col_name])", -,dest_DUDen,"reindex(land_use.DUDen, df[dest_col_name])", -,origin_EmpDen,"reindex(land_use.EmpDen, df[orig_col_name])", -,dest_EmpDen,"reindex(land_use.EmpDen, df[dest_col_name])", -,origin_TotInt,"reindex(land_use.TotInt, df[orig_col_name])", -,dest_TotInt,"reindex(land_use.TotInt, df[dest_col_name])", -,origin_Mix,"(origin_DUDen * origin_EmpDen) / np.where((origin_DUDen + origin_EmpDen) > 0, (origin_DUDen + origin_EmpDen), 0.001)", -,dest_Mix,"(dest_DUDen * dest_EmpDen) / np.where((dest_DUDen + dest_EmpDen) > 0, (dest_DUDen + dest_EmpDen), 0.001)", -# diagnostic,,, -#,sov_dist_roundtrip,(odt_skims['DISTDA'] + dot_skims['DISTDA']), diff --git a/activitysim/examples/example_marin/configs/tour_mode_choice_coefficients.csv b/activitysim/examples/example_marin/configs/tour_mode_choice_coefficients.csv deleted file mode 100755 index 22e88732da..0000000000 --- a/activitysim/examples/example_marin/configs/tour_mode_choice_coefficients.csv +++ /dev/null @@ -1,394 +0,0 @@ -coefficient_name,value,constrain -coef_one,1,T -coef_nest_root,1,T -coef_nest_AUTO,0.72,T -coef_nest_AUTO_DRIVEALONE,0.35,T -coef_nest_AUTO_SHAREDRIDE2,0.35,T -coef_nest_AUTO_SHAREDRIDE3,0.35,T -coef_nest_NONMOTORIZED,0.72,T -coef_nest_TRANSIT,0.72,T -coef_nest_TRANSIT_WALKACCESS,0.5,T -coef_nest_TRANSIT_DRIVEACCESS,0.5,T -coef_nest_RIDEHAIL,0.36,T -coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F -coef_ivt_school_univ,-0.0224,F -coef_ivt_work,-0.016,F -coef_ivt_atwork,-0.0188,F -coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F -coef_topology_walk_multiplier_atwork,7.5,F -coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F -coef_topology_bike_multiplier_atwork,10,F -coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F -coef_topology_trn_multiplier_atwork,2,F -coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age1619_da_multiplier_school_univ,-1.3813,F -coef_age1619_da_multiplier_atwork,0.0032336,F -coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age010_trn_multiplier_school_univ,-1.5548,F -coef_age010_trn_multiplier_atwork,0.000722,F -coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F -coef_age16p_sr_multiplier_school_univ_work_atwork,0,F -coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F -coef_hhsize1_sr_multiplier_work,-0.734588,F -coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F -coef_hhsize2_sr_multiplier_school_univ,-0.6359,F -coef_walk_access_time,-0.03,T -coef_walk_egress_time,-0.03,T -c_age1624_sr2,-0.21388,T -c_age1624_sr3,-1.79023,T -c_age1624_nmot,0.30322,T -c_age1624_tran,0.79472,T -c_age4155_sr2,-0.30638,T -c_age4155_sr3,-0.41025,T -c_age4155_nmot,-0.17752,T -c_age4155_tran,-0.42301,T -c_age5664_sr2,-1.02962,T -c_age5664_sr3,-0.85641,T -c_age5664_nmot,-0.64534,T -c_age5664_tran,-0.44991,T -c_age65pl_sr2,-0.67111,T -c_age65pl_sr3,-1.43462,T -c_age65pl_nmot,-1.45334,T -c_age65pl_tran,-1.1231,T -c_female_sr2,0.59473,T -c_female_sr3,0.84806,T -c_female_tran,0.15779,T -c_female_nmot,0,T -c_size2_sr2,1.06964,T -c_size2_sr3,-0.46736,T -c_size3_sr2,1.58018,T -c_size3_sr3,0.65463,T -c_size4p_sr2,1.68839,T -c_size4p_sr3,1.4987,T -c_walkTime,-0.059,T -c_bikeTime,-0.0492,T -c_oMix_nmot,0.21014,T -c_oMix_wtran,0,T -c_oIntDen_nmot,0.003,T -c_oIntDen_wtran,0,T -c_dEmpDen_nmot,0.02071,T -c_dEmpDen_wtran,0,T -c_dEmpDen_dtran,0,T -walk_ASC_no_auto_eatout,5.1251173,F -walk_ASC_no_auto_escort,2.8012068,F -walk_ASC_no_auto_othdiscr,3.2665946,F -walk_ASC_no_auto_othmaint,1.287299,F -walk_ASC_no_auto_school,18.414557,F -walk_ASC_no_auto_shopping,2.3768773,F -walk_ASC_no_auto_social,1.8680915,F -walk_ASC_no_auto_univ,6.408967,F -walk_ASC_no_auto_work,5.7672157,F -walk_ASC_no_auto_atwork,6.669213,F -walk_ASC_auto_deficient_eatout,3.274605,F -walk_ASC_auto_deficient_escort,-0.90204656,F -walk_ASC_auto_deficient_othdiscr,2.2494075,F -walk_ASC_auto_deficient_othmaint,1.3690404,F -walk_ASC_auto_deficient_school,3.2573624,F -walk_ASC_auto_deficient_shopping,2.2701733,F -walk_ASC_auto_deficient_social,2.870184,F -walk_ASC_auto_deficient_univ,4.50591,F -walk_ASC_auto_deficient_work,2.4010417,F -walk_ASC_auto_deficient_atwork,0.92546093,F -walk_ASC_auto_sufficient_eatout,1.5516903,F -walk_ASC_auto_sufficient_escort,-0.8116066,F -walk_ASC_auto_sufficient_othdiscr,1.2633476,F -walk_ASC_auto_sufficient_othmaint,0.7999634,F -walk_ASC_auto_sufficient_school,0.6476856,F -walk_ASC_auto_sufficient_shopping,0.7312663,F -walk_ASC_auto_sufficient_social,1.7072186,F -walk_ASC_auto_sufficient_univ,1.0607665,F -walk_ASC_auto_sufficient_work,0.053265337,F -walk_ASC_auto_sufficient_atwork,0.677216,F -bike_ASC_no_auto_eatout,0.86807096,F -bike_ASC_no_auto_escort,-0.716212,F -bike_ASC_no_auto_othdiscr,-0.3764232,F -bike_ASC_no_auto_othmaint,1.5394334,F -bike_ASC_no_auto_school,12.098735,F -bike_ASC_no_auto_shopping,0.8341555,F -bike_ASC_no_auto_social,0.02058321,F -bike_ASC_no_auto_univ,4.2945156,F -bike_ASC_no_auto_work,3.1940088,F -bike_ASC_no_auto_atwork,-0.90725845,F -bike_ASC_auto_deficient_eatout,-1.5691106,F -bike_ASC_auto_deficient_escort,-4.527928,F -bike_ASC_auto_deficient_othdiscr,-0.09246834,F -bike_ASC_auto_deficient_othmaint,-1.5184649,F -bike_ASC_auto_deficient_school,-0.5280678,F -bike_ASC_auto_deficient_shopping,-0.87584466,F -bike_ASC_auto_deficient_social,0.6345214,F -bike_ASC_auto_deficient_univ,-0.669235,F -bike_ASC_auto_deficient_work,0.25318968,F -bike_ASC_auto_deficient_atwork,-0.8074083,F -bike_ASC_auto_sufficient_eatout,-1.2003471,F -bike_ASC_auto_sufficient_escort,-5.0631084,F -bike_ASC_auto_sufficient_othdiscr,-1.0714597,F -bike_ASC_auto_sufficient_othmaint,-2.8083024,F -bike_ASC_auto_sufficient_school,-2.1134686,F -bike_ASC_auto_sufficient_shopping,-2.5662103,F -bike_ASC_auto_sufficient_social,-1.368071,F -bike_ASC_auto_sufficient_univ,-1.9397832,F -bike_ASC_auto_sufficient_work,-1.5800232,F -bike_ASC_auto_sufficient_atwork,15.72017,F -sr2_ASC_no_auto_all,0,F -sr2_ASC_auto_deficient_eatout,0.5882345,F -sr2_ASC_auto_deficient_escort,0,F -sr2_ASC_auto_deficient_othdiscr,0.6601513,F -sr2_ASC_auto_deficient_othmaint,0.2621527,F -sr2_ASC_auto_deficient_school,0.12474365,F -sr2_ASC_auto_deficient_shopping,0.24409756,F -sr2_ASC_auto_deficient_social,1.8558528,F -sr2_ASC_auto_deficient_univ,-1.6922346,F -sr2_ASC_auto_deficient_work,-0.33803123,F -sr2_ASC_auto_deficient_atwork,-2.1102421,F -sr2_ASC_auto_sufficient_eatout,0.86280555,F -sr2_ASC_auto_sufficient_escort,0,F -sr2_ASC_auto_sufficient_othdiscr,0.49684617,F -sr2_ASC_auto_sufficient_othmaint,0.25817883,F -sr2_ASC_auto_sufficient_school,-1.6062657,F -sr2_ASC_auto_sufficient_shopping,0.19770707,F -sr2_ASC_auto_sufficient_social,0.5236025,F -sr2_ASC_auto_sufficient_univ,-1.859427,F -sr2_ASC_auto_sufficient_work,-1.0857458,F -sr2_ASC_auto_sufficient_atwork,-1.4450618,F -sr3p_ASC_no_auto_eatout,0.3219998,F -sr3p_ASC_no_auto_escort,-1.8129267,F -sr3p_ASC_no_auto_othdiscr,0.27216902,F -sr3p_ASC_no_auto_othmaint,-0.8031854,F -sr3p_ASC_no_auto_school,-6.0240827,F -sr3p_ASC_no_auto_shopping,-0.27978948,F -sr3p_ASC_no_auto_social,-1.4036902,F -sr3p_ASC_no_auto_univ,-6.056001,F -sr3p_ASC_no_auto_work,-0.5831269,F -sr3p_ASC_no_auto_atwork,0.5826626,F -sr3p_ASC_auto_deficient_eatout,0.04605236,F -sr3p_ASC_auto_deficient_escort,-0.40818766,F -sr3p_ASC_auto_deficient_othdiscr,1.0470966,F -sr3p_ASC_auto_deficient_othmaint,-1.3493925,F -sr3p_ASC_auto_deficient_school,0.7149571,F -sr3p_ASC_auto_deficient_shopping,-0.073370166,F -sr3p_ASC_auto_deficient_social,1.5007243,F -sr3p_ASC_auto_deficient_univ,-1.7277422,F -sr3p_ASC_auto_deficient_work,-0.8527042,F -sr3p_ASC_auto_deficient_atwork,-2.514658,F -sr3p_ASC_auto_sufficient_eatout,0.8468596,F -sr3p_ASC_auto_sufficient_escort,-0.05741253,F -sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F -sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F -sr3p_ASC_auto_sufficient_school,-1.0201935,F -sr3p_ASC_auto_sufficient_shopping,-0.077571295,F -sr3p_ASC_auto_sufficient_social,0.50617886,F -sr3p_ASC_auto_sufficient_univ,-1.9047098,F -sr3p_ASC_auto_sufficient_work,-1.4699702,F -sr3p_ASC_auto_sufficient_atwork,-1.652174,F -walk_transit_ASC_no_auto_eatout,2.5936368,F -walk_transit_ASC_no_auto_escort,-2.2172081,F -walk_transit_ASC_no_auto_othdiscr,2.2437785,F -walk_transit_ASC_no_auto_othmaint,2.5643456,F -walk_transit_ASC_no_auto_school,21.383749,F -walk_transit_ASC_no_auto_shopping,2.1067476,F -walk_transit_ASC_no_auto_social,1.3814651,F -walk_transit_ASC_no_auto_univ,8.786037,F -walk_transit_ASC_no_auto_work,5.0354166,F -walk_transit_ASC_no_auto_atwork,2.7041876,F -walk_transit_ASC_auto_deficient_eatout,-0.03896324,F -walk_transit_ASC_auto_deficient_escort,-4.960704,F -walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F -walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F -walk_transit_ASC_auto_deficient_school,4.120708,F -walk_transit_ASC_auto_deficient_shopping,-0.8476569,F -walk_transit_ASC_auto_deficient_social,0.97444487,F -walk_transit_ASC_auto_deficient_univ,3.1362555,F -walk_transit_ASC_auto_deficient_work,0.65302855,F -walk_transit_ASC_auto_deficient_atwork,-2.9988291,F -walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F -walk_transit_ASC_auto_sufficient_escort,-4.934847,F -walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F -walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F -walk_transit_ASC_auto_sufficient_school,0.74590874,F -walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F -walk_transit_ASC_auto_sufficient_social,-0.3453759,F -walk_transit_ASC_auto_sufficient_univ,0.4731163,F -walk_transit_ASC_auto_sufficient_work,-0.8916507,F -walk_transit_ASC_auto_sufficient_atwork,-3.401027,F -drive_transit_ASC_no_auto_all,0,F -drive_transit_ASC_auto_deficient_eatout,0.5998061,F -drive_transit_ASC_auto_deficient_escort,-1.1537067,F -drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F -drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F -drive_transit_ASC_auto_deficient_school,5.3252654,F -drive_transit_ASC_auto_deficient_shopping,-0.41849178,F -drive_transit_ASC_auto_deficient_social,1.5627195,F -drive_transit_ASC_auto_deficient_univ,1.8501176,F -drive_transit_ASC_auto_deficient_work,0.10081567,F -drive_transit_ASC_auto_deficient_atwork,-998.8196,F -drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F -drive_transit_ASC_auto_sufficient_escort,-4.6014247,F -drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F -drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F -drive_transit_ASC_auto_sufficient_school,1.40135,F -drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F -drive_transit_ASC_auto_sufficient_social,-0.61585575,F -drive_transit_ASC_auto_sufficient_univ,1.3587753,F -drive_transit_ASC_auto_sufficient_work,-1.0045459,F -drive_transit_ASC_auto_sufficient_atwork,-999.21466,F -taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F -taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F -taxi_ASC_no_auto_school_univ,-7,T -taxi_ASC_no_auto_work,4.7291,F -taxi_ASC_no_auto_atwork,4.1021,F -taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F -taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F -taxi_ASC_auto_deficient_school,-0.3338,F -taxi_ASC_auto_deficient_univ,4.2492,F -taxi_ASC_auto_deficient_work,-1.4766,F -taxi_ASC_auto_deficient_atwork,-4.4046,F -taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F -taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F -taxi_ASC_auto_sufficient_school,-2.4294,F -taxi_ASC_auto_sufficient_univ,-0.3131,F -taxi_ASC_auto_sufficient_work,-4.8509,F -taxi_ASC_auto_sufficient_atwork,-2.8804,F -tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F -tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F -tnc_single_ASC_no_auto_school,-7,T -tnc_single_ASC_no_auto_univ,-2.519,F -tnc_single_ASC_no_auto_work,5.7855,F -tnc_single_ASC_no_auto_atwork,4.4982,F -tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F -tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F -tnc_single_ASC_auto_deficient_school,-0.5524,F -tnc_single_ASC_auto_deficient_univ,1.0221,F -tnc_single_ASC_auto_deficient_work,-0.8013,F -tnc_single_ASC_auto_deficient_atwork,-3.7626,F -tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F -tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F -tnc_single_ASC_auto_sufficient_school,-2.8375,F -tnc_single_ASC_auto_sufficient_univ,0.2088,F -tnc_single_ASC_auto_sufficient_work,-4.1946,F -tnc_single_ASC_auto_sufficient_atwork,-2.7988,F -tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F -tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F -tnc_shared_ASC_no_auto_school,-7,T -tnc_shared_ASC_no_auto_univ,-5.8116,F -tnc_shared_ASC_no_auto_work,3.2429,F -tnc_shared_ASC_no_auto_atwork,3.3672,F -tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F -tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F -tnc_shared_ASC_auto_deficient_school,-1.4746,F -tnc_shared_ASC_auto_deficient_univ,3.25,F -tnc_shared_ASC_auto_deficient_work,-2.1435,F -tnc_shared_ASC_auto_deficient_atwork,-4.5089,F -tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F -tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F -tnc_shared_ASC_auto_sufficient_school,-3.7219,F -tnc_shared_ASC_auto_sufficient_univ,-0.9068,F -tnc_shared_ASC_auto_sufficient_work,-5.3575,F -tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F -joint_walk_ASC_no_auto_all,-0.21274701,F -joint_walk_ASC_auto_deficient_all,-1.9607706,F -joint_walk_ASC_auto_sufficient_all,-3.2352157,F -joint_bike_ASC_no_auto_all,-2.8671598,F -joint_bike_ASC_auto_deficient_all,-6.076415,F -joint_bike_ASC_auto_sufficient_all,-6.3760657,F -joint_sr2_ASC_no_auto_all,0,T -joint_sr2_ASC_auto_deficient_all,0,T -joint_sr2_ASC_auto_sufficient_all,0,T -joint_sr3p_ASC_no_auto_all,0.5630671,F -joint_sr3p_ASC_auto_deficient_all,-1.8841692,F -joint_sr3p_ASC_auto_sufficient_all,-2.234826,F -joint_walk_transit_ASC_no_auto_all,0.62292415,F -joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F -joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F -joint_drive_transit_ASC_no_auto_all,0,T -joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F -joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F -joint_taxi_ASC_no_auto_all,-4.5792,F -joint_taxi_ASC_auto_deficient_all,-9.8157,F -joint_taxi_ASC_auto_sufficient_all,-11.7099,T -joint_tnc_single_ASC_no_auto_all,-4.4917,F -joint_tnc_single_ASC_auto_deficient_all,-9.8961,F -joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T -joint_tnc_shared_ASC_no_auto_all,-4.3002,F -joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F -joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T -local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F -local_bus_ASC_school_univ,-0.06508621,F -local_bus_ASC_work,0.06689507,F -walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -walk_light_rail_ASC_school_univ,1.6814003,F -walk_light_rail_ASC_work,0.8255567,F -drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -drive_light_rail_ASC_school_univ,1.6814003,F -drive_light_rail_ASC_work,0.8255567,F -walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -walk_ferry_ASC_school_univ,2.0202317,F -walk_ferry_ASC_work,0.93322605,F -drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -drive_ferry_ASC_school_univ,2.0202317,F -drive_ferry_ASC_work,0.93322605,F -express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F -express_bus_ASC_school_univ,0.32496938,F -express_bus_ASC_work,-0.5165474,F -heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F -heavy_rail_ASC_school_univ,0.96200377,F -heavy_rail_ASC_work,0.64772975,F -commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F -commuter_rail_ASC_school_univ,1.0336206,F -commuter_rail_ASC_work,0.725503,F -walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -walk_transit_CBD_ASC_school_univ,0.672,F -walk_transit_CBD_ASC_work,0.804,F -walk_transit_CBD_ASC_atwork,0.564,F -drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -drive_transit_CBD_ASC_school_univ,0.672,F -drive_transit_CBD_ASC_work,1.1,F -drive_transit_CBD_ASC_atwork,0.564,F -zeroAutoHH_sr3,-0.466,F -zeroAutoHH_walk,6.823,F -zeroAutoHH_bike,3.536,F -zeroAutoHH_wt,10.326,F -zeroAutoHH_kt,8.281,F -autoDeficientHH_sr2,-2.166,F -autoDeficientHH_sr3,-2.580,F -autoDeficientHH_walk,2.794,F -autoDeficientHH_bike,-0.015,F -autoDeficientHH_wt,-0.940,F -autoDeficientHH_dt,-1.706,F -autoDeficientHH_kt,-2.229,F -autoSufficientHH_sr2,-2.582,F -autoSufficientHH_sr3,-2.580,F -autoSufficientHH_walk,0.729,F -autoSufficientHH_bike,-1.434,F -autoSufficientHH_wt,-2.582,F -autoSufficientHH_dt,-2.923,F -autoSufficientHH_kt,-3.493,F -asc_wtransit_cbd_sf,2.0000,F -asc_wtransit_nw_sf,1.2500,F -asc_wtransit_se_sf,1.2500,F -asc_dtransit_cbd_sf,1.2000,F -asc_Transit_Pseudo_area_type_constant,-55.0000,F -asc_taxi_penalty,-10.0000,F -zeroAutoHH_SHARED2HOV,0,F -autoDeficientHH_SHARED2HOV,0.2369,F -autoSufficientHH_SHARED2HOV,0.1127,F -zeroAutoHH_SHARED2PAY,0,F -autoDeficientHH_SHARED2PAY,0.2369,F -autoSufficientHH_SHARED2PAY,0.1127,F -zeroAutoHH_SHARED3HOV,-2.3789,F -autoDeficientHH_SHARED3HOV,0.2982,F -autoSufficientHH_SHARED3HOV,0.1494,F -zeroAutoHH_SHARED3PAY,-2.3789,F -autoDeficientHH_SHARED3PAY,0.2982,F -autoSufficientHH_SHARED3PAY,0.1494,F -zeroAutoHH_WALK,-9.6191,F -autoDeficientHH_WALK,-1.5999,F -autoSufficientHH_WALK,-2.6212,F -zeroAutoHH_BIKE,-8.1503,F -autoDeficientHH_BIKE,-2.1993,F -autoSufficientHH_BIKE,-3.3049,F -zeroAutoHH_WALK_SET,-0.4471,F -autoDeficientHH_WALK_SET,3.6328,F -autoSufficientHH_WALK_SET,1.4325,F -zeroAutoHH_PNR_SET,0,F -autoDeficientHH_PNR_SET,3.0458,F -autoSufficientHH_PNR_SET,1.6645,F diff --git a/activitysim/examples/example_marin/configs/tour_mode_choice_coefficients_template.csv b/activitysim/examples/example_marin/configs/tour_mode_choice_coefficients_template.csv deleted file mode 100755 index f73dd5fd77..0000000000 --- a/activitysim/examples/example_marin/configs/tour_mode_choice_coefficients_template.csv +++ /dev/null @@ -1,174 +0,0 @@ -coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork -#same for all segments,,,,,,,,,, -coef_one,,,,,,,,,, -coef_nest_root,,,,,,,,,, -coef_nest_AUTO,,,,,,,,,, -coef_nest_AUTO_DRIVEALONE,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, -coef_nest_NONMOTORIZED,,,,,,,,,, -coef_nest_TRANSIT,,,,,,,,,, -coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, -coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, -coef_nest_RIDEHAIL,,,,,,,,,, -#,,,,,,,,,, -coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork -coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork -coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork -coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork -coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork -coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork -coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork -coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork -coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork -walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork -walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork -walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork -bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork -bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork -bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork -sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all -sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork -sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork -sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork -sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork -sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork -walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork -walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork -walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork -drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all -drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork -drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork -taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork -taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork -taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork -tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork -tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork -tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork -tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork -tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork -tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork -joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all -joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all -joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all -joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all -joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all -joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all -joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all -joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all -joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all -joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all -joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all -joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all -joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all -joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all -joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all -joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all -joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all -joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all -joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all -joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all -joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all -joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all -joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all -joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all -joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all -joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all -joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all -local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork -drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork -#same for all segments,,,,,,,,,, -coef_walk_access_time,,,,,,,,,, -coef_walk_egress_time,,,,,,,,,, -c_age1624_sr2,,,,,,,,,, -c_age1624_sr3,,,,,,,,,, -c_age1624_nmot,,,,,,,,,, -c_age1624_tran,,,,,,,,,, -c_age4155_sr2,,,,,,,,,, -c_age4155_sr3,,,,,,,,,, -c_age4155_nmot,,,,,,,,,, -c_age4155_tran,,,,,,,,,, -c_age5664_sr2,,,,,,,,,, -c_age5664_sr3,,,,,,,,,, -c_age5664_nmot,,,,,,,,,, -c_age5664_tran,,,,,,,,,, -c_age65pl_sr2,,,,,,,,,, -c_age65pl_sr3,,,,,,,,,, -c_age65pl_nmot,,,,,,,,,, -c_age65pl_tran,,,,,,,,,, -c_female_sr2,,,,,,,,,, -c_female_sr3,,,,,,,,,, -c_female_tran,,,,,,,,,, -c_female_nmot,,,,,,,,,, -c_size2_sr2,,,,,,,,,, -c_size2_sr3,,,,,,,,,, -c_size3_sr2,,,,,,,,,, -c_size3_sr3,,,,,,,,,, -c_size4p_sr2,,,,,,,,,, -c_size4p_sr3,,,,,,,,,, -c_walkTime,,,,,,,,,, -c_bikeTime,,,,,,,,,, -c_oMix_nmot,,,,,,,,,, -c_oMix_wtran,,,,,,,,,, -c_oIntDen_nmot,,,,,,,,,, -c_oIntDen_wtran,,,,,,,,,, -c_dEmpDen_nmot,,,,,,,,,, -c_dEmpDen_wtran,,,,,,,,,, -c_dEmpDen_dtran,,,,,,,,,, -zeroAutoHH_sr3,,,,,,,,,, -zeroAutoHH_walk,,,,,,,,,, -zeroAutoHH_bike,,,,,,,,,, -zeroAutoHH_wt,,,,,,,,,, -zeroAutoHH_kt,,,,,,,,,, -autoDeficientHH_sr2,,,,,,,,,, -autoDeficientHH_sr3,,,,,,,,,, -autoDeficientHH_walk,,,,,,,,,, -autoDeficientHH_bike,,,,,,,,,, -autoDeficientHH_wt,,,,,,,,,, -autoDeficientHH_dt,,,,,,,,,, -autoDeficientHH_kt,,,,,,,,,, -autoSufficientHH_sr2,,,,,,,,,, -autoSufficientHH_sr3,,,,,,,,,, -autoSufficientHH_walk,,,,,,,,,, -autoSufficientHH_bike,,,,,,,,,, -autoSufficientHH_wt,,,,,,,,,, -autoSufficientHH_dt,,,,,,,,,, -autoSufficientHH_kt,,,,,,,,,, -asc_wtransit_cbd_sf,,,,,,,,,, -asc_wtransit_nw_sf,,,,,,,,,, -asc_wtransit_se_sf,,,,,,,,,, -asc_dtransit_cbd_sf,,,,,,,,,, -asc_Transit_Pseudo_area_type_constant,,,,,,,,,, -asc_taxi_penalty,,,,,,,,,, -zeroAutoHH_SHARED2HOV,,,,,,,,,, -autoDeficientHH_SHARED2HOV,,,,,,,,,, -autoSufficientHH_SHARED2HOV,,,,,,,,,, -zeroAutoHH_SHARED2PAY,,,,,,,,,, -autoDeficientHH_SHARED2PAY,,,,,,,,,, -autoSufficientHH_SHARED2PAY,,,,,,,,,, -zeroAutoHH_SHARED3HOV,,,,,,,,,, -autoDeficientHH_SHARED3HOV,,,,,,,,,, -autoSufficientHH_SHARED3HOV,,,,,,,,,, -zeroAutoHH_SHARED3PAY,,,,,,,,,, -autoDeficientHH_SHARED3PAY,,,,,,,,,, -autoSufficientHH_SHARED3PAY,,,,,,,,,, -zeroAutoHH_WALK,,,,,,,,,, -autoDeficientHH_WALK,,,,,,,,,, -autoSufficientHH_WALK,,,,,,,,,, -zeroAutoHH_BIKE,,,,,,,,,, -autoDeficientHH_BIKE,,,,,,,,,, -autoSufficientHH_BIKE,,,,,,,,,, -zeroAutoHH_WALK_SET,,,,,,,,,, -autoDeficientHH_WALK_SET,,,,,,,,,, -autoSufficientHH_WALK_SET,,,,,,,,,, -zeroAutoHH_PNR_SET,,,,,,,,,, -autoDeficientHH_PNR_SET,,,,,,,,,, -autoSufficientHH_PNR_SET,,,,,,,,,, \ No newline at end of file diff --git a/activitysim/examples/example_marin/configs/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/example_marin/configs/tvpb_utility_drive_maz_tap.csv deleted file mode 100755 index 04ba9016a7..0000000000 --- a/activitysim/examples/example_marin/configs/tvpb_utility_drive_maz_tap.csv +++ /dev/null @@ -1,3 +0,0 @@ -Label,Description,Expression,utility -util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_dtim * (df.DTIME + (df.WDIST / 5280 / walk_speed * 60))",1 -util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * (df.DDIST + (df.WDIST / 5280)) * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/example_marin/configs/tvpb_utility_tap_tap.csv b/activitysim/examples/example_marin/configs/tvpb_utility_tap_tap.csv deleted file mode 100755 index b7456c856b..0000000000 --- a/activitysim/examples/example_marin/configs/tvpb_utility_tap_tap.csv +++ /dev/null @@ -1,82 +0,0 @@ -Label,Description,Expression,set1,set2,set3 -# Set 1,,,,, -set1_unavailable,Shut off set if unavailable,@df.not_transit_available_set1,C_UNAVAILABLE,, -set1_ivt,set In-Vehicle Time,@~df.not_transit_available_set1 * df.c_ivt_for_segment * df.totalIVT_set1,1,, -set1_first_wait_time,First wait time,"@~df.not_transit_available_set1 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET1')",1,, -set1_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set1 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET1')",1,, -set1_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set1 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET1')",1,, -set1_fare,set Fare,"@~df.not_transit_available_set1 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET1') * 100",1,, -set1_xfers1,0-1 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers1_set1 * c_xfers1 * df.c_ivt_for_segment,1,, -set1_xfers2,1-2 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers2_set1 * c_xfers2 * df.c_ivt_for_segment,1,, -set1_sfers3,>2 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers3_set1 * c_xfers3 * df.c_ivt_for_segment,1,, -set1_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers1_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, -set1_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers2_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, -set1_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers3_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, -set1_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers1_set1 * (df.c_ivt_for_segment * 5),1,, -set1_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers2_set1 * (df.c_ivt_for_segment * 5),1,, -set1_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers3_set1 * (df.c_ivt_for_segment * 5),1,, -set1_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set1 * (df.crDistance_set1>20) * (df.crDistance_set1<=40) * c_cr20_40 * df.c_ivt_for_segment,1,, -set1_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set1 * (df.crDistance_set1>40) * c_cr40plus * df.c_ivt_for_segment,1,, -set1_CR_drive,drive access to CR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvCR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, -set1_HR_drive,drive access to HR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvHeavy * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, -set1_FR_drive,drive access to FR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvFR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, -set1_LRT_drive,drive access to LRT,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvLRT * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, -set1_EB_drive,drive access to EB,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvExpress * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0)",1,, -set1_ASC_CR,ASC CR,"@~df.not_transit_available_set1 * c_cr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, -set1_ASC_HR,ASC HR,"@~df.not_transit_available_set1 * c_hr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, -set1_ASC_FR,ASC FR,"@~df.not_transit_available_set1 * c_fr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, -set1_ASC_LRT,ASC LRT,"@~df.not_transit_available_set1 * c_lrt_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, -# Set 2,,,,, -set2_unavailable,Shut off set if unavailable,@df.not_transit_available_set2,,C_UNAVAILABLE, -set2_ivt,set In-Vehicle Time,@~df.not_transit_available_set2 * df.c_ivt_for_segment * df.totalIVT_set2,,1, -set2_first_wait_time,First wait time,"@~df.not_transit_available_set2 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET2')",,1, -set2_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set2 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET2')",,1, -set2_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set2 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET2')",,1, -set2_fare,set Fare,"@~df.not_transit_available_set2 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET2') * 100",,1, -set2_xfers1,0-1 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers1_set2 * c_xfers1 * df.c_ivt_for_segment,,1, -set2_xfers2,1-2 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers2_set2 * c_xfers2 * df.c_ivt_for_segment,,1, -set2_sfers3,>2 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers3_set2 * c_xfers3 * df.c_ivt_for_segment,,1, -set2_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers1_set2 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),,1, -set2_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers2_set2 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),,1, -set2_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * (access_mode=='drive') * df.xfers3_set2 * (df.c_ivt_for_segment * 15),,1, -set2_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers1_set2 * (df.c_ivt_for_segment * 5),,1, -set2_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers2_set2 * (df.c_ivt_for_segment * 5),,1, -set2_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers3_set2 * (df.c_ivt_for_segment * 5),,1, -set2_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set2 * (df.crDistance_set2>20) * (df.crDistance_set2<=40) * c_cr20_40 * df.c_ivt_for_segment,,1, -set2_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set2 * (df.crDistance_set2>40) * c_cr40plus * df.c_ivt_for_segment,,1, -set2_CR_drive,drive access to CR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_drvCR * df.c_ivt_for_segment",,1, -set2_HR_drive,drive access to HR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_drvHeavy * df.c_ivt_for_segment",,1, -set2_FR_drive,drive access to FR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_drvFR * df.c_ivt_for_segment",,1, -set2_LRT_drive,drive access to LRT,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_drvLRT * df.c_ivt_for_segment",,1, -set2_EB_drive,drive access to EB,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) * c_drvExpress * df.c_ivt_for_segment",,1, -set2_ASC_CR,ASC CR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_cr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, -set2_ASC_HR,ASC HR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_hr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, -set2_ASC_FR,ASC FR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_fr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, -set2_ASC_LRT,ASC LRT,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_lrt_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, -# Set 3,,,,, -set3_unavailable,Shut off set if unavailable,@df.not_transit_available_set3,,,C_UNAVAILABLE -set3_ivt,set In-Vehicle Time,@~df.not_transit_available_set3 * df.c_ivt_for_segment * df.totalIVT_set3,,,1 -set3_first_wait_time,First wait time,"@~df.not_transit_available_set3 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET3')",,,1 -set3_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set3 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET3')",,,1 -set3_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set3 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET3')",,,1 -set3_fare,set Fare,"@~df.not_transit_available_set3 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET3') * 100",,,1 -set3_xfers1,0-1 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers1_set3 * c_xfers1 * df.c_ivt_for_segment,,,1 -set3_xfers2,1-2 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers2_set3 * c_xfers2 * df.c_ivt_for_segment,,,1 -set3_sfers3,>2 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers3_set3 * c_xfers3 * df.c_ivt_for_segment,,,1 -set3_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers1_set3 * (df.c_ivt_for_segment * 15),,,1 -set3_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers2_set3 * (df.c_ivt_for_segment * 15),,,1 -set3_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers3_set3 * (df.c_ivt_for_segment * 15),,,1 -set3_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers1_set3 * (df.c_ivt_for_segment * 5),,,1 -set3_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers2_set3 * (df.c_ivt_for_segment * 5),,,1 -set3_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers3_set3 * (df.c_ivt_for_segment * 5),,,1 -set3_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set3 * (df.crDistance_set3>20) * (df.crDistance_set3<=40) * c_cr20_40 * df.c_ivt_for_segment,,,1 -set3_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set3 * (df.crDistance_set3>40) * c_cr40plus * df.c_ivt_for_segment,,,1 -set3_CR_drive,drive access to CR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_drvCR * df.c_ivt_for_segment",,,1 -set3_HR_drive,drive access to HR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_drvHeavy * df.c_ivt_for_segment",,,1 -set3_FR_drive,drive access to FR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_drvFR * df.c_ivt_for_segment",,,1 -set3_LRT_drive,drive access to LRT,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_drvLRT * df.c_ivt_for_segment",,,1 -set3_EB_drive,drive access to EB,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) * c_drvExpress* df.c_ivt_for_segment",,,1 -set3_ASC_CR,ASC CR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_cr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 -set3_ASC_HR,ASC HR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_hr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 -set3_ASC_FR,ASC FR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_fr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 -set3_ASC_LRT,ASC LRT,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_lrt_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 diff --git a/activitysim/examples/example_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/example_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv deleted file mode 100755 index ba5cbe1d30..0000000000 --- a/activitysim/examples/example_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv +++ /dev/null @@ -1,44 +0,0 @@ -Description,Target,Expression -# time of day,,SHOULD BE PASSED IN -# demographic segment,, -,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" -,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" -# set1,, -,not_transit_available_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET1')==0" -Total IVT,totalIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') " -IVT on BART,bartIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')" -premium modes used,premiumMode_set1,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)" -only travel by BART,bartOnly_set1,bartIVT_set1 == totalIVT_set1 -Set contains only BART with Xfers,bartWithXfer_set1,"(bartIVT_set1 == totalIVT_set1) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set1,"(premiumMode_set1>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1')>0)" -Number transfers,transfers_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')" -0-1 transfers,xfers1_set1,(transfers_set1>0) & (transfers_set1 <=1) -1-2 transfers,xfers2_set1,(transfers_set1>1) & (transfers_set1 <=2) ->2 transfers,xfers3_set1,(transfers_set1>2) -Commuter Rail Distance in miles [35 mph],crDistance_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') * (35/60)" -# set2,, -,not_transit_available_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET2')==0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')==0)" -Total IVT,totalIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') " -IVT on BART,bartIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')" -premium modes used,premiumMode_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0)" -only travel by BART,bartOnly_set2,bartIVT_set2 == totalIVT_set2 -Set contains only BART with Xfers,bartWithXfer_set2,"(bartIVT_set2 == totalIVT_set2) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set2,"(premiumMode_set2>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2')>0)" -Number transfers,transfers_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')" -0-1 transfers,xfers1_set2,(transfers_set2>0) & (transfers_set2 <=1) -1-2 transfers,xfers2_set2,(transfers_set2>1) & (transfers_set2 <=2) ->2 transfers,xfers3_set2,(transfers_set2>2) -Commuter Rail Distance in miles [35 mph],crDistance_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') * (35/60)" -# set3,, -,not_transit_available_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET3')==0" -Total IVT,totalIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') " -IVT on BART,bartIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')" -premium modes used,premiumMode_set3,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0)" -only travel by BART,bartOnly_set3,bartIVT_set3 == totalIVT_set3 -Set contains only BART with Xfers,bartWithXfer_set3,"(bartIVT_set3 == totalIVT_set3) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set3,"(premiumMode_set3>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3')>0)" -Number transfers,transfers_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')" -0-1 transfers,xfers1_set3,(transfers_set3>0) & (transfers_set3 <=1) -1-2 transfers,xfers2_set3,(transfers_set3>1) & (transfers_set3 <=2) ->2 transfers,xfers3_set3,(transfers_set3>2) -Commuter Rail Distance in miles [35 mph],crDistance_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') * (35/60)" diff --git a/activitysim/examples/example_marin/configs/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/example_marin/configs/tvpb_utility_walk_maz_tap.csv deleted file mode 100755 index fdb64bd1e9..0000000000 --- a/activitysim/examples/example_marin/configs/tvpb_utility_walk_maz_tap.csv +++ /dev/null @@ -1,4 +0,0 @@ -Label,Description,Expression,utility -#,,,FIXME column values shouldn't ever be na if different moides have different tables? -#util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 -util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walkAcc * df.WALK_TRANSIT_DIST*(60/walk_speed)",1 diff --git a/activitysim/examples/example_marin/scripts/marin_crop.py b/activitysim/examples/example_marin/scripts/marin_crop.py deleted file mode 100644 index f3a92cc0eb..0000000000 --- a/activitysim/examples/example_marin/scripts/marin_crop.py +++ /dev/null @@ -1,244 +0,0 @@ -# crop marin tvpb example data processing to one county -# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 - -import os -import pandas as pd -import openmatrix as omx -import argparse -import numpy as np - -MAZ_OFFSET = 100000 - -segments = { - 'test': {'DistName': ["Downtown SF"]}, - 'marin_sf': {'CountyName': ["Marin", "San Francisco"]}, - 'full': {}, -} - -parser = argparse.ArgumentParser(description='crop Marin raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ, TAP zone_ids and foreign keys & write orphan_households file') - -args = parser.parse_args() - - -segment_name = args.segment_name[0] -check_geography = args.check_geography - -assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" - -input_dir = './data_raw' -output_dir = f'./data_{segment_name}' - - -print(f"segment_name {segment_name}") - -print(f"input_dir {input_dir}") -print(f"output_dir {output_dir}") - -print(f"check_geography {check_geography}") - -if not os.path.isdir(output_dir): - print(f"creating output directory {output_dir}") - os.mkdir(output_dir) - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def patch_maz(df, maz_offset): - for c in df.columns: - if c in ['MAZ', 'OMAZ', 'DMAZ', 'mgra', 'orig_mgra', 'dest_mgra']: - df[c] += maz_offset - return df - - -def read_csv(file_name): - df = pd.read_csv(input_path(file_name)) - if MAZ_OFFSET: - df = patch_maz(df, MAZ_OFFSET) - print(f"read {file_name} {df.shape}") - return df - - -def to_csv(df, file_name): - df.to_csv(output_path(file_name), index=False) - print(f"write {file_name} {df.shape}") - - -# non-standard input file names -LAND_USE = "maz_data_asim.csv" -HOUSEHOLDS = "households_asim.csv" -PERSONS = "persons_asim.csv" -MAZ_TAZ = "maz_taz.csv" -TAP_MAZ = "tap_data.csv" -ACCESSIBILITY = "access.csv" -WORK_TOURS = "work_tours.csv" - -if check_geography: - - # ######## check for orphan_households not in any maz in land_use - land_use = read_csv(LAND_USE) - land_use = land_use[['MAZ', 'TAZ']] - land_use = land_use.sort_values(['TAZ', 'MAZ']) - - households = read_csv(HOUSEHOLDS) - orphan_households = households[~households.MAZ.isin(land_use.MAZ)] - print(f"{len(orphan_households)} orphan_households") - - # write orphan_households to INPUT directory (since it doesn't belong in output) - file_name = "orphan_households.csv" - print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") - orphan_households.to_csv(input_path(file_name), index=False) - - # ######## check that land_use and maz and taz tables have same MAZs and TAZs - - # could just build maz and taz files, but want to make sure PSRC data is right - - land_use = read_csv(LAND_USE) - land_use = land_use.sort_values('MAZ') - maz = read_csv(MAZ_TAZ).sort_values('MAZ') - - # ### FATAL ### - if not land_use.MAZ.isin(maz.MAZ).all(): - print(f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}") - raise RuntimeError(f"land_use.MAZ not in maz.MAZ") - - if not maz.MAZ.isin(land_use.MAZ).all(): - print(f"maz.MAZ not in land_use.MAZ\n{maz.MAZ[~maz.MAZ.isin(land_use.MAZ)]}") - - # ### FATAL ### - if not land_use.TAZ.isin(maz.TAZ).all(): - print(f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}") - raise RuntimeError(f"land_use.TAZ not in maz.TAZ") - - if not maz.TAZ.isin(land_use.TAZ).all(): - print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") - - -# land_use - -land_use = read_csv(LAND_USE) - -slicer = segments[segment_name] -for slice_col, slice_values in slicer.items(): - print(f"slice {slice_col}: {slice_values}") - - land_use = land_use[land_use[slice_col].isin(slice_values)] - -print(f"land_use shape after slicing {land_use.shape}") -to_csv(land_use, 'land_use.csv') - -# maz_taz, tazs, taps - -maz_taz = land_use[['MAZ', 'TAZ']] -to_csv(maz_taz, "maz_taz.csv") - -tazs = land_use["TAZ"].unique() -tazs.sort() - -taps = read_csv(TAP_MAZ) -taps = taps[['TAP', 'TAZ']].sort_values(by='TAP') -taps = taps[taps["TAZ"].isin(tazs)] -to_csv(taps, "tap.csv") - -# maz to tap walk, bike - -maz_tap_walk = read_csv("maz_tap_walk.csv") -maz_maz_walk = read_csv("maz_maz_walk.csv") -maz_maz_bike = read_csv("maz_maz_bike.csv") - -maz_tap_walk = maz_tap_walk[maz_tap_walk["MAZ"].isin(land_use["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"])] -maz_maz_walk = maz_maz_walk[maz_maz_walk["OMAZ"].isin(land_use["MAZ"]) & maz_maz_walk["DMAZ"].isin(land_use["MAZ"])] -maz_maz_bike = maz_maz_bike[maz_maz_bike["OMAZ"].isin(land_use["MAZ"]) & maz_maz_bike["DMAZ"].isin(land_use["MAZ"])] - -to_csv(maz_tap_walk, "maz_tap_walk.csv") -to_csv(maz_maz_walk, "maz_maz_walk.csv") -to_csv(maz_maz_bike, "maz_maz_bike.csv") - -tap_lines = read_csv("tap_lines.csv") -tap_lines = tap_lines[tap_lines['TAP'].isin(taps["TAP"])] -to_csv(tap_lines, "tap_lines.csv") - -# taz to tap drive data - -taz_tap_drive = read_csv("maz_taz_tap_drive.csv") -taz_tap_drive = taz_tap_drive[taz_tap_drive["MAZ"].isin(land_use["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"])] -to_csv(taz_tap_drive, "maz_taz_tap_drive.csv") - - -# accessibility data - -access = read_csv(ACCESSIBILITY) -access = access[access["mgra"].isin(land_use["MAZ"])] -to_csv(access, "accessibility.csv") - - -# households - -households = read_csv(HOUSEHOLDS) -households = households[households["MAZ"].isin(land_use["MAZ"])] -to_csv(households, "households.csv") - -# persons - -persons = read_csv(PERSONS) -persons = persons[persons["HHID"].isin(households["HHID"])] -to_csv(persons, "persons.csv") - -# tours file - -work_tours = read_csv(WORK_TOURS) -work_tours = work_tours[work_tours["hh_id"].isin(households["HHID"])] -work_tours = work_tours[work_tours["orig_mgra"].isin(land_use["MAZ"]) & work_tours["dest_mgra"].isin(land_use["MAZ"])] -to_csv(work_tours, "work_tours.csv") - -# skims - -taz_indexes = (tazs - 1).tolist() # offset_map -tap_indexes = (taps["TAP"] - 1).tolist() # offset_map -time_periods = ["AM", "EA", "EV", "MD", "PM"] -skim_data_type = np.float32 - -# taz skims with skim_data_type np.float32 are under 2GB - otherwise we would need to further segment them - -for tp in time_periods: - in_file_name = f'HWYSKM{tp}_taz_rename.omx' - taz_file_in = omx.open_file(input_path(in_file_name)) - out_file_name = f'highway_skims_{tp}.omx' - taz_file_out = omx.open_file(output_path(out_file_name), 'w') - taz_file_out.create_mapping('ZONE', tazs.tolist()) - for mat_name in taz_file_in.list_matrices(): - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(taz_file_in[mat_name]).astype(skim_data_type) - m = m[taz_indexes, :][:, taz_indexes] - taz_file_out[mat_name] = m - print(f"taz {mat_name} {m.shape}") - taz_file_in.close() - taz_file_out.close() - -for skim_set in ["SET1", "SET2", "SET3"]: - out_file_name = f'transit_skims_{skim_set}.omx' - tap_file_out = omx.open_file(output_path(out_file_name), 'w') - tap_file_out.create_mapping('TAP', taps["TAP"].tolist()) - for tp in time_periods: - in_file_name = f'transit_skims_{tp}_{skim_set}_rename.omx' - tap_file_in = omx.open_file(input_path(in_file_name)) - for mat_name in tap_file_in.list_matrices(): - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(tap_file_in[mat_name]).astype(skim_data_type) - m = m[tap_indexes, :][:, tap_indexes] - tap_file_out[mat_name] = m - print(f"tap {skim_set} {mat_name} {m.shape}") - tap_file_in.close() - tap_file_out.close() diff --git a/activitysim/examples/example_marin/scripts/marin_fix.py b/activitysim/examples/example_marin/scripts/marin_fix.py deleted file mode 100644 index 6cc1b08d9e..0000000000 --- a/activitysim/examples/example_marin/scripts/marin_fix.py +++ /dev/null @@ -1,91 +0,0 @@ -# remove some of the asim-style columns added by marin_work_tour_mode_choice.py -# so data input files look 'realistic' - and that work is done instaed by 'import_tours' annotation expression files - -import os -import pandas as pd -import openmatrix as omx - -input_dir = './data_3_marin' -output_dir = './data_3_marin/fix' # don't overwrite - but these files shold replace 'oritinals' - - -def input_path(filenane): - return os.path.join(input_dir, filenane) - - -def output_path(filenane): - return os.path.join(output_dir, filenane) - - -# 0 - get county zones - -mazs = pd.read_csv(input_path("maz_data_asim.csv")) -del mazs['zone_id'] -del mazs['county_id'] -mazs.to_csv(output_path("maz_data_asim.csv"), index=False) - -tazs = mazs["TAZ"].unique() -tazs.sort() -assert ((tazs - 1) == range(len(tazs))).all() - -# MAZ,TAZ -taps = pd.read_csv(input_path("maz_taz.csv")) -# nothing -taps.to_csv(output_path("maz_taz.csv"), index=False) - -taps = pd.read_csv(input_path("tap_data.csv")) -# nothing -taps.to_csv(output_path("tap_data.csv"), index=False) - - -# 2 - nearby skims need headers - -maz_tap_walk = pd.read_csv(input_path("maz_tap_walk.csv")) -maz_maz_walk = pd.read_csv(input_path("maz_maz_walk.csv")) -maz_maz_bike = pd.read_csv(input_path("maz_maz_bike.csv")) - -del maz_tap_walk['TAP.1'] -del maz_maz_walk['DMAZ.1'] -del maz_maz_bike['DMAZ.1'] - -maz_tap_walk.to_csv(output_path("maz_tap_walk.csv"), index=False) -maz_maz_walk.to_csv(output_path("maz_maz_walk.csv"), index=False) -maz_maz_bike.to_csv(output_path("maz_maz_bike.csv"), index=False) - -# 3 - accessibility data - -access = pd.read_csv(input_path("access.csv")) -del access['zone_id'] -access.to_csv(output_path("access.csv"), index=False) - -# 4 - maz to tap drive data - -taz_tap_drive = pd.read_csv(input_path("maz_taz_tap_drive.csv")) - -taz_tap_drive.to_csv(output_path("maz_taz_tap_drive.csv"), index=False) - -# 5 - households - -households = pd.read_csv(input_path("households_asim.csv")) -del households['home_zone_id'] -del households['household_id'] - -households.to_csv(output_path("households_asim.csv"), index=False) - -# 6 - persons - -persons = pd.read_csv(input_path("persons_asim.csv")) -del persons['person_id'] -del persons['household_id'] -del persons['is_university'] -persons.to_csv(output_path("persons_asim.csv"), index=False) - -# 7 - tours file - -work_tours = pd.read_csv(input_path("work_tours.csv")) -del work_tours["household_id"] -del work_tours["destination"] -del work_tours["start"] -del work_tours["end"] -del work_tours["tour_type"] -work_tours.to_csv(output_path("work_tours.csv"), index=False) diff --git a/activitysim/examples/example_marin/scripts/marin_work_tour_mode_choice_data.py b/activitysim/examples/example_marin/scripts/marin_work_tour_mode_choice_data.py deleted file mode 100644 index 955b99a9aa..0000000000 --- a/activitysim/examples/example_marin/scripts/marin_work_tour_mode_choice_data.py +++ /dev/null @@ -1,148 +0,0 @@ - -# marin tvpb example data processing -# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 - -import pandas as pd -import openmatrix as omx - -# command to run the underdevelopment example -# python simulation.py -c configs_3_zone_marin -d data_3_marin -o output_3_marin - -# data processing at c:\projects\activitysim\marin - -# 1 - fix skim names, put time periods at end and make all names unique - -time_periods = ["AM", "EA", "EV", "MD", "PM"] -for tp in time_periods: - taz_file = omx.open_file('HWYSKM' + tp + '_taz.omx') - taz_file_rename = omx.open_file('HWYSKM' + tp + '_taz_rename.omx', 'w') - for mat_name in taz_file.list_matrices(): - taz_file_rename[mat_name + "__" + tp] = taz_file[mat_name][:] - print(mat_name + "__" + tp) - taz_file.close() - taz_file_rename.close() - -for tp in time_periods: - for skim_set in ["SET1", "SET2", "SET3"]: - tap_file = omx.open_file('transit_skims_' + tp + '_' + skim_set + '.omx') - tap_file_rename = omx.open_file('transit_skims_' + tp + '_' + skim_set + '_rename.omx', 'w') - for mat_name in tap_file.list_matrices(): - tap_file_rename[mat_name + "_" + skim_set + "__" + tp] = tap_file[mat_name][:] - print(mat_name + '_' + skim_set + "__" + tp) - tap_file.close() - tap_file_rename.close() - -# 2 - nearby skims need headers - -maz_tap_walk = pd.read_csv("2015_test_2019_02_13_Part3/skims/ped_distance_maz_tap.txt", header=None) -maz_maz_walk = pd.read_csv("2015_test_2019_02_13_Part3/skims/ped_distance_maz_maz.txt", header=None) -maz_maz_bike = pd.read_csv("2015_test_2019_02_13_Part3/skims/bike_distance_maz_maz.txt", header=None) - -maz_tap_walk.columns = ["MAZ", "TAP", "TAP", "WALK_TRANSIT_GEN_COST", "WALK_TRANSIT_DIST"] -maz_maz_walk.columns = ["OMAZ", "DMAZ", "DMAZ", "WALK_GEN_COST", "WALK_DIST"] -maz_maz_bike.columns = ["OMAZ", "DMAZ", "DMAZ", "BIKE_GEN_COST", "BIKE_DIST"] - -maz_tap_walk["WALK_TRANSIT_DIST"] = maz_tap_walk["WALK_TRANSIT_DIST"] / 5280 # miles -maz_maz_walk["WALK_DIST"] = maz_maz_walk["WALK_DIST"] / 5280 # miles -maz_maz_bike["BIKE_DIST"] = maz_maz_bike["BIKE_DIST"] / 5280 # miles - -maz_tap_walk[["MAZ", "TAP", "WALK_TRANSIT_DIST"]].to_csv("maz_tap_walk.csv", index=False) -maz_maz_walk[["OMAZ", "DMAZ", "WALK_DIST"]].to_csv("maz_maz_walk.csv", index=False) -maz_maz_bike[["OMAZ", "DMAZ", "BIKE_DIST"]].to_csv("maz_maz_bike.csv", index=False) - -# 3 - maz data - -mazs = pd.read_csv("2015_test_2019_02_13_Part2/landuse/maz_data_withDensity.csv") -pcost = pd.read_csv("2015_test_2019_02_13/ctramp_output/mgraParkingCost.csv") - -mazs = pd.concat([mazs, pcost], axis=1) -mazs = mazs.fillna(0) - -tazs = pd.read_csv("2015_test_2019_02_13_Part2/landuse/taz_data.csv") -tazs = tazs.set_index("TAZ", drop=False) - -mazs["TERMINALTIME"] = tazs["TERMINALTIME"].loc[mazs["TAZ"]].tolist() - -mazs["zone_id"] = mazs["MAZ"] -mazs["county_id"] = mazs["CountyID"] -mazs = mazs.set_index("zone_id", drop=False) - -mazs.to_csv("maz_data_asim.csv", index=False) - -# 4 - accessibility data - -access = pd.read_csv("2015_test_2019_02_13/ctramp_output/accessibilities.csv") -access = access.drop([0]) -access["zone_id"] = access["mgra"] -access = access.set_index("zone_id", drop=False) -access.to_csv("access.csv", index=False) - -# 5 - maz to tap drive data - -taz_tap_drive = pd.read_csv("2015_test_2019_02_13_Part3/skims/drive_maz_taz_tap.csv") - -taz_tap_drive = taz_tap_drive.pivot_table(index=["FTAZ", "TTAP"], values=['DTIME', 'DDIST', "WDIST"], fill_value=0) - -taz_tap_drive.columns = list(map("".join, taz_tap_drive.columns)) -taz_tap_drive = taz_tap_drive.reset_index() -taz_tap_drive = taz_tap_drive.set_index("FTAZ") -taz_tap_drive["TAP"] = taz_tap_drive["TTAP"] - -taz_tap_drive = pd.merge(mazs[["MAZ", "TAZ"]], taz_tap_drive, left_on=['TAZ'], right_on=['FTAZ']) -taz_tap_drive[["MAZ", "TAP", "DDIST", "DTIME", "WDIST"]].to_csv("maz_taz_tap_drive.csv", index=False) - -# 6 - tours file, we just need work tours - -itour = pd.read_csv("2015_test_2019_02_13/ctramp_output/indivTourData_3.csv") -work_tours = itour[itour["tour_purpose"] == "Work"] - -work_tours["tour_id"] = range(1, len(work_tours)+1) -work_tours["household_id"] = work_tours["hh_id"] -work_tours = work_tours.set_index("tour_id", drop=False) - -work_tours["destination"] = work_tours["dest_mgra"] - -work_tours["start"] = work_tours["start_period"] -work_tours["end"] = work_tours["end_period"] -work_tours["tour_type"] = "work" - -work_tours.to_csv("work_tours.csv", index=False) - -# 7 - households - -households = pd.read_csv("2015_test_2019_02_13_Part2/popsyn/households.csv") -households["household_id"] = households["HHID"] -households["home_zone_id"] = households["MAZ"] -households = households.set_index("household_id", drop=False) - -households.to_csv("households_asim.csv", index=False) - -# 8 - persons - -persons = pd.read_csv("2015_test_2019_02_13_Part2/popsyn/persons.csv") -persons["person_id"] = persons["PERID"] -persons["household_id"] = persons["HHID"] -persons = persons.set_index("person_id", drop=False) - -persons_output = pd.read_csv("2015_test_2019_02_13/ctramp_output/personData_3.csv") -persons_output = persons_output.set_index("person_id", drop=False) -persons["type"] = persons_output["type"].loc[persons.index] -persons["value_of_time"] = persons_output["value_of_time"].loc[persons.index] -persons["is_university"] = persons["type"] == "University student" -persons["fp_choice"] = persons_output["fp_choice"] - -persons.to_csv("persons_asim.csv", index=False) - -# 9 - replace existing pipeline tables for restart for now - -# run simple three zone example and get output pipeline and then replace tables before tour mode choice -pipeline = pd.io.pytables.HDFStore('pipeline.h5') -pipeline.keys() - -pipeline['/accessibility/compute_accessibility'] = access # index zone_id -pipeline['/households/joint_tour_frequency'] = households # index household_id -pipeline['/persons/non_mandatory_tour_frequency'] = persons # index person_id -pipeline['/land_use/initialize_landuse'] = mazs # index zone_id -pipeline['/tours/non_mandatory_tour_scheduling'] = work_tours # index tour_id - -pipeline.close() diff --git a/activitysim/examples/example_marin/test/simulation.py b/activitysim/examples/example_marin/test/simulation.py deleted file mode 100755 index ec6a1181b1..0000000000 --- a/activitysim/examples/example_marin/test/simulation.py +++ /dev/null @@ -1,15 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_marin/test/test_marin.py b/activitysim/examples/example_marin/test/test_marin.py deleted file mode 100644 index 6217e8b690..0000000000 --- a/activitysim/examples/example_marin/test/test_marin.py +++ /dev/null @@ -1,48 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def test_marin(): - - def example_path(dirname): - resource = os.path.join('examples', 'example_marin', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_tours.csv')) - final_trips_df = pd.read_csv(test_path('output/final_tours.csv')) - - # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, - # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum - # compare_cols = [] - pdt.assert_frame_equal(final_trips_df, regress_trips_df) - - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - subprocess.run(['coverage', 'run', '-a', file_path, - '-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), - '-o', test_path('output')], check=True) - - regress() - - -if __name__ == '__main__': - - test_marin() diff --git a/activitysim/examples/example_mtc/README.MD b/activitysim/examples/example_mtc/README.MD deleted file mode 100644 index 486dc9cd37..0000000000 --- a/activitysim/examples/example_mtc/README.MD +++ /dev/null @@ -1,4 +0,0 @@ - -### MTC Example - -The primary ActivitySim example model. See https://activitysim.github.io/activitysim for more information. diff --git a/activitysim/examples/example_mtc/configs/annotate_households.csv b/activitysim/examples/example_mtc/configs/annotate_households.csv deleted file mode 100644 index b23f4f252f..0000000000 --- a/activitysim/examples/example_mtc/configs/annotate_households.csv +++ /dev/null @@ -1,31 +0,0 @@ -Description,Target,Expression -#,, annotate households table after import -,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" -#,,FIXME households.income can be negative - so we clip? -income_in_thousands,income_in_thousands,(households.income / 1000).clip(lower=0) -income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[INCOME_SEGMENT_LOW, INCOME_SEGMENT_MED, INCOME_SEGMENT_HIGH, INCOME_SEGMENT_VERYHIGH]).astype(int)" -#,, -,_MIN_VOT,setting('min_value_of_time') -,_MAX_VOT,setting('max_value_of_time') -,_MU,setting('distributed_vot_mu') -,_SIGMA,setting('distributed_vot_sigma') -median_value_of_time,median_value_of_time,"income_segment.map({k: v for k, v in setting('household_median_value_of_time').items()})" -hh_value_of_time,hh_value_of_time,"rng.lognormal_for_df(df, mu=np.log(median_value_of_time * _MU), sigma=_SIGMA).clip(_MIN_VOT, _MAX_VOT)" -#,, -#num_workers was renamed in import,, -#,num_workers,households.workers -number of non_workers,num_non_workers,households.hhsize - households.num_workers -#,, -#,,we assume that everyone 16 and older is a potential driver -number of drivers,num_drivers,"_PERSON_COUNT('16 <= age', persons, households)" -num_adults,num_adults,"_PERSON_COUNT('adult', persons, households)" -num_children,num_children,"_PERSON_COUNT('~adult', persons, households)" -num_young_children,num_young_children,"_PERSON_COUNT('age <= 5', persons, households)" -num_children_5_to_15,num_children_5_to_15,"_PERSON_COUNT('5 <= age <= 15', persons, households)" -num_children_16_to_17,num_children_16_to_17,"_PERSON_COUNT('16 <= age <= 17', persons, households)" -num_college_age,num_college_age,"_PERSON_COUNT('18 <= age <= 24', persons, households)" -num_young_adults,num_young_adults,"_PERSON_COUNT('25 <= age <= 34', persons, households)" -non_family,non_family,households.HHT.isin(HHT_NONFAMILY) -family,family,households.HHT.isin(HHT_FAMILY) -home_is_urban,home_is_urban,"reindex(land_use.area_type, households.home_zone_id) < setting('urban_threshold')" -home_is_rural,home_is_rural,"reindex(land_use.area_type, households.home_zone_id) > setting('rural_threshold')" diff --git a/activitysim/examples/example_mtc/configs/auto_ownership.csv b/activitysim/examples/example_mtc/configs/auto_ownership.csv deleted file mode 100644 index a2f5a32910..0000000000 --- a/activitysim/examples/example_mtc/configs/auto_ownership.csv +++ /dev/null @@ -1,30 +0,0 @@ -Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 -util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 -util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 -util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up -util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 -util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 -util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 -util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 -util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 -util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 -util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k -util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc -util_asc_san_francisco,San Francisco county,@df.county_id == ID_SAN_FRANCISCO,,coef_cars1_asc_san_francisco,coef_cars2_asc_san_francisco,coef_cars34_asc_san_francisco,coef_cars34_asc_san_francisco -util_asc_solano,Solano county,@df.county_id == ID_SOLANO,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_napa,Napa county,@df.county_id == ID_NAPA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_sonoma,Sonoma county,@df.county_id == ID_SONOMA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_marin,Marin county,@df.county_id == ID_MARIN,,coef_cars1_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin -util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers -util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers -util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers -util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers -util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker diff --git a/activitysim/examples/example_mtc/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/example_mtc/configs/cdap_indiv_and_hhsize1.csv deleted file mode 100644 index 36ff4e67b8..0000000000 --- a/activitysim/examples/example_mtc/configs/cdap_indiv_and_hhsize1.csv +++ /dev/null @@ -1,52 +0,0 @@ -Description,Expression,M,N,H -Full-time worker alternative-specific constants,ptype == 1,coef_full_time_worker_asc_M,coef_full_time_worker_asc_N, -Part-time worker alternative-specific constants,ptype == 2,coef_part_time_worker_asc_M,coef_part_time_worker_asc_N, -University student alternative-specific constants,ptype == 3,coef_university_student_asc_M,coef_university_student_asc_N, -Non-working adult alternative-specific constants,ptype == 4,coef_UNAVAILABLE,coef_non_working_adult_asc_N, -Retired alternative-specific constants,ptype == 5,coef_UNAVAILABLE,coef_retired_asc_N, -Driving-age child who is in school alternative-specific constants,ptype == 6,coef_driving_age_child_who_is_in_school_asc_M,coef_driving_age_child_who_is_in_school_asc_N, -Pre-driving-age child who is in school alternative-specific constants,ptype == 7,coef_pre_driving_age_child_who_is_in_school_asc_M,coef_pre_driving_age_child_who_is_in_school_asc_N, -Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M,, -Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N, -Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,coef_pre_driving_age_child_who_is_too_young_for_school_asc_N, -# corrected tm1 age bug,,,, -Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,, -Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,, -#,,,, -Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),coef_full_time_worker_interaction_with_age_less_than_40_M,, -Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,coef_retired_interaction_with_age_more_than_80_H -Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),coef_full_time_worker_interaction_with_female_gender_M,, -Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),coef_non_working_adult_interaction_with_female_gender_M,, -Retired interaction with female,(ptype == 5) & (sex == 2),coef_retired_interaction_with_female_M,, -Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),coef_non_working_adult_interaction_with_more_cars_than_workers_M,coef_non_working_adult_interaction_with_more_cars_than_workers_N, -Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),coef_retired_interaction_with_more_cars_than_workers_M,coef_retired_interaction_with_more_cars_than_workers_N, -Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N, -Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,coef_full_time_worker_interaction_with_fewer_cars_than_workers_H -Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,coef_non_working_adult_interaction_with_fewer_cars_than_workers_H -Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,coef_retired_interaction_with_fewer_cars_than_workers_H -Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H -Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H -Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H -Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,coef_full_time_worker_interaction_with_income_less_than_20k_H -Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,coef_retired_interaction_with_income_less_than_20k_H -Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,coef_part_time_worker_interaction_with_income_less_than_20k_H -Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_part_time_worker_interaction_with_income_between_50k_and_100k_H -Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,coef_part_time_worker_interaction_with_income_more_than_100k_N,coef_part_time_worker_interaction_with_income_more_than_100k_H -Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_non_working_adult_interaction_with_income_between_50k_and_100k_H -Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,coef_non_working_adult_interaction_with_income_more_than_100k_H -Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H -Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H -Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H -Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H -Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H -Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,, -Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,, -Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,, -Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,coef_retired_interaction_with_peak_accessibility_to_all_employment_M,, -Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, -Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, -Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, - diff --git a/activitysim/examples/example_mtc/configs/cdap_interaction_coefficients.csv b/activitysim/examples/example_mtc/configs/cdap_interaction_coefficients.csv deleted file mode 100644 index 854d48ef58..0000000000 --- a/activitysim/examples/example_mtc/configs/cdap_interaction_coefficients.csv +++ /dev/null @@ -1,138 +0,0 @@ -activity,interaction_ptypes,coefficient -# 2-way interactions,, -H,11,coef_H_11 -H,12,coef_H_12 -H,13,coef_H_13 -H,14,coef_H_14 -H,15,coef_H_15 -H,16,coef_H_16 -H,17,coef_H_17 -H,18,coef_H_18 -H,22,coef_H_22 -H,23,coef_H_23 -H,24,coef_H_24 -H,25,coef_H_25 -H,26,coef_H_26 -H,27,coef_H_27 -H,28,coef_H_28 -H,33,coef_H_33 -H,34,coef_H_34 -H,35,coef_H_35 -H,36,coef_H_36 -H,37,coef_H_37 -H,38,coef_H_38 -H,44,coef_H_44 -H,45,coef_H_45 -H,46,coef_H_46 -H,47,coef_H_47 -H,48,coef_H_48 -H,55,coef_H_55 -H,56,coef_H_56_57_58 -H,57,coef_H_56_57_58 -H,58,coef_H_56_57_58 -H,66,coef_H_66 -H,67,coef_H_67 -H,68,coef_H_68 -H,77,coef_H_77 -H,78,coef_H_78 -H,88,coef_H_88 -M,11,coef_M_11 -M,12,coef_M_12 -M,13,coef_M_13 -M,16,coef_M_16 -M,17,coef_M_17 -M,18,coef_M_18 -M,22,coef_M_22 -M,23,coef_M_23 -M,26,coef_M_26 -M,27,coef_M_27 -M,28,coef_M_28 -M,33,coef_M_33 -M,36,coef_M_36 -M,37,coef_M_37 -M,38,coef_M_38 -M,66,coef_M_66 -M,67,coef_M_67 -M,68,coef_M_68 -M,77,coef_M_77 -M,78,coef_M_78 -M,88,coef_M_88 -N,11,coef_N_11 -N,12,coef_N_12 -N,13,coef_N_13 -N,14,coef_N_14 -N,15,coef_N_15 -N,16,coef_N_16 -N,17,coef_N_17 -N,18,coef_N_18 -N,22,coef_N_22 -N,23,coef_N_23 -N,24,coef_N_24 -N,25,coef_N_25 -N,26,coef_N_26 -N,27,coef_N_27 -N,28,coef_N_28 -N,33,coef_N_33 -N,34,coef_N_34 -N,35,coef_N_35 -N,36,coef_N_36 -N,37,coef_N_37 -N,38,coef_N_38 -N,44,coef_N_44 -N,45,coef_N_45 -N,46,coef_N_46 -N,47,coef_N_47 -N,48,coef_N_48 -N,55,coef_N_55 -N,56,coef_N_56_57_58 -N,57,coef_N_56_57_58 -N,58,coef_N_56_57_58 -N,66,coef_N_66 -N,67,coef_N_67 -N,68,coef_N_68 -N,77,coef_N_77 -N,78,coef_N_78 -N,88,coef_N_88 -# 3-way interactions,, -H,124,coef_H_124_122_144 -H,122,coef_H_124_122_144 -H,144,coef_H_124_122_144 -H,126,coef_H_126_146 -H,146,coef_H_126_146 -H,222,coef_H_222_224_244 -H,224,coef_H_222_224_244 -H,244,coef_H_222_224_244 -H,226,coef_H_226_246_446 -H,246,coef_H_226_246_446 -H,446,coef_H_226_246_446 -H,266,coef_H_266_466 -H,466,coef_H_266_466 -M,111,coef_M_111 -M,112,coef_M_112_114 -M,114,coef_M_112_114 -M,666,coef_M_666 -N,112,coef_N_112_114 -N,114,coef_N_112_114 -N,124,coef_N_124_122_144 -N,122,coef_N_124_122_144 -N,144,coef_N_124_122_144 -N,166,coef_N_166 -N,222,coef_N_222_224_444 -N,224,coef_N_222_224_444 -N,444,coef_N_222_224_444 -N,246,coef_N_246_226_446 -N,226,coef_N_246_226_446 -N,446,coef_N_246_226_446 -# cdap_final_rules,, -M,5,coef_UNAVAILABLE -M,4,coef_UNAVAILABLE -# cdap_all_people,, -M,***,coef_M_xxx -N,***,coef_N_xxx -H,***,coef_H_xxx -M,****,coef_M_xxxx -N,****,coef_N_xxxx -H,****,coef_H_xxxx -M,*****,coef_M_xxxxx -N,*****,coef_N_xxxxx -H,*****,coef_H_xxxxx diff --git a/activitysim/examples/example_mtc/configs/destination_choice_size_terms.csv b/activitysim/examples/example_mtc/configs/destination_choice_size_terms.csv deleted file mode 100644 index 8c72d2a78f..0000000000 --- a/activitysim/examples/example_mtc/configs/destination_choice_size_terms.csv +++ /dev/null @@ -1,28 +0,0 @@ -model_selector,segment,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE -workplace,work_low,0,0.129,0.193,0.383,0.12,0.01,0.164,0,0,0,0 -workplace,work_med,0,0.12,0.197,0.325,0.139,0.008,0.21,0,0,0,0 -workplace,work_high,0,0.11,0.207,0.284,0.154,0.006,0.239,0,0,0,0 -workplace,work_veryhigh,0,0.093,0.27,0.241,0.146,0.004,0.246,0,0,0,0 -school,university,0,0,0,0,0,0,0,0,0,0.592,0.408 -school,gradeschool,0,0,0,0,0,0,0,1,0,0,0 -school,highschool,0,0,0,0,0,0,0,0,1,0,0 -non_mandatory,escort,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -#non_mandatory,escort_kids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -#non_mandatory,escort_nokids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -non_mandatory,shopping,0,1,0,0,0,0,0,0,0,0,0 -non_mandatory,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 -non_mandatory,othmaint,0,0.482,0,0.518,0,0,0,0,0,0,0 -non_mandatory,social,0,0.522,0,0.478,0,0,0,0,0,0,0 -non_mandatory,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 -atwork,atwork,0,0.742,0,0.258,0,0,0,0,0,0,0 -trip,work,0,1,1,1,1,1,1,0,0,0,0 -trip,escort,0.001,0.225,0,0.144,0,0,0,0.464,0.166,0,0 -trip,shopping,0.001,0.999,0,0,0,0,0,0,0,0,0 -trip,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 -trip,othmaint,0.001,0.481,0,0.518,0,0,0,0,0,0,0 -trip,social,0.001,0.521,0,0.478,0,0,0,0,0,0,0 -trip,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 -trip,univ,0.001,0,0,0,0,0,0,0,0,0.592,0.408 -# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,, -#trip,gradeschool,0,0,0,0,0,0,0,1,0,0,0 -#trip,highschool,0,0,0,0,0,0,0,0,1,0,0 diff --git a/activitysim/examples/example_mtc/configs/joint_tour_composition.csv b/activitysim/examples/example_mtc/configs/joint_tour_composition.csv deleted file mode 100644 index f258ea1aa7..0000000000 --- a/activitysim/examples/example_mtc/configs/joint_tour_composition.csv +++ /dev/null @@ -1,22 +0,0 @@ -Label,Description,Expression,adults,children,mixed -util_asc,Alternative-specific constant,1,,coef_asc_children,coef_asc_mixed -util_tour_purpose_is_eating_out,Joint tour purpose is eating out (dummy),tour_type=='eat',,coef_tour_purpose_is_eating_out_children,coef_tour_purpose_is_eating_out_mixed -util_tour_purpose_is_discretionary,Joint tour purpose is discretionary (dummy),tour_type=='disc',coef_tour_purpose_is_discretionary_adults,coef_tour_purpose_is_discretionary_children, -util_number_of_full_time_workers,Number of Full-Time Workers in the household,num_full_max3,coef_number_of_full_time_workers_adults,,coef_number_of_full_time_workers_mixed -util_number_of_part_time_workers,Number of Part-Time Workers in the household,num_part_max3,coef_number_of_part_time_workers_adults,,coef_number_of_part_time_workers_mixed -util_number_of_university_students,Number of University students in the household,num_univ_max3,coef_number_of_university_students,, -util_number_of_non_workers,Number of Non-Workers in the household,num_nonwork_max3,coef_number_of_non_workers_adults,,coef_number_of_non_workers_mixed -util_number_of_children_too_young_for_school,Number of Children too Young for School in the household,num_preschool_max3,,coef_number_of_children_too_young_for_school_children,coef_number_of_children_too_young_for_school_mixed -util_number_of_pre_driving_age_children,Number of Pre-driving Age Children in the household,num_school_max3,,coef_number_of_pre_driving_age_children_children,coef_number_of_pre_driving_age_children_mixed -util_number_of_driving_age_children,Number of Driving-age Children in the household,num_driving_max3,,coef_number_of_driving_age_children_children,coef_number_of_driving_age_children_mixed -util_low_income_households,Low income households (dummy),income_in_thousands<30,coef_low_income_households_adults,,coef_low_income_households_mixed -util_medium_income_households,Medium income households (dummy),(income_in_thousands>=30) & (income_in_thousands<60),coef_medium_income_households,, -util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed -util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, -util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed -util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, -util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, -util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows -util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, -util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, -util_travel_active_adult,At least one adult and at least one child must have Mand or Non Mand activity patterns to have adult/child joint travel,(num_travel_active_adults == 0) | (num_travel_active_children == 0),,,coef_unavailable \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/joint_tour_frequency.csv b/activitysim/examples/example_mtc/configs/joint_tour_frequency.csv deleted file mode 100644 index 8405d30649..0000000000 --- a/activitysim/examples/example_mtc/configs/joint_tour_frequency.csv +++ /dev/null @@ -1,77 +0,0 @@ -Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD -util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours -#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, -util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, -#_shopping,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, -util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, -util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, -util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, -util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, -util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, -util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, -util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, -util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, -util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, -#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, -util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, -util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, -util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, -util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, -util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, -util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, -util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, -util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, -util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, -util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, -util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, -util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, -#_eatout,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, -util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, -util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, -util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, -util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, -util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, -util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, -util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, -util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, -util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, -util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, -util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, -util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, -#_visiting,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, -util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, -util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, -util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, -util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, -util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, -util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, -util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, -util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, -util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, -#_discretionary,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc -util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc -util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc -util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc -util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc -util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc -util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc -util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc -util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc -util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc -util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc -util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc -util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc -util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc -util_zeroAutomobiles_dis,zeroAutomobiles_disc,auto_ownership == 0,,,,,,coef_zeroAutomobiles_disc,,,,,coef_zeroAutomobiles_disc,,,,coef_zeroAutomobiles_disc,,,coef_zeroAutomobiles_disc,,coef_zeroAutomobiles_disc,2 * coef_zeroAutomobiles_disc \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/joint_tour_participation.csv b/activitysim/examples/example_mtc/configs/joint_tour_participation.csv deleted file mode 100644 index da2e65d1ea..0000000000 --- a/activitysim/examples/example_mtc/configs/joint_tour_participation.csv +++ /dev/null @@ -1,67 +0,0 @@ -Label,Description,Expression,participate,not_participate -util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not -util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not -util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, -util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, -util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, -util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, -util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, -util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, -util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, -util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, -util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, -util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, -#,,,, -util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not -util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not -util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, -util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, -util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, -util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, -util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, -util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, -util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, -util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, -util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, -util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, -util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, -util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, -#,,,, -util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, -util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, -util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, -util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, -util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, -util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, -util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, -util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, -util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, -util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, -util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, -util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, -#,,,, -util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, -util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, -util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, -util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, -util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, -util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, -util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, -util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, -util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, -util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, -util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, -util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, -#,,,, -util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, -util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, -util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, -util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, -#,,,, -util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, -util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, -util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, -util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable -util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable -util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable -util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination.csv b/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination.csv deleted file mode 100644 index 169becf1e3..0000000000 --- a/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination.csv +++ /dev/null @@ -1,10 +0,0 @@ -Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr -"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 -"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 -Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum -Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1,1,1 diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency.csv deleted file mode 100644 index c295ea5b07..0000000000 --- a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency.csv +++ /dev/null @@ -1,211 +0,0 @@ -Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL -util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour -util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour -util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour -util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour -util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour -util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour -util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours -util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours -util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 -util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 -util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 -util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 -util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 -util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus -util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 -util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 -util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 -util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 -util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 -util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus -util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 -util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 -util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 -util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 -util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 -util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus -util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours -util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours -util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours -util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours -util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours -util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 -util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 -util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 -util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 -util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 -util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus -util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 -util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 -util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 -util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 -util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus -util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 -util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 -util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 -util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 -util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus -util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 -util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 -util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 -util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 -util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus -util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour -util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour -util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour -util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour -util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour -util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour -util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour -util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour -util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour -util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour -util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour -util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour -util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour -util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour -util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour -util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 -util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 -util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 -util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 -util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 -util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour -util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour -util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour -util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour -util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour -util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 -util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 -util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 -util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 -util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus -util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 -util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 -util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 -util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 -util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus -util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 -util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 -util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 -util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 -util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus -util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 -util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 -util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 -util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 -util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 -util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 -util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 -util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 -util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 -util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 -util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour -util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour -util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour -util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour -util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour -util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour -util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour -util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour -util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour -util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour -util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour -util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour -util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour -util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour -util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour -util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour -util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour -util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour -util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour -util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour -util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour -util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour -util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour -util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour -util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour -util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour -util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour -util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour -util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour -util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour -util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour -util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour -util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour -util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour -util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour -util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour -util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour -util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour -util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour -util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour -util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour -util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour -util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour -util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour -util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour -util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour -util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour -util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour -util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour -util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour -util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 -util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 -util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 -util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 -util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus -util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 -util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 -util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 -util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 -util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus -util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 -util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 -util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 -util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 -util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus -util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting -util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting -util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting -util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping -util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping -util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping -util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance -util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance -util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance -util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out -util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out -util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out -util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary -util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary -util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary -util_urban_and_tour_frequency_is_1,Urban Areatype & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 -util_urban_and_tour_frequency_is_2,Urban Areatype & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 -util_urban_and_tour_frequency_is_3,Urban Areatype & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 -util_urban_and_tour_frequency_is_4,Urban Areatype & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 -util_urban_and_tour_frequency_is_5_plus,Urban Areatype & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus -util_urban_and_escorting_tour,Urban Areatype & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour -util_urban_and_shopping_tour,Urban Areatype &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour -util_urban_and_maintenance_tour,Urban Areatype & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour -util_urban_and_eatingout_tour,Urban Areatype & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour -util_urban_and_discretionary_tour,Urban Areatype & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour -util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant -util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant -util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant -util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant -util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant -util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant -util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant -util_0_auto_household_and_escorting_tour,Dummy for 0-auto household & Escorting Tour,escort * no_cars,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_alternatives.csv deleted file mode 100644 index 1c0052f963..0000000000 --- a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_alternatives.csv +++ /dev/null @@ -1,97 +0,0 @@ -escort,shopping,othmaint,othdiscr,eatout,social -0,0,0,0,0,0 -0,0,0,1,0,0 -0,0,0,0,0,1 -0,0,0,1,0,1 -0,0,0,0,1,0 -0,0,0,1,1,0 -0,0,0,0,1,1 -0,0,0,1,1,1 -0,0,1,0,0,0 -0,0,1,1,0,0 -0,0,1,0,0,1 -0,0,1,1,0,1 -0,0,1,0,1,0 -0,0,1,1,1,0 -0,0,1,0,1,1 -0,0,1,1,1,1 -0,1,0,0,0,0 -0,1,0,1,0,0 -0,1,0,0,0,1 -0,1,0,1,0,1 -0,1,0,0,1,0 -0,1,0,1,1,0 -0,1,0,0,1,1 -0,1,0,1,1,1 -0,1,1,0,0,0 -0,1,1,1,0,0 -0,1,1,0,0,1 -0,1,1,1,0,1 -0,1,1,0,1,0 -0,1,1,1,1,0 -0,1,1,0,1,1 -0,1,1,1,1,1 -1,0,0,0,0,0 -1,0,0,1,0,0 -1,0,0,0,0,1 -1,0,0,1,0,1 -1,0,0,0,1,0 -1,0,0,1,1,0 -1,0,0,0,1,1 -1,0,0,1,1,1 -1,0,1,0,0,0 -1,0,1,1,0,0 -1,0,1,0,0,1 -1,0,1,1,0,1 -1,0,1,0,1,0 -1,0,1,1,1,0 -1,0,1,0,1,1 -1,0,1,1,1,1 -1,1,0,0,0,0 -1,1,0,1,0,0 -1,1,0,0,0,1 -1,1,0,1,0,1 -1,1,0,0,1,0 -1,1,0,1,1,0 -1,1,0,0,1,1 -1,1,0,1,1,1 -1,1,1,0,0,0 -1,1,1,1,0,0 -1,1,1,0,0,1 -1,1,1,1,0,1 -1,1,1,0,1,0 -1,1,1,1,1,0 -1,1,1,0,1,1 -1,1,1,1,1,1 -2,0,0,0,0,0 -2,0,0,1,0,0 -2,0,0,0,0,1 -2,0,0,1,0,1 -2,0,0,0,1,0 -2,0,0,1,1,0 -2,0,0,0,1,1 -2,0,0,1,1,1 -2,0,1,0,0,0 -2,0,1,1,0,0 -2,0,1,0,0,1 -2,0,1,1,0,1 -2,0,1,0,1,0 -2,0,1,1,1,0 -2,0,1,0,1,1 -2,0,1,1,1,1 -2,1,0,0,0,0 -2,1,0,1,0,0 -2,1,0,0,0,1 -2,1,0,1,0,1 -2,1,0,0,1,0 -2,1,0,1,1,0 -2,1,0,0,1,1 -2,1,0,1,1,1 -2,1,1,0,0,0 -2,1,1,1,0,0 -2,1,1,0,0,1 -2,1,1,1,0,1 -2,1,1,0,1,0 -2,1,1,1,1,0 -2,1,1,0,1,1 -2,1,1,1,1,1 diff --git a/activitysim/examples/example_mtc/configs/school_location.csv b/activitysim/examples/example_mtc/configs/school_location.csv deleted file mode 100644 index 04d4647262..0000000000 --- a/activitysim/examples/example_mtc/configs/school_location.csv +++ /dev/null @@ -1,12 +0,0 @@ -Label,Description,Expression,university,highschool,gradeschool -local_dist,,_DIST@skims['DIST'],1,1,1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 -util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 -util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum -util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 diff --git a/activitysim/examples/example_mtc/configs/settings.yaml b/activitysim/examples/example_mtc/configs/settings.yaml deleted file mode 100644 index 543992d831..0000000000 --- a/activitysim/examples/example_mtc/configs/settings.yaml +++ /dev/null @@ -1,245 +0,0 @@ -# input tables -# -# activitysim uses "well-known" index and foreign key names for imported tables (e.g. households, persons, land_use) -# as well as for created tables (tours, joint_tour_participants, trips) -# e.g. the households table must have an index column 'household_id' and the foreign key to households in the -# persons table is also household_id. This naming convention allows activitysim to intuit the relationship -# between tables - for instance, to ensure that multiprocess slicing includes all the persons, tours, and trips -# in the same subprocess pipeline. The same strategy is also when chunking choosers, and to support tracing by -# household_id. -# -# the input_table_list index_col directive instructs activitysim to set the imported table index to zone_id -# you cannot change the well-known name of the index by modifying this directive. However, if your input file -# has a different id column name, you can rename it to the required index name with the rename_columns directive. -# In the settings below, the 'TAZ' column in the imported table is renamed 'zone_id' in the rename_columns settings. -# -input_table_list: - # - # households (table index 'household_id') - # - - tablename: households - filename: households.csv - index_col: household_id - rename_columns: - HHID: household_id # household_id is the required index column - PERSONS: hhsize - workers: num_workers - VEHICL: auto_ownership - TAZ: home_zone_id - keep_columns: - - home_zone_id - - income - - hhsize - - HHT - - auto_ownership - - num_workers - # - # persons (table index 'person_id') - # - - tablename: persons - filename: persons.csv - index_col: person_id - rename_columns: - PERID: person_id # person_id is the required index column - keep_columns: - - household_id - - age - - PNUM - - sex - - pemploy - - pstudent - - ptype - # - # land_use (table index 'zone_id') - # - - tablename: land_use - filename: land_use.csv - index_col: zone_id - rename_columns: - TAZ: zone_id # person_id is the required index column - COUNTY: county_id - keep_columns: - - DISTRICT - - SD - - county_id - - TOTHH - - TOTPOP - - TOTACRE - - RESACRE - - CIACRE - - TOTEMP - - AGE0519 - - RETEMPN - - FPSEMPN - - HEREMPN - - OTHEMPN - - AGREMPN - - MWTEMPN - - PRKCST - - OPRKCST - - area_type - - HSENROLL - - COLLFTE - - COLLPTE - - TOPOLOGY - - TERMINAL - -# convert input CSVs to HDF5 format and save to outputs directory -# create_input_store: True - -#input_store: ../output/input_data.h5 - -# number of households to simulate -households_sample_size: 100 -# simulate all households -# households_sample_size: 0 - -# set false to disable variability check in simple_simulate and interaction_simulate -check_for_variability: False - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False - -# log interaction simulate/sample expressions that return prohibitive utility values that exclude all alternatives -log_alt_losers: False - -# alternate dir to read/write cache (defaults to output_dir) -# used for skim cache, tvpb, and chunk_log caches -#cache_dir: data/cache - -############## -# -# chunking -# - -# chooser chunk size in gigabytes -# target top memory usage during activitysim run (including shared memory, loaded tables, and transient memory usage) -#chunk_size: 12_000_000_000 -chunk_size: 0 - -# minimum fraction of total chunk_size to reserve for adaptive chunking -min_available_chunk_ratio: 0.05 - -# initial number of chooser rows for first chunk in training mode -# when there is no pre-existing chunk_cache to set initial value -# ordinarily bigger is better as long as it is not so big it causes memory issues (e.g. accessibility with lots of zones) -default_initial_rows_per_chunk: 500 - -# method to calculate memory overhead when chunking is enabled -chunk_method: hybrid_uss - -# chunk training mode -# training to determine the chunking settings written to a cache file that is re-used for production runs -# training -# production -# disabled -# assume enough RAM to not chunk -chunk_training_mode: disabled - -# whether to preserve or delete subprocess chunk and mem logs when they are consolidated at end of multiprocess run -keep_chunk_logs: True -keep_mem_logs: True - -############## - -# - tracing - -# trace household id; comment out or leave empty for no trace -# households with all tour types -# [ 728370 1234067 1402924 1594625 1595333 1747572 1896849 1931818 2222690 2344951 2677154] -trace_hh_id: 982875 - -# trace origin, destination in accessibility calculation; comment out or leave empty for no trace -# trace_od: [5, 11] -trace_od: - - - -# to resume after last successful checkpoint, specify resume_after: _ -#resume_after: trip_destination -resume_after: - -checkpoints: True -# if checkpoints is False, no intermediate checkpoints will be written before the end of run -# (or if multiprocessing, at the end of each multiprocess_step) -#checkpoints: False -# explicit list of models to checkpoint -#checkpoints: -# - mandatory_tour_scheduling -# - non_mandatory_tour_scheduling -# - trip_mode_choice - - -models: - - initialize_landuse - - initialize_households - - compute_accessibility - - school_location - - workplace_location - - auto_ownership_simulate - - free_parking - - cdap_simulate - - mandatory_tour_frequency - - mandatory_tour_scheduling - - joint_tour_frequency - - joint_tour_composition - - joint_tour_participation - - joint_tour_destination - - joint_tour_scheduling - - non_mandatory_tour_frequency - - non_mandatory_tour_destination - - non_mandatory_tour_scheduling - - tour_mode_choice_simulate - - atwork_subtour_frequency - - atwork_subtour_destination - - atwork_subtour_scheduling - - atwork_subtour_mode_choice - - stop_frequency - - trip_purpose - - trip_destination - - trip_purpose_and_destination - - trip_scheduling - - trip_mode_choice - - write_data_dictionary - - track_skim_usage - - write_trip_matrices - - write_tables - -output_tables: - h5_store: False - action: include - prefix: final_ - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - trips - - joint_tour_participants - -# area_types less than this are considered urban -urban_threshold: 4 -cbd_threshold: 2 -rural_threshold: 6 - -# - value of time -min_value_of_time: 1 -max_value_of_time: 50 -distributed_vot_mu: 0.684 -distributed_vot_sigma: 0.85 - -household_median_value_of_time: - 1: 6.01 - 2: 8.81 - 3: 10.44 - 4: 12.86 diff --git a/activitysim/examples/example_mtc/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/example_mtc/configs/tour_departure_and_duration_alternatives.csv deleted file mode 100644 index 05f02b7964..0000000000 --- a/activitysim/examples/example_mtc/configs/tour_departure_and_duration_alternatives.csv +++ /dev/null @@ -1,191 +0,0 @@ -start,end -5,5 -5,6 -5,7 -5,8 -5,9 -5,10 -5,11 -5,12 -5,13 -5,14 -5,15 -5,16 -5,17 -5,18 -5,19 -5,20 -5,21 -5,22 -5,23 -6,6 -6,7 -6,8 -6,9 -6,10 -6,11 -6,12 -6,13 -6,14 -6,15 -6,16 -6,17 -6,18 -6,19 -6,20 -6,21 -6,22 -6,23 -7,7 -7,8 -7,9 -7,10 -7,11 -7,12 -7,13 -7,14 -7,15 -7,16 -7,17 -7,18 -7,19 -7,20 -7,21 -7,22 -7,23 -8,8 -8,9 -8,10 -8,11 -8,12 -8,13 -8,14 -8,15 -8,16 -8,17 -8,18 -8,19 -8,20 -8,21 -8,22 -8,23 -9,9 -9,10 -9,11 -9,12 -9,13 -9,14 -9,15 -9,16 -9,17 -9,18 -9,19 -9,20 -9,21 -9,22 -9,23 -10,10 -10,11 -10,12 -10,13 -10,14 -10,15 -10,16 -10,17 -10,18 -10,19 -10,20 -10,21 -10,22 -10,23 -11,11 -11,12 -11,13 -11,14 -11,15 -11,16 -11,17 -11,18 -11,19 -11,20 -11,21 -11,22 -11,23 -12,12 -12,13 -12,14 -12,15 -12,16 -12,17 -12,18 -12,19 -12,20 -12,21 -12,22 -12,23 -13,13 -13,14 -13,15 -13,16 -13,17 -13,18 -13,19 -13,20 -13,21 -13,22 -13,23 -14,14 -14,15 -14,16 -14,17 -14,18 -14,19 -14,20 -14,21 -14,22 -14,23 -15,15 -15,16 -15,17 -15,18 -15,19 -15,20 -15,21 -15,22 -15,23 -16,16 -16,17 -16,18 -16,19 -16,20 -16,21 -16,22 -16,23 -17,17 -17,18 -17,19 -17,20 -17,21 -17,22 -17,23 -18,18 -18,19 -18,20 -18,21 -18,22 -18,23 -19,19 -19,20 -19,21 -19,22 -19,23 -20,20 -20,21 -20,22 -20,23 -21,21 -21,22 -21,23 -22,22 -22,23 -23,23 \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice.csv b/activitysim/examples/example_mtc/configs/tour_mode_choice.csv deleted file mode 100644 index 8f6e7aadb9..0000000000 --- a/activitysim/examples/example_mtc/configs/tour_mode_choice.csv +++ /dev/null @@ -1,344 +0,0 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, -#,Walk,,,,,,,,,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, -#,Bike,,,,,,,,,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, -#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, -#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -#, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, -#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, -#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, -#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, -#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, -util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, -#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, -util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, -#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, -util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, -#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, -util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, -#,Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, -util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, -#,Taxi,,,,,,,,,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,coef_ivt,, - util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.totalWaitTaxi,,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt -#,indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,,,,,,,,,, -util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, -util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, -util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,,,,,,,,,, -util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, -util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, -util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,,,,,,,,,, -util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, -util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, -util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,, -util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,, -util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,, -util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,,, -util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,,, -util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_no_auto,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient -#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, -util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, -util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, -util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, -util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,, -util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,, -util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,, -util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,,, -util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,,, -util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient -util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,,,,,local_bus_ASC,,,,,,, -util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, -util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, -util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, -util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, -util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, -util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, -util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, -util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, -util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, -#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, -util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, -#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice_coefficients.csv b/activitysim/examples/example_mtc/configs/tour_mode_choice_coefficients.csv deleted file mode 100644 index c5d9a264a2..0000000000 --- a/activitysim/examples/example_mtc/configs/tour_mode_choice_coefficients.csv +++ /dev/null @@ -1,308 +0,0 @@ -coefficient_name,value,constrain -coef_one,1,T -coef_nest_root,1.00,T -coef_nest_AUTO,0.72,T -coef_nest_AUTO_DRIVEALONE,0.35,T -coef_nest_AUTO_SHAREDRIDE2,0.35,T -coef_nest_AUTO_SHAREDRIDE3,0.35,T -coef_nest_NONMOTORIZED,0.72,T -coef_nest_TRANSIT,0.72,T -coef_nest_TRANSIT_WALKACCESS,0.5,T -coef_nest_TRANSIT_DRIVEACCESS,0.5,T -coef_nest_RIDEHAIL,0.36,T -coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F -coef_ivt_school_univ,-0.0224,F -coef_ivt_work,-0.0134,F -coef_ivt_atwork,-0.0188,F -coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F -coef_topology_walk_multiplier_atwork,7.5,F -coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F -coef_topology_bike_multiplier_atwork,10,F -coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F -coef_topology_trn_multiplier_atwork,2,F -coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age1619_da_multiplier_school_univ,-1.3813,F -coef_age1619_da_multiplier_atwork,0.0032336,F -coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age010_trn_multiplier_school_univ,-1.5548,F -coef_age010_trn_multiplier_atwork,0.000722,F -coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F -coef_age16p_sr_multiplier_school_univ_work_atwork,0,F -coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F -coef_hhsize1_sr_multiplier_work,-0.734588,F -coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F -coef_hhsize2_sr_multiplier_school_univ,-0.6359,F -walk_ASC_no_auto_eatout,5.1251173,F -walk_ASC_no_auto_escort,2.8012068,F -walk_ASC_no_auto_othdiscr,3.2665946,F -walk_ASC_no_auto_othmaint,1.287299,F -walk_ASC_no_auto_school,18.414557,F -walk_ASC_no_auto_shopping,2.3768773,F -walk_ASC_no_auto_social,1.8680915,F -walk_ASC_no_auto_univ,6.408967,F -walk_ASC_no_auto_work,5.7672157,F -walk_ASC_no_auto_atwork,6.669213,F -walk_ASC_auto_deficient_eatout,3.274605,F -walk_ASC_auto_deficient_escort,-0.90204656,F -walk_ASC_auto_deficient_othdiscr,2.2494075,F -walk_ASC_auto_deficient_othmaint,1.3690404,F -walk_ASC_auto_deficient_school,3.2573624,F -walk_ASC_auto_deficient_shopping,2.2701733,F -walk_ASC_auto_deficient_social,2.870184,F -walk_ASC_auto_deficient_univ,4.50591,F -walk_ASC_auto_deficient_work,2.4010417,F -walk_ASC_auto_deficient_atwork,0.92546093,F -walk_ASC_auto_sufficient_eatout,1.5516903,F -walk_ASC_auto_sufficient_escort,-0.8116066,F -walk_ASC_auto_sufficient_othdiscr,1.2633476,F -walk_ASC_auto_sufficient_othmaint,0.7999634,F -walk_ASC_auto_sufficient_school,0.6476856,F -walk_ASC_auto_sufficient_shopping,0.7312663,F -walk_ASC_auto_sufficient_social,1.7072186,F -walk_ASC_auto_sufficient_univ,1.0607665,F -walk_ASC_auto_sufficient_work,0.053265337,F -walk_ASC_auto_sufficient_atwork,0.677216,F -bike_ASC_no_auto_eatout,0.86807096,F -bike_ASC_no_auto_escort,-0.716212,F -bike_ASC_no_auto_othdiscr,-0.3764232,F -bike_ASC_no_auto_othmaint,1.5394334,F -bike_ASC_no_auto_school,12.098735,F -bike_ASC_no_auto_shopping,0.8341555,F -bike_ASC_no_auto_social,0.02058321,F -bike_ASC_no_auto_univ,4.2945156,F -bike_ASC_no_auto_work,3.1940088,F -bike_ASC_no_auto_atwork,-0.90725845,F -bike_ASC_auto_deficient_eatout,-1.5691106,F -bike_ASC_auto_deficient_escort,-4.527928,F -bike_ASC_auto_deficient_othdiscr,-0.09246834,F -bike_ASC_auto_deficient_othmaint,-1.5184649,F -bike_ASC_auto_deficient_school,-0.5280678,F -bike_ASC_auto_deficient_shopping,-0.87584466,F -bike_ASC_auto_deficient_social,0.6345214,F -bike_ASC_auto_deficient_univ,-0.669235,F -bike_ASC_auto_deficient_work,0.25318968,F -bike_ASC_auto_deficient_atwork,-0.8074083,F -bike_ASC_auto_sufficient_eatout,-1.2003471,F -bike_ASC_auto_sufficient_escort,-5.0631084,F -bike_ASC_auto_sufficient_othdiscr,-1.0714597,F -bike_ASC_auto_sufficient_othmaint,-2.8083024,F -bike_ASC_auto_sufficient_school,-2.1134686,F -bike_ASC_auto_sufficient_shopping,-2.5662103,F -bike_ASC_auto_sufficient_social,-1.368071,F -bike_ASC_auto_sufficient_univ,-1.9397832,F -bike_ASC_auto_sufficient_work,-1.5800232,F -bike_ASC_auto_sufficient_atwork,15.72017,F -sr2_ASC_no_auto_all,0,F -sr2_ASC_auto_deficient_eatout,0.5882345,F -sr2_ASC_auto_deficient_escort,0,F -sr2_ASC_auto_deficient_othdiscr,0.6601513,F -sr2_ASC_auto_deficient_othmaint,0.2621527,F -sr2_ASC_auto_deficient_school,0.12474365,F -sr2_ASC_auto_deficient_shopping,0.24409756,F -sr2_ASC_auto_deficient_social,1.8558528,F -sr2_ASC_auto_deficient_univ,-1.6922346,F -sr2_ASC_auto_deficient_work,-0.33803123,F -sr2_ASC_auto_deficient_atwork,-2.1102421,F -sr2_ASC_auto_sufficient_eatout,0.86280555,F -sr2_ASC_auto_sufficient_escort,0,F -sr2_ASC_auto_sufficient_othdiscr,0.49684617,F -sr2_ASC_auto_sufficient_othmaint,0.25817883,F -sr2_ASC_auto_sufficient_school,-1.6062657,F -sr2_ASC_auto_sufficient_shopping,0.19770707,F -sr2_ASC_auto_sufficient_social,0.5236025,F -sr2_ASC_auto_sufficient_univ,-1.859427,F -sr2_ASC_auto_sufficient_work,-1.0857458,F -sr2_ASC_auto_sufficient_atwork,-1.4450618,F -sr3p_ASC_no_auto_eatout,0.3219998,F -sr3p_ASC_no_auto_escort,-1.8129267,F -sr3p_ASC_no_auto_othdiscr,0.27216902,F -sr3p_ASC_no_auto_othmaint,-0.8031854,F -sr3p_ASC_no_auto_school,-6.0240827,F -sr3p_ASC_no_auto_shopping,-0.27978948,F -sr3p_ASC_no_auto_social,-1.4036902,F -sr3p_ASC_no_auto_univ,-6.056001,F -sr3p_ASC_no_auto_work,-0.5831269,F -sr3p_ASC_no_auto_atwork,0.5826626,F -sr3p_ASC_auto_deficient_eatout,0.04605236,F -sr3p_ASC_auto_deficient_escort,-0.40818766,F -sr3p_ASC_auto_deficient_othdiscr,1.0470966,F -sr3p_ASC_auto_deficient_othmaint,-1.3493925,F -sr3p_ASC_auto_deficient_school,0.7149571,F -sr3p_ASC_auto_deficient_shopping,-0.073370166,F -sr3p_ASC_auto_deficient_social,1.5007243,F -sr3p_ASC_auto_deficient_univ,-1.7277422,F -sr3p_ASC_auto_deficient_work,-0.8527042,F -sr3p_ASC_auto_deficient_atwork,-2.514658,F -sr3p_ASC_auto_sufficient_eatout,0.8468596,F -sr3p_ASC_auto_sufficient_escort,-0.05741253,F -sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F -sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F -sr3p_ASC_auto_sufficient_school,-1.0201935,F -sr3p_ASC_auto_sufficient_shopping,-0.077571295,F -sr3p_ASC_auto_sufficient_social,0.50617886,F -sr3p_ASC_auto_sufficient_univ,-1.9047098,F -sr3p_ASC_auto_sufficient_work,-1.4699702,F -sr3p_ASC_auto_sufficient_atwork,-1.652174,F -walk_transit_ASC_no_auto_eatout,2.5936368,F -walk_transit_ASC_no_auto_escort,-2.2172081,F -walk_transit_ASC_no_auto_othdiscr,2.2437785,F -walk_transit_ASC_no_auto_othmaint,2.5643456,F -walk_transit_ASC_no_auto_school,21.383749,F -walk_transit_ASC_no_auto_shopping,2.1067476,F -walk_transit_ASC_no_auto_social,1.3814651,F -walk_transit_ASC_no_auto_univ,8.786037,F -walk_transit_ASC_no_auto_work,5.0354166,F -walk_transit_ASC_no_auto_atwork,2.7041876,F -walk_transit_ASC_auto_deficient_eatout,-0.03896324,F -walk_transit_ASC_auto_deficient_escort,-4.960704,F -walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F -walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F -walk_transit_ASC_auto_deficient_school,4.120708,F -walk_transit_ASC_auto_deficient_shopping,-0.8476569,F -walk_transit_ASC_auto_deficient_social,0.97444487,F -walk_transit_ASC_auto_deficient_univ,3.1362555,F -walk_transit_ASC_auto_deficient_work,0.65302855,F -walk_transit_ASC_auto_deficient_atwork,-2.9988291,F -walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F -walk_transit_ASC_auto_sufficient_escort,-4.934847,F -walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F -walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F -walk_transit_ASC_auto_sufficient_school,0.74590874,F -walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F -walk_transit_ASC_auto_sufficient_social,-0.3453759,F -walk_transit_ASC_auto_sufficient_univ,0.4731163,F -walk_transit_ASC_auto_sufficient_work,-0.8916507,F -walk_transit_ASC_auto_sufficient_atwork,-3.401027,F -drive_transit_ASC_no_auto_all,0,F -drive_transit_ASC_auto_deficient_eatout,0.5998061,F -drive_transit_ASC_auto_deficient_escort,-1.1537067,F -drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F -drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F -drive_transit_ASC_auto_deficient_school,5.3252654,F -drive_transit_ASC_auto_deficient_shopping,-0.41849178,F -drive_transit_ASC_auto_deficient_social,1.5627195,F -drive_transit_ASC_auto_deficient_univ,1.8501176,F -drive_transit_ASC_auto_deficient_work,0.10081567,F -drive_transit_ASC_auto_deficient_atwork,-998.8196,F -drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F -drive_transit_ASC_auto_sufficient_escort,-4.6014247,F -drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F -drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F -drive_transit_ASC_auto_sufficient_school,1.40135,F -drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F -drive_transit_ASC_auto_sufficient_social,-0.61585575,F -drive_transit_ASC_auto_sufficient_univ,1.3587753,F -drive_transit_ASC_auto_sufficient_work,-1.0045459,F -drive_transit_ASC_auto_sufficient_atwork,-999.21466,F -taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F -taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F -taxi_ASC_no_auto_school_univ,-7,T -taxi_ASC_no_auto_work,4.7291,F -taxi_ASC_no_auto_atwork,4.1021,F -taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F -taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F -taxi_ASC_auto_deficient_school,-0.3338,F -taxi_ASC_auto_deficient_univ,4.2492,F -taxi_ASC_auto_deficient_work,-1.4766,F -taxi_ASC_auto_deficient_atwork,-4.4046,F -taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F -taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F -taxi_ASC_auto_sufficient_school,-2.4294,F -taxi_ASC_auto_sufficient_univ,-0.3131,F -taxi_ASC_auto_sufficient_work,-4.8509,F -taxi_ASC_auto_sufficient_atwork,-2.8804,F -tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F -tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F -tnc_single_ASC_no_auto_school,-7,T -tnc_single_ASC_no_auto_univ,-2.519,F -tnc_single_ASC_no_auto_work,5.7855,F -tnc_single_ASC_no_auto_atwork,4.4982,F -tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F -tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F -tnc_single_ASC_auto_deficient_school,-0.5524,F -tnc_single_ASC_auto_deficient_univ,1.0221,F -tnc_single_ASC_auto_deficient_work,-0.8013,F -tnc_single_ASC_auto_deficient_atwork,-3.7626,F -tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F -tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F -tnc_single_ASC_auto_sufficient_school,-2.8375,F -tnc_single_ASC_auto_sufficient_univ,0.2088,F -tnc_single_ASC_auto_sufficient_work,-4.1946,F -tnc_single_ASC_auto_sufficient_atwork,-2.7988,F -tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F -tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F -tnc_shared_ASC_no_auto_school,-7,T -tnc_shared_ASC_no_auto_univ,-5.8116,F -tnc_shared_ASC_no_auto_work,3.2429,F -tnc_shared_ASC_no_auto_atwork,3.3672,F -tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F -tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F -tnc_shared_ASC_auto_deficient_school,-1.4746,F -tnc_shared_ASC_auto_deficient_univ,3.25,F -tnc_shared_ASC_auto_deficient_work,-2.1435,F -tnc_shared_ASC_auto_deficient_atwork,-4.5089,F -tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F -tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F -tnc_shared_ASC_auto_sufficient_school,-3.7219,F -tnc_shared_ASC_auto_sufficient_univ,-0.9068,F -tnc_shared_ASC_auto_sufficient_work,-5.3575,F -tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F -joint_walk_ASC_no_auto_all,-0.21274701,F -joint_walk_ASC_auto_deficient_all,-1.9607706,F -joint_walk_ASC_auto_sufficient_all,-3.2352157,F -joint_bike_ASC_no_auto_all,-2.8671598,F -joint_bike_ASC_auto_deficient_all,-6.076415,F -joint_bike_ASC_auto_sufficient_all,-6.3760657,F -joint_sr2_ASC_no_auto_all,0,T -joint_sr2_ASC_auto_deficient_all,0,T -joint_sr2_ASC_auto_sufficient_all,0,T -joint_sr3p_ASC_no_auto_all,0.5630671,F -joint_sr3p_ASC_auto_deficient_all,-1.8841692,F -joint_sr3p_ASC_auto_sufficient_all,-2.234826,F -joint_walk_transit_ASC_no_auto_all,0.62292415,F -joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F -joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F -joint_drive_transit_ASC_no_auto_all,0,T -joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F -joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F -joint_taxi_ASC_no_auto_all,-4.5792,F -joint_taxi_ASC_auto_deficient_all,-9.8157,F -joint_taxi_ASC_auto_sufficient_all,-11.7099,T -joint_tnc_single_ASC_no_auto_all,-4.4917,F -joint_tnc_single_ASC_auto_deficient_all,-9.8961,F -joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T -joint_tnc_shared_ASC_no_auto_all,-4.3002,F -joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F -joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T -local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F -local_bus_ASC_school_univ,-0.06508621,F -local_bus_ASC_work,0.06689507,F -walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -walk_light_rail_ASC_school_univ,1.6814003,F -walk_light_rail_ASC_work,0.8255567,F -drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -drive_light_rail_ASC_school_univ,1.6814003,F -drive_light_rail_ASC_work,0.8255567,F -walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -walk_ferry_ASC_school_univ,2.0202317,F -walk_ferry_ASC_work,0.93322605,F -drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -drive_ferry_ASC_school_univ,2.0202317,F -drive_ferry_ASC_work,0.93322605,F -express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F -express_bus_ASC_school_univ,0.32496938,F -express_bus_ASC_work,-0.5165474,F -heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F -heavy_rail_ASC_school_univ,0.96200377,F -heavy_rail_ASC_work,0.64772975,F -commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F -commuter_rail_ASC_school_univ,1.0336206,F -commuter_rail_ASC_work,0.725503,F -walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -walk_transit_CBD_ASC_school_univ,0.672,F -walk_transit_CBD_ASC_work,0.804,F -walk_transit_CBD_ASC_atwork,0.564,F -drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -drive_transit_CBD_ASC_school_univ,0.672,F -drive_transit_CBD_ASC_work,1.1,F -drive_transit_CBD_ASC_atwork,0.564,F diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_atwork.csv b/activitysim/examples/example_mtc/configs/tour_scheduling_atwork.csv deleted file mode 100644 index 93846ae3a2..0000000000 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_atwork.csv +++ /dev/null @@ -1,59 +0,0 @@ -Label,Description,Expression,Coefficient -#,Departure Constants,, -util_early_start_at_5,Early start at 5,start < 6,coef_early_start_at_5 -util_am_peak_start_at_6,AM peak start at 6,start == 6,coef_am_peak_start_at_6 -util_am_peak_start_at_7,AM peak start at 7,start == 7,coef_am_peak_start_at_7 -util_am_peak_start_at_8,AM peak start at 8,start == 8,coef_am_peak_start_at_8 -util_am_peak_start_at_9,AM peak start at 9,start == 9,coef_am_peak_start_at_9 -util_midday_start_at_10_11_12,Midday start at 10/11/12,(start > 9) & (start < 13),coef_midday_start_at_10_11_12 -util_midday_start_at_13_14_15,Midday start at 13/14/15,(start > 12) & (start < 16),coef_midday_start_at_13_14_15 -util_pm_peak_start_at_16_17_18,PM peak start at 16/17/18,(start > 15) & (start < 19),coef_pm_peak_start_at_16_17_18 -util_evening_start_at_19_20_21,Evening start at 19/20/21,(start > 18) & (start < 22),coef_evening_start_at_19_20_21 -util_late_start_at_22_23,Late start at 22/23,start > 21,coef_late_start_at_22_23 -#,Arrival Constants,, -util_early_end_at_5_6,Early end at 5/6 ,end < 7,coef_early_end_at_5_6 -util_am_peak_end,AM peak end,(end > 6) & (end < 10),coef_am_peak_end -util_midday_end_at_10_11_12,Midday end at 10/11/12,(end > 9) & (end < 13),coef_midday_end_at_10_11_12 -util_midday_end_at_13_14,Midday end at 13/14,(end > 12) & (end < 15),coef_midday_end_at_13_14 -util_pm_peak_end_at_15,PM peak end at 15,end == 15,coef_pm_peak_end_at_15 -util_pm_peak_end_at_16,PM peak end at 16,end == 16,coef_pm_peak_end_at_16 -util_pm_peak_end_at_17,PM peak end at 17,end == 17,coef_pm_peak_end_at_17 -util_pm_peak_end_at_18,PM peak end at 18,end == 18,coef_pm_peak_end_at_18 -util_evening_end_at_19_20_21,Evening end at 19/20/21,(end > 18) & (end < 22),coef_evening_end_at_19_20_21 -util_late_end_at_22_23,Late end at 22/23,end > 21,coef_late_end_at_22_23 -#,,, -util_duration_of_0_hours,Duration of 0 hours,duration==0,coef_duration_of_0_hours -util_duration_of_1_hour,Duration of 1 hour,duration==1,coef_duration_of_1_hour -util_duration_of_2_to_3_hours,Duration of 2 to 3 hours,(duration >=1) and (duration <= 4),coef_duration_of_2_to_3_hours -util_duration_of_4_to_5_hours,Duration of 4 to 5 hours,(duration >=4) and (duration <=5),coef_duration_of_4_to_5_hours -util_duration_of_6_to_7_hours,Duration of 6 to 7 hours,(duration >=6) and (duration <=7),coef_duration_of_6_to_7_hours -util_duration_of_8_to_10_hours,Duration of 8 to 10 hours,(duration >=8) and (duration <=10),coef_duration_of_8_to_10_hours -util_duration_of_11_to_13_hours,Duration of 11 to 13 hours,(duration >=11) and (duration <=13),coef_duration_of_11_to_13_hours -util_duration_of_14_to_18_hours,Duration of 14 to 18 hours,(duration >=14) and (duration <=18),coef_duration_of_14_to_18_hours -#,,, -util_start_shift_for_outbound_auto_travel_time_off_peak,Start shift for outbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd, time_cap)",coef_start_shift_for_outbound_auto_travel_time_off_peak -util_start_shift_for_inbound_auto_travel_time_off_peak,Start shift for inbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd_t, time_cap)",coef_start_shift_for_inbound_auto_travel_time_off_peak -util_duration_shift_for_outbound_auto_travel_time_off_peak,Duration shift for outbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd, time_cap)",coef_duration_shift_for_outbound_auto_travel_time_off_peak -util_duration_shift_for_inbound_auto_travel_time_off_peak,Duration shift for inbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd_t, time_cap)",coef_duration_shift_for_inbound_auto_travel_time_off_peak -#,,, -util_start_shift_for_business_related_,Start shift for business-related sub-tour purpose,(tour_type == 'business') * start,coef_start_shift_for_business_related_ -util_duration_shift_for_business_related_,Duration shift for business-related sub-tour purpose,(tour_type == 'business') * duration,coef_duration_shift_for_business_related_ -util_start_shift_for_first_sub_tour_of_same_work_tour,Start shift for first sub-tour of the same work tour,(tour_type_num == 1) * start,coef_start_shift_for_first_sub_tour_of_same_work_tour -util_duration_shift_for_first_sub_tour_of_same_work_tour,Duration shift for first sub-tour of the same work tour,(tour_type_num == 1) * duration,coef_duration_shift_for_first_sub_tour_of_same_work_tour -util_start_shift_for_subsequent_sub_tour_of_same_work_tour,Start shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * start,coef_start_shift_for_subsequent_sub_tour_of_same_work_tour -util_duration_shift_for_subsequent_sub_tour_of_same_work_tour,Duration shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * duration,coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour -util_start_shift_for_number_of_mandatory_tours,Start shift for number of mandatory tours made by the person,start * num_mand,coef_start_shift_for_number_of_mandatory_tours -util_duration_shift_for_number_of_mandatory_tours,Duration shift for number of mandatory tours made by the person,duration * num_mand,coef_duration_shift_for_number_of_mandatory_tours -util_start_shift_for_number_of_joint_tours,Start shift for number of joint tours in which the person participated,start * num_joint_tours,coef_start_shift_for_number_of_joint_tours -util_duration_shift_for_number_of_joint_tours,Duration shift for number of joint tours in which the person participated,duration * num_joint_tours,coef_duration_shift_for_number_of_joint_tours -util_start_shift_for_number_of_individual_nonmandatory_tours,Start shift for number of individual nonm tours (including escort) made by the person,start * num_non_mand,coef_start_shift_for_number_of_individual_nonmandatory_tours -util_duration_shift_for_number_of_individual_nonmandatory_tours,Duration shift for number of individual nonm tours (including escort) made by the person,duration * num_non_mand,coef_duration_shift_for_number_of_individual_nonmandatory_tours -#,,, -util_dummy_for_business_related_purpose_and_duration_from_0_to_1,Dummy for business-related purpose and duration from 0 to 1,(tour_type == 'business') & (duration <=1),coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 -util_dummy_for_eating_out_purpose_and_duration_of_1_hour,Dummy for eating-out purpose and duration of 1 hour,(tour_type == 'business') & (duration ==1),coef_dummy_for_eating_out_purpose_and_duration_of_1_hour -util_dummy_for_eating_out_purpose_and_departure_at_11,Dummy for eating-out purpose and departure at 11,(tour_type == 'business') & (start == 11),coef_dummy_for_eating_out_purpose_and_departure_at_11 -util_dummy_for_eating_out_purpose_and_departure_at_12,Dummy for eating-out purpose and departure at 12,(tour_type == 'business') & (start == 12),coef_dummy_for_eating_out_purpose_and_departure_at_12 -util_dummy_for_eating_out_purpose_and_departure_at_13,Dummy for eating-out purpose and departure at 13,(tour_type == 'business') & (start == 13),coef_dummy_for_eating_out_purpose_and_departure_at_13 -#,,, -#,Mode Choice Logsum,mode_choice_logsum, -#,,, \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/example_mtc/configs/tour_scheduling_nonmandatory.csv deleted file mode 100644 index d8bf36b455..0000000000 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_nonmandatory.csv +++ /dev/null @@ -1,96 +0,0 @@ -Label,Description,Expression,Coefficient -util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends -util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration -util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,(tour_type == 'shopping') * start,coef_shopping_tour_departure_shift_effects -util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,(tour_type == 'shopping') * duration,coef_shopping_tour_duration_shift_effects -util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * start,coef_maintenance_tour_departure_shift_effects -util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * duration,coef_maintenance_tour_duration_shift_effects -util_visit_tour_departure_shift_effects_start,Visit tour - departure shift effects,(tour_type == 'social') * start,coef_visit_tour_departure_shift_effects -util_visit_tour_duration_shift_effects_duration,Visit tour - departure shift effects,(tour_type == 'social') * duration,coef_visit_tour_duration_shift_effects -util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,(tour_type == 'eatout') * start,coef_eat_out_tour_departure_shift_effects -util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects -util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects -util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects -util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects -util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects -util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects -util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects -util_number_of_escort_tours_departure_shift_effects,Number of escort tours - departure shift effects,num_escort_tours * start,coef_number_of_escort_tours_departure_shift_effects -util_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,Number of idividual non-mandatory tours (excluding escort) - departure shift effects,num_non_escort_tours * start,coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects -util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect -util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect -util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,(tour_type == 'othmaint') & (start < 7),coef_maintenance_tour_depart_before_7 -util_shopping_tour_depart_before_8,Shopping tour - depart before 8,(tour_type == 'shopping') & (start < 8),coef_shopping_tour_depart_before_8 -util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,(tour_type == 'shopping') & (end > 22),coef_shopping_tour_arrive_after_22 -util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 -util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 -util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,(tour_type == 'shopping') & (duration < 2),coef_shopping_tour_duration_lt_2_hours -util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,(tour_type == 'othdiscr') & (duration < 2),coef_discretionary_tour_duration_lt_2_hours -util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 -#,,, -#,Mode Choice Logsum,mode_choice_logsum,#mode_choice_logsum -#,,,# -util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy -util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy -util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour -util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour -util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,Remaining individual non-mandatory tours to be scheduled / number of unscheduled hours,"@((1.0 + df.tour_count - df.tour_num)) / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours -#,#,,# -util_departure_constants_early,Departure Constants -- Early (up to 5),(tour_type != 'escort') & (start < 6),coef_departure_constants_early -util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),(tour_type != 'escort') & (start == 6),coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),(tour_type != 'escort') & (start == 7),coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),(tour_type != 'escort') & (start == 8),coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),(tour_type != 'escort') & (start == 9),coef_departure_constants_am_peak_4 -util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(tour_type != 'escort') & (start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(tour_type != 'escort') & (start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(tour_type != 'escort') & (start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late,Departure Constants -- Late (22 and later),(tour_type != 'escort') & (start > 21),coef_departure_constants_late -util_arrival_constants_early,Arrival Constants -- Early (up to 6),(tour_type != 'escort') & (end < 7),coef_arrival_constants_early -util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(tour_type != 'escort') & (end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(tour_type != 'escort') & (end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),(tour_type != 'escort') & (end == 15),coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),(tour_type != 'escort') & (end == 16),coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),(tour_type != 'escort') & (end == 17),coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),(tour_type != 'escort') & (end == 18),coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(tour_type != 'escort') & (end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late,Arrival Constants -- Late (22 and later),(tour_type != 'escort') & (end > 21),coef_arrival_constants_late -util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,(tour_type != 'escort') & (duration < 2),coef_duration_constants_0_to_1_hours -util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,(tour_type != 'escort') & (duration > 1) & (duration < 4),coef_duration_constants_2_to_3_hours -util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,(tour_type != 'escort') & (duration > 3) & (duration < 6),coef_duration_constants_4_to_5_hours -util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,(tour_type != 'escort') & (duration > 5) & (duration < 8),coef_duration_constants_6_to_7_hours -util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,(tour_type != 'escort') & (duration > 7) & (duration < 11),coef_duration_constants_8_to_10_hours -util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,(tour_type != 'escort') & (duration > 10) & (duration < 14),coef_duration_constants_11_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(tour_type != 'escort') & (duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours -util_escort_tour_departure_constants_early,Escort Tour Departure Constants -- Early (up to 5),(tour_type == 'escort') & (start < 6),coef_escort_tour_departure_constants_early -util_escort_tour_departure_constants_am_peak_1,Escort Tour Departure Constants -- AM peak 1 (6),(tour_type == 'escort') & (start == 6),coef_escort_tour_departure_constants_am_peak_1 -util_escort_tour_departure_constants_am_peak_2,Escort Tour Departure Constants -- AM peak 2 (7),(tour_type == 'escort') & (start == 7),coef_escort_tour_departure_constants_am_peak_2 -util_escort_tour_departure_constants_am_peak_3,Escort Tour Departure Constants -- AM peak 3 (8),(tour_type == 'escort') & (start == 8),coef_escort_tour_departure_constants_am_peak_3 -util_escort_tour_departure_constants_am_peak_4,Escort Tour Departure Constants -- AM peak 4 (9),(tour_type == 'escort') & (start == 9),coef_escort_tour_departure_constants_am_peak_4 -util_escort_tour_departure_constants_midday_1,Escort Tour Departure Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (start > 9) & (start < 13),coef_escort_tour_departure_constants_midday_1 -util_escort_tour_departure_constants_midday_2,Escort Tour Departure Constants -- Midday 2 (13 to 15),(tour_type == 'escort') & (start > 12) & (start < 16),coef_escort_tour_departure_constants_midday_2 -util_escort_tour_departure_constants_pm_peak,Escort Tour Departure Constants -- PM peak (16 to 18),(tour_type == 'escort') & (start > 15) & (start < 19),coef_escort_tour_departure_constants_pm_peak -util_escort_tour_departure_constants_evening,Escort Tour Departure Constants -- Evening (19 to 21),(tour_type == 'escort') & (start > 18) & (start < 22),coef_escort_tour_departure_constants_evening -util_escort_tour_departure_constants_late,Escort Tour Departure Constants -- Late (22 and later),(tour_type == 'escort') & (start > 21),coef_escort_tour_departure_constants_late -util_escort_tour_arrival_constants_early,Escort Tour Arrival Constants -- Early (up to 6),(tour_type == 'escort') & (end < 7),coef_escort_tour_arrival_constants_early -util_escort_tour_arrival_constants_am_peak,Escort Tour Arrival Constants -- AM peak (7 to 9),(tour_type == 'escort') & (end > 6) & (end < 10),coef_escort_tour_arrival_constants_am_peak -util_escort_tour_arrival_constants_midday_1,Escort Tour Arrival Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (end > 9) & (end < 13),coef_escort_tour_arrival_constants_midday_1 -util_escort_tour_arrival_constants_midday_2,Escort Tour Arrival Constants -- Midday 2 (13 to 14),(tour_type == 'escort') & (end > 12) & (end < 15),coef_escort_tour_arrival_constants_midday_2 -util_escort_tour_arrival_constants_pm_peak_1,Escort Tour Arrival Constants -- PM peak 1 (15),(tour_type == 'escort') & (end == 15),coef_escort_tour_arrival_constants_pm_peak_1 -util_escort_tour_arrival_constants_pm_peak_2,Escort Tour Arrival Constants -- PM peak 2 (16),(tour_type == 'escort') & (end == 16),coef_escort_tour_arrival_constants_pm_peak_2 -util_escort_tour_arrival_constants_pm_peak_3,Escort Tour Arrival Constants -- PM peak 3 (17),(tour_type == 'escort') & (end == 17),coef_escort_tour_arrival_constants_pm_peak_3 -util_escort_tour_arrival_constants_pm_peak_4,Escort Tour Arrival Constants -- PM peak 4 (18),(tour_type == 'escort') & (end == 18),coef_escort_tour_arrival_constants_pm_peak_4 -util_escort_tour_arrival_constants_evening,Escort Tour Arrival Constants -- Evening (19 to 21),(tour_type == 'escort') & (end > 18) & (end < 22),coef_escort_tour_arrival_constants_evening -util_escort_tour_arrival_constants_late,Escort Tour Arrival Constants -- Late (22 and later),(tour_type == 'escort') & (end > 21),coef_escort_tour_arrival_constants_late -util_escort_tour_duration_constants_0_to_1_hours,Escort Tour Duration Constants -- 0 to 1 hours,(tour_type == 'escort') & (duration < 2),coef_escort_tour_duration_constants_0_to_1_hours -util_escort_tour_duration_constants_2_to_3_hours,Escort Tour Duration Constants -- 2 to 3 hours,(tour_type == 'escort') & (duration > 1) & (duration < 4),coef_escort_tour_duration_constants_2_to_3_hours -util_escort_tour_duration_constants_4_to_5_hours,Escort Tour Duration Constants -- 4 to 5 hours,(tour_type == 'escort') & (duration > 3) & (duration < 6),coef_escort_tour_duration_constants_4_to_5_hours -util_escort_tour_duration_constants_6_to_7_hours,Escort Tour Duration Constants -- 6 to 7 hours,(tour_type == 'escort') & (duration > 5) & (duration < 8),coef_escort_tour_duration_constants_6_to_7_hours -util_escort_tour_duration_constants_8_to_10_hours,Escort Tour Duration Constants -- 8 to 10 hours,(tour_type == 'escort') & (duration > 7) & (duration < 11),coef_escort_tour_duration_constants_8_to_10_hours -util_escort_tour_duration_constants_11_to_13_hours,Escort Tour Duration Constants -- 11 to 13 hours,(tour_type == 'escort') & (duration > 10) & (duration < 14),coef_escort_tour_duration_constants_11_to_13_hours -util_escort_tour_duration_constants_14_to_18_hours,Escort Tour Duration Constants -- 14 to 18 hours,(tour_type == 'escort') & (duration > 13) & (duration < 19),coef_escort_tour_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_school.csv b/activitysim/examples/example_mtc/configs/tour_scheduling_school.csv deleted file mode 100644 index a5f8bcbe56..0000000000 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_school.csv +++ /dev/null @@ -1,62 +0,0 @@ -Label,Description,Expression,Coefficient -util_roundtrip_auto_time_to_work,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_roundtrip_auto_time_to_work -util_ft_worker_departure,Full-time worker departure shift effects,(ptype == 1) * start,coef_ft_worker_departure -util_ft_worker_duration,Full-time worker duration shift effects,(ptype == 1) * duration,coef_ft_worker_duration -util_non_worker_departure,Non-working adult departure shift effects,(ptype == 4) * start,coef_non_worker_departure -util_univ_departure,University student departure shift effects,(ptype == 3) * start,coef_univ_departure -util_univ_duration,University student duration shift effects,(ptype == 3) * duration,coef_univ_duration -util_student_driver_duration,Student driving age duration shift effects,(ptype == 7) * duration,coef_student_driver_duration -util_all_adults_ft_worker_duration,All adults work full time- duration,(num_workers == hhsize) * duration,coef_all_adults_ft_worker_duration -util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends -util_first_of_2plus_school_tours_departure,First of 2+ school/univ. tours- departure,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_school_tours_departure -util_first_of_2plus_school_tours_duration,First of 2+ school/univ. tours- duration,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_school_tours_duration -util_subsequent_2plus_school_tours_duration,Subsequent of 2+ school/univ. tours- duration,(tour_num > 1) * duration,coef_subsequent_2plus_school_tours_duration -util_hh_income_early_departure,Household income -- Early departure interaction,(income_in_thousands >= 100) & (start < 6),coef_hh_income_early_departure -util_hh_income_late_arrival,Household income -- Late arrival interaction,(income_in_thousands >= 100) & (end > 22),coef_hh_income_late_arrival -util_first_of_2plus_school_lt_6_hours,First of 2+ school/univ tours- duration<6 hrs,(tour_count>1) & (tour_num == 1) & (duration < 6),coef_first_of_2plus_school_lt_6_hours -util_subsequent_of_2plus_school_lt_6_hours,Subsequent of 2+ school/univ tours- duration<6 hrs,(tour_num > 1) & (duration < 6),coef_subsequent_of_2plus_school_lt_6_hours -util_school_plus_work_tours_by_student_lt_6_hours,School+work tours by student- duration<6 hrs,work_and_school_and_worker & (duration < 6),coef_school_plus_work_tours_by_student_lt_6_hours -util_school_plus_work_tours_by_worker_lt_6_hours,School+work tours by worker- duration<6 hrs,work_and_school_and_student & (duration < 6),coef_school_plus_work_tours_by_worker_lt_6_hours -#,,, -util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum -#,,, -#,,, FIXME - use temps as timetable ops can be very time-consuming -util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy -util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy -util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previous_tour_ends_this_departure_hour -util_previous_tour_begins_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previous_tour_begins_this_arrival_hour -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours -#,,, -util_departure_constants_early_up_to_5,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early -util_departure_constants_am_peak_1 _6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2_7,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3_8,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4_9,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 -util_departure_constants_midday_1_10_to_12,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2_13_to_15,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak_16_to_18,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening_19_to_21,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late_22_and_later,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late -util_arrival_constants_early_up_to_6,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early -util_arrival_constants_am_peak_7_to_9,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1_10_to_12,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2_13_to_14,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1_15,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2_16,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3_17,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4_18,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening_19_to_21,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late_22_and_later,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late -util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours -util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours -util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours -util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours -util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours -util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours -util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours -util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_work.csv b/activitysim/examples/example_mtc/configs/tour_scheduling_work.csv deleted file mode 100644 index d80fc39b35..0000000000 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_work.csv +++ /dev/null @@ -1,70 +0,0 @@ -Label,Description,Expression,Coefficient -util_free_flow_round_trip_auto_time_shift_effects_departure,Free-flow round trip auto time shift effects - departure,roundtrip_auto_time_to_work * start,coef_free_flow_round_trip_auto_time_shift_effects_departure -util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration -util_part_time_worker_departure_shift_effects,Part-time worker departure shift effects,(ptype == 2) * start,coef_part_time_worker_departure_shift_effects -util_non_working_adult_duration_shift_effects,Non-working adult duration shift effects,(ptype == 4) * duration,coef_non_working_adult_duration_shift_effects -util_university_student_departure_shift_effects,University student departure shift effects,(ptype == 3) * start,coef_university_student_departure_shift_effects -util_household_income_departure_shift_effects,Household income departure shift effects,income_in_thousands * start,coef_household_income_departure_shift_effects -util_destination_in_cbd_departure_shift_effects,Destination in CBD departure shift effects,workplace_in_cbd * start,coef_destination_in_cbd_departure_shift_effects -util_destination_in_cbd_duration_shift_effects,Destination in CBD duration shift effects,workplace_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects -util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends -util_first_of_2plus_work_tours_departure_shift_effects,First of 2+ work tours departure shift effects,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_work_tours_departure_shift_effects -util_first_of_2plus_work_tours_duration_shift_effects,First of 2+ work tours duration shift effects,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_work_tours_duration_shift_effects -util_subsequent_2plus_work_departure_tours_shift_effects,Subsequent 2+ work departure tours shift effects,(tour_num == 2) * start,coef_subsequent_2plus_work_departure_tours_shift_effects -util_subsequent_2plus_work_duration_tours_shift_effects,Subsequent 2+ work duration tours shift effects,(tour_num == 2) * duration,coef_subsequent_2plus_work_duration_tours_shift_effects -util_household_income_early_departure_interaction,Household income -- Early departure interaction,(income_in_thousands > 100) & (start < 6),coef_household_income_early_departure_interaction -util_household_income_late_arrival_interaction,Household income -- Late arrival interaction,(income_in_thousands > 100) & (end > 22),coef_household_income_late_arrival_interaction -util_destination_in_cbd_early_departure_interaction,Destination in CBD -- Early departure interaction,workplace_in_cbd & (start < 6),coef_destination_in_cbd_early_departure_interaction -util_destination_in_cbd_late_arrival_interaction,Destination in CBD -- Late arrival interaction,workplace_in_cbd & (end > 22),coef_destination_in_cbd_late_arrival_interaction -util_rural_household_early_departure_interaction,Rural household -- Early departure interaction,home_is_rural & (start < 6),coef_rural_household_early_departure_interaction -util_rural_household_late_arrival_interaction,Rural household -- Late arrival interaction,home_is_rural & (end > 22),coef_rural_household_late_arrival_interaction -util_full_time_worker_duration_lt_9_hours_interaction,Full-time worker -- duration < 9 hours interaction,(ptype == 1) & (duration < 9),coef_full_time_worker_duration_lt_9_hours_interaction -util_full_time_worker_10_to_12_departure_interaction,Full-time worker -- 10 to 12 departure interaction,(ptype == 1) & (start > 9) & (start < 13),coef_full_time_worker_10_to_12_departure_interaction -util_worker_13_to_15_arrival_interaction,Part-time worker -- 13 to 15 arrival interaction,(ptype == 2) & (end > 12) & (end < 16),coef_part_time_worker_13_to_15_arrival_interaction -util_first_of_2plus_work_tours_duration_lt_8_hrs,First of 2+ work tours- duration<8 hrs,((tour_count>1) & (tour_num == 1)) & (duration < 8),coef_first_of_2plus_work_tours_duration_lt_8_hrs -util_subsequent_of_2plus_work_tours_duration_lt_8_hrs,Subsequent of 2+ work tours- duration<8 hrs,(tour_num == 2) & (duration < 8),coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs -util_tours_by_worker_duration_lt_8_hrs,Work+school tours by worker- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_worker & (duration < 8),coef_tours_by_worker_duration_lt_8_hrs -util_tours_by_student_duration_lt_8_hrs,School+work tours by student- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_student & (duration < 8),coef_tours_by_student_duration_lt_8_hrs -#,,, -util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum -#,,, -#,FIXME - use temps _adjacent_window_before and _adjacent_window_after because timetable ops can be very time-consuming,, -util_dummy_adjacent_before,local temp variable,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy -util_dummy_adjacent_after,local temp variable,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy -util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previously_scheduled_tour_ends_in_this_departure_hour -util_previously_scheduled_tour_begins_in_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previously_scheduled_tour_begins_in_this_arrival_hour -util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours -#,,, -util_departure_constants_early,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early -util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 -util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late -util_arrival_constants_early,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early -util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late -util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours -util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours -util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours -util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours -util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours -util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours -util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours -util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_mtc/configs/trip_destination.csv b/activitysim/examples/example_mtc/configs/trip_destination.csv deleted file mode 100644 index f1cbdf0948..0000000000 --- a/activitysim/examples/example_mtc/configs/trip_destination.csv +++ /dev/null @@ -1,19 +0,0 @@ -Label,Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork -local_dist_od,,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -local_dist_dp,,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -util_size_term,size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one -util_no_attractions,no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE -util_stop_zone_CDB_are_type,#stop zone CBD area type,"@reindex(land_use.area_type, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, -util_distance_inbound,distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),coef_util_distance_work_outbound,coef_util_distance_univ,coef_util_distance_school,coef_util_distance_escort,coef_util_distance_shopping,coef_util_distance_eatout,coef_util_distance_othmaint,coef_util_distance_social,coef_util_distance_othdiscr,coef_util_distance_atwork -util_distance_outbound,distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),coef_util_distance_work_inbound,coef_util_distance_univ,coef_util_distance_school,coef_util_distance_escort,coef_util_distance_shopping,coef_util_distance_eatout,coef_util_distance_othmaint,coef_util_distance_social,coef_util_distance_othdiscr,coef_util_distance_atwork -util_distance_joint,distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),,,,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint, -util_prox_home_outbound,stop proximity to home (outbound),@df.outbound * _od_DIST,coef_prox_home_outbound_work,,,,,,,,, -util_prox_home_inbound,stop proximity to home (inbound),@~df.outbound * _dp_DIST,coef_prox_home_inbound_work,,,,,,,,, -util_prox_dest_outbound,stop proximity to main destination (outbound),@df.outbound * _dp_DIST,coef_prox_dest_outbound_work,,,,,,,,, -util_prox_dest_inbound,stop proximity to main destination (inbound),@~df.outbound * _od_DIST,,,,,,,,,, -#,,,,,,,,,,,, -util_sample_of_alternatives_correction_factor,"Sample of alternatives correction factor","@np.minimum(np.log(df.pick_count/df.prob), 60)",coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one -util_mode_choice_logsum_os,Mode choice logsum from origin to stop,od_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum -util_stop_not_accessible_by_this_tour_mode,Can't access stop zone by this tour mode,(od_logsum < -100),coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE -util_mode_choice_logsum_sd,Mode choice logsum from stop to destination,dp_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum -util_dest_not_accessible_by_this_tour_mode,Can't access destination zone by this tour mode,(dp_logsum < -100),coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE diff --git a/activitysim/examples/example_mtc/configs/trip_destination_sample.csv b/activitysim/examples/example_mtc/configs/trip_destination_sample.csv deleted file mode 100644 index 7a350c3d9c..0000000000 --- a/activitysim/examples/example_mtc/configs/trip_destination_sample.csv +++ /dev/null @@ -1,18 +0,0 @@ -Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork -,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (od_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (dp_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (od_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (dp_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -#If transit tour is not in walk sub-zone it must be walkable,,,,,,,,,,, -size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",1,1,1,1,1,1,1,1,1,1 -no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -#stop zone CBD area type,"@reindex(land_use.area_type, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, -distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),-0.04972591574229,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 -distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),0.147813278663948,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 -distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),0,0,0,-0.1238,-0.1238,-0.1238,-0.1238,-0.1238,-0.123801985,0 -stop proximity to home (outbound),@df.outbound * _od_DIST,-0.3800,0,0,0,0,0,0,0,0,0 -stop proximity to home (inbound),@~df.outbound * _od_DIST,-0.1500,0,0,0,0,0,0,0,0,0 -stop proximity to main destination (outbound),@df.outbound * _dp_DIST,-0.26,,,,,,,,, -stop proximity to main destination (inbound),@~df.outbound * _od_DIST,0,,,,,,,,, diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice.csv b/activitysim/examples/example_mtc/configs/trip_mode_choice.csv deleted file mode 100644 index 2da242e956..0000000000 --- a/activitysim/examples/example_mtc/configs/trip_mode_choice.csv +++ /dev/null @@ -1,405 +0,0 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,,,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,,,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,,,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,,,,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, -#,Walk,,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, -#,Bike,,,,,,,,,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, -#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, -#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, -#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, -#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, -#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn,,,,,,,, -#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, -util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, -util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, -#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, -util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, -util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, -#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, -util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, -#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, -util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, -#,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, -util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, -util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, -#,Taxi,,,,,,,,,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, -#,#TNC Shared,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt -#,,,,,,,,,,,,,,,,,,,,,,, -util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, -util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,, -util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, -,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh -util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh -util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh -util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh -util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,,,,,,,,,, -util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh -util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_express,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,walk_transit_ASC_heavyrail,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,walk_transit_ASC_commuter,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh -util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_lightrail,,,,,, -util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_ferry,,,,,, -util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,drive_transit_ASC_express,,,,, -util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,drive_transit_ASC_heavyrail,,,, -util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,drive_transit_ASC_commuter,,, -util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh -util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,,,,,,, -util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,ride_hail_ASC_taxi,, -util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_single, -util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_shared -#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh -util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,,,,,,,,,, -util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,,,,,,,,,, -util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh -util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_express,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,joint_walk_transit_ASC_heavyrail,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,joint_walk_transit_ASC_commuter,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh -util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_lightrail,,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_ferry,,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,joint_drive_transit_ASC_express,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,joint_drive_transit_ASC_heavyrail,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_commuter,,, -util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_taxi,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared -#,#,,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, -util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt -util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_mtc/configs/trip_scheduling_probs.csv b/activitysim/examples/example_mtc/configs/trip_scheduling_probs.csv deleted file mode 100644 index e9244bd9c4..0000000000 --- a/activitysim/examples/example_mtc/configs/trip_scheduling_probs.csv +++ /dev/null @@ -1,1369 +0,0 @@ -primary_purpose,outbound,tour_hour,trip_num,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23 -work,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,5,2,0.249730906,0.477180111,0.215788882,0.02257625,0.009653299,0.001272067,0.002559828,0.005345297,0.012868196,0.000858457,0,0.00130551,0,0.000861198,0,0,0,0,0 -work,TRUE,5,3,0.269166724,0.331378773,0.290398422,0.047428828,0.032211326,0.003681738,0,0.00648104,0.007547054,0.006178507,0,0.005527589,0,0,0,0,0,0,0 -work,TRUE,5,4,0.087782501,0.257488508,0.384088251,0.077346978,0.060562922,0,0,0.049138541,0,0.014538525,0,0,0,0.041701151,0.018235082,0,0.009117541,0,0 -work,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,6,2,0,0.218769369,0.568056029,0.16549898,0.028654735,0.007305391,0.002067083,0.003148838,0.000503641,0.003688829,0.002307106,0,0,0,0,0,0,0,0 -work,TRUE,6,3,0,0.130626273,0.577093506,0.214895882,0.051730954,0.003240613,0,0.004631429,0.00858571,0.005631893,0.001259632,0,0.002304109,0,0,0,0,0,0 -work,TRUE,6,4,0,0.003746877,0.546827469,0.29119719,0.043440135,0.021108582,0,0.041279538,0.022438337,0.019313618,0.003776433,0.006871821,0,0,0,0,0,0,0 -work,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,7,2,0,0,0.265300367,0.613559084,0.096014364,0.014396896,0.003048705,0.004403151,0,0.001139887,0.001411868,0.000725679,0,0,0,0,0,0,0 -work,TRUE,7,3,0,0,0.166352156,0.62367014,0.155705334,0.026659137,0.007295847,0.013673999,0.003582828,0.001111918,0.000525728,0.001422911,0,0,0,0,0,0,0 -work,TRUE,7,4,0,0,0.105022925,0.545651324,0.19699608,0.086647479,0.013272884,0.007863943,0.037841595,0.002284229,0.001876743,0,0.002542798,0,0,0,0,0,0 -work,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,8,2,0,0,0,0.456491659,0.443858962,0.071483886,0.007227768,0.011205848,0.004971546,0.003779089,0,0.000629094,0.000352148,0,0,0,0,0,0 -work,TRUE,8,3,0,0,0,0.297357445,0.518087382,0.132861058,0.006370619,0.007614307,0.009010749,0.012385163,0.002114995,0.01254835,0.001649933,0,0,0,0,0,0 -work,TRUE,8,4,0,0,0,0.219050051,0.313898882,0.316701629,0.097894922,0.024670968,0.007826425,0.014063117,0,0,0.001659846,0,0,0,0.00423416,0,0 -work,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,9,2,0,0,0,0,0.381802065,0.463610086,0.07833074,0.053350819,0.012379425,0.006984996,0.002188786,0.001353083,0,0,0,0,0,0,0 -work,TRUE,9,3,0,0,0,0,0.244359192,0.505051786,0.124730319,0.070740285,0.04380103,0.00393502,0.002381853,0,0.005000514,0,0,0,0,0,0 -work,TRUE,9,4,0,0,0,0,0.048177162,0.281924251,0.128648284,0.140849287,0.097452942,0.149279798,0.129250851,0.024417425,0,0,0,0,0,0,0 -work,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,10,2,0,0,0,0,0,0.287462748,0.478190637,0.154315841,0.0141405,0.047319629,0,0.005707897,0,0.004618797,0.008243951,0,0,0,0 -work,TRUE,10,3,0,0,0,0,0,0.224513864,0.313870996,0.279113796,0.089398426,0.044754472,0.034345645,0.014002803,0,0,0,0,0,0,0 -work,TRUE,10,4,0,0,0,0,0,0,0.181896949,0.267783358,0.317739276,0.088027455,0.086885637,0,0,0,0.057667324,0,0,0,0 -work,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,11,2,0,0,0,0,0,0,0.349521518,0.402347786,0.191514732,0.044397707,0.009105065,0,0.003113192,0,0,0,0,0,0 -work,TRUE,11,3,0,0,0,0,0,0,0.207587883,0.30769214,0.335712206,0.084378351,0.047431249,0.017198171,0,0,0,0,0,0,0 -work,TRUE,11,4,0,0,0,0,0,0,0,0.482525146,0.331491287,0.154741395,0,0,0.031242172,0,0,0,0,0,0 -work,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,12,2,0,0,0,0,0,0,0,0.228781907,0.52986365,0.185949096,0.016952622,0.0225574,0,0.015895326,0,0,0,0,0 -work,TRUE,12,3,0,0,0,0,0,0,0,0.048290452,0.527617032,0.260449945,0.038087283,0.125555288,0,0,0,0,0,0,0 -work,TRUE,12,4,0,0,0,0,0,0,0,0.055268088,0.55183696,0.308090511,0.022112333,0.026969361,0.035722748,0,0,0,0,0,0 -work,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -work,TRUE,13,2,0,0,0,0,0,0,0,0,0.618115652,0.284403475,0.097480873,0,0,0,0,0,0,0,0 -work,TRUE,13,3,0,0,0,0,0,0,0,0,0.496549493,0.232797723,0.159946019,0,0.015308798,0.038007565,0.057390402,0,0,0,0 -work,TRUE,13,4,0,0,0,0,0,0,0,0,0.176762619,0,0,0,0.823237381,0,0,0,0,0,0 -work,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -work,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.574348416,0.354554927,0.071096656,0,0,0,0,0,0,0 -work,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.502109794,0.21816867,0.279721536,0,0,0,0,0,0,0 -work,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.133121347,0.633379229,0.134648916,0.049425254,0.049425254,0,0,0,0,0 -work,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -work,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.552840921,0.403380234,0.043778845,0,0,0,0,0,0 -work,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.134176676,0.725445222,0.140378102,0,0,0,0,0,0 -work,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -work,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -work,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.470117389,0.401307167,0.110787768,0.017787675,0,0,0,0 -work,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.648121232,0.228392401,0.123486367,0,0,0,0,0 -work,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -work,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.406105035,0.414979307,0.178915658,0,0,0,0 -work,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.212373176,0.787626824,0,0,0,0,0 -work,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.5,0,0,0 -work,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21625036,0.437860534,0.113269906,0.232619199,0,0 -work,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -work,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81925165,0.07204277,0,0.10870558,0 -work,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492020395,0.507979605,0,0,0 -work,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -work,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -work,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.388129509,0.611870491,0,0 -work,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -work,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171581948,0.828418052,0 -work,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258374236,0.741625764,0 -work,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,1,0,0.220793114,0.779206886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,2,0,0.425176732,0.574823268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,1,0,0,0.107759005,0.892240995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,2,0,0,0.690008913,0.309991087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,3,0,0.337495318,0.662504682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,4,0,0,0.569894206,0.430105794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,1,0,0,0,0.314951457,0.685048543,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,2,0,0,0,0.079070075,0.920929925,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,3,0,0,0,0.226319471,0.773680529,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,1,0,0.046066203,0.007425743,0.028045042,0.233624929,0.684838083,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,2,0,0.126398434,0,0.0549729,0.096449389,0.722179277,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,3,0,0,0,0,0.36604282,0.63395718,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,1,0,0,0.017580881,0.034113366,0.04162677,0.286326641,0.620352342,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,2,0,0,0.02642438,0,0.033819936,0.199217971,0.740537713,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,3,0,0,0,0,0.005130668,0.277227788,0.717641544,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,4,0,0,0,0,0,0.036304716,0.963695284,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,1,0,0.002492115,0.001670698,0.012159512,0.014698251,0.029407418,0.152563565,0.787008442,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,2,0,0,0.006100837,0.011620455,0.013952709,0.036974376,0.310894404,0.620457219,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,3,0,0,0,0.009383356,0.042387756,0.006845546,0.29720543,0.644177912,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,4,0,0,0,0.008143494,0,0.049968848,0.124165248,0.81772241,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,1,0,0,0.004406789,0.016516638,0.008423145,0.030672879,0.043679722,0.31728407,0.579016757,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,2,0,0,0.003526988,0.003893522,0.007279925,0.014935643,0.080084093,0.245195123,0.645084705,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,3,0,0,0,0,0.01495651,0,0.040446175,0.214618414,0.729978901,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,4,0,0,0,0,0.01397645,0.006836511,0.025113874,0.15362871,0.800444454,0,0,0,0,0,0,0,0,0,0 -work,FALSE,14,1,0.002365799,0,0.003370061,0,0.004899447,0.008850097,0.035188808,0.07267661,0.207306035,0.665343143,0,0,0,0,0,0,0,0,0 -work,FALSE,14,2,0.007728364,0.003287077,0,0.006520962,0,0.032254466,0.052851387,0.133223369,0.229023292,0.535111082,0,0,0,0,0,0,0,0,0 -work,FALSE,14,3,0,0,0,0.003971419,0,0,0.008873008,0.119445331,0.269752545,0.597957698,0,0,0,0,0,0,0,0,0 -work,FALSE,14,4,0,0,0,0,0.056793918,0,0.011546821,0.042023265,0.23002226,0.659613737,0,0,0,0,0,0,0,0,0 -work,FALSE,15,1,0,0.005222802,0.000561863,0.003055031,0.006434507,0.007479814,0.009995919,0.013087333,0.058426024,0.310076404,0.585660301,0,0,0,0,0,0,0,0 -work,FALSE,15,2,0,0,0,0.001993619,0.008787212,0.008189747,0.015159942,0.009310176,0.054885948,0.253934613,0.647738743,0,0,0,0,0,0,0,0 -work,FALSE,15,3,0,0,0,0.001732532,0,0.00508097,0.029352724,0.030967014,0.039664292,0.202228781,0.690973688,0,0,0,0,0,0,0,0 -work,FALSE,15,4,0,0,0,0,0,0.004125776,0.011923745,0.030960101,0.061425266,0.239676364,0.651888748,0,0,0,0,0,0,0,0 -work,FALSE,16,1,0,0,0.001326173,0.005965432,0.005180374,0.004138931,0.011262579,0.01661091,0.012073334,0.03679347,0.347396478,0.559252319,0,0,0,0,0,0,0 -work,FALSE,16,2,0,0,0.001822625,0.003909533,0.002974064,0.004461131,0.032696294,0.017905122,0.043805267,0.040055335,0.31441461,0.537956019,0,0,0,0,0,0,0 -work,FALSE,16,3,0,0,0,0,0.006964674,0,0.007663971,0.011249685,0.051874804,0.083383231,0.266186632,0.572677003,0,0,0,0,0,0,0 -work,FALSE,16,4,0.002037834,0,0,0,0,0.005964919,0.002996052,0.010623137,0.018245507,0.068094063,0.195919724,0.696118764,0,0,0,0,0,0,0 -work,FALSE,17,1,0,0,0.001405366,0.004415995,0.00337412,0.003812259,0.014084324,0.008465853,0.012498337,0.015584379,0.06625893,0.34857546,0.521524978,0,0,0,0,0,0 -work,FALSE,17,2,0,0.000261415,0.003193506,0.003224601,0.01031862,0.003695936,0.005727058,0.024107723,0.01290257,0.024008033,0.090851226,0.28964028,0.532069032,0,0,0,0,0,0 -work,FALSE,17,3,0,0,0.000765903,0.001471397,0.008789257,0.002465017,0.005279632,0.009138832,0.01433563,0.026053515,0.045996258,0.222930968,0.662773591,0,0,0,0,0,0 -work,FALSE,17,4,0,0,0,0.000418211,0.002396043,0.007974979,0.014040235,0.00763931,0.007998749,0.020421036,0.047793315,0.160067858,0.731250266,0,0,0,0,0,0 -work,FALSE,18,1,0,0.001141884,0.000347251,0.005493278,0.0034212,0.004108535,0.018739263,0.013709509,0.003846669,0.010612585,0.030088047,0.076311695,0.459430143,0.372749941,0,0,0,0,0 -work,FALSE,18,2,0,0.000397247,0.000707705,0.005535515,0.005281963,0.006814578,0.015049985,0.03759067,0.008201571,0.014941596,0.020264402,0.096049656,0.37187676,0.417288351,0,0,0,0,0 -work,FALSE,18,3,0,0,0.000752403,0.001471647,0,0.003652225,0.011264642,0.015334427,0.024656138,0.012088375,0.011628494,0.081091511,0.38372424,0.454335898,0,0,0,0,0 -work,FALSE,18,4,0,0,0.00040169,0.000306609,0.0002567,0.000726244,0.002720367,0.010037344,0.005670103,0.015810978,0.039979813,0.053350178,0.223343181,0.647396793,0,0,0,0,0 -work,FALSE,19,1,0,0.001186239,0,0.002728595,0.007883348,0.008718809,0.009638123,0.011693247,0.012706395,0.005992436,0.024678769,0.039878395,0.101249301,0.453611585,0.320034756,0,0,0,0 -work,FALSE,19,2,0,0,0,0.004170607,0.002769083,0.008212126,0.01044298,0.034645644,0.024223099,0.015502992,0.044371325,0.03839639,0.101706769,0.292181702,0.423377281,0,0,0,0 -work,FALSE,19,3,0,0,0,0.003546437,0.001427168,0.004005704,0.004647363,0.014456394,0.026101366,0.008168106,0.016583656,0.063080785,0.175251264,0.316168107,0.366563651,0,0,0,0 -work,FALSE,19,4,0,0,0,0,0.002545816,0.001448115,0.001519341,0.006183074,0.015479082,0.010887569,0.013355331,0.023014309,0.098855008,0.198551692,0.628160662,0,0,0,0 -work,FALSE,20,1,0,0,0.002357347,0.003515438,0.003650989,0.004956981,0.005821696,0.03028673,0.010683018,0.006121216,0.039610208,0.067356772,0.074052002,0.107849619,0.362764994,0.280972989,0,0,0 -work,FALSE,20,2,0,0,0,0.003020632,0.000872671,0.009819915,0.004032092,0.033547265,0.012437164,0.023084614,0.029601855,0.030696598,0.08880218,0.150240348,0.244376765,0.3694679,0,0,0 -work,FALSE,20,3,0,0,0,0,0.004490786,0.000948296,0.00496082,0.008797541,0.038290701,0.03100745,0.01309721,0.070674268,0.104392115,0.094315975,0.284308763,0.344716076,0,0,0 -work,FALSE,20,4,0,0,0,0,0,0,0.003217512,0.008519707,0.01832166,0.021264988,0.034310024,0.032173455,0.100093463,0.115029817,0.197663659,0.469405714,0,0,0 -work,FALSE,21,1,0,0,0.00486935,0.004088274,0.009577732,0.013580516,0.019408543,0.027638575,0.028964986,0.013373832,0.01367219,0.088681299,0.105198543,0.066199405,0.05396423,0.186005224,0.3647773,0,0 -work,FALSE,21,2,0,0,0.005064281,0,0.005604807,0.001600494,0.02231608,0.036560998,0.023155074,0.011113847,0.021297782,0.024032721,0.15164875,0.095555611,0.130774865,0.152199827,0.319074864,0,0 -work,FALSE,21,3,0,0,0,0,0,0,0.008088371,0.016902755,0.023330301,0.010037114,0.04837863,0.047736466,0.100832492,0.115955331,0.150651228,0.252610972,0.225476339,0,0 -work,FALSE,21,4,0,0,0,0,0,0,0,0.009975719,0.00458937,0.004215296,0.014833666,0.013407482,0.096553857,0.131723579,0.099990132,0.155500861,0.469210038,0,0 -work,FALSE,22,1,0,0,0,0,0.002354463,0.001321627,0.001526638,0.003547564,0.007889584,0.00247877,0.061446315,0.077612309,0.104848995,0.087316793,0.063921354,0.040342969,0.155380603,0.390012018,0 -work,FALSE,22,2,0,0,0,0.001982423,0,0.007743127,0.011968403,0.008685093,0.003973347,0.012345869,0.016587124,0.040020235,0.072010749,0.098243002,0.073472113,0.096470733,0.242366696,0.314131085,0 -work,FALSE,22,3,0,0,0,0,0,0.00900164,0.001675422,0.021019519,0.008241362,0.012933333,0.01478469,0.047949921,0.119423115,0.119522763,0.080598154,0.04905538,0.20209014,0.313704562,0 -work,FALSE,22,4,0,0,0,0,0,0.00241091,0.006967046,0.024621244,0.004358134,0.006887033,0.008276343,0.047494465,0.086031065,0.153176335,0.061142075,0.031195643,0.205080104,0.362359603,0 -work,FALSE,23,1,0,0.001238847,0,0.002154573,0.003964601,0.001493218,0.012410725,0.019401965,0.016898905,0.02730294,0.011556986,0.034875148,0.041105748,0.083174793,0.018419684,0.005370325,0.063729247,0.109449086,0.54745321 -work,FALSE,23,2,0,0,0.001396549,0,0.003319033,0.005204887,0.025094008,0.033735384,0.008488109,0.01528189,0.022728985,0.031350219,0.058537975,0.074214158,0.022929206,0.042918793,0.007770177,0.170962188,0.476068439 -work,FALSE,23,3,0,0,0.001748893,0.001566752,0,0.007196939,0.011228416,0.021359669,0.028165721,0.008967715,0.028693265,0.056683172,0.078656022,0.063158735,0.099308392,0.039560138,0.024986978,0.098009336,0.43070986 -work,FALSE,23,4,0,0,0.000766782,0.004388369,0.002881109,0.004980974,0.024053963,0.026342685,0.029143148,0.024074445,0.020534932,0.036286202,0.115377511,0.062463348,0.051866458,0.057077696,0.052763369,0.108781076,0.378217933 -univ,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,5,2,0,0.141462921,0.39086301,0,0.071786124,0.025897511,0,0,0,0.097305573,0,0.030851335,0.102890339,0.138943185,0,0,0,0,0 -univ,TRUE,5,3,0,0,0.873218626,0,0,0.057857072,0,0,0,0,0,0,0,0.068924303,0,0,0,0,0 -univ,TRUE,5,4,0,0,0,0,0,0,0.32303468,0,0.32303468,0.16151734,0,0,0,0.192413299,0,0,0,0,0 -univ,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,6,2,0,0.134677838,0.456787632,0.153282563,0.059662856,0.118242123,0.03689652,0.007431799,0.019186549,0,0,0.01383212,0,0,0,0,0,0,0 -univ,TRUE,6,3,0,0.09504007,0.597276077,0.241947175,0,0,0,0.065736678,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,6,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,7,2,0,0,0.16008737,0.671458416,0.049774779,0.017812393,0.020633361,0.033501607,0,0.039093289,0.007638784,0,0,0,0,0,0,0,0 -univ,TRUE,7,3,0,0,0.052281409,0.806320518,0.030314369,0,0,0.012683969,0,0.051228214,0,0.047171521,0,0,0,0,0,0,0 -univ,TRUE,7,4,0,0,0,0.384291795,0.37997151,0.017486076,0.017486076,0,0.052458229,0.020717499,0.020717499,0.106871315,0,0,0,0,0,0,0 -univ,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,2,0,0,0,0.508028202,0.405046381,0.075475558,0.005588065,0,0.005861793,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,3,0,0,0,0.353221848,0.426314578,0.180255321,0.025900769,0.014307484,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,4,0,0,0,0.244322976,0.391323801,0.023592159,0.14547362,0.023592159,0,0.117960797,0,0.026867244,0.026867244,0,0,0,0,0,0 -univ,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,9,2,0,0,0,0,0.363140456,0.541860336,0.068377772,0.008522123,0,0,0.018099314,0,0,0,0,0,0,0,0 -univ,TRUE,9,3,0,0,0,0,0.088505041,0.64872571,0.084998604,0.177770645,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,9,4,0,0,0,0,0.139725614,0.449854868,0.134189894,0,0.276229624,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,2,0,0,0,0,0,0.346861762,0.509611346,0.026290472,0.013109947,0.104126473,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,3,0,0,0,0,0,0.302069617,0.428966039,0.192628694,0,0.07633565,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,4,0,0,0,0,0,0,0.414612817,0,0.115720886,0.347162659,0.122503637,0,0,0,0,0,0,0,0 -univ,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,11,2,0,0,0,0,0,0,0.237240285,0.707936221,0.02446143,0.00979796,0.020564104,0,0,0,0,0,0,0,0 -univ,TRUE,11,3,0,0,0,0,0,0,0.042322313,0.335051522,0.231238246,0.268514141,0.122873778,0,0,0,0,0,0,0,0 -univ,TRUE,11,4,0,0,0,0,0,0,0,0.563593836,0.248920946,0,0.058524887,0.128960331,0,0,0,0,0,0,0 -univ,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,12,2,0,0,0,0,0,0,0,0,0.437771877,0.210261779,0,0,0.297139297,0.054827047,0,0,0,0,0 -univ,TRUE,12,3,0,0,0,0,0,0,0,0,0.43873352,0.141096056,0.130019758,0,0.219455556,0.070695109,0,0,0,0,0 -univ,TRUE,12,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,13,2,0,0,0,0,0,0,0,0,0.134867601,0.583447862,0.08911022,0.053636459,0.138937858,0,0,0,0,0,0 -univ,TRUE,13,3,0,0,0,0,0,0,0,0,0.150944969,0.333823157,0.107766156,0.168152845,0,0.239312872,0,0,0,0,0 -univ,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.090285103,0.404418717,0.50529618,0,0,0,0,0,0,0 -univ,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.309699276,0.690300724,0,0,0,0,0,0,0 -univ,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -univ,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.357567593,0.542130931,0.100301476,0,0,0,0,0,0 -univ,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.628916949,0.371083051,0,0,0,0,0,0 -univ,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -univ,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -univ,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.300048836,0.63299685,0.066954314,0,0,0,0,0 -univ,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -univ,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -univ,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.14414362,0.85585638,0,0,0,0,0 -univ,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.696191337,0.303808663,0,0,0,0 -univ,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403432532,0.596567468,0,0,0,0 -univ,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.450038651,0.549961349,0,0,0,0 -univ,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,1,0,0,0.016025515,0.983974485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,2,0,0,0.262404641,0.737595359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,1,0,0,0,0.163327352,0.836672648,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,1,0,0,0,0.226661626,0.168940428,0.604397946,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,2,0,0,0,0,0.222726098,0.777273902,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,3,0,0,0,0,0.611879485,0.388120515,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,1,0,0,0,0.015316515,0.046862442,0.097177177,0.840643866,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,2,0,0,0,0.070258469,0,0.268634856,0.661106675,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,3,0,0,0,0.037689621,0,0.130353154,0.831957225,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,4,0,0,0,0,0,0.077208841,0.922791159,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,1,0,0,0.014945608,0,0.028129025,0.020638305,0.519341237,0.416945825,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,2,0,0,0.031201085,0.03237983,0.013231327,0.110325379,0.181858105,0.631004274,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,3,0,0,0,0.03549716,0.015053148,0,0.290392671,0.65905702,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,4,0,0,0,0,0.099318641,0.052098847,0.151713122,0.69686939,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,1,0,0,0,0,0,0,0.181017187,0.292661018,0.526321795,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,2,0,0,0,0,0,0,0.048301785,0.296950961,0.654747254,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,3,0,0,0,0,0,0,0,0.056113137,0.943886863,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,4,0,0,0,0,0,0.024635167,0,0,0.975364833,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,1,0,0,0,0.022000764,0.008154518,0.013638554,0.034791419,0.065882427,0.246258385,0.609273932,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,2,0,0,0,0,0,0,0.016168393,0.097081997,0.229754942,0.656994667,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,3,0,0,0,0,0,0,0.043234918,0.20601367,0.431619379,0.319132034,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,4,0,0,0,0,0,0,0.024961198,0.010062765,0.104416222,0.860559815,0,0,0,0,0,0,0,0,0 -univ,FALSE,15,1,0,0,0,0.016983489,0,0.013422718,0.023570396,0.004582712,0.053800861,0.202721356,0.684918469,0,0,0,0,0,0,0,0 -univ,FALSE,15,2,0,0,0,0,0.045151752,0,0.099380208,0.018712363,0.046279979,0.313502235,0.476973464,0,0,0,0,0,0,0,0 -univ,FALSE,15,3,0,0,0,0,0,0,0.025154904,0.093517604,0.102200685,0.131224361,0.647902447,0,0,0,0,0,0,0,0 -univ,FALSE,15,4,0,0,0,0,0,0,0.04795036,0.04795036,0.065158411,0.21500352,0.623937348,0,0,0,0,0,0,0,0 -univ,FALSE,16,1,0,0,0,0,0,0.003411195,0,0.013129003,0,0.154717961,0.529208805,0.299533037,0,0,0,0,0,0,0 -univ,FALSE,16,2,0,0,0,0.015451903,0.014978609,0,0.006115529,0.008472156,0,0.091244276,0.417492241,0.446245285,0,0,0,0,0,0,0 -univ,FALSE,16,3,0,0,0,0,0,0.016342188,0.018885054,0,0.036490672,0.062457119,0.082466854,0.783358113,0,0,0,0,0,0,0 -univ,FALSE,16,4,0,0,0,0,0,0,0,0.102624898,0.020338459,0.028320918,0.182111674,0.666604051,0,0,0,0,0,0,0 -univ,FALSE,17,1,0,0,0,0,0,0,0,0.060607217,0.015960535,0.027738146,0.138834813,0.177730039,0.579129249,0,0,0,0,0,0 -univ,FALSE,17,2,0,0,0,0,0,0,0.026878378,0,0.045587412,0.056703613,0.067767612,0.211772198,0.591290787,0,0,0,0,0,0 -univ,FALSE,17,3,0,0,0,0,0,0,0.035711491,0,0,0.030318877,0.065253534,0.105686003,0.763030094,0,0,0,0,0,0 -univ,FALSE,17,4,0,0,0,0,0,0,0.010287884,0.023408308,0.036977492,0.010287884,0.081294488,0.144862027,0.692881918,0,0,0,0,0,0 -univ,FALSE,18,1,0,0,0,0.003945375,0,0,0,0.017778798,0,0.094239059,0.126537664,0.04524658,0.521630843,0.190621681,0,0,0,0,0 -univ,FALSE,18,2,0,0,0,0.00721016,0,0,0.021117111,0.009952491,0.040163794,0.181306282,0.011084411,0,0.37585875,0.353307001,0,0,0,0,0 -univ,FALSE,18,3,0,0,0,0.006589215,0,0,0,0.019298488,0,0.057611182,0.140317157,0.028818423,0.227948944,0.51941659,0,0,0,0,0 -univ,FALSE,18,4,0,0,0,0,0,0,0.008076984,0,0.019904917,0.065674412,0.055168626,0.094050391,0.164547688,0.592576982,0,0,0,0,0 -univ,FALSE,19,1,0,0,0,0,0.009454567,0,0,0,0.04102499,0,0.023746099,0,0.135591003,0.220827281,0.56935606,0,0,0,0 -univ,FALSE,19,2,0,0,0,0,0,0,0,0,0,0.078006772,0,0.060317466,0.259929547,0.359118303,0.242627912,0,0,0,0 -univ,FALSE,19,3,0,0,0,0,0,0,0,0,0,0.021382414,0,0.021188936,0.081686174,0.348421579,0.527320897,0,0,0,0 -univ,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189756837,0.810243163,0,0,0,0 -univ,FALSE,20,1,0,0,0,0,0,0,0,0.010016964,0,0,0,0.004718289,0.003266795,0,0.085231627,0.896766325,0,0,0 -univ,FALSE,20,2,0,0,0,0,0,0,0.11773307,0.039948419,0,0.039518498,0.05632597,0,0.267130581,0.046726624,0.026652785,0.405964054,0,0,0 -univ,FALSE,20,3,0,0,0,0,0,0,0,0.120183428,0,0.019425265,0,0.12981914,0.113130998,0,0.023452919,0.59398825,0,0,0 -univ,FALSE,20,4,0,0,0,0,0,0,0,0.120271055,0,0.038712543,0.069855242,0.27999729,0.089459377,0.067799861,0.14272972,0.191174912,0,0,0 -univ,FALSE,21,1,0,0,0,0,0,0,0,0,0.007338913,0.023203309,0.007350649,0.00472513,0.002978934,0,0.033142982,0.176639731,0.744620353,0,0 -univ,FALSE,21,2,0,0,0,0,0,0,0,0,0,0.057152164,0.184622922,0.047820405,0.014739649,0.00986257,0.02270102,0.078261413,0.584839857,0,0 -univ,FALSE,21,3,0,0,0,0,0,0,0,0.023488975,0,0.025096056,0,0,0.038339259,0,0.022191995,0.28095544,0.609928273,0,0 -univ,FALSE,21,4,0,0,0,0,0,0,0,0,0.029235831,0,0.09370831,0.034296673,0,0,0,0.045049879,0.797709307,0,0 -univ,FALSE,22,1,0,0,0,0,0,0,0,0,0,0.026178201,0.014643033,0,0.007467541,0,0.019259981,0,0.427134845,0.5053164,0 -univ,FALSE,22,2,0,0,0,0,0,0,0.034835821,0,0,0,0.140548783,0,0,0,0,0,0.1300249,0.694590496,0 -univ,FALSE,22,3,0,0,0,0,0,0,0,0.046323184,0,0,0,0.186895757,0,0,0,0,0.329771262,0.437009796,0 -univ,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0.156732984,0.024747713,0.166206674,0.137729625,0.24721205,0.267370954,0 -univ,FALSE,23,1,0,0,0,0,0,0,0,0,0,0.035836574,0,0.042066438,0.075012425,0.063439215,0,0,0.301680107,0.16901224,0.312953001 -univ,FALSE,23,2,0,0,0,0,0,0,0,0.022191189,0.04703489,0.224157456,0.038381448,0.045053715,0,0.164838447,0,0,0.125234584,0.144560801,0.188547469 -univ,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0.050535751,0,0.237653614,0.043051618,0,0.251962365,0.07621155,0.340585102 -univ,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.012541125,0,0.020367286,0.065349217,0.103326665,0.070453894,0.108396964,0.135051697,0.484513153 -school,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,2,0,0.040189605,0.959810395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,3,0,0.14676025,0.559777558,0.293462192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,2,0,0.090715709,0.600480587,0.301778371,0,0,0,0,0.007025333,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,3,0,0.189913473,0.435678549,0.345471524,0.028936455,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,4,0,0.276044088,0.461879351,0.26207656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,7,2,0,0,0.358595289,0.543340426,0.080407454,0.00494145,0,0.003218472,0.001252217,0.00163666,0.005875668,0,0.000732365,0,0,0,0,0,0 -school,TRUE,7,3,0,0,0.305390104,0.552122437,0.119495284,0,0.012287658,0,0,0,0.010704517,0,0,0,0,0,0,0,0 -school,TRUE,7,4,0,0,0.244790257,0.688367336,0,0.043560183,0,0.023282223,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,8,2,0,0,0,0.750052982,0.197397697,0.003009328,0.015758235,0.00583123,0,0.002418098,0.003851683,0.011638797,0.01004195,0,0,0,0,0,0 -school,TRUE,8,3,0,0,0,0.372624607,0.42987891,0.03924466,0,0.102467106,0,0,0.055784717,0,0,0,0,0,0,0,0 -school,TRUE,8,4,0,0,0,0,0.141654355,0.129241521,0.273939898,0,0,0,0,0.31350987,0.141654355,0,0,0,0,0,0 -school,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,2,0,0,0,0,0.090691548,0.482888016,0.426420437,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,3,0,0,0,0,0.091229458,0.353634961,0.555135582,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,4,0,0,0,0,0,0.30179716,0.69820284,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,2,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,3,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,11,2,0,0,0,0,0,0,0.02770017,0.902627425,0.038595346,0.031077059,0,0,0,0,0,0,0,0,0 -school,TRUE,11,3,0,0,0,0,0,0,0,0.797232896,0.076506636,0,0.126260468,0,0,0,0,0,0,0,0 -school,TRUE,11,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,2,0,0,0,0,0,0,0,0,0.899748743,0,0,0.100251257,0,0,0,0,0,0,0 -school,TRUE,12,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,13,2,0,0,0,0,0,0,0,0,0,0.451262789,0.191174572,0.357562639,0,0,0,0,0,0,0 -school,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.068700765,0.443666092,0.487633143,0,0,0,0,0,0,0 -school,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.11838799,0.88161201,0,0,0,0,0,0,0 -school,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.534557731,0.079614802,0,0,0.385827467,0,0,0,0,0 -school,TRUE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -school,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0,0.868324906,0,0.131675094,0,0,0,0,0 -school,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.900878137,0.099121863,0,0,0,0,0,0 -school,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -school,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -school,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.173995865,0.826004135,0,0,0,0,0,0 -school,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0.637190616,0.362809384,0,0,0,0,0 -school,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.74484742,0.25515258,0,0,0,0,0 -school,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -school,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173208977,0.826791023,0,0,0,0 -school,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -school,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,1,0,0,0,0.09946831,0.90053169,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,1,0,0,0,0,0.051889499,0.948110501,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,1,0,0,0,0,0.00854797,0.143038003,0.848414027,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,2,0,0,0,0,0,0.07758327,0.92241673,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,3,0,0,0,0,0,0.05138849,0.94861151,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,1,0,0,0,0,0.019446017,0.011496295,0.285657861,0.683399827,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,2,0,0,0,0,0.019954492,0,0.331728142,0.648317366,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,3,0,0,0,0,0.033967027,0,0.201586112,0.764446861,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,4,0,0,0,0,0.113939675,0,0.018400111,0.867660214,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,1,0,0,0,0.019248269,0,0.002680163,0.030761477,0.259256669,0.688053423,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,2,0,0,0,0,0,0,0,0.189323178,0.810676822,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,3,0,0,0,0,0,0,0,0.258031986,0.741968014,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,4,0,0,0,0,0,0,0,0.279494058,0.720505942,0,0,0,0,0,0,0,0,0,0 -school,FALSE,14,1,0,0.000831908,0.000979746,0,0.001601486,0.002226531,0.002192251,0.02470079,0.091632585,0.875834703,0,0,0,0,0,0,0,0,0 -school,FALSE,14,2,0,0,0,0,0,0,0.041609561,0.016064041,0.222703138,0.71962326,0,0,0,0,0,0,0,0,0 -school,FALSE,14,3,0,0,0,0,0,0,0,0.023937672,0.13413328,0.841929047,0,0,0,0,0,0,0,0,0 -school,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,FALSE,15,1,0,0,0.006672723,0.001920517,0.000881135,0.000470656,0.007178881,0.003373865,0.007046025,0.435289669,0.537166529,0,0,0,0,0,0,0,0 -school,FALSE,15,2,0,0,0,0.003559393,0.005420446,0,0.01895427,0.006031842,0.009564559,0.299701581,0.656767909,0,0,0,0,0,0,0,0 -school,FALSE,15,3,0,0,0,0,0.014210731,0,0,0.009915361,0.013300231,0.238413075,0.724160602,0,0,0,0,0,0,0,0 -school,FALSE,15,4,0,0,0,0,0.013547957,0,0,0.003834839,0,0.141585883,0.841031322,0,0,0,0,0,0,0,0 -school,FALSE,16,1,0,0,0.003957494,0.007442128,0.002894311,0,0.018097734,0.013714786,0.017413316,0.113052385,0.49048648,0.332941366,0,0,0,0,0,0,0 -school,FALSE,16,2,0,0,0,0.001567759,0.006348016,0.004559163,0.009399428,0.015889281,0.021832495,0.089535591,0.363878359,0.486989907,0,0,0,0,0,0,0 -school,FALSE,16,3,0,0,0,0,0,0.008315162,0.022193918,0.007486006,0.004771945,0.02862127,0.176424988,0.75218671,0,0,0,0,0,0,0 -school,FALSE,16,4,0,0,0,0,0,0,0,0.028022669,0.01919336,0.027628588,0.156778381,0.768377001,0,0,0,0,0,0,0 -school,FALSE,17,1,0,0,0,0.00408238,0.006057147,0.001368873,0.003781947,0.013443846,0.020930042,0.105685888,0.191206812,0.133610245,0.51983282,0,0,0,0,0,0 -school,FALSE,17,2,0,0,0,0.004151198,0,0.00388225,0.00967742,0.013025325,0.027213825,0.07090836,0.082650841,0.202645832,0.585844949,0,0,0,0,0,0 -school,FALSE,17,3,0,0,0,0,0,0.003335544,0,0.003254012,0,0.075557182,0.182853928,0.23363666,0.501362673,0,0,0,0,0,0 -school,FALSE,17,4,0,0,0,0,0,0.006781644,0.00413291,0,0,0.007828685,0.092863122,0.424308729,0.46408491,0,0,0,0,0,0 -school,FALSE,18,1,0,0,0,0.004555021,0,0,0.006805278,0.040238758,0.025752449,0.139579581,0.145174267,0.082159935,0.330134952,0.225599759,0,0,0,0,0 -school,FALSE,18,2,0,0,0,0,0,0,0.002018633,0.017639777,0.011559497,0.035110168,0.084872767,0.077914013,0.273264514,0.497620631,0,0,0,0,0 -school,FALSE,18,3,0,0,0,0,0,0,0.002017331,0.006931595,0.009423374,0.041198595,0.078999404,0.039268257,0.366809487,0.455351956,0,0,0,0,0 -school,FALSE,18,4,0,0,0,0,0,0,0,0,0.018561399,0.043258965,0,0.032292792,0.225093524,0.680793321,0,0,0,0,0 -school,FALSE,19,1,0,0,0.012570056,0,0,0,0.016011468,0.016057604,0.07668851,0.134954753,0.226805131,0.045185104,0.119737059,0.1042095,0.247780814,0,0,0,0 -school,FALSE,19,2,0,0,0,0,0,0,0,0,0.035149661,0.079025772,0.252249169,0.074284557,0.168495532,0.132896247,0.257899061,0,0,0,0 -school,FALSE,19,3,0,0,0,0,0,0,0.005256704,0.005256704,0,0.009878056,0.069178911,0.139359082,0.209998751,0.300301838,0.260769954,0,0,0,0 -school,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.022433763,0.009746389,0.043021361,0.243536894,0.681261593,0,0,0,0 -school,FALSE,20,1,0,0,0,0,0,0,0.036381208,0,0.005800614,0.031932891,0.149632504,0.044906251,0.163413396,0.076354612,0.020580741,0.470997783,0,0,0 -school,FALSE,20,2,0,0,0,0.036384497,0,0,0,0.015532617,0.011426107,0.027703676,0.076335086,0.040493411,0.142356662,0.132693585,0.187215615,0.329858743,0,0,0 -school,FALSE,20,3,0,0,0,0,0,0,0,0.03877589,0.045812113,0.065392635,0.101494701,0.055752291,0.061584445,0.034149257,0.28928825,0.307750418,0,0,0 -school,FALSE,20,4,0,0,0,0,0,0,0,0,0.036041044,0,0.141425909,0.042527443,0.019058777,0.102734314,0.237735178,0.420477334,0,0,0 -school,FALSE,21,1,0,0,0,0,0,0,0.029175445,0.047201664,0,0.059213923,0.186189825,0,0.015107113,0,0.014924261,0.246756883,0.401430887,0,0 -school,FALSE,21,2,0,0,0,0,0,0,0.018242295,0,0.051393732,0.017166791,0.159810093,0.01466897,0.065248355,0.019698184,0.082686594,0.128131407,0.442953578,0,0 -school,FALSE,21,3,0,0,0,0,0,0,0,0,0,0.044964736,0,0.026693251,0.075177802,0.03517993,0.025975511,0.337402271,0.4546065,0,0 -school,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0.058839649,0.052164792,0.030967554,0.061935107,0.029419825,0.145827525,0.620845548,0,0 -school,FALSE,22,1,0.023037375,0,0,0,0,0,0,0,0,0.080648327,0.361587215,0.039998637,0.119661147,0.145124395,0.025588201,0,0.115793964,0.088560738,0 -school,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.066321013,0.205698394,0.043934105,0.180253452,0.112019427,0.014897164,0.028012145,0.055418593,0.293445707,0 -school,FALSE,22,3,0,0,0,0.017205445,0,0,0,0,0,0,0,0.072013982,0.171335382,0.018627394,0.235525324,0.014627752,0.218669111,0.25199561,0 -school,FALSE,22,4,0,0,0,0,0,0,0.014630535,0,0,0,0,0,0,0.021783187,0.041931895,0.020148708,0.336082731,0.565422944,0 -school,FALSE,23,1,0,0,0,0,0,0,0,0,0.111780051,0.21697306,0.207813189,0,0.029486875,0.065930991,0.028259313,0.025083791,0.027543321,0.043512885,0.243616523 -school,FALSE,23,2,0,0,0,0,0,0,0,0,0,0.125873532,0.191933649,0.013156926,0.035810782,0.023201345,0,0.03046339,0.176154142,0.116307048,0.287099186 -school,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.39711845,0.032800383,0,0,0.246473294,0,0,0.167995519,0.155612354 -school,FALSE,23,4,0,0,0,0,0,0,0,0,0.313300531,0,0,0,0,0.002398637,0.195897513,0,0.195897513,0.004797275,0.28770853 -escort,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,5,2,0.056858007,0.134308757,0.177188158,0,0,0.13142305,0,0.060572569,0,0.148645889,0.139773895,0.099108225,0,0.048544465,0.003576985,0,0,0,0 -escort,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0.744635807,0,0,0.255364193,0,0,0,0,0 -escort,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0.812216804,0.046945799,0,0.140837397,0,0,0,0,0 -escort,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,6,2,0,0.317902833,0.447578121,0.020114912,0,0,0.053725104,0,0,0.040669001,0.069308805,0.050701225,0,0,0,0,0,0,0 -escort,TRUE,6,3,0,0,0.573662861,0,0,0,0.426337139,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,6,4,0,0,0,0,0,0,0.42115826,0.15768348,0.42115826,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,7,2,0,0,0.142617064,0.38383586,0.072492592,0.032249474,0.032292989,0.061737992,0.014418217,0,0.117686396,0.044994655,0.097674761,0,0,0,0,0,0 -escort,TRUE,7,3,0,0,0,0,0,0.045211707,0,0,0.126121874,0,0.277934232,0.221864174,0,0.328868013,0,0,0,0,0 -escort,TRUE,7,4,0,0,0,0,0,0.046374243,0,0,0.072684124,0,0,0.059438015,0.270430055,0.098354465,0,0.157068569,0,0.295650529,0 -escort,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,8,2,0,0,0,0.321006938,0.473310236,0.008304761,0.028639249,0.02199492,0.016407044,0,0.05343627,0.024107423,0.052793161,0,0,0,0,0,0 -escort,TRUE,8,3,0,0,0,0.32761399,0.648736988,0.023649023,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,8,4,0,0,0,0,0.203285069,0.087659544,0.087659544,0,0.005822781,0,0,0,0.101642534,0.005717855,0.508212672,0,0,0,0 -escort,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,9,2,0,0,0,0,0.320224882,0.267747579,0.099295479,0,0.061354638,0.200251803,0,0,0,0.020258001,0.030867619,0,0,0,0 -escort,TRUE,9,3,0,0,0,0,0,0.432761501,0.214593419,0,0.146040986,0.206604093,0,0,0,0,0,0,0,0,0 -escort,TRUE,9,4,0,0,0,0,0,0,0.1657582,0.096920036,0.259807729,0,0.159171345,0.159171345,0.159171345,0,0,0,0,0,0 -escort,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,10,2,0,0,0,0,0,0.196501921,0.373640136,0.138599097,0.094607199,0.196651647,0,0,0,0,0,0,0,0,0 -escort,TRUE,10,3,0,0,0,0,0,0.116175548,0.44952369,0.143154558,0.097571597,0.14871659,0.044858016,0,0,0,0,0,0,0,0 -escort,TRUE,10,4,0,0,0,0,0,0,0.152413275,0.360078185,0.346132466,0.141376074,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,2,0,0,0,0,0,0,0.236755791,0.714983274,0.028256555,0.02000438,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,3,0,0,0,0,0,0,0,0.379678398,0.448220444,0.172101157,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,12,2,0,0,0,0,0,0,0,0.146819614,0.555791511,0.044450314,0.058009028,0.153878569,0.041050964,0,0,0,0,0,0 -escort,TRUE,12,3,0,0,0,0,0,0,0,0,0.743230427,0.054234351,0.202535221,0,0,0,0,0,0,0,0 -escort,TRUE,12,4,0,0,0,0,0,0,0,0,0,0.132670832,0.867329168,0,0,0,0,0,0,0,0 -escort,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,13,2,0,0,0,0,0,0,0,0,0.092255068,0.585233838,0.30962564,0.012885454,0,0,0,0,0,0,0 -escort,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.671206778,0.328793222,0,0,0,0,0,0,0,0 -escort,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.228972422,0.771027578,0,0,0,0,0,0,0,0 -escort,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -escort,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.562794406,0.331440849,0.082858701,0,0.022906044,0,0,0,0,0 -escort,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.645172877,0.181000922,0.173826201,0,0,0,0,0,0 -escort,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0,0.753171928,0.246828072,0,0,0,0,0,0 -escort,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -escort,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.201660218,0.766732321,0.031607461,0,0,0,0,0,0 -escort,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.299056486,0.074996412,0.41897627,0.206970833,0,0,0,0,0 -escort,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.150453054,0.849546946,0,0,0,0,0 -escort,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -escort,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.579038356,0.255758044,0.165203599,0,0,0,0,0 -escort,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.035336994,0.238269535,0.726393471,0,0,0,0,0 -escort,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -escort,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -escort,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.197118737,0.703970119,0.036315607,0.026383772,0.036211766,0,0 -escort,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.427169666,0.572830334,0,0,0,0 -escort,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -escort,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -escort,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185479472,0.434361919,0.338714329,0.041444281,0,0 -escort,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78249237,0.21750763,0,0,0 -escort,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.823014212,0.176985788,0 -escort,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -escort,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.285555275,0.649528389,0.064916336,0,0 -escort,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -escort,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199542785,0.800457215,0,0 -escort,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,1,0.040029892,0.959970108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,1,0,0.020969803,0.979030197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,1,0,0,0.118338551,0.881661449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,2,0,0,0.034411699,0.965588301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,1,0,0,0.004282148,0.282836493,0.71288136,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,2,0,0,0,0.171647398,0.828352602,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,3,0,0,0,0.21068634,0.78931366,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,4,0,0,0,0.019911517,0.980088483,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,1,0,0,0.018159729,0.078956734,0.236267706,0.66661583,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,2,0,0,0,0.138185723,0.240772266,0.621042011,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,3,0,0,0.040625092,0.114436303,0.44797514,0.396963465,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,4,0,0,0,0,0.181720167,0.818279833,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,1,0,0,0,0.031917445,0.047683392,0.099924869,0.820474293,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,2,0,0,0,0,0.020814603,0.392076313,0.587109083,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,3,0,0,0,0,0.032514248,0.315393925,0.652091828,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,4,0,0,0,0,0,0.249548162,0.750451838,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,1,0,0,0,0.018963707,0.021920487,0.031520436,0.140654387,0.786940984,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,2,0,0,0,0.03235256,0.042149511,0.05052472,0.131440073,0.743533136,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,3,0,0,0,0.050468014,0,0.017084057,0.229496221,0.702951708,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,4,0,0,0,0,0.048745163,0,0.147271645,0.803983192,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,1,0,0,0.002941942,0.022003062,0.00551188,0.013544069,0.038590922,0.171545199,0.745862927,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,2,0,0,0,0.015043096,0.006073583,0.009841677,0.054297211,0.176600055,0.738144378,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,3,0,0,0,0.021105735,0,0,0.046096397,0.122921811,0.809876056,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,4,0,0,0,0,0,0,0,0.099840566,0.900159434,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,1,0,0,0,0.048520661,0,0,0.016138911,0.044713809,0.085550978,0.805075641,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,2,0,0,0,0.009564053,0.153251843,0,0,0.114426845,0.102407993,0.620349267,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,3,0,0,0,0,0,0,0.013997667,0.033806812,0.25169859,0.700496931,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,4,0,0,0,0,0,0,0,0.031515821,0.082969823,0.885514356,0,0,0,0,0,0,0,0,0 -escort,FALSE,15,1,0.001473284,0.001275418,0.003819369,0.008997,0.006335419,0.008570073,0.003284399,0.001014618,0.005676659,0.244506482,0.715047279,0,0,0,0,0,0,0,0 -escort,FALSE,15,2,0.004847658,0.004196604,0.007080083,0.006185119,0.01421088,0,0.026061603,0.014229404,0.009049421,0.195982731,0.718156496,0,0,0,0,0,0,0,0 -escort,FALSE,15,3,0,0.012564661,0,0,0,0.021197818,0.014513923,0.011367283,0.031969048,0.126086289,0.782300976,0,0,0,0,0,0,0,0 -escort,FALSE,15,4,0,0,0,0,0,0.027149505,0.045738486,0.027149505,0.029117725,0.13954129,0.731303489,0,0,0,0,0,0,0,0 -escort,FALSE,16,1,0.00200405,0.001051772,0.006771555,0.00180834,0.015487237,0.019320069,0.003963644,0.003467036,0,0.014608191,0.140235591,0.791282514,0,0,0,0,0,0,0 -escort,FALSE,16,2,0,0,0,0.006365421,0.007122206,0.007817846,0.005072611,0.002561853,0.010562285,0.011331327,0.163631956,0.785534495,0,0,0,0,0,0,0 -escort,FALSE,16,3,0,0,0,0,0,0,0.013949693,0.015608287,0.031607957,0.045248859,0.086738092,0.806847112,0,0,0,0,0,0,0 -escort,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.176949473,0.823050527,0,0,0,0,0,0,0 -escort,FALSE,17,1,0,0.001885858,0.014135456,0.015985525,0.002552119,0,0,0.002305352,0,0.019788158,0.05304134,0.114790493,0.775515701,0,0,0,0,0,0 -escort,FALSE,17,2,0,0,0.01612501,0.004912147,0,0,0,0,0.006052735,0,0.066169183,0.192117368,0.714623557,0,0,0,0,0,0 -escort,FALSE,17,3,0,0,0,0,0,0,0,0,0,0.020217729,0.029305934,0.331354145,0.619122192,0,0,0,0,0,0 -escort,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0.06461582,0.084856782,0.850527398,0,0,0,0,0,0 -escort,FALSE,18,1,0,0.005432163,0.038940224,0.026689744,0.058158769,0,0.034797386,0,0,0.003175997,0.015025769,0.011190666,0.133413828,0.673175452,0,0,0,0,0 -escort,FALSE,18,2,0.006475372,0,0.028703811,0,0.057765487,0,0.00513516,0.012023268,0,0.005808733,0.027224281,0.023941956,0.217891148,0.615030786,0,0,0,0,0 -escort,FALSE,18,3,0,0,0,0,0,0,0,0.023354896,0,0,0.010873824,0.043494105,0.216938965,0.70533821,0,0,0,0,0 -escort,FALSE,18,4,0,0,0,0,0,0,0,0,0,0.030910531,0.015455265,0.036197751,0.134169828,0.783266626,0,0,0,0,0 -escort,FALSE,19,1,0,0,0.015759767,0.084811588,0,0.002872924,0,0.006556512,0.028956925,0.008237531,0,0.012966642,0.041318552,0.134584946,0.663934612,0,0,0,0 -escort,FALSE,19,2,0,0,0,0.041554494,0,0,0,0.005100141,0.012765195,0.005414707,0,0.027095562,0.040399,0.160510182,0.707160719,0,0,0,0 -escort,FALSE,19,3,0,0,0,0.042762147,0,0,0,0,0,0,0,0.118635541,0.138902724,0.131182018,0.568517571,0,0,0,0 -escort,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0.033575497,0.22070458,0.745719923,0,0,0,0 -escort,FALSE,20,1,0,0,0,0,0.076554131,0,0.004387939,0,0.005379578,0,0,0.005770825,0.013203816,0.052748034,0.038731746,0.80322393,0,0,0 -escort,FALSE,20,2,0,0,0,0,0,0,0.012675397,0,0,0,0.015539935,0,0.0372498,0.038141734,0.263200874,0.63319226,0,0,0 -escort,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0.142988825,0.070710819,0.050794946,0.73550541,0,0,0 -escort,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054259213,0.205166313,0.740574475,0,0,0 -escort,FALSE,21,1,0,0,0,0.009094963,0.016533621,0,0,0,0,0.037489891,0.01972214,0.048167746,0,0.021841243,0.064693921,0.167744598,0.614711876,0,0 -escort,FALSE,21,2,0,0,0.010099315,0,0,0.041511619,0,0,0.014099016,0.047958493,0,0,0.074669665,0,0.04646442,0.263279058,0.501918415,0,0 -escort,FALSE,21,3,0,0,0.017776541,0,0,0,0,0,0,0,0.024816708,0,0.07306763,0.131431527,0.035447508,0.193292186,0.5241679,0,0 -escort,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.022628167,0,0.052756196,0.032321457,0.080116339,0.812177841,0,0 -escort,FALSE,22,1,0,0,0,0.113172185,0,0,0,0,0,0.026397261,0.044886063,0,0,0.019218468,0.004386306,0.028722261,0.247924763,0.515292694,0 -escort,FALSE,22,2,0,0,0,0,0,0,0.18017321,0,0,0,0,0.074732757,0,0.107022619,0.042577452,0.038743506,0.038743506,0.518006951,0 -escort,FALSE,22,3,0,0,0,0,0,0,0.267409489,0,0,0,0,0,0,0,0.015267396,0.143659747,0.183067852,0.390595517,0 -escort,FALSE,22,4,0,0,0,0,0,0,0,0.234024187,0.234024187,0,0,0,0,0,0,0,0.303429308,0.228522318,0 -escort,FALSE,23,1,0,0,0,0,0,0,0,0.008127027,0.007835463,0.151355656,0,0.052450125,0.03651837,0.092153785,0.022741195,0,0.087045131,0.09410699,0.447666258 -escort,FALSE,23,2,0,0,0,0,0,0,0,0.038717113,0,0.014072799,0.013520577,0.321560091,0.117135518,0.10301486,0.065001842,0,0.046587075,0.02971575,0.250674374 -escort,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.026894061,0.13703111,0,0.082687611,0.04923207,0,0.121213706,0.200076012,0.38286543 -escort,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.049644185,0,0,0,0,0,0.09087828,0.241408525,0.61806901 -shopping,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,5,2,0,0.18855969,0.026231205,0,0.018666624,0.036855114,0.01579057,0.02877734,0,0.008686294,0.03735935,0.062874703,0.02993166,0.13469908,0.360321567,0.051246804,0,0,0 -shopping,TRUE,5,3,0,0,0,0,0.061551337,0,0.071672554,0.060629628,0,0,0.091646938,0.65884087,0,0,0,0.055658673,0,0,0 -shopping,TRUE,5,4,0,0,0,0,0,0,0.063047092,0,0,0.063047092,0,0.063047092,0.096265448,0.600570816,0,0.05701123,0,0,0.05701123 -shopping,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,6,2,0,0.236185322,0.189345656,0.027307243,0,0.09795574,0.025679731,0.06524777,0,0.065782608,0.146681657,0.061307682,0.084506592,0,0,0,0,0,0 -shopping,TRUE,6,3,0,0.122362042,0,0.056125397,0,0.3786476,0,0,0.104941475,0,0,0.337923485,0,0,0,0,0,0,0 -shopping,TRUE,6,4,0,0,0,0,0,0.333126,0,0.333126,0,0,0,0.215517962,0.061611625,0.056618413,0,0,0,0,0 -shopping,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,7,2,0,0,0.137784762,0.347610842,0.133435005,0.027404455,0.039144758,0.071879163,0.050738746,0,0.035619826,0.112566834,0,0.017941118,0.01764776,0.008226732,0,0,0 -shopping,TRUE,7,3,0,0,0.118039813,0.173078319,0.187104935,0.14629093,0.052634804,0.10898427,0,0,0,0.168712159,0.045154769,0,0,0,0,0,0 -shopping,TRUE,7,4,0,0,0,0.044071544,0,0.113245235,0,0,0,0,0.055926536,0.110694997,0.261835563,0.414226125,0,0,0,0,0 -shopping,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,8,2,0,0,0,0.216420344,0.444754798,0.146005729,0.070193472,0.027780288,0.022919028,0,0.028031874,0,0.017321534,0.012974919,0,0,0,0.013598014,0 -shopping,TRUE,8,3,0,0,0,0.11915052,0.47354413,0.131084867,0.131912474,0.029942334,0.092204361,0.012421891,0,0,0,0.009739424,0,0,0,0,0 -shopping,TRUE,8,4,0,0,0,0.091488151,0.546318896,0.031542872,0.035173262,0.043158455,0.069562754,0.074293154,0.014133102,0.01007907,0.063090109,0.011081104,0,0.01007907,0,0,0 -shopping,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,9,2,0,0,0,0,0.25829748,0.338424677,0.195615866,0.063977369,0.037499937,0.014738329,0.047325307,0,0.015434424,0.020988402,0.007698208,0,0,0,0 -shopping,TRUE,9,3,0,0,0,0,0.092189784,0.255069356,0.282966449,0.075774276,0.085242805,0.057005967,0.019307332,0.104848677,0,0.027595353,0,0,0,0,0 -shopping,TRUE,9,4,0,0,0,0,0,0.086253583,0.235736082,0.217929307,0.026367245,0.066851523,0.150316009,0.167128809,0,0.049417443,0,0,0,0,0 -shopping,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,10,2,0,0,0,0,0,0.447429351,0.377114876,0.1219042,0.01784823,0.022881298,0.007112195,0.00570985,0,0,0,0,0,0,0 -shopping,TRUE,10,3,0,0,0,0,0,0.203895878,0.380391288,0.125413278,0.121084198,0.097085986,0.03993943,0.032189942,0,0,0,0,0,0,0 -shopping,TRUE,10,4,0,0,0,0,0,0.026436932,0.286895016,0.076810524,0.38619219,0.152227751,0.048029261,0,0.023408325,0,0,0,0,0,0 -shopping,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,11,2,0,0,0,0,0,0,0.321289054,0.351540642,0.130487047,0.150332918,0.014224049,0.004332814,0.027793477,0,0,0,0,0,0 -shopping,TRUE,11,3,0,0,0,0,0,0,0.22652124,0.229119163,0.279822494,0.140263855,0.09076511,0.017983211,0,0.015524928,0,0,0,0,0 -shopping,TRUE,11,4,0,0,0,0,0,0,0.060435728,0,0.337860558,0.382359867,0.089042433,0.089042433,0,0,0,0.041258981,0,0,0 -shopping,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,12,2,0,0,0,0,0,0,0,0.327958916,0.465492803,0.141109297,0.020542537,0.022498994,0.01140431,0.010993144,0,0,0,0,0 -shopping,TRUE,12,3,0,0,0,0,0,0,0,0.178317517,0.451517182,0.27737762,0.065198536,0,0.009801894,0.017787251,0,0,0,0,0 -shopping,TRUE,12,4,0,0,0,0,0,0,0,0,0.213180964,0.240910483,0.152246297,0.393662256,0,0,0,0,0,0,0 -shopping,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,13,2,0,0,0,0,0,0,0,0,0.508107696,0.321685937,0.081799219,0.061327596,0.027079551,0,0,0,0,0,0 -shopping,TRUE,13,3,0,0,0,0,0,0,0,0,0.177195753,0.267607099,0.084531289,0.424560684,0.014787439,0.031317737,0,0,0,0,0 -shopping,TRUE,13,4,0,0,0,0,0,0,0,0,0.263218395,0.402482495,0.061208389,0.185818041,0,0,0,0.087272681,0,0,0 -shopping,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -shopping,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.438870825,0.372372041,0.160848114,0.021826983,0,0,0.006082036,0,0,0 -shopping,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.017173884,0.628449853,0.104128183,0.031161272,0,0,0.10714611,0.111940698,0,0 -shopping,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.490831445,0,0,0,0,0.254584278,0.254584278,0,0 -shopping,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -shopping,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.261294755,0.632140733,0.068294747,0.038269765,0,0,0,0,0 -shopping,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.150837677,0.364045291,0.292150535,0.06771696,0,0.125249537,0,0,0 -shopping,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.36746411,0,0.075770875,0,0.278382507,0.278382507,0,0 -shopping,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -shopping,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.554781367,0.360878736,0.067834102,0.016505795,0,0,0,0 -shopping,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.327593582,0.637795928,0.034610489,0,0,0,0,0 -shopping,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0.076274354,0.757840172,0.055295158,0.110590316,0,0,0,0 -shopping,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -shopping,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.281133857,0.595643382,0.100047971,0,0.023174789,0,0 -shopping,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.517896269,0.345741974,0.070632988,0,0,0.065728769,0 -shopping,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.783800606,0,0.072066465,0.144132929,0,0 -shopping,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -shopping,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299407159,0.536590408,0.150080831,0.013921602,0,0 -shopping,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192023096,0.807976904,0,0,0,0 -shopping,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.221357455,0.693718463,0.084924082,0,0 -shopping,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.905321875,0.094678125,0,0 -shopping,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.768749763,0.231250237,0 -shopping,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,2,0,0,0.057856159,0.942143841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,1,0,0,0,0.063004812,0.936995188,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,2,0,0,0,0.215154916,0.784845084,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,1,0,0,0,0.034621691,0.199730362,0.765647947,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,2,0,0,0,0.013947823,0.249445429,0.736606748,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,3,0,0,0,0,0.263792407,0.736207593,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,4,0,0,0,0,0.190842252,0.809157748,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,1,0,0,0,0,0.017620786,0.158923567,0.823455647,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,2,0,0,0,0,0.004541602,0.230049175,0.765409223,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,3,0,0,0,0,0,0.338910752,0.661089248,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,4,0,0,0,0,0,0.150257604,0.849742396,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,1,0,0,0.002514383,0,0.039915577,0.051276757,0.273727641,0.632565641,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,2,0,0,0,0,0.039730806,0.073816678,0.261462334,0.624990182,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,3,0,0,0,0,0.004430216,0.044433351,0.292333728,0.658802706,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,4,0,0,0,0,0,0.035609316,0.240024471,0.724366213,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,1,0,0,0,0,0.002652468,0.017076075,0.03891727,0.241051111,0.700303076,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,2,0,0,0,0,0.008356207,0.019728013,0.123359666,0.171778982,0.676777133,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,3,0,0,0,0,0.019588158,0,0.046245315,0.40772273,0.526443797,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,4,0,0,0,0,0.025743876,0.051487752,0.032165405,0.12492976,0.765673208,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,1,0,0,0,0.014322812,0.008308251,0.005594512,0.016143904,0.130012933,0.19330349,0.632314098,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,2,0,0,0,0.005506763,0.021606723,0.003403522,0.013852092,0.106618856,0.339860692,0.509151352,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,3,0,0,0,0.011027918,0,0.003096348,0.058586882,0.104167817,0.217735941,0.605385093,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,4,0,0,0,0.01227549,0,0.019168758,0.003446634,0.105336725,0.267971535,0.591800858,0,0,0,0,0,0,0,0,0 -shopping,FALSE,15,1,0,0,0,0,0.004254425,0.009138,0.019091237,0.013981558,0.039120881,0.34948947,0.564924428,0,0,0,0,0,0,0,0 -shopping,FALSE,15,2,0,0,0,0,0.001627899,0.009215496,0.004903293,0.002308669,0.07302082,0.221873866,0.687049956,0,0,0,0,0,0,0,0 -shopping,FALSE,15,3,0,0,0,0,0.003142874,0,0.025204014,0,0.04008905,0.235602582,0.69596148,0,0,0,0,0,0,0,0 -shopping,FALSE,15,4,0,0,0,0,0,0,0.004328876,0.008657753,0,0.285614869,0.701398502,0,0,0,0,0,0,0,0 -shopping,FALSE,16,1,0,0,0,0.000878576,0.003497576,0.021588157,0.009216937,0.008217315,0.002448233,0.048046219,0.232893086,0.673213901,0,0,0,0,0,0,0 -shopping,FALSE,16,2,0,0,0,0,0,0.035847568,0.011510797,0.014922592,0.020904683,0.052635454,0.243160325,0.62101858,0,0,0,0,0,0,0 -shopping,FALSE,16,3,0,0,0,0,0,0.051361483,0.00311995,0,0.051491012,0.042960512,0.192617192,0.658449851,0,0,0,0,0,0,0 -shopping,FALSE,16,4,0,0,0,0,0,0.046465728,0.002556214,0.025713434,0.038861358,0.073644993,0.248297436,0.564460837,0,0,0,0,0,0,0 -shopping,FALSE,17,1,0,0.002208578,0.009311633,0.01738702,0.001331755,0.005016926,0.003171846,0.006879148,0.001436793,0.027480637,0.058941124,0.29462051,0.572214029,0,0,0,0,0,0 -shopping,FALSE,17,2,0,0,0,0,0,0,0.010344283,0.037939171,0.039422982,0.026045212,0.06114443,0.190229666,0.634874255,0,0,0,0,0,0 -shopping,FALSE,17,3,0,0,0,0,0.007721229,0,0.011554543,0.070232976,0.032812162,0.025350429,0.070540072,0.236685334,0.545103256,0,0,0,0,0,0 -shopping,FALSE,17,4,0,0,0,0,0,0.006990598,0.033455447,0.006990598,0,0.064675896,0.055525232,0.171396816,0.660965415,0,0,0,0,0,0 -shopping,FALSE,18,1,0,0.033355807,0,0.001892316,0.00090772,0.004904866,0.001167821,0.016722263,0.003141548,0.002779365,0.024569171,0.061842541,0.271632599,0.577083981,0,0,0,0,0 -shopping,FALSE,18,2,0,0.075251856,0,0.017407741,0,0,0.005067103,0.012905849,0.043130871,0.028315061,0.006542046,0.109303095,0.166027278,0.536049102,0,0,0,0,0 -shopping,FALSE,18,3,0,0,0,0,0,0,0,0,0,0.066490049,0.057249304,0.237270804,0.359314757,0.279675086,0,0,0,0,0 -shopping,FALSE,18,4,0,0,0,0,0,0,0.007859239,0,0.011296648,0.003929619,0.099720544,0.061193285,0.240312145,0.575688521,0,0,0,0,0 -shopping,FALSE,19,1,0,0.002312931,0.007027556,0.00055146,0,0.020661977,0,0,0.011821234,0.002688782,0.004292928,0.007532001,0.051155819,0.156901174,0.735054139,0,0,0,0 -shopping,FALSE,19,2,0,0,0,0,0,0,0,0.003320994,0.005290597,0.01358355,0.003788453,0.020449742,0.075630163,0.221134543,0.656801959,0,0,0,0 -shopping,FALSE,19,3,0,0,0,0,0,0,0.014614817,0,0,0.020347906,0.008733406,0,0.047735668,0.374113208,0.534454996,0,0,0,0 -shopping,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.020864671,0.058211406,0.120273738,0.204544879,0.596105306,0,0,0,0 -shopping,FALSE,20,1,0,0,0,0,0,0.001536146,0,0.001675312,0,0,0,0,0,0.047561031,0.181509603,0.767717908,0,0,0 -shopping,FALSE,20,2,0,0,0,0,0,0.00331683,0,0.004518272,0.00566615,0,0.002748233,0,0.008286949,0.051482817,0.259536082,0.664444667,0,0,0 -shopping,FALSE,20,3,0,0,0,0,0,0,0,0.011858233,0.008705041,0,0.022083602,0.018110733,0,0.035127515,0.143310213,0.760804664,0,0,0 -shopping,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.03498938,0.040641133,0.145381408,0.371268099,0.407719981,0,0,0 -shopping,FALSE,21,1,0,0,0,0,0,0,0,0.004266615,0.002430883,0,0.007940168,0.009395117,0.021163822,0.046202149,0.053837474,0.173465177,0.681298593,0,0 -shopping,FALSE,21,2,0,0,0,0,0,0,0.007985058,0.003444064,0.007416145,0,0.004827496,0.003843961,0.059108441,0.050308287,0.078478176,0.182109604,0.602478768,0,0 -shopping,FALSE,21,3,0,0,0,0,0,0,0,0,0.037797058,0.007828278,0.02376667,0.011687609,0,0.020240379,0.189418946,0.098165754,0.611095305,0,0 -shopping,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.019033172,0,0.01121107,0.036432132,0.018720166,0.031263843,0.186160383,0.697179234,0,0 -shopping,FALSE,22,1,0,0,0,0,0,0.018041153,0,0,0,0,0,0,0.009811009,0.008718506,0.044707222,0.097289219,0.453480605,0.367952287,0 -shopping,FALSE,22,2,0,0,0,0,0,0.014478651,0,0,0.00946373,0,0,0.015817118,0.022169677,0.014478651,0,0.0282764,0.258592224,0.63672355,0 -shopping,FALSE,22,3,0,0,0,0,0,0,0,0,0.017617342,0.054918813,0,0,0,0.029444584,0.095176163,0,0,0.802843098,0 -shopping,FALSE,22,4,0,0,0,0,0,0,0,0,0.020680151,0,0,0.158687133,0,0.087459292,0.073575862,0.034563581,0.293241585,0.331792395,0 -shopping,FALSE,23,1,0,0,0,0.023821741,0,0,0,0.039038004,0.026879421,0,0.010904146,0.018269598,0.019509677,0.079126477,0.035829398,0.029321261,0,0.084296742,0.633003535 -shopping,FALSE,23,2,0,0.103799266,0,0,0.011152724,0,0,0.015806724,0.046340267,0.023976697,0.037355147,0,0.054819521,0.059060036,0.061565304,0.051303212,0.00884805,0.147229688,0.378743364 -shopping,FALSE,23,3,0,0,0,0,0.155683525,0,0,0,0.034179578,0,0,0.080880151,0,0.080591686,0.03920938,0.158345959,0.053129458,0.120909369,0.277070893 -shopping,FALSE,23,4,0,0,0,0,0,0.157154735,0.078577368,0.196443419,0.047914328,0.039288684,0.12397869,0.009075333,0,0.026776309,0.014018049,0.026776309,0.008914443,0.067449234,0.2036331 -othmaint,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,5,2,0,0.040658727,0.120399874,0.213344233,0.111017831,0.079889013,0.042291218,0,0.204453217,0,0,0.104955464,0.082990423,0,0,0,0,0,0 -othmaint,TRUE,5,3,0,0,0,0,0,0,0,0.287213384,0,0,0,0,0.712786616,0,0,0,0,0,0 -othmaint,TRUE,5,4,0,0,0,0,0,0,0,0,0.124355516,0.248711031,0,0,0.105129078,0,0.521804375,0,0,0,0 -othmaint,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,6,2,0,0,0.235488214,0.357403945,0.125753019,0,0,0.078259791,0,0.046555016,0.11357777,0.042962245,0,0,0,0,0,0,0 -othmaint,TRUE,6,3,0,0,0.326226519,0,0,0,0,0.174974691,0,0.373408666,0.125390124,0,0,0,0,0,0,0,0 -othmaint,TRUE,6,4,0,0,0,0,0,0,0.051430893,0.051430893,0,0.213968684,0.153518801,0.186667766,0.102982298,0.145655522,0,0.042793737,0.051551405,0,0 -othmaint,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,7,2,0,0,0.161965305,0.560535311,0.143218808,0.033324008,0.013918476,0.026127179,0.005375436,0,0.011132734,0.01156894,0.02310162,0,0.009732183,0,0,0,0 -othmaint,TRUE,7,3,0,0,0.113525478,0.598967516,0.089069194,0.080738894,0,0.030379017,0,0,0.0168487,0.017349938,0.019216267,0.018737763,0,0,0.015167234,0,0 -othmaint,TRUE,7,4,0,0,0.067302976,0.204351658,0.170979792,0.399761316,0.008551266,0.113238461,0,0,0,0,0,0.035814532,0,0,0,0,0 -othmaint,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,8,2,0,0,0,0.275563345,0.484065773,0.083338937,0.065284531,0.034854754,0.014700638,0.02595601,0.016236011,0,0,0,0,0,0,0,0 -othmaint,TRUE,8,3,0,0,0,0.256465635,0.196396681,0.177854408,0.122055686,0.028927661,0.08283666,0.079901924,0.043539857,0.012021488,0,0,0,0,0,0,0 -othmaint,TRUE,8,4,0,0,0,0,0.028047731,0,0.350951603,0,0.149252856,0.30289175,0,0.04635913,0.122496929,0,0,0,0,0,0 -othmaint,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,9,2,0,0,0,0,0.230097736,0.368638076,0.127385774,0.016744897,0.150776775,0,0,0.007474052,0.098882689,0,0,0,0,0,0 -othmaint,TRUE,9,3,0,0,0,0,0,0.231740286,0.127213569,0.112305301,0.189734694,0.10677054,0.198766593,0.033469018,0,0,0,0,0,0,0 -othmaint,TRUE,9,4,0,0,0,0,0,0,0.34116944,0,0.583836564,0.074993995,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,2,0,0,0,0,0,0.286259076,0.537234442,0.142887206,0.033619275,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,3,0,0,0,0,0,0.164777982,0.52409087,0.14628494,0.049989666,0,0.114856542,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,2,0,0,0,0,0,0,0.473598812,0.258143996,0.104686693,0.141192999,0.022377501,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,3,0,0,0,0,0,0,0.72551892,0.190277137,0.084203943,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,4,0,0,0,0,0,0,0,0,0,0.305927706,0.347036147,0,0,0,0,0,0.347036147,0,0 -othmaint,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,12,2,0,0,0,0,0,0,0,0.545682141,0.314476787,0.053501749,0.03851823,0.047821093,0,0,0,0,0,0,0 -othmaint,TRUE,12,3,0,0,0,0,0,0,0,0.214651848,0.46388943,0.061966411,0.132775585,0.126716726,0,0,0,0,0,0,0 -othmaint,TRUE,12,4,0,0,0,0,0,0,0,0,0.127956328,0,0,0.576495171,0,0.295548501,0,0,0,0,0 -othmaint,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,2,0,0,0,0,0,0,0,0,0.323941314,0.585102169,0.090956518,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,3,0,0,0,0,0,0,0,0,0.072453359,0.780993759,0.146552882,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.222472025,0.777527975,0,0,0,0,0,0,0,0 -othmaint,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.256222437,0.654201082,0.071103851,0.01847263,0,0,0,0,0,0 -othmaint,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.11860694,0.44971127,0.431681789,0,0,0,0,0,0,0 -othmaint,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.436444767,0.563555233,0,0,0,0,0,0,0 -othmaint,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.593763081,0.406236919,0,0,0,0,0,0,0 -othmaint,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othmaint,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.854510215,0.145489785,0,0,0,0,0,0 -othmaint,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.724085091,0,0.275914909,0,0,0,0,0 -othmaint,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othmaint,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.172124075,0.213012548,0.614863377,0,0,0,0 -othmaint,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098642817,0.901357183,0,0,0,0 -othmaint,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.270651613,0.600738159,0.128610228,0,0 -othmaint,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.771681706,0,0.228318294,0 -othmaint,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,1,0.09071969,0.90928031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,1,0,0.075063017,0.924936983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,1,0,0,0.072655068,0.927344932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,1,0,0,0.013631489,0.161967148,0.824401363,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,1,0,0,0,0.037502157,0.312567208,0.649930634,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,2,0,0,0,0,0.275988767,0.724011233,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,3,0,0,0,0,0.15552038,0.84447962,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,4,0,0,0,0,0.144245586,0.855754414,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,1,0,0,0,0,0.03338987,0.26489836,0.70171177,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,2,0,0,0,0,0.010989916,0.227634382,0.761375703,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,3,0,0,0,0,0,0.026011355,0.973988645,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,4,0,0,0,0,0,0.107851024,0.892148976,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,1,0,0,0,0.010158031,0.022913155,0.102307429,0.377078058,0.487543327,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,2,0,0,0,0,0,0.108745958,0.2159873,0.675266742,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,3,0,0,0,0,0,0.06065237,0.336243242,0.603104388,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,4,0,0,0,0,0,0.013311396,0.19774252,0.788946084,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,1,0,0,0,0,0.031249299,0.047260258,0.081354892,0.353123741,0.48701181,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,2,0,0,0,0,0.036088554,0.047323035,0.099280114,0.282440914,0.534867384,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,3,0,0,0,0.022092503,0,0.023342697,0.218332277,0.130650891,0.605581632,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,4,0,0,0,0,0,0,0.007598622,0.247081366,0.745320012,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,1,0,0,0,0,0.008432907,0.019241437,0.053781383,0.07753638,0.180423206,0.660584686,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,2,0,0,0,0,0,0.014889748,0.058818026,0.03592279,0.279517106,0.610852331,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,3,0,0,0,0,0,0.025148147,0.044798265,0.019855411,0.184100242,0.726097934,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,4,0,0,0,0,0,0.025559931,0.089028487,0.037908626,0.118966776,0.72853618,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,1,0,0,0.014080554,0,0.010260757,0.018416064,0.003200712,0.030725966,0.060405447,0.322996101,0.5399144,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,2,0,0,0,0.007837984,0.007663278,0.013198261,0,0.009670767,0.043030366,0.15942745,0.759171894,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,3,0,0,0,0,0.009630972,0,0.006337143,0.101481335,0.066736017,0.096321205,0.719493328,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,4,0,0,0,0,0,0,0,0.013528329,0.062228479,0.089319428,0.834923764,0,0,0,0,0,0,0,0 -othmaint,FALSE,16,1,0,0,0.006200413,0.004986933,0,0.010337749,0.015781258,0.022349724,0.011320009,0.0610877,0.263854949,0.604081265,0,0,0,0,0,0,0 -othmaint,FALSE,16,2,0,0,0.006875165,0,0,0.004755274,0.004846065,0.041322108,0.062817829,0.084403941,0.210011072,0.584968544,0,0,0,0,0,0,0 -othmaint,FALSE,16,3,0,0,0,0,0,0.003750011,0,0.038367203,0,0.081124439,0.173167838,0.703590508,0,0,0,0,0,0,0 -othmaint,FALSE,16,4,0,0,0,0,0,0,0,0.012408147,0.035652064,0.083467534,0.198538722,0.669933533,0,0,0,0,0,0,0 -othmaint,FALSE,17,1,0,0,0,0.020552867,0,0.005813725,0.002732148,0.008782581,0.005357107,0.029100301,0.080364833,0.302512654,0.544783785,0,0,0,0,0,0 -othmaint,FALSE,17,2,0,0,0,0,0.026548466,0.003679274,0.009319631,0,0.042518808,0.029889235,0.080550404,0.277668263,0.52982592,0,0,0,0,0,0 -othmaint,FALSE,17,3,0,0,0,0,0.009271174,0,0.054663157,0,0.016257561,0.01488333,0.09396777,0.266410029,0.544546979,0,0,0,0,0,0 -othmaint,FALSE,17,4,0,0,0,0,0,0.007066116,0.007066116,0.06151997,0.066639666,0.049844639,0.033402711,0.146764167,0.627696614,0,0,0,0,0,0 -othmaint,FALSE,18,1,0,0,0.00220337,0.003892833,0.007889226,0.016688123,0.035048075,0.024546837,0,0.00815882,0.035392235,0.148091146,0.276111609,0.441977726,0,0,0,0,0 -othmaint,FALSE,18,2,0,0,0,0,0,0.065300384,0.006485915,0.052781714,0.048191377,0.040820218,0,0.162432484,0.05438396,0.569603948,0,0,0,0,0 -othmaint,FALSE,18,3,0,0,0,0,0.017320219,0.031548823,0.022330672,0.091457847,0,0.019713885,0.042008327,0.218018162,0.200579611,0.357022454,0,0,0,0,0 -othmaint,FALSE,18,4,0,0,0,0,0.016419136,0,0.00528573,0.020252478,0,0.100415264,0.03805733,0.105531305,0.176732756,0.537306,0,0,0,0,0 -othmaint,FALSE,19,1,0,0,0,0,0.010727452,0,0.008098901,0.019233131,0.013852404,0.004645853,0.013295603,0.080270768,0.078632583,0.187569198,0.583674107,0,0,0,0 -othmaint,FALSE,19,2,0,0,0,0,0.049239842,0.011428143,0,0,0.026241801,0.041108511,0.013964285,0.025063837,0,0.310631722,0.522321858,0,0,0,0 -othmaint,FALSE,19,3,0,0,0,0,0,0.086744587,0,0,0,0.016477125,0.041531547,0.015283398,0.017093713,0.105309634,0.717559996,0,0,0,0 -othmaint,FALSE,19,4,0,0,0,0,0,0.069764219,0.069764219,0,0,0.104847005,0,0.033271814,0.058783522,0.247218312,0.416350909,0,0,0,0 -othmaint,FALSE,20,1,0,0,0,0,0,0,0.01242339,0.005336417,0.044409284,0.029249865,0.011600679,0.028809843,0.016252507,0.030331787,0.287705325,0.533880904,0,0,0 -othmaint,FALSE,20,2,0,0,0,0,0,0,0,0,0.032990066,0.012593317,0,0.052304607,0.150427735,0.026510728,0.302582814,0.422590733,0,0,0 -othmaint,FALSE,20,3,0,0,0,0,0,0,0,0.023039668,0.024925805,0.022055308,0.053273572,0.028755337,0.017687898,0.157803915,0.245882825,0.426575672,0,0,0 -othmaint,FALSE,20,4,0,0,0,0,0,0,0,0.009174883,0.009174883,0.039703931,0.032564469,0.051766512,0.025425007,0.0614869,0.641240832,0.129462584,0,0,0 -othmaint,FALSE,21,1,0,0.025380051,0.006505038,0,0,0,0,0,0,0.034497668,0.005372141,0.00750697,0.322054018,0.02041747,0.056367039,0.277982219,0.243917386,0,0 -othmaint,FALSE,21,2,0,0,0,0,0.006399766,0.007749372,0,0,0,0.006917002,0,0.046305978,0.04149865,0,0.351103334,0.214319682,0.325706214,0,0 -othmaint,FALSE,21,3,0,0,0,0,0,0,0.011775898,0.022192712,0.017562682,0,0,0.024503537,0,0.080192747,0.349550204,0.39894732,0.095274901,0,0 -othmaint,FALSE,21,4,0,0,0,0,0,0,0.012259416,0,0.035363359,0.018283805,0.073556494,0.018283805,0.057647363,0.014844726,0.042237266,0.375692888,0.351830879,0,0 -othmaint,FALSE,22,1,0,0,0,0,0,0,0,0.056847728,0,0.047979687,0,0,0.057283827,0,0.024129278,0.031974532,0.16735598,0.614428968,0 -othmaint,FALSE,22,2,0,0,0,0,0,0,0,0,0.161289071,0.04650851,0,0,0.16212443,0.112102538,0,0,0.142577705,0.375397745,0 -othmaint,FALSE,22,3,0,0,0,0,0,0,0,0.110415007,0.068559987,0.152422919,0,0.063721526,0.10278041,0,0,0.094851272,0.058740936,0.348507943,0 -othmaint,FALSE,22,4,0,0,0,0,0,0,0,0.050912705,0.082525929,0,0.031613224,0.050912705,0.094839672,0.029382195,0.129047073,0.050912705,0.220800245,0.259053549,0 -othmaint,FALSE,23,1,0,0,0,0,0,0.010515377,0.025008268,0.032644118,0,0.085888154,0.049317135,0.011196407,0.007715287,0.054305418,0,0.074906459,0.182663286,0.082719875,0.383120217 -othmaint,FALSE,23,2,0,0,0,0,0,0,0,0.045673386,0.020160892,0.021413699,0,0.082142047,0.014090672,0.018059971,0,0.045974294,0.048093764,0.355409136,0.348982138 -othmaint,FALSE,23,3,0,0,0,0,0,0,0,0.080258013,0,0.073055546,0,0.075004948,0.081094174,0.069336389,0,0,0,0.041154495,0.580096435 -othmaint,FALSE,23,4,0,0,0,0,0,0,0,0.037448064,0,0.04959035,0.016530117,0.025234243,0.062464477,0.114901182,0,0.107371648,0.062464477,0.148912902,0.37508254 -eatout,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,5,2,0.032538851,0.221324643,0,0.037815017,0,0,0,0.272525282,0,0,0.037088163,0.337745523,0.034547537,0,0.026414986,0,0,0,0 -eatout,TRUE,5,3,0,0,0,0.091639733,0,0,0,0,0,0,0,0.089878297,0,0.81848197,0,0,0,0,0 -eatout,TRUE,5,4,0,0,0,0,0,0,0,0,0.091478599,0,0,0,0,0.817042802,0.091478599,0,0,0,0 -eatout,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,6,2,0,0.10870266,0.506895447,0.175689689,0,0.026096466,0.034864499,0.082091899,0,0,0,0.025468279,0.040191062,0,0,0,0,0,0 -eatout,TRUE,6,3,0,0.035560115,0.306736608,0.286592598,0.030199993,0.042569681,0.056872474,0,0.028493363,0,0,0.212975168,0,0,0,0,0,0,0 -eatout,TRUE,6,4,0,0,0.211737696,0.322316501,0,0,0.220793367,0,0.051433567,0.096859434,0,0,0,0.096859434,0,0,0,0,0 -eatout,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,7,2,0,0,0.144455214,0.345929433,0,0,0.086477099,0.023160754,0,0.016780688,0,0.202260676,0.052439775,0.128496361,0,0,0,0,0 -eatout,TRUE,7,3,0,0,0.090126203,0.306912678,0,0.037918354,0.033462594,0.029845783,0,0,0,0,0.104315493,0,0,0.397418896,0,0,0 -eatout,TRUE,7,4,0,0,0,0.502373694,0,0,0,0.134316948,0,0,0.070995242,0,0.070995242,0,0.221318875,0,0,0,0 -eatout,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,8,2,0,0,0,0.287649201,0.258570068,0.118932282,0.154019597,0.040748722,0.016734567,0.048015509,0.013439765,0.016546263,0.014029864,0.031314162,0,0,0,0,0 -eatout,TRUE,8,3,0,0,0,0,0.251109552,0,0.113694476,0.124444727,0,0,0.229845517,0.061431783,0.219473946,0,0,0,0,0,0 -eatout,TRUE,8,4,0,0,0,0,0.493293189,0,0,0,0,0,0.506706811,0,0,0,0,0,0,0,0 -eatout,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,9,2,0,0,0,0,0.366854738,0.25501335,0.107900842,0.2287524,0,0,0,0,0,0.041478671,0,0,0,0,0 -eatout,TRUE,9,3,0,0,0,0,0.468297002,0.238514298,0.2931887,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,9,4,0,0,0,0,0.109486993,0.574078888,0.280149843,0,0.036284276,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,10,2,0,0,0,0,0,0.254832017,0.469238325,0.127193733,0.065540094,0.051245746,0,0,0,0,0.031950083,0,0,0,0 -eatout,TRUE,10,3,0,0,0,0,0,0.064871933,0.163184264,0.345964678,0.111369168,0.141300007,0,0.17330995,0,0,0,0,0,0,0 -eatout,TRUE,10,4,0,0,0,0,0,0,0.150728895,0,0.209592187,0.423337891,0,0,0,0.216341028,0,0,0,0,0 -eatout,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,11,2,0,0,0,0,0,0,0.370585753,0.485622052,0.060239142,0.042221954,0,0,0,0.020865964,0.020465134,0,0,0,0 -eatout,TRUE,11,3,0,0,0,0,0,0,0.269205736,0.405557054,0.185720764,0,0.076480268,0,0.063036179,0,0,0,0,0,0 -eatout,TRUE,11,4,0,0,0,0,0,0,0,0.351458157,0.487871427,0,0,0,0,0.160670416,0,0,0,0,0 -eatout,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,12,2,0,0,0,0,0,0,0,0.437792419,0.301451181,0.150311105,0.034236693,0.076208603,0,0,0,0,0,0,0 -eatout,TRUE,12,3,0,0,0,0,0,0,0,0.225370702,0.381329664,0.174766696,0,0,0,0.218532938,0,0,0,0,0 -eatout,TRUE,12,4,0,0,0,0,0,0,0,0,0.221247262,0.778752738,0,0,0,0,0,0,0,0,0 -eatout,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,13,2,0,0,0,0,0,0,0,0,0.139433765,0.241394197,0.366145988,0,0,0.25302605,0,0,0,0,0 -eatout,TRUE,13,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -eatout,TRUE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -eatout,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.141560108,0.455484612,0.063533559,0.080474833,0.258946888,0,0,0,0,0 -eatout,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -eatout,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -eatout,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -eatout,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.175719201,0.491767111,0.304614961,0.027898728,0,0,0,0,0 -eatout,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.115184007,0.113089502,0.771726491,0,0,0,0,0,0 -eatout,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -eatout,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -eatout,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.081443842,0.569785792,0.258691473,0.048438646,0,0.041640248,0,0 -eatout,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.14088832,0.169273542,0.138693404,0.551144734,0,0,0,0 -eatout,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.522722044,0,0,0.477277956,0,0,0 -eatout,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -eatout,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.360098415,0.452873013,0.139516873,0.047511698,0,0,0 -eatout,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.107576639,0.186526017,0.560987927,0.144909417,0,0,0 -eatout,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -eatout,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27451797,0.572984268,0.072163445,0,0.080334317,0 -eatout,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.497007208,0.502992792,0,0,0,0 -eatout,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537636417,0.462363583,0,0,0 -eatout,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.328311347,0.671688653,0,0,0 -eatout,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -eatout,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.916716515,0.083283485,0,0 -eatout,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.726342035,0.273657965,0,0 -eatout,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -eatout,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,1,0.034815481,0.965184519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,1,0,0.199908855,0.800091145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,2,0,0.833877769,0.166122231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,1,0,0,0.215838535,0.784161465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,1,0,0,0,0.157266378,0.842733622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,2,0,0,0,0.335277961,0.664722039,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,1,0,0,0.033536748,0.02770012,0.155369348,0.783393784,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,2,0,0,0,0,0.173469452,0.826530548,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,1,0,0,0,0,0.091878183,0.12493006,0.783191757,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,2,0,0,0,0,0,0.096132235,0.903867765,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,1,0,0,0,0.037969228,0,0.031107149,0.035414324,0.895509299,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,2,0,0,0,0,0.02753672,0,0.149847323,0.822615958,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,3,0,0,0,0,0,0,0.258442104,0.741557896,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,4,0,0,0,0,0,0,0.333333333,0.666666667,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,1,0,0.01200688,0,0,0,0.039950927,0.008513584,0.137590949,0.80193766,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,2,0,0,0,0,0,0,0,0.394497458,0.605502542,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,4,0,0,0,0,0,0,0,0.367803297,0.632196703,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,1,0,0,0,0,0,0.006675471,0,0.049503213,0.303745574,0.640075741,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,2,0,0,0,0,0,0,0,0,0.279565462,0.720434538,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,3,0,0,0,0,0,0,0,0,0.289280673,0.710719327,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,4,0,0,0,0,0,0,0,0,0.17018646,0.82981354,0,0,0,0,0,0,0,0,0 -eatout,FALSE,15,1,0,0,0.012317448,0.011793684,0,0.032471192,0.017402541,0.031610182,0.061546974,0.401654713,0.431203266,0,0,0,0,0,0,0,0 -eatout,FALSE,15,2,0,0,0,0.020848495,0,0,0.031697312,0.022993537,0.09062564,0.216001966,0.617833051,0,0,0,0,0,0,0,0 -eatout,FALSE,15,3,0,0,0,0,0,0,0,0.046096862,0.044136725,0.455929483,0.45383693,0,0,0,0,0,0,0,0 -eatout,FALSE,15,4,0,0,0,0,0,0,0,0.053925006,0,0.080548958,0.865526035,0,0,0,0,0,0,0,0 -eatout,FALSE,16,1,0,0.029358275,0.006634587,0,0.008384768,0,0.022595474,0.011554952,0,0.018323185,0.344468391,0.558680369,0,0,0,0,0,0,0 -eatout,FALSE,16,2,0,0,0,0,0,0,0.023120402,0.115646001,0.052131074,0.053950104,0.19213634,0.563016078,0,0,0,0,0,0,0 -eatout,FALSE,16,3,0,0,0,0,0,0,0,0.058624219,0.059135643,0.033481644,0.029621972,0.819136522,0,0,0,0,0,0,0 -eatout,FALSE,16,4,0,0,0,0,0,0,0,0,0.079941236,0.063875591,0.228664833,0.62751834,0,0,0,0,0,0,0 -eatout,FALSE,17,1,0.008270503,0,0.011204931,0,0.012161696,0.009083295,0,0,0.008915709,0.010949503,0.019220416,0.424059428,0.496134519,0,0,0,0,0,0 -eatout,FALSE,17,2,0,0,0,0,0.009447942,0,0.059827266,0.109282601,0.010850987,0.012969818,0.170046907,0.153233152,0.474341327,0,0,0,0,0,0 -eatout,FALSE,17,3,0,0,0,0,0,0,0.020113077,0.088749328,0.011185398,0,0.071370427,0.323187311,0.485394459,0,0,0,0,0,0 -eatout,FALSE,17,4,0,0,0.038633648,0,0,0,0,0.019522201,0.039044403,0.062661272,0.092635226,0.060867571,0.68663568,0,0,0,0,0,0 -eatout,FALSE,18,1,0,0.00402747,0,0.002699769,0,0,0.003458022,0.004776748,0,0,0.007128847,0.022821634,0.560262038,0.394825471,0,0,0,0,0 -eatout,FALSE,18,2,0,0,0,0,0,0,0.025269691,0.053659728,0.018624541,0,0.015410135,0.096858434,0.303814033,0.486363437,0,0,0,0,0 -eatout,FALSE,18,3,0,0,0,0.027139705,0,0,0,0,0.025309856,0,0.041317372,0,0.193332635,0.712900432,0,0,0,0,0 -eatout,FALSE,18,4,0,0,0,0.062266496,0,0,0,0.124532992,0,0,0,0.02844882,0.160985,0.623766691,0,0,0,0,0 -eatout,FALSE,19,1,0,0,0,0.035093846,0,0,0,0.002763787,0,0,0.007972126,0,0.006835141,0.182451712,0.76488339,0,0,0,0 -eatout,FALSE,19,2,0,0,0,0,0,0,0,0.009338966,0.0084296,0.012320862,0,0.007858119,0.07102686,0.181093919,0.709931674,0,0,0,0 -eatout,FALSE,19,3,0,0,0.034695617,0,0,0,0,0,0,0,0,0,0,0.325056792,0.640247591,0,0,0,0 -eatout,FALSE,19,4,0,0,0,0.101411526,0,0,0,0,0,0,0,0,0,0.101411526,0.797176947,0,0,0,0 -eatout,FALSE,20,1,0,0,0,0,0.006246293,0,0,0.011507943,0,0,0.013654973,0,0.007223887,0.028421478,0.204476714,0.728468712,0,0,0 -eatout,FALSE,20,2,0,0,0,0,0,0,0,0.029002329,0.008684063,0.040035705,0,0,0.033841105,0.026844626,0.219230553,0.64236162,0,0,0 -eatout,FALSE,20,3,0,0,0,0,0.017457545,0,0,0,0,0,0,0.022170954,0.111461135,0.026492142,0.144444394,0.677973828,0,0,0 -eatout,FALSE,20,4,0,0,0,0,0,0,0,0,0.027884869,0,0,0.019560862,0.053861802,0.185282652,0.14594305,0.567466765,0,0,0 -eatout,FALSE,21,1,0,0,0,0,0,0,0.001992088,0,0,0,0,0,0.004171801,0.008609329,0.045440515,0.297500935,0.642285332,0,0 -eatout,FALSE,21,2,0,0,0,0,0,0,0,0.008825951,0,0,0,0,0,0,0.022560857,0.064662954,0.903950239,0,0 -eatout,FALSE,21,3,0,0,0,0,0,0,0,0,0.01925505,0,0,0,0,0,0.141712181,0.063571817,0.775460952,0,0 -eatout,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.059643388,0.029821694,0.029821694,0.054589294,0.218357176,0,0.338629065,0.269137688,0,0 -eatout,FALSE,22,1,0,0.003832232,0.014433483,0.029367654,0,0,0,0,0,0,0,0,0,0.037886729,0.013545706,0.01688148,0.286440472,0.597612243,0 -eatout,FALSE,22,2,0,0,0,0.058773031,0.007875566,0,0.038790615,0,0,0,0,0,0,0.124436861,0.030453108,0.011388959,0.304645476,0.423636384,0 -eatout,FALSE,22,3,0,0.023843907,0,0,0.012800003,0,0,0,0.063045627,0,0,0,0,0.016739233,0.04949484,0.078783423,0.338585891,0.416707076,0 -eatout,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0.012407461,0.122224371,0.035520139,0.109039785,0,0.076367345,0.347441239,0.296999659,0 -eatout,FALSE,23,1,0,0,0,0,0,0,0,0.012371175,0,0.025704524,0,0.023327151,0,0.007669333,0.042011178,0.019479582,0.006261906,0.163786764,0.699388388 -eatout,FALSE,23,2,0,0,0,0,0,0,0,0,0.033721119,0.101287181,0,0.014308982,0,0,0.023495989,0.043546799,0.169610935,0.119773048,0.494255948 -eatout,FALSE,23,3,0,0,0,0,0,0,0,0,0,0.098543037,0,0,0,0,0,0.027420729,0.019663025,0.062014245,0.792358964 -eatout,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.015339182,0.166441975,0.108428683,0.70979016 -social,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163488477,0.72896704,0.107544483,0,0,0 -social,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,2,0,0.429301212,0.220838883,0,0,0.349859905,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,7,2,0,0,0.238446471,0.18847097,0.451233232,0.061171813,0,0,0,0,0,0.060677514,0,0,0,0,0,0,0 -social,TRUE,7,3,0,0,0.263472951,0,0.345559204,0.045763272,0.194319778,0,0,0,0.076482272,0.074402522,0,0,0,0,0,0,0 -social,TRUE,7,4,0,0,0,0,0.720034483,0,0,0,0,0,0,0,0,0.279965517,0,0,0,0,0 -social,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,8,2,0,0,0,0.254275275,0.460062202,0.285662524,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,8,3,0,0,0,0,0.319310909,0,0.196475338,0,0.334528108,0,0,0.149685645,0,0,0,0,0,0,0 -social,TRUE,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0.654606666,0.345393334,0,0,0,0,0 -social,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,2,0,0,0,0,0.545721423,0.112625256,0.326444169,0.015209152,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,3,0,0,0,0,0.023262324,0.080080665,0.730468634,0.143870653,0.022317724,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,4,0,0,0,0,0,0.026826474,0.852263327,0,0,0,0,0.014490394,0,0,0.053209903,0.053209903,0,0,0 -social,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,10,2,0,0,0,0,0,0.151977255,0.519637411,0.191906468,0.085778382,0.050700484,0,0,0,0,0,0,0,0,0 -social,TRUE,10,3,0,0,0,0,0,0.046500192,0.658940192,0.178956942,0,0.115602674,0,0,0,0,0,0,0,0,0 -social,TRUE,10,4,0,0,0,0,0,0,0.204837475,0.204837475,0.204837475,0,0,0.128495859,0.256991717,0,0,0,0,0,0 -social,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,11,2,0,0,0,0,0,0,0.252313913,0.608752771,0.060673874,0.078259442,0,0,0,0,0,0,0,0,0 -social,TRUE,11,3,0,0,0,0,0,0,0,0.893087119,0,0,0.106912881,0,0,0,0,0,0,0,0 -social,TRUE,11,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,12,2,0,0,0,0,0,0,0,0.01555306,0.804005354,0.113032269,0.042952725,0.024456591,0,0,0,0,0,0,0 -social,TRUE,12,3,0,0,0,0,0,0,0,0,0.762673603,0.196684366,0,0.040642031,0,0,0,0,0,0,0 -social,TRUE,12,4,0,0,0,0,0,0,0,0,0.974582243,0.025417757,0,0,0,0,0,0,0,0,0 -social,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,TRUE,13,2,0,0,0,0,0,0,0,0,0.666277769,0.215739994,0.117982237,0,0,0,0,0,0,0,0 -social,TRUE,13,3,0,0,0,0,0,0,0,0,0.20985109,0.290892068,0,0.499256842,0,0,0,0,0,0,0 -social,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.27976381,0.48015746,0,0.24007873,0,0,0,0,0 -social,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -social,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.474250224,0.479544424,0.046205352,0,0,0,0,0,0,0 -social,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.415915716,0.304081655,0.122383721,0.157618908,0,0,0,0,0 -social,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.149219919,0.262392987,0.163198885,0.364386422,0.060801787,0,0,0,0 -social,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.382256993,0.20034388,0.20034388,0.217055247,0,0,0 -social,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.084972892,0.631896416,0.184989951,0.098140741,0,0,0,0 -social,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.566972184,0,0.433027816,0,0,0 -social,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -social,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.153985008,0.442019825,0.287546211,0.116448956,0,0,0 -social,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805041829,0.194958171,0,0,0,0 -social,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.386035694,0.613964306,0,0,0,0 -social,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -social,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415464544,0.466670617,0.11786484,0,0,0 -social,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480898747,0.519101253,0,0,0 -social,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492816592,0.382668005,0.124515403,0,0 -social,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.296845882,0.703154118,0,0 -social,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.180542587,0.819457413,0,0 -social,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186441429,0.813558571 -social,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,1,0,0.175358533,0.824641467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,1,0,0,0.02236387,0.97763613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,1,0,0,0,0.461831955,0.538168045,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,1,0,0,0,0,0.168748059,0.831251941,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,2,0,0,0,0,0.100405941,0.899594059,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,1,0,0,0,0,0.02167612,0.606898663,0.371425217,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,2,0,0,0,0.025894331,0,0.076173851,0.897931818,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,3,0,0,0,0,0,0.0362574,0.9637426,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,4,0,0,0,0,0,0.666666667,0.333333333,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,1,0,0,0,0,0,0.040943046,0.339881423,0.619175531,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,2,0,0,0,0,0,0.055306785,0,0.944693215,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,3,0,0,0,0,0,0,0.113705951,0.886294049,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,4,0,0,0,0,0,0,0.020620903,0.979379097,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,1,0,0.110729344,0,0,0,0,0.028982164,0.160850288,0.699438204,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,2,0,0,0,0,0,0,0,0.434109617,0.565890383,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,FALSE,14,1,0,0,0,0,0,0,0.012646359,0.049957288,0.064957981,0.872438372,0,0,0,0,0,0,0,0,0 -social,FALSE,14,2,0,0,0,0,0,0,0,0.092000521,0.207125543,0.700873936,0,0,0,0,0,0,0,0,0 -social,FALSE,14,3,0,0,0,0,0,0,0,0,0.123105709,0.876894291,0,0,0,0,0,0,0,0,0 -social,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -social,FALSE,15,1,0,0,0,0,0,0,0,0.025915129,0.021414108,0.301296274,0.651374488,0,0,0,0,0,0,0,0 -social,FALSE,15,2,0,0,0,0,0,0,0,0.038851326,0.060308128,0.040085863,0.860754683,0,0,0,0,0,0,0,0 -social,FALSE,15,3,0,0,0,0,0,0,0,0,0,0.337125075,0.662874925,0,0,0,0,0,0,0,0 -social,FALSE,15,4,0,0,0,0,0,0,0,0,0,0.240804556,0.759195444,0,0,0,0,0,0,0,0 -social,FALSE,16,1,0,0,0,0,0,0,0.010850109,0.028630302,0.034941364,0.027356994,0.399487153,0.498734077,0,0,0,0,0,0,0 -social,FALSE,16,2,0,0,0,0,0,0,0,0.085290601,0.096379465,0.140055991,0.14515731,0.533116633,0,0,0,0,0,0,0 -social,FALSE,16,3,0,0,0,0,0,0,0,0.039789367,0,0,0.207791274,0.752419359,0,0,0,0,0,0,0 -social,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.444162303,0.555837697,0,0,0,0,0,0,0 -social,FALSE,17,1,0,0,0,0,0,0.004235542,0.004235542,0.010773772,0.036037056,0.011244257,0.008654904,0.185030812,0.739788115,0,0,0,0,0,0 -social,FALSE,17,2,0,0,0,0,0,0,0.011747117,0.030318289,0,0.026130418,0.124118238,0.265470463,0.542215475,0,0,0,0,0,0 -social,FALSE,17,3,0,0,0,0,0,0,0,0.035991711,0.05581904,0,0.118744644,0.174641807,0.614802798,0,0,0,0,0,0 -social,FALSE,17,4,0,0,0,0,0,0,0,0,0,0.133377911,0.156860689,0.067276975,0.642484425,0,0,0,0,0,0 -social,FALSE,18,1,0,0,0,0,0,0,0,0,0.021116578,0,0.023935246,0.014708731,0.292437045,0.6478024,0,0,0,0,0 -social,FALSE,18,2,0,0,0,0,0,0,0,0,0.050647706,0.018469336,0.057408229,0.034520986,0.245483705,0.593470039,0,0,0,0,0 -social,FALSE,18,3,0,0,0,0,0,0,0,0,0.215338024,0,0,0.143481023,0.32589869,0.315282263,0,0,0,0,0 -social,FALSE,18,4,0,0,0,0,0,0,0.012374723,0.012374723,0.037124169,0,0.012374723,0.11617789,0.120134128,0.689439644,0,0,0,0,0 -social,FALSE,19,1,0,0,0,0,0,0,0.007898288,0,0,0,0,0,0.121563834,0.284121966,0.586415912,0,0,0,0 -social,FALSE,19,2,0,0,0,0,0,0,0.039741889,0,0,0,0.02465859,0.116870248,0.036063489,0.320456158,0.462209626,0,0,0,0 -social,FALSE,19,3,0,0,0,0,0,0,0,0.054643855,0,0,0,0.060605496,0.025192236,0.702933269,0.156625145,0,0,0,0 -social,FALSE,19,4,0,0,0,0,0,0,0,0,0.175116816,0,0.022349377,0.130418062,0.054376362,0.036216461,0.581522921,0,0,0,0 -social,FALSE,20,1,0,0,0,0,0,0,0,0.006741002,0,0,0.01216091,0,0,0,0.185101107,0.795996982,0,0,0 -social,FALSE,20,2,0,0,0,0,0,0,0,0,0,0.04641167,0,0.083727631,0.098296373,0,0.202274397,0.569289928,0,0,0 -social,FALSE,20,3,0,0,0,0,0,0,0,0,0,0.139066538,0,0,0,0.294532307,0.250878966,0.315522189,0,0,0 -social,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.139014445,0,0,0.258582347,0.602403208,0,0,0 -social,FALSE,21,1,0,0,0,0,0,0,0,0.006536044,0,0,0.004122227,0,0.009592478,0,0.025254876,0.168812361,0.785682015,0,0 -social,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0.009947847,0,0,0.015489709,0.091770901,0.882791543,0,0 -social,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0.035778147,0,0,0.059543199,0.096410036,0.808268618,0,0 -social,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.039227837,0,0,0,0.272007988,0.688764175,0,0 -social,FALSE,22,1,0,0,0,0,0,0,0.008693912,0,0,0.023590293,0,0,0.014992001,0.012884951,0.01979978,0.017778233,0.266462768,0.635798061,0 -social,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.054229245,0.01998552,0,0,0.183589112,0.020695417,0.01231348,0.164392793,0.544794434,0 -social,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0.03472135,0,0,0.015619534,0,0.035954672,0.531548096,0.382156347,0 -social,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0.05888279,0.05888279,0,0.176648369,0.09089481,0.189410385,0.425280856,0 -social,FALSE,23,1,0,0,0,0,0,0,0,0.028390618,0,0,0.004916978,0,0,0,0.014598183,0.07621256,0.027119644,0.125695917,0.7230661 -social,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0.01089797,0,0,0.031808043,0,0.091217964,0.172140515,0.693935509 -social,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052410677,0.231068411,0.716520911 -social,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061760943,0.229019025,0.709220031 -othdiscr,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,5,2,0.261967145,0.409228643,0,0,0,0,0.034160738,0.0288967,0,0.105662564,0,0.028934007,0.099906136,0.031244066,0,0,0,0,0 -othdiscr,TRUE,5,3,0.05651263,0.078010805,0,0,0,0,0,0,0,0,0.105067549,0.353285463,0.190245768,0,0.216877785,0,0,0,0 -othdiscr,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,6,2,0,0.098860067,0.663141032,0.044723228,0.012153718,0.015393409,0,0.016907036,0,0.010826104,0.098262057,0.016422181,0.023311168,0,0,0,0,0,0 -othdiscr,TRUE,6,3,0,0.024215249,0.736578596,0.018671746,0.050466724,0,0.046817344,0.010678175,0.023238019,0,0.032556217,0,0.035620327,0.021157602,0,0,0,0,0 -othdiscr,TRUE,6,4,0,0,0.081847071,0,0.338763551,0,0.240085302,0,0.114633558,0,0.146128192,0,0,0.078542326,0,0,0,0,0 -othdiscr,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,7,2,0,0,0.352097404,0.309242997,0.08178386,0.093069138,0.009864271,0.017742267,0,0.050016669,0.019229555,0.024087308,0.042866531,0,0,0,0,0,0 -othdiscr,TRUE,7,3,0,0,0.212218699,0.104250306,0.22359596,0.028585094,0,0.022759931,0.040936909,0.272511733,0,0,0,0.095141367,0,0,0,0,0 -othdiscr,TRUE,7,4,0,0,0,0.429994902,0.250073782,0.067515708,0.179786534,0,0,0,0,0,0,0,0.072629074,0,0,0,0 -othdiscr,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,8,2,0,0,0,0.27373664,0.651618467,0.038952541,0.006393093,0,0,0.010887769,0.010198326,0,0.008213164,0,0,0,0,0,0 -othdiscr,TRUE,8,3,0,0,0,0.256077087,0.567372083,0.111208754,0.044947659,0,0,0,0,0.020394418,0,0,0,0,0,0,0 -othdiscr,TRUE,8,4,0,0,0,0,0.419368759,0.043993527,0.123598787,0,0,0,0,0.092242747,0.32079618,0,0,0,0,0,0 -othdiscr,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,9,2,0,0,0,0,0.325654332,0.331629325,0.251597773,0.036069214,0,0,0.007507425,0,0.005333887,0,0.042208044,0,0,0,0 -othdiscr,TRUE,9,3,0,0,0,0,0.296114826,0.283133229,0.171133878,0.024057098,0.039684124,0,0.104372804,0,0,0,0.081504041,0,0,0,0 -othdiscr,TRUE,9,4,0,0,0,0,0,0.026872303,0.087815216,0.185433391,0.459158688,0.037962963,0.202757439,0,0,0,0,0,0,0,0 -othdiscr,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,10,2,0,0,0,0,0,0.284975884,0.535943751,0.094599159,0.060212546,0,0,0,0.014932613,0,0.009336047,0,0,0,0 -othdiscr,TRUE,10,3,0,0,0,0,0,0.03549155,0.582807345,0.127174633,0.224739775,0,0,0,0,0.029786697,0,0,0,0,0 -othdiscr,TRUE,10,4,0,0,0,0,0,0,0.354929378,0.145446894,0.499623728,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,11,2,0,0,0,0,0,0,0.373878462,0.422332476,0.042754045,0.138634672,0.012364309,0.010036036,0,0,0,0,0,0,0 -othdiscr,TRUE,11,3,0,0,0,0,0,0,0.120480473,0.332302699,0.091421072,0.287256805,0.161854878,0.006684074,0,0,0,0,0,0,0 -othdiscr,TRUE,11,4,0,0,0,0,0,0,0.227930951,0,0.335102136,0.044198628,0.207476437,0,0.185291847,0,0,0,0,0,0 -othdiscr,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,12,2,0,0,0,0,0,0,0,0.383615621,0.305559088,0.131113594,0.103542737,0.07616896,0,0,0,0,0,0,0 -othdiscr,TRUE,12,3,0,0,0,0,0,0,0,0.128632011,0.247877929,0.37071038,0.084899625,0.167880054,0,0,0,0,0,0,0 -othdiscr,TRUE,12,4,0,0,0,0,0,0,0,0,0.205547015,0.162425226,0.239993719,0,0.392034039,0,0,0,0,0,0 -othdiscr,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,13,2,0,0,0,0,0,0,0,0,0.353861476,0.371100297,0.168208236,0.052680009,0.054149982,0,0,0,0,0,0 -othdiscr,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.679754381,0.320245619,0,0,0,0,0,0,0,0 -othdiscr,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.043643993,0.545880167,0.094829055,0.241931264,0,0.073715521,0,0,0,0 -othdiscr,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.288892103,0.603164379,0.048532082,0.059411436,0,0,0,0,0,0 -othdiscr,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.021579093,0.46445134,0.316987948,0.142583522,0.054398096,0,0,0,0,0 -othdiscr,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.09464155,0.567572891,0.33778556,0,0,0,0,0,0,0 -othdiscr,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.373801479,0.542977323,0.070343764,0.01078053,0.002096902,0,0,0,0 -othdiscr,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.122689199,0.717331575,0.030530698,0.123760049,0.005688479,0,0,0,0 -othdiscr,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.635796163,0,0,0.364203837,0,0,0,0 -othdiscr,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.712603233,0.193798154,0.048982419,0.039696774,0.00491942,0,0,0 -othdiscr,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.841745433,0.101833145,0.027409468,0,0.029011955,0,0,0 -othdiscr,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.17218743,0.195323109,0.429118156,0,0.203371304,0,0 -othdiscr,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.185120326,0.587302234,0.220258146,0,0.007319293,0,0 -othdiscr,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.183125342,0.285960671,0.48842584,0.013192652,0.029295494,0,0 -othdiscr,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102125632,0.746583804,0.151290564,0,0,0 -othdiscr,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542729526,0.35986304,0.097407435,0,0,0 -othdiscr,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480620595,0.242765324,0.062025461,0.187335855,0.027252764,0 -othdiscr,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098853758,0.563447888,0.242412271,0,0.095286083,0 -othdiscr,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.341735737,0.560576797,0.050581281,0.047106185,0 -othdiscr,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213928771,0.439416592,0,0.346654637,0 -othdiscr,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849356959,0.101132981,0.025617338,0.023892721 -othdiscr,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/workplace_location.csv b/activitysim/examples/example_mtc/configs/workplace_location.csv deleted file mode 100644 index ea56a39c9f..0000000000 --- a/activitysim/examples/example_mtc/configs/workplace_location.csv +++ /dev/null @@ -1,14 +0,0 @@ -Label,Description,Expression,coefficient -local_dist,,_DIST@skims['DIST'],1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up -util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high -util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 -util_no_attractions,No attractions,@df['size_term']==0,-999 -util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum -util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1 \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/write_trip_matrices.yaml b/activitysim/examples/example_mtc/configs/write_trip_matrices.yaml deleted file mode 100644 index a9f14a336d..0000000000 --- a/activitysim/examples/example_mtc/configs/write_trip_matrices.yaml +++ /dev/null @@ -1,277 +0,0 @@ -# read trips table post preprocessor and run expressions to code -# additional data fields, with one data fields for each matrix specified below - -preprocessor: - SPEC: write_trip_matrices_annotate_trips_preprocessor - DF: trips - TABLES: - - tours - -# divide trip counts by household expansion factor -HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in - -# save preprocessed trips table to pipeline if desired -SAVE_TRIPS_TABLE: False - -MATRICES: - - file_name: trips_ea.omx - tables: - - name: DRIVEALONEFREE_EA - data_field: DRIVEALONEFREE_EA - - name: DRIVEALONEPAY_EA - data_field: DRIVEALONEPAY_EA - - name: SHARED2FREE_EA - data_field: SHARED2FREE_EA - - name: SHARED2PAY_EA - data_field: SHARED2PAY_EA - - name: SHARED3FREE_EA - data_field: SHARED3FREE_EA - - name: SHARED3PAY_EA - data_field: SHARED3PAY_EA - - name: WALK_EA - data_field: WALK_EA - - name: BIKE_EA - data_field: BIKE_EA - - name: WALK_LOC_WALK_EA - data_field: WALK_LOC_WALK_EA - - name: WALK_LRF_WALK_EA - data_field: WALK_LRF_WALK_EA - - name: WALK_EXP_WALK_EA - data_field: WALK_EXP_WALK_EA - - name: WALK_HVY_WALK_EA - data_field: WALK_HVY_WALK_EA - - name: WALK_COM_WALK_EA - data_field: WALK_COM_WALK_EA - - name: DRIVE_LOC_WALK_EA - data_field: DRIVE_LOC_WALK_EA - - name: DRIVE_LRF_WALK_EA - data_field: DRIVE_LRF_WALK_EA - - name: DRIVE_EXP_WALK_EA - data_field: DRIVE_EXP_WALK_EA - - name: DRIVE_HVY_WALK_EA - data_field: DRIVE_HVY_WALK_EA - - name: DRIVE_COM_WALK_EA - data_field: DRIVE_COM_WALK_EA - - name: WALK_LOC_DRIVE_EA - data_field: WALK_LOC_DRIVE_EA - - name: WALK_LRF_DRIVE_EA - data_field: WALK_LRF_DRIVE_EA - - name: WALK_EXP_DRIVE_EA - data_field: WALK_EXP_DRIVE_EA - - name: WALK_DRIVE_HVY_EA - data_field: WALK_DRIVE_HVY_EA - - name: WALK_COM_DRIVE_EA - data_field: WALK_COM_DRIVE_EA - - file_name: trips_am.omx - tables: - - name: DRIVEALONEFREE_AM - data_field: DRIVEALONEFREE_AM - - name: DRIVEALONEPAY_AM - data_field: DRIVEALONEPAY_AM - - name: SHARED2FREE_AM - data_field: SHARED2FREE_AM - - name: SHARED2PAY_AM - data_field: SHARED2PAY_AM - - name: SHARED3FREE_AM - data_field: SHARED3FREE_AM - - name: SHARED3PAY_AM - data_field: SHARED3PAY_AM - - name: WALK_AM - data_field: WALK_AM - - name: BIKE_AM - data_field: BIKE_AM - - name: WALK_LOC_WALK_AM - data_field: WALK_LOC_WALK_AM - - name: WALK_LRF_WALK_AM - data_field: WALK_LRF_WALK_AM - - name: WALK_EXP_WALK_AM - data_field: WALK_EXP_WALK_AM - - name: WALK_HVY_WALK_AM - data_field: WALK_HVY_WALK_AM - - name: WALK_COM_WALK_AM - data_field: WALK_COM_WALK_AM - - name: DRIVE_LOC_WALK_AM - data_field: DRIVE_LOC_WALK_AM - - name: DRIVE_LRF_WALK_AM - data_field: DRIVE_LRF_WALK_AM - - name: DRIVE_EXP_WALK_AM - data_field: DRIVE_EXP_WALK_AM - - name: DRIVE_HVY_WALK_AM - data_field: DRIVE_HVY_WALK_AM - - name: DRIVE_COM_WALK_AM - data_field: DRIVE_COM_WALK_AM - - name: WALK_LOC_DRIVE_AM - data_field: WALK_LOC_DRIVE_AM - - name: WALK_LRF_DRIVE_AM - data_field: WALK_LRF_DRIVE_AM - - name: WALK_EXP_DRIVE_AM - data_field: WALK_EXP_DRIVE_AM - - name: WALK_DRIVE_HVY_AM - data_field: WALK_DRIVE_HVY_AM - - name: WALK_COM_DRIVE_AM - data_field: WALK_COM_DRIVE_AM - - file_name: trips_md.omx - tables: - - name: DRIVEALONEFREE_MD - data_field: DRIVEALONEFREE_MD - - name: DRIVEALONEPAY_MD - data_field: DRIVEALONEPAY_MD - - name: SHARED2FREE_MD - data_field: SHARED2FREE_MD - - name: SHARED2PAY_MD - data_field: SHARED2PAY_MD - - name: SHARED3FREE_MD - data_field: SHARED3FREE_MD - - name: SHARED3PAY_MD - data_field: SHARED3PAY_MD - - name: WALK_MD - data_field: WALK_MD - - name: BIKE_MD - data_field: BIKE_MD - - name: WALK_LOC_WALK_MD - data_field: WALK_LOC_WALK_MD - - name: WALK_LRF_WALK_MD - data_field: WALK_LRF_WALK_MD - - name: WALK_EXP_WALK_MD - data_field: WALK_EXP_WALK_MD - - name: WALK_HVY_WALK_MD - data_field: WALK_HVY_WALK_MD - - name: WALK_COM_WALK_MD - data_field: WALK_COM_WALK_MD - - name: DRIVE_LOC_WALK_MD - data_field: DRIVE_LOC_WALK_MD - - name: DRIVE_LRF_WALK_MD - data_field: DRIVE_LRF_WALK_MD - - name: DRIVE_EXP_WALK_MD - data_field: DRIVE_EXP_WALK_MD - - name: DRIVE_HVY_WALK_MD - data_field: DRIVE_HVY_WALK_MD - - name: DRIVE_COM_WALK_MD - data_field: DRIVE_COM_WALK_MD - - name: WALK_LOC_DRIVE_MD - data_field: WALK_LOC_DRIVE_MD - - name: WALK_LRF_DRIVE_MD - data_field: WALK_LRF_DRIVE_MD - - name: WALK_EXP_DRIVE_MD - data_field: WALK_EXP_DRIVE_MD - - name: WALK_DRIVE_HVY_MD - data_field: WALK_DRIVE_HVY_MD - - name: WALK_COM_DRIVE_MD - data_field: WALK_COM_DRIVE_MD - - file_name: trips_pm.omx - tables: - - name: DRIVEALONEFREE_PM - data_field: DRIVEALONEFREE_PM - - name: DRIVEALONEPAY_PM - data_field: DRIVEALONEPAY_PM - - name: SHARED2FREE_PM - data_field: SHARED2FREE_PM - - name: SHARED2PAY_PM - data_field: SHARED2PAY_PM - - name: SHARED3FREE_PM - data_field: SHARED3FREE_PM - - name: SHARED3PAY_PM - data_field: SHARED3PAY_PM - - name: WALK_PM - data_field: WALK_PM - - name: BIKE_PM - data_field: BIKE_PM - - name: WALK_LOC_WALK_PM - data_field: WALK_LOC_WALK_PM - - name: WALK_LRF_WALK_PM - data_field: WALK_LRF_WALK_PM - - name: WALK_EXP_WALK_PM - data_field: WALK_EXP_WALK_PM - - name: WALK_HVY_WALK_PM - data_field: WALK_HVY_WALK_PM - - name: WALK_COM_WALK_PM - data_field: WALK_COM_WALK_PM - - name: DRIVE_LOC_WALK_PM - data_field: DRIVE_LOC_WALK_PM - - name: DRIVE_LRF_WALK_PM - data_field: DRIVE_LRF_WALK_PM - - name: DRIVE_EXP_WALK_PM - data_field: DRIVE_EXP_WALK_PM - - name: DRIVE_HVY_WALK_PM - data_field: DRIVE_HVY_WALK_PM - - name: DRIVE_COM_WALK_PM - data_field: DRIVE_COM_WALK_PM - - name: WALK_LOC_DRIVE_PM - data_field: WALK_LOC_DRIVE_PM - - name: WALK_LRF_DRIVE_PM - data_field: WALK_LRF_DRIVE_PM - - name: WALK_EXP_DRIVE_PM - data_field: WALK_EXP_DRIVE_PM - - name: WALK_DRIVE_HVY_PM - data_field: WALK_DRIVE_HVY_PM - - name: WALK_COM_DRIVE_PM - data_field: WALK_COM_DRIVE_PM - - file_name: trips_ev.omx - tables: - - name: DRIVEALONEFREE_EV - data_field: DRIVEALONEFREE_EV - - name: DRIVEALONEPAY_EV - data_field: DRIVEALONEPAY_EV - - name: SHARED2FREE_EV - data_field: SHARED2FREE_EV - - name: SHARED2PAY_EV - data_field: SHARED2PAY_EV - - name: SHARED3FREE_EV - data_field: SHARED3FREE_EV - - name: SHARED3PAY_EV - data_field: SHARED3PAY_EV - - name: WALK_EV - data_field: WALK_EV - - name: BIKE_EV - data_field: BIKE_EV - - name: WALK_LOC_WALK_EV - data_field: WALK_LOC_WALK_EV - - name: WALK_LRF_WALK_EV - data_field: WALK_LRF_WALK_EV - - name: WALK_EXP_WALK_EV - data_field: WALK_EXP_WALK_EV - - name: WALK_HVY_WALK_EV - data_field: WALK_HVY_WALK_EV - - name: WALK_COM_WALK_EV - data_field: WALK_COM_WALK_EV - - name: DRIVE_LOC_WALK_EV - data_field: DRIVE_LOC_WALK_EV - - name: DRIVE_LRF_WALK_EV - data_field: DRIVE_LRF_WALK_EV - - name: DRIVE_EXP_WALK_EV - data_field: DRIVE_EXP_WALK_EV - - name: DRIVE_HVY_WALK_EV - data_field: DRIVE_HVY_WALK_EV - - name: DRIVE_COM_WALK_EV - data_field: DRIVE_COM_WALK_EV - - name: WALK_LOC_DRIVE_EV - data_field: WALK_LOC_DRIVE_EV - - name: WALK_LRF_DRIVE_EV - data_field: WALK_LRF_DRIVE_EV - - name: WALK_EXP_DRIVE_EV - data_field: WALK_EXP_DRIVE_EV - - name: WALK_DRIVE_HVY_EV - data_field: WALK_DRIVE_HVY_EV - - name: WALK_COM_DRIVE_EV - data_field: WALK_COM_DRIVE_EV - -CONSTANTS: - time_periods: - EA: - first_hour: 3 - last_hour: 5 - AM: - first_hour: 6 - last_hour: 9 - MD: - first_hour: 10 - last_hour: 14 - PM: - first_hour: 15 - last_hour: 18 - EV: - first_hour: 19 - last_hour: 2 - # SHARED2 and SHARED3 Occupancies - OCC_SHARED2: 2.0 - OCC_SHARED3: 3.33 diff --git a/activitysim/examples/example_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/example_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv deleted file mode 100644 index 2f740b2da8..0000000000 --- a/activitysim/examples/example_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv +++ /dev/null @@ -1,130 +0,0 @@ -Description,Target,Expression -# add additional fields,, -,tour_participants,trips.tour_id.map(tours.number_of_participants) -,distance,od_skims['DIST'] -# code time periods,, -,is_ea,"trips.depart.between(time_periods['EA']['first_hour'], time_periods['EA']['last_hour'])" -,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" -,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" -,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" -,is_ev,(trips.depart >= time_periods['EV']['first_hour']) | (trips.depart <= time_periods['EV']['last_hour']) -# ea trips,, -,DRIVEALONEFREE_EA,((trips.trip_mode == 'DRIVEALONEFREE') & is_ea) * tour_participants -,DRIVEALONEPAY_EA,((trips.trip_mode == 'DRIVEALONEPAY') & is_ea) * tour_participants -,SHARED2FREE_EA,((trips.trip_mode == 'SHARED2FREE') & is_ea) * tour_participants / OCC_SHARED2 -,SHARED2PAY_EA,((trips.trip_mode == 'SHARED2PAY') & is_ea) * tour_participants / OCC_SHARED2 -,SHARED3FREE_EA,((trips.trip_mode == 'SHARED3FREE') & is_ea) * tour_participants / OCC_SHARED3 -,SHARED3PAY_EA,((trips.trip_mode == 'SHARED3PAY') & is_ea) * tour_participants / OCC_SHARED3 -,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants -,BIKE_EA,((trips.trip_mode == 'BIKE') & is_ea) * tour_participants -,WALK_LOC_WALK_EA,((trips.trip_mode == 'WALK_LOC') & is_ea) * tour_participants -,WALK_LRF_WALK_EA,((trips.trip_mode == 'WALK_LRF') & is_ea) * tour_participants -,WALK_EXP_WALK_EA,((trips.trip_mode == 'WALK_EXP') & is_ea) * tour_participants -,WALK_HVY_WALK_EA,((trips.trip_mode == 'WALK_HVY') & is_ea) * tour_participants -,WALK_COM_WALK_EA,((trips.trip_mode == 'WALK_COM') & is_ea) * tour_participants -,DRIVE_LOC_WALK_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & trips.outbound) * tour_participants -,DRIVE_COM_WALK_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & ~trips.outbound) * tour_participants -# am trips,, -,DRIVEALONEFREE_AM,((trips.trip_mode == 'DRIVEALONEFREE') & is_am) * tour_participants -,DRIVEALONEPAY_AM,((trips.trip_mode == 'DRIVEALONEPAY') & is_am) * tour_participants -,SHARED2FREE_AM,((trips.trip_mode == 'SHARED2FREE') & is_am) * tour_participants / OCC_SHARED2 -,SHARED2PAY_AM,((trips.trip_mode == 'SHARED2PAY') & is_am) * tour_participants / OCC_SHARED2 -,SHARED3FREE_AM,((trips.trip_mode == 'SHARED3FREE') & is_am) * tour_participants / OCC_SHARED3 -,SHARED3PAY_AM,((trips.trip_mode == 'SHARED3PAY') & is_am) * tour_participants / OCC_SHARED3 -,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants -,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants -,WALK_LOC_WALK_AM,((trips.trip_mode == 'WALK_LOC') & is_am) * tour_participants -,WALK_LRF_WALK_AM,((trips.trip_mode == 'WALK_LRF') & is_am) * tour_participants -,WALK_EXP_WALK_AM,((trips.trip_mode == 'WALK_EXP') & is_am) * tour_participants -,WALK_HVY_WALK_AM,((trips.trip_mode == 'WALK_HVY') & is_am) * tour_participants -,WALK_COM_WALK_AM,((trips.trip_mode == 'WALK_COM') & is_am) * tour_participants -,DRIVE_LOC_WALK_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & trips.outbound) * tour_participants -,DRIVE_COM_WALK_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & ~trips.outbound) * tour_participants -# md trips,, -,DRIVEALONEFREE_MD,((trips.trip_mode == 'DRIVEALONEFREE') & is_md) * tour_participants -,DRIVEALONEPAY_MD,((trips.trip_mode == 'DRIVEALONEPAY') & is_md) * tour_participants -,SHARED2FREE_MD,((trips.trip_mode == 'SHARED2FREE') & is_md) * tour_participants / OCC_SHARED2 -,SHARED2PAY_MD,((trips.trip_mode == 'SHARED2PAY') & is_md) * tour_participants / OCC_SHARED2 -,SHARED3FREE_MD,((trips.trip_mode == 'SHARED3FREE') & is_md) * tour_participants / OCC_SHARED3 -,SHARED3PAY_MD,((trips.trip_mode == 'SHARED3PAY') & is_md) * tour_participants / OCC_SHARED3 -,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants -,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants -,WALK_LOC_WALK_MD,((trips.trip_mode == 'WALK_LOC') & is_md) * tour_participants -,WALK_LRF_WALK_MD,((trips.trip_mode == 'WALK_LRF') & is_md) * tour_participants -,WALK_EXP_WALK_MD,((trips.trip_mode == 'WALK_EXP') & is_md) * tour_participants -,WALK_HVY_WALK_MD,((trips.trip_mode == 'WALK_HVY') & is_md) * tour_participants -,WALK_COM_WALK_MD,((trips.trip_mode == 'WALK_COM') & is_md) * tour_participants -,DRIVE_LOC_WALK_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & trips.outbound) * tour_participants -,DRIVE_COM_WALK_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & ~trips.outbound) * tour_participants -# pm trips,, -,DRIVEALONEFREE_PM,((trips.trip_mode == 'DRIVEALONEFREE') & is_pm) * tour_participants -,DRIVEALONEPAY_PM,((trips.trip_mode == 'DRIVEALONEPAY') & is_pm) * tour_participants -,SHARED2FREE_PM,((trips.trip_mode == 'SHARED2FREE') & is_pm) * tour_participants / OCC_SHARED2 -,SHARED2PAY_PM,((trips.trip_mode == 'SHARED2PAY') & is_pm) * tour_participants / OCC_SHARED2 -,SHARED3FREE_PM,((trips.trip_mode == 'SHARED3FREE') & is_pm) * tour_participants / OCC_SHARED3 -,SHARED3PAY_PM,((trips.trip_mode == 'SHARED3PAY') & is_pm) * tour_participants / OCC_SHARED3 -,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants -,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants -,WALK_LOC_WALK_PM,((trips.trip_mode == 'WALK_LOC') & is_pm) * tour_participants -,WALK_LRF_WALK_PM,((trips.trip_mode == 'WALK_LRF') & is_pm) * tour_participants -,WALK_EXP_WALK_PM,((trips.trip_mode == 'WALK_EXP') & is_pm) * tour_participants -,WALK_HVY_WALK_PM,((trips.trip_mode == 'WALK_HVY') & is_pm) * tour_participants -,WALK_COM_WALK_PM,((trips.trip_mode == 'WALK_COM') & is_pm) * tour_participants -,DRIVE_LOC_WALK_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & trips.outbound) * tour_participants -,DRIVE_COM_WALK_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & ~trips.outbound) * tour_participants -# ev trips,, -,DRIVEALONEFREE_EV,((trips.trip_mode == 'DRIVEALONEFREE') & is_ev) * tour_participants -,DRIVEALONEPAY_EV,((trips.trip_mode == 'DRIVEALONEPAY') & is_ev) * tour_participants -,SHARED2FREE_EV,((trips.trip_mode == 'SHARED2FREE') & is_ev) * tour_participants / OCC_SHARED2 -,SHARED2PAY_EV,((trips.trip_mode == 'SHARED2PAY') & is_ev) * tour_participants / OCC_SHARED2 -,SHARED3FREE_EV,((trips.trip_mode == 'SHARED3FREE') & is_ev) * tour_participants / OCC_SHARED3 -,SHARED3PAY_EV,((trips.trip_mode == 'SHARED3PAY') & is_ev) * tour_participants / OCC_SHARED3 -,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants -,BIKE_EV,((trips.trip_mode == 'BIKE') & is_ev) * tour_participants -,WALK_LOC_WALK_EV,((trips.trip_mode == 'WALK_LOC') & is_ev) * tour_participants -,WALK_LRF_WALK_EV,((trips.trip_mode == 'WALK_LRF') & is_ev) * tour_participants -,WALK_EXP_WALK_EV,((trips.trip_mode == 'WALK_EXP') & is_ev) * tour_participants -,WALK_HVY_WALK_EV,((trips.trip_mode == 'WALK_HVY') & is_ev) * tour_participants -,WALK_COM_WALK_EV,((trips.trip_mode == 'WALK_COM') & is_ev) * tour_participants -,DRIVE_LOC_WALK_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & trips.outbound) * tour_participants -,DRIVE_COM_WALK_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & ~trips.outbound) * tour_participants diff --git a/activitysim/examples/example_mtc/configs_mp/settings.yaml b/activitysim/examples/example_mtc/configs_mp/settings.yaml deleted file mode 100644 index a825c03936..0000000000 --- a/activitysim/examples/example_mtc/configs_mp/settings.yaml +++ /dev/null @@ -1,100 +0,0 @@ - -inherit_settings: True - -# raise error if any sub-process fails without waiting for others to complete -fail_fast: True - -# - ------------------------- production config -#multiprocess: True -#strict: False -#use_shadow_pricing: True - -# - full sample - 2875192 households on 64 processor 432 GiB RAM -#households_sample_size: 0 -#chunk_size: 400_000_000_000 -#num_processes: 60 - -# - ------------------------- no chunking due to sufficient RAM -# chunk_training_mode: disabled - -# - ------------------------- dev config -multiprocess: True -strict: False -use_shadow_pricing: False - -households_sample_size: 0 -chunk_size: 0 -num_processes: 2 - -# - ------------------------- - -# not recommended or supported for multiprocessing -want_dest_choice_sample_tables: False - -#read_skim_cache: True -#write_skim_cache: True - -# - tracing -#trace_hh_id: -trace_od: - -# to resume after last successful checkpoint, specify resume_after: _ -#resume_after: trip_purpose_and_destination - -models: - ### mp_initialize step - - initialize_landuse - - initialize_households - ### mp_accessibility step - - compute_accessibility - ### mp_households step - - school_location - - workplace_location - - auto_ownership_simulate - - free_parking - - cdap_simulate - - mandatory_tour_frequency - - mandatory_tour_scheduling - - joint_tour_frequency - - joint_tour_composition - - joint_tour_participation - - joint_tour_destination - - joint_tour_scheduling - - non_mandatory_tour_frequency - - non_mandatory_tour_destination - - non_mandatory_tour_scheduling - - tour_mode_choice_simulate - - atwork_subtour_frequency - - atwork_subtour_destination - - atwork_subtour_scheduling - - atwork_subtour_mode_choice - - stop_frequency - - trip_purpose - - trip_destination - - trip_purpose_and_destination - - trip_scheduling - - trip_mode_choice - ### mp_summarize step - - write_data_dictionary - - write_trip_matrices - - write_tables - -multiprocess_steps: - - name: mp_initialize - begin: initialize_landuse - - name: mp_accessibility - begin: compute_accessibility - slice: - tables: - - accessibility - # don't slice any tables not explicitly listed above in slice.tables - except: True - - name: mp_households - begin: school_location - slice: - tables: - - households - - persons - - name: mp_summarize - begin: write_data_dictionary - diff --git a/activitysim/examples/example_mtc/simulation.py b/activitysim/examples/example_mtc/simulation.py deleted file mode 100644 index f68bee0dbd..0000000000 --- a/activitysim/examples/example_mtc/simulation.py +++ /dev/null @@ -1,17 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim import abm # register injectables - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_mtc/test/simulation.py b/activitysim/examples/example_mtc/test/simulation.py deleted file mode 100755 index ec6a1181b1..0000000000 --- a/activitysim/examples/example_mtc/test/simulation.py +++ /dev/null @@ -1,15 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_mtc/test/test_mtc.py b/activitysim/examples/example_mtc/test/test_mtc.py deleted file mode 100644 index a81c439cbd..0000000000 --- a/activitysim/examples/example_mtc/test/test_mtc.py +++ /dev/null @@ -1,69 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def run_test_mtc(multiprocess=False, chunkless=False): - - def example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_trips.csv')) - final_trips_df = pd.read_csv(test_path('output/final_trips.csv')) - - # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, - # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum - # compare_cols = [] - pdt.assert_frame_equal(final_trips_df, regress_trips_df) - - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - if multiprocess: - run_args = ['-c', test_path('configs_mp'), '-c', example_path('configs_mp'), '-c', example_path('configs'), - '-d', example_path('data'), '-o', test_path('output')] - elif chunkless: - run_args = ['-c', test_path('configs_chunkless'), '-c', example_path('configs'), - '-d', example_path('data'), '-o', test_path('output')] - else: - run_args = ['-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), '-o', test_path('output')] - - subprocess.run(['coverage', 'run', '-a', file_path] + run_args, check=True) - - regress() - - -def test_mtc(): - run_test_mtc(multiprocess=False) - - -def test_mtc_chunkless(): - run_test_mtc(multiprocess=False, chunkless=True) - - -def test_mtc_mp(): - run_test_mtc(multiprocess=True) - - -if __name__ == '__main__': - - run_test_mtc(multiprocess=False) - run_test_mtc(multiprocess=True) - run_test_mtc(multiprocess=False, chunkless=True) diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/network_los.yaml b/activitysim/examples/example_multiple_zone/configs_3_zone/network_los.yaml deleted file mode 100644 index a4a250a53a..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/network_los.yaml +++ /dev/null @@ -1,157 +0,0 @@ -inherit_settings: True - -zone_system: 3 - -skim_dict_factory: NumpyArraySkimFactory -#skim_dict_factory: MemMapSkimFactory - -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -read_skim_cache: True -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -write_skim_cache: True - -# rebuild and overwrite existing tap_tap_utilities cache -rebuild_tvpb_cache: True - -# write a csv version of tvpb cache for tracing when checkpointing cache. -# (writes csv file when writing/checkpointing cache i.e. when cached changed) -# (n.b. csv file could be quite large if cache is STATIC!) -trace_tvpb_cache_as_csv: False - -taz_skims: taz_skims.omx - -# we require that skims for all tap_tap sets have unique names -# and can therefor share a single skim_dict without name collision -# e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM -tap_skims: tap_skims.omx - -maz: maz.csv - -tap: tap.csv - -maz_to_maz: - tables: - - maz_to_maz_walk.csv - - maz_to_maz_bike.csv - - # maz_to_maz blending distance (missing or 0 means no blending) - max_blend_distance: - DIST: 5 - # blend distance of 0 means no blending - DISTBIKE: 0 - DISTWALK: 1 - - # missing means use the skim value itself rather than DIST skim (e.g. DISTBIKE) - blend_distance_skim_name: DIST - -maz_to_tap: - walk: - table: maz_to_tap_walk.csv - drive: - table: maz_to_tap_drive.csv - - -skim_time_periods: - time_window: 1440 - period_minutes: 60 - periods: [0, 6, 11, 16, 20, 24] - labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] - -demographic_segments: &demographic_segments - - &low_income_segment_id 0 - - &high_income_segment_id 1 - -# transit virtual path builder settings -TVPB_SETTINGS: - - tour_mode_choice: - units: utility - path_types: - WTW: - access: walk - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - DTW: - access: drive - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - WTD: - access: walk - egress: drive - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - tap_tap_settings: - SPEC: tvpb_utility_tap_tap.csv - PREPROCESSOR: - SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv - DF: df - # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files - attribute_segments: - demographic_segment: *demographic_segments - tod: *skim_time_period_labels - access_mode: ['drive', 'walk'] - attributes_as_columns: - - demographic_segment - - tod - maz_tap_settings: - walk: - SPEC: tvpb_utility_walk_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - walk_time - drive: - SPEC: tvpb_utility_drive_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - drive_time - - DIST - CONSTANTS: - C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id - C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id - TVPB_demographic_segments_by_income_segment: - 1: *low_income_segment_id - 2: *low_income_segment_id - 3: *high_income_segment_id - 4: *high_income_segment_id - c_ivt_high_income: -0.028 - c_ivt_low_income: -0.0175 - c_cost_high_income: -0.00112 - c_cost_low_income: -0.00112 - c_wait: 1.5 - c_walk: 1.7 - c_drive: 1.5 - c_auto_operating_cost_per_mile: 18.29 - C_UNAVAILABLE: -999 - C_FASTEST_IVT_MULTIPLIER: 2 - C_FASTEST_COST_MULTIPLIER: 1 - C_CHEAPEST_IVT_MULTIPLIER: 1 - C_CHEAPEST_COST_MULTIPLIER: 500 - C_SHORTEST_IVT_MULTIPLIER: 1 - C_SHORTEST_COST_MULTIPLIER: 1 - C_SHORTEST_DIST_MULTIPLIER: 1 - # illustrate using access mode in tat-tap expressions files - C_DRIVE_TRANSFER_PENALTY: -1 - - accessibility: - units: time - path_types: - WTW: - access: walk - egress: walk - max_paths_across_tap_sets: 1 - max_paths_per_tap_set: 1 - tap_tap_settings: - SPEC: tvpb_accessibility_tap_tap_.csv - attributes_as_columns: - - tod - maz_tap_settings: - walk: - SPEC: tvpb_accessibility_walk_maz_tap.csv - CHOOSER_COLUMNS: - - walk_time - CONSTANTS: - out_of_vehicle_walk_time_weight: 1.5 - out_of_vehicle_wait_time_weight: 2.0 - diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.csv deleted file mode 100644 index 623001ea5b..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.csv +++ /dev/null @@ -1,189 +0,0 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,, -#,Walk,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,, -util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,, -#,Bike,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,, -util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,, -#,Walk to Local,,,,,,,,,,,,,, -#util_WALK_TRANSIT_Unavailable,WALK_TRANSIT - Unavailable,walk_transit_available == False,,,,,,,,,-999,,,, -util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,"@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW']",,,,,,,,,coef_one,,,, -util_WALK_TRANSIT_Destination_zone_densityIndex,WALK_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,, -util_WALK_TRANSIT_Topology,WALK_TRANSIT - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,, -util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,, -#,Drive to Local,,,,,,,,,,,,,, -#util_DRIVE_TRANSIT_Unavailable,DRIVE_TRANSIT - Unavailable,drive_transit_available == False,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,"@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD']",,,,,,,,,,coef_one,,, -util_DRIVE_TRANSIT_Destination_zone_densityIndex,DRIVE_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,, -util_DRIVE_TRANSIT_Topology,DRIVE_TRANSIT - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,, -util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_age010_trn_multiplier,,, -#,Taxi,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,coef_ivt,, -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt -#,indiv tour ASCs,,,,,,,,,,,,,, -util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,, -util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,, -util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,walk_ASC_auto_sufficient,,,,,, -util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,, -util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,, -util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,bike_ASC_auto_sufficient,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,, -util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,, -util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,, -util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,, -util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,,,, -util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,,,, -util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,walk_transit_ASC_auto_sufficient,,,, -util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,drive_transit_ASC_no_auto,,, -util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,drive_transit_ASC_auto_deficient,,, -util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,drive_transit_ASC_auto_sufficient,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,taxi_ASC_no_auto,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,taxi_ASC_auto_deficient,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,taxi_ASC_auto_sufficient,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,tnc_single_ASC_no_auto, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,tnc_single_ASC_auto_deficient, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,tnc_single_ASC_auto_sufficient, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,tnc_shared_ASC_no_auto -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,tnc_shared_ASC_auto_deficient -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient -#,joint tour ASCs,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,, -util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,, -util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,, -util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,, -util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,, -util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,, -util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,, -util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,, -util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,, -util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,,,, -util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,,,, -util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,,,, -util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,joint_drive_transit_ASC_no_auto,,, -util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,joint_drive_transit_ASC_auto_deficient,,, -util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,joint_taxi_ASC_no_auto,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,joint_taxi_ASC_auto_deficient,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,joint_tnc_single_ASC_no_auto, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient -util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,local_bus_ASC,,, -#util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, -#util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, -#util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, -#util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, -#util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, -#util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, -#util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, -util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,,,, -util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,drive_transit_CBD_ASC,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,coef_ivt,,, -#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,, -util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,, -#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,,, diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.yaml b/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.yaml deleted file mode 100644 index 09c7469555..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.yaml +++ /dev/null @@ -1,186 +0,0 @@ -LOGIT_TYPE: NL -#LOGIT_TYPE: MNL - -tvpb_mode_path_types: - DRIVE_TRANSIT: - od: DTW - do: WTD - WALK_TRANSIT: - od: WTW - do: WTW - -NESTS: - name: root - coefficient: coef_nest_root - alternatives: - - name: AUTO - coefficient: coef_nest_AUTO - alternatives: - - name: DRIVEALONE - coefficient: coef_nest_AUTO_DRIVEALONE - alternatives: - - DRIVEALONEFREE - - DRIVEALONEPAY - - name: SHAREDRIDE2 - coefficient: coef_nest_AUTO_SHAREDRIDE2 - alternatives: - - SHARED2FREE - - SHARED2PAY - - name: SHAREDRIDE3 - coefficient: coef_nest_AUTO_SHAREDRIDE3 - alternatives: - - SHARED3FREE - - SHARED3PAY - - name: NONMOTORIZED - coefficient: coef_nest_NONMOTORIZED - alternatives: - - WALK - - BIKE - - name: TRANSIT - coefficient: coef_nest_TRANSIT - alternatives: - - WALK_TRANSIT - - DRIVE_TRANSIT - - name: RIDEHAIL - coefficient: coef_nest_RIDEHAIL - alternatives: - - TAXI - - TNC_SINGLE - - TNC_SHARED - -SPEC: tour_mode_choice.csv -COEFFICIENTS: tour_mode_choice_coefficients.csv -COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv - -CONSTANTS: - #valueOfTime: 8.00 - costPerMile: 18.29 - costShareSr2: 1.75 - costShareSr3: 2.50 - waitThresh: 10.00 - walkThresh: 1.50 - shortWalk: 0.333 - longWalk: 0.667 - walkSpeed: 3.00 - bikeThresh: 6.00 - bikeSpeed: 12.00 - maxCbdAreaTypeThresh: 2 - indivTour: 1.00000 - upperEA: 5 - upperAM: 10 - upperMD: 15 - upperPM: 19 - # RIDEHAIL Settings - Taxi_baseFare: 2.20 - Taxi_costPerMile: 2.30 - Taxi_costPerMinute: 0.10 - Taxi_waitTime_mean: - 1: 5.5 - 2: 9.5 - 3: 13.3 - 4: 17.3 - 5: 26.5 - Taxi_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_single_baseFare: 2.20 - TNC_single_costPerMile: 1.33 - TNC_single_costPerMinute: 0.24 - TNC_single_costMinimum: 7.20 - TNC_single_waitTime_mean: - 1: 3.0 - 2: 6.3 - 3: 8.4 - 4: 8.5 - 5: 10.3 - TNC_single_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_shared_baseFare: 2.20 - TNC_shared_costPerMile: 0.53 - TNC_shared_costPerMinute: 0.10 - TNC_shared_costMinimum: 3.00 - TNC_shared_IVTFactor: 1.5 - TNC_shared_waitTime_mean: - 1: 5.0 - 2: 8.0 - 3: 11.0 - 4: 15.0 - 5: 15.0 - TNC_shared_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - min_waitTime: 0 - max_waitTime: 50 - - ivt_cost_multiplier: 0.6 - ivt_lrt_multiplier: 0.9 - ivt_ferry_multiplier: 0.8 - ivt_exp_multiplier: 1 - ivt_hvy_multiplier: 0.8 - ivt_com_multiplier: 0.7 - walktimeshort_multiplier: 2 - walktimelong_multiplier: 10 - biketimeshort_multiplier: 4 - biketimelong_multiplier: 20 - short_i_wait_multiplier: 2 - long_i_wait_multiplier: 1 - wacc_multiplier: 2 - wegr_multiplier: 2 - waux_multiplier: 2 - dtim_multiplier: 2 - xwait_multiplier: 2 - dacc_ratio: 0 - xfers_wlk_multiplier: 10 - xfers_drv_multiplier: 20 - drvtrn_distpen_0_multiplier: 270 - drvtrn_distpen_max: 15 - density_index_multiplier: -0.2 -# joint_sr2_ASC_no_auto: 0 -# joint_sr2_ASC_auto_deficient: 0 -# joint_sr2_ASC_auto_sufficient: 0 -# joint_drive_transit_ASC_no_auto: 0 - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - - tours - -nontour_preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - -# to reduce memory needs filter chooser table to these fields -LOGSUM_CHOOSER_COLUMNS: - - tour_type - - hhsize - - density_index - - age - - age_16_p - - age_16_to_19 - - auto_ownership - - number_of_participants - - tour_category - - num_workers - - value_of_time - - free_parking_at_work - - income_segment - - demographic_segment - - c_ivt_for_segment - - c_cost_for_segment - -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice.csv deleted file mode 100644 index 390b966d90..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice.csv +++ /dev/null @@ -1,195 +0,0 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,, -#,Walk,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,, -util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,, -#,Bike,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,, -util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,, -#,Walk to Transit,,,,,,,,,,,,,, -#util_WALK_TRANSIT_Unavailable,WALK_TRANSIT - Unavailable,walk_transit_available == False,,,,,,,,,-999,,,, -util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'],,,,,,,,,coef_one,,,, -util_WALK_TRANSIT_Destination_zone_densityIndex,WALK_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,, -util_WALK_TRANSIT_Topology,WALK_TRANSIT - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,, -util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,, -#,Drive to Transit,,,,,,,,,,,,,, -#util_DRIVE_TRANSIT_Unavailable,DRIVE_TRANSIT - Unavailable,drive_transit_available == False,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'],,,,,,,,,,coef_one,,, -util_DRIVE_TRANSIT_Destination_zone_densityIndex,DRIVE_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,, -util_DRIVE_TRANSIT_Topology,DRIVE_TRANSIT - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,, -util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_age010_trn,,, -#,Taxi,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,coef_ivt,, -util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,, -util_TNC_Single_In_vehipasim -cle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, -#,#TNC Shared,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt -#,,,,,,,,,,,,,,, -util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,,, -util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,,, -util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,,, -util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,, -util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,, -,#indiv tour ASCs,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,, -util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,, -util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh -util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,, -util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh -util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,, -util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh -util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh -util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,, -util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh -#util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,, -#util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,, -#util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh -#util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,, -#util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,, -#util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -#util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -#util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -#util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh -util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,, -util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,, -util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,, -util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,ride_hail_ASC_taxi,, -util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,ride_hail_ASC_tnc_single, -util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,ride_hail_ASC_tnc_shared -#,joint tour ASCs,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,, -util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,, -util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh -util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,, -util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,, -util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh -# util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh -# util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,, -# util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,, -# util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -# util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -# util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,joint_ride_hail_ASC_taxi,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared -#,#,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,, -util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,coef_ivt,coef_ivt -util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,,, -util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_drive_maz_tap.csv deleted file mode 100644 index 9d402a2976..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_drive_maz_tap.csv +++ /dev/null @@ -1,4 +0,0 @@ -Label,Description,Expression,utility -util_drive_available,walk available,@df.drive_time.isna() * C_UNAVAILABLE,1 -util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_drive * df.drive_time",1 -util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * df.DIST * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap.csv deleted file mode 100644 index afd50f1642..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap.csv +++ /dev/null @@ -1,69 +0,0 @@ -Label,Description,Expression,fastest,cheapest,shortest -# fastest,,,,, -util_transit_available_fastest,transit_available,@~df.transit_available_fastest * C_UNAVAILABLE,1,, -#,,, FIXME demonstrate that we can use path inor (access and egress modes here),, -util_bus_xfer_fastest,number of transfers,"@C_DRIVE_TRANSFER_PENALTY * (access_mode == 'drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_BOARDS_FAST')-1).clip(0)",1,, -#,,, local bus,, -util_bus_ivt_fastest,local bus in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_FAST')",1,, -util_bus_wait_fastest,local bus wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_FAST')",1,, -util_bus_xwait_fastest,local bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_FAST')",1,, -util_bus_fare_fastest,local bus fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_FAST')",1,, -##,,, commuter bus,, -#util_com_ivt_fastest,commuter bus in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_FAST')",1,, -#util_com_wait_fastest,commuter bus wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_FAST')",1,, -#util_com_xwait_fastest,commuter bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_FAST')",1,, -#util_com_fare_fastest,commuter bus fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_FAST')",1,, -##,,, express,, -#util_exp_ivt_fastest,express in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_FAST')",1,, -#util_exp_wait_fastest,express wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_FAST')",1,, -#util_exp_xwait_fastest,express bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_FAST')",1,, -#util_exp_fare_fastest,express fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_FAST')",1,, -##,,, heavy,, -#util_hvy_ivt_fastest,heavy in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_FAST')",1,, -#util_hvy_wait_fastest,heavy wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_FAST')",1,, -#util_hvy_xwait_fastest,heavy bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_FAST')",1,, -#util_hvy_fare_fastest,heavy fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_FAST')",1,, -## cheapest,,,,, -#util_transit_available_cheapest,transit_available,@~df.transit_available_cheapest * C_UNAVAILABLE,,1, -#,,,, local bus, -util_bus_ivt_cheapest,local bus in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_CHEAP')",,1 -util_bus_wait_cheapest,local bus wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_CHEAP')",,1 -util_bus_xwait_cheapest,local bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_CHEAP')",,1 -util_bus_fare_cheapest,local bus fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_CHEAP')",,1 -##,,,, commuter bus, -#util_com_ivt_cheapest,commuter bus in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_CHEAP')",,1, -#util_com_wait_cheapest,commuter bus wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_CHEAP')",,1, -#util_com_xwait_cheapest,commuter bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_CHEAP')",,1, -#util_com_fare_cheapest,commuter bus fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_CHEAP')",,1, -##,,,, express, -#util_exp_ivt_cheapest,express in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_CHEAP')",,1, -#util_exp_wait_cheapest,express wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_CHEAP')",,1, -#util_exp_xwait_cheapest,express bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_CHEAP')",,1, -#util_exp_fare_cheapest,express fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_CHEAP')",,1, -##,,,, heavy, -#util_hvy_ivt_cheapest,heavy in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_CHEAP')",,1, -#util_hvy_wait_cheapest,heavy wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_CHEAP')",,1, -#util_hvy_xwait_cheapest,heavy bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_CHEAP')",,1, -#util_hvy_fare_cheapest,heavy fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_CHEAP')",,1, -## shortest,,,,, -#util_transit_available_shortest,transit_available,@~df.transit_available_shortest * C_UNAVAILABLE,,,1 -#,,,,, local bus -util_bus_ivt_shortest,local bus in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_SHORT')",,,1 -util_bus_wait_shortest,local bus wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_SHORT')",,,1 -util_bus_xwait_shortest,local bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_SHORT')",,,1 -util_bus_fare_shortest,local bus fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_SHORT')",,,1 -##,,,,, commuter bus -#util_com_ivt_shortest,commuter bus in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_SHORT')",,,1 -#util_com_wait_shortest,commuter bus wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_SHORT')",,,1 -#util_com_xwait_shortest,commuter bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_SHORT')",,,1 -#util_com_fare_shortest,commuter bus fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_SHORT')",,,1 -##,,,,, express -#util_exp_ivt_shortest,express in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_SHORT')",,,1 -#util_exp_wait_shortest,express wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_SHORT')",,,1 -#util_exp_xwait_shortest,express bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_SHORT')",,,1 -#util_exp_fare_shortest,express fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_SHORT')",,,1 -##,,,,, heav -#util_hvy_ivt_shortest,heavy in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_SHORT')",,,1 -#util_hvy_wait_shortest,heavy wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_SHORT')",,,1 -#util_hvy_xwait_shortest,heavy bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_SHORT')",,,1 -#util_hvy_fare_shortest,heavy fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_SHORT')",,,1 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv deleted file mode 100644 index cbac046cf0..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv +++ /dev/null @@ -1,26 +0,0 @@ -Description,Target,Expression -# demographic segment,, -,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" -,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" -# fastest,, -,_bus_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_FAST')>0" -,_com_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_FAST')>0" -,_exp_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_FAST')>0" -,_hvy_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_FAST')>0" -,_lrf_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_FAST')>0" -,transit_available_fastest,_bus_available_fastest | _com_available_fastest | _exp_available_fastest | _hvy_available_fastest | _lrf_available_fastest -,not_transit_available_fastest,~transit_available_fastest -# cheapest,, -,_bus_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_CHEAP')>0" -,_com_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_CHEAP')>0" -,_exp_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_CHEAP')>0" -,_hvy_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_CHEAP')>0" -,_lrf_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_CHEAP')>0" -,transit_available_cheapest,_bus_available_cheapest | _com_available_cheapest | _exp_available_cheapest | _hvy_available_cheapest | _lrf_available_cheapest -# shortest,, -,_bus_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_SHORT')>0" -,_com_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_SHORT')>0" -,_exp_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_SHORT')>0" -,_hvy_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_SHORT')>0" -,_lrf_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_SHORT')>0" -,transit_available_shortest,_bus_available_shortest | _com_available_shortest | _exp_available_shortest | _hvy_available_shortest | _lrf_available_shortest diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_walk_maz_tap.csv deleted file mode 100644 index 69ff955b0f..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_walk_maz_tap.csv +++ /dev/null @@ -1,3 +0,0 @@ -Label,Description,Expression,utility -util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 -util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walk * df.walk_time",1 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/constants.yaml b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/constants.yaml deleted file mode 100755 index 626a0c415e..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/constants.yaml +++ /dev/null @@ -1,64 +0,0 @@ -## ActivitySim -## See full license in LICENSE.txt. - -walk_speed: 3.00 - -#HHT_NONE: 0 -#HHT_FAMILY_MARRIED: 1 -#HHT_FAMILY_MALE: 2 -#HHT_FAMILY_FEMALE: 3 -#HHT_NONFAMILY_MALE_ALONE: 4 -#HHT_NONFAMILY_MALE_NOTALONE: 5 -#HHT_NONFAMILY_FEMALE_ALONE: 6 -#HHT_NONFAMILY_FEMALE_NOTALONE: 7 - -# convenience for expression files -HHT_NONFAMILY: [4, 5, 6, 7] -HHT_FAMILY: [1, 2, 3] - -PSTUDENT_GRADE_OR_HIGH: 1 -PSTUDENT_UNIVERSITY: 2 -PSTUDENT_NOT: 3 - -GRADE_SCHOOL_MAX_AGE: 14 -GRADE_SCHOOL_MIN_AGE: 5 - -SCHOOL_SEGMENT_NONE: 0 -SCHOOL_SEGMENT_GRADE: 1 -SCHOOL_SEGMENT_HIGH: 2 -SCHOOL_SEGMENT_UNIV: 3 - -#INCOME_SEGMENT_LOW: 1 -#INCOME_SEGMENT_MED: 2 -#INCOME_SEGMENT_HIGH: 3 -#INCOME_SEGMENT_VERYHIGH: 4 - -PEMPLOY_FULL: 1 -PEMPLOY_PART: 2 -PEMPLOY_NOT: 3 -PEMPLOY_CHILD: 4 - -PTYPE_FULL: &ptype_full 1 -PTYPE_PART: &ptype_part 2 -PTYPE_UNIVERSITY: &ptype_university 3 -PTYPE_NONWORK: &ptype_nonwork 4 -PTYPE_RETIRED: &ptype_retired 5 -PTYPE_DRIVING: &ptype_driving 6 -PTYPE_SCHOOL: &ptype_school 7 -PTYPE_PRESCHOOL: &ptype_preschool 8 - -# these appear as column headers in non_mandatory_tour_frequency.csv -PTYPE_NAME: - *ptype_full: PTYPE_FULL - *ptype_part: PTYPE_PART - *ptype_university: PTYPE_UNIVERSITY - *ptype_nonwork: PTYPE_NONWORK - *ptype_retired: PTYPE_RETIRED - *ptype_driving: PTYPE_DRIVING - *ptype_school: PTYPE_SCHOOL - *ptype_preschool: PTYPE_PRESCHOOL - - -CDAP_ACTIVITY_MANDATORY: M -CDAP_ACTIVITY_NONMANDATORY: N -CDAP_ACTIVITY_HOME: H diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/logging.yaml b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/logging.yaml deleted file mode 100755 index 33b6a4b1cc..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/logging.yaml +++ /dev/null @@ -1,54 +0,0 @@ -# Config for logging -# ------------------ -# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema - -logging: - version: 1 - disable_existing_loggers: true - - - # Configuring the default (root) logger is highly recommended - root: - level: NOTSET - handlers: [console, logfile] - - loggers: - - activitysim: - level: DEBUG - handlers: [console, logfile] - propagate: false - - orca: - level: WARN - handlers: [console, logfile] - propagate: false - - handlers: - - logfile: - class: logging.FileHandler - filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] - mode: w - formatter: fileFormatter - level: NOTSET - - console: - class: logging.StreamHandler - stream: ext://sys.stdout - formatter: simpleFormatter - level: NOTSET - - formatters: - - simpleFormatter: - class: logging.Formatter - # format: '%(levelname)s - %(name)s - %(message)s' - format: '%(levelname)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - - fileFormatter: - class: logging.Formatter - format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/network_los.yaml b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/network_los.yaml deleted file mode 100755 index acb56f6791..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/network_los.yaml +++ /dev/null @@ -1,181 +0,0 @@ -inherit_settings: True - -zone_system: 3 - -skim_dict_factory: NumpyArraySkimFactory -#skim_dict_factory: MemMapSkimFactory - -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -read_skim_cache: True -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -write_skim_cache: True - -# rebuild and overwrite existing tap_tap_utilities cache -rebuild_tvpb_cache: True - - -# when checkpointing cache. also write a csv version of tvpb cache for tracing -# (writes csv file when writing/checkpointing cache (i.e. when cached changed) even if rebuild_tvpb_cache is False) -# (n.b. csv file could be quite large if cache is STATIC!) -trace_tvpb_cache_as_csv: False - -taz_skims: - - HWYSKMAM_taz_rename.omx - - HWYSKMEA_taz_rename.omx - - HWYSKMEV_taz_rename.omx - - HWYSKMMD_taz_rename.omx - - HWYSKMPM_taz_rename.omx - -tap_skims: - # we require that skims for all tap_tap sets have unique names - # and can therefor share a single skim_dict without name collision - # e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM - - transit_skims_AM_SET1_rename.omx - - transit_skims_AM_SET2_rename.omx - - transit_skims_AM_SET3_rename.omx - - transit_skims_EA_SET1_rename.omx - - transit_skims_EA_SET2_rename.omx - - transit_skims_EA_SET3_rename.omx - - transit_skims_EV_SET1_rename.omx - - transit_skims_EV_SET2_rename.omx - - transit_skims_EV_SET3_rename.omx - - transit_skims_MD_SET1_rename.omx - - transit_skims_MD_SET2_rename.omx - - transit_skims_MD_SET3_rename.omx - - transit_skims_PM_SET1_rename.omx - - transit_skims_PM_SET2_rename.omx - - transit_skims_PM_SET3_rename.omx - - -# FIXME why no taz.csv? -# tas: taz.csv - -maz: maz_taz.csv - -tap: tap_data.csv - -tap_lines: tap_lines.csv - -maz_to_maz: - tables: - - maz_maz_walk.csv - - maz_maz_bike.csv - - # maz_to_maz blending distance (missing or 0 means no blending) - max_blend_distance: - # blend distance of 0 means no blending - WALK_DIST: 0 - BIKE_DIST: 0 - - -maz_to_tap: - walk: - table: maz_tap_walk.csv - # if provided, this column will be used (together with tap_lines table) to trim the near tap set - # to only include the nearest tap to origin when more than one tap serves the same line - tap_line_distance_col: WALK_TRANSIT_DIST - #max_dist: 3 - drive: - table: maz_taz_tap_drive.csv - # not trimming because drive_maz_tap utility calculations take into account both drive and walk time and cost - # though some sort of trimming appears to have been done as there are not so many of these in marin data - #tap_line_distance_col: DDIST - - -skim_time_periods: - time_window: 1440 - period_minutes: 30 - periods: [0, 12, 20, 30, 38, 48] - labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] - -demographic_segments: &demographic_segments - - &low_income_segment_id 0 - - &high_income_segment_id 1 - - -# transit virtual path builder settings -TVPB_SETTINGS: - - tour_mode_choice: - units: utility - path_types: - WTW: - access: walk - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - DTW: - access: drive - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - WTD: - access: walk - egress: drive - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - tap_tap_settings: - SPEC: tvpb_utility_tap_tap.csv - PREPROCESSOR: - SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv - DF: df - # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files - attribute_segments: - demographic_segment: *demographic_segments - tod: *skim_time_period_labels - access_mode: ['drive', 'walk'] - attributes_as_columns: - - demographic_segment - - tod - - maz_tap_settings: - walk: - SPEC: tvpb_utility_walk_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - WALK_TRANSIT_DIST - drive: - SPEC: tvpb_utility_drive_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - DDIST - - DTIME - - WDIST - - CONSTANTS: - C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id - C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id - TVPB_demographic_segments_by_income_segment: - 1: *low_income_segment_id - 2: *low_income_segment_id - 3: *high_income_segment_id - 4: *high_income_segment_id - c_ivt_high_income: -0.028 - c_ivt_low_income: -0.0175 - c_cost_high_income: -0.00112 - c_cost_low_income: -0.00112 - c_auto_operating_cost_per_mile: 18.29 - # constants used in maz_tap and tap_tap utility expressions - c_drive: 1.5 - c_walk: 1.7 - c_fwt: 1.5 - c_waux: 3.677 - c_xwt: 2 - c_xfers1: 30 - c_xfers2: 45 - c_xfers3: 47.026 - # no Express bus alternative-specific constant - c_lrt_asc: -17 # LRT alternative-specific constant - c_fr_asc: -35 # FR alternative-specific constant - c_hr_asc: -22 # Heavy Rail alternative-specific constant - c_cr_asc: -15 # Commuter Rail alternative-specific constant - c_cr20_40: -20 # Commuter Rail distance 20-40 miles - c_cr40plus: -30 # Commuter Rail distance >40 miles - c_drvExpress: -26 # drive to EB constant - c_drvLRT: 2 # FIXME drive to LRT constant COULD THIS POSSIBLY BE RIGHT? - c_drvFR: -52 # drive to FR constant - c_drvHeavy: -41 # drive to HR constant - c_drvCR: -52 # drive to CR constant - #"max(IVT/Drive time - 0.3,0)",drvRatio,c_ivt* 6 - C_UNAVAILABLE: -999 - diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/settings.yaml b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/settings.yaml deleted file mode 100755 index 753b5dfbca..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/settings.yaml +++ /dev/null @@ -1,237 +0,0 @@ -inherit_settings: True - -# number of households to simulate -#households_sample_size: 200000 -households_sample_size: 500 - -#chunk_size: 4000000000 -chunk_size: 0 - -#trace_hh_id: 662398 -trace_hh_id: - -# input tables -input_table_list: - - tablename: households - filename: households_asim.csv - index_col: household_id - rename_columns: - HHID: household_id - MAZ: home_zone_id - keep_columns: - - home_zone_id - - HHINCADJ - - NWRKRS_ESR - - VEH - - NP - #- MTCCountyID - #- HHT - #- BLD - #- TYPE - - - tablename: persons - filename: persons_asim.csv - index_col: person_id - rename_columns: - HHID: household_id - PERID: person_id - keep_columns: - - AGEP - - household_id - - type - - value_of_time - - fp_choice - #- SEX - #- SCHL - #- OCCP - #- WKHP - #- WKW - #- EMPLOYED - #- ESR - #- SCHG - - - tablename: land_use - filename: maz_data_asim.csv - index_col: zone_id - rename_columns: - MAZ: zone_id - CountyID: county_id - keep_columns: - - TAZ - - DistID - - ACRES - - POP - - emp_total - - hparkcost - - TERMINALTIME - - county_id -# - level_0 -# - index -# - MAZ_ORIGINAL -# - TAZ_ORIGINAL -# - DistName -# - CountyID -# - CountyName -# - HH -# - ag -# - art_rec -# - constr -# - eat -# - ed_high -# - ed_k12 -# - ed_oth -# - fire -# - gov -# - health -# - hotel -# - info -# - lease -# - logis -# - man_bio -# - man_lgt -# - man_hvy -# - man_tech -# - natres -# - prof -# - ret_loc -# - ret_reg -# - serv_bus -# - serv_pers -# - serv_soc -# - transp -# - util -# - publicEnrollGradeKto8 -# - privateEnrollGradeKto8 -# - publicEnrollGrade9to12 -# - privateEnrollGrade9to12 -# - comm_coll_enroll -# - EnrollGradeKto8 -# - EnrollGrade9to12 -# - collegeEnroll -# - otherCollegeEnroll -# - AdultSchEnrl -# - hstallsoth -# - hstallssam -# - dstallsoth -# - dstallssam -# - mstallsoth -# - mstallssam -# - park_area -# - numfreehrs -# - dparkcost -# - mparkcost -# - ech_dist -# - hch_dist -# - parkarea -# - MAZ_X -# - MAZ_Y -# - TotInt -# - EmpDen -# - RetEmpDen -# - DUDen -# - PopDen -# - IntDenBin -# - EmpDenBin -# - DuDenBin -# - PopEmpDenPerMi -# - mgra -# - mgraParkArea -# - lsWgtAvgCostM -# - lsWgtAvgCostD -# - lsWgtAvgCostH - - - tablename: tours - filename: work_tours.csv - # index_col: - rename_columns: - hh_id: household_id - start_period: start - end_period: end - tour_id: tm2_tour_id - tour_mode: tm2_tour_mode - out_btap: tm2_out_btap - out_atap: tm2_out_atap - in_btap: tm2_in_btap - in_atap: tm2_in_atap - out_set: tm2_out_set - in_set: tm2_in_set - keep_columns: - - person_id - - household_id - - tour_category - - tour_purpose - - orig_mgra - - dest_mgra - - start - - end - # ctramp tm2 fields for validation - - tm2_tour_id # really just ordinal position in ctramp tour file, put probably will be useful for validation - - tm2_tour_mode - - tm2_out_btap - - tm2_out_atap - - tm2_in_btap - - tm2_in_atap - - tm2_out_set - - tm2_in_set -# - person_num -# - person_type -# - tour_distance -# - tour_time -# - atWork_freq -# - num_ob_stops -# - num_ib_stops - - -# set false to disable variability check in simple_simulate and interaction_simulate -check_for_variability: False - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False - -#resume_after: initialize_tvpb - -models: - - initialize_landuse - - initialize_households - - initialize_tours - # --- STATIC cache prebuild steps - # single-process step to create attribute_combination list - - initialize_los - # multi-processable step to build STATIC cache - # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) - - initialize_tvpb - # --- - - tour_mode_choice_simulate - - write_data_dictionary - - track_skim_usage - - write_tables - - write_summaries - -output_tables: - h5_store: False - action: include - prefix: final_ - # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes - sort: True - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - attribute_combinations - -output_summaries: - tours: - - tour_mode - - od_path_set - - do_path_set diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv deleted file mode 100755 index 46ba4c72fe..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv +++ /dev/null @@ -1,165 +0,0 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,, -#util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,VEH == 0,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,AGEP < 16,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['TIMEDA'] + dot_skims['TIMEDA'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTDA'] + dot_skims['DISTDA']),coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLDA'] + dot_skims['BTOLLDA']),coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.AGEP >= 16) & (df.AGEP <= 19),coef_age1619_da_multiplier,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,VEH == 0,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,AGEP < 16,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['TOLLTIMEDA'] + dot_skims['TOLLTIMEDA'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTDA'] + dot_skims['TOLLDISTDA']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLDA'] + dot_skims['TOLLBTOLLDA']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLDA'] + dot_skims['TOLLVTOLLDA']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.AGEP >= 16) & (df.AGEP <= 19),,coef_age1619_da_multiplier,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['TIMES2'] + dot_skims['TIMES2']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS2'] + dot_skims['DISTS2']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS2'] + dot_skims['BTOLLS2']) / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.NP == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.NP == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.AGEP >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.NP == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.NP == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.AGEP >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['TIMES3'] + dot_skims['TIMES3']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS3'] + dot_skims['DISTS3']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS3'] + dot_skims['BTOLLS3']) / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.NP == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.NP == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.AGEP >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['TOLLTIMES3'] + dot_skims['TOLLTIMES3']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS3'] + dot_skims['TOLLDISTS3']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS3'] + dot_skims['TOLLBTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.NP == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.NP == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.AGEP >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,, -#,Walk,,,,,,,,,,,,,, -util_WALK_Unavailable,WALK - Unavailable,walk_available == False,,,,,,,-999,,,,,, -util_WALK_Time,WALK - walk time,@(od_skims.lookup('WALK_DIST') + od_skims.reverse('WALK_DIST'))*60/walkSpeed,,,,,,,coef_ivt,,,,,, -#,Bike,,,,,,,,,,,,,, -util_BIKE_Unavailable,BIKE - Unavailable,bike_available == False,,,,,,,,-999,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, -util_BIKE_Time,BIKE - bike time,@(od_skims.lookup('BIKE_DIST') + od_skims.reverse('BIKE_DIST'))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, -#,Walk to Local,,,,,,,,,,,,,, -util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW'],,,,,,,,,coef_one,,,, -util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.AGEP <= 10),,,,,,,,,coef_age010_trn_multiplier,,,, -#,Drive to Local,,,,,,,,,,,,,, -util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,VEH == 0,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,AGEP < 16,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD'],,,,,,,,,,coef_one,,, -util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.AGEP < 10),,,,,,,,,,coef_age010_trn_multiplier,,, -#,Taxi,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,coef_ivt,, -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']),,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * Taxi_costPerMile +(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_single_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_shared_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt -#,indiv tour ASCs,,,,,,,,,,,,,, -util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,walk_ASC_no_auto,,,,,, -util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,walk_ASC_auto_deficient,,,,,, -util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,walk_ASC_auto_sufficient,,,,,, -util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,bike_ASC_no_auto,,,,, -util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,bike_ASC_auto_deficient,,,,, -util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,bike_ASC_auto_sufficient,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,, -util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,, -util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,, -util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,, -util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,walk_transit_ASC_no_auto,,,, -util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,,,, -util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,walk_transit_ASC_auto_sufficient,,,, -util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,drive_transit_ASC_no_auto,,, -util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,drive_transit_ASC_auto_deficient,,, -util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,drive_transit_ASC_auto_sufficient,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,taxi_ASC_no_auto,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,taxi_ASC_auto_deficient,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,taxi_ASC_auto_sufficient,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,tnc_single_ASC_no_auto, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,tnc_single_ASC_auto_deficient, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,tnc_single_ASC_auto_sufficient, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,,tnc_shared_ASC_no_auto -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,tnc_shared_ASC_auto_deficient -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient -#,joint tour ASCs,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,, -util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,, -util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,, -util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,, -util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,, -util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,, -util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,, -util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,, -util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,, -util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,,,, -util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,,,, -util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,,,, -util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,joint_drive_transit_ASC_no_auto,,, -util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,joint_drive_transit_ASC_auto_deficient,,, -util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,joint_taxi_ASC_no_auto,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,joint_taxi_ASC_auto_deficient,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,joint_tnc_single_ASC_no_auto, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient -#,calibration,,,,,,,,,,,,,, -util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,,,, -util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,drive_transit_CBD_ASC,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-odt_skims['DISTDA']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,coef_ivt,,, diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml deleted file mode 100755 index 3e95030d6d..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml +++ /dev/null @@ -1,188 +0,0 @@ -LOGIT_TYPE: NL -#LOGIT_TYPE: MNL - -tvpb_mode_path_types: - DRIVE_TRANSIT: - od: DTW - do: WTD - WALK_TRANSIT: - od: WTW - do: WTW - -NESTS: - name: root - coefficient: coef_nest_root - alternatives: - - name: AUTO - coefficient: coef_nest_AUTO - alternatives: - - name: DRIVEALONE - coefficient: coef_nest_AUTO_DRIVEALONE - alternatives: - - DRIVEALONEFREE - - DRIVEALONEPAY - - name: SHAREDRIDE2 - coefficient: coef_nest_AUTO_SHAREDRIDE2 - alternatives: - - SHARED2FREE - - SHARED2PAY - - name: SHAREDRIDE3 - coefficient: coef_nest_AUTO_SHAREDRIDE3 - alternatives: - - SHARED3FREE - - SHARED3PAY - - name: NONMOTORIZED - coefficient: coef_nest_NONMOTORIZED - alternatives: - - WALK - - BIKE - - name: TRANSIT - coefficient: coef_nest_TRANSIT - alternatives: - - WALK_TRANSIT - - DRIVE_TRANSIT - - name: RIDEHAIL - coefficient: coef_nest_RIDEHAIL - alternatives: - - TAXI - - TNC_SINGLE - - TNC_SHARED - -SPEC: tour_mode_choice.csv -COEFFICIENTS: tour_mode_choice_coeffs.csv -COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv - -CONSTANTS: - #valueOfTime: 8.00 - costPerMile: 18.29 - costShareSr2: 1.75 - costShareSr3: 2.50 -# waitThresh: 10.00 - walkThresh: 3.0 -# shortWalk: 0.333 -# longWalk: 0.667 - walkSpeed: 3.00 - bikeThresh: 12.00 - bikeSpeed: 12.00 -# maxCbdAreaTypeThresh: 2 -# indivTour: 1.00000 -# upperEA: 5 -# upperAM: 10 -# upperMD: 15 -# upperPM: 19 - # RIDEHAIL Settings - Taxi_baseFare: 2.20 - Taxi_costPerMile: 2.30 - Taxi_costPerMinute: 0.10 - Taxi_waitTime_mean: - 1: 5.5 - 2: 9.5 - 3: 13.3 - 4: 17.3 - 5: 26.5 - Taxi_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_single_baseFare: 2.20 - TNC_single_costPerMile: 1.33 - TNC_single_costPerMinute: 0.24 - TNC_single_costMinimum: 7.20 - TNC_single_waitTime_mean: - 1: 3.0 - 2: 6.3 - 3: 8.4 - 4: 8.5 - 5: 10.3 - TNC_single_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_shared_baseFare: 2.20 - TNC_shared_costPerMile: 0.53 - TNC_shared_costPerMinute: 0.10 - TNC_shared_costMinimum: 3.00 - TNC_shared_IVTFactor: 1.5 - TNC_shared_waitTime_mean: - 1: 5.0 - 2: 8.0 - 3: 11.0 - 4: 15.0 - 5: 15.0 - TNC_shared_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - min_waitTime: 0 - max_waitTime: 50 -# - ivt_cost_multiplier: 0.6 -# ivt_lrt_multiplier: 0.9 -# ivt_ferry_multiplier: 0.8 -# ivt_exp_multiplier: 1 -# ivt_hvy_multiplier: 0.8 -# ivt_com_multiplier: 0.7 - walktimeshort_multiplier: 2 -# walktimelong_multiplier: 10 -# biketimeshort_multiplier: 4 -# biketimelong_multiplier: 20 -# short_i_wait_multiplier: 2 -# long_i_wait_multiplier: 1 -# wacc_multiplier: 2 -# wegr_multiplier: 2 -# waux_multiplier: 2 -# dtim_multiplier: 2 -# xwait_multiplier: 2 -# dacc_ratio: 0 -# xfers_wlk_multiplier: 10 -# xfers_drv_multiplier: 20 - drvtrn_distpen_0_multiplier: 270 - drvtrn_distpen_max: 15 -# density_index_multiplier: -0.2 - joint_sr2_ASC_no_auto: 0 - joint_sr2_ASC_auto_deficient: 0 - joint_sr2_ASC_auto_sufficient: 0 - joint_drive_transit_ASC_no_auto: 0 - c_auto_operating_cost_per_mile: 18.29 - - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - - tours - -nontour_preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - -# to reduce memory needs filter chooser table to these fields -LOGSUM_CHOOSER_COLUMNS: - - tour_type - - hhsize - - density_index - - age - - age_16_p - - age_16_to_19 - - auto_ownership - - number_of_participants - - tour_category - - num_workers - - value_of_time - - free_parking_at_work - - income_segment - - demographic_segment - - c_ivt_for_segment - - c_cost_for_segment - -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv deleted file mode 100755 index 5aca337e40..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv +++ /dev/null @@ -1,75 +0,0 @@ -Description,Target,Expression, -#,,, -,number_of_participants,1, -,is_joint,False, -#,,, -,_HAVE_PARENT_TOURS,False, -,_parent_tour_mode,False, -,work_tour_is_drive,False, -,work_tour_is_bike,False, -,work_tour_is_SOV,False, -#,,, -,is_mandatory,True, -,is_joint,False, -,is_indiv,~is_joint, -,is_atwork_subtour,False, -,is_escort,False, -#,,, -income_in_thousands,income_in_thousands,(df.HHINCADJ / 1000).clip(lower=0), -income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)", -,demographic_segment,income_segment.map(TVPB_demographic_segments_by_income_segment), -#,c_ivt_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)", -#,c_cost_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)", -#,,, -#,c_cost,(0.60 * c_ivt) / df.value_of_time, -# ivot * (c_ivt_cost_multiplier * c_ivt),,, -,ivot,1.0 / df.value_of_time, -# RIDEHAIL,,, -,origin_density_measure,"(reindex(land_use.POP, df[orig_col_name]) + reindex(land_use.emp_total, df[orig_col_name])) / (reindex(land_use.ACRES, df[orig_col_name]) / 640)", -,dest_density_measure,"(reindex(land_use.POP, df[dest_col_name]) + reindex(land_use.emp_total, df[dest_col_name])) / (reindex(land_use.ACRES, df[dest_col_name]) / 640)", -,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", -,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", -,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", -,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", -,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", -,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", -# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from -,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", -,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", -,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", -,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", -,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", -,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", -,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", -,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", -,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime, -,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime, -,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime, -#,,, -,_free_parking_available,(df.tour_type == 'work') & (df.fp_choice == 1), -,_dest_hourly_peak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", -,_dest_hourly_offpeak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", -,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)", -,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)", -just hourly instead of times duration for now,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost, _hourly_offpeak_parking_cost)", -#,,, -,distance,(odt_skims['DISTDA']), -,sov_available,(odt_skims['TIMEDA']>0) & (dot_skims['TIMEDA']>0), -,sovtoll_available,(odt_skims['TOLLVTOLLDA']>0) | (dot_skims['TOLLVTOLLDA']>0), -,hov2_available,(odt_skims['TIMES2'] + dot_skims['TIMES2'])>0, -,hov2toll_available,(odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2'])>0, -,hov3_available,(odt_skims['TIMES3']>0) & (dot_skims['TIMES3']>0), -,hov3toll_available,(odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3'])>0, -,walk_available,"od_skims.lookup('WALK_DIST').between(0, walkThresh) & od_skims.reverse('WALK_DIST').between(0, walkThresh)", -,bike_available,"od_skims.lookup('BIKE_DIST').between(0, bikeThresh) & od_skims.reverse('BIKE_DIST').between(0, bikeThresh)", -#,,, -#,,,FIXME - this is probably wrong - that is all of Marin -destination district,destination_in_cbd,"reindex(land_use.DistID, df[dest_col_name])==22", -# diagnostic,,, -#,sov_dist_roundtrip,(odt_skims['DISTDA'] + dot_skims['DISTDA']), diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv deleted file mode 100755 index c5d9a264a2..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv +++ /dev/null @@ -1,308 +0,0 @@ -coefficient_name,value,constrain -coef_one,1,T -coef_nest_root,1.00,T -coef_nest_AUTO,0.72,T -coef_nest_AUTO_DRIVEALONE,0.35,T -coef_nest_AUTO_SHAREDRIDE2,0.35,T -coef_nest_AUTO_SHAREDRIDE3,0.35,T -coef_nest_NONMOTORIZED,0.72,T -coef_nest_TRANSIT,0.72,T -coef_nest_TRANSIT_WALKACCESS,0.5,T -coef_nest_TRANSIT_DRIVEACCESS,0.5,T -coef_nest_RIDEHAIL,0.36,T -coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F -coef_ivt_school_univ,-0.0224,F -coef_ivt_work,-0.0134,F -coef_ivt_atwork,-0.0188,F -coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F -coef_topology_walk_multiplier_atwork,7.5,F -coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F -coef_topology_bike_multiplier_atwork,10,F -coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F -coef_topology_trn_multiplier_atwork,2,F -coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age1619_da_multiplier_school_univ,-1.3813,F -coef_age1619_da_multiplier_atwork,0.0032336,F -coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age010_trn_multiplier_school_univ,-1.5548,F -coef_age010_trn_multiplier_atwork,0.000722,F -coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F -coef_age16p_sr_multiplier_school_univ_work_atwork,0,F -coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F -coef_hhsize1_sr_multiplier_work,-0.734588,F -coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F -coef_hhsize2_sr_multiplier_school_univ,-0.6359,F -walk_ASC_no_auto_eatout,5.1251173,F -walk_ASC_no_auto_escort,2.8012068,F -walk_ASC_no_auto_othdiscr,3.2665946,F -walk_ASC_no_auto_othmaint,1.287299,F -walk_ASC_no_auto_school,18.414557,F -walk_ASC_no_auto_shopping,2.3768773,F -walk_ASC_no_auto_social,1.8680915,F -walk_ASC_no_auto_univ,6.408967,F -walk_ASC_no_auto_work,5.7672157,F -walk_ASC_no_auto_atwork,6.669213,F -walk_ASC_auto_deficient_eatout,3.274605,F -walk_ASC_auto_deficient_escort,-0.90204656,F -walk_ASC_auto_deficient_othdiscr,2.2494075,F -walk_ASC_auto_deficient_othmaint,1.3690404,F -walk_ASC_auto_deficient_school,3.2573624,F -walk_ASC_auto_deficient_shopping,2.2701733,F -walk_ASC_auto_deficient_social,2.870184,F -walk_ASC_auto_deficient_univ,4.50591,F -walk_ASC_auto_deficient_work,2.4010417,F -walk_ASC_auto_deficient_atwork,0.92546093,F -walk_ASC_auto_sufficient_eatout,1.5516903,F -walk_ASC_auto_sufficient_escort,-0.8116066,F -walk_ASC_auto_sufficient_othdiscr,1.2633476,F -walk_ASC_auto_sufficient_othmaint,0.7999634,F -walk_ASC_auto_sufficient_school,0.6476856,F -walk_ASC_auto_sufficient_shopping,0.7312663,F -walk_ASC_auto_sufficient_social,1.7072186,F -walk_ASC_auto_sufficient_univ,1.0607665,F -walk_ASC_auto_sufficient_work,0.053265337,F -walk_ASC_auto_sufficient_atwork,0.677216,F -bike_ASC_no_auto_eatout,0.86807096,F -bike_ASC_no_auto_escort,-0.716212,F -bike_ASC_no_auto_othdiscr,-0.3764232,F -bike_ASC_no_auto_othmaint,1.5394334,F -bike_ASC_no_auto_school,12.098735,F -bike_ASC_no_auto_shopping,0.8341555,F -bike_ASC_no_auto_social,0.02058321,F -bike_ASC_no_auto_univ,4.2945156,F -bike_ASC_no_auto_work,3.1940088,F -bike_ASC_no_auto_atwork,-0.90725845,F -bike_ASC_auto_deficient_eatout,-1.5691106,F -bike_ASC_auto_deficient_escort,-4.527928,F -bike_ASC_auto_deficient_othdiscr,-0.09246834,F -bike_ASC_auto_deficient_othmaint,-1.5184649,F -bike_ASC_auto_deficient_school,-0.5280678,F -bike_ASC_auto_deficient_shopping,-0.87584466,F -bike_ASC_auto_deficient_social,0.6345214,F -bike_ASC_auto_deficient_univ,-0.669235,F -bike_ASC_auto_deficient_work,0.25318968,F -bike_ASC_auto_deficient_atwork,-0.8074083,F -bike_ASC_auto_sufficient_eatout,-1.2003471,F -bike_ASC_auto_sufficient_escort,-5.0631084,F -bike_ASC_auto_sufficient_othdiscr,-1.0714597,F -bike_ASC_auto_sufficient_othmaint,-2.8083024,F -bike_ASC_auto_sufficient_school,-2.1134686,F -bike_ASC_auto_sufficient_shopping,-2.5662103,F -bike_ASC_auto_sufficient_social,-1.368071,F -bike_ASC_auto_sufficient_univ,-1.9397832,F -bike_ASC_auto_sufficient_work,-1.5800232,F -bike_ASC_auto_sufficient_atwork,15.72017,F -sr2_ASC_no_auto_all,0,F -sr2_ASC_auto_deficient_eatout,0.5882345,F -sr2_ASC_auto_deficient_escort,0,F -sr2_ASC_auto_deficient_othdiscr,0.6601513,F -sr2_ASC_auto_deficient_othmaint,0.2621527,F -sr2_ASC_auto_deficient_school,0.12474365,F -sr2_ASC_auto_deficient_shopping,0.24409756,F -sr2_ASC_auto_deficient_social,1.8558528,F -sr2_ASC_auto_deficient_univ,-1.6922346,F -sr2_ASC_auto_deficient_work,-0.33803123,F -sr2_ASC_auto_deficient_atwork,-2.1102421,F -sr2_ASC_auto_sufficient_eatout,0.86280555,F -sr2_ASC_auto_sufficient_escort,0,F -sr2_ASC_auto_sufficient_othdiscr,0.49684617,F -sr2_ASC_auto_sufficient_othmaint,0.25817883,F -sr2_ASC_auto_sufficient_school,-1.6062657,F -sr2_ASC_auto_sufficient_shopping,0.19770707,F -sr2_ASC_auto_sufficient_social,0.5236025,F -sr2_ASC_auto_sufficient_univ,-1.859427,F -sr2_ASC_auto_sufficient_work,-1.0857458,F -sr2_ASC_auto_sufficient_atwork,-1.4450618,F -sr3p_ASC_no_auto_eatout,0.3219998,F -sr3p_ASC_no_auto_escort,-1.8129267,F -sr3p_ASC_no_auto_othdiscr,0.27216902,F -sr3p_ASC_no_auto_othmaint,-0.8031854,F -sr3p_ASC_no_auto_school,-6.0240827,F -sr3p_ASC_no_auto_shopping,-0.27978948,F -sr3p_ASC_no_auto_social,-1.4036902,F -sr3p_ASC_no_auto_univ,-6.056001,F -sr3p_ASC_no_auto_work,-0.5831269,F -sr3p_ASC_no_auto_atwork,0.5826626,F -sr3p_ASC_auto_deficient_eatout,0.04605236,F -sr3p_ASC_auto_deficient_escort,-0.40818766,F -sr3p_ASC_auto_deficient_othdiscr,1.0470966,F -sr3p_ASC_auto_deficient_othmaint,-1.3493925,F -sr3p_ASC_auto_deficient_school,0.7149571,F -sr3p_ASC_auto_deficient_shopping,-0.073370166,F -sr3p_ASC_auto_deficient_social,1.5007243,F -sr3p_ASC_auto_deficient_univ,-1.7277422,F -sr3p_ASC_auto_deficient_work,-0.8527042,F -sr3p_ASC_auto_deficient_atwork,-2.514658,F -sr3p_ASC_auto_sufficient_eatout,0.8468596,F -sr3p_ASC_auto_sufficient_escort,-0.05741253,F -sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F -sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F -sr3p_ASC_auto_sufficient_school,-1.0201935,F -sr3p_ASC_auto_sufficient_shopping,-0.077571295,F -sr3p_ASC_auto_sufficient_social,0.50617886,F -sr3p_ASC_auto_sufficient_univ,-1.9047098,F -sr3p_ASC_auto_sufficient_work,-1.4699702,F -sr3p_ASC_auto_sufficient_atwork,-1.652174,F -walk_transit_ASC_no_auto_eatout,2.5936368,F -walk_transit_ASC_no_auto_escort,-2.2172081,F -walk_transit_ASC_no_auto_othdiscr,2.2437785,F -walk_transit_ASC_no_auto_othmaint,2.5643456,F -walk_transit_ASC_no_auto_school,21.383749,F -walk_transit_ASC_no_auto_shopping,2.1067476,F -walk_transit_ASC_no_auto_social,1.3814651,F -walk_transit_ASC_no_auto_univ,8.786037,F -walk_transit_ASC_no_auto_work,5.0354166,F -walk_transit_ASC_no_auto_atwork,2.7041876,F -walk_transit_ASC_auto_deficient_eatout,-0.03896324,F -walk_transit_ASC_auto_deficient_escort,-4.960704,F -walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F -walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F -walk_transit_ASC_auto_deficient_school,4.120708,F -walk_transit_ASC_auto_deficient_shopping,-0.8476569,F -walk_transit_ASC_auto_deficient_social,0.97444487,F -walk_transit_ASC_auto_deficient_univ,3.1362555,F -walk_transit_ASC_auto_deficient_work,0.65302855,F -walk_transit_ASC_auto_deficient_atwork,-2.9988291,F -walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F -walk_transit_ASC_auto_sufficient_escort,-4.934847,F -walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F -walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F -walk_transit_ASC_auto_sufficient_school,0.74590874,F -walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F -walk_transit_ASC_auto_sufficient_social,-0.3453759,F -walk_transit_ASC_auto_sufficient_univ,0.4731163,F -walk_transit_ASC_auto_sufficient_work,-0.8916507,F -walk_transit_ASC_auto_sufficient_atwork,-3.401027,F -drive_transit_ASC_no_auto_all,0,F -drive_transit_ASC_auto_deficient_eatout,0.5998061,F -drive_transit_ASC_auto_deficient_escort,-1.1537067,F -drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F -drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F -drive_transit_ASC_auto_deficient_school,5.3252654,F -drive_transit_ASC_auto_deficient_shopping,-0.41849178,F -drive_transit_ASC_auto_deficient_social,1.5627195,F -drive_transit_ASC_auto_deficient_univ,1.8501176,F -drive_transit_ASC_auto_deficient_work,0.10081567,F -drive_transit_ASC_auto_deficient_atwork,-998.8196,F -drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F -drive_transit_ASC_auto_sufficient_escort,-4.6014247,F -drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F -drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F -drive_transit_ASC_auto_sufficient_school,1.40135,F -drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F -drive_transit_ASC_auto_sufficient_social,-0.61585575,F -drive_transit_ASC_auto_sufficient_univ,1.3587753,F -drive_transit_ASC_auto_sufficient_work,-1.0045459,F -drive_transit_ASC_auto_sufficient_atwork,-999.21466,F -taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F -taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F -taxi_ASC_no_auto_school_univ,-7,T -taxi_ASC_no_auto_work,4.7291,F -taxi_ASC_no_auto_atwork,4.1021,F -taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F -taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F -taxi_ASC_auto_deficient_school,-0.3338,F -taxi_ASC_auto_deficient_univ,4.2492,F -taxi_ASC_auto_deficient_work,-1.4766,F -taxi_ASC_auto_deficient_atwork,-4.4046,F -taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F -taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F -taxi_ASC_auto_sufficient_school,-2.4294,F -taxi_ASC_auto_sufficient_univ,-0.3131,F -taxi_ASC_auto_sufficient_work,-4.8509,F -taxi_ASC_auto_sufficient_atwork,-2.8804,F -tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F -tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F -tnc_single_ASC_no_auto_school,-7,T -tnc_single_ASC_no_auto_univ,-2.519,F -tnc_single_ASC_no_auto_work,5.7855,F -tnc_single_ASC_no_auto_atwork,4.4982,F -tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F -tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F -tnc_single_ASC_auto_deficient_school,-0.5524,F -tnc_single_ASC_auto_deficient_univ,1.0221,F -tnc_single_ASC_auto_deficient_work,-0.8013,F -tnc_single_ASC_auto_deficient_atwork,-3.7626,F -tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F -tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F -tnc_single_ASC_auto_sufficient_school,-2.8375,F -tnc_single_ASC_auto_sufficient_univ,0.2088,F -tnc_single_ASC_auto_sufficient_work,-4.1946,F -tnc_single_ASC_auto_sufficient_atwork,-2.7988,F -tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F -tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F -tnc_shared_ASC_no_auto_school,-7,T -tnc_shared_ASC_no_auto_univ,-5.8116,F -tnc_shared_ASC_no_auto_work,3.2429,F -tnc_shared_ASC_no_auto_atwork,3.3672,F -tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F -tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F -tnc_shared_ASC_auto_deficient_school,-1.4746,F -tnc_shared_ASC_auto_deficient_univ,3.25,F -tnc_shared_ASC_auto_deficient_work,-2.1435,F -tnc_shared_ASC_auto_deficient_atwork,-4.5089,F -tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F -tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F -tnc_shared_ASC_auto_sufficient_school,-3.7219,F -tnc_shared_ASC_auto_sufficient_univ,-0.9068,F -tnc_shared_ASC_auto_sufficient_work,-5.3575,F -tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F -joint_walk_ASC_no_auto_all,-0.21274701,F -joint_walk_ASC_auto_deficient_all,-1.9607706,F -joint_walk_ASC_auto_sufficient_all,-3.2352157,F -joint_bike_ASC_no_auto_all,-2.8671598,F -joint_bike_ASC_auto_deficient_all,-6.076415,F -joint_bike_ASC_auto_sufficient_all,-6.3760657,F -joint_sr2_ASC_no_auto_all,0,T -joint_sr2_ASC_auto_deficient_all,0,T -joint_sr2_ASC_auto_sufficient_all,0,T -joint_sr3p_ASC_no_auto_all,0.5630671,F -joint_sr3p_ASC_auto_deficient_all,-1.8841692,F -joint_sr3p_ASC_auto_sufficient_all,-2.234826,F -joint_walk_transit_ASC_no_auto_all,0.62292415,F -joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F -joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F -joint_drive_transit_ASC_no_auto_all,0,T -joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F -joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F -joint_taxi_ASC_no_auto_all,-4.5792,F -joint_taxi_ASC_auto_deficient_all,-9.8157,F -joint_taxi_ASC_auto_sufficient_all,-11.7099,T -joint_tnc_single_ASC_no_auto_all,-4.4917,F -joint_tnc_single_ASC_auto_deficient_all,-9.8961,F -joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T -joint_tnc_shared_ASC_no_auto_all,-4.3002,F -joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F -joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T -local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F -local_bus_ASC_school_univ,-0.06508621,F -local_bus_ASC_work,0.06689507,F -walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -walk_light_rail_ASC_school_univ,1.6814003,F -walk_light_rail_ASC_work,0.8255567,F -drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -drive_light_rail_ASC_school_univ,1.6814003,F -drive_light_rail_ASC_work,0.8255567,F -walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -walk_ferry_ASC_school_univ,2.0202317,F -walk_ferry_ASC_work,0.93322605,F -drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -drive_ferry_ASC_school_univ,2.0202317,F -drive_ferry_ASC_work,0.93322605,F -express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F -express_bus_ASC_school_univ,0.32496938,F -express_bus_ASC_work,-0.5165474,F -heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F -heavy_rail_ASC_school_univ,0.96200377,F -heavy_rail_ASC_work,0.64772975,F -commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F -commuter_rail_ASC_school_univ,1.0336206,F -commuter_rail_ASC_work,0.725503,F -walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -walk_transit_CBD_ASC_school_univ,0.672,F -walk_transit_CBD_ASC_work,0.804,F -walk_transit_CBD_ASC_atwork,0.564,F -drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -drive_transit_CBD_ASC_school_univ,0.672,F -drive_transit_CBD_ASC_work,1.1,F -drive_transit_CBD_ASC_atwork,0.564,F diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv deleted file mode 100755 index 2e97238f2c..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv +++ /dev/null @@ -1,87 +0,0 @@ -coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork -#same for all segments,,,,,,,,,, -coef_one,,,,,,,,,, -coef_nest_root,,,,,,,,,, -coef_nest_AUTO,,,,,,,,,, -coef_nest_AUTO_DRIVEALONE,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, -coef_nest_NONMOTORIZED,,,,,,,,,, -coef_nest_TRANSIT,,,,,,,,,, -coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, -coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, -coef_nest_RIDEHAIL,,,,,,,,,, -#,,,,,,,,,, -coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork -coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork -coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork -coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork -coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork -coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork -coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork -coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork -coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork -walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork -walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork -walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork -bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork -bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork -bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork -sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all -sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork -sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork -sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork -sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork -sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork -walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork -walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork -walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork -drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all -drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork -drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork -taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork -taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork -taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork -tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork -tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork -tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork -tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork -tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork -tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork -joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all -joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all -joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all -joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all -joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all -joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all -joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all -joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all -joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all -joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all -joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all -joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all -joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all -joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all -joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all -joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all -joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all -joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all -joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all -joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all -joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all -joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all -joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all -joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all -joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all -joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all -joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all -local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork -drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv deleted file mode 100755 index a5dadfaeb3..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv +++ /dev/null @@ -1,3 +0,0 @@ -Label,Description,Expression,utility -util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_drive * (df.DTIME + (df.WDIST / 5280 / walk_speed * 60))",1 -util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * (df.DDIST + (df.WDIST / 5280)) * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv deleted file mode 100755 index 68bd560e60..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv +++ /dev/null @@ -1,85 +0,0 @@ -Label,Description,Expression,set1,set2,set3 -# Set 1,,,,, -set1_unavailable,Shut off set if unavailable,@df.not_transit_available_set1,C_UNAVAILABLE,, -set1_ivt,set In-Vehicle Time,"@~df.not_transit_available_set1 * df.c_ivt_for_segment * df.totalIVT_set1",1,, -set1_first_wait_time,First wait time,"@~df.not_transit_available_set1 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET1')",1,, -set1_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set1 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET1')",1,, -set1_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set1 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET1')",1,, -set1_fare,set Fare,"@~df.not_transit_available_set1 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET1') * 100",1,, -set1_xfers1,0-1 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers1_set1 * c_xfers1 * df.c_ivt_for_segment",1,, -set1_xfers2,1-2 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers2_set1 * c_xfers2 * df.c_ivt_for_segment",1,, -set1_sfers3,>2 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers3_set1 * c_xfers3 * df.c_ivt_for_segment",1,, -set1_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers1_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, -set1_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers2_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, -set1_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers3_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, -set1_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers1_set1 * (df.c_ivt_for_segment * 5)",1,, -set1_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers2_set1 * (df.c_ivt_for_segment * 5)",1,, -set1_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers3_set1 * (df.c_ivt_for_segment * 5)",1,, -set1_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set1 & (df.crDistance_set1>20) & (df.crDistance_set1<=40) * c_cr20_40 * df.c_ivt_for_segment",1,, -set1_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set1 & (df.crDistance_set1>40) * c_cr40plus * df.c_ivt_for_segment",1,, -set1_CR_drive,drive access to CR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvCR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, -set1_HR_drive,drive access to HR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvHeavy * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, -set1_FR_drive,drive access to FR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvFR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, -set1_LRT_drive,drive access to LRT,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvLRT * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, -set1_EB_drive,drive access to EB,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvExpress * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0)",1,, -set1_ASC_CR,ASC CR,"@~df.not_transit_available_set1 * c_cr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, -set1_ASC_HR,ASC HR,"@~df.not_transit_available_set1 * c_hr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, -set1_ASC_FR,ASC FR,"@~df.not_transit_available_set1 * c_fr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, -set1_ASC_LRT,ASC LRT,"@~df.not_transit_available_set1 * c_lrt_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, -#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set1 * premWithXfer_set1 * asc/3.0",1,, -# Set 2,,,,, -set2_unavailable,Shut off set if unavailable,"@df.not_transit_available_set2",,C_UNAVAILABLE, -set2_ivt,set In-Vehicle Time,"@~df.not_transit_available_set2 * df.c_ivt_for_segment * df.totalIVT_set2",,1, -set2_first_wait_time,First wait time,"@~df.not_transit_available_set2 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET2')",,1, -set2_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set2 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET2')",,1, -set2_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set2 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET2')",,1, -set2_fare,set Fare,"@~df.not_transit_available_set2 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET2') * 100",,1, -set2_xfers1,0-1 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers1_set2 * c_xfers1 * df.c_ivt_for_segment",,1, -set2_xfers2,1-2 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers2_set2 * c_xfers2 * df.c_ivt_for_segment",,1, -set2_sfers3,>2 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers3_set2 * c_xfers3 * df.c_ivt_for_segment",,1, -set2_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers1_set2 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",,1, -set2_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers2_set2 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",,1, -set2_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & (access_mode=='drive') & df.xfers3_set2 * (df.c_ivt_for_segment * 15)",,1, -set2_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers1_set2 * (df.c_ivt_for_segment * 5)",,1, -set2_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers2_set2 * (df.c_ivt_for_segment * 5)",,1, -set2_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers3_set2 * (df.c_ivt_for_segment * 5)",,1, -set2_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set2 & (df.crDistance_set2>20) & (df.crDistance_set2<=40) * c_cr20_40 * df.c_ivt_for_segment",,1, -set2_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set2 & (df.crDistance_set2>40) * c_cr40plus * df.c_ivt_for_segment",,1, -set2_CR_drive,drive access to CR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_drvCR * df.c_ivt_for_segment",,1, -set2_HR_drive,drive access to HR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_drvHeavy * df.c_ivt_for_segment",,1, -set2_FR_drive,drive access to FR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_drvFR * df.c_ivt_for_segment",,1, -set2_LRT_drive,drive access to LRT,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_drvLRT * df.c_ivt_for_segment",,1, -set2_EB_drive,drive access to EB,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) * c_drvExpress * df.c_ivt_for_segment",,1, -set2_ASC_CR,ASC CR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_cr_asc * df.c_ivt_for_segment",,1, -set2_ASC_HR,ASC HR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_hr_asc * df.c_ivt_for_segment",,1, -set2_ASC_FR,ASC FR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_fr_asc * df.c_ivt_for_segment",,1, -set2_ASC_LRT,ASC LRT,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_lrt_asc * df.c_ivt_for_segment",,1, -#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set2 * premWithXfer_set2 * asc/3.0",,1, -# Set 3,,,,, -set3_unavailable,Shut off set if unavailable,"@df.not_transit_available_set3",,,C_UNAVAILABLE -set3_ivt,set In-Vehicle Time,"@~df.not_transit_available_set3 * df.c_ivt_for_segment * df.totalIVT_set3",,,1 -set3_first_wait_time,First wait time,"@~df.not_transit_available_set3 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET3')",,,1 -set3_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set3 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET3')",,,1 -set3_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set3 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET3')",,,1 -set3_fare,set Fare,"@~df.not_transit_available_set3 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET3') * 100",,,1 -set3_xfers1,0-1 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers1_set3 * c_xfers1 * df.c_ivt_for_segment",,,1 -set3_xfers2,1-2 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers2_set3 * c_xfers2 * df.c_ivt_for_segment",,,1 -set3_sfers3,>2 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers3_set3 * c_xfers3 * df.c_ivt_for_segment",,,1 -set3_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers1_set3 * (df.c_ivt_for_segment * 15)",,,1 -set3_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers2_set3 * (df.c_ivt_for_segment * 15)",,,1 -set3_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers3_set3 * (df.c_ivt_for_segment * 15)",,,1 -set3_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers1_set3 * (df.c_ivt_for_segment * 5)",,,1 -set3_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers2_set3 * (df.c_ivt_for_segment * 5)",,,1 -set3_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers3_set3 * (df.c_ivt_for_segment * 5)",,,1 -set3_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set3 & (df.crDistance_set3>20) & (df.crDistance_set3<=40) * c_cr20_40 * df.c_ivt_for_segment",,,1 -set3_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set3 & (df.crDistance_set3>40) * c_cr40plus * df.c_ivt_for_segment",,,1 -set3_CR_drive,drive access to CR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_drvCR * df.c_ivt_for_segment",,,1 -set3_HR_drive,drive access to HR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_drvHeavy * df.c_ivt_for_segment",,,1 -set3_FR_drive,drive access to FR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_drvFR * df.c_ivt_for_segment",,,1 -set3_LRT_drive,drive access to LRT,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_drvLRT * df.c_ivt_for_segment",,,1 -set3_EB_drive,drive access to EB,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) * c_drvExpress* df.c_ivt_for_segment",,,1 -set3_ASC_CR,ASC CR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_cr_asc * df.c_ivt_for_segment",,,1 -set3_ASC_HR,ASC HR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_hr_asc * df.c_ivt_for_segment",,,1 -set3_ASC_FR,ASC FR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_fr_asc * df.c_ivt_for_segment",,,1 -set3_ASC_LRT,ASC LRT,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_lrt_asc * df.c_ivt_for_segment",,,1 -#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set3 * premWithXfer_set3 * asc/3.0",,,1 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv deleted file mode 100755 index ba5cbe1d30..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv +++ /dev/null @@ -1,44 +0,0 @@ -Description,Target,Expression -# time of day,,SHOULD BE PASSED IN -# demographic segment,, -,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" -,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" -# set1,, -,not_transit_available_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET1')==0" -Total IVT,totalIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') " -IVT on BART,bartIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')" -premium modes used,premiumMode_set1,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)" -only travel by BART,bartOnly_set1,bartIVT_set1 == totalIVT_set1 -Set contains only BART with Xfers,bartWithXfer_set1,"(bartIVT_set1 == totalIVT_set1) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set1,"(premiumMode_set1>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1')>0)" -Number transfers,transfers_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')" -0-1 transfers,xfers1_set1,(transfers_set1>0) & (transfers_set1 <=1) -1-2 transfers,xfers2_set1,(transfers_set1>1) & (transfers_set1 <=2) ->2 transfers,xfers3_set1,(transfers_set1>2) -Commuter Rail Distance in miles [35 mph],crDistance_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') * (35/60)" -# set2,, -,not_transit_available_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET2')==0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')==0)" -Total IVT,totalIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') " -IVT on BART,bartIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')" -premium modes used,premiumMode_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0)" -only travel by BART,bartOnly_set2,bartIVT_set2 == totalIVT_set2 -Set contains only BART with Xfers,bartWithXfer_set2,"(bartIVT_set2 == totalIVT_set2) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set2,"(premiumMode_set2>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2')>0)" -Number transfers,transfers_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')" -0-1 transfers,xfers1_set2,(transfers_set2>0) & (transfers_set2 <=1) -1-2 transfers,xfers2_set2,(transfers_set2>1) & (transfers_set2 <=2) ->2 transfers,xfers3_set2,(transfers_set2>2) -Commuter Rail Distance in miles [35 mph],crDistance_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') * (35/60)" -# set3,, -,not_transit_available_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET3')==0" -Total IVT,totalIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') " -IVT on BART,bartIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')" -premium modes used,premiumMode_set3,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0)" -only travel by BART,bartOnly_set3,bartIVT_set3 == totalIVT_set3 -Set contains only BART with Xfers,bartWithXfer_set3,"(bartIVT_set3 == totalIVT_set3) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set3,"(premiumMode_set3>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3')>0)" -Number transfers,transfers_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')" -0-1 transfers,xfers1_set3,(transfers_set3>0) & (transfers_set3 <=1) -1-2 transfers,xfers2_set3,(transfers_set3>1) & (transfers_set3 <=2) ->2 transfers,xfers3_set3,(transfers_set3>2) -Commuter Rail Distance in miles [35 mph],crDistance_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') * (35/60)" diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv deleted file mode 100755 index 64a0a71559..0000000000 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv +++ /dev/null @@ -1,4 +0,0 @@ -Label,Description,Expression,utility -#,,,FIXME column values shouldn't ever be na if different moides have different tables? -#util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 -util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walk * df.WALK_TRANSIT_DIST*(60/walk_speed)",1 diff --git a/activitysim/examples/example_multiple_zone/marin_crop.py b/activitysim/examples/example_multiple_zone/marin_crop.py deleted file mode 100644 index 26d9a53a73..0000000000 --- a/activitysim/examples/example_multiple_zone/marin_crop.py +++ /dev/null @@ -1,160 +0,0 @@ - -# crop marin tvpb example data processing to one county -# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 -# jeff doyle added code to introduce MAZ_OFFSET to avoid confusion (and detect associated errors) between zone types - -import os -import pandas as pd -import openmatrix as omx - -# counties = ["Marin" -# counties = ["San Francisco" -counties = ["Marin", "San Francisco"] - -input_dir = './data_3_marin' -output_dir = './data_3_marin/crop' -MAZ_OFFSET = 100000 - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def patch_maz(df, maz_offset): - for c in df.columns: - if c in ['MAZ', 'OMAZ', 'DMAZ', 'mgra', 'orig_mgra', 'dest_mgra']: - df[c] += maz_offset - return df - - -def read_csv(file_name): - df = pd.read_csv(input_path(file_name)) - if MAZ_OFFSET: - df = patch_maz(df, MAZ_OFFSET) - print(f"\n\n{file_name}\n{df}") - return df - - -def to_csv(df, file_name): - df.to_csv(output_path(file_name), index=False) - - -######### -# mazs = read_csv("maz_data_asim.csv") -# taps = read_csv("tap_data.csv") -# -# print(f"max maz {mazs.MAZ.max()}") -# print(f"num maz {len(mazs.MAZ.unique())}") -# print(f"num taz {len(mazs.TAZ.unique())}") -# print(f"num tap {len(taps.TAP.unique())}") -# -# num maz 5952 -# num taz 4735 -# num tap 6216 -######### - - -# 0 - get county zones - -mazs = read_csv("maz_data_asim.csv") - -mazs = mazs[mazs["CountyName"].isin(counties)] -to_csv(mazs, "maz_data_asim.csv") - -maz_taz = mazs[['MAZ', 'TAZ']] -to_csv(mazs, "maz_taz.csv") - -tazs = mazs["TAZ"].unique() -tazs.sort() -tazs_indexes = (tazs - 1).tolist() - -taps = read_csv("tap_data.csv") -taps = taps[['TAP', 'TAZ']].sort_values(by='TAP') -taps = taps[taps["TAZ"].isin(tazs)] -to_csv(taps, "tap_data.csv") - -# 1-based tap_ids -taps_indexes = (taps["TAP"] - 1).tolist() - - -# 2 - maz to tap walk, bike - -maz_tap_walk = read_csv("maz_tap_walk.csv") -maz_maz_walk = read_csv("maz_maz_walk.csv") -maz_maz_bike = read_csv("maz_maz_bike.csv") - -maz_tap_walk = maz_tap_walk[maz_tap_walk["MAZ"].isin(mazs["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"])] -maz_maz_walk = maz_maz_walk[maz_maz_walk["OMAZ"].isin(mazs["MAZ"]) & maz_maz_walk["DMAZ"].isin(mazs["MAZ"])] -maz_maz_bike = maz_maz_bike[maz_maz_bike["OMAZ"].isin(mazs["MAZ"]) & maz_maz_bike["DMAZ"].isin(mazs["MAZ"])] - -to_csv(maz_tap_walk, "maz_tap_walk.csv") -to_csv(maz_maz_walk, "maz_maz_walk.csv") -to_csv(maz_maz_bike, "maz_maz_bike.csv") - - -tap_lines = read_csv("tap_lines.csv") -tap_lines = tap_lines[tap_lines['TAP'].isin(taps["TAP"])] -to_csv(tap_lines, "tap_lines.csv") - -# taz to tap drive data - -taz_tap_drive = read_csv("maz_taz_tap_drive.csv") -taz_tap_drive = taz_tap_drive[taz_tap_drive["MAZ"].isin(mazs["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"])] -to_csv(taz_tap_drive, "maz_taz_tap_drive.csv") - - -# 3 - accessibility data - -access = read_csv("access.csv") -access = access[access["mgra"].isin(mazs["MAZ"])] -to_csv(access, "access.csv") - - -# households - -households = read_csv("households_asim.csv") -households = households[households["MAZ"].isin(mazs["MAZ"])] -to_csv(households, "households_asim.csv") - -# persons - -persons = read_csv("persons_asim.csv") -persons = persons[persons["HHID"].isin(households["HHID"])] -to_csv(persons, "persons_asim.csv") - -# tours file - -work_tours = read_csv("work_tours.csv") -work_tours = work_tours[work_tours["hh_id"].isin(households["HHID"])] -work_tours = work_tours[work_tours["orig_mgra"].isin(mazs["MAZ"]) & work_tours["dest_mgra"].isin(mazs["MAZ"])] -to_csv(work_tours, "work_tours.csv") - -# skims - -time_periods = ["AM", "EA", "EV", "MD", "PM"] -for tp in time_periods: - omx_file_name = 'HWYSKM' + tp + '_taz_rename.omx' - taz_file = omx.open_file(input_path(omx_file_name)) - taz_file_rename = omx.open_file(output_path(omx_file_name), 'w') - taz_file_rename.create_mapping('ZONE', tazs.tolist()) - for mat_name in taz_file.list_matrices(): - taz_file_rename[mat_name] = taz_file[mat_name][tazs_indexes, :][:, tazs_indexes] - print(mat_name) - taz_file.close() - taz_file_rename.close() - -for tp in time_periods: - for skim_set in ["SET1", "SET2", "SET3"]: - omx_file_name = 'transit_skims_' + tp + '_' + skim_set + '_rename.omx' - tap_file = omx.open_file(input_path(omx_file_name)) - tap_file_rename = omx.open_file(output_path(omx_file_name), 'w') - tap_file_rename.create_mapping('ZONE', taps["TAP"].tolist()) - for mat_name in tap_file.list_matrices(): - tap_file_rename[mat_name] = tap_file[mat_name][taps_indexes, :][:, taps_indexes] - print(mat_name) - tap_file.close() - tap_file_rename.close() diff --git a/activitysim/examples/example_multiple_zone/marin_fix.py b/activitysim/examples/example_multiple_zone/marin_fix.py deleted file mode 100644 index 6cc1b08d9e..0000000000 --- a/activitysim/examples/example_multiple_zone/marin_fix.py +++ /dev/null @@ -1,91 +0,0 @@ -# remove some of the asim-style columns added by marin_work_tour_mode_choice.py -# so data input files look 'realistic' - and that work is done instaed by 'import_tours' annotation expression files - -import os -import pandas as pd -import openmatrix as omx - -input_dir = './data_3_marin' -output_dir = './data_3_marin/fix' # don't overwrite - but these files shold replace 'oritinals' - - -def input_path(filenane): - return os.path.join(input_dir, filenane) - - -def output_path(filenane): - return os.path.join(output_dir, filenane) - - -# 0 - get county zones - -mazs = pd.read_csv(input_path("maz_data_asim.csv")) -del mazs['zone_id'] -del mazs['county_id'] -mazs.to_csv(output_path("maz_data_asim.csv"), index=False) - -tazs = mazs["TAZ"].unique() -tazs.sort() -assert ((tazs - 1) == range(len(tazs))).all() - -# MAZ,TAZ -taps = pd.read_csv(input_path("maz_taz.csv")) -# nothing -taps.to_csv(output_path("maz_taz.csv"), index=False) - -taps = pd.read_csv(input_path("tap_data.csv")) -# nothing -taps.to_csv(output_path("tap_data.csv"), index=False) - - -# 2 - nearby skims need headers - -maz_tap_walk = pd.read_csv(input_path("maz_tap_walk.csv")) -maz_maz_walk = pd.read_csv(input_path("maz_maz_walk.csv")) -maz_maz_bike = pd.read_csv(input_path("maz_maz_bike.csv")) - -del maz_tap_walk['TAP.1'] -del maz_maz_walk['DMAZ.1'] -del maz_maz_bike['DMAZ.1'] - -maz_tap_walk.to_csv(output_path("maz_tap_walk.csv"), index=False) -maz_maz_walk.to_csv(output_path("maz_maz_walk.csv"), index=False) -maz_maz_bike.to_csv(output_path("maz_maz_bike.csv"), index=False) - -# 3 - accessibility data - -access = pd.read_csv(input_path("access.csv")) -del access['zone_id'] -access.to_csv(output_path("access.csv"), index=False) - -# 4 - maz to tap drive data - -taz_tap_drive = pd.read_csv(input_path("maz_taz_tap_drive.csv")) - -taz_tap_drive.to_csv(output_path("maz_taz_tap_drive.csv"), index=False) - -# 5 - households - -households = pd.read_csv(input_path("households_asim.csv")) -del households['home_zone_id'] -del households['household_id'] - -households.to_csv(output_path("households_asim.csv"), index=False) - -# 6 - persons - -persons = pd.read_csv(input_path("persons_asim.csv")) -del persons['person_id'] -del persons['household_id'] -del persons['is_university'] -persons.to_csv(output_path("persons_asim.csv"), index=False) - -# 7 - tours file - -work_tours = pd.read_csv(input_path("work_tours.csv")) -del work_tours["household_id"] -del work_tours["destination"] -del work_tours["start"] -del work_tours["end"] -del work_tours["tour_type"] -work_tours.to_csv(output_path("work_tours.csv"), index=False) diff --git a/activitysim/examples/example_multiple_zone/marin_work_tour_mode_choice_data.py b/activitysim/examples/example_multiple_zone/marin_work_tour_mode_choice_data.py deleted file mode 100644 index f79e35d88e..0000000000 --- a/activitysim/examples/example_multiple_zone/marin_work_tour_mode_choice_data.py +++ /dev/null @@ -1,148 +0,0 @@ - -# marin tvpb example data processing -# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 - -import pandas as pd -import openmatrix as omx - -# command to run the underdevelopment example -# python simulation.py -c configs_3_zone_marin -d data_3_marin -o output_3_marin - -# data processing at c:\projects\activitysim\marin - -# 1 - fix skim names, put time periods at end and make all names unique - -time_periods = ["AM", "EA", "EV", "MD", "PM"] -for tp in time_periods: - taz_file = omx.open_file('HWYSKM' + tp + '_taz.omx') - taz_file_rename = omx.open_file('HWYSKM' + tp + '_taz_rename.omx', 'w') - for mat_name in taz_file.list_matrices(): - taz_file_rename[mat_name + "__" + tp] = taz_file[mat_name][:] - print(mat_name + "__" + tp) - taz_file.close() - taz_file_rename.close() - -for tp in time_periods: - for skim_set in ["SET1", "SET2", "SET3"]: - tap_file = omx.open_file('transit_skims_' + tp + '_' + skim_set + '.omx') - tap_file_rename = omx.open_file('transit_skims_' + tp + '_' + skim_set + '_rename.omx', 'w') - for mat_name in tap_file.list_matrices(): - tap_file_rename[mat_name + "_" + skim_set + "__" + tp] = tap_file[mat_name][:] - print(mat_name + '_' + skim_set + "__" + tp) - tap_file.close() - tap_file_rename.close() - -# 2 - nearby skims need headers - -maz_tap_walk = pd.read_csv("2015_test_2019_02_13_Part3/skims/ped_distance_maz_tap.txt", header=None) -maz_maz_walk = pd.read_csv("2015_test_2019_02_13_Part3/skims/ped_distance_maz_maz.txt", header=None) -maz_maz_bike = pd.read_csv("2015_test_2019_02_13_Part3/skims/bike_distance_maz_maz.txt", header=None) - -maz_tap_walk.columns = ["MAZ", "TAP", "TAP", "WALK_TRANSIT_GEN_COST", "WALK_TRANSIT_DIST"] -maz_maz_walk.columns = ["OMAZ", "DMAZ", "DMAZ", "WALK_GEN_COST", "WALK_DIST"] -maz_maz_bike.columns = ["OMAZ", "DMAZ", "DMAZ", "BIKE_GEN_COST", "BIKE_DIST"] - -maz_tap_walk["WALK_TRANSIT_DIST"] = maz_tap_walk["WALK_TRANSIT_DIST"] / 5280 # miles -maz_maz_walk["WALK_DIST"] = maz_maz_walk["WALK_DIST"] / 5280 # miles -maz_maz_bike["BIKE_DIST"] = maz_maz_bike["BIKE_DIST"] / 5280 # miles - -maz_tap_walk[["MAZ", "TAP", "WALK_TRANSIT_DIST"]].to_csv("maz_tap_walk.csv", index=False) -maz_maz_walk[["OMAZ", "DMAZ", "WALK_DIST"]].to_csv("maz_maz_walk.csv", index=False) -maz_maz_bike[["OMAZ", "DMAZ", "BIKE_DIST"]].to_csv("maz_maz_bike.csv", index=False) - -# 3 - maz data - -mazs = pd.read_csv("2015_test_2019_02_13_Part2/landuse/maz_data_withDensity.csv") -pcost = pd.read_csv("2015_test_2019_02_13/ctramp_output/mgraParkingCost.csv") - -mazs = pd.concat([mazs, pcost], axis=1) -mazs = mazs.fillna(0) - -tazs = pd.read_csv("2015_test_2019_02_13_Part2/landuse/taz_data.csv") -tazs = tazs.set_index("TAZ", drop=False) - -mazs["TERMINALTIME"] = tazs["TERMINALTIME"].loc[mazs["TAZ"]].tolist() - -mazs["zone_id"] = mazs["MAZ"] -mazs["county_id"] = mazs["CountyID"] -mazs = mazs.set_index("zone_id", drop=False) - -mazs.to_csv("maz_data_asim.csv", index=False) - -# 4 - accessibility data - -access = pd.read_csv("2015_test_2019_02_13/ctramp_output/accessibilities.csv") -access = access.drop([0]) -access["zone_id"] = access["mgra"] -access = access.set_index("zone_id", drop=False) -access.to_csv("access.csv", index=False) - -# 5 - maz to tap drive data - -taz_tap_drive = pd.read_csv("2015_test_2019_02_13_Part3/skims/drive_maz_taz_tap.csv") - -taz_tap_drive = taz_tap_drive.pivot_table(index=["FTAZ", "TTAP"], values=['DTIME', 'DDIST', "WDIST"], fill_value=0) - -taz_tap_drive.columns = list(map("".join, taz_tap_drive.columns)) -taz_tap_drive = taz_tap_drive.reset_index() -taz_tap_drive = taz_tap_drive.set_index("FTAZ") -taz_tap_drive["TAP"] = taz_tap_drive["TTAP"] - -taz_tap_drive = pd.merge(mazs[["MAZ", "TAZ"]], taz_tap_drive, left_on=['TAZ'], right_on=['FTAZ']) -taz_tap_drive[["MAZ", "TAP", "DDIST", "DTIME", "WDIST"]].to_csv("maz_taz_tap_drive.csv", index=False) - -# 6 - tours file, we just need work tours - -itour = pd.read_csv("2015_test_2019_02_13/ctramp_output/indivTourData_3.csv") -work_tours = itour[itour["tour_purpose"] == "Work"] - -work_tours["tour_id"] = range(1, len(work_tours)+1) -work_tours["household_id"] = work_tours["hh_id"] -work_tours = work_tours.set_index("tour_id", drop=False) - -work_tours["destination"] = work_tours["dest_mgra"] - -work_tours["start"] = work_tours["start_period"] -work_tours["end"] = work_tours["end_period"] -work_tours["tour_type"] = "work" - -work_tours.to_csv("work_tours.csv", index=False) - -# 7 - households - -households = pd.read_csv("2015_test_2019_02_13_Part2/popsyn/households.csv") -households["household_id"] = households["HHID"] -households["home_zone_id"] = households["MAZ"] -households = households.set_index("household_id", drop=False) - -households.to_csv("households_asim.csv", index=False) - -# 8 - persons - -persons = pd.read_csv("2015_test_2019_02_13_Part2/popsyn/persons.csv") -persons["person_id"] = persons["PERID"] -persons["household_id"] = persons["HHID"] -persons = persons.set_index("person_id", drop=False) - -persons_output = pd.read_csv("2015_test_2019_02_13/ctramp_output/personData_3.csv") -persons_output = persons_output.set_index("person_id", drop=False) -persons["type"] = persons_output["type"].loc[persons.index] -persons["value_of_time"] = persons_output["value_of_time"].loc[persons.index] -persons["is_university"] = persons["type"] == "University student" -persons["fp_choice"] = persons_output["fp_choice"] - -persons.to_csv("persons_asim.csv", index=False) - -# 9 - replace existing pipeline tables for restart for now - -# run simple three zone example and get output pipeline and then replace tables before tour mode choice -pipeline = pd.io.pytables.HDFStore('pipeline.h5') -pipeline.keys() - -pipeline['/accessibility/compute_accessibility'] = access # index zone_id -pipeline['/households/joint_tour_frequency'] = households # index household_id -pipeline['/persons/non_mandatory_tour_frequency'] = persons # index person_id -pipeline['/land_use/initialize_landuse'] = mazs # index zone_id -pipeline['/tours/non_mandatory_tour_scheduling'] = work_tours # index tour_id - -pipeline.close() diff --git a/activitysim/examples/example_multiple_zone/notes.txt b/activitysim/examples/example_multiple_zone/notes.txt deleted file mode 100644 index 1f119fd213..0000000000 --- a/activitysim/examples/example_multiple_zone/notes.txt +++ /dev/null @@ -1,51 +0,0 @@ -# for the mtctm1 fudged examples, depending on where you are, run: - -# from top level activitysim repo: -python activitysim/examples/example_multiple_zone/two_zone_example_data.py -python activitysim/examples/example_multiple_zone/three_zone_example_data.py - -# or from this directory: -python two_zone_example_data.py -python three_zone_example_data.py - -python simulation.py -c configs_local -c configs_1_zone -c configs -o output_1 -python simulation.py -c configs_local -c configs_2_zone -c configs -d data_2 -o output_2 -python simulation.py -c configs_local -c configs_3_zone -c configs -d data_3 -o output_3 - -pytest -x activitysim/examples/example_multiple_zone/test/ - - -# for the marin data -# requires python 3.8 and pyarrow - -you will need the data_3_marin folder with files created/processed by marin_work_tour_mode_choice_data.py - -These were originally created for the purpose of creating a 'fake' pipeline database to resume before tour_mode_choice - -When we decided to implement initialize_tours, I chose to remove some of the asim-style columns -so the data input files would look 'realistic' - and that work is now done instead by 'import_tours' -annotation expression files - -the marin_fix.py script does the job of removing those fields and writes them into a 'fix' folder. -Once they have been created they can replace the original input files. - -You will also need to add (and rename) the tap_lines.csv file to the data_3_marin folder - -the marin_crop.py script has been modified to work with the 'fixed' input files. -marin_crop.py writes a complete data folder into the 'crop' folder (which you will need to create) -which should be copied and renamed to somewhere more appropriate (or you can specify the marin_crop ouput_dir in script) - -python simulation.py -c configs_3_zone_marin -c configs -d data_3_marin -o output_3_marin - - - - -# num maz 5952 -# num taz 4735 -# num tap 6216 * 6216 -6216 * 6216 = 38638656 - - -python simulation.py -c configs_3_zone_marin_full -c configs_3_zone_marin -c configs -d data_3_marin_full -o output_3_marin_full -s settings_mp.yaml - - diff --git a/activitysim/examples/example_multiple_zone/scripts/notes.txt b/activitysim/examples/example_multiple_zone/scripts/notes.txt deleted file mode 100644 index 3a487586e4..0000000000 --- a/activitysim/examples/example_multiple_zone/scripts/notes.txt +++ /dev/null @@ -1,14 +0,0 @@ - -# for the mtctm1 fudged examples, depending on where you are, run: - -# from top level activitysim repo: -python activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py -python activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py - -# or from this directory: -python two_zone_example_data.py -python three_zone_example_data.py - -python simulation.py -c configs_local -c configs_1_zone -c configs -o output_1 -python simulation.py -c configs_local -c configs_2_zone -c configs -d data_2 -o output_2 -python simulation.py -c configs_local -c configs_3_zone -c configs -d data_3 -o output_3 diff --git a/activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py b/activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py deleted file mode 100644 index bc49a2a0ef..0000000000 --- a/activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py +++ /dev/null @@ -1,240 +0,0 @@ -# Creating the Two Zone Example Data -# -# Transform the TM1 TAZ-based model 25 zone inputs to a two-zone (MAZ and TAZ) set of inputs for software development. -# -# The 25 zones are downtown San Francisco and they are converted to 25 MAZs. -# MAZs 1,2,3,4 are small and adjacent and assigned TAZ 2 and TAP 10002. -# MAZs 13,14,15 are small and adjacent and as signed TAZ 14 and TAP 10014. -# TAZs 1,3,4,13,15 are removed from the final data set. -# -# This script should work for the full TM1 example as well. - -import os -import sys - -import pandas as pd -import numpy as np -import openmatrix as omx - - -# Create example directory - - -input_data = os.path.join(os.path.dirname(__file__), '../data_1') -output_data = os.path.join(os.path.dirname(__file__), '../data_3') -MAZ_MULTIPLIER = 1000 -TAP_OFFSET = 90000 - -# ### initialize output data directory - -# new empty output_dir -if os.path.exists(output_data): - # shutil.rmtree(output_data) - # os.makedirs(output_data) - file_type = ('csv', 'omx') - for file_name in os.listdir(output_data): - if file_name.endswith(file_type): - os.unlink(os.path.join(output_data, file_name)) -else: - os.makedirs(output_data) - -# ### Convert tazs to mazs and add transit access distance by mode - -land_use = pd.read_csv(os.path.join(input_data, 'land_use.csv')) - -if 'ZONE' in land_use.columns: - land_use.insert(loc=0, column='MAZ', value=land_use.ZONE) - land_use.insert(loc=1, column='TAZ', value=land_use.ZONE) - land_use.drop(columns=['ZONE'], inplace=True) -else: - land_use.insert(loc=0, column='MAZ', value=land_use.TAZ) - -land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) -land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) - -# make MAZ indexes different from TAZ to drive MAZ/TAZ confusion errors and omisisons -land_use.MAZ *= MAZ_MULTIPLIER - -shortWalk = 0.333 # the tm1 example assumes this distance for transit access -longWalk = 0.667 -land_use['access_dist_transit'] = shortWalk - -# FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone -# land_use['access_dist_transit'] =\ -# np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) - - -land_use.to_csv(os.path.join(output_data, 'land_use.csv'), index=False) - -# ### Put households in mazs instead of tazs - -households = pd.read_csv(os.path.join(input_data, 'households.csv')) -households.rename(columns={'TAZ': 'MAZ'}, inplace=True) -households.MAZ *= MAZ_MULTIPLIER -households.to_csv(os.path.join(output_data, 'households.csv'), index=False) - -persons = pd.read_csv(os.path.join(input_data, 'persons.csv')) -persons.to_csv(os.path.join(output_data, 'persons.csv'), index=False) - -# ### Create maz file -# one row per maz, currentlyt he only attribute it its containing TAZ - -# FIXME - not clear we need this -maz_df = land_use[['MAZ', 'TAZ']] -maz_df.to_csv(os.path.join(output_data, 'maz.csv'), index=False) -print("maz.csv\n%s" % (maz_df.head(6), )) - -# ### Create taz file - -# TAZ -# 2 -# 5 -# 6 -# 7 - -taz_zone_ids = np.unique(land_use.TAZ) -taz_zone_indexes = (taz_zone_ids-1) -taz_df = pd.DataFrame({'TAZ': taz_zone_ids}, index=taz_zone_indexes) -taz_df.to_csv(os.path.join(output_data, 'taz.csv'), index=False) -print("taz.csv\n%s" % (taz_df.head(6), )) - -# currently this has only the one TAZ column, but the legacy table had: -# index TAZ -# offset int64 -# terminal_time float64 # occasional small integer (1-5), but mostly blank (only if it has a TAP? -# ptype float64 # parking type at TAP? (rarer than terminal_time, never alone) - - -# ### Create maz to maz time/distance - -max_distance_for_walk = 1.0 -max_distance_for_bike = 5.0 - - -with omx.open_file(os.path.join(input_data, 'skims.omx')) as ur_skims: - - # create df with DIST column - maz_to_maz = pd.DataFrame(ur_skims['DIST']).unstack().reset_index() - maz_to_maz.columns = ['OMAZ', 'DMAZ', 'DIST'] - maz_to_maz['OMAZ'] = (maz_to_maz['OMAZ'] + 1) * MAZ_MULTIPLIER - maz_to_maz['DMAZ'] = (maz_to_maz['DMAZ'] + 1) * MAZ_MULTIPLIER - - # additional columns - for c in ['DISTBIKE', 'DISTWALK']: - maz_to_maz[c] = pd.DataFrame(ur_skims[c]).unstack().values - - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_walk, ['OMAZ', 'DMAZ', 'DISTWALK']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_walk.csv'), index=False) - - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_bike, ['OMAZ', 'DMAZ', 'DIST', 'DISTBIKE']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_bike.csv'), index=False) - - -######## - - -# create tap file -# currently the only attribute is its containing maz - - -np.random.seed(42) # seed for random_variation so we build the same data every time - -taz_zone_labels = taz_df.TAZ.values -tap_zone_labels = taz_zone_labels + TAP_OFFSET -maz_zone_labels = taz_zone_labels * MAZ_MULTIPLIER -tap_df = pd.DataFrame({"TAP": tap_zone_labels, "MAZ": maz_zone_labels}) -tap_df.to_csv(os.path.join(output_data, 'tap.csv'), index=False) - -# create taz_z3 and tap skims -with \ - omx.open_file(os.path.join(input_data, 'skims.omx'), "r") as ur_skims, \ - omx.open_file(os.path.join(output_data, 'taz_skims.omx'), "w") as output_taz_skims_file, \ - omx.open_file(os.path.join(output_data, 'tap_skims.omx'), "w") as output_tap_skims_file: - - for skim_name in ur_skims.list_matrices(): - - ur_skim = ur_skims[skim_name][:] - new_skim = ur_skim[taz_zone_indexes, :][:, taz_zone_indexes] - # print("skim:", skim_name, ": shape", str(new_skim.shape)) - - mode_code = skim_name[0:3] - is_tap_mode = (mode_code == "DRV" or mode_code == "WLK") - is_taz_mode = not is_tap_mode - - if is_tap_mode: - # WLK_TRN_WLK_XWAIT__PM - # 012345678911111111112 - # 01234567890 - access_mode = skim_name[0:3] - transit_mode = skim_name[4:7] - egress_mode = skim_name[8:11] - datum_name = skim_name[12:-4] - tod = skim_name[-2:] - if access_mode == 'WLK' and egress_mode == 'WLK': - for suffix in ['FAST', 'SHORT', 'CHEAP']: - if (suffix == 'FAST') and (datum_name == 'TOTIVT'): - random_variation = np.random.rand(*new_skim.shape)*-0.1 + 1.0 - elif (suffix == 'CHEAP') and (datum_name == 'FAR'): - random_variation = np.random.rand(*new_skim.shape) * -0.5 + 1.0 - else: - random_variation = np.ones_like(new_skim) - - tap_skim_name = f'{transit_mode}_{datum_name}_{suffix}__{tod}' - output_tap_skims_file[tap_skim_name] = new_skim * random_variation - # print(f"tap skim: {skim_name} tap_skim_name: {tap_skim_name}, " - # f"shape: {str(output_tap_skims_file.shape())}") - - if is_taz_mode: - output_taz_skims_file[skim_name] = new_skim - # print("taz skim:", skim_name, ": shape", str(output_taz_skims_file.shape())) - - output_taz_skims_file.create_mapping("taz", taz_zone_labels) - output_tap_skims_file.create_mapping("tap", tap_zone_labels) - -print("taz skims created: " + os.path.join(output_data, 'taz_skims.omx')) -print("tap skims created: " + os.path.join(output_data, 'tap_skims.omx')) - -# Create maz to tap distance file by mode - -with omx.open_file(os.path.join(input_data, 'skims.omx')) as ur_skims: - distance_table = pd.DataFrame(np.transpose(ur_skims['DIST'])).unstack() - distance_table = distance_table.reset_index() - distance_table.columns = ["MAZ", "TAP", "DIST"] - - distance_table['drive_time'] = pd.DataFrame(np.transpose(ur_skims['SOV_TIME__MD'])).unstack().values - - for c in ['DISTBIKE', 'DISTWALK']: - distance_table[c] = pd.DataFrame(np.transpose(ur_skims[c])).unstack().values - -walk_speed = 3 -bike_speed = 10 -drive_speed = 25 -max_distance_for_nearby_taps_walk = 1.0 -max_distance_for_nearby_taps_bike = 5.0 -max_distance_for_nearby_taps_drive = 10.0 - -distance_table["MAZ"] = (distance_table["MAZ"] + 1) * MAZ_MULTIPLIER -distance_table["TAP"] = (distance_table["TAP"] + 1) + TAP_OFFSET - -distance_table["walk_time"] = distance_table["DIST"] * (60 / walk_speed) -distance_table["bike_time"] = distance_table["DIST"] * (60 * bike_speed) - -# FIXME: we are using SOV_TIME__MD - is that right? -distance_table["drive_time"] = distance_table["DIST"] * (60 * drive_speed) - -distance_table = distance_table[distance_table["TAP"].isin(tap_zone_labels)] - - -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_walk, - ['MAZ', 'TAP', 'DISTWALK', 'walk_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_walk.csv'), index=False) - -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_bike, - ['MAZ', 'TAP', 'DISTBIKE', 'bike_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_bike.csv'), index=False) - -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_drive, - ['MAZ', 'TAP', 'DIST', 'drive_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_drive.csv'), index=False) - -sys.exit(0) diff --git a/activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py b/activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py deleted file mode 100644 index 3cd7b51a40..0000000000 --- a/activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py +++ /dev/null @@ -1,151 +0,0 @@ -# Creating the Two Zone Example Data -# -# Transform the TM1 TAZ-based model 25 zone inputs to a two-zone (MAZ and TAZ) set of inputs for software development. -# -# The 25 zones are downtown San Francisco and they are converted to 25 MAZs. -# MAZs 1,2,3,4 are small and adjacent and assigned TAZ 2 and TAP 10002. -# MAZs 13,14,15 are small and adjacent and as signed TAZ 14 and TAP 10014. -# TAZs 1,3,4,13,15 are removed from the final data set. -# -# This script should work for the full TM1 example as well. - -import os -import sys - -import pandas as pd -import numpy as np -import openmatrix as omx - - -# Create example directory - -input_data = os.path.join(os.path.dirname(__file__), '../data_1') -output_data = os.path.join(os.path.dirname(__file__), '../data_2') -MAZ_MULTIPLIER = 1000 - -# ### initialize output data directory - -# new empty output_dir -if os.path.exists(output_data): - # shutil.rmtree(output_data) - # os.makedirs(output_data) - file_type = ('csv', 'omx') - for file_name in os.listdir(output_data): - if file_name.endswith(file_type): - os.unlink(os.path.join(output_data, file_name)) -else: - os.makedirs(output_data) - -# ### Convert tazs to mazs and add transit access distance by mode - -land_use = pd.read_csv(os.path.join(input_data, 'land_use.csv')) - -if 'ZONE' in land_use.columns: - land_use.insert(loc=0, column='MAZ', value=land_use.ZONE) - land_use.insert(loc=1, column='TAZ', value=land_use.ZONE) - land_use.drop(columns=['ZONE'], inplace=True) -else: - land_use.insert(loc=0, column='MAZ', value=land_use.TAZ) - -land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) -land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) - -# make MAZ indexes different from TAZ to drive MAZ/TAZ confusion errors and omisisons -land_use.MAZ *= MAZ_MULTIPLIER - -shortWalk = 0.333 # the tm1 example assumes this distance for transit access -longWalk = 0.667 -land_use['access_dist_transit'] = shortWalk - -# FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone -# land_use['access_dist_transit'] =\ -# np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) - - -land_use.to_csv(os.path.join(output_data, 'land_use.csv'), index=False) - -# ### Put households in mazs instead of tazs - -households = pd.read_csv(os.path.join(input_data, 'households.csv')) -households.rename(columns={'TAZ': 'MAZ'}, inplace=True) -households.MAZ *= MAZ_MULTIPLIER -households.to_csv(os.path.join(output_data, 'households.csv'), index=False) - -persons = pd.read_csv(os.path.join(input_data, 'persons.csv')) -persons.to_csv(os.path.join(output_data, 'persons.csv'), index=False) - -# ### Create maz correspondence file - -# FIXME - not clear we need this -maz_df = land_use[['MAZ', 'TAZ']] -maz_df.to_csv(os.path.join(output_data, 'maz.csv'), index=False) -print("maz.csv\n%s" % (maz_df.head(6), )) - -# ### Create taz file - -# TAZ -# 2 -# 5 -# 6 -# 7 - -new_zone_labels = np.unique(land_use.TAZ) -new_zone_indexes = (new_zone_labels-1) -taz_df = pd.DataFrame({'TAZ': new_zone_labels}, index=new_zone_indexes) -taz_df.to_csv(os.path.join(output_data, 'taz.csv'), index=False) -print("taz.csv\n%s" % (taz_df.head(6), )) - -# currently this has only the one TAZ column, but the legacy table had: -# index TAZ -# offset int64 -# terminal_time float64 # occasional small integer (1-5), but mostly blank (only if it has a TAP? -# ptype float64 # parking type at TAP? (rarer than terminal_time, never alone) - -# ### Create taz skims - -with omx.open_file(os.path.join(input_data, 'skims.omx'), 'r') as skims_file, \ - omx.open_file(os.path.join(output_data, 'taz_skims.omx'), "w") as output_skims_file: - - skims = skims_file.list_matrices() - num_zones = skims_file.shape()[0] - - # assume zones labels were 1-based in skims file - assert not skims_file.listMappings() - assert num_zones == len(land_use) - - for skim_name in skims_file.list_matrices(): - - old_skim = skims_file[skim_name][:] - new_skim = old_skim[new_zone_indexes, :][:, new_zone_indexes] - output_skims_file[skim_name] = new_skim - # print("skim:", skim_name, ": shape", str(new_skim.shape)) - - output_skims_file.create_mapping("taz", new_zone_labels) - -print("taz skims created: " + os.path.join(output_data, 'taz_skims.omx')) - -# ### Create maz to maz time/distance - -max_distance_for_walk = 1.0 -max_distance_for_bike = 5.0 - - -with omx.open_file(os.path.join(input_data, 'skims.omx')) as skims_file: - - # create df with DIST column - maz_to_maz = pd.DataFrame(np.transpose(skims_file['DIST'])).unstack().reset_index() - maz_to_maz.columns = ['OMAZ', 'DMAZ', 'DIST'] - maz_to_maz['OMAZ'] = (maz_to_maz['OMAZ'] + 1) * MAZ_MULTIPLIER - maz_to_maz['DMAZ'] = (maz_to_maz['DMAZ'] + 1) * MAZ_MULTIPLIER - - # additional columns - for c in ['DISTBIKE', 'DISTWALK']: - maz_to_maz[c] = pd.DataFrame(np.transpose(skims_file[c])).unstack().values - - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_walk, ['OMAZ', 'DMAZ', 'DISTWALK']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_walk.csv'), index=False) - - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_bike, ['OMAZ', 'DMAZ', 'DIST', 'DISTBIKE']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_bike.csv'), index=False) - -sys.exit(0) diff --git a/activitysim/examples/example_multiple_zone/simulation.py b/activitysim/examples/example_multiple_zone/simulation.py deleted file mode 100644 index 97ca6b6483..0000000000 --- a/activitysim/examples/example_multiple_zone/simulation.py +++ /dev/null @@ -1,15 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_multiple_zone/test/simulation.py b/activitysim/examples/example_multiple_zone/test/simulation.py deleted file mode 100755 index ec6a1181b1..0000000000 --- a/activitysim/examples/example_multiple_zone/test/simulation.py +++ /dev/null @@ -1,15 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_multiple_zone/test/test_multiple_zone.py b/activitysim/examples/example_multiple_zone/test/test_multiple_zone.py deleted file mode 100644 index ec400c3fd9..0000000000 --- a/activitysim/examples/example_multiple_zone/test/test_multiple_zone.py +++ /dev/null @@ -1,105 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pytest -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def example_path(dirname): - resource = os.path.join('examples', 'example_multiple_zone', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - -def mtc_example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - -def build_data(): - # FIXME this irks travis - # subprocess.check_call(['coverage', 'run', example_path('scripts/two_zone_example_data.py')]) - # subprocess.check_call(['coverage', 'run', example_path('scripts/three_zone_example_data.py')]) - pass - - -@pytest.fixture(scope='module') -def data(): - build_data() - - -def run_test(zone, multiprocess=False): - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(zone): - - # regress tours - regress_tours_df = pd.read_csv(test_path(f'regress/final_tours_{zone}_zone.csv')) - tours_df = pd.read_csv(test_path('output/final_tours.csv')) - tours_df.to_csv(test_path(f'regress/final_tours_{zone}_zone_last_run.csv'), index=False) - print(f"regress tours") - pdt.assert_frame_equal(tours_df, regress_tours_df, rtol=1e-03) - - # regress trips - regress_trips_df = pd.read_csv(test_path(f'regress/final_trips_{zone}_zone.csv')) - trips_df = pd.read_csv(test_path('output/final_trips.csv')) - trips_df.to_csv(test_path(f'regress/final_trips_{zone}_zone_last_run.csv'), index=False) - print(f"regress trips") - pdt.assert_frame_equal(trips_df, regress_trips_df, rtol=1e-03) - - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - run_args = ['-c', test_path(f'configs_{zone}_zone'), - '-c', example_path(f'configs_{zone}_zone'), - '-c', mtc_example_path(f'configs'), - '-d', example_path(f'data_{zone}'), - '-o', test_path('output')] - - if multiprocess: - run_args = run_args + ['-s', 'settings_mp'] - elif zone == '3': - run_args = run_args + ['-s', 'settings_static'] - - subprocess.run(['coverage', 'run', '-a', file_path] + run_args, check=True) - - regress(zone) - - -def test_2_zone(data): - run_test(zone='2', multiprocess=False) - - -def test_2_zone_mp(data): - run_test(zone='2', multiprocess=True) - - -def test_3_zone(data): - # python simulation.py -c configs_3_zone -c ../configs_3_zone -c \ - # ../../example_mtc/configs -d ../data_3 -o output -s settings_mp - run_test(zone='3', multiprocess=False) - - -def test_3_zone_mp(data): - run_test(zone='3', multiprocess=True) - - -if __name__ == '__main__': - - build_data() - run_test(zone='2', multiprocess=False) - run_test(zone='2', multiprocess=True) - - run_test(zone='3', multiprocess=False) - run_test(zone='3', multiprocess=True) diff --git a/activitysim/examples/example_multiple_zone/three_zone_example_data.py b/activitysim/examples/example_multiple_zone/three_zone_example_data.py deleted file mode 100644 index 396a695ba1..0000000000 --- a/activitysim/examples/example_multiple_zone/three_zone_example_data.py +++ /dev/null @@ -1,229 +0,0 @@ -# Creating the Two Zone Example Data -# -# Transform the TM1 TAZ-based model 25 zone inputs to a two-zone (MAZ and TAZ) set of inputs for software development. -# -# The 25 zones are downtown San Francisco and they are converted to 25 MAZs. -# MAZs 1,2,3,4 are small and adjacent and assigned TAZ 2 and TAP 10002. -# MAZs 13,14,15 are small and adjacent and as signed TAZ 14 and TAP 10014. -# TAZs 1,3,4,13,15 are removed from the final data set. -# -# This script should work for the full TM1 example as well. - -import os -import shutil - -import pandas as pd -import numpy as np -import openmatrix as omx - - -# Create example directory - - -input_data = os.path.join(os.path.dirname(__file__), 'data') -output_data = os.path.join(os.path.dirname(__file__), 'data_3') -MAZ_MULTIPLIER = 1000 -TAP_OFFSET = 90000 - -# ### initialize output data directory - -# new empty output_dir -if os.path.exists(output_data): - # shutil.rmtree(output_data) - # os.makedirs(output_data) - file_type = ('csv', 'omx') - for file_name in os.listdir(output_data): - if file_name.endswith(file_type): - os.unlink(os.path.join(output_data, file_name)) -else: - os.makedirs(output_data) - -# ### Convert tazs to mazs and add transit access distance by mode - -land_use = pd.read_csv(os.path.join(input_data, 'land_use.csv')) - -land_use.insert(loc=0, column='MAZ', value=land_use.ZONE) -land_use.insert(loc=1, column='TAZ', value=land_use.ZONE) -land_use.drop(columns=['ZONE'], inplace=True) - -land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) -land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) - -# make MAZ indexes different from TAZ to drive MAZ/TAZ confusion errors and omisisons -land_use.MAZ *= MAZ_MULTIPLIER - -shortWalk = 0.333 # the tm1 example assumes this distance for transit access -longWalk = 0.667 -land_use['access_dist_transit'] = shortWalk - -# FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone -# land_use['access_dist_transit'] =\ -# np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) - - -land_use.to_csv(os.path.join(output_data, 'land_use.csv'), index=False) - -# ### Put households in mazs instead of tazs - -households = pd.read_csv(os.path.join(input_data, 'households.csv')) -households.rename(columns={'TAZ': 'MAZ'}, inplace=True) -households.MAZ *= MAZ_MULTIPLIER -households.to_csv(os.path.join(output_data, 'households.csv'), index=False) - -persons = pd.read_csv(os.path.join(input_data, 'persons.csv')) -persons.to_csv(os.path.join(output_data, 'persons.csv'), index=False) - -# ### Create maz file -# one row per maz, currentlyt he only attribute it its containing TAZ - -# FIXME - not clear we need this -maz_df = land_use[['MAZ', 'TAZ']] -maz_df.to_csv(os.path.join(output_data, 'maz.csv'), index=False) -print("maz.csv\n%s" % (maz_df.head(6), )) - -# ### Create taz file - -# TAZ -# 2 -# 5 -# 6 -# 7 - -taz_zone_ids = np.unique(land_use.TAZ) -taz_zone_indexes = (taz_zone_ids-1) -taz_df = pd.DataFrame({'TAZ': taz_zone_ids}, index=taz_zone_indexes) -taz_df.to_csv(os.path.join(output_data, 'taz.csv'), index=False) -print("taz.csv\n%s" % (taz_df.head(6), )) - -# currently this has only the one TAZ column, but the legacy table had: -# index TAZ -# offset int64 -# terminal_time float64 # occasional small integer (1-5), but mostly blank (only if it has a TAP? -# ptype float64 # parking type at TAP? (rarer than terminal_time, never alone) - - -# ### Create maz to maz time/distance - -max_distance_for_walk = 1.0 -max_distance_for_bike = 5.0 - - -with omx.open_file(os.path.join(input_data, 'skims.omx')) as ur_skims: - - # create df with DIST column - maz_to_maz = pd.DataFrame(ur_skims['DIST']).unstack().reset_index() - maz_to_maz.columns = ['OMAZ', 'DMAZ', 'DIST'] - maz_to_maz['OMAZ'] = (maz_to_maz['OMAZ'] + 1) * MAZ_MULTIPLIER - maz_to_maz['DMAZ'] = (maz_to_maz['DMAZ'] + 1) * MAZ_MULTIPLIER - - # additional columns - for c in ['DISTBIKE', 'DISTWALK']: - maz_to_maz[c] = pd.DataFrame(ur_skims[c]).unstack().values - - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_walk, ['OMAZ', 'DMAZ', 'DISTWALK']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_walk.csv'), index=False) - - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_bike, ['OMAZ', 'DMAZ', 'DIST', 'DISTBIKE']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_bike.csv'), index=False) - - -######## - - -# create tap file -# currently the only attribute is its containing maz - -taz_zone_labels = taz_df.TAZ.values -tap_zone_labels = taz_zone_labels + TAP_OFFSET -maz_zone_labels = taz_zone_labels * MAZ_MULTIPLIER -tap_df = pd.DataFrame({"TAP": tap_zone_labels, "MAZ": maz_zone_labels}) -tap_df.to_csv(os.path.join(output_data, 'tap.csv'), index=False) - -# create taz_z3 and tap skims -with \ - omx.open_file(os.path.join(input_data, 'skims.omx'), "r") as ur_skims, \ - omx.open_file(os.path.join(output_data, 'taz_skims.omx'), "w") as output_taz_skims_file, \ - omx.open_file(os.path.join(output_data, 'tap_skims.omx'), "w") as output_tap_skims_file: - - for skim_name in ur_skims.list_matrices(): - - ur_skim = ur_skims[skim_name][:] - new_skim = ur_skim[taz_zone_indexes, :][:, taz_zone_indexes] - # print("skim:", skim_name, ": shape", str(new_skim.shape)) - - mode_code = skim_name[0:3] - is_tap_mode = (mode_code == "DRV" or mode_code == "WLK") - is_taz_mode = not is_tap_mode - - if is_tap_mode: - # WLK_TRN_WLK_XWAIT__PM - # 012345678911111111112 - # 01234567890 - access_mode = skim_name[0:3] - transit_mode = skim_name[4:7] - egress_mode = skim_name[8:11] - datum_name = skim_name[12:-4] - tod = skim_name[-2:] - if access_mode == 'WLK' and egress_mode == 'WLK': - for suffix in ['FAST', 'SHORT', 'CHEAP']: - if (suffix == 'FAST') and (datum_name == 'TOTIVT'): - random_variation = np.random.rand(*new_skim.shape)*-0.1 + 1.0 - elif (suffix == 'CHEAP') and (datum_name == 'FAR'): - random_variation = np.random.rand(*new_skim.shape) * -0.5 + 1.0 - else: - random_variation = np.ones_like(new_skim) - - tap_skim_name = f'{transit_mode}_{datum_name}_{suffix}__{tod}' - output_tap_skims_file[tap_skim_name] = new_skim * random_variation - print(f"tap skim: {skim_name} tap_skim_name: {tap_skim_name}, " - f"shape: {str(output_tap_skims_file.shape())}") - - if is_taz_mode: - output_taz_skims_file[skim_name] = new_skim - print("taz skim:", skim_name, ": shape", str(output_taz_skims_file.shape())) - - output_taz_skims_file.create_mapping("taz", taz_zone_labels) - output_tap_skims_file.create_mapping("tap", tap_zone_labels) - -# Create maz to tap distance file by mode - -with omx.open_file(os.path.join(input_data, 'skims.omx')) as ur_skims: - distance_table = pd.DataFrame(np.transpose(ur_skims['DIST'])).unstack() - distance_table = distance_table.reset_index() - distance_table.columns = ["MAZ", "TAP", "DIST"] - - distance_table['drive_time'] = pd.DataFrame(np.transpose(ur_skims['SOV_TIME__MD'])).unstack().values - - for c in ['DISTBIKE', 'DISTWALK']: - distance_table[c] = pd.DataFrame(np.transpose(ur_skims[c])).unstack().values - -walk_speed = 3 -bike_speed = 10 -drive_speed = 25 -max_distance_for_nearby_taps_walk = 1.0 -max_distance_for_nearby_taps_bike = 5.0 -max_distance_for_nearby_taps_drive = 10.0 - -distance_table["MAZ"] = (distance_table["MAZ"] + 1) * MAZ_MULTIPLIER -distance_table["TAP"] = (distance_table["TAP"] + 1) + TAP_OFFSET - -distance_table["walk_time"] = distance_table["DIST"] * (60 / walk_speed) -distance_table["bike_time"] = distance_table["DIST"] * (60 * bike_speed) - -# FIXME: we are using SOV_TIME__MD - is that right? -distance_table["drive_time"] = distance_table["DIST"] * (60 * drive_speed) - -distance_table = distance_table[distance_table["TAP"].isin(tap_zone_labels)] - - -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_walk, - ['MAZ', 'TAP', 'DISTWALK', 'walk_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_walk.csv'), index=False) - -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_bike, - ['MAZ', 'TAP', 'DISTBIKE', 'bike_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_bike.csv'), index=False) - -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_drive, - ['MAZ', 'TAP', 'DIST', 'drive_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_drive.csv'), index=False) diff --git a/activitysim/examples/example_multiple_zone/two_zone_example_data.py b/activitysim/examples/example_multiple_zone/two_zone_example_data.py deleted file mode 100644 index f6085d90d0..0000000000 --- a/activitysim/examples/example_multiple_zone/two_zone_example_data.py +++ /dev/null @@ -1,145 +0,0 @@ -# Creating the Two Zone Example Data -# -# Transform the TM1 TAZ-based model 25 zone inputs to a two-zone (MAZ and TAZ) set of inputs for software development. -# -# The 25 zones are downtown San Francisco and they are converted to 25 MAZs. -# MAZs 1,2,3,4 are small and adjacent and assigned TAZ 2 and TAP 10002. -# MAZs 13,14,15 are small and adjacent and as signed TAZ 14 and TAP 10014. -# TAZs 1,3,4,13,15 are removed from the final data set. -# -# This script should work for the full TM1 example as well. - -import os -import shutil - -import pandas as pd -import numpy as np -import openmatrix as omx - - -# Create example directory - -input_data = os.path.join(os.path.dirname(__file__), 'data') -output_data = os.path.join(os.path.dirname(__file__), 'data_2') -MAZ_MULTIPLIER = 1000 - -# ### initialize output data directory - -# new empty output_dir -if os.path.exists(output_data): - # shutil.rmtree(output_data) - # os.makedirs(output_data) - file_type = ('csv', 'omx') - for file_name in os.listdir(output_data): - if file_name.endswith(file_type): - os.unlink(os.path.join(output_data, file_name)) -else: - os.makedirs(output_data) - -# ### Convert tazs to mazs and add transit access distance by mode - -land_use = pd.read_csv(os.path.join(input_data, 'land_use.csv')) - -land_use.insert(loc=0, column='MAZ', value=land_use.ZONE) -land_use.insert(loc=1, column='TAZ', value=land_use.ZONE) -land_use.drop(columns=['ZONE'], inplace=True) - -land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) -land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) - -# make MAZ indexes different from TAZ to drive MAZ/TAZ confusion errors and omisisons -land_use.MAZ *= MAZ_MULTIPLIER - -shortWalk = 0.333 # the tm1 example assumes this distance for transit access -longWalk = 0.667 -land_use['access_dist_transit'] = shortWalk - -# FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone -# land_use['access_dist_transit'] =\ -# np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) - - -land_use.to_csv(os.path.join(output_data, 'land_use.csv'), index=False) - -# ### Put households in mazs instead of tazs - -households = pd.read_csv(os.path.join(input_data, 'households.csv')) -households.rename(columns={'TAZ': 'MAZ'}, inplace=True) -households.MAZ *= MAZ_MULTIPLIER -households.to_csv(os.path.join(output_data, 'households.csv'), index=False) - -persons = pd.read_csv(os.path.join(input_data, 'persons.csv')) -persons.to_csv(os.path.join(output_data, 'persons.csv'), index=False) - -# ### Create maz correspondence file - -# FIXME - not clear we need this -maz_df = land_use[['MAZ', 'TAZ']] -maz_df.to_csv(os.path.join(output_data, 'maz.csv'), index=False) -print("maz.csv\n%s" % (maz_df.head(6), )) - -# ### Create taz file - -# TAZ -# 2 -# 5 -# 6 -# 7 - -new_zone_labels = np.unique(land_use.TAZ) -new_zone_indexes = (new_zone_labels-1) -taz_df = pd.DataFrame({'TAZ': new_zone_labels}, index=new_zone_indexes) -taz_df.to_csv(os.path.join(output_data, 'taz.csv'), index=False) -print("taz.csv\n%s" % (taz_df.head(6), )) - -# currently this has only the one TAZ column, but the legacy table had: -# index TAZ -# offset int64 -# terminal_time float64 # occasional small integer (1-5), but mostly blank (only if it has a TAP? -# ptype float64 # parking type at TAP? (rarer than terminal_time, never alone) - -# ### Create taz skims - -with omx.open_file(os.path.join(input_data, 'skims.omx'), 'r') as skims_file, \ - omx.open_file(os.path.join(output_data, 'taz_skims.omx'), "w") as output_skims_file: - - skims = skims_file.list_matrices() - num_zones = skims_file.shape()[0] - - # assume zones labels were 1-based in skims file - assert not skims_file.listMappings() - assert num_zones == len(land_use) - - for skim_name in skims_file.list_matrices(): - - old_skim = skims_file[skim_name][:] - new_skim = old_skim[new_zone_indexes, :][:, new_zone_indexes] - output_skims_file[skim_name] = new_skim - print("skim:", skim_name, ": shape", str(new_skim.shape)) - - output_skims_file.create_mapping("taz", new_zone_labels) - - -# ### Create maz to maz time/distance - -max_distance_for_walk = 1.0 -max_distance_for_bike = 5.0 - - -with omx.open_file(os.path.join(input_data, 'skims.omx')) as skims_file: - - # create df with DIST column - maz_to_maz = pd.DataFrame(np.transpose(skims_file['DIST'])).unstack().reset_index() - maz_to_maz.columns = ['OMAZ', 'DMAZ', 'DIST'] - maz_to_maz['OMAZ'] = (maz_to_maz['OMAZ'] + 1) * MAZ_MULTIPLIER - maz_to_maz['DMAZ'] = (maz_to_maz['DMAZ'] + 1) * MAZ_MULTIPLIER - - # additional columns - for c in ['DISTBIKE', 'DISTWALK']: - maz_to_maz[c] = pd.DataFrame(np.transpose(skims_file[c])).unstack().values - - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_walk, ['OMAZ', 'DMAZ', 'DISTWALK']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_walk.csv'), index=False) - - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_bike, ['OMAZ', 'DMAZ', 'DIST', 'DISTBIKE']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_bike.csv'), index=False) diff --git a/activitysim/examples/example_psrc/configs/accessibility.csv b/activitysim/examples/example_psrc/configs/accessibility.csv deleted file mode 100755 index c40a672b18..0000000000 --- a/activitysim/examples/example_psrc/configs/accessibility.csv +++ /dev/null @@ -1,59 +0,0 @@ -Description,Target,Expression -#,, -#,, auto peak -#,, -#,, assume peak occurs in AM for outbound and PM for inbound -peak round trip distance,_auPkTime,"skim_od[('SOVTOLL_TIME', 'AM')] + skim_do[('SOVTOLL_TIME', 'PM')]" -decay function,_decay, exp(_auPkTime * dispersion_parameter_automobile) -auto peak retail,auPkRetail,df.RETEMPN * _decay -auto peak total,auPkTotal,df.TOTEMP * _decay -#,, -#,, auto off-peak -#,, -#,, assume midday occurs entirely in the midday period -off-peak round trip distance,_auOpTime,"skim_od[('SOVTOLL_TIME', 'MD')] + skim_do[('SOVTOLL_TIME', 'MD')]" -decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) -auto off-peak retail,auOpRetail,df.RETEMPN * _decay -auto off-peak total,auOpTotal,df.TOTEMP * _decay -#,, -#,, transit peak -#,, -#,, assume peak outbound transit occurs in AM -o-d peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'AM')]" -o-d peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_XWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_WACC', 'AM')] + skim_od[('WLK_TRN_WLK_WAUX', 'AM')] + skim_od[('WLK_TRN_WLK_WEGR', 'AM')]" -o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR -#,, assume peak inbound transit occurs in PM -d-o peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'PM')]" -d-o peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_XWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_WACC', 'PM')] + skim_do[('WLK_TRN_WLK_WAUX', 'PM')] + skim_do[('WLK_TRN_WLK_WEGR', 'PM')]" -d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR -peak transit time,_trPkTime,(_trPkTime_od + _trPkTime_do).clip(0) -round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) -decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) -transit peak retail,trPkRetail,df.RETEMPN * _decay -transit peak total,trPkTotal,df.TOTEMP * _decay -#,, -#,, transit off-peak -#,, -#,, assume off-peak outbound transit occurs in the MD time period -o-d off-peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'MD')]" -o-d off-peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_WACC', 'MD')] + skim_od[('WLK_TRN_WLK_WAUX', 'MD')] + skim_od[('WLK_TRN_WLK_WEGR', 'MD')]" -o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR -#,, assume off-peak inbound transit occurs in the MD time period -d-o off-peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'MD')]" -d-o off-peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_WACC', 'MD')] + skim_do[('WLK_TRN_WLK_WAUX', 'MD')] + skim_do[('WLK_TRN_WLK_WEGR', 'MD')]" -d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR -peak transit time,_trOpTime,(_trOpTime_od + _trOpTime_do).clip(0) -#,,FIXME - _rt_available calculation appears to be wrong in mtctm1 accessibility.job -#round trip path is available,_rt_available,(_trOpTime > 0) -round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) -decay function,_decay,_rt_available * exp(_trOpTime * dispersion_parameter_transit) -transit off-peak retail,trOpRetail,df.RETEMPN * _decay -transit off-peak total,trOpTotal,df.TOTEMP * _decay -#,, -#,, non motorized -#,, -non-motorized round trip distance,_nmDist,skim_od['DISTWALK'] + skim_do['DISTWALK'] -round trip path is available,_rt_available,_nmDist <= maximum_walk_distance -decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) -retail accessibility,nmRetail,df.RETEMPN * _decay -total accessibility,nmTotal,df.TOTEMP * _decay diff --git a/activitysim/examples/example_psrc/configs/accessibility.yaml b/activitysim/examples/example_psrc/configs/accessibility.yaml deleted file mode 100755 index 0ba32fd50a..0000000000 --- a/activitysim/examples/example_psrc/configs/accessibility.yaml +++ /dev/null @@ -1,13 +0,0 @@ - -# columns from land_use table to add to df -land_use_columns: ['RETEMPN', 'TOTEMP'] - -CONSTANTS: - # dispersion parameters - dispersion_parameter_automobile: -0.05 - dispersion_parameter_transit: -0.05 - dispersion_parameter_walk: -1.00 - # maximum walk distance in miles - maximum_walk_distance: 3.0 - # perceived minute of in-vehicle time for every minute of out-of-vehicle time - out_of_vehicle_time_weight: 2.0 diff --git a/activitysim/examples/example_psrc/configs/annotate_households.csv b/activitysim/examples/example_psrc/configs/annotate_households.csv deleted file mode 100755 index ed6f257847..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_households.csv +++ /dev/null @@ -1,35 +0,0 @@ -Description,Target,Expression -#,, annotate households table after import -,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" -#,,FIXME households.income can be negative - so we clip? -income_in_thousands,income_in_thousands,(households.income / 1000).clip(lower=0) -income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[INCOME_SEGMENT_LOW, INCOME_SEGMENT_MED, INCOME_SEGMENT_HIGH, INCOME_SEGMENT_VERYHIGH]).astype(int)" -#,, -,_MIN_VOT,setting('min_value_of_time') -,_MAX_VOT,setting('max_value_of_time') -,_MU,setting('distributed_vot_mu') -,_SIGMA,setting('distributed_vot_sigma') -median_value_of_time,median_value_of_time,"income_segment.map({k: v for k, v in setting('household_median_value_of_time').items()})" -hh_value_of_time,hh_value_of_time,"rng.lognormal_for_df(df, mu=np.log(median_value_of_time * _MU), sigma=_SIGMA).clip(_MIN_VOT, _MAX_VOT)" -#,, -#num_workers was renamed in import,, -#,num_workers,households.workers -number of non_workers,num_non_workers,households.hhsize - households.num_workers -#,, -#,,we assume that everyone 16 and older is a potential driver -number of drivers,num_drivers,"_PERSON_COUNT('16 <= age', persons, households)" -num_adults,num_adults,"_PERSON_COUNT('adult', persons, households)" -num_children,num_children,"_PERSON_COUNT('~adult', persons, households)" -num_young_children,num_young_children,"_PERSON_COUNT('age <= 5', persons, households)" -num_children_5_to_15,num_children_5_to_15,"_PERSON_COUNT('5 <= age <= 15', persons, households)" -num_children_16_to_17,num_children_16_to_17,"_PERSON_COUNT('16 <= age <= 17', persons, households)" -num_college_age,num_college_age,"_PERSON_COUNT('18 <= age <= 24', persons, households)" -num_young_adults,num_young_adults,"_PERSON_COUNT('25 <= age <= 34', persons, households)" -non_family,non_family,households.HHT.isin(HHT_NONFAMILY) -family,family,households.HHT.isin(HHT_FAMILY) -home_is_urban,home_is_urban,"reindex(land_use.area_type, households.home_zone_id) < setting('urban_threshold')" -home_is_rural,home_is_rural,"reindex(land_use.area_type, households.home_zone_id) > setting('rural_threshold')" - - - - diff --git a/activitysim/examples/example_psrc/configs/annotate_households_cdap.csv b/activitysim/examples/example_psrc/configs/annotate_households_cdap.csv deleted file mode 100755 index a11620f76b..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_households_cdap.csv +++ /dev/null @@ -1,9 +0,0 @@ -Description,Target,Expression -#,, annotate households table after cdap model has run -num_under16_not_at_school,num_under16_not_at_school,persons.under16_not_at_school.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_adults,num_travel_active_adults,(persons.adult & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == PTYPE_PRESCHOOL) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_children,num_travel_active_children,num_travel_active - num_travel_active_adults -num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers -participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) diff --git a/activitysim/examples/example_psrc/configs/annotate_households_workplace.csv b/activitysim/examples/example_psrc/configs/annotate_households_workplace.csv deleted file mode 100755 index 29ff416845..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_households_workplace.csv +++ /dev/null @@ -1,5 +0,0 @@ -Description,Target,Expression -#,, annotate households table after workplace_location model has run -#,, hh_work_auto_savings_ratio is sum of persons work_auto_savings_ratio -,hh_work_auto_savings_ratio,persons.work_auto_savings_ratio.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0) -#,,handle persons with no location diff --git a/activitysim/examples/example_psrc/configs/annotate_landuse.csv b/activitysim/examples/example_psrc/configs/annotate_landuse.csv deleted file mode 100755 index 1ff6c27843..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_landuse.csv +++ /dev/null @@ -1,5 +0,0 @@ -Description,Target,Expression -#,, annotate landuse table after import -household_density,household_density,land_use.TOTHH / (land_use.RESACRE + land_use.CIACRE) -employment_density,employment_density,land_use.TOTEMP / (land_use.RESACRE + land_use.CIACRE) -density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) diff --git a/activitysim/examples/example_psrc/configs/annotate_persons.csv b/activitysim/examples/example_psrc/configs/annotate_persons.csv deleted file mode 100755 index 037dc3fe5d..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_persons.csv +++ /dev/null @@ -1,38 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after import -age_16_to_19,age_16_to_19,"persons.age.between(16, 19)" -age_16_p,age_16_p,persons.age >= 16 -adult,adult,persons.age >= 18 -male,male,persons.sex == 1 -female,female,persons.sex == 2 -presence of non_worker other than self in household,has_non_worker,"other_than(persons.household_id, persons.ptype == PTYPE_NONWORK)" -presence of retiree other than self in household,has_retiree,"other_than(persons.household_id, persons.ptype == PTYPE_RETIRED)" -presence of preschooler other than self in household,has_preschool_kid,"other_than(persons.household_id, persons.ptype == PTYPE_PRESCHOOL)" -presence of driving_kid other than self in household,has_driving_kid,"other_than(persons.household_id, persons.ptype == PTYPE_DRIVING)" -presence of school_kid other than self in household,has_school_kid,"other_than(persons.household_id, persons.ptype == PTYPE_SCHOOL)" -presence of full_time worker other than self in household (independent of person type),has_full_time,"other_than(persons.household_id, persons.pemploy==PEMPLOY_FULL)" -presence of part_time worker other than self in household (independent of person type),has_part_time,"other_than(persons.household_id, persons.pemploy==PEMPLOY_PART)" -presence of university student other than self in household,has_university,"other_than(persons.household_id, persons.ptype == PTYPE_UNIVERSITY)" -student_is_employed,student_is_employed,"(persons.ptype.isin([PTYPE_UNIVERSITY, PTYPE_DRIVING]) & persons.pemploy.isin([PEMPLOY_FULL, PEMPLOY_PART]))" -nonstudent_to_school,nonstudent_to_school,"(persons.ptype.isin([PTYPE_FULL, PTYPE_PART, PTYPE_NONWORK, PTYPE_RETIRED]) & persons.pstudent.isin([PSTUDENT_GRADE_OR_HIGH, PSTUDENT_UNIVERSITY]))" -#,, -#,, FIXME - if person is a university student but has school age student category value then reset student category value -,pstudent,"persons.pstudent.where(persons.ptype!=PTYPE_UNIVERSITY, PSTUDENT_UNIVERSITY)" -#,, FIXME if person is a student of any kind but has full-time employment status then reset student category value to non-student -,pstudent,"pstudent.where(persons.ptype!=PTYPE_FULL, PSTUDENT_NOT)" -#,, FIXME if student category is non-student and employment is student then reset student category value to student -,pstudent,"pstudent.where((persons.ptype!=PTYPE_DRIVING) & (persons.ptype!=PTYPE_SCHOOL), PSTUDENT_GRADE_OR_HIGH)" -#,, -is_student,is_student,"pstudent.isin([PSTUDENT_GRADE_OR_HIGH, PSTUDENT_UNIVERSITY])" -preschool age can go to preschool,is_student,"is_student.where(persons.age > GRADE_SCHOOL_MIN_AGE, True)" -preschool age can go to preschool,pstudent,"pstudent.where(persons.age > GRADE_SCHOOL_MIN_AGE, PSTUDENT_GRADE_OR_HIGH)" -is_gradeschool,is_gradeschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age <= GRADE_SCHOOL_MAX_AGE) -is_highschool,is_highschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age > GRADE_SCHOOL_MAX_AGE) -is_university,is_university,pstudent == PSTUDENT_UNIVERSITY -school_segment gradeschool,school_segment,"np.where(is_gradeschool, SCHOOL_SEGMENT_GRADE, SCHOOL_SEGMENT_NONE)" -school_segment highschool,school_segment,"np.where(is_highschool, SCHOOL_SEGMENT_HIGH, school_segment)" -school_segment university,school_segment,"np.where(is_university, SCHOOL_SEGMENT_UNIV, school_segment).astype(np.int8)" -#,, -is_worker,is_worker,"persons.pemploy.isin([PEMPLOY_FULL, PEMPLOY_PART])" -#,, -home_zone_id,home_zone_id,"reindex(households.home_zone_id, persons.household_id)" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_after_hh.csv b/activitysim/examples/example_psrc/configs/annotate_persons_after_hh.csv deleted file mode 100755 index 905aca7531..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_persons_after_hh.csv +++ /dev/null @@ -1,5 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after annotate_households -#,, adults get full hh_value_of_time and children get 60% -,_hh_vot,"reindex(households.hh_value_of_time, persons.household_id)" -,value_of_time,"_hh_vot.where(persons.age>=18, _hh_vot * 0.667)" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_cdap.csv b/activitysim/examples/example_psrc/configs/annotate_persons_cdap.csv deleted file mode 100755 index 10ebafbc73..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_persons_cdap.csv +++ /dev/null @@ -1,6 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after cdap model has run -travel_active,travel_active,persons.cdap_activity != CDAP_ACTIVITY_HOME -under16_not_at_school,under16_not_at_school,"persons.ptype.isin([PTYPE_SCHOOL, PTYPE_PRESCHOOL]) & persons.cdap_activity.isin(['N', 'H'])" -has_preschool_kid_at_home,has_preschool_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_PRESCHOOL) & (persons.cdap_activity == 'H'))" -has_school_kid_at_home,has_school_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_SCHOOL) & (persons.cdap_activity == 'H'))" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_jtp.csv b/activitysim/examples/example_psrc/configs/annotate_persons_jtp.csv deleted file mode 100755 index 3d5e08db0c..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_persons_jtp.csv +++ /dev/null @@ -1,3 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after joint_tour_participation model has run -num_joint_tours,num_joint_tours,"joint_tour_participants.groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_mtf.csv b/activitysim/examples/example_psrc/configs/annotate_persons_mtf.csv deleted file mode 100755 index e94a8776ca..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_persons_mtf.csv +++ /dev/null @@ -1,8 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after mandatory_tour_frequency model has run -,_PERSON_TOUR_COUNT,"lambda exp, persons, tours: tours.query(exp).groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" -,_Q,lambda s: "'{}'".format(s) -work_and_school_and_worker,work_and_school_and_worker,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_worker -work_and_school_and_student,work_and_school_and_student,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_student -number of mandatory tours for each person,num_mand,"_PERSON_TOUR_COUNT('tour_category==%s' % _Q('mandatory'), persons, tours).fillna(0)" -number of work tours for each person,num_work_tours,"_PERSON_TOUR_COUNT('tour_type==%s' % _Q('work'), persons, tours).fillna(0)" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_nmtf.csv b/activitysim/examples/example_psrc/configs/annotate_persons_nmtf.csv deleted file mode 100755 index 3305b4ecb6..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_persons_nmtf.csv +++ /dev/null @@ -1,10 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after non_mandatory_tour_frequency model has run -num_non_mand,num_non_mand,tours[tours.tour_category=='non_mandatory'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_escort_tours,num_escort_tours,tours[tours.tour_type == 'escort'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_eatout_tours,num_eatout_tours,tours[tours.tour_type == 'eatout'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_shop_tours,num_shop_tours,tours[tours.tour_type == 'shopping'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_maint_tours,num_maint_tours,tours[tours.tour_type == 'othmaint'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_discr_tours,num_discr_tours,tours[tours.tour_type == 'othdiscr'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_social_tours,num_social_tours,tours[tours.tour_type == 'social'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_non_escort_tours,num_non_escort_tours,num_non_mand-num_escort_tours diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_school.csv b/activitysim/examples/example_psrc/configs/annotate_persons_school.csv deleted file mode 100755 index 43625623f8..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_persons_school.csv +++ /dev/null @@ -1,7 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after school_location model has run -,distance_to_school,"np.where(persons.school_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, 'DIST'),np.nan)" -#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD -temp auto_time_to_school,_auto_time_to_school,"skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, ('SOV_TIME', 'MD'))" -temp auto_time_return,_auto_time_return,"skim_dict.lookup(persons.school_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" -free flow roundtrip_auto_time_to_school,roundtrip_auto_time_to_school,"np.where(persons.school_zone_id>=0,_auto_time_to_school + _auto_time_return,0)" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_workplace.csv b/activitysim/examples/example_psrc/configs/annotate_persons_workplace.csv deleted file mode 100755 index f215886a5e..0000000000 --- a/activitysim/examples/example_psrc/configs/annotate_persons_workplace.csv +++ /dev/null @@ -1,32 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after workplace_location model has run -,distance_to_work,"np.where(persons.workplace_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DIST'),np.nan)" -workplace_in_cbd,workplace_in_cbd,"reindex(land_use.area_type, persons.workplace_zone_id) < setting('cbd_threshold')" -work_zone_area_type,work_zone_area_type,"reindex(land_use.area_type, persons.workplace_zone_id)" -#,, auto time to work - free flow travel time in both directions. MTC TM1 was MD and MD -#,,roundtrip_auto_time_to_work -,_auto_time_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('SOV_TIME', 'MD'))" -,_auto_time_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" -,roundtrip_auto_time_to_work,"np.where(persons.workplace_zone_id>=0,_auto_time_home_to_work + _auto_time_work_to_home,0)" -#,,_roundtrip_walk_time_to_work -,_MAX_TIME_TO_WORK,999 -,_WALK_SPEED_MPH,3 -,_walk_time_home_to_work,"60 * skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" -,_walk_time_work_to_home,"60 * skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" -,_work_walk_available,(_walk_time_home_to_work > 0) & (_walk_time_work_to_home > 0) -,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" -#,,_roundtrip_transit_time_to_work -,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" -,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" -,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) -,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" -,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" -,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR" -,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR" -,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR" -,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr -#,,work_auto_savings_ratio -,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" -,work_auto_savings,"np.where(persons.is_worker, _min_work_walk_transit - roundtrip_auto_time_to_work, 0)" -#,,auto savings over walk or transit capped at 120 and normalized to unity -,work_auto_savings_ratio,"(work_auto_savings / 120.0).clip(-1.0, 1.0)" diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_destination_coeffs.csv b/activitysim/examples/example_psrc/configs/atwork_subtour_destination_coeffs.csv deleted file mode 100755 index 83e9368c63..0000000000 --- a/activitysim/examples/example_psrc/configs/atwork_subtour_destination_coeffs.csv +++ /dev/null @@ -1,10 +0,0 @@ -coefficient_name,value,constrain -coef_distance_piecewise_linear_from_0_to_1_miles,-0.7926,F -coef_distance_piecewise_linear_from_1_to_2_miles,-0.7926,F -coef_distance_piecewise_linear_from_2_to_5_miles,-0.5197,F -coef_distance_piecewise_linear_from_5_to_15_miles,-0.2045,F -coef_distance_piecewise_linear_for_15_plus_miles,-0.2045,F -coef_size_variable_atwork,1,T -coef_no_attractions_atwork_size_variable_is_0,-999,T -coef_mode_choice_logsum,0.5136,F -coef_sample_of_alternatives_correction_factor,1,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency.csv b/activitysim/examples/example_psrc/configs/atwork_subtour_frequency.csv deleted file mode 100755 index 5e7ba625c8..0000000000 --- a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency.csv +++ /dev/null @@ -1,23 +0,0 @@ -Label,Expression,no_subtours,eat,business1,maint,business2,eat_business -util_dummy_for_full_time_worker,pemploy==1,coefficient_dummy_for_full_time_worker_no_subtours,coefficient_dummy_for_full_time_worker_eat,coefficient_dummy_for_full_time_worker_business1,coefficient_dummy_for_full_time_worker_maint,coefficient_dummy_for_full_time_worker_business2,coefficient_dummy_for_full_time_worker_eat_business -util_dummy_for_non_full_time_worker,pemploy!=1,coefficient_dummy_for_non_full_time_worker_no_subtours,coefficient_dummy_for_non_full_time_worker_eat,coefficient_dummy_for_non_full_time_worker_business1,coefficient_dummy_for_non_full_time_worker_maint,coefficient_dummy_for_non_full_time_worker_business2,coefficient_dummy_for_non_full_time_worker_eat_business -util_dummy_for_non_workers,"ptype in [4, 5]",coefficient_dummy_for_non_workers_no_subtours,coefficient_dummy_for_non_workers_eat,coefficient_dummy_for_non_workers_business1,coefficient_dummy_for_non_workers_maint,coefficient_dummy_for_non_workers_business2,coefficient_dummy_for_non_workers_eat_business -util_medium_hh_income_dummy,income_segment == 2,coefficient_medium_hh_income_dummy_no_subtours,coefficient_medium_hh_income_dummy_eat,coefficient_medium_hh_income_dummy_business1,coefficient_medium_hh_income_dummy_maint,coefficient_medium_hh_income_dummy_business2,coefficient_medium_hh_income_dummy_eat_business -util_high_hh_income_dummy,(income_segment > 2) & (income_segment < 5),coefficient_high_hh_income_dummy_no_subtours,coefficient_high_hh_income_dummy_eat,coefficient_high_hh_income_dummy_business1,coefficient_high_hh_income_dummy_maint,coefficient_high_hh_income_dummy_business2,coefficient_high_hh_income_dummy_eat_business -util_zero_cars_owned_by_hh_dummy, auto_ownership == 0,coefficient_zero_cars_owned_by_hh_dummy_no_subtours,coefficient_zero_cars_owned_by_hh_dummy_eat,coefficient_zero_cars_owned_by_hh_dummy_business1,coefficient_zero_cars_owned_by_hh_dummy_maint,coefficient_zero_cars_owned_by_hh_dummy_business2,coefficient_zero_cars_owned_by_hh_dummy_eat_business -util_individual_discretionary_tours_made_by_full_time_worker,@(df.pemploy==1)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business -util_individual_discretionary_tours_made_by_part_time_worker,@(df.pemploy==2)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business -util_individual_eating_out_tours_made_by_person,num_eatout_tours,coefficient_individual_eating_out_tours_made_by_person_no_subtours,coefficient_individual_eating_out_tours_made_by_person_eat,coefficient_individual_eating_out_tours_made_by_person_business1,coefficient_individual_eating_out_tours_made_by_person_maint,coefficient_individual_eating_out_tours_made_by_person_business2,coefficient_individual_eating_out_tours_made_by_person_eat_business -util_main_shop_escort_tours_allocated_to_full_time_worker,@(df.pemploy==1)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business -util_main_shop_escort_tours_allocated_to_part_time_worker,@(df.pemploy==2)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business -util_participation_in_joint_shop_main_eat_tours,num_joint_maint_shop_eat,coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,coefficient_participation_in_joint_shop_main_eat_tours_eat,coefficient_participation_in_joint_shop_main_eat_tours_business1,coefficient_participation_in_joint_shop_main_eat_tours_maint,coefficient_participation_in_joint_shop_main_eat_tours_business2,coefficient_participation_in_joint_shop_main_eat_tours_eat_business -util_participation_in_joint_discretionary_tours,num_joint_discr,coefficient_participation_in_joint_discretionary_tours_no_subtours,coefficient_participation_in_joint_discretionary_tours_eat,coefficient_participation_in_joint_discretionary_tours_business1,coefficient_participation_in_joint_discretionary_tours_maint,coefficient_participation_in_joint_discretionary_tours_business2,coefficient_participation_in_joint_discretionary_tours_eat_business -util_log_of_the_work_tour_duration,@np.log(df.duration+0.5),coefficient_log_of_the_work_tour_duration_no_subtours,coefficient_log_of_the_work_tour_duration_eat,coefficient_log_of_the_work_tour_duration_business1,coefficient_log_of_the_work_tour_duration_maint,coefficient_log_of_the_work_tour_duration_business2,coefficient_log_of_the_work_tour_duration_eat_business -util_dummy_for_drive_alone_mode_for_work_tour,work_tour_is_SOV,coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business -util_two_work_tours_by_person,num_work_tours==2,coefficient_two_work_tours_by_person_no_subtours,coefficient_two_work_tours_by_person_eat,coefficient_two_work_tours_by_person_business1,coefficient_two_work_tours_by_person_maint,coefficient_two_work_tours_by_person_business2,coefficient_two_work_tours_by_person_eat_business -util_workplace_urban_area_dummy,work_zone_area_type<4,coefficient_workplace_urban_area_dummy_no_subtours,coefficient_workplace_urban_area_dummy_eat,coefficient_workplace_urban_area_dummy_business1,coefficient_workplace_urban_area_dummy_maint,coefficient_workplace_urban_area_dummy_business2,coefficient_workplace_urban_area_dummy_eat_business -util_workplace_suburban_area_dummy,(work_zone_area_type>3) & (work_zone_area_type<6),coefficient_workplace_suburban_area_dummy_no_subtours,coefficient_workplace_suburban_area_dummy_eat,coefficient_workplace_suburban_area_dummy_business1,coefficient_workplace_suburban_area_dummy_maint,coefficient_workplace_suburban_area_dummy_business2,coefficient_workplace_suburban_area_dummy_eat_business -util_auto_accessibility_to_retail_for_work_taz,auOpRetail,coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,coefficient_auto_accessibility_to_retail_for_work_taz_eat,coefficient_auto_accessibility_to_retail_for_work_taz_business1,coefficient_auto_accessibility_to_retail_for_work_taz_maint,coefficient_auto_accessibility_to_retail_for_work_taz_business2,coefficient_auto_accessibility_to_retail_for_work_taz_eat_business -util_walk_accessibility_to_retail_for_work_taz,nmRetail,coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,coefficient_walk_accessibility_to_retail_for_work_taz_eat,coefficient_walk_accessibility_to_retail_for_work_taz_business1,coefficient_walk_accessibility_to_retail_for_work_taz_maint,coefficient_walk_accessibility_to_retail_for_work_taz_business2,coefficient_walk_accessibility_to_retail_for_work_taz_eat_business -util_dummy_for_worker_or_student_with_non_mandatory_tour,(is_worker | is_student) * num_non_mand,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business -util_at_work_sub_tour_alternative_specific_constant,1,coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,coefficient_at_work_sub_tour_alternative_specific_constant_eat,coefficient_at_work_sub_tour_alternative_specific_constant_business1,coefficient_at_work_sub_tour_alternative_specific_constant_maint,coefficient_at_work_sub_tour_alternative_specific_constant_business2,coefficient_at_work_sub_tour_alternative_specific_constant_eat_business diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency.yaml b/activitysim/examples/example_psrc/configs/atwork_subtour_frequency.yaml deleted file mode 100755 index 125bf2c1fd..0000000000 --- a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency.yaml +++ /dev/null @@ -1,11 +0,0 @@ - -SPEC: atwork_subtour_frequency.csv -COEFFICIENTS: atwork_subtour_frequency_coeffs.csv - -preprocessor: - SPEC: atwork_subtour_frequency_annotate_tours_preprocessor - DF: df - TABLES: - - land_use - - tours - - joint_tour_participants diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_alternatives.csv deleted file mode 100755 index ed7c13c58d..0000000000 --- a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_alternatives.csv +++ /dev/null @@ -1,8 +0,0 @@ -#,,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,eat,business,maint -no_subtours,0,0,0 -eat,1,0,0 -business1,0,1,0 -maint,0,0,1 -business2,0,2,0 -eat_business,1,1,0 diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv deleted file mode 100755 index bf51e5bd78..0000000000 --- a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv +++ /dev/null @@ -1,9 +0,0 @@ -Description,Target,Expression -,num_maint_shop_escort,df.num_maint_tours+df.num_shop_tours+df.num_escort_tours -#,num_joint_maint_shop_eat,"reindex_i(tours[(tours.tour_category=='joint') & tours.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" -#,num_eatout_tours,"reindex_i(tours[~tours.is_joint & (tours.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" -joint tour participants annotated with tour type,_PARTICIPANTS,"pd.merge(joint_tour_participants[['tour_id', 'person_id']], tours[['tour_type']], left_on='tour_id', right_index=True, how='left')" -,num_joint_discr,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type=='othdiscr'].groupby('person_id').size(), df.person_id)" -,num_joint_maint_shop_eat,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" -#,, -,work_tour_is_SOV,"df.tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_coeffs.csv b/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_coeffs.csv deleted file mode 100755 index 79640c1d29..0000000000 --- a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_coeffs.csv +++ /dev/null @@ -1,133 +0,0 @@ -coefficient_name,value,constrain -coefficient_dummy_for_full_time_worker_business1,-7.375,F -coefficient_dummy_for_full_time_worker_business2,-14.28,F -coefficient_dummy_for_full_time_worker_eat,-7.28,F -coefficient_dummy_for_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_full_time_worker_maint,-8.093,F -coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_full_time_worker_business1,-8.319,F -coefficient_dummy_for_non_full_time_worker_business2,-14.28,F -coefficient_dummy_for_non_full_time_worker_eat,-8.604,F -coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_non_full_time_worker_maint,-8.214,F -coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_workers_business1,-5,T -coefficient_dummy_for_non_workers_business2,-5,T -coefficient_dummy_for_non_workers_eat,0,T -coefficient_dummy_for_non_workers_eat_business,-5,T -coefficient_dummy_for_non_workers_maint,-5,T -coefficient_dummy_for_non_workers_no_subtours,0,T -coefficient_medium_hh_income_dummy_business1,0.5555,F -coefficient_medium_hh_income_dummy_business2,1.111,F -coefficient_medium_hh_income_dummy_eat,0.61,F -coefficient_medium_hh_income_dummy_eat_business,1.1655,F -coefficient_medium_hh_income_dummy_maint,0.1527,F -coefficient_medium_hh_income_dummy_no_subtours,0,T -coefficient_high_hh_income_dummy_business1,1.066,F -coefficient_high_hh_income_dummy_business2,2.132,F -coefficient_high_hh_income_dummy_eat,0.8693,F -coefficient_high_hh_income_dummy_eat_business,1.9353,F -coefficient_high_hh_income_dummy_maint,0.1651,F -coefficient_high_hh_income_dummy_no_subtours,0,T -coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_business2,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F -coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T -coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F -coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F -coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F -coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F -coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F -coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T -coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F -coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F -coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F -coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F -coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F -coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T -coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F -coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F -coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F -coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F -coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F -coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T -coefficient_log_of_the_work_tour_duration_business1,1.142,F -coefficient_log_of_the_work_tour_duration_business2,2.284,F -coefficient_log_of_the_work_tour_duration_eat,1.55,F -coefficient_log_of_the_work_tour_duration_eat_business,2.692,F -coefficient_log_of_the_work_tour_duration_maint,1.659,F -coefficient_log_of_the_work_tour_duration_no_subtours,0,T -coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T -coefficient_two_work_tours_by_person_business1,0.3753,F -coefficient_two_work_tours_by_person_business2,0.7506,F -coefficient_two_work_tours_by_person_eat,-0.9862,F -coefficient_two_work_tours_by_person_eat_business,-0.6109,F -coefficient_two_work_tours_by_person_maint,-0.2312,F -coefficient_two_work_tours_by_person_no_subtours,0,T -coefficient_workplace_urban_area_dummy_business1,-0.2235,F -coefficient_workplace_urban_area_dummy_business2,-0.447,F -coefficient_workplace_urban_area_dummy_eat,-0.4182,F -coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F -coefficient_workplace_urban_area_dummy_maint,-0.1479,F -coefficient_workplace_urban_area_dummy_no_subtours,0,T -coefficient_workplace_suburban_area_dummy_business1,-0.1102,F -coefficient_workplace_suburban_area_dummy_business2,-0.2204,F -coefficient_workplace_suburban_area_dummy_eat,-0.2916,F -coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F -coefficient_workplace_suburban_area_dummy_maint,0,T -coefficient_workplace_suburban_area_dummy_no_subtours,0,T -coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F -coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F -coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F -coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F -coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T -coefficient_at_work_sub_tour_alternative_specific_constant_business1,-0.5372,F -coefficient_at_work_sub_tour_alternative_specific_constant_business2,-2.1337,F -coefficient_at_work_sub_tour_alternative_specific_constant_eat,0.8576,F -coefficient_at_work_sub_tour_alternative_specific_constant_eat_business,-0.9721,F -coefficient_at_work_sub_tour_alternative_specific_constant_maint,-0.6198,F -coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,0,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/auto_ownership.csv b/activitysim/examples/example_psrc/configs/auto_ownership.csv deleted file mode 100755 index a2f5a32910..0000000000 --- a/activitysim/examples/example_psrc/configs/auto_ownership.csv +++ /dev/null @@ -1,30 +0,0 @@ -Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 -util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 -util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 -util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up -util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 -util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 -util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 -util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 -util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 -util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 -util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k -util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc -util_asc_san_francisco,San Francisco county,@df.county_id == ID_SAN_FRANCISCO,,coef_cars1_asc_san_francisco,coef_cars2_asc_san_francisco,coef_cars34_asc_san_francisco,coef_cars34_asc_san_francisco -util_asc_solano,Solano county,@df.county_id == ID_SOLANO,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_napa,Napa county,@df.county_id == ID_NAPA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_sonoma,Sonoma county,@df.county_id == ID_SONOMA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_marin,Marin county,@df.county_id == ID_MARIN,,coef_cars1_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin -util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers -util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers -util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers -util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers -util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker diff --git a/activitysim/examples/example_psrc/configs/auto_ownership.yaml b/activitysim/examples/example_psrc/configs/auto_ownership.yaml deleted file mode 100755 index 90bff70125..0000000000 --- a/activitysim/examples/example_psrc/configs/auto_ownership.yaml +++ /dev/null @@ -1,17 +0,0 @@ - -SPEC: auto_ownership.csv -COEFFICIENTS: auto_ownership_coeffs.csv - -#LOGIT_TYPE: NL -LOGIT_TYPE: MNL - -CONSTANTS: - ID_SAN_FRANCISCO: 1 - ID_SAN_MATEO: 2 - ID_SANTA_CLARA: 3 - ID_ALAMEDA: 4 - ID_CONTRA_COSTA: 5 - ID_SOLANO: 6 - ID_NAPA: 7 - ID_SONOMA: 8 - ID_MARIN: 9 diff --git a/activitysim/examples/example_psrc/configs/auto_ownership_coeffs.csv b/activitysim/examples/example_psrc/configs/auto_ownership_coeffs.csv deleted file mode 100755 index 9c1470b690..0000000000 --- a/activitysim/examples/example_psrc/configs/auto_ownership_coeffs.csv +++ /dev/null @@ -1,68 +0,0 @@ -coefficient_name,value,constrain -coef_cars1_drivers_2,0,T -coef_cars1_drivers_3,0,T -coef_cars1_persons_16_17,0,T -coef_cars234_asc_marin,0,T -coef_cars1_persons_25_34,0,T -coef_cars1_num_workers_clip_3,0,T -coef_cars1_hh_income_30_up,0,T -coef_cars1_density_0_10_no_workers,0,T -coef_cars1_density_10_up_workers,-0.0152,F -coef_retail_non_motor,-0.03,T -coef_cars4_asc,-5.313,F -coef_cars3_asc,-3.2502,F -coef_cars34_persons_16_17,-1.7313,F -coef_cars2_asc,-1.0846,F -coef_cars34_persons_18_24,-1.0107,F -coef_cars2_persons_18_24,-1.0095,F -coef_cars2_persons_16_17,-0.881,F -coef_cars34_persons_25_34,-0.8596,F -coef_cars1_asc_county,-0.566,F -coef_retail_transit_workers,-0.5117,F -coef_cars2_persons_25_34,-0.4849,F -coef_cars2_asc_county,-0.4429,F -coef_cars1_persons_18_24,-0.4087,F -coef_cars34_density_0_10_no_workers,-0.3654,F -coef_retail_transit_no_workers,-0.3053,F -coef_cars1_asc_marin,-0.2434,F -coef_cars34_asc_county,-0.2372,F -coef_cars2_density_0_10_no_workers,-0.2028,F -coef_cars34_density_10_up_no_workers,-0.1766,F -coef_cars2_density_10_up_no_workers,-0.1106,F -coef_cars2_density_10_up_workers,-0.1106,F -coef_cars1_density_10_up_no_workers,-0.0152,F -coef_cars2_hh_income_30_up,0.0083,F -coef_cars3_hh_income_30_up,0.011,F -coef_cars4_hh_income_30_up,0.0147,F -coef_cars1_presence_children_5_17,0.0158,F -coef_cars1_hh_income_0_30k,0.0383,F -coef_cars2_hh_income_0_30k,0.054,F -coef_cars3_hh_income_0_30k,0.0559,F -coef_cars4_hh_income_0_30k,0.0619,F -coef_retail_auto_no_workers,0.0626,F -coef_cars34_asc_san_francisco,0.1458,F -coef_retail_auto_workers,0.1646,F -coef_cars2_presence_children_5_17,0.2936,F -coef_cars2_num_workers_clip_3,0.2936,F -coef_cars1_presence_children_0_4,0.3669,F -coef_cars1_asc_san_francisco,0.4259,F -coef_cars2_asc_san_francisco,0.4683,F -coef_cars1_auto_time_saving_per_worker,0.4707,F -coef_cars34_presence_children_5_17,0.4769,F -coef_cars3_auto_time_saving_per_worker,0.5705,F -coef_cars2_auto_time_saving_per_worker,0.6142,F -coef_cars3_num_workers_clip_3,0.6389,F -coef_cars234_presence_children_0_4,0.7627,F -coef_cars4_auto_time_saving_per_worker,0.7693,F -coef_cars4_num_workers_clip_3,0.8797,F -coef_cars1_asc,1.1865,F -coef_cars1_drivers_4_up,2.0107,F -coef_cars4_drivers_2,2.6616,F -coef_cars2_drivers_2,3.0773,F -coef_cars3_drivers_2,3.1962,F -coef_cars2_drivers_3,3.5401,F -coef_cars4_drivers_3,5.208,F -coef_cars3_drivers_3,5.5131,F -coef_cars2_drivers_4_up,6.3662,F -coef_cars3_drivers_4_up,8.5148,F -coef_cars4_drivers_4_up,9.5807,F diff --git a/activitysim/examples/example_psrc/configs/cdap_fixed_relative_proportions.csv b/activitysim/examples/example_psrc/configs/cdap_fixed_relative_proportions.csv deleted file mode 100755 index c011a597c5..0000000000 --- a/activitysim/examples/example_psrc/configs/cdap_fixed_relative_proportions.csv +++ /dev/null @@ -1,9 +0,0 @@ -Description,Expression,M,N,H -Full-time worker,ptype == 1,0.79647,0.09368,0.10985 -Part-time worker,ptype == 2,0.61678,0.25757,0.12565 -University student,ptype == 3,0.69229,0.15641,0.1513 -Non-working adult,ptype == 4,0,0.67169,0.32831 -Retired,ptype == 5,0,0.54295,0.45705 -Driving-age child who is in school,ptype == 6,0.77609,0.06004,0.16387 -Pre-driving-age child who is in school,ptype == 7,0.68514,0.09144,0.22342 -Child who is too young for school,ptype == 8,0.14056,0.06512,0.79432 diff --git a/activitysim/examples/example_psrc/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/example_psrc/configs/cdap_indiv_and_hhsize1.csv deleted file mode 100755 index aafe57bf62..0000000000 --- a/activitysim/examples/example_psrc/configs/cdap_indiv_and_hhsize1.csv +++ /dev/null @@ -1,51 +0,0 @@ -Description,Expression,M,N,H -Full-time worker alternative-specific constants,ptype == 1,coef_full_time_worker_asc_M,coef_full_time_worker_asc_N, -Part-time worker alternative-specific constants,ptype == 2,coef_part_time_worker_asc_M,coef_part_time_worker_asc_N, -University student alternative-specific constants,ptype == 3,coef_university_student_asc_M,coef_university_student_asc_N, -Non-working adult alternative-specific constants,ptype == 4,coef_UNAVAILABLE,coef_non_working_adult_asc_N, -Retired alternative-specific constants,ptype == 5,coef_UNAVAILABLE,coef_retired_asc_N, -Driving-age child who is in school alternative-specific constants,ptype == 6,coef_driving_age_child_who_is_in_school_asc_M,coef_driving_age_child_who_is_in_school_asc_N, -Pre-driving-age child who is in school alternative-specific constants,ptype == 7,coef_pre_driving_age_child_who_is_in_school_asc_M,coef_pre_driving_age_child_who_is_in_school_asc_N, -Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M,, -Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N, -Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,coef_pre_driving_age_child_who_is_too_young_for_school_asc_N, -# corrected tm1 age bug,,,, -Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,, -Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,, -#,,,, -Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),coef_full_time_worker_interaction_with_age_less_than_40_M,, -Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,coef_retired_interaction_with_age_more_than_80_H -Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),coef_full_time_worker_interaction_with_female_gender_M,, -Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),coef_non_working_adult_interaction_with_female_gender_M,, -Retired interaction with female,(ptype == 5) & (sex == 2),coef_retired_interaction_with_female_M,, -Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),coef_non_working_adult_interaction_with_more_cars_than_workers_M,coef_non_working_adult_interaction_with_more_cars_than_workers_N, -Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),coef_retired_interaction_with_more_cars_than_workers_M,coef_retired_interaction_with_more_cars_than_workers_N, -Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N, -Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,coef_full_time_worker_interaction_with_fewer_cars_than_workers_H -Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,coef_non_working_adult_interaction_with_fewer_cars_than_workers_H -Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,coef_retired_interaction_with_fewer_cars_than_workers_H -Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H -Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H -Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H -Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,coef_full_time_worker_interaction_with_income_less_than_20k_H -Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,coef_retired_interaction_with_income_less_than_20k_H -Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,coef_part_time_worker_interaction_with_income_less_than_20k_H -Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_part_time_worker_interaction_with_income_between_50k_and_100k_H -Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,coef_part_time_worker_interaction_with_income_more_than_100k_N,coef_part_time_worker_interaction_with_income_more_than_100k_H -Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_non_working_adult_interaction_with_income_between_50k_and_100k_H -Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,coef_non_working_adult_interaction_with_income_more_than_100k_H -Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H -Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H -Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H -Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H -Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H -Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,, -Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,, -Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,, -Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,coef_retired_interaction_with_peak_accessibility_to_all_employment_M,, -Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, -Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, -Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, diff --git a/activitysim/examples/example_psrc/configs/cdap_interaction_coefficients.csv b/activitysim/examples/example_psrc/configs/cdap_interaction_coefficients.csv deleted file mode 100755 index 854d48ef58..0000000000 --- a/activitysim/examples/example_psrc/configs/cdap_interaction_coefficients.csv +++ /dev/null @@ -1,138 +0,0 @@ -activity,interaction_ptypes,coefficient -# 2-way interactions,, -H,11,coef_H_11 -H,12,coef_H_12 -H,13,coef_H_13 -H,14,coef_H_14 -H,15,coef_H_15 -H,16,coef_H_16 -H,17,coef_H_17 -H,18,coef_H_18 -H,22,coef_H_22 -H,23,coef_H_23 -H,24,coef_H_24 -H,25,coef_H_25 -H,26,coef_H_26 -H,27,coef_H_27 -H,28,coef_H_28 -H,33,coef_H_33 -H,34,coef_H_34 -H,35,coef_H_35 -H,36,coef_H_36 -H,37,coef_H_37 -H,38,coef_H_38 -H,44,coef_H_44 -H,45,coef_H_45 -H,46,coef_H_46 -H,47,coef_H_47 -H,48,coef_H_48 -H,55,coef_H_55 -H,56,coef_H_56_57_58 -H,57,coef_H_56_57_58 -H,58,coef_H_56_57_58 -H,66,coef_H_66 -H,67,coef_H_67 -H,68,coef_H_68 -H,77,coef_H_77 -H,78,coef_H_78 -H,88,coef_H_88 -M,11,coef_M_11 -M,12,coef_M_12 -M,13,coef_M_13 -M,16,coef_M_16 -M,17,coef_M_17 -M,18,coef_M_18 -M,22,coef_M_22 -M,23,coef_M_23 -M,26,coef_M_26 -M,27,coef_M_27 -M,28,coef_M_28 -M,33,coef_M_33 -M,36,coef_M_36 -M,37,coef_M_37 -M,38,coef_M_38 -M,66,coef_M_66 -M,67,coef_M_67 -M,68,coef_M_68 -M,77,coef_M_77 -M,78,coef_M_78 -M,88,coef_M_88 -N,11,coef_N_11 -N,12,coef_N_12 -N,13,coef_N_13 -N,14,coef_N_14 -N,15,coef_N_15 -N,16,coef_N_16 -N,17,coef_N_17 -N,18,coef_N_18 -N,22,coef_N_22 -N,23,coef_N_23 -N,24,coef_N_24 -N,25,coef_N_25 -N,26,coef_N_26 -N,27,coef_N_27 -N,28,coef_N_28 -N,33,coef_N_33 -N,34,coef_N_34 -N,35,coef_N_35 -N,36,coef_N_36 -N,37,coef_N_37 -N,38,coef_N_38 -N,44,coef_N_44 -N,45,coef_N_45 -N,46,coef_N_46 -N,47,coef_N_47 -N,48,coef_N_48 -N,55,coef_N_55 -N,56,coef_N_56_57_58 -N,57,coef_N_56_57_58 -N,58,coef_N_56_57_58 -N,66,coef_N_66 -N,67,coef_N_67 -N,68,coef_N_68 -N,77,coef_N_77 -N,78,coef_N_78 -N,88,coef_N_88 -# 3-way interactions,, -H,124,coef_H_124_122_144 -H,122,coef_H_124_122_144 -H,144,coef_H_124_122_144 -H,126,coef_H_126_146 -H,146,coef_H_126_146 -H,222,coef_H_222_224_244 -H,224,coef_H_222_224_244 -H,244,coef_H_222_224_244 -H,226,coef_H_226_246_446 -H,246,coef_H_226_246_446 -H,446,coef_H_226_246_446 -H,266,coef_H_266_466 -H,466,coef_H_266_466 -M,111,coef_M_111 -M,112,coef_M_112_114 -M,114,coef_M_112_114 -M,666,coef_M_666 -N,112,coef_N_112_114 -N,114,coef_N_112_114 -N,124,coef_N_124_122_144 -N,122,coef_N_124_122_144 -N,144,coef_N_124_122_144 -N,166,coef_N_166 -N,222,coef_N_222_224_444 -N,224,coef_N_222_224_444 -N,444,coef_N_222_224_444 -N,246,coef_N_246_226_446 -N,226,coef_N_246_226_446 -N,446,coef_N_246_226_446 -# cdap_final_rules,, -M,5,coef_UNAVAILABLE -M,4,coef_UNAVAILABLE -# cdap_all_people,, -M,***,coef_M_xxx -N,***,coef_N_xxx -H,***,coef_H_xxx -M,****,coef_M_xxxx -N,****,coef_N_xxxx -H,****,coef_H_xxxx -M,*****,coef_M_xxxxx -N,*****,coef_N_xxxxx -H,*****,coef_H_xxxxx diff --git a/activitysim/examples/example_psrc/configs/constants.yaml b/activitysim/examples/example_psrc/configs/constants.yaml deleted file mode 100755 index b2896e4645..0000000000 --- a/activitysim/examples/example_psrc/configs/constants.yaml +++ /dev/null @@ -1,68 +0,0 @@ -## ActivitySim -## See full license in LICENSE.txt. - - -#HHT_NONE: 0 -#HHT_FAMILY_MARRIED: 1 -#HHT_FAMILY_MALE: 2 -#HHT_FAMILY_FEMALE: 3 -#HHT_NONFAMILY_MALE_ALONE: 4 -#HHT_NONFAMILY_MALE_NOTALONE: 5 -#HHT_NONFAMILY_FEMALE_ALONE: 6 -#HHT_NONFAMILY_FEMALE_NOTALONE: 7 - -# convenience for expression files -HHT_NONFAMILY: [4, 5, 6, 7] -HHT_FAMILY: [1, 2, 3] - -PSTUDENT_GRADE_OR_HIGH: 1 -PSTUDENT_UNIVERSITY: 2 -PSTUDENT_NOT: 3 - -GRADE_SCHOOL_MAX_AGE: 14 -GRADE_SCHOOL_MIN_AGE: 5 - -SCHOOL_SEGMENT_NONE: 0 -SCHOOL_SEGMENT_GRADE: 1 -SCHOOL_SEGMENT_HIGH: 2 -SCHOOL_SEGMENT_UNIV: 3 - -INCOME_SEGMENT_LOW: 1 -INCOME_SEGMENT_MED: 2 -INCOME_SEGMENT_HIGH: 3 -INCOME_SEGMENT_VERYHIGH: 4 - -PEMPLOY_FULL: 1 -PEMPLOY_PART: 2 -PEMPLOY_NOT: 3 -PEMPLOY_CHILD: 4 - -PTYPE_FULL: &ptype_full 1 -PTYPE_PART: &ptype_part 2 -PTYPE_UNIVERSITY: &ptype_university 3 -PTYPE_NONWORK: &ptype_nonwork 4 -PTYPE_RETIRED: &ptype_retired 5 -PTYPE_DRIVING: &ptype_driving 6 -PTYPE_SCHOOL: &ptype_school 7 -PTYPE_PRESCHOOL: &ptype_preschool 8 - -# these appear as column headers in non_mandatory_tour_frequency.csv -PTYPE_NAME: - *ptype_full: PTYPE_FULL - *ptype_part: PTYPE_PART - *ptype_university: PTYPE_UNIVERSITY - *ptype_nonwork: PTYPE_NONWORK - *ptype_retired: PTYPE_RETIRED - *ptype_driving: PTYPE_DRIVING - *ptype_school: PTYPE_SCHOOL - *ptype_preschool: PTYPE_PRESCHOOL - - -CDAP_ACTIVITY_MANDATORY: M -CDAP_ACTIVITY_NONMANDATORY: N -CDAP_ACTIVITY_HOME: H - -# Correction for transit skim expressions -# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and -# therefore need to be divided by the scale factor if used in expressions -TRANSIT_SCALE_FACTOR: 100 diff --git a/activitysim/examples/example_psrc/configs/destination_choice_size_terms.csv b/activitysim/examples/example_psrc/configs/destination_choice_size_terms.csv deleted file mode 100755 index 8c72d2a78f..0000000000 --- a/activitysim/examples/example_psrc/configs/destination_choice_size_terms.csv +++ /dev/null @@ -1,28 +0,0 @@ -model_selector,segment,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE -workplace,work_low,0,0.129,0.193,0.383,0.12,0.01,0.164,0,0,0,0 -workplace,work_med,0,0.12,0.197,0.325,0.139,0.008,0.21,0,0,0,0 -workplace,work_high,0,0.11,0.207,0.284,0.154,0.006,0.239,0,0,0,0 -workplace,work_veryhigh,0,0.093,0.27,0.241,0.146,0.004,0.246,0,0,0,0 -school,university,0,0,0,0,0,0,0,0,0,0.592,0.408 -school,gradeschool,0,0,0,0,0,0,0,1,0,0,0 -school,highschool,0,0,0,0,0,0,0,0,1,0,0 -non_mandatory,escort,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -#non_mandatory,escort_kids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -#non_mandatory,escort_nokids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -non_mandatory,shopping,0,1,0,0,0,0,0,0,0,0,0 -non_mandatory,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 -non_mandatory,othmaint,0,0.482,0,0.518,0,0,0,0,0,0,0 -non_mandatory,social,0,0.522,0,0.478,0,0,0,0,0,0,0 -non_mandatory,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 -atwork,atwork,0,0.742,0,0.258,0,0,0,0,0,0,0 -trip,work,0,1,1,1,1,1,1,0,0,0,0 -trip,escort,0.001,0.225,0,0.144,0,0,0,0.464,0.166,0,0 -trip,shopping,0.001,0.999,0,0,0,0,0,0,0,0,0 -trip,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 -trip,othmaint,0.001,0.481,0,0.518,0,0,0,0,0,0,0 -trip,social,0.001,0.521,0,0.478,0,0,0,0,0,0,0 -trip,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 -trip,univ,0.001,0,0,0,0,0,0,0,0,0.592,0.408 -# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,, -#trip,gradeschool,0,0,0,0,0,0,0,1,0,0,0 -#trip,highschool,0,0,0,0,0,0,0,0,1,0,0 diff --git a/activitysim/examples/example_psrc/configs/free_parking.csv b/activitysim/examples/example_psrc/configs/free_parking.csv deleted file mode 100755 index 5a1212b5be..0000000000 --- a/activitysim/examples/example_psrc/configs/free_parking.csv +++ /dev/null @@ -1,9 +0,0 @@ -Label,Description,Expression,free,pay -util_asc_san_francisco,,@df.workplace_county_id == ID_SAN_FRANCISCO,coef_asc_san_francisco,0.0 -util_asc_santa_clara,,@df.workplace_county_id == ID_SANTA_CLARA,coef_asc_santa_clara,0.0 -util_asc_alameda,,@df.workplace_county_id == ID_ALAMEDA,coef_asc_alameda,0.0 -util_income_very_high,Very high income household dummy,@df.income>=100000,coef_income_very_high,0.0 -util_income_high,High income housheold dummy,@(df.income>=60000) & (df.income<100000),coef_income_high,0.0 -util_hh_size_4_up,Household size is greater than 3 dummy,@df.hhsize>3,coef_hh_size_4_up,0.0 -util_more_autos_than_workers,More automobiles than workers dummy,@df.auto_ownership>df.num_workers,coef_more_autos_than_workers,0.0 -util_fewer_autos_than_workers,Fewer automobiles than workers dummy,@df.auto_ownership=30) & (income_in_thousands<60),coef_medium_income_households,, -util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed -util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, -util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed -util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, -util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, -util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows -util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, -util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, -util_travel_active_adult,At least one adult and at least one child must have Mand or Non Mand activity patterns to have adult/child joint travel,(num_travel_active_adults == 0) | (num_travel_active_children == 0),,,coef_unavailable \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/joint_tour_composition.yaml b/activitysim/examples/example_psrc/configs/joint_tour_composition.yaml deleted file mode 100755 index 55ee2015ec..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_composition.yaml +++ /dev/null @@ -1,11 +0,0 @@ -LOGIT_TYPE: MNL - -SPEC: joint_tour_composition.csv -COEFFICIENTS: joint_tour_composition_coeffs.csv - -preprocessor: - SPEC: joint_tour_composition_annotate_households_preprocessor - DF: households -# TABLES: -# - persons -# - accessibility diff --git a/activitysim/examples/example_psrc/configs/joint_tour_composition_annotate_households_preprocessor.csv b/activitysim/examples/example_psrc/configs/joint_tour_composition_annotate_households_preprocessor.csv deleted file mode 100755 index 80d442ba51..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_composition_annotate_households_preprocessor.csv +++ /dev/null @@ -1,22 +0,0 @@ -Description,Target,Expression -#,, -,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" -,time_window_overlap_adult,_HH_OVERLAPS['aa'] -,time_window_overlap_child,_HH_OVERLAPS['cc'] -,time_window_overlap_adult_child,_HH_OVERLAPS['ac'] -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -#,, -,_HH_PERSON_COUNT,"lambda exp, households, persons: persons.query(exp).groupby('household_id').size().reindex(households.index).fillna(0)" -,_num_full,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_FULL, households, persons)" -,_num_part,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PART, households, persons)" -,num_full_max3,"_num_full.clip(0,3)" -,num_part_max3,"_num_part.clip(0,3)" -,num_univ_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_UNIVERSITY, households, persons).clip(0,3)" -,num_nonwork_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_NONWORK, households, persons).clip(0,3)" -,num_preschool_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PRESCHOOL, households, persons).clip(0,3)" -,num_school_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_SCHOOL, households, persons).clip(0,3)" -,num_driving_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_DRIVING, households, persons).clip(0,3)" -#,, -,more_cars_than_workers,households.auto_ownership > (_num_full + _num_part) diff --git a/activitysim/examples/example_psrc/configs/joint_tour_composition_coeffs.csv b/activitysim/examples/example_psrc/configs/joint_tour_composition_coeffs.csv deleted file mode 100755 index ad082c2d1e..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_composition_coeffs.csv +++ /dev/null @@ -1,32 +0,0 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_asc_children,5.3517,F -coef_asc_mixed,5.6290,fF -coef_tour_purpose_is_eating_out_children,-0.9678,F -coef_tour_purpose_is_eating_out_mixed,-0.8027,F -coef_tour_purpose_is_discretionary_adults,0.7648,F -coef_tour_purpose_is_discretionary_children,0.5101,F -coef_number_of_full_time_workers_adults,1.024,F -coef_number_of_full_time_workers_mixed,0.3624,F -coef_number_of_part_time_workers_adults,0.5412,F -coef_number_of_part_time_workers_mixed,0.3164,F -coef_number_of_university_students,0.8245,F -coef_number_of_non_workers_adults,0.6263,F -coef_number_of_non_workers_mixed,-0.3724,F -coef_number_of_children_too_young_for_school_children,0.7306,F -coef_number_of_children_too_young_for_school_mixed,0.7906,F -coef_number_of_pre_driving_age_children_children,0.7306,F -coef_number_of_pre_driving_age_children_mixed,0.3532,F -coef_number_of_driving_age_children_children,-0.2667,F -coef_number_of_driving_age_children_mixed,-0.9399,F -coef_low_income_households_adults,1.248,F -coef_low_income_households_mixed,0.5755,F -coef_medium_income_households,0.8369,F -coef_household_has_more_cars_than_workers_adults,1.386,F -coef_household_has_more_cars_than_workers_mixed,0.751,F -coef_household_in_urban_area,0.5741,F -coef_household_in_suburban_area_adults,0.5105,F -coef_household_in_suburban_area_mixed,0.1283,F -coef_log_max_overlap_of_adults_time_windows,1.192,F -coef_log_max_overlap_of_childrens_time_windows,1.841,F -coef_log_max_overlap_of_time_windows,1.958,F diff --git a/activitysim/examples/example_psrc/configs/joint_tour_destination.yaml b/activitysim/examples/example_psrc/configs/joint_tour_destination.yaml deleted file mode 100755 index 62ea09b7e1..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_destination.yaml +++ /dev/null @@ -1,40 +0,0 @@ -include_settings: non_mandatory_tour_destination.yaml - -#SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv -#SPEC: non_mandatory_tour_destination.csv -#COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv -# -#SAMPLE_SIZE: 30 -# -#SIZE_TERM_SELECTOR: non_mandatory -# -## we can't use use household income_segment as this will also be set for non-workers -#CHOOSER_SEGMENT_COLUMN_NAME: tour_type -# -## optional (comment out if not desired) -#DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum -# -## comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -#DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample -# -# -#SEGMENTS: -# - shopping -# - othmaint -# - othdiscr -# - eatout -# - social -# - escort -# -#SIMULATE_CHOOSER_COLUMNS: -# - tour_type -# - home_zone_id -# - person_id -# -#LOGSUM_SETTINGS: tour_mode_choice.yaml -# -## model-specific logsum-related settings -#CHOOSER_ORIG_COL_NAME: home_zone_id -#ALT_DEST_COL_NAME: alt_dest -#IN_PERIOD: 14 -#OUT_PERIOD: 14 diff --git a/activitysim/examples/example_psrc/configs/joint_tour_frequency.csv b/activitysim/examples/example_psrc/configs/joint_tour_frequency.csv deleted file mode 100755 index 8405d30649..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_frequency.csv +++ /dev/null @@ -1,77 +0,0 @@ -Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD -util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours -#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, -util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, -#_shopping,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, -util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, -util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, -util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, -util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, -util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, -util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, -util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, -util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, -util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, -#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, -util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, -util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, -util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, -util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, -util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, -util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, -util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, -util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, -util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, -util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, -util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, -util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, -#_eatout,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, -util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, -util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, -util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, -util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, -util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, -util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, -util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, -util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, -util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, -util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, -util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, -util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, -#_visiting,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, -util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, -util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, -util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, -util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, -util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, -util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, -util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, -util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, -util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, -#_discretionary,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc -util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc -util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc -util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc -util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc -util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc -util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc -util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc -util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc -util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc -util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc -util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc -util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc -util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc -util_zeroAutomobiles_dis,zeroAutomobiles_disc,auto_ownership == 0,,,,,,coef_zeroAutomobiles_disc,,,,,coef_zeroAutomobiles_disc,,,,coef_zeroAutomobiles_disc,,,coef_zeroAutomobiles_disc,,coef_zeroAutomobiles_disc,2 * coef_zeroAutomobiles_disc \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/joint_tour_frequency.yaml b/activitysim/examples/example_psrc/configs/joint_tour_frequency.yaml deleted file mode 100755 index d5a70b1dfc..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_frequency.yaml +++ /dev/null @@ -1,11 +0,0 @@ -LOGIT_TYPE: MNL - -SPEC: joint_tour_frequency.csv -COEFFICIENTS: joint_tour_frequency_coeffs.csv - -preprocessor: - SPEC: joint_tour_frequency_annotate_households_preprocessor - DF: households - TABLES: - #- persons - - accessibility diff --git a/activitysim/examples/example_psrc/configs/joint_tour_frequency_alternatives.csv b/activitysim/examples/example_psrc/configs/joint_tour_frequency_alternatives.csv deleted file mode 100755 index fefa93432c..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_frequency_alternatives.csv +++ /dev/null @@ -1,23 +0,0 @@ -#,,,,,alt file for building joint tours -alt,shopping,othmaint,eatout,social,othdiscr -0_tours,0,0,0,0,0 -1_Shop,1,0,0,0,0 -1_Main,0,1,0,0,0 -1_Eat,0,0,1,0,0 -1_Visit,0,0,0,1,0 -1_Disc,0,0,0,0,1 -2_SS,2,0,0,0,0 -2_SM,1,1,0,0,0 -2_SE,1,0,1,0,0 -2_SV,1,0,0,1,0 -2_SD,1,0,0,0,1 -2_MM,0,2,0,0,0 -2_ME,0,1,1,0,0 -2_MV,0,1,0,1,0 -2_MD,0,1,0,0,1 -2_EE,0,0,2,0,0 -2_EV,0,0,1,1,0 -2_ED,0,0,1,0,1 -2_VV,0,0,0,2,0 -2_VD,0,0,0,1,1 -2_DD,0,0,0,0,2 diff --git a/activitysim/examples/example_psrc/configs/joint_tour_frequency_annotate_households_preprocessor.csv b/activitysim/examples/example_psrc/configs/joint_tour_frequency_annotate_households_preprocessor.csv deleted file mode 100755 index a466c43f65..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_frequency_annotate_households_preprocessor.csv +++ /dev/null @@ -1,32 +0,0 @@ -Description,Target,Expression -,_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype, activity, households, persons: persons.query('ptype == %s and cdap_activity==\'%s\'' % (ptype, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -,_PEMPLOY_CDAP_PATTERN_COUNT,"lambda pemploy, activity, households, persons: persons.query('pemploy == %s and cdap_activity==\'%s\'' % (pemploy, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -,_2_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype1, ptype2, activity, households, persons: persons.query('(ptype == %s or ptype == %s) and cdap_activity==\'%s\'' % (ptype1, ptype2, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -#,, -,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" -,time_window_overlap_adult,_HH_OVERLAPS['aa'] -,time_window_overlap_child,_HH_OVERLAPS['cc'] -,time_window_overlap_adult_child,_HH_OVERLAPS['ac'] -#,, -,cdap_home_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'H', households, persons).clip(0,3)" -,cdap_home_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'H', households, persons).clip(0,3)" -,cdap_home_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'H', households, persons).clip(0,3)" -,cdap_home_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'H', households, persons).clip(0,3)" -,cdap_home_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'H', households, persons).clip(0,3)" -,cdap_home_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'H', households, persons).clip(0,3)" -,cdap_nonmand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'N', households, persons).clip(0,3)" -,cdap_nonmand_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'N', households, persons).clip(0,3)" -,cdap_nonmand_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'N', households, persons).clip(0,3)" -,cdap_nonmand_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'N', households, persons).clip(0,3)" -,cdap_nonmand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'N', households, persons).clip(0,3)" -,cdap_nonmand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'N', households, persons).clip(0,3)" -,cdap_mand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'M', households, persons).clip(0,3)" -,cdap_mand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'M', households, persons).clip(0,3)" -,cdap_mand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'M', households, persons).clip(0,3)" -,income_between_50_and_100,(households.income > 50000) & (households.income <= 100000) -,income_greater_than_100,households.income > 100000 -,income_missing,0 -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -nmRetail,non_motorized_retail_accessibility,"reindex(accessibility.nmRetail, households.home_zone_id)" diff --git a/activitysim/examples/example_psrc/configs/joint_tour_frequency_coeffs.csv b/activitysim/examples/example_psrc/configs/joint_tour_frequency_coeffs.csv deleted file mode 100755 index b716326ee5..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_frequency_coeffs.csv +++ /dev/null @@ -1,84 +0,0 @@ -coefficient_name,value,constrain -# asc,, -coef_asc_0_tours,0,T -coef_asc_1_Shop,-6.0149,F -coef_asc_1_Main,-5.7389,F -coef_asc_1_Eat,-6.3757,F -coef_asc_1_Visit,-5.8818,F -coef_asc_1_Disc,-5.4806,F -coef_asc_2_tours,-14.4576,F -# zero_tours,, -coef_fullTimeHomeMaxThree_zero_tours,1.175,F -coef_partTimeHomeMaxThree_zero_tours,1.447,F -coef_nonWorkerHomeMaxThree_zero_tours,1.514,F -coef_retireeHomeMaxThree_zero_tours,0.6053,F -coef_universityHomeMaxThree_univ_and_driving_zero_tours,0.5685,F -coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,0.530,F -# shopping,, -coef_fullTimeNonMandMaxThree_shopping,0.2052,F -coef_partTimeNonMandMaxThree_shopping,0.1866,F -coef_nonWorkerNonMandMaxThree_shopping,0.7078,F -coef_retireeNonMandMaxThree_shopping,0.941,F -coef_universityNonMandMaxThree_shopping,0.7648,F -coef_preDrivingNonMandMaxThree_shopping,0.5474,F -coef_fullTimeMandMaxThree_shopping,-0.2424,F -coef_logTimeWindowOverlapAdult_shopping,0.5945,F -coef_logTimeWindowOverlapChild_shopping,0.1416,F -coef_logTimeWindowOverlapAdultChild_shopping,0.1086,F -coef_fewerCarsThanDrivers_shopping,0.2523,F -coef_moreCarsThanWorkers_shopping,-0.3027,F -# maintenance,, -coef_fullTimeNonMandMaxThree_maint,0.3173,F -coef_partTimeNonMandMaxThree_maint,0.2452,F -coef_nonWorkerNonMandMaxThree_maint,0.4643,F -coef_retireeNonMandMaxThree_maint,0.905,F -coef_universityNonMandMaxThree_maint,0.2643,F -coef_preDrivingNonMandMaxThree_maint,0.6482,F -coef_fullTimeMandMaxThree_maint,-0.3009,F -coef_drivingAgeStuMandMaxThree_maint,-0.3237,F -coef_preDrivingAgeMandMaxThree_maint,0.2299,F -coef_logTimeWindowOverlapAdult_maint,0.3714,F -coef_logTimeWindowOverlapChild_maint,0.176,F -coef_logTimeWindowOverlapAdultChild_maint,0.2443,F -coef_fewerCarsThanDrivers_maint,0.461,F -# eatout,, -coef_fullTimeNonMandMaxThree_eatout,0.2275,F -coef_partTimeNonMandMaxThree_eatout,0.3765,F -coef_nonWorkerNonMandMaxThree_eatout,0.182,F -coef_retireeNonMandMaxThree_eatout,0.4264,F -coef_universityNonMandMaxThree_eatout,0.4097,F -coef_preDrivingNonMandMaxThree_eatout,0.3851,F -coef_logTimeWindowOverlapAdult_eatout,0.4856,F -coef_logTimeWindowOverlapAdultChild_eatout,0.0921,F -coef_incomeBetween50And100_eatout,0.2977,F -coef_incomeGreaterThan100_eatout,0.4492,F -coef_incomeMissing_dummy_always_zero_eatout,0.278,F -coef_moreCarsThanWorkers_eatout,0.3825,F -coef_walkRetailAccessibility_eatout,0.062,F -# visiting,, -coef_fullTimeNonMandMaxThree_visiting,0.6445,F -coef_partTimeNonMandMaxThree_visiting,0.1332,F -coef_nonWorkerNonMandMaxThree_visiting,0.5475,F -coef_retireeNonMandMaxThree_visiting,0.5579,F -coef_universityNonMandMaxThree_visiting,0.2809,F -coef_preDrivingNonMandMaxThree_visiting,0.6008,F -coef_timeWindowOverlapAdult_visiting,0.0596,F -coef_timeWindowOverlapChild_visiting,0.0092,F -coef_timeWindowOverlapAdultChild_visiting,0.0256,F -coef_zeroAutomobiles_visiting,-0.980,F -# discretionary,, -coef_fullTimeNonMandMaxThree_disc,0.1275,F -coef_partTimeNonMandMaxThree_disc,0.4979,F -coef_nonWorkerNonMandMaxThree_disc,0.2871,F -coef_retireeNonMandMaxThree_disc,0.6136,F -coef_universityNonMandMaxThree_disc,0.7546,F -coef_preDrivingNonMandMaxThree_disc,0.5331,F -coef_drivingAgeStuMandMaxThree_disc,0.1932,F -coef_preDrivingAgeMandMaxThree_disc,0.3862,F -coef_logTimeWindowOverlapAdult_disc,0.3428,F -coef_logTimeWindowOverlapChild_disc,0.1162,F -coef_logTimeWindowOverlapAdultChild_disc,0.2212,F -coef_incomeBetween50And100_disc,0.3167,F -coef_incomeGreaterThan100_disc,0.486,F -coef_incomeMissing_dummy_always_zero_disc,0.3723,F -coef_zeroAutomobiles_disc,-0.909,F \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/joint_tour_participation.csv b/activitysim/examples/example_psrc/configs/joint_tour_participation.csv deleted file mode 100755 index da2e65d1ea..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_participation.csv +++ /dev/null @@ -1,67 +0,0 @@ -Label,Description,Expression,participate,not_participate -util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not -util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not -util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, -util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, -util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, -util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, -util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, -util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, -util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, -util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, -util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, -util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, -#,,,, -util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not -util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not -util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, -util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, -util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, -util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, -util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, -util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, -util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, -util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, -util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, -util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, -util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, -util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, -#,,,, -util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, -util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, -util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, -util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, -util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, -util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, -util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, -util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, -util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, -util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, -util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, -util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, -#,,,, -util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, -util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, -util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, -util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, -util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, -util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, -util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, -util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, -util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, -util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, -util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, -util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, -#,,,, -util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, -util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, -util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, -util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, -#,,,, -util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, -util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, -util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, -util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable -util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable -util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable -util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable diff --git a/activitysim/examples/example_psrc/configs/joint_tour_participation.yaml b/activitysim/examples/example_psrc/configs/joint_tour_participation.yaml deleted file mode 100755 index aee45349f9..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_participation.yaml +++ /dev/null @@ -1,20 +0,0 @@ - -SPEC: joint_tour_participation.csv -COEFFICIENTS: joint_tour_participation_coeffs.csv - -LOGIT_TYPE: MNL - -#max_participation_choice_iterations: 5000 - -preprocessor: - SPEC: joint_tour_participation_annotate_participants_preprocessor - DF: participants -# TABLES: -# - persons -# - accessibility - -annotate_persons: - SPEC: annotate_persons_jtp - DF: persons - TABLES: - - joint_tour_participants diff --git a/activitysim/examples/example_psrc/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/activitysim/examples/example_psrc/configs/joint_tour_participation_annotate_participants_preprocessor.csv deleted file mode 100755 index 5d08da36e7..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_participation_annotate_participants_preprocessor.csv +++ /dev/null @@ -1,24 +0,0 @@ -Description,Target,Expression -,_P_OVERLAPS,person_time_window_overlap(persons) -,time_window_overlap_adult,"reindex(_P_OVERLAPS.aa, participants.person_id)" -,time_window_overlap_child,"reindex(_P_OVERLAPS.cc, participants.person_id)" -,time_window_overlap_adult_child,"reindex(_P_OVERLAPS.ac, participants.person_id)" -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -#,, -,person_is_full,participants.ptype == PTYPE_FULL -,person_is_part,participants.ptype == PTYPE_PART -,person_is_univ,participants.ptype == PTYPE_UNIVERSITY -,person_is_nonwork,participants.ptype == PTYPE_NONWORK -,person_is_driving,participants.ptype == PTYPE_DRIVING -,person_is_school,participants.ptype == PTYPE_SCHOOL -,person_is_preschool,participants.ptype == PTYPE_PRESCHOOL -,tour_type_is_eat,participants.tour_type=='eat' -,tour_type_is_disc,participants.tour_type=='disc' -,tour_composition_is_adults,participants.composition=='adults' -,tour_composition_is_children,participants.composition=='children' -,tour_composition_is_mixed,participants.composition=='mixed' -,home_is_suburban,~(participants.home_is_urban | participants.home_is_rural) -,high_income,participants.income_in_thousands > 60 -,more_cars_than_workers,participants.auto_ownership > participants.num_workers diff --git a/activitysim/examples/example_psrc/configs/joint_tour_participation_coeffs.csv b/activitysim/examples/example_psrc/configs/joint_tour_participation_coeffs.csv deleted file mode 100755 index 604c0acb69..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_participation_coeffs.csv +++ /dev/null @@ -1,68 +0,0 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_full_time_worker_mixed_party,-3.566,F -coef_full_time_worker_mixed_party_not,0.5,T -coef_part_time_worker_adults_only_party,-3.566,F -coef_part_time_worker_adults_only_party_not,0.5,T -coef_part_time_worker_mixed_party,-0.3655,F -coef_university_student_mixed_party,-3.041,F -coef_non_worker_adults_only_party,-3.164,F -coef_non_worker_mixed_party,0.7152,F -coef_child_too_young_for_school_children_only_party,-2.786,F -coef_child_too_young_for_school_mixed_party,-1.893,F -coef_pre_driving_age_student_children_only_party,-0.7217,F -coef_pre_driving_age_student_mixed_party,-1.752,F -coef_driving_age_student_children_only_party,-1.822,F -coef_driving_age_student_mixed_party,-1.353,F -#,, -coef_full_time_worker_specific_to_eating_out_joint_tours,0.7157,F -coef_full_time_worker_specific_to_eating_out_joint_tours_not,0.5,T -coef_full_time_worker_specific_to_discretionary_joint_tours,0.4392,F -coef_full_time_worker_specific_to_discretionary_joint_tours_not,0.5,T -coef_part_time_worker_specific_to_eating_out_joint_tours,2.188,F -coef_part_time_worker_specific_to_discretionary_joint_tours,0.285,F -coef_university_student_specific_to_eating_out_joint_tours,-0.82,F -coef_university_student_specific_to_discretionary_joint_tours,0,T -coef_non_worker_specific_to_eating_out_joint_tours,0.1617,F -coef_non_worker_specific_to_discretionary_joint_tours,-0.1835,F -coef_child_too_young_for_school_specific_to_eating_out_joint_tours,0.6589,F -coef_child_too_young_for_school_specific_to_discretionary_joint_tours,0.1284,F -coef_pre_driving_age_student_specific_to_eating_out_joint_tours,1.391,F -coef_pre_driving_age_student_specific_to_discretionary_joint_tours,0.6626,F -coef_driving_age_student_specific_to_eating_out_joint_tours,2.344,F -coef_driving_age_student_specific_to_discretionary_joint_tours,-0.6675,F -#,, -coef_household_in_urban_area_adult_adult_only_party,0,T -coef_household_in_urban_area_adult_mixed_party,-0.137,F -coef_household_in_urban_area_child_child_only_party,1.21,F -coef_household_in_urban_area_child_mixed_party,0.6265,F -coef_household_in_suburban_area_adult_adult_only_party,0,T -coef_household_in_suburban_area_adult_mixed_party,-0.06007,F -coef_household_in_suburban_area_child_child_only_party,0,T -coef_household_in_suburban_area_child_mixed_party,0,T -coef_adult_more_automobiles_than_workers_adult_only_party,-0.2133,F -coef_adult_more_automobiles_than_workers_mixed_party,-0.6031,F -coef_child_more_automobiles_than_workers_child_only_party,-0.4214,F -coef_child_more_automobiles_than_workers_mixed_party,-0.3776,F -#,, -coef_dummy_for_high_income_for_adult_in_adult_party,-0.1682,F -coef_dummy_for_high_income_for_adult_in_mixed_party,-0.02613,F -coef_dummy_for_high_income_for_child_in_children_party,-0.5619,F -coef_dummy_for_high_income_for_child_in_mixed_party,-0.1528,F -coef_adult_number_of_joint_tours_adult_only,-0.3242,F -coef_adult_number_of_joint_tours_mixed,-0.3584,F -coef_child_number_of_joint_tours_child_only,0.1047,F -coef_child_number_of_joint_tours_mixed,-0.5089,F -coef_adult_number_of_other_adults_in_the_household_adults_only_party,0,T -coef_adult_number_of_other_adults_in_the_household_mixed_party,0,T -coef_child_number_of_other_children_in_the_household_child_only_party,0,T -coef_child_number_of_other_children_in_the_household_mixed,0,T -#,, -coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,0.8436,F -coef_adult_log_of_max_window_overlap_with_a_child_mixed,2.189,F -coef_child_log_of_max_window_overlap_with_an_adult_mixed,1.538,F -coef_child_log_of_max_window_overlap_with_a_child_child,1.296,F - - - - diff --git a/activitysim/examples/example_psrc/configs/joint_tour_scheduling.yaml b/activitysim/examples/example_psrc/configs/joint_tour_scheduling.yaml deleted file mode 100755 index f57d09340f..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_scheduling.yaml +++ /dev/null @@ -1,13 +0,0 @@ - -SPEC: tour_scheduling_joint.csv -COEFFICIENTS: tour_scheduling_joint_coeffs.csv - -LOGIT_TYPE: MNL - -preprocessor: - SPEC: joint_tour_scheduling_annotate_tours_preprocessor - DF: joint_tours - TABLES: - - land_use - - households - - joint_tour_participants diff --git a/activitysim/examples/example_psrc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/example_psrc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv deleted file mode 100755 index 2256d317d6..0000000000 --- a/activitysim/examples/example_psrc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv +++ /dev/null @@ -1,8 +0,0 @@ -Description,Target,Expression -destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, joint_tours.destination) < setting('cbd_threshold')) * 1" -#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD -temp auto_time_to_destination,_auto_time_to_destination,"skim_dict.lookup(joint_tours.origin, joint_tours.destination, ('SOV_TIME', 'MD'))" -temp auto_time_return,_auto_time_return,"skim_dict.lookup(joint_tours.destination, joint_tours.origin, ('SOV_TIME', 'MD'))" -free flow roundtrip_auto_time,roundtrip_auto_time,"_auto_time_to_destination + _auto_time_return" -#"number of joint tours that this joint tours point_person participates in",, -,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), joint_tours.person_id)" diff --git a/activitysim/examples/example_psrc/configs/logging.yaml b/activitysim/examples/example_psrc/configs/logging.yaml deleted file mode 100755 index 815f31f44d..0000000000 --- a/activitysim/examples/example_psrc/configs/logging.yaml +++ /dev/null @@ -1,54 +0,0 @@ -# Config for logging -# ------------------ -# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema - -logging: - version: 1 - disable_existing_loggers: true - - - # Configuring the default (root) logger is highly recommended - root: - level: NOTSET - handlers: [console, logfile] - - loggers: - - activitysim: - level: INFO - handlers: [console, logfile] - propagate: false - - orca: - level: WARN - handlers: [console, logfile] - propagate: false - - handlers: - - logfile: - class: logging.FileHandler - filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] - mode: w - formatter: fileFormatter - level: NOTSET - - console: - class: logging.StreamHandler - stream: ext://sys.stdout - formatter: simpleFormatter - level: NOTSET - - formatters: - - simpleFormatter: - class: logging.Formatter - # format: '%(levelname)s - %(name)s - %(message)s' - format: '%(levelname)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - - fileFormatter: - class: logging.Formatter - format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - diff --git a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency.csv b/activitysim/examples/example_psrc/configs/mandatory_tour_frequency.csv deleted file mode 100755 index 17f68125ab..0000000000 --- a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency.csv +++ /dev/null @@ -1,101 +0,0 @@ -Label,Description,Expression,work1,work2,school1,school2,work_and_school -util_ft_worker,Full-time worker alternative-specific constants,ptype == 1,0,coef_ft_worker_work2_asc,,, -util_pt_worker,Part-time worker alternative-specific constants,ptype == 2,0,coef_pt_worker_work2_asc,,, -util_univ,University student alternative-specific constants,ptype == 3,coef_univ_work1_asc,coef_univ_work2_asc,0,coef_univ_school2_asc,coef_univ_work_and_school_asc -util_non_working_adult,Non-working adult alternative-specific constants,ptype == 4,,,,, -util_retired,Retired alternative-specific constants,ptype == 5,,,,, -util_driving_age_child,Driving-age child alternative-specific constants,ptype == 6,,,0,coef_driving_age_child_school2_asc,coef_driving_age_child_work_and_school_asc -util_pre_driving_age_child,Pre-driving age child who is in school alternative-specific constants,ptype == 7,,,0,coef_pre_driving_age_child_school2_asc, -util_female_ft_worker,Female - Full-time worker interaction,(ptype == 1) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school -util_female_pt_worker,Female - Part-time worker interaction,(ptype == 2) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school -util_female_univ,Female - University student interaction,(ptype == 3) & female,coef_female_work1,coef_female_work2,coef_female_school1,coef_female_school2,coef_female_work_and_school -util_female_non_working_adult,Female - Non-working adult interaction,(ptype == 4) & female,0,coef_female_work2,coef_female_school1,, -util_female_retired,Female - Retired interaction,(ptype == 5) & female,0,coef_female_work2,coef_female_school1,, -util_female_driving_age_child,Female - Driving-age child interaction,(ptype == 6) & female,coef_female_work1,,0,coef_female_school2,coef_female_work_and_school -util_female_pre_driving,Female - Pre-driving age child who is in school interaction,(ptype == 7) & female,coef_female_work1,,0,coef_female_school2, -util_under_35_ft,Under 35 - Full-time worker interaction,(ptype == 1) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school -util_under_35_pt,Under 35 - Part-time worker interaction,(ptype == 2) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school -util_under_35_univ,Under 35 - University student interaction,(ptype == 3) & (age <= 35),coef_under_35_work1,coef_under_35_work2,0,coef_under_35_school2,coef_under_35_work_and_school -util_under_35_non_working,Under 35 - Non-working adult interaction,(ptype == 4) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,, -util_can_walk_to_work_ft,Can walk to work - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_pt,Can walk to work - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_univ,Can walk to work - University student interaction,(ptype == 3) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_non_working_adult,Can walk to work - Non-working adult interaction,(ptype == 4) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_retired,Can walk to work - Retired interaction,(ptype == 5) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_school_univ,Can walk to school - University student interaction,(ptype == 3) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_school_driving_age_child,Can walk to school - Driving-age child interaction,(ptype == 6) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_school_pre_driving_age_child,Can walk to school - Pre-driving age child who is in school interaction,(ptype == 7) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_work_or_school_ft,Can walk to work or school - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_pt,Can walk to work or school - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_univ,Can walk to work or school - University student interaction,(ptype == 3) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_driving_age_child,Can walk to work or school - Driving-age child interaction,(ptype == 6) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_round_trip_auto_time_to_work_ft,Round trip auto time to work - Full-time worker interaction,(ptype == 1) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_pt,Round trip auto time to work - Part-time worker interaction,(ptype == 2) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_univ,Round trip auto time to work - University student interaction,(ptype == 3) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_non_working_adult,Round trip auto time to work - Non-working adult interaction,(ptype == 4) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, -util_round_trip_auto_time_to_work_retired,Round trip auto time to work - Retired,(ptype == 5) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, -util_round_trip_auto_time_to_school_univ,Round trip auto time to school - University student interaction,(ptype == 3) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school -util_round_trip_auto_time_to_school_driving_age_child,Round trip auto time to school - Driving-age child interaction,(ptype == 6) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school -util_round_trip_auto_time_to_school_pre_driving_age_child,Round trip auto time to school - Pre-driving age child who is in school interaction,(ptype == 7) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2, -util_student_employted_univ,Student is employed - University student interaction,(ptype == 3) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed -util_student_employted_driving_age_child,Student is employed - Driving-age child interaction,(ptype == 6) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed -util_non_student_goes_to_school_ft,Non-student goes to school - Full-time worker interaction,(ptype == 1) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school -util_non_student_goes_to_school_pt,Non-student goes to school - Part-time worker interaction,(ptype == 2) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school -util_non_student_goes_to_school_non_working_adult,Non-student goes to school - Non-working adult interaction,(ptype == 4) & nonstudent_to_school,,,coef_non_student_goes_to_school,, -util_non_student_goes_to_school_retired,Non-student goes to school - Retired interaction,(ptype == 5) & nonstudent_to_school,,,coef_non_student_goes_to_school,, -util_no_cars_in_hh_ft,No cars in household - Full-time worker interaction,(ptype == 1) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_pt,No cars in household - Part-time worker interaction,(ptype == 2) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_unif,No cars in household - University student interaction,(ptype == 3) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_non_working_adult,No cars in household - Non-working adult interaction,(ptype == 4) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, -util_no_cars_in_hh_retired,No cars in household - Retired interaction,(ptype == 5) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, -util_no_cars_in_hh_driving_age_student,No cars in household - Driving-age student interaction,(ptype == 6) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_pre_driving_age,No cars in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2, -util_fewer_cars_than_drivers_univ,Fewer cars than drivers in household - University student interaction,(ptype == 3) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_fewer_cars_than_drivers_driving_age_student,Fewer cars than drivers in household - Driving-age student interaction,(ptype == 6) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_fewer_cars_than_drivers_pre_driving_age,Fewer cars than drivers in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_num_preschool_in_hh_ft,Number of preschool children in household - Full-time worker interaction,(ptype == 1) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_pt,Number of preschool children in household - Part-time worker interaction,(ptype == 2) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_univ,Number of preschool children in household - University student interaction,(ptype == 3) * (num_young_children),coef_num_preschool_in_hh_work1,coef_num_preschool_in_hh_work2,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_non_working_adult,Number of preschool children in household - Non-working adult interaction,(ptype == 4) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, -util_num_preschool_in_hh_retired,Number of preschool children in household - Retired interaction,(ptype == 5) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, -util_num_preschool_in_hh_driving_age_student,Number of preschool children in household - Driving-age student interaction,(ptype == 6) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_pre_driving_age_in_school,Number of preschool children in household - Pre-driving age child who is in school interaction,(ptype == 7) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2, -util_num_nonworkers_in_hh_ft,Number of non-workers in the household - Full-time worker interaction,(ptype == 1) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, -util_num_nonworkers_in_hh_pt,Number of non-workers in the household - Part-time worker interaction,(ptype == 2) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, -util_hh_income_gt_50k_ft,Household income higher than $50k - Full-time worker interaction,(ptype == 1) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school -util_hh_income_gt_50k_pt,Household income higher than $50k - Part-time worker interaction,(ptype == 2) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school -util_hh_income_gt_50k_univ,Household income higher than $50k - University student interaction,(ptype == 3) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,coef_hh_income_gt_50k_work,0,,coef_hh_income_gt_50k_student_work_and_school -util_hh_income_gt_50k_non_working_adult,Household income higher than $50k - Non-working adult interaction,(ptype == 4) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, -util_hh_income_gt_50k_retired,Household income higher than $50k - Retired interaction,(ptype == 5) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, -util_hh_income_gt_50k_driving_age_student,Household income higher than $50k - Driving-age student interaction,(ptype == 6) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,,coef_hh_income_gt_50k_student_work_and_school -util_hh_income_gt_50k_pre_driving_age_student,Household income higher than $50k - Pre-driving age child who is in school interaction,(ptype == 7) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,, -util_non_family_hh_ft,Non-family household - Full-time worker interaction,(ptype == 1) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 -util_non_family_hh_pt,Non-family household - Part-time worker interaction,(ptype == 2) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 -util_non_family_hh_univ,Non-family household - University student interaction,(ptype == 3) & non_family,coef_non_family_hh_category2,coef_non_family_hh_category2,0,,coef_non_family_hh_category2 -util_non_family_hh_non_working_adult,Non-family household - Non-working adult interaction,(ptype == 4) & non_family,0,,coef_non_family_hh_category1,, -util_non_family_hh_retired,Non-family household - Retired interaction,(ptype == 5) & non_family,0,,coef_non_family_hh_category1,, -util_non_family_hh_driving_age_student,Non-family household - Driving-age student interaction,(ptype == 6) & non_family,coef_non_family_hh_category2,,0,,coef_non_family_hh_category2 -util_non_family_hh_pre_driving_age_student,Non-family household - Pre-driving age child who is in school interaction,(ptype == 7) & non_family,coef_non_family_hh_category2,,0,, -util_num_under_16_not_at_school_ft,Number of children under 16 not at school - Full-time worker interaction,(ptype == 1) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_pt,Number of children under 16 not at school - Part-time worker interaction,(ptype == 2) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_univ,Number of children under 16 not at school - University student interaction,(ptype == 3) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_non_working_adult,Number of children under 16 not at school - Non-working adult interaction,(ptype == 4) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, -util_num_under_16_not_at_school_retired,Number of children under 16 not at school - Retired,(ptype == 5) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, -util_num_under_16_not_at_school_driving_age_student,Number of children under 16 not at school - Driving-age student interaction,(ptype == 6) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_pre_driving_age,Number of children under 16 not at school - Pre-driving age child who is in school interaction,(ptype == 7) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2, -util_nome_urban_ft,Home is in urban area - Full-time worker interaction,(ptype == 1) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school -util_nome_urban_pt,Home is in urban area - Part-time worker interaction,(ptype == 2) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school -util_nome_urban_univ,Home is in urban area - University student interaction,(ptype == 3) & home_is_urban,coef_home_urban_work1,coef_home_urban_work2,0,coef_home_urban_school2,coef_home_urban_work_and_school -util_nome_urban_non_working_adult,Home is in urban area - Non-working adult interaction,(ptype == 4) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, -util_nome_urban_retired,Home is in urban area - Retired interaction,(ptype == 5) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, -util_nome_urban_driving_age_student,Home is in urban area - Driving-age student interaction,(ptype == 6) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2,coef_home_urban_work_and_school -util_nome_urban_pre_driving_age_student,Home is in urban area - Pre-driving age child who is in school interaction,(ptype == 7) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2, -util_availability_ft,Unavailable: Full-time worker,ptype == 1,,,,coef_unavailable, -util_availability_pt,Unavailable: Part-time worker,ptype == 2,,,,coef_unavailable, -util_availability_non_working_adult,Unavailable: Non-working adult,ptype == 4,,,,coef_unavailable,coef_unavailable -util_availability_retired,Unavailable: Retired,ptype == 5,,,,coef_unavailable,coef_unavailable -util_availability_driving_age_child,Unavailable: Driving-age child,ptype == 6,coef_unavailable,coef_unavailable,,, -util_availability_pre_driving_age_student,Unavailable: Pre-driving age child who is in school,ptype == 7,,coef_unavailable,,,coef_unavailable -util_availability_pre_driving_age_not_in_school,Unavailable: Pre-driving age child who is not in school,ptype == 8,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable -util_availability_work_tours_no_usual_work_location,Unavailable: Work tours for those with no usual work location,~(workplace_zone_id > -1),coef_unavailable,coef_unavailable,,,coef_unavailable -util_availability_school_tours_no_usual_school_location,Unavailable: School tours for those with no usual school location,~(school_zone_id > -1),,,coef_unavailable,coef_unavailable,coef_unavailable diff --git a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency.yaml b/activitysim/examples/example_psrc/configs/mandatory_tour_frequency.yaml deleted file mode 100755 index ce768bbaa7..0000000000 --- a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency.yaml +++ /dev/null @@ -1,10 +0,0 @@ - -SPEC: mandatory_tour_frequency.csv -COEFFICIENTS: mandatory_tour_frequency_coeffs.csv - -annotate_persons: - SPEC: annotate_persons_mtf - DF: persons - TABLES: - - tours - diff --git a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency_alternatives.csv b/activitysim/examples/example_psrc/configs/mandatory_tour_frequency_alternatives.csv deleted file mode 100755 index e4e04d48ef..0000000000 --- a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency_alternatives.csv +++ /dev/null @@ -1,7 +0,0 @@ -#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,work,school -work1,1,0 -work2,2,0 -school1,0,1 -school2,0,2 -work_and_school,1,1 diff --git a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency_coeffs.csv b/activitysim/examples/example_psrc/configs/mandatory_tour_frequency_coeffs.csv deleted file mode 100755 index 8a4137324f..0000000000 --- a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency_coeffs.csv +++ /dev/null @@ -1,54 +0,0 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_ft_worker_work2_asc,-3.3781,F -coef_pt_worker_work2_asc,-3.0476,F -coef_univ_work1_asc,2.166,F -coef_univ_work2_asc,-1.3965,F -coef_univ_school2_asc,-3.7429,F -coef_univ_work_and_school_asc,0.1073,F -coef_driving_age_child_school2_asc,-3.136,F -coef_driving_age_child_work_and_school_asc,-4.4362,F -coef_pre_driving_age_child_school2_asc,-3.9703,F -coef_female_work1,0.1737,F -coef_female_work2,-0.2255,F -coef_female_school1,0.1592,F -coef_female_school2,0.114,F -coef_female_work_and_school,-0.3442,F -coef_female_univ_work1,0.1737,F -coef_under_35_work1,-0.4629,F -coef_under_35_work2,-0.1375,F -coef_under_35_school1,0.7218,F -coef_under_35_school2,1.275,F -coef_under_35_work_and_school,0.9761,F -coef_can_walk_to_work_work2,0.5268,F -coef_can_walk_to_work_school2,0.7114,F -coef_can_walk_to_work_and_school,0.1391,F -coef_round_trip_auto_time_to_work_work2,-0.0035,F -coef_round_trip_auto_time_to_work_school2,-0.0034,F -coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F -coef_student_employed,3.014,F -coef_non_student_goes_to_school,3.883,F -coef_no_cars_in_hh_work2,-1.306,F -coef_no_cars_in_hh_school2,-1.413,F -coef_no_cars_in_hh_work_and_school,-1.302,F -coef_few_cars_than_drivers_school2,-0.5759,F -coef_num_preschool_in_hh_work1,0.2191,F -coef_num_preschool_in_hh_work2,-0.1478,F -coef_num_preschool_in_hh_school1,-0.1335,F -coef_num_preschool_in_hh_school2,-0.5577,F -coef_num_preschool_in_hh_work_and_school,-0.1251,F -coef_num_non_workers_in_hh_school1,0.2574,F -coef_hh_income_gt_50k_work,-0.0528,F -coef_hh_income_gt_50k_school1,0.0347,F -coef_hh_income_gt_50k_worker_work_and_school,0.0347,F -coef_hh_income_gt_50k_student_work_and_school,-0.0528,F -coef_non_family_hh_category1,-0.25,F -coef_non_family_hh_category2,-0.1792,F -coef_num_under_16_not_at_school_work2,0.1804 -coef_num_under_16_not_at_school_school2,0.0866 -coef_num_under_16_not_at_school_work_and_school,-0.1955 -coef_home_urban_work1,-0.2831 -coef_home_urban_work2,0.2308 -coef_home_urban_school1,-0.1361 -coef_home_urban_school2,0.317 -coef_home_urban_work_and_school,-0.3509 diff --git a/activitysim/examples/example_psrc/configs/mandatory_tour_scheduling.yaml b/activitysim/examples/example_psrc/configs/mandatory_tour_scheduling.yaml deleted file mode 100755 index 511e708b13..0000000000 --- a/activitysim/examples/example_psrc/configs/mandatory_tour_scheduling.yaml +++ /dev/null @@ -1,42 +0,0 @@ - -SIMULATE_CHOOSER_COLUMNS: - - ptype - - hhsize - - roundtrip_auto_time_to_work - - num_workers - - income_in_thousands - - work_and_school_and_worker - - work_and_school_and_student - - workplace_in_cbd - - home_is_rural - - mandatory_tour_frequency - - is_worker - - is_student - - is_university - - workplace_zone_id - - school_zone_id - - home_zone_id - -LOGSUM_SETTINGS: tour_mode_choice.yaml - -# school and univ have the same spec file and coefficients but are handled seperately -# because mode_choice_logsums has distinct specs and ceofficients for univ and school -TOUR_SPEC_SEGMENTS: - work: work - school: school - univ: school - -SPEC_SEGMENTS: - work: - 'SPEC': tour_scheduling_work.csv - 'COEFFICIENTS': tour_scheduling_work_coeffs.csv - school: - 'SPEC': tour_scheduling_school.csv - 'COEFFICIENTS': tour_scheduling_school_coeffs.csv - -#CHOOSER_ORIG_COL_NAME: home_zone_id - -DESTINATION_FOR_TOUR_PURPOSE: - work: workplace_zone_id - school: school_zone_id - univ: school_zone_id diff --git a/activitysim/examples/example_psrc/configs/network_los.yaml b/activitysim/examples/example_psrc/configs/network_los.yaml deleted file mode 100755 index afe6a260e0..0000000000 --- a/activitysim/examples/example_psrc/configs/network_los.yaml +++ /dev/null @@ -1,35 +0,0 @@ -#inherit_settings: True - -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -read_skim_cache: True -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -write_skim_cache: True - -zone_system: 2 - -# glob 'skims*.omx' will match one or more files: skims.omx, skims1.omx, skims2.omx... -taz_skims: skims*.omx - - -maz: maz.csv - -maz_to_maz: - tables: - - maz_to_maz_walk.csv - - maz_to_maz_bike.csv - - # maz_to_maz blending distance (missing or 0 means no blending) - max_blend_distance: - DIST: 0 - # blend distance of 0 means no blending - DISTBIKE: 0 - DISTWALK: 0 - - # missing means use the skim value itself rather than DIST skim (e.g. DISTBIKE) - #blend_distance_skim_name: DIST - -skim_time_periods: - time_window: 1440 - period_minutes: 60 - periods: [0, 6, 11, 16, 20, 24] - labels: ['EA', 'AM', 'MD', 'PM', 'EV'] diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.csv deleted file mode 100755 index 169becf1e3..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.csv +++ /dev/null @@ -1,10 +0,0 @@ -Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr -"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 -"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 -Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum -Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1,1,1 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.yaml deleted file mode 100755 index d790aea2f7..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.yaml +++ /dev/null @@ -1,38 +0,0 @@ -SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv -SPEC: non_mandatory_tour_destination.csv -COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv - -SAMPLE_SIZE: 30 - -SIZE_TERM_SELECTOR: non_mandatory - -# we can't use use household income_segment as this will also be set for non-workers -CHOOSER_SEGMENT_COLUMN_NAME: tour_type - -# optional (comment out if not desired) -DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if no saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample - - -SEGMENTS: - - shopping - - othmaint - - othdiscr - - eatout - - social - - escort - -SIMULATE_CHOOSER_COLUMNS: - - tour_type - - home_zone_id - - person_id - -LOGSUM_SETTINGS: tour_mode_choice.yaml - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: home_zone_id -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 14 -OUT_PERIOD: 14 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_coeffs.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_coeffs.csv deleted file mode 100755 index 50fd905b41..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_coeffs.csv +++ /dev/null @@ -1,21 +0,0 @@ -coefficient_name,value,constrain -coef_mode_logsum,0.6755,F -coef_escort_dist_0_2,-0.1499,F -coef_eatout_dist_0_2,-0.5609,F -coef_eatout_social_0_2,-0.5609,F -# coef_eatout_dist_0_2,-0.7841,F -coef_othdiscr_dist_0_2,-0.1677,F -coef_escort_dist_2_5,-0.8671,F -coef_shopping_dist_2_5,-0.5655,F -coef_eatout_dist_2_5,-0.3192,F -coef_othmaint_dist_2_5,-0.6055,F -coef_social_dist_2_5,-0.3485,F -coef_othdiscr_dist_2_5,-0.4955,F -coef_escort_dist_5_plus,-0.2137,F -coef_shopping_dist_5_plus,-0.1832,F -coef_eatout_dist_5_plus,-0.1238,F -coef_othmaint_dist_5_plus,-0.1093,F -coef_social_dist_5_plus,-0.1306,F -coef_othdiscr_dist_5_plus,-0.1193,F - - diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_sample.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_sample.csv deleted file mode 100755 index e4bd1a116b..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_sample.csv +++ /dev/null @@ -1,8 +0,0 @@ -Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr -"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 -"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.csv deleted file mode 100755 index c295ea5b07..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.csv +++ /dev/null @@ -1,211 +0,0 @@ -Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL -util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour -util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour -util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour -util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour -util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour -util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour -util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours -util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours -util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 -util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 -util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 -util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 -util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 -util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus -util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 -util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 -util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 -util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 -util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 -util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus -util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 -util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 -util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 -util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 -util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 -util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus -util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours -util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours -util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours -util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours -util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours -util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 -util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 -util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 -util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 -util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 -util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus -util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 -util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 -util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 -util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 -util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus -util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 -util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 -util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 -util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 -util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus -util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 -util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 -util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 -util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 -util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus -util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour -util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour -util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour -util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour -util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour -util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour -util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour -util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour -util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour -util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour -util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour -util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour -util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour -util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour -util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour -util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 -util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 -util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 -util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 -util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 -util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour -util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour -util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour -util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour -util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour -util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 -util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 -util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 -util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 -util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus -util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 -util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 -util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 -util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 -util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus -util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 -util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 -util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 -util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 -util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus -util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 -util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 -util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 -util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 -util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 -util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 -util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 -util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 -util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 -util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 -util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour -util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour -util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour -util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour -util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour -util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour -util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour -util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour -util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour -util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour -util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour -util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour -util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour -util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour -util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour -util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour -util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour -util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour -util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour -util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour -util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour -util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour -util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour -util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour -util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour -util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour -util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour -util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour -util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour -util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour -util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour -util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour -util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour -util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour -util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour -util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour -util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour -util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour -util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour -util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour -util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour -util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour -util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour -util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour -util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour -util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour -util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour -util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour -util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour -util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour -util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 -util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 -util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 -util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 -util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus -util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 -util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 -util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 -util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 -util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus -util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 -util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 -util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 -util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 -util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus -util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting -util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting -util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting -util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping -util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping -util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping -util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance -util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance -util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance -util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out -util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out -util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out -util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary -util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary -util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary -util_urban_and_tour_frequency_is_1,Urban Areatype & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 -util_urban_and_tour_frequency_is_2,Urban Areatype & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 -util_urban_and_tour_frequency_is_3,Urban Areatype & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 -util_urban_and_tour_frequency_is_4,Urban Areatype & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 -util_urban_and_tour_frequency_is_5_plus,Urban Areatype & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus -util_urban_and_escorting_tour,Urban Areatype & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour -util_urban_and_shopping_tour,Urban Areatype &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour -util_urban_and_maintenance_tour,Urban Areatype & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour -util_urban_and_eatingout_tour,Urban Areatype & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour -util_urban_and_discretionary_tour,Urban Areatype & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour -util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant -util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant -util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant -util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant -util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant -util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant -util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant -util_0_auto_household_and_escorting_tour,Dummy for 0-auto household & Escorting Tour,escort * no_cars,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.yaml b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.yaml deleted file mode 100755 index bd1c6f12d3..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.yaml +++ /dev/null @@ -1,42 +0,0 @@ - -SEGMENT_COL: ptype -SPEC: non_mandatory_tour_frequency.csv - -SPEC_SEGMENTS: - - NAME: PTYPE_FULL - PTYPE: 1 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv - - NAME: PTYPE_PART - PTYPE: 2 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv - - NAME: PTYPE_UNIVERSITY - PTYPE: 3 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv - - NAME: PTYPE_NONWORK - PTYPE: 4 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv - - NAME: PTYPE_RETIRED - PTYPE: 5 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv - - NAME: PTYPE_DRIVING - PTYPE: 6 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv - - NAME: PTYPE_SCHOOL - PTYPE: 7 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv - - NAME: PTYPE_PRESCHOOL - PTYPE: 8 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv - -annotate_persons: - SPEC: annotate_persons_nmtf - DF: persons - TABLES: - - tours - -preprocessor: - SPEC: non_mandatory_tour_frequency_annotate_persons_preprocessor - DF: persons - TABLES: - - tours -# - accessibility diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_alternatives.csv deleted file mode 100755 index 1c0052f963..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_alternatives.csv +++ /dev/null @@ -1,97 +0,0 @@ -escort,shopping,othmaint,othdiscr,eatout,social -0,0,0,0,0,0 -0,0,0,1,0,0 -0,0,0,0,0,1 -0,0,0,1,0,1 -0,0,0,0,1,0 -0,0,0,1,1,0 -0,0,0,0,1,1 -0,0,0,1,1,1 -0,0,1,0,0,0 -0,0,1,1,0,0 -0,0,1,0,0,1 -0,0,1,1,0,1 -0,0,1,0,1,0 -0,0,1,1,1,0 -0,0,1,0,1,1 -0,0,1,1,1,1 -0,1,0,0,0,0 -0,1,0,1,0,0 -0,1,0,0,0,1 -0,1,0,1,0,1 -0,1,0,0,1,0 -0,1,0,1,1,0 -0,1,0,0,1,1 -0,1,0,1,1,1 -0,1,1,0,0,0 -0,1,1,1,0,0 -0,1,1,0,0,1 -0,1,1,1,0,1 -0,1,1,0,1,0 -0,1,1,1,1,0 -0,1,1,0,1,1 -0,1,1,1,1,1 -1,0,0,0,0,0 -1,0,0,1,0,0 -1,0,0,0,0,1 -1,0,0,1,0,1 -1,0,0,0,1,0 -1,0,0,1,1,0 -1,0,0,0,1,1 -1,0,0,1,1,1 -1,0,1,0,0,0 -1,0,1,1,0,0 -1,0,1,0,0,1 -1,0,1,1,0,1 -1,0,1,0,1,0 -1,0,1,1,1,0 -1,0,1,0,1,1 -1,0,1,1,1,1 -1,1,0,0,0,0 -1,1,0,1,0,0 -1,1,0,0,0,1 -1,1,0,1,0,1 -1,1,0,0,1,0 -1,1,0,1,1,0 -1,1,0,0,1,1 -1,1,0,1,1,1 -1,1,1,0,0,0 -1,1,1,1,0,0 -1,1,1,0,0,1 -1,1,1,1,0,1 -1,1,1,0,1,0 -1,1,1,1,1,0 -1,1,1,0,1,1 -1,1,1,1,1,1 -2,0,0,0,0,0 -2,0,0,1,0,0 -2,0,0,0,0,1 -2,0,0,1,0,1 -2,0,0,0,1,0 -2,0,0,1,1,0 -2,0,0,0,1,1 -2,0,0,1,1,1 -2,0,1,0,0,0 -2,0,1,1,0,0 -2,0,1,0,0,1 -2,0,1,1,0,1 -2,0,1,0,1,0 -2,0,1,1,1,0 -2,0,1,0,1,1 -2,0,1,1,1,1 -2,1,0,0,0,0 -2,1,0,1,0,0 -2,1,0,0,0,1 -2,1,0,1,0,1 -2,1,0,0,1,0 -2,1,0,1,1,0 -2,1,0,0,1,1 -2,1,0,1,1,1 -2,1,1,0,0,0 -2,1,1,1,0,0 -2,1,1,0,0,1 -2,1,1,1,0,1 -2,1,1,0,1,0 -2,1,1,1,1,0 -2,1,1,0,1,1 -2,1,1,1,1,1 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv deleted file mode 100755 index af29a842b4..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv +++ /dev/null @@ -1,21 +0,0 @@ -Description,Target,Expression -#,, -,max_window,person_max_window(persons) -,log_max_window,np.log1p(max_window) -,medium_low_income,(persons.income_in_thousands > 20) & (persons.income_in_thousands <= 50) -,medium_high_income,(persons.income_in_thousands > 50) & (persons.income_in_thousands <= 100) -,high_income,(persons.income_in_thousands > 100) -,no_cars,(persons.auto_ownership == 0) -,car_sufficiency,persons.auto_ownership-persons.num_workers -#,, -# UEC file comments says these are joint tour counts per persons but code is for household counts,, -,_JOINT_TOURS,tours[tours.tour_category=='joint'] -,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), persons.household_id)" -,num_hh_joint_shop_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='shopping'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_eatout_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='eatout'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_maint_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='maint'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_social_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='social'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_othdiscr_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='othdiscr'].groupby('household_id').size(), persons.household_id)" -# non_mandatory tour frequency extension,, -,has_mandatory_tour,(persons.num_mand > 0) * 1 -,has_joint_tour,(persons.num_joint_tours > 0) * 1 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv deleted file mode 100755 index 68b0882011..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.1506,F -coef_total_number_of_tours_is_2,-11.1214,F -coef_total_number_of_tours_is_3,-13.175,F -coef_total_number_of_tours_is_4,-999,T -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.234,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.9231,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-6.5835,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,-0.2162,F -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3587,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-4.2701,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.3298,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.3759,F -coef_logged_maximum_residual_window_tour_frequency_is_3,3.2808,F -coef_logged_maximum_residual_window_tour_frequency_is_4,3.2808,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,3.2808,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T -coef_high_income_group_and_tour_frequency_is_1,0,T -coef_high_income_group_and_tour_frequency_is_2,0,T -coef_high_income_group_and_tour_frequency_is_3,0,T -coef_high_income_group_and_tour_frequency_is_4,0,T -coef_high_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_shopping_tour,0,T -coef_mediumhigh_income_group_and_shopping_tour,0.2443,F -coef_high_income_group_and_shopping_tour,0.2443,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0.3982,F -coef_high_income_group_and_maintenance_tour,0.3982,F -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0.4916,F -coef_high_income_group_and_eating_out_tour,0.4916,F -coef_mediumlow_income_group_and_discretionary_tour,0.9169,F -coef_mediumhigh_income_group_and_discretionary_tour,1.405,F -coef_high_income_group_and_discretionary_tour,2.327,F -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,0.2858,F -coef_high_income_group_and_visiting_tour,0.2858,F -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.6369,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.2902,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.0352,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.0352,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.0352,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.0352,F -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,-0.6571,F -coef_presence_of_non_worker_and_tour_frequency_is_3,-1.4044,F -coef_presence_of_non_worker_and_tour_frequency_is_4,-1.4044,F -coef_presence_of_non_worker_and_tour_frequency_is_5,-1.4044,F -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.3219,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-1.0874,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-1.0874,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-1.0874,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-1.0874,F -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_school_kid_and_escorting_tour,0,T -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,0,T -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,-0.6377,F -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,-1.5698,F -coef_presence_of_pre_school_kid_and_eating_out_tour,-0.2987,F -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0,T -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,0,T -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,-1.2834,F -coef_presence_of_driving_school_kid_and_discretionary_tour,-0.9202,F -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_2,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_3,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_4,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0.1004,F -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,1.0394,F -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.4934,F -coef_2_plus_escort_tours_constant,1.4155,F -coef_1_plus_shopping_tours_constant,0.532,F -coef_1_plus_maintenance_tours_constant,-0.4344,F -coef_1_plus_eating_out_tours_constant,-0.0242,F -coef_1_plus_visting_tours_constant,0.2367,F -coef_1_plus_other_discretionary_tours_constant,-0.2602,F -coef_0_auto_household_and_escorting_tour,-2, \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv deleted file mode 100755 index 6b9d8d7622..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.3572,F -coef_total_number_of_tours_is_2,-10.647,F -coef_total_number_of_tours_is_3,-13.5005,F -coef_total_number_of_tours_is_4,-16.3965,F -coef_total_number_of_tours_is_5,-19.6843,F -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8887,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.3343,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.3343,F -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.3343,F -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,0,T -coef_number_of_joint_tours_and_tour_frequency_is_3,0,T -coef_number_of_joint_tours_and_tour_frequency_is_4,0,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,-0.5866,F -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.2562,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.2868,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.3993,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.3993,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.3993,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0.4981,F -coef_mediumlow_income_group_and_tour_frequency_is_2,0.8345,F -coef_mediumlow_income_group_and_tour_frequency_is_3,1.0213,F -coef_mediumlow_income_group_and_tour_frequency_is_4,1.0213,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0213,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.4981,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8345,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0213,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0213,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0213,F -coef_high_income_group_and_tour_frequency_is_1,0.5189,F -coef_high_income_group_and_tour_frequency_is_2,1.1336,F -coef_high_income_group_and_tour_frequency_is_3,1.3899,F -coef_high_income_group_and_tour_frequency_is_4,1.3899,F -coef_high_income_group_and_tour_frequency_is_5_plus,1.3899,F -coef_mediumlow_income_group_and_shopping_tour,0,T -coef_mediumhigh_income_group_and_shopping_tour,0,T -coef_high_income_group_and_shopping_tour,0,T -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0.5581,F -coef_high_income_group_and_eating_out_tour,0.5581,F -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0.2565,F -coef_high_income_group_and_discretionary_tour,0.2565,F -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,-0.2423,F -coef_high_income_group_and_visiting_tour,-0.2423,F -coef_female_and_tour_frequency_is_1,-0.0766,F -coef_female_and_tour_frequency_is_2,-0.1062,F -coef_female_and_tour_frequency_is_3,-0.3274,F -coef_female_and_tour_frequency_is_4,-0.3274,F -coef_female_and_tour_frequency_is_5,-0.3274,F -coef_female_and_escorting_tour,0.1824,F -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.3486,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.1304,F -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,0,T -coef_presence_of_non_worker_and_tour_frequency_is_3,0,T -coef_presence_of_non_worker_and_tour_frequency_is_4,0,T -coef_presence_of_non_worker_and_tour_frequency_is_5,0,T -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,-0.4815,F -coef_presence_of_retiree_and_escorting_tour,-0.808,F -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0.3601,F -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3974,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.6842,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,-0.2746,F -coef_at_home_pre_school_kid_and_escorting_tour,-1.5675,F -coef_presence_of_full_time_worker_and_shopping_tour,-0.3059,F -coef_presence_of_part_time_worker_and_shopping_tour,-0.1541,F -coef_presence_of_non_worker_and_shopping_tour,-0.416,F -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,-0.208,F -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,-0.1685,F -coef_presence_of_part_time_worker_and_maintenance_tour,-0.1584,F -coef_presence_of_non_worker_and_maintenance_tour,-0.3237,F -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.3571,F -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-0.2014,F -coef_presence_of_retiree_and_eating_out_tour,-0.5708,F -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,-0.4225,F -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,-0.667,F -coef_presence_of_part_time_worker_and_discretionary_tour,-0.2102,F -coef_presence_of_non_worker_and_discretionary_tour,-0.4281,F -coef_presence_of_retiree_and_discretionary_tour,-0.9104,F -coef_presence_of_university_student_and_discretionary_tour,-0.8551,F -coef_presence_of_driving_school_kid_and_discretionary_tour,-0.3963,F -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,-0.3959,F -coef_presence_of_pre_school_kid_and_discretionary_tour,-0.5081,F -coef_at_home_pre_driving_school_kid_and_discretionary_tour,-0.4703,F -coef_at_home_pre_school_kid_and_discretionary_tour,-0.4703,F -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_2,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_3,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_4,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0226,F -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0.0451,F -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0.033,F -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0.1067,F -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0.0749,F -coef_walk_access_to_retail_and_eating_out,0.145,F -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0.0567,F -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0.0844,F -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,-0.4316,F -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,0.0298,F -coef_2_plus_escort_tours_constant,0.7402,F -coef_1_plus_shopping_tours_constant,0.4774,F -coef_1_plus_maintenance_tours_constant,0.1202,F -coef_1_plus_eating_out_tours_constant,0.0097,F -coef_1_plus_visting_tours_constant,0.0522,F -coef_1_plus_other_discretionary_tours_constant,0.7412,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv deleted file mode 100755 index 86b81420d1..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-8.9791,F -coef_total_number_of_tours_is_2,-12.0248,F -coef_total_number_of_tours_is_3,-14.8516,F -coef_total_number_of_tours_is_4,-17.7037,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.6766,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.0518,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.0518,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,-0.1699,F -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.4285,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-0.6551,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-1.0411,F -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-1.0411,F -coef_number_of_joint_shopping_tours,-0.2391,F -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,-0.7727,F -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.7637,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.7928,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.7928,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.7928,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.7928,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0.5709,F -coef_mediumlow_income_group_and_tour_frequency_is_2,0.8315,F -coef_mediumlow_income_group_and_tour_frequency_is_3,0.8315,F -coef_mediumlow_income_group_and_tour_frequency_is_4,0.8315,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0.8315,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.7426,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8546,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0792,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0792,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0792,F -coef_high_income_group_and_tour_frequency_is_1,1.0633,F -coef_high_income_group_and_tour_frequency_is_2,1.0633,F -coef_high_income_group_and_tour_frequency_is_3,1.7742,F -coef_high_income_group_and_tour_frequency_is_4,2.3941,F -coef_high_income_group_and_tour_frequency_is_5_plus,2.3941,F -coef_mediumlow_income_group_and_shopping_tour,0.7734,F -coef_mediumhigh_income_group_and_shopping_tour,0.8906,F -coef_high_income_group_and_shopping_tour,0.9776,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0.2766,F -coef_mediumhigh_income_group_and_eating_out_tour,0.4631,F -coef_high_income_group_and_eating_out_tour,0.7086,F -coef_mediumlow_income_group_and_discretionary_tour,0.1707,F -coef_mediumhigh_income_group_and_discretionary_tour,0.5009,F -coef_high_income_group_and_discretionary_tour,0.8846,F -coef_mediumlow_income_group_and_visiting_tour,-0.267,F -coef_mediumhigh_income_group_and_visiting_tour,-0.267,F -coef_high_income_group_and_visiting_tour,-0.9449,F -coef_female_and_tour_frequency_is_1,0.3902,F -coef_female_and_tour_frequency_is_2,0.5323,F -coef_female_and_tour_frequency_is_3,0.7452,F -coef_female_and_tour_frequency_is_4,1.1294,F -coef_female_and_tour_frequency_is_5,1.1294,F -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,-0.2464,F -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,-0.3623,F -coef_zero_car_ownership_and_tour_frequency_is_2,-1.272,F -coef_zero_car_ownership_and_tour_frequency_is_3,-1.9307,F -coef_zero_car_ownership_and_tour_frequency_is_4,-1.9307,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-1.9307,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.3623,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-1.272,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-1.9307,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-1.9307,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-1.9307,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.7738,F -coef_presence_of_non_worker_and_tour_frequency_is_1,-0.3763,F -coef_presence_of_non_worker_and_tour_frequency_is_2,-0.719,F -coef_presence_of_non_worker_and_tour_frequency_is_3,-1.0229,F -coef_presence_of_non_worker_and_tour_frequency_is_4,-1.0229,F -coef_presence_of_non_worker_and_tour_frequency_is_5,-1.0229,F -coef_presence_of_retiree_and_tour_frequency_is_1,-0.464,F -coef_presence_of_retiree_and_tour_frequency_is_2,-0.4795,F -coef_presence_of_retiree_and_tour_frequency_is_3,-0.4795,F -coef_presence_of_retiree_and_tour_frequency_is_4,-0.4795,F -coef_presence_of_retiree_and_tour_frequency_is_5,-0.4795,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.7161,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0.1486,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0.484,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0.484,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0.484,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0.484,F -coef_presence_of_full_time_worker_and_escorting_tour,0.3947,F -coef_presence_of_part_time_worker_and_escorting_tour,-0.5861,F -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3773,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.7194,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,-1.148,F -coef_at_home_pre_school_kid_and_escorting_tour,-0.1373,F -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.4667,F -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-0.4976,F -coef_presence_of_retiree_and_eating_out_tour,-0.6911,F -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,-0.3926,F -coef_at_home_pre_school_kid_and_eating_out_tour,-0.3926,F -coef_presence_of_full_time_worker_and_discretionary_tour,-0.3545,F -coef_presence_of_part_time_worker_and_discretionary_tour,-0.3545,F -coef_presence_of_non_worker_and_discretionary_tour,0,T -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0.0713,F -coef_walk_access_to_retail_and_tour_frequency_is_2,0.1256,F -coef_walk_access_to_retail_and_tour_frequency_is_3,0.1508,F -coef_walk_access_to_retail_and_tour_frequency_is_4,0.1508,F -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.1508,F -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0.0598,F -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0.0956,F -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0.0772,F -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.0629,F -coef_2_plus_escort_tours_constant,0.9273,F -coef_1_plus_shopping_tours_constant,0.4683,F -coef_1_plus_maintenance_tours_constant,-0.0653,F -coef_1_plus_eating_out_tours_constant,-0.1429,F -coef_1_plus_visting_tours_constant,-0.1272,F -coef_1_plus_other_discretionary_tours_constant,0.3334,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv deleted file mode 100755 index c015b2108f..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.6391,F -coef_total_number_of_tours_is_2,-10.4557,F -coef_total_number_of_tours_is_3,-14.0176,F -coef_total_number_of_tours_is_4,-16.9717,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.239,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.8208,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.5923,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.5923,F -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.5923,F -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,-1.1986,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-1.1986,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-1.1986,F -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.5748,F -coef_logged_maximum_residual_window_tour_frequency_is_2,2.0026,F -coef_logged_maximum_residual_window_tour_frequency_is_3,2.0026,F -coef_logged_maximum_residual_window_tour_frequency_is_4,2.0026,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,2.0026,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0.5981,F -coef_mediumlow_income_group_and_tour_frequency_is_2,0.9178,F -coef_mediumlow_income_group_and_tour_frequency_is_3,1.7539,F -coef_mediumlow_income_group_and_tour_frequency_is_4,1.7539,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.7539,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.8682,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5362,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.9331,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.9331,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.9331,F -coef_high_income_group_and_tour_frequency_is_1,0.8682,F -coef_high_income_group_and_tour_frequency_is_2,1.5362,F -coef_high_income_group_and_tour_frequency_is_3,1.9331,F -coef_high_income_group_and_tour_frequency_is_4,1.9331,F -coef_high_income_group_and_tour_frequency_is_5_plus,1.9331,F -coef_mediumlow_income_group_and_shopping_tour,0.4421,F -coef_mediumhigh_income_group_and_shopping_tour,0.4421,F -coef_high_income_group_and_shopping_tour,0.7066,F -coef_mediumlow_income_group_and_maintenance_tour,0.6763,F -coef_mediumhigh_income_group_and_maintenance_tour,0.6763,F -coef_high_income_group_and_maintenance_tour,0.6763,F -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0,T -coef_high_income_group_and_eating_out_tour,0,T -coef_mediumlow_income_group_and_discretionary_tour,0.296,F -coef_mediumhigh_income_group_and_discretionary_tour,0.296,F -coef_high_income_group_and_discretionary_tour,0.296,F -coef_mediumlow_income_group_and_visiting_tour,-0.6868,F -coef_mediumhigh_income_group_and_visiting_tour,-0.6868,F -coef_high_income_group_and_visiting_tour,-0.6868,F -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0.4524,F -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0.3072,F -coef_zero_car_ownership_and_tour_frequency_is_1,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.5498,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,0,T -coef_presence_of_non_worker_and_tour_frequency_is_3,0,T -coef_presence_of_non_worker_and_tour_frequency_is_4,0,T -coef_presence_of_non_worker_and_tour_frequency_is_5,0,T -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.1559,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.5681,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.5681,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.5681,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.5681,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,-0.5263,F -coef_presence_of_retiree_and_escorting_tour,-0.7516,F -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0.4164,F -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.5795,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.5414,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,-0.3131,F -coef_presence_of_part_time_worker_and_maintenance_tour,-0.5621,F -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-0.6545,F -coef_presence_of_retiree_and_eating_out_tour,-1.389,F -coef_presence_of_university_student_and_eating_out_tour,-1.4318,F -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0,T -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,-1.0371,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0.0899,F -coef_walk_access_to_retail_and_tour_frequency_is_2,0.1447,F -coef_walk_access_to_retail_and_tour_frequency_is_3,0.3479,F -coef_walk_access_to_retail_and_tour_frequency_is_4,0.3479,F -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.3479,F -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,-0.3929,F -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,0.5272,F -coef_2_plus_escort_tours_constant,1.5987,F -coef_1_plus_shopping_tours_constant,0.7569,F -coef_1_plus_maintenance_tours_constant,0.5533,F -coef_1_plus_eating_out_tours_constant,0.6914,F -coef_1_plus_visting_tours_constant,0.1405,F -coef_1_plus_other_discretionary_tours_constant,0.7989,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv deleted file mode 100755 index 3085ba2cb0..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,2.491,F -coef_discretionary_tour,0.903,F -coef_shopping_tour,0,T -coef_maintenance_tour,1.022,F -coef_visiting_or_social_tour,0.769,F -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-5.759,F -coef_total_number_of_tours_is_2,-11.517,F -coef_total_number_of_tours_is_3,-17.276,F -coef_total_number_of_tours_is_4,-23.035,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_2,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_3,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_4,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,0,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,0,T -coef_number_of_joint_tours_and_tour_frequency_is_3,0,T -coef_number_of_joint_tours_and_tour_frequency_is_4,0,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,0,T -coef_logged_maximum_residual_window_tour_frequency_is_2,0,T -coef_logged_maximum_residual_window_tour_frequency_is_3,0,T -coef_logged_maximum_residual_window_tour_frequency_is_4,0,T -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T -coef_high_income_group_and_tour_frequency_is_1,0,T -coef_high_income_group_and_tour_frequency_is_2,0,T -coef_high_income_group_and_tour_frequency_is_3,0,T -coef_high_income_group_and_tour_frequency_is_4,0,T -coef_high_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_shopping_tour,0,T -coef_mediumhigh_income_group_and_shopping_tour,0,T -coef_high_income_group_and_shopping_tour,0,T -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0,T -coef_high_income_group_and_eating_out_tour,0,T -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0,T -coef_high_income_group_and_discretionary_tour,0,T -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,0,T -coef_high_income_group_and_visiting_tour,0,T -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,0,T -coef_zero_car_ownership_and_tour_frequency_is_2,0,T -coef_zero_car_ownership_and_tour_frequency_is_3,0,T -coef_zero_car_ownership_and_tour_frequency_is_4,0,T -coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,0,T -coef_presence_of_non_worker_and_tour_frequency_is_3,0,T -coef_presence_of_non_worker_and_tour_frequency_is_4,0,T -coef_presence_of_non_worker_and_tour_frequency_is_5,0,T -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,-0.893,F -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0.89,F -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_school_kid_and_escorting_tour,0,T -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,1.155,F -coef_presence_of_non_worker_and_shopping_tour,0.808,F -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,1.037,F -coef_presence_of_non_worker_and_eating_out_tour,1.157,F -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0,T -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,0.791,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,0.3622,F -coef_2_plus_escort_tours_constant,2.2219,F -coef_1_plus_shopping_tours_constant,1.6919,F -coef_1_plus_maintenance_tours_constant,0.6788,F -coef_1_plus_eating_out_tours_constant,0.9612,F -coef_1_plus_visting_tours_constant,0.4424,F -coef_1_plus_other_discretionary_tours_constant,1.4935,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv deleted file mode 100755 index ea64f3ca34..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-8.5684,F -coef_total_number_of_tours_is_2,-12.7416,F -coef_total_number_of_tours_is_3,-15.0978,F -coef_total_number_of_tours_is_4,-19.5439,F -coef_total_number_of_tours_is_5,-20.7897,F -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-5.0196,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-5.0196,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.95,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-7.143,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,-0.8072,F -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.8357,F -coef_logged_maximum_residual_window_tour_frequency_is_2,2.2707,F -coef_logged_maximum_residual_window_tour_frequency_is_3,4.4023,F -coef_logged_maximum_residual_window_tour_frequency_is_4,4.4023,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,4.4023,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T -coef_high_income_group_and_tour_frequency_is_1,0,T -coef_high_income_group_and_tour_frequency_is_2,0,T -coef_high_income_group_and_tour_frequency_is_3,0,T -coef_high_income_group_and_tour_frequency_is_4,0,T -coef_high_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_shopping_tour,1.0949,F -coef_mediumhigh_income_group_and_shopping_tour,1.0949,F -coef_high_income_group_and_shopping_tour,1.0949,F -coef_mediumlow_income_group_and_maintenance_tour,0.7648,F -coef_mediumhigh_income_group_and_maintenance_tour,0.7648,F -coef_high_income_group_and_maintenance_tour,1.3795,F -coef_mediumlow_income_group_and_eating_out_tour,0.9769,F -coef_mediumhigh_income_group_and_eating_out_tour,1.181,F -coef_high_income_group_and_eating_out_tour,1.4842,F -coef_mediumlow_income_group_and_discretionary_tour,1.0095,F -coef_mediumhigh_income_group_and_discretionary_tour,1.0095,F -coef_high_income_group_and_discretionary_tour,1.0095,F -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,-0.4368,F -coef_high_income_group_and_visiting_tour,-0.5137,F -coef_female_and_tour_frequency_is_1,-0.9348,F -coef_female_and_tour_frequency_is_2,-1.3028,F -coef_female_and_tour_frequency_is_3,-2.266,F -coef_female_and_tour_frequency_is_4,-2.266,F -coef_female_and_tour_frequency_is_5,-2.266,F -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0.9688,F -coef_female_and_maintenance_tour,0.7424,F -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0.4954,F -coef_zero_car_ownership_and_tour_frequency_is_1,0,T -coef_zero_car_ownership_and_tour_frequency_is_2,0,T -coef_zero_car_ownership_and_tour_frequency_is_3,0,T -coef_zero_car_ownership_and_tour_frequency_is_4,0,T -coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7965,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.1302,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.1302,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.1302,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.1302,F -coef_presence_of_non_worker_and_tour_frequency_is_1,0.224,F -coef_presence_of_non_worker_and_tour_frequency_is_2,0.2436,F -coef_presence_of_non_worker_and_tour_frequency_is_3,0.62,F -coef_presence_of_non_worker_and_tour_frequency_is_4,3.3742,F -coef_presence_of_non_worker_and_tour_frequency_is_5,3.3742,F -coef_presence_of_retiree_and_tour_frequency_is_1,-0.4458,F -coef_presence_of_retiree_and_tour_frequency_is_2,-0.5315,F -coef_presence_of_retiree_and_tour_frequency_is_3,-0.5315,F -coef_presence_of_retiree_and_tour_frequency_is_4,-0.5315,F -coef_presence_of_retiree_and_tour_frequency_is_5,-0.5315,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.4903,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.5027,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,-0.3609,F -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.788,F -coef_presence_of_part_time_worker_and_eating_out_tour,-0.788,F -coef_presence_of_non_worker_and_eating_out_tour,-0.788,F -coef_presence_of_retiree_and_eating_out_tour,-0.9282,F -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,-0.4835,F -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,-0.5603,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_2,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_3,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_4,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.0616,F -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.3992,F -coef_2_plus_escort_tours_constant,0.5175,F -coef_1_plus_shopping_tours_constant,0.5947,F -coef_1_plus_maintenance_tours_constant,0.1046,F -coef_1_plus_eating_out_tours_constant,0.0245,F -coef_1_plus_visting_tours_constant,0.2789,F -coef_1_plus_other_discretionary_tours_constant,0.4282,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv deleted file mode 100755 index 8f392d20ea..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.4863,F -coef_total_number_of_tours_is_2,-10.718,F -coef_total_number_of_tours_is_3,-13.7884,F -coef_total_number_of_tours_is_4,-999,T -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-1.0331,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-2.7445,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.7445,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,-0.6149,F -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.6149,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,-1.3476,F -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.5603,F -coef_mediumlow_income_group_and_tour_frequency_is_1,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_2,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_3,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_4,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0873,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.5197,F -coef_high_income_group_and_tour_frequency_is_1,2.0175,F -coef_high_income_group_and_tour_frequency_is_2,2.0175,F -coef_high_income_group_and_tour_frequency_is_3,2.0175,F -coef_high_income_group_and_tour_frequency_is_4,2.0175,F -coef_high_income_group_and_tour_frequency_is_5_plus,2.0175,F -coef_mediumlow_income_group_and_shopping_tour,-0.6506,F -coef_mediumhigh_income_group_and_shopping_tour,-0.6506,F -coef_high_income_group_and_shopping_tour,-0.6506,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,-0.701,F -coef_mediumhigh_income_group_and_eating_out_tour,-0.701,F -coef_high_income_group_and_eating_out_tour,-0.701,F -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0,T -coef_high_income_group_and_discretionary_tour,0,T -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,0,T -coef_high_income_group_and_visiting_tour,0,T -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,0,T -coef_zero_car_ownership_and_tour_frequency_is_2,0,T -coef_zero_car_ownership_and_tour_frequency_is_3,0,T -coef_zero_car_ownership_and_tour_frequency_is_4,0,T -coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_2,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_3,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_4,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_5,0.2177,F -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.4439,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-0.2264,F -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_school_kid_and_escorting_tour,0,T -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,-0.645,F -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0.9365,F -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-1.3074,F -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0.7526,F -coef_presence_of_part_time_worker_and_discretionary_tour,0.3721,F -coef_presence_of_non_worker_and_discretionary_tour,0,T -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0.0629,F -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0.0738,F -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0.4352,F -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.7551,F -coef_2_plus_escort_tours_constant,-0.0086,F -coef_1_plus_shopping_tours_constant,0.4783,F -coef_1_plus_maintenance_tours_constant,-0.506,F -coef_1_plus_eating_out_tours_constant,1.1145,F -coef_1_plus_visting_tours_constant,-0.4006,F -coef_1_plus_other_discretionary_tours_constant,0.4634,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv deleted file mode 100755 index 1080f36b4d..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-6.2138,F -coef_total_number_of_tours_is_2,-8.908,F -coef_total_number_of_tours_is_3,-12.3261,F -coef_total_number_of_tours_is_4,-15.8114,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.1852,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8753,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.6158,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3153,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-0.7351,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,-0.713,F -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0.6713,F -coef_logged_maximum_residual_window_tour_frequency_is_0,1.1858,F -coef_logged_maximum_residual_window_tour_frequency_is_1,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.4842,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.1109,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,0.3914,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,0.6137,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,0.6137,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0.6137,F -coef_high_income_group_and_tour_frequency_is_1,0.3986,F -coef_high_income_group_and_tour_frequency_is_2,0.8009,F -coef_high_income_group_and_tour_frequency_is_3,0.8254,F -coef_high_income_group_and_tour_frequency_is_4,0.8254,F -coef_high_income_group_and_tour_frequency_is_5_plus,0.8254,F -coef_mediumlow_income_group_and_shopping_tour,0.5693,F -coef_mediumhigh_income_group_and_shopping_tour,0.5693,F -coef_high_income_group_and_shopping_tour,0.5693,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,-0.7207,F -coef_high_income_group_and_eating_out_tour,-0.7207,F -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0,T -coef_high_income_group_and_discretionary_tour,0,T -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,-0.3694,F -coef_high_income_group_and_visiting_tour,-0.3694,F -coef_female_and_tour_frequency_is_1,0.0973,F -coef_female_and_tour_frequency_is_2,0.2361,F -coef_female_and_tour_frequency_is_3,1.9002,F -coef_female_and_tour_frequency_is_4,1.9002,F -coef_female_and_tour_frequency_is_5,1.9002,F -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,-0.6568,F -coef_female_and_discretionary_tour,-0.3266,F -coef_zero_car_ownership_and_tour_frequency_is_1,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.581,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,-0.8506,F -coef_presence_of_non_worker_and_tour_frequency_is_2,-1.1804,F -coef_presence_of_non_worker_and_tour_frequency_is_3,-1.1804,F -coef_presence_of_non_worker_and_tour_frequency_is_4,-1.1804,F -coef_presence_of_non_worker_and_tour_frequency_is_5,-1.1804,F -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.9961,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-1.9096,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-2.8469,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-2.8469,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-2.8469,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,-1.8213,F -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0.9489,F -coef_presence_of_pre_school_kid_and_escorting_tour,2.1465,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,-0.7728,F -coef_presence_of_part_time_worker_and_shopping_tour,-0.5199,F -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,1.3135,F -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0.3863,F -coef_presence_of_pre_school_kid_and_maintenance_tour,0.9694,F -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.5251,F -coef_presence_of_part_time_worker_and_eating_out_tour,-1.9795,F -coef_presence_of_non_worker_and_eating_out_tour,0,T -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,-0.6529,F -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,-0.4833,F -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,0.9781,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,-0.6542,F -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_2,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_3,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_4,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0664,F -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0.0972,F -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0.0314,F -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0.1018,F -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0.094,F -coef_urban_and_tour_frequency_is_1,-1.1648,F -coef_urban_and_tour_frequency_is_2,-2.3177,F -coef_urban_and_tour_frequency_is_3,-2.5027,F -coef_urban_and_tour_frequency_is_4,-2.5027,F -coef_urban_and_tour_frequency_is_5_plus,-2.5027,F -coef_urban_and_escorting_tour,0.8516,F -coef_urban_and_shopping_tour,0.533,F -coef_urban_and_maintenance_tour,1.0316,F -coef_urban_and_eatingout_tour,0.68,F -coef_urban_and_discretionary_tour,0.9563,F -coef_1_escort_tour_constant,1.7028,F -coef_2_plus_escort_tours_constant,2.8379,F -coef_1_plus_shopping_tours_constant,1.8403,F -coef_1_plus_maintenance_tours_constant,0.3348,F -coef_1_plus_eating_out_tours_constant,2.0723,F -coef_1_plus_visting_tours_constant,1.2172,F -coef_1_plus_other_discretionary_tours_constant,1.3389,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_extension_probs.csv deleted file mode 100755 index 632f453ce0..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_extension_probs.csv +++ /dev/null @@ -1,193 +0,0 @@ -ptype,has_mandatory_tour,has_joint_tour,nonmandatory_tour_type,0_tours,1_tours,2_tours -1,0,0,1,0.829545455,1,1 -2,0,0,1,0.769230769,1,1 -3,0,0,1,0.893939394,1,1 -4,0,0,1,0.75,1,1 -5,0,0,1,0.842105263,1,1 -6,0,0,1,0.714285714,1,1 -7,0,0,1,0.814814815,1,1 -8,0,0,1,0.75,1,1 -1,1,0,1,0.789473684,1,1 -2,1,0,1,0.6,1,1 -3,1,0,1,1,1,1 -4,1,0,1,1,1,1 -5,1,0,1,0.825910931,1,1 -6,1,0,1,0.837209302,1,1 -7,1,0,1,0.6,1,1 -8,1,0,1,1,1,1 -1,0,1,1,0.842105263,1,1 -2,0,1,1,1,1,1 -3,0,1,1,1,1,1 -4,0,1,1,1,1,1 -5,0,1,1,1,1,1 -6,0,1,1,1,1,1 -7,0,1,1,1,1,1 -8,0,1,1,1,1,1 -1,1,1,1,1,1,1 -2,1,1,1,1,1,1 -3,1,1,1,1,1,1 -4,1,1,1,1,1,1 -5,1,1,1,0.777777778,1,1 -6,1,1,1,1,1,1 -7,1,1,1,1,1,1 -8,1,1,1,1,1,1 -1,0,0,2,0.892694064,0.99086758,1 -2,0,0,2,0.84057971,0.992753623,1 -3,0,0,2,0.971014493,1,1 -4,0,0,2,0.96969697,1,1 -5,0,0,2,0.870056497,0.994350282,1 -6,0,0,2,0.866666667,1,1 -7,0,0,2,0.971014493,1,1 -8,0,0,2,0.931034483,1,1 -1,1,0,2,0.885057471,1,1 -2,1,0,2,0.727272727,1,1 -3,1,0,2,0.971428571,1,1 -4,1,0,2,1,1,1 -5,1,0,2,0.895977809,0.993065187,1 -6,1,0,2,0.885185185,1,1 -7,1,0,2,1,1,1 -8,1,0,2,1,1,1 -1,0,1,2,0.910087719,0.993421053,1 -2,0,1,2,0.88,1,1 -3,0,1,2,0.8,1,1 -4,0,1,2,1,1,1 -5,0,1,2,1,1,1 -6,0,1,2,1,1,1 -7,0,1,2,1,1,1 -8,0,1,2,1,1,1 -1,1,1,2,1,1,1 -2,1,1,2,1,1,1 -3,1,1,2,1,1,1 -4,1,1,2,1,1,1 -5,1,1,2,1,1,1 -6,1,1,2,0.964912281,1,1 -7,1,1,2,1,1,1 -8,1,1,2,0.888888889,1,1 -1,0,0,3,0.935643564,0.997524752,1 -2,0,0,3,0.905660377,1,1 -3,0,0,3,0.978813559,1,1 -4,0,0,3,0.928571429,1,1 -5,0,0,3,0.901515152,0.992424242,1 -6,0,0,3,0.863636364,1,1 -7,0,0,3,0.947368421,1,1 -8,0,0,3,0.913043478,1,1 -1,1,0,3,0.893333333,0.986666667,1 -2,1,0,3,1,1,1 -3,1,0,3,1,1,1 -4,1,0,3,0.857142857,1,1 -5,1,0,3,0.916071429,0.996428571,1 -6,1,0,3,0.856382979,0.984042553,1 -7,1,0,3,1,1,1 -8,1,0,3,1,1,1 -1,0,1,3,0.916201117,0.991620112,1 -2,0,1,3,0.912280702,0.98245614,1 -3,0,1,3,1,1,1 -4,0,1,3,1,1,1 -5,0,1,3,1,1,1 -6,0,1,3,0.833333333,1,1 -7,0,1,3,0.961538462,1,1 -8,0,1,3,1,1,1 -1,1,1,3,0.97826087,0.989130435,1 -2,1,1,3,0.97260274,1,1 -3,1,1,3,1,1,1 -4,1,1,3,1,1,1 -5,1,1,3,0.995762712,1,1 -6,1,1,3,0.921568627,0.980392157,1 -7,1,1,3,1,1,1 -8,1,1,3,1,1,1 -1,0,0,4,0.9218107,0.995884774,1 -2,0,0,4,0.900900901,1,1 -3,0,0,4,0.997354497,1,1 -4,0,0,4,0.991176471,1,1 -5,0,0,4,0.921568627,0.980392157,1 -6,0,0,4,0.954545455,1,1 -7,0,0,4,1,1,1 -8,0,0,4,0.954545455,1,1 -1,1,0,4,0.941176471,0.970588235,1 -2,1,0,4,0.925925926,1,1 -3,1,0,4,1,1,1 -4,1,0,4,0.875,1,1 -5,1,0,4,0.915322581,1,1 -6,1,0,4,0.947674419,0.994186047,1 -7,1,0,4,0.666666667,1,1 -8,1,0,4,1,1,1 -1,0,1,4,0.925925926,0.987654321,1 -2,0,1,4,0.903703704,1,1 -3,0,1,4,1,1,1 -4,0,1,4,1,1,1 -5,0,1,4,1,1,1 -6,0,1,4,1,1,1 -7,0,1,4,1,1,1 -8,0,1,4,1,1,1 -1,1,1,4,1,1,1 -2,1,1,4,0.911111111,1,1 -3,1,1,4,1,1,1 -4,1,1,4,1,1,1 -5,1,1,4,1,1,1 -6,1,1,4,0.962962963,1,1 -7,1,1,4,1,1,1 -8,1,1,4,1,1,1 -1,0,0,5,0.976744186,1,1 -2,0,0,5,0.981818182,1,1 -3,0,0,5,0.985915493,1,1 -4,0,0,5,1,1,1 -5,0,0,5,1,1,1 -6,0,0,5,1,1,1 -7,0,0,5,1,1,1 -8,0,0,5,0.875,1,1 -1,1,0,5,1,1,1 -2,1,0,5,1,1,1 -3,1,0,5,0.964285714,1,1 -4,1,0,5,1,1,1 -5,1,0,5,0.985714286,1,1 -6,1,0,5,0.951807229,1,1 -7,1,0,5,1,1,1 -8,1,0,5,1,1,1 -1,0,1,5,0.926605505,1,1 -2,0,1,5,0.941176471,1,1 -3,0,1,5,1,1,1 -4,0,1,5,1,1,1 -5,0,1,5,1,1,1 -6,0,1,5,1,1,1 -7,0,1,5,1,1,1 -8,0,1,5,1,1,1 -1,1,1,5,1,1,1 -2,1,1,5,1,1,1 -3,1,1,5,0.972972973,1,1 -4,1,1,5,1,1,1 -5,1,1,5,1,1,1 -6,1,1,5,0.933333333,1,1 -7,1,1,5,1,1,1 -8,1,1,5,1,1,1 -1,0,0,6,0.93837535,0.988795518,1 -2,0,0,6,0.888888889,1,1 -3,0,0,6,0.966832504,0.998341625,1 -4,0,0,6,0.942028986,1,1 -5,0,0,6,0.88034188,1,1 -6,0,0,6,0.925925926,1,1 -7,0,0,6,0.967741935,1,1 -8,0,0,6,0.90625,1,1 -1,1,0,6,0.85915493,1,1 -2,1,0,6,0.818181818,0.96969697,1 -3,1,0,6,1,1,1 -4,1,0,6,0.952380952,1,1 -5,1,0,6,0.879237288,0.997881356,1 -6,1,0,6,0.862944162,0.984771574,1 -7,1,0,6,0.9,1,1 -8,1,0,6,1,1,1 -1,0,1,6,0.927835052,0.996563574,1 -2,0,1,6,0.859375,0.9921875,1 -3,0,1,6,1,1,1 -4,0,1,6,1,1,1 -5,0,1,6,0.92,1,1 -6,0,1,6,1,1,1 -7,0,1,6,0.904761905,1,1 -8,0,1,6,1,1,1 -1,1,1,6,0.982758621,1,1 -2,1,1,6,0.927710843,0.987951807,1 -3,1,1,6,0.982954545,1,1 -4,1,1,6,0.938679245,1,1 -5,1,1,6,1,1,1 -6,1,1,6,0.9375,1,1 -7,1,1,6,1,1,1 -8,1,1,6,1,1,1 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv deleted file mode 100755 index e9f9f2f38e..0000000000 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv +++ /dev/null @@ -1,4 +0,0 @@ -Description,Target,Expression -destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, non_mandatory_tours.destination) < setting('cbd_threshold')) * 1" -#,, -,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), non_mandatory_tours.person_id)" diff --git a/activitysim/examples/example_psrc/configs/school_location.csv b/activitysim/examples/example_psrc/configs/school_location.csv deleted file mode 100755 index 04d4647262..0000000000 --- a/activitysim/examples/example_psrc/configs/school_location.csv +++ /dev/null @@ -1,12 +0,0 @@ -Label,Description,Expression,university,highschool,gradeschool -local_dist,,_DIST@skims['DIST'],1,1,1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 -util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 -util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum -util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 diff --git a/activitysim/examples/example_psrc/configs/school_location.yaml b/activitysim/examples/example_psrc/configs/school_location.yaml deleted file mode 100755 index 16f2378507..0000000000 --- a/activitysim/examples/example_psrc/configs/school_location.yaml +++ /dev/null @@ -1,65 +0,0 @@ -SAMPLE_SIZE: 30 - -SIMULATE_CHOOSER_COLUMNS: - - home_zone_id - - school_segment - - household_id - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: home_zone_id -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 14 -OUT_PERIOD: 8 - -DEST_CHOICE_COLUMN_NAME: school_zone_id -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table -DEST_CHOICE_LOGSUM_COLUMN_NAME: school_location_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: school_location_sample - - -SAMPLE_SPEC: school_location_sample.csv -SPEC: school_location.csv -COEFFICIENTS: school_location_coeffs.csv - -LOGSUM_SETTINGS: tour_mode_choice.yaml -LOGSUM_PREPROCESSOR: nontour_preprocessor - -LOGSUM_TOUR_PURPOSE: - university: univ - highschool: school - gradeschool: school - -annotate_persons: - SPEC: annotate_persons_school - DF: persons - -# - shadow pricing - -# required by initialize_households when creating school_destination_size table -CHOOSER_TABLE_NAME: persons - -# size_terms model_selector -MODEL_SELECTOR: school - -# chooser column with segment_id for this segment type -CHOOSER_SEGMENT_COLUMN_NAME: school_segment - -# boolean column to filter choosers (True means keep) -CHOOSER_FILTER_COLUMN_NAME: is_student - - -# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this -SEGMENT_IDS: - university: 3 - highschool: 2 - gradeschool: 1 - - -# model adds these tables (informational - not added if commented out) -SHADOW_PRICE_TABLE: school_shadow_prices -MODELED_SIZE_TABLE: school_modeled_size - -# not loaded if commented out -SAVED_SHADOW_PRICE_TABLE_NAME: school_shadow_prices.csv diff --git a/activitysim/examples/example_psrc/configs/school_location_coeffs.csv b/activitysim/examples/example_psrc/configs/school_location_coeffs.csv deleted file mode 100755 index 4e4d638772..0000000000 --- a/activitysim/examples/example_psrc/configs/school_location_coeffs.csv +++ /dev/null @@ -1,17 +0,0 @@ -coefficient_name,value,constrain -coef_univ_dist_0_1,-3.2451,F -coef_univ_dist_1_2,-2.7011,F -coef_univ_dist_2_5,-0.5707,F -coef_univ_dist_5_15,-0.5002,F -coef_univ_dist_15_up,-0.073,F -coef_high_dist_0_1,-0.9523,F -coef_high_grade_dist_1_2,-0.57,F -coef_high_grade_dist_2_5,-0.57,F -coef_high_dist_5_15,-0.193,F -coef_high_dist_15_up,-0.1882,F -coef_grade_dist_0_1,-1.6419,F -#coef_high_grade_dist_1_2,-0.57,F -#coef_high_grade_dist_2_5,-0.57,F -coef_grade_dist_5_15,-0.2031,F -coef_grade_dist_15_up,-0.046,F -coef_mode_logsum,0.5358,F diff --git a/activitysim/examples/example_psrc/configs/school_location_sample.csv b/activitysim/examples/example_psrc/configs/school_location_sample.csv deleted file mode 100755 index f785f26749..0000000000 --- a/activitysim/examples/example_psrc/configs/school_location_sample.csv +++ /dev/null @@ -1,10 +0,0 @@ -Label,Description,Expression,university,highschool,gradeschool -local_dist,,_DIST@skims['DIST'],1,1,1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 -util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 diff --git a/activitysim/examples/example_psrc/configs/settings.yaml b/activitysim/examples/example_psrc/configs/settings.yaml deleted file mode 100755 index 3760af7049..0000000000 --- a/activitysim/examples/example_psrc/configs/settings.yaml +++ /dev/null @@ -1,176 +0,0 @@ -#inherit_settings: True - -# activitysim run -c configs -d data -o output - - -# number of households to simulate -households_sample_size: 100 -# simulate all households -# households_sample_size: 0 - -chunk_size: 0 - -# assume enough RAM to not chunk -chunk_training_mode: disabled - -# set false to disable variability check in simple_simulate and interaction_simulate -check_for_variability: False - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False - -# - tracing - -# trace household id; comment out or leave empty for no trace -# households with all tour types -trace_hh_id: - -# trace origin, destination in accessibility calculation; comment out or leave empty for no trace -trace_od: - - -# input tables -input_table_list: - - tablename: households - filename: households.csv - index_col: household_id - rename_columns: - HHID: household_id - PERSONS: hhsize - workers: num_workers - VEHICL: auto_ownership - MAZ: home_zone_id - keep_columns: - - home_zone_id - - income - - hhsize - - HHT - - auto_ownership - - num_workers - - tablename: persons - filename: persons.csv - index_col: person_id - rename_columns: - PERID: person_id - keep_columns: - - household_id - - age - - PNUM - - sex - - pemploy - - pstudent - - ptype - - tablename: land_use - filename: land_use.csv - index_col: zone_id - rename_columns: - MAZ: zone_id - COUNTY: county_id - keep_columns: - - TAZ - - DISTRICT - - SD - - county_id - - TOTHH - - TOTPOP - - TOTACRE - - RESACRE - - CIACRE - - TOTEMP - - AGE0519 - - RETEMPN - - FPSEMPN - - HEREMPN - - OTHEMPN - - AGREMPN - - MWTEMPN - - PRKCST - - OPRKCST - - area_type - - HSENROLL - - COLLFTE - - COLLPTE - - TOPOLOGY - - TERMINAL -# - access_dist_transit - -# to resume after last successful checkpoint, specify resume_after: _ -#resume_after: trip_scheduling - -models: - - initialize_landuse - - initialize_households - - compute_accessibility - - school_location - - workplace_location - - auto_ownership_simulate - - free_parking - - cdap_simulate - - mandatory_tour_frequency - - mandatory_tour_scheduling - - joint_tour_frequency - - joint_tour_composition - - joint_tour_participation - - joint_tour_destination - - joint_tour_scheduling - - non_mandatory_tour_frequency - - non_mandatory_tour_destination - - non_mandatory_tour_scheduling - - tour_mode_choice_simulate - - atwork_subtour_frequency - - atwork_subtour_destination - - atwork_subtour_scheduling - - atwork_subtour_mode_choice - - stop_frequency - - trip_purpose - - trip_destination - - trip_purpose_and_destination - - trip_scheduling - - trip_mode_choice - - write_data_dictionary - - track_skim_usage - - write_trip_matrices - - write_tables - - -output_tables: - h5_store: False - action: include - prefix: final_ - sort: True - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - trips - - joint_tour_participants - -# area_types less than this are considered urban -urban_threshold: 4 -cbd_threshold: 2 -rural_threshold: 6 - - -# value_of_time = lognormal(np.log(median_value_of_time * mu), sigma).clip(min_vot, max_vot) - -min_value_of_time: 1 -max_value_of_time: 50 -distributed_vot_mu: 0.684 -distributed_vot_sigma: 0.85 - -household_median_value_of_time: - 1: 6.01 - 2: 8.81 - 3: 10.44 - 4: 12.86 diff --git a/activitysim/examples/example_psrc/configs/shadow_pricing.yaml b/activitysim/examples/example_psrc/configs/shadow_pricing.yaml deleted file mode 100755 index b8ee4e9afd..0000000000 --- a/activitysim/examples/example_psrc/configs/shadow_pricing.yaml +++ /dev/null @@ -1,34 +0,0 @@ -shadow_pricing_models: - school: school_location - workplace: workplace_location - -# global switch to enable/disable loading of saved shadow prices -# (ignored if global use_shadow_pricing switch is False) -LOAD_SAVED_SHADOW_PRICES: True - -# number of shadow price iterations for cold start -MAX_ITERATIONS: 10 - -# number of shadow price iterations for warm start (after loading saved shadow_prices) -MAX_ITERATIONS_SAVED: 1 - -# ignore criteria for zones smaller than size_threshold -SIZE_THRESHOLD: 10 - -# zone passes if modeled is within percent_tolerance of predicted_size -PERCENT_TOLERANCE: 5 - -# max percentage of zones allowed to fail -FAIL_THRESHOLD: 10 - -# CTRAMP or daysim -SHADOW_PRICE_METHOD: ctramp -#SHADOW_PRICE_METHOD: daysim - -# ctramp-style shadow_pricing_method parameters -DAMPING_FACTOR: 1 - -# daysim-style shadow_pricing_method parameters -# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? -DAYSIM_ABSOLUTE_TOLERANCE: 50 -DAYSIM_PERCENT_TOLERANCE: 10 diff --git a/activitysim/examples/example_psrc/configs/stop_frequency.yaml b/activitysim/examples/example_psrc/configs/stop_frequency.yaml deleted file mode 100755 index 66fcdd78f5..0000000000 --- a/activitysim/examples/example_psrc/configs/stop_frequency.yaml +++ /dev/null @@ -1,77 +0,0 @@ -LOGIT_TYPE: MNL - -preprocessor: - SPEC: stop_frequency_annotate_tours_preprocessor - DF: tours_merged - TABLES: - - persons - - land_use - - accessibility - -SEGMENT_COL: primary_purpose - -SPEC_SEGMENTS: - - primary_purpose: work - SPEC: stop_frequency_work.csv - COEFFICIENTS: stop_frequency_coefficients_work.csv - - primary_purpose: school - SPEC: stop_frequency_school.csv - COEFFICIENTS: stop_frequency_coefficients_school.csv - - primary_purpose: univ - SPEC: stop_frequency_univ.csv - COEFFICIENTS: stop_frequency_coefficients_univ.csv - - primary_purpose: social - SPEC: stop_frequency_social.csv - COEFFICIENTS: stop_frequency_coefficients_social.csv - - primary_purpose: shopping - SPEC: stop_frequency_shopping.csv - COEFFICIENTS: stop_frequency_coefficients_shopping.csv - - primary_purpose: eatout - SPEC: stop_frequency_eatout.csv - COEFFICIENTS: stop_frequency_coefficients_eatout.csv - - primary_purpose: escort - SPEC: stop_frequency_escort.csv - COEFFICIENTS: stop_frequency_coefficients_escort.csv - - primary_purpose: othmaint - SPEC: stop_frequency_othmaint.csv - COEFFICIENTS: stop_frequency_coefficients_othmaint.csv - - primary_purpose: othdiscr - SPEC: stop_frequency_othdiscr.csv - COEFFICIENTS: stop_frequency_coefficients_othdiscr.csv - - primary_purpose: atwork - SPEC: stop_frequency_atwork.csv - COEFFICIENTS: stop_frequency_coefficients_atwork.csv - -CONSTANTS: - TRANSIT_MODES: - - WALK_LOC - - WALK_LRF - - WALK_EXP - - WALK_HVY - - WALK_COM - - DRIVE_LOC - - DRIVE_LRF - - DRIVE_EXP - - DRIVE_HVY - - DRIVE_COM - DRIVE_TO_TRANSIT_MODES: - - DRIVE_LOC - - DRIVE_LRF - - DRIVE_EXP - - DRIVE_HVY - - DRIVE_COM - NONMOTORIZED_MODES: - - WALK - - BIKE - SHOP_TOUR: shopping - MAINT_TOUR: othmaint - SCHOOL_TOUR: school - EATOUT_TOUR: eatout - SOCIAL_TOUR: social - num_atwork_subtours_map: - no_subtours: 0 - eat: 1 - business1: 1 - maint: 1 - business2: 2 - eat_business: 2 diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_alternatives.csv b/activitysim/examples/example_psrc/configs/stop_frequency_alternatives.csv deleted file mode 100755 index 0153cb399b..0000000000 --- a/activitysim/examples/example_psrc/configs/stop_frequency_alternatives.csv +++ /dev/null @@ -1,18 +0,0 @@ -#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,out,in -0out_0in,0,0 -0out_1in,0,1 -0out_2in,0,2 -0out_3in,0,3 -1out_0in,1,0 -1out_1in,1,1 -1out_2in,1,2 -1out_3in,1,3 -2out_0in,2,0 -2out_1in,2,1 -2out_2in,2,2 -2out_3in,2,3 -3out_0in,3,0 -3out_1in,3,1 -3out_2in,3,2 -3out_3in,3,3 diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/example_psrc/configs/stop_frequency_annotate_tours_preprocessor.csv deleted file mode 100755 index 982eeabb97..0000000000 --- a/activitysim/examples/example_psrc/configs/stop_frequency_annotate_tours_preprocessor.csv +++ /dev/null @@ -1,47 +0,0 @@ -Description,Target,Expression -#,, -# define primary_purpose to use for slicing choosers with a value that identifies the spec to be used ,, -# e.g. univ segment means there will be a spec called stop_frequency_univ.csv,, -# so the 'school' tour_type can treat univ and non-univ school tours differently,, -,primary_purpose,"df.tour_type.where((df.tour_type != 'school') | ~df.is_university, 'univ')" -,primary_purpose,"primary_purpose.where(df.tour_category!='atwork', 'atwork')" -#,, -,distance_in_miles,od_skims['DIST'] -#,, -,is_joint,df.tour_category=='joint' -,_HH_PERSON_COUNT,"lambda exp, persons: persons.query(exp).groupby('household_id').size()" -,num_full,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_FULL, persons), df.household_id)" -,num_part,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_PART, persons), df.household_id)" -,num_student,"reindex_i(_HH_PERSON_COUNT('pstudent != %s' % PSTUDENT_NOT, persons), df.household_id)" -Num Kids between 0 and 4 (including) years old,num_age_0_4,"reindex_i(_HH_PERSON_COUNT('age < 5', persons), df.household_id)" -Num kids between 4 and 15 (including) years old,num_age_5_15,"reindex_i(_HH_PERSON_COUNT('(age >= 5) & (age <16)', persons), df.household_id)" -Number of Adults (>= 16 years old),num_adult,"reindex_i(_HH_PERSON_COUNT('age >= 16', persons), df.household_id)" -,more_cars_than_workers,df.auto_ownership >= (num_full + num_part) -,tour_mode_is_transit,df.tour_mode.isin(TRANSIT_MODES) -,tour_mode_is_drive_transit,df.tour_mode.isin(DRIVE_TO_TRANSIT_MODES) -,tour_mode_is_non_motorized,df.tour_mode.isin(NONMOTORIZED_MODES) -#,, -#num_work_tours already defined,, -school but not university,num_school_tours,"reindex_i(df[primary_purpose==SCHOOL_TOUR].groupby('person_id').size(), df.person_id)" -,num_univ_tours,(df.is_university) * num_school_tours -#num_escort_tours already defined,, -# indiv tour counts should not include joint tours by point_person,, -,num_shop_tours,"reindex_i(df[~is_joint & (df.tour_type==SHOP_TOUR)].groupby('person_id').size(), df.person_id)" -,num_maint_tours,"reindex_i(df[~is_joint & (df.tour_type==MAINT_TOUR)].groupby('person_id').size(), df.person_id)" -,num_eatout_tours,"reindex_i(df[~is_joint & (df.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" -,num_social_tours,"reindex_i(df[~is_joint & (df.tour_type==SOCIAL_TOUR)].groupby('person_id').size(), df.person_id)" -#,, -Number of subtours in the tour,num_atwork_subtours,"df.atwork_subtour_frequency.map(num_atwork_subtours_map, na_action='ignore').fillna(0).astype(np.int8)" -#,, -Number of hh shop tours including joint,num_hh_shop_tours,"reindex_i(df[df.tour_type==SHOP_TOUR].groupby('household_id').size(), df.person_id)" -Number of hh maint tours including joint,num_hh_maint_tours,"reindex_i(df[df.tour_type==MAINT_TOUR].groupby('household_id').size(), df.person_id)" -tourStartsInPeakPeriod,_tour_starts_in_peak,(network_los.skim_time_period_label(df.start) == 'AM') | (network_los.skim_time_period_label(df.start) == 'PM') -AccesibilityAtOrigin fallback,hhacc,0 -AccesibilityAtOrigin if transit,hhacc,"hhacc.where(~tour_mode_is_transit, df.trPkRetail.where(_tour_starts_in_peak, df.trOpRetail))" -AccesibilityAtOrigin if non_motorized,hhacc,"hhacc.where(~tour_mode_is_non_motorized, df.nmRetail)" -AccesibilityADestination fallback,pracc,0 -AccesibilityADestination peak transit,_dest_trPkRetail,"reindex(accessibility.trPkRetail, df.destination)" -AccesibilityADestination off-peak transit,_dest_trOpRetail,"reindex(accessibility.trOpRetail, df.destination)" -AccesibilityAtDestination if transit,pracc,"pracc.where(~tour_mode_is_transit, _dest_trPkRetail.where(_tour_starts_in_peak, _dest_trOpRetail))" -AccesibilityAtDestination if non_motorized,pracc,"pracc.where(~tour_mode_is_non_motorized, reindex(accessibility.nmRetail, df.destination))" -,destination_area_type,"reindex(land_use.area_type, df.destination)" diff --git a/activitysim/examples/example_psrc/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/example_psrc/configs/tour_departure_and_duration_alternatives.csv deleted file mode 100755 index 05f02b7964..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_departure_and_duration_alternatives.csv +++ /dev/null @@ -1,191 +0,0 @@ -start,end -5,5 -5,6 -5,7 -5,8 -5,9 -5,10 -5,11 -5,12 -5,13 -5,14 -5,15 -5,16 -5,17 -5,18 -5,19 -5,20 -5,21 -5,22 -5,23 -6,6 -6,7 -6,8 -6,9 -6,10 -6,11 -6,12 -6,13 -6,14 -6,15 -6,16 -6,17 -6,18 -6,19 -6,20 -6,21 -6,22 -6,23 -7,7 -7,8 -7,9 -7,10 -7,11 -7,12 -7,13 -7,14 -7,15 -7,16 -7,17 -7,18 -7,19 -7,20 -7,21 -7,22 -7,23 -8,8 -8,9 -8,10 -8,11 -8,12 -8,13 -8,14 -8,15 -8,16 -8,17 -8,18 -8,19 -8,20 -8,21 -8,22 -8,23 -9,9 -9,10 -9,11 -9,12 -9,13 -9,14 -9,15 -9,16 -9,17 -9,18 -9,19 -9,20 -9,21 -9,22 -9,23 -10,10 -10,11 -10,12 -10,13 -10,14 -10,15 -10,16 -10,17 -10,18 -10,19 -10,20 -10,21 -10,22 -10,23 -11,11 -11,12 -11,13 -11,14 -11,15 -11,16 -11,17 -11,18 -11,19 -11,20 -11,21 -11,22 -11,23 -12,12 -12,13 -12,14 -12,15 -12,16 -12,17 -12,18 -12,19 -12,20 -12,21 -12,22 -12,23 -13,13 -13,14 -13,15 -13,16 -13,17 -13,18 -13,19 -13,20 -13,21 -13,22 -13,23 -14,14 -14,15 -14,16 -14,17 -14,18 -14,19 -14,20 -14,21 -14,22 -14,23 -15,15 -15,16 -15,17 -15,18 -15,19 -15,20 -15,21 -15,22 -15,23 -16,16 -16,17 -16,18 -16,19 -16,20 -16,21 -16,22 -16,23 -17,17 -17,18 -17,19 -17,20 -17,21 -17,22 -17,23 -18,18 -18,19 -18,20 -18,21 -18,22 -18,23 -19,19 -19,20 -19,21 -19,22 -19,23 -20,20 -20,21 -20,22 -20,23 -21,21 -21,22 -21,23 -22,22 -22,23 -23,23 \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice.csv b/activitysim/examples/example_psrc/configs/tour_mode_choice.csv deleted file mode 100755 index e1b04fbcd9..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice.csv +++ /dev/null @@ -1,346 +0,0 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, -#,Walk,,,,,,,,,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, -#,Bike,,,,,,,,,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, -#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, -#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -#, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, -#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, -#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, -#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, -#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, -util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, -#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, -util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, -#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, -util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, -#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, -util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, -#,Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, -util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, -#,Taxi,,,,,,,,,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,coef_ivt,, -#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,,,,, -util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt -#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt -#,indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,,,,,,,,,, -util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, -util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, -util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,,,,,,,,,, -util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, -util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, -util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,,,,,,,,,, -util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, -util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, -util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,, -util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,, -util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,, -util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,,, -util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,,, -util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_no_auto,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient -#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, -util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, -util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, -util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, -util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,, -util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,, -util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,, -util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,,, -util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,,, -util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient -util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,,,,,local_bus_ASC,,,,,,, -util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, -util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, -util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, -util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, -util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, -util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, -util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, -util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, -util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, -#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, -util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, -#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice.yaml b/activitysim/examples/example_psrc/configs/tour_mode_choice.yaml deleted file mode 100755 index 2ce70b9cae..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice.yaml +++ /dev/null @@ -1,189 +0,0 @@ -LOGIT_TYPE: NL -#LOGIT_TYPE: MNL - -NESTS: - name: root - coefficient: coef_nest_root - alternatives: - - name: AUTO - coefficient: coef_nest_AUTO - alternatives: - - name: DRIVEALONE - coefficient: coef_nest_AUTO_DRIVEALONE - alternatives: - - DRIVEALONEFREE - - DRIVEALONEPAY - - name: SHAREDRIDE2 - coefficient: coef_nest_AUTO_SHAREDRIDE2 - alternatives: - - SHARED2FREE - - SHARED2PAY - - name: SHAREDRIDE3 - coefficient: coef_nest_AUTO_SHAREDRIDE3 - alternatives: - - SHARED3FREE - - SHARED3PAY - - name: NONMOTORIZED - coefficient: coef_nest_NONMOTORIZED - alternatives: - - WALK - - BIKE - - name: TRANSIT - coefficient: coef_nest_TRANSIT - alternatives: - - name: WALKACCESS - coefficient: coef_nest_TRANSIT_WALKACCESS - alternatives: - - WALK_LOC - - WALK_LRF - - WALK_EXP - - WALK_HVY - - WALK_COM - - name: DRIVEACCESS - coefficient: coef_nest_TRANSIT_DRIVEACCESS - alternatives: - - DRIVE_LOC - - DRIVE_LRF - - DRIVE_EXP - - DRIVE_HVY - - DRIVE_COM - - name: RIDEHAIL - coefficient: coef_nest_RIDEHAIL - alternatives: - - TAXI - - TNC_SINGLE - - TNC_SHARED - -SPEC: tour_mode_choice.csv -COEFFICIENTS: tour_mode_choice_coeffs.csv -COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv - -CONSTANTS: - #valueOfTime: 8.00 - costPerMile: 18.29 - costShareSr2: 1.75 - costShareSr3: 2.50 - waitThresh: 10.00 - walkThresh: 1.50 - shortWalk: 0.333 - longWalk: 0.667 - walkSpeed: 3.00 - bikeThresh: 6.00 - bikeSpeed: 12.00 - maxCbdAreaTypeThresh: 2 - indivTour: 1.00000 - upperEA: 5 - upperAM: 10 - upperMD: 15 - upperPM: 19 - # RIDEHAIL Settings - Taxi_baseFare: 2.20 - Taxi_costPerMile: 2.30 - Taxi_costPerMinute: 0.10 - Taxi_waitTime_mean: - 1: 5.5 - 2: 9.5 - 3: 13.3 - 4: 17.3 - 5: 26.5 - Taxi_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_single_baseFare: 2.20 - TNC_single_costPerMile: 1.33 - TNC_single_costPerMinute: 0.24 - TNC_single_costMinimum: 7.20 - TNC_single_waitTime_mean: - 1: 3.0 - 2: 6.3 - 3: 8.4 - 4: 8.5 - 5: 10.3 - TNC_single_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_shared_baseFare: 2.20 - TNC_shared_costPerMile: 0.53 - TNC_shared_costPerMinute: 0.10 - TNC_shared_costMinimum: 3.00 - TNC_shared_IVTFactor: 1.5 - TNC_shared_waitTime_mean: - 1: 5.0 - 2: 8.0 - 3: 11.0 - 4: 15.0 - 5: 15.0 - TNC_shared_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - min_waitTime: 0 - max_waitTime: 50 - - ivt_cost_multiplier: 0.6 - ivt_lrt_multiplier: 0.9 - ivt_ferry_multiplier: 0.8 - ivt_exp_multiplier: 1 - ivt_hvy_multiplier: 0.8 - ivt_com_multiplier: 0.7 - walktimeshort_multiplier: 2 - walktimelong_multiplier: 10 - biketimeshort_multiplier: 4 - biketimelong_multiplier: 20 - short_i_wait_multiplier: 2 - long_i_wait_multiplier: 1 - wacc_multiplier: 2 - wegr_multiplier: 2 - waux_multiplier: 2 - dtim_multiplier: 2 - xwait_multiplier: 2 - dacc_ratio: 0 - xfers_wlk_multiplier: 10 - xfers_drv_multiplier: 20 - drvtrn_distpen_0_multiplier: 270 - drvtrn_distpen_max: 15 - density_index_multiplier: -0.2 -# joint_sr2_ASC_no_auto: 0 -# joint_sr2_ASC_auto_deficient: 0 -# joint_sr2_ASC_auto_sufficient: 0 -# joint_drive_transit_ASC_no_auto: 0 - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - - tours - -nontour_preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - -# to reduce memory needs filter chooser table to these fields -LOGSUM_CHOOSER_COLUMNS: - - tour_type - - hhsize - - density_index - - age - - age_16_p - - age_16_to_19 - - auto_ownership - - number_of_participants - - tour_category - - num_workers - - value_of_time - - free_parking_at_work - - -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/example_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv deleted file mode 100755 index 121a908882..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv +++ /dev/null @@ -1,93 +0,0 @@ -Description,Target,Expression -#,, -local,_DF_IS_TOUR,'tour_type' in df.columns -,number_of_participants,df.number_of_participants if _DF_IS_TOUR else 1 -,is_joint,(df.tour_category=='joint') if _DF_IS_TOUR else False -#,, - local,_HAVE_PARENT_TOURS,'parent_tour_id' in df.columns -,_parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id) if _HAVE_PARENT_TOURS else ''" -,work_tour_is_drive,"_parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" -,work_tour_is_bike,_parent_tour_mode=='BIKE' -,work_tour_is_SOV,"_parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" -#,, -,is_mandatory,(df.tour_category=='mandatory') if 'tour_category' in df.columns else False -,is_joint,(df.tour_category=='joint') if 'tour_category' in df.columns else False -,is_indiv,~is_joint -,is_atwork_subtour,(df.tour_category=='atwork') if 'tour_category' in df.columns else False -,is_escort,(df.tour_type == 'escort') if _DF_IS_TOUR else False -# FIXME why inverse of value of time? need better name?,, -#,c_cost,(0.60 * c_ivt) / df.value_of_time -# ivot * (c_ivt_cost_multiplier * c_ivt) -,ivot,1.0 / df.value_of_time -#,, -,dest_topology,"reindex(land_use.TOPOLOGY, df[dest_col_name])" -,terminal_time,"reindex(land_use.TERMINAL, df[dest_col_name])" -,dest_density_index,"reindex(land_use.density_index, df[dest_col_name])" -# FIXME no transit subzones for ONE_ZONE version, so all zones short walk to transit,, -,_origin_distance_to_transit,"reindex(land_use.access_dist_transit, df[orig_col_name]) if 'access_dist_transit' in land_use else shortWalk" -,_destination_distance_to_transit,"reindex(land_use.access_dist_transit, df[dest_col_name]) if 'access_dist_transit' in land_use else shortWalk" -,walk_transit_available,(_origin_distance_to_transit > 0) & (_destination_distance_to_transit > 0) -,drive_transit_available,(_destination_distance_to_transit > 0) & (df.auto_ownership > 0) -,origin_walk_time,_origin_distance_to_transit*60/walkSpeed -,destination_walk_time,_destination_distance_to_transit*60/walkSpeed -# RIDEHAIL,, -,origin_density_measure,"(reindex(land_use.TOTPOP, df[orig_col_name]) + reindex(land_use.TOTEMP, df[orig_col_name])) / (reindex(land_use.TOTACRE, df[orig_col_name]) / 640)" -,dest_density_measure,"(reindex(land_use.TOTPOP, df[dest_col_name]) + reindex(land_use.TOTEMP, df[dest_col_name])) / (reindex(land_use.TOTACRE, df[dest_col_name]) / 640)" -,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" -,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" -,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" -,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" -,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" -,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" -# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from -,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" -,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" -,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" -,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" -,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" -,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" -,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" -,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" -,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime -,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime -,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime -#,, -,_free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work if _DF_IS_TOUR else False -,_dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[dest_col_name])" -,_dest_hourly_offpeak_parking_cost,"reindex(land_use.OPRKCST, df[dest_col_name])" -,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)" -,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)" -,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost * df.duration, _hourly_offpeak_parking_cost * df.duration)" -#,, -,distance,od_skims['DIST'] -,distance_walk_od,od_skims['DISTWALK'] -,distance_bike_od,od_skims['DISTBIKE'] -#,, -,sov_available,(odt_skims['SOV_TIME']>0) & (dot_skims['SOV_TIME']>0) -,sovtoll_available,(odt_skims['SOVTOLL_VTOLL']>0) | (dot_skims['SOVTOLL_VTOLL']>0) -,hov2_available,(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME'])>0 -,hov2toll_available,(odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL'])>0 -,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) -,hov3toll_available,(odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL'])>0 -,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) -,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) -,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) -,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) -#,, -destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, df[dest_col_name]) < setting('cbd_threshold')) * 1" -#,,FIXME diagnostic -#,sov_dist_rt,(odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']) diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs.csv b/activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs.csv deleted file mode 100755 index c5d9a264a2..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs.csv +++ /dev/null @@ -1,308 +0,0 @@ -coefficient_name,value,constrain -coef_one,1,T -coef_nest_root,1.00,T -coef_nest_AUTO,0.72,T -coef_nest_AUTO_DRIVEALONE,0.35,T -coef_nest_AUTO_SHAREDRIDE2,0.35,T -coef_nest_AUTO_SHAREDRIDE3,0.35,T -coef_nest_NONMOTORIZED,0.72,T -coef_nest_TRANSIT,0.72,T -coef_nest_TRANSIT_WALKACCESS,0.5,T -coef_nest_TRANSIT_DRIVEACCESS,0.5,T -coef_nest_RIDEHAIL,0.36,T -coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F -coef_ivt_school_univ,-0.0224,F -coef_ivt_work,-0.0134,F -coef_ivt_atwork,-0.0188,F -coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F -coef_topology_walk_multiplier_atwork,7.5,F -coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F -coef_topology_bike_multiplier_atwork,10,F -coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F -coef_topology_trn_multiplier_atwork,2,F -coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age1619_da_multiplier_school_univ,-1.3813,F -coef_age1619_da_multiplier_atwork,0.0032336,F -coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age010_trn_multiplier_school_univ,-1.5548,F -coef_age010_trn_multiplier_atwork,0.000722,F -coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F -coef_age16p_sr_multiplier_school_univ_work_atwork,0,F -coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F -coef_hhsize1_sr_multiplier_work,-0.734588,F -coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F -coef_hhsize2_sr_multiplier_school_univ,-0.6359,F -walk_ASC_no_auto_eatout,5.1251173,F -walk_ASC_no_auto_escort,2.8012068,F -walk_ASC_no_auto_othdiscr,3.2665946,F -walk_ASC_no_auto_othmaint,1.287299,F -walk_ASC_no_auto_school,18.414557,F -walk_ASC_no_auto_shopping,2.3768773,F -walk_ASC_no_auto_social,1.8680915,F -walk_ASC_no_auto_univ,6.408967,F -walk_ASC_no_auto_work,5.7672157,F -walk_ASC_no_auto_atwork,6.669213,F -walk_ASC_auto_deficient_eatout,3.274605,F -walk_ASC_auto_deficient_escort,-0.90204656,F -walk_ASC_auto_deficient_othdiscr,2.2494075,F -walk_ASC_auto_deficient_othmaint,1.3690404,F -walk_ASC_auto_deficient_school,3.2573624,F -walk_ASC_auto_deficient_shopping,2.2701733,F -walk_ASC_auto_deficient_social,2.870184,F -walk_ASC_auto_deficient_univ,4.50591,F -walk_ASC_auto_deficient_work,2.4010417,F -walk_ASC_auto_deficient_atwork,0.92546093,F -walk_ASC_auto_sufficient_eatout,1.5516903,F -walk_ASC_auto_sufficient_escort,-0.8116066,F -walk_ASC_auto_sufficient_othdiscr,1.2633476,F -walk_ASC_auto_sufficient_othmaint,0.7999634,F -walk_ASC_auto_sufficient_school,0.6476856,F -walk_ASC_auto_sufficient_shopping,0.7312663,F -walk_ASC_auto_sufficient_social,1.7072186,F -walk_ASC_auto_sufficient_univ,1.0607665,F -walk_ASC_auto_sufficient_work,0.053265337,F -walk_ASC_auto_sufficient_atwork,0.677216,F -bike_ASC_no_auto_eatout,0.86807096,F -bike_ASC_no_auto_escort,-0.716212,F -bike_ASC_no_auto_othdiscr,-0.3764232,F -bike_ASC_no_auto_othmaint,1.5394334,F -bike_ASC_no_auto_school,12.098735,F -bike_ASC_no_auto_shopping,0.8341555,F -bike_ASC_no_auto_social,0.02058321,F -bike_ASC_no_auto_univ,4.2945156,F -bike_ASC_no_auto_work,3.1940088,F -bike_ASC_no_auto_atwork,-0.90725845,F -bike_ASC_auto_deficient_eatout,-1.5691106,F -bike_ASC_auto_deficient_escort,-4.527928,F -bike_ASC_auto_deficient_othdiscr,-0.09246834,F -bike_ASC_auto_deficient_othmaint,-1.5184649,F -bike_ASC_auto_deficient_school,-0.5280678,F -bike_ASC_auto_deficient_shopping,-0.87584466,F -bike_ASC_auto_deficient_social,0.6345214,F -bike_ASC_auto_deficient_univ,-0.669235,F -bike_ASC_auto_deficient_work,0.25318968,F -bike_ASC_auto_deficient_atwork,-0.8074083,F -bike_ASC_auto_sufficient_eatout,-1.2003471,F -bike_ASC_auto_sufficient_escort,-5.0631084,F -bike_ASC_auto_sufficient_othdiscr,-1.0714597,F -bike_ASC_auto_sufficient_othmaint,-2.8083024,F -bike_ASC_auto_sufficient_school,-2.1134686,F -bike_ASC_auto_sufficient_shopping,-2.5662103,F -bike_ASC_auto_sufficient_social,-1.368071,F -bike_ASC_auto_sufficient_univ,-1.9397832,F -bike_ASC_auto_sufficient_work,-1.5800232,F -bike_ASC_auto_sufficient_atwork,15.72017,F -sr2_ASC_no_auto_all,0,F -sr2_ASC_auto_deficient_eatout,0.5882345,F -sr2_ASC_auto_deficient_escort,0,F -sr2_ASC_auto_deficient_othdiscr,0.6601513,F -sr2_ASC_auto_deficient_othmaint,0.2621527,F -sr2_ASC_auto_deficient_school,0.12474365,F -sr2_ASC_auto_deficient_shopping,0.24409756,F -sr2_ASC_auto_deficient_social,1.8558528,F -sr2_ASC_auto_deficient_univ,-1.6922346,F -sr2_ASC_auto_deficient_work,-0.33803123,F -sr2_ASC_auto_deficient_atwork,-2.1102421,F -sr2_ASC_auto_sufficient_eatout,0.86280555,F -sr2_ASC_auto_sufficient_escort,0,F -sr2_ASC_auto_sufficient_othdiscr,0.49684617,F -sr2_ASC_auto_sufficient_othmaint,0.25817883,F -sr2_ASC_auto_sufficient_school,-1.6062657,F -sr2_ASC_auto_sufficient_shopping,0.19770707,F -sr2_ASC_auto_sufficient_social,0.5236025,F -sr2_ASC_auto_sufficient_univ,-1.859427,F -sr2_ASC_auto_sufficient_work,-1.0857458,F -sr2_ASC_auto_sufficient_atwork,-1.4450618,F -sr3p_ASC_no_auto_eatout,0.3219998,F -sr3p_ASC_no_auto_escort,-1.8129267,F -sr3p_ASC_no_auto_othdiscr,0.27216902,F -sr3p_ASC_no_auto_othmaint,-0.8031854,F -sr3p_ASC_no_auto_school,-6.0240827,F -sr3p_ASC_no_auto_shopping,-0.27978948,F -sr3p_ASC_no_auto_social,-1.4036902,F -sr3p_ASC_no_auto_univ,-6.056001,F -sr3p_ASC_no_auto_work,-0.5831269,F -sr3p_ASC_no_auto_atwork,0.5826626,F -sr3p_ASC_auto_deficient_eatout,0.04605236,F -sr3p_ASC_auto_deficient_escort,-0.40818766,F -sr3p_ASC_auto_deficient_othdiscr,1.0470966,F -sr3p_ASC_auto_deficient_othmaint,-1.3493925,F -sr3p_ASC_auto_deficient_school,0.7149571,F -sr3p_ASC_auto_deficient_shopping,-0.073370166,F -sr3p_ASC_auto_deficient_social,1.5007243,F -sr3p_ASC_auto_deficient_univ,-1.7277422,F -sr3p_ASC_auto_deficient_work,-0.8527042,F -sr3p_ASC_auto_deficient_atwork,-2.514658,F -sr3p_ASC_auto_sufficient_eatout,0.8468596,F -sr3p_ASC_auto_sufficient_escort,-0.05741253,F -sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F -sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F -sr3p_ASC_auto_sufficient_school,-1.0201935,F -sr3p_ASC_auto_sufficient_shopping,-0.077571295,F -sr3p_ASC_auto_sufficient_social,0.50617886,F -sr3p_ASC_auto_sufficient_univ,-1.9047098,F -sr3p_ASC_auto_sufficient_work,-1.4699702,F -sr3p_ASC_auto_sufficient_atwork,-1.652174,F -walk_transit_ASC_no_auto_eatout,2.5936368,F -walk_transit_ASC_no_auto_escort,-2.2172081,F -walk_transit_ASC_no_auto_othdiscr,2.2437785,F -walk_transit_ASC_no_auto_othmaint,2.5643456,F -walk_transit_ASC_no_auto_school,21.383749,F -walk_transit_ASC_no_auto_shopping,2.1067476,F -walk_transit_ASC_no_auto_social,1.3814651,F -walk_transit_ASC_no_auto_univ,8.786037,F -walk_transit_ASC_no_auto_work,5.0354166,F -walk_transit_ASC_no_auto_atwork,2.7041876,F -walk_transit_ASC_auto_deficient_eatout,-0.03896324,F -walk_transit_ASC_auto_deficient_escort,-4.960704,F -walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F -walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F -walk_transit_ASC_auto_deficient_school,4.120708,F -walk_transit_ASC_auto_deficient_shopping,-0.8476569,F -walk_transit_ASC_auto_deficient_social,0.97444487,F -walk_transit_ASC_auto_deficient_univ,3.1362555,F -walk_transit_ASC_auto_deficient_work,0.65302855,F -walk_transit_ASC_auto_deficient_atwork,-2.9988291,F -walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F -walk_transit_ASC_auto_sufficient_escort,-4.934847,F -walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F -walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F -walk_transit_ASC_auto_sufficient_school,0.74590874,F -walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F -walk_transit_ASC_auto_sufficient_social,-0.3453759,F -walk_transit_ASC_auto_sufficient_univ,0.4731163,F -walk_transit_ASC_auto_sufficient_work,-0.8916507,F -walk_transit_ASC_auto_sufficient_atwork,-3.401027,F -drive_transit_ASC_no_auto_all,0,F -drive_transit_ASC_auto_deficient_eatout,0.5998061,F -drive_transit_ASC_auto_deficient_escort,-1.1537067,F -drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F -drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F -drive_transit_ASC_auto_deficient_school,5.3252654,F -drive_transit_ASC_auto_deficient_shopping,-0.41849178,F -drive_transit_ASC_auto_deficient_social,1.5627195,F -drive_transit_ASC_auto_deficient_univ,1.8501176,F -drive_transit_ASC_auto_deficient_work,0.10081567,F -drive_transit_ASC_auto_deficient_atwork,-998.8196,F -drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F -drive_transit_ASC_auto_sufficient_escort,-4.6014247,F -drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F -drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F -drive_transit_ASC_auto_sufficient_school,1.40135,F -drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F -drive_transit_ASC_auto_sufficient_social,-0.61585575,F -drive_transit_ASC_auto_sufficient_univ,1.3587753,F -drive_transit_ASC_auto_sufficient_work,-1.0045459,F -drive_transit_ASC_auto_sufficient_atwork,-999.21466,F -taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F -taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F -taxi_ASC_no_auto_school_univ,-7,T -taxi_ASC_no_auto_work,4.7291,F -taxi_ASC_no_auto_atwork,4.1021,F -taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F -taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F -taxi_ASC_auto_deficient_school,-0.3338,F -taxi_ASC_auto_deficient_univ,4.2492,F -taxi_ASC_auto_deficient_work,-1.4766,F -taxi_ASC_auto_deficient_atwork,-4.4046,F -taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F -taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F -taxi_ASC_auto_sufficient_school,-2.4294,F -taxi_ASC_auto_sufficient_univ,-0.3131,F -taxi_ASC_auto_sufficient_work,-4.8509,F -taxi_ASC_auto_sufficient_atwork,-2.8804,F -tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F -tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F -tnc_single_ASC_no_auto_school,-7,T -tnc_single_ASC_no_auto_univ,-2.519,F -tnc_single_ASC_no_auto_work,5.7855,F -tnc_single_ASC_no_auto_atwork,4.4982,F -tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F -tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F -tnc_single_ASC_auto_deficient_school,-0.5524,F -tnc_single_ASC_auto_deficient_univ,1.0221,F -tnc_single_ASC_auto_deficient_work,-0.8013,F -tnc_single_ASC_auto_deficient_atwork,-3.7626,F -tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F -tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F -tnc_single_ASC_auto_sufficient_school,-2.8375,F -tnc_single_ASC_auto_sufficient_univ,0.2088,F -tnc_single_ASC_auto_sufficient_work,-4.1946,F -tnc_single_ASC_auto_sufficient_atwork,-2.7988,F -tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F -tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F -tnc_shared_ASC_no_auto_school,-7,T -tnc_shared_ASC_no_auto_univ,-5.8116,F -tnc_shared_ASC_no_auto_work,3.2429,F -tnc_shared_ASC_no_auto_atwork,3.3672,F -tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F -tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F -tnc_shared_ASC_auto_deficient_school,-1.4746,F -tnc_shared_ASC_auto_deficient_univ,3.25,F -tnc_shared_ASC_auto_deficient_work,-2.1435,F -tnc_shared_ASC_auto_deficient_atwork,-4.5089,F -tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F -tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F -tnc_shared_ASC_auto_sufficient_school,-3.7219,F -tnc_shared_ASC_auto_sufficient_univ,-0.9068,F -tnc_shared_ASC_auto_sufficient_work,-5.3575,F -tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F -joint_walk_ASC_no_auto_all,-0.21274701,F -joint_walk_ASC_auto_deficient_all,-1.9607706,F -joint_walk_ASC_auto_sufficient_all,-3.2352157,F -joint_bike_ASC_no_auto_all,-2.8671598,F -joint_bike_ASC_auto_deficient_all,-6.076415,F -joint_bike_ASC_auto_sufficient_all,-6.3760657,F -joint_sr2_ASC_no_auto_all,0,T -joint_sr2_ASC_auto_deficient_all,0,T -joint_sr2_ASC_auto_sufficient_all,0,T -joint_sr3p_ASC_no_auto_all,0.5630671,F -joint_sr3p_ASC_auto_deficient_all,-1.8841692,F -joint_sr3p_ASC_auto_sufficient_all,-2.234826,F -joint_walk_transit_ASC_no_auto_all,0.62292415,F -joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F -joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F -joint_drive_transit_ASC_no_auto_all,0,T -joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F -joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F -joint_taxi_ASC_no_auto_all,-4.5792,F -joint_taxi_ASC_auto_deficient_all,-9.8157,F -joint_taxi_ASC_auto_sufficient_all,-11.7099,T -joint_tnc_single_ASC_no_auto_all,-4.4917,F -joint_tnc_single_ASC_auto_deficient_all,-9.8961,F -joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T -joint_tnc_shared_ASC_no_auto_all,-4.3002,F -joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F -joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T -local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F -local_bus_ASC_school_univ,-0.06508621,F -local_bus_ASC_work,0.06689507,F -walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -walk_light_rail_ASC_school_univ,1.6814003,F -walk_light_rail_ASC_work,0.8255567,F -drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -drive_light_rail_ASC_school_univ,1.6814003,F -drive_light_rail_ASC_work,0.8255567,F -walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -walk_ferry_ASC_school_univ,2.0202317,F -walk_ferry_ASC_work,0.93322605,F -drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -drive_ferry_ASC_school_univ,2.0202317,F -drive_ferry_ASC_work,0.93322605,F -express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F -express_bus_ASC_school_univ,0.32496938,F -express_bus_ASC_work,-0.5165474,F -heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F -heavy_rail_ASC_school_univ,0.96200377,F -heavy_rail_ASC_work,0.64772975,F -commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F -commuter_rail_ASC_school_univ,1.0336206,F -commuter_rail_ASC_work,0.725503,F -walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -walk_transit_CBD_ASC_school_univ,0.672,F -walk_transit_CBD_ASC_work,0.804,F -walk_transit_CBD_ASC_atwork,0.564,F -drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -drive_transit_CBD_ASC_school_univ,0.672,F -drive_transit_CBD_ASC_work,1.1,F -drive_transit_CBD_ASC_atwork,0.564,F diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs_template.csv b/activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs_template.csv deleted file mode 100755 index 2e97238f2c..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs_template.csv +++ /dev/null @@ -1,87 +0,0 @@ -coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork -#same for all segments,,,,,,,,,, -coef_one,,,,,,,,,, -coef_nest_root,,,,,,,,,, -coef_nest_AUTO,,,,,,,,,, -coef_nest_AUTO_DRIVEALONE,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, -coef_nest_NONMOTORIZED,,,,,,,,,, -coef_nest_TRANSIT,,,,,,,,,, -coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, -coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, -coef_nest_RIDEHAIL,,,,,,,,,, -#,,,,,,,,,, -coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork -coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork -coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork -coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork -coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork -coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork -coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork -coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork -coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork -walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork -walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork -walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork -bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork -bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork -bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork -sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all -sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork -sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork -sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork -sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork -sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork -walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork -walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork -walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork -drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all -drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork -drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork -taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork -taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork -taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork -tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork -tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork -tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork -tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork -tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork -tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork -joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all -joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all -joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all -joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all -joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all -joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all -joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all -joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all -joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all -joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all -joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all -joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all -joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all -joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all -joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all -joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all -joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all -joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all -joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all -joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all -joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all -joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all -joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all -joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all -joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all -joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all -joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all -local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork -drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_atwork.csv deleted file mode 100755 index c99dc7d3c4..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork.csv +++ /dev/null @@ -1,59 +0,0 @@ -Label,Description,Expression,Coefficient -#,Departure Constants,, -util_early_start_at_5,Early start at 5,start < 6,coef_early_start_at_5 -util_am_peak_start_at_6,AM peak start at 6,start == 6,coef_am_peak_start_at_6 -util_am_peak_start_at_7,AM peak start at 7,start == 7,coef_am_peak_start_at_7 -util_am_peak_start_at_8,AM peak start at 8,start == 8,coef_am_peak_start_at_8 -util_am_peak_start_at_9,AM peak start at 9,start == 9,coef_am_peak_start_at_9 -util_midday_start_at_10_11_12,Midday start at 10/11/12,(start > 9) & (start < 13),coef_midday_start_at_10_11_12 -util_midday_start_at_13_14_15,Midday start at 13/14/15,(start > 12) & (start < 16),coef_midday_start_at_13_14_15 -util_pm_peak_start_at_16_17_18,PM peak start at 16/17/18,(start > 15) & (start < 19),coef_pm_peak_start_at_16_17_18 -util_evening_start_at_19_20_21,Evening start at 19/20/21,(start > 18) & (start < 22),coef_evening_start_at_19_20_21 -util_late_start_at_22_23,Late start at 22/23,start > 21,coef_late_start_at_22_23 -#,Arrival Constants,, -util_early_end_at_5_6,Early end at 5/6 ,end < 7,coef_early_end_at_5_6 -util_am_peak_end,AM peak end,(end > 6) & (end < 10),coef_am_peak_end -util_midday_end_at_10_11_12,Midday end at 10/11/12,(end > 9) & (end < 13),coef_midday_end_at_10_11_12 -util_midday_end_at_13_14,Midday end at 13/14,(end > 12) & (end < 15),coef_midday_end_at_13_14 -util_pm_peak_end_at_15,PM peak end at 15,end == 15,coef_pm_peak_end_at_15 -util_pm_peak_end_at_16,PM peak end at 16,end == 16,coef_pm_peak_end_at_16 -util_pm_peak_end_at_17,PM peak end at 17,end == 17,coef_pm_peak_end_at_17 -util_pm_peak_end_at_18,PM peak end at 18,end == 18,coef_pm_peak_end_at_18 -util_evening_end_at_19_20_21,Evening end at 19/20/21,(end > 18) & (end < 22),coef_evening_end_at_19_20_21 -util_late_end_at_22_23,Late end at 22/23,end > 21,coef_late_end_at_22_23 -#,,, -util_duration_of_0_hours,Duration of 0 hours,duration==0,coef_duration_of_0_hours -util_duration_of_1_hour,Duration of 1 hour,duration==1,coef_duration_of_1_hour -util_duration_of_2_to_3_hours,Duration of 2 to 3 hours,(duration >=1) and (duration <= 4),coef_duration_of_2_to_3_hours -util_duration_of_4_to_5_hours,Duration of 4 to 5 hours,(duration >=4) and (duration <=5),coef_duration_of_4_to_5_hours -util_duration_of_6_to_7_hours,Duration of 6 to 7 hours,(duration >=6) and (duration <=7),coef_duration_of_6_to_7_hours -util_duration_of_8_to_10_hours,Duration of 8 to 10 hours,(duration >=8) and (duration <=10),coef_duration_of_8_to_10_hours -util_duration_of_11_to_13_hours,Duration of 11 to 13 hours,(duration >=11) and (duration <=13),coef_duration_of_11_to_13_hours -util_duration_of_14_to_18_hours,Duration of 14 to 18 hours,(duration >=14) and (duration <=18),coef_duration_of_14_to_18_hours -util_#,,, -util_start_shift_for_outbound_auto_travel_time_off_peak,Start shift for outbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd, time_cap)",coef_start_shift_for_outbound_auto_travel_time_off_peak -util_start_shift_for_inbound_auto_travel_time_off_peak,Start shift for inbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd_t, time_cap)",coef_start_shift_for_inbound_auto_travel_time_off_peak -util_duration_shift_for_outbound_auto_travel_time_off_peak,Duration shift for outbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd, time_cap)",coef_duration_shift_for_outbound_auto_travel_time_off_peak -util_duration_shift_for_inbound_auto_travel_time_off_peak,Duration shift for inbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd_t, time_cap)",coef_duration_shift_for_inbound_auto_travel_time_off_peak -#,,, -util_start_shift_for_business_related_,Start shift for business-related sub-tour purpose,(tour_type == 'business') * start,coef_start_shift_for_business_related_ -util_duration_shift_for_business_related_,Duration shift for business-related sub-tour purpose,(tour_type == 'business') * duration,coef_duration_shift_for_business_related_ -util_start_shift_for_first_sub_tour_of_same_work_tour,Start shift for first sub-tour of the same work tour,(tour_type_num == 1) * start,coef_start_shift_for_first_sub_tour_of_same_work_tour -util_duration_shift_for_first_sub_tour_of_same_work_tour,Duration shift for first sub-tour of the same work tour,(tour_type_num == 1) * duration,coef_duration_shift_for_first_sub_tour_of_same_work_tour -util_start_shift_for_subsequent_sub_tour_of_same_work_tour,Start shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * start,coef_start_shift_for_subsequent_sub_tour_of_same_work_tour -util_duration_shift_for_subsequent_sub_tour_of_same_work_tour,Duration shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * duration,coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour -util_start_shift_for_number_of_mandatory_tours,Start shift for number of mandatory tours made by the person,start * num_mand,coef_start_shift_for_number_of_mandatory_tours -util_duration_shift_for_number_of_mandatory_tours,Duration shift for number of mandatory tours made by the person,duration * num_mand,coef_duration_shift_for_number_of_mandatory_tours -util_start_shift_for_number_of_joint_tours,Start shift for number of joint tours in which the person participated,start * num_joint_tours,coef_start_shift_for_number_of_joint_tours -util_duration_shift_for_number_of_joint_tours,Duration shift for number of joint tours in which the person participated,duration * num_joint_tours,coef_duration_shift_for_number_of_joint_tours -util_start_shift_for_number_of_individual_nonmandatory_tours,Start shift for number of individual nonm tours (including escort) made by the person,start * num_non_mand,coef_start_shift_for_number_of_individual_nonmandatory_tours -util_duration_shift_for_number_of_individual_nonmandatory_tours,Duration shift for number of individual nonm tours (including escort) made by the person,duration * num_non_mand,coef_duration_shift_for_number_of_individual_nonmandatory_tours -#,,, -util_dummy_for_business_related_purpose_and_duration_from_0_to_1,Dummy for business-related purpose and duration from 0 to 1,(tour_type == 'business') & (duration <=1),coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 -util_dummy_for_eating_out_purpose_and_duration_of_1_hour,Dummy for eating-out purpose and duration of 1 hour,(tour_type == 'business') & (duration ==1),coef_dummy_for_eating_out_purpose_and_duration_of_1_hour -util_dummy_for_eating_out_purpose_and_departure_at_11,Dummy for eating-out purpose and departure at 11,(tour_type == 'business') & (start == 11),coef_dummy_for_eating_out_purpose_and_departure_at_11 -util_dummy_for_eating_out_purpose_and_departure_at_12,Dummy for eating-out purpose and departure at 12,(tour_type == 'business') & (start == 12),coef_dummy_for_eating_out_purpose_and_departure_at_12 -util_dummy_for_eating_out_purpose_and_departure_at_13,Dummy for eating-out purpose and departure at 13,(tour_type == 'business') & (start == 13),coef_dummy_for_eating_out_purpose_and_departure_at_13 -#,,, -#,Mode Choice Logsum,mode_choice_logsum, -#,,, \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork.yaml b/activitysim/examples/example_psrc/configs/tour_scheduling_atwork.yaml deleted file mode 100755 index 9209ada983..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork.yaml +++ /dev/null @@ -1,13 +0,0 @@ - -SPEC: tour_scheduling_atwork.csv -COEFFICIENTS: tour_scheduling_atwork_coeffs.csv - -preprocessor: - SPEC: tour_scheduling_atwork_preprocessor - DF: df -# TABLES: -# - land_use -# - tours - -CONSTANTS: - time_cap: 30 diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork_coeffs.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_atwork_coeffs.csv deleted file mode 100755 index cdbd1457d3..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork_coeffs.csv +++ /dev/null @@ -1,50 +0,0 @@ -coefficient_name,value,constrain -coef_early_start_at_5,-7.765548476,F -coef_am_peak_start_at_6,-6.156717827,F -coef_am_peak_start_at_7,-4.061708142,F -coef_am_peak_start_at_8,-2.330535201,F -coef_am_peak_start_at_9,-1.881593386,F -coef_midday_start_at_10_11_12,0,T -coef_midday_start_at_13_14_15,-0.77502158,F -coef_pm_peak_start_at_16_17_18,-0.227528489,F -coef_evening_start_at_19_20_21,-1.015090023,F -coef_late_start_at_22_23,-0.737570054,F -coef_early_end_at_5_6,-2.928312295,F -coef_am_peak_end,-2.928312295,F -coef_midday_end_at_10_11_12,-2.297264374,F -coef_midday_end_at_13_14,0,T -coef_pm_peak_end_at_15,-0.578344457,F -coef_pm_peak_end_at_16,-1.09408722,F -coef_pm_peak_end_at_17,-1.1658466,F -coef_pm_peak_end_at_18,-1.496131081,F -coef_evening_end_at_19_20_21,-2.31998226,F -coef_late_end_at_22_23,-2.31998226,F -coef_duration_of_0_hours,-0.906681512,F -coef_duration_of_1_hour,0,T -coef_duration_of_2_to_3_hours,-1.362175802,F -coef_duration_of_4_to_5_hours,-0.819617616,F -coef_duration_of_6_to_7_hours,1.088111072,F -coef_duration_of_8_to_10_hours,1.734038505,F -coef_duration_of_11_to_13_hours,0.3,F -coef_duration_of_14_to_18_hours,0,T -coef_start_shift_for_outbound_auto_travel_time_off_peak,0.00065,F -coef_start_shift_for_inbound_auto_travel_time_off_peak,0.00065,F -coef_duration_shift_for_outbound_auto_travel_time_off_peak,0.00981,F -coef_duration_shift_for_inbound_auto_travel_time_off_peak,0.00981,F -coef_start_shift_for_business_related_,-0.1113,F -coef_duration_shift_for_business_related_,0.2646,F -coef_start_shift_for_first_sub_tour_of_same_work_tour,-0.5433,F -coef_duration_shift_for_first_sub_tour_of_same_work_tour,-0.3992,F -coef_start_shift_for_subsequent_sub_tour_of_same_work_tour,-0.1844,F -coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour,-0.1844,F -coef_start_shift_for_number_of_mandatory_tours,-0.0193,F -coef_duration_shift_for_number_of_mandatory_tours,-0.7702,F -coef_start_shift_for_number_of_joint_tours,-0.0206,F -coef_duration_shift_for_number_of_joint_tours,-0.2497,F -coef_start_shift_for_number_of_individual_nonmandatory_tours,-0.0128,F -coef_duration_shift_for_number_of_individual_nonmandatory_tours,-0.0422,F -coef_dummy_for_business_related_purpose_and_duration_from_0_to_1,-1.543,F -coef_dummy_for_eating_out_purpose_and_duration_of_1_hour,0.3999,F -coef_dummy_for_eating_out_purpose_and_departure_at_11,1.511,F -coef_dummy_for_eating_out_purpose_and_departure_at_12,2.721,F -coef_dummy_for_eating_out_purpose_and_departure_at_13,2.122,F diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork_preprocessor.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_atwork_preprocessor.csv deleted file mode 100755 index 8409f2ed17..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork_preprocessor.csv +++ /dev/null @@ -1,3 +0,0 @@ -Description,Target,Expression -,sovtimemd,"od_skims[('SOV_TIME', 'MD')]" -,sovtimemd_t,"od_skims.reverse(('SOV_TIME', 'MD'))" diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_joint.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_joint.csv deleted file mode 100755 index e0266f3171..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_joint.csv +++ /dev/null @@ -1,66 +0,0 @@ -Label,Description,Expression,Coefficient -util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_unavailable -util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration -util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,"(tour_type == 'shopping') * start",coef_shopping_tour_departure_shift_effects -util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,"(tour_type == 'shopping') * duration",coef_shopping_tour_duration_shift_effects -util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,"(tour_type == 'othmaint') * start",coef_maintenance_tour_departure_shift_effects -util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,"(tour_type == 'othmaint') * duration",coef_maintenance_tour_duration_shift_effects -util_visit_tour_departure_shift_effects,Visit tour - departure shift effects,"(tour_type == 'social') * start",coef_visit_tour_departure_shift_effects -util_visit_tour_duration_shift_effects,Visit tour - departure shift effects,"(tour_type == 'social') * duration",coef_visit_tour_duration_shift_effects -util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,"(tour_type == 'eatout') * start",coef_eat_out_tour_departure_shift_effects -util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects -util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects -util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects -util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects -util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects -util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects -util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects -util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect -util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect -util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,"(tour_type == 'othmaint') & (start < 7)",coef_maintenance_tour_depart_before_7 -util_shopping_tour_depart_before_8,Shopping tour - depart before 8,"(tour_type == 'shopping') & (start < 8)",coef_shopping_tour_depart_before_8 -util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,"(tour_type == 'shopping') & (end > 22)",coef_shopping_tour_arrive_after_22 -util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 -util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 -util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,"(tour_type == 'shopping') & (duration < 2)",coef_shopping_tour_duration_lt_2_hours -util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,"(tour_type == 'othdiscr') & (duration < 2)",coef_discretionary_tour_duration_lt_2_hours -util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 -#,, -#,Mode Choice Logsum,mode_choice_logsum, -#,, -#,, -util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.tour_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour -util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.tour_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour -util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_before(df.tour_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_after(df.tour_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_before(df.tour_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_after(df.tour_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction -#,, -#,, -util_departure_constants_early,Departure Constants -- Early (up to 5),"(tour_type != 'escort') & (start < 6)",coef_departure_constants_early -util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),"(tour_type != 'escort') & (start == 6)",coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),"(tour_type != 'escort') & (start == 7)",coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),"(tour_type != 'escort') & (start == 8)",coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),"(tour_type != 'escort') & (start == 9)",coef_departure_constants_am_peak_4 -util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),"(tour_type != 'escort') & (start > 9) & (start < 13)",coef_departure_constants_midday_1 -util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),"(tour_type != 'escort') & (start > 12) & (start < 16)",coef_departure_constants_midday_2 -util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),"(tour_type != 'escort') & (start > 15) & (start < 19)",coef_departure_constants_pm_peak -util_departure_constants_evening,Departure Constants -- Evening (19 to 21),"(tour_type != 'escort') & (start > 18) & (start < 22)",coef_departure_constants_evening -util_departure_constants_late,Departure Constants -- Late (22 and later),"(tour_type != 'escort') & (start > 21)",coef_departure_constants_late -util_arrival_constants_early,Arrival Constants -- Early (up to 6),"(tour_type != 'escort') & (end < 7)",coef_arrival_constants_early -util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),"(tour_type != 'escort') & (end > 6) & (end < 10)",coef_arrival_constants_am_peak -util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),"(tour_type != 'escort') & (end > 9) & (end < 13)",coef_arrival_constants_midday_1 -util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),"(tour_type != 'escort') & (end > 12) & (end < 15)",coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),"(tour_type != 'escort') & (end == 15)",coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),"(tour_type != 'escort') & (end == 16)",coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),"(tour_type != 'escort') & (end == 17)",coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),"(tour_type != 'escort') & (end == 18)",coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),"(tour_type != 'escort') & (end > 18) & (end < 22)",coef_arrival_constants_evening -util_arrival_constants_late,Arrival Constants -- Late (22 and later),"(tour_type != 'escort') & (end > 21)",coef_arrival_constants_late -util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,"(tour_type != 'escort') & (duration < 2)",coef_duration_constants_0_to_1_hours -util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,"(tour_type != 'escort') & (duration > 1) & (duration < 4)",coef_duration_constants_2_to_3_hours -util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,"(tour_type != 'escort') & (duration > 3) & (duration < 6)",coef_duration_constants_4_to_5_hours -util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,"(tour_type != 'escort') & (duration > 5) & (duration < 8)",coef_duration_constants_6_to_7_hours -util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,"(tour_type != 'escort') & (duration > 7) & (duration < 11)",coef_duration_constants_8_to_10_hours -util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,"(tour_type != 'escort') & (duration > 10) & (duration < 14)",coef_duration_constants_11_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,"(tour_type != 'escort') & (duration > 13) & (duration < 19)",coef_duration_constants_14_to_18_hours \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_joint_coeffs.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_joint_coeffs.csv deleted file mode 100755 index 8d0a940eac..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_joint_coeffs.csv +++ /dev/null @@ -1,60 +0,0 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.003195,F -coef_shopping_tour_departure_shift_effects,-0.06015,F -coef_shopping_tour_duration_shift_effects,-0.1208,F -coef_maintenance_tour_departure_shift_effects,-0.1489,F -coef_maintenance_tour_duration_shift_effects,-0.08372,F -coef_visit_tour_departure_shift_effects,0.09688,F -coef_visit_tour_duration_shift_effects,0.1638,F -coef_eat_out_tour_departure_shift_effects,0.07549,F -coef_school_child_age_16_plus_departure_shift_effects,0.07266,F -coef_school_child_age_16_plus_duration_shift_effects,0.2095,F -coef_school_child_age_under_16_departure_shift_effects,0.04657,F -coef_school_child_age_under_16_duration_shift_effects,0.3272,F -coef_destination_in_cbd_duration_shift_effects,0.1067,F -coef_number_of_mandatory_tours_departure_shift_effects,0.04673,F -coef_number_of_joint_tours_departure_shift_effects,0.05208,F -coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.2364,F -coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.1731,F -coef_maintenance_tour_depart_before_7,-0.8826,F -coef_shopping_tour_depart_before_8,-1.037,F -coef_shopping_tour_arrive_after_22,-0.6027,F -coef_school_child_under_16_arrive_after_22,-1.18,F -coef_university_student_arrive_after_22,0.5466,F -coef_shopping_tour_duration_lt_2_hours,0.5168,F -coef_discretionary_tour_duration_lt_2_hours,-0.6974,F -coef_adult_with_children_in_hh_arrive_19_21,0.336,F -coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.4562,F -coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.3992,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.008442,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.0257,F -coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction,-0.0593,F -coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction,-0.02734,F -coef_departure_constants_early,-14.47708,F -coef_departure_constants_am_peak_1,-11.59505,F -coef_departure_constants_am_peak_2,-9.00519,F -coef_departure_constants_am_peak_3,-2.73315,F -coef_departure_constants_am_peak_4,0.26654,F -coef_departure_constants_midday_1,0,T -coef_departure_constants_midday_2,-1.6026,F -coef_departure_constants_pm_peak,-17.69598,F -coef_departure_constants_evening,-18.98737,F -coef_departure_constants_late,-20.27807,F -coef_arrival_constants_early,-8.72888,F -coef_arrival_constants_am_peak,-8.72888,F -coef_arrival_constants_midday_1,0,T -coef_arrival_constants_midday_2,1.40804,F -coef_arrival_constants_pm_peak_1,1.02036,F -coef_arrival_constants_pm_peak_2,1.06863,F -coef_arrival_constants_pm_peak_3,0,T -coef_arrival_constants_pm_peak_4,-0.59626,F -coef_arrival_constants_evening,-2.74894,F -coef_arrival_constants_late,-4.24253,F -coef_duration_constants_0_to_1_hours,-2.22826,F -coef_duration_constants_2_to_3_hours,0,T -coef_duration_constants_4_to_5_hours,-0.56174,F -coef_duration_constants_6_to_7_hours,-0.65547,F -coef_duration_constants_8_to_10_hours,-0.74062,F -coef_duration_constants_11_to_13_hours,-0.81519,F -coef_duration_constants_14_to_18_hours,-2.73844,F \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory.csv deleted file mode 100755 index 048aafd3cf..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory.csv +++ /dev/null @@ -1,94 +0,0 @@ -Label,Description,Expression,Coefficient -util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends -util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration -util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,(tour_type == 'shopping') * start,coef_shopping_tour_departure_shift_effects -util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,(tour_type == 'shopping') * duration,coef_shopping_tour_duration_shift_effects -util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * start,coef_maintenance_tour_departure_shift_effects -util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * duration,coef_maintenance_tour_duration_shift_effects -util_visit_tour_departure_shift_effects_start,Visit tour - departure shift effects,(tour_type == 'social') * start,coef_visit_tour_departure_shift_effects -util_visit_tour_duration_shift_effects_duration,Visit tour - departure shift effects,(tour_type == 'social') * duration,coef_visit_tour_duration_shift_effects -util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,(tour_type == 'eatout') * start,coef_eat_out_tour_departure_shift_effects -util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects -util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects -util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects -util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects -util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects -util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects -util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects -util_number_of_escort_tours_departure_shift_effects,Number of escort tours - departure shift effects,num_escort_tours * start,coef_number_of_escort_tours_departure_shift_effects -util_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,Number of idividual non-mandatory tours (excluding escort) - departure shift effects,num_non_escort_tours * start,coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects -util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect -util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect -util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,(tour_type == 'othmaint') & (start < 7),coef_maintenance_tour_depart_before_7 -util_shopping_tour_depart_before_8,Shopping tour - depart before 8,(tour_type == 'shopping') & (start < 8),coef_shopping_tour_depart_before_8 -util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,(tour_type == 'shopping') & (end > 22),coef_shopping_tour_arrive_after_22 -util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 -util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 -util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,(tour_type == 'shopping') & (duration < 2),coef_shopping_tour_duration_lt_2_hours -util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,(tour_type == 'othdiscr') & (duration < 2),coef_discretionary_tour_duration_lt_2_hours -util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 -#,,, -#,Mode Choice Logsum,mode_choice_logsum,#mode_choice_logsum -#,,,# -util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour -util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour -util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_before(df.person_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_after(df.person_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_before(df.person_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_after(df.person_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,Remaining individual non-mandatory tours to be scheduled / number of unscheduled hours,"@((1.0 + df.tour_count - df.tour_num)) / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours -#,#,,# -util_departure_constants_early,Departure Constants -- Early (up to 5),(tour_type != 'escort') & (start < 6),coef_departure_constants_early -util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),(tour_type != 'escort') & (start == 6),coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),(tour_type != 'escort') & (start == 7),coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),(tour_type != 'escort') & (start == 8),coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),(tour_type != 'escort') & (start == 9),coef_departure_constants_am_peak_4 -util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(tour_type != 'escort') & (start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(tour_type != 'escort') & (start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(tour_type != 'escort') & (start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late,Departure Constants -- Late (22 and later),(tour_type != 'escort') & (start > 21),coef_departure_constants_late -util_arrival_constants_early,Arrival Constants -- Early (up to 6),(tour_type != 'escort') & (end < 7),coef_arrival_constants_early -util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(tour_type != 'escort') & (end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(tour_type != 'escort') & (end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),(tour_type != 'escort') & (end == 15),coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),(tour_type != 'escort') & (end == 16),coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),(tour_type != 'escort') & (end == 17),coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),(tour_type != 'escort') & (end == 18),coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(tour_type != 'escort') & (end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late,Arrival Constants -- Late (22 and later),(tour_type != 'escort') & (end > 21),coef_arrival_constants_late -util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,(tour_type != 'escort') & (duration < 2),coef_duration_constants_0_to_1_hours -util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,(tour_type != 'escort') & (duration > 1) & (duration < 4),coef_duration_constants_2_to_3_hours -util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,(tour_type != 'escort') & (duration > 3) & (duration < 6),coef_duration_constants_4_to_5_hours -util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,(tour_type != 'escort') & (duration > 5) & (duration < 8),coef_duration_constants_6_to_7_hours -util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,(tour_type != 'escort') & (duration > 7) & (duration < 11),coef_duration_constants_8_to_10_hours -util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,(tour_type != 'escort') & (duration > 10) & (duration < 14),coef_duration_constants_11_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(tour_type != 'escort') & (duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours -util_escort_tour_departure_constants_early,Escort Tour Departure Constants -- Early (up to 5),(tour_type == 'escort') & (start < 6),coef_escort_tour_departure_constants_early -util_escort_tour_departure_constants_am_peak_1,Escort Tour Departure Constants -- AM peak 1 (6),(tour_type == 'escort') & (start == 6),coef_escort_tour_departure_constants_am_peak_1 -util_escort_tour_departure_constants_am_peak_2,Escort Tour Departure Constants -- AM peak 2 (7),(tour_type == 'escort') & (start == 7),coef_escort_tour_departure_constants_am_peak_2 -util_escort_tour_departure_constants_am_peak_3,Escort Tour Departure Constants -- AM peak 3 (8),(tour_type == 'escort') & (start == 8),coef_escort_tour_departure_constants_am_peak_3 -util_escort_tour_departure_constants_am_peak_4,Escort Tour Departure Constants -- AM peak 4 (9),(tour_type == 'escort') & (start == 9),coef_escort_tour_departure_constants_am_peak_4 -util_escort_tour_departure_constants_midday_1,Escort Tour Departure Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (start > 9) & (start < 13),coef_escort_tour_departure_constants_midday_1 -util_escort_tour_departure_constants_midday_2,Escort Tour Departure Constants -- Midday 2 (13 to 15),(tour_type == 'escort') & (start > 12) & (start < 16),coef_escort_tour_departure_constants_midday_2 -util_escort_tour_departure_constants_pm_peak,Escort Tour Departure Constants -- PM peak (16 to 18),(tour_type == 'escort') & (start > 15) & (start < 19),coef_escort_tour_departure_constants_pm_peak -util_escort_tour_departure_constants_evening,Escort Tour Departure Constants -- Evening (19 to 21),(tour_type == 'escort') & (start > 18) & (start < 22),coef_escort_tour_departure_constants_evening -util_escort_tour_departure_constants_late,Escort Tour Departure Constants -- Late (22 and later),(tour_type == 'escort') & (start > 21),coef_escort_tour_departure_constants_late -util_escort_tour_arrival_constants_early,Escort Tour Arrival Constants -- Early (up to 6),(tour_type == 'escort') & (end < 7),coef_escort_tour_arrival_constants_early -util_escort_tour_arrival_constants_am_peak,Escort Tour Arrival Constants -- AM peak (7 to 9),(tour_type == 'escort') & (end > 6) & (end < 10),coef_escort_tour_arrival_constants_am_peak -util_escort_tour_arrival_constants_midday_1,Escort Tour Arrival Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (end > 9) & (end < 13),coef_escort_tour_arrival_constants_midday_1 -util_escort_tour_arrival_constants_midday_2,Escort Tour Arrival Constants -- Midday 2 (13 to 14),(tour_type == 'escort') & (end > 12) & (end < 15),coef_escort_tour_arrival_constants_midday_2 -util_escort_tour_arrival_constants_pm_peak_1,Escort Tour Arrival Constants -- PM peak 1 (15),(tour_type == 'escort') & (end == 15),coef_escort_tour_arrival_constants_pm_peak_1 -util_escort_tour_arrival_constants_pm_peak_2,Escort Tour Arrival Constants -- PM peak 2 (16),(tour_type == 'escort') & (end == 16),coef_escort_tour_arrival_constants_pm_peak_2 -util_escort_tour_arrival_constants_pm_peak_3,Escort Tour Arrival Constants -- PM peak 3 (17),(tour_type == 'escort') & (end == 17),coef_escort_tour_arrival_constants_pm_peak_3 -util_escort_tour_arrival_constants_pm_peak_4,Escort Tour Arrival Constants -- PM peak 4 (18),(tour_type == 'escort') & (end == 18),coef_escort_tour_arrival_constants_pm_peak_4 -util_escort_tour_arrival_constants_evening,Escort Tour Arrival Constants -- Evening (19 to 21),(tour_type == 'escort') & (end > 18) & (end < 22),coef_escort_tour_arrival_constants_evening -util_escort_tour_arrival_constants_late,Escort Tour Arrival Constants -- Late (22 and later),(tour_type == 'escort') & (end > 21),coef_escort_tour_arrival_constants_late -util_escort_tour_duration_constants_0_to_1_hours,Escort Tour Duration Constants -- 0 to 1 hours,(tour_type == 'escort') & (duration < 2),coef_escort_tour_duration_constants_0_to_1_hours -util_escort_tour_duration_constants_2_to_3_hours,Escort Tour Duration Constants -- 2 to 3 hours,(tour_type == 'escort') & (duration > 1) & (duration < 4),coef_escort_tour_duration_constants_2_to_3_hours -util_escort_tour_duration_constants_4_to_5_hours,Escort Tour Duration Constants -- 4 to 5 hours,(tour_type == 'escort') & (duration > 3) & (duration < 6),coef_escort_tour_duration_constants_4_to_5_hours -util_escort_tour_duration_constants_6_to_7_hours,Escort Tour Duration Constants -- 6 to 7 hours,(tour_type == 'escort') & (duration > 5) & (duration < 8),coef_escort_tour_duration_constants_6_to_7_hours -util_escort_tour_duration_constants_8_to_10_hours,Escort Tour Duration Constants -- 8 to 10 hours,(tour_type == 'escort') & (duration > 7) & (duration < 11),coef_escort_tour_duration_constants_8_to_10_hours -util_escort_tour_duration_constants_11_to_13_hours,Escort Tour Duration Constants -- 11 to 13 hours,(tour_type == 'escort') & (duration > 10) & (duration < 14),coef_escort_tour_duration_constants_11_to_13_hours -util_escort_tour_duration_constants_14_to_18_hours,Escort Tour Duration Constants -- 14 to 18 hours,(tour_type == 'escort') & (duration > 13) & (duration < 19),coef_escort_tour_duration_constants_14_to_18_hours \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv deleted file mode 100755 index 5cc43331ad..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv +++ /dev/null @@ -1,94 +0,0 @@ -coefficient_name,value,constrain -coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,-999,T -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.004741,F -coef_shopping_tour_departure_shift_effects,-0.06015,F -coef_shopping_tour_duration_shift_effects,-0.1208,F -coef_maintenance_tour_departure_shift_effects,-0.1489,F -coef_maintenance_tour_duration_shift_effects,-0.08372,F -coef_visit_tour_departure_shift_effects,0.09688,F -coef_visit_tour_duration_shift_effects,0.1638,F -coef_eat_out_tour_departure_shift_effects,0.07549,F -coef_school_child_age_16_plus_departure_shift_effects,0.07266,F -coef_school_child_age_16_plus_duration_shift_effects,0.2095,F -coef_school_child_age_under_16_departure_shift_effects,0.04657,F -coef_school_child_age_under_16_duration_shift_effects,0.3272,F -coef_destination_in_cbd_duration_shift_effects,0.1067,F -coef_number_of_mandatory_tours_departure_shift_effects,0.04673,F -coef_number_of_joint_tours_departure_shift_effects,0.05208,F -coef_number_of_escort_tours_departure_shift_effects,0.02013,F -coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,0.03896,F -coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.2364,F -coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.1731,F -coef_maintenance_tour_depart_before_7,-0.8826,F -coef_shopping_tour_depart_before_8,-1.037,F -coef_shopping_tour_arrive_after_22,-0.6027,F -coef_school_child_under_16_arrive_after_22,-1.18,F -coef_university_student_arrive_after_22,0.5466,F -coef_shopping_tour_duration_lt_2_hours,0.5168,F -coef_discretionary_tour_duration_lt_2_hours,-0.6974,F -coef_adult_with_children_in_hh_arrive_19_21,0.336,F -#,, -#mode_choice_logsum,, -#,, -coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.4562,F -coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.3992,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.008442,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.0257,F -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.0593,F -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.02734,F -coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,-13.63,F -#,,F -coef_departure_constants_early,-1.740135661,F -coef_departure_constants_am_peak_1,-0.654163573,F -coef_departure_constants_am_peak_2,0.554282571,F -coef_departure_constants_am_peak_3,1.050561087,F -coef_departure_constants_am_peak_4,0.971568228,F -coef_departure_constants_midday_1,0.881991986,F -coef_departure_constants_midday_2,0.411103634,F -coef_departure_constants_pm_peak,0,T -coef_departure_constants_evening,-1.856475096,F -coef_departure_constants_late,-8.228880141,F -coef_arrival_constants_early,-0.051990748,F -coef_arrival_constants_am_peak,-1.814822602,F -coef_arrival_constants_midday_1,0.000371501,F -coef_arrival_constants_midday_2,0.532116031,F -coef_arrival_constants_pm_peak_1,0.628481567,F -coef_arrival_constants_pm_peak_2,0.650521416,F -coef_arrival_constants_pm_peak_3,0.402894406,F -coef_arrival_constants_pm_peak_4,0.154213293,F -coef_arrival_constants_evening,0,T -coef_arrival_constants_late,-0.866671315,F -coef_duration_constants_0_to_1_hours,0,T -coef_duration_constants_2_to_3_hours,0.051385565,F -coef_duration_constants_4_to_5_hours,-0.593951321,F -coef_duration_constants_6_to_7_hours,-0.951155328,F -coef_duration_constants_8_to_10_hours,-0.828108399,F -coef_duration_constants_11_to_13_hours,-0.955635554,F -coef_duration_constants_14_to_18_hours,-1.042580879,F -coef_escort_tour_departure_constants_early,-1.740135661,F -coef_escort_tour_departure_constants_am_peak_1,-1.112357753,F -coef_escort_tour_departure_constants_am_peak_2,0.698788185,F -coef_escort_tour_departure_constants_am_peak_3,1.196268813,F -coef_escort_tour_departure_constants_am_peak_4,-0.225258221,F -coef_escort_tour_departure_constants_midday_1,0.028662017,F -coef_escort_tour_departure_constants_midday_2,0,T -coef_escort_tour_departure_constants_pm_peak,-1.180140161,F -coef_escort_tour_departure_constants_evening,-3.948732811,F -coef_escort_tour_departure_constants_late,-8.228880141,F -coef_escort_tour_arrival_constants_early,0,T -coef_escort_tour_arrival_constants_am_peak,0,T -coef_escort_tour_arrival_constants_midday_1,0,T -coef_escort_tour_arrival_constants_midday_2,0,T -coef_escort_tour_arrival_constants_pm_peak_1,0,T -coef_escort_tour_arrival_constants_pm_peak_2,0,T -coef_escort_tour_arrival_constants_pm_peak_3,0,T -coef_escort_tour_arrival_constants_pm_peak_4,0,T -coef_escort_tour_arrival_constants_evening,-0.536918728,F -coef_escort_tour_arrival_constants_late,-1.008290213,F -coef_escort_tour_duration_constants_0_to_1_hours,0,T -coef_escort_tour_duration_constants_2_to_3_hours,-2.042013897,F -coef_escort_tour_duration_constants_4_to_5_hours,-2.880293896,F -coef_escort_tour_duration_constants_6_to_7_hours,-2.973533731,F -coef_escort_tour_duration_constants_8_to_10_hours,-3.020213758,F -coef_escort_tour_duration_constants_11_to_13_hours,-2.974364976,F -coef_escort_tour_duration_constants_14_to_18_hours,-2.507447146,F \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_school.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_school.csv deleted file mode 100755 index 8ade903066..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_school.csv +++ /dev/null @@ -1,63 +0,0 @@ -Label,Description,Expression,Coefficient -util_roundtrip_auto_time_to_work,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_roundtrip_auto_time_to_work -util_ft_worker_departure,Full-time worker departure shift effects,(ptype == 1) * start,coef_ft_worker_departure -util_ft_worker_duration,Full-time worker duration shift effects,(ptype == 1) * duration,coef_ft_worker_duration -util_non_worker_departure,Non-working adult departure shift effects,(ptype == 4) * start,coef_non_worker_departure -util_univ_departure,University student departure shift effects,(ptype == 3) * start,coef_univ_departure -util_univ_duration,University student duration shift effects,(ptype == 3) * duration,coef_univ_duration -util_student_driver_duration,Student driving age duration shift effects,(ptype == 7) * duration,coef_student_driver_duration -util_all_adults_ft_worker_duration,All adults work full time- duration,(num_workers == hhsize) * duration,coef_all_adults_ft_worker_duration -util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends -util_first_of_2plus_school_tours_departure,First of 2+ school/univ. tours- departure,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_school_tours_departure -util_first_of_2plus_school_tours_duration,First of 2+ school/univ. tours- duration,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_school_tours_duration -util_subsequent_2plus_school_tours_duration,Subsequent of 2+ school/univ. tours- duration,(tour_num > 1) * duration,coef_subsequent_2plus_school_tours_duration -util_hh_income_early_departure,Household income -- Early departure interaction,(income_in_thousands >= 100) & (start < 6),coef_hh_income_early_departure -util_hh_income_late_arrival,Household income -- Late arrival interaction,(income_in_thousands >= 100) & (end > 22),coef_hh_income_late_arrival -util_first_of_2plus_school_lt_6_hours,First of 2+ school/univ tours- duration<6 hrs,(tour_count>1) & (tour_num == 1) & (duration < 6),coef_first_of_2plus_school_lt_6_hours -util_subsequent_of_2plus_school_lt_6_hours,Subsequent of 2+ school/univ tours- duration<6 hrs,(tour_num > 1) & (duration < 6),coef_subsequent_of_2plus_school_lt_6_hours -util_school_plus_work_tours_by_student_lt_6_hours,School+work tours by student- duration<6 hrs,work_and_school_and_worker & (duration < 6),coef_school_plus_work_tours_by_student_lt_6_hours -util_school_plus_work_tours_by_worker_lt_6_hours,School+work tours by worker- duration<6 hrs,work_and_school_and_student & (duration < 6),coef_school_plus_work_tours_by_worker_lt_6_hours -util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum -util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previous_tour_ends_this_departure_hour -util_previous_tour_begins_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previous_tour_begins_this_arrival_hour -#,,, FIXME - use temps as timetable ops can be very time-consuming -#,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & tt.adjacent_window_before(df.person_id, df.start)",0.08975 -#,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & tt.adjacent_window_after(df.person_id, df.end)",-0.003049 -#,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & tt.adjacent_window_before(df.person_id, df.start)",-0.44 -#,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & tt.adjacent_window_after(df.person_id, df.end)",-0.5271 -util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy -util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours -util_departure_constants_early_up_to_5,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early -util_departure_constants_am_peak_1 _6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2_7,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3_8,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4_9,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 -util_departure_constants_midday_1_10_to_12,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2_13_to_15,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak_16_to_18,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening_19_to_21,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late_22_and_later,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late -util_arrival_constants_early_up_to_6,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early -util_arrival_constants_am_peak_7_to_9,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1_10_to_12,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2_13_to_14,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1_15,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2_16,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3_17,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4_18,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening_19_to_21,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late_22_and_later,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late -util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours -util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours -util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours -util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours -util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours -util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours -util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours -util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_school_coeffs.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_school_coeffs.csv deleted file mode 100755 index b5d8c8050b..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_school_coeffs.csv +++ /dev/null @@ -1,57 +0,0 @@ -coefficient_name,value,constrain -coef_dummy,1,T -coef_roundtrip_auto_time_to_work,0.003195,F -coef_ft_worker_departure,0.3971,F -coef_ft_worker_duration,-0.1908,F -coef_non_worker_departure,0.5539,F -coef_univ_departure,0.28,F -coef_univ_duration,-0.2907,F -coef_student_driver_duration,0.03464,F -coef_all_adults_ft_worker_duration,0.1093,F -coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T -coef_first_of_2plus_school_tours_departure,-0.3002,F -coef_first_of_2plus_school_tours_duration,-0.1593,F -coef_subsequent_2plus_school_tours_duration,-0.2338,F -coef_hh_income_early_departure,-0.8837,F -coef_hh_income_late_arrival,-0.3533,F -coef_first_of_2plus_school_lt_6_hours,1.487,F -coef_subsequent_of_2plus_school_lt_6_hours,2.142,F -coef_school_plus_work_tours_by_student_lt_6_hours,1.73,F -coef_school_plus_work_tours_by_worker_lt_6_hours,2.142,F -coef_mode_choice_logsum,2.127,F -coef_previous_tour_ends_this_departure_hour,-0.5995,F -coef_previous_tour_begins_this_arrival_hour,-1.102,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.08975,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.003049,F -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.44,F -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.5271,F -coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,-16.67,F -coef_departure_constants_early,-3.820662404,F -coef_departure_constants_am_peak_1,-1.617644056,F -coef_departure_constants_am_peak_2,0,T -coef_departure_constants_am_peak_3,-0.073826841,F -coef_departure_constants_am_peak_4,-2.080570769,F -coef_departure_constants_midday_1,-2.985739457,F -coef_departure_constants_midday_2,-3.628434646,F -coef_departure_constants_pm_peak,-3.10250515,F -coef_departure_constants_evening,-5.230287836,F -coef_departure_constants_late,-11.88604728,F -coef_arrival_constants_early,-2.428718399,F -coef_arrival_constants_am_peak,-2.428718399,F -coef_arrival_constants_midday_1,-1.237908768,F -coef_arrival_constants_midday_2,-0.539768931,F -coef_arrival_constants_pm_peak_1,0,T -coef_arrival_constants_pm_peak_2,-0.389169248,F -coef_arrival_constants_pm_peak_3,-0.198120349,F -coef_arrival_constants_pm_peak_4,-0.253624684,F -coef_arrival_constants_evening,-0.870146904,F -coef_arrival_constants_late,-1.75200049,F -coef_duration_constants_0_to_2_hours,-1.409955689,F -coef_duration_constants_3_to_4_hours,-0.745893252,F -coef_duration_constants_5_to_6_hours,-0.567636622,F -coef_duration_constants_7_to_8_hours,0,T -coef_duration_constants_9_hours,-0.650806684,F -coef_duration_constants_10_hours,-0.904788983,F -coef_duration_constants_11_hours,-1.521162604,F -coef_duration_constants_12_to_13_hours,-2.418488917,F -coef_duration_constants_14_to_18_hours,-2.503137295,F \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_work.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_work.csv deleted file mode 100755 index 9c6474f9c3..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_work.csv +++ /dev/null @@ -1,136 +0,0 @@ -Label,Description,Expression,Coefficient -util_free_flow_round_trip_auto_time_shift_effects_departure,Free-flow round trip auto time shift effects - departure,roundtrip_auto_time_to_work * start,coef_free_flow_round_trip_auto_time_shift_effects_departure -util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration -util_part_time_worker_departure_shift_effects,Part-time worker departure shift effects,(ptype == 2) * start,coef_part_time_worker_departure_shift_effects -util_non_working_adult_duration_shift_effects,Non-working adult duration shift effects,(ptype == 4) * duration,coef_non_working_adult_duration_shift_effects -util_university_student_departure_shift_effects,University student departure shift effects,(ptype == 3) * start,coef_university_student_departure_shift_effects -util_household_income_departure_shift_effects,Household income departure shift effects,income_in_thousands * start,coef_household_income_departure_shift_effects -util_destination_in_cbd_departure_shift_effects,Destination in CBD departure shift effects,workplace_in_cbd * start,coef_destination_in_cbd_departure_shift_effects -util_destination_in_cbd_duration_shift_effects,Destination in CBD duration shift effects,workplace_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects -util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends -util_first_of_2plus_work_tours_departure_shift_effects,First of 2+ work tours departure shift effects,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_work_tours_departure_shift_effects -util_first_of_2plus_work_tours_duration_shift_effects,First of 2+ work tours duration shift effects,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_work_tours_duration_shift_effects -util_subsequent_2plus_work_departure_tours_shift_effects,Subsequent 2+ work departure tours shift effects,(tour_num == 2) * start,coef_subsequent_2plus_work_departure_tours_shift_effects -util_subsequent_2plus_work_duration_tours_shift_effects,Subsequent 2+ work duration tours shift effects,(tour_num == 2) * duration,coef_subsequent_2plus_work_duration_tours_shift_effects -util_household_income_early_departure_interaction,Household income -- Early departure interaction,(income_in_thousands > 100) & (start < 6),coef_household_income_early_departure_interaction -util_household_income_late_arrival_interaction,Household income -- Late arrival interaction,(income_in_thousands > 100) & (end > 22),coef_household_income_late_arrival_interaction -util_destination_in_cbd_early_departure_interaction,Destination in CBD -- Early departure interaction,workplace_in_cbd & (start < 6),coef_destination_in_cbd_early_departure_interaction -util_destination_in_cbd_late_arrival_interaction,Destination in CBD -- Late arrival interaction,workplace_in_cbd & (end > 22),coef_destination_in_cbd_late_arrival_interaction -util_rural_household_early_departure_interaction,Rural household -- Early departure interaction,home_is_rural & (start < 6),coef_rural_household_early_departure_interaction -util_rural_household_late_arrival_interaction,Rural household -- Late arrival interaction,home_is_rural & (end > 22),coef_rural_household_late_arrival_interaction -util_full_time_worker_duration_lt_9_hours_interaction,Full-time worker -- duration < 9 hours interaction,(ptype == 1) & (duration < 9),coef_full_time_worker_duration_lt_9_hours_interaction -util_full_time_worker_10_to_12_departure_interaction,Full-time worker -- 10 to 12 departure interaction,(ptype == 1) & (start > 9) & (start < 13),coef_full_time_worker_10_to_12_departure_interaction -util_worker_13_to_15_arrival_interaction,Part-time worker -- 13 to 15 arrival interaction,(ptype == 2) & (end > 12) & (end < 16),coef_part_time_worker_13_to_15_arrival_interaction -util_first_of_2plus_work_tours_duration_lt_8_hrs,First of 2+ work tours- duration<8 hrs,((tour_count>1) & (tour_num == 1)) & (duration < 8),coef_first_of_2plus_work_tours_duration_lt_8_hrs -util_subsequent_of_2plus_work_tours_duration_lt_8_hrs,Subsequent of 2+ work tours- duration<8 hrs,(tour_num == 2) & (duration < 8),coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs -util_tours_by_worker_duration_lt_8_hrs,Work+school tours by worker- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_worker & (duration < 8),coef_tours_by_worker_duration_lt_8_hrs -util_tours_by_student_duration_lt_8_hrs,School+work tours by student- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_student & (duration < 8),coef_tours_by_student_duration_lt_8_hrs -util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum -util_uled_tour_ends_in_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previously_scheduled_tour_ends_in_this_departure_hour -util_previously_scheduled_tour_begins_in_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previously_scheduled_tour_begins_in_this_arrival_hour -#,FIXME - use temps as timetable ops can be very time-consuming,, -util_dummy_adjacent_before,local temp variable,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy -util_dummy_adjacent_after,local temp variable,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy -util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours -util_departure_constants_early,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early -util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 -util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late -util_arrival_constants_early,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early -util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late -util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours -util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours -util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours -util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours -util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours -util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours -util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours -util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_work_coeffs.csv b/activitysim/examples/example_psrc/configs/tour_scheduling_work_coeffs.csv deleted file mode 100755 index 7404512d1f..0000000000 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_work_coeffs.csv +++ /dev/null @@ -1,65 +0,0 @@ -coefficient_name,value,constrain -coef_dummy,1,T -coef_free_flow_round_trip_auto_time_shift_effects_departure,-0.00114,F -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.00221,F -coef_part_time_worker_departure_shift_effects,0.06736,F -coef_non_working_adult_duration_shift_effects,-0.1207,F -coef_university_student_departure_shift_effects,0.05747,F -coef_household_income_departure_shift_effects,0.000208,F -coef_destination_in_cbd_departure_shift_effects,0.04717,F -coef_destination_in_cbd_duration_shift_effects,0.08679,F -coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T -coef_first_of_2plus_work_tours_departure_shift_effects,-0.3033,F -coef_first_of_2plus_work_tours_duration_shift_effects,-0.1861,F -coef_subsequent_2plus_work_departure_tours_shift_effects,-0.5381,F -coef_subsequent_2plus_work_duration_tours_shift_effects,-0.3174,F -coef_household_income_early_departure_interaction,-0.4854,F -coef_household_income_late_arrival_interaction,-0.3839,F -coef_destination_in_cbd_early_departure_interaction,-0.4566,F -coef_destination_in_cbd_late_arrival_interaction,-0.2334,F -coef_rural_household_early_departure_interaction,0.4039,F -coef_rural_household_late_arrival_interaction,-0.3451,F -coef_full_time_worker_duration_lt_9_hours_interaction,-1.257,F -coef_full_time_worker_10_to_12_departure_interaction,-0.5182,F -coef_part_time_worker_13_to_15_arrival_interaction,0.5433,F -coef_first_of_2plus_work_tours_duration_lt_8_hrs,1.98,F -coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs,2.582,F -coef_tours_by_worker_duration_lt_8_hrs,0.9126,F -coef_tours_by_student_duration_lt_8_hrs,2.582,F -coef_mode_choice_logsum,1.027,F -coef_previously_scheduled_tour_ends_in_this_departure_hour,-0.8935,F -coef_previously_scheduled_tour_begins_in_this_arrival_hour,-1.334,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.1771,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.3627,F -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.2123,F -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.1012,F -coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,-18.68,F -coef_departure_constants_early,-0.95272527,F -coef_departure_constants_am_peak_1,-0.616180906,F -coef_departure_constants_am_peak_2,0,T -coef_departure_constants_am_peak_3,-0.254714726, -coef_departure_constants_am_peak_4,-1.251346024,F -coef_departure_constants_midday_1,-1.705868992,F -coef_departure_constants_midday_2,-1.693570583,F -coef_departure_constants_pm_peak,-1.439991962,F -coef_departure_constants_evening,-1.610513243,F -coef_departure_constants_late,-2.883415223,F -coef_arrival_constants_early,0,T -coef_arrival_constants_am_peak,-1.854520626,F -coef_arrival_constants_midday_1,-0.495972037,F -coef_arrival_constants_midday_2,-0.378554081,F -coef_arrival_constants_pm_peak_1,0,T -coef_arrival_constants_pm_peak_2,0.2760839,F -coef_arrival_constants_pm_peak_3,0.699587132,F -coef_arrival_constants_pm_peak_4,0.799289377,F -coef_arrival_constants_evening,0.103566251,F -coef_arrival_constants_late,-0.965957339,F -coef_duration_constants_0_to_2_hours,-2.52826639,F -coef_duration_constants_3_to_4_hours,-0.918974457,F -coef_duration_constants_5_to_6_hours,-0.718550288,F -coef_duration_constants_7_to_8_hours,-0.139623566,F -coef_duration_constants_9_hours,0.055706243,F -coef_duration_constants_10_hours,0,T -coef_duration_constants_11_hours,-0.347795391,F -coef_duration_constants_12_to_13_hours,-1.008222346,F -coef_duration_constants_14_to_18_hours,-1.701858847,F \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/example_psrc/configs/trip_destination_annotate_trips_preprocessor.csv deleted file mode 100755 index e4317d8e82..0000000000 --- a/activitysim/examples/example_psrc/configs/trip_destination_annotate_trips_preprocessor.csv +++ /dev/null @@ -1,10 +0,0 @@ -Description,Target,Expression -#,, -,tour_mode,"reindex(tours.tour_mode, df.tour_id)" -,_tod,"np.where(df.outbound,reindex_i(tours.start, df.tour_id),reindex_i(tours.end, df.tour_id))" -,trip_period,network_los.skim_time_period_label(_tod) -,is_joint,"reindex(tours.tour_category, df.tour_id)=='joint'" -#,,not needed as school is not chosen as an intermediate trip destination -#,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" -#,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" -,tour_leg_dest,"np.where(df.outbound,reindex(tours.destination, df.tour_id), reindex(tours.origin, df.tour_id))" \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice.csv b/activitysim/examples/example_psrc/configs/trip_mode_choice.csv deleted file mode 100644 index 2da242e956..0000000000 --- a/activitysim/examples/example_psrc/configs/trip_mode_choice.csv +++ /dev/null @@ -1,405 +0,0 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,,,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,,,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,,,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,,,,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, -#,Walk,,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, -#,Bike,,,,,,,,,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, -#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, -#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, -#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, -#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, -#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn,,,,,,,, -#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, -util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, -util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, -#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, -util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, -util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, -#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, -util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, -#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, -util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, -#,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, -util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, -util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, -#,Taxi,,,,,,,,,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, -#,#TNC Shared,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt -#,,,,,,,,,,,,,,,,,,,,,,, -util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, -util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,, -util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, -,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh -util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh -util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh -util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh -util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,,,,,,,,,, -util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh -util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_express,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,walk_transit_ASC_heavyrail,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,walk_transit_ASC_commuter,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh -util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_lightrail,,,,,, -util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_ferry,,,,,, -util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,drive_transit_ASC_express,,,,, -util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,drive_transit_ASC_heavyrail,,,, -util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,drive_transit_ASC_commuter,,, -util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh -util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,,,,,,, -util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,ride_hail_ASC_taxi,, -util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_single, -util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_shared -#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh -util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,,,,,,,,,, -util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,,,,,,,,,, -util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh -util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_express,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,joint_walk_transit_ASC_heavyrail,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,joint_walk_transit_ASC_commuter,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh -util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_lightrail,,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_ferry,,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,joint_drive_transit_ASC_express,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,joint_drive_transit_ASC_heavyrail,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_commuter,,, -util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_taxi,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared -#,#,,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, -util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt -util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_psrc/configs/trip_purpose.yaml b/activitysim/examples/example_psrc/configs/trip_purpose.yaml deleted file mode 100755 index 47faf0d7c8..0000000000 --- a/activitysim/examples/example_psrc/configs/trip_purpose.yaml +++ /dev/null @@ -1,9 +0,0 @@ - -PROBS_SPEC: trip_purpose_probs.csv - -preprocessor: - SPEC: trip_purpose_annotate_trips_preprocessor - DF: trips - TABLES: - - persons - - tours diff --git a/activitysim/examples/example_psrc/configs/trip_purpose_and_destination.yaml b/activitysim/examples/example_psrc/configs/trip_purpose_and_destination.yaml deleted file mode 100755 index 4895aa5268..0000000000 --- a/activitysim/examples/example_psrc/configs/trip_purpose_and_destination.yaml +++ /dev/null @@ -1,6 +0,0 @@ - -MAX_ITERATIONS: 5 - -# drop failed trips and cleanup failed trip leg_mates for consistency -# (i.e. adjust trip_count, trip_num, first for missing failed trips) -CLEANUP: True diff --git a/activitysim/examples/example_psrc/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/example_psrc/configs/trip_purpose_annotate_trips_preprocessor.csv deleted file mode 100755 index 0e20453303..0000000000 --- a/activitysim/examples/example_psrc/configs/trip_purpose_annotate_trips_preprocessor.csv +++ /dev/null @@ -1,5 +0,0 @@ -Description,Target,Expression -#,, -,ptype,"reindex(persons.ptype, df.person_id)" -,person_type,ptype.map(PTYPE_NAME) -,start,"reindex_i(tours.start, df.tour_id)" diff --git a/activitysim/examples/example_psrc/configs/trip_purpose_probs.csv b/activitysim/examples/example_psrc/configs/trip_purpose_probs.csv deleted file mode 100755 index 342581d0eb..0000000000 --- a/activitysim/examples/example_psrc/configs/trip_purpose_probs.csv +++ /dev/null @@ -1,132 +0,0 @@ -primary_purpose,outbound,depart_range_start,depart_range_end,person_type,work,univ,school,escort,shopping,othmaint,eatout,social,othdiscr -work,True,5,8,PTYPE_FULL,0.198,0.004,0,0.466,0.083,0.086,0.093,0.004,0.066 -work,True,5,8,PTYPE_PART,0.094,0,0,0.657,0.076,0.07,0.067,0.009,0.027 -work,True,5,8,PTYPE_UNIVERSITY,0.067,0.081,0,0.433,0.005,0.038,0.153,0.108,0.115 -work,True,9,23,PTYPE_FULL,0.278,0.008,0,0.172,0.18,0.193,0.107,0.016,0.046 -work,True,9,23,PTYPE_PART,0.442,0,0,0.089,0.105,0.175,0.102,0.03,0.057 -work,True,9,23,PTYPE_UNIVERSITY,0.049,0.086,0,0.392,0.159,0.157,0.069,0.073,0.015 -work,True,5,23,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 -univ,True,5,23,PTYPE_FULL,0.526,0.178,0,0.016,0.16,0.035,0.028,0.057,0 -univ,True,5,23,PTYPE_PART,0.059,0.941,0,0,0,0,0,0,0 -univ,True,5,23,PTYPE_UNIVERSITY,0.109,0.034,0,0.382,0.136,0.147,0.094,0.048,0.05 -school,True,5,23,PTYPE_DRIVING,0,0,0,0.548,0.015,0.1,0.206,0.073,0.058 -school,True,5,23,PTYPE_SCHOOL,0,0,0,0.53,0.025,0.084,0.112,0.048,0.201 -school,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.772,0.007,0.086,0.023,0.071,0.041 -escort,True,5,23,PTYPE_FULL,0,0,0,0.55,0.153,0.084,0.104,0.049,0.06 -escort,True,5,23,PTYPE_PART,0,0,0,0.449,0.194,0.07,0.167,0.059,0.061 -escort,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.509,0.193,0.158,0.048,0.058,0.034 -escort,True,5,23,PTYPE_NONWORK,0,0,0,0.444,0.216,0.084,0.108,0.118,0.03 -escort,True,5,23,PTYPE_RETIRED,0,0,0,0.37,0.204,0.192,0.03,0.068,0.136 -escort,True,5,23,PTYPE_DRIVING,0,0,0,0.586,0.227,0,0.072,0.115,0 -escort,True,5,23,PTYPE_SCHOOL,0,0,0,0.37,0.183,0.29,0.064,0.013,0.08 -escort,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.531,0.064,0,0.131,0.196,0.078 -shopping,True,5,23,PTYPE_FULL,0,0,0,0.102,0.456,0.226,0.11,0.06,0.046 -shopping,True,5,23,PTYPE_PART,0,0,0,0.182,0.291,0.311,0.108,0.031,0.077 -shopping,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.13,0.262,0.36,0.124,0.06,0.064 -shopping,True,5,23,PTYPE_NONWORK,0,0,0,0.144,0.336,0.274,0.122,0.068,0.056 -shopping,True,5,23,PTYPE_RETIRED,0,0,0,0.058,0.357,0.418,0.05,0.047,0.07 -shopping,True,5,23,PTYPE_DRIVING,0,0,0,0.076,0.193,0.298,0.047,0.13,0.256 -shopping,True,5,23,PTYPE_SCHOOL,0,0,0,0.121,0.142,0.232,0.291,0.03,0.184 -shopping,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.138,0.292,0.301,0.187,0.064,0.018 -othmaint,True,5,23,PTYPE_FULL,0,0,0,0.201,0.252,0.366,0.117,0.032,0.032 -othmaint,True,5,23,PTYPE_PART,0,0,0,0.27,0.259,0.325,0.109,0,0.037 -othmaint,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.489,0.13,0.167,0.025,0.15,0.039 -othmaint,True,5,23,PTYPE_NONWORK,0,0,0,0.279,0.229,0.344,0.078,0.039,0.031 -othmaint,True,5,23,PTYPE_RETIRED,0,0,0,0.224,0.139,0.321,0.098,0.064,0.154 -othmaint,True,5,23,PTYPE_DRIVING,0,0,0,0.135,0,0.259,0.083,0.523,0 -othmaint,True,5,23,PTYPE_SCHOOL,0,0,0,0.191,0.408,0.344,0.041,0.008,0.008 -othmaint,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.143,0.301,0.464,0.017,0.029,0.046 -eatout,True,5,23,PTYPE_FULL,0,0,0,0.144,0.283,0.202,0.036,0.129,0.206 -eatout,True,5,23,PTYPE_PART,0,0,0,0.169,0.374,0.179,0.013,0.135,0.13 -eatout,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.32,0.085,0.111,0,0.153,0.331 -eatout,True,5,23,PTYPE_NONWORK,0,0,0,0.201,0.224,0.269,0.063,0.082,0.161 -eatout,True,5,23,PTYPE_RETIRED,0,0,0,0.142,0.237,0.237,0.034,0.123,0.227 -eatout,True,5,23,PTYPE_DRIVING,0,0,0,0.175,0.289,0.346,0,0.105,0.085 -eatout,True,5,23,PTYPE_SCHOOL,0,0,0,0.124,0.135,0.135,0.04,0.048,0.518 -eatout,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.055,0.329,0.165,0.061,0,0.39 -social,True,5,23,PTYPE_FULL,0,0,0,0.186,0.382,0.144,0.122,0.126,0.04 -social,True,5,23,PTYPE_PART,0,0,0,0.175,0.153,0.167,0.147,0.183,0.175 -social,True,5,23,PTYPE_UNIVERSITY,0,0,0,0,0.212,0.091,0.432,0.234,0.031 -social,True,5,23,PTYPE_NONWORK,0,0,0,0.311,0.392,0.149,0.071,0.058,0.019 -social,True,5,23,PTYPE_RETIRED,0,0,0,0.12,0.407,0.203,0.151,0.102,0.017 -social,True,5,23,PTYPE_DRIVING,0,0,0,0,0,0,0,0.415,0.585 -social,True,5,23,PTYPE_SCHOOL,0,0,0,0.322,0.11,0.05,0,0.378,0.14 -social,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.294,0,0.159,0,0.547,0 -othdiscr,True,5,23,PTYPE_FULL,0,0,0,0.236,0.169,0.143,0.19,0.093,0.169 -othdiscr,True,5,23,PTYPE_PART,0,0,0,0.223,0.208,0.181,0.193,0.129,0.066 -othdiscr,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.135,0.123,0.061,0.342,0.123,0.216 -othdiscr,True,5,23,PTYPE_NONWORK,0,0,0,0.263,0.295,0.148,0.088,0.082,0.124 -othdiscr,True,5,23,PTYPE_RETIRED,0,0,0,0.225,0.056,0.389,0.16,0.091,0.079 -othdiscr,True,5,23,PTYPE_DRIVING,0,0,0,0.311,0.126,0.051,0.018,0.142,0.352 -othdiscr,True,5,23,PTYPE_SCHOOL,0,0,0,0.222,0.112,0.172,0.173,0.141,0.18 -othdiscr,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.271,0.108,0.393,0.146,0.043,0.039 -atwork,True,5,23,PTYPE_FULL,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,True,5,23,PTYPE_PART,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,True,5,23,PTYPE_UNIVERSITY,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,True,5,23,PTYPE_DRIVING,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -#,,,,,,,,,,,,, -work,False,5,14,PTYPE_FULL,0.175,0,0,0.14,0.27,0.162,0.134,0.05,0.069 -work,False,5,14,PTYPE_PART,0.097,0,0,0.252,0.211,0.192,0.159,0.089,0 -work,False,5,14,PTYPE_UNIVERSITY,0.134,0,0,0.329,0.114,0.212,0.169,0.042,0 -work,False,15,23,PTYPE_FULL,0.151,0.011,0,0.201,0.28,0.127,0.103,0.035,0.092 -work,False,15,23,PTYPE_PART,0.11,0,0,0.243,0.281,0.13,0.119,0.036,0.081 -work,False,15,23,PTYPE_UNIVERSITY,0.058,0.127,0,0.224,0.269,0.079,0.072,0.108,0.063 -work,False,5,23,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 -univ,False,5,23,PTYPE_FULL,0.352,0.032,0,0.032,0.146,0.114,0.177,0.028,0.119 -univ,False,5,23,PTYPE_PART,0,0,0,0.822,0.178,0,0,0,0 -univ,False,5,23,PTYPE_UNIVERSITY,0.054,0.025,0,0.194,0.209,0.179,0.159,0.067,0.113 -school,False,5,23,PTYPE_DRIVING,0,0,0,0.301,0.117,0.098,0.169,0.186,0.129 -school,False,5,23,PTYPE_SCHOOL,0,0,0,0.166,0.158,0.147,0.122,0.133,0.274 -school,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.38,0.148,0.089,0.146,0.102,0.135 -escort,False,5,23,PTYPE_FULL,0,0,0,0.343,0.235,0.114,0.222,0.039,0.047 -escort,False,5,23,PTYPE_PART,0,0,0,0.24,0.298,0.128,0.157,0.045,0.132 -escort,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.195,0.319,0.287,0.02,0.027,0.152 -escort,False,5,23,PTYPE_NONWORK,0,0,0,0.28,0.325,0.169,0.103,0.05,0.073 -escort,False,5,23,PTYPE_RETIRED,0,0,0,0.31,0.317,0.073,0.111,0.112,0.077 -escort,False,5,23,PTYPE_DRIVING,0,0,0,0,0.489,0,0.148,0.363,0 -escort,False,5,23,PTYPE_SCHOOL,0,0,0,0.188,0.259,0.129,0.202,0.06,0.162 -escort,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.413,0.215,0.118,0.211,0.019,0.024 -shopping,False,5,23,PTYPE_FULL,0,0,0,0.091,0.526,0.159,0.152,0.047,0.025 -shopping,False,5,23,PTYPE_PART,0,0,0,0.104,0.553,0.156,0.105,0.037,0.045 -shopping,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.1,0.43,0.064,0.344,0.003,0.059 -shopping,False,5,23,PTYPE_NONWORK,0,0,0,0.11,0.528,0.158,0.122,0.059,0.023 -shopping,False,5,23,PTYPE_RETIRED,0,0,0,0.052,0.549,0.159,0.123,0.06,0.057 -shopping,False,5,23,PTYPE_DRIVING,0,0,0,0.118,0.707,0,0.041,0.134,0 -shopping,False,5,23,PTYPE_SCHOOL,0,0,0,0.015,0.19,0.256,0.157,0.179,0.203 -shopping,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.206,0.172,0.22,0.202,0.158,0.042 -othmaint,False,5,23,PTYPE_FULL,0,0,0,0.171,0.364,0.215,0.159,0.029,0.062 -othmaint,False,5,23,PTYPE_PART,0,0,0,0.228,0.365,0.17,0.13,0.041,0.066 -othmaint,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.046,0.345,0.192,0.298,0.06,0.059 -othmaint,False,5,23,PTYPE_NONWORK,0,0,0,0.17,0.423,0.158,0.171,0.064,0.014 -othmaint,False,5,23,PTYPE_RETIRED,0,0,0,0.099,0.391,0.213,0.241,0.036,0.02 -othmaint,False,5,23,PTYPE_DRIVING,0,0,0,0.031,0.356,0.075,0.458,0.031,0.049 -othmaint,False,5,23,PTYPE_SCHOOL,0,0,0,0.181,0.255,0.142,0.313,0,0.109 -othmaint,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.164,0.249,0.338,0.053,0.006,0.19 -eatout,False,5,23,PTYPE_FULL,0,0,0,0.106,0.44,0.112,0.041,0.128,0.173 -eatout,False,5,23,PTYPE_PART,0,0,0,0.168,0.331,0.225,0.023,0.063,0.19 -eatout,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.165,0.334,0.104,0.088,0.135,0.174 -eatout,False,5,23,PTYPE_NONWORK,0,0,0,0.148,0.547,0.092,0.056,0.055,0.102 -eatout,False,5,23,PTYPE_RETIRED,0,0,0,0.166,0.414,0.169,0.02,0.166,0.065 -eatout,False,5,23,PTYPE_DRIVING,0,0,0,0.195,0.332,0.114,0.114,0,0.245 -eatout,False,5,23,PTYPE_SCHOOL,0,0,0,0.072,0.356,0.053,0.019,0.169,0.331 -eatout,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.01,0.286,0.045,0.117,0.064,0.478 -social,False,5,23,PTYPE_FULL,0,0,0,0.12,0.286,0.123,0.19,0.255,0.026 -social,False,5,23,PTYPE_PART,0,0,0,0.106,0.122,0.039,0.553,0.047,0.133 -social,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.105,0.274,0.176,0,0.206,0.239 -social,False,5,23,PTYPE_NONWORK,0,0,0,0.313,0.326,0.13,0.062,0.075,0.094 -social,False,5,23,PTYPE_RETIRED,0,0,0,0.097,0.338,0.067,0.156,0.328,0.014 -social,False,5,23,PTYPE_DRIVING,0,0,0,0,0,0.368,0.15,0.482,0 -social,False,5,23,PTYPE_SCHOOL,0,0,0,0.058,0.162,0.085,0.281,0.125,0.289 -social,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.23,0.028,0.072,0.23,0.44,0 -othdiscr,False,5,23,PTYPE_FULL,0,0,0,0.108,0.319,0.132,0.27,0.112,0.059 -othdiscr,False,5,23,PTYPE_PART,0,0,0,0.102,0.346,0.154,0.181,0.087,0.13 -othdiscr,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.116,0.374,0.124,0.162,0.033,0.191 -othdiscr,False,5,23,PTYPE_NONWORK,0,0,0,0.11,0.389,0.19,0.19,0.067,0.054 -othdiscr,False,5,23,PTYPE_RETIRED,0,0,0,0.111,0.284,0.186,0.197,0.111,0.111 -othdiscr,False,5,23,PTYPE_DRIVING,0,0,0,0.277,0.304,0.057,0.205,0.157,0 -othdiscr,False,5,23,PTYPE_SCHOOL,0,0,0,0.114,0.204,0.148,0.291,0.089,0.154 -othdiscr,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.335,0.133,0.111,0.282,0.052,0.087 -atwork,False,5,23,PTYPE_FULL,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,False,5,23,PTYPE_PART,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,False,5,23,PTYPE_UNIVERSITY,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,False,5,23,PTYPE_DRIVING,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 diff --git a/activitysim/examples/example_psrc/configs/trip_scheduling.yaml b/activitysim/examples/example_psrc/configs/trip_scheduling.yaml deleted file mode 100755 index 5526a04cc2..0000000000 --- a/activitysim/examples/example_psrc/configs/trip_scheduling.yaml +++ /dev/null @@ -1,10 +0,0 @@ - -# int to add to probs column index to get time period it represents. -# e.g. depart_alt_base = 5 means first column (column 0) represents 5 am -DEPART_ALT_BASE: 5 - -MAX_ITERATIONS: 100 - -#FAILFIX: drop_and_cleanup -FAILFIX: choose_most_initial - diff --git a/activitysim/examples/example_psrc/configs/trip_scheduling_probs.csv b/activitysim/examples/example_psrc/configs/trip_scheduling_probs.csv deleted file mode 100755 index e9244bd9c4..0000000000 --- a/activitysim/examples/example_psrc/configs/trip_scheduling_probs.csv +++ /dev/null @@ -1,1369 +0,0 @@ -primary_purpose,outbound,tour_hour,trip_num,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23 -work,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,5,2,0.249730906,0.477180111,0.215788882,0.02257625,0.009653299,0.001272067,0.002559828,0.005345297,0.012868196,0.000858457,0,0.00130551,0,0.000861198,0,0,0,0,0 -work,TRUE,5,3,0.269166724,0.331378773,0.290398422,0.047428828,0.032211326,0.003681738,0,0.00648104,0.007547054,0.006178507,0,0.005527589,0,0,0,0,0,0,0 -work,TRUE,5,4,0.087782501,0.257488508,0.384088251,0.077346978,0.060562922,0,0,0.049138541,0,0.014538525,0,0,0,0.041701151,0.018235082,0,0.009117541,0,0 -work,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,6,2,0,0.218769369,0.568056029,0.16549898,0.028654735,0.007305391,0.002067083,0.003148838,0.000503641,0.003688829,0.002307106,0,0,0,0,0,0,0,0 -work,TRUE,6,3,0,0.130626273,0.577093506,0.214895882,0.051730954,0.003240613,0,0.004631429,0.00858571,0.005631893,0.001259632,0,0.002304109,0,0,0,0,0,0 -work,TRUE,6,4,0,0.003746877,0.546827469,0.29119719,0.043440135,0.021108582,0,0.041279538,0.022438337,0.019313618,0.003776433,0.006871821,0,0,0,0,0,0,0 -work,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,7,2,0,0,0.265300367,0.613559084,0.096014364,0.014396896,0.003048705,0.004403151,0,0.001139887,0.001411868,0.000725679,0,0,0,0,0,0,0 -work,TRUE,7,3,0,0,0.166352156,0.62367014,0.155705334,0.026659137,0.007295847,0.013673999,0.003582828,0.001111918,0.000525728,0.001422911,0,0,0,0,0,0,0 -work,TRUE,7,4,0,0,0.105022925,0.545651324,0.19699608,0.086647479,0.013272884,0.007863943,0.037841595,0.002284229,0.001876743,0,0.002542798,0,0,0,0,0,0 -work,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,8,2,0,0,0,0.456491659,0.443858962,0.071483886,0.007227768,0.011205848,0.004971546,0.003779089,0,0.000629094,0.000352148,0,0,0,0,0,0 -work,TRUE,8,3,0,0,0,0.297357445,0.518087382,0.132861058,0.006370619,0.007614307,0.009010749,0.012385163,0.002114995,0.01254835,0.001649933,0,0,0,0,0,0 -work,TRUE,8,4,0,0,0,0.219050051,0.313898882,0.316701629,0.097894922,0.024670968,0.007826425,0.014063117,0,0,0.001659846,0,0,0,0.00423416,0,0 -work,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,9,2,0,0,0,0,0.381802065,0.463610086,0.07833074,0.053350819,0.012379425,0.006984996,0.002188786,0.001353083,0,0,0,0,0,0,0 -work,TRUE,9,3,0,0,0,0,0.244359192,0.505051786,0.124730319,0.070740285,0.04380103,0.00393502,0.002381853,0,0.005000514,0,0,0,0,0,0 -work,TRUE,9,4,0,0,0,0,0.048177162,0.281924251,0.128648284,0.140849287,0.097452942,0.149279798,0.129250851,0.024417425,0,0,0,0,0,0,0 -work,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,10,2,0,0,0,0,0,0.287462748,0.478190637,0.154315841,0.0141405,0.047319629,0,0.005707897,0,0.004618797,0.008243951,0,0,0,0 -work,TRUE,10,3,0,0,0,0,0,0.224513864,0.313870996,0.279113796,0.089398426,0.044754472,0.034345645,0.014002803,0,0,0,0,0,0,0 -work,TRUE,10,4,0,0,0,0,0,0,0.181896949,0.267783358,0.317739276,0.088027455,0.086885637,0,0,0,0.057667324,0,0,0,0 -work,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,11,2,0,0,0,0,0,0,0.349521518,0.402347786,0.191514732,0.044397707,0.009105065,0,0.003113192,0,0,0,0,0,0 -work,TRUE,11,3,0,0,0,0,0,0,0.207587883,0.30769214,0.335712206,0.084378351,0.047431249,0.017198171,0,0,0,0,0,0,0 -work,TRUE,11,4,0,0,0,0,0,0,0,0.482525146,0.331491287,0.154741395,0,0,0.031242172,0,0,0,0,0,0 -work,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,12,2,0,0,0,0,0,0,0,0.228781907,0.52986365,0.185949096,0.016952622,0.0225574,0,0.015895326,0,0,0,0,0 -work,TRUE,12,3,0,0,0,0,0,0,0,0.048290452,0.527617032,0.260449945,0.038087283,0.125555288,0,0,0,0,0,0,0 -work,TRUE,12,4,0,0,0,0,0,0,0,0.055268088,0.55183696,0.308090511,0.022112333,0.026969361,0.035722748,0,0,0,0,0,0 -work,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -work,TRUE,13,2,0,0,0,0,0,0,0,0,0.618115652,0.284403475,0.097480873,0,0,0,0,0,0,0,0 -work,TRUE,13,3,0,0,0,0,0,0,0,0,0.496549493,0.232797723,0.159946019,0,0.015308798,0.038007565,0.057390402,0,0,0,0 -work,TRUE,13,4,0,0,0,0,0,0,0,0,0.176762619,0,0,0,0.823237381,0,0,0,0,0,0 -work,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -work,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.574348416,0.354554927,0.071096656,0,0,0,0,0,0,0 -work,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.502109794,0.21816867,0.279721536,0,0,0,0,0,0,0 -work,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.133121347,0.633379229,0.134648916,0.049425254,0.049425254,0,0,0,0,0 -work,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -work,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.552840921,0.403380234,0.043778845,0,0,0,0,0,0 -work,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.134176676,0.725445222,0.140378102,0,0,0,0,0,0 -work,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -work,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -work,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.470117389,0.401307167,0.110787768,0.017787675,0,0,0,0 -work,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.648121232,0.228392401,0.123486367,0,0,0,0,0 -work,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -work,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.406105035,0.414979307,0.178915658,0,0,0,0 -work,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.212373176,0.787626824,0,0,0,0,0 -work,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.5,0,0,0 -work,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21625036,0.437860534,0.113269906,0.232619199,0,0 -work,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -work,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81925165,0.07204277,0,0.10870558,0 -work,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492020395,0.507979605,0,0,0 -work,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -work,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -work,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.388129509,0.611870491,0,0 -work,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -work,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171581948,0.828418052,0 -work,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258374236,0.741625764,0 -work,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,1,0,0.220793114,0.779206886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,2,0,0.425176732,0.574823268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,1,0,0,0.107759005,0.892240995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,2,0,0,0.690008913,0.309991087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,3,0,0.337495318,0.662504682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,4,0,0,0.569894206,0.430105794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,1,0,0,0,0.314951457,0.685048543,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,2,0,0,0,0.079070075,0.920929925,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,3,0,0,0,0.226319471,0.773680529,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,1,0,0.046066203,0.007425743,0.028045042,0.233624929,0.684838083,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,2,0,0.126398434,0,0.0549729,0.096449389,0.722179277,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,3,0,0,0,0,0.36604282,0.63395718,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,1,0,0,0.017580881,0.034113366,0.04162677,0.286326641,0.620352342,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,2,0,0,0.02642438,0,0.033819936,0.199217971,0.740537713,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,3,0,0,0,0,0.005130668,0.277227788,0.717641544,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,4,0,0,0,0,0,0.036304716,0.963695284,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,1,0,0.002492115,0.001670698,0.012159512,0.014698251,0.029407418,0.152563565,0.787008442,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,2,0,0,0.006100837,0.011620455,0.013952709,0.036974376,0.310894404,0.620457219,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,3,0,0,0,0.009383356,0.042387756,0.006845546,0.29720543,0.644177912,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,4,0,0,0,0.008143494,0,0.049968848,0.124165248,0.81772241,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,1,0,0,0.004406789,0.016516638,0.008423145,0.030672879,0.043679722,0.31728407,0.579016757,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,2,0,0,0.003526988,0.003893522,0.007279925,0.014935643,0.080084093,0.245195123,0.645084705,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,3,0,0,0,0,0.01495651,0,0.040446175,0.214618414,0.729978901,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,4,0,0,0,0,0.01397645,0.006836511,0.025113874,0.15362871,0.800444454,0,0,0,0,0,0,0,0,0,0 -work,FALSE,14,1,0.002365799,0,0.003370061,0,0.004899447,0.008850097,0.035188808,0.07267661,0.207306035,0.665343143,0,0,0,0,0,0,0,0,0 -work,FALSE,14,2,0.007728364,0.003287077,0,0.006520962,0,0.032254466,0.052851387,0.133223369,0.229023292,0.535111082,0,0,0,0,0,0,0,0,0 -work,FALSE,14,3,0,0,0,0.003971419,0,0,0.008873008,0.119445331,0.269752545,0.597957698,0,0,0,0,0,0,0,0,0 -work,FALSE,14,4,0,0,0,0,0.056793918,0,0.011546821,0.042023265,0.23002226,0.659613737,0,0,0,0,0,0,0,0,0 -work,FALSE,15,1,0,0.005222802,0.000561863,0.003055031,0.006434507,0.007479814,0.009995919,0.013087333,0.058426024,0.310076404,0.585660301,0,0,0,0,0,0,0,0 -work,FALSE,15,2,0,0,0,0.001993619,0.008787212,0.008189747,0.015159942,0.009310176,0.054885948,0.253934613,0.647738743,0,0,0,0,0,0,0,0 -work,FALSE,15,3,0,0,0,0.001732532,0,0.00508097,0.029352724,0.030967014,0.039664292,0.202228781,0.690973688,0,0,0,0,0,0,0,0 -work,FALSE,15,4,0,0,0,0,0,0.004125776,0.011923745,0.030960101,0.061425266,0.239676364,0.651888748,0,0,0,0,0,0,0,0 -work,FALSE,16,1,0,0,0.001326173,0.005965432,0.005180374,0.004138931,0.011262579,0.01661091,0.012073334,0.03679347,0.347396478,0.559252319,0,0,0,0,0,0,0 -work,FALSE,16,2,0,0,0.001822625,0.003909533,0.002974064,0.004461131,0.032696294,0.017905122,0.043805267,0.040055335,0.31441461,0.537956019,0,0,0,0,0,0,0 -work,FALSE,16,3,0,0,0,0,0.006964674,0,0.007663971,0.011249685,0.051874804,0.083383231,0.266186632,0.572677003,0,0,0,0,0,0,0 -work,FALSE,16,4,0.002037834,0,0,0,0,0.005964919,0.002996052,0.010623137,0.018245507,0.068094063,0.195919724,0.696118764,0,0,0,0,0,0,0 -work,FALSE,17,1,0,0,0.001405366,0.004415995,0.00337412,0.003812259,0.014084324,0.008465853,0.012498337,0.015584379,0.06625893,0.34857546,0.521524978,0,0,0,0,0,0 -work,FALSE,17,2,0,0.000261415,0.003193506,0.003224601,0.01031862,0.003695936,0.005727058,0.024107723,0.01290257,0.024008033,0.090851226,0.28964028,0.532069032,0,0,0,0,0,0 -work,FALSE,17,3,0,0,0.000765903,0.001471397,0.008789257,0.002465017,0.005279632,0.009138832,0.01433563,0.026053515,0.045996258,0.222930968,0.662773591,0,0,0,0,0,0 -work,FALSE,17,4,0,0,0,0.000418211,0.002396043,0.007974979,0.014040235,0.00763931,0.007998749,0.020421036,0.047793315,0.160067858,0.731250266,0,0,0,0,0,0 -work,FALSE,18,1,0,0.001141884,0.000347251,0.005493278,0.0034212,0.004108535,0.018739263,0.013709509,0.003846669,0.010612585,0.030088047,0.076311695,0.459430143,0.372749941,0,0,0,0,0 -work,FALSE,18,2,0,0.000397247,0.000707705,0.005535515,0.005281963,0.006814578,0.015049985,0.03759067,0.008201571,0.014941596,0.020264402,0.096049656,0.37187676,0.417288351,0,0,0,0,0 -work,FALSE,18,3,0,0,0.000752403,0.001471647,0,0.003652225,0.011264642,0.015334427,0.024656138,0.012088375,0.011628494,0.081091511,0.38372424,0.454335898,0,0,0,0,0 -work,FALSE,18,4,0,0,0.00040169,0.000306609,0.0002567,0.000726244,0.002720367,0.010037344,0.005670103,0.015810978,0.039979813,0.053350178,0.223343181,0.647396793,0,0,0,0,0 -work,FALSE,19,1,0,0.001186239,0,0.002728595,0.007883348,0.008718809,0.009638123,0.011693247,0.012706395,0.005992436,0.024678769,0.039878395,0.101249301,0.453611585,0.320034756,0,0,0,0 -work,FALSE,19,2,0,0,0,0.004170607,0.002769083,0.008212126,0.01044298,0.034645644,0.024223099,0.015502992,0.044371325,0.03839639,0.101706769,0.292181702,0.423377281,0,0,0,0 -work,FALSE,19,3,0,0,0,0.003546437,0.001427168,0.004005704,0.004647363,0.014456394,0.026101366,0.008168106,0.016583656,0.063080785,0.175251264,0.316168107,0.366563651,0,0,0,0 -work,FALSE,19,4,0,0,0,0,0.002545816,0.001448115,0.001519341,0.006183074,0.015479082,0.010887569,0.013355331,0.023014309,0.098855008,0.198551692,0.628160662,0,0,0,0 -work,FALSE,20,1,0,0,0.002357347,0.003515438,0.003650989,0.004956981,0.005821696,0.03028673,0.010683018,0.006121216,0.039610208,0.067356772,0.074052002,0.107849619,0.362764994,0.280972989,0,0,0 -work,FALSE,20,2,0,0,0,0.003020632,0.000872671,0.009819915,0.004032092,0.033547265,0.012437164,0.023084614,0.029601855,0.030696598,0.08880218,0.150240348,0.244376765,0.3694679,0,0,0 -work,FALSE,20,3,0,0,0,0,0.004490786,0.000948296,0.00496082,0.008797541,0.038290701,0.03100745,0.01309721,0.070674268,0.104392115,0.094315975,0.284308763,0.344716076,0,0,0 -work,FALSE,20,4,0,0,0,0,0,0,0.003217512,0.008519707,0.01832166,0.021264988,0.034310024,0.032173455,0.100093463,0.115029817,0.197663659,0.469405714,0,0,0 -work,FALSE,21,1,0,0,0.00486935,0.004088274,0.009577732,0.013580516,0.019408543,0.027638575,0.028964986,0.013373832,0.01367219,0.088681299,0.105198543,0.066199405,0.05396423,0.186005224,0.3647773,0,0 -work,FALSE,21,2,0,0,0.005064281,0,0.005604807,0.001600494,0.02231608,0.036560998,0.023155074,0.011113847,0.021297782,0.024032721,0.15164875,0.095555611,0.130774865,0.152199827,0.319074864,0,0 -work,FALSE,21,3,0,0,0,0,0,0,0.008088371,0.016902755,0.023330301,0.010037114,0.04837863,0.047736466,0.100832492,0.115955331,0.150651228,0.252610972,0.225476339,0,0 -work,FALSE,21,4,0,0,0,0,0,0,0,0.009975719,0.00458937,0.004215296,0.014833666,0.013407482,0.096553857,0.131723579,0.099990132,0.155500861,0.469210038,0,0 -work,FALSE,22,1,0,0,0,0,0.002354463,0.001321627,0.001526638,0.003547564,0.007889584,0.00247877,0.061446315,0.077612309,0.104848995,0.087316793,0.063921354,0.040342969,0.155380603,0.390012018,0 -work,FALSE,22,2,0,0,0,0.001982423,0,0.007743127,0.011968403,0.008685093,0.003973347,0.012345869,0.016587124,0.040020235,0.072010749,0.098243002,0.073472113,0.096470733,0.242366696,0.314131085,0 -work,FALSE,22,3,0,0,0,0,0,0.00900164,0.001675422,0.021019519,0.008241362,0.012933333,0.01478469,0.047949921,0.119423115,0.119522763,0.080598154,0.04905538,0.20209014,0.313704562,0 -work,FALSE,22,4,0,0,0,0,0,0.00241091,0.006967046,0.024621244,0.004358134,0.006887033,0.008276343,0.047494465,0.086031065,0.153176335,0.061142075,0.031195643,0.205080104,0.362359603,0 -work,FALSE,23,1,0,0.001238847,0,0.002154573,0.003964601,0.001493218,0.012410725,0.019401965,0.016898905,0.02730294,0.011556986,0.034875148,0.041105748,0.083174793,0.018419684,0.005370325,0.063729247,0.109449086,0.54745321 -work,FALSE,23,2,0,0,0.001396549,0,0.003319033,0.005204887,0.025094008,0.033735384,0.008488109,0.01528189,0.022728985,0.031350219,0.058537975,0.074214158,0.022929206,0.042918793,0.007770177,0.170962188,0.476068439 -work,FALSE,23,3,0,0,0.001748893,0.001566752,0,0.007196939,0.011228416,0.021359669,0.028165721,0.008967715,0.028693265,0.056683172,0.078656022,0.063158735,0.099308392,0.039560138,0.024986978,0.098009336,0.43070986 -work,FALSE,23,4,0,0,0.000766782,0.004388369,0.002881109,0.004980974,0.024053963,0.026342685,0.029143148,0.024074445,0.020534932,0.036286202,0.115377511,0.062463348,0.051866458,0.057077696,0.052763369,0.108781076,0.378217933 -univ,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,5,2,0,0.141462921,0.39086301,0,0.071786124,0.025897511,0,0,0,0.097305573,0,0.030851335,0.102890339,0.138943185,0,0,0,0,0 -univ,TRUE,5,3,0,0,0.873218626,0,0,0.057857072,0,0,0,0,0,0,0,0.068924303,0,0,0,0,0 -univ,TRUE,5,4,0,0,0,0,0,0,0.32303468,0,0.32303468,0.16151734,0,0,0,0.192413299,0,0,0,0,0 -univ,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,6,2,0,0.134677838,0.456787632,0.153282563,0.059662856,0.118242123,0.03689652,0.007431799,0.019186549,0,0,0.01383212,0,0,0,0,0,0,0 -univ,TRUE,6,3,0,0.09504007,0.597276077,0.241947175,0,0,0,0.065736678,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,6,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,7,2,0,0,0.16008737,0.671458416,0.049774779,0.017812393,0.020633361,0.033501607,0,0.039093289,0.007638784,0,0,0,0,0,0,0,0 -univ,TRUE,7,3,0,0,0.052281409,0.806320518,0.030314369,0,0,0.012683969,0,0.051228214,0,0.047171521,0,0,0,0,0,0,0 -univ,TRUE,7,4,0,0,0,0.384291795,0.37997151,0.017486076,0.017486076,0,0.052458229,0.020717499,0.020717499,0.106871315,0,0,0,0,0,0,0 -univ,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,2,0,0,0,0.508028202,0.405046381,0.075475558,0.005588065,0,0.005861793,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,3,0,0,0,0.353221848,0.426314578,0.180255321,0.025900769,0.014307484,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,4,0,0,0,0.244322976,0.391323801,0.023592159,0.14547362,0.023592159,0,0.117960797,0,0.026867244,0.026867244,0,0,0,0,0,0 -univ,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,9,2,0,0,0,0,0.363140456,0.541860336,0.068377772,0.008522123,0,0,0.018099314,0,0,0,0,0,0,0,0 -univ,TRUE,9,3,0,0,0,0,0.088505041,0.64872571,0.084998604,0.177770645,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,9,4,0,0,0,0,0.139725614,0.449854868,0.134189894,0,0.276229624,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,2,0,0,0,0,0,0.346861762,0.509611346,0.026290472,0.013109947,0.104126473,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,3,0,0,0,0,0,0.302069617,0.428966039,0.192628694,0,0.07633565,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,4,0,0,0,0,0,0,0.414612817,0,0.115720886,0.347162659,0.122503637,0,0,0,0,0,0,0,0 -univ,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,11,2,0,0,0,0,0,0,0.237240285,0.707936221,0.02446143,0.00979796,0.020564104,0,0,0,0,0,0,0,0 -univ,TRUE,11,3,0,0,0,0,0,0,0.042322313,0.335051522,0.231238246,0.268514141,0.122873778,0,0,0,0,0,0,0,0 -univ,TRUE,11,4,0,0,0,0,0,0,0,0.563593836,0.248920946,0,0.058524887,0.128960331,0,0,0,0,0,0,0 -univ,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,12,2,0,0,0,0,0,0,0,0,0.437771877,0.210261779,0,0,0.297139297,0.054827047,0,0,0,0,0 -univ,TRUE,12,3,0,0,0,0,0,0,0,0,0.43873352,0.141096056,0.130019758,0,0.219455556,0.070695109,0,0,0,0,0 -univ,TRUE,12,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,13,2,0,0,0,0,0,0,0,0,0.134867601,0.583447862,0.08911022,0.053636459,0.138937858,0,0,0,0,0,0 -univ,TRUE,13,3,0,0,0,0,0,0,0,0,0.150944969,0.333823157,0.107766156,0.168152845,0,0.239312872,0,0,0,0,0 -univ,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.090285103,0.404418717,0.50529618,0,0,0,0,0,0,0 -univ,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.309699276,0.690300724,0,0,0,0,0,0,0 -univ,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -univ,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.357567593,0.542130931,0.100301476,0,0,0,0,0,0 -univ,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.628916949,0.371083051,0,0,0,0,0,0 -univ,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -univ,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -univ,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.300048836,0.63299685,0.066954314,0,0,0,0,0 -univ,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -univ,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -univ,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.14414362,0.85585638,0,0,0,0,0 -univ,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.696191337,0.303808663,0,0,0,0 -univ,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403432532,0.596567468,0,0,0,0 -univ,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.450038651,0.549961349,0,0,0,0 -univ,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,1,0,0,0.016025515,0.983974485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,2,0,0,0.262404641,0.737595359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,1,0,0,0,0.163327352,0.836672648,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,1,0,0,0,0.226661626,0.168940428,0.604397946,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,2,0,0,0,0,0.222726098,0.777273902,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,3,0,0,0,0,0.611879485,0.388120515,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,1,0,0,0,0.015316515,0.046862442,0.097177177,0.840643866,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,2,0,0,0,0.070258469,0,0.268634856,0.661106675,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,3,0,0,0,0.037689621,0,0.130353154,0.831957225,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,4,0,0,0,0,0,0.077208841,0.922791159,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,1,0,0,0.014945608,0,0.028129025,0.020638305,0.519341237,0.416945825,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,2,0,0,0.031201085,0.03237983,0.013231327,0.110325379,0.181858105,0.631004274,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,3,0,0,0,0.03549716,0.015053148,0,0.290392671,0.65905702,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,4,0,0,0,0,0.099318641,0.052098847,0.151713122,0.69686939,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,1,0,0,0,0,0,0,0.181017187,0.292661018,0.526321795,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,2,0,0,0,0,0,0,0.048301785,0.296950961,0.654747254,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,3,0,0,0,0,0,0,0,0.056113137,0.943886863,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,4,0,0,0,0,0,0.024635167,0,0,0.975364833,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,1,0,0,0,0.022000764,0.008154518,0.013638554,0.034791419,0.065882427,0.246258385,0.609273932,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,2,0,0,0,0,0,0,0.016168393,0.097081997,0.229754942,0.656994667,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,3,0,0,0,0,0,0,0.043234918,0.20601367,0.431619379,0.319132034,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,4,0,0,0,0,0,0,0.024961198,0.010062765,0.104416222,0.860559815,0,0,0,0,0,0,0,0,0 -univ,FALSE,15,1,0,0,0,0.016983489,0,0.013422718,0.023570396,0.004582712,0.053800861,0.202721356,0.684918469,0,0,0,0,0,0,0,0 -univ,FALSE,15,2,0,0,0,0,0.045151752,0,0.099380208,0.018712363,0.046279979,0.313502235,0.476973464,0,0,0,0,0,0,0,0 -univ,FALSE,15,3,0,0,0,0,0,0,0.025154904,0.093517604,0.102200685,0.131224361,0.647902447,0,0,0,0,0,0,0,0 -univ,FALSE,15,4,0,0,0,0,0,0,0.04795036,0.04795036,0.065158411,0.21500352,0.623937348,0,0,0,0,0,0,0,0 -univ,FALSE,16,1,0,0,0,0,0,0.003411195,0,0.013129003,0,0.154717961,0.529208805,0.299533037,0,0,0,0,0,0,0 -univ,FALSE,16,2,0,0,0,0.015451903,0.014978609,0,0.006115529,0.008472156,0,0.091244276,0.417492241,0.446245285,0,0,0,0,0,0,0 -univ,FALSE,16,3,0,0,0,0,0,0.016342188,0.018885054,0,0.036490672,0.062457119,0.082466854,0.783358113,0,0,0,0,0,0,0 -univ,FALSE,16,4,0,0,0,0,0,0,0,0.102624898,0.020338459,0.028320918,0.182111674,0.666604051,0,0,0,0,0,0,0 -univ,FALSE,17,1,0,0,0,0,0,0,0,0.060607217,0.015960535,0.027738146,0.138834813,0.177730039,0.579129249,0,0,0,0,0,0 -univ,FALSE,17,2,0,0,0,0,0,0,0.026878378,0,0.045587412,0.056703613,0.067767612,0.211772198,0.591290787,0,0,0,0,0,0 -univ,FALSE,17,3,0,0,0,0,0,0,0.035711491,0,0,0.030318877,0.065253534,0.105686003,0.763030094,0,0,0,0,0,0 -univ,FALSE,17,4,0,0,0,0,0,0,0.010287884,0.023408308,0.036977492,0.010287884,0.081294488,0.144862027,0.692881918,0,0,0,0,0,0 -univ,FALSE,18,1,0,0,0,0.003945375,0,0,0,0.017778798,0,0.094239059,0.126537664,0.04524658,0.521630843,0.190621681,0,0,0,0,0 -univ,FALSE,18,2,0,0,0,0.00721016,0,0,0.021117111,0.009952491,0.040163794,0.181306282,0.011084411,0,0.37585875,0.353307001,0,0,0,0,0 -univ,FALSE,18,3,0,0,0,0.006589215,0,0,0,0.019298488,0,0.057611182,0.140317157,0.028818423,0.227948944,0.51941659,0,0,0,0,0 -univ,FALSE,18,4,0,0,0,0,0,0,0.008076984,0,0.019904917,0.065674412,0.055168626,0.094050391,0.164547688,0.592576982,0,0,0,0,0 -univ,FALSE,19,1,0,0,0,0,0.009454567,0,0,0,0.04102499,0,0.023746099,0,0.135591003,0.220827281,0.56935606,0,0,0,0 -univ,FALSE,19,2,0,0,0,0,0,0,0,0,0,0.078006772,0,0.060317466,0.259929547,0.359118303,0.242627912,0,0,0,0 -univ,FALSE,19,3,0,0,0,0,0,0,0,0,0,0.021382414,0,0.021188936,0.081686174,0.348421579,0.527320897,0,0,0,0 -univ,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189756837,0.810243163,0,0,0,0 -univ,FALSE,20,1,0,0,0,0,0,0,0,0.010016964,0,0,0,0.004718289,0.003266795,0,0.085231627,0.896766325,0,0,0 -univ,FALSE,20,2,0,0,0,0,0,0,0.11773307,0.039948419,0,0.039518498,0.05632597,0,0.267130581,0.046726624,0.026652785,0.405964054,0,0,0 -univ,FALSE,20,3,0,0,0,0,0,0,0,0.120183428,0,0.019425265,0,0.12981914,0.113130998,0,0.023452919,0.59398825,0,0,0 -univ,FALSE,20,4,0,0,0,0,0,0,0,0.120271055,0,0.038712543,0.069855242,0.27999729,0.089459377,0.067799861,0.14272972,0.191174912,0,0,0 -univ,FALSE,21,1,0,0,0,0,0,0,0,0,0.007338913,0.023203309,0.007350649,0.00472513,0.002978934,0,0.033142982,0.176639731,0.744620353,0,0 -univ,FALSE,21,2,0,0,0,0,0,0,0,0,0,0.057152164,0.184622922,0.047820405,0.014739649,0.00986257,0.02270102,0.078261413,0.584839857,0,0 -univ,FALSE,21,3,0,0,0,0,0,0,0,0.023488975,0,0.025096056,0,0,0.038339259,0,0.022191995,0.28095544,0.609928273,0,0 -univ,FALSE,21,4,0,0,0,0,0,0,0,0,0.029235831,0,0.09370831,0.034296673,0,0,0,0.045049879,0.797709307,0,0 -univ,FALSE,22,1,0,0,0,0,0,0,0,0,0,0.026178201,0.014643033,0,0.007467541,0,0.019259981,0,0.427134845,0.5053164,0 -univ,FALSE,22,2,0,0,0,0,0,0,0.034835821,0,0,0,0.140548783,0,0,0,0,0,0.1300249,0.694590496,0 -univ,FALSE,22,3,0,0,0,0,0,0,0,0.046323184,0,0,0,0.186895757,0,0,0,0,0.329771262,0.437009796,0 -univ,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0.156732984,0.024747713,0.166206674,0.137729625,0.24721205,0.267370954,0 -univ,FALSE,23,1,0,0,0,0,0,0,0,0,0,0.035836574,0,0.042066438,0.075012425,0.063439215,0,0,0.301680107,0.16901224,0.312953001 -univ,FALSE,23,2,0,0,0,0,0,0,0,0.022191189,0.04703489,0.224157456,0.038381448,0.045053715,0,0.164838447,0,0,0.125234584,0.144560801,0.188547469 -univ,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0.050535751,0,0.237653614,0.043051618,0,0.251962365,0.07621155,0.340585102 -univ,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.012541125,0,0.020367286,0.065349217,0.103326665,0.070453894,0.108396964,0.135051697,0.484513153 -school,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,2,0,0.040189605,0.959810395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,3,0,0.14676025,0.559777558,0.293462192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,2,0,0.090715709,0.600480587,0.301778371,0,0,0,0,0.007025333,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,3,0,0.189913473,0.435678549,0.345471524,0.028936455,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,4,0,0.276044088,0.461879351,0.26207656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,7,2,0,0,0.358595289,0.543340426,0.080407454,0.00494145,0,0.003218472,0.001252217,0.00163666,0.005875668,0,0.000732365,0,0,0,0,0,0 -school,TRUE,7,3,0,0,0.305390104,0.552122437,0.119495284,0,0.012287658,0,0,0,0.010704517,0,0,0,0,0,0,0,0 -school,TRUE,7,4,0,0,0.244790257,0.688367336,0,0.043560183,0,0.023282223,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,8,2,0,0,0,0.750052982,0.197397697,0.003009328,0.015758235,0.00583123,0,0.002418098,0.003851683,0.011638797,0.01004195,0,0,0,0,0,0 -school,TRUE,8,3,0,0,0,0.372624607,0.42987891,0.03924466,0,0.102467106,0,0,0.055784717,0,0,0,0,0,0,0,0 -school,TRUE,8,4,0,0,0,0,0.141654355,0.129241521,0.273939898,0,0,0,0,0.31350987,0.141654355,0,0,0,0,0,0 -school,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,2,0,0,0,0,0.090691548,0.482888016,0.426420437,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,3,0,0,0,0,0.091229458,0.353634961,0.555135582,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,4,0,0,0,0,0,0.30179716,0.69820284,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,2,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,3,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,11,2,0,0,0,0,0,0,0.02770017,0.902627425,0.038595346,0.031077059,0,0,0,0,0,0,0,0,0 -school,TRUE,11,3,0,0,0,0,0,0,0,0.797232896,0.076506636,0,0.126260468,0,0,0,0,0,0,0,0 -school,TRUE,11,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,2,0,0,0,0,0,0,0,0,0.899748743,0,0,0.100251257,0,0,0,0,0,0,0 -school,TRUE,12,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,13,2,0,0,0,0,0,0,0,0,0,0.451262789,0.191174572,0.357562639,0,0,0,0,0,0,0 -school,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.068700765,0.443666092,0.487633143,0,0,0,0,0,0,0 -school,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.11838799,0.88161201,0,0,0,0,0,0,0 -school,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.534557731,0.079614802,0,0,0.385827467,0,0,0,0,0 -school,TRUE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -school,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0,0.868324906,0,0.131675094,0,0,0,0,0 -school,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.900878137,0.099121863,0,0,0,0,0,0 -school,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -school,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -school,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.173995865,0.826004135,0,0,0,0,0,0 -school,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0.637190616,0.362809384,0,0,0,0,0 -school,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.74484742,0.25515258,0,0,0,0,0 -school,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -school,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173208977,0.826791023,0,0,0,0 -school,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -school,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,1,0,0,0,0.09946831,0.90053169,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,1,0,0,0,0,0.051889499,0.948110501,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,1,0,0,0,0,0.00854797,0.143038003,0.848414027,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,2,0,0,0,0,0,0.07758327,0.92241673,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,3,0,0,0,0,0,0.05138849,0.94861151,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,1,0,0,0,0,0.019446017,0.011496295,0.285657861,0.683399827,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,2,0,0,0,0,0.019954492,0,0.331728142,0.648317366,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,3,0,0,0,0,0.033967027,0,0.201586112,0.764446861,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,4,0,0,0,0,0.113939675,0,0.018400111,0.867660214,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,1,0,0,0,0.019248269,0,0.002680163,0.030761477,0.259256669,0.688053423,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,2,0,0,0,0,0,0,0,0.189323178,0.810676822,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,3,0,0,0,0,0,0,0,0.258031986,0.741968014,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,4,0,0,0,0,0,0,0,0.279494058,0.720505942,0,0,0,0,0,0,0,0,0,0 -school,FALSE,14,1,0,0.000831908,0.000979746,0,0.001601486,0.002226531,0.002192251,0.02470079,0.091632585,0.875834703,0,0,0,0,0,0,0,0,0 -school,FALSE,14,2,0,0,0,0,0,0,0.041609561,0.016064041,0.222703138,0.71962326,0,0,0,0,0,0,0,0,0 -school,FALSE,14,3,0,0,0,0,0,0,0,0.023937672,0.13413328,0.841929047,0,0,0,0,0,0,0,0,0 -school,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,FALSE,15,1,0,0,0.006672723,0.001920517,0.000881135,0.000470656,0.007178881,0.003373865,0.007046025,0.435289669,0.537166529,0,0,0,0,0,0,0,0 -school,FALSE,15,2,0,0,0,0.003559393,0.005420446,0,0.01895427,0.006031842,0.009564559,0.299701581,0.656767909,0,0,0,0,0,0,0,0 -school,FALSE,15,3,0,0,0,0,0.014210731,0,0,0.009915361,0.013300231,0.238413075,0.724160602,0,0,0,0,0,0,0,0 -school,FALSE,15,4,0,0,0,0,0.013547957,0,0,0.003834839,0,0.141585883,0.841031322,0,0,0,0,0,0,0,0 -school,FALSE,16,1,0,0,0.003957494,0.007442128,0.002894311,0,0.018097734,0.013714786,0.017413316,0.113052385,0.49048648,0.332941366,0,0,0,0,0,0,0 -school,FALSE,16,2,0,0,0,0.001567759,0.006348016,0.004559163,0.009399428,0.015889281,0.021832495,0.089535591,0.363878359,0.486989907,0,0,0,0,0,0,0 -school,FALSE,16,3,0,0,0,0,0,0.008315162,0.022193918,0.007486006,0.004771945,0.02862127,0.176424988,0.75218671,0,0,0,0,0,0,0 -school,FALSE,16,4,0,0,0,0,0,0,0,0.028022669,0.01919336,0.027628588,0.156778381,0.768377001,0,0,0,0,0,0,0 -school,FALSE,17,1,0,0,0,0.00408238,0.006057147,0.001368873,0.003781947,0.013443846,0.020930042,0.105685888,0.191206812,0.133610245,0.51983282,0,0,0,0,0,0 -school,FALSE,17,2,0,0,0,0.004151198,0,0.00388225,0.00967742,0.013025325,0.027213825,0.07090836,0.082650841,0.202645832,0.585844949,0,0,0,0,0,0 -school,FALSE,17,3,0,0,0,0,0,0.003335544,0,0.003254012,0,0.075557182,0.182853928,0.23363666,0.501362673,0,0,0,0,0,0 -school,FALSE,17,4,0,0,0,0,0,0.006781644,0.00413291,0,0,0.007828685,0.092863122,0.424308729,0.46408491,0,0,0,0,0,0 -school,FALSE,18,1,0,0,0,0.004555021,0,0,0.006805278,0.040238758,0.025752449,0.139579581,0.145174267,0.082159935,0.330134952,0.225599759,0,0,0,0,0 -school,FALSE,18,2,0,0,0,0,0,0,0.002018633,0.017639777,0.011559497,0.035110168,0.084872767,0.077914013,0.273264514,0.497620631,0,0,0,0,0 -school,FALSE,18,3,0,0,0,0,0,0,0.002017331,0.006931595,0.009423374,0.041198595,0.078999404,0.039268257,0.366809487,0.455351956,0,0,0,0,0 -school,FALSE,18,4,0,0,0,0,0,0,0,0,0.018561399,0.043258965,0,0.032292792,0.225093524,0.680793321,0,0,0,0,0 -school,FALSE,19,1,0,0,0.012570056,0,0,0,0.016011468,0.016057604,0.07668851,0.134954753,0.226805131,0.045185104,0.119737059,0.1042095,0.247780814,0,0,0,0 -school,FALSE,19,2,0,0,0,0,0,0,0,0,0.035149661,0.079025772,0.252249169,0.074284557,0.168495532,0.132896247,0.257899061,0,0,0,0 -school,FALSE,19,3,0,0,0,0,0,0,0.005256704,0.005256704,0,0.009878056,0.069178911,0.139359082,0.209998751,0.300301838,0.260769954,0,0,0,0 -school,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.022433763,0.009746389,0.043021361,0.243536894,0.681261593,0,0,0,0 -school,FALSE,20,1,0,0,0,0,0,0,0.036381208,0,0.005800614,0.031932891,0.149632504,0.044906251,0.163413396,0.076354612,0.020580741,0.470997783,0,0,0 -school,FALSE,20,2,0,0,0,0.036384497,0,0,0,0.015532617,0.011426107,0.027703676,0.076335086,0.040493411,0.142356662,0.132693585,0.187215615,0.329858743,0,0,0 -school,FALSE,20,3,0,0,0,0,0,0,0,0.03877589,0.045812113,0.065392635,0.101494701,0.055752291,0.061584445,0.034149257,0.28928825,0.307750418,0,0,0 -school,FALSE,20,4,0,0,0,0,0,0,0,0,0.036041044,0,0.141425909,0.042527443,0.019058777,0.102734314,0.237735178,0.420477334,0,0,0 -school,FALSE,21,1,0,0,0,0,0,0,0.029175445,0.047201664,0,0.059213923,0.186189825,0,0.015107113,0,0.014924261,0.246756883,0.401430887,0,0 -school,FALSE,21,2,0,0,0,0,0,0,0.018242295,0,0.051393732,0.017166791,0.159810093,0.01466897,0.065248355,0.019698184,0.082686594,0.128131407,0.442953578,0,0 -school,FALSE,21,3,0,0,0,0,0,0,0,0,0,0.044964736,0,0.026693251,0.075177802,0.03517993,0.025975511,0.337402271,0.4546065,0,0 -school,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0.058839649,0.052164792,0.030967554,0.061935107,0.029419825,0.145827525,0.620845548,0,0 -school,FALSE,22,1,0.023037375,0,0,0,0,0,0,0,0,0.080648327,0.361587215,0.039998637,0.119661147,0.145124395,0.025588201,0,0.115793964,0.088560738,0 -school,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.066321013,0.205698394,0.043934105,0.180253452,0.112019427,0.014897164,0.028012145,0.055418593,0.293445707,0 -school,FALSE,22,3,0,0,0,0.017205445,0,0,0,0,0,0,0,0.072013982,0.171335382,0.018627394,0.235525324,0.014627752,0.218669111,0.25199561,0 -school,FALSE,22,4,0,0,0,0,0,0,0.014630535,0,0,0,0,0,0,0.021783187,0.041931895,0.020148708,0.336082731,0.565422944,0 -school,FALSE,23,1,0,0,0,0,0,0,0,0,0.111780051,0.21697306,0.207813189,0,0.029486875,0.065930991,0.028259313,0.025083791,0.027543321,0.043512885,0.243616523 -school,FALSE,23,2,0,0,0,0,0,0,0,0,0,0.125873532,0.191933649,0.013156926,0.035810782,0.023201345,0,0.03046339,0.176154142,0.116307048,0.287099186 -school,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.39711845,0.032800383,0,0,0.246473294,0,0,0.167995519,0.155612354 -school,FALSE,23,4,0,0,0,0,0,0,0,0,0.313300531,0,0,0,0,0.002398637,0.195897513,0,0.195897513,0.004797275,0.28770853 -escort,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,5,2,0.056858007,0.134308757,0.177188158,0,0,0.13142305,0,0.060572569,0,0.148645889,0.139773895,0.099108225,0,0.048544465,0.003576985,0,0,0,0 -escort,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0.744635807,0,0,0.255364193,0,0,0,0,0 -escort,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0.812216804,0.046945799,0,0.140837397,0,0,0,0,0 -escort,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,6,2,0,0.317902833,0.447578121,0.020114912,0,0,0.053725104,0,0,0.040669001,0.069308805,0.050701225,0,0,0,0,0,0,0 -escort,TRUE,6,3,0,0,0.573662861,0,0,0,0.426337139,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,6,4,0,0,0,0,0,0,0.42115826,0.15768348,0.42115826,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,7,2,0,0,0.142617064,0.38383586,0.072492592,0.032249474,0.032292989,0.061737992,0.014418217,0,0.117686396,0.044994655,0.097674761,0,0,0,0,0,0 -escort,TRUE,7,3,0,0,0,0,0,0.045211707,0,0,0.126121874,0,0.277934232,0.221864174,0,0.328868013,0,0,0,0,0 -escort,TRUE,7,4,0,0,0,0,0,0.046374243,0,0,0.072684124,0,0,0.059438015,0.270430055,0.098354465,0,0.157068569,0,0.295650529,0 -escort,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,8,2,0,0,0,0.321006938,0.473310236,0.008304761,0.028639249,0.02199492,0.016407044,0,0.05343627,0.024107423,0.052793161,0,0,0,0,0,0 -escort,TRUE,8,3,0,0,0,0.32761399,0.648736988,0.023649023,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,8,4,0,0,0,0,0.203285069,0.087659544,0.087659544,0,0.005822781,0,0,0,0.101642534,0.005717855,0.508212672,0,0,0,0 -escort,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,9,2,0,0,0,0,0.320224882,0.267747579,0.099295479,0,0.061354638,0.200251803,0,0,0,0.020258001,0.030867619,0,0,0,0 -escort,TRUE,9,3,0,0,0,0,0,0.432761501,0.214593419,0,0.146040986,0.206604093,0,0,0,0,0,0,0,0,0 -escort,TRUE,9,4,0,0,0,0,0,0,0.1657582,0.096920036,0.259807729,0,0.159171345,0.159171345,0.159171345,0,0,0,0,0,0 -escort,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,10,2,0,0,0,0,0,0.196501921,0.373640136,0.138599097,0.094607199,0.196651647,0,0,0,0,0,0,0,0,0 -escort,TRUE,10,3,0,0,0,0,0,0.116175548,0.44952369,0.143154558,0.097571597,0.14871659,0.044858016,0,0,0,0,0,0,0,0 -escort,TRUE,10,4,0,0,0,0,0,0,0.152413275,0.360078185,0.346132466,0.141376074,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,2,0,0,0,0,0,0,0.236755791,0.714983274,0.028256555,0.02000438,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,3,0,0,0,0,0,0,0,0.379678398,0.448220444,0.172101157,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,12,2,0,0,0,0,0,0,0,0.146819614,0.555791511,0.044450314,0.058009028,0.153878569,0.041050964,0,0,0,0,0,0 -escort,TRUE,12,3,0,0,0,0,0,0,0,0,0.743230427,0.054234351,0.202535221,0,0,0,0,0,0,0,0 -escort,TRUE,12,4,0,0,0,0,0,0,0,0,0,0.132670832,0.867329168,0,0,0,0,0,0,0,0 -escort,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,13,2,0,0,0,0,0,0,0,0,0.092255068,0.585233838,0.30962564,0.012885454,0,0,0,0,0,0,0 -escort,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.671206778,0.328793222,0,0,0,0,0,0,0,0 -escort,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.228972422,0.771027578,0,0,0,0,0,0,0,0 -escort,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -escort,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.562794406,0.331440849,0.082858701,0,0.022906044,0,0,0,0,0 -escort,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.645172877,0.181000922,0.173826201,0,0,0,0,0,0 -escort,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0,0.753171928,0.246828072,0,0,0,0,0,0 -escort,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -escort,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.201660218,0.766732321,0.031607461,0,0,0,0,0,0 -escort,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.299056486,0.074996412,0.41897627,0.206970833,0,0,0,0,0 -escort,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.150453054,0.849546946,0,0,0,0,0 -escort,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -escort,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.579038356,0.255758044,0.165203599,0,0,0,0,0 -escort,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.035336994,0.238269535,0.726393471,0,0,0,0,0 -escort,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -escort,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -escort,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.197118737,0.703970119,0.036315607,0.026383772,0.036211766,0,0 -escort,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.427169666,0.572830334,0,0,0,0 -escort,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -escort,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -escort,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185479472,0.434361919,0.338714329,0.041444281,0,0 -escort,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78249237,0.21750763,0,0,0 -escort,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.823014212,0.176985788,0 -escort,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -escort,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.285555275,0.649528389,0.064916336,0,0 -escort,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -escort,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199542785,0.800457215,0,0 -escort,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,1,0.040029892,0.959970108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,1,0,0.020969803,0.979030197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,1,0,0,0.118338551,0.881661449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,2,0,0,0.034411699,0.965588301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,1,0,0,0.004282148,0.282836493,0.71288136,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,2,0,0,0,0.171647398,0.828352602,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,3,0,0,0,0.21068634,0.78931366,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,4,0,0,0,0.019911517,0.980088483,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,1,0,0,0.018159729,0.078956734,0.236267706,0.66661583,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,2,0,0,0,0.138185723,0.240772266,0.621042011,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,3,0,0,0.040625092,0.114436303,0.44797514,0.396963465,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,4,0,0,0,0,0.181720167,0.818279833,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,1,0,0,0,0.031917445,0.047683392,0.099924869,0.820474293,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,2,0,0,0,0,0.020814603,0.392076313,0.587109083,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,3,0,0,0,0,0.032514248,0.315393925,0.652091828,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,4,0,0,0,0,0,0.249548162,0.750451838,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,1,0,0,0,0.018963707,0.021920487,0.031520436,0.140654387,0.786940984,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,2,0,0,0,0.03235256,0.042149511,0.05052472,0.131440073,0.743533136,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,3,0,0,0,0.050468014,0,0.017084057,0.229496221,0.702951708,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,4,0,0,0,0,0.048745163,0,0.147271645,0.803983192,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,1,0,0,0.002941942,0.022003062,0.00551188,0.013544069,0.038590922,0.171545199,0.745862927,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,2,0,0,0,0.015043096,0.006073583,0.009841677,0.054297211,0.176600055,0.738144378,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,3,0,0,0,0.021105735,0,0,0.046096397,0.122921811,0.809876056,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,4,0,0,0,0,0,0,0,0.099840566,0.900159434,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,1,0,0,0,0.048520661,0,0,0.016138911,0.044713809,0.085550978,0.805075641,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,2,0,0,0,0.009564053,0.153251843,0,0,0.114426845,0.102407993,0.620349267,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,3,0,0,0,0,0,0,0.013997667,0.033806812,0.25169859,0.700496931,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,4,0,0,0,0,0,0,0,0.031515821,0.082969823,0.885514356,0,0,0,0,0,0,0,0,0 -escort,FALSE,15,1,0.001473284,0.001275418,0.003819369,0.008997,0.006335419,0.008570073,0.003284399,0.001014618,0.005676659,0.244506482,0.715047279,0,0,0,0,0,0,0,0 -escort,FALSE,15,2,0.004847658,0.004196604,0.007080083,0.006185119,0.01421088,0,0.026061603,0.014229404,0.009049421,0.195982731,0.718156496,0,0,0,0,0,0,0,0 -escort,FALSE,15,3,0,0.012564661,0,0,0,0.021197818,0.014513923,0.011367283,0.031969048,0.126086289,0.782300976,0,0,0,0,0,0,0,0 -escort,FALSE,15,4,0,0,0,0,0,0.027149505,0.045738486,0.027149505,0.029117725,0.13954129,0.731303489,0,0,0,0,0,0,0,0 -escort,FALSE,16,1,0.00200405,0.001051772,0.006771555,0.00180834,0.015487237,0.019320069,0.003963644,0.003467036,0,0.014608191,0.140235591,0.791282514,0,0,0,0,0,0,0 -escort,FALSE,16,2,0,0,0,0.006365421,0.007122206,0.007817846,0.005072611,0.002561853,0.010562285,0.011331327,0.163631956,0.785534495,0,0,0,0,0,0,0 -escort,FALSE,16,3,0,0,0,0,0,0,0.013949693,0.015608287,0.031607957,0.045248859,0.086738092,0.806847112,0,0,0,0,0,0,0 -escort,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.176949473,0.823050527,0,0,0,0,0,0,0 -escort,FALSE,17,1,0,0.001885858,0.014135456,0.015985525,0.002552119,0,0,0.002305352,0,0.019788158,0.05304134,0.114790493,0.775515701,0,0,0,0,0,0 -escort,FALSE,17,2,0,0,0.01612501,0.004912147,0,0,0,0,0.006052735,0,0.066169183,0.192117368,0.714623557,0,0,0,0,0,0 -escort,FALSE,17,3,0,0,0,0,0,0,0,0,0,0.020217729,0.029305934,0.331354145,0.619122192,0,0,0,0,0,0 -escort,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0.06461582,0.084856782,0.850527398,0,0,0,0,0,0 -escort,FALSE,18,1,0,0.005432163,0.038940224,0.026689744,0.058158769,0,0.034797386,0,0,0.003175997,0.015025769,0.011190666,0.133413828,0.673175452,0,0,0,0,0 -escort,FALSE,18,2,0.006475372,0,0.028703811,0,0.057765487,0,0.00513516,0.012023268,0,0.005808733,0.027224281,0.023941956,0.217891148,0.615030786,0,0,0,0,0 -escort,FALSE,18,3,0,0,0,0,0,0,0,0.023354896,0,0,0.010873824,0.043494105,0.216938965,0.70533821,0,0,0,0,0 -escort,FALSE,18,4,0,0,0,0,0,0,0,0,0,0.030910531,0.015455265,0.036197751,0.134169828,0.783266626,0,0,0,0,0 -escort,FALSE,19,1,0,0,0.015759767,0.084811588,0,0.002872924,0,0.006556512,0.028956925,0.008237531,0,0.012966642,0.041318552,0.134584946,0.663934612,0,0,0,0 -escort,FALSE,19,2,0,0,0,0.041554494,0,0,0,0.005100141,0.012765195,0.005414707,0,0.027095562,0.040399,0.160510182,0.707160719,0,0,0,0 -escort,FALSE,19,3,0,0,0,0.042762147,0,0,0,0,0,0,0,0.118635541,0.138902724,0.131182018,0.568517571,0,0,0,0 -escort,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0.033575497,0.22070458,0.745719923,0,0,0,0 -escort,FALSE,20,1,0,0,0,0,0.076554131,0,0.004387939,0,0.005379578,0,0,0.005770825,0.013203816,0.052748034,0.038731746,0.80322393,0,0,0 -escort,FALSE,20,2,0,0,0,0,0,0,0.012675397,0,0,0,0.015539935,0,0.0372498,0.038141734,0.263200874,0.63319226,0,0,0 -escort,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0.142988825,0.070710819,0.050794946,0.73550541,0,0,0 -escort,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054259213,0.205166313,0.740574475,0,0,0 -escort,FALSE,21,1,0,0,0,0.009094963,0.016533621,0,0,0,0,0.037489891,0.01972214,0.048167746,0,0.021841243,0.064693921,0.167744598,0.614711876,0,0 -escort,FALSE,21,2,0,0,0.010099315,0,0,0.041511619,0,0,0.014099016,0.047958493,0,0,0.074669665,0,0.04646442,0.263279058,0.501918415,0,0 -escort,FALSE,21,3,0,0,0.017776541,0,0,0,0,0,0,0,0.024816708,0,0.07306763,0.131431527,0.035447508,0.193292186,0.5241679,0,0 -escort,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.022628167,0,0.052756196,0.032321457,0.080116339,0.812177841,0,0 -escort,FALSE,22,1,0,0,0,0.113172185,0,0,0,0,0,0.026397261,0.044886063,0,0,0.019218468,0.004386306,0.028722261,0.247924763,0.515292694,0 -escort,FALSE,22,2,0,0,0,0,0,0,0.18017321,0,0,0,0,0.074732757,0,0.107022619,0.042577452,0.038743506,0.038743506,0.518006951,0 -escort,FALSE,22,3,0,0,0,0,0,0,0.267409489,0,0,0,0,0,0,0,0.015267396,0.143659747,0.183067852,0.390595517,0 -escort,FALSE,22,4,0,0,0,0,0,0,0,0.234024187,0.234024187,0,0,0,0,0,0,0,0.303429308,0.228522318,0 -escort,FALSE,23,1,0,0,0,0,0,0,0,0.008127027,0.007835463,0.151355656,0,0.052450125,0.03651837,0.092153785,0.022741195,0,0.087045131,0.09410699,0.447666258 -escort,FALSE,23,2,0,0,0,0,0,0,0,0.038717113,0,0.014072799,0.013520577,0.321560091,0.117135518,0.10301486,0.065001842,0,0.046587075,0.02971575,0.250674374 -escort,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.026894061,0.13703111,0,0.082687611,0.04923207,0,0.121213706,0.200076012,0.38286543 -escort,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.049644185,0,0,0,0,0,0.09087828,0.241408525,0.61806901 -shopping,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,5,2,0,0.18855969,0.026231205,0,0.018666624,0.036855114,0.01579057,0.02877734,0,0.008686294,0.03735935,0.062874703,0.02993166,0.13469908,0.360321567,0.051246804,0,0,0 -shopping,TRUE,5,3,0,0,0,0,0.061551337,0,0.071672554,0.060629628,0,0,0.091646938,0.65884087,0,0,0,0.055658673,0,0,0 -shopping,TRUE,5,4,0,0,0,0,0,0,0.063047092,0,0,0.063047092,0,0.063047092,0.096265448,0.600570816,0,0.05701123,0,0,0.05701123 -shopping,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,6,2,0,0.236185322,0.189345656,0.027307243,0,0.09795574,0.025679731,0.06524777,0,0.065782608,0.146681657,0.061307682,0.084506592,0,0,0,0,0,0 -shopping,TRUE,6,3,0,0.122362042,0,0.056125397,0,0.3786476,0,0,0.104941475,0,0,0.337923485,0,0,0,0,0,0,0 -shopping,TRUE,6,4,0,0,0,0,0,0.333126,0,0.333126,0,0,0,0.215517962,0.061611625,0.056618413,0,0,0,0,0 -shopping,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,7,2,0,0,0.137784762,0.347610842,0.133435005,0.027404455,0.039144758,0.071879163,0.050738746,0,0.035619826,0.112566834,0,0.017941118,0.01764776,0.008226732,0,0,0 -shopping,TRUE,7,3,0,0,0.118039813,0.173078319,0.187104935,0.14629093,0.052634804,0.10898427,0,0,0,0.168712159,0.045154769,0,0,0,0,0,0 -shopping,TRUE,7,4,0,0,0,0.044071544,0,0.113245235,0,0,0,0,0.055926536,0.110694997,0.261835563,0.414226125,0,0,0,0,0 -shopping,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,8,2,0,0,0,0.216420344,0.444754798,0.146005729,0.070193472,0.027780288,0.022919028,0,0.028031874,0,0.017321534,0.012974919,0,0,0,0.013598014,0 -shopping,TRUE,8,3,0,0,0,0.11915052,0.47354413,0.131084867,0.131912474,0.029942334,0.092204361,0.012421891,0,0,0,0.009739424,0,0,0,0,0 -shopping,TRUE,8,4,0,0,0,0.091488151,0.546318896,0.031542872,0.035173262,0.043158455,0.069562754,0.074293154,0.014133102,0.01007907,0.063090109,0.011081104,0,0.01007907,0,0,0 -shopping,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,9,2,0,0,0,0,0.25829748,0.338424677,0.195615866,0.063977369,0.037499937,0.014738329,0.047325307,0,0.015434424,0.020988402,0.007698208,0,0,0,0 -shopping,TRUE,9,3,0,0,0,0,0.092189784,0.255069356,0.282966449,0.075774276,0.085242805,0.057005967,0.019307332,0.104848677,0,0.027595353,0,0,0,0,0 -shopping,TRUE,9,4,0,0,0,0,0,0.086253583,0.235736082,0.217929307,0.026367245,0.066851523,0.150316009,0.167128809,0,0.049417443,0,0,0,0,0 -shopping,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,10,2,0,0,0,0,0,0.447429351,0.377114876,0.1219042,0.01784823,0.022881298,0.007112195,0.00570985,0,0,0,0,0,0,0 -shopping,TRUE,10,3,0,0,0,0,0,0.203895878,0.380391288,0.125413278,0.121084198,0.097085986,0.03993943,0.032189942,0,0,0,0,0,0,0 -shopping,TRUE,10,4,0,0,0,0,0,0.026436932,0.286895016,0.076810524,0.38619219,0.152227751,0.048029261,0,0.023408325,0,0,0,0,0,0 -shopping,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,11,2,0,0,0,0,0,0,0.321289054,0.351540642,0.130487047,0.150332918,0.014224049,0.004332814,0.027793477,0,0,0,0,0,0 -shopping,TRUE,11,3,0,0,0,0,0,0,0.22652124,0.229119163,0.279822494,0.140263855,0.09076511,0.017983211,0,0.015524928,0,0,0,0,0 -shopping,TRUE,11,4,0,0,0,0,0,0,0.060435728,0,0.337860558,0.382359867,0.089042433,0.089042433,0,0,0,0.041258981,0,0,0 -shopping,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,12,2,0,0,0,0,0,0,0,0.327958916,0.465492803,0.141109297,0.020542537,0.022498994,0.01140431,0.010993144,0,0,0,0,0 -shopping,TRUE,12,3,0,0,0,0,0,0,0,0.178317517,0.451517182,0.27737762,0.065198536,0,0.009801894,0.017787251,0,0,0,0,0 -shopping,TRUE,12,4,0,0,0,0,0,0,0,0,0.213180964,0.240910483,0.152246297,0.393662256,0,0,0,0,0,0,0 -shopping,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,13,2,0,0,0,0,0,0,0,0,0.508107696,0.321685937,0.081799219,0.061327596,0.027079551,0,0,0,0,0,0 -shopping,TRUE,13,3,0,0,0,0,0,0,0,0,0.177195753,0.267607099,0.084531289,0.424560684,0.014787439,0.031317737,0,0,0,0,0 -shopping,TRUE,13,4,0,0,0,0,0,0,0,0,0.263218395,0.402482495,0.061208389,0.185818041,0,0,0,0.087272681,0,0,0 -shopping,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -shopping,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.438870825,0.372372041,0.160848114,0.021826983,0,0,0.006082036,0,0,0 -shopping,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.017173884,0.628449853,0.104128183,0.031161272,0,0,0.10714611,0.111940698,0,0 -shopping,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.490831445,0,0,0,0,0.254584278,0.254584278,0,0 -shopping,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -shopping,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.261294755,0.632140733,0.068294747,0.038269765,0,0,0,0,0 -shopping,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.150837677,0.364045291,0.292150535,0.06771696,0,0.125249537,0,0,0 -shopping,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.36746411,0,0.075770875,0,0.278382507,0.278382507,0,0 -shopping,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -shopping,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.554781367,0.360878736,0.067834102,0.016505795,0,0,0,0 -shopping,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.327593582,0.637795928,0.034610489,0,0,0,0,0 -shopping,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0.076274354,0.757840172,0.055295158,0.110590316,0,0,0,0 -shopping,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -shopping,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.281133857,0.595643382,0.100047971,0,0.023174789,0,0 -shopping,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.517896269,0.345741974,0.070632988,0,0,0.065728769,0 -shopping,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.783800606,0,0.072066465,0.144132929,0,0 -shopping,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -shopping,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299407159,0.536590408,0.150080831,0.013921602,0,0 -shopping,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192023096,0.807976904,0,0,0,0 -shopping,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.221357455,0.693718463,0.084924082,0,0 -shopping,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.905321875,0.094678125,0,0 -shopping,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.768749763,0.231250237,0 -shopping,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,2,0,0,0.057856159,0.942143841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,1,0,0,0,0.063004812,0.936995188,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,2,0,0,0,0.215154916,0.784845084,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,1,0,0,0,0.034621691,0.199730362,0.765647947,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,2,0,0,0,0.013947823,0.249445429,0.736606748,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,3,0,0,0,0,0.263792407,0.736207593,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,4,0,0,0,0,0.190842252,0.809157748,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,1,0,0,0,0,0.017620786,0.158923567,0.823455647,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,2,0,0,0,0,0.004541602,0.230049175,0.765409223,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,3,0,0,0,0,0,0.338910752,0.661089248,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,4,0,0,0,0,0,0.150257604,0.849742396,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,1,0,0,0.002514383,0,0.039915577,0.051276757,0.273727641,0.632565641,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,2,0,0,0,0,0.039730806,0.073816678,0.261462334,0.624990182,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,3,0,0,0,0,0.004430216,0.044433351,0.292333728,0.658802706,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,4,0,0,0,0,0,0.035609316,0.240024471,0.724366213,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,1,0,0,0,0,0.002652468,0.017076075,0.03891727,0.241051111,0.700303076,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,2,0,0,0,0,0.008356207,0.019728013,0.123359666,0.171778982,0.676777133,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,3,0,0,0,0,0.019588158,0,0.046245315,0.40772273,0.526443797,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,4,0,0,0,0,0.025743876,0.051487752,0.032165405,0.12492976,0.765673208,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,1,0,0,0,0.014322812,0.008308251,0.005594512,0.016143904,0.130012933,0.19330349,0.632314098,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,2,0,0,0,0.005506763,0.021606723,0.003403522,0.013852092,0.106618856,0.339860692,0.509151352,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,3,0,0,0,0.011027918,0,0.003096348,0.058586882,0.104167817,0.217735941,0.605385093,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,4,0,0,0,0.01227549,0,0.019168758,0.003446634,0.105336725,0.267971535,0.591800858,0,0,0,0,0,0,0,0,0 -shopping,FALSE,15,1,0,0,0,0,0.004254425,0.009138,0.019091237,0.013981558,0.039120881,0.34948947,0.564924428,0,0,0,0,0,0,0,0 -shopping,FALSE,15,2,0,0,0,0,0.001627899,0.009215496,0.004903293,0.002308669,0.07302082,0.221873866,0.687049956,0,0,0,0,0,0,0,0 -shopping,FALSE,15,3,0,0,0,0,0.003142874,0,0.025204014,0,0.04008905,0.235602582,0.69596148,0,0,0,0,0,0,0,0 -shopping,FALSE,15,4,0,0,0,0,0,0,0.004328876,0.008657753,0,0.285614869,0.701398502,0,0,0,0,0,0,0,0 -shopping,FALSE,16,1,0,0,0,0.000878576,0.003497576,0.021588157,0.009216937,0.008217315,0.002448233,0.048046219,0.232893086,0.673213901,0,0,0,0,0,0,0 -shopping,FALSE,16,2,0,0,0,0,0,0.035847568,0.011510797,0.014922592,0.020904683,0.052635454,0.243160325,0.62101858,0,0,0,0,0,0,0 -shopping,FALSE,16,3,0,0,0,0,0,0.051361483,0.00311995,0,0.051491012,0.042960512,0.192617192,0.658449851,0,0,0,0,0,0,0 -shopping,FALSE,16,4,0,0,0,0,0,0.046465728,0.002556214,0.025713434,0.038861358,0.073644993,0.248297436,0.564460837,0,0,0,0,0,0,0 -shopping,FALSE,17,1,0,0.002208578,0.009311633,0.01738702,0.001331755,0.005016926,0.003171846,0.006879148,0.001436793,0.027480637,0.058941124,0.29462051,0.572214029,0,0,0,0,0,0 -shopping,FALSE,17,2,0,0,0,0,0,0,0.010344283,0.037939171,0.039422982,0.026045212,0.06114443,0.190229666,0.634874255,0,0,0,0,0,0 -shopping,FALSE,17,3,0,0,0,0,0.007721229,0,0.011554543,0.070232976,0.032812162,0.025350429,0.070540072,0.236685334,0.545103256,0,0,0,0,0,0 -shopping,FALSE,17,4,0,0,0,0,0,0.006990598,0.033455447,0.006990598,0,0.064675896,0.055525232,0.171396816,0.660965415,0,0,0,0,0,0 -shopping,FALSE,18,1,0,0.033355807,0,0.001892316,0.00090772,0.004904866,0.001167821,0.016722263,0.003141548,0.002779365,0.024569171,0.061842541,0.271632599,0.577083981,0,0,0,0,0 -shopping,FALSE,18,2,0,0.075251856,0,0.017407741,0,0,0.005067103,0.012905849,0.043130871,0.028315061,0.006542046,0.109303095,0.166027278,0.536049102,0,0,0,0,0 -shopping,FALSE,18,3,0,0,0,0,0,0,0,0,0,0.066490049,0.057249304,0.237270804,0.359314757,0.279675086,0,0,0,0,0 -shopping,FALSE,18,4,0,0,0,0,0,0,0.007859239,0,0.011296648,0.003929619,0.099720544,0.061193285,0.240312145,0.575688521,0,0,0,0,0 -shopping,FALSE,19,1,0,0.002312931,0.007027556,0.00055146,0,0.020661977,0,0,0.011821234,0.002688782,0.004292928,0.007532001,0.051155819,0.156901174,0.735054139,0,0,0,0 -shopping,FALSE,19,2,0,0,0,0,0,0,0,0.003320994,0.005290597,0.01358355,0.003788453,0.020449742,0.075630163,0.221134543,0.656801959,0,0,0,0 -shopping,FALSE,19,3,0,0,0,0,0,0,0.014614817,0,0,0.020347906,0.008733406,0,0.047735668,0.374113208,0.534454996,0,0,0,0 -shopping,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.020864671,0.058211406,0.120273738,0.204544879,0.596105306,0,0,0,0 -shopping,FALSE,20,1,0,0,0,0,0,0.001536146,0,0.001675312,0,0,0,0,0,0.047561031,0.181509603,0.767717908,0,0,0 -shopping,FALSE,20,2,0,0,0,0,0,0.00331683,0,0.004518272,0.00566615,0,0.002748233,0,0.008286949,0.051482817,0.259536082,0.664444667,0,0,0 -shopping,FALSE,20,3,0,0,0,0,0,0,0,0.011858233,0.008705041,0,0.022083602,0.018110733,0,0.035127515,0.143310213,0.760804664,0,0,0 -shopping,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.03498938,0.040641133,0.145381408,0.371268099,0.407719981,0,0,0 -shopping,FALSE,21,1,0,0,0,0,0,0,0,0.004266615,0.002430883,0,0.007940168,0.009395117,0.021163822,0.046202149,0.053837474,0.173465177,0.681298593,0,0 -shopping,FALSE,21,2,0,0,0,0,0,0,0.007985058,0.003444064,0.007416145,0,0.004827496,0.003843961,0.059108441,0.050308287,0.078478176,0.182109604,0.602478768,0,0 -shopping,FALSE,21,3,0,0,0,0,0,0,0,0,0.037797058,0.007828278,0.02376667,0.011687609,0,0.020240379,0.189418946,0.098165754,0.611095305,0,0 -shopping,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.019033172,0,0.01121107,0.036432132,0.018720166,0.031263843,0.186160383,0.697179234,0,0 -shopping,FALSE,22,1,0,0,0,0,0,0.018041153,0,0,0,0,0,0,0.009811009,0.008718506,0.044707222,0.097289219,0.453480605,0.367952287,0 -shopping,FALSE,22,2,0,0,0,0,0,0.014478651,0,0,0.00946373,0,0,0.015817118,0.022169677,0.014478651,0,0.0282764,0.258592224,0.63672355,0 -shopping,FALSE,22,3,0,0,0,0,0,0,0,0,0.017617342,0.054918813,0,0,0,0.029444584,0.095176163,0,0,0.802843098,0 -shopping,FALSE,22,4,0,0,0,0,0,0,0,0,0.020680151,0,0,0.158687133,0,0.087459292,0.073575862,0.034563581,0.293241585,0.331792395,0 -shopping,FALSE,23,1,0,0,0,0.023821741,0,0,0,0.039038004,0.026879421,0,0.010904146,0.018269598,0.019509677,0.079126477,0.035829398,0.029321261,0,0.084296742,0.633003535 -shopping,FALSE,23,2,0,0.103799266,0,0,0.011152724,0,0,0.015806724,0.046340267,0.023976697,0.037355147,0,0.054819521,0.059060036,0.061565304,0.051303212,0.00884805,0.147229688,0.378743364 -shopping,FALSE,23,3,0,0,0,0,0.155683525,0,0,0,0.034179578,0,0,0.080880151,0,0.080591686,0.03920938,0.158345959,0.053129458,0.120909369,0.277070893 -shopping,FALSE,23,4,0,0,0,0,0,0.157154735,0.078577368,0.196443419,0.047914328,0.039288684,0.12397869,0.009075333,0,0.026776309,0.014018049,0.026776309,0.008914443,0.067449234,0.2036331 -othmaint,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,5,2,0,0.040658727,0.120399874,0.213344233,0.111017831,0.079889013,0.042291218,0,0.204453217,0,0,0.104955464,0.082990423,0,0,0,0,0,0 -othmaint,TRUE,5,3,0,0,0,0,0,0,0,0.287213384,0,0,0,0,0.712786616,0,0,0,0,0,0 -othmaint,TRUE,5,4,0,0,0,0,0,0,0,0,0.124355516,0.248711031,0,0,0.105129078,0,0.521804375,0,0,0,0 -othmaint,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,6,2,0,0,0.235488214,0.357403945,0.125753019,0,0,0.078259791,0,0.046555016,0.11357777,0.042962245,0,0,0,0,0,0,0 -othmaint,TRUE,6,3,0,0,0.326226519,0,0,0,0,0.174974691,0,0.373408666,0.125390124,0,0,0,0,0,0,0,0 -othmaint,TRUE,6,4,0,0,0,0,0,0,0.051430893,0.051430893,0,0.213968684,0.153518801,0.186667766,0.102982298,0.145655522,0,0.042793737,0.051551405,0,0 -othmaint,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,7,2,0,0,0.161965305,0.560535311,0.143218808,0.033324008,0.013918476,0.026127179,0.005375436,0,0.011132734,0.01156894,0.02310162,0,0.009732183,0,0,0,0 -othmaint,TRUE,7,3,0,0,0.113525478,0.598967516,0.089069194,0.080738894,0,0.030379017,0,0,0.0168487,0.017349938,0.019216267,0.018737763,0,0,0.015167234,0,0 -othmaint,TRUE,7,4,0,0,0.067302976,0.204351658,0.170979792,0.399761316,0.008551266,0.113238461,0,0,0,0,0,0.035814532,0,0,0,0,0 -othmaint,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,8,2,0,0,0,0.275563345,0.484065773,0.083338937,0.065284531,0.034854754,0.014700638,0.02595601,0.016236011,0,0,0,0,0,0,0,0 -othmaint,TRUE,8,3,0,0,0,0.256465635,0.196396681,0.177854408,0.122055686,0.028927661,0.08283666,0.079901924,0.043539857,0.012021488,0,0,0,0,0,0,0 -othmaint,TRUE,8,4,0,0,0,0,0.028047731,0,0.350951603,0,0.149252856,0.30289175,0,0.04635913,0.122496929,0,0,0,0,0,0 -othmaint,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,9,2,0,0,0,0,0.230097736,0.368638076,0.127385774,0.016744897,0.150776775,0,0,0.007474052,0.098882689,0,0,0,0,0,0 -othmaint,TRUE,9,3,0,0,0,0,0,0.231740286,0.127213569,0.112305301,0.189734694,0.10677054,0.198766593,0.033469018,0,0,0,0,0,0,0 -othmaint,TRUE,9,4,0,0,0,0,0,0,0.34116944,0,0.583836564,0.074993995,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,2,0,0,0,0,0,0.286259076,0.537234442,0.142887206,0.033619275,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,3,0,0,0,0,0,0.164777982,0.52409087,0.14628494,0.049989666,0,0.114856542,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,2,0,0,0,0,0,0,0.473598812,0.258143996,0.104686693,0.141192999,0.022377501,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,3,0,0,0,0,0,0,0.72551892,0.190277137,0.084203943,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,4,0,0,0,0,0,0,0,0,0,0.305927706,0.347036147,0,0,0,0,0,0.347036147,0,0 -othmaint,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,12,2,0,0,0,0,0,0,0,0.545682141,0.314476787,0.053501749,0.03851823,0.047821093,0,0,0,0,0,0,0 -othmaint,TRUE,12,3,0,0,0,0,0,0,0,0.214651848,0.46388943,0.061966411,0.132775585,0.126716726,0,0,0,0,0,0,0 -othmaint,TRUE,12,4,0,0,0,0,0,0,0,0,0.127956328,0,0,0.576495171,0,0.295548501,0,0,0,0,0 -othmaint,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,2,0,0,0,0,0,0,0,0,0.323941314,0.585102169,0.090956518,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,3,0,0,0,0,0,0,0,0,0.072453359,0.780993759,0.146552882,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.222472025,0.777527975,0,0,0,0,0,0,0,0 -othmaint,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.256222437,0.654201082,0.071103851,0.01847263,0,0,0,0,0,0 -othmaint,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.11860694,0.44971127,0.431681789,0,0,0,0,0,0,0 -othmaint,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.436444767,0.563555233,0,0,0,0,0,0,0 -othmaint,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.593763081,0.406236919,0,0,0,0,0,0,0 -othmaint,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othmaint,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.854510215,0.145489785,0,0,0,0,0,0 -othmaint,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.724085091,0,0.275914909,0,0,0,0,0 -othmaint,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othmaint,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.172124075,0.213012548,0.614863377,0,0,0,0 -othmaint,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098642817,0.901357183,0,0,0,0 -othmaint,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.270651613,0.600738159,0.128610228,0,0 -othmaint,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.771681706,0,0.228318294,0 -othmaint,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,1,0.09071969,0.90928031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,1,0,0.075063017,0.924936983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,1,0,0,0.072655068,0.927344932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,1,0,0,0.013631489,0.161967148,0.824401363,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,1,0,0,0,0.037502157,0.312567208,0.649930634,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,2,0,0,0,0,0.275988767,0.724011233,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,3,0,0,0,0,0.15552038,0.84447962,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,4,0,0,0,0,0.144245586,0.855754414,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,1,0,0,0,0,0.03338987,0.26489836,0.70171177,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,2,0,0,0,0,0.010989916,0.227634382,0.761375703,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,3,0,0,0,0,0,0.026011355,0.973988645,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,4,0,0,0,0,0,0.107851024,0.892148976,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,1,0,0,0,0.010158031,0.022913155,0.102307429,0.377078058,0.487543327,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,2,0,0,0,0,0,0.108745958,0.2159873,0.675266742,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,3,0,0,0,0,0,0.06065237,0.336243242,0.603104388,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,4,0,0,0,0,0,0.013311396,0.19774252,0.788946084,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,1,0,0,0,0,0.031249299,0.047260258,0.081354892,0.353123741,0.48701181,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,2,0,0,0,0,0.036088554,0.047323035,0.099280114,0.282440914,0.534867384,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,3,0,0,0,0.022092503,0,0.023342697,0.218332277,0.130650891,0.605581632,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,4,0,0,0,0,0,0,0.007598622,0.247081366,0.745320012,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,1,0,0,0,0,0.008432907,0.019241437,0.053781383,0.07753638,0.180423206,0.660584686,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,2,0,0,0,0,0,0.014889748,0.058818026,0.03592279,0.279517106,0.610852331,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,3,0,0,0,0,0,0.025148147,0.044798265,0.019855411,0.184100242,0.726097934,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,4,0,0,0,0,0,0.025559931,0.089028487,0.037908626,0.118966776,0.72853618,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,1,0,0,0.014080554,0,0.010260757,0.018416064,0.003200712,0.030725966,0.060405447,0.322996101,0.5399144,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,2,0,0,0,0.007837984,0.007663278,0.013198261,0,0.009670767,0.043030366,0.15942745,0.759171894,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,3,0,0,0,0,0.009630972,0,0.006337143,0.101481335,0.066736017,0.096321205,0.719493328,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,4,0,0,0,0,0,0,0,0.013528329,0.062228479,0.089319428,0.834923764,0,0,0,0,0,0,0,0 -othmaint,FALSE,16,1,0,0,0.006200413,0.004986933,0,0.010337749,0.015781258,0.022349724,0.011320009,0.0610877,0.263854949,0.604081265,0,0,0,0,0,0,0 -othmaint,FALSE,16,2,0,0,0.006875165,0,0,0.004755274,0.004846065,0.041322108,0.062817829,0.084403941,0.210011072,0.584968544,0,0,0,0,0,0,0 -othmaint,FALSE,16,3,0,0,0,0,0,0.003750011,0,0.038367203,0,0.081124439,0.173167838,0.703590508,0,0,0,0,0,0,0 -othmaint,FALSE,16,4,0,0,0,0,0,0,0,0.012408147,0.035652064,0.083467534,0.198538722,0.669933533,0,0,0,0,0,0,0 -othmaint,FALSE,17,1,0,0,0,0.020552867,0,0.005813725,0.002732148,0.008782581,0.005357107,0.029100301,0.080364833,0.302512654,0.544783785,0,0,0,0,0,0 -othmaint,FALSE,17,2,0,0,0,0,0.026548466,0.003679274,0.009319631,0,0.042518808,0.029889235,0.080550404,0.277668263,0.52982592,0,0,0,0,0,0 -othmaint,FALSE,17,3,0,0,0,0,0.009271174,0,0.054663157,0,0.016257561,0.01488333,0.09396777,0.266410029,0.544546979,0,0,0,0,0,0 -othmaint,FALSE,17,4,0,0,0,0,0,0.007066116,0.007066116,0.06151997,0.066639666,0.049844639,0.033402711,0.146764167,0.627696614,0,0,0,0,0,0 -othmaint,FALSE,18,1,0,0,0.00220337,0.003892833,0.007889226,0.016688123,0.035048075,0.024546837,0,0.00815882,0.035392235,0.148091146,0.276111609,0.441977726,0,0,0,0,0 -othmaint,FALSE,18,2,0,0,0,0,0,0.065300384,0.006485915,0.052781714,0.048191377,0.040820218,0,0.162432484,0.05438396,0.569603948,0,0,0,0,0 -othmaint,FALSE,18,3,0,0,0,0,0.017320219,0.031548823,0.022330672,0.091457847,0,0.019713885,0.042008327,0.218018162,0.200579611,0.357022454,0,0,0,0,0 -othmaint,FALSE,18,4,0,0,0,0,0.016419136,0,0.00528573,0.020252478,0,0.100415264,0.03805733,0.105531305,0.176732756,0.537306,0,0,0,0,0 -othmaint,FALSE,19,1,0,0,0,0,0.010727452,0,0.008098901,0.019233131,0.013852404,0.004645853,0.013295603,0.080270768,0.078632583,0.187569198,0.583674107,0,0,0,0 -othmaint,FALSE,19,2,0,0,0,0,0.049239842,0.011428143,0,0,0.026241801,0.041108511,0.013964285,0.025063837,0,0.310631722,0.522321858,0,0,0,0 -othmaint,FALSE,19,3,0,0,0,0,0,0.086744587,0,0,0,0.016477125,0.041531547,0.015283398,0.017093713,0.105309634,0.717559996,0,0,0,0 -othmaint,FALSE,19,4,0,0,0,0,0,0.069764219,0.069764219,0,0,0.104847005,0,0.033271814,0.058783522,0.247218312,0.416350909,0,0,0,0 -othmaint,FALSE,20,1,0,0,0,0,0,0,0.01242339,0.005336417,0.044409284,0.029249865,0.011600679,0.028809843,0.016252507,0.030331787,0.287705325,0.533880904,0,0,0 -othmaint,FALSE,20,2,0,0,0,0,0,0,0,0,0.032990066,0.012593317,0,0.052304607,0.150427735,0.026510728,0.302582814,0.422590733,0,0,0 -othmaint,FALSE,20,3,0,0,0,0,0,0,0,0.023039668,0.024925805,0.022055308,0.053273572,0.028755337,0.017687898,0.157803915,0.245882825,0.426575672,0,0,0 -othmaint,FALSE,20,4,0,0,0,0,0,0,0,0.009174883,0.009174883,0.039703931,0.032564469,0.051766512,0.025425007,0.0614869,0.641240832,0.129462584,0,0,0 -othmaint,FALSE,21,1,0,0.025380051,0.006505038,0,0,0,0,0,0,0.034497668,0.005372141,0.00750697,0.322054018,0.02041747,0.056367039,0.277982219,0.243917386,0,0 -othmaint,FALSE,21,2,0,0,0,0,0.006399766,0.007749372,0,0,0,0.006917002,0,0.046305978,0.04149865,0,0.351103334,0.214319682,0.325706214,0,0 -othmaint,FALSE,21,3,0,0,0,0,0,0,0.011775898,0.022192712,0.017562682,0,0,0.024503537,0,0.080192747,0.349550204,0.39894732,0.095274901,0,0 -othmaint,FALSE,21,4,0,0,0,0,0,0,0.012259416,0,0.035363359,0.018283805,0.073556494,0.018283805,0.057647363,0.014844726,0.042237266,0.375692888,0.351830879,0,0 -othmaint,FALSE,22,1,0,0,0,0,0,0,0,0.056847728,0,0.047979687,0,0,0.057283827,0,0.024129278,0.031974532,0.16735598,0.614428968,0 -othmaint,FALSE,22,2,0,0,0,0,0,0,0,0,0.161289071,0.04650851,0,0,0.16212443,0.112102538,0,0,0.142577705,0.375397745,0 -othmaint,FALSE,22,3,0,0,0,0,0,0,0,0.110415007,0.068559987,0.152422919,0,0.063721526,0.10278041,0,0,0.094851272,0.058740936,0.348507943,0 -othmaint,FALSE,22,4,0,0,0,0,0,0,0,0.050912705,0.082525929,0,0.031613224,0.050912705,0.094839672,0.029382195,0.129047073,0.050912705,0.220800245,0.259053549,0 -othmaint,FALSE,23,1,0,0,0,0,0,0.010515377,0.025008268,0.032644118,0,0.085888154,0.049317135,0.011196407,0.007715287,0.054305418,0,0.074906459,0.182663286,0.082719875,0.383120217 -othmaint,FALSE,23,2,0,0,0,0,0,0,0,0.045673386,0.020160892,0.021413699,0,0.082142047,0.014090672,0.018059971,0,0.045974294,0.048093764,0.355409136,0.348982138 -othmaint,FALSE,23,3,0,0,0,0,0,0,0,0.080258013,0,0.073055546,0,0.075004948,0.081094174,0.069336389,0,0,0,0.041154495,0.580096435 -othmaint,FALSE,23,4,0,0,0,0,0,0,0,0.037448064,0,0.04959035,0.016530117,0.025234243,0.062464477,0.114901182,0,0.107371648,0.062464477,0.148912902,0.37508254 -eatout,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,5,2,0.032538851,0.221324643,0,0.037815017,0,0,0,0.272525282,0,0,0.037088163,0.337745523,0.034547537,0,0.026414986,0,0,0,0 -eatout,TRUE,5,3,0,0,0,0.091639733,0,0,0,0,0,0,0,0.089878297,0,0.81848197,0,0,0,0,0 -eatout,TRUE,5,4,0,0,0,0,0,0,0,0,0.091478599,0,0,0,0,0.817042802,0.091478599,0,0,0,0 -eatout,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,6,2,0,0.10870266,0.506895447,0.175689689,0,0.026096466,0.034864499,0.082091899,0,0,0,0.025468279,0.040191062,0,0,0,0,0,0 -eatout,TRUE,6,3,0,0.035560115,0.306736608,0.286592598,0.030199993,0.042569681,0.056872474,0,0.028493363,0,0,0.212975168,0,0,0,0,0,0,0 -eatout,TRUE,6,4,0,0,0.211737696,0.322316501,0,0,0.220793367,0,0.051433567,0.096859434,0,0,0,0.096859434,0,0,0,0,0 -eatout,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,7,2,0,0,0.144455214,0.345929433,0,0,0.086477099,0.023160754,0,0.016780688,0,0.202260676,0.052439775,0.128496361,0,0,0,0,0 -eatout,TRUE,7,3,0,0,0.090126203,0.306912678,0,0.037918354,0.033462594,0.029845783,0,0,0,0,0.104315493,0,0,0.397418896,0,0,0 -eatout,TRUE,7,4,0,0,0,0.502373694,0,0,0,0.134316948,0,0,0.070995242,0,0.070995242,0,0.221318875,0,0,0,0 -eatout,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,8,2,0,0,0,0.287649201,0.258570068,0.118932282,0.154019597,0.040748722,0.016734567,0.048015509,0.013439765,0.016546263,0.014029864,0.031314162,0,0,0,0,0 -eatout,TRUE,8,3,0,0,0,0,0.251109552,0,0.113694476,0.124444727,0,0,0.229845517,0.061431783,0.219473946,0,0,0,0,0,0 -eatout,TRUE,8,4,0,0,0,0,0.493293189,0,0,0,0,0,0.506706811,0,0,0,0,0,0,0,0 -eatout,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,9,2,0,0,0,0,0.366854738,0.25501335,0.107900842,0.2287524,0,0,0,0,0,0.041478671,0,0,0,0,0 -eatout,TRUE,9,3,0,0,0,0,0.468297002,0.238514298,0.2931887,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,9,4,0,0,0,0,0.109486993,0.574078888,0.280149843,0,0.036284276,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,10,2,0,0,0,0,0,0.254832017,0.469238325,0.127193733,0.065540094,0.051245746,0,0,0,0,0.031950083,0,0,0,0 -eatout,TRUE,10,3,0,0,0,0,0,0.064871933,0.163184264,0.345964678,0.111369168,0.141300007,0,0.17330995,0,0,0,0,0,0,0 -eatout,TRUE,10,4,0,0,0,0,0,0,0.150728895,0,0.209592187,0.423337891,0,0,0,0.216341028,0,0,0,0,0 -eatout,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,11,2,0,0,0,0,0,0,0.370585753,0.485622052,0.060239142,0.042221954,0,0,0,0.020865964,0.020465134,0,0,0,0 -eatout,TRUE,11,3,0,0,0,0,0,0,0.269205736,0.405557054,0.185720764,0,0.076480268,0,0.063036179,0,0,0,0,0,0 -eatout,TRUE,11,4,0,0,0,0,0,0,0,0.351458157,0.487871427,0,0,0,0,0.160670416,0,0,0,0,0 -eatout,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,12,2,0,0,0,0,0,0,0,0.437792419,0.301451181,0.150311105,0.034236693,0.076208603,0,0,0,0,0,0,0 -eatout,TRUE,12,3,0,0,0,0,0,0,0,0.225370702,0.381329664,0.174766696,0,0,0,0.218532938,0,0,0,0,0 -eatout,TRUE,12,4,0,0,0,0,0,0,0,0,0.221247262,0.778752738,0,0,0,0,0,0,0,0,0 -eatout,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,13,2,0,0,0,0,0,0,0,0,0.139433765,0.241394197,0.366145988,0,0,0.25302605,0,0,0,0,0 -eatout,TRUE,13,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -eatout,TRUE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -eatout,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.141560108,0.455484612,0.063533559,0.080474833,0.258946888,0,0,0,0,0 -eatout,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -eatout,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -eatout,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -eatout,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.175719201,0.491767111,0.304614961,0.027898728,0,0,0,0,0 -eatout,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.115184007,0.113089502,0.771726491,0,0,0,0,0,0 -eatout,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -eatout,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -eatout,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.081443842,0.569785792,0.258691473,0.048438646,0,0.041640248,0,0 -eatout,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.14088832,0.169273542,0.138693404,0.551144734,0,0,0,0 -eatout,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.522722044,0,0,0.477277956,0,0,0 -eatout,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -eatout,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.360098415,0.452873013,0.139516873,0.047511698,0,0,0 -eatout,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.107576639,0.186526017,0.560987927,0.144909417,0,0,0 -eatout,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -eatout,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27451797,0.572984268,0.072163445,0,0.080334317,0 -eatout,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.497007208,0.502992792,0,0,0,0 -eatout,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537636417,0.462363583,0,0,0 -eatout,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.328311347,0.671688653,0,0,0 -eatout,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -eatout,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.916716515,0.083283485,0,0 -eatout,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.726342035,0.273657965,0,0 -eatout,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -eatout,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,1,0.034815481,0.965184519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,1,0,0.199908855,0.800091145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,2,0,0.833877769,0.166122231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,1,0,0,0.215838535,0.784161465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,1,0,0,0,0.157266378,0.842733622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,2,0,0,0,0.335277961,0.664722039,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,1,0,0,0.033536748,0.02770012,0.155369348,0.783393784,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,2,0,0,0,0,0.173469452,0.826530548,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,1,0,0,0,0,0.091878183,0.12493006,0.783191757,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,2,0,0,0,0,0,0.096132235,0.903867765,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,1,0,0,0,0.037969228,0,0.031107149,0.035414324,0.895509299,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,2,0,0,0,0,0.02753672,0,0.149847323,0.822615958,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,3,0,0,0,0,0,0,0.258442104,0.741557896,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,4,0,0,0,0,0,0,0.333333333,0.666666667,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,1,0,0.01200688,0,0,0,0.039950927,0.008513584,0.137590949,0.80193766,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,2,0,0,0,0,0,0,0,0.394497458,0.605502542,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,4,0,0,0,0,0,0,0,0.367803297,0.632196703,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,1,0,0,0,0,0,0.006675471,0,0.049503213,0.303745574,0.640075741,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,2,0,0,0,0,0,0,0,0,0.279565462,0.720434538,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,3,0,0,0,0,0,0,0,0,0.289280673,0.710719327,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,4,0,0,0,0,0,0,0,0,0.17018646,0.82981354,0,0,0,0,0,0,0,0,0 -eatout,FALSE,15,1,0,0,0.012317448,0.011793684,0,0.032471192,0.017402541,0.031610182,0.061546974,0.401654713,0.431203266,0,0,0,0,0,0,0,0 -eatout,FALSE,15,2,0,0,0,0.020848495,0,0,0.031697312,0.022993537,0.09062564,0.216001966,0.617833051,0,0,0,0,0,0,0,0 -eatout,FALSE,15,3,0,0,0,0,0,0,0,0.046096862,0.044136725,0.455929483,0.45383693,0,0,0,0,0,0,0,0 -eatout,FALSE,15,4,0,0,0,0,0,0,0,0.053925006,0,0.080548958,0.865526035,0,0,0,0,0,0,0,0 -eatout,FALSE,16,1,0,0.029358275,0.006634587,0,0.008384768,0,0.022595474,0.011554952,0,0.018323185,0.344468391,0.558680369,0,0,0,0,0,0,0 -eatout,FALSE,16,2,0,0,0,0,0,0,0.023120402,0.115646001,0.052131074,0.053950104,0.19213634,0.563016078,0,0,0,0,0,0,0 -eatout,FALSE,16,3,0,0,0,0,0,0,0,0.058624219,0.059135643,0.033481644,0.029621972,0.819136522,0,0,0,0,0,0,0 -eatout,FALSE,16,4,0,0,0,0,0,0,0,0,0.079941236,0.063875591,0.228664833,0.62751834,0,0,0,0,0,0,0 -eatout,FALSE,17,1,0.008270503,0,0.011204931,0,0.012161696,0.009083295,0,0,0.008915709,0.010949503,0.019220416,0.424059428,0.496134519,0,0,0,0,0,0 -eatout,FALSE,17,2,0,0,0,0,0.009447942,0,0.059827266,0.109282601,0.010850987,0.012969818,0.170046907,0.153233152,0.474341327,0,0,0,0,0,0 -eatout,FALSE,17,3,0,0,0,0,0,0,0.020113077,0.088749328,0.011185398,0,0.071370427,0.323187311,0.485394459,0,0,0,0,0,0 -eatout,FALSE,17,4,0,0,0.038633648,0,0,0,0,0.019522201,0.039044403,0.062661272,0.092635226,0.060867571,0.68663568,0,0,0,0,0,0 -eatout,FALSE,18,1,0,0.00402747,0,0.002699769,0,0,0.003458022,0.004776748,0,0,0.007128847,0.022821634,0.560262038,0.394825471,0,0,0,0,0 -eatout,FALSE,18,2,0,0,0,0,0,0,0.025269691,0.053659728,0.018624541,0,0.015410135,0.096858434,0.303814033,0.486363437,0,0,0,0,0 -eatout,FALSE,18,3,0,0,0,0.027139705,0,0,0,0,0.025309856,0,0.041317372,0,0.193332635,0.712900432,0,0,0,0,0 -eatout,FALSE,18,4,0,0,0,0.062266496,0,0,0,0.124532992,0,0,0,0.02844882,0.160985,0.623766691,0,0,0,0,0 -eatout,FALSE,19,1,0,0,0,0.035093846,0,0,0,0.002763787,0,0,0.007972126,0,0.006835141,0.182451712,0.76488339,0,0,0,0 -eatout,FALSE,19,2,0,0,0,0,0,0,0,0.009338966,0.0084296,0.012320862,0,0.007858119,0.07102686,0.181093919,0.709931674,0,0,0,0 -eatout,FALSE,19,3,0,0,0.034695617,0,0,0,0,0,0,0,0,0,0,0.325056792,0.640247591,0,0,0,0 -eatout,FALSE,19,4,0,0,0,0.101411526,0,0,0,0,0,0,0,0,0,0.101411526,0.797176947,0,0,0,0 -eatout,FALSE,20,1,0,0,0,0,0.006246293,0,0,0.011507943,0,0,0.013654973,0,0.007223887,0.028421478,0.204476714,0.728468712,0,0,0 -eatout,FALSE,20,2,0,0,0,0,0,0,0,0.029002329,0.008684063,0.040035705,0,0,0.033841105,0.026844626,0.219230553,0.64236162,0,0,0 -eatout,FALSE,20,3,0,0,0,0,0.017457545,0,0,0,0,0,0,0.022170954,0.111461135,0.026492142,0.144444394,0.677973828,0,0,0 -eatout,FALSE,20,4,0,0,0,0,0,0,0,0,0.027884869,0,0,0.019560862,0.053861802,0.185282652,0.14594305,0.567466765,0,0,0 -eatout,FALSE,21,1,0,0,0,0,0,0,0.001992088,0,0,0,0,0,0.004171801,0.008609329,0.045440515,0.297500935,0.642285332,0,0 -eatout,FALSE,21,2,0,0,0,0,0,0,0,0.008825951,0,0,0,0,0,0,0.022560857,0.064662954,0.903950239,0,0 -eatout,FALSE,21,3,0,0,0,0,0,0,0,0,0.01925505,0,0,0,0,0,0.141712181,0.063571817,0.775460952,0,0 -eatout,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.059643388,0.029821694,0.029821694,0.054589294,0.218357176,0,0.338629065,0.269137688,0,0 -eatout,FALSE,22,1,0,0.003832232,0.014433483,0.029367654,0,0,0,0,0,0,0,0,0,0.037886729,0.013545706,0.01688148,0.286440472,0.597612243,0 -eatout,FALSE,22,2,0,0,0,0.058773031,0.007875566,0,0.038790615,0,0,0,0,0,0,0.124436861,0.030453108,0.011388959,0.304645476,0.423636384,0 -eatout,FALSE,22,3,0,0.023843907,0,0,0.012800003,0,0,0,0.063045627,0,0,0,0,0.016739233,0.04949484,0.078783423,0.338585891,0.416707076,0 -eatout,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0.012407461,0.122224371,0.035520139,0.109039785,0,0.076367345,0.347441239,0.296999659,0 -eatout,FALSE,23,1,0,0,0,0,0,0,0,0.012371175,0,0.025704524,0,0.023327151,0,0.007669333,0.042011178,0.019479582,0.006261906,0.163786764,0.699388388 -eatout,FALSE,23,2,0,0,0,0,0,0,0,0,0.033721119,0.101287181,0,0.014308982,0,0,0.023495989,0.043546799,0.169610935,0.119773048,0.494255948 -eatout,FALSE,23,3,0,0,0,0,0,0,0,0,0,0.098543037,0,0,0,0,0,0.027420729,0.019663025,0.062014245,0.792358964 -eatout,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.015339182,0.166441975,0.108428683,0.70979016 -social,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163488477,0.72896704,0.107544483,0,0,0 -social,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,2,0,0.429301212,0.220838883,0,0,0.349859905,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,7,2,0,0,0.238446471,0.18847097,0.451233232,0.061171813,0,0,0,0,0,0.060677514,0,0,0,0,0,0,0 -social,TRUE,7,3,0,0,0.263472951,0,0.345559204,0.045763272,0.194319778,0,0,0,0.076482272,0.074402522,0,0,0,0,0,0,0 -social,TRUE,7,4,0,0,0,0,0.720034483,0,0,0,0,0,0,0,0,0.279965517,0,0,0,0,0 -social,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,8,2,0,0,0,0.254275275,0.460062202,0.285662524,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,8,3,0,0,0,0,0.319310909,0,0.196475338,0,0.334528108,0,0,0.149685645,0,0,0,0,0,0,0 -social,TRUE,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0.654606666,0.345393334,0,0,0,0,0 -social,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,2,0,0,0,0,0.545721423,0.112625256,0.326444169,0.015209152,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,3,0,0,0,0,0.023262324,0.080080665,0.730468634,0.143870653,0.022317724,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,4,0,0,0,0,0,0.026826474,0.852263327,0,0,0,0,0.014490394,0,0,0.053209903,0.053209903,0,0,0 -social,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,10,2,0,0,0,0,0,0.151977255,0.519637411,0.191906468,0.085778382,0.050700484,0,0,0,0,0,0,0,0,0 -social,TRUE,10,3,0,0,0,0,0,0.046500192,0.658940192,0.178956942,0,0.115602674,0,0,0,0,0,0,0,0,0 -social,TRUE,10,4,0,0,0,0,0,0,0.204837475,0.204837475,0.204837475,0,0,0.128495859,0.256991717,0,0,0,0,0,0 -social,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,11,2,0,0,0,0,0,0,0.252313913,0.608752771,0.060673874,0.078259442,0,0,0,0,0,0,0,0,0 -social,TRUE,11,3,0,0,0,0,0,0,0,0.893087119,0,0,0.106912881,0,0,0,0,0,0,0,0 -social,TRUE,11,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,12,2,0,0,0,0,0,0,0,0.01555306,0.804005354,0.113032269,0.042952725,0.024456591,0,0,0,0,0,0,0 -social,TRUE,12,3,0,0,0,0,0,0,0,0,0.762673603,0.196684366,0,0.040642031,0,0,0,0,0,0,0 -social,TRUE,12,4,0,0,0,0,0,0,0,0,0.974582243,0.025417757,0,0,0,0,0,0,0,0,0 -social,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,TRUE,13,2,0,0,0,0,0,0,0,0,0.666277769,0.215739994,0.117982237,0,0,0,0,0,0,0,0 -social,TRUE,13,3,0,0,0,0,0,0,0,0,0.20985109,0.290892068,0,0.499256842,0,0,0,0,0,0,0 -social,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.27976381,0.48015746,0,0.24007873,0,0,0,0,0 -social,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -social,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.474250224,0.479544424,0.046205352,0,0,0,0,0,0,0 -social,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.415915716,0.304081655,0.122383721,0.157618908,0,0,0,0,0 -social,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.149219919,0.262392987,0.163198885,0.364386422,0.060801787,0,0,0,0 -social,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.382256993,0.20034388,0.20034388,0.217055247,0,0,0 -social,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.084972892,0.631896416,0.184989951,0.098140741,0,0,0,0 -social,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.566972184,0,0.433027816,0,0,0 -social,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -social,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.153985008,0.442019825,0.287546211,0.116448956,0,0,0 -social,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805041829,0.194958171,0,0,0,0 -social,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.386035694,0.613964306,0,0,0,0 -social,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -social,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415464544,0.466670617,0.11786484,0,0,0 -social,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480898747,0.519101253,0,0,0 -social,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492816592,0.382668005,0.124515403,0,0 -social,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.296845882,0.703154118,0,0 -social,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.180542587,0.819457413,0,0 -social,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186441429,0.813558571 -social,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,1,0,0.175358533,0.824641467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,1,0,0,0.02236387,0.97763613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,1,0,0,0,0.461831955,0.538168045,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,1,0,0,0,0,0.168748059,0.831251941,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,2,0,0,0,0,0.100405941,0.899594059,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,1,0,0,0,0,0.02167612,0.606898663,0.371425217,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,2,0,0,0,0.025894331,0,0.076173851,0.897931818,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,3,0,0,0,0,0,0.0362574,0.9637426,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,4,0,0,0,0,0,0.666666667,0.333333333,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,1,0,0,0,0,0,0.040943046,0.339881423,0.619175531,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,2,0,0,0,0,0,0.055306785,0,0.944693215,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,3,0,0,0,0,0,0,0.113705951,0.886294049,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,4,0,0,0,0,0,0,0.020620903,0.979379097,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,1,0,0.110729344,0,0,0,0,0.028982164,0.160850288,0.699438204,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,2,0,0,0,0,0,0,0,0.434109617,0.565890383,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,FALSE,14,1,0,0,0,0,0,0,0.012646359,0.049957288,0.064957981,0.872438372,0,0,0,0,0,0,0,0,0 -social,FALSE,14,2,0,0,0,0,0,0,0,0.092000521,0.207125543,0.700873936,0,0,0,0,0,0,0,0,0 -social,FALSE,14,3,0,0,0,0,0,0,0,0,0.123105709,0.876894291,0,0,0,0,0,0,0,0,0 -social,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -social,FALSE,15,1,0,0,0,0,0,0,0,0.025915129,0.021414108,0.301296274,0.651374488,0,0,0,0,0,0,0,0 -social,FALSE,15,2,0,0,0,0,0,0,0,0.038851326,0.060308128,0.040085863,0.860754683,0,0,0,0,0,0,0,0 -social,FALSE,15,3,0,0,0,0,0,0,0,0,0,0.337125075,0.662874925,0,0,0,0,0,0,0,0 -social,FALSE,15,4,0,0,0,0,0,0,0,0,0,0.240804556,0.759195444,0,0,0,0,0,0,0,0 -social,FALSE,16,1,0,0,0,0,0,0,0.010850109,0.028630302,0.034941364,0.027356994,0.399487153,0.498734077,0,0,0,0,0,0,0 -social,FALSE,16,2,0,0,0,0,0,0,0,0.085290601,0.096379465,0.140055991,0.14515731,0.533116633,0,0,0,0,0,0,0 -social,FALSE,16,3,0,0,0,0,0,0,0,0.039789367,0,0,0.207791274,0.752419359,0,0,0,0,0,0,0 -social,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.444162303,0.555837697,0,0,0,0,0,0,0 -social,FALSE,17,1,0,0,0,0,0,0.004235542,0.004235542,0.010773772,0.036037056,0.011244257,0.008654904,0.185030812,0.739788115,0,0,0,0,0,0 -social,FALSE,17,2,0,0,0,0,0,0,0.011747117,0.030318289,0,0.026130418,0.124118238,0.265470463,0.542215475,0,0,0,0,0,0 -social,FALSE,17,3,0,0,0,0,0,0,0,0.035991711,0.05581904,0,0.118744644,0.174641807,0.614802798,0,0,0,0,0,0 -social,FALSE,17,4,0,0,0,0,0,0,0,0,0,0.133377911,0.156860689,0.067276975,0.642484425,0,0,0,0,0,0 -social,FALSE,18,1,0,0,0,0,0,0,0,0,0.021116578,0,0.023935246,0.014708731,0.292437045,0.6478024,0,0,0,0,0 -social,FALSE,18,2,0,0,0,0,0,0,0,0,0.050647706,0.018469336,0.057408229,0.034520986,0.245483705,0.593470039,0,0,0,0,0 -social,FALSE,18,3,0,0,0,0,0,0,0,0,0.215338024,0,0,0.143481023,0.32589869,0.315282263,0,0,0,0,0 -social,FALSE,18,4,0,0,0,0,0,0,0.012374723,0.012374723,0.037124169,0,0.012374723,0.11617789,0.120134128,0.689439644,0,0,0,0,0 -social,FALSE,19,1,0,0,0,0,0,0,0.007898288,0,0,0,0,0,0.121563834,0.284121966,0.586415912,0,0,0,0 -social,FALSE,19,2,0,0,0,0,0,0,0.039741889,0,0,0,0.02465859,0.116870248,0.036063489,0.320456158,0.462209626,0,0,0,0 -social,FALSE,19,3,0,0,0,0,0,0,0,0.054643855,0,0,0,0.060605496,0.025192236,0.702933269,0.156625145,0,0,0,0 -social,FALSE,19,4,0,0,0,0,0,0,0,0,0.175116816,0,0.022349377,0.130418062,0.054376362,0.036216461,0.581522921,0,0,0,0 -social,FALSE,20,1,0,0,0,0,0,0,0,0.006741002,0,0,0.01216091,0,0,0,0.185101107,0.795996982,0,0,0 -social,FALSE,20,2,0,0,0,0,0,0,0,0,0,0.04641167,0,0.083727631,0.098296373,0,0.202274397,0.569289928,0,0,0 -social,FALSE,20,3,0,0,0,0,0,0,0,0,0,0.139066538,0,0,0,0.294532307,0.250878966,0.315522189,0,0,0 -social,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.139014445,0,0,0.258582347,0.602403208,0,0,0 -social,FALSE,21,1,0,0,0,0,0,0,0,0.006536044,0,0,0.004122227,0,0.009592478,0,0.025254876,0.168812361,0.785682015,0,0 -social,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0.009947847,0,0,0.015489709,0.091770901,0.882791543,0,0 -social,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0.035778147,0,0,0.059543199,0.096410036,0.808268618,0,0 -social,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.039227837,0,0,0,0.272007988,0.688764175,0,0 -social,FALSE,22,1,0,0,0,0,0,0,0.008693912,0,0,0.023590293,0,0,0.014992001,0.012884951,0.01979978,0.017778233,0.266462768,0.635798061,0 -social,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.054229245,0.01998552,0,0,0.183589112,0.020695417,0.01231348,0.164392793,0.544794434,0 -social,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0.03472135,0,0,0.015619534,0,0.035954672,0.531548096,0.382156347,0 -social,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0.05888279,0.05888279,0,0.176648369,0.09089481,0.189410385,0.425280856,0 -social,FALSE,23,1,0,0,0,0,0,0,0,0.028390618,0,0,0.004916978,0,0,0,0.014598183,0.07621256,0.027119644,0.125695917,0.7230661 -social,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0.01089797,0,0,0.031808043,0,0.091217964,0.172140515,0.693935509 -social,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052410677,0.231068411,0.716520911 -social,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061760943,0.229019025,0.709220031 -othdiscr,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,5,2,0.261967145,0.409228643,0,0,0,0,0.034160738,0.0288967,0,0.105662564,0,0.028934007,0.099906136,0.031244066,0,0,0,0,0 -othdiscr,TRUE,5,3,0.05651263,0.078010805,0,0,0,0,0,0,0,0,0.105067549,0.353285463,0.190245768,0,0.216877785,0,0,0,0 -othdiscr,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,6,2,0,0.098860067,0.663141032,0.044723228,0.012153718,0.015393409,0,0.016907036,0,0.010826104,0.098262057,0.016422181,0.023311168,0,0,0,0,0,0 -othdiscr,TRUE,6,3,0,0.024215249,0.736578596,0.018671746,0.050466724,0,0.046817344,0.010678175,0.023238019,0,0.032556217,0,0.035620327,0.021157602,0,0,0,0,0 -othdiscr,TRUE,6,4,0,0,0.081847071,0,0.338763551,0,0.240085302,0,0.114633558,0,0.146128192,0,0,0.078542326,0,0,0,0,0 -othdiscr,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,7,2,0,0,0.352097404,0.309242997,0.08178386,0.093069138,0.009864271,0.017742267,0,0.050016669,0.019229555,0.024087308,0.042866531,0,0,0,0,0,0 -othdiscr,TRUE,7,3,0,0,0.212218699,0.104250306,0.22359596,0.028585094,0,0.022759931,0.040936909,0.272511733,0,0,0,0.095141367,0,0,0,0,0 -othdiscr,TRUE,7,4,0,0,0,0.429994902,0.250073782,0.067515708,0.179786534,0,0,0,0,0,0,0,0.072629074,0,0,0,0 -othdiscr,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,8,2,0,0,0,0.27373664,0.651618467,0.038952541,0.006393093,0,0,0.010887769,0.010198326,0,0.008213164,0,0,0,0,0,0 -othdiscr,TRUE,8,3,0,0,0,0.256077087,0.567372083,0.111208754,0.044947659,0,0,0,0,0.020394418,0,0,0,0,0,0,0 -othdiscr,TRUE,8,4,0,0,0,0,0.419368759,0.043993527,0.123598787,0,0,0,0,0.092242747,0.32079618,0,0,0,0,0,0 -othdiscr,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,9,2,0,0,0,0,0.325654332,0.331629325,0.251597773,0.036069214,0,0,0.007507425,0,0.005333887,0,0.042208044,0,0,0,0 -othdiscr,TRUE,9,3,0,0,0,0,0.296114826,0.283133229,0.171133878,0.024057098,0.039684124,0,0.104372804,0,0,0,0.081504041,0,0,0,0 -othdiscr,TRUE,9,4,0,0,0,0,0,0.026872303,0.087815216,0.185433391,0.459158688,0.037962963,0.202757439,0,0,0,0,0,0,0,0 -othdiscr,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,10,2,0,0,0,0,0,0.284975884,0.535943751,0.094599159,0.060212546,0,0,0,0.014932613,0,0.009336047,0,0,0,0 -othdiscr,TRUE,10,3,0,0,0,0,0,0.03549155,0.582807345,0.127174633,0.224739775,0,0,0,0,0.029786697,0,0,0,0,0 -othdiscr,TRUE,10,4,0,0,0,0,0,0,0.354929378,0.145446894,0.499623728,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,11,2,0,0,0,0,0,0,0.373878462,0.422332476,0.042754045,0.138634672,0.012364309,0.010036036,0,0,0,0,0,0,0 -othdiscr,TRUE,11,3,0,0,0,0,0,0,0.120480473,0.332302699,0.091421072,0.287256805,0.161854878,0.006684074,0,0,0,0,0,0,0 -othdiscr,TRUE,11,4,0,0,0,0,0,0,0.227930951,0,0.335102136,0.044198628,0.207476437,0,0.185291847,0,0,0,0,0,0 -othdiscr,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,12,2,0,0,0,0,0,0,0,0.383615621,0.305559088,0.131113594,0.103542737,0.07616896,0,0,0,0,0,0,0 -othdiscr,TRUE,12,3,0,0,0,0,0,0,0,0.128632011,0.247877929,0.37071038,0.084899625,0.167880054,0,0,0,0,0,0,0 -othdiscr,TRUE,12,4,0,0,0,0,0,0,0,0,0.205547015,0.162425226,0.239993719,0,0.392034039,0,0,0,0,0,0 -othdiscr,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,13,2,0,0,0,0,0,0,0,0,0.353861476,0.371100297,0.168208236,0.052680009,0.054149982,0,0,0,0,0,0 -othdiscr,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.679754381,0.320245619,0,0,0,0,0,0,0,0 -othdiscr,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.043643993,0.545880167,0.094829055,0.241931264,0,0.073715521,0,0,0,0 -othdiscr,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.288892103,0.603164379,0.048532082,0.059411436,0,0,0,0,0,0 -othdiscr,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.021579093,0.46445134,0.316987948,0.142583522,0.054398096,0,0,0,0,0 -othdiscr,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.09464155,0.567572891,0.33778556,0,0,0,0,0,0,0 -othdiscr,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.373801479,0.542977323,0.070343764,0.01078053,0.002096902,0,0,0,0 -othdiscr,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.122689199,0.717331575,0.030530698,0.123760049,0.005688479,0,0,0,0 -othdiscr,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.635796163,0,0,0.364203837,0,0,0,0 -othdiscr,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.712603233,0.193798154,0.048982419,0.039696774,0.00491942,0,0,0 -othdiscr,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.841745433,0.101833145,0.027409468,0,0.029011955,0,0,0 -othdiscr,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.17218743,0.195323109,0.429118156,0,0.203371304,0,0 -othdiscr,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.185120326,0.587302234,0.220258146,0,0.007319293,0,0 -othdiscr,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.183125342,0.285960671,0.48842584,0.013192652,0.029295494,0,0 -othdiscr,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102125632,0.746583804,0.151290564,0,0,0 -othdiscr,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542729526,0.35986304,0.097407435,0,0,0 -othdiscr,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480620595,0.242765324,0.062025461,0.187335855,0.027252764,0 -othdiscr,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098853758,0.563447888,0.242412271,0,0.095286083,0 -othdiscr,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.341735737,0.560576797,0.050581281,0.047106185,0 -othdiscr,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213928771,0.439416592,0,0.346654637,0 -othdiscr,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849356959,0.101132981,0.025617338,0.023892721 -othdiscr,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/workplace_location.csv b/activitysim/examples/example_psrc/configs/workplace_location.csv deleted file mode 100755 index ea56a39c9f..0000000000 --- a/activitysim/examples/example_psrc/configs/workplace_location.csv +++ /dev/null @@ -1,14 +0,0 @@ -Label,Description,Expression,coefficient -local_dist,,_DIST@skims['DIST'],1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up -util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high -util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 -util_no_attractions,No attractions,@df['size_term']==0,-999 -util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum -util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1 \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/workplace_location.yaml b/activitysim/examples/example_psrc/configs/workplace_location.yaml deleted file mode 100755 index 0f2073520c..0000000000 --- a/activitysim/examples/example_psrc/configs/workplace_location.yaml +++ /dev/null @@ -1,73 +0,0 @@ -SAMPLE_SIZE: 30 - -SIMULATE_CHOOSER_COLUMNS: - - income_segment - - home_zone_id - -SAMPLE_SPEC: workplace_location_sample.csv -SPEC: workplace_location.csv -COEFFICIENTS: workplace_location_coeffs.csv - -LOGSUM_SETTINGS: tour_mode_choice.yaml -LOGSUM_PREPROCESSOR: nontour_preprocessor -LOGSUM_TOUR_PURPOSE: work - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: home_zone_id -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 17 -OUT_PERIOD: 8 - -DEST_CHOICE_COLUMN_NAME: workplace_zone_id -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table -DEST_CHOICE_LOGSUM_COLUMN_NAME: workplace_location_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: workplace_location_sample - - -annotate_persons: - SPEC: annotate_persons_workplace - DF: persons - TABLES: - - land_use - -annotate_households: - SPEC: annotate_households_workplace - DF: households - TABLES: - - persons - -# - shadow pricing - - -# income_segment is in households, but we want to count persons -CHOOSER_TABLE_NAME: persons_merged - -# size_terms model_selector -MODEL_SELECTOR: workplace - -# we can't use use household income_segment as this will also be set for non-workers -CHOOSER_SEGMENT_COLUMN_NAME: income_segment - -# boolean column to filter choosers (True means keep) -CHOOSER_FILTER_COLUMN_NAME: is_worker - -# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this -# FIXME - these are not needed for this model and should be re/factored out -SEGMENT_IDS: - work_low: 1 - work_med: 2 - work_high: 3 - work_veryhigh: 4 - -CONSTANTS: - WORK_HIGH_SEGMENT_ID: 3 - - -# model adds these tables (informational - not added if commented out) -SHADOW_PRICE_TABLE: workplace_shadow_prices -MODELED_SIZE_TABLE: workplace_modeled_size - -# not loaded if commented out -SAVED_SHADOW_PRICE_TABLE_NAME: workplace_shadow_prices.csv diff --git a/activitysim/examples/example_psrc/configs/workplace_location_coeffs.csv b/activitysim/examples/example_psrc/configs/workplace_location_coeffs.csv deleted file mode 100755 index 709b0b4102..0000000000 --- a/activitysim/examples/example_psrc/configs/workplace_location_coeffs.csv +++ /dev/null @@ -1,9 +0,0 @@ -coefficient_name,value,constrain -coef_dist_0_1,-0.8428,F -coef_dist_1_2,-0.3104,F -coef_dist_2_5,-0.3783,F -coef_dist_5_15,-0.1285,F -coef_dist_15_up,-0.0917,F -coef_dist_0_5_high,0.15,F -coef_dist_5_up_high,0.02,F -coef_mode_logsum,0.3,F diff --git a/activitysim/examples/example_psrc/configs/workplace_location_sample.csv b/activitysim/examples/example_psrc/configs/workplace_location_sample.csv deleted file mode 100755 index e97161217d..0000000000 --- a/activitysim/examples/example_psrc/configs/workplace_location_sample.csv +++ /dev/null @@ -1,12 +0,0 @@ -Label,Description,Expression,coefficient -local_dist,,_DIST@skims['DIST'],1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up -util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high -util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 -util_no_attractions,No attractions,@df['size_term']==0,-999 \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/write_trip_matrices.yaml b/activitysim/examples/example_psrc/configs/write_trip_matrices.yaml deleted file mode 100755 index 6059d750e9..0000000000 --- a/activitysim/examples/example_psrc/configs/write_trip_matrices.yaml +++ /dev/null @@ -1,274 +0,0 @@ -# read trips table post preprocessor and run expressions to code -# additional data fields, with one data fields for each matrix specified below - -preprocessor: - SPEC: write_trip_matrices_annotate_trips_preprocessor - DF: trips - TABLES: - - tours - -# divide trip counts by household expansion factor -HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in - -# save preprocessed trips table to pipeline if desired -SAVE_TRIPS_TABLE: False - -MATRICES: - - file_name: trips_ea.omx - tables: - - name: DRIVEALONEFREE_EA - data_field: DRIVEALONEFREE_EA - - name: DRIVEALONEPAY_EA - data_field: DRIVEALONEPAY_EA - - name: SHARED2FREE_EA - data_field: SHARED2FREE_EA - - name: SHARED2PAY_EA - data_field: SHARED2PAY_EA - - name: SHARED3FREE_EA - data_field: SHARED3FREE_EA - - name: SHARED3PAY_EA - data_field: SHARED3PAY_EA - - name: WALK_EA - data_field: WALK_EA - - name: BIKE_EA - data_field: BIKE_EA - - name: WALK_LOC_WALK_EA - data_field: WALK_LOC_WALK_EA - - name: WALK_LRF_WALK_EA - data_field: WALK_LRF_WALK_EA - - name: WALK_EXP_WALK_EA - data_field: WALK_EXP_WALK_EA - - name: WALK_HVY_WALK_EA - data_field: WALK_HVY_WALK_EA - - name: WALK_COM_WALK_EA - data_field: WALK_COM_WALK_EA - - name: DRIVE_LOC_WALK_EA - data_field: DRIVE_LOC_WALK_EA - - name: DRIVE_LRF_WALK_EA - data_field: DRIVE_LRF_WALK_EA - - name: DRIVE_EXP_WALK_EA - data_field: DRIVE_EXP_WALK_EA - - name: DRIVE_HVY_WALK_EA - data_field: DRIVE_HVY_WALK_EA - - name: DRIVE_COM_WALK_EA - data_field: DRIVE_COM_WALK_EA - - name: WALK_LOC_DRIVE_EA - data_field: WALK_LOC_DRIVE_EA - - name: WALK_LRF_DRIVE_EA - data_field: WALK_LRF_DRIVE_EA - - name: WALK_EXP_DRIVE_EA - data_field: WALK_EXP_DRIVE_EA - - name: WALK_DRIVE_HVY_EA - data_field: WALK_DRIVE_HVY_EA - - name: WALK_COM_DRIVE_EA - data_field: WALK_COM_DRIVE_EA - - file_name: trips_am.omx - tables: - - name: DRIVEALONEFREE_AM - data_field: DRIVEALONEFREE_AM - - name: DRIVEALONEPAY_AM - data_field: DRIVEALONEPAY_AM - - name: SHARED2FREE_AM - data_field: SHARED2FREE_AM - - name: SHARED2PAY_AM - data_field: SHARED2PAY_AM - - name: SHARED3FREE_AM - data_field: SHARED3FREE_AM - - name: SHARED3PAY_AM - data_field: SHARED3PAY_AM - - name: WALK_AM - data_field: WALK_AM - - name: BIKE_AM - data_field: BIKE_AM - - name: WALK_LOC_WALK_AM - data_field: WALK_LOC_WALK_AM - - name: WALK_LRF_WALK_AM - data_field: WALK_LRF_WALK_AM - - name: WALK_EXP_WALK_AM - data_field: WALK_EXP_WALK_AM - - name: WALK_HVY_WALK_AM - data_field: WALK_HVY_WALK_AM - - name: WALK_COM_WALK_AM - data_field: WALK_COM_WALK_AM - - name: DRIVE_LOC_WALK_AM - data_field: DRIVE_LOC_WALK_AM - - name: DRIVE_LRF_WALK_AM - data_field: DRIVE_LRF_WALK_AM - - name: DRIVE_EXP_WALK_AM - data_field: DRIVE_EXP_WALK_AM - - name: DRIVE_HVY_WALK_AM - data_field: DRIVE_HVY_WALK_AM - - name: DRIVE_COM_WALK_AM - data_field: DRIVE_COM_WALK_AM - - name: WALK_LOC_DRIVE_AM - data_field: WALK_LOC_DRIVE_AM - - name: WALK_LRF_DRIVE_AM - data_field: WALK_LRF_DRIVE_AM - - name: WALK_EXP_DRIVE_AM - data_field: WALK_EXP_DRIVE_AM - - name: WALK_DRIVE_HVY_AM - data_field: WALK_DRIVE_HVY_AM - - name: WALK_COM_DRIVE_AM - data_field: WALK_COM_DRIVE_AM - - file_name: trips_md.omx - tables: - - name: DRIVEALONEFREE_MD - data_field: DRIVEALONEFREE_MD - - name: DRIVEALONEPAY_MD - data_field: DRIVEALONEPAY_MD - - name: SHARED2FREE_MD - data_field: SHARED2FREE_MD - - name: SHARED2PAY_MD - data_field: SHARED2PAY_MD - - name: SHARED3FREE_MD - data_field: SHARED3FREE_MD - - name: SHARED3PAY_MD - data_field: SHARED3PAY_MD - - name: WALK_MD - data_field: WALK_MD - - name: BIKE_MD - data_field: BIKE_MD - - name: WALK_LOC_WALK_MD - data_field: WALK_LOC_WALK_MD - - name: WALK_LRF_WALK_MD - data_field: WALK_LRF_WALK_MD - - name: WALK_EXP_WALK_MD - data_field: WALK_EXP_WALK_MD - - name: WALK_HVY_WALK_MD - data_field: WALK_HVY_WALK_MD - - name: WALK_COM_WALK_MD - data_field: WALK_COM_WALK_MD - - name: DRIVE_LOC_WALK_MD - data_field: DRIVE_LOC_WALK_MD - - name: DRIVE_LRF_WALK_MD - data_field: DRIVE_LRF_WALK_MD - - name: DRIVE_EXP_WALK_MD - data_field: DRIVE_EXP_WALK_MD - - name: DRIVE_HVY_WALK_MD - data_field: DRIVE_HVY_WALK_MD - - name: DRIVE_COM_WALK_MD - data_field: DRIVE_COM_WALK_MD - - name: WALK_LOC_DRIVE_MD - data_field: WALK_LOC_DRIVE_MD - - name: WALK_LRF_DRIVE_MD - data_field: WALK_LRF_DRIVE_MD - - name: WALK_EXP_DRIVE_MD - data_field: WALK_EXP_DRIVE_MD - - name: WALK_DRIVE_HVY_MD - data_field: WALK_DRIVE_HVY_MD - - name: WALK_COM_DRIVE_MD - data_field: WALK_COM_DRIVE_MD - - file_name: trips_pm.omx - tables: - - name: DRIVEALONEFREE_PM - data_field: DRIVEALONEFREE_PM - - name: DRIVEALONEPAY_PM - data_field: DRIVEALONEPAY_PM - - name: SHARED2FREE_PM - data_field: SHARED2FREE_PM - - name: SHARED2PAY_PM - data_field: SHARED2PAY_PM - - name: SHARED3FREE_PM - data_field: SHARED3FREE_PM - - name: SHARED3PAY_PM - data_field: SHARED3PAY_PM - - name: WALK_PM - data_field: WALK_PM - - name: BIKE_PM - data_field: BIKE_PM - - name: WALK_LOC_WALK_PM - data_field: WALK_LOC_WALK_PM - - name: WALK_LRF_WALK_PM - data_field: WALK_LRF_WALK_PM - - name: WALK_EXP_WALK_PM - data_field: WALK_EXP_WALK_PM - - name: WALK_HVY_WALK_PM - data_field: WALK_HVY_WALK_PM - - name: WALK_COM_WALK_PM - data_field: WALK_COM_WALK_PM - - name: DRIVE_LOC_WALK_PM - data_field: DRIVE_LOC_WALK_PM - - name: DRIVE_LRF_WALK_PM - data_field: DRIVE_LRF_WALK_PM - - name: DRIVE_EXP_WALK_PM - data_field: DRIVE_EXP_WALK_PM - - name: DRIVE_HVY_WALK_PM - data_field: DRIVE_HVY_WALK_PM - - name: DRIVE_COM_WALK_PM - data_field: DRIVE_COM_WALK_PM - - name: WALK_LOC_DRIVE_PM - data_field: WALK_LOC_DRIVE_PM - - name: WALK_LRF_DRIVE_PM - data_field: WALK_LRF_DRIVE_PM - - name: WALK_EXP_DRIVE_PM - data_field: WALK_EXP_DRIVE_PM - - name: WALK_DRIVE_HVY_PM - data_field: WALK_DRIVE_HVY_PM - - name: WALK_COM_DRIVE_PM - data_field: WALK_COM_DRIVE_PM - - file_name: trips_ev.omx - tables: - - name: DRIVEALONEFREE_EV - data_field: DRIVEALONEFREE_EV - - name: DRIVEALONEPAY_EV - data_field: DRIVEALONEPAY_EV - - name: SHARED2FREE_EV - data_field: SHARED2FREE_EV - - name: SHARED2PAY_EV - data_field: SHARED2PAY_EV - - name: SHARED3FREE_EV - data_field: SHARED3FREE_EV - - name: SHARED3PAY_EV - data_field: SHARED3PAY_EV - - name: WALK_EV - data_field: WALK_EV - - name: BIKE_EV - data_field: BIKE_EV - - name: WALK_LOC_WALK_EV - data_field: WALK_LOC_WALK_EV - - name: WALK_LRF_WALK_EV - data_field: WALK_LRF_WALK_EV - - name: WALK_EXP_WALK_EV - data_field: WALK_EXP_WALK_EV - - name: WALK_HVY_WALK_EV - data_field: WALK_HVY_WALK_EV - - name: WALK_COM_WALK_EV - data_field: WALK_COM_WALK_EV - - name: DRIVE_LOC_WALK_EV - data_field: DRIVE_LOC_WALK_EV - - name: DRIVE_LRF_WALK_EV - data_field: DRIVE_LRF_WALK_EV - - name: DRIVE_EXP_WALK_EV - data_field: DRIVE_EXP_WALK_EV - - name: DRIVE_HVY_WALK_EV - data_field: DRIVE_HVY_WALK_EV - - name: DRIVE_COM_WALK_EV - data_field: DRIVE_COM_WALK_EV - - name: WALK_LOC_DRIVE_EV - data_field: WALK_LOC_DRIVE_EV - - name: WALK_LRF_DRIVE_EV - data_field: WALK_LRF_DRIVE_EV - - name: WALK_EXP_DRIVE_EV - data_field: WALK_EXP_DRIVE_EV - - name: WALK_DRIVE_HVY_EV - data_field: WALK_DRIVE_HVY_EV - - name: WALK_COM_DRIVE_EV - data_field: WALK_COM_DRIVE_EV - -CONSTANTS: - time_periods: - EA: - first_hour: 3 - last_hour: 5 - AM: - first_hour: 6 - last_hour: 9 - MD: - first_hour: 10 - last_hour: 14 - PM: - first_hour: 15 - last_hour: 18 - EV: - first_hour: 19 - last_hour: 2 diff --git a/activitysim/examples/example_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/example_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv deleted file mode 100755 index 8f3e386e60..0000000000 --- a/activitysim/examples/example_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv +++ /dev/null @@ -1,130 +0,0 @@ -Description,Target,Expression -# add additional fields,, -,tour_participants,trips.tour_id.map(tours.number_of_participants) -,distance,od_skims['DIST'] -# code time periods,, -,is_ea,"trips.depart.between(time_periods['EA']['first_hour'], time_periods['EA']['last_hour'])" -,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" -,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" -,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" -,is_ev,(trips.depart >= time_periods['EV']['first_hour']) | (trips.depart <= time_periods['EV']['last_hour']) -# ea trips,, -,DRIVEALONEFREE_EA,((trips.trip_mode == 'DRIVEALONEFREE') & is_ea) * tour_participants -,DRIVEALONEPAY_EA,((trips.trip_mode == 'DRIVEALONEPAY') & is_ea) * tour_participants -,SHARED2FREE_EA,((trips.trip_mode == 'SHARED2FREE') & is_ea) * tour_participants -,SHARED2PAY_EA,((trips.trip_mode == 'SHARED2PAY') & is_ea) * tour_participants -,SHARED3FREE_EA,((trips.trip_mode == 'SHARED3FREE') & is_ea) * tour_participants -,SHARED3PAY_EA,((trips.trip_mode == 'SHARED3PAY') & is_ea) * tour_participants -,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants -,BIKE_EA,((trips.trip_mode == 'BIKE') & is_ea) * tour_participants -,WALK_LOC_WALK_EA,((trips.trip_mode == 'WALK_LOC') & is_ea) * tour_participants -,WALK_LRF_WALK_EA,((trips.trip_mode == 'WALK_LRF') & is_ea) * tour_participants -,WALK_EXP_WALK_EA,((trips.trip_mode == 'WALK_EXP') & is_ea) * tour_participants -,WALK_HVY_WALK_EA,((trips.trip_mode == 'WALK_HVY') & is_ea) * tour_participants -,WALK_COM_WALK_EA,((trips.trip_mode == 'WALK_COM') & is_ea) * tour_participants -,DRIVE_LOC_WALK_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & trips.outbound) * tour_participants -,DRIVE_COM_WALK_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & ~trips.outbound) * tour_participants -# am trips,, -,DRIVEALONEFREE_AM,((trips.trip_mode == 'DRIVEALONEFREE') & is_am) * tour_participants -,DRIVEALONEPAY_AM,((trips.trip_mode == 'DRIVEALONEPAY') & is_am) * tour_participants -,SHARED2FREE_AM,((trips.trip_mode == 'SHARED2FREE') & is_am) * tour_participants -,SHARED2PAY_AM,((trips.trip_mode == 'SHARED2PAY') & is_am) * tour_participants -,SHARED3FREE_AM,((trips.trip_mode == 'SHARED3FREE') & is_am) * tour_participants -,SHARED3PAY_AM,((trips.trip_mode == 'SHARED3PAY') & is_am) * tour_participants -,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants -,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants -,WALK_LOC_WALK_AM,((trips.trip_mode == 'WALK_LOC') & is_am) * tour_participants -,WALK_LRF_WALK_AM,((trips.trip_mode == 'WALK_LRF') & is_am) * tour_participants -,WALK_EXP_WALK_AM,((trips.trip_mode == 'WALK_EXP') & is_am) * tour_participants -,WALK_HVY_WALK_AM,((trips.trip_mode == 'WALK_HVY') & is_am) * tour_participants -,WALK_COM_WALK_AM,((trips.trip_mode == 'WALK_COM') & is_am) * tour_participants -,DRIVE_LOC_WALK_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & trips.outbound) * tour_participants -,DRIVE_COM_WALK_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & ~trips.outbound) * tour_participants -# md trips,, -,DRIVEALONEFREE_MD,((trips.trip_mode == 'DRIVEALONEFREE') & is_md) * tour_participants -,DRIVEALONEPAY_MD,((trips.trip_mode == 'DRIVEALONEPAY') & is_md) * tour_participants -,SHARED2FREE_MD,((trips.trip_mode == 'SHARED2FREE') & is_md) * tour_participants -,SHARED2PAY_MD,((trips.trip_mode == 'SHARED2PAY') & is_md) * tour_participants -,SHARED3FREE_MD,((trips.trip_mode == 'SHARED3FREE') & is_md) * tour_participants -,SHARED3PAY_MD,((trips.trip_mode == 'SHARED3PAY') & is_md) * tour_participants -,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants -,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants -,WALK_LOC_WALK_MD,((trips.trip_mode == 'WALK_LOC') & is_md) * tour_participants -,WALK_LRF_WALK_MD,((trips.trip_mode == 'WALK_LRF') & is_md) * tour_participants -,WALK_EXP_WALK_MD,((trips.trip_mode == 'WALK_EXP') & is_md) * tour_participants -,WALK_HVY_WALK_MD,((trips.trip_mode == 'WALK_HVY') & is_md) * tour_participants -,WALK_COM_WALK_MD,((trips.trip_mode == 'WALK_COM') & is_md) * tour_participants -,DRIVE_LOC_WALK_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & trips.outbound) * tour_participants -,DRIVE_COM_WALK_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & ~trips.outbound) * tour_participants -# pm trips,, -,DRIVEALONEFREE_PM,((trips.trip_mode == 'DRIVEALONEFREE') & is_pm) * tour_participants -,DRIVEALONEPAY_PM,((trips.trip_mode == 'DRIVEALONEPAY') & is_pm) * tour_participants -,SHARED2FREE_PM,((trips.trip_mode == 'SHARED2FREE') & is_pm) * tour_participants -,SHARED2PAY_PM,((trips.trip_mode == 'SHARED2PAY') & is_pm) * tour_participants -,SHARED3FREE_PM,((trips.trip_mode == 'SHARED3FREE') & is_pm) * tour_participants -,SHARED3PAY_PM,((trips.trip_mode == 'SHARED3PAY') & is_pm) * tour_participants -,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants -,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants -,WALK_LOC_WALK_PM,((trips.trip_mode == 'WALK_LOC') & is_pm) * tour_participants -,WALK_LRF_WALK_PM,((trips.trip_mode == 'WALK_LRF') & is_pm) * tour_participants -,WALK_EXP_WALK_PM,((trips.trip_mode == 'WALK_EXP') & is_pm) * tour_participants -,WALK_HVY_WALK_PM,((trips.trip_mode == 'WALK_HVY') & is_pm) * tour_participants -,WALK_COM_WALK_PM,((trips.trip_mode == 'WALK_COM') & is_pm) * tour_participants -,DRIVE_LOC_WALK_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & trips.outbound) * tour_participants -,DRIVE_COM_WALK_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & ~trips.outbound) * tour_participants -# ev trips,, -,DRIVEALONEFREE_EV,((trips.trip_mode == 'DRIVEALONEFREE') & is_ev) * tour_participants -,DRIVEALONEPAY_EV,((trips.trip_mode == 'DRIVEALONEPAY') & is_ev) * tour_participants -,SHARED2FREE_EV,((trips.trip_mode == 'SHARED2FREE') & is_ev) * tour_participants -,SHARED2PAY_EV,((trips.trip_mode == 'SHARED2PAY') & is_ev) * tour_participants -,SHARED3FREE_EV,((trips.trip_mode == 'SHARED3FREE') & is_ev) * tour_participants -,SHARED3PAY_EV,((trips.trip_mode == 'SHARED3PAY') & is_ev) * tour_participants -,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants -,BIKE_EV,((trips.trip_mode == 'BIKE') & is_ev) * tour_participants -,WALK_LOC_WALK_EV,((trips.trip_mode == 'WALK_LOC') & is_ev) * tour_participants -,WALK_LRF_WALK_EV,((trips.trip_mode == 'WALK_LRF') & is_ev) * tour_participants -,WALK_EXP_WALK_EV,((trips.trip_mode == 'WALK_EXP') & is_ev) * tour_participants -,WALK_HVY_WALK_EV,((trips.trip_mode == 'WALK_HVY') & is_ev) * tour_participants -,WALK_COM_WALK_EV,((trips.trip_mode == 'WALK_COM') & is_ev) * tour_participants -,DRIVE_LOC_WALK_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & trips.outbound) * tour_participants -,DRIVE_COM_WALK_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & ~trips.outbound) * tour_participants diff --git a/activitysim/examples/example_psrc/configs_accessibility/settings.yaml b/activitysim/examples/example_psrc/configs_accessibility/settings.yaml deleted file mode 100755 index 68b0fb5a66..0000000000 --- a/activitysim/examples/example_psrc/configs_accessibility/settings.yaml +++ /dev/null @@ -1,42 +0,0 @@ -inherit_settings: True - -# number of households to simulate -households_sample_size: 10 -# simulate all households -# households_sample_size: 0 - -chunk_size: 0 - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False - -# global switch to turn on or off presampling of destination alternatives at TAZ level (multizone models only) -#want_dest_choice_presampling: True - -# - tracing -# trace household id; comment out or leave empty for no trace -trace_hh_id: 594396 - -# trace origin, destination in accessibility calculation; comment out or leave empty for no trace -# trace_od: [5, 11] -trace_od: - -# to resume after last successful checkpoint, specify resume_after: _ -#resume_after: tour_mode_choice_simulate -#resume_after: - -output_tables: - h5_store: False - action: include - prefix: final_ - tables: - - accessibility - diff --git a/activitysim/examples/example_psrc/scripts/integrity.py b/activitysim/examples/example_psrc/scripts/integrity.py deleted file mode 100644 index ae2c5fbb0f..0000000000 --- a/activitysim/examples/example_psrc/scripts/integrity.py +++ /dev/null @@ -1,201 +0,0 @@ -import os -import pandas as pd -import openmatrix as omx -import numpy as np - -import argparse - - -parser = argparse.ArgumentParser(description='check activitysim raw_data') -parser.add_argument('raw_data_directory', metavar='raw_data_directory', type=str, nargs=1, - help=f"path to raw data directory") - -parser.add_argument('-o', '--output', - type=str, - metavar='PATH', - help='path to output dir') - -args = parser.parse_args() - - -input_dir = args.raw_data_directory[0] -output_dir = args.output - -print(f"input_dir {input_dir}") -print(f"output_dir {output_dir}") - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def integerize_id_columns(df, table_name): - columns = ['MAZ', 'OMAZ', 'DMAZ', 'TAZ', 'zone_id', 'household_id', 'HHID'] - for c in df.columns: - if c in columns: - bad = ~(df[c] == df[c].astype(int)) - if bad.any(): - print(f"\n### OOPS ### table {table_name} bad integer column {c}\n") - df[c] = df[c].astype(int) - - -def read_csv(file_name, integerize=True): - df = pd.read_csv(input_path(file_name)) - - print(f"read {file_name} {df.shape}") - - return df - - -def to_csv(df, file_name): - print(f"writing {file_name} {df.shape} {output_path(file_name)}") - df.to_csv(output_path(file_name), index=False) - - -def report_baddies(df, tag, fatal=False): - - if len(df) > 0: - print(f"\n### OOPS ### {len(df)} {tag}\n") - - # print(f"\n{df}\n") - - if output_dir: - file_name = f"{tag}.csv" - print(f"writing {tag} {df.shape} to {output_path(file_name)}") - df.to_csv(output_path(file_name), index=False) - - if fatal: - raise RuntimeError(tag) - else: - print(f"{len(df)} {tag}") - - -print(f"input_dir {input_dir} output_dir {output_dir}") - -if output_dir and not os.path.isdir(output_dir): - print(f"creating output directory {output_dir}") - os.mkdir(output_dir) - - -land_use = read_csv("land_use.csv") - -# ### check maz.csv against land_use - -land_use = land_use.sort_values('MAZ') -maz = read_csv("maz.csv").sort_values('MAZ') - -# fatal -missing = land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)] -report_baddies(missing, 'land_use_MAZ_not_in_maz_MAZ', fatal=True) - -missing = maz.MAZ[~maz.MAZ.isin(land_use.MAZ)] -report_baddies(missing, 'maz_MAZ_not_in_land_use_MAZ') - -# fatal -missing = land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)] -report_baddies(missing, 'land_use_TAZ_not_in_maz_TAZ', fatal=True) - -missing = maz.TAZ[~maz.TAZ.isin(land_use.TAZ)] -report_baddies(missing, 'maz_TAZ_not_in_land_use_TAZ') - -# ### check taz.csv against land_use - -land_use = land_use.sort_values('TAZ') -taz = read_csv("taz.csv").sort_values('TAZ') - -if output_dir: - taz.to_csv(output_path('taz.csv'), index=False) - -# fatal -missing = land_use.TAZ[~land_use.TAZ.isin(taz.TAZ)] -report_baddies(missing, 'land_use_TAZ_not_in_taz_TAZ', fatal=True) - -missing = taz.TAZ[~taz.TAZ.isin(land_use.TAZ)] -report_baddies(missing, 'taz_TAZ_not_in_land_use_TAZ') - -# #########s - -# -# maz -# -maz = read_csv("maz.csv").sort_values(['MAZ', 'TAZ']) -maz = maz[maz["MAZ"].isin(land_use.MAZ)] -integerize_id_columns(maz, 'maz') - -assert (land_use.MAZ.isin(maz.MAZ).all()) -assert (land_use.TAZ.isin(maz.TAZ).all()) -assert (maz.TAZ.isin(land_use.TAZ).all()) - -# -# taz -# -taz = read_csv("taz.csv").sort_values(['TAZ']) -taz = taz[taz["TAZ"].isin(land_use.TAZ)] -integerize_id_columns(taz, 'taz') - -assert (land_use.TAZ.isin(taz.TAZ).all()) - -# print(maz.shape) -# print(f"MAZ {len(maz.MAZ.unique())}") -# print(f"TAZ {len(maz.TAZ.unique())}") - -# -# households -# -households = read_csv("households.csv") -missing = households[~households["MAZ"].isin(maz.MAZ)] -report_baddies(missing, 'household_MAZ_not_in_maz_MAZ') - -integerize_id_columns(households, 'households') - -# -# persons -# -persons = read_csv("persons.csv") -orphans = persons[~persons["household_id"].isin(households.HHID)] -report_baddies(orphans, 'persons_not_in_households') - -households = households[households["MAZ"].isin(maz.MAZ)] -orphans = persons[~persons["household_id"].isin(households.HHID)] -report_baddies(orphans, 'persons_not_in_households_in_maz_MAZ') - -integerize_id_columns(persons, 'persons') - -# -# maz_to_maz_walk and maz_to_maz_bike -# - -m2m = read_csv("maz_to_maz_walk.csv") -missing = m2m[~(m2m.OMAZ.isin(maz.MAZ) & m2m.DMAZ.isin(maz.MAZ))] -report_baddies(missing, 'maz_to_maz_walk_OMAZ_or_DMAZ_not_in_maz_MAZ') -integerize_id_columns(m2m, "maz_to_maz_walk") - -m2m = read_csv("maz_to_maz_bike.csv") -missing = m2m[~(m2m.OMAZ.isin(maz.MAZ) & m2m.DMAZ.isin(maz.MAZ))] -report_baddies(missing, 'maz_to_maz_bike_OMAZ_or_DMAZ_not_in_maz_MAZ') -integerize_id_columns(m2m, "maz_to_maz_bike") - - -# -# skims -# -omx_infile_name = 'skims.omx' -skim_data_type = np.float32 - -omx_in = omx.open_file(input_path(omx_infile_name), 'r') -print(f"omx_in shape {omx_in.shape()}") - -print(f"{len(omx_in.listMappings())} mappings in skims") - -for m in omx_in.listMappings(): - print(f"found mapping '{m}' in skims") -assert len(omx_in.listMappings()) == 0 - - -# assert omx_in.shape() == (len(taz), len(taz)) - -omx_in.close() diff --git a/activitysim/examples/example_psrc/scripts/psrc_crop.py b/activitysim/examples/example_psrc/scripts/psrc_crop.py deleted file mode 100644 index 50850fa3da..0000000000 --- a/activitysim/examples/example_psrc/scripts/psrc_crop.py +++ /dev/null @@ -1,256 +0,0 @@ -import os -import pandas as pd -import openmatrix as omx -import numpy as np - -import argparse - -MAZ_OFFSET = 0 - -segments = { - 'test': (331, 358), # north part of peninsul a including university (no HSENROLL but nice MAZ-TAZ distrib) - 'downtown': (339, 630), # downtown seattle tazs (339 instead of 400 because need university) - 'seattle': (0, 857), # seattle tazs - 'full': (0, 100000), -} - -parser = argparse.ArgumentParser(description='crop PSRC raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file') - -args = parser.parse_args() - - -segment_name = args.segment_name[0] -check_geography = args.check_geography - -assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" -taz_min, taz_max = segments[segment_name] - -input_dir = './data_raw' -output_dir = f'./data_{segment_name}' - - -print(f"segment_name {segment_name}") - -print(f"input_dir {input_dir}") -print(f"output_dir {output_dir}") -print(f"taz_min {taz_min}") -print(f"taz_max {taz_max}") - -print(f"check_geography {check_geography}") - -if not os.path.isdir(output_dir): - print(f"creating output directory {output_dir}") - os.mkdir(output_dir) - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def integerize_id_columns(df, table_name): - columns = ['MAZ', 'OMAZ', 'DMAZ', 'TAZ', 'zone_id', 'household_id', 'HHID'] - for c in df.columns: - if c in columns: - print(f"converting {table_name}.{c} to int") - if df[c].isnull().any(): - print(df[c][df[c].isnull()]) - df[c] = df[c].astype(int) - - -def read_csv(file_name, integerize=True): - df = pd.read_csv(input_path(file_name)) - - print(f"read {file_name} {df.shape}") - - return df - - -def to_csv(df, file_name): - print(f"writing {file_name} {df.shape} {output_path(file_name)}") - df.to_csv(output_path(file_name), index=False) - - -print(f"output_dir {output_dir} taz_min {taz_min} taz_max {taz_max}") - - -if check_geography: - - # ######## check for orphan_households not in any maz in land_use - land_use = read_csv("land_use.csv") - land_use = land_use[['MAZ', 'TAZ']] # King County - land_use = land_use.sort_values(['TAZ', 'MAZ']) - - households = read_csv("households.csv") - orphan_households = households[~households.MAZ.isin(land_use.MAZ)] - print(f"{len(orphan_households)} orphan_households") - - # write orphan_households to INPUT directory (since it doesn't belong in output) - file_name = "orphan_households.csv" - print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") - orphan_households.to_csv(input_path(file_name), index=False) - - # ######## check that land_use and maz and taz tables have same MAZs and TAZs - - # could just build maz and taz files, but want to make sure PSRC data is right - - land_use = read_csv("land_use.csv") - land_use = land_use.sort_values('MAZ') - maz = read_csv("maz.csv").sort_values('MAZ') - - # ### FATAL ### - if not land_use.MAZ.isin(maz.MAZ).all(): - print(f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}") - raise RuntimeError(f"land_use.MAZ not in maz.MAZ") - - if not maz.MAZ.isin(land_use.MAZ).all(): - print(f"maz.MAZ not in land_use.MAZ\n{maz.MAZ[~maz.MAZ.isin(land_use.MAZ)]}") - - # ### FATAL ### - if not land_use.TAZ.isin(maz.TAZ).all(): - print(f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}") - raise RuntimeError(f"land_use.TAZ not in maz.TAZ") - - if not maz.TAZ.isin(land_use.TAZ).all(): - print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") - - land_use = land_use.sort_values('TAZ') - taz = read_csv("taz.csv").sort_values('TAZ') - - # ### FATAL ### - if not land_use.TAZ.isin(taz.TAZ).all(): - print(f"land_use.TAZ not in taz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(taz.MAZ)]}") - raise RuntimeError(f"land_use.TAZ not in taz.TAZ") - - if not taz.TAZ.isin(land_use.TAZ).all(): - print(f"taz.TAZ not in land_use.TAZ\n{taz.TAZ[~taz.TAZ.isin(land_use.TAZ)]}") - - # #########s - -# -# land_use -# -land_use = read_csv("land_use.csv") -land_use = land_use[(land_use["TAZ"] >= taz_min) & (land_use["TAZ"] <= taz_max)] -integerize_id_columns(land_use, 'land_use') -land_use = land_use.sort_values('MAZ') - -# make sure we have some HSENROLL and COLLFTE, even for very for small samples -if land_use['HSENROLL'].sum() == 0: - assert segment_name != 'full', f"land_use['HSENROLL'] is 0 for full sample!" - land_use['HSENROLL'] = land_use['AGE0519'] - print(f"\nWARNING: land_use.HSENROLL is 0, so backfilled with AGE0519\n") - -if land_use['COLLFTE'].sum() == 0: - assert segment_name != 'full', f"land_use['COLLFTE'] is 0 for full sample!" - land_use['COLLFTE'] = land_use['HSENROLL'] - print(f"\nWARNING: land_use.COLLFTE is 0, so backfilled with HSENROLL\n") - -# move MAZ and TAZ columns to front -land_use = land_use[['MAZ', 'TAZ'] + [c for c in land_use.columns if c not in ['MAZ', 'TAZ']]] -to_csv(land_use, "land_use.csv") - -# -# maz -# -maz = read_csv("maz.csv").sort_values(['MAZ', 'TAZ']) -maz = maz[maz["MAZ"].isin(land_use.MAZ)] -integerize_id_columns(maz, 'maz') - -assert (land_use.MAZ.isin(maz.MAZ).all()) -assert (land_use.TAZ.isin(maz.TAZ).all()) -assert (maz.TAZ.isin(land_use.TAZ).all()) -to_csv(maz, "maz.csv") - -# -# taz -# -taz = read_csv("taz.csv").sort_values(['TAZ']) -taz = taz[taz["TAZ"].isin(land_use.TAZ)] -integerize_id_columns(taz, 'taz') - -assert (land_use.TAZ.isin(taz.TAZ).all()) -to_csv(taz, "taz.csv") - -# print(maz.shape) -# print(f"MAZ {len(maz.MAZ.unique())}") -# print(f"TAZ {len(maz.TAZ.unique())}") - -# -# households -# -households = read_csv("households.csv") -households = households[households["MAZ"].isin(maz.MAZ)] -integerize_id_columns(households, 'households') - -to_csv(households, "households.csv") - -# -# persons -# -persons = read_csv("persons.csv") -persons = persons[persons["household_id"].isin(households.HHID)] -integerize_id_columns(persons, 'persons') - -to_csv(persons, "persons.csv") - -# -# maz_to_maz_walk and maz_to_maz_bike -# -for file_name in ["maz_to_maz_walk.csv", "maz_to_maz_bike.csv"]: - m2m = read_csv(file_name) - m2m = m2m[m2m.OMAZ.isin(maz.MAZ) & m2m.DMAZ.isin(maz.MAZ)] - integerize_id_columns(m2m, file_name) - to_csv(m2m, file_name) - -# -# skims -# -omx_infile_name = 'skims.omx' -skim_data_type = np.float32 - -omx_in = omx.open_file(input_path(omx_infile_name)) -print(f"omx_in shape {omx_in.shape()}") - -assert not omx_in.listMappings() -taz = taz.sort_values('TAZ') -taz.index = taz.TAZ - 1 -tazs_indexes = taz.index.tolist() # index of TAZ in skim (zero-based, no mapping) -taz_labels = taz.TAZ.tolist() # TAZ zone_ids in omx index order - -# create -num_outfiles = 4 if segment_name == 'full' else 1 -if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"skims.omx"), 'w')] -else: - omx_out = [omx.open_file(output_path(f"skims{i+1}.omx"), 'w') for i in range(num_outfiles)] - -for omx_file in omx_out: - omx_file.create_mapping('ZONE', taz_labels) - -iskim = 0 -for mat_name in omx_in.list_matrices(): - - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) - m = m[tazs_indexes, :][:, tazs_indexes] - print(f"{mat_name} {m.shape}") - - omx_file = omx_out[iskim % num_outfiles] - omx_file[mat_name] = m - iskim += 1 - - -omx_in.close() -for omx_file in omx_out: - omx_file.close() diff --git a/activitysim/examples/example_psrc/test/simulation.py b/activitysim/examples/example_psrc/test/simulation.py deleted file mode 100755 index ec6a1181b1..0000000000 --- a/activitysim/examples/example_psrc/test/simulation.py +++ /dev/null @@ -1,15 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_psrc/test/test_psrc.py b/activitysim/examples/example_psrc/test/test_psrc.py deleted file mode 100644 index 1aa9a2c7dd..0000000000 --- a/activitysim/examples/example_psrc/test/test_psrc.py +++ /dev/null @@ -1,48 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def test_psrc(): - - def example_path(dirname): - resource = os.path.join('examples', 'example_psrc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_trips.csv')) - final_trips_df = pd.read_csv(test_path('output/final_trips.csv')) - - # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, - # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum - # compare_cols = [] - pdt.assert_frame_equal(final_trips_df, regress_trips_df) - - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - subprocess.run(['coverage', 'run', '-a', file_path, - '-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), - '-o', test_path('output')], check=True) - - regress() - - -if __name__ == '__main__': - - test_psrc() diff --git a/activitysim/examples/example_sandag/configs_3_zone/logging.yaml b/activitysim/examples/example_sandag/configs_3_zone/logging.yaml deleted file mode 100644 index 7742c3ece3..0000000000 --- a/activitysim/examples/example_sandag/configs_3_zone/logging.yaml +++ /dev/null @@ -1,54 +0,0 @@ -# Config for logging -# ------------------ -# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema - -logging: - version: 1 - disable_existing_loggers: true - - - # Configuring the default (root) logger is highly recommended - root: - level: NOTSET - handlers: [console] - - loggers: - - activitysim: - level: DEBUG - handlers: [console, logfile] - propagate: false - - orca: - level: WARN - handlers: [console, logfile] - propagate: false - - handlers: - - logfile: - class: logging.FileHandler - filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] - mode: w - formatter: fileFormatter - level: NOTSET - - console: - class: logging.StreamHandler - stream: ext://sys.stdout - formatter: simpleFormatter - level: INFO - - formatters: - - simpleFormatter: - class: logging.Formatter - # format: '%(levelname)s - %(name)s - %(message)s' - format: '%(levelname)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - - fileFormatter: - class: logging.Formatter - format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - diff --git a/activitysim/examples/example_sandag/configs_3_zone/notes.txt b/activitysim/examples/example_sandag/configs_3_zone/notes.txt deleted file mode 100644 index a1add69b8e..0000000000 --- a/activitysim/examples/example_sandag/configs_3_zone/notes.txt +++ /dev/null @@ -1,10 +0,0 @@ - -# test -# activitysim run -c configs_local -c configs -c configs_3_zone -c ../example_mtc/configs -o output_test -d data_test -# activitysim run -c configs_local -c configs -c configs_3_zone -c ../example_mtc/configs -o output_test -d data_test -s settings_mp.yaml - -# full dataset single-process 100K HH skip_accessibility -# activitysim run -c configs_local -c configs_skip_accessibility -c configs -c configs_3_zone -c ../example_mtc/configs -o output_full -d data_full - -# full run multiprocess -# activitysim run -c configs -c configs_3_zone -c ../example_mtc/configs -o output_full -d data_full -s settings_mp.yaml diff --git a/activitysim/examples/example_sandag/configs_skip_accessibility/settings.yaml b/activitysim/examples/example_sandag/configs_skip_accessibility/settings.yaml deleted file mode 100755 index 08ab8d1dcd..0000000000 --- a/activitysim/examples/example_sandag/configs_skip_accessibility/settings.yaml +++ /dev/null @@ -1,125 +0,0 @@ -inherit_settings: True - -# activitysim run -c configs_skip_accessibility -c configs_3_zone -c ../example_mtc/configs -o output_3 -d data_3 - -# input tables -input_table_list: - - tablename: households - filename: households.csv - index_col: household_id - rename_columns: - HHID: household_id - PERSONS: hhsize - workers: num_workers - VEHICL: auto_ownership - MAZ: home_zone_id - keep_columns: - - home_zone_id - - income - - hhsize - - HHT - - auto_ownership - - num_workers - - tablename: persons - filename: persons.csv - index_col: person_id - rename_columns: - PERID: person_id - keep_columns: - - household_id - - age - - PNUM - - sex - - pemploy - - pstudent - - ptype - - tablename: land_use - filename: land_use.csv - index_col: zone_id - rename_columns: - MAZ: zone_id - COUNTY: county_id - keep_columns: - - TAZ - - DISTRICT - - SD - - county_id - - TOTHH - - TOTPOP - - TOTACRE - - RESACRE - - CIACRE - - TOTEMP - - AGE0519 - - RETEMPN - - FPSEMPN - - HEREMPN - - OTHEMPN - - AGREMPN - - MWTEMPN - - PRKCST - - OPRKCST - - area_type - - HSENROLL - - COLLFTE - - COLLPTE - - TOPOLOGY - - TERMINAL - - access_dist_transit - - tablename: accessibility - filename: final_accessibility.csv - index_col: zone_id - keep_columns: - - auPkRetail - - auPkTotal - - auOpRetail - - auOpTotal - - trPkRetail - - trPkTotal - - trOpRetail - - trOpTotal - - nmRetail - - nmTotal - - -models: - - initialize_landuse - - initialize_households - #- compute_accessibility - # --- STATIC cache prebuild steps - # single-process step to create attribute_combination list - - initialize_los - # multi-processable step to build STATIC cache - # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) - - initialize_tvpb - # --- - - school_location - - workplace_location - - auto_ownership_simulate - - free_parking - - cdap_simulate - - mandatory_tour_frequency - - mandatory_tour_scheduling - - joint_tour_frequency - - joint_tour_composition - - joint_tour_participation - - joint_tour_destination - - joint_tour_scheduling - - non_mandatory_tour_frequency - - non_mandatory_tour_destination - - non_mandatory_tour_scheduling - - tour_mode_choice_simulate - - atwork_subtour_frequency - - atwork_subtour_destination - - atwork_subtour_scheduling - - atwork_subtour_mode_choice - - stop_frequency - - trip_purpose - - trip_destination - - trip_purpose_and_destination - - trip_scheduling - - trip_mode_choice - - write_data_dictionary - - track_skim_usage - - write_trip_matrices - - write_tables diff --git a/activitysim/examples/example_sandag/configs_skip_accessibility/settings_mp.yaml b/activitysim/examples/example_sandag/configs_skip_accessibility/settings_mp.yaml deleted file mode 100755 index 1246a0d8ec..0000000000 --- a/activitysim/examples/example_sandag/configs_skip_accessibility/settings_mp.yaml +++ /dev/null @@ -1,23 +0,0 @@ -inherit_settings: True - -# activitysim run -c configs_skip_accessibility -c configs_3_zone -c ../example_mtc/configs -o output_3 -d data_3 -s settings_mp.yaml - -multiprocess: True - -multiprocess_steps: - - name: mp_initialize - begin: initialize_landuse - - name: mp_tvpb - begin: initialize_tvpb - num_processes: 20 - slice: - tables: - - attribute_combinations - - name: mp_models - begin: school_location - slice: - tables: - - households - - persons - - name: mp_summarize - begin: write_data_dictionary diff --git a/activitysim/examples/example_sandag/run_sandag.txt b/activitysim/examples/example_sandag/run_sandag.txt deleted file mode 100644 index 2c277d96b3..0000000000 --- a/activitysim/examples/example_sandag/run_sandag.txt +++ /dev/null @@ -1,14 +0,0 @@ -### -### 1 Zone -### -activitysim run -c configs_1_zone -c example_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml - -### -### 2 Zone -### -activitysim run -c configs_2_zone -c example_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml - -### -### 3 Zone -### -activitysim run -c configs_3_zone -c example_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml \ No newline at end of file diff --git a/activitysim/examples/example_sandag/scripts/sandag_crop_1_zone.py b/activitysim/examples/example_sandag/scripts/sandag_crop_1_zone.py deleted file mode 100644 index fef6744891..0000000000 --- a/activitysim/examples/example_sandag/scripts/sandag_crop_1_zone.py +++ /dev/null @@ -1,165 +0,0 @@ -import os -import pandas as pd -import openmatrix as omx -import numpy as np - -import argparse - -segments = { - 'test': '../data_2/taz.csv', # crop to match 2 zone TAZs, includes univ - 'full': (0, 100000), -} - -parser = argparse.ArgumentParser(description='crop SANDAG 1 zone raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of TAZ zone_ids and foreign keys & write orphan_households file') - -args = parser.parse_args() - - -segment_name = args.segment_name[0] -check_geography = args.check_geography - -assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" -if isinstance(segments[segment_name], str): - zone_df = pd.read_csv(segments[segment_name]) - zones = zone_df['TAZ'].values -else: - zone_min, zone_max = segments[segment_name] - zones = range(zone_min, zone_max + 1) - -input_dir = './data_raw' -output_dir = f'./data_{segment_name}_1' - - -print(f"check_geography {check_geography}") - -if not os.path.isdir(output_dir): - print(f"creating output directory {output_dir}") - os.mkdir(output_dir) - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def integerize_id_columns(df, table_name): - columns = ['TAZ', 'household_id', 'HHID', 'taz'] - for c in df.columns: - if c in columns: - print(f"converting {table_name}.{c} to int") - if df[c].isnull().any(): - print(df[c][df[c].isnull()]) - df[c] = df[c].astype(int) - - -def read_csv(file_name, integerize=True): - df = pd.read_csv(input_path(file_name)) - - print(f"read {file_name} {df.shape}") - - return df - - -def to_csv(df, file_name): - print(f"writing {file_name} {df.shape} {output_path(file_name)}") - df.to_csv(output_path(file_name), index=False) - - -if check_geography: - - # ######## check for orphan_households not in any taz in land_use - land_use = read_csv("land_use.csv") - - households = read_csv("households.csv") - orphan_households = households[~households.TAZ.isin(land_use.TAZ)] - print(f"{len(orphan_households)} orphan_households") - - # write orphan_households to INPUT directory (since it doesn't belong in output) - file_name = "orphan_households.csv" - print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") - orphan_households.to_csv(input_path(file_name), index=False) - - -# -# land_use -# -land_use = read_csv("land_use.csv") -land_use = land_use[land_use["TAZ"].isin(zones)] -integerize_id_columns(land_use, 'land_use') -land_use = land_use.sort_values('TAZ') - -# move index col to front -land_use.insert(0, "TAZ", land_use.pop("TAZ")) - -to_csv(land_use, "land_use.csv") - -# -# households -# -households = read_csv("households.csv") -households = households[households["TAZ"].isin(land_use.TAZ)] -integerize_id_columns(households, 'households') - -to_csv(households, "households.csv") - -# -# persons -# -persons = read_csv("persons.csv") -persons = persons[persons["household_id"].isin(households.HHID)] -integerize_id_columns(persons, 'persons') - -to_csv(persons, "persons.csv") - -# -# skims -# -omx_infile_name = 'skims.omx' -skim_data_type = np.float32 - -omx_in = omx.open_file(input_path(omx_infile_name)) -print(f"omx_in shape {omx_in.shape()}") - - -zone = land_use.sort_values('TAZ')[['TAZ']] -zone.index = zone.TAZ - 1 -zone_indexes = zone.index.tolist() # index of TAZ in skim (zero-based, no mapping) -zone_labels = zone.TAZ.tolist() # TAZ in omx index order - - -# create -num_outfiles = 6 if segment_name == 'full' else 1 -if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"skims1.omx"), 'w')] -else: - omx_out = [omx.open_file(output_path(f"skims{i+1}.omx"), 'w') for i in range(num_outfiles)] - -for omx_file in omx_out: - omx_file.create_mapping('ZONE', zone_labels) - -iskim = 0 -for mat_name in omx_in.list_matrices(): - - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) - m = m[zone_indexes, :][:, zone_indexes] - print(f"{mat_name} {m.shape}") - - omx_file = omx_out[iskim % num_outfiles] - omx_file[mat_name] = m - iskim += 1 - - -omx_in.close() -for omx_file in omx_out: - omx_file.close() diff --git a/activitysim/examples/example_sandag/scripts/sandag_crop_2_zone.py b/activitysim/examples/example_sandag/scripts/sandag_crop_2_zone.py deleted file mode 100644 index 864eb31f44..0000000000 --- a/activitysim/examples/example_sandag/scripts/sandag_crop_2_zone.py +++ /dev/null @@ -1,253 +0,0 @@ -import os -import pandas as pd -import openmatrix as omx -import numpy as np - -import argparse - -MAZ_OFFSET = 0 - -segments = { - 'test': (492, 1100), # includes univ - 'full': (0, 100000), -} - -parser = argparse.ArgumentParser(description='crop SANDAG 2 zone raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file') - -args = parser.parse_args() - - -segment_name = args.segment_name[0] -check_geography = args.check_geography - -assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" -maz_min, maz_max = segments[segment_name] - -input_dir = './data_raw' -output_dir = f'./data_{segment_name}_2' - - -print(f"segment_name {segment_name}") - -print(f"input_dir {input_dir}") -print(f"output_dir {output_dir}") -print(f"maz_min {maz_min}") -print(f"maz_max {maz_max}") - -print(f"check_geography {check_geography}") - -if not os.path.isdir(output_dir): - print(f"creating output directory {output_dir}") - os.mkdir(output_dir) - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def integerize_id_columns(df, table_name): - columns = ['MAZ', 'OMAZ', 'DMAZ', 'TAZ', 'zone_id', 'household_id', 'HHID'] - for c in df.columns: - if c in columns: - print(f"converting {table_name}.{c} to int") - if df[c].isnull().any(): - print(df[c][df[c].isnull()]) - df[c] = df[c].astype(int) - - -def read_csv(file_name, integerize=True): - df = pd.read_csv(input_path(file_name)) - - print(f"read {file_name} {df.shape}") - - return df - - -def to_csv(df, file_name): - print(f"writing {file_name} {df.shape} {output_path(file_name)}") - df.to_csv(output_path(file_name), index=False) - - -print(f"output_dir {output_dir} maz_min {maz_min} maz_max {maz_max}") - - -if check_geography: - - # ######## check for orphan_households not in any maz in land_use - land_use = read_csv("land_use.csv") - land_use = land_use[['MAZ', 'TAZ']] # King County - land_use = land_use.sort_values(['TAZ', 'MAZ']) - - households = read_csv("households.csv") - orphan_households = households[~households.MAZ.isin(land_use.MAZ)] - print(f"{len(orphan_households)} orphan_households") - - # write orphan_households to INPUT directory (since it doesn't belong in output) - file_name = "orphan_households.csv" - print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") - orphan_households.to_csv(input_path(file_name), index=False) - - # ######## check that land_use and maz and taz tables have same MAZs and TAZs - - # could just build maz and taz files, but want to make sure PSRC data is right - - land_use = read_csv("land_use.csv") - land_use = land_use.sort_values('MAZ') - maz = read_csv("maz.csv").sort_values('MAZ') - - # ### FATAL ### - if not land_use.MAZ.isin(maz.MAZ).all(): - print(f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}") - raise RuntimeError(f"land_use.MAZ not in maz.MAZ") - - if not maz.MAZ.isin(land_use.MAZ).all(): - print(f"maz.MAZ not in land_use.MAZ\n{maz.MAZ[~maz.MAZ.isin(land_use.MAZ)]}") - - # ### FATAL ### - if not land_use.TAZ.isin(maz.TAZ).all(): - print(f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}") - raise RuntimeError(f"land_use.TAZ not in maz.TAZ") - - if not maz.TAZ.isin(land_use.TAZ).all(): - print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") - - land_use = land_use.sort_values('TAZ') - taz = read_csv("taz.csv").sort_values('TAZ') - - # ### FATAL ### - if not land_use.TAZ.isin(taz.TAZ).all(): - print(f"land_use.TAZ not in taz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(taz.MAZ)]}") - raise RuntimeError(f"land_use.TAZ not in taz.TAZ") - - if not taz.TAZ.isin(land_use.TAZ).all(): - print(f"taz.TAZ not in land_use.TAZ\n{taz.TAZ[~taz.TAZ.isin(land_use.TAZ)]}") - - # #########s - -# -# land_use -# -land_use = read_csv("land_use.csv") -land_use = land_use[(land_use["MAZ"] >= maz_min) & (land_use["MAZ"] <= maz_max)] -integerize_id_columns(land_use, 'land_use') -land_use = land_use.sort_values('MAZ') - -# make sure we have some HSENROLL and COLLFTE, even for very for small samples -if land_use['HSENROLL'].sum() == 0: - assert segment_name != 'full', f"land_use['HSENROLL'] is 0 for full sample!" - land_use['HSENROLL'] = land_use['AGE0519'] - print(f"\nWARNING: land_use.HSENROLL is 0, so backfilled with AGE0519\n") - -if land_use['COLLFTE'].sum() == 0: - assert segment_name != 'full', f"land_use['COLLFTE'] is 0 for full sample!" - land_use['COLLFTE'] = land_use['HSENROLL'] - print(f"\nWARNING: land_use.COLLFTE is 0, so backfilled with HSENROLL\n") - -# move MAZ and TAZ columns to front -land_use = land_use[['MAZ', 'TAZ'] + [c for c in land_use.columns if c not in ['MAZ', 'TAZ']]] -to_csv(land_use, "land_use.csv") - -# -# maz -# -maz = read_csv("maz.csv").sort_values(['MAZ', 'TAZ']) -maz = maz[maz["MAZ"].isin(land_use.MAZ)] -integerize_id_columns(maz, 'maz') - -assert (land_use.MAZ.isin(maz.MAZ).all()) -assert (land_use.TAZ.isin(maz.TAZ).all()) -assert (maz.TAZ.isin(land_use.TAZ).all()) -to_csv(maz, "maz.csv") - -# -# taz -# -taz = read_csv("taz.csv").sort_values(['TAZ']) -taz = taz[taz["TAZ"].isin(land_use.TAZ)] -integerize_id_columns(taz, 'taz') - -assert (land_use.TAZ.isin(taz.TAZ).all()) -to_csv(taz, "taz.csv") - -# print(maz.shape) -# print(f"MAZ {len(maz.MAZ.unique())}") -# print(f"TAZ {len(maz.TAZ.unique())}") - -# -# households -# -households = read_csv("households.csv") -households = households[households["MAZ"].isin(maz.MAZ)] -integerize_id_columns(households, 'households') - -to_csv(households, "households.csv") - -# -# persons -# -persons = read_csv("persons.csv") -persons = persons[persons["household_id"].isin(households.HHID)] -integerize_id_columns(persons, 'persons') - -to_csv(persons, "persons.csv") - -# -# maz_to_maz_walk and maz_to_maz_bike -# -for file_name in ["maz_to_maz_walk.csv", "maz_to_maz_bike.csv"]: - m2m = read_csv(file_name) - m2m = m2m[m2m.OMAZ.isin(maz.MAZ) & m2m.DMAZ.isin(maz.MAZ)] - integerize_id_columns(m2m, file_name) - to_csv(m2m, file_name) - -# -# skims -# -omx_infile_name = 'skims.omx' -skim_data_type = np.float32 - -omx_in = omx.open_file(input_path(omx_infile_name)) -print(f"omx_in shape {omx_in.shape()}") - -taz = taz.sort_values('TAZ') -taz.index = taz.TAZ - 1 -tazs_indexes = taz.index.tolist() # index of TAZ in skim (zero-based, no mapping) -taz_labels = taz.TAZ.tolist() # TAZ zone_ids in omx index order - -# create -num_outfiles = 6 if segment_name == 'full' else 1 -if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"skims1.omx"), 'w')] -else: - omx_out = [omx.open_file(output_path(f"skims{i+1}.omx"), 'w') for i in range(num_outfiles)] - -for omx_file in omx_out: - omx_file.create_mapping('ZONE', taz_labels) - -iskim = 0 -for mat_name in omx_in.list_matrices(): - - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) - m = m[tazs_indexes, :][:, tazs_indexes] - print(f"{mat_name} {m.shape}") - - omx_file = omx_out[iskim % num_outfiles] - omx_file[mat_name] = m - iskim += 1 - - -omx_in.close() -for omx_file in omx_out: - omx_file.close() diff --git a/activitysim/examples/example_sandag/scripts/sandag_crop_3_zone.py b/activitysim/examples/example_sandag/scripts/sandag_crop_3_zone.py deleted file mode 100644 index 349e11cdfb..0000000000 --- a/activitysim/examples/example_sandag/scripts/sandag_crop_3_zone.py +++ /dev/null @@ -1,254 +0,0 @@ -import os -import pandas as pd -import openmatrix as omx -import argparse -import numpy as np - -MAZ_OFFSET = 0 - -segments = { - 'test': {'MAZ': np.arange(MAZ_OFFSET + 492, MAZ_OFFSET + 1101)}, # includes univ - 'univ_east': {'MAZ': np.arange(MAZ_OFFSET, MAZ_OFFSET + 1080)}, - 'full': {}, -} - -parser = argparse.ArgumentParser(description='crop SANDAG 3 zone raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ, TAP zone_ids and foreign keys & write orphan_households file') - -args = parser.parse_args() - - -segment_name = args.segment_name[0] -check_geography = args.check_geography - -assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" - -input_dir = './data_raw' -output_dir = f'./data_{segment_name}_3' - - -print(f"segment_name {segment_name}") - -print(f"input_dir {input_dir}") -print(f"output_dir {output_dir}") - -print(f"check_geography {check_geography}") - -if not os.path.isdir(output_dir): - print(f"creating output directory {output_dir}") - os.mkdir(output_dir) - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def patch_maz(df, maz_offset): - for c in df.columns: - if c in ['MAZ', 'OMAZ', 'DMAZ', 'mgra', 'orig_mgra', 'dest_mgra']: - df[c] += maz_offset - return df - - -def read_csv(file_name): - df = pd.read_csv(input_path(file_name)) - if MAZ_OFFSET: - df = patch_maz(df, MAZ_OFFSET) - print(f"read {file_name} {df.shape}") - return df - - -def to_csv(df, file_name): - df.to_csv(output_path(file_name), index=False) - print(f"write {file_name} {df.shape}") - - -def crop_omx(omx_file_name, zones, num_outfiles=1): - - skim_data_type = np.float32 - - omx_in = omx.open_file(input_path(f"{omx_file_name}.omx")) - print(f"omx_in shape {omx_in.shape()}") - - offset_map = None - for mapping_name in omx_in.listMappings(): - _offset_map = np.asanyarray(omx_in.mapentries(mapping_name)) - offset_map = _offset_map - - om = pd.Series(offset_map) - om = om[om.isin(zones.values)] - indexes = om.index.values - - labels = zones.values # TAZ zone_ids in omx index order - - # create - if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"{omx_file_name}.omx"), 'w')] - else: - omx_out = [omx.open_file(output_path(f"{omx_file_name}{i + 1}.omx"), 'w') for i in range(num_outfiles)] - - for omx_file in omx_out: - omx_file.create_mapping('ZONE', labels) - - iskim = 0 - for mat_name in omx_in.list_matrices(): - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) - m = m[indexes, :][:, indexes] - print(f"{mat_name} {m.shape}") - - omx_file = omx_out[iskim % num_outfiles] - omx_file[mat_name] = m - iskim += 1 - - omx_in.close() - for omx_file in omx_out: - omx_file.close() - - -# non-standard input file names - -LAND_USE = "land_use.csv" -HOUSEHOLDS = "households.csv" -PERSONS = "persons.csv" -MAZ_TAZ = "maz.csv" -TAP_MAZ = "tap.csv" -TAZ = "taz.csv" - - -if check_geography: - - # ######## check for orphan_households not in any maz in land_use - land_use = read_csv(LAND_USE) - land_use = land_use[['MAZ', 'TAZ']] - land_use = land_use.sort_values(['TAZ', 'MAZ']) - - households = read_csv(HOUSEHOLDS) - orphan_households = households[~households.MAZ.isin(land_use.MAZ)] - print(f"{len(orphan_households)} orphan_households") - - # write orphan_households to INPUT directory (since it doesn't belong in output) - if len(orphan_households) > 0: - file_name = "orphan_households.csv" - print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") - orphan_households.to_csv(input_path(file_name), index=False) - - # ######## check that land_use and maz and taz tables have same MAZs and TAZs - - # could just build maz and taz files, but want to make sure PSRC data is right - - land_use = read_csv(LAND_USE) - # assert land_use.set_index('MAZ').index.is_monotonic_increasing - - land_use = land_use.sort_values('MAZ') - maz = read_csv(MAZ_TAZ).sort_values('MAZ') - - # ### FATAL ### - if not land_use.MAZ.isin(maz.MAZ).all(): - print(f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}") - raise RuntimeError(f"land_use.MAZ not in maz.MAZ") - - if not maz.MAZ.isin(land_use.MAZ).all(): - print(f"maz.MAZ not in land_use.MAZ\n{maz.MAZ[~maz.MAZ.isin(land_use.MAZ)]}") - - # ### FATAL ### - if not land_use.TAZ.isin(maz.TAZ).all(): - print(f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}") - raise RuntimeError(f"land_use.TAZ not in maz.TAZ") - - if not maz.TAZ.isin(land_use.TAZ).all(): - print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") - - -# land_use - -land_use = read_csv(LAND_USE) - -land_use.MAZ = land_use.MAZ.astype(int) - -ur_land_use = land_use.copy() - -slicer = segments[segment_name] -for slice_col, slice_values in slicer.items(): - # print(f"slice {slice_col}: {slice_values}") - land_use = land_use[land_use[slice_col].isin(slice_values)] - -print(f"land_use shape after slicing {land_use.shape}") -to_csv(land_use, 'land_use.csv') - - -# TAZ - -taz = pd.DataFrame({'TAZ': sorted(ur_land_use.TAZ.unique())}) -taz = taz[taz.TAZ.isin(land_use["TAZ"])] -to_csv(taz, TAZ) - - -# maz_taz - - -maz_taz = read_csv(MAZ_TAZ).sort_values('MAZ') -maz_taz = maz_taz[maz_taz.MAZ.isin(land_use.MAZ)] -to_csv(maz_taz, MAZ_TAZ) - -# tap - -taps = read_csv(TAP_MAZ) -taps = taps[['TAP', 'MAZ']].sort_values(by='TAP').reset_index(drop=True) -taps = taps[taps["MAZ"].isin(land_use["MAZ"])] -to_csv(taps, "tap.csv") - -# maz to tap - -maz_tap_walk = read_csv("maz_to_tap_walk.csv").sort_values(['MAZ', 'TAP']) -taz_tap_drive = read_csv("maz_to_tap_drive.csv").sort_values(['MAZ', 'TAP']) - -maz_tap_walk = maz_tap_walk[maz_tap_walk["MAZ"].isin(land_use["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"])] -taz_tap_drive = taz_tap_drive[taz_tap_drive["MAZ"].isin(land_use["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"])] - -to_csv(maz_tap_walk, "maz_to_tap_walk.csv") -to_csv(taz_tap_drive, "maz_to_tap_drive.csv") - -# maz to mz - -maz_maz_walk = read_csv("maz_to_maz_walk.csv").sort_values(['OMAZ', 'DMAZ']) -maz_maz_bike = read_csv("maz_to_maz_bike.csv").sort_values(['OMAZ', 'DMAZ']) - -maz_maz_walk = maz_maz_walk[maz_maz_walk["OMAZ"].isin(land_use["MAZ"]) & maz_maz_walk["DMAZ"].isin(land_use["MAZ"])] -maz_maz_bike = maz_maz_bike[maz_maz_bike["OMAZ"].isin(land_use["MAZ"]) & maz_maz_bike["DMAZ"].isin(land_use["MAZ"])] - -to_csv(maz_maz_walk, "maz_to_maz_walk.csv") -to_csv(maz_maz_bike, "maz_to_maz_bike.csv") - -# tap_lines - -tap_lines = read_csv("tap_lines.csv") -tap_lines = tap_lines[tap_lines['TAP'].isin(taps["TAP"])] -to_csv(tap_lines, "tap_lines.csv") - -# households - -households = read_csv(HOUSEHOLDS) -households = households[households["MAZ"].isin(land_use["MAZ"])] -to_csv(households, "households.csv") - -# persons - -persons = read_csv(PERSONS) -persons = persons[persons["household_id"].isin(households["HHID"])] -to_csv(persons, "persons.csv") - -# skims - -crop_omx('taz_skims1', taz.TAZ, num_outfiles=(4 if segment_name == 'full' else 1)) -crop_omx('tap_skims1', taps.TAP, num_outfiles=(4 if segment_name == 'full' else 1)) diff --git a/activitysim/examples/example_sandag/test/simulation.py b/activitysim/examples/example_sandag/test/simulation.py deleted file mode 100755 index ec6a1181b1..0000000000 --- a/activitysim/examples/example_sandag/test/simulation.py +++ /dev/null @@ -1,15 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_sandag/test/test_sandag.py b/activitysim/examples/example_sandag/test/test_sandag.py deleted file mode 100644 index 75e75aa976..0000000000 --- a/activitysim/examples/example_sandag/test/test_sandag.py +++ /dev/null @@ -1,121 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pytest -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def example_path(dirname): - resource = os.path.join('examples', 'example_sandag', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - -def mtc_example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - -def psrc_example_path(dirname): - resource = os.path.join('examples', 'example_psrc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - -def build_data(): - pass - - -@pytest.fixture(scope='module') -def data(): - build_data() - - -def run_test(zone, multiprocess=False): - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(zone): - - # ## regress tours - regress_tours_df = pd.read_csv(test_path(f'regress/final_{zone}_zone_tours.csv')) - tours_df = pd.read_csv(test_path(f'output/final_{zone}_zone_tours.csv')) - tours_df.to_csv(test_path(f'regress/final_{zone}_zone_tours_last_run.csv'), index=False) - print(f"regress tours") - pdt.assert_frame_equal(tours_df, regress_tours_df, rtol=1e-03) - - # ## regress trips - regress_trips_df = pd.read_csv(test_path(f'regress/final_{zone}_zone_trips.csv')) - trips_df = pd.read_csv(test_path(f'output/final_{zone}_zone_trips.csv')) - trips_df.to_csv(test_path(f'regress/final_{zone}_zone_trips_last_run.csv'), index=False) - print(f"regress trips") - pdt.assert_frame_equal(trips_df, regress_trips_df, rtol=1e-03) - - # run test - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - if zone == '2': - base_configs = psrc_example_path(f'configs') - else: - base_configs = mtc_example_path(f'configs') - - run_args = ['-c', test_path(f'configs_{zone}_zone'), - '-c', example_path(f'configs_{zone}_zone'), - '-c', base_configs, - '-d', example_path(f'data_{zone}'), - '-o', test_path('output')] - - if multiprocess: - run_args = run_args + ['-s', 'settings_mp.yaml'] - - subprocess.run(['coverage', 'run', '-a', file_path] + run_args, check=True) - - regress(zone) - - -def test_1_zone(data): - run_test(zone='1', multiprocess=False) - - -def test_1_zone_mp(data): - run_test(zone='1', multiprocess=True) - - -def test_2_zone(data): - run_test(zone='2', multiprocess=False) - - -def test_2_zone_mp(data): - run_test(zone='2', multiprocess=True) - - -def test_3_zone(data): - run_test(zone='3', multiprocess=False) - - -def test_3_zone_mp(data): - run_test(zone='3', multiprocess=True) - - -if __name__ == '__main__': - - # call each test explicitly so we get a pass/fail for each - build_data() - run_test(zone='1', multiprocess=False) - run_test(zone='1', multiprocess=True) - - run_test(zone='2', multiprocess=False) - run_test(zone='2', multiprocess=True) - - run_test(zone='3', multiprocess=False) - run_test(zone='3', multiprocess=True) diff --git a/activitysim/examples/example_sandag_xborder/configs/constants.yaml b/activitysim/examples/example_sandag_xborder/configs/constants.yaml deleted file mode 100755 index 626a0c415e..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/constants.yaml +++ /dev/null @@ -1,64 +0,0 @@ -## ActivitySim -## See full license in LICENSE.txt. - -walk_speed: 3.00 - -#HHT_NONE: 0 -#HHT_FAMILY_MARRIED: 1 -#HHT_FAMILY_MALE: 2 -#HHT_FAMILY_FEMALE: 3 -#HHT_NONFAMILY_MALE_ALONE: 4 -#HHT_NONFAMILY_MALE_NOTALONE: 5 -#HHT_NONFAMILY_FEMALE_ALONE: 6 -#HHT_NONFAMILY_FEMALE_NOTALONE: 7 - -# convenience for expression files -HHT_NONFAMILY: [4, 5, 6, 7] -HHT_FAMILY: [1, 2, 3] - -PSTUDENT_GRADE_OR_HIGH: 1 -PSTUDENT_UNIVERSITY: 2 -PSTUDENT_NOT: 3 - -GRADE_SCHOOL_MAX_AGE: 14 -GRADE_SCHOOL_MIN_AGE: 5 - -SCHOOL_SEGMENT_NONE: 0 -SCHOOL_SEGMENT_GRADE: 1 -SCHOOL_SEGMENT_HIGH: 2 -SCHOOL_SEGMENT_UNIV: 3 - -#INCOME_SEGMENT_LOW: 1 -#INCOME_SEGMENT_MED: 2 -#INCOME_SEGMENT_HIGH: 3 -#INCOME_SEGMENT_VERYHIGH: 4 - -PEMPLOY_FULL: 1 -PEMPLOY_PART: 2 -PEMPLOY_NOT: 3 -PEMPLOY_CHILD: 4 - -PTYPE_FULL: &ptype_full 1 -PTYPE_PART: &ptype_part 2 -PTYPE_UNIVERSITY: &ptype_university 3 -PTYPE_NONWORK: &ptype_nonwork 4 -PTYPE_RETIRED: &ptype_retired 5 -PTYPE_DRIVING: &ptype_driving 6 -PTYPE_SCHOOL: &ptype_school 7 -PTYPE_PRESCHOOL: &ptype_preschool 8 - -# these appear as column headers in non_mandatory_tour_frequency.csv -PTYPE_NAME: - *ptype_full: PTYPE_FULL - *ptype_part: PTYPE_PART - *ptype_university: PTYPE_UNIVERSITY - *ptype_nonwork: PTYPE_NONWORK - *ptype_retired: PTYPE_RETIRED - *ptype_driving: PTYPE_DRIVING - *ptype_school: PTYPE_SCHOOL - *ptype_preschool: PTYPE_PRESCHOOL - - -CDAP_ACTIVITY_MANDATORY: M -CDAP_ACTIVITY_NONMANDATORY: N -CDAP_ACTIVITY_HOME: H diff --git a/activitysim/examples/example_sandag_xborder/configs/destination_choice_size_terms.csv b/activitysim/examples/example_sandag_xborder/configs/destination_choice_size_terms.csv deleted file mode 100644 index 03228db8c9..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/destination_choice_size_terms.csv +++ /dev/null @@ -1,11 +0,0 @@ -model_selector,segment,emp_ag,emp_const_non_bldg_prod,emp_const_non_bldg_office,emp_utilities_prod,emp_utilities_office,emp_const_bldg_prod,emp_const_bldg_office,emp_mfg_prod,emp_mfg_office,emp_whsle_whs,emp_trans,emp_retail,emp_prof_bus_svcs,emp_prof_bus_svcs_bldg_maint,emp_pvt_ed_k12,emp_pvt_ed_post_k12_oth,emp_health,emp_personal_svcs_office,emp_amusement,emp_hotel,emp_restaurant_bar,emp_personal_svcs_retail,emp_religious,emp_pvt_hh,emp_state_local_gov_ent,emp_fed_non_mil,emp_fed_mil,emp_state_local_gov_blue,emp_state_local_gov_white,emp_public_ed,emp_own_occ_dwell_mgmt,emp_fed_gov_accts,emp_st_lcl_gov_accts,emp_cap_accts,collegeenroll,othercollegeenroll,adultschenrl,hh -tour_od_choice,work,0.0000,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,1.0000,0.9860,0.9860,0.0000,0.0000,0.0000,0.9860,0.5620,0.5620,0.5620,0.9860,0.3630,0.3630,0.3630,0.3630,0.3630,0.3630,0.3630,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 -tour_od_choice,school,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0870,0.0870,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0870,0.0000,0.0000,0.0000,0.0000,1.0000,1.0000,1.0000,0.0000 -tour_od_choice,shop,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,2.3060,2.3060,2.3060,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 -tour_od_choice,visit,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.5760,0.0000,0.0000,0.0000,0.0000,0.0000,1.0380,1.0380,1.0380,1.0380,1.0380,1.0380,1.0380,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000 -tour_od_choice,other,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000,0.0000,0.0000,0.1670,0.1670,0.0280,0.0000,0.7100,0.7100,0.7100,0.0000,4.7070,4.7070,4.7070,4.7070,4.7070,4.7070,4.7070,0.1670,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 -trip,work,0.0000,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,1.0000,0.9860,0.9860,0.0000,0.0000,0.0000,0.9860,0.5620,0.5620,0.5620,0.9860,0.3630,0.3630,0.3630,0.3630,0.3630,0.3630,0.3630,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 -trip,school,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0870,0.0870,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0870,0.0000,0.0000,0.0000,0.0000,1.0000,1.0000,1.0000,0.0000 -trip,shop,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,2.3060,2.3060,2.3060,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 -trip,visit,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.5760,0.0000,0.0000,0.0000,0.0000,0.0000,1.0380,1.0380,1.0380,1.0380,1.0380,1.0380,1.0380,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000 -trip,other,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000,0.0000,0.0000,0.1670,0.1670,0.0280,0.0000,0.7100,0.7100,0.7100,0.0000,4.7070,4.7070,4.7070,4.7070,4.7070,4.7070,4.7070,0.1670,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/logging.yaml b/activitysim/examples/example_sandag_xborder/configs/logging.yaml deleted file mode 100755 index 33b6a4b1cc..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/logging.yaml +++ /dev/null @@ -1,54 +0,0 @@ -# Config for logging -# ------------------ -# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema - -logging: - version: 1 - disable_existing_loggers: true - - - # Configuring the default (root) logger is highly recommended - root: - level: NOTSET - handlers: [console, logfile] - - loggers: - - activitysim: - level: DEBUG - handlers: [console, logfile] - propagate: false - - orca: - level: WARN - handlers: [console, logfile] - propagate: false - - handlers: - - logfile: - class: logging.FileHandler - filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] - mode: w - formatter: fileFormatter - level: NOTSET - - console: - class: logging.StreamHandler - stream: ext://sys.stdout - formatter: simpleFormatter - level: NOTSET - - formatters: - - simpleFormatter: - class: logging.Formatter - # format: '%(levelname)s - %(name)s - %(message)s' - format: '%(levelname)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - - fileFormatter: - class: logging.Formatter - format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - diff --git a/activitysim/examples/example_sandag_xborder/configs/network_los.yaml b/activitysim/examples/example_sandag_xborder/configs/network_los.yaml deleted file mode 100755 index ec6171eb75..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/network_los.yaml +++ /dev/null @@ -1,156 +0,0 @@ -inherit_settings: True - -zone_system: 3 - -skim_dict_factory: NumpyArraySkimFactory -#skim_dict_factory: MemMapSkimFactory - -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -read_skim_cache: True -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -write_skim_cache: True - -# rebuild and overwrite existing tap_tap_utilities cache -rebuild_tvpb_cache: True - -# when checkpointing cache. also write a csv version of tvpb cache for tracing -# (writes csv file when writing/checkpointing cache (i.e. when cached changed) even if rebuild_tvpb_cache is False) -# (n.b. csv file could be quite large if cache is STATIC!) -trace_tvpb_cache_as_csv: False - -taz_skims: - - traffic_skims_xborder_EA.omx - - traffic_skims_xborder_AM.omx - - traffic_skims_xborder_MD.omx - - traffic_skims_xborder_PM.omx - - traffic_skims_xborder_EV.omx - -tap_skims: - # we require that skims for all tap_tap sets have unique names - # and can therefor share a single skim_dict without name collision - # e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM - - transit_skims_xborder.omx - - -# FIXME why no taz.csv? -# tas: taz.csv - -maz: mazs_xborder.csv # mgra.csv - -tap: taps.csv # this is just tap ids - -tap_lines: tap_lines.csv - -maz_to_maz: - tables: - - maz_maz_walk.csv # microMgraEquivMinutes.csv - -maz_to_tap: - walk: - table: maz_tap_walk.csv # microMgraTapEquivMinutes.csv - # if provided, this column will be used (together with tap_lines table) to trim the near tap set - # to only include the nearest tap to origin when more than one tap serves the same line - tap_line_distance_col: dist - -skim_time_periods: - time_window: 1440 - period_minutes: 30 - periods: [0, 11, 17, 30, 37, 48] # asim xborder - # periods: [0, 3, 9, 22, 29, 48] # ctramp xborder - labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] - -# transit virtual path builder settings -TVPB_SETTINGS: # find this in sandag bestPathTAP UEC - - tour_mode_choice: - units: utility - path_types: - WTW: - access: walk - egress: walk - max_paths_across_tap_sets: 4 - max_paths_per_tap_set: 1 - tap_tap_settings: - SPEC: tvpb_utility_tap_tap.csv - PREPROCESSOR: - SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv - DF: df - # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files - attribute_segments: - tod: *skim_time_period_labels - attributes_as_columns: - - tod - maz_tap_settings: - walk: - SPEC: tvpb_utility_walk_maz_tap.csv - CHOOSER_COLUMNS: - - walkTime - - dist - - CONSTANTS: - c_ivt: -0.028 - c_cost: -0.0011 - # transit "factors" from SANDAG - eb_fac: 1.0 - brt_fac: 0.9000 - lrt_fac: 0.6500 - cr_fac: 0.6500 - hyp_fac: 0.6500 - # coeffs used in maz_tap and tap_tap utility expressions - c_walk: 1.7 - c_fwt: 1.5 - c_waux: 2.5 - c_xwt: 2 - C_UNAVAILABLE: -9999 - # alternative-specific constants - exp_asc: 10 # express bus asc - brt_asc: -10 # BRT asc - lrt_asc: -20 # LRT alternative-specific constant - cr_asc: 0.00 # Commuter Rail alternative-specific constant - - trip_mode_choice: - units: utility - path_types: - WTW: - access: walk - egress: walk - max_paths_across_tap_sets: 4 - max_paths_per_tap_set: 1 - tap_tap_settings: - SPEC: tvpb_utility_tap_tap.csv - PREPROCESSOR: - SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv - DF: df - # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files - attribute_segments: - tod: *skim_time_period_labels - attributes_as_columns: - - tod - maz_tap_settings: - walk: - SPEC: tvpb_utility_walk_maz_tap.csv - CHOOSER_COLUMNS: - - walkTime - - dist - - CONSTANTS: - c_ivt: -0.03 - c_cost: -0.0003 - # transit "factors" from SANDAG - eb_fac: 1.0 - brt_fac: 0.9000 - lrt_fac: 0.6500 - cr_fac: 0.6500 - # coeffs used in maz_tap and tap_tap utility expressions - c_walk: 1.7 - c_fwt: 1.5 - c_waux: 2.5 - c_xwt: 2 - C_UNAVAILABLE: -9999 - # alternative-specific constants - exp_asc: 10 # express bus asc - brt_asc: -10 # BRT asc - lrt_asc: -20 # LRT alternative-specific constant - cr_asc: 0.00 # Commuter Rail alternative-specific constant - - diff --git a/activitysim/examples/example_sandag_xborder/configs/settings.yaml b/activitysim/examples/example_sandag_xborder/configs/settings.yaml deleted file mode 100755 index c8dd9d8abd..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/settings.yaml +++ /dev/null @@ -1,157 +0,0 @@ -inherit_settings: False - -# number of households to simulate - -households_sample_size: 0 -multiprocess: True -strict: False -mem_tick: 30 -num_processes: 30 -fail_fast: True - -############## -# -# chunking -# - -# chooser chunk size in gigabytes -# target top memory usage during activitysim run (including shared memory, loaded tables, and transient memory usage) -chunk_size: 400_000_000_000 -#chunk_size: 0 - -# minimum fraction of total chunk_size to reserve for adaptive chunking -min_available_chunk_ratio: 0.05 - -# initial number of chooser rows for first chunk in training mode -# when there is no pre-existing chunk_cache to set initial value -# ordinarily bigger is better as long as it is not so big it causes memory issues (e.g. accessibility with lots of zones) -default_initial_rows_per_chunk: 500 - -# method to calculate memory overhead when chunking is enabled -chunk_method: hybrid_uss - -# chunk training mode -# training to determine the chunking settings written to a cache file that is re-used for production runs -# training -# production -# disabled -chunk_training_mode: disabled - -# whether to preserve or delete subprocess chunk and mem logs when they are consolidated at end of multiprocess run -keep_chunk_logs: True -keep_mem_logs: True - -############## - -trace_hh_id: - -# input tables -input_table_list: - - tablename: households - filename: households_xborder.csv - index_col: household_id - - - tablename: persons - filename: persons_xborder.csv - index_col: person_id - - - tablename: land_use - filename: mazs_xborder.csv - index_col: zone_id - rename_columns: - MAZ: zone_id - - - tablename: tours - filename: tours_xborder.csv - index_col: tour_id - keep_columns: - - pass_type - - tour_type - - purpose_id - - tour_category - - number_of_participants - - tour_num - - tour_count - - household_id - - person_id - - -# set false to disable variability check in simple_simulate and interaction_simulate -check_for_variability: False - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False -want_dest_choice_presampling: True - -#resume_after: trip_scheduling - -models: - - initialize_landuse - - initialize_households - - initialize_tours - # --- STATIC cache prebuild steps - # single-process step to create attribute_combination list - - initialize_los - # multi-processable step to build STATIC cache - # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) - - initialize_tvpb - # # --- - - tour_scheduling_probabilistic - - tour_od_choice - - reassign_tour_purpose_by_poe - - tour_mode_choice_simulate - - stop_frequency - - trip_purpose - - trip_scheduling - - trip_destination - - trip_mode_choice - - write_trip_matrices - - write_tables - -multiprocess_steps: - - name: mp_initialize - begin: initialize_landuse - - name: mp_tvpb - begin: initialize_tvpb - num_processes: 5 - slice: - tables: - - attribute_combinations - - name: mp_households - begin: tour_scheduling_probabilistic - slice: - tables: - - households - - persons - - name: mp_summarize - begin: write_trip_matrices - -output_tables: - h5_store: False - action: include - prefix: final_ - # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes - sort: True - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - trips - - attribute_combinations - -output_summaries: - tours: - - tour_mode - - od_path_set - - do_path_set diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice.csv b/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice.csv deleted file mode 100755 index 89ab449abe..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice.csv +++ /dev/null @@ -1,34 +0,0 @@ -Label,Description,Expression,DRIVEALONE,SHARED2,SHARED3,WALK -util_auto_wait,Auto Wait Time,@(df.pass_type == 'no_pass') * df.std_wait,coef_wait,coef_wait,coef_wait, -util_auto_wait_sentri,Auto Wait Time - Sentri,@(df.pass_type == 'sentri') * df.sentri_wait,coef_wait,coef_wait,coef_wait, -util_auto_wait_ready,Auto Wait Time - Ready,@(df.pass_type == 'ready') * df.ready_wait,coef_wait,coef_wait,coef_wait, -util_ped_wait,Walk - Wait Time,@df.ped_wait,,,,coef_wait -util_trip_logsum_tour_da,Drive alone - Trip Logsum,@df.logsum_DRIVEALONE_outbound + df.logsum_DRIVEALONE_inbound,coef_trip_logsum,,, -util_trip_logsum_tour_s2,Shared Ride 2 - Trip Logsum,@df.logsum_SHARED2_outbound + df.logsum_SHARED2_inbound,,coef_trip_logsum,, -util_trip_logsum_tour_s3,Shared Ride 3 - Trip Logsum,@df.logsum_SHARED3_outbound + df.logsum_SHARED3_inbound,,,coef_trip_logsum, -util_trip_logsum_tour_walk,Walk - Trip Logsum,@df.logsum_WALK_outbound + df.logsum_WALK_inbound,,,,coef_trip_logsum -util_ASC_s2,Shared Ride 2 - ASC,1,,SHARED2_asc,, -util_ASC_s3,Shared Ride 3 - ASC,1,,,SHARED3_asc, -util_ASC_walk,Walk - ASC,1,,,,WALK_asc -util_sentri_s2,Crossing used Sentri - Shared Ride 2,@(df.pass_type == 'sentri'),,SHARED2_coef_sentri,, -util_sentri_s3,Crossing used Sentri - Shared Ride 3,@(df.pass_type == 'sentri'),,,SHARED3_coef_sentri, -util_ready_s2,Crossing used Sentri - Shared Ride 2,@(df.pass_type == 'ready'),,SHARED2_coef_ready,, -util_ready_s3,Crossing used Sentri - Shared Ride 3,@(df.pass_type == 'ready'),,,SHARED3_coef_ready, -util_visit_tour_s2,Visit Tour - Shared Ride 2,@df.tour_type == 'visit',,SHARED2_coef_visit,, -util_visit_tour_s3,Visit Tour - Shared Ride 3,@df.tour_type == 'visit',,,SHARED3_coef_visit, -util_visit_tour_walk,Visit Tour - Walk,@df.tour_type == 'visit',,,,WALK_coef_visit -util_other_tour_s2,Other Tour - Shared Ride 2,@df.tour_type == 'other',,SHARED2_coef_other,, -util_other_tour_s3,Other Tour - Shared Ride 3,@df.tour_type == 'other',,,SHARED3_coef_other, -util_other_tour_walk,Other Tour - Walk,@df.tour_type == 'other',,,,WALK_coef_other -util_calib_adj_s2,Calibration Adjustment - Shared Ride 2,1,,SHARED2_coef_calib_adj,, -util_calib_adj_s3,Calibration Adjustment - Shared Ride 3,1,,,SHARED3_coef_calib_adj, -util_calib_adj_walk,Calibration Adjustment - Walk,1,,,,WALK_coef_calib_adj -util_work_tour_s2,Work Tour - Shared Ride 2,@df.tour_type == 'work',,SHARED2_coef_work,, -util_work_tour_s3,Work Tour - Shared Ride 3,@df.tour_type == 'work',,,SHARED3_coef_work, -util_work_tour_walk,Work Tour - Walk,@df.tour_type == 'work',,,,WALK_coef_work -util_school_tour_s2,School Tour - Shared Ride 2,@df.tour_type == 'school',,SHARED2_coef_school,, -util_school_tour_s3,School Tour - Shared Ride 3,@df.tour_type == 'school',,,SHARED3_coef_school, -util_school_tour_walk,School Tour - Walk,@df.tour_type == 'school',,,,WALK_coef_school -util_shop_tour_s2,Shop Tour - Shared Ride 2,@df.tour_type == 'shop',,SHARED2_coef_shop,, -util_shop_tour_s3,Shop Tour - Shared Ride 3,@df.tour_type == 'shop',,,SHARED3_coef_shop, -util_shop_tour_walk,Shop Tour - Walk,@df.tour_type == 'shop',,,,WALK_coef_shop \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice.yaml b/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice.yaml deleted file mode 100755 index 8fcca34bf6..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice.yaml +++ /dev/null @@ -1,69 +0,0 @@ -LOGIT_TYPE: NL - -tvpb_mode_path_types: - -NESTS: - name: root - coefficient: coef_nest_root - alternatives: - - name: AUTO - coefficient: coef_nest_AUTO - alternatives: - - DRIVEALONE - - SHARED2 - - SHARED3 - - name: NONMOTORIZED - coefficient: coef_nest_NONMOTORIZED - alternatives: - - WALK - -SPEC: tour_mode_choice.csv -COEFFICIENTS: tour_mode_choice_coefficients.csv -COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv - -CONSTANTS: - orig_col_name: origin - dest_col_name: destination - wait_time_col_regex: '_wait_[0-9]+$' - -use_TVPB_constants: False - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - - tours - -# to reduce memory needs filter chooser table to these fields -LOGSUM_CHOOSER_COLUMNS: - - tour_type - - hhsize - - density_index - - age - - age_16_p - - age_16_to_19 - - auto_ownership - - number_of_participants - - tour_category - - num_workers - - value_of_time - - free_parking_at_work - - income_segment - - demographic_segment - - c_ivt_for_segment - - c_cost_for_segment - - pass_type - - start - - end - - duration - - is_university - - primary_purpose - - person_id - - household_id - -CHOICE_COL_NAME: tour_mode -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum -COMPUTE_TRIP_MODE_CHOICE_LOGSUMS: True - diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice_annotate_choosers_preprocessor.csv deleted file mode 100755 index 83951672d3..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice_annotate_choosers_preprocessor.csv +++ /dev/null @@ -1,11 +0,0 @@ -Description,Target,Expression -list of POE wait time columns,_WAIT_PERIOD_COLS,land_use.filter(regex=wait_time_col_regex).columns.tolist() -pedestrian crossing wait time column name for each tour,_PED_WAIT_PERIOD_COLS,'ped_wait_' + df.start.astype(str) -standard crossing wait time column name for each tour,_STD_WAIT_PERIOD_COLS,'std_wait_' + df.start.astype(str) -ready crossing wait time column name for each tour,_READY_WAIT_PERIOD_COLS,'ready_wait_' + df.start.astype(str) -sentri crossing wait time column name for each tour,_SENTRI_WAIT_PERIOD_COLS,'sentri_wait_' + df.start.astype(str) -unpivot (a.k.a melt) the POE wait time data,_LONG_WAIT_PERIOD_TIMES,"land_use[land_use['poe_id'].notnull()].reset_index().melt(id_vars='zone_id', value_vars=_WAIT_PERIOD_COLS, var_name='wait_type_period', value_name='time').set_index(['zone_id','wait_type_period'])" -,std_wait,"_LONG_WAIT_PERIOD_TIMES.reindex([df[orig_col_name], _STD_WAIT_PERIOD_COLS])['time'].values" -,ready_wait,"_LONG_WAIT_PERIOD_TIMES.reindex([df[orig_col_name], _READY_WAIT_PERIOD_COLS])['time'].values" -,sentri_wait,"_LONG_WAIT_PERIOD_TIMES.reindex([df[orig_col_name], _SENTRI_WAIT_PERIOD_COLS])['time'].values" -,ped_wait,"_LONG_WAIT_PERIOD_TIMES.reindex([df[orig_col_name], _PED_WAIT_PERIOD_COLS])['time'].values" \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice_coefficients.csv b/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice_coefficients.csv deleted file mode 100755 index 9dff5fe5db..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice_coefficients.csv +++ /dev/null @@ -1,61 +0,0 @@ -coefficient_name,value,constrain -coef_one,1,T -coef_nest_root,1.00,T -coef_nest_AUTO_mandatory,.17,F -coef_nest_NONMOTORIZED_mandatory,0.17,F -coef_wait_mandatory,-0.0300,F -coef_trip_logsum_mandatory,0.200,F -SHARED2_asc_mandatory,-0.5460,F -SHARED3_asc_mandatory,-0.9820,F -WALK_asc_mandatory,-3.4000,F -SHARED2_coef_sentri_mandatory,0.1700,F -SHARED3_coef_sentri_mandatory,0.1230,F -SHARED2_coef_ready_mandatory,0.0,F -SHARED3_coef_ready_mandatory,0.0,F -SHARED2_coef_visit_mandatory,0.0,T -SHARED3_coef_visit_mandatory,0.00,T -WALK_coef_visit_mandatory,0.0,T -SHARED2_coef_other_mandatory,0.0,T -SHARED3_coef_other_mandatory,0.0,T -WALK_coef_other_mandatory,0.0,T -SHARED2_coef_calib_adj_mandatory,0.1608,F -SHARED3_coef_calib_adj_mandatory,0.2728,F -WALK_coef_calib_adj_mandatory,2.4348,F -SHARED2_coef_work_mandatory,0.0275,F -SHARED3_coef_work_mandatory,0.0935,F -WALK_coef_work_mandatory,-1.2362,F -SHARED2_coef_school_mandatory,-0.0868,F -SHARED3_coef_school_mandatory,0.0599,F -WALK_coef_school_mandatory,-0.9567,F -SHARED2_coef_shop_mandatory,0.0,T -SHARED3_coef_shop_mandatory,0.0,T -WALK_coef_shop_mandatory,0.0,T -coef_nest_AUTO_nonmandatory,.28,F -coef_nest_NONMOTORIZED_nonmandatory,.28,F -coef_wait_nonmandatory,-0.0120,F -coef_trip_logsum_nonmandatory,0.214,F -SHARED2_asc_nonmandatory,-1.0800,F -SHARED3_asc_nonmandatory,-1.3520,F -WALK_asc_nonmandatory,-1.9340,F -SHARED2_coef_sentri_nonmandatory,0.4210,F -SHARED3_coef_sentri_nonmandatory,-0.1550,F -SHARED2_coef_ready_nonmandatory,0.0,F -SHARED3_coef_ready_nonmandatory,0.0,F -SHARED2_coef_visit_nonmandatory,0.0754,F -SHARED3_coef_visit_nonmandatory,0.0684,F -WALK_coef_visit_nonmandatory,0.2257,F -SHARED2_coef_other_nonmandatory,0.0723,F -SHARED3_coef_other_nonmandatory,0.0925,F -WALK_coef_other_nonmandatory,0.4702,F -SHARED2_coef_shop_nonmandatory,-0.0608,F -SHARED3_coef_shop_nonmandatory,-0.0361,F -WALK_coef_shop_nonmandatory,0.6857,F -SHARED2_coef_calib_adj_nonmandatory,0.8914,F -SHARED3_coef_calib_adj_nonmandatory,0.9573,F -WALK_coef_calib_adj_nonmandatory,0.2989,F -SHARED2_coef_work_nonmandatory,0.0,T -SHARED3_coef_work_nonmandatory,0.0,T -WALK_coef_work_nonmandatory,0.0,T -SHARED2_coef_school_nonmandatory,0.0,T -SHARED3_coef_school_nonmandatory,0.0,T -WALK_coef_school_nonmandatory,0.0,T \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice_coefficients_template.csv b/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice_coefficients_template.csv deleted file mode 100755 index c247861116..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/tour_mode_choice_coefficients_template.csv +++ /dev/null @@ -1,34 +0,0 @@ -coefficient_name,shop,work,other,visit,school -# same for all segments,,,,, -coef_one,,,,, -coef_nest_root,,,,, -#,,,,, -coef_nest_AUTO,coef_nest_AUTO_nonmandatory,coef_nest_AUTO_mandatory,coef_nest_AUTO_nonmandatory,coef_nest_AUTO_nonmandatory,coef_nest_AUTO_mandatory -coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED_nonmandatory,coef_nest_NONMOTORIZED_mandatory,coef_nest_NONMOTORIZED_nonmandatory,coef_nest_NONMOTORIZED_nonmandatory,coef_nest_NONMOTORIZED_mandatory -coef_wait,coef_wait_nonmandatory,coef_wait_mandatory,coef_wait_nonmandatory,coef_wait_nonmandatory,coef_wait_mandatory -coef_trip_logsum,coef_trip_logsum_nonmandatory,coef_trip_logsum_mandatory,coef_trip_logsum_nonmandatory,coef_trip_logsum_nonmandatory,coef_trip_logsum_mandatory -SHARED2_asc,SHARED2_asc_nonmandatory,SHARED2_asc_mandatory,SHARED2_asc_nonmandatory,SHARED2_asc_nonmandatory,SHARED2_asc_mandatory -SHARED3_asc,SHARED3_asc_nonmandatory,SHARED3_asc_mandatory,SHARED3_asc_nonmandatory,SHARED3_asc_nonmandatory,SHARED3_asc_mandatory -WALK_asc,WALK_asc_nonmandatory,WALK_asc_mandatory,WALK_asc_nonmandatory,WALK_asc_nonmandatory,WALK_asc_mandatory -SHARED2_coef_sentri,SHARED2_coef_sentri_nonmandatory,SHARED2_coef_sentri_mandatory,SHARED2_coef_sentri_nonmandatory,SHARED2_coef_sentri_nonmandatory,SHARED2_coef_sentri_mandatory -SHARED3_coef_sentri,SHARED3_coef_sentri_nonmandatory,SHARED3_coef_sentri_mandatory,SHARED3_coef_sentri_nonmandatory,SHARED3_coef_sentri_nonmandatory,SHARED3_coef_sentri_mandatory -SHARED2_coef_ready,SHARED2_coef_ready_nonmandatory,SHARED2_coef_ready_mandatory,SHARED2_coef_ready_nonmandatory,SHARED2_coef_ready_nonmandatory,SHARED2_coef_ready_mandatory -SHARED3_coef_ready,SHARED3_coef_ready_nonmandatory,SHARED3_coef_ready_mandatory,SHARED3_coef_ready_nonmandatory,SHARED3_coef_ready_nonmandatory,SHARED3_coef_ready_mandatory -SHARED2_coef_visit,SHARED2_coef_visit_nonmandatory,SHARED2_coef_visit_mandatory,SHARED2_coef_visit_nonmandatory,SHARED2_coef_visit_nonmandatory,SHARED2_coef_visit_mandatory -SHARED3_coef_visit,SHARED3_coef_visit_nonmandatory,SHARED3_coef_visit_mandatory,SHARED3_coef_visit_nonmandatory,SHARED3_coef_visit_nonmandatory,SHARED3_coef_visit_mandatory -WALK_coef_visit,WALK_coef_visit_nonmandatory,WALK_coef_visit_mandatory,WALK_coef_visit_nonmandatory,WALK_coef_visit_nonmandatory,WALK_coef_visit_mandatory -SHARED2_coef_other,SHARED2_coef_other_nonmandatory,SHARED2_coef_other_mandatory,SHARED2_coef_other_nonmandatory,SHARED2_coef_other_nonmandatory,SHARED2_coef_other_mandatory -SHARED3_coef_other,SHARED3_coef_other_nonmandatory,SHARED3_coef_other_mandatory,SHARED3_coef_other_nonmandatory,SHARED3_coef_other_nonmandatory,SHARED3_coef_other_mandatory -WALK_coef_other,WALK_coef_other_nonmandatory,WALK_coef_other_mandatory,WALK_coef_other_nonmandatory,WALK_coef_other_nonmandatory,WALK_coef_other_mandatory -SHARED2_coef_calib_adj,SHARED2_coef_calib_adj_nonmandatory,SHARED2_coef_calib_adj_mandatory,SHARED2_coef_calib_adj_nonmandatory,SHARED2_coef_calib_adj_nonmandatory,SHARED2_coef_calib_adj_mandatory -SHARED3_coef_calib_adj,SHARED3_coef_calib_adj_nonmandatory,SHARED3_coef_calib_adj_mandatory,SHARED3_coef_calib_adj_nonmandatory,SHARED3_coef_calib_adj_nonmandatory,SHARED3_coef_calib_adj_mandatory -WALK_coef_calib_adj,WALK_coef_calib_adj_nonmandatory,WALK_coef_calib_adj_mandatory,WALK_coef_calib_adj_nonmandatory,WALK_coef_calib_adj_nonmandatory,WALK_coef_calib_adj_mandatory -SHARED2_coef_work,SHARED2_coef_work_nonmandatory,SHARED2_coef_work_mandatory,SHARED2_coef_work_nonmandatory,SHARED2_coef_work_nonmandatory,SHARED2_coef_work_mandatory -SHARED3_coef_work,SHARED3_coef_work_nonmandatory,SHARED3_coef_work_mandatory,SHARED3_coef_work_nonmandatory,SHARED3_coef_work_nonmandatory,SHARED3_coef_work_mandatory -WALK_coef_work,WALK_coef_work_nonmandatory,WALK_coef_work_mandatory,WALK_coef_work_nonmandatory,WALK_coef_work_nonmandatory,WALK_coef_work_mandatory -SHARED2_coef_school,SHARED2_coef_school_nonmandatory,SHARED2_coef_school_mandatory,SHARED2_coef_school_nonmandatory,SHARED2_coef_school_nonmandatory,SHARED2_coef_school_mandatory -SHARED3_coef_school,SHARED3_coef_school_nonmandatory,SHARED3_coef_school_mandatory,SHARED3_coef_school_nonmandatory,SHARED3_coef_school_nonmandatory,SHARED3_coef_school_mandatory -WALK_coef_school,WALK_coef_school_nonmandatory,WALK_coef_school_mandatory,WALK_coef_school_nonmandatory,WALK_coef_school_nonmandatory,WALK_coef_school_mandatory -SHARED2_coef_shop,SHARED2_coef_shop_nonmandatory,SHARED2_coef_shop_mandatory,SHARED2_coef_shop_nonmandatory,SHARED2_coef_shop_nonmandatory,SHARED2_coef_shop_mandatory -SHARED3_coef_shop,SHARED3_coef_shop_nonmandatory,SHARED3_coef_shop_mandatory,SHARED3_coef_shop_nonmandatory,SHARED3_coef_shop_nonmandatory,SHARED3_coef_shop_mandatory -WALK_coef_shop,WALK_coef_shop_nonmandatory,WALK_coef_shop_mandatory,WALK_coef_shop_nonmandatory,WALK_coef_shop_nonmandatory,WALK_coef_shop_mandatory \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_destination.csv b/activitysim/examples/example_sandag_xborder/configs/trip_destination.csv deleted file mode 100644 index 725fdac6c2..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/trip_destination.csv +++ /dev/null @@ -1,16 +0,0 @@ -Description,Expression,work,school,visit,shop,other -size term for purpose,"@np.log1p(size_terms.get(df.trip_dest, df.purpose))",1,1,1,1,1 -no attractions for purpose,"@size_terms.get(df.trip_dest, df.purpose) == 0",-999,-999,-999,-999,-999 -,"_od_DIST@odt_skims['SOV_NT_M_DIST']",1,1,1,1,1 -,"_dp_DIST@dpt_skims['SOV_NT_M_DIST']",1,1,1,1,1 -intermediate stops on half-tour,_stops_on_leg@df.trip_count - 1,1,1,1,1,1 -"Sample of alternatives correction factor","@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1 -mode choice logsum,od_logsum + dp_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum -,@(df.tour_duration <= 2) * (df.od_logsum + df.dp_logsum),coef_mode_choice_logsum_dur_leq2,coef_mode_choice_logsum_dur_leq2,coef_mode_choice_logsum_dur_leq2,coef_mode_choice_logsum_dur_leq2,coef_mode_choice_logsum_dur_leq2 -,@(df.tour_duration >= 8) * (df.od_logsum + df.dp_logsum),coef_mode_choice_logsum_dur_geq8,coef_mode_choice_logsum_dur_geq8,coef_mode_choice_logsum_dur_geq8,coef_mode_choice_logsum_dur_geq8,coef_mode_choice_logsum_dur_geq8 -first outbound trip,"@(df.trip_num == 1) & df.outbound & (_od_DIST > 1)",coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi -last outbound intermediate stop,"@(df.trip_num == _stops_on_leg) & df.outbound & (_dp_DIST > 1)",coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi -last outbound intermediate stop,"@(df.trip_num == _stops_on_leg) & df.outbound * np.clip(_dp_DIST - 1, 0, 3)",coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3 -first inbound trip,"@(df.trip_num == 1) & (1 - df.outbound) & (_od_DIST > 1)",coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi -last inbound intermediate stop,"@(df.trip_num == _stops_on_leg) & (1 - df.outbound) & (_dp_DIST > 1)",coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi -last inbound intermediate stop,"@(df.trip_num == _stops_on_leg) & (1 - df.outbound) * np.clip(_dp_DIST - 1, 0, 3)",coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3 \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_destination_sample.csv b/activitysim/examples/example_sandag_xborder/configs/trip_destination_sample.csv deleted file mode 100644 index 7fad8f0478..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/trip_destination_sample.csv +++ /dev/null @@ -1,12 +0,0 @@ -Description,Expression,work,school,visit,shop,other -Size variable,"@np.log1p(size_terms.get(df.trip_dest, df.purpose))",1,1,1,1,1 -No attractions,"@size_terms.get(df.trip_dest, df.purpose) == 0",-999,-999,-999,-999,-999 -,"_od_DIST@odt_skims['SOV_NT_M_DIST']",1,1,1,1,1 -,"_dp_DIST@dpt_skims['SOV_NT_M_DIST']",1,1,1,1,1 -intermediate stops on half-tour,_stops_on_leg@df.trip_count - 1,1,1,1,1,1 -first outbound trip,"@(df.trip_num == 1) & df.outbound & (_od_DIST > 1)",coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi -last outbound intermediate stop,"@(df.trip_num == _stops_on_leg) & df.outbound & (_dp_DIST > 1)",coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi -last outbound intermediate stop,"@(df.trip_num == _stops_on_leg) & df.outbound * np.clip(_dp_DIST - 1, 0, 3)",coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3 -first inbound trip,"@(df.trip_num == 1) & (1 - df.outbound) & (_od_DIST > 1)",coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi -last inbound intermediate stop,"@(df.trip_num == _stops_on_leg) & (1 - df.outbound) & (_dp_DIST > 1)",coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi -last inbound intermediate stop,"@(df.trip_num == _stops_on_leg) & (1 - df.outbound) * np.clip(_dp_DIST - 1, 0, 3)",coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3 diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_mode_choice.csv b/activitysim/examples/example_sandag_xborder/configs/trip_mode_choice.csv deleted file mode 100644 index 23ded3424a..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/trip_mode_choice.csv +++ /dev/null @@ -1,94 +0,0 @@ -Label,Description,Expression,DRIVEALONE,SHARED2,SHARED3,WALK,WALK_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED -util_DA_IVT,Drive alone - In-vehicle time,c_ivt * da_time_skims,1,,,,,,, -util_DA_op_cost,Drive alone - Operating cost,@c_cost * (df.cost_per_mile * df.da_dist_skims + df.da_cost_skims),1,,,,,,, -util_DA_park_cost,Drive alone - Parking cost,@c_cost * df.parking_cost,1,,,,,,, -util_S2_IVT,Shared ride 2 HOV - In -vehicle time,c_ivt * s2_time_skims,,1,,,,,, -util_S2_op_cost,Shared ride 2 HOV - Operating cost,@c_cost * (df.cost_per_mile * df.s2_dist_skims + df.s2_cost_skims),,1,,,,,, -util_S2_park_cost,Shared ride 2 HOV - Parking cost,@c_cost * df.parking_cost / cost_share_s2,,1,,,,,, -util_S3_IVT,Shared ride 3+ HOV - In-vehicle time,c_ivt * s3_time_skims,,,1,,,,, -util_S3_op_cost,Shared ride 3+ HOV - Operating cost,@c_cost * (df.cost_per_mile * df.s3_dist_skims + df.s3_cost_skims),,,1,,,,, -util_S3_park_cost,Shared ride 3+ HOV - Parking cost,@c_cost * df.parking_cost / cost_share_s3,,,1,,,,, -util_WALK_unavail,Walk - Mode unavailable,(1 - walk_available),,,,-999,,,, -util_WALK_time,Walk - Time,@df.walk_available * df.c_walk_time * df.walk_time,,,,1,,,, -util_WALK_TRANSIT_unavail,Walk-transit unavailable,walk_transit_logsum <= -500,,,,,-999,,, -util_WALK_TRANSIT,Walk-transit utility,(walk_transit_logsum > -500) * walk_transit_logsum,,,,,1,,, -util_TAXI_IVT,Taxi - In-vehicle time,c_ivt * s2_time_skims,,,,,,1,, -util_TAXI_wait,Taxi - Wait time,c_ivt * taxi_wait_time,,,,,,1,, -util_TAXI_cost,Taxi - Fare,@c_cost * ((taxi_base_fare + (df.s2_dist_skims * taxi_cost_per_mile) + (df.s2_time_skims * taxi_cost_per_minute)) * 100 + df.s2_cost_skims),,,,,,1,, -util_TNC_SINGLE_IVT,TNC Single - In-vehicle time,c_ivt * s2_time_skims,,,,,,,1, -util_TNC_SINGLE_wait,TNC Single - Wait time,c_ivt * 1.5 * tnc_single_wait_time,,,,,,,1, -util_TNC_SINGLE_cost,TNC Single - Cost,"@c_cost * ((tnc_single_base_fare + (df.s2_dist_skims * tnc_single_cost_per_mile) + (df.s2_time_skims * tnc_single_cost_per_minute).clip(lower=tnc_single_cost_minimum)) * 100 + df.s2_cost_skims)",,,,,,,1, -util_TNC_SHARED_IVT,TNC Shared - In-vehicle time,@df.c_ivt * df.s2_time_skims * tnc_shared_ivt_factor,,,,,,,,1 -util_TNC_SHARED_wait,TNC Shared - Wait time,c_ivt * 1.5 * tnc_shared_wait_time,,,,,,,,1 -util_TNC_SHARED_cost,TNC Shared - Cost,"@c_cost * ((tnc_shared_base_fare + (df.s2_dist_skims * tnc_shared_cost_per_mile) + (df.s2_time_skims * tnc_shared_cost_per_minute).clip(lower=tnc_shared_cost_minimum)) * 100 + df.s2_cost_skims)",,,,,,,,1 -util_S2_ASC_tour_DA,s2 ASC - Tour Mode DA,@df.tour_mode_is_da * s2_ASC_tour_da,,1,,,,,, -util_S3_ASC_tour_DA,s3 ASC - Tour Mode DA,@df.tour_mode_is_da * s3_ASC_tour_da,,,1,,,,, -util_WALK_ASC_tour_DA,walk ASC - Tour Mode DA,@df.tour_mode_is_da * walk_ASC_tour_da,,,,1,,,, -util_WALK_TRANSIT_ASC_tour_DA,walk transit ASC - Tour Mode DA,@df.tour_mode_is_da * walk_transit_ASC_tour_da,,,,,1,,, -util_TAXI_ASC_tour_DA,taxi ASC - Tour Mode DA,@df.tour_mode_is_da * taxi_ASC_tour_da,,,,,,1,, -util_TNC_SINGLE_ASC_tour_DA,tnc single ASC - Tour Mode DA,@df.tour_mode_is_da * tnc_single_ASC_tour_da,,,,,,,1, -util_TNC_SHARED_ASC_tour_DA,tnc shared ASC - Tour Mode DA,@df.tour_mode_is_da * tnc_shared_ASC_tour_da,,,,,,,,1 -util_S2_ASC_tour_S2,s2 ASC - Tour Mode S2,@df.tour_mode_is_s2 * s2_ASC_tour_s2,,1,,,,,, -util_S3_ASC_tour_S2,s3 ASC - Tour Mode S2,@df.tour_mode_is_s2 * s3_ASC_tour_s2,,,1,,,,, -util_WALK_ASC_tour_S2,walk ASC - Tour Mode S2,@df.tour_mode_is_s2 * walk_ASC_tour_s2,,,,1,,,, -util_WALK_TRANSIT_ASC_tour_S2,walk transit ASC - Tour Mode S2,@df.tour_mode_is_s2 * walk_transit_ASC_tour_s2,,,,,1,,, -util_TAXI_ASC_tour_S2,taxi ASC - Tour Mode S2,@df.tour_mode_is_s2 * taxi_ASC_tour_s2,,,,,,1,, -util_TNC_SINGLE_ASC_tour_S2,tnc single ASC - Tour Mode S2,@df.tour_mode_is_s2 * tnc_single_ASC_tour_s2,,,,,,,1, -util_TNC_SHARED_ASC_tour_S2,tnc shared ASC - Tour Mode S2,@df.tour_mode_is_s2 * tnc_shared_ASC_tour_s2,,,,,,,,1 -util_S2_ASC_tour_S3,s2 ASC - Tour Mode S3,@df.tour_mode_is_s3 * s2_ASC_tour_s3,,1,,,,,, -util_S3_ASC_tour_S3,s3 ASC - Tour Mode S3,@df.tour_mode_is_s3 * s3_ASC_tour_s3,,,1,,,,, -util_WALK_ASC_tour_S3,walk ASC - Tour Mode S3,@df.tour_mode_is_s3 * walk_ASC_tour_s3,,,,1,,,, -util_WALK_TRANSIT_ASC_tour_S3,walk transit ASC - Tour Mode S3,@df.tour_mode_is_s3 * walk_transit_ASC_tour_s3,,,,,1,,, -util_TAXI_ASC_tour_S3,taxi ASC - Tour Mode S3,@df.tour_mode_is_s3 * taxi_ASC_tour_s3,,,,,,1,, -util_TNC_SINGLE_ASC_tour_S3,tnc single ASC - Tour Mode S3,@df.tour_mode_is_s3 * tnc_single_ASC_tour_s3,,,,,,,1, -util_TNC_SHARED_ASC_tour_S3,tnc shared ASC - Tour Mode S3,@df.tour_mode_is_s3 * tnc_shared_ASC_tour_s3,,,,,,,,1 -util_S2_ASC_tour_WALK,s2 ASC - Tour Mode Walk,@df.tour_mode_is_walk * s2_ASC_tour_walk,,1,,,,,, -util_S3_ASC_tour_WALK,s3 ASC - Tour Mode Walk,@df.tour_mode_is_walk * s3_ASC_tour_walk,,,1,,,,, -util_WALK_ASC_tour_WALK,walk ASC - Tour Mode Walk,@df.tour_mode_is_walk * walk_ASC_tour_walk,,,,1,,,, -util_WALK_TRANSIT_ASC_tour_WALK,walk transit ASC - Tour Mode Walk,@df.tour_mode_is_walk * walk_transit_ASC_tour_walk,,,,,1,,, -util_TAXI_ASC_tour_WALK,taxi ASC - Tour Mode Walk,@df.tour_mode_is_walk * taxi_ASC_tour_walk,,,,,,1,, -util_TNC_SINGLE_ASC_tour_WALK,tnc single ASC - Tour Mode Walk,@df.tour_mode_is_walk * tnc_single_ASC_tour_walk,,,,,,,1, -util_TNC_SHARED_ASC_tour_WALK,tnc shared ASC - Tour Mode Walk,@df.tour_mode_is_walk * tnc_shared_ASC_tour_walk,,,,,,,,1 -util_sentri_S2,s2 Crossing used Sentri,@(df.pass_type == 'sentri') * s2_sentri_coef,,1,,,,,, -util_sentri_S3,s3 Crossing used Sentri,@(df.pass_type == 'sentri') * s3_sentri_coef,,,1,,,,, -util_sentri_WALK,walk Crossing used Sentri,@(df.pass_type == 'sentri') * walk_sentri_coef,,,,1,,,, -util_sentri_WALK_TRANSIT,walk transit Crossing used Sentri,@(df.pass_type == 'sentri') * walk_transit_sentri_coef,,,,,1,,, -util_ready_S2,s2 Crossing used Ready,@(df.pass_type == 'ready') * s2_ready_coef,,1,,,,,, -util_ready_S3,s3 Crossing used Ready,@(df.pass_type == 'ready') * s3_ready_coef,,,1,,,,, -util_ready_WALK,walk Crossing used Ready,@(df.pass_type == 'ready') * walk_ready_coef,,,,1,,,, -util_ready_WALK_TRANSIT,walk transit Crossing used Ready,@(df.pass_type == 'ready') * walk_transit_ready_coef,,,,,1,, -util_work_tour_S2,s2 Work Tour,@df.is_work_tour * s2_work_tour_coef,,1,,,,,, -util_work_tour_S3,s3 Work Tour,@df.is_work_tour * s3_work_tour_coef,,,1,,,,, -util_S2_calib_adj_tour_DA,s2 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * s2_calib_adj_tour_da,,1,,,,,, -util_S3_calib_adj_tour_DA,s3 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * s3_calib_adj_tour_da,,,1,,,,, -util_WALK_calib_adj_tour_DA,walk Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * walk_calib_adj_tour_da,,,,1,,,, -util_WALK_TRANSIT_calib_adj_tour_DA,walk transit Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * walk_transit_calib_adj_tour_da,,,,,1,,, -util_S2_calib_adj_tour_S2,s2 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * s2_calib_adj_tour_s2,,1,,,,,, -util_S3_calib_adj_tour_S2,s3 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * s3_calib_adj_tour_s2,,,1,,,,, -util_WALK_calib_adj_tour_S2,walk Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * walk_calib_adj_tour_s2,,,,1,,,, -util_WALK_TRANSIT_calib_adj_tour_S2,walk transit Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * walk_transit_calib_adj_tour_s2,,,,,1,,, -util_S2_calib_adj_tour_S3,s2 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * s2_calib_adj_tour_s3,,1,,,,,, -util_S3_calib_adj_tour_S3,s3 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * s3_calib_adj_tour_s3,,,1,,,,, -util_WALK_calib_adj_tour_S3,walk Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * walk_calib_adj_tour_s3,,,,1,,,, -util_WALK_TRANSIT_calib_adj_tour_S3,walk transit Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * walk_transit_calib_adj_tour_s3,,,,,1,,, -util_S2_calib_adj_tour_WALK,s2 Calibration Adjustment - Tour Mode Walk,@df.tour_mode_is_walk * s2_calib_adj_tour_walk,,1,,,,,, -util_S3_calib_adj_tour_WALK,s3 Calibration Adjustment - Tour Mode Walk,@df.tour_mode_is_walk * s3_calib_adj_tour_walk,,,1,,,,, -util_WALK_calib_adj_tour_WALK,walk Calibration Adjustment - Tour Mode Walk,@df.tour_mode_is_walk * walk_calib_adj_tour_walk,,,,1,,,, -util_WALK_TRANSIT_calib_adj_tour_WALK,walk transit Calibration Adjustment - Tour Mode Walk,@df.tour_mode_is_walk * walk_transit_calib_adj_tour_walk,,,,,1,,, -util_S2_ABM2_calib_adj_tour_DA,s2 ABM 2 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * s2_abm2_calib_adj_tour_da,,1,,,,,, -util_S3_ABM2_calib_adj_tour_DA,s3 ABM 2 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * s3_abm2_calib_adj_tour_da,,,1,,,,, -util_WALK_ABM2_calib_adj_tour_DA,walk ABM 2 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * walk_abm2_calib_adj_tour_da,,,,1,,,, -util_WALK_TRANSIT_ABM2_calib_adj_tour_DA,walk transit ABM 2 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * walk_transit_abm2_calib_adj_tour_da,,,,,1,,, -util_S2_ABM2_calib_adj_tour_S2,s2 ABM 2 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * s2_abm2_calib_adj_tour_s2,,1,,,,,, -util_S3_ABM2_calib_adj_tour_S2,s3 ABM 2 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * s3_abm2_calib_adj_tour_s2,,,1,,,,, -util_WALK_ABM2_calib_adj_tour_S2,walk ABM 2 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * walk_abm2_calib_adj_tour_s2,,,,1,,,, -util_WALK_TRANSIT_ABM2_calib_adj_tour_S2,walk transit ABM 2 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * walk_transit_abm2_calib_adj_tour_s2,,,,,1,,, -util_S2_ABM2_calib_adj_tour_S3,s2 ABM 2 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * s2_abm2_calib_adj_tour_s3,,1,,,,,, -util_S3_ABM2_calib_adj_tour_S3,s3 ABM 2 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * s3_abm2_calib_adj_tour_s3,,,1,,,,, -util_WALK_ABM2_calib_adj_tour_S3,walk ABM 2 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * walk_abm2_calib_adj_tour_s3,,,,1,,,, -util_WALK_TRANSIT_ABM2_calib_adj_tour_S3,walk transit ABM 2 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * walk_transit_abm2_calib_adj_tour_s3,,,,,1,,, -util_S2_ABM2_calib_adj_tour_WALK,s2 ABM 2 Calibration Adjustment - Tour Mode WALK,@df.tour_mode_is_walk * s2_abm2_calib_adj_tour_walk,,1,,,,,, -util_S3_ABM2_calib_adj_tour_WALK,s3 ABM 2 Calibration Adjustment - Tour Mode WALK,@df.tour_mode_is_walk * s3_abm2_calib_adj_tour_walk,,,1,,,,, -util_WALK_ABM2_calib_adj_tour_WALK,walk ABM 2 Calibration Adjustment - Tour Mode WALK,@df.tour_mode_is_walk * walk_abm2_calib_adj_tour_walk,,,,1,,,, -util_WALK_TRANSIT_ABM2_calib_adj_tour_WALK,walk transit ABM 2 Calibration Adjustment - Tour Mode WALK,@df.tour_mode_is_walk * walk_transit_abm2_calib_adj_tour_walk,,,,,1,,, -util_WALK_TRANSIT_ABM2_calib_adj_all_tour_modes,ABM 2 Calibration Adjustment - transit,@walk_transit_abm2_calib_adj_transit,,,,,1,,, \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_drive_maz_tap.csv deleted file mode 100755 index a5dadfaeb3..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_drive_maz_tap.csv +++ /dev/null @@ -1,3 +0,0 @@ -Label,Description,Expression,utility -util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_drive * (df.DTIME + (df.WDIST / 5280 / walk_speed * 60))",1 -util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * (df.DDIST + (df.WDIST / 5280)) * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_tap_tap.csv b/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_tap_tap.csv deleted file mode 100755 index b27f1cdab0..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_tap_tap.csv +++ /dev/null @@ -1,33 +0,0 @@ -Label,Description,Expression,set1,set2,set3 -# Set 1,,,,, -set1_unavailable,Shut off set if unavailable,@(1 - df.set1_available),C_UNAVAILABLE,, -set1_total_ivt,total IVT,"@df.set1_available * c_ivt * (df.lb_ivt_set1 + eb_fac * (df.eb_ivt_set1 + df.ltd_ivt_set1) + brt_fac * (df.brt_red_ivt_set1 + df.brt_yel_ivt_set1) + lrt_fac * df.lrt_ivt_set1 + cr_fac * df.cr_ivt_set1)",1,, -set1_first_wait_time,First wait time,"@df.set1_available * c_fwt * c_ivt * df.first_wait_set1",1,, -set1_xfer_wait_time,set Transfer Wait Time,"@df.set1_available * c_xwt * c_ivt * df.xfer_wait_set1",1,, -set1_xfer_walk_time,set Walk transfer time,"@df.set1_available * c_waux * c_ivt * df.walk_time_set1",1,, -set1_fare,set Fare,"@df.set1_available * c_cost * df.fare_set1 * 100",1,, -set1_xfers,transfers penalty,@df.set1_available * (df.transfers_set1 > 0) * c_ivt * 1.5 * (-23 + 23 * np.exp(0.414 * df.transfers_set1)),1,, -set1_ASC,ASC,"@df.set1_available * df.asc_eb_set1 * np.where(df.asc_eb_set1 > 0, np.where(df.lb_ivt_set1 > 0, 0.5, 1), 1)",1,, -set1_cr_long_distance,CR long distance bonus,"@df.set1_available * (df.cr_ivt_set1 > 10) * c_ivt * -1.0 * (np.clip(df.cr_ivt_set1, a_min=None, a_max=60) + np.where(df.cr_ivt_set1 > 40, (df.cr_ivt_set1 - 40) * 0.6, 0))",1,, - -# Set 2,,,,, -set2_unavailable,Shut off set if unavailable,@(1 - df.set2_available),,C_UNAVAILABLE, -set2_total_ivt,total IVT,"@df.set2_available * c_ivt * (df.lb_ivt_set2 + eb_fac * (df.eb_ivt_set2 + df.ltd_ivt_set2) + brt_fac * (df.brt_red_ivt_set2 + df.brt_yel_ivt_set2) + lrt_fac * df.lrt_ivt_set2 + cr_fac * df.cr_ivt_set2)",,1, -set2_first_wait_time,First wait time,"@df.set2_available * c_fwt * c_ivt * df.first_wait_set2",,1, -set2_xfer_wait_time,set Transfer Wait Time,"@df.set2_available * c_xwt * c_ivt * df.xfer_wait_set2",,1, -set2_xfer_walk_time,set Walk transfer time,"@df.set2_available * c_waux * c_ivt * df.walk_time_set2",,1, -set2_fare,set Fare,"@df.set2_available * c_cost * df.fare_set2 * 100",,1, -set2_xfers,transfers penalty,@df.set2_available * (df.transfers_set2 > 0) * c_ivt * 1.5 * (-23 + 23 * np.exp(0.414 * df.transfers_set2)),,1, -set2_ASC,ASC,"@df.set2_available * df.asc_eb_set2 * np.where(df.asc_eb_set2 > 0, np.where(df.lb_ivt_set2 > 0, 0.5, 1), 1)",,1, -set2_cr_long_distance,CR long distance bonus,"@df.set2_available * (df.cr_ivt_set2 > 10) * c_ivt * -1.0 * (np.clip(df.cr_ivt_set2, a_min=None, a_max=60) + np.where(df.cr_ivt_set2 > 40, (df.cr_ivt_set2 - 40) * 0.6, 0))",,1, - -# Set 3,,,,, -set3_unavailable,Shut off set if unavailable,@(1 - df.set3_available),,,C_UNAVAILABLE -set3_total_ivt,total IVT,"@df.set3_available * c_ivt * (df.lb_ivt_set3 + eb_fac * (df.eb_ivt_set3 + df.ltd_ivt_set3) + brt_fac * (df.brt_red_ivt_set3 + df.brt_yel_ivt_set3) + lrt_fac * df.lrt_ivt_set3 + cr_fac * df.cr_ivt_set3)",,,1 -set3_first_wait_time,First wait time,"@df.set3_available * c_fwt * c_ivt * df.first_wait_set3",,,1 -set3_xfer_wait_time,set Transfer Wait Time,"@df.set3_available * c_xwt * c_ivt * df.xfer_wait_set3",,,1 -set3_xfer_walk_time,set Walk transfer time,"@df.set3_available * c_waux * c_ivt * df.walk_time_set3",,,1 -set3_fare,set Fare,"@df.set3_available * c_cost * df.fare_set3 * 100",,,1 -set3_xfers,transfers penalty,@df.set3_available * (df.transfers_set3 > 0) * c_ivt * 1.5 * (-23 + 23 * np.exp(0.414 * df.transfers_set3)),,,1 -set3_ASC,ASC,"@df.set3_available * df.asc_eb_set3 * np.where(df.asc_eb_set3 > 0, np.where(df.lb_ivt_set3 > 0, 0.5, 1), 1)",,,1 -set3_cr_long_distance,CR long distance bonus,"@df.set3_available * (df.cr_ivt_set3 > 10) * c_ivt * -1.0 * (np.clip(df.cr_ivt_set3, a_min=None, a_max=60) + np.where(df.cr_ivt_set3 > 40, (df.cr_ivt_set3 - 40) * 0.6, 0))",,,1 \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv deleted file mode 100755 index 5e8f526ea6..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv +++ /dev/null @@ -1,64 +0,0 @@ -Description,Target,Expression - -# set1,, -total IVT,total_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_TOTALIVTT')" -total number of transfers,raw_transfers_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_XFERS')" -commuter rail IVT,cr_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_CMRIVTT')" -light rail IVT,lrt_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_LRTIVTT')" -bus rapid transit red IVT,brt_red_ivt_set1,"los.get_tappairs3d(df.btap,df.atap,df.tod,'BUS_BRTREDIVTT')" -bus rapid transit yellow IVT,brt_yel_ivt_set1,"los.get_tappairs3d(df.btap,df.atap,df.tod,'BUS_BRTYELIVTT')" -express bus IVT,eb_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_EXPIVTT')" -limited bus IVT,ltd_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_LTDEXPIVTT')" -local bus IVT,lb_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_BUSIVTT')" -first wait,first_wait_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_FIRSTWAIT')" -transfer wait,xfer_wait_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_XFERWAIT')" -total walk time,walk_time_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_TOTALWALK')" -fare,fare_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_FARE')" -Transit available,set1_available,"(total_ivt_set1 > 0) * (total_ivt_set1 < 99999)" -Number transfers,transfers_set1,"np.clip(raw_transfers_set1, a_min=None, a_max=4)" -commuter rail ASC,asc_cr_set1,"set1_available * np.where(cr_ivt_set1 > 0, cr_asc * c_ivt, 0)" -light rail ASC,asc_lrt_set1,"set1_available * np.where(asc_cr_set1==0, np.where(lrt_ivt_set1 > 0, lrt_asc * c_ivt, 0), asc_cr_set1)" -bus rapid transit ASC,asc_brt_set1,"set1_available * np.where(asc_lrt_set1==0, np.where(brt_red_ivt_set1 + brt_yel_ivt_set1 > 0, brt_asc * c_ivt, 0), asc_lrt_set1)" -express bus ASC,asc_eb_set1,"set1_available * np.where(asc_brt_set1==0, np.where(eb_ivt_set1 + ltd_ivt_set1 > 0, exp_asc * c_ivt, 0), asc_brt_set1)" - -# set2,, -total IVT,total_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_TOTALIVTT')" -total number of transfers,raw_transfers_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_XFERS')" -commuter rail IVT,cr_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_CMRIVTT')" -light rail IVT,lrt_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_LRTIVTT')" -bus rapid transit red IVT,brt_red_ivt_set2,"los.get_tappairs3d(df.btap,df.atap,df.tod,'PREM_BRTREDIVTT')" -bus rapid transit yellow IVT,brt_yel_ivt_set2,"los.get_tappairs3d(df.btap,df.atap,df.tod,'PREM_BRTYELIVTT')" -express bus IVT,eb_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_EXPIVTT')" -limited bus IVT,ltd_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_LTDEXPIVTT')" -local bus IVT,lb_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_BUSIVTT')" -first wait,first_wait_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_FIRSTWAIT')" -transfer wait,xfer_wait_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_XFERWAIT')" -total walk time,walk_time_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_TOTALWALK')" -fare,fare_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_FARE')" -Transit available,set2_available,"(total_ivt_set2 > 0) * (total_ivt_set2 < 99999)" -Number Transfers,transfers_set2,"np.clip(raw_transfers_set2, a_min=None, a_max=4)" -commuter rail ASC,asc_cr_set2,"set2_available * np.where(cr_ivt_set2 > 0, cr_asc * c_ivt, 0)" -light rail ASC,asc_lrt_set2,"set2_available * np.where(asc_cr_set2==0, np.where(lrt_ivt_set2 > 0, lrt_asc * c_ivt, 0), asc_cr_set2)" -bus rapid transit ASC,asc_brt_set2,"set2_available * np.where(asc_lrt_set2==0, np.where(brt_red_ivt_set2 + brt_yel_ivt_set2 > 0, brt_asc * c_ivt, 0), asc_lrt_set2)" -express bus ASC,asc_eb_set2,"set2_available * np.where(asc_brt_set2==0, np.where(eb_ivt_set2 + ltd_ivt_set2 > 0, exp_asc * c_ivt, 0), asc_brt_set2)" - -# set3,, -total IVT,total_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_TOTALIVTT')" -total number of transfers,raw_transfers_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_XFERS')" -commuter rail IVT,cr_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_CMRIVTT')" -light rail IVT,lrt_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_LRTIVTT')" -bus rapid transit red IVT,brt_red_ivt_set3,"los.get_tappairs3d(df.btap,df.atap,df.tod,'ALLPEN_BRTREDIVTT')" -bus rapid transit yellow IVT,brt_yel_ivt_set3,"los.get_tappairs3d(df.btap,df.atap,df.tod,'ALLPEN_BRTYELIVTT')" -express bus IVT,eb_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_EXPIVTT')" -limited bus IVT,ltd_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_LTDEXPIVTT')" -local bus IVT,lb_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_BUSIVTT')" -first wait,first_wait_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_FIRSTWAIT')" -transfer wait,xfer_wait_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_XFERWAIT')" -total walk time,walk_time_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_TOTALWALK')" -fare,fare_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_FARE')" -Transit avaiable,set3_available,"(total_ivt_set3 > 0) * (total_ivt_set3 < 99999) * (raw_transfers_set3 != 0)" -Number Transfers,transfers_set3,"np.clip(raw_transfers_set3, a_min=None, a_max=4)" -commuter rail ASC,asc_cr_set3,"set3_available * np.where(cr_ivt_set3 > 0, cr_asc * c_ivt, 0)" -light rail ASC,asc_lrt_set3,"set3_available * np.where(asc_cr_set3==0, np.where(lrt_ivt_set3 > 0, lrt_asc * c_ivt, 0), asc_cr_set3)" -bus rapid transit ASC,asc_brt_set3,"set3_available * np.where(asc_lrt_set3==0, np.where(brt_red_ivt_set3 + brt_yel_ivt_set3 > 0, brt_asc * c_ivt, 0), asc_lrt_set3)" -express bus ASC,asc_eb_set3,"set3_available * np.where(asc_brt_set3==0, np.where(eb_ivt_set3 + ltd_ivt_set3 > 0, exp_asc * c_ivt, 0), asc_brt_set3)" \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_walk_maz_tap.csv deleted file mode 100755 index c7bb0e7d36..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/tvpb_utility_walk_maz_tap.csv +++ /dev/null @@ -1,4 +0,0 @@ -Label,Description,Expression,utility -#,,,FIXME column values shouldn't ever be na if different moides have different tables? -util_walk_available,walk available,@(df.walkTime==0) * C_UNAVAILABLE,1 -util_walk_time,walk time,"@c_ivt * c_walk * df.walkTime",1 diff --git a/activitysim/examples/example_sandag_xborder/configs/write_trip_matrices.yaml b/activitysim/examples/example_sandag_xborder/configs/write_trip_matrices.yaml deleted file mode 100644 index fd3b79da32..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/write_trip_matrices.yaml +++ /dev/null @@ -1,108 +0,0 @@ -# read trips table post preprocessor and run expressions to code -# additional data fields, with one data fields for each matrix specified below - -preprocessor: - SPEC: write_trip_matrices_annotate_trips_preprocessor - DF: trips - TABLES: - - tours - -# divide trip counts by household expansion factor -HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in - -# save preprocessed trips table to pipeline if desired -SAVE_TRIPS_TABLE: False - -MATRICES: - - file_name: trips_ea.omx - tables: - - name: DRIVEALONE_EA - data_field: DRIVEALONE_EA - - name: SHARED2_EA - data_field: SHARED2_EA - - name: SHARED3_EA - data_field: SHARED3_EA - - name: WALK_EA - data_field: WALK_EA - - name: WALK_TRANSIT_WALK_EA - data_field: WALK_TRANSIT_WALK_EA - - name: TAXI_EA - data_field: TAXI_EA - - name: TNC_SINGLE_EA - data_field: TNC_SINGLE_EA - - name: TNC_SHARED_EA - data_field: TNC_SHARED_EA - - file_name: trips_am.omx - tables: - - name: DRIVEALONE_AM - data_field: DRIVEALONE_AM - - name: SHARED2_AM - data_field: SHARED2_AM - - name: SHARED3_AM - data_field: SHARED3_AM - - name: WALK_AM - data_field: WALK_AM - - name: WALK_TRANSIT_WALK_AM - data_field: WALK_TRANSIT_WALK_EA - - name: TAXI_AM - data_field: TAXI_AM - - name: TNC_SINGLE_AM - data_field: TNC_SINGLE_AM - - name: TNC_SHARED_AM - data_field: TNC_SHARED_AM - - file_name: trips_md.omx - tables: - - name: DRIVEALONE_MD - data_field: DRIVEALONE_MD - - name: SHARED2_MD - data_field: SHARED2_MD - - name: SHARED3_MD - data_field: SHARED3_MD - - name: WALK_MD - data_field: WALK_MD - - name: WALK_TRANSIT_WALK_MD - data_field: WALK_TRANSIT_WALK_EA - - name: TAXI_MD - data_field: TAXI_MD - - name: TNC_SINGLE_MD - data_field: TNC_SINGLE_MD - - name: TNC_SHARED_MD - data_field: TNC_SHARED_MD - - file_name: trips_pm.omx - tables: - - name: DRIVEALONE_PM - data_field: DRIVEALONE_PM - - name: SHARED2_PM - data_field: SHARED2_PM - - name: SHARED3_PM - data_field: SHARED3_PM - - name: WALK_PM - data_field: WALK_PM - - name: WALK_TRANSIT_WALK_PM - data_field: WALK_TRANSIT_WALK_EA - - name: TAXI_PM - data_field: TAXI_PM - - name: TNC_SINGLE_PM - data_field: TNC_SINGLE_PM - - name: TNC_SHARED_PM - data_field: TNC_SHARED_PM - - file_name: trips_ev.omx - tables: - - name: DRIVEALONE_EV - data_field: DRIVEALONE_EV - - name: SHARED2_EV - data_field: SHARED2_EV - - name: SHARED3_EV - data_field: SHARED3_EV - - name: WALK_EV - data_field: WALK_EV - - name: WALK_TRANSIT_WALK_EV - data_field: WALK_TRANSIT_WALK_EA - - name: TAXI_EV - data_field: TAXI_EV - - name: TNC_SINGLE_EV - data_field: TNC_SINGLE_EV - - name: TNC_SHARED_EV - data_field: TNC_SHARED_EV - -CONSTANTS: diff --git a/activitysim/examples/example_sandag_xborder/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/example_sandag_xborder/configs/write_trip_matrices_annotate_trips_preprocessor.csv deleted file mode 100644 index 09fd5f213b..0000000000 --- a/activitysim/examples/example_sandag_xborder/configs/write_trip_matrices_annotate_trips_preprocessor.csv +++ /dev/null @@ -1,55 +0,0 @@ -Description,Target,Expression -# add additional fields,, -,tour_participants,trips.tour_id.map(tours.number_of_participants) -,distance,odt_skims['SOV_NT_M_DIST'] -# code time periods,, -,is_ea,trips.trip_period == 'EA' -,is_am,trips.trip_period == 'AM' -,is_md,trips.trip_period == 'MD' -,is_pm,trips.trip_period == 'PM' -,is_ev,trips.trip_period == 'EV' -# ea trips,, -,DRIVEALONE_EA,((trips.trip_mode == 'DRIVEALONE') & is_ea) * tour_participants -,SHARED2_EA,((trips.trip_mode == 'SHARED2') & is_ea) * tour_participants -,SHARED3_EA,((trips.trip_mode == 'SHARED3') & is_ea) * tour_participants -,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants -,WALK_TRANSIT_WALK_EA,((trips.trip_mode == 'WALK_TRANSIT') & is_ea) * tour_participants -,TAXI_EA,((trips.trip_mode == 'TAXI') & is_ea) * tour_participants -,TNC_SINGLE_EA,((trips.trip_mode == 'TNC_SINGLE') & is_ea) * tour_participants -,TNC_SHARED_EA,((trips.trip_mode == 'TNC_SHARED') & is_ea) * tour_participants -# am trips,, -,DRIVEALONE_AM,((trips.trip_mode == 'DRIVEALONE') & is_am) * tour_participants -,SHARED2_AM,((trips.trip_mode == 'SHARED2') & is_am) * tour_participants -,SHARED3_AM,((trips.trip_mode == 'SHARED3') & is_am) * tour_participants -,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants -,WALK_TRANSIT_WALK_AM,((trips.trip_mode == 'WALK_TRANSIT') & is_am) * tour_participants -,TAXI_AM,((trips.trip_mode == 'TAXI') & is_am) * tour_participants -,TNC_SINGLE_AM,((trips.trip_mode == 'TNC_SINGLE') & is_am) * tour_participants -,TNC_SHARED_AM,((trips.trip_mode == 'TNC_SHARED') & is_am) * tour_participants -# md trips,, -,DRIVEALONE_MD,((trips.trip_mode == 'DRIVEALONE') & is_md) * tour_participants -,SHARED2_MD,((trips.trip_mode == 'SHARED2') & is_md) * tour_participants -,SHARED3_MD,((trips.trip_mode == 'SHARED3') & is_md) * tour_participants -,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants -,WALK_TRANSIT_WALK_MD,((trips.trip_mode == 'WALK_TRANSIT') & is_md) * tour_participants -,TAXI_MD,((trips.trip_mode == 'TAXI') & is_md) * tour_participants -,TNC_SINGLE_MD,((trips.trip_mode == 'TNC_SINGLE') & is_md) * tour_participants -,TNC_SHARED_MD,((trips.trip_mode == 'TNC_SHARED') & is_md) * tour_participants -# pm trips,, -,DRIVEALONE_PM,((trips.trip_mode == 'DRIVEALONE') & is_pm) * tour_participants -,SHARED2_PM,((trips.trip_mode == 'SHARED2') & is_pm) * tour_participants -,SHARED3_PM,((trips.trip_mode == 'SHARED3') & is_pm) * tour_participants -,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants -,WALK_TRANSIT_WALK_PM,((trips.trip_mode == 'WALK_TRANSIT') & is_pm) * tour_participants -,TAXI_PM,((trips.trip_mode == 'TAXI') & is_pm) * tour_participants -,TNC_SINGLE_PM,((trips.trip_mode == 'TNC_SINGLE') & is_pm) * tour_participants -,TNC_SHARED_PM,((trips.trip_mode == 'TNC_SHARED') & is_pm) * tour_participants -# ev trips,, -,DRIVEALONE_EV,((trips.trip_mode == 'DRIVEALONE') & is_ev) * tour_participants -,SHARED2_EV,((trips.trip_mode == 'SHARED2') & is_ev) * tour_participants -,SHARED3_EV,((trips.trip_mode == 'SHARED3') & is_ev) * tour_participants -,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants -,WALK_TRANSIT_WALK_EV,((trips.trip_mode == 'WALK_TRANSIT') & is_ev) * tour_participants -,TAXI_EV,((trips.trip_mode == 'TAXI') & is_ev) * tour_participants -,TNC_SINGLE_EV,((trips.trip_mode == 'TNC_SINGLE') & is_ev) * tour_participants -,TNC_SHARED_EV,((trips.trip_mode == 'TNC_SHARED') & is_ev) * tour_participants diff --git a/activitysim/examples/example_sandag_xborder/extensions/reassign_tour_purpose.py b/activitysim/examples/example_sandag_xborder/extensions/reassign_tour_purpose.py deleted file mode 100644 index 8fb6339450..0000000000 --- a/activitysim/examples/example_sandag_xborder/extensions/reassign_tour_purpose.py +++ /dev/null @@ -1,53 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import logging - -import pandas as pd -import numpy as np - -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline - -logger = logging.getLogger(__name__) - - -@inject.step() -def reassign_tour_purpose_by_poe( - tours, - chunk_size, - trace_hh_id): - - """ - Simulates tour purpose choices after tour origin has been assigned. This - is useful when the original tour purposes are assigned randomly - from an aggregate distribution that was not segmented by tour origin. - """ - - trace_label = 'reassign_tour_purpose_by_poe' - probs_df = pd.read_csv(config.config_file_path('tour_purpose_probs_by_poe.csv')) - probs_df.columns = [col if col in ['Purpose', 'Description'] else int(col) for col in probs_df.columns] - - tours_df = tours.to_frame(columns=['tour_type', 'poe_id']) - tour_types = probs_df[['Purpose', 'Description']].set_index('Purpose')['Description'] - - tours_df['purpose_id'] = None - for poe, group in tours_df.groupby('poe_id'): - num_tours = len(group) - purpose_probs = probs_df[poe] - purpose_cum_probs = purpose_probs.values.cumsum() - rands = pipeline.get_rn_generator().random_for_df(group) - purpose_scaled_probs = np.subtract(purpose_cum_probs, rands) - purpose = np.argmax((purpose_scaled_probs + 1.0).astype('i4'), axis=1) - tours_df.loc[group.index, 'purpose_id'] = purpose - tours_df['new_tour_type'] = tours_df['purpose_id'].map(tour_types) - - tours = tours.to_frame() - tours['tour_type'] = tours_df['new_tour_type'].reindex(tours.index) - tours['purpose_id'] = tours_df['purpose_id'].reindex(tours.index) - tours['tour_category'] = 'non_mandatory' - tours.loc[tours['tour_type'].isin(['home', 'work']), 'tour_category'] = 'mandatory' - - pipeline.replace_table("tours", tours) - - return diff --git a/activitysim/examples/example_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py b/activitysim/examples/example_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py deleted file mode 100644 index a829b89dab..0000000000 --- a/activitysim/examples/example_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py +++ /dev/null @@ -1,36 +0,0 @@ - -# remove unused skims from full scale sandag cross border skim files to -# reduce file size for upload to GitHub since there's a 2GB file size limit -# run this script and then run these repack commands to reduce file size - -# Ben.Stabler@rsginc.com, 10/18/21 - -# h5repack -i traffic_skims_xborder_EA.omx -o traffic_skims_xborder_EA_repacked.omx -# h5repack -i traffic_skims_xborder_AM.omx -o traffic_skims_xborder_AM_repacked.omx -# h5repack -i traffic_skims_xborder_MD.omx -o traffic_skims_xborder_MD_repacked.omx -# h5repack -i traffic_skims_xborder_PM.omx -o traffic_skims_xborder_PM_repacked.omx -# h5repack -i traffic_skims_xborder_EV.omx -o traffic_skims_xborder_EV_repacked.omx - -import tables - -time_periods = ["EA", "AM", "MD", "PM", "EV"] - -skims_to_remove = ["/data/HOV2_H_HOVDIST", "/data/HOV2_H_REL", "/data/HOV2_H_TOLLDIST", "/data/HOV2_L_HOVDIST", - "/data/HOV2_L_REL", "/data/HOV2_L_TOLLDIST", "/data/HOV2_M_HOVDIST", "/data/HOV2_M_REL", - "/data/HOV2_M_TOLLDIST", "/data/HOV3_H_HOVDIST", "/data/HOV3_H_REL", "/data/HOV3_H_TOLLDIST", - "/data/HOV3_L_HOVDIST", "/data/HOV3_L_REL", "/data/HOV3_L_TOLLDIST", "/data/HOV3_M_HOVDIST", - "/data/HOV3_M_REL", "/data/HOV3_M_TOLLDIST", "/data/SOV_NT_H_REL", "/data/SOV_NT_H_TOLLDIST", - "/data/SOV_NT_L_REL", "/data/SOV_NT_L_TOLLDIST", "/data/SOV_NT_M_REL", "/data/SOV_NT_M_TOLLDIST", - "/data/SOV_TR_H_DIST", "/data/SOV_TR_H_REL", "/data/SOV_TR_H_TIME", "/data/SOV_TR_H_TOLLCOST", - "/data/SOV_TR_H_TOLLDIST", "/data/SOV_TR_L_DIST", "/data/SOV_TR_L_REL", "/data/SOV_TR_L_TIME", - "/data/SOV_TR_L_TOLLCOST", "/data/SOV_TR_L_TOLLDIST", "/data/SOV_TR_M_DIST", "/data/SOV_TR_M_REL", - "/data/SOV_TR_M_TIME", "/data/SOV_TR_M_TOLLCOST", "/data/SOV_TR_M_TOLLDIST", "/data/TRK_H_DIST", - "/data/TRK_H_TIME", "/data/TRK_H_TOLLCOST", "/data/TRK_L_DIST", "/data/TRK_L_TIME", - "/data/TRK_L_TOLLCOST", "/data/TRK_M_DIST", "/data/TRK_M_TIME", "/data/TRK_M_TOLLCOST"] - -for time_period in time_periods: - f = tables.open_file('traffic_skims_xborder_' + time_period + '.omx', 'a') - for skim in skims_to_remove: - print(skim + "__" + time_period) - f.remove_node(skim + "__" + time_period) - f.close() diff --git a/activitysim/examples/example_sandag_xborder/scripts/sandag_crop_3_zone.py b/activitysim/examples/example_sandag_xborder/scripts/sandag_crop_3_zone.py deleted file mode 100644 index 2d544f4f1f..0000000000 --- a/activitysim/examples/example_sandag_xborder/scripts/sandag_crop_3_zone.py +++ /dev/null @@ -1,198 +0,0 @@ -# adapted from -# crop marin tvpb example data processing to one county -# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 - -import os -import pandas as pd -import openmatrix as omx -import argparse -import numpy as np -import glob - -MAZ_OFFSET = 100000 - -segments = { - 'cropped': {'MAZ': np.arange(MAZ_OFFSET + 500, MAZ_OFFSET + 1080)}, - 'full': {}, -} - -parser = argparse.ArgumentParser(description='crop SANDAG 3 zone raw_data') -parser.add_argument('-s', '--segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ, TAP zone_ids and foreign keys & write orphan_households file') - -args = parser.parse_args() - -segment_name = args.segment_name[0] - -assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" - -input_dir = '../data_raw' -output_dir = f'../data_{segment_name}' - -print(f"segment_name {segment_name}") - -print(f"input_dir {input_dir}") -print(f"output_dir {output_dir}") - -if not os.path.isdir(output_dir): - print(f"creating output directory {output_dir}") - os.mkdir(output_dir) - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def patch_maz(df, maz_offset): - for c in df.columns: - if c in ['MAZ', 'OMAZ', 'DMAZ', 'mgra', 'orig_mgra', 'dest_mgra']: - df[c] += maz_offset - return df - - -def read_csv(file_name): - df = pd.read_csv(input_path(file_name)) - if MAZ_OFFSET: - df = patch_maz(df, MAZ_OFFSET) - print(f"read {file_name} {df.shape}") - return df - - -def to_csv(df, file_name): - df.to_csv(output_path(file_name), index=False) - print(f"write {file_name} {df.shape}") - - -def crop_omx(omx_file_name, zones, num_outfiles=1): - - skim_data_type = np.float32 - - omx_in = omx.open_file(input_path(f"{omx_file_name}.omx")) - print(f"omx_in shape {omx_in.shape()}") - - offset_map = None - for mapping_name in omx_in.listMappings(): - _offset_map = np.asanyarray(omx_in.mapentries(mapping_name)) - offset_map = _offset_map - - om = pd.Series(offset_map) - om = om[om.isin(zones.values)] - indexes = om.index.values - labels = zones.values # TAZ zone_ids in omx index order - - # create - if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"{omx_file_name}.omx"), 'w')] - else: - omx_out = [omx.open_file(output_path(f"{omx_file_name}{i + 1}.omx"), 'w') for i in range(num_outfiles)] - - for omx_file in omx_out: - omx_file.create_mapping('ZONE', labels) - - iskim = 0 - for mat_name in omx_in.list_matrices(): - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) - m = m[indexes, :][:, indexes] - print(f"{mat_name} {m.shape}") - - omx_file = omx_out[iskim % num_outfiles] - omx_file[mat_name] = m - iskim += 1 - - omx_in.close() - for omx_file in omx_out: - omx_file.close() - - -# non-standard input file names -LAND_USE = "mazs_xborder.csv" -HOUSEHOLDS = "households_xborder.csv" -PERSONS = "persons_xborder.csv" -TOURS = "tours_xborder.csv" -# MAZ_TAZ = "maz.csv" -# TAP_MAZ = "tap.csv" -TAZ = "taz.csv" - - -# land_use -land_use = read_csv(LAND_USE) -land_use.MAZ = land_use.MAZ.astype(int) -ur_land_use = land_use.copy() - -slicer = segments[segment_name] -for slice_col, slice_values in slicer.items(): - # print(f"slice {slice_col}: {slice_values}") - poe_mask = land_use['poe_id'] > -1 # preserve mazs with poe data - slice_mask = land_use[slice_col].isin(slice_values) - land_use = land_use[(poe_mask) | (slice_mask)] - -print(f"land_use shape after slicing {land_use.shape}") -to_csv(land_use, LAND_USE) - - -# TAZ -taz = pd.DataFrame({'TAZ': sorted(ur_land_use.TAZ.unique())}) -taz = taz[taz.TAZ.isin(land_use["TAZ"])] -# to_csv(taz, TAZ) - -# # maz_taz -# maz_taz = read_csv(MAZ_TAZ).sort_values('MAZ') -# maz_taz = maz_taz[maz_taz.MAZ.isin(land_use.MAZ)] -# to_csv(maz_taz, MAZ_TAZ) - -# # tap -# taps = read_csv(TAP_MAZ) -# taps = taps[['TAP', 'MAZ']].sort_values(by='TAP').reset_index(drop=True) -# taps = taps[taps["MAZ"].isin(land_use["MAZ"])] -# to_csv(taps, "tap.csv") - -# maz to tap -maz_tap_walk = read_csv("maz_tap_walk.csv").sort_values(['MAZ', 'TAP']) -maz_tap_walk = maz_tap_walk[maz_tap_walk["MAZ"].isin(land_use["MAZ"])] -to_csv(maz_tap_walk, "maz_tap_walk.csv") - -# maz to maz -maz_maz_walk = read_csv("maz_maz_walk.csv").sort_values(['OMAZ', 'DMAZ']) -maz_maz_walk = maz_maz_walk[maz_maz_walk["OMAZ"].isin(land_use["MAZ"]) & maz_maz_walk["DMAZ"].isin(land_use["MAZ"])] -to_csv(maz_maz_walk, "maz_maz_walk.csv") - -# taps and tap_lines -tap_lines = read_csv("tap_lines.csv") -tap_lines = tap_lines[tap_lines['TAP'].isin(maz_tap_walk["TAP"])] -to_csv(tap_lines, "tap_lines.csv") - -taps = read_csv("taps.csv") -taps = taps[taps["TAP"].isin(maz_tap_walk["TAP"])] -to_csv(taps, "taps.csv") - -tours = read_csv(TOURS) -to_csv(tours, "tours.csv") - -# households -households = read_csv(HOUSEHOLDS) -# households = households[households["MAZ"].isin(land_use["MAZ"])] -to_csv(households, "households.csv") - -# persons -persons = read_csv(PERSONS) -# persons = persons[persons["household_id"].isin(households["HHID"])] -to_csv(persons, "persons.csv") - -# drive skims -for omx_fpath in glob.glob(input_path("*traffic*xborder*.omx")): - print(omx_fpath) - omx_fname = omx_fpath.replace("\\", '/').split('/')[-1].split(".omx")[0] - crop_omx(omx_fname, taz.TAZ) - -# transit skims -crop_omx('transit_skims_xborder', taps.TAP) diff --git a/activitysim/examples/example_sandag_xborder/simulation.py b/activitysim/examples/example_sandag_xborder/simulation.py deleted file mode 100644 index 9e2c70d7d6..0000000000 --- a/activitysim/examples/example_sandag_xborder/simulation.py +++ /dev/null @@ -1,20 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse -import os - -from activitysim.cli.run import add_run_args, run - -import extensions - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - os.environ['MKL_NUM_THREADS'] = '1' - - sys.exit(run(args)) diff --git a/activitysim/examples/example_sandag_xborder/test/test_sandag_xborder.py b/activitysim/examples/example_sandag_xborder/test/test_sandag_xborder.py deleted file mode 100644 index 3d5b86fd3f..0000000000 --- a/activitysim/examples/example_sandag_xborder/test/test_sandag_xborder.py +++ /dev/null @@ -1,44 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def test_sandag_xborder(): - - def example_path(dirname): - resource = os.path.join('examples', 'example_sandag_xborder', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_trips.csv')) - final_trips_df = pd.read_csv(test_path('output/final_trips.csv')) - pdt.assert_frame_equal(final_trips_df, regress_trips_df) - - file_path = os.path.join(os.path.dirname(__file__), '../simulation.py') - - subprocess.run(['coverage', 'run', '-a', file_path, - '-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), - '-o', test_path('output')], check=True) - - regress() - - -if __name__ == '__main__': - - test_sandag_xborder() diff --git a/activitysim/examples/example_semcog/configs/accessibility.csv b/activitysim/examples/example_semcog/configs/accessibility.csv deleted file mode 100755 index 42128349f1..0000000000 --- a/activitysim/examples/example_semcog/configs/accessibility.csv +++ /dev/null @@ -1,59 +0,0 @@ -Description,Target,Expression -#,, -#,, auto peak -#,, -#,, assume peak occurs in AM for outbound and PM for inbound -peak round trip distance,_auPkTime,"skim_od[('SOV_TIME', 'AM')] + skim_do[('SOV_TIME', 'PM')]" -decay function,_decay, exp(_auPkTime * dispersion_parameter_automobile) -auto peak retail,auPkRetail,df.e05_retail * _decay -auto peak total,auPkTotal,df.tot_emp * _decay -#,, -#,, auto off-peak -#,, -#,, assume midday occurs entirely in the midday period -off-peak round trip distance,_auOpTime,"skim_od[('SOV_TIME', 'MD')] + skim_do[('SOV_TIME', 'MD')]" -decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) -auto off-peak retail,auOpRetail,df.e05_retail * _decay -auto off-peak total,auOpTotal,df.tot_emp * _decay -#,, -#,, transit peak -#,, -#,, assume peak outbound transit occurs in AM -o-d peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_IVT', 'AM')]" -o-d peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_IWAIT', 'AM')] + skim_od[('WLK_TRN_XWAIT', 'AM')] + skim_od[('WLK_TRN_WACC', 'AM')] + skim_od[('WLK_TRN_WAUX', 'AM')] + skim_od[('WLK_TRN_WEGR', 'AM')]" -o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) -#,, assume peak inbound transit occurs in PM -d-o peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_IVT', 'PM')]" -d-o peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_IWAIT', 'PM')] + skim_do[('WLK_TRN_XWAIT', 'PM')] + skim_do[('WLK_TRN_WACC', 'PM')] + skim_do[('WLK_TRN_WAUX', 'PM')] + skim_do[('WLK_TRN_WEGR', 'PM')]" -d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) -peak transit time,_trPkTime,_trPkTime_od + _trPkTime_do -round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) -decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) -transit peak retail,trPkRetail,df.e05_retail * _decay -transit peak total,trPkTotal,df.tot_emp * _decay -#,, -#,, transit off-peak -#,, -#,, assume off-peak outbound transit occurs in the MD time period -o-d off-peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_IVT', 'MD')]" -o-d off-peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_IWAIT', 'MD')] + skim_od[('WLK_TRN_XWAIT', 'MD')] + skim_od[('WLK_TRN_WACC', 'MD')] + skim_od[('WLK_TRN_WAUX', 'MD')] + skim_od[('WLK_TRN_WEGR', 'MD')]" -o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) -#,, assume off-peak inbound transit occurs in the MD time period -d-o off-peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_IVT', 'MD')]" -d-o off-peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_IWAIT', 'MD')] + skim_do[('WLK_TRN_XWAIT', 'MD')] + skim_do[('WLK_TRN_WACC', 'MD')] + skim_do[('WLK_TRN_WAUX', 'MD')] + skim_do[('WLK_TRN_WEGR', 'MD')]" -d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) -peak transit time,_trOpTime,_trOpTime_od + _trOpTime_do -#,,FIXME - _rt_available calculation appears to be wrong in mtctm1 accessibility.job -#round trip path is available,_rt_available,(_trOpTime > 0) -round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) -decay function,_decay,_rt_available * exp(_trOpTime * dispersion_parameter_transit) -transit off-peak retail,trOpRetail,df.e05_retail * _decay -transit off-peak total,trOpTotal,df.tot_emp * _decay -#,, -#,, non motorized -#,, -non-motorized round trip distance,_nmDist,skim_od['DISTWALK'] + skim_do['DISTWALK'] -round trip path is available,_rt_available,_nmDist <= maximum_walk_distance -decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) -retail accessibility,nmRetail,df.e05_retail * _decay -total accessibility,nmTotal,df.tot_emp * _decay diff --git a/activitysim/examples/example_semcog/configs/accessibility.yaml b/activitysim/examples/example_semcog/configs/accessibility.yaml deleted file mode 100755 index 6bf19b6739..0000000000 --- a/activitysim/examples/example_semcog/configs/accessibility.yaml +++ /dev/null @@ -1,13 +0,0 @@ - -# columns from land_use table to add to df -land_use_columns: ['e05_retail', 'tot_emp'] - -CONSTANTS: - # dispersion parameters - dispersion_parameter_automobile: -0.05 - dispersion_parameter_transit: -0.05 - dispersion_parameter_walk: -1.00 - # maximum walk distance in miles - maximum_walk_distance: 3.0 - # perceived minute of in-vehicle time for every minute of out-of-vehicle time - out_of_vehicle_time_weight: 2.0 diff --git a/activitysim/examples/example_semcog/configs/annotate_households.csv b/activitysim/examples/example_semcog/configs/annotate_households.csv deleted file mode 100755 index 55a4210d5b..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_households.csv +++ /dev/null @@ -1,42 +0,0 @@ -Description,Target,Expression -#,, annotate households table after import -,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" -#,,FIXME households.income can be negative - so we clip? -income,income,households.HINCP.fillna(0) -income_in_thousands,income_in_thousands,(income / 1000).clip(lower=0) -income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)" -#,, -,_MIN_VOT,setting('min_value_of_time') -,_MAX_VOT,setting('max_value_of_time') -,_MU,setting('distributed_vot_mu') -,_SIGMA,setting('distributed_vot_sigma') -median_value_of_time,median_value_of_time,"income_segment.map({k: v for k, v in setting('household_median_value_of_time').items()})" -hh_value_of_time,hh_value_of_time,"rng.lognormal_for_df(df, mu=np.log(median_value_of_time * _MU), sigma=_SIGMA).clip(_MIN_VOT, _MAX_VOT)" -#,, -#num_workers was renamed in import,, -,num_workers,"_PERSON_COUNT('(ESR==1)|(ESR==2)|(ESR==4)|(ESR==5)', persons, households)" -number of non_workers,num_non_workers,households.hhsize - num_workers -#,, -#,,we assume that everyone 16 and older is a potential driver -number of drivers,num_drivers,"_PERSON_COUNT('16 <= age', persons, households)" -num_adults,num_adults,"_PERSON_COUNT('18 <= age', persons, households)" -num_children,num_children,"_PERSON_COUNT('18 > age', persons, households)" -num_young_children,num_young_children,"_PERSON_COUNT('age <= 5', persons, households)" -num_children_5_to_15,num_children_5_to_15,"_PERSON_COUNT('5 <= age <= 15', persons, households)" -num_children_6_to_12,num_children_6_to_12,"_PERSON_COUNT('6 <= age <= 12', persons, households)" -num_children_16_to_17,num_children_16_to_17,"_PERSON_COUNT('16 <= age <= 17', persons, households)" -num_college_age,num_college_age,"_PERSON_COUNT('18 <= age <= 24', persons, households)" -num_young_adults,num_young_adults,"_PERSON_COUNT('25 <= age <= 34', persons, households)" -non_family,non_family,households.HHT.isin(HHT_NONFAMILY) -family,family,households.HHT.isin(HHT_FAMILY) -home_is_urban,home_is_urban,"reindex(land_use.AreaType, households.home_zone_id) < setting('urban_threshold')" -home_is_rural,home_is_rural,"reindex(land_use.AreaType, households.home_zone_id) > setting('rural_threshold')" -#,, default for work and school location logsums before auto_ownership model is run -,auto_ownership,households.auto_ownership -TAZ column to match settings file,TAZ,households.home_zone_id -number of pre-driving age children in the household,num_predrive_child,"_PERSON_COUNT('ptype == 7', persons, households)" -number of non-working adult in the household,num_nonworker_adults,"_PERSON_COUNT('ptype == 4', persons, households)" -number of full time workers,num_fullTime_workers,"_PERSON_COUNT('is_fulltime_worker', persons, households)" -number of part time workers,num_partTime_workers,"_PERSON_COUNT('is_parttime_worker', persons, households)" -number of retired adults in the household,_num_retired_adults,"_PERSON_COUNT('ptype == 5', persons, households)" -Retired Adults Only Households,retired_adults_only_hh,(households.hhsize > 0) & (households.hhsize == _num_retired_adults) diff --git a/activitysim/examples/example_semcog/configs/annotate_households_cdap.csv b/activitysim/examples/example_semcog/configs/annotate_households_cdap.csv deleted file mode 100755 index a11620f76b..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_households_cdap.csv +++ /dev/null @@ -1,9 +0,0 @@ -Description,Target,Expression -#,, annotate households table after cdap model has run -num_under16_not_at_school,num_under16_not_at_school,persons.under16_not_at_school.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_adults,num_travel_active_adults,(persons.adult & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == PTYPE_PRESCHOOL) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_children,num_travel_active_children,num_travel_active - num_travel_active_adults -num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers -participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) diff --git a/activitysim/examples/example_semcog/configs/annotate_households_workplace.csv b/activitysim/examples/example_semcog/configs/annotate_households_workplace.csv deleted file mode 100755 index b835abf499..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_households_workplace.csv +++ /dev/null @@ -1,5 +0,0 @@ -Description,Target,Expression -#,, annotate households table after workplace_location model has run -#,, hh_work_auto_savings_ratio is sum of persons work_auto_savings_ratio -,hh_work_auto_savings_ratio,persons.work_auto_savings_ratio.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0) -#,,handle persons with no locatcion diff --git a/activitysim/examples/example_semcog/configs/annotate_landuse.csv b/activitysim/examples/example_semcog/configs/annotate_landuse.csv deleted file mode 100755 index 251ab46564..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_landuse.csv +++ /dev/null @@ -1,5 +0,0 @@ -Description,Target,Expression -#,, annotate landuse table after import -household_density,household_density,land_use.tot_hhs / (land_use.tot_acres) -employment_density,employment_density,land_use.tot_emp / (land_use.tot_acres) -density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) diff --git a/activitysim/examples/example_semcog/configs/annotate_persons.csv b/activitysim/examples/example_semcog/configs/annotate_persons.csv deleted file mode 100755 index 52b2d756f2..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_persons.csv +++ /dev/null @@ -1,67 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after import -age_0_to_5,age_0_to_5,"persons.age.between(0,5)" -age_6_to_12,age_6_to_12,"persons.age.between(6,12)" -age_16_to_19,age_16_to_19,"persons.age.between(16, 19)" -age_16_p,age_16_p,persons.age >= 16 -adult,adult,persons.age >= 18 -male,male,persons.sex == 1 -female,female,persons.sex == 2 -,esr,persons.ESR.fillna(0) -,wkhp,persons.WKHP.fillna(0) -,wkw,persons.WKW.fillna(0) -,schg,persons.SCHG.fillna(0) -,mil,persons.MIL.fillna(0) -employment status type,pemploy,np.zeros(len(persons)) -,pemploy,"np.where(persons.age < 16, PEMPLOY_CHILD, PEMPLOY_PART)" -,pemploy,"np.where((persons['age'] >= 16) & ((esr == 3) | (esr == 6)), PEMPLOY_NOT, pemploy)" -,pemploy,"np.where((persons.age>=16)&((esr != 3)&(esr != 6))&(wkhp >= 35) & (wkw >= 1) & (wkw <= 4), PEMPLOY_FULL, pemploy)" -student category,pstudent,np.zeros(len(persons)) -,pstudent,"np.where((pemploy == 1) & (persons.age >= 16), PSTUDENT_NOT, pstudent)" -,pstudent,"np.where((pemploy == 1) & (persons.age < 16), PSTUDENT_GRADE_OR_HIGH, pstudent)" -,pstudent,"np.where((schg < 1) & (persons.age >= 16), PSTUDENT_NOT, pstudent)" -,pstudent,"np.where((schg < 1) & (persons.age < 16), PSTUDENT_GRADE_OR_HIGH, pstudent)" -,pstudent,"np.where((schg >= 15) & (persons.age >= 16) & (pemploy != 1), PSTUDENT_UNIVERSITY, pstudent)" -,pstudent,"np.where((schg >= 15) & (persons.age < 16) & (pemploy != 1), PSTUDENT_GRADE_OR_HIGH, pstudent)" -,pstudent,"np.where((persons.age <= 19) & (pemploy != 1) & (schg >=1) & (schg<=14), PSTUDENT_GRADE_OR_HIGH, pstudent)" -,pstudent,"np.where((persons.age > 19) & (pemploy != 1) & (schg >=1) & (schg<=14), PSTUDENT_UNIVERSITY, pstudent)" -,pstudent,"np.where(pstudent == 0, 3, pstudent)" -person type,ptype,np.zeros(len(persons)) -,ptype,"np.where((pemploy == 1), PTYPE_FULL, PTYPE_NONWORK)" -,ptype,"np.where((pstudent == 3) & (pemploy == 2), PTYPE_PART, ptype)" -,ptype,"np.where((pstudent == 3) & (persons['age'] >= 65) & ((pemploy == 3) | (pemploy == 4)), PTYPE_RETIRED, ptype)" -,ptype,"np.where((pstudent == 3) & (persons['age'] < 6) & ((pemploy == 3) | (pemploy == 4)), PTYPE_PRESCHOOL, ptype)" -,ptype,"np.where((pstudent == 3) & (persons['age'] >= 6) & (persons['age'] <= 64) & ((pemploy == 3) | (pemploy == 4)), PTYPE_NONWORK, ptype)" -,ptype,"np.where((pstudent == 2) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_UNIVERSITY, ptype)" -,ptype,"np.where((pstudent == 1) & (persons['age'] < 6) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_PRESCHOOL, ptype)" -,ptype,"np.where((pstudent == 1) & (persons['age'] >= 16) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_DRIVING, ptype)" -,ptype,"np.where((pstudent == 1) & (persons['age'] >= 6) & (persons['age'] < 16) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_SCHOOL, ptype)" -presence of non_worker other than self in household,has_non_worker,"other_than(persons.household_id, ptype == PTYPE_NONWORK)" -presence of retiree other than self in household,has_retiree,"other_than(persons.household_id, ptype == PTYPE_RETIRED)" -presence of preschooler other than self in household,has_preschool_kid,"other_than(persons.household_id, ptype == PTYPE_PRESCHOOL)" -presence of driving_kid other than self in household,has_driving_kid,"other_than(persons.household_id, ptype == PTYPE_DRIVING)" -presence of school_kid other than self in household,has_school_kid,"other_than(persons.household_id, ptype == PTYPE_SCHOOL)" -presence of full_time worker other than self in household (independent of person type),has_full_time,"other_than(persons.household_id, pemploy==PEMPLOY_FULL)" -presence of part_time worker other than self in household (independent of person type),has_part_time,"other_than(persons.household_id, pemploy==PEMPLOY_PART)" -presence of university student other than self in household,has_university,"other_than(persons.household_id, ptype == PTYPE_UNIVERSITY)" -student_is_employed,student_is_employed,"np.where(((ptype == PTYPE_UNIVERSITY) | (ptype == PTYPE_DRIVING)) & ((pemploy == PEMPLOY_FULL) | (pemploy == PEMPLOY_PART)), True, False)" -nonstudent_to_school,nonstudent_to_school,"np.where(((ptype == PTYPE_FULL) | (ptype == PTYPE_PART) | (ptype == PTYPE_NONWORK) | (ptype == PTYPE_RETIRED)) & ((pstudent == PSTUDENT_GRADE_OR_HIGH) | (pstudent == PSTUDENT_UNIVERSITY)), True, False)" -is_student,is_student,"np.where((pstudent == PSTUDENT_GRADE_OR_HIGH) | (pstudent == PSTUDENT_UNIVERSITY), True, False)" -preschool age can go to preschool,is_student,"np.where((pstudent == PSTUDENT_GRADE_OR_HIGH) | (pstudent == PSTUDENT_UNIVERSITY) & (persons.age > GRADE_SCHOOL_MIN_AGE), True, is_student)" -is_gradeschool,is_gradeschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age <= GRADE_SCHOOL_MAX_AGE) -is_highschool,is_highschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age > GRADE_SCHOOL_MAX_AGE) -is_university,is_university,pstudent == PSTUDENT_UNIVERSITY -school_segment gradeschool,school_segment,"np.where(is_gradeschool, SCHOOL_SEGMENT_GRADE, SCHOOL_SEGMENT_NONE)" -school_segment highschool,school_segment,"np.where(is_highschool, SCHOOL_SEGMENT_HIGH, school_segment)" -school_segment university,school_segment,"np.where(is_university, SCHOOL_SEGMENT_UNIV, school_segment).astype(np.int8)" -#,, -is_worker,is_worker,"np.where((pemploy == PEMPLOY_FULL) |( pemploy == PEMPLOY_PART), True, False)" -#,, -home_zone_id,home_zone_id,"reindex(households.home_zone_id, persons.household_id)" -hh_child,hh_child,"reindex(households.children, persons.household_id)" -person number,PNUM,persons.member_id -income,income,"reindex(households.HINCP, persons.household_id)" -income_in_thousands,income_in_thousands,(income / 1000).clip(lower=0) -income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)" -is_fulltime_worker,is_fulltime_worker,"((age_16_p) & (wkhp >=35) & (wkw>=1) & (wkw<=4) & (~esr.isin([3,6])))" -is_parttime_worker,is_parttime_worker,"((age_16_p) & (~esr.isin([3,6])) & (is_fulltime_worker == False))" diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_after_hh.csv b/activitysim/examples/example_semcog/configs/annotate_persons_after_hh.csv deleted file mode 100755 index ebb8b06a58..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_persons_after_hh.csv +++ /dev/null @@ -1,22 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after annotate_households -#,, adults get full hh_value_of_time and children get 60% -,_hh_vot,"reindex(households.hh_value_of_time, persons.household_id)" -,value_of_time,"_hh_vot.where(persons.age>=18, _hh_vot * 0.667)" -,_hh_income,"reindex(households.HINCP, persons.household_id)" -,_num_adults,"reindex(households.num_adults, persons.household_id)" -,_num_predrive_child,"reindex(households.num_predrive_child, persons.household_id)" -,_num_nonworker_adults,"reindex(households.num_nonworker_adults, persons.household_id)" -,_num_full_time_workers,"reindex(households.num_fullTime_workers, persons.household_id)" -Income less than 25K,is_income_less25K,(_hh_income)<25000 -Income 25K to 60K,is_income_25K_to_60K,((_hh_income)>=25000) & ((_hh_income)<60000) -Income 60K to 120K,is_income_60K_to_120K, ((_hh_income)>=60000) & ((_hh_income)<120000) -Income greater than 60K,is_income_greater60K,((_hh_income)>=60000) -Income greater than 120K,is_income_greater120K,((_hh_income)>=120000) -Presence of nonworker in HHs,is_non_worker_in_HH,_num_nonworker_adults>0 -all the adults in the HH are full time workers,is_all_adults_full_time_workers,(_num_adults) == (_num_full_time_workers) -Presence of predrive child in HHs,is_pre_drive_child_in_HH,_num_predrive_child>0 -,_has_young_children,"reindex(households.num_young_children, persons.household_id)" -,_has_children_6_to_12,"reindex(households.num_children_6_to_12, persons.household_id)" -has_young_children,has_young_children,_has_young_children>0 -has_children_6_to_12,has_children_6_to_12,_has_children_6_to_12>0 diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_cdap.csv b/activitysim/examples/example_semcog/configs/annotate_persons_cdap.csv deleted file mode 100755 index d1344ea4a2..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_persons_cdap.csv +++ /dev/null @@ -1,7 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after cdap model has run -travel_active,travel_active,persons.cdap_activity != CDAP_ACTIVITY_HOME -under16_not_at_school,under16_not_at_school,"persons.ptype.isin([PTYPE_SCHOOL, PTYPE_PRESCHOOL]) & persons.cdap_activity.isin(['N', 'H'])" -has_preschool_kid_at_home,has_preschool_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_PRESCHOOL) & (persons.cdap_activity == 'H'))" -has_school_kid_at_home,has_school_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_SCHOOL) & (persons.cdap_activity == 'H'))" -,cdap_activity,"np.where((persons.work_from_home) & (persons.cdap_activity=='M'), np.random.choice(['N','H']), persons.cdap_activity)" diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_jtp.csv b/activitysim/examples/example_semcog/configs/annotate_persons_jtp.csv deleted file mode 100755 index 3d5e08db0c..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_persons_jtp.csv +++ /dev/null @@ -1,3 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after joint_tour_participation model has run -num_joint_tours,num_joint_tours,"joint_tour_participants.groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_mtf.csv b/activitysim/examples/example_semcog/configs/annotate_persons_mtf.csv deleted file mode 100755 index b235b8ed69..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_persons_mtf.csv +++ /dev/null @@ -1,10 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after mandatory_tour_frequency model has run -,_PERSON_TOUR_COUNT,"lambda exp, persons, tours: tours.query(exp).groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" -,_Q,"lambda s: ""'{}'"".format(s)" -work_and_school_and_worker,work_and_school_and_worker,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_worker -work_and_school_and_student,work_and_school_and_student,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_student -number of mandatory tours for each person,num_mand,"_PERSON_TOUR_COUNT('tour_category==%s' % _Q('mandatory'), persons, tours).fillna(0)" -number of work tours for each person,num_work_tours,"_PERSON_TOUR_COUNT('tour_type==%s' % _Q('work'), persons, tours).fillna(0)" -presence of pre school kid with mandatory tours,has_pre_school_child_with_mandatory,"other_than(persons.household_id, (persons.ptype == 8) & (num_mand > 0))" -presense of driving age school children with mandatory tours,has_driving_age_child_with_mandatory,"other_than(persons.household_id, (persons.ptype == 6) & (num_mand > 0))" diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_nmtf.csv b/activitysim/examples/example_semcog/configs/annotate_persons_nmtf.csv deleted file mode 100755 index 17a1a001fb..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_persons_nmtf.csv +++ /dev/null @@ -1,15 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after non_mandatory_tour_frequency model has run -num_non_mand,num_non_mand,tours[tours.tour_category=='non_mandatory'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_escort_tours,num_escort_tours,tours[tours.tour_type == 'escort'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_eatout_tours,num_eatout_tours,tours[tours.tour_type == 'eatout'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_shop_tours,num_shop_tours,tours[tours.tour_type == 'shopping'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_maint_tours,num_maint_tours,tours[tours.tour_type == 'othmaint'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_discr_tours,num_discr_tours,tours[tours.tour_type == 'othdiscr'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_social_tours,num_social_tours,tours[tours.tour_type == 'social'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_non_escort_tours,num_non_escort_tours,num_non_mand-num_escort_tours -total shopping and maintenance tours,num_shop_maint_tours,num_shop_tours + num_maint_tours -"total shopping, maintenance and escort tours",num_shop_maint_escort_tours,num_shop_tours + num_maint_tours + num_escort_tours -number of additional shopping and maintenance tours,num_add_shop_maint_tours,"np.where (num_shop_maint_tours>0, 1, 0) * (num_shop_maint_tours - 1)" -total social and discretionary tours,num_soc_discr_tours,num_social_tours + num_discr_tours -number of additional social and discretionary,num_add_soc_discr_tours,"np.where (num_soc_discr_tours>0, 1, 0) * (num_soc_discr_tours - 1)" diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_school.csv b/activitysim/examples/example_semcog/configs/annotate_persons_school.csv deleted file mode 100755 index 43625623f8..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_persons_school.csv +++ /dev/null @@ -1,7 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after school_location model has run -,distance_to_school,"np.where(persons.school_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, 'DIST'),np.nan)" -#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD -temp auto_time_to_school,_auto_time_to_school,"skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, ('SOV_TIME', 'MD'))" -temp auto_time_return,_auto_time_return,"skim_dict.lookup(persons.school_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" -free flow roundtrip_auto_time_to_school,roundtrip_auto_time_to_school,"np.where(persons.school_zone_id>=0,_auto_time_to_school + _auto_time_return,0)" diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_workplace.csv b/activitysim/examples/example_semcog/configs/annotate_persons_workplace.csv deleted file mode 100755 index 04d0c37b00..0000000000 --- a/activitysim/examples/example_semcog/configs/annotate_persons_workplace.csv +++ /dev/null @@ -1,32 +0,0 @@ -Description,Target,Expression -#,, annotate persons table after workplace_location model has run -,distance_to_work,"np.where(persons.workplace_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DIST'),np.nan)" -workplace_in_cbd,workplace_in_cbd,"reindex(land_use.AreaType, persons.workplace_zone_id) < setting('cbd_threshold')" -work_zone_area_type,work_zone_area_type,"reindex(land_use.AreaType, persons.workplace_zone_id)" -#,, auto time to work - free flow travel time in both directions. MTC TM1 was MD and MD -#,,roundtrip_auto_time_to_work -,_auto_time_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('SOV_TIME', 'MD'))" -,_auto_time_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" -,roundtrip_auto_time_to_work,"np.where(persons.workplace_zone_id>=0,_auto_time_home_to_work + _auto_time_work_to_home,0)" -#,,_roundtrip_walk_time_to_work -,_MAX_TIME_TO_WORK,999 -,_WALK_SPEED_MPH,3 -,_walk_time_home_to_work,"60 * skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" -,_walk_time_work_to_home,"60 * skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" -,_work_walk_available,(_walk_time_home_to_work > 0) & (_walk_time_work_to_home > 0) -,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" -#,,_roundtrip_transit_time_to_work -,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_IVT', 'MD'))" -,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_IVT', 'MD'))" -,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) -,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_IWAIT', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_IWAIT', 'MD'))" -,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_XWAIT', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_XWAIT', 'MD'))" -,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WAUX', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WAUX', 'MD'))" -,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WACC', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WACC', 'MD'))" -,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WEGR', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WEGR', 'MD'))" -,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr -#,,work_auto_savings_ratio -,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" -,work_auto_savings,"np.where(persons.is_worker, _min_work_walk_transit - roundtrip_auto_time_to_work, 0)" -#,,auto savings over walk or transit capped at 120 and normalized to unity -,work_auto_savings_ratio,"(work_auto_savings / 120.0).clip(-1.0, 1.0)" diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_destination_coeffs.csv b/activitysim/examples/example_semcog/configs/atwork_subtour_destination_coeffs.csv deleted file mode 100755 index 0a37e30c44..0000000000 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_destination_coeffs.csv +++ /dev/null @@ -1,9 +0,0 @@ -coefficient_name,value,constrain -coef_dist_atwork,-0.021259921,F -coef_dist_squared_atwork,-0.017765289,F -coef_dist_cubed_atwork,0.000703328,F -coef_dist_logged_atwork,-0.844157837,F -coef_size_variable_atwork,1,T -coef_no_attractions_atwork_size_variable_is_0,-999,T -coef_mode_choice_logsum_atwork,0.79,F -coef_sample_of_alternatives_correction_factor,1,T diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency.csv b/activitysim/examples/example_semcog/configs/atwork_subtour_frequency.csv deleted file mode 100755 index 154c1d8972..0000000000 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency.csv +++ /dev/null @@ -1,23 +0,0 @@ -Label,Expression,no_subtours,eat,business1,maint,business2,eat_business -util_dummy_for_full_time_worker,pemploy==1,coefficient_dummy_for_full_time_worker_no_subtours,coefficient_dummy_for_full_time_worker_eat,coefficient_dummy_for_full_time_worker_business1,coefficient_dummy_for_full_time_worker_maint,coefficient_dummy_for_full_time_worker_business2,coefficient_dummy_for_full_time_worker_eat_business -util_dummy_for_non_full_time_worker,pemploy!=1,coefficient_dummy_for_non_full_time_worker_no_subtours,coefficient_dummy_for_non_full_time_worker_eat,coefficient_dummy_for_non_full_time_worker_business1,coefficient_dummy_for_non_full_time_worker_maint,coefficient_dummy_for_non_full_time_worker_business2,coefficient_dummy_for_non_full_time_worker_eat_business -util_dummy_for_non_workers,"ptype in [4, 5]",coefficient_dummy_for_non_workers_no_subtours,coefficient_dummy_for_non_workers_eat,coefficient_dummy_for_non_workers_business1,coefficient_dummy_for_non_workers_maint,coefficient_dummy_for_non_workers_business2,coefficient_dummy_for_non_workers_eat_business -util_medium_hh_income_dummy,income_segment == 2,coefficient_medium_hh_income_dummy_no_subtours,coefficient_medium_hh_income_dummy_eat,coefficient_medium_hh_income_dummy_business1,coefficient_medium_hh_income_dummy_maint,coefficient_medium_hh_income_dummy_business2,coefficient_medium_hh_income_dummy_eat_business -util_high_hh_income_dummy,(income_segment > 2) & (income_segment < 5),coefficient_high_hh_income_dummy_no_subtours,coefficient_high_hh_income_dummy_eat,coefficient_high_hh_income_dummy_business1,coefficient_high_hh_income_dummy_maint,coefficient_high_hh_income_dummy_business2,coefficient_high_hh_income_dummy_eat_business -util_zero_cars_owned_by_hh_dummy, auto_ownership == 0,coefficient_zero_cars_owned_by_hh_dummy_no_subtours,coefficient_zero_cars_owned_by_hh_dummy_eat,coefficient_zero_cars_owned_by_hh_dummy_business1,coefficient_zero_cars_owned_by_hh_dummy_maint,coefficient_zero_cars_owned_by_hh_dummy_business2,coefficient_zero_cars_owned_by_hh_dummy_eat_business -util_individual_discretionary_tours_made_by_full_time_worker,@(df.pemploy==1)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business -util_individual_discretionary_tours_made_by_part_time_worker,@(df.pemploy==2)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business -util_individual_eating_out_tours_made_by_person,num_eatout_tours,coefficient_individual_eating_out_tours_made_by_person_no_subtours,coefficient_individual_eating_out_tours_made_by_person_eat,coefficient_individual_eating_out_tours_made_by_person_business1,coefficient_individual_eating_out_tours_made_by_person_maint,coefficient_individual_eating_out_tours_made_by_person_business2,coefficient_individual_eating_out_tours_made_by_person_eat_business -util_main_shop_escort_tours_allocated_to_full_time_worker,@(df.pemploy==1)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business -util_main_shop_escort_tours_allocated_to_part_time_worker,@(df.pemploy==2)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business -util_participation_in_joint_shop_main_eat_tours,num_joint_maint_shop_eat,coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,coefficient_participation_in_joint_shop_main_eat_tours_eat,coefficient_participation_in_joint_shop_main_eat_tours_business1,coefficient_participation_in_joint_shop_main_eat_tours_maint,coefficient_participation_in_joint_shop_main_eat_tours_business2,coefficient_participation_in_joint_shop_main_eat_tours_eat_business -util_participation_in_joint_discretionary_tours,num_joint_discr,coefficient_participation_in_joint_discretionary_tours_no_subtours,coefficient_participation_in_joint_discretionary_tours_eat,coefficient_participation_in_joint_discretionary_tours_business1,coefficient_participation_in_joint_discretionary_tours_maint,coefficient_participation_in_joint_discretionary_tours_business2,coefficient_participation_in_joint_discretionary_tours_eat_business -util_log_of_the_work_tour_duration,@np.log((df.duration/2.25)+0.5),coefficient_log_of_the_work_tour_duration_no_subtours,coefficient_log_of_the_work_tour_duration_eat,coefficient_log_of_the_work_tour_duration_business1,coefficient_log_of_the_work_tour_duration_maint,coefficient_log_of_the_work_tour_duration_business2,coefficient_log_of_the_work_tour_duration_eat_business -util_dummy_for_drive_alone_mode_for_work_tour,work_tour_is_SOV,coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business -util_two_work_tours_by_person,num_work_tours==2,coefficient_two_work_tours_by_person_no_subtours,coefficient_two_work_tours_by_person_eat,coefficient_two_work_tours_by_person_business1,coefficient_two_work_tours_by_person_maint,coefficient_two_work_tours_by_person_business2,coefficient_two_work_tours_by_person_eat_business -util_workplace_urban_area_dummy,work_zone_area_type<4,coefficient_workplace_urban_area_dummy_no_subtours,coefficient_workplace_urban_area_dummy_eat,coefficient_workplace_urban_area_dummy_business1,coefficient_workplace_urban_area_dummy_maint,coefficient_workplace_urban_area_dummy_business2,coefficient_workplace_urban_area_dummy_eat_business -util_workplace_suburban_area_dummy,(work_zone_area_type>3) & (work_zone_area_type<6),coefficient_workplace_suburban_area_dummy_no_subtours,coefficient_workplace_suburban_area_dummy_eat,coefficient_workplace_suburban_area_dummy_business1,coefficient_workplace_suburban_area_dummy_maint,coefficient_workplace_suburban_area_dummy_business2,coefficient_workplace_suburban_area_dummy_eat_business -util_auto_accessibility_to_retail_for_work_taz,auOpRetail,coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,coefficient_auto_accessibility_to_retail_for_work_taz_eat,coefficient_auto_accessibility_to_retail_for_work_taz_business1,coefficient_auto_accessibility_to_retail_for_work_taz_maint,coefficient_auto_accessibility_to_retail_for_work_taz_business2,coefficient_auto_accessibility_to_retail_for_work_taz_eat_business -util_walk_accessibility_to_retail_for_work_taz,nmRetail,coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,coefficient_walk_accessibility_to_retail_for_work_taz_eat,coefficient_walk_accessibility_to_retail_for_work_taz_business1,coefficient_walk_accessibility_to_retail_for_work_taz_maint,coefficient_walk_accessibility_to_retail_for_work_taz_business2,coefficient_walk_accessibility_to_retail_for_work_taz_eat_business -util_dummy_for_worker_or_student_with_non_mandatory_tour,(is_worker | is_student) * num_non_mand,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business -util_at_work_sub_tour_alternative_specific_constant,1,coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,coefficient_at_work_sub_tour_alternative_specific_constant_eat,coefficient_at_work_sub_tour_alternative_specific_constant_business1,coefficient_at_work_sub_tour_alternative_specific_constant_maint,coefficient_at_work_sub_tour_alternative_specific_constant_business2,coefficient_at_work_sub_tour_alternative_specific_constant_eat_business diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency.yaml b/activitysim/examples/example_semcog/configs/atwork_subtour_frequency.yaml deleted file mode 100755 index 125bf2c1fd..0000000000 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency.yaml +++ /dev/null @@ -1,11 +0,0 @@ - -SPEC: atwork_subtour_frequency.csv -COEFFICIENTS: atwork_subtour_frequency_coeffs.csv - -preprocessor: - SPEC: atwork_subtour_frequency_annotate_tours_preprocessor - DF: df - TABLES: - - land_use - - tours - - joint_tour_participants diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_alternatives.csv deleted file mode 100755 index ed7c13c58d..0000000000 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_alternatives.csv +++ /dev/null @@ -1,8 +0,0 @@ -#,,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,eat,business,maint -no_subtours,0,0,0 -eat,1,0,0 -business1,0,1,0 -maint,0,0,1 -business2,0,2,0 -eat_business,1,1,0 diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv deleted file mode 100755 index 34728e6a7d..0000000000 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv +++ /dev/null @@ -1,9 +0,0 @@ -Description,Target,Expression -,num_maint_shop_escort,df.num_maint_tours+df.num_shop_tours+df.num_escort_tours -#,num_joint_maint_shop_eat,"reindex_i(tours[(tours.tour_category=='joint') & tours.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" -#,num_eatout_tours,"reindex_i(tours[~tours.is_joint & (tours.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" -joint tour participants annotated with tour type,_PARTICIPANTS,"pd.merge(joint_tour_participants[['tour_id', 'person_id']], tours[['tour_type']], left_on='tour_id', right_index=True, how='left')" -,num_joint_discr,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type=='othdiscr'].groupby('person_id').size(), df.person_id)" -,num_joint_maint_shop_eat,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" -#,, -,work_tour_is_SOV,df.tour_mode.isin(['DRIVEALONE']) diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_coeffs.csv b/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_coeffs.csv deleted file mode 100755 index 79640c1d29..0000000000 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_coeffs.csv +++ /dev/null @@ -1,133 +0,0 @@ -coefficient_name,value,constrain -coefficient_dummy_for_full_time_worker_business1,-7.375,F -coefficient_dummy_for_full_time_worker_business2,-14.28,F -coefficient_dummy_for_full_time_worker_eat,-7.28,F -coefficient_dummy_for_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_full_time_worker_maint,-8.093,F -coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_full_time_worker_business1,-8.319,F -coefficient_dummy_for_non_full_time_worker_business2,-14.28,F -coefficient_dummy_for_non_full_time_worker_eat,-8.604,F -coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_non_full_time_worker_maint,-8.214,F -coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_workers_business1,-5,T -coefficient_dummy_for_non_workers_business2,-5,T -coefficient_dummy_for_non_workers_eat,0,T -coefficient_dummy_for_non_workers_eat_business,-5,T -coefficient_dummy_for_non_workers_maint,-5,T -coefficient_dummy_for_non_workers_no_subtours,0,T -coefficient_medium_hh_income_dummy_business1,0.5555,F -coefficient_medium_hh_income_dummy_business2,1.111,F -coefficient_medium_hh_income_dummy_eat,0.61,F -coefficient_medium_hh_income_dummy_eat_business,1.1655,F -coefficient_medium_hh_income_dummy_maint,0.1527,F -coefficient_medium_hh_income_dummy_no_subtours,0,T -coefficient_high_hh_income_dummy_business1,1.066,F -coefficient_high_hh_income_dummy_business2,2.132,F -coefficient_high_hh_income_dummy_eat,0.8693,F -coefficient_high_hh_income_dummy_eat_business,1.9353,F -coefficient_high_hh_income_dummy_maint,0.1651,F -coefficient_high_hh_income_dummy_no_subtours,0,T -coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_business2,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F -coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T -coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F -coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F -coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F -coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F -coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F -coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T -coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F -coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F -coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F -coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F -coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F -coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T -coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F -coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F -coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F -coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F -coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F -coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T -coefficient_log_of_the_work_tour_duration_business1,1.142,F -coefficient_log_of_the_work_tour_duration_business2,2.284,F -coefficient_log_of_the_work_tour_duration_eat,1.55,F -coefficient_log_of_the_work_tour_duration_eat_business,2.692,F -coefficient_log_of_the_work_tour_duration_maint,1.659,F -coefficient_log_of_the_work_tour_duration_no_subtours,0,T -coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T -coefficient_two_work_tours_by_person_business1,0.3753,F -coefficient_two_work_tours_by_person_business2,0.7506,F -coefficient_two_work_tours_by_person_eat,-0.9862,F -coefficient_two_work_tours_by_person_eat_business,-0.6109,F -coefficient_two_work_tours_by_person_maint,-0.2312,F -coefficient_two_work_tours_by_person_no_subtours,0,T -coefficient_workplace_urban_area_dummy_business1,-0.2235,F -coefficient_workplace_urban_area_dummy_business2,-0.447,F -coefficient_workplace_urban_area_dummy_eat,-0.4182,F -coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F -coefficient_workplace_urban_area_dummy_maint,-0.1479,F -coefficient_workplace_urban_area_dummy_no_subtours,0,T -coefficient_workplace_suburban_area_dummy_business1,-0.1102,F -coefficient_workplace_suburban_area_dummy_business2,-0.2204,F -coefficient_workplace_suburban_area_dummy_eat,-0.2916,F -coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F -coefficient_workplace_suburban_area_dummy_maint,0,T -coefficient_workplace_suburban_area_dummy_no_subtours,0,T -coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F -coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F -coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F -coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F -coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T -coefficient_at_work_sub_tour_alternative_specific_constant_business1,-0.5372,F -coefficient_at_work_sub_tour_alternative_specific_constant_business2,-2.1337,F -coefficient_at_work_sub_tour_alternative_specific_constant_eat,0.8576,F -coefficient_at_work_sub_tour_alternative_specific_constant_eat_business,-0.9721,F -coefficient_at_work_sub_tour_alternative_specific_constant_maint,-0.6198,F -coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,0,T \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/auto_ownership.csv b/activitysim/examples/example_semcog/configs/auto_ownership.csv deleted file mode 100755 index 66bde074b9..0000000000 --- a/activitysim/examples/example_semcog/configs/auto_ownership.csv +++ /dev/null @@ -1,25 +0,0 @@ -Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 -util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 -util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 -util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up -util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 -util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 -util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 -util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 -util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 -util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 -util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k -util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc -util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers -util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers -util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers -util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers -util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker diff --git a/activitysim/examples/example_semcog/configs/auto_ownership.yaml b/activitysim/examples/example_semcog/configs/auto_ownership.yaml deleted file mode 100755 index 55943670da..0000000000 --- a/activitysim/examples/example_semcog/configs/auto_ownership.yaml +++ /dev/null @@ -1,6 +0,0 @@ - -SPEC: auto_ownership.csv -COEFFICIENTS: auto_ownership_coeffs.csv - -#LOGIT_TYPE: NL -LOGIT_TYPE: MNL diff --git a/activitysim/examples/example_semcog/configs/auto_ownership_coeffs.csv b/activitysim/examples/example_semcog/configs/auto_ownership_coeffs.csv deleted file mode 100755 index 945d916745..0000000000 --- a/activitysim/examples/example_semcog/configs/auto_ownership_coeffs.csv +++ /dev/null @@ -1,68 +0,0 @@ -coefficient_name,value,constrain -coef_cars1_drivers_2,0.0,T -coef_cars1_drivers_3,0.0,T -coef_cars1_persons_16_17,0.0,T -coef_cars234_asc_marin,0.0,T -coef_cars1_persons_25_34,0.0,T -coef_cars1_num_workers_clip_3,0.0,T -coef_cars1_hh_income_30_up,0.0,T -coef_cars1_density_0_10_no_workers,0.0,T -coef_cars1_density_10_up_workers,-0.0006916064567687393,F -coef_retail_non_motor,-0.03,T -coef_cars4_asc,-2.1157137267630084,F -coef_cars3_asc,-0.5389664867851066,F -coef_cars34_persons_16_17,-1.0131713092471806,F -coef_cars2_asc,0.5089927738334394,F -coef_cars34_persons_18_24,-0.22633082627703238,F -coef_cars2_persons_18_24,-0.2779863655452459,F -coef_cars2_persons_16_17,-0.8499905464429038,F -coef_cars34_persons_25_34,-0.5072697829616668,F -coef_cars1_asc_county,-0.5660000000000001,F -coef_retail_transit_workers,-0.26599406864996145,F -coef_cars2_persons_25_34,-0.2845857507016052,F -coef_cars2_asc_county,-0.4429,F -coef_cars1_persons_18_24,0.3122834693531618,F -coef_cars34_density_0_10_no_workers,-1.0611910844303392,F -coef_retail_transit_no_workers,-0.4610891860644177,F -coef_cars1_asc_marin,-0.2434,F -coef_cars34_asc_county,-0.2372,F -coef_cars2_density_0_10_no_workers,-0.4334566014350984,F -coef_cars34_density_10_up_no_workers,-0.1766,T -coef_cars2_density_10_up_no_workers,0.22349472733850723,F -coef_cars2_density_10_up_workers,-0.1106,F -coef_cars1_density_10_up_no_workers,-0.6278796181279449,F -coef_cars2_hh_income_30_up,0.013802348149352129,F -coef_cars3_hh_income_30_up,0.01756826620528943,F -coef_cars4_hh_income_30_up,0.020241067403575532,F -coef_cars1_presence_children_5_17,0.2201929251562138,F -coef_cars1_hh_income_0_30k,0.08754817729196587,F -coef_cars2_hh_income_0_30k,0.11363199169081308,F -coef_cars3_hh_income_0_30k,0.10919644885632351,F -coef_cars4_hh_income_0_30k,0.12371561063030768,F -coef_retail_auto_no_workers,-0.27201647971031934,F -coef_cars34_asc_san_francisco,0.1458,F -coef_retail_auto_workers,-0.3440504516404184,F -coef_cars2_presence_children_5_17,0.3267549927594411,F -coef_cars2_num_workers_clip_3,0.7131266645999695,F -coef_cars1_presence_children_0_4,-0.13410330297845457,F -coef_cars1_asc_san_francisco,0.4259,F -coef_cars2_asc_san_francisco,0.4683,F -coef_cars1_auto_time_saving_per_worker,1.3138947141281918,F -coef_cars34_presence_children_5_17,0.09288972465342095,F -coef_cars3_auto_time_saving_per_worker,0.9830482363478317,F -coef_cars2_auto_time_saving_per_worker,1.0902251470013522,F -coef_cars3_num_workers_clip_3,1.000861534518726,F -coef_cars234_presence_children_0_4,0.049938987712858804,F -coef_cars4_auto_time_saving_per_worker,0.8990148505984551,F -coef_cars4_num_workers_clip_3,1.079450657634896,F -coef_cars1_asc,3.1493581264401556,F -coef_cars1_drivers_4_up,-1.4515192922101592,F -coef_cars4_drivers_2,2.4056683705077937,F -coef_cars2_drivers_2,2.817372734348654,F -coef_cars3_drivers_2,2.6801310124351496,F -coef_cars2_drivers_3,2.5819723625758484,F -coef_cars4_drivers_3,3.964857311371601,F -coef_cars3_drivers_3,4.277120564378806,F -coef_cars2_drivers_4_up,1.5182056527267993,F -coef_cars3_drivers_4_up,3.4916291197074343,F -coef_cars4_drivers_4_up,4.509213244436791,F diff --git a/activitysim/examples/example_semcog/configs/cdap_fixed_relative_proportions.csv b/activitysim/examples/example_semcog/configs/cdap_fixed_relative_proportions.csv deleted file mode 100755 index 6e9454da4c..0000000000 --- a/activitysim/examples/example_semcog/configs/cdap_fixed_relative_proportions.csv +++ /dev/null @@ -1,11 +0,0 @@ -Description,Expression,M,N,H -Full-time worker,ptype == 1 & not work_from_home,0.79647,0.09368,0.10985 -Full-time worker,ptype == 1 & work_from_home,0,0.460276126,0.539723874 -Part-time worker,ptype == 2 & not work_from_home,0.61678,0.25757,0.12565 -Part-time worker,ptype == 2 & work_from_home,0,0.672120453,0.327879547 -University student,ptype == 3,0.69229,0.15641,0.1513 -Non-working adult,ptype == 4,0,0.67169,0.32831 -Retired,ptype == 5,0,0.54295,0.45705 -Driving-age child who is in school,ptype == 6,0.77609,0.06004,0.16387 -Pre-driving-age child who is in school,ptype == 7,0.68514,0.09144,0.22342 -Child who is too young for school,ptype == 8,0.14056,0.06512,0.79432 diff --git a/activitysim/examples/example_semcog/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/example_semcog/configs/cdap_indiv_and_hhsize1.csv deleted file mode 100755 index 8768a9e428..0000000000 --- a/activitysim/examples/example_semcog/configs/cdap_indiv_and_hhsize1.csv +++ /dev/null @@ -1,66 +0,0 @@ -Description,Expression,M,N,H -Full-time worker alternative-specific constants,ptype == 1,1.378734579,0.622662391, -Part-time worker alternative-specific constants,ptype == 2,-0.718823738,0.636032467, -University student alternative-specific constants,ptype == 3,2.353595176,0.609709846, -Non-working adult alternative-specific constants,ptype == 4,-999,0.594645386, -Retired alternative-specific constants,ptype == 5,-999,0.408202071, -Driving-age child who is in school alternative-specific constants,ptype == 6,2.330918685,-0.599119112, -Pre-driving-age child who is in school alternative-specific constants,ptype == 7,3.295863529,0.57142434, -Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),-0.2943,, -Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),-0.7141,-0.672, -Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,1.052531189,-0.837567776, -# corrected tm1 age bug,,,, -Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),-0.4515,, -Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),0.6107,, -#,,,, -Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),0.2091,, -Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,0.7666 -Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),-0.1259,, -Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),-0.743,, -Retired interaction with female,(ptype == 5) & (sex == 2),0.4769,, -Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),0.6515,0.8168, -Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),2.992,1.056, -Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,0.2991, -Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,0.5039 -Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,0.8965 -Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,0.5496 -Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,0.6475 -Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,0.5862 -Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,0.5061 -Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,0.5313 -Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,0.533 -Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,0.3232 -Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.4032 -Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,0.4207,-0.3534 -Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.5602 -Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,-0.7188 -Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,1.307 -Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.5031 -Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,-2.046 -Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.5708 -Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,-0.6186 -Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,0.1212,, -Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,0.2004,, -Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,0.2314,, -Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,0.2792,, -Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,0.07207, -Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,0.07207, -University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,0.07207, -Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,0.08233, -Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,0.08233, -Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,0.08233, -# commented out because not used in mtctm1,,,, -# Full-time worker interaction with usual work location is home,(ptype == 1) * usualWorkLocationIsHome,-1.758,,0.1813 -# Part-time worker interaction with usual work location is home,(ptype == 2) * usualWorkLocationIsHome,-1.758,,0.1813 -# Full-time worker interaction with no usual work location,(ptype == 1) * noUsualWorkLocation,-0.5935,, -# Part-time worker interaction with no usual work location,(ptype == 2) * noUsualWorkLocation,-0.5935,, -# Driving-age child who is in school interaction with no usual school location,(ptype == 6) * noUsualWorkLocation,-0.866,, -# Pre-driving age child who is in school interaction with no usual school location,(ptype == 7) * noUsualWorkLocation,-0.866,, -#tm1 scenario test,,,, -#Simulate telecommuting by reducing mandatory patterns,(ptype == 1) * (income_in_thousands >= 50),-0.142930042,, -Telecommutes 1 day per week,telecommute_frequency=='1_day_week',,0.526,0.496 -Telecommutes 2-3 days per week,telecommute_frequency=='2_3_days_week',,1.387,1.584 -Telecommutes 4 days per week,telecommute_frequency=='4_days_week',,1.848,1.711 -#Turning Mandatory pattern off for FT and PT who work from home (sandag),,,, -"Full time worker, works from home",(ptype == 1) & (work_from_home),-999,, -"Part time worker, works from home",(ptype == 2) & (work_from_home),-999,, diff --git a/activitysim/examples/example_semcog/configs/cdap_interaction_coefficients.csv b/activitysim/examples/example_semcog/configs/cdap_interaction_coefficients.csv deleted file mode 100755 index 43a4ec3c73..0000000000 --- a/activitysim/examples/example_semcog/configs/cdap_interaction_coefficients.csv +++ /dev/null @@ -1,140 +0,0 @@ -activity,interaction_ptypes,coefficient -# 2-way interactions,, -H,11,1.626 -H,12,0.7407 -H,13,1.183 -H,14,0.9436 -H,15,1.298 -H,16,2.064 -H,17,1.501 -H,18,0.9912 -H,22,0.8911 -H,23,1.642 -H,24,0.7057 -H,25,0.463 -H,26,3.057 -H,27,0.7685 -H,28,1.07 -H,33,1.018 -H,34,1.781 -H,35,0.4835 -H,36,1.546 -H,37,1.552 -H,38,1.34 -H,44,1.352 -H,45,1.209 -H,46,0.5243 -H,47,0.8112 -H,48,1.167 -H,55,1.407 -H,56,0.8632 -H,57,0.8632 -H,58,0.8632 -H,66,2.198 -H,67,0.977 -H,68,1.467 -H,77,2.8 -H,78,1.434 -H,88,1.378 -M,11,0.141 -M,12,0.08845 -M,13,0.4273 -M,16,0.3842 -M,17,0.2623 -M,18,0.5118 -M,22,1.135 -M,23,0.173 -M,26,1.103 -M,27,0.3079 -M,28,0.5074 -M,33,0.8726 -M,36,-0.0021 -M,37,0.2975 -M,38,0.2254 -M,66,0.4794 -M,67,0.5151 -M,68,0.5516 -M,77,0.9731 -M,78,0.5961 -M,88,1.651 -N,11,1.123 -N,12,0.4947 -N,13,0.5523 -N,14,0.02186 -N,15,0.3115 -N,16,0.4095 -N,17,0.6008 -N,18,0.751 -N,22,1.032 -N,23,0.3355 -N,24,0.7477 -N,25,0.09831 -N,26,0.495 -N,27,0.8984 -N,28,1.452 -N,33,1.054 -N,34,0.193 -N,35,0.4065 -N,36,1.62 -N,37,0.5165 -N,38,0.8973 -N,44,0.6984 -N,45,0.1864 -N,46,0.6801 -N,47,0.5646 -N,48,1.164 -N,55,0.7291 -N,56,0.2919 -N,57,0.2919 -N,58,0.2919 -N,66,1.512 -N,67,1.422 -N,68,1.273 -N,77,1.553 -N,78,0.6184 -N,88,0.8771 -# 3-way interactions,, -H,124,0.9573 -H,122,0.9573 -H,144,0.9573 -H,126,0.2939 -H,146,0.2939 -H,222,0.9881 -H,224,0.9881 -H,244,0.9881 -H,226,0.4374 -H,246,0.4374 -H,446,0.4374 -H,266,0.4747 -H,466,0.4747 -M,111,0.3133 -M,112,0.3495 -M,114,0.3495 -M,666,-0.3906 -N,112,0.4637 -N,114,0.4637 -N,124,0.3491 -N,122,0.3491 -N,144,0.3491 -N,166,0.3553 -N,222,-1.386 -N,224,-1.386 -N,444,-1.386 -N,246,-0.8571 -N,226,-0.8571 -N,446,-0.8571 -# cdap_final_rules,, -M,5,-999 -M,4,-999 -# cdap_all_people,, -M,***,-0.0671 -N,***,-0.3653 -H,***,-1.1810 -M,****,-0.6104 -N,****,-1.3460 -H,****,-3.7330 -M,*****,-1.5280 -N,*****,-3.4530 -H,*****,-8.6210 - - diff --git a/activitysim/examples/example_semcog/configs/constants.yaml b/activitysim/examples/example_semcog/configs/constants.yaml deleted file mode 100755 index 68313e53d1..0000000000 --- a/activitysim/examples/example_semcog/configs/constants.yaml +++ /dev/null @@ -1,63 +0,0 @@ -## ActivitySim -## See full license in LICENSE.txt. - - -#HHT_NONE: 0 -#HHT_FAMILY_MARRIED: 1 -#HHT_FAMILY_MALE: 2 -#HHT_FAMILY_FEMALE: 3 -#HHT_NONFAMILY_MALE_ALONE: 4 -#HHT_NONFAMILY_MALE_NOTALONE: 5 -#HHT_NONFAMILY_FEMALE_ALONE: 6 -#HHT_NONFAMILY_FEMALE_NOTALONE: 7 - -# convenience for expression files -HHT_NONFAMILY: [4, 5, 6, 7] -HHT_FAMILY: [1, 2, 3] - -PSTUDENT_GRADE_OR_HIGH: 1 -PSTUDENT_UNIVERSITY: 2 -PSTUDENT_NOT: 3 - -GRADE_SCHOOL_MAX_AGE: 14 -GRADE_SCHOOL_MIN_AGE: 5 - -SCHOOL_SEGMENT_NONE: 0 -SCHOOL_SEGMENT_GRADE: 1 -SCHOOL_SEGMENT_HIGH: 2 -SCHOOL_SEGMENT_UNIV: 3 - -INCOME_SEGMENT_LOW: 1 -INCOME_SEGMENT_MED: 2 -INCOME_SEGMENT_HIGH: 3 -INCOME_SEGMENT_VERYHIGH: 4 - -PEMPLOY_FULL: 1 -PEMPLOY_PART: 2 -PEMPLOY_NOT: 3 -PEMPLOY_CHILD: 4 - -PTYPE_FULL: &ptype_full 1 -PTYPE_PART: &ptype_part 2 -PTYPE_UNIVERSITY: &ptype_university 3 -PTYPE_NONWORK: &ptype_nonwork 4 -PTYPE_RETIRED: &ptype_retired 5 -PTYPE_DRIVING: &ptype_driving 6 -PTYPE_SCHOOL: &ptype_school 7 -PTYPE_PRESCHOOL: &ptype_preschool 8 - -# these appear as column headers in non_mandatory_tour_frequency.csv -PTYPE_NAME: - *ptype_full: PTYPE_FULL - *ptype_part: PTYPE_PART - *ptype_university: PTYPE_UNIVERSITY - *ptype_nonwork: PTYPE_NONWORK - *ptype_retired: PTYPE_RETIRED - *ptype_driving: PTYPE_DRIVING - *ptype_school: PTYPE_SCHOOL - *ptype_preschool: PTYPE_PRESCHOOL - - -CDAP_ACTIVITY_MANDATORY: M -CDAP_ACTIVITY_NONMANDATORY: N -CDAP_ACTIVITY_HOME: H diff --git a/activitysim/examples/example_semcog/configs/destination_choice_size_terms.csv b/activitysim/examples/example_semcog/configs/destination_choice_size_terms.csv deleted file mode 100755 index ceb2a35918..0000000000 --- a/activitysim/examples/example_semcog/configs/destination_choice_size_terms.csv +++ /dev/null @@ -1,26 +0,0 @@ -model_selector,segment,tot_hhs,e01_nrm,e02_constr,e03_manuf,e04_whole,e05_retail,e06_trans,e07_utility,e08_infor,e09_finan,e10_pstsvc,e11_compmgt,e12_admsvc,e13_edusvc,e14_medfac,e15_hospit,e16_leisure,e17_othsvc,e18_pubadm,K_8,G9_12,Univ_Enrollment -workplace,work_low,0,0,0.31,0.504,0.086,0.905,0.215,0.008,0.059,0.238,0.162,0,0.512,0.457,0.984,0.163,1,0.429,0.07,0,0,0 -workplace,work_med,0,0.001,0.359,0.944,0.153,0.883,0.254,0.035,0.095,0.29,0.389,0.004,0.345,0.511,1,0.186,0.661,0.348,0.205,0,0,0 -workplace,work_high,0,0.005,0.297,1,0.148,0.593,0.178,0.05,0.11,0.355,0.35,0.007,0.228,0.587,0.843,0.123,0.33,0.228,0.213,0,0,0 -workplace,work_veryhigh,0,0.006,0.162,1,0.133,0.363,0.101,0.055,0.104,0.34,0.475,0.005,0.164,0.498,0.699,0.094,0.214,0.14,0.143,0,0,0 -school,university,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,gradeschool,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,highschool,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -non_mandatory,escort,0.192,0,0,0,0,0.188,0,0,0,0,0,0,0,0,0.164,0.078,0.791,0,0,1,0.768,0 -non_mandatory,shopping,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.005,0.003,0,0,0,0 -non_mandatory,eatout,0.004,0,0,0,0,0.283,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -non_mandatory,othmaint,0.029,0,0,0,0.026,0.587,0,0,0,0.268,0,0,0.445,0.161,1,0.556,0.336,0.501,0.478,0,0,0 -non_mandatory,social,0.487,0,0,0,0,0,0,0,0,0,0,0,0,0.244,0,0.177,1,0,0,0,0,0 -non_mandatory,othdiscr,0.184,0,0,0,0,0.185,0,0,0,0,0,0,0,0.899,0.511,0.004,1.081,1,0,0,0,0 -atwork,atwork,0.03,0,0,0,0.049,1,0,0,0,0.141,0,0,0.482,0.048,0.092,0.013,0,0,0.053,0,0,0 -trip,work,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0 -trip,escort,0.001,0,0,0,0,0.225,0,0,0,0,0,0,0,0.144,0.144,0.144,0.144,0,0,0.465,0.166,0 -trip,shopping,0.001,0,0,0,0,0.999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -trip,eatout,0,0,0,0,0,0.742,0,0,0,0,0,0,0,0.258,0.258,0.258,0.258,0,0,0,0,0 -trip,othmaint,0.001,0,0,0,0,0.481,0,0,0,0,0,0,0,0.518,0.518,0.518,0.518,0,0,0,0,0 -trip,social,0.001,0,0,0,0,0.521,0,0,0,0,0,0,0,0.478,0.478,0.478,0.478,0,0,0,0,0 -trip,othdiscr,0.252,0,0,0,0,0.212,0,0,0,0,0,0,0,0.273,0.273,0.273,0.273,0.165,0.165,0,0.098,0 -trip,univ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,,,,,,,,,,,,,0 -#trip,gradeschool,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -#trip,highschool,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0 diff --git a/activitysim/examples/example_semcog/configs/free_parking.csv b/activitysim/examples/example_semcog/configs/free_parking.csv deleted file mode 100755 index 6bda3519a0..0000000000 --- a/activitysim/examples/example_semcog/configs/free_parking.csv +++ /dev/null @@ -1,6 +0,0 @@ -Label,Description,Expression,free,pay -util_income_very_high,Very high income household dummy,@df.income>=100000,coef_income_very_high,0 -util_income_high,High income housheold dummy,@(df.income>=60000) & (df.income<100000),coef_income_high,0 -util_hh_size_4_up,Household size is greater than 3 dummy,@df.hhsize>3,coef_hh_size_4_up,0 -util_more_autos_than_workers,More automobiles than workers dummy,@df.auto_ownership>df.num_workers,coef_more_autos_than_workers,0 -util_fewer_autos_than_workers,Fewer automobiles than workers dummy,@df.auto_ownership=30) & (income_in_thousands<60),coef_medium_income_households,, -util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed -util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, -util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed -util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, -util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, -util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows -util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, -util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, -util_travel_active_adult,At least one adult and at least one child must have Mand or Non Mand activity patterns to have adult/child joint travel,(num_travel_active_adults == 0) | (num_travel_active_children == 0),,,coef_unavailable \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/joint_tour_composition.yaml b/activitysim/examples/example_semcog/configs/joint_tour_composition.yaml deleted file mode 100755 index 55ee2015ec..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_composition.yaml +++ /dev/null @@ -1,11 +0,0 @@ -LOGIT_TYPE: MNL - -SPEC: joint_tour_composition.csv -COEFFICIENTS: joint_tour_composition_coeffs.csv - -preprocessor: - SPEC: joint_tour_composition_annotate_households_preprocessor - DF: households -# TABLES: -# - persons -# - accessibility diff --git a/activitysim/examples/example_semcog/configs/joint_tour_composition_annotate_households_preprocessor.csv b/activitysim/examples/example_semcog/configs/joint_tour_composition_annotate_households_preprocessor.csv deleted file mode 100755 index c53d990944..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_composition_annotate_households_preprocessor.csv +++ /dev/null @@ -1,22 +0,0 @@ -Description,Target,Expression -#,, -,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" -,time_window_overlap_adult,_HH_OVERLAPS['aa']/2.25 -,time_window_overlap_child,_HH_OVERLAPS['cc']/2.25 -,time_window_overlap_adult_child,_HH_OVERLAPS['ac']/2.25 -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -#,, -,_HH_PERSON_COUNT,"lambda exp, households, persons: persons.query(exp).groupby('household_id').size().reindex(households.index).fillna(0)" -,_num_full,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_FULL, households, persons)" -,_num_part,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PART, households, persons)" -,num_full_max3,"_num_full.clip(0,3)" -,num_part_max3,"_num_part.clip(0,3)" -,num_univ_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_UNIVERSITY, households, persons).clip(0,3)" -,num_nonwork_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_NONWORK, households, persons).clip(0,3)" -,num_preschool_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PRESCHOOL, households, persons).clip(0,3)" -,num_school_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_SCHOOL, households, persons).clip(0,3)" -,num_driving_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_DRIVING, households, persons).clip(0,3)" -#,, -,more_cars_than_workers,households.auto_ownership > (_num_full + _num_part) diff --git a/activitysim/examples/example_semcog/configs/joint_tour_composition_coeffs.csv b/activitysim/examples/example_semcog/configs/joint_tour_composition_coeffs.csv deleted file mode 100755 index ad082c2d1e..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_composition_coeffs.csv +++ /dev/null @@ -1,32 +0,0 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_asc_children,5.3517,F -coef_asc_mixed,5.6290,fF -coef_tour_purpose_is_eating_out_children,-0.9678,F -coef_tour_purpose_is_eating_out_mixed,-0.8027,F -coef_tour_purpose_is_discretionary_adults,0.7648,F -coef_tour_purpose_is_discretionary_children,0.5101,F -coef_number_of_full_time_workers_adults,1.024,F -coef_number_of_full_time_workers_mixed,0.3624,F -coef_number_of_part_time_workers_adults,0.5412,F -coef_number_of_part_time_workers_mixed,0.3164,F -coef_number_of_university_students,0.8245,F -coef_number_of_non_workers_adults,0.6263,F -coef_number_of_non_workers_mixed,-0.3724,F -coef_number_of_children_too_young_for_school_children,0.7306,F -coef_number_of_children_too_young_for_school_mixed,0.7906,F -coef_number_of_pre_driving_age_children_children,0.7306,F -coef_number_of_pre_driving_age_children_mixed,0.3532,F -coef_number_of_driving_age_children_children,-0.2667,F -coef_number_of_driving_age_children_mixed,-0.9399,F -coef_low_income_households_adults,1.248,F -coef_low_income_households_mixed,0.5755,F -coef_medium_income_households,0.8369,F -coef_household_has_more_cars_than_workers_adults,1.386,F -coef_household_has_more_cars_than_workers_mixed,0.751,F -coef_household_in_urban_area,0.5741,F -coef_household_in_suburban_area_adults,0.5105,F -coef_household_in_suburban_area_mixed,0.1283,F -coef_log_max_overlap_of_adults_time_windows,1.192,F -coef_log_max_overlap_of_childrens_time_windows,1.841,F -coef_log_max_overlap_of_time_windows,1.958,F diff --git a/activitysim/examples/example_semcog/configs/joint_tour_destination.yaml b/activitysim/examples/example_semcog/configs/joint_tour_destination.yaml deleted file mode 100755 index 57ae660b69..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_destination.yaml +++ /dev/null @@ -1,52 +0,0 @@ - -SAMPLE_SPEC: joint_tour_destination_sample.csv -SPEC: joint_tour_destination.csv -COEFFICIENTS: joint_tour_destination_coeffs.csv - -SEGMENTS: - - shopping - - othmaint - - othdiscr - - eatout - - social - - -SAMPLE_SIZE: 30 - -# we can't use use household income_segment as this will also be set for non-workers -CHOOSER_SEGMENT_COLUMN_NAME: tour_type - -SIMULATE_CHOOSER_COLUMNS: - - tour_type - - TAZ - - person_id - - income_segment - - num_children - -LOGSUM_SETTINGS: tour_mode_choice.yaml - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: TAZ -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 14 -OUT_PERIOD: 14 - -SIZE_TERM_SELECTOR: non_mandatory - -# optional (comment out if not desired) -DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample - -SEGMENT_IDS: - work_low: 1 - work_med: 2 - work_high: 3 - work_veryhigh: 4 - -CONSTANTS: - WORK_LOW_SEGMENT_ID: 1 - WORK_MED_SEGMENT_ID: 2 - WORK_HIGH_SEGMENT_ID: 3 - WORK_VERYHIGH_SEGMENT_ID: 4 diff --git a/activitysim/examples/example_semcog/configs/joint_tour_frequency.csv b/activitysim/examples/example_semcog/configs/joint_tour_frequency.csv deleted file mode 100755 index d89911f1fb..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_frequency.csv +++ /dev/null @@ -1,78 +0,0 @@ -Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD -util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours -util_alternative_specific_constants_calibration,alternative_specific_constants_calibration,1,asc_calib_0_tours,asc_calib_1_Shop,asc_calib_1_Main,asc_calib_1_Eat,asc_calib_1_Visit,asc_calib_1_Disc,asc_calib_2_SS,asc_calib_2_SM,asc_calib_2_SE,asc_calib_2_SV,asc_calib_2_SD,asc_calib_2_MM,asc_calib_2_ME,asc_calib_2_MV,asc_calib_2_MD,asc_calib_2_EE,asc_calib_2_EV,asc_calib_2_ED,asc_calib_2_VV,asc_calib_2_VD,asc_calib_2_DD -#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, -util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, -#_shopping,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, -util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, -util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, -util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, -util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, -util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, -util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, -util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, -util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, -util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, -#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, -util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, -util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, -util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, -util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, -util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, -util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, -util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, -util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, -util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, -util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, -util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, -util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, -#_eatout,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, -util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, -util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, -util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, -util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, -util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, -util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, -util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, -util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, -util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, -util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, -util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, -util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, -#_visiting,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, -util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, -util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, -util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, -util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, -util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, -util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, -util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, -util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, -util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, -#_discretionary,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc -util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc -util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc -util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc -util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc -util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc -util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc -util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc -util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc -util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc -util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc -util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc -util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc -util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc -util_zeroAutomobiles_dis,zeroAutomobiles_disc,auto_ownership == 0,,,,,,coef_zeroAutomobiles_disc,,,,,coef_zeroAutomobiles_disc,,,,coef_zeroAutomobiles_disc,,,coef_zeroAutomobiles_disc,,coef_zeroAutomobiles_disc,2 * coef_zeroAutomobiles_disc diff --git a/activitysim/examples/example_semcog/configs/joint_tour_frequency.yaml b/activitysim/examples/example_semcog/configs/joint_tour_frequency.yaml deleted file mode 100755 index d5a70b1dfc..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_frequency.yaml +++ /dev/null @@ -1,11 +0,0 @@ -LOGIT_TYPE: MNL - -SPEC: joint_tour_frequency.csv -COEFFICIENTS: joint_tour_frequency_coeffs.csv - -preprocessor: - SPEC: joint_tour_frequency_annotate_households_preprocessor - DF: households - TABLES: - #- persons - - accessibility diff --git a/activitysim/examples/example_semcog/configs/joint_tour_frequency_alternatives.csv b/activitysim/examples/example_semcog/configs/joint_tour_frequency_alternatives.csv deleted file mode 100755 index fefa93432c..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_frequency_alternatives.csv +++ /dev/null @@ -1,23 +0,0 @@ -#,,,,,alt file for building joint tours -alt,shopping,othmaint,eatout,social,othdiscr -0_tours,0,0,0,0,0 -1_Shop,1,0,0,0,0 -1_Main,0,1,0,0,0 -1_Eat,0,0,1,0,0 -1_Visit,0,0,0,1,0 -1_Disc,0,0,0,0,1 -2_SS,2,0,0,0,0 -2_SM,1,1,0,0,0 -2_SE,1,0,1,0,0 -2_SV,1,0,0,1,0 -2_SD,1,0,0,0,1 -2_MM,0,2,0,0,0 -2_ME,0,1,1,0,0 -2_MV,0,1,0,1,0 -2_MD,0,1,0,0,1 -2_EE,0,0,2,0,0 -2_EV,0,0,1,1,0 -2_ED,0,0,1,0,1 -2_VV,0,0,0,2,0 -2_VD,0,0,0,1,1 -2_DD,0,0,0,0,2 diff --git a/activitysim/examples/example_semcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv b/activitysim/examples/example_semcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv deleted file mode 100755 index b6dd9b930e..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv +++ /dev/null @@ -1,32 +0,0 @@ -Description,Target,Expression -,_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype, activity, households, persons: persons.query('ptype == %s and cdap_activity==\'%s\'' % (ptype, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -,_PEMPLOY_CDAP_PATTERN_COUNT,"lambda pemploy, activity, households, persons: persons.query('pemploy == %s and cdap_activity==\'%s\'' % (pemploy, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -,_2_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype1, ptype2, activity, households, persons: persons.query('(ptype == %s or ptype == %s) and cdap_activity==\'%s\'' % (ptype1, ptype2, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -#,, -,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" -,time_window_overlap_adult,_HH_OVERLAPS['aa']/2.25 -,time_window_overlap_child,_HH_OVERLAPS['cc']/2.25 -,time_window_overlap_adult_child,_HH_OVERLAPS['ac']/2.25 -#,, -,cdap_home_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'H', households, persons).clip(0,3)" -,cdap_home_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'H', households, persons).clip(0,3)" -,cdap_home_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'H', households, persons).clip(0,3)" -,cdap_home_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'H', households, persons).clip(0,3)" -,cdap_home_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'H', households, persons).clip(0,3)" -,cdap_home_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'H', households, persons).clip(0,3)" -,cdap_nonmand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'N', households, persons).clip(0,3)" -,cdap_nonmand_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'N', households, persons).clip(0,3)" -,cdap_nonmand_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'N', households, persons).clip(0,3)" -,cdap_nonmand_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'N', households, persons).clip(0,3)" -,cdap_nonmand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'N', households, persons).clip(0,3)" -,cdap_nonmand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'N', households, persons).clip(0,3)" -,cdap_mand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'M', households, persons).clip(0,3)" -,cdap_mand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'M', households, persons).clip(0,3)" -,cdap_mand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'M', households, persons).clip(0,3)" -,income_between_50_and_100,(households.income > 50000) & (households.income <= 100000) -,income_greater_than_100,households.income > 100000 -,income_missing,0 -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -nmRetail,non_motorized_retail_accessibility,"reindex(accessibility.nmRetail, households.TAZ)" diff --git a/activitysim/examples/example_semcog/configs/joint_tour_frequency_coeffs.csv b/activitysim/examples/example_semcog/configs/joint_tour_frequency_coeffs.csv deleted file mode 100755 index cc65958632..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_frequency_coeffs.csv +++ /dev/null @@ -1,106 +0,0 @@ -coefficient_name,value,constrain -# asc,, -coef_asc_0_tours,0,T -coef_asc_1_Shop,-6.0149,F -coef_asc_1_Main,-5.7389,F -coef_asc_1_Eat,-6.3757,F -coef_asc_1_Visit,-5.8818,F -coef_asc_1_Disc,-5.4806,F -coef_asc_2_tours,-14.4576,F -# zero_tours,, -coef_fullTimeHomeMaxThree_zero_tours,1.175,F -coef_partTimeHomeMaxThree_zero_tours,1.447,F -coef_nonWorkerHomeMaxThree_zero_tours,1.514,F -coef_retireeHomeMaxThree_zero_tours,0.6053,F -coef_universityHomeMaxThree_univ_and_driving_zero_tours,0.5685,F -coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,0.53,F -# shopping,, -coef_fullTimeNonMandMaxThree_shopping,0.2052,F -coef_partTimeNonMandMaxThree_shopping,0.1866,F -coef_nonWorkerNonMandMaxThree_shopping,0.7078,F -coef_retireeNonMandMaxThree_shopping,0.941,F -coef_universityNonMandMaxThree_shopping,0.7648,F -coef_preDrivingNonMandMaxThree_shopping,0.5474,F -coef_fullTimeMandMaxThree_shopping,-0.2424,F -coef_logTimeWindowOverlapAdult_shopping,0.5945,F -coef_logTimeWindowOverlapChild_shopping,0.1416,F -coef_logTimeWindowOverlapAdultChild_shopping,0.1086,F -coef_fewerCarsThanDrivers_shopping,0.2523,F -coef_moreCarsThanWorkers_shopping,-0.3027,F -# maintenance,, -coef_fullTimeNonMandMaxThree_maint,0.3173,F -coef_partTimeNonMandMaxThree_maint,0.2452,F -coef_nonWorkerNonMandMaxThree_maint,0.4643,F -coef_retireeNonMandMaxThree_maint,0.905,F -coef_universityNonMandMaxThree_maint,0.2643,F -coef_preDrivingNonMandMaxThree_maint,0.6482,F -coef_fullTimeMandMaxThree_maint,-0.3009,F -coef_drivingAgeStuMandMaxThree_maint,-0.3237,F -coef_preDrivingAgeMandMaxThree_maint,0.2299,F -coef_logTimeWindowOverlapAdult_maint,0.3714,F -coef_logTimeWindowOverlapChild_maint,0.176,F -coef_logTimeWindowOverlapAdultChild_maint,0.2443,F -coef_fewerCarsThanDrivers_maint,0.461,F -# eatout,, -coef_fullTimeNonMandMaxThree_eatout,0.2275,F -coef_partTimeNonMandMaxThree_eatout,0.3765,F -coef_nonWorkerNonMandMaxThree_eatout,0.182,F -coef_retireeNonMandMaxThree_eatout,0.4264,F -coef_universityNonMandMaxThree_eatout,0.4097,F -coef_preDrivingNonMandMaxThree_eatout,0.3851,F -coef_logTimeWindowOverlapAdult_eatout,0.4856,F -coef_logTimeWindowOverlapAdultChild_eatout,0.0921,F -coef_incomeBetween50And100_eatout,0.2977,F -coef_incomeGreaterThan100_eatout,0.4492,F -coef_incomeMissing_dummy_always_zero_eatout,0.278,F -coef_moreCarsThanWorkers_eatout,0.3825,F -coef_walkRetailAccessibility_eatout,0.062,F -# visiting,, -coef_fullTimeNonMandMaxThree_visiting,0.6445,F -coef_partTimeNonMandMaxThree_visiting,0.1332,F -coef_nonWorkerNonMandMaxThree_visiting,0.5475,F -coef_retireeNonMandMaxThree_visiting,0.5579,F -coef_universityNonMandMaxThree_visiting,0.2809,F -coef_preDrivingNonMandMaxThree_visiting,0.6008,F -coef_timeWindowOverlapAdult_visiting,0.0596,F -coef_timeWindowOverlapChild_visiting,0.0092,F -coef_timeWindowOverlapAdultChild_visiting,0.0256,F -coef_zeroAutomobiles_visiting,-0.98,F -# discretionary,, -coef_fullTimeNonMandMaxThree_disc,0.1275,F -coef_partTimeNonMandMaxThree_disc,0.4979,F -coef_nonWorkerNonMandMaxThree_disc,0.2871,F -coef_retireeNonMandMaxThree_disc,0.6136,F -coef_universityNonMandMaxThree_disc,0.7546,F -coef_preDrivingNonMandMaxThree_disc,0.5331,F -coef_drivingAgeStuMandMaxThree_disc,0.1932,F -coef_preDrivingAgeMandMaxThree_disc,0.3862,F -coef_logTimeWindowOverlapAdult_disc,0.3428,F -coef_logTimeWindowOverlapChild_disc,0.1162,F -coef_logTimeWindowOverlapAdultChild_disc,0.2212,F -coef_incomeBetween50And100_disc,0.3167,F -coef_incomeGreaterThan100_disc,0.486,F -coef_incomeMissing_dummy_always_zero_disc,0.3723,F -coef_zeroAutomobiles_disc,-0.909,F -#Phase1_Calibration,, -asc_calib_0_tours,0,T -asc_calib_1_Shop,1.053698044,F -asc_calib_1_Main,0.732431708,F -asc_calib_1_Eat,0.877259241,F -asc_calib_1_Visit,0.436534239,F -asc_calib_1_Disc,0.619623918,F -asc_calib_2_SS,2.404591356,F -asc_calib_2_SM,2.998240224,F -asc_calib_2_SE,2.042554293,F -asc_calib_2_SV,0.054676458,F -asc_calib_2_SD,2.467068755,F -asc_calib_2_MM,3.614067275,F -asc_calib_2_ME,4.359003674,F -asc_calib_2_MV,5.998710535,F -asc_calib_2_MD,5.114616381,F -asc_calib_2_EE,3.295790528,F -asc_calib_2_EV,5.235744732,F -asc_calib_2_ED,2.359825593,F -asc_calib_2_VV,1.285350946,F -asc_calib_2_VD,4.250918308,F -asc_calib_2_DD,2.958796827,F diff --git a/activitysim/examples/example_semcog/configs/joint_tour_participation.csv b/activitysim/examples/example_semcog/configs/joint_tour_participation.csv deleted file mode 100755 index da2e65d1ea..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_participation.csv +++ /dev/null @@ -1,67 +0,0 @@ -Label,Description,Expression,participate,not_participate -util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not -util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not -util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, -util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, -util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, -util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, -util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, -util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, -util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, -util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, -util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, -util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, -#,,,, -util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not -util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not -util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, -util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, -util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, -util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, -util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, -util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, -util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, -util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, -util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, -util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, -util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, -util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, -#,,,, -util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, -util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, -util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, -util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, -util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, -util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, -util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, -util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, -util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, -util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, -util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, -util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, -#,,,, -util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, -util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, -util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, -util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, -util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, -util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, -util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, -util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, -util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, -util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, -util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, -util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, -#,,,, -util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, -util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, -util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, -util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, -#,,,, -util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, -util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, -util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, -util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable -util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable -util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable -util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable diff --git a/activitysim/examples/example_semcog/configs/joint_tour_participation.yaml b/activitysim/examples/example_semcog/configs/joint_tour_participation.yaml deleted file mode 100755 index aee45349f9..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_participation.yaml +++ /dev/null @@ -1,20 +0,0 @@ - -SPEC: joint_tour_participation.csv -COEFFICIENTS: joint_tour_participation_coeffs.csv - -LOGIT_TYPE: MNL - -#max_participation_choice_iterations: 5000 - -preprocessor: - SPEC: joint_tour_participation_annotate_participants_preprocessor - DF: participants -# TABLES: -# - persons -# - accessibility - -annotate_persons: - SPEC: annotate_persons_jtp - DF: persons - TABLES: - - joint_tour_participants diff --git a/activitysim/examples/example_semcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/activitysim/examples/example_semcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv deleted file mode 100755 index f17023dc7a..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv +++ /dev/null @@ -1,24 +0,0 @@ -Description,Target,Expression -,_P_OVERLAPS,person_time_window_overlap(persons) -,time_window_overlap_adult,"reindex(_P_OVERLAPS.aa, participants.person_id)/2.25" -,time_window_overlap_child,"reindex(_P_OVERLAPS.cc, participants.person_id)/2.25" -,time_window_overlap_adult_child,"reindex(_P_OVERLAPS.ac, participants.person_id)/2.25" -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -#,, -,person_is_full,participants.ptype == PTYPE_FULL -,person_is_part,participants.ptype == PTYPE_PART -,person_is_univ,participants.ptype == PTYPE_UNIVERSITY -,person_is_nonwork,participants.ptype == PTYPE_NONWORK -,person_is_driving,participants.ptype == PTYPE_DRIVING -,person_is_school,participants.ptype == PTYPE_SCHOOL -,person_is_preschool,participants.ptype == PTYPE_PRESCHOOL -,tour_type_is_eat,participants.tour_type=='eat' -,tour_type_is_disc,participants.tour_type=='disc' -,tour_composition_is_adults,participants.composition=='adults' -,tour_composition_is_children,participants.composition=='children' -,tour_composition_is_mixed,participants.composition=='mixed' -,home_is_suburban,~(participants.home_is_urban | participants.home_is_rural) -,high_income,participants.income_in_thousands > 60 -,more_cars_than_workers,participants.auto_ownership > participants.num_workers diff --git a/activitysim/examples/example_semcog/configs/joint_tour_participation_coeffs.csv b/activitysim/examples/example_semcog/configs/joint_tour_participation_coeffs.csv deleted file mode 100755 index 604c0acb69..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_participation_coeffs.csv +++ /dev/null @@ -1,68 +0,0 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_full_time_worker_mixed_party,-3.566,F -coef_full_time_worker_mixed_party_not,0.5,T -coef_part_time_worker_adults_only_party,-3.566,F -coef_part_time_worker_adults_only_party_not,0.5,T -coef_part_time_worker_mixed_party,-0.3655,F -coef_university_student_mixed_party,-3.041,F -coef_non_worker_adults_only_party,-3.164,F -coef_non_worker_mixed_party,0.7152,F -coef_child_too_young_for_school_children_only_party,-2.786,F -coef_child_too_young_for_school_mixed_party,-1.893,F -coef_pre_driving_age_student_children_only_party,-0.7217,F -coef_pre_driving_age_student_mixed_party,-1.752,F -coef_driving_age_student_children_only_party,-1.822,F -coef_driving_age_student_mixed_party,-1.353,F -#,, -coef_full_time_worker_specific_to_eating_out_joint_tours,0.7157,F -coef_full_time_worker_specific_to_eating_out_joint_tours_not,0.5,T -coef_full_time_worker_specific_to_discretionary_joint_tours,0.4392,F -coef_full_time_worker_specific_to_discretionary_joint_tours_not,0.5,T -coef_part_time_worker_specific_to_eating_out_joint_tours,2.188,F -coef_part_time_worker_specific_to_discretionary_joint_tours,0.285,F -coef_university_student_specific_to_eating_out_joint_tours,-0.82,F -coef_university_student_specific_to_discretionary_joint_tours,0,T -coef_non_worker_specific_to_eating_out_joint_tours,0.1617,F -coef_non_worker_specific_to_discretionary_joint_tours,-0.1835,F -coef_child_too_young_for_school_specific_to_eating_out_joint_tours,0.6589,F -coef_child_too_young_for_school_specific_to_discretionary_joint_tours,0.1284,F -coef_pre_driving_age_student_specific_to_eating_out_joint_tours,1.391,F -coef_pre_driving_age_student_specific_to_discretionary_joint_tours,0.6626,F -coef_driving_age_student_specific_to_eating_out_joint_tours,2.344,F -coef_driving_age_student_specific_to_discretionary_joint_tours,-0.6675,F -#,, -coef_household_in_urban_area_adult_adult_only_party,0,T -coef_household_in_urban_area_adult_mixed_party,-0.137,F -coef_household_in_urban_area_child_child_only_party,1.21,F -coef_household_in_urban_area_child_mixed_party,0.6265,F -coef_household_in_suburban_area_adult_adult_only_party,0,T -coef_household_in_suburban_area_adult_mixed_party,-0.06007,F -coef_household_in_suburban_area_child_child_only_party,0,T -coef_household_in_suburban_area_child_mixed_party,0,T -coef_adult_more_automobiles_than_workers_adult_only_party,-0.2133,F -coef_adult_more_automobiles_than_workers_mixed_party,-0.6031,F -coef_child_more_automobiles_than_workers_child_only_party,-0.4214,F -coef_child_more_automobiles_than_workers_mixed_party,-0.3776,F -#,, -coef_dummy_for_high_income_for_adult_in_adult_party,-0.1682,F -coef_dummy_for_high_income_for_adult_in_mixed_party,-0.02613,F -coef_dummy_for_high_income_for_child_in_children_party,-0.5619,F -coef_dummy_for_high_income_for_child_in_mixed_party,-0.1528,F -coef_adult_number_of_joint_tours_adult_only,-0.3242,F -coef_adult_number_of_joint_tours_mixed,-0.3584,F -coef_child_number_of_joint_tours_child_only,0.1047,F -coef_child_number_of_joint_tours_mixed,-0.5089,F -coef_adult_number_of_other_adults_in_the_household_adults_only_party,0,T -coef_adult_number_of_other_adults_in_the_household_mixed_party,0,T -coef_child_number_of_other_children_in_the_household_child_only_party,0,T -coef_child_number_of_other_children_in_the_household_mixed,0,T -#,, -coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,0.8436,F -coef_adult_log_of_max_window_overlap_with_a_child_mixed,2.189,F -coef_child_log_of_max_window_overlap_with_an_adult_mixed,1.538,F -coef_child_log_of_max_window_overlap_with_a_child_child,1.296,F - - - - diff --git a/activitysim/examples/example_semcog/configs/joint_tour_scheduling.yaml b/activitysim/examples/example_semcog/configs/joint_tour_scheduling.yaml deleted file mode 100755 index 0eebc991b9..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_scheduling.yaml +++ /dev/null @@ -1,12 +0,0 @@ -LOGIT_TYPE: MNL - -SPEC: tour_scheduling_joint.csv -COEFFICIENTS: tour_scheduling_joint_coeffs.csv - -preprocessor: - SPEC: joint_tour_scheduling_annotate_tours_preprocessor - DF: joint_tours - TABLES: - - land_use - - households - - joint_tour_participants diff --git a/activitysim/examples/example_semcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/example_semcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv deleted file mode 100755 index 7a1e4e485d..0000000000 --- a/activitysim/examples/example_semcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv +++ /dev/null @@ -1,2 +0,0 @@ -Description,Target,Expression -,origin_to_destination_distance,"skim_dict.lookup(joint_tours.origin, joint_tours.destination, ('SOV_DIST', 'MD'))" diff --git a/activitysim/examples/example_semcog/configs/logging.yaml b/activitysim/examples/example_semcog/configs/logging.yaml deleted file mode 100755 index efc1b2d01b..0000000000 --- a/activitysim/examples/example_semcog/configs/logging.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Config for logging -# ------------------ -# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema - -logging: - version: 1 - disable_existing_loggers: true - - - # Configuring the default (root) logger is highly recommended - root: - level: NOTSET - handlers: [console] - - loggers: - - activitysim: - level: DEBUG - handlers: [console, logfile] - propagate: false - - orca: - level: WARN - handlers: [console, logfile] - propagate: false - - handlers: - - logfile: - class: logging.FileHandler - filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] - mode: w - formatter: fileFormatter - level: NOTSET - - console: - class: logging.StreamHandler - stream: ext://sys.stdout - formatter: simpleFormatter - level: NOTSET - - formatters: - - simpleFormatter: - class: logging.Formatter - # format: '%(levelname)s - %(name)s - %(message)s' - format: '%(levelname)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - - fileFormatter: - class: logging.Formatter - format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency.csv b/activitysim/examples/example_semcog/configs/mandatory_tour_frequency.csv deleted file mode 100755 index 17f68125ab..0000000000 --- a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency.csv +++ /dev/null @@ -1,101 +0,0 @@ -Label,Description,Expression,work1,work2,school1,school2,work_and_school -util_ft_worker,Full-time worker alternative-specific constants,ptype == 1,0,coef_ft_worker_work2_asc,,, -util_pt_worker,Part-time worker alternative-specific constants,ptype == 2,0,coef_pt_worker_work2_asc,,, -util_univ,University student alternative-specific constants,ptype == 3,coef_univ_work1_asc,coef_univ_work2_asc,0,coef_univ_school2_asc,coef_univ_work_and_school_asc -util_non_working_adult,Non-working adult alternative-specific constants,ptype == 4,,,,, -util_retired,Retired alternative-specific constants,ptype == 5,,,,, -util_driving_age_child,Driving-age child alternative-specific constants,ptype == 6,,,0,coef_driving_age_child_school2_asc,coef_driving_age_child_work_and_school_asc -util_pre_driving_age_child,Pre-driving age child who is in school alternative-specific constants,ptype == 7,,,0,coef_pre_driving_age_child_school2_asc, -util_female_ft_worker,Female - Full-time worker interaction,(ptype == 1) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school -util_female_pt_worker,Female - Part-time worker interaction,(ptype == 2) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school -util_female_univ,Female - University student interaction,(ptype == 3) & female,coef_female_work1,coef_female_work2,coef_female_school1,coef_female_school2,coef_female_work_and_school -util_female_non_working_adult,Female - Non-working adult interaction,(ptype == 4) & female,0,coef_female_work2,coef_female_school1,, -util_female_retired,Female - Retired interaction,(ptype == 5) & female,0,coef_female_work2,coef_female_school1,, -util_female_driving_age_child,Female - Driving-age child interaction,(ptype == 6) & female,coef_female_work1,,0,coef_female_school2,coef_female_work_and_school -util_female_pre_driving,Female - Pre-driving age child who is in school interaction,(ptype == 7) & female,coef_female_work1,,0,coef_female_school2, -util_under_35_ft,Under 35 - Full-time worker interaction,(ptype == 1) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school -util_under_35_pt,Under 35 - Part-time worker interaction,(ptype == 2) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school -util_under_35_univ,Under 35 - University student interaction,(ptype == 3) & (age <= 35),coef_under_35_work1,coef_under_35_work2,0,coef_under_35_school2,coef_under_35_work_and_school -util_under_35_non_working,Under 35 - Non-working adult interaction,(ptype == 4) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,, -util_can_walk_to_work_ft,Can walk to work - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_pt,Can walk to work - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_univ,Can walk to work - University student interaction,(ptype == 3) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_non_working_adult,Can walk to work - Non-working adult interaction,(ptype == 4) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_retired,Can walk to work - Retired interaction,(ptype == 5) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_school_univ,Can walk to school - University student interaction,(ptype == 3) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_school_driving_age_child,Can walk to school - Driving-age child interaction,(ptype == 6) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_school_pre_driving_age_child,Can walk to school - Pre-driving age child who is in school interaction,(ptype == 7) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_work_or_school_ft,Can walk to work or school - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_pt,Can walk to work or school - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_univ,Can walk to work or school - University student interaction,(ptype == 3) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_driving_age_child,Can walk to work or school - Driving-age child interaction,(ptype == 6) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_round_trip_auto_time_to_work_ft,Round trip auto time to work - Full-time worker interaction,(ptype == 1) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_pt,Round trip auto time to work - Part-time worker interaction,(ptype == 2) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_univ,Round trip auto time to work - University student interaction,(ptype == 3) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_non_working_adult,Round trip auto time to work - Non-working adult interaction,(ptype == 4) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, -util_round_trip_auto_time_to_work_retired,Round trip auto time to work - Retired,(ptype == 5) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, -util_round_trip_auto_time_to_school_univ,Round trip auto time to school - University student interaction,(ptype == 3) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school -util_round_trip_auto_time_to_school_driving_age_child,Round trip auto time to school - Driving-age child interaction,(ptype == 6) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school -util_round_trip_auto_time_to_school_pre_driving_age_child,Round trip auto time to school - Pre-driving age child who is in school interaction,(ptype == 7) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2, -util_student_employted_univ,Student is employed - University student interaction,(ptype == 3) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed -util_student_employted_driving_age_child,Student is employed - Driving-age child interaction,(ptype == 6) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed -util_non_student_goes_to_school_ft,Non-student goes to school - Full-time worker interaction,(ptype == 1) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school -util_non_student_goes_to_school_pt,Non-student goes to school - Part-time worker interaction,(ptype == 2) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school -util_non_student_goes_to_school_non_working_adult,Non-student goes to school - Non-working adult interaction,(ptype == 4) & nonstudent_to_school,,,coef_non_student_goes_to_school,, -util_non_student_goes_to_school_retired,Non-student goes to school - Retired interaction,(ptype == 5) & nonstudent_to_school,,,coef_non_student_goes_to_school,, -util_no_cars_in_hh_ft,No cars in household - Full-time worker interaction,(ptype == 1) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_pt,No cars in household - Part-time worker interaction,(ptype == 2) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_unif,No cars in household - University student interaction,(ptype == 3) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_non_working_adult,No cars in household - Non-working adult interaction,(ptype == 4) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, -util_no_cars_in_hh_retired,No cars in household - Retired interaction,(ptype == 5) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, -util_no_cars_in_hh_driving_age_student,No cars in household - Driving-age student interaction,(ptype == 6) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_pre_driving_age,No cars in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2, -util_fewer_cars_than_drivers_univ,Fewer cars than drivers in household - University student interaction,(ptype == 3) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_fewer_cars_than_drivers_driving_age_student,Fewer cars than drivers in household - Driving-age student interaction,(ptype == 6) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_fewer_cars_than_drivers_pre_driving_age,Fewer cars than drivers in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_num_preschool_in_hh_ft,Number of preschool children in household - Full-time worker interaction,(ptype == 1) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_pt,Number of preschool children in household - Part-time worker interaction,(ptype == 2) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_univ,Number of preschool children in household - University student interaction,(ptype == 3) * (num_young_children),coef_num_preschool_in_hh_work1,coef_num_preschool_in_hh_work2,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_non_working_adult,Number of preschool children in household - Non-working adult interaction,(ptype == 4) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, -util_num_preschool_in_hh_retired,Number of preschool children in household - Retired interaction,(ptype == 5) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, -util_num_preschool_in_hh_driving_age_student,Number of preschool children in household - Driving-age student interaction,(ptype == 6) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_pre_driving_age_in_school,Number of preschool children in household - Pre-driving age child who is in school interaction,(ptype == 7) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2, -util_num_nonworkers_in_hh_ft,Number of non-workers in the household - Full-time worker interaction,(ptype == 1) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, -util_num_nonworkers_in_hh_pt,Number of non-workers in the household - Part-time worker interaction,(ptype == 2) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, -util_hh_income_gt_50k_ft,Household income higher than $50k - Full-time worker interaction,(ptype == 1) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school -util_hh_income_gt_50k_pt,Household income higher than $50k - Part-time worker interaction,(ptype == 2) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school -util_hh_income_gt_50k_univ,Household income higher than $50k - University student interaction,(ptype == 3) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,coef_hh_income_gt_50k_work,0,,coef_hh_income_gt_50k_student_work_and_school -util_hh_income_gt_50k_non_working_adult,Household income higher than $50k - Non-working adult interaction,(ptype == 4) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, -util_hh_income_gt_50k_retired,Household income higher than $50k - Retired interaction,(ptype == 5) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, -util_hh_income_gt_50k_driving_age_student,Household income higher than $50k - Driving-age student interaction,(ptype == 6) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,,coef_hh_income_gt_50k_student_work_and_school -util_hh_income_gt_50k_pre_driving_age_student,Household income higher than $50k - Pre-driving age child who is in school interaction,(ptype == 7) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,, -util_non_family_hh_ft,Non-family household - Full-time worker interaction,(ptype == 1) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 -util_non_family_hh_pt,Non-family household - Part-time worker interaction,(ptype == 2) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 -util_non_family_hh_univ,Non-family household - University student interaction,(ptype == 3) & non_family,coef_non_family_hh_category2,coef_non_family_hh_category2,0,,coef_non_family_hh_category2 -util_non_family_hh_non_working_adult,Non-family household - Non-working adult interaction,(ptype == 4) & non_family,0,,coef_non_family_hh_category1,, -util_non_family_hh_retired,Non-family household - Retired interaction,(ptype == 5) & non_family,0,,coef_non_family_hh_category1,, -util_non_family_hh_driving_age_student,Non-family household - Driving-age student interaction,(ptype == 6) & non_family,coef_non_family_hh_category2,,0,,coef_non_family_hh_category2 -util_non_family_hh_pre_driving_age_student,Non-family household - Pre-driving age child who is in school interaction,(ptype == 7) & non_family,coef_non_family_hh_category2,,0,, -util_num_under_16_not_at_school_ft,Number of children under 16 not at school - Full-time worker interaction,(ptype == 1) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_pt,Number of children under 16 not at school - Part-time worker interaction,(ptype == 2) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_univ,Number of children under 16 not at school - University student interaction,(ptype == 3) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_non_working_adult,Number of children under 16 not at school - Non-working adult interaction,(ptype == 4) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, -util_num_under_16_not_at_school_retired,Number of children under 16 not at school - Retired,(ptype == 5) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, -util_num_under_16_not_at_school_driving_age_student,Number of children under 16 not at school - Driving-age student interaction,(ptype == 6) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_pre_driving_age,Number of children under 16 not at school - Pre-driving age child who is in school interaction,(ptype == 7) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2, -util_nome_urban_ft,Home is in urban area - Full-time worker interaction,(ptype == 1) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school -util_nome_urban_pt,Home is in urban area - Part-time worker interaction,(ptype == 2) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school -util_nome_urban_univ,Home is in urban area - University student interaction,(ptype == 3) & home_is_urban,coef_home_urban_work1,coef_home_urban_work2,0,coef_home_urban_school2,coef_home_urban_work_and_school -util_nome_urban_non_working_adult,Home is in urban area - Non-working adult interaction,(ptype == 4) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, -util_nome_urban_retired,Home is in urban area - Retired interaction,(ptype == 5) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, -util_nome_urban_driving_age_student,Home is in urban area - Driving-age student interaction,(ptype == 6) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2,coef_home_urban_work_and_school -util_nome_urban_pre_driving_age_student,Home is in urban area - Pre-driving age child who is in school interaction,(ptype == 7) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2, -util_availability_ft,Unavailable: Full-time worker,ptype == 1,,,,coef_unavailable, -util_availability_pt,Unavailable: Part-time worker,ptype == 2,,,,coef_unavailable, -util_availability_non_working_adult,Unavailable: Non-working adult,ptype == 4,,,,coef_unavailable,coef_unavailable -util_availability_retired,Unavailable: Retired,ptype == 5,,,,coef_unavailable,coef_unavailable -util_availability_driving_age_child,Unavailable: Driving-age child,ptype == 6,coef_unavailable,coef_unavailable,,, -util_availability_pre_driving_age_student,Unavailable: Pre-driving age child who is in school,ptype == 7,,coef_unavailable,,,coef_unavailable -util_availability_pre_driving_age_not_in_school,Unavailable: Pre-driving age child who is not in school,ptype == 8,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable -util_availability_work_tours_no_usual_work_location,Unavailable: Work tours for those with no usual work location,~(workplace_zone_id > -1),coef_unavailable,coef_unavailable,,,coef_unavailable -util_availability_school_tours_no_usual_school_location,Unavailable: School tours for those with no usual school location,~(school_zone_id > -1),,,coef_unavailable,coef_unavailable,coef_unavailable diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency.yaml b/activitysim/examples/example_semcog/configs/mandatory_tour_frequency.yaml deleted file mode 100755 index ce768bbaa7..0000000000 --- a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency.yaml +++ /dev/null @@ -1,10 +0,0 @@ - -SPEC: mandatory_tour_frequency.csv -COEFFICIENTS: mandatory_tour_frequency_coeffs.csv - -annotate_persons: - SPEC: annotate_persons_mtf - DF: persons - TABLES: - - tours - diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency_alternatives.csv b/activitysim/examples/example_semcog/configs/mandatory_tour_frequency_alternatives.csv deleted file mode 100755 index e4e04d48ef..0000000000 --- a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency_alternatives.csv +++ /dev/null @@ -1,7 +0,0 @@ -#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,work,school -work1,1,0 -work2,2,0 -school1,0,1 -school2,0,2 -work_and_school,1,1 diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency_coeffs.csv b/activitysim/examples/example_semcog/configs/mandatory_tour_frequency_coeffs.csv deleted file mode 100755 index d712395c00..0000000000 --- a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency_coeffs.csv +++ /dev/null @@ -1,54 +0,0 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_ft_worker_work2_asc,-3.3781,F -coef_pt_worker_work2_asc,-3.0476,F -coef_univ_work1_asc,-2.630262534,F -coef_univ_work2_asc,-4.5,F -coef_univ_school2_asc,-3.841285259,F -coef_univ_work_and_school_asc,-4.529863127,F -coef_driving_age_child_school2_asc,-3.136,F -coef_driving_age_child_work_and_school_asc,-4.4362,F -coef_pre_driving_age_child_school2_asc,-3.9703,F -coef_female_work1,0.1737,F -coef_female_work2,-0.2255,F -coef_female_school1,0.1592,F -coef_female_school2,0.114,F -coef_female_work_and_school,-0.3442,F -coef_female_univ_work1,0.1737,F -coef_under_35_work1,-0.4629,F -coef_under_35_work2,-0.1375,F -coef_under_35_school1,0.7218,F -coef_under_35_school2,1.275,F -coef_under_35_work_and_school,0.9761,F -coef_can_walk_to_work_work2,0.5268,F -coef_can_walk_to_work_school2,0.7114,F -coef_can_walk_to_work_and_school,0.1391,F -coef_round_trip_auto_time_to_work_work2,-0.0035,F -coef_round_trip_auto_time_to_work_school2,-0.0034,F -coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F -coef_student_employed,3.014,F -coef_non_student_goes_to_school,3.883,F -coef_no_cars_in_hh_work2,-1.306,F -coef_no_cars_in_hh_school2,-1.413,F -coef_no_cars_in_hh_work_and_school,-1.302,F -coef_few_cars_than_drivers_school2,-0.5759,F -coef_num_preschool_in_hh_work1,0.2191,F -coef_num_preschool_in_hh_work2,-0.1478,F -coef_num_preschool_in_hh_school1,-0.1335,F -coef_num_preschool_in_hh_school2,-0.5577,F -coef_num_preschool_in_hh_work_and_school,-0.1251,F -coef_num_non_workers_in_hh_school1,0.2574,F -coef_hh_income_gt_50k_work,-0.0528,F -coef_hh_income_gt_50k_school1,0.0347,F -coef_hh_income_gt_50k_worker_work_and_school,0.0347,F -coef_hh_income_gt_50k_student_work_and_school,-0.0528,F -coef_non_family_hh_category1,-0.25,F -coef_non_family_hh_category2,-0.1792,F -coef_num_under_16_not_at_school_work2,0.1804, -coef_num_under_16_not_at_school_school2,0.0866, -coef_num_under_16_not_at_school_work_and_school,-0.1955, -coef_home_urban_work1,-0.2831, -coef_home_urban_work2,0.2308, -coef_home_urban_school1,-0.1361, -coef_home_urban_school2,0.317, -coef_home_urban_work_and_school,-0.3509, diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_scheduling.yaml b/activitysim/examples/example_semcog/configs/mandatory_tour_scheduling.yaml deleted file mode 100755 index 7e74373cb3..0000000000 --- a/activitysim/examples/example_semcog/configs/mandatory_tour_scheduling.yaml +++ /dev/null @@ -1,52 +0,0 @@ - -SIMULATE_CHOOSER_COLUMNS: - - age - - female - - ptype - - is_university - - is_income_less25K - - is_income_25K_to_60K - - is_income_60K_to_120K - - is_income_greater120K - - is_pre_drive_child_in_HH - - is_non_worker_in_HH - - auto_ownership - - is_all_adults_full_time_workers - - distance_to_school - - roundtrip_auto_time_to_work - - roundtrip_auto_time_to_school - - free_parking_at_work - - workplace_zone_id - - school_zone_id - - home_zone_id - - TAZ - - transit_pass_ownership - - transit_pass_subsidy - -LOGSUM_SETTINGS: tour_mode_choice.yaml - -TOUR_SPEC_SEGMENTS: - work: work - school: school - univ: univ - -ALTS_PREPROCESSOR: - work: - SPEC: mandatory_tour_scheduling_annotate_alts_preprocessor.csv - DF: alt_tdd - -SPEC_SEGMENTS: - work: - 'SPEC': tour_scheduling_work.csv - 'COEFFICIENTS': tour_scheduling_work_coeffs.csv - school: - 'SPEC': tour_scheduling_school.csv - 'COEFFICIENTS': tour_scheduling_school_coeffs.csv - univ: - 'SPEC': tour_scheduling_university.csv - 'COEFFICIENTS': tour_scheduling_university_coeffs.csv - -DESTINATION_FOR_TOUR_PURPOSE: - work: workplace_zone_id - school: school_zone_id - univ: school_zone_id diff --git a/activitysim/examples/example_semcog/configs/network_los.yaml b/activitysim/examples/example_semcog/configs/network_los.yaml deleted file mode 100755 index 769bffb58c..0000000000 --- a/activitysim/examples/example_semcog/configs/network_los.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -read_skim_cache: False -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -write_skim_cache: True - -zone_system: 1 - -taz_skims: skims*.omx - -skim_time_periods: - time_window: 1440 - period_minutes: 30 - periods: [0, 6, 12, 24, 32, 48] - labels: ['EA', 'AM', 'MD', 'PM', 'EV'] diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination.csv deleted file mode 100755 index 8d5449c3e9..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination.csv +++ /dev/null @@ -1,19 +0,0 @@ -Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr -local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 -util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,coef_dist_eatout,coef_dist_othmaint,coef_dist_social,coef_dist_othdiscr -util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_escort,coef_dist_squared_shopping,coef_dist_squared_eatout,coef_dist_squared_othmaint,,coef_dist_squared_othdiscr -util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_escort,coef_dist_cubed_shopping,coef_dist_cubed_eatout,coef_dist_cubed_othmaint,,coef_dist_cubed_othdiscr -util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr -util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 -util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,coef_dist_med_inc_othmaint,0,coef_dist_med_inc_othdiscr -util_dist_high,@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,0,0,0,coef_dist_high_inc_othmaint,0,0 -util_dist_part_time,@(df['pemploy']==2) * _DIST,0,coef_dist_part_time_shopping,0,coef_dist_part_time_othmaint,0,0 -util_dist_full_time,@(df['pemploy']==1) * _DIST,0,0,0,coef_dist_full_time_othmaint,coef_dist_full_time_social,0 -util_dist_student,@(df['is_student']==True) * _DIST,0,0,0,coef_dist_student_othmaint,0,0 -util_dist_hh_child,@(df['hh_child']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,coef_dist_hh_child_social,coef_dist_hh_child_othdiscr -util_dist_child_0_5,@(df['age_0_to_5']==True) * _DIST,0,0,0,0,0,0 -util_dist_child_6_12,@(df['age_6_to_12']==True) * _DIST,0,0,0,0,0,0 -Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 -Mode choice logsum,mode_choice_logsum,coef_mode_logsum_escort,coef_mode_logsum_shopping,coef_mode_logsum_eatout,coef_mode_logsum_othmaint,coef_mode_logsum_social,coef_mode_logsum_othdiscr -Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1 diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination.yaml deleted file mode 100755 index 4a976c0a3e..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination.yaml +++ /dev/null @@ -1,63 +0,0 @@ -SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv -SPEC: non_mandatory_tour_destination.csv -COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv - -SAMPLE_SIZE: 30 - -SIZE_TERM_SELECTOR: non_mandatory - -# we can't use use household income_segment as this will also be set for non-workers -CHOOSER_SEGMENT_COLUMN_NAME: tour_type - -# optional (comment out if not desired) -DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample - - -SEGMENTS: - - shopping - - othmaint - - othdiscr - - eatout - - social - - escort - -SIMULATE_CHOOSER_COLUMNS: - - tour_type - - TAZ - - person_id - - income_segment - - pemploy - - is_student - - age_0_to_5 - - age_6_to_12 - - hh_child - -LOGSUM_SETTINGS: tour_mode_choice.yaml - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: TAZ -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 14 -OUT_PERIOD: 14 - -SEGMENT_IDS: - work_low: 1 - work_med: 2 - work_high: 3 - work_veryhigh: 4 - -CONSTANTS: - WORK_LOW_SEGMENT_ID: 1 - WORK_MED_SEGMENT_ID: 2 - WORK_HIGH_SEGMENT_ID: 3 - WORK_VERYHIGH_SEGMENT_ID: 4 - - -preprocessor: - SPEC: non_mandatory_tour_destination_annotate_tours_preprocessor - DF: tours - TABLES: - - persons \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination_coeffs.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination_coeffs.csv deleted file mode 100755 index 5df12a98e1..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination_coeffs.csv +++ /dev/null @@ -1,44 +0,0 @@ -coefficient_name,value,constrain -coef_mode_logsum_escort,0.43,F -coef_dist_escort,-0.024726043,F -coef_dist_squared_escort,-0.00174728,F -coef_dist_cubed_escort,3.68E-06,F -coef_dist_logged_escort,-1.236681595,F -coef_dist_hh_child_escort,-0.115868258,F -coef_mode_logsum_shopping,0.65,F -coef_dist_shopping,-0.098281692,F -coef_dist_squared_shopping,-0.020314759,F -coef_dist_cubed_shopping,0.000801126,F -coef_dist_logged_shopping,-0.792030818,F -coef_dist_part_time_shopping,0.027590804,F -coef_dist_joint_tour_shopping,0.035663397,F -coef_mode_logsum_eatout,0.56,F -coef_dist_eatout,-0.039022477,F -coef_dist_squared_eatout,-0.02117814,F -coef_dist_cubed_eatout,0.000793071,F -coef_dist_logged_eatout,-0.680658809,F -coef_dist_hh_child_eatout,-0.059764452,F -coef_mode_logsum_othmaint,0.38,F -coef_dist_othmaint,-0.058808778,F -coef_dist_squared_othmaint,-0.009297153,F -coef_dist_cubed_othmaint,0.000314133,F -coef_dist_logged_othmaint,-0.759800765,F -coef_dist_med_inc_othmaint,-0.007251455,F -coef_dist_high_inc_othmaint,-0.01144311,F -coef_dist_part_time_othmaint,0.020816995,F -coef_dist_full_time_othmaint,0.044631414,F -coef_dist_student_othmaint,-0.038852608,F -coef_mode_logsum_social,0.68,F -coef_dist_social,-0.070898603,F -coef_dist_logged_social,-0.67038649,F -coef_dist_full_time_social,-0.020050832,F -coef_dist_hh_child_social,-0.054753072,F -coef_dist_joint_tour_social,0.030177219,F -coef_mode_logsum_othdiscr,0.75,F -coef_dist_othdiscr,-0.03374735,F -coef_dist_squared_othdiscr,-0.012479607,F -coef_dist_cubed_othdiscr,0.000434109,F -coef_dist_logged_othdiscr,-0.680070996,F -coef_dist_med_inc_othdiscr,0.036605959,F -coef_dist_hh_child_othdiscr,-0.021556002,F -coef_dist_joint_tour_othdiscr,0.011538605,F diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination_sample.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination_sample.csv deleted file mode 100755 index f6cc670d14..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_destination_sample.csv +++ /dev/null @@ -1,17 +0,0 @@ -Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr -local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 -util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,coef_dist_eatout,coef_dist_othmaint,coef_dist_social,coef_dist_othdiscr -util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_escort,coef_dist_squared_shopping,coef_dist_squared_eatout,coef_dist_squared_othmaint,,coef_dist_squared_othdiscr -util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_escort,coef_dist_cubed_shopping,coef_dist_cubed_eatout,coef_dist_cubed_othmaint,,coef_dist_cubed_othdiscr -util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr -util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 -util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,coef_dist_med_inc_othmaint,0,coef_dist_med_inc_othdiscr -util_dist_high,@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,0,0,0,coef_dist_high_inc_othmaint,0,0 -util_dist_part_time,@(df['pemploy']==2) * _DIST,0,coef_dist_part_time_shopping,0,coef_dist_part_time_othmaint,0,0 -util_dist_full_time,@(df['pemploy']==1) * _DIST,0,0,0,coef_dist_full_time_othmaint,coef_dist_full_time_social,0 -util_dist_student,@(df['is_student']==True) * _DIST,0,0,0,coef_dist_student_othmaint,0,0 -util_dist_hh_child,@(df['hh_child']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,coef_dist_hh_child_social,coef_dist_hh_child_othdiscr -util_dist_child_0_5,@(df['age_0_to_5']==True) * _DIST,0,0,0,0,0,0 -util_dist_child_6_12,@(df['age_6_to_12']==True) * _DIST,0,0,0,0,0,0 -Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency.csv deleted file mode 100755 index c295ea5b07..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency.csv +++ /dev/null @@ -1,211 +0,0 @@ -Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL -util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour -util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour -util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour -util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour -util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour -util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour -util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours -util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours -util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 -util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 -util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 -util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 -util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 -util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus -util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 -util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 -util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 -util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 -util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 -util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus -util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 -util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 -util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 -util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 -util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 -util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus -util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours -util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours -util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours -util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours -util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours -util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 -util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 -util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 -util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 -util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 -util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus -util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 -util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 -util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 -util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 -util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus -util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 -util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 -util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 -util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 -util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus -util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 -util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 -util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 -util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 -util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus -util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour -util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour -util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour -util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour -util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour -util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour -util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour -util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour -util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour -util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour -util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour -util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour -util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour -util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour -util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour -util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 -util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 -util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 -util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 -util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 -util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour -util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour -util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour -util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour -util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour -util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 -util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 -util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 -util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 -util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus -util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 -util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 -util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 -util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 -util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus -util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 -util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 -util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 -util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 -util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus -util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 -util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 -util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 -util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 -util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 -util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 -util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 -util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 -util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 -util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 -util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour -util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour -util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour -util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour -util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour -util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour -util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour -util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour -util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour -util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour -util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour -util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour -util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour -util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour -util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour -util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour -util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour -util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour -util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour -util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour -util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour -util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour -util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour -util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour -util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour -util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour -util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour -util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour -util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour -util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour -util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour -util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour -util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour -util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour -util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour -util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour -util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour -util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour -util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour -util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour -util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour -util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour -util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour -util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour -util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour -util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour -util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour -util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour -util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour -util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour -util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 -util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 -util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 -util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 -util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus -util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 -util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 -util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 -util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 -util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus -util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 -util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 -util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 -util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 -util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus -util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting -util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting -util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting -util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping -util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping -util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping -util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance -util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance -util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance -util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out -util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out -util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out -util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary -util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary -util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary -util_urban_and_tour_frequency_is_1,Urban Areatype & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 -util_urban_and_tour_frequency_is_2,Urban Areatype & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 -util_urban_and_tour_frequency_is_3,Urban Areatype & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 -util_urban_and_tour_frequency_is_4,Urban Areatype & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 -util_urban_and_tour_frequency_is_5_plus,Urban Areatype & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus -util_urban_and_escorting_tour,Urban Areatype & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour -util_urban_and_shopping_tour,Urban Areatype &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour -util_urban_and_maintenance_tour,Urban Areatype & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour -util_urban_and_eatingout_tour,Urban Areatype & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour -util_urban_and_discretionary_tour,Urban Areatype & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour -util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant -util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant -util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant -util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant -util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant -util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant -util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant -util_0_auto_household_and_escorting_tour,Dummy for 0-auto household & Escorting Tour,escort * no_cars,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency.yaml b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency.yaml deleted file mode 100755 index bd1c6f12d3..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency.yaml +++ /dev/null @@ -1,42 +0,0 @@ - -SEGMENT_COL: ptype -SPEC: non_mandatory_tour_frequency.csv - -SPEC_SEGMENTS: - - NAME: PTYPE_FULL - PTYPE: 1 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv - - NAME: PTYPE_PART - PTYPE: 2 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv - - NAME: PTYPE_UNIVERSITY - PTYPE: 3 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv - - NAME: PTYPE_NONWORK - PTYPE: 4 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv - - NAME: PTYPE_RETIRED - PTYPE: 5 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv - - NAME: PTYPE_DRIVING - PTYPE: 6 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv - - NAME: PTYPE_SCHOOL - PTYPE: 7 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv - - NAME: PTYPE_PRESCHOOL - PTYPE: 8 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv - -annotate_persons: - SPEC: annotate_persons_nmtf - DF: persons - TABLES: - - tours - -preprocessor: - SPEC: non_mandatory_tour_frequency_annotate_persons_preprocessor - DF: persons - TABLES: - - tours -# - accessibility diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_alternatives.csv deleted file mode 100755 index 1c0052f963..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_alternatives.csv +++ /dev/null @@ -1,97 +0,0 @@ -escort,shopping,othmaint,othdiscr,eatout,social -0,0,0,0,0,0 -0,0,0,1,0,0 -0,0,0,0,0,1 -0,0,0,1,0,1 -0,0,0,0,1,0 -0,0,0,1,1,0 -0,0,0,0,1,1 -0,0,0,1,1,1 -0,0,1,0,0,0 -0,0,1,1,0,0 -0,0,1,0,0,1 -0,0,1,1,0,1 -0,0,1,0,1,0 -0,0,1,1,1,0 -0,0,1,0,1,1 -0,0,1,1,1,1 -0,1,0,0,0,0 -0,1,0,1,0,0 -0,1,0,0,0,1 -0,1,0,1,0,1 -0,1,0,0,1,0 -0,1,0,1,1,0 -0,1,0,0,1,1 -0,1,0,1,1,1 -0,1,1,0,0,0 -0,1,1,1,0,0 -0,1,1,0,0,1 -0,1,1,1,0,1 -0,1,1,0,1,0 -0,1,1,1,1,0 -0,1,1,0,1,1 -0,1,1,1,1,1 -1,0,0,0,0,0 -1,0,0,1,0,0 -1,0,0,0,0,1 -1,0,0,1,0,1 -1,0,0,0,1,0 -1,0,0,1,1,0 -1,0,0,0,1,1 -1,0,0,1,1,1 -1,0,1,0,0,0 -1,0,1,1,0,0 -1,0,1,0,0,1 -1,0,1,1,0,1 -1,0,1,0,1,0 -1,0,1,1,1,0 -1,0,1,0,1,1 -1,0,1,1,1,1 -1,1,0,0,0,0 -1,1,0,1,0,0 -1,1,0,0,0,1 -1,1,0,1,0,1 -1,1,0,0,1,0 -1,1,0,1,1,0 -1,1,0,0,1,1 -1,1,0,1,1,1 -1,1,1,0,0,0 -1,1,1,1,0,0 -1,1,1,0,0,1 -1,1,1,1,0,1 -1,1,1,0,1,0 -1,1,1,1,1,0 -1,1,1,0,1,1 -1,1,1,1,1,1 -2,0,0,0,0,0 -2,0,0,1,0,0 -2,0,0,0,0,1 -2,0,0,1,0,1 -2,0,0,0,1,0 -2,0,0,1,1,0 -2,0,0,0,1,1 -2,0,0,1,1,1 -2,0,1,0,0,0 -2,0,1,1,0,0 -2,0,1,0,0,1 -2,0,1,1,0,1 -2,0,1,0,1,0 -2,0,1,1,1,0 -2,0,1,0,1,1 -2,0,1,1,1,1 -2,1,0,0,0,0 -2,1,0,1,0,0 -2,1,0,0,0,1 -2,1,0,1,0,1 -2,1,0,0,1,0 -2,1,0,1,1,0 -2,1,0,0,1,1 -2,1,0,1,1,1 -2,1,1,0,0,0 -2,1,1,1,0,0 -2,1,1,0,0,1 -2,1,1,1,0,1 -2,1,1,0,1,0 -2,1,1,1,1,0 -2,1,1,0,1,1 -2,1,1,1,1,1 diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv deleted file mode 100755 index c764831615..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv +++ /dev/null @@ -1,21 +0,0 @@ -Description,Target,Expression -#,, -,max_window,person_max_window(persons)/2.25 -,log_max_window,np.log1p(max_window) -,medium_low_income,(persons.income_in_thousands > 20) & (persons.income_in_thousands <= 50) -,medium_high_income,(persons.income_in_thousands > 50) & (persons.income_in_thousands <= 100) -,high_income,(persons.income_in_thousands > 100) -,no_cars,(persons.auto_ownership == 0) -,car_sufficiency,persons.auto_ownership-persons.num_workers -#,, -# UEC file comments says these are joint tour counts per persons but code is for household counts,, -,_JOINT_TOURS,tours[tours.tour_category=='joint'] -,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), persons.household_id)" -,num_hh_joint_shop_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='shopping'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_eatout_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='eatout'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_maint_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='maint'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_social_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='social'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_othdiscr_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='othdiscr'].groupby('household_id').size(), persons.household_id)" -# non_mandatory tour frequency extension,, -,has_mandatory_tour,(persons.num_mand > 0) * 1 -,has_joint_tour,(persons.num_joint_tours > 0) * 1 diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv deleted file mode 100755 index 68b0882011..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.1506,F -coef_total_number_of_tours_is_2,-11.1214,F -coef_total_number_of_tours_is_3,-13.175,F -coef_total_number_of_tours_is_4,-999,T -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.234,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.9231,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-6.5835,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,-0.2162,F -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3587,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-4.2701,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.3298,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.3759,F -coef_logged_maximum_residual_window_tour_frequency_is_3,3.2808,F -coef_logged_maximum_residual_window_tour_frequency_is_4,3.2808,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,3.2808,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T -coef_high_income_group_and_tour_frequency_is_1,0,T -coef_high_income_group_and_tour_frequency_is_2,0,T -coef_high_income_group_and_tour_frequency_is_3,0,T -coef_high_income_group_and_tour_frequency_is_4,0,T -coef_high_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_shopping_tour,0,T -coef_mediumhigh_income_group_and_shopping_tour,0.2443,F -coef_high_income_group_and_shopping_tour,0.2443,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0.3982,F -coef_high_income_group_and_maintenance_tour,0.3982,F -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0.4916,F -coef_high_income_group_and_eating_out_tour,0.4916,F -coef_mediumlow_income_group_and_discretionary_tour,0.9169,F -coef_mediumhigh_income_group_and_discretionary_tour,1.405,F -coef_high_income_group_and_discretionary_tour,2.327,F -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,0.2858,F -coef_high_income_group_and_visiting_tour,0.2858,F -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.6369,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.2902,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.0352,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.0352,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.0352,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.0352,F -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,-0.6571,F -coef_presence_of_non_worker_and_tour_frequency_is_3,-1.4044,F -coef_presence_of_non_worker_and_tour_frequency_is_4,-1.4044,F -coef_presence_of_non_worker_and_tour_frequency_is_5,-1.4044,F -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.3219,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-1.0874,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-1.0874,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-1.0874,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-1.0874,F -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_school_kid_and_escorting_tour,0,T -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,0,T -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,-0.6377,F -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,-1.5698,F -coef_presence_of_pre_school_kid_and_eating_out_tour,-0.2987,F -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0,T -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,0,T -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,-1.2834,F -coef_presence_of_driving_school_kid_and_discretionary_tour,-0.9202,F -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_2,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_3,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_4,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0.1004,F -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,1.0394,F -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.4934,F -coef_2_plus_escort_tours_constant,1.4155,F -coef_1_plus_shopping_tours_constant,0.532,F -coef_1_plus_maintenance_tours_constant,-0.4344,F -coef_1_plus_eating_out_tours_constant,-0.0242,F -coef_1_plus_visting_tours_constant,0.2367,F -coef_1_plus_other_discretionary_tours_constant,-0.2602,F -coef_0_auto_household_and_escorting_tour,-2, \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv deleted file mode 100755 index 6b9d8d7622..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.3572,F -coef_total_number_of_tours_is_2,-10.647,F -coef_total_number_of_tours_is_3,-13.5005,F -coef_total_number_of_tours_is_4,-16.3965,F -coef_total_number_of_tours_is_5,-19.6843,F -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8887,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.3343,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.3343,F -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.3343,F -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,0,T -coef_number_of_joint_tours_and_tour_frequency_is_3,0,T -coef_number_of_joint_tours_and_tour_frequency_is_4,0,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,-0.5866,F -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.2562,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.2868,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.3993,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.3993,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.3993,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0.4981,F -coef_mediumlow_income_group_and_tour_frequency_is_2,0.8345,F -coef_mediumlow_income_group_and_tour_frequency_is_3,1.0213,F -coef_mediumlow_income_group_and_tour_frequency_is_4,1.0213,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0213,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.4981,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8345,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0213,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0213,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0213,F -coef_high_income_group_and_tour_frequency_is_1,0.5189,F -coef_high_income_group_and_tour_frequency_is_2,1.1336,F -coef_high_income_group_and_tour_frequency_is_3,1.3899,F -coef_high_income_group_and_tour_frequency_is_4,1.3899,F -coef_high_income_group_and_tour_frequency_is_5_plus,1.3899,F -coef_mediumlow_income_group_and_shopping_tour,0,T -coef_mediumhigh_income_group_and_shopping_tour,0,T -coef_high_income_group_and_shopping_tour,0,T -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0.5581,F -coef_high_income_group_and_eating_out_tour,0.5581,F -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0.2565,F -coef_high_income_group_and_discretionary_tour,0.2565,F -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,-0.2423,F -coef_high_income_group_and_visiting_tour,-0.2423,F -coef_female_and_tour_frequency_is_1,-0.0766,F -coef_female_and_tour_frequency_is_2,-0.1062,F -coef_female_and_tour_frequency_is_3,-0.3274,F -coef_female_and_tour_frequency_is_4,-0.3274,F -coef_female_and_tour_frequency_is_5,-0.3274,F -coef_female_and_escorting_tour,0.1824,F -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.3486,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.1304,F -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,0,T -coef_presence_of_non_worker_and_tour_frequency_is_3,0,T -coef_presence_of_non_worker_and_tour_frequency_is_4,0,T -coef_presence_of_non_worker_and_tour_frequency_is_5,0,T -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,-0.4815,F -coef_presence_of_retiree_and_escorting_tour,-0.808,F -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0.3601,F -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3974,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.6842,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,-0.2746,F -coef_at_home_pre_school_kid_and_escorting_tour,-1.5675,F -coef_presence_of_full_time_worker_and_shopping_tour,-0.3059,F -coef_presence_of_part_time_worker_and_shopping_tour,-0.1541,F -coef_presence_of_non_worker_and_shopping_tour,-0.416,F -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,-0.208,F -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,-0.1685,F -coef_presence_of_part_time_worker_and_maintenance_tour,-0.1584,F -coef_presence_of_non_worker_and_maintenance_tour,-0.3237,F -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.3571,F -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-0.2014,F -coef_presence_of_retiree_and_eating_out_tour,-0.5708,F -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,-0.4225,F -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,-0.667,F -coef_presence_of_part_time_worker_and_discretionary_tour,-0.2102,F -coef_presence_of_non_worker_and_discretionary_tour,-0.4281,F -coef_presence_of_retiree_and_discretionary_tour,-0.9104,F -coef_presence_of_university_student_and_discretionary_tour,-0.8551,F -coef_presence_of_driving_school_kid_and_discretionary_tour,-0.3963,F -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,-0.3959,F -coef_presence_of_pre_school_kid_and_discretionary_tour,-0.5081,F -coef_at_home_pre_driving_school_kid_and_discretionary_tour,-0.4703,F -coef_at_home_pre_school_kid_and_discretionary_tour,-0.4703,F -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_2,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_3,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_4,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0226,F -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0.0451,F -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0.033,F -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0.1067,F -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0.0749,F -coef_walk_access_to_retail_and_eating_out,0.145,F -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0.0567,F -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0.0844,F -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,-0.4316,F -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,0.0298,F -coef_2_plus_escort_tours_constant,0.7402,F -coef_1_plus_shopping_tours_constant,0.4774,F -coef_1_plus_maintenance_tours_constant,0.1202,F -coef_1_plus_eating_out_tours_constant,0.0097,F -coef_1_plus_visting_tours_constant,0.0522,F -coef_1_plus_other_discretionary_tours_constant,0.7412,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv deleted file mode 100755 index 86b81420d1..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-8.9791,F -coef_total_number_of_tours_is_2,-12.0248,F -coef_total_number_of_tours_is_3,-14.8516,F -coef_total_number_of_tours_is_4,-17.7037,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.6766,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.0518,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.0518,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,-0.1699,F -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.4285,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-0.6551,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-1.0411,F -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-1.0411,F -coef_number_of_joint_shopping_tours,-0.2391,F -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,-0.7727,F -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.7637,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.7928,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.7928,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.7928,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.7928,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0.5709,F -coef_mediumlow_income_group_and_tour_frequency_is_2,0.8315,F -coef_mediumlow_income_group_and_tour_frequency_is_3,0.8315,F -coef_mediumlow_income_group_and_tour_frequency_is_4,0.8315,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0.8315,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.7426,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8546,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0792,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0792,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0792,F -coef_high_income_group_and_tour_frequency_is_1,1.0633,F -coef_high_income_group_and_tour_frequency_is_2,1.0633,F -coef_high_income_group_and_tour_frequency_is_3,1.7742,F -coef_high_income_group_and_tour_frequency_is_4,2.3941,F -coef_high_income_group_and_tour_frequency_is_5_plus,2.3941,F -coef_mediumlow_income_group_and_shopping_tour,0.7734,F -coef_mediumhigh_income_group_and_shopping_tour,0.8906,F -coef_high_income_group_and_shopping_tour,0.9776,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0.2766,F -coef_mediumhigh_income_group_and_eating_out_tour,0.4631,F -coef_high_income_group_and_eating_out_tour,0.7086,F -coef_mediumlow_income_group_and_discretionary_tour,0.1707,F -coef_mediumhigh_income_group_and_discretionary_tour,0.5009,F -coef_high_income_group_and_discretionary_tour,0.8846,F -coef_mediumlow_income_group_and_visiting_tour,-0.267,F -coef_mediumhigh_income_group_and_visiting_tour,-0.267,F -coef_high_income_group_and_visiting_tour,-0.9449,F -coef_female_and_tour_frequency_is_1,0.3902,F -coef_female_and_tour_frequency_is_2,0.5323,F -coef_female_and_tour_frequency_is_3,0.7452,F -coef_female_and_tour_frequency_is_4,1.1294,F -coef_female_and_tour_frequency_is_5,1.1294,F -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,-0.2464,F -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,-0.3623,F -coef_zero_car_ownership_and_tour_frequency_is_2,-1.272,F -coef_zero_car_ownership_and_tour_frequency_is_3,-1.9307,F -coef_zero_car_ownership_and_tour_frequency_is_4,-1.9307,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-1.9307,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.3623,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-1.272,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-1.9307,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-1.9307,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-1.9307,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.7738,F -coef_presence_of_non_worker_and_tour_frequency_is_1,-0.3763,F -coef_presence_of_non_worker_and_tour_frequency_is_2,-0.719,F -coef_presence_of_non_worker_and_tour_frequency_is_3,-1.0229,F -coef_presence_of_non_worker_and_tour_frequency_is_4,-1.0229,F -coef_presence_of_non_worker_and_tour_frequency_is_5,-1.0229,F -coef_presence_of_retiree_and_tour_frequency_is_1,-0.464,F -coef_presence_of_retiree_and_tour_frequency_is_2,-0.4795,F -coef_presence_of_retiree_and_tour_frequency_is_3,-0.4795,F -coef_presence_of_retiree_and_tour_frequency_is_4,-0.4795,F -coef_presence_of_retiree_and_tour_frequency_is_5,-0.4795,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.7161,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0.1486,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0.484,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0.484,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0.484,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0.484,F -coef_presence_of_full_time_worker_and_escorting_tour,0.3947,F -coef_presence_of_part_time_worker_and_escorting_tour,-0.5861,F -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3773,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.7194,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,-1.148,F -coef_at_home_pre_school_kid_and_escorting_tour,-0.1373,F -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.4667,F -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-0.4976,F -coef_presence_of_retiree_and_eating_out_tour,-0.6911,F -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,-0.3926,F -coef_at_home_pre_school_kid_and_eating_out_tour,-0.3926,F -coef_presence_of_full_time_worker_and_discretionary_tour,-0.3545,F -coef_presence_of_part_time_worker_and_discretionary_tour,-0.3545,F -coef_presence_of_non_worker_and_discretionary_tour,0,T -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0.0713,F -coef_walk_access_to_retail_and_tour_frequency_is_2,0.1256,F -coef_walk_access_to_retail_and_tour_frequency_is_3,0.1508,F -coef_walk_access_to_retail_and_tour_frequency_is_4,0.1508,F -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.1508,F -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0.0598,F -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0.0956,F -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0.0772,F -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.0629,F -coef_2_plus_escort_tours_constant,0.9273,F -coef_1_plus_shopping_tours_constant,0.4683,F -coef_1_plus_maintenance_tours_constant,-0.0653,F -coef_1_plus_eating_out_tours_constant,-0.1429,F -coef_1_plus_visting_tours_constant,-0.1272,F -coef_1_plus_other_discretionary_tours_constant,0.3334,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv deleted file mode 100755 index c015b2108f..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.6391,F -coef_total_number_of_tours_is_2,-10.4557,F -coef_total_number_of_tours_is_3,-14.0176,F -coef_total_number_of_tours_is_4,-16.9717,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.239,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.8208,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.5923,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.5923,F -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.5923,F -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,-1.1986,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-1.1986,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-1.1986,F -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.5748,F -coef_logged_maximum_residual_window_tour_frequency_is_2,2.0026,F -coef_logged_maximum_residual_window_tour_frequency_is_3,2.0026,F -coef_logged_maximum_residual_window_tour_frequency_is_4,2.0026,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,2.0026,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0.5981,F -coef_mediumlow_income_group_and_tour_frequency_is_2,0.9178,F -coef_mediumlow_income_group_and_tour_frequency_is_3,1.7539,F -coef_mediumlow_income_group_and_tour_frequency_is_4,1.7539,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.7539,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.8682,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5362,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.9331,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.9331,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.9331,F -coef_high_income_group_and_tour_frequency_is_1,0.8682,F -coef_high_income_group_and_tour_frequency_is_2,1.5362,F -coef_high_income_group_and_tour_frequency_is_3,1.9331,F -coef_high_income_group_and_tour_frequency_is_4,1.9331,F -coef_high_income_group_and_tour_frequency_is_5_plus,1.9331,F -coef_mediumlow_income_group_and_shopping_tour,0.4421,F -coef_mediumhigh_income_group_and_shopping_tour,0.4421,F -coef_high_income_group_and_shopping_tour,0.7066,F -coef_mediumlow_income_group_and_maintenance_tour,0.6763,F -coef_mediumhigh_income_group_and_maintenance_tour,0.6763,F -coef_high_income_group_and_maintenance_tour,0.6763,F -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0,T -coef_high_income_group_and_eating_out_tour,0,T -coef_mediumlow_income_group_and_discretionary_tour,0.296,F -coef_mediumhigh_income_group_and_discretionary_tour,0.296,F -coef_high_income_group_and_discretionary_tour,0.296,F -coef_mediumlow_income_group_and_visiting_tour,-0.6868,F -coef_mediumhigh_income_group_and_visiting_tour,-0.6868,F -coef_high_income_group_and_visiting_tour,-0.6868,F -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0.4524,F -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0.3072,F -coef_zero_car_ownership_and_tour_frequency_is_1,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.5498,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,0,T -coef_presence_of_non_worker_and_tour_frequency_is_3,0,T -coef_presence_of_non_worker_and_tour_frequency_is_4,0,T -coef_presence_of_non_worker_and_tour_frequency_is_5,0,T -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.1559,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.5681,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.5681,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.5681,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.5681,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,-0.5263,F -coef_presence_of_retiree_and_escorting_tour,-0.7516,F -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0.4164,F -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.5795,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.5414,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,-0.3131,F -coef_presence_of_part_time_worker_and_maintenance_tour,-0.5621,F -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-0.6545,F -coef_presence_of_retiree_and_eating_out_tour,-1.389,F -coef_presence_of_university_student_and_eating_out_tour,-1.4318,F -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0,T -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,-1.0371,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0.0899,F -coef_walk_access_to_retail_and_tour_frequency_is_2,0.1447,F -coef_walk_access_to_retail_and_tour_frequency_is_3,0.3479,F -coef_walk_access_to_retail_and_tour_frequency_is_4,0.3479,F -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.3479,F -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,-0.3929,F -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,0.5272,F -coef_2_plus_escort_tours_constant,1.5987,F -coef_1_plus_shopping_tours_constant,0.7569,F -coef_1_plus_maintenance_tours_constant,0.5533,F -coef_1_plus_eating_out_tours_constant,0.6914,F -coef_1_plus_visting_tours_constant,0.1405,F -coef_1_plus_other_discretionary_tours_constant,0.7989,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv deleted file mode 100755 index 3085ba2cb0..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,2.491,F -coef_discretionary_tour,0.903,F -coef_shopping_tour,0,T -coef_maintenance_tour,1.022,F -coef_visiting_or_social_tour,0.769,F -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-5.759,F -coef_total_number_of_tours_is_2,-11.517,F -coef_total_number_of_tours_is_3,-17.276,F -coef_total_number_of_tours_is_4,-23.035,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_2,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_3,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_4,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,0,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,0,T -coef_number_of_joint_tours_and_tour_frequency_is_3,0,T -coef_number_of_joint_tours_and_tour_frequency_is_4,0,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,0,T -coef_logged_maximum_residual_window_tour_frequency_is_2,0,T -coef_logged_maximum_residual_window_tour_frequency_is_3,0,T -coef_logged_maximum_residual_window_tour_frequency_is_4,0,T -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T -coef_high_income_group_and_tour_frequency_is_1,0,T -coef_high_income_group_and_tour_frequency_is_2,0,T -coef_high_income_group_and_tour_frequency_is_3,0,T -coef_high_income_group_and_tour_frequency_is_4,0,T -coef_high_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_shopping_tour,0,T -coef_mediumhigh_income_group_and_shopping_tour,0,T -coef_high_income_group_and_shopping_tour,0,T -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0,T -coef_high_income_group_and_eating_out_tour,0,T -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0,T -coef_high_income_group_and_discretionary_tour,0,T -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,0,T -coef_high_income_group_and_visiting_tour,0,T -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,0,T -coef_zero_car_ownership_and_tour_frequency_is_2,0,T -coef_zero_car_ownership_and_tour_frequency_is_3,0,T -coef_zero_car_ownership_and_tour_frequency_is_4,0,T -coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,0,T -coef_presence_of_non_worker_and_tour_frequency_is_3,0,T -coef_presence_of_non_worker_and_tour_frequency_is_4,0,T -coef_presence_of_non_worker_and_tour_frequency_is_5,0,T -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,-0.893,F -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0.89,F -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_school_kid_and_escorting_tour,0,T -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,1.155,F -coef_presence_of_non_worker_and_shopping_tour,0.808,F -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,1.037,F -coef_presence_of_non_worker_and_eating_out_tour,1.157,F -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0,T -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,0.791,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,0.3622,F -coef_2_plus_escort_tours_constant,2.2219,F -coef_1_plus_shopping_tours_constant,1.6919,F -coef_1_plus_maintenance_tours_constant,0.6788,F -coef_1_plus_eating_out_tours_constant,0.9612,F -coef_1_plus_visting_tours_constant,0.4424,F -coef_1_plus_other_discretionary_tours_constant,1.4935,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv deleted file mode 100755 index ea64f3ca34..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-8.5684,F -coef_total_number_of_tours_is_2,-12.7416,F -coef_total_number_of_tours_is_3,-15.0978,F -coef_total_number_of_tours_is_4,-19.5439,F -coef_total_number_of_tours_is_5,-20.7897,F -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-5.0196,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-5.0196,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.95,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-7.143,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,-0.8072,F -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.8357,F -coef_logged_maximum_residual_window_tour_frequency_is_2,2.2707,F -coef_logged_maximum_residual_window_tour_frequency_is_3,4.4023,F -coef_logged_maximum_residual_window_tour_frequency_is_4,4.4023,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,4.4023,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T -coef_high_income_group_and_tour_frequency_is_1,0,T -coef_high_income_group_and_tour_frequency_is_2,0,T -coef_high_income_group_and_tour_frequency_is_3,0,T -coef_high_income_group_and_tour_frequency_is_4,0,T -coef_high_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_shopping_tour,1.0949,F -coef_mediumhigh_income_group_and_shopping_tour,1.0949,F -coef_high_income_group_and_shopping_tour,1.0949,F -coef_mediumlow_income_group_and_maintenance_tour,0.7648,F -coef_mediumhigh_income_group_and_maintenance_tour,0.7648,F -coef_high_income_group_and_maintenance_tour,1.3795,F -coef_mediumlow_income_group_and_eating_out_tour,0.9769,F -coef_mediumhigh_income_group_and_eating_out_tour,1.181,F -coef_high_income_group_and_eating_out_tour,1.4842,F -coef_mediumlow_income_group_and_discretionary_tour,1.0095,F -coef_mediumhigh_income_group_and_discretionary_tour,1.0095,F -coef_high_income_group_and_discretionary_tour,1.0095,F -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,-0.4368,F -coef_high_income_group_and_visiting_tour,-0.5137,F -coef_female_and_tour_frequency_is_1,-0.9348,F -coef_female_and_tour_frequency_is_2,-1.3028,F -coef_female_and_tour_frequency_is_3,-2.266,F -coef_female_and_tour_frequency_is_4,-2.266,F -coef_female_and_tour_frequency_is_5,-2.266,F -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0.9688,F -coef_female_and_maintenance_tour,0.7424,F -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0.4954,F -coef_zero_car_ownership_and_tour_frequency_is_1,0,T -coef_zero_car_ownership_and_tour_frequency_is_2,0,T -coef_zero_car_ownership_and_tour_frequency_is_3,0,T -coef_zero_car_ownership_and_tour_frequency_is_4,0,T -coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7965,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.1302,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.1302,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.1302,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.1302,F -coef_presence_of_non_worker_and_tour_frequency_is_1,0.224,F -coef_presence_of_non_worker_and_tour_frequency_is_2,0.2436,F -coef_presence_of_non_worker_and_tour_frequency_is_3,0.62,F -coef_presence_of_non_worker_and_tour_frequency_is_4,3.3742,F -coef_presence_of_non_worker_and_tour_frequency_is_5,3.3742,F -coef_presence_of_retiree_and_tour_frequency_is_1,-0.4458,F -coef_presence_of_retiree_and_tour_frequency_is_2,-0.5315,F -coef_presence_of_retiree_and_tour_frequency_is_3,-0.5315,F -coef_presence_of_retiree_and_tour_frequency_is_4,-0.5315,F -coef_presence_of_retiree_and_tour_frequency_is_5,-0.5315,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.4903,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.5027,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,-0.3609,F -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.788,F -coef_presence_of_part_time_worker_and_eating_out_tour,-0.788,F -coef_presence_of_non_worker_and_eating_out_tour,-0.788,F -coef_presence_of_retiree_and_eating_out_tour,-0.9282,F -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,-0.4835,F -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,-0.5603,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_2,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_3,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_4,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.0616,F -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.3992,F -coef_2_plus_escort_tours_constant,0.5175,F -coef_1_plus_shopping_tours_constant,0.5947,F -coef_1_plus_maintenance_tours_constant,0.1046,F -coef_1_plus_eating_out_tours_constant,0.0245,F -coef_1_plus_visting_tours_constant,0.2789,F -coef_1_plus_other_discretionary_tours_constant,0.4282,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv deleted file mode 100755 index 8f392d20ea..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.4863,F -coef_total_number_of_tours_is_2,-10.718,F -coef_total_number_of_tours_is_3,-13.7884,F -coef_total_number_of_tours_is_4,-999,T -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-1.0331,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-2.7445,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.7445,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,-0.6149,F -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.6149,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,-1.3476,F -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.5603,F -coef_mediumlow_income_group_and_tour_frequency_is_1,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_2,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_3,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_4,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0873,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.5197,F -coef_high_income_group_and_tour_frequency_is_1,2.0175,F -coef_high_income_group_and_tour_frequency_is_2,2.0175,F -coef_high_income_group_and_tour_frequency_is_3,2.0175,F -coef_high_income_group_and_tour_frequency_is_4,2.0175,F -coef_high_income_group_and_tour_frequency_is_5_plus,2.0175,F -coef_mediumlow_income_group_and_shopping_tour,-0.6506,F -coef_mediumhigh_income_group_and_shopping_tour,-0.6506,F -coef_high_income_group_and_shopping_tour,-0.6506,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,-0.701,F -coef_mediumhigh_income_group_and_eating_out_tour,-0.701,F -coef_high_income_group_and_eating_out_tour,-0.701,F -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0,T -coef_high_income_group_and_discretionary_tour,0,T -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,0,T -coef_high_income_group_and_visiting_tour,0,T -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,0,T -coef_zero_car_ownership_and_tour_frequency_is_2,0,T -coef_zero_car_ownership_and_tour_frequency_is_3,0,T -coef_zero_car_ownership_and_tour_frequency_is_4,0,T -coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_2,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_3,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_4,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_5,0.2177,F -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.4439,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-0.2264,F -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_school_kid_and_escorting_tour,0,T -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,-0.645,F -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0.9365,F -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-1.3074,F -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0.7526,F -coef_presence_of_part_time_worker_and_discretionary_tour,0.3721,F -coef_presence_of_non_worker_and_discretionary_tour,0,T -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0.0629,F -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0.0738,F -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0.4352,F -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.7551,F -coef_2_plus_escort_tours_constant,-0.0086,F -coef_1_plus_shopping_tours_constant,0.4783,F -coef_1_plus_maintenance_tours_constant,-0.506,F -coef_1_plus_eating_out_tours_constant,1.1145,F -coef_1_plus_visting_tours_constant,-0.4006,F -coef_1_plus_other_discretionary_tours_constant,0.4634,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv deleted file mode 100755 index 1080f36b4d..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv +++ /dev/null @@ -1,211 +0,0 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-6.2138,F -coef_total_number_of_tours_is_2,-8.908,F -coef_total_number_of_tours_is_3,-12.3261,F -coef_total_number_of_tours_is_4,-15.8114,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.1852,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8753,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.6158,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3153,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-0.7351,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,-0.713,F -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0.6713,F -coef_logged_maximum_residual_window_tour_frequency_is_0,1.1858,F -coef_logged_maximum_residual_window_tour_frequency_is_1,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.4842,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.1109,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,0.3914,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,0.6137,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,0.6137,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0.6137,F -coef_high_income_group_and_tour_frequency_is_1,0.3986,F -coef_high_income_group_and_tour_frequency_is_2,0.8009,F -coef_high_income_group_and_tour_frequency_is_3,0.8254,F -coef_high_income_group_and_tour_frequency_is_4,0.8254,F -coef_high_income_group_and_tour_frequency_is_5_plus,0.8254,F -coef_mediumlow_income_group_and_shopping_tour,0.5693,F -coef_mediumhigh_income_group_and_shopping_tour,0.5693,F -coef_high_income_group_and_shopping_tour,0.5693,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,-0.7207,F -coef_high_income_group_and_eating_out_tour,-0.7207,F -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0,T -coef_high_income_group_and_discretionary_tour,0,T -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,-0.3694,F -coef_high_income_group_and_visiting_tour,-0.3694,F -coef_female_and_tour_frequency_is_1,0.0973,F -coef_female_and_tour_frequency_is_2,0.2361,F -coef_female_and_tour_frequency_is_3,1.9002,F -coef_female_and_tour_frequency_is_4,1.9002,F -coef_female_and_tour_frequency_is_5,1.9002,F -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,-0.6568,F -coef_female_and_discretionary_tour,-0.3266,F -coef_zero_car_ownership_and_tour_frequency_is_1,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.581,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,-0.8506,F -coef_presence_of_non_worker_and_tour_frequency_is_2,-1.1804,F -coef_presence_of_non_worker_and_tour_frequency_is_3,-1.1804,F -coef_presence_of_non_worker_and_tour_frequency_is_4,-1.1804,F -coef_presence_of_non_worker_and_tour_frequency_is_5,-1.1804,F -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.9961,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-1.9096,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-2.8469,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-2.8469,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-2.8469,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,-1.8213,F -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0.9489,F -coef_presence_of_pre_school_kid_and_escorting_tour,2.1465,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,-0.7728,F -coef_presence_of_part_time_worker_and_shopping_tour,-0.5199,F -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,1.3135,F -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0.3863,F -coef_presence_of_pre_school_kid_and_maintenance_tour,0.9694,F -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.5251,F -coef_presence_of_part_time_worker_and_eating_out_tour,-1.9795,F -coef_presence_of_non_worker_and_eating_out_tour,0,T -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,-0.6529,F -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,-0.4833,F -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,0.9781,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,-0.6542,F -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_2,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_3,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_4,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0664,F -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0.0972,F -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0.0314,F -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0.1018,F -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0.094,F -coef_urban_and_tour_frequency_is_1,-1.1648,F -coef_urban_and_tour_frequency_is_2,-2.3177,F -coef_urban_and_tour_frequency_is_3,-2.5027,F -coef_urban_and_tour_frequency_is_4,-2.5027,F -coef_urban_and_tour_frequency_is_5_plus,-2.5027,F -coef_urban_and_escorting_tour,0.8516,F -coef_urban_and_shopping_tour,0.533,F -coef_urban_and_maintenance_tour,1.0316,F -coef_urban_and_eatingout_tour,0.68,F -coef_urban_and_discretionary_tour,0.9563,F -coef_1_escort_tour_constant,1.7028,F -coef_2_plus_escort_tours_constant,2.8379,F -coef_1_plus_shopping_tours_constant,1.8403,F -coef_1_plus_maintenance_tours_constant,0.3348,F -coef_1_plus_eating_out_tours_constant,2.0723,F -coef_1_plus_visting_tours_constant,1.2172,F -coef_1_plus_other_discretionary_tours_constant,1.3389,F -coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_extension_probs.csv deleted file mode 100755 index 632f453ce0..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_extension_probs.csv +++ /dev/null @@ -1,193 +0,0 @@ -ptype,has_mandatory_tour,has_joint_tour,nonmandatory_tour_type,0_tours,1_tours,2_tours -1,0,0,1,0.829545455,1,1 -2,0,0,1,0.769230769,1,1 -3,0,0,1,0.893939394,1,1 -4,0,0,1,0.75,1,1 -5,0,0,1,0.842105263,1,1 -6,0,0,1,0.714285714,1,1 -7,0,0,1,0.814814815,1,1 -8,0,0,1,0.75,1,1 -1,1,0,1,0.789473684,1,1 -2,1,0,1,0.6,1,1 -3,1,0,1,1,1,1 -4,1,0,1,1,1,1 -5,1,0,1,0.825910931,1,1 -6,1,0,1,0.837209302,1,1 -7,1,0,1,0.6,1,1 -8,1,0,1,1,1,1 -1,0,1,1,0.842105263,1,1 -2,0,1,1,1,1,1 -3,0,1,1,1,1,1 -4,0,1,1,1,1,1 -5,0,1,1,1,1,1 -6,0,1,1,1,1,1 -7,0,1,1,1,1,1 -8,0,1,1,1,1,1 -1,1,1,1,1,1,1 -2,1,1,1,1,1,1 -3,1,1,1,1,1,1 -4,1,1,1,1,1,1 -5,1,1,1,0.777777778,1,1 -6,1,1,1,1,1,1 -7,1,1,1,1,1,1 -8,1,1,1,1,1,1 -1,0,0,2,0.892694064,0.99086758,1 -2,0,0,2,0.84057971,0.992753623,1 -3,0,0,2,0.971014493,1,1 -4,0,0,2,0.96969697,1,1 -5,0,0,2,0.870056497,0.994350282,1 -6,0,0,2,0.866666667,1,1 -7,0,0,2,0.971014493,1,1 -8,0,0,2,0.931034483,1,1 -1,1,0,2,0.885057471,1,1 -2,1,0,2,0.727272727,1,1 -3,1,0,2,0.971428571,1,1 -4,1,0,2,1,1,1 -5,1,0,2,0.895977809,0.993065187,1 -6,1,0,2,0.885185185,1,1 -7,1,0,2,1,1,1 -8,1,0,2,1,1,1 -1,0,1,2,0.910087719,0.993421053,1 -2,0,1,2,0.88,1,1 -3,0,1,2,0.8,1,1 -4,0,1,2,1,1,1 -5,0,1,2,1,1,1 -6,0,1,2,1,1,1 -7,0,1,2,1,1,1 -8,0,1,2,1,1,1 -1,1,1,2,1,1,1 -2,1,1,2,1,1,1 -3,1,1,2,1,1,1 -4,1,1,2,1,1,1 -5,1,1,2,1,1,1 -6,1,1,2,0.964912281,1,1 -7,1,1,2,1,1,1 -8,1,1,2,0.888888889,1,1 -1,0,0,3,0.935643564,0.997524752,1 -2,0,0,3,0.905660377,1,1 -3,0,0,3,0.978813559,1,1 -4,0,0,3,0.928571429,1,1 -5,0,0,3,0.901515152,0.992424242,1 -6,0,0,3,0.863636364,1,1 -7,0,0,3,0.947368421,1,1 -8,0,0,3,0.913043478,1,1 -1,1,0,3,0.893333333,0.986666667,1 -2,1,0,3,1,1,1 -3,1,0,3,1,1,1 -4,1,0,3,0.857142857,1,1 -5,1,0,3,0.916071429,0.996428571,1 -6,1,0,3,0.856382979,0.984042553,1 -7,1,0,3,1,1,1 -8,1,0,3,1,1,1 -1,0,1,3,0.916201117,0.991620112,1 -2,0,1,3,0.912280702,0.98245614,1 -3,0,1,3,1,1,1 -4,0,1,3,1,1,1 -5,0,1,3,1,1,1 -6,0,1,3,0.833333333,1,1 -7,0,1,3,0.961538462,1,1 -8,0,1,3,1,1,1 -1,1,1,3,0.97826087,0.989130435,1 -2,1,1,3,0.97260274,1,1 -3,1,1,3,1,1,1 -4,1,1,3,1,1,1 -5,1,1,3,0.995762712,1,1 -6,1,1,3,0.921568627,0.980392157,1 -7,1,1,3,1,1,1 -8,1,1,3,1,1,1 -1,0,0,4,0.9218107,0.995884774,1 -2,0,0,4,0.900900901,1,1 -3,0,0,4,0.997354497,1,1 -4,0,0,4,0.991176471,1,1 -5,0,0,4,0.921568627,0.980392157,1 -6,0,0,4,0.954545455,1,1 -7,0,0,4,1,1,1 -8,0,0,4,0.954545455,1,1 -1,1,0,4,0.941176471,0.970588235,1 -2,1,0,4,0.925925926,1,1 -3,1,0,4,1,1,1 -4,1,0,4,0.875,1,1 -5,1,0,4,0.915322581,1,1 -6,1,0,4,0.947674419,0.994186047,1 -7,1,0,4,0.666666667,1,1 -8,1,0,4,1,1,1 -1,0,1,4,0.925925926,0.987654321,1 -2,0,1,4,0.903703704,1,1 -3,0,1,4,1,1,1 -4,0,1,4,1,1,1 -5,0,1,4,1,1,1 -6,0,1,4,1,1,1 -7,0,1,4,1,1,1 -8,0,1,4,1,1,1 -1,1,1,4,1,1,1 -2,1,1,4,0.911111111,1,1 -3,1,1,4,1,1,1 -4,1,1,4,1,1,1 -5,1,1,4,1,1,1 -6,1,1,4,0.962962963,1,1 -7,1,1,4,1,1,1 -8,1,1,4,1,1,1 -1,0,0,5,0.976744186,1,1 -2,0,0,5,0.981818182,1,1 -3,0,0,5,0.985915493,1,1 -4,0,0,5,1,1,1 -5,0,0,5,1,1,1 -6,0,0,5,1,1,1 -7,0,0,5,1,1,1 -8,0,0,5,0.875,1,1 -1,1,0,5,1,1,1 -2,1,0,5,1,1,1 -3,1,0,5,0.964285714,1,1 -4,1,0,5,1,1,1 -5,1,0,5,0.985714286,1,1 -6,1,0,5,0.951807229,1,1 -7,1,0,5,1,1,1 -8,1,0,5,1,1,1 -1,0,1,5,0.926605505,1,1 -2,0,1,5,0.941176471,1,1 -3,0,1,5,1,1,1 -4,0,1,5,1,1,1 -5,0,1,5,1,1,1 -6,0,1,5,1,1,1 -7,0,1,5,1,1,1 -8,0,1,5,1,1,1 -1,1,1,5,1,1,1 -2,1,1,5,1,1,1 -3,1,1,5,0.972972973,1,1 -4,1,1,5,1,1,1 -5,1,1,5,1,1,1 -6,1,1,5,0.933333333,1,1 -7,1,1,5,1,1,1 -8,1,1,5,1,1,1 -1,0,0,6,0.93837535,0.988795518,1 -2,0,0,6,0.888888889,1,1 -3,0,0,6,0.966832504,0.998341625,1 -4,0,0,6,0.942028986,1,1 -5,0,0,6,0.88034188,1,1 -6,0,0,6,0.925925926,1,1 -7,0,0,6,0.967741935,1,1 -8,0,0,6,0.90625,1,1 -1,1,0,6,0.85915493,1,1 -2,1,0,6,0.818181818,0.96969697,1 -3,1,0,6,1,1,1 -4,1,0,6,0.952380952,1,1 -5,1,0,6,0.879237288,0.997881356,1 -6,1,0,6,0.862944162,0.984771574,1 -7,1,0,6,0.9,1,1 -8,1,0,6,1,1,1 -1,0,1,6,0.927835052,0.996563574,1 -2,0,1,6,0.859375,0.9921875,1 -3,0,1,6,1,1,1 -4,0,1,6,1,1,1 -5,0,1,6,0.92,1,1 -6,0,1,6,1,1,1 -7,0,1,6,0.904761905,1,1 -8,0,1,6,1,1,1 -1,1,1,6,0.982758621,1,1 -2,1,1,6,0.927710843,0.987951807,1 -3,1,1,6,0.982954545,1,1 -4,1,1,6,0.938679245,1,1 -5,1,1,6,1,1,1 -6,1,1,6,0.9375,1,1 -7,1,1,6,1,1,1 -8,1,1,6,1,1,1 diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv deleted file mode 100755 index fa76277995..0000000000 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv +++ /dev/null @@ -1,5 +0,0 @@ -Description,Target,Expression -#,, -number of person joint tours,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), non_mandatory_tours.person_id)" -#,, -,origin_to_destination_distance,"skim_dict.lookup(non_mandatory_tours.origin, non_mandatory_tours.destination, ('SOV_DIST', 'MD'))" diff --git a/activitysim/examples/example_semcog/configs/school_location.csv b/activitysim/examples/example_semcog/configs/school_location.csv deleted file mode 100755 index ea1682a123..0000000000 --- a/activitysim/examples/example_semcog/configs/school_location.csv +++ /dev/null @@ -1,19 +0,0 @@ -Label,Description,Expression,university,highschool,gradeschool -local_dist,,_DIST@skims['DIST'],1,1,1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,0,0 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,0,0 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,0,0 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,0,0 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,0,0 -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 -util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 -util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum_uni,coef_mode_logsum,coef_mode_logsum -util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 -util_dist,Distance,@_DIST,0,coef_dist,coef_dist -util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",0,coef_dist_squared,coef_dist_squared -util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",0,coef_dist_cubed,coef_dist_cubed -util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),0,coef_dist_logged,coef_dist_logged -util_dist_part_time,"Distance,part time",@(df['pemploy']==2) * _DIST,0,coef_dist_part_time,coef_dist_part_time -util_dist_child_0_5,"Distance,child 0 to 5",@(df['age_0_to_5']==True) * _DIST,0,coef_dist_child_0_5,coef_dist_child_0_5 -util_dist_child_6_12,"Distance,child 6 to 12",@(df['age_6_to_12']==True) * _DIST,0,coef_dist_child_6_12,coef_dist_child_6_12 diff --git a/activitysim/examples/example_semcog/configs/school_location.yaml b/activitysim/examples/example_semcog/configs/school_location.yaml deleted file mode 100755 index df4f09c9f6..0000000000 --- a/activitysim/examples/example_semcog/configs/school_location.yaml +++ /dev/null @@ -1,62 +0,0 @@ -SAMPLE_SIZE: 30 - -SIMULATE_CHOOSER_COLUMNS: - - home_zone_id - - school_segment - - household_id - - is_student - - age_0_to_5 - - age_6_to_12 - - pemploy - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: home_zone_id -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 14 -OUT_PERIOD: 8 - -DEST_CHOICE_COLUMN_NAME: school_zone_id - -SAMPLE_SPEC: school_location_sample.csv -SPEC: school_location.csv -COEFFICIENTS: school_location_coeffs.csv - -LOGSUM_SETTINGS: tour_mode_choice.yaml -LOGSUM_PREPROCESSOR: nontour_preprocessor - -LOGSUM_TOUR_PURPOSE: - university: univ - highschool: school - gradeschool: school - -annotate_persons: - SPEC: annotate_persons_school - DF: persons - -# - shadow pricing - -# required by initialize_households when creating school_destination_size table -CHOOSER_TABLE_NAME: persons - -# size_terms model_selector -MODEL_SELECTOR: school - -# chooser column with segment_id for this segment type -CHOOSER_SEGMENT_COLUMN_NAME: school_segment - -# boolean column to filter choosers (True means keep) -CHOOSER_FILTER_COLUMN_NAME: is_student - - -# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this -SEGMENT_IDS: - university: 3 - highschool: 2 - gradeschool: 1 - -# model adds these tables (informational - not added if commented out) -SHADOW_PRICE_TABLE: school_shadow_prices -MODELED_SIZE_TABLE: school_modeled_size - -# not loaded if commented out -SAVED_SHADOW_PRICE_TABLE_NAME: final_school_shadow_prices.csv diff --git a/activitysim/examples/example_semcog/configs/school_location_coeffs.csv b/activitysim/examples/example_semcog/configs/school_location_coeffs.csv deleted file mode 100755 index 55c5e6be1b..0000000000 --- a/activitysim/examples/example_semcog/configs/school_location_coeffs.csv +++ /dev/null @@ -1,15 +0,0 @@ -coefficient_name,value,constrain -coef_univ_dist_0_1,-3.2451,F -coef_univ_dist_1_2,-2.7011,F -coef_univ_dist_2_5,-0.5707,F -coef_univ_dist_5_15,-0.5002,F -coef_univ_dist_15_up,-0.073,F -coef_mode_logsum_uni,0.5358,F -coef_dist,-0.1560,F -coef_dist_squared,-0.0116,F -coef_dist_cubed,0.0005,F -coef_dist_logged,-0.9316,F -coef_dist_part_time,-0.0985,F -coef_dist_child_0_5,0.0236,F -coef_dist_child_6_12,-0.0657,F -coef_mode_logsum,0.4,F diff --git a/activitysim/examples/example_semcog/configs/school_location_sample.csv b/activitysim/examples/example_semcog/configs/school_location_sample.csv deleted file mode 100755 index ed8188b8be..0000000000 --- a/activitysim/examples/example_semcog/configs/school_location_sample.csv +++ /dev/null @@ -1,17 +0,0 @@ -Label,Description,Expression,university,highschool,gradeschool -local_dist,,_DIST@skims['DIST'],1,1,1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,0,0 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,0,0 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,0,0 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,0,0 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,0,0 -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 -util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 -util_dist,Distance,@_DIST,0,coef_dist,coef_dist -util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",0,coef_dist_squared,coef_dist_squared -util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",0,coef_dist_cubed,coef_dist_cubed -util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),0,coef_dist_logged,coef_dist_logged -util_dist_part_time,"Distance,part time",@(df['pemploy']==2) * _DIST,0,coef_dist_part_time,coef_dist_part_time -util_dist_child_0_5,"Distance,child 0 to 5",@(df['age_0_to_5']==True) * _DIST,0,coef_dist_child_0_5,coef_dist_child_0_5 -util_dist_child_6_12,"Distance,child 6 to 12",@(df['age_6_to_12']==True) * _DIST,0,coef_dist_child_6_12,coef_dist_child_6_12 diff --git a/activitysim/examples/example_semcog/configs/settings.yaml b/activitysim/examples/example_semcog/configs/settings.yaml deleted file mode 100755 index 2f679c5483..0000000000 --- a/activitysim/examples/example_semcog/configs/settings.yaml +++ /dev/null @@ -1,156 +0,0 @@ -# input tables -# -# activitysim uses "well-known" index and foreign key names for imported tables (e.g. households, persons, land_use) -# as well as for created tables (tours, joint_tour_participants, trips) -# e.g. the households table must have an index column 'household_id' and the foreign key to households in the -# persons table is also household_id. This naming convention allows activitysim to intuit the relationship -# between tables - for instance, to ensure that multiprocess slicing includes all the persons, tours, and trips -# in the same subprocess pipeline. The same strategy is also when chunking choosers, and to support tracing by -# household_id. -# -# the input_table_list index_col directive instructs activitysim to set the imported table index to zone_id -# you cannot change the well-known name of the index by modifying this directive. However, if your input file -# has a different id column name, you can rename it to the required index name with the rename_columns directive. -# In the settings below, the 'TAZ' column in the imported table is renamed 'zone_id' in the rename_columns settings. -# -# input tables -input_table_list: - # - # households (table index 'household_id') - # - - tablename: households - filename: households.csv - index_col: household_id - rename_columns: - persons: hhsize - cars: auto_ownership - zone_id: home_zone_id - # - # persons (table index 'person_id') - # - - tablename: persons - filename: persons.csv - index_col: person_id - # - # land_use (table index 'zone_id') - # - - tablename: land_use - filename: land_use.csv - index_col: zone_id - rename_columns: - ZONE: zone_id - -# convert input CSVs to HDF5 format and save to outputs directory -# create_input_store: True - -# number of households to simulate -households_sample_size: 100 -# simulate all households -#households_sample_size: 0 - -#hh_ids: override_hh_ids.csv - -chunk_size: 0 - -# assume enough RAM to not chunk -chunk_training_mode: disabled - -# set false to disable variability check in simple_simulate and interaction_simulate -check_for_variability: False - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - - -# - tracing - -# trace household id; comment out or leave empty for no trace -# households with all tour types -# [ 728370 1234067 1402924 1594625 1595333 1747572 1896849 1931818 2222690 2344951 2677154] -trace_hh_id: 1311364 - -# trace origin, destination in accessibility calculation; comment out or leave empty for no trace -# trace_od: [5, 11] -trace_od: - - -models: - - initialize_landuse - - initialize_households - - compute_accessibility - - work_from_home - - add_size_tables - - school_location - - workplace_location - - transit_pass_subsidy - - transit_pass_ownership - - auto_ownership_simulate - - free_parking - - telecommute_frequency - - cdap_simulate - - mandatory_tour_frequency - - mandatory_tour_scheduling - - joint_tour_frequency - - joint_tour_composition - - joint_tour_participation - - joint_tour_destination - - joint_tour_scheduling - - non_mandatory_tour_frequency - - non_mandatory_tour_destination - - non_mandatory_tour_scheduling - - tour_mode_choice_simulate - - atwork_subtour_frequency - - atwork_subtour_destination - - atwork_subtour_scheduling - - atwork_subtour_mode_choice - - stop_frequency - - trip_purpose - - trip_destination - - trip_purpose_and_destination - - trip_scheduling - - trip_mode_choice - - write_data_dictionary - - track_skim_usage - - write_tables - - write_trip_matrices - -# to resume after last successful checkpoint, specify resume_after: _ -resume_after: - -output_tables: - h5_store: False - action: include - prefix: final_ - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - trips - - joint_tour_participants - -# area_types less than this are considered urban -urban_threshold: 4 -cbd_threshold: 2 -rural_threshold: 6 - -# - value of time - -# value_of_time = lognormal(np.log(median_value_of_time * mu), sigma).clip(min_vot, max_vot) - -min_value_of_time: 1 -max_value_of_time: 50 -distributed_vot_mu: 0.684 -distributed_vot_sigma: 0.85 - -household_median_value_of_time: - 1: 6.01 - 2: 8.81 - 3: 10.44 - 4: 12.86 diff --git a/activitysim/examples/example_semcog/configs/shadow_pricing.yaml b/activitysim/examples/example_semcog/configs/shadow_pricing.yaml deleted file mode 100755 index b8ee4e9afd..0000000000 --- a/activitysim/examples/example_semcog/configs/shadow_pricing.yaml +++ /dev/null @@ -1,34 +0,0 @@ -shadow_pricing_models: - school: school_location - workplace: workplace_location - -# global switch to enable/disable loading of saved shadow prices -# (ignored if global use_shadow_pricing switch is False) -LOAD_SAVED_SHADOW_PRICES: True - -# number of shadow price iterations for cold start -MAX_ITERATIONS: 10 - -# number of shadow price iterations for warm start (after loading saved shadow_prices) -MAX_ITERATIONS_SAVED: 1 - -# ignore criteria for zones smaller than size_threshold -SIZE_THRESHOLD: 10 - -# zone passes if modeled is within percent_tolerance of predicted_size -PERCENT_TOLERANCE: 5 - -# max percentage of zones allowed to fail -FAIL_THRESHOLD: 10 - -# CTRAMP or daysim -SHADOW_PRICE_METHOD: ctramp -#SHADOW_PRICE_METHOD: daysim - -# ctramp-style shadow_pricing_method parameters -DAMPING_FACTOR: 1 - -# daysim-style shadow_pricing_method parameters -# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? -DAYSIM_ABSOLUTE_TOLERANCE: 50 -DAYSIM_PERCENT_TOLERANCE: 10 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency.yaml b/activitysim/examples/example_semcog/configs/stop_frequency.yaml deleted file mode 100755 index a32b6cc93d..0000000000 --- a/activitysim/examples/example_semcog/configs/stop_frequency.yaml +++ /dev/null @@ -1,78 +0,0 @@ -LOGIT_TYPE: MNL - -preprocessor: - SPEC: stop_frequency_annotate_tours_preprocessor - DF: tours_merged - TABLES: - - persons - - land_use - - accessibility - -SEGMENT_COL: primary_purpose - -SPEC_SEGMENTS: - - primary_purpose: work - SPEC: stop_frequency_work.csv - COEFFICIENTS: _dummy_coefficients.csv - - primary_purpose: school - SPEC: stop_frequency_school.csv - COEFFICIENTS: _dummy_coefficients.csv - - primary_purpose: univ - SPEC: stop_frequency_univ.csv - COEFFICIENTS: _dummy_coefficients.csv - - primary_purpose: social - SPEC: stop_frequency_social.csv - COEFFICIENTS: _dummy_coefficients.csv - - primary_purpose: shopping - SPEC: stop_frequency_shopping.csv - COEFFICIENTS: _dummy_coefficients.csv - - primary_purpose: eatout - SPEC: stop_frequency_eatout.csv - COEFFICIENTS: _dummy_coefficients.csv - - primary_purpose: escort - SPEC: stop_frequency_escort.csv - COEFFICIENTS: _dummy_coefficients.csv - - primary_purpose: othmaint - SPEC: stop_frequency_othmaint.csv - COEFFICIENTS: _dummy_coefficients.csv - - primary_purpose: othdiscr - SPEC: stop_frequency_othdiscr.csv - COEFFICIENTS: _dummy_coefficients.csv - - primary_purpose: atwork - SPEC: stop_frequency_atwork.csv - COEFFICIENTS: _dummy_coefficients.csv - -CONSTANTS: - TRANSIT_MODES: - - WALK_LOC - - WALK_PRM - - WALK_MIX - - PNR_LOC - - PNR_PRM - - PNR_MIX - - KNR_LOC - - KNR_PRM - - KNR_MIX - - DRIVE_TO_TRANSIT_MODES: - - PNR_LOC - - PNR_PRM - - PNR_MIX - - KNR_LOC - - KNR_PRM - - KNR_MIX - NONMOTORIZED_MODES: - - WALK - - BIKE - SHOP_TOUR: shopping - MAINT_TOUR: othmaint - SCHOOL_TOUR: school - EATOUT_TOUR: eatout - SOCIAL_TOUR: social - num_atwork_subtours_map: - no_subtours: 0 - eat: 1 - business1: 1 - maint: 1 - business2: 2 - eat_business: 2 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_alternatives.csv b/activitysim/examples/example_semcog/configs/stop_frequency_alternatives.csv deleted file mode 100755 index 0153cb399b..0000000000 --- a/activitysim/examples/example_semcog/configs/stop_frequency_alternatives.csv +++ /dev/null @@ -1,18 +0,0 @@ -#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,out,in -0out_0in,0,0 -0out_1in,0,1 -0out_2in,0,2 -0out_3in,0,3 -1out_0in,1,0 -1out_1in,1,1 -1out_2in,1,2 -1out_3in,1,3 -2out_0in,2,0 -2out_1in,2,1 -2out_2in,2,2 -2out_3in,2,3 -3out_0in,3,0 -3out_1in,3,1 -3out_2in,3,2 -3out_3in,3,3 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/example_semcog/configs/stop_frequency_annotate_tours_preprocessor.csv deleted file mode 100755 index c7693b2d22..0000000000 --- a/activitysim/examples/example_semcog/configs/stop_frequency_annotate_tours_preprocessor.csv +++ /dev/null @@ -1,47 +0,0 @@ -Description,Target,Expression -#,, -# define primary_purpose to use for slicing choosers with a value that identifies the spec to be used ,, -# e.g. univ segment means there will be a spec called stop_frequency_univ.csv,, -# so the 'school' tour_type can treat univ and non-univ school tours differently,, -,primary_purpose,"df.tour_type.where((df.tour_type != 'school') | ~df.is_university, 'univ')" -,primary_purpose,"primary_purpose.where(df.tour_category!='atwork', 'atwork')" -#,, -,distance_in_miles,od_skims['DIST'] -#,, -,is_joint,df.tour_category=='joint' -,_HH_PERSON_COUNT,"lambda exp, persons: persons.query(exp).groupby('household_id').size()" -,num_full,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_FULL, persons), df.household_id)" -,num_part,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_PART, persons), df.household_id)" -,num_student,"reindex_i(_HH_PERSON_COUNT('pstudent != %s' % PSTUDENT_NOT, persons), df.household_id)" -Num Kids between 0 and 4 (including) years old,num_age_0_4,"reindex_i(_HH_PERSON_COUNT('age < 5', persons), df.household_id)" -Num kids between 4 and 15 (including) years old,num_age_5_15,"reindex_i(_HH_PERSON_COUNT('(age >= 5) & (age <16)', persons), df.household_id)" -Number of Adults (>= 16 years old),num_adult,"reindex_i(_HH_PERSON_COUNT('age >= 16', persons), df.household_id)" -,more_cars_than_workers,df.auto_ownership >= (num_full + num_part) -,tour_mode_is_transit,df.tour_mode.isin(TRANSIT_MODES) -,tour_mode_is_drive_transit,df.tour_mode.isin(DRIVE_TO_TRANSIT_MODES) -,tour_mode_is_non_motorized,df.tour_mode.isin(NONMOTORIZED_MODES) -#,, -#num_work_tours already defined,, -school but not university,num_school_tours,"reindex_i(df[primary_purpose==SCHOOL_TOUR].groupby('person_id').size(), df.person_id)" -,num_univ_tours,(df.is_university) * num_school_tours -#num_escort_tours already defined,, -# indiv tour counts should not include joint tours by point_person,, -,num_shop_tours,"reindex_i(df[~is_joint & (df.tour_type==SHOP_TOUR)].groupby('person_id').size(), df.person_id)" -,num_maint_tours,"reindex_i(df[~is_joint & (df.tour_type==MAINT_TOUR)].groupby('person_id').size(), df.person_id)" -,num_eatout_tours,"reindex_i(df[~is_joint & (df.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" -,num_social_tours,"reindex_i(df[~is_joint & (df.tour_type==SOCIAL_TOUR)].groupby('person_id').size(), df.person_id)" -#,, -Number of subtours in the tour,num_atwork_subtours,"df.atwork_subtour_frequency.map(num_atwork_subtours_map, na_action='ignore').fillna(0).astype(np.int8)" -#,, -Number of hh shop tours including joint,num_hh_shop_tours,"reindex_i(df[df.tour_type==SHOP_TOUR].groupby('household_id').size(), df.person_id)" -Number of hh maint tours including joint,num_hh_maint_tours,"reindex_i(df[df.tour_type==MAINT_TOUR].groupby('household_id').size(), df.person_id)" -tourStartsInPeakPeriod,_tour_starts_in_peak,(network_los.skim_time_period_label(df.start) == 'AM') | (network_los.skim_time_period_label(df.start) == 'PM') -AccesibilityAtOrigin fallback,hhacc,0 -AccesibilityAtOrigin if transit,hhacc,"hhacc.where(~tour_mode_is_transit, df.trPkRetail.where(_tour_starts_in_peak, df.trOpRetail))" -AccesibilityAtOrigin if non_motorized,hhacc,"hhacc.where(~tour_mode_is_non_motorized, df.nmRetail)" -AccesibilityADestination fallback,pracc,0 -AccesibilityADestination peak transit,_dest_trPkRetail,"reindex(accessibility.trPkRetail, df.destination)" -AccesibilityADestination off-peak transit,_dest_trOpRetail,"reindex(accessibility.trOpRetail, df.destination)" -AccesibilityAtDestination if transit,pracc,"pracc.where(~tour_mode_is_transit, _dest_trPkRetail.where(_tour_starts_in_peak, _dest_trOpRetail))" -AccesibilityAtDestination if non_motorized,pracc,"pracc.where(~tour_mode_is_non_motorized, reindex(accessibility.nmRetail, df.destination))" -,destination_area_type,"reindex(land_use.AreaType, df.destination)" diff --git a/activitysim/examples/example_semcog/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/example_semcog/configs/tour_departure_and_duration_alternatives.csv deleted file mode 100755 index ca2b4d789a..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_departure_and_duration_alternatives.csv +++ /dev/null @@ -1,1177 +0,0 @@ -start,end -1,1 -1,2 -1,3 -1,4 -1,5 -1,6 -1,7 -1,8 -1,9 -1,10 -1,11 -1,12 -1,13 -1,14 -1,15 -1,16 -1,17 -1,18 -1,19 -1,20 -1,21 -1,22 -1,23 -1,24 -1,25 -1,26 -1,27 -1,28 -1,29 -1,30 -1,31 -1,32 -1,33 -1,34 -1,35 -1,36 -1,37 -1,38 -1,39 -1,40 -1,41 -1,42 -1,43 -1,44 -1,45 -1,46 -1,47 -1,48 -2,2 -2,3 -2,4 -2,5 -2,6 -2,7 -2,8 -2,9 -2,10 -2,11 -2,12 -2,13 -2,14 -2,15 -2,16 -2,17 -2,18 -2,19 -2,20 -2,21 -2,22 -2,23 -2,24 -2,25 -2,26 -2,27 -2,28 -2,29 -2,30 -2,31 -2,32 -2,33 -2,34 -2,35 -2,36 -2,37 -2,38 -2,39 -2,40 -2,41 -2,42 -2,43 -2,44 -2,45 -2,46 -2,47 -2,48 -3,3 -3,4 -3,5 -3,6 -3,7 -3,8 -3,9 -3,10 -3,11 -3,12 -3,13 -3,14 -3,15 -3,16 -3,17 -3,18 -3,19 -3,20 -3,21 -3,22 -3,23 -3,24 -3,25 -3,26 -3,27 -3,28 -3,29 -3,30 -3,31 -3,32 -3,33 -3,34 -3,35 -3,36 -3,37 -3,38 -3,39 -3,40 -3,41 -3,42 -3,43 -3,44 -3,45 -3,46 -3,47 -3,48 -4,4 -4,5 -4,6 -4,7 -4,8 -4,9 -4,10 -4,11 -4,12 -4,13 -4,14 -4,15 -4,16 -4,17 -4,18 -4,19 -4,20 -4,21 -4,22 -4,23 -4,24 -4,25 -4,26 -4,27 -4,28 -4,29 -4,30 -4,31 -4,32 -4,33 -4,34 -4,35 -4,36 -4,37 -4,38 -4,39 -4,40 -4,41 -4,42 -4,43 -4,44 -4,45 -4,46 -4,47 -4,48 -5,5 -5,6 -5,7 -5,8 -5,9 -5,10 -5,11 -5,12 -5,13 -5,14 -5,15 -5,16 -5,17 -5,18 -5,19 -5,20 -5,21 -5,22 -5,23 -5,24 -5,25 -5,26 -5,27 -5,28 -5,29 -5,30 -5,31 -5,32 -5,33 -5,34 -5,35 -5,36 -5,37 -5,38 -5,39 -5,40 -5,41 -5,42 -5,43 -5,44 -5,45 -5,46 -5,47 -5,48 -6,6 -6,7 -6,8 -6,9 -6,10 -6,11 -6,12 -6,13 -6,14 -6,15 -6,16 -6,17 -6,18 -6,19 -6,20 -6,21 -6,22 -6,23 -6,24 -6,25 -6,26 -6,27 -6,28 -6,29 -6,30 -6,31 -6,32 -6,33 -6,34 -6,35 -6,36 -6,37 -6,38 -6,39 -6,40 -6,41 -6,42 -6,43 -6,44 -6,45 -6,46 -6,47 -6,48 -7,7 -7,8 -7,9 -7,10 -7,11 -7,12 -7,13 -7,14 -7,15 -7,16 -7,17 -7,18 -7,19 -7,20 -7,21 -7,22 -7,23 -7,24 -7,25 -7,26 -7,27 -7,28 -7,29 -7,30 -7,31 -7,32 -7,33 -7,34 -7,35 -7,36 -7,37 -7,38 -7,39 -7,40 -7,41 -7,42 -7,43 -7,44 -7,45 -7,46 -7,47 -7,48 -8,8 -8,9 -8,10 -8,11 -8,12 -8,13 -8,14 -8,15 -8,16 -8,17 -8,18 -8,19 -8,20 -8,21 -8,22 -8,23 -8,24 -8,25 -8,26 -8,27 -8,28 -8,29 -8,30 -8,31 -8,32 -8,33 -8,34 -8,35 -8,36 -8,37 -8,38 -8,39 -8,40 -8,41 -8,42 -8,43 -8,44 -8,45 -8,46 -8,47 -8,48 -9,9 -9,10 -9,11 -9,12 -9,13 -9,14 -9,15 -9,16 -9,17 -9,18 -9,19 -9,20 -9,21 -9,22 -9,23 -9,24 -9,25 -9,26 -9,27 -9,28 -9,29 -9,30 -9,31 -9,32 -9,33 -9,34 -9,35 -9,36 -9,37 -9,38 -9,39 -9,40 -9,41 -9,42 -9,43 -9,44 -9,45 -9,46 -9,47 -9,48 -10,10 -10,11 -10,12 -10,13 -10,14 -10,15 -10,16 -10,17 -10,18 -10,19 -10,20 -10,21 -10,22 -10,23 -10,24 -10,25 -10,26 -10,27 -10,28 -10,29 -10,30 -10,31 -10,32 -10,33 -10,34 -10,35 -10,36 -10,37 -10,38 -10,39 -10,40 -10,41 -10,42 -10,43 -10,44 -10,45 -10,46 -10,47 -10,48 -11,11 -11,12 -11,13 -11,14 -11,15 -11,16 -11,17 -11,18 -11,19 -11,20 -11,21 -11,22 -11,23 -11,24 -11,25 -11,26 -11,27 -11,28 -11,29 -11,30 -11,31 -11,32 -11,33 -11,34 -11,35 -11,36 -11,37 -11,38 -11,39 -11,40 -11,41 -11,42 -11,43 -11,44 -11,45 -11,46 -11,47 -11,48 -12,12 -12,13 -12,14 -12,15 -12,16 -12,17 -12,18 -12,19 -12,20 -12,21 -12,22 -12,23 -12,24 -12,25 -12,26 -12,27 -12,28 -12,29 -12,30 -12,31 -12,32 -12,33 -12,34 -12,35 -12,36 -12,37 -12,38 -12,39 -12,40 -12,41 -12,42 -12,43 -12,44 -12,45 -12,46 -12,47 -12,48 -13,13 -13,14 -13,15 -13,16 -13,17 -13,18 -13,19 -13,20 -13,21 -13,22 -13,23 -13,24 -13,25 -13,26 -13,27 -13,28 -13,29 -13,30 -13,31 -13,32 -13,33 -13,34 -13,35 -13,36 -13,37 -13,38 -13,39 -13,40 -13,41 -13,42 -13,43 -13,44 -13,45 -13,46 -13,47 -13,48 -14,14 -14,15 -14,16 -14,17 -14,18 -14,19 -14,20 -14,21 -14,22 -14,23 -14,24 -14,25 -14,26 -14,27 -14,28 -14,29 -14,30 -14,31 -14,32 -14,33 -14,34 -14,35 -14,36 -14,37 -14,38 -14,39 -14,40 -14,41 -14,42 -14,43 -14,44 -14,45 -14,46 -14,47 -14,48 -15,15 -15,16 -15,17 -15,18 -15,19 -15,20 -15,21 -15,22 -15,23 -15,24 -15,25 -15,26 -15,27 -15,28 -15,29 -15,30 -15,31 -15,32 -15,33 -15,34 -15,35 -15,36 -15,37 -15,38 -15,39 -15,40 -15,41 -15,42 -15,43 -15,44 -15,45 -15,46 -15,47 -15,48 -16,16 -16,17 -16,18 -16,19 -16,20 -16,21 -16,22 -16,23 -16,24 -16,25 -16,26 -16,27 -16,28 -16,29 -16,30 -16,31 -16,32 -16,33 -16,34 -16,35 -16,36 -16,37 -16,38 -16,39 -16,40 -16,41 -16,42 -16,43 -16,44 -16,45 -16,46 -16,47 -16,48 -17,17 -17,18 -17,19 -17,20 -17,21 -17,22 -17,23 -17,24 -17,25 -17,26 -17,27 -17,28 -17,29 -17,30 -17,31 -17,32 -17,33 -17,34 -17,35 -17,36 -17,37 -17,38 -17,39 -17,40 -17,41 -17,42 -17,43 -17,44 -17,45 -17,46 -17,47 -17,48 -18,18 -18,19 -18,20 -18,21 -18,22 -18,23 -18,24 -18,25 -18,26 -18,27 -18,28 -18,29 -18,30 -18,31 -18,32 -18,33 -18,34 -18,35 -18,36 -18,37 -18,38 -18,39 -18,40 -18,41 -18,42 -18,43 -18,44 -18,45 -18,46 -18,47 -18,48 -19,19 -19,20 -19,21 -19,22 -19,23 -19,24 -19,25 -19,26 -19,27 -19,28 -19,29 -19,30 -19,31 -19,32 -19,33 -19,34 -19,35 -19,36 -19,37 -19,38 -19,39 -19,40 -19,41 -19,42 -19,43 -19,44 -19,45 -19,46 -19,47 -19,48 -20,20 -20,21 -20,22 -20,23 -20,24 -20,25 -20,26 -20,27 -20,28 -20,29 -20,30 -20,31 -20,32 -20,33 -20,34 -20,35 -20,36 -20,37 -20,38 -20,39 -20,40 -20,41 -20,42 -20,43 -20,44 -20,45 -20,46 -20,47 -20,48 -21,21 -21,22 -21,23 -21,24 -21,25 -21,26 -21,27 -21,28 -21,29 -21,30 -21,31 -21,32 -21,33 -21,34 -21,35 -21,36 -21,37 -21,38 -21,39 -21,40 -21,41 -21,42 -21,43 -21,44 -21,45 -21,46 -21,47 -21,48 -22,22 -22,23 -22,24 -22,25 -22,26 -22,27 -22,28 -22,29 -22,30 -22,31 -22,32 -22,33 -22,34 -22,35 -22,36 -22,37 -22,38 -22,39 -22,40 -22,41 -22,42 -22,43 -22,44 -22,45 -22,46 -22,47 -22,48 -23,23 -23,24 -23,25 -23,26 -23,27 -23,28 -23,29 -23,30 -23,31 -23,32 -23,33 -23,34 -23,35 -23,36 -23,37 -23,38 -23,39 -23,40 -23,41 -23,42 -23,43 -23,44 -23,45 -23,46 -23,47 -23,48 -24,24 -24,25 -24,26 -24,27 -24,28 -24,29 -24,30 -24,31 -24,32 -24,33 -24,34 -24,35 -24,36 -24,37 -24,38 -24,39 -24,40 -24,41 -24,42 -24,43 -24,44 -24,45 -24,46 -24,47 -24,48 -25,25 -25,26 -25,27 -25,28 -25,29 -25,30 -25,31 -25,32 -25,33 -25,34 -25,35 -25,36 -25,37 -25,38 -25,39 -25,40 -25,41 -25,42 -25,43 -25,44 -25,45 -25,46 -25,47 -25,48 -26,26 -26,27 -26,28 -26,29 -26,30 -26,31 -26,32 -26,33 -26,34 -26,35 -26,36 -26,37 -26,38 -26,39 -26,40 -26,41 -26,42 -26,43 -26,44 -26,45 -26,46 -26,47 -26,48 -27,27 -27,28 -27,29 -27,30 -27,31 -27,32 -27,33 -27,34 -27,35 -27,36 -27,37 -27,38 -27,39 -27,40 -27,41 -27,42 -27,43 -27,44 -27,45 -27,46 -27,47 -27,48 -28,28 -28,29 -28,30 -28,31 -28,32 -28,33 -28,34 -28,35 -28,36 -28,37 -28,38 -28,39 -28,40 -28,41 -28,42 -28,43 -28,44 -28,45 -28,46 -28,47 -28,48 -29,29 -29,30 -29,31 -29,32 -29,33 -29,34 -29,35 -29,36 -29,37 -29,38 -29,39 -29,40 -29,41 -29,42 -29,43 -29,44 -29,45 -29,46 -29,47 -29,48 -30,30 -30,31 -30,32 -30,33 -30,34 -30,35 -30,36 -30,37 -30,38 -30,39 -30,40 -30,41 -30,42 -30,43 -30,44 -30,45 -30,46 -30,47 -30,48 -31,31 -31,32 -31,33 -31,34 -31,35 -31,36 -31,37 -31,38 -31,39 -31,40 -31,41 -31,42 -31,43 -31,44 -31,45 -31,46 -31,47 -31,48 -32,32 -32,33 -32,34 -32,35 -32,36 -32,37 -32,38 -32,39 -32,40 -32,41 -32,42 -32,43 -32,44 -32,45 -32,46 -32,47 -32,48 -33,33 -33,34 -33,35 -33,36 -33,37 -33,38 -33,39 -33,40 -33,41 -33,42 -33,43 -33,44 -33,45 -33,46 -33,47 -33,48 -34,34 -34,35 -34,36 -34,37 -34,38 -34,39 -34,40 -34,41 -34,42 -34,43 -34,44 -34,45 -34,46 -34,47 -34,48 -35,35 -35,36 -35,37 -35,38 -35,39 -35,40 -35,41 -35,42 -35,43 -35,44 -35,45 -35,46 -35,47 -35,48 -36,36 -36,37 -36,38 -36,39 -36,40 -36,41 -36,42 -36,43 -36,44 -36,45 -36,46 -36,47 -36,48 -37,37 -37,38 -37,39 -37,40 -37,41 -37,42 -37,43 -37,44 -37,45 -37,46 -37,47 -37,48 -38,38 -38,39 -38,40 -38,41 -38,42 -38,43 -38,44 -38,45 -38,46 -38,47 -38,48 -39,39 -39,40 -39,41 -39,42 -39,43 -39,44 -39,45 -39,46 -39,47 -39,48 -40,40 -40,41 -40,42 -40,43 -40,44 -40,45 -40,46 -40,47 -40,48 -41,41 -41,42 -41,43 -41,44 -41,45 -41,46 -41,47 -41,48 -42,42 -42,43 -42,44 -42,45 -42,46 -42,47 -42,48 -43,43 -43,44 -43,45 -43,46 -43,47 -43,48 -44,44 -44,45 -44,46 -44,47 -44,48 -45,45 -45,46 -45,47 -45,48 -46,46 -46,47 -46,48 -47,47 -47,48 -48,48 diff --git a/activitysim/examples/example_semcog/configs/tour_mode_choice.csv b/activitysim/examples/example_semcog/configs/tour_mode_choice.csv deleted file mode 100755 index 412e803441..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_mode_choice.csv +++ /dev/null @@ -1,323 +0,0 @@ -Label,Description,Expression,DRIVEALONE,SHARED2,SHARED3,WALK,BIKE,WALK_LOC,WALK_PRM,WALK_MIX,PNR_LOC,PNR_PRM,PNR_MIX,KNR_LOC,KNR_PRM,KNR_MIX,SCHOOLBUS,TAXI,TNC_SINGLE,TNC_SHARED -#Drive_alone_no_toll,#Drive alone no toll,,,,,,,,,,,,,,,,,,, -util_DRIVEALONE_Unavailable,DRIVEALONE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,, -util_DRIVEALONE_Unavailable_for_persons_less_than_16,DRIVEALONE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,, -util_DRIVEALONE_Unavailable_forJoint_tours,DRIVEALONE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,, -util_DRIVEALONE_Unavailable_if_didn't_drive_to_work,DRIVEALONE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,, -util_DRIVEALONE_In_vehicle_time,DRIVEALONE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,, -util_DRIVEALONE_Terminal_time,DRIVEALONE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,0,,,,,,,,,,,,,,,,, -util_DRIVEALONE_Operating_cost_,DRIVEALONE - Operating cost ,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,, -util_DRIVEALONE_Parking_cost_,DRIVEALONE - Parking cost ,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,, -util_DRIVEALONE_Bridge_toll_,DRIVEALONE - Bridge toll ,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),0,,,,,,,,,,,,,,,,, -util_DRIVEALONE_Person_is_between_16_and_19_years_old,DRIVEALONE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,, -#Shared_ride_2,#Shared ride 2,,,,,,,,,,,,,,,,,,, -util_SHARED2_Unavailable,SHARED2 - Unavailable,hov2_available == False,,-999,,,,,,,,,,,,,,,, -util_SHARED2_Unavailable_based_on_party_size,SHARED2 - Unavailable based on party size,is_joint & (number_of_participants > 2),,-999,,,,,,,,,,,,,,,, -util_SHARED2_In_vehicle_time,SHARED2 - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED2_Terminal_time,SHARED2 - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,0,,,,,,,,,,,,,,,, -util_SHARED2_Operating_cost,SHARED2 - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED2_Parking_cost,SHARED2 - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED2_Bridge_toll,SHARED2 - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,0,,,,,,,,,,,,,,,, -util_SHARED2_One_person_household,SHARED2 - One person household,@(df.hhsize == 1),,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, -util_SHARED2_Two_person_household,SHARED2 - Two person household,@(df.hhsize == 2),,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, -util_SHARED2_Person_is_16_years_old_or_older,SHARED2 - Person is 16 years old or older,@(df.age >= 16),,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, -#Shared_ride_3+,#Shared ride 3+,,,,,,,,,,,,,,,,,,, -util_SHARED3_Unavailable,SHARED3 - Unavailable,hov3_available == False,,,-999,,,,,,,,,,,,,,, -util_SHARED3_In_vehicle_time,SHARED3 - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3_Terminal_time,SHARED3 - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,0,,,,,,,,,,,,,,, -util_SHARED3_Operating_cost,SHARED3 - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3_Parking_cost,SHARED3 - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3_Bridge_toll,SHARED3 - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,0,,,,,,,,,,,,,,, -util_SHARED3_One_person_household,SHARED3 - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, -util_SHARED3_Two_person_household,SHARED3 - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, -util_SHARED3_Person_is_16_years_old_or_older,SHARED3 - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, -#util_WALK,#Walk,,,,,,,,,,,,,,,,,,, -#FIXME_skims_aren't_symmetrical,#FIXME - skims aren't symmetrical, so we have to make sure they can get back,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,coef_ivt,,,,,,,,,,,,,, -#util_BIKE,#Bike,,,,,,,,,,,,,,,,,,, -#FIXME_skims_aren't_symmetrical,#FIXME - skims aren't symmetrical, so we have to make sure they can get back,,,,,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_BIKE_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,coef_ivt,,,,,,,,,,,,, -#util_WALK_to_Local,#Walk to Local,,,,,,,,,,,,,,,,,,, -util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_IVT'] + dot_skims['WLK_LOC_IVT']),,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_IWAIT']).clip(upper=waitThresh) + (dot_skims['WLK_LOC_IWAIT']).clip(upper=waitThresh)),,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_IWAIT']-waitThresh).clip(0) + (dot_skims['WLK_LOC_IWAIT']-waitThresh).clip(0)),,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_XWAIT'] + dot_skims['WLK_LOC_XWAIT']),,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_NT']).clip(0) + (dot_skims['WLK_LOC_NT']).clip(0)),,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@wacc_multiplier * 2 * df.origin_walk_time,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@wegr_multiplier * 2 * df.destination_walk_time,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WAUX'] + dot_skims['WLK_LOC_WAUX']),,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.fare_discount_percent * df.ivot * (odt_skims['WLK_LOC_FARE'] + dot_skims['WLK_LOC_FARE']),,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, -#util_WALK_to_Premium,#Walk to Premium,,,,,,,,,,,,,,,,,,, -util_WALK_PRM_Unavailable,WALK_PRM - Unavailable,walk_premium_available == False,,,,,,,-999,,,,,,,,,,, -util_WALK_PRM_In_vehicle_time,WALK_PRM - In-vehicle time,@(odt_skims['WLK_PRM_IVT'] + dot_skims['WLK_PRM_IVT']),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_In_vehicle_time_on_PMov,WALK_PRM - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['WLK_PRM_IVTT_PMov'] + dot_skims['WLK_PRM_IVTT_PMov']),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_In_vehicle_time_on_StCar,WALK_PRM - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['WLK_PRM_IVTT_StCar'] + dot_skims['WLK_PRM_IVTT_StCar']),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_In_vehicle_time_on_BRT,WALK_PRM - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['WLK_PRM_IVTT_Brt'] + dot_skims['WLK_PRM_IVTT_Brt']),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_In_vehicle_time_on_URB,WALK_PRM - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['WLK_PRM_IVTT_UrbRail'] + dot_skims['WLK_PRM_IVTT_UrbRail']),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_In_vehicle_time_on_COM,WALK_PRM - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['WLK_PRM_IVTT_ComRail'] + dot_skims['WLK_PRM_IVTT_ComRail']),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_Short_iwait_time,WALK_PRM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_PRM_IWAIT']).clip(upper=waitThresh) + (dot_skims['WLK_PRM_IWAIT']).clip(upper=waitThresh)),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_Long_iwait_time,WALK_PRM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_PRM_IWAIT']-waitThresh).clip(0) + (dot_skims['WLK_PRM_IWAIT']-waitThresh).clip(0)),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_transfer_wait_time,WALK_PRM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_PRM_XWAIT'] + dot_skims['WLK_PRM_XWAIT']),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_number_of_transfers,WALK_PRM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_PRM_NT']).clip(0) + (dot_skims['WLK_PRM_NT']).clip(0)),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_Walk_access_time,WALK_PRM - Walk access time,@wacc_multiplier * 2 * df.origin_walk_time,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_Walk_egress_time,WALK_PRM - Walk egress time,@wegr_multiplier * 2 * df.destination_walk_time,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_Walk_other_time,WALK_PRM - Walk other time,@waux_multiplier * (odt_skims['WLK_PRM_WAUX'] + dot_skims['WLK_PRM_WAUX']),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_Fare,WALK_PRM - Fare,@ivt_cost_multiplier * df.fare_discount_percent * df.ivot * (odt_skims['WLK_PRM_FARE'] + dot_skims['WLK_PRM_FARE']),,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_Destination_zone_densityIndex,WALK_PRM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_Topology,WALK_PRM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_PRM_Person_is_less_than_10_years_old,WALK_PRM - Person is less than 10 years old,@(df.age <= 10),,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, -#util_WALK_to_MIX,#Walk to MIX,,,,,,,,,,,,,,,,,,, -util_WALK_MIX_Unavailable,WALK_MIX - Unavailable,walk_mix_available == False,,,,,,,,-999,,,,,,,,,, -util_WALK_MIX_In_vehicle_time,WALK_MIX - In-vehicle time,@(odt_skims['WLK_MIX_IVT'] + dot_skims['WLK_MIX_IVT']),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_In_vehicle_time_on_Bus,WALK_MIX - In-vehicle time on Bus,@(odt_skims['WLK_MIX_IVTT_Bus'] + dot_skims['WLK_MIX_IVTT_Bus']),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_In_vehicle_time_on_PMov,WALK_MIX - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['WLK_MIX_IVTT_PMov'] + dot_skims['WLK_MIX_IVTT_PMov']),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_In_vehicle_time_on_StCar,WALK_MIX - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['WLK_MIX_IVTT_StCar'] + dot_skims['WLK_MIX_IVTT_StCar']),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_In_vehicle_time_on_BRT,WALK_MIX - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['WLK_MIX_IVTT_Brt'] + dot_skims['WLK_MIX_IVTT_Brt']),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_In_vehicle_time_on_URB,WALK_MIX - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['WLK_MIX_IVTT_UrbRail'] + dot_skims['WLK_MIX_IVTT_UrbRail']),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_In_vehicle_time_on_COM,WALK_MIX - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['WLK_MIX_IVTT_ComRail'] + dot_skims['WLK_MIX_IVTT_ComRail']),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_Short_iwait_time,WALK_MIX - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_MIX_IWAIT']).clip(upper=waitThresh) + (dot_skims['WLK_MIX_IWAIT']).clip(upper=waitThresh)),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_Long_iwait_time,WALK_MIX - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_MIX_IWAIT']-waitThresh).clip(0) + (dot_skims['WLK_MIX_IWAIT']-waitThresh).clip(0)),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_transfer_wait_time,WALK_MIX - transfer wait time,@xwait_multiplier * (odt_skims['WLK_MIX_XWAIT'] + dot_skims['WLK_MIX_XWAIT']),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_number_of_transfers,WALK_MIX - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_MIX_NT']).clip(0) + (dot_skims['WLK_MIX_NT']).clip(0)),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_Walk_access_time,WALK_MIX - Walk access time,@wacc_multiplier * 2 * df.origin_walk_time,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_Walk_egress_time,WALK_MIX - Walk egress time,@wegr_multiplier * 2 * df.destination_walk_time,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_Walk_other_time,WALK_MIX - Walk other time,@waux_multiplier * (odt_skims['WLK_MIX_WAUX'] + dot_skims['WLK_MIX_WAUX']),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_Fare,WALK_MIX - Fare,@ivt_cost_multiplier * df.fare_discount_percent * df.ivot * (odt_skims['WLK_MIX_FARE'] + dot_skims['WLK_MIX_FARE']),,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_Destination_zone_densityIndex,WALK_MIX - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_MIX_Topology,WALK_MIX - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, -util_WALK_MIX_Person_is_less_than_10_years_old,WALK_MIX - Person is less than 10 years old,@(df.age <= 10),,,,,,,,1,,,,,,,,,, -#util_PNR_to_Local,#PNR to Local,,,,,,,,,,,,,,,,,,, -util_PNR_LOC_Unavailable,PNR_LOC - Unavailable,pnr_local_available == False,,,,,,,,,-999,,,,,,,,, -util_PNR_LOC_Unavailable_for_persons_less_than_16,PNR_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,-999,,,,,,,,, -util_PNR_LOC_In_vehicle_time,PNR_LOC - In-vehicle time,@(odt_skims['PNR_LOC_IVT'] + dot_skims['PNRE_LOC_IVT']),,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_Short_iwait_time,PNR_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['PNR_LOC_IWAIT']).clip(upper=waitThresh) + (dot_skims['PNRE_LOC_IWAIT']).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_Long_iwait_time,PNR_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['PNR_LOC_IWAIT']-waitThresh).clip(0) + (dot_skims['PNRE_LOC_IWAIT']-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_transfer_wait_time,PNR_LOC - transfer wait time,@xwait_multiplier * (odt_skims['PNR_LOC_XWAIT'] + dot_skims['PNRE_LOC_XWAIT']),,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_number_of_transfers,PNR_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['PNR_LOC_NT']).clip(0) + (dot_skims['PNRE_LOC_NT']).clip(0)),,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_PNR_time,PNR_LOC - PNR time,@dtim_multiplier * (odt_skims['PNR_LOC_DTIME'] + dot_skims['PNRE_LOC_DTIME']),,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_Walk_access_time,PNR_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_Walk_egress_time_(at_attraction_end),PNR_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_Walk_other_time,PNR_LOC - Walk other time,@waux_multiplier * (odt_skims['PNR_LOC_WAUX'] + dot_skims['PNRE_LOC_WAUX']),,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_Fare_and_operating_cost,PNR_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['PNR_LOC_FARE'] + dot_skims['PNRE_LOC_FARE']) + ((odt_skims['PNR_LOC_DDIST']+dot_skims['PNRE_LOC_DDIST']) * costPerMile)),,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_Ratio_of_PNR_access_distance_to_OD_distance,PNR_LOC - Ratio of PNR access distance to OD distance,@dacc_ratio * ((odt_skims['PNR_LOC_DDIST']+ dot_skims['PNRE_LOC_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_Destination_zone_densityIndex,PNR_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_Topology,PNR_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,, -util_PNR_LOC_Person_is_less_than_10_years_old,PNR_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, -#util_PNR_to_Premium,#PNR to Premium,,,,,,,,,,,,,,,,,,, -util_PNR_PRM_Unavailable,PNR_PRM - Unavailable,pnr_premium_available == False,,,,,,,,,,-999,,,,,,,, -util_PNR_PRM_Unavailable_for_persons_less_than_16,PNR_PRM - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,,,,,,, -util_PNR_PRM_In_vehicle_time,PNR_PRM - In-vehicle time,@(odt_skims['PNR_PRM_IVT'] + dot_skims['PNRE_PRM_IVT']),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_In_vehicle_time_on_PMov,PNR_PRM - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['PNR_PRM_IVTT_PMov'] + dot_skims['PNRE_PRM_IVTT_PMov']),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_In_vehicle_time_on_StCar,PNR_PRM - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['PNR_PRM_IVTT_StCar'] + dot_skims['PNRE_PRM_IVTT_StCar']),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_In_vehicle_time_on_BRT,PNR_PRM - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['PNR_PRM_IVTT_Brt'] + dot_skims['PNRE_PRM_IVTT_Brt']),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_In_vehicle_time_on_URB,PNR_PRM - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['PNR_PRM_IVTT_UrbRail'] + dot_skims['PNRE_PRM_IVTT_UrbRail']),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_In_vehicle_time_on_COM,PNR_PRM - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['PNR_PRM_IVTT_ComRail'] + dot_skims['PNRE_PRM_IVTT_ComRail']),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_Short_iwait_time,PNR_PRM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['PNR_PRM_IWAIT']).clip(upper=waitThresh) + (dot_skims['PNRE_PRM_IWAIT']).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_Long_iwait_time,PNR_PRM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['PNR_PRM_IWAIT']-waitThresh).clip(0) + (dot_skims['PNRE_PRM_IWAIT']-waitThresh).clip(0)) ,,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_transfer_wait_time,PNR_PRM - transfer wait time,@xwait_multiplier * (odt_skims['PNR_PRM_XWAIT'] + dot_skims['PNRE_PRM_XWAIT']),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_number_of_transfers,PNR_PRM - number of transfers,@xfers_drv_multiplier * ((odt_skims['PNR_PRM_NT']).clip(0) + (dot_skims['PNRE_PRM_NT']).clip(0)),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_PNR_time,PNR_PRM - PNR time,@dtim_multiplier * (odt_skims['PNR_PRM_DTIME'] + dot_skims['PNRE_PRM_DTIME']),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_Walk_access_time_(at_attraction_end),PNR_PRM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_Walk_egress_time_(at_attraction_end),PNR_PRM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_Walk_other_time,PNR_PRM - Walk other time,@waux_multiplier * (odt_skims['PNR_PRM_WAUX'] + dot_skims['PNRE_PRM_WAUX']),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_Fare_and_operating_cost,PNR_PRM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['PNR_PRM_FARE']+dot_skims['PNRE_PRM_FARE']) + ((odt_skims['PNR_PRM_DDIST']+dot_skims['PNRE_PRM_DDIST']) *costPerMile)),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_Ratio_of_PNR_access_distance_to_OD_distance,PNR_PRM - Ratio of PNR access distance to OD distance,@dacc_ratio * ((odt_skims['PNR_PRM_DDIST']+ dot_skims['PNRE_PRM_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_Destination_zone_densityIndex,PNR_PRM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_Topology,PNR_PRM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,, -util_PNR_PRM_Person_is_less_than_10_years_old,PNR_PRM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, -#util_PNR_to_MIX,#PNR to MIX,,,,,,,,,,,,,,,,,,, -util_PNR_MIX_Unavailable,PNR_MIX - Unavailable,pnr_mix_available == False,,,,,,,,,,,-999,,,,,,, -util_PNR_MIX_Unavailable_for_persons_less_than_16,PNR_MIX - Unavailable for persons less than 16,age < 16,,,,,,,,,,,-999,,,,,,, -util_PNR_MIX_In_vehicle_time,PNR_MIX - In-vehicle time,@(odt_skims['PNR_MIX_IVT'] + dot_skims['PNRE_MIX_IVT']),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_In_vehicle_time_on_Bus,PNR_MIX - In-vehicle time on Bus,@(odt_skims['PNR_MIX_IVTT_Bus'] + dot_skims['PNRE_MIX_IVTT_Bus']),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_In_vehicle_time_on_PMov,PNR_MIX - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['PNR_MIX_IVTT_PMov'] + dot_skims['PNRE_MIX_IVTT_PMov']),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_In_vehicle_time_on_StCar,PNR_MIX - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['PNR_MIX_IVTT_StCar'] + dot_skims['PNRE_MIX_IVTT_StCar']),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_In_vehicle_time_on_BRT,PNR_MIX - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['PNR_MIX_IVTT_Brt'] + dot_skims['PNRE_MIX_IVTT_Brt']),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_In_vehicle_time_on_URB,PNR_MIX - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['PNR_MIX_IVTT_UrbRail'] + dot_skims['PNRE_MIX_IVTT_UrbRail']),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_In_vehicle_time_on_COM,PNR_MIX - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['PNR_MIX_IVTT_ComRail'] + dot_skims['PNRE_MIX_IVTT_ComRail']),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_Short_iwait_time,PNR_MIX - Short iwait time,@short_i_wait_multiplier * ((odt_skims['PNR_MIX_IWAIT']).clip(upper=waitThresh) + (dot_skims['PNRE_MIX_IWAIT']).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_Long_iwait_time,PNR_MIX - Long iwait time,@long_i_wait_multiplier * ((odt_skims['PNR_MIX_IWAIT']-waitThresh).clip(0) + (dot_skims['PNRE_MIX_IWAIT']-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_transfer_wait_time,PNR_MIX - transfer wait time,@xwait_multiplier * (odt_skims['PNR_MIX_XWAIT'] + dot_skims['PNRE_MIX_XWAIT']),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_number_of_transfers,PNR_MIX - number of transfers,@xfers_drv_multiplier * ((odt_skims['PNR_MIX_NT']).clip(0) + (dot_skims['PNRE_MIX_NT']).clip(0)),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_PNR_time,PNR_MIX - PNR time,@dtim_multiplier * (odt_skims['PNR_MIX_DTIME'] + dot_skims['PNRE_MIX_DTIME']),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_Walk_access_time_(at_attraction_end),PNR_MIX - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_Walk_egress_ime_(at_attraction_end),PNR_MIX - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_Walk_other_time,PNR_MIX - Walk other time,@waux_multiplier * (odt_skims['PNR_MIX_WAUX'] + dot_skims['PNRE_MIX_WAUX']),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_Fare_and_operating_cost,PNR_MIX - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['PNR_MIX_FARE']+dot_skims['PNRE_MIX_FARE']) + ((odt_skims['PNR_MIX_DDIST']+dot_skims['PNRE_MIX_DDIST']) *costPerMile)),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_Ratio_of_PNR_access_distance_to_OD_distance,PNR_MIX - Ratio of PNR access distance to OD distance,@dacc_ratio * ((odt_skims['PNR_MIX_DDIST']+ dot_skims['PNRE_MIX_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_Destination_zone_densityIndex,PNR_MIX - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_Topology,PNR_MIX - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,, -util_PNR_MIX_Person_is_less_than_10_years_old,PNR_MIX - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, -#util_KNR_to_Local,#KNR to Local,,,,,,,,,,,,,,,,,,, -util_KNR_LOC_Unavailable,KNR_LOC - Unavailable,knr_local_available == False,,,,,,,,,,,,-999,,,,,, -util_KNR_LOC_Unavailable_for_persons_less_than_16,KNR_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,-999,,,,,, -util_KNR_LOC_In_vehicle_time,KNR_LOC - In-vehicle time,@(odt_skims['KNR_LOC_IVT'] + dot_skims['KNRE_LOC_IVT']),,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_Short_iwait_time,KNR_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['KNR_LOC_IWAIT']).clip(upper=waitThresh) + (dot_skims['KNRE_LOC_IWAIT']).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_Long_iwait_time,KNR_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['KNR_LOC_IWAIT']-waitThresh).clip(0) + (dot_skims['KNRE_LOC_IWAIT']-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_transfer_wait_time,KNR_LOC - transfer wait time,@xwait_multiplier * (odt_skims['KNR_LOC_XWAIT'] + dot_skims['KNRE_LOC_XWAIT']),,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_number_of_transfers,KNR_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['KNR_LOC_NT']).clip(0) + (dot_skims['KNRE_LOC_NT']).clip(0)),,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_KNR_time,KNR_LOC - KNR time,@dtim_multiplier * (odt_skims['KNR_LOC_DTIME'] + dot_skims['KNRE_LOC_DTIME']),,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_Walk_access_time,KNR_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_Walk_egress_time_(at_attraction_end),KNR_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_Walk_other_time,KNR_LOC - Walk other time,@waux_multiplier * (odt_skims['KNR_LOC_WAUX'] + dot_skims['KNRE_LOC_WAUX']),,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_Fare_and_operating_cost,KNR_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['KNR_LOC_FARE'] + dot_skims['KNRE_LOC_FARE']) + ((odt_skims['KNR_LOC_DDIST']+dot_skims['KNRE_LOC_DDIST']) * costPerMile)),,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_Ratio_of_KNR_access_distance_to_OD_distance,KNR_LOC - Ratio of KNR access distance to OD distance,@dacc_ratio * ((odt_skims['KNR_LOC_DDIST']+ dot_skims['KNRE_LOC_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_Destination_zone_densityIndex,KNR_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_Topology,KNR_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,, -util_KNR_LOC_Person_is_less_than_10_years_old,KNR_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, -#util_KNR_to_Premium,#KNR to Premium,,,,,,,,,,,,,,,,,,, -util_KNR_PRM_Unavailable,KNR_PRM - Unavailable,knr_premium_available == False,,,,,,,,,,,,,-999,,,,, -util_KNR_PRM_Unavailable_for_persons_less_than_16,KNR_PRM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,-999,,,,, -util_KNR_PRM_In_vehicle_time,KNR_PRM - In-vehicle time,@(odt_skims['KNR_PRM_IVT'] + dot_skims['KNRE_PRM_IVT']),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_In_vehicle_time_on_PMov,KNR_PRM - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['KNR_PRM_IVTT_PMov'] + dot_skims['KNRE_PRM_IVTT_PMov']),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_In_vehicle_time_on_StCar,KNR_PRM - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['KNR_PRM_IVTT_StCar'] + dot_skims['KNRE_PRM_IVTT_StCar']),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_In_vehicle_time_on_BRT,KNR_PRM - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['KNR_PRM_IVTT_Brt'] + dot_skims['KNRE_PRM_IVTT_Brt']),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_In_vehicle_time_on_URB,KNR_PRM - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['KNR_PRM_IVTT_UrbRail'] + dot_skims['KNRE_PRM_IVTT_UrbRail']),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_In_vehicle_time_on_COM,KNR_PRM - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['KNR_PRM_IVTT_ComRail'] + dot_skims['KNRE_PRM_IVTT_ComRail']),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_Short_iwait_time,KNR_PRM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['KNR_PRM_IWAIT']).clip(upper=waitThresh) + (dot_skims['KNRE_PRM_IWAIT']).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_Long_iwait_time,KNR_PRM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['KNR_PRM_IWAIT']-waitThresh).clip(0) + (dot_skims['KNRE_PRM_IWAIT']-waitThresh).clip(0)) ,,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_transfer_wait_time,KNR_PRM - transfer wait time,@xwait_multiplier * (odt_skims['KNR_PRM_XWAIT'] + dot_skims['KNRE_PRM_XWAIT']),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_number_of_transfers,KNR_PRM - number of transfers,@xfers_drv_multiplier *((odt_skims['KNR_PRM_NT']).clip(0) + (dot_skims['KNRE_PRM_NT']).clip(0)),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_KNR_time,KNR_PRM - KNR time,@dtim_multiplier * (odt_skims['KNR_PRM_DTIME'] + dot_skims['KNRE_PRM_DTIME']),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_Walk_access_time_(at_attraction_end),KNR_PRM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_Walk_egress_time_(at_attraction_end),KNR_PRM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_Walk_other_time,KNR_PRM - Walk other time,@waux_multiplier * (odt_skims['KNR_PRM_WAUX'] + dot_skims['KNRE_PRM_WAUX']),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_Fare_and_operating_cost,KNR_PRM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['KNR_PRM_FARE']+dot_skims['KNRE_PRM_FARE']) + ((odt_skims['KNR_PRM_DDIST']+dot_skims['KNRE_PRM_DDIST']) *costPerMile)),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_Ratio_of_KNR_access_distance_to_OD_distance,KNR_PRM - Ratio of KNR access distance to OD distance,@dacc_ratio * ((odt_skims['KNR_PRM_DDIST']+ dot_skims['KNRE_PRM_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_Destination_zone_densityIndex,KNR_PRM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_Topology,KNR_PRM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,, -util_KNR_PRM_Person_is_less_than_10_years_old,KNR_PRM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, -#util_KNR_to_MIX,#KNR to MIX,,,,,,,,,,,,,,,,,,, -util_KNR_MIX_Unavailable,KNR_MIX - Unavailable,knr_mix_available == False,,,,,,,,,,,,,,-999,,,, -util_KNR_MIX_Unavailable_for_persons_less_than_16,KNR_MIX - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,, -util_KNR_MIX_In_vehicle_time,KNR_MIX - In-vehicle time,@(odt_skims['KNR_MIX_IVT'] + dot_skims['KNRE_MIX_IVT']),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_In_vehicle_time_on_Bus,KNR_MIX - In-vehicle time on Bus,@(odt_skims['KNR_MIX_IVTT_Bus'] + dot_skims['KNRE_MIX_IVTT_Bus']),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_In_vehicle_time_on_PMov,KNR_MIX - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['KNR_MIX_IVTT_PMov'] + dot_skims['KNRE_MIX_IVTT_PMov']),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_In_vehicle_time_on_StCar,KNR_MIX - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['KNR_MIX_IVTT_StCar'] + dot_skims['KNRE_MIX_IVTT_StCar']),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_In_vehicle_time_on_BRT,KNR_MIX - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['KNR_MIX_IVTT_Brt'] + dot_skims['KNRE_MIX_IVTT_Brt']),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_In_vehicle_time_on_URB,KNR_MIX - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['KNR_MIX_IVTT_UrbRail'] + dot_skims['KNRE_MIX_IVTT_UrbRail']),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_In_vehicle_time_on_COM,KNR_MIX - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['KNR_MIX_IVTT_ComRail'] + dot_skims['KNRE_MIX_IVTT_ComRail']),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_Short_iwait_time,KNR_MIX - Short iwait time,@short_i_wait_multiplier * ((odt_skims['KNR_MIX_IWAIT']).clip(upper=waitThresh) + (dot_skims['KNRE_MIX_IWAIT']).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_Long_iwait_time,KNR_MIX - Long iwait time,@long_i_wait_multiplier * ((odt_skims['KNR_MIX_IWAIT']-waitThresh).clip(0) + (dot_skims['KNRE_MIX_IWAIT']-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_transfer_wait_time,KNR_MIX - transfer wait time,@xwait_multiplier * (odt_skims['KNR_MIX_XWAIT'] + dot_skims['KNRE_MIX_XWAIT']),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_number_of_transfers,KNR_MIX - number of transfers,@xfers_drv_multiplier * ((odt_skims['KNR_MIX_NT']).clip(0) + (dot_skims['KNRE_MIX_NT']).clip(0)),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_KNR_time,KNR_MIX - KNR time,@dtim_multiplier * (odt_skims['KNR_MIX_DTIME'] + dot_skims['KNRE_MIX_DTIME']),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_Walk_access_time_(at_attraction_end),KNR_MIX - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_Walk_egress_ime_(at_attraction_end),KNR_MIX - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_Walk_other_time,KNR_MIX - Walk other time,@waux_multiplier * (odt_skims['KNR_MIX_WAUX'] + dot_skims['KNRE_MIX_WAUX']),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_Fare_and_operating_cost,KNR_MIX - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['KNR_MIX_FARE']+dot_skims['KNRE_MIX_FARE']) + ((odt_skims['KNR_MIX_DDIST']+dot_skims['KNRE_MIX_DDIST']) *costPerMile)),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_Ratio_of_KNR_access_distance_to_OD_distance,KNR_MIX - Ratio of KNR access distance to OD distance,@dacc_ratio * ((odt_skims['KNR_MIX_DDIST']+ dot_skims['KNRE_MIX_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_Destination_zone_densityIndex,KNR_MIX - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_Topology,KNR_MIX - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,, -util_KNR_MIX_Person_is_less_than_10_years_old,KNR_MIX - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, -#,Taxi,,,,,,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,,,,,,,,,,,,,,coef_ivt,, -#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,, -util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,,,,,,coef_ivt,, -#util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,coef_ivt,, -#util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']) * Taxi_costPerMile +(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,coef_ivt, -#util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,coef_ivt, -#util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,coef_ivt -#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,coef_ivt -#util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,coef_ivt -#util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2_TIME'] + dot_skims['HOV3_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,coef_ivt -#indiv_tour_ASCs,#indiv tour ASCs,,,,,,,,,,,,,,,,,,, -util_WALK_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,walk_ASC_no_auto,,,,,,,,,,,,,, -util_WALK_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, -util_WALK_ASC_Auto_sufficient,Walk ASC - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, -util_BIKE_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,bike_ASC_no_auto,,,,,,,,,,,,, -util_BIKE_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, -util_BIKE_ASC_Auto_sufficient,Bike ASC - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,sr2_ASC_no_auto,,,,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,, -util_Shared_ride_3+_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr3p_ASC_no_auto,,,,,,,,,,,,,,, -util_Shared_ride_3+_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, -util_Shared_ride_3+_Auto_sufficient,Shared ride 3+ - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, -util_WALK_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,,,, -util_WALK_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,,,, -util_WALK_to_Transit_Auto_sufficient,Walk to Transit - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,,,, -util_PNR_to_Transit_Zero_auto,PNR to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,pnr_transit_ASC_no_auto,pnr_transit_ASC_no_auto,pnr_transit_ASC_no_auto,,,,,,, -util_PNR_to_Transit_Auto_deficient,PNR to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,pnr_transit_ASC_auto_deficient,pnr_transit_ASC_auto_deficient,pnr_transit_ASC_auto_deficient,,,,,,, -util_PNR_to_Transit_Auto_sufficient,PNR to Transit - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,pnr_transit_ASC_auto_sufficient,pnr_transit_ASC_auto_sufficient,pnr_transit_ASC_auto_sufficient,,,,,,, -util_KNR_to_Transit_Zero_auto,KNR to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,knr_transit_ASC_no_auto,knr_transit_ASC_no_auto,knr_transit_ASC_no_auto,,,, -util_KNR_to_Transit_Auto_deficient,KNR to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,knr_transit_ASC_auto_deficient,knr_transit_ASC_auto_deficient,knr_transit_ASC_auto_deficient,,,, -util_KNR_to_Transit_Auto_sufficient,KNR to Transit - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,knr_transit_ASC_auto_sufficient,knr_transit_ASC_auto_sufficient,knr_transit_ASC_auto_sufficient,,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,taxi_ASC_no_auto,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient -#util_Joint_tour_ASCs,#joint tour ASCs,,,,,,,,,,,,,,,,,,, -util_Joint_WALK_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, -util_Joint_WALK_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, -util_Joint_WALK_ASC_Auto_sufficient,Joint - Walk ASC - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, -util_Joint_BIKE_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, -util_Joint_BIKE_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, -util_Joint_BIKE_ASC_Auto_sufficient,Joint - Bike ASC - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3+_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3+_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3+_Auto_sufficient,Joint - Shared ride 3+ - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, -util_Joint_WALK_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,,,, -util_Joint_WALK_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,,,, -util_Joint_WALK_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,,,, -util_Joint_PNR_to_Transit_Zero_auto,Joint - PNR to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_pnr_transit_ASC_no_auto,joint_pnr_transit_ASC_no_auto,joint_pnr_transit_ASC_no_auto,,,,,,, -util_Joint_PNR_to_Transit_Auto_deficient,Joint - PNR to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_pnr_transit_ASC_auto_deficient,joint_pnr_transit_ASC_auto_deficient,joint_pnr_transit_ASC_auto_deficient,,,,,,, -util_Joint_PNR_to_Transit_Auto_sufficient,Joint - PNR to Transit - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_pnr_transit_ASC_auto_sufficient,joint_pnr_transit_ASC_auto_sufficient,joint_pnr_transit_ASC_auto_sufficient,,,,,,, -util_Joint_KNR_to_Transit_Zero_auto,Joint - KNR to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,joint_knr_transit_ASC_no_auto,joint_knr_transit_ASC_no_auto,joint_knr_transit_ASC_no_auto,,,, -util_Joint_KNR_to_Transit_Auto_deficient,Joint - KNR to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,joint_knr_transit_ASC_auto_deficient,joint_knr_transit_ASC_auto_deficient,joint_knr_transit_ASC_auto_deficient,,,, -util_Joint_KNR_to_Transit_Auto_sufficient,Joint - KNR to Transit - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,joint_knr_transit_ASC_auto_sufficient,joint_knr_transit_ASC_auto_sufficient,joint_knr_transit_ASC_auto_sufficient,,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient -util_local_asc,Local ASC,1,,,,,,local_ASC,,,local_ASC,,,local_ASC,,,,,, -util_premium_asc,Premium ASC,1,,,,,,,premium_ASC,,,premium_ASC,,,premium_ASC,,,,, -util_mix_asc,Mix ASC,1,,,,,,,,mix_ASC,,,mix_ASC,,,mix_ASC,,,, -util_WALK_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,,,, -Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,,, -Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,, -#_FIXME_skims_aren't_symmetrical,# FIXME - skims aren't symmetrical, so we have to make sure they can get back,,,,,,,,,,,,,,,,,, -util_WALK_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,-999,,,,,,,,,,,,,, -util_BIKE_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,-999,,,,,,,,,,,,, -Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,,,,,,,,,,,,,,,,, -#School_Bus,#School Bus,,,,,,,,,,,,,,,,,,, -School_Bus_Unavailable_if_NOT_school_tour,School Bus - Unavailable if NOT school tour,~is_school,,,,,,,,,,,,,,,-999,,, -School_Bus_In_vehicle_time_(HOV3+_skims)_20_mph,School Bus - In-vehicle time (HOV3+ skims) - 20 mph,@(odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST'])*3,,,,,,,,,,,,,,,coef_ivt,,, -School_Bus_WALK_Time,School Bus - Walk Time,@wacc_multiplier*10,,,,,,,,,,,,,,,coef_ivt,,, -School_Bus_Wait_Time,School Bus - Wait Time,@short_i_wait_multiplier*10,,,,,,,,,,,,,,,coef_ivt,,, -util_schoolbus_ASC_no_auto,School Bus No Auto ASC,@(df.auto_ownership == 0),,,,,,,,,,,,,,,schoolbus_ASC_no_auto,,, -util_schoolbus_ASC_auto_deficient,School Bus Auto Deficient ASC,@((df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,schoolbus_ASC_auto_deficient,,, -util_schoolbus_ASC_auto_sufficient,School Bus Auto Sufficient ASC,@((df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,schoolbus_ASC_auto_sufficient,,, diff --git a/activitysim/examples/example_semcog/configs/tour_mode_choice.yaml b/activitysim/examples/example_semcog/configs/tour_mode_choice.yaml deleted file mode 100755 index 179aaf5066..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_mode_choice.yaml +++ /dev/null @@ -1,204 +0,0 @@ -LOGIT_TYPE: NL -#LOGIT_TYPE: MNL - -NESTS: - name: root - coefficient: coef_nest_root - alternatives: - - name: AUTO - coefficient: coef_nest_AUTO - alternatives: - - DRIVEALONE - - SHARED2 - - SHARED3 - - name: NONMOTORIZED - coefficient: coef_nest_NONMOTORIZED - alternatives: - - WALK - - BIKE - - name: TRANSIT - coefficient: coef_nest_TRANSIT - alternatives: - - name: WALKACCESS - coefficient: coef_nest_TRANSIT_WALKACCESS - alternatives: - - WALK_LOC - - WALK_PRM - - WALK_MIX - - name: PNRACCESS - coefficient: coef_nest_TRANSIT_PNRACCESS - alternatives: - - PNR_LOC - - PNR_PRM - - PNR_MIX - - name: KNRACCESS - coefficient: coef_nest_TRANSIT_KNRACCESS - alternatives: - - KNR_LOC - - KNR_PRM - - KNR_MIX - - name: SCHOOL_BUS - coefficient: coef_nest_SCHOOL_BUS - alternatives: - - SCHOOLBUS - - name: RIDEHAIL - coefficient: coef_nest_RIDEHAIL - alternatives: - - TAXI - - TNC_SINGLE - - TNC_SHARED - -SPEC: tour_mode_choice.csv -COEFFICIENTS: tour_mode_choice_coeffs.csv -COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv - -CONSTANTS: - #valueOfTime: 8.00 - costPerMile: 18.29 - costShareSr2: 1.75 - costShareSr3: 2.50 - waitThresh: 10.00 - walkThresh: 1.50 - shortWalk: 0.333 - longWalk: 0.667 - walkSpeed: 3.00 - bikeThresh: 6.00 - bikeSpeed: 12.00 - maxCbdAreaTypeThresh: 2 - indivTour: 1.00000 - upperEA: 5 - upperAM: 10 - upperMD: 15 - upperPM: 19 - # RIDEHAIL Settings - Taxi_baseFare: 2.20 - Taxi_costPerMile: 2.30 - Taxi_costPerMinute: 0.10 - Taxi_waitTime_mean: - 1: 5.5 - 2: 9.5 - 3: 13.3 - 4: 17.3 - 5: 26.5 - Taxi_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_single_baseFare: 2.20 - TNC_single_costPerMile: 1.33 - TNC_single_costPerMinute: 0.24 - TNC_single_costMinimum: 7.20 - TNC_single_waitTime_mean: - 1: 3.0 - 2: 6.3 - 3: 8.4 - 4: 8.5 - 5: 10.3 - TNC_single_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_shared_baseFare: 2.20 - TNC_shared_costPerMile: 0.53 - TNC_shared_costPerMinute: 0.10 - TNC_shared_costMinimum: 3.00 - TNC_shared_IVTFactor: 1.5 - TNC_shared_waitTime_mean: - 1: 5.0 - 2: 8.0 - 3: 11.0 - 4: 15.0 - 5: 15.0 - TNC_shared_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - min_waitTime: 0 - max_waitTime: 50 - - ivt_cost_multiplier: 0.6 - ivt_pmov_multiplier: 1.0 - ivt_stcar_multiplier: 0.9 - ivt_brt_multiplier: 0.9 - ivt_urb_multiplier: 0.8 - ivt_com_multiplier: 0.7 - walktimeshort_multiplier: 2 - walktimelong_multiplier: 10 - biketimeshort_multiplier: 4 - biketimelong_multiplier: 20 - short_i_wait_multiplier: 2 - long_i_wait_multiplier: 1 - wacc_multiplier: 2 - wegr_multiplier: 2 - waux_multiplier: 2 - dtim_multiplier: 2 - xwait_multiplier: 2 - dacc_ratio: 0 - xfers_wlk_multiplier: 10 - xfers_drv_multiplier: 20 - drvtrn_distpen_0_multiplier: 270 - drvtrn_distpen_max: 15 - density_index_multiplier: -0.2 - - transit_nopass_fare_discount_percent: - 1: 1.0 - 2: 1.0 - 3: 0.62 - 4: 1.0 - 5: 0.54 - 6: 0.62 - 7: 0.62 - 8: 1.0 - transit_pass_fare_discount_percent: - 1: 0.32 - 2: 0.49 - 3: 0.03 - 4: 0.54 - 5: 0.17 - 6: 0.37 - 7: 0.36 - 8: 1.0 - transit_subsidy_fare_discount_percent_worktour: 0.9 - -# joint_sr2_ASC_no_auto: 0 -# joint_sr2_ASC_auto_deficient: 0 -# joint_sr2_ASC_auto_sufficient: 0 -# joint_drive_transit_ASC_no_auto: 0 - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - - tours - -nontour_preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - -# to reduce memory needs filter chooser table to these fields -LOGSUM_CHOOSER_COLUMNS: - - tour_type - - hhsize - - density_index - - age - - age_16_p - - age_16_to_19 - - auto_ownership - - number_of_participants - - tour_category - - num_workers - - value_of_time - - free_parking_at_work - - transit_pass_ownership - - transit_pass_subsidy -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/example_semcog/configs/tour_mode_choice_annotate_choosers_preprocessor.csv deleted file mode 100755 index d2d31869fb..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_mode_choice_annotate_choosers_preprocessor.csv +++ /dev/null @@ -1,98 +0,0 @@ -Description,Target,Expression -#,, -local,_DF_IS_TOUR,'tour_type' in df.columns -,number_of_participants,df.number_of_participants if _DF_IS_TOUR else 1 -,is_joint,(df.tour_category=='joint') if _DF_IS_TOUR else False -#,, - local,_HAVE_PARENT_TOURS,'parent_tour_id' in df.columns -,_parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id) if _HAVE_PARENT_TOURS else ''" -,work_tour_is_drive,_parent_tour_mode.isin(['DRIVEALONE']) -,work_tour_is_bike,_parent_tour_mode=='BIKE' -,work_tour_is_SOV,_parent_tour_mode.isin(['DRIVEALONE']) -#,, -,is_mandatory,(df.tour_category=='mandatory') if 'tour_category' in df.columns else False -,is_joint,(df.tour_category=='joint') if 'tour_category' in df.columns else False -,is_indiv,~is_joint -,is_atwork_subtour,(df.tour_category=='atwork') if 'tour_category' in df.columns else False -,is_escort,(df.tour_type == 'escort') if _DF_IS_TOUR else False -,is_school,(df.tour_type=='school') & (df.is_university==False) if _DF_IS_TOUR else False -#,, -#,c_cost,(0.60 * c_ivt) / df.value_of_time -#,, -,ivot,1.0/df.value_of_time -,dest_topology,"reindex(land_use.TOPOLOGY, df[dest_col_name])" -,terminal_time,"reindex(land_use.TERMINAL, df[dest_col_name])" -,dest_density_index,"reindex(land_use.density_index, df[dest_col_name])" -# FIXME no transit subzones so all zones short walk to transit,, -,_walk_transit_origin,True -,_walk_transit_destination,True -,walk_transit_available,_walk_transit_origin & _walk_transit_destination -,pnr_transit_available,_walk_transit_destination & (df.auto_ownership > 0) -,knr_transit_available,_walk_transit_origin & _walk_transit_destination -,origin_walk_time,shortWalk*60/walkSpeed -,destination_walk_time,shortWalk*60/walkSpeed -# RIDEHAIL,, -,origin_density_measure,"(reindex(land_use.tot_pop, df[orig_col_name]) + reindex(land_use.tot_emp, df[orig_col_name])) / (reindex(land_use.tot_acres, df[orig_col_name]) / 640)" -,dest_density_measure,"(reindex(land_use.tot_pop, df[dest_col_name]) + reindex(land_use.tot_emp, df[dest_col_name])) / (reindex(land_use.tot_acres, df[dest_col_name]) / 640)" -,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" -,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" -,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" -,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" -,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" -,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" -# ,, Note that the mean and standard deviation are not the values for the distribution itself but of the underlying normal distribution it is derived from -,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" -,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" -,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" -,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" -,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" -,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" -,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" -,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" -,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime -,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime -,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime -#,, -,_free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work if _DF_IS_TOUR else False -,_dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[dest_col_name])" -,_dest_hourly_offpeak_parking_cost,"reindex(land_use.OPRKCST, df[dest_col_name])" -,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)" -,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)" -,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost * df.duration/2, _hourly_offpeak_parking_cost * df.duration/2)" -#,, -,distance,od_skims['DIST'] -,sov_available,(odt_skims['SOV_TIME']>0) & (dot_skims['SOV_TIME']>0) -,hov2_available,(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME'])>0 -,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) -,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_IVT']>0) & (dot_skims['WLK_LOC_IVT']>0) -,walk_premium_available,walk_transit_available & (odt_skims['WLK_PRM_IVT']>0) & (dot_skims['WLK_PRM_IVT']>0) -,walk_mix_available,walk_transit_available & (odt_skims['WLK_MIX_IVT']>0) & (dot_skims['WLK_MIX_IVT']>0) -,pnr_local_available,pnr_transit_available & (odt_skims['PNR_LOC_IVT']>0) & (dot_skims['PNRE_LOC_IVT']>0) -,pnr_premium_available,pnr_transit_available & (odt_skims['PNR_PRM_IVT']>0) & (dot_skims['PNRE_PRM_IVT']>0) -,pnr_mix_available,pnr_transit_available & (odt_skims['PNR_MIX_IVT']>0) & (dot_skims['PNRE_MIX_IVT']>0) -,knr_local_available,knr_transit_available & (odt_skims['KNR_LOC_IVT']>0) & (dot_skims['KNRE_LOC_IVT']>0) -,knr_premium_available,knr_transit_available & (odt_skims['KNR_PRM_IVT']>0) & (dot_skims['KNRE_PRM_IVT']>0) -,knr_mix_available,knr_transit_available & (odt_skims['KNR_MIX_IVT']>0) & (dot_skims['KNRE_MIX_IVT']>0) -#,, -destination in central business district,destination_in_cbd,"(reindex(land_use.AreaType, df[dest_col_name]) < setting('cbd_threshold')) * 1" -#,,FIXME diagnostic -#,sov_dist_rt,(odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']) -#,,fare discounts (no discount for use in logsums) -,ptype,df.ptype if _DF_IS_TOUR else 1 -,transit_pass_ownership,df.transit_pass_ownership if _DF_IS_TOUR else 0 -,transit_pass_subsidy,df.transit_pass_subsidy if _DF_IS_TOUR else 0 -,tour_type,df.tour_type if _DF_IS_TOUR else 'other' -,fare_nopass_discount_percent,"ptype.map({k: v for k, v in transit_nopass_fare_discount_percent.items()})" -,fare_pass_discount_percent,"ptype.map({k: v for k, v in transit_pass_fare_discount_percent.items()})" -,fare_subsidy_discount_percent,"np.where(tour_type=='work', transit_subsidy_fare_discount_percent_worktour, 1)" -,fare_discount_percent_ff,"np.where((transit_pass_ownership == False) & (transit_pass_subsidy == False), fare_nopass_discount_percent, 1)" -,fare_discount_percent_tf,"np.where((transit_pass_ownership == True) & (transit_pass_subsidy == False), fare_pass_discount_percent, 1)" -,fare_discount_percent_ft,"np.where((transit_pass_ownership == False) & (transit_pass_subsidy == True), fare_nopass_discount_percent * (1-fare_subsidy_discount_percent), 1)" -,fare_discount_percent_tt,"np.where((transit_pass_ownership == True ) & (transit_pass_subsidy == True), fare_pass_discount_percent * (1-fare_subsidy_discount_percent), 1)" -,fare_discount_percent,fare_discount_percent_ff * fare_discount_percent_tf * fare_discount_percent_ft * fare_discount_percent_tt \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/tour_mode_choice_coeffs.csv b/activitysim/examples/example_semcog/configs/tour_mode_choice_coeffs.csv deleted file mode 100755 index 9f7f8f44e3..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_mode_choice_coeffs.csv +++ /dev/null @@ -1,349 +0,0 @@ -coefficient_name,value,constrain -coef_nest_root,1,T -coef_nest_AUTO,0.72,T -coef_nest_AUTO_DRIVEALONE,0.35,T -coef_nest_AUTO_SHAREDRIDE2,0.35,T -coef_nest_AUTO_SHAREDRIDE3,0.35,T -coef_nest_NONMOTORIZED,0.72,T -coef_nest_TRANSIT,0.72,T -coef_nest_TRANSIT_WALKACCESS,0.5,T -coef_nest_TRANSIT_KNRACCESS,0.5,T -coef_nest_TRANSIT_PNRACCESS,0.5,T -coef_nest_SCHOOL_BUS,0.72,T -coef_nest_RIDEHAIL,0.36,T -coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F -coef_ivt_school_univ,-0.0224,F -coef_ivt_work,-0.0134,F -coef_ivt_atwork,-0.0188,F -coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F -coef_topology_walk_multiplier_atwork,7.5,F -coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F -coef_topology_bike_multiplier_atwork,10,F -coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F -coef_topology_trn_multiplier_atwork,2,F -coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age1619_da_multiplier_school_univ,-1.3813,F -coef_age1619_da_multiplier_atwork,0.0032336,F -coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age010_trn_multiplier_school_univ,-1.5548,F -coef_age010_trn_multiplier_atwork,0.000722,F -coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F -coef_age16p_sr_multiplier_school_univ_work_atwork,0,F -coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F -coef_hhsize1_sr_multiplier_work,-0.734588,F -coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F -coef_hhsize2_sr_multiplier_school_univ,-0.6359,F -walk_ASC_no_auto_eatout,6.589427019,F -walk_ASC_no_auto_escort,4.880440839,F -walk_ASC_no_auto_othdiscr,4.730904319,F -walk_ASC_no_auto_othmaint,3.366533039,F -walk_ASC_no_auto_school,12.00708155,F -walk_ASC_no_auto_shopping,4.456111339,F -walk_ASC_no_auto_social,3.332401219,F -walk_ASC_no_auto_univ,3.063248695,F -walk_ASC_no_auto_work,4.43703301,F -walk_ASC_no_auto_atwork,0.421704944,F -walk_ASC_auto_deficient_eatout,2.887675213,F -walk_ASC_auto_deficient_escort,-1.356970662,F -walk_ASC_auto_deficient_othdiscr,1.862477713,F -walk_ASC_auto_deficient_othmaint,0.914116298,F -walk_ASC_auto_deficient_school,1.097961688,F -walk_ASC_auto_deficient_shopping,1.815249198,F -walk_ASC_auto_deficient_social,2.483254213,F -walk_ASC_auto_deficient_univ,2.850042543,F -walk_ASC_auto_deficient_work,1.637904594,F -walk_ASC_auto_deficient_atwork,-17.85938696,F -walk_ASC_auto_sufficient_eatout,1.896049479,F -walk_ASC_auto_sufficient_escort,-1.53483226,F -walk_ASC_auto_sufficient_othdiscr,1.607706779,F -walk_ASC_auto_sufficient_othmaint,0.07673774,F -walk_ASC_auto_sufficient_school,-1.384129543,F -walk_ASC_auto_sufficient_shopping,0.00804064,F -walk_ASC_auto_sufficient_social,2.051577779,F -walk_ASC_auto_sufficient_univ,2.131895451,F -walk_ASC_auto_sufficient_work,-0.633007823,F -walk_ASC_auto_sufficient_atwork,0.1438828,F -bike_ASC_no_auto_eatout,1.477690443,F -bike_ASC_no_auto_escort,-2.060060749,F -bike_ASC_no_auto_othdiscr,0.233196283,F -bike_ASC_no_auto_othmaint,0.195584651,F -bike_ASC_no_auto_school,0,F -bike_ASC_no_auto_shopping,-0.509693249,F -bike_ASC_no_auto_social,0.630202693,F -bike_ASC_no_auto_univ,1.297297637,F -bike_ASC_no_auto_work,2.338049977,F -bike_ASC_no_auto_atwork,18.45901812,F -bike_ASC_auto_deficient_eatout,-0.743790882,F -bike_ASC_auto_deficient_escort,-3.511021918,F -bike_ASC_auto_deficient_othdiscr,0.732851378,F -bike_ASC_auto_deficient_othmaint,-0.501558818,F -bike_ASC_auto_deficient_school,-0.465024971,F -bike_ASC_auto_deficient_shopping,0.141061422,F -bike_ASC_auto_deficient_social,1.459841118,F -bike_ASC_auto_deficient_univ,0.950303703,F -bike_ASC_auto_deficient_work,0.224440057,F -bike_ASC_auto_deficient_atwork,-3.8074083,F -bike_ASC_auto_sufficient_eatout,-0.885432566,F -bike_ASC_auto_sufficient_escort,-4.318656917,F -bike_ASC_auto_sufficient_othdiscr,-0.756545166,F -bike_ASC_auto_sufficient_othmaint,-2.063850917,F -bike_ASC_auto_sufficient_school,-2.878621083,F -bike_ASC_auto_sufficient_shopping,-1.821758817,F -bike_ASC_auto_sufficient_social,-1.053156466,F -bike_ASC_auto_sufficient_univ,-0.119499054,F -bike_ASC_auto_sufficient_work,-1.806805644,F -bike_ASC_auto_sufficient_atwork,-0.106470168,F -sr2_ASC_auto_deficient_eatout,0.413083337,F -sr2_ASC_auto_deficient_escort,0.664157519,F -sr2_ASC_auto_deficient_othdiscr,0.485000137,F -sr2_ASC_auto_deficient_othmaint,0.926310219,F -sr2_ASC_auto_deficient_school,0.100573545,F -sr2_ASC_auto_deficient_shopping,0.908255079,F -sr2_ASC_auto_deficient_social,1.680701637,F -sr2_ASC_auto_deficient_univ,0.078542755,F -sr2_ASC_auto_deficient_work,-0.304765262,F -sr2_ASC_auto_deficient_atwork,-20.27957549,F -sr2_ASC_auto_sufficient_eatout,0.899117605,F -sr2_ASC_auto_sufficient_escort,0.075825052,F -sr2_ASC_auto_sufficient_othdiscr,0.533158225,F -sr2_ASC_auto_sufficient_othmaint,0.334003882,F -sr2_ASC_auto_sufficient_school,-1.897992866,F -sr2_ASC_auto_sufficient_shopping,0.273532122,F -sr2_ASC_auto_sufficient_social,0.559914555,F -sr2_ASC_auto_sufficient_univ,-0.53703344,F -sr2_ASC_auto_sufficient_work,-0.766476766,F -sr2_ASC_auto_sufficient_atwork,-1.621794475,F -sr3p_ASC_no_auto_eatout,2.190553045,F -sr3p_ASC_no_auto_escort,0.209802522,F -sr3p_ASC_no_auto_othdiscr,2.140722265,F -sr3p_ASC_no_auto_othmaint,1.219543822,F -sr3p_ASC_no_auto_school,9.926556957,F -sr3p_ASC_no_auto_shopping,1.742939742,F -sr3p_ASC_no_auto_social,0.464863045,F -sr3p_ASC_no_auto_univ,-0.087322435,F -sr3p_ASC_no_auto_work,-1.064082,F -sr3p_ASC_no_auto_atwork,-0.940776326,F -sr3p_ASC_auto_deficient_eatout,0.140990485,F -sr3p_ASC_auto_deficient_escort,0.409243052,F -sr3p_ASC_auto_deficient_othdiscr,1.142034725,F -sr3p_ASC_auto_deficient_othmaint,-0.531961788,F -sr3p_ASC_auto_deficient_school,0.587171252,F -sr3p_ASC_auto_deficient_shopping,0.744060546,F -sr3p_ASC_auto_deficient_social,1.595662425,F -sr3p_ASC_auto_deficient_univ,0.335943236,F -sr3p_ASC_auto_deficient_work,-0.800161676,F -sr3p_ASC_auto_deficient_atwork,-20.24587122,F -sr3p_ASC_auto_sufficient_eatout,0.665638218,F -sr3p_ASC_auto_sufficient_escort,0.017050265,F -sr3p_ASC_auto_sufficient_othdiscr,0.407280668,F -sr3p_ASC_auto_sufficient_othmaint,-0.001035875,F -sr3p_ASC_auto_sufficient_school,-1.294501505,F -sr3p_ASC_auto_sufficient_shopping,-0.0031085,F -sr3p_ASC_auto_sufficient_social,0.324957478,F -sr3p_ASC_auto_sufficient_univ,-0.702604136,F -sr3p_ASC_auto_sufficient_work,-1.404899513,F -sr3p_ASC_auto_sufficient_atwork,-2.062496761,F -walk_transit_ASC_no_auto_eatout,1.388223363,F -walk_transit_ASC_no_auto_escort,-3.242571633,F -walk_transit_ASC_no_auto_othdiscr,1.038365063,F -walk_transit_ASC_no_auto_othmaint,1.538982067,F -walk_transit_ASC_no_auto_school,9.278859746,F -walk_transit_ASC_no_auto_shopping,1.081384067,F -walk_transit_ASC_no_auto_social,0.176051663,F -walk_transit_ASC_no_auto_univ,3.321119594,F -walk_transit_ASC_no_auto_work,3.061409806,F -walk_transit_ASC_no_auto_atwork,-2.75530458,F -walk_transit_ASC_auto_deficient_eatout,-0.710721656,F -walk_transit_ASC_auto_deficient_escort,-3.220750388,F -walk_transit_ASC_auto_deficient_othdiscr,0.281329984,F -walk_transit_ASC_auto_deficient_othmaint,-1.319772188,F -walk_transit_ASC_auto_deficient_school,1.023632747,F -walk_transit_ASC_auto_deficient_shopping,0.892296712,F -walk_transit_ASC_auto_deficient_social,0.302686454,F -walk_transit_ASC_auto_deficient_univ,2.231442966,F -walk_transit_ASC_auto_deficient_work,0.186141441,F -walk_transit_ASC_auto_deficient_atwork,-22.64172131,F -walk_transit_ASC_auto_sufficient_eatout,-3.537966973,F -walk_transit_ASC_auto_sufficient_escort,-6.313884394,F -walk_transit_ASC_auto_sufficient_othdiscr,-3.231644303,F -walk_transit_ASC_auto_sufficient_othmaint,-2.926154591,F -walk_transit_ASC_auto_sufficient_school,-3.421589964,F -walk_transit_ASC_auto_sufficient_shopping,-3.582717191,F -walk_transit_ASC_auto_sufficient_social,-2.770652273,F -walk_transit_ASC_auto_sufficient_univ,-0.179769816,F -walk_transit_ASC_auto_sufficient_work,-2.912845227,F -walk_transit_ASC_auto_sufficient_atwork,-6.453181068,F -joint_walk_ASC_no_auto_all,-0.039874578,F -joint_walk_ASC_auto_deficient_all,0.010741394,F -joint_walk_ASC_auto_sufficient_all,-1.975332928,F -joint_bike_ASC_no_auto_all,-2.221523576,F -joint_bike_ASC_auto_deficient_all,-2.104028545,F -joint_bike_ASC_auto_sufficient_all,-5.415064076,F -joint_sr2_ASC_no_auto_all,0,T -joint_sr2_ASC_auto_deficient_all,0,T -joint_sr2_ASC_auto_sufficient_all,0,T -joint_sr3p_ASC_no_auto_all,-1.057362954,F -joint_sr3p_ASC_auto_deficient_all,-1.358121204,F -joint_sr3p_ASC_auto_sufficient_all,-2.71447634,F -joint_walk_transit_ASC_no_auto_all,-2.489686956,F -joint_walk_transit_ASC_auto_deficient_all,-3.485773675,F -joint_walk_transit_ASC_auto_sufficient_all,-15.264534,F -walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -walk_transit_CBD_ASC_school_univ,0.672,F -walk_transit_CBD_ASC_work,0.804,F -walk_transit_CBD_ASC_atwork,0.564,F -drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -drive_transit_CBD_ASC_school_univ,0.672,F -drive_transit_CBD_ASC_work,1.1,F -drive_transit_CBD_ASC_atwork,0.564,F -joint_knr_transit_ASC_auto_deficient_all,-3.534648371,F -joint_knr_transit_ASC_auto_sufficient_all,-8.843788241,F -joint_knr_transit_ASC_no_auto_all,-3.987873766,F -joint_pnr_transit_ASC_auto_deficient_all,-5.146470604,F -joint_pnr_transit_ASC_auto_sufficient_all,-8.812715084,F -joint_pnr_transit_ASC_no_auto_all,0,T -knr_transit_ASC_auto_deficient_atwork,-23.01220348,F -knr_transit_ASC_auto_deficient_eatout,-1.841465519,F -knr_transit_ASC_auto_deficient_escort,-3.212214291,F -knr_transit_ASC_auto_deficient_othdiscr,-0.849413879,F -knr_transit_ASC_auto_deficient_othmaint,-1.311236091,F -knr_transit_ASC_auto_deficient_school,2.329981301,F -knr_transit_ASC_auto_deficient_shopping,0.900832809,F -knr_transit_ASC_auto_deficient_social,-0.828057409,F -knr_transit_ASC_auto_deficient_univ,0.781396375,F -knr_transit_ASC_auto_deficient_work,-1.44770466,F -knr_transit_ASC_auto_sufficient_atwork,-4.401027,F -knr_transit_ASC_auto_sufficient_eatout,-4.103602632,F -knr_transit_ASC_auto_sufficient_escort,-6.720817468,F -knr_transit_ASC_auto_sufficient_othdiscr,-3.797279962,F -knr_transit_ASC_auto_sufficient_othmaint,-3.333087668,F -knr_transit_ASC_auto_sufficient_school,-2.273708088,F -knr_transit_ASC_auto_sufficient_shopping,-3.989650268,F -knr_transit_ASC_auto_sufficient_social,-3.336287932,F -knr_transit_ASC_auto_sufficient_univ,-1.714133165,F -knr_transit_ASC_auto_sufficient_work,-4.698155028,F -knr_transit_ASC_no_auto_atwork,-0.580585596,F -knr_transit_ASC_no_auto_eatout,0.219095046,F -knr_transit_ASC_no_auto_escort,0.32982881,F -knr_transit_ASC_no_auto_othdiscr,0.219095046,F -knr_transit_ASC_no_auto_othmaint,0.32982881,F -knr_transit_ASC_no_auto_school,0.38894965,F -knr_transit_ASC_no_auto_shopping,0.32982881,F -knr_transit_ASC_no_auto_social,0.219095046,F -knr_transit_ASC_no_auto_univ,2.400389489,F -knr_transit_ASC_no_auto_work,1.821801152,F -local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0,F -local_ASC_school_univ,0,F -local_ASC_work,0,F -mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0,F -mix_ASC_school_univ,0,F -mix_ASC_work,0,F -pnr_transit_ASC_auto_deficient_atwork,-998.8196,F -pnr_transit_ASC_auto_deficient_eatout,-0.430359164,F -pnr_transit_ASC_auto_deficient_escort,-1.239230126,F -pnr_transit_ASC_auto_deficient_othdiscr,-0.710234464,F -pnr_transit_ASC_auto_deficient_othmaint,-0.384955706,F -pnr_transit_ASC_auto_deficient_school,1.14553143,F -pnr_transit_ASC_auto_deficient_shopping,-0.504015206,F -pnr_transit_ASC_auto_deficient_social,0.532554236,F -pnr_transit_ASC_auto_deficient_univ,1.899678681,F -pnr_transit_ASC_auto_deficient_work,-0.99603153,F -pnr_transit_ASC_auto_sufficient_atwork,-999.21466,F -pnr_transit_ASC_auto_sufficient_eatout,-7.21057228,F -pnr_transit_ASC_auto_sufficient_escort,-6.200504711,F -pnr_transit_ASC_auto_sufficient_othdiscr,-6.61964812,F -pnr_transit_ASC_auto_sufficient_othmaint,-4.224027811,F -pnr_transit_ASC_auto_sufficient_school,-3.608979199,F -pnr_transit_ASC_auto_sufficient_shopping,-3.770973811,F -pnr_transit_ASC_auto_sufficient_social,-6.85691217,F -pnr_transit_ASC_auto_sufficient_univ,0.143230071,F -pnr_transit_ASC_auto_sufficient_work,-2.571689178,F -pnr_transit_ASC_no_auto_atwork,0,F -pnr_transit_ASC_no_auto_eatout,0,F -pnr_transit_ASC_no_auto_escort,0,F -pnr_transit_ASC_no_auto_othdiscr,0,F -pnr_transit_ASC_no_auto_othmaint,0,F -pnr_transit_ASC_no_auto_school,0,F -pnr_transit_ASC_no_auto_shopping,0,F -pnr_transit_ASC_no_auto_social,0,F -pnr_transit_ASC_no_auto_univ,0,F -pnr_transit_ASC_no_auto_work,0,F -premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0,F -premium_ASC_school_univ,0,F -premium_ASC_work,0,F -schoolbus_ASC_auto_deficient_school,0.835683653,F -schoolbus_ASC_auto_sufficient_school,-1.200290369,F -schoolbus_ASC_no_auto_school,10.43589235,F -schoolbus_ASC_not_school,0,T -sr2_ASC_no_auto_atwork,-0.963211851,F -sr2_ASC_no_auto_eatout,1.502329299,F -sr2_ASC_no_auto_escort,1.796584262,F -sr2_ASC_no_auto_othdiscr,1.502329299,F -sr2_ASC_no_auto_othmaint,1.796584262,F -sr2_ASC_no_auto_school,8.462111263,F -sr2_ASC_no_auto_shopping,1.796584262,F -sr2_ASC_no_auto_social,1.502329299,F -sr2_ASC_no_auto_univ,0.438511398,F -sr2_ASC_no_auto_work,0.768381772,F -taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F -taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F -taxi_ASC_no_auto_school_univ,-7,T -taxi_ASC_no_auto_work,4.7291,F -taxi_ASC_no_auto_atwork,4.1021,F -taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F -taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F -taxi_ASC_auto_deficient_school,-0.3338,F -taxi_ASC_auto_deficient_univ,4.2492,F -taxi_ASC_auto_deficient_work,-1.4766,F -taxi_ASC_auto_deficient_atwork,-4.4046,F -taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F -taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F -taxi_ASC_auto_sufficient_school,-2.4294,F -taxi_ASC_auto_sufficient_univ,-0.3131,F -taxi_ASC_auto_sufficient_work,-4.8509,F -taxi_ASC_auto_sufficient_atwork,-2.8804,F -tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F -tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F -tnc_single_ASC_no_auto_school,-7,T -tnc_single_ASC_no_auto_univ,-2.519,F -tnc_single_ASC_no_auto_work,5.7855,F -tnc_single_ASC_no_auto_atwork,4.4982,F -tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F -tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F -tnc_single_ASC_auto_deficient_school,-0.5524,F -tnc_single_ASC_auto_deficient_univ,1.0221,F -tnc_single_ASC_auto_deficient_work,-0.8013,F -tnc_single_ASC_auto_deficient_atwork,-3.7626,F -tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F -tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F -tnc_single_ASC_auto_sufficient_school,-2.8375,F -tnc_single_ASC_auto_sufficient_univ,0.2088,F -tnc_single_ASC_auto_sufficient_work,-4.1946,F -tnc_single_ASC_auto_sufficient_atwork,-2.7988,F -tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F -tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F -tnc_shared_ASC_no_auto_school,-7,T -tnc_shared_ASC_no_auto_univ,-5.8116,F -tnc_shared_ASC_no_auto_work,3.2429,F -tnc_shared_ASC_no_auto_atwork,3.3672,F -tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F -tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F -tnc_shared_ASC_auto_deficient_school,-1.4746,F -tnc_shared_ASC_auto_deficient_univ,3.25,F -tnc_shared_ASC_auto_deficient_work,-2.1435,F -tnc_shared_ASC_auto_deficient_atwork,-4.5089,F -tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F -tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F -tnc_shared_ASC_auto_sufficient_school,-3.7219,F -tnc_shared_ASC_auto_sufficient_univ,-0.9068,F -tnc_shared_ASC_auto_sufficient_work,-5.3575,F -tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F -joint_taxi_ASC_no_auto_all,-4.5792,F -joint_taxi_ASC_auto_deficient_all,-9.8157,F -joint_taxi_ASC_auto_sufficient_all,-11.7099,T -joint_tnc_single_ASC_no_auto_all,-4.4917,F -joint_tnc_single_ASC_auto_deficient_all,-9.8961,F -joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T -joint_tnc_shared_ASC_no_auto_all,-4.3002,F -joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F -joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T diff --git a/activitysim/examples/example_semcog/configs/tour_mode_choice_coeffs_template.csv b/activitysim/examples/example_semcog/configs/tour_mode_choice_coeffs_template.csv deleted file mode 100755 index e1204a1567..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_mode_choice_coeffs_template.csv +++ /dev/null @@ -1,97 +0,0 @@ -coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork -coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root -coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO -coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE -coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2 -coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3 -coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED -coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT -coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS -coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS -coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS -coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS -coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL -coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork -coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork -coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork -coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork -coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork -coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork -coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork -coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork -coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork -walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork -walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork -walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork -bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork -bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork -bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork -sr2_ASC_no_auto,sr2_ASC_no_auto_eatout,sr2_ASC_no_auto_escort,sr2_ASC_no_auto_othdiscr,sr2_ASC_no_auto_othmaint,sr2_ASC_no_auto_school,sr2_ASC_no_auto_shopping,sr2_ASC_no_auto_social,sr2_ASC_no_auto_univ,sr2_ASC_no_auto_work,sr2_ASC_no_auto_atwork -sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork -sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork -sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork -sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork -sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork -walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork -walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork -walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork -pnr_transit_ASC_no_auto,pnr_transit_ASC_no_auto_eatout,pnr_transit_ASC_no_auto_escort,pnr_transit_ASC_no_auto_othdiscr,pnr_transit_ASC_no_auto_othmaint,pnr_transit_ASC_no_auto_school,pnr_transit_ASC_no_auto_shopping,pnr_transit_ASC_no_auto_social,pnr_transit_ASC_no_auto_univ,pnr_transit_ASC_no_auto_work,pnr_transit_ASC_no_auto_atwork -pnr_transit_ASC_auto_deficient,pnr_transit_ASC_auto_deficient_eatout,pnr_transit_ASC_auto_deficient_escort,pnr_transit_ASC_auto_deficient_othdiscr,pnr_transit_ASC_auto_deficient_othmaint,pnr_transit_ASC_auto_deficient_school,pnr_transit_ASC_auto_deficient_shopping,pnr_transit_ASC_auto_deficient_social,pnr_transit_ASC_auto_deficient_univ,pnr_transit_ASC_auto_deficient_work,pnr_transit_ASC_auto_deficient_atwork -pnr_transit_ASC_auto_sufficient,pnr_transit_ASC_auto_sufficient_eatout,pnr_transit_ASC_auto_sufficient_escort,pnr_transit_ASC_auto_sufficient_othdiscr,pnr_transit_ASC_auto_sufficient_othmaint,pnr_transit_ASC_auto_sufficient_school,pnr_transit_ASC_auto_sufficient_shopping,pnr_transit_ASC_auto_sufficient_social,pnr_transit_ASC_auto_sufficient_univ,pnr_transit_ASC_auto_sufficient_work,pnr_transit_ASC_auto_sufficient_atwork -knr_transit_ASC_no_auto,knr_transit_ASC_no_auto_eatout,knr_transit_ASC_no_auto_escort,knr_transit_ASC_no_auto_othdiscr,knr_transit_ASC_no_auto_othmaint,knr_transit_ASC_no_auto_school,knr_transit_ASC_no_auto_shopping,knr_transit_ASC_no_auto_social,knr_transit_ASC_no_auto_univ,knr_transit_ASC_no_auto_work,knr_transit_ASC_no_auto_atwork -knr_transit_ASC_auto_deficient,knr_transit_ASC_auto_deficient_eatout,knr_transit_ASC_auto_deficient_escort,knr_transit_ASC_auto_deficient_othdiscr,knr_transit_ASC_auto_deficient_othmaint,knr_transit_ASC_auto_deficient_school,knr_transit_ASC_auto_deficient_shopping,knr_transit_ASC_auto_deficient_social,knr_transit_ASC_auto_deficient_univ,knr_transit_ASC_auto_deficient_work,knr_transit_ASC_auto_deficient_atwork -knr_transit_ASC_auto_sufficient,knr_transit_ASC_auto_sufficient_eatout,knr_transit_ASC_auto_sufficient_escort,knr_transit_ASC_auto_sufficient_othdiscr,knr_transit_ASC_auto_sufficient_othmaint,knr_transit_ASC_auto_sufficient_school,knr_transit_ASC_auto_sufficient_shopping,knr_transit_ASC_auto_sufficient_social,knr_transit_ASC_auto_sufficient_univ,knr_transit_ASC_auto_sufficient_work,knr_transit_ASC_auto_sufficient_atwork -taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork -taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork -taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork -tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork -tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork -tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork -tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork -tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork -tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork -joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all -joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all -joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all -joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all -joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all -joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all -joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all -joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all -joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all -joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all -joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all -joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all -joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all -joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all -joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all -joint_pnr_transit_ASC_no_auto,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all -joint_pnr_transit_ASC_auto_deficient,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all -joint_pnr_transit_ASC_auto_sufficient,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all -joint_knr_transit_ASC_no_auto,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all -joint_knr_transit_ASC_auto_deficient,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all -joint_knr_transit_ASC_auto_sufficient,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all -joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all -joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all -joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all -joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all -joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all -joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all -joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all -joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all -joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all -local_ASC,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_school_univ,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_school_univ,local_ASC_work,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -premium_ASC,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_school_univ,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_school_univ,premium_ASC_work,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -mix_ASC,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_school_univ,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_school_univ,mix_ASC_work,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -# walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -# drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -# walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -# drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -# express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -# heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -# commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork -drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork -schoolbus_ASC_no_auto,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_no_auto_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school -schoolbus_ASC_auto_deficient,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_auto_deficient_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school -schoolbus_ASC_auto_sufficient,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_auto_sufficient_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_atwork.csv deleted file mode 100755 index 1b1be59ad0..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork.csv +++ /dev/null @@ -1,50 +0,0 @@ -Label,Description,Expression,Coefficient -util_Female_Departure_after_1230_pm_Linear,Female - Departure after 12:30 pm - Linear,"@np.where(((df.female) & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Female_Departure_after_1230_pm_Linear -util_Parttime_worker_Departure_after_1230_pm__Linear,Part-time worker - Departure after 12:30 pm - Linear,"@np.where(((df.ptype == 2) & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Parttime_worker_Departure_after_1230_pm__Linear -util_Parttime_worker_Duration_greater_than_0p5_hours_depart_and_arrive_in_the_same_period,Part-time worker - Duration greater than 0.5 hours (depart and arrive in the same period),"@np.where(((df.ptype == 2) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Parttime_worker_Duration_greater_than_0p5_hours_depart_and_arrive_in_the_same_period -util_Low_income_lt25000_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Low income (<25000) - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.is_income_less25K) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Low_income_lt25000_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period -util_Med_income_25k_to_60k_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Med income (25k to 60k) - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.is_income_25K_to_60K) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Med_income_25k_to_60k_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period -util_Med_income_25k_to_60k_Duration_greater_than_0p5_hours,Med income (25k to 60k) - Duration greater than 0.5 hours,"@np.where(((df.is_income_25K_to_60K) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Med_income_25k_to_60k_Duration_greater_than_0p5_hours -util_Medhigh_income_60k_to_120k_Duration_greater_than_0p5_hours,Med-high income (60k to 120k) - Duration greater than 0.5 hours,"@np.where(((df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Medhigh_income_60k_to_120k_Duration_greater_than_0p5_hours -#util_Blue_collar_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Blue collar - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.work_segment == 5) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Blue_collar_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period -#util_Blue_collar_Duration_greater_than_0p5_hours,Blue collar - Duration greater than 0.5 hours,"@np.where(((df.work_segment == 5) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Blue_collar_Duration_greater_than_0p5_hours -#util_Health_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Health - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.work_segment == 3) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Health_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period -util_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Distance to destination - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where((df.duration<1), ((np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0))) * df.od_distance, 0)",coef_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period -util_Distance_to_destination_Duration_greater_than_0p5_hours,Distance to destination - Duration greater than 0.5 hours,"@np.where((df.duration>1), ((np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0))) * df.od_distance, 0)",coef_Distance_to_destination_Duration_greater_than_0p5_hours -util_Subtour_purpose_Business_Departure_before_1200_pm__Linear,Subtour purpose: Business - Departure before 12:00 pm - Linear,"@np.where(((df.tour_type == 'business') & (df.start<19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Business_Departure_before_1200_pm__Linear -util_Subtour_purpose_Business_Departure_after_1230_pm_Linear,Subtour purpose: Business - Departure after 12:30 pm - Linear,"@np.where(((df.tour_type == 'business') & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Business_Departure_after_1230_pm_Linear -util_Subtour_purpose_Business_Duration_greater_than_0p5_hours,Subtour purpose: Business - Duration greater than 0.5 hours,"@np.where(((df.tour_type == 'business') & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Subtour_purpose_Business_Duration_greater_than_0p5_hours -util_Subtour_purpose_Eatout_Departure_before_1200_pm__Linear,Subtour purpose: Eat-out - Departure before 12:00 pm - Linear,"@np.where(((df.tour_type == 'eat') & (df.start<19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Eatout_Departure_before_1200_pm__Linear -util_Subtour_purpose_Eatout_Departure_after_1230_pm_Linear,Subtour purpose: Eat-out - Departure after 12:30 pm - Linear,"@np.where(((df.tour_type == 'eat') & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Eatout_Departure_after_1230_pm_Linear -util_Subtour_purpose_Eatout_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Subtour purpose: Eat-out - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.tour_type == 'eat') & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Subtour_purpose_Eatout_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period -util__Departure_constants,# Departure constants,,coef__Departure_constants -util_Shift_for_every_30_minutes_before_1030_am_Linear,Shift for every 30 minutes before 10:30 am - Linear,"@np.where((df.start<16), (np.where((df.start< 16), np.minimum(16 - df.start, 9), 0) + np.where((df.start> 21), np.minimum(df.start - 21, 11), 0)), 0)",coef_Shift_for_every_30_minutes_before_1030_am_Linear -util_Before_1100_AM,Before 11:00 AM,@(df.start<17),coef_Before_1100_AM -util_1100_AM_1130_AM,11:00 AM - 11:30 AM,@(df.start==17),coef_1100_AM_1130_AM -util_1130_AM_1200_PM,11:30 AM - 12:00 PM,@(df.start==18),coef_1130_AM_1200_PM -util_1200_AM_1230_PM,12:00 AM - 12:30 PM,@(df.start==19),coef_1200_AM_1230_PM -util_1230_PM_0100_PM,12:30 PM - 01:00 PM,@(df.start==20),coef_1230_PM_0100_PM -util_After_0100_PM,After 01:00 PM,@(df.start>20),coef_After_0100_PM -util_Shift_for_every_30_minutes_after_130_pm_Square_Root,Shift for every 30 minutes after 1:30 pm - Square Root,"@np.where((df.start>21), ((np.where((df.start < 16), np.minimum(16 - df.start, 9), 0) + np.where((df.start > 21), np.minimum(df.start - 21, 11), 0))** 0.5), 0)",coef_Shift_for_every_30_minutes_after_130_pm_Square_Root -util__Arrival_constants,# Arrival constants,,coef__Arrival_constants -util_Shift_for_every_30_minutes_before_1130_am_Linear,Shift for every 30 minutes before 11:30 am - Linear,"@np.where((df.end<18), (np.where((df.end < 14), np.minimum(14 - df.end, 9), 0) + np.where((df.end > 24), np.minimum(df.end - 24, 10), 0)), 0)",coef_Shift_for_every_30_minutes_before_1130_am_Linear -util_Before_1200_PM,Before 12:00 PM,@(df.end<19),coef_Before_1200_PM -util_1200_AM_1230_PM,12:00 AM - 12:30 PM,@(df.end==19),coef_1200_AM_1230_PM -util_1230_PM_0100_PM,12:30 PM - 01:00 PM,@(df.end==20),coef_1230_PM_0100_PM -util_0100_PM_0130_PM,01:00 PM - 01:30 PM,@(df.end==21),coef_0100_PM_0130_PM -util_0130_PM_0200_PM,01:30 PM - 02:00 PM,@(df.end==22),coef_0130_PM_0200_PM -util_0200_PM_0230_PM,02:00 PM - 02:30 PM,@(df.end==23),coef_0200_PM_0230_PM -util_After_0230_PM,After 02:30 PM,@(df.end>23),coef_After_0230_PM -util_Shift_for_every_30_minutes_after_300_pm_Linear,Shift for every 30 minutes after 3:00 pm - Linear,"@np.where((df.end>24), (np.where((df.end < 14), np.minimum(14 - df.end, 9), 0) + np.where((df.end > 24), np.minimum(df.end - 24, 10), 0)), 0)",coef_Shift_for_every_30_minutes_after_300_pm_Linear -util__Duration_constants,# Duration constants,,coef__Duration_constants -util_0_hrs,0 hrs,@(df.duration==0),coef_0_hrs -util_0p5_hrs,0.5 hrs,@(df.duration==1),coef_0p5_hrs -util_1_hrs,1 hrs,@(df.duration==2),coef_1_hrs -util_1p5hrs,1.5hrs,@(df.duration==3),coef_1p5hrs -util_2_hrs,2 hrs,@(df.duration==4),coef_2_hrs -util_Longer_than_2_hrs,Longer than 2 hrs,@(df.duration>4),coef_Longer_than_2_hrs -util_Shift_for_every_30_minutes_more_than_2p5_hrs_Square_Root,Shift for every 30 minutes more than 2.5 hrs - Square Root,"@np.where((df.duration>5), ((np.where((df.duration < 0), np.minimum(0 - df.duration, 47), 0) + np.where((df.duration > 5), np.minimum(df.duration - 5, 13), 0)) ** 0.5), 0)",coef_Shift_for_every_30_minutes_more_than_2p5_hrs_Square_Root -util_Calibration_Constant_Departure_eq_18,Calibration Constant - Departure = 18,@(df.start==18),coef_Calibration_Constant_Departure_eq_18 -util_Calibration_Constant_Departure_eq_19,Calibration Constant - Departure = 19,@(df.start==19),coef_Calibration_Constant_Departure_eq_19 -util_Calibration_Constant_Arrival_eq_20,Calibration Constant - Arrival = 20,@(df.end==20),coef_Calibration_Constant_Arrival_eq_20 -util_Calibration_Constant_Arrival_eq_21,Calibration Constant - Arrival = 21,@(df.end==21),coef_Calibration_Constant_Arrival_eq_21 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork.yaml b/activitysim/examples/example_semcog/configs/tour_scheduling_atwork.yaml deleted file mode 100755 index e1702e6e67..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork.yaml +++ /dev/null @@ -1,16 +0,0 @@ - -SPEC: tour_scheduling_atwork.csv -COEFFICIENTS: tour_scheduling_atwork_coeffs.csv - -preprocessor: - SPEC: tour_scheduling_atwork_preprocessor - DF: df -# TABLES: -# - land_use -# - tours - -SIMULATE_CHOOSER_COLUMNS: - - od_distance - -CONSTANTS: - time_cap: 30 \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork_coeffs.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_atwork_coeffs.csv deleted file mode 100755 index 3d27bcdc86..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork_coeffs.csv +++ /dev/null @@ -1,47 +0,0 @@ -coefficient_name,value,constrain -coef_Female_Departure_after_1230_pm_Linear,0.05574558,F -coef_Parttime_worker_Departure_after_1230_pm__Linear,0.129291333,F -coef_Parttime_worker_Duration_greater_than_0p5_hours_depart_and_arrive_in_the_same_period,0.162008704,F -coef_Low_income_lt25000_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,0.885322446,F -coef_Med_income_25k_to_60k_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,0.526935246,F -coef_Med_income_25k_to_60k_Duration_greater_than_0p5_hours,-0.081917021,F -coef_Medhigh_income_60k_to_120k_Duration_greater_than_0p5_hours,-0.068358924,F -coef_Blue_collar_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,1.191378628,F -coef_Blue_collar_Duration_greater_than_0p5_hours,0.123072852,F -coef_Health_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,0.791205377,F -coef_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,-0.292363361,F -coef_Distance_to_destination_Duration_greater_than_0p5_hours,0.006885922,F -coef_Subtour_purpose_Business_Departure_before_1200_pm__Linear,0.268963895,F -coef_Subtour_purpose_Business_Departure_after_1230_pm_Linear,0.17631122,F -coef_Subtour_purpose_Business_Duration_greater_than_0p5_hours,0.362189199,F -coef_Subtour_purpose_Eatout_Departure_before_1200_pm__Linear,-0.250770206,F -coef_Subtour_purpose_Eatout_Departure_after_1230_pm_Linear,-0.169861029,F -coef_Subtour_purpose_Eatout_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,-0.678939929,F -coef_Shift_for_every_30_minutes_before_1030_am_Linear,-0.731880037,F -coef_Before_1100_AM,-2.176744062,F -coef_1100_AM_1130_AM,-1.190017952,F -coef_1130_AM_1200_PM,-0.198229872,F -#coef_1200_AM_1230_PM,0,T -#coef_1230_PM_0100_PM,-0.084950396,F -coef_After_0100_PM,-0.205562723,F -coef_Shift_for_every_30_minutes_after_130_pm_Square_Root,0.539088697,F -coef_Shift_for_every_30_minutes_before_1130_am_Linear,0.414546555,F -coef_Before_1200_PM,0.279351638,F -coef_1200_AM_1230_PM,-0.045281832,F -coef_1230_PM_0100_PM,0.214070736,F -coef_0100_PM_0130_PM,0,T -coef_0130_PM_0200_PM,-0.69742748,F -coef_0200_PM_0230_PM,-1.284283533,F -coef_After_0230_PM,-2.119733896,F -coef_Shift_for_every_30_minutes_after_300_pm_Linear,-0.508006414,F -coef_0_hrs,-0.969734874,F -coef_0p5_hrs,0,T -coef_1_hrs,0.177457256,F -coef_1p5hrs,-0.171124657,F -coef_2_hrs,-0.4678094,F -coef_Longer_than_2_hrs,-0.523935526,F -coef_Shift_for_every_30_minutes_more_than_2p5_hrs_Square_Root,-0.424301372,F -coef_Calibration_Constant_Departure_eq_18,-0.045958531,F -coef_Calibration_Constant_Departure_eq_19,-0.099009925,F -coef_Calibration_Constant_Arrival_eq_20,-0.0698094,F -coef_Calibration_Constant_Arrival_eq_21,-0.064355276,F diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork_preprocessor.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_atwork_preprocessor.csv deleted file mode 100755 index 7a009186f4..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork_preprocessor.csv +++ /dev/null @@ -1,3 +0,0 @@ -Description,Target,Expression -#,, -local scalar distance skim,od_distance,"od_skims[('SOV_DIST', 'MD')]" diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_joint.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_joint.csv deleted file mode 100755 index 0a2409ad80..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_joint.csv +++ /dev/null @@ -1,315 +0,0 @@ -Label,Description,Expression,Coefficient -,,, -#ESCORT,#ESCORT,,ESCORT -util_escort_Mode_Choice_Logsum,ESCORT - Mode Choice Logsum,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort')), df.mode_choice_logsum, 0)",coef_escort_Mode_Choice_Logsum -util_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,ESCORT - Distance to destination - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration<1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0))),0)",coef_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period -util_escort_Distance_to_destination_Duration_greater_than_0p5_hours,ESCORT - Distance to destination - Duration greater than 0.5 hours,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>1)), ((df.origin_to_destination_distance) * (np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_Distance_to_destination_Duration_greater_than_0p5_hours -util_escort_Fulltime_worker_Departure_after_8_00_am_Linear,ESCORT - Full-time worker - Departure after 8:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)),0)",coef_escort_Fulltime_worker_Departure_after_8_00_am_Linear -util_escort_Fulltime_worker_Departure_after_3_00_am_Linear,ESCORT - Full-time worker - Departure after 3:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Fulltime_worker_Departure_after_3_00_am_Linear -util_escort_Fulltime_worker_Duration_lt_0p5_hrs,ESCORT - Full-time worker - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Fulltime_worker_Duration_lt_0p5_hrs -util_escort_Fulltime_worker_Duration_gt_0p5_hrs,ESCORT - Full-time worker - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Fulltime_worker_Duration_gt_0p5_hrs -util_escort_University_student_Duration_lt_0p5_hrs,ESCORT - University student - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 3) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_University_student_Duration_lt_0p5_hrs -util_escort_Nondriving_age_student_Duration_gt_0p5_hrs,ESCORT - Non-driving age student - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & ((df.ptype == 7)|(df.ptype == 8)) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Nondriving_age_student_Duration_gt_0p5_hrs -util_escort_Driving_age_student_Duration_lt_0p5_hrs,ESCORT - Driving age student - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 6) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Driving_age_student_Duration_lt_0p5_hrs -util_escort_Driving_age_student_Duration_gt_0p5_hrs,ESCORT - Driving age student - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 6) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Driving_age_student_Duration_gt_0p5_hrs -util_escort_Preschool_kid_Duration_gt_0p5_hrs,ESCORT - Pre-school kid - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 8) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Preschool_kid_Duration_gt_0p5_hrs -util_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs,ESCORT - Med-high income (60k to 120k) - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs -util_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 7:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start<10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM -util_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM -util_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 2:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start<24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM -util_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where ((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM -util_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM -util_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM -util_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM -util_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM -util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start >10)), (np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM -util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>24)), (np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM -util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM,"ESCORT -Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM -util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM -util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.start>10)), (np.where ((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM -util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>11)), (np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM -util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) &( df.end>25)), (np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM -util_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs,ESCORT - Number of autos greater than number of adults - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs -#FIXME_Number_of_nonescort_tours_is_not_known_until_the_nonmandatory_frequency_model_is_run,#FIXME - Number of non-escort tours is not known until the non-mandatory frequency model is run,,FIXME_Number_of_nonescort_tours_is_not_known_until_the_nonmandatory_frequency_model_is_run -#util_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs,#ESCORT - Number of Individual Tours (excluding escorting) - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type != 'escort') & (df.num_non_escort_tours > 0) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs -util_escort_Number_of_joint_tours_Duration_gt_0p5_hrs,ESCORT - Number of joint tours - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) *(df.num_joint_tours), 0)",coef_escort_Number_of_joint_tours_Duration_gt_0p5_hrs -util_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear,ESCORT - Departure Constant: Shift for every 30 minutes before 06:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start<8)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + np.where((df.start>13), np.minimum(df.start-13,28), 0)), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear -util_escort_Departure_Constant_Before_07_00_AM,ESCORT - Departure Constant: Before 07:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start<9)),coef_escort_Departure_Constant_Before_07_00_AM -util_escort_Departure_Constant_07_00_AM_07_30_AM,ESCORT - Departure Constant: 07:00 AM - 07:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==9)),coef_escort_Departure_Constant_07_00_AM_07_30_AM -util_escort_Departure_Constant_07_30_AM_08_00_AM,ESCORT - Departure Constant: 07:30 AM - 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==10)),coef_escort_Departure_Constant_07_30_AM_08_00_AM -util_escort_Departure_Constant_08_00_AM_08_30_AM,ESCORT - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==11)),coef_escort_Departure_Constant_08_00_AM_08_30_AM -util_escort_Departure_Constant_08_30_AM_09_00_AM,ESCORT - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==12)),coef_escort_Departure_Constant_08_30_AM_09_00_AM -util_escort_Departure_Constant_After_09_00_AM,ESCORT - Departure Constant: After 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>12)),coef_escort_Departure_Constant_After_09_00_AM -util_escort_Departure_Constant_01_30_PM_02_00_PM,ESCORT - Departure Constant: 01:30 PM - 02:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==22)),coef_escort_Departure_Constant_01_30_PM_02_00_PM -util_escort_Departure_Constant_02_00_PM_02_30_PM,ESCORT - Departure Constant: 02:00 PM - 02:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==23)),coef_escort_Departure_Constant_02_00_PM_02_30_PM -util_escort_Departure_Constant_02_30_PM_03_00_PM,ESCORT - Departure Constant: 02:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==24)),coef_escort_Departure_Constant_02_30_PM_03_00_PM -util_escort_Departure_Constant_03_00_PM_03_30_PM,ESCORT - Departure Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==25)),coef_escort_Departure_Constant_03_00_PM_03_30_PM -util_escort_Departure_Constant_After_03_30_PM,ESCORT - Departure Constant: After 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>25)),coef_escort_Departure_Constant_After_03_30_PM -util_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,ESCORT - Departure Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>13)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + (np.where((df.start>13), np.minimum(df.start-13,28), 0))), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear -util_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear,ESCORT - Departure Constant: Shift for every 30 minutes after 4:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>26)), (np.where((df.start<0), np.minimum(0-df.start,48), 0) + np.where((df.start>26), np.minimum(df.start-26,15),0)), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear -util_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes before 6:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end<8)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear -util_escort_Arrival_Constant_Before_07_00_AM,ESCORT - Arrival Constant: Before 07:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end<9)),coef_escort_Arrival_Constant_Before_07_00_AM -util_escort_Arrival_Constant_07_00_AM_07_30_AM,ESCORT - Arrival Constant: 07:00 AM - 07:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==9)),coef_escort_Arrival_Constant_07_00_AM_07_30_AM -util_escort_Arrival_Constant_07_30_AM_08_00_AM,ESCORT - Arrival Constant: 07:30 AM - 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==10)),coef_escort_Arrival_Constant_07_30_AM_08_00_AM -util_escort_Arrival_Constant_08_00_AM_08_30_AM,ESCORT - Arrival Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==11)),coef_escort_Arrival_Constant_08_00_AM_08_30_AM -util_escort_Arrival_Constant_08_30_AM_09_00_AM,ESCORT - Arrival Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==12)),coef_escort_Arrival_Constant_08_30_AM_09_00_AM -util_escort_Arrival_Constant_After_09_00_AM,ESCORT - Arrival Constant: After 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>12)),coef_escort_Arrival_Constant_After_09_00_AM -util_escort_Arrival_Constant_02_30_PM_03_00_PM,ESCORT - Arrival Constant: 02:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==24)),coef_escort_Arrival_Constant_02_30_PM_03_00_PM -util_escort_Arrival_Constant_03_00_PM_03_30_PM,ESCORT - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==25)),coef_escort_Arrival_Constant_03_00_PM_03_30_PM -util_escort_Arrival_Constant_03_30_PM_04_00_PM,ESCORT - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==26)),coef_escort_Arrival_Constant_03_30_PM_04_00_PM -util_escort_Arrival_Constant_04_00_PM_04_30_PM,ESCORT - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==27)),coef_escort_Arrival_Constant_04_00_PM_04_30_PM -util_escort_Arrival_Constant_After_04_30_PM,ESCORT - Arrival Constant: After 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>27)),coef_escort_Arrival_Constant_After_04_30_PM -util_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>13)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear -util_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>28)), (np.where((df.end<0), np.minimum(0-df.end,48), 0) + np.where((df.start>28), np.minimum(df.end-28,15), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear -util_escort_Duration_Constant_0_hrs,ESCORT - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==0)),coef_escort_Duration_Constant_0_hrs -util_escort_Duration_Constant_0p5_hrs,ESCORT - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==1)),coef_escort_Duration_Constant_0p5_hrs -util_escort_Duration_Constant_1_hrs,ESCORT - Duration Constant: 1 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==2)),coef_escort_Duration_Constant_1_hrs -util_escort_Duration_Constant_1p5hrs,ESCORT - Duration Constant: 1.5hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==3)),coef_escort_Duration_Constant_1p5hrs -util_escort_Duration_Constant_2_hrs,ESCORT - Duration Constant: 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==4)),coef_escort_Duration_Constant_2_hrs -util_escort_Duration_Constant_Longer_than_2_hrs,ESCORT - Duration Constant: Longer than 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>4)),coef_escort_Duration_Constant_Longer_than_2_hrs -util_escort_Calibration_Constant_Duration_eq_1,ESCORT - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==0)),coef_escort_Calibration_Constant_Duration_eq_1 -util_escort_Calibration_Constant_Duration_eq_2,ESCORT - Calibration Constant - Duration = 2,@(((df.tour_category == 'joint') & (df.tour_type == 'escort') & df.duration==1)),coef_escort_Calibration_Constant_Duration_eq_2 -util_escort_Calibration_Constant_Departure_eq_9,ESCORT - Calibration Constant - Departure = 9,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==9)),coef_escort_Calibration_Constant_Departure_eq_9 -util_escort_Calibration_Constant_Departure_eq_10,ESCORT - Calibration Constant - Departure = 10,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==10)),coef_escort_Calibration_Constant_Departure_eq_10 -util_escort_Calibration_Constant_Departure_eq_23,ESCORT - Calibration Constant - Departure = 23,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==23)),coef_escort_Calibration_Constant_Departure_eq_23 -util_escort_Calibration_Constant_Departure_eq_24,ESCORT - Calibration Constant - Departure = 24,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==24)),coef_escort_Calibration_Constant_Departure_eq_24 -#SHOPPING,#SHOPPING,,SHOPPING -util_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear,SHOPPING - Joint Shopping tours dummy: Departure before 10:00 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear -util_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear,SHOPPING - Joint Shopping tours dummy: Departure after 10:30 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear -util_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,SHOPPING - Joint Tours Party Size > 2: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs -util_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,SHOPPING - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.number_of_participants > 2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr -util_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,SHOPPING - Joint Tour with only adults: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.composition=='adults')), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs -util_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,SHOPPING - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs -util_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr,SHOPPING - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr -util_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_less25K) & (df.duration>3)), (np.where((df.duration>3),np.minimum(df.duration-3,27), 0)), 0)",coef_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr -util_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_25K_to_60K) & (df.duration<3)), (np.where((df.duration>3),np.minimum(df.duration-3,27), 0)), 0)",coef_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs -util_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_60K_to_120K) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,27), 0)), 0)",coef_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr -util_shop_Distance_Duration_lt_1p5_hrs,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)) * (df.origin_to_destination_distance), 0)",coef_shop_Distance_Duration_lt_1p5_hrs -util_shop_Distance_Duration_gt_1p5_hr,SHOPPING - Distance: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2)), ((np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance)), 0)",coef_shop_Distance_Duration_gt_1p5_hr -util_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear -util_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root -util_shop_Departure_Constant_Before_09_00_AM,SHOPPING - Departure Constant: Before 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<13)),coef_shop_Departure_Constant_Before_09_00_AM -util_shop_Departure_Constant_09_00_AM_09_30_AM,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==13)),coef_shop_Departure_Constant_09_00_AM_09_30_AM -util_shop_Departure_Constant_09_30_AM_10_00_AM,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==14)),coef_shop_Departure_Constant_09_30_AM_10_00_AM -util_shop_Departure_Constant_10_00_AM_10_30_AM,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==15)),coef_shop_Departure_Constant_10_00_AM_10_30_AM -util_shop_Departure_Constant_10_30_AM_11_00_AM,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==16)),coef_shop_Departure_Constant_10_30_AM_11_00_AM -util_shop_Departure_Constant_After_11_00_AM,SHOPPING - Departure Constant: After 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>16)),coef_shop_Departure_Constant_After_11_00_AM -util_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear -util_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared -util_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear -util_shop_Arrival_Constant_Before_12_30_PM,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end<20)),coef_shop_Arrival_Constant_Before_12_30_PM -util_shop_Arrival_Constant_12_30_PM_03_00_PM,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & ( df.end>=20) & (df.end<=24)),coef_shop_Arrival_Constant_12_30_PM_03_00_PM -util_shop_Arrival_Constant_03_00_PM_03_30_PM,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==25)),coef_shop_Arrival_Constant_03_00_PM_03_30_PM -util_shop_Arrival_Constant_03_30_PM_04_00_PM,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==26)),coef_shop_Arrival_Constant_03_30_PM_04_00_PM -util_shop_Arrival_Constant_04_00_PM_04_30_PM,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==27)),coef_shop_Arrival_Constant_04_00_PM_04_30_PM -util_shop_Arrival_Constant_04_30_PM_05_00_PM,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==28)),coef_shop_Arrival_Constant_04_30_PM_05_00_PM -util_shop_Arrival_Constant_05_00_PM_05_30_PM,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==29)),coef_shop_Arrival_Constant_05_00_PM_05_30_PM -util_shop_Arrival_Constant_05_30_PM_07_00_PM,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>=30) & (df.end<=32)),coef_shop_Arrival_Constant_05_30_PM_07_00_PM -util_shop_Arrival_Constant_07_00_PM_09_30_PM,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>=33) & (df.end<=37)),coef_shop_Arrival_Constant_07_00_PM_09_30_PM -util_shop_Arrival_Constant_After_09_30_PM,SHOPPING - Arrival Constant: After 09:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>37)),coef_shop_Arrival_Constant_After_09_30_PM -util_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear -util_shop_Duration_Constant_0_hrs,SHOPPING - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==0)),coef_shop_Duration_Constant_0_hrs -util_shop_Duration_Constant_0p5_hrs,SHOPPING - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==1)),coef_shop_Duration_Constant_0p5_hrs -util_shop_Duration_Constant_1_hrs,SHOPPING - Duration Constant: 1 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==2)),coef_shop_Duration_Constant_1_hrs -util_shop_Duration_Constant_1p5hrs,SHOPPING - Duration Constant: 1.5hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==3)),coef_shop_Duration_Constant_1p5hrs -util_shop_Duration_Constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==4)),coef_shop_Duration_Constant_2_hrs -util_shop_Duration_Constant_Longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>4)),coef_shop_Duration_Constant_Longer_than_2_hrs -util_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear -util_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root -util_shop_Calibration_Constant_Duration_eq_1,SHOPPING - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==0)),coef_shop_Calibration_Constant_Duration_eq_1 -util_shop_Calibration_Constant_Duration_eq_2,SHOPPING - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==1)),coef_shop_Calibration_Constant_Duration_eq_2 -util_shop_Calibration_Constant_Duration_eq_3,SHOPPING - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==2)),coef_shop_Calibration_Constant_Duration_eq_3 -#MAINTENANCE,#MAINTENANCE,,MAINTENANCE -util_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear,MAINTENANCE - Joint Maintenance tours dummy: Departure before 10:00 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear -util_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear,MAINTENANCE - Joint Maintenance tours dummy: Departure after 10:30 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear -util_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,MAINTENANCE - Joint Tours Party Size > 2: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs -util_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,MAINTENANCE - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.number_of_participants > 2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr -util_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,MAINTENANCE - Joint Tour with only adults: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.composition=='adults')), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs -util_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,MAINTENANCE - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs -util_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr,MAINTENANCE - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr -util_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr -util_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs -util_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr -util_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr -util_maint_Distance_Duration_lt_1p5_hrs,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)) *(df.origin_to_destination_distance), 0)",coef_maint_Distance_Duration_lt_1p5_hrs -util_maint_Distance_Duration_gt_1p5_hr,MAINTENANCE - Distance: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maint_Distance_Duration_gt_1p5_hr -util_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear -util_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root -util_maint_Departure_Constant_Before_08_00_AM,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<11)),coef_maint_Departure_Constant_Before_08_00_AM -util_maint_Departure_Constant_08_00_AM_08_30_AM,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==11)),coef_maint_Departure_Constant_08_00_AM_08_30_AM -util_maint_Departure_Constant_08_30_AM_09_00_AM,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==12)),coef_maint_Departure_Constant_08_30_AM_09_00_AM -util_maint_Departure_Constant_09_00_AM_09_30_AM,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==13)),coef_maint_Departure_Constant_09_00_AM_09_30_AM -util_maint_Departure_Constant_09_30_AM_10_00_AM,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==14)),coef_maint_Departure_Constant_09_30_AM_10_00_AM -util_maint_Departure_Constant_10_00_AM_10_30_AM,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==15)),coef_maint_Departure_Constant_10_00_AM_10_30_AM -util_maint_Departure_Constant_10_30_AM_11_00_AM,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==16)),coef_maint_Departure_Constant_10_30_AM_11_00_AM -util_maint_Departure_Constant_After_11_00_AM,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>16)),coef_maint_Departure_Constant_After_11_00_AM -util_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear -util_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared -util_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear -util_maint_Arrival_Constant_Before_10_30_AM,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end<16)),coef_maint_Arrival_Constant_Before_10_30_AM -util_maint_Arrival_Constant_10_30_AM_11_00_AM,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==16)),coef_maint_Arrival_Constant_10_30_AM_11_00_AM -util_maint_Arrival_Constant_11_00_AM_11_30_AM,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==17)),coef_maint_Arrival_Constant_11_00_AM_11_30_AM -util_maint_Arrival_Constant_11_30_AM_01_30_PM,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=18) & (df.end<=21)),coef_maint_Arrival_Constant_11_30_AM_01_30_PM -util_maint_Arrival_Constant_01_30_PM_02_30_PM,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=22) & (df.end<=23)),coef_maint_Arrival_Constant_01_30_PM_02_30_PM -util_maint_Arrival_Constant_02_30_PM_04_00_PM,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=24) & (df.end<=26)),coef_maint_Arrival_Constant_02_30_PM_04_00_PM -util_maint_Arrival_Constant_04_00_PM_04_30_PM,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==27)),coef_maint_Arrival_Constant_04_00_PM_04_30_PM -util_maint_Arrival_Constant_After_04_30_PM,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>27)),coef_maint_Arrival_Constant_After_04_30_PM -util_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear -util_maint_Duration_Constant_0_hrs,MAINTENANCE - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==0)),coef_maint_Duration_Constant_0_hrs -util_maint_Duration_Constant_0p5_hrs,MAINTENANCE - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==1)),coef_maint_Duration_Constant_0p5_hrs -util_maint_Duration_Constant_Longer_than_0p5_hrs,MAINTENANCE - Duration Constant: Longer than 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>1)),coef_maint_Duration_Constant_Longer_than_0p5_hrs -util_maint_Duration_Constant_Duration_gt_1_hrs_Linear,MAINTENANCE - Duration Constant: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Duration_Constant_Duration_gt_1_hrs_Linear -util_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root,MAINTENANCE - Duration Constant: Duration > 1 hrs - Square Root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root -util_maint_Calibration_Constant_Duration_eq_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==0)),coef_maint_Calibration_Constant_Duration_eq_1 -util_maint_Calibration_Constant_Duration_eq_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==1)),coef_maint_Calibration_Constant_Duration_eq_2 -util_maint_Calibration_Constant_Duration_eq_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==2)),coef_maint_Calibration_Constant_Duration_eq_3 -util_maint_Calibration_Constant_Duration_eq_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==3)),coef_maint_Calibration_Constant_Duration_eq_4 -util_maint_Calibration_Constant_Duration_eq_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==4)),coef_maint_Calibration_Constant_Duration_eq_5 -#EATOUT,#EAT-OUT,,EATOUT -util_eatout_Distance_to_destination_Duration_lt_1_hrs,EAT-OUT - Distance to destination - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_Distance_to_destination_Duration_lt_1_hrs -util_eatout_Distance_to_destination_Duration_gt_1_hrs,EAT-OUT - Distance to destination - Duration > 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_Distance_to_destination_Duration_gt_1_hrs -util_eatout_Low_income_lt25000_Duration_lt_1_hrs,EAT-OUT - Low income (<25000) - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Low_income_lt25000_Duration_lt_1_hrs -util_eatout_Medium_25k_to_60k_Duration_lt_1_hrs,EAT-OUT - Medium (25k to 60k) - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Medium_25k_to_60k_Duration_lt_1_hrs -util_eatout_Zero_auto_HH_Duration_gt_1_hrs,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_Zero_auto_HH_Duration_gt_1_hrs -util_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs,EAT-OUT - Kids in Joint tour - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs -util_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs,EAT-OUT - Joint Tours Party Size greater than 2 - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs -util_eatout_Departure_Constant_11_00_AM_12_00_PM,EAT-OUT - Departure Constant: 11:00 AM - 12:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>=17) & (df.start<=18)),coef_eatout_Departure_Constant_11_00_AM_12_00_PM -util_eatout_Departure_Constant_12_00_PM_12_30_PM,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==19),coef_eatout_Departure_Constant_12_00_PM_12_30_PM -util_eatout_Departure_Constant_12_30_PM_to_01_00_PM,EAT-OUT - Departure Constant: 12:30 PM to 01:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==20),coef_eatout_Departure_Constant_12_30_PM_to_01_00_PM -util_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start<29)), (np.where((df.start<29), np.minimum(29-df.start,20), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear -util_eatout_Departure_Constant_Before_05_30_PM,EAT-OUT - Departure Constant: Before 05:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start<30),coef_eatout_Departure_Constant_Before_05_30_PM -util_eatout_Departure_Constant_05_30_PM_06_00_PM,EAT-OUT - Departure Constant: 05:30 PM - 06:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==30),coef_eatout_Departure_Constant_05_30_PM_06_00_PM -util_eatout_Departure_Constant_06_00_PM_06_30_PM,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==31),coef_eatout_Departure_Constant_06_00_PM_06_30_PM -util_eatout_Departure_Constant_06_30_PM_07_00_PM,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==32),coef_eatout_Departure_Constant_06_30_PM_07_00_PM -util_eatout_Departure_Constant_07_00_PM_07_30_PM,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==33),coef_eatout_Departure_Constant_07_00_PM_07_30_PM -util_eatout_Departure_Constant_After_07_30_PM,EAT-OUT - Departure Constant: After 07:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>33),coef_eatout_Departure_Constant_After_07_30_PM -util_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>34)), (np.where((df.start<29), np.minimum(29-df.start,20), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear -util_eatout_Arrival_Constant_12_30_PM_to_01_00_PM,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==20),coef_eatout_Arrival_Constant_12_30_PM_to_01_00_PM -util_eatout_Arrival_Constant_01_00_PM_to_01_30_PM,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==21),coef_eatout_Arrival_Constant_01_00_PM_to_01_30_PM -util_eatout_Arrival_Constant_01_30_PM_to_02_00_PM,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==22),coef_eatout_Arrival_Constant_01_30_PM_to_02_00_PM -util_eatout_Arrival_Constant_02_00_PM_to_02_30_PM,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==23),coef_eatout_Arrival_Constant_02_00_PM_to_02_30_PM -util_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end<32)), (np.where((df.end<32), np.minimum(32-df.end,21), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear -util_eatout_Arrival_Constant_Before_7_00_PM,EAT-OUT - Arrival Constant: Before 7:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end<33),coef_eatout_Arrival_Constant_Before_7_00_PM -util_eatout_Arrival_Constant_7_00_PM_to_7_30_PM,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@(df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.end==33),coef_eatout_Arrival_Constant_7_00_PM_to_7_30_PM -util_eatout_Arrival_Constant_7_30_PM_to_8_00_PM,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==34),coef_eatout_Arrival_Constant_7_30_PM_to_8_00_PM -util_eatout_Arrival_Constant_8_00_PM_to_8_30_PM,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==35),coef_eatout_Arrival_Constant_8_00_PM_to_8_30_PM -util_eatout_Arrival_Constant_8_30_PM_to_9_00_PM,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==36),coef_eatout_Arrival_Constant_8_30_PM_to_9_00_PM -util_eatout_Arrival_Constant_After_09_00_PM,EAT-OUT - Arrival Constant: After 09:00 PM,@(df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.end>36),coef_eatout_Arrival_Constant_After_09_00_PM -util_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_type== 'eatout') & (df.end>37) & (df.tour_category == 'joint')), (np.where((df.end<32), np.minimum(32-df.end,21), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear -util_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,12), 0)), 0)",coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear -util_eatout_Duration_Constant_0_hours,EAT-OUT - Duration Constant: 0 hours,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_Duration_Constant_0_hours -util_eatout_Duration_Constant_0p5_hous,EAT-OUT - Duration Constant: 0.5 hous,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_Duration_Constant_0p5_hous -util_eatout_Duration_Constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_Duration_Constant_1_hour -util_eatout_Duration_Constant_1p5_hours,EAT-OUT - Duration Constant: 1.5 hours,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_Duration_Constant_1p5_hours -util_eatout_Duration_Constant_2_hours_or_more,EAT-OUT - Duration Constant: 2 hours or more,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>4),coef_eatout_Duration_Constant_2_hours_or_more -util_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 2.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,13), 0)), 0)",coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear -util_eatout_Calibration_Constant_Duration_eq_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_Calibration_Constant_Duration_eq_1 -util_eatout_Calibration_Constant_Duration_eq_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_Calibration_Constant_Duration_eq_2 -util_eatout_Calibration_Constant_Duration_eq_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_Calibration_Constant_Duration_eq_3 -util_eatout_Calibration_Constant_Duration_eq_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_Calibration_Constant_Duration_eq_4 -util_eatout_Calibration_Constant_Departure_eq_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start == 1)),coef_eatout_Calibration_Constant_Departure_eq_1 -util_eatout_Calibration_Constant_Departure_eq_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start == 2)),coef_eatout_Calibration_Constant_Departure_eq_2 -util_eatout_Calibration_Constant_Departure_eq_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.start == 3)),coef_eatout_Calibration_Constant_Departure_eq_3 -util_eatout_Calibration_Constant_Departure_eq_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==17)),coef_eatout_Calibration_Constant_Departure_eq_17 -util_eatout_Calibration_Constant_Departure_eq_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.start ==18)),coef_eatout_Calibration_Constant_Departure_eq_18 -util_eatout_Calibration_Constant_Departure_eq_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==19)),coef_eatout_Calibration_Constant_Departure_eq_19 -util_eatout_Calibration_Constant_Departure_eq_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==20)),coef_eatout_Calibration_Constant_Departure_eq_20 -util_eatout_Calibration_Constant_Departure_eq_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==21)),coef_eatout_Calibration_Constant_Departure_eq_21 -#SOCIAL,#SOCIAL,,SOCIAL -util_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.retired_adults_only_hh) & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear -util_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear -util_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear -util_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,SOCIAL - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint')&(df.tour_type == 'social') & (df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear -util_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,SOCIAL - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear -util_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,SOCIAL - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs -util_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr,SOCIAL - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr -util_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,SOCIAL - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3) & (df.number_of_participants > 2)), (np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr -util_social_Auto_Distance_Duration_lt_1_hrs_Linear,SOCIAL - Auto Distance: Duration < 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) * (df.origin_to_destination_distance)), 0) ",coef_social_Auto_Distance_Duration_lt_1_hrs_Linear -util_social_Auto_Distance_Duration_gt_1_hrs_Linear,SOCIAL - Auto Distance: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0) * (df.origin_to_destination_distance)), 0)",coef_social_Auto_Distance_Duration_gt_1_hrs_Linear -util_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear -util_social_Departure_Constant_Before_09_00_AM,SOCIAL - Departure Constant: Before 09:00 AM,@(df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<13),coef_social_Departure_Constant_Before_09_00_AM -util_social_Departure_Constant_09_00_AM_to_09_30_AM,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==13),coef_social_Departure_Constant_09_00_AM_to_09_30_AM -util_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear -util_social_Departure_Constant_Before_05_30_PM,SOCIAL - Departure Constant: Before 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<30)),coef_social_Departure_Constant_Before_05_30_PM -util_social_Departure_Constant_05_30_PM_06_00_PM,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==30)),coef_social_Departure_Constant_05_30_PM_06_00_PM -util_social_Departure_Constant_06_00_PM_06_30_PM,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==31)),coef_social_Departure_Constant_06_00_PM_06_30_PM -util_social_Departure_Constant_06_30_PM_07_00_PM,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==32)),coef_social_Departure_Constant_06_30_PM_07_00_PM -util_social_Departure_Constant_07_00_PM_07_30_PM,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==33)),coef_social_Departure_Constant_07_00_PM_07_30_PM -util_social_Departure_Constant_After_07_30_PM,SOCIAL - Departure Constant: After 07:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start>33)),coef_social_Departure_Constant_After_07_30_PM -util_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear -util_social_Arrival_Constant_03_00_PM_to_03_30_PM,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==25)),coef_social_Arrival_Constant_03_00_PM_to_03_30_PM -util_social_Arrival_Constant_03_30_PM_to_04_00_PM,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==26)),coef_social_Arrival_Constant_03_30_PM_to_04_00_PM -util_social_Arrival_Constant_04_00_PM_to_04_30_PM,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==27)),coef_social_Arrival_Constant_04_00_PM_to_04_30_PM -util_social_Arrival_Constant_05_00_PM_to_06_00_PM,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>=29) & (df.end<=30)),coef_social_Arrival_Constant_05_00_PM_to_06_00_PM -util_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear -util_social_Arrival_Constant_Before_8_30_PM,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end<36)),coef_social_Arrival_Constant_Before_8_30_PM -util_social_Arrival_Constant_8_30_PM_to_9_00_PM,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==36)),coef_social_Arrival_Constant_8_30_PM_to_9_00_PM -util_social_Arrival_Constant_9_00_PM_to_9_30_PM,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==37)),coef_social_Arrival_Constant_9_00_PM_to_9_30_PM -util_social_Arrival_Constant_9_30_PM_to10_00_PM,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==38)),coef_social_Arrival_Constant_9_30_PM_to10_00_PM -util_social_Arrival_Constant_10_00_PM_to_10_30_PM,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==39)),coef_social_Arrival_Constant_10_00_PM_to_10_30_PM -util_social_Arrival_Constant_After_10_30_PM,SOCIAL - Arrival Constant: After 10:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>39)),coef_social_Arrival_Constant_After_10_30_PM -util_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear -util_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 1.5 hrs - Linear,"@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3)) * ((np.minimum(3-df.duration,47)*(df.duration<3)) + (np.minimum(df.duration-6,47)*(df.duration>6)))",coef_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear -util_social_Duration_Constant_Less_than_2_hours,SOCIAL - Duration Constant: Less than 2 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<4)),coef_social_Duration_Constant_Less_than_2_hours -util_social_Duration_Constant_2_hours,SOCIAL - Duration Constant: 2 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration==4)),coef_social_Duration_Constant_2_hours -util_social_Duration_Constant_2p5_hours,SOCIAL - Duration Constant: 2.5 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration==5)),coef_social_Duration_Constant_2p5_hours -util_social_Duration_Constant_3_hours_or_more,SOCIAL - Duration Constant: 3 hours or more,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>5)),coef_social_Duration_Constant_3_hours_or_more -util_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 3.5 hrs - Linear,"@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>6)) * ((np.minimum(3-df.duration,47)*(df.duration<3)) + (np.minimum(df.duration-6,47)*(df.duration>6)))",coef_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear -util_social_Calibration_Constant_Duration_eq_1,SOCIAL - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==0)),coef_social_Calibration_Constant_Duration_eq_1 -util_social_Calibration_Constant_Duration_eq_2,SOCIAL - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration == 1)),coef_social_Calibration_Constant_Duration_eq_2 -util_social_Calibration_Constant_Duration_eq_3,SOCIAL - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==2)),coef_social_Calibration_Constant_Duration_eq_3 -util_social_Calibration_Constant_Duration_eq_4,SOCIAL - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==3)),coef_social_Calibration_Constant_Duration_eq_4 -util_social_Calibration_Constant_Duration_eq_5,SOCIAL - Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==4)),coef_social_Calibration_Constant_Duration_eq_5 -util_social_Calibration_Constant_Duration_eq_6,SOCIAL - Calibration Constant - Duration = 6,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==5)),coef_social_Calibration_Constant_Duration_eq_6 -util_social_Calibration_Constant_Duration_eq_7,SOCIAL - Calibration Constant - Duration = 7,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==6)),coef_social_Calibration_Constant_Duration_eq_7 -util_social_Calibration_Constant_Duration_eq_8,SOCIAL - Calibration Constant - Duration = 8,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==7)),coef_social_Calibration_Constant_Duration_eq_8 -util_social_Calibration_Constant_Duration_eq_9,SOCIAL - Calibration Constant - Duration = 9,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==8)),coef_social_Calibration_Constant_Duration_eq_9 -#DISCRETIONARY,#DISCRETIONARY,,DISCRETIONARY -util_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.retired_adults_only_hh) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear -util_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear -util_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear -util_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership > 0) & (df.tour_type == 'othdiscr') & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)),0)",coef_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear -util_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear -util_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,DISCRETIONARY - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & ((df.ptype == 6) | (df.ptype == 7) | (df.ptype == 8))), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs -util_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr,DISCRETIONARY - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & ((df.ptype == 6) | (df.ptype == 7) | (df.ptype == 8))), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr -util_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,DISCRETIONARY - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & (df.number_of_participants > 2)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr -util_disc_Auto_Distance_Duration_lt_1_hrs_Linear,DISCRETIONARY - Auto Distance: Duration < 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)) * (df.origin_to_destination_distance), 0)",coef_disc_Auto_Distance_Duration_lt_1_hrs_Linear -util_disc_Auto_Distance_Duration_gt_1_hrs_Linear,DISCRETIONARY - Auto Distance: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_disc_Auto_Distance_Duration_gt_1_hrs_Linear -util_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear -util_disc_Departure_Constant_Before_7_30_AM_,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<10)),coef_disc_Departure_Constant_Before_7_30_AM_ -util_disc_Departure_Constant_7_30_AM_to_8_00_AM,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==10)),coef_disc_Departure_Constant_7_30_AM_to_8_00_AM -util_disc_Departure_Constant_8_00_AM_to_8_30_AM,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==11)),coef_disc_Departure_Constant_8_00_AM_to_8_30_AM -util_disc_Departure_Constant_8_30_AM_to_9_00_AM,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==12)),coef_disc_Departure_Constant_8_30_AM_to_9_00_AM -util_disc_Departure_Constant_9_00_AM_to_9_30_AM,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==13)),coef_disc_Departure_Constant_9_00_AM_to_9_30_AM -util_disc_Departure_Constant_9_30_AM_to_10_00_AM,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==14)),coef_disc_Departure_Constant_9_30_AM_to_10_00_AM -util_disc_Departure_Constant_10_00_AM_to_10_30_AM,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==15)),coef_disc_Departure_Constant_10_00_AM_to_10_30_AM -util_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear -util_disc_Departure_Constant_Before_05_00_PM,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<29)),coef_disc_Departure_Constant_Before_05_00_PM -util_disc_Departure_Constant_05_00_PM_05_30_PM,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==29)),coef_disc_Departure_Constant_05_00_PM_05_30_PM -util_disc_Departure_Constant_05_30_PM_06_00_PM,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==30)),coef_disc_Departure_Constant_05_30_PM_06_00_PM -util_disc_Departure_Constant_06_00_PM_06_30_PM,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==31)),coef_disc_Departure_Constant_06_00_PM_06_30_PM -util_disc_Departure_Constant_06_30_PM_07_00_PM,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==32)),coef_disc_Departure_Constant_06_30_PM_07_00_PM -util_disc_Departure_Constant_After_07_00_PM,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start>32)),coef_disc_Departure_Constant_After_07_00_PM -util_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear -util_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear -util_disc_Arrival_Constant_Before_6_30_PM,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end<32)),coef_disc_Arrival_Constant_Before_6_30_PM -util_disc_Arrival_Constant_6_30_PM_to_7_00_PM,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==32)),coef_disc_Arrival_Constant_6_30_PM_to_7_00_PM -util_disc_Arrival_Constant_7_00_PM_to_7_30_PM,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==33)),coef_disc_Arrival_Constant_7_00_PM_to_7_30_PM -util_disc_Arrival_Constant_7_30_PM_to_8_00_PM,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==34)),coef_disc_Arrival_Constant_7_30_PM_to_8_00_PM -util_disc_Arrival_Constant_8_00_PM_to_8_30_PM,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==35)),coef_disc_Arrival_Constant_8_00_PM_to_8_30_PM -util_disc_Arrival_Constant_8_30_PM_to_9_00_PM,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==36)),coef_disc_Arrival_Constant_8_30_PM_to_9_00_PM -util_disc_Arrival_Constant_After_9_00_PM,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end>36)),coef_disc_Arrival_Constant_After_9_00_PM -util_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear -util_disc_Duration_Constant_0_hours,DISCRETIONARY - Duration Constant: 0 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==0),coef_disc_Duration_Constant_0_hours -util_disc_Duration_Constant_0p5_hous,DISCRETIONARY - Duration Constant: 0.5 hous,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==1),coef_disc_Duration_Constant_0p5_hous -util_disc_Duration_Constant_1_hour,DISCRETIONARY - Duration Constant: 1 hour,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==2),coef_disc_Duration_Constant_1_hour -util_disc_Duration_Constant_1p5_hours,DISCRETIONARY - Duration Constant: 1.5 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3),coef_disc_Duration_Constant_1p5_hours -util_disc_Duration_Constant_2_hours,DISCRETIONARY - Duration Constant: 2 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4),coef_disc_Duration_Constant_2_hours -util_disc_Duration_Constant_2p5_hours_or_more,DISCRETIONARY - Duration Constant: 2.5 hours or more,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>4),coef_disc_Duration_Constant_2p5_hours_or_more -util_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,DISCRETIONARY - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,47), 0)), 0)",coef_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear -util_disc_Calibration_Constant_Duration_eq_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3)),coef_disc_Calibration_Constant_Duration_eq_4 -util_disc_Calibration_Constant_Duration_eq_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4)),coef_disc_Calibration_Constant_Duration_eq_5 -util_disc_Calibration_Constant_Departure_eq_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==29)),coef_disc_Calibration_Constant_Departure_eq_29 -util_disc_Calibration_Constant_Departure_eq_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==30)),coef_disc_Calibration_Constant_Departure_eq_30 -util_disc_Calibration_Constant_Departure_eq_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==31)),coef_disc_Calibration_Constant_Departure_eq_31 -util_disc_Calibration_Constant_Departure_eq_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==32)),coef_disc_Calibration_Constant_Departure_eq_32 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_joint_coeffs.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_joint_coeffs.csv deleted file mode 100755 index 54d013138d..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_joint_coeffs.csv +++ /dev/null @@ -1,400 +0,0 @@ -coefficient_name,value,constrain -coef_escort_Mode_Choice_Logsum,1.173173034,F -coef_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,-0.335017673,F -coef_escort_Distance_to_destination_Duration_greater_than_0p5_hours,0.005298165,F -coef_escort_Fulltime_worker_Departure_after_8_00_am_Linear,-0.037980109,F -coef_escort_Fulltime_worker_Departure_after_3_00_am_Linear,0.163254125,F -coef_escort_Fulltime_worker_Duration_lt_0p5_hrs,-0.275077482,F -coef_escort_Fulltime_worker_Duration_gt_0p5_hrs,0.051530545,F -coef_escort_University_student_Duration_lt_0p5_hrs,-0.426802718,F -coef_escort_Nondriving_age_student_Duration_gt_0p5_hrs,0.240582361,F -coef_escort_Driving_age_student_Duration_lt_0p5_hrs,-0.554146191,F -coef_escort_Driving_age_student_Duration_gt_0p5_hrs,0.299387708,F -coef_escort_Preschool_kid_Duration_gt_0p5_hrs,0.195482563,F -coef_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs,-0.029281467,F -coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM,0.589083327,F -coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM,0.086690827,F -coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM,0.477582648,F -coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM,-0.204065502,F -coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM,-0.360039254,F -coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM,0.091614107,F -coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM,0.432854268,F -coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM,0.131037275,F -coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,0.109700265,F -coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM,-0.224568648,F -coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM,-0.357416434,F -coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM,0.629285298,F -coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,0.039005148,F -coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM,-0.06556611,F -coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM,0.117680977,F -coef_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs,-0.057322708,F -coef_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs,-0.062899692,F -coef_escort_Number_of_joint_tours_Duration_gt_0p5_hrs,-0.048533895,F -coef_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear,-1.469240002,F -coef_escort_Departure_Constant_Before_07_00_AM,-2.070292862,F -coef_escort_Departure_Constant_07_00_AM_07_30_AM,-0.642734296,F -coef_escort_Departure_Constant_07_30_AM_08_00_AM,0,T -coef_escort_Departure_Constant_08_00_AM_08_30_AM,-0.214617667,F -coef_escort_Departure_Constant_08_30_AM_09_00_AM,-0.147266606,F -coef_escort_Departure_Constant_After_09_00_AM,-1.356686422,F -coef_escort_Departure_Constant_01_30_PM_02_00_PM,0.368092381,F -coef_escort_Departure_Constant_02_00_PM_02_30_PM,1.166803383,F -coef_escort_Departure_Constant_02_30_PM_03_00_PM,1.28466083,F -coef_escort_Departure_Constant_03_00_PM_03_30_PM,0.581891245,F -coef_escort_Departure_Constant_After_03_30_PM,0.834510243,F -coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,0.175257649,F -coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear,-0.019161202,F -coef_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear,0.44978138,F -coef_escort_Arrival_Constant_Before_07_00_AM,0.549584585,F -coef_escort_Arrival_Constant_07_00_AM_07_30_AM,0.488181278,F -coef_escort_Arrival_Constant_07_30_AM_08_00_AM,0.236447651,F -coef_escort_Arrival_Constant_08_00_AM_08_30_AM,0,T -coef_escort_Arrival_Constant_08_30_AM_09_00_AM,-0.683756801,F -coef_escort_Arrival_Constant_After_09_00_AM,-1.428888485,F -coef_escort_Arrival_Constant_02_30_PM_03_00_PM,1.311480662,F -coef_escort_Arrival_Constant_03_00_PM_03_30_PM,1.316883154,F -coef_escort_Arrival_Constant_03_30_PM_04_00_PM,1.396838392,F -coef_escort_Arrival_Constant_04_00_PM_04_30_PM,1.03146139,F -coef_escort_Arrival_Constant_After_04_30_PM,0.907344583,F -coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,-0.148408887,F -coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,-0.389082896,F -coef_escort_Duration_Constant_0_hrs,-0.173757322,F -coef_escort_Duration_Constant_0p5_hrs,0,T -coef_escort_Duration_Constant_1_hrs,-0.431287743,F -coef_escort_Duration_Constant_1p5hrs,-0.700473959,F -coef_escort_Duration_Constant_2_hrs,-1.071871358,F -coef_escort_Duration_Constant_Longer_than_2_hrs,-1.691098421,F -coef_escort_Calibration_Constant_Duration_eq_1,-0.047200214,F -coef_escort_Calibration_Constant_Duration_eq_2,0.035611332,F -coef_escort_Calibration_Constant_Departure_eq_9,0.106814756,F -coef_escort_Calibration_Constant_Departure_eq_10,0.215386864,F -coef_escort_Calibration_Constant_Departure_eq_23,-0.255087318,F -coef_escort_Calibration_Constant_Departure_eq_24,-0.296870428,F -coef_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear,-0.190727375,F -coef_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear,-0.029551313,F -coef_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,-0.291965906,F -coef_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.045755784,F -coef_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,-0.571185116,F -coef_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.468815184,F -coef_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.047470039,F -coef_shop_Driving_age_student_Duration_gt_1p5_hr,0.122149101,F -coef_shop_Fulltime_worker_Duration_gt_1p5_hr,-0.037886459,F -coef_shop_Nondriving_Student_Duration_gt_1p5_hr,0.10247157,F -coef_shop_Preschool_Child_Duration_lt_1p5_hrs,-1.882944033,F -coef_shop_Part_Time_Worker_Duration_lt_1p5_hrs,-0.197455071,F -coef_shop_Part_Time_Worker_Duration_gt_1p5_hr,-0.045152663,F -coef_shop_Retired_Duration_lt_1p5_hrs,-0.264728908,F -coef_shop_Retired_Duration_gt_1p5_hr,-0.042981757,F -coef_shop_University_Student_Duration_gt_1p5_hr,0.045926523,F -coef_shop_Female_Duration_lt_1p5_hrs,-0.417208254,F -coef_shop_Female_Duration_gt_1p5_hr,0.045801918,F -coef_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr,0.040776383,F -coef_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,0.108462927,F -coef_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,-0.037893416,F -coef_shop_Distance_Duration_lt_1p5_hrs,-0.214802537,F -coef_shop_Distance_Duration_gt_1p5_hr,0.007991656,F -coef_shop_Time_Pressure_Duration_gt_1p5_hrs,0.013503327,F -coef_shop_Number_of_additional_individual_shop_and_maintp_tours_Duration_lt_1p5_hrs,0.078844289,F -coef_shop_Number_of_additional_individual_shop_and_maintp_tours_Duration_gt_1p5_hrs,-0.115431492,F -coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,-0.959875456,F -coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root,1.112594898,F -coef_shop_Departure_Constant_Before_09_00_AM,-0.446394064,F -coef_shop_Departure_Constant_09_00_AM_09_30_AM,-0.021669265,F -coef_shop_Departure_Constant_09_30_AM_10_00_AM,-0.282978638,F -coef_shop_Departure_Constant_10_00_AM_10_30_AM,0,T -coef_shop_Departure_Constant_10_30_AM_11_00_AM,-0.309421311,F -coef_shop_Departure_Constant_After_11_00_AM,-0.541073357,F -coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,-0.072013428,F -coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,-0.000653398,F -coef_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear,-0.18376635,F -coef_shop_Arrival_Constant_Before_12_30_PM,-0.716195343,F -coef_shop_Arrival_Constant_12_30_PM_03_00_PM,-0.502714001,F -coef_shop_Arrival_Constant_03_00_PM_03_30_PM,-0.167868872,F -coef_shop_Arrival_Constant_03_30_PM_04_00_PM,-0.156786941,F -coef_shop_Arrival_Constant_04_00_PM_04_30_PM,0,T -coef_shop_Arrival_Constant_04_30_PM_05_00_PM,-0.057314044,F -coef_shop_Arrival_Constant_05_00_PM_05_30_PM,-0.580040851,F -coef_shop_Arrival_Constant_05_30_PM_07_00_PM,-0.32239566,F -coef_shop_Arrival_Constant_07_00_PM_09_30_PM,-0.347828147,F -coef_shop_Arrival_Constant_After_09_30_PM,-1.123574723,F -coef_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear,-0.499770654,F -coef_shop_Duration_Constant_0_hrs,-0.131743185,F -coef_shop_Duration_Constant_0p5_hrs,0.888857137,F -coef_shop_Duration_Constant_1_hrs,0,T -coef_shop_Duration_Constant_1p5hrs,-0.333413031,F -coef_shop_Duration_Constant_2_hrs,-0.850897912,F -coef_shop_Duration_Constant_Longer_than_2_hrs,-1.203783479,F -coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear,-0.293581223,F -coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root,-0.215759138,F -coef_shop_Calibration_Constant_Duration_eq_1,-0.138450424,F -coef_shop_Calibration_Constant_Duration_eq_2,-0.092704403,F -coef_shop_Calibration_Constant_Duration_eq_3,-0.087738073,F -coef_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear,-0.139150288,F -coef_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear,-0.065786345,F -coef_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,-0.291965906,F -coef_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.045755784,F -coef_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,-0.571185116,F -coef_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.468815184,F -coef_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.047470039,F -coef_maint_Fulltime_worker_Duration_gt_1p5_hr,-0.037886459,F -coef_maint_Nondriving_Student_Duration_gt_1p5_hr,0.10247157,F -coef_maint_Preschool_Child_Duration_lt_1p5_hrs,-1.882944033,F -coef_maint_Part_Time_Worker_Duration_lt_1p5_hrs,-0.197455071,F -coef_maint_Part_Time_Worker_Duration_gt_1p5_hr,-0.045152663,F -coef_maint_Retired_Duration_lt_1p5_hrs,-0.264728908,F -coef_maint_Retired_Duration_gt_1p5_hr,-0.042981757,F -coef_maint_University_Student_Duration_gt_1p5_hr,0.045926523,F -coef_maint_Female_Duration_lt_1p5_hrs,-0.417208254,F -coef_maint_Female_Duration_gt_1p5_hr,0.045801918,F -coef_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr,0.040776383,F -coef_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,0.108462927,F -coef_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr,0,T -coef_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,-0.037893416,F -coef_maint_Distance_Duration_lt_1p5_hrs,-0.214802537,F -coef_maint_Distance_Duration_gt_1p5_hr,0.007991656,F -coef_maint_Time_Pressure_Duration_gt_1p5_hrs,0.013503327,F -coef_maint_Number_of_additional_individual_shop_and_maintp_tours_Duration_lt_1p5_hrs,0.078844289,F -coef_maint_Number_of_additional_individual_shop_and_maintp_tours_Duration_gt_1p5_hrs,-0.115431492,F -coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear,-0.864112609,F -coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root,0.504598473,F -coef_maint_Departure_Constant_Before_08_00_AM,-0.383711788,F -coef_maint_Departure_Constant_08_00_AM_08_30_AM,-0.076771517,F -coef_maint_Departure_Constant_08_30_AM_09_00_AM,-0.169259979,F -coef_maint_Departure_Constant_09_00_AM_09_30_AM,-0.051785379,F -coef_maint_Departure_Constant_09_30_AM_10_00_AM,-0.214942451,F -coef_maint_Departure_Constant_10_00_AM_10_30_AM,0,T -coef_maint_Departure_Constant_10_30_AM_11_00_AM,-0.427568963,F -coef_maint_Departure_Constant_After_11_00_AM,-0.520863411,F -coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,0.042879095,F -coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,-0.003157293,F -coef_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear,-0.226803619,F -coef_maint_Arrival_Constant_Before_10_30_AM,-0.223212258,F -coef_maint_Arrival_Constant_10_30_AM_11_00_AM,0,T -coef_maint_Arrival_Constant_11_00_AM_11_30_AM,-0.128382637,F -coef_maint_Arrival_Constant_11_30_AM_01_30_PM,0.167977332,F -coef_maint_Arrival_Constant_01_30_PM_02_30_PM,-0.149495878,F -coef_maint_Arrival_Constant_02_30_PM_04_00_PM,0.087679934,F -coef_maint_Arrival_Constant_04_00_PM_04_30_PM,0.121707557,F -coef_maint_Arrival_Constant_After_04_30_PM,0.106745013,F -coef_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,-0.232610927,F -coef_maint_Duration_Constant_0_hrs,-0.483549396,F -coef_maint_Duration_Constant_0p5_hrs,0,T -coef_maint_Duration_Constant_Longer_than_0p5_hrs,-1.450618319,F -coef_maint_Duration_Constant_Duration_gt_1_hrs_Linear,-0.275082922,F -coef_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root,0.208434683,F -coef_maint_Calibration_Constant_Duration_eq_1,-0.124602605,F -coef_maint_Calibration_Constant_Duration_eq_2,-0.103637715,F -coef_maint_Calibration_Constant_Duration_eq_3,-0.225442145,F -coef_maint_Calibration_Constant_Duration_eq_4,-0.145273012,F -coef_maint_Calibration_Constant_Duration_eq_5,-0.019241539,F -coef_eatout_Distance_to_destination_Duration_lt_1_hrs,-0.134981987,F -coef_eatout_Distance_to_destination_Duration_gt_1_hrs,0.017860742,F -coef_eatout_Low_income_lt25000_Duration_lt_1_hrs,1.002485807,F -coef_eatout_Medium_25k_to_60k_Duration_lt_1_hrs,0.499822018,F -coef_eatout_Zero_auto_HH_Duration_gt_1_hrs,0.259409942,F -coef_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs,1.785123348,F -coef_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs,-1.626003709,F -coef_eatout_University_student_Departure_after_7_00_pm_Linear,0.293827759,F -coef_eatout_Female_Duration_lt_1_hrs,-0.399414247,F -coef_eatout_Female_Duration_gt_1_hrs,0.064593482,F -coef_eatout_Time_Pressure_Departure_before_6_30_pm,0.083673557,F -coef_eatout_Time_Pressure_Duration_lt_1_hrs,1.69632588,F -coef_eatout_Departure_Constant_07_30_AM_09_00_AM,1.222417262,F -coef_eatout_Departure_Constant_10_30_AM_11_00_AM,0.519559134,F -coef_eatout_Departure_Constant_11_00_AM_11_30_AM,1.191543552,F -coef_eatout_Departure_Constant_11_30_AM_12_00_PM,1.66870995,F -#coef_eatout_Departure_Constant_12_00_PM_12_30_PM,1.164106986,F -coef_eatout_Departure_Constant_12_30_PM_01_00_PM,1.057346496,F -coef_eatout_Departure_Constant_01_00_PM_01_30_PM,0.728959087,F -coef_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_30_pm_Linear,-0.477439748,F -coef_eatout_Departure_Constant_Before_06_00_PM,-1.21554671,F -#coef_eatout_Departure_Constant_06_00_PM_06_30_PM,-0.425984037,F -#coef_eatout_Departure_Constant_06_30_PM_07_00_PM,0,T -#coef_eatout_Departure_Constant_07_00_PM_07_30_PM,-0.227800647,F -#coef_eatout_Departure_Constant_After_07_30_PM,-0.293904097,F -#coef_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,-0.55440861,F -coef_eatout_Departure_Constant_11_00_AM_12_00_PM,0.531539506,F -coef_eatout_Departure_Constant_12_00_PM_12_30_PM,0.673838195,F -coef_eatout_Departure_Constant_12_30_PM_to_01_00_PM,0.422292261,F -coef_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,-0.033290717,F -coef_eatout_Departure_Constant_Before_05_30_PM,-0.561079452,F -coef_eatout_Departure_Constant_05_30_PM_06_00_PM,-0.178719161,F -coef_eatout_Departure_Constant_06_00_PM_06_30_PM,0,T -coef_eatout_Departure_Constant_06_30_PM_07_00_PM,-0.282095841,F -coef_eatout_Departure_Constant_07_00_PM_07_30_PM,-0.299748613,F -coef_eatout_Departure_Constant_After_07_30_PM,-0.845300559,F -coef_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,-0.667843486,F -coef_eatout_Arrival_Constant_9_30_AM_to_11_00_AM,0.486337344,F -#coef_eatout_Arrival_Constant_12_30_PM_to_01_00_PM,0.629299404,F -#coef_eatout_Arrival_Constant_01_00_PM_to_01_30_PM,0.938528731,F -#coef_eatout_Arrival_Constant_01_30_PM_to_02_00_PM,0.584420106,F -#coef_eatout_Arrival_Constant_02_00_PM_to_02_30_PM,0.842550215,F -coef_eatout_Arrival_Constant_02_30_PM_to_03_00_PM,0.298486505,F -#coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear,0.125034982,F -coef_eatout_Arrival_Constant_Before_6_30_PM,-0.029062996,F -coef_eatout_Arrival_Constant_6_30_PM_to_7_00_PM,-0.509075598,F -# coef_eatout_Arrival_Constant_7_00_PM_to_7_30_PM,-0.124885931,F -# coef_eatout_Arrival_Constant_7_30_PM_to_8_00_PM,-0.605455664,F -# coef_eatout_Arrival_Constant_8_00_PM_to_8_30_PM,0,T -# coef_eatout_Arrival_Constant_8_30_PM_to_9_00_PM,-0.657382835,F -coef_eatout_Arrival_Constant_After_9_00_PM,-0.813629712,F -#coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,-0.204722406,F -coef_eatout_Arrival_Constant_12_30_PM_to_01_00_PM,2.002032369,F -coef_eatout_Arrival_Constant_01_00_PM_to_01_30_PM,2.115334472,F -coef_eatout_Arrival_Constant_01_30_PM_to_02_00_PM,1.647879687,F -coef_eatout_Arrival_Constant_02_00_PM_to_02_30_PM,1.525310078,F -coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear,-0.152980854,F -coef_eatout_Arrival_Constant_Before_7_00_PM,-0.41165142,F -coef_eatout_Arrival_Constant_7_00_PM_to_7_30_PM,-0.384557379,F -coef_eatout_Arrival_Constant_7_30_PM_to_8_00_PM,-0.044050359,F -coef_eatout_Arrival_Constant_8_00_PM_to_8_30_PM,0,T -coef_eatout_Arrival_Constant_8_30_PM_to_9_00_PM,-0.239939049,F -coef_eatout_Arrival_Constant_After_09_00_PM,-0.248639696,F -coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,-0.204771082,F -#coef_eatout_Duration_Constant_0_hours,-11.72660422,F -#coef_eatout_Duration_Constant_0p5_hous,-5.08873115,F -#coef_eatout_Duration_Constant_1_hour,-0.125521065,F -#coef_eatout_Duration_Constant_1p5_hours,0,T -coef_eatout_Duration_Constant_2_hours,-0.124807752,F -coef_eatout_Duration_Constant_2p5_hours_or_more,-0.156019835,F -coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,-0.3357414,F -coef_eatout_Duration_Constant_0_hours,-4.268996522,F -coef_eatout_Duration_Constant_0p5_hous,-1.323297693,F -coef_eatout_Duration_Constant_1_hour,0,T -coef_eatout_Duration_Constant_1p5_hours,-0.195669185,F -coef_eatout_Duration_Constant_2_hours_or_more,-0.523723192,F -coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear,-0.649331488,F -coef_eatout_Calibration_Constant_Duration_eq_1,-0.333697861,F -coef_eatout_Calibration_Constant_Duration_eq_2,-0.245716,F -coef_eatout_Calibration_Constant_Duration_eq_3,0.052708833,F -coef_eatout_Calibration_Constant_Duration_eq_4,0.041571499,F -coef_eatout_Calibration_Constant_Departure_eq_1,-10,F -coef_eatout_Calibration_Constant_Departure_eq_2,-10,F -coef_eatout_Calibration_Constant_Departure_eq_3,-10,F -coef_eatout_Calibration_Constant_Departure_eq_17,0.706568704,F -coef_eatout_Calibration_Constant_Departure_eq_18,0.634353544,F -coef_eatout_Calibration_Constant_Departure_eq_19,0.584387268,F -coef_eatout_Calibration_Constant_Departure_eq_20,0.469777884,F -coef_eatout_Calibration_Constant_Departure_eq_21,0.39548931,F -coef_social_Personlt_18_years_old_Duration_lt_1p5_hrs_Linear,-0.262839914,F -coef_social_Personlt_18_years_old_Duration_gt_1p5_hrs_Linear,0.086919429,F -coef_social_Nonworking_senior_retiree_Duration_lt_1p5_hrs_Linear,0.468354376,F -coef_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,-0.312282762,F -coef_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear,-0.508439932,F -coef_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear,0.074190914,F -coef_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,0.127185965,F -coef_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,0.048756122,F -coef_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.559947083,F -coef_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.115347031,F -coef_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.104494637,F -coef_social_Auto_Distance_Duration_lt_1_hrs_Linear,-0.162965435,F -coef_social_Auto_Distance_Duration_gt_1_hrs_Linear,0.006797399,F -coef_social_Time_Pressure_Duration_lt_1_hr,-0.229264474,F -coef_social_Time_Pressure_Duration_gt_1_hr,0.219325112,F -coef_social_Number_of_additional_individual_social_and_dicretionary_tours_Duration_lt_1_hr,0.156250451,F -coef_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,-0.529943196,F -coef_social_Departure_Constant_Before_09_00_AM,-0.198438086,F -coef_social_Departure_Constant_09_00_AM_to_09_30_AM,0.137620628,F -coef_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,-0.142078961,F -coef_social_Departure_Constant_Before_05_30_PM,-0.390965052,F -coef_social_Departure_Constant_05_30_PM_06_00_PM,-0.453580491,F -coef_social_Departure_Constant_06_00_PM_06_30_PM,0,T -coef_social_Departure_Constant_06_30_PM_07_00_PM,-0.088537991,F -coef_social_Departure_Constant_07_00_PM_07_30_PM,0.052983115,F -coef_social_Departure_Constant_After_07_30_PM,-0.649629162,F -coef_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,-0.09574499,F -coef_social_Arrival_Constant_03_00_PM_to_03_30_PM,0.37674882,F -coef_social_Arrival_Constant_03_30_PM_to_04_00_PM,0.583355461,F -coef_social_Arrival_Constant_04_00_PM_to_04_30_PM,0.727855233,F -coef_social_Arrival_Constant_05_00_PM_to_06_00_PM,0.249551955,F -coef_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear,0.053771388,F -coef_social_Arrival_Constant_Before_8_30_PM,0.308763611,F -coef_social_Arrival_Constant_8_30_PM_to_9_00_PM,-0.208797698,F -coef_social_Arrival_Constant_9_00_PM_to_9_30_PM,-0.336319511,F -coef_social_Arrival_Constant_9_30_PM_to10_00_PM,0,T -coef_social_Arrival_Constant_10_00_PM_to_10_30_PM,-0.055707591,F -coef_social_Arrival_Constant_After_10_30_PM,-0.612356296,F -coef_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear,-0.348479901,F -coef_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear,0.619073863,F -coef_social_Duration_Constant_Less_than_2_hours,-0.584024011,F -coef_social_Duration_Constant_2_hours,-0.271552271,F -coef_social_Duration_Constant_2p5_hours,0,T -coef_social_Duration_Constant_3_hours_or_more,0.042083404,F -coef_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear,-0.13049452,F -coef_social_Duration_Constant_Shift_for_every_30_minutes_less_than_2p5_hrs_Linear,0.614440191,F -coef_social_Duration_Constant_Less_than_3_hrs,0.353666691,F -coef_social_Duration_Constant_3_hours,0,T -coef_social_Duration_Constant_3p5_hours,-0.691218836,F -coef_social_Duration_Constant_4_hours_or_more,-1.344375328,F -coef_social_Duration_Constant_Shift_for_every_30_minutes_more_than_4p5_hrs_Linear,-0.786970714,F -coef_social_Calibration_Constant_Duration_eq_1,-1.346772472,F -coef_social_Calibration_Constant_Duration_eq_2,0.377121689,F -coef_social_Calibration_Constant_Duration_eq_3,0.179818928,F -coef_social_Calibration_Constant_Duration_eq_4,-0.283418619,F -coef_social_Calibration_Constant_Duration_eq_5,-0.103541313,F -coef_social_Calibration_Constant_Duration_eq_6,-0.03704707,F -coef_social_Calibration_Constant_Duration_eq_7,-0.062437167,F -coef_social_Calibration_Constant_Duration_eq_8,0.047640282,F -coef_social_Calibration_Constant_Duration_eq_9,0.284369793,F -coef_disc_Personlt_18_years_old_Duration_lt_1p5_hrs_Linear,-0.262839914,F -coef_disc_Personlt_18_years_old_Duration_gt_1p5_hrs_Linear,0.086919429,F -coef_disc_Nonworking_senior_retiree_Duration_lt_1p5_hrs_Linear,0.468354376,F -coef_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,-0.312282762,F -coef_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear,-0.508439932,F -coef_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear,0.074190914,F -coef_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,0.127185965,F -coef_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,0.048756122,F -coef_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.559947083,F -coef_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.115347031,F -coef_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.104494637,F -coef_disc_Auto_Distance_Duration_lt_1_hrs_Linear,-0.162965435,F -coef_disc_Auto_Distance_Duration_gt_1_hrs_Linear,0.006797399,F -coef_disc_Time_Pressure_Duration_lt_1_hr,-0.229264474,F -coef_disc_Time_Pressure_Duration_gt_1_hr,0.219325112,F -coef_disc_Number_of_additional_individual_social_and_dicretionary_tours_Duration_lt_1_hr,0.156250451,F -coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear,-0.742176805,F -coef_disc_Departure_Constant_Before_7_30_AM_,-1.323901585,F -coef_disc_Departure_Constant_7_30_AM_to_8_00_AM,-0.695441631,F -coef_disc_Departure_Constant_8_00_AM_to_8_30_AM,-0.269903336,F -coef_disc_Departure_Constant_8_30_AM_to_9_00_AM,-0.093709211,F -coef_disc_Departure_Constant_9_00_AM_to_9_30_AM,0.265634082,F -coef_disc_Departure_Constant_9_30_AM_to_10_00_AM,0.287521134,F -coef_disc_Departure_Constant_10_00_AM_to_10_30_AM,0.396547817,F -coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear,-0.245885745,F -coef_disc_Departure_Constant_Before_05_00_PM,-1.344482349,F -coef_disc_Departure_Constant_05_00_PM_05_30_PM,-0.622632748,F -coef_disc_Departure_Constant_05_30_PM_06_00_PM,-0.456718676,F -coef_disc_Departure_Constant_06_00_PM_06_30_PM,-0.206896106,F -coef_disc_Departure_Constant_06_30_PM_07_00_PM,0,T -coef_disc_Departure_Constant_After_07_00_PM,-0.46439343,F -coef_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear,-0.291998986,F -coef_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear,0.148649188,F -coef_disc_Arrival_Constant_Before_6_30_PM,0.668775963,F -coef_disc_Arrival_Constant_6_30_PM_to_7_00_PM,-0.053520826,F -coef_disc_Arrival_Constant_7_00_PM_to_7_30_PM,0.099726391,F -coef_disc_Arrival_Constant_7_30_PM_to_8_00_PM,0.063414092,F -coef_disc_Arrival_Constant_8_00_PM_to_8_30_PM,0,T -coef_disc_Arrival_Constant_8_30_PM_to_9_00_PM,-0.18610847,F -coef_disc_Arrival_Constant_After_9_00_PM,-0.423207857,F -coef_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,-0.525545923,F -#coef_disc_Duration_Constant_0_hours,-0.944257762,F -#coef_disc_Duration_Constant_0p5_hous,-0.117695955,F -#coef_disc_Duration_Constant_1_hour,0.438403665,F -#coef_disc_Duration_Constant_1p5_hours,-0.002500048,F -#coef_disc_Duration_Constant_2_hours,0,T -coef_disc_Duration_Constant_2p5_hours_or_more,0.239192556,F -#coef_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,-0.108260689,F -coef_disc_Duration_Constant_0_hours,0.436988282,F -coef_disc_Duration_Constant_0p5_hous,1.35967577,F -coef_disc_Duration_Constant_1_hour,1.692672999,F -coef_disc_Duration_Constant_1p5_hours,1.118932964,F -coef_disc_Duration_Constant_2_hours,0.771255733,F -coef_disc_Duration_Constant_2p5_hours,0,T -coef_disc_Duration_Constant_3_hours_or_more,-0.631242175,F -coef_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,-0.700935645,F -coef_disc_Calibration_Constant_Duration_eq_4,-0.132674257,F -coef_disc_Calibration_Constant_Duration_eq_5,-0.013371871,F -coef_disc_Calibration_Constant_Departure_eq_29,0.232927977,F -coef_disc_Calibration_Constant_Departure_eq_30,0.306104612,F -coef_disc_Calibration_Constant_Departure_eq_31,0.285520678,F -coef_disc_Calibration_Constant_Departure_eq_32,0.115886631,F diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory.csv deleted file mode 100755 index f3ae1b2170..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory.csv +++ /dev/null @@ -1,348 +0,0 @@ -Label,Description,Expression,Coefficient -# ESCORT,,, -util_escort_mode_choice_logsum,ESCORT - Mode Choice Logsum,"@np.where(df.tour_type == 'escort', df.mode_choice_logsum, 0) ",coef_escort_mode_choice_logsum -"#Note: In CTRAMP expressions, duration alternative is from 1 to 48 but in ActivitySim, it is from 0 to 47 since the duration alternative ID was calculated as (end - start). Therefore, duration in ActivitySim expression = CTRAMP duration expresssion - 1 ",,,# -util_escort_distance_to_destination_duration_less_than_30_minutes,ESCORT - Distance to destination - Duration less than 0.5 hour (depart and arrive in the same period),"@np.where(((df.tour_type == 'escort') & (df.duration<1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_distance_to_destination_duration_less_than_30_minutes -util_escort_distance_to_destination_duration_greater_than_30_minutes,ESCORT - Distance to destination - Duration greater than 0.5 hour,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_distance_to_destination_duration_greater_than_30_minutes -util_escort_fulltime_worker_departure_after_8_am_linear,ESCORT - Full-time worker - Departure after 8:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)),0)",coef_escort_fulltime_worker_departure_after_8_am_linear -"#Note: In CTRAMP expression file, the description below says departure is after 3 am but from the expression it seems that it would be 3 pm instead of 3 am",,, -util_escort_fulltime_worker_departure_after_3_am_linear,ESCORT - Full-time worker - Departure after 3:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_fulltime_worker_departure_after_3_am_linear -util_escort_fulltime_worker_duration_less_than_30_minutes,ESCORT - Full-time worker - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_fulltime_worker_duration_less_than_30_minutes -util_escort_fulltime_worker_duration_greater_than_30_minutes,ESCORT - Full-time worker - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_fulltime_worker_duration_greater_than_30_minutes -util_escort_university_student_duration_less_than_30_minutes,ESCORT - University student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 3) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_university_student_duration_less_than_30_minutes -util_escort_non_driving_age_student_duration_greater_than_30_minutes,ESCORT - Non-driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & ((df.ptype == 7)|(df.ptype == 8)) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_non_driving_age_student_duration_greater_than_30_minutes -util_escort_driving_age_student_duration_less_than_30_minutes,ESCORT - Driving age student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_driving_age_student_duration_less_than_30_minutes -util_escort_driving_age_student_duration_greater_than_30_minutes,ESCORT - Driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_driving_age_student_duration_greater_than_30_minutes -"#Note: In CTRAMP expression file, description says the expression below is for duration > 0.5 hr but the expression says duration < 0.5 hr",,, -util_escort_pre_school_kid_duration_greater_than_30_minutes,ESCORT - Pre-school kid - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 8) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_pre_school_kid_duration_greater_than_30_minutes -util_escort_med_high_income_duration_greater_than_30_minutes,ESCORT - Med-high income (60k to 120k) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_med_high_income_duration_greater_than_30_minutes -util_escort_households_with_no_kids_departure_before_7_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 7:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_households_with_no_kids_departure_before_7_30_am -util_escort_households_with_no_kids_departure_after_8_00_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_households_with_no_kids_departure_after_8_00_am -util_escort_households_with_no_kids_departure_before_2_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 2:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_households_with_no_kids_departure_before_2_30_pm -util_escort_households_with_no_kids_departure_after_3_00_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where ((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_households_with_no_kids_departure_after_3_00_pm -util_escort_households_with_no_kids_arrival_before_8_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_households_with_no_kids_arrival_before_8_am -util_escort_households_with_no_kids_arrival_after_8_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_households_with_no_kids_arrival_after_8_30_am -util_escort_households_with_no_kids_arrival_before_3_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_households_with_no_kids_arrival_before_3_pm -util_escort_households_with_no_kids_arrival_after_3_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_households_with_no_kids_arrival_after_3_30_pm -util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am -util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm -util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am,"ESCORT -Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am -util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm -util_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where ((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am -util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am -util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm -util_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes,ESCORT - Number of autos greater than number of adults - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes -util_escort_number_of_individual_tours_duration_greater_than_30_minutes,ESCORT -Number of Individual Tours (excluding escorting) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.num_non_escort_tours > 0) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) * (df.num_non_escort_tours), 0)",coef_escort_number_of_individual_tours_duration_greater_than_30_minutes -util_escort_number_of_joint_tours_duration_greater_than_30_minutes,ESCORT - Number of joint tours - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) *(df.num_joint_tours), 0)",coef_escort_number_of_joint_tours_duration_greater_than_30_minutes -util_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes before 06:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start<8)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + np.where((df.start>13), np.minimum(df.start-13,28), 0)), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear -util_escort_departure_constant_before_7_am,ESCORT - Departure Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.start<9)),coef_escort_departure_constant_before_7_am -util_escort_departure_constant_7_am_to_7_30_am,ESCORT - Departure Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_departure_constant_7_am_to_7_30_am -util_escort_departure_constant_7_30_am_to_8_am,ESCORT - Departure Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_departure_constant_7_30_am_to_8_am -util_escort_departure_constant_8_am_to_8_30_am,ESCORT - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.start==11)),coef_escort_departure_constant_8_am_to_8_30_am -util_escort_departure_constant_8_30_am_to_9_am,ESCORT - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.start==12)),coef_escort_departure_constant_8_30_am_to_9_am -util_escort_departure_constant_after_9_am,ESCORT - Departure Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.start>12)),coef_escort_departure_constant_after_9_am -util_escort_departure_constant_1_30_pm_to_2_pm,ESCORT - Departure Constant: 01:30 PM - 02:00 PM,@((df.tour_type == 'escort') & (df.start==22)),coef_escort_departure_constant_1_30_pm_to_2_pm -util_escort_departure_constant_2_pm_to_2_30_pm,ESCORT - Departure Constant: 02:00 PM - 02:30 PM,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_departure_constant_2_pm_to_2_30_pm -util_escort_departure_constant_2_30_pm_to_3_pm,ESCORT - Departure Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_departure_constant_2_30_pm_to_3_pm -util_escort_departure_constant_3_pm_to_3_30_pm,ESCORT - Departure Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.start==25)),coef_escort_departure_constant_3_pm_to_3_30_pm -util_escort_departure_constant_after_3_30_pm,ESCORT - Departure Constant: After 03:30 PM,@((df.tour_type == 'escort') & (df.start>25)),coef_escort_departure_constant_after_3_30_pm -util_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>13)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + (np.where((df.start>13), np.minimum(df.start-13,28), 0))), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear -util_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 4:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>26)), (np.where((df.start<0), np.minimum(0-df.start,48), 0) + np.where((df.start>26), np.minimum(df.start-26,15),0)), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear -util_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes before 6:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end<8)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear -util_escort_arrival_constant_before_7_am,ESCORT - Arrival Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.end<9)),coef_escort_arrival_constant_before_7_am -util_escort_arrival_constant_7_am_to_7_30_am,ESCORT - Arrival Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.end==9)),coef_escort_arrival_constant_7_am_to_7_30_am -util_escort_arrival_constant_7_30_am_to_8_am,ESCORT - Arrival Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.end==10)),coef_escort_arrival_constant_7_30_am_to_8_am -util_escort_arrival_constant_8_am_to_8_30_am,ESCORT - Arrival Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.end==11)),coef_escort_arrival_constant_8_am_to_8_30_am -util_escort_arrival_constant_8_30_am_to_9_am,ESCORT - Arrival Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.end==12)),coef_escort_arrival_constant_8_30_am_to_9_am -util_escort_arrival_constant_after_9_am,ESCORT - Arrival Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.end>12)),coef_escort_arrival_constant_after_9_am -util_escort_arrival_constant_2_30_pm_to_3_pm,ESCORT - Arrival Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.end==24)),coef_escort_arrival_constant_2_30_pm_to_3_pm -util_escort_arrival_constant_3_pm_to_3_30_pm,ESCORT - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.end==25)),coef_escort_arrival_constant_3_pm_to_3_30_pm -util_escort_arrival_constant_3_30_pm_to_4_pm,ESCORT - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'escort') & (df.end==26)),coef_escort_arrival_constant_3_30_pm_to_4_pm -util_escort_arrival_constant_4_pm_to_4_30_pm,ESCORT - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'escort') & (df.end==27)),coef_escort_arrival_constant_4_pm_to_4_30_pm -util_escort_arrival_constant_after_4_30_pm,ESCORT - Arrival Constant: After 04:30 PM,@((df.tour_type == 'escort') & (df.end>27)),coef_escort_arrival_constant_after_4_30_pm -util_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>13)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear -util_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>28)), (np.where((df.end<0), np.minimum(0-df.end,48), 0) + np.where((df.start>28), np.minimum(df.end-28,15), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear -util_escort_duration_constant_0_hour,ESCORT - Duration Constant: 0 hr,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_duration_constant_0_hour -util_escort_duration_constant_30_minutes,ESCORT - Duration Constant: 0.5 hr,@((df.tour_type == 'escort') & (df.duration==1)),coef_escort_duration_constant_30_minutes -util_escort_duration_constant_1_hour,ESCORT - Duration Constant: 1 hr,@((df.tour_type == 'escort') & (df.duration==2)),coef_escort_duration_constant_1_hour -util_escort_duration_constant_1_hour_30_minutes,ESCORT - Duration Constant: 1.5hrs,@((df.tour_type == 'escort') & (df.duration==3)),coef_escort_duration_constant_1_hour_30_minutes -util_escort_duration_constant_2_hours,ESCORT - Duration Constant: 2 hrs,@((df.tour_type == 'escort') & (df.duration==4)),coef_escort_duration_constant_2_hours -util_escort_duration_constant_longer_than_2_hours,ESCORT - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'escort') & (df.duration>4)),coef_escort_duration_constant_longer_than_2_hours -util_escort_calibration_constant_duration_1,ESCORT - Calibration Constant - Duration = 1,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_calibration_constant_duration_1 -util_escort_calibration_constant_duration_2,ESCORT - Calibration Constant - Duration = 2,@(((df.tour_type == 'escort') & df.duration==1)),coef_escort_calibration_constant_duration_2 -util_escort_calibration_constant_departure_9,ESCORT - Calibration Constant - Departure = 9,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_calibration_constant_departure_9 -util_escort_calibration_constant_departure_10,ESCORT - Calibration Constant - Departure = 10,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_calibration_constant_departure_10 -util_escort_calibration_constant_departure_23,ESCORT - Calibration Constant - Departure = 23,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_calibration_constant_departure_23 -util_escort_calibration_constant_departure_24,ESCORT - Calibration Constant - Departure = 24,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_calibration_constant_departure_24 -#SHOPPING,,,#SHOPPING -util_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes -util_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Full-time worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes -util_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Non-driving Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes -util_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes,SHOPPING - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes -util_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes -util_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes -util_shopping_retired_duration_less_than_1_hour_30_minutes,SHOPPING - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_less_than_1_hour_30_minutes -util_shopping_retired_duration_greater_than_1_hour_30_minutes,SHOPPING - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_greater_than_1_hour_30_minutes -util_shopping_university_student_duration_greater_than_1_hour_30_minutes,SHOPPING - University Student: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_university_student_duration_greater_than_1_hour_30_minutes -util_shopping_female_duration_less_than_1_hour_30_minutes,SHOPPING - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_less_than_1_hour_30_minutes -util_shopping_female_duration_greater_than_1_hour_30_minutes,SHOPPING - Female: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_greater_than_1_hour_30_minutes -util_shopping_low_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_type == 'shopping') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_low_income_duration_greater_than_1_hour_30_minutes -util_shopping_medium_income_duration_less_than_1_hour_30_minutes,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_income_duration_less_than_1_hour_30_minutes -util_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes -util_shopping_distance_duration_less_than_1_hour_30_minutes,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_less_than_1_hour_30_minutes -util_shopping_distance_duration_greater_than_1_hour_30_minutes,SHOPPING - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_greater_than_1_hour_30_minutes -util_shopping_time_pressure_duration_greater_than_1_hour_30_minutes,SHOPPING - Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), np.minimum(df.duration-2,26) *(np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_shopping_time_pressure_duration_greater_than_1_hour_30_minutes -util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes -util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') &(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes -util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear -util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root -util_shopping_departure_constant_before_9_am,SHOPPING - Departure Constant: Before 09:00 AM,@((df.tour_type == 'shopping') & (df.start<13)),coef_shopping_departure_constant_before_9_am -util_shopping_departure_constant_9_am_to_9_30_am,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'shopping') & (df.start==13)),coef_shopping_departure_constant_9_am_to_9_30_am -util_shopping_departure_constant_9_30_am_to_10_am,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'shopping') & (df.start==14)),coef_shopping_departure_constant_9_30_am_to_10_am -util_shopping_departure_constant_10_am_to_10_30_am,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'shopping') & (df.start==15)),coef_shopping_departure_constant_10_am_to_10_30_am -util_shopping_departure_constant_10_30_am_to_11_00_am,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'shopping') & (df.start==16)),coef_shopping_departure_constant_10_30_am_to_11_00_am -util_shopping_departure_constant_after_11_am,SHOPPING - Departure Constant: After 11:00 AM,@((df.tour_type == 'shopping') & (df.start>16)),coef_shopping_departure_constant_after_11_am -util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear -util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared -util_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear -util_shopping_arrival_constant_before_12_30_pm,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.tour_type == 'shopping') & (df.end<20)),coef_shopping_arrival_constant_before_12_30_pm -util_shopping_arrival_constant_12_30_pm_to_3_pm,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@((df.tour_type == 'shopping') & ( df.end>=20) & (df.end<=24)),coef_shopping_arrival_constant_12_30_pm_to_3_pm -util_shopping_arrival_constant_3_pm_to_3_30_pm,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'shopping') & (df.end==25)),coef_shopping_arrival_constant_3_pm_to_3_30_pm -util_shopping_arrival_constant_3_30_pm_to_4_pm,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'shopping') & (df.end==26)),coef_shopping_arrival_constant_3_30_pm_to_4_pm -util_shopping_arrival_constant_4_pm_to_4_30_pm,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'shopping') & (df.end==27)),coef_shopping_arrival_constant_4_pm_to_4_30_pm -util_shopping_arrival_constant_4_30_pm_to_5_pm,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.tour_type == 'shopping') & (df.end==28)),coef_shopping_arrival_constant_4_30_pm_to_5_pm -util_shopping_arrival_constant_5_pm_to_5_30_pm,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'shopping') & (df.end==29)),coef_shopping_arrival_constant_5_pm_to_5_30_pm -util_shopping_arrival_constant_5_30_pm_to_7_pm,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.tour_type == 'shopping') & (df.end>=30) & (df.end<=32)),coef_shopping_arrival_constant_5_30_pm_to_7_pm -util_shopping_arrival_constant_7_pm_to_9_30_pm,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.tour_type == 'shopping') & (df.end>=33) & (df.end<=37)),coef_shopping_arrival_constant_7_pm_to_9_30_pm -util_shopping_arrival_constant_after_9_30_pm,SHOPPING - Arrival Constant: After 09:30 PM,@((df.tour_type == 'shopping') & (df.end>37)),coef_shopping_arrival_constant_after_9_30_pm -util_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear -util_shopping_duration_constant_0_hr,SHOPPING - Duration Constant: 0 hr,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_duration_constant_0_hr -util_shopping_duration_constant_30_minutes,SHOPPING - Duration Constant: 0.5 hr,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_duration_constant_30_minutes -util_shopping_duration_constant_1_hr,SHOPPING - Duration Constant: 1 hr,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_duration_constant_1_hr -util_shopping_duration_constant_1_hour_30_minutes,SHOPPING - Duration Constant: 1.5hrs,@(df.tour_type == 'shopping') & (df.duration==3),coef_shopping_duration_constant_1_hour_30_minutes -util_shopping_duration_constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.tour_type == 'shopping') & (df.duration==4)),coef_shopping_duration_constant_2_hrs -util_shopping_duration_constant_longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'shopping') & (df.duration>4)),coef_shopping_duration_constant_longer_than_2_hrs -util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear -util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root -util_shopping_calibration_constant_duration_1,SHOPPING - Calibration Constant - Duration = 1,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_calibration_constant_duration_1 -util_shopping_calibration_constant_duration_2,SHOPPING - Calibration Constant - Duration = 2,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_calibration_constant_duration_2 -util_shopping_calibration_constant_duration_3,SHOPPING - Calibration Constant - Duration = 3,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_calibration_constant_duration_3 -#MAINTENANCE,#MAINTENANCE,,#MAINTENANCE -util_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes -util_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Full-time worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes -util_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Non-driving Student: Duration > 1.5 hrs,"@np.where (((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes -util_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes,MAINTENANCE - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes -util_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes -util_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes -util_maintenance_retired_duration_less_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_less_than_1_hour_30_minutes -util_maintenance_retired_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_greater_than_1_hour_30_minutes -util_maintenance_university_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - University Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_university_student_duration_greater_than_1_hour_30_minutes -util_maintenance_female_duration_less_than_1_hour_30_minutes,MAINTENANCE - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_less_than_1_hour_30_minutes -util_maintenance_female_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Female: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_greater_than_1_hour_30_minutes -util_maintenance_low_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_low_income_duration_greater_than_1_hour_30_minutes -util_maintenance_medium_income_duration_less_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_less_than_1_hour_30_minutes -util_maintenance_medium_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_greater_than_1_hour_30_minutes -util_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes -util_maintenance_distance_duration_less_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_less_than_1_hour_30_minutes -util_maintenance_distance_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_greater_than_1_hour_30_minutes -util_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes,Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), np.minimum(df.duration-2,26) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes -util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes -util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes -util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear -util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root -util_maintenance_departure_constant_before_8_am,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.tour_type == 'othmaint') & (df.start<11)),coef_maintenance_departure_constant_before_8_am -util_maintenance_departure_constant_8_am_to_8_30_am,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'othmaint') & (df.start==11)),coef_maintenance_departure_constant_8_am_to_8_30_am -util_maintenance_departure_constant_8_30_am_to_9_00_am,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'othmaint') & (df.start==12)),coef_maintenance_departure_constant_8_30_am_to_9_00_am -util_maintenance_departure_constant_9_am_to_9_30_am,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'othmaint') & (df.start==13)),coef_maintenance_departure_constant_9_am_to_9_30_am -util_maintenance_departure_constant_9_30_am_to_10_am,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'othmaint') & (df.start==14)),coef_maintenance_departure_constant_9_30_am_to_10_am -util_maintenance_departure_constant_10_am_to_10_30_am,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'othmaint') & (df.start==15)),coef_maintenance_departure_constant_10_am_to_10_30_am -util_maintenance_departure_constant_10_30_am_to_11_am,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.start==16)),coef_maintenance_departure_constant_10_30_am_to_11_am -util_maintenance_departure_constant_after_11_am,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.tour_type == 'othmaint') & (df.start>16)),coef_maintenance_departure_constant_after_11_am -util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear -util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared -util_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear -util_maintenance_arrival_constant_before_10_30_am,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.tour_type == 'othmaint') & (df.end<16)),coef_maintenance_arrival_constant_before_10_30_am -util_maintenance_arrival_constant_10_30_am_to_11_am,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.end==16)),coef_maintenance_arrival_constant_10_30_am_to_11_am -util_maintenance_arrival_constant_11_am_to_11_30_am,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.tour_type == 'othmaint') & (df.end==17)),coef_maintenance_arrival_constant_11_am_to_11_30_am -util_maintenance_arrival_constant_11_30_am_to_1_30_pm,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.tour_type == 'othmaint') & (df.end>=18) & (df.end<=21)),coef_maintenance_arrival_constant_11_30_am_to_1_30_pm -util_maintenance_arrival_constant_1_30_pm_to_2_30_pm,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.tour_type == 'othmaint') & (df.end>=22) & (df.end<=23)),coef_maintenance_arrival_constant_1_30_pm_to_2_30_pm -util_maintenance_arrival_constant_2_30_pm_to_4_pm,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.tour_type == 'othmaint') & (df.end>=24) & (df.end<=26)),coef_maintenance_arrival_constant_2_30_pm_to_4_pm -util_maintenance_arrival_constant_4_pm_to_4_30_pm,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'othmaint') & (df.end==27)),coef_maintenance_arrival_constant_4_pm_to_4_30_pm -util_maintenance_arrival_constant_after_4_30_pm,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.tour_type == 'othmaint') & (df.end>27)),coef_maintenance_arrival_constant_after_4_30_pm -util_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear -util_maintenance_duration_constant_0_hr,MAINTENANCE - Duration Constant: 0 hr,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_duration_constant_0_hr -util_maintenance_duration_constant_30_minutes,MAINTENANCE - Duration Constant: 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_duration_constant_30_minutes -util_maintenance_duration_constant_longer_than_30_minutes,MAINTENANCE - Duration Constant: Longer than 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration>1)),coef_maintenance_duration_constant_longer_than_30_minutes -util_maintenance_duration_constant_duration_greater_than_1_hr_linear,MAINTENANCE - Duration Constant: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_linear -util_maintenance_duration_constant_duration_greater_than_1_hr_square_root,MAINTENANCE - Duration Constant: Duration > 1 hr - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_square_root -util_maintenance_calibration_constant_duration_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_calibration_constant_duration_1 -util_maintenance_calibration_constant_duration_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_calibration_constant_duration_2 -util_maintenance_calibration_constant_duration_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.tour_type == 'othmaint') & (df.duration==2)),coef_maintenance_calibration_constant_duration_3 -util_maintenance_calibration_constant_duration_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.tour_type == 'othmaint') & (df.duration==3)),coef_maintenance_calibration_constant_duration_4 -util_maintenance_calibration_constant_duration_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.tour_type == 'othmaint') & (df.duration==4)),coef_maintenance_calibration_constant_duration_5 -#EAT-OUT,#EAT-OUT,,#EAT-OUT -util_eatout_distance_to_destination_duration_less_than_1_hr,EAT-OUT - Distance to destination - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_less_than_1_hr -util_eatout_distance_to_destination_duration_greater_than_1_hr,EAT-OUT - Distance to destination - Duration > 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_greater_than_1_hr -util_eatout_low_income_duration_less_than_1_hr,EAT-OUT - Low income (<25000) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_low_income_duration_less_than_1_hr -util_eatout_medium_income_duration_less_than_1_hr,EAT-OUT - Medium (25k to 60k) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_medium_income_duration_less_than_1_hr -util_eatout_zeroauto_HH_duration_greater_than_1_hr,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.tour_type == 'eatout') & (df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_zeroauto_HH_duration_greater_than_1_hr -util_eatout_university_student_departure_after_7_pm_linear,EAT-OUT - University student - Departure after 7:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start>32) & (df.ptype == 3)), (np.where((df.start<=32), np.minimum(32-df.start,29), 0) + np.where((df.start>32), np.minimum(df.start-32,8), 0)), 0)",coef_eatout_university_student_departure_after_7_pm_linear -util_eatout_female_duration_less_than_1_hr,EAT-OUT - Female - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_less_than_1_hr -util_eatout_female_duration_greater_than_1_hr,EAT-OUT - Female - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_greater_than_1_hr -util_eatout_time_pressure_departure_before_6_30_pm,EAT-OUT - Time Pressure - Departure before 6:30 pm,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<32)), (np.minimum(32-df.start,29)) * (np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_departure_before_6_30_pm -util_eatout_time_pressure_duration_less_than_1_hr,EAT-OUT - Time Pressure - Duration < 1 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration<2)), np.minimum(2-df.duration,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_duration_less_than_1_hr -util_eatout_departure_constant_7_30_am_to_9_am,EAT-OUT - Departure Constant: 07:30 AM - 09:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>=10) & (df.start<=12)),coef_eatout_departure_constant_7_30_am_to_9_am -util_eatout_departure_constant_10_30_am_to_11_am,EAT-OUT - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==16)),coef_eatout_departure_constant_10_30_am_to_11_am -util_eatout_departure_constant_11_am_to_11_30_am,EAT-OUT - Departure Constant: 11:00 AM - 11:30 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==17)),coef_eatout_departure_constant_11_am_to_11_30_am -util_eatout_departure_constant_11_30_am_to_12_pm,EAT-OUT - Departure Constant: 11:30 AM - 12:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==18)),coef_eatout_departure_constant_11_30_am_to_12_pm -util_eatout_departure_constant_12_pm_to_12_30_pm,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start==19)),coef_eatout_departure_constant_12_pm_to_12_30_pm -util_eatout_departure_constant_12_30_pm_to_1_pm,EAT-OUT - Departure Constant: 12:30 PM - 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==20)),coef_eatout_departure_constant_12_30_pm_to_1_pm -util_eatout_departure_constant_1_pm_to_1_30_pm,EAT-OUT - Departure Constant: 01:00 PM - 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==21)),coef_eatout_departure_constant_1_pm_to_1_30_pm -util_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear -util_eatout_departure_constant_before_6_pm,EAT-OUT - Departure Constant: Before 06:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)),coef_eatout_departure_constant_before_6_pm -util_eatout_departure_constant_6_pm_to_6_30_pm,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==31)),coef_eatout_departure_constant_6_pm_to_6_30_pm -util_eatout_departure_constant_6_30_pm_to_7_pm,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==32)),coef_eatout_departure_constant_6_30_pm_to_7_pm -util_eatout_departure_constant_7_pm_to_7_30_pm,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==33)),coef_eatout_departure_constant_7_pm_to_7_30_pm -util_eatout_departure_constant_after_7_30_pm,EAT-OUT - Departure Constant: After 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>33)),coef_eatout_departure_constant_after_7_30_pm -util_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>34)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear -util_eatout_arrival_constant_9_30_am_to_11_am,EAT-OUT - Arrival Constant: 9:30 AM to 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>=14) & (df.end<=16)),coef_eatout_arrival_constant_9_30_am_to_11_am -util_eatout_arrival_constant_12_30_pm_to_1_pm,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==20)),coef_eatout_arrival_constant_12_30_pm_to_1_pm -util_eatout_arrival_constant_1_pm_to_1_30_pm,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==21)),coef_eatout_arrival_constant_1_pm_to_1_30_pm -util_eatout_arrival_constant_1_30_pm_to_2_pm,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==22)),coef_eatout_arrival_constant_1_30_pm_to_2_pm -util_eatout_arrival_constant_2_pm_to_2_30_pm,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==23)),coef_eatout_arrival_constant_2_pm_to_2_30_pm -util_eatout_arrival_constant_2_30_pm_to_3_pm,EAT-OUT - Arrival Constant: 02:30 PM to 03:00 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==24)),coef_eatout_arrival_constant_2_30_pm_to_3_pm -util_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<31)),coef_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear -util_eatout_arrival_constant_before_6_30_pm,EAT-OUT - Arrival Constant: Before 6:30 PM,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<32)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_before_6_30_pm -util_eatout_arrival_constant_6_30_pm_to_7_pm,EAT-OUT - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==32)),coef_eatout_arrival_constant_6_30_pm_to_7_pm -util_eatout_arrival_constant_7_pm_to_7_30_pm,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==33)),coef_eatout_arrival_constant_7_pm_to_7_30_pm -util_eatout_arrival_constant_7_30_pm_to_8_pm,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==34)),coef_eatout_arrival_constant_7_30_pm_to_8_pm -util_eatout_arrival_constant_8_pm_to_8_30_pm,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_category != 'joint') &(df.tour_type == 'eatout') & (df.end==35)),coef_eatout_arrival_constant_8_pm_to_8_30_pm -util_eatout_arrival_constant_8_30_pm_to_9_pm,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==36)),coef_eatout_arrival_constant_8_30_pm_to_9_pm -util_eatout_arrival_constant_after_9_pm,EAT-OUT - Arrival Constant: After 9:00 PM,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.end>36)),coef_eatout_arrival_constant_after_9_pm -util_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear -util_eatout_duration_constant_0_hour,EAT-OUT - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration==0)),coef_eatout_duration_constant_0_hour -util_eatout_duration_constant_30_minutes,EAT-OUT - Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_duration_constant_30_minutes -util_eatout_duration_constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==2)),coef_eatout_duration_constant_1_hour -util_eatout_duration_constant_1_hour_30_minutes,EAT-OUT - Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_duration_constant_1_hour_30_minutes -util_eatout_duration_constant_2_hours,EAT-OUT - Duration Constant: 2 hours,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.duration==4)),coef_eatout_duration_constant_2_hours -util_eatout_duration_constant_2_hour_30_minutes_or_more,EAT-OUT - Duration Constant: 2.5 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>4)),coef_eatout_duration_constant_2_hour_30_minutes_or_more -util_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,11), 0)), 0)",coef_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear -util_eatout_calibration_constant_duration_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_calibration_constant_duration_1 -util_eatout_calibration_constant_duration_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_calibration_constant_duration_2 -util_eatout_calibration_constant_duration_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_calibration_constant_duration_3 -util_eatout_calibration_constant_duration_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_calibration_constant_duration_4 -util_eatout_calibration_constant_departure_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.tour_type == 'eatout') & (df.start == 1)),coef_eatout_calibration_constant_departure_1 -util_eatout_calibration_constant_departure_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.tour_type == 'eatout') & (df.start == 2)),coef_eatout_calibration_constant_departure_2 -util_eatout_calibration_constant_departure_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.tour_type== 'eatout') & (df.start == 3)),coef_eatout_calibration_constant_departure_3 -util_eatout_calibration_constant_departure_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.tour_type == 'eatout') & (df.start ==17)),coef_eatout_calibration_constant_departure_17 -util_eatout_calibration_constant_departure_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.tour_type== 'eatout') & (df.start ==18)),coef_eatout_calibration_constant_departure_18 -util_eatout_calibration_constant_departure_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.tour_type == 'eatout') & (df.start ==19)),coef_eatout_calibration_constant_departure_19 -util_eatout_calibration_constant_departure_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.tour_type == 'eatout') & (df.start ==20)),coef_eatout_calibration_constant_departure_20 -util_eatout_calibration_constant_departure_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.tour_type == 'eatout') & (df.start ==21)),coef_eatout_calibration_constant_departure_21 -#SOCIAL,#SOCIAL,,#SOCIAL -util_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear -util_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear -util_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear -util_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear -util_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear -util_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear -util_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear -util_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear -"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, -util_social_auto_distance_duration_less_than_1_hr_linear,SOCIAL - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_social_auto_distance_duration_less_than_1_hr_linear -util_social_auto_distance_duration_greater_than_1_hr_linear,SOCIAL - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_social_auto_distance_duration_greater_than_1_hr_linear -util_social_time_pressure_duration_less_than_1_hr,SOCIAL - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), np.minimum(3-df.duration,47), 0)* (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_less_than_1_hr -util_social_time_pressure_duration_greater_than_1_hr,SOCIAL - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3)), np.minimum(df.duration-3,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_greater_than_1_hr -util_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,SOCIAL - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.num_add_soc_discr_tours), 0)",coef_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr -util_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@((df.tour_type == 'social') & (df.start<12)) * ((np.minimum(12-df.start,48)*(df.start<12)) + (np.minimum(df.start-48,48)*(df.start>48)))",coef_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear -util_social_departure_constant_before_9_am,SOCIAL - Departure Constant: Before 09:00 AM,@(df.tour_type == 'social') & (df.start<13),coef_social_departure_constant_before_9_am -util_social_departure_constant_9_am_to_9_30_am,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.tour_type == 'social') & (df.start==13),coef_social_departure_constant_9_am_to_9_30_am -util_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.tour_type == 'social') & (df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear -util_social_departure_constant_before_5_30_pm,SOCIAL - Departure Constant: Before 05:30 PM,@((df.tour_type == 'social') & (df.start<30)),coef_social_departure_constant_before_5_30_pm -util_social_departure_constant_5_30_pm_to_6_pm,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'social') & (df.start==30)),coef_social_departure_constant_5_30_pm_to_6_pm -util_social_departure_constant_6_pm_to_6_30_pm,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'social') & (df.start==31)),coef_social_departure_constant_6_pm_to_6_30_pm -util_social_departure_constant_6_30_pm_to_7_pm,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'social') & (df.start==32)),coef_social_departure_constant_6_30_pm_to_7_pm -util_social_departure_constant_7_pm_to_7_30_pm,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_type == 'social') & (df.start==33)),coef_social_departure_constant_7_pm_to_7_30_pm -util_social_departure_constant_after_7_30_pm,SOCIAL - Departure Constant: After 07:30 PM,@((df.tour_type == 'social') & (df.start>33)),coef_social_departure_constant_after_7_30_pm -util_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.tour_type == 'social') & (df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear -util_social_arrival_constant_3_pm_to_3_30_pm,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.tour_type == 'social') & (df.end==25)),coef_social_arrival_constant_3_pm_to_3_30_pm -util_social_arrival_constant_3_30_pm_to_4_pm,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.tour_type == 'social') & (df.end==26)),coef_social_arrival_constant_3_30_pm_to_4_pm -util_social_arrival_constant_4_pm_to_4_30_pm,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.tour_type == 'social') & (df.end==27)),coef_social_arrival_constant_4_pm_to_4_30_pm -util_social_arrival_constant_5_pm_to_6_pm,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.tour_type == 'social') & (df.end>=29) & (df.end<=30)),coef_social_arrival_constant_5_pm_to_6_pm -util_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear -util_social_arrival_constant_before_8_30_pm,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.tour_type == 'social') & (df.end<36)),coef_social_arrival_constant_before_8_30_pm -util_social_arrival_constant_8_30_pm_to_9_pm,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'social') & (df.end==36)),coef_social_arrival_constant_8_30_pm_to_9_pm -util_social_arrival_constant_9_pm_to_9_30_pm,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.tour_type == 'social') & (df.end==37)),coef_social_arrival_constant_9_pm_to_9_30_pm -util_social_arrival_constant_9_30_pm_to_10_pm,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.tour_type == 'social') & (df.end==38)),coef_social_arrival_constant_9_30_pm_to_10_pm -util_social_arrival_constant_10_pm_to_10_30_pm,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.tour_type == 'social') & (df.end==39)),coef_social_arrival_constant_10_pm_to_10_30_pm -util_social_arrival_constant_after_10_30_pm,SOCIAL - Arrival Constant: After 10:30 PM,@((df.tour_type == 'social') & (df.end>39)),coef_social_arrival_constant_after_10_30_pm -util_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear -util_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 2.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<5)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>7), np.minimum(df.duration-7,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear -util_social_duration_constant_less_than_3_hours,SOCIAL - Duration Constant: Less than 3 hrs,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<6)),coef_social_duration_constant_less_than_3_hours -util_social_duration_constant_3_hours,SOCIAL - Duration Constant: 3 hours,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration==6)),coef_social_duration_constant_3_hours -util_social_duration_constant_3_hrs_30_minutes,SOCIAL - Duration Constant: 3.5 hours,@((df.tour_category != 'joint')& (df.tour_type == 'social') & (df.duration==7)),coef_social_duration_constant_3_hrs_30_minutes -util_social_duration_constant_4_hours_or_more,SOCIAL - Duration Constant: 4 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>7)),coef_social_duration_constant_4_hours_or_more -util_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 4.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>8)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>8), np.minimum(df.duration-8,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear -util_social_calibration_constant_duration_1,SOCIAL - Calibration Constant - Duration = 1,@((df.tour_type == 'social') & (df.duration ==0)),coef_social_calibration_constant_duration_1 -util_social_calibration_constant_duration_2,SOCIAL - Calibration Constant - Duration = 2,@((df.tour_type == 'social') & (df.duration == 1)),coef_social_calibration_constant_duration_2 -util_social_calibration_constant_duration_3,SOCIAL - Calibration Constant - Duration = 3,@((df.tour_type == 'social') & (df.duration ==2)),coef_social_calibration_constant_duration_3 -util_social_calibration_constant_duration_4,SOCIAL - Calibration Constant - Duration = 4,@((df.tour_type == 'social') & (df.duration ==3)),coef_social_calibration_constant_duration_4 -util_social_calibration_constant_duration_5,SOCIAL - Calibration Constant - Duration = 5,@((df.tour_type == 'social') & (df.duration ==4)),coef_social_calibration_constant_duration_5 -util_social_calibration_constant_duration_6,SOCIAL - Calibration Constant - Duration = 6,@((df.tour_type == 'social') & (df.duration ==5)),coef_social_calibration_constant_duration_6 -util_social_calibration_constant_duration_7,SOCIAL - Calibration Constant - Duration = 7,@((df.tour_type == 'social') & (df.duration ==6)),coef_social_calibration_constant_duration_7 -util_social_calibration_constant_duration_8,SOCIAL - Calibration Constant - Duration = 8,@((df.tour_type == 'social') & (df.duration ==7)),coef_social_calibration_constant_duration_8 -util_social_calibration_constant_duration_9,SOCIAL - Calibration Constant - Duration = 9,@((df.tour_type == 'social') & (df.duration ==8)),coef_social_calibration_constant_duration_9 -#DISCRETIONARY,#DISCRETIONARY,,#DISCRETIONARY -util_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear -util_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear -util_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear -util_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear -util_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear -util_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear -util_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) & (df.tour_type == 'othdiscr') & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)),0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear -util_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear -"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, -util_discretionary_auto_distance_duration_less_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_less_than_1_hr_linear -util_discretionary_auto_distance_duration_greater_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_greater_than_1_hr_linear -util_discretionary_time_pressure_duration_less_than_1_hr,DISCRETIONARY - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3)), np.minimum(3-df.duration,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_discretionary_time_pressure_duration_less_than_1_hr -util_discretionary_time_pressure_duration_greater_than_1_hr,DISCRETIONARY - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3)), np.minimum(df.duration-3,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_discretionary_time_pressure_duration_greater_than_1_hr -util_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,DISCRETIONARY - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0))*(df.num_add_soc_discr_tours),0)",coef_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr -util_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear -util_discretionary_departure_constant_before_7_30_am,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.tour_type == 'othdiscr') & (df.start<10)),coef_discretionary_departure_constant_before_7_30_am -util_discretionary_departure_constant_7_30_am_to_8_am,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.tour_type == 'othdiscr') & (df.start==10)),coef_discretionary_departure_constant_7_30_am_to_8_am -util_discretionary_departure_constant_8_am_to_8_30_am,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.tour_type == 'othdiscr') & (df.start==11)),coef_discretionary_departure_constant_8_am_to_8_30_am -util_discretionary_departure_constant_8_30_am_to_9_am,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.tour_type == 'othdiscr') & (df.start==12)),coef_discretionary_departure_constant_8_30_am_to_9_am -util_discretionary_departure_constant_9_am_to_9_30_am,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.tour_type == 'othdiscr') & (df.start==13)),coef_discretionary_departure_constant_9_am_to_9_30_am -util_discretionary_departure_constant_9_30_am_to_10_am,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.tour_type == 'othdiscr') & (df.start==14)),coef_discretionary_departure_constant_9_30_am_to_10_am -util_discretionary_departure_constant_10_am_to_10_30_am,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.tour_type == 'othdiscr') & (df.start==15)),coef_discretionary_departure_constant_10_am_to_10_30_am -util_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear -util_discretionary_departure_constant_before_5_pm,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.tour_type == 'othdiscr') & (df.start<29)),coef_discretionary_departure_constant_before_5_pm -util_discretionary_departure_constant_5_pm_to_5_30_pm,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_departure_constant_5_pm_to_5_30_pm -util_discretionary_departure_constant_5_30_pm_to_6_pm,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_departure_constant_5_30_pm_to_6_pm -util_discretionary_departure_constant_6_pm_to_6_30_pm,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_departure_constant_6_pm_to_6_30_pm -util_discretionary_departure_constant_6_30_pm_to_7_pm,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_departure_constant_6_30_pm_to_7_pm -util_discretionary_departure_constant_after_7_pm,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start>32)),coef_discretionary_departure_constant_after_7_pm -util_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear -util_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear -util_discretionary_arrival_constant_before_6_30_pm,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.tour_type == 'othdiscr') & (df.end<32)),coef_discretionary_arrival_constant_before_6_30_pm -util_discretionary_arrival_constant_6_30_pm_to_7_pm,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_type == 'othdiscr') & (df.end==32)),coef_discretionary_arrival_constant_6_30_pm_to_7_pm -util_discretionary_arrival_constant_7_pm_to_7_30_pm,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_type == 'othdiscr') & (df.end==33)),coef_discretionary_arrival_constant_7_pm_to_7_30_pm -util_discretionary_arrival_constant_7_30_pm_to_8_pm,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_type == 'othdiscr') & (df.end==34)),coef_discretionary_arrival_constant_7_30_pm_to_8_pm -util_discretionary_arrival_constant_8_pm_to_8_30_pm,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_type == 'othdiscr') & (df.end==35)),coef_discretionary_arrival_constant_8_pm_to_8_30_pm -util_discretionary_arrival_constant_8_30_pm_to_9_pm,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end==36)),coef_discretionary_arrival_constant_8_30_pm_to_9_pm -util_discretionary_arrival_constant_after_9_pm,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end>36)),coef_discretionary_arrival_constant_after_9_pm -util_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear -util_discretionary_duration_constant_0_hour,DISCRETIONARY - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==0)),coef_discretionary_duration_constant_0_hour -util_discretionary_duration_constant_30_minutes,DISCRETIONARY -Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==1)),coef_discretionary_duration_constant_30_minutes -util_discretionary_duration_constant_1_hour,DISCRETIONARY -Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==2)),coef_discretionary_duration_constant_1_hour -util_discretionary_duration_constant_1_hr_30_minutes,DISCRETIONARY -Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_duration_constant_1_hr_30_minutes -util_discretionary_duration_constant_2_hours,DISCRETIONARY -Duration Constant: 2 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_duration_constant_2_hours -util_discretionary_duration_constant_2_hr_30_minutes,DISCRETIONARY -Duration Constant: 2.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==5)),coef_discretionary_duration_constant_2_hr_30_minutes -util_discretionary_duration_constant_3_hours_or_more,DISCRETIONARY -Duration Constant: 3 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>5)),coef_discretionary_duration_constant_3_hours_or_more -util_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,DISCRETIONARY -Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,47), 0)), 0)",coef_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear -util_discretionary_calibration_constant_duration_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_calibration_constant_duration_4 -util_discretionary_calibration_constant_duration_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_calibration_constant_duration_5 -util_discretionary_calibration_constant_departure_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_calibration_constant_departure_29 -util_discretionary_calibration_constant_departure_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_calibration_constant_departure_30 -util_discretionary_calibration_constant_departure_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_calibration_constant_departure_31 -util_discretionary_calibration_constant_departure_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_calibration_constant_departure_32 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_coeffs.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_coeffs.csv deleted file mode 100755 index 9c3b2e8f05..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_coeffs.csv +++ /dev/null @@ -1,337 +0,0 @@ -coefficient_name,value,constrain -coef_escort_mode_choice_logsum,1.173173034,F -coef_escort_distance_to_destination_duration_less_than_30_minutes,-0.335017673,F -coef_escort_distance_to_destination_duration_greater_than_30_minutes,0.005298165,F -coef_escort_fulltime_worker_departure_after_8_am_linear,-0.037980109,F -coef_escort_fulltime_worker_departure_after_3_am_linear,0.163254125,F -coef_escort_fulltime_worker_duration_less_than_30_minutes,-0.275077482,F -coef_escort_fulltime_worker_duration_greater_than_30_minutes,0.051530545,F -coef_escort_university_student_duration_less_than_30_minutes,-0.426802718,F -coef_escort_non_driving_age_student_duration_greater_than_30_minutes,0.240582361,F -coef_escort_driving_age_student_duration_less_than_30_minutes,-0.554146191,F -coef_escort_driving_age_student_duration_greater_than_30_minutes,0.299387708,F -coef_escort_pre_school_kid_duration_greater_than_30_minutes,0.195482563,F -coef_escort_med_high_income_duration_greater_than_30_minutes,-0.029281467,F -coef_escort_households_with_no_kids_departure_before_7_30_am,0.589083327,F -coef_escort_households_with_no_kids_departure_after_8_00_am,0.086690827,F -coef_escort_households_with_no_kids_departure_before_2_30_pm,0.477582648,F -coef_escort_households_with_no_kids_departure_after_3_00_pm,-0.204065502,F -coef_escort_households_with_no_kids_arrival_before_8_am,-0.360039254,F -coef_escort_households_with_no_kids_arrival_after_8_30_am,0.091614107,F -coef_escort_households_with_no_kids_arrival_before_3_pm,0.432854268,F -coef_escort_households_with_no_kids_arrival_after_3_30_pm,0.131037275,F -coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am,0.109700265,F -coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm,-0.224568648,F -coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am,-0.357416434,F -coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm,0.629285298,F -coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am,0.039005148,F -coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am,-0.06556611,F -coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm,0.117680977,F -coef_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes,-0.057322708,F -coef_escort_number_of_individual_tours_duration_greater_than_30_minutes,-0.062899692,F -coef_escort_number_of_joint_tours_duration_greater_than_30_minutes,-0.048533895,F -coef_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear,-1.469240002,F -coef_escort_departure_constant_before_7_am,-2.070292862,F -coef_escort_departure_constant_7_am_to_7_30_am,-0.642734296,F -coef_escort_departure_constant_7_30_am_to_8_am,0,T -coef_escort_departure_constant_8_am_to_8_30_am,-0.214617667,F -coef_escort_departure_constant_8_30_am_to_9_am,-0.147266606,F -coef_escort_departure_constant_after_9_am,-1.356686422,F -coef_escort_departure_constant_1_30_pm_to_2_pm,0.368092381,F -coef_escort_departure_constant_2_pm_to_2_30_pm,1.166803383,F -coef_escort_departure_constant_2_30_pm_to_3_pm,1.28466083,F -coef_escort_departure_constant_3_pm_to_3_30_pm,0.581891245,F -coef_escort_departure_constant_after_3_30_pm,0.834510243,F -coef_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear,0.175257649,F -coef_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear,-0.019161202,F -coef_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear,0.44978138,F -coef_escort_arrival_constant_before_7_am,0.549584585,F -coef_escort_arrival_constant_7_am_to_7_30_am,0.488181278,F -coef_escort_arrival_constant_7_30_am_to_8_am,0.236447651,F -coef_escort_arrival_constant_8_am_to_8_30_am,0,T -coef_escort_arrival_constant_8_30_am_to_9_am,-0.683756801,F -coef_escort_arrival_constant_after_9_am,-1.428888485,F -coef_escort_arrival_constant_2_30_pm_to_3_pm,1.311480662,F -coef_escort_arrival_constant_3_pm_to_3_30_pm,1.316883154,F -coef_escort_arrival_constant_3_30_pm_to_4_pm,1.396838392,F -coef_escort_arrival_constant_4_pm_to_4_30_pm,1.03146139,F -coef_escort_arrival_constant_after_4_30_pm,0.907344583,F -coef_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear,-0.148408887,F -coef_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,-0.389082896,F -coef_escort_duration_constant_0_hour,-0.173757322,F -coef_escort_duration_constant_30_minutes,0,T -coef_escort_duration_constant_1_hour,-0.431287743,F -coef_escort_duration_constant_1_hour_30_minutes,-0.700473959,F -coef_escort_duration_constant_2_hours,-1.071871358,F -coef_escort_duration_constant_longer_than_2_hours,-1.691098421,F -coef_escort_calibration_constant_duration_1,-0.047200214,F -coef_escort_calibration_constant_duration_2,0.035611332,F -coef_escort_calibration_constant_departure_9,0.106814756,F -coef_escort_calibration_constant_departure_10,0.215386864,F -coef_escort_calibration_constant_departure_23,-0.255087318,F -coef_escort_calibration_constant_departure_24,-0.296870428,F -coef_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes,0.122149101,F -coef_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes,-0.037886459,F -coef_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes,0.10247157,F -coef_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes,-1.882944033,F -coef_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes,-0.197455071,F -coef_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes,-0.045152663,F -coef_shopping_retired_duration_less_than_1_hour_30_minutes,-0.264728908,F -coef_shopping_retired_duration_greater_than_1_hour_30_minutes,-0.042981757,F -coef_shopping_university_student_duration_greater_than_1_hour_30_minutes,0.045926523,F -coef_shopping_female_duration_less_than_1_hour_30_minutes,-0.417208254,F -coef_shopping_female_duration_greater_than_1_hour_30_minutes,0.045801918,F -coef_shopping_low_income_duration_greater_than_1_hour_30_minutes,0.040776383,F -coef_shopping_medium_income_duration_less_than_1_hour_30_minutes,0.108462927,F -coef_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes,-0.037893416,F -coef_shopping_distance_duration_less_than_1_hour_30_minutes,-0.214802537,F -coef_shopping_distance_duration_greater_than_1_hour_30_minutes,0.007991656,F -coef_shopping_time_pressure_duration_greater_than_1_hour_30_minutes,0.013503327,F -coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,0.078844289,F -coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,-0.115431492,F -coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,-0.959875456,F -coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root,1.112594898,F -coef_shopping_departure_constant_before_9_am,-0.446394064,F -coef_shopping_departure_constant_9_am_to_9_30_am,-0.021669265,F -coef_shopping_departure_constant_9_30_am_to_10_am,-0.282978638,F -coef_shopping_departure_constant_10_am_to_10_30_am,0,T -coef_shopping_departure_constant_10_30_am_to_11_00_am,-0.309421311,F -coef_shopping_departure_constant_after_11_am,-0.541073357,F -coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,-0.072013428,F -coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,-0.000653398,F -coef_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear,-0.18376635,F -coef_shopping_arrival_constant_before_12_30_pm,-0.716195343,F -coef_shopping_arrival_constant_12_30_pm_to_3_pm,-0.502714001,F -coef_shopping_arrival_constant_3_pm_to_3_30_pm,-0.167868872,F -coef_shopping_arrival_constant_3_30_pm_to_4_pm,-0.156786941,F -coef_shopping_arrival_constant_4_pm_to_4_30_pm,0,T -coef_shopping_arrival_constant_4_30_pm_to_5_pm,-0.057314044,F -coef_shopping_arrival_constant_5_pm_to_5_30_pm,-0.580040851,F -coef_shopping_arrival_constant_5_30_pm_to_7_pm,-0.32239566,F -coef_shopping_arrival_constant_7_pm_to_9_30_pm,-0.347828147,F -coef_shopping_arrival_constant_after_9_30_pm,-1.123574723,F -coef_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear,-0.499770654,F -coef_shopping_duration_constant_0_hr,-0.131743185,F -coef_shopping_duration_constant_30_minutes,0.888857137,F -coef_shopping_duration_constant_1_hr,0,T -coef_shopping_duration_constant_1_hour_30_minutes,-0.333413031,F -coef_shopping_duration_constant_2_hrs,-0.850897912,F -coef_shopping_duration_constant_longer_than_2_hrs,-1.203783479,F -coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear,-0.293581223,F -coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root,-0.215759138,F -coef_shopping_calibration_constant_duration_1,-0.138450424,F -coef_shopping_calibration_constant_duration_2,-0.092704403,F -coef_shopping_calibration_constant_duration_3,-0.087738073,F -coef_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes,0.122149101,F -coef_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes,-0.037886459,F -coef_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes,0.10247157,F -coef_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes,-1.882944033,F -coef_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes,-0.197455071,F -coef_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes,-0.045152663,F -coef_maintenance_retired_duration_less_than_1_hour_30_minutes,-0.264728908,F -coef_maintenance_retired_duration_greater_than_1_hour_30_minutes,-0.042981757,F -coef_maintenance_university_student_duration_greater_than_1_hour_30_minutes,0.045926523,F -coef_maintenance_female_duration_less_than_1_hour_30_minutes,-0.417208254,F -coef_maintenance_female_duration_greater_than_1_hour_30_minutes,0.045801918,F -coef_maintenance_low_income_duration_greater_than_1_hour_30_minutes,0.040776383,F -coef_maintenance_medium_income_duration_less_than_1_hour_30_minutes,0.108462927,F -coef_maintenance_medium_income_duration_greater_than_1_hour_30_minutes,0,T -coef_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes,-0.037893416,F -coef_maintenance_distance_duration_less_than_1_hour_30_minutes,-0.214802537,F -coef_maintenance_distance_duration_greater_than_1_hour_30_minutes,0.007991656,F -coef_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes,0.013503327,F -coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,0.078844289,F -coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,-0.115431492,F -coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear,-0.864112609,F -coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root,0.504598473,F -coef_maintenance_departure_constant_before_8_am,-0.383711788,F -coef_maintenance_departure_constant_8_am_to_8_30_am,-0.076771517,F -coef_maintenance_departure_constant_8_30_am_to_9_00_am,-0.169259979,F -coef_maintenance_departure_constant_9_am_to_9_30_am,-0.051785379,F -coef_maintenance_departure_constant_9_30_am_to_10_am,-0.214942451,F -coef_maintenance_departure_constant_10_am_to_10_30_am,0,T -coef_maintenance_departure_constant_10_30_am_to_11_am,-0.427568963,F -coef_maintenance_departure_constant_after_11_am,-0.520863411,F -coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,0.042879095,F -coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,-0.003157293,F -coef_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear,-0.226803619,F -coef_maintenance_arrival_constant_before_10_30_am,-0.223212258,F -coef_maintenance_arrival_constant_10_30_am_to_11_am,0,T -coef_maintenance_arrival_constant_11_am_to_11_30_am,-0.128382637,F -coef_maintenance_arrival_constant_11_30_am_to_1_30_pm,0.167977332,F -coef_maintenance_arrival_constant_1_30_pm_to_2_30_pm,-0.149495878,F -coef_maintenance_arrival_constant_2_30_pm_to_4_pm,0.087679934,F -coef_maintenance_arrival_constant_4_pm_to_4_30_pm,0.121707557,F -coef_maintenance_arrival_constant_after_4_30_pm,0.106745013,F -coef_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,-0.232610927,F -coef_maintenance_duration_constant_0_hr,-0.483549396,F -coef_maintenance_duration_constant_30_minutes,0,T -coef_maintenance_duration_constant_longer_than_30_minutes,-1.450618319,F -coef_maintenance_duration_constant_duration_greater_than_1_hr_linear,-0.275082922,F -coef_maintenance_duration_constant_duration_greater_than_1_hr_square_root,0.208434683,F -coef_maintenance_calibration_constant_duration_1,-0.124602605,F -coef_maintenance_calibration_constant_duration_2,-0.103637715,F -coef_maintenance_calibration_constant_duration_3,-0.225442145,F -coef_maintenance_calibration_constant_duration_4,-0.145273012,F -coef_maintenance_calibration_constant_duration_5,-0.019241539,F -coef_eatout_distance_to_destination_duration_less_than_1_hr,-0.134981987,F -coef_eatout_distance_to_destination_duration_greater_than_1_hr,0.017860742,F -coef_eatout_low_income_duration_less_than_1_hr,1.002485807,F -coef_eatout_medium_income_duration_less_than_1_hr,0.499822018,F -coef_eatout_zeroauto_HH_duration_greater_than_1_hr,0.259409942,F -coef_eatout_university_student_departure_after_7_pm_linear,0.293827759,F -coef_eatout_female_duration_less_than_1_hr,-0.399414247,F -coef_eatout_female_duration_greater_than_1_hr,0.064593482,F -coef_eatout_time_pressure_departure_before_6_30_pm,0.083673557,F -coef_eatout_time_pressure_duration_less_than_1_hr,1.69632588,F -coef_eatout_departure_constant_7_30_am_to_9_am,1.222417262,F -coef_eatout_departure_constant_10_30_am_to_11_am,0.519559134,F -coef_eatout_departure_constant_11_am_to_11_30_am,1.191543552,F -coef_eatout_departure_constant_11_30_am_to_12_pm,1.66870995,F -coef_eatout_departure_constant_12_pm_to_12_30_pm,1.164106986,F -coef_eatout_departure_constant_12_30_pm_to_1_pm,1.057346496,F -coef_eatout_departure_constant_1_pm_to_1_30_pm,0.728959087,F -coef_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear,-0.477439748,F -coef_eatout_departure_constant_before_6_pm,-1.21554671,F -coef_eatout_departure_constant_6_pm_to_6_30_pm,-0.425984037,F -coef_eatout_departure_constant_6_30_pm_to_7_pm,0,T -coef_eatout_departure_constant_7_pm_to_7_30_pm,-0.227800647,F -coef_eatout_departure_constant_after_7_30_pm,-0.293904097,F -coef_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,-0.55440861,F -coef_eatout_arrival_constant_9_30_am_to_11_am,0.486337344,F -coef_eatout_arrival_constant_12_30_pm_to_1_pm,0.629299404,F -coef_eatout_arrival_constant_1_pm_to_1_30_pm,0.938528731,F -coef_eatout_arrival_constant_1_30_pm_to_2_pm,0.584420106,F -coef_eatout_arrival_constant_2_pm_to_2_30_pm,0.842550215,F -coef_eatout_arrival_constant_2_30_pm_to_3_pm,0.298486505,F -coef_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,0.125034982,F -coef_eatout_arrival_constant_before_6_30_pm,-0.029062996,F -coef_eatout_arrival_constant_6_30_pm_to_7_pm,-0.509075598,F -coef_eatout_arrival_constant_7_pm_to_7_30_pm,-0.124885931,F -coef_eatout_arrival_constant_7_30_pm_to_8_pm,-0.605455664,F -coef_eatout_arrival_constant_8_pm_to_8_30_pm,0,T -coef_eatout_arrival_constant_8_30_pm_to_9_pm,-0.657382835,F -coef_eatout_arrival_constant_after_9_pm,-0.813629712,F -coef_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,-0.204722406,F -coef_eatout_duration_constant_0_hour,-11.72660422,F -coef_eatout_duration_constant_30_minutes,-5.08873115,F -coef_eatout_duration_constant_1_hour,-0.125521065,F -coef_eatout_duration_constant_1_hour_30_minutes,0,T -coef_eatout_duration_constant_2_hours,-0.124807752,F -coef_eatout_duration_constant_2_hour_30_minutes_or_more,-0.156019835,F -coef_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,-0.3357414,F -coef_eatout_calibration_constant_duration_1,-0.333697861,F -coef_eatout_calibration_constant_duration_2,-0.245716,F -coef_eatout_calibration_constant_duration_3,0.052708833,F -coef_eatout_calibration_constant_duration_4,0.041571499,F -coef_eatout_calibration_constant_departure_1,-10,F -coef_eatout_calibration_constant_departure_2,-10,F -coef_eatout_calibration_constant_departure_3,-10,F -coef_eatout_calibration_constant_departure_17,0.706568704,F -coef_eatout_calibration_constant_departure_18,0.634353544,F -coef_eatout_calibration_constant_departure_19,0.584387268,F -coef_eatout_calibration_constant_departure_20,0.469777884,F -coef_eatout_calibration_constant_departure_21,0.39548931,F -coef_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,-0.262839914,F -coef_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,0.086919429,F -coef_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear,0.468354376,F -coef_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear,-0.312282762,F -coef_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,-0.508439932,F -coef_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,0.074190914,F -coef_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,0.127185965,F -coef_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,0.048756122,F -coef_social_auto_distance_duration_less_than_1_hr_linear,-0.162965435,F -coef_social_auto_distance_duration_greater_than_1_hr_linear,0.006797399,F -coef_social_time_pressure_duration_less_than_1_hr,-0.229264474,F -coef_social_time_pressure_duration_greater_than_1_hr,0.219325112,F -coef_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,0.156250451,F -coef_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,-0.529943196,F -coef_social_departure_constant_before_9_am,-0.198438086,F -coef_social_departure_constant_9_am_to_9_30_am,0.137620628,F -coef_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear,-0.142078961,F -coef_social_departure_constant_before_5_30_pm,-0.390965052,F -coef_social_departure_constant_5_30_pm_to_6_pm,-0.453580491,F -coef_social_departure_constant_6_pm_to_6_30_pm,0,T -coef_social_departure_constant_6_30_pm_to_7_pm,-0.088537991,F -coef_social_departure_constant_7_pm_to_7_30_pm,0.052983115,F -coef_social_departure_constant_after_7_30_pm,-0.649629162,F -coef_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,-0.09574499,F -coef_social_arrival_constant_3_pm_to_3_30_pm,0.37674882,F -coef_social_arrival_constant_3_30_pm_to_4_pm,0.583355461,F -coef_social_arrival_constant_4_pm_to_4_30_pm,0.727855233,F -coef_social_arrival_constant_5_pm_to_6_pm,0.249551955,F -coef_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear,0.053771388,F -coef_social_arrival_constant_before_8_30_pm,0.308763611,F -coef_social_arrival_constant_8_30_pm_to_9_pm,-0.208797698,F -coef_social_arrival_constant_9_pm_to_9_30_pm,-0.336319511,F -coef_social_arrival_constant_9_30_pm_to_10_pm,0,T -coef_social_arrival_constant_10_pm_to_10_30_pm,-0.055707591,F -coef_social_arrival_constant_after_10_30_pm,-0.612356296,F -coef_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear,-0.348479901,F -coef_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear,0.614440191,F -coef_social_duration_constant_less_than_3_hours,0.353666691,F -coef_social_duration_constant_3_hours,0,T -coef_social_duration_constant_3_hrs_30_minutes,-0.691218836,F -coef_social_duration_constant_4_hours_or_more,-1.344375328,F -coef_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear,-0.786970714,F -coef_social_calibration_constant_duration_1,-1.346772472,F -coef_social_calibration_constant_duration_2,0.377121689,F -coef_social_calibration_constant_duration_3,0.179818928,F -coef_social_calibration_constant_duration_4,-0.283418619,F -coef_social_calibration_constant_duration_5,-0.103541313,F -coef_social_calibration_constant_duration_6,-0.03704707,F -coef_social_calibration_constant_duration_7,-0.062437167,F -coef_social_calibration_constant_duration_8,0.047640282,F -coef_social_calibration_constant_duration_9,0.284369793,F -coef_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,-0.262839914,F -coef_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,0.086919429,F -coef_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear,0.468354376,F -coef_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear,-0.312282762,F -coef_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,-0.508439932,F -coef_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,0.074190914,F -coef_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,0.127185965,F -coef_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,0.048756122,F -coef_discretionary_auto_distance_duration_less_than_1_hr_linear,-0.162965435,F -coef_discretionary_auto_distance_duration_greater_than_1_hr_linear,0.006797399,F -coef_discretionary_time_pressure_duration_less_than_1_hr,-0.229264474,F -coef_discretionary_time_pressure_duration_greater_than_1_hr,0.219325112,F -coef_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,0.156250451,F -coef_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear,-0.742176805,F -coef_discretionary_departure_constant_before_7_30_am,-1.323901585,F -coef_discretionary_departure_constant_7_30_am_to_8_am,-0.695441631,F -coef_discretionary_departure_constant_8_am_to_8_30_am,-0.269903336,F -coef_discretionary_departure_constant_8_30_am_to_9_am,-0.093709211,F -coef_discretionary_departure_constant_9_am_to_9_30_am,0.265634082,F -coef_discretionary_departure_constant_9_30_am_to_10_am,0.287521134,F -coef_discretionary_departure_constant_10_am_to_10_30_am,0.396547817,F -coef_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear,-0.245885745,F -coef_discretionary_departure_constant_before_5_pm,-1.344482349,F -coef_discretionary_departure_constant_5_pm_to_5_30_pm,-0.622632748,F -coef_discretionary_departure_constant_5_30_pm_to_6_pm,-0.456718676,F -coef_discretionary_departure_constant_6_pm_to_6_30_pm,-0.206896106,F -coef_discretionary_departure_constant_6_30_pm_to_7_pm,0,T -coef_discretionary_departure_constant_after_7_pm,-0.46439343,F -coef_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear,-0.291998986,F -coef_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,0.148649188,F -coef_discretionary_arrival_constant_before_6_30_pm,0.668775963,F -coef_discretionary_arrival_constant_6_30_pm_to_7_pm,-0.053520826,F -coef_discretionary_arrival_constant_7_pm_to_7_30_pm,0.099726391,F -coef_discretionary_arrival_constant_7_30_pm_to_8_pm,0.063414092,F -coef_discretionary_arrival_constant_8_pm_to_8_30_pm,0,T -coef_discretionary_arrival_constant_8_30_pm_to_9_pm,-0.18610847,F -coef_discretionary_arrival_constant_after_9_pm,-0.423207857,F -coef_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,-0.525545923,F -coef_discretionary_duration_constant_0_hour,0.436988282,F -coef_discretionary_duration_constant_30_minutes,1.35967577,F -coef_discretionary_duration_constant_1_hour,1.692672999,F -coef_discretionary_duration_constant_1_hr_30_minutes,1.118932964,F -coef_discretionary_duration_constant_2_hours,0.771255733,F -coef_discretionary_duration_constant_2_hr_30_minutes,0,T -coef_discretionary_duration_constant_3_hours_or_more,-0.631242175,F -coef_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,-0.700935645,F -coef_discretionary_calibration_constant_duration_4,-0.132674257,F -coef_discretionary_calibration_constant_duration_5,-0.013371871,F -coef_discretionary_calibration_constant_departure_29,0.232927977,F -coef_discretionary_calibration_constant_departure_30,0.306104612,F -coef_discretionary_calibration_constant_departure_31,0.285520678,F -coef_discretionary_calibration_constant_departure_32,0.115886631,F diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_school.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_school.csv deleted file mode 100755 index 9dd9ca8cd7..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_school.csv +++ /dev/null @@ -1,59 +0,0 @@ -Label,Description,Expression,Coefficient -util_Mode_Choice_Logsum,SCHOOL - Mode Choice Logsum,mode_choice_logsum,coef_Mode_Choice_Logsum -util_Low_income_lt25000_Departure_before_730_am__Linear,SCHOOL - Low income (<25000) - Departure before 7:30 am - Linear,"@((df.is_income_less25K) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Low_income_lt25000_Departure_before_730_am__Linear -util_Low_income_lt25000_Departure_after_800_am_Linear,SCHOOL - Low income (<25000) - Departure after 8:00 am - Linear,"@((df.is_income_less25K) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Low_income_lt25000_Departure_after_800_am_Linear -util_Low_income_lt25000_Duration_lt_8hrs,SCHOOL - Low income (<25000) - Duration < 8hrs,"@((df.is_income_less25K) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Low_income_lt25000_Duration_lt_8hrs -util_Low_income_lt25000_Duration_gt_8hrs,SCHOOL - Low income (<25000) - Duration > 8hrs,"@((df.is_income_less25K) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Low_income_lt25000_Duration_gt_8hrs -util_Med_income_25k_to_60k_Departure_before_730_am__Linear,SCHOOL - Med income (25k to 60k) - Departure before 7:30 am - Linear,"@((df.is_income_25K_to_60K) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Med_income_25k_to_60k_Departure_before_730_am__Linear -util_Age_0_to_5_yrs_Departure_Before_730_am,SCHOOL - Age 0 to 5 yrs - Departure Before 7:30 am,"@(((df.age>=0) & (df.age<=5)) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_0_to_5_yrs_Departure_Before_730_am -util_Age_13_to_15_yrs_Departure_Before_730_am,SCHOOL - Age 13 to 15 yrs - Departure Before 7:30 am,"@(((df.age>=13) & (df.age<=15)) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_13_to_15_yrs_Departure_Before_730_am -util_Age_13_to_15_yrs_Departure_After_800_am,SCHOOL - Age 13 to 15 yrs - Departure After 8:00 am,"@(((df.age>=13) & (df.age<=15)) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_13_to_15_yrs_Departure_After_800_am -util_Age_16_to_17_yrs_Departure_After_800_am,SCHOOL - Age 16 to 17 yrs - Departure After 8:00 am,"@(((df.age>=16) & (df.age<=17)) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_16_to_17_yrs_Departure_After_800_am -util_Age_0_to_5_yrs_Duration_lt_8hrs,SCHOOL - Age 0 to 5 yrs - Duration < 8hrs,"@(((df.age>0) & (df.age<=5)) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_0_to_5_yrs_Duration_lt_8hrs -util_Age_0_to_5_yrs_Duration_gt_8hrs,SCHOOL - Age 0 to 5 yrs - Duration > 8hrs,"@(((df.age>0) & (df.age<=5)) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_0_to_5_yrs_Duration_gt_8hrs -util_Age_13_to_15_yrs_Duration_lt_8hrs,SCHOOL - Age 13 to 15 yrs - Duration < 8hrs,"@(((df.age>=13) & (df.age<=15)) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_13_to_15_yrs_Duration_lt_8hrs -util_Age_13_to_15_yrs_Duration_gt_8hrs,SCHOOL - Age 13 to 15 yrs - Duration > 8hrs,"@(((df.age>=13) & (df.age<=15)) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_13_to_15_yrs_Duration_gt_8hrs -util_Age_16_to_17_yrs_Duration_gt_8hrs,SCHOOL - Age 16 to 17 yrs - Duration > 8hrs,"@(((df.age>=16) & (df.age<=17)) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_16_to_17_yrs_Duration_gt_8hrs -util_Time_SOV_freeflow_to_destination_Departure_before_730_am__Linear,SCHOOL - Time (SOV freeflow) to destination - Departure before 7:30 am - Linear,"@(df.start<10) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Departure_before_730_am__Linear -util_Time_SOV_freeflow_to_destination_Departure_after_800_am_Linear,SCHOOL - Time (SOV freeflow) to destination - Departure after 8:00 am - Linear,"@(df.start>10) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Departure_after_800_am_Linear -util_Time_SOV_freeflow_to_destination_Duration_lt_8hrs,SCHOOL - Time (SOV freeflow) to destination - Duration < 8hrs,"@(df.end<27) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Duration_lt_8hrs -util_Time_SOV_freeflow_to_destination_Duration_gt_8hrs,SCHOOL - Time (SOV freeflow) to destination - Duration > 8hrs,"@(df.end>27) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Duration_gt_8hrs -util_All_adults_in_the_household_are_fulltime_workers_Departure_before_730_am__Linear,SCHOOL - All adults in the household are fulltime workers - Departure before 7:30 am - Linear,"@((df.is_all_adults_full_time_workers) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_All_adults_in_the_household_are_fulltime_workers_Departure_before_730_am__Linear -util_All_adults_in_the_household_are_fulltime_workers_Departure_after_800_am_Linear,SCHOOL - All adults in the household are fulltime workers - Departure after 8:00 am - Linear,"@((df.is_all_adults_full_time_workers) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_All_adults_in_the_household_are_fulltime_workers_Departure_after_800_am_Linear -util_All_adults_in_the_household_are_fulltime_workers_Duration_lt_8hrs,SCHOOL - All adults in the household are fulltime workers - Duration < 8hrs,"@((df.is_all_adults_full_time_workers) & (df.end<27)) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27)))",coef_All_adults_in_the_household_are_fulltime_workers_Duration_lt_8hrs -util_All_adults_in_the_household_are_fulltime_workers_Duration_gt_8hrs,SCHOOL - All adults in the household are fulltime workers - Duration > 8hrs,"@((df.is_all_adults_full_time_workers) & (df.end>27)) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27)))",coef_All_adults_in_the_household_are_fulltime_workers_Duration_gt_8hrs -util_Subsequent_tour_is_work_tour_Duration_lt_8_hours,SCHOOL - Subsequent tour is work tour: Duration < 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work') & (df.duration<8))) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_lt_8_hours -util_Subsequent_tour_is_work_tour_Duration_gt_8_hours,SCHOOL - Subsequent tour is work tour: Duration > 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work') & (df.duration>8))) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_gt_8_hours -util_Subsequent_tour_is_school_tour_Departure_after_800_am,SCHOOL - Subsequent tour is school tour: Departure after 8:00 am,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.start>10))) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Subsequent_tour_is_school_tour_Departure_after_800_am -util_Subsequent_tour_is_school_tour_Duration_lt_8_hours,SCHOOL - Subsequent tour is school tour: Duration < 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.duration<8))) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_lt_8_hours -util_Subsequent_tour_is_school_tour_Duration_gt_8_hours,SCHOOL - Subsequent tour is school tour: Duration > 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.duration>8))) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_gt_8_hours -util_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,SCHOOL - Second tour of two mandatory tours: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<7)) * ((np.minimum(7-df.duration,47)*(df.duration<=7)) + (np.minimum(df.duration-7,47)*(df.duration>7)))",coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours -util_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,SCHOOL - Second tour of two mandatory tours: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration>7)) * ((np.minimum(7-df.duration,47)*(df.duration<=7)) + (np.minimum(df.duration-7,47)*(df.duration>7)))",coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours -util_Departure_Constant_Before_0600_AM,SCHOOL - Departure Constant: Before 06:00 AM,@(df.start<7),coef_Departure_Constant_Before_0600_AM -util_Departure_Constant_0600_AM_to_0630_AM_7,SCHOOL - Departure Constant: 06:00 AM to 06:30 AM (7),@(df.start==7),coef_Departure_Constant_0600_AM_to_0630_AM_7 -util_Departure_Constant_0630_AM_to_0700_AM_8,SCHOOL - Departure Constant: 06:30 AM to 07:00 AM (8),@(df.start==8),coef_Departure_Constant_0630_AM_to_0700_AM_8 -util_Departure_Constant_0700_AM_to_0730_AM_9,SCHOOL - Departure Constant: 07:00 AM to 07:30 AM (9),@(df.start==9),coef_Departure_Constant_0700_AM_to_0730_AM_9 -util_Departure_Constant_0730_AM_to_0800_AM_10,SCHOOL - Departure Constant: 07:30 AM to 08:00 AM (10),@(df.start==10),coef_Departure_Constant_0730_AM_to_0800_AM_10 -util_Departure_Constant_After_0800_AM,SCHOOL - Departure Constant: After 08:00 AM,@(df.start>10),coef_Departure_Constant_After_0800_AM -util_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Linear,SCHOOL - Departure Constant: Shift for every 30 minutes after 8:30 am - Linear,"@((df.start>11)) * ((np.minimum(7-df.start,48)*(df.start<7)) + (np.minimum(df.start-11,23)*(df.start>11)))",coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Linear -util_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Square_Root,SCHOOL - Departure Constant: Shift for every 30 minutes after 8:30 am - Square Root,"@((df.start>11)) * (((np.minimum(7-df.start,48)*(df.start<7)) + (np.minimum(df.start-11,23)*(df.start>11))) ** 0.5)",coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Square_Root -util_Arrival_Constant_Before_0230_PM,SCHOOL - Arrival Constant: Before 02:30 PM,@(df.end<24),coef_Arrival_Constant_Before_0230_PM -util_Arrival_Constant_0230_PM_0300_PM_24_,SCHOOL - Arrival Constant: 02:30 PM - 03:00 PM (24) ,@(df.end==24),coef_Arrival_Constant_0230_PM_0300_PM_24_ -util_Arrival_Constant_0300_PM_0330_PM_25_,SCHOOL - Arrival Constant: 03:00 PM - 03:30 PM (25) ,@(df.end==25),coef_Arrival_Constant_0300_PM_0330_PM_25_ -util_Arrival_Constant_0330_PM_0400_PM_26_,SCHOOL - Arrival Constant: 03:30 PM - 04:00 PM (26) ,@(df.end==26),coef_Arrival_Constant_0330_PM_0400_PM_26_ -util_Arrival_Constant_0400_PM_0430_PM_27_,SCHOOL - Arrival Constant: 04:00 PM - 04:30 PM (27) ,@(df.end==27),coef_Arrival_Constant_0400_PM_0430_PM_27_ -util_Arrival_Constant_0430_PM_0500_PM_28_,SCHOOL - Arrival Constant: 04:30 PM - 05:00 PM (28) ,@(df.end==28),coef_Arrival_Constant_0430_PM_0500_PM_28_ -util_Arrival_Constant_0500_PM_0530_PM_29,SCHOOL - Arrival Constant: 05:00 PM - 05:30 PM (29),@(df.end==29),coef_Arrival_Constant_0500_PM_0530_PM_29 -util_Arrival_Constant_0530_PM_0600_PM_30_,SCHOOL - Arrival Constant: 05:30 PM - 06:00 PM (30) ,@(df.end==30),coef_Arrival_Constant_0530_PM_0600_PM_30_ -util_Arrival_Constant_After_0600_PM,SCHOOL - Arrival Constant: After 06:00 PM,@(df.end>30),coef_Arrival_Constant_After_0600_PM -util_Arrival_Constant_Shift_for_every_30_minutes_after_630_pm_Linear,SCHOOL - Arrival Constant: Shift for every 30 minutes after 6:30 pm - Linear,"@(df.end>31) * ((np.minimum(24-df.end,6)*(df.end<24)) + (np.minimum(df.end-31,12)*(df.end>31)))",coef_Arrival_Constant_Shift_for_every_30_minutes_after_630_pm_Linear -util_Duration_Constant_Shift_for_every_30_minutes_less_than_6p5_hrs_Linear,SCHOOL - Duration Constant: Shift for every 30 minutes less than 6.5 hrs - Linear,"@((df.duration<13)) * ((np.minimum(13-df.duration,48)*(df.duration<13)) + (np.minimum(df.duration-19,9)*(df.duration>19)))",coef_Duration_Constant_Shift_for_every_30_minutes_less_than_6p5_hrs_Linear -util_Duration_Constant_Shorter_than_7_hrs,SCHOOL - Duration Constant: Shorter than 7 hrs,@(df.duration<14),coef_Duration_Constant_Shorter_than_7_hrs -util_Duration_Constant_7_hours,SCHOOL - Duration Constant: 7 hours,@(df.duration==14),coef_Duration_Constant_7_hours -util_Duration_Constant_7p5_hours,SCHOOL - Duration Constant: 7.5 hours,@(df.duration==15),coef_Duration_Constant_7p5_hours -util_Duration_Constant_8_hours,SCHOOL - Duration Constant: 8 hours,@(df.duration==16),coef_Duration_Constant_8_hours -util_Duration_Constant_8p5_hours,SCHOOL - Duration Constant: 8.5 hours,@(df.duration==17),coef_Duration_Constant_8p5_hours -util_Duration_Constant_9_hours,SCHOOL - Duration Constant: 9 hours,@(df.duration==18),coef_Duration_Constant_9_hours -util_Duration_Constant_Longer_than_9_hrs,SCHOOL - Duration Constant: Longer than 9 hrs,@(df.duration>18),coef_Duration_Constant_Longer_than_9_hrs -util_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Linear,SCHOOL - Duration Constant: Shift for every 30 minutes more than 9.5 hrs - Linear,"@(df.duration>19) * ((np.minimum(13-df.duration,47)*(df.duration<13)) + (np.minimum(df.duration-19,9)*(df.duration>19)))",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Linear -util_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Squared,SCHOOL - Duration Constant: Shift for every 30 minutes more than 9.5 hrs - Squared,"@(df.duration>19) * (((np.minimum(13-df.duration,47)*(df.duration<13)) + (np.minimum(df.duration-19,9)*(df.duration>19))) ** 2)",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Squared diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_school_coeffs.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_school_coeffs.csv deleted file mode 100755 index af08217498..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_school_coeffs.csv +++ /dev/null @@ -1,59 +0,0 @@ -coefficient_name,value,constrain -coef_Mode_Choice_Logsum,0.524017431,F -coef_Low_income_lt25000_Departure_before_730_am__Linear,0.134574548,F -coef_Low_income_lt25000_Departure_after_800_am_Linear,-0.075554725,F -coef_Low_income_lt25000_Duration_lt_8hrs,-0.150039779,F -coef_Low_income_lt25000_Duration_gt_8hrs,-0.043562413,F -coef_Med_income_25k_to_60k_Departure_before_730_am__Linear,0.102594589,F -coef_Age_0_to_5_yrs_Departure_Before_730_am,-0.178916721,F -coef_Age_13_to_15_yrs_Departure_Before_730_am,-0.164708594,F -coef_Age_13_to_15_yrs_Departure_After_800_am,0.169641715,F -coef_Age_16_to_17_yrs_Departure_After_800_am,0.077527892,F -coef_Age_0_to_5_yrs_Duration_lt_8hrs,0.254486164,F -coef_Age_0_to_5_yrs_Duration_gt_8hrs,0.14409403,F -coef_Age_13_to_15_yrs_Duration_lt_8hrs,-0.211129273,F -coef_Age_13_to_15_yrs_Duration_gt_8hrs,0.102348303,F -coef_Age_16_to_17_yrs_Duration_gt_8hrs,0.1184616,F -coef_Time_SOV_freeflow_to_destination_Departure_before_730_am__Linear,0.011813391,F -coef_Time_SOV_freeflow_to_destination_Departure_after_800_am_Linear,-0.0088956,F -coef_Time_SOV_freeflow_to_destination_Duration_lt_8hrs,-0.011793416,F -coef_Time_SOV_freeflow_to_destination_Duration_gt_8hrs,0.001485453,F -coef_All_adults_in_the_household_are_fulltime_workers_Departure_before_730_am__Linear,0.1625279,F -coef_All_adults_in_the_household_are_fulltime_workers_Departure_after_800_am_Linear,-0.161840551,F -coef_All_adults_in_the_household_are_fulltime_workers_Duration_lt_8hrs,-0.233061473,F -coef_All_adults_in_the_household_are_fulltime_workers_Duration_gt_8hrs,0.08462748,F -coef_Subsequent_tour_is_work_tour_Duration_lt_8_hours,0.154332088,F -coef_Subsequent_tour_is_work_tour_Duration_gt_8_hours,-0.62871831,F -coef_Subsequent_tour_is_school_tour_Departure_after_800_am,-0.41618671,F -coef_Subsequent_tour_is_school_tour_Duration_lt_8_hours,0.261423274,F -coef_Subsequent_tour_is_school_tour_Duration_gt_8_hours,-0.263857404,F -coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,-0.537535787,F -coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,-0.545479806,F -coef_Departure_Constant_Before_0600_AM,-10.04417122,F -coef_Departure_Constant_0600_AM_to_0630_AM_7,-3.792318538,F -coef_Departure_Constant_0630_AM_to_0700_AM_8,-1.941704371,F -coef_Departure_Constant_0700_AM_to_0730_AM_9,-0.558080224,F -coef_Departure_Constant_0730_AM_to_0800_AM_10,0,T -coef_Departure_Constant_After_0800_AM,-0.280439854,F -coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Linear,0.293697164,F -coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Square_Root,-1.220165702,F -coef_Arrival_Constant_Before_0230_PM,0.720751128,F -coef_Arrival_Constant_0230_PM_0300_PM_24_,1.605012317,F -coef_Arrival_Constant_0300_PM_0330_PM_25_,0.463502951,F -coef_Arrival_Constant_0330_PM_0400_PM_26_,0.196107179,F -coef_Arrival_Constant_0400_PM_0430_PM_27_,0,T -coef_Arrival_Constant_0430_PM_0500_PM_28_,-0.389421484,F -coef_Arrival_Constant_0500_PM_0530_PM_29,-1.412720271,F -coef_Arrival_Constant_0530_PM_0600_PM_30_,-1.938567609,F -coef_Arrival_Constant_After_0600_PM,-2.246103785,F -coef_Arrival_Constant_Shift_for_every_30_minutes_after_630_pm_Linear,-0.552223894,F -coef_Duration_Constant_Shift_for_every_30_minutes_less_than_6p5_hrs_Linear,-0.249724903,F -coef_Duration_Constant_Shorter_than_7_hrs,-2.791243553,F -coef_Duration_Constant_7_hours,-1.679006455,F -coef_Duration_Constant_7p5_hours,-0.555288612,F -coef_Duration_Constant_8_hours,0,T -coef_Duration_Constant_8p5_hours,-0.139412248,F -coef_Duration_Constant_9_hours,-0.509620713,F -coef_Duration_Constant_Longer_than_9_hrs,-0.561449384,F -coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Linear,0.379484906,F -coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Squared,-0.028814477,F diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_work.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_work.csv deleted file mode 100755 index ebc108bf3a..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_work.csv +++ /dev/null @@ -1,100 +0,0 @@ -Label,Description,Expression,Coefficient -util_Mode_Choice_Logsum,Mode Choice Logsum,mode_choice_logsum,coef_Mode_Choice_Logsum -util_Female_Departure_before_7_am,Female - Departure before 7:00 am - Linear,@((df.female) & (df.start<9)) * df.departureLinearShift1,coef_Female_Departure_before_7_am -util_Female_Arrival_after_6_pm,Female - Arrival after 6:00 pm - Linear,@((df.female) & (df.end>30)) * df.arrivalLinearShift1,coef_Female_Arrival_after_6_pm -util_Female_with_preschool_child_Departure_before_7_am,Female with preschool child - Departure before 7:00 am - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Female_with_preschool_child_Departure_before_7_am -util_Female_with_preschool_child_Departure_after_7_am,Female with preschool child - Departure after 7:30 am - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.start>9)) * df.departureLinearShift1,coef_Female_with_preschool_child_Departure_after_7_am -util_Female_with_preschool_child_Arrival_after_6_pm,Female with preschool child - Arrival after 6:00 pm - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.end>30)) * df.arrivalLinearShift1,coef_Female_with_preschool_child_Arrival_after_6_pm -util_Low_income_lt_25000_Departure_before_7_am,Low income (<25000) - Departure before 7:00 am - Linear,@((df.is_income_less25K) & (df.start<9)) * df.departureLinearShift1,coef_Low_income_lt_25000_Departure_before_7_am -util_Low_income_lt_25000_Departure_after_7_am,Low income (<25000) - Departure after 7:30 am - Linear,@((df.is_income_less25K) & (df.start>9)) * df.departureLinearShift1,coef_Low_income_lt_25000_Departure_after_7_am -util_Low_income_lt_25000_Arrival_after_6_pm,Low income (<25000) - Arrival after 6:00 pm - Linear,@((df.is_income_less25K) & (df.start>30)) * df.arrivalLinearShift1,coef_Low_income_lt_25000_Arrival_after_6_pm -util_Med_income_25k_to_60k_Departure_before_7_am,Med income (25k to 60k) - Departure before 7:00 am - Linear,@((df.is_income_25K_to_60K) & (df.start<9)) * df.departureLinearShift1,coef_Med_income_25k_to_60k_Departure_before_7_am -util_Med_income_25k_to_60k_Arrival_after_6_pm,Med income (25k to 60k) - Arrival after 6:00 pm - Linear,@((df.is_income_25K_to_60K) & (df.end>30)) * df.arrivalLinearShift1,coef_Med_income_25k_to_60k_Arrival_after_6_pm -util_Medhigh_income_60k_to_120k_Departure_before_7_am,Med-high income (60k to 120k) - Departure before 7:00 am - Linear,@((df.is_income_60K_to_120K) & (df.start<9)) * df.departureLinearShift1,coef_Medhigh_income_60k_to_120k_Departure_before_7_am -util_Age_16_to_18_yrs_Departure_Before_7_am,Age 16 to 18 yrs - Departure Before 7:00 am,@(((df.age>=16) & (df.age<=18)) & (df.start<9)) * df.departureLinearShift1,coef_Age_16_to_18_yrs_Departure_Before_7_am -util_Age_16_to_18_yrs_Departure_After_7_am,Age 16 to 18 yrs - Departure After 7:30 am,@(((df.age>=16) & (df.age<=18)) & (df.start>9)) * df.departureLinearShift1,coef_Age_16_to_18_yrs_Departure_After_7_am -util_Age_19_to_24_yrs_Departure_After_7_am,Age 19 to 24 yrs - Departure After 7:30 am,@(((df.age>=19) & (df.age<=24)) & (df.start>9)) * df.departureLinearShift1,coef_Age_19_to_24_yrs_Departure_After_7_am -util_Age_25_to_40_yrs_Departure_Before_7_am,Age 25 to 40 yrs - Departure Before 7:00 am,@(((df.age>=25) & (df.age<=40)) & (df.start<9)) * df.departureLinearShift1,coef_Age_25_to_40_yrs_Departure_Before_7_am -util_Age_65_plus_yrs_Departure_After_7_am,Age 65+ yrs - Departure After 7:30 am,@((df.age>=65) & (df.start>9)) * df.departureLinearShift1,coef_Age_65_plus_yrs_Departure_After_7_am -util_Age_19_to_24_yrs_Arrival_after_6_pm,Age 19 to 24 yrs - Arrival after 6:00 pm ,@(((df.age>=19) & (df.age<=24)) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_19_to_24_yrs_Arrival_after_6_pm -util_Age_25_to_40_yrs_Arrival_before_5_pm,Age 25 to 40 yrs - Arrival before 5:30 pm ,@(((df.age>=25) & (df.age<=40)) & (df.end<30)) * df.arrivalLinearShift1,coef_Age_25_to_40_yrs_Arrival_before_5_pm -util_Age_56_to_64_yrs_Arrival_after_6_pm,Age 56 to 64 yrs - Arrival after 6:00 pm ,@(((df.age>=56) & (df.age<65)) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_56_to_64_yrs_Arrival_after_6_pm -util_Age_65_plus_yrs_Arrival_before_5_pm,Age 65+ yrs - Arrival before 5:30 pm ,@((df.age>=65) & (df.end<30)) * df.arrivalLinearShift1,coef_Age_65_plus_yrs_Arrival_before_5_pm -util_Age_65_plus_yrs_Arrival_after_6_pm,Age 65+ yrs - Arrival after 6:00 pm ,@((df.age>=65) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_65_plus_yrs_Arrival_after_6_pm -util_Zero_auto_HH_Departure_before_7_am,Zero auto HH - Departure before 7:00 am - Linear,@((df.auto_ownership == 0) & (df.start<9)) * df.departureLinearShift1,coef_Zero_auto_HH_Departure_before_7_am -util_Zero_auto_HH_Arrival_after_6_pm,Zero auto HH - Arrival after 6:00 pm - Linear,@((df.auto_ownership == 0) & (df.end>30)) * df.arrivalLinearShift1,coef_Zero_auto_HH_Arrival_after_6_pm -util_Parttime_worker_Departure_before_7_am,Part-time worker - Departure before 7:00 am - Linear,@((df.ptype==2) & (df.start<9)) * df.departureLinearShift1,coef_Parttime_worker_Departure_before_7_am -util_Parttime_worker_Departure_after_7_am,Part-time worker - Departure after 7:30 am - Linear,@((df.ptype==2) & (df.start>9)) * df.departureLinearShift1,coef_Parttime_worker_Departure_after_7_am -util_Parttime_worker_Arrival_before_5_pm,Part-time worker - Arrival before 5:30 pm - Linear,@((df.ptype==2) & (df.end<30)) * df.arrivalLinearShift1,coef_Parttime_worker_Arrival_before_5_pm -util_Parttime_worker_Arrival_after_6_pm,Part-time worker - Arrival after 6:00 pm - Linear,@((df.ptype==2) & (df.end>30)) * df.arrivalLinearShift1,coef_Parttime_worker_Arrival_after_6_pm -util_University_student_Departure_after_7_am,University student - Departure after 7:30 am - Linear,@((df.ptype==3) & (df.start>9)) * df.departureLinearShift1,coef_University_student_Departure_after_7_am -util_University_student_Arrival_before_5_pm,University student - Arrival before 5:30 pm - Linear,@((df.ptype==3) & (df.end<30)) * df.arrivalLinearShift1,coef_University_student_Arrival_before_5_pm -util_University_student_Arrival_after_6_pm,University student - Arrival after 6:00 pm - Linear,@((df.ptype==3) & (df.end>30)) * df.arrivalLinearShift1,coef_University_student_Arrival_after_6_pm -#util_Blue_collar_Departure_before_7_am,#Blue collar - Departure before 7:00 am - Linear,@((df.work_segment==5) & (df.start<9)) * df.departureLinearShift1,coef_Blue_collar_Departure_before_7_am -#util_Blue_collar_Departure_after_7_am,#Blue collar - Departure after 7:30 am - Linear,@((df.work_segment==5)& (df.start>9)) * df.departureLinearShift1,coef_Blue_collar_Departure_after_7_am -#util_Blue_collar_Arrival_before_5_pm,#Blue collar - Arrival before 5:30 pm - Linear,@((df.work_segment==5)& (df.end<30)) * df.arrivalLinearShift1,coef_Blue_collar_Arrival_before_5_pm -#util_Service_Departure_before_7_am,#Service - Departure before 7:00 am - Linear,@((df.work_segment==2) & (df.start<9)) * df.departureLinearShift1,coef_Service_Departure_before_7_am -#util_Service_Departure_after_7_am,#Service - Departure after 7:30 am - Linear,@((df.work_segment==2) & (df.start>9)) * df.departureLinearShift1,coef_Service_Departure_after_7_am -#util_Service_Arrival_before_5_pm,#Service - Arrival before 5:30 pm - Linear,@((df.work_segment==2) & (df.end<30)) * df.arrivalLinearShift1,coef_Service_Arrival_before_5_pm -#util_Health_Departure_before_7_am,#Health - Departure before 7:00 am - Linear,@((df.work_segment==3) & (df.start<9)) * df.departureLinearShift1,coef_Health_Departure_before_7_am -#util_Health_Arrival_after_6_pm,#Health - Arrival after 6:00 pm - Linear,@((df.work_segment==3) & (df.end>30)) * df.arrivalLinearShift1,coef_Health_Arrival_after_6_pm -#util_Retail_and_food_Departure_after_7_am,#Retail and food - Departure after 7:30 am - Linear,@((df.work_segment==4) & (df.start>9)) * df.departureLinearShift1,coef_Retail_and_food_Departure_after_7_am -#util_Retail_and_food_Arrival_before_5_pm,#Retail and food - Arrival before 5:30 pm - Linear,@((df.work_segment==4) & (df.end<30)) * df.arrivalLinearShift1,coef_Retail_and_food_Arrival_before_5_pm -#util_Retail_and_food_Arrival_after_6_pm,#Retail and food - Arrival after 6:00 pm - Linear,@((df.work_segment==4) & (df.end>30)) * df.arrivalLinearShift1,coef_Retail_and_food_Arrival_after_6_pm -util_Time_SOV_freeflowto_destination_Departure_before_7_am,Time (SOV freeflow) to destination - Departure before 7:00 am - Linear,@(df.start<9) * df.departureLinearShift1* (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Departure_before_7_am -util_Time_SOV_freeflowto_destination_Departure_after_7_am,Time (SOV freeflow) to destination - Departure after 7:30 am - Linear,@(df.start>9) * df.departureLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Departure_after_7_am -util_Time_SOV_freeflowto_destination_Arrival_before_5_pm,Time (SOV freeflow) to destination - Arrival before 5:30 pm - Linear,@(df.end<30) * df.arrivalLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Arrival_before_5_pm -util_Time_SOV_freeflowto_destination_Arrival_after_6_pm,Time (SOV freeflow) to destination - Arrival after 6:00 pm - Linear,@(df.end>30) * df.arrivalLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Arrival_after_6_pm -util_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am,Presence of Non-Working Adult in the HH - Departure before 7:00 am - Linear,@((df.is_non_worker_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am -util_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm,Presence of Non-Working Adult in the HH - Arrival before 5:30 pm - Linear,@((df.is_non_worker_in_HH) & (df.end<30)) * df.arrivalLinearShift1,coef_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm -util_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am,Presence of Pre-Driving Age Children in the HH - Departure before 7:30 am - Linear,@((df.is_pre_drive_child_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am -util_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am,Presence of Pre-Driving Age Children in the HH - Departure after 8 am - Linear,@((df.is_pre_drive_child_in_HH) & (df.start>9)) * df.departureLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am -util_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm,Presence of Pre-Driving Age Children in the HH - Arrival before 5:30 pm - Linear,@((df.is_pre_drive_child_in_HH) & (df.end<30)) * df.arrivalLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm -util_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm,Presence of Pre-Driving Age Children in the HH - Arrival after 6:00 pm - Linear,@((df.is_pre_drive_child_in_HH)& (df.end>30)) * df.arrivalLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm -util_First_of_2_plus_mandatory_tour_Departure_before_7_am,First of 2+ mandatory tour - Departure before 7:00 am,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.start<9)) * df.departureLinearShift1,coef_First_of_2_plus_mandatory_tour_Departure_before_7_am -util_First_of_2_plus_mandatory_tour_Departure_after_7_am,First of 2+ mandatory tour - Departure after 7:30 am,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.start>9)) * df.departureLinearShift1,coef_First_of_2_plus_mandatory_tour_Departure_after_7_am -util_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,First of 2+ mandatory tour - Duration < 9.5 hours,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.duration<21)) * df.durationShift,coef_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours -util_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,First of 2+ mandatory tour - Duration > 9.5 hours,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.duration<21)) * df.durationShift,coef_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours -util_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm,2nd or later of 2+ mandatory tour - Departure before 1:30 pm,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.start<22)) * df.departureLinearShift1,coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm -util_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm,2nd or later of 2+ mandatory tour - Departure after 2:00 pm,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.start>22)) * df.departureLinearShift1,coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm -util_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,2nd or later of 2+ mandatory tour - Duration < 9.5 hours,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<21)) * df.durationShift,coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours -util_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,2nd or later of 2+ mandatory tour - Duration > 9.5 hours,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<21)) * df.durationShift,coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours -#,#Departure Constants,,coef_Departure_Constants -util_Departure_Constant_Shift_for_every_30_minutes_before_6_am,Departure Constant: Shift for every 30 minutes before 6:00 am - Linear,"@(df.start<6) * ((np.minimum(6-df.start,48)*(df.start<6)) + (np.minimum(df.start-13,21)*(df.start>13)))",coef_Departure_Constant_Shift_for_every_30_minutes_before_6_am -util_Departure_Constant_Before_06_AM,Departure Constant: Before 06:00 AM,start<7,coef_Departure_Constant_Before_06_AM -util_Departure_Constant_06_AM_06_AM_7,Departure Constant: 06:00 AM - 06:30 AM (7) ,start==7,coef_Departure_Constant_06_AM_06_AM_7 -util_Departure_Constant_06_AM_07_AM_8,Departure Constant: 06:30 AM - 07:00 AM (8) ,start==8,coef_Departure_Constant_06_AM_07_AM_8 -util_Departure_Constant_07_AM_07_AM_9,Departure Constant: 07:00 AM - 07:30 AM (9) ,start==9,coef_Departure_Constant_07_AM_07_AM_9 -util_Departure_Constant_07_AM_08_AM_10,Departure Constant: 07:30 AM - 08:00 AM (10) ,start==10,coef_Departure_Constant_07_AM_08_AM_10 -util_Departure_Constant_08_AM_08_AM_11,Departure Constant: 08:00 AM - 08:30 AM (11) ,start==11,coef_Departure_Constant_08_AM_08_AM_11 -util_Departure_Constant_08_AM_09_AM_12,Departure Constant: 08:30 AM - 09:00 AM (12) ,start==12,coef_Departure_Constant_08_AM_09_AM_12 -util_Departure_Constant_After_09_AM,Departure Constant: After 09:00 AM,start>12,coef_Departure_Constant_After_09_AM -util_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root,Departure Constant: Shift for every 30 minutes after 9:30 am - Square Root,"@(df.start>13) * (((np.minimum(6-df.start,48)*(df.start<6)) + (np.minimum(df.start-13,21)*(df.start>13))) ** 0.5)",coef_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root -#,#Arrival Constants,,coef_Arrival_Constants -util_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm,Arrival Constant: Shift for every 30 minutes before 3:00 pm - Linear,"@(df.end<25) * ((np.minimum(25-df.end, 15)*(df.end<25))+ (np.minimum(df.end-35,11)*(df.end>35)))",coef_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm -util_Arrival_Constant_Before_03_PM,Arrival Constant: Before 03:30 PM,end<26,coef_Arrival_Constant_Before_03_PM -util_Arrival_Constant_03_PM_04_PM_26,Arrival Constant: 03:30 PM - 04:00 PM (26) ,end==26,coef_Arrival_Constant_03_PM_04_PM_26 -util_Arrival_Constant_04_PM_04_PM_27,Arrival Constant: 04:00 PM - 04:30 PM (27) ,end==27,coef_Arrival_Constant_04_PM_04_PM_27 -util_Arrival_Constant_04_PM_05_PM_28,Arrival Constant: 04:30 PM - 05:00 PM (28) ,end==28,coef_Arrival_Constant_04_PM_05_PM_28 -util_Arrival_Constant_05_PM_05_PM_29,Arrival Constant: 05:00 PM - 05:30 PM (29),end==29,coef_Arrival_Constant_05_PM_05_PM_29 -util_Arrival_Constant_05_PM_06_PM_30,Arrival Constant: 05:30 PM - 06:00 PM (30) ,end==30,coef_Arrival_Constant_05_PM_06_PM_30 -util_Arrival_Constant_06_PM_06_PM_31,Arrival Constant: 06:00 PM - 06:30 PM (31) ,end==31,coef_Arrival_Constant_06_PM_06_PM_31 -util_Arrival_Constant_06_PM_7_PM_32,Arrival Constant: 06:30 PM - 7:00 PM (32) ,end==32,coef_Arrival_Constant_06_PM_7_PM_32 -util_Arrival_Constant_7_PM_7_PM_33,Arrival Constant: 7:00 PM - 7:30 PM (33) ,end==33,coef_Arrival_Constant_7_PM_7_PM_33 -util_Arrival_Constant_7_PM_8_PM_34,Arrival Constant: 7:30 PM - 8:00 PM (34) ,end==34,coef_Arrival_Constant_7_PM_8_PM_34 -util_Arrival_Constant_After_08_PM,Arrival Constant: After 08:00 PM,end>34,coef_Arrival_Constant_After_08_PM -util_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root,Arrival Constant: Shift for every 30 minutes after 6:30 pm - Square root,"@(df.end>35) * (((np.minimum(25-df.end, 15)*(df.end<25))+ (np.minimum(df.end-35,11)*(df.end>35))) ** 0.5)",coef_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root -#,#Duration Constants,,coef_Duration_Constants -util_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs,Duration Constant: Shift for every 30 minutes less than 8.5 hrs - Linear,"@(df.duration<16) * ((np.minimum(16-df.duration,47)*(df.duration<16)) + (np.minimum(df.duration-25,10)*(df.duration>25)))",coef_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs -util_Duration_Constant_Shorter_than_8p5_hrs,Duration Constant: Shorter than 8.5 hrs,duration<17,coef_Duration_Constant_Shorter_than_8p5_hrs -util_Duration_Constant_8p5_hours,Duration Constant: 8.5 hours,duration==17,coef_Duration_Constant_8p5_hours -util_Duration_Constant_9_hours,Duration Constant: 9 hours,duration==18,coef_Duration_Constant_9_hours -util_Duration_Constant_9p5_hours,Duration Constant: 9.5 hours,duration==19,coef_Duration_Constant_9p5_hours -util_Duration_Constant_10_hours,Duration Constant: 10 hours,duration==20,coef_Duration_Constant_10_hours -util_Duration_Constant_10p5_hours,Duration Constant: 10.5 hours,duration==21,coef_Duration_Constant_10p5_hours -util_Duration_Constant_11_hours,Duration Constant: 11 hours,duration==22,coef_Duration_Constant_11_hours -util_Duration_Constant_11p5_hours,Duration Constant: 11.5 hours,duration==23,coef_Duration_Constant_11p5_hours -util_Duration_Constant_12_hours,Duration Constant: 12 hours,duration==24,coef_Duration_Constant_12_hours -util_Duration_Constant_Longer_than_12_hrs,Duration Constant: Longer than 12 hrs,duration>24,coef_Duration_Constant_Longer_than_12_hrs -util_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs,Duration Constant: Shift for every 30 minutes more than 10 hrs - Linear,"@(df.duration>25) * ((np.minimum(16-df.duration,47)*(df.duration<16)) + (np.minimum(df.duration-25,10)*(df.duration>25)))",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs -util_Calibration_constant_Duration_0,Calibration constant: Duration = 0,duration == 0,coef_Calibration_constant_Duration_0 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_work_coeffs.csv b/activitysim/examples/example_semcog/configs/tour_scheduling_work_coeffs.csv deleted file mode 100755 index d25a423d0e..0000000000 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_work_coeffs.csv +++ /dev/null @@ -1,97 +0,0 @@ -coefficient_name,value,constrain -coef_Mode_Choice_Logsum,0.2279,T -coef_Female_Departure_before_7_am,-0.12935306,F -coef_Female_Arrival_after_6_pm,-0.041312616,F -coef_Female_with_preschool_child_Departure_before_7_am,-0.129130464,F -coef_Female_with_preschool_child_Departure_after_7_am,-0.031947595,F -coef_Female_with_preschool_child_Arrival_after_6_pm,-0.048859218,F -coef_Low_income_lt_25000_Departure_before_7_am,0.232768373,F -coef_Low_income_lt_25000_Departure_after_7_am,0.014908169,F -coef_Low_income_lt_25000_Arrival_after_6_pm,0.039105101,F -coef_Med_income_25k_to_60k_Departure_before_7_am,0.123945957,F -coef_Med_income_25k_to_60k_Arrival_after_6_pm,0.020965221,F -coef_Medhigh_income_60k_to_120k_Departure_before_7_am,0.09890939,F -coef_Age_16_to_18_yrs_Departure_Before_7_am,-0.459593556,F -coef_Age_16_to_18_yrs_Departure_After_7_am,0.060951693,F -coef_Age_19_to_24_yrs_Departure_After_7_am,0.031477187,F -coef_Age_25_to_40_yrs_Departure_Before_7_am,-0.11723451,F -coef_Age_65_plus_yrs_Departure_After_7_am,0.051923956,F -coef_Age_19_to_24_yrs_Arrival_after_6_pm,0.032734453,F -coef_Age_25_to_40_yrs_Arrival_before_5_pm,-0.027623617,F -coef_Age_56_to_64_yrs_Arrival_after_6_pm,-0.049130187,F -coef_Age_65_plus_yrs_Arrival_before_5_pm,0.056774635,F -coef_Age_65_plus_yrs_Arrival_after_6_pm,-0.077532684,F -coef_Zero_auto_HH_Departure_before_7_am,0.396983749,F -coef_Zero_auto_HH_Arrival_after_6_pm,0.050665232,F -coef_Parttime_worker_Departure_before_7_am,-0.264760988,F -coef_Parttime_worker_Departure_after_7_am,0.126626287,F -coef_Parttime_worker_Arrival_before_5_pm,0.175158545,F -coef_Parttime_worker_Arrival_after_6_pm,-0.054124518,F -coef_University_student_Departure_after_7_am,0.024758204,F -coef_University_student_Arrival_before_5_pm,0.035389739,F -coef_University_student_Arrival_after_6_pm,0.06173996,F -coef_Blue_collar_Departure_before_7_am,0.327242475,F -coef_Blue_collar_Departure_after_7_am,0.047214248,F -coef_Blue_collar_Arrival_before_5_pm,0.04197056,F -coef_Service_Departure_before_7_am,0.117783508,F -coef_Service_Departure_after_7_am,0.081611629,F -coef_Service_Arrival_before_5_pm,0,T -coef_Health_Departure_before_7_am,0.135275931,F -coef_Health_Arrival_after_6_pm,0.062010123,F -coef_Retail_and_food_Departure_after_7_am,0.076302969,F -coef_Retail_and_food_Arrival_before_5_pm,0.052905387,F -coef_Retail_and_food_Arrival_after_6_pm,0.027069194,F -coef_Time_SOV_freeflowto_destination_Departure_before_7_am,0.011511462,F -coef_Time_SOV_freeflowto_destination_Departure_after_7_am,-0.003821379,F -coef_Time_SOV_freeflowto_destination_Arrival_before_5_pm,-0.00549578,F -coef_Time_SOV_freeflowto_destination_Arrival_after_6_pm,0.002253695,F -coef_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am,0.069957209,F -coef_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm,-0.019807228,F -coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am,-0.084564489,F -coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am,-0.023894467,F -coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm,0.018983499,F -coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm,-0.032091123,F -coef_First_of_2_plus_mandatory_tour_Departure_before_7_am,0.145890035,F -coef_First_of_2_plus_mandatory_tour_Departure_after_7_am,-0.214531877,F -coef_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,0.3069241,F -coef_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,-0.526297898,F -coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm,-0.221304523,F -coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm,-0.176348812,F -coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,0.064893097,F -coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,-0.656942049,F -coef_Departure_Constant_Shift_for_every_30_minutes_before_6_am,-1.151564775,F -coef_Departure_Constant_Before_06_AM,-2.197677208,F -coef_Departure_Constant_06_AM_06_AM_7,-1.314098638,F -coef_Departure_Constant_06_AM_07_AM_8,-0.558766028,F -coef_Departure_Constant_07_AM_07_AM_9,0,T -coef_Departure_Constant_07_AM_08_AM_10,-0.036957515,F -coef_Departure_Constant_08_AM_08_AM_11,-0.285560423,F -coef_Departure_Constant_08_AM_09_AM_12,-0.555478447,F -coef_Departure_Constant_After_09_AM,-0.865125273,F -coef_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root,-0.435746145,F -coef_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm,-0.191607342,F -coef_Arrival_Constant_Before_03_PM,-0.289333093,F -coef_Arrival_Constant_03_PM_04_PM_26,-0.273555837,F -coef_Arrival_Constant_04_PM_04_PM_27,-0.142653706,F -coef_Arrival_Constant_04_PM_05_PM_28,-0.124814807,F -coef_Arrival_Constant_05_PM_05_PM_29,0.004265544,F -coef_Arrival_Constant_05_PM_06_PM_30,0,T -coef_Arrival_Constant_06_PM_06_PM_31,-0.060515031,F -coef_Arrival_Constant_06_PM_7_PM_32,-0.236621114,F -coef_Arrival_Constant_7_PM_7_PM_33,-0.577646614,F -coef_Arrival_Constant_7_PM_8_PM_34,-0.815994515,F -coef_Arrival_Constant_After_08_PM,-0.854151925,F -coef_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root,-0.469720787,F -coef_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs,-0.074266981,F -coef_Duration_Constant_Shorter_than_8p5_hrs,-0.748584335,F -coef_Duration_Constant_8p5_hours,-0.654814097,F -coef_Duration_Constant_9_hours,-0.372064236,F -coef_Duration_Constant_9p5_hours,-0.144226124,F -coef_Duration_Constant_10_hours,0.013153356,F -coef_Duration_Constant_10p5_hours,0,T -coef_Duration_Constant_11_hours,-0.115847245,F -coef_Duration_Constant_11p5_hours,-0.288506368,F -coef_Duration_Constant_12_hours,-0.524241874,F -coef_Duration_Constant_Longer_than_12_hrs,-0.598634071,F -coef_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs,-0.293607565,F -coef_Calibration_constant_Duration_0,-10,F diff --git a/activitysim/examples/example_semcog/configs/trip_destination.csv b/activitysim/examples/example_semcog/configs/trip_destination.csv deleted file mode 100755 index 827feeabfb..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_destination.csv +++ /dev/null @@ -1,17 +0,0 @@ -Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork -size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",1,1,1,1,1,1,1,1,1,1 -no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -#stop zone CBD area type,"@reindex(land_use.AreaType, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, -distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (od_skims['DIST'] + dp_skims['DIST']),-0.049725916,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 -distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (od_skims['DIST'] + dp_skims['DIST']),0.147813279,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 -distance (calibration adjustment joint),@df.is_joint * (od_skims['DIST'] + dp_skims['DIST']),0,0,0,-0.1238,-0.1238,-0.1238,-0.1238,-0.1238,-0.123801985,0 -stop proximity to home (outbound),@df.outbound * od_skims['DIST'],-0.38,0,0,0,0,0,0,0,0,0 -stop proximity to home (inbound),@~df.outbound * dp_skims['DIST'],-0.15,0,0,0,0,0,0,0,0,0 -stop proximity to main destination (outbound),@df.outbound * dp_skims['DIST'],-0.26,,,,,,,,, -stop proximity to main destination (inbound),@~df.outbound * od_skims['DIST'],0,,,,,,,,, -#,,,,,,,,,,, -Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1,1,1,1,1 -Mode choice logsum from origin to stop,od_logsum,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821 -Can't access stop zone by this tour mode,(od_logsum < -100),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Mode choice logsum from stop to destination,dp_logsum,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821 -Can't access destination zone by this tour mode,(dp_logsum < -100),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 diff --git a/activitysim/examples/example_semcog/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/example_semcog/configs/trip_destination_annotate_trips_preprocessor.csv deleted file mode 100755 index e4317d8e82..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_destination_annotate_trips_preprocessor.csv +++ /dev/null @@ -1,10 +0,0 @@ -Description,Target,Expression -#,, -,tour_mode,"reindex(tours.tour_mode, df.tour_id)" -,_tod,"np.where(df.outbound,reindex_i(tours.start, df.tour_id),reindex_i(tours.end, df.tour_id))" -,trip_period,network_los.skim_time_period_label(_tod) -,is_joint,"reindex(tours.tour_category, df.tour_id)=='joint'" -#,,not needed as school is not chosen as an intermediate trip destination -#,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" -#,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" -,tour_leg_dest,"np.where(df.outbound,reindex(tours.destination, df.tour_id), reindex(tours.origin, df.tour_id))" \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/trip_destination_sample.csv b/activitysim/examples/example_semcog/configs/trip_destination_sample.csv deleted file mode 100755 index 4eb2d61a6a..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_destination_sample.csv +++ /dev/null @@ -1,18 +0,0 @@ -Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork -,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (od_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (dp_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (od_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (dp_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -#If transit tour is not in walk sub-zone it must be walkable,,,,,,,,,,, -size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",1,1,1,1,1,1,1,1,1,1 -no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -#stop zone CBD area type,"@reindex(land_use.AreaType, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, -distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),-0.049725916,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 -distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),0.147813279,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 -distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),0,0,0,-0.1238,-0.1238,-0.1238,-0.1238,-0.1238,-0.123801985,0 -stop proximity to home (outbound),@df.outbound * _od_DIST,-0.38,0,0,0,0,0,0,0,0,0 -stop proximity to home (inbound),@~df.outbound * _od_DIST,-0.15,0,0,0,0,0,0,0,0,0 -stop proximity to main destination (outbound),@df.outbound * _dp_DIST,-0.26,,,,,,,,, -stop proximity to main destination (inbound),@~df.outbound * _od_DIST,0,,,,,,,,, diff --git a/activitysim/examples/example_semcog/configs/trip_mode_choice.csv b/activitysim/examples/example_semcog/configs/trip_mode_choice.csv deleted file mode 100755 index 0484fec649..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_mode_choice.csv +++ /dev/null @@ -1,399 +0,0 @@ -Description,Expression,DRIVEALONE,SHARED2,SHARED3,WALK,BIKE,WALK_LOC,WALK_PRM,WALK_MIX,PNR_LOC,PNR_PRM,PNR_MIX,KNR_LOC,KNR_PRM,KNR_MIX,SCHOOLBUS,TAXI,TNC_SINGLE,TNC_SHARED -#Drive alone no toll,,,,,,,,,,,,,,,,,,, -DRIVEALONE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,, -DRIVEALONE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,, -DRIVEALONE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,, -DRIVEALONE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,, -DRIVEALONE - In-vehicle time,@c_ivt*odt_skims['SOV_TIME'],1,,,,,,,,,,,,,,,,, -DRIVEALONE - Terminal time,@c_walktimeshort * df.total_terminal_time,1,,,,,,,,,,,,,,,,, -DRIVEALONE - Operating cost ,@df.c_cost * costPerMile * odt_skims['SOV_DIST'],1,,,,,,,,,,,,,,,,, -DRIVEALONE - Parking cost ,c_cost * total_parking_cost,1,,,,,,,,,,,,,,,,, -DRIVEALONE - Person is between 16 and 19 years old,@c_age1619_da * ((df.age >= 16) & (df.age <= 19)),1,,,,,,,,,,,,,,,,, -#Shared ride 2,,,,,,,,,,,,,,,,,,, -SHARED2 - Unavailable,hov2_available == False,,-999,,,,,,,,,,,,,,,, -SHARED2 - Unavailable based on party size,is_joint & (number_of_participants > 2),,-999,,,,,,,,,,,,,,,, -SHARED2 - In-vehicle time,@c_ivt * odt_skims['HOV2_TIME'],,1,,,,,,,,,,,,,,,, -SHARED2 - Terminal time,@c_walktimeshort * df.total_terminal_time,,1,,,,,,,,,,,,,,,, -SHARED2 - Operating cost,@df.c_cost * costPerMile * odt_skims['HOV2_DIST'],,1,,,,,,,,,,,,,,,, -SHARED2 - Parking cost,@df.c_cost * df.total_parking_cost / costShareSr2,,1,,,,,,,,,,,,,,,, -SHARED2 - One person household,@c_hhsize1_sr * (df.hhsize == 1),,1,,,,,,,,,,,,,,,, -SHARED2 - Two person household,@c_hhsize2_sr * (df.hhsize == 2),,1,,,,,,,,,,,,,,,, -SHARED2 - Person is 16 years old or older,@c_age16p_sr * (df.age >= 16),,1,,,,,,,,,,,,,,,, -#Shared ride 3+,,,,,,,,,,,,,,,,,,, -SHARED3 - Unavailable,hov3_available == False,,,-999,,,,,,,,,,,,,,, -SHARED3 - Unavailable based joint tour mode,@df.is_joint & df.i_tour_mode.isin(I_SR2_MODES),,,-999,,,,,,,,,,,,,,, -SHARED3 - Unavailable if tour mode is shared 2,@df.i_tour_mode.isin(I_SR2_MODES),,,-999,,,,,,,,,,,,,,, -SHARED3 - In-vehicle time,@c_ivt * odt_skims['HOV3_TIME'],,,1,,,,,,,,,,,,,,, -SHARED3 - Terminal time,@c_walktimeshort * df.total_terminal_time,,,1,,,,,,,,,,,,,,, -SHARED3 - Operating cost,@df.c_cost * costPerMile * odt_skims['HOV3_DIST'],,,1,,,,,,,,,,,,,,, -SHARED3 - Parking cost,@df.c_cost * df.total_parking_cost / costShareSr3,,,1,,,,,,,,,,,,,,, -SHARED3 - One person household,@c_hhsize1_sr * (df.hhsize == 1),,,1,,,,,,,,,,,,,,, -SHARED3 - Two person household,@c_hhsize2_sr * (df.hhsize == 2),,,1,,,,,,,,,,,,,,, -SHARED3 - Person is 16 years old or older,@c_age16p_sr * (df.age >= 16),,,1,,,,,,,,,,,,,,, -#Walk,,,,,,,,,,,,,,,,,,, -WALK - Time up to 2 miles,@c_walktimeshort * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,1,,,,,,,,,,,,,, -WALK - Time beyond 2 of a miles,@c_walktimelong * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,1,,,,,,,,,,,,,, -WALK - Destination zone densityIndex,@c_density_index * df.density_index,,,,1,,,,,,,,,,,,,, -WALK - Topology,@c_topology_walk * df.trip_topology,,,,1,,,,,,,,,,,,,, -#Bike,,,,,,,,,,,,,,,,,,, -BIKE - Unavailable if tour mode is not bike,~tour_mode_is_bike,,,,,-999,,,,,,,,,,,,, -BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,-999,,,,,,,,,,,,, -BIKE - Time up to 6 miles,@c_biketimeshort * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,1,,,,,,,,,,,,, -BIKE - Time beyond 6 of a miles,@c_biketimelong * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,1,,,,,,,,,,,,, -BIKE - Destination zone densityIndex,@c_density_index*df.density_index,,,,,1,,,,,,,,,,,,, -BIKE - Topology,@c_topology_bike * df.trip_topology,,,,,1,,,,,,,,,,,,, -#Walk to Local,,,,,,,,,,,,,,,,,,, -WALK_LOC - Unavailable,walk_local_available == False,,,,,,-999,,,,,,,,,,,, -WALK_LOC - In-vehicle time,@c_ivt * odt_skims['WLK_LOC_IVT'],,,,,,1,,,,,,,,,,,, -WALK_LOC - Short iwait time,@c_short_i_wait * (odt_skims['WLK_LOC_IWAIT']).clip(upper=waitThresh),,,,,,1,,,,,,,,,,,, -WALK_LOC - Long iwait time,@c_long_i_wait * (odt_skims['WLK_LOC_IWAIT']-waitThresh).clip(0),,,,,,1,,,,,,,,,,,, -WALK_LOC - transfer wait time,@c_xwait * odt_skims['WLK_LOC_XWAIT'],,,,,,1,,,,,,,,,,,, -WALK_LOC - number of transfers,@c_xfers_wlk * (odt_skims['WLK_LOC_NT']).clip(0),,,,,,1,,,,,,,,,,,, -WALK_LOC - Walk access time,@c_wacc * df.origin_walk_time,,,,,,1,,,,,,,,,,,, -WALK_LOC - Walk egress time,@c_wegr * df.destination_walk_time,,,,,,1,,,,,,,,,,,, -WALK_LOC - Walk other time,@c_waux * odt_skims['WLK_LOC_WAUX'],,,,,,1,,,,,,,,,,,, -WALK_LOC - Fare,@df.c_cost * odt_skims['WLK_LOC_FARE'],,,,,,1,,,,,,,,,,,, -WALK_LOC - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,1,,,,,,,,,,,, -WALK_LOC - Topology,@c_topology_trn * df.trip_topology,,,,,,1,,,,,,,,,,,, -WALK_LOC - Person is less than 10 years old,@c_age010_trn * (df.age <= 10),,,,,,1,,,,,,,,,,,, -#Walk to Premium,,,,,,,,,,,,,,,,,,, -WALK_PRM - Unavailable,walk_premium_available == False,,,,,,,-999,,,,,,,,,,, -WALK_PRM - In-vehicle time,@c_ivt * odt_skims['WLK_PRM_IVT'],,,,,,,1,,,,,,,,,,, -WALK_PRM - In-vehicle time on PMov,@(c_ivt_pmov - c_ivt) * odt_skims['WLK_PRM_IVTT_PMov'],,,,,,,1,,,,,,,,,,, -WALK_PRM - In-vehicle time on StCar,@(c_ivt_stcar - c_ivt) * odt_skims['WLK_PRM_IVTT_StCar'],,,,,,,1,,,,,,,,,,, -WALK_PRM - In-vehicle time on BRT,@(c_ivt_brt - c_ivt) * odt_skims['WLK_PRM_IVTT_Brt'],,,,,,,1,,,,,,,,,,, -WALK_PRM - In-vehicle time on URB,@(c_ivt_urb - c_ivt) * odt_skims['WLK_PRM_IVTT_UrbRail'],,,,,,,1,,,,,,,,,,, -WALK_PRM - In-vehicle time on COM,@(c_ivt_com - c_ivt) * odt_skims['WLK_PRM_IVTT_ComRail'],,,,,,,1,,,,,,,,,,, -WALK_PRM - Short iwait time,@c_short_i_wait * (odt_skims['WLK_PRM_IWAIT']).clip(upper=waitThresh),,,,,,,1,,,,,,,,,,, -WALK_PRM - Long iwait time,@c_long_i_wait * (odt_skims['WLK_PRM_IWAIT']-waitThresh).clip(0),,,,,,,1,,,,,,,,,,, -WALK_PRM - transfer wait time,@c_xwait * odt_skims['WLK_PRM_XWAIT'],,,,,,,1,,,,,,,,,,, -WALK_PRM - number of transfers,@c_xfers_wlk * (odt_skims['WLK_PRM_NT']).clip(0),,,,,,,1,,,,,,,,,,, -WALK_PRM - Walk access time,@c_wacc * df.origin_walk_time,,,,,,,1,,,,,,,,,,, -WALK_PRM - Walk egress time,@c_wegr * df.destination_walk_time,,,,,,,1,,,,,,,,,,, -WALK_PRM - Walk otherLight rail/Ferry time,@c_waux * odt_skims['WLK_PRM_WAUX'],,,,,,,1,,,,,,,,,,, -WALK_PRM - Fare,@df.c_cost * odt_skims['WLK_PRM_FARE'],,,,,,,1,,,,,,,,,,, -WALK_PRM - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,1,,,,,,,,,,, -WALK_PRM - Topology,@c_topology_trn * df.trip_topology,,,,,,,1,,,,,,,,,,, -WALK_PRM - Person is less than 10 years old,@c_age010_trn * (df.age <= 10),,,,,,,1,,,,,,,,,,, -#Walk to Mix,,,,,,,,,,,,,,,,,,, -WALK_MIX - Unavailable,walk_mix_available == False,,,,,,,,-999,,,,,,,,,, -WALK_MIX - In-vehicle time,@c_ivt * odt_skims['WLK_MIX_IVT'],,,,,,,,1,,,,,,,,,, -WALK_MIX - In-vehicle time on Bus,@c_ivt * odt_skims['WLK_MIX_IVTT_Bus'],,,,,,,,1,,,,,,,,,, -WALK_MIX - In-vehicle time on PMov,@(c_ivt_pmov - c_ivt) * odt_skims['WLK_MIX_IVTT_PMov'],,,,,,,,1,,,,,,,,,, -WALK_MIX - In-vehicle time on StCar,@(c_ivt_stcar - c_ivt) * odt_skims['WLK_MIX_IVTT_StCar'],,,,,,,,1,,,,,,,,,, -WALK_MIX - In-vehicle time on BRT,@(c_ivt_brt - c_ivt) * odt_skims['WLK_MIX_IVTT_Brt'],,,,,,,,1,,,,,,,,,, -WALK_MIX - In-vehicle time on URB,@(c_ivt_urb - c_ivt) * odt_skims['WLK_MIX_IVTT_UrbRail'],,,,,,,,1,,,,,,,,,, -WALK_MIX - In-vehicle time on COM,@(c_ivt_com - c_ivt) * odt_skims['WLK_MIX_IVTT_ComRail'],,,,,,,,1,,,,,,,,,, -WALK_MIX - Short iwait time,@c_short_i_wait * (odt_skims['WLK_MIX_IWAIT']).clip(upper=waitThresh),,,,,,,,1,,,,,,,,,, -WALK_MIX - Long iwait time,@c_long_i_wait * (odt_skims['WLK_MIX_IWAIT']-waitThresh).clip(0),,,,,,,,1,,,,,,,,,, -WALK_MIX - transfer wait time,@c_xwait * odt_skims['WLK_MIX_XWAIT'],,,,,,,,1,,,,,,,,,, -WALK_MIX - number of transfers,@c_xfers_wlk * (odt_skims['WLK_MIX_NT']).clip(0),,,,,,,,1,,,,,,,,,, -WALK_MIX - Walk access time,@c_wacc * df.origin_walk_time,,,,,,,,1,,,,,,,,,, -WALK_MIX - Walk egress time,@c_wegr * df.destination_walk_time,,,,,,,,1,,,,,,,,,, -WALK_MIX - Walk other time,@c_waux * odt_skims['WLK_MIX_WAUX'],,,,,,,,1,,,,,,,,,, -WALK_MIX - Fare,@df.c_cost * odt_skims['WLK_MIX_FARE'],,,,,,,,1,,,,,,,,,, -WALK_MIX - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,1,,,,,,,,,, -WALK_MIX - Topology,@c_topology_trn * df.trip_topology,,,,,,,,1,,,,,,,,,, -WALK_MIX - Person is less than 10 years old,@c_age010_trn * (df.age <= 10),,,,,,,,1,,,,,,,,,, -#PNR to Local,,,,,,,,,,,,,,,,,,, -PNR_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,-999,,,,,,,,, -PNR_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,-999,,,,,,,,, -PNR_LOC - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,1,,,,,,,,, -PNR_LOC - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,1,,,,,,,,, -PNR_LOC - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,1,,,,,,,,, -PNR_LOC outbound - Unavailable,outbound & ~pnr_local_available_outbound,,,,,,,,,-999,,,,,,,,, -PNR_LOC outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['PNR_LOC_IVT'],,,,,,,,,1,,,,,,,,, -PNR_LOC outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['PNR_LOC_IWAIT']).clip(upper=waitThresh),,,,,,,,,1,,,,,,,,, -PNR_LOC outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['PNR_LOC_IWAIT']-waitThresh).clip(0),,,,,,,,,1,,,,,,,,, -PNR_LOC outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['PNR_LOC_XWAIT'],,,,,,,,,1,,,,,,,,, -PNR_LOC outbound - number of transfers,@df.outbound * c_xfers_wlk * (odt_skims['PNR_LOC_NT']).clip(0),,,,,,,,,1,,,,,,,,, -PNR_LOC outbound - Drive time,@df.outbound * c_dtim * odt_skims['PNR_LOC_DTIME'],,,,,,,,,1,,,,,,,,, -PNR_LOC outbound - Walk egress time,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,1,,,,,,,,, -PNR_LOC outbound - Walk other time,@df.outbound * c_waux * odt_skims['PNR_LOC_WAUX'],,,,,,,,,1,,,,,,,,, -PNR_LOC outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['PNR_LOC_FARE'] + costPerMile*odt_skims['PNR_LOC_DDIST']),,,,,,,,,1,,,,,,,,, -PNR_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['PNR_LOC_DDIST'])/ (od_skims['DIST']),,,,,,,,,1,,,,,,,,, -PNR_LOC inbound - Unavailable,inbound & ~pnr_local_available_inbound,,,,,,,,,-999,,,,,,,,, -PNR_LOC inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['PNRE_LOC_IVT'],,,,,,,,,1,,,,,,,,, -PNR_LOC inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['PNRE_LOC_IWAIT']).clip(upper=waitThresh),,,,,,,,,1,,,,,,,,, -PNR_LOC inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['PNRE_LOC_IWAIT']-waitThresh).clip(0),,,,,,,,,1,,,,,,,,, -PNR_LOC inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['PNRE_LOC_XWAIT'],,,,,,,,,1,,,,,,,,, -PNR_LOC inbound - number of transfers,@df.inbound * c_xfers_wlk * (odt_skims['PNRE_LOC_NT']).clip(0),,,,,,,,,1,,,,,,,,, -PNR_LOC inbound - Drive time,@df.inbound * c_dtim * odt_skims['PNRE_LOC_DTIME'],,,,,,,,,1,,,,,,,,, -PNR_LOC inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,1,,,,,,,,, -PNR_LOC inbound - Walk other time,@df.inbound * c_waux * odt_skims['PNRE_LOC_WAUX'],,,,,,,,,1,,,,,,,,, -PNR_LOC inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['PNRE_LOC_FARE'] + costPerMile*odt_skims['PNRE_LOC_DDIST']),,,,,,,,,1,,,,,,,,, -PNR_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['PNRE_LOC_DDIST'])/ (od_skims['DIST']),,,,,,,,,1,,,,,,,,, -#Drive to Premium,,,,,,,,,,,,,,,,,,, -PNR_PRM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,-999,,,,,,,, -PNR_PRM - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,,,,,,, -PNR_PRM - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,,1,,,,,,,, -PNR_PRM - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,,1,,,,,,,, -PNR_PRM - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,,1,,,,,,,, -PNR_PRM outbound - Unavailable,outbound & ~pnr_premium_available_outbound,,,,,,,,,,-999,,,,,,,, -PNR_PRM outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['PNR_PRM_IVT'],,,,,,,,,,1,,,,,,,, -PNR_PRM - In-vehicle time on PMov,@df.outbound * (c_ivt_pmov - c_ivt) * odt_skims['PNR_PRM_IVTT_PMov'],,,,,,,,,,1,,,,,,,, -PNR_PRM - In-vehicle time on StCar,@df.outbound * (c_ivt_stcar - c_ivt) * odt_skims['PNR_PRM_IVTT_StCar'],,,,,,,,,,1,,,,,,,, -PNR_PRM - In-vehicle time on BRT,@df.outbound * (c_ivt_brt - c_ivt) * odt_skims['PNR_PRM_IVTT_Brt'],,,,,,,,,,1,,,,,,,, -PNR_PRM - In-vehicle time on URB,@df.outbound * (c_ivt_urb - c_ivt) * odt_skims['PNR_PRM_IVTT_UrbRail'],,,,,,,,,,1,,,,,,,, -PNR_PRM - In-vehicle time on COM,@df.outbound * (c_ivt_com - c_ivt) * odt_skims['PNR_PRM_IVTT_ComRail'],,,,,,,,,,1,,,,,,,, -PNR_PRM outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['PNR_PRM_IWAIT']).clip(upper=waitThresh),,,,,,,,,,1,,,,,,,, -PNR_PRM outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['PNR_PRM_IWAIT']-waitThresh).clip(0) ,,,,,,,,,,1,,,,,,,, -PNR_PRM outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['PNR_PRM_XWAIT'],,,,,,,,,,1,,,,,,,, -PNR_PRM outbound - number of transfers,@df.outbound * c_xfers_drv * (odt_skims['PNR_PRM_NT']).clip(0),,,,,,,,,,1,,,,,,,, -PNR_PRM outbound - Drive time,@df.outbound * c_dtim * odt_skims['PNR_PRM_DTIME'],,,,,,,,,,1,,,,,,,, -PNR_PRM outbound - Walk egress time,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,,1,,,,,,,, -PNR_PRM outbound - Walk other time,@df.outbound * c_waux * odt_skims['PNR_PRM_WAUX'],,,,,,,,,,1,,,,,,,, -PNR_PRM outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['PNR_PRM_FARE'] + costPerMile * odt_skims['PNR_PRM_DDIST']),,,,,,,,,,1,,,,,,,, -PNR_PRM outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['PNR_PRM_DDIST']) / od_skims['DIST'],,,,,,,,,,1,,,,,,,, -PNR_PRM inbound - Unavailable,inbound & ~pnr_premium_available_inbound,,,,,,,,,,-999,,,,,,,, -PNR_PRM inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['PNRE_PRM_IVT'],,,,,,,,,,1,,,,,,,, -PNR_PRM - In-vehicle time on PMov,@df.inbound * (c_ivt_pmov - c_ivt) * odt_skims['PNRE_PRM_IVTT_PMov'],,,,,,,,,,1,,,,,,,, -PNR_PRM - In-vehicle time on StCar,@df.inbound * (c_ivt_stcar - c_ivt) * odt_skims['PNRE_PRM_IVTT_StCar'],,,,,,,,,,1,,,,,,,, -PNR_PRM - In-vehicle time on BRT,@df.inbound * (c_ivt_brt - c_ivt) * odt_skims['PNRE_PRM_IVTT_Brt'],,,,,,,,,,1,,,,,,,, -PNR_PRM - In-vehicle time on URB,@df.inbound * (c_ivt_urb - c_ivt) * odt_skims['PNRE_PRM_IVTT_UrbRail'],,,,,,,,,,1,,,,,,,, -PNR_PRM - In-vehicle time on COM,@df.inbound * (c_ivt_com - c_ivt) * odt_skims['PNRE_PRM_IVTT_ComRail'],,,,,,,,,,1,,,,,,,, -PNR_PRM inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['PNRE_PRM_IWAIT']).clip(upper=waitThresh),,,,,,,,,,1,,,,,,,, -PNR_PRM inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['PNRE_PRM_IWAIT']-waitThresh).clip(0),,,,,,,,,,1,,,,,,,, -PNR_PRM inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['PNRE_PRM_XWAIT'],,,,,,,,,,1,,,,,,,, -PNR_PRM inbound - number of transfers,@df.inbound * c_xfers_drv * (odt_skims['PNRE_PRM_NT']).clip(0),,,,,,,,,,1,,,,,,,, -PNR_PRM inbound - Drive time,@df.inbound * c_dtim * odt_skims['PNRE_PRM_DTIME'],,,,,,,,,,1,,,,,,,, -PNR_PRM inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,,1,,,,,,,, -PNR_PRM inbound - Walk other time,@df.inbound * c_waux * odt_skims['PNRE_PRM_WAUX'],,,,,,,,,,1,,,,,,,, -PNR_PRM inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['PNRE_PRM_FARE'] + costPerMile * odt_skims['PNRE_PRM_DDIST']),,,,,,,,,,1,,,,,,,, -PNR_PRM inbound - Ratio of drive access distance to OD distance,@df.inbound * c_dacc_ratio * (odt_skims['PNRE_PRM_DDIST'])/ od_skims['DIST'],,,,,,,,,,1,,,,,,,, -#PNR to Mix,,,,,,,,,,,,,,,,,,, -PNR_MIX - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,-999,,,,,,, -PNR_MIX - Unavailable for persons less than 16,age < 16,,,,,,,,,,,-999,,,,,,, -PNR_MIX - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,,,1,,,,,,, -PNR_MIX - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,,,1,,,,,,, -PNR_MIX - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,,,1,,,,,,, -PNR_MIX outbound - Unavailable,outbound & ~pnr_mix_available_outbound,,,,,,,,,,,-999,,,,,,, -PNR_MIX outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['PNR_MIX_IVT'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on Bus,@df.outbound * c_ivt * odt_skims['PNR_MIX_IVTT_Bus'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on PMov,@df.outbound * (c_ivt_pmov - c_ivt) * odt_skims['PNR_MIX_IVTT_PMov'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on StCar,@df.outbound * (c_ivt_stcar - c_ivt) * odt_skims['PNR_MIX_IVTT_StCar'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on BRT,@df.outbound * (c_ivt_brt - c_ivt) * odt_skims['PNR_MIX_IVTT_Brt'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on URB,@df.outbound * (c_ivt_urb - c_ivt) * odt_skims['PNR_MIX_IVTT_UrbRail'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on COM,@df.outbound * (c_ivt_com - c_ivt) * odt_skims['PNR_MIX_IVTT_ComRail'],,,,,,,,,,,1,,,,,,, -PNR_MIX outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['PNR_MIX_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,1,,,,,,, -PNR_MIX outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['PNR_MIX_IWAIT']-waitThresh).clip(0),,,,,,,,,,,1,,,,,,, -PNR_MIX outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['PNR_MIX_XWAIT'],,,,,,,,,,,1,,,,,,, -PNR_MIX outbound - number of transfers,@df.outbound * c_xfers_drv * (odt_skims['PNR_MIX_NT']).clip(0),,,,,,,,,,,1,,,,,,, -PNR_MIX outbound - Drive time,@df.outbound * c_dtim * odt_skims['PNR_MIX_DTIME'],,,,,,,,,,,1,,,,,,, -PNR_MIX outbound - Walk egress ime,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,,,1,,,,,,, -PNR_MIX outbound - Walk other time,@df.outbound * c_waux * odt_skims['PNR_MIX_WAUX'],,,,,,,,,,,1,,,,,,, -PNR_MIX outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['PNR_MIX_FARE'] + costPerMile * odt_skims['PNR_MIX_DDIST']),,,,,,,,,,,1,,,,,,, -PNR_MIX outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['PNR_MIX_DDIST']) / od_skims['DIST'],,,,,,,,,,,1,,,,,,, -PNR_MIX inbound - Unavailable,inbound & ~pnr_mix_available_inbound,,,,,,,,,,,-999,,,,,,, -PNR_MIX inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['PNRE_MIX_IVT'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on Bus,@df.inbound * c_ivt * odt_skims['PNRE_MIX_IVTT_Bus'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on PMov,@df.inbound * (c_ivt_pmov - c_ivt) * odt_skims['PNRE_MIX_IVTT_PMov'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on StCar,@df.inbound * (c_ivt_stcar - c_ivt) * odt_skims['PNRE_MIX_IVTT_StCar'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on BRT,@df.inbound * (c_ivt_brt - c_ivt) * odt_skims['PNRE_MIX_IVTT_Brt'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on URB,@df.inbound * (c_ivt_urb - c_ivt) * odt_skims['PNRE_MIX_IVTT_UrbRail'],,,,,,,,,,,1,,,,,,, -PNR_MIX - In-vehicle time on COM,@df.inbound * (c_ivt_com - c_ivt) * odt_skims['PNRE_MIX_IVTT_ComRail'],,,,,,,,,,,1,,,,,,, -PNR_MIX inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['PNRE_MIX_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,1,,,,,,, -PNR_MIX inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['PNRE_MIX_IWAIT']-waitThresh).clip(0),,,,,,,,,,,1,,,,,,, -PNR_MIX inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['PNRE_MIX_XWAIT'],,,,,,,,,,,1,,,,,,, -PNR_MIX inbound - number of transfers,@df.inbound * c_xfers_drv * (odt_skims['PNRE_MIX_NT']).clip(0),,,,,,,,,,,1,,,,,,, -PNR_MIX inbound - Drive time,@df.inbound * c_dtim * odt_skims['PNRE_MIX_DTIME'],,,,,,,,,,,1,,,,,,, -PNR_MIX inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,,,1,,,,,,, -PNR_MIX inbound - Walk other time,@df.inbound * c_waux * odt_skims['PNRE_MIX_WAUX'],,,,,,,,,,,1,,,,,,, -PNR_MIX inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['PNRE_MIX_FARE'] + costPerMile * odt_skims['PNRE_MIX_DDIST']),,,,,,,,,,,1,,,,,,, -PNR_MIX inbound - Ratio of drive access distance to OD distance,@df.inbound * c_dacc_ratio * (odt_skims['PNRE_MIX_DDIST']) / od_skims['DIST'],,,,,,,,,,,1,,,,,,, -#KNR to Local,,,,,,,,,,,,,,,,,,, -KNR_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,-999,,,,,, -KNR_LOC - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,,,,1,,,,,, -KNR_LOC - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,,,,1,,,,,, -KNR_LOC - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,,,,1,,,,,, -KNR_LOC outbound - Unavailable,outbound & ~knr_local_available_outbound,,,,,,,,,,,,-999,,,,,, -KNR_LOC outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['KNR_LOC_IVT'],,,,,,,,,,,,1,,,,,, -KNR_LOC outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['KNR_LOC_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,1,,,,,, -KNR_LOC outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['KNR_LOC_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,1,,,,,, -KNR_LOC outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['KNR_LOC_XWAIT'],,,,,,,,,,,,1,,,,,, -KNR_LOC outbound - number of transfers,@df.outbound * c_xfers_wlk * (odt_skims['KNR_LOC_NT']).clip(0),,,,,,,,,,,,1,,,,,, -KNR_LOC outbound - Drive time,@df.outbound * c_dtim * odt_skims['KNR_LOC_DTIME'],,,,,,,,,,,,1,,,,,, -KNR_LOC outbound - Walk egress time,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,,,,1,,,,,, -KNR_LOC outbound - Walk other time,@df.outbound * c_waux * odt_skims['KNR_LOC_WAUX'],,,,,,,,,,,,1,,,,,, -KNR_LOC outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['KNR_LOC_FARE'] + costPerMile*odt_skims['KNR_LOC_DDIST']),,,,,,,,,,,,1,,,,,, -KNR_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['KNR_LOC_DDIST'])/ (od_skims['DIST']),,,,,,,,,,,,1,,,,,, -KNR_LOC inbound - Unavailable,inbound & ~knr_local_available_inbound,,,,,,,,,,,,-999,,,,,, -KNR_LOC inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['KNRE_LOC_IVT'],,,,,,,,,,,,1,,,,,, -KNR_LOC inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['KNRE_LOC_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,1,,,,,, -KNR_LOC inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['KNRE_LOC_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,1,,,,,, -KNR_LOC inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['KNRE_LOC_XWAIT'],,,,,,,,,,,,1,,,,,, -KNR_LOC inbound - number of transfers,@df.inbound * c_xfers_wlk * (odt_skims['KNRE_LOC_NT']).clip(0),,,,,,,,,,,,1,,,,,, -KNR_LOC inbound - Drive time,@df.inbound * c_dtim * odt_skims['KNRE_LOC_DTIME'],,,,,,,,,,,,1,,,,,, -KNR_LOC inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,,,,1,,,,,, -KNR_LOC inbound - Walk other time,@df.inbound * c_waux * odt_skims['KNRE_LOC_WAUX'],,,,,,,,,,,,1,,,,,, -KNR_LOC inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['KNRE_LOC_FARE'] + costPerMile*odt_skims['KNRE_LOC_DDIST']),,,,,,,,,,,,1,,,,,, -KNR_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['KNRE_LOC_DDIST'])/ (od_skims['DIST']),,,,,,,,,,,,1,,,,,, -#Drive to Premium,,,,,,,,,,,,,,,,,,, -KNR_PRM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,-999,,,,, -KNR_PRM - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,,,,,1,,,,, -KNR_PRM - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,,,,,1,,,,, -KNR_PRM - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,,,,,1,,,,, -KNR_PRM outbound - Unavailable,outbound & ~knr_premium_available_outbound,,,,,,,,,,,,,-999,,,,, -KNR_PRM outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['KNR_PRM_IVT'],,,,,,,,,,,,,1,,,,, -KNR_PRM - In-vehicle time on PMov,@df.outbound * (c_ivt_pmov - c_ivt) * odt_skims['KNR_PRM_IVTT_PMov'],,,,,,,,,,,,,1,,,,, -KNR_PRM - In-vehicle time on StCar,@df.outbound * (c_ivt_stcar - c_ivt) * odt_skims['KNR_PRM_IVTT_StCar'],,,,,,,,,,,,,1,,,,, -KNR_PRM - In-vehicle time on BRT,@df.outbound * (c_ivt_brt - c_ivt) * odt_skims['KNR_PRM_IVTT_Brt'],,,,,,,,,,,,,1,,,,, -KNR_PRM - In-vehicle time on URB,@df.outbound * (c_ivt_urb - c_ivt) * odt_skims['KNR_PRM_IVTT_UrbRail'],,,,,,,,,,,,,1,,,,, -KNR_PRM - In-vehicle time on COM,@df.outbound * (c_ivt_com - c_ivt) * odt_skims['KNR_PRM_IVTT_ComRail'],,,,,,,,,,,,,1,,,,, -KNR_PRM outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['KNR_PRM_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,1,,,,, -KNR_PRM outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['KNR_PRM_IWAIT']-waitThresh).clip(0) ,,,,,,,,,,,,,1,,,,, -KNR_PRM outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['KNR_PRM_XWAIT'],,,,,,,,,,,,,1,,,,, -KNR_PRM outbound - number of transfers,@df.outbound * c_xfers_drv * (odt_skims['KNR_PRM_NT']).clip(0),,,,,,,,,,,,,1,,,,, -KNR_PRM outbound - Drive time,@df.outbound * c_dtim * odt_skims['KNR_PRM_DTIME'],,,,,,,,,,,,,1,,,,, -KNR_PRM outbound - Walk egress time,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,,,,,1,,,,, -KNR_PRM outbound - Walk other time,@df.outbound * c_waux * odt_skims['KNR_PRM_WAUX'],,,,,,,,,,,,,1,,,,, -KNR_PRM outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['KNR_PRM_FARE'] + costPerMile * odt_skims['KNR_PRM_DDIST']),,,,,,,,,,,,,1,,,,, -KNR_PRM outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['KNR_PRM_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,1,,,,, -KNR_PRM inbound - Unavailable,inbound & ~knr_premium_available_inbound,,,,,,,,,,,,,-999,,,,, -KNR_PRM inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['KNRE_PRM_IVT'],,,,,,,,,,,,,1,,,,, -KNR_PRM - In-vehicle time on PMov,@df.inbound * (c_ivt_pmov - c_ivt) * odt_skims['KNRE_PRM_IVTT_PMov'],,,,,,,,,,,,,1,,,,, -KNR_PRM - In-vehicle time on StCar,@df.inbound * (c_ivt_stcar - c_ivt) * odt_skims['KNRE_PRM_IVTT_StCar'],,,,,,,,,,,,,1,,,,, -KNR_PRM - In-vehicle time on BRT,@df.inbound * (c_ivt_brt - c_ivt) * odt_skims['KNRE_PRM_IVTT_Brt'],,,,,,,,,,,,,1,,,,, -KNR_PRM - In-vehicle time on URB,@df.inbound * (c_ivt_urb - c_ivt) * odt_skims['KNRE_PRM_IVTT_UrbRail'],,,,,,,,,,,,,1,,,,, -KNR_PRM - In-vehicle time on COM,@df.inbound * (c_ivt_com - c_ivt) * odt_skims['KNRE_PRM_IVTT_ComRail'],,,,,,,,,,,,,1,,,,, -KNR_PRM inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['KNRE_PRM_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,1,,,,, -KNR_PRM inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['KNRE_PRM_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,1,,,,, -KNR_PRM inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['KNRE_PRM_XWAIT'],,,,,,,,,,,,,1,,,,, -KNR_PRM inbound - number of transfers,@df.inbound * c_xfers_drv * (odt_skims['KNRE_PRM_NT']).clip(0),,,,,,,,,,,,,1,,,,, -KNR_PRM inbound - Drive time,@df.inbound * c_dtim * odt_skims['KNRE_PRM_DTIME'],,,,,,,,,,,,,1,,,,, -KNR_PRM inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,,,,,1,,,,, -KNR_PRM inbound - Walk other time,@df.inbound * c_waux * odt_skims['KNRE_PRM_WAUX'],,,,,,,,,,,,,1,,,,, -KNR_PRM inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['KNRE_PRM_FARE'] + costPerMile * odt_skims['KNRE_PRM_DDIST']),,,,,,,,,,,,,1,,,,, -KNR_PRM inbound - Ratio of drive access distance to OD distance,@df.inbound * c_dacc_ratio * (odt_skims['KNRE_PRM_DDIST'])/ od_skims['DIST'],,,,,,,,,,,,,1,,,,, -#KNR to Mix,,,,,,,,,,,,,,,,,,, -KNR_MIX - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,, -KNR_MIX - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,,,,,,1,,,, -KNR_MIX - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,,,,,,1,,,, -KNR_MIX - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,,,,,,1,,,, -KNR_MIX outbound - Unavailable,outbound & ~knr_mix_available_outbound,,,,,,,,,,,,,,-999,,,, -KNR_MIX outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['KNR_MIX_IVT'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on Bus,@df.outbound * c_ivt * odt_skims['KNR_MIX_IVTT_Bus'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on PMov,@df.outbound * (c_ivt_pmov - c_ivt) * odt_skims['KNR_MIX_IVTT_PMov'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on StCar,@df.outbound * (c_ivt_stcar - c_ivt) * odt_skims['KNR_MIX_IVTT_StCar'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on BRT,@df.outbound * (c_ivt_brt - c_ivt) * odt_skims['KNR_MIX_IVTT_Brt'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on URB,@df.outbound * (c_ivt_urb - c_ivt) * odt_skims['KNR_MIX_IVTT_UrbRail'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on COM,@df.outbound * (c_ivt_com - c_ivt) * odt_skims['KNR_MIX_IVTT_ComRail'],,,,,,,,,,,,,,1,,,, -KNR_MIX outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['KNR_MIX_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,1,,,, -KNR_MIX outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['KNR_MIX_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,1,,,, -KNR_MIX outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['KNR_MIX_XWAIT'],,,,,,,,,,,,,,1,,,, -KNR_MIX outbound - number of transfers,@df.outbound * c_xfers_drv * (odt_skims['KNR_MIX_NT']).clip(0),,,,,,,,,,,,,,1,,,, -KNR_MIX outbound - Drive time,@df.outbound * c_dtim * odt_skims['KNR_MIX_DTIME'],,,,,,,,,,,,,,1,,,, -KNR_MIX outbound - Walk egress ime,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,,,,,,1,,,, -KNR_MIX outbound - Walk other time,@df.outbound * c_waux * odt_skims['KNR_MIX_WAUX'],,,,,,,,,,,,,,1,,,, -KNR_MIX outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['KNR_MIX_FARE'] + costPerMile * odt_skims['KNR_MIX_DDIST']),,,,,,,,,,,,,,1,,,, -KNR_MIX outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['KNR_MIX_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,,1,,,, -KNR_MIX inbound - Unavailable,inbound & ~knr_mix_available_inbound,,,,,,,,,,,,,,-999,,,, -KNR_MIX inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['KNRE_MIX_IVT'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on Bus,@df.inbound * c_ivt * odt_skims['KNRE_MIX_IVTT_Bus'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on PMov,@df.inbound * (c_ivt_pmov - c_ivt) * odt_skims['KNRE_MIX_IVTT_PMov'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on StCar,@df.inbound * (c_ivt_stcar - c_ivt) * odt_skims['KNRE_MIX_IVTT_StCar'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on BRT,@df.inbound * (c_ivt_brt - c_ivt) * odt_skims['KNRE_MIX_IVTT_Brt'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on URB,@df.inbound * (c_ivt_urb - c_ivt) * odt_skims['KNRE_MIX_IVTT_UrbRail'],,,,,,,,,,,,,,1,,,, -KNR_MIX - In-vehicle time on COM,@df.inbound * (c_ivt_com - c_ivt) * odt_skims['KNRE_MIX_IVTT_ComRail'],,,,,,,,,,,,,,1,,,, -KNR_MIX inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['KNRE_MIX_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,1,,,, -KNR_MIX inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['KNRE_MIX_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,1,,,, -KNR_MIX inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['KNRE_MIX_XWAIT'],,,,,,,,,,,,,,1,,,, -KNR_MIX inbound - number of transfers,@df.inbound * c_xfers_drv * (odt_skims['KNRE_MIX_NT']).clip(0),,,,,,,,,,,,,,1,,,, -KNR_MIX inbound - Drive time,@df.inbound * c_dtim * odt_skims['KNRE_MIX_DTIME'],,,,,,,,,,,,,,1,,,, -KNR_MIX inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,,,,,,1,,,, -KNR_MIX inbound - Walk other time,@df.inbound * c_waux * odt_skims['KNRE_MIX_WAUX'],,,,,,,,,,,,,,1,,,, -KNR_MIX inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['KNRE_MIX_FARE'] + costPerMile * odt_skims['KNRE_MIX_DDIST']),,,,,,,,,,,,,,1,,,, -KNR_MIX inbound - Ratio of drive access distance to OD distance,@df.inbound * c_dacc_ratio * (odt_skims['KNRE_MIX_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,,1,,,, -#Taxi,,,,,,,,,,,,,,,,,,, -Taxi - In-vehicle time,@c_ivt * odt_skims['HOV2_TIME'],,,,,,,,,,,,,,,,1,, -Taxi - Wait time,@c_ivt * 1.5 * df.origTaxiWaitTime,,,,,,,,,,,,,,,,1,, -#Taxi - Tolls,@df.c_cost * odt_skims['HOV2_VTOLL'],,,,,,,,,,,,,,,,1,, -#Taxi - Bridge toll,@df.c_cost * odt_skims['HOV2_BTOLL'],,,,,,,,,,,,,,,,1,, -Taxi - Fare,@df.c_cost * (Taxi_baseFare + odt_skims['HOV2_DIST'] * Taxi_costPerMile + odt_skims['HOV2_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,1,, -#TNC Single,,,,,,,,,,,,,,,,,,, -TNC Single - In-vehicle time,@c_ivt * odt_skims['HOV2_TIME'] ,,,,,,,,,,,,,,,,,1, -TNC Single - Wait time,@c_ivt * 1.5 * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,1, -#TNC Single - Tolls,@df.c_cost * odt_skims['HOV2_VTOLL'],,,,,,,,,,,,,,,,,1, -#TNC Single - Bridge toll,@df.c_cost * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']),,,,,,,,,,,,,,,,,1, -TNC Single - Cost,"@df.c_cost * np.maximum(TNC_single_baseFare + odt_skims['HOV2_DIST'] * TNC_single_costPerMile + odt_skims['HOV2_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,1, -#TNC Shared,,,,,,,,,,,,,,,,,,, -TNC Shared - In-vehicle time,@c_ivt * odt_skims['HOV2_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,1 -TNC Shared - Wait time,@c_ivt * 1.5 * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,1 -#TNC Shared - Tolls,@df.c_cost * odt_skims['HOV2_VTOLL'],,,,,,,,,,,,,,,,,,1 -#TNC Shared - Bridge toll,@df.c_cost * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']),,,,,,,,,,,,,,,,,,1 -TNC Shared - Cost,"@df.c_cost * np.maximum(TNC_shared_baseFare + odt_skims['HOV2_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,1 -#,,,,,,,,,,,,,,,,,,, -Auto tour mode availability,tour_mode_is_auto,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,,,,-999,,,,-999,-999,-999,-999,-999,-999,-999,,, -Drive to Transit tour mode availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,-999,,, -School bus tour mode availability,tour_mode_is_school_bus,-999,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,, -#indiv tour ASCs,,,,,,,,,,,,,,,,,,, -Drive Alone tour mode ASC -- shared ride 2,@sov_ASC_sr2 * (df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,1,,,,,,,,,,,,,,,, -Drive Alone tour mode ASC -- shared ride 3+,@sov_ASC_sr3p * (df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,1,,,,,,,,,,,,,,, -Drive Alone tour mode ASC -- walk,@sov_ASC_walk * (df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,1,,,,,,,,,,,,,, -Drive Alone tour mode ASC -- ride hail,@sov_ASC_rh * (df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,1,1,1 -#Shared Ride 2 tour mode ASC -- shared ride 2 - reference mode,@sr2_ASC_sr2 * (df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,1,,,,,,,,,,,,,,,, -Shared Ride 2 tour mode ASC -- drive alone,@sr2_ASC_sov * (df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),1,,,,,,,,,,,,,,,,, -Shared Ride 2 tour mode ASC -- walk,@sr2_ASC_walk * (df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,1,,,,,,,,,,,,,, -Shared Ride 2 tour mode ASC -- ride hail,@sr2_ASC_rh * (df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,1,1,1 -Shared Ride 3+ tour mode ASC -- drive alone,@sr3p_ASC_sov * (df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),1,,,,,,,,,,,,,,,,, -Shared Ride 3+ tour mode ASC -- shared ride 2,@sr3p_ASC_sr2 * (df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,1,,,,,,,,,,,,,,,, -#Shared Ride 3+ tour mode ASC -- shared ride 3+ - reference mode,@sr3p_ASC_sr3p * (df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,1,,,,,,,,,,,,,,, -Shared Ride 3+ tour mode ASC -- walk,@sr3p_ASC_walk * (df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,1,,,,,,,,,,,,,, -Shared Ride 3+ tour mode ASC -- ride hail,@sr3p_ASC_rh * (df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,1,1,1 -Walk tour mode ASC -- ride hail,@walk_ASC_rh * df.is_indiv * (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,1,1,1 -Bike tour mode ASC -- walk,@bike_ASC_walk * df.is_indiv * (df.i_tour_mode == I_BIKE_MODE),,,,1,,,,,,,,,,,,,, -Bike tour mode ASC -- ride hail,@bike_ASC_rh * df.is_indiv * (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,1,1,1 -Walk-transit tour mode ASC -- shared ride 2,@walktransit_ASC_sr2 * (df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,1,,,,,,,,,,,,,,,, -Walk-transit tour mode ASC -- shared ride 3+,@walktransit_ASC_sr3p * (df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,1,,,,,,,,,,,,,,, -Walk-transit tour mode ASC -- walk,@walktransit_ASC_walk * (df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,1,,,,,,,,,,,,,, -Walk-transit tour mode ASC -- ride hail,@walk_transit_ASC_rh * (df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,1,1,1 -Drive to Transit tour mode ASC -- ride hail,@drive_transit_ASC_rh * (df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,1,1,1 -Ride Hail tour mode ASC -- ride hail,@ride_hail_ASC_taxi * (df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,1,, -Ride Hail tour mode ASC -- ride hail,@ride_hail_ASC_tnc_single * (df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,1, -Ride Hail tour mode ASC -- ride hail,@ride_hail_ASC_tnc_shared * (df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,1 -#Walk-transit tour mode ASC -- walk-transit - reference mode,@walktransit_ASC_walktransit * (df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,,,1,1,1,,,,,,,,,, -#PNR tour mode ASC -- PNR - reference mode,@pnr_ASC_pnr * (df.is_indiv & df.i_tour_mode.isin(I_PNR_TRANSIT_MODES)),,,,,,,,,1,1,1,,,,,,, -#KNR tour mode ASC -- KNR - reference mode,@knr_ASC_knr * (df.is_indiv & df.i_tour_mode.isin(I_KNR_TRANSIT_MODES)),,,,,,,,,,,,1,1,1,,,, -#joint tour ASCs,,,,,,,,,,,,,,,,,,, -#joint - SR2 tour mode ASC -- shared ride 2 - reference mode,@joint_sr2_ASC_sr2 * (df.is_joint & df.i_tour_mode.isin(I_SR2_MODES)),,1,,,,,,,,,,,,,,,, -joint - SR2 tour mode ASC -- walk,@joint_sr2_ASC_walk * (df.is_joint & df.i_tour_mode.isin(I_SR2_MODES)),,,,1,,,,,,,,,,,,,, -#joint - SR3 tour mode ASC -- shared ride 3+ - reference mode,@joint_sr3p_ASC_sr3p * (df.is_joint & df.i_tour_mode.isin(I_SR3P_MODES)),,,1,,,,,,,,,,,,,,, -joint - SR3 tour mode ASC -- shared ride 2,@joint_sr3p_ASC_sr2 * (df.is_joint & df.i_tour_mode.isin(I_SR3P_MODES)),,1,,,,,,,,,,,,,,,, -joint - SR3 tour mode ASC -- walk,@joint_sr3p_ASC_walk * (df.is_joint & df.i_tour_mode.isin(I_SR3P_MODES)),,,,1,,,,,,,,,,,,,, -joint - auto tour mode ASC -- ride hail,@joint_auto_ASC_rh * (df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,1,1,1 -joint - Bike tour mode ASC -- walk,@joint_bike_ASC_walk * df.is_joint * (df.i_tour_mode == I_BIKE_MODE),,,,1,,,,,,,,,,,,,, -joint - Bike tour mode ASC -- ride hail,@joint_bike_ASC_rh * df.is_joint * (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,1,1,1 -joint - Walk-transit tour mode ASC -- shared ride 2,@joint_walktransit_ASC_sr2 * (df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,1,,,,,,,,,,,,,,,, -joint - Walk-transit tour mode ASC -- shared ride 3+,@joint_walktransit_ASC_sr3p * (df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,1,,,,,,,,,,,,,,, -joint - Walk-transit tour mode ASC -- walk,@joint_walktransit_ASC_walk * (df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,1,,,,,,,,,,,,,, -joint - Walk to Transit tour mode ASC -- ride hail,@joint_walk_transit_ASC_rh * (df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,,,,,,,,,,,,,1,1,1 -joint - Drive to Transit tour mode ASC -- ride hail,@joint_drive_transit_ASC_rh * (df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,1,1,1 -joint - Ride Hail tour mode ASC -- ride hail,@joint_ride_hail_ASC_taxi * (df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,1,, -joint - Ride Hail tour mode ASC -- ride hail,@joint_ride_hail_ASC_tnc_single * (df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,1, -joint - Ride Hail tour mode ASC -- ride hail,@joint_ride_hail_ASC_tnc_shared * (df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,1 -#joint - Walk-transit tour mode ASC -- walk-transit - reference mode,@joint_walktransit_ASC_walktransit * (df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,,,1,1,1,,,,,,,,,, -#joint - PNR tour mode ASC -- PNR - reference mode,@joint_pnr_ASC_pnr * (df.is_joint & df.i_tour_mode.isin(I_PNR_TRANSIT_MODES)),,,,,,,,,1,1,1,,,,,,, -#joint - KNR tour mode ASC -- KNR - reference mode,@joint_knr_ASC_knr * (df.is_joint & df.i_tour_mode.isin(I_KNR_TRANSIT_MODES)),,,,,,,,,,,,1,1,1,,,, -#,,,,,,,,,,,,,,,,,,, -Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,-999,,,,,,,,,,,,,, -Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,-999,,,,,,,,,,,,, -Origin density index,@(c_origin_density_index*df.origin_density_index).clip(c_origin_density_index_max) if origin_density_applied else 0,,,,1,1,1,1,1,,,,,,,,,, -#Walk-express penalty for intermediate stops,@c_walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,1,,,,,,,,,, -#School Bus,,,,,,,,,,,,,,,,,,, -School Bus Unavailable if primary purpose NOT school,~is_school,,,,,,,,,,,,,,,-999,,, -School Bus Unavailable - Tour Mode = SOV,tour_mode_is_SOV,,,,,,,,,,,,,,,-999,,, -School Bus Unavailable - Tour Mode = Transit,tour_mode_is_drive_transit,,,,,,,,,,,,,,,-999,,, -School Bus - In-vehicle time (20 miles per hour),@c_ivt * odt_skims['HOV3_DIST']*3,,,,,,,,,,,,,,,1,,, -School Bus - Walk Time,@c_wacc*10,,,,,,,,,,,,,,,1,,, -School Bus - Wait Time,@c_short_i_wait*10,,,,,,,,,,,,,,,1,,, -School Bus tour mode ASC -- shared ride 2,@schoolbus_ASC_sr2 * df.i_tour_mode.isin(I_SCHOOLBUS_MODE),,1,,,,,,,,,,,,,,,, -School Bus tour mode ASC -- shared ride 3+,@schoolbus_ASC_sr3p * df.i_tour_mode.isin(I_SCHOOLBUS_MODE),,,1,,,,,,,,,,,,,,, -School Bus tour mode ASC -- walk,@schoolbus_ASC_walk * df.i_tour_mode.isin(I_SCHOOLBUS_MODE),,,,1,,,,,,,,,,,,,, -local_ASC,@local_ASC,,,,,,1,,,1,,,1,,,,,, -premium_ASC,@premium_ASC,,,,,,,1,,,1,,,1,,,,, -mix_ASC,@mix_ASC,,,,,,,,1,,,1,,,1,,,, -Origin density index,@(c_origin_density_index*df.origin_density_index).clip(c_origin_density_index_max) if origin_density_applied else 0,,,,,,,1,1,1,1,1,1,1,,,,1,1 -TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,1 diff --git a/activitysim/examples/example_semcog/configs/trip_mode_choice.yaml b/activitysim/examples/example_semcog/configs/trip_mode_choice.yaml deleted file mode 100755 index b9f02c0e18..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_mode_choice.yaml +++ /dev/null @@ -1,184 +0,0 @@ -SPEC: trip_mode_choice.csv -#COEFFICIENTS: trip_mode_choice_coeffs.csv -LEGACY_COEFFICIENTS: trip_mode_choice_coeffs.csv - -LOGIT_TYPE: NL - -NESTS: - name: root - coefficient: 1.00 - alternatives: - - name: AUTO - coefficient: 0.72 - alternatives: - - DRIVEALONE - - SHARED2 - - SHARED3 - - name: NONMOTORIZED - coefficient: 0.72 - alternatives: - - WALK - - BIKE - - name: TRANSIT - coefficient: 0.72 - alternatives: - - name: WALKACCESS - coefficient: 0.5 - alternatives: - - WALK_LOC - - WALK_PRM - - WALK_MIX - - name: PNRACCESS - coefficient: 0.5 - alternatives: - - PNR_LOC - - PNR_PRM - - PNR_MIX - - name: KNRACCESS - coefficient: 0.5 - alternatives: - - KNR_LOC - - KNR_PRM - - KNR_MIX - - name: SCHOOL_BUS - coefficient: 0.72 - alternatives: - - SCHOOLBUS - - name: RIDEHAIL - coefficient: 0.36 - alternatives: - - TAXI - - TNC_SINGLE - - TNC_SHARED - -CONSTANTS: - orig_col_name: origin - dest_col_name: destination - costPerMile: 18.29 - costShareSr2: 1.75 - costShareSr3: 2.50 - waitThresh: 10.00 - walkThresh: 1.00 - shortWalk: 0.333 - longWalk: 0.667 - walkSpeed: 3.00 - bikeThresh: 6.00 - bikeSpeed: 12.00 -# maxCbdAreaTypeThresh: 2 -# indivTour: 1.00000 -# upperEA: 5 -# upperAM: 10 -# upperMD: 15 -# upperPM: 19 - I_MODE_MAP: - DRIVEALONE: 1 - SHARED2: 2 - SHARED3: 3 - WALK: 4 - BIKE: 5 - WALK_LOC: 6 - WALK_PRM: 7 - WALK_MIX: 8 - PNR_LOC: 9 - PNR_PRM: 10 - PNR_MIX: 11 - KNR_LOC: 12 - KNR_PRM: 13 - KNR_MIX: 14 - SCHOOLBUS: 15 - TAXI: 16 - TNC_SINGLE: 17 - TNC_SHARED: 18 - I_SOV_MODES: [1] - I_SR2_MODES: [2] - I_SR3P_MODES: [3] - I_AUTO_MODES: [1, 2, 3] - I_WALK_MODE: 4 - I_BIKE_MODE: 5 - I_WALK_TRANSIT_MODES: [6,7,8] - I_DRIVE_TRANSIT_MODES: [9,10,11,12,13,14] - I_PNR_TRANSIT_MODES: [9,10,11] - I_KNR_TRANSIT_MODES: [12,13,14] - I_SCHOOLBUS_MODE: [15] - I_RIDE_HAIL_MODES: [16, 17, 18] - # RIDEHAIL Settings - Taxi_baseFare: 2.20 - Taxi_costPerMile: 2.30 - Taxi_costPerMinute: 0.10 - Taxi_waitTime_mean: - 1: 5.5 - 2: 9.5 - 3: 13.3 - 4: 17.3 - 5: 26.5 - Taxi_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_single_baseFare: 2.20 - TNC_single_costPerMile: 1.33 - TNC_single_costPerMinute: 0.24 - TNC_single_costMinimum: 7.20 - TNC_single_waitTime_mean: - 1: 3.0 - 2: 6.3 - 3: 8.4 - 4: 8.5 - 5: 10.3 - TNC_single_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_shared_baseFare: 2.20 - TNC_shared_costPerMile: 0.53 - TNC_shared_costPerMinute: 0.10 - TNC_shared_costMinimum: 3.00 - TNC_shared_IVTFactor: 1.5 - TNC_shared_waitTime_mean: - 1: 5.0 - 2: 8.0 - 3: 11.0 - 4: 15.0 - 5: 15.0 - TNC_shared_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - min_waitTime: 0 - max_waitTime: 50 - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: trip_mode_choice_annotate_trips_preprocessor - DF: df - TABLES: - - land_use - - tours - -# - SPEC: trip_mode_choice_annotate_trips_preprocessor2 -# DF: df -# TABLES: -# - land_use - -# to reduce memory needs filter chooser table to these fields -TOURS_MERGED_CHOOSER_COLUMNS: - - hhsize - - age - - auto_ownership - - number_of_participants - - tour_category - - parent_tour_id - - tour_mode - - duration - - value_of_time - - tour_type - - free_parking_at_work - - -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/example_semcog/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/example_semcog/configs/trip_mode_choice_annotate_trips_preprocessor.csv deleted file mode 100755 index 9d7038014b..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_mode_choice_annotate_trips_preprocessor.csv +++ /dev/null @@ -1,89 +0,0 @@ -Description,Target,Expression, -,is_joint,(df.number_of_participants > 1), -,is_indiv,(df.number_of_participants == 1), -,is_atwork_subtour,~df.parent_tour_id.isnull(), -,is_school,"(df.primary_purpose=='school') & (df.purpose.isin(['school', 'Home']))", -,c_cost,(0.60 * c_ivt) / df.value_of_time, -#,,, -#atwork subtours,,, -#FIXME tripModeChoice uec wrongly conflates these with tour_mode_is_bike?,,, -,parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id).fillna('')", -,work_tour_is_SOV,parent_tour_mode.isin(['DRIVEALONE']), -,work_tour_is_bike,parent_tour_mode=='BIKE', -#,,, -,i_tour_mode,df.tour_mode.map(I_MODE_MAP), -,tour_mode_is_SOV,i_tour_mode.isin(I_SOV_MODES), -,tour_mode_is_auto,i_tour_mode.isin(I_AUTO_MODES), -,tour_mode_is_walk,i_tour_mode.isin([I_WALK_MODE]), -,tour_mode_is_bike,i_tour_mode.isin([I_BIKE_MODE]), -,tour_mode_is_walk_transit,i_tour_mode.isin(I_WALK_TRANSIT_MODES), -,tour_mode_is_drive_transit,i_tour_mode.isin(I_DRIVE_TRANSIT_MODES), -,tour_mode_not_drive_transit,~tour_mode_is_drive_transit, -,tour_mode_is_pnr_transit,i_tour_mode.isin(I_PNR_TRANSIT_MODES), -,tour_mode_is_knr_transit,i_tour_mode.isin(I_KNR_TRANSIT_MODES), -,tour_mode_is_school_bus,i_tour_mode.isin(I_SCHOOLBUS_MODE), -,tour_mode_is_ride_hail,i_tour_mode.isin(I_RIDE_HAIL_MODES), -#,,, -,inbound,~df.outbound, -,first_trip,df.trip_num == 1, -,last_trip,df.trip_num == df.trip_count, -origin terminal time not counted at home,_origin_terminal_time,"np.where(df.outbound & first_trip, 0, reindex(land_use.TERMINAL, df[ORIGIN]))", -dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & last_trip, 0, reindex(land_use.TERMINAL, df[DESTINATION]))", -,total_terminal_time,_origin_terminal_time + _dest_terminal_time, -#,,, -,free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work, -,dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[DESTINATION])", -,origin_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[ORIGIN])", -,origin_duration,"np.where(first_trip, np.where(inbound,df.duration/2 * ~free_parking_available,0), 1)", -,dest_duration,"np.where(last_trip, np.where(inbound, df.duration/2 * ~free_parking_available, 0), 1)", -,origin_parking_cost,origin_duration*origin_hourly_peak_parking_cost, -,dest_parking_cost,dest_duration*dest_hourly_peak_parking_cost, -,total_parking_cost,(origin_parking_cost + dest_parking_cost) / 2.0, -,trip_topology,"np.where(df.outbound, reindex(land_use.TOPOLOGY, df[DESTINATION]), reindex(land_use.TOPOLOGY, df[ORIGIN]))", -,density_index,"np.where(df.outbound, reindex(land_use.density_index, df[DESTINATION]), reindex(land_use.density_index, df[ORIGIN]))", -,origin_density_index,"np.where(df.outbound, reindex(land_use.density_index, df[ORIGIN]), reindex(land_use.density_index, df[DESTINATION]))", -# FIXME no transit subzones so all zones short walk to transit,,, -,_walk_transit_origin,True, -,_walk_transit_destination,True, -,walk_transit_available,_walk_transit_origin & _walk_transit_destination & (tour_mode_not_drive_transit), -,pnr_transit_available,tour_mode_is_pnr_transit, -,knr_transit_available,tour_mode_is_knr_transit, -,origin_walk_time,shortWalk*60/walkSpeed, -,destination_walk_time,shortWalk*60/walkSpeed, -# RIDEHAIL,,, -,origin_density_measure,"(reindex(land_use.tot_pop, df[orig_col_name]) + reindex(land_use.tot_emp, df[orig_col_name])) / (reindex(land_use.tot_acres, df[orig_col_name]) / 640)", -,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", -,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", -,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", -# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from -,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", -,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", -,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", -,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", -,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -#,,, -,sov_available,(odt_skims['SOV_TIME']>0) & tour_mode_not_drive_transit, -,hov2_available,(odt_skims['HOV2_TIME']>0) & tour_mode_not_drive_transit, -,hov3_available,(odt_skims['HOV3_TIME']>0) & tour_mode_not_drive_transit, -,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_IVT']>0), -,walk_premium_available,walk_transit_available & (odt_skims['WLK_PRM_IVT']>0), -,walk_mix_available,walk_transit_available & (odt_skims['WLK_MIX_IVT']>0), -,pnr_local_available_outbound,pnr_transit_available & df.outbound & (odt_skims['PNR_LOC_IVT']>0), -,pnr_local_available_inbound,pnr_transit_available & ~df.outbound & (odt_skims['PNRE_LOC_IVT']>0), -,pnr_premium_available_outbound,pnr_transit_available & df.outbound & (odt_skims['PNR_PRM_IVT']>0), -,pnr_premium_available_inbound,pnr_transit_available & ~df.outbound & (odt_skims['PNRE_PRM_IVT']>0), -,pnr_mix_available_outbound,pnr_transit_available & df.outbound & (odt_skims['PNR_MIX_IVT']>0), -,pnr_mix_available_inbound,pnr_transit_available & ~df.outbound & (odt_skims['PNRE_MIX_IVT']>0), -,knr_local_available_outbound,knr_transit_available & df.outbound & (odt_skims['KNR_LOC_IVT']>0), -,knr_local_available_inbound,knr_transit_available & ~df.outbound & (odt_skims['KNRE_LOC_IVT']>0), -,knr_premium_available_outbound,knr_transit_available & df.outbound & (odt_skims['KNR_PRM_IVT']>0), -,knr_premium_available_inbound,knr_transit_available & ~df.outbound & (odt_skims['KNRE_PRM_IVT']>0), -,knr_mix_available_outbound,knr_transit_available & df.outbound & (odt_skims['KNR_MIX_IVT']>0), -,knr_mix_available_inbound,knr_transit_available & ~df.outbound & (odt_skims['KNRE_MIX_IVT']>0), -#,od_dist_walk,od_skims['DISTWALK'], -#,do_dist_walk,od_skims.reverse('DISTWALK'), -#,max_dist_walk,od_skims.max('DISTWALK'), -#,dist_bike,od_skims['DISTBIKE'], -#,dist_only,od_skims['DIST'], diff --git a/activitysim/examples/example_semcog/configs/trip_purpose.yaml b/activitysim/examples/example_semcog/configs/trip_purpose.yaml deleted file mode 100755 index 8f9306ae4c..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_purpose.yaml +++ /dev/null @@ -1,7 +0,0 @@ - -preprocessor: - SPEC: trip_purpose_annotate_trips_preprocessor - DF: trips - TABLES: - - persons - - tours diff --git a/activitysim/examples/example_semcog/configs/trip_purpose_and_destination.yaml b/activitysim/examples/example_semcog/configs/trip_purpose_and_destination.yaml deleted file mode 100755 index 4895aa5268..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_purpose_and_destination.yaml +++ /dev/null @@ -1,6 +0,0 @@ - -MAX_ITERATIONS: 5 - -# drop failed trips and cleanup failed trip leg_mates for consistency -# (i.e. adjust trip_count, trip_num, first for missing failed trips) -CLEANUP: True diff --git a/activitysim/examples/example_semcog/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/example_semcog/configs/trip_purpose_annotate_trips_preprocessor.csv deleted file mode 100755 index 0e20453303..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_purpose_annotate_trips_preprocessor.csv +++ /dev/null @@ -1,5 +0,0 @@ -Description,Target,Expression -#,, -,ptype,"reindex(persons.ptype, df.person_id)" -,person_type,ptype.map(PTYPE_NAME) -,start,"reindex_i(tours.start, df.tour_id)" diff --git a/activitysim/examples/example_semcog/configs/trip_purpose_probs.csv b/activitysim/examples/example_semcog/configs/trip_purpose_probs.csv deleted file mode 100755 index 737f4fd507..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_purpose_probs.csv +++ /dev/null @@ -1,132 +0,0 @@ -primary_purpose,outbound,depart_range_start,depart_range_end,person_type,work,univ,school,escort,shopping,othmaint,eatout,social,othdiscr -work,TRUE,1,18,PTYPE_FULL,0.198,0.004,0,0.466,0.083,0.086,0.093,0.004,0.066 -work,TRUE,1,18,PTYPE_PART,0.094,0,0,0.657,0.076,0.07,0.067,0.009,0.027 -work,TRUE,1,18,PTYPE_UNIVERSITY,0.067,0.081,0,0.433,0.005,0.038,0.153,0.108,0.115 -work,TRUE,19,48,PTYPE_FULL,0.278,0.008,0,0.172,0.18,0.193,0.107,0.016,0.046 -work,TRUE,19,48,PTYPE_PART,0.442,0,0,0.089,0.105,0.175,0.102,0.03,0.057 -work,TRUE,19,48,PTYPE_UNIVERSITY,0.049,0.086,0,0.392,0.159,0.157,0.069,0.073,0.015 -work,TRUE,1,48,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 -univ,TRUE,1,48,PTYPE_FULL,0.526,0.178,0,0.016,0.16,0.035,0.028,0.057,0 -univ,TRUE,1,48,PTYPE_PART,0.059,0.941,0,0,0,0,0,0,0 -univ,TRUE,1,48,PTYPE_UNIVERSITY,0.109,0.034,0,0.382,0.136,0.147,0.094,0.048,0.05 -school,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.548,0.015,0.1,0.206,0.073,0.058 -school,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.53,0.025,0.084,0.112,0.048,0.201 -school,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.772,0.007,0.086,0.023,0.071,0.041 -escort,TRUE,1,48,PTYPE_FULL,0,0,0,0.55,0.153,0.084,0.104,0.049,0.06 -escort,TRUE,1,48,PTYPE_PART,0,0,0,0.449,0.194,0.07,0.167,0.059,0.061 -escort,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.509,0.193,0.158,0.048,0.058,0.034 -escort,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.444,0.216,0.084,0.108,0.118,0.03 -escort,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.37,0.204,0.192,0.03,0.068,0.136 -escort,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.586,0.227,0,0.072,0.115,0 -escort,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.37,0.183,0.29,0.064,0.013,0.08 -escort,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.531,0.064,0,0.131,0.196,0.078 -shopping,TRUE,1,48,PTYPE_FULL,0,0,0,0.102,0.456,0.226,0.11,0.06,0.046 -shopping,TRUE,1,48,PTYPE_PART,0,0,0,0.182,0.291,0.311,0.108,0.031,0.077 -shopping,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.13,0.262,0.36,0.124,0.06,0.064 -shopping,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.144,0.336,0.274,0.122,0.068,0.056 -shopping,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.058,0.357,0.418,0.05,0.047,0.07 -shopping,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.076,0.193,0.298,0.047,0.13,0.256 -shopping,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.121,0.142,0.232,0.291,0.03,0.184 -shopping,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.138,0.292,0.301,0.187,0.064,0.018 -othmaint,TRUE,1,48,PTYPE_FULL,0,0,0,0.201,0.252,0.366,0.117,0.032,0.032 -othmaint,TRUE,1,48,PTYPE_PART,0,0,0,0.27,0.259,0.325,0.109,0,0.037 -othmaint,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.489,0.13,0.167,0.025,0.15,0.039 -othmaint,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.279,0.229,0.344,0.078,0.039,0.031 -othmaint,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.224,0.139,0.321,0.098,0.064,0.154 -othmaint,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.135,0,0.259,0.083,0.523,0 -othmaint,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.191,0.408,0.344,0.041,0.008,0.008 -othmaint,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.143,0.301,0.464,0.017,0.029,0.046 -eatout,TRUE,1,48,PTYPE_FULL,0,0,0,0.144,0.283,0.202,0.036,0.129,0.206 -eatout,TRUE,1,48,PTYPE_PART,0,0,0,0.169,0.374,0.179,0.013,0.135,0.13 -eatout,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.32,0.085,0.111,0,0.153,0.331 -eatout,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.201,0.224,0.269,0.063,0.082,0.161 -eatout,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.142,0.237,0.237,0.034,0.123,0.227 -eatout,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.175,0.289,0.346,0,0.105,0.085 -eatout,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.124,0.135,0.135,0.04,0.048,0.518 -eatout,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.055,0.329,0.165,0.061,0,0.39 -social,TRUE,1,48,PTYPE_FULL,0,0,0,0.186,0.382,0.144,0.122,0.126,0.04 -social,TRUE,1,48,PTYPE_PART,0,0,0,0.175,0.153,0.167,0.147,0.183,0.175 -social,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0,0.212,0.091,0.432,0.234,0.031 -social,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.311,0.392,0.149,0.071,0.058,0.019 -social,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.12,0.407,0.203,0.151,0.102,0.017 -social,TRUE,1,48,PTYPE_DRIVING,0,0,0,0,0,0,0,0.415,0.585 -social,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.322,0.11,0.05,0,0.378,0.14 -social,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.294,0,0.159,0,0.547,0 -othdiscr,TRUE,1,48,PTYPE_FULL,0,0,0,0.236,0.169,0.143,0.19,0.093,0.169 -othdiscr,TRUE,1,48,PTYPE_PART,0,0,0,0.223,0.208,0.181,0.193,0.129,0.066 -othdiscr,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.135,0.123,0.061,0.342,0.123,0.216 -othdiscr,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.263,0.295,0.148,0.088,0.082,0.124 -othdiscr,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.225,0.056,0.389,0.16,0.091,0.079 -othdiscr,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.311,0.126,0.051,0.018,0.142,0.352 -othdiscr,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.222,0.112,0.172,0.173,0.141,0.18 -othdiscr,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.271,0.108,0.393,0.146,0.043,0.039 -atwork,TRUE,1,48,PTYPE_FULL,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,TRUE,1,48,PTYPE_PART,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,TRUE,1,48,PTYPE_UNIVERSITY,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,TRUE,1,48,PTYPE_DRIVING,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -#,,,,,,,,,,,,, -work,FALSE,1,30,PTYPE_FULL,0.175,0,0,0.14,0.27,0.162,0.134,0.05,0.069 -work,FALSE,1,30,PTYPE_PART,0.097,0,0,0.252,0.211,0.192,0.159,0.089,0 -work,FALSE,1,30,PTYPE_UNIVERSITY,0.134,0,0,0.329,0.114,0.212,0.169,0.042,0 -work,FALSE,31,48,PTYPE_FULL,0.151,0.011,0,0.201,0.28,0.127,0.103,0.035,0.092 -work,FALSE,31,48,PTYPE_PART,0.11,0,0,0.243,0.281,0.13,0.119,0.036,0.081 -work,FALSE,31,48,PTYPE_UNIVERSITY,0.058,0.127,0,0.224,0.269,0.079,0.072,0.108,0.063 -work,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 -univ,FALSE,1,48,PTYPE_FULL,0.352,0.032,0,0.032,0.146,0.114,0.177,0.028,0.119 -univ,FALSE,1,48,PTYPE_PART,0,0,0,0.822,0.178,0,0,0,0 -univ,FALSE,1,48,PTYPE_UNIVERSITY,0.054,0.025,0,0.194,0.209,0.179,0.159,0.067,0.113 -school,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.301,0.117,0.098,0.169,0.186,0.129 -school,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.166,0.158,0.147,0.122,0.133,0.274 -school,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.38,0.148,0.089,0.146,0.102,0.135 -escort,FALSE,1,48,PTYPE_FULL,0,0,0,0.343,0.235,0.114,0.222,0.039,0.047 -escort,FALSE,1,48,PTYPE_PART,0,0,0,0.24,0.298,0.128,0.157,0.045,0.132 -escort,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.195,0.319,0.287,0.02,0.027,0.152 -escort,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.28,0.325,0.169,0.103,0.05,0.073 -escort,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.31,0.317,0.073,0.111,0.112,0.077 -escort,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0.489,0,0.148,0.363,0 -escort,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.188,0.259,0.129,0.202,0.06,0.162 -escort,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.413,0.215,0.118,0.211,0.019,0.024 -shopping,FALSE,1,48,PTYPE_FULL,0,0,0,0.091,0.526,0.159,0.152,0.047,0.025 -shopping,FALSE,1,48,PTYPE_PART,0,0,0,0.104,0.553,0.156,0.105,0.037,0.045 -shopping,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.1,0.43,0.064,0.344,0.003,0.059 -shopping,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.11,0.528,0.158,0.122,0.059,0.023 -shopping,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.052,0.549,0.159,0.123,0.06,0.057 -shopping,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.118,0.707,0,0.041,0.134,0 -shopping,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.015,0.19,0.256,0.157,0.179,0.203 -shopping,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.206,0.172,0.22,0.202,0.158,0.042 -othmaint,FALSE,1,48,PTYPE_FULL,0,0,0,0.171,0.364,0.215,0.159,0.029,0.062 -othmaint,FALSE,1,48,PTYPE_PART,0,0,0,0.228,0.365,0.17,0.13,0.041,0.066 -othmaint,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.046,0.345,0.192,0.298,0.06,0.059 -othmaint,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.17,0.423,0.158,0.171,0.064,0.014 -othmaint,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.099,0.391,0.213,0.241,0.036,0.02 -othmaint,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.031,0.356,0.075,0.458,0.031,0.049 -othmaint,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.181,0.255,0.142,0.313,0,0.109 -othmaint,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.164,0.249,0.338,0.053,0.006,0.19 -eatout,FALSE,1,48,PTYPE_FULL,0,0,0,0.106,0.44,0.112,0.041,0.128,0.173 -eatout,FALSE,1,48,PTYPE_PART,0,0,0,0.168,0.331,0.225,0.023,0.063,0.19 -eatout,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.165,0.334,0.104,0.088,0.135,0.174 -eatout,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.148,0.547,0.092,0.056,0.055,0.102 -eatout,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.166,0.414,0.169,0.02,0.166,0.065 -eatout,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.195,0.332,0.114,0.114,0,0.245 -eatout,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.072,0.356,0.053,0.019,0.169,0.331 -eatout,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.01,0.286,0.045,0.117,0.064,0.478 -social,FALSE,1,48,PTYPE_FULL,0,0,0,0.12,0.286,0.123,0.19,0.255,0.026 -social,FALSE,1,48,PTYPE_PART,0,0,0,0.106,0.122,0.039,0.553,0.047,0.133 -social,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.105,0.274,0.176,0,0.206,0.239 -social,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.313,0.326,0.13,0.062,0.075,0.094 -social,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.097,0.338,0.067,0.156,0.328,0.014 -social,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0,0.368,0.15,0.482,0 -social,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.058,0.162,0.085,0.281,0.125,0.289 -social,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.23,0.028,0.072,0.23,0.44,0 -othdiscr,FALSE,1,48,PTYPE_FULL,0,0,0,0.108,0.319,0.132,0.27,0.112,0.059 -othdiscr,FALSE,1,48,PTYPE_PART,0,0,0,0.102,0.346,0.154,0.181,0.087,0.13 -othdiscr,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.116,0.374,0.124,0.162,0.033,0.191 -othdiscr,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.11,0.389,0.19,0.19,0.067,0.054 -othdiscr,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.111,0.284,0.186,0.197,0.111,0.111 -othdiscr,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.277,0.304,0.057,0.205,0.157,0 -othdiscr,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.114,0.204,0.148,0.291,0.089,0.154 -othdiscr,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.335,0.133,0.111,0.282,0.052,0.087 -atwork,FALSE,1,48,PTYPE_FULL,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,FALSE,1,48,PTYPE_PART,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,FALSE,1,48,PTYPE_UNIVERSITY,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,FALSE,1,48,PTYPE_DRIVING,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 diff --git a/activitysim/examples/example_semcog/configs/trip_scheduling.yaml b/activitysim/examples/example_semcog/configs/trip_scheduling.yaml deleted file mode 100755 index 1d08b77ba7..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_scheduling.yaml +++ /dev/null @@ -1,10 +0,0 @@ - -# int to add to probs column index to get time period it represents. -# e.g. depart_alt_base = 5 means first column (column 0) represents period 5 -DEPART_ALT_BASE: 1 - -MAX_ITERATIONS: 100 - -#FAILFIX: drop_and_cleanup -FAILFIX: choose_most_initial - diff --git a/activitysim/examples/example_semcog/configs/trip_scheduling_probs.csv b/activitysim/examples/example_semcog/configs/trip_scheduling_probs.csv deleted file mode 100755 index f164aa8c4f..0000000000 --- a/activitysim/examples/example_semcog/configs/trip_scheduling_probs.csv +++ /dev/null @@ -1,3457 +0,0 @@ -primary_purpose,outbound,tour_hour,trip_num,HR1,HR2,HR3,HR4,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23,HR24,HR25,HR26,HR27,HR28,HR29,HR30,HR31,HR32,HR33,HR34,HR35,HR36,HR37,HR38,HR39,HR40,HR41,HR42,HR43,HR44,HR45,HR46,HR47,HR48 -work,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,2,2,0.0,0.19616890254702915,0.1912603437640753,0.1863517849811215,0.4262189687077741,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,3,2,0.0,0.0,0.13526428093370998,0.2025527289681607,0.2116401961671019,0.22072766336604313,0.22981513056498432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,4,2,0.0,0.0,0.0,0.10624548634172579,0.06858020640766692,0.07494014307275387,0.09267525115710235,0.10606474404897116,0.1918236992709937,0.15106126653267485,0.110298833794356,0.06953640105603714,0.028773968317718293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,4,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22716729050184845,0.19906390795361323,0.17096052540537807,0.14285714285714285,0.11475376030890767,0.08665037776067248,0.05854699521243728,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,4,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,5,2,0.0,0.0,0.0,0.0,0.15999026397867083,0.41410713463674304,0.055832578055926896,0.040168515066300294,0.20015956850202415,0.006335879498063484,0.01480562976546793,0.01453216844249737,0.014258707119526811,0.01398524579655625,0.013711784473585691,0.013438323150615133,0.013164861827644574,0.012891400504674013,0.012617939181703454,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,0.2960318381636424,0.18770660336620018,0.07938136856875798,0.17208718615671914,0.2647930037446804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.12224120087303571,0.22809729698794834,0.09608214694650757,0.03337112634266549,0.1442975739035269,0.12097020302377237,0.09764283214401782,0.07431546126426329,0.050988090384508744,0.027660719504754207,0.004333348624999673,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15489803953021786,0.20501318275937805,0.1288769479209746,0.08542197111921263,0.04196699431745064,0.04004799367837136,0.03812899303929208,0.0362099924002128,0.03429099176113352,0.032658235486101396,0.03102547921106928,0.029392722936037164,0.027759966661005046,0.026127210385972932,0.024494454110940818,0.022861697835908697,0.021228941560876582,0.019596185285844465,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.28222820679134347,0.40956635054617785,0.10518629545193542,0.07616442898471769,0.028688160397088297,0.01349977346443764,0.0030076309291625003,0.005086428049296891,0.007165225169431283,0.005651107496144739,0.0041369898228581945,0.0026228721495716494,0.001108754476285105,0.002827557866912015,0.004546361257538925,0.0062651646481658345,0.007983968038792744,0.009702771429419655,0.011421574820046564,0.013140378210673475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5662020326570962,0.0829252513512282,0.02270136213085974,0.10027915560668658,0.07166261551311282,0.02396825718723803,0.0807950970910796,0.01253457465595145,0.010951826691084117,0.009369078726216782,0.007786330761349448,0.006203582796482115,0.0046208348316147795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02479370179648419,0.023911175228094435,0.02302864865970468,0.022146122091314925,0.021263595522925165,0.02038106895453541,0.1256207894903588,0.2308605100261822,0.18815803082302965,0.14545555161987705,0.1027530724167245,0.06005059321357193,0.011577140157197177,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32491993258718205,0.546118224059595,0.04248271653008232,0.018161788542545295,0.006166107347180939,0.005272527272679438,0.011031180666506293,0.008344611890977113,0.01719708341660369,0.005387532849848245,0.0046137333596562415,0.003839933869464238,0.0030661343792722337,0.0021548758692263607,0.0012436173591804877,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020134085800894805,0.5003069846643431,0.24658385431747623,0.04223591056508909,0.0036251975049575625,0.002183345739664828,0.062132308004915975,0.01113260029288944,0.007017755676667859,0.0029029110604462797,0.02491296268540767,0.013511740308610111,0.0179567123205959,0.021106781126212292,0.02425684993182869,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22868690065941794,0.2809551284043939,0.2038706596380529,0.044818807125476944,0.02656440961123354,0.008310012096990137,0.007598018781998798,0.006886025467007459,0.0061740321520161205,0.005462038837024782,0.004750045522033443,0.006015643699641722,0.04004330870782533,0.07407097371600894,0.04328832309896232,0.012505672481915696,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31451698368414766,0.5667783167860904,0.05318638817697626,0.02427536894218004,0.0033156505909809914,0.0059471857919482065,0.003074530287229302,0.002413031647709681,0.0010433570648508415,0.006944525596215978,0.001968495501046467,0.002834713893690317,0.003700932286334167,0.004567150678978017,0.005433369071621867,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04369972760806578,0.46341105781145997,0.30629255403700983,0.012157012617118294,0.028527239297515855,0.01998701265434361,0.022452536388923097,0.02134912141214318,0.02024570643536326,0.019142291458583347,0.01803887648180343,0.020035723462607083,0.004661140335063202,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12959034266384364,0.07573706793565689,0.12630694517834132,0.10193091533770805,0.07755488549707479,0.017581890436769703,0.044120691116528304,0.03572820372887919,0.027335716341230085,0.01894322895358098,0.01055074156593187,0.12317159750192305,0.0968270943747169,0.07048259124751073,0.044138088120304564,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4750999982096916,0.4103592448802625,0.02381310899274124,0.03648546055115258,0.01537590150263418,0.0034289390696665024,0.0029670326385365445,0.003541137291142498,0.011730627409526895,0.006095101328719276,0.0004595752479116555,0.008642018004098922,0.0020018548739154924,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15937985982818456,0.23870718007387448,0.22728211149370622,0.07919844716191997,0.02485252722919029,0.01955147336963145,0.0679261116589369,0.03934329427210768,0.01076047688527845,0.024479920865903157,0.03819936484652786,0.0344531307014842,0.021340119210377123,0.008227107719270035,0.004841994134292561,0.0014568805493150876,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005850328977818126,0.1545224666433375,0.08579589007631072,0.017838139114488984,0.007614551106324986,0.007782446397270154,0.09946505490142857,0.09377151199306068,0.0880779690846928,0.08238442617632491,0.07669088326795703,0.07099734035958916,0.06530379745122127,0.059610254542853375,0.0539167116344855,0.028098313302440583,0.002279914970395667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4074839999598577,0.3559059547661157,0.05021913673368889,0.05857166553991151,0.030867719870309857,0.028607767917931955,0.026347815965554047,0.006305288151960561,0.020837274289821066,0.002875486226642621,0.004133836931347089,0.0032647075234941455,0.0023955781156412025,0.0015264487077882593,0.0006573192999353159,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04051504492356487,0.24730720105216822,0.13848438181527783,0.09566599274143622,0.06263137297549652,0.029596753209556802,0.05092330054790429,0.11700388805324703,0.07015018673236098,0.023296485411474922,0.11280131539827719,0.011624077139235103,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011593929151261746,0.05363928948706408,0.1349853685209247,0.08299369070289228,0.08382768462405608,0.08466167854521989,0.08549567246638369,0.0863296663875475,0.0871636603087113,0.04795868846816313,0.04536520903840091,0.04277172960863868,0.04692148691944203,0.05107124423024537,0.05522100154104872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4365426782423622,0.43198365617750745,0.0261794753500277,0.03053589079964702,0.0246919917303142,0.005368379473014184,0.0047543889154337705,0.018124120356938188,0.009229863487035226,0.0021321137586057656,0.0031112502876045017,0.004090386816603238,0.00244873047383656,0.0008070741310698816,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6350864078584526,0.06123308478513485,0.08951660307227781,0.027687941139672278,0.07912295782804951,0.04368810079609289,0.008253243764136253,0.0029601920790755,0.016106790541441693,0.018323399796897625,0.01211489271188888,0.005906385626880135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7147058727714188,0.056965180889923306,0.005170576210528221,0.048087891309270506,0.0454281635371025,0.0427684357649345,0.0033718414594285768,0.005511096739478344,0.00765035201952811,0.009789607299577879,0.011928862579627645,0.01406811785967741,0.01620737313972718,0.018346628419776943,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3762305344545604,0.33324298417856335,0.15739062137317655,0.05872112724331652,0.013811929193242374,0.02373725792786794,0.00829742824508428,0.007436159989002097,0.006574891732919913,0.005713623476837729,0.004852355220755546,0.0039910869646733625,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15570646394633422,0.10437483057986263,0.0337043599014564,0.03022449068562711,0.026744621469797825,0.019586353448754364,0.012428085427710902,0.02722501254411536,0.018112042099388766,0.050200944059389324,0.08228984601938989,0.11437874797939043,0.14646764993939101,0.17855655189939157,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04321997325525679,0.12699411958746928,0.21076826591968179,0.15396932547469278,0.0971703850297038,0.1550161052542998,0.21286182547889576,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5024139839481606,0.24865344765417427,0.1185268863165446,0.02660733345094947,0.01209748815123635,0.029592001110509893,0.0017001502343640493,0.0040472192639807725,0.006394288293597495,0.008741357323214217,0.01557360896492558,0.01087236255393574,0.014779872734406854,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1705879967803675,0.3311993121952588,0.0043678755041653234,0.12178159189018452,0.040311326159123126,0.041336176898960866,0.042361027638798614,0.03940114862066425,0.0364412696025299,0.03348139058439553,0.03052151156626118,0.027561632548126817,0.02460175352999246,0.021641874511858103,0.018681995493723746,0.015722116475589392,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05243658878277345,0.09362853643979367,0.13482048409681388,0.12182110318285562,0.10472017968183722,0.11208941859069495,0.11945865749955266,0.12682789640841038,0.13419713531726812,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15654342339667437,0.2473267590311209,0.21600406985829462,0.06772267306305987,0.04001271600482761,0.012302758946595351,0.014420843403720827,0.02599167935552765,0.03756251530733447,0.0491333512591413,0.06070418721094812,0.07227502316275494,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05431814543810985,0.05431814543810985,0.2488565365085628,0.10659057348406278,0.10659057348406278,0.4293260256470919,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4795115535415878,0.2436440562850386,0.27684439017337364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4036976191207649,0.20319357819155595,0.23064224448695722,0.15514027573351888,0.007326282467203054,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11000502582816188,0.6193293805842582,0.1552334920992382,0.11543210148834174,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3604788608023161,0.3164095124760744,0.1969515415552321,0.1261600851663773,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04195484755554874,0.13877630966777013,0.043666793275896655,0.06596246345697832,0.07718687798509487,0.08841129251321142,0.09963570704132796,0.11086012156944453,0.12208453609756108,0.13330895062567763,0.07048701694572214,0.007665083265766651,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05021301189410546,0.86544036333383,0.034133612877959185,0.05021301189410546,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5050652876859107,0.08545987282590052,0.3420104369105114,0.038518447293482146,0.028945955284195295,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06206457656430337,0.5167116081987501,0.054241874415559325,0.0736617037903961,0.12232731360712903,0.17099292342386196,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5414937161641273,0.3012575085103076,0.061021300856487735,0.09622747446907734,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2646825179338819,0.21166926155288057,0.4453083134781877,0.016469525009917125,0.06187038202513268,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0210605378318601,0.33333333333333337,0.6456061288348065,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5262214262206814,0.10032909163133896,0.09064426187469456,0.12490459445334283,0.08876906819666179,0.05263354193998076,0.016498015683299727,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18771665489316094,0.17276348421448828,0.15781031353581557,0.14285714285714288,0.12790397217847016,0.11295080149979747,0.09799763082112478,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25951400059931257,0.3333333333333333,0.4071526660673541,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1651659688066774,0.16011972026041038,0.2643207459282033,0.3685217715959963,0.041871793408712686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34936859839914003,0.3273001937917093,0.05831523682414128,0.10777706926971689,0.1572389017152925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19705932668122764,0.18861750179351924,0.14277961210699544,0.06949633986095198,0.15718118647275253,0.24486603308455307,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18801206096342368,0.5561703368333095,0.07081643293710171,0.0794576332101128,0.1055435360560522,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37671455123512704,0.3333333333333333,0.2899521154315396,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28451263879992567,0.2635245218466358,0.24253640489334585,0.20942643446009263,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6466593492894579,0.12743786391330073,0.22590278679724132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07916386599146687,0.6851444586560649,0.056660282210146094,0.09805653755865254,0.08097485558366967,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28648967910010703,0.5188360103192766,0.19467431058061632,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.43666788521441774,0.09850889544568947,0.46482321933989285,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5439546968334651,0.33333333333333326,0.1227119698332015,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2797158552265875,0.7202841447734125,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21793494413140552,0.20326295336507316,0.19809849376645677,0.19293403416784044,0.18776957456922405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -work,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -work,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -work,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -work,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -work,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -work,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -work,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -work,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -work,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -work,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -work,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -work,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -work,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -work,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -work,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -work,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -work,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -work,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -work,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -work,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -work,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -work,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -work,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -work,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8249348435437298,0.1750651564562702,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18584468205208635,0.3500427123201447,0.46411260562776896,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.054220710617016915,0.38847774863234186,0.5573015407506413,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027398816524797368,0.44566651297833254,0.52693467049687,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23844042737083185,0.7615595726291682,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7955351802530825,0.20446481974691758,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7253502059980301,0.27464979400196987,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08117928167503301,0.08754569857365087,0.8312750197513161,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17691767587141471,0.8230823241285853,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6005067332857748,0.3994932667142253,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07443792410809717,0.9255620758919029,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07153537346484001,0.3312962857917019,0.597168340743458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1939822709598678,0.21351425234647584,0.5925034766936563,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4110206862719625,0.3639177006099419,0.026240024844424413,0.19882158827367133,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029767457214390752,0.23158149267292663,0.7386510501126826,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02515026538532279,0.8711628886774329,0.10368684593724432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005873650818105568,0.2274461946414599,0.7666801545404345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05032186163258548,0.3319338531789857,0.5123886754416738,0.10535560974675487,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25382320437897876,0.4240125893193504,0.09869099829872569,0.22347320800294523,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3433189372992633,0.6566810627007368,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11576184729942997,0.10045935420830009,0.0851568611171702,0.06985436802604034,0.05455187493491045,0.03924938184378057,0.02394688875265069,0.008644395661520803,0.16110220062105873,0.3297434869100783,0.011529340625059859,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5437524076743705,0.2734279845712551,0.18281960775437445,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.808600395771443,0.191399604228557,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006386065805669365,0.015195995057684276,0.024005924309699188,0.22945277128331257,0.7249592435436347,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10819091127600619,0.09731146100437002,0.08643201073273385,0.07555256046109768,0.15261245162811413,0.33568373466510004,0.14421687023257804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13337583372794826,0.09012506427667732,0.04687429482540637,0.7296248071699679,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06686070860517603,0.4979112628627105,0.4352280285321135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02945429712356667,0.022516394105748908,0.027219086876080257,0.0319217796464116,0.166686204805427,0.538855597491624,0.18334663995114148,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9659388057403184,0.034061194259681626,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03135897874931338,0.17711965958310447,0.32288034041689556,0.46864102125068663,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.055683531742009976,0.2606906002199729,0.6836258680380171,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019059602776749906,0.03390522428418635,0.19785503152005007,0.36180483875591374,0.3603138229688621,0.027061479694237875,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08315613076419942,0.0867424537806591,0.049454897749413675,0.028479837718056934,0.25640559725524753,0.4957610827324234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09178681362283928,0.06869712199522679,0.04560743036761431,0.7939086340143197,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016485166483876726,0.06384335480458722,0.49126822955035176,0.42840324916118433,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07512569095204745,0.0510599650799873,0.02699423920792715,0.0029285133358670037,0.021351438484854254,0.017938326208598337,0.014525213932342419,0.011112101656086499,0.16586183463440027,0.0833299260662193,0.4491560626647766,0.08061668777689349,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020605396481425654,0.04824269165425903,0.07587998682709242,0.06806783639061588,0.2731236631012998,0.42579761330327937,0.0882828122420277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08528896234797104,0.09174501801704442,0.0982010736861178,0.1684057067876884,0.5563592391611784,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0009772456796930983,0.04971735179764112,0.4748072264907875,0.4744981760318784,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006455034951007309,0.01364691552918217,0.010156218470790634,0.03692070835798616,0.3735324277551365,0.5269745778371109,0.03231411709878645,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015090491929756531,0.02130714272256265,0.027523793515368766,0.03374044430817488,0.01476079992371346,0.017874579807315313,0.01203838149518544,0.2138805582351113,0.4563256003944565,0.18745820766835516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024352256774512433,0.05444858705093703,0.05459191074429161,0.05473523443764618,0.054878558131000746,0.05502188182435532,0.05516520551770989,0.05530852921106447,0.055451852904419036,0.055595176597773605,0.05573850029112818,0.05588182398448275,0.05636009125269439,0.28274166533682143,0.029728725941162923,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004501326056258985,0.05238054532842666,0.48088826399532447,0.46222986461998994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0009440630490600967,0.011549382623446274,0.02049608811263235,0.03174843912338274,0.041364781804938584,0.04904953164820219,0.21867296995185637,0.5369393496563772,0.08923539403010407,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031743466571579525,0.014378814437863716,0.0827679135717621,0.0634442675575828,0.044120621543403515,0.0035381285012540484,0.025974430337034934,0.09521488974062602,0.1644553491442171,0.24220338818336012,0.1983987415380778,0.03375998887323822,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028536678550759503,0.03376464419647379,0.03899260984218808,0.04422057548790236,0.04944854113361666,0.05467650677933095,0.05990447242504523,0.06513243807075951,0.04223688737773434,0.009947123919246618,0.024680167922031516,0.42136551406609274,0.10757390270760095,0.019519937521217612,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0018725445222181494,0.0029934344872089586,0.09140651824150926,0.4479596641818068,0.45576783856725667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00234752207610135,0.0023445343628597636,0.0023415466496181777,0.0023385589363765914,0.0023355712231350055,0.002332583509893419,0.0023295957966518333,0.002326608083410247,0.0037132596979049613,0.0023616257153777054,0.00100999173285045,0.014161022706824934,0.0020408215402952378,0.027251742746401242,0.023567596543023192,0.11382559741461168,0.29349447949652974,0.3903939552267326,0.10948338654140181,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011283609619833953,0.009066616870258741,0.0068496241206835295,0.004632631371108317,0.003584063975626643,0.002535496580144969,0.046104153959718,0.012939589955960168,0.2114260146222282,0.11553010673000542,0.3607091424061356,0.19381461720600782,0.02152433258228872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03611666197865737,0.04465017828265154,0.18232770079274838,0.10869809102839723,0.04185032270342825,0.11364678362327878,0.2086846606668272,0.22022379575667947,0.0438018051673318,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0027989476532260266,0.010392620284575315,0.0179862929159246,0.07755794296215415,0.5252017026442167,0.36606249353990317,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003433702542534331,0.0018138778233103632,0.004763336625128238,0.010424042151767466,0.0018126197873523037,0.009035993031816307,0.016259366276280312,0.007571034887789395,0.012558341476186684,0.025036695027753252,0.13392182850534218,0.4037777082979203,0.3295193184462425,0.040072135120576446,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02693937082900709,0.0019991873094844926,0.002005499473368515,0.0020118116372525373,0.00201812380113656,0.0020244359650205823,0.0020307481289046046,0.004185972081112281,0.01820254743916077,0.13544344984337156,0.35304056503475595,0.24906110274392615,0.20103718571349896,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06291367340777138,0.04718525505582853,0.03145683670388569,0.015728418351942844,0.0,0.0011856422461227172,0.0023712844922454345,0.0035569267383681515,0.004742568984490869,0.049234969467290605,0.1193449473447914,0.2263723135624052,0.142125231948205,0.2810415459259315,0.01274038577072068,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00268451511771875,0.017223459032264632,0.12431060144344701,0.5025047763099811,0.3532766480965885,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003592539464562623,0.0033091518499943147,0.0034896758088427413,0.0019374844175270663,0.01646050960520338,0.004330998363067417,0.005462898274181085,0.02115435255833811,0.06516069853434844,0.1788940812330444,0.28426145087575505,0.3932236681624496,0.018722490852685892,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011527761504095414,0.012880902175551257,0.008235612440113489,0.0035903227046757196,0.012932123134144215,0.03764454100367533,0.006800390883975435,0.07000551806859079,0.02356741950193705,0.18013283154057416,0.2030115064590163,0.32464860769688814,0.10502246288676263,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,29,4,0.0,0.0,0.0,0.0076200155621973945,0.008662737255239592,0.009705458948281788,0.010748180641323985,0.011790902334366183,0.012833624027408378,0.013876345720450576,0.014919067413492774,0.01596178910653497,0.017004510799577165,0.018047232492619362,0.019089954185661562,0.020132675878703755,0.02117539757174595,0.02221811926478815,0.035523745090006324,0.048829370915224504,0.06213499674044267,0.05552884461584047,0.07164856578829469,0.08177811866196467,0.10643659869705324,0.31060154277788,0.00373220551090199,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00030349082200069506,0.0008706895227440538,0.0014378882234874124,0.04221494388888442,0.11649986663756719,0.5623406360041074,0.27633248490120876,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.000810850167293119,0.0020487032852615724,0.0032865564032300257,0.002018333329698859,0.0007501102561676925,0.008489279050092084,0.003113446668728789,0.0022143198126054983,0.001315192956482207,0.007423160432892254,0.011721463448478062,0.010076701762474535,0.06780614336080144,0.09756472173780413,0.43833477965165824,0.327124328648609,0.015901909027722354,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023016424153196147,0.028522066051165383,0.03402770794913462,0.039533349847103855,0.03010844362267252,0.020683537398241185,0.011258631173809848,0.0018337249493785126,0.005239531487589043,0.005892116883169719,0.011087143356828167,0.01628216983048661,0.09026919151321626,0.07569959701615556,0.118602159151928,0.1901774542360297,0.21295851249950676,0.08480823888038798,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024788824038899832,0.013547327407179283,0.0023058307754587333,0.019817778175286623,0.006336706899871717,0.0578686704323897,0.10940063396490768,0.2867126526349204,0.07072758559043939,0.06457451367392734,0.13059258131339493,0.04153966758565385,0.17178722750767067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0003525864644047828,0.0006658971906749982,0.0009792079169452137,0.0012925186432154291,0.0016058293694856448,0.0019191400957558602,0.006920955338144519,0.028171985283543588,0.20679246821247912,0.44644244570965086,0.3048569657756999,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001480107465180831,0.017253281653335065,0.0008232172217018757,0.0044929930671673115,0.008162768912632746,0.0027688854066324833,0.017625694703411642,0.02673471792668398,0.05171656012255368,0.15755158207286846,0.46448134083715303,0.20941304914629477,0.03749580146438421,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0014841697154402696,0.0021226199456812187,0.002761070175922168,0.0015423421943581248,0.021631526545398367,0.041720710896438605,0.061809895247478853,0.06907322712366458,0.20617953068988812,0.1581707566931783,0.3417597826704731,0.08831929021564096,0.0034250778864373522,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006667360799696816,0.014818073184327487,0.022968785568958157,0.03111949795358883,0.0016772970070752817,0.1992797309319827,0.19227853511352125,0.2984049494408924,0.16803894138842762,0.048539503209517616,0.0162073254020118,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0018907537555857658,0.002063368407537321,0.04570653848366628,0.14770850121717308,0.5822816962269964,0.22034914190904123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0004196292133319169,0.0022200878966532104,0.004020546579974503,0.0033648123235860247,0.0027090780671975463,0.0020533438108090675,0.001397609554420589,0.006660124104940812,0.009540985920533599,0.027884064700998436,0.015254960733861104,0.08912210253241395,0.09234725843780771,0.2519604553808955,0.2739476162923841,0.19579367665987144,0.021303647790320457,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010262179330632143,0.00865423097541136,0.007046282620190578,0.005438334264969795,0.003830385909749012,0.0022224375545282305,0.00849738237383887,0.0064186225003493875,0.004339862626859903,0.01882859915764034,0.005318342194164854,0.0038346047498793562,0.0023508673055938584,0.04950648786429024,0.06957723207428874,0.1989961545104105,0.12810732778729123,0.19845475514107702,0.2035661737894757,0.06474973726935873,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016859615991235057,0.015788210593871314,0.014716805196507574,0.02626589367837534,0.03781498216024311,0.049364070642110874,0.06091315912397864,0.07246224760584641,0.23788260556384858,0.06555513074363227,0.16701287984839389,0.022165696104789828,0.16565889874211476,0.047539804005052276,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005032082433437068,0.0049003042439985075,0.004768526054559948,0.0046367478651213895,0.004504969675682829,0.025760835754467706,0.13374080277736194,0.45254716667789924,0.3641085645174712,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001998143298850729,0.018982371393235827,0.0267106570399378,0.0014426823558858352,0.016710003737560215,0.03197852994609463,0.07940844123128339,0.15916770401107835,0.1603662985658047,0.27953786404267383,0.19084355987899065,0.03285374449860405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0034693476092882217,0.030187901651593803,0.016898309722599106,0.0036087177936044096,0.00516777491725205,0.006726832040899691,0.00401338807131574,0.0012999441017317883,0.010075228957500978,0.04071416677276925,0.21451947606995547,0.05877869461214495,0.15482556129583236,0.13824705072372662,0.24980591621854892,0.05958178734633728,0.0020799020948995325,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03086099957317229,0.025980401491851726,0.021099803410531155,0.016219205329210586,0.01133860724789002,0.006458009166569451,0.007200335672836078,0.007942662179102706,0.008684988685369334,0.009427315191635961,0.009442143095111506,0.0014885024491139618,0.03899489895937272,0.034161854556286224,0.17005214781563507,0.028434668029374152,0.2633696548335779,0.18223382899084783,0.05527805872209866,0.07133191460041263,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0012160836069242391,0.029480461595134684,0.02930162210114039,0.09004606986641685,0.46234806850138616,0.38760769432899767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008527505254391464,0.024343751774178274,0.023201453048648978,0.056339813729558326,0.14418073170310883,0.14777268506387486,0.12161448602460681,0.22252408666239884,0.22386345426183316,0.027632032477400394,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011442021144393688,0.014436343211319489,0.017430665278245293,0.02042498734517109,0.008618402536762482,0.01670919965129712,0.04183813908441274,0.2153931699302116,0.11481763320109399,0.23658998440495735,0.20100746657786603,0.09020369460704307,0.011088293027226234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009810859143838781,0.04320108985192917,0.07659132056001956,0.09094577412858121,0.10530022769714285,0.1196546812657045,0.08560182962466084,0.17382905242299793,0.18574754207164473,0.06811792147126816,0.0411997017622123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016339084300481005,0.002179290064293078,0.0020946216220401976,0.002009953179787317,0.0019252847375344363,0.0018406162952815557,0.004755641074675338,0.0024265154160552672,0.024415702338117906,0.0648824970981444,0.42988579631715984,0.44724499755642955,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004209192105666088,0.006875294381220665,0.00954139665677524,0.01220749893232982,0.014873601207884397,0.017539703483438977,0.02020580575899355,0.022871908034548128,0.025538010310102704,0.028204112585657283,0.030870214861211862,0.019986357545670356,0.009102500230128848,0.08852346623836835,0.033967949991106715,0.11693968658075318,0.042166958311788544,0.07201790806578205,0.1573221056121427,0.09630427405085708,0.14955068242304795,0.021181372632525584,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08952502486854058,0.0173375428939987,0.007548613421382736,0.07835470438452101,0.07006523300452541,0.04630554944780205,0.07984234920780166,0.18267712683460277,0.08818465996444302,0.22392873647736214,0.10516475885477078,0.011065700640249157,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02463412052663166,0.03308934245586189,0.04154456438509213,0.020910112209388466,0.01474990545587068,0.1717908433611033,0.14737125883700877,0.05813960351477684,0.4388740546698509,0.03538370357721319,0.013512491007202225,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002703587113668002,0.013607328104929728,0.02451106909619145,0.09900326813248077,0.5417199066345222,0.3184548409182078,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003428390072313624,0.006358026983992544,0.009287663895671462,0.005152845429022833,0.005343136150848582,0.0027402984060797653,0.00433289472141394,0.022761540810647317,0.027356532537953348,0.03200041018338567,0.04558718522705621,0.22797383655199377,0.133387820550074,0.11198670704301891,0.04246147949597959,0.17366607356319297,0.13143339307441393,0.01474176530294154,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022401682387142033,0.019488428963651484,0.01657517554016094,0.013661922116670392,0.04335621386698735,0.03273346180488424,0.022110709742781134,0.011487957680678028,0.007173419371597877,0.00545188660743745,0.019562305454951766,0.022048337656783778,0.0748338116587384,0.11667516645774624,0.08930825639711888,0.2045621707333038,0.14655666190785216,0.08600220467256535,0.025097062781493013,0.02091316419745575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07379863638269488,0.055717154009263116,0.037635671635831355,0.019554189262399598,0.012210212115136346,0.008741251364900166,0.005272290614663988,0.02258451932454952,0.039896748034435055,0.21441199997882035,0.05426786876025077,0.26680989716080833,0.10438584647769857,0.08471371487854806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006206032075747339,0.005441378086006658,0.004676724096265975,0.003912070106525294,0.003147416116784612,0.006427562924924528,0.09090115999952493,0.3262186350727432,0.5530690215214774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004064066096630833,0.01483252570363106,0.025600985310631288,0.03636944491763151,0.022242365102983417,0.11142261054956829,0.10158464875952648,0.08188167471862397,0.08426121855154037,0.07335441120703277,0.08306339537998492,0.0717386387856296,0.05289916398935839,0.21273792337183262,0.02394692755539453,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.053572279286204345,0.003606745750645961,0.005449974480491117,0.2435310829614788,0.148100741103386,0.12991851765996745,0.0560284532203546,0.08809777066399362,0.0704851332175221,0.077568195857125,0.005824719291012115,0.06141678459405926,0.047477740311601374,0.008921861602158241,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06853765693128709,0.08963887259718642,0.11074008826308576,0.21270330083779537,0.0035008064124997956,0.03303429056987411,0.16481710050977055,0.13125249869172542,0.07728130772308013,0.023310116754434822,0.022245613735909105,0.03909490603567779,0.023843440937673523,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05676419546115859,0.14349085472520348,0.5104708604053558,0.2892740894082821,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008936524605150507,0.0075258274634269935,0.0061151303217034806,0.004704433179979966,0.003293736038256453,0.008914897308873883,0.05836700711775778,0.030019238275525856,0.030672740180224686,0.1703447239749253,0.07289142702041122,0.012108151472658635,0.17680786027902157,0.04736415636283814,0.054559012677045694,0.06309217308313353,0.18816449751875003,0.05611846312031635,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003165628376134344,0.0116846197590363,0.0281447672691911,0.11548785001841091,0.3389388647048661,0.05635698309434277,0.05254001533865274,0.1492621613340791,0.1508273566191391,0.06318841771595726,0.027191855686114062,0.0032114800840761983,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017483843694434367,0.022044310560714812,0.026604777426995258,0.031165244293275704,0.03572571115955615,0.0402861780258366,0.044846644892117045,0.049407111758397494,0.05396757862467794,0.058528045490958386,0.06308851235723882,0.12055369463119141,0.01998888108961348,0.11635604077440381,0.23782901176736507,0.006006408199817426,0.032100427027254796,0.018089878134568096,0.005927700091583404,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009728061465355866,0.13938572992469128,0.36222598065540845,0.4886602279545445,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00181841722788396,0.032356600689534,0.06289478415118405,0.09343296761283408,0.0318919644590508,0.058125368253583144,0.014141070235372505,0.035690116303645526,0.024371971588082852,0.03646276277526424,0.11409191900984257,0.06538062208518916,0.21847644672327673,0.20081084386185055,0.010054145023405769,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005033576456981843,0.0026067669128527287,0.08756106473781365,0.12533176984168223,0.005092002776396106,0.14514379759484516,0.28519559241329423,0.031728636074732065,0.017397656512495543,0.0631396819448807,0.04346642620999428,0.02379317047510785,0.0026671889012709485,0.14947503100422188,0.0123676381434309,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007088184459908909,0.02696739795129072,0.18435315297908234,0.10051457586039385,0.07544277904137128,0.05037098222234873,0.07364781132006126,0.053775807875737804,0.04097596890349183,0.02284992606412539,0.004723883224758941,0.12133780444072934,0.23795172565669975,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06462818984234803,0.06880264750233626,0.5127203577124017,0.35384880494291415,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007894275949221104,0.015381472603082293,0.025722572263637295,0.15923617907667467,0.13832145713353966,0.02847285298522892,0.021809986497561586,0.0633072714165257,0.00880954042905948,0.02948379476652653,0.01807641588852319,0.08041171336867095,0.03497256302968014,0.0667706754497061,0.2907971542748419,0.010532074867520478,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03958993249106422,0.032010961654478164,0.024431990817892116,0.01685301998130606,0.009274049144720008,0.08480376423403191,0.1603334793233438,0.02043508790531415,0.07042812155808978,0.10987289629202021,0.07186107590724172,0.05323451436784513,0.03460795282844855,0.015981391289051967,0.09075438449806811,0.16552737770708426,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07607363700037234,0.09647976876875808,0.11688590053714382,0.04450960342903895,0.017001456917022883,0.03347060350755068,0.04993975009807848,0.012453711636477259,0.04518151229802203,0.07790931295956678,0.11063711362111155,0.14336491428265632,0.1760927149442011,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011150215422667682,0.07752700737224363,0.1439037993218196,0.36729877561484187,0.40012020226842737,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031184533753471026,0.24705589804470432,0.023883982024726358,0.17212340434390375,0.033044950401341554,0.031678264766293894,0.030311579131246227,0.039329176750179086,0.08459607798582361,0.003746181569736486,0.07255323682854968,0.028963280522059164,0.2015294338779648,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010963513257297828,0.015749691382064637,0.16519260681836268,0.11783542296194359,0.07047823910552448,0.04496308794291825,0.019447936780312026,0.013829200071445913,0.008210463362579799,0.015189050202787543,0.0418912336793519,0.04176115608375453,0.04163107848815716,0.08629175922132852,0.13095243995449987,0.17561312068767126,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12576684001081803,0.1178254484171876,0.10988405682355717,0.10194266522992675,0.09418550494741337,0.18152699650617016,0.26886848806492697,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05155969359233156,0.03126436211965589,0.5041005375677229,0.41307540672028975,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014601561580882261,0.019285568510067807,0.02396957543925335,0.028653582368438894,0.03333758929762444,0.03802159622680998,0.042705603155995524,0.04738961008518107,0.05207361701436661,0.05675762394355215,0.0614416308727377,0.06612563780192324,0.07080964473110879,0.020321346393438407,0.011784289692420093,0.014033417679886428,0.016282545667352762,0.03177317311807683,0.04726380056880089,0.06275442801952495,0.07824505547024901,0.09373568292097308,0.016805244980704983,0.013236515330271705,0.038591659130359036,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10827093253695798,0.06985777853863484,0.0314446245403117,0.06474008603751036,0.09803554753470903,0.09594276889431305,0.09384999025391709,0.09175721161352111,0.08966443297312515,0.08757165433272919,0.08547887569233321,0.08338609705193725,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0039552365490890095,0.01855833494057043,0.00941515137383549,0.5717430967351905,0.3963281804013145,0.0,0.0,0.0,0.0,0.0 -work,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.037579600630901905,0.03953368128246934,0.041487761934036776,0.043441842585604205,0.04539592323717164,0.047350003888739084,0.04930408454030652,0.051258165191873956,0.022978285904191875,0.0783858437768081,0.16602193698410023,0.2536580301913923,0.12360483985240399,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056212032465729624,0.12130766691579449,0.18640330136585936,0.2514989358159242,0.3165945702659891,0.009438593258150852,0.05854489991255243,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1415365536027531,0.13095414991740403,0.120371746232055,0.10978934254670596,0.0992069388613569,0.08862453517600787,0.0780421314906588,0.06745972780530976,0.056877324119960715,0.04629492043461166,0.035712516749262624,0.02513011306391358,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019811327492472375,0.03774361663489191,0.05567590577731144,0.07360819491973097,0.5580065051017328,0.25515445007386056,0.0,0.0,0.0,0.0 -work,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.136820424528809,0.126837533261187,0.11685464199356498,0.10687175072594296,0.09688885945832096,0.08690596819069893,0.07692307692307693,0.06694018565545491,0.05695729438783289,0.046974403120210874,0.03699151185258886,0.02700862058496684,0.017025729317344848,0.0,0.0,0.0,0.0,0.0 -work,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -work,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -work,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005291938132742119,0.03959585200786569,0.07389976588298926,0.10820367975811283,0.1425075936332364,0.322472387918301,0.30802878266675277,0.0,0.0,0.0 -work,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021393497234133967,0.024485572401252164,0.02757764756837037,0.030669722735488566,0.03376179790260677,0.036853873069724964,0.039945948236843165,0.043038023403961366,0.04613009857107956,0.04922217373819777,0.05231424890531597,0.055064896818320004,0.057815544731324046,0.060566192644328075,0.06331684055733212,0.06606748847033615,0.06881813638334018,0.07156878429634422,0.07431943220934827,0.07707008012235231,0.0,0.0,0.0,0.0 -work,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03621220118223522,0.044779679755162144,0.05334715832808907,0.06191463690101601,0.07048211547394294,0.07904959404686986,0.08761707261979679,0.09618455119272372,0.10475202976565064,0.11331950833857757,0.1218869869115045,0.13045446548443143,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04345464141868227,0.0560202766589751,0.06858591189926792,0.08115154713956076,0.09371718237985359,0.10628281762014642,0.11884845286043924,0.13141408810073207,0.1439797233410249,0.15654535858131777,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05354791784986255,0.08690026213934676,0.120252606428831,0.3196535240813643,0.4196456895005953,0.0,0.0 -work,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01781248740787642,0.03067413298983968,0.04353577857180295,0.05639742415376621,0.06925906973572948,0.20344245184731174,0.337625833958894,0.1929595517645578,0.048293269570221654,0.0,0.0,0.0 -work,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20961158145822217,0.7163898480087423,0.0739985705330355,0.0 -work,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -work,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2194326523365986,0.044439504505837724,0.2133407542212311,0.5227870889363325 -work,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03797020998506186,0.17932340332835398,0.32067659667164605,0.46202979001493816,0.0,0.0,0.0,0.0 -work,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9240595800298763,0.07594041997012373,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -work,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,2,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,3,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,4,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,4,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15502667853478982,0.08229770024011315,0.38343262055066557,0.24166005430098364,0.09988748805130171,0.03769545832214605,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1599771418839416,0.05651240524084194,0.04984623141905139,0.043180057597260825,0.036513883775470275,0.0439521559772963,0.05139042817912234,0.08554919887387943,0.11970796956863654,0.15386674026339364,0.007835239521885206,0.19166854769922065,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14060494044759383,0.12799680610148337,0.11538867175537293,0.10278053740926246,0.090172403063152,0.07756426871704154,0.06495613437093108,0.05234800002482062,0.039739865678710164,0.027131731332599714,0.032410702909463046,0.03768967448632638,0.04296864606318971,0.048247617640053045,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23190342098994285,0.3190471228269991,0.1778770842389997,0.09794738063319183,0.01801767702738397,0.01673590724697389,0.0066008676678141745,0.0066008676678141745,0.007398748385313031,0.008196629102811886,0.008994509820310742,0.009792390537809599,0.010590271255308453,0.011388151972807308,0.012186032690306164,0.012983913407805022,0.013781794125303875,0.014579674842802733,0.015377555560301586,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45563284813293653,0.19731649745908547,0.14132693984933212,0.08533738223957878,0.029347824629825423,0.0107517248991238,0.0107517248991238,0.0107517248991238,0.012329368238661318,0.013907011578198838,0.015484654917736356,0.017062298257273876,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23179663986069146,0.19650524812618217,0.1612138563916729,0.1259224646571636,0.09063107292265431,0.05533968118814501,0.02004828945363573,0.021268376129080814,0.022488462804525898,0.02370854947997098,0.024928636155416063,0.026148722830861146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0958862499094396,0.21232735302755326,0.14452318954831656,0.07671902606907983,0.008914862589843107,0.02083060430390109,0.032746346017959074,0.04466208773201706,0.035082532293705525,0.025502976855394,0.025480998097239856,0.04584826005761073,0.041822508346042814,0.0377967566344749,0.03377100492290699,0.029745253211339077,0.02571950149977116,0.021693749788203247,0.017667998076635334,0.01364224636506742,0.009616494653499508,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17134858620412058,0.15377183807692774,0.1361950899497349,0.11861834182254205,0.10104159369534921,0.16710391666730154,0.10634151675044184,0.04557911683358214,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.115278984508389,0.11805641750599215,0.12083385050359528,0.12361128350119843,0.1263887164988016,0.12916614949640473,0.1319435824940079,0.13472101549161103,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45170523659549144,0.12834803883767854,0.015602922711769577,0.016164830905666887,0.004831642155812036,0.053990901307187825,0.1747598202770351,0.0900348203992964,0.005309820521557702,0.006614251148184289,0.007918681774810876,0.009223112401437463,0.01052754302806405,0.011831973654690638,0.013136404281317224,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14491086491577065,0.08249733149608272,0.020083798076394783,0.04118720719232239,0.03489365663401108,0.3784050094193583,0.22148908267732795,0.06457315593529762,0.011959893653434613,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032191566925804674,0.026607580690927377,0.021023594456050086,0.07679273179946554,0.07816468103824913,0.0795366302770327,0.08090857951581629,0.08228052875459987,0.08365247799338346,0.08502442723216704,0.08639637647095062,0.08776832570973422,0.0891402749485178,0.09051222418730138,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34390307043754836,0.29057986432904376,0.10069634173356881,0.10335263258675495,0.06338394756684611,0.029569439604088973,0.024593134136668297,0.01961682866924762,0.014640523201826945,0.00966421773440627,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15652265479694477,0.14751618199781769,0.13850970919869063,0.12950323639956354,0.12049676360043647,0.1114902908013094,0.10248381800218231,0.09347734520305524,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05562845797308542,0.03790308806291099,0.053028685207970015,0.07607312884655684,0.04248738471923295,0.04262662422892532,0.04276586373861769,0.1606174636101008,0.2784690634815839,0.16295643453753336,0.047443805593482866,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15218217203974144,0.1364139887223987,0.12064580540505603,0.10487762208771333,0.08910943877037063,0.16196013724836353,0.23481083572635641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08519795484956813,0.4190098041126643,0.2805161533158058,0.21527608772196175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22023580411077429,0.3333333333333333,0.44643086255589237,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09438677319033184,0.11054356307926884,0.12670035296820586,0.14285714285714285,0.15901393274607986,0.1751707226350169,0.19132751252395389,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009508251214248881,0.17782889666540147,0.09263401371478211,0.12231508620860024,0.07160198415249852,0.04091425666276812,0.010226529173037718,0.02816480343335406,0.0461030776936704,0.06773215672436611,0.08936123575506183,0.11099031478575752,0.1326193938164532,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14791654459063172,0.1386033892218408,0.12929023385304986,0.11915614797453906,0.10902206209602824,0.09888797621751744,0.08875389033900663,0.07861980446049581,0.0897499512468904,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17421369945534756,0.1601526424681054,0.14609158548086326,0.1320305284936211,0.11796947150637892,0.10390841451913677,0.08984735753189461,0.07578630054465245,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5382006173453733,0.42446418641574857,0.037335196238878085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09767373690998632,0.1292202595148205,0.11978213966803847,0.11034401982125645,0.10090589997447441,0.09146778012769237,0.08202966028091034,0.0725915404341283,0.06315342058734628,0.05371530074056424,0.04427718089378221,0.03483906104700016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34004170026991576,0.2800139000899719,0.2199860999100281,0.15995829973008424,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07474574898992196,0.08645150733340892,0.09054013747255885,0.0946287676117088,0.09871739775085873,0.10280602789000867,0.10689465802915861,0.11098328816830855,0.11507191830745848,0.11916054844660842,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8908104065284771,0.10918959347152296,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29435014885100735,0.24327675597727105,0.1922033631035348,0.14112997022979853,0.09005657735606228,0.03898318448232598,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.034515456831482105,0.38099204569554584,0.20993088972922877,0.038869733762911765,0.04183965106063932,0.044809568358366865,0.04777948565609442,0.050749402953821965,0.067087722968577,0.08342604298333202,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16202831047267066,0.14780446655995472,0.13358062264723874,0.1193567787345228,0.10513293482180686,0.09090909090909091,0.07668524699637495,0.062461403083658995,0.04823755917094305,0.0340137152582271,0.019789871345511155,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36615638276085066,0.3333333333333333,0.3005102839058161,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5028022091097478,0.3333333333333333,0.16386445755691892,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49069843650135225,0.1832043680086809,0.1459517165860016,0.10869906516332227,0.07144641374064295,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0940478256743711,0.19801594189145702,0.30198405810854295,0.40595217432562886,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.221818376004649,0.07032861211082453,0.6164723627300361,0.09138064915449043,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10438685467882357,0.1703394766006171,0.23629209852241065,0.19067341613326125,0.14505473374411187,0.09943605135496247,0.05381736896581309,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15320414381038053,0.21773471460346017,0.28226528539653983,0.34679585618961944,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7626621877866382,0.178503744240893,0.05883406797246877,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12708351247500596,0.8729164875249941,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11188399304957727,0.7561656197815159,0.13195038716890686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9071348966177851,0.09286510338221489,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1545227412234772,0.14501419619621114,0.7004630625803117,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11306065571896186,0.2043535519063206,0.29564644809367935,0.38693934428103804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13118039701317155,0.8688196029868285,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4249722436561218,0.14758358749369008,0.13129456938123285,0.11500555126877565,0.09871653315631843,0.0824275150438612,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4996034447783298,0.5003965552216701,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -univ,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -univ,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -univ,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -univ,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -univ,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -univ,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -univ,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -univ,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -univ,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -univ,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -univ,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -univ,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -univ,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -univ,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -univ,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -univ,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -univ,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -univ,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -univ,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -univ,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -univ,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -univ,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -univ,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -univ,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09665071904809912,0.9033492809519009,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7594596150074852,0.24054038499251484,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03606213376334208,0.963937866236658,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6259094393939955,0.37409056060600454,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06041584185955061,0.9395841581404494,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5536574772364438,0.4463425227635562,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7347368549741089,0.26526314502589116,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06102075029566401,0.938979249704336,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5505817699541983,0.4494182300458017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027484639314538175,0.3333333333333333,0.6391820273521285,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.058541269474120534,0.5753140781587649,0.3661446523671145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6163589678191319,0.3836410321808681,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6163589678191319,0.3836410321808681,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00373149890001626,0.4501891049310378,0.546079396168946,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29485104165886156,0.3333333333333333,0.37181562500780513,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0049307048171374915,0.004550578337661125,0.3582629321080231,0.6322557847371784,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11013341526707958,0.8898665847329205,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1378983546262529,0.505511101705598,0.3565905436681491,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15269917281698356,0.00873714128745446,0.23851040350062966,0.25527674348655194,0.18746919224203193,0.15730734666634855,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15079088082625533,0.4460589350007821,0.2664854757342326,0.13666470843872996,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01596449361058273,0.5784341975831062,0.4056013088063111,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8650854217220405,0.13491457827795955,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2218627421257079,0.20476573462750933,0.18766872712931074,0.17057171963111215,0.21513107648635998,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009995746587483515,0.06346421040105343,0.2636003696425965,0.6629396733688667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01961607334152427,0.05767207144109608,0.0957280695406679,0.13378406764023973,0.17184006573981156,0.05124862260633809,0.07125250840614777,0.22573909687454485,0.17311942440962985,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30036584713830844,0.1854261085998775,0.07048637006144652,0.10919679739745118,0.14790722473345586,0.18661765206946052,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08512907341273082,0.5257181123819997,0.3891528142052694,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2685477950200915,0.14060319508546645,0.01265859515084143,0.3833969705841652,0.19479344415943547,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10786925339840081,0.19073541006937117,0.2736015667403416,0.3564677234113119,0.07132604638057455,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00424154355810007,0.04947192412519555,0.09470230469229102,0.1399326852593865,0.24455777649184057,0.4670937658731862,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013601710547322609,0.0214848242000493,0.02936793785277599,0.037251051505502675,0.04513416515822937,0.05301727881095605,0.06090039246368275,0.05854564097693508,0.4316334290929965,0.029038244497737,0.05430833665784533,0.09506728091488063,0.07064970732108669,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3168293754625279,0.2427664798213488,0.16870358418016976,0.09464068853899073,0.020577792897811687,0.03270309171801759,0.044828390538223496,0.019931577806648476,0.059019019036261576,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008709074037830661,0.008398927922164933,0.008088781806499206,0.007778635690833477,0.007377087934613188,0.6494695344490504,0.31017795815900806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07934573896577458,0.06719090646608748,0.055036073966400374,0.04288124146671327,0.030726408967026168,0.018571576467339063,0.00641674396765196,0.10474707609555726,0.14064851066099512,0.4544357229764546,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11875638978720256,0.10576380033212815,0.09277121087705376,0.2584932699602231,0.4242153290433925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21940988043535434,0.7805901195646456,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0791162103162443,0.39482799753135545,0.5260557921524003,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007697404204801161,0.07418887660753196,0.14068034901026275,0.2105831025116599,0.28048585601305703,0.047966427798073814,0.23839798385461336,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37096355885723153,0.18934116091743441,0.007718762977637312,0.2819698690479792,0.03319008841635186,0.09440390959546635,0.0224126501878994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31344647114120033,0.25473454935138684,0.1960226275615734,0.13731070577175997,0.07859878398194649,0.019886862192133006,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0076145959560018385,0.11127790999264596,0.5529477761938238,0.3281597178575284,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006983453690393842,0.03364024161934332,0.2511626504020823,0.4686850591848212,0.05392342990006859,0.13055140515409036,0.055053760049200394,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006617778008281326,0.010962305168554806,0.015306832328828287,0.1426443597550224,0.2699818871812165,0.39731941460741066,0.06260243797491402,0.03222572359548424,0.044587228901206144,0.017752032479081713,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48516901519711836,0.13174358091837915,0.1123448151266757,0.09294604933497223,0.0735472835432688,0.054148517751565345,0.034749751959861894,0.015350986168158458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011396723953254523,0.028933940346215544,0.04647115673917657,0.06400837313213759,0.0815455895250986,0.09908280591805962,0.10584246984123159,0.078235803815731,0.2154120029491643,0.2690711337799307,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1509506494169968,0.14546507177738321,0.13997949413776964,0.1344939164981561,0.12900833885854254,0.12352276121892897,0.11318092961292492,0.03752007154434353,0.0258787669349544,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6181517073139559,0.3818482926860442,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45678520226705216,0.31892840075568407,0.18107159924431593,0.043214797732947854,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.046358585478071035,0.09030050303860301,0.134242420599135,0.21336228398718537,0.5157362068970057,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05817024906295444,0.05764237501917242,0.05711450097539039,0.05658662693160837,0.056058752887826344,0.0562401276270362,0.05642150236624605,0.056602877105455904,0.05678425184466576,0.16711397535094316,0.27744369885722053,0.043821061971480335,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16270256726410537,0.16290055872558687,0.16309855018706834,0.16329654164854987,0.16349453311003137,0.18450724906465818,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12743386066157197,0.163716930330786,0.2,0.23628306966921403,0.27256613933842805,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10669598115019549,0.06238840389551419,0.4503082439092719,0.3806073710450185,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05948855341288662,0.06518162011734371,0.05538598323360617,0.04559034634986863,0.035794709466131086,0.02599907258239355,0.14147088525316232,0.08427412948969697,0.027077373726231594,0.3428977524211282,0.07714850285833169,0.03969107108921945,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05094748544618913,0.04246995586536623,0.03399242628454332,0.08639015722284835,0.13878788816115337,0.19118561909945841,0.24358335003776344,0.13338654516359236,0.023189740289421303,0.026418857573028403,0.029647974856635492,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16984529229093237,0.1608492424796692,0.151853192668406,0.14285714285714285,0.13386109304587968,0.12486504323461649,0.11586899342335331,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04750482989839155,0.26088281325137147,0.5240331138825366,0.1675792429677004,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.362758964125648,0.01738887178441671,0.04341161965662539,0.15679587630506892,0.2701801329535124,0.11937816474895066,0.030086370425778008,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04746481343012249,0.137726550982743,0.20466471475589393,0.2716028785290448,0.3385410423021957,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08262255020652688,0.10270074775673221,0.12277894530693753,0.14285714285714285,0.1629353404073482,0.1830135379575535,0.20309173550775886,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011655823294103316,0.012064001890777326,0.012472180487451337,0.23273183253894336,0.3175084277561566,0.413567734032568,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01763461320962093,0.07147167075308623,0.12530872829655154,0.17914578584001684,0.1080683887664809,0.03043593004613246,0.1345078968843167,0.23857986372250095,0.09484712248129344,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0318428271533776,0.060111645895882054,0.0883804646383865,0.11664928338089098,0.14491810212339543,0.17318692086589987,0.20145573960840432,0.18345501633376324,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3489219886226871,0.3333333333333333,0.31774467804397954,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006059942612369503,0.18748654844670865,0.36891315428104776,0.437540354659874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16737554743914804,0.13645398625760735,0.10553242507606664,0.07461086389452595,0.0213765608721464,0.04317751025757952,0.06497845964301263,0.11836928341794681,0.12883154885330447,0.13929381428866217,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10403349737633974,0.09485781850669045,0.08568213963704116,0.14617609662806322,0.20667005361908525,0.14065057139057108,0.07463108916205687,0.14729873368015234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29307849098972216,0.7069215090102778,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05470575638560503,0.4425962784764674,0.5026979651379276,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2703738926640019,0.10946074086985785,0.07559617188660546,0.041731602903353086,0.06558846865725512,0.08944533441115715,0.1133022001650592,0.19804058088386256,0.03646100755884774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18541588020402694,0.16180117831688925,0.1381864764297516,0.11457177454261394,0.09095707265547627,0.06734237076833861,0.10588421055055666,0.06336380357084676,0.0724772329615001,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1643230425312716,0.1956718664861722,0.22702069044107281,0.2583695143959734,0.15461488614550997,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02160477228486748,0.04247959686955989,0.06335442145425231,0.08422924603894472,0.5773924309125426,0.21093953243983313,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020297197364513634,0.028755914363130117,0.0372146313617466,0.04567334836036309,0.054132065358979575,0.06259078235759605,0.07104949935621253,0.07950821635482902,0.06523131722381874,0.050954418092808464,0.036677518961798175,0.08320773885505256,0.060669567175859,0.11947542431663749,0.1649422399100552,0.019620120586599742,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08822994784702914,0.07634768469709784,0.06446542154716654,0.05258315839723525,0.04070089524730395,0.07151566772058675,0.10233044019386955,0.10466237674659712,0.10699431329932468,0.10932624985205226,0.08567667466845014,0.06202709948484801,0.013367701410390126,0.02177236888804862,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19597322624403266,0.23199107541467756,0.26800892458532244,0.30402677375596737,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012661959535041617,0.06096138676067079,0.4032974087599142,0.5230792449443734,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027461602441082134,0.27926884164367627,0.14574961422513458,0.01223038680659292,0.020632703811801042,0.029035020817009167,0.0339686951927486,0.03890236956848804,0.13981853041738754,0.24073469126628702,0.03219754380979286,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24103781171409203,0.16859260616242022,0.09614740061074845,0.023702195059076666,0.058767293942184315,0.09383239282529197,0.12889749170839962,0.16396259059150728,0.02506021738627952,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2461883211664059,0.5928323707106358,0.16097930812295835,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.054580106259196515,0.04294073024224601,0.0313013542252955,0.019661978208345005,0.09237397441263531,0.16508597061692562,0.23779796682121593,0.31050996302550626,0.0076077348848288115,0.03814022130380498,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023283790705556483,0.11164189535277824,0.2,0.2883581046472218,0.3767162092944435,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02715681036078179,0.07559281538388911,0.4916701811206997,0.4055801931346294,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02706056526191096,0.05397659298307221,0.08089262070423346,0.07002897811982356,0.05916533553541365,0.04830169295100374,0.03743805036659384,0.026574407782183923,0.022869544589736633,0.019164681397289343,0.01545981820484205,0.04318276576065694,0.041457279349092546,0.07656476233239112,0.3778629046617559,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04122334406910495,0.040446760219857956,0.039670176370610946,0.03889359252136395,0.038117008672116946,0.03734042482286994,0.03656384097362294,0.035787257124375936,0.03501067327512893,0.03423408942588193,0.03345750557663493,0.03268092172738792,0.031904337878140926,0.17166339768216138,0.3114224574861818,0.04158421217455842,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17643998499262167,0.15945332166092796,0.14246665832923427,0.12547999499754056,0.10849333166584685,0.09150666833415314,0.07452000500245944,0.057533341670765716,0.040546678339072016,0.023560015007378327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012752769370073174,0.026313654416898098,0.03987453946372302,0.05343542451054794,0.06699630955737287,0.08055719460419777,0.0941180796510227,0.10767896469784762,0.1459737159650691,0.22756349393314745,0.1447358538301002,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08115394797328578,0.06526993026302827,0.04938591255277076,0.033501894842513244,0.05031167863840953,0.05070577163098672,0.051099864623563904,0.051493957616141096,0.051888050608718275,0.05228214360129546,0.11082782044876294,0.16937349729623039,0.01634280529476449,0.16636272460952914,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10966566776630844,0.1048779705966766,0.10009027342704478,0.09530257625741294,0.0905148790877811,0.08572718191814925,0.08093948474851742,0.07615178757888558,0.07136409040925375,0.0665763932396219,0.061788696069990066,0.05700099890035823,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013650022644608625,0.7794299047236405,0.2069200726317509,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19739188140912423,0.17295401110525416,0.14851614080138412,0.12407827049751403,0.09964040019364395,0.10436750805767506,0.08580643199769311,0.06724535593771118,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20057402826216983,0.1761026601498415,0.1516312920375132,0.13814797717755548,0.12466466231759775,0.11118134745764001,0.09769803259768228,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3040783354693065,0.2680261118231022,0.23197388817689785,0.1959216645306935,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.632159284623094,0.03310164716221061,0.3347390682146954,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007046481855502419,0.1250573786608491,0.1155943739986526,0.10613136933645612,0.09666836467425961,0.08720536001206311,0.07774235534986661,0.06827935068767012,0.058816346025473615,0.049353341363277126,0.03989033670108062,0.030427332038884126,0.020964327376687637,0.019550679124070307,0.018137030871452978,0.016723382618835648,0.015309734366218316,0.013896086113600988,0.012482437860983658,0.011068789608366327,0.009655141355748999,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2694585605924536,0.7305414394075465,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48702762627169766,0.3333333333333333,0.17963904039496906,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1574354263846644,0.33333333333333326,0.5092312402820022,0.0,0.0,0.0,0.0 -univ,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03330834555833946,0.03601363379724511,0.03871892203615076,0.041424210275056404,0.04412949851396206,0.04683478675286771,0.049540074991773354,0.05224536323067901,0.05495065146958466,0.0576559397084903,0.06036122794739596,0.0630665161863016,0.06076703563190551,0.05846755507750942,0.056168074523113336,0.05386859396871724,0.051569113414321154,0.049269632859925055,0.04697015230552897,0.04467067175113288,0.0,0.0,0.0,0.0 -univ,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -univ,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -univ,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -univ,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -univ,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -univ,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -univ,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -univ,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -univ,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -univ,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -univ,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -univ,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -univ,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -univ,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -univ,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -univ,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -social,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10773437734708079,0.3333333333333333,0.5589322893195859,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.628851611647239,0.3333333333333333,0.03781505501942765,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1043475180589962,0.03895350092025114,0.020976320884544222,0.037279864182773,0.05358340748100179,0.05353285208803425,0.05348229669506672,0.05343174130209917,0.053381185909131636,0.0533306305161641,0.05328007512319657,0.053229519730229026,0.05317896433726149,0.05312840894429395,0.053077853551326416,0.05302729815835888,0.05297674276539134,0.05292618737242381,0.052875631979456265,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11583073498209223,0.47108700863073383,0.2947230883393026,0.11835916804787142,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3591518872697915,0.10406339953722134,0.21361603757673617,0.323168675616251,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17545608657933953,0.1719403186142704,0.16842455064920123,0.1649087826841321,0.16139301471906295,0.15787724675399378,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18304058611725627,0.7896162659106728,0.027343147972070922,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7979268938725499,0.17686822091580928,0.016672535291724706,0.008532349919916166,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.578400829767911,0.016583780995750717,0.01866538798796587,0.020746994980181028,0.02282860197239618,0.02491020896461134,0.02699181595682649,0.02907342294904165,0.0311550299412568,0.03323663693347196,0.03531824392568711,0.03739985091790226,0.039481457910117417,0.04156306490233257,0.04364467189454773,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4074190265461011,0.2825435576838615,0.037569731178967204,0.10494188703877066,0.09082256153035674,0.0767032360219428,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21918121202374222,0.3333333333333333,0.4474854546429244,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0835052208118133,0.7260538578814516,0.0817271132468386,0.06348030710224503,0.04523350095765147,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11978634238911937,0.497748780267061,0.28140237708283344,0.06505597389860593,0.03600652636238037,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3479019435812659,0.5365056179805612,0.11559243843817298,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4025890224893994,0.5974109775106007,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3732048100795164,0.6267951899204836,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40041609771957165,0.5639904037549157,0.03559349852551277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08876722289284689,0.11493197746117091,0.4235005781232469,0.3728002215227354,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4357760007824008,0.5642239992175991,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6044652184600203,0.22126586349977154,0.17426891804020825,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4759479948850025,0.3333333333333333,0.19071867178166416,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24450545806824858,0.6744581106411094,0.08103643129064204,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6099288212053448,0.3333333333333333,0.05673784546132194,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22745745074077123,0.6075168367061072,0.16502571255312157,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3863561922535266,0.33333333333333337,0.28031047441314016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4657517134643485,0.5342482865356515,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08655819849535898,0.913441801504641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6470247634388553,0.3333333333333333,0.01964190322781141,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2741313965619882,0.6629550534179607,0.06291355002005124,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5684543941451579,0.3333333333333333,0.09821227252150881,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.059490242194113245,0.7523045456318833,0.018748487732635807,0.019289288359865844,0.019830088987095883,0.020370889614325916,0.020911690241555952,0.021452490868785992,0.02199329149601603,0.022534092123246065,0.023074892750476104,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5916618406801583,0.3333333333333333,0.07500482598650836,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4953837534336802,0.5046162465663198,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9293033744726057,0.024492150868995113,0.04620447465839927,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37496020061561375,0.3041351651079224,0.20555168826670514,0.10696821142548794,0.008384734584270711,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16245811480449981,0.18122905740224993,0.2,0.21877094259775012,0.23754188519550024,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5446212875832988,0.3062100647062189,0.06779884182913909,0.04972288257016076,0.031646923311182434,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7905944124476788,0.20940558755232105,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16247713465884725,0.44340912594980314,0.33940130234258037,0.05471243704876923,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23630387073488623,0.27007687850461326,0.49361925076050056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12058062880239849,0.3333333333333333,0.5460860378642681,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.44901921097453,0.5509807890254701,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45011990866566315,0.5498800913343369,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2861015293666299,0.7138984706333701,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3304658479880228,0.31321548194082977,0.27538008277374987,0.08093858729739767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11179115666214716,0.4950397283895725,0.09109148299379365,0.3020776319544868,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20158579682928846,0.3590451735645154,0.4393690296061961,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5380915555873338,0.06557133332834955,0.3963371110843167,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.47442340161838786,0.29428379713008035,0.23129280125153176,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48739732089270765,0.1758121605432735,0.3367905185640188,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15611813456398502,0.16033754740505768,0.16455696024613034,0.16877637308720297,0.17299578592827566,0.17721519876934833,0.0,0.0,0.0,0.0 -social,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -social,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -social,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -social,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -social,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -social,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -social,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -social,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -social,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -social,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -social,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -social,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -social,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -social,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -social,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -social,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -social,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -social,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -social,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -social,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -social,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -social,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -social,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -social,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -social,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8891267902935148,0.11087320970648519,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.037727295282262895,0.9622727047177372,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4318010288576402,0.3333333333333333,0.2348656378090264,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10150631354676505,0.0879288161193049,0.07435131869184478,0.060773821264384624,0.047196323836924486,0.03361882640946435,0.5946245801313119,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23314066591145746,0.7668593340885426,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0049042728344062606,0.026576523213966474,0.20745051011610524,0.761068693835522,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3070644234445311,0.6929355765554689,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32656013593549843,0.6734398640645015,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28430358640686954,0.7156964135931305,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08623553376073448,0.6924454660587593,0.22131900018050632,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2502016398927135,0.7497983601072865,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012750424405196215,0.09836051139634903,0.8888890641984547,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.551444380991894,0.4485556190081061,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11812425436055507,0.01923799968018063,0.6607026139258543,0.2019351320334101,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.341503971776203,0.1870576243532147,0.47143840387058233,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5558472903065897,0.44415270969341025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8322526007707077,0.08692571276544542,0.08082168646384681,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3092651844982385,0.6907348155017616,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09563930947606052,0.3333333333333333,0.5710273571906063,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04156675240543393,0.31904847926554764,0.6393847683290184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22922910162013188,0.16467950357373923,0.606091394806129,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0351290407753694,0.3333333333333333,0.6315376258912972,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4205173094374983,0.5794826905625017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24801194183706926,0.2962278148457705,0.4557602433171603,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6441382480640091,0.3333333333333333,0.022528418602657557,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01613102375629621,0.10168724038752551,0.3288460480506576,0.5533356878055207,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0650412187782996,0.15223432049974742,0.20225487556569982,0.2522754306316522,0.32819415452460093,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10316936338966415,0.08739717824550143,0.10859108090012731,0.7008423774647071,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23240500014333088,0.3333333333333333,0.43426166652333575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023053005237083892,0.0498999220432932,0.07674683884950252,0.5296136956112015,0.32068653825891874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.043375834928763,0.05380857515955947,0.06424131539035594,0.06752436601715003,0.07080741664394412,0.15992275034941134,0.038627600450485765,0.43603298810243485,0.06565915295789557,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10042843039368393,0.08034760054854279,0.06026677070340163,0.0401859408582605,0.020105111013119355,0.12649691325372497,0.23288871549433057,0.3392805177349362,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03281658231246037,0.08530704812711536,0.13779751394177037,0.19028797975642534,0.24277844557108033,0.3110124302911483,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03583876125774284,0.07092233320821738,0.1863841458264641,0.7068547597075756,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13405286246669057,0.005266101172344452,0.7322247169404855,0.12845631942047941,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.422848345518597,0.07689328704563538,0.5002583674357676,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37836671900140995,0.3333333333333333,0.28829994766525674,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0017456244366516173,0.03903641494413014,0.3712075244024897,0.5880104362167287,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10931281160705096,0.24765078033900714,0.5408883532895873,0.10214805476435469,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006186395054701346,0.003567355232550208,0.03676280193077907,0.39583077423544666,0.5576526735465227,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28997176287039556,0.07683133105994253,0.03448234916103171,0.26822196049555497,0.24517452542922208,0.08531807098385327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01505997899950012,0.13337357074704712,0.2516871624945941,0.22185841221987518,0.19202966194515625,0.16220091167043738,0.02379030192338981,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0557414791350062,0.03810163042462049,0.020461781714234777,0.03847419404468446,0.4512902630822851,0.39593065159916907,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2843425842287547,0.2342527504477477,0.18416291666674076,0.13407308288573375,0.16316866577102304,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2557881937860425,0.2442026693340811,0.2326171448821197,0.22103162043015834,0.046360371567598375,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018639641980813422,0.03598132278052936,0.05332300358024529,0.44765307747623495,0.44440295418217707,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22423071862605312,0.5283842198434965,0.24738506153045037,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031609598729640614,0.15697175897017004,0.3227968004234531,0.4886218418767362,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30076055656395134,0.3333333333333333,0.3659061101027153,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018639714813562875,0.014456098641512753,0.5111153520211603,0.4557888345237641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016906674627179097,0.04408749842212745,0.0712683222170758,0.09739386595772667,0.6969255741652668,0.07341806461062411,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14617795417980792,0.33333333333333337,0.5204887124868588,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08770677250788476,0.14385338625394237,0.2,0.2561466137460576,0.31229322749211524,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019031983610239587,0.3057357627053313,0.6752322536844292,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12389551528051859,0.09355451704973952,0.06321351881896045,0.032872520588181395,0.629340779716385,0.057123148546214954,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005727121702416234,0.022277120379155975,0.1319487470264883,0.8400470108919396,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023371639108727294,0.0613677679379178,0.06421697536751185,0.0670661827971059,0.05741398582908553,0.04776178886106517,0.03810959189304481,0.4349153002432662,0.042035755634133184,0.16374101232814203,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04370672664689039,0.11476235131453887,0.09746068527359326,0.08015901923264765,0.06285735319170205,0.04555568715075644,0.04112991416690195,0.036704141183047455,0.17145608767432316,0.30620803416559883,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07698608208944181,0.06770089427754934,0.058415706465656886,0.04913051865376443,0.039845330841871966,0.03056014302997951,0.06553085032943541,0.10050155762889129,0.1354722649283472,0.1704429722278031,0.205413679527259,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012633034827864898,0.2341678567473193,0.7531991084248159,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29168274874229994,0.1906230440835039,0.5176942071741961,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3110969969500785,0.16983299521746373,0.028568993484848947,0.17032048074105893,0.32018053360654974,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3864406106703748,0.6135593893296253,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056634394910495225,0.062706359581162,0.5092279726305422,0.3714312728778006,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2958863372231112,0.2652954457410371,0.23470455425896294,0.2041136627768888,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05875816515729992,0.08312782073772461,0.10749747631814932,0.13186713189857402,0.15623678747899872,0.13499203287994935,0.11374727828090003,0.09250252368185069,0.07125776908280135,0.05001301448375201,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021524804073157135,0.0237584112340102,0.02599201839486326,0.4099238743026188,0.5188008919953505,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21290988787277185,0.22541926999174572,0.23792865211071954,0.2504380342296934,0.04526016048967014,0.028043995305399447,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.058816203149076,0.941183796850924,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015803815941152873,0.006048813434004754,0.4092057879124974,0.568941582712345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11359403201817765,0.8864059679818224,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01977804231276635,0.5403372769784637,0.43988468070876996,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34662050791315446,0.3193035357908923,0.3340759562959532,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015481130467515937,0.010606474322992696,0.502842633858657,0.47106976135083445,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5900408485687838,0.40995915143121625,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03595353986401464,0.47222188935892717,0.49182457077705816,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11287986723846766,0.1554408698941038,0.19800187254974,0.24056287520537617,0.2931145151123123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12802522995646676,0.35371652131583975,0.5182582487276934,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04336727795613132,0.05942391339709672,0.07548054883806211,0.07938983066284026,0.08329911248761841,0.3718549407454678,0.12030552192539896,0.16687885398738453,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1412155851472534,0.33333333333333337,0.5254510815194133,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016632190661555996,0.9509252175675412,0.032442591770902765,0.0,0.0,0.0,0.0 -social,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -social,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -social,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05733403818483013,0.3333333333333333,0.6093326284818366,0.0,0.0,0.0 -social,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -social,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -social,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -social,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8311955815819917,0.1688044184180083,0.0,0.0 -social,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -social,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -social,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -social,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -social,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -social,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -social,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -social,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9580647098346021,0.0419352901653979 -social,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -social,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -social,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,3,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.150403881206086,0.13920301871584467,0.12800215622560335,0.116801293735362,0.10560043124512067,0.09439956875487934,0.083198706264638,0.07199784377439666,0.06079698128415534,0.04959611879391402,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.16274824640801225,0.3954265556377904,0.32371480710179723,0.11811039085240024,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38631117774054635,0.3333333333333333,0.2803554889261204,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07694488210314931,0.05634409511359545,0.020581922303440955,0.034276600515400595,0.04797127872736024,0.06166595693931987,0.07132858428655181,0.08099121163378377,0.09065383898101571,0.10031646632824766,0.1099790936754796,0.11964172102271155,0.1293043483699435,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04252631196074424,0.037787864596371075,0.03304941723199792,0.02831096986762476,0.023572522503251595,0.03740808275460151,0.05124364300595142,0.06507920325730132,0.07891476350865123,0.09275032376000115,0.10658588401135105,0.12042144426270097,0.1342570045140509,0.1480925647654008,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03432246399091716,0.041422566146277116,0.04852266830163708,0.05562277045699704,0.062722872612357,0.06982297476771696,0.07692307692307691,0.08402317907843689,0.09112328123379684,0.0982233833891568,0.10532348554451676,0.11242358769987675,0.11952368985523668,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03163149035767946,0.7336582146363957,0.04149566391389355,0.008367510573865238,0.008370521988462594,0.008373533403059947,0.008376544817657304,0.00837955623225466,0.008382567646852015,0.008385579061449369,0.008388590476046724,0.00839160189064408,0.008394613305241435,0.008397624719838789,0.008400636134436144,0.0084036475490335,0.008406658963630855,0.00840967037822821,0.008412681792825566,0.008415693207422921,0.008418704622020275,0.00842171603661763,0.008424727451214985,0.00842773886581234,0.008430750280409694,0.00843376169500705,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3584276149805107,0.5746022084217608,0.06697017659772854,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2769319994273193,0.5247471656585653,0.07037387702908193,0.06610694497137183,0.06184001291366173,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5840061241399904,0.16551893268325588,0.12573829891963995,0.08595766515602404,0.03877897910108965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5131529302511231,0.16021850155676395,0.13454734547706748,0.10887618939737101,0.08320503331767454,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.39765070595462165,0.2718128514043629,0.10891618442611753,0.03117493441014261,0.07483898292171563,0.016248054129721308,0.016337099938054194,0.01642614574638708,0.01651519155471997,0.016604237363052856,0.016693283171385742,0.01678232897971863,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31671996634042715,0.2712249114592134,0.11092511767903535,0.0029872944722497343,0.09605504274112239,0.06251951953734715,0.028983996333571894,0.021586881047261773,0.014189765760951652,0.006792650474641531,0.014732134263017112,0.022671618051392697,0.030611101839768277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6750059373381477,0.14171535721764264,0.07646207320753734,0.011208789197432043,0.005486747956245354,0.017763556491955153,0.03004036502766496,0.042317173563374756,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25398030532205795,0.47591795935000547,0.051988681186635945,0.0526042184850986,0.06016251459203544,0.027272426285347547,0.039531160697498464,0.03337256922344192,0.0023917480457681956,0.0027784168121103843,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17605117824729205,0.2627376504488624,0.15737408686932056,0.09179723531618784,0.07480779794548098,0.0578183605747741,0.07000548332202242,0.08219260606927073,0.027215601206788852,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09957205930488305,0.15146355378856777,0.20335504827225248,0.03101745370329497,0.022788955438228477,0.09229791940346486,0.0834914756272168,0.07468503185096874,0.06587858807472068,0.05707214429847262,0.048265700522224564,0.0394592567459765,0.03065281296972844,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3765606606115084,0.24256149494938542,0.19268691190095835,0.1277898001494551,0.012675163163914567,0.025810584432584816,0.0020523461936597376,0.0032177115760491995,0.004383076958438661,0.005548442340828123,0.006713807723217585,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.44125399033863555,0.1657803511262183,0.110196840415569,0.05065160971568236,0.016007726530262202,0.03411140853218436,0.03208348758990428,0.030055566647624203,0.02802764570534412,0.02599972476306404,0.02397180382078396,0.02194388287850388,0.0199159619362238,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6874408863298752,0.14363028720742976,0.09337432100651057,0.019270178244459625,0.006043919517886841,0.017463391404770465,0.032777016289067575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20123386433698306,0.41694459434544195,0.222049271458417,0.054570757121050556,0.04326260554644107,0.031954453971831595,0.020646302397222115,0.009338150822612636,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.040184023369467456,0.29519354240947654,0.23659064418872017,0.13799301670109257,0.247827321465703,0.02710134104573147,0.015110110819808812,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06906720986185674,0.19529983229522488,0.16232428023188786,0.17565561394387372,0.07697767998084638,0.1541505588084708,0.15737918739065415,0.009145637487185566,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19509639957965566,0.26843972788265097,0.1474323658120797,0.08365952460352594,0.0368457639525357,0.010166231931104342,0.01301528042069351,0.015864328910282676,0.018713377399871847,0.021562425889461015,0.024411474379050183,0.02726052286863935,0.030109571358228514,0.032958619847817686,0.03580766833740685,0.038656716826996014,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00413697235256592,0.2129074075089102,0.3505475141658882,0.1734480355562692,0.08719976554605254,0.03241928801831168,0.016891722780181067,0.1224492940718214,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15110721547057004,0.02011440520279088,0.17242830407278825,0.05007707393687179,0.03218344624252011,0.12903532767598347,0.10217160474355866,0.07530788181113386,0.04844415887870907,0.021580435946284265,0.19755014601878967,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5148069288627971,0.3699963501505638,0.0269804642359594,0.05275491714480944,0.006820785024369538,0.005753345380444774,0.005361377533700237,0.0049694096869557,0.004577441840211163,0.004185473993466626,0.0037935061467220888,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09916834008449046,0.22595293139818784,0.2312190170753813,0.3022895362199151,0.07002517506475135,0.03951700658822908,0.009008838111706793,0.010609331189681635,0.012209824267656476,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17833885962554083,0.05573674004633103,0.03388618894421373,0.09023453526411779,0.2597895707396951,0.13534327268629362,0.1103335705131022,0.07788966228666873,0.04544575406023527,0.013001845833801809,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25721391131960825,0.40663051804361644,0.21604187462041352,0.09197086390127322,0.006123558377448522,0.008261833966299436,0.01040010955515035,0.0033573302161903633,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03818108084164346,0.2931290015346646,0.29837952919227306,0.17343326860020553,0.042483097152339055,0.12268192053287214,0.004912190297769613,0.005388658173868488,0.005865126049967363,0.015546127624396661,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1217493722020698,0.1104898364826285,0.6179637073205415,0.14331926618554516,0.0064778178092151,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3743657522191308,0.4189194215468449,0.13455849500942896,0.004841138145622488,0.024220914739303746,0.039024759773419175,0.004069518566249893,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024335610567412472,0.26340073451250356,0.35368400219049645,0.10860352584619243,0.0765000829741015,0.06818936385260069,0.059878644731099884,0.02458787971666413,0.020820155608928796,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1649615756365934,0.23346671208625974,0.021600129231412083,0.028431363425443272,0.03526259761947447,0.05981020997558021,0.08435782233168596,0.1089054346877917,0.09832007651152237,0.08773471833525305,0.07714936015898372,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28384048996359845,0.3455479918887933,0.10105268195888228,0.08887213770158188,0.046978568869155954,0.03371343092415334,0.033522498577715804,0.033331566231278274,0.03314063388484074,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.040218490033236944,0.08142619398399818,0.30682536491265516,0.08171756545399071,0.28292269415695515,0.14800786659322826,0.013093039029501402,0.014177983820823054,0.015262928612144703,0.016347873403466353,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14163544352043841,0.059032165046534794,0.16807345801036183,0.22634179522641276,0.28461013244246364,0.03175499024202576,0.030636164372973344,0.029517338503920926,0.028398512634868516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41580653155786884,0.2890129533225023,0.08811885302758045,0.0336115026925943,0.020944619862016595,0.08829736605480784,0.05083517984581254,0.01337299363681724,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0033258283121155906,0.2789924182216784,0.35526100524276233,0.01838682017741379,0.04192490358652489,0.02218638132037245,0.05774696451670831,0.09330754771304418,0.12886813090938007,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0020276352266408093,0.04794074657001455,0.05308812619317532,0.004670048813377961,0.10578733406369216,0.20690461931400633,0.1821009205703131,0.15729722182661984,0.13249352308292658,0.10768982433923334,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23383362793256315,0.6037495761292824,0.13054847567170508,0.007447226877364822,0.024421093389084495,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11115504744665063,0.05604337791480533,0.17501934022603396,0.06130066135993834,0.04302939279939729,0.2059588781920656,0.15832465712135024,0.11069043605063487,0.0630562149799195,0.015421993909204132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4690016523162357,0.2511306980562124,0.097247074284706,0.0753965836457811,0.060873525114281964,0.04635046658278284,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2411125922722293,0.5319251620679214,0.15219921237213554,0.024898582082027637,0.024921011095904548,0.02494344010978146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018489398529716462,0.19059640976937356,0.7517272838780154,0.039186907822894676,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07222469507842451,0.6381724480864713,0.12961516907357803,0.15998768776152605,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11911120275370167,0.4092687145261195,0.38472864264143375,0.046079064184898974,0.009263183561949013,0.013604125297948714,0.01794506703394842,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18711704820264483,0.06897036480620744,0.042984444198252356,0.24797086233038254,0.45295728046251277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6792883041002407,0.11719814014579573,0.09251799603189179,0.06783785191798786,0.04315770780408393,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07608173414075778,0.6798841594461215,0.2358505717719442,0.008183534641176602,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1592702731891413,0.21159677894062362,0.10278020649570413,0.09456107009039574,0.08634193368508736,0.07812279727977894,0.06990366087447056,0.06168452446916217,0.05346538806385378,0.045246251658545386,0.037027115253237,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6618426962940714,0.3381573037059285,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3718972097888553,0.5482256846048164,0.07987710560632832,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35693708738656393,0.41589423101678114,0.047723254952431654,0.09026791243450871,0.08917751420971458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29014394592641685,0.4819124463975033,0.17387456098725104,0.054069046688828726,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36146772354278855,0.23318168170854678,0.09706628634977127,0.2111434788067763,0.09714082959211719,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3115573662053272,0.6884426337946729,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2749564462065743,0.5665536755410131,0.1584898782524127,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1799920589596595,0.02624140234320781,0.7390721227453014,0.054694415951831284,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01641610143686886,0.10599880101203837,0.854111731232548,0.023473366318544783,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49830421331784797,0.33276807110594936,0.16723192889405067,0.0016957866821520568,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02105799892322043,0.5113008250606348,0.36856643791075927,0.0394803613182033,0.03302491270179521,0.02656946408538712,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21949374401370517,0.14408645906446294,0.30661122095241067,0.20827370647110888,0.10993619198980709,0.011598677508505335,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009037959404088853,0.271749470725214,0.19050180033011793,0.23973752329023237,0.28897324625034687,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15999944930590265,0.4027759327744486,0.14168813321180607,0.1145665283978679,0.08744492358392975,0.06032331876999158,0.03320171395605341,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19202846653546007,0.32984920355848935,0.47812232990605064,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.665510849832503,0.3333333333333333,0.001155816834163738,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03958189022438406,0.9123003018214122,0.021877662142565684,0.026240145811638093,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6020406151640877,0.39795938483591226,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19398945751121544,0.3433509041479743,0.2686701808295949,0.19398945751121544,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23014035279808706,0.5889232238222634,0.18093642337964969,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49624452987746465,0.5037554701225354,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29644889899668186,0.3653696178208869,0.3381814831824313,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13716895449859648,0.1818610953324464,0.6809699501689572,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10891470941158064,0.2815722865795636,0.591913118072,0.01759988593685584,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3816801130761051,0.3333333333333333,0.2849865535905615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38168011307610517,0.33333333333333337,0.2849865535905615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5687854952460929,0.43121450475390705,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5688053460394663,0.43119465396053375,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -shopping,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -shopping,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -shopping,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -shopping,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -shopping,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -shopping,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -shopping,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -shopping,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -shopping,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -shopping,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -shopping,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -shopping,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -shopping,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -shopping,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -shopping,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -shopping,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -shopping,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.3037576383669235,0.6962423616330766,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3069638197276531,0.6930361802723469,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10503703950365094,0.894962960496349,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03813383148689366,0.3644905280322447,0.5973756404808616,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30377107230480294,0.6962289276951972,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12194392745922118,0.8780560725407788,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019980903920108872,0.9056238064545227,0.07439528962536848,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0008209970393025569,0.1919798439815771,0.8071991589791203,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11536759806394162,0.4399877989689797,0.44464460296707875,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008996271306759888,0.34808458465204806,0.6429191440411921,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08104804552820222,0.842168571422754,0.0767833830490438,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5804480299942749,0.27415546785330325,0.1453965021524219,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6790421389180887,0.3209578610819114,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028274809078732966,0.2919434932367384,0.6797816976845288,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020735560209264998,0.32916759589252054,0.3520984877838607,0.29799835611435366,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02692023829835729,0.030867840435978726,0.18963397271766813,0.3598417742976048,0.39273617425039103,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.27304410032267423,0.3333333333333333,0.3936225663439925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006154473336429718,0.07659199606837458,0.24803737922937008,0.6692161513658256,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04034605332585043,0.017378037811550683,0.08866700444152312,0.7464766813674999,0.10713222305357593,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028444446956921724,0.030170651053091063,0.7887912131168969,0.1525936888730904,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014201936668446184,0.4962375250867121,0.4895605382448417,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0014710957507618032,0.23547141977715924,0.763057484472079,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06192234240006606,0.08416321311254679,0.7846968883462514,0.06921755614113584,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019318535877389666,0.02160959166316908,0.1664639403656466,0.7926079320937948,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024053603446367963,0.06560452897554282,0.8449021094126651,0.0452580563895479,0.02018170177587616,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00717137312274435,0.47989612055290676,0.5129325063243488,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011555159093507857,0.10389461327679857,0.2905411356800103,0.473332307897779,0.12067678405190428,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45520645960951034,0.101636596388358,0.33557998653736393,0.10757695746476768,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18144771158952416,0.8185522884104759,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.038959575535396036,0.29805725923228665,0.6629831652323174,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04608326414186911,0.08807559368084454,0.2657306209880666,0.5127279386708888,0.08738258251833082,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03510721865282178,0.024831657693037974,0.014556096733254167,0.004280535773470365,0.1853522704684515,0.30816490988434647,0.4092325815719323,0.018474729222685254,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10728037410193943,0.215711683316185,0.20541020135331964,0.47159774122855597,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01732379473380272,0.012710175042351958,0.005022051135827212,0.404903905618701,0.5600400734693172,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0022100821930209355,0.010121332518335947,0.046551350393624284,0.31084030229295645,0.537842755425745,0.09243417717631745,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1861292627601582,0.017469194330738156,0.5954917513425704,0.2009097915665332,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11398004780429409,0.18049355698123715,0.2470070661581802,0.3159344473011838,0.06542526052057185,0.07715962123453272,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007137273273818472,0.03295022647017389,0.31232698905035594,0.6475855112056517,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008478016909428449,0.0648277831311626,0.20716870000789453,0.5965597976871702,0.12296570226434429,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1924660103866629,0.025161557479380526,0.16344747525687947,0.2815802320554351,0.33734472482164213,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.036537212857989984,0.03520863131133716,0.13422692527513336,0.23324521923892952,0.23356269340555383,0.3272193179110563,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0049323792414991355,0.02522276441369716,0.04551314958589519,0.40993859240302766,0.5143931143558808,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010024607867523376,0.09371055928162399,0.5203294246523814,0.3442628752543735,0.031672532944097824,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026921666082442428,0.057969362369408105,0.13674209843582105,0.36635846319027604,0.3469087580843379,0.05075654668859415,0.014343105149120393,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010445993458545383,0.10905471541849104,0.18349083040732495,0.5375264430716639,0.15948201764397485,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0022871252069466153,0.00393422772179493,0.002607158293712728,0.4617204380940158,0.5294510506835299,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018782385442809264,0.010466871790547439,0.07957563192000267,0.056818985802440006,0.409355279755004,0.35800830866867983,0.06699253662051674,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010242559665902588,0.016815694793851494,0.023388829921800393,0.116073811222581,0.030790031699822966,0.22293324444745033,0.3991191510679757,0.08009476956620079,0.10054190761441484,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08369567188675762,0.41536390025545866,0.11018047500226899,0.11902951164344987,0.12045924126559508,0.12996380879297934,0.02130739115349045,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004188212984419406,0.01563383753726068,0.39334828229363056,0.5868296671846894,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012731605470375575,0.03313784789304697,0.020310639241604332,0.007483430590161701,0.03181636738388208,0.2914888197271723,0.24469928006037936,0.2951746752249966,0.06315733440838114,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029260958148468116,0.05885300491475785,0.23867344295014015,0.15095901631184197,0.08419927438146975,0.25793859443741857,0.10171335722279808,0.07840235163310556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15940477781123735,0.10460969863306886,0.0680851393630176,0.17112478108918883,0.3808281686355185,0.11594743446796883,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012494564068168077,0.02396088237817894,0.4015948033473705,0.5619497502062826,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008290487734634176,0.015957225570547552,0.02362396340646093,0.0036498601793868183,0.011639204556185345,0.01962854893298387,0.2027925947365622,0.18015228946529566,0.4840790255010116,0.05018679991693185,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006294042304447319,0.08840362082836196,0.0160487183627152,0.07453805746382465,0.13302739656493412,0.12985101266442517,0.44004098815527093,0.1117961636560206,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22937116637386779,0.10112343259410096,0.5253203362729468,0.14418506475908444,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03145960936376272,0.5447797526093661,0.42376063802687125,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0048975103168953545,0.055893476885654575,0.10688944345441379,0.157885410023173,0.01741034770088197,0.04285407392117303,0.33402433845268165,0.19751644988465814,0.08262894936046851,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007187465264851677,0.22440236517912282,0.441617265093394,0.03379119908746834,0.019784260417645198,0.07375692182867478,0.057360537682609375,0.13955126693928768,0.0025487185069461844,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10404746528502683,0.4250133515809672,0.07351692056951613,0.3974222625644898,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009703784609606407,0.024294395440725876,0.39749949337179546,0.5685023265778724,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009342943509884622,0.008711401161544651,0.008079858813204678,0.007448316464864706,0.006816774116524734,0.007258187205627384,0.0076996002947300355,0.043562300593613185,0.10475348084490729,0.19007531647658843,0.5948996713285545,0.011352149189955961,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025616672093043726,0.02486571346431311,0.024114754835582498,0.023363796206851885,0.02261283757812127,0.021861878949390654,0.021110920320660042,0.055300838665074306,0.21065225329926332,0.1599247985746028,0.14704308691255813,0.2635324491005383,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007284285754773274,0.03232256843961552,0.05736085112445776,0.0823991338093,0.10743741649414225,0.13247569917898447,0.07164239483743821,0.04995209490667701,0.038223239256711644,0.2118107994734273,0.14030077206596658,0.06879074465850589,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005530060902962615,0.022136395689736642,0.39879983887866277,0.573533704528638,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0067539591859012375,0.0072203564563334075,0.007686753726765577,0.009172722646263851,0.010658691565762124,0.030811922601590245,0.05096515363741837,0.2447781458343374,0.5980288788736172,0.03392341547201063,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024604162541397388,0.021171744361709658,0.017739326182021932,0.014306908002334204,0.020845582235505804,0.0273842564686774,0.21560884540075048,0.17359409029500966,0.472941163279109,0.01180392123348429,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04066410589356339,0.04347218149356302,0.04628025709356266,0.03728434692939031,0.028288436765217966,0.019292526601045613,0.5647326189351748,0.10322325229875162,0.052365946557994335,0.0643963274317364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004546692095676488,0.034844753913198856,0.3673192254150965,0.5932893285760281,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010416272061533055,0.009043644795057268,0.00767101752858148,0.2306744688040088,0.08412422739661309,0.4240121119119167,0.18914400000086243,0.04491425750142724,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017985672527550137,0.013972517884694603,0.009959363241839067,0.005946208598983531,0.16795805300747868,0.26192222465870435,0.09300692639372511,0.4016045707255632,0.0193238291810179,0.008320633780443377,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15908867221099643,0.1156962912420833,0.07230391027317017,0.02891152930425705,0.1627037102344329,0.2964958911646088,0.1537652955783534,0.011034699992098034,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00415361039951914,0.005232590701520878,0.006311571003522615,0.007390551305524353,0.00846953160752609,0.017288839604379623,0.41983593148646026,0.5313173738915469,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011590023749052589,0.011025739554141637,0.010461455359230685,0.01960298922941976,0.014127593280583238,0.008652197331746716,0.3056396860653898,0.15836019939711066,0.41294430990639014,0.04759580612693476,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06913133029413016,0.09366312126339313,0.06296923130914114,0.060736132914817845,0.16935845313585796,0.47864389791922773,0.06549783316343197,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08877508412649011,0.10989987743603534,0.13102467074558058,0.1521494640551258,0.17327425736467103,0.19439905067421626,0.13490798951586874,0.015569606082012412,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.040488837295019044,0.02522314324678637,0.009957449198553693,0.008852044075190916,0.007746638951828142,0.015451055345181916,0.34380752086657623,0.5484733110208637,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09309150259888657,0.07972987703166931,0.06636825146445205,0.0530066258972348,0.03964500033001754,0.02628337476280028,0.01292174919558303,0.009556220436719515,0.02899192011076702,0.0017001036628829405,0.1920040027595446,0.3759993929461507,0.02070197880329158,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1821112973826836,0.1298336372471027,0.07755597711152176,0.025278316975940827,0.02112148169922672,0.01696464642251261,0.012807811145798502,0.008650975869084395,0.015905639575713795,0.021294337704219866,0.02668303583272594,0.20297750421920127,0.2100006422805872,0.04881469653368081,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12276170615626279,0.14868158812239257,0.17460147008852236,0.20052135205465216,0.14182844794711316,0.21160543563105694,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10432629733120215,0.3284451486408685,0.5672285540279295,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01758146448460532,0.0371062965897089,0.05663112869481247,0.07615596079991604,0.09568079290501963,0.07409756541148216,0.14809917399732908,0.3789721845862398,0.11567543253088657,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026064443431570727,0.050049955473204975,0.1090560504834638,0.16806214549372261,0.2478482790194564,0.09874706922260376,0.0564020228446113,0.034516384803016525,0.2092536492283499,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07407215433706758,0.1081541893988548,0.14223622446064202,0.1148414113418539,0.08744659822306579,0.06005178510427767,0.10854735676317095,0.15704292842206422,0.09809160088144571,0.049515751067557366,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004082058565052594,0.20751009675269683,0.7884078446822506,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0073900450473893785,0.006891725483770389,0.006393405920151399,0.005895086356532409,0.00539676679291342,0.00489844722929443,0.00440012766567544,0.0039018081020564506,0.0034034885384374614,0.0029051689748184717,0.002406849411199483,0.020034110415814103,0.048968141298314824,0.07790217218081555,0.6771355992049128,0.1220770573779039,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09093884955826076,0.08218194971586527,0.0734250498734698,0.06466815003107432,0.11136764437667722,0.15806713872228012,0.09712996689508088,0.32222125082729164,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09315492138144005,0.09682634411484296,0.10049776684824588,0.10416918958164881,0.10784061231505172,0.11151203504845465,0.11518345778185758,0.11885488051526048,0.0902718909761528,0.061688901437045134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03873185357441621,0.32892362186578766,0.6323445245597962,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0026378865698878594,0.012135234259866508,0.02163258194984516,0.03112992963982381,0.04062727732980246,0.014344499832505799,0.015584200712017082,0.016823901591528367,0.01677438329055259,0.016724864989576815,0.016675346688601038,0.016625828387625264,0.01657631008664949,0.016526791785673713,0.01647727348469794,0.016427755183722165,0.019984616567422838,0.13795328528093803,0.5231304168112612,0.031207615558001868,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028795708215800644,0.06797677627746135,0.10715784433912208,0.015773084820433093,0.36875216091162877,0.3182852608270576,0.0932591646084965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02427536283726037,0.05487873419540023,0.08548210555354009,0.11608547691167993,0.1466888482698198,0.16867342735607554,0.19065800644233133,0.13463868162540799,0.07861935680848463,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015064236852112507,0.020628076324958437,0.02619191579780437,0.0384479800157107,0.37352384434693287,0.5261439466624812,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013700883230365996,0.010267984395605698,0.006835085560845403,0.003402186726085108,0.014950778910592802,0.026499371095100498,0.04490849507879804,0.10900424952645968,0.23606722332976265,0.37688300199397695,0.1574807401524072,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017308622561367934,0.004298056186231005,0.04149246316497832,0.07868687014372563,0.11588127712247297,0.15307568410122027,0.019495210874514897,0.20003033963663885,0.0917993837415836,0.09364349207151505,0.09548760040144652,0.08880099999430498,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22456303642944486,0.1753769060641739,0.12619077569890286,0.07700464533363184,0.027818514968360866,0.034038223910768446,0.04025793285317602,0.0692539605501782,0.09824998824718037,0.12724601594418253,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004342867258743734,0.01473492677042164,0.6340156695389368,0.3469065364318978,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006480455616767085,0.010775891582704797,0.01507132754864251,0.01936676351458022,0.023662199480517933,0.08194221037245598,0.14022222126439404,0.07584502564310618,0.3530439143776289,0.2735899905992023,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.043510303539474326,0.15299474595320525,0.5217283980113828,0.14109222998276483,0.14067432251317277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05514574637641007,0.47267064779734436,0.31495141787452996,0.15723218795171556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12541248039722566,0.3408582742759417,0.5337292453268326,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.065006866548985,0.026829949609520766,0.051939077940103044,0.07704820627068533,0.10215733460126762,0.1272664629318499,0.03696680312528703,0.5127852989723013,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02398000288914388,0.03894131735735004,0.053902631825556185,0.06886394629376234,0.0838252607619685,0.09878657523017466,0.1137478896983808,0.07909453390664715,0.04444117811491349,0.009787822323179842,0.06899871809474377,0.1282096138663077,0.1874205096378716,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23325705464234253,0.7667429453576575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1291346305731353,0.22216908797827556,0.44039801866108513,0.208298262787504,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11449287157880253,0.10726961104676039,0.10004635051471823,0.0928230899826761,0.3107184533762595,0.2746496235007832,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10515568827443468,0.12935574622414409,0.19717014339273026,0.1933048087144803,0.18943947403623035,0.18557413935798042,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09166059411680237,0.13176351085805157,0.1718664275993008,0.15216260229624737,0.132458776993194,0.11275495169014058,0.0909329985861142,0.06911104548208781,0.04728909237806141,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3522622548893185,0.2840874182964395,0.21591258170356054,0.14773774511068155,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10354736151700428,0.1184014562525641,0.13325555098812392,0.14810964572368374,0.16296374045924356,0.3337222450593805,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12476535691748769,0.11511996689785402,0.10547457687822036,0.09582918685858668,0.08618379683895301,0.07653840681931934,0.06689301679968568,0.057247626780052005,0.03459286995377877,0.011938113127505543,0.11260769093520595,0.04652884935072842,0.06628054184262247,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23485112377891745,0.17289228054709865,0.11093343731527987,0.04897459408346108,0.16044105278623466,0.27190751148900827,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023590741126387507,0.11312624776160456,0.11567622193234656,0.11822619610308856,0.12077617027383056,0.12332614444457257,0.1258761186153146,0.12842609278605657,0.1309760669567986,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03836399462343457,0.17945466487447817,0.3205453351255218,0.4616360053765654,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02806250045213312,0.028375889087845142,0.028689277723557165,0.029002666359269187,0.029316054994981206,0.02962944363069323,0.0665281894012629,0.10342693517183257,0.14032568094240225,0.17722442671297192,0.2141231724835416,0.11313964517435045,0.012156117865159287,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006649548808074928,0.007892547466331307,0.009135546124587685,0.010378544782844062,0.01162154344110044,0.012864542099356818,0.014107540757613196,0.015350539415869575,0.02317957935760493,0.03100861929934029,0.03883765924107564,0.046666699182811,0.05449573912454636,0.06232477906628171,0.07015381900801707,0.07798285894975243,0.08581189889148778,0.09364093883322315,0.1014699787749585,0.10929901871669385,0.11712805865842922,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0876738674990943,0.9123261325009057,0.0,0.0,0.0,0.0 -shopping,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -shopping,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -shopping,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -shopping,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2739793659168087,0.7260206340831913,0.0,0.0,0.0 -shopping,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0276474604399953,0.07547787306341132,0.07319278995666141,0.0709077068499115,0.0686226237431616,0.06633754063641169,0.06405245752966178,0.06176737442291186,0.05948229131616195,0.05719720820941204,0.054912125102662135,0.05262704199591223,0.05034195888916231,0.048056875782412405,0.0457717926756625,0.04348670956891258,0.041201626462162674,0.03891654335541277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0879738428107302,0.08492996050443541,0.08188607819814062,0.07884219589184582,0.07579831358555103,0.07275443127925625,0.06971054897296144,0.06666666666666668,0.06362278436037189,0.060578902054077094,0.0575350197477823,0.05449113744148751,0.051447255135192715,0.04840337282889793,0.045359490522603144,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -shopping,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -shopping,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -shopping,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -shopping,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -shopping,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -shopping,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -shopping,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -shopping,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -school,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,3,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2818511858080679,0.7181488141919321,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.11058352584059877,0.07958612567288173,0.1013923635778153,0.015972693107552973,0.5950849235820954,0.027694633396076765,0.02925807386295882,0.040427660960020186,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12826790763475898,0.21099654839198428,0.19267148343251625,0.17434641847304821,0.15602135351358018,0.13769628855411215,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.33151546871631776,0.22940509438578208,0.021822585925921408,0.051219193135622475,0.076322488183034,0.05174536267245475,0.02716823716187549,0.014608619484500622,0.03350144031046892,0.06159421912494342,0.015589196063039247,0.015206954084839457,0.014824712106639664,0.014442470128439872,0.01406022815024008,0.013677986172040288,0.013295744193840496,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016197193016760467,0.2233583459659262,0.10540652143843719,0.06060634436194851,0.04983680824416763,0.1386599846989618,0.10058016017195391,0.06250033564494603,0.02442051111793814,0.07287817331296938,0.06069835699414982,0.04851854067533026,0.03633872435651069,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02609989708865102,0.07543354176379541,0.12476718643893978,0.17410083111408417,0.22343447578922856,0.19986618119817656,0.17629788660712453,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45525364083906916,0.3610457454267236,0.015997040182738707,0.03808760807989651,0.021747351223511707,0.005407094367126908,0.008030458534126221,0.010653822701125531,0.013277186868124843,0.022578448784974156,0.01824707272282162,0.013915696660669089,0.009584320598516556,0.005252944536364024,0.0009215684742114916,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2566616801270992,0.2379890001995515,0.0022951041584293487,0.023682801166938897,0.04507049817544844,0.066458195183958,0.08784589219246754,0.10923358920097709,0.009901255012145442,0.05833871243306912,0.10252327214991559,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4128675406454507,0.003452103691048744,0.030260091001391987,0.05706807831173522,0.08387606562207846,0.1106840529324217,0.13749204024276496,0.16430002755310819,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5366031264884923,0.2795309076545796,0.04444471947666817,0.01836968968895909,0.014934238796906507,0.011498787904853924,0.008063337012801342,0.008973225454169335,0.009883113895537327,0.009830151622618438,0.009777189349699553,0.009724227076780665,0.009671264803861778,0.00961830253094289,0.009565340258024005,0.009512377985105118,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026140454662651302,0.37960304048473104,0.5079553959328509,0.025426271242503733,0.060874837677263184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4819337114284658,0.3132897364349169,0.05945565177025674,0.033283942379280784,0.007112232988304835,0.007254897612874508,0.0073975622374441805,0.007540226862013853,0.007682891486583526,0.008442495286361177,0.00920209908613883,0.009961702885916484,0.010721306685694135,0.011480910485471786,0.01224051428524944,0.013000118085027091,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2503982860233734,0.14447405182640438,0.13183032595536306,0.1447980523434914,0.15776577873161973,0.17073350511974808,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5542229460813417,0.32220543898528964,0.030690291488154515,0.0240357438624788,0.021306004275760806,0.018576264689042808,0.015846525102324812,0.013116785515606818,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03194679263553198,0.06033430915696272,0.08872182567839347,0.1171093421998242,0.14549685872125492,0.17388437524268566,0.14142334991948025,0.1089623245962748,0.0765012992730694,0.04404027394986399,0.011579248626658583,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22365185364165507,0.18408400309729422,0.16220694494893287,0.14032988680057149,0.11845282865221013,0.09657577050384876,0.07469871235548739,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29985108678332073,0.24992554339166037,0.2,0.15007445660833965,0.10014891321667926,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23356354207201832,0.3333333333333333,0.43310312459464834,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6068215335998088,0.3931784664001911,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5527822792497566,0.4472177207502433,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6119782310047526,0.1314216469106583,0.25660012208458916,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6251890696747548,0.2737103054665126,0.10110062485873252,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4013101721747066,0.0896402988474801,0.5090495289778133,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -school,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -school,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -school,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -school,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -school,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -school,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -school,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -school,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -school,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -school,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -school,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -school,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -school,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -school,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -school,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -school,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -school,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -school,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -school,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -school,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -school,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -school,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -school,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -school,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.47352199887274865,0.3333333333333333,0.193144667793918,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2265071409044229,0.7734928590955772,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6709709184860514,0.32902908151394855,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04883002931405867,0.3333333333333333,0.617836637352608,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4301727187324444,0.5698272812675556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03176670845743299,0.47402429215902553,0.4942089993835415,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2414529844275035,0.22707719464809575,0.21270140486868808,0.21779535825168925,0.1009730578040234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32677363228920947,0.26338681614460474,0.2,0.13661318385539528,0.07322636771079055,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03008147598968754,0.3479724526347148,0.6219460713755977,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15537747056470144,0.486618752945054,0.3580037764902446,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08210168120392775,0.0780377625354119,0.8398605562606604,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15903892861728677,0.17546929912131778,0.1918996696253488,0.47359210263604673,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20335346542731483,0.7966465345726852,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22461481533138425,0.32941069261586353,0.4342065699003428,0.011767922152409582,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0029322865525383463,0.13756691666640605,0.8595007967810556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.045209342999609506,0.05073625441221526,0.18057826979890165,0.02547223301851511,0.4844397962421965,0.21356410352856192,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18969764432807723,0.3333333333333333,0.47696902233858945,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00041222420977636847,0.46035715085767503,0.5392306249325486,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07097433287259963,0.32354898076263466,0.1789423647502748,0.03433574873791493,0.011016310942824507,0.298003412391938,0.08317884954181344,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.141015634553003,0.05695357957400074,0.3906171363754078,0.26734359529099877,0.14407005420658975,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007039427245711745,0.032991473767025374,0.5021842606776492,0.4577848383096137,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005812445698130788,0.005652911948300391,0.005493378198469995,0.0053338444486395985,0.007186853384667511,0.009039862320695424,0.04628862004289779,0.7524374786411125,0.16275460531708597,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11440591744182688,0.24603052981023554,0.05826840239585932,0.07104968705785086,0.08383097171984238,0.19313450092330892,0.23327999065107616,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07841073603527235,0.12301480475440954,0.1676188734735467,0.21222294219268387,0.41873264354408757,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004096125736257044,0.055355706744831645,0.46401770926167824,0.4765304582572331,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01170691111431512,0.009174293015742388,0.0066416749171696555,0.01197933670897809,0.017316998500786523,0.006846559326385787,0.04359295816205855,0.1617638784744105,0.4843626130592402,0.2466147767209131,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01981002070804753,0.019466694974116728,0.01912336924018592,0.01878004350625512,0.018436717772324314,0.04950188602920741,0.4179959147074396,0.034000960765486546,0.3496110936338403,0.053273298663096436,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04400533671654739,0.1645560038218327,0.14585519267287067,0.12715438152390862,0.5184290852648407,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0022870270012829157,0.05501842173331473,0.5805967421078463,0.3620978091575561,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00524902585920168,0.01605690585893415,0.005453048171349235,0.009888412400368689,0.014323776629388144,0.028334982937404884,0.07399834935192047,0.3077889723597929,0.45941388097107483,0.07949264546056503,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018091880679990572,0.07495179962552315,0.13181171857105572,0.09654346560329762,0.061275212635539505,0.026006959667781396,0.02199120452044451,0.017975449373107626,0.36086508783379156,0.16385811856513474,0.02662910292433365,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2576555355037073,0.18871583345597645,0.11977613140824561,0.0508364293605148,0.05634284645858422,0.06184926355665364,0.20958367854529653,0.055240281711021404,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02235972028818698,0.0768395737825199,0.48217477882577275,0.4186259271035205,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002479276653643766,0.019300876204258726,0.03612247575487369,0.04171146187773657,0.1587695200659839,0.3745126059424869,0.297302518556588,0.06980126494442844,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005166301832651571,0.006818729143865242,0.007571587840139235,0.00832444653641323,0.009077305232687224,0.022113758544750662,0.0351502118568141,0.04818666516887754,0.36406892715532013,0.3338424564733747,0.15967961021510643,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6618086067652329,0.3381913932347671,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009052480404580426,0.09901174819901805,0.3274879378174599,0.5644478335789417,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0015793794676430125,0.0026893451688234393,0.003799310870003867,0.004909276571184294,0.006019242272364721,0.023886109760846933,0.04175297724932915,0.059619844737811366,0.20072700116702732,0.17845922681822024,0.15352050014187338,0.3172621512144746,0.005775634560397601,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0188743274099831,0.01917152480196855,0.019468722193954003,0.008091512039036896,0.016863968491302322,0.025636424943567746,0.03440888139583317,0.04152525423073168,0.048641627065630196,0.22606597796504568,0.5079672340782238,0.006622782249035717,0.026661763135687043,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013038885482039134,0.04161962129733327,0.0702003571126274,0.09878109292792153,0.12736182874321567,0.1559425645585098,0.18452330037380393,0.04393660854516645,0.2645957409593829,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017895283003659578,0.016205683836619834,0.40155658755964035,0.5643424456000802,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005117656726520782,0.004444954517141831,0.003772252307762881,0.0030995500983839307,0.0024268478890049805,0.06900585343036612,0.1461053988872447,0.21087182975205782,0.13028966064606015,0.21263737716688286,0.20548096376783723,0.006747654810736772,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3391304625998636,0.2524277525597956,0.06611660177164577,0.08369985852351532,0.16705483530647072,0.09157048923870899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13242284331854018,0.30757517789829625,0.2884262152205797,0.2715757635625839,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0009094221053919893,0.004397855660136797,0.0038221056744183273,0.03625352676778054,0.06868494786114276,0.47882881354183776,0.40710332838929175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027130948467335055,0.2186740687526978,0.12382352469031926,0.059419427497312806,0.12722077155588252,0.12943237525514675,0.23904792602979905,0.07525095775150671,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01665887692358114,0.028383763662432487,0.04010865040128383,0.05183353714013518,0.06355842387898651,0.07528331061783787,0.0870081973566892,0.01757165072929507,0.07249618561214953,0.025561242309187094,0.19858746034389,0.025393662873135252,0.04003539914956215,0.25751963900183455,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015828456037401052,0.5633403438211161,0.010263276544924003,0.41056792359655886,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006279597473878532,0.011104363946770689,0.01592913041966285,0.020753896892555003,0.02557866336544716,0.04104100514578349,0.35260926100928053,0.5267040817466216,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02949219714600516,0.05067097482319982,0.02270919348331476,0.25594776399401825,0.07097521786903851,0.13678179558281828,0.15154920852760467,0.12249650528386308,0.15937714329013744,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1456646438776425,0.08835198191847789,0.024057995222602577,0.06735504410628693,0.1749226687482569,0.11116118826276207,0.12535973200112868,0.12110967499545001,0.08054534214887545,0.06147172871851696,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15091317478703486,0.13162266203120487,0.11233214927537485,0.09304163651954486,0.07375112376371486,0.05446061100788486,0.03517009825205486,0.004422881519091177,0.07106264060569857,0.03152171730648826,0.07719394341106214,0.122866169515636,0.024869112719539593,0.016772079285670188,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009403934260162023,0.05550357622047421,0.6009535323477281,0.3341389571716357,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07657331702350827,0.05099091468433489,0.025408512345161522,0.026087874174005713,0.05564389184830252,0.005769203994042881,0.052997348453567523,0.23598738466974395,0.3674714372860313,0.05522558202029602,0.0478445335010054,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007742154349294331,0.009558658368134599,0.011375162386974868,0.013191666405815134,0.03131440225682916,0.04943713810784319,0.1471319715534783,0.07950500912725712,0.011878046701035953,0.026998254725327853,0.29179159058680704,0.03152075653653588,0.21789928312908033,0.07065590576558631,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015199583172786107,0.08930548547628933,0.16341138777979256,0.23751729008329578,0.311623192386799,0.005394707621074667,0.017511005713065304,0.029627303805055943,0.041743601897046574,0.007255930057065792,0.08141051200772886,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09629874778992305,0.1741369712801537,0.2519751947703844,0.4775890861595389,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002490082377879992,0.094253672310728,0.005644847941095551,0.04973643887966865,0.002919795955689633,0.25196770754150416,0.06885567367511208,0.11710301946306158,0.055099377041002234,0.3107799526195079,0.04114943219475028,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11730684737722408,0.049377396157869506,0.061664140703523905,0.15905460625839346,0.06491561013793162,0.23844021130761675,0.07373976143203712,0.11789107217667252,0.08141902479512213,0.006377107471022662,0.009296904574264787,0.02051731760832142,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014233413873508616,0.014874380230628466,0.015515346587748318,0.01615631294486817,0.01679727930198802,0.01743824565910787,0.05389215305309327,0.6616014377629816,0.010018897643903494,0.025683698849612097,0.05614414881741393,0.04434618862123132,0.0325482284250487,0.02075026822886609,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0022845074700082336,0.2952953266408407,0.7024201658891511,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002508665896042338,0.004610813189318323,0.0815284237900529,0.0856922438289129,0.01632087433253366,0.003419433470190225,0.056611365651642764,0.13809087100381906,0.0326777873429489,0.2724500217794007,0.2386281300758698,0.06746136963926845,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00903679412747618,0.0059435873745003,0.12300663467457035,0.026756037433178954,0.08024799543265698,0.322579404348431,0.008834160692636154,0.010669030322316397,0.3212993985565629,0.07815680761873275,0.013470149418937925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04576340005503302,0.032361793571254543,0.01896018708747606,0.005558580603697577,0.1601521133090876,0.3147456460144776,0.22749584409150003,0.14024604216852246,0.05299624024554487,0.0017201528534062228,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37659894860239623,0.6234010513976038,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05119003035722745,0.22179744372682864,0.037524491196927585,0.042807414622095835,0.04809033804726409,0.05337326147243234,0.0586561848976006,0.047504984549813174,0.03525487538371171,0.25285249975131396,0.034811239170525726,0.01841567768610925,0.09772155913814953,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05306610349675704,0.012352678661650362,0.031096667912965652,0.05423448543917871,0.027332473609624475,0.10254317565106948,0.04064168770508412,0.5626391688250544,0.0821359250882487,0.03395763361036718,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3459843021851387,0.6540156978148612,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05015448201610547,0.2616466518149612,0.6881988661689333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06024433244573882,0.10429135625996763,0.02078427326911868,0.028409901480789257,0.014302403929986891,0.010301506404079695,0.0063006088781724975,0.04601868431510113,0.08573675975202977,0.023533149430413465,0.09452572846673231,0.04267168396175015,0.057852464807105194,0.4050271465990145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08554790268100909,0.0058031316487298,0.030191168323848945,0.05457920499896809,0.07896724167408724,0.01317312889974188,0.08728683946089338,0.19118813303243204,0.29508942660397064,0.07388913081056729,0.018215652081901814,0.028094897288583866,0.03797414249526592,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021741141726270362,0.07957474361246661,0.13740834549866285,0.1952419473848591,0.11896766619203886,0.042693384999218646,0.0774141445593997,0.14553960533383486,0.14553960533383486,0.03587941535941426,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06821982475252104,0.027227887554475392,0.23355347677694974,0.4398790659994241,0.2311197449166298,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031981060772018385,0.0063432096402407006,0.023794821200927425,0.04124643276161414,0.26111055857831816,0.107345845358316,0.06310498782012437,0.018864130281932737,0.04472274678884759,0.06288534344482741,0.08104794010080722,0.09921053675678705,0.11737313341276685,0.040969253082471846,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022798478106743982,0.07064583813074604,0.11849319815474811,0.16634055817875015,0.2141879182027522,0.16251818688090583,0.11084845555905941,0.13416736678629423,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4776892719313542,0.5223107280686459,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08769958092740283,0.12094360887819973,0.33047686257990894,0.46087994761448847,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05666805761583078,0.033780816958996616,0.010893576302162445,0.201684988635498,0.02863241244035699,0.00703259264186441,0.03628603176679347,0.06553947089172253,0.1260167442369904,0.18649401758225828,0.24697129092752615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025172620736375863,0.47258817878858506,0.33063401560900946,0.17160518486602966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005021935273483521,0.034775054696614245,0.06452817411974497,0.09428129354287569,0.08956132002644329,0.08484134651001089,0.0801213729935785,0.0754013994771461,0.07068142596071371,0.0659614524442813,0.06142913308160768,0.05689681371893406,0.05236449435626044,0.047832174993586815,0.043299855630913195,0.038767536268239575,0.03423521690556595,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13777947335844176,0.1394720298580088,0.14116458635757584,0.14285714285714285,0.1445496993567099,0.14624225585627693,0.14793481235584394,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -school,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -school,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -school,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -school,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -school,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -school,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -school,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -school,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -school,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -school,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -school,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -school,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -school,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -school,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -school,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -school,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -school,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -school,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -school,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -school,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othmaint,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,2,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,2,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,2,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,4,2,0.0,0.0,0.0,0.0,0.08251411197460912,0.19417137065820306,0.305828629341797,0.4174858880253909,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,4,3,0.0,0.0,0.0,0.0,0.0,0.4553276068862396,0.5446723931137604,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,4,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,5,2,0.0,0.0,0.0,0.0,0.10340357292994391,0.5192398186617763,0.2988654756900187,0.07849113271826108,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,0.21642572510150793,0.3333333333333333,0.4502409415651587,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3246385876522619,0.675361412347738,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0877158767547373,0.06295614058088753,0.010014429412199804,0.025579690837062623,0.03723284808514445,0.006445926628235455,0.028184087025615985,0.049167664426746444,0.07015124182787688,0.09113481922900735,0.0839974595876953,0.07686009994638326,0.06972274030507122,0.0625853806637592,0.05544802102244716,0.04831066138113512,0.04117330173982308,0.034035942098511046,0.026898582457199015,0.01976122281588697,0.012623863174574933,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,0.17944605609475578,0.30268233348736534,0.14059820873437814,0.17262387013929298,0.2046495315442078,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23864642010493725,0.21932321005246863,0.2,0.1806767899475314,0.16135357989506277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.24691334280879146,0.31682806348063924,0.0333056810660552,0.20625653872670474,0.019825531189556087,0.01980264567573657,0.04204032075867305,0.024614917646595107,0.09041295864724855,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05234272743082279,0.15023213223044377,0.09316096501912792,0.03608979780781204,0.059485093657714504,0.0419428920035115,0.15467290957241514,0.06729410192515205,0.13697867238709013,0.10312278752119677,0.06926690265530343,0.03541101778941009,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03844497301085298,0.04917418774463303,0.0599034024784131,0.07063261721219316,0.08136183194597323,0.12202661747476223,0.16269140300355125,0.13919133851509286,0.11569127402663447,0.09219120953817606,0.06869114504971767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.187460055666847,0.19505678721262326,0.10500221544710032,0.03846243014494431,0.04341858207750715,0.005525496224083488,0.07324714598242765,0.07913101631390328,0.0850148866453789,0.09089875697685453,0.09678262730833015,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1588087904074573,0.12051459784232706,0.2273519238396892,0.1444127145237128,0.07515744544325392,0.06221516858372633,0.049272891724198756,0.05168085713470515,0.05408882254521156,0.056496787955717956,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07564663355228222,0.06092909433733657,0.15644049212024144,0.17045619420538505,0.18447189629052863,0.11650499335914645,0.04853809042776427,0.01946967225231578,0.03765865836865781,0.05584764448499985,0.07403663060134187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26272100339229687,0.2839091795655378,0.09011756775921716,0.05275368611237646,0.1063459575598336,0.024751375240267423,0.03351459455848556,0.042277813876703686,0.03309760591849404,0.07051121601678746,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05650902447927385,0.11746368150398533,0.2129700594262251,0.11749488780127951,0.11997232907628545,0.1224497703512914,0.017685001908120352,0.04416385955589572,0.040410976650566616,0.05704313458414847,0.05029346974902557,0.04354380491390267,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05597386975639376,0.03216210422910778,0.03326445798232534,0.03436681173554291,0.21574864223204052,0.16071757738622405,0.10568651254040756,0.05065544769459107,0.1161680457524106,0.07013089642878773,0.024093747105164855,0.041708544754056234,0.059323342402947614,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22557719074563945,0.21108084358544132,0.19229939008034075,0.18871502991848363,0.07007094583577944,0.005541899759262995,0.03757872594577759,0.03333648173868321,0.021709225460276003,0.010081969181868796,0.0040082977484469,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.054688839629106964,0.007997498095042476,0.2698290627361823,0.1818753926975084,0.09392172265883454,0.00596805262016064,0.01488130979750696,0.19359606558809547,0.12361270725521924,0.05362934892234301,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5435245978379936,0.18343629155182314,0.13722466421094212,0.09101303687006111,0.04480140952918009,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2068115931992799,0.2983812727193874,0.10765904413996653,0.07808046738782638,0.16526542446580228,0.051389301229914974,0.032466268831899465,0.013543236433883946,0.009992639009652821,0.009089142845260972,0.008185646680869123,0.007282150516477271,0.006378654352085421,0.005475158187693571,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05593721764628834,0.09462720271813119,0.11935975714324189,0.22285832337300254,0.14741097793007757,0.06817084927407586,0.010401454362311019,0.01919085402992932,0.027980253697547613,0.00747952624336653,0.04471490486055312,0.04003148859975324,0.035348072338953346,0.03066465607815346,0.025981239817353573,0.02129782355655369,0.016614407295753805,0.011930991034953913,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08618001856989686,0.0628520301817701,0.039524041793643334,0.013220890870046834,0.049131906211347054,0.03149052104775539,0.17916986588782852,0.13162885647982356,0.08408784707181863,0.03654683766381368,0.02844187365389837,0.02737037143238013,0.02629886921086189,0.02522736698934365,0.024155864767825407,0.023084362546307167,0.022012860324788927,0.020941358103270684,0.019869855881752444,0.018798353660234204,0.01772685143871596,0.01665534921719772,0.015583846995679483,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1754752079209222,0.4111965047562206,0.0941254192591993,0.021699020559910406,0.04591201592943075,0.01147556018734366,0.044024341537435,0.03983354421753481,0.03532215621452717,0.03081076821151952,0.02629938020851188,0.021787992205504234,0.01727660420249659,0.01276521619948895,0.008253828196481306,0.0037424401934736604,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0689509429777137,0.1475963413302792,0.20539443491313217,0.31573029454373214,0.09115742080267829,0.023098179077228456,0.05682249261729345,0.09124989373794257,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16697594103813845,0.009971398203320067,0.3805968678228374,0.11617943158917109,0.0985541043460853,0.0809287771029995,0.09607934974699192,0.03872323480924616,0.011990895341209914,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35116033959684684,0.39971431656642376,0.11558974088210872,0.06650607280309401,0.018686594235887297,0.012410729238593458,0.006134864241299618,0.005577962563147893,0.0050210608849961666,0.0044641592068444405,0.0039072575286927145,0.004911386593585914,0.005915515658479113,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45562893493592116,0.263249799777858,0.04914049916699397,0.09428391744417226,0.008094907288224384,0.023559869807296418,0.021878100889951433,0.02019633197260645,0.018514563055261467,0.016832794137916482,0.015151025220571497,0.013469256303226514,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07949547737776456,0.16603668071243527,0.2814316139135398,0.05842672991828158,0.07670488250396185,0.09466987718098374,0.11263487185800566,0.13059986653502756,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2076755278432567,0.2895227384186399,0.06825098293528709,0.06559470960953107,0.0694965768875938,0.0958129535795121,0.008618382073380094,0.003655186238238315,0.030043351082637337,0.05643151592703636,0.04569877053099937,0.03496602513496238,0.024233279738925383,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03254041192066724,0.09775852015118007,0.2867204742956459,0.015675972907500238,0.20910599334298802,0.017951357159450305,0.11628209094748643,0.04110323174887287,0.02205006074613802,0.009131882685749515,0.15168000409432136,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.145893813986235,0.11752124273663088,0.08914867148702676,0.26969667718357676,0.057982940273714714,0.08046864619471326,0.1029543521157118,0.13633365602239086,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23642025195353736,0.5459299550998712,0.08105964528610135,0.03726710423069601,0.04564684526542535,0.019706926458661782,0.016402484985127568,0.00917825271691755,0.00838853400366181,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01034558626505543,0.25967490272113175,0.17914794773788417,0.08350274146677045,0.08301477859025679,0.04290050694733451,0.002786235304412239,0.04358161264712252,0.0843769899898328,0.03894875295901966,0.03741383166409176,0.03587891036916386,0.03434398907423597,0.032809067779308074,0.03127414648438017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1941636098361409,0.008758743236944868,0.12538335848255405,0.10701613062213305,0.08864890276171203,0.07028167490129102,0.08274376295669701,0.09520585101210301,0.10766793906750899,0.120130027122915,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09167178175891046,0.5547572746363142,0.1901165812675589,0.05326554063840934,0.009036368763930734,0.09865172323446947,0.0025007297004070368,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.038111475977021234,0.12749177549108606,0.14995693927014705,0.040766561001864474,0.04380571936558279,0.016650990316383275,0.03331740482935586,0.049983819342328435,0.06665023385530103,0.0833166483682736,0.09998306288124618,0.11664947739421877,0.13331589190719134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08534363871396966,0.24445735716565187,0.4035710756173341,0.07574664661197159,0.11139078180030662,0.02540500031782112,0.054085499772944946,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28073309695581167,0.5154605676399941,0.07214150768072228,0.012188881017817772,0.1010210984724866,0.0020654248487539393,0.0037642829884459226,0.005463141128137907,0.00716199926782989,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4281209309614634,0.3038920833054325,0.10998761039772927,0.05853769416306649,0.0070877779284037245,0.013490057081432706,0.01989233623446169,0.02629461538749067,0.032696894540519654,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17357879502256712,0.1552149216277041,0.13685104823284105,0.11848717483797802,0.10012330144311499,0.08175942804825195,0.07245418990770544,0.06314895176715896,0.05384371362661245,0.044538475486065945,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20759390248879178,0.5451283045310695,0.1383195618531615,0.04735579322666318,0.018638550132154846,0.02070581129965195,0.014321295922719727,0.007936780545787503,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0502800245946755,0.03729884730090046,0.36473618550924525,0.31214275640589906,0.051857732773215204,0.02310316895462508,0.08510067784086082,0.05352709482047984,0.021953511800098857,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07449467125553492,0.3357915128663388,0.26044628930761593,0.185101065748893,0.10975584219017014,0.03441061863144726,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41292805286783046,0.2883207933586006,0.1394209464348691,0.03678570070677184,0.12254450663192802,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5650891290379553,0.1680862990862289,0.06844461456240081,0.04934233898960453,0.04951077254877066,0.049679206107936795,0.049847639667102935,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04202532850614832,0.06710439217869378,0.04701174280228375,0.2156526020865768,0.18564879701947104,0.15564499195236525,0.12564118688525944,0.09563738181815368,0.06563357675104789,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6655689976108264,0.3333333333333333,0.0010976690558402089,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24048775012208126,0.19868534560292045,0.32142217912627313,0.019286749825987992,0.041086604942411016,0.03787287831030912,0.03465915167820721,0.031445425046105306,0.028231698414003407,0.025017971781901502,0.0218042451497996,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20605185536129925,0.13995053856438128,0.13774683200431623,0.39430603549907717,0.02038015861883152,0.10156457995209457,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08234654046879847,0.24897887434197769,0.016627738190819065,0.3784647826535078,0.05899340726427828,0.029821156423959962,0.045705161654756445,0.061589166885552944,0.07747317211634944,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29555053939590253,0.30661361722785074,0.16842038511733182,0.031379495848086525,0.012920169455161,0.012754663063484923,0.03510418651377288,0.057453709964060844,0.07980323341434879,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026236180264828626,0.2405639084320377,0.46880177694438085,0.13493672991075512,0.12946140444799772,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3282014888950339,0.26544525775989064,0.20268902662474733,0.13545108444835846,0.06821314227196956,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6242561295769649,0.3386326749624276,0.03711119546060755,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6443690301958319,0.2564870766943367,0.09914389310983153,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6049757983243805,0.3950242016756194,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34206961345516007,0.6079768647260113,0.016262403728876523,0.01374638821276361,0.011230372696650698,0.008714357180537783,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08500120429632037,0.4967342120248824,0.12293676754319306,0.058199532464718214,0.052862917649602825,0.04752630283448742,0.042189688019372035,0.03685307320425664,0.031516458389141244,0.026179843574025856,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.46735992257116626,0.3224533075237221,0.17754669247627794,0.032640077428833764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20336542853984085,0.48125346435882244,0.30214524893126743,0.013235858170069314,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09762898763661358,0.2573208645634319,0.058377147604443076,0.32754057834984396,0.17383987633807269,0.020139174326301374,0.020928482360032898,0.021717790393764418,0.02250709842749594,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2300959773070196,0.05610542447287373,0.24763388900513775,0.4391623535374018,0.02700235567756713,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12269581584813527,0.8028988217095129,0.07440536244235182,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30786343014085943,0.4994055966797014,0.19273097317943919,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5183664267478437,0.3333333333333333,0.14830023991882302,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18458183718451315,0.7401956636967079,0.003873625768166768,0.06575286642247533,0.0055960069281368804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5986174073171815,0.2408599972550717,0.13379419756093952,0.02672839786680728,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.46774765170619126,0.4717712243218646,0.024116179076441015,0.03636494489550314,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3078014498690916,0.4156185183325294,0.23073285004363617,0.045847181754743,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5230777651168956,0.4769222348831044,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3754118044721874,0.3922179532369998,0.23237024229081282,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18810628625653603,0.2508150865840604,0.5610786271594036,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20957460739832354,0.1653116053561075,0.12104860331389151,0.5040651839316774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37618202633165476,0.2838209451675753,0.33999702850077007,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16456196408726353,0.6773385670796749,0.15809946883306167,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2257488755088557,0.36793545936773947,0.40631566512340483,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3016429969694315,0.5513081139465085,0.14704888908406016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6704840630725919,0.2281824613032204,0.022440790863974245,0.0788926847602134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4281567758547282,0.5718432241452718,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7454454860547013,0.2545545139452987,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.478698357591346,0.521301642408654,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othmaint,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othmaint,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othmaint,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othmaint,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othmaint,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -othmaint,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -othmaint,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -othmaint,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -othmaint,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -othmaint,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -othmaint,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -othmaint,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -othmaint,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othmaint,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othmaint,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othmaint,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othmaint,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othmaint,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othmaint,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othmaint,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,6,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,7,1,0.0,0.0,0.0,0.0,0.18814204945621585,0.3333333333333333,0.47852461721045086,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.8030953019310698,0.1969046980689302,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7414461830924897,0.25855381690751034,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1460061225703778,0.8539938774296223,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03906186092168556,0.30680410094559285,0.6541340381327216,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011718299891892766,0.2763676973729294,0.7119140027351779,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14279305311559973,0.6992923771312145,0.1579145697531859,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004111170642511999,0.3846994334240152,0.6111893959334728,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.27001478776560295,0.5032914156334254,0.22669379660097172,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0030910105878413155,0.002799268161452818,0.00250752573506432,0.002215783308675822,0.0019240408822873245,0.38249252566630787,0.6049698456583703,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37000440823397573,0.2577277663695286,0.37226782539649567,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2563051383157974,0.5533247367847239,0.19037012489947874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7053790318023804,0.29462096819761974,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0019744109828073457,0.016949662986412956,0.43144928388655307,0.5496266421442267,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016593359769754623,0.04466157319721613,0.48993653501452333,0.37291977341269406,0.0758887586058119,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1986273782870537,0.38013666578216077,0.2909129948742474,0.13032296105653818,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005209389758411423,0.006901552001112399,0.32664459798952317,0.6612444602509531,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06922770552253141,0.2134471667067467,0.4281518261743917,0.28917330159633026,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05694528185076065,0.04147951734730208,0.026013752843843517,0.04896608198810448,0.46231888838952323,0.33582527326717293,0.028451204313293087,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16591207169011565,0.7546723445339762,0.07941558377590811,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0012719052745416492,0.03977296505432849,0.576077161833628,0.3828779678375018,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03270043430906702,0.10173825695512823,0.24471725570417532,0.5224744840899358,0.09836956894169364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20685867556229445,0.4027203798788832,0.2040523166548149,0.18636862790400754,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10271994407225417,0.5341302852824752,0.3631497706452706,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003251258718114069,0.005617191568341598,0.007983124418569127,0.03309839595982315,0.4499371812354143,0.5001128480997377,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01835392658690944,0.012450128092540303,0.006546329598171165,0.14041245600547622,0.2923339656622764,0.4955550800680794,0.0343481139865473,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2996927461192991,0.2914773665746146,0.3411682199443326,0.06766166736175368,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05845831849151903,0.24028072797847094,0.4221031374654229,0.2791578160645873,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014092553421454263,0.04816316463111656,0.48644318661366986,0.45130109533375934,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08522159760797395,0.024999919535110833,0.010000717855472265,0.08422636689628812,0.23396547438319593,0.45555059012036414,0.10603533360159485,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06508234963534018,0.04535109962426682,0.025619849613193458,0.2640382691568761,0.41054195586160314,0.15307550513989687,0.0362909709688235,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04951342976866197,0.3718147848126838,0.3337153476450882,0.11049603071989986,0.1344604070536661,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005353854436017624,0.05083178231439873,0.05106920700407235,0.4524306917869304,0.4403144644585809,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012568501713858971,0.020019328186200582,0.02747015465854219,0.0349209811308838,0.1281660718894895,0.23309637104985734,0.4189909638672378,0.12476762750392979,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04217516605154881,0.057481119563196334,0.07278707307484386,0.0880930265864914,0.15063797586349492,0.34605452490196925,0.17480422861838066,0.06796688534007475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.27629067651270534,0.2394500244043621,0.4842592990829327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002221444508753992,0.01616148924112702,0.094451693065688,0.434935368437368,0.452230004747063,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006569995770985614,0.004428533335812799,0.08480398018756194,0.26868787936282224,0.34576420344935477,0.20723798812686092,0.0825074197666018,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01296464330035067,0.019431511915681883,0.12796516251327822,0.12038114156421421,0.32403248652446454,0.21674864025422566,0.1784764139277847,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01792011576845662,0.06208672015339636,0.1062533245383361,0.15041992892327583,0.03809564431008291,0.30789565418224935,0.09302162593642888,0.1874045193083271,0.036902466879446885,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003235564656425117,0.004059647865136972,0.004883731073848827,0.005707814282560683,0.009376716397792549,0.05769416148958721,0.3998346149627327,0.5152077492719161,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0071726385759043705,0.006622610393140245,0.11288778176588511,0.04664972554363386,0.13764948978101244,0.36923180450724463,0.2772828582344299,0.04250309119874959,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016048896218461176,0.03013883289662701,0.04422876957479284,0.05831870625295868,0.25801809433483547,0.37468065947759205,0.08704532084439774,0.13152072040033494,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027512933811721808,0.03363867443387706,0.11011937594350217,0.5562285735635365,0.034064125978050516,0.18266553472105468,0.05577078154825726,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0018711775879847318,0.008523750748782012,0.010751717326866457,0.02122959968228724,0.11121343910404836,0.39961212291552406,0.4467981926345071,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0039809191906446315,0.014099470355290855,0.02421802151993708,0.0683948802551518,0.1344713597255731,0.1426732278980772,0.5812363003995857,0.030925820655739712,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03331514945719014,0.005329026415862597,0.1227610101634701,0.08799501808596004,0.11977914009061238,0.5599269658664612,0.07089368992044365,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007748431576673687,0.00648749543936361,0.005226559302053534,0.02479608996237307,0.1367766596516194,0.19324897707285799,0.32666205889650346,0.2990537280985553,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0011421886912808123,0.0022750961327755092,0.0034080035742702066,0.013252699403840648,0.02858823440863841,0.05098560969266228,0.4398365112910658,0.46051165680546635,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013304807789220639,0.03483393803383822,0.035909799971495314,0.11869562635252902,0.08277072235477378,0.24798580935842027,0.462030370539622,0.004468925600100787,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02376908405429902,0.04148133021901569,0.05919357638373238,0.13435610447864868,0.1301319681220956,0.1838195905506085,0.10931583186363945,0.21840164033885306,0.09953087398910763,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20738581664125652,0.03664573248996271,0.04172851151687138,0.05458240397670125,0.3106519686547585,0.0916314367175493,0.2002505937223371,0.057123536280563214,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008896659989733753,0.0008106061011133527,0.0010670772088978153,0.001323548316682278,0.0015800194244667404,0.0018364905322512028,0.0017268182365334976,0.001617145940815792,0.0015074736450980868,0.05982758615124016,0.39816856039185405,0.5216380140613134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008996395106685718,0.022382357584461898,0.012339507421560958,0.009079526231841549,0.0654251394630445,0.15731473205772087,0.18856619111517983,0.43788173311094597,0.09801441790855868,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025178665775238963,0.04729960344379564,0.002356272354193297,0.13534608716995253,0.10258795702320934,0.11604589090388041,0.21080310440473107,0.36038241892499884,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0068411562930526075,0.10800977315445119,0.22220392296105196,0.005071684131950922,0.08143894381236849,0.16261693001006536,0.08038752486773086,0.3334300647693287,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03344378219719876,0.026866065331058783,0.07040583259081826,0.48194475919000535,0.3873395606909189,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003801462802344575,0.0028943385776815872,0.001987214353018599,0.0010800901283556106,0.02087234041608295,0.009129398056238164,0.020797398024527416,0.013266181008164155,0.05819878959959165,0.1276647690510187,0.31353318349491865,0.3427775032892052,0.0839973311988529,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.033252808300469054,0.029543664507201785,0.03784575808773295,0.046147851668264114,0.014114586348376973,0.13600525620971912,0.04673923591872109,0.11195381467237484,0.19878562785598355,0.27153594254955077,0.05181531737724905,0.022260136504356764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024262114539690512,0.052692531436250224,0.06470515135301619,0.10932377838139777,0.10704287529491929,0.17890879565051035,0.18934346663425225,0.15435491778140525,0.11936636892855827,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006053458059793587,0.037772677674435574,0.022617962696599558,0.007463247718763545,0.08193134440490334,0.37888883385361644,0.465272475591888,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001200194505678895,0.002142876762019731,0.003085559018360567,0.003108587640181487,0.0031316162620024074,0.003154644883823328,0.0031776735056442485,0.02298312489275052,0.03243740789021975,0.050306506690275324,0.17234908505080468,0.20219775127877482,0.28941324903394877,0.21131172258551553,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005924325625237814,0.01988856592937344,0.033852806233509065,0.047817046537644695,0.06178128684178032,0.03456126961442606,0.0073412523870717995,0.03454922536409121,0.038914163555698406,0.05039527146450916,0.09641764947756301,0.07601637611189824,0.16897345940686756,0.323567301450329,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13391789707153173,0.06985033461845441,0.005782772165377069,0.053993876364141546,0.054367033328449665,0.053292092685866946,0.11725007206220496,0.1503866603184519,0.2697309441487835,0.07989092661457484,0.011537390622163345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014697870992410348,0.005784583113275807,0.01889597354449021,0.06014764709413824,0.48769672163529637,0.41277720362038905,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001117061876608237,0.005553742736376234,0.009990423596144233,0.01442710445591223,0.00416689684216162,0.026081562754801644,0.047996228667441666,0.06819403102061676,0.0015822980921750658,0.05149862431134258,0.02357798951197528,0.10851105297124357,0.2801522688420516,0.23203367073028075,0.12511704359086864,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016221208133358277,0.029170171892430683,0.003377407719398701,0.022477407098078276,0.08301847925366398,0.09395007480185141,0.05583007008505986,0.036996944151528585,0.1207305437148142,0.21104780787433902,0.10985059253190989,0.21732929274356705,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019279993107393367,0.10710515873535675,0.07180865257712939,0.03787655979974105,0.003944467022352705,0.05771572968018896,0.44589928175194055,0.1741872663479892,0.08218289097790815,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0013045506656333293,0.022999955438425288,0.06988008707374721,0.49703946202490973,0.40877594479728435,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.049641886937836645,0.06485394960214345,0.01054206590041185,0.036159177640203335,0.017761670773606582,0.09962245903996725,0.08919510978226165,0.11249794162709666,0.2578788294699805,0.21723216886150792,0.044614740364984314,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14666399442576072,0.1402561938207772,0.010751874512273309,0.01482902625216663,0.1984320936067995,0.01957827948346152,0.11311038160744949,0.11427849746710017,0.1477905533750072,0.06236861879411428,0.03194048665509008,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006362869336904934,0.010136022095299334,0.013909174853693732,0.01768232761208813,0.021455480370482533,0.07129524209158307,0.04994994483459023,0.17098321485750503,0.16068258751758796,0.15038196017767091,0.061974759370397474,0.15626205693308,0.039595502072518336,0.05920163789685102,0.005579347307107501,0.004547872672639853,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003156893410151791,0.01539168726158279,0.027626481113013787,0.043752865385778106,0.13060216459324184,0.496255313062491,0.2832145951737405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009362068994872288,0.009910361492654507,0.025818547238421346,0.018542256915277493,0.006192456677157952,0.06936491452103992,0.09078753567477497,0.1736471712756763,0.32341830844485986,0.2490449117453256,0.023911467019939802,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015253920563101039,0.01734829095140272,0.0194426613397044,0.028208512702923263,0.007732651137986171,0.05312809580471804,0.11563584746658268,0.04387532725200658,0.04618950581949503,0.100915627695279,0.15564174957106294,0.06991750140350364,0.3081526955992089,0.018557612693025517,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019200174799962152,0.04579024098480264,0.20204626534531056,0.12465229586447808,0.04725832638364561,0.04125743612273031,0.035256545861815,0.0292556556008997,0.08402593149907742,0.17073248276161623,0.20052464477566231,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004100543198560938,0.011576373608166025,0.057556167084768,0.04392898341172154,0.16297002964866683,0.3389579626165197,0.3809099404315969,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006895373125020818,0.01184834669751427,0.02189955013756038,0.031950753577606496,0.024344741736817523,0.13707203448520286,0.0332776307149174,0.03480799299800823,0.16505811950879215,0.22829288269631942,0.25505272315002625,0.049499851172214136,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01331449750441225,0.15426115820681183,0.10084727562244192,0.04743339303807202,0.023822402385287843,0.011712569006320441,0.0325994160135087,0.021377933644737477,0.022937486281917746,0.06978910906438544,0.19175303621656664,0.09318005064798796,0.21697167236754966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02982464615399378,0.07678704126850915,0.09482206161283911,0.1128570819571691,0.08563231393612793,0.05840754591508675,0.08477919232701116,0.11115083873893557,0.281788056065831,0.03478709497992229,0.029164127044574086,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010279413725647892,0.03271759607102003,0.07386224918245629,0.5395624119749622,0.34357832904591357,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014060553257933912,0.012812037898189653,0.011563522538445394,0.010315007178701133,0.009066491818956874,0.0030467584658390493,0.007527220440274812,0.009216746490126472,0.048125300971609705,0.12369904063615442,0.09452507663553657,0.18442801654000895,0.16731009648577516,0.2337152391191476,0.0705888915233004,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01650714495891469,0.01635564080363008,0.016204136648345472,0.016052632493060867,0.015901128337776255,0.01574962418249165,0.015598120027207042,0.015446615871922436,0.015295111716637826,0.01514360756135322,0.01499210340606861,0.014840599250784004,0.0146890950954994,0.01453759094021479,0.014448172984987448,0.010622794532878557,0.02891452998932037,0.012749034158327609,0.07510594596379395,0.14669295632897555,0.21975999303442825,0.09600875856840745,0.11150892359266736,0.06687573955230712,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005217365882865623,0.01391897774416689,0.017584757400855397,0.051515178397679016,0.03724090923347928,0.022966640069279544,0.04724630937840804,0.24327461076760137,0.035512691737243626,0.23856605050106236,0.1569765742612637,0.07538709802146504,0.054592836604630025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009952104879236237,0.00751984057633343,0.005087576273430623,0.002655311970527815,0.005328245959978006,0.008001179949428196,0.07099581783765038,0.5204343163908465,0.3700256061625688,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0015362879858057323,0.0015578140186248352,0.0015793400514439381,0.0016008660842630408,0.0016223921170821437,0.0016439181499012467,0.0020639530620795224,0.002483987974257798,0.019874187279285655,0.008768638833857173,0.07036464790822407,0.11093268061308093,0.07164308142011476,0.31011306435209185,0.32071498353240757,0.0735001566174797,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06273813888746534,0.08594034981351202,0.10914256073955872,0.07404620196163529,0.03894984318371187,0.12108744220257694,0.07997305271387505,0.020784987450749567,0.1440060886710293,0.26333133437588585,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008515856188299909,0.10132304262805399,0.09393984784872157,0.08655665306938916,0.038281662772794454,0.03618539761861302,0.034089132464431585,0.6011084074096963,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0059105150143989255,0.005211681919841845,0.004512848825284765,0.0038140157307276854,0.0031151826361706055,0.0024163495416135252,0.0017175164470564453,0.001018683352499365,0.008408360743176616,0.009528699113689238,0.02342975425960364,0.04169506196223676,0.3966823092394524,0.4925390212142482,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018110305692000582,0.02075011517088262,0.023389924649764655,0.026029734128646693,0.028669543607528727,0.031309353086410766,0.033949162565292804,0.03658897204417484,0.03384296470232274,0.031096957360470634,0.028350950018618534,0.0628357410044171,0.05574759488054363,0.02555920754610205,0.19656577780922838,0.27859243684535,0.06861125888824532,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03122930767687022,0.033604535127655155,0.03597976257844008,0.03835499002922502,0.04073021748000995,0.03323420846564394,0.025738199451277942,0.01824219043691194,0.010746181422545934,0.0032501724081799286,0.004788046773441346,0.060325816177862805,0.03654188179605468,0.05558148684528954,0.15905273919339807,0.3738958244844022,0.03870443965279116,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.048848207807632466,0.04945660271365498,0.0500649976196775,0.05067339252570001,0.05128178743172252,0.05189018233774503,0.052498577243767545,0.05310697214979006,0.05371536705581258,0.052839241470542045,0.05321817884158052,0.03839151634541094,0.02356485384924137,0.009981650711084268,0.24879033588266883,0.013911443063807075,0.037226045337989774,0.060540647612172475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0034998920984917153,0.003531745208663175,0.0035635983188346348,0.0035954514290060945,0.003627304539177554,0.003659157649349014,0.0036910107595204736,0.0037228638696919334,0.003754716979863393,0.003786570090034853,0.0038184232002063125,0.008590061786535264,0.05318429979531184,0.051618815933729176,0.3627713785258771,0.48358470981570767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008616208264667457,0.008566044680420975,0.008515881096174491,0.008465717511928008,0.008415553927681526,0.008365390343435045,0.008315226759188561,0.008265063174942078,0.012013758966258068,0.018915434870542792,0.025817110774827515,0.012427824204253812,0.02201153758738606,0.04555235517449719,0.08803769248048078,0.4858662224104216,0.08913687423798392,0.11680588950222186,0.015890214032688185,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028538202646196432,0.02529042732271302,0.022042651999229605,0.018794876675746197,0.015547101352262784,0.01229932602877937,0.009051550705295959,0.0058037753818125475,0.007342618207805931,0.008881461033799314,0.0104203038597927,0.011959146685786081,0.015549590237805534,0.027390583365531122,0.03923157649325672,0.051072569620982305,0.0032166113144076925,0.003788443358215155,0.4582844625260734,0.10493693663310603,0.05381179036304471,0.06259765300595697,0.004148341182400326,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008343521773058847,0.010485187459810398,0.01262685314656195,0.014909675927860454,0.017192498709158954,0.009727276049726116,0.0131812403057675,0.016635204561808885,0.050996802614955226,0.08535840066810158,0.6188442602003162,0.0642050699670376,0.014013865905601969,0.053832403175892975,0.009647739534341228,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007373770821427729,0.023908887659757808,0.01668432475894998,0.13952362702703705,0.38392166115640247,0.4285877285764251,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02215220814036823,0.023433505458302212,0.1124378659395947,0.019451944725702244,0.13761635684281193,0.05675617975817877,0.1956179021841774,0.30142703227963263,0.10993356953178486,0.02117343513944714,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02744719910988627,0.02824098053297181,0.02903476195605735,0.02722988203630843,0.15257056479029496,0.06084629568319994,0.21075024624391514,0.17269331877257915,0.1346363913012432,0.09657946382990718,0.035898480414789026,0.02407241532884767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09001860151880285,0.05064891635420555,0.011279231189608252,0.39314071937858397,0.030767124938950997,0.021583977047539123,0.06013308145193544,0.34242834812037387,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10046852670589371,0.00389777250702522,0.004877569044764075,0.005857365582502931,0.04223554016132604,0.008540878442605274,0.4033298335449215,0.43079251401096136,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1388299321597422,0.01284547273502692,0.18802498780635574,0.01677670564359577,0.01490649078574859,0.03239248457456958,0.40209740209738004,0.16483187947117484,0.029294644726406364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004570747225610163,0.03251775158273582,0.06046475593986148,0.08841176029698714,0.10350096186228727,0.11859016342758742,0.13367936499288754,0.12370520046007495,0.11373103592726237,0.0154897194009082,0.03481513136192794,0.1705234075218697,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011307671098409923,0.04298185140237726,0.0746560317063446,0.10633021201031193,0.13800439231427927,0.13019190543615491,0.12237941855803054,0.11456693167990616,0.1067544448017818,0.09894195792365743,0.015739202469246615,0.03814598059949955,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0063336162454602956,0.17517758990567023,0.5602931892336868,0.25819560461518265,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007891756163563097,0.02337194230651479,0.038852128449466485,0.054332314592418184,0.06981250073536988,0.17947346241436468,0.021158272823322177,0.07590366261769203,0.05815067730330242,0.040397691988912805,0.007588840631447356,0.01616119976222805,0.3061526120945425,0.1007529381168554,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007360091387833659,0.17406362173252296,0.1553787138914199,0.13669380605031686,0.11800889820921383,0.09932399036811076,0.08063908252700772,0.061954174685904674,0.00499489085980759,0.022953887728118294,0.04091288459642899,0.0588718814647397,0.03884407649857509,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012457715069040013,0.08348854921117288,0.15451938335330576,0.15298187905996924,0.15144437476663278,0.14990687047329626,0.14836936617995977,0.14683186188662328,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013079516619096497,0.01697133794050146,0.09182834593516614,0.6478159005252203,0.23030489898001547,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08967250767975561,0.025121741942512644,0.022246213218098575,0.06382306863281041,0.05217057673118021,0.040518084829550015,0.028865592927919813,0.2501985270421158,0.2038647286787718,0.1575309303154278,0.06598802800185721,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.045276151459396535,0.04289802710305098,0.04051990274670542,0.03814177839035987,0.03576365403401432,0.03338552967766876,0.24215536275897964,0.45092519584029056,0.07093439798953395,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016969164390857692,0.025032435637641254,0.19970993031953124,0.7582884696519698,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03611509285831577,0.05193606325847542,0.049490836010063814,0.0470456087616522,0.0446003815132406,0.06942103053149863,0.04616649256868033,0.19537835025431802,0.3445902079399557,0.1152559363037994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06269562885384669,0.07389110910146147,0.08508658934907624,0.05916717368519077,0.0730685791054821,0.05103649380678607,0.06333541236055204,0.07563433091431801,0.08082853279776445,0.08602273468121087,0.0912169365646573,0.09641113844810374,0.10160534033155016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09941363708103153,0.09187115421479607,0.08432867134856062,0.07678618848232516,0.06924370561608971,0.061701222749854255,0.06472789636622436,0.06775456998259446,0.07078124359896457,0.07380791721533467,0.07683459083170477,0.07986126444807487,0.08288793806444497,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03784973235771185,0.036620758701108064,0.03539178504450428,0.03416281138790049,0.032933837731296704,0.031704864074692925,0.12726882056114674,0.3753835405259502,0.2886838496156887,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2846228288756114,0.10049760336414829,0.07677038817438991,0.053043172984631556,0.10736592092585227,0.161688668867073,0.2160114168082937,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02588721704406414,0.030876599322006437,0.035865981599948735,0.2345180633956552,0.19955348045586446,0.16458889751607372,0.12962431457628296,0.09465973163649222,0.059695148696701464,0.024730565756910725,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.058891573883600744,0.1667889162983482,0.15063823325685743,0.1344875502153667,0.11833686717387602,0.1021861841323853,0.08603550109089457,0.06988481804940384,0.05373413500791314,0.03758345196642241,0.021432768924931667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7671527704276866,0.2328472295723134,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07723627633414205,0.06655936486339221,0.05588245339264236,0.04520554192189251,0.03452863045114266,0.023851718980392813,0.013174807509642969,0.03297800276970075,0.05278119802975852,0.0725843932898163,0.09238758854987408,0.11219078380993187,0.13199397906998964,0.07914649381815561,0.0262990085663216,0.08319975864320417,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18022468569889774,0.8197753143011023,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8284623832788831,0.17153761672111692,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14167371196191392,0.13725989129267374,0.1328460706234336,0.12843224995419342,0.12401842928495325,0.11960460861571308,0.11519078794647292,0.10097425032064612,0.0,0.0,0.0,0.0 -othmaint,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023022753552078674,0.03460489884219633,0.04618704413231399,0.05916518534051912,0.07214332654872425,0.08512146775692939,0.08003200249805499,0.07494253723918061,0.06985307198030621,0.06476360672143182,0.05967414146255744,0.05458467620368304,0.04949521094480865,0.04440574568593426,0.03931628042705987,0.035723390328988004,0.03213050023091614,0.028537610132844275,0.024944720034772407,0.02135182993670054,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othmaint,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othmaint,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othmaint,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022311857005135764,0.028648258385354463,0.03498465976557316,0.041321061145791864,0.047657462526010566,0.05399386390622927,0.060330265286447964,0.06666666666666667,0.07300306804688536,0.07933946942710406,0.08567587080732277,0.09201227218754147,0.09834867356776017,0.10468507494797887,0.11102147632819757,0.0,0.0,0.0 -othmaint,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0445377443228595,0.06261822168839037,0.08069869905392124,0.09877917641945211,0.09028832551622515,0.08179747461299818,0.07330662370977122,0.06481577280654424,0.056324921903317275,0.052192480979529866,0.04806004005574245,0.043927599131955035,0.03979515820816762,0.0356627172843802,0.031530276360592795,0.027397835436805382,0.02326539451301797,0.019132953589230554,0.01500051266544314,0.010868071741655733,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06363877028947357,0.06644583314446932,0.0692528959994651,0.07205995885446087,0.07486702170945664,0.0776740845644524,0.08048114741944819,0.07457641509224884,0.06867168276504951,0.06276695043785017,0.056862218110650835,0.05095748578345151,0.04505275345625217,0.039148021129052836,0.033243288801853496,0.02733855647465416,0.021433824147454823,0.015529091820255492,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.47193900914891224,0.5280609908510878,0.0,0.0 -othmaint,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.038712615202482065,0.028329572829032007,0.01794653045558195,0.00756348808213189,0.009983235013663912,0.012402981945195934,0.014822728876727958,0.017242475808259983,0.019662222739792002,0.022081969671324024,0.02450171660285605,0.02692146353438807,0.029341210465920097,0.03176095739745211,0.03418070432898414,0.03660045126051616,0.03902019819204819,0.04143994512358021,0.043859692055112226,0.04627943898664425,0.04869918591817628,0.0511189328497083,0.05353867978124032,0.05595842671277235,0.058378173644304365,0.06079792057583638,0.06321766750736842,0.06563741443890043,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009840482473440913,0.013618338988001582,0.017396195502562255,0.021174052017122927,0.024951908531683598,0.028729765046244266,0.03250762156080494,0.036285478075365606,0.040063334589926274,0.043841191104486955,0.047619047619047616,0.051396904133608284,0.055174760648168966,0.05895261716272963,0.0627304736772903,0.06650833019185097,0.07028618670641164,0.0740640432209723,0.07784189973553299,0.08161975625009366,0.08539761276465432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -othmaint,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07708819399182375,0.8429855257342007,0.07992628027397555 -othmaint,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025763405017451835,0.03525248420676535,0.04474156339607886,0.05423064258539238,0.06371972177470589,0.052531853116484756,0.041343984458263636,0.030156115800042498,0.030006367851650603,0.029856619903258712,0.029706871954866817,0.029557124006474922,0.02940737605808303,0.02925762810969114,0.02910788016129924,0.02895813221290735,0.028808384264515458,0.028658636316123563,0.02850888836773167,0.028359140419339776,0.02820939247094788,0.02805964452255599,0.027909896574164098,0.0277601486257722,0.02761040067738031,0.027460652728988413,0.027310904780596522,0.02716115683220463,0.027011408883812732,0.02686166093542084,0.02671191298702895,0.0 -othmaint,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othmaint,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,5,2,0.0,0.0,0.0,0.0,0.031751934515880424,0.9682480654841197,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.17032285402499478,0.04225409142521806,0.08066426458679786,0.11907443774837764,0.15748461090995744,0.19589478407153724,0.234304957233117,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.13685299190411948,0.08540190088181362,0.033950809859507755,0.05966935453557978,0.08538789921165181,0.11110644388772384,0.13682498856379585,0.1625435332398679,0.1882620779159399,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.07074790344729151,0.2538234476135568,0.005517578147069041,0.11673633040516744,0.11470253629590597,0.11266874218664451,0.11063494807738303,0.10860115396812156,0.1065673598588601,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41817903563032727,0.43067963959304234,0.15114132477663056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032479835173468585,0.2546435906993765,0.02208892009478977,0.0417981365196412,0.006389356527158556,0.10506284484967657,0.03657515312505515,0.01258780552034809,0.07903041759520642,0.07210386784871942,0.06517731810223241,0.058250768355745414,0.05132421860925841,0.04439766886277141,0.03747111911628442,0.03054456936979741,0.023618019623310407,0.016691469876823403,0.009764920130336406,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018631844329463267,0.07158854411581861,0.12454524390217395,0.17750194368852928,0.23045864347488462,0.20257747465467163,0.17469630583445867,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22186922170014417,0.2674877941232583,0.05028850396060141,0.010820086524444597,0.06316034100665982,0.05038362367343527,0.03760690634021071,0.024830189006986154,0.0120534716737616,0.01979290492253837,0.019846649768660154,0.01990039461478194,0.019954139460903724,0.020007884307025506,0.02006162915314729,0.020115373999269073,0.020169118845390858,0.020222863691512643,0.020276608537634425,0.02033035338375621,0.020384098229877995,0.02043784307599978,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26053064594775455,0.03164182752219579,0.06276568386345904,0.0030518761385755857,0.1852037335852751,0.022378395723772922,0.020721170014529906,0.04618078417380475,0.03192319078976239,0.01766559740572003,0.03656908497096439,0.05547257253620874,0.04967212359244144,0.04387167464867414,0.038071225704906834,0.03227077676113954,0.026470327817372238,0.020669878873604934,0.01486942992983764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1699466281817992,0.09561685481654109,0.02128708145128296,0.0020531537217789975,0.008554124569485608,0.015055095417192218,0.013940194622316509,0.12459605751740957,0.10121408909567703,0.07783212067394447,0.05445015225221193,0.03106818383047938,0.03231839642050648,0.033568609010533594,0.03481882160056069,0.0360690341905878,0.037319246780614906,0.03223230824354843,0.027145369706481955,0.022058431169415475,0.016971492632348997,0.011884554095282522,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15280096603779877,0.5304792914538425,0.17179768464697703,0.03801378461401535,0.012936682175015196,0.0041984634640748275,0.020336441002556816,0.036474418541038806,0.023145562201906476,0.009816705862774146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21091190522658154,0.5137696488718677,0.1305689690977883,0.1342152408675754,0.010534235936186926,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8885812312979011,0.014215801975455388,0.07071862064874675,0.026484346077896802,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.392392980733672,0.28193173429248936,0.20215283505538378,0.009751512228118186,0.004499464601265974,0.00890130302376533,0.10037017006530542,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2311167071751989,0.13219350665526272,0.06281045369463786,0.05137712431434401,0.03994379493405016,0.02270234397780812,0.033753608180655835,0.04480487238350355,0.05585613658635127,0.12709919622817958,0.1983422558700079,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09147359527580143,0.15864935481512324,0.14442132962553506,0.09717861897808054,0.04993590833062599,0.055845299459976135,0.06966360580862178,0.08348191215726744,0.09730021850591308,0.08311679184965609,0.06893336519339911,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35376119268330397,0.46781355837285404,0.05760693117238653,0.036786395524606094,0.015965859876825646,0.013629576111869721,0.028189735050720484,0.0103202555016127,0.008748917069144525,0.00717757863667635,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03265357241376605,0.3523731920988302,0.43334416166143624,0.015134359903382256,0.020924230612982878,0.07716864866120912,0.04285591595526289,0.008543183249316652,0.017002735443813543,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03461003564584761,0.32719238750687024,0.039545583347533234,0.03023747512929959,0.35540321809784553,0.18947150612348307,0.023539794149120663,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1468424431970819,0.30102139869084416,0.05043381973386156,0.037328829861095154,0.03305200727033197,0.0287751846795688,0.18417451128267595,0.09774313070180977,0.011311750120943605,0.014828961711414873,0.01834617330188614,0.021863384892357413,0.025380596482828678,0.028897808073299946,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04676972916634739,0.01984257379908864,0.0021161722590718646,0.010169089024701174,0.004889469257949018,0.11142468231435515,0.2179598953707613,0.18200133013234646,0.14604276489393164,0.11008419965551682,0.07412563441710199,0.038167069178687146,0.0022085039402723237,0.034198886589869075,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3610447828187589,0.25711100840111484,0.15317723398347083,0.11469977945784465,0.07622232493221846,0.037744870406592274,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24096591472033757,0.2030864086036905,0.2513618744190085,0.11292555261109775,0.06369513129245304,0.12796511835341268,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16471364513644454,0.15333008439252818,0.0689270740804195,0.11134847131838053,0.02418425160317105,0.10478294075928535,0.15916549115635203,0.21354804155341872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07877267611187957,0.08215999949370306,0.08554732287552655,0.08838996216750354,0.09123260145948053,0.09407524075145753,0.09691788004343452,0.06991159609644547,0.04290531214945643,0.01589902820246739,0.05031424420934123,0.08472946021621508,0.11914467622308893,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5539474933722065,0.3283369235017958,0.03360432052223066,0.03741593155066581,0.04669533105310132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20696139950651768,0.15076693438704375,0.09457246926756982,0.059479953195273896,0.14411162870531566,0.2287433042153574,0.0367033916370657,0.07866091908585611,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05990671690733508,0.09949316127391641,0.13907960564049773,0.17866605000707908,0.15396766441613083,0.12926927882518258,0.10457089323423434,0.0798725076432861,0.05517412205233785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4745592657481185,0.1442153121823844,0.12445833346562375,0.08029960757823362,0.036140881690843486,0.0414582074012211,0.046775533111598724,0.05209285882197634,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23867932273087733,0.18394037005964692,0.4188819367497591,0.15849837045971676,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1217355481684114,0.09790604370323067,0.07407653923804994,0.05024703477286921,0.037112850774833096,0.08415990879916042,0.13120696682348773,0.17825402484781508,0.2253010828721424,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32655510993838555,0.13223982602719694,0.09676794900861556,0.03256450781808162,0.042873344022806896,0.053182180227532155,0.06349101643225744,0.0737998526369827,0.08410868884170798,0.09441752504643323,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02928864731963616,0.23318426615876073,0.056312633779267665,0.0630941022875264,0.06987557079578514,0.07665703930404388,0.08343850781230261,0.0632941653507843,0.04314982288926601,0.023005480427747707,0.05461936752635376,0.08623325462495982,0.11784714172356588,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08153723831780572,0.06452685058769903,0.060514644379194515,0.07372245709565663,0.08693026981211875,0.10013808252858086,0.11334589524504297,0.12655370796150509,0.1397615206779672,0.1529693333944293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25605333050653545,0.3096363841537036,0.05745638207052895,0.14477009511325364,0.23208380815597834,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12030502492376005,0.16015251246188003,0.19999999999999998,0.23984748753811994,0.2796949750762399,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1115366342244243,0.19151064070200266,0.014424282814649077,0.023939575345901,0.033454867877152926,0.041420650166283185,0.05191239294148335,0.06240413571668351,0.07289587849188368,0.08338762126708384,0.093879364042284,0.10437110681748417,0.11486284959268432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41773532603100155,0.5822646739689985,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11084175410240663,0.4581920416789278,0.03163604302430618,0.017541690270097197,0.0034473375158882084,0.003792186966715026,0.004137036417541844,0.004481885868368661,0.004826735319195479,0.005171584770022296,0.014354619320482992,0.11864390135551026,0.2229331833905375,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8874172670208454,0.029870531788149825,0.037527577659718224,0.045184623531286626,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8274937967934014,0.031194078966259607,0.033908702801621005,0.03662332663698241,0.039337950472343806,0.023593364933911853,0.007848779395479899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.044104181821633726,0.1494521482738447,0.3355123284107949,0.11018834288303837,0.02864181389501367,0.03627278062575618,0.043903747356498685,0.05153471408724119,0.05916568081798369,0.0667966475487262,0.07442761427946872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08349999930517689,0.9165000006948231,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5022987838453455,0.47188216158747404,0.005164491269901776,0.004079528892264171,0.0029945665146265676,0.004150719059117393,0.009429748831270447,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028378166247076946,0.49590834638908493,0.24621688771267444,0.044987133471350894,0.06602576252140809,0.0527601652037715,0.03949456788613492,0.026228970568498332,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4503892359801097,0.14852527094368909,0.12575588016753947,0.10298648939138987,0.08021709861524023,0.057447707839090624,0.03467831706294102,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17132802870965688,0.5274287926040496,0.00440829809124006,0.188378363470496,0.09741388632600224,0.006449409181508498,0.004593221617046794,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07493352058679062,0.3170881254293178,0.11956419262890343,0.3006641455824013,0.15517412153398524,0.009684097485569157,0.02289179675303245,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.229569522947386,0.12837647958081924,0.17697226213200282,0.2255680446831864,0.15270297078436076,0.07983789688553516,0.006972822986709557,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013605074510886783,0.6912107682153137,0.07777490734486782,0.08221178280598065,0.06363880259014883,0.045065822374317006,0.026492842158485182,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7921939809975214,0.021087899938542085,0.025305052294872774,0.16141306676906378,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18184512599527042,0.8181548740047296,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29412023963323425,0.27514033514908887,0.05665743518614721,0.04016954265217699,0.2764559173131364,0.024894578097848452,0.01915217668873875,0.013409775279629044,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05872394224128767,0.0717592631132457,0.1839040815603308,0.04917758457172034,0.08915452406951771,0.21214504283780514,0.3351355616060926,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7405065559914191,0.25949344400858093,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06449424612739452,0.2428271228429911,0.4215191296818575,0.23089287700987146,0.040266624337885415,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010680701291189462,0.07196947911114145,0.019081013129575202,0.7503564231024947,0.013335840199462408,0.06215884418389441,0.04485884772204558,0.027558851260196745,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07729014132367676,0.17685648158402553,0.2764228218443743,0.21644983679684104,0.1564768517493078,0.09650386670177458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027159482546833227,0.7039667001621386,0.09125226712592198,0.15410614388371346,0.023515406281392703,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4458323436956409,0.09223650345251738,0.17731030037699444,0.24472863536046915,0.039892217114378174,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09433449612027744,0.23828399749287407,0.36807010657858036,0.08725287479230098,0.027707587794067165,0.05413390900613083,0.0805602302181945,0.04965679799757463,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8258880238367611,0.08677919994857687,0.08733277621466205,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2005187878431594,0.31303024589453443,0.1797329288927901,0.25324631137828635,0.018472041773142194,0.03499968421808735,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03147824563814513,0.15420581852718007,0.3958729267627987,0.4184430090718761,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38466171011585437,0.5047421515469533,0.07208141729517625,0.02685779045608156,0.011656930585934434,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4729820592396845,0.3975281066771094,0.1294898340832061,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21323051322341724,0.6470505390228997,0.07675889314379175,0.06296005460989129,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48560273386253044,0.39923461877870803,0.11516264735876154,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09369766030835883,0.24853964891516003,0.6577626907764811,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1329958583288804,0.33333333333333337,0.5336708083377864,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6776398562148526,0.2794665704471812,0.02141943450027553,0.014297857779322054,0.007176281058368575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06819196057430808,0.2950602206137999,0.1455250256452413,0.4912227931666508,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.036662143392077684,0.9633378566079224,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othdiscr,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othdiscr,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othdiscr,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othdiscr,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othdiscr,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -othdiscr,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -othdiscr,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -othdiscr,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -othdiscr,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -othdiscr,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -othdiscr,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -othdiscr,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -othdiscr,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othdiscr,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othdiscr,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othdiscr,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othdiscr,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othdiscr,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othdiscr,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -othdiscr,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,5,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.5805888317533816,0.41941116824661845,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.11686083545912945,0.8831391645408706,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.374750803175562,0.6252491968244381,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.4007801225899678,0.5992198774100322,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18588146353784887,0.8141185364621512,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018548453240809695,0.4770539828602621,0.5043975638989283,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5423549462294387,0.4576450537705613,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25511328085958734,0.7448867191404127,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3204973772266421,0.6795026227733579,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03343377059750126,0.3333333333333333,0.6332328960691654,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04628747462797644,0.45365465735178584,0.5000578680202378,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2407646871205241,0.049876153044243955,0.2875296116575831,0.4218295481776489,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29191969215699864,0.7080803078430014,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05132573101998568,0.23807000156218705,0.7016027129850405,0.009001554432786768,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10444618053060854,0.19637263943718106,0.6991811800322104,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2113413722407145,0.7153057823710959,0.07335284538818965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45015664170429553,0.3333333333333333,0.21651002496237115,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04933257625151507,0.39684494751417043,0.5538224762343145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3629157561273652,0.4618788518476868,0.17520539202494806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01404511957602407,0.2999573634601175,0.6859975169638586,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02446799278657296,0.031444700951367005,0.4286530973355761,0.36558992446705246,0.14984428445943151,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008964041978381965,0.209731439382141,0.7099249644611093,0.07137955417836786,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0243027805770224,0.0783631545262131,0.3252324064743259,0.5721016584224387,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03920467869317674,0.2919880332959463,0.668807288010877,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012007034091392154,0.023224097069999738,0.2533031513210124,0.6575039098638172,0.053961807653778414,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029109998100944126,0.006548014897240828,0.43143543613263785,0.39887911381131186,0.10324431349542719,0.030783123562438158,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06860553985614394,0.0835529954872494,0.8478414646566067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05968509573626281,0.4432939466474434,0.4970209576162937,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027789091317282074,0.3884411444542022,0.48780778147041465,0.09596198275810111,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29128488815222425,0.25494015619847005,0.1930255949294776,0.26074936071982807,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.036869173603913695,0.04543839252805639,0.14411527425579182,0.24279215598352727,0.12704038007106666,0.08932855498310124,0.3144160685745429,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0060268869755515635,0.01110779031545647,0.3232074397014558,0.6596578830075362,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06746460850712678,0.1278655139049779,0.21070952529721154,0.5939603522906838,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.038072976075810346,0.34944529735956814,0.4836843303005924,0.12879739626402914,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.035676627325399723,0.2933367815746219,0.550996935823844,0.11071533830820321,0.009274316967931129,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021315458149627674,0.03053343152336719,0.379299158387943,0.5688519519390622,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0666180043063743,0.22325849568345876,0.2791715359667584,0.40269638699436805,0.028255577049040543,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10502628553579146,0.2339835800649939,0.20571487283252474,0.4024016471086628,0.05287361445802711,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333716104615579,0.21423804512602077,0.07319520253219684,0.10140171920592658,0.2774489285202769,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00594896947392767,0.40754527684906916,0.5865057536770032,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07269570926787741,0.003477561206001002,0.03925755047746882,0.017472685965968782,0.13254146335596917,0.155957920270063,0.5151623000543101,0.06343480940234175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0061845432629545555,0.02568463390424859,0.04518472454554263,0.06468481518683666,0.07464110012032964,0.5131631699613127,0.08025737839038337,0.16405666758020324,0.026142967048188498,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011141007591544214,0.016759779193815855,0.036659021562292296,0.1054799883680004,0.20633608983581259,0.30719219130362474,0.2078747044828449,0.10855721766206504,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007330708489134929,0.010980666082262633,0.004846848979659088,0.013543020769775599,0.3017798577814108,0.6615188978977571,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003811660777328472,0.036568109923071974,0.21820564856941724,0.22292741664050764,0.1316930520081136,0.2745039496530302,0.11229016242853089,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.048736838401084705,0.42836962455739186,0.15309962358044552,0.27174267317885137,0.0493238053856968,0.04872743489652981,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.046473367077407554,0.5059817470268516,0.2746826694607823,0.04338359189471297,0.12947862454024556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0044176078298516375,0.02341621074530401,0.04241481366075638,0.0314226563536048,0.45267815455781435,0.4456505568526689,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11778662298780504,0.17209474416980727,0.2454220318946448,0.42831734163619745,0.036379259311545474,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06574731762928078,0.08128608301737497,0.09690362319482106,0.36893907288674904,0.38712390327177426,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014895474965928406,0.019094777723374076,0.023294080480819747,0.027493383238265418,0.6693312059022541,0.130055074086831,0.08196369256311943,0.033872311039407826,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0062596655742793855,0.01221984944588324,0.12229639922783808,0.3337762378137104,0.5254478479382889,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013615539400326209,0.035098465709868874,0.05658139201941153,0.07806431832895419,0.04537474498982929,0.09561697193013839,0.3752625527540384,0.2972847433773065,0.0031012714901268077,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010167986333895762,0.2253000009590618,0.02296490030207238,0.040918285404879934,0.5849037096204956,0.07836194905823017,0.03738316832136434,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4107713764360359,0.28099319133502965,0.15121500623402342,0.022856024171339015,0.0412941578769479,0.09287024394662406,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0031457025275773882,0.010709972220955587,0.6634233253609161,0.322720999890551,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00939701956308528,0.009568022453412399,0.009739025343739516,0.009910028234066635,0.021910907661023406,0.033911787087980184,0.007250195168579428,0.13144707482622575,0.13992066485355514,0.48884734187730355,0.1380979329310286,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028471564044058647,0.03944131988107152,0.05041107571808439,0.06138083155509726,0.016285604028293973,0.07371084594255042,0.05158698653164972,0.07654682377874124,0.3898827837437879,0.21228216477666498,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13140195674530222,0.0845306942581922,0.03765943177108216,0.12879847034761918,0.2199375089241562,0.3110765475006932,0.010950882243258854,0.07564450820969605,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0071867184134385585,0.0028146631525731375,0.04711111666061931,0.4104982844377878,0.5323892173355813,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09565851377131193,0.014000113148370297,0.04031549393739942,0.02121430387535013,0.0021131138133008397,0.09806775568251881,0.47755778749959404,0.1548410491125112,0.09623186915964328,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.037288363210692524,0.02499952640240259,0.01267609976850497,0.053202575922985954,0.035025027104120476,0.016847478285254996,0.016971807827925244,0.12831320992001266,0.35881042147688474,0.09089378526004378,0.14041407673802014,0.084557628083152,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02589416983444794,0.017450389138517458,0.04837245714077001,0.07929452514302256,0.11021659314527513,0.14113866114752766,0.03168131397824393,0.2597032373708797,0.10324879292944229,0.09541621770043852,0.08758364247143477,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008906698966226671,0.04522660408755485,0.38936148162690143,0.5565052153193171,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04236400291795859,0.045340081054226954,0.04831615919049531,0.04398172284783949,0.12467218419964197,0.21482277689580095,0.11942933348817947,0.34649401746038616,0.014579721945471132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10269078657038253,0.0666843352756878,0.030677883980993092,0.1580914658896139,0.11922469104343697,0.03823418792588538,0.13559329180188875,0.13631001422109412,0.1475941581802557,0.06489918511076188,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04250761494632962,0.09761795560513283,0.15272829626393603,0.23152403432736202,0.12480365078762413,0.018083267247886267,0.0803115161278735,0.14253976500786075,0.10988389968599488,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00847758422153214,0.1904466004100733,0.22449636328328937,0.5765794520851051,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007019449388889539,0.010864160179802934,0.009420047630164203,0.12382415181464518,0.08790036732372114,0.17775389780853165,0.10480104422425293,0.2205399588037483,0.23060651080891267,0.02727041201733151,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009593327686581516,0.014847809688510032,0.09138026810397967,0.15711526472262013,0.22285026134126057,0.08461795145503061,0.04172352108667557,0.3410836910158028,0.01586889134534233,0.020919013554196838,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012907339898380181,0.17267354770392057,0.08175077603017371,0.3569417739533329,0.37572656241419267,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007715244700292374,0.0036161835339106395,0.04596204500092472,0.25885360552247066,0.6838529212424016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03348195232150445,0.028224293694076457,0.022966635066648467,0.06481611074333732,0.10666558642002616,0.20905904237532394,0.21932099722928636,0.29610203018172465,0.019363351968072175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13223451228051133,0.11659582328406895,0.029489438645469476,0.03210802412879456,0.03472660961211965,0.03734519509544473,0.13217910253850776,0.19592920984646742,0.06078229906488811,0.15462019905108176,0.018525456804461833,0.05546412964818441,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19643831604386125,0.049683217678229606,0.00786177761560093,0.05505666174397591,0.16732307589468556,0.27958949004539524,0.06888784081141143,0.043306680669859904,0.017725520528308385,0.11412741896867183,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0026784533007925527,0.123512113263414,0.2520287518683408,0.6217806815674527,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0035523750071241008,0.01522133566346104,0.050833521599992694,0.014966437954730726,0.013900644957288464,0.06411415867783048,0.5424890771858903,0.28678832989567193,0.008134119058010269,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06327483231303402,0.04226289093753764,0.15056019837761803,0.07649556825020622,0.07296078105630402,0.21704856991877347,0.1796835343643162,0.19771362478221052,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0659997348957997,0.19752684075138863,0.40983596947005846,0.2454911414509372,0.08114631343181598,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004186297702932489,0.0037940290923112368,0.0034017604816899845,0.0030094918710687328,0.0026172232604474805,0.027416241626646982,0.3005164765997446,0.6550584793651586,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009645481390666307,0.011378959938781396,0.01311243848689648,0.014845917035011568,0.03065463648315959,0.06378370192939779,0.41490798298588283,0.23175279500624762,0.20991808674395657,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019042809821561577,0.026382960571921153,0.03372311132228072,0.04106326207264029,0.048403412822999876,0.05574356357335945,0.012182270213977275,0.0137799072253495,0.015377544236721727,0.12086394972277645,0.525431763526293,0.08800544489011898,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009429182773330026,0.005209149726180135,0.000989116679030244,0.0027222286626891793,0.004455340646348115,0.00618845263000705,0.007921564613665987,0.017489513535895916,0.027057462458125844,0.09215887591576302,0.15726028937340022,0.22236170283103737,0.2874631162886746,0.148919040051509,0.010374963814343403,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0010437231962486262,0.0009744079347673794,0.0009050926732861329,0.0008357774118048863,0.0007664621503236396,0.000697146888842393,0.0012637233399819215,0.00183029979112145,0.0023968762422609787,0.034224034363909465,0.41598694432548616,0.539075511681967,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0030126627174819356,0.005118485828867565,0.007224308940253195,0.009330132051638825,0.007990844489337484,0.04667753953985927,0.030054026737837688,0.12240223951847472,0.13889199354642776,0.5055962442526803,0.12370152237714123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.034839515186310024,0.04617264341869078,0.05750577165107154,0.11819251023920743,0.09091949613737385,0.24776318650157336,0.4046068768657729,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20932212279488563,0.184769369873942,0.16021661695299835,0.13566386403205474,0.1111111111111111,0.0865583581901675,0.06200560526922384,0.03745285234828022,0.012900099427336597,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028480297441743983,0.3356935606669345,0.6358261418913215,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010755586264193859,0.013423347793570774,0.016091109322947692,0.036935589459032137,0.05778006959511659,0.07862454973120103,0.044707098895196064,0.010789648059191092,0.017712896322269456,0.132553315092536,0.039646015938495684,0.47208078434885237,0.0688999891773971,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.039715912607231764,0.11015977705864095,0.18060364151005012,0.015465744014545505,0.02841189989665076,0.04135805577875602,0.05430421166086128,0.0718951091737233,0.014610256802862643,0.04087404298266483,0.08022940601328772,0.32237194250072515,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029285177055254297,0.07520411119697228,0.07107458771929409,0.0669450642416159,0.06281554076393772,0.058686017286259544,0.054556493808581366,0.05042697033090318,0.05141390067747938,0.05240083102405557,0.040033049651457514,0.02766526827885945,0.19956976819485894,0.1599232197704707,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0017159929386448734,0.0015420562824979992,0.001368119626351125,0.011437135463128434,0.26204444842082386,0.7218922472685536,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0016487132653377292,0.0032800917000045176,0.004911470134671306,0.006542848569338094,0.008174227004004882,0.00980560543867167,0.01143698387333846,0.013068362308005246,0.014699740742672034,0.003986780137030169,0.15910735540625895,0.051181564027523635,0.09556617068212646,0.5609810074741679,0.055609079236848866,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00206065475456893,0.006622656495835477,0.011184658237102022,0.01574665997836857,0.020308661719635114,0.02487066346090166,0.029432665202168206,0.033994666943434754,0.0385566686847013,0.04311867042596785,0.03224035223345396,0.021362034040940066,0.22809401535943083,0.05537165315910286,0.3669993887894881,0.07003593051490024,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018479451888379125,0.08966910815034516,0.21419279512920367,0.3387164821080622,0.2196267376918756,0.10053699327568905,0.01877843175644519,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0033693405449743683,0.000848526677620125,0.00037721898889161136,0.0006890814916749876,0.018750519359070163,0.4794920713845853,0.4964732415531834,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009931076189177445,0.02248456511632435,0.03503805404347125,0.04759154297061816,0.09269881630206674,0.053385061985470376,0.11980596165506167,0.2627455035344336,0.263472166489412,0.09284725171396448,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.089406324830506,0.035723635616121685,0.03076300046297027,0.02580236530981886,0.020841730156667446,0.01588109500351603,0.029981557983823657,0.04408202096413129,0.11249766451739235,0.11949313246300801,0.12648860040862367,0.09621498454590163,0.11442540536882814,0.13263582619175468,0.00576265617693625,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19513800853932012,0.1555801726998175,0.11602233686031489,0.07646450102081224,0.06762837324104268,0.05879224546127314,0.04995611768150358,0.04111998990173402,0.03228386212196447,0.03140531091211411,0.060655092371470744,0.058536360520034456,0.05641762866859818,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004073506418036051,0.017416324463056604,0.030759142508077153,0.3570740019963604,0.5906770246144698,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0017467713252660095,0.016672874733810482,0.03159897814235496,0.00971858765511025,0.021885230477259092,0.1410952510467139,0.06554591815426931,0.2027797284094501,0.3767992256990347,0.13215743435673122,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019297959422852357,0.07710029829054559,0.03196862420076233,0.02501366290920559,0.1698311481907033,0.08683394064284213,0.44380169360461136,0.1461526727384774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017057427585193935,0.013933195578029264,0.010808963570864595,0.010248581713628812,0.009688199856393027,0.009127817999157245,0.00856743614192146,0.008007054284685676,0.040579258383949206,0.07315146248321273,0.25905362357599904,0.4449557846687853,0.09482119415817979,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001838836331307578,0.18523346650461736,0.47837118003589263,0.3345565171281824,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004821261194004284,0.008134417082026833,0.04052449913542427,0.0729145811888217,0.10530466324221914,0.008228084448046,0.06460214001058497,0.19601108322436445,0.2333799220797876,0.23194773378398204,0.03413161461073869,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18772359738592195,0.17100964241423805,0.1542956874425541,0.1375817324708702,0.12086777749918627,0.0330140270008173,0.10064285933602411,0.05722119334317569,0.013799527350327266,0.023843955756885072,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20346604129859835,0.18029370104497625,0.15712136079135416,0.13394902053773208,0.11077668028410997,0.08760434003048788,0.06443199977686578,0.03650888176768665,0.008585763758507513,0.017262210709681283,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009917695284948654,0.0008546391708142194,0.06641314516949948,0.5488662563111678,0.3739482640635698,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13192622279014263,0.024507245636991103,0.07807689458633019,0.011686541703738399,0.18207573537836708,0.18211273382017454,0.3672161529333551,0.02239847315090095,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.46378599452163516,0.02807699391031822,0.11945268991626919,0.11159036760772674,0.10372804529918432,0.06754952948530522,0.10581637925956125,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.050209837264264194,0.050838745298533765,0.051467653332803336,0.05209656136707291,0.052725469401342484,0.053354377435612055,0.053983285469881626,0.0546121935041512,0.055241101538420774,0.055870009572690345,0.05649891760695992,0.057127825641229486,0.057756733675499064,0.05838564170976864,0.059014549744038206,0.05964345777830778,0.06027236581257735,0.060901273846846925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0770185605077576,0.08056915281770284,0.5409417066810188,0.30147057999352067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03512946505646985,0.03724563203485041,0.039361799013230975,0.041477965991611535,0.0435941329699921,0.09037106089566477,0.13714798882133744,0.18392491674701014,0.13257360013545955,0.1440648081350659,0.05755352503963949,0.0575551051596679,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12763439684746256,0.12536794852296568,0.13337847599061525,0.1413890034582648,0.14939953092591438,0.15741005839356392,0.1654205858612135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0031460437076410467,0.10863144836354235,0.36859364744875905,0.5196288604800575,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005139987655087162,0.01762602963055489,0.03011207160602262,0.03888125267277531,0.04765043373952801,0.056419614806280695,0.06518879587303339,0.07395797693978608,0.08272715800653876,0.09149633907329145,0.21703988996542958,0.16724200629581923,0.08908016966882328,0.01743827406702968,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06961834814568729,0.05847445226991086,0.04733055639413443,0.036186660518358005,0.025042764642581573,0.013898868766805145,0.02390360051816699,0.03390833226952883,0.04391306402089068,0.11539956571756796,0.18688606741424524,0.14429651214372907,0.10170695687321292,0.05911740160269677,0.04031684870248414,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08621041839970126,0.08166304719962529,0.07711567599954935,0.0725683047994734,0.06802093359939745,0.0634735623993215,0.05892619119924556,0.05437881999916961,0.05908581298065636,0.06379280596214311,0.06849979894362987,0.07320679192511662,0.06544636872805337,0.05768594553099015,0.04992552233392691,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026220941453443027,0.03352687977186564,0.040832818090288256,0.04813875640871087,0.05544469472713348,0.0627506330455561,0.3254597826354059,0.40762549386759667,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05961824673750634,0.06377893619860193,0.06793962565969754,0.07210031512079312,0.07626100458188871,0.0804216940429843,0.0845823835040799,0.06746153999494081,0.050340696485801716,0.05067027921933541,0.05099986195286911,0.051329444686402804,0.11310083119137597,0.11139514062372237,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14895171743774024,0.11627774981531612,0.08360378219289201,0.050929814570467885,0.06147702992545575,0.14690808503465808,0.3918518210234698,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014827688056704874,0.02354609171595719,0.032264495375209507,0.040982899034461825,0.049701302693714144,0.05841970635296647,0.06713811001221878,0.0758565136714711,0.08457491733072342,0.09329332098997574,0.10201172464922806,0.0840221976827087,0.06603267071618933,0.048043143749669975,0.030053616783150612,0.012064089816631263,0.08496894322026594,0.03219856814875324,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06734556559016248,0.0710932917465877,0.0748410179030129,0.16854052974487926,0.26224004158674563,0.35593955342861194,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.051182890482244905,0.13727079514110355,0.2233586997999622,0.18811830750508743,0.15287791521021266,0.11763752291533787,0.0823971306204631,0.04715673832558832,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018952690936226802,0.08393705886630569,0.14892142679638457,0.748188823401083,0.0,0.0,0.0,0.0 -othdiscr,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022351584580006998,0.09745432339887346,0.7887525571290027,0.09144153489211666,0.0,0.0,0.0,0.0 -othdiscr,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5261394716152998,0.10388792167662336,0.3699726067080769,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3790863880465742,0.6209136119534258,0.0,0.0,0.0 -othdiscr,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02142524565530195,0.024016173210515045,0.026607100765728142,0.029198028320941233,0.03178895587615433,0.03437988343136743,0.036970810986580525,0.03956173854179362,0.042152666097006714,0.042622685099242996,0.04309270410147928,0.04356272310371556,0.044032742105951844,0.04450276110818813,0.04497278011042441,0.04544279911266069,0.045912818114896975,0.04638283711713326,0.04685285611936954,0.04732287512160582,0.0477928941238421,0.04826291312607839,0.04873293212831467,0.07441007652170724,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othdiscr,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -othdiscr,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26002844154568655,0.25334281384856217,0.24665718615143783,0.23997155845431348,0.0,0.0 -othdiscr,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -othdiscr,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -othdiscr,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8037124673603522,0.19628753263964788,0.0 -othdiscr,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -othdiscr,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -othdiscr,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06601489612851157,0.12862625149940227,0.8053588523720863 -othdiscr,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020062497231694107,0.022643436228195472,0.02522437522469684,0.02780531422119821,0.030386253217699576,0.03296719221420095,0.03554813121070231,0.07738960750390905,0.11923108379711578,0.1610725600903225,0.20291403638352926,0.24475551267673598,0.0 -othdiscr,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.042273360795097144,0.09203068314372496,0.1417880054923528,0.19154532784098058,0.2413026501896084,0.2910599725382362,0.0,0.0 -othdiscr,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05072803295411658,0.12536401647705828,0.2,0.2746359835229417,0.3492719670458834,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.2391074819346591,0.7608925180653409,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022696037085701275,0.03987469551110099,0.057053353936500704,0.07423201236190043,0.09141067078730014,0.10858932921269986,0.12576798763809957,0.1429466460634993,0.160125304488899,0.17730396291429873,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40573490040182114,0.06367912175800636,0.04681615280055952,0.029953183843112685,0.01309021488566585,0.040728829493016934,0.04000126089293558,0.03927369229285425,0.038546123692772896,0.03781855509269156,0.03709098649261021,0.03636341789252887,0.03563584929244752,0.03490828069236618,0.034180712092284835,0.033453143492203484,0.03272557489212214,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37121001770095396,0.06798297427766632,0.09164370178987213,0.11530442930207795,0.13896515681428376,0.16262588432648958,0.0522678357886562,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19959617197993199,0.18642436985462588,0.17325256772931974,0.1600807656040136,0.1469089634787075,0.13373716135340136,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.47819956748842973,0.4095801147616705,0.024763927696504564,0.03740677258329997,0.05004961747009537,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04098152986877689,0.07494006753156555,0.1088986051943542,0.14285714285714285,0.1768156805199315,0.21077421818272016,0.2447327558455088,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.727030364510662,0.24616329927006456,0.026806336219273346,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.748713988740167,0.22450830866681512,0.026777702593017892,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5017917620722333,0.49093641101635993,0.007271826911406825,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2581835515547519,0.6294495852544237,0.055981358787002104,0.037455621063608106,0.018929883340214105,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0537867739804686,0.07415854621530851,0.09453031845014842,0.11490209068498831,0.13527386291982824,0.15564563515466814,0.12854394160941807,0.10144224806416803,0.07434055451891795,0.04723886097366789,0.02013716742841783,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18760094669476285,0.145095133193891,0.13265363275653777,0.12021213231918451,0.10777063188183127,0.09532913144447802,0.08288763100712478,0.07044613056977152,0.05800463013241827,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11282643708475494,0.1392097235973147,0.12715307106265938,0.10962721079225404,0.09210135052184872,0.0745754902514434,0.05704962998103807,0.039523769710632733,0.021997909440227413,0.0226191143868003,0.023240319333373182,0.02386152427994607,0.024482729226518958,0.02510393417309184,0.025725139119664727,0.02634634406623761,0.026967549012810496,0.027588753959383386,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.033289710995513457,0.07650553695258067,0.08098675738544021,0.08546797781829978,0.08994919825115932,0.09443041868401889,0.09891163911687845,0.103392859549738,0.10787407998259756,0.11235530041545712,0.11683652084831667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07646590395562888,0.16036128121344093,0.14592468580020213,0.1314880903869633,0.11705149497372451,0.10261489956048568,0.08817830414724688,0.07374170873400808,0.05930511332076926,0.04486851790753046,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3228763788288926,0.6771236211711074,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02123903643701842,0.12415609656113177,0.22881617038702542,0.19426336003233857,0.15971054967765175,0.1251577393229649,0.09060492896827807,0.05605211861359123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.147682157166426,0.11420006537660514,0.14925950525205275,0.10710036728921152,0.19301028106703602,0.2887476238486687,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23028053482060978,0.2151402674103049,0.19999999999999998,0.18485973258969507,0.16971946517939016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20997787779634955,0.11137158471601832,0.6786505374876322,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36301576134782004,0.6369842386521799,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24201050756521336,0.3333333333333333,0.42465615910145327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18154023775541336,0.690278378295781,0.12170737211093945,0.006474011837866245,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28870746822808246,0.29914628368235774,0.30958509913663307,0.05524605568140827,0.03418704965097558,0.013128043620542899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08384128522626726,0.03380473162769757,0.1281381182926675,0.22247150495763743,0.3168048916226074,0.17724811996524342,0.037691348307879506,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.030519865353159144,0.04883390618458373,0.09455451887077178,0.40629186795479594,0.27311257425017954,0.13993328054556317,0.006753986840946776,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06233811124076329,0.04796457989032244,0.0335910485398816,0.5393298865396629,0.2853687534430109,0.03140762034635889,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.470684394230403,0.3235614647434677,0.17643853525653236,0.029315605769596995,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6670032640253715,0.28683030929669123,0.046166426677937335,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2093924219194103,0.18721399556532115,0.165035569211232,0.14285714285714285,0.12067871650305372,0.09850029014896457,0.07632186379487542,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4168505683421995,0.06382943457692267,0.11846805013527428,0.1731066656936259,0.22774528125197752,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.502447386195227,0.2875787837087834,0.16585087126825768,0.04412295882773192,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0630023942882305,0.3397940588767672,0.25870023779066315,0.17760641670455904,0.11283443634811303,0.04806245599166703,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12560993068803886,0.14275476926063188,0.15989960783322488,0.16388569048794663,0.14991784553233295,0.13595000057671927,0.12198215562110559,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25003132023583635,0.5362903946357147,0.1172175969489665,0.07122609504281636,0.02523459313666624,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02446208671855894,0.3333333333333333,0.6422045799481078,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21438391240532625,0.7549633831268727,0.01946892967386199,0.011183774793939042,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34537929121534533,0.6306705203403534,0.02395018844430129,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9275756687493233,0.07242433125067678,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24626498820715811,0.5875075907073781,0.07796380190012697,0.055409140361821284,0.03285447882351561,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49488868532476943,0.17458362683218098,0.12744343270080508,0.0803032385694292,0.03316304443805331,0.08961797213476193,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36496155111662887,0.2824807755583144,0.19999999999999996,0.1175192244416855,0.03503844888337105,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7566234191098833,0.21291012065547055,0.03046646023464622,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08738614969569475,0.08892377706296906,0.11591179132204966,0.0881452695756699,0.06037874782929012,0.03261222608291035,0.0048457043365305735,0.009887486509277696,0.014929268682024821,0.019971050854771945,0.025012833027519065,0.03005461520026619,0.03509639737301331,0.04013817954576043,0.04517996171850756,0.05022174389125469,0.05526352606400181,0.06030530823674893,0.06534709040949604,0.07038887258224318,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9404273924038685,0.05957260759613155,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1831099788864871,0.6474888950395127,0.1694011260740003,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1078813556421454,0.7350209243987343,0.1570977199591203,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18673324352106085,0.707408175496916,0.037893909927191424,0.06796467105483166,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.078615484866157,0.12998792130249248,0.060637533353902144,0.7307590604774484,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13023089022400866,0.8053988566875924,0.016127893204456404,0.016083707754592842,0.013401629232188027,0.010719550709783211,0.008037472187378398,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004256896296630929,0.009246887493529287,0.21591695644910233,0.18934039000932226,0.16276382356954225,0.13618725712976223,0.1096106906899822,0.08303412425020218,0.05645755781042213,0.029880991370642086,0.003304424930862062,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016228927127358597,0.3333333333333333,0.6504377395393081,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.533792440291268,0.46620755970873196,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07397406559413638,0.7370597675968947,0.1889661668089689,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.472492983314563,0.3333333333333333,0.19417368335210364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48969361016894036,0.5047835007226725,0.00552288910838719,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02996762765509789,0.8643501983316954,0.10568217401320677,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0736396890781448,0.11085048011355354,0.14806127114896228,0.18527206218437106,0.22248285321977979,0.25969364425518854,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34034639266622857,0.5076849639231412,0.14544698296631678,0.006521660444313618,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08204004332566066,0.13393813841044885,0.1077569558080398,0.09979458698332919,0.09183221815861856,0.08386984933390794,0.07590748050919731,0.06794511168448669,0.05998274285977606,0.05202037403506544,0.04405800521035481,0.036095636385644184,0.02813326756093356,0.020170898736222933,0.012208529911512316,0.0042461610868016865,0.0,0.0 -escort,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8554336219416518,0.09936064473481036,0.045205733323537806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41341231380068333,0.3333333333333333,0.25325435286598336,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6778293554590633,0.07184337821668807,0.23798913284659004,0.012338133477658615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9347912310139336,0.06520876898606645,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09986570485572936,0.4954036482009389,0.25660684396522115,0.017810039729503405,0.030623980406186246,0.043437921082869084,0.05625186175955192,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6949781808030299,0.3050218191969701,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6942022520613688,0.3057977479386312,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -escort,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -escort,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -escort,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -escort,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -escort,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -escort,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -escort,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -escort,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -escort,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -escort,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -escort,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -escort,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -escort,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -escort,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -escort,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -escort,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -escort,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -escort,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -escort,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -escort,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -escort,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -escort,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -escort,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -escort,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,5,1,0.0,0.0,0.0,0.7202734127850233,0.2797265872149767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,6,1,0.0,0.0,0.0,0.11720596426491708,0.22594877840262578,0.6568452573324572,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,6,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,6,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.4597729040519531,0.540227095948047,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,8,1,0.0,0.0,0.0,0.0,0.07698221972273332,0.10671068387556693,0.13643914802840051,0.6798679483732993,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21069806692065493,0.789301933079345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19532992173157346,0.8046700782684265,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0603929881693256,0.23963929913724732,0.6999677126934272,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.011482536826045175,0.025783582335348734,0.5318419260469462,0.43089195479165987,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,10,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0025659802366381837,0.024299247090485542,0.3985540820548799,0.5745806906179963,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17753047291543253,0.6595831506164725,0.16288637646809492,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009135151646590022,0.37997225889857883,0.610892589454831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2148367804338196,0.6948864449909051,0.09027677457527536,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2800981236317531,0.7199018763682469,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2469514702741616,0.7530485297258385,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007723173132487955,0.525017237200351,0.4672595896671611,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5238668904987093,0.45940455464480306,0.016728554856487735,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.753901185414581,0.11689111053521802,0.12920770405020116,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.039342079905802456,0.36447677792122724,0.5961811421729704,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1600281323720803,0.6201916621849723,0.21978020544294735,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03177264092190654,0.7156450199647894,0.2525823391133042,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07167573947934276,0.9283242605206572,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013341761486797804,0.13183392555016907,0.2503260896135403,0.3688182536769115,0.23567996967258134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11722678717176141,0.8611961717393355,0.02157704108890313,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.538963459162565,0.461036540837435,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16410915664183845,0.5315572968134733,0.30433354654468836,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.33528237843865516,0.2315974992007789,0.433120122360566,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22784704342463322,0.3333333333333333,0.43881962324203344,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056829536743127636,0.1977805382361904,0.7453899250206819,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09863564131614856,0.3972956752569944,0.5040686834268571,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11964355509141837,0.8803564449085817,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2956719155701106,0.7043280844298895,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020540562507318925,0.23824425570725935,0.4116975986183419,0.3295175831670799,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.049263670686641635,0.1406140021685031,0.23196433365036456,0.323314665132226,0.2548433283622647,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13215463083464837,0.10545258800944018,0.07875054518423202,0.052048502359023835,0.6315937336126555,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.409497469766302,0.5905025302336979,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7301518825957859,0.26984811740421405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2006195755967216,0.6316108363786744,0.16776958802460404,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1580956098015392,0.1790478049007696,0.2,0.22095219509923042,0.24190439019846083,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0054692005148296325,0.20980183185262702,0.7847289676325434,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0504574690806712,0.04266052783278314,0.5748659810925443,0.3320160219940014,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.044686628447490676,0.09293899235865334,0.14119135626981602,0.1894437201809787,0.23769608409214132,0.2940432186509199,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6020087041975352,0.3333333333333333,0.06465796246913147,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06390985138128186,0.45928505617791904,0.4768050924407991,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04741095665633501,0.1369914316987505,0.8155976116449145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.030384257458664892,0.17779607249093238,0.3252078875231998,0.2433291616767744,0.16145043583034904,0.061832185020079505,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07321966703056206,0.08269252805069932,0.09216538907083659,0.10163825009097385,0.1111111111111111,0.12058397213124837,0.13005683315138564,0.13952969417152292,0.14900255519166017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6132191826534077,0.3867808173465923,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5099816071013897,0.11472658975735059,0.3752918031412597,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4133657688308625,0.2824413297365854,0.15151689064230833,0.15267601079024365,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4151710298184652,0.27768703498491054,0.3071419351966242,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01867654359925524,0.3282278393963673,0.6530956170043775,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016572363889780593,0.4553920646715617,0.2568121952231425,0.2712233762155152,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031126654697046226,0.10262937249433571,0.14563931630254828,0.34614843286164537,0.3744562236444244,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024749402898839368,0.11580062657441054,0.2752292885655867,0.2864833235089167,0.29773735845224664,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31559094951599453,0.6844090504840055,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09985757593817254,0.8643782043004463,0.035764219761381146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6250504934321152,0.3333333333333333,0.041616173234551516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.46878787007408634,0.32292929002469545,0.17707070997530455,0.03121212992591364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05050987054925856,0.2903557297413408,0.6591343997094007,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02375773751333404,0.23206239845357007,0.3318248323642834,0.4123550316688125,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2496157993586948,0.45625019310322606,0.2941340075380792,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31519078428100855,0.6848092157189914,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012335154399620943,0.010392015485437042,0.008448876571253141,0.437753712335464,0.5310702412082248,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05026920442491774,0.04947974439328983,0.048690284361661916,0.4563217845732632,0.3952389822468673,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16814339486081173,0.05612054192406539,0.23614251743404155,0.5395935457810813,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07856260794066577,0.16256628643822763,0.24656996493578948,0.3305736434333513,0.18172749725196577,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0069274796046967626,0.5673404944614682,0.425732025933835,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07777249187492383,0.007849036052693588,0.03160677116989887,0.4011114882009527,0.4421345140046929,0.039525698696838224,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11834086314549239,0.09627554516318831,0.07421022718088424,0.05214490919858015,0.006370950444336205,0.055874272041324856,0.42402762972881286,0.14590565591148827,0.026849947185892734,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3245877282652352,0.24780938933880212,0.17103105041236905,0.09425271148593596,0.017474372559502897,0.01989641467100472,0.022318456782506546,0.02056764839168787,0.08206222809295563,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011555791744373194,0.01667239156063741,0.021788991376901625,0.002990191171326051,0.03074539557154089,0.33109353884738396,0.5851536997278368,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03671575026711164,0.044844133212493975,0.05297251615787631,0.061100899103258666,0.06922928204864101,0.05596997000927225,0.04271065796990349,0.3303705515173112,0.29888893606848316,0.0071973036456483355,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04345231372341514,0.053072082984216264,0.06269185224501737,0.07231162150581848,0.0819313907666196,0.0685826794481215,0.05523396812962341,0.04188525681112531,0.028536545492627217,0.29988233105905754,0.14657290891537203,0.04584704891898613,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10639986581865374,0.09043972257379436,0.074479579328935,0.05851943608407562,0.04255929283921626,0.026599149594356882,0.010639006349497509,0.003863103121665398,0.3764970182815967,0.2100038260082084,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00665866473115666,0.4307252041574262,0.5626161311114172,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027316969037278243,0.13302062183185467,0.8150418501006644,0.02462055903020271,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25209124261476995,0.30578152312791684,0.3594718036410638,0.08265543061624951,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.047984343672951894,0.08391763924008747,0.10127917169944155,0.11864070415879563,0.13600223661814972,0.1533637690775038,0.17072530153685792,0.18808683399621198,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02725425926659403,0.4307782874339921,0.5419674532994139,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013109078169808112,0.014069303089843804,0.015029528009879493,0.015989752929915186,0.01694997784995088,0.01791020276998657,0.01887042769002226,0.2051171110141984,0.39136379433837465,0.2430440957743764,0.04854672836364415,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02326753570040902,0.03829286204960663,0.05331818839880423,0.06834351474800184,0.08336884109719943,0.09839416744639705,0.11341949379559466,0.12844482014479225,0.14347014649398984,0.09577638348106672,0.15390404664413826,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11727924185782078,0.3333333333333333,0.549387424808846,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06429580694462056,0.003185209797846642,0.01898046858493552,0.3085335955470928,0.6050049191255044,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04123978914249194,0.06228798011074277,0.08333617107899359,0.7736062039872733,0.03952985568049844,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011848126365162796,0.03315133822866809,0.05445455009217338,0.07575776195567867,0.09706097381918395,0.11836418568268925,0.013669484300415126,0.5956935795560288,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11894725201410114,0.31872832429758563,0.5185093965810701,0.04381502710724297,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009444843901152812,0.048090132978762086,0.3560706607603375,0.5863943623597475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020198918627652863,0.021704996975484774,0.02321107532331668,0.024717153671148587,0.026223232018980493,0.0277293103668124,0.02923538871464431,0.030741467062476217,0.03224754541030812,0.03375362375814003,0.03525970210597194,0.036765780453803854,0.03827185880163576,0.03977793714946767,0.04128401549729957,0.04279009384513147,0.04429617219296338,0.08674144432089509,0.12214005499207618,0.17674912956887148,0.06616109914291918,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023622247652336913,0.02074657089257793,0.017870894132818952,0.014995217373059967,0.012119540613300986,0.009243863853542004,0.19986316494147036,0.2320532146424708,0.04482882536656076,0.2515284511993104,0.1731280093325509,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029106262963453425,0.031289892537114214,0.033473522110775,0.03565715168443578,0.03784078125809657,0.040024410831757354,0.04220804040541814,0.2859254541017511,0.1790264838387436,0.07212751357573606,0.08672775758766445,0.12659272910505437,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013981926822371366,0.011605248153004276,0.4186856901717198,0.5557271348529046,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016859751255704155,0.01330695442765569,0.009754157599607224,0.006201360771558763,0.08548386708407228,0.7855614747452672,0.07383217111558767,0.00900026300054693,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20893887183404997,0.223311281702043,0.23768369157003608,0.2520561014380291,0.07801005345584182,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36044268456668355,0.2868142281888945,0.21318577181110548,0.13955731543331645,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003887620023147789,0.18742416334949513,0.3709607066758424,0.4377275099515146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02991018631301363,0.030111549164637513,0.030312912016261396,0.03051427486788528,0.01150381432151612,0.041922529690626896,0.7019128040913144,0.12381192953474496,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.141929562856562,0.0921054515628458,0.10430660394617253,0.11650775632949925,0.06576935496897775,0.1562643383883616,0.32311693194758095,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1938646714733158,0.12580883607862775,0.14403563543729292,0.16226243479595814,0.07456266439772782,0.09241175393734347,0.207054003879734,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019538352851311547,0.45258531029758003,0.5278763368511085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03354576227551689,0.5592365654034882,0.09385919344135553,0.26368771483565817,0.04967076404398131,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04724808953545946,0.38550879933660265,0.25857273731855424,0.11886217662295874,0.09362869450224869,0.09617950268417626,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.363970814290635,0.2523778089901712,0.14078480368970747,0.02652735637192181,0.08095552434316211,0.13538369231440242,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6106896012241092,0.38931039877589085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019789118328348874,0.03758395984231799,0.05537880135628711,0.5018863356279085,0.3853617848451374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02024595016357244,0.025175347234632186,0.030104744305691936,0.43917959142520613,0.3081579860987011,0.17713638077219612,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4020987272763675,0.5979012727236326,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029531382915390196,0.3071244910406453,0.6633441260439645,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1234358669141733,0.09782277605159828,0.07220968518902324,0.01245523350520178,0.011693525776138736,0.5524845290864339,0.129898383477431,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09567742395973652,0.0902327398269909,0.08478805569424527,0.07934337156149965,0.07389868742875401,0.06845400329600838,0.06300931916326276,0.05756463503051713,0.009654281906759736,0.31638231888400276,0.06099516324822293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10031912043125438,0.013170332484585464,0.1483406552549295,0.2835109780252736,0.41868130079561766,0.03597761300833942,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21845681197979785,0.23921210064437717,0.542331087375825,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0024405205454408035,0.02729950031572979,0.05215848008601878,0.07701745985630777,0.10187643962659676,0.12673541939688576,0.15159439916717474,0.1764533789374637,0.20131235870775271,0.08311204336062929,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008625236082172192,0.03996883018912069,0.0713124242960692,0.35707941228851364,0.5230140971441244,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032831148619611325,0.11407906587261915,0.195326983125627,0.2765749003786348,0.16240960596547396,0.048244311552313096,0.09804609719070315,0.07248788729501753,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05134776481702259,0.2943663715365567,0.23014253153601807,0.16591869153547947,0.10169485153494087,0.03747101153440223,0.052176596346660734,0.06688218115891925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14784669969588207,0.1361169967208732,0.12438729374586437,0.1126575907708555,0.10092788779584665,0.08919818482083779,0.0774684818458289,0.06573877887082004,0.054009075895811186,0.042279372920802326,0.030549669945793462,0.018819966970784585,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05590996182997409,0.7213885997851497,0.2227014383848762,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056582670680653896,0.9434173293193462,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01886089022688463,0.07798320080279744,0.13710551137871024,0.19622782195462307,0.2553501325305359,0.3144724431064487,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01886089022688463,0.07798320080279746,0.13710551137871027,0.1962278219546231,0.2553501325305359,0.31447244310644873,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11945389358484612,0.15364154440194436,0.18782919521904257,0.539075366794167,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21445313386371237,0.19533854698489408,0.1762239601060758,0.15710937322725751,0.1379947863484392,0.11888019946962092,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006088485244910598,0.4748835922301618,0.5190279225249276,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012829300625274105,0.011265594801833626,0.009701888978393145,0.008138183154952664,0.006574477331512184,0.005010771508071703,0.0034470656846312215,0.04736850967546666,0.09128995366630209,0.13521139765713752,0.17913284164797294,0.22305428563880839,0.26697572962964383,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5105056204521877,0.48949437954781233,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8801339605644641,0.11986603943553584,0.0,0.0,0.0,0.0 -escort,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3977518446228511,0.2644871031977252,0.1312223617725993,0.20653869040682432,0.0,0.0,0.0,0.0 -escort,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -escort,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -escort,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -escort,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -escort,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -escort,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -escort,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -escort,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -escort,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -escort,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -escort,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -escort,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10803118355852408,0.891968816441476 -escort,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -escort,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -escort,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36933425542088005,0.20708519386913854,0.24664266332227985,0.17693788738770164,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5837165990782975,0.41628340092170246,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38158727332376935,0.6184127266762306,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14490308299613947,0.08921513391743634,0.08488639811699404,0.08055766231655177,0.07622892651610948,0.07190019071566718,0.06757145491522489,0.06324271911478262,0.05891398331434032,0.05458524751389804,0.05025651171345575,0.04592777591301346,0.04159904011257117,0.03727030431212889,0.0329415685116866,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7507908424706561,0.24920915752934397,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.486215512467996,0.13496814819387107,0.20275500101461852,0.1760613383235145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1683439243691213,0.16767302128813943,0.1670021182071576,0.16633121512617574,0.16566031204519385,0.16498940896421202,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.239503466106993,0.12048354455243869,0.008948492763579199,0.05282295598580827,0.039207004923959204,0.03933379122671558,0.03946057752947194,0.03958736383222831,0.03971415013498468,0.0465071859508853,0.05330022176678592,0.06009325758268654,0.06688629339858716,0.07367932921448779,0.0804723650303884,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6828966084883409,0.09190988168489461,0.10570113050388635,0.1194923793228781,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7302921605005464,0.09828876762997898,0.08990261316648454,0.0815164587029901,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28159651067677754,0.6552261313187637,0.06317735800445874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20356417760227466,0.28048110729291925,0.5159547151048061,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26343756729534806,0.3629777176312307,0.3735847150734212,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05364274506427843,0.1284070980078373,0.49331454956535453,0.32463560736252983,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0660088797757428,0.27633006271450533,0.5076135512571754,0.15004750625257643,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04434899579688712,0.1440001739074229,0.24365135201795865,0.5679994782777312,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5025180074198632,0.4974819925801369,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19324397442862065,0.06445845672769122,0.7422975688436881,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1925933922114275,0.8074066077885725,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4781848348726602,0.22894437372088516,0.18991347556351484,0.09762359713548481,0.0053337187074548,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4374122930572926,0.28579802397168913,0.2767896829710182,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7482724439661744,0.14778625642459883,0.035130445182156696,0.03464709986974225,0.034163754557327806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18485779014831172,0.5221964695794302,0.14142407158183384,0.15152166869042424,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30537599453718456,0.6946240054628154,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012605899951150069,0.07798162207313039,0.07581235663045341,0.07364309118777644,0.07147382574509949,0.06930456030242252,0.06713529485974554,0.06496602941706857,0.0627967639743916,0.06062749853171463,0.05845823308903767,0.0562889676463607,0.05411970220368373,0.05195043676100676,0.04978117131832979,0.047611905875652824,0.045442640432975856,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07863201855677415,0.3525646464069151,0.19036643247828275,0.02816821854965042,0.3502686840083776,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4630078972130973,0.3210026324043658,0.17899736759563423,0.03699210278690268,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30757156385524426,0.2512096049798132,0.1948476461043822,0.13848568722895116,0.08212372835352011,0.025761769478089044,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9448034456688379,0.055196554331162134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08863601140482968,0.1283919695598594,0.1289929315444382,0.12959389352901696,0.13019485551359578,0.13079581749817457,0.13139677948275333,0.13199774146733212,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4833560156695956,0.16379152263356667,0.09217408796228241,0.07553254704423444,0.05889100612618649,0.04224946520813853,0.025607924290090574,0.05839743106590535,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.052298480938573755,0.24586403403044463,0.2114080419445987,0.17695204985875282,0.16347648102879428,0.15000091219883577,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09125122765331217,0.1456256138266561,0.2,0.25437438617334396,0.30874877234668785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34174498795013974,0.3142874368916538,0.21447164763886128,0.11465585838606883,0.014840069133276373,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4356060266796111,0.46216592961035213,0.10222804371003684,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.376768966722188,0.3333333333333333,0.2898976999444786,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32660983964827733,0.6733901603517227,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18266165889551625,0.4983601194265326,0.03703136051470433,0.043484031087352666,0.049936701660001005,0.056389372232649344,0.06284204280529768,0.06929471337794602,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11013923938840275,0.26372098981628567,0.043099714676742285,0.5830400561185692,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29755725186828413,0.4153734726634413,0.10510899114288569,0.06927170572995192,0.033434420317018154,0.07925415827841875,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35954564905753444,0.10374241016991992,0.2134847836474885,0.32322715712505706,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13207549512954342,0.5043408941892334,0.28930816829015216,0.07427544239107094,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40041245909827383,0.3333333333333333,0.2662542075683928,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13975856883376786,0.8602414311662322,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.61671959560437,0.3067551662107007,0.0765252381849293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8524131008313693,0.045110102503264256,0.0633752116957841,0.039101584969582236,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13119071852553715,0.8325953527875343,0.03621392868692866,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7709277039705876,0.22907229602941231,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7709277039705876,0.22907229602941231,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26945856072822494,0.7305414392717751,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -eatout,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -eatout,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -eatout,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -eatout,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -eatout,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -eatout,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -eatout,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -eatout,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -eatout,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -eatout,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -eatout,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -eatout,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -eatout,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -eatout,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -eatout,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -eatout,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -eatout,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,7,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8451343444061352,0.15486565559386478,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2204813686896822,0.7795186313103178,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5651489516411612,0.43485104835883887,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15975763838588825,0.8402423616141118,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5955507845940085,0.4044492154059915,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.055308989887435905,0.9446910101125641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38190086706067117,0.6180991329393289,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18338303709350384,0.8166169629064962,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7335835089156488,0.26641649108435117,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017257737003501274,0.2812940284121713,0.7014482345843274,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24976946951944076,0.6034952289546248,0.14673530152593436,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01937573544720047,0.6092998702126877,0.3713243943401119,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.39531403458372544,0.6046859654162746,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008976514111140206,0.3177482113861761,0.6732752745026838,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10639857807532863,0.5770576399704849,0.3165437819541865,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12625652184410852,0.8737434781558915,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37302769578995615,0.09433810062725716,0.5326342035827867,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010331280135805927,0.17157210750129107,0.818096612362903,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16195136344030214,0.1031052702514416,0.044259177062581055,0.626612767353569,0.06407142189210623,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5770240273998104,0.3333333333333333,0.08964263926685628,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002190618465348545,0.2964680781189484,0.7013413034157031,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027708217346406876,0.3424301545883508,0.3883211293482352,0.2415404987170072,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06100969368168841,0.3333333333333333,0.6056569729849782,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009521611384274405,0.41996054253963,0.5705178460760957,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1020560723005813,0.5516621649104985,0.2832838358536783,0.06299792693524195,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056764227345601596,0.3333333333333333,0.609902439321065,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7868185697755185,0.2131814302244816,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0040809614949100645,0.41344172167823673,0.5824773168268532,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02200080178092519,0.02554258590778574,0.02908437003464629,0.21269430862478506,0.5590279584859745,0.1516499751658832,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06414704046769644,0.0635082283905171,0.8095033686646815,0.06284136247710505,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12967125045510883,0.17512150491495995,0.22057175937481105,0.18939179389659225,0.15821182841837345,0.12703186294015462,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003288837746456402,0.3692606554464534,0.6274505068070901,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1348595428202935,0.39333150426310837,0.47180895291659813,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.051693976023798736,0.12698817457628542,0.16327496834472646,0.6580428810551895,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07355123440573537,0.0998101810321585,0.12606912765858164,0.15232807428500475,0.1785870209114279,0.36965436170709187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05763844855395885,0.14124123464153027,0.5811479129294377,0.2199724038750732,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29145748992108717,0.3521142688055937,0.35642824127331924,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8200381287750123,0.1260623359240565,0.0538995353009313,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03911254958840966,0.22080745388493278,0.7400799965266576,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026903702044912894,0.027042947607643406,0.027182193170373913,0.027321438733104424,0.027460684295834936,0.02759992985856545,0.027739175421295958,0.027878420984026465,0.02801766654675698,0.028156912109487495,0.028296157672218002,0.13131401622836883,0.47877863982303054,0.08630811550438075,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014626909858569513,0.050190846651533,0.2652272817288694,0.4802637168062057,0.1896912449548225,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010044314284402904,0.5431788794857783,0.4467768062298189,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24643670112010754,0.061014573331505645,0.6143295873037493,0.07821913824463747,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026914847499929163,0.42969250021953137,0.3243617175000236,0.21903093478051588,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02787206452225076,0.0233166799672672,0.01876129541228364,0.44051905494513227,0.4895309051530661,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027340437842746097,0.20299367905449126,0.333438060478972,0.4362278226237907,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16763309651614935,0.04056189739043771,0.1553136945851917,0.12597995407807694,0.5105113574301443,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.39467199643277395,0.3027467979319037,0.30258120563532237,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014086818073840473,0.09863903167529418,0.1831912452767479,0.4102035370461381,0.2938793679279792,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027151139064690112,0.18090696954005356,0.334662800015417,0.0415885921937369,0.3556336212713544,0.03770621946223386,0.022350658452514275,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05048066511306656,0.04263582054153047,0.034790975969994385,0.0269461313984583,0.019101286826922217,0.2817154689923168,0.5443296511577114,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.033901735845828125,0.9660982641541719,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002083475508101615,0.006233564649283347,0.010383653790465077,0.014533742931646809,0.018683832072828543,0.02283392121401027,0.22846371183807299,0.6967840979955913,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002912232948967138,0.04578258936105457,0.08865294577314199,0.1315233021852294,0.17439365859731684,0.2172640150094043,0.18101259623271534,0.15845865989217037,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5488690590463668,0.3333333333333333,0.11779760762029985,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2744345295231834,0.23132738438057673,0.18822023923797004,0.14511309409536333,0.10200594895275662,0.05889880381014994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013940512893888597,0.08139270438420057,0.340850287973483,0.5638164947484278,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12568309719852,0.646101519384975,0.22821538341650513,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29872095622736716,0.7012790437726328,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0194422857787548,0.06855281793485837,0.04117726932542935,0.1582408774985641,0.27530448567169885,0.3923680938448337,0.04491416994586085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18450815972968757,0.22816938657656252,0.27183061342343745,0.3154918402703124,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02854965093444506,0.04786493473345219,0.30736828020387436,0.6162171341282284,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00390691243552422,0.010815052186518839,0.01772319193751346,0.024631331688508076,0.0315394714395027,0.15677296193779897,0.6289727657802934,0.12563831259434025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017386119262463563,0.022072634388036364,0.24935325149620968,0.7111879948532903,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08805393205424906,0.1393700453939633,0.19068615873367756,0.24200227207339178,0.293318385413106,0.046569206331612184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0018730402307228639,0.005334102386182594,0.008795164541642324,0.3543887053509309,0.6296089874905213,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07323671537966141,0.45345784194278677,0.20955328765244044,0.26375215502511146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0023398424464930495,0.43323992420789914,0.5644202333456078,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08526377425358611,0.3142704960128366,0.5355938063052798,0.06487192342829763,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2040304052061522,0.20261140508377182,0.535877768390036,0.057480421320039964,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0072203057567098924,0.011663641829295466,0.4086525518009412,0.5724635006130536,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.051761354792502295,0.04683165319754775,0.04190195160259321,0.036972250007638666,0.03204254841268412,0.08652497652412594,0.14100740463556777,0.11468497979995017,0.08836255496433255,0.2009534726065335,0.15895685345652405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09382703369384776,0.0933470442549964,0.09286705481614503,0.09238706537729367,0.0919070759384423,0.09142708649959094,0.09094709706073957,0.09046710762188821,0.08998711818303685,0.08950712874418548,0.08332918780983371,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012113446199772086,0.015020400765623805,0.3841051614822529,0.5887609915523512,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01856749876631521,0.1582315765228388,0.29789565427936243,0.18931157810777438,0.1157562089791696,0.19293102458171493,0.027306458762824497,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3015508729666768,0.24759719044667275,0.1936435079266687,0.13968982540666464,0.08573614288666058,0.031782460366656516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00845923136319494,0.4665985045433616,0.5249422640934436,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05082906538340698,0.10664578584573703,0.16246250630806708,0.2902109152050563,0.3898517272577326,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36778628862536394,0.3333333333333333,0.29888037804130274,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5131033694658785,0.4868966305341215,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0828698325363758,0.0821485800308107,0.08142732752524562,0.08070607501968052,0.07998482251411544,0.07926357000855035,0.07854231750298525,0.07782106499742016,0.06777035621653828,0.05771964743565642,0.047668938654774555,0.1840774675578471,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08639017223433054,0.072298105650426,0.058206039066521456,0.04411397248261691,0.03002190589871237,0.015929839314807827,0.4360312911138857,0.2570086742386991,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06289061296891138,0.07494573750446132,0.08700086204001126,0.0990559865755612,0.1111111111111111,0.12316623564666103,0.13522136018221098,0.14727648471776092,0.15933160925331086,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.42769406985240016,0.5723059301475999,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01944457376594385,0.17314819125531464,0.3268518087446854,0.48055542623405617,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04416181104217369,0.9462131696709889,0.00962501928683751,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15841459772223296,0.841585402277767,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05551273527491175,0.06172724217357046,0.06794174907222916,0.07415625597088787,0.1185599553333728,0.16296365469585772,0.2073673540583426,0.25177105342082756,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09620006551675182,0.08899749126414866,0.08179491701154551,0.07459234275894235,0.0673897685063392,0.06018719425373604,0.052984620001132875,0.045782045748529725,0.03857947149592656,0.031376897243323404,0.024174322990720247,0.03335979562236702,0.042545268254013786,0.05173074088566055,0.06091621351730732,0.07010168614895408,0.07928715878060086,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.360876439497179,0.639123560502821,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 -eatout,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -eatout,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 -eatout,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6563319176641682,0.34366808233583185,0.0,0.0 -eatout,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 -eatout,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -eatout,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 -eatout,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 -eatout,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 diff --git a/activitysim/examples/example_semcog/configs/workplace_location.csv b/activitysim/examples/example_semcog/configs/workplace_location.csv deleted file mode 100755 index 2cc4838383..0000000000 --- a/activitysim/examples/example_semcog/configs/workplace_location.csv +++ /dev/null @@ -1,16 +0,0 @@ -Label,Description,Expression,coefficient -local_dist,,_DIST@skims['DIST'],1 -util_dist,Distance,@_DIST,coef_dist -util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",coef_dist_squared -util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",coef_dist_cubed -util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),coef_dist_logged -util_dist_low,"Distance,low income",@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,coef_dist_low_inc -util_dist_med,"Distance,med income",@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,coef_dist_med_inc -util_dist_high,"Distance,high income",@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,coef_dist_high_inc -util_dist_part_time,"Distance,part_time",@(df['pemploy']==2) * _DIST,coef_dist_part_time -util_dist_student,"Distance,student",@(df['is_student']==True) * _DIST,coef_dist_student -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 -util_no_attractions,No attractions,@df['size_term']==0,-999 -util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum -util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1 diff --git a/activitysim/examples/example_semcog/configs/workplace_location.yaml b/activitysim/examples/example_semcog/configs/workplace_location.yaml deleted file mode 100755 index 54cbe3129f..0000000000 --- a/activitysim/examples/example_semcog/configs/workplace_location.yaml +++ /dev/null @@ -1,77 +0,0 @@ -SAMPLE_SIZE: 30 - -SIMULATE_CHOOSER_COLUMNS: - - income_segment - - home_zone_id - - is_student - - pemploy - -SAMPLE_SPEC: workplace_location_sample.csv -SPEC: workplace_location.csv -COEFFICIENTS: workplace_location_coeffs.csv - -LOGSUM_SETTINGS: tour_mode_choice.yaml -LOGSUM_PREPROCESSOR: nontour_preprocessor -LOGSUM_TOUR_PURPOSE: work - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: home_zone_id -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 17 -OUT_PERIOD: 8 - -DEST_CHOICE_COLUMN_NAME: workplace_zone_id -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table -DEST_CHOICE_LOGSUM_COLUMN_NAME: workplace_location_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: workplace_location_sample - -annotate_persons: - SPEC: annotate_persons_workplace - DF: persons - TABLES: - - land_use - -annotate_households: - SPEC: annotate_households_workplace - DF: households - TABLES: - - persons - -# - shadow pricing - - -# income_segment is in households, but we want to count persons -CHOOSER_TABLE_NAME: persons_merged - -# size_terms model_selector -MODEL_SELECTOR: workplace - -# we can't use use household income_segment as this will also be set for non-workers -CHOOSER_SEGMENT_COLUMN_NAME: income_segment - -# boolean column to filter choosers (True means keep) -CHOOSER_FILTER_COLUMN_NAME: is_out_of_home_worker - -# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this -# FIXME - these are not needed for this model and should be re/factored out -SEGMENT_IDS: - work_low: 1 - work_med: 2 - work_high: 3 - work_veryhigh: 4 - -CONSTANTS: - WORK_LOW_SEGMENT_ID: 1 - WORK_MED_SEGMENT_ID: 2 - WORK_HIGH_SEGMENT_ID: 3 - WORK_VERYHIGH_SEGMENT_ID: 4 - - -# model adds these tables (informational - not added if commented out) -SHADOW_PRICE_TABLE: workplace_shadow_prices -MODELED_SIZE_TABLE: workplace_modeled_size - -# not loaded if commented out -SAVED_SHADOW_PRICE_TABLE_NAME: final_workplace_shadow_prices.csv diff --git a/activitysim/examples/example_semcog/configs/workplace_location_coeffs.csv b/activitysim/examples/example_semcog/configs/workplace_location_coeffs.csv deleted file mode 100755 index aa75a35b91..0000000000 --- a/activitysim/examples/example_semcog/configs/workplace_location_coeffs.csv +++ /dev/null @@ -1,11 +0,0 @@ -coefficient_name,value,constrain -coef_dist,-0.063338148,F -coef_dist_squared,0.001294031,F -coef_dist_cubed,-6.70E-05,F -coef_dist_logged,-0.479603662,F -coef_dist_low_inc,-0.029396589,F -coef_dist_med_inc,-0.024858401,F -coef_dist_high_inc,-0.013891636,F -coef_dist_part_time,-0.047762376,F -coef_dist_student,-0.024044614,F -coef_mode_logsum,0.25,F diff --git a/activitysim/examples/example_semcog/configs/workplace_location_sample.csv b/activitysim/examples/example_semcog/configs/workplace_location_sample.csv deleted file mode 100755 index e6caa34418..0000000000 --- a/activitysim/examples/example_semcog/configs/workplace_location_sample.csv +++ /dev/null @@ -1,14 +0,0 @@ -Label,Description,Expression,coefficient -local_dist,,_DIST@skims['DIST'],1 -util_dist,Distance,@_DIST,coef_dist -util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",coef_dist_squared -util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",coef_dist_cubed -util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),coef_dist_logged -util_dist_low,"Distance,low income",@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,coef_dist_low_inc -util_dist_med,"Distance,med income",@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,coef_dist_med_inc -util_dist_high,"Distance,high income",@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,coef_dist_high_inc -util_dist_part_time,"Distance,part_time",@(df['pemploy']==2) * _DIST,coef_dist_part_time -util_dist_student,"Distance,student",@(df['is_student']==True) * _DIST,coef_dist_student -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 -util_no_attractions,No attractions,@df['size_term']==0,-999 diff --git a/activitysim/examples/example_semcog/configs/write_trip_matrices.yaml b/activitysim/examples/example_semcog/configs/write_trip_matrices.yaml deleted file mode 100755 index 3acdef9106..0000000000 --- a/activitysim/examples/example_semcog/configs/write_trip_matrices.yaml +++ /dev/null @@ -1,258 +0,0 @@ -# read trips table post preprocessor and run expressions to code -# additional data fields, with one data fields for each matrix specified below - -preprocessor: - SPEC: write_trip_matrices_annotate_trips_preprocessor - DF: trips - TABLES: - - tours - -# divide trip counts by household expansion factor -HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in - -# save preprocessed trips table to pipeline if desired -SAVE_TRIPS_TABLE: False - -MATRICES: - - file_name: trips_ea.omx - tables: - - name: DRIVEALONE - data_field: DRIVEALONE_EA - - name: SHARED2 - data_field: SHARED2_EA - - name: SHARED3 - data_field: SHARED3_EA - - name: WALK - data_field: WALK_EA - - name: BIKE - data_field: BIKE_EA - - name: WALK_LOC - data_field: WALK_LOC_EA - - name: WALK_PRM - data_field: WALK_PRM_EA - - name: WALK_MIX - data_field: WALK_MIX_EA - - name: PNR_LOC - data_field: PNR_LOC_EA - - name: PNR_PRM - data_field: PNR_PRM_EA - - name: PNR_MIX - data_field: PNR_MIX_EA - - name: KNR_LOC - data_field: KNR_LOC_EA - - name: KNR_PRM - data_field: KNR_PRM_EA - - name: KNR_MIX - data_field: KNR_MIX_EA - - name: PNRE_LOC - data_field: PNRE_LOC_EA - - name: PNRE_PRM - data_field: PNRE_PRM_EA - - name: PNRE_MIX - data_field: PNRE_MIX_EA - - name: KNRE_LOC - data_field: KNRE_LOC_EA - - name: KNRE_PRM - data_field: KNRE_PRM_EA - - name: KNRE_MIX - data_field: KNRE_MIX_EA - - name: SCHOOLBUS - data_field: SCHOOLBUS_EA - - file_name: trips_am.omx - tables: - - name: DRIVEALONE - data_field: DRIVEALONE_AM - - name: SHARED2 - data_field: SHARED2_AM - - name: SHARED3 - data_field: SHARED3_AM - - name: WALK - data_field: WALK_AM - - name: BIKE - data_field: BIKE_AM - - name: WALK_LOC - data_field: WALK_LOC_AM - - name: WALK_PRM - data_field: WALK_PRM_AM - - name: WALK_MIX - data_field: WALK_MIX_AM - - name: PNR_LOC - data_field: PNR_LOC_AM - - name: PNR_PRM - data_field: PNR_PRM_AM - - name: PNR_MIX - data_field: PNR_MIX_AM - - name: KNR_LOC - data_field: KNR_LOC_AM - - name: KNR_PRM - data_field: KNR_PRM_AM - - name: KNR_MIX - data_field: KNR_MIX_AM - - name: PNRE_LOC - data_field: PNRE_LOC_AM - - name: PNRE_PRM - data_field: PNRE_PRM_AM - - name: PNRE_MIX - data_field: PNRE_MIX_AM - - name: KNRE_LOC - data_field: KNRE_LOC_AM - - name: KNRE_PRM - data_field: KNRE_PRM_AM - - name: KNRE_MIX - data_field: KNRE_MIX_AM - - name: SCHOOLBUS - data_field: SCHOOLBUS_AM - - file_name: trips_md.omx - tables: - - name: DRIVEALONE - data_field: DRIVEALONE_MD - - name: SHARED2 - data_field: SHARED2_MD - - name: SHARED3 - data_field: SHARED3_MD - - name: WALK - data_field: WALK_MD - - name: BIKE - data_field: BIKE_MD - - name: WALK_LOC - data_field: WALK_LOC_MD - - name: WALK_PRM - data_field: WALK_PRM_MD - - name: WALK_MIX - data_field: WALK_MIX_MD - - name: PNR_LOC - data_field: PNR_LOC_MD - - name: PNR_PRM - data_field: PNR_PRM_MD - - name: PNR_MIX - data_field: PNR_MIX_MD - - name: KNR_LOC - data_field: KNR_LOC_MD - - name: KNR_PRM - data_field: KNR_PRM_MD - - name: KNR_MIX - data_field: KNR_MIX_MD - - name: PNRE_LOC - data_field: PNRE_LOC_MD - - name: PNRE_PRM - data_field: PNRE_PRM_MD - - name: PNRE_MIX - data_field: PNRE_MIX_MD - - name: KNRE_LOC - data_field: KNRE_LOC_MD - - name: KNRE_PRM - data_field: KNRE_PRM_MD - - name: KNRE_MIX - data_field: KNRE_MIX_MD - - name: SCHOOLBUS - data_field: SCHOOLBUS_MD - - file_name: trips_pm.omx - tables: - - name: DRIVEALONE - data_field: DRIVEALONE_PM - - name: SHARED2 - data_field: SHARED2_PM - - name: SHARED3 - data_field: SHARED3_PM - - name: WALK - data_field: WALK_PM - - name: BIKE - data_field: BIKE_PM - - name: WALK_LOC - data_field: WALK_LOC_PM - - name: WALK_PRM - data_field: WALK_PRM_PM - - name: WALK_MIX - data_field: WALK_MIX_PM - - name: PNR_LOC - data_field: PNR_LOC_PM - - name: PNR_PRM - data_field: PNR_PRM_PM - - name: PNR_MIX - data_field: PNR_MIX_PM - - name: KNR_LOC - data_field: KNR_LOC_PM - - name: KNR_PRM - data_field: KNR_PRM_PM - - name: KNR_MIX - data_field: KNR_MIX_PM - - name: PNRE_LOC - data_field: PNRE_LOC_PM - - name: PNRE_PRM - data_field: PNRE_PRM_PM - - name: PNRE_MIX - data_field: PNRE_MIX_PM - - name: KNRE_LOC - data_field: KNRE_LOC_PM - - name: KNRE_PRM - data_field: KNRE_PRM_PM - - name: KNRE_MIX - data_field: KNRE_MIX_PM - - name: SCHOOLBUS - data_field: SCHOOLBUS_PM - - file_name: trips_ev.omx - tables: - - name: DRIVEALONE - data_field: DRIVEALONE_EV - - name: SHARED2 - data_field: SHARED2_EV - - name: SHARED3 - data_field: SHARED3_EV - - name: WALK - data_field: WALK_EV - - name: BIKE - data_field: BIKE_EV - - name: WALK_LOC - data_field: WALK_LOC_EV - - name: WALK_PRM - data_field: WALK_PRM_EV - - name: WALK_MIX - data_field: WALK_MIX_EV - - name: PNR_LOC - data_field: PNR_LOC_EV - - name: PNR_PRM - data_field: PNR_PRM_EV - - name: PNR_MIX - data_field: PNR_MIX_EV - - name: KNR_LOC - data_field: KNR_LOC_EV - - name: KNR_PRM - data_field: KNR_PRM_EV - - name: KNR_MIX - data_field: KNR_MIX_EV - - name: PNRE_LOC - data_field: PNRE_LOC_EV - - name: PNRE_PRM - data_field: PNRE_PRM_EV - - name: PNRE_MIX - data_field: PNRE_MIX_EV - - name: KNRE_LOC - data_field: KNRE_LOC_EV - - name: KNRE_PRM - data_field: KNRE_PRM_EV - - name: KNRE_MIX - data_field: KNRE_MIX_EV - - name: SCHOOLBUS - data_field: SCHOOLBUS_EV - -CONSTANTS: - time_periods: - EA: - first_hour: 1 - last_hour: 6 - AM: - first_hour: 7 - last_hour: 12 - MD: - first_hour: 13 - last_hour: 24 - PM: - first_hour: 25 - last_hour: 32 - EV: - first_hour: 33 - last_hour: 48 - - # SHARED2 and SHARED2 Occupancies - OCC_SHARED2: 2.0 - OCC_SHARED3: 3.33 diff --git a/activitysim/examples/example_semcog/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/example_semcog/configs/write_trip_matrices_annotate_trips_preprocessor.csv deleted file mode 100755 index 163aaf21a7..0000000000 --- a/activitysim/examples/example_semcog/configs/write_trip_matrices_annotate_trips_preprocessor.csv +++ /dev/null @@ -1,120 +0,0 @@ -Description,Target,Expression -# add additional fields,, -,tour_participants,trips.tour_id.map(tours.number_of_participants) -,distance,od_skims['DIST'] -# code time periods,, -,is_ea,"trips.depart.between(time_periods['EA']['first_hour'], time_periods['EA']['last_hour'])" -,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" -,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" -,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" -,is_ev,"trips.depart.between(time_periods['EV']['first_hour'], time_periods['EV']['last_hour'])" -# ea trips,, -,DRIVEALONE_EA,((trips.trip_mode == 'DRIVEALONE') & is_ea) * tour_participants -,SHARED2_EA,((trips.trip_mode == 'SHARED2') & is_ea) * tour_participants / OCC_SHARED2 -,SHARED3_EA,((trips.trip_mode == 'SHARED3') & is_ea) * tour_participants / OCC_SHARED3 -,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants -,BIKE_EA,((trips.trip_mode == 'BIKE') & is_ea) * tour_participants -,WALK_LOC_EA,((trips.trip_mode == 'WALK_LOC') & is_ea) * tour_participants -,WALK_PRM_EA,((trips.trip_mode == 'WALK_PRM') & is_ea) * tour_participants -,WALK_MIX_EA,((trips.trip_mode == 'WALK_MIX') & is_ea) * tour_participants -,PNR_LOC_EA,((trips.trip_mode == 'PNR_LOC') & is_ea & trips.outbound) * tour_participants -,PNR_PRM_EA,((trips.trip_mode == 'PNR_PRM') & is_ea & trips.outbound) * tour_participants -,PNR_MIX_EA,((trips.trip_mode == 'PNR_MIX') & is_ea & trips.outbound) * tour_participants -,KNR_LOC_EA,((trips.trip_mode == 'KNR_LOC') & is_ea & trips.outbound) * tour_participants -,KNR_PRM_EA,((trips.trip_mode == 'KNR_PRM') & is_ea & trips.outbound) * tour_participants -,KNR_MIX_EA,((trips.trip_mode == 'KNR_MIX') & is_ea & trips.outbound) * tour_participants -,PNRE_LOC_EA,((trips.trip_mode == 'PNR_LOC') & is_ea & ~trips.outbound) * tour_participants -,PNRE_PRM_EA,((trips.trip_mode == 'PNR_PRM') & is_ea & ~trips.outbound) * tour_participants -,PNRE_MIX_EA,((trips.trip_mode == 'PNR_MIX') & is_ea & ~trips.outbound) * tour_participants -,KNRE_LOC_EA,((trips.trip_mode == 'KNR_LOC') & is_ea & ~trips.outbound) * tour_participants -,KNRE_PRM_EA,((trips.trip_mode == 'KNR_PRM') & is_ea & ~trips.outbound) * tour_participants -,KNRE_MIX_EA,((trips.trip_mode == 'KNR_MIX') & is_ea & ~trips.outbound) * tour_participants -,SCHOOLBUS_EA,((trips.trip_mode == 'SCHOOLBUS') & is_ea) * tour_participants -# am trips,, -,DRIVEALONE_AM,((trips.trip_mode == 'DRIVEALONE') & is_am) * tour_participants -,SHARED2_AM,((trips.trip_mode == 'SHARED2') & is_am) * tour_participants / OCC_SHARED2 -,SHARED3_AM,((trips.trip_mode == 'SHARED3') & is_am) * tour_participants / OCC_SHARED3 -,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants -,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants -,WALK_LOC_AM,((trips.trip_mode == 'WALK_LOC') & is_am) * tour_participants -,WALK_PRM_AM,((trips.trip_mode == 'WALK_PRM') & is_am) * tour_participants -,WALK_MIX_AM,((trips.trip_mode == 'WALK_MIX') & is_am) * tour_participants -,PNR_LOC_AM,((trips.trip_mode == 'PNR_LOC') & is_am & trips.outbound) * tour_participants -,PNR_PRM_AM,((trips.trip_mode == 'PNR_PRM') & is_am & trips.outbound) * tour_participants -,PNR_MIX_AM,((trips.trip_mode == 'PNR_MIX') & is_am & trips.outbound) * tour_participants -,KNR_LOC_AM,((trips.trip_mode == 'KNR_LOC') & is_am & trips.outbound) * tour_participants -,KNR_PRM_AM,((trips.trip_mode == 'KNR_PRM') & is_am & trips.outbound) * tour_participants -,KNR_MIX_AM,((trips.trip_mode == 'KNR_MIX') & is_am & trips.outbound) * tour_participants -,PNRE_LOC_AM,((trips.trip_mode == 'PNR_LOC') & is_am & ~trips.outbound) * tour_participants -,PNRE_PRM_AM,((trips.trip_mode == 'PNR_PRM') & is_am & ~trips.outbound) * tour_participants -,PNRE_MIX_AM,((trips.trip_mode == 'PNR_MIX') & is_am & ~trips.outbound) * tour_participants -,KNRE_LOC_AM,((trips.trip_mode == 'KNR_LOC') & is_am & ~trips.outbound) * tour_participants -,KNRE_PRM_AM,((trips.trip_mode == 'KNR_PRM') & is_am & ~trips.outbound) * tour_participants -,KNRE_MIX_AM,((trips.trip_mode == 'KNR_MIX') & is_am & ~trips.outbound) * tour_participants -,SCHOOLBUS_AM,((trips.trip_mode == 'SCHOOLBUS') & is_am) * tour_participants -# md trips,, -,DRIVEALONE_MD,((trips.trip_mode == 'DRIVEALONE') & is_md) * tour_participants -,SHARED2_MD,((trips.trip_mode == 'SHARED2') & is_md) * tour_participants / OCC_SHARED2 -,SHARED3_MD,((trips.trip_mode == 'SHARED3') & is_md) * tour_participants / OCC_SHARED3 -,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants -,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants -,WALK_LOC_MD,((trips.trip_mode == 'WALK_LOC') & is_md) * tour_participants -,WALK_PRM_MD,((trips.trip_mode == 'WALK_PRM') & is_md) * tour_participants -,WALK_MIX_MD,((trips.trip_mode == 'WALK_MIX') & is_md) * tour_participants -,PNR_LOC_MD,((trips.trip_mode == 'PNR_LOC') & is_md & trips.outbound) * tour_participants -,PNR_PRM_MD,((trips.trip_mode == 'PNR_PRM') & is_md & trips.outbound) * tour_participants -,PNR_MIX_MD,((trips.trip_mode == 'PNR_MIX') & is_md & trips.outbound) * tour_participants -,KNR_LOC_MD,((trips.trip_mode == 'KNR_LOC') & is_md & trips.outbound) * tour_participants -,KNR_PRM_MD,((trips.trip_mode == 'KNR_PRM') & is_md & trips.outbound) * tour_participants -,KNR_MIX_MD,((trips.trip_mode == 'KNR_MIX') & is_md & trips.outbound) * tour_participants -,PNRE_LOC_MD,((trips.trip_mode == 'PNR_LOC') & is_md & ~trips.outbound) * tour_participants -,PNRE_PRM_MD,((trips.trip_mode == 'PNR_PRM') & is_md & ~trips.outbound) * tour_participants -,PNRE_MIX_MD,((trips.trip_mode == 'PNR_MIX') & is_md & ~trips.outbound) * tour_participants -,KNRE_LOC_MD,((trips.trip_mode == 'KNR_LOC') & is_md & ~trips.outbound) * tour_participants -,KNRE_PRM_MD,((trips.trip_mode == 'KNR_PRM') & is_md & ~trips.outbound) * tour_participants -,KNRE_MIX_MD,((trips.trip_mode == 'KNR_MIX') & is_md & ~trips.outbound) * tour_participants -,SCHOOLBUS_MD,((trips.trip_mode == 'SCHOOLBUS') & is_md) * tour_participants -# pm trips,, -,DRIVEALONE_PM,((trips.trip_mode == 'DRIVEALONE') & is_pm) * tour_participants -,SHARED2_PM,((trips.trip_mode == 'SHARED2') & is_pm) * tour_participants / OCC_SHARED2 -,SHARED3_PM,((trips.trip_mode == 'SHARED3') & is_pm) * tour_participants / OCC_SHARED3 -,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants -,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants -,WALK_LOC_PM,((trips.trip_mode == 'WALK_LOC') & is_pm) * tour_participants -,WALK_PRM_PM,((trips.trip_mode == 'WALK_PRM') & is_pm) * tour_participants -,WALK_MIX_PM,((trips.trip_mode == 'WALK_MIX') & is_pm) * tour_participants -,PNR_LOC_PM,((trips.trip_mode == 'PNR_LOC') & is_pm & trips.outbound) * tour_participants -,PNR_PRM_PM,((trips.trip_mode == 'PNR_PRM') & is_pm & trips.outbound) * tour_participants -,PNR_MIX_PM,((trips.trip_mode == 'PNR_MIX') & is_pm & trips.outbound) * tour_participants -,KNR_LOC_PM,((trips.trip_mode == 'KNR_LOC') & is_pm & trips.outbound) * tour_participants -,KNR_PRM_PM,((trips.trip_mode == 'KNR_PRM') & is_pm & trips.outbound) * tour_participants -,KNR_MIX_PM,((trips.trip_mode == 'KNR_MIX') & is_pm & trips.outbound) * tour_participants -,PNRE_LOC_PM,((trips.trip_mode == 'PNR_LOC') & is_pm & ~trips.outbound) * tour_participants -,PNRE_PRM_PM,((trips.trip_mode == 'PNR_PRM') & is_pm & ~trips.outbound) * tour_participants -,PNRE_MIX_PM,((trips.trip_mode == 'PNR_MIX') & is_pm & ~trips.outbound) * tour_participants -,KNRE_LOC_PM,((trips.trip_mode == 'KNR_LOC') & is_pm & ~trips.outbound) * tour_participants -,KNRE_PRM_PM,((trips.trip_mode == 'KNR_PRM') & is_pm & ~trips.outbound) * tour_participants -,KNRE_MIX_PM,((trips.trip_mode == 'KNR_MIX') & is_pm & ~trips.outbound) * tour_participants -,SCHOOLBUS_PM,((trips.trip_mode == 'SCHOOLBUS') & is_pm) * tour_participants -# ev trips,, -,DRIVEALONE_EV,((trips.trip_mode == 'DRIVEALONE') & is_ev) * tour_participants -,SHARED2_EV,((trips.trip_mode == 'SHARED2') & is_ev) * tour_participants / OCC_SHARED2 -,SHARED3_EV,((trips.trip_mode == 'SHARED3') & is_ev) * tour_participants / OCC_SHARED3 -,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants -,BIKE_EV,((trips.trip_mode == 'BIKE') & is_ev) * tour_participants -,WALK_LOC_EV,((trips.trip_mode == 'WALK_LOC') & is_ev) * tour_participants -,WALK_PRM_EV,((trips.trip_mode == 'WALK_PRM') & is_ev) * tour_participants -,WALK_MIX_EV,((trips.trip_mode == 'WALK_MIX') & is_ev) * tour_participants -,PNR_LOC_EV,((trips.trip_mode == 'PNR_LOC') & is_ev & trips.outbound) * tour_participants -,PNR_PRM_EV,((trips.trip_mode == 'PNR_PRM') & is_ev & trips.outbound) * tour_participants -,PNR_MIX_EV,((trips.trip_mode == 'PNR_MIX') & is_ev & trips.outbound) * tour_participants -,KNR_LOC_EV,((trips.trip_mode == 'KNR_LOC') & is_ev & trips.outbound) * tour_participants -,KNR_PRM_EV,((trips.trip_mode == 'KNR_PRM') & is_ev & trips.outbound) * tour_participants -,KNR_MIX_EV,((trips.trip_mode == 'KNR_MIX') & is_ev & trips.outbound) * tour_participants -,PNRE_LOC_EV,((trips.trip_mode == 'PNR_LOC') & is_ev & ~trips.outbound) * tour_participants -,PNRE_PRM_EV,((trips.trip_mode == 'PNR_PRM') & is_ev & ~trips.outbound) * tour_participants -,PNRE_MIX_EV,((trips.trip_mode == 'PNR_MIX') & is_ev & ~trips.outbound) * tour_participants -,KNRE_LOC_EV,((trips.trip_mode == 'KNR_LOC') & is_ev & ~trips.outbound) * tour_participants -,KNRE_PRM_EV,((trips.trip_mode == 'KNR_PRM') & is_ev & ~trips.outbound) * tour_participants -,KNRE_MIX_EV,((trips.trip_mode == 'KNR_MIX') & is_ev & ~trips.outbound) * tour_participants -,SCHOOLBUS_EV,((trips.trip_mode == 'SCHOOLBUS') & is_ev) * tour_participants diff --git a/activitysim/examples/example_semcog/configs_mp/logging.yaml b/activitysim/examples/example_semcog/configs_mp/logging.yaml deleted file mode 100755 index 779b63632d..0000000000 --- a/activitysim/examples/example_semcog/configs_mp/logging.yaml +++ /dev/null @@ -1,57 +0,0 @@ -# Config for logging -# ------------------ -# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema - -logging: - version: 1 - disable_existing_loggers: true - - - # Configuring the default (root) logger is highly recommended - root: - level: DEBUG - handlers: [console, logfile] - - loggers: - - activitysim: - level: DEBUG - handlers: [console, logfile] - propagate: false - - orca: - level: WARNING - handlers: [console, logfile] - propagate: false - - handlers: - - logfile: - class: logging.FileHandler - filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] - mode: w - formatter: fileFormatter - level: NOTSET - - console: - class: logging.StreamHandler - stream: ext://sys.stdout - formatter: simpleFormatter - #level: NOTSET - level: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [WARNING, NOTSET] - - formatters: - - simpleFormatter: - class: logging.Formatter - #format: '%(processName)-10s %(levelname)s - %(name)s - %(message)s' - format: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [ - '%(processName)-10s %(levelname)s - %(name)s - %(message)s', - '%(levelname)s - %(name)s - %(message)s'] - datefmt: '%d/%m/%Y %H:%M:%S' - - fileFormatter: - class: logging.Formatter - format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - diff --git a/activitysim/examples/example_semcog/configs_mp/settings.yaml b/activitysim/examples/example_semcog/configs_mp/settings.yaml deleted file mode 100755 index 07e443c48b..0000000000 --- a/activitysim/examples/example_semcog/configs_mp/settings.yaml +++ /dev/null @@ -1,97 +0,0 @@ -inherit_settings: True - -# raise error if any sub-process fails without waiting for others to complete -fail_fast: True - -# - ------------------------- dev config -multiprocess: True -strict: False -use_shadow_pricing: True - - -## - example sample -households_sample_size: 0 -chunk_size: 0 -num_processes: 24 - -# - tracing -trace_hh_id: -trace_od: -#trace_hh_id: 1482966 -#trace_od: [5, 11] - -# to resume after last successful checkpoint, specify resume_after: _ -resume_after: - -models: - ### mp_initialize step - - initialize_landuse - - initialize_households - - compute_accessibility - - work_from_home - - add_size_tables - ### mp_households step - - school_location - - workplace_location - - auto_ownership_simulate - - free_parking - - telecommute_frequency - - cdap_simulate - - mandatory_tour_frequency - - mandatory_tour_scheduling - - joint_tour_frequency - - joint_tour_composition - - joint_tour_participation - - joint_tour_destination - - joint_tour_scheduling - - non_mandatory_tour_frequency - - non_mandatory_tour_destination - - non_mandatory_tour_scheduling - - tour_mode_choice_simulate - - atwork_subtour_frequency - - atwork_subtour_destination - - atwork_subtour_scheduling - - atwork_subtour_mode_choice - - stop_frequency - - trip_purpose - - trip_destination - - trip_purpose_and_destination - - trip_scheduling - - trip_mode_choice - ### mp_summarize step - - write_data_dictionary - - write_tables - - write_trip_matrices - -multiprocess_steps: - - name: mp_initialize - begin: initialize_landuse - - name: mp_households - begin: school_location - slice: - tables: - - households - - persons - - name: mp_summarize - begin: write_data_dictionary - - -output_tables: - action: include - prefix: final_ - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - trips - - school_shadow_prices - - workplace_shadow_prices - - joint_tour_participants - -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -#read_skim_cache: True -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -#write_skim_cache: True diff --git a/activitysim/examples/example_semcog/configs_mp/shadow_pricing.yaml b/activitysim/examples/example_semcog/configs_mp/shadow_pricing.yaml deleted file mode 100755 index 57b462b160..0000000000 --- a/activitysim/examples/example_semcog/configs_mp/shadow_pricing.yaml +++ /dev/null @@ -1,37 +0,0 @@ - -inherit_settings: True - -shadow_pricing_models: - school: school_location - workplace: workplace_location - -# global switch to enable/disable loading of saved shadow prices -# (ignored if global use_shadow_pricing switch is False) -LOAD_SAVED_SHADOW_PRICES: False - -# number of shadow price iterations for cold start -MAX_ITERATIONS: 10 - -# number of shadow price iterations for warm start (after loading saved shadow_prices) -MAX_ITERATIONS_SAVED: 1 - -# ignore criteria for zones smaller than size_threshold -SIZE_THRESHOLD: 10 - -# zone passes if modeled is within percent_tolerance of predicted_size -PERCENT_TOLERANCE: 5 - -# max percentage of zones allowed to fail -FAIL_THRESHOLD: 1 - -# CTRAMP or daysim -SHADOW_PRICE_METHOD: ctramp -#SHADOW_PRICE_METHOD: daysim - -# ctramp-style shadow_pricing_method parameters -DAMPING_FACTOR: 1 - -# daysim-style shadow_pricing_method parameters -# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? -DAYSIM_ABSOLUTE_TOLERANCE: 50 -DAYSIM_PERCENT_TOLERANCE: 10 diff --git a/activitysim/examples/example_semcog/extensions/__init__.py b/activitysim/examples/example_semcog/extensions/__init__.py deleted file mode 100644 index 9c468e1ebe..0000000000 --- a/activitysim/examples/example_semcog/extensions/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from . import work_from_home -from . import telecommute_frequency -from . import transit_pass_subsidy -from . import transit_pass_ownership diff --git a/activitysim/examples/example_semcog/extensions/telecommute_frequency.py b/activitysim/examples/example_semcog/extensions/telecommute_frequency.py deleted file mode 100755 index bbe72e11f1..0000000000 --- a/activitysim/examples/example_semcog/extensions/telecommute_frequency.py +++ /dev/null @@ -1,98 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import logging - -import pandas as pd - -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import expressions - -from activitysim.abm.models.util import estimation - -logger = logging.getLogger("activitysim") - - -@inject.step() -def telecommute_frequency( - persons_merged, persons, - chunk_size, trace_hh_id): - """ - This model predicts the frequency of telecommute for a person (worker) who - does not works from home. The alternatives of this model are 'No Telecommute', - '1 day per week', '2 to 3 days per week' and '4 days per week'. This model - reflects the choices of people who prefer a combination of working from home and - office during a week. - """ - - trace_label = 'telecommute_frequency' - model_settings_file_name = 'telecommute_frequency.yaml' - - choosers = persons_merged.to_frame() - choosers = choosers[choosers.workplace_zone_id > -1] - - logger.info("Running %s with %d persons", trace_label, len(choosers)) - - model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('telecommute_frequency') - - constants = config.get_model_constants(model_settings) - - # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) - if preprocessor_settings: - - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label) - - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) - coefficients_df = simulate.read_model_coefficients(model_settings) - model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) - - nest_spec = config.get_logit_model_settings(model_settings) - - if estimator: - estimator.write_model_settings(model_settings, model_settings_file_name) - estimator.write_spec(model_settings) - estimator.write_coefficients(coefficients_df) - estimator.write_choosers(choosers) - - choices = simulate.simple_simulate( - choosers=choosers, - spec=model_spec, - nest_spec=nest_spec, - locals_d=constants, - chunk_size=chunk_size, - trace_label=trace_label, - trace_choice_name='telecommute_frequency', - estimator=estimator) - - choices = pd.Series(model_spec.columns[choices.values], index=choices.index) - - if estimator: - estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'telecommute_frequency') - estimator.write_override_choices(choices) - estimator.end_estimation() - - persons = persons.to_frame() - persons['telecommute_frequency'] = choices.reindex(persons.index).fillna('').astype(str) - - pipeline.replace_table("persons", persons) - - tracing.print_summary('telecommute_frequency', persons.telecommute_frequency, value_counts=True) - - if trace_hh_id: - tracing.trace_df(persons, - label=trace_label, - warn_if_empty=True) diff --git a/activitysim/examples/example_semcog/extensions/transit_pass_ownership.py b/activitysim/examples/example_semcog/extensions/transit_pass_ownership.py deleted file mode 100644 index 1b9d3c1fae..0000000000 --- a/activitysim/examples/example_semcog/extensions/transit_pass_ownership.py +++ /dev/null @@ -1,90 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import logging - -import numpy as np - -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import expressions - -from activitysim.abm.models.util import estimation - -logger = logging.getLogger("activitysim") - - -@inject.step() -def transit_pass_ownership( - persons_merged, persons, - chunk_size, trace_hh_id): - """ - Transit pass ownership model. - """ - - trace_label = 'transit_pass_ownership' - model_settings_file_name = 'transit_pass_ownership.yaml' - - choosers = persons_merged.to_frame() - logger.info("Running %s with %d persons", trace_label, len(choosers)) - - model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('transit_pass_ownership') - - constants = config.get_model_constants(model_settings) - - # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) - if preprocessor_settings: - - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label) - - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) - coefficients_df = simulate.read_model_coefficients(model_settings) - model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) - - nest_spec = config.get_logit_model_settings(model_settings) - - if estimator: - estimator.write_model_settings(model_settings, model_settings_file_name) - estimator.write_spec(model_settings) - estimator.write_coefficients(coefficients_df) - estimator.write_choosers(choosers) - - choices = simulate.simple_simulate( - choosers=choosers, - spec=model_spec, - nest_spec=nest_spec, - locals_d=constants, - chunk_size=chunk_size, - trace_label=trace_label, - trace_choice_name='transit_pass_ownership', - estimator=estimator) - - if estimator: - estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'transit_pass_ownership') - estimator.write_override_choices(choices) - estimator.end_estimation() - - persons = persons.to_frame() - persons['transit_pass_ownership'] = choices.reindex(persons.index) - - pipeline.replace_table("persons", persons) - - tracing.print_summary('transit_pass_ownership', persons.transit_pass_ownership, value_counts=True) - - if trace_hh_id: - tracing.trace_df(persons, - label=trace_label, - warn_if_empty=True) diff --git a/activitysim/examples/example_semcog/extensions/transit_pass_subsidy.py b/activitysim/examples/example_semcog/extensions/transit_pass_subsidy.py deleted file mode 100644 index ddbcfbef32..0000000000 --- a/activitysim/examples/example_semcog/extensions/transit_pass_subsidy.py +++ /dev/null @@ -1,90 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import logging - -import numpy as np - -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import expressions - -from activitysim.abm.models.util import estimation - -logger = logging.getLogger("activitysim") - - -@inject.step() -def transit_pass_subsidy( - persons_merged, persons, - chunk_size, trace_hh_id): - """ - Transit pass subsidy model. - """ - - trace_label = 'transit_pass_subsidy' - model_settings_file_name = 'transit_pass_subsidy.yaml' - - choosers = persons_merged.to_frame() - logger.info("Running %s with %d persons", trace_label, len(choosers)) - - model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('transit_pass_subsidy') - - constants = config.get_model_constants(model_settings) - - # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) - if preprocessor_settings: - - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label) - - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) - coefficients_df = simulate.read_model_coefficients(model_settings) - model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) - - nest_spec = config.get_logit_model_settings(model_settings) - - if estimator: - estimator.write_model_settings(model_settings, model_settings_file_name) - estimator.write_spec(model_settings) - estimator.write_coefficients(coefficients_df) - estimator.write_choosers(choosers) - - choices = simulate.simple_simulate( - choosers=choosers, - spec=model_spec, - nest_spec=nest_spec, - locals_d=constants, - chunk_size=chunk_size, - trace_label=trace_label, - trace_choice_name='transit_pass_subsidy', - estimator=estimator) - - if estimator: - estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'transit_pass_subsidy') - estimator.write_override_choices(choices) - estimator.end_estimation() - - persons = persons.to_frame() - persons['transit_pass_subsidy'] = choices.reindex(persons.index) - - pipeline.replace_table("persons", persons) - - tracing.print_summary('transit_pass_subsidy', persons.transit_pass_subsidy, value_counts=True) - - if trace_hh_id: - tracing.trace_df(persons, - label=trace_label, - warn_if_empty=True) diff --git a/activitysim/examples/example_semcog/extensions/work_from_home.py b/activitysim/examples/example_semcog/extensions/work_from_home.py deleted file mode 100755 index f6e2728b23..0000000000 --- a/activitysim/examples/example_semcog/extensions/work_from_home.py +++ /dev/null @@ -1,135 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import logging - -import numpy as np - -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import expressions - -from activitysim.abm.models.util import estimation - -logger = logging.getLogger("activitysim") - - -@inject.step() -def work_from_home( - persons_merged, persons, - chunk_size, trace_hh_id): - """ - This model predicts whether a person (worker) works from home. The output - from this model is TRUE (if works from home) or FALSE (works away from home). - """ - - trace_label = 'work_from_home' - model_settings_file_name = 'work_from_home.yaml' - - choosers = persons_merged.to_frame() - model_settings = config.read_model_settings(model_settings_file_name) - chooser_filter_column_name = model_settings.get('CHOOSER_FILTER_COLUMN_NAME') - choosers = choosers[choosers[chooser_filter_column_name]] - logger.info("Running %s with %d persons", trace_label, len(choosers)) - - estimator = estimation.manager.begin_estimation('work_from_home') - - constants = config.get_model_constants(model_settings) - work_from_home_alt = model_settings['WORK_FROM_HOME_ALT'] - - # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) - if preprocessor_settings: - - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label) - - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) - coefficients_df = simulate.read_model_coefficients(model_settings) - - nest_spec = config.get_logit_model_settings(model_settings) - - if estimator: - estimator.write_model_settings(model_settings, model_settings_file_name) - estimator.write_spec(model_settings) - estimator.write_coefficients(coefficients_df) - estimator.write_choosers(choosers) - - # - iterative single process what-if adjustment if specified - iterations = model_settings.get('WORK_FROM_HOME_ITERATIONS', 1) - iterations_chooser_filter = model_settings.get('WORK_FROM_HOME_CHOOSER_FILTER', None) - iterations_coefficient_constant = model_settings.get('WORK_FROM_HOME_COEFFICIENT_CONSTANT', None) - iterations_target_percent = model_settings.get('WORK_FROM_HOME_TARGET_PERCENT', None) - iterations_target_percent_tolerance = model_settings.get('WORK_FROM_HOME_TARGET_PERCENT_TOLERANCE', None) - - for iteration in range(iterations): - - logger.info("Running %s with %d persons iteration %d", trace_label, len(choosers), iteration) - - # re-read spec to reset substitution - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) - model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) - - choices = simulate.simple_simulate( - choosers=choosers, - spec=model_spec, - nest_spec=nest_spec, - locals_d=constants, - chunk_size=chunk_size, - trace_label=trace_label, - trace_choice_name='work_from_home', - estimator=estimator) - - if iterations_target_percent is not None: - choices_for_filter = choices[choosers[iterations_chooser_filter]] - - current_percent = ((choices_for_filter == work_from_home_alt).sum() / len(choices_for_filter)) - logger.info("Running %s iteration %i choosers %i current percent %f target percent %f", - trace_label, iteration, len(choices_for_filter), current_percent, iterations_target_percent) - - if current_percent <= (iterations_target_percent + - iterations_target_percent_tolerance - ) and current_percent >= (iterations_target_percent - - iterations_target_percent_tolerance): - logger.info("Running %s iteration %i converged with coefficient %f", trace_label, iteration, - coefficients_df.value[iterations_coefficient_constant]) - break - - else: - new_value = np.log(iterations_target_percent / - np.maximum(current_percent, 0.0001) - ) + coefficients_df.value[iterations_coefficient_constant] - coefficients_df.value[iterations_coefficient_constant] = new_value - logger.info("Running %s iteration %i new coefficient for next iteration %f", - trace_label, iteration, new_value) - iteration = iteration + 1 - - choices = (choices == work_from_home_alt) - - if estimator: - estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'work_from_home') - estimator.write_override_choices(choices) - estimator.end_estimation() - - persons = persons.to_frame() - persons['work_from_home'] = choices.reindex(persons.index).fillna(0).astype(bool) - persons['is_out_of_home_worker'] = persons[chooser_filter_column_name] & ~persons['work_from_home'] - - pipeline.replace_table("persons", persons) - - tracing.print_summary('work_from_home', persons.work_from_home, value_counts=True) - - if trace_hh_id: - tracing.trace_df(persons, - label=trace_label, - warn_if_empty=True) diff --git a/activitysim/examples/example_semcog/scripts/reindex_household_ids.py b/activitysim/examples/example_semcog/scripts/reindex_household_ids.py deleted file mode 100644 index 65731e1e3a..0000000000 --- a/activitysim/examples/example_semcog/scripts/reindex_household_ids.py +++ /dev/null @@ -1,156 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -""" -reindex household_id in households and persons tables -legacy tables have household_ids starting at 930000000 -which causes headaches for activitysim's automatic generation of trip and tour ids based on hosuehold_id -(predictable trip and tour ids are used for repeatable random number stream generation) -""" - -import os - -import numpy as np -import pandas as pd - -import sys - -if sys.version_info[0] < 3: - raise Exception("Must be using Python 3") - -file_names = { - 'households': 'households.csv', - 'persons': 'persons.csv', - 'land_use': 'land_use.csv', -} - -land_use_zone_col = 'ZONE' -hh_zone_col = 'zone_id' - - -def drop_and_dump(df, drop, msg, tag, output_dir): - - print("Checking for %s" % msg) - if drop.any(): - print("WARNING: dropping %s out of %s %s (%s)" % (drop.sum(), len(df), msg, tag)) - df[drop].to_csv(os.path.join(output_dir, '%s.csv' % tag), index=False) - df = df[~drop] - - return df - - -def create_subset(input_dir, output_dir, drop_dir): - - ### - # land_use - ### - land_use_df = pd.read_csv(os.path.join(input_dir, file_names['land_use'])) - land_use_df = land_use_df.sort_values(by=land_use_zone_col) - land_use_df.to_csv(os.path.join(output_dir, file_names['land_use']), index=False) - - print('zones: %s' % len(land_use_df)) - - ### - # households - ### - - households = \ - pd.read_csv(os.path.join(input_dir, file_names['households']), - dtype={'household_id': np.int64}) - households = households.sort_values(by='household_id') - households.rename(columns={'household_id': 'legacy_household_id'}, inplace=True) - - raw_household_count = len(households) - - # all households must have a zone_id - null_zones = households[hh_zone_col].isnull() - households = \ - drop_and_dump(households, null_zones, - msg="households with null zones", - tag='households_with_null_zones', - output_dir=drop_dir) - households[hh_zone_col] = households[hh_zone_col].astype(np.int64) - - # all households zone_ids must be in land_use - orphan_zones = ~households[hh_zone_col].isin(land_use_df[land_use_zone_col]) - households = \ - drop_and_dump(households, orphan_zones, - msg="households with unknown zones", - tag='households_with_unknown_zones', - output_dir=drop_dir) - - # reindexed household_id as both index and column - households.index = np.arange(1, len(households) + 1) - households['household_id'] = households.index - - ### - # persons - ### - persons = \ - pd.read_csv(os.path.join(input_dir, file_names['persons']), - dtype={'household_id': np.int64, 'person_id': np.int64}) - persons = persons.sort_values(by=['household_id', 'member_id']) - persons.rename(columns={'person_id': 'legacy_person_id', 'household_id': 'legacy_household_id'}, inplace=True) - persons.legacy_household_id = persons.legacy_household_id.astype(np.int64) - - raw_person_count = len(persons) - - assert not persons.legacy_household_id.isnull().any() - - orphan_persons = ~persons.legacy_household_id.isin(households.legacy_household_id) - persons = \ - drop_and_dump(persons, orphan_persons, - msg="persons without households", - tag='persons_without_households', - output_dir=drop_dir) - - persons = \ - pd.merge(persons, - households[['legacy_household_id', 'household_id']], - left_on="legacy_household_id", - right_on="legacy_household_id", - how="left") - assert not persons.household_id.isnull().any() - persons.household_id = persons.household_id.astype(np.int64) - - # reindexed person_id as both index and column - persons.index = np.arange(1, len(persons) + 1) - persons['person_id'] = persons.index - - # check that we have the right number of persons in every household" - assert (persons.groupby('household_id').size() == households.persons).all() - - # check that all persons in household have different member_id" - persons_with_dupe_member_id = persons.duplicated(['household_id', 'member_id'], keep='first') - household_ids_with_dupe_member_id = persons.household_id[persons_with_dupe_member_id].unique() - households_with_dupe_members = households.household_id.isin(household_ids_with_dupe_member_id) - persons_in_households_with_dupe_members = persons.household_id.isin(household_ids_with_dupe_member_id) - - print("%s of %s persons_with_dupe_member_id" % (persons_with_dupe_member_id.sum(), len(persons))) - persons = \ - drop_and_dump(persons, persons_in_households_with_dupe_members, - msg="persons in households with duplicate (household_id, member_id)", - tag='persons_in_households_with_dupe_member_id', - output_dir=drop_dir) - - households = \ - drop_and_dump(households, households_with_dupe_members, - msg="households with duplicate persons.member_id", - tag='households_with_dupe_member_id', - output_dir=drop_dir) - - missing_member1 = ~households.household_id.isin(persons.household_id[persons.member_id == 1]) - # print("%s of %s households missing member_id 1" % (missing_member1.sum(), len(households))) - assert not missing_member1.any() - - print('Writing %s households. Dropped %s' % (len(households), raw_household_count-len(households))) - households.to_csv(os.path.join(output_dir, file_names['households']), index=False) - - print('Writing %s persons. Dropped %s' % (len(persons), raw_person_count-len(persons))) - persons.to_csv(os.path.join(output_dir, file_names['persons']), index=False) - - -create_subset(input_dir="data_raw/", - output_dir="data/", - drop_dir="data_raw/dropped" - ) diff --git a/activitysim/examples/example_semcog/scripts/semcog_crop.py b/activitysim/examples/example_semcog/scripts/semcog_crop.py deleted file mode 100644 index c41d0ae7ec..0000000000 --- a/activitysim/examples/example_semcog/scripts/semcog_crop.py +++ /dev/null @@ -1,190 +0,0 @@ -import os -import pandas as pd -import openmatrix as omx -import numpy as np - -import argparse - -MAZ_OFFSET = 0 - -segments = { - 'test': (149, 215), # SUPER_DIST_25==1, has univ - 'z500': (0, 500), - 'full': (0, 10000), -} - -land_use_zone_col = 'ZONE' -hh_zone_col = 'zone_id' -num_full_skim_files = 2 - -parser = argparse.ArgumentParser(description='crop PSRC raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file') - -args = parser.parse_args() - - -segment_name = args.segment_name[0] -check_geography = args.check_geography - -assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" -zone_min, zone_max = segments[segment_name] - -input_dir = './data_raw' -output_dir = f'./data_{segment_name}' - - -print(f"check_geography {check_geography}") - -if not os.path.isdir(output_dir): - print(f"creating output directory {output_dir}") - os.mkdir(output_dir) - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def integerize_id_columns(df, table_name): - columns = ['ZONE', 'SUPER_DIST_25', 'zone_id', 'household_id', 'person_id', 'MAZ', 'TAZ'] - for c in df.columns: - if c in columns: - print(f"converting {table_name}.{c} to int") - if df[c].isnull().any(): - print(df[c][df[c].isnull()]) - df[c] = df[c].astype(int) - - -def read_csv(file_name, integerize=True): - df = pd.read_csv(input_path(file_name)) - - print(f"read {file_name} {df.shape}") - - return df - - -def to_csv(df, file_name): - print(f"writing {file_name} {df.shape} {output_path(file_name)}") - df.to_csv(output_path(file_name), index=False) - - -if check_geography: - - # ######## check for orphan_households not in any maz in land_use - land_use = read_csv("land_use.csv") - - households = read_csv("households.csv") - orphan_households = households[~households[hh_zone_col].isin(land_use[land_use_zone_col])] - print(f"{len(orphan_households)} orphan_households") - - if len(orphan_households) > 0: - # write orphan_households to INPUT directory (since it doesn't belong in output) - file_name = "orphan_households.csv" - print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") - orphan_households.to_csv(input_path(file_name), index=False) - - -# -# land_use -# -land_use = read_csv("land_use.csv") -land_use = land_use[(land_use[land_use_zone_col] >= zone_min) & (land_use[land_use_zone_col] <= zone_max)] -integerize_id_columns(land_use, 'land_use') -land_use = land_use.sort_values(land_use_zone_col) - -# move index col to front -land_use.insert(0, land_use_zone_col, land_use.pop(land_use_zone_col)) - -to_csv(land_use, "land_use.csv") - -# # make sure we have some HSENROLL and COLLFTE, even for very for small samples -# if land_use['HSENROLL'].sum() == 0: -# assert segment_name != 'full', f"land_use['HSENROLL'] is 0 for full sample!" -# land_use['HSENROLL'] = land_use['AGE0519'] -# print(f"\nWARNING: land_use.HSENROLL is 0, so backfilled with AGE0519\n") -# -# if land_use['COLLFTE'].sum() == 0: -# assert segment_name != 'full', f"land_use['COLLFTE'] is 0 for full sample!" -# land_use['COLLFTE'] = land_use['HSENROLL'] -# print(f"\nWARNING: land_use.COLLFTE is 0, so backfilled with HSENROLL\n") - -# -# households -# -households = read_csv("households.csv") -households = households[households[hh_zone_col].isin(land_use[land_use_zone_col])] -integerize_id_columns(households, 'households') - -# move index col to front -households.insert(0, 'household_id', households.pop('household_id')) - -to_csv(households, "households.csv") - -# -# persons -# -persons = read_csv("persons.csv") -persons = persons[persons["household_id"].isin(households.household_id)] -integerize_id_columns(persons, 'persons') - -# move index col to front -persons.insert(0, 'person_id', persons.pop('person_id')) - - -to_csv(persons, "persons.csv") - -# -# skims -# -omx_infile_name = 'skims.omx' -skim_data_type = np.float32 - -omx_in = omx.open_file(input_path(omx_infile_name)) -print(f"omx_in shape {omx_in.shape()}") - -for m in omx_in.listMappings(): - offset_map = omx_in.mapentries(m) - # otherwise we will have to offset_map zone_indexes we use to slice skim below - assert (offset_map == np.arange(len(offset_map)) + 1).all() - # print(f"{m}\n{offset_map}") - -zone = land_use.sort_values(land_use_zone_col)[[land_use_zone_col]] -zone.index = zone[land_use_zone_col] - 1 -zone_indexes = zone.index.tolist() # index of TAZ in skim (zero-based, no mapping) -zone_labels = zone[land_use_zone_col].tolist() # TAZ zone_ids in omx index order - -# create -num_outfiles = num_full_skim_files if segment_name == 'full' else 1 -if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"skims.omx"), 'w')] -else: - omx_out = [omx.open_file(output_path(f"skims{i+1}.omx"), 'w') for i in range(num_outfiles)] - -for omx_file in omx_out: - omx_file.create_mapping(land_use_zone_col, zone_labels) - -iskim = 0 -for mat_name in omx_in.list_matrices(): - - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) - m = m[zone_indexes, :][:, zone_indexes] - print(f"{mat_name} {m.shape}") - - omx_file = omx_out[iskim % num_outfiles] - omx_file[mat_name] = m - iskim += 1 - - -omx_in.close() -for omx_file in omx_out: - omx_file.close() diff --git a/activitysim/examples/example_semcog/simulation.py b/activitysim/examples/example_semcog/simulation.py deleted file mode 100755 index 480b298cec..0000000000 --- a/activitysim/examples/example_semcog/simulation.py +++ /dev/null @@ -1,17 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -import extensions - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_semcog/test/test_semcog.py b/activitysim/examples/example_semcog/test/test_semcog.py deleted file mode 100644 index df63c872be..0000000000 --- a/activitysim/examples/example_semcog/test/test_semcog.py +++ /dev/null @@ -1,48 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def test_semcog(): - - def example_path(dirname): - resource = os.path.join('examples', 'example_semcog', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_trips.csv')) - final_trips_df = pd.read_csv(test_path('output/final_trips.csv')) - - # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, - # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum - # compare_cols = [] - pdt.assert_frame_equal(final_trips_df, regress_trips_df) - - file_path = os.path.join(os.path.dirname(__file__), '../simulation.py') - - subprocess.run(['coverage', 'run', '-a', file_path, - '-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), - '-o', test_path('output')], check=True) - - regress() - - -if __name__ == '__main__': - - test_semcog() diff --git a/activitysim/examples/example_multiple_zone/.gitignore b/activitysim/examples/placeholder_multiple_zone/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/.gitignore rename to activitysim/examples/placeholder_multiple_zone/.gitignore diff --git a/activitysim/examples/example_marin/README.MD b/activitysim/examples/placeholder_multiple_zone/README.MD similarity index 100% rename from activitysim/examples/example_marin/README.MD rename to activitysim/examples/placeholder_multiple_zone/README.MD diff --git a/activitysim/examples/example_multiple_zone/configs_1_zone/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/configs_1_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_1_zone/network_los.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_1_zone/network_los.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_1_zone/non_mandatory_tour_destination.yaml b/activitysim/examples/placeholder_multiple_zone/configs_1_zone/non_mandatory_tour_destination.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_1_zone/non_mandatory_tour_destination.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_1_zone/non_mandatory_tour_destination.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_1_zone/settings.yaml b/activitysim/examples/placeholder_multiple_zone/configs_1_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_1_zone/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_1_zone/settings.yaml diff --git a/activitysim/examples/example_mtc/configs/accessibility.csv b/activitysim/examples/placeholder_multiple_zone/configs_2_zone/accessibility.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/accessibility.csv rename to activitysim/examples/placeholder_multiple_zone/configs_2_zone/accessibility.csv diff --git a/activitysim/examples/example_multiple_zone/configs_2_zone/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/configs_2_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_2_zone/network_los.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_2_zone/network_los.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_2_zone/settings.yaml b/activitysim/examples/placeholder_multiple_zone/configs_2_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_2_zone/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_2_zone/settings.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/_bugs.txt b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/_bugs.txt similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/_bugs.txt rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/_bugs.txt diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/accessibility.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/accessibility.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/accessibility.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/accessibility.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/annotate_households_workplace.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/annotate_households_workplace.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/annotate_households_workplace.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/annotate_households_workplace.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/annotate_persons_workplace.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/annotate_persons_workplace.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/annotate_persons_workplace.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/annotate_persons_workplace.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/auto_ownership.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/auto_ownership.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/auto_ownership.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/auto_ownership.csv diff --git a/activitysim/examples/example_marin/configs/destination_choice_size_terms.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/destination_choice_size_terms.csv similarity index 100% rename from activitysim/examples/example_marin/configs/destination_choice_size_terms.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/destination_choice_size_terms.csv diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/network_los.yaml new file mode 100644 index 0000000000..76a7aadb36 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/network_los.yaml @@ -0,0 +1,157 @@ +inherit_settings: True + +zone_system: 3 + +skim_dict_factory: NumpyArraySkimFactory +#skim_dict_factory: MemMapSkimFactory + +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +# rebuild and overwrite existing tap_tap_utilities cache +rebuild_tvpb_cache: True + +# write a csv version of tvpb cache for tracing when checkpointing cache. +# (writes csv file when writing/checkpointing cache i.e. when cached changed) +# (n.b. csv file could be quite large if cache is STATIC!) +trace_tvpb_cache_as_csv: False + +taz_skims: taz_skims.omx + +# we require that skims for all tap_tap sets have unique names +# and can therefor share a single skim_dict without name collision +# e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM +tap_skims: tap_skims.omx + +maz: maz.csv + +tap: tap.csv + +maz_to_maz: + tables: + - maz_to_maz_walk.csv + - maz_to_maz_bike.csv + + # maz_to_maz blending distance (missing or 0 means no blending) + max_blend_distance: + DIST: 5 + # blend distance of 0 means no blending + DISTBIKE: 0 + DISTWALK: 1 + + # missing means use the skim value itself rather than DIST skim (e.g. DISTBIKE) + blend_distance_skim_name: DIST + +maz_to_tap: + walk: + table: maz_to_tap_walk.csv + drive: + table: maz_to_tap_drive.csv + + +skim_time_periods: + time_window: 1440 + period_minutes: 60 + periods: [0, 6, 11, 16, 20, 24] + labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] + +demographic_segments: &demographic_segments + - &low_income_segment_id 0 + - &high_income_segment_id 1 + +# transit virtual path builder settings +TVPB_SETTINGS: + + tour_mode_choice: + units: utility + path_types: + WTW: + access: walk + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + DTW: + access: drive + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + WTD: + access: walk + egress: drive + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + tap_tap_settings: + SPEC: tvpb_utility_tap_tap.csv + PREPROCESSOR: + SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv + DF: df + # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files + attribute_segments: + demographic_segment: *demographic_segments + tod: *skim_time_period_labels + access_mode: ['drive', 'walk'] + attributes_as_columns: + - demographic_segment + - tod + maz_tap_settings: + walk: + SPEC: tvpb_utility_walk_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - walk_time + drive: + SPEC: tvpb_utility_drive_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - drive_time + - DIST + CONSTANTS: + C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id + C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id + TVPB_demographic_segments_by_income_segment: + 1: *low_income_segment_id + 2: *low_income_segment_id + 3: *high_income_segment_id + 4: *high_income_segment_id + c_ivt_high_income: -0.028 + c_ivt_low_income: -0.0175 + c_cost_high_income: -0.00112 + c_cost_low_income: -0.00112 + c_wait: 1.5 + c_walk: 1.7 + c_drive: 1.5 + c_auto_operating_cost_per_mile: 18.29 + C_UNAVAILABLE: -999 + C_FASTEST_IVT_MULTIPLIER: 2 + C_FASTEST_COST_MULTIPLIER: 1 + C_CHEAPEST_IVT_MULTIPLIER: 1 + C_CHEAPEST_COST_MULTIPLIER: 500 + C_SHORTEST_IVT_MULTIPLIER: 1 + C_SHORTEST_COST_MULTIPLIER: 1 + C_SHORTEST_DIST_MULTIPLIER: 1 + # illustrate using access mode in tat-tap expressions files + C_DRIVE_TRANSFER_PENALTY: -1 + + accessibility: + units: time + path_types: + WTW: + access: walk + egress: walk + max_paths_across_tap_sets: 1 + max_paths_per_tap_set: 1 + tap_tap_settings: + SPEC: tvpb_accessibility_tap_tap_.csv + attributes_as_columns: + - tod + maz_tap_settings: + walk: + SPEC: tvpb_accessibility_walk_maz_tap.csv + CHOOSER_COLUMNS: + - walk_time + CONSTANTS: + out_of_vehicle_walk_time_weight: 1.5 + out_of_vehicle_wait_time_weight: 2.0 + diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/settings.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/settings_mp.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/settings_mp.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings_mp.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/settings_static.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings_static.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/settings_static.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings_static.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/stop_frequency.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/stop_frequency.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/stop_frequency.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/stop_frequency.yaml diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice.csv new file mode 100644 index 0000000000..5aeba76ced --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice.csv @@ -0,0 +1,189 @@ +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,, +#,Walk,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,, +util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,, +#,Bike,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,, +util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,, +#,Walk to Local,,,,,,,,,,,,,, +#util_WALK_TRANSIT_Unavailable,WALK_TRANSIT - Unavailable,walk_transit_available == False,,,,,,,,,-999,,,, +util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,"@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW']",,,,,,,,,coef_one,,,, +util_WALK_TRANSIT_Destination_zone_densityIndex,WALK_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,, +util_WALK_TRANSIT_Topology,WALK_TRANSIT - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,, +util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,, +#,Drive to Local,,,,,,,,,,,,,, +#util_DRIVE_TRANSIT_Unavailable,DRIVE_TRANSIT - Unavailable,drive_transit_available == False,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,"@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD']",,,,,,,,,,coef_one,,, +util_DRIVE_TRANSIT_Destination_zone_densityIndex,DRIVE_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,, +util_DRIVE_TRANSIT_Topology,DRIVE_TRANSIT - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,, +util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_age010_trn_multiplier,,, +#,Taxi,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,coef_ivt,, +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,walk_ASC_auto_sufficient,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,bike_ASC_auto_sufficient,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,walk_transit_ASC_auto_sufficient,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,drive_transit_ASC_no_auto,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,drive_transit_ASC_auto_deficient,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,drive_transit_ASC_auto_sufficient,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#,joint tour ASCs,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,joint_drive_transit_ASC_no_auto,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,joint_drive_transit_ASC_auto_deficient,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,local_bus_ASC,,, +#util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, +#util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, +#util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, +#util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, +#util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, +#util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, +#util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, +util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,,,, +util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,drive_transit_CBD_ASC,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,coef_ivt,,, +#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,, +util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,, +#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,,, diff --git a/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice.csv new file mode 100644 index 0000000000..454846f78b --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice.csv @@ -0,0 +1,195 @@ +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,, +#,Walk,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,, +util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,, +#,Bike,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,, +util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,, +#,Walk to Transit,,,,,,,,,,,,,, +#util_WALK_TRANSIT_Unavailable,WALK_TRANSIT - Unavailable,walk_transit_available == False,,,,,,,,,-999,,,, +util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'],,,,,,,,,coef_one,,,, +util_WALK_TRANSIT_Destination_zone_densityIndex,WALK_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,, +util_WALK_TRANSIT_Topology,WALK_TRANSIT - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,, +util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,, +#,Drive to Transit,,,,,,,,,,,,,, +#util_DRIVE_TRANSIT_Unavailable,DRIVE_TRANSIT - Unavailable,drive_transit_available == False,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'],,,,,,,,,,coef_one,,, +util_DRIVE_TRANSIT_Destination_zone_densityIndex,DRIVE_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,, +util_DRIVE_TRANSIT_Topology,DRIVE_TRANSIT - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,, +util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_age010_trn,,, +#,Taxi,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,coef_ivt,, +util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,, +util_TNC_Single_In_vehipasim +cle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, +#,#TNC Shared,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt +#,,,,,,,,,,,,,,, +util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,,, +util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,,, +util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,,, +util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,, +util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,, +,#indiv tour ASCs,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,, +util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,, +util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh +util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,, +util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh +util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,, +util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh +util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh +util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,, +util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh +#util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,, +#util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,, +#util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh +#util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,, +#util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,, +#util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +#util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +#util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +#util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh +util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,, +util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,, +util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,ride_hail_ASC_taxi,, +util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,ride_hail_ASC_tnc_single, +util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,ride_hail_ASC_tnc_shared +#,joint tour ASCs,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,, +util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,, +util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh +util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,, +util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,, +util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh +# util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh +# util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,, +# util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,, +# util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +# util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +# util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,joint_ride_hail_ASC_taxi,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared +#,#,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,, +util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,coef_ivt,coef_ivt +util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,,, +util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_drive_maz_tap.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_drive_maz_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_drive_maz_tap.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_tap_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_tap_tap.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_tap_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_tap_tap.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_walk_maz_tap.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_walk_maz_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_walk_maz_tap.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/write_trip_matrices.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/write_trip_matrices.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/write_trip_matrices.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/write_trip_matrices.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_marin/configs/annotate_households.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_households.csv similarity index 100% rename from activitysim/examples/example_marin/configs/annotate_households.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_households.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_persons.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_persons.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_persons.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_persons.csv diff --git a/activitysim/examples/example_marin/configs/annotate_tours.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_tours.csv similarity index 100% rename from activitysim/examples/example_marin/configs/annotate_tours.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_tours.csv diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/constants.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/constants.yaml new file mode 100755 index 0000000000..6199378b42 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/constants.yaml @@ -0,0 +1,64 @@ +## ActivitySim +## See full license in LICENSE.txt. + +walk_speed: 3.00 + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +#INCOME_SEGMENT_LOW: 1 +#INCOME_SEGMENT_MED: 2 +#INCOME_SEGMENT_HIGH: 3 +#INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H diff --git a/activitysim/examples/example_marin/configs/initialize_households.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_households.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/initialize_households.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_households.yaml diff --git a/activitysim/examples/example_marin/configs/initialize_landuse.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_landuse.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/initialize_landuse.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_landuse.yaml diff --git a/activitysim/examples/example_marin/configs/initialize_tours.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_tours.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/initialize_tours.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_tours.yaml diff --git a/activitysim/examples/example_marin/configs/logging.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/logging.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/logging.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/logging.yaml diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/network_los.yaml new file mode 100755 index 0000000000..1346dce913 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/network_los.yaml @@ -0,0 +1,181 @@ +inherit_settings: True + +zone_system: 3 + +skim_dict_factory: NumpyArraySkimFactory +#skim_dict_factory: MemMapSkimFactory + +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +# rebuild and overwrite existing tap_tap_utilities cache +rebuild_tvpb_cache: True + + +# when checkpointing cache. also write a csv version of tvpb cache for tracing +# (writes csv file when writing/checkpointing cache (i.e. when cached changed) even if rebuild_tvpb_cache is False) +# (n.b. csv file could be quite large if cache is STATIC!) +trace_tvpb_cache_as_csv: False + +taz_skims: + - HWYSKMAM_taz_rename.omx + - HWYSKMEA_taz_rename.omx + - HWYSKMEV_taz_rename.omx + - HWYSKMMD_taz_rename.omx + - HWYSKMPM_taz_rename.omx + +tap_skims: + # we require that skims for all tap_tap sets have unique names + # and can therefor share a single skim_dict without name collision + # e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM + - transit_skims_AM_SET1_rename.omx + - transit_skims_AM_SET2_rename.omx + - transit_skims_AM_SET3_rename.omx + - transit_skims_EA_SET1_rename.omx + - transit_skims_EA_SET2_rename.omx + - transit_skims_EA_SET3_rename.omx + - transit_skims_EV_SET1_rename.omx + - transit_skims_EV_SET2_rename.omx + - transit_skims_EV_SET3_rename.omx + - transit_skims_MD_SET1_rename.omx + - transit_skims_MD_SET2_rename.omx + - transit_skims_MD_SET3_rename.omx + - transit_skims_PM_SET1_rename.omx + - transit_skims_PM_SET2_rename.omx + - transit_skims_PM_SET3_rename.omx + + +# FIXME why no taz.csv? +# tas: taz.csv + +maz: maz_taz.csv + +tap: tap_data.csv + +tap_lines: tap_lines.csv + +maz_to_maz: + tables: + - maz_maz_walk.csv + - maz_maz_bike.csv + + # maz_to_maz blending distance (missing or 0 means no blending) + max_blend_distance: + # blend distance of 0 means no blending + WALK_DIST: 0 + BIKE_DIST: 0 + + +maz_to_tap: + walk: + table: maz_tap_walk.csv + # if provided, this column will be used (together with tap_lines table) to trim the near tap set + # to only include the nearest tap to origin when more than one tap serves the same line + tap_line_distance_col: WALK_TRANSIT_DIST + #max_dist: 3 + drive: + table: maz_taz_tap_drive.csv + # not trimming because drive_maz_tap utility calculations take into account both drive and walk time and cost + # though some sort of trimming appears to have been done as there are not so many of these in marin data + #tap_line_distance_col: DDIST + + +skim_time_periods: + time_window: 1440 + period_minutes: 30 + periods: [0, 12, 20, 30, 38, 48] + labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] + +demographic_segments: &demographic_segments + - &low_income_segment_id 0 + - &high_income_segment_id 1 + + +# transit virtual path builder settings +TVPB_SETTINGS: + + tour_mode_choice: + units: utility + path_types: + WTW: + access: walk + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + DTW: + access: drive + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + WTD: + access: walk + egress: drive + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + tap_tap_settings: + SPEC: tvpb_utility_tap_tap.csv + PREPROCESSOR: + SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv + DF: df + # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files + attribute_segments: + demographic_segment: *demographic_segments + tod: *skim_time_period_labels + access_mode: ['drive', 'walk'] + attributes_as_columns: + - demographic_segment + - tod + + maz_tap_settings: + walk: + SPEC: tvpb_utility_walk_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - WALK_TRANSIT_DIST + drive: + SPEC: tvpb_utility_drive_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - DDIST + - DTIME + - WDIST + + CONSTANTS: + C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id + C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id + TVPB_demographic_segments_by_income_segment: + 1: *low_income_segment_id + 2: *low_income_segment_id + 3: *high_income_segment_id + 4: *high_income_segment_id + c_ivt_high_income: -0.028 + c_ivt_low_income: -0.0175 + c_cost_high_income: -0.00112 + c_cost_low_income: -0.00112 + c_auto_operating_cost_per_mile: 18.29 + # constants used in maz_tap and tap_tap utility expressions + c_drive: 1.5 + c_walk: 1.7 + c_fwt: 1.5 + c_waux: 3.677 + c_xwt: 2 + c_xfers1: 30 + c_xfers2: 45 + c_xfers3: 47.026 + # no Express bus alternative-specific constant + c_lrt_asc: -17 # LRT alternative-specific constant + c_fr_asc: -35 # FR alternative-specific constant + c_hr_asc: -22 # Heavy Rail alternative-specific constant + c_cr_asc: -15 # Commuter Rail alternative-specific constant + c_cr20_40: -20 # Commuter Rail distance 20-40 miles + c_cr40plus: -30 # Commuter Rail distance >40 miles + c_drvExpress: -26 # drive to EB constant + c_drvLRT: 2 # FIXME drive to LRT constant COULD THIS POSSIBLY BE RIGHT? + c_drvFR: -52 # drive to FR constant + c_drvHeavy: -41 # drive to HR constant + c_drvCR: -52 # drive to CR constant + #"max(IVT/Drive time - 0.3,0)",drvRatio,c_ivt* 6 + C_UNAVAILABLE: -999 + diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/settings.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/settings.yaml new file mode 100755 index 0000000000..c6f3ee2f3e --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/settings.yaml @@ -0,0 +1,237 @@ +inherit_settings: True + +# number of households to simulate +#households_sample_size: 200000 +households_sample_size: 500 + +#chunk_size: 4000000000 +chunk_size: 0 + +#trace_hh_id: 662398 +trace_hh_id: + +# input tables +input_table_list: + - tablename: households + filename: households_asim.csv + index_col: household_id + rename_columns: + HHID: household_id + MAZ: home_zone_id + keep_columns: + - home_zone_id + - HHINCADJ + - NWRKRS_ESR + - VEH + - NP + #- MTCCountyID + #- HHT + #- BLD + #- TYPE + + - tablename: persons + filename: persons_asim.csv + index_col: person_id + rename_columns: + HHID: household_id + PERID: person_id + keep_columns: + - AGEP + - household_id + - type + - value_of_time + - fp_choice + #- SEX + #- SCHL + #- OCCP + #- WKHP + #- WKW + #- EMPLOYED + #- ESR + #- SCHG + + - tablename: land_use + filename: maz_data_asim.csv + index_col: zone_id + rename_columns: + MAZ: zone_id + CountyID: county_id + keep_columns: + - TAZ + - DistID + - ACRES + - POP + - emp_total + - hparkcost + - TERMINALTIME + - county_id +# - level_0 +# - index +# - MAZ_ORIGINAL +# - TAZ_ORIGINAL +# - DistName +# - CountyID +# - CountyName +# - HH +# - ag +# - art_rec +# - constr +# - eat +# - ed_high +# - ed_k12 +# - ed_oth +# - fire +# - gov +# - health +# - hotel +# - info +# - lease +# - logis +# - man_bio +# - man_lgt +# - man_hvy +# - man_tech +# - natres +# - prof +# - ret_loc +# - ret_reg +# - serv_bus +# - serv_pers +# - serv_soc +# - transp +# - util +# - publicEnrollGradeKto8 +# - privateEnrollGradeKto8 +# - publicEnrollGrade9to12 +# - privateEnrollGrade9to12 +# - comm_coll_enroll +# - EnrollGradeKto8 +# - EnrollGrade9to12 +# - collegeEnroll +# - otherCollegeEnroll +# - AdultSchEnrl +# - hstallsoth +# - hstallssam +# - dstallsoth +# - dstallssam +# - mstallsoth +# - mstallssam +# - park_area +# - numfreehrs +# - dparkcost +# - mparkcost +# - ech_dist +# - hch_dist +# - parkarea +# - MAZ_X +# - MAZ_Y +# - TotInt +# - EmpDen +# - RetEmpDen +# - DUDen +# - PopDen +# - IntDenBin +# - EmpDenBin +# - DuDenBin +# - PopEmpDenPerMi +# - mgra +# - mgraParkArea +# - lsWgtAvgCostM +# - lsWgtAvgCostD +# - lsWgtAvgCostH + + - tablename: tours + filename: work_tours.csv + # index_col: + rename_columns: + hh_id: household_id + start_period: start + end_period: end + tour_id: tm2_tour_id + tour_mode: tm2_tour_mode + out_btap: tm2_out_btap + out_atap: tm2_out_atap + in_btap: tm2_in_btap + in_atap: tm2_in_atap + out_set: tm2_out_set + in_set: tm2_in_set + keep_columns: + - person_id + - household_id + - tour_category + - tour_purpose + - orig_mgra + - dest_mgra + - start + - end + # ctramp tm2 fields for validation + - tm2_tour_id # really just ordinal position in ctramp tour file, put probably will be useful for validation + - tm2_tour_mode + - tm2_out_btap + - tm2_out_atap + - tm2_in_btap + - tm2_in_atap + - tm2_out_set + - tm2_in_set +# - person_num +# - person_type +# - tour_distance +# - tour_time +# - atWork_freq +# - num_ob_stops +# - num_ib_stops + + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +#resume_after: initialize_tvpb + +models: + - initialize_landuse + - initialize_households + - initialize_tours + # --- STATIC cache prebuild steps + # single-process step to create attribute_combination list + - initialize_los + # multi-processable step to build STATIC cache + # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) + - initialize_tvpb + # --- + - tour_mode_choice_simulate + - write_data_dictionary + - track_skim_usage + - write_tables + - write_summaries + +output_tables: + h5_store: False + action: include + prefix: final_ + # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes + sort: True + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - attribute_combinations + +output_summaries: + tours: + - tour_mode + - od_path_set + - do_path_set diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/settings_mp.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/settings_mp.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/settings_mp.yaml diff --git a/activitysim/examples/example_marin/configs/shadow_pricing.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/shadow_pricing.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/shadow_pricing.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/shadow_pricing.yaml diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv new file mode 100755 index 0000000000..5ac2850bcd --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv @@ -0,0 +1,165 @@ +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,, +#util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,VEH == 0,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,AGEP < 16,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['TIMEDA'] + dot_skims['TIMEDA'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTDA'] + dot_skims['DISTDA']),coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLDA'] + dot_skims['BTOLLDA']),coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.AGEP >= 16) & (df.AGEP <= 19),coef_age1619_da_multiplier,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,VEH == 0,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,AGEP < 16,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['TOLLTIMEDA'] + dot_skims['TOLLTIMEDA'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTDA'] + dot_skims['TOLLDISTDA']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLDA'] + dot_skims['TOLLBTOLLDA']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLDA'] + dot_skims['TOLLVTOLLDA']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.AGEP >= 16) & (df.AGEP <= 19),,coef_age1619_da_multiplier,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['TIMES2'] + dot_skims['TIMES2']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS2'] + dot_skims['DISTS2']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS2'] + dot_skims['BTOLLS2']) / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.NP == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.NP == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.AGEP >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.NP == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.NP == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.AGEP >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['TIMES3'] + dot_skims['TIMES3']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS3'] + dot_skims['DISTS3']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS3'] + dot_skims['BTOLLS3']) / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.NP == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.NP == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.AGEP >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['TOLLTIMES3'] + dot_skims['TOLLTIMES3']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS3'] + dot_skims['TOLLDISTS3']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS3'] + dot_skims['TOLLBTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.NP == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.NP == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.AGEP >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,, +#,Walk,,,,,,,,,,,,,, +util_WALK_Unavailable,WALK - Unavailable,walk_available == False,,,,,,,-999,,,,,, +util_WALK_Time,WALK - walk time,@(od_skims.lookup('WALK_DIST') + od_skims.reverse('WALK_DIST'))*60/walkSpeed,,,,,,,coef_ivt,,,,,, +#,Bike,,,,,,,,,,,,,, +util_BIKE_Unavailable,BIKE - Unavailable,bike_available == False,,,,,,,,-999,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, +util_BIKE_Time,BIKE - bike time,@(od_skims.lookup('BIKE_DIST') + od_skims.reverse('BIKE_DIST'))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, +#,Walk to Local,,,,,,,,,,,,,, +util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW'],,,,,,,,,coef_one,,,, +util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.AGEP <= 10),,,,,,,,,coef_age010_trn_multiplier,,,, +#,Drive to Local,,,,,,,,,,,,,, +util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,VEH == 0,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,AGEP < 16,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD'],,,,,,,,,,coef_one,,, +util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.AGEP < 10),,,,,,,,,,coef_age010_trn_multiplier,,, +#,Taxi,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,coef_ivt,, +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']),,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * Taxi_costPerMile +(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_single_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_shared_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,walk_ASC_no_auto,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,walk_ASC_auto_deficient,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,walk_ASC_auto_sufficient,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,bike_ASC_no_auto,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,bike_ASC_auto_deficient,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,bike_ASC_auto_sufficient,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,walk_transit_ASC_no_auto,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,walk_transit_ASC_auto_sufficient,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,drive_transit_ASC_no_auto,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,drive_transit_ASC_auto_deficient,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,drive_transit_ASC_auto_sufficient,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#,joint tour ASCs,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,joint_drive_transit_ASC_no_auto,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,joint_drive_transit_ASC_auto_deficient,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +#,calibration,,,,,,,,,,,,,, +util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,,,, +util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,drive_transit_CBD_ASC,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-odt_skims['DISTDA']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,coef_ivt,,, diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml new file mode 100755 index 0000000000..a88096a112 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml @@ -0,0 +1,188 @@ +LOGIT_TYPE: NL +#LOGIT_TYPE: MNL + +tvpb_mode_path_types: + DRIVE_TRANSIT: + od: DTW + do: WTD + WALK_TRANSIT: + od: WTW + do: WTW + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - name: DRIVEALONE + coefficient: coef_nest_AUTO_DRIVEALONE + alternatives: + - DRIVEALONEFREE + - DRIVEALONEPAY + - name: SHAREDRIDE2 + coefficient: coef_nest_AUTO_SHAREDRIDE2 + alternatives: + - SHARED2FREE + - SHARED2PAY + - name: SHAREDRIDE3 + coefficient: coef_nest_AUTO_SHAREDRIDE3 + alternatives: + - SHARED3FREE + - SHARED3PAY + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - WALK_TRANSIT + - DRIVE_TRANSIT + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coeffs.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv + +CONSTANTS: + #valueOfTime: 8.00 + costPerMile: 18.29 + costShareSr2: 1.75 + costShareSr3: 2.50 +# waitThresh: 10.00 + walkThresh: 3.0 +# shortWalk: 0.333 +# longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 12.00 + bikeSpeed: 12.00 +# maxCbdAreaTypeThresh: 2 +# indivTour: 1.00000 +# upperEA: 5 +# upperAM: 10 +# upperMD: 15 +# upperPM: 19 + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 +# + ivt_cost_multiplier: 0.6 +# ivt_lrt_multiplier: 0.9 +# ivt_ferry_multiplier: 0.8 +# ivt_exp_multiplier: 1 +# ivt_hvy_multiplier: 0.8 +# ivt_com_multiplier: 0.7 + walktimeshort_multiplier: 2 +# walktimelong_multiplier: 10 +# biketimeshort_multiplier: 4 +# biketimelong_multiplier: 20 +# short_i_wait_multiplier: 2 +# long_i_wait_multiplier: 1 +# wacc_multiplier: 2 +# wegr_multiplier: 2 +# waux_multiplier: 2 +# dtim_multiplier: 2 +# xwait_multiplier: 2 +# dacc_ratio: 0 +# xfers_wlk_multiplier: 10 +# xfers_drv_multiplier: 20 + drvtrn_distpen_0_multiplier: 270 + drvtrn_distpen_max: 15 +# density_index_multiplier: -0.2 + joint_sr2_ASC_no_auto: 0 + joint_sr2_ASC_auto_deficient: 0 + joint_sr2_ASC_auto_sufficient: 0 + joint_drive_transit_ASC_no_auto: 0 + c_auto_operating_cost_per_mile: 18.29 + + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + - income_segment + - demographic_segment + - c_ivt_for_segment + - c_cost_for_segment + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv new file mode 100755 index 0000000000..bac931bf4b --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -0,0 +1,75 @@ +Description,Target,Expression, +#,,, +,number_of_participants,1, +,is_joint,False, +#,,, +,_HAVE_PARENT_TOURS,False, +,_parent_tour_mode,False, +,work_tour_is_drive,False, +,work_tour_is_bike,False, +,work_tour_is_SOV,False, +#,,, +,is_mandatory,True, +,is_joint,False, +,is_indiv,~is_joint, +,is_atwork_subtour,False, +,is_escort,False, +#,,, +income_in_thousands,income_in_thousands,(df.HHINCADJ / 1000).clip(lower=0), +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)", +,demographic_segment,income_segment.map(TVPB_demographic_segments_by_income_segment), +#,c_ivt_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)", +#,c_cost_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)", +#,,, +#,c_cost,(0.60 * c_ivt) / df.value_of_time, +# ivot * (c_ivt_cost_multiplier * c_ivt),,, +,ivot,1.0 / df.value_of_time, +# RIDEHAIL,,, +,origin_density_measure,"(reindex(land_use.POP, df[orig_col_name]) + reindex(land_use.emp_total, df[orig_col_name])) / (reindex(land_use.ACRES, df[orig_col_name]) / 640)", +,dest_density_measure,"(reindex(land_use.POP, df[dest_col_name]) + reindex(land_use.emp_total, df[dest_col_name])) / (reindex(land_use.ACRES, df[dest_col_name]) / 640)", +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", +,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", +,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", +,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", +# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", +,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", +,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", +,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", +,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime, +,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime, +,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime, +#,,, +,_free_parking_available,(df.tour_type == 'work') & (df.fp_choice == 1), +,_dest_hourly_peak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", +,_dest_hourly_offpeak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", +,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)", +,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)", +just hourly instead of times duration for now,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost, _hourly_offpeak_parking_cost)", +#,,, +,distance,(odt_skims['DISTDA']), +,sov_available,(odt_skims['TIMEDA']>0) & (dot_skims['TIMEDA']>0), +,sovtoll_available,(odt_skims['TOLLVTOLLDA']>0) | (dot_skims['TOLLVTOLLDA']>0), +,hov2_available,(odt_skims['TIMES2'] + dot_skims['TIMES2'])>0, +,hov2toll_available,(odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2'])>0, +,hov3_available,(odt_skims['TIMES3']>0) & (dot_skims['TIMES3']>0), +,hov3toll_available,(odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3'])>0, +,walk_available,"od_skims.lookup('WALK_DIST').between(0, walkThresh) & od_skims.reverse('WALK_DIST').between(0, walkThresh)", +,bike_available,"od_skims.lookup('BIKE_DIST').between(0, bikeThresh) & od_skims.reverse('BIKE_DIST').between(0, bikeThresh)", +#,,, +#,,,FIXME - this is probably wrong - that is all of Marin +destination district,destination_in_cbd,"reindex(land_use.DistID, df[dest_col_name])==22", +# diagnostic,,, +#,sov_dist_roundtrip,(odt_skims['DISTDA'] + dot_skims['DISTDA']), diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv new file mode 100755 index 0000000000..9693953808 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv @@ -0,0 +1,308 @@ +coefficient_name,value,constrain +coef_one,1,T +coef_nest_root,1.00,T +coef_nest_AUTO,0.72,T +coef_nest_AUTO_DRIVEALONE,0.35,T +coef_nest_AUTO_SHAREDRIDE2,0.35,T +coef_nest_AUTO_SHAREDRIDE3,0.35,T +coef_nest_NONMOTORIZED,0.72,T +coef_nest_TRANSIT,0.72,T +coef_nest_TRANSIT_WALKACCESS,0.5,T +coef_nest_TRANSIT_DRIVEACCESS,0.5,T +coef_nest_RIDEHAIL,0.36,T +coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F +coef_ivt_school_univ,-0.0224,F +coef_ivt_work,-0.0134,F +coef_ivt_atwork,-0.0188,F +coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F +coef_topology_walk_multiplier_atwork,7.5,F +coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F +coef_topology_bike_multiplier_atwork,10,F +coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F +coef_topology_trn_multiplier_atwork,2,F +coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age1619_da_multiplier_school_univ,-1.3813,F +coef_age1619_da_multiplier_atwork,0.0032336,F +coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age010_trn_multiplier_school_univ,-1.5548,F +coef_age010_trn_multiplier_atwork,0.000722,F +coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F +coef_age16p_sr_multiplier_school_univ_work_atwork,0,F +coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F +coef_hhsize1_sr_multiplier_work,-0.734588,F +coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F +coef_hhsize2_sr_multiplier_school_univ,-0.6359,F +walk_ASC_no_auto_eatout,5.1251173,F +walk_ASC_no_auto_escort,2.8012068,F +walk_ASC_no_auto_othdiscr,3.2665946,F +walk_ASC_no_auto_othmaint,1.287299,F +walk_ASC_no_auto_school,18.414557,F +walk_ASC_no_auto_shopping,2.3768773,F +walk_ASC_no_auto_social,1.8680915,F +walk_ASC_no_auto_univ,6.408967,F +walk_ASC_no_auto_work,5.7672157,F +walk_ASC_no_auto_atwork,6.669213,F +walk_ASC_auto_deficient_eatout,3.274605,F +walk_ASC_auto_deficient_escort,-0.90204656,F +walk_ASC_auto_deficient_othdiscr,2.2494075,F +walk_ASC_auto_deficient_othmaint,1.3690404,F +walk_ASC_auto_deficient_school,3.2573624,F +walk_ASC_auto_deficient_shopping,2.2701733,F +walk_ASC_auto_deficient_social,2.870184,F +walk_ASC_auto_deficient_univ,4.50591,F +walk_ASC_auto_deficient_work,2.4010417,F +walk_ASC_auto_deficient_atwork,0.92546093,F +walk_ASC_auto_sufficient_eatout,1.5516903,F +walk_ASC_auto_sufficient_escort,-0.8116066,F +walk_ASC_auto_sufficient_othdiscr,1.2633476,F +walk_ASC_auto_sufficient_othmaint,0.7999634,F +walk_ASC_auto_sufficient_school,0.6476856,F +walk_ASC_auto_sufficient_shopping,0.7312663,F +walk_ASC_auto_sufficient_social,1.7072186,F +walk_ASC_auto_sufficient_univ,1.0607665,F +walk_ASC_auto_sufficient_work,0.053265337,F +walk_ASC_auto_sufficient_atwork,0.677216,F +bike_ASC_no_auto_eatout,0.86807096,F +bike_ASC_no_auto_escort,-0.716212,F +bike_ASC_no_auto_othdiscr,-0.3764232,F +bike_ASC_no_auto_othmaint,1.5394334,F +bike_ASC_no_auto_school,12.098735,F +bike_ASC_no_auto_shopping,0.8341555,F +bike_ASC_no_auto_social,0.02058321,F +bike_ASC_no_auto_univ,4.2945156,F +bike_ASC_no_auto_work,3.1940088,F +bike_ASC_no_auto_atwork,-0.90725845,F +bike_ASC_auto_deficient_eatout,-1.5691106,F +bike_ASC_auto_deficient_escort,-4.527928,F +bike_ASC_auto_deficient_othdiscr,-0.09246834,F +bike_ASC_auto_deficient_othmaint,-1.5184649,F +bike_ASC_auto_deficient_school,-0.5280678,F +bike_ASC_auto_deficient_shopping,-0.87584466,F +bike_ASC_auto_deficient_social,0.6345214,F +bike_ASC_auto_deficient_univ,-0.669235,F +bike_ASC_auto_deficient_work,0.25318968,F +bike_ASC_auto_deficient_atwork,-0.8074083,F +bike_ASC_auto_sufficient_eatout,-1.2003471,F +bike_ASC_auto_sufficient_escort,-5.0631084,F +bike_ASC_auto_sufficient_othdiscr,-1.0714597,F +bike_ASC_auto_sufficient_othmaint,-2.8083024,F +bike_ASC_auto_sufficient_school,-2.1134686,F +bike_ASC_auto_sufficient_shopping,-2.5662103,F +bike_ASC_auto_sufficient_social,-1.368071,F +bike_ASC_auto_sufficient_univ,-1.9397832,F +bike_ASC_auto_sufficient_work,-1.5800232,F +bike_ASC_auto_sufficient_atwork,15.72017,F +sr2_ASC_no_auto_all,0,F +sr2_ASC_auto_deficient_eatout,0.5882345,F +sr2_ASC_auto_deficient_escort,0,F +sr2_ASC_auto_deficient_othdiscr,0.6601513,F +sr2_ASC_auto_deficient_othmaint,0.2621527,F +sr2_ASC_auto_deficient_school,0.12474365,F +sr2_ASC_auto_deficient_shopping,0.24409756,F +sr2_ASC_auto_deficient_social,1.8558528,F +sr2_ASC_auto_deficient_univ,-1.6922346,F +sr2_ASC_auto_deficient_work,-0.33803123,F +sr2_ASC_auto_deficient_atwork,-2.1102421,F +sr2_ASC_auto_sufficient_eatout,0.86280555,F +sr2_ASC_auto_sufficient_escort,0,F +sr2_ASC_auto_sufficient_othdiscr,0.49684617,F +sr2_ASC_auto_sufficient_othmaint,0.25817883,F +sr2_ASC_auto_sufficient_school,-1.6062657,F +sr2_ASC_auto_sufficient_shopping,0.19770707,F +sr2_ASC_auto_sufficient_social,0.5236025,F +sr2_ASC_auto_sufficient_univ,-1.859427,F +sr2_ASC_auto_sufficient_work,-1.0857458,F +sr2_ASC_auto_sufficient_atwork,-1.4450618,F +sr3p_ASC_no_auto_eatout,0.3219998,F +sr3p_ASC_no_auto_escort,-1.8129267,F +sr3p_ASC_no_auto_othdiscr,0.27216902,F +sr3p_ASC_no_auto_othmaint,-0.8031854,F +sr3p_ASC_no_auto_school,-6.0240827,F +sr3p_ASC_no_auto_shopping,-0.27978948,F +sr3p_ASC_no_auto_social,-1.4036902,F +sr3p_ASC_no_auto_univ,-6.056001,F +sr3p_ASC_no_auto_work,-0.5831269,F +sr3p_ASC_no_auto_atwork,0.5826626,F +sr3p_ASC_auto_deficient_eatout,0.04605236,F +sr3p_ASC_auto_deficient_escort,-0.40818766,F +sr3p_ASC_auto_deficient_othdiscr,1.0470966,F +sr3p_ASC_auto_deficient_othmaint,-1.3493925,F +sr3p_ASC_auto_deficient_school,0.7149571,F +sr3p_ASC_auto_deficient_shopping,-0.073370166,F +sr3p_ASC_auto_deficient_social,1.5007243,F +sr3p_ASC_auto_deficient_univ,-1.7277422,F +sr3p_ASC_auto_deficient_work,-0.8527042,F +sr3p_ASC_auto_deficient_atwork,-2.514658,F +sr3p_ASC_auto_sufficient_eatout,0.8468596,F +sr3p_ASC_auto_sufficient_escort,-0.05741253,F +sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F +sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F +sr3p_ASC_auto_sufficient_school,-1.0201935,F +sr3p_ASC_auto_sufficient_shopping,-0.077571295,F +sr3p_ASC_auto_sufficient_social,0.50617886,F +sr3p_ASC_auto_sufficient_univ,-1.9047098,F +sr3p_ASC_auto_sufficient_work,-1.4699702,F +sr3p_ASC_auto_sufficient_atwork,-1.652174,F +walk_transit_ASC_no_auto_eatout,2.5936368,F +walk_transit_ASC_no_auto_escort,-2.2172081,F +walk_transit_ASC_no_auto_othdiscr,2.2437785,F +walk_transit_ASC_no_auto_othmaint,2.5643456,F +walk_transit_ASC_no_auto_school,21.383749,F +walk_transit_ASC_no_auto_shopping,2.1067476,F +walk_transit_ASC_no_auto_social,1.3814651,F +walk_transit_ASC_no_auto_univ,8.786037,F +walk_transit_ASC_no_auto_work,5.0354166,F +walk_transit_ASC_no_auto_atwork,2.7041876,F +walk_transit_ASC_auto_deficient_eatout,-0.03896324,F +walk_transit_ASC_auto_deficient_escort,-4.960704,F +walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F +walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F +walk_transit_ASC_auto_deficient_school,4.120708,F +walk_transit_ASC_auto_deficient_shopping,-0.8476569,F +walk_transit_ASC_auto_deficient_social,0.97444487,F +walk_transit_ASC_auto_deficient_univ,3.1362555,F +walk_transit_ASC_auto_deficient_work,0.65302855,F +walk_transit_ASC_auto_deficient_atwork,-2.9988291,F +walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F +walk_transit_ASC_auto_sufficient_escort,-4.934847,F +walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F +walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F +walk_transit_ASC_auto_sufficient_school,0.74590874,F +walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F +walk_transit_ASC_auto_sufficient_social,-0.3453759,F +walk_transit_ASC_auto_sufficient_univ,0.4731163,F +walk_transit_ASC_auto_sufficient_work,-0.8916507,F +walk_transit_ASC_auto_sufficient_atwork,-3.401027,F +drive_transit_ASC_no_auto_all,0,F +drive_transit_ASC_auto_deficient_eatout,0.5998061,F +drive_transit_ASC_auto_deficient_escort,-1.1537067,F +drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F +drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F +drive_transit_ASC_auto_deficient_school,5.3252654,F +drive_transit_ASC_auto_deficient_shopping,-0.41849178,F +drive_transit_ASC_auto_deficient_social,1.5627195,F +drive_transit_ASC_auto_deficient_univ,1.8501176,F +drive_transit_ASC_auto_deficient_work,0.10081567,F +drive_transit_ASC_auto_deficient_atwork,-998.8196,F +drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F +drive_transit_ASC_auto_sufficient_escort,-4.6014247,F +drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F +drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F +drive_transit_ASC_auto_sufficient_school,1.40135,F +drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F +drive_transit_ASC_auto_sufficient_social,-0.61585575,F +drive_transit_ASC_auto_sufficient_univ,1.3587753,F +drive_transit_ASC_auto_sufficient_work,-1.0045459,F +drive_transit_ASC_auto_sufficient_atwork,-999.21466,F +taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F +taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F +taxi_ASC_no_auto_school_univ,-7,T +taxi_ASC_no_auto_work,4.7291,F +taxi_ASC_no_auto_atwork,4.1021,F +taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F +taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F +taxi_ASC_auto_deficient_school,-0.3338,F +taxi_ASC_auto_deficient_univ,4.2492,F +taxi_ASC_auto_deficient_work,-1.4766,F +taxi_ASC_auto_deficient_atwork,-4.4046,F +taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F +taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F +taxi_ASC_auto_sufficient_school,-2.4294,F +taxi_ASC_auto_sufficient_univ,-0.3131,F +taxi_ASC_auto_sufficient_work,-4.8509,F +taxi_ASC_auto_sufficient_atwork,-2.8804,F +tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F +tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F +tnc_single_ASC_no_auto_school,-7,T +tnc_single_ASC_no_auto_univ,-2.519,F +tnc_single_ASC_no_auto_work,5.7855,F +tnc_single_ASC_no_auto_atwork,4.4982,F +tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F +tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F +tnc_single_ASC_auto_deficient_school,-0.5524,F +tnc_single_ASC_auto_deficient_univ,1.0221,F +tnc_single_ASC_auto_deficient_work,-0.8013,F +tnc_single_ASC_auto_deficient_atwork,-3.7626,F +tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F +tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F +tnc_single_ASC_auto_sufficient_school,-2.8375,F +tnc_single_ASC_auto_sufficient_univ,0.2088,F +tnc_single_ASC_auto_sufficient_work,-4.1946,F +tnc_single_ASC_auto_sufficient_atwork,-2.7988,F +tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F +tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F +tnc_shared_ASC_no_auto_school,-7,T +tnc_shared_ASC_no_auto_univ,-5.8116,F +tnc_shared_ASC_no_auto_work,3.2429,F +tnc_shared_ASC_no_auto_atwork,3.3672,F +tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F +tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F +tnc_shared_ASC_auto_deficient_school,-1.4746,F +tnc_shared_ASC_auto_deficient_univ,3.25,F +tnc_shared_ASC_auto_deficient_work,-2.1435,F +tnc_shared_ASC_auto_deficient_atwork,-4.5089,F +tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F +tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F +tnc_shared_ASC_auto_sufficient_school,-3.7219,F +tnc_shared_ASC_auto_sufficient_univ,-0.9068,F +tnc_shared_ASC_auto_sufficient_work,-5.3575,F +tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F +joint_walk_ASC_no_auto_all,-0.21274701,F +joint_walk_ASC_auto_deficient_all,-1.9607706,F +joint_walk_ASC_auto_sufficient_all,-3.2352157,F +joint_bike_ASC_no_auto_all,-2.8671598,F +joint_bike_ASC_auto_deficient_all,-6.076415,F +joint_bike_ASC_auto_sufficient_all,-6.3760657,F +joint_sr2_ASC_no_auto_all,0,T +joint_sr2_ASC_auto_deficient_all,0,T +joint_sr2_ASC_auto_sufficient_all,0,T +joint_sr3p_ASC_no_auto_all,0.5630671,F +joint_sr3p_ASC_auto_deficient_all,-1.8841692,F +joint_sr3p_ASC_auto_sufficient_all,-2.234826,F +joint_walk_transit_ASC_no_auto_all,0.62292415,F +joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F +joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F +joint_drive_transit_ASC_no_auto_all,0,T +joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F +joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F +joint_taxi_ASC_no_auto_all,-4.5792,F +joint_taxi_ASC_auto_deficient_all,-9.8157,F +joint_taxi_ASC_auto_sufficient_all,-11.7099,T +joint_tnc_single_ASC_no_auto_all,-4.4917,F +joint_tnc_single_ASC_auto_deficient_all,-9.8961,F +joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T +joint_tnc_shared_ASC_no_auto_all,-4.3002,F +joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F +joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T +local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F +local_bus_ASC_school_univ,-0.06508621,F +local_bus_ASC_work,0.06689507,F +walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +walk_light_rail_ASC_school_univ,1.6814003,F +walk_light_rail_ASC_work,0.8255567,F +drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +drive_light_rail_ASC_school_univ,1.6814003,F +drive_light_rail_ASC_work,0.8255567,F +walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +walk_ferry_ASC_school_univ,2.0202317,F +walk_ferry_ASC_work,0.93322605,F +drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +drive_ferry_ASC_school_univ,2.0202317,F +drive_ferry_ASC_work,0.93322605,F +express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F +express_bus_ASC_school_univ,0.32496938,F +express_bus_ASC_work,-0.5165474,F +heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F +heavy_rail_ASC_school_univ,0.96200377,F +heavy_rail_ASC_work,0.64772975,F +commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F +commuter_rail_ASC_school_univ,1.0336206,F +commuter_rail_ASC_work,0.725503,F +walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +walk_transit_CBD_ASC_school_univ,0.672,F +walk_transit_CBD_ASC_work,0.804,F +walk_transit_CBD_ASC_atwork,0.564,F +drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +drive_transit_CBD_ASC_school_univ,0.672,F +drive_transit_CBD_ASC_work,1.1,F +drive_transit_CBD_ASC_atwork,0.564,F diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice_coefficients_template.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_mode_choice_coefficients_template.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv new file mode 100755 index 0000000000..9cf267a4ba --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv @@ -0,0 +1,3 @@ +Label,Description,Expression,utility +util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_drive * (df.DTIME + (df.WDIST / 5280 / walk_speed * 60))",1 +util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * (df.DDIST + (df.WDIST / 5280)) * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv new file mode 100755 index 0000000000..61c03b72b1 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv @@ -0,0 +1,85 @@ +Label,Description,Expression,set1,set2,set3 +# Set 1,,,,, +set1_unavailable,Shut off set if unavailable,@df.not_transit_available_set1,C_UNAVAILABLE,, +set1_ivt,set In-Vehicle Time,"@~df.not_transit_available_set1 * df.c_ivt_for_segment * df.totalIVT_set1",1,, +set1_first_wait_time,First wait time,"@~df.not_transit_available_set1 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET1')",1,, +set1_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set1 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET1')",1,, +set1_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set1 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET1')",1,, +set1_fare,set Fare,"@~df.not_transit_available_set1 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET1') * 100",1,, +set1_xfers1,0-1 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers1_set1 * c_xfers1 * df.c_ivt_for_segment",1,, +set1_xfers2,1-2 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers2_set1 * c_xfers2 * df.c_ivt_for_segment",1,, +set1_sfers3,>2 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers3_set1 * c_xfers3 * df.c_ivt_for_segment",1,, +set1_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers1_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, +set1_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers2_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, +set1_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers3_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, +set1_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers1_set1 * (df.c_ivt_for_segment * 5)",1,, +set1_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers2_set1 * (df.c_ivt_for_segment * 5)",1,, +set1_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers3_set1 * (df.c_ivt_for_segment * 5)",1,, +set1_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set1 & (df.crDistance_set1>20) & (df.crDistance_set1<=40) * c_cr20_40 * df.c_ivt_for_segment",1,, +set1_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set1 & (df.crDistance_set1>40) * c_cr40plus * df.c_ivt_for_segment",1,, +set1_CR_drive,drive access to CR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvCR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, +set1_HR_drive,drive access to HR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvHeavy * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, +set1_FR_drive,drive access to FR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvFR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, +set1_LRT_drive,drive access to LRT,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvLRT * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, +set1_EB_drive,drive access to EB,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvExpress * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0)",1,, +set1_ASC_CR,ASC CR,"@~df.not_transit_available_set1 * c_cr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, +set1_ASC_HR,ASC HR,"@~df.not_transit_available_set1 * c_hr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, +set1_ASC_FR,ASC FR,"@~df.not_transit_available_set1 * c_fr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, +set1_ASC_LRT,ASC LRT,"@~df.not_transit_available_set1 * c_lrt_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, +#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set1 * premWithXfer_set1 * asc/3.0",1,, +# Set 2,,,,, +set2_unavailable,Shut off set if unavailable,"@df.not_transit_available_set2",,C_UNAVAILABLE, +set2_ivt,set In-Vehicle Time,"@~df.not_transit_available_set2 * df.c_ivt_for_segment * df.totalIVT_set2",,1, +set2_first_wait_time,First wait time,"@~df.not_transit_available_set2 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET2')",,1, +set2_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set2 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET2')",,1, +set2_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set2 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET2')",,1, +set2_fare,set Fare,"@~df.not_transit_available_set2 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET2') * 100",,1, +set2_xfers1,0-1 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers1_set2 * c_xfers1 * df.c_ivt_for_segment",,1, +set2_xfers2,1-2 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers2_set2 * c_xfers2 * df.c_ivt_for_segment",,1, +set2_sfers3,>2 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers3_set2 * c_xfers3 * df.c_ivt_for_segment",,1, +set2_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers1_set2 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",,1, +set2_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers2_set2 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",,1, +set2_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & (access_mode=='drive') & df.xfers3_set2 * (df.c_ivt_for_segment * 15)",,1, +set2_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers1_set2 * (df.c_ivt_for_segment * 5)",,1, +set2_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers2_set2 * (df.c_ivt_for_segment * 5)",,1, +set2_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers3_set2 * (df.c_ivt_for_segment * 5)",,1, +set2_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set2 & (df.crDistance_set2>20) & (df.crDistance_set2<=40) * c_cr20_40 * df.c_ivt_for_segment",,1, +set2_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set2 & (df.crDistance_set2>40) * c_cr40plus * df.c_ivt_for_segment",,1, +set2_CR_drive,drive access to CR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_drvCR * df.c_ivt_for_segment",,1, +set2_HR_drive,drive access to HR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_drvHeavy * df.c_ivt_for_segment",,1, +set2_FR_drive,drive access to FR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_drvFR * df.c_ivt_for_segment",,1, +set2_LRT_drive,drive access to LRT,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_drvLRT * df.c_ivt_for_segment",,1, +set2_EB_drive,drive access to EB,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) * c_drvExpress * df.c_ivt_for_segment",,1, +set2_ASC_CR,ASC CR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_cr_asc * df.c_ivt_for_segment",,1, +set2_ASC_HR,ASC HR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_hr_asc * df.c_ivt_for_segment",,1, +set2_ASC_FR,ASC FR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_fr_asc * df.c_ivt_for_segment",,1, +set2_ASC_LRT,ASC LRT,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_lrt_asc * df.c_ivt_for_segment",,1, +#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set2 * premWithXfer_set2 * asc/3.0",,1, +# Set 3,,,,, +set3_unavailable,Shut off set if unavailable,"@df.not_transit_available_set3",,,C_UNAVAILABLE +set3_ivt,set In-Vehicle Time,"@~df.not_transit_available_set3 * df.c_ivt_for_segment * df.totalIVT_set3",,,1 +set3_first_wait_time,First wait time,"@~df.not_transit_available_set3 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET3')",,,1 +set3_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set3 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET3')",,,1 +set3_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set3 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET3')",,,1 +set3_fare,set Fare,"@~df.not_transit_available_set3 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET3') * 100",,,1 +set3_xfers1,0-1 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers1_set3 * c_xfers1 * df.c_ivt_for_segment",,,1 +set3_xfers2,1-2 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers2_set3 * c_xfers2 * df.c_ivt_for_segment",,,1 +set3_sfers3,>2 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers3_set3 * c_xfers3 * df.c_ivt_for_segment",,,1 +set3_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers1_set3 * (df.c_ivt_for_segment * 15)",,,1 +set3_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers2_set3 * (df.c_ivt_for_segment * 15)",,,1 +set3_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers3_set3 * (df.c_ivt_for_segment * 15)",,,1 +set3_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers1_set3 * (df.c_ivt_for_segment * 5)",,,1 +set3_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers2_set3 * (df.c_ivt_for_segment * 5)",,,1 +set3_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers3_set3 * (df.c_ivt_for_segment * 5)",,,1 +set3_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set3 & (df.crDistance_set3>20) & (df.crDistance_set3<=40) * c_cr20_40 * df.c_ivt_for_segment",,,1 +set3_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set3 & (df.crDistance_set3>40) * c_cr40plus * df.c_ivt_for_segment",,,1 +set3_CR_drive,drive access to CR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_drvCR * df.c_ivt_for_segment",,,1 +set3_HR_drive,drive access to HR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_drvHeavy * df.c_ivt_for_segment",,,1 +set3_FR_drive,drive access to FR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_drvFR * df.c_ivt_for_segment",,,1 +set3_LRT_drive,drive access to LRT,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_drvLRT * df.c_ivt_for_segment",,,1 +set3_EB_drive,drive access to EB,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) * c_drvExpress* df.c_ivt_for_segment",,,1 +set3_ASC_CR,ASC CR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_cr_asc * df.c_ivt_for_segment",,,1 +set3_ASC_HR,ASC HR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_hr_asc * df.c_ivt_for_segment",,,1 +set3_ASC_FR,ASC FR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_fr_asc * df.c_ivt_for_segment",,,1 +set3_ASC_LRT,ASC LRT,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_lrt_asc * df.c_ivt_for_segment",,,1 +#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set3 * premWithXfer_set3 * asc/3.0",,,1 diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv new file mode 100755 index 0000000000..f2661a897b --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv @@ -0,0 +1,44 @@ +Description,Target,Expression +# time of day,,SHOULD BE PASSED IN +# demographic segment,, +,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" +,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" +# set1,, +,not_transit_available_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET1')==0" +Total IVT,totalIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') " +IVT on BART,bartIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')" +premium modes used,premiumMode_set1,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)" +only travel by BART,bartOnly_set1,bartIVT_set1 == totalIVT_set1 +Set contains only BART with Xfers,bartWithXfer_set1,"(bartIVT_set1 == totalIVT_set1) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set1,"(premiumMode_set1>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1')>0)" +Number transfers,transfers_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')" +0-1 transfers,xfers1_set1,(transfers_set1>0) & (transfers_set1 <=1) +1-2 transfers,xfers2_set1,(transfers_set1>1) & (transfers_set1 <=2) +>2 transfers,xfers3_set1,(transfers_set1>2) +Commuter Rail Distance in miles [35 mph],crDistance_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') * (35/60)" +# set2,, +,not_transit_available_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET2')==0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')==0)" +Total IVT,totalIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') " +IVT on BART,bartIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')" +premium modes used,premiumMode_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0)" +only travel by BART,bartOnly_set2,bartIVT_set2 == totalIVT_set2 +Set contains only BART with Xfers,bartWithXfer_set2,"(bartIVT_set2 == totalIVT_set2) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set2,"(premiumMode_set2>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2')>0)" +Number transfers,transfers_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')" +0-1 transfers,xfers1_set2,(transfers_set2>0) & (transfers_set2 <=1) +1-2 transfers,xfers2_set2,(transfers_set2>1) & (transfers_set2 <=2) +>2 transfers,xfers3_set2,(transfers_set2>2) +Commuter Rail Distance in miles [35 mph],crDistance_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') * (35/60)" +# set3,, +,not_transit_available_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET3')==0" +Total IVT,totalIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') " +IVT on BART,bartIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')" +premium modes used,premiumMode_set3,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0)" +only travel by BART,bartOnly_set3,bartIVT_set3 == totalIVT_set3 +Set contains only BART with Xfers,bartWithXfer_set3,"(bartIVT_set3 == totalIVT_set3) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set3,"(premiumMode_set3>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3')>0)" +Number transfers,transfers_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')" +0-1 transfers,xfers1_set3,(transfers_set3>0) & (transfers_set3 <=1) +1-2 transfers,xfers2_set3,(transfers_set3>1) & (transfers_set3 <=2) +>2 transfers,xfers3_set3,(transfers_set3>2) +Commuter Rail Distance in miles [35 mph],crDistance_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') * (35/60)" diff --git a/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv new file mode 100755 index 0000000000..294cb95ede --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv @@ -0,0 +1,4 @@ +Label,Description,Expression,utility +#,,,FIXME column values shouldn't ever be na if different moides have different tables? +#util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 +util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walk * df.WALK_TRANSIT_DIST*(60/walk_speed)",1 diff --git a/activitysim/examples/example_mtc/data/households.csv b/activitysim/examples/placeholder_multiple_zone/data/households.csv similarity index 100% rename from activitysim/examples/example_mtc/data/households.csv rename to activitysim/examples/placeholder_multiple_zone/data/households.csv diff --git a/activitysim/examples/example_multiple_zone/data/land_use.csv b/activitysim/examples/placeholder_multiple_zone/data/land_use.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data/land_use.csv rename to activitysim/examples/placeholder_multiple_zone/data/land_use.csv diff --git a/activitysim/examples/example_mtc/data/mtc_asim.h5 b/activitysim/examples/placeholder_multiple_zone/data/mtc_asim.h5 similarity index 100% rename from activitysim/examples/example_mtc/data/mtc_asim.h5 rename to activitysim/examples/placeholder_multiple_zone/data/mtc_asim.h5 diff --git a/activitysim/examples/example_mtc/data/override_hh_ids.csv b/activitysim/examples/placeholder_multiple_zone/data/override_hh_ids.csv similarity index 100% rename from activitysim/examples/example_mtc/data/override_hh_ids.csv rename to activitysim/examples/placeholder_multiple_zone/data/override_hh_ids.csv diff --git a/activitysim/examples/example_mtc/data/persons.csv b/activitysim/examples/placeholder_multiple_zone/data/persons.csv similarity index 100% rename from activitysim/examples/example_mtc/data/persons.csv rename to activitysim/examples/placeholder_multiple_zone/data/persons.csv diff --git a/activitysim/examples/example_mtc/data/skims.omx b/activitysim/examples/placeholder_multiple_zone/data/skims.omx similarity index 100% rename from activitysim/examples/example_mtc/data/skims.omx rename to activitysim/examples/placeholder_multiple_zone/data/skims.omx diff --git a/activitysim/examples/example_multiple_zone/data/households.csv b/activitysim/examples/placeholder_multiple_zone/data_1/households.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data/households.csv rename to activitysim/examples/placeholder_multiple_zone/data_1/households.csv diff --git a/activitysim/examples/example_mtc/data/land_use.csv b/activitysim/examples/placeholder_multiple_zone/data_1/land_use.csv similarity index 100% rename from activitysim/examples/example_mtc/data/land_use.csv rename to activitysim/examples/placeholder_multiple_zone/data_1/land_use.csv diff --git a/activitysim/examples/example_multiple_zone/data/persons.csv b/activitysim/examples/placeholder_multiple_zone/data_1/persons.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data/persons.csv rename to activitysim/examples/placeholder_multiple_zone/data_1/persons.csv diff --git a/activitysim/examples/example_multiple_zone/data/skims.omx b/activitysim/examples/placeholder_multiple_zone/data_1/skims.omx similarity index 100% rename from activitysim/examples/example_multiple_zone/data/skims.omx rename to activitysim/examples/placeholder_multiple_zone/data_1/skims.omx diff --git a/activitysim/examples/example_multiple_zone/data_2/.gitignore b/activitysim/examples/placeholder_multiple_zone/data_2/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/data_2/.gitignore rename to activitysim/examples/placeholder_multiple_zone/data_2/.gitignore diff --git a/activitysim/examples/example_multiple_zone/data_3/.gitignore b/activitysim/examples/placeholder_multiple_zone/data_3/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/data_3/.gitignore rename to activitysim/examples/placeholder_multiple_zone/data_3/.gitignore diff --git a/activitysim/examples/placeholder_multiple_zone/marin_crop.py b/activitysim/examples/placeholder_multiple_zone/marin_crop.py new file mode 100644 index 0000000000..bcf7b8ca10 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/marin_crop.py @@ -0,0 +1,173 @@ +# crop marin tvpb example data processing to one county +# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 +# jeff doyle added code to introduce MAZ_OFFSET to avoid confusion (and detect associated errors) between zone types + +import os + +import openmatrix as omx +import pandas as pd + +# counties = ["Marin" +# counties = ["San Francisco" +counties = ["Marin", "San Francisco"] + +input_dir = "./data_3_marin" +output_dir = "./data_3_marin/crop" +MAZ_OFFSET = 100000 + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def patch_maz(df, maz_offset): + for c in df.columns: + if c in ["MAZ", "OMAZ", "DMAZ", "mgra", "orig_mgra", "dest_mgra"]: + df[c] += maz_offset + return df + + +def read_csv(file_name): + df = pd.read_csv(input_path(file_name)) + if MAZ_OFFSET: + df = patch_maz(df, MAZ_OFFSET) + print(f"\n\n{file_name}\n{df}") + return df + + +def to_csv(df, file_name): + df.to_csv(output_path(file_name), index=False) + + +######### +# mazs = read_csv("maz_data_asim.csv") +# taps = read_csv("tap_data.csv") +# +# print(f"max maz {mazs.MAZ.max()}") +# print(f"num maz {len(mazs.MAZ.unique())}") +# print(f"num taz {len(mazs.TAZ.unique())}") +# print(f"num tap {len(taps.TAP.unique())}") +# +# num maz 5952 +# num taz 4735 +# num tap 6216 +######### + + +# 0 - get county zones + +mazs = read_csv("maz_data_asim.csv") + +mazs = mazs[mazs["CountyName"].isin(counties)] +to_csv(mazs, "maz_data_asim.csv") + +maz_taz = mazs[["MAZ", "TAZ"]] +to_csv(mazs, "maz_taz.csv") + +tazs = mazs["TAZ"].unique() +tazs.sort() +tazs_indexes = (tazs - 1).tolist() + +taps = read_csv("tap_data.csv") +taps = taps[["TAP", "TAZ"]].sort_values(by="TAP") +taps = taps[taps["TAZ"].isin(tazs)] +to_csv(taps, "tap_data.csv") + +# 1-based tap_ids +taps_indexes = (taps["TAP"] - 1).tolist() + + +# 2 - maz to tap walk, bike + +maz_tap_walk = read_csv("maz_tap_walk.csv") +maz_maz_walk = read_csv("maz_maz_walk.csv") +maz_maz_bike = read_csv("maz_maz_bike.csv") + +maz_tap_walk = maz_tap_walk[ + maz_tap_walk["MAZ"].isin(mazs["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"]) +] +maz_maz_walk = maz_maz_walk[ + maz_maz_walk["OMAZ"].isin(mazs["MAZ"]) & maz_maz_walk["DMAZ"].isin(mazs["MAZ"]) +] +maz_maz_bike = maz_maz_bike[ + maz_maz_bike["OMAZ"].isin(mazs["MAZ"]) & maz_maz_bike["DMAZ"].isin(mazs["MAZ"]) +] + +to_csv(maz_tap_walk, "maz_tap_walk.csv") +to_csv(maz_maz_walk, "maz_maz_walk.csv") +to_csv(maz_maz_bike, "maz_maz_bike.csv") + + +tap_lines = read_csv("tap_lines.csv") +tap_lines = tap_lines[tap_lines["TAP"].isin(taps["TAP"])] +to_csv(tap_lines, "tap_lines.csv") + +# taz to tap drive data + +taz_tap_drive = read_csv("maz_taz_tap_drive.csv") +taz_tap_drive = taz_tap_drive[ + taz_tap_drive["MAZ"].isin(mazs["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"]) +] +to_csv(taz_tap_drive, "maz_taz_tap_drive.csv") + + +# 3 - accessibility data + +access = read_csv("access.csv") +access = access[access["mgra"].isin(mazs["MAZ"])] +to_csv(access, "access.csv") + + +# households + +households = read_csv("households_asim.csv") +households = households[households["MAZ"].isin(mazs["MAZ"])] +to_csv(households, "households_asim.csv") + +# persons + +persons = read_csv("persons_asim.csv") +persons = persons[persons["HHID"].isin(households["HHID"])] +to_csv(persons, "persons_asim.csv") + +# tours file + +work_tours = read_csv("work_tours.csv") +work_tours = work_tours[work_tours["hh_id"].isin(households["HHID"])] +work_tours = work_tours[ + work_tours["orig_mgra"].isin(mazs["MAZ"]) + & work_tours["dest_mgra"].isin(mazs["MAZ"]) +] +to_csv(work_tours, "work_tours.csv") + +# skims + +time_periods = ["AM", "EA", "EV", "MD", "PM"] +for tp in time_periods: + omx_file_name = "HWYSKM" + tp + "_taz_rename.omx" + taz_file = omx.open_file(input_path(omx_file_name)) + taz_file_rename = omx.open_file(output_path(omx_file_name), "w") + taz_file_rename.create_mapping("ZONE", tazs.tolist()) + for mat_name in taz_file.list_matrices(): + taz_file_rename[mat_name] = taz_file[mat_name][tazs_indexes, :][:, tazs_indexes] + print(mat_name) + taz_file.close() + taz_file_rename.close() + +for tp in time_periods: + for skim_set in ["SET1", "SET2", "SET3"]: + omx_file_name = "transit_skims_" + tp + "_" + skim_set + "_rename.omx" + tap_file = omx.open_file(input_path(omx_file_name)) + tap_file_rename = omx.open_file(output_path(omx_file_name), "w") + tap_file_rename.create_mapping("ZONE", taps["TAP"].tolist()) + for mat_name in tap_file.list_matrices(): + tap_file_rename[mat_name] = tap_file[mat_name][taps_indexes, :][ + :, taps_indexes + ] + print(mat_name) + tap_file.close() + tap_file_rename.close() diff --git a/activitysim/examples/placeholder_multiple_zone/marin_fix.py b/activitysim/examples/placeholder_multiple_zone/marin_fix.py new file mode 100644 index 0000000000..55ad498a72 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/marin_fix.py @@ -0,0 +1,94 @@ +# remove some of the asim-style columns added by marin_work_tour_mode_choice.py +# so data input files look 'realistic' - and that work is done instaed by 'import_tours' annotation expression files + +import os + +import openmatrix as omx +import pandas as pd + +input_dir = "./data_3_marin" +output_dir = ( + "./data_3_marin/fix" # don't overwrite - but these files shold replace 'oritinals' +) + + +def input_path(filenane): + return os.path.join(input_dir, filenane) + + +def output_path(filenane): + return os.path.join(output_dir, filenane) + + +# 0 - get county zones + +mazs = pd.read_csv(input_path("maz_data_asim.csv")) +del mazs["zone_id"] +del mazs["county_id"] +mazs.to_csv(output_path("maz_data_asim.csv"), index=False) + +tazs = mazs["TAZ"].unique() +tazs.sort() +assert ((tazs - 1) == range(len(tazs))).all() + +# MAZ,TAZ +taps = pd.read_csv(input_path("maz_taz.csv")) +# nothing +taps.to_csv(output_path("maz_taz.csv"), index=False) + +taps = pd.read_csv(input_path("tap_data.csv")) +# nothing +taps.to_csv(output_path("tap_data.csv"), index=False) + + +# 2 - nearby skims need headers + +maz_tap_walk = pd.read_csv(input_path("maz_tap_walk.csv")) +maz_maz_walk = pd.read_csv(input_path("maz_maz_walk.csv")) +maz_maz_bike = pd.read_csv(input_path("maz_maz_bike.csv")) + +del maz_tap_walk["TAP.1"] +del maz_maz_walk["DMAZ.1"] +del maz_maz_bike["DMAZ.1"] + +maz_tap_walk.to_csv(output_path("maz_tap_walk.csv"), index=False) +maz_maz_walk.to_csv(output_path("maz_maz_walk.csv"), index=False) +maz_maz_bike.to_csv(output_path("maz_maz_bike.csv"), index=False) + +# 3 - accessibility data + +access = pd.read_csv(input_path("access.csv")) +del access["zone_id"] +access.to_csv(output_path("access.csv"), index=False) + +# 4 - maz to tap drive data + +taz_tap_drive = pd.read_csv(input_path("maz_taz_tap_drive.csv")) + +taz_tap_drive.to_csv(output_path("maz_taz_tap_drive.csv"), index=False) + +# 5 - households + +households = pd.read_csv(input_path("households_asim.csv")) +del households["home_zone_id"] +del households["household_id"] + +households.to_csv(output_path("households_asim.csv"), index=False) + +# 6 - persons + +persons = pd.read_csv(input_path("persons_asim.csv")) +del persons["person_id"] +del persons["household_id"] +del persons["is_university"] +persons.to_csv(output_path("persons_asim.csv"), index=False) + +# 7 - tours file + +work_tours = pd.read_csv(input_path("work_tours.csv")) +del work_tours["household_id"] +del work_tours["destination"] +del work_tours["start"] +del work_tours["end"] +del work_tours["tour_type"] +work_tours.to_csv(output_path("work_tours.csv"), index=False) diff --git a/activitysim/examples/placeholder_multiple_zone/marin_work_tour_mode_choice_data.py b/activitysim/examples/placeholder_multiple_zone/marin_work_tour_mode_choice_data.py new file mode 100644 index 0000000000..e31212549c --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/marin_work_tour_mode_choice_data.py @@ -0,0 +1,171 @@ +# marin tvpb example data processing +# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 + +import openmatrix as omx +import pandas as pd + +# command to run the underdevelopment example +# python simulation.py -c configs_3_zone_marin -d data_3_marin -o output_3_marin + +# data processing at c:\projects\activitysim\marin + +# 1 - fix skim names, put time periods at end and make all names unique + +time_periods = ["AM", "EA", "EV", "MD", "PM"] +for tp in time_periods: + taz_file = omx.open_file("HWYSKM" + tp + "_taz.omx") + taz_file_rename = omx.open_file("HWYSKM" + tp + "_taz_rename.omx", "w") + for mat_name in taz_file.list_matrices(): + taz_file_rename[mat_name + "__" + tp] = taz_file[mat_name][:] + print(mat_name + "__" + tp) + taz_file.close() + taz_file_rename.close() + +for tp in time_periods: + for skim_set in ["SET1", "SET2", "SET3"]: + tap_file = omx.open_file("transit_skims_" + tp + "_" + skim_set + ".omx") + tap_file_rename = omx.open_file( + "transit_skims_" + tp + "_" + skim_set + "_rename.omx", "w" + ) + for mat_name in tap_file.list_matrices(): + tap_file_rename[mat_name + "_" + skim_set + "__" + tp] = tap_file[mat_name][ + : + ] + print(mat_name + "_" + skim_set + "__" + tp) + tap_file.close() + tap_file_rename.close() + +# 2 - nearby skims need headers + +maz_tap_walk = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/ped_distance_maz_tap.txt", header=None +) +maz_maz_walk = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/ped_distance_maz_maz.txt", header=None +) +maz_maz_bike = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/bike_distance_maz_maz.txt", header=None +) + +maz_tap_walk.columns = [ + "MAZ", + "TAP", + "TAP", + "WALK_TRANSIT_GEN_COST", + "WALK_TRANSIT_DIST", +] +maz_maz_walk.columns = ["OMAZ", "DMAZ", "DMAZ", "WALK_GEN_COST", "WALK_DIST"] +maz_maz_bike.columns = ["OMAZ", "DMAZ", "DMAZ", "BIKE_GEN_COST", "BIKE_DIST"] + +maz_tap_walk["WALK_TRANSIT_DIST"] = maz_tap_walk["WALK_TRANSIT_DIST"] / 5280 # miles +maz_maz_walk["WALK_DIST"] = maz_maz_walk["WALK_DIST"] / 5280 # miles +maz_maz_bike["BIKE_DIST"] = maz_maz_bike["BIKE_DIST"] / 5280 # miles + +maz_tap_walk[["MAZ", "TAP", "WALK_TRANSIT_DIST"]].to_csv( + "maz_tap_walk.csv", index=False +) +maz_maz_walk[["OMAZ", "DMAZ", "WALK_DIST"]].to_csv("maz_maz_walk.csv", index=False) +maz_maz_bike[["OMAZ", "DMAZ", "BIKE_DIST"]].to_csv("maz_maz_bike.csv", index=False) + +# 3 - maz data + +mazs = pd.read_csv("2015_test_2019_02_13_Part2/landuse/maz_data_withDensity.csv") +pcost = pd.read_csv("2015_test_2019_02_13/ctramp_output/mgraParkingCost.csv") + +mazs = pd.concat([mazs, pcost], axis=1) +mazs = mazs.fillna(0) + +tazs = pd.read_csv("2015_test_2019_02_13_Part2/landuse/taz_data.csv") +tazs = tazs.set_index("TAZ", drop=False) + +mazs["TERMINALTIME"] = tazs["TERMINALTIME"].loc[mazs["TAZ"]].tolist() + +mazs["zone_id"] = mazs["MAZ"] +mazs["county_id"] = mazs["CountyID"] +mazs = mazs.set_index("zone_id", drop=False) + +mazs.to_csv("maz_data_asim.csv", index=False) + +# 4 - accessibility data + +access = pd.read_csv("2015_test_2019_02_13/ctramp_output/accessibilities.csv") +access = access.drop([0]) +access["zone_id"] = access["mgra"] +access = access.set_index("zone_id", drop=False) +access.to_csv("access.csv", index=False) + +# 5 - maz to tap drive data + +taz_tap_drive = pd.read_csv("2015_test_2019_02_13_Part3/skims/drive_maz_taz_tap.csv") + +taz_tap_drive = taz_tap_drive.pivot_table( + index=["FTAZ", "TTAP"], values=["DTIME", "DDIST", "WDIST"], fill_value=0 +) + +taz_tap_drive.columns = list(map("".join, taz_tap_drive.columns)) +taz_tap_drive = taz_tap_drive.reset_index() +taz_tap_drive = taz_tap_drive.set_index("FTAZ") +taz_tap_drive["TAP"] = taz_tap_drive["TTAP"] + +taz_tap_drive = pd.merge( + mazs[["MAZ", "TAZ"]], taz_tap_drive, left_on=["TAZ"], right_on=["FTAZ"] +) +taz_tap_drive[["MAZ", "TAP", "DDIST", "DTIME", "WDIST"]].to_csv( + "maz_taz_tap_drive.csv", index=False +) + +# 6 - tours file, we just need work tours + +itour = pd.read_csv("2015_test_2019_02_13/ctramp_output/indivTourData_3.csv") +work_tours = itour[itour["tour_purpose"] == "Work"] + +work_tours["tour_id"] = range(1, len(work_tours) + 1) +work_tours["household_id"] = work_tours["hh_id"] +work_tours = work_tours.set_index("tour_id", drop=False) + +work_tours["destination"] = work_tours["dest_mgra"] + +work_tours["start"] = work_tours["start_period"] +work_tours["end"] = work_tours["end_period"] +work_tours["tour_type"] = "work" + +work_tours.to_csv("work_tours.csv", index=False) + +# 7 - households + +households = pd.read_csv("2015_test_2019_02_13_Part2/popsyn/households.csv") +households["household_id"] = households["HHID"] +households["home_zone_id"] = households["MAZ"] +households = households.set_index("household_id", drop=False) + +households.to_csv("households_asim.csv", index=False) + +# 8 - persons + +persons = pd.read_csv("2015_test_2019_02_13_Part2/popsyn/persons.csv") +persons["person_id"] = persons["PERID"] +persons["household_id"] = persons["HHID"] +persons = persons.set_index("person_id", drop=False) + +persons_output = pd.read_csv("2015_test_2019_02_13/ctramp_output/personData_3.csv") +persons_output = persons_output.set_index("person_id", drop=False) +persons["type"] = persons_output["type"].loc[persons.index] +persons["value_of_time"] = persons_output["value_of_time"].loc[persons.index] +persons["is_university"] = persons["type"] == "University student" +persons["fp_choice"] = persons_output["fp_choice"] + +persons.to_csv("persons_asim.csv", index=False) + +# 9 - replace existing pipeline tables for restart for now + +# run simple three zone example and get output pipeline and then replace tables before tour mode choice +pipeline = pd.io.pytables.HDFStore("pipeline.h5") +pipeline.keys() + +pipeline["/accessibility/compute_accessibility"] = access # index zone_id +pipeline["/households/joint_tour_frequency"] = households # index household_id +pipeline["/persons/non_mandatory_tour_frequency"] = persons # index person_id +pipeline["/land_use/initialize_landuse"] = mazs # index zone_id +pipeline["/tours/non_mandatory_tour_scheduling"] = work_tours # index tour_id + +pipeline.close() diff --git a/activitysim/examples/placeholder_multiple_zone/notes.txt b/activitysim/examples/placeholder_multiple_zone/notes.txt new file mode 100644 index 0000000000..d1d0277463 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/notes.txt @@ -0,0 +1,51 @@ +# for the mtctm1 fudged examples, depending on where you are, run: + +# from top level activitysim repo: +python activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py +python activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py + +# or from this directory: +python two_zone_example_data.py +python three_zone_example_data.py + +python simulation.py -c configs_local -c configs_1_zone -c configs -o output_1 +python simulation.py -c configs_local -c configs_2_zone -c configs -d data_2 -o output_2 +python simulation.py -c configs_local -c configs_3_zone -c configs -d data_3 -o output_3 + +pytest -x activitysim/examples/placeholder_multiple_zone/test/ + + +# for the marin data +# requires python 3.8 and pyarrow + +you will need the data_3_marin folder with files created/processed by marin_work_tour_mode_choice_data.py + +These were originally created for the purpose of creating a 'fake' pipeline database to resume before tour_mode_choice + +When we decided to implement initialize_tours, I chose to remove some of the asim-style columns +so the data input files would look 'realistic' - and that work is now done instead by 'import_tours' +annotation expression files + +the marin_fix.py script does the job of removing those fields and writes them into a 'fix' folder. +Once they have been created they can replace the original input files. + +You will also need to add (and rename) the tap_lines.csv file to the data_3_marin folder + +the marin_crop.py script has been modified to work with the 'fixed' input files. +marin_crop.py writes a complete data folder into the 'crop' folder (which you will need to create) +which should be copied and renamed to somewhere more appropriate (or you can specify the marin_crop ouput_dir in script) + +python simulation.py -c configs_3_zone_marin -c configs -d data_3_marin -o output_3_marin + + + + +# num maz 5952 +# num taz 4735 +# num tap 6216 * 6216 +6216 * 6216 = 38638656 + + +python simulation.py -c configs_3_zone_marin_full -c configs_3_zone_marin -c configs -d data_3_marin_full -o output_3_marin_full -s settings_mp.yaml + + diff --git a/activitysim/examples/example_multiple_zone/output/mem.csv b/activitysim/examples/placeholder_multiple_zone/output/mem.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/output/mem.csv rename to activitysim/examples/placeholder_multiple_zone/output/mem.csv diff --git a/activitysim/examples/example_multiple_zone/output/pipeline.h5 b/activitysim/examples/placeholder_multiple_zone/output/pipeline.h5 similarity index 100% rename from activitysim/examples/example_multiple_zone/output/pipeline.h5 rename to activitysim/examples/placeholder_multiple_zone/output/pipeline.h5 diff --git a/activitysim/examples/example_arc/test/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_1/.gitignore similarity index 100% rename from activitysim/examples/example_arc/test/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_1/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_1/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_1/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_1/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_1/cache/.gitignore diff --git a/activitysim/examples/example_arc/output/log/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_1/trace/.gitignore similarity index 100% rename from activitysim/examples/example_arc/output/log/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_1/trace/.gitignore diff --git a/activitysim/examples/example_marin/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_2/.gitignore similarity index 100% rename from activitysim/examples/example_marin/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_2/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_2/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_2/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_2/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_2/cache/.gitignore diff --git a/activitysim/examples/example_arc/output/trace/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_2/trace/.gitignore similarity index 100% rename from activitysim/examples/example_arc/output/trace/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_2/trace/.gitignore diff --git a/activitysim/examples/example_marin/test/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3/.gitignore similarity index 100% rename from activitysim/examples/example_marin/test/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3/.gitignore diff --git a/activitysim/examples/example_arc/output/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3/cache/.gitignore similarity index 100% rename from activitysim/examples/example_arc/output/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3/cache/.gitignore diff --git a/activitysim/examples/example_arc/test/output/trace/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3/trace/.gitignore similarity index 100% rename from activitysim/examples/example_arc/test/output/trace/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3/trace/.gitignore diff --git a/activitysim/examples/example_mtc/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/.gitignore diff --git a/activitysim/examples/example_arc/test/output/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/cache/.gitignore similarity index 100% rename from activitysim/examples/example_arc/test/output/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/cache/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_example_marin_mp/log/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/log/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_example_marin_mp/log/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/log/.gitignore diff --git a/activitysim/examples/example_marin/output/log/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/trace/.gitignore similarity index 100% rename from activitysim/examples/example_marin/output/log/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/trace/.gitignore diff --git a/activitysim/examples/example_mtc/test/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_mp/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/test/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_mp/.gitignore diff --git a/activitysim/examples/example_marin/output/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_mp/cache/.gitignore similarity index 100% rename from activitysim/examples/example_marin/output/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_mp/cache/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_mp/log/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_mp/log/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_mp/log/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_mp/log/.gitignore diff --git a/activitysim/examples/example_marin/output/trace/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_mp/trace/.gitignore similarity index 100% rename from activitysim/examples/example_marin/output/trace/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_mp/trace/.gitignore diff --git a/activitysim/examples/placeholder_multiple_zone/scripts/notes.txt b/activitysim/examples/placeholder_multiple_zone/scripts/notes.txt new file mode 100644 index 0000000000..f6eb111363 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/scripts/notes.txt @@ -0,0 +1,14 @@ + +# for the mtctm1 fudged examples, depending on where you are, run: + +# from top level activitysim repo: +python activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py +python activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py + +# or from this directory: +python two_zone_example_data.py +python three_zone_example_data.py + +python simulation.py -c configs_local -c configs_1_zone -c configs -o output_1 +python simulation.py -c configs_local -c configs_2_zone -c configs -d data_2 -o output_2 +python simulation.py -c configs_local -c configs_3_zone -c configs -d data_3 -o output_3 diff --git a/activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py new file mode 100644 index 0000000000..248f9e2f45 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py @@ -0,0 +1,250 @@ +# Creating the Two Zone Example Data +# +# Transform the TM1 TAZ-based model 25 zone inputs to a two-zone (MAZ and TAZ) set of inputs for software development. +# +# The 25 zones are downtown San Francisco and they are converted to 25 MAZs. +# MAZs 1,2,3,4 are small and adjacent and assigned TAZ 2 and TAP 10002. +# MAZs 13,14,15 are small and adjacent and as signed TAZ 14 and TAP 10014. +# TAZs 1,3,4,13,15 are removed from the final data set. +# +# This script should work for the full TM1 example as well. + +import os +import sys + +import numpy as np +import openmatrix as omx +import pandas as pd + +# Create example directory + + +input_data = os.path.join(os.path.dirname(__file__), "../data_1") +output_data = os.path.join(os.path.dirname(__file__), "../data_3") +MAZ_MULTIPLIER = 1000 +TAP_OFFSET = 90000 + +# ### initialize output data directory + +# new empty output_dir +if os.path.exists(output_data): + # shutil.rmtree(output_data) + # os.makedirs(output_data) + file_type = ("csv", "omx") + for file_name in os.listdir(output_data): + if file_name.endswith(file_type): + os.unlink(os.path.join(output_data, file_name)) +else: + os.makedirs(output_data) + +# ### Convert tazs to mazs and add transit access distance by mode + +land_use = pd.read_csv(os.path.join(input_data, "land_use.csv")) + +if "ZONE" in land_use.columns: + land_use.insert(loc=0, column="MAZ", value=land_use.ZONE) + land_use.insert(loc=1, column="TAZ", value=land_use.ZONE) + land_use.drop(columns=["ZONE"], inplace=True) +else: + land_use.insert(loc=0, column="MAZ", value=land_use.TAZ) + +land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) +land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) + +# make MAZ indexes different from TAZ to drive MAZ/TAZ confusion errors and omisisons +land_use.MAZ *= MAZ_MULTIPLIER + +shortWalk = 0.333 # the tm1 example assumes this distance for transit access +longWalk = 0.667 +land_use["access_dist_transit"] = shortWalk + +# FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone +# land_use['access_dist_transit'] =\ +# np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) + + +land_use.to_csv(os.path.join(output_data, "land_use.csv"), index=False) + +# ### Put households in mazs instead of tazs + +households = pd.read_csv(os.path.join(input_data, "households.csv")) +households.rename(columns={"TAZ": "MAZ"}, inplace=True) +households.MAZ *= MAZ_MULTIPLIER +households.to_csv(os.path.join(output_data, "households.csv"), index=False) + +persons = pd.read_csv(os.path.join(input_data, "persons.csv")) +persons.to_csv(os.path.join(output_data, "persons.csv"), index=False) + +# ### Create maz file +# one row per maz, currentlyt he only attribute it its containing TAZ + +# FIXME - not clear we need this +maz_df = land_use[["MAZ", "TAZ"]] +maz_df.to_csv(os.path.join(output_data, "maz.csv"), index=False) +print("maz.csv\n%s" % (maz_df.head(6),)) + +# ### Create taz file + +# TAZ +# 2 +# 5 +# 6 +# 7 + +taz_zone_ids = np.unique(land_use.TAZ) +taz_zone_indexes = taz_zone_ids - 1 +taz_df = pd.DataFrame({"TAZ": taz_zone_ids}, index=taz_zone_indexes) +taz_df.to_csv(os.path.join(output_data, "taz.csv"), index=False) +print("taz.csv\n%s" % (taz_df.head(6),)) + +# currently this has only the one TAZ column, but the legacy table had: +# index TAZ +# offset int64 +# terminal_time float64 # occasional small integer (1-5), but mostly blank (only if it has a TAP? +# ptype float64 # parking type at TAP? (rarer than terminal_time, never alone) + + +# ### Create maz to maz time/distance + +max_distance_for_walk = 1.0 +max_distance_for_bike = 5.0 + + +with omx.open_file(os.path.join(input_data, "skims.omx")) as ur_skims: + + # create df with DIST column + maz_to_maz = pd.DataFrame(ur_skims["DIST"]).unstack().reset_index() + maz_to_maz.columns = ["OMAZ", "DMAZ", "DIST"] + maz_to_maz["OMAZ"] = (maz_to_maz["OMAZ"] + 1) * MAZ_MULTIPLIER + maz_to_maz["DMAZ"] = (maz_to_maz["DMAZ"] + 1) * MAZ_MULTIPLIER + + # additional columns + for c in ["DISTBIKE", "DISTWALK"]: + maz_to_maz[c] = pd.DataFrame(ur_skims[c]).unstack().values + + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_walk, ["OMAZ", "DMAZ", "DISTWALK"] + ].to_csv(os.path.join(output_data, "maz_to_maz_walk.csv"), index=False) + + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_bike, + ["OMAZ", "DMAZ", "DIST", "DISTBIKE"], + ].to_csv(os.path.join(output_data, "maz_to_maz_bike.csv"), index=False) + + +######## + + +# create tap file +# currently the only attribute is its containing maz + + +np.random.seed(42) # seed for random_variation so we build the same data every time + +taz_zone_labels = taz_df.TAZ.values +tap_zone_labels = taz_zone_labels + TAP_OFFSET +maz_zone_labels = taz_zone_labels * MAZ_MULTIPLIER +tap_df = pd.DataFrame({"TAP": tap_zone_labels, "MAZ": maz_zone_labels}) +tap_df.to_csv(os.path.join(output_data, "tap.csv"), index=False) + +# create taz_z3 and tap skims +with omx.open_file( + os.path.join(input_data, "skims.omx"), "r" +) as ur_skims, omx.open_file( + os.path.join(output_data, "taz_skims.omx"), "w" +) as output_taz_skims_file, omx.open_file( + os.path.join(output_data, "tap_skims.omx"), "w" +) as output_tap_skims_file: + + for skim_name in ur_skims.list_matrices(): + + ur_skim = ur_skims[skim_name][:] + new_skim = ur_skim[taz_zone_indexes, :][:, taz_zone_indexes] + # print("skim:", skim_name, ": shape", str(new_skim.shape)) + + mode_code = skim_name[0:3] + is_tap_mode = mode_code == "DRV" or mode_code == "WLK" + is_taz_mode = not is_tap_mode + + if is_tap_mode: + # WLK_TRN_WLK_XWAIT__PM + # 012345678911111111112 + # 01234567890 + access_mode = skim_name[0:3] + transit_mode = skim_name[4:7] + egress_mode = skim_name[8:11] + datum_name = skim_name[12:-4] + tod = skim_name[-2:] + if access_mode == "WLK" and egress_mode == "WLK": + for suffix in ["FAST", "SHORT", "CHEAP"]: + if (suffix == "FAST") and (datum_name == "TOTIVT"): + random_variation = np.random.rand(*new_skim.shape) * -0.1 + 1.0 + elif (suffix == "CHEAP") and (datum_name == "FAR"): + random_variation = np.random.rand(*new_skim.shape) * -0.5 + 1.0 + else: + random_variation = np.ones_like(new_skim) + + tap_skim_name = f"{transit_mode}_{datum_name}_{suffix}__{tod}" + output_tap_skims_file[tap_skim_name] = new_skim * random_variation + # print(f"tap skim: {skim_name} tap_skim_name: {tap_skim_name}, " + # f"shape: {str(output_tap_skims_file.shape())}") + + if is_taz_mode: + output_taz_skims_file[skim_name] = new_skim + # print("taz skim:", skim_name, ": shape", str(output_taz_skims_file.shape())) + + output_taz_skims_file.create_mapping("taz", taz_zone_labels) + output_tap_skims_file.create_mapping("tap", tap_zone_labels) + +print("taz skims created: " + os.path.join(output_data, "taz_skims.omx")) +print("tap skims created: " + os.path.join(output_data, "tap_skims.omx")) + +# Create maz to tap distance file by mode + +with omx.open_file(os.path.join(input_data, "skims.omx")) as ur_skims: + distance_table = pd.DataFrame(np.transpose(ur_skims["DIST"])).unstack() + distance_table = distance_table.reset_index() + distance_table.columns = ["MAZ", "TAP", "DIST"] + + distance_table["drive_time"] = ( + pd.DataFrame(np.transpose(ur_skims["SOV_TIME__MD"])).unstack().values + ) + + for c in ["DISTBIKE", "DISTWALK"]: + distance_table[c] = pd.DataFrame(np.transpose(ur_skims[c])).unstack().values + +walk_speed = 3 +bike_speed = 10 +drive_speed = 25 +max_distance_for_nearby_taps_walk = 1.0 +max_distance_for_nearby_taps_bike = 5.0 +max_distance_for_nearby_taps_drive = 10.0 + +distance_table["MAZ"] = (distance_table["MAZ"] + 1) * MAZ_MULTIPLIER +distance_table["TAP"] = (distance_table["TAP"] + 1) + TAP_OFFSET + +distance_table["walk_time"] = distance_table["DIST"] * (60 / walk_speed) +distance_table["bike_time"] = distance_table["DIST"] * (60 * bike_speed) + +# FIXME: we are using SOV_TIME__MD - is that right? +distance_table["drive_time"] = distance_table["DIST"] * (60 * drive_speed) + +distance_table = distance_table[distance_table["TAP"].isin(tap_zone_labels)] + + +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_walk, + ["MAZ", "TAP", "DISTWALK", "walk_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_walk.csv"), index=False) + +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_bike, + ["MAZ", "TAP", "DISTBIKE", "bike_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_bike.csv"), index=False) + +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_drive, + ["MAZ", "TAP", "DIST", "drive_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_drive.csv"), index=False) + +sys.exit(0) diff --git a/activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py new file mode 100644 index 0000000000..0b247905f5 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py @@ -0,0 +1,156 @@ +# Creating the Two Zone Example Data +# +# Transform the TM1 TAZ-based model 25 zone inputs to a two-zone (MAZ and TAZ) set of inputs for software development. +# +# The 25 zones are downtown San Francisco and they are converted to 25 MAZs. +# MAZs 1,2,3,4 are small and adjacent and assigned TAZ 2 and TAP 10002. +# MAZs 13,14,15 are small and adjacent and as signed TAZ 14 and TAP 10014. +# TAZs 1,3,4,13,15 are removed from the final data set. +# +# This script should work for the full TM1 example as well. + +import os +import sys + +import numpy as np +import openmatrix as omx +import pandas as pd + +# Create example directory + +input_data = os.path.join(os.path.dirname(__file__), "../data_1") +output_data = os.path.join(os.path.dirname(__file__), "../data_2") +MAZ_MULTIPLIER = 1000 + +# ### initialize output data directory + +# new empty output_dir +if os.path.exists(output_data): + # shutil.rmtree(output_data) + # os.makedirs(output_data) + file_type = ("csv", "omx") + for file_name in os.listdir(output_data): + if file_name.endswith(file_type): + os.unlink(os.path.join(output_data, file_name)) +else: + os.makedirs(output_data) + +# ### Convert tazs to mazs and add transit access distance by mode + +land_use = pd.read_csv(os.path.join(input_data, "land_use.csv")) + +if "ZONE" in land_use.columns: + land_use.insert(loc=0, column="MAZ", value=land_use.ZONE) + land_use.insert(loc=1, column="TAZ", value=land_use.ZONE) + land_use.drop(columns=["ZONE"], inplace=True) +else: + land_use.insert(loc=0, column="MAZ", value=land_use.TAZ) + +land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) +land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) + +# make MAZ indexes different from TAZ to drive MAZ/TAZ confusion errors and omisisons +land_use.MAZ *= MAZ_MULTIPLIER + +shortWalk = 0.333 # the tm1 example assumes this distance for transit access +longWalk = 0.667 +land_use["access_dist_transit"] = shortWalk + +# FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone +# land_use['access_dist_transit'] =\ +# np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) + + +land_use.to_csv(os.path.join(output_data, "land_use.csv"), index=False) + +# ### Put households in mazs instead of tazs + +households = pd.read_csv(os.path.join(input_data, "households.csv")) +households.rename(columns={"TAZ": "MAZ"}, inplace=True) +households.MAZ *= MAZ_MULTIPLIER +households.to_csv(os.path.join(output_data, "households.csv"), index=False) + +persons = pd.read_csv(os.path.join(input_data, "persons.csv")) +persons.to_csv(os.path.join(output_data, "persons.csv"), index=False) + +# ### Create maz correspondence file + +# FIXME - not clear we need this +maz_df = land_use[["MAZ", "TAZ"]] +maz_df.to_csv(os.path.join(output_data, "maz.csv"), index=False) +print("maz.csv\n%s" % (maz_df.head(6),)) + +# ### Create taz file + +# TAZ +# 2 +# 5 +# 6 +# 7 + +new_zone_labels = np.unique(land_use.TAZ) +new_zone_indexes = new_zone_labels - 1 +taz_df = pd.DataFrame({"TAZ": new_zone_labels}, index=new_zone_indexes) +taz_df.to_csv(os.path.join(output_data, "taz.csv"), index=False) +print("taz.csv\n%s" % (taz_df.head(6),)) + +# currently this has only the one TAZ column, but the legacy table had: +# index TAZ +# offset int64 +# terminal_time float64 # occasional small integer (1-5), but mostly blank (only if it has a TAP? +# ptype float64 # parking type at TAP? (rarer than terminal_time, never alone) + +# ### Create taz skims + +with omx.open_file( + os.path.join(input_data, "skims.omx"), "r" +) as skims_file, omx.open_file( + os.path.join(output_data, "taz_skims.omx"), "w" +) as output_skims_file: + + skims = skims_file.list_matrices() + num_zones = skims_file.shape()[0] + + # assume zones labels were 1-based in skims file + assert not skims_file.listMappings() + assert num_zones == len(land_use) + + for skim_name in skims_file.list_matrices(): + + old_skim = skims_file[skim_name][:] + new_skim = old_skim[new_zone_indexes, :][:, new_zone_indexes] + output_skims_file[skim_name] = new_skim + # print("skim:", skim_name, ": shape", str(new_skim.shape)) + + output_skims_file.create_mapping("taz", new_zone_labels) + +print("taz skims created: " + os.path.join(output_data, "taz_skims.omx")) + +# ### Create maz to maz time/distance + +max_distance_for_walk = 1.0 +max_distance_for_bike = 5.0 + + +with omx.open_file(os.path.join(input_data, "skims.omx")) as skims_file: + + # create df with DIST column + maz_to_maz = pd.DataFrame(np.transpose(skims_file["DIST"])).unstack().reset_index() + maz_to_maz.columns = ["OMAZ", "DMAZ", "DIST"] + maz_to_maz["OMAZ"] = (maz_to_maz["OMAZ"] + 1) * MAZ_MULTIPLIER + maz_to_maz["DMAZ"] = (maz_to_maz["DMAZ"] + 1) * MAZ_MULTIPLIER + + # additional columns + for c in ["DISTBIKE", "DISTWALK"]: + maz_to_maz[c] = pd.DataFrame(np.transpose(skims_file[c])).unstack().values + + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_walk, ["OMAZ", "DMAZ", "DISTWALK"] + ].to_csv(os.path.join(output_data, "maz_to_maz_walk.csv"), index=False) + + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_bike, + ["OMAZ", "DMAZ", "DIST", "DISTBIKE"], + ].to_csv(os.path.join(output_data, "maz_to_maz_bike.csv"), index=False) + +sys.exit(0) diff --git a/activitysim/examples/placeholder_multiple_zone/simulation.py b/activitysim/examples/placeholder_multiple_zone/simulation.py new file mode 100644 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/example_mtc/test/configs/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs/network_los.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/network_los.yaml diff --git a/activitysim/examples/example_multiple_zone/test/configs_2_zone/settings.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_2_zone/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/settings.yaml diff --git a/activitysim/examples/example_multiple_zone/test/configs_2_zone/settings_mp.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_2_zone/settings_mp.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/settings_mp.yaml diff --git a/activitysim/examples/example_multiple_zone/test/configs_3_zone/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_3_zone/network_los.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/network_los.yaml diff --git a/activitysim/examples/example_multiple_zone/test/configs_3_zone/settings.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_3_zone/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/settings.yaml diff --git a/activitysim/examples/example_multiple_zone/test/configs_3_zone/settings_mp.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_3_zone/settings_mp.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/settings_mp.yaml diff --git a/activitysim/examples/example_multiple_zone/output_1/.gitignore b/activitysim/examples/placeholder_multiple_zone/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_1/.gitignore rename to activitysim/examples/placeholder_multiple_zone/test/output/.gitignore diff --git a/activitysim/examples/example_marin/test/output/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_marin/test/output/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/test/output/cache/.gitignore diff --git a/activitysim/examples/example_marin/test/output/trace/.gitignore b/activitysim/examples/placeholder_multiple_zone/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_marin/test/output/trace/.gitignore rename to activitysim/examples/placeholder_multiple_zone/test/output/trace/.gitignore diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_tours_2_zone.csv b/activitysim/examples/placeholder_multiple_zone/test/regress/final_tours_2_zone.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/test/regress/final_tours_2_zone.csv rename to activitysim/examples/placeholder_multiple_zone/test/regress/final_tours_2_zone.csv diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_tours_3_zone.csv b/activitysim/examples/placeholder_multiple_zone/test/regress/final_tours_3_zone.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/test/regress/final_tours_3_zone.csv rename to activitysim/examples/placeholder_multiple_zone/test/regress/final_tours_3_zone.csv diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_trips_2_zone.csv b/activitysim/examples/placeholder_multiple_zone/test/regress/final_trips_2_zone.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/test/regress/final_trips_2_zone.csv rename to activitysim/examples/placeholder_multiple_zone/test/regress/final_trips_2_zone.csv diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_trips_3_zone.csv b/activitysim/examples/placeholder_multiple_zone/test/regress/final_trips_3_zone.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/test/regress/final_trips_3_zone.csv rename to activitysim/examples/placeholder_multiple_zone/test/regress/final_trips_3_zone.csv diff --git a/activitysim/examples/placeholder_multiple_zone/test/simulation.py b/activitysim/examples/placeholder_multiple_zone/test/simulation.py new file mode 100755 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py b/activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py new file mode 100644 index 0000000000..99f7568b8b --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py @@ -0,0 +1,119 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources +import pytest + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def example_path(dirname): + resource = os.path.join("examples", "placeholder_multiple_zone", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def mtc_example_path(dirname): + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def build_data(): + # FIXME this irks travis + # subprocess.check_call(['coverage', 'run', example_path('scripts/two_zone_example_data.py')]) + # subprocess.check_call(['coverage', 'run', example_path('scripts/three_zone_example_data.py')]) + pass + + +@pytest.fixture(scope="module") +def data(): + build_data() + + +def run_test(zone, multiprocess=False): + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(zone): + + # regress tours + regress_tours_df = pd.read_csv( + test_path(f"regress/final_tours_{zone}_zone.csv") + ) + tours_df = pd.read_csv(test_path("output/final_tours.csv")) + tours_df.to_csv( + test_path(f"regress/final_tours_{zone}_zone_last_run.csv"), index=False + ) + print(f"regress tours") + pdt.assert_frame_equal(tours_df, regress_tours_df, rtol=1e-03) + + # regress trips + regress_trips_df = pd.read_csv( + test_path(f"regress/final_trips_{zone}_zone.csv") + ) + trips_df = pd.read_csv(test_path("output/final_trips.csv")) + trips_df.to_csv( + test_path(f"regress/final_trips_{zone}_zone_last_run.csv"), index=False + ) + print(f"regress trips") + pdt.assert_frame_equal(trips_df, regress_trips_df, rtol=1e-03) + + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + run_args = [ + "-c", + test_path(f"configs_{zone}_zone"), + "-c", + example_path(f"configs_{zone}_zone"), + "-c", + mtc_example_path(f"configs"), + "-d", + example_path(f"data_{zone}"), + "-o", + test_path("output"), + ] + + if multiprocess: + run_args = run_args + ["-s", "settings_mp"] + elif zone == "3": + run_args = run_args + ["-s", "settings_static"] + + subprocess.run(["coverage", "run", "-a", file_path] + run_args, check=True) + + regress(zone) + + +def test_2_zone(data): + run_test(zone="2", multiprocess=False) + + +def test_2_zone_mp(data): + run_test(zone="2", multiprocess=True) + + +def test_3_zone(data): + # python simulation.py -c configs_3_zone -c ../configs_3_zone -c \ + # ../../prototype_mtc/configs -d ../data_3 -o output -s settings_mp + run_test(zone="3", multiprocess=False) + + +def test_3_zone_mp(data): + run_test(zone="3", multiprocess=True) + + +if __name__ == "__main__": + + build_data() + run_test(zone="2", multiprocess=False) + run_test(zone="2", multiprocess=True) + + run_test(zone="3", multiprocess=False) + run_test(zone="3", multiprocess=True) diff --git a/activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py new file mode 100644 index 0000000000..9f0dae1ad7 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py @@ -0,0 +1,241 @@ +# Creating the Two Zone Example Data +# +# Transform the TM1 TAZ-based model 25 zone inputs to a two-zone (MAZ and TAZ) set of inputs for software development. +# +# The 25 zones are downtown San Francisco and they are converted to 25 MAZs. +# MAZs 1,2,3,4 are small and adjacent and assigned TAZ 2 and TAP 10002. +# MAZs 13,14,15 are small and adjacent and as signed TAZ 14 and TAP 10014. +# TAZs 1,3,4,13,15 are removed from the final data set. +# +# This script should work for the full TM1 example as well. + +import os +import shutil + +import numpy as np +import openmatrix as omx +import pandas as pd + +# Create example directory + + +input_data = os.path.join(os.path.dirname(__file__), "data") +output_data = os.path.join(os.path.dirname(__file__), "data_3") +MAZ_MULTIPLIER = 1000 +TAP_OFFSET = 90000 + +# ### initialize output data directory + +# new empty output_dir +if os.path.exists(output_data): + # shutil.rmtree(output_data) + # os.makedirs(output_data) + file_type = ("csv", "omx") + for file_name in os.listdir(output_data): + if file_name.endswith(file_type): + os.unlink(os.path.join(output_data, file_name)) +else: + os.makedirs(output_data) + +# ### Convert tazs to mazs and add transit access distance by mode + +land_use = pd.read_csv(os.path.join(input_data, "land_use.csv")) + +land_use.insert(loc=0, column="MAZ", value=land_use.ZONE) +land_use.insert(loc=1, column="TAZ", value=land_use.ZONE) +land_use.drop(columns=["ZONE"], inplace=True) + +land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) +land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) + +# make MAZ indexes different from TAZ to drive MAZ/TAZ confusion errors and omisisons +land_use.MAZ *= MAZ_MULTIPLIER + +shortWalk = 0.333 # the tm1 example assumes this distance for transit access +longWalk = 0.667 +land_use["access_dist_transit"] = shortWalk + +# FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone +# land_use['access_dist_transit'] =\ +# np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) + + +land_use.to_csv(os.path.join(output_data, "land_use.csv"), index=False) + +# ### Put households in mazs instead of tazs + +households = pd.read_csv(os.path.join(input_data, "households.csv")) +households.rename(columns={"TAZ": "MAZ"}, inplace=True) +households.MAZ *= MAZ_MULTIPLIER +households.to_csv(os.path.join(output_data, "households.csv"), index=False) + +persons = pd.read_csv(os.path.join(input_data, "persons.csv")) +persons.to_csv(os.path.join(output_data, "persons.csv"), index=False) + +# ### Create maz file +# one row per maz, currentlyt he only attribute it its containing TAZ + +# FIXME - not clear we need this +maz_df = land_use[["MAZ", "TAZ"]] +maz_df.to_csv(os.path.join(output_data, "maz.csv"), index=False) +print("maz.csv\n%s" % (maz_df.head(6),)) + +# ### Create taz file + +# TAZ +# 2 +# 5 +# 6 +# 7 + +taz_zone_ids = np.unique(land_use.TAZ) +taz_zone_indexes = taz_zone_ids - 1 +taz_df = pd.DataFrame({"TAZ": taz_zone_ids}, index=taz_zone_indexes) +taz_df.to_csv(os.path.join(output_data, "taz.csv"), index=False) +print("taz.csv\n%s" % (taz_df.head(6),)) + +# currently this has only the one TAZ column, but the legacy table had: +# index TAZ +# offset int64 +# terminal_time float64 # occasional small integer (1-5), but mostly blank (only if it has a TAP? +# ptype float64 # parking type at TAP? (rarer than terminal_time, never alone) + + +# ### Create maz to maz time/distance + +max_distance_for_walk = 1.0 +max_distance_for_bike = 5.0 + + +with omx.open_file(os.path.join(input_data, "skims.omx")) as ur_skims: + + # create df with DIST column + maz_to_maz = pd.DataFrame(ur_skims["DIST"]).unstack().reset_index() + maz_to_maz.columns = ["OMAZ", "DMAZ", "DIST"] + maz_to_maz["OMAZ"] = (maz_to_maz["OMAZ"] + 1) * MAZ_MULTIPLIER + maz_to_maz["DMAZ"] = (maz_to_maz["DMAZ"] + 1) * MAZ_MULTIPLIER + + # additional columns + for c in ["DISTBIKE", "DISTWALK"]: + maz_to_maz[c] = pd.DataFrame(ur_skims[c]).unstack().values + + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_walk, ["OMAZ", "DMAZ", "DISTWALK"] + ].to_csv(os.path.join(output_data, "maz_to_maz_walk.csv"), index=False) + + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_bike, + ["OMAZ", "DMAZ", "DIST", "DISTBIKE"], + ].to_csv(os.path.join(output_data, "maz_to_maz_bike.csv"), index=False) + + +######## + + +# create tap file +# currently the only attribute is its containing maz + +taz_zone_labels = taz_df.TAZ.values +tap_zone_labels = taz_zone_labels + TAP_OFFSET +maz_zone_labels = taz_zone_labels * MAZ_MULTIPLIER +tap_df = pd.DataFrame({"TAP": tap_zone_labels, "MAZ": maz_zone_labels}) +tap_df.to_csv(os.path.join(output_data, "tap.csv"), index=False) + +# create taz_z3 and tap skims +with omx.open_file( + os.path.join(input_data, "skims.omx"), "r" +) as ur_skims, omx.open_file( + os.path.join(output_data, "taz_skims.omx"), "w" +) as output_taz_skims_file, omx.open_file( + os.path.join(output_data, "tap_skims.omx"), "w" +) as output_tap_skims_file: + + for skim_name in ur_skims.list_matrices(): + + ur_skim = ur_skims[skim_name][:] + new_skim = ur_skim[taz_zone_indexes, :][:, taz_zone_indexes] + # print("skim:", skim_name, ": shape", str(new_skim.shape)) + + mode_code = skim_name[0:3] + is_tap_mode = mode_code == "DRV" or mode_code == "WLK" + is_taz_mode = not is_tap_mode + + if is_tap_mode: + # WLK_TRN_WLK_XWAIT__PM + # 012345678911111111112 + # 01234567890 + access_mode = skim_name[0:3] + transit_mode = skim_name[4:7] + egress_mode = skim_name[8:11] + datum_name = skim_name[12:-4] + tod = skim_name[-2:] + if access_mode == "WLK" and egress_mode == "WLK": + for suffix in ["FAST", "SHORT", "CHEAP"]: + if (suffix == "FAST") and (datum_name == "TOTIVT"): + random_variation = np.random.rand(*new_skim.shape) * -0.1 + 1.0 + elif (suffix == "CHEAP") and (datum_name == "FAR"): + random_variation = np.random.rand(*new_skim.shape) * -0.5 + 1.0 + else: + random_variation = np.ones_like(new_skim) + + tap_skim_name = f"{transit_mode}_{datum_name}_{suffix}__{tod}" + output_tap_skims_file[tap_skim_name] = new_skim * random_variation + print( + f"tap skim: {skim_name} tap_skim_name: {tap_skim_name}, " + f"shape: {str(output_tap_skims_file.shape())}" + ) + + if is_taz_mode: + output_taz_skims_file[skim_name] = new_skim + print("taz skim:", skim_name, ": shape", str(output_taz_skims_file.shape())) + + output_taz_skims_file.create_mapping("taz", taz_zone_labels) + output_tap_skims_file.create_mapping("tap", tap_zone_labels) + +# Create maz to tap distance file by mode + +with omx.open_file(os.path.join(input_data, "skims.omx")) as ur_skims: + distance_table = pd.DataFrame(np.transpose(ur_skims["DIST"])).unstack() + distance_table = distance_table.reset_index() + distance_table.columns = ["MAZ", "TAP", "DIST"] + + distance_table["drive_time"] = ( + pd.DataFrame(np.transpose(ur_skims["SOV_TIME__MD"])).unstack().values + ) + + for c in ["DISTBIKE", "DISTWALK"]: + distance_table[c] = pd.DataFrame(np.transpose(ur_skims[c])).unstack().values + +walk_speed = 3 +bike_speed = 10 +drive_speed = 25 +max_distance_for_nearby_taps_walk = 1.0 +max_distance_for_nearby_taps_bike = 5.0 +max_distance_for_nearby_taps_drive = 10.0 + +distance_table["MAZ"] = (distance_table["MAZ"] + 1) * MAZ_MULTIPLIER +distance_table["TAP"] = (distance_table["TAP"] + 1) + TAP_OFFSET + +distance_table["walk_time"] = distance_table["DIST"] * (60 / walk_speed) +distance_table["bike_time"] = distance_table["DIST"] * (60 * bike_speed) + +# FIXME: we are using SOV_TIME__MD - is that right? +distance_table["drive_time"] = distance_table["DIST"] * (60 * drive_speed) + +distance_table = distance_table[distance_table["TAP"].isin(tap_zone_labels)] + + +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_walk, + ["MAZ", "TAP", "DISTWALK", "walk_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_walk.csv"), index=False) + +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_bike, + ["MAZ", "TAP", "DISTBIKE", "bike_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_bike.csv"), index=False) + +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_drive, + ["MAZ", "TAP", "DIST", "drive_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_drive.csv"), index=False) diff --git a/activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py new file mode 100644 index 0000000000..90ab0ca1a7 --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py @@ -0,0 +1,150 @@ +# Creating the Two Zone Example Data +# +# Transform the TM1 TAZ-based model 25 zone inputs to a two-zone (MAZ and TAZ) set of inputs for software development. +# +# The 25 zones are downtown San Francisco and they are converted to 25 MAZs. +# MAZs 1,2,3,4 are small and adjacent and assigned TAZ 2 and TAP 10002. +# MAZs 13,14,15 are small and adjacent and as signed TAZ 14 and TAP 10014. +# TAZs 1,3,4,13,15 are removed from the final data set. +# +# This script should work for the full TM1 example as well. + +import os +import shutil + +import numpy as np +import openmatrix as omx +import pandas as pd + +# Create example directory + +input_data = os.path.join(os.path.dirname(__file__), "data") +output_data = os.path.join(os.path.dirname(__file__), "data_2") +MAZ_MULTIPLIER = 1000 + +# ### initialize output data directory + +# new empty output_dir +if os.path.exists(output_data): + # shutil.rmtree(output_data) + # os.makedirs(output_data) + file_type = ("csv", "omx") + for file_name in os.listdir(output_data): + if file_name.endswith(file_type): + os.unlink(os.path.join(output_data, file_name)) +else: + os.makedirs(output_data) + +# ### Convert tazs to mazs and add transit access distance by mode + +land_use = pd.read_csv(os.path.join(input_data, "land_use.csv")) + +land_use.insert(loc=0, column="MAZ", value=land_use.ZONE) +land_use.insert(loc=1, column="TAZ", value=land_use.ZONE) +land_use.drop(columns=["ZONE"], inplace=True) + +land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) +land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) + +# make MAZ indexes different from TAZ to drive MAZ/TAZ confusion errors and omisisons +land_use.MAZ *= MAZ_MULTIPLIER + +shortWalk = 0.333 # the tm1 example assumes this distance for transit access +longWalk = 0.667 +land_use["access_dist_transit"] = shortWalk + +# FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone +# land_use['access_dist_transit'] =\ +# np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) + + +land_use.to_csv(os.path.join(output_data, "land_use.csv"), index=False) + +# ### Put households in mazs instead of tazs + +households = pd.read_csv(os.path.join(input_data, "households.csv")) +households.rename(columns={"TAZ": "MAZ"}, inplace=True) +households.MAZ *= MAZ_MULTIPLIER +households.to_csv(os.path.join(output_data, "households.csv"), index=False) + +persons = pd.read_csv(os.path.join(input_data, "persons.csv")) +persons.to_csv(os.path.join(output_data, "persons.csv"), index=False) + +# ### Create maz correspondence file + +# FIXME - not clear we need this +maz_df = land_use[["MAZ", "TAZ"]] +maz_df.to_csv(os.path.join(output_data, "maz.csv"), index=False) +print("maz.csv\n%s" % (maz_df.head(6),)) + +# ### Create taz file + +# TAZ +# 2 +# 5 +# 6 +# 7 + +new_zone_labels = np.unique(land_use.TAZ) +new_zone_indexes = new_zone_labels - 1 +taz_df = pd.DataFrame({"TAZ": new_zone_labels}, index=new_zone_indexes) +taz_df.to_csv(os.path.join(output_data, "taz.csv"), index=False) +print("taz.csv\n%s" % (taz_df.head(6),)) + +# currently this has only the one TAZ column, but the legacy table had: +# index TAZ +# offset int64 +# terminal_time float64 # occasional small integer (1-5), but mostly blank (only if it has a TAP? +# ptype float64 # parking type at TAP? (rarer than terminal_time, never alone) + +# ### Create taz skims + +with omx.open_file( + os.path.join(input_data, "skims.omx"), "r" +) as skims_file, omx.open_file( + os.path.join(output_data, "taz_skims.omx"), "w" +) as output_skims_file: + + skims = skims_file.list_matrices() + num_zones = skims_file.shape()[0] + + # assume zones labels were 1-based in skims file + assert not skims_file.listMappings() + assert num_zones == len(land_use) + + for skim_name in skims_file.list_matrices(): + + old_skim = skims_file[skim_name][:] + new_skim = old_skim[new_zone_indexes, :][:, new_zone_indexes] + output_skims_file[skim_name] = new_skim + print("skim:", skim_name, ": shape", str(new_skim.shape)) + + output_skims_file.create_mapping("taz", new_zone_labels) + + +# ### Create maz to maz time/distance + +max_distance_for_walk = 1.0 +max_distance_for_bike = 5.0 + + +with omx.open_file(os.path.join(input_data, "skims.omx")) as skims_file: + + # create df with DIST column + maz_to_maz = pd.DataFrame(np.transpose(skims_file["DIST"])).unstack().reset_index() + maz_to_maz.columns = ["OMAZ", "DMAZ", "DIST"] + maz_to_maz["OMAZ"] = (maz_to_maz["OMAZ"] + 1) * MAZ_MULTIPLIER + maz_to_maz["DMAZ"] = (maz_to_maz["DMAZ"] + 1) * MAZ_MULTIPLIER + + # additional columns + for c in ["DISTBIKE", "DISTWALK"]: + maz_to_maz[c] = pd.DataFrame(np.transpose(skims_file[c])).unstack().values + + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_walk, ["OMAZ", "DMAZ", "DISTWALK"] + ].to_csv(os.path.join(output_data, "maz_to_maz_walk.csv"), index=False) + + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_bike, + ["OMAZ", "DMAZ", "DIST", "DISTBIKE"], + ].to_csv(os.path.join(output_data, "maz_to_maz_bike.csv"), index=False) diff --git a/activitysim/examples/example_arc/.gitignore b/activitysim/examples/placeholder_psrc/.gitignore similarity index 100% rename from activitysim/examples/example_arc/.gitignore rename to activitysim/examples/placeholder_psrc/.gitignore diff --git a/activitysim/examples/example_psrc/README.MD b/activitysim/examples/placeholder_psrc/README.MD similarity index 100% rename from activitysim/examples/example_psrc/README.MD rename to activitysim/examples/placeholder_psrc/README.MD diff --git a/activitysim/examples/example_psrc/change_log.txt b/activitysim/examples/placeholder_psrc/change_log.txt similarity index 99% rename from activitysim/examples/example_psrc/change_log.txt rename to activitysim/examples/placeholder_psrc/change_log.txt index 413c65880a..f8f3324f78 100644 --- a/activitysim/examples/example_psrc/change_log.txt +++ b/activitysim/examples/placeholder_psrc/change_log.txt @@ -266,7 +266,7 @@ BLDGSZ,HHID,HHT,MAZ,NOC,PERSONS,PUMA5,SERIALNO,TENURE,UNITTYPE,VEHICL,bucketBin, ##### data/maz_to_maz_walk.csv ### -# these files are wrong - they were simply copied from the example_multiple_zone 2-zone example data for MTC +# these files are wrong - they were simply copied from the placeholder_multiple_zone 2-zone example data for MTC ### ### tour_scheduling_work.csv diff --git a/activitysim/examples/example_arc/configs/_dummy_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/_dummy_coefficients.csv similarity index 100% rename from activitysim/examples/example_arc/configs/_dummy_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/_dummy_coefficients.csv diff --git a/activitysim/examples/example_multiple_zone/configs_2_zone/accessibility.csv b/activitysim/examples/placeholder_psrc/configs/accessibility.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_2_zone/accessibility.csv rename to activitysim/examples/placeholder_psrc/configs/accessibility.csv diff --git a/activitysim/examples/example_mtc/configs/accessibility.yaml b/activitysim/examples/placeholder_psrc/configs/accessibility.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/accessibility.yaml rename to activitysim/examples/placeholder_psrc/configs/accessibility.yaml diff --git a/activitysim/examples/placeholder_psrc/configs/annotate_households.csv b/activitysim/examples/placeholder_psrc/configs/annotate_households.csv new file mode 100755 index 0000000000..ac2fd94b3d --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/annotate_households.csv @@ -0,0 +1,35 @@ +Description,Target,Expression +#,, annotate households table after import +,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" +#,,FIXME households.income can be negative - so we clip? +income_in_thousands,income_in_thousands,(households.income / 1000).clip(lower=0) +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[INCOME_SEGMENT_LOW, INCOME_SEGMENT_MED, INCOME_SEGMENT_HIGH, INCOME_SEGMENT_VERYHIGH]).astype(int)" +#,, +,_MIN_VOT,setting('min_value_of_time') +,_MAX_VOT,setting('max_value_of_time') +,_MU,setting('distributed_vot_mu') +,_SIGMA,setting('distributed_vot_sigma') +median_value_of_time,median_value_of_time,"income_segment.map({k: v for k, v in setting('household_median_value_of_time').items()})" +hh_value_of_time,hh_value_of_time,"rng.lognormal_for_df(df, mu=np.log(median_value_of_time * _MU), sigma=_SIGMA).clip(_MIN_VOT, _MAX_VOT)" +#,, +#num_workers was renamed in import,, +#,num_workers,households.workers +number of non_workers,num_non_workers,households.hhsize - households.num_workers +#,, +#,,we assume that everyone 16 and older is a potential driver +number of drivers,num_drivers,"_PERSON_COUNT('16 <= age', persons, households)" +num_adults,num_adults,"_PERSON_COUNT('adult', persons, households)" +num_children,num_children,"_PERSON_COUNT('~adult', persons, households)" +num_young_children,num_young_children,"_PERSON_COUNT('age <= 5', persons, households)" +num_children_5_to_15,num_children_5_to_15,"_PERSON_COUNT('5 <= age <= 15', persons, households)" +num_children_16_to_17,num_children_16_to_17,"_PERSON_COUNT('16 <= age <= 17', persons, households)" +num_college_age,num_college_age,"_PERSON_COUNT('18 <= age <= 24', persons, households)" +num_young_adults,num_young_adults,"_PERSON_COUNT('25 <= age <= 34', persons, households)" +non_family,non_family,households.HHT.isin(HHT_NONFAMILY) +family,family,households.HHT.isin(HHT_FAMILY) +home_is_urban,home_is_urban,"reindex(land_use.area_type, households.home_zone_id) < setting('urban_threshold')" +home_is_rural,home_is_rural,"reindex(land_use.area_type, households.home_zone_id) > setting('rural_threshold')" + + + + diff --git a/activitysim/examples/placeholder_psrc/configs/annotate_households_cdap.csv b/activitysim/examples/placeholder_psrc/configs/annotate_households_cdap.csv new file mode 100755 index 0000000000..44b4fdcbfd --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/annotate_households_cdap.csv @@ -0,0 +1,9 @@ +Description,Target,Expression +#,, annotate households table after cdap model has run +num_under16_not_at_school,num_under16_not_at_school,persons.under16_not_at_school.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_adults,num_travel_active_adults,(persons.adult & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == PTYPE_PRESCHOOL) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_children,num_travel_active_children,num_travel_active - num_travel_active_adults +num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers +participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) diff --git a/activitysim/examples/example_mtc/configs/annotate_households_workplace.csv b/activitysim/examples/placeholder_psrc/configs/annotate_households_workplace.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_households_workplace.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_households_workplace.csv diff --git a/activitysim/examples/placeholder_psrc/configs/annotate_landuse.csv b/activitysim/examples/placeholder_psrc/configs/annotate_landuse.csv new file mode 100755 index 0000000000..229833a503 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/annotate_landuse.csv @@ -0,0 +1,5 @@ +Description,Target,Expression +#,, annotate landuse table after import +household_density,household_density,land_use.TOTHH / (land_use.RESACRE + land_use.CIACRE) +employment_density,employment_density,land_use.TOTEMP / (land_use.RESACRE + land_use.CIACRE) +density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) diff --git a/activitysim/examples/example_mtc/configs/annotate_persons.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_after_hh.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_after_hh.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_after_hh.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_after_hh.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_cdap.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_cdap.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_cdap.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_cdap.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_jtp.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_jtp.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_jtp.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_jtp.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_mtf.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_mtf.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_mtf.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_mtf.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_nmtf.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_nmtf.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_nmtf.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_nmtf.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_school.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_school.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_school.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_school.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_workplace.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_workplace.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_workplace.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_workplace.csv diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_destination.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/atwork_subtour_destination.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination.csv diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_destination.yaml b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs/atwork_subtour_destination.yaml rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination.yaml diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_destination_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_destination_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination_coeffs.csv diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_destination_sample.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination_sample.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/atwork_subtour_destination_sample.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination_sample.csv diff --git a/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency.csv new file mode 100755 index 0000000000..06e9f8878f --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency.csv @@ -0,0 +1,23 @@ +Label,Expression,no_subtours,eat,business1,maint,business2,eat_business +util_dummy_for_full_time_worker,pemploy==1,coefficient_dummy_for_full_time_worker_no_subtours,coefficient_dummy_for_full_time_worker_eat,coefficient_dummy_for_full_time_worker_business1,coefficient_dummy_for_full_time_worker_maint,coefficient_dummy_for_full_time_worker_business2,coefficient_dummy_for_full_time_worker_eat_business +util_dummy_for_non_full_time_worker,pemploy!=1,coefficient_dummy_for_non_full_time_worker_no_subtours,coefficient_dummy_for_non_full_time_worker_eat,coefficient_dummy_for_non_full_time_worker_business1,coefficient_dummy_for_non_full_time_worker_maint,coefficient_dummy_for_non_full_time_worker_business2,coefficient_dummy_for_non_full_time_worker_eat_business +util_dummy_for_non_workers,"ptype in [4, 5]",coefficient_dummy_for_non_workers_no_subtours,coefficient_dummy_for_non_workers_eat,coefficient_dummy_for_non_workers_business1,coefficient_dummy_for_non_workers_maint,coefficient_dummy_for_non_workers_business2,coefficient_dummy_for_non_workers_eat_business +util_medium_hh_income_dummy,income_segment == 2,coefficient_medium_hh_income_dummy_no_subtours,coefficient_medium_hh_income_dummy_eat,coefficient_medium_hh_income_dummy_business1,coefficient_medium_hh_income_dummy_maint,coefficient_medium_hh_income_dummy_business2,coefficient_medium_hh_income_dummy_eat_business +util_high_hh_income_dummy,(income_segment > 2) & (income_segment < 5),coefficient_high_hh_income_dummy_no_subtours,coefficient_high_hh_income_dummy_eat,coefficient_high_hh_income_dummy_business1,coefficient_high_hh_income_dummy_maint,coefficient_high_hh_income_dummy_business2,coefficient_high_hh_income_dummy_eat_business +util_zero_cars_owned_by_hh_dummy, auto_ownership == 0,coefficient_zero_cars_owned_by_hh_dummy_no_subtours,coefficient_zero_cars_owned_by_hh_dummy_eat,coefficient_zero_cars_owned_by_hh_dummy_business1,coefficient_zero_cars_owned_by_hh_dummy_maint,coefficient_zero_cars_owned_by_hh_dummy_business2,coefficient_zero_cars_owned_by_hh_dummy_eat_business +util_individual_discretionary_tours_made_by_full_time_worker,@(df.pemploy==1)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business +util_individual_discretionary_tours_made_by_part_time_worker,@(df.pemploy==2)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business +util_individual_eating_out_tours_made_by_person,num_eatout_tours,coefficient_individual_eating_out_tours_made_by_person_no_subtours,coefficient_individual_eating_out_tours_made_by_person_eat,coefficient_individual_eating_out_tours_made_by_person_business1,coefficient_individual_eating_out_tours_made_by_person_maint,coefficient_individual_eating_out_tours_made_by_person_business2,coefficient_individual_eating_out_tours_made_by_person_eat_business +util_main_shop_escort_tours_allocated_to_full_time_worker,@(df.pemploy==1)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business +util_main_shop_escort_tours_allocated_to_part_time_worker,@(df.pemploy==2)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business +util_participation_in_joint_shop_main_eat_tours,num_joint_maint_shop_eat,coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,coefficient_participation_in_joint_shop_main_eat_tours_eat,coefficient_participation_in_joint_shop_main_eat_tours_business1,coefficient_participation_in_joint_shop_main_eat_tours_maint,coefficient_participation_in_joint_shop_main_eat_tours_business2,coefficient_participation_in_joint_shop_main_eat_tours_eat_business +util_participation_in_joint_discretionary_tours,num_joint_discr,coefficient_participation_in_joint_discretionary_tours_no_subtours,coefficient_participation_in_joint_discretionary_tours_eat,coefficient_participation_in_joint_discretionary_tours_business1,coefficient_participation_in_joint_discretionary_tours_maint,coefficient_participation_in_joint_discretionary_tours_business2,coefficient_participation_in_joint_discretionary_tours_eat_business +util_log_of_the_work_tour_duration,@np.log(df.duration+0.5),coefficient_log_of_the_work_tour_duration_no_subtours,coefficient_log_of_the_work_tour_duration_eat,coefficient_log_of_the_work_tour_duration_business1,coefficient_log_of_the_work_tour_duration_maint,coefficient_log_of_the_work_tour_duration_business2,coefficient_log_of_the_work_tour_duration_eat_business +util_dummy_for_drive_alone_mode_for_work_tour,work_tour_is_SOV,coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business +util_two_work_tours_by_person,num_work_tours==2,coefficient_two_work_tours_by_person_no_subtours,coefficient_two_work_tours_by_person_eat,coefficient_two_work_tours_by_person_business1,coefficient_two_work_tours_by_person_maint,coefficient_two_work_tours_by_person_business2,coefficient_two_work_tours_by_person_eat_business +util_workplace_urban_area_dummy,work_zone_area_type<4,coefficient_workplace_urban_area_dummy_no_subtours,coefficient_workplace_urban_area_dummy_eat,coefficient_workplace_urban_area_dummy_business1,coefficient_workplace_urban_area_dummy_maint,coefficient_workplace_urban_area_dummy_business2,coefficient_workplace_urban_area_dummy_eat_business +util_workplace_suburban_area_dummy,(work_zone_area_type>3) & (work_zone_area_type<6),coefficient_workplace_suburban_area_dummy_no_subtours,coefficient_workplace_suburban_area_dummy_eat,coefficient_workplace_suburban_area_dummy_business1,coefficient_workplace_suburban_area_dummy_maint,coefficient_workplace_suburban_area_dummy_business2,coefficient_workplace_suburban_area_dummy_eat_business +util_auto_accessibility_to_retail_for_work_taz,auOpRetail,coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,coefficient_auto_accessibility_to_retail_for_work_taz_eat,coefficient_auto_accessibility_to_retail_for_work_taz_business1,coefficient_auto_accessibility_to_retail_for_work_taz_maint,coefficient_auto_accessibility_to_retail_for_work_taz_business2,coefficient_auto_accessibility_to_retail_for_work_taz_eat_business +util_walk_accessibility_to_retail_for_work_taz,nmRetail,coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,coefficient_walk_accessibility_to_retail_for_work_taz_eat,coefficient_walk_accessibility_to_retail_for_work_taz_business1,coefficient_walk_accessibility_to_retail_for_work_taz_maint,coefficient_walk_accessibility_to_retail_for_work_taz_business2,coefficient_walk_accessibility_to_retail_for_work_taz_eat_business +util_dummy_for_worker_or_student_with_non_mandatory_tour,(is_worker | is_student) * num_non_mand,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business +util_at_work_sub_tour_alternative_specific_constant,1,coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,coefficient_at_work_sub_tour_alternative_specific_constant_eat,coefficient_at_work_sub_tour_alternative_specific_constant_business1,coefficient_at_work_sub_tour_alternative_specific_constant_maint,coefficient_at_work_sub_tour_alternative_specific_constant_business2,coefficient_at_work_sub_tour_alternative_specific_constant_eat_business diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_frequency.yaml b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_frequency.yaml rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency.yaml diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_alternatives.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_frequency_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_alternatives.csv diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_coeffs.csv new file mode 100755 index 0000000000..c59a4e2ee3 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_coeffs.csv @@ -0,0 +1,133 @@ +coefficient_name,value,constrain +coefficient_dummy_for_full_time_worker_business1,-7.375,F +coefficient_dummy_for_full_time_worker_business2,-14.28,F +coefficient_dummy_for_full_time_worker_eat,-7.28,F +coefficient_dummy_for_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_full_time_worker_maint,-8.093,F +coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_full_time_worker_business1,-8.319,F +coefficient_dummy_for_non_full_time_worker_business2,-14.28,F +coefficient_dummy_for_non_full_time_worker_eat,-8.604,F +coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_non_full_time_worker_maint,-8.214,F +coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_workers_business1,-5,T +coefficient_dummy_for_non_workers_business2,-5,T +coefficient_dummy_for_non_workers_eat,0,T +coefficient_dummy_for_non_workers_eat_business,-5,T +coefficient_dummy_for_non_workers_maint,-5,T +coefficient_dummy_for_non_workers_no_subtours,0,T +coefficient_medium_hh_income_dummy_business1,0.5555,F +coefficient_medium_hh_income_dummy_business2,1.111,F +coefficient_medium_hh_income_dummy_eat,0.61,F +coefficient_medium_hh_income_dummy_eat_business,1.1655,F +coefficient_medium_hh_income_dummy_maint,0.1527,F +coefficient_medium_hh_income_dummy_no_subtours,0,T +coefficient_high_hh_income_dummy_business1,1.066,F +coefficient_high_hh_income_dummy_business2,2.132,F +coefficient_high_hh_income_dummy_eat,0.8693,F +coefficient_high_hh_income_dummy_eat_business,1.9353,F +coefficient_high_hh_income_dummy_maint,0.1651,F +coefficient_high_hh_income_dummy_no_subtours,0,T +coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_business2,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F +coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T +coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F +coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F +coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F +coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F +coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F +coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T +coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F +coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F +coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F +coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F +coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F +coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T +coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F +coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F +coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F +coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F +coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F +coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T +coefficient_log_of_the_work_tour_duration_business1,1.142,F +coefficient_log_of_the_work_tour_duration_business2,2.284,F +coefficient_log_of_the_work_tour_duration_eat,1.55,F +coefficient_log_of_the_work_tour_duration_eat_business,2.692,F +coefficient_log_of_the_work_tour_duration_maint,1.659,F +coefficient_log_of_the_work_tour_duration_no_subtours,0,T +coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T +coefficient_two_work_tours_by_person_business1,0.3753,F +coefficient_two_work_tours_by_person_business2,0.7506,F +coefficient_two_work_tours_by_person_eat,-0.9862,F +coefficient_two_work_tours_by_person_eat_business,-0.6109,F +coefficient_two_work_tours_by_person_maint,-0.2312,F +coefficient_two_work_tours_by_person_no_subtours,0,T +coefficient_workplace_urban_area_dummy_business1,-0.2235,F +coefficient_workplace_urban_area_dummy_business2,-0.447,F +coefficient_workplace_urban_area_dummy_eat,-0.4182,F +coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F +coefficient_workplace_urban_area_dummy_maint,-0.1479,F +coefficient_workplace_urban_area_dummy_no_subtours,0,T +coefficient_workplace_suburban_area_dummy_business1,-0.1102,F +coefficient_workplace_suburban_area_dummy_business2,-0.2204,F +coefficient_workplace_suburban_area_dummy_eat,-0.2916,F +coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F +coefficient_workplace_suburban_area_dummy_maint,0,T +coefficient_workplace_suburban_area_dummy_no_subtours,0,T +coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F +coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F +coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F +coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F +coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T +coefficient_at_work_sub_tour_alternative_specific_constant_business1,-0.5372,F +coefficient_at_work_sub_tour_alternative_specific_constant_business2,-2.1337,F +coefficient_at_work_sub_tour_alternative_specific_constant_eat,0.8576,F +coefficient_at_work_sub_tour_alternative_specific_constant_eat_business,-0.9721,F +coefficient_at_work_sub_tour_alternative_specific_constant_maint,-0.6198,F +coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,0,T \ No newline at end of file diff --git a/activitysim/examples/example_sandag/configs_3_zone/auto_ownership.csv b/activitysim/examples/placeholder_psrc/configs/auto_ownership.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/auto_ownership.csv rename to activitysim/examples/placeholder_psrc/configs/auto_ownership.csv diff --git a/activitysim/examples/placeholder_psrc/configs/auto_ownership.yaml b/activitysim/examples/placeholder_psrc/configs/auto_ownership.yaml new file mode 100755 index 0000000000..c1af8adb68 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/auto_ownership.yaml @@ -0,0 +1,17 @@ + +SPEC: auto_ownership.csv +COEFFICIENTS: auto_ownership_coeffs.csv + +#LOGIT_TYPE: NL +LOGIT_TYPE: MNL + +CONSTANTS: + ID_SAN_FRANCISCO: 1 + ID_SAN_MATEO: 2 + ID_SANTA_CLARA: 3 + ID_ALAMEDA: 4 + ID_CONTRA_COSTA: 5 + ID_SOLANO: 6 + ID_NAPA: 7 + ID_SONOMA: 8 + ID_MARIN: 9 diff --git a/activitysim/examples/placeholder_psrc/configs/auto_ownership_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/auto_ownership_coeffs.csv new file mode 100755 index 0000000000..b9d7fd07b0 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/auto_ownership_coeffs.csv @@ -0,0 +1,68 @@ +coefficient_name,value,constrain +coef_cars1_drivers_2,0,T +coef_cars1_drivers_3,0,T +coef_cars1_persons_16_17,0,T +coef_cars234_asc_marin,0,T +coef_cars1_persons_25_34,0,T +coef_cars1_num_workers_clip_3,0,T +coef_cars1_hh_income_30_up,0,T +coef_cars1_density_0_10_no_workers,0,T +coef_cars1_density_10_up_workers,-0.0152,F +coef_retail_non_motor,-0.03,T +coef_cars4_asc,-5.313,F +coef_cars3_asc,-3.2502,F +coef_cars34_persons_16_17,-1.7313,F +coef_cars2_asc,-1.0846,F +coef_cars34_persons_18_24,-1.0107,F +coef_cars2_persons_18_24,-1.0095,F +coef_cars2_persons_16_17,-0.881,F +coef_cars34_persons_25_34,-0.8596,F +coef_cars1_asc_county,-0.566,F +coef_retail_transit_workers,-0.5117,F +coef_cars2_persons_25_34,-0.4849,F +coef_cars2_asc_county,-0.4429,F +coef_cars1_persons_18_24,-0.4087,F +coef_cars34_density_0_10_no_workers,-0.3654,F +coef_retail_transit_no_workers,-0.3053,F +coef_cars1_asc_marin,-0.2434,F +coef_cars34_asc_county,-0.2372,F +coef_cars2_density_0_10_no_workers,-0.2028,F +coef_cars34_density_10_up_no_workers,-0.1766,F +coef_cars2_density_10_up_no_workers,-0.1106,F +coef_cars2_density_10_up_workers,-0.1106,F +coef_cars1_density_10_up_no_workers,-0.0152,F +coef_cars2_hh_income_30_up,0.0083,F +coef_cars3_hh_income_30_up,0.011,F +coef_cars4_hh_income_30_up,0.0147,F +coef_cars1_presence_children_5_17,0.0158,F +coef_cars1_hh_income_0_30k,0.0383,F +coef_cars2_hh_income_0_30k,0.054,F +coef_cars3_hh_income_0_30k,0.0559,F +coef_cars4_hh_income_0_30k,0.0619,F +coef_retail_auto_no_workers,0.0626,F +coef_cars34_asc_san_francisco,0.1458,F +coef_retail_auto_workers,0.1646,F +coef_cars2_presence_children_5_17,0.2936,F +coef_cars2_num_workers_clip_3,0.2936,F +coef_cars1_presence_children_0_4,0.3669,F +coef_cars1_asc_san_francisco,0.4259,F +coef_cars2_asc_san_francisco,0.4683,F +coef_cars1_auto_time_saving_per_worker,0.4707,F +coef_cars34_presence_children_5_17,0.4769,F +coef_cars3_auto_time_saving_per_worker,0.5705,F +coef_cars2_auto_time_saving_per_worker,0.6142,F +coef_cars3_num_workers_clip_3,0.6389,F +coef_cars234_presence_children_0_4,0.7627,F +coef_cars4_auto_time_saving_per_worker,0.7693,F +coef_cars4_num_workers_clip_3,0.8797,F +coef_cars1_asc,1.1865,F +coef_cars1_drivers_4_up,2.0107,F +coef_cars4_drivers_2,2.6616,F +coef_cars2_drivers_2,3.0773,F +coef_cars3_drivers_2,3.1962,F +coef_cars2_drivers_3,3.5401,F +coef_cars4_drivers_3,5.208,F +coef_cars3_drivers_3,5.5131,F +coef_cars2_drivers_4_up,6.3662,F +coef_cars3_drivers_4_up,8.5148,F +coef_cars4_drivers_4_up,9.5807,F diff --git a/activitysim/examples/example_psrc/configs/cdap.yaml b/activitysim/examples/placeholder_psrc/configs/cdap.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs/cdap.yaml rename to activitysim/examples/placeholder_psrc/configs/cdap.yaml diff --git a/activitysim/examples/example_mtc/configs/cdap_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/cdap_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/cdap_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/cdap_coefficients.csv diff --git a/activitysim/examples/example_arc/configs/cdap_fixed_relative_proportions.csv b/activitysim/examples/placeholder_psrc/configs/cdap_fixed_relative_proportions.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/cdap_fixed_relative_proportions.csv rename to activitysim/examples/placeholder_psrc/configs/cdap_fixed_relative_proportions.csv diff --git a/activitysim/examples/placeholder_psrc/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/placeholder_psrc/configs/cdap_indiv_and_hhsize1.csv new file mode 100755 index 0000000000..0a666e6e73 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/cdap_indiv_and_hhsize1.csv @@ -0,0 +1,51 @@ +Description,Expression,M,N,H +Full-time worker alternative-specific constants,ptype == 1,coef_full_time_worker_asc_M,coef_full_time_worker_asc_N, +Part-time worker alternative-specific constants,ptype == 2,coef_part_time_worker_asc_M,coef_part_time_worker_asc_N, +University student alternative-specific constants,ptype == 3,coef_university_student_asc_M,coef_university_student_asc_N, +Non-working adult alternative-specific constants,ptype == 4,coef_UNAVAILABLE,coef_non_working_adult_asc_N, +Retired alternative-specific constants,ptype == 5,coef_UNAVAILABLE,coef_retired_asc_N, +Driving-age child who is in school alternative-specific constants,ptype == 6,coef_driving_age_child_who_is_in_school_asc_M,coef_driving_age_child_who_is_in_school_asc_N, +Pre-driving-age child who is in school alternative-specific constants,ptype == 7,coef_pre_driving_age_child_who_is_in_school_asc_M,coef_pre_driving_age_child_who_is_in_school_asc_N, +Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M,, +Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N, +Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,coef_pre_driving_age_child_who_is_too_young_for_school_asc_N, +# corrected tm1 age bug,,,, +Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,, +Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,, +#,,,, +Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),coef_full_time_worker_interaction_with_age_less_than_40_M,, +Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,coef_retired_interaction_with_age_more_than_80_H +Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),coef_full_time_worker_interaction_with_female_gender_M,, +Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),coef_non_working_adult_interaction_with_female_gender_M,, +Retired interaction with female,(ptype == 5) & (sex == 2),coef_retired_interaction_with_female_M,, +Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),coef_non_working_adult_interaction_with_more_cars_than_workers_M,coef_non_working_adult_interaction_with_more_cars_than_workers_N, +Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),coef_retired_interaction_with_more_cars_than_workers_M,coef_retired_interaction_with_more_cars_than_workers_N, +Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N, +Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,coef_full_time_worker_interaction_with_fewer_cars_than_workers_H +Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,coef_non_working_adult_interaction_with_fewer_cars_than_workers_H +Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,coef_retired_interaction_with_fewer_cars_than_workers_H +Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H +Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H +Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H +Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,coef_full_time_worker_interaction_with_income_less_than_20k_H +Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,coef_retired_interaction_with_income_less_than_20k_H +Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,coef_part_time_worker_interaction_with_income_less_than_20k_H +Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_part_time_worker_interaction_with_income_between_50k_and_100k_H +Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,coef_part_time_worker_interaction_with_income_more_than_100k_N,coef_part_time_worker_interaction_with_income_more_than_100k_H +Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_non_working_adult_interaction_with_income_between_50k_and_100k_H +Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,coef_non_working_adult_interaction_with_income_more_than_100k_H +Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H +Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H +Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H +Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H +Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H +Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,, +Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,, +Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,, +Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,coef_retired_interaction_with_peak_accessibility_to_all_employment_M,, +Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, +Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, +Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, diff --git a/activitysim/examples/placeholder_psrc/configs/cdap_interaction_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/cdap_interaction_coefficients.csv new file mode 100755 index 0000000000..c9d415fe13 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/cdap_interaction_coefficients.csv @@ -0,0 +1,138 @@ +activity,interaction_ptypes,coefficient +# 2-way interactions,, +H,11,coef_H_11 +H,12,coef_H_12 +H,13,coef_H_13 +H,14,coef_H_14 +H,15,coef_H_15 +H,16,coef_H_16 +H,17,coef_H_17 +H,18,coef_H_18 +H,22,coef_H_22 +H,23,coef_H_23 +H,24,coef_H_24 +H,25,coef_H_25 +H,26,coef_H_26 +H,27,coef_H_27 +H,28,coef_H_28 +H,33,coef_H_33 +H,34,coef_H_34 +H,35,coef_H_35 +H,36,coef_H_36 +H,37,coef_H_37 +H,38,coef_H_38 +H,44,coef_H_44 +H,45,coef_H_45 +H,46,coef_H_46 +H,47,coef_H_47 +H,48,coef_H_48 +H,55,coef_H_55 +H,56,coef_H_56_57_58 +H,57,coef_H_56_57_58 +H,58,coef_H_56_57_58 +H,66,coef_H_66 +H,67,coef_H_67 +H,68,coef_H_68 +H,77,coef_H_77 +H,78,coef_H_78 +H,88,coef_H_88 +M,11,coef_M_11 +M,12,coef_M_12 +M,13,coef_M_13 +M,16,coef_M_16 +M,17,coef_M_17 +M,18,coef_M_18 +M,22,coef_M_22 +M,23,coef_M_23 +M,26,coef_M_26 +M,27,coef_M_27 +M,28,coef_M_28 +M,33,coef_M_33 +M,36,coef_M_36 +M,37,coef_M_37 +M,38,coef_M_38 +M,66,coef_M_66 +M,67,coef_M_67 +M,68,coef_M_68 +M,77,coef_M_77 +M,78,coef_M_78 +M,88,coef_M_88 +N,11,coef_N_11 +N,12,coef_N_12 +N,13,coef_N_13 +N,14,coef_N_14 +N,15,coef_N_15 +N,16,coef_N_16 +N,17,coef_N_17 +N,18,coef_N_18 +N,22,coef_N_22 +N,23,coef_N_23 +N,24,coef_N_24 +N,25,coef_N_25 +N,26,coef_N_26 +N,27,coef_N_27 +N,28,coef_N_28 +N,33,coef_N_33 +N,34,coef_N_34 +N,35,coef_N_35 +N,36,coef_N_36 +N,37,coef_N_37 +N,38,coef_N_38 +N,44,coef_N_44 +N,45,coef_N_45 +N,46,coef_N_46 +N,47,coef_N_47 +N,48,coef_N_48 +N,55,coef_N_55 +N,56,coef_N_56_57_58 +N,57,coef_N_56_57_58 +N,58,coef_N_56_57_58 +N,66,coef_N_66 +N,67,coef_N_67 +N,68,coef_N_68 +N,77,coef_N_77 +N,78,coef_N_78 +N,88,coef_N_88 +# 3-way interactions,, +H,124,coef_H_124_122_144 +H,122,coef_H_124_122_144 +H,144,coef_H_124_122_144 +H,126,coef_H_126_146 +H,146,coef_H_126_146 +H,222,coef_H_222_224_244 +H,224,coef_H_222_224_244 +H,244,coef_H_222_224_244 +H,226,coef_H_226_246_446 +H,246,coef_H_226_246_446 +H,446,coef_H_226_246_446 +H,266,coef_H_266_466 +H,466,coef_H_266_466 +M,111,coef_M_111 +M,112,coef_M_112_114 +M,114,coef_M_112_114 +M,666,coef_M_666 +N,112,coef_N_112_114 +N,114,coef_N_112_114 +N,124,coef_N_124_122_144 +N,122,coef_N_124_122_144 +N,144,coef_N_124_122_144 +N,166,coef_N_166 +N,222,coef_N_222_224_444 +N,224,coef_N_222_224_444 +N,444,coef_N_222_224_444 +N,246,coef_N_246_226_446 +N,226,coef_N_246_226_446 +N,446,coef_N_246_226_446 +# cdap_final_rules,, +M,5,coef_UNAVAILABLE +M,4,coef_UNAVAILABLE +# cdap_all_people,, +M,***,coef_M_xxx +N,***,coef_N_xxx +H,***,coef_H_xxx +M,****,coef_M_xxxx +N,****,coef_N_xxxx +H,****,coef_H_xxxx +M,*****,coef_M_xxxxx +N,*****,coef_N_xxxxx +H,*****,coef_H_xxxxx diff --git a/activitysim/examples/example_mtc/configs/constants.yaml b/activitysim/examples/placeholder_psrc/configs/constants.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/constants.yaml rename to activitysim/examples/placeholder_psrc/configs/constants.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/destination_choice_size_terms.csv b/activitysim/examples/placeholder_psrc/configs/destination_choice_size_terms.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/destination_choice_size_terms.csv rename to activitysim/examples/placeholder_psrc/configs/destination_choice_size_terms.csv diff --git a/activitysim/examples/example_mtc/configs/free_parking.csv b/activitysim/examples/placeholder_psrc/configs/free_parking.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/free_parking.csv rename to activitysim/examples/placeholder_psrc/configs/free_parking.csv diff --git a/activitysim/examples/placeholder_psrc/configs/free_parking.yaml b/activitysim/examples/placeholder_psrc/configs/free_parking.yaml new file mode 100755 index 0000000000..322e6ddc80 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/free_parking.yaml @@ -0,0 +1,25 @@ + +SPEC: free_parking.csv +COEFFICIENTS: free_parking_coeffs.csv + +#LOGIT_TYPE: NL +LOGIT_TYPE: MNL + +FREE_PARKING_ALT: 0 + +CONSTANTS: + ID_SAN_FRANCISCO: 1 + ID_SAN_MATEO: 2 + ID_SANTA_CLARA: 3 + ID_ALAMEDA: 4 + ID_CONTRA_COSTA: 5 + ID_SOLANO: 6 + ID_NAPA: 7 + ID_SONOMA: 8 + ID_MARIN: 9 + +preprocessor: + SPEC: free_parking_annotate_persons_preprocessor + DF: persons + TABLES: + - land_use diff --git a/activitysim/examples/example_mtc/configs/free_parking_annotate_persons_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/free_parking_annotate_persons_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/free_parking_annotate_persons_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/free_parking_annotate_persons_preprocessor.csv diff --git a/activitysim/examples/placeholder_psrc/configs/free_parking_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/free_parking_coeffs.csv new file mode 100755 index 0000000000..dc15f7d038 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/free_parking_coeffs.csv @@ -0,0 +1,9 @@ +coefficient_name,value,constrain +coef_asc_san_francisco,-2.6403,F +coef_asc_santa_clara,0.2118,F +coef_asc_alameda,-0.1092,F +coef_income_very_high,0.23,F +coef_income_high,0.23,F +coef_hh_size_4_up,0.253,F +coef_more_autos_than_workers,0.231,F +coef_fewer_autos_than_workers,-1.479,F diff --git a/activitysim/examples/example_mtc/configs/initialize_households.yaml b/activitysim/examples/placeholder_psrc/configs/initialize_households.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/initialize_households.yaml rename to activitysim/examples/placeholder_psrc/configs/initialize_households.yaml diff --git a/activitysim/examples/example_mtc/configs/initialize_landuse.yaml b/activitysim/examples/placeholder_psrc/configs/initialize_landuse.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/initialize_landuse.yaml rename to activitysim/examples/placeholder_psrc/configs/initialize_landuse.yaml diff --git a/activitysim/examples/placeholder_psrc/configs/joint_tour_composition.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_composition.csv new file mode 100755 index 0000000000..de03e3dcc1 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_composition.csv @@ -0,0 +1,22 @@ +Label,Description,Expression,adults,children,mixed +util_asc,Alternative-specific constant,1,,coef_asc_children,coef_asc_mixed +util_tour_purpose_is_eating_out,Joint tour purpose is eating out (dummy),tour_type=='eat',,coef_tour_purpose_is_eating_out_children,coef_tour_purpose_is_eating_out_mixed +util_tour_purpose_is_discretionary,Joint tour purpose is discretionary (dummy),tour_type=='disc',coef_tour_purpose_is_discretionary_adults,coef_tour_purpose_is_discretionary_children, +util_number_of_full_time_workers,Number of Full-Time Workers in the household,num_full_max3,coef_number_of_full_time_workers_adults,,coef_number_of_full_time_workers_mixed +util_number_of_part_time_workers,Number of Part-Time Workers in the household,num_part_max3,coef_number_of_part_time_workers_adults,,coef_number_of_part_time_workers_mixed +util_number_of_university_students,Number of University students in the household,num_univ_max3,coef_number_of_university_students,, +util_number_of_non_workers,Number of Non-Workers in the household,num_nonwork_max3,coef_number_of_non_workers_adults,,coef_number_of_non_workers_mixed +util_number_of_children_too_young_for_school,Number of Children too Young for School in the household,num_preschool_max3,,coef_number_of_children_too_young_for_school_children,coef_number_of_children_too_young_for_school_mixed +util_number_of_pre_driving_age_children,Number of Pre-driving Age Children in the household,num_school_max3,,coef_number_of_pre_driving_age_children_children,coef_number_of_pre_driving_age_children_mixed +util_number_of_driving_age_children,Number of Driving-age Children in the household,num_driving_max3,,coef_number_of_driving_age_children_children,coef_number_of_driving_age_children_mixed +util_low_income_households,Low income households (dummy),income_in_thousands<30,coef_low_income_households_adults,,coef_low_income_households_mixed +util_medium_income_households,Medium income households (dummy),(income_in_thousands>=30) & (income_in_thousands<60),coef_medium_income_households,, +util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed +util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, +util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed +util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, +util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, +util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows +util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, +util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, +util_travel_active_adult,At least one adult and at least one child must have Mand or Non Mand activity patterns to have adult/child joint travel,(num_travel_active_adults == 0) | (num_travel_active_children == 0),,,coef_unavailable \ No newline at end of file diff --git a/activitysim/examples/example_arc/configs/joint_tour_composition.yaml b/activitysim/examples/placeholder_psrc/configs/joint_tour_composition.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_composition.yaml rename to activitysim/examples/placeholder_psrc/configs/joint_tour_composition.yaml diff --git a/activitysim/examples/example_mtc/configs/joint_tour_composition_annotate_households_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_composition_annotate_households_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_composition_annotate_households_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_composition_annotate_households_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/joint_tour_composition_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_composition_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_composition_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_composition_coeffs.csv diff --git a/activitysim/examples/placeholder_psrc/configs/joint_tour_destination.yaml b/activitysim/examples/placeholder_psrc/configs/joint_tour_destination.yaml new file mode 100755 index 0000000000..8d142cb78f --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_destination.yaml @@ -0,0 +1,40 @@ +include_settings: non_mandatory_tour_destination.yaml + +#SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv +#SPEC: non_mandatory_tour_destination.csv +#COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv +# +#SAMPLE_SIZE: 30 +# +#SIZE_TERM_SELECTOR: non_mandatory +# +## we can't use use household income_segment as this will also be set for non-workers +#CHOOSER_SEGMENT_COLUMN_NAME: tour_type +# +## optional (comment out if not desired) +#DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum +# +## comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +#DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample +# +# +#SEGMENTS: +# - shopping +# - othmaint +# - othdiscr +# - eatout +# - social +# - escort +# +#SIMULATE_CHOOSER_COLUMNS: +# - tour_type +# - home_zone_id +# - person_id +# +#LOGSUM_SETTINGS: tour_mode_choice.yaml +# +## model-specific logsum-related settings +#CHOOSER_ORIG_COL_NAME: home_zone_id +#ALT_DEST_COL_NAME: alt_dest +#IN_PERIOD: 14 +#OUT_PERIOD: 14 diff --git a/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency.csv new file mode 100755 index 0000000000..ed2da406ee --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency.csv @@ -0,0 +1,77 @@ +Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD +util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours +#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, +util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, +#_shopping,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, +util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, +util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, +util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, +util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, +util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, +util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, +util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, +util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, +util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, +#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, +util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, +util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, +util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, +util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, +util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, +util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, +util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, +util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, +util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, +util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, +util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, +util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, +#_eatout,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, +util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, +util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, +util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, +util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, +util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, +util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, +util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, +util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, +util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, +util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, +util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, +util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, +#_visiting,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, +util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, +util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, +util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, +util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, +util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, +util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, +util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, +util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, +util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, +#_discretionary,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc +util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc +util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc +util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc +util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc +util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc +util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc +util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc +util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc +util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc +util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc +util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc +util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc +util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc +util_zeroAutomobiles_dis,zeroAutomobiles_disc,auto_ownership == 0,,,,,,coef_zeroAutomobiles_disc,,,,,coef_zeroAutomobiles_disc,,,,coef_zeroAutomobiles_disc,,,coef_zeroAutomobiles_disc,,coef_zeroAutomobiles_disc,2 * coef_zeroAutomobiles_disc \ No newline at end of file diff --git a/activitysim/examples/example_arc/configs/joint_tour_frequency.yaml b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_frequency.yaml rename to activitysim/examples/placeholder_psrc/configs/joint_tour_frequency.yaml diff --git a/activitysim/examples/example_mtc/configs/joint_tour_frequency_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_alternatives.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_frequency_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_alternatives.csv diff --git a/activitysim/examples/example_mtc/configs/joint_tour_frequency_annotate_households_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_annotate_households_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_frequency_annotate_households_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_annotate_households_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/joint_tour_frequency_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_frequency_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_coeffs.csv diff --git a/activitysim/examples/placeholder_psrc/configs/joint_tour_participation.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation.csv new file mode 100755 index 0000000000..cd692d8d27 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation.csv @@ -0,0 +1,67 @@ +Label,Description,Expression,participate,not_participate +util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not +util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not +util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, +util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, +util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, +util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, +util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, +util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, +util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, +util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, +util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, +util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, +#,,,, +util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not +util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not +util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, +util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, +util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, +util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, +util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, +util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, +util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, +util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, +util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, +util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, +util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, +util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, +#,,,, +util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, +util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, +util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, +util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, +util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, +util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, +util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, +util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, +util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, +util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, +util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, +util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, +#,,,, +util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, +util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, +util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, +util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, +util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, +util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, +util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, +util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, +util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, +util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, +util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, +util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, +#,,,, +util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, +util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, +util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, +util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, +#,,,, +util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, +util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, +util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, +util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable +util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable +util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable +util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable diff --git a/activitysim/examples/placeholder_psrc/configs/joint_tour_participation.yaml b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation.yaml new file mode 100755 index 0000000000..59941e8324 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation.yaml @@ -0,0 +1,20 @@ + +SPEC: joint_tour_participation.csv +COEFFICIENTS: joint_tour_participation_coeffs.csv + +LOGIT_TYPE: MNL + +#max_participation_choice_iterations: 5000 + +preprocessor: + SPEC: joint_tour_participation_annotate_participants_preprocessor + DF: participants +# TABLES: +# - persons +# - accessibility + +annotate_persons: + SPEC: annotate_persons_jtp + DF: persons + TABLES: + - joint_tour_participants diff --git a/activitysim/examples/example_mtc/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation_annotate_participants_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_participation_annotate_participants_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_participation_annotate_participants_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/joint_tour_participation_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_participation_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_participation_coeffs.csv diff --git a/activitysim/examples/placeholder_psrc/configs/joint_tour_scheduling.yaml b/activitysim/examples/placeholder_psrc/configs/joint_tour_scheduling.yaml new file mode 100755 index 0000000000..1eba33e752 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_scheduling.yaml @@ -0,0 +1,13 @@ + +SPEC: tour_scheduling_joint.csv +COEFFICIENTS: tour_scheduling_joint_coeffs.csv + +LOGIT_TYPE: MNL + +preprocessor: + SPEC: joint_tour_scheduling_annotate_tours_preprocessor + DF: joint_tours + TABLES: + - land_use + - households + - joint_tour_participants diff --git a/activitysim/examples/example_mtc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/logging.yaml b/activitysim/examples/placeholder_psrc/configs/logging.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/logging.yaml rename to activitysim/examples/placeholder_psrc/configs/logging.yaml diff --git a/activitysim/examples/example_mtc/configs/mandatory_tour_frequency.csv b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/mandatory_tour_frequency.csv rename to activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.csv diff --git a/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.yaml b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.yaml new file mode 100755 index 0000000000..de8e115fd5 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.yaml @@ -0,0 +1,10 @@ + +SPEC: mandatory_tour_frequency.csv +COEFFICIENTS: mandatory_tour_frequency_coeffs.csv + +annotate_persons: + SPEC: annotate_persons_mtf + DF: persons + TABLES: + - tours + diff --git a/activitysim/examples/example_mtc/configs/mandatory_tour_frequency_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency_alternatives.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/mandatory_tour_frequency_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency_alternatives.csv diff --git a/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency_coeffs.csv new file mode 100755 index 0000000000..9bf04b2878 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency_coeffs.csv @@ -0,0 +1,54 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_ft_worker_work2_asc,-3.3781,F +coef_pt_worker_work2_asc,-3.0476,F +coef_univ_work1_asc,2.166,F +coef_univ_work2_asc,-1.3965,F +coef_univ_school2_asc,-3.7429,F +coef_univ_work_and_school_asc,0.1073,F +coef_driving_age_child_school2_asc,-3.136,F +coef_driving_age_child_work_and_school_asc,-4.4362,F +coef_pre_driving_age_child_school2_asc,-3.9703,F +coef_female_work1,0.1737,F +coef_female_work2,-0.2255,F +coef_female_school1,0.1592,F +coef_female_school2,0.114,F +coef_female_work_and_school,-0.3442,F +coef_female_univ_work1,0.1737,F +coef_under_35_work1,-0.4629,F +coef_under_35_work2,-0.1375,F +coef_under_35_school1,0.7218,F +coef_under_35_school2,1.275,F +coef_under_35_work_and_school,0.9761,F +coef_can_walk_to_work_work2,0.5268,F +coef_can_walk_to_work_school2,0.7114,F +coef_can_walk_to_work_and_school,0.1391,F +coef_round_trip_auto_time_to_work_work2,-0.0035,F +coef_round_trip_auto_time_to_work_school2,-0.0034,F +coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F +coef_student_employed,3.014,F +coef_non_student_goes_to_school,3.883,F +coef_no_cars_in_hh_work2,-1.306,F +coef_no_cars_in_hh_school2,-1.413,F +coef_no_cars_in_hh_work_and_school,-1.302,F +coef_few_cars_than_drivers_school2,-0.5759,F +coef_num_preschool_in_hh_work1,0.2191,F +coef_num_preschool_in_hh_work2,-0.1478,F +coef_num_preschool_in_hh_school1,-0.1335,F +coef_num_preschool_in_hh_school2,-0.5577,F +coef_num_preschool_in_hh_work_and_school,-0.1251,F +coef_num_non_workers_in_hh_school1,0.2574,F +coef_hh_income_gt_50k_work,-0.0528,F +coef_hh_income_gt_50k_school1,0.0347,F +coef_hh_income_gt_50k_worker_work_and_school,0.0347,F +coef_hh_income_gt_50k_student_work_and_school,-0.0528,F +coef_non_family_hh_category1,-0.25,F +coef_non_family_hh_category2,-0.1792,F +coef_num_under_16_not_at_school_work2,0.1804 +coef_num_under_16_not_at_school_school2,0.0866 +coef_num_under_16_not_at_school_work_and_school,-0.1955 +coef_home_urban_work1,-0.2831 +coef_home_urban_work2,0.2308 +coef_home_urban_school1,-0.1361 +coef_home_urban_school2,0.317 +coef_home_urban_work_and_school,-0.3509 diff --git a/activitysim/examples/placeholder_psrc/configs/mandatory_tour_scheduling.yaml b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_scheduling.yaml new file mode 100755 index 0000000000..871f159ca7 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_scheduling.yaml @@ -0,0 +1,42 @@ + +SIMULATE_CHOOSER_COLUMNS: + - ptype + - hhsize + - roundtrip_auto_time_to_work + - num_workers + - income_in_thousands + - work_and_school_and_worker + - work_and_school_and_student + - workplace_in_cbd + - home_is_rural + - mandatory_tour_frequency + - is_worker + - is_student + - is_university + - workplace_zone_id + - school_zone_id + - home_zone_id + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +# school and univ have the same spec file and coefficients but are handled seperately +# because mode_choice_logsums has distinct specs and ceofficients for univ and school +TOUR_SPEC_SEGMENTS: + work: work + school: school + univ: school + +SPEC_SEGMENTS: + work: + 'SPEC': tour_scheduling_work.csv + 'COEFFICIENTS': tour_scheduling_work_coeffs.csv + school: + 'SPEC': tour_scheduling_school.csv + 'COEFFICIENTS': tour_scheduling_school_coeffs.csv + +#CHOOSER_ORIG_COL_NAME: home_zone_id + +DESTINATION_FOR_TOUR_PURPOSE: + work: workplace_zone_id + school: school_zone_id + univ: school_zone_id diff --git a/activitysim/examples/placeholder_psrc/configs/network_los.yaml b/activitysim/examples/placeholder_psrc/configs/network_los.yaml new file mode 100755 index 0000000000..0debd458b6 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/network_los.yaml @@ -0,0 +1,35 @@ +#inherit_settings: True + +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +zone_system: 2 + +# glob 'skims*.omx' will match one or more files: skims.omx, skims1.omx, skims2.omx... +taz_skims: skims*.omx + + +maz: maz.csv + +maz_to_maz: + tables: + - maz_to_maz_walk.csv + - maz_to_maz_bike.csv + + # maz_to_maz blending distance (missing or 0 means no blending) + max_blend_distance: + DIST: 0 + # blend distance of 0 means no blending + DISTBIKE: 0 + DISTWALK: 0 + + # missing means use the skim value itself rather than DIST skim (e.g. DISTBIKE) + #blend_distance_skim_name: DIST + +skim_time_periods: + time_window: 1440 + period_minutes: 60 + periods: [0, 6, 11, 16, 20, 24] + labels: ['EA', 'AM', 'MD', 'PM', 'EV'] diff --git a/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.csv new file mode 100755 index 0000000000..18c6234ac4 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.csv @@ -0,0 +1,10 @@ +Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr +"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 +"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 +Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum +Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1,1,1 diff --git a/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.yaml new file mode 100755 index 0000000000..3bc2483c88 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.yaml @@ -0,0 +1,38 @@ +SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv +SPEC: non_mandatory_tour_destination.csv +COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv + +SAMPLE_SIZE: 30 + +SIZE_TERM_SELECTOR: non_mandatory + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: tour_type + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if no saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample + + +SEGMENTS: + - shopping + - othmaint + - othdiscr + - eatout + - social + - escort + +SIMULATE_CHOOSER_COLUMNS: + - tour_type + - home_zone_id + - person_id + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 14 +OUT_PERIOD: 14 diff --git a/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination_coeffs.csv new file mode 100755 index 0000000000..6e3d75d717 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination_coeffs.csv @@ -0,0 +1,21 @@ +coefficient_name,value,constrain +coef_mode_logsum,0.6755,F +coef_escort_dist_0_2,-0.1499,F +coef_eatout_dist_0_2,-0.5609,F +coef_eatout_social_0_2,-0.5609,F +# coef_eatout_dist_0_2,-0.7841,F +coef_othdiscr_dist_0_2,-0.1677,F +coef_escort_dist_2_5,-0.8671,F +coef_shopping_dist_2_5,-0.5655,F +coef_eatout_dist_2_5,-0.3192,F +coef_othmaint_dist_2_5,-0.6055,F +coef_social_dist_2_5,-0.3485,F +coef_othdiscr_dist_2_5,-0.4955,F +coef_escort_dist_5_plus,-0.2137,F +coef_shopping_dist_5_plus,-0.1832,F +coef_eatout_dist_5_plus,-0.1238,F +coef_othmaint_dist_5_plus,-0.1093,F +coef_social_dist_5_plus,-0.1306,F +coef_othdiscr_dist_5_plus,-0.1193,F + + diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination_sample.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination_sample.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_destination_sample.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination_sample.csv diff --git a/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency.csv new file mode 100755 index 0000000000..76c60822e2 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency.csv @@ -0,0 +1,211 @@ +Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL +util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour +util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour +util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour +util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour +util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour +util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour +util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours +util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours +util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 +util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 +util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 +util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 +util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 +util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus +util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 +util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 +util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 +util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 +util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 +util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus +util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 +util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 +util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 +util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 +util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 +util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus +util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours +util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours +util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours +util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours +util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours +util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 +util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 +util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 +util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 +util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 +util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus +util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 +util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 +util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 +util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 +util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus +util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 +util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 +util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 +util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 +util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus +util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 +util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 +util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 +util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 +util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus +util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour +util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour +util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour +util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour +util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour +util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour +util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour +util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour +util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour +util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour +util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour +util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour +util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour +util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour +util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour +util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 +util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 +util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 +util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 +util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 +util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour +util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour +util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour +util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour +util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour +util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 +util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 +util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 +util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 +util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus +util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 +util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 +util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 +util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 +util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus +util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 +util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 +util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 +util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 +util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus +util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 +util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 +util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 +util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 +util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 +util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 +util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 +util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 +util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 +util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 +util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour +util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour +util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour +util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour +util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour +util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour +util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour +util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour +util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour +util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour +util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour +util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour +util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour +util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour +util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour +util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour +util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour +util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour +util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour +util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour +util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour +util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour +util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour +util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour +util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour +util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour +util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour +util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour +util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour +util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour +util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour +util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour +util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour +util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour +util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour +util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour +util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour +util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour +util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour +util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour +util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour +util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour +util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour +util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour +util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour +util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour +util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour +util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour +util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour +util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour +util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 +util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 +util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 +util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 +util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus +util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 +util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 +util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 +util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 +util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus +util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 +util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 +util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 +util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 +util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus +util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting +util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting +util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting +util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping +util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping +util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping +util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance +util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance +util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance +util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out +util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out +util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out +util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary +util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary +util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary +util_urban_and_tour_frequency_is_1,Urban Areatype & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 +util_urban_and_tour_frequency_is_2,Urban Areatype & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 +util_urban_and_tour_frequency_is_3,Urban Areatype & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 +util_urban_and_tour_frequency_is_4,Urban Areatype & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 +util_urban_and_tour_frequency_is_5_plus,Urban Areatype & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus +util_urban_and_escorting_tour,Urban Areatype & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour +util_urban_and_shopping_tour,Urban Areatype &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour +util_urban_and_maintenance_tour,Urban Areatype & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour +util_urban_and_eatingout_tour,Urban Areatype & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour +util_urban_and_discretionary_tour,Urban Areatype & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour +util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant +util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant +util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant +util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant +util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant +util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant +util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant +util_0_auto_household_and_escorting_tour,Dummy for 0-auto household & Escorting Tour,escort * no_cars,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour \ No newline at end of file diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency.yaml b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency.yaml rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency.yaml diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_alternatives.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_alternatives.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_extension_probs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_extension_probs.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_extension_probs.csv diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling.yaml b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_scheduling.yaml similarity index 95% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling.yaml rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_scheduling.yaml index 33177e41a2..d02c60c0ec 100755 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling.yaml +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_scheduling.yaml @@ -1,21 +1,21 @@ - -SPEC: tour_scheduling_nonmandatory.csv -COEFFICIENTS: tour_scheduling_nonmandatory_coeffs.csv - -LOGIT_TYPE: MNL - -preprocessor: - SPEC: non_mandatory_tour_scheduling_annotate_tours_preprocessor - DF: non_mandatory_tours - TABLES: - - land_use - - joint_tour_participants - -SIMULATE_CHOOSER_COLUMNS: - - ptype - - num_children - - roundtrip_auto_time_to_work - - num_mand - - num_escort_tours - - num_non_escort_tours - - adult + +SPEC: tour_scheduling_nonmandatory.csv +COEFFICIENTS: tour_scheduling_nonmandatory_coeffs.csv + +LOGIT_TYPE: MNL + +preprocessor: + SPEC: non_mandatory_tour_scheduling_annotate_tours_preprocessor + DF: non_mandatory_tours + TABLES: + - land_use + - joint_tour_participants + +SIMULATE_CHOOSER_COLUMNS: + - ptype + - num_children + - roundtrip_auto_time_to_work + - num_mand + - num_escort_tours + - num_non_escort_tours + - adult diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/placeholder_psrc/configs/school_location.csv b/activitysim/examples/placeholder_psrc/configs/school_location.csv new file mode 100755 index 0000000000..9448d12af2 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/school_location.csv @@ -0,0 +1,12 @@ +Label,Description,Expression,university,highschool,gradeschool +local_dist,,_DIST@skims['DIST'],1,1,1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 +util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 +util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 diff --git a/activitysim/examples/placeholder_psrc/configs/school_location.yaml b/activitysim/examples/placeholder_psrc/configs/school_location.yaml new file mode 100755 index 0000000000..07114fd0ea --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/school_location.yaml @@ -0,0 +1,65 @@ +SAMPLE_SIZE: 30 + +SIMULATE_CHOOSER_COLUMNS: + - home_zone_id + - school_segment + - household_id + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 14 +OUT_PERIOD: 8 + +DEST_CHOICE_COLUMN_NAME: school_zone_id +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table +DEST_CHOICE_LOGSUM_COLUMN_NAME: school_location_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: school_location_sample + + +SAMPLE_SPEC: school_location_sample.csv +SPEC: school_location.csv +COEFFICIENTS: school_location_coeffs.csv + +LOGSUM_SETTINGS: tour_mode_choice.yaml +LOGSUM_PREPROCESSOR: nontour_preprocessor + +LOGSUM_TOUR_PURPOSE: + university: univ + highschool: school + gradeschool: school + +annotate_persons: + SPEC: annotate_persons_school + DF: persons + +# - shadow pricing + +# required by initialize_households when creating school_destination_size table +CHOOSER_TABLE_NAME: persons + +# size_terms model_selector +MODEL_SELECTOR: school + +# chooser column with segment_id for this segment type +CHOOSER_SEGMENT_COLUMN_NAME: school_segment + +# boolean column to filter choosers (True means keep) +CHOOSER_FILTER_COLUMN_NAME: is_student + + +# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this +SEGMENT_IDS: + university: 3 + highschool: 2 + gradeschool: 1 + + +# model adds these tables (informational - not added if commented out) +SHADOW_PRICE_TABLE: school_shadow_prices +MODELED_SIZE_TABLE: school_modeled_size + +# not loaded if commented out +SAVED_SHADOW_PRICE_TABLE_NAME: school_shadow_prices.csv diff --git a/activitysim/examples/placeholder_psrc/configs/school_location_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/school_location_coeffs.csv new file mode 100755 index 0000000000..b9ef59c83f --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/school_location_coeffs.csv @@ -0,0 +1,17 @@ +coefficient_name,value,constrain +coef_univ_dist_0_1,-3.2451,F +coef_univ_dist_1_2,-2.7011,F +coef_univ_dist_2_5,-0.5707,F +coef_univ_dist_5_15,-0.5002,F +coef_univ_dist_15_up,-0.073,F +coef_high_dist_0_1,-0.9523,F +coef_high_grade_dist_1_2,-0.57,F +coef_high_grade_dist_2_5,-0.57,F +coef_high_dist_5_15,-0.193,F +coef_high_dist_15_up,-0.1882,F +coef_grade_dist_0_1,-1.6419,F +#coef_high_grade_dist_1_2,-0.57,F +#coef_high_grade_dist_2_5,-0.57,F +coef_grade_dist_5_15,-0.2031,F +coef_grade_dist_15_up,-0.046,F +coef_mode_logsum,0.5358,F diff --git a/activitysim/examples/example_mtc/configs/school_location_sample.csv b/activitysim/examples/placeholder_psrc/configs/school_location_sample.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/school_location_sample.csv rename to activitysim/examples/placeholder_psrc/configs/school_location_sample.csv diff --git a/activitysim/examples/placeholder_psrc/configs/settings.yaml b/activitysim/examples/placeholder_psrc/configs/settings.yaml new file mode 100755 index 0000000000..779d6a1822 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/settings.yaml @@ -0,0 +1,176 @@ +#inherit_settings: True + +# activitysim run -c configs -d data -o output + + +# number of households to simulate +households_sample_size: 100 +# simulate all households +# households_sample_size: 0 + +chunk_size: 0 + +# assume enough RAM to not chunk +chunk_training_mode: disabled + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +# - tracing + +# trace household id; comment out or leave empty for no trace +# households with all tour types +trace_hh_id: + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +trace_od: + + +# input tables +input_table_list: + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + HHID: household_id + PERSONS: hhsize + workers: num_workers + VEHICL: auto_ownership + MAZ: home_zone_id + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + PERID: person_id + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + MAZ: zone_id + COUNTY: county_id + keep_columns: + - TAZ + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + - RESACRE + - CIACRE + - TOTEMP + - AGE0519 + - RETEMPN + - FPSEMPN + - HEREMPN + - OTHEMPN + - AGREMPN + - MWTEMPN + - PRKCST + - OPRKCST + - area_type + - HSENROLL + - COLLFTE + - COLLPTE + - TOPOLOGY + - TERMINAL +# - access_dist_transit + +# to resume after last successful checkpoint, specify resume_after: _ +#resume_after: trip_scheduling + +models: + - initialize_landuse + - initialize_households + - compute_accessibility + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + - write_data_dictionary + - track_skim_usage + - write_trip_matrices + - write_tables + + +output_tables: + h5_store: False + action: include + prefix: final_ + sort: True + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - joint_tour_participants + +# area_types less than this are considered urban +urban_threshold: 4 +cbd_threshold: 2 +rural_threshold: 6 + + +# value_of_time = lognormal(np.log(median_value_of_time * mu), sigma).clip(min_vot, max_vot) + +min_value_of_time: 1 +max_value_of_time: 50 +distributed_vot_mu: 0.684 +distributed_vot_sigma: 0.85 + +household_median_value_of_time: + 1: 6.01 + 2: 8.81 + 3: 10.44 + 4: 12.86 diff --git a/activitysim/examples/example_psrc/configs/settings_mp.yaml b/activitysim/examples/placeholder_psrc/configs/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs/settings_mp.yaml rename to activitysim/examples/placeholder_psrc/configs/settings_mp.yaml diff --git a/activitysim/examples/example_mtc/configs/shadow_pricing.yaml b/activitysim/examples/placeholder_psrc/configs/shadow_pricing.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/shadow_pricing.yaml rename to activitysim/examples/placeholder_psrc/configs/shadow_pricing.yaml diff --git a/activitysim/examples/example_mtc/configs/stop_frequency.yaml b/activitysim/examples/placeholder_psrc/configs/stop_frequency.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency.yaml rename to activitysim/examples/placeholder_psrc/configs/stop_frequency.yaml diff --git a/activitysim/examples/example_arc/configs/stop_frequency_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_alternatives.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_alternatives.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_annotate_tours_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_atwork.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_atwork.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_atwork.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_atwork.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_atwork.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_atwork.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_atwork.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_atwork.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_eatout.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_eatout.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_eatout.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_eatout.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_escort.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_escort.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_escort.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_escort.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_othdiscr.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_othdiscr.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_othdiscr.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_othdiscr.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_othmaint.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_othmaint.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_othmaint.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_othmaint.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_school.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_school.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_school.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_school.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_shopping.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_shopping.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_shopping.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_shopping.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_social.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_social.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_social.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_social.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_univ.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_univ.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_univ.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_univ.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_work.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_work.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_work.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_work.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_eatout.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_eatout.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_eatout.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_eatout.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_escort.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_escort.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_escort.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_escort.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_othdiscr.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_othdiscr.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_othdiscr.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_othdiscr.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_othmaint.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_othmaint.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_othmaint.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_othmaint.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_school.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_school.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_school.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_school.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_shopping.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_shopping.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_shopping.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_shopping.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_social.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_social.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_social.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_social.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_univ.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_univ.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_univ.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_univ.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_work.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_work.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_work.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_work.csv diff --git a/activitysim/examples/example_marin/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/tour_departure_and_duration_alternatives.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_marin/configs/tour_departure_and_duration_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/tour_departure_and_duration_alternatives.csv diff --git a/activitysim/examples/placeholder_psrc/configs/tour_mode_choice.csv b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice.csv new file mode 100755 index 0000000000..798b6ded20 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice.csv @@ -0,0 +1,346 @@ +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, +#,Walk,,,,,,,,,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +#,Bike,,,,,,,,,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, +#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +#, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, +#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, +#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, +#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, +#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, +#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, +#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, +util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, +#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, +util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, +#,Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,coef_ivt,, +#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,,,,,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,,,,,,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,,,,,local_bus_ASC,,,,,,, +util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, +util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, +util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, +util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, +util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, +util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, +util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, +util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, +util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, +#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, +util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, +#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, diff --git a/activitysim/examples/placeholder_psrc/configs/tour_mode_choice.yaml b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice.yaml new file mode 100755 index 0000000000..5caa0d586d --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice.yaml @@ -0,0 +1,189 @@ +LOGIT_TYPE: NL +#LOGIT_TYPE: MNL + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - name: DRIVEALONE + coefficient: coef_nest_AUTO_DRIVEALONE + alternatives: + - DRIVEALONEFREE + - DRIVEALONEPAY + - name: SHAREDRIDE2 + coefficient: coef_nest_AUTO_SHAREDRIDE2 + alternatives: + - SHARED2FREE + - SHARED2PAY + - name: SHAREDRIDE3 + coefficient: coef_nest_AUTO_SHAREDRIDE3 + alternatives: + - SHARED3FREE + - SHARED3PAY + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - name: WALKACCESS + coefficient: coef_nest_TRANSIT_WALKACCESS + alternatives: + - WALK_LOC + - WALK_LRF + - WALK_EXP + - WALK_HVY + - WALK_COM + - name: DRIVEACCESS + coefficient: coef_nest_TRANSIT_DRIVEACCESS + alternatives: + - DRIVE_LOC + - DRIVE_LRF + - DRIVE_EXP + - DRIVE_HVY + - DRIVE_COM + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coeffs.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv + +CONSTANTS: + #valueOfTime: 8.00 + costPerMile: 18.29 + costShareSr2: 1.75 + costShareSr3: 2.50 + waitThresh: 10.00 + walkThresh: 1.50 + shortWalk: 0.333 + longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 6.00 + bikeSpeed: 12.00 + maxCbdAreaTypeThresh: 2 + indivTour: 1.00000 + upperEA: 5 + upperAM: 10 + upperMD: 15 + upperPM: 19 + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 + + ivt_cost_multiplier: 0.6 + ivt_lrt_multiplier: 0.9 + ivt_ferry_multiplier: 0.8 + ivt_exp_multiplier: 1 + ivt_hvy_multiplier: 0.8 + ivt_com_multiplier: 0.7 + walktimeshort_multiplier: 2 + walktimelong_multiplier: 10 + biketimeshort_multiplier: 4 + biketimelong_multiplier: 20 + short_i_wait_multiplier: 2 + long_i_wait_multiplier: 1 + wacc_multiplier: 2 + wegr_multiplier: 2 + waux_multiplier: 2 + dtim_multiplier: 2 + xwait_multiplier: 2 + dacc_ratio: 0 + xfers_wlk_multiplier: 10 + xfers_drv_multiplier: 20 + drvtrn_distpen_0_multiplier: 270 + drvtrn_distpen_max: 15 + density_index_multiplier: -0.2 +# joint_sr2_ASC_no_auto: 0 +# joint_sr2_ASC_auto_deficient: 0 +# joint_sr2_ASC_auto_sufficient: 0 +# joint_drive_transit_ASC_no_auto: 0 + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv new file mode 100755 index 0000000000..d35d2d1de1 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -0,0 +1,93 @@ +Description,Target,Expression +#,, +local,_DF_IS_TOUR,'tour_type' in df.columns +,number_of_participants,df.number_of_participants if _DF_IS_TOUR else 1 +,is_joint,(df.tour_category=='joint') if _DF_IS_TOUR else False +#,, + local,_HAVE_PARENT_TOURS,'parent_tour_id' in df.columns +,_parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id) if _HAVE_PARENT_TOURS else ''" +,work_tour_is_drive,"_parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" +,work_tour_is_bike,_parent_tour_mode=='BIKE' +,work_tour_is_SOV,"_parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" +#,, +,is_mandatory,(df.tour_category=='mandatory') if 'tour_category' in df.columns else False +,is_joint,(df.tour_category=='joint') if 'tour_category' in df.columns else False +,is_indiv,~is_joint +,is_atwork_subtour,(df.tour_category=='atwork') if 'tour_category' in df.columns else False +,is_escort,(df.tour_type == 'escort') if _DF_IS_TOUR else False +# FIXME why inverse of value of time? need better name?,, +#,c_cost,(0.60 * c_ivt) / df.value_of_time +# ivot * (c_ivt_cost_multiplier * c_ivt) +,ivot,1.0 / df.value_of_time +#,, +,dest_topology,"reindex(land_use.TOPOLOGY, df[dest_col_name])" +,terminal_time,"reindex(land_use.TERMINAL, df[dest_col_name])" +,dest_density_index,"reindex(land_use.density_index, df[dest_col_name])" +# FIXME no transit subzones for ONE_ZONE version, so all zones short walk to transit,, +,_origin_distance_to_transit,"reindex(land_use.access_dist_transit, df[orig_col_name]) if 'access_dist_transit' in land_use else shortWalk" +,_destination_distance_to_transit,"reindex(land_use.access_dist_transit, df[dest_col_name]) if 'access_dist_transit' in land_use else shortWalk" +,walk_transit_available,(_origin_distance_to_transit > 0) & (_destination_distance_to_transit > 0) +,drive_transit_available,(_destination_distance_to_transit > 0) & (df.auto_ownership > 0) +,origin_walk_time,_origin_distance_to_transit*60/walkSpeed +,destination_walk_time,_destination_distance_to_transit*60/walkSpeed +# RIDEHAIL,, +,origin_density_measure,"(reindex(land_use.TOTPOP, df[orig_col_name]) + reindex(land_use.TOTEMP, df[orig_col_name])) / (reindex(land_use.TOTACRE, df[orig_col_name]) / 640)" +,dest_density_measure,"(reindex(land_use.TOTPOP, df[dest_col_name]) + reindex(land_use.TOTEMP, df[dest_col_name])) / (reindex(land_use.TOTACRE, df[dest_col_name]) / 640)" +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime +,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime +,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime +#,, +,_free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work if _DF_IS_TOUR else False +,_dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[dest_col_name])" +,_dest_hourly_offpeak_parking_cost,"reindex(land_use.OPRKCST, df[dest_col_name])" +,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)" +,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)" +,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost * df.duration, _hourly_offpeak_parking_cost * df.duration)" +#,, +,distance,od_skims['DIST'] +,distance_walk_od,od_skims['DISTWALK'] +,distance_bike_od,od_skims['DISTBIKE'] +#,, +,sov_available,(odt_skims['SOV_TIME']>0) & (dot_skims['SOV_TIME']>0) +,sovtoll_available,(odt_skims['SOVTOLL_VTOLL']>0) | (dot_skims['SOVTOLL_VTOLL']>0) +,hov2_available,(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME'])>0 +,hov2toll_available,(odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL'])>0 +,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) +,hov3toll_available,(odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL'])>0 +,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,, +destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, df[dest_col_name]) < setting('cbd_threshold')) * 1" +#,,FIXME diagnostic +#,sov_dist_rt,(odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']) diff --git a/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs.csv new file mode 100755 index 0000000000..9693953808 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs.csv @@ -0,0 +1,308 @@ +coefficient_name,value,constrain +coef_one,1,T +coef_nest_root,1.00,T +coef_nest_AUTO,0.72,T +coef_nest_AUTO_DRIVEALONE,0.35,T +coef_nest_AUTO_SHAREDRIDE2,0.35,T +coef_nest_AUTO_SHAREDRIDE3,0.35,T +coef_nest_NONMOTORIZED,0.72,T +coef_nest_TRANSIT,0.72,T +coef_nest_TRANSIT_WALKACCESS,0.5,T +coef_nest_TRANSIT_DRIVEACCESS,0.5,T +coef_nest_RIDEHAIL,0.36,T +coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F +coef_ivt_school_univ,-0.0224,F +coef_ivt_work,-0.0134,F +coef_ivt_atwork,-0.0188,F +coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F +coef_topology_walk_multiplier_atwork,7.5,F +coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F +coef_topology_bike_multiplier_atwork,10,F +coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F +coef_topology_trn_multiplier_atwork,2,F +coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age1619_da_multiplier_school_univ,-1.3813,F +coef_age1619_da_multiplier_atwork,0.0032336,F +coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age010_trn_multiplier_school_univ,-1.5548,F +coef_age010_trn_multiplier_atwork,0.000722,F +coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F +coef_age16p_sr_multiplier_school_univ_work_atwork,0,F +coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F +coef_hhsize1_sr_multiplier_work,-0.734588,F +coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F +coef_hhsize2_sr_multiplier_school_univ,-0.6359,F +walk_ASC_no_auto_eatout,5.1251173,F +walk_ASC_no_auto_escort,2.8012068,F +walk_ASC_no_auto_othdiscr,3.2665946,F +walk_ASC_no_auto_othmaint,1.287299,F +walk_ASC_no_auto_school,18.414557,F +walk_ASC_no_auto_shopping,2.3768773,F +walk_ASC_no_auto_social,1.8680915,F +walk_ASC_no_auto_univ,6.408967,F +walk_ASC_no_auto_work,5.7672157,F +walk_ASC_no_auto_atwork,6.669213,F +walk_ASC_auto_deficient_eatout,3.274605,F +walk_ASC_auto_deficient_escort,-0.90204656,F +walk_ASC_auto_deficient_othdiscr,2.2494075,F +walk_ASC_auto_deficient_othmaint,1.3690404,F +walk_ASC_auto_deficient_school,3.2573624,F +walk_ASC_auto_deficient_shopping,2.2701733,F +walk_ASC_auto_deficient_social,2.870184,F +walk_ASC_auto_deficient_univ,4.50591,F +walk_ASC_auto_deficient_work,2.4010417,F +walk_ASC_auto_deficient_atwork,0.92546093,F +walk_ASC_auto_sufficient_eatout,1.5516903,F +walk_ASC_auto_sufficient_escort,-0.8116066,F +walk_ASC_auto_sufficient_othdiscr,1.2633476,F +walk_ASC_auto_sufficient_othmaint,0.7999634,F +walk_ASC_auto_sufficient_school,0.6476856,F +walk_ASC_auto_sufficient_shopping,0.7312663,F +walk_ASC_auto_sufficient_social,1.7072186,F +walk_ASC_auto_sufficient_univ,1.0607665,F +walk_ASC_auto_sufficient_work,0.053265337,F +walk_ASC_auto_sufficient_atwork,0.677216,F +bike_ASC_no_auto_eatout,0.86807096,F +bike_ASC_no_auto_escort,-0.716212,F +bike_ASC_no_auto_othdiscr,-0.3764232,F +bike_ASC_no_auto_othmaint,1.5394334,F +bike_ASC_no_auto_school,12.098735,F +bike_ASC_no_auto_shopping,0.8341555,F +bike_ASC_no_auto_social,0.02058321,F +bike_ASC_no_auto_univ,4.2945156,F +bike_ASC_no_auto_work,3.1940088,F +bike_ASC_no_auto_atwork,-0.90725845,F +bike_ASC_auto_deficient_eatout,-1.5691106,F +bike_ASC_auto_deficient_escort,-4.527928,F +bike_ASC_auto_deficient_othdiscr,-0.09246834,F +bike_ASC_auto_deficient_othmaint,-1.5184649,F +bike_ASC_auto_deficient_school,-0.5280678,F +bike_ASC_auto_deficient_shopping,-0.87584466,F +bike_ASC_auto_deficient_social,0.6345214,F +bike_ASC_auto_deficient_univ,-0.669235,F +bike_ASC_auto_deficient_work,0.25318968,F +bike_ASC_auto_deficient_atwork,-0.8074083,F +bike_ASC_auto_sufficient_eatout,-1.2003471,F +bike_ASC_auto_sufficient_escort,-5.0631084,F +bike_ASC_auto_sufficient_othdiscr,-1.0714597,F +bike_ASC_auto_sufficient_othmaint,-2.8083024,F +bike_ASC_auto_sufficient_school,-2.1134686,F +bike_ASC_auto_sufficient_shopping,-2.5662103,F +bike_ASC_auto_sufficient_social,-1.368071,F +bike_ASC_auto_sufficient_univ,-1.9397832,F +bike_ASC_auto_sufficient_work,-1.5800232,F +bike_ASC_auto_sufficient_atwork,15.72017,F +sr2_ASC_no_auto_all,0,F +sr2_ASC_auto_deficient_eatout,0.5882345,F +sr2_ASC_auto_deficient_escort,0,F +sr2_ASC_auto_deficient_othdiscr,0.6601513,F +sr2_ASC_auto_deficient_othmaint,0.2621527,F +sr2_ASC_auto_deficient_school,0.12474365,F +sr2_ASC_auto_deficient_shopping,0.24409756,F +sr2_ASC_auto_deficient_social,1.8558528,F +sr2_ASC_auto_deficient_univ,-1.6922346,F +sr2_ASC_auto_deficient_work,-0.33803123,F +sr2_ASC_auto_deficient_atwork,-2.1102421,F +sr2_ASC_auto_sufficient_eatout,0.86280555,F +sr2_ASC_auto_sufficient_escort,0,F +sr2_ASC_auto_sufficient_othdiscr,0.49684617,F +sr2_ASC_auto_sufficient_othmaint,0.25817883,F +sr2_ASC_auto_sufficient_school,-1.6062657,F +sr2_ASC_auto_sufficient_shopping,0.19770707,F +sr2_ASC_auto_sufficient_social,0.5236025,F +sr2_ASC_auto_sufficient_univ,-1.859427,F +sr2_ASC_auto_sufficient_work,-1.0857458,F +sr2_ASC_auto_sufficient_atwork,-1.4450618,F +sr3p_ASC_no_auto_eatout,0.3219998,F +sr3p_ASC_no_auto_escort,-1.8129267,F +sr3p_ASC_no_auto_othdiscr,0.27216902,F +sr3p_ASC_no_auto_othmaint,-0.8031854,F +sr3p_ASC_no_auto_school,-6.0240827,F +sr3p_ASC_no_auto_shopping,-0.27978948,F +sr3p_ASC_no_auto_social,-1.4036902,F +sr3p_ASC_no_auto_univ,-6.056001,F +sr3p_ASC_no_auto_work,-0.5831269,F +sr3p_ASC_no_auto_atwork,0.5826626,F +sr3p_ASC_auto_deficient_eatout,0.04605236,F +sr3p_ASC_auto_deficient_escort,-0.40818766,F +sr3p_ASC_auto_deficient_othdiscr,1.0470966,F +sr3p_ASC_auto_deficient_othmaint,-1.3493925,F +sr3p_ASC_auto_deficient_school,0.7149571,F +sr3p_ASC_auto_deficient_shopping,-0.073370166,F +sr3p_ASC_auto_deficient_social,1.5007243,F +sr3p_ASC_auto_deficient_univ,-1.7277422,F +sr3p_ASC_auto_deficient_work,-0.8527042,F +sr3p_ASC_auto_deficient_atwork,-2.514658,F +sr3p_ASC_auto_sufficient_eatout,0.8468596,F +sr3p_ASC_auto_sufficient_escort,-0.05741253,F +sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F +sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F +sr3p_ASC_auto_sufficient_school,-1.0201935,F +sr3p_ASC_auto_sufficient_shopping,-0.077571295,F +sr3p_ASC_auto_sufficient_social,0.50617886,F +sr3p_ASC_auto_sufficient_univ,-1.9047098,F +sr3p_ASC_auto_sufficient_work,-1.4699702,F +sr3p_ASC_auto_sufficient_atwork,-1.652174,F +walk_transit_ASC_no_auto_eatout,2.5936368,F +walk_transit_ASC_no_auto_escort,-2.2172081,F +walk_transit_ASC_no_auto_othdiscr,2.2437785,F +walk_transit_ASC_no_auto_othmaint,2.5643456,F +walk_transit_ASC_no_auto_school,21.383749,F +walk_transit_ASC_no_auto_shopping,2.1067476,F +walk_transit_ASC_no_auto_social,1.3814651,F +walk_transit_ASC_no_auto_univ,8.786037,F +walk_transit_ASC_no_auto_work,5.0354166,F +walk_transit_ASC_no_auto_atwork,2.7041876,F +walk_transit_ASC_auto_deficient_eatout,-0.03896324,F +walk_transit_ASC_auto_deficient_escort,-4.960704,F +walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F +walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F +walk_transit_ASC_auto_deficient_school,4.120708,F +walk_transit_ASC_auto_deficient_shopping,-0.8476569,F +walk_transit_ASC_auto_deficient_social,0.97444487,F +walk_transit_ASC_auto_deficient_univ,3.1362555,F +walk_transit_ASC_auto_deficient_work,0.65302855,F +walk_transit_ASC_auto_deficient_atwork,-2.9988291,F +walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F +walk_transit_ASC_auto_sufficient_escort,-4.934847,F +walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F +walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F +walk_transit_ASC_auto_sufficient_school,0.74590874,F +walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F +walk_transit_ASC_auto_sufficient_social,-0.3453759,F +walk_transit_ASC_auto_sufficient_univ,0.4731163,F +walk_transit_ASC_auto_sufficient_work,-0.8916507,F +walk_transit_ASC_auto_sufficient_atwork,-3.401027,F +drive_transit_ASC_no_auto_all,0,F +drive_transit_ASC_auto_deficient_eatout,0.5998061,F +drive_transit_ASC_auto_deficient_escort,-1.1537067,F +drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F +drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F +drive_transit_ASC_auto_deficient_school,5.3252654,F +drive_transit_ASC_auto_deficient_shopping,-0.41849178,F +drive_transit_ASC_auto_deficient_social,1.5627195,F +drive_transit_ASC_auto_deficient_univ,1.8501176,F +drive_transit_ASC_auto_deficient_work,0.10081567,F +drive_transit_ASC_auto_deficient_atwork,-998.8196,F +drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F +drive_transit_ASC_auto_sufficient_escort,-4.6014247,F +drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F +drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F +drive_transit_ASC_auto_sufficient_school,1.40135,F +drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F +drive_transit_ASC_auto_sufficient_social,-0.61585575,F +drive_transit_ASC_auto_sufficient_univ,1.3587753,F +drive_transit_ASC_auto_sufficient_work,-1.0045459,F +drive_transit_ASC_auto_sufficient_atwork,-999.21466,F +taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F +taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F +taxi_ASC_no_auto_school_univ,-7,T +taxi_ASC_no_auto_work,4.7291,F +taxi_ASC_no_auto_atwork,4.1021,F +taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F +taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F +taxi_ASC_auto_deficient_school,-0.3338,F +taxi_ASC_auto_deficient_univ,4.2492,F +taxi_ASC_auto_deficient_work,-1.4766,F +taxi_ASC_auto_deficient_atwork,-4.4046,F +taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F +taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F +taxi_ASC_auto_sufficient_school,-2.4294,F +taxi_ASC_auto_sufficient_univ,-0.3131,F +taxi_ASC_auto_sufficient_work,-4.8509,F +taxi_ASC_auto_sufficient_atwork,-2.8804,F +tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F +tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F +tnc_single_ASC_no_auto_school,-7,T +tnc_single_ASC_no_auto_univ,-2.519,F +tnc_single_ASC_no_auto_work,5.7855,F +tnc_single_ASC_no_auto_atwork,4.4982,F +tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F +tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F +tnc_single_ASC_auto_deficient_school,-0.5524,F +tnc_single_ASC_auto_deficient_univ,1.0221,F +tnc_single_ASC_auto_deficient_work,-0.8013,F +tnc_single_ASC_auto_deficient_atwork,-3.7626,F +tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F +tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F +tnc_single_ASC_auto_sufficient_school,-2.8375,F +tnc_single_ASC_auto_sufficient_univ,0.2088,F +tnc_single_ASC_auto_sufficient_work,-4.1946,F +tnc_single_ASC_auto_sufficient_atwork,-2.7988,F +tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F +tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F +tnc_shared_ASC_no_auto_school,-7,T +tnc_shared_ASC_no_auto_univ,-5.8116,F +tnc_shared_ASC_no_auto_work,3.2429,F +tnc_shared_ASC_no_auto_atwork,3.3672,F +tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F +tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F +tnc_shared_ASC_auto_deficient_school,-1.4746,F +tnc_shared_ASC_auto_deficient_univ,3.25,F +tnc_shared_ASC_auto_deficient_work,-2.1435,F +tnc_shared_ASC_auto_deficient_atwork,-4.5089,F +tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F +tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F +tnc_shared_ASC_auto_sufficient_school,-3.7219,F +tnc_shared_ASC_auto_sufficient_univ,-0.9068,F +tnc_shared_ASC_auto_sufficient_work,-5.3575,F +tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F +joint_walk_ASC_no_auto_all,-0.21274701,F +joint_walk_ASC_auto_deficient_all,-1.9607706,F +joint_walk_ASC_auto_sufficient_all,-3.2352157,F +joint_bike_ASC_no_auto_all,-2.8671598,F +joint_bike_ASC_auto_deficient_all,-6.076415,F +joint_bike_ASC_auto_sufficient_all,-6.3760657,F +joint_sr2_ASC_no_auto_all,0,T +joint_sr2_ASC_auto_deficient_all,0,T +joint_sr2_ASC_auto_sufficient_all,0,T +joint_sr3p_ASC_no_auto_all,0.5630671,F +joint_sr3p_ASC_auto_deficient_all,-1.8841692,F +joint_sr3p_ASC_auto_sufficient_all,-2.234826,F +joint_walk_transit_ASC_no_auto_all,0.62292415,F +joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F +joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F +joint_drive_transit_ASC_no_auto_all,0,T +joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F +joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F +joint_taxi_ASC_no_auto_all,-4.5792,F +joint_taxi_ASC_auto_deficient_all,-9.8157,F +joint_taxi_ASC_auto_sufficient_all,-11.7099,T +joint_tnc_single_ASC_no_auto_all,-4.4917,F +joint_tnc_single_ASC_auto_deficient_all,-9.8961,F +joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T +joint_tnc_shared_ASC_no_auto_all,-4.3002,F +joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F +joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T +local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F +local_bus_ASC_school_univ,-0.06508621,F +local_bus_ASC_work,0.06689507,F +walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +walk_light_rail_ASC_school_univ,1.6814003,F +walk_light_rail_ASC_work,0.8255567,F +drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +drive_light_rail_ASC_school_univ,1.6814003,F +drive_light_rail_ASC_work,0.8255567,F +walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +walk_ferry_ASC_school_univ,2.0202317,F +walk_ferry_ASC_work,0.93322605,F +drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +drive_ferry_ASC_school_univ,2.0202317,F +drive_ferry_ASC_work,0.93322605,F +express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F +express_bus_ASC_school_univ,0.32496938,F +express_bus_ASC_work,-0.5165474,F +heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F +heavy_rail_ASC_school_univ,0.96200377,F +heavy_rail_ASC_work,0.64772975,F +commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F +commuter_rail_ASC_school_univ,1.0336206,F +commuter_rail_ASC_work,0.725503,F +walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +walk_transit_CBD_ASC_school_univ,0.672,F +walk_transit_CBD_ASC_work,0.804,F +walk_transit_CBD_ASC_atwork,0.564,F +drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +drive_transit_CBD_ASC_school_univ,0.672,F +drive_transit_CBD_ASC_work,1.1,F +drive_transit_CBD_ASC_atwork,0.564,F diff --git a/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs_template.csv b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs_template.csv new file mode 100755 index 0000000000..b1b009a3f0 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs_template.csv @@ -0,0 +1,87 @@ +coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork +#same for all segments,,,,,,,,,, +coef_one,,,,,,,,,, +coef_nest_root,,,,,,,,,, +coef_nest_AUTO,,,,,,,,,, +coef_nest_AUTO_DRIVEALONE,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, +coef_nest_NONMOTORIZED,,,,,,,,,, +coef_nest_TRANSIT,,,,,,,,,, +coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, +coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, +coef_nest_RIDEHAIL,,,,,,,,,, +#,,,,,,,,,, +coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork +coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork +coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork +coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork +coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork +coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork +coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork +coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork +coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork +walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork +walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork +walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork +bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork +bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork +bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork +sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all +sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork +sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork +sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork +sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork +sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork +walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork +walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork +walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork +drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all +drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork +drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork +taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork +taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork +taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork +tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork +tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork +tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork +tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork +tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork +tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork +joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all +joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all +joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all +joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all +joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all +joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all +joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all +joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all +joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all +joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all +joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all +joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all +joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all +joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all +joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all +joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all +joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all +joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all +joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all +joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all +joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all +joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all +joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all +joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all +joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all +joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all +joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all +local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork +drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.csv new file mode 100755 index 0000000000..9e64b6e016 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.csv @@ -0,0 +1,59 @@ +Label,Description,Expression,Coefficient +#,Departure Constants,, +util_early_start_at_5,Early start at 5,start < 6,coef_early_start_at_5 +util_am_peak_start_at_6,AM peak start at 6,start == 6,coef_am_peak_start_at_6 +util_am_peak_start_at_7,AM peak start at 7,start == 7,coef_am_peak_start_at_7 +util_am_peak_start_at_8,AM peak start at 8,start == 8,coef_am_peak_start_at_8 +util_am_peak_start_at_9,AM peak start at 9,start == 9,coef_am_peak_start_at_9 +util_midday_start_at_10_11_12,Midday start at 10/11/12,(start > 9) & (start < 13),coef_midday_start_at_10_11_12 +util_midday_start_at_13_14_15,Midday start at 13/14/15,(start > 12) & (start < 16),coef_midday_start_at_13_14_15 +util_pm_peak_start_at_16_17_18,PM peak start at 16/17/18,(start > 15) & (start < 19),coef_pm_peak_start_at_16_17_18 +util_evening_start_at_19_20_21,Evening start at 19/20/21,(start > 18) & (start < 22),coef_evening_start_at_19_20_21 +util_late_start_at_22_23,Late start at 22/23,start > 21,coef_late_start_at_22_23 +#,Arrival Constants,, +util_early_end_at_5_6,Early end at 5/6 ,end < 7,coef_early_end_at_5_6 +util_am_peak_end,AM peak end,(end > 6) & (end < 10),coef_am_peak_end +util_midday_end_at_10_11_12,Midday end at 10/11/12,(end > 9) & (end < 13),coef_midday_end_at_10_11_12 +util_midday_end_at_13_14,Midday end at 13/14,(end > 12) & (end < 15),coef_midday_end_at_13_14 +util_pm_peak_end_at_15,PM peak end at 15,end == 15,coef_pm_peak_end_at_15 +util_pm_peak_end_at_16,PM peak end at 16,end == 16,coef_pm_peak_end_at_16 +util_pm_peak_end_at_17,PM peak end at 17,end == 17,coef_pm_peak_end_at_17 +util_pm_peak_end_at_18,PM peak end at 18,end == 18,coef_pm_peak_end_at_18 +util_evening_end_at_19_20_21,Evening end at 19/20/21,(end > 18) & (end < 22),coef_evening_end_at_19_20_21 +util_late_end_at_22_23,Late end at 22/23,end > 21,coef_late_end_at_22_23 +#,,, +util_duration_of_0_hours,Duration of 0 hours,duration==0,coef_duration_of_0_hours +util_duration_of_1_hour,Duration of 1 hour,duration==1,coef_duration_of_1_hour +util_duration_of_2_to_3_hours,Duration of 2 to 3 hours,(duration >=1) and (duration <= 4),coef_duration_of_2_to_3_hours +util_duration_of_4_to_5_hours,Duration of 4 to 5 hours,(duration >=4) and (duration <=5),coef_duration_of_4_to_5_hours +util_duration_of_6_to_7_hours,Duration of 6 to 7 hours,(duration >=6) and (duration <=7),coef_duration_of_6_to_7_hours +util_duration_of_8_to_10_hours,Duration of 8 to 10 hours,(duration >=8) and (duration <=10),coef_duration_of_8_to_10_hours +util_duration_of_11_to_13_hours,Duration of 11 to 13 hours,(duration >=11) and (duration <=13),coef_duration_of_11_to_13_hours +util_duration_of_14_to_18_hours,Duration of 14 to 18 hours,(duration >=14) and (duration <=18),coef_duration_of_14_to_18_hours +util_#,,, +util_start_shift_for_outbound_auto_travel_time_off_peak,Start shift for outbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd, time_cap)",coef_start_shift_for_outbound_auto_travel_time_off_peak +util_start_shift_for_inbound_auto_travel_time_off_peak,Start shift for inbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd_t, time_cap)",coef_start_shift_for_inbound_auto_travel_time_off_peak +util_duration_shift_for_outbound_auto_travel_time_off_peak,Duration shift for outbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd, time_cap)",coef_duration_shift_for_outbound_auto_travel_time_off_peak +util_duration_shift_for_inbound_auto_travel_time_off_peak,Duration shift for inbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd_t, time_cap)",coef_duration_shift_for_inbound_auto_travel_time_off_peak +#,,, +util_start_shift_for_business_related_,Start shift for business-related sub-tour purpose,(tour_type == 'business') * start,coef_start_shift_for_business_related_ +util_duration_shift_for_business_related_,Duration shift for business-related sub-tour purpose,(tour_type == 'business') * duration,coef_duration_shift_for_business_related_ +util_start_shift_for_first_sub_tour_of_same_work_tour,Start shift for first sub-tour of the same work tour,(tour_type_num == 1) * start,coef_start_shift_for_first_sub_tour_of_same_work_tour +util_duration_shift_for_first_sub_tour_of_same_work_tour,Duration shift for first sub-tour of the same work tour,(tour_type_num == 1) * duration,coef_duration_shift_for_first_sub_tour_of_same_work_tour +util_start_shift_for_subsequent_sub_tour_of_same_work_tour,Start shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * start,coef_start_shift_for_subsequent_sub_tour_of_same_work_tour +util_duration_shift_for_subsequent_sub_tour_of_same_work_tour,Duration shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * duration,coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour +util_start_shift_for_number_of_mandatory_tours,Start shift for number of mandatory tours made by the person,start * num_mand,coef_start_shift_for_number_of_mandatory_tours +util_duration_shift_for_number_of_mandatory_tours,Duration shift for number of mandatory tours made by the person,duration * num_mand,coef_duration_shift_for_number_of_mandatory_tours +util_start_shift_for_number_of_joint_tours,Start shift for number of joint tours in which the person participated,start * num_joint_tours,coef_start_shift_for_number_of_joint_tours +util_duration_shift_for_number_of_joint_tours,Duration shift for number of joint tours in which the person participated,duration * num_joint_tours,coef_duration_shift_for_number_of_joint_tours +util_start_shift_for_number_of_individual_nonmandatory_tours,Start shift for number of individual nonm tours (including escort) made by the person,start * num_non_mand,coef_start_shift_for_number_of_individual_nonmandatory_tours +util_duration_shift_for_number_of_individual_nonmandatory_tours,Duration shift for number of individual nonm tours (including escort) made by the person,duration * num_non_mand,coef_duration_shift_for_number_of_individual_nonmandatory_tours +#,,, +util_dummy_for_business_related_purpose_and_duration_from_0_to_1,Dummy for business-related purpose and duration from 0 to 1,(tour_type == 'business') & (duration <=1),coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 +util_dummy_for_eating_out_purpose_and_duration_of_1_hour,Dummy for eating-out purpose and duration of 1 hour,(tour_type == 'business') & (duration ==1),coef_dummy_for_eating_out_purpose_and_duration_of_1_hour +util_dummy_for_eating_out_purpose_and_departure_at_11,Dummy for eating-out purpose and departure at 11,(tour_type == 'business') & (start == 11),coef_dummy_for_eating_out_purpose_and_departure_at_11 +util_dummy_for_eating_out_purpose_and_departure_at_12,Dummy for eating-out purpose and departure at 12,(tour_type == 'business') & (start == 12),coef_dummy_for_eating_out_purpose_and_departure_at_12 +util_dummy_for_eating_out_purpose_and_departure_at_13,Dummy for eating-out purpose and departure at 13,(tour_type == 'business') & (start == 13),coef_dummy_for_eating_out_purpose_and_departure_at_13 +#,,, +#,Mode Choice Logsum,mode_choice_logsum, +#,,, \ No newline at end of file diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.yaml b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.yaml new file mode 100755 index 0000000000..a4509ce984 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.yaml @@ -0,0 +1,13 @@ + +SPEC: tour_scheduling_atwork.csv +COEFFICIENTS: tour_scheduling_atwork_coeffs.csv + +preprocessor: + SPEC: tour_scheduling_atwork_preprocessor + DF: df +# TABLES: +# - land_use +# - tours + +CONSTANTS: + time_cap: 30 diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_atwork_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_atwork_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork_coeffs.csv diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_atwork_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_atwork_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork_preprocessor.csv diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint.csv new file mode 100755 index 0000000000..36fa7940ee --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint.csv @@ -0,0 +1,66 @@ +Label,Description,Expression,Coefficient +util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_unavailable +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,"(tour_type == 'shopping') * start",coef_shopping_tour_departure_shift_effects +util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,"(tour_type == 'shopping') * duration",coef_shopping_tour_duration_shift_effects +util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,"(tour_type == 'othmaint') * start",coef_maintenance_tour_departure_shift_effects +util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,"(tour_type == 'othmaint') * duration",coef_maintenance_tour_duration_shift_effects +util_visit_tour_departure_shift_effects,Visit tour - departure shift effects,"(tour_type == 'social') * start",coef_visit_tour_departure_shift_effects +util_visit_tour_duration_shift_effects,Visit tour - departure shift effects,"(tour_type == 'social') * duration",coef_visit_tour_duration_shift_effects +util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,"(tour_type == 'eatout') * start",coef_eat_out_tour_departure_shift_effects +util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects +util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects +util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects +util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects +util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects +util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect +util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect +util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,"(tour_type == 'othmaint') & (start < 7)",coef_maintenance_tour_depart_before_7 +util_shopping_tour_depart_before_8,Shopping tour - depart before 8,"(tour_type == 'shopping') & (start < 8)",coef_shopping_tour_depart_before_8 +util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,"(tour_type == 'shopping') & (end > 22)",coef_shopping_tour_arrive_after_22 +util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 +util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 +util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,"(tour_type == 'shopping') & (duration < 2)",coef_shopping_tour_duration_lt_2_hours +util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,"(tour_type == 'othdiscr') & (duration < 2)",coef_discretionary_tour_duration_lt_2_hours +util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 +#,, +#,Mode Choice Logsum,mode_choice_logsum, +#,, +#,, +util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.tour_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour +util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.tour_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_before(df.tour_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_after(df.tour_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_before(df.tour_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_after(df.tour_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction +#,, +#,, +util_departure_constants_early,Departure Constants -- Early (up to 5),"(tour_type != 'escort') & (start < 6)",coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),"(tour_type != 'escort') & (start == 6)",coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),"(tour_type != 'escort') & (start == 7)",coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),"(tour_type != 'escort') & (start == 8)",coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),"(tour_type != 'escort') & (start == 9)",coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),"(tour_type != 'escort') & (start > 9) & (start < 13)",coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),"(tour_type != 'escort') & (start > 12) & (start < 16)",coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),"(tour_type != 'escort') & (start > 15) & (start < 19)",coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),"(tour_type != 'escort') & (start > 18) & (start < 22)",coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),"(tour_type != 'escort') & (start > 21)",coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),"(tour_type != 'escort') & (end < 7)",coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),"(tour_type != 'escort') & (end > 6) & (end < 10)",coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),"(tour_type != 'escort') & (end > 9) & (end < 13)",coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),"(tour_type != 'escort') & (end > 12) & (end < 15)",coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),"(tour_type != 'escort') & (end == 15)",coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),"(tour_type != 'escort') & (end == 16)",coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),"(tour_type != 'escort') & (end == 17)",coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),"(tour_type != 'escort') & (end == 18)",coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),"(tour_type != 'escort') & (end > 18) & (end < 22)",coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),"(tour_type != 'escort') & (end > 21)",coef_arrival_constants_late +util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,"(tour_type != 'escort') & (duration < 2)",coef_duration_constants_0_to_1_hours +util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,"(tour_type != 'escort') & (duration > 1) & (duration < 4)",coef_duration_constants_2_to_3_hours +util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,"(tour_type != 'escort') & (duration > 3) & (duration < 6)",coef_duration_constants_4_to_5_hours +util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,"(tour_type != 'escort') & (duration > 5) & (duration < 8)",coef_duration_constants_6_to_7_hours +util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,"(tour_type != 'escort') & (duration > 7) & (duration < 11)",coef_duration_constants_8_to_10_hours +util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,"(tour_type != 'escort') & (duration > 10) & (duration < 14)",coef_duration_constants_11_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,"(tour_type != 'escort') & (duration > 13) & (duration < 19)",coef_duration_constants_14_to_18_hours \ No newline at end of file diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint_coeffs.csv new file mode 100755 index 0000000000..6d382b52de --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint_coeffs.csv @@ -0,0 +1,60 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.003195,F +coef_shopping_tour_departure_shift_effects,-0.06015,F +coef_shopping_tour_duration_shift_effects,-0.1208,F +coef_maintenance_tour_departure_shift_effects,-0.1489,F +coef_maintenance_tour_duration_shift_effects,-0.08372,F +coef_visit_tour_departure_shift_effects,0.09688,F +coef_visit_tour_duration_shift_effects,0.1638,F +coef_eat_out_tour_departure_shift_effects,0.07549,F +coef_school_child_age_16_plus_departure_shift_effects,0.07266,F +coef_school_child_age_16_plus_duration_shift_effects,0.2095,F +coef_school_child_age_under_16_departure_shift_effects,0.04657,F +coef_school_child_age_under_16_duration_shift_effects,0.3272,F +coef_destination_in_cbd_duration_shift_effects,0.1067,F +coef_number_of_mandatory_tours_departure_shift_effects,0.04673,F +coef_number_of_joint_tours_departure_shift_effects,0.05208,F +coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.2364,F +coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.1731,F +coef_maintenance_tour_depart_before_7,-0.8826,F +coef_shopping_tour_depart_before_8,-1.037,F +coef_shopping_tour_arrive_after_22,-0.6027,F +coef_school_child_under_16_arrive_after_22,-1.18,F +coef_university_student_arrive_after_22,0.5466,F +coef_shopping_tour_duration_lt_2_hours,0.5168,F +coef_discretionary_tour_duration_lt_2_hours,-0.6974,F +coef_adult_with_children_in_hh_arrive_19_21,0.336,F +coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.4562,F +coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.3992,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.008442,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.0257,F +coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction,-0.0593,F +coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction,-0.02734,F +coef_departure_constants_early,-14.47708,F +coef_departure_constants_am_peak_1,-11.59505,F +coef_departure_constants_am_peak_2,-9.00519,F +coef_departure_constants_am_peak_3,-2.73315,F +coef_departure_constants_am_peak_4,0.26654,F +coef_departure_constants_midday_1,0,T +coef_departure_constants_midday_2,-1.6026,F +coef_departure_constants_pm_peak,-17.69598,F +coef_departure_constants_evening,-18.98737,F +coef_departure_constants_late,-20.27807,F +coef_arrival_constants_early,-8.72888,F +coef_arrival_constants_am_peak,-8.72888,F +coef_arrival_constants_midday_1,0,T +coef_arrival_constants_midday_2,1.40804,F +coef_arrival_constants_pm_peak_1,1.02036,F +coef_arrival_constants_pm_peak_2,1.06863,F +coef_arrival_constants_pm_peak_3,0,T +coef_arrival_constants_pm_peak_4,-0.59626,F +coef_arrival_constants_evening,-2.74894,F +coef_arrival_constants_late,-4.24253,F +coef_duration_constants_0_to_1_hours,-2.22826,F +coef_duration_constants_2_to_3_hours,0,T +coef_duration_constants_4_to_5_hours,-0.56174,F +coef_duration_constants_6_to_7_hours,-0.65547,F +coef_duration_constants_8_to_10_hours,-0.74062,F +coef_duration_constants_11_to_13_hours,-0.81519,F +coef_duration_constants_14_to_18_hours,-2.73844,F \ No newline at end of file diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory.csv new file mode 100755 index 0000000000..0c5c1fab7b --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory.csv @@ -0,0 +1,94 @@ +Label,Description,Expression,Coefficient +util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,(tour_type == 'shopping') * start,coef_shopping_tour_departure_shift_effects +util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,(tour_type == 'shopping') * duration,coef_shopping_tour_duration_shift_effects +util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * start,coef_maintenance_tour_departure_shift_effects +util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * duration,coef_maintenance_tour_duration_shift_effects +util_visit_tour_departure_shift_effects_start,Visit tour - departure shift effects,(tour_type == 'social') * start,coef_visit_tour_departure_shift_effects +util_visit_tour_duration_shift_effects_duration,Visit tour - departure shift effects,(tour_type == 'social') * duration,coef_visit_tour_duration_shift_effects +util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,(tour_type == 'eatout') * start,coef_eat_out_tour_departure_shift_effects +util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects +util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects +util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects +util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects +util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects +util_number_of_escort_tours_departure_shift_effects,Number of escort tours - departure shift effects,num_escort_tours * start,coef_number_of_escort_tours_departure_shift_effects +util_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,Number of idividual non-mandatory tours (excluding escort) - departure shift effects,num_non_escort_tours * start,coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects +util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect +util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect +util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,(tour_type == 'othmaint') & (start < 7),coef_maintenance_tour_depart_before_7 +util_shopping_tour_depart_before_8,Shopping tour - depart before 8,(tour_type == 'shopping') & (start < 8),coef_shopping_tour_depart_before_8 +util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,(tour_type == 'shopping') & (end > 22),coef_shopping_tour_arrive_after_22 +util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 +util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 +util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,(tour_type == 'shopping') & (duration < 2),coef_shopping_tour_duration_lt_2_hours +util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,(tour_type == 'othdiscr') & (duration < 2),coef_discretionary_tour_duration_lt_2_hours +util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 +#,,, +#,Mode Choice Logsum,mode_choice_logsum,#mode_choice_logsum +#,,,# +util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour +util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_before(df.person_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_after(df.person_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_before(df.person_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_after(df.person_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,Remaining individual non-mandatory tours to be scheduled / number of unscheduled hours,"@((1.0 + df.tour_count - df.tour_num)) / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours +#,#,,# +util_departure_constants_early,Departure Constants -- Early (up to 5),(tour_type != 'escort') & (start < 6),coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),(tour_type != 'escort') & (start == 6),coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),(tour_type != 'escort') & (start == 7),coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),(tour_type != 'escort') & (start == 8),coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),(tour_type != 'escort') & (start == 9),coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(tour_type != 'escort') & (start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(tour_type != 'escort') & (start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(tour_type != 'escort') & (start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),(tour_type != 'escort') & (start > 21),coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),(tour_type != 'escort') & (end < 7),coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(tour_type != 'escort') & (end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(tour_type != 'escort') & (end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),(tour_type != 'escort') & (end == 15),coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),(tour_type != 'escort') & (end == 16),coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),(tour_type != 'escort') & (end == 17),coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),(tour_type != 'escort') & (end == 18),coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(tour_type != 'escort') & (end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),(tour_type != 'escort') & (end > 21),coef_arrival_constants_late +util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,(tour_type != 'escort') & (duration < 2),coef_duration_constants_0_to_1_hours +util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,(tour_type != 'escort') & (duration > 1) & (duration < 4),coef_duration_constants_2_to_3_hours +util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,(tour_type != 'escort') & (duration > 3) & (duration < 6),coef_duration_constants_4_to_5_hours +util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,(tour_type != 'escort') & (duration > 5) & (duration < 8),coef_duration_constants_6_to_7_hours +util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,(tour_type != 'escort') & (duration > 7) & (duration < 11),coef_duration_constants_8_to_10_hours +util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,(tour_type != 'escort') & (duration > 10) & (duration < 14),coef_duration_constants_11_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(tour_type != 'escort') & (duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours +util_escort_tour_departure_constants_early,Escort Tour Departure Constants -- Early (up to 5),(tour_type == 'escort') & (start < 6),coef_escort_tour_departure_constants_early +util_escort_tour_departure_constants_am_peak_1,Escort Tour Departure Constants -- AM peak 1 (6),(tour_type == 'escort') & (start == 6),coef_escort_tour_departure_constants_am_peak_1 +util_escort_tour_departure_constants_am_peak_2,Escort Tour Departure Constants -- AM peak 2 (7),(tour_type == 'escort') & (start == 7),coef_escort_tour_departure_constants_am_peak_2 +util_escort_tour_departure_constants_am_peak_3,Escort Tour Departure Constants -- AM peak 3 (8),(tour_type == 'escort') & (start == 8),coef_escort_tour_departure_constants_am_peak_3 +util_escort_tour_departure_constants_am_peak_4,Escort Tour Departure Constants -- AM peak 4 (9),(tour_type == 'escort') & (start == 9),coef_escort_tour_departure_constants_am_peak_4 +util_escort_tour_departure_constants_midday_1,Escort Tour Departure Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (start > 9) & (start < 13),coef_escort_tour_departure_constants_midday_1 +util_escort_tour_departure_constants_midday_2,Escort Tour Departure Constants -- Midday 2 (13 to 15),(tour_type == 'escort') & (start > 12) & (start < 16),coef_escort_tour_departure_constants_midday_2 +util_escort_tour_departure_constants_pm_peak,Escort Tour Departure Constants -- PM peak (16 to 18),(tour_type == 'escort') & (start > 15) & (start < 19),coef_escort_tour_departure_constants_pm_peak +util_escort_tour_departure_constants_evening,Escort Tour Departure Constants -- Evening (19 to 21),(tour_type == 'escort') & (start > 18) & (start < 22),coef_escort_tour_departure_constants_evening +util_escort_tour_departure_constants_late,Escort Tour Departure Constants -- Late (22 and later),(tour_type == 'escort') & (start > 21),coef_escort_tour_departure_constants_late +util_escort_tour_arrival_constants_early,Escort Tour Arrival Constants -- Early (up to 6),(tour_type == 'escort') & (end < 7),coef_escort_tour_arrival_constants_early +util_escort_tour_arrival_constants_am_peak,Escort Tour Arrival Constants -- AM peak (7 to 9),(tour_type == 'escort') & (end > 6) & (end < 10),coef_escort_tour_arrival_constants_am_peak +util_escort_tour_arrival_constants_midday_1,Escort Tour Arrival Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (end > 9) & (end < 13),coef_escort_tour_arrival_constants_midday_1 +util_escort_tour_arrival_constants_midday_2,Escort Tour Arrival Constants -- Midday 2 (13 to 14),(tour_type == 'escort') & (end > 12) & (end < 15),coef_escort_tour_arrival_constants_midday_2 +util_escort_tour_arrival_constants_pm_peak_1,Escort Tour Arrival Constants -- PM peak 1 (15),(tour_type == 'escort') & (end == 15),coef_escort_tour_arrival_constants_pm_peak_1 +util_escort_tour_arrival_constants_pm_peak_2,Escort Tour Arrival Constants -- PM peak 2 (16),(tour_type == 'escort') & (end == 16),coef_escort_tour_arrival_constants_pm_peak_2 +util_escort_tour_arrival_constants_pm_peak_3,Escort Tour Arrival Constants -- PM peak 3 (17),(tour_type == 'escort') & (end == 17),coef_escort_tour_arrival_constants_pm_peak_3 +util_escort_tour_arrival_constants_pm_peak_4,Escort Tour Arrival Constants -- PM peak 4 (18),(tour_type == 'escort') & (end == 18),coef_escort_tour_arrival_constants_pm_peak_4 +util_escort_tour_arrival_constants_evening,Escort Tour Arrival Constants -- Evening (19 to 21),(tour_type == 'escort') & (end > 18) & (end < 22),coef_escort_tour_arrival_constants_evening +util_escort_tour_arrival_constants_late,Escort Tour Arrival Constants -- Late (22 and later),(tour_type == 'escort') & (end > 21),coef_escort_tour_arrival_constants_late +util_escort_tour_duration_constants_0_to_1_hours,Escort Tour Duration Constants -- 0 to 1 hours,(tour_type == 'escort') & (duration < 2),coef_escort_tour_duration_constants_0_to_1_hours +util_escort_tour_duration_constants_2_to_3_hours,Escort Tour Duration Constants -- 2 to 3 hours,(tour_type == 'escort') & (duration > 1) & (duration < 4),coef_escort_tour_duration_constants_2_to_3_hours +util_escort_tour_duration_constants_4_to_5_hours,Escort Tour Duration Constants -- 4 to 5 hours,(tour_type == 'escort') & (duration > 3) & (duration < 6),coef_escort_tour_duration_constants_4_to_5_hours +util_escort_tour_duration_constants_6_to_7_hours,Escort Tour Duration Constants -- 6 to 7 hours,(tour_type == 'escort') & (duration > 5) & (duration < 8),coef_escort_tour_duration_constants_6_to_7_hours +util_escort_tour_duration_constants_8_to_10_hours,Escort Tour Duration Constants -- 8 to 10 hours,(tour_type == 'escort') & (duration > 7) & (duration < 11),coef_escort_tour_duration_constants_8_to_10_hours +util_escort_tour_duration_constants_11_to_13_hours,Escort Tour Duration Constants -- 11 to 13 hours,(tour_type == 'escort') & (duration > 10) & (duration < 14),coef_escort_tour_duration_constants_11_to_13_hours +util_escort_tour_duration_constants_14_to_18_hours,Escort Tour Duration Constants -- 14 to 18 hours,(tour_type == 'escort') & (duration > 13) & (duration < 19),coef_escort_tour_duration_constants_14_to_18_hours \ No newline at end of file diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv new file mode 100755 index 0000000000..11120c6592 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv @@ -0,0 +1,94 @@ +coefficient_name,value,constrain +coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,-999,T +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.004741,F +coef_shopping_tour_departure_shift_effects,-0.06015,F +coef_shopping_tour_duration_shift_effects,-0.1208,F +coef_maintenance_tour_departure_shift_effects,-0.1489,F +coef_maintenance_tour_duration_shift_effects,-0.08372,F +coef_visit_tour_departure_shift_effects,0.09688,F +coef_visit_tour_duration_shift_effects,0.1638,F +coef_eat_out_tour_departure_shift_effects,0.07549,F +coef_school_child_age_16_plus_departure_shift_effects,0.07266,F +coef_school_child_age_16_plus_duration_shift_effects,0.2095,F +coef_school_child_age_under_16_departure_shift_effects,0.04657,F +coef_school_child_age_under_16_duration_shift_effects,0.3272,F +coef_destination_in_cbd_duration_shift_effects,0.1067,F +coef_number_of_mandatory_tours_departure_shift_effects,0.04673,F +coef_number_of_joint_tours_departure_shift_effects,0.05208,F +coef_number_of_escort_tours_departure_shift_effects,0.02013,F +coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,0.03896,F +coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.2364,F +coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.1731,F +coef_maintenance_tour_depart_before_7,-0.8826,F +coef_shopping_tour_depart_before_8,-1.037,F +coef_shopping_tour_arrive_after_22,-0.6027,F +coef_school_child_under_16_arrive_after_22,-1.18,F +coef_university_student_arrive_after_22,0.5466,F +coef_shopping_tour_duration_lt_2_hours,0.5168,F +coef_discretionary_tour_duration_lt_2_hours,-0.6974,F +coef_adult_with_children_in_hh_arrive_19_21,0.336,F +#,, +#mode_choice_logsum,, +#,, +coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.4562,F +coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.3992,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.008442,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.0257,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.0593,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.02734,F +coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,-13.63,F +#,,F +coef_departure_constants_early,-1.740135661,F +coef_departure_constants_am_peak_1,-0.654163573,F +coef_departure_constants_am_peak_2,0.554282571,F +coef_departure_constants_am_peak_3,1.050561087,F +coef_departure_constants_am_peak_4,0.971568228,F +coef_departure_constants_midday_1,0.881991986,F +coef_departure_constants_midday_2,0.411103634,F +coef_departure_constants_pm_peak,0,T +coef_departure_constants_evening,-1.856475096,F +coef_departure_constants_late,-8.228880141,F +coef_arrival_constants_early,-0.051990748,F +coef_arrival_constants_am_peak,-1.814822602,F +coef_arrival_constants_midday_1,0.000371501,F +coef_arrival_constants_midday_2,0.532116031,F +coef_arrival_constants_pm_peak_1,0.628481567,F +coef_arrival_constants_pm_peak_2,0.650521416,F +coef_arrival_constants_pm_peak_3,0.402894406,F +coef_arrival_constants_pm_peak_4,0.154213293,F +coef_arrival_constants_evening,0,T +coef_arrival_constants_late,-0.866671315,F +coef_duration_constants_0_to_1_hours,0,T +coef_duration_constants_2_to_3_hours,0.051385565,F +coef_duration_constants_4_to_5_hours,-0.593951321,F +coef_duration_constants_6_to_7_hours,-0.951155328,F +coef_duration_constants_8_to_10_hours,-0.828108399,F +coef_duration_constants_11_to_13_hours,-0.955635554,F +coef_duration_constants_14_to_18_hours,-1.042580879,F +coef_escort_tour_departure_constants_early,-1.740135661,F +coef_escort_tour_departure_constants_am_peak_1,-1.112357753,F +coef_escort_tour_departure_constants_am_peak_2,0.698788185,F +coef_escort_tour_departure_constants_am_peak_3,1.196268813,F +coef_escort_tour_departure_constants_am_peak_4,-0.225258221,F +coef_escort_tour_departure_constants_midday_1,0.028662017,F +coef_escort_tour_departure_constants_midday_2,0,T +coef_escort_tour_departure_constants_pm_peak,-1.180140161,F +coef_escort_tour_departure_constants_evening,-3.948732811,F +coef_escort_tour_departure_constants_late,-8.228880141,F +coef_escort_tour_arrival_constants_early,0,T +coef_escort_tour_arrival_constants_am_peak,0,T +coef_escort_tour_arrival_constants_midday_1,0,T +coef_escort_tour_arrival_constants_midday_2,0,T +coef_escort_tour_arrival_constants_pm_peak_1,0,T +coef_escort_tour_arrival_constants_pm_peak_2,0,T +coef_escort_tour_arrival_constants_pm_peak_3,0,T +coef_escort_tour_arrival_constants_pm_peak_4,0,T +coef_escort_tour_arrival_constants_evening,-0.536918728,F +coef_escort_tour_arrival_constants_late,-1.008290213,F +coef_escort_tour_duration_constants_0_to_1_hours,0,T +coef_escort_tour_duration_constants_2_to_3_hours,-2.042013897,F +coef_escort_tour_duration_constants_4_to_5_hours,-2.880293896,F +coef_escort_tour_duration_constants_6_to_7_hours,-2.973533731,F +coef_escort_tour_duration_constants_8_to_10_hours,-3.020213758,F +coef_escort_tour_duration_constants_11_to_13_hours,-2.974364976,F +coef_escort_tour_duration_constants_14_to_18_hours,-2.507447146,F \ No newline at end of file diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school.csv new file mode 100755 index 0000000000..845e55a0b1 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school.csv @@ -0,0 +1,63 @@ +Label,Description,Expression,Coefficient +util_roundtrip_auto_time_to_work,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_roundtrip_auto_time_to_work +util_ft_worker_departure,Full-time worker departure shift effects,(ptype == 1) * start,coef_ft_worker_departure +util_ft_worker_duration,Full-time worker duration shift effects,(ptype == 1) * duration,coef_ft_worker_duration +util_non_worker_departure,Non-working adult departure shift effects,(ptype == 4) * start,coef_non_worker_departure +util_univ_departure,University student departure shift effects,(ptype == 3) * start,coef_univ_departure +util_univ_duration,University student duration shift effects,(ptype == 3) * duration,coef_univ_duration +util_student_driver_duration,Student driving age duration shift effects,(ptype == 7) * duration,coef_student_driver_duration +util_all_adults_ft_worker_duration,All adults work full time- duration,(num_workers == hhsize) * duration,coef_all_adults_ft_worker_duration +util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends +util_first_of_2plus_school_tours_departure,First of 2+ school/univ. tours- departure,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_school_tours_departure +util_first_of_2plus_school_tours_duration,First of 2+ school/univ. tours- duration,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_school_tours_duration +util_subsequent_2plus_school_tours_duration,Subsequent of 2+ school/univ. tours- duration,(tour_num > 1) * duration,coef_subsequent_2plus_school_tours_duration +util_hh_income_early_departure,Household income -- Early departure interaction,(income_in_thousands >= 100) & (start < 6),coef_hh_income_early_departure +util_hh_income_late_arrival,Household income -- Late arrival interaction,(income_in_thousands >= 100) & (end > 22),coef_hh_income_late_arrival +util_first_of_2plus_school_lt_6_hours,First of 2+ school/univ tours- duration<6 hrs,(tour_count>1) & (tour_num == 1) & (duration < 6),coef_first_of_2plus_school_lt_6_hours +util_subsequent_of_2plus_school_lt_6_hours,Subsequent of 2+ school/univ tours- duration<6 hrs,(tour_num > 1) & (duration < 6),coef_subsequent_of_2plus_school_lt_6_hours +util_school_plus_work_tours_by_student_lt_6_hours,School+work tours by student- duration<6 hrs,work_and_school_and_worker & (duration < 6),coef_school_plus_work_tours_by_student_lt_6_hours +util_school_plus_work_tours_by_worker_lt_6_hours,School+work tours by worker- duration<6 hrs,work_and_school_and_student & (duration < 6),coef_school_plus_work_tours_by_worker_lt_6_hours +util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum +util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previous_tour_ends_this_departure_hour +util_previous_tour_begins_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previous_tour_begins_this_arrival_hour +#,,, FIXME - use temps as timetable ops can be very time-consuming +#,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & tt.adjacent_window_before(df.person_id, df.start)",0.08975 +#,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & tt.adjacent_window_after(df.person_id, df.end)",-0.003049 +#,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & tt.adjacent_window_before(df.person_id, df.start)",-0.44 +#,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & tt.adjacent_window_after(df.person_id, df.end)",-0.5271 +util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours +util_departure_constants_early_up_to_5,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early +util_departure_constants_am_peak_1 _6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2_7,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3_8,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4_9,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 +util_departure_constants_midday_1_10_to_12,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2_13_to_15,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak_16_to_18,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening_19_to_21,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late_22_and_later,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late +util_arrival_constants_early_up_to_6,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early +util_arrival_constants_am_peak_7_to_9,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1_10_to_12,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2_13_to_14,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1_15,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2_16,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3_17,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4_18,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening_19_to_21,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late_22_and_later,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late +util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours +util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours +util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours +util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours +util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours +util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours +util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours +util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school_coeffs.csv new file mode 100755 index 0000000000..6fd040134d --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school_coeffs.csv @@ -0,0 +1,57 @@ +coefficient_name,value,constrain +coef_dummy,1,T +coef_roundtrip_auto_time_to_work,0.003195,F +coef_ft_worker_departure,0.3971,F +coef_ft_worker_duration,-0.1908,F +coef_non_worker_departure,0.5539,F +coef_univ_departure,0.28,F +coef_univ_duration,-0.2907,F +coef_student_driver_duration,0.03464,F +coef_all_adults_ft_worker_duration,0.1093,F +coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T +coef_first_of_2plus_school_tours_departure,-0.3002,F +coef_first_of_2plus_school_tours_duration,-0.1593,F +coef_subsequent_2plus_school_tours_duration,-0.2338,F +coef_hh_income_early_departure,-0.8837,F +coef_hh_income_late_arrival,-0.3533,F +coef_first_of_2plus_school_lt_6_hours,1.487,F +coef_subsequent_of_2plus_school_lt_6_hours,2.142,F +coef_school_plus_work_tours_by_student_lt_6_hours,1.73,F +coef_school_plus_work_tours_by_worker_lt_6_hours,2.142,F +coef_mode_choice_logsum,2.127,F +coef_previous_tour_ends_this_departure_hour,-0.5995,F +coef_previous_tour_begins_this_arrival_hour,-1.102,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.08975,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.003049,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.44,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.5271,F +coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,-16.67,F +coef_departure_constants_early,-3.820662404,F +coef_departure_constants_am_peak_1,-1.617644056,F +coef_departure_constants_am_peak_2,0,T +coef_departure_constants_am_peak_3,-0.073826841,F +coef_departure_constants_am_peak_4,-2.080570769,F +coef_departure_constants_midday_1,-2.985739457,F +coef_departure_constants_midday_2,-3.628434646,F +coef_departure_constants_pm_peak,-3.10250515,F +coef_departure_constants_evening,-5.230287836,F +coef_departure_constants_late,-11.88604728,F +coef_arrival_constants_early,-2.428718399,F +coef_arrival_constants_am_peak,-2.428718399,F +coef_arrival_constants_midday_1,-1.237908768,F +coef_arrival_constants_midday_2,-0.539768931,F +coef_arrival_constants_pm_peak_1,0,T +coef_arrival_constants_pm_peak_2,-0.389169248,F +coef_arrival_constants_pm_peak_3,-0.198120349,F +coef_arrival_constants_pm_peak_4,-0.253624684,F +coef_arrival_constants_evening,-0.870146904,F +coef_arrival_constants_late,-1.75200049,F +coef_duration_constants_0_to_2_hours,-1.409955689,F +coef_duration_constants_3_to_4_hours,-0.745893252,F +coef_duration_constants_5_to_6_hours,-0.567636622,F +coef_duration_constants_7_to_8_hours,0,T +coef_duration_constants_9_hours,-0.650806684,F +coef_duration_constants_10_hours,-0.904788983,F +coef_duration_constants_11_hours,-1.521162604,F +coef_duration_constants_12_to_13_hours,-2.418488917,F +coef_duration_constants_14_to_18_hours,-2.503137295,F \ No newline at end of file diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_work.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_work.csv new file mode 100755 index 0000000000..0d8b8aeff2 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_work.csv @@ -0,0 +1,136 @@ +Label,Description,Expression,Coefficient +util_free_flow_round_trip_auto_time_shift_effects_departure,Free-flow round trip auto time shift effects - departure,roundtrip_auto_time_to_work * start,coef_free_flow_round_trip_auto_time_shift_effects_departure +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_part_time_worker_departure_shift_effects,Part-time worker departure shift effects,(ptype == 2) * start,coef_part_time_worker_departure_shift_effects +util_non_working_adult_duration_shift_effects,Non-working adult duration shift effects,(ptype == 4) * duration,coef_non_working_adult_duration_shift_effects +util_university_student_departure_shift_effects,University student departure shift effects,(ptype == 3) * start,coef_university_student_departure_shift_effects +util_household_income_departure_shift_effects,Household income departure shift effects,income_in_thousands * start,coef_household_income_departure_shift_effects +util_destination_in_cbd_departure_shift_effects,Destination in CBD departure shift effects,workplace_in_cbd * start,coef_destination_in_cbd_departure_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD duration shift effects,workplace_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends +util_first_of_2plus_work_tours_departure_shift_effects,First of 2+ work tours departure shift effects,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_work_tours_departure_shift_effects +util_first_of_2plus_work_tours_duration_shift_effects,First of 2+ work tours duration shift effects,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_work_tours_duration_shift_effects +util_subsequent_2plus_work_departure_tours_shift_effects,Subsequent 2+ work departure tours shift effects,(tour_num == 2) * start,coef_subsequent_2plus_work_departure_tours_shift_effects +util_subsequent_2plus_work_duration_tours_shift_effects,Subsequent 2+ work duration tours shift effects,(tour_num == 2) * duration,coef_subsequent_2plus_work_duration_tours_shift_effects +util_household_income_early_departure_interaction,Household income -- Early departure interaction,(income_in_thousands > 100) & (start < 6),coef_household_income_early_departure_interaction +util_household_income_late_arrival_interaction,Household income -- Late arrival interaction,(income_in_thousands > 100) & (end > 22),coef_household_income_late_arrival_interaction +util_destination_in_cbd_early_departure_interaction,Destination in CBD -- Early departure interaction,workplace_in_cbd & (start < 6),coef_destination_in_cbd_early_departure_interaction +util_destination_in_cbd_late_arrival_interaction,Destination in CBD -- Late arrival interaction,workplace_in_cbd & (end > 22),coef_destination_in_cbd_late_arrival_interaction +util_rural_household_early_departure_interaction,Rural household -- Early departure interaction,home_is_rural & (start < 6),coef_rural_household_early_departure_interaction +util_rural_household_late_arrival_interaction,Rural household -- Late arrival interaction,home_is_rural & (end > 22),coef_rural_household_late_arrival_interaction +util_full_time_worker_duration_lt_9_hours_interaction,Full-time worker -- duration < 9 hours interaction,(ptype == 1) & (duration < 9),coef_full_time_worker_duration_lt_9_hours_interaction +util_full_time_worker_10_to_12_departure_interaction,Full-time worker -- 10 to 12 departure interaction,(ptype == 1) & (start > 9) & (start < 13),coef_full_time_worker_10_to_12_departure_interaction +util_worker_13_to_15_arrival_interaction,Part-time worker -- 13 to 15 arrival interaction,(ptype == 2) & (end > 12) & (end < 16),coef_part_time_worker_13_to_15_arrival_interaction +util_first_of_2plus_work_tours_duration_lt_8_hrs,First of 2+ work tours- duration<8 hrs,((tour_count>1) & (tour_num == 1)) & (duration < 8),coef_first_of_2plus_work_tours_duration_lt_8_hrs +util_subsequent_of_2plus_work_tours_duration_lt_8_hrs,Subsequent of 2+ work tours- duration<8 hrs,(tour_num == 2) & (duration < 8),coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs +util_tours_by_worker_duration_lt_8_hrs,Work+school tours by worker- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_worker & (duration < 8),coef_tours_by_worker_duration_lt_8_hrs +util_tours_by_student_duration_lt_8_hrs,School+work tours by student- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_student & (duration < 8),coef_tours_by_student_duration_lt_8_hrs +util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum +util_uled_tour_ends_in_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previously_scheduled_tour_ends_in_this_departure_hour +util_previously_scheduled_tour_begins_in_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previously_scheduled_tour_begins_in_this_arrival_hour +#,FIXME - use temps as timetable ops can be very time-consuming,, +util_dummy_adjacent_before,local temp variable,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,local temp variable,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours +util_departure_constants_early,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late +util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours +util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours +util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours +util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours +util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours +util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours +util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours +util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/activitysim/examples/placeholder_psrc/configs/tour_scheduling_work_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_work_coeffs.csv new file mode 100755 index 0000000000..3b842e5351 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_work_coeffs.csv @@ -0,0 +1,65 @@ +coefficient_name,value,constrain +coef_dummy,1,T +coef_free_flow_round_trip_auto_time_shift_effects_departure,-0.00114,F +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.00221,F +coef_part_time_worker_departure_shift_effects,0.06736,F +coef_non_working_adult_duration_shift_effects,-0.1207,F +coef_university_student_departure_shift_effects,0.05747,F +coef_household_income_departure_shift_effects,0.000208,F +coef_destination_in_cbd_departure_shift_effects,0.04717,F +coef_destination_in_cbd_duration_shift_effects,0.08679,F +coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T +coef_first_of_2plus_work_tours_departure_shift_effects,-0.3033,F +coef_first_of_2plus_work_tours_duration_shift_effects,-0.1861,F +coef_subsequent_2plus_work_departure_tours_shift_effects,-0.5381,F +coef_subsequent_2plus_work_duration_tours_shift_effects,-0.3174,F +coef_household_income_early_departure_interaction,-0.4854,F +coef_household_income_late_arrival_interaction,-0.3839,F +coef_destination_in_cbd_early_departure_interaction,-0.4566,F +coef_destination_in_cbd_late_arrival_interaction,-0.2334,F +coef_rural_household_early_departure_interaction,0.4039,F +coef_rural_household_late_arrival_interaction,-0.3451,F +coef_full_time_worker_duration_lt_9_hours_interaction,-1.257,F +coef_full_time_worker_10_to_12_departure_interaction,-0.5182,F +coef_part_time_worker_13_to_15_arrival_interaction,0.5433,F +coef_first_of_2plus_work_tours_duration_lt_8_hrs,1.98,F +coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs,2.582,F +coef_tours_by_worker_duration_lt_8_hrs,0.9126,F +coef_tours_by_student_duration_lt_8_hrs,2.582,F +coef_mode_choice_logsum,1.027,F +coef_previously_scheduled_tour_ends_in_this_departure_hour,-0.8935,F +coef_previously_scheduled_tour_begins_in_this_arrival_hour,-1.334,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.1771,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.3627,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.2123,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.1012,F +coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,-18.68,F +coef_departure_constants_early,-0.95272527,F +coef_departure_constants_am_peak_1,-0.616180906,F +coef_departure_constants_am_peak_2,0,T +coef_departure_constants_am_peak_3,-0.254714726, +coef_departure_constants_am_peak_4,-1.251346024,F +coef_departure_constants_midday_1,-1.705868992,F +coef_departure_constants_midday_2,-1.693570583,F +coef_departure_constants_pm_peak,-1.439991962,F +coef_departure_constants_evening,-1.610513243,F +coef_departure_constants_late,-2.883415223,F +coef_arrival_constants_early,0,T +coef_arrival_constants_am_peak,-1.854520626,F +coef_arrival_constants_midday_1,-0.495972037,F +coef_arrival_constants_midday_2,-0.378554081,F +coef_arrival_constants_pm_peak_1,0,T +coef_arrival_constants_pm_peak_2,0.2760839,F +coef_arrival_constants_pm_peak_3,0.699587132,F +coef_arrival_constants_pm_peak_4,0.799289377,F +coef_arrival_constants_evening,0.103566251,F +coef_arrival_constants_late,-0.965957339,F +coef_duration_constants_0_to_2_hours,-2.52826639,F +coef_duration_constants_3_to_4_hours,-0.918974457,F +coef_duration_constants_5_to_6_hours,-0.718550288,F +coef_duration_constants_7_to_8_hours,-0.139623566,F +coef_duration_constants_9_hours,0.055706243,F +coef_duration_constants_10_hours,0,T +coef_duration_constants_11_hours,-0.347795391,F +coef_duration_constants_12_to_13_hours,-1.008222346,F +coef_duration_constants_14_to_18_hours,-1.701858847,F \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/trip_destination.csv b/activitysim/examples/placeholder_psrc/configs/trip_destination.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_destination.csv rename to activitysim/examples/placeholder_psrc/configs/trip_destination.csv diff --git a/activitysim/examples/example_psrc/configs/trip_destination.yaml b/activitysim/examples/placeholder_psrc/configs/trip_destination.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_destination.yaml rename to activitysim/examples/placeholder_psrc/configs/trip_destination.yaml diff --git a/activitysim/examples/example_mtc/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/trip_destination_annotate_trips_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_destination_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/trip_destination_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_psrc/configs/trip_destination_sample.csv b/activitysim/examples/placeholder_psrc/configs/trip_destination_sample.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_destination_sample.csv rename to activitysim/examples/placeholder_psrc/configs/trip_destination_sample.csv diff --git a/activitysim/examples/placeholder_psrc/configs/trip_mode_choice.csv b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice.csv new file mode 100644 index 0000000000..3ac15254ba --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice.csv @@ -0,0 +1,405 @@ +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,,,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,,,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,,,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,,,,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, +#,Walk,,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +#,Bike,,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, +#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, +#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, +#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, +#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn,,,,,,,, +#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, +util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, +#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, +util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, +#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, +util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, +#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, +util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, +#,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, +util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#,#TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,,,,,,,,,,,,,,,,,,,,,,, +util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, +util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,, +util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, +,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh +util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh +util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh +util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh +util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,,,,,,,,,, +util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh +util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_express,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,walk_transit_ASC_heavyrail,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,walk_transit_ASC_commuter,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh +util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_lightrail,,,,,, +util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_ferry,,,,,, +util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,drive_transit_ASC_express,,,,, +util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,drive_transit_ASC_heavyrail,,,, +util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,drive_transit_ASC_commuter,,, +util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh +util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,,,,,,, +util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,ride_hail_ASC_taxi,, +util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_single, +util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_shared +#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh +util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh +util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_express,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,joint_walk_transit_ASC_heavyrail,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,joint_walk_transit_ASC_commuter,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh +util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_lightrail,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_ferry,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,joint_drive_transit_ASC_express,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,joint_drive_transit_ASC_heavyrail,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_commuter,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_taxi,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared +#,#,,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, +util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt +util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice.yaml b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_mode_choice.yaml rename to activitysim/examples/placeholder_psrc/configs/trip_mode_choice.yaml diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_mode_choice_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/trip_mode_choice_coefficients.csv diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice_coefficients_template.csv b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice_coefficients_template.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_mode_choice_coefficients_template.csv rename to activitysim/examples/placeholder_psrc/configs/trip_mode_choice_coefficients_template.csv diff --git a/activitysim/examples/placeholder_psrc/configs/trip_purpose.yaml b/activitysim/examples/placeholder_psrc/configs/trip_purpose.yaml new file mode 100755 index 0000000000..7f9d48b93d --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/trip_purpose.yaml @@ -0,0 +1,9 @@ + +PROBS_SPEC: trip_purpose_probs.csv + +preprocessor: + SPEC: trip_purpose_annotate_trips_preprocessor + DF: trips + TABLES: + - persons + - tours diff --git a/activitysim/examples/example_arc/configs/trip_purpose_and_destination.yaml b/activitysim/examples/placeholder_psrc/configs/trip_purpose_and_destination.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/trip_purpose_and_destination.yaml rename to activitysim/examples/placeholder_psrc/configs/trip_purpose_and_destination.yaml diff --git a/activitysim/examples/example_arc/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/trip_purpose_annotate_trips_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/trip_purpose_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/trip_purpose_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/trip_purpose_probs.csv b/activitysim/examples/placeholder_psrc/configs/trip_purpose_probs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_purpose_probs.csv rename to activitysim/examples/placeholder_psrc/configs/trip_purpose_probs.csv diff --git a/activitysim/examples/placeholder_psrc/configs/trip_scheduling.yaml b/activitysim/examples/placeholder_psrc/configs/trip_scheduling.yaml new file mode 100755 index 0000000000..a64326c78b --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/trip_scheduling.yaml @@ -0,0 +1,10 @@ + +# int to add to probs column index to get time period it represents. +# e.g. depart_alt_base = 5 means first column (column 0) represents 5 am +DEPART_ALT_BASE: 5 + +MAX_ITERATIONS: 100 + +#FAILFIX: drop_and_cleanup +FAILFIX: choose_most_initial + diff --git a/activitysim/examples/placeholder_psrc/configs/trip_scheduling_probs.csv b/activitysim/examples/placeholder_psrc/configs/trip_scheduling_probs.csv new file mode 100755 index 0000000000..6a0deffede --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/trip_scheduling_probs.csv @@ -0,0 +1,1369 @@ +primary_purpose,outbound,tour_hour,trip_num,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23 +work,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,5,2,0.249730906,0.477180111,0.215788882,0.02257625,0.009653299,0.001272067,0.002559828,0.005345297,0.012868196,0.000858457,0,0.00130551,0,0.000861198,0,0,0,0,0 +work,TRUE,5,3,0.269166724,0.331378773,0.290398422,0.047428828,0.032211326,0.003681738,0,0.00648104,0.007547054,0.006178507,0,0.005527589,0,0,0,0,0,0,0 +work,TRUE,5,4,0.087782501,0.257488508,0.384088251,0.077346978,0.060562922,0,0,0.049138541,0,0.014538525,0,0,0,0.041701151,0.018235082,0,0.009117541,0,0 +work,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,6,2,0,0.218769369,0.568056029,0.16549898,0.028654735,0.007305391,0.002067083,0.003148838,0.000503641,0.003688829,0.002307106,0,0,0,0,0,0,0,0 +work,TRUE,6,3,0,0.130626273,0.577093506,0.214895882,0.051730954,0.003240613,0,0.004631429,0.00858571,0.005631893,0.001259632,0,0.002304109,0,0,0,0,0,0 +work,TRUE,6,4,0,0.003746877,0.546827469,0.29119719,0.043440135,0.021108582,0,0.041279538,0.022438337,0.019313618,0.003776433,0.006871821,0,0,0,0,0,0,0 +work,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,7,2,0,0,0.265300367,0.613559084,0.096014364,0.014396896,0.003048705,0.004403151,0,0.001139887,0.001411868,0.000725679,0,0,0,0,0,0,0 +work,TRUE,7,3,0,0,0.166352156,0.62367014,0.155705334,0.026659137,0.007295847,0.013673999,0.003582828,0.001111918,0.000525728,0.001422911,0,0,0,0,0,0,0 +work,TRUE,7,4,0,0,0.105022925,0.545651324,0.19699608,0.086647479,0.013272884,0.007863943,0.037841595,0.002284229,0.001876743,0,0.002542798,0,0,0,0,0,0 +work,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,8,2,0,0,0,0.456491659,0.443858962,0.071483886,0.007227768,0.011205848,0.004971546,0.003779089,0,0.000629094,0.000352148,0,0,0,0,0,0 +work,TRUE,8,3,0,0,0,0.297357445,0.518087382,0.132861058,0.006370619,0.007614307,0.009010749,0.012385163,0.002114995,0.01254835,0.001649933,0,0,0,0,0,0 +work,TRUE,8,4,0,0,0,0.219050051,0.313898882,0.316701629,0.097894922,0.024670968,0.007826425,0.014063117,0,0,0.001659846,0,0,0,0.00423416,0,0 +work,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,9,2,0,0,0,0,0.381802065,0.463610086,0.07833074,0.053350819,0.012379425,0.006984996,0.002188786,0.001353083,0,0,0,0,0,0,0 +work,TRUE,9,3,0,0,0,0,0.244359192,0.505051786,0.124730319,0.070740285,0.04380103,0.00393502,0.002381853,0,0.005000514,0,0,0,0,0,0 +work,TRUE,9,4,0,0,0,0,0.048177162,0.281924251,0.128648284,0.140849287,0.097452942,0.149279798,0.129250851,0.024417425,0,0,0,0,0,0,0 +work,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,10,2,0,0,0,0,0,0.287462748,0.478190637,0.154315841,0.0141405,0.047319629,0,0.005707897,0,0.004618797,0.008243951,0,0,0,0 +work,TRUE,10,3,0,0,0,0,0,0.224513864,0.313870996,0.279113796,0.089398426,0.044754472,0.034345645,0.014002803,0,0,0,0,0,0,0 +work,TRUE,10,4,0,0,0,0,0,0,0.181896949,0.267783358,0.317739276,0.088027455,0.086885637,0,0,0,0.057667324,0,0,0,0 +work,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,11,2,0,0,0,0,0,0,0.349521518,0.402347786,0.191514732,0.044397707,0.009105065,0,0.003113192,0,0,0,0,0,0 +work,TRUE,11,3,0,0,0,0,0,0,0.207587883,0.30769214,0.335712206,0.084378351,0.047431249,0.017198171,0,0,0,0,0,0,0 +work,TRUE,11,4,0,0,0,0,0,0,0,0.482525146,0.331491287,0.154741395,0,0,0.031242172,0,0,0,0,0,0 +work,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,12,2,0,0,0,0,0,0,0,0.228781907,0.52986365,0.185949096,0.016952622,0.0225574,0,0.015895326,0,0,0,0,0 +work,TRUE,12,3,0,0,0,0,0,0,0,0.048290452,0.527617032,0.260449945,0.038087283,0.125555288,0,0,0,0,0,0,0 +work,TRUE,12,4,0,0,0,0,0,0,0,0.055268088,0.55183696,0.308090511,0.022112333,0.026969361,0.035722748,0,0,0,0,0,0 +work,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +work,TRUE,13,2,0,0,0,0,0,0,0,0,0.618115652,0.284403475,0.097480873,0,0,0,0,0,0,0,0 +work,TRUE,13,3,0,0,0,0,0,0,0,0,0.496549493,0.232797723,0.159946019,0,0.015308798,0.038007565,0.057390402,0,0,0,0 +work,TRUE,13,4,0,0,0,0,0,0,0,0,0.176762619,0,0,0,0.823237381,0,0,0,0,0,0 +work,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +work,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.574348416,0.354554927,0.071096656,0,0,0,0,0,0,0 +work,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.502109794,0.21816867,0.279721536,0,0,0,0,0,0,0 +work,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.133121347,0.633379229,0.134648916,0.049425254,0.049425254,0,0,0,0,0 +work,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +work,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.552840921,0.403380234,0.043778845,0,0,0,0,0,0 +work,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.134176676,0.725445222,0.140378102,0,0,0,0,0,0 +work,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +work,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +work,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.470117389,0.401307167,0.110787768,0.017787675,0,0,0,0 +work,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.648121232,0.228392401,0.123486367,0,0,0,0,0 +work,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +work,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.406105035,0.414979307,0.178915658,0,0,0,0 +work,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.212373176,0.787626824,0,0,0,0,0 +work,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.5,0,0,0 +work,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21625036,0.437860534,0.113269906,0.232619199,0,0 +work,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +work,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81925165,0.07204277,0,0.10870558,0 +work,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492020395,0.507979605,0,0,0 +work,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +work,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +work,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.388129509,0.611870491,0,0 +work,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +work,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171581948,0.828418052,0 +work,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258374236,0.741625764,0 +work,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,1,0,0.220793114,0.779206886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,2,0,0.425176732,0.574823268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,1,0,0,0.107759005,0.892240995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,2,0,0,0.690008913,0.309991087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,3,0,0.337495318,0.662504682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,4,0,0,0.569894206,0.430105794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,1,0,0,0,0.314951457,0.685048543,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,2,0,0,0,0.079070075,0.920929925,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,3,0,0,0,0.226319471,0.773680529,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,1,0,0.046066203,0.007425743,0.028045042,0.233624929,0.684838083,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,2,0,0.126398434,0,0.0549729,0.096449389,0.722179277,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,3,0,0,0,0,0.36604282,0.63395718,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,1,0,0,0.017580881,0.034113366,0.04162677,0.286326641,0.620352342,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,2,0,0,0.02642438,0,0.033819936,0.199217971,0.740537713,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,3,0,0,0,0,0.005130668,0.277227788,0.717641544,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,4,0,0,0,0,0,0.036304716,0.963695284,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,1,0,0.002492115,0.001670698,0.012159512,0.014698251,0.029407418,0.152563565,0.787008442,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,2,0,0,0.006100837,0.011620455,0.013952709,0.036974376,0.310894404,0.620457219,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,3,0,0,0,0.009383356,0.042387756,0.006845546,0.29720543,0.644177912,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,4,0,0,0,0.008143494,0,0.049968848,0.124165248,0.81772241,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,1,0,0,0.004406789,0.016516638,0.008423145,0.030672879,0.043679722,0.31728407,0.579016757,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,2,0,0,0.003526988,0.003893522,0.007279925,0.014935643,0.080084093,0.245195123,0.645084705,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,3,0,0,0,0,0.01495651,0,0.040446175,0.214618414,0.729978901,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,4,0,0,0,0,0.01397645,0.006836511,0.025113874,0.15362871,0.800444454,0,0,0,0,0,0,0,0,0,0 +work,FALSE,14,1,0.002365799,0,0.003370061,0,0.004899447,0.008850097,0.035188808,0.07267661,0.207306035,0.665343143,0,0,0,0,0,0,0,0,0 +work,FALSE,14,2,0.007728364,0.003287077,0,0.006520962,0,0.032254466,0.052851387,0.133223369,0.229023292,0.535111082,0,0,0,0,0,0,0,0,0 +work,FALSE,14,3,0,0,0,0.003971419,0,0,0.008873008,0.119445331,0.269752545,0.597957698,0,0,0,0,0,0,0,0,0 +work,FALSE,14,4,0,0,0,0,0.056793918,0,0.011546821,0.042023265,0.23002226,0.659613737,0,0,0,0,0,0,0,0,0 +work,FALSE,15,1,0,0.005222802,0.000561863,0.003055031,0.006434507,0.007479814,0.009995919,0.013087333,0.058426024,0.310076404,0.585660301,0,0,0,0,0,0,0,0 +work,FALSE,15,2,0,0,0,0.001993619,0.008787212,0.008189747,0.015159942,0.009310176,0.054885948,0.253934613,0.647738743,0,0,0,0,0,0,0,0 +work,FALSE,15,3,0,0,0,0.001732532,0,0.00508097,0.029352724,0.030967014,0.039664292,0.202228781,0.690973688,0,0,0,0,0,0,0,0 +work,FALSE,15,4,0,0,0,0,0,0.004125776,0.011923745,0.030960101,0.061425266,0.239676364,0.651888748,0,0,0,0,0,0,0,0 +work,FALSE,16,1,0,0,0.001326173,0.005965432,0.005180374,0.004138931,0.011262579,0.01661091,0.012073334,0.03679347,0.347396478,0.559252319,0,0,0,0,0,0,0 +work,FALSE,16,2,0,0,0.001822625,0.003909533,0.002974064,0.004461131,0.032696294,0.017905122,0.043805267,0.040055335,0.31441461,0.537956019,0,0,0,0,0,0,0 +work,FALSE,16,3,0,0,0,0,0.006964674,0,0.007663971,0.011249685,0.051874804,0.083383231,0.266186632,0.572677003,0,0,0,0,0,0,0 +work,FALSE,16,4,0.002037834,0,0,0,0,0.005964919,0.002996052,0.010623137,0.018245507,0.068094063,0.195919724,0.696118764,0,0,0,0,0,0,0 +work,FALSE,17,1,0,0,0.001405366,0.004415995,0.00337412,0.003812259,0.014084324,0.008465853,0.012498337,0.015584379,0.06625893,0.34857546,0.521524978,0,0,0,0,0,0 +work,FALSE,17,2,0,0.000261415,0.003193506,0.003224601,0.01031862,0.003695936,0.005727058,0.024107723,0.01290257,0.024008033,0.090851226,0.28964028,0.532069032,0,0,0,0,0,0 +work,FALSE,17,3,0,0,0.000765903,0.001471397,0.008789257,0.002465017,0.005279632,0.009138832,0.01433563,0.026053515,0.045996258,0.222930968,0.662773591,0,0,0,0,0,0 +work,FALSE,17,4,0,0,0,0.000418211,0.002396043,0.007974979,0.014040235,0.00763931,0.007998749,0.020421036,0.047793315,0.160067858,0.731250266,0,0,0,0,0,0 +work,FALSE,18,1,0,0.001141884,0.000347251,0.005493278,0.0034212,0.004108535,0.018739263,0.013709509,0.003846669,0.010612585,0.030088047,0.076311695,0.459430143,0.372749941,0,0,0,0,0 +work,FALSE,18,2,0,0.000397247,0.000707705,0.005535515,0.005281963,0.006814578,0.015049985,0.03759067,0.008201571,0.014941596,0.020264402,0.096049656,0.37187676,0.417288351,0,0,0,0,0 +work,FALSE,18,3,0,0,0.000752403,0.001471647,0,0.003652225,0.011264642,0.015334427,0.024656138,0.012088375,0.011628494,0.081091511,0.38372424,0.454335898,0,0,0,0,0 +work,FALSE,18,4,0,0,0.00040169,0.000306609,0.0002567,0.000726244,0.002720367,0.010037344,0.005670103,0.015810978,0.039979813,0.053350178,0.223343181,0.647396793,0,0,0,0,0 +work,FALSE,19,1,0,0.001186239,0,0.002728595,0.007883348,0.008718809,0.009638123,0.011693247,0.012706395,0.005992436,0.024678769,0.039878395,0.101249301,0.453611585,0.320034756,0,0,0,0 +work,FALSE,19,2,0,0,0,0.004170607,0.002769083,0.008212126,0.01044298,0.034645644,0.024223099,0.015502992,0.044371325,0.03839639,0.101706769,0.292181702,0.423377281,0,0,0,0 +work,FALSE,19,3,0,0,0,0.003546437,0.001427168,0.004005704,0.004647363,0.014456394,0.026101366,0.008168106,0.016583656,0.063080785,0.175251264,0.316168107,0.366563651,0,0,0,0 +work,FALSE,19,4,0,0,0,0,0.002545816,0.001448115,0.001519341,0.006183074,0.015479082,0.010887569,0.013355331,0.023014309,0.098855008,0.198551692,0.628160662,0,0,0,0 +work,FALSE,20,1,0,0,0.002357347,0.003515438,0.003650989,0.004956981,0.005821696,0.03028673,0.010683018,0.006121216,0.039610208,0.067356772,0.074052002,0.107849619,0.362764994,0.280972989,0,0,0 +work,FALSE,20,2,0,0,0,0.003020632,0.000872671,0.009819915,0.004032092,0.033547265,0.012437164,0.023084614,0.029601855,0.030696598,0.08880218,0.150240348,0.244376765,0.3694679,0,0,0 +work,FALSE,20,3,0,0,0,0,0.004490786,0.000948296,0.00496082,0.008797541,0.038290701,0.03100745,0.01309721,0.070674268,0.104392115,0.094315975,0.284308763,0.344716076,0,0,0 +work,FALSE,20,4,0,0,0,0,0,0,0.003217512,0.008519707,0.01832166,0.021264988,0.034310024,0.032173455,0.100093463,0.115029817,0.197663659,0.469405714,0,0,0 +work,FALSE,21,1,0,0,0.00486935,0.004088274,0.009577732,0.013580516,0.019408543,0.027638575,0.028964986,0.013373832,0.01367219,0.088681299,0.105198543,0.066199405,0.05396423,0.186005224,0.3647773,0,0 +work,FALSE,21,2,0,0,0.005064281,0,0.005604807,0.001600494,0.02231608,0.036560998,0.023155074,0.011113847,0.021297782,0.024032721,0.15164875,0.095555611,0.130774865,0.152199827,0.319074864,0,0 +work,FALSE,21,3,0,0,0,0,0,0,0.008088371,0.016902755,0.023330301,0.010037114,0.04837863,0.047736466,0.100832492,0.115955331,0.150651228,0.252610972,0.225476339,0,0 +work,FALSE,21,4,0,0,0,0,0,0,0,0.009975719,0.00458937,0.004215296,0.014833666,0.013407482,0.096553857,0.131723579,0.099990132,0.155500861,0.469210038,0,0 +work,FALSE,22,1,0,0,0,0,0.002354463,0.001321627,0.001526638,0.003547564,0.007889584,0.00247877,0.061446315,0.077612309,0.104848995,0.087316793,0.063921354,0.040342969,0.155380603,0.390012018,0 +work,FALSE,22,2,0,0,0,0.001982423,0,0.007743127,0.011968403,0.008685093,0.003973347,0.012345869,0.016587124,0.040020235,0.072010749,0.098243002,0.073472113,0.096470733,0.242366696,0.314131085,0 +work,FALSE,22,3,0,0,0,0,0,0.00900164,0.001675422,0.021019519,0.008241362,0.012933333,0.01478469,0.047949921,0.119423115,0.119522763,0.080598154,0.04905538,0.20209014,0.313704562,0 +work,FALSE,22,4,0,0,0,0,0,0.00241091,0.006967046,0.024621244,0.004358134,0.006887033,0.008276343,0.047494465,0.086031065,0.153176335,0.061142075,0.031195643,0.205080104,0.362359603,0 +work,FALSE,23,1,0,0.001238847,0,0.002154573,0.003964601,0.001493218,0.012410725,0.019401965,0.016898905,0.02730294,0.011556986,0.034875148,0.041105748,0.083174793,0.018419684,0.005370325,0.063729247,0.109449086,0.54745321 +work,FALSE,23,2,0,0,0.001396549,0,0.003319033,0.005204887,0.025094008,0.033735384,0.008488109,0.01528189,0.022728985,0.031350219,0.058537975,0.074214158,0.022929206,0.042918793,0.007770177,0.170962188,0.476068439 +work,FALSE,23,3,0,0,0.001748893,0.001566752,0,0.007196939,0.011228416,0.021359669,0.028165721,0.008967715,0.028693265,0.056683172,0.078656022,0.063158735,0.099308392,0.039560138,0.024986978,0.098009336,0.43070986 +work,FALSE,23,4,0,0,0.000766782,0.004388369,0.002881109,0.004980974,0.024053963,0.026342685,0.029143148,0.024074445,0.020534932,0.036286202,0.115377511,0.062463348,0.051866458,0.057077696,0.052763369,0.108781076,0.378217933 +univ,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,5,2,0,0.141462921,0.39086301,0,0.071786124,0.025897511,0,0,0,0.097305573,0,0.030851335,0.102890339,0.138943185,0,0,0,0,0 +univ,TRUE,5,3,0,0,0.873218626,0,0,0.057857072,0,0,0,0,0,0,0,0.068924303,0,0,0,0,0 +univ,TRUE,5,4,0,0,0,0,0,0,0.32303468,0,0.32303468,0.16151734,0,0,0,0.192413299,0,0,0,0,0 +univ,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,6,2,0,0.134677838,0.456787632,0.153282563,0.059662856,0.118242123,0.03689652,0.007431799,0.019186549,0,0,0.01383212,0,0,0,0,0,0,0 +univ,TRUE,6,3,0,0.09504007,0.597276077,0.241947175,0,0,0,0.065736678,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,6,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,7,2,0,0,0.16008737,0.671458416,0.049774779,0.017812393,0.020633361,0.033501607,0,0.039093289,0.007638784,0,0,0,0,0,0,0,0 +univ,TRUE,7,3,0,0,0.052281409,0.806320518,0.030314369,0,0,0.012683969,0,0.051228214,0,0.047171521,0,0,0,0,0,0,0 +univ,TRUE,7,4,0,0,0,0.384291795,0.37997151,0.017486076,0.017486076,0,0.052458229,0.020717499,0.020717499,0.106871315,0,0,0,0,0,0,0 +univ,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,2,0,0,0,0.508028202,0.405046381,0.075475558,0.005588065,0,0.005861793,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,3,0,0,0,0.353221848,0.426314578,0.180255321,0.025900769,0.014307484,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,4,0,0,0,0.244322976,0.391323801,0.023592159,0.14547362,0.023592159,0,0.117960797,0,0.026867244,0.026867244,0,0,0,0,0,0 +univ,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,9,2,0,0,0,0,0.363140456,0.541860336,0.068377772,0.008522123,0,0,0.018099314,0,0,0,0,0,0,0,0 +univ,TRUE,9,3,0,0,0,0,0.088505041,0.64872571,0.084998604,0.177770645,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,9,4,0,0,0,0,0.139725614,0.449854868,0.134189894,0,0.276229624,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,2,0,0,0,0,0,0.346861762,0.509611346,0.026290472,0.013109947,0.104126473,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,3,0,0,0,0,0,0.302069617,0.428966039,0.192628694,0,0.07633565,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,4,0,0,0,0,0,0,0.414612817,0,0.115720886,0.347162659,0.122503637,0,0,0,0,0,0,0,0 +univ,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,11,2,0,0,0,0,0,0,0.237240285,0.707936221,0.02446143,0.00979796,0.020564104,0,0,0,0,0,0,0,0 +univ,TRUE,11,3,0,0,0,0,0,0,0.042322313,0.335051522,0.231238246,0.268514141,0.122873778,0,0,0,0,0,0,0,0 +univ,TRUE,11,4,0,0,0,0,0,0,0,0.563593836,0.248920946,0,0.058524887,0.128960331,0,0,0,0,0,0,0 +univ,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,12,2,0,0,0,0,0,0,0,0,0.437771877,0.210261779,0,0,0.297139297,0.054827047,0,0,0,0,0 +univ,TRUE,12,3,0,0,0,0,0,0,0,0,0.43873352,0.141096056,0.130019758,0,0.219455556,0.070695109,0,0,0,0,0 +univ,TRUE,12,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,13,2,0,0,0,0,0,0,0,0,0.134867601,0.583447862,0.08911022,0.053636459,0.138937858,0,0,0,0,0,0 +univ,TRUE,13,3,0,0,0,0,0,0,0,0,0.150944969,0.333823157,0.107766156,0.168152845,0,0.239312872,0,0,0,0,0 +univ,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.090285103,0.404418717,0.50529618,0,0,0,0,0,0,0 +univ,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.309699276,0.690300724,0,0,0,0,0,0,0 +univ,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +univ,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.357567593,0.542130931,0.100301476,0,0,0,0,0,0 +univ,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.628916949,0.371083051,0,0,0,0,0,0 +univ,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +univ,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +univ,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.300048836,0.63299685,0.066954314,0,0,0,0,0 +univ,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +univ,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +univ,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.14414362,0.85585638,0,0,0,0,0 +univ,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.696191337,0.303808663,0,0,0,0 +univ,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403432532,0.596567468,0,0,0,0 +univ,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.450038651,0.549961349,0,0,0,0 +univ,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,1,0,0,0.016025515,0.983974485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,2,0,0,0.262404641,0.737595359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,1,0,0,0,0.163327352,0.836672648,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,1,0,0,0,0.226661626,0.168940428,0.604397946,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,2,0,0,0,0,0.222726098,0.777273902,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,3,0,0,0,0,0.611879485,0.388120515,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,1,0,0,0,0.015316515,0.046862442,0.097177177,0.840643866,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,2,0,0,0,0.070258469,0,0.268634856,0.661106675,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,3,0,0,0,0.037689621,0,0.130353154,0.831957225,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,4,0,0,0,0,0,0.077208841,0.922791159,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,1,0,0,0.014945608,0,0.028129025,0.020638305,0.519341237,0.416945825,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,2,0,0,0.031201085,0.03237983,0.013231327,0.110325379,0.181858105,0.631004274,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,3,0,0,0,0.03549716,0.015053148,0,0.290392671,0.65905702,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,4,0,0,0,0,0.099318641,0.052098847,0.151713122,0.69686939,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,1,0,0,0,0,0,0,0.181017187,0.292661018,0.526321795,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,2,0,0,0,0,0,0,0.048301785,0.296950961,0.654747254,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,3,0,0,0,0,0,0,0,0.056113137,0.943886863,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,4,0,0,0,0,0,0.024635167,0,0,0.975364833,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,1,0,0,0,0.022000764,0.008154518,0.013638554,0.034791419,0.065882427,0.246258385,0.609273932,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,2,0,0,0,0,0,0,0.016168393,0.097081997,0.229754942,0.656994667,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,3,0,0,0,0,0,0,0.043234918,0.20601367,0.431619379,0.319132034,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,4,0,0,0,0,0,0,0.024961198,0.010062765,0.104416222,0.860559815,0,0,0,0,0,0,0,0,0 +univ,FALSE,15,1,0,0,0,0.016983489,0,0.013422718,0.023570396,0.004582712,0.053800861,0.202721356,0.684918469,0,0,0,0,0,0,0,0 +univ,FALSE,15,2,0,0,0,0,0.045151752,0,0.099380208,0.018712363,0.046279979,0.313502235,0.476973464,0,0,0,0,0,0,0,0 +univ,FALSE,15,3,0,0,0,0,0,0,0.025154904,0.093517604,0.102200685,0.131224361,0.647902447,0,0,0,0,0,0,0,0 +univ,FALSE,15,4,0,0,0,0,0,0,0.04795036,0.04795036,0.065158411,0.21500352,0.623937348,0,0,0,0,0,0,0,0 +univ,FALSE,16,1,0,0,0,0,0,0.003411195,0,0.013129003,0,0.154717961,0.529208805,0.299533037,0,0,0,0,0,0,0 +univ,FALSE,16,2,0,0,0,0.015451903,0.014978609,0,0.006115529,0.008472156,0,0.091244276,0.417492241,0.446245285,0,0,0,0,0,0,0 +univ,FALSE,16,3,0,0,0,0,0,0.016342188,0.018885054,0,0.036490672,0.062457119,0.082466854,0.783358113,0,0,0,0,0,0,0 +univ,FALSE,16,4,0,0,0,0,0,0,0,0.102624898,0.020338459,0.028320918,0.182111674,0.666604051,0,0,0,0,0,0,0 +univ,FALSE,17,1,0,0,0,0,0,0,0,0.060607217,0.015960535,0.027738146,0.138834813,0.177730039,0.579129249,0,0,0,0,0,0 +univ,FALSE,17,2,0,0,0,0,0,0,0.026878378,0,0.045587412,0.056703613,0.067767612,0.211772198,0.591290787,0,0,0,0,0,0 +univ,FALSE,17,3,0,0,0,0,0,0,0.035711491,0,0,0.030318877,0.065253534,0.105686003,0.763030094,0,0,0,0,0,0 +univ,FALSE,17,4,0,0,0,0,0,0,0.010287884,0.023408308,0.036977492,0.010287884,0.081294488,0.144862027,0.692881918,0,0,0,0,0,0 +univ,FALSE,18,1,0,0,0,0.003945375,0,0,0,0.017778798,0,0.094239059,0.126537664,0.04524658,0.521630843,0.190621681,0,0,0,0,0 +univ,FALSE,18,2,0,0,0,0.00721016,0,0,0.021117111,0.009952491,0.040163794,0.181306282,0.011084411,0,0.37585875,0.353307001,0,0,0,0,0 +univ,FALSE,18,3,0,0,0,0.006589215,0,0,0,0.019298488,0,0.057611182,0.140317157,0.028818423,0.227948944,0.51941659,0,0,0,0,0 +univ,FALSE,18,4,0,0,0,0,0,0,0.008076984,0,0.019904917,0.065674412,0.055168626,0.094050391,0.164547688,0.592576982,0,0,0,0,0 +univ,FALSE,19,1,0,0,0,0,0.009454567,0,0,0,0.04102499,0,0.023746099,0,0.135591003,0.220827281,0.56935606,0,0,0,0 +univ,FALSE,19,2,0,0,0,0,0,0,0,0,0,0.078006772,0,0.060317466,0.259929547,0.359118303,0.242627912,0,0,0,0 +univ,FALSE,19,3,0,0,0,0,0,0,0,0,0,0.021382414,0,0.021188936,0.081686174,0.348421579,0.527320897,0,0,0,0 +univ,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189756837,0.810243163,0,0,0,0 +univ,FALSE,20,1,0,0,0,0,0,0,0,0.010016964,0,0,0,0.004718289,0.003266795,0,0.085231627,0.896766325,0,0,0 +univ,FALSE,20,2,0,0,0,0,0,0,0.11773307,0.039948419,0,0.039518498,0.05632597,0,0.267130581,0.046726624,0.026652785,0.405964054,0,0,0 +univ,FALSE,20,3,0,0,0,0,0,0,0,0.120183428,0,0.019425265,0,0.12981914,0.113130998,0,0.023452919,0.59398825,0,0,0 +univ,FALSE,20,4,0,0,0,0,0,0,0,0.120271055,0,0.038712543,0.069855242,0.27999729,0.089459377,0.067799861,0.14272972,0.191174912,0,0,0 +univ,FALSE,21,1,0,0,0,0,0,0,0,0,0.007338913,0.023203309,0.007350649,0.00472513,0.002978934,0,0.033142982,0.176639731,0.744620353,0,0 +univ,FALSE,21,2,0,0,0,0,0,0,0,0,0,0.057152164,0.184622922,0.047820405,0.014739649,0.00986257,0.02270102,0.078261413,0.584839857,0,0 +univ,FALSE,21,3,0,0,0,0,0,0,0,0.023488975,0,0.025096056,0,0,0.038339259,0,0.022191995,0.28095544,0.609928273,0,0 +univ,FALSE,21,4,0,0,0,0,0,0,0,0,0.029235831,0,0.09370831,0.034296673,0,0,0,0.045049879,0.797709307,0,0 +univ,FALSE,22,1,0,0,0,0,0,0,0,0,0,0.026178201,0.014643033,0,0.007467541,0,0.019259981,0,0.427134845,0.5053164,0 +univ,FALSE,22,2,0,0,0,0,0,0,0.034835821,0,0,0,0.140548783,0,0,0,0,0,0.1300249,0.694590496,0 +univ,FALSE,22,3,0,0,0,0,0,0,0,0.046323184,0,0,0,0.186895757,0,0,0,0,0.329771262,0.437009796,0 +univ,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0.156732984,0.024747713,0.166206674,0.137729625,0.24721205,0.267370954,0 +univ,FALSE,23,1,0,0,0,0,0,0,0,0,0,0.035836574,0,0.042066438,0.075012425,0.063439215,0,0,0.301680107,0.16901224,0.312953001 +univ,FALSE,23,2,0,0,0,0,0,0,0,0.022191189,0.04703489,0.224157456,0.038381448,0.045053715,0,0.164838447,0,0,0.125234584,0.144560801,0.188547469 +univ,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0.050535751,0,0.237653614,0.043051618,0,0.251962365,0.07621155,0.340585102 +univ,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.012541125,0,0.020367286,0.065349217,0.103326665,0.070453894,0.108396964,0.135051697,0.484513153 +school,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,2,0,0.040189605,0.959810395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,3,0,0.14676025,0.559777558,0.293462192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,2,0,0.090715709,0.600480587,0.301778371,0,0,0,0,0.007025333,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,3,0,0.189913473,0.435678549,0.345471524,0.028936455,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,4,0,0.276044088,0.461879351,0.26207656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,7,2,0,0,0.358595289,0.543340426,0.080407454,0.00494145,0,0.003218472,0.001252217,0.00163666,0.005875668,0,0.000732365,0,0,0,0,0,0 +school,TRUE,7,3,0,0,0.305390104,0.552122437,0.119495284,0,0.012287658,0,0,0,0.010704517,0,0,0,0,0,0,0,0 +school,TRUE,7,4,0,0,0.244790257,0.688367336,0,0.043560183,0,0.023282223,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,8,2,0,0,0,0.750052982,0.197397697,0.003009328,0.015758235,0.00583123,0,0.002418098,0.003851683,0.011638797,0.01004195,0,0,0,0,0,0 +school,TRUE,8,3,0,0,0,0.372624607,0.42987891,0.03924466,0,0.102467106,0,0,0.055784717,0,0,0,0,0,0,0,0 +school,TRUE,8,4,0,0,0,0,0.141654355,0.129241521,0.273939898,0,0,0,0,0.31350987,0.141654355,0,0,0,0,0,0 +school,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,2,0,0,0,0,0.090691548,0.482888016,0.426420437,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,3,0,0,0,0,0.091229458,0.353634961,0.555135582,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,4,0,0,0,0,0,0.30179716,0.69820284,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,2,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,3,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,11,2,0,0,0,0,0,0,0.02770017,0.902627425,0.038595346,0.031077059,0,0,0,0,0,0,0,0,0 +school,TRUE,11,3,0,0,0,0,0,0,0,0.797232896,0.076506636,0,0.126260468,0,0,0,0,0,0,0,0 +school,TRUE,11,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,2,0,0,0,0,0,0,0,0,0.899748743,0,0,0.100251257,0,0,0,0,0,0,0 +school,TRUE,12,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,13,2,0,0,0,0,0,0,0,0,0,0.451262789,0.191174572,0.357562639,0,0,0,0,0,0,0 +school,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.068700765,0.443666092,0.487633143,0,0,0,0,0,0,0 +school,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.11838799,0.88161201,0,0,0,0,0,0,0 +school,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.534557731,0.079614802,0,0,0.385827467,0,0,0,0,0 +school,TRUE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +school,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0,0.868324906,0,0.131675094,0,0,0,0,0 +school,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.900878137,0.099121863,0,0,0,0,0,0 +school,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +school,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +school,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.173995865,0.826004135,0,0,0,0,0,0 +school,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0.637190616,0.362809384,0,0,0,0,0 +school,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.74484742,0.25515258,0,0,0,0,0 +school,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +school,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173208977,0.826791023,0,0,0,0 +school,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +school,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,1,0,0,0,0.09946831,0.90053169,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,1,0,0,0,0,0.051889499,0.948110501,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,1,0,0,0,0,0.00854797,0.143038003,0.848414027,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,2,0,0,0,0,0,0.07758327,0.92241673,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,3,0,0,0,0,0,0.05138849,0.94861151,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,1,0,0,0,0,0.019446017,0.011496295,0.285657861,0.683399827,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,2,0,0,0,0,0.019954492,0,0.331728142,0.648317366,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,3,0,0,0,0,0.033967027,0,0.201586112,0.764446861,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,4,0,0,0,0,0.113939675,0,0.018400111,0.867660214,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,1,0,0,0,0.019248269,0,0.002680163,0.030761477,0.259256669,0.688053423,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,2,0,0,0,0,0,0,0,0.189323178,0.810676822,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,3,0,0,0,0,0,0,0,0.258031986,0.741968014,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,4,0,0,0,0,0,0,0,0.279494058,0.720505942,0,0,0,0,0,0,0,0,0,0 +school,FALSE,14,1,0,0.000831908,0.000979746,0,0.001601486,0.002226531,0.002192251,0.02470079,0.091632585,0.875834703,0,0,0,0,0,0,0,0,0 +school,FALSE,14,2,0,0,0,0,0,0,0.041609561,0.016064041,0.222703138,0.71962326,0,0,0,0,0,0,0,0,0 +school,FALSE,14,3,0,0,0,0,0,0,0,0.023937672,0.13413328,0.841929047,0,0,0,0,0,0,0,0,0 +school,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,FALSE,15,1,0,0,0.006672723,0.001920517,0.000881135,0.000470656,0.007178881,0.003373865,0.007046025,0.435289669,0.537166529,0,0,0,0,0,0,0,0 +school,FALSE,15,2,0,0,0,0.003559393,0.005420446,0,0.01895427,0.006031842,0.009564559,0.299701581,0.656767909,0,0,0,0,0,0,0,0 +school,FALSE,15,3,0,0,0,0,0.014210731,0,0,0.009915361,0.013300231,0.238413075,0.724160602,0,0,0,0,0,0,0,0 +school,FALSE,15,4,0,0,0,0,0.013547957,0,0,0.003834839,0,0.141585883,0.841031322,0,0,0,0,0,0,0,0 +school,FALSE,16,1,0,0,0.003957494,0.007442128,0.002894311,0,0.018097734,0.013714786,0.017413316,0.113052385,0.49048648,0.332941366,0,0,0,0,0,0,0 +school,FALSE,16,2,0,0,0,0.001567759,0.006348016,0.004559163,0.009399428,0.015889281,0.021832495,0.089535591,0.363878359,0.486989907,0,0,0,0,0,0,0 +school,FALSE,16,3,0,0,0,0,0,0.008315162,0.022193918,0.007486006,0.004771945,0.02862127,0.176424988,0.75218671,0,0,0,0,0,0,0 +school,FALSE,16,4,0,0,0,0,0,0,0,0.028022669,0.01919336,0.027628588,0.156778381,0.768377001,0,0,0,0,0,0,0 +school,FALSE,17,1,0,0,0,0.00408238,0.006057147,0.001368873,0.003781947,0.013443846,0.020930042,0.105685888,0.191206812,0.133610245,0.51983282,0,0,0,0,0,0 +school,FALSE,17,2,0,0,0,0.004151198,0,0.00388225,0.00967742,0.013025325,0.027213825,0.07090836,0.082650841,0.202645832,0.585844949,0,0,0,0,0,0 +school,FALSE,17,3,0,0,0,0,0,0.003335544,0,0.003254012,0,0.075557182,0.182853928,0.23363666,0.501362673,0,0,0,0,0,0 +school,FALSE,17,4,0,0,0,0,0,0.006781644,0.00413291,0,0,0.007828685,0.092863122,0.424308729,0.46408491,0,0,0,0,0,0 +school,FALSE,18,1,0,0,0,0.004555021,0,0,0.006805278,0.040238758,0.025752449,0.139579581,0.145174267,0.082159935,0.330134952,0.225599759,0,0,0,0,0 +school,FALSE,18,2,0,0,0,0,0,0,0.002018633,0.017639777,0.011559497,0.035110168,0.084872767,0.077914013,0.273264514,0.497620631,0,0,0,0,0 +school,FALSE,18,3,0,0,0,0,0,0,0.002017331,0.006931595,0.009423374,0.041198595,0.078999404,0.039268257,0.366809487,0.455351956,0,0,0,0,0 +school,FALSE,18,4,0,0,0,0,0,0,0,0,0.018561399,0.043258965,0,0.032292792,0.225093524,0.680793321,0,0,0,0,0 +school,FALSE,19,1,0,0,0.012570056,0,0,0,0.016011468,0.016057604,0.07668851,0.134954753,0.226805131,0.045185104,0.119737059,0.1042095,0.247780814,0,0,0,0 +school,FALSE,19,2,0,0,0,0,0,0,0,0,0.035149661,0.079025772,0.252249169,0.074284557,0.168495532,0.132896247,0.257899061,0,0,0,0 +school,FALSE,19,3,0,0,0,0,0,0,0.005256704,0.005256704,0,0.009878056,0.069178911,0.139359082,0.209998751,0.300301838,0.260769954,0,0,0,0 +school,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.022433763,0.009746389,0.043021361,0.243536894,0.681261593,0,0,0,0 +school,FALSE,20,1,0,0,0,0,0,0,0.036381208,0,0.005800614,0.031932891,0.149632504,0.044906251,0.163413396,0.076354612,0.020580741,0.470997783,0,0,0 +school,FALSE,20,2,0,0,0,0.036384497,0,0,0,0.015532617,0.011426107,0.027703676,0.076335086,0.040493411,0.142356662,0.132693585,0.187215615,0.329858743,0,0,0 +school,FALSE,20,3,0,0,0,0,0,0,0,0.03877589,0.045812113,0.065392635,0.101494701,0.055752291,0.061584445,0.034149257,0.28928825,0.307750418,0,0,0 +school,FALSE,20,4,0,0,0,0,0,0,0,0,0.036041044,0,0.141425909,0.042527443,0.019058777,0.102734314,0.237735178,0.420477334,0,0,0 +school,FALSE,21,1,0,0,0,0,0,0,0.029175445,0.047201664,0,0.059213923,0.186189825,0,0.015107113,0,0.014924261,0.246756883,0.401430887,0,0 +school,FALSE,21,2,0,0,0,0,0,0,0.018242295,0,0.051393732,0.017166791,0.159810093,0.01466897,0.065248355,0.019698184,0.082686594,0.128131407,0.442953578,0,0 +school,FALSE,21,3,0,0,0,0,0,0,0,0,0,0.044964736,0,0.026693251,0.075177802,0.03517993,0.025975511,0.337402271,0.4546065,0,0 +school,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0.058839649,0.052164792,0.030967554,0.061935107,0.029419825,0.145827525,0.620845548,0,0 +school,FALSE,22,1,0.023037375,0,0,0,0,0,0,0,0,0.080648327,0.361587215,0.039998637,0.119661147,0.145124395,0.025588201,0,0.115793964,0.088560738,0 +school,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.066321013,0.205698394,0.043934105,0.180253452,0.112019427,0.014897164,0.028012145,0.055418593,0.293445707,0 +school,FALSE,22,3,0,0,0,0.017205445,0,0,0,0,0,0,0,0.072013982,0.171335382,0.018627394,0.235525324,0.014627752,0.218669111,0.25199561,0 +school,FALSE,22,4,0,0,0,0,0,0,0.014630535,0,0,0,0,0,0,0.021783187,0.041931895,0.020148708,0.336082731,0.565422944,0 +school,FALSE,23,1,0,0,0,0,0,0,0,0,0.111780051,0.21697306,0.207813189,0,0.029486875,0.065930991,0.028259313,0.025083791,0.027543321,0.043512885,0.243616523 +school,FALSE,23,2,0,0,0,0,0,0,0,0,0,0.125873532,0.191933649,0.013156926,0.035810782,0.023201345,0,0.03046339,0.176154142,0.116307048,0.287099186 +school,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.39711845,0.032800383,0,0,0.246473294,0,0,0.167995519,0.155612354 +school,FALSE,23,4,0,0,0,0,0,0,0,0,0.313300531,0,0,0,0,0.002398637,0.195897513,0,0.195897513,0.004797275,0.28770853 +escort,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,5,2,0.056858007,0.134308757,0.177188158,0,0,0.13142305,0,0.060572569,0,0.148645889,0.139773895,0.099108225,0,0.048544465,0.003576985,0,0,0,0 +escort,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0.744635807,0,0,0.255364193,0,0,0,0,0 +escort,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0.812216804,0.046945799,0,0.140837397,0,0,0,0,0 +escort,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,6,2,0,0.317902833,0.447578121,0.020114912,0,0,0.053725104,0,0,0.040669001,0.069308805,0.050701225,0,0,0,0,0,0,0 +escort,TRUE,6,3,0,0,0.573662861,0,0,0,0.426337139,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,6,4,0,0,0,0,0,0,0.42115826,0.15768348,0.42115826,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,7,2,0,0,0.142617064,0.38383586,0.072492592,0.032249474,0.032292989,0.061737992,0.014418217,0,0.117686396,0.044994655,0.097674761,0,0,0,0,0,0 +escort,TRUE,7,3,0,0,0,0,0,0.045211707,0,0,0.126121874,0,0.277934232,0.221864174,0,0.328868013,0,0,0,0,0 +escort,TRUE,7,4,0,0,0,0,0,0.046374243,0,0,0.072684124,0,0,0.059438015,0.270430055,0.098354465,0,0.157068569,0,0.295650529,0 +escort,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,8,2,0,0,0,0.321006938,0.473310236,0.008304761,0.028639249,0.02199492,0.016407044,0,0.05343627,0.024107423,0.052793161,0,0,0,0,0,0 +escort,TRUE,8,3,0,0,0,0.32761399,0.648736988,0.023649023,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,8,4,0,0,0,0,0.203285069,0.087659544,0.087659544,0,0.005822781,0,0,0,0.101642534,0.005717855,0.508212672,0,0,0,0 +escort,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,9,2,0,0,0,0,0.320224882,0.267747579,0.099295479,0,0.061354638,0.200251803,0,0,0,0.020258001,0.030867619,0,0,0,0 +escort,TRUE,9,3,0,0,0,0,0,0.432761501,0.214593419,0,0.146040986,0.206604093,0,0,0,0,0,0,0,0,0 +escort,TRUE,9,4,0,0,0,0,0,0,0.1657582,0.096920036,0.259807729,0,0.159171345,0.159171345,0.159171345,0,0,0,0,0,0 +escort,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,10,2,0,0,0,0,0,0.196501921,0.373640136,0.138599097,0.094607199,0.196651647,0,0,0,0,0,0,0,0,0 +escort,TRUE,10,3,0,0,0,0,0,0.116175548,0.44952369,0.143154558,0.097571597,0.14871659,0.044858016,0,0,0,0,0,0,0,0 +escort,TRUE,10,4,0,0,0,0,0,0,0.152413275,0.360078185,0.346132466,0.141376074,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,2,0,0,0,0,0,0,0.236755791,0.714983274,0.028256555,0.02000438,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,3,0,0,0,0,0,0,0,0.379678398,0.448220444,0.172101157,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,12,2,0,0,0,0,0,0,0,0.146819614,0.555791511,0.044450314,0.058009028,0.153878569,0.041050964,0,0,0,0,0,0 +escort,TRUE,12,3,0,0,0,0,0,0,0,0,0.743230427,0.054234351,0.202535221,0,0,0,0,0,0,0,0 +escort,TRUE,12,4,0,0,0,0,0,0,0,0,0,0.132670832,0.867329168,0,0,0,0,0,0,0,0 +escort,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,13,2,0,0,0,0,0,0,0,0,0.092255068,0.585233838,0.30962564,0.012885454,0,0,0,0,0,0,0 +escort,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.671206778,0.328793222,0,0,0,0,0,0,0,0 +escort,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.228972422,0.771027578,0,0,0,0,0,0,0,0 +escort,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +escort,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.562794406,0.331440849,0.082858701,0,0.022906044,0,0,0,0,0 +escort,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.645172877,0.181000922,0.173826201,0,0,0,0,0,0 +escort,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0,0.753171928,0.246828072,0,0,0,0,0,0 +escort,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +escort,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.201660218,0.766732321,0.031607461,0,0,0,0,0,0 +escort,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.299056486,0.074996412,0.41897627,0.206970833,0,0,0,0,0 +escort,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.150453054,0.849546946,0,0,0,0,0 +escort,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +escort,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.579038356,0.255758044,0.165203599,0,0,0,0,0 +escort,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.035336994,0.238269535,0.726393471,0,0,0,0,0 +escort,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +escort,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +escort,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.197118737,0.703970119,0.036315607,0.026383772,0.036211766,0,0 +escort,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.427169666,0.572830334,0,0,0,0 +escort,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +escort,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +escort,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185479472,0.434361919,0.338714329,0.041444281,0,0 +escort,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78249237,0.21750763,0,0,0 +escort,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.823014212,0.176985788,0 +escort,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +escort,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.285555275,0.649528389,0.064916336,0,0 +escort,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +escort,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199542785,0.800457215,0,0 +escort,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,1,0.040029892,0.959970108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,1,0,0.020969803,0.979030197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,1,0,0,0.118338551,0.881661449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,2,0,0,0.034411699,0.965588301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,1,0,0,0.004282148,0.282836493,0.71288136,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,2,0,0,0,0.171647398,0.828352602,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,3,0,0,0,0.21068634,0.78931366,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,4,0,0,0,0.019911517,0.980088483,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,1,0,0,0.018159729,0.078956734,0.236267706,0.66661583,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,2,0,0,0,0.138185723,0.240772266,0.621042011,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,3,0,0,0.040625092,0.114436303,0.44797514,0.396963465,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,4,0,0,0,0,0.181720167,0.818279833,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,1,0,0,0,0.031917445,0.047683392,0.099924869,0.820474293,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,2,0,0,0,0,0.020814603,0.392076313,0.587109083,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,3,0,0,0,0,0.032514248,0.315393925,0.652091828,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,4,0,0,0,0,0,0.249548162,0.750451838,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,1,0,0,0,0.018963707,0.021920487,0.031520436,0.140654387,0.786940984,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,2,0,0,0,0.03235256,0.042149511,0.05052472,0.131440073,0.743533136,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,3,0,0,0,0.050468014,0,0.017084057,0.229496221,0.702951708,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,4,0,0,0,0,0.048745163,0,0.147271645,0.803983192,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,1,0,0,0.002941942,0.022003062,0.00551188,0.013544069,0.038590922,0.171545199,0.745862927,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,2,0,0,0,0.015043096,0.006073583,0.009841677,0.054297211,0.176600055,0.738144378,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,3,0,0,0,0.021105735,0,0,0.046096397,0.122921811,0.809876056,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,4,0,0,0,0,0,0,0,0.099840566,0.900159434,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,1,0,0,0,0.048520661,0,0,0.016138911,0.044713809,0.085550978,0.805075641,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,2,0,0,0,0.009564053,0.153251843,0,0,0.114426845,0.102407993,0.620349267,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,3,0,0,0,0,0,0,0.013997667,0.033806812,0.25169859,0.700496931,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,4,0,0,0,0,0,0,0,0.031515821,0.082969823,0.885514356,0,0,0,0,0,0,0,0,0 +escort,FALSE,15,1,0.001473284,0.001275418,0.003819369,0.008997,0.006335419,0.008570073,0.003284399,0.001014618,0.005676659,0.244506482,0.715047279,0,0,0,0,0,0,0,0 +escort,FALSE,15,2,0.004847658,0.004196604,0.007080083,0.006185119,0.01421088,0,0.026061603,0.014229404,0.009049421,0.195982731,0.718156496,0,0,0,0,0,0,0,0 +escort,FALSE,15,3,0,0.012564661,0,0,0,0.021197818,0.014513923,0.011367283,0.031969048,0.126086289,0.782300976,0,0,0,0,0,0,0,0 +escort,FALSE,15,4,0,0,0,0,0,0.027149505,0.045738486,0.027149505,0.029117725,0.13954129,0.731303489,0,0,0,0,0,0,0,0 +escort,FALSE,16,1,0.00200405,0.001051772,0.006771555,0.00180834,0.015487237,0.019320069,0.003963644,0.003467036,0,0.014608191,0.140235591,0.791282514,0,0,0,0,0,0,0 +escort,FALSE,16,2,0,0,0,0.006365421,0.007122206,0.007817846,0.005072611,0.002561853,0.010562285,0.011331327,0.163631956,0.785534495,0,0,0,0,0,0,0 +escort,FALSE,16,3,0,0,0,0,0,0,0.013949693,0.015608287,0.031607957,0.045248859,0.086738092,0.806847112,0,0,0,0,0,0,0 +escort,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.176949473,0.823050527,0,0,0,0,0,0,0 +escort,FALSE,17,1,0,0.001885858,0.014135456,0.015985525,0.002552119,0,0,0.002305352,0,0.019788158,0.05304134,0.114790493,0.775515701,0,0,0,0,0,0 +escort,FALSE,17,2,0,0,0.01612501,0.004912147,0,0,0,0,0.006052735,0,0.066169183,0.192117368,0.714623557,0,0,0,0,0,0 +escort,FALSE,17,3,0,0,0,0,0,0,0,0,0,0.020217729,0.029305934,0.331354145,0.619122192,0,0,0,0,0,0 +escort,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0.06461582,0.084856782,0.850527398,0,0,0,0,0,0 +escort,FALSE,18,1,0,0.005432163,0.038940224,0.026689744,0.058158769,0,0.034797386,0,0,0.003175997,0.015025769,0.011190666,0.133413828,0.673175452,0,0,0,0,0 +escort,FALSE,18,2,0.006475372,0,0.028703811,0,0.057765487,0,0.00513516,0.012023268,0,0.005808733,0.027224281,0.023941956,0.217891148,0.615030786,0,0,0,0,0 +escort,FALSE,18,3,0,0,0,0,0,0,0,0.023354896,0,0,0.010873824,0.043494105,0.216938965,0.70533821,0,0,0,0,0 +escort,FALSE,18,4,0,0,0,0,0,0,0,0,0,0.030910531,0.015455265,0.036197751,0.134169828,0.783266626,0,0,0,0,0 +escort,FALSE,19,1,0,0,0.015759767,0.084811588,0,0.002872924,0,0.006556512,0.028956925,0.008237531,0,0.012966642,0.041318552,0.134584946,0.663934612,0,0,0,0 +escort,FALSE,19,2,0,0,0,0.041554494,0,0,0,0.005100141,0.012765195,0.005414707,0,0.027095562,0.040399,0.160510182,0.707160719,0,0,0,0 +escort,FALSE,19,3,0,0,0,0.042762147,0,0,0,0,0,0,0,0.118635541,0.138902724,0.131182018,0.568517571,0,0,0,0 +escort,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0.033575497,0.22070458,0.745719923,0,0,0,0 +escort,FALSE,20,1,0,0,0,0,0.076554131,0,0.004387939,0,0.005379578,0,0,0.005770825,0.013203816,0.052748034,0.038731746,0.80322393,0,0,0 +escort,FALSE,20,2,0,0,0,0,0,0,0.012675397,0,0,0,0.015539935,0,0.0372498,0.038141734,0.263200874,0.63319226,0,0,0 +escort,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0.142988825,0.070710819,0.050794946,0.73550541,0,0,0 +escort,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054259213,0.205166313,0.740574475,0,0,0 +escort,FALSE,21,1,0,0,0,0.009094963,0.016533621,0,0,0,0,0.037489891,0.01972214,0.048167746,0,0.021841243,0.064693921,0.167744598,0.614711876,0,0 +escort,FALSE,21,2,0,0,0.010099315,0,0,0.041511619,0,0,0.014099016,0.047958493,0,0,0.074669665,0,0.04646442,0.263279058,0.501918415,0,0 +escort,FALSE,21,3,0,0,0.017776541,0,0,0,0,0,0,0,0.024816708,0,0.07306763,0.131431527,0.035447508,0.193292186,0.5241679,0,0 +escort,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.022628167,0,0.052756196,0.032321457,0.080116339,0.812177841,0,0 +escort,FALSE,22,1,0,0,0,0.113172185,0,0,0,0,0,0.026397261,0.044886063,0,0,0.019218468,0.004386306,0.028722261,0.247924763,0.515292694,0 +escort,FALSE,22,2,0,0,0,0,0,0,0.18017321,0,0,0,0,0.074732757,0,0.107022619,0.042577452,0.038743506,0.038743506,0.518006951,0 +escort,FALSE,22,3,0,0,0,0,0,0,0.267409489,0,0,0,0,0,0,0,0.015267396,0.143659747,0.183067852,0.390595517,0 +escort,FALSE,22,4,0,0,0,0,0,0,0,0.234024187,0.234024187,0,0,0,0,0,0,0,0.303429308,0.228522318,0 +escort,FALSE,23,1,0,0,0,0,0,0,0,0.008127027,0.007835463,0.151355656,0,0.052450125,0.03651837,0.092153785,0.022741195,0,0.087045131,0.09410699,0.447666258 +escort,FALSE,23,2,0,0,0,0,0,0,0,0.038717113,0,0.014072799,0.013520577,0.321560091,0.117135518,0.10301486,0.065001842,0,0.046587075,0.02971575,0.250674374 +escort,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.026894061,0.13703111,0,0.082687611,0.04923207,0,0.121213706,0.200076012,0.38286543 +escort,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.049644185,0,0,0,0,0,0.09087828,0.241408525,0.61806901 +shopping,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,5,2,0,0.18855969,0.026231205,0,0.018666624,0.036855114,0.01579057,0.02877734,0,0.008686294,0.03735935,0.062874703,0.02993166,0.13469908,0.360321567,0.051246804,0,0,0 +shopping,TRUE,5,3,0,0,0,0,0.061551337,0,0.071672554,0.060629628,0,0,0.091646938,0.65884087,0,0,0,0.055658673,0,0,0 +shopping,TRUE,5,4,0,0,0,0,0,0,0.063047092,0,0,0.063047092,0,0.063047092,0.096265448,0.600570816,0,0.05701123,0,0,0.05701123 +shopping,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,6,2,0,0.236185322,0.189345656,0.027307243,0,0.09795574,0.025679731,0.06524777,0,0.065782608,0.146681657,0.061307682,0.084506592,0,0,0,0,0,0 +shopping,TRUE,6,3,0,0.122362042,0,0.056125397,0,0.3786476,0,0,0.104941475,0,0,0.337923485,0,0,0,0,0,0,0 +shopping,TRUE,6,4,0,0,0,0,0,0.333126,0,0.333126,0,0,0,0.215517962,0.061611625,0.056618413,0,0,0,0,0 +shopping,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,7,2,0,0,0.137784762,0.347610842,0.133435005,0.027404455,0.039144758,0.071879163,0.050738746,0,0.035619826,0.112566834,0,0.017941118,0.01764776,0.008226732,0,0,0 +shopping,TRUE,7,3,0,0,0.118039813,0.173078319,0.187104935,0.14629093,0.052634804,0.10898427,0,0,0,0.168712159,0.045154769,0,0,0,0,0,0 +shopping,TRUE,7,4,0,0,0,0.044071544,0,0.113245235,0,0,0,0,0.055926536,0.110694997,0.261835563,0.414226125,0,0,0,0,0 +shopping,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,8,2,0,0,0,0.216420344,0.444754798,0.146005729,0.070193472,0.027780288,0.022919028,0,0.028031874,0,0.017321534,0.012974919,0,0,0,0.013598014,0 +shopping,TRUE,8,3,0,0,0,0.11915052,0.47354413,0.131084867,0.131912474,0.029942334,0.092204361,0.012421891,0,0,0,0.009739424,0,0,0,0,0 +shopping,TRUE,8,4,0,0,0,0.091488151,0.546318896,0.031542872,0.035173262,0.043158455,0.069562754,0.074293154,0.014133102,0.01007907,0.063090109,0.011081104,0,0.01007907,0,0,0 +shopping,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,9,2,0,0,0,0,0.25829748,0.338424677,0.195615866,0.063977369,0.037499937,0.014738329,0.047325307,0,0.015434424,0.020988402,0.007698208,0,0,0,0 +shopping,TRUE,9,3,0,0,0,0,0.092189784,0.255069356,0.282966449,0.075774276,0.085242805,0.057005967,0.019307332,0.104848677,0,0.027595353,0,0,0,0,0 +shopping,TRUE,9,4,0,0,0,0,0,0.086253583,0.235736082,0.217929307,0.026367245,0.066851523,0.150316009,0.167128809,0,0.049417443,0,0,0,0,0 +shopping,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,10,2,0,0,0,0,0,0.447429351,0.377114876,0.1219042,0.01784823,0.022881298,0.007112195,0.00570985,0,0,0,0,0,0,0 +shopping,TRUE,10,3,0,0,0,0,0,0.203895878,0.380391288,0.125413278,0.121084198,0.097085986,0.03993943,0.032189942,0,0,0,0,0,0,0 +shopping,TRUE,10,4,0,0,0,0,0,0.026436932,0.286895016,0.076810524,0.38619219,0.152227751,0.048029261,0,0.023408325,0,0,0,0,0,0 +shopping,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,11,2,0,0,0,0,0,0,0.321289054,0.351540642,0.130487047,0.150332918,0.014224049,0.004332814,0.027793477,0,0,0,0,0,0 +shopping,TRUE,11,3,0,0,0,0,0,0,0.22652124,0.229119163,0.279822494,0.140263855,0.09076511,0.017983211,0,0.015524928,0,0,0,0,0 +shopping,TRUE,11,4,0,0,0,0,0,0,0.060435728,0,0.337860558,0.382359867,0.089042433,0.089042433,0,0,0,0.041258981,0,0,0 +shopping,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,12,2,0,0,0,0,0,0,0,0.327958916,0.465492803,0.141109297,0.020542537,0.022498994,0.01140431,0.010993144,0,0,0,0,0 +shopping,TRUE,12,3,0,0,0,0,0,0,0,0.178317517,0.451517182,0.27737762,0.065198536,0,0.009801894,0.017787251,0,0,0,0,0 +shopping,TRUE,12,4,0,0,0,0,0,0,0,0,0.213180964,0.240910483,0.152246297,0.393662256,0,0,0,0,0,0,0 +shopping,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,13,2,0,0,0,0,0,0,0,0,0.508107696,0.321685937,0.081799219,0.061327596,0.027079551,0,0,0,0,0,0 +shopping,TRUE,13,3,0,0,0,0,0,0,0,0,0.177195753,0.267607099,0.084531289,0.424560684,0.014787439,0.031317737,0,0,0,0,0 +shopping,TRUE,13,4,0,0,0,0,0,0,0,0,0.263218395,0.402482495,0.061208389,0.185818041,0,0,0,0.087272681,0,0,0 +shopping,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +shopping,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.438870825,0.372372041,0.160848114,0.021826983,0,0,0.006082036,0,0,0 +shopping,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.017173884,0.628449853,0.104128183,0.031161272,0,0,0.10714611,0.111940698,0,0 +shopping,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.490831445,0,0,0,0,0.254584278,0.254584278,0,0 +shopping,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +shopping,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.261294755,0.632140733,0.068294747,0.038269765,0,0,0,0,0 +shopping,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.150837677,0.364045291,0.292150535,0.06771696,0,0.125249537,0,0,0 +shopping,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.36746411,0,0.075770875,0,0.278382507,0.278382507,0,0 +shopping,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +shopping,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.554781367,0.360878736,0.067834102,0.016505795,0,0,0,0 +shopping,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.327593582,0.637795928,0.034610489,0,0,0,0,0 +shopping,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0.076274354,0.757840172,0.055295158,0.110590316,0,0,0,0 +shopping,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +shopping,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.281133857,0.595643382,0.100047971,0,0.023174789,0,0 +shopping,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.517896269,0.345741974,0.070632988,0,0,0.065728769,0 +shopping,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.783800606,0,0.072066465,0.144132929,0,0 +shopping,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +shopping,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299407159,0.536590408,0.150080831,0.013921602,0,0 +shopping,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192023096,0.807976904,0,0,0,0 +shopping,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.221357455,0.693718463,0.084924082,0,0 +shopping,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.905321875,0.094678125,0,0 +shopping,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.768749763,0.231250237,0 +shopping,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,2,0,0,0.057856159,0.942143841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,1,0,0,0,0.063004812,0.936995188,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,2,0,0,0,0.215154916,0.784845084,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,1,0,0,0,0.034621691,0.199730362,0.765647947,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,2,0,0,0,0.013947823,0.249445429,0.736606748,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,3,0,0,0,0,0.263792407,0.736207593,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,4,0,0,0,0,0.190842252,0.809157748,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,1,0,0,0,0,0.017620786,0.158923567,0.823455647,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,2,0,0,0,0,0.004541602,0.230049175,0.765409223,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,3,0,0,0,0,0,0.338910752,0.661089248,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,4,0,0,0,0,0,0.150257604,0.849742396,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,1,0,0,0.002514383,0,0.039915577,0.051276757,0.273727641,0.632565641,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,2,0,0,0,0,0.039730806,0.073816678,0.261462334,0.624990182,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,3,0,0,0,0,0.004430216,0.044433351,0.292333728,0.658802706,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,4,0,0,0,0,0,0.035609316,0.240024471,0.724366213,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,1,0,0,0,0,0.002652468,0.017076075,0.03891727,0.241051111,0.700303076,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,2,0,0,0,0,0.008356207,0.019728013,0.123359666,0.171778982,0.676777133,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,3,0,0,0,0,0.019588158,0,0.046245315,0.40772273,0.526443797,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,4,0,0,0,0,0.025743876,0.051487752,0.032165405,0.12492976,0.765673208,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,1,0,0,0,0.014322812,0.008308251,0.005594512,0.016143904,0.130012933,0.19330349,0.632314098,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,2,0,0,0,0.005506763,0.021606723,0.003403522,0.013852092,0.106618856,0.339860692,0.509151352,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,3,0,0,0,0.011027918,0,0.003096348,0.058586882,0.104167817,0.217735941,0.605385093,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,4,0,0,0,0.01227549,0,0.019168758,0.003446634,0.105336725,0.267971535,0.591800858,0,0,0,0,0,0,0,0,0 +shopping,FALSE,15,1,0,0,0,0,0.004254425,0.009138,0.019091237,0.013981558,0.039120881,0.34948947,0.564924428,0,0,0,0,0,0,0,0 +shopping,FALSE,15,2,0,0,0,0,0.001627899,0.009215496,0.004903293,0.002308669,0.07302082,0.221873866,0.687049956,0,0,0,0,0,0,0,0 +shopping,FALSE,15,3,0,0,0,0,0.003142874,0,0.025204014,0,0.04008905,0.235602582,0.69596148,0,0,0,0,0,0,0,0 +shopping,FALSE,15,4,0,0,0,0,0,0,0.004328876,0.008657753,0,0.285614869,0.701398502,0,0,0,0,0,0,0,0 +shopping,FALSE,16,1,0,0,0,0.000878576,0.003497576,0.021588157,0.009216937,0.008217315,0.002448233,0.048046219,0.232893086,0.673213901,0,0,0,0,0,0,0 +shopping,FALSE,16,2,0,0,0,0,0,0.035847568,0.011510797,0.014922592,0.020904683,0.052635454,0.243160325,0.62101858,0,0,0,0,0,0,0 +shopping,FALSE,16,3,0,0,0,0,0,0.051361483,0.00311995,0,0.051491012,0.042960512,0.192617192,0.658449851,0,0,0,0,0,0,0 +shopping,FALSE,16,4,0,0,0,0,0,0.046465728,0.002556214,0.025713434,0.038861358,0.073644993,0.248297436,0.564460837,0,0,0,0,0,0,0 +shopping,FALSE,17,1,0,0.002208578,0.009311633,0.01738702,0.001331755,0.005016926,0.003171846,0.006879148,0.001436793,0.027480637,0.058941124,0.29462051,0.572214029,0,0,0,0,0,0 +shopping,FALSE,17,2,0,0,0,0,0,0,0.010344283,0.037939171,0.039422982,0.026045212,0.06114443,0.190229666,0.634874255,0,0,0,0,0,0 +shopping,FALSE,17,3,0,0,0,0,0.007721229,0,0.011554543,0.070232976,0.032812162,0.025350429,0.070540072,0.236685334,0.545103256,0,0,0,0,0,0 +shopping,FALSE,17,4,0,0,0,0,0,0.006990598,0.033455447,0.006990598,0,0.064675896,0.055525232,0.171396816,0.660965415,0,0,0,0,0,0 +shopping,FALSE,18,1,0,0.033355807,0,0.001892316,0.00090772,0.004904866,0.001167821,0.016722263,0.003141548,0.002779365,0.024569171,0.061842541,0.271632599,0.577083981,0,0,0,0,0 +shopping,FALSE,18,2,0,0.075251856,0,0.017407741,0,0,0.005067103,0.012905849,0.043130871,0.028315061,0.006542046,0.109303095,0.166027278,0.536049102,0,0,0,0,0 +shopping,FALSE,18,3,0,0,0,0,0,0,0,0,0,0.066490049,0.057249304,0.237270804,0.359314757,0.279675086,0,0,0,0,0 +shopping,FALSE,18,4,0,0,0,0,0,0,0.007859239,0,0.011296648,0.003929619,0.099720544,0.061193285,0.240312145,0.575688521,0,0,0,0,0 +shopping,FALSE,19,1,0,0.002312931,0.007027556,0.00055146,0,0.020661977,0,0,0.011821234,0.002688782,0.004292928,0.007532001,0.051155819,0.156901174,0.735054139,0,0,0,0 +shopping,FALSE,19,2,0,0,0,0,0,0,0,0.003320994,0.005290597,0.01358355,0.003788453,0.020449742,0.075630163,0.221134543,0.656801959,0,0,0,0 +shopping,FALSE,19,3,0,0,0,0,0,0,0.014614817,0,0,0.020347906,0.008733406,0,0.047735668,0.374113208,0.534454996,0,0,0,0 +shopping,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.020864671,0.058211406,0.120273738,0.204544879,0.596105306,0,0,0,0 +shopping,FALSE,20,1,0,0,0,0,0,0.001536146,0,0.001675312,0,0,0,0,0,0.047561031,0.181509603,0.767717908,0,0,0 +shopping,FALSE,20,2,0,0,0,0,0,0.00331683,0,0.004518272,0.00566615,0,0.002748233,0,0.008286949,0.051482817,0.259536082,0.664444667,0,0,0 +shopping,FALSE,20,3,0,0,0,0,0,0,0,0.011858233,0.008705041,0,0.022083602,0.018110733,0,0.035127515,0.143310213,0.760804664,0,0,0 +shopping,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.03498938,0.040641133,0.145381408,0.371268099,0.407719981,0,0,0 +shopping,FALSE,21,1,0,0,0,0,0,0,0,0.004266615,0.002430883,0,0.007940168,0.009395117,0.021163822,0.046202149,0.053837474,0.173465177,0.681298593,0,0 +shopping,FALSE,21,2,0,0,0,0,0,0,0.007985058,0.003444064,0.007416145,0,0.004827496,0.003843961,0.059108441,0.050308287,0.078478176,0.182109604,0.602478768,0,0 +shopping,FALSE,21,3,0,0,0,0,0,0,0,0,0.037797058,0.007828278,0.02376667,0.011687609,0,0.020240379,0.189418946,0.098165754,0.611095305,0,0 +shopping,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.019033172,0,0.01121107,0.036432132,0.018720166,0.031263843,0.186160383,0.697179234,0,0 +shopping,FALSE,22,1,0,0,0,0,0,0.018041153,0,0,0,0,0,0,0.009811009,0.008718506,0.044707222,0.097289219,0.453480605,0.367952287,0 +shopping,FALSE,22,2,0,0,0,0,0,0.014478651,0,0,0.00946373,0,0,0.015817118,0.022169677,0.014478651,0,0.0282764,0.258592224,0.63672355,0 +shopping,FALSE,22,3,0,0,0,0,0,0,0,0,0.017617342,0.054918813,0,0,0,0.029444584,0.095176163,0,0,0.802843098,0 +shopping,FALSE,22,4,0,0,0,0,0,0,0,0,0.020680151,0,0,0.158687133,0,0.087459292,0.073575862,0.034563581,0.293241585,0.331792395,0 +shopping,FALSE,23,1,0,0,0,0.023821741,0,0,0,0.039038004,0.026879421,0,0.010904146,0.018269598,0.019509677,0.079126477,0.035829398,0.029321261,0,0.084296742,0.633003535 +shopping,FALSE,23,2,0,0.103799266,0,0,0.011152724,0,0,0.015806724,0.046340267,0.023976697,0.037355147,0,0.054819521,0.059060036,0.061565304,0.051303212,0.00884805,0.147229688,0.378743364 +shopping,FALSE,23,3,0,0,0,0,0.155683525,0,0,0,0.034179578,0,0,0.080880151,0,0.080591686,0.03920938,0.158345959,0.053129458,0.120909369,0.277070893 +shopping,FALSE,23,4,0,0,0,0,0,0.157154735,0.078577368,0.196443419,0.047914328,0.039288684,0.12397869,0.009075333,0,0.026776309,0.014018049,0.026776309,0.008914443,0.067449234,0.2036331 +othmaint,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,5,2,0,0.040658727,0.120399874,0.213344233,0.111017831,0.079889013,0.042291218,0,0.204453217,0,0,0.104955464,0.082990423,0,0,0,0,0,0 +othmaint,TRUE,5,3,0,0,0,0,0,0,0,0.287213384,0,0,0,0,0.712786616,0,0,0,0,0,0 +othmaint,TRUE,5,4,0,0,0,0,0,0,0,0,0.124355516,0.248711031,0,0,0.105129078,0,0.521804375,0,0,0,0 +othmaint,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,6,2,0,0,0.235488214,0.357403945,0.125753019,0,0,0.078259791,0,0.046555016,0.11357777,0.042962245,0,0,0,0,0,0,0 +othmaint,TRUE,6,3,0,0,0.326226519,0,0,0,0,0.174974691,0,0.373408666,0.125390124,0,0,0,0,0,0,0,0 +othmaint,TRUE,6,4,0,0,0,0,0,0,0.051430893,0.051430893,0,0.213968684,0.153518801,0.186667766,0.102982298,0.145655522,0,0.042793737,0.051551405,0,0 +othmaint,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,7,2,0,0,0.161965305,0.560535311,0.143218808,0.033324008,0.013918476,0.026127179,0.005375436,0,0.011132734,0.01156894,0.02310162,0,0.009732183,0,0,0,0 +othmaint,TRUE,7,3,0,0,0.113525478,0.598967516,0.089069194,0.080738894,0,0.030379017,0,0,0.0168487,0.017349938,0.019216267,0.018737763,0,0,0.015167234,0,0 +othmaint,TRUE,7,4,0,0,0.067302976,0.204351658,0.170979792,0.399761316,0.008551266,0.113238461,0,0,0,0,0,0.035814532,0,0,0,0,0 +othmaint,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,8,2,0,0,0,0.275563345,0.484065773,0.083338937,0.065284531,0.034854754,0.014700638,0.02595601,0.016236011,0,0,0,0,0,0,0,0 +othmaint,TRUE,8,3,0,0,0,0.256465635,0.196396681,0.177854408,0.122055686,0.028927661,0.08283666,0.079901924,0.043539857,0.012021488,0,0,0,0,0,0,0 +othmaint,TRUE,8,4,0,0,0,0,0.028047731,0,0.350951603,0,0.149252856,0.30289175,0,0.04635913,0.122496929,0,0,0,0,0,0 +othmaint,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,9,2,0,0,0,0,0.230097736,0.368638076,0.127385774,0.016744897,0.150776775,0,0,0.007474052,0.098882689,0,0,0,0,0,0 +othmaint,TRUE,9,3,0,0,0,0,0,0.231740286,0.127213569,0.112305301,0.189734694,0.10677054,0.198766593,0.033469018,0,0,0,0,0,0,0 +othmaint,TRUE,9,4,0,0,0,0,0,0,0.34116944,0,0.583836564,0.074993995,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,2,0,0,0,0,0,0.286259076,0.537234442,0.142887206,0.033619275,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,3,0,0,0,0,0,0.164777982,0.52409087,0.14628494,0.049989666,0,0.114856542,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,2,0,0,0,0,0,0,0.473598812,0.258143996,0.104686693,0.141192999,0.022377501,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,3,0,0,0,0,0,0,0.72551892,0.190277137,0.084203943,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,4,0,0,0,0,0,0,0,0,0,0.305927706,0.347036147,0,0,0,0,0,0.347036147,0,0 +othmaint,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,12,2,0,0,0,0,0,0,0,0.545682141,0.314476787,0.053501749,0.03851823,0.047821093,0,0,0,0,0,0,0 +othmaint,TRUE,12,3,0,0,0,0,0,0,0,0.214651848,0.46388943,0.061966411,0.132775585,0.126716726,0,0,0,0,0,0,0 +othmaint,TRUE,12,4,0,0,0,0,0,0,0,0,0.127956328,0,0,0.576495171,0,0.295548501,0,0,0,0,0 +othmaint,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,2,0,0,0,0,0,0,0,0,0.323941314,0.585102169,0.090956518,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,3,0,0,0,0,0,0,0,0,0.072453359,0.780993759,0.146552882,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.222472025,0.777527975,0,0,0,0,0,0,0,0 +othmaint,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.256222437,0.654201082,0.071103851,0.01847263,0,0,0,0,0,0 +othmaint,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.11860694,0.44971127,0.431681789,0,0,0,0,0,0,0 +othmaint,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.436444767,0.563555233,0,0,0,0,0,0,0 +othmaint,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.593763081,0.406236919,0,0,0,0,0,0,0 +othmaint,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othmaint,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.854510215,0.145489785,0,0,0,0,0,0 +othmaint,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.724085091,0,0.275914909,0,0,0,0,0 +othmaint,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othmaint,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.172124075,0.213012548,0.614863377,0,0,0,0 +othmaint,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098642817,0.901357183,0,0,0,0 +othmaint,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.270651613,0.600738159,0.128610228,0,0 +othmaint,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.771681706,0,0.228318294,0 +othmaint,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,1,0.09071969,0.90928031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,1,0,0.075063017,0.924936983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,1,0,0,0.072655068,0.927344932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,1,0,0,0.013631489,0.161967148,0.824401363,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,1,0,0,0,0.037502157,0.312567208,0.649930634,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,2,0,0,0,0,0.275988767,0.724011233,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,3,0,0,0,0,0.15552038,0.84447962,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,4,0,0,0,0,0.144245586,0.855754414,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,1,0,0,0,0,0.03338987,0.26489836,0.70171177,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,2,0,0,0,0,0.010989916,0.227634382,0.761375703,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,3,0,0,0,0,0,0.026011355,0.973988645,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,4,0,0,0,0,0,0.107851024,0.892148976,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,1,0,0,0,0.010158031,0.022913155,0.102307429,0.377078058,0.487543327,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,2,0,0,0,0,0,0.108745958,0.2159873,0.675266742,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,3,0,0,0,0,0,0.06065237,0.336243242,0.603104388,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,4,0,0,0,0,0,0.013311396,0.19774252,0.788946084,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,1,0,0,0,0,0.031249299,0.047260258,0.081354892,0.353123741,0.48701181,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,2,0,0,0,0,0.036088554,0.047323035,0.099280114,0.282440914,0.534867384,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,3,0,0,0,0.022092503,0,0.023342697,0.218332277,0.130650891,0.605581632,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,4,0,0,0,0,0,0,0.007598622,0.247081366,0.745320012,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,1,0,0,0,0,0.008432907,0.019241437,0.053781383,0.07753638,0.180423206,0.660584686,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,2,0,0,0,0,0,0.014889748,0.058818026,0.03592279,0.279517106,0.610852331,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,3,0,0,0,0,0,0.025148147,0.044798265,0.019855411,0.184100242,0.726097934,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,4,0,0,0,0,0,0.025559931,0.089028487,0.037908626,0.118966776,0.72853618,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,1,0,0,0.014080554,0,0.010260757,0.018416064,0.003200712,0.030725966,0.060405447,0.322996101,0.5399144,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,2,0,0,0,0.007837984,0.007663278,0.013198261,0,0.009670767,0.043030366,0.15942745,0.759171894,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,3,0,0,0,0,0.009630972,0,0.006337143,0.101481335,0.066736017,0.096321205,0.719493328,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,4,0,0,0,0,0,0,0,0.013528329,0.062228479,0.089319428,0.834923764,0,0,0,0,0,0,0,0 +othmaint,FALSE,16,1,0,0,0.006200413,0.004986933,0,0.010337749,0.015781258,0.022349724,0.011320009,0.0610877,0.263854949,0.604081265,0,0,0,0,0,0,0 +othmaint,FALSE,16,2,0,0,0.006875165,0,0,0.004755274,0.004846065,0.041322108,0.062817829,0.084403941,0.210011072,0.584968544,0,0,0,0,0,0,0 +othmaint,FALSE,16,3,0,0,0,0,0,0.003750011,0,0.038367203,0,0.081124439,0.173167838,0.703590508,0,0,0,0,0,0,0 +othmaint,FALSE,16,4,0,0,0,0,0,0,0,0.012408147,0.035652064,0.083467534,0.198538722,0.669933533,0,0,0,0,0,0,0 +othmaint,FALSE,17,1,0,0,0,0.020552867,0,0.005813725,0.002732148,0.008782581,0.005357107,0.029100301,0.080364833,0.302512654,0.544783785,0,0,0,0,0,0 +othmaint,FALSE,17,2,0,0,0,0,0.026548466,0.003679274,0.009319631,0,0.042518808,0.029889235,0.080550404,0.277668263,0.52982592,0,0,0,0,0,0 +othmaint,FALSE,17,3,0,0,0,0,0.009271174,0,0.054663157,0,0.016257561,0.01488333,0.09396777,0.266410029,0.544546979,0,0,0,0,0,0 +othmaint,FALSE,17,4,0,0,0,0,0,0.007066116,0.007066116,0.06151997,0.066639666,0.049844639,0.033402711,0.146764167,0.627696614,0,0,0,0,0,0 +othmaint,FALSE,18,1,0,0,0.00220337,0.003892833,0.007889226,0.016688123,0.035048075,0.024546837,0,0.00815882,0.035392235,0.148091146,0.276111609,0.441977726,0,0,0,0,0 +othmaint,FALSE,18,2,0,0,0,0,0,0.065300384,0.006485915,0.052781714,0.048191377,0.040820218,0,0.162432484,0.05438396,0.569603948,0,0,0,0,0 +othmaint,FALSE,18,3,0,0,0,0,0.017320219,0.031548823,0.022330672,0.091457847,0,0.019713885,0.042008327,0.218018162,0.200579611,0.357022454,0,0,0,0,0 +othmaint,FALSE,18,4,0,0,0,0,0.016419136,0,0.00528573,0.020252478,0,0.100415264,0.03805733,0.105531305,0.176732756,0.537306,0,0,0,0,0 +othmaint,FALSE,19,1,0,0,0,0,0.010727452,0,0.008098901,0.019233131,0.013852404,0.004645853,0.013295603,0.080270768,0.078632583,0.187569198,0.583674107,0,0,0,0 +othmaint,FALSE,19,2,0,0,0,0,0.049239842,0.011428143,0,0,0.026241801,0.041108511,0.013964285,0.025063837,0,0.310631722,0.522321858,0,0,0,0 +othmaint,FALSE,19,3,0,0,0,0,0,0.086744587,0,0,0,0.016477125,0.041531547,0.015283398,0.017093713,0.105309634,0.717559996,0,0,0,0 +othmaint,FALSE,19,4,0,0,0,0,0,0.069764219,0.069764219,0,0,0.104847005,0,0.033271814,0.058783522,0.247218312,0.416350909,0,0,0,0 +othmaint,FALSE,20,1,0,0,0,0,0,0,0.01242339,0.005336417,0.044409284,0.029249865,0.011600679,0.028809843,0.016252507,0.030331787,0.287705325,0.533880904,0,0,0 +othmaint,FALSE,20,2,0,0,0,0,0,0,0,0,0.032990066,0.012593317,0,0.052304607,0.150427735,0.026510728,0.302582814,0.422590733,0,0,0 +othmaint,FALSE,20,3,0,0,0,0,0,0,0,0.023039668,0.024925805,0.022055308,0.053273572,0.028755337,0.017687898,0.157803915,0.245882825,0.426575672,0,0,0 +othmaint,FALSE,20,4,0,0,0,0,0,0,0,0.009174883,0.009174883,0.039703931,0.032564469,0.051766512,0.025425007,0.0614869,0.641240832,0.129462584,0,0,0 +othmaint,FALSE,21,1,0,0.025380051,0.006505038,0,0,0,0,0,0,0.034497668,0.005372141,0.00750697,0.322054018,0.02041747,0.056367039,0.277982219,0.243917386,0,0 +othmaint,FALSE,21,2,0,0,0,0,0.006399766,0.007749372,0,0,0,0.006917002,0,0.046305978,0.04149865,0,0.351103334,0.214319682,0.325706214,0,0 +othmaint,FALSE,21,3,0,0,0,0,0,0,0.011775898,0.022192712,0.017562682,0,0,0.024503537,0,0.080192747,0.349550204,0.39894732,0.095274901,0,0 +othmaint,FALSE,21,4,0,0,0,0,0,0,0.012259416,0,0.035363359,0.018283805,0.073556494,0.018283805,0.057647363,0.014844726,0.042237266,0.375692888,0.351830879,0,0 +othmaint,FALSE,22,1,0,0,0,0,0,0,0,0.056847728,0,0.047979687,0,0,0.057283827,0,0.024129278,0.031974532,0.16735598,0.614428968,0 +othmaint,FALSE,22,2,0,0,0,0,0,0,0,0,0.161289071,0.04650851,0,0,0.16212443,0.112102538,0,0,0.142577705,0.375397745,0 +othmaint,FALSE,22,3,0,0,0,0,0,0,0,0.110415007,0.068559987,0.152422919,0,0.063721526,0.10278041,0,0,0.094851272,0.058740936,0.348507943,0 +othmaint,FALSE,22,4,0,0,0,0,0,0,0,0.050912705,0.082525929,0,0.031613224,0.050912705,0.094839672,0.029382195,0.129047073,0.050912705,0.220800245,0.259053549,0 +othmaint,FALSE,23,1,0,0,0,0,0,0.010515377,0.025008268,0.032644118,0,0.085888154,0.049317135,0.011196407,0.007715287,0.054305418,0,0.074906459,0.182663286,0.082719875,0.383120217 +othmaint,FALSE,23,2,0,0,0,0,0,0,0,0.045673386,0.020160892,0.021413699,0,0.082142047,0.014090672,0.018059971,0,0.045974294,0.048093764,0.355409136,0.348982138 +othmaint,FALSE,23,3,0,0,0,0,0,0,0,0.080258013,0,0.073055546,0,0.075004948,0.081094174,0.069336389,0,0,0,0.041154495,0.580096435 +othmaint,FALSE,23,4,0,0,0,0,0,0,0,0.037448064,0,0.04959035,0.016530117,0.025234243,0.062464477,0.114901182,0,0.107371648,0.062464477,0.148912902,0.37508254 +eatout,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,5,2,0.032538851,0.221324643,0,0.037815017,0,0,0,0.272525282,0,0,0.037088163,0.337745523,0.034547537,0,0.026414986,0,0,0,0 +eatout,TRUE,5,3,0,0,0,0.091639733,0,0,0,0,0,0,0,0.089878297,0,0.81848197,0,0,0,0,0 +eatout,TRUE,5,4,0,0,0,0,0,0,0,0,0.091478599,0,0,0,0,0.817042802,0.091478599,0,0,0,0 +eatout,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,6,2,0,0.10870266,0.506895447,0.175689689,0,0.026096466,0.034864499,0.082091899,0,0,0,0.025468279,0.040191062,0,0,0,0,0,0 +eatout,TRUE,6,3,0,0.035560115,0.306736608,0.286592598,0.030199993,0.042569681,0.056872474,0,0.028493363,0,0,0.212975168,0,0,0,0,0,0,0 +eatout,TRUE,6,4,0,0,0.211737696,0.322316501,0,0,0.220793367,0,0.051433567,0.096859434,0,0,0,0.096859434,0,0,0,0,0 +eatout,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,7,2,0,0,0.144455214,0.345929433,0,0,0.086477099,0.023160754,0,0.016780688,0,0.202260676,0.052439775,0.128496361,0,0,0,0,0 +eatout,TRUE,7,3,0,0,0.090126203,0.306912678,0,0.037918354,0.033462594,0.029845783,0,0,0,0,0.104315493,0,0,0.397418896,0,0,0 +eatout,TRUE,7,4,0,0,0,0.502373694,0,0,0,0.134316948,0,0,0.070995242,0,0.070995242,0,0.221318875,0,0,0,0 +eatout,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,8,2,0,0,0,0.287649201,0.258570068,0.118932282,0.154019597,0.040748722,0.016734567,0.048015509,0.013439765,0.016546263,0.014029864,0.031314162,0,0,0,0,0 +eatout,TRUE,8,3,0,0,0,0,0.251109552,0,0.113694476,0.124444727,0,0,0.229845517,0.061431783,0.219473946,0,0,0,0,0,0 +eatout,TRUE,8,4,0,0,0,0,0.493293189,0,0,0,0,0,0.506706811,0,0,0,0,0,0,0,0 +eatout,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,9,2,0,0,0,0,0.366854738,0.25501335,0.107900842,0.2287524,0,0,0,0,0,0.041478671,0,0,0,0,0 +eatout,TRUE,9,3,0,0,0,0,0.468297002,0.238514298,0.2931887,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,9,4,0,0,0,0,0.109486993,0.574078888,0.280149843,0,0.036284276,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,10,2,0,0,0,0,0,0.254832017,0.469238325,0.127193733,0.065540094,0.051245746,0,0,0,0,0.031950083,0,0,0,0 +eatout,TRUE,10,3,0,0,0,0,0,0.064871933,0.163184264,0.345964678,0.111369168,0.141300007,0,0.17330995,0,0,0,0,0,0,0 +eatout,TRUE,10,4,0,0,0,0,0,0,0.150728895,0,0.209592187,0.423337891,0,0,0,0.216341028,0,0,0,0,0 +eatout,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,11,2,0,0,0,0,0,0,0.370585753,0.485622052,0.060239142,0.042221954,0,0,0,0.020865964,0.020465134,0,0,0,0 +eatout,TRUE,11,3,0,0,0,0,0,0,0.269205736,0.405557054,0.185720764,0,0.076480268,0,0.063036179,0,0,0,0,0,0 +eatout,TRUE,11,4,0,0,0,0,0,0,0,0.351458157,0.487871427,0,0,0,0,0.160670416,0,0,0,0,0 +eatout,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,12,2,0,0,0,0,0,0,0,0.437792419,0.301451181,0.150311105,0.034236693,0.076208603,0,0,0,0,0,0,0 +eatout,TRUE,12,3,0,0,0,0,0,0,0,0.225370702,0.381329664,0.174766696,0,0,0,0.218532938,0,0,0,0,0 +eatout,TRUE,12,4,0,0,0,0,0,0,0,0,0.221247262,0.778752738,0,0,0,0,0,0,0,0,0 +eatout,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,13,2,0,0,0,0,0,0,0,0,0.139433765,0.241394197,0.366145988,0,0,0.25302605,0,0,0,0,0 +eatout,TRUE,13,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +eatout,TRUE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +eatout,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.141560108,0.455484612,0.063533559,0.080474833,0.258946888,0,0,0,0,0 +eatout,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +eatout,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +eatout,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +eatout,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.175719201,0.491767111,0.304614961,0.027898728,0,0,0,0,0 +eatout,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.115184007,0.113089502,0.771726491,0,0,0,0,0,0 +eatout,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +eatout,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +eatout,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.081443842,0.569785792,0.258691473,0.048438646,0,0.041640248,0,0 +eatout,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.14088832,0.169273542,0.138693404,0.551144734,0,0,0,0 +eatout,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.522722044,0,0,0.477277956,0,0,0 +eatout,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +eatout,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.360098415,0.452873013,0.139516873,0.047511698,0,0,0 +eatout,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.107576639,0.186526017,0.560987927,0.144909417,0,0,0 +eatout,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +eatout,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27451797,0.572984268,0.072163445,0,0.080334317,0 +eatout,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.497007208,0.502992792,0,0,0,0 +eatout,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537636417,0.462363583,0,0,0 +eatout,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.328311347,0.671688653,0,0,0 +eatout,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +eatout,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.916716515,0.083283485,0,0 +eatout,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.726342035,0.273657965,0,0 +eatout,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +eatout,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,1,0.034815481,0.965184519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,1,0,0.199908855,0.800091145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,2,0,0.833877769,0.166122231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,1,0,0,0.215838535,0.784161465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,1,0,0,0,0.157266378,0.842733622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,2,0,0,0,0.335277961,0.664722039,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,1,0,0,0.033536748,0.02770012,0.155369348,0.783393784,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,2,0,0,0,0,0.173469452,0.826530548,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,1,0,0,0,0,0.091878183,0.12493006,0.783191757,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,2,0,0,0,0,0,0.096132235,0.903867765,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,1,0,0,0,0.037969228,0,0.031107149,0.035414324,0.895509299,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,2,0,0,0,0,0.02753672,0,0.149847323,0.822615958,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,3,0,0,0,0,0,0,0.258442104,0.741557896,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,4,0,0,0,0,0,0,0.333333333,0.666666667,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,1,0,0.01200688,0,0,0,0.039950927,0.008513584,0.137590949,0.80193766,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,2,0,0,0,0,0,0,0,0.394497458,0.605502542,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,4,0,0,0,0,0,0,0,0.367803297,0.632196703,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,1,0,0,0,0,0,0.006675471,0,0.049503213,0.303745574,0.640075741,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,2,0,0,0,0,0,0,0,0,0.279565462,0.720434538,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,3,0,0,0,0,0,0,0,0,0.289280673,0.710719327,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,4,0,0,0,0,0,0,0,0,0.17018646,0.82981354,0,0,0,0,0,0,0,0,0 +eatout,FALSE,15,1,0,0,0.012317448,0.011793684,0,0.032471192,0.017402541,0.031610182,0.061546974,0.401654713,0.431203266,0,0,0,0,0,0,0,0 +eatout,FALSE,15,2,0,0,0,0.020848495,0,0,0.031697312,0.022993537,0.09062564,0.216001966,0.617833051,0,0,0,0,0,0,0,0 +eatout,FALSE,15,3,0,0,0,0,0,0,0,0.046096862,0.044136725,0.455929483,0.45383693,0,0,0,0,0,0,0,0 +eatout,FALSE,15,4,0,0,0,0,0,0,0,0.053925006,0,0.080548958,0.865526035,0,0,0,0,0,0,0,0 +eatout,FALSE,16,1,0,0.029358275,0.006634587,0,0.008384768,0,0.022595474,0.011554952,0,0.018323185,0.344468391,0.558680369,0,0,0,0,0,0,0 +eatout,FALSE,16,2,0,0,0,0,0,0,0.023120402,0.115646001,0.052131074,0.053950104,0.19213634,0.563016078,0,0,0,0,0,0,0 +eatout,FALSE,16,3,0,0,0,0,0,0,0,0.058624219,0.059135643,0.033481644,0.029621972,0.819136522,0,0,0,0,0,0,0 +eatout,FALSE,16,4,0,0,0,0,0,0,0,0,0.079941236,0.063875591,0.228664833,0.62751834,0,0,0,0,0,0,0 +eatout,FALSE,17,1,0.008270503,0,0.011204931,0,0.012161696,0.009083295,0,0,0.008915709,0.010949503,0.019220416,0.424059428,0.496134519,0,0,0,0,0,0 +eatout,FALSE,17,2,0,0,0,0,0.009447942,0,0.059827266,0.109282601,0.010850987,0.012969818,0.170046907,0.153233152,0.474341327,0,0,0,0,0,0 +eatout,FALSE,17,3,0,0,0,0,0,0,0.020113077,0.088749328,0.011185398,0,0.071370427,0.323187311,0.485394459,0,0,0,0,0,0 +eatout,FALSE,17,4,0,0,0.038633648,0,0,0,0,0.019522201,0.039044403,0.062661272,0.092635226,0.060867571,0.68663568,0,0,0,0,0,0 +eatout,FALSE,18,1,0,0.00402747,0,0.002699769,0,0,0.003458022,0.004776748,0,0,0.007128847,0.022821634,0.560262038,0.394825471,0,0,0,0,0 +eatout,FALSE,18,2,0,0,0,0,0,0,0.025269691,0.053659728,0.018624541,0,0.015410135,0.096858434,0.303814033,0.486363437,0,0,0,0,0 +eatout,FALSE,18,3,0,0,0,0.027139705,0,0,0,0,0.025309856,0,0.041317372,0,0.193332635,0.712900432,0,0,0,0,0 +eatout,FALSE,18,4,0,0,0,0.062266496,0,0,0,0.124532992,0,0,0,0.02844882,0.160985,0.623766691,0,0,0,0,0 +eatout,FALSE,19,1,0,0,0,0.035093846,0,0,0,0.002763787,0,0,0.007972126,0,0.006835141,0.182451712,0.76488339,0,0,0,0 +eatout,FALSE,19,2,0,0,0,0,0,0,0,0.009338966,0.0084296,0.012320862,0,0.007858119,0.07102686,0.181093919,0.709931674,0,0,0,0 +eatout,FALSE,19,3,0,0,0.034695617,0,0,0,0,0,0,0,0,0,0,0.325056792,0.640247591,0,0,0,0 +eatout,FALSE,19,4,0,0,0,0.101411526,0,0,0,0,0,0,0,0,0,0.101411526,0.797176947,0,0,0,0 +eatout,FALSE,20,1,0,0,0,0,0.006246293,0,0,0.011507943,0,0,0.013654973,0,0.007223887,0.028421478,0.204476714,0.728468712,0,0,0 +eatout,FALSE,20,2,0,0,0,0,0,0,0,0.029002329,0.008684063,0.040035705,0,0,0.033841105,0.026844626,0.219230553,0.64236162,0,0,0 +eatout,FALSE,20,3,0,0,0,0,0.017457545,0,0,0,0,0,0,0.022170954,0.111461135,0.026492142,0.144444394,0.677973828,0,0,0 +eatout,FALSE,20,4,0,0,0,0,0,0,0,0,0.027884869,0,0,0.019560862,0.053861802,0.185282652,0.14594305,0.567466765,0,0,0 +eatout,FALSE,21,1,0,0,0,0,0,0,0.001992088,0,0,0,0,0,0.004171801,0.008609329,0.045440515,0.297500935,0.642285332,0,0 +eatout,FALSE,21,2,0,0,0,0,0,0,0,0.008825951,0,0,0,0,0,0,0.022560857,0.064662954,0.903950239,0,0 +eatout,FALSE,21,3,0,0,0,0,0,0,0,0,0.01925505,0,0,0,0,0,0.141712181,0.063571817,0.775460952,0,0 +eatout,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.059643388,0.029821694,0.029821694,0.054589294,0.218357176,0,0.338629065,0.269137688,0,0 +eatout,FALSE,22,1,0,0.003832232,0.014433483,0.029367654,0,0,0,0,0,0,0,0,0,0.037886729,0.013545706,0.01688148,0.286440472,0.597612243,0 +eatout,FALSE,22,2,0,0,0,0.058773031,0.007875566,0,0.038790615,0,0,0,0,0,0,0.124436861,0.030453108,0.011388959,0.304645476,0.423636384,0 +eatout,FALSE,22,3,0,0.023843907,0,0,0.012800003,0,0,0,0.063045627,0,0,0,0,0.016739233,0.04949484,0.078783423,0.338585891,0.416707076,0 +eatout,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0.012407461,0.122224371,0.035520139,0.109039785,0,0.076367345,0.347441239,0.296999659,0 +eatout,FALSE,23,1,0,0,0,0,0,0,0,0.012371175,0,0.025704524,0,0.023327151,0,0.007669333,0.042011178,0.019479582,0.006261906,0.163786764,0.699388388 +eatout,FALSE,23,2,0,0,0,0,0,0,0,0,0.033721119,0.101287181,0,0.014308982,0,0,0.023495989,0.043546799,0.169610935,0.119773048,0.494255948 +eatout,FALSE,23,3,0,0,0,0,0,0,0,0,0,0.098543037,0,0,0,0,0,0.027420729,0.019663025,0.062014245,0.792358964 +eatout,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.015339182,0.166441975,0.108428683,0.70979016 +social,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163488477,0.72896704,0.107544483,0,0,0 +social,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,2,0,0.429301212,0.220838883,0,0,0.349859905,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,7,2,0,0,0.238446471,0.18847097,0.451233232,0.061171813,0,0,0,0,0,0.060677514,0,0,0,0,0,0,0 +social,TRUE,7,3,0,0,0.263472951,0,0.345559204,0.045763272,0.194319778,0,0,0,0.076482272,0.074402522,0,0,0,0,0,0,0 +social,TRUE,7,4,0,0,0,0,0.720034483,0,0,0,0,0,0,0,0,0.279965517,0,0,0,0,0 +social,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,8,2,0,0,0,0.254275275,0.460062202,0.285662524,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,8,3,0,0,0,0,0.319310909,0,0.196475338,0,0.334528108,0,0,0.149685645,0,0,0,0,0,0,0 +social,TRUE,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0.654606666,0.345393334,0,0,0,0,0 +social,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,2,0,0,0,0,0.545721423,0.112625256,0.326444169,0.015209152,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,3,0,0,0,0,0.023262324,0.080080665,0.730468634,0.143870653,0.022317724,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,4,0,0,0,0,0,0.026826474,0.852263327,0,0,0,0,0.014490394,0,0,0.053209903,0.053209903,0,0,0 +social,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,10,2,0,0,0,0,0,0.151977255,0.519637411,0.191906468,0.085778382,0.050700484,0,0,0,0,0,0,0,0,0 +social,TRUE,10,3,0,0,0,0,0,0.046500192,0.658940192,0.178956942,0,0.115602674,0,0,0,0,0,0,0,0,0 +social,TRUE,10,4,0,0,0,0,0,0,0.204837475,0.204837475,0.204837475,0,0,0.128495859,0.256991717,0,0,0,0,0,0 +social,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,11,2,0,0,0,0,0,0,0.252313913,0.608752771,0.060673874,0.078259442,0,0,0,0,0,0,0,0,0 +social,TRUE,11,3,0,0,0,0,0,0,0,0.893087119,0,0,0.106912881,0,0,0,0,0,0,0,0 +social,TRUE,11,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,12,2,0,0,0,0,0,0,0,0.01555306,0.804005354,0.113032269,0.042952725,0.024456591,0,0,0,0,0,0,0 +social,TRUE,12,3,0,0,0,0,0,0,0,0,0.762673603,0.196684366,0,0.040642031,0,0,0,0,0,0,0 +social,TRUE,12,4,0,0,0,0,0,0,0,0,0.974582243,0.025417757,0,0,0,0,0,0,0,0,0 +social,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,TRUE,13,2,0,0,0,0,0,0,0,0,0.666277769,0.215739994,0.117982237,0,0,0,0,0,0,0,0 +social,TRUE,13,3,0,0,0,0,0,0,0,0,0.20985109,0.290892068,0,0.499256842,0,0,0,0,0,0,0 +social,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.27976381,0.48015746,0,0.24007873,0,0,0,0,0 +social,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +social,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.474250224,0.479544424,0.046205352,0,0,0,0,0,0,0 +social,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.415915716,0.304081655,0.122383721,0.157618908,0,0,0,0,0 +social,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.149219919,0.262392987,0.163198885,0.364386422,0.060801787,0,0,0,0 +social,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.382256993,0.20034388,0.20034388,0.217055247,0,0,0 +social,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.084972892,0.631896416,0.184989951,0.098140741,0,0,0,0 +social,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.566972184,0,0.433027816,0,0,0 +social,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +social,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.153985008,0.442019825,0.287546211,0.116448956,0,0,0 +social,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805041829,0.194958171,0,0,0,0 +social,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.386035694,0.613964306,0,0,0,0 +social,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +social,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415464544,0.466670617,0.11786484,0,0,0 +social,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480898747,0.519101253,0,0,0 +social,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492816592,0.382668005,0.124515403,0,0 +social,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.296845882,0.703154118,0,0 +social,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.180542587,0.819457413,0,0 +social,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186441429,0.813558571 +social,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,1,0,0.175358533,0.824641467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,1,0,0,0.02236387,0.97763613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,1,0,0,0,0.461831955,0.538168045,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,1,0,0,0,0,0.168748059,0.831251941,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,2,0,0,0,0,0.100405941,0.899594059,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,1,0,0,0,0,0.02167612,0.606898663,0.371425217,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,2,0,0,0,0.025894331,0,0.076173851,0.897931818,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,3,0,0,0,0,0,0.0362574,0.9637426,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,4,0,0,0,0,0,0.666666667,0.333333333,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,1,0,0,0,0,0,0.040943046,0.339881423,0.619175531,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,2,0,0,0,0,0,0.055306785,0,0.944693215,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,3,0,0,0,0,0,0,0.113705951,0.886294049,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,4,0,0,0,0,0,0,0.020620903,0.979379097,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,1,0,0.110729344,0,0,0,0,0.028982164,0.160850288,0.699438204,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,2,0,0,0,0,0,0,0,0.434109617,0.565890383,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,FALSE,14,1,0,0,0,0,0,0,0.012646359,0.049957288,0.064957981,0.872438372,0,0,0,0,0,0,0,0,0 +social,FALSE,14,2,0,0,0,0,0,0,0,0.092000521,0.207125543,0.700873936,0,0,0,0,0,0,0,0,0 +social,FALSE,14,3,0,0,0,0,0,0,0,0,0.123105709,0.876894291,0,0,0,0,0,0,0,0,0 +social,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +social,FALSE,15,1,0,0,0,0,0,0,0,0.025915129,0.021414108,0.301296274,0.651374488,0,0,0,0,0,0,0,0 +social,FALSE,15,2,0,0,0,0,0,0,0,0.038851326,0.060308128,0.040085863,0.860754683,0,0,0,0,0,0,0,0 +social,FALSE,15,3,0,0,0,0,0,0,0,0,0,0.337125075,0.662874925,0,0,0,0,0,0,0,0 +social,FALSE,15,4,0,0,0,0,0,0,0,0,0,0.240804556,0.759195444,0,0,0,0,0,0,0,0 +social,FALSE,16,1,0,0,0,0,0,0,0.010850109,0.028630302,0.034941364,0.027356994,0.399487153,0.498734077,0,0,0,0,0,0,0 +social,FALSE,16,2,0,0,0,0,0,0,0,0.085290601,0.096379465,0.140055991,0.14515731,0.533116633,0,0,0,0,0,0,0 +social,FALSE,16,3,0,0,0,0,0,0,0,0.039789367,0,0,0.207791274,0.752419359,0,0,0,0,0,0,0 +social,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.444162303,0.555837697,0,0,0,0,0,0,0 +social,FALSE,17,1,0,0,0,0,0,0.004235542,0.004235542,0.010773772,0.036037056,0.011244257,0.008654904,0.185030812,0.739788115,0,0,0,0,0,0 +social,FALSE,17,2,0,0,0,0,0,0,0.011747117,0.030318289,0,0.026130418,0.124118238,0.265470463,0.542215475,0,0,0,0,0,0 +social,FALSE,17,3,0,0,0,0,0,0,0,0.035991711,0.05581904,0,0.118744644,0.174641807,0.614802798,0,0,0,0,0,0 +social,FALSE,17,4,0,0,0,0,0,0,0,0,0,0.133377911,0.156860689,0.067276975,0.642484425,0,0,0,0,0,0 +social,FALSE,18,1,0,0,0,0,0,0,0,0,0.021116578,0,0.023935246,0.014708731,0.292437045,0.6478024,0,0,0,0,0 +social,FALSE,18,2,0,0,0,0,0,0,0,0,0.050647706,0.018469336,0.057408229,0.034520986,0.245483705,0.593470039,0,0,0,0,0 +social,FALSE,18,3,0,0,0,0,0,0,0,0,0.215338024,0,0,0.143481023,0.32589869,0.315282263,0,0,0,0,0 +social,FALSE,18,4,0,0,0,0,0,0,0.012374723,0.012374723,0.037124169,0,0.012374723,0.11617789,0.120134128,0.689439644,0,0,0,0,0 +social,FALSE,19,1,0,0,0,0,0,0,0.007898288,0,0,0,0,0,0.121563834,0.284121966,0.586415912,0,0,0,0 +social,FALSE,19,2,0,0,0,0,0,0,0.039741889,0,0,0,0.02465859,0.116870248,0.036063489,0.320456158,0.462209626,0,0,0,0 +social,FALSE,19,3,0,0,0,0,0,0,0,0.054643855,0,0,0,0.060605496,0.025192236,0.702933269,0.156625145,0,0,0,0 +social,FALSE,19,4,0,0,0,0,0,0,0,0,0.175116816,0,0.022349377,0.130418062,0.054376362,0.036216461,0.581522921,0,0,0,0 +social,FALSE,20,1,0,0,0,0,0,0,0,0.006741002,0,0,0.01216091,0,0,0,0.185101107,0.795996982,0,0,0 +social,FALSE,20,2,0,0,0,0,0,0,0,0,0,0.04641167,0,0.083727631,0.098296373,0,0.202274397,0.569289928,0,0,0 +social,FALSE,20,3,0,0,0,0,0,0,0,0,0,0.139066538,0,0,0,0.294532307,0.250878966,0.315522189,0,0,0 +social,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.139014445,0,0,0.258582347,0.602403208,0,0,0 +social,FALSE,21,1,0,0,0,0,0,0,0,0.006536044,0,0,0.004122227,0,0.009592478,0,0.025254876,0.168812361,0.785682015,0,0 +social,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0.009947847,0,0,0.015489709,0.091770901,0.882791543,0,0 +social,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0.035778147,0,0,0.059543199,0.096410036,0.808268618,0,0 +social,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.039227837,0,0,0,0.272007988,0.688764175,0,0 +social,FALSE,22,1,0,0,0,0,0,0,0.008693912,0,0,0.023590293,0,0,0.014992001,0.012884951,0.01979978,0.017778233,0.266462768,0.635798061,0 +social,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.054229245,0.01998552,0,0,0.183589112,0.020695417,0.01231348,0.164392793,0.544794434,0 +social,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0.03472135,0,0,0.015619534,0,0.035954672,0.531548096,0.382156347,0 +social,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0.05888279,0.05888279,0,0.176648369,0.09089481,0.189410385,0.425280856,0 +social,FALSE,23,1,0,0,0,0,0,0,0,0.028390618,0,0,0.004916978,0,0,0,0.014598183,0.07621256,0.027119644,0.125695917,0.7230661 +social,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0.01089797,0,0,0.031808043,0,0.091217964,0.172140515,0.693935509 +social,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052410677,0.231068411,0.716520911 +social,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061760943,0.229019025,0.709220031 +othdiscr,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,5,2,0.261967145,0.409228643,0,0,0,0,0.034160738,0.0288967,0,0.105662564,0,0.028934007,0.099906136,0.031244066,0,0,0,0,0 +othdiscr,TRUE,5,3,0.05651263,0.078010805,0,0,0,0,0,0,0,0,0.105067549,0.353285463,0.190245768,0,0.216877785,0,0,0,0 +othdiscr,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,6,2,0,0.098860067,0.663141032,0.044723228,0.012153718,0.015393409,0,0.016907036,0,0.010826104,0.098262057,0.016422181,0.023311168,0,0,0,0,0,0 +othdiscr,TRUE,6,3,0,0.024215249,0.736578596,0.018671746,0.050466724,0,0.046817344,0.010678175,0.023238019,0,0.032556217,0,0.035620327,0.021157602,0,0,0,0,0 +othdiscr,TRUE,6,4,0,0,0.081847071,0,0.338763551,0,0.240085302,0,0.114633558,0,0.146128192,0,0,0.078542326,0,0,0,0,0 +othdiscr,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,7,2,0,0,0.352097404,0.309242997,0.08178386,0.093069138,0.009864271,0.017742267,0,0.050016669,0.019229555,0.024087308,0.042866531,0,0,0,0,0,0 +othdiscr,TRUE,7,3,0,0,0.212218699,0.104250306,0.22359596,0.028585094,0,0.022759931,0.040936909,0.272511733,0,0,0,0.095141367,0,0,0,0,0 +othdiscr,TRUE,7,4,0,0,0,0.429994902,0.250073782,0.067515708,0.179786534,0,0,0,0,0,0,0,0.072629074,0,0,0,0 +othdiscr,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,8,2,0,0,0,0.27373664,0.651618467,0.038952541,0.006393093,0,0,0.010887769,0.010198326,0,0.008213164,0,0,0,0,0,0 +othdiscr,TRUE,8,3,0,0,0,0.256077087,0.567372083,0.111208754,0.044947659,0,0,0,0,0.020394418,0,0,0,0,0,0,0 +othdiscr,TRUE,8,4,0,0,0,0,0.419368759,0.043993527,0.123598787,0,0,0,0,0.092242747,0.32079618,0,0,0,0,0,0 +othdiscr,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,9,2,0,0,0,0,0.325654332,0.331629325,0.251597773,0.036069214,0,0,0.007507425,0,0.005333887,0,0.042208044,0,0,0,0 +othdiscr,TRUE,9,3,0,0,0,0,0.296114826,0.283133229,0.171133878,0.024057098,0.039684124,0,0.104372804,0,0,0,0.081504041,0,0,0,0 +othdiscr,TRUE,9,4,0,0,0,0,0,0.026872303,0.087815216,0.185433391,0.459158688,0.037962963,0.202757439,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,2,0,0,0,0,0,0.284975884,0.535943751,0.094599159,0.060212546,0,0,0,0.014932613,0,0.009336047,0,0,0,0 +othdiscr,TRUE,10,3,0,0,0,0,0,0.03549155,0.582807345,0.127174633,0.224739775,0,0,0,0,0.029786697,0,0,0,0,0 +othdiscr,TRUE,10,4,0,0,0,0,0,0,0.354929378,0.145446894,0.499623728,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,11,2,0,0,0,0,0,0,0.373878462,0.422332476,0.042754045,0.138634672,0.012364309,0.010036036,0,0,0,0,0,0,0 +othdiscr,TRUE,11,3,0,0,0,0,0,0,0.120480473,0.332302699,0.091421072,0.287256805,0.161854878,0.006684074,0,0,0,0,0,0,0 +othdiscr,TRUE,11,4,0,0,0,0,0,0,0.227930951,0,0.335102136,0.044198628,0.207476437,0,0.185291847,0,0,0,0,0,0 +othdiscr,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,12,2,0,0,0,0,0,0,0,0.383615621,0.305559088,0.131113594,0.103542737,0.07616896,0,0,0,0,0,0,0 +othdiscr,TRUE,12,3,0,0,0,0,0,0,0,0.128632011,0.247877929,0.37071038,0.084899625,0.167880054,0,0,0,0,0,0,0 +othdiscr,TRUE,12,4,0,0,0,0,0,0,0,0,0.205547015,0.162425226,0.239993719,0,0.392034039,0,0,0,0,0,0 +othdiscr,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,13,2,0,0,0,0,0,0,0,0,0.353861476,0.371100297,0.168208236,0.052680009,0.054149982,0,0,0,0,0,0 +othdiscr,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.679754381,0.320245619,0,0,0,0,0,0,0,0 +othdiscr,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.043643993,0.545880167,0.094829055,0.241931264,0,0.073715521,0,0,0,0 +othdiscr,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.288892103,0.603164379,0.048532082,0.059411436,0,0,0,0,0,0 +othdiscr,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.021579093,0.46445134,0.316987948,0.142583522,0.054398096,0,0,0,0,0 +othdiscr,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.09464155,0.567572891,0.33778556,0,0,0,0,0,0,0 +othdiscr,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.373801479,0.542977323,0.070343764,0.01078053,0.002096902,0,0,0,0 +othdiscr,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.122689199,0.717331575,0.030530698,0.123760049,0.005688479,0,0,0,0 +othdiscr,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.635796163,0,0,0.364203837,0,0,0,0 +othdiscr,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.712603233,0.193798154,0.048982419,0.039696774,0.00491942,0,0,0 +othdiscr,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.841745433,0.101833145,0.027409468,0,0.029011955,0,0,0 +othdiscr,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.17218743,0.195323109,0.429118156,0,0.203371304,0,0 +othdiscr,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.185120326,0.587302234,0.220258146,0,0.007319293,0,0 +othdiscr,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.183125342,0.285960671,0.48842584,0.013192652,0.029295494,0,0 +othdiscr,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102125632,0.746583804,0.151290564,0,0,0 +othdiscr,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542729526,0.35986304,0.097407435,0,0,0 +othdiscr,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480620595,0.242765324,0.062025461,0.187335855,0.027252764,0 +othdiscr,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098853758,0.563447888,0.242412271,0,0.095286083,0 +othdiscr,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.341735737,0.560576797,0.050581281,0.047106185,0 +othdiscr,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213928771,0.439416592,0,0.346654637,0 +othdiscr,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849356959,0.101132981,0.025617338,0.023892721 +othdiscr,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 \ No newline at end of file diff --git a/activitysim/examples/placeholder_psrc/configs/workplace_location.csv b/activitysim/examples/placeholder_psrc/configs/workplace_location.csv new file mode 100755 index 0000000000..3ac8b59e96 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/workplace_location.csv @@ -0,0 +1,14 @@ +Label,Description,Expression,coefficient +local_dist,,_DIST@skims['DIST'],1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up +util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high +util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 +util_no_attractions,No attractions,@df['size_term']==0,-999 +util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1 \ No newline at end of file diff --git a/activitysim/examples/placeholder_psrc/configs/workplace_location.yaml b/activitysim/examples/placeholder_psrc/configs/workplace_location.yaml new file mode 100755 index 0000000000..71c1b74d5f --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/workplace_location.yaml @@ -0,0 +1,73 @@ +SAMPLE_SIZE: 30 + +SIMULATE_CHOOSER_COLUMNS: + - income_segment + - home_zone_id + +SAMPLE_SPEC: workplace_location_sample.csv +SPEC: workplace_location.csv +COEFFICIENTS: workplace_location_coeffs.csv + +LOGSUM_SETTINGS: tour_mode_choice.yaml +LOGSUM_PREPROCESSOR: nontour_preprocessor +LOGSUM_TOUR_PURPOSE: work + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 17 +OUT_PERIOD: 8 + +DEST_CHOICE_COLUMN_NAME: workplace_zone_id +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table +DEST_CHOICE_LOGSUM_COLUMN_NAME: workplace_location_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: workplace_location_sample + + +annotate_persons: + SPEC: annotate_persons_workplace + DF: persons + TABLES: + - land_use + +annotate_households: + SPEC: annotate_households_workplace + DF: households + TABLES: + - persons + +# - shadow pricing + + +# income_segment is in households, but we want to count persons +CHOOSER_TABLE_NAME: persons_merged + +# size_terms model_selector +MODEL_SELECTOR: workplace + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: income_segment + +# boolean column to filter choosers (True means keep) +CHOOSER_FILTER_COLUMN_NAME: is_worker + +# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this +# FIXME - these are not needed for this model and should be re/factored out +SEGMENT_IDS: + work_low: 1 + work_med: 2 + work_high: 3 + work_veryhigh: 4 + +CONSTANTS: + WORK_HIGH_SEGMENT_ID: 3 + + +# model adds these tables (informational - not added if commented out) +SHADOW_PRICE_TABLE: workplace_shadow_prices +MODELED_SIZE_TABLE: workplace_modeled_size + +# not loaded if commented out +SAVED_SHADOW_PRICE_TABLE_NAME: workplace_shadow_prices.csv diff --git a/activitysim/examples/example_mtc/configs/workplace_location_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/workplace_location_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/workplace_location_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/workplace_location_coeffs.csv diff --git a/activitysim/examples/example_mtc/configs/workplace_location_sample.csv b/activitysim/examples/placeholder_psrc/configs/workplace_location_sample.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/workplace_location_sample.csv rename to activitysim/examples/placeholder_psrc/configs/workplace_location_sample.csv diff --git a/activitysim/examples/placeholder_psrc/configs/write_trip_matrices.yaml b/activitysim/examples/placeholder_psrc/configs/write_trip_matrices.yaml new file mode 100755 index 0000000000..56828439ef --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/write_trip_matrices.yaml @@ -0,0 +1,274 @@ +# read trips table post preprocessor and run expressions to code +# additional data fields, with one data fields for each matrix specified below + +preprocessor: + SPEC: write_trip_matrices_annotate_trips_preprocessor + DF: trips + TABLES: + - tours + +# divide trip counts by household expansion factor +HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in + +# save preprocessed trips table to pipeline if desired +SAVE_TRIPS_TABLE: False + +MATRICES: + - file_name: trips_ea.omx + tables: + - name: DRIVEALONEFREE_EA + data_field: DRIVEALONEFREE_EA + - name: DRIVEALONEPAY_EA + data_field: DRIVEALONEPAY_EA + - name: SHARED2FREE_EA + data_field: SHARED2FREE_EA + - name: SHARED2PAY_EA + data_field: SHARED2PAY_EA + - name: SHARED3FREE_EA + data_field: SHARED3FREE_EA + - name: SHARED3PAY_EA + data_field: SHARED3PAY_EA + - name: WALK_EA + data_field: WALK_EA + - name: BIKE_EA + data_field: BIKE_EA + - name: WALK_LOC_WALK_EA + data_field: WALK_LOC_WALK_EA + - name: WALK_LRF_WALK_EA + data_field: WALK_LRF_WALK_EA + - name: WALK_EXP_WALK_EA + data_field: WALK_EXP_WALK_EA + - name: WALK_HVY_WALK_EA + data_field: WALK_HVY_WALK_EA + - name: WALK_COM_WALK_EA + data_field: WALK_COM_WALK_EA + - name: DRIVE_LOC_WALK_EA + data_field: DRIVE_LOC_WALK_EA + - name: DRIVE_LRF_WALK_EA + data_field: DRIVE_LRF_WALK_EA + - name: DRIVE_EXP_WALK_EA + data_field: DRIVE_EXP_WALK_EA + - name: DRIVE_HVY_WALK_EA + data_field: DRIVE_HVY_WALK_EA + - name: DRIVE_COM_WALK_EA + data_field: DRIVE_COM_WALK_EA + - name: WALK_LOC_DRIVE_EA + data_field: WALK_LOC_DRIVE_EA + - name: WALK_LRF_DRIVE_EA + data_field: WALK_LRF_DRIVE_EA + - name: WALK_EXP_DRIVE_EA + data_field: WALK_EXP_DRIVE_EA + - name: WALK_DRIVE_HVY_EA + data_field: WALK_DRIVE_HVY_EA + - name: WALK_COM_DRIVE_EA + data_field: WALK_COM_DRIVE_EA + - file_name: trips_am.omx + tables: + - name: DRIVEALONEFREE_AM + data_field: DRIVEALONEFREE_AM + - name: DRIVEALONEPAY_AM + data_field: DRIVEALONEPAY_AM + - name: SHARED2FREE_AM + data_field: SHARED2FREE_AM + - name: SHARED2PAY_AM + data_field: SHARED2PAY_AM + - name: SHARED3FREE_AM + data_field: SHARED3FREE_AM + - name: SHARED3PAY_AM + data_field: SHARED3PAY_AM + - name: WALK_AM + data_field: WALK_AM + - name: BIKE_AM + data_field: BIKE_AM + - name: WALK_LOC_WALK_AM + data_field: WALK_LOC_WALK_AM + - name: WALK_LRF_WALK_AM + data_field: WALK_LRF_WALK_AM + - name: WALK_EXP_WALK_AM + data_field: WALK_EXP_WALK_AM + - name: WALK_HVY_WALK_AM + data_field: WALK_HVY_WALK_AM + - name: WALK_COM_WALK_AM + data_field: WALK_COM_WALK_AM + - name: DRIVE_LOC_WALK_AM + data_field: DRIVE_LOC_WALK_AM + - name: DRIVE_LRF_WALK_AM + data_field: DRIVE_LRF_WALK_AM + - name: DRIVE_EXP_WALK_AM + data_field: DRIVE_EXP_WALK_AM + - name: DRIVE_HVY_WALK_AM + data_field: DRIVE_HVY_WALK_AM + - name: DRIVE_COM_WALK_AM + data_field: DRIVE_COM_WALK_AM + - name: WALK_LOC_DRIVE_AM + data_field: WALK_LOC_DRIVE_AM + - name: WALK_LRF_DRIVE_AM + data_field: WALK_LRF_DRIVE_AM + - name: WALK_EXP_DRIVE_AM + data_field: WALK_EXP_DRIVE_AM + - name: WALK_DRIVE_HVY_AM + data_field: WALK_DRIVE_HVY_AM + - name: WALK_COM_DRIVE_AM + data_field: WALK_COM_DRIVE_AM + - file_name: trips_md.omx + tables: + - name: DRIVEALONEFREE_MD + data_field: DRIVEALONEFREE_MD + - name: DRIVEALONEPAY_MD + data_field: DRIVEALONEPAY_MD + - name: SHARED2FREE_MD + data_field: SHARED2FREE_MD + - name: SHARED2PAY_MD + data_field: SHARED2PAY_MD + - name: SHARED3FREE_MD + data_field: SHARED3FREE_MD + - name: SHARED3PAY_MD + data_field: SHARED3PAY_MD + - name: WALK_MD + data_field: WALK_MD + - name: BIKE_MD + data_field: BIKE_MD + - name: WALK_LOC_WALK_MD + data_field: WALK_LOC_WALK_MD + - name: WALK_LRF_WALK_MD + data_field: WALK_LRF_WALK_MD + - name: WALK_EXP_WALK_MD + data_field: WALK_EXP_WALK_MD + - name: WALK_HVY_WALK_MD + data_field: WALK_HVY_WALK_MD + - name: WALK_COM_WALK_MD + data_field: WALK_COM_WALK_MD + - name: DRIVE_LOC_WALK_MD + data_field: DRIVE_LOC_WALK_MD + - name: DRIVE_LRF_WALK_MD + data_field: DRIVE_LRF_WALK_MD + - name: DRIVE_EXP_WALK_MD + data_field: DRIVE_EXP_WALK_MD + - name: DRIVE_HVY_WALK_MD + data_field: DRIVE_HVY_WALK_MD + - name: DRIVE_COM_WALK_MD + data_field: DRIVE_COM_WALK_MD + - name: WALK_LOC_DRIVE_MD + data_field: WALK_LOC_DRIVE_MD + - name: WALK_LRF_DRIVE_MD + data_field: WALK_LRF_DRIVE_MD + - name: WALK_EXP_DRIVE_MD + data_field: WALK_EXP_DRIVE_MD + - name: WALK_DRIVE_HVY_MD + data_field: WALK_DRIVE_HVY_MD + - name: WALK_COM_DRIVE_MD + data_field: WALK_COM_DRIVE_MD + - file_name: trips_pm.omx + tables: + - name: DRIVEALONEFREE_PM + data_field: DRIVEALONEFREE_PM + - name: DRIVEALONEPAY_PM + data_field: DRIVEALONEPAY_PM + - name: SHARED2FREE_PM + data_field: SHARED2FREE_PM + - name: SHARED2PAY_PM + data_field: SHARED2PAY_PM + - name: SHARED3FREE_PM + data_field: SHARED3FREE_PM + - name: SHARED3PAY_PM + data_field: SHARED3PAY_PM + - name: WALK_PM + data_field: WALK_PM + - name: BIKE_PM + data_field: BIKE_PM + - name: WALK_LOC_WALK_PM + data_field: WALK_LOC_WALK_PM + - name: WALK_LRF_WALK_PM + data_field: WALK_LRF_WALK_PM + - name: WALK_EXP_WALK_PM + data_field: WALK_EXP_WALK_PM + - name: WALK_HVY_WALK_PM + data_field: WALK_HVY_WALK_PM + - name: WALK_COM_WALK_PM + data_field: WALK_COM_WALK_PM + - name: DRIVE_LOC_WALK_PM + data_field: DRIVE_LOC_WALK_PM + - name: DRIVE_LRF_WALK_PM + data_field: DRIVE_LRF_WALK_PM + - name: DRIVE_EXP_WALK_PM + data_field: DRIVE_EXP_WALK_PM + - name: DRIVE_HVY_WALK_PM + data_field: DRIVE_HVY_WALK_PM + - name: DRIVE_COM_WALK_PM + data_field: DRIVE_COM_WALK_PM + - name: WALK_LOC_DRIVE_PM + data_field: WALK_LOC_DRIVE_PM + - name: WALK_LRF_DRIVE_PM + data_field: WALK_LRF_DRIVE_PM + - name: WALK_EXP_DRIVE_PM + data_field: WALK_EXP_DRIVE_PM + - name: WALK_DRIVE_HVY_PM + data_field: WALK_DRIVE_HVY_PM + - name: WALK_COM_DRIVE_PM + data_field: WALK_COM_DRIVE_PM + - file_name: trips_ev.omx + tables: + - name: DRIVEALONEFREE_EV + data_field: DRIVEALONEFREE_EV + - name: DRIVEALONEPAY_EV + data_field: DRIVEALONEPAY_EV + - name: SHARED2FREE_EV + data_field: SHARED2FREE_EV + - name: SHARED2PAY_EV + data_field: SHARED2PAY_EV + - name: SHARED3FREE_EV + data_field: SHARED3FREE_EV + - name: SHARED3PAY_EV + data_field: SHARED3PAY_EV + - name: WALK_EV + data_field: WALK_EV + - name: BIKE_EV + data_field: BIKE_EV + - name: WALK_LOC_WALK_EV + data_field: WALK_LOC_WALK_EV + - name: WALK_LRF_WALK_EV + data_field: WALK_LRF_WALK_EV + - name: WALK_EXP_WALK_EV + data_field: WALK_EXP_WALK_EV + - name: WALK_HVY_WALK_EV + data_field: WALK_HVY_WALK_EV + - name: WALK_COM_WALK_EV + data_field: WALK_COM_WALK_EV + - name: DRIVE_LOC_WALK_EV + data_field: DRIVE_LOC_WALK_EV + - name: DRIVE_LRF_WALK_EV + data_field: DRIVE_LRF_WALK_EV + - name: DRIVE_EXP_WALK_EV + data_field: DRIVE_EXP_WALK_EV + - name: DRIVE_HVY_WALK_EV + data_field: DRIVE_HVY_WALK_EV + - name: DRIVE_COM_WALK_EV + data_field: DRIVE_COM_WALK_EV + - name: WALK_LOC_DRIVE_EV + data_field: WALK_LOC_DRIVE_EV + - name: WALK_LRF_DRIVE_EV + data_field: WALK_LRF_DRIVE_EV + - name: WALK_EXP_DRIVE_EV + data_field: WALK_EXP_DRIVE_EV + - name: WALK_DRIVE_HVY_EV + data_field: WALK_DRIVE_HVY_EV + - name: WALK_COM_DRIVE_EV + data_field: WALK_COM_DRIVE_EV + +CONSTANTS: + time_periods: + EA: + first_hour: 3 + last_hour: 5 + AM: + first_hour: 6 + last_hour: 9 + MD: + first_hour: 10 + last_hour: 14 + PM: + first_hour: 15 + last_hour: 18 + EV: + first_hour: 19 + last_hour: 2 diff --git a/activitysim/examples/placeholder_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv new file mode 100755 index 0000000000..9dc036679f --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv @@ -0,0 +1,130 @@ +Description,Target,Expression +# add additional fields,, +,tour_participants,trips.tour_id.map(tours.number_of_participants) +,distance,od_skims['DIST'] +# code time periods,, +,is_ea,"trips.depart.between(time_periods['EA']['first_hour'], time_periods['EA']['last_hour'])" +,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" +,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" +,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" +,is_ev,(trips.depart >= time_periods['EV']['first_hour']) | (trips.depart <= time_periods['EV']['last_hour']) +# ea trips,, +,DRIVEALONEFREE_EA,((trips.trip_mode == 'DRIVEALONEFREE') & is_ea) * tour_participants +,DRIVEALONEPAY_EA,((trips.trip_mode == 'DRIVEALONEPAY') & is_ea) * tour_participants +,SHARED2FREE_EA,((trips.trip_mode == 'SHARED2FREE') & is_ea) * tour_participants +,SHARED2PAY_EA,((trips.trip_mode == 'SHARED2PAY') & is_ea) * tour_participants +,SHARED3FREE_EA,((trips.trip_mode == 'SHARED3FREE') & is_ea) * tour_participants +,SHARED3PAY_EA,((trips.trip_mode == 'SHARED3PAY') & is_ea) * tour_participants +,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants +,BIKE_EA,((trips.trip_mode == 'BIKE') & is_ea) * tour_participants +,WALK_LOC_WALK_EA,((trips.trip_mode == 'WALK_LOC') & is_ea) * tour_participants +,WALK_LRF_WALK_EA,((trips.trip_mode == 'WALK_LRF') & is_ea) * tour_participants +,WALK_EXP_WALK_EA,((trips.trip_mode == 'WALK_EXP') & is_ea) * tour_participants +,WALK_HVY_WALK_EA,((trips.trip_mode == 'WALK_HVY') & is_ea) * tour_participants +,WALK_COM_WALK_EA,((trips.trip_mode == 'WALK_COM') & is_ea) * tour_participants +,DRIVE_LOC_WALK_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & trips.outbound) * tour_participants +,DRIVE_COM_WALK_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & ~trips.outbound) * tour_participants +# am trips,, +,DRIVEALONEFREE_AM,((trips.trip_mode == 'DRIVEALONEFREE') & is_am) * tour_participants +,DRIVEALONEPAY_AM,((trips.trip_mode == 'DRIVEALONEPAY') & is_am) * tour_participants +,SHARED2FREE_AM,((trips.trip_mode == 'SHARED2FREE') & is_am) * tour_participants +,SHARED2PAY_AM,((trips.trip_mode == 'SHARED2PAY') & is_am) * tour_participants +,SHARED3FREE_AM,((trips.trip_mode == 'SHARED3FREE') & is_am) * tour_participants +,SHARED3PAY_AM,((trips.trip_mode == 'SHARED3PAY') & is_am) * tour_participants +,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants +,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants +,WALK_LOC_WALK_AM,((trips.trip_mode == 'WALK_LOC') & is_am) * tour_participants +,WALK_LRF_WALK_AM,((trips.trip_mode == 'WALK_LRF') & is_am) * tour_participants +,WALK_EXP_WALK_AM,((trips.trip_mode == 'WALK_EXP') & is_am) * tour_participants +,WALK_HVY_WALK_AM,((trips.trip_mode == 'WALK_HVY') & is_am) * tour_participants +,WALK_COM_WALK_AM,((trips.trip_mode == 'WALK_COM') & is_am) * tour_participants +,DRIVE_LOC_WALK_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & trips.outbound) * tour_participants +,DRIVE_COM_WALK_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & ~trips.outbound) * tour_participants +# md trips,, +,DRIVEALONEFREE_MD,((trips.trip_mode == 'DRIVEALONEFREE') & is_md) * tour_participants +,DRIVEALONEPAY_MD,((trips.trip_mode == 'DRIVEALONEPAY') & is_md) * tour_participants +,SHARED2FREE_MD,((trips.trip_mode == 'SHARED2FREE') & is_md) * tour_participants +,SHARED2PAY_MD,((trips.trip_mode == 'SHARED2PAY') & is_md) * tour_participants +,SHARED3FREE_MD,((trips.trip_mode == 'SHARED3FREE') & is_md) * tour_participants +,SHARED3PAY_MD,((trips.trip_mode == 'SHARED3PAY') & is_md) * tour_participants +,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants +,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants +,WALK_LOC_WALK_MD,((trips.trip_mode == 'WALK_LOC') & is_md) * tour_participants +,WALK_LRF_WALK_MD,((trips.trip_mode == 'WALK_LRF') & is_md) * tour_participants +,WALK_EXP_WALK_MD,((trips.trip_mode == 'WALK_EXP') & is_md) * tour_participants +,WALK_HVY_WALK_MD,((trips.trip_mode == 'WALK_HVY') & is_md) * tour_participants +,WALK_COM_WALK_MD,((trips.trip_mode == 'WALK_COM') & is_md) * tour_participants +,DRIVE_LOC_WALK_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & trips.outbound) * tour_participants +,DRIVE_COM_WALK_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & ~trips.outbound) * tour_participants +# pm trips,, +,DRIVEALONEFREE_PM,((trips.trip_mode == 'DRIVEALONEFREE') & is_pm) * tour_participants +,DRIVEALONEPAY_PM,((trips.trip_mode == 'DRIVEALONEPAY') & is_pm) * tour_participants +,SHARED2FREE_PM,((trips.trip_mode == 'SHARED2FREE') & is_pm) * tour_participants +,SHARED2PAY_PM,((trips.trip_mode == 'SHARED2PAY') & is_pm) * tour_participants +,SHARED3FREE_PM,((trips.trip_mode == 'SHARED3FREE') & is_pm) * tour_participants +,SHARED3PAY_PM,((trips.trip_mode == 'SHARED3PAY') & is_pm) * tour_participants +,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants +,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants +,WALK_LOC_WALK_PM,((trips.trip_mode == 'WALK_LOC') & is_pm) * tour_participants +,WALK_LRF_WALK_PM,((trips.trip_mode == 'WALK_LRF') & is_pm) * tour_participants +,WALK_EXP_WALK_PM,((trips.trip_mode == 'WALK_EXP') & is_pm) * tour_participants +,WALK_HVY_WALK_PM,((trips.trip_mode == 'WALK_HVY') & is_pm) * tour_participants +,WALK_COM_WALK_PM,((trips.trip_mode == 'WALK_COM') & is_pm) * tour_participants +,DRIVE_LOC_WALK_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & trips.outbound) * tour_participants +,DRIVE_COM_WALK_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & ~trips.outbound) * tour_participants +# ev trips,, +,DRIVEALONEFREE_EV,((trips.trip_mode == 'DRIVEALONEFREE') & is_ev) * tour_participants +,DRIVEALONEPAY_EV,((trips.trip_mode == 'DRIVEALONEPAY') & is_ev) * tour_participants +,SHARED2FREE_EV,((trips.trip_mode == 'SHARED2FREE') & is_ev) * tour_participants +,SHARED2PAY_EV,((trips.trip_mode == 'SHARED2PAY') & is_ev) * tour_participants +,SHARED3FREE_EV,((trips.trip_mode == 'SHARED3FREE') & is_ev) * tour_participants +,SHARED3PAY_EV,((trips.trip_mode == 'SHARED3PAY') & is_ev) * tour_participants +,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants +,BIKE_EV,((trips.trip_mode == 'BIKE') & is_ev) * tour_participants +,WALK_LOC_WALK_EV,((trips.trip_mode == 'WALK_LOC') & is_ev) * tour_participants +,WALK_LRF_WALK_EV,((trips.trip_mode == 'WALK_LRF') & is_ev) * tour_participants +,WALK_EXP_WALK_EV,((trips.trip_mode == 'WALK_EXP') & is_ev) * tour_participants +,WALK_HVY_WALK_EV,((trips.trip_mode == 'WALK_HVY') & is_ev) * tour_participants +,WALK_COM_WALK_EV,((trips.trip_mode == 'WALK_COM') & is_ev) * tour_participants +,DRIVE_LOC_WALK_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & trips.outbound) * tour_participants +,DRIVE_COM_WALK_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & ~trips.outbound) * tour_participants diff --git a/activitysim/examples/placeholder_psrc/configs_accessibility/settings.yaml b/activitysim/examples/placeholder_psrc/configs_accessibility/settings.yaml new file mode 100755 index 0000000000..499c8e055a --- /dev/null +++ b/activitysim/examples/placeholder_psrc/configs_accessibility/settings.yaml @@ -0,0 +1,42 @@ +inherit_settings: True + +# number of households to simulate +households_sample_size: 10 +# simulate all households +# households_sample_size: 0 + +chunk_size: 0 + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +# global switch to turn on or off presampling of destination alternatives at TAZ level (multizone models only) +#want_dest_choice_presampling: True + +# - tracing +# trace household id; comment out or leave empty for no trace +trace_hh_id: 594396 + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +# trace_od: [5, 11] +trace_od: + +# to resume after last successful checkpoint, specify resume_after: _ +#resume_after: tour_mode_choice_simulate +#resume_after: + +output_tables: + h5_store: False + action: include + prefix: final_ + tables: + - accessibility + diff --git a/activitysim/examples/example_psrc/configs_accessibility/settings_mp.yaml b/activitysim/examples/placeholder_psrc/configs_accessibility/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs_accessibility/settings_mp.yaml rename to activitysim/examples/placeholder_psrc/configs_accessibility/settings_mp.yaml diff --git a/activitysim/examples/example_psrc/configs_skip_accessibility/settings.yaml b/activitysim/examples/placeholder_psrc/configs_skip_accessibility/settings.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs_skip_accessibility/settings.yaml rename to activitysim/examples/placeholder_psrc/configs_skip_accessibility/settings.yaml diff --git a/activitysim/examples/example_psrc/configs_skip_accessibility/settings_mp.yaml b/activitysim/examples/placeholder_psrc/configs_skip_accessibility/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs_skip_accessibility/settings_mp.yaml rename to activitysim/examples/placeholder_psrc/configs_skip_accessibility/settings_mp.yaml diff --git a/activitysim/examples/example_psrc/data/.gitignore b/activitysim/examples/placeholder_psrc/data/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/data/.gitignore rename to activitysim/examples/placeholder_psrc/data/.gitignore diff --git a/activitysim/examples/example_psrc/data/households.csv b/activitysim/examples/placeholder_psrc/data/households.csv similarity index 100% rename from activitysim/examples/example_psrc/data/households.csv rename to activitysim/examples/placeholder_psrc/data/households.csv diff --git a/activitysim/examples/example_psrc/data/land_use.csv b/activitysim/examples/placeholder_psrc/data/land_use.csv similarity index 100% rename from activitysim/examples/example_psrc/data/land_use.csv rename to activitysim/examples/placeholder_psrc/data/land_use.csv diff --git a/activitysim/examples/example_psrc/data/maz.csv b/activitysim/examples/placeholder_psrc/data/maz.csv similarity index 100% rename from activitysim/examples/example_psrc/data/maz.csv rename to activitysim/examples/placeholder_psrc/data/maz.csv diff --git a/activitysim/examples/example_psrc/data/maz_to_maz_bike.csv b/activitysim/examples/placeholder_psrc/data/maz_to_maz_bike.csv similarity index 100% rename from activitysim/examples/example_psrc/data/maz_to_maz_bike.csv rename to activitysim/examples/placeholder_psrc/data/maz_to_maz_bike.csv diff --git a/activitysim/examples/example_psrc/data/maz_to_maz_walk.csv b/activitysim/examples/placeholder_psrc/data/maz_to_maz_walk.csv similarity index 100% rename from activitysim/examples/example_psrc/data/maz_to_maz_walk.csv rename to activitysim/examples/placeholder_psrc/data/maz_to_maz_walk.csv diff --git a/activitysim/examples/example_psrc/data/persons.csv b/activitysim/examples/placeholder_psrc/data/persons.csv similarity index 100% rename from activitysim/examples/example_psrc/data/persons.csv rename to activitysim/examples/placeholder_psrc/data/persons.csv diff --git a/activitysim/examples/example_psrc/data/skims.omx b/activitysim/examples/placeholder_psrc/data/skims.omx similarity index 100% rename from activitysim/examples/example_psrc/data/skims.omx rename to activitysim/examples/placeholder_psrc/data/skims.omx diff --git a/activitysim/examples/example_psrc/data/taz.csv b/activitysim/examples/placeholder_psrc/data/taz.csv similarity index 100% rename from activitysim/examples/example_psrc/data/taz.csv rename to activitysim/examples/placeholder_psrc/data/taz.csv diff --git a/activitysim/examples/example_multiple_zone/output_2/.gitignore b/activitysim/examples/placeholder_psrc/output/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_2/.gitignore rename to activitysim/examples/placeholder_psrc/output/.gitignore diff --git a/activitysim/examples/example_mtc/output/cache/.gitignore b/activitysim/examples/placeholder_psrc/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/output/cache/.gitignore rename to activitysim/examples/placeholder_psrc/output/cache/.gitignore diff --git a/activitysim/examples/example_mtc/output/log/.gitignore b/activitysim/examples/placeholder_psrc/output/log/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/output/log/.gitignore rename to activitysim/examples/placeholder_psrc/output/log/.gitignore diff --git a/activitysim/examples/example_mtc/output/trace/.gitignore b/activitysim/examples/placeholder_psrc/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/output/trace/.gitignore rename to activitysim/examples/placeholder_psrc/output/trace/.gitignore diff --git a/activitysim/examples/placeholder_psrc/scripts/integrity.py b/activitysim/examples/placeholder_psrc/scripts/integrity.py new file mode 100644 index 0000000000..b2e81656d8 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/scripts/integrity.py @@ -0,0 +1,204 @@ +import argparse +import os + +import numpy as np +import openmatrix as omx +import pandas as pd + +parser = argparse.ArgumentParser(description="check activitysim raw_data") +parser.add_argument( + "raw_data_directory", + metavar="raw_data_directory", + type=str, + nargs=1, + help=f"path to raw data directory", +) + +parser.add_argument( + "-o", "--output", type=str, metavar="PATH", help="path to output dir" +) + +args = parser.parse_args() + + +input_dir = args.raw_data_directory[0] +output_dir = args.output + +print(f"input_dir {input_dir}") +print(f"output_dir {output_dir}") + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def integerize_id_columns(df, table_name): + columns = ["MAZ", "OMAZ", "DMAZ", "TAZ", "zone_id", "household_id", "HHID"] + for c in df.columns: + if c in columns: + bad = ~(df[c] == df[c].astype(int)) + if bad.any(): + print(f"\n### OOPS ### table {table_name} bad integer column {c}\n") + df[c] = df[c].astype(int) + + +def read_csv(file_name, integerize=True): + df = pd.read_csv(input_path(file_name)) + + print(f"read {file_name} {df.shape}") + + return df + + +def to_csv(df, file_name): + print(f"writing {file_name} {df.shape} {output_path(file_name)}") + df.to_csv(output_path(file_name), index=False) + + +def report_baddies(df, tag, fatal=False): + + if len(df) > 0: + print(f"\n### OOPS ### {len(df)} {tag}\n") + + # print(f"\n{df}\n") + + if output_dir: + file_name = f"{tag}.csv" + print(f"writing {tag} {df.shape} to {output_path(file_name)}") + df.to_csv(output_path(file_name), index=False) + + if fatal: + raise RuntimeError(tag) + else: + print(f"{len(df)} {tag}") + + +print(f"input_dir {input_dir} output_dir {output_dir}") + +if output_dir and not os.path.isdir(output_dir): + print(f"creating output directory {output_dir}") + os.mkdir(output_dir) + + +land_use = read_csv("land_use.csv") + +# ### check maz.csv against land_use + +land_use = land_use.sort_values("MAZ") +maz = read_csv("maz.csv").sort_values("MAZ") + +# fatal +missing = land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)] +report_baddies(missing, "land_use_MAZ_not_in_maz_MAZ", fatal=True) + +missing = maz.MAZ[~maz.MAZ.isin(land_use.MAZ)] +report_baddies(missing, "maz_MAZ_not_in_land_use_MAZ") + +# fatal +missing = land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)] +report_baddies(missing, "land_use_TAZ_not_in_maz_TAZ", fatal=True) + +missing = maz.TAZ[~maz.TAZ.isin(land_use.TAZ)] +report_baddies(missing, "maz_TAZ_not_in_land_use_TAZ") + +# ### check taz.csv against land_use + +land_use = land_use.sort_values("TAZ") +taz = read_csv("taz.csv").sort_values("TAZ") + +if output_dir: + taz.to_csv(output_path("taz.csv"), index=False) + +# fatal +missing = land_use.TAZ[~land_use.TAZ.isin(taz.TAZ)] +report_baddies(missing, "land_use_TAZ_not_in_taz_TAZ", fatal=True) + +missing = taz.TAZ[~taz.TAZ.isin(land_use.TAZ)] +report_baddies(missing, "taz_TAZ_not_in_land_use_TAZ") + +# #########s + +# +# maz +# +maz = read_csv("maz.csv").sort_values(["MAZ", "TAZ"]) +maz = maz[maz["MAZ"].isin(land_use.MAZ)] +integerize_id_columns(maz, "maz") + +assert land_use.MAZ.isin(maz.MAZ).all() +assert land_use.TAZ.isin(maz.TAZ).all() +assert maz.TAZ.isin(land_use.TAZ).all() + +# +# taz +# +taz = read_csv("taz.csv").sort_values(["TAZ"]) +taz = taz[taz["TAZ"].isin(land_use.TAZ)] +integerize_id_columns(taz, "taz") + +assert land_use.TAZ.isin(taz.TAZ).all() + +# print(maz.shape) +# print(f"MAZ {len(maz.MAZ.unique())}") +# print(f"TAZ {len(maz.TAZ.unique())}") + +# +# households +# +households = read_csv("households.csv") +missing = households[~households["MAZ"].isin(maz.MAZ)] +report_baddies(missing, "household_MAZ_not_in_maz_MAZ") + +integerize_id_columns(households, "households") + +# +# persons +# +persons = read_csv("persons.csv") +orphans = persons[~persons["household_id"].isin(households.HHID)] +report_baddies(orphans, "persons_not_in_households") + +households = households[households["MAZ"].isin(maz.MAZ)] +orphans = persons[~persons["household_id"].isin(households.HHID)] +report_baddies(orphans, "persons_not_in_households_in_maz_MAZ") + +integerize_id_columns(persons, "persons") + +# +# maz_to_maz_walk and maz_to_maz_bike +# + +m2m = read_csv("maz_to_maz_walk.csv") +missing = m2m[~(m2m.OMAZ.isin(maz.MAZ) & m2m.DMAZ.isin(maz.MAZ))] +report_baddies(missing, "maz_to_maz_walk_OMAZ_or_DMAZ_not_in_maz_MAZ") +integerize_id_columns(m2m, "maz_to_maz_walk") + +m2m = read_csv("maz_to_maz_bike.csv") +missing = m2m[~(m2m.OMAZ.isin(maz.MAZ) & m2m.DMAZ.isin(maz.MAZ))] +report_baddies(missing, "maz_to_maz_bike_OMAZ_or_DMAZ_not_in_maz_MAZ") +integerize_id_columns(m2m, "maz_to_maz_bike") + + +# +# skims +# +omx_infile_name = "skims.omx" +skim_data_type = np.float32 + +omx_in = omx.open_file(input_path(omx_infile_name), "r") +print(f"omx_in shape {omx_in.shape()}") + +print(f"{len(omx_in.listMappings())} mappings in skims") + +for m in omx_in.listMappings(): + print(f"found mapping '{m}' in skims") +assert len(omx_in.listMappings()) == 0 + + +# assert omx_in.shape() == (len(taz), len(taz)) + +omx_in.close() diff --git a/activitysim/examples/placeholder_psrc/scripts/psrc_crop.py b/activitysim/examples/placeholder_psrc/scripts/psrc_crop.py new file mode 100644 index 0000000000..304963b580 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/scripts/psrc_crop.py @@ -0,0 +1,280 @@ +import argparse +import os + +import numpy as np +import openmatrix as omx +import pandas as pd + +MAZ_OFFSET = 0 + +segments = { + "test": ( + 331, + 358, + ), # north part of peninsul a including university (no HSENROLL but nice MAZ-TAZ distrib) + "downtown": ( + 339, + 630, + ), # downtown seattle tazs (339 instead of 400 because need university) + "seattle": (0, 857), # seattle tazs + "full": (0, 100000), +} + +parser = argparse.ArgumentParser(description="crop PSRC raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file", +) + +args = parser.parse_args() + + +segment_name = args.segment_name[0] +check_geography = args.check_geography + +assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" +taz_min, taz_max = segments[segment_name] + +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}" + + +print(f"segment_name {segment_name}") + +print(f"input_dir {input_dir}") +print(f"output_dir {output_dir}") +print(f"taz_min {taz_min}") +print(f"taz_max {taz_max}") + +print(f"check_geography {check_geography}") + +if not os.path.isdir(output_dir): + print(f"creating output directory {output_dir}") + os.mkdir(output_dir) + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def integerize_id_columns(df, table_name): + columns = ["MAZ", "OMAZ", "DMAZ", "TAZ", "zone_id", "household_id", "HHID"] + for c in df.columns: + if c in columns: + print(f"converting {table_name}.{c} to int") + if df[c].isnull().any(): + print(df[c][df[c].isnull()]) + df[c] = df[c].astype(int) + + +def read_csv(file_name, integerize=True): + df = pd.read_csv(input_path(file_name)) + + print(f"read {file_name} {df.shape}") + + return df + + +def to_csv(df, file_name): + print(f"writing {file_name} {df.shape} {output_path(file_name)}") + df.to_csv(output_path(file_name), index=False) + + +print(f"output_dir {output_dir} taz_min {taz_min} taz_max {taz_max}") + + +if check_geography: + + # ######## check for orphan_households not in any maz in land_use + land_use = read_csv("land_use.csv") + land_use = land_use[["MAZ", "TAZ"]] # King County + land_use = land_use.sort_values(["TAZ", "MAZ"]) + + households = read_csv("households.csv") + orphan_households = households[~households.MAZ.isin(land_use.MAZ)] + print(f"{len(orphan_households)} orphan_households") + + # write orphan_households to INPUT directory (since it doesn't belong in output) + file_name = "orphan_households.csv" + print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") + orphan_households.to_csv(input_path(file_name), index=False) + + # ######## check that land_use and maz and taz tables have same MAZs and TAZs + + # could just build maz and taz files, but want to make sure PSRC data is right + + land_use = read_csv("land_use.csv") + land_use = land_use.sort_values("MAZ") + maz = read_csv("maz.csv").sort_values("MAZ") + + # ### FATAL ### + if not land_use.MAZ.isin(maz.MAZ).all(): + print( + f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}" + ) + raise RuntimeError(f"land_use.MAZ not in maz.MAZ") + + if not maz.MAZ.isin(land_use.MAZ).all(): + print(f"maz.MAZ not in land_use.MAZ\n{maz.MAZ[~maz.MAZ.isin(land_use.MAZ)]}") + + # ### FATAL ### + if not land_use.TAZ.isin(maz.TAZ).all(): + print( + f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}" + ) + raise RuntimeError(f"land_use.TAZ not in maz.TAZ") + + if not maz.TAZ.isin(land_use.TAZ).all(): + print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") + + land_use = land_use.sort_values("TAZ") + taz = read_csv("taz.csv").sort_values("TAZ") + + # ### FATAL ### + if not land_use.TAZ.isin(taz.TAZ).all(): + print( + f"land_use.TAZ not in taz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(taz.MAZ)]}" + ) + raise RuntimeError(f"land_use.TAZ not in taz.TAZ") + + if not taz.TAZ.isin(land_use.TAZ).all(): + print(f"taz.TAZ not in land_use.TAZ\n{taz.TAZ[~taz.TAZ.isin(land_use.TAZ)]}") + + # #########s + +# +# land_use +# +land_use = read_csv("land_use.csv") +land_use = land_use[(land_use["TAZ"] >= taz_min) & (land_use["TAZ"] <= taz_max)] +integerize_id_columns(land_use, "land_use") +land_use = land_use.sort_values("MAZ") + +# make sure we have some HSENROLL and COLLFTE, even for very for small samples +if land_use["HSENROLL"].sum() == 0: + assert segment_name != "full", f"land_use['HSENROLL'] is 0 for full sample!" + land_use["HSENROLL"] = land_use["AGE0519"] + print(f"\nWARNING: land_use.HSENROLL is 0, so backfilled with AGE0519\n") + +if land_use["COLLFTE"].sum() == 0: + assert segment_name != "full", f"land_use['COLLFTE'] is 0 for full sample!" + land_use["COLLFTE"] = land_use["HSENROLL"] + print(f"\nWARNING: land_use.COLLFTE is 0, so backfilled with HSENROLL\n") + +# move MAZ and TAZ columns to front +land_use = land_use[ + ["MAZ", "TAZ"] + [c for c in land_use.columns if c not in ["MAZ", "TAZ"]] +] +to_csv(land_use, "land_use.csv") + +# +# maz +# +maz = read_csv("maz.csv").sort_values(["MAZ", "TAZ"]) +maz = maz[maz["MAZ"].isin(land_use.MAZ)] +integerize_id_columns(maz, "maz") + +assert land_use.MAZ.isin(maz.MAZ).all() +assert land_use.TAZ.isin(maz.TAZ).all() +assert maz.TAZ.isin(land_use.TAZ).all() +to_csv(maz, "maz.csv") + +# +# taz +# +taz = read_csv("taz.csv").sort_values(["TAZ"]) +taz = taz[taz["TAZ"].isin(land_use.TAZ)] +integerize_id_columns(taz, "taz") + +assert land_use.TAZ.isin(taz.TAZ).all() +to_csv(taz, "taz.csv") + +# print(maz.shape) +# print(f"MAZ {len(maz.MAZ.unique())}") +# print(f"TAZ {len(maz.TAZ.unique())}") + +# +# households +# +households = read_csv("households.csv") +households = households[households["MAZ"].isin(maz.MAZ)] +integerize_id_columns(households, "households") + +to_csv(households, "households.csv") + +# +# persons +# +persons = read_csv("persons.csv") +persons = persons[persons["household_id"].isin(households.HHID)] +integerize_id_columns(persons, "persons") + +to_csv(persons, "persons.csv") + +# +# maz_to_maz_walk and maz_to_maz_bike +# +for file_name in ["maz_to_maz_walk.csv", "maz_to_maz_bike.csv"]: + m2m = read_csv(file_name) + m2m = m2m[m2m.OMAZ.isin(maz.MAZ) & m2m.DMAZ.isin(maz.MAZ)] + integerize_id_columns(m2m, file_name) + to_csv(m2m, file_name) + +# +# skims +# +omx_infile_name = "skims.omx" +skim_data_type = np.float32 + +omx_in = omx.open_file(input_path(omx_infile_name)) +print(f"omx_in shape {omx_in.shape()}") + +assert not omx_in.listMappings() +taz = taz.sort_values("TAZ") +taz.index = taz.TAZ - 1 +tazs_indexes = taz.index.tolist() # index of TAZ in skim (zero-based, no mapping) +taz_labels = taz.TAZ.tolist() # TAZ zone_ids in omx index order + +# create +num_outfiles = 4 if segment_name == "full" else 1 +if num_outfiles == 1: + omx_out = [omx.open_file(output_path(f"skims.omx"), "w")] +else: + omx_out = [ + omx.open_file(output_path(f"skims{i+1}.omx"), "w") for i in range(num_outfiles) + ] + +for omx_file in omx_out: + omx_file.create_mapping("ZONE", taz_labels) + +iskim = 0 +for mat_name in omx_in.list_matrices(): + + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) + m = m[tazs_indexes, :][:, tazs_indexes] + print(f"{mat_name} {m.shape}") + + omx_file = omx_out[iskim % num_outfiles] + omx_file[mat_name] = m + iskim += 1 + + +omx_in.close() +for omx_file in omx_out: + omx_file.close() diff --git a/activitysim/examples/example_psrc/test/configs/settings.yaml b/activitysim/examples/placeholder_psrc/test/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_psrc/test/configs/settings.yaml rename to activitysim/examples/placeholder_psrc/test/configs/settings.yaml diff --git a/activitysim/examples/example_multiple_zone/output_3/.gitignore b/activitysim/examples/placeholder_psrc/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3/.gitignore rename to activitysim/examples/placeholder_psrc/test/output/.gitignore diff --git a/activitysim/examples/example_mtc/test/output/cache/.gitignore b/activitysim/examples/placeholder_psrc/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/test/output/cache/.gitignore rename to activitysim/examples/placeholder_psrc/test/output/cache/.gitignore diff --git a/activitysim/examples/example_mtc/test/output/trace/.gitignore b/activitysim/examples/placeholder_psrc/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/test/output/trace/.gitignore rename to activitysim/examples/placeholder_psrc/test/output/trace/.gitignore diff --git a/activitysim/examples/example_psrc/test/regress/final_trips.csv b/activitysim/examples/placeholder_psrc/test/regress/final_trips.csv similarity index 100% rename from activitysim/examples/example_psrc/test/regress/final_trips.csv rename to activitysim/examples/placeholder_psrc/test/regress/final_trips.csv diff --git a/activitysim/examples/placeholder_psrc/test/simulation.py b/activitysim/examples/placeholder_psrc/test/simulation.py new file mode 100755 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/placeholder_psrc/test/test_psrc.py b/activitysim/examples/placeholder_psrc/test/test_psrc.py new file mode 100644 index 0000000000..10863cc1d5 --- /dev/null +++ b/activitysim/examples/placeholder_psrc/test/test_psrc.py @@ -0,0 +1,60 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def test_psrc(): + def example_path(dirname): + resource = os.path.join("examples", "placeholder_psrc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(): + regress_trips_df = pd.read_csv(test_path("regress/final_trips.csv")) + final_trips_df = pd.read_csv(test_path("output/final_trips.csv")) + + # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, + # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum + # compare_cols = [] + pdt.assert_frame_equal(final_trips_df, regress_trips_df) + + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + subprocess.run( + [ + "coverage", + "run", + "-a", + file_path, + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ], + check=True, + ) + + regress() + + +if __name__ == "__main__": + + test_psrc() diff --git a/activitysim/examples/example_sandag/3_zone_change_log.txt b/activitysim/examples/placeholder_sandag/3_zone_change_log.txt similarity index 100% rename from activitysim/examples/example_sandag/3_zone_change_log.txt rename to activitysim/examples/placeholder_sandag/3_zone_change_log.txt diff --git a/activitysim/examples/example_sandag/configs_1_zone/constants.yaml b/activitysim/examples/placeholder_sandag/configs_1_zone/constants.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_1_zone/constants.yaml rename to activitysim/examples/placeholder_sandag/configs_1_zone/constants.yaml diff --git a/activitysim/examples/example_sandag/configs_1_zone/network_los.yaml b/activitysim/examples/placeholder_sandag/configs_1_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_1_zone/network_los.yaml rename to activitysim/examples/placeholder_sandag/configs_1_zone/network_los.yaml diff --git a/activitysim/examples/example_sandag/configs_1_zone/settings.yaml b/activitysim/examples/placeholder_sandag/configs_1_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_1_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/configs_1_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/configs_1_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/configs_1_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_1_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/configs_1_zone/settings_mp.yaml diff --git a/activitysim/examples/example_sandag/configs_2_zone/constants.yaml b/activitysim/examples/placeholder_sandag/configs_2_zone/constants.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_2_zone/constants.yaml rename to activitysim/examples/placeholder_sandag/configs_2_zone/constants.yaml diff --git a/activitysim/examples/example_sandag/configs_2_zone/network_los.yaml b/activitysim/examples/placeholder_sandag/configs_2_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_2_zone/network_los.yaml rename to activitysim/examples/placeholder_sandag/configs_2_zone/network_los.yaml diff --git a/activitysim/examples/example_sandag/configs_2_zone/settings.yaml b/activitysim/examples/placeholder_sandag/configs_2_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_2_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/configs_2_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/configs_2_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/configs_2_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_2_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/configs_2_zone/settings_mp.yaml diff --git a/activitysim/examples/example_mtc/configs/tour_departure_and_duration_segments.csv b/activitysim/examples/placeholder_sandag/configs_2_zone/tour_departure_and_duration_segments.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_departure_and_duration_segments.csv rename to activitysim/examples/placeholder_sandag/configs_2_zone/tour_departure_and_duration_segments.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/_bugs.txt b/activitysim/examples/placeholder_sandag/configs_3_zone/_bugs.txt similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/_bugs.txt rename to activitysim/examples/placeholder_sandag/configs_3_zone/_bugs.txt diff --git a/activitysim/examples/example_sandag/configs_3_zone/accessibility.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/accessibility.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/accessibility.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/accessibility.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/annotate_households_workplace.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/annotate_households_workplace.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/annotate_households_workplace.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/annotate_households_workplace.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/annotate_persons_workplace.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/annotate_persons_workplace.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/annotate_persons_workplace.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/annotate_persons_workplace.csv diff --git a/activitysim/examples/placeholder_sandag/configs_3_zone/auto_ownership.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/auto_ownership.csv new file mode 100644 index 0000000000..aa30bdb4db --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/auto_ownership.csv @@ -0,0 +1,30 @@ +Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 +util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 +util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 +util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up +util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 +util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 +util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 +util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 +util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 +util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 +util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k +util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc +util_asc_san_francisco,San Francisco county,@df.county_id == ID_SAN_FRANCISCO,,coef_cars1_asc_san_francisco,coef_cars2_asc_san_francisco,coef_cars34_asc_san_francisco,coef_cars34_asc_san_francisco +util_asc_solano,Solano county,@df.county_id == ID_SOLANO,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_napa,Napa county,@df.county_id == ID_NAPA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_sonoma,Sonoma county,@df.county_id == ID_SONOMA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_marin,Marin county,@df.county_id == ID_MARIN,,coef_cars1_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin +util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers +util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers +util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers +util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers +util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker diff --git a/activitysim/examples/example_sandag/configs_3_zone/constants.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/constants.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/constants.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/constants.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/destination_choice_size_terms.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/destination_choice_size_terms.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/destination_choice_size_terms.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/destination_choice_size_terms.csv diff --git a/activitysim/examples/placeholder_sandag/configs_3_zone/logging.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/logging.yaml new file mode 100644 index 0000000000..93cf6cea93 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/logging.yaml @@ -0,0 +1,58 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console] + + loggers: + + activitysim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: elapsedFormatter + level: INFO + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + elapsedFormatter: + (): activitysim.core.tracing.ElapsedTimeFormatter + format: '[{elapsedTime}] {levelname:s}: {message:s}' + style: '{' diff --git a/activitysim/examples/example_sandag/configs_3_zone/network_los.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/network_los.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/network_los.yaml diff --git a/activitysim/examples/placeholder_sandag/configs_3_zone/notes.txt b/activitysim/examples/placeholder_sandag/configs_3_zone/notes.txt new file mode 100644 index 0000000000..97da329c1b --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/notes.txt @@ -0,0 +1,10 @@ + +# test +# activitysim run -c configs_local -c configs -c configs_3_zone -c ../prototype_mtc/configs -o output_test -d data_test +# activitysim run -c configs_local -c configs -c configs_3_zone -c ../prototype_mtc/configs -o output_test -d data_test -s settings_mp.yaml + +# full dataset single-process 100K HH skip_accessibility +# activitysim run -c configs_local -c configs_skip_accessibility -c configs -c configs_3_zone -c ../prototype_mtc/configs -o output_full -d data_full + +# full run multiprocess +# activitysim run -c configs -c configs_3_zone -c ../prototype_mtc/configs -o output_full -d data_full -s settings_mp.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/settings.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/settings_mp.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/stop_frequency.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/stop_frequency.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/stop_frequency.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/stop_frequency.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.csv diff --git a/activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.yaml new file mode 100644 index 0000000000..7e2f915bfa --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.yaml @@ -0,0 +1,186 @@ +LOGIT_TYPE: NL +#LOGIT_TYPE: MNL + +tvpb_mode_path_types: + DRIVE_TRANSIT: + od: DTW + do: WTD + WALK_TRANSIT: + od: WTW + do: WTW + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - name: DRIVEALONE + coefficient: coef_nest_AUTO_DRIVEALONE + alternatives: + - DRIVEALONEFREE + - DRIVEALONEPAY + - name: SHAREDRIDE2 + coefficient: coef_nest_AUTO_SHAREDRIDE2 + alternatives: + - SHARED2FREE + - SHARED2PAY + - name: SHAREDRIDE3 + coefficient: coef_nest_AUTO_SHAREDRIDE3 + alternatives: + - SHARED3FREE + - SHARED3PAY + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - WALK_TRANSIT + - DRIVE_TRANSIT + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coefficients.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv + +CONSTANTS: + #valueOfTime: 8.00 + costPerMile: 18.29 + costShareSr2: 1.75 + costShareSr3: 2.50 + waitThresh: 10.00 + walkThresh: 1.50 + shortWalk: 0.333 + longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 6.00 + bikeSpeed: 12.00 + maxCbdAreaTypeThresh: 2 + indivTour: 1.00000 + upperEA: 5 + upperAM: 10 + upperMD: 15 + upperPM: 19 + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 + + ivt_cost_multiplier: 0.6 + ivt_lrt_multiplier: 0.9 + ivt_ferry_multiplier: 0.8 + ivt_exp_multiplier: 1 + ivt_hvy_multiplier: 0.8 + ivt_com_multiplier: 0.7 + walktimeshort_multiplier: 2 + walktimelong_multiplier: 10 + biketimeshort_multiplier: 4 + biketimelong_multiplier: 20 + short_i_wait_multiplier: 2 + long_i_wait_multiplier: 1 + wacc_multiplier: 2 + wegr_multiplier: 2 + waux_multiplier: 2 + dtim_multiplier: 2 + xwait_multiplier: 2 + dacc_ratio: 0 + xfers_wlk_multiplier: 10 + xfers_drv_multiplier: 20 + drvtrn_distpen_0_multiplier: 270 + drvtrn_distpen_max: 15 + density_index_multiplier: -0.2 +# joint_sr2_ASC_no_auto: 0 +# joint_sr2_ASC_auto_deficient: 0 +# joint_sr2_ASC_auto_sufficient: 0 +# joint_drive_transit_ASC_no_auto: 0 + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + - income_segment + - demographic_segment + - c_ivt_for_segment + - c_cost_for_segment + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv diff --git a/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_drive_maz_tap.csv new file mode 100644 index 0000000000..b601a743f8 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_drive_maz_tap.csv @@ -0,0 +1,4 @@ +Label,Description,Expression,utility +util_drive_available,walk available,@df.drive_time.isna() * C_UNAVAILABLE,1 +util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_drive * df.drive_time",1 +util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * df.DIST * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap.csv new file mode 100644 index 0000000000..0d2d6ebaf5 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap.csv @@ -0,0 +1,69 @@ +Label,Description,Expression,fastest,cheapest,shortest +# fastest,,,,, +util_transit_available_fastest,transit_available,@~df.transit_available_fastest * C_UNAVAILABLE,1,, +#,,, FIXME demonstrate that we can use path inor (access and egress modes here),, +util_bus_xfer_fastest,number of transfers,"@C_DRIVE_TRANSFER_PENALTY * (access_mode == 'drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_BOARDS_FAST')-1).clip(0)",1,, +#,,, local bus,, +util_bus_ivt_fastest,local bus in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_FAST')",1,, +util_bus_wait_fastest,local bus wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_FAST')",1,, +util_bus_xwait_fastest,local bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_FAST')",1,, +util_bus_fare_fastest,local bus fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_FAST')",1,, +##,,, commuter bus,, +#util_com_ivt_fastest,commuter bus in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_FAST')",1,, +#util_com_wait_fastest,commuter bus wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_FAST')",1,, +#util_com_xwait_fastest,commuter bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_FAST')",1,, +#util_com_fare_fastest,commuter bus fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_FAST')",1,, +##,,, express,, +#util_exp_ivt_fastest,express in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_FAST')",1,, +#util_exp_wait_fastest,express wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_FAST')",1,, +#util_exp_xwait_fastest,express bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_FAST')",1,, +#util_exp_fare_fastest,express fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_FAST')",1,, +##,,, heavy,, +#util_hvy_ivt_fastest,heavy in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_FAST')",1,, +#util_hvy_wait_fastest,heavy wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_FAST')",1,, +#util_hvy_xwait_fastest,heavy bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_FAST')",1,, +#util_hvy_fare_fastest,heavy fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_FAST')",1,, +## cheapest,,,,, +#util_transit_available_cheapest,transit_available,@~df.transit_available_cheapest * C_UNAVAILABLE,,1, +#,,,, local bus, +util_bus_ivt_cheapest,local bus in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_CHEAP')",,1 +util_bus_wait_cheapest,local bus wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_CHEAP')",,1 +util_bus_xwait_cheapest,local bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_CHEAP')",,1 +util_bus_fare_cheapest,local bus fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_CHEAP')",,1 +##,,,, commuter bus, +#util_com_ivt_cheapest,commuter bus in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_CHEAP')",,1, +#util_com_wait_cheapest,commuter bus wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_CHEAP')",,1, +#util_com_xwait_cheapest,commuter bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_CHEAP')",,1, +#util_com_fare_cheapest,commuter bus fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_CHEAP')",,1, +##,,,, express, +#util_exp_ivt_cheapest,express in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_CHEAP')",,1, +#util_exp_wait_cheapest,express wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_CHEAP')",,1, +#util_exp_xwait_cheapest,express bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_CHEAP')",,1, +#util_exp_fare_cheapest,express fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_CHEAP')",,1, +##,,,, heavy, +#util_hvy_ivt_cheapest,heavy in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_CHEAP')",,1, +#util_hvy_wait_cheapest,heavy wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_CHEAP')",,1, +#util_hvy_xwait_cheapest,heavy bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_CHEAP')",,1, +#util_hvy_fare_cheapest,heavy fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_CHEAP')",,1, +## shortest,,,,, +#util_transit_available_shortest,transit_available,@~df.transit_available_shortest * C_UNAVAILABLE,,,1 +#,,,,, local bus +util_bus_ivt_shortest,local bus in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_SHORT')",,,1 +util_bus_wait_shortest,local bus wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_SHORT')",,,1 +util_bus_xwait_shortest,local bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_SHORT')",,,1 +util_bus_fare_shortest,local bus fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_SHORT')",,,1 +##,,,,, commuter bus +#util_com_ivt_shortest,commuter bus in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_SHORT')",,,1 +#util_com_wait_shortest,commuter bus wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_SHORT')",,,1 +#util_com_xwait_shortest,commuter bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_SHORT')",,,1 +#util_com_fare_shortest,commuter bus fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_SHORT')",,,1 +##,,,,, express +#util_exp_ivt_shortest,express in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_SHORT')",,,1 +#util_exp_wait_shortest,express wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_SHORT')",,,1 +#util_exp_xwait_shortest,express bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_SHORT')",,,1 +#util_exp_fare_shortest,express fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_SHORT')",,,1 +##,,,,, heav +#util_hvy_ivt_shortest,heavy in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_SHORT')",,,1 +#util_hvy_wait_shortest,heavy wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_SHORT')",,,1 +#util_hvy_xwait_shortest,heavy bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_SHORT')",,,1 +#util_hvy_fare_shortest,heavy fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_SHORT')",,,1 diff --git a/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv new file mode 100644 index 0000000000..0ff843ec8e --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv @@ -0,0 +1,26 @@ +Description,Target,Expression +# demographic segment,, +,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" +,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" +# fastest,, +,_bus_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_FAST')>0" +,_com_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_FAST')>0" +,_exp_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_FAST')>0" +,_hvy_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_FAST')>0" +,_lrf_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_FAST')>0" +,transit_available_fastest,_bus_available_fastest | _com_available_fastest | _exp_available_fastest | _hvy_available_fastest | _lrf_available_fastest +,not_transit_available_fastest,~transit_available_fastest +# cheapest,, +,_bus_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_CHEAP')>0" +,_com_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_CHEAP')>0" +,_exp_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_CHEAP')>0" +,_hvy_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_CHEAP')>0" +,_lrf_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_CHEAP')>0" +,transit_available_cheapest,_bus_available_cheapest | _com_available_cheapest | _exp_available_cheapest | _hvy_available_cheapest | _lrf_available_cheapest +# shortest,, +,_bus_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_SHORT')>0" +,_com_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_SHORT')>0" +,_exp_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_SHORT')>0" +,_hvy_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_SHORT')>0" +,_lrf_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_SHORT')>0" +,transit_available_shortest,_bus_available_shortest | _com_available_shortest | _exp_available_shortest | _hvy_available_shortest | _lrf_available_shortest diff --git a/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_walk_maz_tap.csv new file mode 100644 index 0000000000..bb9e26b98b --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_walk_maz_tap.csv @@ -0,0 +1,3 @@ +Label,Description,Expression,utility +util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 +util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walk * df.walk_time",1 diff --git a/activitysim/examples/example_sandag/configs_3_zone/write_trip_matrices.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/write_trip_matrices.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/write_trip_matrices.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/write_trip_matrices.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/placeholder_sandag/configs_benchmarking/settings.yaml b/activitysim/examples/placeholder_sandag/configs_benchmarking/settings.yaml new file mode 100644 index 0000000000..c432ba369f --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_benchmarking/settings.yaml @@ -0,0 +1,146 @@ +inherit_settings: True + +# - tracing + +# trace household id; comment out or leave empty for no trace +# households with all tour types +trace_hh_id: + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +trace_od: + +# input tables +input_table_list: + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + HHID: household_id + PERSONS: hhsize + workers: num_workers + VEHICL: auto_ownership + MAZ: home_zone_id + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + PERID: person_id + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + MAZ: zone_id + COUNTY: county_id + keep_columns: + - TAZ + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + - RESACRE + - CIACRE + - TOTEMP + - AGE0519 + - RETEMPN + - FPSEMPN + - HEREMPN + - OTHEMPN + - AGREMPN + - MWTEMPN + - PRKCST + - OPRKCST + - area_type + - HSENROLL + - COLLFTE + - COLLPTE + - TOPOLOGY + - TERMINAL + - access_dist_transit + - tablename: accessibility + filename: cached_accessibility.csv.gz + index_col: zone_id + keep_columns: + - auPkRetail + - auPkTotal + - auOpRetail + - auOpTotal + - trPkRetail + - trPkTotal + - trOpRetail + - trOpTotal + - nmRetail + - nmTotal + +output_tables: + h5_store: False + action: include + prefix: final_ + sort: True + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + +models: + - initialize_landuse + - initialize_households + # compute_accessibility # use cached table, otherwise overwhelms benchmark runtime + # --- STATIC cache prebuild steps + # single-process step to create attribute_combination list + - initialize_los + # multi-processable step to build STATIC cache + # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) + - initialize_tvpb + # --- + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + - write_data_dictionary + - track_skim_usage + - write_trip_matrices + - write_tables + diff --git a/activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings.yaml b/activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings.yaml new file mode 100755 index 0000000000..50cc909e17 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings.yaml @@ -0,0 +1,125 @@ +inherit_settings: True + +# activitysim run -c configs_skip_accessibility -c configs_3_zone -c ../prototype_mtc/configs -o output_3 -d data_3 + +# input tables +input_table_list: + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + HHID: household_id + PERSONS: hhsize + workers: num_workers + VEHICL: auto_ownership + MAZ: home_zone_id + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + PERID: person_id + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + MAZ: zone_id + COUNTY: county_id + keep_columns: + - TAZ + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + - RESACRE + - CIACRE + - TOTEMP + - AGE0519 + - RETEMPN + - FPSEMPN + - HEREMPN + - OTHEMPN + - AGREMPN + - MWTEMPN + - PRKCST + - OPRKCST + - area_type + - HSENROLL + - COLLFTE + - COLLPTE + - TOPOLOGY + - TERMINAL + - access_dist_transit + - tablename: accessibility + filename: final_accessibility.csv + index_col: zone_id + keep_columns: + - auPkRetail + - auPkTotal + - auOpRetail + - auOpTotal + - trPkRetail + - trPkTotal + - trOpRetail + - trOpTotal + - nmRetail + - nmTotal + + +models: + - initialize_landuse + - initialize_households + #- compute_accessibility + # --- STATIC cache prebuild steps + # single-process step to create attribute_combination list + - initialize_los + # multi-processable step to build STATIC cache + # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) + - initialize_tvpb + # --- + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + - write_data_dictionary + - track_skim_usage + - write_trip_matrices + - write_tables diff --git a/activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings_mp.yaml b/activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings_mp.yaml new file mode 100755 index 0000000000..d2264c3923 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings_mp.yaml @@ -0,0 +1,23 @@ +inherit_settings: True + +# activitysim run -c configs_skip_accessibility -c configs_3_zone -c ../prototype_mtc/configs -o output_3 -d data_3 -s settings_mp.yaml + +multiprocess: True + +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_tvpb + begin: initialize_tvpb + num_processes: 20 + slice: + tables: + - attribute_combinations + - name: mp_models + begin: school_location + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_data_dictionary diff --git a/activitysim/examples/example_sandag/data_1/households.csv b/activitysim/examples/placeholder_sandag/data_1/households.csv similarity index 100% rename from activitysim/examples/example_sandag/data_1/households.csv rename to activitysim/examples/placeholder_sandag/data_1/households.csv diff --git a/activitysim/examples/example_sandag/data_1/land_use.csv b/activitysim/examples/placeholder_sandag/data_1/land_use.csv similarity index 100% rename from activitysim/examples/example_sandag/data_1/land_use.csv rename to activitysim/examples/placeholder_sandag/data_1/land_use.csv diff --git a/activitysim/examples/example_sandag/data_1/persons.csv b/activitysim/examples/placeholder_sandag/data_1/persons.csv similarity index 100% rename from activitysim/examples/example_sandag/data_1/persons.csv rename to activitysim/examples/placeholder_sandag/data_1/persons.csv diff --git a/activitysim/examples/example_sandag/data_1/skims1.omx b/activitysim/examples/placeholder_sandag/data_1/skims1.omx similarity index 100% rename from activitysim/examples/example_sandag/data_1/skims1.omx rename to activitysim/examples/placeholder_sandag/data_1/skims1.omx diff --git a/activitysim/examples/example_sandag/data_2/households.csv b/activitysim/examples/placeholder_sandag/data_2/households.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/households.csv rename to activitysim/examples/placeholder_sandag/data_2/households.csv diff --git a/activitysim/examples/example_sandag/data_2/land_use.csv b/activitysim/examples/placeholder_sandag/data_2/land_use.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/land_use.csv rename to activitysim/examples/placeholder_sandag/data_2/land_use.csv diff --git a/activitysim/examples/example_sandag/data_2/maz.csv b/activitysim/examples/placeholder_sandag/data_2/maz.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/maz.csv rename to activitysim/examples/placeholder_sandag/data_2/maz.csv diff --git a/activitysim/examples/example_sandag/data_2/maz_to_maz_bike.csv b/activitysim/examples/placeholder_sandag/data_2/maz_to_maz_bike.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/maz_to_maz_bike.csv rename to activitysim/examples/placeholder_sandag/data_2/maz_to_maz_bike.csv diff --git a/activitysim/examples/example_sandag/data_2/maz_to_maz_walk.csv b/activitysim/examples/placeholder_sandag/data_2/maz_to_maz_walk.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/maz_to_maz_walk.csv rename to activitysim/examples/placeholder_sandag/data_2/maz_to_maz_walk.csv diff --git a/activitysim/examples/example_sandag/data_2/persons.csv b/activitysim/examples/placeholder_sandag/data_2/persons.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/persons.csv rename to activitysim/examples/placeholder_sandag/data_2/persons.csv diff --git a/activitysim/examples/example_sandag/data_2/skims1.omx b/activitysim/examples/placeholder_sandag/data_2/skims1.omx similarity index 100% rename from activitysim/examples/example_sandag/data_2/skims1.omx rename to activitysim/examples/placeholder_sandag/data_2/skims1.omx diff --git a/activitysim/examples/example_sandag/data_2/taz.csv b/activitysim/examples/placeholder_sandag/data_2/taz.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/taz.csv rename to activitysim/examples/placeholder_sandag/data_2/taz.csv diff --git a/activitysim/examples/placeholder_sandag/data_3/cached_accessibility.csv.gz b/activitysim/examples/placeholder_sandag/data_3/cached_accessibility.csv.gz new file mode 100644 index 0000000000..f5bafec20f Binary files /dev/null and b/activitysim/examples/placeholder_sandag/data_3/cached_accessibility.csv.gz differ diff --git a/activitysim/examples/example_sandag/data_3/households.csv b/activitysim/examples/placeholder_sandag/data_3/households.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/households.csv rename to activitysim/examples/placeholder_sandag/data_3/households.csv diff --git a/activitysim/examples/example_sandag/data_3/land_use.csv b/activitysim/examples/placeholder_sandag/data_3/land_use.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/land_use.csv rename to activitysim/examples/placeholder_sandag/data_3/land_use.csv diff --git a/activitysim/examples/example_sandag/data_3/maz.csv b/activitysim/examples/placeholder_sandag/data_3/maz.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/maz.csv rename to activitysim/examples/placeholder_sandag/data_3/maz.csv diff --git a/activitysim/examples/example_sandag/data_3/maz_to_maz_bike.csv b/activitysim/examples/placeholder_sandag/data_3/maz_to_maz_bike.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/maz_to_maz_bike.csv rename to activitysim/examples/placeholder_sandag/data_3/maz_to_maz_bike.csv diff --git a/activitysim/examples/example_sandag/data_3/maz_to_maz_walk.csv b/activitysim/examples/placeholder_sandag/data_3/maz_to_maz_walk.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/maz_to_maz_walk.csv rename to activitysim/examples/placeholder_sandag/data_3/maz_to_maz_walk.csv diff --git a/activitysim/examples/example_sandag/data_3/maz_to_tap_drive.csv b/activitysim/examples/placeholder_sandag/data_3/maz_to_tap_drive.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/maz_to_tap_drive.csv rename to activitysim/examples/placeholder_sandag/data_3/maz_to_tap_drive.csv diff --git a/activitysim/examples/example_sandag/data_3/maz_to_tap_walk.csv b/activitysim/examples/placeholder_sandag/data_3/maz_to_tap_walk.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/maz_to_tap_walk.csv rename to activitysim/examples/placeholder_sandag/data_3/maz_to_tap_walk.csv diff --git a/activitysim/examples/example_sandag/data_3/persons.csv b/activitysim/examples/placeholder_sandag/data_3/persons.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/persons.csv rename to activitysim/examples/placeholder_sandag/data_3/persons.csv diff --git a/activitysim/examples/example_sandag/data_3/tap.csv b/activitysim/examples/placeholder_sandag/data_3/tap.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/tap.csv rename to activitysim/examples/placeholder_sandag/data_3/tap.csv diff --git a/activitysim/examples/example_sandag/data_3/tap_lines.csv b/activitysim/examples/placeholder_sandag/data_3/tap_lines.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/tap_lines.csv rename to activitysim/examples/placeholder_sandag/data_3/tap_lines.csv diff --git a/activitysim/examples/example_sandag/data_3/tap_skims1.omx b/activitysim/examples/placeholder_sandag/data_3/tap_skims1.omx similarity index 100% rename from activitysim/examples/example_sandag/data_3/tap_skims1.omx rename to activitysim/examples/placeholder_sandag/data_3/tap_skims1.omx diff --git a/activitysim/examples/example_sandag/data_3/taz.csv b/activitysim/examples/placeholder_sandag/data_3/taz.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/taz.csv rename to activitysim/examples/placeholder_sandag/data_3/taz.csv diff --git a/activitysim/examples/example_sandag/data_3/taz_skims1.omx b/activitysim/examples/placeholder_sandag/data_3/taz_skims1.omx similarity index 100% rename from activitysim/examples/example_sandag/data_3/taz_skims1.omx rename to activitysim/examples/placeholder_sandag/data_3/taz_skims1.omx diff --git a/activitysim/examples/example_multiple_zone/output_3_example_marin_mp/.gitignore b/activitysim/examples/placeholder_sandag/output_1/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_example_marin_mp/.gitignore rename to activitysim/examples/placeholder_sandag/output_1/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3/cache/.gitignore b/activitysim/examples/placeholder_sandag/output_1/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3/cache/.gitignore rename to activitysim/examples/placeholder_sandag/output_1/cache/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_1/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_1/log/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_1/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_1/log/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_2/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_1/trace/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_2/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_1/trace/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_mp/.gitignore b/activitysim/examples/placeholder_sandag/output_2/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_mp/.gitignore rename to activitysim/examples/placeholder_sandag/output_2/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_example_marin_mp/cache/.gitignore b/activitysim/examples/placeholder_sandag/output_2/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_example_marin_mp/cache/.gitignore rename to activitysim/examples/placeholder_sandag/output_2/cache/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_2/log/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_2/log/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_example_marin_mp/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_2/trace/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_example_marin_mp/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_2/trace/.gitignore diff --git a/activitysim/examples/example_multiple_zone/test/output/.gitignore b/activitysim/examples/placeholder_sandag/output_3/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/test/output/.gitignore rename to activitysim/examples/placeholder_sandag/output_3/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_mp/cache/.gitignore b/activitysim/examples/placeholder_sandag/output_3/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_mp/cache/.gitignore rename to activitysim/examples/placeholder_sandag/output_3/cache/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_mp/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_3/log/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_mp/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_3/log/.gitignore diff --git a/activitysim/examples/example_multiple_zone/test/output/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_3/trace/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/test/output/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_3/trace/.gitignore diff --git a/activitysim/examples/placeholder_sandag/run_sandag.txt b/activitysim/examples/placeholder_sandag/run_sandag.txt new file mode 100644 index 0000000000..a1c70a3b0f --- /dev/null +++ b/activitysim/examples/placeholder_sandag/run_sandag.txt @@ -0,0 +1,14 @@ +### +### 1 Zone +### +activitysim run -c configs_1_zone -c prototype_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml + +### +### 2 Zone +### +activitysim run -c configs_2_zone -c placeholder_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml + +### +### 3 Zone +### +activitysim run -c configs_3_zone -c prototype_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml \ No newline at end of file diff --git a/activitysim/examples/placeholder_sandag/scripts/sandag_crop_1_zone.py b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_1_zone.py new file mode 100644 index 0000000000..0c84e53794 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_1_zone.py @@ -0,0 +1,175 @@ +import argparse +import os + +import numpy as np +import openmatrix as omx +import pandas as pd + +segments = { + "test": "../data_2/taz.csv", # crop to match 2 zone TAZs, includes univ + "full": (0, 100000), +} + +parser = argparse.ArgumentParser(description="crop SANDAG 1 zone raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of TAZ zone_ids and foreign keys & write orphan_households file", +) + +args = parser.parse_args() + + +segment_name = args.segment_name[0] +check_geography = args.check_geography + +assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" +if isinstance(segments[segment_name], str): + zone_df = pd.read_csv(segments[segment_name]) + zones = zone_df["TAZ"].values +else: + zone_min, zone_max = segments[segment_name] + zones = range(zone_min, zone_max + 1) + +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}_1" + + +print(f"check_geography {check_geography}") + +if not os.path.isdir(output_dir): + print(f"creating output directory {output_dir}") + os.mkdir(output_dir) + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def integerize_id_columns(df, table_name): + columns = ["TAZ", "household_id", "HHID", "taz"] + for c in df.columns: + if c in columns: + print(f"converting {table_name}.{c} to int") + if df[c].isnull().any(): + print(df[c][df[c].isnull()]) + df[c] = df[c].astype(int) + + +def read_csv(file_name, integerize=True): + df = pd.read_csv(input_path(file_name)) + + print(f"read {file_name} {df.shape}") + + return df + + +def to_csv(df, file_name): + print(f"writing {file_name} {df.shape} {output_path(file_name)}") + df.to_csv(output_path(file_name), index=False) + + +if check_geography: + + # ######## check for orphan_households not in any taz in land_use + land_use = read_csv("land_use.csv") + + households = read_csv("households.csv") + orphan_households = households[~households.TAZ.isin(land_use.TAZ)] + print(f"{len(orphan_households)} orphan_households") + + # write orphan_households to INPUT directory (since it doesn't belong in output) + file_name = "orphan_households.csv" + print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") + orphan_households.to_csv(input_path(file_name), index=False) + + +# +# land_use +# +land_use = read_csv("land_use.csv") +land_use = land_use[land_use["TAZ"].isin(zones)] +integerize_id_columns(land_use, "land_use") +land_use = land_use.sort_values("TAZ") + +# move index col to front +land_use.insert(0, "TAZ", land_use.pop("TAZ")) + +to_csv(land_use, "land_use.csv") + +# +# households +# +households = read_csv("households.csv") +households = households[households["TAZ"].isin(land_use.TAZ)] +integerize_id_columns(households, "households") + +to_csv(households, "households.csv") + +# +# persons +# +persons = read_csv("persons.csv") +persons = persons[persons["household_id"].isin(households.HHID)] +integerize_id_columns(persons, "persons") + +to_csv(persons, "persons.csv") + +# +# skims +# +omx_infile_name = "skims.omx" +skim_data_type = np.float32 + +omx_in = omx.open_file(input_path(omx_infile_name)) +print(f"omx_in shape {omx_in.shape()}") + + +zone = land_use.sort_values("TAZ")[["TAZ"]] +zone.index = zone.TAZ - 1 +zone_indexes = zone.index.tolist() # index of TAZ in skim (zero-based, no mapping) +zone_labels = zone.TAZ.tolist() # TAZ in omx index order + + +# create +num_outfiles = 6 if segment_name == "full" else 1 +if num_outfiles == 1: + omx_out = [omx.open_file(output_path(f"skims1.omx"), "w")] +else: + omx_out = [ + omx.open_file(output_path(f"skims{i+1}.omx"), "w") for i in range(num_outfiles) + ] + +for omx_file in omx_out: + omx_file.create_mapping("ZONE", zone_labels) + +iskim = 0 +for mat_name in omx_in.list_matrices(): + + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) + m = m[zone_indexes, :][:, zone_indexes] + print(f"{mat_name} {m.shape}") + + omx_file = omx_out[iskim % num_outfiles] + omx_file[mat_name] = m + iskim += 1 + + +omx_in.close() +for omx_file in omx_out: + omx_file.close() diff --git a/activitysim/examples/placeholder_sandag/scripts/sandag_crop_2_zone.py b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_2_zone.py new file mode 100644 index 0000000000..bfcf9c84d6 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_2_zone.py @@ -0,0 +1,271 @@ +import argparse +import os + +import numpy as np +import openmatrix as omx +import pandas as pd + +MAZ_OFFSET = 0 + +segments = { + "test": (492, 1100), # includes univ + "full": (0, 100000), +} + +parser = argparse.ArgumentParser(description="crop SANDAG 2 zone raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file", +) + +args = parser.parse_args() + + +segment_name = args.segment_name[0] +check_geography = args.check_geography + +assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" +maz_min, maz_max = segments[segment_name] + +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}_2" + + +print(f"segment_name {segment_name}") + +print(f"input_dir {input_dir}") +print(f"output_dir {output_dir}") +print(f"maz_min {maz_min}") +print(f"maz_max {maz_max}") + +print(f"check_geography {check_geography}") + +if not os.path.isdir(output_dir): + print(f"creating output directory {output_dir}") + os.mkdir(output_dir) + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def integerize_id_columns(df, table_name): + columns = ["MAZ", "OMAZ", "DMAZ", "TAZ", "zone_id", "household_id", "HHID"] + for c in df.columns: + if c in columns: + print(f"converting {table_name}.{c} to int") + if df[c].isnull().any(): + print(df[c][df[c].isnull()]) + df[c] = df[c].astype(int) + + +def read_csv(file_name, integerize=True): + df = pd.read_csv(input_path(file_name)) + + print(f"read {file_name} {df.shape}") + + return df + + +def to_csv(df, file_name): + print(f"writing {file_name} {df.shape} {output_path(file_name)}") + df.to_csv(output_path(file_name), index=False) + + +print(f"output_dir {output_dir} maz_min {maz_min} maz_max {maz_max}") + + +if check_geography: + + # ######## check for orphan_households not in any maz in land_use + land_use = read_csv("land_use.csv") + land_use = land_use[["MAZ", "TAZ"]] # King County + land_use = land_use.sort_values(["TAZ", "MAZ"]) + + households = read_csv("households.csv") + orphan_households = households[~households.MAZ.isin(land_use.MAZ)] + print(f"{len(orphan_households)} orphan_households") + + # write orphan_households to INPUT directory (since it doesn't belong in output) + file_name = "orphan_households.csv" + print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") + orphan_households.to_csv(input_path(file_name), index=False) + + # ######## check that land_use and maz and taz tables have same MAZs and TAZs + + # could just build maz and taz files, but want to make sure PSRC data is right + + land_use = read_csv("land_use.csv") + land_use = land_use.sort_values("MAZ") + maz = read_csv("maz.csv").sort_values("MAZ") + + # ### FATAL ### + if not land_use.MAZ.isin(maz.MAZ).all(): + print( + f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}" + ) + raise RuntimeError(f"land_use.MAZ not in maz.MAZ") + + if not maz.MAZ.isin(land_use.MAZ).all(): + print(f"maz.MAZ not in land_use.MAZ\n{maz.MAZ[~maz.MAZ.isin(land_use.MAZ)]}") + + # ### FATAL ### + if not land_use.TAZ.isin(maz.TAZ).all(): + print( + f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}" + ) + raise RuntimeError(f"land_use.TAZ not in maz.TAZ") + + if not maz.TAZ.isin(land_use.TAZ).all(): + print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") + + land_use = land_use.sort_values("TAZ") + taz = read_csv("taz.csv").sort_values("TAZ") + + # ### FATAL ### + if not land_use.TAZ.isin(taz.TAZ).all(): + print( + f"land_use.TAZ not in taz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(taz.MAZ)]}" + ) + raise RuntimeError(f"land_use.TAZ not in taz.TAZ") + + if not taz.TAZ.isin(land_use.TAZ).all(): + print(f"taz.TAZ not in land_use.TAZ\n{taz.TAZ[~taz.TAZ.isin(land_use.TAZ)]}") + + # #########s + +# +# land_use +# +land_use = read_csv("land_use.csv") +land_use = land_use[(land_use["MAZ"] >= maz_min) & (land_use["MAZ"] <= maz_max)] +integerize_id_columns(land_use, "land_use") +land_use = land_use.sort_values("MAZ") + +# make sure we have some HSENROLL and COLLFTE, even for very for small samples +if land_use["HSENROLL"].sum() == 0: + assert segment_name != "full", f"land_use['HSENROLL'] is 0 for full sample!" + land_use["HSENROLL"] = land_use["AGE0519"] + print(f"\nWARNING: land_use.HSENROLL is 0, so backfilled with AGE0519\n") + +if land_use["COLLFTE"].sum() == 0: + assert segment_name != "full", f"land_use['COLLFTE'] is 0 for full sample!" + land_use["COLLFTE"] = land_use["HSENROLL"] + print(f"\nWARNING: land_use.COLLFTE is 0, so backfilled with HSENROLL\n") + +# move MAZ and TAZ columns to front +land_use = land_use[ + ["MAZ", "TAZ"] + [c for c in land_use.columns if c not in ["MAZ", "TAZ"]] +] +to_csv(land_use, "land_use.csv") + +# +# maz +# +maz = read_csv("maz.csv").sort_values(["MAZ", "TAZ"]) +maz = maz[maz["MAZ"].isin(land_use.MAZ)] +integerize_id_columns(maz, "maz") + +assert land_use.MAZ.isin(maz.MAZ).all() +assert land_use.TAZ.isin(maz.TAZ).all() +assert maz.TAZ.isin(land_use.TAZ).all() +to_csv(maz, "maz.csv") + +# +# taz +# +taz = read_csv("taz.csv").sort_values(["TAZ"]) +taz = taz[taz["TAZ"].isin(land_use.TAZ)] +integerize_id_columns(taz, "taz") + +assert land_use.TAZ.isin(taz.TAZ).all() +to_csv(taz, "taz.csv") + +# print(maz.shape) +# print(f"MAZ {len(maz.MAZ.unique())}") +# print(f"TAZ {len(maz.TAZ.unique())}") + +# +# households +# +households = read_csv("households.csv") +households = households[households["MAZ"].isin(maz.MAZ)] +integerize_id_columns(households, "households") + +to_csv(households, "households.csv") + +# +# persons +# +persons = read_csv("persons.csv") +persons = persons[persons["household_id"].isin(households.HHID)] +integerize_id_columns(persons, "persons") + +to_csv(persons, "persons.csv") + +# +# maz_to_maz_walk and maz_to_maz_bike +# +for file_name in ["maz_to_maz_walk.csv", "maz_to_maz_bike.csv"]: + m2m = read_csv(file_name) + m2m = m2m[m2m.OMAZ.isin(maz.MAZ) & m2m.DMAZ.isin(maz.MAZ)] + integerize_id_columns(m2m, file_name) + to_csv(m2m, file_name) + +# +# skims +# +omx_infile_name = "skims.omx" +skim_data_type = np.float32 + +omx_in = omx.open_file(input_path(omx_infile_name)) +print(f"omx_in shape {omx_in.shape()}") + +taz = taz.sort_values("TAZ") +taz.index = taz.TAZ - 1 +tazs_indexes = taz.index.tolist() # index of TAZ in skim (zero-based, no mapping) +taz_labels = taz.TAZ.tolist() # TAZ zone_ids in omx index order + +# create +num_outfiles = 6 if segment_name == "full" else 1 +if num_outfiles == 1: + omx_out = [omx.open_file(output_path(f"skims1.omx"), "w")] +else: + omx_out = [ + omx.open_file(output_path(f"skims{i+1}.omx"), "w") for i in range(num_outfiles) + ] + +for omx_file in omx_out: + omx_file.create_mapping("ZONE", taz_labels) + +iskim = 0 +for mat_name in omx_in.list_matrices(): + + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) + m = m[tazs_indexes, :][:, tazs_indexes] + print(f"{mat_name} {m.shape}") + + omx_file = omx_out[iskim % num_outfiles] + omx_file[mat_name] = m + iskim += 1 + + +omx_in.close() +for omx_file in omx_out: + omx_file.close() diff --git a/activitysim/examples/placeholder_sandag/scripts/sandag_crop_3_zone.py b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_3_zone.py new file mode 100644 index 0000000000..908692d3d4 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_3_zone.py @@ -0,0 +1,282 @@ +import argparse +import os + +import numpy as np +import openmatrix as omx +import pandas as pd + +MAZ_OFFSET = 0 + +segments = { + "test": {"MAZ": np.arange(MAZ_OFFSET + 492, MAZ_OFFSET + 1101)}, # includes univ + "univ_east": {"MAZ": np.arange(MAZ_OFFSET, MAZ_OFFSET + 1080)}, + "full": {}, +} + +parser = argparse.ArgumentParser(description="crop SANDAG 3 zone raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ, TAP zone_ids and foreign keys & write orphan_households file", +) + +args = parser.parse_args() + + +segment_name = args.segment_name[0] +check_geography = args.check_geography + +assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" + +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}_3" + + +print(f"segment_name {segment_name}") + +print(f"input_dir {input_dir}") +print(f"output_dir {output_dir}") + +print(f"check_geography {check_geography}") + +if not os.path.isdir(output_dir): + print(f"creating output directory {output_dir}") + os.mkdir(output_dir) + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def patch_maz(df, maz_offset): + for c in df.columns: + if c in ["MAZ", "OMAZ", "DMAZ", "mgra", "orig_mgra", "dest_mgra"]: + df[c] += maz_offset + return df + + +def read_csv(file_name): + df = pd.read_csv(input_path(file_name)) + if MAZ_OFFSET: + df = patch_maz(df, MAZ_OFFSET) + print(f"read {file_name} {df.shape}") + return df + + +def to_csv(df, file_name): + df.to_csv(output_path(file_name), index=False) + print(f"write {file_name} {df.shape}") + + +def crop_omx(omx_file_name, zones, num_outfiles=1): + + skim_data_type = np.float32 + + omx_in = omx.open_file(input_path(f"{omx_file_name}.omx")) + print(f"omx_in shape {omx_in.shape()}") + + offset_map = None + for mapping_name in omx_in.listMappings(): + _offset_map = np.asanyarray(omx_in.mapentries(mapping_name)) + offset_map = _offset_map + + om = pd.Series(offset_map) + om = om[om.isin(zones.values)] + indexes = om.index.values + + labels = zones.values # TAZ zone_ids in omx index order + + # create + if num_outfiles == 1: + omx_out = [omx.open_file(output_path(f"{omx_file_name}.omx"), "w")] + else: + omx_out = [ + omx.open_file(output_path(f"{omx_file_name}{i + 1}.omx"), "w") + for i in range(num_outfiles) + ] + + for omx_file in omx_out: + omx_file.create_mapping("ZONE", labels) + + iskim = 0 + for mat_name in omx_in.list_matrices(): + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) + m = m[indexes, :][:, indexes] + print(f"{mat_name} {m.shape}") + + omx_file = omx_out[iskim % num_outfiles] + omx_file[mat_name] = m + iskim += 1 + + omx_in.close() + for omx_file in omx_out: + omx_file.close() + + +# non-standard input file names + +LAND_USE = "land_use.csv" +HOUSEHOLDS = "households.csv" +PERSONS = "persons.csv" +MAZ_TAZ = "maz.csv" +TAP_MAZ = "tap.csv" +TAZ = "taz.csv" + + +if check_geography: + + # ######## check for orphan_households not in any maz in land_use + land_use = read_csv(LAND_USE) + land_use = land_use[["MAZ", "TAZ"]] + land_use = land_use.sort_values(["TAZ", "MAZ"]) + + households = read_csv(HOUSEHOLDS) + orphan_households = households[~households.MAZ.isin(land_use.MAZ)] + print(f"{len(orphan_households)} orphan_households") + + # write orphan_households to INPUT directory (since it doesn't belong in output) + if len(orphan_households) > 0: + file_name = "orphan_households.csv" + print( + f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}" + ) + orphan_households.to_csv(input_path(file_name), index=False) + + # ######## check that land_use and maz and taz tables have same MAZs and TAZs + + # could just build maz and taz files, but want to make sure PSRC data is right + + land_use = read_csv(LAND_USE) + # assert land_use.set_index('MAZ').index.is_monotonic_increasing + + land_use = land_use.sort_values("MAZ") + maz = read_csv(MAZ_TAZ).sort_values("MAZ") + + # ### FATAL ### + if not land_use.MAZ.isin(maz.MAZ).all(): + print( + f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}" + ) + raise RuntimeError(f"land_use.MAZ not in maz.MAZ") + + if not maz.MAZ.isin(land_use.MAZ).all(): + print(f"maz.MAZ not in land_use.MAZ\n{maz.MAZ[~maz.MAZ.isin(land_use.MAZ)]}") + + # ### FATAL ### + if not land_use.TAZ.isin(maz.TAZ).all(): + print( + f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}" + ) + raise RuntimeError(f"land_use.TAZ not in maz.TAZ") + + if not maz.TAZ.isin(land_use.TAZ).all(): + print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") + + +# land_use + +land_use = read_csv(LAND_USE) + +land_use.MAZ = land_use.MAZ.astype(int) + +ur_land_use = land_use.copy() + +slicer = segments[segment_name] +for slice_col, slice_values in slicer.items(): + # print(f"slice {slice_col}: {slice_values}") + land_use = land_use[land_use[slice_col].isin(slice_values)] + +print(f"land_use shape after slicing {land_use.shape}") +to_csv(land_use, "land_use.csv") + + +# TAZ + +taz = pd.DataFrame({"TAZ": sorted(ur_land_use.TAZ.unique())}) +taz = taz[taz.TAZ.isin(land_use["TAZ"])] +to_csv(taz, TAZ) + + +# maz_taz + + +maz_taz = read_csv(MAZ_TAZ).sort_values("MAZ") +maz_taz = maz_taz[maz_taz.MAZ.isin(land_use.MAZ)] +to_csv(maz_taz, MAZ_TAZ) + +# tap + +taps = read_csv(TAP_MAZ) +taps = taps[["TAP", "MAZ"]].sort_values(by="TAP").reset_index(drop=True) +taps = taps[taps["MAZ"].isin(land_use["MAZ"])] +to_csv(taps, "tap.csv") + +# maz to tap + +maz_tap_walk = read_csv("maz_to_tap_walk.csv").sort_values(["MAZ", "TAP"]) +taz_tap_drive = read_csv("maz_to_tap_drive.csv").sort_values(["MAZ", "TAP"]) + +maz_tap_walk = maz_tap_walk[ + maz_tap_walk["MAZ"].isin(land_use["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"]) +] +taz_tap_drive = taz_tap_drive[ + taz_tap_drive["MAZ"].isin(land_use["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"]) +] + +to_csv(maz_tap_walk, "maz_to_tap_walk.csv") +to_csv(taz_tap_drive, "maz_to_tap_drive.csv") + +# maz to mz + +maz_maz_walk = read_csv("maz_to_maz_walk.csv").sort_values(["OMAZ", "DMAZ"]) +maz_maz_bike = read_csv("maz_to_maz_bike.csv").sort_values(["OMAZ", "DMAZ"]) + +maz_maz_walk = maz_maz_walk[ + maz_maz_walk["OMAZ"].isin(land_use["MAZ"]) + & maz_maz_walk["DMAZ"].isin(land_use["MAZ"]) +] +maz_maz_bike = maz_maz_bike[ + maz_maz_bike["OMAZ"].isin(land_use["MAZ"]) + & maz_maz_bike["DMAZ"].isin(land_use["MAZ"]) +] + +to_csv(maz_maz_walk, "maz_to_maz_walk.csv") +to_csv(maz_maz_bike, "maz_to_maz_bike.csv") + +# tap_lines + +tap_lines = read_csv("tap_lines.csv") +tap_lines = tap_lines[tap_lines["TAP"].isin(taps["TAP"])] +to_csv(tap_lines, "tap_lines.csv") + +# households + +households = read_csv(HOUSEHOLDS) +households = households[households["MAZ"].isin(land_use["MAZ"])] +to_csv(households, "households.csv") + +# persons + +persons = read_csv(PERSONS) +persons = persons[persons["household_id"].isin(households["HHID"])] +to_csv(persons, "persons.csv") + +# skims + +crop_omx("taz_skims1", taz.TAZ, num_outfiles=(4 if segment_name == "full" else 1)) +crop_omx("tap_skims1", taps.TAP, num_outfiles=(4 if segment_name == "full" else 1)) diff --git a/activitysim/examples/example_mtc/test/configs_chunkless/network_los.yaml b/activitysim/examples/placeholder_sandag/test/configs_1_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs_chunkless/network_los.yaml rename to activitysim/examples/placeholder_sandag/test/configs_1_zone/network_los.yaml diff --git a/activitysim/examples/example_sandag/test/configs_1_zone/settings.yaml b/activitysim/examples/placeholder_sandag/test/configs_1_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_1_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/test/configs_1_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/test/configs_1_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/test/configs_1_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_1_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/test/configs_1_zone/settings_mp.yaml diff --git a/activitysim/examples/example_mtc/test/configs_mp/network_los.yaml b/activitysim/examples/placeholder_sandag/test/configs_2_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs_mp/network_los.yaml rename to activitysim/examples/placeholder_sandag/test/configs_2_zone/network_los.yaml diff --git a/activitysim/examples/example_sandag/test/configs_2_zone/settings.yaml b/activitysim/examples/placeholder_sandag/test/configs_2_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_2_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/test/configs_2_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/test/configs_2_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/test/configs_2_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_2_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/test/configs_2_zone/settings_mp.yaml diff --git a/activitysim/examples/example_sandag/test/configs_3_zone/network_los.yaml b/activitysim/examples/placeholder_sandag/test/configs_3_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_3_zone/network_los.yaml rename to activitysim/examples/placeholder_sandag/test/configs_3_zone/network_los.yaml diff --git a/activitysim/examples/example_sandag/test/configs_3_zone/settings.yaml b/activitysim/examples/placeholder_sandag/test/configs_3_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_3_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/test/configs_3_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/test/configs_3_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/test/configs_3_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_3_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/test/configs_3_zone/settings_mp.yaml diff --git a/activitysim/examples/example_psrc/output/.gitignore b/activitysim/examples/placeholder_sandag/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/output/.gitignore rename to activitysim/examples/placeholder_sandag/test/output/.gitignore diff --git a/activitysim/examples/example_multiple_zone/test/output/cache/.gitignore b/activitysim/examples/placeholder_sandag/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/test/output/cache/.gitignore rename to activitysim/examples/placeholder_sandag/test/output/cache/.gitignore diff --git a/activitysim/examples/example_psrc/output/log/.gitignore b/activitysim/examples/placeholder_sandag/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/output/log/.gitignore rename to activitysim/examples/placeholder_sandag/test/output/trace/.gitignore diff --git a/activitysim/examples/example_sandag/test/regress/final_1_zone_tours.csv b/activitysim/examples/placeholder_sandag/test/regress/final_1_zone_tours.csv similarity index 100% rename from activitysim/examples/example_sandag/test/regress/final_1_zone_tours.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_1_zone_tours.csv diff --git a/activitysim/examples/example_sandag/test/regress/final_1_zone_trips.csv b/activitysim/examples/placeholder_sandag/test/regress/final_1_zone_trips.csv similarity index 100% rename from activitysim/examples/example_sandag/test/regress/final_1_zone_trips.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_1_zone_trips.csv diff --git a/activitysim/examples/example_sandag/test/regress/final_2_zone_tours.csv b/activitysim/examples/placeholder_sandag/test/regress/final_2_zone_tours.csv similarity index 100% rename from activitysim/examples/example_sandag/test/regress/final_2_zone_tours.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_2_zone_tours.csv diff --git a/activitysim/examples/example_sandag/test/regress/final_2_zone_trips.csv b/activitysim/examples/placeholder_sandag/test/regress/final_2_zone_trips.csv similarity index 100% rename from activitysim/examples/example_sandag/test/regress/final_2_zone_trips.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_2_zone_trips.csv diff --git a/activitysim/examples/example_sandag/test/regress/final_3_zone_tours.csv b/activitysim/examples/placeholder_sandag/test/regress/final_3_zone_tours.csv similarity index 100% rename from activitysim/examples/example_sandag/test/regress/final_3_zone_tours.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_3_zone_tours.csv diff --git a/activitysim/examples/example_sandag/test/regress/final_3_zone_trips.csv b/activitysim/examples/placeholder_sandag/test/regress/final_3_zone_trips.csv similarity index 100% rename from activitysim/examples/example_sandag/test/regress/final_3_zone_trips.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_3_zone_trips.csv diff --git a/activitysim/examples/placeholder_sandag/test/simulation.py b/activitysim/examples/placeholder_sandag/test/simulation.py new file mode 100755 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/placeholder_sandag/test/test_sandag.py b/activitysim/examples/placeholder_sandag/test/test_sandag.py new file mode 100644 index 0000000000..e97ad885d6 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/test/test_sandag.py @@ -0,0 +1,135 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources +import pytest + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def example_path(dirname): + resource = os.path.join("examples", "placeholder_sandag", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def mtc_example_path(dirname): + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def psrc_example_path(dirname): + resource = os.path.join("examples", "placeholder_psrc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def build_data(): + pass + + +@pytest.fixture(scope="module") +def data(): + build_data() + + +def run_test(zone, multiprocess=False): + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(zone): + + # ## regress tours + regress_tours_df = pd.read_csv( + test_path(f"regress/final_{zone}_zone_tours.csv") + ) + tours_df = pd.read_csv(test_path(f"output/final_{zone}_zone_tours.csv")) + tours_df.to_csv( + test_path(f"regress/final_{zone}_zone_tours_last_run.csv"), index=False + ) + print(f"regress tours") + pdt.assert_frame_equal(tours_df, regress_tours_df, rtol=1e-03) + + # ## regress trips + regress_trips_df = pd.read_csv( + test_path(f"regress/final_{zone}_zone_trips.csv") + ) + trips_df = pd.read_csv(test_path(f"output/final_{zone}_zone_trips.csv")) + trips_df.to_csv( + test_path(f"regress/final_{zone}_zone_trips_last_run.csv"), index=False + ) + print(f"regress trips") + pdt.assert_frame_equal(trips_df, regress_trips_df, rtol=1e-03) + + # run test + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + if zone == "2": + base_configs = psrc_example_path(f"configs") + else: + base_configs = mtc_example_path(f"configs") + + run_args = [ + "-c", + test_path(f"configs_{zone}_zone"), + "-c", + example_path(f"configs_{zone}_zone"), + "-c", + base_configs, + "-d", + example_path(f"data_{zone}"), + "-o", + test_path("output"), + ] + + if multiprocess: + run_args = run_args + ["-s", "settings_mp.yaml"] + + subprocess.run(["coverage", "run", "-a", file_path] + run_args, check=True) + + regress(zone) + + +def test_1_zone(data): + run_test(zone="1", multiprocess=False) + + +def test_1_zone_mp(data): + run_test(zone="1", multiprocess=True) + + +def test_2_zone(data): + run_test(zone="2", multiprocess=False) + + +def test_2_zone_mp(data): + run_test(zone="2", multiprocess=True) + + +def test_3_zone(data): + run_test(zone="3", multiprocess=False) + + +def test_3_zone_mp(data): + run_test(zone="3", multiprocess=True) + + +if __name__ == "__main__": + + # call each test explicitly so we get a pass/fail for each + build_data() + run_test(zone="1", multiprocess=False) + run_test(zone="1", multiprocess=True) + + run_test(zone="2", multiprocess=False) + run_test(zone="2", multiprocess=True) + + run_test(zone="3", multiprocess=False) + run_test(zone="3", multiprocess=True) diff --git a/activitysim/examples/example_psrc/.gitignore b/activitysim/examples/prototype_arc/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/.gitignore rename to activitysim/examples/prototype_arc/.gitignore diff --git a/activitysim/examples/example_arc/README.MD b/activitysim/examples/prototype_arc/README.MD similarity index 100% rename from activitysim/examples/example_arc/README.MD rename to activitysim/examples/prototype_arc/README.MD diff --git a/activitysim/examples/example_arc/change_log.txt b/activitysim/examples/prototype_arc/change_log.txt similarity index 100% rename from activitysim/examples/example_arc/change_log.txt rename to activitysim/examples/prototype_arc/change_log.txt diff --git a/activitysim/examples/example_psrc/configs/_dummy_coefficients.csv b/activitysim/examples/prototype_arc/configs/_dummy_coefficients.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/_dummy_coefficients.csv rename to activitysim/examples/prototype_arc/configs/_dummy_coefficients.csv diff --git a/activitysim/examples/prototype_arc/configs/accessibility.csv b/activitysim/examples/prototype_arc/configs/accessibility.csv new file mode 100644 index 0000000000..cef9a0ae5d --- /dev/null +++ b/activitysim/examples/prototype_arc/configs/accessibility.csv @@ -0,0 +1,77 @@ +Description,Target,Expression +#,, +#,, auto peak +#,, +#AM - ALL TRANSIT,, +AM OVT (MW[31]),_amOvt,"skim_od[('WLK_ALLTRN_WLK_WALK', 'AM')] + skim_od[('WLK_ALLTRN_WLK_IWAIT','AM')]+ skim_od[('WLK_ALLTRN_WLK_XWAIT', 'AM')]" +AM OVT (Transposed) (MW[32]),_amOvt_T,"skim_do[('WLK_ALLTRN_WLK_WALK', 'AM')] + skim_do[('WLK_ALLTRN_WLK_IWAIT','AM')]+ skim_do[('WLK_ALLTRN_WLK_XWAIT', 'AM')]" +AM IVT (MW[33]),_amIvt,"skim_od[('WLK_ALLTRN_WLK_LOCAL', 'AM')]+skim_od[('WLK_ALLTRN_WLK_XBUS', 'AM')]+skim_od[('WLK_ALLTRN_WLK_BRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_HRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_LRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'AM')]" +AM IVT (Transposed) (MW[34]),_amIvt_T,"skim_do[('WLK_ALLTRN_WLK_LOCAL', 'AM')]+skim_do[('WLK_ALLTRN_WLK_XBUS', 'AM')]+skim_do[('WLK_ALLTRN_WLK_BRT', 'AM')]+skim_do[('WLK_ALLTRN_WLK_HRT', 'AM')]+skim_do[('WLK_ALLTRN_WLK_LRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'AM')]" +#,, +#MD - ALL TRANSIT,, +MD OVT (MW[41]),_mdOvt,"skim_od[('WLK_ALLTRN_WLK_WALK', 'MD')] + skim_od[('WLK_ALLTRN_WLK_IWAIT','MD')]+ skim_od[('WLK_ALLTRN_WLK_XWAIT', 'MD')]" +MD OVT (Transposed) (MW[42]),_mdOvt_T,"skim_do[('WLK_ALLTRN_WLK_WALK', 'MD')] + skim_do[('WLK_ALLTRN_WLK_IWAIT','MD')]+ skim_do[('WLK_ALLTRN_WLK_XWAIT', 'MD')]" +MD IVT (MW[43]),_mdIvt,"skim_od[('WLK_ALLTRN_WLK_LOCAL', 'MD')]+skim_od[('WLK_ALLTRN_WLK_XBUS', 'MD')]+skim_od[('WLK_ALLTRN_WLK_BRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_HRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_LRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'MD')]" +MD IVT (Transposed) (MW[44]),_mdIvt_T,"skim_do[('WLK_ALLTRN_WLK_LOCAL', 'MD')]+skim_do[('WLK_ALLTRN_WLK_XBUS', 'MD')]+skim_do[('WLK_ALLTRN_WLK_BRT', 'MD')]+skim_do[('WLK_ALLTRN_WLK_HRT', 'MD')]+skim_do[('WLK_ALLTRN_WLK_LRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'MD')]" +#,, +#AM - PREMIUM TRANSIT,, +AM OVT (MW[51]),_amOvtPrem,"skim_od[('WLK_PRMTRN_WLK_WALK', 'AM')] + skim_od[('WLK_PRMTRN_WLK_IWAIT','AM')]+ skim_od[('WLK_PRMTRN_WLK_XWAIT', 'AM')]" +AM OVT (Transposed) (MW[52]),_amOvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_WALK', 'AM')] + skim_do[('WLK_PRMTRN_WLK_IWAIT','AM')]+ skim_do[('WLK_PRMTRN_WLK_XWAIT', 'AM')]" +AM IVT (MW[53]),_amIvtPrem,"skim_od[('WLK_PRMTRN_WLK_LOCAL', 'AM')]+skim_od[('WLK_PRMTRN_WLK_XBUS', 'AM')]+skim_od[('WLK_PRMTRN_WLK_BRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_HRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_LRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'AM')]" +AM IVT (Transposed) (MW[54]),_amIvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_LOCAL', 'AM')]+skim_do[('WLK_PRMTRN_WLK_XBUS', 'AM')]+skim_do[('WLK_PRMTRN_WLK_BRT', 'AM')]+skim_do[('WLK_PRMTRN_WLK_HRT', 'AM')]+skim_do[('WLK_PRMTRN_WLK_LRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'AM')]" +#,, +#MD - PREMIUM TRANSIT,, +MD OVT (MW[61]),_mdOvtPrem,"skim_od[('WLK_PRMTRN_WLK_WALK', 'MD')] + skim_od[('WLK_PRMTRN_WLK_IWAIT','MD')]+ skim_od[('WLK_PRMTRN_WLK_XWAIT', 'MD')]" +MD OVT (Transposed) (MW[62]),_mdOvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_WALK', 'MD')] + skim_do[('WLK_PRMTRN_WLK_IWAIT','MD')]+ skim_do[('WLK_PRMTRN_WLK_XWAIT', 'MD')]" +MD IVT (MW[63]),_mdIvtPrem,"skim_od[('WLK_PRMTRN_WLK_LOCAL', 'MD')]+skim_od[('WLK_PRMTRN_WLK_XBUS', 'MD')]+skim_od[('WLK_PRMTRN_WLK_BRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_HRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_LRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'MD')]" +MD IVT (Transposed) (MW[64]),_mdIvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_LOCAL', 'MD')]+skim_do[('WLK_PRMTRN_WLK_XBUS', 'MD')]+skim_do[('WLK_PRMTRN_WLK_BRT', 'MD')]+skim_do[('WLK_PRMTRN_WLK_HRT', 'MD')]+skim_do[('WLK_PRMTRN_WLK_LRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'MD')]" +#,, +# get the destination zone retail employment from dbf file,, +Retail Employment,_retailEmp,df.retail + df.service +Total Employment,_totEmp,df.emp +#,, +#,,auto peak +# assume peak occurs in AM for outbound and PM for inbound,, +peak round trip distance,_auPkTime,"skim_od[('SOV_FREE_TIME', 'AM')] + skim_do[('SOV_FREE_TIME', 'AM')]" +decay function,_decay,exp(_auPkTime * dispersion_parameter_automobile) +auto peak retail,auPkRetail,_retailEmp * _decay +auto peak total,auPkTotal,_totEmp * _decay +#,, +#,, auto off-peak +#,, +#,, assume midday occurs entirely in the midday period +off-peak round trip distance,_auOpTime,"skim_od[('SOV_FREE_TIME', 'MD')] + skim_do[('SOV_FREE_TIME', 'MD')]" +decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) +auto off-peak retail,auOpRetail,_retailEmp * _decay +auto off-peak total,auOpTotal,_totEmp * _decay +#,, +#,, +#,, +# am peak transit,, +local travel time,_ltt,2 * (_amOvt+_amOvt_T) + (_amIvt+_amIvt_T) +premium travel time,_ptt,2 * (_amOvtPrem+_amOvtPrem_T) + (_amIvtPrem+_amIvtPrem_T) +local travel time 2,_ltt2,_amOvt + _amOvt_T + _amIvt + _amIvt_T +premium travel time 2,_ptt2,_amOvtPrem + _amOvtPrem_T + _amIvtPrem + _amIvtPrem_T +#,, +Transit Decay ,_tr_decay,"np.where((_ltt > 0), np.where((_ltt < _ptt), exp(_ltt2 * dispersion_parameter_transit), 0), np.where((_ptt > 0), exp(_ptt2 * dispersion_parameter_transit), 0))" +transit peak retail,trPkRetail,_retailEmp * _tr_decay +transit peak total,trPkTotal,_totEmp * _tr_decay +#,, +#,, +# midday transit,, +local travel time off-peak,_lttop,2 * (_mdOvt+_mdOvt_T) + (_mdIvt+_mdIvt_T) +premium travel time off-peak,_pttop,2 * (_mdOvtPrem+_mdOvtPrem_T) + (_mdIvtPrem+_mdIvtPrem_T) +local travel time off-peak 2,_ltt2op,_mdOvt + _mdOvt_T + _mdIvt + _mdIvt_T +premium travel time off-peak 2,_ptt2op,_mdOvtPrem + _mdOvtPrem_T + _mdIvtPrem + _mdIvtPrem_T +#,, +Transit Decay ,_tr_op_decay,"np.where((_lttop > 0), np.where((_lttop < _pttop), exp(_ltt2op * dispersion_parameter_transit), 0), np.where((_pttop > 0), exp(_ptt2op * dispersion_parameter_transit), 0))" +transit off-peak retail,trOpRetail,_retailEmp * _tr_op_decay +transit off-peak total,trOpTotal,_totEmp * _tr_op_decay +#,, +#,, +# walk,, +non-motorized round trip distance,_nmDist,"skim_od[('SOV_FREE_DISTANCE', 'MD')] + skim_do[('SOV_FREE_DISTANCE', 'MD')]" +round trip path is available,_rt_available,_nmDist <= (maximum_walk_distance * 2) +decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) +non-motorized retail accessibility,nmRetail,_retailEmp * _decay +non-motorized total accessibility,nmTotal,_totEmp * _decay diff --git a/activitysim/examples/example_arc/configs/accessibility.yaml b/activitysim/examples/prototype_arc/configs/accessibility.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/accessibility.yaml rename to activitysim/examples/prototype_arc/configs/accessibility.yaml diff --git a/activitysim/examples/example_arc/configs/annotate_households.csv b/activitysim/examples/prototype_arc/configs/annotate_households.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_households.csv rename to activitysim/examples/prototype_arc/configs/annotate_households.csv diff --git a/activitysim/examples/example_arc/configs/annotate_households_cdap.csv b/activitysim/examples/prototype_arc/configs/annotate_households_cdap.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_households_cdap.csv rename to activitysim/examples/prototype_arc/configs/annotate_households_cdap.csv diff --git a/activitysim/examples/example_arc/configs/annotate_households_workplace.csv b/activitysim/examples/prototype_arc/configs/annotate_households_workplace.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_households_workplace.csv rename to activitysim/examples/prototype_arc/configs/annotate_households_workplace.csv diff --git a/activitysim/examples/example_arc/configs/annotate_landuse.csv b/activitysim/examples/prototype_arc/configs/annotate_landuse.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_landuse.csv rename to activitysim/examples/prototype_arc/configs/annotate_landuse.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons.csv b/activitysim/examples/prototype_arc/configs/annotate_persons.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_after_hh.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_after_hh.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_after_hh.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_after_hh.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_cdap.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_cdap.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_cdap.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_cdap.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_jtp.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_jtp.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_jtp.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_jtp.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_mtf.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_mtf.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_mtf.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_mtf.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_nmtf.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_nmtf.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_nmtf.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_nmtf.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_school.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_school.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_school.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_school.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_workplace.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_workplace.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_workplace.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_workplace.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_destination.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_destination.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_destination.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_destination.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_destination.yaml b/activitysim/examples/prototype_arc/configs/atwork_subtour_destination.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_destination.yaml rename to activitysim/examples/prototype_arc/configs/atwork_subtour_destination.yaml diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_destination_coeffs.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_destination_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_destination_coeffs.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_destination_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_destination_sample.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_destination_sample.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_destination_sample.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_destination_sample.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_frequency.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_frequency.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_frequency.csv diff --git a/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency.yaml b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency.yaml new file mode 100644 index 0000000000..1b5d27101d --- /dev/null +++ b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency.yaml @@ -0,0 +1,11 @@ + +SPEC: atwork_subtour_frequency.csv +COEFFICIENTS: atwork_subtour_frequency_coeffs.csv + +preprocessor: + SPEC: atwork_subtour_frequency_annotate_tours_preprocessor + DF: df + TABLES: + - land_use + - tours + - joint_tour_participants diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_frequency_alternatives.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_frequency_coeffs.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_frequency_coeffs.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/auto_ownership.csv b/activitysim/examples/prototype_arc/configs/auto_ownership.csv similarity index 100% rename from activitysim/examples/example_arc/configs/auto_ownership.csv rename to activitysim/examples/prototype_arc/configs/auto_ownership.csv diff --git a/activitysim/examples/example_arc/configs/auto_ownership.yaml b/activitysim/examples/prototype_arc/configs/auto_ownership.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/auto_ownership.yaml rename to activitysim/examples/prototype_arc/configs/auto_ownership.yaml diff --git a/activitysim/examples/example_arc/configs/auto_ownership_coeffs.csv b/activitysim/examples/prototype_arc/configs/auto_ownership_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/auto_ownership_coeffs.csv rename to activitysim/examples/prototype_arc/configs/auto_ownership_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/cdap.yaml b/activitysim/examples/prototype_arc/configs/cdap.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/cdap.yaml rename to activitysim/examples/prototype_arc/configs/cdap.yaml diff --git a/activitysim/examples/example_mtc/configs/cdap_fixed_relative_proportions.csv b/activitysim/examples/prototype_arc/configs/cdap_fixed_relative_proportions.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/cdap_fixed_relative_proportions.csv rename to activitysim/examples/prototype_arc/configs/cdap_fixed_relative_proportions.csv diff --git a/activitysim/examples/example_arc/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/prototype_arc/configs/cdap_indiv_and_hhsize1.csv similarity index 100% rename from activitysim/examples/example_arc/configs/cdap_indiv_and_hhsize1.csv rename to activitysim/examples/prototype_arc/configs/cdap_indiv_and_hhsize1.csv diff --git a/activitysim/examples/example_arc/configs/cdap_interaction_coefficients.csv b/activitysim/examples/prototype_arc/configs/cdap_interaction_coefficients.csv similarity index 100% rename from activitysim/examples/example_arc/configs/cdap_interaction_coefficients.csv rename to activitysim/examples/prototype_arc/configs/cdap_interaction_coefficients.csv diff --git a/activitysim/examples/example_arc/configs/constants.yaml b/activitysim/examples/prototype_arc/configs/constants.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/constants.yaml rename to activitysim/examples/prototype_arc/configs/constants.yaml diff --git a/activitysim/examples/example_arc/configs/destination_choice_size_terms.csv b/activitysim/examples/prototype_arc/configs/destination_choice_size_terms.csv similarity index 100% rename from activitysim/examples/example_arc/configs/destination_choice_size_terms.csv rename to activitysim/examples/prototype_arc/configs/destination_choice_size_terms.csv diff --git a/activitysim/examples/example_arc/configs/free_parking.csv b/activitysim/examples/prototype_arc/configs/free_parking.csv similarity index 100% rename from activitysim/examples/example_arc/configs/free_parking.csv rename to activitysim/examples/prototype_arc/configs/free_parking.csv diff --git a/activitysim/examples/example_arc/configs/free_parking.yaml b/activitysim/examples/prototype_arc/configs/free_parking.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/free_parking.yaml rename to activitysim/examples/prototype_arc/configs/free_parking.yaml diff --git a/activitysim/examples/example_arc/configs/free_parking_coeffs.csv b/activitysim/examples/prototype_arc/configs/free_parking_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/free_parking_coeffs.csv rename to activitysim/examples/prototype_arc/configs/free_parking_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/initialize_households.yaml b/activitysim/examples/prototype_arc/configs/initialize_households.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/initialize_households.yaml rename to activitysim/examples/prototype_arc/configs/initialize_households.yaml diff --git a/activitysim/examples/example_arc/configs/initialize_landuse.yaml b/activitysim/examples/prototype_arc/configs/initialize_landuse.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/initialize_landuse.yaml rename to activitysim/examples/prototype_arc/configs/initialize_landuse.yaml diff --git a/activitysim/examples/example_arc/configs/joint_tour_composition.csv b/activitysim/examples/prototype_arc/configs/joint_tour_composition.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_composition.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_composition.csv diff --git a/activitysim/examples/prototype_arc/configs/joint_tour_composition.yaml b/activitysim/examples/prototype_arc/configs/joint_tour_composition.yaml new file mode 100644 index 0000000000..a699bb337d --- /dev/null +++ b/activitysim/examples/prototype_arc/configs/joint_tour_composition.yaml @@ -0,0 +1,11 @@ +LOGIT_TYPE: MNL + +SPEC: joint_tour_composition.csv +COEFFICIENTS: joint_tour_composition_coeffs.csv + +preprocessor: + SPEC: joint_tour_composition_annotate_households_preprocessor + DF: households +# TABLES: +# - persons +# - accessibility diff --git a/activitysim/examples/example_arc/configs/joint_tour_composition_annotate_households_preprocessor.csv b/activitysim/examples/prototype_arc/configs/joint_tour_composition_annotate_households_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_composition_annotate_households_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_composition_annotate_households_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_composition_coeffs.csv b/activitysim/examples/prototype_arc/configs/joint_tour_composition_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_composition_coeffs.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_composition_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_destination.yaml b/activitysim/examples/prototype_arc/configs/joint_tour_destination.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_destination.yaml rename to activitysim/examples/prototype_arc/configs/joint_tour_destination.yaml diff --git a/activitysim/examples/example_arc/configs/joint_tour_destination_coeffs.csv b/activitysim/examples/prototype_arc/configs/joint_tour_destination_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_destination_coeffs.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_destination_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_frequency.csv b/activitysim/examples/prototype_arc/configs/joint_tour_frequency.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_frequency.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_frequency.csv diff --git a/activitysim/examples/prototype_arc/configs/joint_tour_frequency.yaml b/activitysim/examples/prototype_arc/configs/joint_tour_frequency.yaml new file mode 100644 index 0000000000..61e1f1bdcf --- /dev/null +++ b/activitysim/examples/prototype_arc/configs/joint_tour_frequency.yaml @@ -0,0 +1,11 @@ +LOGIT_TYPE: MNL + +SPEC: joint_tour_frequency.csv +COEFFICIENTS: joint_tour_frequency_coeffs.csv + +preprocessor: + SPEC: joint_tour_frequency_annotate_households_preprocessor + DF: households + TABLES: + #- persons + - accessibility diff --git a/activitysim/examples/example_arc/configs/joint_tour_frequency_alternatives.csv b/activitysim/examples/prototype_arc/configs/joint_tour_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_frequency_alternatives.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_frequency_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_frequency_annotate_households_preprocessor.csv b/activitysim/examples/prototype_arc/configs/joint_tour_frequency_annotate_households_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_frequency_annotate_households_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_frequency_annotate_households_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_frequency_coeffs.csv b/activitysim/examples/prototype_arc/configs/joint_tour_frequency_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_frequency_coeffs.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_frequency_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_participation.csv b/activitysim/examples/prototype_arc/configs/joint_tour_participation.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_participation.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_participation.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_participation.yaml b/activitysim/examples/prototype_arc/configs/joint_tour_participation.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_participation.yaml rename to activitysim/examples/prototype_arc/configs/joint_tour_participation.yaml diff --git a/activitysim/examples/example_arc/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/activitysim/examples/prototype_arc/configs/joint_tour_participation_annotate_participants_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_participation_annotate_participants_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_participation_annotate_participants_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_participation_coeffs.csv b/activitysim/examples/prototype_arc/configs/joint_tour_participation_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_participation_coeffs.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_participation_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_scheduling.yaml b/activitysim/examples/prototype_arc/configs/joint_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_scheduling.yaml rename to activitysim/examples/prototype_arc/configs/joint_tour_scheduling.yaml diff --git a/activitysim/examples/example_arc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_arc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_scheduling_coeffs.csv b/activitysim/examples/prototype_arc/configs/joint_tour_scheduling_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_scheduling_coeffs.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_scheduling_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/logging.yaml b/activitysim/examples/prototype_arc/configs/logging.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/logging.yaml rename to activitysim/examples/prototype_arc/configs/logging.yaml diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_frequency.csv b/activitysim/examples/prototype_arc/configs/mandatory_tour_frequency.csv similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_frequency.csv rename to activitysim/examples/prototype_arc/configs/mandatory_tour_frequency.csv diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_frequency.yaml b/activitysim/examples/prototype_arc/configs/mandatory_tour_frequency.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_frequency.yaml rename to activitysim/examples/prototype_arc/configs/mandatory_tour_frequency.yaml diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_arc/configs/mandatory_tour_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_frequency_alternatives.csv rename to activitysim/examples/prototype_arc/configs/mandatory_tour_frequency_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_frequency_coeffs.csv b/activitysim/examples/prototype_arc/configs/mandatory_tour_frequency_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_frequency_coeffs.csv rename to activitysim/examples/prototype_arc/configs/mandatory_tour_frequency_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_arc/configs/mandatory_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_scheduling.yaml rename to activitysim/examples/prototype_arc/configs/mandatory_tour_scheduling.yaml diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv b/activitysim/examples/prototype_arc/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_schedulings_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_arc/configs/mandatory_tour_schedulings_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_schedulings_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/mandatory_tour_schedulings_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/network_los.yaml b/activitysim/examples/prototype_arc/configs/network_los.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/network_los.yaml rename to activitysim/examples/prototype_arc/configs/network_los.yaml diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_destination.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_destination.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_destination.yaml rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination.yaml diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_destination_coeffs.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_destination_coeffs.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_destination_sample.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination_sample.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_destination_sample.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination_sample.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency.csv diff --git a/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency.yaml b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency.yaml new file mode 100644 index 0000000000..239b5a38a6 --- /dev/null +++ b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency.yaml @@ -0,0 +1,42 @@ + +SEGMENT_COL: ptype +SPEC: non_mandatory_tour_frequency.csv + +SPEC_SEGMENTS: + - NAME: PTYPE_FULL + PTYPE: 1 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv + - NAME: PTYPE_PART + PTYPE: 2 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv + - NAME: PTYPE_UNIVERSITY + PTYPE: 3 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv + - NAME: PTYPE_NONWORK + PTYPE: 4 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv + - NAME: PTYPE_RETIRED + PTYPE: 5 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv + - NAME: PTYPE_DRIVING + PTYPE: 6 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv + - NAME: PTYPE_SCHOOL + PTYPE: 7 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv + - NAME: PTYPE_PRESCHOOL + PTYPE: 8 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv + +annotate_persons: + SPEC: annotate_persons_nmtf + DF: persons + TABLES: + - tours + +preprocessor: + SPEC: non_mandatory_tour_frequency_annotate_persons_preprocessor + DF: persons + TABLES: + - tours +# - accessibility diff --git a/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_alternatives.csv new file mode 100644 index 0000000000..b9765aa75a --- /dev/null +++ b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_alternatives.csv @@ -0,0 +1,97 @@ +escort,shopping,othmaint,othdiscr,eatout,social +0,0,0,0,0,0 +0,0,0,1,0,0 +0,0,0,0,0,1 +0,0,0,1,0,1 +0,0,0,0,1,0 +0,0,0,1,1,0 +0,0,0,0,1,1 +0,0,0,1,1,1 +0,0,1,0,0,0 +0,0,1,1,0,0 +0,0,1,0,0,1 +0,0,1,1,0,1 +0,0,1,0,1,0 +0,0,1,1,1,0 +0,0,1,0,1,1 +0,0,1,1,1,1 +0,1,0,0,0,0 +0,1,0,1,0,0 +0,1,0,0,0,1 +0,1,0,1,0,1 +0,1,0,0,1,0 +0,1,0,1,1,0 +0,1,0,0,1,1 +0,1,0,1,1,1 +0,1,1,0,0,0 +0,1,1,1,0,0 +0,1,1,0,0,1 +0,1,1,1,0,1 +0,1,1,0,1,0 +0,1,1,1,1,0 +0,1,1,0,1,1 +0,1,1,1,1,1 +1,0,0,0,0,0 +1,0,0,1,0,0 +1,0,0,0,0,1 +1,0,0,1,0,1 +1,0,0,0,1,0 +1,0,0,1,1,0 +1,0,0,0,1,1 +1,0,0,1,1,1 +1,0,1,0,0,0 +1,0,1,1,0,0 +1,0,1,0,0,1 +1,0,1,1,0,1 +1,0,1,0,1,0 +1,0,1,1,1,0 +1,0,1,0,1,1 +1,0,1,1,1,1 +1,1,0,0,0,0 +1,1,0,1,0,0 +1,1,0,0,0,1 +1,1,0,1,0,1 +1,1,0,0,1,0 +1,1,0,1,1,0 +1,1,0,0,1,1 +1,1,0,1,1,1 +1,1,1,0,0,0 +1,1,1,1,0,0 +1,1,1,0,0,1 +1,1,1,1,0,1 +1,1,1,0,1,0 +1,1,1,1,1,0 +1,1,1,0,1,1 +1,1,1,1,1,1 +2,0,0,0,0,0 +2,0,0,1,0,0 +2,0,0,0,0,1 +2,0,0,1,0,1 +2,0,0,0,1,0 +2,0,0,1,1,0 +2,0,0,0,1,1 +2,0,0,1,1,1 +2,0,1,0,0,0 +2,0,1,1,0,0 +2,0,1,0,0,1 +2,0,1,1,0,1 +2,0,1,0,1,0 +2,0,1,1,1,0 +2,0,1,0,1,1 +2,0,1,1,1,1 +2,1,0,0,0,0 +2,1,0,1,0,0 +2,1,0,0,0,1 +2,1,0,1,0,1 +2,1,0,0,1,0 +2,1,0,1,1,0 +2,1,0,0,1,1 +2,1,0,1,1,1 +2,1,1,0,0,0 +2,1,1,1,0,0 +2,1,1,0,0,1 +2,1,1,1,0,1 +2,1,1,0,1,0 +2,1,1,1,1,0 +2,1,1,0,1,1 +2,1,1,1,1,1 diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_extension_probs.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_extension_probs.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_extension_probs.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_scheduling.yaml rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_scheduling.yaml diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/parking_location_choice.csv b/activitysim/examples/prototype_arc/configs/parking_location_choice.csv similarity index 100% rename from activitysim/examples/example_arc/configs/parking_location_choice.csv rename to activitysim/examples/prototype_arc/configs/parking_location_choice.csv diff --git a/activitysim/examples/example_arc/configs/parking_location_choice.yaml b/activitysim/examples/prototype_arc/configs/parking_location_choice.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/parking_location_choice.yaml rename to activitysim/examples/prototype_arc/configs/parking_location_choice.yaml diff --git a/activitysim/examples/example_arc/configs/parking_location_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_arc/configs/parking_location_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/parking_location_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/parking_location_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/parking_location_choice_coeffs.csv b/activitysim/examples/prototype_arc/configs/parking_location_choice_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/parking_location_choice_coeffs.csv rename to activitysim/examples/prototype_arc/configs/parking_location_choice_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/school_location.csv b/activitysim/examples/prototype_arc/configs/school_location.csv similarity index 100% rename from activitysim/examples/example_arc/configs/school_location.csv rename to activitysim/examples/prototype_arc/configs/school_location.csv diff --git a/activitysim/examples/example_arc/configs/school_location.yaml b/activitysim/examples/prototype_arc/configs/school_location.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/school_location.yaml rename to activitysim/examples/prototype_arc/configs/school_location.yaml diff --git a/activitysim/examples/example_arc/configs/school_location_coeffs.csv b/activitysim/examples/prototype_arc/configs/school_location_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/school_location_coeffs.csv rename to activitysim/examples/prototype_arc/configs/school_location_coeffs.csv diff --git a/activitysim/examples/prototype_arc/configs/school_location_sample.csv b/activitysim/examples/prototype_arc/configs/school_location_sample.csv new file mode 100644 index 0000000000..601d61bae1 --- /dev/null +++ b/activitysim/examples/prototype_arc/configs/school_location_sample.csv @@ -0,0 +1,4 @@ +Description,Expression,univ,k12_predrive,k12_drive +Distance,"@skims[('SOV_FREE_DISTANCE', 'MD')]",-0.2,-0.2,-0.2 +Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999 diff --git a/activitysim/examples/prototype_arc/configs/settings.yaml b/activitysim/examples/prototype_arc/configs/settings.yaml new file mode 100644 index 0000000000..5dea2f6337 --- /dev/null +++ b/activitysim/examples/prototype_arc/configs/settings.yaml @@ -0,0 +1,183 @@ +# input tables +input_table_list: + - tablename: households + filename: households.csv + # The index column is set before keep_columns, + # so don't put index in keep columns + index_col: household_id + rename_columns: + maz: home_zone_id + np: hhsize + nwrkrs_esr: num_workers + keep_columns: + - home_zone_id + - hhsize + - num_workers + - hincp + - hht + - tablename: persons + filename: persons.csv + # The index column is set before keep_columns, + # so don't put index in keep columns + index_col: person_id + rename_columns: + maz: home_zone_id + sporder: PNUM + keep_columns: + - household_id + - home_zone_id + - PNUM + - agep + - pecasOcc + - sex + - esr + - wkw + - wkhp + - schg + - tablename: land_use + filename: land_use.csv + # The index column is set before keep_columns, + # so don't put index in keep columns + index_col: zone_id + keep_columns: + - retail + - service + - emp + - pop + - hshld + - univ + - acres + - PARKTOT + - PARKLNG + - PROPFREE + - PARKRATE + - areatype + - county + - CBDFlag + - N11 + - N21 + - N22 + - N23 + - N313233 + - N42 + - N4445 + - N4849 + - N51 + - N52 + - N53 + - N54 + - N55 + - N56 + - N61 + - N62 + - N71 + - N72 + - N81 + - N92 + - EnrollDS + - EnrollPD + - I_PCTLT10K + - I_PCT10TO20 + - I_PCT20TO40 + - I_PCTGT40 + - RetailEmp30 + - PARKING_ZONE + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# use_shadow_pricing: True + +# chunk_size: + +# assume enough RAM to not chunk +chunk_training_mode: disabled + +models: + - initialize_landuse + - initialize_households + - compute_accessibility + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling_choice + - trip_departure_choice + - trip_mode_choice + - parking_location + - write_data_dictionary + - track_skim_usage + - write_trip_matrices + - write_tables + +# resume_after: + +multiprocess: False +fail_fast: True + +multiprocess_steps: + - name: mp_initialize_landuse + begin: initialize_landuse + - name: mp_accessibility + begin: compute_accessibility + num_processes: 5 + slice: + tables: + - accessibility + # don't slice any tables not explicitly listed above in slice.tables + except: True + - name: mp_households + begin: school_location + num_processes: 5 + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_tables + + +output_tables: + h5_store: False + action: include + prefix: final_ + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - joint_tour_participants + +#trace_od: [100,10] +trace_hh_id: 88 +# trace_hh_id: 2 +#trace_hh_id: 1643904 + +min_value_of_time: 1 +max_value_of_time: 50 +distributed_vot_mu: 0.684 +distributed_vot_sigma: 0.85 diff --git a/activitysim/examples/prototype_arc/configs/settings_mp.yaml b/activitysim/examples/prototype_arc/configs/settings_mp.yaml new file mode 100644 index 0000000000..103c07bbb6 --- /dev/null +++ b/activitysim/examples/prototype_arc/configs/settings_mp.yaml @@ -0,0 +1,202 @@ +# input tables +input_table_list: + - tablename: households + filename: households.csv + # The index column is set before keep_columns, + # so don't put index in keep columns + index_col: household_id + rename_columns: + maz: home_zone_id + np: hhsize + nwrkrs_esr: num_workers + keep_columns: + - home_zone_id + - hhsize + - num_workers + - hincp + - hht + - tablename: persons + filename: persons.csv + # The index column is set before keep_columns, + # so don't put index in keep columns + index_col: person_id + rename_columns: + maz: home_zone_id + sporder: PNUM + keep_columns: + - household_id + - home_zone_id + - PNUM + - agep + - pecasOcc + - sex + - esr + - wkw + - wkhp + - schg + - tablename: land_use + filename: land_use.csv + # The index column is set before keep_columns, + # so don't put index in keep columns + index_col: zone_id + keep_columns: + - retail + - service + - emp + - pop + - hshld + - univ + - acres + - PARKTOT + - PARKLNG + - PROPFREE + - PARKRATE + - areatype + - county + - CBDFlag + - N11 + - N21 + - N22 + - N23 + - N313233 + - N42 + - N4445 + - N4849 + - N51 + - N52 + - N53 + - N54 + - N55 + - N56 + - N61 + - N62 + - N71 + - N72 + - N81 + - N92 + - EnrollDS + - EnrollPD + - I_PCTLT10K + - I_PCT10TO20 + - I_PCT20TO40 + - I_PCTGT40 + - RetailEmp30 + - PARKING_ZONE + +#input data store and skims +#input_store: arc_asim.h5 +#skims_file: skims.omx + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +use_shadow_pricing: True + +#trace_od: [100,10] +# 309462, 390302 +trace_hh_id: 333650 +#trace_hh_id: 2 +#trace_hh_id: 1643904 + +chunk_size: 0 +num_processes: 40 + +models: + - initialize_landuse + - initialize_households + - compute_accessibility + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling_choice + - trip_departure_choice + - trip_mode_choice + - parking_location +# - write_data_dictionary +# - track_skim_usage +# - write_trip_matrices + - write_tables + +#resume_after: trip_mode_choice + +multiprocess: True +fail_fast: True + +multiprocess_steps: + - name: mp_initialize_landuse + begin: initialize_landuse + - name: mp_accessibility + begin: compute_accessibility + slice: + tables: + - accessibility + # don't slice any tables not explicitly listed above in slice.tables + except: True + - name: mp_households + begin: school_location + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_tables + +output_tables: + h5_store: False + action: include + prefix: final_ + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - joint_tour_participants + + +#skim_time_periods: +# period_minutes: 30 +# periods: +# - 0 +# - 6 +# - 12 +# - 20 +# - 30 +# - 38 +# - 48 +# labels: +# - EV +# - EA +# - AM +# - MD +# - PM +# - EV + +min_value_of_time: 1 +max_value_of_time: 50 +distributed_vot_mu: 0.684 +distributed_vot_sigma: 0.85 diff --git a/activitysim/examples/example_arc/configs/shadow_pricing.yaml b/activitysim/examples/prototype_arc/configs/shadow_pricing.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/shadow_pricing.yaml rename to activitysim/examples/prototype_arc/configs/shadow_pricing.yaml diff --git a/activitysim/examples/example_arc/configs/stop_frequency.yaml b/activitysim/examples/prototype_arc/configs/stop_frequency.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency.yaml rename to activitysim/examples/prototype_arc/configs/stop_frequency.yaml diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_alternatives.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_alternatives.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_atwork.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_atwork.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_atwork.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_atwork.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_eatout.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_eatout.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_eatout.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_eatout.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_escort.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_escort.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_escort.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_escort.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_othdiscr.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_othdiscr.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_othdiscr.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_othdiscr.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_othmaint.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_othmaint.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_othmaint.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_othmaint.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_school.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_school.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_school.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_school.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_shopping.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_shopping.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_shopping.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_shopping.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_social.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_social.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_social.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_social.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_univ.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_univ.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_univ.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_univ.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_work.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_work.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_work.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_work.csv diff --git a/activitysim/examples/example_arc/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/prototype_arc/configs/tour_departure_and_duration_alternatives.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_departure_and_duration_alternatives.csv rename to activitysim/examples/prototype_arc/configs/tour_departure_and_duration_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/tour_mode_choice.csv b/activitysim/examples/prototype_arc/configs/tour_mode_choice.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_mode_choice.csv rename to activitysim/examples/prototype_arc/configs/tour_mode_choice.csv diff --git a/activitysim/examples/example_arc/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_arc/configs/tour_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/tour_mode_choice.yaml rename to activitysim/examples/prototype_arc/configs/tour_mode_choice.yaml diff --git a/activitysim/examples/example_arc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_arc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/tour_mode_choice_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_mode_choice_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_mode_choice_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_mode_choice_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_mode_choice_coeffs_template.csv b/activitysim/examples/prototype_arc/configs/tour_mode_choice_coeffs_template.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_mode_choice_coeffs_template.csv rename to activitysim/examples/prototype_arc/configs/tour_mode_choice_coeffs_template.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_atwork.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_atwork.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_atwork.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_atwork.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_atwork.yaml b/activitysim/examples/prototype_arc/configs/tour_scheduling_atwork.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_atwork.yaml rename to activitysim/examples/prototype_arc/configs/tour_scheduling_atwork.yaml diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_atwork_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_atwork_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_atwork_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_atwork_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_atwork_preprocessor.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_atwork_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_atwork_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_atwork_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_joint.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_joint.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_joint.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_joint.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_joint_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_joint_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_joint_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_joint_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_nonmandatory.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_nonmandatory.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_nonmandatory.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_nonmandatory_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_nonmandatory_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_nonmandatory_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_nonmandatory_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_school.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_school.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_school.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_school.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_school_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_school_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_school_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_school_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_university.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_university.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_university.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_university.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_university_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_university_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_university_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_university_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_work.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_work.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_work.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_work.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_work_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_work_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_work_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_work_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/trip_departure_choice.csv b/activitysim/examples/prototype_arc/configs/trip_departure_choice.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_departure_choice.csv rename to activitysim/examples/prototype_arc/configs/trip_departure_choice.csv diff --git a/activitysim/examples/example_arc/configs/trip_departure_choice.yaml b/activitysim/examples/prototype_arc/configs/trip_departure_choice.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/trip_departure_choice.yaml rename to activitysim/examples/prototype_arc/configs/trip_departure_choice.yaml diff --git a/activitysim/examples/example_arc/configs/trip_departure_choice_preprocessor.csv b/activitysim/examples/prototype_arc/configs/trip_departure_choice_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_departure_choice_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/trip_departure_choice_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/trip_departure_sample_patterns.csv b/activitysim/examples/prototype_arc/configs/trip_departure_sample_patterns.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_departure_sample_patterns.csv rename to activitysim/examples/prototype_arc/configs/trip_departure_sample_patterns.csv diff --git a/activitysim/examples/example_arc/configs/trip_destination.csv b/activitysim/examples/prototype_arc/configs/trip_destination.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_destination.csv rename to activitysim/examples/prototype_arc/configs/trip_destination.csv diff --git a/activitysim/examples/example_arc/configs/trip_destination.yaml b/activitysim/examples/prototype_arc/configs/trip_destination.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/trip_destination.yaml rename to activitysim/examples/prototype_arc/configs/trip_destination.yaml diff --git a/activitysim/examples/example_arc/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_arc/configs/trip_destination_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_destination_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/trip_destination_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/trip_destination_sample.csv b/activitysim/examples/prototype_arc/configs/trip_destination_sample.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_destination_sample.csv rename to activitysim/examples/prototype_arc/configs/trip_destination_sample.csv diff --git a/activitysim/examples/example_arc/configs/trip_mode_choice.csv b/activitysim/examples/prototype_arc/configs/trip_mode_choice.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_mode_choice.csv rename to activitysim/examples/prototype_arc/configs/trip_mode_choice.csv diff --git a/activitysim/examples/example_arc/configs/trip_mode_choice.yaml b/activitysim/examples/prototype_arc/configs/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/trip_mode_choice.yaml rename to activitysim/examples/prototype_arc/configs/trip_mode_choice.yaml diff --git a/activitysim/examples/example_arc/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_arc/configs/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/trip_mode_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/trip_mode_choice_coeffs.csv b/activitysim/examples/prototype_arc/configs/trip_mode_choice_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_mode_choice_coeffs.csv rename to activitysim/examples/prototype_arc/configs/trip_mode_choice_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/trip_purpose.yaml b/activitysim/examples/prototype_arc/configs/trip_purpose.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/trip_purpose.yaml rename to activitysim/examples/prototype_arc/configs/trip_purpose.yaml diff --git a/activitysim/examples/example_mtc/configs/trip_purpose_and_destination.yaml b/activitysim/examples/prototype_arc/configs/trip_purpose_and_destination.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_purpose_and_destination.yaml rename to activitysim/examples/prototype_arc/configs/trip_purpose_and_destination.yaml diff --git a/activitysim/examples/example_mtc/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_arc/configs/trip_purpose_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_purpose_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/trip_purpose_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/trip_purpose_probs.csv b/activitysim/examples/prototype_arc/configs/trip_purpose_probs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_purpose_probs.csv rename to activitysim/examples/prototype_arc/configs/trip_purpose_probs.csv diff --git a/activitysim/examples/example_arc/configs/trip_scheduling_choice.csv b/activitysim/examples/prototype_arc/configs/trip_scheduling_choice.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_scheduling_choice.csv rename to activitysim/examples/prototype_arc/configs/trip_scheduling_choice.csv diff --git a/activitysim/examples/example_arc/configs/trip_scheduling_choice.yaml b/activitysim/examples/prototype_arc/configs/trip_scheduling_choice.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/trip_scheduling_choice.yaml rename to activitysim/examples/prototype_arc/configs/trip_scheduling_choice.yaml diff --git a/activitysim/examples/example_arc/configs/trip_scheduling_choice_preprocessor.csv b/activitysim/examples/prototype_arc/configs/trip_scheduling_choice_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_scheduling_choice_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/trip_scheduling_choice_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/workplace_location.csv b/activitysim/examples/prototype_arc/configs/workplace_location.csv similarity index 100% rename from activitysim/examples/example_arc/configs/workplace_location.csv rename to activitysim/examples/prototype_arc/configs/workplace_location.csv diff --git a/activitysim/examples/example_arc/configs/workplace_location.yaml b/activitysim/examples/prototype_arc/configs/workplace_location.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/workplace_location.yaml rename to activitysim/examples/prototype_arc/configs/workplace_location.yaml diff --git a/activitysim/examples/example_arc/configs/workplace_location_coeffs.csv b/activitysim/examples/prototype_arc/configs/workplace_location_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/workplace_location_coeffs.csv rename to activitysim/examples/prototype_arc/configs/workplace_location_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/workplace_location_sample.csv b/activitysim/examples/prototype_arc/configs/workplace_location_sample.csv similarity index 100% rename from activitysim/examples/example_arc/configs/workplace_location_sample.csv rename to activitysim/examples/prototype_arc/configs/workplace_location_sample.csv diff --git a/activitysim/examples/example_arc/configs/write_trip_matrices.yaml b/activitysim/examples/prototype_arc/configs/write_trip_matrices.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/write_trip_matrices.yaml rename to activitysim/examples/prototype_arc/configs/write_trip_matrices.yaml diff --git a/activitysim/examples/example_arc/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_arc/configs/write_trip_matrices_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/write_trip_matrices_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/write_trip_matrices_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_arc/data/households.csv b/activitysim/examples/prototype_arc/data/households.csv similarity index 100% rename from activitysim/examples/example_arc/data/households.csv rename to activitysim/examples/prototype_arc/data/households.csv diff --git a/activitysim/examples/example_arc/data/land_use.csv b/activitysim/examples/prototype_arc/data/land_use.csv similarity index 100% rename from activitysim/examples/example_arc/data/land_use.csv rename to activitysim/examples/prototype_arc/data/land_use.csv diff --git a/activitysim/examples/example_arc/data/persons.csv b/activitysim/examples/prototype_arc/data/persons.csv similarity index 100% rename from activitysim/examples/example_arc/data/persons.csv rename to activitysim/examples/prototype_arc/data/persons.csv diff --git a/activitysim/examples/example_arc/data/skims.omx b/activitysim/examples/prototype_arc/data/skims.omx similarity index 100% rename from activitysim/examples/example_arc/data/skims.omx rename to activitysim/examples/prototype_arc/data/skims.omx diff --git a/activitysim/examples/example_arc/output/.gitignore b/activitysim/examples/prototype_arc/output/.gitignore similarity index 100% rename from activitysim/examples/example_arc/output/.gitignore rename to activitysim/examples/prototype_arc/output/.gitignore diff --git a/activitysim/examples/example_psrc/output/cache/.gitignore b/activitysim/examples/prototype_arc/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/output/cache/.gitignore rename to activitysim/examples/prototype_arc/output/cache/.gitignore diff --git a/activitysim/examples/example_psrc/output/trace/.gitignore b/activitysim/examples/prototype_arc/output/log/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/output/trace/.gitignore rename to activitysim/examples/prototype_arc/output/log/.gitignore diff --git a/activitysim/examples/example_psrc/test/output/trace/.gitignore b/activitysim/examples/prototype_arc/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/test/output/trace/.gitignore rename to activitysim/examples/prototype_arc/output/trace/.gitignore diff --git a/activitysim/examples/prototype_arc/scripts/arc_crop.py b/activitysim/examples/prototype_arc/scripts/arc_crop.py new file mode 100644 index 0000000000..32cfc092da --- /dev/null +++ b/activitysim/examples/prototype_arc/scripts/arc_crop.py @@ -0,0 +1,186 @@ +import argparse +import os + +import numpy as np +import openmatrix as omx +import pandas as pd + +MAZ_OFFSET = 0 + +segments = { + "test": (100, 135), # arbitrary but has univ + "fulton": (0, 1296), + "full": (0, 5922), +} + +parser = argparse.ArgumentParser(description="crop PSRC raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file", +) + +args = parser.parse_args() + + +segment_name = args.segment_name[0] +check_geography = args.check_geography + +assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" +zone_min, zone_max = segments[segment_name] + +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}" + + +print(f"check_geography {check_geography}") + +if not os.path.isdir(output_dir): + print(f"creating output directory {output_dir}") + os.mkdir(output_dir) + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def integerize_id_columns(df, table_name): + columns = [ + "MAZ", + "OMAZ", + "DMAZ", + "TAZ", + "zone_id", + "household_id", + "HHID", + "maz", + "taz", + ] + for c in df.columns: + if c in columns: + print(f"converting {table_name}.{c} to int") + if df[c].isnull().any(): + print(df[c][df[c].isnull()]) + df[c] = df[c].astype(int) + + +def read_csv(file_name, integerize=True): + df = pd.read_csv(input_path(file_name)) + + print(f"read {file_name} {df.shape}") + + return df + + +def to_csv(df, file_name): + print(f"writing {file_name} {df.shape} {output_path(file_name)}") + df.to_csv(output_path(file_name), index=False) + + +if check_geography: + + # ######## check for orphan_households not in any maz in land_use + land_use = read_csv("land_use.csv") + + households = read_csv("households.csv") + orphan_households = households[~households.maz.isin(land_use.zone_id)] + print(f"{len(orphan_households)} orphan_households") + + # write orphan_households to INPUT directory (since it doesn't belong in output) + file_name = "orphan_households.csv" + print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") + orphan_households.to_csv(input_path(file_name), index=False) + + +# +# land_use +# +land_use = read_csv("land_use.csv") +land_use = land_use[ + (land_use["zone_id"] >= zone_min) & (land_use["zone_id"] <= zone_max) +] +integerize_id_columns(land_use, "land_use") +land_use = land_use.sort_values("zone_id") + +# move index col to front +land_use.insert(0, "zone_id", land_use.pop("zone_id")) + +to_csv(land_use, "land_use.csv") + +# +# households +# +households = read_csv("households.csv") +households = households[households["maz"].isin(land_use.zone_id)] +integerize_id_columns(households, "households") + +to_csv(households, "households.csv") + +# +# persons +# +persons = read_csv("persons.csv") +persons = persons[persons["household_id"].isin(households.household_id)] +integerize_id_columns(persons, "persons") + +to_csv(persons, "persons.csv") + +# +# skims +# +omx_infile_name = "skims.omx" +skim_data_type = np.float32 + +omx_in = omx.open_file(input_path(omx_infile_name)) +print(f"omx_in shape {omx_in.shape()}") + + +assert not omx_in.listMappings() +zone = land_use.sort_values("zone_id")[["zone_id"]] +zone.index = zone.zone_id - 1 +zone_indexes = zone.index.tolist() # index of TAZ in skim (zero-based, no mapping) +zone_labels = zone.zone_id.tolist() # TAZ zone_ids in omx index order + + +# create +num_outfiles = 4 if segment_name == "full" else 1 +if num_outfiles == 1: + omx_out = [omx.open_file(output_path(f"skims.omx"), "w")] +else: + omx_out = [ + omx.open_file(output_path(f"skims{i+1}.omx"), "w") for i in range(num_outfiles) + ] + +for omx_file in omx_out: + omx_file.create_mapping("ZONE", zone_labels) + +iskim = 0 +for mat_name in omx_in.list_matrices(): + + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) + m = m[zone_indexes, :][:, zone_indexes] + print(f"{mat_name} {m.shape}") + + omx_file = omx_out[iskim % num_outfiles] + omx_file[mat_name] = m + iskim += 1 + + +omx_in.close() +for omx_file in omx_out: + omx_file.close() diff --git a/activitysim/examples/prototype_arc/simulation.py b/activitysim/examples/prototype_arc/simulation.py new file mode 100644 index 0000000000..e328406328 --- /dev/null +++ b/activitysim/examples/prototype_arc/simulation.py @@ -0,0 +1,18 @@ +# ActivitySim +# See full license in LICENSE.txt. + +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/example_arc/test/configs/settings.yaml b/activitysim/examples/prototype_arc/test/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_arc/test/configs/settings.yaml rename to activitysim/examples/prototype_arc/test/configs/settings.yaml diff --git a/activitysim/examples/example_psrc/test/output/.gitignore b/activitysim/examples/prototype_arc/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/test/output/.gitignore rename to activitysim/examples/prototype_arc/test/output/.gitignore diff --git a/activitysim/examples/example_psrc/test/output/cache/.gitignore b/activitysim/examples/prototype_arc/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/test/output/cache/.gitignore rename to activitysim/examples/prototype_arc/test/output/cache/.gitignore diff --git a/activitysim/examples/example_sandag/output_1/log/.gitignore b/activitysim/examples/prototype_arc/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_1/log/.gitignore rename to activitysim/examples/prototype_arc/test/output/trace/.gitignore diff --git a/activitysim/examples/example_arc/test/regress/final_trips.csv b/activitysim/examples/prototype_arc/test/regress/final_trips.csv similarity index 100% rename from activitysim/examples/example_arc/test/regress/final_trips.csv rename to activitysim/examples/prototype_arc/test/regress/final_trips.csv diff --git a/activitysim/examples/prototype_arc/test/simulation.py b/activitysim/examples/prototype_arc/test/simulation.py new file mode 100755 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/prototype_arc/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/prototype_arc/test/test_arc.py b/activitysim/examples/prototype_arc/test/test_arc.py new file mode 100644 index 0000000000..5f0c9baafd --- /dev/null +++ b/activitysim/examples/prototype_arc/test/test_arc.py @@ -0,0 +1,60 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def test_arc(): + def example_path(dirname): + resource = os.path.join("examples", "prototype_arc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(): + regress_trips_df = pd.read_csv(test_path("regress/final_trips.csv")) + final_trips_df = pd.read_csv(test_path("output/final_trips.csv")) + + # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, + # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum + # compare_cols = [] + pdt.assert_frame_equal(final_trips_df, regress_trips_df) + + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + subprocess.run( + [ + "coverage", + "run", + "-a", + file_path, + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ], + check=True, + ) + + regress() + + +if __name__ == "__main__": + + test_arc() diff --git a/activitysim/examples/example_marin/.gitignore b/activitysim/examples/prototype_marin/.gitignore similarity index 100% rename from activitysim/examples/example_marin/.gitignore rename to activitysim/examples/prototype_marin/.gitignore diff --git a/activitysim/examples/example_multiple_zone/README.MD b/activitysim/examples/prototype_marin/README.MD similarity index 100% rename from activitysim/examples/example_multiple_zone/README.MD rename to activitysim/examples/prototype_marin/README.MD diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_households.csv b/activitysim/examples/prototype_marin/configs/annotate_households.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_households.csv rename to activitysim/examples/prototype_marin/configs/annotate_households.csv diff --git a/activitysim/examples/example_marin/configs/annotate_persons.csv b/activitysim/examples/prototype_marin/configs/annotate_persons.csv similarity index 100% rename from activitysim/examples/example_marin/configs/annotate_persons.csv rename to activitysim/examples/prototype_marin/configs/annotate_persons.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_tours.csv b/activitysim/examples/prototype_marin/configs/annotate_tours.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_tours.csv rename to activitysim/examples/prototype_marin/configs/annotate_tours.csv diff --git a/activitysim/examples/prototype_marin/configs/constants.yaml b/activitysim/examples/prototype_marin/configs/constants.yaml new file mode 100755 index 0000000000..6199378b42 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/constants.yaml @@ -0,0 +1,64 @@ +## ActivitySim +## See full license in LICENSE.txt. + +walk_speed: 3.00 + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +#INCOME_SEGMENT_LOW: 1 +#INCOME_SEGMENT_MED: 2 +#INCOME_SEGMENT_HIGH: 3 +#INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H diff --git a/activitysim/examples/prototype_marin/configs/destination_choice_size_terms.csv b/activitysim/examples/prototype_marin/configs/destination_choice_size_terms.csv new file mode 100644 index 0000000000..7f70421e85 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/destination_choice_size_terms.csv @@ -0,0 +1,28 @@ +model_selector,segment,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE +workplace,work_low,0,0.129,0.193,0.383,0.12,0.01,0.164,0,0,0,0 +workplace,work_med,0,0.12,0.197,0.325,0.139,0.008,0.21,0,0,0,0 +workplace,work_high,0,0.11,0.207,0.284,0.154,0.006,0.239,0,0,0,0 +workplace,work_veryhigh,0,0.093,0.27,0.241,0.146,0.004,0.246,0,0,0,0 +school,university,0,0,0,0,0,0,0,0,0,0.592,0.408 +school,gradeschool,0,0,0,0,0,0,0,1,0,0,0 +school,highschool,0,0,0,0,0,0,0,0,1,0,0 +non_mandatory,escort,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +#non_mandatory,escort_kids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +#non_mandatory,escort_nokids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +non_mandatory,shopping,0,1,0,0,0,0,0,0,0,0,0 +non_mandatory,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 +non_mandatory,othmaint,0,0.482,0,0.518,0,0,0,0,0,0,0 +non_mandatory,social,0,0.522,0,0.478,0,0,0,0,0,0,0 +non_mandatory,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 +atwork,atwork,0,0.742,0,0.258,0,0,0,0,0,0,0 +trip,work,0,1,1,1,1,1,1,0,0,0,0 +trip,escort,0.001,0.225,0,0.144,0,0,0,0.464,0.166,0,0 +trip,shopping,0.001,0.999,0,0,0,0,0,0,0,0,0 +trip,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 +trip,othmaint,0.001,0.481,0,0.518,0,0,0,0,0,0,0 +trip,social,0.001,0.521,0,0.478,0,0,0,0,0,0,0 +trip,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 +trip,univ,0.001,0,0,0,0,0,0,0,0,0.592,0.408 +# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,, +#trip,gradeschool,0,0,0,0,0,0,0,1,0,0,0 +#trip,highschool,0,0,0,0,0,0,0,0,1,0,0 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_households.yaml b/activitysim/examples/prototype_marin/configs/initialize_households.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_households.yaml rename to activitysim/examples/prototype_marin/configs/initialize_households.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_landuse.yaml b/activitysim/examples/prototype_marin/configs/initialize_landuse.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_landuse.yaml rename to activitysim/examples/prototype_marin/configs/initialize_landuse.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_tours.yaml b/activitysim/examples/prototype_marin/configs/initialize_tours.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_tours.yaml rename to activitysim/examples/prototype_marin/configs/initialize_tours.yaml diff --git a/activitysim/examples/prototype_marin/configs/logging.yaml b/activitysim/examples/prototype_marin/configs/logging.yaml new file mode 100755 index 0000000000..df20cf0c7e --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/logging.yaml @@ -0,0 +1,54 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console, logfile] + + loggers: + + activitysim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + level: NOTSET + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + diff --git a/activitysim/examples/prototype_marin/configs/network_los.yaml b/activitysim/examples/prototype_marin/configs/network_los.yaml new file mode 100755 index 0000000000..bee302b941 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/network_los.yaml @@ -0,0 +1,170 @@ +inherit_settings: True + +zone_system: 3 + +skim_dict_factory: NumpyArraySkimFactory +#skim_dict_factory: MemMapSkimFactory + +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +# rebuild and overwrite existing tap_tap_utilities cache +rebuild_tvpb_cache: True + + +# when checkpointing cache. also write a csv version of tvpb cache for tracing +# (writes csv file when writing/checkpointing cache (i.e. when cached changed) even if rebuild_tvpb_cache is False) +# (n.b. csv file could be quite large if cache is STATIC!) +trace_tvpb_cache_as_csv: False + +taz_skims: + - highway_skims_AM.omx + - highway_skims_EA.omx + - highway_skims_EV.omx + - highway_skims_MD.omx + - highway_skims_PM.omx + +tap_skims: + # we require that skims for all tap_tap sets have unique names + # and cso an share a single skim_dict without name collision + # e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM + - transit_skims_SET1.omx + - transit_skims_SET2.omx + - transit_skims_SET3.omx + +maz: maz_taz.csv + +tap: tap.csv + +tap_lines: tap_lines.csv + +maz_to_maz: + tables: + - maz_maz_walk.csv + - maz_maz_bike.csv + + # maz_to_maz blending distance (missing or 0 means no blending) + max_blend_distance: + # blend distance of 0 means no blending + WALK_DIST: 0 + BIKE_DIST: 0 + + +maz_to_tap: + walk: + table: maz_tap_walk.csv + # if provided, this column will be used (together with tap_lines table) to trim the near tap set + # to only include the nearest tap to origin when more than one tap serves the same line + tap_line_distance_col: WALK_TRANSIT_DIST + max_dist: 1.2 + drive: + table: maz_taz_tap_drive.csv + # not trimming because drive_maz_tap utility calculations take into account both drive and walk time and cost + # though some sort of trimming appears to have been done as there are not so many of these in marin data + #tap_line_distance_col: DDIST + + +skim_time_periods: + time_window: 1440 + period_minutes: 30 + periods: [0, 12, 20, 30, 38, 48] + labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] + +demographic_segments: &demographic_segments + - &low_income_segment_id 0 + - &high_income_segment_id 1 + + +# transit virtual path builder settings +TVPB_SETTINGS: + + tour_mode_choice: + units: utility + path_types: + WTW: + access: walk + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + paths_nest_nesting_coefficient: 1 + DTW: + access: drive + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + paths_nest_nesting_coefficient: 1 + WTD: + access: walk + egress: drive + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + paths_nest_nesting_coefficient: 1 + tap_tap_settings: + SPEC: tvpb_utility_tap_tap.csv + PREPROCESSOR: + SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv + DF: df + # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files + attribute_segments: + demographic_segment: *demographic_segments + tod: *skim_time_period_labels + access_mode: ['drive', 'walk'] + attributes_as_columns: + - demographic_segment + - tod + + maz_tap_settings: + walk: + SPEC: tvpb_utility_walk_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - WALK_TRANSIT_DIST + drive: + SPEC: tvpb_utility_drive_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - DDIST + - DTIME + - WDIST + + CONSTANTS: + C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id + C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id + TVPB_demographic_segments_by_income_segment: + 1: *low_income_segment_id + 2: *low_income_segment_id + 3: *high_income_segment_id + 4: *high_income_segment_id + c_ivt_high_income: -0.016 # use tour constant from TM2 + c_ivt_low_income: -0.016 # use tour constant from TM2 + c_cost_high_income: -0.00112 + c_cost_low_income: -0.00112 + c_auto_operating_cost_per_mile: 18.29 + # constants used in maz_tap and tap_tap utility expressions + c_drive: 1.5 + c_walk: 1.7 + c_fwt: 1.5 + c_waux: 3.677 + c_xwt: 2 + c_xfers1: 30 + c_xfers2: 45 + c_xfers3: 47.026 + # no Express bus alternative-specific constant + c_lrt_asc: -17 # LRT alternative-specific constant + c_fr_asc: -35 # FR alternative-specific constant + c_hr_asc: -22 # Heavy Rail alternative-specific constant + c_cr_asc: -15 # Commuter Rail alternative-specific constant + c_cr20_40: -20 # Commuter Rail distance 20-40 miles + c_cr40plus: -30 # Commuter Rail distance >40 miles + c_drvExpress: -26 # drive to EB constant + c_drvLRT: 2 # drive to LRT constant + c_drvFR: -52 # drive to FR constant + c_drvHeavy: -41 # drive to HR constant + c_drvCR: -52 # drive to CR constant + #"max(IVT/Drive time - 0.3,0)",drvRatio,c_ivt* 6 + C_UNAVAILABLE: -999 + c_walkAcc: 3.0783 # walk to tap time + c_dtim: 2.5724 # drive to tap time + diff --git a/activitysim/examples/prototype_marin/configs/settings.yaml b/activitysim/examples/prototype_marin/configs/settings.yaml new file mode 100755 index 0000000000..5624cd0c97 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/settings.yaml @@ -0,0 +1,240 @@ +inherit_settings: True + +# number of households to simulate +#households_sample_size: 200000 +households_sample_size: 500 + +chunk_size: 0 + +# assume enough RAM to not chunk +chunk_training_mode: disabled + +#trace_hh_id: 662398 +trace_hh_id: + +# input tables +input_table_list: + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + HHID: household_id + MAZ: home_zone_id + keep_columns: + - home_zone_id + - HHINCADJ + - NWRKRS_ESR + - VEH + - NP + #- MTCCountyID + #- HHT + #- BLD + #- TYPE + + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + HHID: household_id + PERID: person_id + keep_columns: + - AGEP + - household_id + - type + - value_of_time + - fp_choice + - SEX + #- SCHL + #- OCCP + #- WKHP + #- WKW + #- EMPLOYED + #- ESR + #- SCHG + + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + MAZ: zone_id + CountyID: county_id + keep_columns: + - TAZ + - DistID + - ACRES + - POP + - emp_total + - hparkcost + - TERMINALTIME + - county_id + - TotInt + - EmpDen + - RetEmpDen + - DUDen +# - level_0 +# - index +# - MAZ_ORIGINAL +# - TAZ_ORIGINAL +# - DistName +# - CountyID +# - CountyName +# - HH +# - ag +# - art_rec +# - constr +# - eat +# - ed_high +# - ed_k12 +# - ed_oth +# - fire +# - gov +# - health +# - hotel +# - info +# - lease +# - logis +# - man_bio +# - man_lgt +# - man_hvy +# - man_tech +# - natres +# - prof +# - ret_loc +# - ret_reg +# - serv_bus +# - serv_pers +# - serv_soc +# - transp +# - util +# - publicEnrollGradeKto8 +# - privateEnrollGradeKto8 +# - publicEnrollGrade9to12 +# - privateEnrollGrade9to12 +# - comm_coll_enroll +# - EnrollGradeKto8 +# - EnrollGrade9to12 +# - collegeEnroll +# - otherCollegeEnroll +# - AdultSchEnrl +# - hstallsoth +# - hstallssam +# - dstallsoth +# - dstallssam +# - mstallsoth +# - mstallssam +# - park_area +# - numfreehrs +# - dparkcost +# - mparkcost +# - ech_dist +# - hch_dist +# - parkarea +# - MAZ_X +# - MAZ_Y +# - PopDen +# - IntDenBin +# - EmpDenBin +# - DuDenBin +# - PopEmpDenPerMi +# - mgra +# - mgraParkArea +# - lsWgtAvgCostM +# - lsWgtAvgCostD +# - lsWgtAvgCostH + + - tablename: tours + filename: work_tours.csv + # since tours has a canonical index name 'tour_id', we must explicitly indicate that no index should be assigned + # canonical index_col 'tour_id' will be assigned by initialize_tours + index_col: + rename_columns: + hh_id: household_id + start_period: start + end_period: end + tour_id: tm2_tour_id + tour_mode: tm2_tour_mode + out_btap: tm2_out_btap + out_atap: tm2_out_atap + in_btap: tm2_in_btap + in_atap: tm2_in_atap + out_set: tm2_out_set + in_set: tm2_in_set + keep_columns: + - person_id + - household_id + - tour_category + - tour_purpose + - orig_mgra + - dest_mgra + - start + - end + # ctramp tm2 fields for validation + - tm2_tour_id # really just ordinal position in ctramp tour file, put probably will be useful for validation + - tm2_tour_mode + - tm2_out_btap + - tm2_out_atap + - tm2_in_btap + - tm2_in_atap + - tm2_out_set + - tm2_in_set +# - person_num +# - person_type +# - tour_distance +# - tour_time +# - atWork_freq +# - num_ob_stops +# - num_ib_stops + + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +#resume_after: initialize_tvpb + +models: + - initialize_landuse + - initialize_households + - initialize_tours + # --- STATIC cache prebuild steps + # single-process step to create attribute_combination list + - initialize_los + # multi-processable step to build STATIC cache + # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) + - initialize_tvpb + # --- + - tour_mode_choice_simulate + - write_data_dictionary + - track_skim_usage + - write_tables + +output_tables: + h5_store: False + action: include + prefix: final_ + # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes + sort: True + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - attribute_combinations + +output_summaries: + tours: + - tour_mode + - od_path_set + - do_path_set diff --git a/activitysim/examples/prototype_marin/configs/settings_mp.yaml b/activitysim/examples/prototype_marin/configs/settings_mp.yaml new file mode 100644 index 0000000000..dfdef9d758 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/settings_mp.yaml @@ -0,0 +1,83 @@ +inherit_settings: settings.yaml + +# raise error if any sub-process fails without waiting for others to complete +fail_fast: True + + +# - ------------------------- dev config +multiprocess: True +strict: False +use_shadow_pricing: False + +households_sample_size: 0 +num_processes: 28 + +# - ------------------------- + +# not recommended or supported for multiprocessing +want_dest_choice_sample_tables: False + +#read_skim_cache: True +#write_skim_cache: True + +# - tracing +trace_hh_id: +trace_od: + +# to resume after last successful checkpoint, specify resume_after: _ +resume_after: + +models: + # + # -- multiprocess_step mp_initialize + # + - initialize_landuse + - initialize_households + - initialize_tours + # initialize_los is a single-process step to create attribute_combination list for initialize_tvpb + - initialize_los + # + # - multiprocess_step initialize_tvpb + # + # multi-processable step to build STATIC cache + # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) + - initialize_tvpb + # + # --- multiprocess_step mp_mode_choice + # + - tour_mode_choice_simulate + - write_data_dictionary + - track_skim_usage + - write_tables + +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_tvpb + begin: initialize_tvpb + num_processes: 20 # it is necessary to limit this to only 20 processes due to the small size of the example data + slice: + tables: + - attribute_combinations + - name: mp_mode_choice + begin: tour_mode_choice_simulate + slice: + tables: + - households + - persons + - tours + - name: mp_summarize + begin: write_data_dictionary + + +output_tables: + action: include + prefix: final_ + # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes + sort: True + tables: + - checkpoints + - households + - persons + - tours + - attribute_combinations diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/shadow_pricing.yaml b/activitysim/examples/prototype_marin/configs/shadow_pricing.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/shadow_pricing.yaml rename to activitysim/examples/prototype_marin/configs/shadow_pricing.yaml diff --git a/activitysim/examples/prototype_marin/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/prototype_marin/configs/tour_departure_and_duration_alternatives.csv new file mode 100644 index 0000000000..bddab06b9d --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/tour_departure_and_duration_alternatives.csv @@ -0,0 +1,191 @@ +start,end +5,5 +5,6 +5,7 +5,8 +5,9 +5,10 +5,11 +5,12 +5,13 +5,14 +5,15 +5,16 +5,17 +5,18 +5,19 +5,20 +5,21 +5,22 +5,23 +6,6 +6,7 +6,8 +6,9 +6,10 +6,11 +6,12 +6,13 +6,14 +6,15 +6,16 +6,17 +6,18 +6,19 +6,20 +6,21 +6,22 +6,23 +7,7 +7,8 +7,9 +7,10 +7,11 +7,12 +7,13 +7,14 +7,15 +7,16 +7,17 +7,18 +7,19 +7,20 +7,21 +7,22 +7,23 +8,8 +8,9 +8,10 +8,11 +8,12 +8,13 +8,14 +8,15 +8,16 +8,17 +8,18 +8,19 +8,20 +8,21 +8,22 +8,23 +9,9 +9,10 +9,11 +9,12 +9,13 +9,14 +9,15 +9,16 +9,17 +9,18 +9,19 +9,20 +9,21 +9,22 +9,23 +10,10 +10,11 +10,12 +10,13 +10,14 +10,15 +10,16 +10,17 +10,18 +10,19 +10,20 +10,21 +10,22 +10,23 +11,11 +11,12 +11,13 +11,14 +11,15 +11,16 +11,17 +11,18 +11,19 +11,20 +11,21 +11,22 +11,23 +12,12 +12,13 +12,14 +12,15 +12,16 +12,17 +12,18 +12,19 +12,20 +12,21 +12,22 +12,23 +13,13 +13,14 +13,15 +13,16 +13,17 +13,18 +13,19 +13,20 +13,21 +13,22 +13,23 +14,14 +14,15 +14,16 +14,17 +14,18 +14,19 +14,20 +14,21 +14,22 +14,23 +15,15 +15,16 +15,17 +15,18 +15,19 +15,20 +15,21 +15,22 +15,23 +16,16 +16,17 +16,18 +16,19 +16,20 +16,21 +16,22 +16,23 +17,17 +17,18 +17,19 +17,20 +17,21 +17,22 +17,23 +18,18 +18,19 +18,20 +18,21 +18,22 +18,23 +19,19 +19,20 +19,21 +19,22 +19,23 +20,20 +20,21 +20,22 +20,23 +21,21 +21,22 +21,23 +22,22 +22,23 +23,23 \ No newline at end of file diff --git a/activitysim/examples/prototype_marin/configs/tour_mode_choice.csv b/activitysim/examples/prototype_marin/configs/tour_mode_choice.csv new file mode 100755 index 0000000000..364648ceaa --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/tour_mode_choice.csv @@ -0,0 +1,226 @@ +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,, +#util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,VEH == 0,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,AGEP < 16,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['TIMEDA'] + dot_skims['TIMEDA'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@df.origin_terminal_time,coef_walk_access_time,,,,,,,,,,,, +util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@df.dest_terminal_time,coef_walk_egress_time,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTDA'] + dot_skims['DISTDA']),coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLDA'] + dot_skims['BTOLLDA']),coef_ivt,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,VEH == 0,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,AGEP < 16,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['TOLLTIMEDA'] + dot_skims['TOLLTIMEDA'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@df.origin_terminal_time,,coef_walk_access_time,,,,,,,,,,, +util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@df.dest_terminal_time,,coef_walk_egress_time,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTDA'] + dot_skims['TOLLDISTDA']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLDA'] + dot_skims['TOLLBTOLLDA']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLDA'] + dot_skims['TOLLVTOLLDA']),,coef_ivt,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['TIMES2'] + dot_skims['TIMES2']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@df.origin_terminal_time,,,coef_walk_access_time,,,,,,,,,, +util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@df.dest_terminal_time,,,coef_walk_egress_time,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS2'] + dot_skims['DISTS2']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS2'] + dot_skims['BTOLLS2']) / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Person_is_between_16_and_24_years_old,SHARED2FREE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,c_age1624_sr2,,,,,,,,,, +util_SHARED2FREE_Person_is_between_41_and_55_years_old,SHARED2FREE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,c_age4155_sr2,,,,,,,,,, +util_SHARED2FREE_Person_is_between_56_and_64_years_old,SHARED2FREE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,c_age5664_sr2,,,,,,,,,, +util_SHARED2FREE_Person_is_between_65plus_years_old,SHARED2FREE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,c_age65pl_sr2,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.NP == 2),,,c_size2_sr2,,,,,,,,,, +util_SHARED2FREE_Three_person_household,SHARED2FREE - Three person household,@(df.NP == 3),,,c_size3_sr2,,,,,,,,,, +util_SHARED2FREE_Four_person_household,SHARED2FREE - Four person household,@(df.NP >= 4),,,c_size4p_sr2,,,,,,,,,, +util_SHARED2FREE_Female,SHARED2FREE - Female,@~df.is_male,,,c_female_sr2,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@df.origin_terminal_time,,,,coef_walk_access_time,,,,,,,,, +util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@df.dest_terminal_time,,,,coef_walk_egress_time,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Person_is_between_16_and_24_years_old,SHARED2PAY_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,c_age1624_sr2,,,,,,,,, +util_SHARED2PAY_Person_is_between_41_and_55_years_old,SHARED2PAY_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,c_age4155_sr2,,,,,,,,, +util_SHARED2PAY_Person_is_between_56_and_64_years_old,SHARED2PAY_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,c_age5664_sr2,,,,,,,,, +util_SHARED2PAY_Person_is_between_65plus_years_old,SHARED2PAY_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,c_age65pl_sr2,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.NP == 2),,,,c_size2_sr2,,,,,,,,, +util_SHARED2PAY_Three_person_household,SHARED2PAY - Three person household,@(df.NP == 3),,,,c_size3_sr2,,,,,,,,, +util_SHARED2PAY_Four_person_household,SHARED2PAY - Four person household,@(df.NP >= 4),,,,c_size4p_sr2,,,,,,,,, +util_SHARED2PAY_Female,SHARED2PAY - Female,@~df.is_male,,,,c_female_sr2,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['TIMES3'] + dot_skims['TIMES3']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@df.origin_terminal_time,,,,,coef_walk_access_time,,,,,,,, +util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@df.dest_terminal_time,,,,,coef_walk_egress_time,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS3'] + dot_skims['DISTS3']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS3'] + dot_skims['BTOLLS3']) / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Person_is_between_16_and_24_years_old,SHARED3FREE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,c_age1624_sr3,,,,,,,, +util_SHARED3FREE_Person_is_between_41_and_55_years_old,SHARED3FREE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,c_age4155_sr3,,,,,,,, +util_SHARED3FREE_Person_is_between_56_and_64_years_old,SHARED3FREE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,c_age5664_sr3,,,,,,,, +util_SHARED3FREE_Person_is_between_65plus_years_old,SHARED3FREE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,c_age65pl_sr3,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.NP == 2),,,,,c_size2_sr3,,,,,,,, +util_SHARED3FREE_Three_person_household,SHARED3FREE - Three person household,@(df.NP == 3),,,,,c_size3_sr3,,,,,,,, +util_SHARED3FREE_Four_person_household,SHARED3FREE - Four person household,@(df.NP >= 4),,,,,c_size4p_sr3,,,,,,,, +util_SHARED3FREE_Female,SHARED3FREE - Female,@~df.is_male,,,,,c_female_sr3,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['TOLLTIMES3'] + dot_skims['TOLLTIMES3']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@df.origin_terminal_time,,,,,,coef_walk_access_time,,,,,,, +util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@df.dest_terminal_time,,,,,,coef_walk_egress_time,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS3'] + dot_skims['TOLLDISTS3']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS3'] + dot_skims['TOLLBTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Person_is_between_16_and_24_years_old,SHARED3PAY_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,c_age1624_sr3,,,,,,, +util_SHARED3PAY_Person_is_between_41_and_55_years_old,SHARED3PAY_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,c_age4155_sr3,,,,,,, +util_SHARED3PAY_Person_is_between_56_and_64_years_old,SHARED3PAY_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,c_age5664_sr3,,,,,,, +util_SHARED3PAY_Person_is_between_65plus_years_old,SHARED3PAY_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,c_age65pl_sr3,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.NP == 2),,,,,,c_size2_sr3,,,,,,, +util_SHARED3PAY_Three_person_household,SHARED3PAY - Three person household,@(df.NP == 3),,,,,,c_size3_sr3,,,,,,, +util_SHARED3PAY_Four_person_household,SHARED3PAY - Four person household,@(df.NP >= 4),,,,,,c_size4p_sr3,,,,,,, +util_SHARED3PAY_Female,SHARED3PAY - Female,@~df.is_male,,,,,,c_female_sr3,,,,,,, +#,Walk,,,,,,,,,,,,,, +util_WALK_Unavailable,WALK - Unavailable,walk_available == False,,,,,,,-999,,,,,, +util_WALK_Time,WALK - walk time,@(od_skims.lookup('WALK_DIST') + od_skims.reverse('WALK_DIST'))*60/walkSpeed,,,,,,,c_walkTime,,,,,, +util_WALK_Person_is_between_16_and_24_years_old,WALK_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,c_age1624_nmot,,,,,, +util_WALK_Person_is_between_41_and_55_years_old,WALK_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,c_age4155_nmot,,,,,, +util_WALK_Person_is_between_56_and_64_years_old,WALK_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,c_age5664_nmot,,,,,, +util_WALK_Person_is_between_65plus_years_old,WALK_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,c_age65pl_nmot,,,,,, +util_WALK_Female,WALK - Female,@~df.is_male,,,,,,,c_female_nmot,,,,,, +util_WALK_Origin_Mix,WALK_Origin_Mix,@df.origin_Mix,,,,,,,c_oMix_nmot,,,,,, +util_WALK_Origin_Intersection_Density,WALK_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,c_oIntDen_nmot,,,,,, +util_WALK_Destination_Employment_Density,WALK_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,c_dEmpDen_nmot,,,,,, +#,Bike,,,,,,,,,,,,,, +util_BIKE_Unavailable,BIKE - Unavailable,bike_available == False,,,,,,,,-999,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, +util_BIKE_Time,BIKE - bike time,@(od_skims.lookup('BIKE_DIST') + od_skims.reverse('BIKE_DIST'))*60/bikeSpeed,,,,,,,,c_bikeTime,,,,, +util_BIKE_Person_is_between_16_and_24_years_old,BIKE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,c_age1624_nmot,,,,, +util_BIKE_Person_is_between_41_and_55_years_old,BIKE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,c_age4155_nmot,,,,, +util_BIKE_Person_is_between_56_and_64_years_old,BIKE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,c_age5664_nmot,,,,, +util_BIKE_Person_is_between_65plus_years_old,BIKE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,c_age65pl_nmot,,,,, +util_BIKE_Female,BIKE - Female,@~df.is_male,,,,,,,,c_female_nmot,,,,, +util_BIKE_Origin_Mix,BIKE_Origin_Mix,@df.origin_Mix,,,,,,,,c_oMix_nmot,,,,, +util_BIKE_Origin_Intersection_Density,BIKE_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,,c_oIntDen_nmot,,,,, +util_BIKE_Destination_Employment_Density,BIKE_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,c_dEmpDen_nmot,,,,, +#,Walk to Local,,,,,,,,,,,,,, +util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW'],,,,,,,,,coef_one,,,, +util_WALK_TRANSIT_Person_is_between_16_and_24_years_old,WALK_TRANSIT_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,,c_age1624_tran,,,, +util_WALK_TRANSIT_Person_is_between_41_and_55_years_old,WALK_TRANSIT_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,,c_age4155_tran,,,, +util_WALK_TRANSIT_Person_is_between_56_and_64_years_old,WALK_TRANSIT_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,,c_age5664_tran,,,, +util_WALK_TRANSIT_Person_is_between_65plus_years_old,WALK_TRANSIT_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,,c_age65pl_tran,,,, +util_WALK_TRANSIT_Female,BIKE - Female,@~df.is_male,,,,,,,,,c_female_tran,,,, +util_WALK_TRANSIT_Origin_Mix,WALK_TRANSIT_Origin_Mix,@df.origin_Mix,,,,,,,,,c_oMix_wtran,,,, +util_WALK_TRANSIT_Origin_Intersection_Density,WALK_TRANSIT_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,,,c_oIntDen_wtran,,,, +util_WALK_TRANSIT_Destination_Employment_Density,WALK_TRANSIT_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,,c_dEmpDen_wtran,,,, +#,Drive to Local,,,,,,,,,,,,,, +util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,VEH == 0,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,AGEP < 16,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD'],,,,,,,,,,coef_one,,, +util_DRIVE_TRANSIT_Person_is_between_16_and_24_years_old,DRIVE_TRANSIT_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,,,c_age1624_tran,,, +util_DRIVE_TRANSIT_Person_is_between_41_and_55_years_old,DRIVE_TRANSIT_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,,,c_age4155_tran,,, +util_DRIVE_TRANSIT_Person_is_between_56_and_64_years_old,DRIVE_TRANSIT_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,,,c_age5664_tran,,, +util_DRIVE_TRANSIT_Person_is_between_65plus_years_old,DRIVE_TRANSIT_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,,,c_age65pl_tran,,, +util_DRIVE_TRANSIT_Female,BIKE - Female,@~df.is_male,,,,,,,,,,c_female_tran,,, +util_DRIVE_TRANSIT_Destination_Employment_Density,DRIVE_TRANSIT_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,,,c_dEmpDen_dtran,,, +#,Taxi,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,coef_ivt,, +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']),,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * Taxi_costPerMile +(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_single_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_shared_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,zeroAutoHH_walk,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,autoDeficientHH_walk,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,autoSufficientHH_walk,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,zeroAutoHH_bike,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,0,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,autoSufficientHH_bike,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,0,0,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,autoDeficientHH_sr2,autoDeficientHH_sr2,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,autoSufficientHH_sr2,autoSufficientHH_sr2,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,zeroAutoHH_sr3,zeroAutoHH_sr3,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,autoDeficientHH_sr3,autoDeficientHH_sr3,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,autoSufficientHH_sr3,autoSufficientHH_sr3,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,zeroAutoHH_wt,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,autoDeficientHH_wt,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,autoSufficientHH_wt,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,zeroAutoHH_kt,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,autoDeficientHH_dt,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,autoSufficientHH_dt,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,0,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,0,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,0,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,0, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,0, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,0, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,,0 +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,0 +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,0 +#,joint tour ASCs,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,0,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,0,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,0,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,0,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,0,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,0,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,0,0,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,0,0,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,0,0,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,0,0,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,0,0,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,0,0,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,0,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,0,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,0,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,0,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,0,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,0,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,0,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,0,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,0,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,0, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,0, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,0, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,,0 +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,0 +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,0 +#,calibration,,,,,,,,,,,,,, +util_Walk_to_Transit_dest_CBD_SF,Walk to Transit dest CBD SF,@df.destination_in_cbd_sf,,,,,,,,,asc_wtransit_cbd_sf,,,, +util_Walk_to_Transit_dest_NW_SF,walk to Transit dest NW SF,@df.destination_in_nw_sf,,,,,,,,,asc_wtransit_nw_sf,,,, +util_Walk_to_Transit_dest_SE_SF,Walk to Transit dest SE SF,@df.destination_in_se_sf,,,,,,,,,asc_wtransit_se_sf,,,, +util_Drive_to_Transit_dest_CBD_SF,Drive to Transit dest CBD SF,@df.destination_in_cbd_sf,,,,,,,,,,asc_dtransit_cbd_sf,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@(50-2.5*odt_skims['DISTDA']).clip(lower=0),,,,,,,,,,coef_ivt,,, +util_Walk_to_Transit_distance_penalty,Walk to Transit - distance penalty,@(200-133*odt_skims['DISTDA']).clip(lower=0),,,,,,,,,coef_ivt,,,, +util_Transit_Pseudo_area_type_constant,Transit - Pseudo area type constant,@asc_Transit_Pseudo_area_type_constant * (df.daily_parking_cost>0),,,,,,,,,coef_ivt,coef_ivt,,, +util_TM2_Round_2_ASC_adjustment_for_0_Autos_HHs,TM2_Round_2_ASC_adjustment_for_0_Autos_HHs,@(df.is_indiv & (df.VEH == 0)),,,zeroAutoHH_SHARED2HOV,zeroAutoHH_SHARED2PAY,zeroAutoHH_SHARED3HOV,zeroAutoHH_SHARED3PAY,zeroAutoHH_WALK,zeroAutoHH_BIKE,zeroAutoHH_WALK_SET,zeroAutoHH_PNR_SET,,, +util_TM2_Round_2_ASC_adjustment_for_Auto_Defecient_HHs,TM2_Round_2_ASC_adjustment_for_Auto_Defecient_HHs,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,autoDeficientHH_SHARED2HOV,autoDeficientHH_SHARED2PAY,autoDeficientHH_SHARED3HOV,autoDeficientHH_SHARED3PAY,autoDeficientHH_WALK,autoDeficientHH_BIKE,autoDeficientHH_WALK_SET,autoDeficientHH_PNR_SET,,, +util_TM2_Round_2_ASC_adjustment_for_Auto_Sufficient_HHs,TM2_Round_2_ASC_adjustment_for_Auto_Sufficient_HHs,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,autoSufficientHH_SHARED2HOV,autoSufficientHH_SHARED2PAY,autoSufficientHH_SHARED3HOV,autoSufficientHH_SHARED3PAY,autoSufficientHH_WALK,autoSufficientHH_BIKE,autoSufficientHH_WALK_SET,autoSufficientHH_PNR_SET,,, +util_taxi_penalty,taxi penalty,@asc_taxi_penalty,,,,,,,,,,,coef_one,, +util_no_tnc,turn off tnc,1,,,,,,,,,,,,-999,-999 diff --git a/activitysim/examples/prototype_marin/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_marin/configs/tour_mode_choice.yaml new file mode 100755 index 0000000000..61e0ab6772 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/tour_mode_choice.yaml @@ -0,0 +1,188 @@ +LOGIT_TYPE: NL +#LOGIT_TYPE: MNL + +tvpb_mode_path_types: + DRIVE_TRANSIT: + od: DTW + do: WTD + WALK_TRANSIT: + od: WTW + do: WTW + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - name: DRIVEALONE + coefficient: coef_nest_AUTO_DRIVEALONE + alternatives: + - DRIVEALONEFREE + - DRIVEALONEPAY + - name: SHAREDRIDE2 + coefficient: coef_nest_AUTO_SHAREDRIDE2 + alternatives: + - SHARED2FREE + - SHARED2PAY + - name: SHAREDRIDE3 + coefficient: coef_nest_AUTO_SHAREDRIDE3 + alternatives: + - SHARED3FREE + - SHARED3PAY + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - WALK_TRANSIT + - DRIVE_TRANSIT + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coefficients.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv + +CONSTANTS: + #valueOfTime: 8.00 + costPerMile: 17.23 + costShareSr2: 1.11 + costShareSr3: 1.25 +# waitThresh: 10.00 + walkThresh: 3.0 +# shortWalk: 0.333 +# longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 12.00 + bikeSpeed: 12.00 +# maxCbdAreaTypeThresh: 2 +# indivTour: 1.00000 +# upperEA: 5 +# upperAM: 10 +# upperMD: 15 +# upperPM: 19 + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 +# + ivt_cost_multiplier: 0.6 +# ivt_lrt_multiplier: 0.9 +# ivt_ferry_multiplier: 0.8 +# ivt_exp_multiplier: 1 +# ivt_hvy_multiplier: 0.8 +# ivt_com_multiplier: 0.7 + walktimeshort_multiplier: 2 +# walktimelong_multiplier: 10 +# biketimeshort_multiplier: 4 +# biketimelong_multiplier: 20 +# short_i_wait_multiplier: 2 +# long_i_wait_multiplier: 1 +# wacc_multiplier: 2 +# wegr_multiplier: 2 +# waux_multiplier: 2 +# dtim_multiplier: 2 +# xwait_multiplier: 2 +# dacc_ratio: 0 +# xfers_wlk_multiplier: 10 +# xfers_drv_multiplier: 20 + drvtrn_distpen_0_multiplier: 270 + drvtrn_distpen_max: 15 +# density_index_multiplier: -0.2 + joint_sr2_ASC_no_auto: 0 + joint_sr2_ASC_auto_deficient: 0 + joint_sr2_ASC_auto_sufficient: 0 + joint_drive_transit_ASC_no_auto: 0 + c_auto_operating_cost_per_mile: 17.23 + + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + - income_segment + - demographic_segment + - c_ivt_for_segment + - c_cost_for_segment + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/prototype_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv new file mode 100755 index 0000000000..0f87f09e16 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -0,0 +1,87 @@ +Description,Target,Expression, +#,,, +,number_of_participants,1, +,is_joint,False, +#,,, +,_HAVE_PARENT_TOURS,False, +,_parent_tour_mode,False, +,work_tour_is_drive,False, +,work_tour_is_bike,False, +,work_tour_is_SOV,False, +#,,, +,is_mandatory,True, +,is_joint,False, +,is_indiv,~is_joint, +,is_atwork_subtour,False, +,is_escort,False, +#,,, +income_in_thousands,income_in_thousands,(df.HHINCADJ / 1000).clip(lower=0), +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)", +,demographic_segment,income_segment.map(TVPB_demographic_segments_by_income_segment), +#,c_ivt_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)", +#,c_cost_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)", +#,,, +#,c_cost,(0.60 * c_ivt) / df.value_of_time, +# ivot * (c_ivt_cost_multiplier * c_ivt),,, +,ivot,1.0 / df.value_of_time, +# RIDEHAIL,,, +,origin_density_measure,"(reindex(land_use.POP, df[orig_col_name]) + reindex(land_use.emp_total, df[orig_col_name])) / (reindex(land_use.ACRES, df[orig_col_name]) / 640)", +,dest_density_measure,"(reindex(land_use.POP, df[dest_col_name]) + reindex(land_use.emp_total, df[dest_col_name])) / (reindex(land_use.ACRES, df[dest_col_name]) / 640)", +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", +,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", +,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", +,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", +# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", +,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", +,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", +,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", +,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime, +,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime, +,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime, +#,,, +,_free_parking_available,(df.tour_type == 'work') & (df.fp_choice == 1), +,_dest_hourly_peak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", +,_dest_hourly_offpeak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", +,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)", +,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)", +just hourly instead of times duration for now,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost, _hourly_offpeak_parking_cost)", +#,,, +,distance,(odt_skims['DISTDA']), +,sov_available,(odt_skims['TIMEDA']>0) & (dot_skims['TIMEDA']>0), +,sovtoll_available,(odt_skims['TOLLVTOLLDA']>0) | (dot_skims['TOLLVTOLLDA']>0), +,hov2_available,(odt_skims['TIMES2'] + dot_skims['TIMES2'])>0, +,hov2toll_available,(odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2'])>0, +,hov3_available,(odt_skims['TIMES3']>0) & (dot_skims['TIMES3']>0), +,hov3toll_available,(odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3'])>0, +,walk_available,"od_skims.lookup('WALK_DIST').between(0.01, walkThresh) & od_skims.reverse('WALK_DIST').between(0.01, walkThresh)", +,bike_available,"od_skims.lookup('BIKE_DIST').between(0.01, bikeThresh) & od_skims.reverse('BIKE_DIST').between(0.01, bikeThresh)", +#,,, +destination district,destination_in_cbd_sf,"reindex(land_use.DistID, df[dest_col_name])==1", +destination district,destination_in_nw_sf,"reindex(land_use.DistID, df[dest_col_name])==2", +destination district,destination_in_se_sf,"reindex(land_use.DistID, df[dest_col_name])==3", +#,,, +,origin_terminal_time,"reindex(land_use.TERMINALTIME, df[orig_col_name])", +,dest_terminal_time,"reindex(land_use.TERMINALTIME, df[dest_col_name])", +,origin_DUDen,"reindex(land_use.DUDen, df[orig_col_name])", +,dest_DUDen,"reindex(land_use.DUDen, df[dest_col_name])", +,origin_EmpDen,"reindex(land_use.EmpDen, df[orig_col_name])", +,dest_EmpDen,"reindex(land_use.EmpDen, df[dest_col_name])", +,origin_TotInt,"reindex(land_use.TotInt, df[orig_col_name])", +,dest_TotInt,"reindex(land_use.TotInt, df[dest_col_name])", +,origin_Mix,"(origin_DUDen * origin_EmpDen) / np.where((origin_DUDen + origin_EmpDen) > 0, (origin_DUDen + origin_EmpDen), 0.001)", +,dest_Mix,"(dest_DUDen * dest_EmpDen) / np.where((dest_DUDen + dest_EmpDen) > 0, (dest_DUDen + dest_EmpDen), 0.001)", +# diagnostic,,, +#,sov_dist_roundtrip,(odt_skims['DISTDA'] + dot_skims['DISTDA']), diff --git a/activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients.csv b/activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients.csv new file mode 100755 index 0000000000..ed7ee8e220 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients.csv @@ -0,0 +1,394 @@ +coefficient_name,value,constrain +coef_one,1,T +coef_nest_root,1,T +coef_nest_AUTO,0.72,T +coef_nest_AUTO_DRIVEALONE,0.35,T +coef_nest_AUTO_SHAREDRIDE2,0.35,T +coef_nest_AUTO_SHAREDRIDE3,0.35,T +coef_nest_NONMOTORIZED,0.72,T +coef_nest_TRANSIT,0.72,T +coef_nest_TRANSIT_WALKACCESS,0.5,T +coef_nest_TRANSIT_DRIVEACCESS,0.5,T +coef_nest_RIDEHAIL,0.36,T +coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F +coef_ivt_school_univ,-0.0224,F +coef_ivt_work,-0.016,F +coef_ivt_atwork,-0.0188,F +coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F +coef_topology_walk_multiplier_atwork,7.5,F +coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F +coef_topology_bike_multiplier_atwork,10,F +coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F +coef_topology_trn_multiplier_atwork,2,F +coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age1619_da_multiplier_school_univ,-1.3813,F +coef_age1619_da_multiplier_atwork,0.0032336,F +coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age010_trn_multiplier_school_univ,-1.5548,F +coef_age010_trn_multiplier_atwork,0.000722,F +coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F +coef_age16p_sr_multiplier_school_univ_work_atwork,0,F +coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F +coef_hhsize1_sr_multiplier_work,-0.734588,F +coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F +coef_hhsize2_sr_multiplier_school_univ,-0.6359,F +coef_walk_access_time,-0.03,T +coef_walk_egress_time,-0.03,T +c_age1624_sr2,-0.21388,T +c_age1624_sr3,-1.79023,T +c_age1624_nmot,0.30322,T +c_age1624_tran,0.79472,T +c_age4155_sr2,-0.30638,T +c_age4155_sr3,-0.41025,T +c_age4155_nmot,-0.17752,T +c_age4155_tran,-0.42301,T +c_age5664_sr2,-1.02962,T +c_age5664_sr3,-0.85641,T +c_age5664_nmot,-0.64534,T +c_age5664_tran,-0.44991,T +c_age65pl_sr2,-0.67111,T +c_age65pl_sr3,-1.43462,T +c_age65pl_nmot,-1.45334,T +c_age65pl_tran,-1.1231,T +c_female_sr2,0.59473,T +c_female_sr3,0.84806,T +c_female_tran,0.15779,T +c_female_nmot,0,T +c_size2_sr2,1.06964,T +c_size2_sr3,-0.46736,T +c_size3_sr2,1.58018,T +c_size3_sr3,0.65463,T +c_size4p_sr2,1.68839,T +c_size4p_sr3,1.4987,T +c_walkTime,-0.059,T +c_bikeTime,-0.0492,T +c_oMix_nmot,0.21014,T +c_oMix_wtran,0,T +c_oIntDen_nmot,0.003,T +c_oIntDen_wtran,0,T +c_dEmpDen_nmot,0.02071,T +c_dEmpDen_wtran,0,T +c_dEmpDen_dtran,0,T +walk_ASC_no_auto_eatout,5.1251173,F +walk_ASC_no_auto_escort,2.8012068,F +walk_ASC_no_auto_othdiscr,3.2665946,F +walk_ASC_no_auto_othmaint,1.287299,F +walk_ASC_no_auto_school,18.414557,F +walk_ASC_no_auto_shopping,2.3768773,F +walk_ASC_no_auto_social,1.8680915,F +walk_ASC_no_auto_univ,6.408967,F +walk_ASC_no_auto_work,5.7672157,F +walk_ASC_no_auto_atwork,6.669213,F +walk_ASC_auto_deficient_eatout,3.274605,F +walk_ASC_auto_deficient_escort,-0.90204656,F +walk_ASC_auto_deficient_othdiscr,2.2494075,F +walk_ASC_auto_deficient_othmaint,1.3690404,F +walk_ASC_auto_deficient_school,3.2573624,F +walk_ASC_auto_deficient_shopping,2.2701733,F +walk_ASC_auto_deficient_social,2.870184,F +walk_ASC_auto_deficient_univ,4.50591,F +walk_ASC_auto_deficient_work,2.4010417,F +walk_ASC_auto_deficient_atwork,0.92546093,F +walk_ASC_auto_sufficient_eatout,1.5516903,F +walk_ASC_auto_sufficient_escort,-0.8116066,F +walk_ASC_auto_sufficient_othdiscr,1.2633476,F +walk_ASC_auto_sufficient_othmaint,0.7999634,F +walk_ASC_auto_sufficient_school,0.6476856,F +walk_ASC_auto_sufficient_shopping,0.7312663,F +walk_ASC_auto_sufficient_social,1.7072186,F +walk_ASC_auto_sufficient_univ,1.0607665,F +walk_ASC_auto_sufficient_work,0.053265337,F +walk_ASC_auto_sufficient_atwork,0.677216,F +bike_ASC_no_auto_eatout,0.86807096,F +bike_ASC_no_auto_escort,-0.716212,F +bike_ASC_no_auto_othdiscr,-0.3764232,F +bike_ASC_no_auto_othmaint,1.5394334,F +bike_ASC_no_auto_school,12.098735,F +bike_ASC_no_auto_shopping,0.8341555,F +bike_ASC_no_auto_social,0.02058321,F +bike_ASC_no_auto_univ,4.2945156,F +bike_ASC_no_auto_work,3.1940088,F +bike_ASC_no_auto_atwork,-0.90725845,F +bike_ASC_auto_deficient_eatout,-1.5691106,F +bike_ASC_auto_deficient_escort,-4.527928,F +bike_ASC_auto_deficient_othdiscr,-0.09246834,F +bike_ASC_auto_deficient_othmaint,-1.5184649,F +bike_ASC_auto_deficient_school,-0.5280678,F +bike_ASC_auto_deficient_shopping,-0.87584466,F +bike_ASC_auto_deficient_social,0.6345214,F +bike_ASC_auto_deficient_univ,-0.669235,F +bike_ASC_auto_deficient_work,0.25318968,F +bike_ASC_auto_deficient_atwork,-0.8074083,F +bike_ASC_auto_sufficient_eatout,-1.2003471,F +bike_ASC_auto_sufficient_escort,-5.0631084,F +bike_ASC_auto_sufficient_othdiscr,-1.0714597,F +bike_ASC_auto_sufficient_othmaint,-2.8083024,F +bike_ASC_auto_sufficient_school,-2.1134686,F +bike_ASC_auto_sufficient_shopping,-2.5662103,F +bike_ASC_auto_sufficient_social,-1.368071,F +bike_ASC_auto_sufficient_univ,-1.9397832,F +bike_ASC_auto_sufficient_work,-1.5800232,F +bike_ASC_auto_sufficient_atwork,15.72017,F +sr2_ASC_no_auto_all,0,F +sr2_ASC_auto_deficient_eatout,0.5882345,F +sr2_ASC_auto_deficient_escort,0,F +sr2_ASC_auto_deficient_othdiscr,0.6601513,F +sr2_ASC_auto_deficient_othmaint,0.2621527,F +sr2_ASC_auto_deficient_school,0.12474365,F +sr2_ASC_auto_deficient_shopping,0.24409756,F +sr2_ASC_auto_deficient_social,1.8558528,F +sr2_ASC_auto_deficient_univ,-1.6922346,F +sr2_ASC_auto_deficient_work,-0.33803123,F +sr2_ASC_auto_deficient_atwork,-2.1102421,F +sr2_ASC_auto_sufficient_eatout,0.86280555,F +sr2_ASC_auto_sufficient_escort,0,F +sr2_ASC_auto_sufficient_othdiscr,0.49684617,F +sr2_ASC_auto_sufficient_othmaint,0.25817883,F +sr2_ASC_auto_sufficient_school,-1.6062657,F +sr2_ASC_auto_sufficient_shopping,0.19770707,F +sr2_ASC_auto_sufficient_social,0.5236025,F +sr2_ASC_auto_sufficient_univ,-1.859427,F +sr2_ASC_auto_sufficient_work,-1.0857458,F +sr2_ASC_auto_sufficient_atwork,-1.4450618,F +sr3p_ASC_no_auto_eatout,0.3219998,F +sr3p_ASC_no_auto_escort,-1.8129267,F +sr3p_ASC_no_auto_othdiscr,0.27216902,F +sr3p_ASC_no_auto_othmaint,-0.8031854,F +sr3p_ASC_no_auto_school,-6.0240827,F +sr3p_ASC_no_auto_shopping,-0.27978948,F +sr3p_ASC_no_auto_social,-1.4036902,F +sr3p_ASC_no_auto_univ,-6.056001,F +sr3p_ASC_no_auto_work,-0.5831269,F +sr3p_ASC_no_auto_atwork,0.5826626,F +sr3p_ASC_auto_deficient_eatout,0.04605236,F +sr3p_ASC_auto_deficient_escort,-0.40818766,F +sr3p_ASC_auto_deficient_othdiscr,1.0470966,F +sr3p_ASC_auto_deficient_othmaint,-1.3493925,F +sr3p_ASC_auto_deficient_school,0.7149571,F +sr3p_ASC_auto_deficient_shopping,-0.073370166,F +sr3p_ASC_auto_deficient_social,1.5007243,F +sr3p_ASC_auto_deficient_univ,-1.7277422,F +sr3p_ASC_auto_deficient_work,-0.8527042,F +sr3p_ASC_auto_deficient_atwork,-2.514658,F +sr3p_ASC_auto_sufficient_eatout,0.8468596,F +sr3p_ASC_auto_sufficient_escort,-0.05741253,F +sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F +sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F +sr3p_ASC_auto_sufficient_school,-1.0201935,F +sr3p_ASC_auto_sufficient_shopping,-0.077571295,F +sr3p_ASC_auto_sufficient_social,0.50617886,F +sr3p_ASC_auto_sufficient_univ,-1.9047098,F +sr3p_ASC_auto_sufficient_work,-1.4699702,F +sr3p_ASC_auto_sufficient_atwork,-1.652174,F +walk_transit_ASC_no_auto_eatout,2.5936368,F +walk_transit_ASC_no_auto_escort,-2.2172081,F +walk_transit_ASC_no_auto_othdiscr,2.2437785,F +walk_transit_ASC_no_auto_othmaint,2.5643456,F +walk_transit_ASC_no_auto_school,21.383749,F +walk_transit_ASC_no_auto_shopping,2.1067476,F +walk_transit_ASC_no_auto_social,1.3814651,F +walk_transit_ASC_no_auto_univ,8.786037,F +walk_transit_ASC_no_auto_work,5.0354166,F +walk_transit_ASC_no_auto_atwork,2.7041876,F +walk_transit_ASC_auto_deficient_eatout,-0.03896324,F +walk_transit_ASC_auto_deficient_escort,-4.960704,F +walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F +walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F +walk_transit_ASC_auto_deficient_school,4.120708,F +walk_transit_ASC_auto_deficient_shopping,-0.8476569,F +walk_transit_ASC_auto_deficient_social,0.97444487,F +walk_transit_ASC_auto_deficient_univ,3.1362555,F +walk_transit_ASC_auto_deficient_work,0.65302855,F +walk_transit_ASC_auto_deficient_atwork,-2.9988291,F +walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F +walk_transit_ASC_auto_sufficient_escort,-4.934847,F +walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F +walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F +walk_transit_ASC_auto_sufficient_school,0.74590874,F +walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F +walk_transit_ASC_auto_sufficient_social,-0.3453759,F +walk_transit_ASC_auto_sufficient_univ,0.4731163,F +walk_transit_ASC_auto_sufficient_work,-0.8916507,F +walk_transit_ASC_auto_sufficient_atwork,-3.401027,F +drive_transit_ASC_no_auto_all,0,F +drive_transit_ASC_auto_deficient_eatout,0.5998061,F +drive_transit_ASC_auto_deficient_escort,-1.1537067,F +drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F +drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F +drive_transit_ASC_auto_deficient_school,5.3252654,F +drive_transit_ASC_auto_deficient_shopping,-0.41849178,F +drive_transit_ASC_auto_deficient_social,1.5627195,F +drive_transit_ASC_auto_deficient_univ,1.8501176,F +drive_transit_ASC_auto_deficient_work,0.10081567,F +drive_transit_ASC_auto_deficient_atwork,-998.8196,F +drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F +drive_transit_ASC_auto_sufficient_escort,-4.6014247,F +drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F +drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F +drive_transit_ASC_auto_sufficient_school,1.40135,F +drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F +drive_transit_ASC_auto_sufficient_social,-0.61585575,F +drive_transit_ASC_auto_sufficient_univ,1.3587753,F +drive_transit_ASC_auto_sufficient_work,-1.0045459,F +drive_transit_ASC_auto_sufficient_atwork,-999.21466,F +taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F +taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F +taxi_ASC_no_auto_school_univ,-7,T +taxi_ASC_no_auto_work,4.7291,F +taxi_ASC_no_auto_atwork,4.1021,F +taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F +taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F +taxi_ASC_auto_deficient_school,-0.3338,F +taxi_ASC_auto_deficient_univ,4.2492,F +taxi_ASC_auto_deficient_work,-1.4766,F +taxi_ASC_auto_deficient_atwork,-4.4046,F +taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F +taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F +taxi_ASC_auto_sufficient_school,-2.4294,F +taxi_ASC_auto_sufficient_univ,-0.3131,F +taxi_ASC_auto_sufficient_work,-4.8509,F +taxi_ASC_auto_sufficient_atwork,-2.8804,F +tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F +tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F +tnc_single_ASC_no_auto_school,-7,T +tnc_single_ASC_no_auto_univ,-2.519,F +tnc_single_ASC_no_auto_work,5.7855,F +tnc_single_ASC_no_auto_atwork,4.4982,F +tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F +tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F +tnc_single_ASC_auto_deficient_school,-0.5524,F +tnc_single_ASC_auto_deficient_univ,1.0221,F +tnc_single_ASC_auto_deficient_work,-0.8013,F +tnc_single_ASC_auto_deficient_atwork,-3.7626,F +tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F +tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F +tnc_single_ASC_auto_sufficient_school,-2.8375,F +tnc_single_ASC_auto_sufficient_univ,0.2088,F +tnc_single_ASC_auto_sufficient_work,-4.1946,F +tnc_single_ASC_auto_sufficient_atwork,-2.7988,F +tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F +tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F +tnc_shared_ASC_no_auto_school,-7,T +tnc_shared_ASC_no_auto_univ,-5.8116,F +tnc_shared_ASC_no_auto_work,3.2429,F +tnc_shared_ASC_no_auto_atwork,3.3672,F +tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F +tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F +tnc_shared_ASC_auto_deficient_school,-1.4746,F +tnc_shared_ASC_auto_deficient_univ,3.25,F +tnc_shared_ASC_auto_deficient_work,-2.1435,F +tnc_shared_ASC_auto_deficient_atwork,-4.5089,F +tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F +tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F +tnc_shared_ASC_auto_sufficient_school,-3.7219,F +tnc_shared_ASC_auto_sufficient_univ,-0.9068,F +tnc_shared_ASC_auto_sufficient_work,-5.3575,F +tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F +joint_walk_ASC_no_auto_all,-0.21274701,F +joint_walk_ASC_auto_deficient_all,-1.9607706,F +joint_walk_ASC_auto_sufficient_all,-3.2352157,F +joint_bike_ASC_no_auto_all,-2.8671598,F +joint_bike_ASC_auto_deficient_all,-6.076415,F +joint_bike_ASC_auto_sufficient_all,-6.3760657,F +joint_sr2_ASC_no_auto_all,0,T +joint_sr2_ASC_auto_deficient_all,0,T +joint_sr2_ASC_auto_sufficient_all,0,T +joint_sr3p_ASC_no_auto_all,0.5630671,F +joint_sr3p_ASC_auto_deficient_all,-1.8841692,F +joint_sr3p_ASC_auto_sufficient_all,-2.234826,F +joint_walk_transit_ASC_no_auto_all,0.62292415,F +joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F +joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F +joint_drive_transit_ASC_no_auto_all,0,T +joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F +joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F +joint_taxi_ASC_no_auto_all,-4.5792,F +joint_taxi_ASC_auto_deficient_all,-9.8157,F +joint_taxi_ASC_auto_sufficient_all,-11.7099,T +joint_tnc_single_ASC_no_auto_all,-4.4917,F +joint_tnc_single_ASC_auto_deficient_all,-9.8961,F +joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T +joint_tnc_shared_ASC_no_auto_all,-4.3002,F +joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F +joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T +local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F +local_bus_ASC_school_univ,-0.06508621,F +local_bus_ASC_work,0.06689507,F +walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +walk_light_rail_ASC_school_univ,1.6814003,F +walk_light_rail_ASC_work,0.8255567,F +drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +drive_light_rail_ASC_school_univ,1.6814003,F +drive_light_rail_ASC_work,0.8255567,F +walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +walk_ferry_ASC_school_univ,2.0202317,F +walk_ferry_ASC_work,0.93322605,F +drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +drive_ferry_ASC_school_univ,2.0202317,F +drive_ferry_ASC_work,0.93322605,F +express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F +express_bus_ASC_school_univ,0.32496938,F +express_bus_ASC_work,-0.5165474,F +heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F +heavy_rail_ASC_school_univ,0.96200377,F +heavy_rail_ASC_work,0.64772975,F +commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F +commuter_rail_ASC_school_univ,1.0336206,F +commuter_rail_ASC_work,0.725503,F +walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +walk_transit_CBD_ASC_school_univ,0.672,F +walk_transit_CBD_ASC_work,0.804,F +walk_transit_CBD_ASC_atwork,0.564,F +drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +drive_transit_CBD_ASC_school_univ,0.672,F +drive_transit_CBD_ASC_work,1.1,F +drive_transit_CBD_ASC_atwork,0.564,F +zeroAutoHH_sr3,-0.466,F +zeroAutoHH_walk,6.823,F +zeroAutoHH_bike,3.536,F +zeroAutoHH_wt,10.326,F +zeroAutoHH_kt,8.281,F +autoDeficientHH_sr2,-2.166,F +autoDeficientHH_sr3,-2.580,F +autoDeficientHH_walk,2.794,F +autoDeficientHH_bike,-0.015,F +autoDeficientHH_wt,-0.940,F +autoDeficientHH_dt,-1.706,F +autoDeficientHH_kt,-2.229,F +autoSufficientHH_sr2,-2.582,F +autoSufficientHH_sr3,-2.580,F +autoSufficientHH_walk,0.729,F +autoSufficientHH_bike,-1.434,F +autoSufficientHH_wt,-2.582,F +autoSufficientHH_dt,-2.923,F +autoSufficientHH_kt,-3.493,F +asc_wtransit_cbd_sf,2.0000,F +asc_wtransit_nw_sf,1.2500,F +asc_wtransit_se_sf,1.2500,F +asc_dtransit_cbd_sf,1.2000,F +asc_Transit_Pseudo_area_type_constant,-55.0000,F +asc_taxi_penalty,-10.0000,F +zeroAutoHH_SHARED2HOV,0,F +autoDeficientHH_SHARED2HOV,0.2369,F +autoSufficientHH_SHARED2HOV,0.1127,F +zeroAutoHH_SHARED2PAY,0,F +autoDeficientHH_SHARED2PAY,0.2369,F +autoSufficientHH_SHARED2PAY,0.1127,F +zeroAutoHH_SHARED3HOV,-2.3789,F +autoDeficientHH_SHARED3HOV,0.2982,F +autoSufficientHH_SHARED3HOV,0.1494,F +zeroAutoHH_SHARED3PAY,-2.3789,F +autoDeficientHH_SHARED3PAY,0.2982,F +autoSufficientHH_SHARED3PAY,0.1494,F +zeroAutoHH_WALK,-9.6191,F +autoDeficientHH_WALK,-1.5999,F +autoSufficientHH_WALK,-2.6212,F +zeroAutoHH_BIKE,-8.1503,F +autoDeficientHH_BIKE,-2.1993,F +autoSufficientHH_BIKE,-3.3049,F +zeroAutoHH_WALK_SET,-0.4471,F +autoDeficientHH_WALK_SET,3.6328,F +autoSufficientHH_WALK_SET,1.4325,F +zeroAutoHH_PNR_SET,0,F +autoDeficientHH_PNR_SET,3.0458,F +autoSufficientHH_PNR_SET,1.6645,F diff --git a/activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients_template.csv b/activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients_template.csv new file mode 100755 index 0000000000..07808b2837 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients_template.csv @@ -0,0 +1,174 @@ +coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork +#same for all segments,,,,,,,,,, +coef_one,,,,,,,,,, +coef_nest_root,,,,,,,,,, +coef_nest_AUTO,,,,,,,,,, +coef_nest_AUTO_DRIVEALONE,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, +coef_nest_NONMOTORIZED,,,,,,,,,, +coef_nest_TRANSIT,,,,,,,,,, +coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, +coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, +coef_nest_RIDEHAIL,,,,,,,,,, +#,,,,,,,,,, +coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork +coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork +coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork +coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork +coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork +coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork +coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork +coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork +coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork +walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork +walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork +walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork +bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork +bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork +bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork +sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all +sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork +sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork +sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork +sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork +sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork +walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork +walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork +walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork +drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all +drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork +drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork +taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork +taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork +taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork +tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork +tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork +tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork +tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork +tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork +tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork +joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all +joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all +joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all +joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all +joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all +joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all +joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all +joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all +joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all +joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all +joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all +joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all +joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all +joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all +joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all +joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all +joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all +joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all +joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all +joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all +joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all +joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all +joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all +joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all +joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all +joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all +joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all +local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork +drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork +#same for all segments,,,,,,,,,, +coef_walk_access_time,,,,,,,,,, +coef_walk_egress_time,,,,,,,,,, +c_age1624_sr2,,,,,,,,,, +c_age1624_sr3,,,,,,,,,, +c_age1624_nmot,,,,,,,,,, +c_age1624_tran,,,,,,,,,, +c_age4155_sr2,,,,,,,,,, +c_age4155_sr3,,,,,,,,,, +c_age4155_nmot,,,,,,,,,, +c_age4155_tran,,,,,,,,,, +c_age5664_sr2,,,,,,,,,, +c_age5664_sr3,,,,,,,,,, +c_age5664_nmot,,,,,,,,,, +c_age5664_tran,,,,,,,,,, +c_age65pl_sr2,,,,,,,,,, +c_age65pl_sr3,,,,,,,,,, +c_age65pl_nmot,,,,,,,,,, +c_age65pl_tran,,,,,,,,,, +c_female_sr2,,,,,,,,,, +c_female_sr3,,,,,,,,,, +c_female_tran,,,,,,,,,, +c_female_nmot,,,,,,,,,, +c_size2_sr2,,,,,,,,,, +c_size2_sr3,,,,,,,,,, +c_size3_sr2,,,,,,,,,, +c_size3_sr3,,,,,,,,,, +c_size4p_sr2,,,,,,,,,, +c_size4p_sr3,,,,,,,,,, +c_walkTime,,,,,,,,,, +c_bikeTime,,,,,,,,,, +c_oMix_nmot,,,,,,,,,, +c_oMix_wtran,,,,,,,,,, +c_oIntDen_nmot,,,,,,,,,, +c_oIntDen_wtran,,,,,,,,,, +c_dEmpDen_nmot,,,,,,,,,, +c_dEmpDen_wtran,,,,,,,,,, +c_dEmpDen_dtran,,,,,,,,,, +zeroAutoHH_sr3,,,,,,,,,, +zeroAutoHH_walk,,,,,,,,,, +zeroAutoHH_bike,,,,,,,,,, +zeroAutoHH_wt,,,,,,,,,, +zeroAutoHH_kt,,,,,,,,,, +autoDeficientHH_sr2,,,,,,,,,, +autoDeficientHH_sr3,,,,,,,,,, +autoDeficientHH_walk,,,,,,,,,, +autoDeficientHH_bike,,,,,,,,,, +autoDeficientHH_wt,,,,,,,,,, +autoDeficientHH_dt,,,,,,,,,, +autoDeficientHH_kt,,,,,,,,,, +autoSufficientHH_sr2,,,,,,,,,, +autoSufficientHH_sr3,,,,,,,,,, +autoSufficientHH_walk,,,,,,,,,, +autoSufficientHH_bike,,,,,,,,,, +autoSufficientHH_wt,,,,,,,,,, +autoSufficientHH_dt,,,,,,,,,, +autoSufficientHH_kt,,,,,,,,,, +asc_wtransit_cbd_sf,,,,,,,,,, +asc_wtransit_nw_sf,,,,,,,,,, +asc_wtransit_se_sf,,,,,,,,,, +asc_dtransit_cbd_sf,,,,,,,,,, +asc_Transit_Pseudo_area_type_constant,,,,,,,,,, +asc_taxi_penalty,,,,,,,,,, +zeroAutoHH_SHARED2HOV,,,,,,,,,, +autoDeficientHH_SHARED2HOV,,,,,,,,,, +autoSufficientHH_SHARED2HOV,,,,,,,,,, +zeroAutoHH_SHARED2PAY,,,,,,,,,, +autoDeficientHH_SHARED2PAY,,,,,,,,,, +autoSufficientHH_SHARED2PAY,,,,,,,,,, +zeroAutoHH_SHARED3HOV,,,,,,,,,, +autoDeficientHH_SHARED3HOV,,,,,,,,,, +autoSufficientHH_SHARED3HOV,,,,,,,,,, +zeroAutoHH_SHARED3PAY,,,,,,,,,, +autoDeficientHH_SHARED3PAY,,,,,,,,,, +autoSufficientHH_SHARED3PAY,,,,,,,,,, +zeroAutoHH_WALK,,,,,,,,,, +autoDeficientHH_WALK,,,,,,,,,, +autoSufficientHH_WALK,,,,,,,,,, +zeroAutoHH_BIKE,,,,,,,,,, +autoDeficientHH_BIKE,,,,,,,,,, +autoSufficientHH_BIKE,,,,,,,,,, +zeroAutoHH_WALK_SET,,,,,,,,,, +autoDeficientHH_WALK_SET,,,,,,,,,, +autoSufficientHH_WALK_SET,,,,,,,,,, +zeroAutoHH_PNR_SET,,,,,,,,,, +autoDeficientHH_PNR_SET,,,,,,,,,, +autoSufficientHH_PNR_SET,,,,,,,,,, \ No newline at end of file diff --git a/activitysim/examples/prototype_marin/configs/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/prototype_marin/configs/tvpb_utility_drive_maz_tap.csv new file mode 100755 index 0000000000..c4abf674f7 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/tvpb_utility_drive_maz_tap.csv @@ -0,0 +1,3 @@ +Label,Description,Expression,utility +util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_dtim * (df.DTIME + (df.WDIST / 5280 / walk_speed * 60))",1 +util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * (df.DDIST + (df.WDIST / 5280)) * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap.csv b/activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap.csv new file mode 100755 index 0000000000..495cad7f01 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap.csv @@ -0,0 +1,82 @@ +Label,Description,Expression,set1,set2,set3 +# Set 1,,,,, +set1_unavailable,Shut off set if unavailable,@df.not_transit_available_set1,C_UNAVAILABLE,, +set1_ivt,set In-Vehicle Time,@~df.not_transit_available_set1 * df.c_ivt_for_segment * df.totalIVT_set1,1,, +set1_first_wait_time,First wait time,"@~df.not_transit_available_set1 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET1')",1,, +set1_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set1 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET1')",1,, +set1_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set1 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET1')",1,, +set1_fare,set Fare,"@~df.not_transit_available_set1 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET1') * 100",1,, +set1_xfers1,0-1 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers1_set1 * c_xfers1 * df.c_ivt_for_segment,1,, +set1_xfers2,1-2 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers2_set1 * c_xfers2 * df.c_ivt_for_segment,1,, +set1_sfers3,>2 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers3_set1 * c_xfers3 * df.c_ivt_for_segment,1,, +set1_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers1_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, +set1_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers2_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, +set1_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers3_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, +set1_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers1_set1 * (df.c_ivt_for_segment * 5),1,, +set1_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers2_set1 * (df.c_ivt_for_segment * 5),1,, +set1_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers3_set1 * (df.c_ivt_for_segment * 5),1,, +set1_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set1 * (df.crDistance_set1>20) * (df.crDistance_set1<=40) * c_cr20_40 * df.c_ivt_for_segment,1,, +set1_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set1 * (df.crDistance_set1>40) * c_cr40plus * df.c_ivt_for_segment,1,, +set1_CR_drive,drive access to CR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvCR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, +set1_HR_drive,drive access to HR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvHeavy * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, +set1_FR_drive,drive access to FR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvFR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, +set1_LRT_drive,drive access to LRT,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvLRT * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, +set1_EB_drive,drive access to EB,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvExpress * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0)",1,, +set1_ASC_CR,ASC CR,"@~df.not_transit_available_set1 * c_cr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, +set1_ASC_HR,ASC HR,"@~df.not_transit_available_set1 * c_hr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, +set1_ASC_FR,ASC FR,"@~df.not_transit_available_set1 * c_fr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, +set1_ASC_LRT,ASC LRT,"@~df.not_transit_available_set1 * c_lrt_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, +# Set 2,,,,, +set2_unavailable,Shut off set if unavailable,@df.not_transit_available_set2,,C_UNAVAILABLE, +set2_ivt,set In-Vehicle Time,@~df.not_transit_available_set2 * df.c_ivt_for_segment * df.totalIVT_set2,,1, +set2_first_wait_time,First wait time,"@~df.not_transit_available_set2 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET2')",,1, +set2_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set2 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET2')",,1, +set2_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set2 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET2')",,1, +set2_fare,set Fare,"@~df.not_transit_available_set2 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET2') * 100",,1, +set2_xfers1,0-1 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers1_set2 * c_xfers1 * df.c_ivt_for_segment,,1, +set2_xfers2,1-2 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers2_set2 * c_xfers2 * df.c_ivt_for_segment,,1, +set2_sfers3,>2 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers3_set2 * c_xfers3 * df.c_ivt_for_segment,,1, +set2_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers1_set2 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),,1, +set2_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers2_set2 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),,1, +set2_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * (access_mode=='drive') * df.xfers3_set2 * (df.c_ivt_for_segment * 15),,1, +set2_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers1_set2 * (df.c_ivt_for_segment * 5),,1, +set2_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers2_set2 * (df.c_ivt_for_segment * 5),,1, +set2_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers3_set2 * (df.c_ivt_for_segment * 5),,1, +set2_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set2 * (df.crDistance_set2>20) * (df.crDistance_set2<=40) * c_cr20_40 * df.c_ivt_for_segment,,1, +set2_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set2 * (df.crDistance_set2>40) * c_cr40plus * df.c_ivt_for_segment,,1, +set2_CR_drive,drive access to CR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_drvCR * df.c_ivt_for_segment",,1, +set2_HR_drive,drive access to HR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_drvHeavy * df.c_ivt_for_segment",,1, +set2_FR_drive,drive access to FR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_drvFR * df.c_ivt_for_segment",,1, +set2_LRT_drive,drive access to LRT,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_drvLRT * df.c_ivt_for_segment",,1, +set2_EB_drive,drive access to EB,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) * c_drvExpress * df.c_ivt_for_segment",,1, +set2_ASC_CR,ASC CR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_cr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, +set2_ASC_HR,ASC HR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_hr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, +set2_ASC_FR,ASC FR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_fr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, +set2_ASC_LRT,ASC LRT,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_lrt_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, +# Set 3,,,,, +set3_unavailable,Shut off set if unavailable,@df.not_transit_available_set3,,,C_UNAVAILABLE +set3_ivt,set In-Vehicle Time,@~df.not_transit_available_set3 * df.c_ivt_for_segment * df.totalIVT_set3,,,1 +set3_first_wait_time,First wait time,"@~df.not_transit_available_set3 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET3')",,,1 +set3_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set3 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET3')",,,1 +set3_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set3 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET3')",,,1 +set3_fare,set Fare,"@~df.not_transit_available_set3 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET3') * 100",,,1 +set3_xfers1,0-1 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers1_set3 * c_xfers1 * df.c_ivt_for_segment,,,1 +set3_xfers2,1-2 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers2_set3 * c_xfers2 * df.c_ivt_for_segment,,,1 +set3_sfers3,>2 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers3_set3 * c_xfers3 * df.c_ivt_for_segment,,,1 +set3_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers1_set3 * (df.c_ivt_for_segment * 15),,,1 +set3_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers2_set3 * (df.c_ivt_for_segment * 15),,,1 +set3_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers3_set3 * (df.c_ivt_for_segment * 15),,,1 +set3_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers1_set3 * (df.c_ivt_for_segment * 5),,,1 +set3_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers2_set3 * (df.c_ivt_for_segment * 5),,,1 +set3_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers3_set3 * (df.c_ivt_for_segment * 5),,,1 +set3_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set3 * (df.crDistance_set3>20) * (df.crDistance_set3<=40) * c_cr20_40 * df.c_ivt_for_segment,,,1 +set3_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set3 * (df.crDistance_set3>40) * c_cr40plus * df.c_ivt_for_segment,,,1 +set3_CR_drive,drive access to CR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_drvCR * df.c_ivt_for_segment",,,1 +set3_HR_drive,drive access to HR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_drvHeavy * df.c_ivt_for_segment",,,1 +set3_FR_drive,drive access to FR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_drvFR * df.c_ivt_for_segment",,,1 +set3_LRT_drive,drive access to LRT,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_drvLRT * df.c_ivt_for_segment",,,1 +set3_EB_drive,drive access to EB,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) * c_drvExpress* df.c_ivt_for_segment",,,1 +set3_ASC_CR,ASC CR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_cr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 +set3_ASC_HR,ASC HR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_hr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 +set3_ASC_FR,ASC FR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_fr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 +set3_ASC_LRT,ASC LRT,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_lrt_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 diff --git a/activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv new file mode 100755 index 0000000000..f2661a897b --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv @@ -0,0 +1,44 @@ +Description,Target,Expression +# time of day,,SHOULD BE PASSED IN +# demographic segment,, +,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" +,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" +# set1,, +,not_transit_available_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET1')==0" +Total IVT,totalIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') " +IVT on BART,bartIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')" +premium modes used,premiumMode_set1,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)" +only travel by BART,bartOnly_set1,bartIVT_set1 == totalIVT_set1 +Set contains only BART with Xfers,bartWithXfer_set1,"(bartIVT_set1 == totalIVT_set1) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set1,"(premiumMode_set1>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1')>0)" +Number transfers,transfers_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')" +0-1 transfers,xfers1_set1,(transfers_set1>0) & (transfers_set1 <=1) +1-2 transfers,xfers2_set1,(transfers_set1>1) & (transfers_set1 <=2) +>2 transfers,xfers3_set1,(transfers_set1>2) +Commuter Rail Distance in miles [35 mph],crDistance_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') * (35/60)" +# set2,, +,not_transit_available_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET2')==0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')==0)" +Total IVT,totalIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') " +IVT on BART,bartIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')" +premium modes used,premiumMode_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0)" +only travel by BART,bartOnly_set2,bartIVT_set2 == totalIVT_set2 +Set contains only BART with Xfers,bartWithXfer_set2,"(bartIVT_set2 == totalIVT_set2) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set2,"(premiumMode_set2>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2')>0)" +Number transfers,transfers_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')" +0-1 transfers,xfers1_set2,(transfers_set2>0) & (transfers_set2 <=1) +1-2 transfers,xfers2_set2,(transfers_set2>1) & (transfers_set2 <=2) +>2 transfers,xfers3_set2,(transfers_set2>2) +Commuter Rail Distance in miles [35 mph],crDistance_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') * (35/60)" +# set3,, +,not_transit_available_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET3')==0" +Total IVT,totalIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') " +IVT on BART,bartIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')" +premium modes used,premiumMode_set3,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0)" +only travel by BART,bartOnly_set3,bartIVT_set3 == totalIVT_set3 +Set contains only BART with Xfers,bartWithXfer_set3,"(bartIVT_set3 == totalIVT_set3) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set3,"(premiumMode_set3>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3')>0)" +Number transfers,transfers_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')" +0-1 transfers,xfers1_set3,(transfers_set3>0) & (transfers_set3 <=1) +1-2 transfers,xfers2_set3,(transfers_set3>1) & (transfers_set3 <=2) +>2 transfers,xfers3_set3,(transfers_set3>2) +Commuter Rail Distance in miles [35 mph],crDistance_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') * (35/60)" diff --git a/activitysim/examples/prototype_marin/configs/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/prototype_marin/configs/tvpb_utility_walk_maz_tap.csv new file mode 100755 index 0000000000..7bc72761c8 --- /dev/null +++ b/activitysim/examples/prototype_marin/configs/tvpb_utility_walk_maz_tap.csv @@ -0,0 +1,4 @@ +Label,Description,Expression,utility +#,,,FIXME column values shouldn't ever be na if different moides have different tables? +#util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 +util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walkAcc * df.WALK_TRANSIT_DIST*(60/walk_speed)",1 diff --git a/activitysim/examples/example_marin/data/accessibility.csv b/activitysim/examples/prototype_marin/data/accessibility.csv similarity index 100% rename from activitysim/examples/example_marin/data/accessibility.csv rename to activitysim/examples/prototype_marin/data/accessibility.csv diff --git a/activitysim/examples/example_marin/data/highway_skims_AM.omx b/activitysim/examples/prototype_marin/data/highway_skims_AM.omx similarity index 100% rename from activitysim/examples/example_marin/data/highway_skims_AM.omx rename to activitysim/examples/prototype_marin/data/highway_skims_AM.omx diff --git a/activitysim/examples/example_marin/data/highway_skims_EA.omx b/activitysim/examples/prototype_marin/data/highway_skims_EA.omx similarity index 100% rename from activitysim/examples/example_marin/data/highway_skims_EA.omx rename to activitysim/examples/prototype_marin/data/highway_skims_EA.omx diff --git a/activitysim/examples/example_marin/data/highway_skims_EV.omx b/activitysim/examples/prototype_marin/data/highway_skims_EV.omx similarity index 100% rename from activitysim/examples/example_marin/data/highway_skims_EV.omx rename to activitysim/examples/prototype_marin/data/highway_skims_EV.omx diff --git a/activitysim/examples/example_marin/data/highway_skims_MD.omx b/activitysim/examples/prototype_marin/data/highway_skims_MD.omx similarity index 100% rename from activitysim/examples/example_marin/data/highway_skims_MD.omx rename to activitysim/examples/prototype_marin/data/highway_skims_MD.omx diff --git a/activitysim/examples/example_marin/data/highway_skims_PM.omx b/activitysim/examples/prototype_marin/data/highway_skims_PM.omx similarity index 100% rename from activitysim/examples/example_marin/data/highway_skims_PM.omx rename to activitysim/examples/prototype_marin/data/highway_skims_PM.omx diff --git a/activitysim/examples/example_marin/data/households.csv b/activitysim/examples/prototype_marin/data/households.csv similarity index 100% rename from activitysim/examples/example_marin/data/households.csv rename to activitysim/examples/prototype_marin/data/households.csv diff --git a/activitysim/examples/example_marin/data/land_use.csv b/activitysim/examples/prototype_marin/data/land_use.csv similarity index 100% rename from activitysim/examples/example_marin/data/land_use.csv rename to activitysim/examples/prototype_marin/data/land_use.csv diff --git a/activitysim/examples/example_marin/data/maz_maz_bike.csv b/activitysim/examples/prototype_marin/data/maz_maz_bike.csv similarity index 100% rename from activitysim/examples/example_marin/data/maz_maz_bike.csv rename to activitysim/examples/prototype_marin/data/maz_maz_bike.csv diff --git a/activitysim/examples/example_marin/data/maz_maz_walk.csv b/activitysim/examples/prototype_marin/data/maz_maz_walk.csv similarity index 100% rename from activitysim/examples/example_marin/data/maz_maz_walk.csv rename to activitysim/examples/prototype_marin/data/maz_maz_walk.csv diff --git a/activitysim/examples/example_marin/data/maz_tap_walk.csv b/activitysim/examples/prototype_marin/data/maz_tap_walk.csv similarity index 100% rename from activitysim/examples/example_marin/data/maz_tap_walk.csv rename to activitysim/examples/prototype_marin/data/maz_tap_walk.csv diff --git a/activitysim/examples/example_marin/data/maz_taz.csv b/activitysim/examples/prototype_marin/data/maz_taz.csv similarity index 100% rename from activitysim/examples/example_marin/data/maz_taz.csv rename to activitysim/examples/prototype_marin/data/maz_taz.csv diff --git a/activitysim/examples/example_marin/data/maz_taz_tap_drive.csv b/activitysim/examples/prototype_marin/data/maz_taz_tap_drive.csv similarity index 100% rename from activitysim/examples/example_marin/data/maz_taz_tap_drive.csv rename to activitysim/examples/prototype_marin/data/maz_taz_tap_drive.csv diff --git a/activitysim/examples/example_marin/data/persons.csv b/activitysim/examples/prototype_marin/data/persons.csv similarity index 100% rename from activitysim/examples/example_marin/data/persons.csv rename to activitysim/examples/prototype_marin/data/persons.csv diff --git a/activitysim/examples/example_marin/data/tap.csv b/activitysim/examples/prototype_marin/data/tap.csv similarity index 100% rename from activitysim/examples/example_marin/data/tap.csv rename to activitysim/examples/prototype_marin/data/tap.csv diff --git a/activitysim/examples/example_marin/data/tap_lines.csv b/activitysim/examples/prototype_marin/data/tap_lines.csv similarity index 100% rename from activitysim/examples/example_marin/data/tap_lines.csv rename to activitysim/examples/prototype_marin/data/tap_lines.csv diff --git a/activitysim/examples/example_marin/data/taz_skims.omx b/activitysim/examples/prototype_marin/data/taz_skims.omx similarity index 100% rename from activitysim/examples/example_marin/data/taz_skims.omx rename to activitysim/examples/prototype_marin/data/taz_skims.omx diff --git a/activitysim/examples/example_marin/data/transit_skims_SET1.omx b/activitysim/examples/prototype_marin/data/transit_skims_SET1.omx similarity index 100% rename from activitysim/examples/example_marin/data/transit_skims_SET1.omx rename to activitysim/examples/prototype_marin/data/transit_skims_SET1.omx diff --git a/activitysim/examples/example_marin/data/transit_skims_SET2.omx b/activitysim/examples/prototype_marin/data/transit_skims_SET2.omx similarity index 100% rename from activitysim/examples/example_marin/data/transit_skims_SET2.omx rename to activitysim/examples/prototype_marin/data/transit_skims_SET2.omx diff --git a/activitysim/examples/example_marin/data/transit_skims_SET3.omx b/activitysim/examples/prototype_marin/data/transit_skims_SET3.omx similarity index 100% rename from activitysim/examples/example_marin/data/transit_skims_SET3.omx rename to activitysim/examples/prototype_marin/data/transit_skims_SET3.omx diff --git a/activitysim/examples/example_marin/data/work_tours.csv b/activitysim/examples/prototype_marin/data/work_tours.csv similarity index 100% rename from activitysim/examples/example_marin/data/work_tours.csv rename to activitysim/examples/prototype_marin/data/work_tours.csv diff --git a/activitysim/examples/example_sandag/output_1/.gitignore b/activitysim/examples/prototype_marin/output/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_1/.gitignore rename to activitysim/examples/prototype_marin/output/.gitignore diff --git a/activitysim/examples/example_sandag/output_1/cache/.gitignore b/activitysim/examples/prototype_marin/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_1/cache/.gitignore rename to activitysim/examples/prototype_marin/output/cache/.gitignore diff --git a/activitysim/examples/example_sandag/output_1/trace/.gitignore b/activitysim/examples/prototype_marin/output/log/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_1/trace/.gitignore rename to activitysim/examples/prototype_marin/output/log/.gitignore diff --git a/activitysim/examples/example_sandag/output_2/log/.gitignore b/activitysim/examples/prototype_marin/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_2/log/.gitignore rename to activitysim/examples/prototype_marin/output/trace/.gitignore diff --git a/activitysim/examples/prototype_marin/scripts/marin_crop.py b/activitysim/examples/prototype_marin/scripts/marin_crop.py new file mode 100644 index 0000000000..b82f596c08 --- /dev/null +++ b/activitysim/examples/prototype_marin/scripts/marin_crop.py @@ -0,0 +1,270 @@ +# crop marin tvpb example data processing to one county +# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 + +import argparse +import os + +import numpy as np +import openmatrix as omx +import pandas as pd + +MAZ_OFFSET = 100000 + +segments = { + "test": {"DistName": ["Downtown SF"]}, + "marin_sf": {"CountyName": ["Marin", "San Francisco"]}, + "full": {}, +} + +parser = argparse.ArgumentParser(description="crop Marin raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ, TAP zone_ids and foreign keys & write orphan_households file", +) + +args = parser.parse_args() + + +segment_name = args.segment_name[0] +check_geography = args.check_geography + +assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" + +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}" + + +print(f"segment_name {segment_name}") + +print(f"input_dir {input_dir}") +print(f"output_dir {output_dir}") + +print(f"check_geography {check_geography}") + +if not os.path.isdir(output_dir): + print(f"creating output directory {output_dir}") + os.mkdir(output_dir) + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def patch_maz(df, maz_offset): + for c in df.columns: + if c in ["MAZ", "OMAZ", "DMAZ", "mgra", "orig_mgra", "dest_mgra"]: + df[c] += maz_offset + return df + + +def read_csv(file_name): + df = pd.read_csv(input_path(file_name)) + if MAZ_OFFSET: + df = patch_maz(df, MAZ_OFFSET) + print(f"read {file_name} {df.shape}") + return df + + +def to_csv(df, file_name): + df.to_csv(output_path(file_name), index=False) + print(f"write {file_name} {df.shape}") + + +# non-standard input file names +LAND_USE = "maz_data_asim.csv" +HOUSEHOLDS = "households_asim.csv" +PERSONS = "persons_asim.csv" +MAZ_TAZ = "maz_taz.csv" +TAP_MAZ = "tap_data.csv" +ACCESSIBILITY = "access.csv" +WORK_TOURS = "work_tours.csv" + +if check_geography: + + # ######## check for orphan_households not in any maz in land_use + land_use = read_csv(LAND_USE) + land_use = land_use[["MAZ", "TAZ"]] + land_use = land_use.sort_values(["TAZ", "MAZ"]) + + households = read_csv(HOUSEHOLDS) + orphan_households = households[~households.MAZ.isin(land_use.MAZ)] + print(f"{len(orphan_households)} orphan_households") + + # write orphan_households to INPUT directory (since it doesn't belong in output) + file_name = "orphan_households.csv" + print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") + orphan_households.to_csv(input_path(file_name), index=False) + + # ######## check that land_use and maz and taz tables have same MAZs and TAZs + + # could just build maz and taz files, but want to make sure PSRC data is right + + land_use = read_csv(LAND_USE) + land_use = land_use.sort_values("MAZ") + maz = read_csv(MAZ_TAZ).sort_values("MAZ") + + # ### FATAL ### + if not land_use.MAZ.isin(maz.MAZ).all(): + print( + f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}" + ) + raise RuntimeError(f"land_use.MAZ not in maz.MAZ") + + if not maz.MAZ.isin(land_use.MAZ).all(): + print(f"maz.MAZ not in land_use.MAZ\n{maz.MAZ[~maz.MAZ.isin(land_use.MAZ)]}") + + # ### FATAL ### + if not land_use.TAZ.isin(maz.TAZ).all(): + print( + f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}" + ) + raise RuntimeError(f"land_use.TAZ not in maz.TAZ") + + if not maz.TAZ.isin(land_use.TAZ).all(): + print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") + + +# land_use + +land_use = read_csv(LAND_USE) + +slicer = segments[segment_name] +for slice_col, slice_values in slicer.items(): + print(f"slice {slice_col}: {slice_values}") + + land_use = land_use[land_use[slice_col].isin(slice_values)] + +print(f"land_use shape after slicing {land_use.shape}") +to_csv(land_use, "land_use.csv") + +# maz_taz, tazs, taps + +maz_taz = land_use[["MAZ", "TAZ"]] +to_csv(maz_taz, "maz_taz.csv") + +tazs = land_use["TAZ"].unique() +tazs.sort() + +taps = read_csv(TAP_MAZ) +taps = taps[["TAP", "TAZ"]].sort_values(by="TAP") +taps = taps[taps["TAZ"].isin(tazs)] +to_csv(taps, "tap.csv") + +# maz to tap walk, bike + +maz_tap_walk = read_csv("maz_tap_walk.csv") +maz_maz_walk = read_csv("maz_maz_walk.csv") +maz_maz_bike = read_csv("maz_maz_bike.csv") + +maz_tap_walk = maz_tap_walk[ + maz_tap_walk["MAZ"].isin(land_use["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"]) +] +maz_maz_walk = maz_maz_walk[ + maz_maz_walk["OMAZ"].isin(land_use["MAZ"]) + & maz_maz_walk["DMAZ"].isin(land_use["MAZ"]) +] +maz_maz_bike = maz_maz_bike[ + maz_maz_bike["OMAZ"].isin(land_use["MAZ"]) + & maz_maz_bike["DMAZ"].isin(land_use["MAZ"]) +] + +to_csv(maz_tap_walk, "maz_tap_walk.csv") +to_csv(maz_maz_walk, "maz_maz_walk.csv") +to_csv(maz_maz_bike, "maz_maz_bike.csv") + +tap_lines = read_csv("tap_lines.csv") +tap_lines = tap_lines[tap_lines["TAP"].isin(taps["TAP"])] +to_csv(tap_lines, "tap_lines.csv") + +# taz to tap drive data + +taz_tap_drive = read_csv("maz_taz_tap_drive.csv") +taz_tap_drive = taz_tap_drive[ + taz_tap_drive["MAZ"].isin(land_use["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"]) +] +to_csv(taz_tap_drive, "maz_taz_tap_drive.csv") + + +# accessibility data + +access = read_csv(ACCESSIBILITY) +access = access[access["mgra"].isin(land_use["MAZ"])] +to_csv(access, "accessibility.csv") + + +# households + +households = read_csv(HOUSEHOLDS) +households = households[households["MAZ"].isin(land_use["MAZ"])] +to_csv(households, "households.csv") + +# persons + +persons = read_csv(PERSONS) +persons = persons[persons["HHID"].isin(households["HHID"])] +to_csv(persons, "persons.csv") + +# tours file + +work_tours = read_csv(WORK_TOURS) +work_tours = work_tours[work_tours["hh_id"].isin(households["HHID"])] +work_tours = work_tours[ + work_tours["orig_mgra"].isin(land_use["MAZ"]) + & work_tours["dest_mgra"].isin(land_use["MAZ"]) +] +to_csv(work_tours, "work_tours.csv") + +# skims + +taz_indexes = (tazs - 1).tolist() # offset_map +tap_indexes = (taps["TAP"] - 1).tolist() # offset_map +time_periods = ["AM", "EA", "EV", "MD", "PM"] +skim_data_type = np.float32 + +# taz skims with skim_data_type np.float32 are under 2GB - otherwise we would need to further segment them + +for tp in time_periods: + in_file_name = f"HWYSKM{tp}_taz_rename.omx" + taz_file_in = omx.open_file(input_path(in_file_name)) + out_file_name = f"highway_skims_{tp}.omx" + taz_file_out = omx.open_file(output_path(out_file_name), "w") + taz_file_out.create_mapping("ZONE", tazs.tolist()) + for mat_name in taz_file_in.list_matrices(): + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(taz_file_in[mat_name]).astype(skim_data_type) + m = m[taz_indexes, :][:, taz_indexes] + taz_file_out[mat_name] = m + print(f"taz {mat_name} {m.shape}") + taz_file_in.close() + taz_file_out.close() + +for skim_set in ["SET1", "SET2", "SET3"]: + out_file_name = f"transit_skims_{skim_set}.omx" + tap_file_out = omx.open_file(output_path(out_file_name), "w") + tap_file_out.create_mapping("TAP", taps["TAP"].tolist()) + for tp in time_periods: + in_file_name = f"transit_skims_{tp}_{skim_set}_rename.omx" + tap_file_in = omx.open_file(input_path(in_file_name)) + for mat_name in tap_file_in.list_matrices(): + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(tap_file_in[mat_name]).astype(skim_data_type) + m = m[tap_indexes, :][:, tap_indexes] + tap_file_out[mat_name] = m + print(f"tap {skim_set} {mat_name} {m.shape}") + tap_file_in.close() + tap_file_out.close() diff --git a/activitysim/examples/prototype_marin/scripts/marin_fix.py b/activitysim/examples/prototype_marin/scripts/marin_fix.py new file mode 100644 index 0000000000..55ad498a72 --- /dev/null +++ b/activitysim/examples/prototype_marin/scripts/marin_fix.py @@ -0,0 +1,94 @@ +# remove some of the asim-style columns added by marin_work_tour_mode_choice.py +# so data input files look 'realistic' - and that work is done instaed by 'import_tours' annotation expression files + +import os + +import openmatrix as omx +import pandas as pd + +input_dir = "./data_3_marin" +output_dir = ( + "./data_3_marin/fix" # don't overwrite - but these files shold replace 'oritinals' +) + + +def input_path(filenane): + return os.path.join(input_dir, filenane) + + +def output_path(filenane): + return os.path.join(output_dir, filenane) + + +# 0 - get county zones + +mazs = pd.read_csv(input_path("maz_data_asim.csv")) +del mazs["zone_id"] +del mazs["county_id"] +mazs.to_csv(output_path("maz_data_asim.csv"), index=False) + +tazs = mazs["TAZ"].unique() +tazs.sort() +assert ((tazs - 1) == range(len(tazs))).all() + +# MAZ,TAZ +taps = pd.read_csv(input_path("maz_taz.csv")) +# nothing +taps.to_csv(output_path("maz_taz.csv"), index=False) + +taps = pd.read_csv(input_path("tap_data.csv")) +# nothing +taps.to_csv(output_path("tap_data.csv"), index=False) + + +# 2 - nearby skims need headers + +maz_tap_walk = pd.read_csv(input_path("maz_tap_walk.csv")) +maz_maz_walk = pd.read_csv(input_path("maz_maz_walk.csv")) +maz_maz_bike = pd.read_csv(input_path("maz_maz_bike.csv")) + +del maz_tap_walk["TAP.1"] +del maz_maz_walk["DMAZ.1"] +del maz_maz_bike["DMAZ.1"] + +maz_tap_walk.to_csv(output_path("maz_tap_walk.csv"), index=False) +maz_maz_walk.to_csv(output_path("maz_maz_walk.csv"), index=False) +maz_maz_bike.to_csv(output_path("maz_maz_bike.csv"), index=False) + +# 3 - accessibility data + +access = pd.read_csv(input_path("access.csv")) +del access["zone_id"] +access.to_csv(output_path("access.csv"), index=False) + +# 4 - maz to tap drive data + +taz_tap_drive = pd.read_csv(input_path("maz_taz_tap_drive.csv")) + +taz_tap_drive.to_csv(output_path("maz_taz_tap_drive.csv"), index=False) + +# 5 - households + +households = pd.read_csv(input_path("households_asim.csv")) +del households["home_zone_id"] +del households["household_id"] + +households.to_csv(output_path("households_asim.csv"), index=False) + +# 6 - persons + +persons = pd.read_csv(input_path("persons_asim.csv")) +del persons["person_id"] +del persons["household_id"] +del persons["is_university"] +persons.to_csv(output_path("persons_asim.csv"), index=False) + +# 7 - tours file + +work_tours = pd.read_csv(input_path("work_tours.csv")) +del work_tours["household_id"] +del work_tours["destination"] +del work_tours["start"] +del work_tours["end"] +del work_tours["tour_type"] +work_tours.to_csv(output_path("work_tours.csv"), index=False) diff --git a/activitysim/examples/prototype_marin/scripts/marin_work_tour_mode_choice_data.py b/activitysim/examples/prototype_marin/scripts/marin_work_tour_mode_choice_data.py new file mode 100644 index 0000000000..e31212549c --- /dev/null +++ b/activitysim/examples/prototype_marin/scripts/marin_work_tour_mode_choice_data.py @@ -0,0 +1,171 @@ +# marin tvpb example data processing +# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 + +import openmatrix as omx +import pandas as pd + +# command to run the underdevelopment example +# python simulation.py -c configs_3_zone_marin -d data_3_marin -o output_3_marin + +# data processing at c:\projects\activitysim\marin + +# 1 - fix skim names, put time periods at end and make all names unique + +time_periods = ["AM", "EA", "EV", "MD", "PM"] +for tp in time_periods: + taz_file = omx.open_file("HWYSKM" + tp + "_taz.omx") + taz_file_rename = omx.open_file("HWYSKM" + tp + "_taz_rename.omx", "w") + for mat_name in taz_file.list_matrices(): + taz_file_rename[mat_name + "__" + tp] = taz_file[mat_name][:] + print(mat_name + "__" + tp) + taz_file.close() + taz_file_rename.close() + +for tp in time_periods: + for skim_set in ["SET1", "SET2", "SET3"]: + tap_file = omx.open_file("transit_skims_" + tp + "_" + skim_set + ".omx") + tap_file_rename = omx.open_file( + "transit_skims_" + tp + "_" + skim_set + "_rename.omx", "w" + ) + for mat_name in tap_file.list_matrices(): + tap_file_rename[mat_name + "_" + skim_set + "__" + tp] = tap_file[mat_name][ + : + ] + print(mat_name + "_" + skim_set + "__" + tp) + tap_file.close() + tap_file_rename.close() + +# 2 - nearby skims need headers + +maz_tap_walk = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/ped_distance_maz_tap.txt", header=None +) +maz_maz_walk = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/ped_distance_maz_maz.txt", header=None +) +maz_maz_bike = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/bike_distance_maz_maz.txt", header=None +) + +maz_tap_walk.columns = [ + "MAZ", + "TAP", + "TAP", + "WALK_TRANSIT_GEN_COST", + "WALK_TRANSIT_DIST", +] +maz_maz_walk.columns = ["OMAZ", "DMAZ", "DMAZ", "WALK_GEN_COST", "WALK_DIST"] +maz_maz_bike.columns = ["OMAZ", "DMAZ", "DMAZ", "BIKE_GEN_COST", "BIKE_DIST"] + +maz_tap_walk["WALK_TRANSIT_DIST"] = maz_tap_walk["WALK_TRANSIT_DIST"] / 5280 # miles +maz_maz_walk["WALK_DIST"] = maz_maz_walk["WALK_DIST"] / 5280 # miles +maz_maz_bike["BIKE_DIST"] = maz_maz_bike["BIKE_DIST"] / 5280 # miles + +maz_tap_walk[["MAZ", "TAP", "WALK_TRANSIT_DIST"]].to_csv( + "maz_tap_walk.csv", index=False +) +maz_maz_walk[["OMAZ", "DMAZ", "WALK_DIST"]].to_csv("maz_maz_walk.csv", index=False) +maz_maz_bike[["OMAZ", "DMAZ", "BIKE_DIST"]].to_csv("maz_maz_bike.csv", index=False) + +# 3 - maz data + +mazs = pd.read_csv("2015_test_2019_02_13_Part2/landuse/maz_data_withDensity.csv") +pcost = pd.read_csv("2015_test_2019_02_13/ctramp_output/mgraParkingCost.csv") + +mazs = pd.concat([mazs, pcost], axis=1) +mazs = mazs.fillna(0) + +tazs = pd.read_csv("2015_test_2019_02_13_Part2/landuse/taz_data.csv") +tazs = tazs.set_index("TAZ", drop=False) + +mazs["TERMINALTIME"] = tazs["TERMINALTIME"].loc[mazs["TAZ"]].tolist() + +mazs["zone_id"] = mazs["MAZ"] +mazs["county_id"] = mazs["CountyID"] +mazs = mazs.set_index("zone_id", drop=False) + +mazs.to_csv("maz_data_asim.csv", index=False) + +# 4 - accessibility data + +access = pd.read_csv("2015_test_2019_02_13/ctramp_output/accessibilities.csv") +access = access.drop([0]) +access["zone_id"] = access["mgra"] +access = access.set_index("zone_id", drop=False) +access.to_csv("access.csv", index=False) + +# 5 - maz to tap drive data + +taz_tap_drive = pd.read_csv("2015_test_2019_02_13_Part3/skims/drive_maz_taz_tap.csv") + +taz_tap_drive = taz_tap_drive.pivot_table( + index=["FTAZ", "TTAP"], values=["DTIME", "DDIST", "WDIST"], fill_value=0 +) + +taz_tap_drive.columns = list(map("".join, taz_tap_drive.columns)) +taz_tap_drive = taz_tap_drive.reset_index() +taz_tap_drive = taz_tap_drive.set_index("FTAZ") +taz_tap_drive["TAP"] = taz_tap_drive["TTAP"] + +taz_tap_drive = pd.merge( + mazs[["MAZ", "TAZ"]], taz_tap_drive, left_on=["TAZ"], right_on=["FTAZ"] +) +taz_tap_drive[["MAZ", "TAP", "DDIST", "DTIME", "WDIST"]].to_csv( + "maz_taz_tap_drive.csv", index=False +) + +# 6 - tours file, we just need work tours + +itour = pd.read_csv("2015_test_2019_02_13/ctramp_output/indivTourData_3.csv") +work_tours = itour[itour["tour_purpose"] == "Work"] + +work_tours["tour_id"] = range(1, len(work_tours) + 1) +work_tours["household_id"] = work_tours["hh_id"] +work_tours = work_tours.set_index("tour_id", drop=False) + +work_tours["destination"] = work_tours["dest_mgra"] + +work_tours["start"] = work_tours["start_period"] +work_tours["end"] = work_tours["end_period"] +work_tours["tour_type"] = "work" + +work_tours.to_csv("work_tours.csv", index=False) + +# 7 - households + +households = pd.read_csv("2015_test_2019_02_13_Part2/popsyn/households.csv") +households["household_id"] = households["HHID"] +households["home_zone_id"] = households["MAZ"] +households = households.set_index("household_id", drop=False) + +households.to_csv("households_asim.csv", index=False) + +# 8 - persons + +persons = pd.read_csv("2015_test_2019_02_13_Part2/popsyn/persons.csv") +persons["person_id"] = persons["PERID"] +persons["household_id"] = persons["HHID"] +persons = persons.set_index("person_id", drop=False) + +persons_output = pd.read_csv("2015_test_2019_02_13/ctramp_output/personData_3.csv") +persons_output = persons_output.set_index("person_id", drop=False) +persons["type"] = persons_output["type"].loc[persons.index] +persons["value_of_time"] = persons_output["value_of_time"].loc[persons.index] +persons["is_university"] = persons["type"] == "University student" +persons["fp_choice"] = persons_output["fp_choice"] + +persons.to_csv("persons_asim.csv", index=False) + +# 9 - replace existing pipeline tables for restart for now + +# run simple three zone example and get output pipeline and then replace tables before tour mode choice +pipeline = pd.io.pytables.HDFStore("pipeline.h5") +pipeline.keys() + +pipeline["/accessibility/compute_accessibility"] = access # index zone_id +pipeline["/households/joint_tour_frequency"] = households # index household_id +pipeline["/persons/non_mandatory_tour_frequency"] = persons # index person_id +pipeline["/land_use/initialize_landuse"] = mazs # index zone_id +pipeline["/tours/non_mandatory_tour_scheduling"] = work_tours # index tour_id + +pipeline.close() diff --git a/activitysim/examples/example_marin/scripts/notes.txt b/activitysim/examples/prototype_marin/scripts/notes.txt similarity index 100% rename from activitysim/examples/example_marin/scripts/notes.txt rename to activitysim/examples/prototype_marin/scripts/notes.txt diff --git a/activitysim/examples/example_marin/scripts/tvpb_validation.R b/activitysim/examples/prototype_marin/scripts/tvpb_validation.R similarity index 80% rename from activitysim/examples/example_marin/scripts/tvpb_validation.R rename to activitysim/examples/prototype_marin/scripts/tvpb_validation.R index de8eb01356..5ca979797e 100644 --- a/activitysim/examples/example_marin/scripts/tvpb_validation.R +++ b/activitysim/examples/prototype_marin/scripts/tvpb_validation.R @@ -1,6 +1,6 @@ #mode share -x=read.csv("C:/projects/activitysim/activitysim/examples/example_multiple_zone/output_3_marin_full/final_tours.csv") +x=read.csv("C:/projects/activitysim/activitysim/examples/placeholder_multiple_zone/output_3_marin_full/final_tours.csv") tm2_mode_codes = c("DRIVEALONEFREE","SHARED2FREE","SHARED2FREE","SHARED3FREE","SHARED3FREE","WALK","BIKE","WALK_TRANSIT","DRIVE_TRANSIT","DRIVE_TRANSIT","TAXI") names(tm2_mode_codes) = c(1,3,4,6,7,9,10,11,12,13,15) @@ -14,7 +14,7 @@ write.csv(asim_ms, "c:/projects/asim_ms.csv", row.names=F) #taps -taps=read.csv("C:/projects/activitysim/activitysim/examples/example_multiple_zone/data_3_marin_full/tap_data.csv") +taps=read.csv("C:/projects/activitysim/activitysim/examples/placeholder_multiple_zone/data_3_marin_full/tap_data.csv") tm2_out_btap = sort(table(x$tm2_out_btap)) asim_out_btap = sort(table(x$od_btap)) diff --git a/activitysim/examples/example_marin/test/configs/network_los.yaml b/activitysim/examples/prototype_marin/test/configs/network_los.yaml similarity index 100% rename from activitysim/examples/example_marin/test/configs/network_los.yaml rename to activitysim/examples/prototype_marin/test/configs/network_los.yaml diff --git a/activitysim/examples/example_marin/test/configs/settings.yaml b/activitysim/examples/prototype_marin/test/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_marin/test/configs/settings.yaml rename to activitysim/examples/prototype_marin/test/configs/settings.yaml diff --git a/activitysim/examples/example_sandag/output_2/.gitignore b/activitysim/examples/prototype_marin/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_2/.gitignore rename to activitysim/examples/prototype_marin/test/output/.gitignore diff --git a/activitysim/examples/example_sandag/output_2/cache/.gitignore b/activitysim/examples/prototype_marin/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_2/cache/.gitignore rename to activitysim/examples/prototype_marin/test/output/cache/.gitignore diff --git a/activitysim/examples/example_sandag/output_2/trace/.gitignore b/activitysim/examples/prototype_marin/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_2/trace/.gitignore rename to activitysim/examples/prototype_marin/test/output/trace/.gitignore diff --git a/activitysim/examples/example_marin/test/regress/final_tours.csv b/activitysim/examples/prototype_marin/test/regress/final_tours.csv similarity index 100% rename from activitysim/examples/example_marin/test/regress/final_tours.csv rename to activitysim/examples/prototype_marin/test/regress/final_tours.csv diff --git a/activitysim/examples/prototype_marin/test/simulation.py b/activitysim/examples/prototype_marin/test/simulation.py new file mode 100755 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/prototype_marin/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/prototype_marin/test/test_marin.py b/activitysim/examples/prototype_marin/test/test_marin.py new file mode 100644 index 0000000000..2f78de8868 --- /dev/null +++ b/activitysim/examples/prototype_marin/test/test_marin.py @@ -0,0 +1,60 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def test_marin(): + def example_path(dirname): + resource = os.path.join("examples", "prototype_marin", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(): + regress_trips_df = pd.read_csv(test_path("regress/final_tours.csv")) + final_trips_df = pd.read_csv(test_path("output/final_tours.csv")) + + # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, + # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum + # compare_cols = [] + pdt.assert_frame_equal(final_trips_df, regress_trips_df) + + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + subprocess.run( + [ + "coverage", + "run", + "-a", + file_path, + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ], + check=True, + ) + + regress() + + +if __name__ == "__main__": + + test_marin() diff --git a/activitysim/examples/example_mtc/.gitignore b/activitysim/examples/prototype_mtc/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/.gitignore rename to activitysim/examples/prototype_mtc/.gitignore diff --git a/activitysim/examples/prototype_mtc/README.MD b/activitysim/examples/prototype_mtc/README.MD new file mode 100644 index 0000000000..b9110fe219 --- /dev/null +++ b/activitysim/examples/prototype_mtc/README.MD @@ -0,0 +1,4 @@ + +### Prototype MTC Example + +The primary ActivitySim example model. See https://activitysim.github.io/activitysim for more information. diff --git a/activitysim/examples/prototype_mtc/configs/accessibility.csv b/activitysim/examples/prototype_mtc/configs/accessibility.csv new file mode 100644 index 0000000000..db2275546a --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/accessibility.csv @@ -0,0 +1,59 @@ +Description,Target,Expression +#,, +#,, auto peak +#,, +#,, assume peak occurs in AM for outbound and PM for inbound +peak round trip distance,_auPkTime,"skim_od[('SOVTOLL_TIME', 'AM')] + skim_do[('SOVTOLL_TIME', 'PM')]" +decay function,_decay, exp(_auPkTime * dispersion_parameter_automobile) +auto peak retail,auPkRetail,df.RETEMPN * _decay +auto peak total,auPkTotal,df.TOTEMP * _decay +#,, +#,, auto off-peak +#,, +#,, assume midday occurs entirely in the midday period +off-peak round trip distance,_auOpTime,"skim_od[('SOVTOLL_TIME', 'MD')] + skim_do[('SOVTOLL_TIME', 'MD')]" +decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) +auto off-peak retail,auOpRetail,df.RETEMPN * _decay +auto off-peak total,auOpTotal,df.TOTEMP * _decay +#,, +#,, transit peak +#,, +#,, assume peak outbound transit occurs in AM +o-d peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'AM')]" +o-d peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_XWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_WACC', 'AM')] + skim_od[('WLK_TRN_WLK_WAUX', 'AM')] + skim_od[('WLK_TRN_WLK_WEGR', 'AM')]" +o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +#,, assume peak inbound transit occurs in PM +d-o peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'PM')]" +d-o peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_XWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_WACC', 'PM')] + skim_do[('WLK_TRN_WLK_WAUX', 'PM')] + skim_do[('WLK_TRN_WLK_WEGR', 'PM')]" +d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +peak transit time,_trPkTime,(_trPkTime_od + _trPkTime_do).clip(0) +round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) +decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) +transit peak retail,trPkRetail,df.RETEMPN * _decay +transit peak total,trPkTotal,df.TOTEMP * _decay +#,, +#,, transit off-peak +#,, +#,, assume off-peak outbound transit occurs in the MD time period +o-d off-peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'MD')]" +o-d off-peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_WACC', 'MD')] + skim_od[('WLK_TRN_WLK_WAUX', 'MD')] + skim_od[('WLK_TRN_WLK_WEGR', 'MD')]" +o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +#,, assume off-peak inbound transit occurs in the MD time period +d-o off-peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'MD')]" +d-o off-peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_WACC', 'MD')] + skim_do[('WLK_TRN_WLK_WAUX', 'MD')] + skim_do[('WLK_TRN_WLK_WEGR', 'MD')]" +d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +peak transit time,_trOpTime,(_trOpTime_od + _trOpTime_do).clip(0) +#,,FIXME - _rt_available calculation appears to be wrong in mtctm1 accessibility.job +#round trip path is available,_rt_available,(_trOpTime > 0) +round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) +decay function,_decay,_rt_available * exp(_trOpTime * dispersion_parameter_transit) +transit off-peak retail,trOpRetail,df.RETEMPN * _decay +transit off-peak total,trOpTotal,df.TOTEMP * _decay +#,, +#,, non motorized +#,, +non-motorized round trip distance,_nmDist,skim_od['DISTWALK'] + skim_do['DISTWALK'] +round trip path is available,_rt_available,_nmDist <= maximum_walk_distance +decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) +retail accessibility,nmRetail,df.RETEMPN * _decay +total accessibility,nmTotal,df.TOTEMP * _decay diff --git a/activitysim/examples/prototype_mtc/configs/accessibility.yaml b/activitysim/examples/prototype_mtc/configs/accessibility.yaml new file mode 100644 index 0000000000..d8c1e038c5 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/accessibility.yaml @@ -0,0 +1,13 @@ + +# columns from land_use table to add to df +land_use_columns: ['RETEMPN', 'TOTEMP'] + +CONSTANTS: + # dispersion parameters + dispersion_parameter_automobile: -0.05 + dispersion_parameter_transit: -0.05 + dispersion_parameter_walk: -1.00 + # maximum walk distance in miles + maximum_walk_distance: 3.0 + # perceived minute of in-vehicle time for every minute of out-of-vehicle time + out_of_vehicle_time_weight: 2.0 diff --git a/activitysim/examples/prototype_mtc/configs/annotate_households.csv b/activitysim/examples/prototype_mtc/configs/annotate_households.csv new file mode 100644 index 0000000000..ac29e74726 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/annotate_households.csv @@ -0,0 +1,31 @@ +Description,Target,Expression +#,,annotate households table after import +,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" +#,,FIXME households.income can be negative - so we clip? +income_in_thousands,income_in_thousands,(households.income / 1000).clip(lower=0) +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[INCOME_SEGMENT_LOW, INCOME_SEGMENT_MED, INCOME_SEGMENT_HIGH, INCOME_SEGMENT_VERYHIGH]).astype(int)" +#,, +,_MIN_VOT,setting('min_value_of_time') +,_MAX_VOT,setting('max_value_of_time') +,_MU,setting('distributed_vot_mu') +,_SIGMA,setting('distributed_vot_sigma') +median_value_of_time,median_value_of_time,"income_segment.map({k: v for k, v in setting('household_median_value_of_time').items()})" +hh_value_of_time,hh_value_of_time,"rng.lognormal_for_df(df, mu=np.log(median_value_of_time * _MU), sigma=_SIGMA).clip(_MIN_VOT, _MAX_VOT)" +#,, +#num_workers was renamed in import,, +#,num_workers,households.workers +number of non_workers,num_non_workers,households.hhsize - households.num_workers +#,, +#,,we assume that everyone 16 and older is a potential driver +number of drivers,num_drivers,"_PERSON_COUNT('16 <= age', persons, households)" +num_adults,num_adults,"_PERSON_COUNT('adult', persons, households)" +num_children,num_children,"_PERSON_COUNT('~adult', persons, households)" +num_young_children,num_young_children,"_PERSON_COUNT('age <= 5', persons, households)" +num_children_5_to_15,num_children_5_to_15,"_PERSON_COUNT('5 <= age <= 15', persons, households)" +num_children_16_to_17,num_children_16_to_17,"_PERSON_COUNT('16 <= age <= 17', persons, households)" +num_college_age,num_college_age,"_PERSON_COUNT('18 <= age <= 24', persons, households)" +num_young_adults,num_young_adults,"_PERSON_COUNT('25 <= age <= 34', persons, households)" +non_family,non_family,households.HHT.isin(HHT_NONFAMILY) +family,family,households.HHT.isin(HHT_FAMILY) +home_is_urban,home_is_urban,"reindex(land_use.area_type, households.home_zone_id) < setting('urban_threshold')" +home_is_rural,home_is_rural,"reindex(land_use.area_type, households.home_zone_id) > setting('rural_threshold')" diff --git a/activitysim/examples/example_mtc/configs/annotate_households_cdap.csv b/activitysim/examples/prototype_mtc/configs/annotate_households_cdap.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_households_cdap.csv rename to activitysim/examples/prototype_mtc/configs/annotate_households_cdap.csv diff --git a/activitysim/examples/prototype_mtc/configs/annotate_households_workplace.csv b/activitysim/examples/prototype_mtc/configs/annotate_households_workplace.csv new file mode 100644 index 0000000000..a28f92732b --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/annotate_households_workplace.csv @@ -0,0 +1,5 @@ +Description,Target,Expression +#,, annotate households table after workplace_location model has run +#,, hh_work_auto_savings_ratio is sum of persons work_auto_savings_ratio +,hh_work_auto_savings_ratio,persons.work_auto_savings_ratio.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0) +#,,handle persons with no location diff --git a/activitysim/examples/example_mtc/configs/annotate_landuse.csv b/activitysim/examples/prototype_mtc/configs/annotate_landuse.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_landuse.csv rename to activitysim/examples/prototype_mtc/configs/annotate_landuse.csv diff --git a/activitysim/examples/prototype_mtc/configs/annotate_persons.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons.csv new file mode 100644 index 0000000000..6162b53a82 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons.csv @@ -0,0 +1,38 @@ +Description,Target,Expression +#,, annotate persons table after import +age_16_to_19,age_16_to_19,"persons.age.between(16, 19)" +age_16_p,age_16_p,persons.age >= 16 +adult,adult,persons.age >= 18 +male,male,persons.sex == 1 +female,female,persons.sex == 2 +presence of non_worker other than self in household,has_non_worker,"other_than(persons.household_id, persons.ptype == PTYPE_NONWORK)" +presence of retiree other than self in household,has_retiree,"other_than(persons.household_id, persons.ptype == PTYPE_RETIRED)" +presence of preschooler other than self in household,has_preschool_kid,"other_than(persons.household_id, persons.ptype == PTYPE_PRESCHOOL)" +presence of driving_kid other than self in household,has_driving_kid,"other_than(persons.household_id, persons.ptype == PTYPE_DRIVING)" +presence of school_kid other than self in household,has_school_kid,"other_than(persons.household_id, persons.ptype == PTYPE_SCHOOL)" +presence of full_time worker other than self in household (independent of person type),has_full_time,"other_than(persons.household_id, persons.pemploy==PEMPLOY_FULL)" +presence of part_time worker other than self in household (independent of person type),has_part_time,"other_than(persons.household_id, persons.pemploy==PEMPLOY_PART)" +presence of university student other than self in household,has_university,"other_than(persons.household_id, persons.ptype == PTYPE_UNIVERSITY)" +student_is_employed,student_is_employed,"(persons.ptype.isin([PTYPE_UNIVERSITY, PTYPE_DRIVING]) & persons.pemploy.isin([PEMPLOY_FULL, PEMPLOY_PART]))" +nonstudent_to_school,nonstudent_to_school,"(persons.ptype.isin([PTYPE_FULL, PTYPE_PART, PTYPE_NONWORK, PTYPE_RETIRED]) & persons.pstudent.isin([PSTUDENT_GRADE_OR_HIGH, PSTUDENT_UNIVERSITY]))" +#,, +#,, FIXME - if person is a university student but has school age student category value then reset student category value +,pstudent,"persons.pstudent.where(persons.ptype!=PTYPE_UNIVERSITY, PSTUDENT_UNIVERSITY)" +#,, FIXME if person is a student of any kind but has full-time employment status then reset student category value to non-student +,pstudent,"pstudent.where(persons.ptype!=PTYPE_FULL, PSTUDENT_NOT)" +#,, FIXME if student category is non-student and employment is student then reset student category value to student +,pstudent,"pstudent.where((persons.ptype!=PTYPE_DRIVING) & (persons.ptype!=PTYPE_SCHOOL), PSTUDENT_GRADE_OR_HIGH)" +#,, +is_student,is_student,"pstudent.isin([PSTUDENT_GRADE_OR_HIGH, PSTUDENT_UNIVERSITY])" +preschool age can go to preschool,is_student,"is_student.where(persons.age > GRADE_SCHOOL_MIN_AGE, True)" +preschool age can go to preschool,pstudent,"pstudent.where(persons.age > GRADE_SCHOOL_MIN_AGE, PSTUDENT_GRADE_OR_HIGH)" +is_gradeschool,is_gradeschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age <= GRADE_SCHOOL_MAX_AGE) +is_highschool,is_highschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age > GRADE_SCHOOL_MAX_AGE) +is_university,is_university,pstudent == PSTUDENT_UNIVERSITY +school_segment gradeschool,school_segment,"np.where(is_gradeschool, SCHOOL_SEGMENT_GRADE, SCHOOL_SEGMENT_NONE)" +school_segment highschool,school_segment,"np.where(is_highschool, SCHOOL_SEGMENT_HIGH, school_segment)" +school_segment university,school_segment,"np.where(is_university, SCHOOL_SEGMENT_UNIV, school_segment).astype(np.int8)" +#,, +is_worker,is_worker,"persons.pemploy.isin([PEMPLOY_FULL, PEMPLOY_PART])" +#,, +home_zone_id,home_zone_id,"reindex(households.home_zone_id, persons.household_id)" diff --git a/activitysim/examples/prototype_mtc/configs/annotate_persons_after_hh.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_after_hh.csv new file mode 100644 index 0000000000..59374d5bf2 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_after_hh.csv @@ -0,0 +1,5 @@ +Description,Target,Expression +#,, annotate persons table after annotate_households +#,, adults get full hh_value_of_time and children get 60% +,_hh_vot,"reindex(households.hh_value_of_time, persons.household_id)" +,value_of_time,"_hh_vot.where(persons.age>=18, _hh_vot * 0.667)" diff --git a/activitysim/examples/prototype_mtc/configs/annotate_persons_cdap.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_cdap.csv new file mode 100644 index 0000000000..2ad5e56a6b --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_cdap.csv @@ -0,0 +1,6 @@ +Description,Target,Expression +#,, annotate persons table after cdap model has run +travel_active,travel_active,persons.cdap_activity != CDAP_ACTIVITY_HOME +under16_not_at_school,under16_not_at_school,"persons.ptype.isin([PTYPE_SCHOOL, PTYPE_PRESCHOOL]) & persons.cdap_activity.isin(['N', 'H'])" +has_preschool_kid_at_home,has_preschool_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_PRESCHOOL) & (persons.cdap_activity == 'H'))" +has_school_kid_at_home,has_school_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_SCHOOL) & (persons.cdap_activity == 'H'))" diff --git a/activitysim/examples/prototype_mtc/configs/annotate_persons_jtp.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_jtp.csv new file mode 100644 index 0000000000..a72c866057 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_jtp.csv @@ -0,0 +1,3 @@ +Description,Target,Expression +#,, annotate persons table after joint_tour_participation model has run +num_joint_tours,num_joint_tours,"joint_tour_participants.groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" diff --git a/activitysim/examples/prototype_mtc/configs/annotate_persons_mtf.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_mtf.csv new file mode 100644 index 0000000000..00e0de1014 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_mtf.csv @@ -0,0 +1,8 @@ +Description,Target,Expression +#,, annotate persons table after mandatory_tour_frequency model has run +,_PERSON_TOUR_COUNT,"lambda exp, persons, tours: tours.query(exp).groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" +,_Q,lambda s: "'{}'".format(s) +work_and_school_and_worker,work_and_school_and_worker,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_worker +work_and_school_and_student,work_and_school_and_student,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_student +number of mandatory tours for each person,num_mand,"_PERSON_TOUR_COUNT('tour_category==%s' % _Q('mandatory'), persons, tours).fillna(0)" +number of work tours for each person,num_work_tours,"_PERSON_TOUR_COUNT('tour_type==%s' % _Q('work'), persons, tours).fillna(0)" diff --git a/activitysim/examples/prototype_mtc/configs/annotate_persons_nmtf.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_nmtf.csv new file mode 100644 index 0000000000..07890f2379 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_nmtf.csv @@ -0,0 +1,10 @@ +Description,Target,Expression +#,, annotate persons table after non_mandatory_tour_frequency model has run +num_non_mand,num_non_mand,tours[tours.tour_category=='non_mandatory'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_escort_tours,num_escort_tours,tours[tours.tour_type == 'escort'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_eatout_tours,num_eatout_tours,tours[tours.tour_type == 'eatout'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_shop_tours,num_shop_tours,tours[tours.tour_type == 'shopping'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_maint_tours,num_maint_tours,tours[tours.tour_type == 'othmaint'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_discr_tours,num_discr_tours,tours[tours.tour_type == 'othdiscr'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_social_tours,num_social_tours,tours[tours.tour_type == 'social'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_non_escort_tours,num_non_escort_tours,num_non_mand-num_escort_tours diff --git a/activitysim/examples/prototype_mtc/configs/annotate_persons_school.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_school.csv new file mode 100644 index 0000000000..553b124c3b --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_school.csv @@ -0,0 +1,7 @@ +Description,Target,Expression +#,, annotate persons table after school_location model has run +,distance_to_school,"np.where(persons.school_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, 'DIST'),np.nan)" +#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD +temp auto_time_to_school,_auto_time_to_school,"skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, ('SOV_TIME', 'MD'))" +temp auto_time_return,_auto_time_return,"skim_dict.lookup(persons.school_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" +free flow roundtrip_auto_time_to_school,roundtrip_auto_time_to_school,"np.where(persons.school_zone_id>=0,_auto_time_to_school + _auto_time_return,0)" diff --git a/activitysim/examples/prototype_mtc/configs/annotate_persons_workplace.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_workplace.csv new file mode 100644 index 0000000000..87a5853d63 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_workplace.csv @@ -0,0 +1,32 @@ +Description,Target,Expression +#,, annotate persons table after workplace_location model has run +,distance_to_work,"np.where(persons.workplace_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DIST'),np.nan)" +workplace_in_cbd,workplace_in_cbd,"reindex(land_use.area_type, persons.workplace_zone_id) < setting('cbd_threshold')" +work_zone_area_type,work_zone_area_type,"reindex(land_use.area_type, persons.workplace_zone_id)" +#,, auto time to work - free flow travel time in both directions. MTC TM1 was MD and MD +#,,roundtrip_auto_time_to_work +,_auto_time_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('SOV_TIME', 'MD'))" +,_auto_time_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" +,roundtrip_auto_time_to_work,"np.where(persons.workplace_zone_id>=0,_auto_time_home_to_work + _auto_time_work_to_home,0)" +#,,_roundtrip_walk_time_to_work +,_MAX_TIME_TO_WORK,999 +,_WALK_SPEED_MPH,3 +,_walk_time_home_to_work,"60 * skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" +,_walk_time_work_to_home,"60 * skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" +,_work_walk_available,(_walk_time_home_to_work > 0) & (_walk_time_work_to_home > 0) +,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" +#,,_roundtrip_transit_time_to_work +,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) +,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR" +,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr +#,,work_auto_savings_ratio +,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" +,work_auto_savings,"np.where(persons.is_worker, _min_work_walk_transit - roundtrip_auto_time_to_work, 0)" +#,,auto savings over walk or transit capped at 120 and normalized to unity +,work_auto_savings_ratio,"(work_auto_savings / 120.0).clip(-1.0, 1.0)" diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_destination.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_destination.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_destination.csv diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_destination.yaml b/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_destination.yaml rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_destination.yaml diff --git a/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination_coefficients.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination_coefficients.csv new file mode 100644 index 0000000000..689fff660f --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination_coefficients.csv @@ -0,0 +1,10 @@ +coefficient_name,value,constrain +coef_distance_piecewise_linear_from_0_to_1_miles,-0.7926,F +coef_distance_piecewise_linear_from_1_to_2_miles,-0.7926,F +coef_distance_piecewise_linear_from_2_to_5_miles,-0.5197,F +coef_distance_piecewise_linear_from_5_to_15_miles,-0.2045,F +coef_distance_piecewise_linear_for_15_plus_miles,-0.2045,F +coef_size_variable_atwork,1,T +coef_no_attractions_atwork_size_variable_is_0,-999,T +coef_mode_choice_logsum,0.5136,F +coef_sample_of_alternatives_correction_factor,1,T \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_destination_sample.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination_sample.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_destination_sample.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_destination_sample.csv diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_frequency.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency.csv diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency.yaml b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_frequency.yaml rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency.yaml diff --git a/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_alternatives.csv new file mode 100644 index 0000000000..ba9941919d --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_alternatives.csv @@ -0,0 +1,8 @@ +#,,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,eat,business,maint +no_subtours,0,0,0 +eat,1,0,0 +business1,0,1,0 +maint,0,0,1 +business2,0,2,0 +eat_business,1,1,0 diff --git a/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv new file mode 100644 index 0000000000..3e4f151877 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv @@ -0,0 +1,9 @@ +Description,Target,Expression +,num_maint_shop_escort,df.num_maint_tours+df.num_shop_tours+df.num_escort_tours +#,num_joint_maint_shop_eat,"reindex_i(tours[(tours.tour_category=='joint') & tours.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" +#,num_eatout_tours,"reindex_i(tours[~tours.is_joint & (tours.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" +joint tour participants annotated with tour type,_PARTICIPANTS,"pd.merge(joint_tour_participants[['tour_id', 'person_id']], tours[['tour_type']], left_on='tour_id', right_index=True, how='left')" +,num_joint_discr,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type=='othdiscr'].groupby('person_id').size(), df.person_id)" +,num_joint_maint_shop_eat,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" +#,, +,work_tour_is_SOV,"df.tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency_coefficients.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_coefficients.csv similarity index 98% rename from activitysim/examples/example_mtc/configs/atwork_subtour_frequency_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_coefficients.csv index 0e5de6ba7a..f719a691c7 100644 --- a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_coefficients.csv @@ -1,133 +1,133 @@ -coefficient_name,value,constrain -coefficient_dummy_for_full_time_worker_business1,-7.375,F -coefficient_dummy_for_full_time_worker_business2,-14.28,F -coefficient_dummy_for_full_time_worker_eat,-7.28,F -coefficient_dummy_for_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_full_time_worker_maint,-8.093,F -coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_full_time_worker_business1,-8.319,F -coefficient_dummy_for_non_full_time_worker_business2,-14.28,F -coefficient_dummy_for_non_full_time_worker_eat,-8.604,F -coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_non_full_time_worker_maint,-8.214,F -coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_workers_business1,-5,T -coefficient_dummy_for_non_workers_business2,-5,T -coefficient_dummy_for_non_workers_eat,0,T -coefficient_dummy_for_non_workers_eat_business,-5,T -coefficient_dummy_for_non_workers_maint,-5,T -coefficient_dummy_for_non_workers_no_subtours,0,T -coefficient_medium_hh_income_dummy_business1,0.5555,F -coefficient_medium_hh_income_dummy_business2,1.111,F -coefficient_medium_hh_income_dummy_eat,0.61,F -coefficient_medium_hh_income_dummy_eat_business,1.1655,F -coefficient_medium_hh_income_dummy_maint,0.1527,F -coefficient_medium_hh_income_dummy_no_subtours,0,T -coefficient_high_hh_income_dummy_business1,1.066,F -coefficient_high_hh_income_dummy_business2,2.132,F -coefficient_high_hh_income_dummy_eat,0.8693,F -coefficient_high_hh_income_dummy_eat_business,1.9353,F -coefficient_high_hh_income_dummy_maint,0.1651,F -coefficient_high_hh_income_dummy_no_subtours,0,T -coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_business2,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F -coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T -coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F -coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F -coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F -coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F -coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F -coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T -coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F -coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F -coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F -coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F -coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F -coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T -coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F -coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F -coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F -coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F -coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F -coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T -coefficient_log_of_the_work_tour_duration_business1,1.142,F -coefficient_log_of_the_work_tour_duration_business2,2.284,F -coefficient_log_of_the_work_tour_duration_eat,1.55,F -coefficient_log_of_the_work_tour_duration_eat_business,2.692,F -coefficient_log_of_the_work_tour_duration_maint,1.659,F -coefficient_log_of_the_work_tour_duration_no_subtours,0,T -coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T -coefficient_two_work_tours_by_person_business1,0.3753,F -coefficient_two_work_tours_by_person_business2,0.7506,F -coefficient_two_work_tours_by_person_eat,-0.9862,F -coefficient_two_work_tours_by_person_eat_business,-0.6109,F -coefficient_two_work_tours_by_person_maint,-0.2312,F -coefficient_two_work_tours_by_person_no_subtours,0,T -coefficient_workplace_urban_area_dummy_business1,-0.2235,F -coefficient_workplace_urban_area_dummy_business2,-0.447,F -coefficient_workplace_urban_area_dummy_eat,-0.4182,F -coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F -coefficient_workplace_urban_area_dummy_maint,-0.1479,F -coefficient_workplace_urban_area_dummy_no_subtours,0,T -coefficient_workplace_suburban_area_dummy_business1,-0.1102,F -coefficient_workplace_suburban_area_dummy_business2,-0.2204,F -coefficient_workplace_suburban_area_dummy_eat,-0.2916,F -coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F -coefficient_workplace_suburban_area_dummy_maint,0,T -coefficient_workplace_suburban_area_dummy_no_subtours,0,T -coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F -coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F -coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F -coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F -coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T -coefficient_at_work_sub_tour_asc_business1,-0.5372,F -coefficient_at_work_sub_tour_asc_business2,-2.1337,F -coefficient_at_work_sub_tour_asc_eat,0.8576,F -coefficient_at_work_sub_tour_asc_eat_business,-0.9721,F -coefficient_at_work_sub_tour_asc_maint,-0.6198,F -coefficient_at_work_sub_tour_asc_no_subtours,0,T +coefficient_name,value,constrain +coefficient_dummy_for_full_time_worker_business1,-7.375,F +coefficient_dummy_for_full_time_worker_business2,-14.28,F +coefficient_dummy_for_full_time_worker_eat,-7.28,F +coefficient_dummy_for_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_full_time_worker_maint,-8.093,F +coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_full_time_worker_business1,-8.319,F +coefficient_dummy_for_non_full_time_worker_business2,-14.28,F +coefficient_dummy_for_non_full_time_worker_eat,-8.604,F +coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_non_full_time_worker_maint,-8.214,F +coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_workers_business1,-5,T +coefficient_dummy_for_non_workers_business2,-5,T +coefficient_dummy_for_non_workers_eat,0,T +coefficient_dummy_for_non_workers_eat_business,-5,T +coefficient_dummy_for_non_workers_maint,-5,T +coefficient_dummy_for_non_workers_no_subtours,0,T +coefficient_medium_hh_income_dummy_business1,0.5555,F +coefficient_medium_hh_income_dummy_business2,1.111,F +coefficient_medium_hh_income_dummy_eat,0.61,F +coefficient_medium_hh_income_dummy_eat_business,1.1655,F +coefficient_medium_hh_income_dummy_maint,0.1527,F +coefficient_medium_hh_income_dummy_no_subtours,0,T +coefficient_high_hh_income_dummy_business1,1.066,F +coefficient_high_hh_income_dummy_business2,2.132,F +coefficient_high_hh_income_dummy_eat,0.8693,F +coefficient_high_hh_income_dummy_eat_business,1.9353,F +coefficient_high_hh_income_dummy_maint,0.1651,F +coefficient_high_hh_income_dummy_no_subtours,0,T +coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_business2,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F +coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T +coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F +coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F +coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F +coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F +coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F +coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T +coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F +coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F +coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F +coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F +coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F +coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T +coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F +coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F +coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F +coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F +coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F +coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T +coefficient_log_of_the_work_tour_duration_business1,1.142,F +coefficient_log_of_the_work_tour_duration_business2,2.284,F +coefficient_log_of_the_work_tour_duration_eat,1.55,F +coefficient_log_of_the_work_tour_duration_eat_business,2.692,F +coefficient_log_of_the_work_tour_duration_maint,1.659,F +coefficient_log_of_the_work_tour_duration_no_subtours,0,T +coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T +coefficient_two_work_tours_by_person_business1,0.3753,F +coefficient_two_work_tours_by_person_business2,0.7506,F +coefficient_two_work_tours_by_person_eat,-0.9862,F +coefficient_two_work_tours_by_person_eat_business,-0.6109,F +coefficient_two_work_tours_by_person_maint,-0.2312,F +coefficient_two_work_tours_by_person_no_subtours,0,T +coefficient_workplace_urban_area_dummy_business1,-0.2235,F +coefficient_workplace_urban_area_dummy_business2,-0.447,F +coefficient_workplace_urban_area_dummy_eat,-0.4182,F +coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F +coefficient_workplace_urban_area_dummy_maint,-0.1479,F +coefficient_workplace_urban_area_dummy_no_subtours,0,T +coefficient_workplace_suburban_area_dummy_business1,-0.1102,F +coefficient_workplace_suburban_area_dummy_business2,-0.2204,F +coefficient_workplace_suburban_area_dummy_eat,-0.2916,F +coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F +coefficient_workplace_suburban_area_dummy_maint,0,T +coefficient_workplace_suburban_area_dummy_no_subtours,0,T +coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F +coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F +coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F +coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F +coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T +coefficient_at_work_sub_tour_asc_business1,-0.5372,F +coefficient_at_work_sub_tour_asc_business2,-2.1337,F +coefficient_at_work_sub_tour_asc_eat,0.8576,F +coefficient_at_work_sub_tour_asc_eat_business,-0.9721,F +coefficient_at_work_sub_tour_asc_maint,-0.6198,F +coefficient_at_work_sub_tour_asc_no_subtours,0,T diff --git a/activitysim/examples/prototype_mtc/configs/auto_ownership.csv b/activitysim/examples/prototype_mtc/configs/auto_ownership.csv new file mode 100644 index 0000000000..aa30bdb4db --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/auto_ownership.csv @@ -0,0 +1,30 @@ +Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 +util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 +util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 +util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up +util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 +util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 +util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 +util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 +util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 +util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 +util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k +util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc +util_asc_san_francisco,San Francisco county,@df.county_id == ID_SAN_FRANCISCO,,coef_cars1_asc_san_francisco,coef_cars2_asc_san_francisco,coef_cars34_asc_san_francisco,coef_cars34_asc_san_francisco +util_asc_solano,Solano county,@df.county_id == ID_SOLANO,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_napa,Napa county,@df.county_id == ID_NAPA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_sonoma,Sonoma county,@df.county_id == ID_SONOMA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_marin,Marin county,@df.county_id == ID_MARIN,,coef_cars1_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin +util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers +util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers +util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers +util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers +util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker diff --git a/activitysim/examples/example_mtc/configs/auto_ownership.yaml b/activitysim/examples/prototype_mtc/configs/auto_ownership.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/auto_ownership.yaml rename to activitysim/examples/prototype_mtc/configs/auto_ownership.yaml diff --git a/activitysim/examples/example_mtc/configs/auto_ownership_coefficients.csv b/activitysim/examples/prototype_mtc/configs/auto_ownership_coefficients.csv similarity index 97% rename from activitysim/examples/example_mtc/configs/auto_ownership_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/auto_ownership_coefficients.csv index 9c1470b690..b9d7fd07b0 100644 --- a/activitysim/examples/example_mtc/configs/auto_ownership_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/auto_ownership_coefficients.csv @@ -1,68 +1,68 @@ -coefficient_name,value,constrain -coef_cars1_drivers_2,0,T -coef_cars1_drivers_3,0,T -coef_cars1_persons_16_17,0,T -coef_cars234_asc_marin,0,T -coef_cars1_persons_25_34,0,T -coef_cars1_num_workers_clip_3,0,T -coef_cars1_hh_income_30_up,0,T -coef_cars1_density_0_10_no_workers,0,T -coef_cars1_density_10_up_workers,-0.0152,F -coef_retail_non_motor,-0.03,T -coef_cars4_asc,-5.313,F -coef_cars3_asc,-3.2502,F -coef_cars34_persons_16_17,-1.7313,F -coef_cars2_asc,-1.0846,F -coef_cars34_persons_18_24,-1.0107,F -coef_cars2_persons_18_24,-1.0095,F -coef_cars2_persons_16_17,-0.881,F -coef_cars34_persons_25_34,-0.8596,F -coef_cars1_asc_county,-0.566,F -coef_retail_transit_workers,-0.5117,F -coef_cars2_persons_25_34,-0.4849,F -coef_cars2_asc_county,-0.4429,F -coef_cars1_persons_18_24,-0.4087,F -coef_cars34_density_0_10_no_workers,-0.3654,F -coef_retail_transit_no_workers,-0.3053,F -coef_cars1_asc_marin,-0.2434,F -coef_cars34_asc_county,-0.2372,F -coef_cars2_density_0_10_no_workers,-0.2028,F -coef_cars34_density_10_up_no_workers,-0.1766,F -coef_cars2_density_10_up_no_workers,-0.1106,F -coef_cars2_density_10_up_workers,-0.1106,F -coef_cars1_density_10_up_no_workers,-0.0152,F -coef_cars2_hh_income_30_up,0.0083,F -coef_cars3_hh_income_30_up,0.011,F -coef_cars4_hh_income_30_up,0.0147,F -coef_cars1_presence_children_5_17,0.0158,F -coef_cars1_hh_income_0_30k,0.0383,F -coef_cars2_hh_income_0_30k,0.054,F -coef_cars3_hh_income_0_30k,0.0559,F -coef_cars4_hh_income_0_30k,0.0619,F -coef_retail_auto_no_workers,0.0626,F -coef_cars34_asc_san_francisco,0.1458,F -coef_retail_auto_workers,0.1646,F -coef_cars2_presence_children_5_17,0.2936,F -coef_cars2_num_workers_clip_3,0.2936,F -coef_cars1_presence_children_0_4,0.3669,F -coef_cars1_asc_san_francisco,0.4259,F -coef_cars2_asc_san_francisco,0.4683,F -coef_cars1_auto_time_saving_per_worker,0.4707,F -coef_cars34_presence_children_5_17,0.4769,F -coef_cars3_auto_time_saving_per_worker,0.5705,F -coef_cars2_auto_time_saving_per_worker,0.6142,F -coef_cars3_num_workers_clip_3,0.6389,F -coef_cars234_presence_children_0_4,0.7627,F -coef_cars4_auto_time_saving_per_worker,0.7693,F -coef_cars4_num_workers_clip_3,0.8797,F -coef_cars1_asc,1.1865,F -coef_cars1_drivers_4_up,2.0107,F -coef_cars4_drivers_2,2.6616,F -coef_cars2_drivers_2,3.0773,F -coef_cars3_drivers_2,3.1962,F -coef_cars2_drivers_3,3.5401,F -coef_cars4_drivers_3,5.208,F -coef_cars3_drivers_3,5.5131,F -coef_cars2_drivers_4_up,6.3662,F -coef_cars3_drivers_4_up,8.5148,F -coef_cars4_drivers_4_up,9.5807,F +coefficient_name,value,constrain +coef_cars1_drivers_2,0,T +coef_cars1_drivers_3,0,T +coef_cars1_persons_16_17,0,T +coef_cars234_asc_marin,0,T +coef_cars1_persons_25_34,0,T +coef_cars1_num_workers_clip_3,0,T +coef_cars1_hh_income_30_up,0,T +coef_cars1_density_0_10_no_workers,0,T +coef_cars1_density_10_up_workers,-0.0152,F +coef_retail_non_motor,-0.03,T +coef_cars4_asc,-5.313,F +coef_cars3_asc,-3.2502,F +coef_cars34_persons_16_17,-1.7313,F +coef_cars2_asc,-1.0846,F +coef_cars34_persons_18_24,-1.0107,F +coef_cars2_persons_18_24,-1.0095,F +coef_cars2_persons_16_17,-0.881,F +coef_cars34_persons_25_34,-0.8596,F +coef_cars1_asc_county,-0.566,F +coef_retail_transit_workers,-0.5117,F +coef_cars2_persons_25_34,-0.4849,F +coef_cars2_asc_county,-0.4429,F +coef_cars1_persons_18_24,-0.4087,F +coef_cars34_density_0_10_no_workers,-0.3654,F +coef_retail_transit_no_workers,-0.3053,F +coef_cars1_asc_marin,-0.2434,F +coef_cars34_asc_county,-0.2372,F +coef_cars2_density_0_10_no_workers,-0.2028,F +coef_cars34_density_10_up_no_workers,-0.1766,F +coef_cars2_density_10_up_no_workers,-0.1106,F +coef_cars2_density_10_up_workers,-0.1106,F +coef_cars1_density_10_up_no_workers,-0.0152,F +coef_cars2_hh_income_30_up,0.0083,F +coef_cars3_hh_income_30_up,0.011,F +coef_cars4_hh_income_30_up,0.0147,F +coef_cars1_presence_children_5_17,0.0158,F +coef_cars1_hh_income_0_30k,0.0383,F +coef_cars2_hh_income_0_30k,0.054,F +coef_cars3_hh_income_0_30k,0.0559,F +coef_cars4_hh_income_0_30k,0.0619,F +coef_retail_auto_no_workers,0.0626,F +coef_cars34_asc_san_francisco,0.1458,F +coef_retail_auto_workers,0.1646,F +coef_cars2_presence_children_5_17,0.2936,F +coef_cars2_num_workers_clip_3,0.2936,F +coef_cars1_presence_children_0_4,0.3669,F +coef_cars1_asc_san_francisco,0.4259,F +coef_cars2_asc_san_francisco,0.4683,F +coef_cars1_auto_time_saving_per_worker,0.4707,F +coef_cars34_presence_children_5_17,0.4769,F +coef_cars3_auto_time_saving_per_worker,0.5705,F +coef_cars2_auto_time_saving_per_worker,0.6142,F +coef_cars3_num_workers_clip_3,0.6389,F +coef_cars234_presence_children_0_4,0.7627,F +coef_cars4_auto_time_saving_per_worker,0.7693,F +coef_cars4_num_workers_clip_3,0.8797,F +coef_cars1_asc,1.1865,F +coef_cars1_drivers_4_up,2.0107,F +coef_cars4_drivers_2,2.6616,F +coef_cars2_drivers_2,3.0773,F +coef_cars3_drivers_2,3.1962,F +coef_cars2_drivers_3,3.5401,F +coef_cars4_drivers_3,5.208,F +coef_cars3_drivers_3,5.5131,F +coef_cars2_drivers_4_up,6.3662,F +coef_cars3_drivers_4_up,8.5148,F +coef_cars4_drivers_4_up,9.5807,F diff --git a/activitysim/examples/example_mtc/configs/cdap.yaml b/activitysim/examples/prototype_mtc/configs/cdap.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/cdap.yaml rename to activitysim/examples/prototype_mtc/configs/cdap.yaml diff --git a/activitysim/examples/example_psrc/configs/cdap_coefficients.csv b/activitysim/examples/prototype_mtc/configs/cdap_coefficients.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/cdap_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/cdap_coefficients.csv diff --git a/activitysim/examples/prototype_mtc/configs/cdap_fixed_relative_proportions.csv b/activitysim/examples/prototype_mtc/configs/cdap_fixed_relative_proportions.csv new file mode 100644 index 0000000000..788f398b64 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/cdap_fixed_relative_proportions.csv @@ -0,0 +1,9 @@ +Description,Expression,M,N,H +Full-time worker,ptype == 1,0.79647,0.09368,0.10985 +Part-time worker,ptype == 2,0.61678,0.25757,0.12565 +University student,ptype == 3,0.69229,0.15641,0.1513 +Non-working adult,ptype == 4,0,0.67169,0.32831 +Retired,ptype == 5,0,0.54295,0.45705 +Driving-age child who is in school,ptype == 6,0.77609,0.06004,0.16387 +Pre-driving-age child who is in school,ptype == 7,0.68514,0.09144,0.22342 +Child who is too young for school,ptype == 8,0.14056,0.06512,0.79432 diff --git a/activitysim/examples/prototype_mtc/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/prototype_mtc/configs/cdap_indiv_and_hhsize1.csv new file mode 100644 index 0000000000..2eeb9fde8e --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/cdap_indiv_and_hhsize1.csv @@ -0,0 +1,52 @@ +Description,Expression,M,N,H +Full-time worker alternative-specific constants,ptype == 1,coef_full_time_worker_asc_M,coef_full_time_worker_asc_N, +Part-time worker alternative-specific constants,ptype == 2,coef_part_time_worker_asc_M,coef_part_time_worker_asc_N, +University student alternative-specific constants,ptype == 3,coef_university_student_asc_M,coef_university_student_asc_N, +Non-working adult alternative-specific constants,ptype == 4,coef_UNAVAILABLE,coef_non_working_adult_asc_N, +Retired alternative-specific constants,ptype == 5,coef_UNAVAILABLE,coef_retired_asc_N, +Driving-age child who is in school alternative-specific constants,ptype == 6,coef_driving_age_child_who_is_in_school_asc_M,coef_driving_age_child_who_is_in_school_asc_N, +Pre-driving-age child who is in school alternative-specific constants,ptype == 7,coef_pre_driving_age_child_who_is_in_school_asc_M,coef_pre_driving_age_child_who_is_in_school_asc_N, +Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M,, +Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N, +Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,coef_pre_driving_age_child_who_is_too_young_for_school_asc_N, +# corrected tm1 age bug,,,, +Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,, +Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,, +#,,,, +Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),coef_full_time_worker_interaction_with_age_less_than_40_M,, +Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,coef_retired_interaction_with_age_more_than_80_H +Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),coef_full_time_worker_interaction_with_female_gender_M,, +Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),coef_non_working_adult_interaction_with_female_gender_M,, +Retired interaction with female,(ptype == 5) & (sex == 2),coef_retired_interaction_with_female_M,, +Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),coef_non_working_adult_interaction_with_more_cars_than_workers_M,coef_non_working_adult_interaction_with_more_cars_than_workers_N, +Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),coef_retired_interaction_with_more_cars_than_workers_M,coef_retired_interaction_with_more_cars_than_workers_N, +Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N, +Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,coef_full_time_worker_interaction_with_fewer_cars_than_workers_H +Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,coef_non_working_adult_interaction_with_fewer_cars_than_workers_H +Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,coef_retired_interaction_with_fewer_cars_than_workers_H +Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H +Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H +Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H +Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,coef_full_time_worker_interaction_with_income_less_than_20k_H +Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,coef_retired_interaction_with_income_less_than_20k_H +Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,coef_part_time_worker_interaction_with_income_less_than_20k_H +Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_part_time_worker_interaction_with_income_between_50k_and_100k_H +Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,coef_part_time_worker_interaction_with_income_more_than_100k_N,coef_part_time_worker_interaction_with_income_more_than_100k_H +Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_non_working_adult_interaction_with_income_between_50k_and_100k_H +Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,coef_non_working_adult_interaction_with_income_more_than_100k_H +Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H +Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H +Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H +Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H +Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H +Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,, +Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,, +Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,, +Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,coef_retired_interaction_with_peak_accessibility_to_all_employment_M,, +Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, +Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, +Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, + diff --git a/activitysim/examples/prototype_mtc/configs/cdap_interaction_coefficients.csv b/activitysim/examples/prototype_mtc/configs/cdap_interaction_coefficients.csv new file mode 100644 index 0000000000..c9d415fe13 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/cdap_interaction_coefficients.csv @@ -0,0 +1,138 @@ +activity,interaction_ptypes,coefficient +# 2-way interactions,, +H,11,coef_H_11 +H,12,coef_H_12 +H,13,coef_H_13 +H,14,coef_H_14 +H,15,coef_H_15 +H,16,coef_H_16 +H,17,coef_H_17 +H,18,coef_H_18 +H,22,coef_H_22 +H,23,coef_H_23 +H,24,coef_H_24 +H,25,coef_H_25 +H,26,coef_H_26 +H,27,coef_H_27 +H,28,coef_H_28 +H,33,coef_H_33 +H,34,coef_H_34 +H,35,coef_H_35 +H,36,coef_H_36 +H,37,coef_H_37 +H,38,coef_H_38 +H,44,coef_H_44 +H,45,coef_H_45 +H,46,coef_H_46 +H,47,coef_H_47 +H,48,coef_H_48 +H,55,coef_H_55 +H,56,coef_H_56_57_58 +H,57,coef_H_56_57_58 +H,58,coef_H_56_57_58 +H,66,coef_H_66 +H,67,coef_H_67 +H,68,coef_H_68 +H,77,coef_H_77 +H,78,coef_H_78 +H,88,coef_H_88 +M,11,coef_M_11 +M,12,coef_M_12 +M,13,coef_M_13 +M,16,coef_M_16 +M,17,coef_M_17 +M,18,coef_M_18 +M,22,coef_M_22 +M,23,coef_M_23 +M,26,coef_M_26 +M,27,coef_M_27 +M,28,coef_M_28 +M,33,coef_M_33 +M,36,coef_M_36 +M,37,coef_M_37 +M,38,coef_M_38 +M,66,coef_M_66 +M,67,coef_M_67 +M,68,coef_M_68 +M,77,coef_M_77 +M,78,coef_M_78 +M,88,coef_M_88 +N,11,coef_N_11 +N,12,coef_N_12 +N,13,coef_N_13 +N,14,coef_N_14 +N,15,coef_N_15 +N,16,coef_N_16 +N,17,coef_N_17 +N,18,coef_N_18 +N,22,coef_N_22 +N,23,coef_N_23 +N,24,coef_N_24 +N,25,coef_N_25 +N,26,coef_N_26 +N,27,coef_N_27 +N,28,coef_N_28 +N,33,coef_N_33 +N,34,coef_N_34 +N,35,coef_N_35 +N,36,coef_N_36 +N,37,coef_N_37 +N,38,coef_N_38 +N,44,coef_N_44 +N,45,coef_N_45 +N,46,coef_N_46 +N,47,coef_N_47 +N,48,coef_N_48 +N,55,coef_N_55 +N,56,coef_N_56_57_58 +N,57,coef_N_56_57_58 +N,58,coef_N_56_57_58 +N,66,coef_N_66 +N,67,coef_N_67 +N,68,coef_N_68 +N,77,coef_N_77 +N,78,coef_N_78 +N,88,coef_N_88 +# 3-way interactions,, +H,124,coef_H_124_122_144 +H,122,coef_H_124_122_144 +H,144,coef_H_124_122_144 +H,126,coef_H_126_146 +H,146,coef_H_126_146 +H,222,coef_H_222_224_244 +H,224,coef_H_222_224_244 +H,244,coef_H_222_224_244 +H,226,coef_H_226_246_446 +H,246,coef_H_226_246_446 +H,446,coef_H_226_246_446 +H,266,coef_H_266_466 +H,466,coef_H_266_466 +M,111,coef_M_111 +M,112,coef_M_112_114 +M,114,coef_M_112_114 +M,666,coef_M_666 +N,112,coef_N_112_114 +N,114,coef_N_112_114 +N,124,coef_N_124_122_144 +N,122,coef_N_124_122_144 +N,144,coef_N_124_122_144 +N,166,coef_N_166 +N,222,coef_N_222_224_444 +N,224,coef_N_222_224_444 +N,444,coef_N_222_224_444 +N,246,coef_N_246_226_446 +N,226,coef_N_246_226_446 +N,446,coef_N_246_226_446 +# cdap_final_rules,, +M,5,coef_UNAVAILABLE +M,4,coef_UNAVAILABLE +# cdap_all_people,, +M,***,coef_M_xxx +N,***,coef_N_xxx +H,***,coef_H_xxx +M,****,coef_M_xxxx +N,****,coef_N_xxxx +H,****,coef_H_xxxx +M,*****,coef_M_xxxxx +N,*****,coef_N_xxxxx +H,*****,coef_H_xxxxx diff --git a/activitysim/examples/prototype_mtc/configs/constants.yaml b/activitysim/examples/prototype_mtc/configs/constants.yaml new file mode 100644 index 0000000000..b0bd5a1f37 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/constants.yaml @@ -0,0 +1,68 @@ +## ActivitySim +## See full license in LICENSE.txt. + + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +INCOME_SEGMENT_LOW: 1 +INCOME_SEGMENT_MED: 2 +INCOME_SEGMENT_HIGH: 3 +INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H + +# Correction for transit skim expressions +# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and +# therefore need to be divided by the scale factor if used in expressions +TRANSIT_SCALE_FACTOR: 100 diff --git a/activitysim/examples/prototype_mtc/configs/destination_choice_size_terms.csv b/activitysim/examples/prototype_mtc/configs/destination_choice_size_terms.csv new file mode 100644 index 0000000000..7f70421e85 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/destination_choice_size_terms.csv @@ -0,0 +1,28 @@ +model_selector,segment,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE +workplace,work_low,0,0.129,0.193,0.383,0.12,0.01,0.164,0,0,0,0 +workplace,work_med,0,0.12,0.197,0.325,0.139,0.008,0.21,0,0,0,0 +workplace,work_high,0,0.11,0.207,0.284,0.154,0.006,0.239,0,0,0,0 +workplace,work_veryhigh,0,0.093,0.27,0.241,0.146,0.004,0.246,0,0,0,0 +school,university,0,0,0,0,0,0,0,0,0,0.592,0.408 +school,gradeschool,0,0,0,0,0,0,0,1,0,0,0 +school,highschool,0,0,0,0,0,0,0,0,1,0,0 +non_mandatory,escort,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +#non_mandatory,escort_kids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +#non_mandatory,escort_nokids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +non_mandatory,shopping,0,1,0,0,0,0,0,0,0,0,0 +non_mandatory,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 +non_mandatory,othmaint,0,0.482,0,0.518,0,0,0,0,0,0,0 +non_mandatory,social,0,0.522,0,0.478,0,0,0,0,0,0,0 +non_mandatory,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 +atwork,atwork,0,0.742,0,0.258,0,0,0,0,0,0,0 +trip,work,0,1,1,1,1,1,1,0,0,0,0 +trip,escort,0.001,0.225,0,0.144,0,0,0,0.464,0.166,0,0 +trip,shopping,0.001,0.999,0,0,0,0,0,0,0,0,0 +trip,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 +trip,othmaint,0.001,0.481,0,0.518,0,0,0,0,0,0,0 +trip,social,0.001,0.521,0,0.478,0,0,0,0,0,0,0 +trip,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 +trip,univ,0.001,0,0,0,0,0,0,0,0,0.592,0.408 +# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,, +#trip,gradeschool,0,0,0,0,0,0,0,1,0,0,0 +#trip,highschool,0,0,0,0,0,0,0,0,1,0,0 diff --git a/activitysim/examples/prototype_mtc/configs/free_parking.csv b/activitysim/examples/prototype_mtc/configs/free_parking.csv new file mode 100644 index 0000000000..588bbbf2c6 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/free_parking.csv @@ -0,0 +1,9 @@ +Label,Description,Expression,free,pay +util_asc_san_francisco,,@df.workplace_county_id == ID_SAN_FRANCISCO,coef_asc_san_francisco,0.0 +util_asc_santa_clara,,@df.workplace_county_id == ID_SANTA_CLARA,coef_asc_santa_clara,0.0 +util_asc_alameda,,@df.workplace_county_id == ID_ALAMEDA,coef_asc_alameda,0.0 +util_income_very_high,Very high income household dummy,@df.income>=100000,coef_income_very_high,0.0 +util_income_high,High income housheold dummy,@(df.income>=60000) & (df.income<100000),coef_income_high,0.0 +util_hh_size_4_up,Household size is greater than 3 dummy,@df.hhsize>3,coef_hh_size_4_up,0.0 +util_more_autos_than_workers,More automobiles than workers dummy,@df.auto_ownership>df.num_workers,coef_more_autos_than_workers,0.0 +util_fewer_autos_than_workers,Fewer automobiles than workers dummy,@df.auto_ownership=30) & (income_in_thousands<60),coef_medium_income_households,, +util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed +util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, +util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed +util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, +util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, +util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows +util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, +util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, +util_travel_active_adult,At least one adult and at least one child must have Mand or Non Mand activity patterns to have adult/child joint travel,(num_travel_active_adults == 0) | (num_travel_active_children == 0),,,coef_unavailable \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/joint_tour_composition.yaml b/activitysim/examples/prototype_mtc/configs/joint_tour_composition.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_composition.yaml rename to activitysim/examples/prototype_mtc/configs/joint_tour_composition.yaml diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_composition_annotate_households_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_composition_annotate_households_preprocessor.csv new file mode 100644 index 0000000000..0dd67e97a9 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_composition_annotate_households_preprocessor.csv @@ -0,0 +1,22 @@ +Description,Target,Expression +#,, +,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" +,time_window_overlap_adult,_HH_OVERLAPS['aa'] +,time_window_overlap_child,_HH_OVERLAPS['cc'] +,time_window_overlap_adult_child,_HH_OVERLAPS['ac'] +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +#,, +,_HH_PERSON_COUNT,"lambda exp, households, persons: persons.query(exp).groupby('household_id').size().reindex(households.index).fillna(0)" +,_num_full,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_FULL, households, persons)" +,_num_part,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PART, households, persons)" +,num_full_max3,"_num_full.clip(0,3)" +,num_part_max3,"_num_part.clip(0,3)" +,num_univ_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_UNIVERSITY, households, persons).clip(0,3)" +,num_nonwork_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_NONWORK, households, persons).clip(0,3)" +,num_preschool_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PRESCHOOL, households, persons).clip(0,3)" +,num_school_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_SCHOOL, households, persons).clip(0,3)" +,num_driving_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_DRIVING, households, persons).clip(0,3)" +#,, +,more_cars_than_workers,households.auto_ownership > (_num_full + _num_part) diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_composition_coefficients.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_composition_coefficients.csv new file mode 100644 index 0000000000..4d929c2b5f --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_composition_coefficients.csv @@ -0,0 +1,32 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_asc_children,5.3517,F +coef_asc_mixed,5.6290,fF +coef_tour_purpose_is_eating_out_children,-0.9678,F +coef_tour_purpose_is_eating_out_mixed,-0.8027,F +coef_tour_purpose_is_discretionary_adults,0.7648,F +coef_tour_purpose_is_discretionary_children,0.5101,F +coef_number_of_full_time_workers_adults,1.024,F +coef_number_of_full_time_workers_mixed,0.3624,F +coef_number_of_part_time_workers_adults,0.5412,F +coef_number_of_part_time_workers_mixed,0.3164,F +coef_number_of_university_students,0.8245,F +coef_number_of_non_workers_adults,0.6263,F +coef_number_of_non_workers_mixed,-0.3724,F +coef_number_of_children_too_young_for_school_children,0.7306,F +coef_number_of_children_too_young_for_school_mixed,0.7906,F +coef_number_of_pre_driving_age_children_children,0.7306,F +coef_number_of_pre_driving_age_children_mixed,0.3532,F +coef_number_of_driving_age_children_children,-0.2667,F +coef_number_of_driving_age_children_mixed,-0.9399,F +coef_low_income_households_adults,1.248,F +coef_low_income_households_mixed,0.5755,F +coef_medium_income_households,0.8369,F +coef_household_has_more_cars_than_workers_adults,1.386,F +coef_household_has_more_cars_than_workers_mixed,0.751,F +coef_household_in_urban_area,0.5741,F +coef_household_in_suburban_area_adults,0.5105,F +coef_household_in_suburban_area_mixed,0.1283,F +coef_log_max_overlap_of_adults_time_windows,1.192,F +coef_log_max_overlap_of_childrens_time_windows,1.841,F +coef_log_max_overlap_of_time_windows,1.958,F diff --git a/activitysim/examples/example_mtc/configs/joint_tour_destination.yaml b/activitysim/examples/prototype_mtc/configs/joint_tour_destination.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_destination.yaml rename to activitysim/examples/prototype_mtc/configs/joint_tour_destination.yaml diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_frequency.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency.csv new file mode 100644 index 0000000000..ed2da406ee --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency.csv @@ -0,0 +1,77 @@ +Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD +util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours +#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, +util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, +#_shopping,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, +util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, +util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, +util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, +util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, +util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, +util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, +util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, +util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, +util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, +#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, +util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, +util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, +util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, +util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, +util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, +util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, +util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, +util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, +util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, +util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, +util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, +util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, +#_eatout,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, +util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, +util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, +util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, +util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, +util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, +util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, +util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, +util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, +util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, +util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, +util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, +util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, +#_visiting,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, +util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, +util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, +util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, +util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, +util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, +util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, +util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, +util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, +util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, +#_discretionary,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc +util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc +util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc +util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc +util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc +util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc +util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc +util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc +util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc +util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc +util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc +util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc +util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc +util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc +util_zeroAutomobiles_dis,zeroAutomobiles_disc,auto_ownership == 0,,,,,,coef_zeroAutomobiles_disc,,,,,coef_zeroAutomobiles_disc,,,,coef_zeroAutomobiles_disc,,,coef_zeroAutomobiles_disc,,coef_zeroAutomobiles_disc,2 * coef_zeroAutomobiles_disc \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/joint_tour_frequency.yaml b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_frequency.yaml rename to activitysim/examples/prototype_mtc/configs/joint_tour_frequency.yaml diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_alternatives.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_alternatives.csv new file mode 100644 index 0000000000..7bf93731f9 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_alternatives.csv @@ -0,0 +1,23 @@ +#,,,,,alt file for building joint tours +alt,shopping,othmaint,eatout,social,othdiscr +0_tours,0,0,0,0,0 +1_Shop,1,0,0,0,0 +1_Main,0,1,0,0,0 +1_Eat,0,0,1,0,0 +1_Visit,0,0,0,1,0 +1_Disc,0,0,0,0,1 +2_SS,2,0,0,0,0 +2_SM,1,1,0,0,0 +2_SE,1,0,1,0,0 +2_SV,1,0,0,1,0 +2_SD,1,0,0,0,1 +2_MM,0,2,0,0,0 +2_ME,0,1,1,0,0 +2_MV,0,1,0,1,0 +2_MD,0,1,0,0,1 +2_EE,0,0,2,0,0 +2_EV,0,0,1,1,0 +2_ED,0,0,1,0,1 +2_VV,0,0,0,2,0 +2_VD,0,0,0,1,1 +2_DD,0,0,0,0,2 diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_annotate_households_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_annotate_households_preprocessor.csv new file mode 100644 index 0000000000..af42d07490 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_annotate_households_preprocessor.csv @@ -0,0 +1,32 @@ +Description,Target,Expression +,_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype, activity, households, persons: persons.query('ptype == %s and cdap_activity==\'%s\'' % (ptype, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +,_PEMPLOY_CDAP_PATTERN_COUNT,"lambda pemploy, activity, households, persons: persons.query('pemploy == %s and cdap_activity==\'%s\'' % (pemploy, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +,_2_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype1, ptype2, activity, households, persons: persons.query('(ptype == %s or ptype == %s) and cdap_activity==\'%s\'' % (ptype1, ptype2, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +#,, +,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" +,time_window_overlap_adult,_HH_OVERLAPS['aa'] +,time_window_overlap_child,_HH_OVERLAPS['cc'] +,time_window_overlap_adult_child,_HH_OVERLAPS['ac'] +#,, +,cdap_home_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'H', households, persons).clip(0,3)" +,cdap_home_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'H', households, persons).clip(0,3)" +,cdap_home_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'H', households, persons).clip(0,3)" +,cdap_home_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'H', households, persons).clip(0,3)" +,cdap_home_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'H', households, persons).clip(0,3)" +,cdap_home_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'H', households, persons).clip(0,3)" +,cdap_nonmand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'N', households, persons).clip(0,3)" +,cdap_nonmand_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'N', households, persons).clip(0,3)" +,cdap_nonmand_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'N', households, persons).clip(0,3)" +,cdap_nonmand_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'N', households, persons).clip(0,3)" +,cdap_nonmand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'N', households, persons).clip(0,3)" +,cdap_nonmand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'N', households, persons).clip(0,3)" +,cdap_mand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'M', households, persons).clip(0,3)" +,cdap_mand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'M', households, persons).clip(0,3)" +,cdap_mand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'M', households, persons).clip(0,3)" +,income_between_50_and_100,(households.income > 50000) & (households.income <= 100000) +,income_greater_than_100,households.income > 100000 +,income_missing,0 +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +nmRetail,non_motorized_retail_accessibility,"reindex(accessibility.nmRetail, households.home_zone_id)" diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_coefficients.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_coefficients.csv new file mode 100644 index 0000000000..ae244d3df6 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_coefficients.csv @@ -0,0 +1,84 @@ +coefficient_name,value,constrain +# asc,, +coef_asc_0_tours,0,T +coef_asc_1_Shop,-6.0149,F +coef_asc_1_Main,-5.7389,F +coef_asc_1_Eat,-6.3757,F +coef_asc_1_Visit,-5.8818,F +coef_asc_1_Disc,-5.4806,F +coef_asc_2_tours,-14.4576,F +# zero_tours,, +coef_fullTimeHomeMaxThree_zero_tours,1.175,F +coef_partTimeHomeMaxThree_zero_tours,1.447,F +coef_nonWorkerHomeMaxThree_zero_tours,1.514,F +coef_retireeHomeMaxThree_zero_tours,0.6053,F +coef_universityHomeMaxThree_univ_and_driving_zero_tours,0.5685,F +coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,0.530,F +# shopping,, +coef_fullTimeNonMandMaxThree_shopping,0.2052,F +coef_partTimeNonMandMaxThree_shopping,0.1866,F +coef_nonWorkerNonMandMaxThree_shopping,0.7078,F +coef_retireeNonMandMaxThree_shopping,0.941,F +coef_universityNonMandMaxThree_shopping,0.7648,F +coef_preDrivingNonMandMaxThree_shopping,0.5474,F +coef_fullTimeMandMaxThree_shopping,-0.2424,F +coef_logTimeWindowOverlapAdult_shopping,0.5945,F +coef_logTimeWindowOverlapChild_shopping,0.1416,F +coef_logTimeWindowOverlapAdultChild_shopping,0.1086,F +coef_fewerCarsThanDrivers_shopping,0.2523,F +coef_moreCarsThanWorkers_shopping,-0.3027,F +# maintenance,, +coef_fullTimeNonMandMaxThree_maint,0.3173,F +coef_partTimeNonMandMaxThree_maint,0.2452,F +coef_nonWorkerNonMandMaxThree_maint,0.4643,F +coef_retireeNonMandMaxThree_maint,0.905,F +coef_universityNonMandMaxThree_maint,0.2643,F +coef_preDrivingNonMandMaxThree_maint,0.6482,F +coef_fullTimeMandMaxThree_maint,-0.3009,F +coef_drivingAgeStuMandMaxThree_maint,-0.3237,F +coef_preDrivingAgeMandMaxThree_maint,0.2299,F +coef_logTimeWindowOverlapAdult_maint,0.3714,F +coef_logTimeWindowOverlapChild_maint,0.176,F +coef_logTimeWindowOverlapAdultChild_maint,0.2443,F +coef_fewerCarsThanDrivers_maint,0.461,F +# eatout,, +coef_fullTimeNonMandMaxThree_eatout,0.2275,F +coef_partTimeNonMandMaxThree_eatout,0.3765,F +coef_nonWorkerNonMandMaxThree_eatout,0.182,F +coef_retireeNonMandMaxThree_eatout,0.4264,F +coef_universityNonMandMaxThree_eatout,0.4097,F +coef_preDrivingNonMandMaxThree_eatout,0.3851,F +coef_logTimeWindowOverlapAdult_eatout,0.4856,F +coef_logTimeWindowOverlapAdultChild_eatout,0.0921,F +coef_incomeBetween50And100_eatout,0.2977,F +coef_incomeGreaterThan100_eatout,0.4492,F +coef_incomeMissing_dummy_always_zero_eatout,0.278,F +coef_moreCarsThanWorkers_eatout,0.3825,F +coef_walkRetailAccessibility_eatout,0.062,F +# visiting,, +coef_fullTimeNonMandMaxThree_visiting,0.6445,F +coef_partTimeNonMandMaxThree_visiting,0.1332,F +coef_nonWorkerNonMandMaxThree_visiting,0.5475,F +coef_retireeNonMandMaxThree_visiting,0.5579,F +coef_universityNonMandMaxThree_visiting,0.2809,F +coef_preDrivingNonMandMaxThree_visiting,0.6008,F +coef_timeWindowOverlapAdult_visiting,0.0596,F +coef_timeWindowOverlapChild_visiting,0.0092,F +coef_timeWindowOverlapAdultChild_visiting,0.0256,F +coef_zeroAutomobiles_visiting,-0.980,F +# discretionary,, +coef_fullTimeNonMandMaxThree_disc,0.1275,F +coef_partTimeNonMandMaxThree_disc,0.4979,F +coef_nonWorkerNonMandMaxThree_disc,0.2871,F +coef_retireeNonMandMaxThree_disc,0.6136,F +coef_universityNonMandMaxThree_disc,0.7546,F +coef_preDrivingNonMandMaxThree_disc,0.5331,F +coef_drivingAgeStuMandMaxThree_disc,0.1932,F +coef_preDrivingAgeMandMaxThree_disc,0.3862,F +coef_logTimeWindowOverlapAdult_disc,0.3428,F +coef_logTimeWindowOverlapChild_disc,0.1162,F +coef_logTimeWindowOverlapAdultChild_disc,0.2212,F +coef_incomeBetween50And100_disc,0.3167,F +coef_incomeGreaterThan100_disc,0.486,F +coef_incomeMissing_dummy_always_zero_disc,0.3723,F +coef_zeroAutomobiles_disc,-0.909,F \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_participation.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_participation.csv new file mode 100644 index 0000000000..cd692d8d27 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_participation.csv @@ -0,0 +1,67 @@ +Label,Description,Expression,participate,not_participate +util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not +util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not +util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, +util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, +util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, +util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, +util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, +util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, +util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, +util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, +util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, +util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, +#,,,, +util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not +util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not +util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, +util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, +util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, +util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, +util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, +util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, +util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, +util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, +util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, +util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, +util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, +util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, +#,,,, +util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, +util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, +util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, +util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, +util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, +util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, +util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, +util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, +util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, +util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, +util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, +util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, +#,,,, +util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, +util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, +util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, +util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, +util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, +util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, +util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, +util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, +util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, +util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, +util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, +util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, +#,,,, +util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, +util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, +util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, +util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, +#,,,, +util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, +util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, +util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, +util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable +util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable +util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable +util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable diff --git a/activitysim/examples/example_mtc/configs/joint_tour_participation.yaml b/activitysim/examples/prototype_mtc/configs/joint_tour_participation.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_participation.yaml rename to activitysim/examples/prototype_mtc/configs/joint_tour_participation.yaml diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_participation_annotate_participants_preprocessor.csv new file mode 100644 index 0000000000..be9b64a944 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_participation_annotate_participants_preprocessor.csv @@ -0,0 +1,24 @@ +Description,Target,Expression +,_P_OVERLAPS,person_time_window_overlap(persons) +,time_window_overlap_adult,"reindex(_P_OVERLAPS.aa, participants.person_id)" +,time_window_overlap_child,"reindex(_P_OVERLAPS.cc, participants.person_id)" +,time_window_overlap_adult_child,"reindex(_P_OVERLAPS.ac, participants.person_id)" +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +#,, +,person_is_full,participants.ptype == PTYPE_FULL +,person_is_part,participants.ptype == PTYPE_PART +,person_is_univ,participants.ptype == PTYPE_UNIVERSITY +,person_is_nonwork,participants.ptype == PTYPE_NONWORK +,person_is_driving,participants.ptype == PTYPE_DRIVING +,person_is_school,participants.ptype == PTYPE_SCHOOL +,person_is_preschool,participants.ptype == PTYPE_PRESCHOOL +,tour_type_is_eat,participants.tour_type=='eat' +,tour_type_is_disc,participants.tour_type=='disc' +,tour_composition_is_adults,participants.composition=='adults' +,tour_composition_is_children,participants.composition=='children' +,tour_composition_is_mixed,participants.composition=='mixed' +,home_is_suburban,~(participants.home_is_urban | participants.home_is_rural) +,high_income,participants.income_in_thousands > 60 +,more_cars_than_workers,participants.auto_ownership > participants.num_workers diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_participation_coefficients.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_participation_coefficients.csv new file mode 100644 index 0000000000..455f08be9e --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_participation_coefficients.csv @@ -0,0 +1,68 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_full_time_worker_mixed_party,-3.566,F +coef_full_time_worker_mixed_party_not,0.5,T +coef_part_time_worker_adults_only_party,-3.566,F +coef_part_time_worker_adults_only_party_not,0.5,T +coef_part_time_worker_mixed_party,-0.3655,F +coef_university_student_mixed_party,-3.041,F +coef_non_worker_adults_only_party,-3.164,F +coef_non_worker_mixed_party,0.7152,F +coef_child_too_young_for_school_children_only_party,-2.786,F +coef_child_too_young_for_school_mixed_party,-1.893,F +coef_pre_driving_age_student_children_only_party,-0.7217,F +coef_pre_driving_age_student_mixed_party,-1.752,F +coef_driving_age_student_children_only_party,-1.822,F +coef_driving_age_student_mixed_party,-1.353,F +#,, +coef_full_time_worker_specific_to_eating_out_joint_tours,0.7157,F +coef_full_time_worker_specific_to_eating_out_joint_tours_not,0.5,T +coef_full_time_worker_specific_to_discretionary_joint_tours,0.4392,F +coef_full_time_worker_specific_to_discretionary_joint_tours_not,0.5,T +coef_part_time_worker_specific_to_eating_out_joint_tours,2.188,F +coef_part_time_worker_specific_to_discretionary_joint_tours,0.285,F +coef_university_student_specific_to_eating_out_joint_tours,-0.82,F +coef_university_student_specific_to_discretionary_joint_tours,0,T +coef_non_worker_specific_to_eating_out_joint_tours,0.1617,F +coef_non_worker_specific_to_discretionary_joint_tours,-0.1835,F +coef_child_too_young_for_school_specific_to_eating_out_joint_tours,0.6589,F +coef_child_too_young_for_school_specific_to_discretionary_joint_tours,0.1284,F +coef_pre_driving_age_student_specific_to_eating_out_joint_tours,1.391,F +coef_pre_driving_age_student_specific_to_discretionary_joint_tours,0.6626,F +coef_driving_age_student_specific_to_eating_out_joint_tours,2.344,F +coef_driving_age_student_specific_to_discretionary_joint_tours,-0.6675,F +#,, +coef_household_in_urban_area_adult_adult_only_party,0,T +coef_household_in_urban_area_adult_mixed_party,-0.137,F +coef_household_in_urban_area_child_child_only_party,1.21,F +coef_household_in_urban_area_child_mixed_party,0.6265,F +coef_household_in_suburban_area_adult_adult_only_party,0,T +coef_household_in_suburban_area_adult_mixed_party,-0.06007,F +coef_household_in_suburban_area_child_child_only_party,0,T +coef_household_in_suburban_area_child_mixed_party,0,T +coef_adult_more_automobiles_than_workers_adult_only_party,-0.2133,F +coef_adult_more_automobiles_than_workers_mixed_party,-0.6031,F +coef_child_more_automobiles_than_workers_child_only_party,-0.4214,F +coef_child_more_automobiles_than_workers_mixed_party,-0.3776,F +#,, +coef_dummy_for_high_income_for_adult_in_adult_party,-0.1682,F +coef_dummy_for_high_income_for_adult_in_mixed_party,-0.02613,F +coef_dummy_for_high_income_for_child_in_children_party,-0.5619,F +coef_dummy_for_high_income_for_child_in_mixed_party,-0.1528,F +coef_adult_number_of_joint_tours_adult_only,-0.3242,F +coef_adult_number_of_joint_tours_mixed,-0.3584,F +coef_child_number_of_joint_tours_child_only,0.1047,F +coef_child_number_of_joint_tours_mixed,-0.5089,F +coef_adult_number_of_other_adults_in_the_household_adults_only_party,0,T +coef_adult_number_of_other_adults_in_the_household_mixed_party,0,T +coef_child_number_of_other_children_in_the_household_child_only_party,0,T +coef_child_number_of_other_children_in_the_household_mixed,0,T +#,, +coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,0.8436,F +coef_adult_log_of_max_window_overlap_with_a_child_mixed,2.189,F +coef_child_log_of_max_window_overlap_with_an_adult_mixed,1.538,F +coef_child_log_of_max_window_overlap_with_a_child_child,1.296,F + + + + diff --git a/activitysim/examples/example_mtc/configs/joint_tour_scheduling.yaml b/activitysim/examples/prototype_mtc/configs/joint_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_scheduling.yaml rename to activitysim/examples/prototype_mtc/configs/joint_tour_scheduling.yaml diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv new file mode 100644 index 0000000000..d239c39ca6 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv @@ -0,0 +1,8 @@ +Description,Target,Expression +destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, joint_tours.destination) < setting('cbd_threshold')) * 1" +#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD +temp auto_time_to_destination,_auto_time_to_destination,"skim_dict.lookup(joint_tours.origin, joint_tours.destination, ('SOV_TIME', 'MD'))" +temp auto_time_return,_auto_time_return,"skim_dict.lookup(joint_tours.destination, joint_tours.origin, ('SOV_TIME', 'MD'))" +free flow roundtrip_auto_time,roundtrip_auto_time,"_auto_time_to_destination + _auto_time_return" +#"number of joint tours that this joint tours point_person participates in",, +,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), joint_tours.person_id)" diff --git a/activitysim/examples/prototype_mtc/configs/logging.yaml b/activitysim/examples/prototype_mtc/configs/logging.yaml new file mode 100644 index 0000000000..43a70cb58e --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/logging.yaml @@ -0,0 +1,58 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console, logfile] + + loggers: + + activitysim: + level: INFO + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: elapsedFormatter + level: NOTSET + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + elapsedFormatter: + (): activitysim.core.tracing.ElapsedTimeFormatter + format: '[{elapsedTime}] {levelname:s}: {message:s}' + style: '{' diff --git a/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.csv b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.csv new file mode 100644 index 0000000000..848bbf77aa --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.csv @@ -0,0 +1,101 @@ +Label,Description,Expression,work1,work2,school1,school2,work_and_school +util_ft_worker,Full-time worker alternative-specific constants,ptype == 1,0,coef_ft_worker_work2_asc,,, +util_pt_worker,Part-time worker alternative-specific constants,ptype == 2,0,coef_pt_worker_work2_asc,,, +util_univ,University student alternative-specific constants,ptype == 3,coef_univ_work1_asc,coef_univ_work2_asc,0,coef_univ_school2_asc,coef_univ_work_and_school_asc +util_non_working_adult,Non-working adult alternative-specific constants,ptype == 4,,,,, +util_retired,Retired alternative-specific constants,ptype == 5,,,,, +util_driving_age_child,Driving-age child alternative-specific constants,ptype == 6,,,0,coef_driving_age_child_school2_asc,coef_driving_age_child_work_and_school_asc +util_pre_driving_age_child,Pre-driving age child who is in school alternative-specific constants,ptype == 7,,,0,coef_pre_driving_age_child_school2_asc, +util_female_ft_worker,Female - Full-time worker interaction,(ptype == 1) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school +util_female_pt_worker,Female - Part-time worker interaction,(ptype == 2) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school +util_female_univ,Female - University student interaction,(ptype == 3) & female,coef_female_work1,coef_female_work2,coef_female_school1,coef_female_school2,coef_female_work_and_school +util_female_non_working_adult,Female - Non-working adult interaction,(ptype == 4) & female,0,coef_female_work2,coef_female_school1,, +util_female_retired,Female - Retired interaction,(ptype == 5) & female,0,coef_female_work2,coef_female_school1,, +util_female_driving_age_child,Female - Driving-age child interaction,(ptype == 6) & female,coef_female_work1,,0,coef_female_school2,coef_female_work_and_school +util_female_pre_driving,Female - Pre-driving age child who is in school interaction,(ptype == 7) & female,coef_female_work1,,0,coef_female_school2, +util_under_35_ft,Under 35 - Full-time worker interaction,(ptype == 1) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school +util_under_35_pt,Under 35 - Part-time worker interaction,(ptype == 2) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school +util_under_35_univ,Under 35 - University student interaction,(ptype == 3) & (age <= 35),coef_under_35_work1,coef_under_35_work2,0,coef_under_35_school2,coef_under_35_work_and_school +util_under_35_non_working,Under 35 - Non-working adult interaction,(ptype == 4) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,, +util_can_walk_to_work_ft,Can walk to work - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_pt,Can walk to work - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_univ,Can walk to work - University student interaction,(ptype == 3) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_non_working_adult,Can walk to work - Non-working adult interaction,(ptype == 4) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_retired,Can walk to work - Retired interaction,(ptype == 5) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_school_univ,Can walk to school - University student interaction,(ptype == 3) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_school_driving_age_child,Can walk to school - Driving-age child interaction,(ptype == 6) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_school_pre_driving_age_child,Can walk to school - Pre-driving age child who is in school interaction,(ptype == 7) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_work_or_school_ft,Can walk to work or school - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_pt,Can walk to work or school - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_univ,Can walk to work or school - University student interaction,(ptype == 3) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_driving_age_child,Can walk to work or school - Driving-age child interaction,(ptype == 6) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_round_trip_auto_time_to_work_ft,Round trip auto time to work - Full-time worker interaction,(ptype == 1) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_pt,Round trip auto time to work - Part-time worker interaction,(ptype == 2) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_univ,Round trip auto time to work - University student interaction,(ptype == 3) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_non_working_adult,Round trip auto time to work - Non-working adult interaction,(ptype == 4) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, +util_round_trip_auto_time_to_work_retired,Round trip auto time to work - Retired,(ptype == 5) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, +util_round_trip_auto_time_to_school_univ,Round trip auto time to school - University student interaction,(ptype == 3) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school +util_round_trip_auto_time_to_school_driving_age_child,Round trip auto time to school - Driving-age child interaction,(ptype == 6) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school +util_round_trip_auto_time_to_school_pre_driving_age_child,Round trip auto time to school - Pre-driving age child who is in school interaction,(ptype == 7) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2, +util_student_employted_univ,Student is employed - University student interaction,(ptype == 3) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed +util_student_employted_driving_age_child,Student is employed - Driving-age child interaction,(ptype == 6) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed +util_non_student_goes_to_school_ft,Non-student goes to school - Full-time worker interaction,(ptype == 1) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school +util_non_student_goes_to_school_pt,Non-student goes to school - Part-time worker interaction,(ptype == 2) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school +util_non_student_goes_to_school_non_working_adult,Non-student goes to school - Non-working adult interaction,(ptype == 4) & nonstudent_to_school,,,coef_non_student_goes_to_school,, +util_non_student_goes_to_school_retired,Non-student goes to school - Retired interaction,(ptype == 5) & nonstudent_to_school,,,coef_non_student_goes_to_school,, +util_no_cars_in_hh_ft,No cars in household - Full-time worker interaction,(ptype == 1) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_pt,No cars in household - Part-time worker interaction,(ptype == 2) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_unif,No cars in household - University student interaction,(ptype == 3) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_non_working_adult,No cars in household - Non-working adult interaction,(ptype == 4) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, +util_no_cars_in_hh_retired,No cars in household - Retired interaction,(ptype == 5) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, +util_no_cars_in_hh_driving_age_student,No cars in household - Driving-age student interaction,(ptype == 6) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_pre_driving_age,No cars in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2, +util_fewer_cars_than_drivers_univ,Fewer cars than drivers in household - University student interaction,(ptype == 3) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_fewer_cars_than_drivers_driving_age_student,Fewer cars than drivers in household - Driving-age student interaction,(ptype == 6) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_fewer_cars_than_drivers_pre_driving_age,Fewer cars than drivers in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_num_preschool_in_hh_ft,Number of preschool children in household - Full-time worker interaction,(ptype == 1) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_pt,Number of preschool children in household - Part-time worker interaction,(ptype == 2) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_univ,Number of preschool children in household - University student interaction,(ptype == 3) * (num_young_children),coef_num_preschool_in_hh_work1,coef_num_preschool_in_hh_work2,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_non_working_adult,Number of preschool children in household - Non-working adult interaction,(ptype == 4) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, +util_num_preschool_in_hh_retired,Number of preschool children in household - Retired interaction,(ptype == 5) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, +util_num_preschool_in_hh_driving_age_student,Number of preschool children in household - Driving-age student interaction,(ptype == 6) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_pre_driving_age_in_school,Number of preschool children in household - Pre-driving age child who is in school interaction,(ptype == 7) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2, +util_num_nonworkers_in_hh_ft,Number of non-workers in the household - Full-time worker interaction,(ptype == 1) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, +util_num_nonworkers_in_hh_pt,Number of non-workers in the household - Part-time worker interaction,(ptype == 2) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, +util_hh_income_gt_50k_ft,Household income higher than $50k - Full-time worker interaction,(ptype == 1) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school +util_hh_income_gt_50k_pt,Household income higher than $50k - Part-time worker interaction,(ptype == 2) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school +util_hh_income_gt_50k_univ,Household income higher than $50k - University student interaction,(ptype == 3) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,coef_hh_income_gt_50k_work,0,,coef_hh_income_gt_50k_student_work_and_school +util_hh_income_gt_50k_non_working_adult,Household income higher than $50k - Non-working adult interaction,(ptype == 4) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, +util_hh_income_gt_50k_retired,Household income higher than $50k - Retired interaction,(ptype == 5) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, +util_hh_income_gt_50k_driving_age_student,Household income higher than $50k - Driving-age student interaction,(ptype == 6) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,,coef_hh_income_gt_50k_student_work_and_school +util_hh_income_gt_50k_pre_driving_age_student,Household income higher than $50k - Pre-driving age child who is in school interaction,(ptype == 7) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,, +util_non_family_hh_ft,Non-family household - Full-time worker interaction,(ptype == 1) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 +util_non_family_hh_pt,Non-family household - Part-time worker interaction,(ptype == 2) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 +util_non_family_hh_univ,Non-family household - University student interaction,(ptype == 3) & non_family,coef_non_family_hh_category2,coef_non_family_hh_category2,0,,coef_non_family_hh_category2 +util_non_family_hh_non_working_adult,Non-family household - Non-working adult interaction,(ptype == 4) & non_family,0,,coef_non_family_hh_category1,, +util_non_family_hh_retired,Non-family household - Retired interaction,(ptype == 5) & non_family,0,,coef_non_family_hh_category1,, +util_non_family_hh_driving_age_student,Non-family household - Driving-age student interaction,(ptype == 6) & non_family,coef_non_family_hh_category2,,0,,coef_non_family_hh_category2 +util_non_family_hh_pre_driving_age_student,Non-family household - Pre-driving age child who is in school interaction,(ptype == 7) & non_family,coef_non_family_hh_category2,,0,, +util_num_under_16_not_at_school_ft,Number of children under 16 not at school - Full-time worker interaction,(ptype == 1) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_pt,Number of children under 16 not at school - Part-time worker interaction,(ptype == 2) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_univ,Number of children under 16 not at school - University student interaction,(ptype == 3) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_non_working_adult,Number of children under 16 not at school - Non-working adult interaction,(ptype == 4) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, +util_num_under_16_not_at_school_retired,Number of children under 16 not at school - Retired,(ptype == 5) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, +util_num_under_16_not_at_school_driving_age_student,Number of children under 16 not at school - Driving-age student interaction,(ptype == 6) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_pre_driving_age,Number of children under 16 not at school - Pre-driving age child who is in school interaction,(ptype == 7) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2, +util_nome_urban_ft,Home is in urban area - Full-time worker interaction,(ptype == 1) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school +util_nome_urban_pt,Home is in urban area - Part-time worker interaction,(ptype == 2) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school +util_nome_urban_univ,Home is in urban area - University student interaction,(ptype == 3) & home_is_urban,coef_home_urban_work1,coef_home_urban_work2,0,coef_home_urban_school2,coef_home_urban_work_and_school +util_nome_urban_non_working_adult,Home is in urban area - Non-working adult interaction,(ptype == 4) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, +util_nome_urban_retired,Home is in urban area - Retired interaction,(ptype == 5) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, +util_nome_urban_driving_age_student,Home is in urban area - Driving-age student interaction,(ptype == 6) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2,coef_home_urban_work_and_school +util_nome_urban_pre_driving_age_student,Home is in urban area - Pre-driving age child who is in school interaction,(ptype == 7) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2, +util_availability_ft,Unavailable: Full-time worker,ptype == 1,,,,coef_unavailable, +util_availability_pt,Unavailable: Part-time worker,ptype == 2,,,,coef_unavailable, +util_availability_non_working_adult,Unavailable: Non-working adult,ptype == 4,,,,coef_unavailable,coef_unavailable +util_availability_retired,Unavailable: Retired,ptype == 5,,,,coef_unavailable,coef_unavailable +util_availability_driving_age_child,Unavailable: Driving-age child,ptype == 6,coef_unavailable,coef_unavailable,,, +util_availability_pre_driving_age_student,Unavailable: Pre-driving age child who is in school,ptype == 7,,coef_unavailable,,,coef_unavailable +util_availability_pre_driving_age_not_in_school,Unavailable: Pre-driving age child who is not in school,ptype == 8,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable +util_availability_work_tours_no_usual_work_location,Unavailable: Work tours for those with no usual work location,~(workplace_zone_id > -1),coef_unavailable,coef_unavailable,,,coef_unavailable +util_availability_school_tours_no_usual_school_location,Unavailable: School tours for those with no usual school location,~(school_zone_id > -1),,,coef_unavailable,coef_unavailable,coef_unavailable diff --git a/activitysim/examples/example_mtc/configs/mandatory_tour_frequency.yaml b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/mandatory_tour_frequency.yaml rename to activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.yaml diff --git a/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_alternatives.csv new file mode 100644 index 0000000000..025decbb1c --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_alternatives.csv @@ -0,0 +1,7 @@ +#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,work,school +work1,1,0 +work2,2,0 +school1,0,1 +school2,0,2 +work_and_school,1,1 diff --git a/activitysim/examples/example_mtc/configs/mandatory_tour_frequency_coefficients.csv b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_coefficients.csv similarity index 97% rename from activitysim/examples/example_mtc/configs/mandatory_tour_frequency_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_coefficients.csv index 8a4137324f..9bf04b2878 100644 --- a/activitysim/examples/example_mtc/configs/mandatory_tour_frequency_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_coefficients.csv @@ -1,54 +1,54 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_ft_worker_work2_asc,-3.3781,F -coef_pt_worker_work2_asc,-3.0476,F -coef_univ_work1_asc,2.166,F -coef_univ_work2_asc,-1.3965,F -coef_univ_school2_asc,-3.7429,F -coef_univ_work_and_school_asc,0.1073,F -coef_driving_age_child_school2_asc,-3.136,F -coef_driving_age_child_work_and_school_asc,-4.4362,F -coef_pre_driving_age_child_school2_asc,-3.9703,F -coef_female_work1,0.1737,F -coef_female_work2,-0.2255,F -coef_female_school1,0.1592,F -coef_female_school2,0.114,F -coef_female_work_and_school,-0.3442,F -coef_female_univ_work1,0.1737,F -coef_under_35_work1,-0.4629,F -coef_under_35_work2,-0.1375,F -coef_under_35_school1,0.7218,F -coef_under_35_school2,1.275,F -coef_under_35_work_and_school,0.9761,F -coef_can_walk_to_work_work2,0.5268,F -coef_can_walk_to_work_school2,0.7114,F -coef_can_walk_to_work_and_school,0.1391,F -coef_round_trip_auto_time_to_work_work2,-0.0035,F -coef_round_trip_auto_time_to_work_school2,-0.0034,F -coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F -coef_student_employed,3.014,F -coef_non_student_goes_to_school,3.883,F -coef_no_cars_in_hh_work2,-1.306,F -coef_no_cars_in_hh_school2,-1.413,F -coef_no_cars_in_hh_work_and_school,-1.302,F -coef_few_cars_than_drivers_school2,-0.5759,F -coef_num_preschool_in_hh_work1,0.2191,F -coef_num_preschool_in_hh_work2,-0.1478,F -coef_num_preschool_in_hh_school1,-0.1335,F -coef_num_preschool_in_hh_school2,-0.5577,F -coef_num_preschool_in_hh_work_and_school,-0.1251,F -coef_num_non_workers_in_hh_school1,0.2574,F -coef_hh_income_gt_50k_work,-0.0528,F -coef_hh_income_gt_50k_school1,0.0347,F -coef_hh_income_gt_50k_worker_work_and_school,0.0347,F -coef_hh_income_gt_50k_student_work_and_school,-0.0528,F -coef_non_family_hh_category1,-0.25,F -coef_non_family_hh_category2,-0.1792,F -coef_num_under_16_not_at_school_work2,0.1804 -coef_num_under_16_not_at_school_school2,0.0866 -coef_num_under_16_not_at_school_work_and_school,-0.1955 -coef_home_urban_work1,-0.2831 -coef_home_urban_work2,0.2308 -coef_home_urban_school1,-0.1361 -coef_home_urban_school2,0.317 -coef_home_urban_work_and_school,-0.3509 +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_ft_worker_work2_asc,-3.3781,F +coef_pt_worker_work2_asc,-3.0476,F +coef_univ_work1_asc,2.166,F +coef_univ_work2_asc,-1.3965,F +coef_univ_school2_asc,-3.7429,F +coef_univ_work_and_school_asc,0.1073,F +coef_driving_age_child_school2_asc,-3.136,F +coef_driving_age_child_work_and_school_asc,-4.4362,F +coef_pre_driving_age_child_school2_asc,-3.9703,F +coef_female_work1,0.1737,F +coef_female_work2,-0.2255,F +coef_female_school1,0.1592,F +coef_female_school2,0.114,F +coef_female_work_and_school,-0.3442,F +coef_female_univ_work1,0.1737,F +coef_under_35_work1,-0.4629,F +coef_under_35_work2,-0.1375,F +coef_under_35_school1,0.7218,F +coef_under_35_school2,1.275,F +coef_under_35_work_and_school,0.9761,F +coef_can_walk_to_work_work2,0.5268,F +coef_can_walk_to_work_school2,0.7114,F +coef_can_walk_to_work_and_school,0.1391,F +coef_round_trip_auto_time_to_work_work2,-0.0035,F +coef_round_trip_auto_time_to_work_school2,-0.0034,F +coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F +coef_student_employed,3.014,F +coef_non_student_goes_to_school,3.883,F +coef_no_cars_in_hh_work2,-1.306,F +coef_no_cars_in_hh_school2,-1.413,F +coef_no_cars_in_hh_work_and_school,-1.302,F +coef_few_cars_than_drivers_school2,-0.5759,F +coef_num_preschool_in_hh_work1,0.2191,F +coef_num_preschool_in_hh_work2,-0.1478,F +coef_num_preschool_in_hh_school1,-0.1335,F +coef_num_preschool_in_hh_school2,-0.5577,F +coef_num_preschool_in_hh_work_and_school,-0.1251,F +coef_num_non_workers_in_hh_school1,0.2574,F +coef_hh_income_gt_50k_work,-0.0528,F +coef_hh_income_gt_50k_school1,0.0347,F +coef_hh_income_gt_50k_worker_work_and_school,0.0347,F +coef_hh_income_gt_50k_student_work_and_school,-0.0528,F +coef_non_family_hh_category1,-0.25,F +coef_non_family_hh_category2,-0.1792,F +coef_num_under_16_not_at_school_work2,0.1804 +coef_num_under_16_not_at_school_school2,0.0866 +coef_num_under_16_not_at_school_work_and_school,-0.1955 +coef_home_urban_work1,-0.2831 +coef_home_urban_work2,0.2308 +coef_home_urban_school1,-0.1361 +coef_home_urban_school2,0.317 +coef_home_urban_work_and_school,-0.3509 diff --git a/activitysim/examples/example_mtc/configs/mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_mtc/configs/mandatory_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/mandatory_tour_scheduling.yaml rename to activitysim/examples/prototype_mtc/configs/mandatory_tour_scheduling.yaml diff --git a/activitysim/examples/example_mtc/configs/network_los.yaml b/activitysim/examples/prototype_mtc/configs/network_los.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/network_los.yaml rename to activitysim/examples/prototype_mtc/configs/network_los.yaml diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination.csv new file mode 100644 index 0000000000..18c6234ac4 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination.csv @@ -0,0 +1,10 @@ +Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr +"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 +"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 +Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum +Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1,1,1 diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_destination.yaml rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination.yaml diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination_coefficients.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_destination_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination_coefficients.csv diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination_sample.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination_sample.csv new file mode 100644 index 0000000000..6d1cab933e --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination_sample.csv @@ -0,0 +1,8 @@ +Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr +"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 +"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency.csv new file mode 100644 index 0000000000..76c60822e2 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency.csv @@ -0,0 +1,211 @@ +Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL +util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour +util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour +util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour +util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour +util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour +util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour +util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours +util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours +util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 +util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 +util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 +util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 +util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 +util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus +util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 +util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 +util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 +util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 +util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 +util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus +util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 +util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 +util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 +util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 +util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 +util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus +util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours +util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours +util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours +util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours +util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours +util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 +util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 +util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 +util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 +util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 +util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus +util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 +util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 +util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 +util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 +util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus +util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 +util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 +util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 +util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 +util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus +util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 +util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 +util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 +util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 +util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus +util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour +util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour +util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour +util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour +util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour +util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour +util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour +util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour +util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour +util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour +util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour +util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour +util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour +util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour +util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour +util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 +util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 +util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 +util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 +util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 +util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour +util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour +util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour +util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour +util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour +util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 +util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 +util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 +util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 +util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus +util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 +util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 +util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 +util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 +util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus +util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 +util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 +util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 +util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 +util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus +util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 +util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 +util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 +util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 +util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 +util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 +util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 +util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 +util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 +util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 +util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour +util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour +util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour +util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour +util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour +util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour +util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour +util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour +util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour +util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour +util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour +util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour +util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour +util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour +util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour +util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour +util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour +util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour +util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour +util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour +util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour +util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour +util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour +util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour +util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour +util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour +util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour +util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour +util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour +util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour +util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour +util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour +util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour +util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour +util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour +util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour +util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour +util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour +util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour +util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour +util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour +util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour +util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour +util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour +util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour +util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour +util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour +util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour +util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour +util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour +util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 +util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 +util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 +util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 +util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus +util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 +util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 +util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 +util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 +util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus +util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 +util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 +util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 +util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 +util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus +util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting +util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting +util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting +util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping +util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping +util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping +util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance +util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance +util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance +util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out +util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out +util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out +util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary +util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary +util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary +util_urban_and_tour_frequency_is_1,Urban Areatype & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 +util_urban_and_tour_frequency_is_2,Urban Areatype & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 +util_urban_and_tour_frequency_is_3,Urban Areatype & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 +util_urban_and_tour_frequency_is_4,Urban Areatype & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 +util_urban_and_tour_frequency_is_5_plus,Urban Areatype & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus +util_urban_and_escorting_tour,Urban Areatype & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour +util_urban_and_shopping_tour,Urban Areatype &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour +util_urban_and_maintenance_tour,Urban Areatype & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour +util_urban_and_eatingout_tour,Urban Areatype & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour +util_urban_and_discretionary_tour,Urban Areatype & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour +util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant +util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant +util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant +util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant +util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant +util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant +util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant +util_0_auto_household_and_escorting_tour,Dummy for 0-auto household & Escorting Tour,escort * no_cars,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency.yaml b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency.yaml rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency.yaml diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_alternatives.csv new file mode 100644 index 0000000000..b9765aa75a --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_alternatives.csv @@ -0,0 +1,97 @@ +escort,shopping,othmaint,othdiscr,eatout,social +0,0,0,0,0,0 +0,0,0,1,0,0 +0,0,0,0,0,1 +0,0,0,1,0,1 +0,0,0,0,1,0 +0,0,0,1,1,0 +0,0,0,0,1,1 +0,0,0,1,1,1 +0,0,1,0,0,0 +0,0,1,1,0,0 +0,0,1,0,0,1 +0,0,1,1,0,1 +0,0,1,0,1,0 +0,0,1,1,1,0 +0,0,1,0,1,1 +0,0,1,1,1,1 +0,1,0,0,0,0 +0,1,0,1,0,0 +0,1,0,0,0,1 +0,1,0,1,0,1 +0,1,0,0,1,0 +0,1,0,1,1,0 +0,1,0,0,1,1 +0,1,0,1,1,1 +0,1,1,0,0,0 +0,1,1,1,0,0 +0,1,1,0,0,1 +0,1,1,1,0,1 +0,1,1,0,1,0 +0,1,1,1,1,0 +0,1,1,0,1,1 +0,1,1,1,1,1 +1,0,0,0,0,0 +1,0,0,1,0,0 +1,0,0,0,0,1 +1,0,0,1,0,1 +1,0,0,0,1,0 +1,0,0,1,1,0 +1,0,0,0,1,1 +1,0,0,1,1,1 +1,0,1,0,0,0 +1,0,1,1,0,0 +1,0,1,0,0,1 +1,0,1,1,0,1 +1,0,1,0,1,0 +1,0,1,1,1,0 +1,0,1,0,1,1 +1,0,1,1,1,1 +1,1,0,0,0,0 +1,1,0,1,0,0 +1,1,0,0,0,1 +1,1,0,1,0,1 +1,1,0,0,1,0 +1,1,0,1,1,0 +1,1,0,0,1,1 +1,1,0,1,1,1 +1,1,1,0,0,0 +1,1,1,1,0,0 +1,1,1,0,0,1 +1,1,1,1,0,1 +1,1,1,0,1,0 +1,1,1,1,1,0 +1,1,1,0,1,1 +1,1,1,1,1,1 +2,0,0,0,0,0 +2,0,0,1,0,0 +2,0,0,0,0,1 +2,0,0,1,0,1 +2,0,0,0,1,0 +2,0,0,1,1,0 +2,0,0,0,1,1 +2,0,0,1,1,1 +2,0,1,0,0,0 +2,0,1,1,0,0 +2,0,1,0,0,1 +2,0,1,1,0,1 +2,0,1,0,1,0 +2,0,1,1,1,0 +2,0,1,0,1,1 +2,0,1,1,1,1 +2,1,0,0,0,0 +2,1,0,1,0,0 +2,1,0,0,0,1 +2,1,0,1,0,1 +2,1,0,0,1,0 +2,1,0,1,1,0 +2,1,0,0,1,1 +2,1,0,1,1,1 +2,1,1,0,0,0 +2,1,1,1,0,0 +2,1,1,0,0,1 +2,1,1,1,0,1 +2,1,1,0,1,0 +2,1,1,1,1,0 +2,1,1,0,1,1 +2,1,1,1,1,1 diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv new file mode 100644 index 0000000000..3b4cfe7326 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv @@ -0,0 +1,21 @@ +Description,Target,Expression +#,, +,max_window,person_max_window(persons) +,log_max_window,np.log1p(max_window) +,medium_low_income,(persons.income_in_thousands > 20) & (persons.income_in_thousands <= 50) +,medium_high_income,(persons.income_in_thousands > 50) & (persons.income_in_thousands <= 100) +,high_income,(persons.income_in_thousands > 100) +,no_cars,(persons.auto_ownership == 0) +,car_sufficiency,persons.auto_ownership-persons.num_workers +#,, +# UEC file comments says these are joint tour counts per persons but code is for household counts,, +,_JOINT_TOURS,tours[tours.tour_category=='joint'] +,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), persons.household_id)" +,num_hh_joint_shop_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='shopping'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_eatout_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='eatout'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_maint_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='maint'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_social_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='social'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_othdiscr_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='othdiscr'].groupby('household_id').size(), persons.household_id)" +# non_mandatory tour frequency extension,, +,has_mandatory_tour,(persons.num_mand > 0) * 1 +,has_joint_tour,(persons.num_joint_tours > 0) * 1 diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv new file mode 100644 index 0000000000..d24ffa777e --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.1506,F +coef_total_number_of_tours_is_2,-11.1214,F +coef_total_number_of_tours_is_3,-13.175,F +coef_total_number_of_tours_is_4,-999,T +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.234,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.9231,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-6.5835,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.2162,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3587,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-4.2701,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.3298,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.3759,F +coef_logged_maximum_residual_window_tour_frequency_is_3,3.2808,F +coef_logged_maximum_residual_window_tour_frequency_is_4,3.2808,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,3.2808,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0.2443,F +coef_high_income_group_and_shopping_tour,0.2443,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0.3982,F +coef_high_income_group_and_maintenance_tour,0.3982,F +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0.4916,F +coef_high_income_group_and_eating_out_tour,0.4916,F +coef_mediumlow_income_group_and_discretionary_tour,0.9169,F +coef_mediumhigh_income_group_and_discretionary_tour,1.405,F +coef_high_income_group_and_discretionary_tour,2.327,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0.2858,F +coef_high_income_group_and_visiting_tour,0.2858,F +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.6369,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.2902,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.0352,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,-0.6571,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.4044,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.4044,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.4044,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.3219,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-1.0874,F +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,0,T +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,-0.6377,F +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,-1.5698,F +coef_presence_of_pre_school_kid_and_eating_out_tour,-0.2987,F +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,-1.2834,F +coef_presence_of_driving_school_kid_and_discretionary_tour,-0.9202,F +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_2,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_3,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_4,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0.1004,F +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,1.0394,F +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.4934,F +coef_2_plus_escort_tours_constant,1.4155,F +coef_1_plus_shopping_tours_constant,0.532,F +coef_1_plus_maintenance_tours_constant,-0.4344,F +coef_1_plus_eating_out_tours_constant,-0.0242,F +coef_1_plus_visting_tours_constant,0.2367,F +coef_1_plus_other_discretionary_tours_constant,-0.2602,F +coef_0_auto_household_and_escorting_tour,-2, \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv new file mode 100644 index 0000000000..1c1d5221bd --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.3572,F +coef_total_number_of_tours_is_2,-10.647,F +coef_total_number_of_tours_is_3,-13.5005,F +coef_total_number_of_tours_is_4,-16.3965,F +coef_total_number_of_tours_is_5,-19.6843,F +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8887,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.3343,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.3343,F +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.3343,F +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,0,T +coef_number_of_joint_tours_and_tour_frequency_is_3,0,T +coef_number_of_joint_tours_and_tour_frequency_is_4,0,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,-0.5866,F +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.2562,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.2868,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.3993,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.3993,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.3993,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.4981,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.8345,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.0213,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.0213,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.4981,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8345,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0213,F +coef_high_income_group_and_tour_frequency_is_1,0.5189,F +coef_high_income_group_and_tour_frequency_is_2,1.1336,F +coef_high_income_group_and_tour_frequency_is_3,1.3899,F +coef_high_income_group_and_tour_frequency_is_4,1.3899,F +coef_high_income_group_and_tour_frequency_is_5_plus,1.3899,F +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0,T +coef_high_income_group_and_shopping_tour,0,T +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0.5581,F +coef_high_income_group_and_eating_out_tour,0.5581,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0.2565,F +coef_high_income_group_and_discretionary_tour,0.2565,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.2423,F +coef_high_income_group_and_visiting_tour,-0.2423,F +coef_female_and_tour_frequency_is_1,-0.0766,F +coef_female_and_tour_frequency_is_2,-0.1062,F +coef_female_and_tour_frequency_is_3,-0.3274,F +coef_female_and_tour_frequency_is_4,-0.3274,F +coef_female_and_tour_frequency_is_5,-0.3274,F +coef_female_and_escorting_tour,0.1824,F +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.3486,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.1304,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,-0.4815,F +coef_presence_of_retiree_and_escorting_tour,-0.808,F +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0.3601,F +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3974,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.6842,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,-0.2746,F +coef_at_home_pre_school_kid_and_escorting_tour,-1.5675,F +coef_presence_of_full_time_worker_and_shopping_tour,-0.3059,F +coef_presence_of_part_time_worker_and_shopping_tour,-0.1541,F +coef_presence_of_non_worker_and_shopping_tour,-0.416,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,-0.208,F +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,-0.1685,F +coef_presence_of_part_time_worker_and_maintenance_tour,-0.1584,F +coef_presence_of_non_worker_and_maintenance_tour,-0.3237,F +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.3571,F +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.2014,F +coef_presence_of_retiree_and_eating_out_tour,-0.5708,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,-0.4225,F +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.667,F +coef_presence_of_part_time_worker_and_discretionary_tour,-0.2102,F +coef_presence_of_non_worker_and_discretionary_tour,-0.4281,F +coef_presence_of_retiree_and_discretionary_tour,-0.9104,F +coef_presence_of_university_student_and_discretionary_tour,-0.8551,F +coef_presence_of_driving_school_kid_and_discretionary_tour,-0.3963,F +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,-0.3959,F +coef_presence_of_pre_school_kid_and_discretionary_tour,-0.5081,F +coef_at_home_pre_driving_school_kid_and_discretionary_tour,-0.4703,F +coef_at_home_pre_school_kid_and_discretionary_tour,-0.4703,F +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_2,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_3,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_4,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0226,F +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0.0451,F +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.033,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0.1067,F +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0.0749,F +coef_walk_access_to_retail_and_eating_out,0.145,F +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0.0567,F +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0.0844,F +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,-0.4316,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.0298,F +coef_2_plus_escort_tours_constant,0.7402,F +coef_1_plus_shopping_tours_constant,0.4774,F +coef_1_plus_maintenance_tours_constant,0.1202,F +coef_1_plus_eating_out_tours_constant,0.0097,F +coef_1_plus_visting_tours_constant,0.0522,F +coef_1_plus_other_discretionary_tours_constant,0.7412,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv new file mode 100644 index 0000000000..3fe9f45ae5 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-8.9791,F +coef_total_number_of_tours_is_2,-12.0248,F +coef_total_number_of_tours_is_3,-14.8516,F +coef_total_number_of_tours_is_4,-17.7037,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.6766,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.0518,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.0518,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.1699,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.4285,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-0.6551,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-1.0411,F +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-1.0411,F +coef_number_of_joint_shopping_tours,-0.2391,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,-0.7727,F +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.7637,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.7928,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.5709,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_3,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_4,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0.8315,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.7426,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8546,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0792,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0792,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0792,F +coef_high_income_group_and_tour_frequency_is_1,1.0633,F +coef_high_income_group_and_tour_frequency_is_2,1.0633,F +coef_high_income_group_and_tour_frequency_is_3,1.7742,F +coef_high_income_group_and_tour_frequency_is_4,2.3941,F +coef_high_income_group_and_tour_frequency_is_5_plus,2.3941,F +coef_mediumlow_income_group_and_shopping_tour,0.7734,F +coef_mediumhigh_income_group_and_shopping_tour,0.8906,F +coef_high_income_group_and_shopping_tour,0.9776,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0.2766,F +coef_mediumhigh_income_group_and_eating_out_tour,0.4631,F +coef_high_income_group_and_eating_out_tour,0.7086,F +coef_mediumlow_income_group_and_discretionary_tour,0.1707,F +coef_mediumhigh_income_group_and_discretionary_tour,0.5009,F +coef_high_income_group_and_discretionary_tour,0.8846,F +coef_mediumlow_income_group_and_visiting_tour,-0.267,F +coef_mediumhigh_income_group_and_visiting_tour,-0.267,F +coef_high_income_group_and_visiting_tour,-0.9449,F +coef_female_and_tour_frequency_is_1,0.3902,F +coef_female_and_tour_frequency_is_2,0.5323,F +coef_female_and_tour_frequency_is_3,0.7452,F +coef_female_and_tour_frequency_is_4,1.1294,F +coef_female_and_tour_frequency_is_5,1.1294,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,-0.2464,F +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.3623,F +coef_zero_car_ownership_and_tour_frequency_is_2,-1.272,F +coef_zero_car_ownership_and_tour_frequency_is_3,-1.9307,F +coef_zero_car_ownership_and_tour_frequency_is_4,-1.9307,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.3623,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-1.272,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-1.9307,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.7738,F +coef_presence_of_non_worker_and_tour_frequency_is_1,-0.3763,F +coef_presence_of_non_worker_and_tour_frequency_is_2,-0.719,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.0229,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.0229,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.0229,F +coef_presence_of_retiree_and_tour_frequency_is_1,-0.464,F +coef_presence_of_retiree_and_tour_frequency_is_2,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_3,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_4,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_5,-0.4795,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.7161,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0.1486,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0.484,F +coef_presence_of_full_time_worker_and_escorting_tour,0.3947,F +coef_presence_of_part_time_worker_and_escorting_tour,-0.5861,F +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3773,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.7194,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,-1.148,F +coef_at_home_pre_school_kid_and_escorting_tour,-0.1373,F +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.4667,F +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.4976,F +coef_presence_of_retiree_and_eating_out_tour,-0.6911,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,-0.3926,F +coef_at_home_pre_school_kid_and_eating_out_tour,-0.3926,F +coef_presence_of_full_time_worker_and_discretionary_tour,-0.3545,F +coef_presence_of_part_time_worker_and_discretionary_tour,-0.3545,F +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0713,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.1256,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.1508,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.1508,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.1508,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.0598,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0.0956,F +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0.0772,F +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.0629,F +coef_2_plus_escort_tours_constant,0.9273,F +coef_1_plus_shopping_tours_constant,0.4683,F +coef_1_plus_maintenance_tours_constant,-0.0653,F +coef_1_plus_eating_out_tours_constant,-0.1429,F +coef_1_plus_visting_tours_constant,-0.1272,F +coef_1_plus_other_discretionary_tours_constant,0.3334,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv new file mode 100644 index 0000000000..18f2e3b888 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.6391,F +coef_total_number_of_tours_is_2,-10.4557,F +coef_total_number_of_tours_is_3,-14.0176,F +coef_total_number_of_tours_is_4,-16.9717,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.239,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.8208,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.5923,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.5923,F +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.5923,F +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.5748,F +coef_logged_maximum_residual_window_tour_frequency_is_2,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_3,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_4,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,2.0026,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.5981,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.9178,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.7539,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.7539,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.7539,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.8682,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5362,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.9331,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.9331,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.9331,F +coef_high_income_group_and_tour_frequency_is_1,0.8682,F +coef_high_income_group_and_tour_frequency_is_2,1.5362,F +coef_high_income_group_and_tour_frequency_is_3,1.9331,F +coef_high_income_group_and_tour_frequency_is_4,1.9331,F +coef_high_income_group_and_tour_frequency_is_5_plus,1.9331,F +coef_mediumlow_income_group_and_shopping_tour,0.4421,F +coef_mediumhigh_income_group_and_shopping_tour,0.4421,F +coef_high_income_group_and_shopping_tour,0.7066,F +coef_mediumlow_income_group_and_maintenance_tour,0.6763,F +coef_mediumhigh_income_group_and_maintenance_tour,0.6763,F +coef_high_income_group_and_maintenance_tour,0.6763,F +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0,T +coef_high_income_group_and_eating_out_tour,0,T +coef_mediumlow_income_group_and_discretionary_tour,0.296,F +coef_mediumhigh_income_group_and_discretionary_tour,0.296,F +coef_high_income_group_and_discretionary_tour,0.296,F +coef_mediumlow_income_group_and_visiting_tour,-0.6868,F +coef_mediumhigh_income_group_and_visiting_tour,-0.6868,F +coef_high_income_group_and_visiting_tour,-0.6868,F +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0.4524,F +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0.3072,F +coef_zero_car_ownership_and_tour_frequency_is_1,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.5498,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.1559,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.5681,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,-0.5263,F +coef_presence_of_retiree_and_escorting_tour,-0.7516,F +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0.4164,F +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.5795,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.5414,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,-0.3131,F +coef_presence_of_part_time_worker_and_maintenance_tour,-0.5621,F +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.6545,F +coef_presence_of_retiree_and_eating_out_tour,-1.389,F +coef_presence_of_university_student_and_eating_out_tour,-1.4318,F +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,-1.0371,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0899,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.1447,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.3479,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.3479,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.3479,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,-0.3929,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.5272,F +coef_2_plus_escort_tours_constant,1.5987,F +coef_1_plus_shopping_tours_constant,0.7569,F +coef_1_plus_maintenance_tours_constant,0.5533,F +coef_1_plus_eating_out_tours_constant,0.6914,F +coef_1_plus_visting_tours_constant,0.1405,F +coef_1_plus_other_discretionary_tours_constant,0.7989,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv new file mode 100644 index 0000000000..7514ed50a1 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,2.491,F +coef_discretionary_tour,0.903,F +coef_shopping_tour,0,T +coef_maintenance_tour,1.022,F +coef_visiting_or_social_tour,0.769,F +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-5.759,F +coef_total_number_of_tours_is_2,-11.517,F +coef_total_number_of_tours_is_3,-17.276,F +coef_total_number_of_tours_is_4,-23.035,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_3,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_4,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,0,T +coef_number_of_joint_tours_and_tour_frequency_is_3,0,T +coef_number_of_joint_tours_and_tour_frequency_is_4,0,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,0,T +coef_logged_maximum_residual_window_tour_frequency_is_2,0,T +coef_logged_maximum_residual_window_tour_frequency_is_3,0,T +coef_logged_maximum_residual_window_tour_frequency_is_4,0,T +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0,T +coef_high_income_group_and_shopping_tour,0,T +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0,T +coef_high_income_group_and_eating_out_tour,0,T +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0,T +coef_high_income_group_and_visiting_tour,0,T +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,-0.893,F +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0.89,F +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,1.155,F +coef_presence_of_non_worker_and_shopping_tour,0.808,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,1.037,F +coef_presence_of_non_worker_and_eating_out_tour,1.157,F +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0.791,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.3622,F +coef_2_plus_escort_tours_constant,2.2219,F +coef_1_plus_shopping_tours_constant,1.6919,F +coef_1_plus_maintenance_tours_constant,0.6788,F +coef_1_plus_eating_out_tours_constant,0.9612,F +coef_1_plus_visting_tours_constant,0.4424,F +coef_1_plus_other_discretionary_tours_constant,1.4935,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv new file mode 100644 index 0000000000..dc76652a0b --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-8.5684,F +coef_total_number_of_tours_is_2,-12.7416,F +coef_total_number_of_tours_is_3,-15.0978,F +coef_total_number_of_tours_is_4,-19.5439,F +coef_total_number_of_tours_is_5,-20.7897,F +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-5.0196,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-5.0196,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.95,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-7.143,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,-0.8072,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.8357,F +coef_logged_maximum_residual_window_tour_frequency_is_2,2.2707,F +coef_logged_maximum_residual_window_tour_frequency_is_3,4.4023,F +coef_logged_maximum_residual_window_tour_frequency_is_4,4.4023,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,4.4023,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,1.0949,F +coef_mediumhigh_income_group_and_shopping_tour,1.0949,F +coef_high_income_group_and_shopping_tour,1.0949,F +coef_mediumlow_income_group_and_maintenance_tour,0.7648,F +coef_mediumhigh_income_group_and_maintenance_tour,0.7648,F +coef_high_income_group_and_maintenance_tour,1.3795,F +coef_mediumlow_income_group_and_eating_out_tour,0.9769,F +coef_mediumhigh_income_group_and_eating_out_tour,1.181,F +coef_high_income_group_and_eating_out_tour,1.4842,F +coef_mediumlow_income_group_and_discretionary_tour,1.0095,F +coef_mediumhigh_income_group_and_discretionary_tour,1.0095,F +coef_high_income_group_and_discretionary_tour,1.0095,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.4368,F +coef_high_income_group_and_visiting_tour,-0.5137,F +coef_female_and_tour_frequency_is_1,-0.9348,F +coef_female_and_tour_frequency_is_2,-1.3028,F +coef_female_and_tour_frequency_is_3,-2.266,F +coef_female_and_tour_frequency_is_4,-2.266,F +coef_female_and_tour_frequency_is_5,-2.266,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0.9688,F +coef_female_and_maintenance_tour,0.7424,F +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0.4954,F +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7965,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.1302,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0.224,F +coef_presence_of_non_worker_and_tour_frequency_is_2,0.2436,F +coef_presence_of_non_worker_and_tour_frequency_is_3,0.62,F +coef_presence_of_non_worker_and_tour_frequency_is_4,3.3742,F +coef_presence_of_non_worker_and_tour_frequency_is_5,3.3742,F +coef_presence_of_retiree_and_tour_frequency_is_1,-0.4458,F +coef_presence_of_retiree_and_tour_frequency_is_2,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_3,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_4,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_5,-0.5315,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.4903,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.5027,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,-0.3609,F +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.788,F +coef_presence_of_part_time_worker_and_eating_out_tour,-0.788,F +coef_presence_of_non_worker_and_eating_out_tour,-0.788,F +coef_presence_of_retiree_and_eating_out_tour,-0.9282,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.4835,F +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,-0.5603,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.0616,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.3992,F +coef_2_plus_escort_tours_constant,0.5175,F +coef_1_plus_shopping_tours_constant,0.5947,F +coef_1_plus_maintenance_tours_constant,0.1046,F +coef_1_plus_eating_out_tours_constant,0.0245,F +coef_1_plus_visting_tours_constant,0.2789,F +coef_1_plus_other_discretionary_tours_constant,0.4282,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv new file mode 100644 index 0000000000..fae10e51ff --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.4863,F +coef_total_number_of_tours_is_2,-10.718,F +coef_total_number_of_tours_is_3,-13.7884,F +coef_total_number_of_tours_is_4,-999,T +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-1.0331,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-2.7445,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.7445,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.6149,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.6149,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,-1.3476,F +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.5603,F +coef_mediumlow_income_group_and_tour_frequency_is_1,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_2,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0873,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.5197,F +coef_high_income_group_and_tour_frequency_is_1,2.0175,F +coef_high_income_group_and_tour_frequency_is_2,2.0175,F +coef_high_income_group_and_tour_frequency_is_3,2.0175,F +coef_high_income_group_and_tour_frequency_is_4,2.0175,F +coef_high_income_group_and_tour_frequency_is_5_plus,2.0175,F +coef_mediumlow_income_group_and_shopping_tour,-0.6506,F +coef_mediumhigh_income_group_and_shopping_tour,-0.6506,F +coef_high_income_group_and_shopping_tour,-0.6506,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,-0.701,F +coef_mediumhigh_income_group_and_eating_out_tour,-0.701,F +coef_high_income_group_and_eating_out_tour,-0.701,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0,T +coef_high_income_group_and_visiting_tour,0,T +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_2,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_3,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_4,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_5,0.2177,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.4439,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-0.2264,F +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,-0.645,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0.9365,F +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-1.3074,F +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0.7526,F +coef_presence_of_part_time_worker_and_discretionary_tour,0.3721,F +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0.0629,F +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0.0738,F +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0.4352,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.7551,F +coef_2_plus_escort_tours_constant,-0.0086,F +coef_1_plus_shopping_tours_constant,0.4783,F +coef_1_plus_maintenance_tours_constant,-0.506,F +coef_1_plus_eating_out_tours_constant,1.1145,F +coef_1_plus_visting_tours_constant,-0.4006,F +coef_1_plus_other_discretionary_tours_constant,0.4634,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv new file mode 100644 index 0000000000..7799e3e5d2 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-6.2138,F +coef_total_number_of_tours_is_2,-8.908,F +coef_total_number_of_tours_is_3,-12.3261,F +coef_total_number_of_tours_is_4,-15.8114,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.1852,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8753,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.6158,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3153,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-0.7351,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,-0.713,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0.6713,F +coef_logged_maximum_residual_window_tour_frequency_is_0,1.1858,F +coef_logged_maximum_residual_window_tour_frequency_is_1,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.4842,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.1109,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.3914,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,0.6137,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,0.6137,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0.6137,F +coef_high_income_group_and_tour_frequency_is_1,0.3986,F +coef_high_income_group_and_tour_frequency_is_2,0.8009,F +coef_high_income_group_and_tour_frequency_is_3,0.8254,F +coef_high_income_group_and_tour_frequency_is_4,0.8254,F +coef_high_income_group_and_tour_frequency_is_5_plus,0.8254,F +coef_mediumlow_income_group_and_shopping_tour,0.5693,F +coef_mediumhigh_income_group_and_shopping_tour,0.5693,F +coef_high_income_group_and_shopping_tour,0.5693,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,-0.7207,F +coef_high_income_group_and_eating_out_tour,-0.7207,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.3694,F +coef_high_income_group_and_visiting_tour,-0.3694,F +coef_female_and_tour_frequency_is_1,0.0973,F +coef_female_and_tour_frequency_is_2,0.2361,F +coef_female_and_tour_frequency_is_3,1.9002,F +coef_female_and_tour_frequency_is_4,1.9002,F +coef_female_and_tour_frequency_is_5,1.9002,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,-0.6568,F +coef_female_and_discretionary_tour,-0.3266,F +coef_zero_car_ownership_and_tour_frequency_is_1,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.581,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,-0.8506,F +coef_presence_of_non_worker_and_tour_frequency_is_2,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.1804,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.9961,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-1.9096,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-2.8469,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-2.8469,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-2.8469,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,-1.8213,F +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0.9489,F +coef_presence_of_pre_school_kid_and_escorting_tour,2.1465,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,-0.7728,F +coef_presence_of_part_time_worker_and_shopping_tour,-0.5199,F +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,1.3135,F +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0.3863,F +coef_presence_of_pre_school_kid_and_maintenance_tour,0.9694,F +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.5251,F +coef_presence_of_part_time_worker_and_eating_out_tour,-1.9795,F +coef_presence_of_non_worker_and_eating_out_tour,0,T +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,-0.6529,F +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.4833,F +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0.9781,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,-0.6542,F +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_2,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_3,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_4,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0664,F +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.0972,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0.0314,F +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0.1018,F +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0.094,F +coef_urban_and_tour_frequency_is_1,-1.1648,F +coef_urban_and_tour_frequency_is_2,-2.3177,F +coef_urban_and_tour_frequency_is_3,-2.5027,F +coef_urban_and_tour_frequency_is_4,-2.5027,F +coef_urban_and_tour_frequency_is_5_plus,-2.5027,F +coef_urban_and_escorting_tour,0.8516,F +coef_urban_and_shopping_tour,0.533,F +coef_urban_and_maintenance_tour,1.0316,F +coef_urban_and_eatingout_tour,0.68,F +coef_urban_and_discretionary_tour,0.9563,F +coef_1_escort_tour_constant,1.7028,F +coef_2_plus_escort_tours_constant,2.8379,F +coef_1_plus_shopping_tours_constant,1.8403,F +coef_1_plus_maintenance_tours_constant,0.3348,F +coef_1_plus_eating_out_tours_constant,2.0723,F +coef_1_plus_visting_tours_constant,1.2172,F +coef_1_plus_other_discretionary_tours_constant,1.3389,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_extension_probs.csv new file mode 100644 index 0000000000..ec78c4c8e7 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_extension_probs.csv @@ -0,0 +1,193 @@ +ptype,has_mandatory_tour,has_joint_tour,nonmandatory_tour_type,0_tours,1_tours,2_tours +1,0,0,1,0.829545455,1,1 +2,0,0,1,0.769230769,1,1 +3,0,0,1,0.893939394,1,1 +4,0,0,1,0.75,1,1 +5,0,0,1,0.842105263,1,1 +6,0,0,1,0.714285714,1,1 +7,0,0,1,0.814814815,1,1 +8,0,0,1,0.75,1,1 +1,1,0,1,0.789473684,1,1 +2,1,0,1,0.6,1,1 +3,1,0,1,1,1,1 +4,1,0,1,1,1,1 +5,1,0,1,0.825910931,1,1 +6,1,0,1,0.837209302,1,1 +7,1,0,1,0.6,1,1 +8,1,0,1,1,1,1 +1,0,1,1,0.842105263,1,1 +2,0,1,1,1,1,1 +3,0,1,1,1,1,1 +4,0,1,1,1,1,1 +5,0,1,1,1,1,1 +6,0,1,1,1,1,1 +7,0,1,1,1,1,1 +8,0,1,1,1,1,1 +1,1,1,1,1,1,1 +2,1,1,1,1,1,1 +3,1,1,1,1,1,1 +4,1,1,1,1,1,1 +5,1,1,1,0.777777778,1,1 +6,1,1,1,1,1,1 +7,1,1,1,1,1,1 +8,1,1,1,1,1,1 +1,0,0,2,0.892694064,0.99086758,1 +2,0,0,2,0.84057971,0.992753623,1 +3,0,0,2,0.971014493,1,1 +4,0,0,2,0.96969697,1,1 +5,0,0,2,0.870056497,0.994350282,1 +6,0,0,2,0.866666667,1,1 +7,0,0,2,0.971014493,1,1 +8,0,0,2,0.931034483,1,1 +1,1,0,2,0.885057471,1,1 +2,1,0,2,0.727272727,1,1 +3,1,0,2,0.971428571,1,1 +4,1,0,2,1,1,1 +5,1,0,2,0.895977809,0.993065187,1 +6,1,0,2,0.885185185,1,1 +7,1,0,2,1,1,1 +8,1,0,2,1,1,1 +1,0,1,2,0.910087719,0.993421053,1 +2,0,1,2,0.88,1,1 +3,0,1,2,0.8,1,1 +4,0,1,2,1,1,1 +5,0,1,2,1,1,1 +6,0,1,2,1,1,1 +7,0,1,2,1,1,1 +8,0,1,2,1,1,1 +1,1,1,2,1,1,1 +2,1,1,2,1,1,1 +3,1,1,2,1,1,1 +4,1,1,2,1,1,1 +5,1,1,2,1,1,1 +6,1,1,2,0.964912281,1,1 +7,1,1,2,1,1,1 +8,1,1,2,0.888888889,1,1 +1,0,0,3,0.935643564,0.997524752,1 +2,0,0,3,0.905660377,1,1 +3,0,0,3,0.978813559,1,1 +4,0,0,3,0.928571429,1,1 +5,0,0,3,0.901515152,0.992424242,1 +6,0,0,3,0.863636364,1,1 +7,0,0,3,0.947368421,1,1 +8,0,0,3,0.913043478,1,1 +1,1,0,3,0.893333333,0.986666667,1 +2,1,0,3,1,1,1 +3,1,0,3,1,1,1 +4,1,0,3,0.857142857,1,1 +5,1,0,3,0.916071429,0.996428571,1 +6,1,0,3,0.856382979,0.984042553,1 +7,1,0,3,1,1,1 +8,1,0,3,1,1,1 +1,0,1,3,0.916201117,0.991620112,1 +2,0,1,3,0.912280702,0.98245614,1 +3,0,1,3,1,1,1 +4,0,1,3,1,1,1 +5,0,1,3,1,1,1 +6,0,1,3,0.833333333,1,1 +7,0,1,3,0.961538462,1,1 +8,0,1,3,1,1,1 +1,1,1,3,0.97826087,0.989130435,1 +2,1,1,3,0.97260274,1,1 +3,1,1,3,1,1,1 +4,1,1,3,1,1,1 +5,1,1,3,0.995762712,1,1 +6,1,1,3,0.921568627,0.980392157,1 +7,1,1,3,1,1,1 +8,1,1,3,1,1,1 +1,0,0,4,0.9218107,0.995884774,1 +2,0,0,4,0.900900901,1,1 +3,0,0,4,0.997354497,1,1 +4,0,0,4,0.991176471,1,1 +5,0,0,4,0.921568627,0.980392157,1 +6,0,0,4,0.954545455,1,1 +7,0,0,4,1,1,1 +8,0,0,4,0.954545455,1,1 +1,1,0,4,0.941176471,0.970588235,1 +2,1,0,4,0.925925926,1,1 +3,1,0,4,1,1,1 +4,1,0,4,0.875,1,1 +5,1,0,4,0.915322581,1,1 +6,1,0,4,0.947674419,0.994186047,1 +7,1,0,4,0.666666667,1,1 +8,1,0,4,1,1,1 +1,0,1,4,0.925925926,0.987654321,1 +2,0,1,4,0.903703704,1,1 +3,0,1,4,1,1,1 +4,0,1,4,1,1,1 +5,0,1,4,1,1,1 +6,0,1,4,1,1,1 +7,0,1,4,1,1,1 +8,0,1,4,1,1,1 +1,1,1,4,1,1,1 +2,1,1,4,0.911111111,1,1 +3,1,1,4,1,1,1 +4,1,1,4,1,1,1 +5,1,1,4,1,1,1 +6,1,1,4,0.962962963,1,1 +7,1,1,4,1,1,1 +8,1,1,4,1,1,1 +1,0,0,5,0.976744186,1,1 +2,0,0,5,0.981818182,1,1 +3,0,0,5,0.985915493,1,1 +4,0,0,5,1,1,1 +5,0,0,5,1,1,1 +6,0,0,5,1,1,1 +7,0,0,5,1,1,1 +8,0,0,5,0.875,1,1 +1,1,0,5,1,1,1 +2,1,0,5,1,1,1 +3,1,0,5,0.964285714,1,1 +4,1,0,5,1,1,1 +5,1,0,5,0.985714286,1,1 +6,1,0,5,0.951807229,1,1 +7,1,0,5,1,1,1 +8,1,0,5,1,1,1 +1,0,1,5,0.926605505,1,1 +2,0,1,5,0.941176471,1,1 +3,0,1,5,1,1,1 +4,0,1,5,1,1,1 +5,0,1,5,1,1,1 +6,0,1,5,1,1,1 +7,0,1,5,1,1,1 +8,0,1,5,1,1,1 +1,1,1,5,1,1,1 +2,1,1,5,1,1,1 +3,1,1,5,0.972972973,1,1 +4,1,1,5,1,1,1 +5,1,1,5,1,1,1 +6,1,1,5,0.933333333,1,1 +7,1,1,5,1,1,1 +8,1,1,5,1,1,1 +1,0,0,6,0.93837535,0.988795518,1 +2,0,0,6,0.888888889,1,1 +3,0,0,6,0.966832504,0.998341625,1 +4,0,0,6,0.942028986,1,1 +5,0,0,6,0.88034188,1,1 +6,0,0,6,0.925925926,1,1 +7,0,0,6,0.967741935,1,1 +8,0,0,6,0.90625,1,1 +1,1,0,6,0.85915493,1,1 +2,1,0,6,0.818181818,0.96969697,1 +3,1,0,6,1,1,1 +4,1,0,6,0.952380952,1,1 +5,1,0,6,0.879237288,0.997881356,1 +6,1,0,6,0.862944162,0.984771574,1 +7,1,0,6,0.9,1,1 +8,1,0,6,1,1,1 +1,0,1,6,0.927835052,0.996563574,1 +2,0,1,6,0.859375,0.9921875,1 +3,0,1,6,1,1,1 +4,0,1,6,1,1,1 +5,0,1,6,0.92,1,1 +6,0,1,6,1,1,1 +7,0,1,6,0.904761905,1,1 +8,0,1,6,1,1,1 +1,1,1,6,0.982758621,1,1 +2,1,1,6,0.927710843,0.987951807,1 +3,1,1,6,0.982954545,1,1 +4,1,1,6,0.938679245,1,1 +5,1,1,6,1,1,1 +6,1,1,6,0.9375,1,1 +7,1,1,6,1,1,1 +8,1,1,6,1,1,1 diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_scheduling.yaml rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_scheduling.yaml diff --git a/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv new file mode 100644 index 0000000000..7a2b90d1c9 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv @@ -0,0 +1,4 @@ +Description,Target,Expression +destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, non_mandatory_tours.destination) < setting('cbd_threshold')) * 1" +#,, +,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), non_mandatory_tours.person_id)" diff --git a/activitysim/examples/prototype_mtc/configs/school_location.csv b/activitysim/examples/prototype_mtc/configs/school_location.csv new file mode 100644 index 0000000000..9448d12af2 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/school_location.csv @@ -0,0 +1,12 @@ +Label,Description,Expression,university,highschool,gradeschool +local_dist,,_DIST@skims['DIST'],1,1,1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 +util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 +util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 diff --git a/activitysim/examples/example_mtc/configs/school_location.yaml b/activitysim/examples/prototype_mtc/configs/school_location.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/school_location.yaml rename to activitysim/examples/prototype_mtc/configs/school_location.yaml diff --git a/activitysim/examples/example_mtc/configs/school_location_coefficients.csv b/activitysim/examples/prototype_mtc/configs/school_location_coefficients.csv similarity index 96% rename from activitysim/examples/example_mtc/configs/school_location_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/school_location_coefficients.csv index 4e4d638772..b9ef59c83f 100644 --- a/activitysim/examples/example_mtc/configs/school_location_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/school_location_coefficients.csv @@ -1,17 +1,17 @@ -coefficient_name,value,constrain -coef_univ_dist_0_1,-3.2451,F -coef_univ_dist_1_2,-2.7011,F -coef_univ_dist_2_5,-0.5707,F -coef_univ_dist_5_15,-0.5002,F -coef_univ_dist_15_up,-0.073,F -coef_high_dist_0_1,-0.9523,F -coef_high_grade_dist_1_2,-0.57,F -coef_high_grade_dist_2_5,-0.57,F -coef_high_dist_5_15,-0.193,F -coef_high_dist_15_up,-0.1882,F -coef_grade_dist_0_1,-1.6419,F -#coef_high_grade_dist_1_2,-0.57,F -#coef_high_grade_dist_2_5,-0.57,F -coef_grade_dist_5_15,-0.2031,F -coef_grade_dist_15_up,-0.046,F -coef_mode_logsum,0.5358,F +coefficient_name,value,constrain +coef_univ_dist_0_1,-3.2451,F +coef_univ_dist_1_2,-2.7011,F +coef_univ_dist_2_5,-0.5707,F +coef_univ_dist_5_15,-0.5002,F +coef_univ_dist_15_up,-0.073,F +coef_high_dist_0_1,-0.9523,F +coef_high_grade_dist_1_2,-0.57,F +coef_high_grade_dist_2_5,-0.57,F +coef_high_dist_5_15,-0.193,F +coef_high_dist_15_up,-0.1882,F +coef_grade_dist_0_1,-1.6419,F +#coef_high_grade_dist_1_2,-0.57,F +#coef_high_grade_dist_2_5,-0.57,F +coef_grade_dist_5_15,-0.2031,F +coef_grade_dist_15_up,-0.046,F +coef_mode_logsum,0.5358,F diff --git a/activitysim/examples/prototype_mtc/configs/school_location_sample.csv b/activitysim/examples/prototype_mtc/configs/school_location_sample.csv new file mode 100644 index 0000000000..d4f980e909 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/school_location_sample.csv @@ -0,0 +1,10 @@ +Label,Description,Expression,university,highschool,gradeschool +local_dist,,_DIST@skims['DIST'],1,1,1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 +util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 diff --git a/activitysim/examples/prototype_mtc/configs/settings.yaml b/activitysim/examples/prototype_mtc/configs/settings.yaml new file mode 100644 index 0000000000..6b1258bcce --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/settings.yaml @@ -0,0 +1,246 @@ +# input tables +# +# activitysim uses "well-known" index and foreign key names for imported tables (e.g. households, persons, land_use) +# as well as for created tables (tours, joint_tour_participants, trips) +# e.g. the households table must have an index column 'household_id' and the foreign key to households in the +# persons table is also household_id. This naming convention allows activitysim to intuit the relationship +# between tables - for instance, to ensure that multiprocess slicing includes all the persons, tours, and trips +# in the same subprocess pipeline. The same strategy is also when chunking choosers, and to support tracing by +# household_id. +# +# the input_table_list index_col directive instructs activitysim to set the imported table index to zone_id +# you cannot change the well-known name of the index by modifying this directive. However, if your input file +# has a different id column name, you can rename it to the required index name with the rename_columns directive. +# In the settings below, the 'TAZ' column in the imported table is renamed 'zone_id' in the rename_columns settings. +# +input_table_list: + # + # households (table index 'household_id') + # + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + HHID: household_id # household_id is the required index column + PERSONS: hhsize + workers: num_workers + VEHICL: auto_ownership + TAZ: home_zone_id + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + # + # persons (table index 'person_id') + # + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + PERID: person_id # person_id is the required index column + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + # + # land_use (table index 'zone_id') + # + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + TAZ: zone_id # person_id is the required index column + COUNTY: county_id + keep_columns: + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + - RESACRE + - CIACRE + - TOTEMP + - AGE0519 + - RETEMPN + - FPSEMPN + - HEREMPN + - OTHEMPN + - AGREMPN + - MWTEMPN + - PRKCST + - OPRKCST + - area_type + - HSENROLL + - COLLFTE + - COLLPTE + - TOPOLOGY + - TERMINAL + +# convert input CSVs to HDF5 format and save to outputs directory +# create_input_store: True + +#input_store: ../output/input_data.h5 + +# number of households to simulate +households_sample_size: 100 +# simulate all households +# households_sample_size: 0 + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +# log interaction simulate/sample expressions that return prohibitive utility values that exclude all alternatives +log_alt_losers: False + +# alternate dir to read/write cache (defaults to output_dir) +# used for skim cache, tvpb, and chunk_log caches +#cache_dir: data/cache + +############## +# +# chunking +# + +# chooser chunk size in gigabytes +# target top memory usage during activitysim run (including shared memory, loaded tables, and transient memory usage) +#chunk_size: 12_000_000_000 +chunk_size: 0 + +# minimum fraction of total chunk_size to reserve for adaptive chunking +min_available_chunk_ratio: 0.05 + +# initial number of chooser rows for first chunk in training mode +# when there is no pre-existing chunk_cache to set initial value +# ordinarily bigger is better as long as it is not so big it causes memory issues (e.g. accessibility with lots of zones) +default_initial_rows_per_chunk: 500 + +# method to calculate memory overhead when chunking is enabled +chunk_method: hybrid_uss + +# chunk training mode +# training to determine the chunking settings written to a cache file that is re-used for production runs +# training +# production +# disabled +# assume enough RAM to not chunk +chunk_training_mode: disabled + +# whether to preserve or delete subprocess chunk and mem logs when they are consolidated at end of multiprocess run +keep_chunk_logs: True +keep_mem_logs: True + +############## + +# - tracing + +# trace household id; comment out or leave empty for no trace +# households with all tour types +# [ 728370 1234067 1402924 1594625 1595333 1747572 1896849 1931818 2222690 2344951 2677154] +trace_hh_id: 982875 + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +# trace_od: [5, 11] +trace_od: + + + +# to resume after last successful checkpoint, specify resume_after: _ +#resume_after: trip_destination +resume_after: + +checkpoints: True +# if checkpoints is False, no intermediate checkpoints will be written before the end of run +# (or if multiprocessing, at the end of each multiprocess_step) +#checkpoints: False +# explicit list of models to checkpoint +#checkpoints: +# - mandatory_tour_scheduling +# - non_mandatory_tour_scheduling +# - trip_mode_choice + + +models: + - initialize_landuse + - initialize_households + - compute_accessibility + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + - write_data_dictionary + - track_skim_usage + - write_trip_matrices + - write_tables + - summarize + +output_tables: + h5_store: False + action: include + prefix: final_ + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - joint_tour_participants + +# area_types less than this are considered urban +urban_threshold: 4 +cbd_threshold: 2 +rural_threshold: 6 + +# - value of time +min_value_of_time: 1 +max_value_of_time: 50 +distributed_vot_mu: 0.684 +distributed_vot_sigma: 0.85 + +household_median_value_of_time: + 1: 6.01 + 2: 8.81 + 3: 10.44 + 4: 12.86 diff --git a/activitysim/examples/prototype_mtc/configs/shadow_pricing.yaml b/activitysim/examples/prototype_mtc/configs/shadow_pricing.yaml new file mode 100644 index 0000000000..b61ec41928 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/shadow_pricing.yaml @@ -0,0 +1,34 @@ +shadow_pricing_models: + school: school_location + workplace: workplace_location + +# global switch to enable/disable loading of saved shadow prices +# (ignored if global use_shadow_pricing switch is False) +LOAD_SAVED_SHADOW_PRICES: True + +# number of shadow price iterations for cold start +MAX_ITERATIONS: 10 + +# number of shadow price iterations for warm start (after loading saved shadow_prices) +MAX_ITERATIONS_SAVED: 1 + +# ignore criteria for zones smaller than size_threshold +SIZE_THRESHOLD: 10 + +# zone passes if modeled is within percent_tolerance of predicted_size +PERCENT_TOLERANCE: 5 + +# max percentage of zones allowed to fail +FAIL_THRESHOLD: 10 + +# CTRAMP or daysim +SHADOW_PRICE_METHOD: ctramp +#SHADOW_PRICE_METHOD: daysim + +# ctramp-style shadow_pricing_method parameters +DAMPING_FACTOR: 1 + +# daysim-style shadow_pricing_method parameters +# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? +DAYSIM_ABSOLUTE_TOLERANCE: 50 +DAYSIM_PERCENT_TOLERANCE: 10 diff --git a/activitysim/examples/prototype_mtc/configs/stop_frequency.yaml b/activitysim/examples/prototype_mtc/configs/stop_frequency.yaml new file mode 100644 index 0000000000..b12ff8f4b5 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/stop_frequency.yaml @@ -0,0 +1,77 @@ +LOGIT_TYPE: MNL + +preprocessor: + SPEC: stop_frequency_annotate_tours_preprocessor + DF: tours_merged + TABLES: + - persons + - land_use + - accessibility + +SEGMENT_COL: primary_purpose + +SPEC_SEGMENTS: + - primary_purpose: work + SPEC: stop_frequency_work.csv + COEFFICIENTS: stop_frequency_coefficients_work.csv + - primary_purpose: school + SPEC: stop_frequency_school.csv + COEFFICIENTS: stop_frequency_coefficients_school.csv + - primary_purpose: univ + SPEC: stop_frequency_univ.csv + COEFFICIENTS: stop_frequency_coefficients_univ.csv + - primary_purpose: social + SPEC: stop_frequency_social.csv + COEFFICIENTS: stop_frequency_coefficients_social.csv + - primary_purpose: shopping + SPEC: stop_frequency_shopping.csv + COEFFICIENTS: stop_frequency_coefficients_shopping.csv + - primary_purpose: eatout + SPEC: stop_frequency_eatout.csv + COEFFICIENTS: stop_frequency_coefficients_eatout.csv + - primary_purpose: escort + SPEC: stop_frequency_escort.csv + COEFFICIENTS: stop_frequency_coefficients_escort.csv + - primary_purpose: othmaint + SPEC: stop_frequency_othmaint.csv + COEFFICIENTS: stop_frequency_coefficients_othmaint.csv + - primary_purpose: othdiscr + SPEC: stop_frequency_othdiscr.csv + COEFFICIENTS: stop_frequency_coefficients_othdiscr.csv + - primary_purpose: atwork + SPEC: stop_frequency_atwork.csv + COEFFICIENTS: stop_frequency_coefficients_atwork.csv + +CONSTANTS: + TRANSIT_MODES: + - WALK_LOC + - WALK_LRF + - WALK_EXP + - WALK_HVY + - WALK_COM + - DRIVE_LOC + - DRIVE_LRF + - DRIVE_EXP + - DRIVE_HVY + - DRIVE_COM + DRIVE_TO_TRANSIT_MODES: + - DRIVE_LOC + - DRIVE_LRF + - DRIVE_EXP + - DRIVE_HVY + - DRIVE_COM + NONMOTORIZED_MODES: + - WALK + - BIKE + SHOP_TOUR: shopping + MAINT_TOUR: othmaint + SCHOOL_TOUR: school + EATOUT_TOUR: eatout + SOCIAL_TOUR: social + num_atwork_subtours_map: + no_subtours: 0 + eat: 1 + business1: 1 + maint: 1 + business2: 2 + eat_business: 2 diff --git a/activitysim/examples/prototype_mtc/configs/stop_frequency_alternatives.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_alternatives.csv new file mode 100644 index 0000000000..72f49a7c77 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/stop_frequency_alternatives.csv @@ -0,0 +1,18 @@ +#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,out,in +0out_0in,0,0 +0out_1in,0,1 +0out_2in,0,2 +0out_3in,0,3 +1out_0in,1,0 +1out_1in,1,1 +1out_2in,1,2 +1out_3in,1,3 +2out_0in,2,0 +2out_1in,2,1 +2out_2in,2,2 +2out_3in,2,3 +3out_0in,3,0 +3out_1in,3,1 +3out_2in,3,2 +3out_3in,3,3 diff --git a/activitysim/examples/prototype_mtc/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_annotate_tours_preprocessor.csv new file mode 100644 index 0000000000..d7b2f1d61f --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/stop_frequency_annotate_tours_preprocessor.csv @@ -0,0 +1,47 @@ +Description,Target,Expression +#,, +# define primary_purpose to use for slicing choosers with a value that identifies the spec to be used ,, +# e.g. univ segment means there will be a spec called stop_frequency_univ.csv,, +# so the 'school' tour_type can treat univ and non-univ school tours differently,, +,primary_purpose,"df.tour_type.where((df.tour_type != 'school') | ~df.is_university, 'univ')" +,primary_purpose,"primary_purpose.where(df.tour_category!='atwork', 'atwork')" +#,, +,distance_in_miles,od_skims['DIST'] +#,, +,is_joint,df.tour_category=='joint' +,_HH_PERSON_COUNT,"lambda exp, persons: persons.query(exp).groupby('household_id').size()" +,num_full,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_FULL, persons), df.household_id)" +,num_part,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_PART, persons), df.household_id)" +,num_student,"reindex_i(_HH_PERSON_COUNT('pstudent != %s' % PSTUDENT_NOT, persons), df.household_id)" +Num Kids between 0 and 4 (including) years old,num_age_0_4,"reindex_i(_HH_PERSON_COUNT('age < 5', persons), df.household_id)" +Num kids between 4 and 15 (including) years old,num_age_5_15,"reindex_i(_HH_PERSON_COUNT('(age >= 5) & (age <16)', persons), df.household_id)" +Number of Adults (>= 16 years old),num_adult,"reindex_i(_HH_PERSON_COUNT('age >= 16', persons), df.household_id)" +,more_cars_than_workers,df.auto_ownership >= (num_full + num_part) +,tour_mode_is_transit,df.tour_mode.isin(TRANSIT_MODES) +,tour_mode_is_drive_transit,df.tour_mode.isin(DRIVE_TO_TRANSIT_MODES) +,tour_mode_is_non_motorized,df.tour_mode.isin(NONMOTORIZED_MODES) +#,, +#num_work_tours already defined,, +school but not university,num_school_tours,"reindex_i(df[primary_purpose==SCHOOL_TOUR].groupby('person_id').size(), df.person_id)" +,num_univ_tours,(df.is_university) * num_school_tours +#num_escort_tours already defined,, +# indiv tour counts should not include joint tours by point_person,, +,num_shop_tours,"reindex_i(df[~is_joint & (df.tour_type==SHOP_TOUR)].groupby('person_id').size(), df.person_id)" +,num_maint_tours,"reindex_i(df[~is_joint & (df.tour_type==MAINT_TOUR)].groupby('person_id').size(), df.person_id)" +,num_eatout_tours,"reindex_i(df[~is_joint & (df.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" +,num_social_tours,"reindex_i(df[~is_joint & (df.tour_type==SOCIAL_TOUR)].groupby('person_id').size(), df.person_id)" +#,, +Number of subtours in the tour,num_atwork_subtours,"df.atwork_subtour_frequency.map(num_atwork_subtours_map, na_action='ignore').fillna(0).astype(np.int8)" +#,, +Number of hh shop tours including joint,num_hh_shop_tours,"reindex_i(df[df.tour_type==SHOP_TOUR].groupby('household_id').size(), df.person_id)" +Number of hh maint tours including joint,num_hh_maint_tours,"reindex_i(df[df.tour_type==MAINT_TOUR].groupby('household_id').size(), df.person_id)" +tourStartsInPeakPeriod,_tour_starts_in_peak,(network_los.skim_time_period_label(df.start) == 'AM') | (network_los.skim_time_period_label(df.start) == 'PM') +AccesibilityAtOrigin fallback,hhacc,0 +AccesibilityAtOrigin if transit,hhacc,"hhacc.where(~tour_mode_is_transit, df.trPkRetail.where(_tour_starts_in_peak, df.trOpRetail))" +AccesibilityAtOrigin if non_motorized,hhacc,"hhacc.where(~tour_mode_is_non_motorized, df.nmRetail)" +AccesibilityADestination fallback,pracc,0 +AccesibilityADestination peak transit,_dest_trPkRetail,"reindex(accessibility.trPkRetail, df.destination)" +AccesibilityADestination off-peak transit,_dest_trOpRetail,"reindex(accessibility.trOpRetail, df.destination)" +AccesibilityAtDestination if transit,pracc,"pracc.where(~tour_mode_is_transit, _dest_trPkRetail.where(_tour_starts_in_peak, _dest_trOpRetail))" +AccesibilityAtDestination if non_motorized,pracc,"pracc.where(~tour_mode_is_non_motorized, reindex(accessibility.nmRetail, df.destination))" +,destination_area_type,"reindex(land_use.area_type, df.destination)" diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_atwork.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_atwork.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_atwork.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_atwork.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_atwork.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_atwork.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_atwork.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_atwork.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_eatout.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_eatout.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_eatout.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_eatout.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_escort.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_escort.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_escort.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_escort.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_othdiscr.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_othdiscr.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_othdiscr.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_othdiscr.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_othmaint.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_othmaint.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_othmaint.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_othmaint.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_school.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_school.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_school.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_school.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_shopping.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_shopping.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_shopping.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_shopping.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_social.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_social.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_social.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_social.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_univ.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_univ.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_univ.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_univ.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_work.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_work.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_work.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_work.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_eatout.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_eatout.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_eatout.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_eatout.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_escort.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_escort.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_escort.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_escort.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_othdiscr.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_othdiscr.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_othdiscr.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_othdiscr.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_othmaint.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_othmaint.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_othmaint.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_othmaint.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_school.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_school.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_school.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_school.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_shopping.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_shopping.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_shopping.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_shopping.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_social.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_social.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_social.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_social.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_univ.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_univ.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_univ.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_univ.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_work.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_work.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_work.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_work.csv diff --git a/activitysim/examples/prototype_mtc/configs/summarize.csv b/activitysim/examples/prototype_mtc/configs/summarize.csv new file mode 100644 index 0000000000..b16fc9def5 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/summarize.csv @@ -0,0 +1,116 @@ +Description,Output,Expression +# These summaries are checked by test module +,households_count,persons_merged[['household_id']].nunique().rename('households') +,trips_by_mode_count,trips_merged.groupby('trip_mode')[['number_of_participants']].sum().T + +# Calculate total VMT by summing auto_distance from tours_merged +# (auto_distance is calculated by an expression in summarize_preprocessor.csv) +# Initially save as a temporary variable so it can be reused +,_total_vmt,trips_merged[['auto_distance']].sum() +# Then save to CSV +,total_vmt,_total_vmt.rename('vmt') + +# Calculate vmt per capita +# (All outputs to CSV have to be a Pandas Series or DataFrame) +,vmt_per_capita,"pd.Series(_total_vmt / len(persons_merged), name='vmt_per_capita')" + +# Calculate vmt per capita by home taz +,_vmt_per_home_taz,trips_merged.groupby('home_zone_id').auto_distance.sum() +,_person_per_home_taz,persons_merged.groupby('home_zone_id').size() +,_vmt_per_capita_by_home_taz,(_vmt_per_home_taz/_person_per_home_taz).fillna(0) +,vmt_per_capita_by_home_taz,_vmt_per_capita_by_home_taz.rename('vmt_per_capita_by_home_taz').reset_index() + +# Calculate vmt per capita by work taz +,_vmt_per_work_taz,trips_merged.groupby('workplace_zone_id').auto_distance.sum() +,_person_per_work_taz,persons_merged.groupby('workplace_zone_id').size() +,vmt_per_capita_by_work_taz,(_vmt_per_work_taz/_person_per_work_taz).fillna(0).rename('vmt_per_capita_by_work_taz').reset_index() + +# Count persons +,persons_count,persons_merged[['household_id']].count().rename('persons') + +# Count person-tours +,person_tours,"trips_merged[['tour_id', 'number_of_participants']].drop_duplicates()[['number_of_participants']].sum().rename('tours')" + +# Count person-trips +,person_trips,trips_merged[['number_of_participants']].sum().rename('trips') + +# Count tours +,tours_count,tours_merged.reset_index()[['tour_id']].count().rename('tours') + +# Count trips +,trips_count,trips_merged.reset_index()[['trip_id']].count().rename('trips') + +# Count tours per household +,_tours,"trips_merged[['tour_id', 'number_of_participants']].drop_duplicates()['number_of_participants'].sum()" +,_households,persons_merged['household_id'].nunique() +,tours_per_household_count,"pd.Series(_tours / _households, name='tours_per_household')" + +# Count trips per household +,_trips,trips_merged['number_of_participants'].sum() +,trips_per_household_count,"pd.Series(_trips / _households, name='trips_per_household')" + +# Count trips by major mode +#,trips_by_major_mode_count,trips_merged.groupby('major_trip_mode')[['number_of_participants']].sum().T + +# Count trips by income category and major mode +,_trips_with_income,"pd.merge(trips_merged, persons_merged['income_category'], left_on='person_id', right_index=True)" +,trip_by_income_category_major_mode,"_trips_with_income.groupby(['income_category', 'major_trip_mode']).size().unstack(-1).reset_index()" + +# Count trips by purpose +,trips_by_purpose_count,trips_merged.groupby('primary_purpose_trip')[['number_of_participants']].sum().T + +# Count trips by purpose and departure time +,trip_purpose_by_time_of_day,"trips_merged.groupby(['depart','primary_purpose_trip'])['number_of_participants'].sum().unstack(-1).reset_index()" + +# Count trips with each combination of tour mode and trip mode (for Sankey) +,tour_mode_to_trip_mode,"trips_merged.groupby(['tour_mode','trip_mode']).size().rename('trips').reset_index()" + +# Count work tours by time of day +,_work_tours,trips_merged[trips_merged['tour_type'] == 'work'] +,work_tours_tod_count,_work_tours.groupby('tour_id').depart.min().reset_index().groupby('depart').size().sort_index().rename('tours').reset_index() + +# Count school tours by time of day +,_school_tours,trips_merged[trips_merged['tour_type'] == 'school'] +,school_tours_tod_count,_school_tours.groupby('tour_id').depart.min().reset_index().groupby('depart').size().sort_index().rename('tours').reset_index() + +# Count non-manditory tours by time of day +,_non_mandatory_tours,trips_merged[trips_merged.tour_category == 'non_mandatory'] +,non_mandatory_tours_tod_count,_non_mandatory_tours.groupby('tour_id').depart.min().reset_index().groupby('depart').size().sort_index().rename('tours').reset_index() + +# TAZ population density quintiles +,_taz_pop_dens,land_use.TOTPOP/land_use.TOTACRE +,taz_population_density_quintiles,"quantiles(_taz_pop_dens, 5, '{rank}').rename('pop_dens_quintile').reset_index()" + +# Calculate share of taz population that is low income by decile +# (Output deciles by specifying '{rank}' as the label format in the quantile function) +,_low_income_pop_by_taz,persons_merged[persons_merged.income < 50000].groupby('home_zone_id').size() +,_total_pop_by_taz,persons_merged.groupby('home_zone_id').size() +,_proportion_low_income_by_taz,"_low_income_pop_by_taz / _total_pop_by_taz" +,_proportion_low_income_deciles,"quantiles(_proportion_low_income_by_taz, 10, '{rank}')" +,low_income_share_by_taz_deciles,"_proportion_low_income_deciles.rename('low_income_share_by_taz_deciles').reset_index()" + +# Count persons by income category +# (income_category is calculated by an expression in summarize_preprocessor.csv) +#,persons_by_income_category,persons_merged.groupby('income_category')[['income_category']].count().T + +# Calculate vmt per capita quintiles by taz +# (Output quintiles by specifying '{rank}' as the label format in the quantile function) +,_vmt_per_capita_quintiles,"quantiles(_vmt_per_capita_by_home_taz, 5, '{rank}')" +,vmt_per_capita_by_home_taz_quintiles,"_vmt_per_capita_quintiles.rename('vmt_per_capita_by_home_taz_quintiles').reset_index()" + +# Counts of non-motorized trips by 0.25-mile distance bins +,_non_motorized_distances,(trips_merged.walk_distance + trips_merged.bike_distance) +,_non_motorized_trips,trips_merged.major_trip_mode == 'Non-Motorized' +,_non_motorized_trip_distances,_non_motorized_distances[_non_motorized_trips] +,_counts_of_non_motorized_trips_by_distance_bin,"spaced_intervals(_non_motorized_trip_distances, 0, 0.25).value_counts()" +,non_motorized_trip_distance_bins,"_counts_of_non_motorized_trips_by_distance_bin.sort_index().rename('trips').reset_index()" + +# Counts of trips by income and travel time category +#,trips_by_income_and_travel_time_category,"trips_merged.groupby(['trip_income_category','total_time_category']).size().rename('trips').unstack(-2).reset_index()" + + + + + + + diff --git a/activitysim/examples/prototype_mtc/configs/summarize.yaml b/activitysim/examples/prototype_mtc/configs/summarize.yaml new file mode 100644 index 0000000000..cdf847e4a0 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/summarize.yaml @@ -0,0 +1,257 @@ +SPECIFICATION: summarize.csv +OUTPUT: summarize + +# Set to True to export pipeline tables for expression development +EXPORT_PIPELINE_TABLES: False + +preprocessor: + DF: trips_mergerd + SPEC: summarize_preprocessor.csv +# TABLES: + +persons_merged: + + BIN: + # Manually-specified bins + - column: income + label: income_category + type: manual_breaks + bin_breaks: + - 0 + - 25000 + - 50000 + - 75000 + - 100000 + - 999999 + bin_labels: + - Very Low Income ($0-$25k) + - Low Income ($25k-$50k) + - Medium Income ($50k-$75k) + - High Income ($75k-$100k) + - Very High Income (>$100k) + + # Breaks column into quantiles + - column: income + label: income_quintile + type: quantiles + bins: 5 + label_format: ${left:,.2f} - ${right:,.2f} # 'left' and 'right' are bin boundaries + + # Breaks column into bins with a specified width + - column: income + label: income_intervals_10000 + type: spaced_intervals + lower_bound: min # can be set to float + interval: 10000 + label_format: ${left:,.2f} - ${right:,.2f} # 'left' and 'right' are bin boundaries + + # Breaks column into equally-spaced bins between min and max values + - column: income + label: income_intervals_equal + type: equal_intervals + bins: 10 + label_format: ${left:,.2f} - ${right:,.2f} # 'left' and 'right' are bin boundaries + +trips_merged: + + BIN: + - column: income + label: trip_income_category # TODO: Figure out why this can't have the same name as a slicer for persons_merged + type: manual_breaks + bin_breaks: + - 0 + - 25000 + - 50000 + - 75000 + - 100000 + - 999999 + bin_labels: + - Very Low Income ($0-$25k) + - Low Income ($25k-$50k) + - Medium Income ($50k-$75k) + - High Income ($75k-$100k) + - Very High Income (>$100k) + + - column: total_time + label: total_time_category + type: spaced_intervals + lower_bound: 0 # can be set to float + interval: 5 + label_format: "{left:,.2f} - {right:,.2f}" # 'left' and 'right' are bin boundaries + + + AGGREGATE: + - column: trip_mode + label: major_trip_mode + map: + DRIVEALONEFREE: SOV + DRIVEALONEPAY: SOV + SHARED2FREE: HOV + SHARED2PAY: HOV + SHARED3FREE: HOV + SHARED3PAY: HOV + WALK_LOC: Transit + WALK_LRF: Transit + WALK_EXP: Transit + WALK_HVY: Transit + WALK_COM: Transit + DRIVE_LOC: Transit + DRIVE_LRF: Transit + DRIVE_EXP: Transit + DRIVE_HVY: Transit + DRIVE_COM: Transit + DRIVEACCESS: Transit + WALK: Non-Motorized + BIKE: Non-Motorized + TAXI: Ride Hail + TNC_SINGLE: Ride Hail + TNC_SHARED: Ride Hail + - column: trip_mode + label: major_access_trip_mode + map: + DRIVEALONEFREE: SOV + DRIVEALONEPAY: SOV + SHARED2FREE: HOV + SHARED2PAY: HOV + SHARED3FREE: HOV + SHARED3PAY: HOV + WALK_LOC: Walk to Transit + WALK_LRF: Walk to Transit + WALK_EXP: Walk to Transit + WALK_HVY: Walk to Transit + WALK_COM: Walk to Transit + DRIVE_LOC: Drive to Transit + DRIVE_LRF: Drive to Transit + DRIVE_EXP: Drive to Transit + DRIVE_HVY: Drive to Transit + DRIVE_COM: Drive to Transit + WALK: Non-Motorized + BIKE: Non-Motorized + TAXI: Ride Hail + TNC_SINGLE: Ride Hail + TNC_SHARED: Ride Hail + +# preprocessor: +# DF: trips_mergerd +# SPEC: summarize_preprocessor.csv +# # TABLES: + +# persons_merged: +# SLICERS: +# # Manually-specified bins +# - column: income +# label: income_category +# type: manual_breaks +# bin_breaks: +# - 0 +# - 25000 +# - 50000 +# - 75000 +# - 100000 +# - 999999 +# bin_labels: +# - Very Low Income ($0-$25k) +# - Low Income ($25k-$50k) +# - Medium Income ($50k-$75k) +# - High Income ($75k-$100k) +# - Very High Income (>$100k) + +# # Breaks column into quantiles +# - column: income +# label: income_quintile +# type: quantiles +# bins: 5 +# label_format: ${left:,.2f} - ${right:,.2f} # 'left' and 'right' are bin boundaries + +# # Breaks column into bins with a specified width +# - column: income +# label: income_intervals_10000 +# type: spaced_intervals +# lower_bound: min # can be set to float +# interval: 10000 +# label_format: ${left:,.2f} - ${right:,.2f} # 'left' and 'right' are bin boundaries + +# # Breaks column into equally-spaced bins between min and max values +# - column: income +# label: income_intervals_equal +# type: equal_intervals +# bins: 10 +# label_format: ${left:,.2f} - ${right:,.2f} # 'left' and 'right' are bin boundaries + +# trips_merged: +# SLICERS: +# - column: income +# label: trip_income_category # TODO: Figure out why this can't have the same name as a slicer for persons_merged +# type: manual_breaks +# bin_breaks: +# - 0 +# - 25000 +# - 50000 +# - 75000 +# - 100000 +# - 999999 +# bin_labels: +# - Very Low Income ($0-$25k) +# - Low Income ($25k-$50k) +# - Medium Income ($50k-$75k) +# - High Income ($75k-$100k) +# - Very High Income (>$100k) + +# - column: total_time +# label: total_time_category +# type: spaced_intervals +# lower_bound: 0 # can be set to float +# interval: 5 +# label_format: "{left:,.2f} - {right:,.2f}" # 'left' and 'right' are bin boundaries + + +# AGGREGATE: +# - column: trip_mode +# label: major_trip_mode +# map: +# DRIVEALONEFREE: SOV +# DRIVEALONEPAY: SOV +# SHARED2FREE: HOV +# SHARED2PAY: HOV +# SHARED3FREE: HOV +# SHARED3PAY: HOV +# WALK_LOC: Transit +# WALK_LRF: Transit +# WALK_EXP: Transit +# WALK_HVY: Transit +# WALK_COM: Transit +# DRIVE_LOC: Transit +# DRIVE_LRF: Transit +# DRIVE_EXP: Transit +# DRIVE_HVY: Transit +# DRIVE_COM: Transit +# DRIVEACCESS: Transit +# WALK: Non-Motorized +# BIKE: Non-Motorized +# TAXI: Ride Hail +# TNC_SINGLE: Ride Hail +# TNC_SHARED: Ride Hail +# - column: trip_mode +# label: major_access_trip_mode +# map: +# DRIVEALONEFREE: SOV +# DRIVEALONEPAY: SOV +# SHARED2FREE: HOV +# SHARED2PAY: HOV +# SHARED3FREE: HOV +# SHARED3PAY: HOV +# WALK_LOC: Walk to Transit +# WALK_LRF: Walk to Transit +# WALK_EXP: Walk to Transit +# WALK_HVY: Walk to Transit +# WALK_COM: Walk to Transit +# DRIVE_LOC: Drive to Transit +# DRIVE_LRF: Drive to Transit +# DRIVE_EXP: Drive to Transit +# DRIVE_HVY: Drive to Transit +# DRIVE_COM: Drive to Transit +# WALK: Non-Motorized +# BIKE: Non-Motorized +# TAXI: Ride Hail +# TNC_SINGLE: Ride Hail +# TNC_SHARED: Ride Hail diff --git a/activitysim/examples/prototype_mtc/configs/summarize_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/summarize_preprocessor.csv new file mode 100644 index 0000000000..cee7f449f7 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/summarize_preprocessor.csv @@ -0,0 +1,220 @@ +Description,Target,Expression + +## Constants +,_WALK_SPEED,3 +,_BIKE_SPEED,12 + +,_SHORT_WALK, 0.333 # miles + +,_SINGLE_TNC_WAIT_TIME, 8.4 # minutes +,_SHARED_TNC_WAIT_TIME, 11.0 # minutes +,_TAXI_WAIT_TIME, 13.3 # minutes + +,_TAXI_BASE_FARE, 2.20 # $ +,_TAXI_COST_PER_MILE, 2.30 # $ +,_TAXI_COST_PER_MINUTE, 0.10 # $ + +,_TNC_SINGLE_BASE_FARE, 2.20 # $ +,_TNC_SINGLE_COST_PER_MILE, 1.33 # $ +,_TNC_SINGLE_COST_PER_MINUTE, 0.24 # $ +,_TNC_SINGLE_COST_MINIMUM, 7.20 # $ + +,_TNC_SHARED_BASE_FARE, 2.20 # $ +,_TNC_SHARED_COST_PER_MILE, 0.53 # $ +,_TNC_SHARED_COST_PER_MINUTE, 0.10 # $ +,_TNC_SHARED_COST_MINIMUM, 3.00 # $ +,_TNC_SHARED_IVT_FACTOR, 1.5 # $ + +## Distances +# Auto distance +,_sov_dist,trip_odt_skims['SOV_DIST'] +,_hov2_dist,trip_odt_skims['HOV2_DIST'] +,_hov3_dist,trip_odt_skims['HOV3_DIST'] +,_sovtoll_dist,trip_odt_skims['SOVTOLL_DIST'] +,_hov2toll_dist,trip_odt_skims['HOV2TOLL_DIST'] +,_hov3toll_dist,trip_odt_skims['HOV3TOLL_DIST'] + +# Transit auto access/eggress distance (miles x 100) +,_drv_com_wlk_ddist,trip_odt_skims['DRV_COM_WLK_DDIST']/100 +,_drv_exp_wlk_ddist,trip_odt_skims['DRV_EXP_WLK_DDIST']/100 +,_drv_hvy_wlk_ddist,trip_odt_skims['DRV_HVY_WLK_DDIST']/100 +,_drv_loc_wlk_ddist,trip_odt_skims['DRV_LOC_WLK_DDIST']/100 +,_drv_lrf_wlk_ddist,trip_odt_skims['DRV_LRF_WLK_DDIST']/100 + +# Bike distance +,_bike_dist,trip_od_skims['DISTBIKE'] + +# Walk distance +,_walk_dist,trip_od_skims['DISTWALK'] + +## Times +# Auto time +,_sov_time,trip_odt_skims['SOV_TIME'] +,_hov2_time,trip_odt_skims['HOV2_TIME'] +,_hov3_time,trip_odt_skims['HOV3_TIME'] +,_sovtoll_time,trip_odt_skims['SOVTOLL_TIME'] +,_hov2toll_time,trip_odt_skims['HOV2TOLL_TIME'] +,_hov3toll_time,trip_odt_skims['HOV3TOLL_TIME'] + +# Transit vehicle time (minutes x 100) +,_drv_com_wlk_totivt,trip_odt_skims['DRV_COM_WLK_TOTIVT']/100 +,_drv_exp_wlk_totivt,trip_odt_skims['DRV_EXP_WLK_TOTIVT']/100 +,_drv_hvy_wlk_totivt,trip_odt_skims['DRV_HVY_WLK_TOTIVT']/100 +,_drv_loc_wlk_totivt,trip_odt_skims['DRV_LOC_WLK_TOTIVT']/100 +,_drv_lrf_wlk_totivt,trip_odt_skims['DRV_LRF_WLK_TOTIVT']/100 +,_wlk_com_wlk_totivt,trip_odt_skims['WLK_COM_WLK_TOTIVT']/100 +,_wlk_exp_wlk_totivt,trip_odt_skims['WLK_EXP_WLK_TOTIVT']/100 +,_wlk_hvy_wlk_totivt,trip_odt_skims['WLK_HVY_WLK_TOTIVT']/100 +,_wlk_loc_wlk_totivt,trip_odt_skims['WLK_LOC_WLK_TOTIVT']/100 +,_wlk_lrf_wlk_totivt,trip_odt_skims['WLK_LRF_WLK_TOTIVT']/100 + +# Initial wait time (IWAIT) +,_drv_com_wlk_iwait,trip_odt_skims['DRV_COM_WLK_IWAIT']/100 +,_drv_exp_wlk_iwait,trip_odt_skims['DRV_EXP_WLK_IWAIT']/100 +,_drv_hvy_wlk_iwait,trip_odt_skims['DRV_HVY_WLK_IWAIT']/100 +,_drv_loc_wlk_iwait,trip_odt_skims['DRV_LOC_WLK_IWAIT']/100 +,_drv_lrf_wlk_iwait,trip_odt_skims['DRV_LRF_WLK_IWAIT']/100 +,_wlk_com_wlk_iwait,trip_odt_skims['WLK_COM_WLK_IWAIT']/100 +,_wlk_exp_wlk_iwait,trip_odt_skims['WLK_EXP_WLK_IWAIT']/100 +,_wlk_hvy_wlk_iwait,trip_odt_skims['WLK_HVY_WLK_IWAIT']/100 +,_wlk_loc_wlk_iwait,trip_odt_skims['WLK_LOC_WLK_IWAIT']/100 +,_wlk_lrf_wlk_iwait,trip_odt_skims['WLK_LRF_WLK_IWAIT']/100 + +# Transfer wait time (XWAIT) +,_drv_com_wlk_xwait,trip_odt_skims['DRV_COM_WLK_XWAIT']/100 +,_drv_exp_wlk_xwait,trip_odt_skims['DRV_EXP_WLK_XWAIT']/100 +,_drv_hvy_wlk_xwait,trip_odt_skims['DRV_HVY_WLK_XWAIT']/100 +,_drv_loc_wlk_xwait,trip_odt_skims['DRV_LOC_WLK_XWAIT']/100 +,_drv_lrf_wlk_xwait,trip_odt_skims['DRV_LRF_WLK_XWAIT']/100 +,_wlk_com_wlk_xwait,trip_odt_skims['WLK_COM_WLK_XWAIT']/100 +,_wlk_exp_wlk_xwait,trip_odt_skims['WLK_EXP_WLK_XWAIT']/100 +,_wlk_hvy_wlk_xwait,trip_odt_skims['WLK_HVY_WLK_XWAIT']/100 +,_wlk_loc_wlk_xwait,trip_odt_skims['WLK_LOC_WLK_XWAIT']/100 +,_wlk_lrf_wlk_xwait,trip_odt_skims['WLK_LRF_WLK_XWAIT']/100 + +# Walk access time (WACC) (for all transit modes) +,_wlk_wacc,_SHORT_WALK / _WALK_SPEED * 60 # Constant assumption of short walk access + +# Auxiliary walk time (WAUX) +,_drv_com_wlk_waux,trip_odt_skims['DRV_COM_WLK_WAUX']/100 +,_drv_exp_wlk_waux,trip_odt_skims['DRV_EXP_WLK_WAUX']/100 +,_drv_hvy_wlk_waux,trip_odt_skims['DRV_HVY_WLK_WAUX']/100 +,_drv_loc_wlk_waux,trip_odt_skims['DRV_LOC_WLK_WAUX']/100 +,_drv_lrf_wlk_waux,trip_odt_skims['DRV_LRF_WLK_WAUX']/100 +,_wlk_com_wlk_waux,trip_odt_skims['WLK_COM_WLK_WAUX']/100 +,_wlk_exp_wlk_waux,trip_odt_skims['WLK_EXP_WLK_WAUX']/100 +,_wlk_hvy_wlk_waux,trip_odt_skims['WLK_HVY_WLK_WAUX']/100 +,_wlk_loc_wlk_waux,trip_odt_skims['WLK_LOC_WLK_WAUX']/100 +,_wlk_lrf_wlk_waux,trip_odt_skims['WLK_LRF_WLK_WAUX']/100 + +# Walk egress time (WEGR) (for all transit modes) +,_wlk_wegr,_SHORT_WALK / _WALK_SPEED * 60 # Constant assumption of short walk egress + +# Drive access/egress time (DTIM) +,_drv_com_wlk_dtim,trip_odt_skims['DRV_COM_WLK_DTIM']/100 +,_drv_exp_wlk_dtim,trip_odt_skims['DRV_EXP_WLK_DTIM']/100 +,_drv_hvy_wlk_dtim,trip_odt_skims['DRV_HVY_WLK_DTIM']/100 +,_drv_loc_wlk_dtim,trip_odt_skims['DRV_LOC_WLK_DTIM']/100 +,_drv_lrf_wlk_dtim,trip_odt_skims['DRV_LRF_WLK_DTIM']/100 + +## Costs +# Private auto tolls +# Bridge +,_sov_btoll,trip_odt_skims['SOV_BTOLL'] +,_hov2_btoll,trip_odt_skims['HOV2_BTOLL'] +,_hov3_btoll,trip_odt_skims['HOV3_BTOLL'] +,_sovtoll_btoll,trip_odt_skims['SOVTOLL_BTOLL'] +,_hov2toll_btoll,trip_odt_skims['HOV2TOLL_BTOLL'] +,_hov3toll_btoll,trip_odt_skims['HOV3TOLL_BTOLL'] +# Value +,_sovtoll_vtoll,trip_odt_skims['SOVTOLL_VTOLL'] +,_hov2toll_vtoll,trip_odt_skims['HOV2TOLL_VTOLL'] +,_hov3toll_vtoll,trip_odt_skims['HOV3TOLL_VTOLL'] + +# Transit fares +,_drv_com_wlk_far,trip_odt_skims['DRV_COM_WLK_FAR'] +,_drv_exp_wlk_far,trip_odt_skims['DRV_EXP_WLK_FAR'] +,_drv_hvy_wlk_far,trip_odt_skims['DRV_HVY_WLK_FAR'] +,_drv_loc_wlk_far,trip_odt_skims['DRV_LOC_WLK_FAR'] +,_drv_lrf_wlk_far,trip_odt_skims['DRV_LRF_WLK_FAR'] +,_wlk_com_wlk_far,trip_odt_skims['WLK_COM_WLK_FAR'] +,_wlk_exp_wlk_far,trip_odt_skims['WLK_EXP_WLK_FAR'] +,_wlk_hvy_wlk_far,trip_odt_skims['WLK_HVY_WLK_FAR'] +,_wlk_loc_wlk_far,trip_odt_skims['WLK_LOC_WLK_FAR'] +,_wlk_lrf_wlk_far,trip_odt_skims['WLK_LRF_WLK_FAR'] + +## Mode Indicators +# Private Auto +,_sov_mode,trips_merged['trip_mode'] == 'DRIVEALONEFREE' +,_hov2_mode,trips_merged['trip_mode'] == 'SHARED2FREE' +,_hov3_mode,trips_merged['trip_mode'] == 'SHARED3FREE' +,_sovtoll_mode,trips_merged['trip_mode'] == 'DRIVEALONEPAY' +,_hov2toll_mode,trips_merged['trip_mode'] == 'SHARED2PAY' +,_hov3toll_mode,trips_merged['trip_mode'] == 'SHARED3PAY' + +# Taxi/TNC +,_taxi_mode,trips_merged['trip_mode'] == 'TAXI' +,_tnc_single_mode,trips_merged['trip_mode'] == 'TNC_SINGLE' +,_tnc_shared_mode,trips_merged['trip_mode'] == 'TNC_SHARED' + +# Transit +,_drive_com_mode,trips_merged['trip_mode'] == 'DRIVE_COM' +,_drive_exp_mode,trips_merged['trip_mode'] == 'DRIVE_EXP' +,_drive_hvy_mode,trips_merged['trip_mode'] == 'DRIVE_HVY' +,_drive_loc_mode,trips_merged['trip_mode'] == 'DRIVE_LOC' +,_drive_lrf_mode,trips_merged['trip_mode'] == 'DRIVE_LRF' +,_walk_com_mode,trips_merged['trip_mode'] == 'WALK_COM' +,_walk_exp_mode,trips_merged['trip_mode'] == 'WALK_EXP' +,_walk_hvy_mode,trips_merged['trip_mode'] == 'WALK_HVY' +,_walk_loc_mode,trips_merged['trip_mode'] == 'WALK_LOC' +,_walk_lrf_mode,trips_merged['trip_mode'] == 'WALK_LRF' + +# Bike +,_bike_mode,trips_merged['trip_mode'] == 'BIKE' + +# Walk +,_walk_mode,trips_merged['trip_mode'] == 'WALK' + +### Calcs +## Time +# Auto +,_transit_auto_time,(_drive_com_mode * _drv_com_wlk_dtim) + (_drive_exp_mode * _drv_exp_wlk_dtim) + (_drive_hvy_mode * _drv_hvy_wlk_dtim) + (_drive_loc_mode * _drv_loc_wlk_dtim) + (_drive_lrf_mode * _drv_lrf_wlk_dtim) +,_tnc_single_time,(_tnc_single_mode * _hov2_time) +,_tnc_shared_time,(_tnc_shared_mode * _hov3_time * _TNC_SHARED_IVT_FACTOR) +,_taxi_time,(_taxi_mode * _hov2_time) +,auto_time,(_sov_mode * _sov_time) + (_hov2_mode * _hov2_time) + (_hov3_mode * _hov3_time) + (_sovtoll_mode * _sovtoll_time) + (_hov2toll_mode * _hov2toll_time) + (_hov3toll_mode * _hov3toll_time) + _transit_auto_time + _tnc_single_time + _tnc_shared_time + _taxi_time +# Transit Vehicle +,transit_vehicle_time,(_drive_com_mode * _drv_com_wlk_totivt) + (_drive_exp_mode * _drv_exp_wlk_totivt) + (_drive_hvy_mode * _drv_hvy_wlk_totivt) + (_drive_loc_mode * _drv_loc_wlk_totivt) + (_drive_lrf_mode * _drv_lrf_wlk_totivt) + (_walk_com_mode * _wlk_com_wlk_totivt) + (_walk_exp_mode * _wlk_exp_wlk_totivt) + (_walk_hvy_mode * _wlk_hvy_wlk_totivt) + (_walk_loc_mode * _wlk_loc_wlk_totivt) + (_walk_lrf_mode * _wlk_lrf_wlk_totivt) +# Wait +,_transit_initial_wait_time,(_drive_com_mode * _drv_com_wlk_iwait) + (_drive_exp_mode * _drv_exp_wlk_iwait) + (_drive_hvy_mode * _drv_hvy_wlk_iwait) + (_drive_loc_mode * _drv_loc_wlk_iwait) + (_drive_lrf_mode * _drv_lrf_wlk_iwait) + (_walk_com_mode * _wlk_com_wlk_iwait) + (_walk_exp_mode * _wlk_exp_wlk_iwait) + (_walk_hvy_mode * _wlk_hvy_wlk_iwait) + (_walk_loc_mode * _wlk_loc_wlk_iwait) + (_walk_lrf_mode * _wlk_lrf_wlk_iwait) +,_transit_transfer_wait_time,(_drive_com_mode * _drv_com_wlk_xwait) + (_drive_exp_mode * _drv_exp_wlk_xwait) + (_drive_hvy_mode * _drv_hvy_wlk_xwait) + (_drive_loc_mode * _drv_loc_wlk_xwait) + (_drive_lrf_mode * _drv_lrf_wlk_xwait) + (_walk_com_mode * _wlk_com_wlk_xwait) + (_walk_exp_mode * _wlk_exp_wlk_xwait) + (_walk_hvy_mode * _wlk_hvy_wlk_xwait) + (_walk_loc_mode * _wlk_loc_wlk_xwait) + (_walk_lrf_mode * _wlk_lrf_wlk_xwait) +,wait_time,_transit_initial_wait_time + _transit_transfer_wait_time + (_taxi_mode * _TAXI_WAIT_TIME) + (_tnc_single_mode * _SINGLE_TNC_WAIT_TIME) + (_tnc_shared_mode + _SHARED_TNC_WAIT_TIME) +# Walk +,_transit_walk_access_time,(_walk_com_mode * _wlk_wacc) + (_walk_exp_mode * _wlk_wacc) + (_walk_hvy_mode * _wlk_wacc) + (_walk_loc_mode * _wlk_wacc) + (_walk_lrf_mode * _wlk_wacc) +,_transit_walk_aux_time,(_drive_com_mode * _drv_com_wlk_waux) + (_drive_exp_mode * _drv_exp_wlk_waux) + (_drive_hvy_mode * _drv_hvy_wlk_waux) + (_drive_loc_mode * _drv_loc_wlk_waux) + (_drive_lrf_mode * _drv_lrf_wlk_waux) + (_walk_com_mode * _wlk_com_wlk_waux) + (_walk_exp_mode * _wlk_exp_wlk_waux) + (_walk_hvy_mode * _wlk_hvy_wlk_waux) + (_walk_loc_mode * _wlk_loc_wlk_waux) + (_walk_lrf_mode * _wlk_lrf_wlk_waux) +,_transit_walk_egress_time,(_drive_com_mode * _wlk_wegr) + (_drive_exp_mode * _wlk_wegr) + (_drive_hvy_mode * _wlk_wegr) + (_drive_loc_mode * _wlk_wegr) + (_drive_lrf_mode * _wlk_wegr) + (_walk_com_mode * _wlk_wegr) + (_walk_exp_mode * _wlk_wegr) + (_walk_hvy_mode * _wlk_wegr) + (_walk_loc_mode * _wlk_wegr) + (_walk_lrf_mode * _wlk_wegr) +,walk_time,(_walk_mode * _walk_dist / _WALK_SPEED * 60) + _transit_walk_access_time + _transit_walk_aux_time + _transit_walk_egress_time +# Bike +,bike_time,_bike_mode * _bike_dist / _BIKE_SPEED * 60 +# Total +,total_time,auto_time + transit_vehicle_time + wait_time + walk_time + bike_time + +## Distance +# Auto +,_tnc_single_distance,(_tnc_single_mode * _hov2_dist) +,_tnc_shared_distance,(_tnc_shared_mode * _hov3_dist) # Doesn't account for VMT savings from sharing +,_taxi_distance,(_taxi_mode * _hov2_dist) +,auto_distance,(_sov_mode * _sov_dist) + (_hov2_mode * _hov2_dist) + (_hov3_mode * _hov3_dist) + (_sovtoll_mode * _sovtoll_dist) + (_hov2toll_mode * _hov2toll_dist) + (_hov3toll_mode * _hov3toll_dist) + (_drive_com_mode * _drv_com_wlk_ddist) + (_drive_exp_mode * _drv_exp_wlk_ddist) + (_drive_hvy_mode * _drv_hvy_wlk_ddist) + (_drive_loc_mode * _drv_loc_wlk_ddist) + (_drive_lrf_mode * _drv_lrf_wlk_ddist) + _tnc_single_distance + _tnc_shared_distance + _taxi_distance +# Walk +,walk_distance,(walk_time / 60 * _WALK_SPEED) +# Bike +,bike_distance,_bike_mode * _bike_dist + +## Cost +,_transit_fare_cost,(_drive_com_mode * _drv_com_wlk_far) + (_drive_exp_mode * _drv_exp_wlk_far) + (_drive_hvy_mode * _drv_hvy_wlk_far) + (_drive_loc_mode * _drv_loc_wlk_far) + (_drive_lrf_mode * _drv_lrf_wlk_far) + (_walk_com_mode * _wlk_com_wlk_far) + (_walk_exp_mode * _wlk_exp_wlk_far) + (_walk_hvy_mode * _wlk_hvy_wlk_far) + (_walk_loc_mode * _wlk_loc_wlk_far) + (_walk_lrf_mode * _wlk_lrf_wlk_far) +,_tnc_single_cost,"_TNC_SINGLE_BASE_FARE + np.maximum((_tnc_single_distance * _TAXI_COST_PER_MILE) + (_tnc_single_time * _TNC_SINGLE_COST_PER_MINUTE), _TNC_SINGLE_COST_MINIMUM)" +,_tnc_shared_cost,"_TNC_SHARED_BASE_FARE + np.maximum((_tnc_shared_distance * _TNC_SINGLE_COST_PER_MILE) + (_tnc_shared_time * _TNC_SHARED_COST_PER_MINUTE), _TNC_SHARED_COST_MINIMUM)" +,_taxi_cost,_TAXI_BASE_FARE + (_taxi_distance * _TNC_SHARED_COST_PER_MILE) + (_taxi_time * _TAXI_COST_PER_MINUTE) +,fare_cost,_transit_fare_cost + _tnc_single_cost + _tnc_shared_cost + _taxi_cost +,toll_cost,(_sov_mode * _sov_btoll) + (_hov2_mode * _hov2_btoll) + (_hov3_mode * _hov3_btoll) + (_sovtoll_mode * _sovtoll_btoll) + (_sovtoll_mode * _sovtoll_vtoll) + (_hov2toll_mode * _hov2toll_btoll) + (_hov2toll_mode * _hov2toll_vtoll) + (_hov3toll_mode * _hov3toll_btoll) + (_hov3toll_mode * _hov3toll_vtoll) + (_tnc_single_mode * _hov2toll_vtoll) + (_tnc_shared_mode * _hov3toll_vtoll) + (_taxi_mode * _hov2toll_vtoll) +,total_cost,fare_cost + toll_cost diff --git a/activitysim/examples/prototype_mtc/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/prototype_mtc/configs/tour_departure_and_duration_alternatives.csv new file mode 100644 index 0000000000..bddab06b9d --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/tour_departure_and_duration_alternatives.csv @@ -0,0 +1,191 @@ +start,end +5,5 +5,6 +5,7 +5,8 +5,9 +5,10 +5,11 +5,12 +5,13 +5,14 +5,15 +5,16 +5,17 +5,18 +5,19 +5,20 +5,21 +5,22 +5,23 +6,6 +6,7 +6,8 +6,9 +6,10 +6,11 +6,12 +6,13 +6,14 +6,15 +6,16 +6,17 +6,18 +6,19 +6,20 +6,21 +6,22 +6,23 +7,7 +7,8 +7,9 +7,10 +7,11 +7,12 +7,13 +7,14 +7,15 +7,16 +7,17 +7,18 +7,19 +7,20 +7,21 +7,22 +7,23 +8,8 +8,9 +8,10 +8,11 +8,12 +8,13 +8,14 +8,15 +8,16 +8,17 +8,18 +8,19 +8,20 +8,21 +8,22 +8,23 +9,9 +9,10 +9,11 +9,12 +9,13 +9,14 +9,15 +9,16 +9,17 +9,18 +9,19 +9,20 +9,21 +9,22 +9,23 +10,10 +10,11 +10,12 +10,13 +10,14 +10,15 +10,16 +10,17 +10,18 +10,19 +10,20 +10,21 +10,22 +10,23 +11,11 +11,12 +11,13 +11,14 +11,15 +11,16 +11,17 +11,18 +11,19 +11,20 +11,21 +11,22 +11,23 +12,12 +12,13 +12,14 +12,15 +12,16 +12,17 +12,18 +12,19 +12,20 +12,21 +12,22 +12,23 +13,13 +13,14 +13,15 +13,16 +13,17 +13,18 +13,19 +13,20 +13,21 +13,22 +13,23 +14,14 +14,15 +14,16 +14,17 +14,18 +14,19 +14,20 +14,21 +14,22 +14,23 +15,15 +15,16 +15,17 +15,18 +15,19 +15,20 +15,21 +15,22 +15,23 +16,16 +16,17 +16,18 +16,19 +16,20 +16,21 +16,22 +16,23 +17,17 +17,18 +17,19 +17,20 +17,21 +17,22 +17,23 +18,18 +18,19 +18,20 +18,21 +18,22 +18,23 +19,19 +19,20 +19,21 +19,22 +19,23 +20,20 +20,21 +20,22 +20,23 +21,21 +21,22 +21,23 +22,22 +22,23 +23,23 \ No newline at end of file diff --git a/activitysim/examples/example_sandag/configs_2_zone/tour_departure_and_duration_segments.csv b/activitysim/examples/prototype_mtc/configs/tour_departure_and_duration_segments.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_2_zone/tour_departure_and_duration_segments.csv rename to activitysim/examples/prototype_mtc/configs/tour_departure_and_duration_segments.csv diff --git a/activitysim/examples/prototype_mtc/configs/tour_mode_choice.csv b/activitysim/examples/prototype_mtc/configs/tour_mode_choice.csv new file mode 100644 index 0000000000..5bd4898e03 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/tour_mode_choice.csv @@ -0,0 +1,344 @@ +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, +#,Walk,,,,,,,,,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +#,Bike,,,,,,,,,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, +#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +#, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, +#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, +#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, +#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, +#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, +#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, +#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, +util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, +#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, +util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, +#,Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,coef_ivt,, + util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.totalWaitTaxi,,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,,,,,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,,,,,,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,,,,,local_bus_ASC,,,,,,, +util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, +util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, +util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, +util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, +util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, +util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, +util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, +util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, +util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, +#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, +util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, +#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_mtc/configs/tour_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_mode_choice.yaml rename to activitysim/examples/prototype_mtc/configs/tour_mode_choice.yaml diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients.csv new file mode 100644 index 0000000000..9693953808 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients.csv @@ -0,0 +1,308 @@ +coefficient_name,value,constrain +coef_one,1,T +coef_nest_root,1.00,T +coef_nest_AUTO,0.72,T +coef_nest_AUTO_DRIVEALONE,0.35,T +coef_nest_AUTO_SHAREDRIDE2,0.35,T +coef_nest_AUTO_SHAREDRIDE3,0.35,T +coef_nest_NONMOTORIZED,0.72,T +coef_nest_TRANSIT,0.72,T +coef_nest_TRANSIT_WALKACCESS,0.5,T +coef_nest_TRANSIT_DRIVEACCESS,0.5,T +coef_nest_RIDEHAIL,0.36,T +coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F +coef_ivt_school_univ,-0.0224,F +coef_ivt_work,-0.0134,F +coef_ivt_atwork,-0.0188,F +coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F +coef_topology_walk_multiplier_atwork,7.5,F +coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F +coef_topology_bike_multiplier_atwork,10,F +coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F +coef_topology_trn_multiplier_atwork,2,F +coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age1619_da_multiplier_school_univ,-1.3813,F +coef_age1619_da_multiplier_atwork,0.0032336,F +coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age010_trn_multiplier_school_univ,-1.5548,F +coef_age010_trn_multiplier_atwork,0.000722,F +coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F +coef_age16p_sr_multiplier_school_univ_work_atwork,0,F +coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F +coef_hhsize1_sr_multiplier_work,-0.734588,F +coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F +coef_hhsize2_sr_multiplier_school_univ,-0.6359,F +walk_ASC_no_auto_eatout,5.1251173,F +walk_ASC_no_auto_escort,2.8012068,F +walk_ASC_no_auto_othdiscr,3.2665946,F +walk_ASC_no_auto_othmaint,1.287299,F +walk_ASC_no_auto_school,18.414557,F +walk_ASC_no_auto_shopping,2.3768773,F +walk_ASC_no_auto_social,1.8680915,F +walk_ASC_no_auto_univ,6.408967,F +walk_ASC_no_auto_work,5.7672157,F +walk_ASC_no_auto_atwork,6.669213,F +walk_ASC_auto_deficient_eatout,3.274605,F +walk_ASC_auto_deficient_escort,-0.90204656,F +walk_ASC_auto_deficient_othdiscr,2.2494075,F +walk_ASC_auto_deficient_othmaint,1.3690404,F +walk_ASC_auto_deficient_school,3.2573624,F +walk_ASC_auto_deficient_shopping,2.2701733,F +walk_ASC_auto_deficient_social,2.870184,F +walk_ASC_auto_deficient_univ,4.50591,F +walk_ASC_auto_deficient_work,2.4010417,F +walk_ASC_auto_deficient_atwork,0.92546093,F +walk_ASC_auto_sufficient_eatout,1.5516903,F +walk_ASC_auto_sufficient_escort,-0.8116066,F +walk_ASC_auto_sufficient_othdiscr,1.2633476,F +walk_ASC_auto_sufficient_othmaint,0.7999634,F +walk_ASC_auto_sufficient_school,0.6476856,F +walk_ASC_auto_sufficient_shopping,0.7312663,F +walk_ASC_auto_sufficient_social,1.7072186,F +walk_ASC_auto_sufficient_univ,1.0607665,F +walk_ASC_auto_sufficient_work,0.053265337,F +walk_ASC_auto_sufficient_atwork,0.677216,F +bike_ASC_no_auto_eatout,0.86807096,F +bike_ASC_no_auto_escort,-0.716212,F +bike_ASC_no_auto_othdiscr,-0.3764232,F +bike_ASC_no_auto_othmaint,1.5394334,F +bike_ASC_no_auto_school,12.098735,F +bike_ASC_no_auto_shopping,0.8341555,F +bike_ASC_no_auto_social,0.02058321,F +bike_ASC_no_auto_univ,4.2945156,F +bike_ASC_no_auto_work,3.1940088,F +bike_ASC_no_auto_atwork,-0.90725845,F +bike_ASC_auto_deficient_eatout,-1.5691106,F +bike_ASC_auto_deficient_escort,-4.527928,F +bike_ASC_auto_deficient_othdiscr,-0.09246834,F +bike_ASC_auto_deficient_othmaint,-1.5184649,F +bike_ASC_auto_deficient_school,-0.5280678,F +bike_ASC_auto_deficient_shopping,-0.87584466,F +bike_ASC_auto_deficient_social,0.6345214,F +bike_ASC_auto_deficient_univ,-0.669235,F +bike_ASC_auto_deficient_work,0.25318968,F +bike_ASC_auto_deficient_atwork,-0.8074083,F +bike_ASC_auto_sufficient_eatout,-1.2003471,F +bike_ASC_auto_sufficient_escort,-5.0631084,F +bike_ASC_auto_sufficient_othdiscr,-1.0714597,F +bike_ASC_auto_sufficient_othmaint,-2.8083024,F +bike_ASC_auto_sufficient_school,-2.1134686,F +bike_ASC_auto_sufficient_shopping,-2.5662103,F +bike_ASC_auto_sufficient_social,-1.368071,F +bike_ASC_auto_sufficient_univ,-1.9397832,F +bike_ASC_auto_sufficient_work,-1.5800232,F +bike_ASC_auto_sufficient_atwork,15.72017,F +sr2_ASC_no_auto_all,0,F +sr2_ASC_auto_deficient_eatout,0.5882345,F +sr2_ASC_auto_deficient_escort,0,F +sr2_ASC_auto_deficient_othdiscr,0.6601513,F +sr2_ASC_auto_deficient_othmaint,0.2621527,F +sr2_ASC_auto_deficient_school,0.12474365,F +sr2_ASC_auto_deficient_shopping,0.24409756,F +sr2_ASC_auto_deficient_social,1.8558528,F +sr2_ASC_auto_deficient_univ,-1.6922346,F +sr2_ASC_auto_deficient_work,-0.33803123,F +sr2_ASC_auto_deficient_atwork,-2.1102421,F +sr2_ASC_auto_sufficient_eatout,0.86280555,F +sr2_ASC_auto_sufficient_escort,0,F +sr2_ASC_auto_sufficient_othdiscr,0.49684617,F +sr2_ASC_auto_sufficient_othmaint,0.25817883,F +sr2_ASC_auto_sufficient_school,-1.6062657,F +sr2_ASC_auto_sufficient_shopping,0.19770707,F +sr2_ASC_auto_sufficient_social,0.5236025,F +sr2_ASC_auto_sufficient_univ,-1.859427,F +sr2_ASC_auto_sufficient_work,-1.0857458,F +sr2_ASC_auto_sufficient_atwork,-1.4450618,F +sr3p_ASC_no_auto_eatout,0.3219998,F +sr3p_ASC_no_auto_escort,-1.8129267,F +sr3p_ASC_no_auto_othdiscr,0.27216902,F +sr3p_ASC_no_auto_othmaint,-0.8031854,F +sr3p_ASC_no_auto_school,-6.0240827,F +sr3p_ASC_no_auto_shopping,-0.27978948,F +sr3p_ASC_no_auto_social,-1.4036902,F +sr3p_ASC_no_auto_univ,-6.056001,F +sr3p_ASC_no_auto_work,-0.5831269,F +sr3p_ASC_no_auto_atwork,0.5826626,F +sr3p_ASC_auto_deficient_eatout,0.04605236,F +sr3p_ASC_auto_deficient_escort,-0.40818766,F +sr3p_ASC_auto_deficient_othdiscr,1.0470966,F +sr3p_ASC_auto_deficient_othmaint,-1.3493925,F +sr3p_ASC_auto_deficient_school,0.7149571,F +sr3p_ASC_auto_deficient_shopping,-0.073370166,F +sr3p_ASC_auto_deficient_social,1.5007243,F +sr3p_ASC_auto_deficient_univ,-1.7277422,F +sr3p_ASC_auto_deficient_work,-0.8527042,F +sr3p_ASC_auto_deficient_atwork,-2.514658,F +sr3p_ASC_auto_sufficient_eatout,0.8468596,F +sr3p_ASC_auto_sufficient_escort,-0.05741253,F +sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F +sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F +sr3p_ASC_auto_sufficient_school,-1.0201935,F +sr3p_ASC_auto_sufficient_shopping,-0.077571295,F +sr3p_ASC_auto_sufficient_social,0.50617886,F +sr3p_ASC_auto_sufficient_univ,-1.9047098,F +sr3p_ASC_auto_sufficient_work,-1.4699702,F +sr3p_ASC_auto_sufficient_atwork,-1.652174,F +walk_transit_ASC_no_auto_eatout,2.5936368,F +walk_transit_ASC_no_auto_escort,-2.2172081,F +walk_transit_ASC_no_auto_othdiscr,2.2437785,F +walk_transit_ASC_no_auto_othmaint,2.5643456,F +walk_transit_ASC_no_auto_school,21.383749,F +walk_transit_ASC_no_auto_shopping,2.1067476,F +walk_transit_ASC_no_auto_social,1.3814651,F +walk_transit_ASC_no_auto_univ,8.786037,F +walk_transit_ASC_no_auto_work,5.0354166,F +walk_transit_ASC_no_auto_atwork,2.7041876,F +walk_transit_ASC_auto_deficient_eatout,-0.03896324,F +walk_transit_ASC_auto_deficient_escort,-4.960704,F +walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F +walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F +walk_transit_ASC_auto_deficient_school,4.120708,F +walk_transit_ASC_auto_deficient_shopping,-0.8476569,F +walk_transit_ASC_auto_deficient_social,0.97444487,F +walk_transit_ASC_auto_deficient_univ,3.1362555,F +walk_transit_ASC_auto_deficient_work,0.65302855,F +walk_transit_ASC_auto_deficient_atwork,-2.9988291,F +walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F +walk_transit_ASC_auto_sufficient_escort,-4.934847,F +walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F +walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F +walk_transit_ASC_auto_sufficient_school,0.74590874,F +walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F +walk_transit_ASC_auto_sufficient_social,-0.3453759,F +walk_transit_ASC_auto_sufficient_univ,0.4731163,F +walk_transit_ASC_auto_sufficient_work,-0.8916507,F +walk_transit_ASC_auto_sufficient_atwork,-3.401027,F +drive_transit_ASC_no_auto_all,0,F +drive_transit_ASC_auto_deficient_eatout,0.5998061,F +drive_transit_ASC_auto_deficient_escort,-1.1537067,F +drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F +drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F +drive_transit_ASC_auto_deficient_school,5.3252654,F +drive_transit_ASC_auto_deficient_shopping,-0.41849178,F +drive_transit_ASC_auto_deficient_social,1.5627195,F +drive_transit_ASC_auto_deficient_univ,1.8501176,F +drive_transit_ASC_auto_deficient_work,0.10081567,F +drive_transit_ASC_auto_deficient_atwork,-998.8196,F +drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F +drive_transit_ASC_auto_sufficient_escort,-4.6014247,F +drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F +drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F +drive_transit_ASC_auto_sufficient_school,1.40135,F +drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F +drive_transit_ASC_auto_sufficient_social,-0.61585575,F +drive_transit_ASC_auto_sufficient_univ,1.3587753,F +drive_transit_ASC_auto_sufficient_work,-1.0045459,F +drive_transit_ASC_auto_sufficient_atwork,-999.21466,F +taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F +taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F +taxi_ASC_no_auto_school_univ,-7,T +taxi_ASC_no_auto_work,4.7291,F +taxi_ASC_no_auto_atwork,4.1021,F +taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F +taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F +taxi_ASC_auto_deficient_school,-0.3338,F +taxi_ASC_auto_deficient_univ,4.2492,F +taxi_ASC_auto_deficient_work,-1.4766,F +taxi_ASC_auto_deficient_atwork,-4.4046,F +taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F +taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F +taxi_ASC_auto_sufficient_school,-2.4294,F +taxi_ASC_auto_sufficient_univ,-0.3131,F +taxi_ASC_auto_sufficient_work,-4.8509,F +taxi_ASC_auto_sufficient_atwork,-2.8804,F +tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F +tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F +tnc_single_ASC_no_auto_school,-7,T +tnc_single_ASC_no_auto_univ,-2.519,F +tnc_single_ASC_no_auto_work,5.7855,F +tnc_single_ASC_no_auto_atwork,4.4982,F +tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F +tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F +tnc_single_ASC_auto_deficient_school,-0.5524,F +tnc_single_ASC_auto_deficient_univ,1.0221,F +tnc_single_ASC_auto_deficient_work,-0.8013,F +tnc_single_ASC_auto_deficient_atwork,-3.7626,F +tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F +tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F +tnc_single_ASC_auto_sufficient_school,-2.8375,F +tnc_single_ASC_auto_sufficient_univ,0.2088,F +tnc_single_ASC_auto_sufficient_work,-4.1946,F +tnc_single_ASC_auto_sufficient_atwork,-2.7988,F +tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F +tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F +tnc_shared_ASC_no_auto_school,-7,T +tnc_shared_ASC_no_auto_univ,-5.8116,F +tnc_shared_ASC_no_auto_work,3.2429,F +tnc_shared_ASC_no_auto_atwork,3.3672,F +tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F +tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F +tnc_shared_ASC_auto_deficient_school,-1.4746,F +tnc_shared_ASC_auto_deficient_univ,3.25,F +tnc_shared_ASC_auto_deficient_work,-2.1435,F +tnc_shared_ASC_auto_deficient_atwork,-4.5089,F +tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F +tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F +tnc_shared_ASC_auto_sufficient_school,-3.7219,F +tnc_shared_ASC_auto_sufficient_univ,-0.9068,F +tnc_shared_ASC_auto_sufficient_work,-5.3575,F +tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F +joint_walk_ASC_no_auto_all,-0.21274701,F +joint_walk_ASC_auto_deficient_all,-1.9607706,F +joint_walk_ASC_auto_sufficient_all,-3.2352157,F +joint_bike_ASC_no_auto_all,-2.8671598,F +joint_bike_ASC_auto_deficient_all,-6.076415,F +joint_bike_ASC_auto_sufficient_all,-6.3760657,F +joint_sr2_ASC_no_auto_all,0,T +joint_sr2_ASC_auto_deficient_all,0,T +joint_sr2_ASC_auto_sufficient_all,0,T +joint_sr3p_ASC_no_auto_all,0.5630671,F +joint_sr3p_ASC_auto_deficient_all,-1.8841692,F +joint_sr3p_ASC_auto_sufficient_all,-2.234826,F +joint_walk_transit_ASC_no_auto_all,0.62292415,F +joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F +joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F +joint_drive_transit_ASC_no_auto_all,0,T +joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F +joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F +joint_taxi_ASC_no_auto_all,-4.5792,F +joint_taxi_ASC_auto_deficient_all,-9.8157,F +joint_taxi_ASC_auto_sufficient_all,-11.7099,T +joint_tnc_single_ASC_no_auto_all,-4.4917,F +joint_tnc_single_ASC_auto_deficient_all,-9.8961,F +joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T +joint_tnc_shared_ASC_no_auto_all,-4.3002,F +joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F +joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T +local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F +local_bus_ASC_school_univ,-0.06508621,F +local_bus_ASC_work,0.06689507,F +walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +walk_light_rail_ASC_school_univ,1.6814003,F +walk_light_rail_ASC_work,0.8255567,F +drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +drive_light_rail_ASC_school_univ,1.6814003,F +drive_light_rail_ASC_work,0.8255567,F +walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +walk_ferry_ASC_school_univ,2.0202317,F +walk_ferry_ASC_work,0.93322605,F +drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +drive_ferry_ASC_school_univ,2.0202317,F +drive_ferry_ASC_work,0.93322605,F +express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F +express_bus_ASC_school_univ,0.32496938,F +express_bus_ASC_work,-0.5165474,F +heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F +heavy_rail_ASC_school_univ,0.96200377,F +heavy_rail_ASC_work,0.64772975,F +commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F +commuter_rail_ASC_school_univ,1.0336206,F +commuter_rail_ASC_work,0.725503,F +walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +walk_transit_CBD_ASC_school_univ,0.672,F +walk_transit_CBD_ASC_work,0.804,F +walk_transit_CBD_ASC_atwork,0.564,F +drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +drive_transit_CBD_ASC_school_univ,0.672,F +drive_transit_CBD_ASC_work,1.1,F +drive_transit_CBD_ASC_atwork,0.564,F diff --git a/activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients_template.csv b/activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients_template.csv new file mode 100644 index 0000000000..b1b009a3f0 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients_template.csv @@ -0,0 +1,87 @@ +coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork +#same for all segments,,,,,,,,,, +coef_one,,,,,,,,,, +coef_nest_root,,,,,,,,,, +coef_nest_AUTO,,,,,,,,,, +coef_nest_AUTO_DRIVEALONE,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, +coef_nest_NONMOTORIZED,,,,,,,,,, +coef_nest_TRANSIT,,,,,,,,,, +coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, +coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, +coef_nest_RIDEHAIL,,,,,,,,,, +#,,,,,,,,,, +coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork +coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork +coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork +coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork +coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork +coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork +coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork +coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork +coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork +walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork +walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork +walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork +bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork +bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork +bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork +sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all +sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork +sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork +sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork +sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork +sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork +walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork +walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork +walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork +drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all +drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork +drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork +taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork +taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork +taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork +tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork +tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork +tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork +tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork +tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork +tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork +joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all +joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all +joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all +joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all +joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all +joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all +joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all +joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all +joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all +joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all +joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all +joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all +joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all +joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all +joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all +joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all +joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all +joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all +joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all +joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all +joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all +joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all +joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all +joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all +joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all +joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all +joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all +local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork +drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork diff --git a/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork.csv new file mode 100644 index 0000000000..22abaf2fd3 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork.csv @@ -0,0 +1,59 @@ +Label,Description,Expression,Coefficient +#,Departure Constants,, +util_early_start_at_5,Early start at 5,start < 6,coef_early_start_at_5 +util_am_peak_start_at_6,AM peak start at 6,start == 6,coef_am_peak_start_at_6 +util_am_peak_start_at_7,AM peak start at 7,start == 7,coef_am_peak_start_at_7 +util_am_peak_start_at_8,AM peak start at 8,start == 8,coef_am_peak_start_at_8 +util_am_peak_start_at_9,AM peak start at 9,start == 9,coef_am_peak_start_at_9 +util_midday_start_at_10_11_12,Midday start at 10/11/12,(start > 9) & (start < 13),coef_midday_start_at_10_11_12 +util_midday_start_at_13_14_15,Midday start at 13/14/15,(start > 12) & (start < 16),coef_midday_start_at_13_14_15 +util_pm_peak_start_at_16_17_18,PM peak start at 16/17/18,(start > 15) & (start < 19),coef_pm_peak_start_at_16_17_18 +util_evening_start_at_19_20_21,Evening start at 19/20/21,(start > 18) & (start < 22),coef_evening_start_at_19_20_21 +util_late_start_at_22_23,Late start at 22/23,start > 21,coef_late_start_at_22_23 +#,Arrival Constants,, +util_early_end_at_5_6,Early end at 5/6 ,end < 7,coef_early_end_at_5_6 +util_am_peak_end,AM peak end,(end > 6) & (end < 10),coef_am_peak_end +util_midday_end_at_10_11_12,Midday end at 10/11/12,(end > 9) & (end < 13),coef_midday_end_at_10_11_12 +util_midday_end_at_13_14,Midday end at 13/14,(end > 12) & (end < 15),coef_midday_end_at_13_14 +util_pm_peak_end_at_15,PM peak end at 15,end == 15,coef_pm_peak_end_at_15 +util_pm_peak_end_at_16,PM peak end at 16,end == 16,coef_pm_peak_end_at_16 +util_pm_peak_end_at_17,PM peak end at 17,end == 17,coef_pm_peak_end_at_17 +util_pm_peak_end_at_18,PM peak end at 18,end == 18,coef_pm_peak_end_at_18 +util_evening_end_at_19_20_21,Evening end at 19/20/21,(end > 18) & (end < 22),coef_evening_end_at_19_20_21 +util_late_end_at_22_23,Late end at 22/23,end > 21,coef_late_end_at_22_23 +#,,, +util_duration_of_0_hours,Duration of 0 hours,duration==0,coef_duration_of_0_hours +util_duration_of_1_hour,Duration of 1 hour,duration==1,coef_duration_of_1_hour +util_duration_of_2_to_3_hours,Duration of 2 to 3 hours,(duration >=1) and (duration <= 4),coef_duration_of_2_to_3_hours +util_duration_of_4_to_5_hours,Duration of 4 to 5 hours,(duration >=4) and (duration <=5),coef_duration_of_4_to_5_hours +util_duration_of_6_to_7_hours,Duration of 6 to 7 hours,(duration >=6) and (duration <=7),coef_duration_of_6_to_7_hours +util_duration_of_8_to_10_hours,Duration of 8 to 10 hours,(duration >=8) and (duration <=10),coef_duration_of_8_to_10_hours +util_duration_of_11_to_13_hours,Duration of 11 to 13 hours,(duration >=11) and (duration <=13),coef_duration_of_11_to_13_hours +util_duration_of_14_to_18_hours,Duration of 14 to 18 hours,(duration >=14) and (duration <=18),coef_duration_of_14_to_18_hours +#,,, +util_start_shift_for_outbound_auto_travel_time_off_peak,Start shift for outbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd, time_cap)",coef_start_shift_for_outbound_auto_travel_time_off_peak +util_start_shift_for_inbound_auto_travel_time_off_peak,Start shift for inbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd_t, time_cap)",coef_start_shift_for_inbound_auto_travel_time_off_peak +util_duration_shift_for_outbound_auto_travel_time_off_peak,Duration shift for outbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd, time_cap)",coef_duration_shift_for_outbound_auto_travel_time_off_peak +util_duration_shift_for_inbound_auto_travel_time_off_peak,Duration shift for inbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd_t, time_cap)",coef_duration_shift_for_inbound_auto_travel_time_off_peak +#,,, +util_start_shift_for_business_related_,Start shift for business-related sub-tour purpose,(tour_type == 'business') * start,coef_start_shift_for_business_related_ +util_duration_shift_for_business_related_,Duration shift for business-related sub-tour purpose,(tour_type == 'business') * duration,coef_duration_shift_for_business_related_ +util_start_shift_for_first_sub_tour_of_same_work_tour,Start shift for first sub-tour of the same work tour,(tour_type_num == 1) * start,coef_start_shift_for_first_sub_tour_of_same_work_tour +util_duration_shift_for_first_sub_tour_of_same_work_tour,Duration shift for first sub-tour of the same work tour,(tour_type_num == 1) * duration,coef_duration_shift_for_first_sub_tour_of_same_work_tour +util_start_shift_for_subsequent_sub_tour_of_same_work_tour,Start shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * start,coef_start_shift_for_subsequent_sub_tour_of_same_work_tour +util_duration_shift_for_subsequent_sub_tour_of_same_work_tour,Duration shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * duration,coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour +util_start_shift_for_number_of_mandatory_tours,Start shift for number of mandatory tours made by the person,start * num_mand,coef_start_shift_for_number_of_mandatory_tours +util_duration_shift_for_number_of_mandatory_tours,Duration shift for number of mandatory tours made by the person,duration * num_mand,coef_duration_shift_for_number_of_mandatory_tours +util_start_shift_for_number_of_joint_tours,Start shift for number of joint tours in which the person participated,start * num_joint_tours,coef_start_shift_for_number_of_joint_tours +util_duration_shift_for_number_of_joint_tours,Duration shift for number of joint tours in which the person participated,duration * num_joint_tours,coef_duration_shift_for_number_of_joint_tours +util_start_shift_for_number_of_individual_nonmandatory_tours,Start shift for number of individual nonm tours (including escort) made by the person,start * num_non_mand,coef_start_shift_for_number_of_individual_nonmandatory_tours +util_duration_shift_for_number_of_individual_nonmandatory_tours,Duration shift for number of individual nonm tours (including escort) made by the person,duration * num_non_mand,coef_duration_shift_for_number_of_individual_nonmandatory_tours +#,,, +util_dummy_for_business_related_purpose_and_duration_from_0_to_1,Dummy for business-related purpose and duration from 0 to 1,(tour_type == 'business') & (duration <=1),coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 +util_dummy_for_eating_out_purpose_and_duration_of_1_hour,Dummy for eating-out purpose and duration of 1 hour,(tour_type == 'business') & (duration ==1),coef_dummy_for_eating_out_purpose_and_duration_of_1_hour +util_dummy_for_eating_out_purpose_and_departure_at_11,Dummy for eating-out purpose and departure at 11,(tour_type == 'business') & (start == 11),coef_dummy_for_eating_out_purpose_and_departure_at_11 +util_dummy_for_eating_out_purpose_and_departure_at_12,Dummy for eating-out purpose and departure at 12,(tour_type == 'business') & (start == 12),coef_dummy_for_eating_out_purpose_and_departure_at_12 +util_dummy_for_eating_out_purpose_and_departure_at_13,Dummy for eating-out purpose and departure at 13,(tour_type == 'business') & (start == 13),coef_dummy_for_eating_out_purpose_and_departure_at_13 +#,,, +#,Mode Choice Logsum,mode_choice_logsum, +#,,, \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_atwork.yaml b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_atwork.yaml rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork.yaml diff --git a/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_coefficients.csv new file mode 100644 index 0000000000..dd09d225d4 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_coefficients.csv @@ -0,0 +1,50 @@ +coefficient_name,value,constrain +coef_early_start_at_5,-7.765548476,F +coef_am_peak_start_at_6,-6.156717827,F +coef_am_peak_start_at_7,-4.061708142,F +coef_am_peak_start_at_8,-2.330535201,F +coef_am_peak_start_at_9,-1.881593386,F +coef_midday_start_at_10_11_12,0,T +coef_midday_start_at_13_14_15,-0.77502158,F +coef_pm_peak_start_at_16_17_18,-0.227528489,F +coef_evening_start_at_19_20_21,-1.015090023,F +coef_late_start_at_22_23,-0.737570054,F +coef_early_end_at_5_6,-2.928312295,F +coef_am_peak_end,-2.928312295,F +coef_midday_end_at_10_11_12,-2.297264374,F +coef_midday_end_at_13_14,0,T +coef_pm_peak_end_at_15,-0.578344457,F +coef_pm_peak_end_at_16,-1.09408722,F +coef_pm_peak_end_at_17,-1.1658466,F +coef_pm_peak_end_at_18,-1.496131081,F +coef_evening_end_at_19_20_21,-2.31998226,F +coef_late_end_at_22_23,-2.31998226,F +coef_duration_of_0_hours,-0.906681512,F +coef_duration_of_1_hour,0,T +coef_duration_of_2_to_3_hours,-1.362175802,F +coef_duration_of_4_to_5_hours,-0.819617616,F +coef_duration_of_6_to_7_hours,1.088111072,F +coef_duration_of_8_to_10_hours,1.734038505,F +coef_duration_of_11_to_13_hours,0.3,F +coef_duration_of_14_to_18_hours,0,T +coef_start_shift_for_outbound_auto_travel_time_off_peak,0.00065,F +coef_start_shift_for_inbound_auto_travel_time_off_peak,0.00065,F +coef_duration_shift_for_outbound_auto_travel_time_off_peak,0.00981,F +coef_duration_shift_for_inbound_auto_travel_time_off_peak,0.00981,F +coef_start_shift_for_business_related_,-0.1113,F +coef_duration_shift_for_business_related_,0.2646,F +coef_start_shift_for_first_sub_tour_of_same_work_tour,-0.5433,F +coef_duration_shift_for_first_sub_tour_of_same_work_tour,-0.3992,F +coef_start_shift_for_subsequent_sub_tour_of_same_work_tour,-0.1844,F +coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour,-0.1844,F +coef_start_shift_for_number_of_mandatory_tours,-0.0193,F +coef_duration_shift_for_number_of_mandatory_tours,-0.7702,F +coef_start_shift_for_number_of_joint_tours,-0.0206,F +coef_duration_shift_for_number_of_joint_tours,-0.2497,F +coef_start_shift_for_number_of_individual_nonmandatory_tours,-0.0128,F +coef_duration_shift_for_number_of_individual_nonmandatory_tours,-0.0422,F +coef_dummy_for_business_related_purpose_and_duration_from_0_to_1,-1.543,F +coef_dummy_for_eating_out_purpose_and_duration_of_1_hour,0.3999,F +coef_dummy_for_eating_out_purpose_and_departure_at_11,1.511,F +coef_dummy_for_eating_out_purpose_and_departure_at_12,2.721,F +coef_dummy_for_eating_out_purpose_and_departure_at_13,2.122,F diff --git a/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_preprocessor.csv new file mode 100644 index 0000000000..5c9c77403c --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_preprocessor.csv @@ -0,0 +1,3 @@ +Description,Target,Expression +,sovtimemd,"od_skims[('SOV_TIME', 'MD')]" +,sovtimemd_t,"od_skims.reverse(('SOV_TIME', 'MD'))" diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_joint.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_joint.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_joint.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_joint.csv diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_joint_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_joint_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_joint_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_joint_coefficients.csv diff --git a/activitysim/examples/prototype_mtc/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_nonmandatory.csv new file mode 100644 index 0000000000..e81bddda6e --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_nonmandatory.csv @@ -0,0 +1,96 @@ +Label,Description,Expression,Coefficient +util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,(tour_type == 'shopping') * start,coef_shopping_tour_departure_shift_effects +util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,(tour_type == 'shopping') * duration,coef_shopping_tour_duration_shift_effects +util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * start,coef_maintenance_tour_departure_shift_effects +util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * duration,coef_maintenance_tour_duration_shift_effects +util_visit_tour_departure_shift_effects_start,Visit tour - departure shift effects,(tour_type == 'social') * start,coef_visit_tour_departure_shift_effects +util_visit_tour_duration_shift_effects_duration,Visit tour - departure shift effects,(tour_type == 'social') * duration,coef_visit_tour_duration_shift_effects +util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,(tour_type == 'eatout') * start,coef_eat_out_tour_departure_shift_effects +util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects +util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects +util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects +util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects +util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects +util_number_of_escort_tours_departure_shift_effects,Number of escort tours - departure shift effects,num_escort_tours * start,coef_number_of_escort_tours_departure_shift_effects +util_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,Number of idividual non-mandatory tours (excluding escort) - departure shift effects,num_non_escort_tours * start,coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects +util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect +util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect +util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,(tour_type == 'othmaint') & (start < 7),coef_maintenance_tour_depart_before_7 +util_shopping_tour_depart_before_8,Shopping tour - depart before 8,(tour_type == 'shopping') & (start < 8),coef_shopping_tour_depart_before_8 +util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,(tour_type == 'shopping') & (end > 22),coef_shopping_tour_arrive_after_22 +util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 +util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 +util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,(tour_type == 'shopping') & (duration < 2),coef_shopping_tour_duration_lt_2_hours +util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,(tour_type == 'othdiscr') & (duration < 2),coef_discretionary_tour_duration_lt_2_hours +util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 +#,,, +#,Mode Choice Logsum,mode_choice_logsum,#mode_choice_logsum +#,,,# +util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour +util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,Remaining individual non-mandatory tours to be scheduled / number of unscheduled hours,"@((1.0 + df.tour_count - df.tour_num)) / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours +#,#,,# +util_departure_constants_early,Departure Constants -- Early (up to 5),(tour_type != 'escort') & (start < 6),coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),(tour_type != 'escort') & (start == 6),coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),(tour_type != 'escort') & (start == 7),coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),(tour_type != 'escort') & (start == 8),coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),(tour_type != 'escort') & (start == 9),coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(tour_type != 'escort') & (start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(tour_type != 'escort') & (start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(tour_type != 'escort') & (start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),(tour_type != 'escort') & (start > 21),coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),(tour_type != 'escort') & (end < 7),coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(tour_type != 'escort') & (end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(tour_type != 'escort') & (end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),(tour_type != 'escort') & (end == 15),coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),(tour_type != 'escort') & (end == 16),coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),(tour_type != 'escort') & (end == 17),coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),(tour_type != 'escort') & (end == 18),coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(tour_type != 'escort') & (end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),(tour_type != 'escort') & (end > 21),coef_arrival_constants_late +util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,(tour_type != 'escort') & (duration < 2),coef_duration_constants_0_to_1_hours +util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,(tour_type != 'escort') & (duration > 1) & (duration < 4),coef_duration_constants_2_to_3_hours +util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,(tour_type != 'escort') & (duration > 3) & (duration < 6),coef_duration_constants_4_to_5_hours +util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,(tour_type != 'escort') & (duration > 5) & (duration < 8),coef_duration_constants_6_to_7_hours +util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,(tour_type != 'escort') & (duration > 7) & (duration < 11),coef_duration_constants_8_to_10_hours +util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,(tour_type != 'escort') & (duration > 10) & (duration < 14),coef_duration_constants_11_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(tour_type != 'escort') & (duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours +util_escort_tour_departure_constants_early,Escort Tour Departure Constants -- Early (up to 5),(tour_type == 'escort') & (start < 6),coef_escort_tour_departure_constants_early +util_escort_tour_departure_constants_am_peak_1,Escort Tour Departure Constants -- AM peak 1 (6),(tour_type == 'escort') & (start == 6),coef_escort_tour_departure_constants_am_peak_1 +util_escort_tour_departure_constants_am_peak_2,Escort Tour Departure Constants -- AM peak 2 (7),(tour_type == 'escort') & (start == 7),coef_escort_tour_departure_constants_am_peak_2 +util_escort_tour_departure_constants_am_peak_3,Escort Tour Departure Constants -- AM peak 3 (8),(tour_type == 'escort') & (start == 8),coef_escort_tour_departure_constants_am_peak_3 +util_escort_tour_departure_constants_am_peak_4,Escort Tour Departure Constants -- AM peak 4 (9),(tour_type == 'escort') & (start == 9),coef_escort_tour_departure_constants_am_peak_4 +util_escort_tour_departure_constants_midday_1,Escort Tour Departure Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (start > 9) & (start < 13),coef_escort_tour_departure_constants_midday_1 +util_escort_tour_departure_constants_midday_2,Escort Tour Departure Constants -- Midday 2 (13 to 15),(tour_type == 'escort') & (start > 12) & (start < 16),coef_escort_tour_departure_constants_midday_2 +util_escort_tour_departure_constants_pm_peak,Escort Tour Departure Constants -- PM peak (16 to 18),(tour_type == 'escort') & (start > 15) & (start < 19),coef_escort_tour_departure_constants_pm_peak +util_escort_tour_departure_constants_evening,Escort Tour Departure Constants -- Evening (19 to 21),(tour_type == 'escort') & (start > 18) & (start < 22),coef_escort_tour_departure_constants_evening +util_escort_tour_departure_constants_late,Escort Tour Departure Constants -- Late (22 and later),(tour_type == 'escort') & (start > 21),coef_escort_tour_departure_constants_late +util_escort_tour_arrival_constants_early,Escort Tour Arrival Constants -- Early (up to 6),(tour_type == 'escort') & (end < 7),coef_escort_tour_arrival_constants_early +util_escort_tour_arrival_constants_am_peak,Escort Tour Arrival Constants -- AM peak (7 to 9),(tour_type == 'escort') & (end > 6) & (end < 10),coef_escort_tour_arrival_constants_am_peak +util_escort_tour_arrival_constants_midday_1,Escort Tour Arrival Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (end > 9) & (end < 13),coef_escort_tour_arrival_constants_midday_1 +util_escort_tour_arrival_constants_midday_2,Escort Tour Arrival Constants -- Midday 2 (13 to 14),(tour_type == 'escort') & (end > 12) & (end < 15),coef_escort_tour_arrival_constants_midday_2 +util_escort_tour_arrival_constants_pm_peak_1,Escort Tour Arrival Constants -- PM peak 1 (15),(tour_type == 'escort') & (end == 15),coef_escort_tour_arrival_constants_pm_peak_1 +util_escort_tour_arrival_constants_pm_peak_2,Escort Tour Arrival Constants -- PM peak 2 (16),(tour_type == 'escort') & (end == 16),coef_escort_tour_arrival_constants_pm_peak_2 +util_escort_tour_arrival_constants_pm_peak_3,Escort Tour Arrival Constants -- PM peak 3 (17),(tour_type == 'escort') & (end == 17),coef_escort_tour_arrival_constants_pm_peak_3 +util_escort_tour_arrival_constants_pm_peak_4,Escort Tour Arrival Constants -- PM peak 4 (18),(tour_type == 'escort') & (end == 18),coef_escort_tour_arrival_constants_pm_peak_4 +util_escort_tour_arrival_constants_evening,Escort Tour Arrival Constants -- Evening (19 to 21),(tour_type == 'escort') & (end > 18) & (end < 22),coef_escort_tour_arrival_constants_evening +util_escort_tour_arrival_constants_late,Escort Tour Arrival Constants -- Late (22 and later),(tour_type == 'escort') & (end > 21),coef_escort_tour_arrival_constants_late +util_escort_tour_duration_constants_0_to_1_hours,Escort Tour Duration Constants -- 0 to 1 hours,(tour_type == 'escort') & (duration < 2),coef_escort_tour_duration_constants_0_to_1_hours +util_escort_tour_duration_constants_2_to_3_hours,Escort Tour Duration Constants -- 2 to 3 hours,(tour_type == 'escort') & (duration > 1) & (duration < 4),coef_escort_tour_duration_constants_2_to_3_hours +util_escort_tour_duration_constants_4_to_5_hours,Escort Tour Duration Constants -- 4 to 5 hours,(tour_type == 'escort') & (duration > 3) & (duration < 6),coef_escort_tour_duration_constants_4_to_5_hours +util_escort_tour_duration_constants_6_to_7_hours,Escort Tour Duration Constants -- 6 to 7 hours,(tour_type == 'escort') & (duration > 5) & (duration < 8),coef_escort_tour_duration_constants_6_to_7_hours +util_escort_tour_duration_constants_8_to_10_hours,Escort Tour Duration Constants -- 8 to 10 hours,(tour_type == 'escort') & (duration > 7) & (duration < 11),coef_escort_tour_duration_constants_8_to_10_hours +util_escort_tour_duration_constants_11_to_13_hours,Escort Tour Duration Constants -- 11 to 13 hours,(tour_type == 'escort') & (duration > 10) & (duration < 14),coef_escort_tour_duration_constants_11_to_13_hours +util_escort_tour_duration_constants_14_to_18_hours,Escort Tour Duration Constants -- 14 to 18 hours,(tour_type == 'escort') & (duration > 13) & (duration < 19),coef_escort_tour_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_nonmandatory_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_nonmandatory_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_nonmandatory_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_nonmandatory_coefficients.csv diff --git a/activitysim/examples/prototype_mtc/configs/tour_scheduling_school.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_school.csv new file mode 100644 index 0000000000..4c34c1edce --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_school.csv @@ -0,0 +1,62 @@ +Label,Description,Expression,Coefficient +util_roundtrip_auto_time_to_work,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_roundtrip_auto_time_to_work +util_ft_worker_departure,Full-time worker departure shift effects,(ptype == 1) * start,coef_ft_worker_departure +util_ft_worker_duration,Full-time worker duration shift effects,(ptype == 1) * duration,coef_ft_worker_duration +util_non_worker_departure,Non-working adult departure shift effects,(ptype == 4) * start,coef_non_worker_departure +util_univ_departure,University student departure shift effects,(ptype == 3) * start,coef_univ_departure +util_univ_duration,University student duration shift effects,(ptype == 3) * duration,coef_univ_duration +util_student_driver_duration,Student driving age duration shift effects,(ptype == 7) * duration,coef_student_driver_duration +util_all_adults_ft_worker_duration,All adults work full time- duration,(num_workers == hhsize) * duration,coef_all_adults_ft_worker_duration +util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends +util_first_of_2plus_school_tours_departure,First of 2+ school/univ. tours- departure,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_school_tours_departure +util_first_of_2plus_school_tours_duration,First of 2+ school/univ. tours- duration,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_school_tours_duration +util_subsequent_2plus_school_tours_duration,Subsequent of 2+ school/univ. tours- duration,(tour_num > 1) * duration,coef_subsequent_2plus_school_tours_duration +util_hh_income_early_departure,Household income -- Early departure interaction,(income_in_thousands >= 100) & (start < 6),coef_hh_income_early_departure +util_hh_income_late_arrival,Household income -- Late arrival interaction,(income_in_thousands >= 100) & (end > 22),coef_hh_income_late_arrival +util_first_of_2plus_school_lt_6_hours,First of 2+ school/univ tours- duration<6 hrs,(tour_count>1) & (tour_num == 1) & (duration < 6),coef_first_of_2plus_school_lt_6_hours +util_subsequent_of_2plus_school_lt_6_hours,Subsequent of 2+ school/univ tours- duration<6 hrs,(tour_num > 1) & (duration < 6),coef_subsequent_of_2plus_school_lt_6_hours +util_school_plus_work_tours_by_student_lt_6_hours,School+work tours by student- duration<6 hrs,work_and_school_and_worker & (duration < 6),coef_school_plus_work_tours_by_student_lt_6_hours +util_school_plus_work_tours_by_worker_lt_6_hours,School+work tours by worker- duration<6 hrs,work_and_school_and_student & (duration < 6),coef_school_plus_work_tours_by_worker_lt_6_hours +#,,, +util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum +#,,, +#,,, FIXME - use temps as timetable ops can be very time-consuming +util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previous_tour_ends_this_departure_hour +util_previous_tour_begins_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previous_tour_begins_this_arrival_hour +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours +#,,, +util_departure_constants_early_up_to_5,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early +util_departure_constants_am_peak_1 _6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2_7,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3_8,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4_9,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 +util_departure_constants_midday_1_10_to_12,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2_13_to_15,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak_16_to_18,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening_19_to_21,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late_22_and_later,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late +util_arrival_constants_early_up_to_6,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early +util_arrival_constants_am_peak_7_to_9,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1_10_to_12,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2_13_to_14,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1_15,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2_16,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3_17,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4_18,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening_19_to_21,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late_22_and_later,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late +util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours +util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours +util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours +util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours +util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours +util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours +util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours +util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_school_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_school_coefficients.csv similarity index 98% rename from activitysim/examples/example_mtc/configs/tour_scheduling_school_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_school_coefficients.csv index b5d8c8050b..6fd040134d 100644 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_school_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_school_coefficients.csv @@ -1,57 +1,57 @@ -coefficient_name,value,constrain -coef_dummy,1,T -coef_roundtrip_auto_time_to_work,0.003195,F -coef_ft_worker_departure,0.3971,F -coef_ft_worker_duration,-0.1908,F -coef_non_worker_departure,0.5539,F -coef_univ_departure,0.28,F -coef_univ_duration,-0.2907,F -coef_student_driver_duration,0.03464,F -coef_all_adults_ft_worker_duration,0.1093,F -coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T -coef_first_of_2plus_school_tours_departure,-0.3002,F -coef_first_of_2plus_school_tours_duration,-0.1593,F -coef_subsequent_2plus_school_tours_duration,-0.2338,F -coef_hh_income_early_departure,-0.8837,F -coef_hh_income_late_arrival,-0.3533,F -coef_first_of_2plus_school_lt_6_hours,1.487,F -coef_subsequent_of_2plus_school_lt_6_hours,2.142,F -coef_school_plus_work_tours_by_student_lt_6_hours,1.73,F -coef_school_plus_work_tours_by_worker_lt_6_hours,2.142,F -coef_mode_choice_logsum,2.127,F -coef_previous_tour_ends_this_departure_hour,-0.5995,F -coef_previous_tour_begins_this_arrival_hour,-1.102,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.08975,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.003049,F -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.44,F -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.5271,F -coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,-16.67,F -coef_departure_constants_early,-3.820662404,F -coef_departure_constants_am_peak_1,-1.617644056,F -coef_departure_constants_am_peak_2,0,T -coef_departure_constants_am_peak_3,-0.073826841,F -coef_departure_constants_am_peak_4,-2.080570769,F -coef_departure_constants_midday_1,-2.985739457,F -coef_departure_constants_midday_2,-3.628434646,F -coef_departure_constants_pm_peak,-3.10250515,F -coef_departure_constants_evening,-5.230287836,F -coef_departure_constants_late,-11.88604728,F -coef_arrival_constants_early,-2.428718399,F -coef_arrival_constants_am_peak,-2.428718399,F -coef_arrival_constants_midday_1,-1.237908768,F -coef_arrival_constants_midday_2,-0.539768931,F -coef_arrival_constants_pm_peak_1,0,T -coef_arrival_constants_pm_peak_2,-0.389169248,F -coef_arrival_constants_pm_peak_3,-0.198120349,F -coef_arrival_constants_pm_peak_4,-0.253624684,F -coef_arrival_constants_evening,-0.870146904,F -coef_arrival_constants_late,-1.75200049,F -coef_duration_constants_0_to_2_hours,-1.409955689,F -coef_duration_constants_3_to_4_hours,-0.745893252,F -coef_duration_constants_5_to_6_hours,-0.567636622,F -coef_duration_constants_7_to_8_hours,0,T -coef_duration_constants_9_hours,-0.650806684,F -coef_duration_constants_10_hours,-0.904788983,F -coef_duration_constants_11_hours,-1.521162604,F -coef_duration_constants_12_to_13_hours,-2.418488917,F +coefficient_name,value,constrain +coef_dummy,1,T +coef_roundtrip_auto_time_to_work,0.003195,F +coef_ft_worker_departure,0.3971,F +coef_ft_worker_duration,-0.1908,F +coef_non_worker_departure,0.5539,F +coef_univ_departure,0.28,F +coef_univ_duration,-0.2907,F +coef_student_driver_duration,0.03464,F +coef_all_adults_ft_worker_duration,0.1093,F +coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T +coef_first_of_2plus_school_tours_departure,-0.3002,F +coef_first_of_2plus_school_tours_duration,-0.1593,F +coef_subsequent_2plus_school_tours_duration,-0.2338,F +coef_hh_income_early_departure,-0.8837,F +coef_hh_income_late_arrival,-0.3533,F +coef_first_of_2plus_school_lt_6_hours,1.487,F +coef_subsequent_of_2plus_school_lt_6_hours,2.142,F +coef_school_plus_work_tours_by_student_lt_6_hours,1.73,F +coef_school_plus_work_tours_by_worker_lt_6_hours,2.142,F +coef_mode_choice_logsum,2.127,F +coef_previous_tour_ends_this_departure_hour,-0.5995,F +coef_previous_tour_begins_this_arrival_hour,-1.102,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.08975,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.003049,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.44,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.5271,F +coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,-16.67,F +coef_departure_constants_early,-3.820662404,F +coef_departure_constants_am_peak_1,-1.617644056,F +coef_departure_constants_am_peak_2,0,T +coef_departure_constants_am_peak_3,-0.073826841,F +coef_departure_constants_am_peak_4,-2.080570769,F +coef_departure_constants_midday_1,-2.985739457,F +coef_departure_constants_midday_2,-3.628434646,F +coef_departure_constants_pm_peak,-3.10250515,F +coef_departure_constants_evening,-5.230287836,F +coef_departure_constants_late,-11.88604728,F +coef_arrival_constants_early,-2.428718399,F +coef_arrival_constants_am_peak,-2.428718399,F +coef_arrival_constants_midday_1,-1.237908768,F +coef_arrival_constants_midday_2,-0.539768931,F +coef_arrival_constants_pm_peak_1,0,T +coef_arrival_constants_pm_peak_2,-0.389169248,F +coef_arrival_constants_pm_peak_3,-0.198120349,F +coef_arrival_constants_pm_peak_4,-0.253624684,F +coef_arrival_constants_evening,-0.870146904,F +coef_arrival_constants_late,-1.75200049,F +coef_duration_constants_0_to_2_hours,-1.409955689,F +coef_duration_constants_3_to_4_hours,-0.745893252,F +coef_duration_constants_5_to_6_hours,-0.567636622,F +coef_duration_constants_7_to_8_hours,0,T +coef_duration_constants_9_hours,-0.650806684,F +coef_duration_constants_10_hours,-0.904788983,F +coef_duration_constants_11_hours,-1.521162604,F +coef_duration_constants_12_to_13_hours,-2.418488917,F coef_duration_constants_14_to_18_hours,-2.503137295,F \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/tour_scheduling_work.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_work.csv new file mode 100644 index 0000000000..7aa6a363a9 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_work.csv @@ -0,0 +1,70 @@ +Label,Description,Expression,Coefficient +util_free_flow_round_trip_auto_time_shift_effects_departure,Free-flow round trip auto time shift effects - departure,roundtrip_auto_time_to_work * start,coef_free_flow_round_trip_auto_time_shift_effects_departure +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_part_time_worker_departure_shift_effects,Part-time worker departure shift effects,(ptype == 2) * start,coef_part_time_worker_departure_shift_effects +util_non_working_adult_duration_shift_effects,Non-working adult duration shift effects,(ptype == 4) * duration,coef_non_working_adult_duration_shift_effects +util_university_student_departure_shift_effects,University student departure shift effects,(ptype == 3) * start,coef_university_student_departure_shift_effects +util_household_income_departure_shift_effects,Household income departure shift effects,income_in_thousands * start,coef_household_income_departure_shift_effects +util_destination_in_cbd_departure_shift_effects,Destination in CBD departure shift effects,workplace_in_cbd * start,coef_destination_in_cbd_departure_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD duration shift effects,workplace_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends +util_first_of_2plus_work_tours_departure_shift_effects,First of 2+ work tours departure shift effects,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_work_tours_departure_shift_effects +util_first_of_2plus_work_tours_duration_shift_effects,First of 2+ work tours duration shift effects,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_work_tours_duration_shift_effects +util_subsequent_2plus_work_departure_tours_shift_effects,Subsequent 2+ work departure tours shift effects,(tour_num == 2) * start,coef_subsequent_2plus_work_departure_tours_shift_effects +util_subsequent_2plus_work_duration_tours_shift_effects,Subsequent 2+ work duration tours shift effects,(tour_num == 2) * duration,coef_subsequent_2plus_work_duration_tours_shift_effects +util_household_income_early_departure_interaction,Household income -- Early departure interaction,(income_in_thousands > 100) & (start < 6),coef_household_income_early_departure_interaction +util_household_income_late_arrival_interaction,Household income -- Late arrival interaction,(income_in_thousands > 100) & (end > 22),coef_household_income_late_arrival_interaction +util_destination_in_cbd_early_departure_interaction,Destination in CBD -- Early departure interaction,workplace_in_cbd & (start < 6),coef_destination_in_cbd_early_departure_interaction +util_destination_in_cbd_late_arrival_interaction,Destination in CBD -- Late arrival interaction,workplace_in_cbd & (end > 22),coef_destination_in_cbd_late_arrival_interaction +util_rural_household_early_departure_interaction,Rural household -- Early departure interaction,home_is_rural & (start < 6),coef_rural_household_early_departure_interaction +util_rural_household_late_arrival_interaction,Rural household -- Late arrival interaction,home_is_rural & (end > 22),coef_rural_household_late_arrival_interaction +util_full_time_worker_duration_lt_9_hours_interaction,Full-time worker -- duration < 9 hours interaction,(ptype == 1) & (duration < 9),coef_full_time_worker_duration_lt_9_hours_interaction +util_full_time_worker_10_to_12_departure_interaction,Full-time worker -- 10 to 12 departure interaction,(ptype == 1) & (start > 9) & (start < 13),coef_full_time_worker_10_to_12_departure_interaction +util_worker_13_to_15_arrival_interaction,Part-time worker -- 13 to 15 arrival interaction,(ptype == 2) & (end > 12) & (end < 16),coef_part_time_worker_13_to_15_arrival_interaction +util_first_of_2plus_work_tours_duration_lt_8_hrs,First of 2+ work tours- duration<8 hrs,((tour_count>1) & (tour_num == 1)) & (duration < 8),coef_first_of_2plus_work_tours_duration_lt_8_hrs +util_subsequent_of_2plus_work_tours_duration_lt_8_hrs,Subsequent of 2+ work tours- duration<8 hrs,(tour_num == 2) & (duration < 8),coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs +util_tours_by_worker_duration_lt_8_hrs,Work+school tours by worker- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_worker & (duration < 8),coef_tours_by_worker_duration_lt_8_hrs +util_tours_by_student_duration_lt_8_hrs,School+work tours by student- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_student & (duration < 8),coef_tours_by_student_duration_lt_8_hrs +#,,, +util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum +#,,, +#,FIXME - use temps _adjacent_window_before and _adjacent_window_after because timetable ops can be very time-consuming,, +util_dummy_adjacent_before,local temp variable,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,local temp variable,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previously_scheduled_tour_ends_in_this_departure_hour +util_previously_scheduled_tour_begins_in_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previously_scheduled_tour_begins_in_this_arrival_hour +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours +#,,, +util_departure_constants_early,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late +util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours +util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours +util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours +util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours +util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours +util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours +util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours +util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_work_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_work_coefficients.csv similarity index 98% rename from activitysim/examples/example_mtc/configs/tour_scheduling_work_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_work_coefficients.csv index 7404512d1f..3b842e5351 100644 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_work_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_work_coefficients.csv @@ -1,65 +1,65 @@ -coefficient_name,value,constrain -coef_dummy,1,T -coef_free_flow_round_trip_auto_time_shift_effects_departure,-0.00114,F -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.00221,F -coef_part_time_worker_departure_shift_effects,0.06736,F -coef_non_working_adult_duration_shift_effects,-0.1207,F -coef_university_student_departure_shift_effects,0.05747,F -coef_household_income_departure_shift_effects,0.000208,F -coef_destination_in_cbd_departure_shift_effects,0.04717,F -coef_destination_in_cbd_duration_shift_effects,0.08679,F -coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T -coef_first_of_2plus_work_tours_departure_shift_effects,-0.3033,F -coef_first_of_2plus_work_tours_duration_shift_effects,-0.1861,F -coef_subsequent_2plus_work_departure_tours_shift_effects,-0.5381,F -coef_subsequent_2plus_work_duration_tours_shift_effects,-0.3174,F -coef_household_income_early_departure_interaction,-0.4854,F -coef_household_income_late_arrival_interaction,-0.3839,F -coef_destination_in_cbd_early_departure_interaction,-0.4566,F -coef_destination_in_cbd_late_arrival_interaction,-0.2334,F -coef_rural_household_early_departure_interaction,0.4039,F -coef_rural_household_late_arrival_interaction,-0.3451,F -coef_full_time_worker_duration_lt_9_hours_interaction,-1.257,F -coef_full_time_worker_10_to_12_departure_interaction,-0.5182,F -coef_part_time_worker_13_to_15_arrival_interaction,0.5433,F -coef_first_of_2plus_work_tours_duration_lt_8_hrs,1.98,F -coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs,2.582,F -coef_tours_by_worker_duration_lt_8_hrs,0.9126,F -coef_tours_by_student_duration_lt_8_hrs,2.582,F -coef_mode_choice_logsum,1.027,F -coef_previously_scheduled_tour_ends_in_this_departure_hour,-0.8935,F -coef_previously_scheduled_tour_begins_in_this_arrival_hour,-1.334,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.1771,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.3627,F -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.2123,F -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.1012,F -coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,-18.68,F -coef_departure_constants_early,-0.95272527,F -coef_departure_constants_am_peak_1,-0.616180906,F -coef_departure_constants_am_peak_2,0,T -coef_departure_constants_am_peak_3,-0.254714726, -coef_departure_constants_am_peak_4,-1.251346024,F -coef_departure_constants_midday_1,-1.705868992,F -coef_departure_constants_midday_2,-1.693570583,F -coef_departure_constants_pm_peak,-1.439991962,F -coef_departure_constants_evening,-1.610513243,F -coef_departure_constants_late,-2.883415223,F -coef_arrival_constants_early,0,T -coef_arrival_constants_am_peak,-1.854520626,F -coef_arrival_constants_midday_1,-0.495972037,F -coef_arrival_constants_midday_2,-0.378554081,F -coef_arrival_constants_pm_peak_1,0,T -coef_arrival_constants_pm_peak_2,0.2760839,F -coef_arrival_constants_pm_peak_3,0.699587132,F -coef_arrival_constants_pm_peak_4,0.799289377,F -coef_arrival_constants_evening,0.103566251,F -coef_arrival_constants_late,-0.965957339,F -coef_duration_constants_0_to_2_hours,-2.52826639,F -coef_duration_constants_3_to_4_hours,-0.918974457,F -coef_duration_constants_5_to_6_hours,-0.718550288,F -coef_duration_constants_7_to_8_hours,-0.139623566,F -coef_duration_constants_9_hours,0.055706243,F -coef_duration_constants_10_hours,0,T -coef_duration_constants_11_hours,-0.347795391,F -coef_duration_constants_12_to_13_hours,-1.008222346,F +coefficient_name,value,constrain +coef_dummy,1,T +coef_free_flow_round_trip_auto_time_shift_effects_departure,-0.00114,F +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.00221,F +coef_part_time_worker_departure_shift_effects,0.06736,F +coef_non_working_adult_duration_shift_effects,-0.1207,F +coef_university_student_departure_shift_effects,0.05747,F +coef_household_income_departure_shift_effects,0.000208,F +coef_destination_in_cbd_departure_shift_effects,0.04717,F +coef_destination_in_cbd_duration_shift_effects,0.08679,F +coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T +coef_first_of_2plus_work_tours_departure_shift_effects,-0.3033,F +coef_first_of_2plus_work_tours_duration_shift_effects,-0.1861,F +coef_subsequent_2plus_work_departure_tours_shift_effects,-0.5381,F +coef_subsequent_2plus_work_duration_tours_shift_effects,-0.3174,F +coef_household_income_early_departure_interaction,-0.4854,F +coef_household_income_late_arrival_interaction,-0.3839,F +coef_destination_in_cbd_early_departure_interaction,-0.4566,F +coef_destination_in_cbd_late_arrival_interaction,-0.2334,F +coef_rural_household_early_departure_interaction,0.4039,F +coef_rural_household_late_arrival_interaction,-0.3451,F +coef_full_time_worker_duration_lt_9_hours_interaction,-1.257,F +coef_full_time_worker_10_to_12_departure_interaction,-0.5182,F +coef_part_time_worker_13_to_15_arrival_interaction,0.5433,F +coef_first_of_2plus_work_tours_duration_lt_8_hrs,1.98,F +coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs,2.582,F +coef_tours_by_worker_duration_lt_8_hrs,0.9126,F +coef_tours_by_student_duration_lt_8_hrs,2.582,F +coef_mode_choice_logsum,1.027,F +coef_previously_scheduled_tour_ends_in_this_departure_hour,-0.8935,F +coef_previously_scheduled_tour_begins_in_this_arrival_hour,-1.334,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.1771,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.3627,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.2123,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.1012,F +coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,-18.68,F +coef_departure_constants_early,-0.95272527,F +coef_departure_constants_am_peak_1,-0.616180906,F +coef_departure_constants_am_peak_2,0,T +coef_departure_constants_am_peak_3,-0.254714726, +coef_departure_constants_am_peak_4,-1.251346024,F +coef_departure_constants_midday_1,-1.705868992,F +coef_departure_constants_midday_2,-1.693570583,F +coef_departure_constants_pm_peak,-1.439991962,F +coef_departure_constants_evening,-1.610513243,F +coef_departure_constants_late,-2.883415223,F +coef_arrival_constants_early,0,T +coef_arrival_constants_am_peak,-1.854520626,F +coef_arrival_constants_midday_1,-0.495972037,F +coef_arrival_constants_midday_2,-0.378554081,F +coef_arrival_constants_pm_peak_1,0,T +coef_arrival_constants_pm_peak_2,0.2760839,F +coef_arrival_constants_pm_peak_3,0.699587132,F +coef_arrival_constants_pm_peak_4,0.799289377,F +coef_arrival_constants_evening,0.103566251,F +coef_arrival_constants_late,-0.965957339,F +coef_duration_constants_0_to_2_hours,-2.52826639,F +coef_duration_constants_3_to_4_hours,-0.918974457,F +coef_duration_constants_5_to_6_hours,-0.718550288,F +coef_duration_constants_7_to_8_hours,-0.139623566,F +coef_duration_constants_9_hours,0.055706243,F +coef_duration_constants_10_hours,0,T +coef_duration_constants_11_hours,-0.347795391,F +coef_duration_constants_12_to_13_hours,-1.008222346,F coef_duration_constants_14_to_18_hours,-1.701858847,F \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/trip_destination.csv b/activitysim/examples/prototype_mtc/configs/trip_destination.csv new file mode 100644 index 0000000000..b12246c13f --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/trip_destination.csv @@ -0,0 +1,19 @@ +Label,Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork +local_dist_od,,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +local_dist_dp,,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +util_size_term,size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one +util_no_attractions,no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE +util_stop_zone_CDB_are_type,#stop zone CBD area type,"@reindex(land_use.area_type, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, +util_distance_inbound,distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),coef_util_distance_work_outbound,coef_util_distance_univ,coef_util_distance_school,coef_util_distance_escort,coef_util_distance_shopping,coef_util_distance_eatout,coef_util_distance_othmaint,coef_util_distance_social,coef_util_distance_othdiscr,coef_util_distance_atwork +util_distance_outbound,distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),coef_util_distance_work_inbound,coef_util_distance_univ,coef_util_distance_school,coef_util_distance_escort,coef_util_distance_shopping,coef_util_distance_eatout,coef_util_distance_othmaint,coef_util_distance_social,coef_util_distance_othdiscr,coef_util_distance_atwork +util_distance_joint,distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),,,,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint, +util_prox_home_outbound,stop proximity to home (outbound),@df.outbound * _od_DIST,coef_prox_home_outbound_work,,,,,,,,, +util_prox_home_inbound,stop proximity to home (inbound),@~df.outbound * _dp_DIST,coef_prox_home_inbound_work,,,,,,,,, +util_prox_dest_outbound,stop proximity to main destination (outbound),@df.outbound * _dp_DIST,coef_prox_dest_outbound_work,,,,,,,,, +util_prox_dest_inbound,stop proximity to main destination (inbound),@~df.outbound * _od_DIST,,,,,,,,,, +#,,,,,,,,,,,, +util_sample_of_alternatives_correction_factor,"Sample of alternatives correction factor","@np.minimum(np.log(df.pick_count/df.prob), 60)",coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one +util_mode_choice_logsum_os,Mode choice logsum from origin to stop,od_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum +util_stop_not_accessible_by_this_tour_mode,Can't access stop zone by this tour mode,(od_logsum < -100),coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE +util_mode_choice_logsum_sd,Mode choice logsum from stop to destination,dp_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum +util_dest_not_accessible_by_this_tour_mode,Can't access destination zone by this tour mode,(dp_logsum < -100),coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE diff --git a/activitysim/examples/example_mtc/configs/trip_destination.yaml b/activitysim/examples/prototype_mtc/configs/trip_destination.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_destination.yaml rename to activitysim/examples/prototype_mtc/configs/trip_destination.yaml diff --git a/activitysim/examples/prototype_mtc/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/trip_destination_annotate_trips_preprocessor.csv new file mode 100644 index 0000000000..1a1afb0748 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/trip_destination_annotate_trips_preprocessor.csv @@ -0,0 +1,10 @@ +Description,Target,Expression +#,, +,tour_mode,"reindex(tours.tour_mode, df.tour_id)" +,_tod,"np.where(df.outbound,reindex_i(tours.start, df.tour_id),reindex_i(tours.end, df.tour_id))" +,trip_period,network_los.skim_time_period_label(_tod) +,is_joint,"reindex(tours.tour_category, df.tour_id)=='joint'" +#,,not needed as school is not chosen as an intermediate trip destination +#,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" +#,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" +,tour_leg_dest,"np.where(df.outbound,reindex(tours.destination, df.tour_id), reindex(tours.origin, df.tour_id))" \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/trip_destination_coefficients.csv b/activitysim/examples/prototype_mtc/configs/trip_destination_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_destination_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/trip_destination_coefficients.csv diff --git a/activitysim/examples/prototype_mtc/configs/trip_destination_sample.csv b/activitysim/examples/prototype_mtc/configs/trip_destination_sample.csv new file mode 100644 index 0000000000..857fb44c03 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/trip_destination_sample.csv @@ -0,0 +1,18 @@ +Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork +,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (od_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (dp_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (od_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (dp_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +#If transit tour is not in walk sub-zone it must be walkable,,,,,,,,,,, +size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",1,1,1,1,1,1,1,1,1,1 +no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +#stop zone CBD area type,"@reindex(land_use.area_type, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, +distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),-0.04972591574229,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 +distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),0.147813278663948,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 +distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),0,0,0,-0.1238,-0.1238,-0.1238,-0.1238,-0.1238,-0.123801985,0 +stop proximity to home (outbound),@df.outbound * _od_DIST,-0.3800,0,0,0,0,0,0,0,0,0 +stop proximity to home (inbound),@~df.outbound * _od_DIST,-0.1500,0,0,0,0,0,0,0,0,0 +stop proximity to main destination (outbound),@df.outbound * _dp_DIST,-0.26,,,,,,,,, +stop proximity to main destination (inbound),@~df.outbound * _od_DIST,0,,,,,,,,, diff --git a/activitysim/examples/prototype_mtc/configs/trip_mode_choice.csv b/activitysim/examples/prototype_mtc/configs/trip_mode_choice.csv new file mode 100644 index 0000000000..3ac15254ba --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/trip_mode_choice.csv @@ -0,0 +1,405 @@ +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,,,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,,,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,,,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,,,,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, +#,Walk,,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +#,Bike,,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, +#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, +#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, +#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, +#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn,,,,,,,, +#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, +util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, +#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, +util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, +#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, +util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, +#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, +util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, +#,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, +util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#,#TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,,,,,,,,,,,,,,,,,,,,,,, +util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, +util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,, +util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, +,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh +util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh +util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh +util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh +util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,,,,,,,,,, +util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh +util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_express,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,walk_transit_ASC_heavyrail,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,walk_transit_ASC_commuter,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh +util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_lightrail,,,,,, +util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_ferry,,,,,, +util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,drive_transit_ASC_express,,,,, +util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,drive_transit_ASC_heavyrail,,,, +util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,drive_transit_ASC_commuter,,, +util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh +util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,,,,,,, +util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,ride_hail_ASC_taxi,, +util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_single, +util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_shared +#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh +util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh +util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_express,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,joint_walk_transit_ASC_heavyrail,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,joint_walk_transit_ASC_commuter,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh +util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_lightrail,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_ferry,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,joint_drive_transit_ASC_express,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,joint_drive_transit_ASC_heavyrail,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_commuter,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_taxi,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared +#,#,,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, +util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt +util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice.yaml b/activitysim/examples/prototype_mtc/configs/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_mode_choice.yaml rename to activitysim/examples/prototype_mtc/configs/trip_mode_choice.yaml diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice_coefficients.csv b/activitysim/examples/prototype_mtc/configs/trip_mode_choice_coefficients.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_mode_choice_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/trip_mode_choice_coefficients.csv diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice_coefficients_template.csv b/activitysim/examples/prototype_mtc/configs/trip_mode_choice_coefficients_template.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_mode_choice_coefficients_template.csv rename to activitysim/examples/prototype_mtc/configs/trip_mode_choice_coefficients_template.csv diff --git a/activitysim/examples/example_mtc/configs/trip_purpose.yaml b/activitysim/examples/prototype_mtc/configs/trip_purpose.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_purpose.yaml rename to activitysim/examples/prototype_mtc/configs/trip_purpose.yaml diff --git a/activitysim/examples/prototype_mtc/configs/trip_purpose_and_destination.yaml b/activitysim/examples/prototype_mtc/configs/trip_purpose_and_destination.yaml new file mode 100644 index 0000000000..76f5923489 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/trip_purpose_and_destination.yaml @@ -0,0 +1,6 @@ + +MAX_ITERATIONS: 5 + +# drop failed trips and cleanup failed trip leg_mates for consistency +# (i.e. adjust trip_count, trip_num, first for missing failed trips) +CLEANUP: True diff --git a/activitysim/examples/prototype_mtc/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/trip_purpose_annotate_trips_preprocessor.csv new file mode 100644 index 0000000000..782116aa99 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/trip_purpose_annotate_trips_preprocessor.csv @@ -0,0 +1,5 @@ +Description,Target,Expression +#,, +,ptype,"reindex(persons.ptype, df.person_id)" +,person_type,ptype.map(PTYPE_NAME) +,start,"reindex_i(tours.start, df.tour_id)" diff --git a/activitysim/examples/prototype_mtc/configs/trip_purpose_probs.csv b/activitysim/examples/prototype_mtc/configs/trip_purpose_probs.csv new file mode 100644 index 0000000000..6827f511e2 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/trip_purpose_probs.csv @@ -0,0 +1,132 @@ +primary_purpose,outbound,depart_range_start,depart_range_end,person_type,work,univ,school,escort,shopping,othmaint,eatout,social,othdiscr +work,True,5,8,PTYPE_FULL,0.198,0.004,0,0.466,0.083,0.086,0.093,0.004,0.066 +work,True,5,8,PTYPE_PART,0.094,0,0,0.657,0.076,0.07,0.067,0.009,0.027 +work,True,5,8,PTYPE_UNIVERSITY,0.067,0.081,0,0.433,0.005,0.038,0.153,0.108,0.115 +work,True,9,23,PTYPE_FULL,0.278,0.008,0,0.172,0.18,0.193,0.107,0.016,0.046 +work,True,9,23,PTYPE_PART,0.442,0,0,0.089,0.105,0.175,0.102,0.03,0.057 +work,True,9,23,PTYPE_UNIVERSITY,0.049,0.086,0,0.392,0.159,0.157,0.069,0.073,0.015 +work,True,5,23,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 +univ,True,5,23,PTYPE_FULL,0.526,0.178,0,0.016,0.16,0.035,0.028,0.057,0 +univ,True,5,23,PTYPE_PART,0.059,0.941,0,0,0,0,0,0,0 +univ,True,5,23,PTYPE_UNIVERSITY,0.109,0.034,0,0.382,0.136,0.147,0.094,0.048,0.05 +school,True,5,23,PTYPE_DRIVING,0,0,0,0.548,0.015,0.1,0.206,0.073,0.058 +school,True,5,23,PTYPE_SCHOOL,0,0,0,0.53,0.025,0.084,0.112,0.048,0.201 +school,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.772,0.007,0.086,0.023,0.071,0.041 +escort,True,5,23,PTYPE_FULL,0,0,0,0.55,0.153,0.084,0.104,0.049,0.06 +escort,True,5,23,PTYPE_PART,0,0,0,0.449,0.194,0.07,0.167,0.059,0.061 +escort,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.509,0.193,0.158,0.048,0.058,0.034 +escort,True,5,23,PTYPE_NONWORK,0,0,0,0.444,0.216,0.084,0.108,0.118,0.03 +escort,True,5,23,PTYPE_RETIRED,0,0,0,0.37,0.204,0.192,0.03,0.068,0.136 +escort,True,5,23,PTYPE_DRIVING,0,0,0,0.586,0.227,0,0.072,0.115,0 +escort,True,5,23,PTYPE_SCHOOL,0,0,0,0.37,0.183,0.29,0.064,0.013,0.08 +escort,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.531,0.064,0,0.131,0.196,0.078 +shopping,True,5,23,PTYPE_FULL,0,0,0,0.102,0.456,0.226,0.11,0.06,0.046 +shopping,True,5,23,PTYPE_PART,0,0,0,0.182,0.291,0.311,0.108,0.031,0.077 +shopping,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.13,0.262,0.36,0.124,0.06,0.064 +shopping,True,5,23,PTYPE_NONWORK,0,0,0,0.144,0.336,0.274,0.122,0.068,0.056 +shopping,True,5,23,PTYPE_RETIRED,0,0,0,0.058,0.357,0.418,0.05,0.047,0.07 +shopping,True,5,23,PTYPE_DRIVING,0,0,0,0.076,0.193,0.298,0.047,0.13,0.256 +shopping,True,5,23,PTYPE_SCHOOL,0,0,0,0.121,0.142,0.232,0.291,0.03,0.184 +shopping,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.138,0.292,0.301,0.187,0.064,0.018 +othmaint,True,5,23,PTYPE_FULL,0,0,0,0.201,0.252,0.366,0.117,0.032,0.032 +othmaint,True,5,23,PTYPE_PART,0,0,0,0.27,0.259,0.325,0.109,0,0.037 +othmaint,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.489,0.13,0.167,0.025,0.15,0.039 +othmaint,True,5,23,PTYPE_NONWORK,0,0,0,0.279,0.229,0.344,0.078,0.039,0.031 +othmaint,True,5,23,PTYPE_RETIRED,0,0,0,0.224,0.139,0.321,0.098,0.064,0.154 +othmaint,True,5,23,PTYPE_DRIVING,0,0,0,0.135,0,0.259,0.083,0.523,0 +othmaint,True,5,23,PTYPE_SCHOOL,0,0,0,0.191,0.408,0.344,0.041,0.008,0.008 +othmaint,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.143,0.301,0.464,0.017,0.029,0.046 +eatout,True,5,23,PTYPE_FULL,0,0,0,0.144,0.283,0.202,0.036,0.129,0.206 +eatout,True,5,23,PTYPE_PART,0,0,0,0.169,0.374,0.179,0.013,0.135,0.13 +eatout,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.32,0.085,0.111,0,0.153,0.331 +eatout,True,5,23,PTYPE_NONWORK,0,0,0,0.201,0.224,0.269,0.063,0.082,0.161 +eatout,True,5,23,PTYPE_RETIRED,0,0,0,0.142,0.237,0.237,0.034,0.123,0.227 +eatout,True,5,23,PTYPE_DRIVING,0,0,0,0.175,0.289,0.346,0,0.105,0.085 +eatout,True,5,23,PTYPE_SCHOOL,0,0,0,0.124,0.135,0.135,0.04,0.048,0.518 +eatout,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.055,0.329,0.165,0.061,0,0.39 +social,True,5,23,PTYPE_FULL,0,0,0,0.186,0.382,0.144,0.122,0.126,0.04 +social,True,5,23,PTYPE_PART,0,0,0,0.175,0.153,0.167,0.147,0.183,0.175 +social,True,5,23,PTYPE_UNIVERSITY,0,0,0,0,0.212,0.091,0.432,0.234,0.031 +social,True,5,23,PTYPE_NONWORK,0,0,0,0.311,0.392,0.149,0.071,0.058,0.019 +social,True,5,23,PTYPE_RETIRED,0,0,0,0.12,0.407,0.203,0.151,0.102,0.017 +social,True,5,23,PTYPE_DRIVING,0,0,0,0,0,0,0,0.415,0.585 +social,True,5,23,PTYPE_SCHOOL,0,0,0,0.322,0.11,0.05,0,0.378,0.14 +social,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.294,0,0.159,0,0.547,0 +othdiscr,True,5,23,PTYPE_FULL,0,0,0,0.236,0.169,0.143,0.19,0.093,0.169 +othdiscr,True,5,23,PTYPE_PART,0,0,0,0.223,0.208,0.181,0.193,0.129,0.066 +othdiscr,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.135,0.123,0.061,0.342,0.123,0.216 +othdiscr,True,5,23,PTYPE_NONWORK,0,0,0,0.263,0.295,0.148,0.088,0.082,0.124 +othdiscr,True,5,23,PTYPE_RETIRED,0,0,0,0.225,0.056,0.389,0.16,0.091,0.079 +othdiscr,True,5,23,PTYPE_DRIVING,0,0,0,0.311,0.126,0.051,0.018,0.142,0.352 +othdiscr,True,5,23,PTYPE_SCHOOL,0,0,0,0.222,0.112,0.172,0.173,0.141,0.18 +othdiscr,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.271,0.108,0.393,0.146,0.043,0.039 +atwork,True,5,23,PTYPE_FULL,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,True,5,23,PTYPE_PART,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,True,5,23,PTYPE_UNIVERSITY,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,True,5,23,PTYPE_DRIVING,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +#,,,,,,,,,,,,, +work,False,5,14,PTYPE_FULL,0.175,0,0,0.14,0.27,0.162,0.134,0.05,0.069 +work,False,5,14,PTYPE_PART,0.097,0,0,0.252,0.211,0.192,0.159,0.089,0 +work,False,5,14,PTYPE_UNIVERSITY,0.134,0,0,0.329,0.114,0.212,0.169,0.042,0 +work,False,15,23,PTYPE_FULL,0.151,0.011,0,0.201,0.28,0.127,0.103,0.035,0.092 +work,False,15,23,PTYPE_PART,0.11,0,0,0.243,0.281,0.13,0.119,0.036,0.081 +work,False,15,23,PTYPE_UNIVERSITY,0.058,0.127,0,0.224,0.269,0.079,0.072,0.108,0.063 +work,False,5,23,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 +univ,False,5,23,PTYPE_FULL,0.352,0.032,0,0.032,0.146,0.114,0.177,0.028,0.119 +univ,False,5,23,PTYPE_PART,0,0,0,0.822,0.178,0,0,0,0 +univ,False,5,23,PTYPE_UNIVERSITY,0.054,0.025,0,0.194,0.209,0.179,0.159,0.067,0.113 +school,False,5,23,PTYPE_DRIVING,0,0,0,0.301,0.117,0.098,0.169,0.186,0.129 +school,False,5,23,PTYPE_SCHOOL,0,0,0,0.166,0.158,0.147,0.122,0.133,0.274 +school,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.38,0.148,0.089,0.146,0.102,0.135 +escort,False,5,23,PTYPE_FULL,0,0,0,0.343,0.235,0.114,0.222,0.039,0.047 +escort,False,5,23,PTYPE_PART,0,0,0,0.24,0.298,0.128,0.157,0.045,0.132 +escort,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.195,0.319,0.287,0.02,0.027,0.152 +escort,False,5,23,PTYPE_NONWORK,0,0,0,0.28,0.325,0.169,0.103,0.05,0.073 +escort,False,5,23,PTYPE_RETIRED,0,0,0,0.31,0.317,0.073,0.111,0.112,0.077 +escort,False,5,23,PTYPE_DRIVING,0,0,0,0,0.489,0,0.148,0.363,0 +escort,False,5,23,PTYPE_SCHOOL,0,0,0,0.188,0.259,0.129,0.202,0.06,0.162 +escort,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.413,0.215,0.118,0.211,0.019,0.024 +shopping,False,5,23,PTYPE_FULL,0,0,0,0.091,0.526,0.159,0.152,0.047,0.025 +shopping,False,5,23,PTYPE_PART,0,0,0,0.104,0.553,0.156,0.105,0.037,0.045 +shopping,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.1,0.43,0.064,0.344,0.003,0.059 +shopping,False,5,23,PTYPE_NONWORK,0,0,0,0.11,0.528,0.158,0.122,0.059,0.023 +shopping,False,5,23,PTYPE_RETIRED,0,0,0,0.052,0.549,0.159,0.123,0.06,0.057 +shopping,False,5,23,PTYPE_DRIVING,0,0,0,0.118,0.707,0,0.041,0.134,0 +shopping,False,5,23,PTYPE_SCHOOL,0,0,0,0.015,0.19,0.256,0.157,0.179,0.203 +shopping,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.206,0.172,0.22,0.202,0.158,0.042 +othmaint,False,5,23,PTYPE_FULL,0,0,0,0.171,0.364,0.215,0.159,0.029,0.062 +othmaint,False,5,23,PTYPE_PART,0,0,0,0.228,0.365,0.17,0.13,0.041,0.066 +othmaint,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.046,0.345,0.192,0.298,0.06,0.059 +othmaint,False,5,23,PTYPE_NONWORK,0,0,0,0.17,0.423,0.158,0.171,0.064,0.014 +othmaint,False,5,23,PTYPE_RETIRED,0,0,0,0.099,0.391,0.213,0.241,0.036,0.02 +othmaint,False,5,23,PTYPE_DRIVING,0,0,0,0.031,0.356,0.075,0.458,0.031,0.049 +othmaint,False,5,23,PTYPE_SCHOOL,0,0,0,0.181,0.255,0.142,0.313,0,0.109 +othmaint,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.164,0.249,0.338,0.053,0.006,0.19 +eatout,False,5,23,PTYPE_FULL,0,0,0,0.106,0.44,0.112,0.041,0.128,0.173 +eatout,False,5,23,PTYPE_PART,0,0,0,0.168,0.331,0.225,0.023,0.063,0.19 +eatout,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.165,0.334,0.104,0.088,0.135,0.174 +eatout,False,5,23,PTYPE_NONWORK,0,0,0,0.148,0.547,0.092,0.056,0.055,0.102 +eatout,False,5,23,PTYPE_RETIRED,0,0,0,0.166,0.414,0.169,0.02,0.166,0.065 +eatout,False,5,23,PTYPE_DRIVING,0,0,0,0.195,0.332,0.114,0.114,0,0.245 +eatout,False,5,23,PTYPE_SCHOOL,0,0,0,0.072,0.356,0.053,0.019,0.169,0.331 +eatout,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.01,0.286,0.045,0.117,0.064,0.478 +social,False,5,23,PTYPE_FULL,0,0,0,0.12,0.286,0.123,0.19,0.255,0.026 +social,False,5,23,PTYPE_PART,0,0,0,0.106,0.122,0.039,0.553,0.047,0.133 +social,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.105,0.274,0.176,0,0.206,0.239 +social,False,5,23,PTYPE_NONWORK,0,0,0,0.313,0.326,0.13,0.062,0.075,0.094 +social,False,5,23,PTYPE_RETIRED,0,0,0,0.097,0.338,0.067,0.156,0.328,0.014 +social,False,5,23,PTYPE_DRIVING,0,0,0,0,0,0.368,0.15,0.482,0 +social,False,5,23,PTYPE_SCHOOL,0,0,0,0.058,0.162,0.085,0.281,0.125,0.289 +social,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.23,0.028,0.072,0.23,0.44,0 +othdiscr,False,5,23,PTYPE_FULL,0,0,0,0.108,0.319,0.132,0.27,0.112,0.059 +othdiscr,False,5,23,PTYPE_PART,0,0,0,0.102,0.346,0.154,0.181,0.087,0.13 +othdiscr,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.116,0.374,0.124,0.162,0.033,0.191 +othdiscr,False,5,23,PTYPE_NONWORK,0,0,0,0.11,0.389,0.19,0.19,0.067,0.054 +othdiscr,False,5,23,PTYPE_RETIRED,0,0,0,0.111,0.284,0.186,0.197,0.111,0.111 +othdiscr,False,5,23,PTYPE_DRIVING,0,0,0,0.277,0.304,0.057,0.205,0.157,0 +othdiscr,False,5,23,PTYPE_SCHOOL,0,0,0,0.114,0.204,0.148,0.291,0.089,0.154 +othdiscr,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.335,0.133,0.111,0.282,0.052,0.087 +atwork,False,5,23,PTYPE_FULL,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,False,5,23,PTYPE_PART,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,False,5,23,PTYPE_UNIVERSITY,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,False,5,23,PTYPE_DRIVING,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 diff --git a/activitysim/examples/example_mtc/configs/trip_scheduling.yaml b/activitysim/examples/prototype_mtc/configs/trip_scheduling.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_scheduling.yaml rename to activitysim/examples/prototype_mtc/configs/trip_scheduling.yaml diff --git a/activitysim/examples/prototype_mtc/configs/trip_scheduling_probs.csv b/activitysim/examples/prototype_mtc/configs/trip_scheduling_probs.csv new file mode 100644 index 0000000000..6a0deffede --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/trip_scheduling_probs.csv @@ -0,0 +1,1369 @@ +primary_purpose,outbound,tour_hour,trip_num,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23 +work,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,5,2,0.249730906,0.477180111,0.215788882,0.02257625,0.009653299,0.001272067,0.002559828,0.005345297,0.012868196,0.000858457,0,0.00130551,0,0.000861198,0,0,0,0,0 +work,TRUE,5,3,0.269166724,0.331378773,0.290398422,0.047428828,0.032211326,0.003681738,0,0.00648104,0.007547054,0.006178507,0,0.005527589,0,0,0,0,0,0,0 +work,TRUE,5,4,0.087782501,0.257488508,0.384088251,0.077346978,0.060562922,0,0,0.049138541,0,0.014538525,0,0,0,0.041701151,0.018235082,0,0.009117541,0,0 +work,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,6,2,0,0.218769369,0.568056029,0.16549898,0.028654735,0.007305391,0.002067083,0.003148838,0.000503641,0.003688829,0.002307106,0,0,0,0,0,0,0,0 +work,TRUE,6,3,0,0.130626273,0.577093506,0.214895882,0.051730954,0.003240613,0,0.004631429,0.00858571,0.005631893,0.001259632,0,0.002304109,0,0,0,0,0,0 +work,TRUE,6,4,0,0.003746877,0.546827469,0.29119719,0.043440135,0.021108582,0,0.041279538,0.022438337,0.019313618,0.003776433,0.006871821,0,0,0,0,0,0,0 +work,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,7,2,0,0,0.265300367,0.613559084,0.096014364,0.014396896,0.003048705,0.004403151,0,0.001139887,0.001411868,0.000725679,0,0,0,0,0,0,0 +work,TRUE,7,3,0,0,0.166352156,0.62367014,0.155705334,0.026659137,0.007295847,0.013673999,0.003582828,0.001111918,0.000525728,0.001422911,0,0,0,0,0,0,0 +work,TRUE,7,4,0,0,0.105022925,0.545651324,0.19699608,0.086647479,0.013272884,0.007863943,0.037841595,0.002284229,0.001876743,0,0.002542798,0,0,0,0,0,0 +work,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,8,2,0,0,0,0.456491659,0.443858962,0.071483886,0.007227768,0.011205848,0.004971546,0.003779089,0,0.000629094,0.000352148,0,0,0,0,0,0 +work,TRUE,8,3,0,0,0,0.297357445,0.518087382,0.132861058,0.006370619,0.007614307,0.009010749,0.012385163,0.002114995,0.01254835,0.001649933,0,0,0,0,0,0 +work,TRUE,8,4,0,0,0,0.219050051,0.313898882,0.316701629,0.097894922,0.024670968,0.007826425,0.014063117,0,0,0.001659846,0,0,0,0.00423416,0,0 +work,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,9,2,0,0,0,0,0.381802065,0.463610086,0.07833074,0.053350819,0.012379425,0.006984996,0.002188786,0.001353083,0,0,0,0,0,0,0 +work,TRUE,9,3,0,0,0,0,0.244359192,0.505051786,0.124730319,0.070740285,0.04380103,0.00393502,0.002381853,0,0.005000514,0,0,0,0,0,0 +work,TRUE,9,4,0,0,0,0,0.048177162,0.281924251,0.128648284,0.140849287,0.097452942,0.149279798,0.129250851,0.024417425,0,0,0,0,0,0,0 +work,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,10,2,0,0,0,0,0,0.287462748,0.478190637,0.154315841,0.0141405,0.047319629,0,0.005707897,0,0.004618797,0.008243951,0,0,0,0 +work,TRUE,10,3,0,0,0,0,0,0.224513864,0.313870996,0.279113796,0.089398426,0.044754472,0.034345645,0.014002803,0,0,0,0,0,0,0 +work,TRUE,10,4,0,0,0,0,0,0,0.181896949,0.267783358,0.317739276,0.088027455,0.086885637,0,0,0,0.057667324,0,0,0,0 +work,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,11,2,0,0,0,0,0,0,0.349521518,0.402347786,0.191514732,0.044397707,0.009105065,0,0.003113192,0,0,0,0,0,0 +work,TRUE,11,3,0,0,0,0,0,0,0.207587883,0.30769214,0.335712206,0.084378351,0.047431249,0.017198171,0,0,0,0,0,0,0 +work,TRUE,11,4,0,0,0,0,0,0,0,0.482525146,0.331491287,0.154741395,0,0,0.031242172,0,0,0,0,0,0 +work,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,12,2,0,0,0,0,0,0,0,0.228781907,0.52986365,0.185949096,0.016952622,0.0225574,0,0.015895326,0,0,0,0,0 +work,TRUE,12,3,0,0,0,0,0,0,0,0.048290452,0.527617032,0.260449945,0.038087283,0.125555288,0,0,0,0,0,0,0 +work,TRUE,12,4,0,0,0,0,0,0,0,0.055268088,0.55183696,0.308090511,0.022112333,0.026969361,0.035722748,0,0,0,0,0,0 +work,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +work,TRUE,13,2,0,0,0,0,0,0,0,0,0.618115652,0.284403475,0.097480873,0,0,0,0,0,0,0,0 +work,TRUE,13,3,0,0,0,0,0,0,0,0,0.496549493,0.232797723,0.159946019,0,0.015308798,0.038007565,0.057390402,0,0,0,0 +work,TRUE,13,4,0,0,0,0,0,0,0,0,0.176762619,0,0,0,0.823237381,0,0,0,0,0,0 +work,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +work,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.574348416,0.354554927,0.071096656,0,0,0,0,0,0,0 +work,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.502109794,0.21816867,0.279721536,0,0,0,0,0,0,0 +work,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.133121347,0.633379229,0.134648916,0.049425254,0.049425254,0,0,0,0,0 +work,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +work,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.552840921,0.403380234,0.043778845,0,0,0,0,0,0 +work,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.134176676,0.725445222,0.140378102,0,0,0,0,0,0 +work,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +work,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +work,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.470117389,0.401307167,0.110787768,0.017787675,0,0,0,0 +work,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.648121232,0.228392401,0.123486367,0,0,0,0,0 +work,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +work,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.406105035,0.414979307,0.178915658,0,0,0,0 +work,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.212373176,0.787626824,0,0,0,0,0 +work,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.5,0,0,0 +work,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21625036,0.437860534,0.113269906,0.232619199,0,0 +work,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +work,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81925165,0.07204277,0,0.10870558,0 +work,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492020395,0.507979605,0,0,0 +work,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +work,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +work,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.388129509,0.611870491,0,0 +work,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +work,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171581948,0.828418052,0 +work,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258374236,0.741625764,0 +work,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,1,0,0.220793114,0.779206886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,2,0,0.425176732,0.574823268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,1,0,0,0.107759005,0.892240995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,2,0,0,0.690008913,0.309991087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,3,0,0.337495318,0.662504682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,4,0,0,0.569894206,0.430105794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,1,0,0,0,0.314951457,0.685048543,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,2,0,0,0,0.079070075,0.920929925,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,3,0,0,0,0.226319471,0.773680529,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,1,0,0.046066203,0.007425743,0.028045042,0.233624929,0.684838083,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,2,0,0.126398434,0,0.0549729,0.096449389,0.722179277,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,3,0,0,0,0,0.36604282,0.63395718,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,1,0,0,0.017580881,0.034113366,0.04162677,0.286326641,0.620352342,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,2,0,0,0.02642438,0,0.033819936,0.199217971,0.740537713,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,3,0,0,0,0,0.005130668,0.277227788,0.717641544,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,4,0,0,0,0,0,0.036304716,0.963695284,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,1,0,0.002492115,0.001670698,0.012159512,0.014698251,0.029407418,0.152563565,0.787008442,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,2,0,0,0.006100837,0.011620455,0.013952709,0.036974376,0.310894404,0.620457219,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,3,0,0,0,0.009383356,0.042387756,0.006845546,0.29720543,0.644177912,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,4,0,0,0,0.008143494,0,0.049968848,0.124165248,0.81772241,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,1,0,0,0.004406789,0.016516638,0.008423145,0.030672879,0.043679722,0.31728407,0.579016757,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,2,0,0,0.003526988,0.003893522,0.007279925,0.014935643,0.080084093,0.245195123,0.645084705,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,3,0,0,0,0,0.01495651,0,0.040446175,0.214618414,0.729978901,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,4,0,0,0,0,0.01397645,0.006836511,0.025113874,0.15362871,0.800444454,0,0,0,0,0,0,0,0,0,0 +work,FALSE,14,1,0.002365799,0,0.003370061,0,0.004899447,0.008850097,0.035188808,0.07267661,0.207306035,0.665343143,0,0,0,0,0,0,0,0,0 +work,FALSE,14,2,0.007728364,0.003287077,0,0.006520962,0,0.032254466,0.052851387,0.133223369,0.229023292,0.535111082,0,0,0,0,0,0,0,0,0 +work,FALSE,14,3,0,0,0,0.003971419,0,0,0.008873008,0.119445331,0.269752545,0.597957698,0,0,0,0,0,0,0,0,0 +work,FALSE,14,4,0,0,0,0,0.056793918,0,0.011546821,0.042023265,0.23002226,0.659613737,0,0,0,0,0,0,0,0,0 +work,FALSE,15,1,0,0.005222802,0.000561863,0.003055031,0.006434507,0.007479814,0.009995919,0.013087333,0.058426024,0.310076404,0.585660301,0,0,0,0,0,0,0,0 +work,FALSE,15,2,0,0,0,0.001993619,0.008787212,0.008189747,0.015159942,0.009310176,0.054885948,0.253934613,0.647738743,0,0,0,0,0,0,0,0 +work,FALSE,15,3,0,0,0,0.001732532,0,0.00508097,0.029352724,0.030967014,0.039664292,0.202228781,0.690973688,0,0,0,0,0,0,0,0 +work,FALSE,15,4,0,0,0,0,0,0.004125776,0.011923745,0.030960101,0.061425266,0.239676364,0.651888748,0,0,0,0,0,0,0,0 +work,FALSE,16,1,0,0,0.001326173,0.005965432,0.005180374,0.004138931,0.011262579,0.01661091,0.012073334,0.03679347,0.347396478,0.559252319,0,0,0,0,0,0,0 +work,FALSE,16,2,0,0,0.001822625,0.003909533,0.002974064,0.004461131,0.032696294,0.017905122,0.043805267,0.040055335,0.31441461,0.537956019,0,0,0,0,0,0,0 +work,FALSE,16,3,0,0,0,0,0.006964674,0,0.007663971,0.011249685,0.051874804,0.083383231,0.266186632,0.572677003,0,0,0,0,0,0,0 +work,FALSE,16,4,0.002037834,0,0,0,0,0.005964919,0.002996052,0.010623137,0.018245507,0.068094063,0.195919724,0.696118764,0,0,0,0,0,0,0 +work,FALSE,17,1,0,0,0.001405366,0.004415995,0.00337412,0.003812259,0.014084324,0.008465853,0.012498337,0.015584379,0.06625893,0.34857546,0.521524978,0,0,0,0,0,0 +work,FALSE,17,2,0,0.000261415,0.003193506,0.003224601,0.01031862,0.003695936,0.005727058,0.024107723,0.01290257,0.024008033,0.090851226,0.28964028,0.532069032,0,0,0,0,0,0 +work,FALSE,17,3,0,0,0.000765903,0.001471397,0.008789257,0.002465017,0.005279632,0.009138832,0.01433563,0.026053515,0.045996258,0.222930968,0.662773591,0,0,0,0,0,0 +work,FALSE,17,4,0,0,0,0.000418211,0.002396043,0.007974979,0.014040235,0.00763931,0.007998749,0.020421036,0.047793315,0.160067858,0.731250266,0,0,0,0,0,0 +work,FALSE,18,1,0,0.001141884,0.000347251,0.005493278,0.0034212,0.004108535,0.018739263,0.013709509,0.003846669,0.010612585,0.030088047,0.076311695,0.459430143,0.372749941,0,0,0,0,0 +work,FALSE,18,2,0,0.000397247,0.000707705,0.005535515,0.005281963,0.006814578,0.015049985,0.03759067,0.008201571,0.014941596,0.020264402,0.096049656,0.37187676,0.417288351,0,0,0,0,0 +work,FALSE,18,3,0,0,0.000752403,0.001471647,0,0.003652225,0.011264642,0.015334427,0.024656138,0.012088375,0.011628494,0.081091511,0.38372424,0.454335898,0,0,0,0,0 +work,FALSE,18,4,0,0,0.00040169,0.000306609,0.0002567,0.000726244,0.002720367,0.010037344,0.005670103,0.015810978,0.039979813,0.053350178,0.223343181,0.647396793,0,0,0,0,0 +work,FALSE,19,1,0,0.001186239,0,0.002728595,0.007883348,0.008718809,0.009638123,0.011693247,0.012706395,0.005992436,0.024678769,0.039878395,0.101249301,0.453611585,0.320034756,0,0,0,0 +work,FALSE,19,2,0,0,0,0.004170607,0.002769083,0.008212126,0.01044298,0.034645644,0.024223099,0.015502992,0.044371325,0.03839639,0.101706769,0.292181702,0.423377281,0,0,0,0 +work,FALSE,19,3,0,0,0,0.003546437,0.001427168,0.004005704,0.004647363,0.014456394,0.026101366,0.008168106,0.016583656,0.063080785,0.175251264,0.316168107,0.366563651,0,0,0,0 +work,FALSE,19,4,0,0,0,0,0.002545816,0.001448115,0.001519341,0.006183074,0.015479082,0.010887569,0.013355331,0.023014309,0.098855008,0.198551692,0.628160662,0,0,0,0 +work,FALSE,20,1,0,0,0.002357347,0.003515438,0.003650989,0.004956981,0.005821696,0.03028673,0.010683018,0.006121216,0.039610208,0.067356772,0.074052002,0.107849619,0.362764994,0.280972989,0,0,0 +work,FALSE,20,2,0,0,0,0.003020632,0.000872671,0.009819915,0.004032092,0.033547265,0.012437164,0.023084614,0.029601855,0.030696598,0.08880218,0.150240348,0.244376765,0.3694679,0,0,0 +work,FALSE,20,3,0,0,0,0,0.004490786,0.000948296,0.00496082,0.008797541,0.038290701,0.03100745,0.01309721,0.070674268,0.104392115,0.094315975,0.284308763,0.344716076,0,0,0 +work,FALSE,20,4,0,0,0,0,0,0,0.003217512,0.008519707,0.01832166,0.021264988,0.034310024,0.032173455,0.100093463,0.115029817,0.197663659,0.469405714,0,0,0 +work,FALSE,21,1,0,0,0.00486935,0.004088274,0.009577732,0.013580516,0.019408543,0.027638575,0.028964986,0.013373832,0.01367219,0.088681299,0.105198543,0.066199405,0.05396423,0.186005224,0.3647773,0,0 +work,FALSE,21,2,0,0,0.005064281,0,0.005604807,0.001600494,0.02231608,0.036560998,0.023155074,0.011113847,0.021297782,0.024032721,0.15164875,0.095555611,0.130774865,0.152199827,0.319074864,0,0 +work,FALSE,21,3,0,0,0,0,0,0,0.008088371,0.016902755,0.023330301,0.010037114,0.04837863,0.047736466,0.100832492,0.115955331,0.150651228,0.252610972,0.225476339,0,0 +work,FALSE,21,4,0,0,0,0,0,0,0,0.009975719,0.00458937,0.004215296,0.014833666,0.013407482,0.096553857,0.131723579,0.099990132,0.155500861,0.469210038,0,0 +work,FALSE,22,1,0,0,0,0,0.002354463,0.001321627,0.001526638,0.003547564,0.007889584,0.00247877,0.061446315,0.077612309,0.104848995,0.087316793,0.063921354,0.040342969,0.155380603,0.390012018,0 +work,FALSE,22,2,0,0,0,0.001982423,0,0.007743127,0.011968403,0.008685093,0.003973347,0.012345869,0.016587124,0.040020235,0.072010749,0.098243002,0.073472113,0.096470733,0.242366696,0.314131085,0 +work,FALSE,22,3,0,0,0,0,0,0.00900164,0.001675422,0.021019519,0.008241362,0.012933333,0.01478469,0.047949921,0.119423115,0.119522763,0.080598154,0.04905538,0.20209014,0.313704562,0 +work,FALSE,22,4,0,0,0,0,0,0.00241091,0.006967046,0.024621244,0.004358134,0.006887033,0.008276343,0.047494465,0.086031065,0.153176335,0.061142075,0.031195643,0.205080104,0.362359603,0 +work,FALSE,23,1,0,0.001238847,0,0.002154573,0.003964601,0.001493218,0.012410725,0.019401965,0.016898905,0.02730294,0.011556986,0.034875148,0.041105748,0.083174793,0.018419684,0.005370325,0.063729247,0.109449086,0.54745321 +work,FALSE,23,2,0,0,0.001396549,0,0.003319033,0.005204887,0.025094008,0.033735384,0.008488109,0.01528189,0.022728985,0.031350219,0.058537975,0.074214158,0.022929206,0.042918793,0.007770177,0.170962188,0.476068439 +work,FALSE,23,3,0,0,0.001748893,0.001566752,0,0.007196939,0.011228416,0.021359669,0.028165721,0.008967715,0.028693265,0.056683172,0.078656022,0.063158735,0.099308392,0.039560138,0.024986978,0.098009336,0.43070986 +work,FALSE,23,4,0,0,0.000766782,0.004388369,0.002881109,0.004980974,0.024053963,0.026342685,0.029143148,0.024074445,0.020534932,0.036286202,0.115377511,0.062463348,0.051866458,0.057077696,0.052763369,0.108781076,0.378217933 +univ,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,5,2,0,0.141462921,0.39086301,0,0.071786124,0.025897511,0,0,0,0.097305573,0,0.030851335,0.102890339,0.138943185,0,0,0,0,0 +univ,TRUE,5,3,0,0,0.873218626,0,0,0.057857072,0,0,0,0,0,0,0,0.068924303,0,0,0,0,0 +univ,TRUE,5,4,0,0,0,0,0,0,0.32303468,0,0.32303468,0.16151734,0,0,0,0.192413299,0,0,0,0,0 +univ,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,6,2,0,0.134677838,0.456787632,0.153282563,0.059662856,0.118242123,0.03689652,0.007431799,0.019186549,0,0,0.01383212,0,0,0,0,0,0,0 +univ,TRUE,6,3,0,0.09504007,0.597276077,0.241947175,0,0,0,0.065736678,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,6,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,7,2,0,0,0.16008737,0.671458416,0.049774779,0.017812393,0.020633361,0.033501607,0,0.039093289,0.007638784,0,0,0,0,0,0,0,0 +univ,TRUE,7,3,0,0,0.052281409,0.806320518,0.030314369,0,0,0.012683969,0,0.051228214,0,0.047171521,0,0,0,0,0,0,0 +univ,TRUE,7,4,0,0,0,0.384291795,0.37997151,0.017486076,0.017486076,0,0.052458229,0.020717499,0.020717499,0.106871315,0,0,0,0,0,0,0 +univ,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,2,0,0,0,0.508028202,0.405046381,0.075475558,0.005588065,0,0.005861793,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,3,0,0,0,0.353221848,0.426314578,0.180255321,0.025900769,0.014307484,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,4,0,0,0,0.244322976,0.391323801,0.023592159,0.14547362,0.023592159,0,0.117960797,0,0.026867244,0.026867244,0,0,0,0,0,0 +univ,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,9,2,0,0,0,0,0.363140456,0.541860336,0.068377772,0.008522123,0,0,0.018099314,0,0,0,0,0,0,0,0 +univ,TRUE,9,3,0,0,0,0,0.088505041,0.64872571,0.084998604,0.177770645,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,9,4,0,0,0,0,0.139725614,0.449854868,0.134189894,0,0.276229624,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,2,0,0,0,0,0,0.346861762,0.509611346,0.026290472,0.013109947,0.104126473,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,3,0,0,0,0,0,0.302069617,0.428966039,0.192628694,0,0.07633565,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,4,0,0,0,0,0,0,0.414612817,0,0.115720886,0.347162659,0.122503637,0,0,0,0,0,0,0,0 +univ,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,11,2,0,0,0,0,0,0,0.237240285,0.707936221,0.02446143,0.00979796,0.020564104,0,0,0,0,0,0,0,0 +univ,TRUE,11,3,0,0,0,0,0,0,0.042322313,0.335051522,0.231238246,0.268514141,0.122873778,0,0,0,0,0,0,0,0 +univ,TRUE,11,4,0,0,0,0,0,0,0,0.563593836,0.248920946,0,0.058524887,0.128960331,0,0,0,0,0,0,0 +univ,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,12,2,0,0,0,0,0,0,0,0,0.437771877,0.210261779,0,0,0.297139297,0.054827047,0,0,0,0,0 +univ,TRUE,12,3,0,0,0,0,0,0,0,0,0.43873352,0.141096056,0.130019758,0,0.219455556,0.070695109,0,0,0,0,0 +univ,TRUE,12,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,13,2,0,0,0,0,0,0,0,0,0.134867601,0.583447862,0.08911022,0.053636459,0.138937858,0,0,0,0,0,0 +univ,TRUE,13,3,0,0,0,0,0,0,0,0,0.150944969,0.333823157,0.107766156,0.168152845,0,0.239312872,0,0,0,0,0 +univ,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.090285103,0.404418717,0.50529618,0,0,0,0,0,0,0 +univ,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.309699276,0.690300724,0,0,0,0,0,0,0 +univ,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +univ,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.357567593,0.542130931,0.100301476,0,0,0,0,0,0 +univ,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.628916949,0.371083051,0,0,0,0,0,0 +univ,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +univ,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +univ,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.300048836,0.63299685,0.066954314,0,0,0,0,0 +univ,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +univ,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +univ,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.14414362,0.85585638,0,0,0,0,0 +univ,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.696191337,0.303808663,0,0,0,0 +univ,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403432532,0.596567468,0,0,0,0 +univ,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.450038651,0.549961349,0,0,0,0 +univ,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,1,0,0,0.016025515,0.983974485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,2,0,0,0.262404641,0.737595359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,1,0,0,0,0.163327352,0.836672648,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,1,0,0,0,0.226661626,0.168940428,0.604397946,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,2,0,0,0,0,0.222726098,0.777273902,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,3,0,0,0,0,0.611879485,0.388120515,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,1,0,0,0,0.015316515,0.046862442,0.097177177,0.840643866,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,2,0,0,0,0.070258469,0,0.268634856,0.661106675,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,3,0,0,0,0.037689621,0,0.130353154,0.831957225,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,4,0,0,0,0,0,0.077208841,0.922791159,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,1,0,0,0.014945608,0,0.028129025,0.020638305,0.519341237,0.416945825,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,2,0,0,0.031201085,0.03237983,0.013231327,0.110325379,0.181858105,0.631004274,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,3,0,0,0,0.03549716,0.015053148,0,0.290392671,0.65905702,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,4,0,0,0,0,0.099318641,0.052098847,0.151713122,0.69686939,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,1,0,0,0,0,0,0,0.181017187,0.292661018,0.526321795,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,2,0,0,0,0,0,0,0.048301785,0.296950961,0.654747254,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,3,0,0,0,0,0,0,0,0.056113137,0.943886863,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,4,0,0,0,0,0,0.024635167,0,0,0.975364833,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,1,0,0,0,0.022000764,0.008154518,0.013638554,0.034791419,0.065882427,0.246258385,0.609273932,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,2,0,0,0,0,0,0,0.016168393,0.097081997,0.229754942,0.656994667,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,3,0,0,0,0,0,0,0.043234918,0.20601367,0.431619379,0.319132034,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,4,0,0,0,0,0,0,0.024961198,0.010062765,0.104416222,0.860559815,0,0,0,0,0,0,0,0,0 +univ,FALSE,15,1,0,0,0,0.016983489,0,0.013422718,0.023570396,0.004582712,0.053800861,0.202721356,0.684918469,0,0,0,0,0,0,0,0 +univ,FALSE,15,2,0,0,0,0,0.045151752,0,0.099380208,0.018712363,0.046279979,0.313502235,0.476973464,0,0,0,0,0,0,0,0 +univ,FALSE,15,3,0,0,0,0,0,0,0.025154904,0.093517604,0.102200685,0.131224361,0.647902447,0,0,0,0,0,0,0,0 +univ,FALSE,15,4,0,0,0,0,0,0,0.04795036,0.04795036,0.065158411,0.21500352,0.623937348,0,0,0,0,0,0,0,0 +univ,FALSE,16,1,0,0,0,0,0,0.003411195,0,0.013129003,0,0.154717961,0.529208805,0.299533037,0,0,0,0,0,0,0 +univ,FALSE,16,2,0,0,0,0.015451903,0.014978609,0,0.006115529,0.008472156,0,0.091244276,0.417492241,0.446245285,0,0,0,0,0,0,0 +univ,FALSE,16,3,0,0,0,0,0,0.016342188,0.018885054,0,0.036490672,0.062457119,0.082466854,0.783358113,0,0,0,0,0,0,0 +univ,FALSE,16,4,0,0,0,0,0,0,0,0.102624898,0.020338459,0.028320918,0.182111674,0.666604051,0,0,0,0,0,0,0 +univ,FALSE,17,1,0,0,0,0,0,0,0,0.060607217,0.015960535,0.027738146,0.138834813,0.177730039,0.579129249,0,0,0,0,0,0 +univ,FALSE,17,2,0,0,0,0,0,0,0.026878378,0,0.045587412,0.056703613,0.067767612,0.211772198,0.591290787,0,0,0,0,0,0 +univ,FALSE,17,3,0,0,0,0,0,0,0.035711491,0,0,0.030318877,0.065253534,0.105686003,0.763030094,0,0,0,0,0,0 +univ,FALSE,17,4,0,0,0,0,0,0,0.010287884,0.023408308,0.036977492,0.010287884,0.081294488,0.144862027,0.692881918,0,0,0,0,0,0 +univ,FALSE,18,1,0,0,0,0.003945375,0,0,0,0.017778798,0,0.094239059,0.126537664,0.04524658,0.521630843,0.190621681,0,0,0,0,0 +univ,FALSE,18,2,0,0,0,0.00721016,0,0,0.021117111,0.009952491,0.040163794,0.181306282,0.011084411,0,0.37585875,0.353307001,0,0,0,0,0 +univ,FALSE,18,3,0,0,0,0.006589215,0,0,0,0.019298488,0,0.057611182,0.140317157,0.028818423,0.227948944,0.51941659,0,0,0,0,0 +univ,FALSE,18,4,0,0,0,0,0,0,0.008076984,0,0.019904917,0.065674412,0.055168626,0.094050391,0.164547688,0.592576982,0,0,0,0,0 +univ,FALSE,19,1,0,0,0,0,0.009454567,0,0,0,0.04102499,0,0.023746099,0,0.135591003,0.220827281,0.56935606,0,0,0,0 +univ,FALSE,19,2,0,0,0,0,0,0,0,0,0,0.078006772,0,0.060317466,0.259929547,0.359118303,0.242627912,0,0,0,0 +univ,FALSE,19,3,0,0,0,0,0,0,0,0,0,0.021382414,0,0.021188936,0.081686174,0.348421579,0.527320897,0,0,0,0 +univ,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189756837,0.810243163,0,0,0,0 +univ,FALSE,20,1,0,0,0,0,0,0,0,0.010016964,0,0,0,0.004718289,0.003266795,0,0.085231627,0.896766325,0,0,0 +univ,FALSE,20,2,0,0,0,0,0,0,0.11773307,0.039948419,0,0.039518498,0.05632597,0,0.267130581,0.046726624,0.026652785,0.405964054,0,0,0 +univ,FALSE,20,3,0,0,0,0,0,0,0,0.120183428,0,0.019425265,0,0.12981914,0.113130998,0,0.023452919,0.59398825,0,0,0 +univ,FALSE,20,4,0,0,0,0,0,0,0,0.120271055,0,0.038712543,0.069855242,0.27999729,0.089459377,0.067799861,0.14272972,0.191174912,0,0,0 +univ,FALSE,21,1,0,0,0,0,0,0,0,0,0.007338913,0.023203309,0.007350649,0.00472513,0.002978934,0,0.033142982,0.176639731,0.744620353,0,0 +univ,FALSE,21,2,0,0,0,0,0,0,0,0,0,0.057152164,0.184622922,0.047820405,0.014739649,0.00986257,0.02270102,0.078261413,0.584839857,0,0 +univ,FALSE,21,3,0,0,0,0,0,0,0,0.023488975,0,0.025096056,0,0,0.038339259,0,0.022191995,0.28095544,0.609928273,0,0 +univ,FALSE,21,4,0,0,0,0,0,0,0,0,0.029235831,0,0.09370831,0.034296673,0,0,0,0.045049879,0.797709307,0,0 +univ,FALSE,22,1,0,0,0,0,0,0,0,0,0,0.026178201,0.014643033,0,0.007467541,0,0.019259981,0,0.427134845,0.5053164,0 +univ,FALSE,22,2,0,0,0,0,0,0,0.034835821,0,0,0,0.140548783,0,0,0,0,0,0.1300249,0.694590496,0 +univ,FALSE,22,3,0,0,0,0,0,0,0,0.046323184,0,0,0,0.186895757,0,0,0,0,0.329771262,0.437009796,0 +univ,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0.156732984,0.024747713,0.166206674,0.137729625,0.24721205,0.267370954,0 +univ,FALSE,23,1,0,0,0,0,0,0,0,0,0,0.035836574,0,0.042066438,0.075012425,0.063439215,0,0,0.301680107,0.16901224,0.312953001 +univ,FALSE,23,2,0,0,0,0,0,0,0,0.022191189,0.04703489,0.224157456,0.038381448,0.045053715,0,0.164838447,0,0,0.125234584,0.144560801,0.188547469 +univ,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0.050535751,0,0.237653614,0.043051618,0,0.251962365,0.07621155,0.340585102 +univ,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.012541125,0,0.020367286,0.065349217,0.103326665,0.070453894,0.108396964,0.135051697,0.484513153 +school,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,2,0,0.040189605,0.959810395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,3,0,0.14676025,0.559777558,0.293462192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,2,0,0.090715709,0.600480587,0.301778371,0,0,0,0,0.007025333,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,3,0,0.189913473,0.435678549,0.345471524,0.028936455,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,4,0,0.276044088,0.461879351,0.26207656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,7,2,0,0,0.358595289,0.543340426,0.080407454,0.00494145,0,0.003218472,0.001252217,0.00163666,0.005875668,0,0.000732365,0,0,0,0,0,0 +school,TRUE,7,3,0,0,0.305390104,0.552122437,0.119495284,0,0.012287658,0,0,0,0.010704517,0,0,0,0,0,0,0,0 +school,TRUE,7,4,0,0,0.244790257,0.688367336,0,0.043560183,0,0.023282223,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,8,2,0,0,0,0.750052982,0.197397697,0.003009328,0.015758235,0.00583123,0,0.002418098,0.003851683,0.011638797,0.01004195,0,0,0,0,0,0 +school,TRUE,8,3,0,0,0,0.372624607,0.42987891,0.03924466,0,0.102467106,0,0,0.055784717,0,0,0,0,0,0,0,0 +school,TRUE,8,4,0,0,0,0,0.141654355,0.129241521,0.273939898,0,0,0,0,0.31350987,0.141654355,0,0,0,0,0,0 +school,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,2,0,0,0,0,0.090691548,0.482888016,0.426420437,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,3,0,0,0,0,0.091229458,0.353634961,0.555135582,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,4,0,0,0,0,0,0.30179716,0.69820284,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,2,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,3,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,11,2,0,0,0,0,0,0,0.02770017,0.902627425,0.038595346,0.031077059,0,0,0,0,0,0,0,0,0 +school,TRUE,11,3,0,0,0,0,0,0,0,0.797232896,0.076506636,0,0.126260468,0,0,0,0,0,0,0,0 +school,TRUE,11,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,2,0,0,0,0,0,0,0,0,0.899748743,0,0,0.100251257,0,0,0,0,0,0,0 +school,TRUE,12,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,13,2,0,0,0,0,0,0,0,0,0,0.451262789,0.191174572,0.357562639,0,0,0,0,0,0,0 +school,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.068700765,0.443666092,0.487633143,0,0,0,0,0,0,0 +school,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.11838799,0.88161201,0,0,0,0,0,0,0 +school,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.534557731,0.079614802,0,0,0.385827467,0,0,0,0,0 +school,TRUE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +school,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0,0.868324906,0,0.131675094,0,0,0,0,0 +school,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.900878137,0.099121863,0,0,0,0,0,0 +school,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +school,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +school,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.173995865,0.826004135,0,0,0,0,0,0 +school,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0.637190616,0.362809384,0,0,0,0,0 +school,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.74484742,0.25515258,0,0,0,0,0 +school,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +school,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173208977,0.826791023,0,0,0,0 +school,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +school,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,1,0,0,0,0.09946831,0.90053169,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,1,0,0,0,0,0.051889499,0.948110501,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,1,0,0,0,0,0.00854797,0.143038003,0.848414027,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,2,0,0,0,0,0,0.07758327,0.92241673,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,3,0,0,0,0,0,0.05138849,0.94861151,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,1,0,0,0,0,0.019446017,0.011496295,0.285657861,0.683399827,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,2,0,0,0,0,0.019954492,0,0.331728142,0.648317366,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,3,0,0,0,0,0.033967027,0,0.201586112,0.764446861,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,4,0,0,0,0,0.113939675,0,0.018400111,0.867660214,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,1,0,0,0,0.019248269,0,0.002680163,0.030761477,0.259256669,0.688053423,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,2,0,0,0,0,0,0,0,0.189323178,0.810676822,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,3,0,0,0,0,0,0,0,0.258031986,0.741968014,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,4,0,0,0,0,0,0,0,0.279494058,0.720505942,0,0,0,0,0,0,0,0,0,0 +school,FALSE,14,1,0,0.000831908,0.000979746,0,0.001601486,0.002226531,0.002192251,0.02470079,0.091632585,0.875834703,0,0,0,0,0,0,0,0,0 +school,FALSE,14,2,0,0,0,0,0,0,0.041609561,0.016064041,0.222703138,0.71962326,0,0,0,0,0,0,0,0,0 +school,FALSE,14,3,0,0,0,0,0,0,0,0.023937672,0.13413328,0.841929047,0,0,0,0,0,0,0,0,0 +school,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,FALSE,15,1,0,0,0.006672723,0.001920517,0.000881135,0.000470656,0.007178881,0.003373865,0.007046025,0.435289669,0.537166529,0,0,0,0,0,0,0,0 +school,FALSE,15,2,0,0,0,0.003559393,0.005420446,0,0.01895427,0.006031842,0.009564559,0.299701581,0.656767909,0,0,0,0,0,0,0,0 +school,FALSE,15,3,0,0,0,0,0.014210731,0,0,0.009915361,0.013300231,0.238413075,0.724160602,0,0,0,0,0,0,0,0 +school,FALSE,15,4,0,0,0,0,0.013547957,0,0,0.003834839,0,0.141585883,0.841031322,0,0,0,0,0,0,0,0 +school,FALSE,16,1,0,0,0.003957494,0.007442128,0.002894311,0,0.018097734,0.013714786,0.017413316,0.113052385,0.49048648,0.332941366,0,0,0,0,0,0,0 +school,FALSE,16,2,0,0,0,0.001567759,0.006348016,0.004559163,0.009399428,0.015889281,0.021832495,0.089535591,0.363878359,0.486989907,0,0,0,0,0,0,0 +school,FALSE,16,3,0,0,0,0,0,0.008315162,0.022193918,0.007486006,0.004771945,0.02862127,0.176424988,0.75218671,0,0,0,0,0,0,0 +school,FALSE,16,4,0,0,0,0,0,0,0,0.028022669,0.01919336,0.027628588,0.156778381,0.768377001,0,0,0,0,0,0,0 +school,FALSE,17,1,0,0,0,0.00408238,0.006057147,0.001368873,0.003781947,0.013443846,0.020930042,0.105685888,0.191206812,0.133610245,0.51983282,0,0,0,0,0,0 +school,FALSE,17,2,0,0,0,0.004151198,0,0.00388225,0.00967742,0.013025325,0.027213825,0.07090836,0.082650841,0.202645832,0.585844949,0,0,0,0,0,0 +school,FALSE,17,3,0,0,0,0,0,0.003335544,0,0.003254012,0,0.075557182,0.182853928,0.23363666,0.501362673,0,0,0,0,0,0 +school,FALSE,17,4,0,0,0,0,0,0.006781644,0.00413291,0,0,0.007828685,0.092863122,0.424308729,0.46408491,0,0,0,0,0,0 +school,FALSE,18,1,0,0,0,0.004555021,0,0,0.006805278,0.040238758,0.025752449,0.139579581,0.145174267,0.082159935,0.330134952,0.225599759,0,0,0,0,0 +school,FALSE,18,2,0,0,0,0,0,0,0.002018633,0.017639777,0.011559497,0.035110168,0.084872767,0.077914013,0.273264514,0.497620631,0,0,0,0,0 +school,FALSE,18,3,0,0,0,0,0,0,0.002017331,0.006931595,0.009423374,0.041198595,0.078999404,0.039268257,0.366809487,0.455351956,0,0,0,0,0 +school,FALSE,18,4,0,0,0,0,0,0,0,0,0.018561399,0.043258965,0,0.032292792,0.225093524,0.680793321,0,0,0,0,0 +school,FALSE,19,1,0,0,0.012570056,0,0,0,0.016011468,0.016057604,0.07668851,0.134954753,0.226805131,0.045185104,0.119737059,0.1042095,0.247780814,0,0,0,0 +school,FALSE,19,2,0,0,0,0,0,0,0,0,0.035149661,0.079025772,0.252249169,0.074284557,0.168495532,0.132896247,0.257899061,0,0,0,0 +school,FALSE,19,3,0,0,0,0,0,0,0.005256704,0.005256704,0,0.009878056,0.069178911,0.139359082,0.209998751,0.300301838,0.260769954,0,0,0,0 +school,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.022433763,0.009746389,0.043021361,0.243536894,0.681261593,0,0,0,0 +school,FALSE,20,1,0,0,0,0,0,0,0.036381208,0,0.005800614,0.031932891,0.149632504,0.044906251,0.163413396,0.076354612,0.020580741,0.470997783,0,0,0 +school,FALSE,20,2,0,0,0,0.036384497,0,0,0,0.015532617,0.011426107,0.027703676,0.076335086,0.040493411,0.142356662,0.132693585,0.187215615,0.329858743,0,0,0 +school,FALSE,20,3,0,0,0,0,0,0,0,0.03877589,0.045812113,0.065392635,0.101494701,0.055752291,0.061584445,0.034149257,0.28928825,0.307750418,0,0,0 +school,FALSE,20,4,0,0,0,0,0,0,0,0,0.036041044,0,0.141425909,0.042527443,0.019058777,0.102734314,0.237735178,0.420477334,0,0,0 +school,FALSE,21,1,0,0,0,0,0,0,0.029175445,0.047201664,0,0.059213923,0.186189825,0,0.015107113,0,0.014924261,0.246756883,0.401430887,0,0 +school,FALSE,21,2,0,0,0,0,0,0,0.018242295,0,0.051393732,0.017166791,0.159810093,0.01466897,0.065248355,0.019698184,0.082686594,0.128131407,0.442953578,0,0 +school,FALSE,21,3,0,0,0,0,0,0,0,0,0,0.044964736,0,0.026693251,0.075177802,0.03517993,0.025975511,0.337402271,0.4546065,0,0 +school,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0.058839649,0.052164792,0.030967554,0.061935107,0.029419825,0.145827525,0.620845548,0,0 +school,FALSE,22,1,0.023037375,0,0,0,0,0,0,0,0,0.080648327,0.361587215,0.039998637,0.119661147,0.145124395,0.025588201,0,0.115793964,0.088560738,0 +school,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.066321013,0.205698394,0.043934105,0.180253452,0.112019427,0.014897164,0.028012145,0.055418593,0.293445707,0 +school,FALSE,22,3,0,0,0,0.017205445,0,0,0,0,0,0,0,0.072013982,0.171335382,0.018627394,0.235525324,0.014627752,0.218669111,0.25199561,0 +school,FALSE,22,4,0,0,0,0,0,0,0.014630535,0,0,0,0,0,0,0.021783187,0.041931895,0.020148708,0.336082731,0.565422944,0 +school,FALSE,23,1,0,0,0,0,0,0,0,0,0.111780051,0.21697306,0.207813189,0,0.029486875,0.065930991,0.028259313,0.025083791,0.027543321,0.043512885,0.243616523 +school,FALSE,23,2,0,0,0,0,0,0,0,0,0,0.125873532,0.191933649,0.013156926,0.035810782,0.023201345,0,0.03046339,0.176154142,0.116307048,0.287099186 +school,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.39711845,0.032800383,0,0,0.246473294,0,0,0.167995519,0.155612354 +school,FALSE,23,4,0,0,0,0,0,0,0,0,0.313300531,0,0,0,0,0.002398637,0.195897513,0,0.195897513,0.004797275,0.28770853 +escort,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,5,2,0.056858007,0.134308757,0.177188158,0,0,0.13142305,0,0.060572569,0,0.148645889,0.139773895,0.099108225,0,0.048544465,0.003576985,0,0,0,0 +escort,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0.744635807,0,0,0.255364193,0,0,0,0,0 +escort,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0.812216804,0.046945799,0,0.140837397,0,0,0,0,0 +escort,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,6,2,0,0.317902833,0.447578121,0.020114912,0,0,0.053725104,0,0,0.040669001,0.069308805,0.050701225,0,0,0,0,0,0,0 +escort,TRUE,6,3,0,0,0.573662861,0,0,0,0.426337139,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,6,4,0,0,0,0,0,0,0.42115826,0.15768348,0.42115826,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,7,2,0,0,0.142617064,0.38383586,0.072492592,0.032249474,0.032292989,0.061737992,0.014418217,0,0.117686396,0.044994655,0.097674761,0,0,0,0,0,0 +escort,TRUE,7,3,0,0,0,0,0,0.045211707,0,0,0.126121874,0,0.277934232,0.221864174,0,0.328868013,0,0,0,0,0 +escort,TRUE,7,4,0,0,0,0,0,0.046374243,0,0,0.072684124,0,0,0.059438015,0.270430055,0.098354465,0,0.157068569,0,0.295650529,0 +escort,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,8,2,0,0,0,0.321006938,0.473310236,0.008304761,0.028639249,0.02199492,0.016407044,0,0.05343627,0.024107423,0.052793161,0,0,0,0,0,0 +escort,TRUE,8,3,0,0,0,0.32761399,0.648736988,0.023649023,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,8,4,0,0,0,0,0.203285069,0.087659544,0.087659544,0,0.005822781,0,0,0,0.101642534,0.005717855,0.508212672,0,0,0,0 +escort,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,9,2,0,0,0,0,0.320224882,0.267747579,0.099295479,0,0.061354638,0.200251803,0,0,0,0.020258001,0.030867619,0,0,0,0 +escort,TRUE,9,3,0,0,0,0,0,0.432761501,0.214593419,0,0.146040986,0.206604093,0,0,0,0,0,0,0,0,0 +escort,TRUE,9,4,0,0,0,0,0,0,0.1657582,0.096920036,0.259807729,0,0.159171345,0.159171345,0.159171345,0,0,0,0,0,0 +escort,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,10,2,0,0,0,0,0,0.196501921,0.373640136,0.138599097,0.094607199,0.196651647,0,0,0,0,0,0,0,0,0 +escort,TRUE,10,3,0,0,0,0,0,0.116175548,0.44952369,0.143154558,0.097571597,0.14871659,0.044858016,0,0,0,0,0,0,0,0 +escort,TRUE,10,4,0,0,0,0,0,0,0.152413275,0.360078185,0.346132466,0.141376074,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,2,0,0,0,0,0,0,0.236755791,0.714983274,0.028256555,0.02000438,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,3,0,0,0,0,0,0,0,0.379678398,0.448220444,0.172101157,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,12,2,0,0,0,0,0,0,0,0.146819614,0.555791511,0.044450314,0.058009028,0.153878569,0.041050964,0,0,0,0,0,0 +escort,TRUE,12,3,0,0,0,0,0,0,0,0,0.743230427,0.054234351,0.202535221,0,0,0,0,0,0,0,0 +escort,TRUE,12,4,0,0,0,0,0,0,0,0,0,0.132670832,0.867329168,0,0,0,0,0,0,0,0 +escort,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,13,2,0,0,0,0,0,0,0,0,0.092255068,0.585233838,0.30962564,0.012885454,0,0,0,0,0,0,0 +escort,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.671206778,0.328793222,0,0,0,0,0,0,0,0 +escort,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.228972422,0.771027578,0,0,0,0,0,0,0,0 +escort,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +escort,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.562794406,0.331440849,0.082858701,0,0.022906044,0,0,0,0,0 +escort,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.645172877,0.181000922,0.173826201,0,0,0,0,0,0 +escort,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0,0.753171928,0.246828072,0,0,0,0,0,0 +escort,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +escort,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.201660218,0.766732321,0.031607461,0,0,0,0,0,0 +escort,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.299056486,0.074996412,0.41897627,0.206970833,0,0,0,0,0 +escort,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.150453054,0.849546946,0,0,0,0,0 +escort,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +escort,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.579038356,0.255758044,0.165203599,0,0,0,0,0 +escort,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.035336994,0.238269535,0.726393471,0,0,0,0,0 +escort,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +escort,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +escort,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.197118737,0.703970119,0.036315607,0.026383772,0.036211766,0,0 +escort,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.427169666,0.572830334,0,0,0,0 +escort,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +escort,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +escort,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185479472,0.434361919,0.338714329,0.041444281,0,0 +escort,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78249237,0.21750763,0,0,0 +escort,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.823014212,0.176985788,0 +escort,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +escort,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.285555275,0.649528389,0.064916336,0,0 +escort,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +escort,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199542785,0.800457215,0,0 +escort,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,1,0.040029892,0.959970108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,1,0,0.020969803,0.979030197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,1,0,0,0.118338551,0.881661449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,2,0,0,0.034411699,0.965588301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,1,0,0,0.004282148,0.282836493,0.71288136,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,2,0,0,0,0.171647398,0.828352602,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,3,0,0,0,0.21068634,0.78931366,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,4,0,0,0,0.019911517,0.980088483,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,1,0,0,0.018159729,0.078956734,0.236267706,0.66661583,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,2,0,0,0,0.138185723,0.240772266,0.621042011,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,3,0,0,0.040625092,0.114436303,0.44797514,0.396963465,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,4,0,0,0,0,0.181720167,0.818279833,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,1,0,0,0,0.031917445,0.047683392,0.099924869,0.820474293,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,2,0,0,0,0,0.020814603,0.392076313,0.587109083,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,3,0,0,0,0,0.032514248,0.315393925,0.652091828,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,4,0,0,0,0,0,0.249548162,0.750451838,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,1,0,0,0,0.018963707,0.021920487,0.031520436,0.140654387,0.786940984,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,2,0,0,0,0.03235256,0.042149511,0.05052472,0.131440073,0.743533136,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,3,0,0,0,0.050468014,0,0.017084057,0.229496221,0.702951708,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,4,0,0,0,0,0.048745163,0,0.147271645,0.803983192,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,1,0,0,0.002941942,0.022003062,0.00551188,0.013544069,0.038590922,0.171545199,0.745862927,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,2,0,0,0,0.015043096,0.006073583,0.009841677,0.054297211,0.176600055,0.738144378,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,3,0,0,0,0.021105735,0,0,0.046096397,0.122921811,0.809876056,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,4,0,0,0,0,0,0,0,0.099840566,0.900159434,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,1,0,0,0,0.048520661,0,0,0.016138911,0.044713809,0.085550978,0.805075641,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,2,0,0,0,0.009564053,0.153251843,0,0,0.114426845,0.102407993,0.620349267,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,3,0,0,0,0,0,0,0.013997667,0.033806812,0.25169859,0.700496931,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,4,0,0,0,0,0,0,0,0.031515821,0.082969823,0.885514356,0,0,0,0,0,0,0,0,0 +escort,FALSE,15,1,0.001473284,0.001275418,0.003819369,0.008997,0.006335419,0.008570073,0.003284399,0.001014618,0.005676659,0.244506482,0.715047279,0,0,0,0,0,0,0,0 +escort,FALSE,15,2,0.004847658,0.004196604,0.007080083,0.006185119,0.01421088,0,0.026061603,0.014229404,0.009049421,0.195982731,0.718156496,0,0,0,0,0,0,0,0 +escort,FALSE,15,3,0,0.012564661,0,0,0,0.021197818,0.014513923,0.011367283,0.031969048,0.126086289,0.782300976,0,0,0,0,0,0,0,0 +escort,FALSE,15,4,0,0,0,0,0,0.027149505,0.045738486,0.027149505,0.029117725,0.13954129,0.731303489,0,0,0,0,0,0,0,0 +escort,FALSE,16,1,0.00200405,0.001051772,0.006771555,0.00180834,0.015487237,0.019320069,0.003963644,0.003467036,0,0.014608191,0.140235591,0.791282514,0,0,0,0,0,0,0 +escort,FALSE,16,2,0,0,0,0.006365421,0.007122206,0.007817846,0.005072611,0.002561853,0.010562285,0.011331327,0.163631956,0.785534495,0,0,0,0,0,0,0 +escort,FALSE,16,3,0,0,0,0,0,0,0.013949693,0.015608287,0.031607957,0.045248859,0.086738092,0.806847112,0,0,0,0,0,0,0 +escort,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.176949473,0.823050527,0,0,0,0,0,0,0 +escort,FALSE,17,1,0,0.001885858,0.014135456,0.015985525,0.002552119,0,0,0.002305352,0,0.019788158,0.05304134,0.114790493,0.775515701,0,0,0,0,0,0 +escort,FALSE,17,2,0,0,0.01612501,0.004912147,0,0,0,0,0.006052735,0,0.066169183,0.192117368,0.714623557,0,0,0,0,0,0 +escort,FALSE,17,3,0,0,0,0,0,0,0,0,0,0.020217729,0.029305934,0.331354145,0.619122192,0,0,0,0,0,0 +escort,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0.06461582,0.084856782,0.850527398,0,0,0,0,0,0 +escort,FALSE,18,1,0,0.005432163,0.038940224,0.026689744,0.058158769,0,0.034797386,0,0,0.003175997,0.015025769,0.011190666,0.133413828,0.673175452,0,0,0,0,0 +escort,FALSE,18,2,0.006475372,0,0.028703811,0,0.057765487,0,0.00513516,0.012023268,0,0.005808733,0.027224281,0.023941956,0.217891148,0.615030786,0,0,0,0,0 +escort,FALSE,18,3,0,0,0,0,0,0,0,0.023354896,0,0,0.010873824,0.043494105,0.216938965,0.70533821,0,0,0,0,0 +escort,FALSE,18,4,0,0,0,0,0,0,0,0,0,0.030910531,0.015455265,0.036197751,0.134169828,0.783266626,0,0,0,0,0 +escort,FALSE,19,1,0,0,0.015759767,0.084811588,0,0.002872924,0,0.006556512,0.028956925,0.008237531,0,0.012966642,0.041318552,0.134584946,0.663934612,0,0,0,0 +escort,FALSE,19,2,0,0,0,0.041554494,0,0,0,0.005100141,0.012765195,0.005414707,0,0.027095562,0.040399,0.160510182,0.707160719,0,0,0,0 +escort,FALSE,19,3,0,0,0,0.042762147,0,0,0,0,0,0,0,0.118635541,0.138902724,0.131182018,0.568517571,0,0,0,0 +escort,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0.033575497,0.22070458,0.745719923,0,0,0,0 +escort,FALSE,20,1,0,0,0,0,0.076554131,0,0.004387939,0,0.005379578,0,0,0.005770825,0.013203816,0.052748034,0.038731746,0.80322393,0,0,0 +escort,FALSE,20,2,0,0,0,0,0,0,0.012675397,0,0,0,0.015539935,0,0.0372498,0.038141734,0.263200874,0.63319226,0,0,0 +escort,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0.142988825,0.070710819,0.050794946,0.73550541,0,0,0 +escort,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054259213,0.205166313,0.740574475,0,0,0 +escort,FALSE,21,1,0,0,0,0.009094963,0.016533621,0,0,0,0,0.037489891,0.01972214,0.048167746,0,0.021841243,0.064693921,0.167744598,0.614711876,0,0 +escort,FALSE,21,2,0,0,0.010099315,0,0,0.041511619,0,0,0.014099016,0.047958493,0,0,0.074669665,0,0.04646442,0.263279058,0.501918415,0,0 +escort,FALSE,21,3,0,0,0.017776541,0,0,0,0,0,0,0,0.024816708,0,0.07306763,0.131431527,0.035447508,0.193292186,0.5241679,0,0 +escort,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.022628167,0,0.052756196,0.032321457,0.080116339,0.812177841,0,0 +escort,FALSE,22,1,0,0,0,0.113172185,0,0,0,0,0,0.026397261,0.044886063,0,0,0.019218468,0.004386306,0.028722261,0.247924763,0.515292694,0 +escort,FALSE,22,2,0,0,0,0,0,0,0.18017321,0,0,0,0,0.074732757,0,0.107022619,0.042577452,0.038743506,0.038743506,0.518006951,0 +escort,FALSE,22,3,0,0,0,0,0,0,0.267409489,0,0,0,0,0,0,0,0.015267396,0.143659747,0.183067852,0.390595517,0 +escort,FALSE,22,4,0,0,0,0,0,0,0,0.234024187,0.234024187,0,0,0,0,0,0,0,0.303429308,0.228522318,0 +escort,FALSE,23,1,0,0,0,0,0,0,0,0.008127027,0.007835463,0.151355656,0,0.052450125,0.03651837,0.092153785,0.022741195,0,0.087045131,0.09410699,0.447666258 +escort,FALSE,23,2,0,0,0,0,0,0,0,0.038717113,0,0.014072799,0.013520577,0.321560091,0.117135518,0.10301486,0.065001842,0,0.046587075,0.02971575,0.250674374 +escort,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.026894061,0.13703111,0,0.082687611,0.04923207,0,0.121213706,0.200076012,0.38286543 +escort,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.049644185,0,0,0,0,0,0.09087828,0.241408525,0.61806901 +shopping,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,5,2,0,0.18855969,0.026231205,0,0.018666624,0.036855114,0.01579057,0.02877734,0,0.008686294,0.03735935,0.062874703,0.02993166,0.13469908,0.360321567,0.051246804,0,0,0 +shopping,TRUE,5,3,0,0,0,0,0.061551337,0,0.071672554,0.060629628,0,0,0.091646938,0.65884087,0,0,0,0.055658673,0,0,0 +shopping,TRUE,5,4,0,0,0,0,0,0,0.063047092,0,0,0.063047092,0,0.063047092,0.096265448,0.600570816,0,0.05701123,0,0,0.05701123 +shopping,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,6,2,0,0.236185322,0.189345656,0.027307243,0,0.09795574,0.025679731,0.06524777,0,0.065782608,0.146681657,0.061307682,0.084506592,0,0,0,0,0,0 +shopping,TRUE,6,3,0,0.122362042,0,0.056125397,0,0.3786476,0,0,0.104941475,0,0,0.337923485,0,0,0,0,0,0,0 +shopping,TRUE,6,4,0,0,0,0,0,0.333126,0,0.333126,0,0,0,0.215517962,0.061611625,0.056618413,0,0,0,0,0 +shopping,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,7,2,0,0,0.137784762,0.347610842,0.133435005,0.027404455,0.039144758,0.071879163,0.050738746,0,0.035619826,0.112566834,0,0.017941118,0.01764776,0.008226732,0,0,0 +shopping,TRUE,7,3,0,0,0.118039813,0.173078319,0.187104935,0.14629093,0.052634804,0.10898427,0,0,0,0.168712159,0.045154769,0,0,0,0,0,0 +shopping,TRUE,7,4,0,0,0,0.044071544,0,0.113245235,0,0,0,0,0.055926536,0.110694997,0.261835563,0.414226125,0,0,0,0,0 +shopping,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,8,2,0,0,0,0.216420344,0.444754798,0.146005729,0.070193472,0.027780288,0.022919028,0,0.028031874,0,0.017321534,0.012974919,0,0,0,0.013598014,0 +shopping,TRUE,8,3,0,0,0,0.11915052,0.47354413,0.131084867,0.131912474,0.029942334,0.092204361,0.012421891,0,0,0,0.009739424,0,0,0,0,0 +shopping,TRUE,8,4,0,0,0,0.091488151,0.546318896,0.031542872,0.035173262,0.043158455,0.069562754,0.074293154,0.014133102,0.01007907,0.063090109,0.011081104,0,0.01007907,0,0,0 +shopping,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,9,2,0,0,0,0,0.25829748,0.338424677,0.195615866,0.063977369,0.037499937,0.014738329,0.047325307,0,0.015434424,0.020988402,0.007698208,0,0,0,0 +shopping,TRUE,9,3,0,0,0,0,0.092189784,0.255069356,0.282966449,0.075774276,0.085242805,0.057005967,0.019307332,0.104848677,0,0.027595353,0,0,0,0,0 +shopping,TRUE,9,4,0,0,0,0,0,0.086253583,0.235736082,0.217929307,0.026367245,0.066851523,0.150316009,0.167128809,0,0.049417443,0,0,0,0,0 +shopping,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,10,2,0,0,0,0,0,0.447429351,0.377114876,0.1219042,0.01784823,0.022881298,0.007112195,0.00570985,0,0,0,0,0,0,0 +shopping,TRUE,10,3,0,0,0,0,0,0.203895878,0.380391288,0.125413278,0.121084198,0.097085986,0.03993943,0.032189942,0,0,0,0,0,0,0 +shopping,TRUE,10,4,0,0,0,0,0,0.026436932,0.286895016,0.076810524,0.38619219,0.152227751,0.048029261,0,0.023408325,0,0,0,0,0,0 +shopping,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,11,2,0,0,0,0,0,0,0.321289054,0.351540642,0.130487047,0.150332918,0.014224049,0.004332814,0.027793477,0,0,0,0,0,0 +shopping,TRUE,11,3,0,0,0,0,0,0,0.22652124,0.229119163,0.279822494,0.140263855,0.09076511,0.017983211,0,0.015524928,0,0,0,0,0 +shopping,TRUE,11,4,0,0,0,0,0,0,0.060435728,0,0.337860558,0.382359867,0.089042433,0.089042433,0,0,0,0.041258981,0,0,0 +shopping,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,12,2,0,0,0,0,0,0,0,0.327958916,0.465492803,0.141109297,0.020542537,0.022498994,0.01140431,0.010993144,0,0,0,0,0 +shopping,TRUE,12,3,0,0,0,0,0,0,0,0.178317517,0.451517182,0.27737762,0.065198536,0,0.009801894,0.017787251,0,0,0,0,0 +shopping,TRUE,12,4,0,0,0,0,0,0,0,0,0.213180964,0.240910483,0.152246297,0.393662256,0,0,0,0,0,0,0 +shopping,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,13,2,0,0,0,0,0,0,0,0,0.508107696,0.321685937,0.081799219,0.061327596,0.027079551,0,0,0,0,0,0 +shopping,TRUE,13,3,0,0,0,0,0,0,0,0,0.177195753,0.267607099,0.084531289,0.424560684,0.014787439,0.031317737,0,0,0,0,0 +shopping,TRUE,13,4,0,0,0,0,0,0,0,0,0.263218395,0.402482495,0.061208389,0.185818041,0,0,0,0.087272681,0,0,0 +shopping,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +shopping,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.438870825,0.372372041,0.160848114,0.021826983,0,0,0.006082036,0,0,0 +shopping,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.017173884,0.628449853,0.104128183,0.031161272,0,0,0.10714611,0.111940698,0,0 +shopping,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.490831445,0,0,0,0,0.254584278,0.254584278,0,0 +shopping,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +shopping,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.261294755,0.632140733,0.068294747,0.038269765,0,0,0,0,0 +shopping,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.150837677,0.364045291,0.292150535,0.06771696,0,0.125249537,0,0,0 +shopping,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.36746411,0,0.075770875,0,0.278382507,0.278382507,0,0 +shopping,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +shopping,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.554781367,0.360878736,0.067834102,0.016505795,0,0,0,0 +shopping,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.327593582,0.637795928,0.034610489,0,0,0,0,0 +shopping,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0.076274354,0.757840172,0.055295158,0.110590316,0,0,0,0 +shopping,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +shopping,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.281133857,0.595643382,0.100047971,0,0.023174789,0,0 +shopping,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.517896269,0.345741974,0.070632988,0,0,0.065728769,0 +shopping,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.783800606,0,0.072066465,0.144132929,0,0 +shopping,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +shopping,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299407159,0.536590408,0.150080831,0.013921602,0,0 +shopping,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192023096,0.807976904,0,0,0,0 +shopping,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.221357455,0.693718463,0.084924082,0,0 +shopping,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.905321875,0.094678125,0,0 +shopping,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.768749763,0.231250237,0 +shopping,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,2,0,0,0.057856159,0.942143841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,1,0,0,0,0.063004812,0.936995188,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,2,0,0,0,0.215154916,0.784845084,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,1,0,0,0,0.034621691,0.199730362,0.765647947,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,2,0,0,0,0.013947823,0.249445429,0.736606748,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,3,0,0,0,0,0.263792407,0.736207593,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,4,0,0,0,0,0.190842252,0.809157748,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,1,0,0,0,0,0.017620786,0.158923567,0.823455647,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,2,0,0,0,0,0.004541602,0.230049175,0.765409223,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,3,0,0,0,0,0,0.338910752,0.661089248,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,4,0,0,0,0,0,0.150257604,0.849742396,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,1,0,0,0.002514383,0,0.039915577,0.051276757,0.273727641,0.632565641,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,2,0,0,0,0,0.039730806,0.073816678,0.261462334,0.624990182,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,3,0,0,0,0,0.004430216,0.044433351,0.292333728,0.658802706,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,4,0,0,0,0,0,0.035609316,0.240024471,0.724366213,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,1,0,0,0,0,0.002652468,0.017076075,0.03891727,0.241051111,0.700303076,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,2,0,0,0,0,0.008356207,0.019728013,0.123359666,0.171778982,0.676777133,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,3,0,0,0,0,0.019588158,0,0.046245315,0.40772273,0.526443797,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,4,0,0,0,0,0.025743876,0.051487752,0.032165405,0.12492976,0.765673208,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,1,0,0,0,0.014322812,0.008308251,0.005594512,0.016143904,0.130012933,0.19330349,0.632314098,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,2,0,0,0,0.005506763,0.021606723,0.003403522,0.013852092,0.106618856,0.339860692,0.509151352,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,3,0,0,0,0.011027918,0,0.003096348,0.058586882,0.104167817,0.217735941,0.605385093,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,4,0,0,0,0.01227549,0,0.019168758,0.003446634,0.105336725,0.267971535,0.591800858,0,0,0,0,0,0,0,0,0 +shopping,FALSE,15,1,0,0,0,0,0.004254425,0.009138,0.019091237,0.013981558,0.039120881,0.34948947,0.564924428,0,0,0,0,0,0,0,0 +shopping,FALSE,15,2,0,0,0,0,0.001627899,0.009215496,0.004903293,0.002308669,0.07302082,0.221873866,0.687049956,0,0,0,0,0,0,0,0 +shopping,FALSE,15,3,0,0,0,0,0.003142874,0,0.025204014,0,0.04008905,0.235602582,0.69596148,0,0,0,0,0,0,0,0 +shopping,FALSE,15,4,0,0,0,0,0,0,0.004328876,0.008657753,0,0.285614869,0.701398502,0,0,0,0,0,0,0,0 +shopping,FALSE,16,1,0,0,0,0.000878576,0.003497576,0.021588157,0.009216937,0.008217315,0.002448233,0.048046219,0.232893086,0.673213901,0,0,0,0,0,0,0 +shopping,FALSE,16,2,0,0,0,0,0,0.035847568,0.011510797,0.014922592,0.020904683,0.052635454,0.243160325,0.62101858,0,0,0,0,0,0,0 +shopping,FALSE,16,3,0,0,0,0,0,0.051361483,0.00311995,0,0.051491012,0.042960512,0.192617192,0.658449851,0,0,0,0,0,0,0 +shopping,FALSE,16,4,0,0,0,0,0,0.046465728,0.002556214,0.025713434,0.038861358,0.073644993,0.248297436,0.564460837,0,0,0,0,0,0,0 +shopping,FALSE,17,1,0,0.002208578,0.009311633,0.01738702,0.001331755,0.005016926,0.003171846,0.006879148,0.001436793,0.027480637,0.058941124,0.29462051,0.572214029,0,0,0,0,0,0 +shopping,FALSE,17,2,0,0,0,0,0,0,0.010344283,0.037939171,0.039422982,0.026045212,0.06114443,0.190229666,0.634874255,0,0,0,0,0,0 +shopping,FALSE,17,3,0,0,0,0,0.007721229,0,0.011554543,0.070232976,0.032812162,0.025350429,0.070540072,0.236685334,0.545103256,0,0,0,0,0,0 +shopping,FALSE,17,4,0,0,0,0,0,0.006990598,0.033455447,0.006990598,0,0.064675896,0.055525232,0.171396816,0.660965415,0,0,0,0,0,0 +shopping,FALSE,18,1,0,0.033355807,0,0.001892316,0.00090772,0.004904866,0.001167821,0.016722263,0.003141548,0.002779365,0.024569171,0.061842541,0.271632599,0.577083981,0,0,0,0,0 +shopping,FALSE,18,2,0,0.075251856,0,0.017407741,0,0,0.005067103,0.012905849,0.043130871,0.028315061,0.006542046,0.109303095,0.166027278,0.536049102,0,0,0,0,0 +shopping,FALSE,18,3,0,0,0,0,0,0,0,0,0,0.066490049,0.057249304,0.237270804,0.359314757,0.279675086,0,0,0,0,0 +shopping,FALSE,18,4,0,0,0,0,0,0,0.007859239,0,0.011296648,0.003929619,0.099720544,0.061193285,0.240312145,0.575688521,0,0,0,0,0 +shopping,FALSE,19,1,0,0.002312931,0.007027556,0.00055146,0,0.020661977,0,0,0.011821234,0.002688782,0.004292928,0.007532001,0.051155819,0.156901174,0.735054139,0,0,0,0 +shopping,FALSE,19,2,0,0,0,0,0,0,0,0.003320994,0.005290597,0.01358355,0.003788453,0.020449742,0.075630163,0.221134543,0.656801959,0,0,0,0 +shopping,FALSE,19,3,0,0,0,0,0,0,0.014614817,0,0,0.020347906,0.008733406,0,0.047735668,0.374113208,0.534454996,0,0,0,0 +shopping,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.020864671,0.058211406,0.120273738,0.204544879,0.596105306,0,0,0,0 +shopping,FALSE,20,1,0,0,0,0,0,0.001536146,0,0.001675312,0,0,0,0,0,0.047561031,0.181509603,0.767717908,0,0,0 +shopping,FALSE,20,2,0,0,0,0,0,0.00331683,0,0.004518272,0.00566615,0,0.002748233,0,0.008286949,0.051482817,0.259536082,0.664444667,0,0,0 +shopping,FALSE,20,3,0,0,0,0,0,0,0,0.011858233,0.008705041,0,0.022083602,0.018110733,0,0.035127515,0.143310213,0.760804664,0,0,0 +shopping,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.03498938,0.040641133,0.145381408,0.371268099,0.407719981,0,0,0 +shopping,FALSE,21,1,0,0,0,0,0,0,0,0.004266615,0.002430883,0,0.007940168,0.009395117,0.021163822,0.046202149,0.053837474,0.173465177,0.681298593,0,0 +shopping,FALSE,21,2,0,0,0,0,0,0,0.007985058,0.003444064,0.007416145,0,0.004827496,0.003843961,0.059108441,0.050308287,0.078478176,0.182109604,0.602478768,0,0 +shopping,FALSE,21,3,0,0,0,0,0,0,0,0,0.037797058,0.007828278,0.02376667,0.011687609,0,0.020240379,0.189418946,0.098165754,0.611095305,0,0 +shopping,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.019033172,0,0.01121107,0.036432132,0.018720166,0.031263843,0.186160383,0.697179234,0,0 +shopping,FALSE,22,1,0,0,0,0,0,0.018041153,0,0,0,0,0,0,0.009811009,0.008718506,0.044707222,0.097289219,0.453480605,0.367952287,0 +shopping,FALSE,22,2,0,0,0,0,0,0.014478651,0,0,0.00946373,0,0,0.015817118,0.022169677,0.014478651,0,0.0282764,0.258592224,0.63672355,0 +shopping,FALSE,22,3,0,0,0,0,0,0,0,0,0.017617342,0.054918813,0,0,0,0.029444584,0.095176163,0,0,0.802843098,0 +shopping,FALSE,22,4,0,0,0,0,0,0,0,0,0.020680151,0,0,0.158687133,0,0.087459292,0.073575862,0.034563581,0.293241585,0.331792395,0 +shopping,FALSE,23,1,0,0,0,0.023821741,0,0,0,0.039038004,0.026879421,0,0.010904146,0.018269598,0.019509677,0.079126477,0.035829398,0.029321261,0,0.084296742,0.633003535 +shopping,FALSE,23,2,0,0.103799266,0,0,0.011152724,0,0,0.015806724,0.046340267,0.023976697,0.037355147,0,0.054819521,0.059060036,0.061565304,0.051303212,0.00884805,0.147229688,0.378743364 +shopping,FALSE,23,3,0,0,0,0,0.155683525,0,0,0,0.034179578,0,0,0.080880151,0,0.080591686,0.03920938,0.158345959,0.053129458,0.120909369,0.277070893 +shopping,FALSE,23,4,0,0,0,0,0,0.157154735,0.078577368,0.196443419,0.047914328,0.039288684,0.12397869,0.009075333,0,0.026776309,0.014018049,0.026776309,0.008914443,0.067449234,0.2036331 +othmaint,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,5,2,0,0.040658727,0.120399874,0.213344233,0.111017831,0.079889013,0.042291218,0,0.204453217,0,0,0.104955464,0.082990423,0,0,0,0,0,0 +othmaint,TRUE,5,3,0,0,0,0,0,0,0,0.287213384,0,0,0,0,0.712786616,0,0,0,0,0,0 +othmaint,TRUE,5,4,0,0,0,0,0,0,0,0,0.124355516,0.248711031,0,0,0.105129078,0,0.521804375,0,0,0,0 +othmaint,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,6,2,0,0,0.235488214,0.357403945,0.125753019,0,0,0.078259791,0,0.046555016,0.11357777,0.042962245,0,0,0,0,0,0,0 +othmaint,TRUE,6,3,0,0,0.326226519,0,0,0,0,0.174974691,0,0.373408666,0.125390124,0,0,0,0,0,0,0,0 +othmaint,TRUE,6,4,0,0,0,0,0,0,0.051430893,0.051430893,0,0.213968684,0.153518801,0.186667766,0.102982298,0.145655522,0,0.042793737,0.051551405,0,0 +othmaint,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,7,2,0,0,0.161965305,0.560535311,0.143218808,0.033324008,0.013918476,0.026127179,0.005375436,0,0.011132734,0.01156894,0.02310162,0,0.009732183,0,0,0,0 +othmaint,TRUE,7,3,0,0,0.113525478,0.598967516,0.089069194,0.080738894,0,0.030379017,0,0,0.0168487,0.017349938,0.019216267,0.018737763,0,0,0.015167234,0,0 +othmaint,TRUE,7,4,0,0,0.067302976,0.204351658,0.170979792,0.399761316,0.008551266,0.113238461,0,0,0,0,0,0.035814532,0,0,0,0,0 +othmaint,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,8,2,0,0,0,0.275563345,0.484065773,0.083338937,0.065284531,0.034854754,0.014700638,0.02595601,0.016236011,0,0,0,0,0,0,0,0 +othmaint,TRUE,8,3,0,0,0,0.256465635,0.196396681,0.177854408,0.122055686,0.028927661,0.08283666,0.079901924,0.043539857,0.012021488,0,0,0,0,0,0,0 +othmaint,TRUE,8,4,0,0,0,0,0.028047731,0,0.350951603,0,0.149252856,0.30289175,0,0.04635913,0.122496929,0,0,0,0,0,0 +othmaint,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,9,2,0,0,0,0,0.230097736,0.368638076,0.127385774,0.016744897,0.150776775,0,0,0.007474052,0.098882689,0,0,0,0,0,0 +othmaint,TRUE,9,3,0,0,0,0,0,0.231740286,0.127213569,0.112305301,0.189734694,0.10677054,0.198766593,0.033469018,0,0,0,0,0,0,0 +othmaint,TRUE,9,4,0,0,0,0,0,0,0.34116944,0,0.583836564,0.074993995,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,2,0,0,0,0,0,0.286259076,0.537234442,0.142887206,0.033619275,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,3,0,0,0,0,0,0.164777982,0.52409087,0.14628494,0.049989666,0,0.114856542,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,2,0,0,0,0,0,0,0.473598812,0.258143996,0.104686693,0.141192999,0.022377501,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,3,0,0,0,0,0,0,0.72551892,0.190277137,0.084203943,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,4,0,0,0,0,0,0,0,0,0,0.305927706,0.347036147,0,0,0,0,0,0.347036147,0,0 +othmaint,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,12,2,0,0,0,0,0,0,0,0.545682141,0.314476787,0.053501749,0.03851823,0.047821093,0,0,0,0,0,0,0 +othmaint,TRUE,12,3,0,0,0,0,0,0,0,0.214651848,0.46388943,0.061966411,0.132775585,0.126716726,0,0,0,0,0,0,0 +othmaint,TRUE,12,4,0,0,0,0,0,0,0,0,0.127956328,0,0,0.576495171,0,0.295548501,0,0,0,0,0 +othmaint,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,2,0,0,0,0,0,0,0,0,0.323941314,0.585102169,0.090956518,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,3,0,0,0,0,0,0,0,0,0.072453359,0.780993759,0.146552882,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.222472025,0.777527975,0,0,0,0,0,0,0,0 +othmaint,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.256222437,0.654201082,0.071103851,0.01847263,0,0,0,0,0,0 +othmaint,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.11860694,0.44971127,0.431681789,0,0,0,0,0,0,0 +othmaint,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.436444767,0.563555233,0,0,0,0,0,0,0 +othmaint,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.593763081,0.406236919,0,0,0,0,0,0,0 +othmaint,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othmaint,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.854510215,0.145489785,0,0,0,0,0,0 +othmaint,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.724085091,0,0.275914909,0,0,0,0,0 +othmaint,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othmaint,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.172124075,0.213012548,0.614863377,0,0,0,0 +othmaint,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098642817,0.901357183,0,0,0,0 +othmaint,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.270651613,0.600738159,0.128610228,0,0 +othmaint,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.771681706,0,0.228318294,0 +othmaint,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,1,0.09071969,0.90928031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,1,0,0.075063017,0.924936983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,1,0,0,0.072655068,0.927344932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,1,0,0,0.013631489,0.161967148,0.824401363,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,1,0,0,0,0.037502157,0.312567208,0.649930634,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,2,0,0,0,0,0.275988767,0.724011233,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,3,0,0,0,0,0.15552038,0.84447962,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,4,0,0,0,0,0.144245586,0.855754414,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,1,0,0,0,0,0.03338987,0.26489836,0.70171177,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,2,0,0,0,0,0.010989916,0.227634382,0.761375703,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,3,0,0,0,0,0,0.026011355,0.973988645,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,4,0,0,0,0,0,0.107851024,0.892148976,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,1,0,0,0,0.010158031,0.022913155,0.102307429,0.377078058,0.487543327,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,2,0,0,0,0,0,0.108745958,0.2159873,0.675266742,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,3,0,0,0,0,0,0.06065237,0.336243242,0.603104388,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,4,0,0,0,0,0,0.013311396,0.19774252,0.788946084,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,1,0,0,0,0,0.031249299,0.047260258,0.081354892,0.353123741,0.48701181,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,2,0,0,0,0,0.036088554,0.047323035,0.099280114,0.282440914,0.534867384,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,3,0,0,0,0.022092503,0,0.023342697,0.218332277,0.130650891,0.605581632,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,4,0,0,0,0,0,0,0.007598622,0.247081366,0.745320012,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,1,0,0,0,0,0.008432907,0.019241437,0.053781383,0.07753638,0.180423206,0.660584686,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,2,0,0,0,0,0,0.014889748,0.058818026,0.03592279,0.279517106,0.610852331,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,3,0,0,0,0,0,0.025148147,0.044798265,0.019855411,0.184100242,0.726097934,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,4,0,0,0,0,0,0.025559931,0.089028487,0.037908626,0.118966776,0.72853618,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,1,0,0,0.014080554,0,0.010260757,0.018416064,0.003200712,0.030725966,0.060405447,0.322996101,0.5399144,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,2,0,0,0,0.007837984,0.007663278,0.013198261,0,0.009670767,0.043030366,0.15942745,0.759171894,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,3,0,0,0,0,0.009630972,0,0.006337143,0.101481335,0.066736017,0.096321205,0.719493328,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,4,0,0,0,0,0,0,0,0.013528329,0.062228479,0.089319428,0.834923764,0,0,0,0,0,0,0,0 +othmaint,FALSE,16,1,0,0,0.006200413,0.004986933,0,0.010337749,0.015781258,0.022349724,0.011320009,0.0610877,0.263854949,0.604081265,0,0,0,0,0,0,0 +othmaint,FALSE,16,2,0,0,0.006875165,0,0,0.004755274,0.004846065,0.041322108,0.062817829,0.084403941,0.210011072,0.584968544,0,0,0,0,0,0,0 +othmaint,FALSE,16,3,0,0,0,0,0,0.003750011,0,0.038367203,0,0.081124439,0.173167838,0.703590508,0,0,0,0,0,0,0 +othmaint,FALSE,16,4,0,0,0,0,0,0,0,0.012408147,0.035652064,0.083467534,0.198538722,0.669933533,0,0,0,0,0,0,0 +othmaint,FALSE,17,1,0,0,0,0.020552867,0,0.005813725,0.002732148,0.008782581,0.005357107,0.029100301,0.080364833,0.302512654,0.544783785,0,0,0,0,0,0 +othmaint,FALSE,17,2,0,0,0,0,0.026548466,0.003679274,0.009319631,0,0.042518808,0.029889235,0.080550404,0.277668263,0.52982592,0,0,0,0,0,0 +othmaint,FALSE,17,3,0,0,0,0,0.009271174,0,0.054663157,0,0.016257561,0.01488333,0.09396777,0.266410029,0.544546979,0,0,0,0,0,0 +othmaint,FALSE,17,4,0,0,0,0,0,0.007066116,0.007066116,0.06151997,0.066639666,0.049844639,0.033402711,0.146764167,0.627696614,0,0,0,0,0,0 +othmaint,FALSE,18,1,0,0,0.00220337,0.003892833,0.007889226,0.016688123,0.035048075,0.024546837,0,0.00815882,0.035392235,0.148091146,0.276111609,0.441977726,0,0,0,0,0 +othmaint,FALSE,18,2,0,0,0,0,0,0.065300384,0.006485915,0.052781714,0.048191377,0.040820218,0,0.162432484,0.05438396,0.569603948,0,0,0,0,0 +othmaint,FALSE,18,3,0,0,0,0,0.017320219,0.031548823,0.022330672,0.091457847,0,0.019713885,0.042008327,0.218018162,0.200579611,0.357022454,0,0,0,0,0 +othmaint,FALSE,18,4,0,0,0,0,0.016419136,0,0.00528573,0.020252478,0,0.100415264,0.03805733,0.105531305,0.176732756,0.537306,0,0,0,0,0 +othmaint,FALSE,19,1,0,0,0,0,0.010727452,0,0.008098901,0.019233131,0.013852404,0.004645853,0.013295603,0.080270768,0.078632583,0.187569198,0.583674107,0,0,0,0 +othmaint,FALSE,19,2,0,0,0,0,0.049239842,0.011428143,0,0,0.026241801,0.041108511,0.013964285,0.025063837,0,0.310631722,0.522321858,0,0,0,0 +othmaint,FALSE,19,3,0,0,0,0,0,0.086744587,0,0,0,0.016477125,0.041531547,0.015283398,0.017093713,0.105309634,0.717559996,0,0,0,0 +othmaint,FALSE,19,4,0,0,0,0,0,0.069764219,0.069764219,0,0,0.104847005,0,0.033271814,0.058783522,0.247218312,0.416350909,0,0,0,0 +othmaint,FALSE,20,1,0,0,0,0,0,0,0.01242339,0.005336417,0.044409284,0.029249865,0.011600679,0.028809843,0.016252507,0.030331787,0.287705325,0.533880904,0,0,0 +othmaint,FALSE,20,2,0,0,0,0,0,0,0,0,0.032990066,0.012593317,0,0.052304607,0.150427735,0.026510728,0.302582814,0.422590733,0,0,0 +othmaint,FALSE,20,3,0,0,0,0,0,0,0,0.023039668,0.024925805,0.022055308,0.053273572,0.028755337,0.017687898,0.157803915,0.245882825,0.426575672,0,0,0 +othmaint,FALSE,20,4,0,0,0,0,0,0,0,0.009174883,0.009174883,0.039703931,0.032564469,0.051766512,0.025425007,0.0614869,0.641240832,0.129462584,0,0,0 +othmaint,FALSE,21,1,0,0.025380051,0.006505038,0,0,0,0,0,0,0.034497668,0.005372141,0.00750697,0.322054018,0.02041747,0.056367039,0.277982219,0.243917386,0,0 +othmaint,FALSE,21,2,0,0,0,0,0.006399766,0.007749372,0,0,0,0.006917002,0,0.046305978,0.04149865,0,0.351103334,0.214319682,0.325706214,0,0 +othmaint,FALSE,21,3,0,0,0,0,0,0,0.011775898,0.022192712,0.017562682,0,0,0.024503537,0,0.080192747,0.349550204,0.39894732,0.095274901,0,0 +othmaint,FALSE,21,4,0,0,0,0,0,0,0.012259416,0,0.035363359,0.018283805,0.073556494,0.018283805,0.057647363,0.014844726,0.042237266,0.375692888,0.351830879,0,0 +othmaint,FALSE,22,1,0,0,0,0,0,0,0,0.056847728,0,0.047979687,0,0,0.057283827,0,0.024129278,0.031974532,0.16735598,0.614428968,0 +othmaint,FALSE,22,2,0,0,0,0,0,0,0,0,0.161289071,0.04650851,0,0,0.16212443,0.112102538,0,0,0.142577705,0.375397745,0 +othmaint,FALSE,22,3,0,0,0,0,0,0,0,0.110415007,0.068559987,0.152422919,0,0.063721526,0.10278041,0,0,0.094851272,0.058740936,0.348507943,0 +othmaint,FALSE,22,4,0,0,0,0,0,0,0,0.050912705,0.082525929,0,0.031613224,0.050912705,0.094839672,0.029382195,0.129047073,0.050912705,0.220800245,0.259053549,0 +othmaint,FALSE,23,1,0,0,0,0,0,0.010515377,0.025008268,0.032644118,0,0.085888154,0.049317135,0.011196407,0.007715287,0.054305418,0,0.074906459,0.182663286,0.082719875,0.383120217 +othmaint,FALSE,23,2,0,0,0,0,0,0,0,0.045673386,0.020160892,0.021413699,0,0.082142047,0.014090672,0.018059971,0,0.045974294,0.048093764,0.355409136,0.348982138 +othmaint,FALSE,23,3,0,0,0,0,0,0,0,0.080258013,0,0.073055546,0,0.075004948,0.081094174,0.069336389,0,0,0,0.041154495,0.580096435 +othmaint,FALSE,23,4,0,0,0,0,0,0,0,0.037448064,0,0.04959035,0.016530117,0.025234243,0.062464477,0.114901182,0,0.107371648,0.062464477,0.148912902,0.37508254 +eatout,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,5,2,0.032538851,0.221324643,0,0.037815017,0,0,0,0.272525282,0,0,0.037088163,0.337745523,0.034547537,0,0.026414986,0,0,0,0 +eatout,TRUE,5,3,0,0,0,0.091639733,0,0,0,0,0,0,0,0.089878297,0,0.81848197,0,0,0,0,0 +eatout,TRUE,5,4,0,0,0,0,0,0,0,0,0.091478599,0,0,0,0,0.817042802,0.091478599,0,0,0,0 +eatout,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,6,2,0,0.10870266,0.506895447,0.175689689,0,0.026096466,0.034864499,0.082091899,0,0,0,0.025468279,0.040191062,0,0,0,0,0,0 +eatout,TRUE,6,3,0,0.035560115,0.306736608,0.286592598,0.030199993,0.042569681,0.056872474,0,0.028493363,0,0,0.212975168,0,0,0,0,0,0,0 +eatout,TRUE,6,4,0,0,0.211737696,0.322316501,0,0,0.220793367,0,0.051433567,0.096859434,0,0,0,0.096859434,0,0,0,0,0 +eatout,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,7,2,0,0,0.144455214,0.345929433,0,0,0.086477099,0.023160754,0,0.016780688,0,0.202260676,0.052439775,0.128496361,0,0,0,0,0 +eatout,TRUE,7,3,0,0,0.090126203,0.306912678,0,0.037918354,0.033462594,0.029845783,0,0,0,0,0.104315493,0,0,0.397418896,0,0,0 +eatout,TRUE,7,4,0,0,0,0.502373694,0,0,0,0.134316948,0,0,0.070995242,0,0.070995242,0,0.221318875,0,0,0,0 +eatout,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,8,2,0,0,0,0.287649201,0.258570068,0.118932282,0.154019597,0.040748722,0.016734567,0.048015509,0.013439765,0.016546263,0.014029864,0.031314162,0,0,0,0,0 +eatout,TRUE,8,3,0,0,0,0,0.251109552,0,0.113694476,0.124444727,0,0,0.229845517,0.061431783,0.219473946,0,0,0,0,0,0 +eatout,TRUE,8,4,0,0,0,0,0.493293189,0,0,0,0,0,0.506706811,0,0,0,0,0,0,0,0 +eatout,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,9,2,0,0,0,0,0.366854738,0.25501335,0.107900842,0.2287524,0,0,0,0,0,0.041478671,0,0,0,0,0 +eatout,TRUE,9,3,0,0,0,0,0.468297002,0.238514298,0.2931887,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,9,4,0,0,0,0,0.109486993,0.574078888,0.280149843,0,0.036284276,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,10,2,0,0,0,0,0,0.254832017,0.469238325,0.127193733,0.065540094,0.051245746,0,0,0,0,0.031950083,0,0,0,0 +eatout,TRUE,10,3,0,0,0,0,0,0.064871933,0.163184264,0.345964678,0.111369168,0.141300007,0,0.17330995,0,0,0,0,0,0,0 +eatout,TRUE,10,4,0,0,0,0,0,0,0.150728895,0,0.209592187,0.423337891,0,0,0,0.216341028,0,0,0,0,0 +eatout,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,11,2,0,0,0,0,0,0,0.370585753,0.485622052,0.060239142,0.042221954,0,0,0,0.020865964,0.020465134,0,0,0,0 +eatout,TRUE,11,3,0,0,0,0,0,0,0.269205736,0.405557054,0.185720764,0,0.076480268,0,0.063036179,0,0,0,0,0,0 +eatout,TRUE,11,4,0,0,0,0,0,0,0,0.351458157,0.487871427,0,0,0,0,0.160670416,0,0,0,0,0 +eatout,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,12,2,0,0,0,0,0,0,0,0.437792419,0.301451181,0.150311105,0.034236693,0.076208603,0,0,0,0,0,0,0 +eatout,TRUE,12,3,0,0,0,0,0,0,0,0.225370702,0.381329664,0.174766696,0,0,0,0.218532938,0,0,0,0,0 +eatout,TRUE,12,4,0,0,0,0,0,0,0,0,0.221247262,0.778752738,0,0,0,0,0,0,0,0,0 +eatout,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,13,2,0,0,0,0,0,0,0,0,0.139433765,0.241394197,0.366145988,0,0,0.25302605,0,0,0,0,0 +eatout,TRUE,13,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +eatout,TRUE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +eatout,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.141560108,0.455484612,0.063533559,0.080474833,0.258946888,0,0,0,0,0 +eatout,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +eatout,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +eatout,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +eatout,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.175719201,0.491767111,0.304614961,0.027898728,0,0,0,0,0 +eatout,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.115184007,0.113089502,0.771726491,0,0,0,0,0,0 +eatout,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +eatout,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +eatout,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.081443842,0.569785792,0.258691473,0.048438646,0,0.041640248,0,0 +eatout,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.14088832,0.169273542,0.138693404,0.551144734,0,0,0,0 +eatout,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.522722044,0,0,0.477277956,0,0,0 +eatout,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +eatout,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.360098415,0.452873013,0.139516873,0.047511698,0,0,0 +eatout,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.107576639,0.186526017,0.560987927,0.144909417,0,0,0 +eatout,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +eatout,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27451797,0.572984268,0.072163445,0,0.080334317,0 +eatout,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.497007208,0.502992792,0,0,0,0 +eatout,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537636417,0.462363583,0,0,0 +eatout,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.328311347,0.671688653,0,0,0 +eatout,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +eatout,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.916716515,0.083283485,0,0 +eatout,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.726342035,0.273657965,0,0 +eatout,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +eatout,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,1,0.034815481,0.965184519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,1,0,0.199908855,0.800091145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,2,0,0.833877769,0.166122231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,1,0,0,0.215838535,0.784161465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,1,0,0,0,0.157266378,0.842733622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,2,0,0,0,0.335277961,0.664722039,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,1,0,0,0.033536748,0.02770012,0.155369348,0.783393784,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,2,0,0,0,0,0.173469452,0.826530548,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,1,0,0,0,0,0.091878183,0.12493006,0.783191757,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,2,0,0,0,0,0,0.096132235,0.903867765,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,1,0,0,0,0.037969228,0,0.031107149,0.035414324,0.895509299,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,2,0,0,0,0,0.02753672,0,0.149847323,0.822615958,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,3,0,0,0,0,0,0,0.258442104,0.741557896,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,4,0,0,0,0,0,0,0.333333333,0.666666667,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,1,0,0.01200688,0,0,0,0.039950927,0.008513584,0.137590949,0.80193766,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,2,0,0,0,0,0,0,0,0.394497458,0.605502542,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,4,0,0,0,0,0,0,0,0.367803297,0.632196703,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,1,0,0,0,0,0,0.006675471,0,0.049503213,0.303745574,0.640075741,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,2,0,0,0,0,0,0,0,0,0.279565462,0.720434538,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,3,0,0,0,0,0,0,0,0,0.289280673,0.710719327,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,4,0,0,0,0,0,0,0,0,0.17018646,0.82981354,0,0,0,0,0,0,0,0,0 +eatout,FALSE,15,1,0,0,0.012317448,0.011793684,0,0.032471192,0.017402541,0.031610182,0.061546974,0.401654713,0.431203266,0,0,0,0,0,0,0,0 +eatout,FALSE,15,2,0,0,0,0.020848495,0,0,0.031697312,0.022993537,0.09062564,0.216001966,0.617833051,0,0,0,0,0,0,0,0 +eatout,FALSE,15,3,0,0,0,0,0,0,0,0.046096862,0.044136725,0.455929483,0.45383693,0,0,0,0,0,0,0,0 +eatout,FALSE,15,4,0,0,0,0,0,0,0,0.053925006,0,0.080548958,0.865526035,0,0,0,0,0,0,0,0 +eatout,FALSE,16,1,0,0.029358275,0.006634587,0,0.008384768,0,0.022595474,0.011554952,0,0.018323185,0.344468391,0.558680369,0,0,0,0,0,0,0 +eatout,FALSE,16,2,0,0,0,0,0,0,0.023120402,0.115646001,0.052131074,0.053950104,0.19213634,0.563016078,0,0,0,0,0,0,0 +eatout,FALSE,16,3,0,0,0,0,0,0,0,0.058624219,0.059135643,0.033481644,0.029621972,0.819136522,0,0,0,0,0,0,0 +eatout,FALSE,16,4,0,0,0,0,0,0,0,0,0.079941236,0.063875591,0.228664833,0.62751834,0,0,0,0,0,0,0 +eatout,FALSE,17,1,0.008270503,0,0.011204931,0,0.012161696,0.009083295,0,0,0.008915709,0.010949503,0.019220416,0.424059428,0.496134519,0,0,0,0,0,0 +eatout,FALSE,17,2,0,0,0,0,0.009447942,0,0.059827266,0.109282601,0.010850987,0.012969818,0.170046907,0.153233152,0.474341327,0,0,0,0,0,0 +eatout,FALSE,17,3,0,0,0,0,0,0,0.020113077,0.088749328,0.011185398,0,0.071370427,0.323187311,0.485394459,0,0,0,0,0,0 +eatout,FALSE,17,4,0,0,0.038633648,0,0,0,0,0.019522201,0.039044403,0.062661272,0.092635226,0.060867571,0.68663568,0,0,0,0,0,0 +eatout,FALSE,18,1,0,0.00402747,0,0.002699769,0,0,0.003458022,0.004776748,0,0,0.007128847,0.022821634,0.560262038,0.394825471,0,0,0,0,0 +eatout,FALSE,18,2,0,0,0,0,0,0,0.025269691,0.053659728,0.018624541,0,0.015410135,0.096858434,0.303814033,0.486363437,0,0,0,0,0 +eatout,FALSE,18,3,0,0,0,0.027139705,0,0,0,0,0.025309856,0,0.041317372,0,0.193332635,0.712900432,0,0,0,0,0 +eatout,FALSE,18,4,0,0,0,0.062266496,0,0,0,0.124532992,0,0,0,0.02844882,0.160985,0.623766691,0,0,0,0,0 +eatout,FALSE,19,1,0,0,0,0.035093846,0,0,0,0.002763787,0,0,0.007972126,0,0.006835141,0.182451712,0.76488339,0,0,0,0 +eatout,FALSE,19,2,0,0,0,0,0,0,0,0.009338966,0.0084296,0.012320862,0,0.007858119,0.07102686,0.181093919,0.709931674,0,0,0,0 +eatout,FALSE,19,3,0,0,0.034695617,0,0,0,0,0,0,0,0,0,0,0.325056792,0.640247591,0,0,0,0 +eatout,FALSE,19,4,0,0,0,0.101411526,0,0,0,0,0,0,0,0,0,0.101411526,0.797176947,0,0,0,0 +eatout,FALSE,20,1,0,0,0,0,0.006246293,0,0,0.011507943,0,0,0.013654973,0,0.007223887,0.028421478,0.204476714,0.728468712,0,0,0 +eatout,FALSE,20,2,0,0,0,0,0,0,0,0.029002329,0.008684063,0.040035705,0,0,0.033841105,0.026844626,0.219230553,0.64236162,0,0,0 +eatout,FALSE,20,3,0,0,0,0,0.017457545,0,0,0,0,0,0,0.022170954,0.111461135,0.026492142,0.144444394,0.677973828,0,0,0 +eatout,FALSE,20,4,0,0,0,0,0,0,0,0,0.027884869,0,0,0.019560862,0.053861802,0.185282652,0.14594305,0.567466765,0,0,0 +eatout,FALSE,21,1,0,0,0,0,0,0,0.001992088,0,0,0,0,0,0.004171801,0.008609329,0.045440515,0.297500935,0.642285332,0,0 +eatout,FALSE,21,2,0,0,0,0,0,0,0,0.008825951,0,0,0,0,0,0,0.022560857,0.064662954,0.903950239,0,0 +eatout,FALSE,21,3,0,0,0,0,0,0,0,0,0.01925505,0,0,0,0,0,0.141712181,0.063571817,0.775460952,0,0 +eatout,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.059643388,0.029821694,0.029821694,0.054589294,0.218357176,0,0.338629065,0.269137688,0,0 +eatout,FALSE,22,1,0,0.003832232,0.014433483,0.029367654,0,0,0,0,0,0,0,0,0,0.037886729,0.013545706,0.01688148,0.286440472,0.597612243,0 +eatout,FALSE,22,2,0,0,0,0.058773031,0.007875566,0,0.038790615,0,0,0,0,0,0,0.124436861,0.030453108,0.011388959,0.304645476,0.423636384,0 +eatout,FALSE,22,3,0,0.023843907,0,0,0.012800003,0,0,0,0.063045627,0,0,0,0,0.016739233,0.04949484,0.078783423,0.338585891,0.416707076,0 +eatout,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0.012407461,0.122224371,0.035520139,0.109039785,0,0.076367345,0.347441239,0.296999659,0 +eatout,FALSE,23,1,0,0,0,0,0,0,0,0.012371175,0,0.025704524,0,0.023327151,0,0.007669333,0.042011178,0.019479582,0.006261906,0.163786764,0.699388388 +eatout,FALSE,23,2,0,0,0,0,0,0,0,0,0.033721119,0.101287181,0,0.014308982,0,0,0.023495989,0.043546799,0.169610935,0.119773048,0.494255948 +eatout,FALSE,23,3,0,0,0,0,0,0,0,0,0,0.098543037,0,0,0,0,0,0.027420729,0.019663025,0.062014245,0.792358964 +eatout,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.015339182,0.166441975,0.108428683,0.70979016 +social,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163488477,0.72896704,0.107544483,0,0,0 +social,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,2,0,0.429301212,0.220838883,0,0,0.349859905,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,7,2,0,0,0.238446471,0.18847097,0.451233232,0.061171813,0,0,0,0,0,0.060677514,0,0,0,0,0,0,0 +social,TRUE,7,3,0,0,0.263472951,0,0.345559204,0.045763272,0.194319778,0,0,0,0.076482272,0.074402522,0,0,0,0,0,0,0 +social,TRUE,7,4,0,0,0,0,0.720034483,0,0,0,0,0,0,0,0,0.279965517,0,0,0,0,0 +social,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,8,2,0,0,0,0.254275275,0.460062202,0.285662524,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,8,3,0,0,0,0,0.319310909,0,0.196475338,0,0.334528108,0,0,0.149685645,0,0,0,0,0,0,0 +social,TRUE,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0.654606666,0.345393334,0,0,0,0,0 +social,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,2,0,0,0,0,0.545721423,0.112625256,0.326444169,0.015209152,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,3,0,0,0,0,0.023262324,0.080080665,0.730468634,0.143870653,0.022317724,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,4,0,0,0,0,0,0.026826474,0.852263327,0,0,0,0,0.014490394,0,0,0.053209903,0.053209903,0,0,0 +social,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,10,2,0,0,0,0,0,0.151977255,0.519637411,0.191906468,0.085778382,0.050700484,0,0,0,0,0,0,0,0,0 +social,TRUE,10,3,0,0,0,0,0,0.046500192,0.658940192,0.178956942,0,0.115602674,0,0,0,0,0,0,0,0,0 +social,TRUE,10,4,0,0,0,0,0,0,0.204837475,0.204837475,0.204837475,0,0,0.128495859,0.256991717,0,0,0,0,0,0 +social,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,11,2,0,0,0,0,0,0,0.252313913,0.608752771,0.060673874,0.078259442,0,0,0,0,0,0,0,0,0 +social,TRUE,11,3,0,0,0,0,0,0,0,0.893087119,0,0,0.106912881,0,0,0,0,0,0,0,0 +social,TRUE,11,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,12,2,0,0,0,0,0,0,0,0.01555306,0.804005354,0.113032269,0.042952725,0.024456591,0,0,0,0,0,0,0 +social,TRUE,12,3,0,0,0,0,0,0,0,0,0.762673603,0.196684366,0,0.040642031,0,0,0,0,0,0,0 +social,TRUE,12,4,0,0,0,0,0,0,0,0,0.974582243,0.025417757,0,0,0,0,0,0,0,0,0 +social,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,TRUE,13,2,0,0,0,0,0,0,0,0,0.666277769,0.215739994,0.117982237,0,0,0,0,0,0,0,0 +social,TRUE,13,3,0,0,0,0,0,0,0,0,0.20985109,0.290892068,0,0.499256842,0,0,0,0,0,0,0 +social,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.27976381,0.48015746,0,0.24007873,0,0,0,0,0 +social,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +social,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.474250224,0.479544424,0.046205352,0,0,0,0,0,0,0 +social,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.415915716,0.304081655,0.122383721,0.157618908,0,0,0,0,0 +social,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.149219919,0.262392987,0.163198885,0.364386422,0.060801787,0,0,0,0 +social,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.382256993,0.20034388,0.20034388,0.217055247,0,0,0 +social,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.084972892,0.631896416,0.184989951,0.098140741,0,0,0,0 +social,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.566972184,0,0.433027816,0,0,0 +social,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +social,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.153985008,0.442019825,0.287546211,0.116448956,0,0,0 +social,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805041829,0.194958171,0,0,0,0 +social,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.386035694,0.613964306,0,0,0,0 +social,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +social,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415464544,0.466670617,0.11786484,0,0,0 +social,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480898747,0.519101253,0,0,0 +social,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492816592,0.382668005,0.124515403,0,0 +social,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.296845882,0.703154118,0,0 +social,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.180542587,0.819457413,0,0 +social,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186441429,0.813558571 +social,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,1,0,0.175358533,0.824641467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,1,0,0,0.02236387,0.97763613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,1,0,0,0,0.461831955,0.538168045,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,1,0,0,0,0,0.168748059,0.831251941,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,2,0,0,0,0,0.100405941,0.899594059,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,1,0,0,0,0,0.02167612,0.606898663,0.371425217,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,2,0,0,0,0.025894331,0,0.076173851,0.897931818,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,3,0,0,0,0,0,0.0362574,0.9637426,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,4,0,0,0,0,0,0.666666667,0.333333333,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,1,0,0,0,0,0,0.040943046,0.339881423,0.619175531,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,2,0,0,0,0,0,0.055306785,0,0.944693215,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,3,0,0,0,0,0,0,0.113705951,0.886294049,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,4,0,0,0,0,0,0,0.020620903,0.979379097,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,1,0,0.110729344,0,0,0,0,0.028982164,0.160850288,0.699438204,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,2,0,0,0,0,0,0,0,0.434109617,0.565890383,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,FALSE,14,1,0,0,0,0,0,0,0.012646359,0.049957288,0.064957981,0.872438372,0,0,0,0,0,0,0,0,0 +social,FALSE,14,2,0,0,0,0,0,0,0,0.092000521,0.207125543,0.700873936,0,0,0,0,0,0,0,0,0 +social,FALSE,14,3,0,0,0,0,0,0,0,0,0.123105709,0.876894291,0,0,0,0,0,0,0,0,0 +social,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +social,FALSE,15,1,0,0,0,0,0,0,0,0.025915129,0.021414108,0.301296274,0.651374488,0,0,0,0,0,0,0,0 +social,FALSE,15,2,0,0,0,0,0,0,0,0.038851326,0.060308128,0.040085863,0.860754683,0,0,0,0,0,0,0,0 +social,FALSE,15,3,0,0,0,0,0,0,0,0,0,0.337125075,0.662874925,0,0,0,0,0,0,0,0 +social,FALSE,15,4,0,0,0,0,0,0,0,0,0,0.240804556,0.759195444,0,0,0,0,0,0,0,0 +social,FALSE,16,1,0,0,0,0,0,0,0.010850109,0.028630302,0.034941364,0.027356994,0.399487153,0.498734077,0,0,0,0,0,0,0 +social,FALSE,16,2,0,0,0,0,0,0,0,0.085290601,0.096379465,0.140055991,0.14515731,0.533116633,0,0,0,0,0,0,0 +social,FALSE,16,3,0,0,0,0,0,0,0,0.039789367,0,0,0.207791274,0.752419359,0,0,0,0,0,0,0 +social,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.444162303,0.555837697,0,0,0,0,0,0,0 +social,FALSE,17,1,0,0,0,0,0,0.004235542,0.004235542,0.010773772,0.036037056,0.011244257,0.008654904,0.185030812,0.739788115,0,0,0,0,0,0 +social,FALSE,17,2,0,0,0,0,0,0,0.011747117,0.030318289,0,0.026130418,0.124118238,0.265470463,0.542215475,0,0,0,0,0,0 +social,FALSE,17,3,0,0,0,0,0,0,0,0.035991711,0.05581904,0,0.118744644,0.174641807,0.614802798,0,0,0,0,0,0 +social,FALSE,17,4,0,0,0,0,0,0,0,0,0,0.133377911,0.156860689,0.067276975,0.642484425,0,0,0,0,0,0 +social,FALSE,18,1,0,0,0,0,0,0,0,0,0.021116578,0,0.023935246,0.014708731,0.292437045,0.6478024,0,0,0,0,0 +social,FALSE,18,2,0,0,0,0,0,0,0,0,0.050647706,0.018469336,0.057408229,0.034520986,0.245483705,0.593470039,0,0,0,0,0 +social,FALSE,18,3,0,0,0,0,0,0,0,0,0.215338024,0,0,0.143481023,0.32589869,0.315282263,0,0,0,0,0 +social,FALSE,18,4,0,0,0,0,0,0,0.012374723,0.012374723,0.037124169,0,0.012374723,0.11617789,0.120134128,0.689439644,0,0,0,0,0 +social,FALSE,19,1,0,0,0,0,0,0,0.007898288,0,0,0,0,0,0.121563834,0.284121966,0.586415912,0,0,0,0 +social,FALSE,19,2,0,0,0,0,0,0,0.039741889,0,0,0,0.02465859,0.116870248,0.036063489,0.320456158,0.462209626,0,0,0,0 +social,FALSE,19,3,0,0,0,0,0,0,0,0.054643855,0,0,0,0.060605496,0.025192236,0.702933269,0.156625145,0,0,0,0 +social,FALSE,19,4,0,0,0,0,0,0,0,0,0.175116816,0,0.022349377,0.130418062,0.054376362,0.036216461,0.581522921,0,0,0,0 +social,FALSE,20,1,0,0,0,0,0,0,0,0.006741002,0,0,0.01216091,0,0,0,0.185101107,0.795996982,0,0,0 +social,FALSE,20,2,0,0,0,0,0,0,0,0,0,0.04641167,0,0.083727631,0.098296373,0,0.202274397,0.569289928,0,0,0 +social,FALSE,20,3,0,0,0,0,0,0,0,0,0,0.139066538,0,0,0,0.294532307,0.250878966,0.315522189,0,0,0 +social,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.139014445,0,0,0.258582347,0.602403208,0,0,0 +social,FALSE,21,1,0,0,0,0,0,0,0,0.006536044,0,0,0.004122227,0,0.009592478,0,0.025254876,0.168812361,0.785682015,0,0 +social,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0.009947847,0,0,0.015489709,0.091770901,0.882791543,0,0 +social,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0.035778147,0,0,0.059543199,0.096410036,0.808268618,0,0 +social,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.039227837,0,0,0,0.272007988,0.688764175,0,0 +social,FALSE,22,1,0,0,0,0,0,0,0.008693912,0,0,0.023590293,0,0,0.014992001,0.012884951,0.01979978,0.017778233,0.266462768,0.635798061,0 +social,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.054229245,0.01998552,0,0,0.183589112,0.020695417,0.01231348,0.164392793,0.544794434,0 +social,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0.03472135,0,0,0.015619534,0,0.035954672,0.531548096,0.382156347,0 +social,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0.05888279,0.05888279,0,0.176648369,0.09089481,0.189410385,0.425280856,0 +social,FALSE,23,1,0,0,0,0,0,0,0,0.028390618,0,0,0.004916978,0,0,0,0.014598183,0.07621256,0.027119644,0.125695917,0.7230661 +social,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0.01089797,0,0,0.031808043,0,0.091217964,0.172140515,0.693935509 +social,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052410677,0.231068411,0.716520911 +social,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061760943,0.229019025,0.709220031 +othdiscr,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,5,2,0.261967145,0.409228643,0,0,0,0,0.034160738,0.0288967,0,0.105662564,0,0.028934007,0.099906136,0.031244066,0,0,0,0,0 +othdiscr,TRUE,5,3,0.05651263,0.078010805,0,0,0,0,0,0,0,0,0.105067549,0.353285463,0.190245768,0,0.216877785,0,0,0,0 +othdiscr,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,6,2,0,0.098860067,0.663141032,0.044723228,0.012153718,0.015393409,0,0.016907036,0,0.010826104,0.098262057,0.016422181,0.023311168,0,0,0,0,0,0 +othdiscr,TRUE,6,3,0,0.024215249,0.736578596,0.018671746,0.050466724,0,0.046817344,0.010678175,0.023238019,0,0.032556217,0,0.035620327,0.021157602,0,0,0,0,0 +othdiscr,TRUE,6,4,0,0,0.081847071,0,0.338763551,0,0.240085302,0,0.114633558,0,0.146128192,0,0,0.078542326,0,0,0,0,0 +othdiscr,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,7,2,0,0,0.352097404,0.309242997,0.08178386,0.093069138,0.009864271,0.017742267,0,0.050016669,0.019229555,0.024087308,0.042866531,0,0,0,0,0,0 +othdiscr,TRUE,7,3,0,0,0.212218699,0.104250306,0.22359596,0.028585094,0,0.022759931,0.040936909,0.272511733,0,0,0,0.095141367,0,0,0,0,0 +othdiscr,TRUE,7,4,0,0,0,0.429994902,0.250073782,0.067515708,0.179786534,0,0,0,0,0,0,0,0.072629074,0,0,0,0 +othdiscr,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,8,2,0,0,0,0.27373664,0.651618467,0.038952541,0.006393093,0,0,0.010887769,0.010198326,0,0.008213164,0,0,0,0,0,0 +othdiscr,TRUE,8,3,0,0,0,0.256077087,0.567372083,0.111208754,0.044947659,0,0,0,0,0.020394418,0,0,0,0,0,0,0 +othdiscr,TRUE,8,4,0,0,0,0,0.419368759,0.043993527,0.123598787,0,0,0,0,0.092242747,0.32079618,0,0,0,0,0,0 +othdiscr,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,9,2,0,0,0,0,0.325654332,0.331629325,0.251597773,0.036069214,0,0,0.007507425,0,0.005333887,0,0.042208044,0,0,0,0 +othdiscr,TRUE,9,3,0,0,0,0,0.296114826,0.283133229,0.171133878,0.024057098,0.039684124,0,0.104372804,0,0,0,0.081504041,0,0,0,0 +othdiscr,TRUE,9,4,0,0,0,0,0,0.026872303,0.087815216,0.185433391,0.459158688,0.037962963,0.202757439,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,2,0,0,0,0,0,0.284975884,0.535943751,0.094599159,0.060212546,0,0,0,0.014932613,0,0.009336047,0,0,0,0 +othdiscr,TRUE,10,3,0,0,0,0,0,0.03549155,0.582807345,0.127174633,0.224739775,0,0,0,0,0.029786697,0,0,0,0,0 +othdiscr,TRUE,10,4,0,0,0,0,0,0,0.354929378,0.145446894,0.499623728,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,11,2,0,0,0,0,0,0,0.373878462,0.422332476,0.042754045,0.138634672,0.012364309,0.010036036,0,0,0,0,0,0,0 +othdiscr,TRUE,11,3,0,0,0,0,0,0,0.120480473,0.332302699,0.091421072,0.287256805,0.161854878,0.006684074,0,0,0,0,0,0,0 +othdiscr,TRUE,11,4,0,0,0,0,0,0,0.227930951,0,0.335102136,0.044198628,0.207476437,0,0.185291847,0,0,0,0,0,0 +othdiscr,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,12,2,0,0,0,0,0,0,0,0.383615621,0.305559088,0.131113594,0.103542737,0.07616896,0,0,0,0,0,0,0 +othdiscr,TRUE,12,3,0,0,0,0,0,0,0,0.128632011,0.247877929,0.37071038,0.084899625,0.167880054,0,0,0,0,0,0,0 +othdiscr,TRUE,12,4,0,0,0,0,0,0,0,0,0.205547015,0.162425226,0.239993719,0,0.392034039,0,0,0,0,0,0 +othdiscr,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,13,2,0,0,0,0,0,0,0,0,0.353861476,0.371100297,0.168208236,0.052680009,0.054149982,0,0,0,0,0,0 +othdiscr,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.679754381,0.320245619,0,0,0,0,0,0,0,0 +othdiscr,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.043643993,0.545880167,0.094829055,0.241931264,0,0.073715521,0,0,0,0 +othdiscr,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.288892103,0.603164379,0.048532082,0.059411436,0,0,0,0,0,0 +othdiscr,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.021579093,0.46445134,0.316987948,0.142583522,0.054398096,0,0,0,0,0 +othdiscr,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.09464155,0.567572891,0.33778556,0,0,0,0,0,0,0 +othdiscr,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.373801479,0.542977323,0.070343764,0.01078053,0.002096902,0,0,0,0 +othdiscr,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.122689199,0.717331575,0.030530698,0.123760049,0.005688479,0,0,0,0 +othdiscr,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.635796163,0,0,0.364203837,0,0,0,0 +othdiscr,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.712603233,0.193798154,0.048982419,0.039696774,0.00491942,0,0,0 +othdiscr,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.841745433,0.101833145,0.027409468,0,0.029011955,0,0,0 +othdiscr,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.17218743,0.195323109,0.429118156,0,0.203371304,0,0 +othdiscr,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.185120326,0.587302234,0.220258146,0,0.007319293,0,0 +othdiscr,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.183125342,0.285960671,0.48842584,0.013192652,0.029295494,0,0 +othdiscr,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102125632,0.746583804,0.151290564,0,0,0 +othdiscr,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542729526,0.35986304,0.097407435,0,0,0 +othdiscr,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480620595,0.242765324,0.062025461,0.187335855,0.027252764,0 +othdiscr,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098853758,0.563447888,0.242412271,0,0.095286083,0 +othdiscr,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.341735737,0.560576797,0.050581281,0.047106185,0 +othdiscr,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213928771,0.439416592,0,0.346654637,0 +othdiscr,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849356959,0.101132981,0.025617338,0.023892721 +othdiscr,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc/configs/workplace_location.csv b/activitysim/examples/prototype_mtc/configs/workplace_location.csv new file mode 100644 index 0000000000..3ac8b59e96 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/workplace_location.csv @@ -0,0 +1,14 @@ +Label,Description,Expression,coefficient +local_dist,,_DIST@skims['DIST'],1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up +util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high +util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 +util_no_attractions,No attractions,@df['size_term']==0,-999 +util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1 \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/workplace_location.yaml b/activitysim/examples/prototype_mtc/configs/workplace_location.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/workplace_location.yaml rename to activitysim/examples/prototype_mtc/configs/workplace_location.yaml diff --git a/activitysim/examples/prototype_mtc/configs/workplace_location_coefficients.csv b/activitysim/examples/prototype_mtc/configs/workplace_location_coefficients.csv new file mode 100644 index 0000000000..b3ac834103 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/workplace_location_coefficients.csv @@ -0,0 +1,9 @@ +coefficient_name,value,constrain +coef_dist_0_1,-0.8428,F +coef_dist_1_2,-0.3104,F +coef_dist_2_5,-0.3783,F +coef_dist_5_15,-0.1285,F +coef_dist_15_up,-0.0917,F +coef_dist_0_5_high,0.15,F +coef_dist_5_up_high,0.02,F +coef_mode_logsum,0.3,F diff --git a/activitysim/examples/prototype_mtc/configs/workplace_location_sample.csv b/activitysim/examples/prototype_mtc/configs/workplace_location_sample.csv new file mode 100644 index 0000000000..0216bae26f --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/workplace_location_sample.csv @@ -0,0 +1,12 @@ +Label,Description,Expression,coefficient +local_dist,,_DIST@skims['DIST'],1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up +util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high +util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 +util_no_attractions,No attractions,@df['size_term']==0,-999 \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/write_data_dictionary.yaml b/activitysim/examples/prototype_mtc/configs/write_data_dictionary.yaml similarity index 92% rename from activitysim/examples/example_mtc/configs/write_data_dictionary.yaml rename to activitysim/examples/prototype_mtc/configs/write_data_dictionary.yaml index 6d6ed3920c..0d68c8f830 100644 --- a/activitysim/examples/example_mtc/configs/write_data_dictionary.yaml +++ b/activitysim/examples/prototype_mtc/configs/write_data_dictionary.yaml @@ -11,3 +11,4 @@ tables: - tours - trips - joint_tour_participants + - vehicles diff --git a/activitysim/examples/prototype_mtc/configs/write_trip_matrices.yaml b/activitysim/examples/prototype_mtc/configs/write_trip_matrices.yaml new file mode 100644 index 0000000000..095b3160cc --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/write_trip_matrices.yaml @@ -0,0 +1,277 @@ +# read trips table post preprocessor and run expressions to code +# additional data fields, with one data fields for each matrix specified below + +preprocessor: + SPEC: write_trip_matrices_annotate_trips_preprocessor + DF: trips + TABLES: + - tours + +# divide trip counts by household expansion factor +HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in + +# save preprocessed trips table to pipeline if desired +SAVE_TRIPS_TABLE: False + +MATRICES: + - file_name: trips_ea.omx + tables: + - name: DRIVEALONEFREE_EA + data_field: DRIVEALONEFREE_EA + - name: DRIVEALONEPAY_EA + data_field: DRIVEALONEPAY_EA + - name: SHARED2FREE_EA + data_field: SHARED2FREE_EA + - name: SHARED2PAY_EA + data_field: SHARED2PAY_EA + - name: SHARED3FREE_EA + data_field: SHARED3FREE_EA + - name: SHARED3PAY_EA + data_field: SHARED3PAY_EA + - name: WALK_EA + data_field: WALK_EA + - name: BIKE_EA + data_field: BIKE_EA + - name: WALK_LOC_WALK_EA + data_field: WALK_LOC_WALK_EA + - name: WALK_LRF_WALK_EA + data_field: WALK_LRF_WALK_EA + - name: WALK_EXP_WALK_EA + data_field: WALK_EXP_WALK_EA + - name: WALK_HVY_WALK_EA + data_field: WALK_HVY_WALK_EA + - name: WALK_COM_WALK_EA + data_field: WALK_COM_WALK_EA + - name: DRIVE_LOC_WALK_EA + data_field: DRIVE_LOC_WALK_EA + - name: DRIVE_LRF_WALK_EA + data_field: DRIVE_LRF_WALK_EA + - name: DRIVE_EXP_WALK_EA + data_field: DRIVE_EXP_WALK_EA + - name: DRIVE_HVY_WALK_EA + data_field: DRIVE_HVY_WALK_EA + - name: DRIVE_COM_WALK_EA + data_field: DRIVE_COM_WALK_EA + - name: WALK_LOC_DRIVE_EA + data_field: WALK_LOC_DRIVE_EA + - name: WALK_LRF_DRIVE_EA + data_field: WALK_LRF_DRIVE_EA + - name: WALK_EXP_DRIVE_EA + data_field: WALK_EXP_DRIVE_EA + - name: WALK_DRIVE_HVY_EA + data_field: WALK_DRIVE_HVY_EA + - name: WALK_COM_DRIVE_EA + data_field: WALK_COM_DRIVE_EA + - file_name: trips_am.omx + tables: + - name: DRIVEALONEFREE_AM + data_field: DRIVEALONEFREE_AM + - name: DRIVEALONEPAY_AM + data_field: DRIVEALONEPAY_AM + - name: SHARED2FREE_AM + data_field: SHARED2FREE_AM + - name: SHARED2PAY_AM + data_field: SHARED2PAY_AM + - name: SHARED3FREE_AM + data_field: SHARED3FREE_AM + - name: SHARED3PAY_AM + data_field: SHARED3PAY_AM + - name: WALK_AM + data_field: WALK_AM + - name: BIKE_AM + data_field: BIKE_AM + - name: WALK_LOC_WALK_AM + data_field: WALK_LOC_WALK_AM + - name: WALK_LRF_WALK_AM + data_field: WALK_LRF_WALK_AM + - name: WALK_EXP_WALK_AM + data_field: WALK_EXP_WALK_AM + - name: WALK_HVY_WALK_AM + data_field: WALK_HVY_WALK_AM + - name: WALK_COM_WALK_AM + data_field: WALK_COM_WALK_AM + - name: DRIVE_LOC_WALK_AM + data_field: DRIVE_LOC_WALK_AM + - name: DRIVE_LRF_WALK_AM + data_field: DRIVE_LRF_WALK_AM + - name: DRIVE_EXP_WALK_AM + data_field: DRIVE_EXP_WALK_AM + - name: DRIVE_HVY_WALK_AM + data_field: DRIVE_HVY_WALK_AM + - name: DRIVE_COM_WALK_AM + data_field: DRIVE_COM_WALK_AM + - name: WALK_LOC_DRIVE_AM + data_field: WALK_LOC_DRIVE_AM + - name: WALK_LRF_DRIVE_AM + data_field: WALK_LRF_DRIVE_AM + - name: WALK_EXP_DRIVE_AM + data_field: WALK_EXP_DRIVE_AM + - name: WALK_DRIVE_HVY_AM + data_field: WALK_DRIVE_HVY_AM + - name: WALK_COM_DRIVE_AM + data_field: WALK_COM_DRIVE_AM + - file_name: trips_md.omx + tables: + - name: DRIVEALONEFREE_MD + data_field: DRIVEALONEFREE_MD + - name: DRIVEALONEPAY_MD + data_field: DRIVEALONEPAY_MD + - name: SHARED2FREE_MD + data_field: SHARED2FREE_MD + - name: SHARED2PAY_MD + data_field: SHARED2PAY_MD + - name: SHARED3FREE_MD + data_field: SHARED3FREE_MD + - name: SHARED3PAY_MD + data_field: SHARED3PAY_MD + - name: WALK_MD + data_field: WALK_MD + - name: BIKE_MD + data_field: BIKE_MD + - name: WALK_LOC_WALK_MD + data_field: WALK_LOC_WALK_MD + - name: WALK_LRF_WALK_MD + data_field: WALK_LRF_WALK_MD + - name: WALK_EXP_WALK_MD + data_field: WALK_EXP_WALK_MD + - name: WALK_HVY_WALK_MD + data_field: WALK_HVY_WALK_MD + - name: WALK_COM_WALK_MD + data_field: WALK_COM_WALK_MD + - name: DRIVE_LOC_WALK_MD + data_field: DRIVE_LOC_WALK_MD + - name: DRIVE_LRF_WALK_MD + data_field: DRIVE_LRF_WALK_MD + - name: DRIVE_EXP_WALK_MD + data_field: DRIVE_EXP_WALK_MD + - name: DRIVE_HVY_WALK_MD + data_field: DRIVE_HVY_WALK_MD + - name: DRIVE_COM_WALK_MD + data_field: DRIVE_COM_WALK_MD + - name: WALK_LOC_DRIVE_MD + data_field: WALK_LOC_DRIVE_MD + - name: WALK_LRF_DRIVE_MD + data_field: WALK_LRF_DRIVE_MD + - name: WALK_EXP_DRIVE_MD + data_field: WALK_EXP_DRIVE_MD + - name: WALK_DRIVE_HVY_MD + data_field: WALK_DRIVE_HVY_MD + - name: WALK_COM_DRIVE_MD + data_field: WALK_COM_DRIVE_MD + - file_name: trips_pm.omx + tables: + - name: DRIVEALONEFREE_PM + data_field: DRIVEALONEFREE_PM + - name: DRIVEALONEPAY_PM + data_field: DRIVEALONEPAY_PM + - name: SHARED2FREE_PM + data_field: SHARED2FREE_PM + - name: SHARED2PAY_PM + data_field: SHARED2PAY_PM + - name: SHARED3FREE_PM + data_field: SHARED3FREE_PM + - name: SHARED3PAY_PM + data_field: SHARED3PAY_PM + - name: WALK_PM + data_field: WALK_PM + - name: BIKE_PM + data_field: BIKE_PM + - name: WALK_LOC_WALK_PM + data_field: WALK_LOC_WALK_PM + - name: WALK_LRF_WALK_PM + data_field: WALK_LRF_WALK_PM + - name: WALK_EXP_WALK_PM + data_field: WALK_EXP_WALK_PM + - name: WALK_HVY_WALK_PM + data_field: WALK_HVY_WALK_PM + - name: WALK_COM_WALK_PM + data_field: WALK_COM_WALK_PM + - name: DRIVE_LOC_WALK_PM + data_field: DRIVE_LOC_WALK_PM + - name: DRIVE_LRF_WALK_PM + data_field: DRIVE_LRF_WALK_PM + - name: DRIVE_EXP_WALK_PM + data_field: DRIVE_EXP_WALK_PM + - name: DRIVE_HVY_WALK_PM + data_field: DRIVE_HVY_WALK_PM + - name: DRIVE_COM_WALK_PM + data_field: DRIVE_COM_WALK_PM + - name: WALK_LOC_DRIVE_PM + data_field: WALK_LOC_DRIVE_PM + - name: WALK_LRF_DRIVE_PM + data_field: WALK_LRF_DRIVE_PM + - name: WALK_EXP_DRIVE_PM + data_field: WALK_EXP_DRIVE_PM + - name: WALK_DRIVE_HVY_PM + data_field: WALK_DRIVE_HVY_PM + - name: WALK_COM_DRIVE_PM + data_field: WALK_COM_DRIVE_PM + - file_name: trips_ev.omx + tables: + - name: DRIVEALONEFREE_EV + data_field: DRIVEALONEFREE_EV + - name: DRIVEALONEPAY_EV + data_field: DRIVEALONEPAY_EV + - name: SHARED2FREE_EV + data_field: SHARED2FREE_EV + - name: SHARED2PAY_EV + data_field: SHARED2PAY_EV + - name: SHARED3FREE_EV + data_field: SHARED3FREE_EV + - name: SHARED3PAY_EV + data_field: SHARED3PAY_EV + - name: WALK_EV + data_field: WALK_EV + - name: BIKE_EV + data_field: BIKE_EV + - name: WALK_LOC_WALK_EV + data_field: WALK_LOC_WALK_EV + - name: WALK_LRF_WALK_EV + data_field: WALK_LRF_WALK_EV + - name: WALK_EXP_WALK_EV + data_field: WALK_EXP_WALK_EV + - name: WALK_HVY_WALK_EV + data_field: WALK_HVY_WALK_EV + - name: WALK_COM_WALK_EV + data_field: WALK_COM_WALK_EV + - name: DRIVE_LOC_WALK_EV + data_field: DRIVE_LOC_WALK_EV + - name: DRIVE_LRF_WALK_EV + data_field: DRIVE_LRF_WALK_EV + - name: DRIVE_EXP_WALK_EV + data_field: DRIVE_EXP_WALK_EV + - name: DRIVE_HVY_WALK_EV + data_field: DRIVE_HVY_WALK_EV + - name: DRIVE_COM_WALK_EV + data_field: DRIVE_COM_WALK_EV + - name: WALK_LOC_DRIVE_EV + data_field: WALK_LOC_DRIVE_EV + - name: WALK_LRF_DRIVE_EV + data_field: WALK_LRF_DRIVE_EV + - name: WALK_EXP_DRIVE_EV + data_field: WALK_EXP_DRIVE_EV + - name: WALK_DRIVE_HVY_EV + data_field: WALK_DRIVE_HVY_EV + - name: WALK_COM_DRIVE_EV + data_field: WALK_COM_DRIVE_EV + +CONSTANTS: + time_periods: + EA: + first_hour: 3 + last_hour: 5 + AM: + first_hour: 6 + last_hour: 9 + MD: + first_hour: 10 + last_hour: 14 + PM: + first_hour: 15 + last_hour: 18 + EV: + first_hour: 19 + last_hour: 2 + # SHARED2 and SHARED3 Occupancies + OCC_SHARED2: 2.0 + OCC_SHARED3: 3.33 diff --git a/activitysim/examples/prototype_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv new file mode 100644 index 0000000000..1c599d7567 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv @@ -0,0 +1,130 @@ +Description,Target,Expression +# add additional fields,, +,tour_participants,trips.tour_id.map(tours.number_of_participants) +,distance,od_skims['DIST'] +# code time periods,, +,is_ea,"trips.depart.between(time_periods['EA']['first_hour'], time_periods['EA']['last_hour'])" +,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" +,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" +,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" +,is_ev,(trips.depart >= time_periods['EV']['first_hour']) | (trips.depart <= time_periods['EV']['last_hour']) +# ea trips,, +,DRIVEALONEFREE_EA,((trips.trip_mode == 'DRIVEALONEFREE') & is_ea) * tour_participants +,DRIVEALONEPAY_EA,((trips.trip_mode == 'DRIVEALONEPAY') & is_ea) * tour_participants +,SHARED2FREE_EA,((trips.trip_mode == 'SHARED2FREE') & is_ea) * tour_participants / OCC_SHARED2 +,SHARED2PAY_EA,((trips.trip_mode == 'SHARED2PAY') & is_ea) * tour_participants / OCC_SHARED2 +,SHARED3FREE_EA,((trips.trip_mode == 'SHARED3FREE') & is_ea) * tour_participants / OCC_SHARED3 +,SHARED3PAY_EA,((trips.trip_mode == 'SHARED3PAY') & is_ea) * tour_participants / OCC_SHARED3 +,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants +,BIKE_EA,((trips.trip_mode == 'BIKE') & is_ea) * tour_participants +,WALK_LOC_WALK_EA,((trips.trip_mode == 'WALK_LOC') & is_ea) * tour_participants +,WALK_LRF_WALK_EA,((trips.trip_mode == 'WALK_LRF') & is_ea) * tour_participants +,WALK_EXP_WALK_EA,((trips.trip_mode == 'WALK_EXP') & is_ea) * tour_participants +,WALK_HVY_WALK_EA,((trips.trip_mode == 'WALK_HVY') & is_ea) * tour_participants +,WALK_COM_WALK_EA,((trips.trip_mode == 'WALK_COM') & is_ea) * tour_participants +,DRIVE_LOC_WALK_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & trips.outbound) * tour_participants +,DRIVE_COM_WALK_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & ~trips.outbound) * tour_participants +# am trips,, +,DRIVEALONEFREE_AM,((trips.trip_mode == 'DRIVEALONEFREE') & is_am) * tour_participants +,DRIVEALONEPAY_AM,((trips.trip_mode == 'DRIVEALONEPAY') & is_am) * tour_participants +,SHARED2FREE_AM,((trips.trip_mode == 'SHARED2FREE') & is_am) * tour_participants / OCC_SHARED2 +,SHARED2PAY_AM,((trips.trip_mode == 'SHARED2PAY') & is_am) * tour_participants / OCC_SHARED2 +,SHARED3FREE_AM,((trips.trip_mode == 'SHARED3FREE') & is_am) * tour_participants / OCC_SHARED3 +,SHARED3PAY_AM,((trips.trip_mode == 'SHARED3PAY') & is_am) * tour_participants / OCC_SHARED3 +,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants +,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants +,WALK_LOC_WALK_AM,((trips.trip_mode == 'WALK_LOC') & is_am) * tour_participants +,WALK_LRF_WALK_AM,((trips.trip_mode == 'WALK_LRF') & is_am) * tour_participants +,WALK_EXP_WALK_AM,((trips.trip_mode == 'WALK_EXP') & is_am) * tour_participants +,WALK_HVY_WALK_AM,((trips.trip_mode == 'WALK_HVY') & is_am) * tour_participants +,WALK_COM_WALK_AM,((trips.trip_mode == 'WALK_COM') & is_am) * tour_participants +,DRIVE_LOC_WALK_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & trips.outbound) * tour_participants +,DRIVE_COM_WALK_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & ~trips.outbound) * tour_participants +# md trips,, +,DRIVEALONEFREE_MD,((trips.trip_mode == 'DRIVEALONEFREE') & is_md) * tour_participants +,DRIVEALONEPAY_MD,((trips.trip_mode == 'DRIVEALONEPAY') & is_md) * tour_participants +,SHARED2FREE_MD,((trips.trip_mode == 'SHARED2FREE') & is_md) * tour_participants / OCC_SHARED2 +,SHARED2PAY_MD,((trips.trip_mode == 'SHARED2PAY') & is_md) * tour_participants / OCC_SHARED2 +,SHARED3FREE_MD,((trips.trip_mode == 'SHARED3FREE') & is_md) * tour_participants / OCC_SHARED3 +,SHARED3PAY_MD,((trips.trip_mode == 'SHARED3PAY') & is_md) * tour_participants / OCC_SHARED3 +,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants +,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants +,WALK_LOC_WALK_MD,((trips.trip_mode == 'WALK_LOC') & is_md) * tour_participants +,WALK_LRF_WALK_MD,((trips.trip_mode == 'WALK_LRF') & is_md) * tour_participants +,WALK_EXP_WALK_MD,((trips.trip_mode == 'WALK_EXP') & is_md) * tour_participants +,WALK_HVY_WALK_MD,((trips.trip_mode == 'WALK_HVY') & is_md) * tour_participants +,WALK_COM_WALK_MD,((trips.trip_mode == 'WALK_COM') & is_md) * tour_participants +,DRIVE_LOC_WALK_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & trips.outbound) * tour_participants +,DRIVE_COM_WALK_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & ~trips.outbound) * tour_participants +# pm trips,, +,DRIVEALONEFREE_PM,((trips.trip_mode == 'DRIVEALONEFREE') & is_pm) * tour_participants +,DRIVEALONEPAY_PM,((trips.trip_mode == 'DRIVEALONEPAY') & is_pm) * tour_participants +,SHARED2FREE_PM,((trips.trip_mode == 'SHARED2FREE') & is_pm) * tour_participants / OCC_SHARED2 +,SHARED2PAY_PM,((trips.trip_mode == 'SHARED2PAY') & is_pm) * tour_participants / OCC_SHARED2 +,SHARED3FREE_PM,((trips.trip_mode == 'SHARED3FREE') & is_pm) * tour_participants / OCC_SHARED3 +,SHARED3PAY_PM,((trips.trip_mode == 'SHARED3PAY') & is_pm) * tour_participants / OCC_SHARED3 +,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants +,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants +,WALK_LOC_WALK_PM,((trips.trip_mode == 'WALK_LOC') & is_pm) * tour_participants +,WALK_LRF_WALK_PM,((trips.trip_mode == 'WALK_LRF') & is_pm) * tour_participants +,WALK_EXP_WALK_PM,((trips.trip_mode == 'WALK_EXP') & is_pm) * tour_participants +,WALK_HVY_WALK_PM,((trips.trip_mode == 'WALK_HVY') & is_pm) * tour_participants +,WALK_COM_WALK_PM,((trips.trip_mode == 'WALK_COM') & is_pm) * tour_participants +,DRIVE_LOC_WALK_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & trips.outbound) * tour_participants +,DRIVE_COM_WALK_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & ~trips.outbound) * tour_participants +# ev trips,, +,DRIVEALONEFREE_EV,((trips.trip_mode == 'DRIVEALONEFREE') & is_ev) * tour_participants +,DRIVEALONEPAY_EV,((trips.trip_mode == 'DRIVEALONEPAY') & is_ev) * tour_participants +,SHARED2FREE_EV,((trips.trip_mode == 'SHARED2FREE') & is_ev) * tour_participants / OCC_SHARED2 +,SHARED2PAY_EV,((trips.trip_mode == 'SHARED2PAY') & is_ev) * tour_participants / OCC_SHARED2 +,SHARED3FREE_EV,((trips.trip_mode == 'SHARED3FREE') & is_ev) * tour_participants / OCC_SHARED3 +,SHARED3PAY_EV,((trips.trip_mode == 'SHARED3PAY') & is_ev) * tour_participants / OCC_SHARED3 +,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants +,BIKE_EV,((trips.trip_mode == 'BIKE') & is_ev) * tour_participants +,WALK_LOC_WALK_EV,((trips.trip_mode == 'WALK_LOC') & is_ev) * tour_participants +,WALK_LRF_WALK_EV,((trips.trip_mode == 'WALK_LRF') & is_ev) * tour_participants +,WALK_EXP_WALK_EV,((trips.trip_mode == 'WALK_EXP') & is_ev) * tour_participants +,WALK_HVY_WALK_EV,((trips.trip_mode == 'WALK_HVY') & is_ev) * tour_participants +,WALK_COM_WALK_EV,((trips.trip_mode == 'WALK_COM') & is_ev) * tour_participants +,DRIVE_LOC_WALK_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & trips.outbound) * tour_participants +,DRIVE_COM_WALK_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & ~trips.outbound) * tour_participants diff --git a/activitysim/examples/example_mtc/configs_mp/logging.yaml b/activitysim/examples/prototype_mtc/configs_mp/logging.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs_mp/logging.yaml rename to activitysim/examples/prototype_mtc/configs_mp/logging.yaml diff --git a/activitysim/examples/prototype_mtc/configs_mp/settings.yaml b/activitysim/examples/prototype_mtc/configs_mp/settings.yaml new file mode 100644 index 0000000000..7246c5cf36 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs_mp/settings.yaml @@ -0,0 +1,101 @@ + +inherit_settings: True + +# raise error if any sub-process fails without waiting for others to complete +fail_fast: True + +# - ------------------------- production config +#multiprocess: True +#strict: False +#use_shadow_pricing: True + +# - full sample - 2875192 households on 64 processor 432 GiB RAM +#households_sample_size: 0 +#chunk_size: 400_000_000_000 +#num_processes: 60 + +# - ------------------------- no chunking due to sufficient RAM +# chunk_training_mode: disabled + +# - ------------------------- dev config +multiprocess: True +strict: False +use_shadow_pricing: False + +households_sample_size: 0 +chunk_size: 0 +num_processes: 2 + +# - ------------------------- + +# not recommended or supported for multiprocessing +want_dest_choice_sample_tables: False + +#read_skim_cache: True +#write_skim_cache: True + +# - tracing +#trace_hh_id: +trace_od: + +# to resume after last successful checkpoint, specify resume_after: _ +#resume_after: trip_purpose_and_destination + +models: + ### mp_initialize step + - initialize_landuse + - initialize_households + ### mp_accessibility step + - compute_accessibility + ### mp_households step + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + ### mp_summarize step + - write_data_dictionary + - write_trip_matrices + - write_tables + - summarize + +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_accessibility + begin: compute_accessibility + slice: + tables: + - accessibility + # don't slice any tables not explicitly listed above in slice.tables + except: True + - name: mp_households + begin: school_location + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_data_dictionary + diff --git a/activitysim/examples/example_mtc/data/.gitignore b/activitysim/examples/prototype_mtc/data/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/data/.gitignore rename to activitysim/examples/prototype_mtc/data/.gitignore diff --git a/activitysim/examples/example_multiple_zone/data_1/households.csv b/activitysim/examples/prototype_mtc/data/households.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data_1/households.csv rename to activitysim/examples/prototype_mtc/data/households.csv diff --git a/activitysim/examples/example_multiple_zone/data_1/land_use.csv b/activitysim/examples/prototype_mtc/data/land_use.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data_1/land_use.csv rename to activitysim/examples/prototype_mtc/data/land_use.csv diff --git a/activitysim/examples/example_multiple_zone/data/mtc_asim.h5 b/activitysim/examples/prototype_mtc/data/mtc_asim.h5 similarity index 100% rename from activitysim/examples/example_multiple_zone/data/mtc_asim.h5 rename to activitysim/examples/prototype_mtc/data/mtc_asim.h5 diff --git a/activitysim/examples/example_multiple_zone/data/override_hh_ids.csv b/activitysim/examples/prototype_mtc/data/override_hh_ids.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data/override_hh_ids.csv rename to activitysim/examples/prototype_mtc/data/override_hh_ids.csv diff --git a/activitysim/examples/example_multiple_zone/data_1/persons.csv b/activitysim/examples/prototype_mtc/data/persons.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data_1/persons.csv rename to activitysim/examples/prototype_mtc/data/persons.csv diff --git a/activitysim/examples/example_multiple_zone/data_1/skims.omx b/activitysim/examples/prototype_mtc/data/skims.omx similarity index 100% rename from activitysim/examples/example_multiple_zone/data_1/skims.omx rename to activitysim/examples/prototype_mtc/data/skims.omx diff --git a/activitysim/examples/example_mtc/notebooks/README.md b/activitysim/examples/prototype_mtc/notebooks/README.md similarity index 100% rename from activitysim/examples/example_mtc/notebooks/README.md rename to activitysim/examples/prototype_mtc/notebooks/README.md diff --git a/activitysim/examples/example_mtc/notebooks/adding_tncs.ipynb b/activitysim/examples/prototype_mtc/notebooks/adding_tncs.ipynb similarity index 100% rename from activitysim/examples/example_mtc/notebooks/adding_tncs.ipynb rename to activitysim/examples/prototype_mtc/notebooks/adding_tncs.ipynb diff --git a/activitysim/examples/example_mtc/notebooks/change_in_auto_ownership.ipynb b/activitysim/examples/prototype_mtc/notebooks/change_in_auto_ownership.ipynb similarity index 99% rename from activitysim/examples/example_mtc/notebooks/change_in_auto_ownership.ipynb rename to activitysim/examples/prototype_mtc/notebooks/change_in_auto_ownership.ipynb index e093ecb92b..3220d27896 100644 --- a/activitysim/examples/example_mtc/notebooks/change_in_auto_ownership.ipynb +++ b/activitysim/examples/prototype_mtc/notebooks/change_in_auto_ownership.ipynb @@ -41,26 +41,26 @@ "copying configs_mp ...\n", "copying output ...\n", "copying README.MD ...\n", - "copied! new project files are in C:\\projects\\development\\activitysim_rsg\\notebooks\\example_base_auto_own\\example_mtc\n", + "copied! new project files are in C:\\projects\\development\\activitysim_rsg\\notebooks\\example_base_auto_own\\prototype_mtc\n", "the copied example can be run with\n", "\n", - " activitysim run -w example_base_auto_own\\example_mtc\n", + " activitysim run -w example_base_auto_own\\prototype_mtc\n", "copying data ...\n", "copying configs ...\n", "copying configs_mp ...\n", "copying output ...\n", "copying README.MD ...\n", - "copied! new project files are in C:\\projects\\development\\activitysim_rsg\\notebooks\\example_base_auto_own_alternative\\example_mtc\n", + "copied! new project files are in C:\\projects\\development\\activitysim_rsg\\notebooks\\example_base_auto_own_alternative\\prototype_mtc\n", "the copied example can be run with\n", "\n", - " activitysim run -w example_base_auto_own_alternative\\example_mtc\n" + " activitysim run -w example_base_auto_own_alternative\\prototype_mtc\n" ] } ], "source": [ - "!activitysim create -e example_mtc -d example_base_auto_own\n", + "!activitysim create -e prototype_mtc -d example_base_auto_own\n", "\n", - "!activitysim create -e example_mtc -d example_base_auto_own_alternative" + "!activitysim create -e prototype_mtc -d example_base_auto_own_alternative" ] }, { diff --git a/activitysim/examples/example_mtc/notebooks/getting_started.ipynb b/activitysim/examples/prototype_mtc/notebooks/getting_started.ipynb similarity index 99% rename from activitysim/examples/example_mtc/notebooks/getting_started.ipynb rename to activitysim/examples/prototype_mtc/notebooks/getting_started.ipynb index 2a03e452ab..501b2882fe 100644 --- a/activitysim/examples/example_mtc/notebooks/getting_started.ipynb +++ b/activitysim/examples/prototype_mtc/notebooks/getting_started.ipynb @@ -78,7 +78,7 @@ "source": [ "# Creating an Example Setup\n", "\n", - "The example is included in the package and can be copied to a user defined location using the package's command line interface. The example includes all model steps. The command below copies the example_mtc example to a new example folder. It also changes into the new example folder so we can run the model from there." + "The example is included in the package and can be copied to a user defined location using the package's command line interface. The example includes all model steps. The command below copies the prototype_mtc example to a new example folder. It also changes into the new example folder so we can run the model from there." ] }, { @@ -103,13 +103,13 @@ "copying configs_mp ...\n", "copying output ...\n", "copying README.MD ...\n", - "copied! new project files are in C:\\projects\\development\\activitysim\\activitysim\\examples\\example_mtc\\notebooks\\example\n", - "C:\\projects\\development\\activitysim\\activitysim\\examples\\example_mtc\\notebooks\\example\n" + "copied! new project files are in C:\\projects\\development\\activitysim\\activitysim\\examples\\prototype_mtc\\notebooks\\example\n", + "C:\\projects\\development\\activitysim\\activitysim\\examples\\prototype_mtc\\notebooks\\example\n" ] } ], "source": [ - "!activitysim create -e example_mtc -d example\n", + "!activitysim create -e prototype_mtc -d example\n", "%cd example" ] }, @@ -122,7 +122,7 @@ "source": [ "# Run the Example\n", "\n", - "The code below runs the example, which runs in a few minutes. The example consists of 100 synthetic households and the first 25 zones in the example model region. The full example (**example_mtc_full**) can be created and downloaded from the [activitysim resources](https://github.com/RSGInc/activitysim_resources) repository using activitysim's create command above. As the model runs, it logs information to the screen. \n", + "The code below runs the example, which runs in a few minutes. The example consists of 100 synthetic households and the first 25 zones in the example model region. The full example (**prototype_mtc_full**) can be created and downloaded from the [activitysim resources](https://github.com/ActivitySim/activitysim_resources) repository using activitysim's create command above. As the model runs, it logs information to the screen. \n", "\n", "To run the example, use activitysim's built-in run command. As shown in the script help, the default settings assume a configs, data, and output folder in the current directory." ] diff --git a/activitysim/examples/example_mtc/notebooks/memory_usage.ipynb b/activitysim/examples/prototype_mtc/notebooks/memory_usage.ipynb similarity index 100% rename from activitysim/examples/example_mtc/notebooks/memory_usage.ipynb rename to activitysim/examples/prototype_mtc/notebooks/memory_usage.ipynb diff --git a/activitysim/examples/example_mtc/notebooks/summarizing_results.ipynb b/activitysim/examples/prototype_mtc/notebooks/summarizing_results.ipynb similarity index 100% rename from activitysim/examples/example_mtc/notebooks/summarizing_results.ipynb rename to activitysim/examples/prototype_mtc/notebooks/summarizing_results.ipynb diff --git a/activitysim/examples/example_mtc/notebooks/trips_in_time_and_space.ipynb b/activitysim/examples/prototype_mtc/notebooks/trips_in_time_and_space.ipynb similarity index 100% rename from activitysim/examples/example_mtc/notebooks/trips_in_time_and_space.ipynb rename to activitysim/examples/prototype_mtc/notebooks/trips_in_time_and_space.ipynb diff --git a/activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.dbf b/activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.dbf similarity index 100% rename from activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.dbf rename to activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.dbf diff --git a/activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.prj b/activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.prj similarity index 100% rename from activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.prj rename to activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.prj diff --git a/activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shp b/activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shp similarity index 100% rename from activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shp rename to activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shp diff --git a/activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shx b/activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shx similarity index 100% rename from activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shx rename to activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shx diff --git a/activitysim/examples/prototype_mtc/output/.gitignore b/activitysim/examples/prototype_mtc/output/.gitignore new file mode 100644 index 0000000000..983e02dfcf --- /dev/null +++ b/activitysim/examples/prototype_mtc/output/.gitignore @@ -0,0 +1,6 @@ +*.csv +*.log +*.prof +*.h5 +*.txt +*.omx diff --git a/activitysim/examples/example_sandag/output_3/cache/.gitignore b/activitysim/examples/prototype_mtc/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_3/cache/.gitignore rename to activitysim/examples/prototype_mtc/output/cache/.gitignore diff --git a/activitysim/examples/example_sandag/output_3/log/.gitignore b/activitysim/examples/prototype_mtc/output/log/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_3/log/.gitignore rename to activitysim/examples/prototype_mtc/output/log/.gitignore diff --git a/activitysim/examples/prototype_mtc/output/summarize/dashboard-1-summary.yaml b/activitysim/examples/prototype_mtc/output/summarize/dashboard-1-summary.yaml new file mode 100644 index 0000000000..fc39e67999 --- /dev/null +++ b/activitysim/examples/prototype_mtc/output/summarize/dashboard-1-summary.yaml @@ -0,0 +1,108 @@ +version: 1 + +header: + tab: Topsheet + title: ActivitySim Topsheet + description: "Some example metrics that people find generally useful." + +layout: + topsheetRow: + - title: "At-a-Glance" + type: "topsheet" + props: + configFile: "topsheet.yaml" + + row0: + - title: "Trip Mode Share" + # description: "Add a subtitle" + info: "You can additional descriptive text for each chart element." + type: "pie" + width: 1 + props: + dataset: "trips_by_mode_count.csv" + useLastRow: true + + - title: "Trip Purpose" + # description: "" + info: "You can add additional descriptive text for each chart element." + type: "pie" + width: 1 + props: + dataset: "trips_by_purpose_count.csv" + useLastRow: true + + - title: "Trip Purpose by Time of Day" + description: "Trip counts stacked by puropse" + info: "You can add additional descriptive text for each chart element." + type: "area" + width: 1 + props: + dataset: "trip_purpose_by_time_of_day.csv" + x: "depart" + + row1: + - title: "VMT / Capita" + # description: "" + info: "You can add additional descriptive text for each chart element." + type: "map" + width: 2 + height: 8 + props: + boundaries: 'taz1454.geojson' + boundariesJoinCol: 'TAZ1454' + boundariesLabels: 'TAZ' + dataset: 'vmt_per_capita_by_home_taz.csv' + datasetJoinCol: 'home_zone_id' + datasetValue: 'vmt_per_capita_by_home_taz' + + - title: "VMT / Employee" + # description: "" + type: "map" + width: 2 + height: 8 + props: + boundaries: 'taz1454.geojson' + boundariesJoinCol: 'TAZ1454' + boundariesLabels: 'TAZ' + dataset: 'vmt_per_capita_by_work_taz.csv' + datasetJoinCol: 'workplace_zone_id' + datasetValue: 'vmt_per_capita_by_work_taz' + + row2: + - title: "Work Tours by Departure Time" + type: "bar" + props: + dataset: "work_tours_tod_count.csv" + x: "depart" + xAxisTitle: "Time of Day" + columns: ['tours'] + yAxisTitle: "Tours" + legendTitles: ['Work Tours'] + + - title: "School Tours by Departure Time" + type: "bar" + props: + dataset: "school_tours_tod_count.csv" + x: "depart" + xAxisTitle: "Time of Day" + columns: ['tours'] + yAxisTitle: "Tours" + legendTitles: ['School Tours'] + + - title: "Non-Mandatory Tours by Departure Time" + type: "bar" + props: + dataset: "non_mandatory_tours_tod_count.csv" + x: "depart" + xAxisTitle: "Time of Day" + columns: ['tours'] + yAxisTitle: "Tours" + legendTitles: ['Non-Mandatory Tours'] + + row3: + - title: "Relationships Between Tour Modes and Trip Modes" + description: "Tour modes <---> Trip modes" + type: sankey + height: 8 + props: + csv: tour_mode_to_trip_mode.csv diff --git a/activitysim/examples/prototype_mtc/output/summarize/taz1454.geojson b/activitysim/examples/prototype_mtc/output/summarize/taz1454.geojson new file mode 100644 index 0000000000..0035bccaaa --- /dev/null +++ b/activitysim/examples/prototype_mtc/output/summarize/taz1454.geojson @@ -0,0 +1,1461 @@ +{ +"type": "FeatureCollection", +"name": "taz1454", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 939, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.240979000284, 37.812727000579784 ], [ -122.241979000267463, 37.811427000725324 ], [ -122.242579000124849, 37.811227000821674 ], [ -122.243179000168212, 37.811027000545849 ], [ -122.245379000246587, 37.810527001036625 ], [ -122.246078999528692, 37.810627000331472 ], [ -122.246578999918341, 37.810627000706596 ], [ -122.24697899979364, 37.810527000469207 ], [ -122.247278999966625, 37.809727000941479 ], [ -122.248979999543906, 37.811027000611922 ], [ -122.248879999557275, 37.811427000571868 ], [ -122.248579999942919, 37.811727000925664 ], [ -122.246879000516429, 37.814327000528685 ], [ -122.246778999942492, 37.81452700107873 ], [ -122.246279000316378, 37.815627000638777 ], [ -122.246178999659847, 37.815927000615602 ], [ -122.245879000175464, 37.816227000950434 ], [ -122.24578899954237, 37.816481001009294 ], [ -122.245278999855003, 37.817927000653363 ], [ -122.245078999959688, 37.818327000433833 ], [ -122.245078999837148, 37.81882700105016 ], [ -122.244779000367643, 37.819327000933342 ], [ -122.243978999940708, 37.818927001037004 ], [ -122.243278999877177, 37.818727000858573 ], [ -122.242178999681258, 37.818427000549363 ], [ -122.240378999986973, 37.818027000482104 ], [ -122.239279000459632, 37.81772700109012 ], [ -122.237478999572701, 37.817327000947991 ], [ -122.236578999670584, 37.817227000867177 ], [ -122.235179000525505, 37.817027000351182 ], [ -122.233879000454024, 37.816727001058474 ], [ -122.233279000345831, 37.816527000701633 ], [ -122.233378999766558, 37.816127000296447 ], [ -122.232878999818297, 37.815927000676268 ], [ -122.232078999910115, 37.814327000325157 ], [ -122.23307900029161, 37.814427000812117 ], [ -122.237178999684176, 37.814627000550409 ], [ -122.238078999623738, 37.815027000356878 ], [ -122.238278999789898, 37.81482700058843 ], [ -122.238979000257913, 37.814227000868826 ], [ -122.239278999998149, 37.813927000972114 ], [ -122.239878999548296, 37.813427000612734 ], [ -122.240679000442753, 37.812927000399064 ], [ -122.240979000284, 37.812727000579784 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 974, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.254779999898247, 37.826627000700377 ], [ -122.255879999424081, 37.827427000999762 ], [ -122.257379999575534, 37.82782700068897 ], [ -122.256780000520024, 37.828727000966929 ], [ -122.255879999966922, 37.83012700103486 ], [ -122.255580000059823, 37.830526000319615 ], [ -122.254980000057728, 37.831526000528207 ], [ -122.253579999662549, 37.833626000535354 ], [ -122.253580000502794, 37.833826000918734 ], [ -122.253079999466706, 37.834526000657306 ], [ -122.251080000124034, 37.833826000549067 ], [ -122.250479999851578, 37.832826000550767 ], [ -122.250879999975339, 37.83212600026998 ], [ -122.249979999955116, 37.831526000508255 ], [ -122.248744999696655, 37.832486000711278 ], [ -122.248179000299587, 37.832926000629975 ], [ -122.247678999936042, 37.833326000760131 ], [ -122.24677899944983, 37.832826000748909 ], [ -122.245579000296431, 37.832126000967634 ], [ -122.243778999918234, 37.830526000591583 ], [ -122.243379000327508, 37.830126000382194 ], [ -122.244178999921132, 37.829326000815861 ], [ -122.244878999653892, 37.828626000532395 ], [ -122.245178999724004, 37.828327000436666 ], [ -122.245407999490766, 37.828164001017548 ], [ -122.245878999403857, 37.827827000810728 ], [ -122.246267999660887, 37.827623001088789 ], [ -122.247979000049952, 37.82672700102826 ], [ -122.248678999792517, 37.825527000909887 ], [ -122.248978999968514, 37.825027000622484 ], [ -122.250179999672284, 37.823827000335797 ], [ -122.250979999570433, 37.822927000989459 ], [ -122.251780000116881, 37.823527000973961 ], [ -122.252479999878773, 37.823927001018284 ], [ -122.25297999940048, 37.824527000995388 ], [ -122.253256999675003, 37.824712000387535 ], [ -122.254479999814691, 37.825527000769256 ], [ -122.254079999590559, 37.826027001088718 ], [ -122.254779999898247, 37.826627000700377 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 914, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.211578000173802, 37.856026001024155 ], [ -122.210777999764105, 37.855026000410575 ], [ -122.210810000082091, 37.854946000898579 ], [ -122.210978000341086, 37.854526000356699 ], [ -122.20877799948623, 37.852026000587237 ], [ -122.206278000182706, 37.851626000509022 ], [ -122.203777999818413, 37.851226000606466 ], [ -122.203210000045573, 37.85051600047732 ], [ -122.201378000257606, 37.848226000502542 ], [ -122.200277999892336, 37.847226000464296 ], [ -122.198878000174219, 37.846326000994964 ], [ -122.197277999421075, 37.845126000346951 ], [ -122.19677799952764, 37.84482600107134 ], [ -122.195277999519618, 37.843626000954977 ], [ -122.195278000429695, 37.842826000769371 ], [ -122.19907800023627, 37.84362600059071 ], [ -122.20057800023109, 37.843426000889416 ], [ -122.201877999709751, 37.843426000616226 ], [ -122.203178000426789, 37.84342600041834 ], [ -122.204177999493623, 37.843026000402219 ], [ -122.204678000004819, 37.842726000591377 ], [ -122.209077999760595, 37.841626000305816 ], [ -122.209378000006353, 37.841326000566717 ], [ -122.209877999680572, 37.840326000897456 ], [ -122.210577999736188, 37.83912600071821 ], [ -122.210877999538226, 37.838826000562008 ], [ -122.211277999451255, 37.837726000793765 ], [ -122.211478000439143, 37.837326000362673 ], [ -122.211777999500285, 37.836726000346665 ], [ -122.212278000411928, 37.834926000891464 ], [ -122.214178000149346, 37.833426000558305 ], [ -122.214877999769584, 37.832926001098535 ], [ -122.215978000023796, 37.83202600033259 ], [ -122.217378000002967, 37.832726000253302 ], [ -122.217877999536668, 37.83352600048201 ], [ -122.219831999395595, 37.836328000413424 ], [ -122.220178999408574, 37.836826000566731 ], [ -122.222378999687038, 37.838726001132706 ], [ -122.224279000084763, 37.840926001079382 ], [ -122.224678999851406, 37.841426000708644 ], [ -122.22547900020777, 37.842626001007382 ], [ -122.226052999853977, 37.843323000284748 ], [ -122.229285000036413, 37.846707000681768 ], [ -122.230522000260123, 37.84864600083263 ], [ -122.230714000510091, 37.848910001137838 ], [ -122.231297999462811, 37.8494450009239 ], [ -122.231579000193037, 37.849726000522111 ], [ -122.232679000013675, 37.851026000632842 ], [ -122.232979000382642, 37.851426000275374 ], [ -122.233678999911959, 37.852126000714485 ], [ -122.232279000171502, 37.851126001068465 ], [ -122.229879000451092, 37.849326000323856 ], [ -122.227178999861678, 37.84902600107462 ], [ -122.226678999586028, 37.849826000998931 ], [ -122.226379000306466, 37.850026001088089 ], [ -122.225378999464453, 37.849826000620446 ], [ -122.224878999492191, 37.850326001119967 ], [ -122.224752000048255, 37.850368000790354 ], [ -122.224278999853524, 37.85052600078582 ], [ -122.224579000062718, 37.851226000573064 ], [ -122.223678999587932, 37.851826001073675 ], [ -122.224279000172842, 37.852826001087571 ], [ -122.223478999875567, 37.853626000873646 ], [ -122.223779000151922, 37.854726001033143 ], [ -122.223178999848386, 37.85462600074753 ], [ -122.222179000024141, 37.855326001000208 ], [ -122.223178999600606, 37.857126000369142 ], [ -122.222879000523022, 37.858026000568216 ], [ -122.22167899949028, 37.859826000971601 ], [ -122.219877999821051, 37.85892600054617 ], [ -122.219779000135077, 37.858334000411645 ], [ -122.219578000352499, 37.857126001001404 ], [ -122.21767800003731, 37.856926000529597 ], [ -122.217610000506951, 37.856688000837643 ], [ -122.217478000431413, 37.856226000606163 ], [ -122.21627800008028, 37.856326000514521 ], [ -122.216277999421663, 37.85622600046463 ], [ -122.2162779999572, 37.855626001061374 ], [ -122.214978000131893, 37.856026000935394 ], [ -122.214477999901689, 37.856026000239474 ], [ -122.21407800008727, 37.855526000476146 ], [ -122.213777999574532, 37.855926000528946 ], [ -122.212277999442932, 37.856726000393515 ], [ -122.21194600015302, 37.856394001062341 ], [ -122.211578000173802, 37.856026001024155 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 920, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.199978000096564, 37.812427000757374 ], [ -122.199155999663503, 37.811568000514718 ], [ -122.198577999448219, 37.810927000344797 ], [ -122.19787800003526, 37.810427001022305 ], [ -122.198177999841107, 37.810227000652411 ], [ -122.198577999735178, 37.810027000325348 ], [ -122.199078000349402, 37.810027000454063 ], [ -122.201477999607206, 37.810227000351844 ], [ -122.203977999412899, 37.808327000285182 ], [ -122.206078000057246, 37.807027001013033 ], [ -122.206978000509139, 37.806427000783039 ], [ -122.207477999406308, 37.806227000428862 ], [ -122.208277999419394, 37.806727000619084 ], [ -122.208678000287847, 37.806927000526152 ], [ -122.209678000332303, 37.806827001105077 ], [ -122.209778000132971, 37.807727000720753 ], [ -122.209877999902048, 37.808527001125697 ], [ -122.210277999460303, 37.808627001097221 ], [ -122.211277999397751, 37.809227001073083 ], [ -122.211578000401659, 37.809227000409749 ], [ -122.212177999990431, 37.809927000578853 ], [ -122.211478000386009, 37.810227000549077 ], [ -122.21127799992631, 37.810427000659253 ], [ -122.211878000223322, 37.810727000947857 ], [ -122.212277999480577, 37.811327000739823 ], [ -122.212578000202711, 37.811527000912939 ], [ -122.21297799982041, 37.811727000635713 ], [ -122.213378000455663, 37.811927000812254 ], [ -122.2134990004038, 37.812007000399817 ], [ -122.213677999749649, 37.812127000881723 ], [ -122.214077999770922, 37.812427000348343 ], [ -122.21497799954625, 37.812827000420413 ], [ -122.214078000391538, 37.81362700039729 ], [ -122.212578000094084, 37.81692700044627 ], [ -122.210178000267291, 37.818727000976182 ], [ -122.20827800022083, 37.820727000626221 ], [ -122.208078000479333, 37.821027000784497 ], [ -122.20797799968625, 37.821227001012488 ], [ -122.207778000511794, 37.821427000954088 ], [ -122.207578000220622, 37.821727001108229 ], [ -122.20687799964081, 37.820827000853747 ], [ -122.206478000466475, 37.820427001036698 ], [ -122.205978000439998, 37.819927000238636 ], [ -122.204358000372011, 37.817902000489674 ], [ -122.199978000096564, 37.812427000757374 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 921, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.209678000332303, 37.806827001105077 ], [ -122.208678000287847, 37.806927000526152 ], [ -122.208277999419394, 37.806727000619084 ], [ -122.207477999406308, 37.806227000428862 ], [ -122.207977999497174, 37.805827000774578 ], [ -122.20857799994296, 37.805227000365932 ], [ -122.209177999695626, 37.804627000397566 ], [ -122.209777999891273, 37.804027000877177 ], [ -122.210377999755735, 37.803327000905895 ], [ -122.211177999820364, 37.802727000527732 ], [ -122.211677999838116, 37.802127000921196 ], [ -122.211977999967118, 37.80172700080238 ], [ -122.212177999648688, 37.80152700089706 ], [ -122.212678000320153, 37.8011270005534 ], [ -122.214177999540411, 37.799627000658383 ], [ -122.215077999813801, 37.799927000959038 ], [ -122.215778000477641, 37.80012700063326 ], [ -122.216177999780243, 37.800127000287148 ], [ -122.217277999929067, 37.80052700034507 ], [ -122.217879000218304, 37.800627001125974 ], [ -122.217878999680153, 37.801327000763983 ], [ -122.217622999713086, 37.801754000298388 ], [ -122.216599000491243, 37.803459001029267 ], [ -122.21614299991549, 37.804420000608495 ], [ -122.215686999680543, 37.805085000905336 ], [ -122.215313999819216, 37.805636000789086 ], [ -122.215399999765182, 37.806272000841957 ], [ -122.215498000013497, 37.80670500102157 ], [ -122.215675000501278, 37.807064000556984 ], [ -122.215701000375489, 37.807362000517692 ], [ -122.215665000173118, 37.808308000578812 ], [ -122.215454000030405, 37.809687000256041 ], [ -122.215178000319355, 37.810427001126278 ], [ -122.215022000182074, 37.810618000287846 ], [ -122.214278000484057, 37.8115270009311 ], [ -122.213677999749649, 37.812127000881723 ], [ -122.2134990004038, 37.812007000399817 ], [ -122.213378000455663, 37.811927000812254 ], [ -122.21297799982041, 37.811727000635713 ], [ -122.212578000202711, 37.811527000912939 ], [ -122.212277999480577, 37.811327000739823 ], [ -122.211878000223322, 37.810727000947857 ], [ -122.21127799992631, 37.810427000659253 ], [ -122.211478000386009, 37.810227000549077 ], [ -122.212177999990431, 37.809927000578853 ], [ -122.211578000401659, 37.809227000409749 ], [ -122.211277999397751, 37.809227001073083 ], [ -122.210277999460303, 37.808627001097221 ], [ -122.209877999902048, 37.808527001125697 ], [ -122.209778000132971, 37.807727000720753 ], [ -122.209678000332303, 37.806827001105077 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 938, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.228478999512959, 37.807927000410523 ], [ -122.231078999938873, 37.807227000867265 ], [ -122.232678999436388, 37.807027000352882 ], [ -122.233778999894568, 37.807027000537964 ], [ -122.234878999747323, 37.8072270005107 ], [ -122.236879000317373, 37.807127000520282 ], [ -122.238878999450776, 37.808227000966163 ], [ -122.240978999838433, 37.809327000824965 ], [ -122.241479000356122, 37.809727000576871 ], [ -122.242178999442842, 37.810227000753564 ], [ -122.2429789995075, 37.810727000457845 ], [ -122.243179000168212, 37.811027000545849 ], [ -122.242579000124849, 37.811227000821674 ], [ -122.241979000267463, 37.811427000725324 ], [ -122.240979000284, 37.812727000579784 ], [ -122.240679000442753, 37.812927000399064 ], [ -122.239878999548296, 37.813427000612734 ], [ -122.239278999998149, 37.813927000972114 ], [ -122.238979000257913, 37.814227000868826 ], [ -122.238278999789898, 37.81482700058843 ], [ -122.238078999623738, 37.815027000356878 ], [ -122.237178999684176, 37.814627000550409 ], [ -122.23307900029161, 37.814427000812117 ], [ -122.232078999910115, 37.814327000325157 ], [ -122.232878999818297, 37.815927000676268 ], [ -122.233378999766558, 37.816127000296447 ], [ -122.233279000345831, 37.816527000701633 ], [ -122.231978999814046, 37.816227000307521 ], [ -122.229278999504956, 37.815627000792517 ], [ -122.225278999991815, 37.814727000516697 ], [ -122.223079000424761, 37.814227001035292 ], [ -122.222678999794141, 37.81412700025264 ], [ -122.221278999527144, 37.813827000763617 ], [ -122.220078999965693, 37.81352700039951 ], [ -122.221178999587906, 37.813227000943108 ], [ -122.22177899998546, 37.812427000695195 ], [ -122.222318000511336, 37.811986000644026 ], [ -122.222879000147998, 37.811527000972156 ], [ -122.223222000299472, 37.811230000809857 ], [ -122.224379000475849, 37.810227000801284 ], [ -122.225379000507644, 37.809727000826641 ], [ -122.225978999859734, 37.809327000874006 ], [ -122.228478999512959, 37.807927000410523 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 944, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.255680000204677, 37.800527000746612 ], [ -122.255079999901767, 37.801127000948007 ], [ -122.255080000017188, 37.802527000371896 ], [ -122.254679999914472, 37.803027000688665 ], [ -122.25378000035478, 37.804327000666085 ], [ -122.25198000016556, 37.804727000558088 ], [ -122.2512800002457, 37.805427001125594 ], [ -122.250580000259589, 37.805227001087118 ], [ -122.250279999933298, 37.805027000729481 ], [ -122.250179999715357, 37.804227000728901 ], [ -122.249879999845874, 37.803327000507601 ], [ -122.249680000087665, 37.802727000779782 ], [ -122.249579999642449, 37.801827000654193 ], [ -122.249501000207928, 37.801564000680038 ], [ -122.249280000454391, 37.80082700106054 ], [ -122.249479999927772, 37.800727000693755 ], [ -122.250479999500513, 37.800527000865507 ], [ -122.250813999421226, 37.800479000449535 ], [ -122.251179999859716, 37.800427000630286 ], [ -122.250880000244848, 37.800127000534893 ], [ -122.2516800005194, 37.799627001063705 ], [ -122.250880000133478, 37.798827000291453 ], [ -122.25177999986667, 37.798127000650226 ], [ -122.252679999590185, 37.79742700028725 ], [ -122.25357999942041, 37.796827000461235 ], [ -122.254579999536631, 37.796127000535918 ], [ -122.255480000298988, 37.796927001123819 ], [ -122.25627999970942, 37.79772700076834 ], [ -122.25697999992056, 37.798327000809998 ], [ -122.257779999752302, 37.799127001029802 ], [ -122.259780000079232, 37.798827000524092 ], [ -122.259679999833352, 37.79892700071273 ], [ -122.259379999804452, 37.799127000407388 ], [ -122.258080000443115, 37.800127000454452 ], [ -122.256680000513242, 37.800527001098537 ], [ -122.256080000308586, 37.800327000385131 ], [ -122.255680000204677, 37.800527000746612 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 935, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.249280000454391, 37.80082700106054 ], [ -122.24807999971766, 37.800927001073106 ], [ -122.247180000465661, 37.801227000599255 ], [ -122.246778999452474, 37.801227000654606 ], [ -122.246179000146029, 37.801427001056055 ], [ -122.245379000077222, 37.80152700062358 ], [ -122.243878999676568, 37.801827000928157 ], [ -122.242079000468436, 37.802327000430857 ], [ -122.241579000236243, 37.80242700031441 ], [ -122.241679000469986, 37.802027000661624 ], [ -122.242378999743309, 37.801427000435012 ], [ -122.243079000126656, 37.800827000453019 ], [ -122.242078999847621, 37.800027000848083 ], [ -122.241278999794005, 37.799327000484745 ], [ -122.240679000159787, 37.798727000732434 ], [ -122.239679000456633, 37.797927000536639 ], [ -122.238779000499974, 37.79702700054191 ], [ -122.237879000045183, 37.7964270007583 ], [ -122.23887900035777, 37.795627001011411 ], [ -122.239778999558666, 37.794927001074427 ], [ -122.240678999712571, 37.794327000744929 ], [ -122.24157900003307, 37.793727000627428 ], [ -122.242479000439488, 37.794627000431575 ], [ -122.243479000254979, 37.795427000670692 ], [ -122.244378999558535, 37.796227000892692 ], [ -122.245079000375313, 37.796827001042288 ], [ -122.245978999680318, 37.797627000715764 ], [ -122.246979999663751, 37.798427001002096 ], [ -122.247880000410746, 37.799327000819318 ], [ -122.248680000345971, 37.799927000504304 ], [ -122.249479999927772, 37.800727000693755 ], [ -122.249280000454391, 37.80082700106054 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 931, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.234878999638184, 37.799627000895256 ], [ -122.234679000241954, 37.799827000948959 ], [ -122.233778999685669, 37.800527000526699 ], [ -122.233079000358828, 37.80102700067718 ], [ -122.232379000481885, 37.801627000339828 ], [ -122.231778999777092, 37.802127000618469 ], [ -122.231279000458912, 37.802527000396289 ], [ -122.22926899970544, 37.800841001093602 ], [ -122.228878999769492, 37.800627000285566 ], [ -122.227179000521531, 37.800227000654417 ], [ -122.225225000208653, 37.799890000735431 ], [ -122.224278999640347, 37.799727000526431 ], [ -122.224679000030065, 37.798627000323066 ], [ -122.22507900052257, 37.797827000836932 ], [ -122.225778999888362, 37.796227000859133 ], [ -122.226178999876097, 37.795227000366772 ], [ -122.226479000309965, 37.794327000863575 ], [ -122.226779000390849, 37.793227000811306 ], [ -122.227778999552129, 37.793427000565629 ], [ -122.228878999503806, 37.793827000724455 ], [ -122.229778999990117, 37.794427000581919 ], [ -122.231878999676226, 37.795827000550389 ], [ -122.231278999660162, 37.796427000997667 ], [ -122.230579000513956, 37.797227000903817 ], [ -122.230378999565005, 37.797427000914411 ], [ -122.2330790004482, 37.796427000249288 ], [ -122.23607900012297, 37.798327001112533 ], [ -122.235579000329338, 37.79892700111624 ], [ -122.23537900019565, 37.799127000590921 ], [ -122.234878999638184, 37.799627000895256 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 933, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.237879000343895, 37.784428000719622 ], [ -122.238779000001188, 37.785028001071289 ], [ -122.239879000094632, 37.785728001129733 ], [ -122.240879000504933, 37.786328000551499 ], [ -122.241879000499168, 37.787028000957413 ], [ -122.242978999502768, 37.787628000475955 ], [ -122.244079000383849, 37.78832800101106 ], [ -122.245079000200889, 37.788828000424132 ], [ -122.24597900051053, 37.789228000817239 ], [ -122.247079999854321, 37.789628000978794 ], [ -122.246178999712697, 37.790328001014444 ], [ -122.245278999703487, 37.790928000906021 ], [ -122.244379000204816, 37.791628000501703 ], [ -122.243478999523745, 37.792327000724953 ], [ -122.242479000511068, 37.79302700036741 ], [ -122.24157900003307, 37.793727000627428 ], [ -122.240678999712571, 37.794327000744929 ], [ -122.239778999558666, 37.794927001074427 ], [ -122.23897900034865, 37.794327000465707 ], [ -122.237979000095677, 37.794727001027809 ], [ -122.236779000244439, 37.79412700055768 ], [ -122.237478999479009, 37.79332700082918 ], [ -122.23547900046583, 37.79212700060949 ], [ -122.233378999873722, 37.790827000457696 ], [ -122.230878999898977, 37.789328001015079 ], [ -122.2308790003095, 37.789128000315657 ], [ -122.231579000441371, 37.788528000643332 ], [ -122.231878999461529, 37.78752800090254 ], [ -122.232378999909599, 37.786528001036366 ], [ -122.233279000202657, 37.785728000397775 ], [ -122.23407900015323, 37.784828001071816 ], [ -122.234978999879317, 37.784028000564007 ], [ -122.235778999811288, 37.783328001043685 ], [ -122.236778999545805, 37.783928000972473 ], [ -122.237879000343895, 37.784428000719622 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 928, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.229079000085463, 37.782928000583645 ], [ -122.229879000207404, 37.7822280006353 ], [ -122.230675999822708, 37.781378000482206 ], [ -122.231379000136471, 37.780628000375089 ], [ -122.232479000141225, 37.781228000465774 ], [ -122.233779000055762, 37.782028000497782 ], [ -122.234378999619977, 37.782328000539742 ], [ -122.234779000327904, 37.782728000749771 ], [ -122.235778999811288, 37.783328001043685 ], [ -122.234978999879317, 37.784028000564007 ], [ -122.23407900015323, 37.784828001071816 ], [ -122.233279000202657, 37.785728000397775 ], [ -122.232378999909599, 37.786528001036366 ], [ -122.231878999461529, 37.78752800090254 ], [ -122.231579000441371, 37.788528000643332 ], [ -122.2308790003095, 37.789128000315657 ], [ -122.22977899954536, 37.788528000938051 ], [ -122.228779000025582, 37.787928000610705 ], [ -122.227379000436827, 37.787128000474432 ], [ -122.22667899989537, 37.786828000847869 ], [ -122.225979000335514, 37.78632800084678 ], [ -122.225278999672526, 37.785928000657741 ], [ -122.225979000384328, 37.785128000787005 ], [ -122.226778999683262, 37.784328000336295 ], [ -122.227378999947504, 37.784828000636693 ], [ -122.227879000300206, 37.78442800048483 ], [ -122.229079000085463, 37.782928000583645 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 927, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.22397899943779, 37.780928000928583 ], [ -122.224478999809548, 37.780028000881671 ], [ -122.224679000114179, 37.779528000633093 ], [ -122.225178999572464, 37.778528000429567 ], [ -122.225578999797008, 37.777828001073907 ], [ -122.225778999590204, 37.777428001033343 ], [ -122.226478999688439, 37.777828000276727 ], [ -122.227179000319481, 37.778128000264893 ], [ -122.228178999578901, 37.778528000875447 ], [ -122.229078999476357, 37.779128000462919 ], [ -122.229878999456332, 37.779728000272137 ], [ -122.230678999522866, 37.78022800045558 ], [ -122.231379000136471, 37.780628000375089 ], [ -122.230675999822708, 37.781378000482206 ], [ -122.229879000207404, 37.7822280006353 ], [ -122.229079000085463, 37.782928000583645 ], [ -122.227879000300206, 37.78442800048483 ], [ -122.227378999947504, 37.784828000636693 ], [ -122.226778999683262, 37.784328000336295 ], [ -122.225979000384328, 37.785128000787005 ], [ -122.225278999672526, 37.785928000657741 ], [ -122.22427900008806, 37.785528000788524 ], [ -122.223779000377306, 37.785328000382833 ], [ -122.223078999593895, 37.785028001042548 ], [ -122.222279000397407, 37.784728000879035 ], [ -122.222679000117751, 37.783628000875375 ], [ -122.223178999415723, 37.782628001072339 ], [ -122.223578999445124, 37.78182800062423 ], [ -122.223778999437158, 37.781228000756983 ], [ -122.22397899943779, 37.780928000928583 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 930, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.223479000078385, 37.791727000246695 ], [ -122.223778999602615, 37.791827000896127 ], [ -122.224179000478443, 37.792027000763206 ], [ -122.225378999829829, 37.79272700058258 ], [ -122.225979000273355, 37.793127001005551 ], [ -122.226779000390849, 37.793227000811306 ], [ -122.226479000309965, 37.794327000863575 ], [ -122.226178999876097, 37.795227000366772 ], [ -122.225778999888362, 37.796227000859133 ], [ -122.22507900052257, 37.797827000836932 ], [ -122.224679000030065, 37.798627000323066 ], [ -122.224278999640347, 37.799727000526431 ], [ -122.223171000248357, 37.799450000727205 ], [ -122.221053999815354, 37.799003000483992 ], [ -122.220778999444889, 37.798927000346744 ], [ -122.218579000212571, 37.798427000613131 ], [ -122.217054999917394, 37.797973000806216 ], [ -122.217177999953151, 37.797527000564997 ], [ -122.217277999679325, 37.797427000620509 ], [ -122.21737900034222, 37.796927000373138 ], [ -122.217678999401684, 37.79652700047064 ], [ -122.217879000178613, 37.795927000769005 ], [ -122.21787900014607, 37.795527001009155 ], [ -122.218178999813219, 37.795127000607891 ], [ -122.218479000214344, 37.794227000260399 ], [ -122.218779000504085, 37.793727000711293 ], [ -122.218979000218653, 37.793027000367758 ], [ -122.21907900016636, 37.792827000365477 ], [ -122.219278999574371, 37.79222700051622 ], [ -122.219479000210811, 37.791627000261059 ], [ -122.219778999735226, 37.790927000961325 ], [ -122.220078999719433, 37.790327001063076 ], [ -122.221679000090234, 37.790727000885177 ], [ -122.221878999452514, 37.790727000662329 ], [ -122.222278999588681, 37.791027000926135 ], [ -122.22267899943192, 37.791127001093464 ], [ -122.223479000078385, 37.791727000246695 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 910, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.207977999497174, 37.805827000774578 ], [ -122.207477999406308, 37.806227000428862 ], [ -122.206978000509139, 37.806427000783039 ], [ -122.206078000057246, 37.807027001013033 ], [ -122.203977999412899, 37.808327000285182 ], [ -122.201477999607206, 37.810227000351844 ], [ -122.199078000349402, 37.810027000454063 ], [ -122.198577999735178, 37.810027000325348 ], [ -122.198177999841107, 37.810227000652411 ], [ -122.19787800003526, 37.810427001022305 ], [ -122.195277999431028, 37.808327000256405 ], [ -122.194777999706091, 37.807727000457561 ], [ -122.19537799982929, 37.807927000894345 ], [ -122.194177999410215, 37.806727001027298 ], [ -122.192877999532826, 37.805027000281406 ], [ -122.193778000259258, 37.805427000604588 ], [ -122.194577999688022, 37.805127000840869 ], [ -122.194177999445117, 37.804527000590795 ], [ -122.192877999727685, 37.802827000299764 ], [ -122.194277999559915, 37.802627000794956 ], [ -122.193277999402397, 37.800927001032441 ], [ -122.194477999561471, 37.801627000315612 ], [ -122.195377999995245, 37.800527000264701 ], [ -122.196378000454146, 37.799327001070367 ], [ -122.196778000223134, 37.797727000949052 ], [ -122.197578000208765, 37.799027000728231 ], [ -122.198177999698359, 37.799327000406663 ], [ -122.198577999997724, 37.799727000271425 ], [ -122.19927800042403, 37.799127000549525 ], [ -122.199877999839529, 37.797927000506142 ], [ -122.200178000092265, 37.797327000570753 ], [ -122.200577999416126, 37.796627000581729 ], [ -122.201477999782881, 37.79732700106031 ], [ -122.202278000383629, 37.79682700113478 ], [ -122.202877999799227, 37.796327000858952 ], [ -122.203478000167649, 37.795827001060083 ], [ -122.205077999583253, 37.79722700062122 ], [ -122.208078000178503, 37.798427000767838 ], [ -122.208878000488227, 37.798227000337043 ], [ -122.209977999432311, 37.798527000719361 ], [ -122.210978000202388, 37.798827000726696 ], [ -122.211978000381805, 37.799027000299162 ], [ -122.212978000164952, 37.799327000485967 ], [ -122.214177999540411, 37.799627000658383 ], [ -122.212678000320153, 37.8011270005534 ], [ -122.212177999648688, 37.80152700089706 ], [ -122.211977999967118, 37.80172700080238 ], [ -122.211677999838116, 37.802127000921196 ], [ -122.211177999820364, 37.802727000527732 ], [ -122.210377999755735, 37.803327000905895 ], [ -122.209777999891273, 37.804027000877177 ], [ -122.209177999695626, 37.804627000397566 ], [ -122.20857799994296, 37.805227000365932 ], [ -122.207977999497174, 37.805827000774578 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 908, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.192477999838061, 37.797127000591168 ], [ -122.193277999696008, 37.797627000671959 ], [ -122.192877999825441, 37.798027000730599 ], [ -122.192478000049476, 37.798227000351801 ], [ -122.191977999416352, 37.798727000316049 ], [ -122.191677999690626, 37.798627000871548 ], [ -122.190978000228569, 37.798627000600476 ], [ -122.19007799982829, 37.79862700031196 ], [ -122.189277999669685, 37.798527000949825 ], [ -122.188777999660473, 37.798527001036049 ], [ -122.188377999446004, 37.798527000296446 ], [ -122.187978000362477, 37.798527000910099 ], [ -122.187177000410713, 37.798527001064514 ], [ -122.186277000093654, 37.798427000653653 ], [ -122.185176999738019, 37.798427000843937 ], [ -122.184576999940404, 37.797927001113898 ], [ -122.183877000448732, 37.797327000578363 ], [ -122.184076999425642, 37.797227000693688 ], [ -122.185876999900074, 37.795527001019515 ], [ -122.185376999430602, 37.794827000448251 ], [ -122.185877000226441, 37.793427000320136 ], [ -122.185977000114605, 37.793127000886862 ], [ -122.184177000298476, 37.792127000443422 ], [ -122.183876999789547, 37.791727000950843 ], [ -122.184276999790512, 37.791227000428613 ], [ -122.184476999568261, 37.791027000552702 ], [ -122.184976999937504, 37.790527001135253 ], [ -122.185376999563758, 37.790027000315845 ], [ -122.18567700004138, 37.78992700030868 ], [ -122.186076999594846, 37.789427000630077 ], [ -122.187076999790648, 37.789827000286593 ], [ -122.188278000421633, 37.790427000366989 ], [ -122.188577999584098, 37.790127000913792 ], [ -122.189777999976229, 37.789627000441207 ], [ -122.190177999918859, 37.789427000510528 ], [ -122.190978000144156, 37.789027001033332 ], [ -122.191177999757443, 37.788827000410187 ], [ -122.192377999498234, 37.78822700096643 ], [ -122.193877999400883, 37.787527000564346 ], [ -122.194778000420314, 37.787127000287526 ], [ -122.195877999630312, 37.78822700071224 ], [ -122.196877999489047, 37.789427000625608 ], [ -122.197778000169279, 37.790327001089928 ], [ -122.19797799986884, 37.790527000251387 ], [ -122.198277999700437, 37.790827001059377 ], [ -122.19697799986325, 37.791627000927051 ], [ -122.195077999998631, 37.792727000379379 ], [ -122.194477999393186, 37.793127000700302 ], [ -122.19317799989507, 37.793927000314333 ], [ -122.191677999628467, 37.79482700038762 ], [ -122.191178000002651, 37.795427000940421 ], [ -122.192477999547918, 37.79622700063608 ], [ -122.192477999838061, 37.797127000591168 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 905, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.214877999490653, 37.785128000823114 ], [ -122.214478000334751, 37.785328000460474 ], [ -122.213977999962864, 37.785628000698729 ], [ -122.213678000067034, 37.785828000411186 ], [ -122.21307799994004, 37.78622800110525 ], [ -122.212577999572218, 37.786428000423662 ], [ -122.211878000366227, 37.786827000277896 ], [ -122.21117799999621, 37.78732700112117 ], [ -122.210278000012764, 37.787727000899913 ], [ -122.209646000067963, 37.787135001116752 ], [ -122.209306999989323, 37.786817000759633 ], [ -122.208678000248511, 37.786227000562526 ], [ -122.207477999907042, 37.78522800097744 ], [ -122.20675800031178, 37.784604000461997 ], [ -122.205977999951813, 37.783928000703874 ], [ -122.205619000319842, 37.783569000727717 ], [ -122.205377999452864, 37.783328000761941 ], [ -122.20427800036569, 37.782328000719993 ], [ -122.204778000150625, 37.781828000368584 ], [ -122.205137000156142, 37.781418000663088 ], [ -122.205477999855944, 37.781028000902467 ], [ -122.205878000056657, 37.780628000362512 ], [ -122.206178000469279, 37.78032800106562 ], [ -122.206477999584166, 37.780028000970027 ], [ -122.20687800023272, 37.77952800106025 ], [ -122.20807800019476, 37.778228000782413 ], [ -122.209677999625924, 37.776628000469493 ], [ -122.210577999924766, 37.775628000332887 ], [ -122.210877999466859, 37.775328000351188 ], [ -122.211877999609044, 37.774328000727522 ], [ -122.213077999601097, 37.77542800096689 ], [ -122.213178000424918, 37.775628000951627 ], [ -122.213977999656379, 37.776228001092548 ], [ -122.214677999483555, 37.776928000385055 ], [ -122.214877999710424, 37.777028000631873 ], [ -122.215377999733334, 37.777528000452918 ], [ -122.216077999877527, 37.778228000403956 ], [ -122.216779000157672, 37.778828000578301 ], [ -122.217452000187052, 37.779426000795439 ], [ -122.217679000264937, 37.779628000279303 ], [ -122.217979000503192, 37.779928000294007 ], [ -122.21877900047312, 37.780528001135409 ], [ -122.219079000179306, 37.781328000421638 ], [ -122.219178999850428, 37.782028000850566 ], [ -122.218778999755799, 37.782428000782218 ], [ -122.218378999858459, 37.782828001113664 ], [ -122.217478999758796, 37.783528000950852 ], [ -122.216879000203491, 37.783928000606771 ], [ -122.21567800042402, 37.784728001047405 ], [ -122.215078000355092, 37.784928000620262 ], [ -122.214877999490653, 37.785128000823114 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 897, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.20787800046547, 37.76872800097108 ], [ -122.208778000443175, 37.76912800103814 ], [ -122.209378000230544, 37.769428001061172 ], [ -122.209677999431605, 37.769628001102028 ], [ -122.210177999923417, 37.769828000855732 ], [ -122.210677999426224, 37.770128000838987 ], [ -122.211077999785957, 37.770328001068847 ], [ -122.211278000206931, 37.77042800112789 ], [ -122.211678000395793, 37.770628001126617 ], [ -122.212878000269271, 37.771228001099658 ], [ -122.213877999634647, 37.771628001129194 ], [ -122.214678000120529, 37.77212800072531 ], [ -122.213478000042386, 37.773128000476724 ], [ -122.212977999709651, 37.773528000643175 ], [ -122.212678000124072, 37.773828000725253 ], [ -122.211877999609044, 37.774328000727522 ], [ -122.210878000114235, 37.773828000423329 ], [ -122.209678000443475, 37.773328000543813 ], [ -122.208778000050842, 37.773028000657597 ], [ -122.207678000322346, 37.772528000249508 ], [ -122.207277999725846, 37.772328000252728 ], [ -122.206478000346934, 37.772328000871518 ], [ -122.205177999890125, 37.772328000758691 ], [ -122.202877999681036, 37.77232800085082 ], [ -122.201877999891693, 37.772328000603146 ], [ -122.200778000420087, 37.772328000443359 ], [ -122.200677999927976, 37.771428000291323 ], [ -122.200777999696044, 37.770628000623127 ], [ -122.200777999627903, 37.769728000737338 ], [ -122.200677999789946, 37.768828001116603 ], [ -122.2014780003596, 37.768428000692467 ], [ -122.201678000439202, 37.768228001004303 ], [ -122.202078000299409, 37.767928001107038 ], [ -122.202677999664544, 37.767628000372653 ], [ -122.203778000391466, 37.766728000910419 ], [ -122.204877999633837, 37.767228000750443 ], [ -122.205577999939294, 37.767628000449108 ], [ -122.2060779997298, 37.767828000429162 ], [ -122.20697799998365, 37.768328000351822 ], [ -122.20787800046547, 37.76872800097108 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 898, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.198477999699094, 37.772328000256799 ], [ -122.195878000323958, 37.77242800064279 ], [ -122.193877999982291, 37.772028000951657 ], [ -122.193078000339526, 37.771828000800689 ], [ -122.192378000388487, 37.771728000585433 ], [ -122.190278000060871, 37.771328000758331 ], [ -122.190778000247761, 37.770928000833159 ], [ -122.191378000229548, 37.770528000915661 ], [ -122.192178000106196, 37.76992800099886 ], [ -122.192677999850758, 37.769528000934756 ], [ -122.19327799993826, 37.769228000620423 ], [ -122.193478000361537, 37.769028000571467 ], [ -122.19397799944683, 37.768728000744431 ], [ -122.194378000033453, 37.768428001036362 ], [ -122.195078000439509, 37.767928000804538 ], [ -122.195677999410137, 37.767428000594087 ], [ -122.196478000146129, 37.766828000604448 ], [ -122.19737799983929, 37.766228001132617 ], [ -122.198177999954808, 37.765728000715903 ], [ -122.19957799979916, 37.764828000972877 ], [ -122.200377999690446, 37.765128000790298 ], [ -122.200693999721764, 37.765274000824824 ], [ -122.201677999787051, 37.765728000847041 ], [ -122.202678000086109, 37.76622800073315 ], [ -122.203778000391466, 37.766728000910419 ], [ -122.202677999664544, 37.767628000372653 ], [ -122.202078000299409, 37.767928001107038 ], [ -122.201678000439202, 37.768228001004303 ], [ -122.2014780003596, 37.768428000692467 ], [ -122.200677999789946, 37.768828001116603 ], [ -122.200777999627903, 37.769728000737338 ], [ -122.200777999696044, 37.770628000623127 ], [ -122.200677999927976, 37.771428000291323 ], [ -122.200778000420087, 37.772328000443359 ], [ -122.1995780001523, 37.772328000266761 ], [ -122.198477999699094, 37.772328000256799 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 902, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.195877999780663, 37.780828000314202 ], [ -122.196777999407487, 37.781528000514072 ], [ -122.198177999430754, 37.782828000326859 ], [ -122.199077999706063, 37.783428000706074 ], [ -122.200077999902888, 37.78442800090879 ], [ -122.199377999639182, 37.784827000298399 ], [ -122.198478000180344, 37.78522700097443 ], [ -122.197277999472419, 37.785827001111102 ], [ -122.19677799946227, 37.786027000798846 ], [ -122.196378000439054, 37.786227000894065 ], [ -122.196077999805681, 37.786427000598806 ], [ -122.19347799946955, 37.785327001017336 ], [ -122.192740999424117, 37.78512000108671 ], [ -122.19197800029275, 37.784927001120202 ], [ -122.189678000310707, 37.784427000403845 ], [ -122.188969999689562, 37.784269000724457 ], [ -122.187877999466693, 37.784027001014863 ], [ -122.18573000035515, 37.783870000951453 ], [ -122.183377000181721, 37.783727001074602 ], [ -122.182299000129476, 37.783746001105634 ], [ -122.180877000274378, 37.783727000656427 ], [ -122.179976999493874, 37.783727000634961 ], [ -122.17892200018531, 37.783526000852049 ], [ -122.178077000263642, 37.783227001034966 ], [ -122.176277000292828, 37.782527001006734 ], [ -122.175271999551327, 37.781758000770729 ], [ -122.173877000160886, 37.781027000504046 ], [ -122.172677000449568, 37.780428001083749 ], [ -122.171377000045908, 37.779828000533549 ], [ -122.172676999572218, 37.780028000497822 ], [ -122.173977000523706, 37.780228000573224 ], [ -122.175076999547713, 37.779928000469496 ], [ -122.176676999617982, 37.779728000672606 ], [ -122.176741999978219, 37.779708000742517 ], [ -122.176777000062046, 37.779715000532185 ], [ -122.178277000302046, 37.779528000732959 ], [ -122.179495000332906, 37.779354000687889 ], [ -122.180376999585349, 37.779228000569638 ], [ -122.181777000387399, 37.777728000622723 ], [ -122.18247700008375, 37.777128000864352 ], [ -122.183176999765578, 37.776528000439001 ], [ -122.184076999458213, 37.776128000609084 ], [ -122.184976999677644, 37.77572800104582 ], [ -122.186077000266224, 37.775628000860692 ], [ -122.186676999617134, 37.776128000326892 ], [ -122.187177000412476, 37.776628000955732 ], [ -122.187877999614301, 37.777228000877116 ], [ -122.188277999796696, 37.777728000623576 ], [ -122.188778000438703, 37.778228000731843 ], [ -122.18957799973137, 37.778728000322936 ], [ -122.18987800024891, 37.779128000483446 ], [ -122.19057800026323, 37.77962800059575 ], [ -122.191978000114929, 37.78092800083369 ], [ -122.192677999507282, 37.781528000423044 ], [ -122.193077999582371, 37.781928000649053 ], [ -122.193577999399849, 37.782528000375052 ], [ -122.195877999780663, 37.780828000314202 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 901, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.18247700008375, 37.777128000864352 ], [ -122.181777000387399, 37.777728000622723 ], [ -122.180376999585349, 37.779228000569638 ], [ -122.179495000332906, 37.779354000687889 ], [ -122.178277000302046, 37.779528000732959 ], [ -122.176777000062046, 37.779715000532185 ], [ -122.176741999978219, 37.779708000742517 ], [ -122.176676999617982, 37.779728000672606 ], [ -122.175076999547713, 37.779928000469496 ], [ -122.174777000082045, 37.779028000919361 ], [ -122.173777000202676, 37.778628000767235 ], [ -122.173276999429348, 37.778528000392932 ], [ -122.172677000206775, 37.778228000267397 ], [ -122.172076999736674, 37.77762800104572 ], [ -122.171576999804188, 37.776928000471969 ], [ -122.1710770005201, 37.776128000245173 ], [ -122.170577000507492, 37.775328000539346 ], [ -122.169977000364128, 37.77472800043973 ], [ -122.169577000163059, 37.774128000920641 ], [ -122.169777000378076, 37.773928001069983 ], [ -122.16887700039932, 37.772328000412479 ], [ -122.169076999818827, 37.772128000769285 ], [ -122.169777000011777, 37.770928000584959 ], [ -122.169976999576576, 37.770428000275963 ], [ -122.170977000269744, 37.769528000757745 ], [ -122.172076999535207, 37.76872800056308 ], [ -122.173177000145344, 37.769328000977218 ], [ -122.175576999938755, 37.770328000775045 ], [ -122.176577000344551, 37.770928000798236 ], [ -122.177977000003125, 37.772328000972223 ], [ -122.178677000255433, 37.772828000493732 ], [ -122.17947699949778, 37.773328000942925 ], [ -122.179876999408066, 37.773728000937645 ], [ -122.180776999481068, 37.77432800024485 ], [ -122.181377000385638, 37.774728001080994 ], [ -122.182376999854242, 37.775228000304686 ], [ -122.183276999481336, 37.775728000983101 ], [ -122.184076999458213, 37.776128000609084 ], [ -122.183176999765578, 37.776528000439001 ], [ -122.18247700008375, 37.777128000864352 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 889, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.173477000217233, 37.767928000765544 ], [ -122.172076999535207, 37.76872800056308 ], [ -122.171376999478298, 37.768328000969376 ], [ -122.170776999455157, 37.767928000654642 ], [ -122.170676999758541, 37.767828000495271 ], [ -122.169877000253919, 37.767228000432766 ], [ -122.169277000444055, 37.766728000251902 ], [ -122.168476999903305, 37.766228000942192 ], [ -122.167877000417377, 37.765628000487354 ], [ -122.167276999900309, 37.764928001097744 ], [ -122.166677000390848, 37.764228000434478 ], [ -122.166377000103111, 37.763828000556671 ], [ -122.166277999587919, 37.763693000746024 ], [ -122.165276999887524, 37.762328000856677 ], [ -122.166376999894752, 37.76182800077536 ], [ -122.166977000208149, 37.761328000889108 ], [ -122.167576999956339, 37.761028000533706 ], [ -122.168776999661489, 37.760428000458262 ], [ -122.169177000167565, 37.760228000992413 ], [ -122.170576999751745, 37.759528001032585 ], [ -122.171177000184045, 37.760228000409967 ], [ -122.171777000467827, 37.760928000308034 ], [ -122.172577000428376, 37.761628000926926 ], [ -122.172877000488313, 37.761928001052354 ], [ -122.173476999887527, 37.76252800079854 ], [ -122.173976999736482, 37.763028000948488 ], [ -122.17457699967629, 37.763528000945392 ], [ -122.175176999446677, 37.76412800101582 ], [ -122.175577000367056, 37.764628000990662 ], [ -122.177177000409031, 37.765428001127873 ], [ -122.176876999436274, 37.765628000546805 ], [ -122.176676999578845, 37.765728000797182 ], [ -122.175676999392422, 37.766328000888826 ], [ -122.173477000217233, 37.767928000765544 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 890, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.173976999736482, 37.763028000948488 ], [ -122.173476999887527, 37.76252800079854 ], [ -122.172877000488313, 37.761928001052354 ], [ -122.172577000428376, 37.761628000926926 ], [ -122.171777000467827, 37.760928000308034 ], [ -122.171177000184045, 37.760228000409967 ], [ -122.170576999751745, 37.759528001032585 ], [ -122.17217700004872, 37.758728000805164 ], [ -122.174076999964015, 37.757828000729347 ], [ -122.17577699956567, 37.75692800052672 ], [ -122.177476999580662, 37.756128000383356 ], [ -122.179577000205498, 37.755228000322653 ], [ -122.180577000447542, 37.755628001046112 ], [ -122.181777000386688, 37.756228000657906 ], [ -122.18267699962162, 37.756728000998933 ], [ -122.183477000407663, 37.757028000797924 ], [ -122.184076999981272, 37.757328000464121 ], [ -122.18430599968957, 37.757467000344207 ], [ -122.184777000472323, 37.757728000884242 ], [ -122.184976999645698, 37.757828000407706 ], [ -122.185545000324112, 37.758058000458554 ], [ -122.186293999825565, 37.75841700030918 ], [ -122.187277999589412, 37.758828000996239 ], [ -122.184776999847728, 37.760528000698407 ], [ -122.183976999759764, 37.761028000529144 ], [ -122.183076999466749, 37.761628000689889 ], [ -122.182676999715767, 37.761928001090801 ], [ -122.182076999700627, 37.762228001036185 ], [ -122.1812770005142, 37.762728000254633 ], [ -122.1804769996061, 37.763228000246244 ], [ -122.179977000262141, 37.763628001121447 ], [ -122.179477000212003, 37.76392800026052 ], [ -122.17917700016703, 37.764128000242081 ], [ -122.178576999752963, 37.764528000572462 ], [ -122.177876999763882, 37.765028000926719 ], [ -122.177177000409031, 37.765428001127873 ], [ -122.175577000367056, 37.764628000990662 ], [ -122.175176999446677, 37.76412800101582 ], [ -122.17457699967629, 37.763528000945392 ], [ -122.173976999736482, 37.763028000948488 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 895, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.195577999993304, 37.762828000670396 ], [ -122.194678000004842, 37.762428000968889 ], [ -122.194378000502567, 37.762328000342123 ], [ -122.193777999511241, 37.762028000716214 ], [ -122.193377999656818, 37.761828000479454 ], [ -122.192877999637915, 37.76162800082146 ], [ -122.191977999525761, 37.761128000695123 ], [ -122.191078000164779, 37.76062800092398 ], [ -122.190377999586659, 37.760328000580266 ], [ -122.189578000051668, 37.759928000960251 ], [ -122.18907800038609, 37.759728000544165 ], [ -122.188809000049091, 37.759595000448705 ], [ -122.188277999561151, 37.759328001124054 ], [ -122.187972999566128, 37.759146000518747 ], [ -122.187277999589412, 37.758828000996239 ], [ -122.18897800016579, 37.757628000858858 ], [ -122.190777999959977, 37.756428000830653 ], [ -122.192578000019765, 37.755328000522496 ], [ -122.194278000117677, 37.754128000861193 ], [ -122.193677999466914, 37.753628000990822 ], [ -122.193177999589835, 37.753028000590568 ], [ -122.194977999663465, 37.751828000450494 ], [ -122.19527800024558, 37.751628000862937 ], [ -122.195677999740354, 37.752428001106132 ], [ -122.196477999428367, 37.752628000446542 ], [ -122.197977999581028, 37.751728000845802 ], [ -122.199136999748973, 37.752716000954692 ], [ -122.201378000424583, 37.754628000448797 ], [ -122.202433999790941, 37.755587000587326 ], [ -122.200778000210477, 37.756328000485205 ], [ -122.20557799989561, 37.760528000652158 ], [ -122.205377999590439, 37.760728001048911 ], [ -122.20277799998145, 37.762528000865707 ], [ -122.20107799948218, 37.763728000454201 ], [ -122.19957799979916, 37.764828000972877 ], [ -122.198878000300439, 37.764428000863319 ], [ -122.198377999709564, 37.764228001046085 ], [ -122.198078000482596, 37.764028001131088 ], [ -122.197278000211298, 37.763628000483131 ], [ -122.196377999514809, 37.763228001111003 ], [ -122.195876000097513, 37.762964000714156 ], [ -122.195577999993304, 37.762828000670396 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 876, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.188676999912673, 37.731129000750727 ], [ -122.18877699957811, 37.731429000868651 ], [ -122.187876999440135, 37.731929000899477 ], [ -122.187377000484304, 37.732129001010051 ], [ -122.185777000428331, 37.733129000346324 ], [ -122.184276999394754, 37.734029000803567 ], [ -122.183977000463273, 37.734229001116212 ], [ -122.183977000158166, 37.734429000372572 ], [ -122.183927000194657, 37.734479000359194 ], [ -122.183677000489752, 37.734729000865272 ], [ -122.183376999974158, 37.735329000747917 ], [ -122.183176999786468, 37.735829000551703 ], [ -122.182577000329658, 37.73632900091971 ], [ -122.181776999643432, 37.73692900071643 ], [ -122.181477000344131, 37.737129000788627 ], [ -122.180977000514687, 37.736629000244257 ], [ -122.180876999987447, 37.736529000236239 ], [ -122.180277000024773, 37.736129000279021 ], [ -122.180262999887645, 37.736115000253399 ], [ -122.179777000140348, 37.73562900093841 ], [ -122.179576999566819, 37.735429000601094 ], [ -122.179176999753608, 37.734629000550392 ], [ -122.179188000481943, 37.734505000486998 ], [ -122.179276999402518, 37.733529000460074 ], [ -122.179446999889791, 37.733250000847157 ], [ -122.180017000129098, 37.732315000419774 ], [ -122.180358000504228, 37.731756000620777 ], [ -122.181776999693156, 37.729429000638042 ], [ -122.181868000284993, 37.729284000676209 ], [ -122.182256000131119, 37.728666000647834 ], [ -122.182560000414028, 37.728182001064432 ], [ -122.18262499997131, 37.728078000950944 ], [ -122.183517999588716, 37.726659000718321 ], [ -122.183977000135627, 37.725929000322019 ], [ -122.188376999909877, 37.730829000838732 ], [ -122.188676999912673, 37.731129000750727 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 878, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.167012000133866, 37.739253000863712 ], [ -122.166577000400636, 37.738629000888523 ], [ -122.166178000213137, 37.737930000301425 ], [ -122.166126999974182, 37.73787900052919 ], [ -122.165676999761757, 37.737429000849282 ], [ -122.165376999981802, 37.737129000707256 ], [ -122.166277000238281, 37.73672900082687 ], [ -122.171477000509668, 37.734329000297855 ], [ -122.169976999935969, 37.731829000458596 ], [ -122.169976999577926, 37.731129001088675 ], [ -122.170177000144236, 37.731129000471277 ], [ -122.170477000491388, 37.731029001110279 ], [ -122.173676999666853, 37.730729000613934 ], [ -122.174376999871342, 37.730929000803336 ], [ -122.174542000491826, 37.731047000983914 ], [ -122.175076999485086, 37.731429000670282 ], [ -122.17587699979822, 37.732129000800434 ], [ -122.176276999520752, 37.732629000265206 ], [ -122.177177000305406, 37.733429000873066 ], [ -122.177876999707834, 37.734029000370541 ], [ -122.178677000067978, 37.73462900033465 ], [ -122.178851999513213, 37.734804000630042 ], [ -122.179077000002167, 37.735029001020891 ], [ -122.17913400018675, 37.735075000525008 ], [ -122.179576999566819, 37.735429000601094 ], [ -122.179777000140348, 37.73562900093841 ], [ -122.180262999887645, 37.736115000253399 ], [ -122.180277000024773, 37.736129000279021 ], [ -122.180876999987447, 37.736529000236239 ], [ -122.180977000514687, 37.736629000244257 ], [ -122.181477000344131, 37.737129000788627 ], [ -122.180776999850522, 37.73762900032213 ], [ -122.180177000225584, 37.738129000794245 ], [ -122.179876999698109, 37.738329000307097 ], [ -122.179676999693498, 37.738429001060027 ], [ -122.179377000358627, 37.738729001067298 ], [ -122.178377000237219, 37.739529000563969 ], [ -122.177776999622708, 37.740029001121719 ], [ -122.176876999782863, 37.740729001081739 ], [ -122.176476999783262, 37.740929000895363 ], [ -122.175677000130932, 37.741329000907896 ], [ -122.174776999425433, 37.741729001040319 ], [ -122.173877000399244, 37.742129000547607 ], [ -122.1728769999104, 37.742629000583968 ], [ -122.172176999894418, 37.743029000477399 ], [ -122.170377000210138, 37.743729000297954 ], [ -122.169877000164306, 37.743029000529368 ], [ -122.169645999739629, 37.742683000740726 ], [ -122.169276999738514, 37.742129000745827 ], [ -122.169077000134976, 37.7418290010296 ], [ -122.168776999786459, 37.741529000595378 ], [ -122.168276999881698, 37.740929001006229 ], [ -122.168047999510577, 37.740641000353918 ], [ -122.167777000034221, 37.740329001077185 ], [ -122.16743399953873, 37.739848000694245 ], [ -122.167277000304267, 37.739629000924204 ], [ -122.167012000133866, 37.739253000863712 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 891, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.176476999904324, 37.751928000769588 ], [ -122.176776999968212, 37.752328000989117 ], [ -122.177176999585754, 37.75282800076404 ], [ -122.177414000067216, 37.753209000713774 ], [ -122.177665999400972, 37.753557000823228 ], [ -122.177876999484894, 37.753928000485885 ], [ -122.178177000233347, 37.754328000691196 ], [ -122.178476999765493, 37.75462800040664 ], [ -122.179076999478085, 37.754928000232731 ], [ -122.179577000205498, 37.755228000322653 ], [ -122.177476999580662, 37.756128000383356 ], [ -122.17577699956567, 37.75692800052672 ], [ -122.174076999964015, 37.757828000729347 ], [ -122.17217700004872, 37.758728000805164 ], [ -122.171657000338172, 37.75787800056667 ], [ -122.171112999891534, 37.757050000327936 ], [ -122.170577000424842, 37.756328000261696 ], [ -122.170065000196445, 37.755574001007012 ], [ -122.169620000018867, 37.754957001067474 ], [ -122.169176999638339, 37.754328000940454 ], [ -122.16867700051985, 37.75362800064196 ], [ -122.168277000018492, 37.752928000926083 ], [ -122.167676999730404, 37.752328000439292 ], [ -122.167977000427896, 37.752128000429202 ], [ -122.167276999867241, 37.751228000306916 ], [ -122.168377000100051, 37.750828001122308 ], [ -122.16717699987727, 37.749128001025525 ], [ -122.168177000447926, 37.748728000668756 ], [ -122.169277000490155, 37.748228001072874 ], [ -122.170377000007605, 37.747628000334579 ], [ -122.171476999621177, 37.747128000689308 ], [ -122.172477000232846, 37.746528000819474 ], [ -122.173076999545572, 37.747328000425256 ], [ -122.173576999850042, 37.74792800103112 ], [ -122.173724000298918, 37.748224000876149 ], [ -122.174025000498631, 37.7486580007239 ], [ -122.17437700038829, 37.749128000967374 ], [ -122.174557000229669, 37.74936700075353 ], [ -122.174877000082247, 37.749828000251263 ], [ -122.174998999714006, 37.749993000838629 ], [ -122.175392000119601, 37.750517000960741 ], [ -122.175576999583981, 37.750728000866566 ], [ -122.175912999712835, 37.751206000777799 ], [ -122.176056999820759, 37.751377000849487 ], [ -122.176290999431856, 37.751717000704431 ], [ -122.176476999904324, 37.751928000769588 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 884, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.156575999629311, 37.771528000412225 ], [ -122.155975999420704, 37.771928000555441 ], [ -122.155076000336791, 37.772228000762254 ], [ -122.154176000052018, 37.772128000614636 ], [ -122.150975999570647, 37.769928001000274 ], [ -122.150175999411232, 37.769828000496709 ], [ -122.147376000021055, 37.771228000950799 ], [ -122.14592300016109, 37.771973001049354 ], [ -122.145102000430597, 37.77239400029849 ], [ -122.143476000448217, 37.773228000435438 ], [ -122.142776000143726, 37.77352800076325 ], [ -122.138076000372919, 37.769528000933668 ], [ -122.136747000242252, 37.76999700024944 ], [ -122.136376000449104, 37.770128000335369 ], [ -122.135575999943185, 37.770428001102125 ], [ -122.134375999861092, 37.771228000716306 ], [ -122.133375999966034, 37.771228000420116 ], [ -122.132256000178003, 37.771031000644527 ], [ -122.13131000034177, 37.770924000609519 ], [ -122.130975999429637, 37.770928001046123 ], [ -122.130668999584245, 37.770985000541017 ], [ -122.129976000383721, 37.771028000778081 ], [ -122.129389000127915, 37.771049000723032 ], [ -122.126174999692353, 37.767528000860331 ], [ -122.122275000260956, 37.760328000808862 ], [ -122.118275000164758, 37.753728000689605 ], [ -122.115875000378296, 37.749528000791571 ], [ -122.11577500052789, 37.748528000268927 ], [ -122.120774999560879, 37.74592800076406 ], [ -122.121175000349069, 37.746428000809978 ], [ -122.124074999580571, 37.750828000406045 ], [ -122.124875000403577, 37.751328000982923 ], [ -122.126474999728927, 37.752528000893442 ], [ -122.12717499992462, 37.753828000473675 ], [ -122.12757499969949, 37.754228000809235 ], [ -122.128675000399028, 37.754928001047993 ], [ -122.134675999809701, 37.756428000455543 ], [ -122.135976000104023, 37.756928000828353 ], [ -122.138275999579818, 37.757028000626462 ], [ -122.138975999446089, 37.757328000370784 ], [ -122.140375999831889, 37.756628000422936 ], [ -122.141275999873201, 37.756728000688746 ], [ -122.142576000384565, 37.756828001024267 ], [ -122.14357600016379, 37.756428001095927 ], [ -122.146775999650046, 37.754728000850655 ], [ -122.147676000246847, 37.754228001101666 ], [ -122.149276000499697, 37.753528000372924 ], [ -122.150176000053904, 37.753228001097703 ], [ -122.1508760003655, 37.752928000679042 ], [ -122.151175999861252, 37.753128000464081 ], [ -122.150873000311719, 37.753689000435344 ], [ -122.150376000350619, 37.754528000432408 ], [ -122.150119999611036, 37.754802000941183 ], [ -122.148851000141931, 37.756175000821969 ], [ -122.148458999393839, 37.756690000500669 ], [ -122.148197999818308, 37.757128000236222 ], [ -122.148035000210683, 37.757566000339885 ], [ -122.147921000328722, 37.757914000750269 ], [ -122.147875999793982, 37.758228000826634 ], [ -122.147888000253204, 37.758468000649444 ], [ -122.148575999560066, 37.76022800081801 ], [ -122.149176000483379, 37.761228000362557 ], [ -122.152275999563457, 37.765428000433701 ], [ -122.154576000098047, 37.769328000728208 ], [ -122.155376000138716, 37.77022800096055 ], [ -122.156575999629311, 37.771528000412225 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1005, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.236778999672552, 37.88282500078202 ], [ -122.235679000037365, 37.882525000287586 ], [ -122.234379000287049, 37.882225000335296 ], [ -122.230979000005789, 37.881325000294886 ], [ -122.22577899967493, 37.879225001036851 ], [ -122.223878999705988, 37.878325000787697 ], [ -122.221377999929601, 37.875325000997734 ], [ -122.217377999571639, 37.871725000540778 ], [ -122.216278000311846, 37.868825000725785 ], [ -122.217077999921457, 37.868425000992225 ], [ -122.217778000394674, 37.867925000309789 ], [ -122.219177999452953, 37.867225000262124 ], [ -122.221479000171755, 37.865025000932256 ], [ -122.220378000463953, 37.864425000275617 ], [ -122.213778000094607, 37.858026000929385 ], [ -122.213577999455197, 37.857926001001793 ], [ -122.213177999951967, 37.857626001038938 ], [ -122.212277999442932, 37.856726000393515 ], [ -122.213777999574532, 37.855926000528946 ], [ -122.21407800008727, 37.855526000476146 ], [ -122.214477999901689, 37.856026000239474 ], [ -122.214978000131893, 37.856026000935394 ], [ -122.2162779999572, 37.855626001061374 ], [ -122.216277999421663, 37.85622600046463 ], [ -122.21627800008028, 37.856326000514521 ], [ -122.217478000431413, 37.856226000606163 ], [ -122.217610000506951, 37.856688000837643 ], [ -122.21767800003731, 37.856926000529597 ], [ -122.219578000352499, 37.857126001001404 ], [ -122.219779000135077, 37.858334000411645 ], [ -122.219877999821051, 37.85892600054617 ], [ -122.22167899949028, 37.859826000971601 ], [ -122.222879000523022, 37.858026000568216 ], [ -122.223178999600606, 37.857126000369142 ], [ -122.222179000024141, 37.855326001000208 ], [ -122.223178999848386, 37.85462600074753 ], [ -122.223779000151922, 37.854726001033143 ], [ -122.223478999875567, 37.853626000873646 ], [ -122.224279000172842, 37.852826001087571 ], [ -122.223678999587932, 37.851826001073675 ], [ -122.224579000062718, 37.851226000573064 ], [ -122.224278999853524, 37.85052600078582 ], [ -122.224752000048255, 37.850368000790354 ], [ -122.224878999492191, 37.850326001119967 ], [ -122.225378999464453, 37.849826000620446 ], [ -122.226379000306466, 37.850026001088089 ], [ -122.226678999586028, 37.849826000998931 ], [ -122.227178999861678, 37.84902600107462 ], [ -122.229879000451092, 37.849326000323856 ], [ -122.232279000171502, 37.851126001068465 ], [ -122.233678999911959, 37.852126000714485 ], [ -122.234179000236196, 37.852526000831475 ], [ -122.234278999840797, 37.853626000877583 ], [ -122.234479000132822, 37.855326001134507 ], [ -122.234579000072358, 37.856326000296896 ], [ -122.234678999853088, 37.857026000604193 ], [ -122.234878999571933, 37.857426000371682 ], [ -122.237679000135458, 37.857226000309673 ], [ -122.238579000325288, 37.857326000622386 ], [ -122.239178999972921, 37.857226000644914 ], [ -122.240178999934756, 37.857226001066586 ], [ -122.241655999793451, 37.857312000280615 ], [ -122.241978999703136, 37.857526000960597 ], [ -122.2422250004294, 37.857697000296938 ], [ -122.242478999612132, 37.85782600079002 ], [ -122.243378999902305, 37.858826001127561 ], [ -122.24387899981626, 37.858626000499285 ], [ -122.243779000492992, 37.859126000826947 ], [ -122.243798999868318, 37.859275001091085 ], [ -122.243979000107359, 37.86062600033047 ], [ -122.243978999711857, 37.861026000853329 ], [ -122.244179000160742, 37.86272600069065 ], [ -122.244209999824946, 37.863220001085452 ], [ -122.244241999644913, 37.863740001097113 ], [ -122.244306999763054, 37.864780001076774 ], [ -122.244379000036332, 37.865925001121028 ], [ -122.244279000169584, 37.866725000441114 ], [ -122.244578999412155, 37.867525000754242 ], [ -122.244478999875554, 37.867925000885101 ], [ -122.244678999688333, 37.868725000777104 ], [ -122.244679000315955, 37.869425000762504 ], [ -122.244692000101892, 37.869757000629043 ], [ -122.244778999698454, 37.871925000726456 ], [ -122.244878999764268, 37.872625000960298 ], [ -122.2449329999573, 37.873130000340275 ], [ -122.245179000260293, 37.875425000909921 ], [ -122.245278999440103, 37.876625000718661 ], [ -122.245579000434134, 37.879225000952282 ], [ -122.245678999961669, 37.880425000610707 ], [ -122.245679000147717, 37.880925000557873 ], [ -122.245778999424218, 37.881925001132345 ], [ -122.245878999790918, 37.882825000798356 ], [ -122.245979000049886, 37.884325000583473 ], [ -122.245979000330308, 37.884725000471398 ], [ -122.245478999766689, 37.884325000956032 ], [ -122.244079000502126, 37.883225000692391 ], [ -122.24197900051621, 37.881925000658072 ], [ -122.241379000215218, 37.88212500079532 ], [ -122.239878999842205, 37.882925000861611 ], [ -122.238679000310924, 37.883325000804376 ], [ -122.236778999672552, 37.88282500078202 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 998, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.264880000476083, 37.839526001117385 ], [ -122.264304999895074, 37.84013900055168 ], [ -122.263705999611076, 37.840627000421186 ], [ -122.263379999639611, 37.840826000271825 ], [ -122.262379999833158, 37.841326000587905 ], [ -122.261457000427029, 37.841722000661726 ], [ -122.260979999697241, 37.841926000652641 ], [ -122.259080000320353, 37.842626000509235 ], [ -122.258480000068445, 37.842826000528476 ], [ -122.257379999930606, 37.84302600089508 ], [ -122.256179999937544, 37.843426000269368 ], [ -122.254580000158086, 37.843926000857344 ], [ -122.252380000263699, 37.844526001040173 ], [ -122.251580000501292, 37.84482600040343 ], [ -122.249154999781297, 37.845792000878305 ], [ -122.24741000009297, 37.846367000245571 ], [ -122.244914999987941, 37.847510000378236 ], [ -122.243979000289315, 37.848026000722562 ], [ -122.244078999714915, 37.847726000834463 ], [ -122.244257999923008, 37.847390000975068 ], [ -122.244519999528535, 37.847027000609629 ], [ -122.244622999572798, 37.846896000349098 ], [ -122.244679000264654, 37.846826000950813 ], [ -122.245466999650588, 37.845761000311207 ], [ -122.24615199990258, 37.844750001005664 ], [ -122.246395999444275, 37.844437001078077 ], [ -122.246837999440473, 37.843775000658759 ], [ -122.24737900037151, 37.843026001059883 ], [ -122.247879000063705, 37.842526000871551 ], [ -122.248279000346315, 37.841726000500536 ], [ -122.249779000413369, 37.839726000444124 ], [ -122.249978999499405, 37.839326000554728 ], [ -122.25127999980802, 37.837426000255782 ], [ -122.251480000293029, 37.837026000315191 ], [ -122.251679999714526, 37.836626000893524 ], [ -122.25218000005313, 37.835926000246495 ], [ -122.252879999807959, 37.834926000849151 ], [ -122.253979999932582, 37.835426001067276 ], [ -122.254779999657231, 37.8358260004944 ], [ -122.255979999708615, 37.836226000412815 ], [ -122.257080000407299, 37.8365260002561 ], [ -122.258980000048311, 37.836826000698437 ], [ -122.260180000039185, 37.836926001111706 ], [ -122.260979999490047, 37.837226000260451 ], [ -122.261480000269358, 37.837226000317557 ], [ -122.262879999910609, 37.837426000344514 ], [ -122.262879999575119, 37.837926000769031 ], [ -122.262879999953739, 37.838326000541777 ], [ -122.264779999389987, 37.838126000907486 ], [ -122.265180000335462, 37.838026001123545 ], [ -122.265480000222936, 37.837926000901611 ], [ -122.26598000014728, 37.837826001052974 ], [ -122.265479999948752, 37.838826000251345 ], [ -122.264880000476083, 37.839526001117385 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1001, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.265679999697483, 37.844726000577062 ], [ -122.266679999710419, 37.844626000892866 ], [ -122.267579999773488, 37.84442600025249 ], [ -122.268580000069903, 37.844426000268562 ], [ -122.268680000194422, 37.844826000710334 ], [ -122.268879999395921, 37.845726000889911 ], [ -122.268980000151643, 37.846526000365031 ], [ -122.269179999389834, 37.847126001015205 ], [ -122.26915300038074, 37.847262001126467 ], [ -122.2690800001333, 37.847626000240695 ], [ -122.26957999963517, 37.847526000836766 ], [ -122.270080000374861, 37.848326001065352 ], [ -122.270080000078892, 37.848726000297972 ], [ -122.269580000012922, 37.848926000444443 ], [ -122.268880000516504, 37.848926000610184 ], [ -122.268979999988431, 37.849326000523334 ], [ -122.269179999789642, 37.850126000934374 ], [ -122.269279999773673, 37.850626000974636 ], [ -122.26937999969428, 37.851226000428284 ], [ -122.269480000011967, 37.851826000647108 ], [ -122.268480000220478, 37.852026000592502 ], [ -122.267580000427799, 37.85202600035889 ], [ -122.266679999704081, 37.852226000359416 ], [ -122.262379999426585, 37.852626000245422 ], [ -122.260879999509484, 37.852726000645902 ], [ -122.260780000281926, 37.852226001084794 ], [ -122.260980000137238, 37.85122600076992 ], [ -122.261279999793729, 37.850326000413816 ], [ -122.261379999989202, 37.849526000718768 ], [ -122.261480000057148, 37.848926000783649 ], [ -122.261479999795711, 37.848226000435723 ], [ -122.261579999846717, 37.847526000722553 ], [ -122.26168000017158, 37.846826000836266 ], [ -122.26168000024397, 37.846026000659009 ], [ -122.261880000501748, 37.845326000946883 ], [ -122.262379999636252, 37.845226000508596 ], [ -122.265679999697483, 37.844726000577062 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 996, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.2690800001333, 37.847626000240695 ], [ -122.26915300038074, 37.847262001126467 ], [ -122.269179999389834, 37.847126001015205 ], [ -122.268980000151643, 37.846526000365031 ], [ -122.268879999395921, 37.845726000889911 ], [ -122.268680000194422, 37.844826000710334 ], [ -122.268580000069903, 37.844426000268562 ], [ -122.268479999989083, 37.843926000970463 ], [ -122.26838000007703, 37.843426000650901 ], [ -122.268180000199919, 37.842526001124355 ], [ -122.26817999987189, 37.841926000348977 ], [ -122.268080000034317, 37.841226000241562 ], [ -122.267780000378053, 37.840326000985698 ], [ -122.26767999940887, 37.839526000648654 ], [ -122.267380000184019, 37.838526000433674 ], [ -122.267180000226432, 37.837726001027093 ], [ -122.269080000372199, 37.837526000378986 ], [ -122.269379999912971, 37.837526000760057 ], [ -122.269879999929557, 37.837426000535139 ], [ -122.27168000013198, 37.837126000523654 ], [ -122.273879999422519, 37.836826000956684 ], [ -122.275580000077795, 37.836426000722469 ], [ -122.276279999534211, 37.836326000977387 ], [ -122.276122999788853, 37.836797000305644 ], [ -122.276779999653471, 37.836826000934551 ], [ -122.276680000240376, 37.837126000915063 ], [ -122.276479999492921, 37.837426000246687 ], [ -122.276279999960337, 37.837926000620634 ], [ -122.276079999936002, 37.838326000812451 ], [ -122.276108000408087, 37.838396000903664 ], [ -122.276280000234422, 37.83882600051335 ], [ -122.276479999693194, 37.839526000282063 ], [ -122.276580000156216, 37.840126000324915 ], [ -122.276779999838652, 37.84092600100994 ], [ -122.276980000285249, 37.841626000632857 ], [ -122.276980000362343, 37.842226000827836 ], [ -122.277080000467365, 37.843026000536675 ], [ -122.277479999863246, 37.843726000934801 ], [ -122.277480000170002, 37.844126000642888 ], [ -122.277510000496989, 37.844368000628769 ], [ -122.277579999951854, 37.844926000604168 ], [ -122.277680000508752, 37.845326000783452 ], [ -122.277780000312518, 37.846226000995983 ], [ -122.278079999414572, 37.847326000812991 ], [ -122.278080000374047, 37.847726000296987 ], [ -122.27797999975877, 37.847743000308114 ], [ -122.276879999505041, 37.847926000307929 ], [ -122.276679999990179, 37.847426000473995 ], [ -122.276579999677509, 37.846526000454119 ], [ -122.276480000519342, 37.846226000907834 ], [ -122.275979999627324, 37.846326000859435 ], [ -122.27377999960855, 37.84662600110827 ], [ -122.272880000467552, 37.846726000733497 ], [ -122.271879999392908, 37.846826000676472 ], [ -122.271579999629921, 37.846826001101043 ], [ -122.269580000397085, 37.847226000239573 ], [ -122.26957999963517, 37.847526000836766 ], [ -122.2690800001333, 37.847626000240695 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 992, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.277080000467365, 37.843026000536675 ], [ -122.276980000362343, 37.842226000827836 ], [ -122.276980000285249, 37.841626000632857 ], [ -122.276779999838652, 37.84092600100994 ], [ -122.276580000156216, 37.840126000324915 ], [ -122.276479999693194, 37.839526000282063 ], [ -122.276280000234422, 37.83882600051335 ], [ -122.276108000408087, 37.838396000903664 ], [ -122.276079999936002, 37.838326000812451 ], [ -122.276279999960337, 37.837926000620634 ], [ -122.276479999492921, 37.837426000246687 ], [ -122.276680000240376, 37.837126000915063 ], [ -122.276779999653471, 37.836826000934551 ], [ -122.278984999493943, 37.83710000070495 ], [ -122.279280000393172, 37.837150000594917 ], [ -122.27950199943507, 37.837187000781526 ], [ -122.279969000364275, 37.83726600033711 ], [ -122.280754000384007, 37.837110000366614 ], [ -122.281198000289407, 37.837022001012961 ], [ -122.281524999884923, 37.836957000280862 ], [ -122.282180000297956, 37.836826000844518 ], [ -122.282312000128456, 37.837298000887742 ], [ -122.282343000148018, 37.837407000721356 ], [ -122.284179999963456, 37.837026001031525 ], [ -122.284680000037639, 37.837026000806411 ], [ -122.28497999983253, 37.836826000472399 ], [ -122.285179999422667, 37.837426000580372 ], [ -122.285480000351711, 37.838126000345149 ], [ -122.286080000123661, 37.83992600027085 ], [ -122.285079999412019, 37.840226000735214 ], [ -122.284179999665568, 37.840826000562693 ], [ -122.283479999475503, 37.841026000880099 ], [ -122.281280000104047, 37.841926000259022 ], [ -122.279180000166249, 37.84292600042729 ], [ -122.278380000157938, 37.84322600042043 ], [ -122.277479999863246, 37.843726000934801 ], [ -122.277080000467365, 37.843026000536675 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 977, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.271064999712422, 37.8251420006073 ], [ -122.271879999543003, 37.825327000468228 ], [ -122.274479999962836, 37.825827001006836 ], [ -122.275480000250852, 37.826127000851457 ], [ -122.2756810003292, 37.82618000051945 ], [ -122.278942000485401, 37.826986001003839 ], [ -122.279026000333545, 37.827233000598788 ], [ -122.27907999970256, 37.827427000395694 ], [ -122.278579999579364, 37.827327000554455 ], [ -122.27877999965888, 37.827827000482138 ], [ -122.279079999787598, 37.828727000979754 ], [ -122.279080000106362, 37.829027000868173 ], [ -122.278879999673961, 37.82972700100931 ], [ -122.278680000194655, 37.830527000652239 ], [ -122.278280000039871, 37.831427000975737 ], [ -122.277880000229089, 37.832327000668592 ], [ -122.277580000268458, 37.833127000412183 ], [ -122.277380000517994, 37.833727000259344 ], [ -122.277080000135555, 37.834526000757457 ], [ -122.276880000333449, 37.835126000483818 ], [ -122.276579999735091, 37.835826000984426 ], [ -122.276279999534211, 37.836326000977387 ], [ -122.275580000077795, 37.836426000722469 ], [ -122.273879999422519, 37.836826000956684 ], [ -122.27168000013198, 37.837126000523654 ], [ -122.269879999929557, 37.837426000535139 ], [ -122.269379999912971, 37.837526000760057 ], [ -122.269080000372199, 37.837526000378986 ], [ -122.267180000226432, 37.837726001027093 ], [ -122.266179999862004, 37.837826000952631 ], [ -122.26598000014728, 37.837826001052974 ], [ -122.266780000154952, 37.835026000622179 ], [ -122.266979999561769, 37.83442600034693 ], [ -122.267080000251852, 37.833626000550062 ], [ -122.267193000280045, 37.833033000353609 ], [ -122.267344999421837, 37.832236000514889 ], [ -122.267480000021493, 37.831527000967895 ], [ -122.267694999902162, 37.830613000971965 ], [ -122.267879999397721, 37.829827001006599 ], [ -122.268006999475375, 37.829141000587875 ], [ -122.268172000046036, 37.828250000612243 ], [ -122.26837999980215, 37.827127001035095 ], [ -122.268489999511331, 37.826794000261778 ], [ -122.268634000118766, 37.826361000553909 ], [ -122.26900200040474, 37.825260000366569 ], [ -122.269179999836695, 37.824727000883556 ], [ -122.269680000202371, 37.824827000899795 ], [ -122.270169000201761, 37.824938000382481 ], [ -122.271064999712422, 37.8251420006073 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 975, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.262279999465392, 37.825427000523774 ], [ -122.261980000197909, 37.826827000871077 ], [ -122.261379999808767, 37.828727000308497 ], [ -122.261180000183245, 37.829627000990932 ], [ -122.260979999816868, 37.830427000437211 ], [ -122.260680000408072, 37.831226000386138 ], [ -122.260480000485288, 37.83222600104363 ], [ -122.260579999537626, 37.832926001096496 ], [ -122.260680000371309, 37.833626001001477 ], [ -122.260780000405816, 37.834626000943381 ], [ -122.260480000188593, 37.835726000315908 ], [ -122.260379999585993, 37.836426000497333 ], [ -122.260180000039185, 37.836926001111706 ], [ -122.258980000048311, 37.836826000698437 ], [ -122.257080000407299, 37.8365260002561 ], [ -122.255979999708615, 37.836226000412815 ], [ -122.254779999657231, 37.8358260004944 ], [ -122.253979999932582, 37.835426001067276 ], [ -122.252879999807959, 37.834926000849151 ], [ -122.253079999466706, 37.834526000657306 ], [ -122.253580000502794, 37.833826000918734 ], [ -122.253579999662549, 37.833626000535354 ], [ -122.254980000057728, 37.831526000528207 ], [ -122.255580000059823, 37.830526000319615 ], [ -122.255879999966922, 37.83012700103486 ], [ -122.256780000520024, 37.828727000966929 ], [ -122.257379999575534, 37.82782700068897 ], [ -122.258179999643119, 37.826527001089374 ], [ -122.258379999574373, 37.826127001034003 ], [ -122.259280000510984, 37.824627000428904 ], [ -122.260679999543399, 37.822627001063204 ], [ -122.261179999608757, 37.822760000283992 ], [ -122.262179999721766, 37.823027000923361 ], [ -122.262079999849888, 37.823527000663432 ], [ -122.262480000057465, 37.824027001114217 ], [ -122.262379999628635, 37.82482700084352 ], [ -122.262279999465392, 37.825427000523774 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 978, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.278836000416433, 37.826482000994417 ], [ -122.278942000485401, 37.826986001003839 ], [ -122.2756810003292, 37.82618000051945 ], [ -122.275480000250852, 37.826127000851457 ], [ -122.274479999962836, 37.825827001006836 ], [ -122.271879999543003, 37.825327000468228 ], [ -122.271064999712422, 37.8251420006073 ], [ -122.270169000201761, 37.824938000382481 ], [ -122.269680000202371, 37.824827000899795 ], [ -122.269179999836695, 37.824727000883556 ], [ -122.268989000255004, 37.824679000339977 ], [ -122.268725999400047, 37.824609000618175 ], [ -122.268896000447938, 37.824238000835848 ], [ -122.268974999674896, 37.824024001032733 ], [ -122.26905400028005, 37.82376500113422 ], [ -122.269128000501354, 37.823555000791899 ], [ -122.26921799976185, 37.823258000851403 ], [ -122.269574000430524, 37.821666000604445 ], [ -122.269679999622824, 37.82122700060394 ], [ -122.269880000107307, 37.820527000932771 ], [ -122.270061999714017, 37.819933001044895 ], [ -122.270081000112029, 37.819671001112198 ], [ -122.270592999642901, 37.819277000848807 ], [ -122.270616999930127, 37.819214000825816 ], [ -122.270979999446013, 37.81712700039175 ], [ -122.271179999548167, 37.816227000380074 ], [ -122.271480000462532, 37.815727000692377 ], [ -122.272879999863463, 37.814127000681026 ], [ -122.273980000236747, 37.812827000994133 ], [ -122.274479999463949, 37.813027000551415 ], [ -122.274780000411084, 37.814127000635246 ], [ -122.275180000094124, 37.815027001042679 ], [ -122.275380000030609, 37.815227000731497 ], [ -122.275564999945956, 37.815912000238747 ], [ -122.275679999994111, 37.816327000906703 ], [ -122.275779999574141, 37.816627000656773 ], [ -122.275944999645432, 37.817125000916292 ], [ -122.27602099966812, 37.817377001080359 ], [ -122.276180999452222, 37.817900001128017 ], [ -122.276380000289819, 37.818727001111768 ], [ -122.2765230004036, 37.819143001106774 ], [ -122.276679999930394, 37.81972700081419 ], [ -122.276941000440061, 37.820698000648527 ], [ -122.277138999891193, 37.821227000744095 ], [ -122.277322000054554, 37.821707000330434 ], [ -122.277479999640917, 37.822227000933744 ], [ -122.277626000408688, 37.822716000515712 ], [ -122.277731999753584, 37.823052000596995 ], [ -122.277979999724423, 37.823827000775331 ], [ -122.278279999843591, 37.824627001076351 ], [ -122.278448000463186, 37.825118000879662 ], [ -122.278579999758691, 37.82552700054746 ], [ -122.278836000416433, 37.826482000994417 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 990, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.284279999865475, 37.824227000420166 ], [ -122.283980000523485, 37.824527000558405 ], [ -122.28388000043276, 37.824727001086913 ], [ -122.283279999719852, 37.82542700029056 ], [ -122.282880000196243, 37.82612700107272 ], [ -122.282579999849645, 37.826527001115508 ], [ -122.2818800000355, 37.827227001090755 ], [ -122.28170100035473, 37.827470001094532 ], [ -122.281380000401015, 37.827827000497209 ], [ -122.281280000075796, 37.828027000461958 ], [ -122.280079999479312, 37.827627000928331 ], [ -122.27907999970256, 37.827427000395694 ], [ -122.279026000333545, 37.827233000598788 ], [ -122.278942000485401, 37.826986001003839 ], [ -122.278836000416433, 37.826482000994417 ], [ -122.278579999758691, 37.82552700054746 ], [ -122.278448000463186, 37.825118000879662 ], [ -122.278279999843591, 37.824627001076351 ], [ -122.277979999724423, 37.823827000775331 ], [ -122.277731999753584, 37.823052000596995 ], [ -122.277626000408688, 37.822716000515712 ], [ -122.277479999640917, 37.822227000933744 ], [ -122.277322000054554, 37.821707000330434 ], [ -122.277138999891193, 37.821227000744095 ], [ -122.276941000440061, 37.820698000648527 ], [ -122.276679999930394, 37.81972700081419 ], [ -122.2765230004036, 37.819143001106774 ], [ -122.277480000175856, 37.819227000944593 ], [ -122.278480000014781, 37.819427000449139 ], [ -122.279579999446682, 37.819727000301775 ], [ -122.280580000420429, 37.81992700094289 ], [ -122.28167999995982, 37.820227001049773 ], [ -122.282780000142623, 37.820427000698395 ], [ -122.283779999468933, 37.820727000470505 ], [ -122.284980000216407, 37.820927000896681 ], [ -122.285780000092728, 37.821127000489682 ], [ -122.286479999780596, 37.821527000251635 ], [ -122.285580000271779, 37.822327000322012 ], [ -122.285179999593353, 37.822827001126392 ], [ -122.284879999732055, 37.823427000320244 ], [ -122.284279999865475, 37.824227000420166 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 988, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.297779999692636, 37.832627000392364 ], [ -122.294061999983626, 37.831485000558395 ], [ -122.293679999528976, 37.831127000944981 ], [ -122.293479999818501, 37.830927000950119 ], [ -122.293001999896461, 37.830831000389161 ], [ -122.291937999456465, 37.830618000991414 ], [ -122.291479999908432, 37.830527000444491 ], [ -122.290379999890874, 37.830227000583598 ], [ -122.289079999503201, 37.829927001044176 ], [ -122.288492000074541, 37.829780000468979 ], [ -122.287879999769487, 37.829627000615467 ], [ -122.28657999972242, 37.829327000571112 ], [ -122.285880000153043, 37.829027000724075 ], [ -122.285380000356042, 37.828927000861306 ], [ -122.282879999564287, 37.828227000408418 ], [ -122.282479999544506, 37.828127000431891 ], [ -122.281580000277813, 37.82792700026144 ], [ -122.281280000075796, 37.828027000461958 ], [ -122.281380000401015, 37.827827000497209 ], [ -122.28170100035473, 37.827470001094532 ], [ -122.2818800000355, 37.827227001090755 ], [ -122.282579999849645, 37.826527001115508 ], [ -122.282880000196243, 37.82612700107272 ], [ -122.283279999719852, 37.82542700029056 ], [ -122.28388000043276, 37.824727001086913 ], [ -122.283980000523485, 37.824527000558405 ], [ -122.284279999865475, 37.824227000420166 ], [ -122.284879999732055, 37.823427000320244 ], [ -122.285179999593353, 37.822827001126392 ], [ -122.285580000271779, 37.822327000322012 ], [ -122.286479999780596, 37.821527000251635 ], [ -122.287180000359825, 37.820627000431735 ], [ -122.287680000080016, 37.819927000368196 ], [ -122.288780000508297, 37.818527000716855 ], [ -122.289380000001472, 37.817627000670996 ], [ -122.289879999919307, 37.817127001105057 ], [ -122.291280000294194, 37.81562700050867 ], [ -122.292280000455492, 37.814327000608934 ], [ -122.292780000343527, 37.813527000931607 ], [ -122.2933799998236, 37.812827000747376 ], [ -122.29367999986988, 37.812127000598267 ], [ -122.29368000037077, 37.811527000439483 ], [ -122.295180000435323, 37.81222700064427 ], [ -122.296479999738281, 37.812827000269273 ], [ -122.29777999964044, 37.813427000894336 ], [ -122.298279999988466, 37.812627000922404 ], [ -122.298980000484278, 37.812027000982155 ], [ -122.299780000234165, 37.811527000366091 ], [ -122.299879999559593, 37.811227000598656 ], [ -122.300380000495835, 37.810627001054563 ], [ -122.301079999584005, 37.809827001002908 ], [ -122.301579999724865, 37.80902700072081 ], [ -122.30217999971731, 37.80832700067257 ], [ -122.30237999939213, 37.807927001019642 ], [ -122.302680000373286, 37.80702700038627 ], [ -122.30407999947839, 37.807327000542344 ], [ -122.304994999648599, 37.807571000834692 ], [ -122.305579999579535, 37.807727000863572 ], [ -122.306263999688113, 37.808001001003866 ], [ -122.306580000078029, 37.808127000714663 ], [ -122.308880000250014, 37.808827000908273 ], [ -122.310379999704139, 37.809127001043919 ], [ -122.312179999902568, 37.808927000445991 ], [ -122.315180000274083, 37.809227000814019 ], [ -122.319580999426407, 37.8096270009138 ], [ -122.322581000368032, 37.80982700082518 ], [ -122.327081000045197, 37.810127000369235 ], [ -122.331680999738481, 37.810327001080928 ], [ -122.332580999413324, 37.810327000610158 ], [ -122.333380999659937, 37.810327000630302 ], [ -122.332881000057725, 37.810727000548127 ], [ -122.322481000422215, 37.810427001086445 ], [ -122.321881000185599, 37.811327000505763 ], [ -122.320081000291381, 37.814227000864712 ], [ -122.318992999835388, 37.81505500095767 ], [ -122.313379999881306, 37.81932700108576 ], [ -122.312280000199308, 37.819227000641199 ], [ -122.308680000372917, 37.819127000336451 ], [ -122.30847999944686, 37.82112700064615 ], [ -122.312479999705289, 37.822227000351404 ], [ -122.31568099943658, 37.821827000606334 ], [ -122.31918100009058, 37.819027000581144 ], [ -122.319180999916938, 37.821727001083453 ], [ -122.328181000303204, 37.820527000518112 ], [ -122.328924000427619, 37.820434000873995 ], [ -122.328981000040415, 37.820427000728635 ], [ -122.329180999555348, 37.821527001057966 ], [ -122.329180999798879, 37.821827000303259 ], [ -122.320681000124296, 37.824227001109399 ], [ -122.317281000125064, 37.827927000260068 ], [ -122.314281000285447, 37.829427001031995 ], [ -122.310479999882972, 37.827927001067565 ], [ -122.309179999397543, 37.827327000978194 ], [ -122.299779999722219, 37.828227001018639 ], [ -122.299779999863432, 37.830627000778513 ], [ -122.295379999838758, 37.829427000634027 ], [ -122.297779999692636, 37.832627000392364 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 965, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.333380999659937, 37.810327000630302 ], [ -122.332580999413324, 37.810327000610158 ], [ -122.331680999738481, 37.810327001080928 ], [ -122.327081000045197, 37.810127000369235 ], [ -122.322581000368032, 37.80982700082518 ], [ -122.319580999426407, 37.8096270009138 ], [ -122.315180000274083, 37.809227000814019 ], [ -122.312179999902568, 37.808927000445991 ], [ -122.310379999704139, 37.809127001043919 ], [ -122.308880000250014, 37.808827000908273 ], [ -122.306580000078029, 37.808127000714663 ], [ -122.306263999688113, 37.808001001003866 ], [ -122.305579999579535, 37.807727000863572 ], [ -122.304994999648599, 37.807571000834692 ], [ -122.30407999947839, 37.807327000542344 ], [ -122.302680000373286, 37.80702700038627 ], [ -122.301179999406997, 37.80682700105821 ], [ -122.299580000394158, 37.806527000560862 ], [ -122.298379999665997, 37.80622700092723 ], [ -122.297379999857327, 37.806027001001439 ], [ -122.296379999812132, 37.805827000710622 ], [ -122.295279999908033, 37.805427000352687 ], [ -122.293879999394036, 37.805427000743187 ], [ -122.293680000468299, 37.805427000477486 ], [ -122.292680000071613, 37.805127000836819 ], [ -122.29198000012444, 37.804427000842296 ], [ -122.29110700031714, 37.804030000321617 ], [ -122.290880000277511, 37.803927000493424 ], [ -122.289879999764466, 37.80372700100861 ], [ -122.288880000159693, 37.803527000264751 ], [ -122.288980000421788, 37.80332700092044 ], [ -122.2890799999916, 37.803027001029044 ], [ -122.289580000192018, 37.801527000938876 ], [ -122.290280000141891, 37.800228000641539 ], [ -122.290554999951738, 37.800022000362347 ], [ -122.291080000520822, 37.799628000558137 ], [ -122.293779999971107, 37.799028000458357 ], [ -122.300679999432404, 37.797728000480134 ], [ -122.300679999409752, 37.797428000470944 ], [ -122.300780000322533, 37.797228000662216 ], [ -122.303580000406413, 37.796728000502362 ], [ -122.311080000372201, 37.795428000802147 ], [ -122.31238000005898, 37.795328000451825 ], [ -122.319195999711965, 37.796746000392666 ], [ -122.327280999581447, 37.798428000361909 ], [ -122.33198100049006, 37.800528000504997 ], [ -122.331581000020833, 37.801028001079082 ], [ -122.331205000183786, 37.801086000375115 ], [ -122.330280999959356, 37.80122800094378 ], [ -122.327281000349828, 37.80132800098275 ], [ -122.325680999545028, 37.804628000454535 ], [ -122.325397999739451, 37.805931000915855 ], [ -122.325180999545054, 37.806928000929574 ], [ -122.327281000372167, 37.807428000624817 ], [ -122.327471999785374, 37.807480000466953 ], [ -122.328381000115101, 37.807727000983846 ], [ -122.329679999460183, 37.806990000241754 ], [ -122.33265399983533, 37.805302000802506 ], [ -122.33738099974471, 37.803728001131155 ], [ -122.339981000003988, 37.802928000846585 ], [ -122.341480999490045, 37.804728000718228 ], [ -122.333380999659937, 37.810327000630302 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 985, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.293079999404284, 37.808427000792676 ], [ -122.292879999455025, 37.809027000478928 ], [ -122.292679999596359, 37.809627000654075 ], [ -122.292479999572109, 37.809627001002667 ], [ -122.292180000118137, 37.809627000441594 ], [ -122.291080000448716, 37.809327000993328 ], [ -122.290879999486677, 37.809627000578793 ], [ -122.289979999800011, 37.809327000453536 ], [ -122.2891800005075, 37.809127000624208 ], [ -122.288080000103378, 37.808827000245849 ], [ -122.286980000156859, 37.808627000778898 ], [ -122.287580000034936, 37.807127000561017 ], [ -122.288279999395414, 37.805327000443974 ], [ -122.288580000058715, 37.804227000871066 ], [ -122.288880000159693, 37.803527000264751 ], [ -122.289879999764466, 37.80372700100861 ], [ -122.290880000277511, 37.803927000493424 ], [ -122.29110700031714, 37.804030000321617 ], [ -122.29198000012444, 37.804427000842296 ], [ -122.292680000071613, 37.805127000836819 ], [ -122.293680000468299, 37.805427000477486 ], [ -122.293679999535513, 37.805827000394572 ], [ -122.293379999606401, 37.806427000970153 ], [ -122.293479999909849, 37.807327000587662 ], [ -122.293079999404284, 37.808427000792676 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 984, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.288379999779181, 37.816727001129792 ], [ -122.287479999544786, 37.81652700109106 ], [ -122.28648000030465, 37.816327000460987 ], [ -122.28548000012357, 37.816027001052007 ], [ -122.284479999478236, 37.815827000588591 ], [ -122.284879999918459, 37.814627000753617 ], [ -122.285379999589153, 37.813427000306483 ], [ -122.285680000411048, 37.812627000825444 ], [ -122.285979999659943, 37.811627000763991 ], [ -122.286079999899471, 37.811227000935908 ], [ -122.2864799994762, 37.810127000256912 ], [ -122.286980000156859, 37.808627000778898 ], [ -122.288080000103378, 37.808827000245849 ], [ -122.2891800005075, 37.809127000624208 ], [ -122.289979999800011, 37.809327000453536 ], [ -122.290879999486677, 37.809627000578793 ], [ -122.291080000448716, 37.809327000993328 ], [ -122.292180000118137, 37.809627000441594 ], [ -122.292479999572109, 37.809627001002667 ], [ -122.292679999596359, 37.809627000654075 ], [ -122.292380000518349, 37.81042700070514 ], [ -122.2920800005123, 37.81122700075457 ], [ -122.291880000134938, 37.811727000781239 ], [ -122.291806000168492, 37.81190100103651 ], [ -122.291579999569677, 37.812427000834113 ], [ -122.291380000428802, 37.813227000774113 ], [ -122.290979999927288, 37.814127000974651 ], [ -122.290479999655275, 37.815527000661106 ], [ -122.289879999919307, 37.817127001105057 ], [ -122.289479999987435, 37.817027000587586 ], [ -122.288379999779181, 37.816727001129792 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 982, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.281579999860298, 37.80782700051175 ], [ -122.281780000272221, 37.80722700042346 ], [ -122.282280000447216, 37.805927000473986 ], [ -122.282979999604365, 37.804027000924407 ], [ -122.283380000397088, 37.803027000889379 ], [ -122.283479999471467, 37.802527000465659 ], [ -122.28357999968226, 37.802227000786608 ], [ -122.285979999436876, 37.802727000855775 ], [ -122.287380000022111, 37.80312700039137 ], [ -122.288880000159693, 37.803527000264751 ], [ -122.288580000058715, 37.804227000871066 ], [ -122.288279999395414, 37.805327000443974 ], [ -122.287580000034936, 37.807127000561017 ], [ -122.286980000156859, 37.808627000778898 ], [ -122.2864799994762, 37.810127000256912 ], [ -122.285379999922398, 37.809827000839391 ], [ -122.284280000232613, 37.809527001082891 ], [ -122.283625000376105, 37.809396000920245 ], [ -122.283279999407753, 37.809327000494619 ], [ -122.282279999475008, 37.809127000449543 ], [ -122.281380000279214, 37.80872700113661 ], [ -122.281479999585912, 37.808527000327068 ], [ -122.281579999860298, 37.80782700051175 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 980, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.27907999998537, 37.814627001026636 ], [ -122.278679999891423, 37.814527000852628 ], [ -122.277780000090004, 37.814027001036223 ], [ -122.276479999641381, 37.813527000444019 ], [ -122.27517999957297, 37.813227000364471 ], [ -122.274479999463949, 37.813027000551415 ], [ -122.273980000236747, 37.812827000994133 ], [ -122.273279999437221, 37.812727000570611 ], [ -122.273479999644209, 37.812027000763436 ], [ -122.273655999928053, 37.811616000641749 ], [ -122.273779999875543, 37.811327000585969 ], [ -122.273879999396669, 37.811127001008039 ], [ -122.274179999565604, 37.810627001061512 ], [ -122.274679999527805, 37.809727000650646 ], [ -122.274979999858047, 37.809227000307295 ], [ -122.275380000176995, 37.808627000258916 ], [ -122.275680000164641, 37.80802700041275 ], [ -122.276079999558988, 37.807427000514856 ], [ -122.27658000022825, 37.806727001031952 ], [ -122.277580000376759, 37.807027001009232 ], [ -122.278080000090043, 37.807227000682353 ], [ -122.278580000228089, 37.807427000943754 ], [ -122.279079999663779, 37.807627000885233 ], [ -122.28007999942983, 37.807927000410196 ], [ -122.280682000339127, 37.808200000434717 ], [ -122.281479999585912, 37.808527000327068 ], [ -122.281380000279214, 37.80872700113661 ], [ -122.281079999649805, 37.809227000881826 ], [ -122.280979999439666, 37.809427000413272 ], [ -122.280779999806043, 37.809927000390637 ], [ -122.280680000079329, 37.810127000541002 ], [ -122.280680000149204, 37.810427000487778 ], [ -122.280480000491636, 37.810827000482462 ], [ -122.280379999766808, 37.811327001131104 ], [ -122.280380000503271, 37.811427000496778 ], [ -122.280179999400431, 37.811727000535207 ], [ -122.280080000410862, 37.812027000354639 ], [ -122.279779999931549, 37.812627000267163 ], [ -122.279479999673484, 37.813327000463758 ], [ -122.279479999821305, 37.81372700044939 ], [ -122.279280000409102, 37.814127000827874 ], [ -122.27907999998537, 37.814627001026636 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 971, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.266079999509614, 37.806927000473642 ], [ -122.264879999832232, 37.806427000262012 ], [ -122.265279999551552, 37.805627000610869 ], [ -122.266979999785349, 37.802927000768037 ], [ -122.268179999549517, 37.803427000431185 ], [ -122.269379999916637, 37.803827001090148 ], [ -122.27047999969507, 37.804327000648499 ], [ -122.271780000023199, 37.804827000709516 ], [ -122.271180000356495, 37.805727000902074 ], [ -122.270279999487585, 37.807227000908092 ], [ -122.269579999414901, 37.808327000735922 ], [ -122.268779999519396, 37.809627000469398 ], [ -122.26817999983983, 37.81052700056788 ], [ -122.267680000157256, 37.81132700066572 ], [ -122.267538999458097, 37.811561001093423 ], [ -122.267379999920053, 37.811827000928375 ], [ -122.26617999959781, 37.811527000847768 ], [ -122.265079999680026, 37.811327000707088 ], [ -122.263980000467683, 37.811327000576995 ], [ -122.262880000182022, 37.811327000982104 ], [ -122.263079999441899, 37.810927000658388 ], [ -122.263179999955199, 37.810727000361283 ], [ -122.263479999543577, 37.809827001022882 ], [ -122.263779999632064, 37.80892700075745 ], [ -122.265079999551915, 37.808527000466057 ], [ -122.266079999509614, 37.806927000473642 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 969, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.276980000280417, 37.806027000263683 ], [ -122.27658000022825, 37.806727001031952 ], [ -122.275179999527808, 37.806227000992877 ], [ -122.273980000418348, 37.805827000719489 ], [ -122.272779999832323, 37.805327000534902 ], [ -122.271780000023199, 37.804827000709516 ], [ -122.272079999656427, 37.804127000355315 ], [ -122.272479999726514, 37.803527000611965 ], [ -122.272979999406914, 37.802727000291974 ], [ -122.273379999796958, 37.802027000518024 ], [ -122.273780000490049, 37.801427000569142 ], [ -122.274180000339882, 37.800627001060462 ], [ -122.274680000394341, 37.799927000615689 ], [ -122.27507999990641, 37.799227000915806 ], [ -122.275279999540004, 37.798927000734921 ], [ -122.276239000446537, 37.799327000901776 ], [ -122.276479999486071, 37.799427000861222 ], [ -122.277979999491578, 37.800027000426752 ], [ -122.278179999868385, 37.80012700070106 ], [ -122.278779999747655, 37.800327000846664 ], [ -122.279379999469882, 37.800527000645452 ], [ -122.279979999454753, 37.800827000537808 ], [ -122.279780000192105, 37.801327000508159 ], [ -122.279479999961694, 37.801927000900356 ], [ -122.278979999488129, 37.802627000884371 ], [ -122.278579999660423, 37.803327000885453 ], [ -122.27817999993556, 37.803927000844084 ], [ -122.277780000129511, 37.804627000620357 ], [ -122.27737999948431, 37.805327000722663 ], [ -122.276980000280417, 37.806027000263683 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 946, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.27367999978199, 37.792328000748427 ], [ -122.273280000033608, 37.792628000774073 ], [ -122.272480000201284, 37.793928000280971 ], [ -122.272380000410593, 37.794128001127341 ], [ -122.272079999795508, 37.794528000299181 ], [ -122.271579999458908, 37.795328000785211 ], [ -122.271179999963095, 37.795928000254769 ], [ -122.270680000233213, 37.79662800070917 ], [ -122.270579999411751, 37.796827000350646 ], [ -122.270380000250555, 37.797127000716301 ], [ -122.270179999457241, 37.79742700071052 ], [ -122.269980000068145, 37.798027000743474 ], [ -122.269479999566073, 37.798727000254296 ], [ -122.268979999739415, 37.799427001130908 ], [ -122.268579999609159, 37.800127000576062 ], [ -122.268179999775072, 37.800827000353912 ], [ -122.267780000236996, 37.801527000464432 ], [ -122.266579999657864, 37.801027000306242 ], [ -122.265480000031417, 37.800527000415208 ], [ -122.264380000176956, 37.800227000907988 ], [ -122.263079999784154, 37.799727000447774 ], [ -122.262679999597097, 37.799527000725071 ], [ -122.26217999976069, 37.799527000521771 ], [ -122.261579999518716, 37.799527000537893 ], [ -122.260180000099567, 37.79892700069832 ], [ -122.259679999833352, 37.79892700071273 ], [ -122.259780000079232, 37.798827000524092 ], [ -122.259279999903441, 37.798527000476035 ], [ -122.259980000123946, 37.798527000419298 ], [ -122.260680000368765, 37.798527000709242 ], [ -122.260079999869276, 37.798227001029417 ], [ -122.260179999659357, 37.796727000522083 ], [ -122.260357000177535, 37.796420000802229 ], [ -122.261679999900878, 37.79412800037742 ], [ -122.262779999967535, 37.792628000420464 ], [ -122.263079999567182, 37.792228000641785 ], [ -122.263280000179762, 37.791828000290963 ], [ -122.263479999693132, 37.79152800096071 ], [ -122.263580000387634, 37.791228000859057 ], [ -122.263748999698834, 37.79125700109882 ], [ -122.264767999423555, 37.791512000873837 ], [ -122.264780000270903, 37.791528000894175 ], [ -122.268880000220278, 37.790028000390919 ], [ -122.268580000048885, 37.790528000476861 ], [ -122.271280000457651, 37.79082800050876 ], [ -122.27367999978199, 37.792328000748427 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 945, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.265480000031417, 37.800527000415208 ], [ -122.266579999657864, 37.801027000306242 ], [ -122.267780000236996, 37.801527000464432 ], [ -122.267379999858903, 37.802227000900544 ], [ -122.266979999785349, 37.802927000768037 ], [ -122.265279999551552, 37.805627000610869 ], [ -122.264879999832232, 37.806427000262012 ], [ -122.266079999509614, 37.806927000473642 ], [ -122.265079999551915, 37.808527000466057 ], [ -122.263779999632064, 37.80892700075745 ], [ -122.263479999543577, 37.809827001022882 ], [ -122.263179999955199, 37.810727000361283 ], [ -122.263079999441899, 37.810927000658388 ], [ -122.262380000288942, 37.811327000393426 ], [ -122.261780000470736, 37.811227000870851 ], [ -122.260979999709207, 37.81112700101329 ], [ -122.260280000326318, 37.810427000889753 ], [ -122.259979999435387, 37.810227000875393 ], [ -122.259180000032771, 37.809827000953888 ], [ -122.257979999892243, 37.809627000587263 ], [ -122.256780000224381, 37.809527000798283 ], [ -122.256980000152154, 37.809027000749921 ], [ -122.256780000135507, 37.808027000890526 ], [ -122.255680000146882, 37.808227000409943 ], [ -122.254579999796448, 37.808227001000617 ], [ -122.253579999998991, 37.8084270007366 ], [ -122.253379999610502, 37.809127000677584 ], [ -122.252380000005161, 37.809027000519663 ], [ -122.25147999999929, 37.809127000329411 ], [ -122.251079999923334, 37.809327000744531 ], [ -122.249880000277429, 37.808627001118303 ], [ -122.25017999945959, 37.808027000384953 ], [ -122.25067999946755, 37.806927000429042 ], [ -122.2512800002457, 37.805427001125594 ], [ -122.25198000016556, 37.804727000558088 ], [ -122.25378000035478, 37.804327000666085 ], [ -122.254679999914472, 37.803027000688665 ], [ -122.255080000017188, 37.802527000371896 ], [ -122.255079999901767, 37.801127000948007 ], [ -122.255680000204677, 37.800527000746612 ], [ -122.256080000308586, 37.800327000385131 ], [ -122.256680000513242, 37.800527001098537 ], [ -122.258080000443115, 37.800127000454452 ], [ -122.259379999804452, 37.799127000407388 ], [ -122.259679999833352, 37.79892700071273 ], [ -122.260180000099567, 37.79892700069832 ], [ -122.261579999518716, 37.799527000537893 ], [ -122.26217999976069, 37.799527000521771 ], [ -122.262679999597097, 37.799527000725071 ], [ -122.263079999784154, 37.799727000447774 ], [ -122.264380000176956, 37.800227000907988 ], [ -122.265480000031417, 37.800527000415208 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 941, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.25318000029867, 37.811027000798056 ], [ -122.254380000056386, 37.811027000248714 ], [ -122.25598000025056, 37.811227000288937 ], [ -122.257100999785337, 37.811416001079003 ], [ -122.257054999486058, 37.811722000615056 ], [ -122.257257999703498, 37.812268000305103 ], [ -122.257679999629545, 37.812927000498242 ], [ -122.25827999996099, 37.81312700029801 ], [ -122.258580000054138, 37.813627000380933 ], [ -122.259480000522046, 37.81382700098397 ], [ -122.256680000093823, 37.815627001123367 ], [ -122.25367999973983, 37.817327000431327 ], [ -122.254079999902018, 37.818127000726228 ], [ -122.254579999562864, 37.819127000658817 ], [ -122.254379999824636, 37.819527001032689 ], [ -122.253080000469296, 37.817727000736156 ], [ -122.252779999575822, 37.817327000595988 ], [ -122.252729999886753, 37.817264000767693 ], [ -122.252380000451382, 37.816827000419714 ], [ -122.251326000151749, 37.814982001080473 ], [ -122.251225000413157, 37.814751000544192 ], [ -122.250565000097254, 37.813968000477104 ], [ -122.249479999400279, 37.812627000796937 ], [ -122.248679999685208, 37.811927000827055 ], [ -122.248579999942919, 37.811727000925664 ], [ -122.248879999557275, 37.811427000571868 ], [ -122.248979999543906, 37.811027000611922 ], [ -122.250079999737892, 37.812027001121265 ], [ -122.250479999853766, 37.81242700025232 ], [ -122.249980000338468, 37.811227000960614 ], [ -122.250180000304084, 37.811427000882695 ], [ -122.250980000170586, 37.81202700058892 ], [ -122.251980000284206, 37.811427000357696 ], [ -122.252280000046071, 37.811227000386914 ], [ -122.25318000029867, 37.811027000798056 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 942, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.261780000470736, 37.811227000870851 ], [ -122.262380000288942, 37.811327000393426 ], [ -122.263079999441899, 37.810927000658388 ], [ -122.262880000182022, 37.811327000982104 ], [ -122.26277999941226, 37.811827000573196 ], [ -122.262576999606239, 37.812233000408185 ], [ -122.262179999733746, 37.813027000448976 ], [ -122.261580000250802, 37.812627000380054 ], [ -122.260179999449946, 37.813127000435266 ], [ -122.259480000522046, 37.81382700098397 ], [ -122.258580000054138, 37.813627000380933 ], [ -122.25827999996099, 37.81312700029801 ], [ -122.257679999629545, 37.812927000498242 ], [ -122.257257999703498, 37.812268000305103 ], [ -122.257054999486058, 37.811722000615056 ], [ -122.257100999785337, 37.811416001079003 ], [ -122.25598000025056, 37.811227000288937 ], [ -122.254380000056386, 37.811027000248714 ], [ -122.25318000029867, 37.811027000798056 ], [ -122.252280000046071, 37.811227000386914 ], [ -122.251980000284206, 37.811427000357696 ], [ -122.250980000170586, 37.81202700058892 ], [ -122.250180000304084, 37.811427000882695 ], [ -122.249980000338468, 37.811227000960614 ], [ -122.250479999853766, 37.81242700025232 ], [ -122.250079999737892, 37.812027001121265 ], [ -122.248979999543906, 37.811027000611922 ], [ -122.247278999966625, 37.809727000941479 ], [ -122.247880000370841, 37.809927000506818 ], [ -122.248979999662112, 37.809227000490317 ], [ -122.249479999788818, 37.808927000743914 ], [ -122.249880000277429, 37.808627001118303 ], [ -122.251079999923334, 37.809327000744531 ], [ -122.25147999999929, 37.809127000329411 ], [ -122.252380000005161, 37.809027000519663 ], [ -122.253379999610502, 37.809127000677584 ], [ -122.253579999998991, 37.8084270007366 ], [ -122.254579999796448, 37.808227001000617 ], [ -122.255680000146882, 37.808227000409943 ], [ -122.256780000135507, 37.808027000890526 ], [ -122.256980000152154, 37.809027000749921 ], [ -122.256780000224381, 37.809527000798283 ], [ -122.257979999892243, 37.809627000587263 ], [ -122.259180000032771, 37.809827000953888 ], [ -122.259979999435387, 37.810227000875393 ], [ -122.260280000326318, 37.810427000889753 ], [ -122.260979999709207, 37.81112700101329 ], [ -122.261780000470736, 37.811227000870851 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 940, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.252779999575822, 37.817327000595988 ], [ -122.253080000469296, 37.817727000736156 ], [ -122.254379999824636, 37.819527001032689 ], [ -122.253979999620938, 37.819627000854084 ], [ -122.253180000179952, 37.820227000776342 ], [ -122.252479999817368, 37.820527000879835 ], [ -122.251179999625293, 37.820927000717631 ], [ -122.2499799996653, 37.821127000288925 ], [ -122.249079999931993, 37.821427000589345 ], [ -122.247978999523141, 37.821727000548243 ], [ -122.246179000428342, 37.820127000688373 ], [ -122.245378999728842, 37.819727000370747 ], [ -122.244779000367643, 37.819327000933342 ], [ -122.245078999837148, 37.81882700105016 ], [ -122.245078999959688, 37.818327000433833 ], [ -122.245278999855003, 37.817927000653363 ], [ -122.24578899954237, 37.816481001009294 ], [ -122.245879000175464, 37.816227000950434 ], [ -122.246178999659847, 37.815927000615602 ], [ -122.246279000316378, 37.815627000638777 ], [ -122.246778999942492, 37.81452700107873 ], [ -122.246879000516429, 37.814327000528685 ], [ -122.248579999942919, 37.811727000925664 ], [ -122.248679999685208, 37.811927000827055 ], [ -122.249479999400279, 37.812627000796937 ], [ -122.250565000097254, 37.813968000477104 ], [ -122.251225000413157, 37.814751000544192 ], [ -122.251326000151749, 37.814982001080473 ], [ -122.252380000451382, 37.816827000419714 ], [ -122.252729999886753, 37.817264000767693 ], [ -122.252779999575822, 37.817327000595988 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 973, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.254479999814691, 37.825527000769256 ], [ -122.253256999675003, 37.824712000387535 ], [ -122.25297999940048, 37.824527000995388 ], [ -122.252479999878773, 37.823927001018284 ], [ -122.251780000116881, 37.823527000973961 ], [ -122.250979999570433, 37.822927000989459 ], [ -122.250179999672284, 37.823827000335797 ], [ -122.249580000295154, 37.823527000933709 ], [ -122.249979999959137, 37.823027000435843 ], [ -122.247978999523141, 37.821727000548243 ], [ -122.249079999931993, 37.821427000589345 ], [ -122.2499799996653, 37.821127000288925 ], [ -122.251179999625293, 37.820927000717631 ], [ -122.252479999817368, 37.820527000879835 ], [ -122.253180000179952, 37.820227000776342 ], [ -122.253979999620938, 37.819627000854084 ], [ -122.254379999824636, 37.819527001032689 ], [ -122.25464000007878, 37.81968400076358 ], [ -122.254979999538165, 37.8199270004406 ], [ -122.255180000287453, 37.820027000778957 ], [ -122.255080000307075, 37.820427000984814 ], [ -122.255180000036717, 37.82072700057342 ], [ -122.255279999947476, 37.821727000650831 ], [ -122.255880000190274, 37.82232700072052 ], [ -122.256379999906272, 37.822727001041727 ], [ -122.256580000179369, 37.823027000667238 ], [ -122.257279999741954, 37.823527001073685 ], [ -122.258080000039129, 37.824127000801859 ], [ -122.259280000510984, 37.824627000428904 ], [ -122.258379999574373, 37.826127001034003 ], [ -122.258179999643119, 37.826527001089374 ], [ -122.257379999575534, 37.82782700068897 ], [ -122.255879999424081, 37.827427000999762 ], [ -122.254779999898247, 37.826627000700377 ], [ -122.254079999590559, 37.826027001088718 ], [ -122.254479999814691, 37.825527000769256 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 916, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.238579000506505, 37.840826000323396 ], [ -122.237879000399843, 37.840826000362497 ], [ -122.236378999454686, 37.841026001045755 ], [ -122.235578999513507, 37.842026000924399 ], [ -122.231779000106343, 37.842426000500922 ], [ -122.230579000290149, 37.842326000734666 ], [ -122.229178999677615, 37.842326000546173 ], [ -122.228978999562287, 37.842426000285556 ], [ -122.227779000480055, 37.842726000415624 ], [ -122.22577899941993, 37.842126000935046 ], [ -122.224678999851406, 37.841426000708644 ], [ -122.224279000084763, 37.840926001079382 ], [ -122.222378999687038, 37.838726001132706 ], [ -122.220178999408574, 37.836826000566731 ], [ -122.219831999395595, 37.836328000413424 ], [ -122.217877999536668, 37.83352600048201 ], [ -122.217378000002967, 37.832726000253302 ], [ -122.217877999821624, 37.832726000554516 ], [ -122.218877999874408, 37.832926001103679 ], [ -122.219578999565144, 37.832826000896112 ], [ -122.221379000148005, 37.832726000310004 ], [ -122.222678999934246, 37.831026000937534 ], [ -122.223151999715839, 37.830842000348682 ], [ -122.224479000399029, 37.830326000959666 ], [ -122.224979000359141, 37.831026000850137 ], [ -122.225827000085005, 37.831613001074686 ], [ -122.226278999829091, 37.831926000761584 ], [ -122.227179000000859, 37.832326000454003 ], [ -122.22807899998206, 37.833026001110227 ], [ -122.232279000427226, 37.831726000590862 ], [ -122.234330999524303, 37.831348001088287 ], [ -122.235581000188247, 37.831118000427239 ], [ -122.236078999667924, 37.831026000762662 ], [ -122.236979000462298, 37.830726000993195 ], [ -122.238979000224134, 37.830526000290391 ], [ -122.24307899943571, 37.829926001090847 ], [ -122.243379000327508, 37.830126000382194 ], [ -122.243778999918234, 37.830526000591583 ], [ -122.245579000296431, 37.832126000967634 ], [ -122.24677899944983, 37.832826000748909 ], [ -122.247678999936042, 37.833326000760131 ], [ -122.248179000299587, 37.832926000629975 ], [ -122.248744999696655, 37.832486000711278 ], [ -122.249979999955116, 37.831526000508255 ], [ -122.250879999975339, 37.83212600026998 ], [ -122.250479999851578, 37.832826000550767 ], [ -122.251080000124034, 37.833826000549067 ], [ -122.253079999466706, 37.834526000657306 ], [ -122.252879999807959, 37.834926000849151 ], [ -122.25218000005313, 37.835926000246495 ], [ -122.251679999714526, 37.836626000893524 ], [ -122.251480000293029, 37.837026000315191 ], [ -122.25127999980802, 37.837426000255782 ], [ -122.249778999921631, 37.837426000711538 ], [ -122.248279000230042, 37.837826000508592 ], [ -122.246779000107693, 37.838126000400969 ], [ -122.246143999456862, 37.838375000292785 ], [ -122.243979000042017, 37.839226000792017 ], [ -122.242379000071494, 37.839626000429703 ], [ -122.239378999850842, 37.840826000328171 ], [ -122.238579000506505, 37.840826000323396 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 915, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.241879000469297, 37.852126000524805 ], [ -122.241278999934025, 37.852126000754467 ], [ -122.240867999686927, 37.852151000762781 ], [ -122.236378999766757, 37.852426000955028 ], [ -122.23597899942952, 37.852426001080886 ], [ -122.234179000236196, 37.852526000831475 ], [ -122.233678999911959, 37.852126000714485 ], [ -122.232979000382642, 37.851426000275374 ], [ -122.232679000013675, 37.851026000632842 ], [ -122.231579000193037, 37.849726000522111 ], [ -122.231297999462811, 37.8494450009239 ], [ -122.230714000510091, 37.848910001137838 ], [ -122.230522000260123, 37.84864600083263 ], [ -122.229285000036413, 37.846707000681768 ], [ -122.226052999853977, 37.843323000284748 ], [ -122.22547900020777, 37.842626001007382 ], [ -122.224678999851406, 37.841426000708644 ], [ -122.22577899941993, 37.842126000935046 ], [ -122.227779000480055, 37.842726000415624 ], [ -122.228978999562287, 37.842426000285556 ], [ -122.229178999677615, 37.842326000546173 ], [ -122.230579000290149, 37.842326000734666 ], [ -122.231779000106343, 37.842426000500922 ], [ -122.235578999513507, 37.842026000924399 ], [ -122.236378999454686, 37.841026001045755 ], [ -122.237879000399843, 37.840826000362497 ], [ -122.238579000506505, 37.840826000323396 ], [ -122.239378999850842, 37.840826000328171 ], [ -122.242379000071494, 37.839626000429703 ], [ -122.243979000042017, 37.839226000792017 ], [ -122.246143999456862, 37.838375000292785 ], [ -122.246779000107693, 37.838126000400969 ], [ -122.248279000230042, 37.837826000508592 ], [ -122.249778999921631, 37.837426000711538 ], [ -122.25127999980802, 37.837426000255782 ], [ -122.249978999499405, 37.839326000554728 ], [ -122.249779000413369, 37.839726000444124 ], [ -122.248279000346315, 37.841726000500536 ], [ -122.247879000063705, 37.842526000871551 ], [ -122.24737900037151, 37.843026001059883 ], [ -122.246837999440473, 37.843775000658759 ], [ -122.246395999444275, 37.844437001078077 ], [ -122.24615199990258, 37.844750001005664 ], [ -122.245466999650588, 37.845761000311207 ], [ -122.244679000264654, 37.846826000950813 ], [ -122.244622999572798, 37.846896000349098 ], [ -122.244519999528535, 37.847027000609629 ], [ -122.244257999923008, 37.847390000975068 ], [ -122.244078999714915, 37.847726000834463 ], [ -122.243979000289315, 37.848026000722562 ], [ -122.243878999402796, 37.8482260010584 ], [ -122.243722000347503, 37.848477000875064 ], [ -122.243378999397635, 37.849026000709785 ], [ -122.244079000108798, 37.85022600097998 ], [ -122.243578999726893, 37.85032600087284 ], [ -122.242379000339, 37.850726000691523 ], [ -122.241878999777015, 37.851526000703849 ], [ -122.241879000469297, 37.852126000524805 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 919, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.222478999471704, 37.827126000924629 ], [ -122.222779000017908, 37.827526000454498 ], [ -122.223879000000736, 37.829226000251992 ], [ -122.224479000399029, 37.830326000959666 ], [ -122.223151999715839, 37.830842000348682 ], [ -122.222678999934246, 37.831026000937534 ], [ -122.221379000148005, 37.832726000310004 ], [ -122.219578999565144, 37.832826000896112 ], [ -122.218877999874408, 37.832926001103679 ], [ -122.217877999821624, 37.832726000554516 ], [ -122.217378000002967, 37.832726000253302 ], [ -122.215978000023796, 37.83202600033259 ], [ -122.21547800021392, 37.831226000982198 ], [ -122.212821999915946, 37.828147000779644 ], [ -122.211078000443649, 37.826126000294742 ], [ -122.209778000201055, 37.824326000307408 ], [ -122.208077999800551, 37.822327001034544 ], [ -122.207578000220622, 37.821727001108229 ], [ -122.207778000511794, 37.821427000954088 ], [ -122.20797799968625, 37.821227001012488 ], [ -122.208078000479333, 37.821027000784497 ], [ -122.20827800022083, 37.820727000626221 ], [ -122.210178000267291, 37.818727000976182 ], [ -122.211477999581561, 37.819427000889462 ], [ -122.212277999506483, 37.81992700060276 ], [ -122.214478000302762, 37.821027000992181 ], [ -122.215378000491967, 37.821527000333383 ], [ -122.216577999768361, 37.822327000404158 ], [ -122.216777999989404, 37.822527000540049 ], [ -122.217377999864269, 37.822727000962601 ], [ -122.218427000457027, 37.823527000840485 ], [ -122.221178999850878, 37.825626000484768 ], [ -122.222478999471704, 37.827126000924629 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 913, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.207578000220622, 37.821727001108229 ], [ -122.208077999800551, 37.822327001034544 ], [ -122.209778000201055, 37.824326000307408 ], [ -122.211078000443649, 37.826126000294742 ], [ -122.212821999915946, 37.828147000779644 ], [ -122.21547800021392, 37.831226000982198 ], [ -122.215978000023796, 37.83202600033259 ], [ -122.214877999769584, 37.832926001098535 ], [ -122.214178000149346, 37.833426000558305 ], [ -122.212278000411928, 37.834926000891464 ], [ -122.211777999500285, 37.836726000346665 ], [ -122.211478000439143, 37.837326000362673 ], [ -122.211277999451255, 37.837726000793765 ], [ -122.210877999538226, 37.838826000562008 ], [ -122.210577999736188, 37.83912600071821 ], [ -122.209877999680572, 37.840326000897456 ], [ -122.209378000006353, 37.841326000566717 ], [ -122.209077999760595, 37.841626000305816 ], [ -122.204678000004819, 37.842726000591377 ], [ -122.204177999493623, 37.843026000402219 ], [ -122.203178000426789, 37.84342600041834 ], [ -122.201877999709751, 37.843426000616226 ], [ -122.20057800023109, 37.843426000889416 ], [ -122.19907800023627, 37.84362600059071 ], [ -122.195278000429695, 37.842826000769371 ], [ -122.195778000108149, 37.842326000734261 ], [ -122.195406000439789, 37.842172001136781 ], [ -122.195243000229993, 37.842009000864316 ], [ -122.195092000399143, 37.841890000549292 ], [ -122.194848000520665, 37.841826000982181 ], [ -122.194636000523047, 37.84173100080568 ], [ -122.194514000424505, 37.841570000480438 ], [ -122.194422999489277, 37.841442001094549 ], [ -122.194362000084837, 37.841313000959715 ], [ -122.194318000000408, 37.841229000542178 ], [ -122.194109000083984, 37.841159001057413 ], [ -122.194027999746268, 37.841126001098189 ], [ -122.193947000010226, 37.841028000800243 ], [ -122.193917000117168, 37.840963000661425 ], [ -122.19391699942561, 37.84083400051319 ], [ -122.193922999976365, 37.840758000467616 ], [ -122.19177799941103, 37.839826000362052 ], [ -122.19157799953021, 37.839626000798127 ], [ -122.189678000329437, 37.838026001100253 ], [ -122.188925000097228, 37.837650000526899 ], [ -122.188876999832928, 37.837626001091103 ], [ -122.186877000113299, 37.837326000838154 ], [ -122.185276999786126, 37.83702600098372 ], [ -122.184677000432714, 37.835826000415594 ], [ -122.184576999891576, 37.835426000357323 ], [ -122.185576999910637, 37.835426000874591 ], [ -122.186477000249198, 37.835726000389322 ], [ -122.187976999743668, 37.835726000388057 ], [ -122.187477000119031, 37.835126000599629 ], [ -122.187977000213962, 37.834826001075875 ], [ -122.189478000277219, 37.835026000964241 ], [ -122.191277999697817, 37.834626000556433 ], [ -122.191678000048825, 37.834326000571316 ], [ -122.192577999654432, 37.833726000686006 ], [ -122.193703000176399, 37.832521000967674 ], [ -122.193977999783172, 37.832226000924855 ], [ -122.196177999867373, 37.831426000841745 ], [ -122.197210000408788, 37.831063000271492 ], [ -122.199877999636229, 37.830126000940226 ], [ -122.201977999639297, 37.828726001080305 ], [ -122.202978000202435, 37.826426000905627 ], [ -122.202978000389223, 37.824826000479035 ], [ -122.20377799988006, 37.82352600067712 ], [ -122.206277999620823, 37.824426000841697 ], [ -122.207478000522741, 37.824926000465709 ], [ -122.208378000157907, 37.824626001046944 ], [ -122.209278000425257, 37.824426000650519 ], [ -122.206877999561016, 37.82212700105687 ], [ -122.206678000188106, 37.821727001123023 ], [ -122.207578000220622, 37.821727001108229 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 912, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.207578000220622, 37.821727001108229 ], [ -122.206678000188106, 37.821727001123023 ], [ -122.206877999561016, 37.82212700105687 ], [ -122.209278000425257, 37.824426000650519 ], [ -122.208378000157907, 37.824626001046944 ], [ -122.207478000522741, 37.824926000465709 ], [ -122.206277999620823, 37.824426000841697 ], [ -122.20377799988006, 37.82352600067712 ], [ -122.202978000389223, 37.824826000479035 ], [ -122.202978000202435, 37.826426000905627 ], [ -122.201977999639297, 37.828726001080305 ], [ -122.199877999636229, 37.830126000940226 ], [ -122.197210000408788, 37.831063000271492 ], [ -122.196177999867373, 37.831426000841745 ], [ -122.193977999783172, 37.832226000924855 ], [ -122.193703000176399, 37.832521000967674 ], [ -122.192577999654432, 37.833726000686006 ], [ -122.191678000048825, 37.834326000571316 ], [ -122.191277999697817, 37.834626000556433 ], [ -122.189478000277219, 37.835026000964241 ], [ -122.187977000213962, 37.834826001075875 ], [ -122.187477000119031, 37.835126000599629 ], [ -122.187976999743668, 37.835726000388057 ], [ -122.186477000249198, 37.835726000389322 ], [ -122.185576999910637, 37.835426000874591 ], [ -122.184576999891576, 37.835426000357323 ], [ -122.184177000072225, 37.833926001100785 ], [ -122.184376999908267, 37.833426000858829 ], [ -122.1856770003252, 37.83182600064945 ], [ -122.185976999602431, 37.831226000869805 ], [ -122.186576999669796, 37.830426000881921 ], [ -122.187077000084116, 37.829526000255932 ], [ -122.187177000018764, 37.828726001090928 ], [ -122.187076999484802, 37.827326001036049 ], [ -122.186477000043681, 37.826626000729526 ], [ -122.185876999971086, 37.825526000355694 ], [ -122.186376999765187, 37.824226000267451 ], [ -122.186676999980762, 37.823526000976486 ], [ -122.185977000015853, 37.820726001082328 ], [ -122.181476999963181, 37.819526000565894 ], [ -122.176976999942454, 37.816227000549887 ], [ -122.175076999986757, 37.814327000606021 ], [ -122.174676999684849, 37.811727000905861 ], [ -122.174477000332431, 37.810427001079852 ], [ -122.175577000356981, 37.807827000867782 ], [ -122.176476999685804, 37.806827000835952 ], [ -122.178277000372674, 37.803827000454255 ], [ -122.178476999751652, 37.803627000601288 ], [ -122.178876999716593, 37.805027000500701 ], [ -122.179676999555312, 37.806727001036634 ], [ -122.180776999803442, 37.808227000241281 ], [ -122.183577000473605, 37.809527000823529 ], [ -122.185376999549177, 37.80942700071143 ], [ -122.189377999647817, 37.809427000788553 ], [ -122.192277999600194, 37.809627000926966 ], [ -122.193077999656012, 37.810027000358723 ], [ -122.194477999712916, 37.810527000514661 ], [ -122.194878000073359, 37.810527000663726 ], [ -122.196678000458732, 37.810827000999922 ], [ -122.197477999506489, 37.810627000738442 ], [ -122.19787800003526, 37.810427001022305 ], [ -122.198577999448219, 37.810927000344797 ], [ -122.199155999663503, 37.811568000514718 ], [ -122.199978000096564, 37.812427000757374 ], [ -122.204358000372011, 37.817902000489674 ], [ -122.205978000439998, 37.819927000238636 ], [ -122.206478000466475, 37.820427001036698 ], [ -122.20687799964081, 37.820827000853747 ], [ -122.207578000220622, 37.821727001108229 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 922, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.226779000163319, 37.80522700105346 ], [ -122.225979000214537, 37.805627000240875 ], [ -122.225678999450977, 37.805827000788376 ], [ -122.224878999752278, 37.806127000490569 ], [ -122.222479000443428, 37.807327000984976 ], [ -122.221778999809288, 37.807627000406868 ], [ -122.219079000167838, 37.808627000892983 ], [ -122.218378999756069, 37.809027000605255 ], [ -122.217078000253096, 37.810127000758342 ], [ -122.21627799968509, 37.810727000666979 ], [ -122.215678000067399, 37.811327001080805 ], [ -122.2156779996441, 37.811527000857666 ], [ -122.215578000068831, 37.811927000567898 ], [ -122.215178000065592, 37.812627000400937 ], [ -122.21497799954625, 37.812827000420413 ], [ -122.214077999770922, 37.812427000348343 ], [ -122.213677999749649, 37.812127000881723 ], [ -122.214278000484057, 37.8115270009311 ], [ -122.215022000182074, 37.810618000287846 ], [ -122.215178000319355, 37.810427001126278 ], [ -122.215454000030405, 37.809687000256041 ], [ -122.215665000173118, 37.808308000578812 ], [ -122.215701000375489, 37.807362000517692 ], [ -122.215675000501278, 37.807064000556984 ], [ -122.215498000013497, 37.80670500102157 ], [ -122.215399999765182, 37.806272000841957 ], [ -122.215313999819216, 37.805636000789086 ], [ -122.215686999680543, 37.805085000905336 ], [ -122.21614299991549, 37.804420000608495 ], [ -122.216599000491243, 37.803459001029267 ], [ -122.217622999713086, 37.801754000298388 ], [ -122.217878999680153, 37.801327000763983 ], [ -122.217879000218304, 37.800627001125974 ], [ -122.217277999929067, 37.80052700034507 ], [ -122.216177999780243, 37.800127000287148 ], [ -122.216678000332053, 37.799027000978391 ], [ -122.21677800034675, 37.798627000272958 ], [ -122.216878000401081, 37.79842700058429 ], [ -122.217054999917394, 37.797973000806216 ], [ -122.218579000212571, 37.798427000613131 ], [ -122.220778999444889, 37.798927000346744 ], [ -122.221053999815354, 37.799003000483992 ], [ -122.223171000248357, 37.799450000727205 ], [ -122.224278999640347, 37.799727000526431 ], [ -122.225225000208653, 37.799890000735431 ], [ -122.227179000521531, 37.800227000654417 ], [ -122.228878999769492, 37.800627000285566 ], [ -122.22926899970544, 37.800841001093602 ], [ -122.231279000458912, 37.802527000396289 ], [ -122.230679000202372, 37.802827001002242 ], [ -122.230278999969258, 37.803227000519044 ], [ -122.228979000125221, 37.804127001075358 ], [ -122.228779000388116, 37.804427000835673 ], [ -122.226779000163319, 37.80522700105346 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 937, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.224379000475849, 37.810227000801284 ], [ -122.223222000299472, 37.811230000809857 ], [ -122.222879000147998, 37.811527000972156 ], [ -122.222318000511336, 37.811986000644026 ], [ -122.22177899998546, 37.812427000695195 ], [ -122.221178999587906, 37.813227000943108 ], [ -122.220078999965693, 37.81352700039951 ], [ -122.217718000480559, 37.812988001093025 ], [ -122.216577999461705, 37.812727000412735 ], [ -122.215178000065592, 37.812627000400937 ], [ -122.215578000068831, 37.811927000567898 ], [ -122.2156779996441, 37.811527000857666 ], [ -122.215678000067399, 37.811327001080805 ], [ -122.21627799968509, 37.810727000666979 ], [ -122.217078000253096, 37.810127000758342 ], [ -122.218378999756069, 37.809027000605255 ], [ -122.219079000167838, 37.808627000892983 ], [ -122.221778999809288, 37.807627000406868 ], [ -122.222479000443428, 37.807327000984976 ], [ -122.224878999752278, 37.806127000490569 ], [ -122.225678999450977, 37.805827000788376 ], [ -122.225979000214537, 37.805627000240875 ], [ -122.226779000163319, 37.80522700105346 ], [ -122.228779000388116, 37.804427000835673 ], [ -122.228979000125221, 37.804127001075358 ], [ -122.230278999969258, 37.803227000519044 ], [ -122.230679000202372, 37.802827001002242 ], [ -122.231279000458912, 37.802527000396289 ], [ -122.233378999721538, 37.804227000239337 ], [ -122.235479000073951, 37.8058270003378 ], [ -122.23648400015567, 37.806354001060939 ], [ -122.237579000376883, 37.80692700036122 ], [ -122.241350999562158, 37.808583000451968 ], [ -122.241678999709833, 37.808727000407792 ], [ -122.242469000020634, 37.80888400107019 ], [ -122.244008000291032, 37.809278000357885 ], [ -122.247278999966625, 37.809727000941479 ], [ -122.24697899979364, 37.810527000469207 ], [ -122.246578999918341, 37.810627000706596 ], [ -122.246078999528692, 37.810627000331472 ], [ -122.245379000246587, 37.810527001036625 ], [ -122.243179000168212, 37.811027000545849 ], [ -122.2429789995075, 37.810727000457845 ], [ -122.242178999442842, 37.810227000753564 ], [ -122.241479000356122, 37.809727000576871 ], [ -122.240978999838433, 37.809327000824965 ], [ -122.238878999450776, 37.808227000966163 ], [ -122.236879000317373, 37.807127000520282 ], [ -122.234878999747323, 37.8072270005107 ], [ -122.233778999894568, 37.807027000537964 ], [ -122.232678999436388, 37.807027000352882 ], [ -122.231078999938873, 37.807227000867265 ], [ -122.228478999512959, 37.807927000410523 ], [ -122.225978999859734, 37.809327000874006 ], [ -122.225379000507644, 37.809727000826641 ], [ -122.224379000475849, 37.810227000801284 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 999, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.243378999397635, 37.849026000709785 ], [ -122.243722000347503, 37.848477000875064 ], [ -122.243878999402796, 37.8482260010584 ], [ -122.243979000289315, 37.848026000722562 ], [ -122.244914999987941, 37.847510000378236 ], [ -122.24741000009297, 37.846367000245571 ], [ -122.249154999781297, 37.845792000878305 ], [ -122.251580000501292, 37.84482600040343 ], [ -122.252380000263699, 37.844526001040173 ], [ -122.254580000158086, 37.843926000857344 ], [ -122.256179999937544, 37.843426000269368 ], [ -122.257379999930606, 37.84302600089508 ], [ -122.258480000068445, 37.842826000528476 ], [ -122.258080000093628, 37.843226000488826 ], [ -122.257880000500208, 37.843526000896567 ], [ -122.25758000045586, 37.843826000538719 ], [ -122.256680000022726, 37.844926001076281 ], [ -122.255680000399849, 37.846026000509276 ], [ -122.254680000174616, 37.84732600097098 ], [ -122.252979999720225, 37.849626001077311 ], [ -122.25308000007513, 37.850626000932522 ], [ -122.253080000096432, 37.851326000665701 ], [ -122.251580000415316, 37.851326000395986 ], [ -122.249478999917798, 37.851626000524845 ], [ -122.248479000050622, 37.8516260010068 ], [ -122.247179000093041, 37.851726000863806 ], [ -122.246078999923895, 37.851826000724238 ], [ -122.245278999615465, 37.851826000666001 ], [ -122.244879000045728, 37.851826000404714 ], [ -122.243979000467732, 37.851826000928178 ], [ -122.241879000469297, 37.852126000524805 ], [ -122.241878999777015, 37.851526000703849 ], [ -122.242379000339, 37.850726000691523 ], [ -122.243578999726893, 37.85032600087284 ], [ -122.244079000108798, 37.85022600097998 ], [ -122.243378999397635, 37.849026000709785 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1000, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.253080000096432, 37.851326000665701 ], [ -122.25308000007513, 37.850626000932522 ], [ -122.252979999720225, 37.849626001077311 ], [ -122.254680000174616, 37.84732600097098 ], [ -122.255680000399849, 37.846026000509276 ], [ -122.256680000022726, 37.844926001076281 ], [ -122.25758000045586, 37.843826000538719 ], [ -122.257880000500208, 37.843526000896567 ], [ -122.258080000093628, 37.843226000488826 ], [ -122.258480000068445, 37.842826000528476 ], [ -122.259080000320353, 37.842626000509235 ], [ -122.260979999697241, 37.841926000652641 ], [ -122.261457000427029, 37.841722000661726 ], [ -122.262379999833158, 37.841326000587905 ], [ -122.262279999432295, 37.841626000459527 ], [ -122.262280000163841, 37.841926000323795 ], [ -122.262126000099343, 37.842592000519097 ], [ -122.261980000274008, 37.843226000501069 ], [ -122.261979999567416, 37.84412600067548 ], [ -122.261980000052262, 37.844426000407537 ], [ -122.261880000501748, 37.845326000946883 ], [ -122.26168000024397, 37.846026000659009 ], [ -122.26168000017158, 37.846826000836266 ], [ -122.261579999846717, 37.847526000722553 ], [ -122.261479999795711, 37.848226000435723 ], [ -122.261480000057148, 37.848926000783649 ], [ -122.261379999989202, 37.849526000718768 ], [ -122.261279999793729, 37.850326000413816 ], [ -122.260980000137238, 37.85122600076992 ], [ -122.260780000281926, 37.852226001084794 ], [ -122.260879999509484, 37.852726000645902 ], [ -122.258980000384327, 37.853026000498446 ], [ -122.257879999580339, 37.853226000958323 ], [ -122.256680000067107, 37.853226000955928 ], [ -122.255580000448163, 37.853426000618583 ], [ -122.254579999975192, 37.853526000854828 ], [ -122.253979999540661, 37.853626000280649 ], [ -122.253580000416818, 37.851426000761343 ], [ -122.253679999915192, 37.851126000856311 ], [ -122.253080000096432, 37.851326000665701 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 997, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.261979999567416, 37.84412600067548 ], [ -122.261980000274008, 37.843226000501069 ], [ -122.262126000099343, 37.842592000519097 ], [ -122.262280000163841, 37.841926000323795 ], [ -122.262279999432295, 37.841626000459527 ], [ -122.262379999833158, 37.841326000587905 ], [ -122.263379999639611, 37.840826000271825 ], [ -122.263705999611076, 37.840627000421186 ], [ -122.264304999895074, 37.84013900055168 ], [ -122.264880000476083, 37.839526001117385 ], [ -122.265479999948752, 37.838826000251345 ], [ -122.26598000014728, 37.837826001052974 ], [ -122.266179999862004, 37.837826000952631 ], [ -122.267180000226432, 37.837726001027093 ], [ -122.267380000184019, 37.838526000433674 ], [ -122.26767999940887, 37.839526000648654 ], [ -122.267780000378053, 37.840326000985698 ], [ -122.268080000034317, 37.841226000241562 ], [ -122.26817999987189, 37.841926000348977 ], [ -122.268180000199919, 37.842526001124355 ], [ -122.26838000007703, 37.843426000650901 ], [ -122.268479999989083, 37.843926000970463 ], [ -122.268580000069903, 37.844426000268562 ], [ -122.267579999773488, 37.84442600025249 ], [ -122.266679999710419, 37.844626000892866 ], [ -122.265679999697483, 37.844726000577062 ], [ -122.262379999636252, 37.845226000508596 ], [ -122.261880000501748, 37.845326000946883 ], [ -122.261980000052262, 37.844426000407537 ], [ -122.261979999567416, 37.84412600067548 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 993, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.282279999545167, 37.847526000258974 ], [ -122.282179999744585, 37.847126000420658 ], [ -122.281680000298564, 37.84722600024336 ], [ -122.279880000279036, 37.847526000366642 ], [ -122.278080000374047, 37.847726000296987 ], [ -122.278079999414572, 37.847326000812991 ], [ -122.277780000312518, 37.846226000995983 ], [ -122.277680000508752, 37.845326000783452 ], [ -122.277579999951854, 37.844926000604168 ], [ -122.277510000496989, 37.844368000628769 ], [ -122.277480000170002, 37.844126000642888 ], [ -122.277479999863246, 37.843726000934801 ], [ -122.278380000157938, 37.84322600042043 ], [ -122.279180000166249, 37.84292600042729 ], [ -122.281280000104047, 37.841926000259022 ], [ -122.283479999475503, 37.841026000880099 ], [ -122.284179999665568, 37.840826000562693 ], [ -122.285079999412019, 37.840226000735214 ], [ -122.286080000123661, 37.83992600027085 ], [ -122.286279999455161, 37.840426000262248 ], [ -122.286780000226344, 37.842126000374186 ], [ -122.2871800001503, 37.843526000896375 ], [ -122.287379999946339, 37.844226000997104 ], [ -122.28768000010767, 37.845026000596974 ], [ -122.287979999798736, 37.845926000876766 ], [ -122.288279999752362, 37.846526000243784 ], [ -122.288379999956376, 37.846926000481069 ], [ -122.288480000229427, 37.847526000917746 ], [ -122.288779999879736, 37.848526000350518 ], [ -122.289179999737613, 37.849626001075627 ], [ -122.289379999520136, 37.849926000358955 ], [ -122.286580000399113, 37.850626000841018 ], [ -122.286420000196301, 37.850186000389279 ], [ -122.28417999941675, 37.850726000383681 ], [ -122.283880000498527, 37.850326000239285 ], [ -122.283680000486271, 37.849426001099665 ], [ -122.283679999932602, 37.849126000357224 ], [ -122.282780000002475, 37.849326000375214 ], [ -122.282680000168227, 37.848826000513228 ], [ -122.282539000004462, 37.848368000768509 ], [ -122.282279999545167, 37.847526000258974 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 976, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.266979999561769, 37.83442600034693 ], [ -122.266780000154952, 37.835026000622179 ], [ -122.26598000014728, 37.837826001052974 ], [ -122.265480000222936, 37.837926000901611 ], [ -122.265180000335462, 37.838026001123545 ], [ -122.264779999389987, 37.838126000907486 ], [ -122.262879999953739, 37.838326000541777 ], [ -122.262879999575119, 37.837926000769031 ], [ -122.262879999910609, 37.837426000344514 ], [ -122.261480000269358, 37.837226000317557 ], [ -122.260979999490047, 37.837226000260451 ], [ -122.260180000039185, 37.836926001111706 ], [ -122.260379999585993, 37.836426000497333 ], [ -122.260480000188593, 37.835726000315908 ], [ -122.260780000405816, 37.834626000943381 ], [ -122.260680000371309, 37.833626001001477 ], [ -122.260579999537626, 37.832926001096496 ], [ -122.260480000485288, 37.83222600104363 ], [ -122.260680000408072, 37.831226000386138 ], [ -122.260979999816868, 37.830427000437211 ], [ -122.261180000183245, 37.829627000990932 ], [ -122.261379999808767, 37.828727000308497 ], [ -122.261980000197909, 37.826827000871077 ], [ -122.262279999465392, 37.825427000523774 ], [ -122.262379999628635, 37.82482700084352 ], [ -122.262480000057465, 37.824027001114217 ], [ -122.262079999849888, 37.823527000663432 ], [ -122.262179999721766, 37.823027000923361 ], [ -122.263152999758532, 37.823270001057836 ], [ -122.264979999405739, 37.823727000615612 ], [ -122.265620999695145, 37.823907001028097 ], [ -122.265714000316066, 37.823927000237759 ], [ -122.266412999650825, 37.824079000363277 ], [ -122.267918000408926, 37.824376000399035 ], [ -122.268480000078469, 37.824527000564736 ], [ -122.268725999400047, 37.824609000618175 ], [ -122.268989000255004, 37.824679000339977 ], [ -122.269179999836695, 37.824727000883556 ], [ -122.26900200040474, 37.825260000366569 ], [ -122.268634000118766, 37.826361000553909 ], [ -122.268489999511331, 37.826794000261778 ], [ -122.26837999980215, 37.827127001035095 ], [ -122.268172000046036, 37.828250000612243 ], [ -122.268006999475375, 37.829141000587875 ], [ -122.267879999397721, 37.829827001006599 ], [ -122.267694999902162, 37.830613000971965 ], [ -122.267480000021493, 37.831527000967895 ], [ -122.267344999421837, 37.832236000514889 ], [ -122.267193000280045, 37.833033000353609 ], [ -122.267080000251852, 37.833626000550062 ], [ -122.266979999561769, 37.83442600034693 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 979, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.268896000447938, 37.824238000835848 ], [ -122.268725999400047, 37.824609000618175 ], [ -122.268480000078469, 37.824527000564736 ], [ -122.267918000408926, 37.824376000399035 ], [ -122.266412999650825, 37.824079000363277 ], [ -122.265714000316066, 37.823927000237759 ], [ -122.265620999695145, 37.823907001028097 ], [ -122.264979999405739, 37.823727000615612 ], [ -122.263152999758532, 37.823270001057836 ], [ -122.262179999721766, 37.823027000923361 ], [ -122.261179999608757, 37.822760000283992 ], [ -122.260679999543399, 37.822627001063204 ], [ -122.260879999814279, 37.822127000935971 ], [ -122.261279999789835, 37.821227000392895 ], [ -122.261679999552058, 37.820927001038378 ], [ -122.261680000118901, 37.820727001041703 ], [ -122.262779999663039, 37.818927000290294 ], [ -122.263679999546483, 37.817627000593461 ], [ -122.264279999665106, 37.816627000539242 ], [ -122.264779999937758, 37.815827000568234 ], [ -122.265280000242626, 37.815127000241844 ], [ -122.265779999812054, 37.814327000239565 ], [ -122.266179999504104, 37.813627000676014 ], [ -122.266879999465132, 37.81242700064746 ], [ -122.267379999920053, 37.811827000928375 ], [ -122.268380000376766, 37.811927001011938 ], [ -122.269479999750217, 37.812227000313484 ], [ -122.270312999852081, 37.812315001010923 ], [ -122.27137999994676, 37.812427000329315 ], [ -122.273279999437221, 37.812727000570611 ], [ -122.273980000236747, 37.812827000994133 ], [ -122.272879999863463, 37.814127000681026 ], [ -122.271480000462532, 37.815727000692377 ], [ -122.271179999548167, 37.816227000380074 ], [ -122.270979999446013, 37.81712700039175 ], [ -122.270616999930127, 37.819214000825816 ], [ -122.270592999642901, 37.819277000848807 ], [ -122.270081000112029, 37.819671001112198 ], [ -122.270061999714017, 37.819933001044895 ], [ -122.269880000107307, 37.820527000932771 ], [ -122.269679999622824, 37.82122700060394 ], [ -122.269574000430524, 37.821666000604445 ], [ -122.26921799976185, 37.823258000851403 ], [ -122.269128000501354, 37.823555000791899 ], [ -122.26905400028005, 37.82376500113422 ], [ -122.268974999674896, 37.824024001032733 ], [ -122.268896000447938, 37.824238000835848 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 989, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.278480000014781, 37.819427000449139 ], [ -122.277480000175856, 37.819227000944593 ], [ -122.2765230004036, 37.819143001106774 ], [ -122.276380000289819, 37.818727001111768 ], [ -122.276180999452222, 37.817900001128017 ], [ -122.27602099966812, 37.817377001080359 ], [ -122.275944999645432, 37.817125000916292 ], [ -122.275779999574141, 37.816627000656773 ], [ -122.275679999994111, 37.816327000906703 ], [ -122.275564999945956, 37.815912000238747 ], [ -122.275380000030609, 37.815227000731497 ], [ -122.275180000094124, 37.815027001042679 ], [ -122.274780000411084, 37.814127000635246 ], [ -122.274479999463949, 37.813027000551415 ], [ -122.27517999957297, 37.813227000364471 ], [ -122.276479999641381, 37.813527000444019 ], [ -122.277780000090004, 37.814027001036223 ], [ -122.278679999891423, 37.814527000852628 ], [ -122.27907999998537, 37.814627001026636 ], [ -122.280279999975008, 37.81492700062249 ], [ -122.281280000092238, 37.815027000421807 ], [ -122.282280000289163, 37.815327000268567 ], [ -122.283380000052247, 37.815527000495138 ], [ -122.284479999478236, 37.815827000588591 ], [ -122.28548000012357, 37.816027001052007 ], [ -122.28648000030465, 37.816327000460987 ], [ -122.287479999544786, 37.81652700109106 ], [ -122.288379999779181, 37.816727001129792 ], [ -122.289479999987435, 37.817027000587586 ], [ -122.289879999919307, 37.817127001105057 ], [ -122.289380000001472, 37.817627000670996 ], [ -122.288780000508297, 37.818527000716855 ], [ -122.287680000080016, 37.819927000368196 ], [ -122.287180000359825, 37.820627000431735 ], [ -122.286479999780596, 37.821527000251635 ], [ -122.285780000092728, 37.821127000489682 ], [ -122.284980000216407, 37.820927000896681 ], [ -122.283779999468933, 37.820727000470505 ], [ -122.282780000142623, 37.820427000698395 ], [ -122.28167999995982, 37.820227001049773 ], [ -122.280580000420429, 37.81992700094289 ], [ -122.279579999446682, 37.819727000301775 ], [ -122.278480000014781, 37.819427000449139 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 987, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.298379999665997, 37.80622700092723 ], [ -122.299580000394158, 37.806527000560862 ], [ -122.301179999406997, 37.80682700105821 ], [ -122.302680000373286, 37.80702700038627 ], [ -122.30237999939213, 37.807927001019642 ], [ -122.30217999971731, 37.80832700067257 ], [ -122.301579999724865, 37.80902700072081 ], [ -122.301079999584005, 37.809827001002908 ], [ -122.300380000495835, 37.810627001054563 ], [ -122.299879999559593, 37.811227000598656 ], [ -122.299780000234165, 37.811527000366091 ], [ -122.298980000484278, 37.812027000982155 ], [ -122.298279999988466, 37.812627000922404 ], [ -122.29777999964044, 37.813427000894336 ], [ -122.296479999738281, 37.812827000269273 ], [ -122.295180000435323, 37.81222700064427 ], [ -122.29368000037077, 37.811527000439483 ], [ -122.294379999917965, 37.811227000920354 ], [ -122.294780000124675, 37.811027000887918 ], [ -122.295379999396388, 37.81022700051706 ], [ -122.295980000364978, 37.809427000546044 ], [ -122.296579999547987, 37.80872700044857 ], [ -122.296879999800666, 37.808327000811033 ], [ -122.297680000234308, 37.807327001133807 ], [ -122.298379999665997, 37.80622700092723 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 966, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.31238000005898, 37.795328000451825 ], [ -122.311080000372201, 37.795428000802147 ], [ -122.303580000406413, 37.796728000502362 ], [ -122.300780000322533, 37.797228000662216 ], [ -122.300679999409752, 37.797428000470944 ], [ -122.300679999432404, 37.797728000480134 ], [ -122.293779999971107, 37.799028000458357 ], [ -122.291080000520822, 37.799628000558137 ], [ -122.290554999951738, 37.800022000362347 ], [ -122.290280000141891, 37.800228000641539 ], [ -122.289580000192018, 37.801527000938876 ], [ -122.2890799999916, 37.803027001029044 ], [ -122.288980000421788, 37.80332700092044 ], [ -122.288880000159693, 37.803527000264751 ], [ -122.287380000022111, 37.80312700039137 ], [ -122.285979999436876, 37.802727000855775 ], [ -122.28357999968226, 37.802227000786608 ], [ -122.282279999447539, 37.801727000818126 ], [ -122.281179999697116, 37.80122700111464 ], [ -122.279979999454753, 37.800827000537808 ], [ -122.280279999541349, 37.800427000521346 ], [ -122.280479999703431, 37.800027000963738 ], [ -122.28068000021085, 37.799727000591879 ], [ -122.281047000189957, 37.799176000403683 ], [ -122.281079999719523, 37.799127000557718 ], [ -122.281579999627894, 37.798328000942227 ], [ -122.281880000453725, 37.797828000620932 ], [ -122.282779999686682, 37.796428000637547 ], [ -122.283147999668088, 37.795832001072156 ], [ -122.283506999819934, 37.796093000601978 ], [ -122.28548000037155, 37.796228000487098 ], [ -122.288001000447196, 37.796447000381249 ], [ -122.288929999743061, 37.796566000649968 ], [ -122.288839999879968, 37.797324000932612 ], [ -122.289529000154417, 37.79746600077253 ], [ -122.290667000507383, 37.795168000560956 ], [ -122.291446000048396, 37.795547000762383 ], [ -122.291176999578283, 37.796684000813521 ], [ -122.291715999483571, 37.796755000783222 ], [ -122.292285000013692, 37.795429000448117 ], [ -122.292884000469073, 37.79486000047357 ], [ -122.29333300026228, 37.795429001115252 ], [ -122.293902999958036, 37.795263000603761 ], [ -122.293842999920344, 37.794647000587503 ], [ -122.296179000453193, 37.794145000433289 ], [ -122.305780000492049, 37.794228000344006 ], [ -122.31238000005898, 37.795328000451825 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 986, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.291880000134938, 37.811727000781239 ], [ -122.2920800005123, 37.81122700075457 ], [ -122.292380000518349, 37.81042700070514 ], [ -122.292679999596359, 37.809627000654075 ], [ -122.292879999455025, 37.809027000478928 ], [ -122.293079999404284, 37.808427000792676 ], [ -122.293479999909849, 37.807327000587662 ], [ -122.293379999606401, 37.806427000970153 ], [ -122.293679999535513, 37.805827000394572 ], [ -122.293680000468299, 37.805427000477486 ], [ -122.293879999394036, 37.805427000743187 ], [ -122.295279999908033, 37.805427000352687 ], [ -122.296379999812132, 37.805827000710622 ], [ -122.297379999857327, 37.806027001001439 ], [ -122.298379999665997, 37.80622700092723 ], [ -122.297680000234308, 37.807327001133807 ], [ -122.296879999800666, 37.808327000811033 ], [ -122.296579999547987, 37.80872700044857 ], [ -122.295980000364978, 37.809427000546044 ], [ -122.295379999396388, 37.81022700051706 ], [ -122.294780000124675, 37.811027000887918 ], [ -122.294379999917965, 37.811227000920354 ], [ -122.29368000037077, 37.811527000439483 ], [ -122.29367999986988, 37.812127000598267 ], [ -122.2933799998236, 37.812827000747376 ], [ -122.292780000343527, 37.813527000931607 ], [ -122.292280000455492, 37.814327000608934 ], [ -122.291280000294194, 37.81562700050867 ], [ -122.289879999919307, 37.817127001105057 ], [ -122.290479999655275, 37.815527000661106 ], [ -122.290979999927288, 37.814127000974651 ], [ -122.291380000428802, 37.813227000774113 ], [ -122.291579999569677, 37.812427000834113 ], [ -122.291806000168492, 37.81190100103651 ], [ -122.291880000134938, 37.811727000781239 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 983, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.280279999975008, 37.81492700062249 ], [ -122.27907999998537, 37.814627001026636 ], [ -122.279280000409102, 37.814127000827874 ], [ -122.279479999821305, 37.81372700044939 ], [ -122.279479999673484, 37.813327000463758 ], [ -122.279779999931549, 37.812627000267163 ], [ -122.280080000410862, 37.812027000354639 ], [ -122.280179999400431, 37.811727000535207 ], [ -122.280380000503271, 37.811427000496778 ], [ -122.280379999766808, 37.811327001131104 ], [ -122.280480000491636, 37.810827000482462 ], [ -122.280680000149204, 37.810427000487778 ], [ -122.280680000079329, 37.810127000541002 ], [ -122.280779999806043, 37.809927000390637 ], [ -122.280979999439666, 37.809427000413272 ], [ -122.281079999649805, 37.809227000881826 ], [ -122.281380000279214, 37.80872700113661 ], [ -122.282279999475008, 37.809127000449543 ], [ -122.283279999407753, 37.809327000494619 ], [ -122.283625000376105, 37.809396000920245 ], [ -122.284280000232613, 37.809527001082891 ], [ -122.285379999922398, 37.809827000839391 ], [ -122.2864799994762, 37.810127000256912 ], [ -122.286079999899471, 37.811227000935908 ], [ -122.285979999659943, 37.811627000763991 ], [ -122.285680000411048, 37.812627000825444 ], [ -122.285379999589153, 37.813427000306483 ], [ -122.284879999918459, 37.814627000753617 ], [ -122.284479999478236, 37.815827000588591 ], [ -122.283380000052247, 37.815527000495138 ], [ -122.282280000289163, 37.815327000268567 ], [ -122.281280000092238, 37.815027000421807 ], [ -122.280279999975008, 37.81492700062249 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 981, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.282280000447216, 37.805927000473986 ], [ -122.281780000272221, 37.80722700042346 ], [ -122.281579999860298, 37.80782700051175 ], [ -122.281479999585912, 37.808527000327068 ], [ -122.280682000339127, 37.808200000434717 ], [ -122.28007999942983, 37.807927000410196 ], [ -122.279079999663779, 37.807627000885233 ], [ -122.278580000228089, 37.807427000943754 ], [ -122.278080000090043, 37.807227000682353 ], [ -122.277580000376759, 37.807027001009232 ], [ -122.27658000022825, 37.806727001031952 ], [ -122.276980000280417, 37.806027000263683 ], [ -122.27737999948431, 37.805327000722663 ], [ -122.277780000129511, 37.804627000620357 ], [ -122.27817999993556, 37.803927000844084 ], [ -122.278579999660423, 37.803327000885453 ], [ -122.278979999488129, 37.802627000884371 ], [ -122.279479999961694, 37.801927000900356 ], [ -122.279780000192105, 37.801327000508159 ], [ -122.279979999454753, 37.800827000537808 ], [ -122.281179999697116, 37.80122700111464 ], [ -122.282279999447539, 37.801727000818126 ], [ -122.28357999968226, 37.802227000786608 ], [ -122.283479999471467, 37.802527000465659 ], [ -122.283380000397088, 37.803027000889379 ], [ -122.282979999604365, 37.804027000924407 ], [ -122.282280000447216, 37.805927000473986 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 970, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.27137999994676, 37.812427000329315 ], [ -122.270312999852081, 37.812315001010923 ], [ -122.269479999750217, 37.812227000313484 ], [ -122.268380000376766, 37.811927001011938 ], [ -122.267379999920053, 37.811827000928375 ], [ -122.267538999458097, 37.811561001093423 ], [ -122.267680000157256, 37.81132700066572 ], [ -122.26817999983983, 37.81052700056788 ], [ -122.268779999519396, 37.809627000469398 ], [ -122.269579999414901, 37.808327000735922 ], [ -122.270279999487585, 37.807227000908092 ], [ -122.271180000356495, 37.805727000902074 ], [ -122.271780000023199, 37.804827000709516 ], [ -122.272779999832323, 37.805327000534902 ], [ -122.273980000418348, 37.805827000719489 ], [ -122.275179999527808, 37.806227000992877 ], [ -122.27658000022825, 37.806727001031952 ], [ -122.276079999558988, 37.807427000514856 ], [ -122.275680000164641, 37.80802700041275 ], [ -122.275380000176995, 37.808627000258916 ], [ -122.274979999858047, 37.809227000307295 ], [ -122.274679999527805, 37.809727000650646 ], [ -122.274179999565604, 37.810627001061512 ], [ -122.273879999396669, 37.811127001008039 ], [ -122.273779999875543, 37.811327000585969 ], [ -122.273655999928053, 37.811616000641749 ], [ -122.273479999644209, 37.812027000763436 ], [ -122.273279999437221, 37.812727000570611 ], [ -122.27137999994676, 37.812427000329315 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 968, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.27047999969507, 37.804327000648499 ], [ -122.269379999916637, 37.803827001090148 ], [ -122.268179999549517, 37.803427000431185 ], [ -122.266979999785349, 37.802927000768037 ], [ -122.267379999858903, 37.802227000900544 ], [ -122.267780000236996, 37.801527000464432 ], [ -122.268179999775072, 37.800827000353912 ], [ -122.268579999609159, 37.800127000576062 ], [ -122.268979999739415, 37.799427001130908 ], [ -122.269479999566073, 37.798727000254296 ], [ -122.269980000068145, 37.798027000743474 ], [ -122.270179999457241, 37.79742700071052 ], [ -122.270380000250555, 37.797127000716301 ], [ -122.271705000262415, 37.797584000329934 ], [ -122.272280000071149, 37.79782700089072 ], [ -122.272779999825204, 37.798027000524158 ], [ -122.27398000009029, 37.798527000830909 ], [ -122.275279999540004, 37.798927000734921 ], [ -122.27507999990641, 37.799227000915806 ], [ -122.274680000394341, 37.799927000615689 ], [ -122.274180000339882, 37.800627001060462 ], [ -122.273780000490049, 37.801427000569142 ], [ -122.273379999796958, 37.802027000518024 ], [ -122.272979999406914, 37.802727000291974 ], [ -122.272479999726514, 37.803527000611965 ], [ -122.272079999656427, 37.804127000355315 ], [ -122.271780000023199, 37.804827000709516 ], [ -122.27047999969507, 37.804327000648499 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 967, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.283147999668088, 37.795832001072156 ], [ -122.282779999686682, 37.796428000637547 ], [ -122.281880000453725, 37.797828000620932 ], [ -122.281579999627894, 37.798328000942227 ], [ -122.281079999719523, 37.799127000557718 ], [ -122.281047000189957, 37.799176000403683 ], [ -122.28068000021085, 37.799727000591879 ], [ -122.280479999703431, 37.800027000963738 ], [ -122.280279999541349, 37.800427000521346 ], [ -122.279979999454753, 37.800827000537808 ], [ -122.279379999469882, 37.800527000645452 ], [ -122.278779999747655, 37.800327000846664 ], [ -122.278179999868385, 37.80012700070106 ], [ -122.277979999491578, 37.800027000426752 ], [ -122.276479999486071, 37.799427000861222 ], [ -122.276239000446537, 37.799327000901776 ], [ -122.275279999540004, 37.798927000734921 ], [ -122.27398000009029, 37.798527000830909 ], [ -122.272779999825204, 37.798027000524158 ], [ -122.272280000071149, 37.79782700089072 ], [ -122.271705000262415, 37.797584000329934 ], [ -122.270380000250555, 37.797127000716301 ], [ -122.270579999411751, 37.796827000350646 ], [ -122.270680000233213, 37.79662800070917 ], [ -122.271179999963095, 37.795928000254769 ], [ -122.271579999458908, 37.795328000785211 ], [ -122.272079999795508, 37.794528000299181 ], [ -122.272380000410593, 37.794128001127341 ], [ -122.272480000201284, 37.793928000280971 ], [ -122.273280000033608, 37.792628000774073 ], [ -122.27367999978199, 37.792328000748427 ], [ -122.2742799996863, 37.793328001030545 ], [ -122.274779999651741, 37.792928000727628 ], [ -122.275379999416941, 37.793228000668961 ], [ -122.27567999955194, 37.793528000302075 ], [ -122.276680000183106, 37.793928000264025 ], [ -122.277900999553225, 37.794586000816579 ], [ -122.280122000009925, 37.795619000633181 ], [ -122.280665000454448, 37.795594001103929 ], [ -122.281470000091687, 37.795832000562889 ], [ -122.28131999955346, 37.796116000269464 ], [ -122.28225700019469, 37.796459001034101 ], [ -122.283147999668088, 37.795832001072156 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 972, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.262179999733746, 37.813027000448976 ], [ -122.262576999606239, 37.812233000408185 ], [ -122.26277999941226, 37.811827000573196 ], [ -122.262880000182022, 37.811327000982104 ], [ -122.263980000467683, 37.811327000576995 ], [ -122.265079999680026, 37.811327000707088 ], [ -122.26617999959781, 37.811527000847768 ], [ -122.267379999920053, 37.811827000928375 ], [ -122.266879999465132, 37.81242700064746 ], [ -122.266179999504104, 37.813627000676014 ], [ -122.265779999812054, 37.814327000239565 ], [ -122.265280000242626, 37.815127000241844 ], [ -122.264779999937758, 37.815827000568234 ], [ -122.264279999665106, 37.816627000539242 ], [ -122.263679999546483, 37.817627000593461 ], [ -122.262779999663039, 37.818927000290294 ], [ -122.261680000118901, 37.820727001041703 ], [ -122.261679999552058, 37.820927001038378 ], [ -122.261279999789835, 37.821227000392895 ], [ -122.260879999814279, 37.822127000935971 ], [ -122.260679999543399, 37.822627001063204 ], [ -122.259280000510984, 37.824627000428904 ], [ -122.258080000039129, 37.824127000801859 ], [ -122.257279999741954, 37.823527001073685 ], [ -122.256580000179369, 37.823027000667238 ], [ -122.256379999906272, 37.822727001041727 ], [ -122.255880000190274, 37.82232700072052 ], [ -122.255279999947476, 37.821727000650831 ], [ -122.255180000036717, 37.82072700057342 ], [ -122.255080000307075, 37.820427000984814 ], [ -122.255180000287453, 37.820027000778957 ], [ -122.254979999538165, 37.8199270004406 ], [ -122.25464000007878, 37.81968400076358 ], [ -122.254379999824636, 37.819527001032689 ], [ -122.254579999562864, 37.819127000658817 ], [ -122.254079999902018, 37.818127000726228 ], [ -122.25367999973983, 37.817327000431327 ], [ -122.256680000093823, 37.815627001123367 ], [ -122.259480000522046, 37.81382700098397 ], [ -122.260179999449946, 37.813127000435266 ], [ -122.261580000250802, 37.812627000380054 ], [ -122.262179999733746, 37.813027000448976 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 904, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.209677999625924, 37.776628000469493 ], [ -122.20807800019476, 37.778228000782413 ], [ -122.20687800023272, 37.77952800106025 ], [ -122.206477999584166, 37.780028000970027 ], [ -122.206178000469279, 37.78032800106562 ], [ -122.205878000056657, 37.780628000362512 ], [ -122.205477999855944, 37.781028000902467 ], [ -122.205137000156142, 37.781418000663088 ], [ -122.204778000150625, 37.781828000368584 ], [ -122.20427800036569, 37.782328000719993 ], [ -122.203377999698489, 37.782728000492561 ], [ -122.202478000398742, 37.783228000819655 ], [ -122.201777999986859, 37.783628000683251 ], [ -122.200777999668233, 37.784128000712421 ], [ -122.200077999902888, 37.78442800090879 ], [ -122.199077999706063, 37.783428000706074 ], [ -122.198177999430754, 37.782828000326859 ], [ -122.196777999407487, 37.781528000514072 ], [ -122.195877999780663, 37.780828000314202 ], [ -122.197477999650602, 37.779628000553231 ], [ -122.19807799975824, 37.779228000599389 ], [ -122.198877999984376, 37.778628000404154 ], [ -122.199477999976267, 37.778128000946246 ], [ -122.200077999820621, 37.777728000514045 ], [ -122.201078000205413, 37.777028000268267 ], [ -122.200477999473648, 37.77652800072773 ], [ -122.199978000163554, 37.776028000263338 ], [ -122.199677999921889, 37.775728000578738 ], [ -122.199378000084693, 37.77552800051992 ], [ -122.198577999516644, 37.774828000472276 ], [ -122.198177999465955, 37.774328000960317 ], [ -122.196978000415555, 37.773228000355651 ], [ -122.195878000323958, 37.77242800064279 ], [ -122.198477999699094, 37.772328000256799 ], [ -122.1995780001523, 37.772328000266761 ], [ -122.200778000420087, 37.772328000443359 ], [ -122.201877999891693, 37.772328000603146 ], [ -122.202877999681036, 37.77232800085082 ], [ -122.205177999890125, 37.772328000758691 ], [ -122.206478000346934, 37.772328000871518 ], [ -122.207277999725846, 37.772328000252728 ], [ -122.207678000322346, 37.772528000249508 ], [ -122.208778000050842, 37.773028000657597 ], [ -122.209678000443475, 37.773328000543813 ], [ -122.210878000114235, 37.773828000423329 ], [ -122.211877999609044, 37.774328000727522 ], [ -122.210877999466859, 37.775328000351188 ], [ -122.210577999924766, 37.775628000332887 ], [ -122.209677999625924, 37.776628000469493 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 903, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.189278000112594, 37.772028000916102 ], [ -122.189778000223754, 37.771628000821281 ], [ -122.190278000060871, 37.771328000758331 ], [ -122.192378000388487, 37.771728000585433 ], [ -122.193078000339526, 37.771828000800689 ], [ -122.193877999982291, 37.772028000951657 ], [ -122.195878000323958, 37.77242800064279 ], [ -122.196978000415555, 37.773228000355651 ], [ -122.198177999465955, 37.774328000960317 ], [ -122.198577999516644, 37.774828000472276 ], [ -122.199378000084693, 37.77552800051992 ], [ -122.199677999921889, 37.775728000578738 ], [ -122.199978000163554, 37.776028000263338 ], [ -122.200477999473648, 37.77652800072773 ], [ -122.201078000205413, 37.777028000268267 ], [ -122.200077999820621, 37.777728000514045 ], [ -122.199477999976267, 37.778128000946246 ], [ -122.198877999984376, 37.778628000404154 ], [ -122.19807799975824, 37.779228000599389 ], [ -122.197477999650602, 37.779628000553231 ], [ -122.195877999780663, 37.780828000314202 ], [ -122.193577999399849, 37.782528000375052 ], [ -122.193077999582371, 37.781928000649053 ], [ -122.192677999507282, 37.781528000423044 ], [ -122.191978000114929, 37.78092800083369 ], [ -122.19057800026323, 37.77962800059575 ], [ -122.18987800024891, 37.779128000483446 ], [ -122.18957799973137, 37.778728000322936 ], [ -122.188778000438703, 37.778228000731843 ], [ -122.188277999796696, 37.777728000623576 ], [ -122.187877999614301, 37.777228000877116 ], [ -122.187177000412476, 37.776628000955732 ], [ -122.186676999617134, 37.776128000326892 ], [ -122.186077000266224, 37.775628000860692 ], [ -122.184976999677644, 37.77572800104582 ], [ -122.185376999448025, 37.77522800042636 ], [ -122.186476999504649, 37.774228000748714 ], [ -122.187378000281541, 37.773528001035586 ], [ -122.187983000403094, 37.773084000307776 ], [ -122.188477999823363, 37.772728000913837 ], [ -122.188778000270176, 37.772428000641774 ], [ -122.189278000112594, 37.772028000916102 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 907, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.19197800029275, 37.784927001120202 ], [ -122.192740999424117, 37.78512000108671 ], [ -122.19347799946955, 37.785327001017336 ], [ -122.196077999805681, 37.786427000598806 ], [ -122.195277999459705, 37.786827000890277 ], [ -122.194778000420314, 37.787127000287526 ], [ -122.193877999400883, 37.787527000564346 ], [ -122.192377999498234, 37.78822700096643 ], [ -122.191177999757443, 37.788827000410187 ], [ -122.190978000144156, 37.789027001033332 ], [ -122.190177999918859, 37.789427000510528 ], [ -122.189777999976229, 37.789627000441207 ], [ -122.188577999584098, 37.790127000913792 ], [ -122.188278000421633, 37.790427000366989 ], [ -122.187076999790648, 37.789827000286593 ], [ -122.186076999594846, 37.789427000630077 ], [ -122.18567700004138, 37.78992700030868 ], [ -122.185376999563758, 37.790027000315845 ], [ -122.184976999937504, 37.790527001135253 ], [ -122.184476999568261, 37.791027000552702 ], [ -122.184276999790512, 37.791227000428613 ], [ -122.183876999789547, 37.791727000950843 ], [ -122.184177000298476, 37.792127000443422 ], [ -122.185977000114605, 37.793127000886862 ], [ -122.185877000226441, 37.793427000320136 ], [ -122.185376999430602, 37.794827000448251 ], [ -122.185876999900074, 37.795527001019515 ], [ -122.184076999425642, 37.797227000693688 ], [ -122.183877000448732, 37.797327000578363 ], [ -122.180976999919224, 37.794727000734518 ], [ -122.17997700029629, 37.793327000296848 ], [ -122.179776999727864, 37.792927000637434 ], [ -122.179676999820799, 37.791927000325941 ], [ -122.179876999392775, 37.790427001013356 ], [ -122.179676999552129, 37.790127001059872 ], [ -122.179577000000194, 37.789927000491659 ], [ -122.178476999667225, 37.78882700056684 ], [ -122.178177000511127, 37.788627001055382 ], [ -122.177876999715977, 37.788227000683612 ], [ -122.17717700050153, 37.786827001046959 ], [ -122.177577000370235, 37.785627000762098 ], [ -122.178077000323228, 37.784927000285833 ], [ -122.176676999717316, 37.783727000633746 ], [ -122.175676999507644, 37.783027000909357 ], [ -122.174476999870052, 37.782127000969346 ], [ -122.173576999710249, 37.781527000974066 ], [ -122.172677000449568, 37.780428001083749 ], [ -122.173877000160886, 37.781027000504046 ], [ -122.175271999551327, 37.781758000770729 ], [ -122.176277000292828, 37.782527001006734 ], [ -122.178077000263642, 37.783227001034966 ], [ -122.17892200018531, 37.783526000852049 ], [ -122.179976999493874, 37.783727000634961 ], [ -122.180877000274378, 37.783727000656427 ], [ -122.182299000129476, 37.783746001105634 ], [ -122.183377000181721, 37.783727001074602 ], [ -122.18573000035515, 37.783870000951453 ], [ -122.187877999466693, 37.784027001014863 ], [ -122.188969999689562, 37.784269000724457 ], [ -122.189678000310707, 37.784427000403845 ], [ -122.19197800029275, 37.784927001120202 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 911, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.185376999549177, 37.80942700071143 ], [ -122.183577000473605, 37.809527000823529 ], [ -122.180776999803442, 37.808227000241281 ], [ -122.179676999555312, 37.806727001036634 ], [ -122.178876999716593, 37.805027000500701 ], [ -122.178476999751652, 37.803627000601288 ], [ -122.177477000057351, 37.803027000722707 ], [ -122.176577000301521, 37.803727000965431 ], [ -122.175277000530173, 37.803227000243425 ], [ -122.175677000170438, 37.802327000628303 ], [ -122.172507000463526, 37.800774000604299 ], [ -122.171784000300462, 37.800420000690259 ], [ -122.170776999694027, 37.799927000473147 ], [ -122.171177000359179, 37.798727001029526 ], [ -122.171276999682121, 37.796327000666807 ], [ -122.171820000038736, 37.79572300023905 ], [ -122.172176999467951, 37.795327000552938 ], [ -122.173276999816665, 37.795727000356848 ], [ -122.173976999883394, 37.7967270009188 ], [ -122.174356000086718, 37.796658000938308 ], [ -122.175076999400403, 37.796527000878484 ], [ -122.17526800042171, 37.796118000703835 ], [ -122.175777000302205, 37.795027000546924 ], [ -122.177177000106013, 37.794327001115889 ], [ -122.179243999563852, 37.795732001004943 ], [ -122.179677000219741, 37.796027000492174 ], [ -122.180876000502181, 37.796183001115295 ], [ -122.181976999681964, 37.796327000517792 ], [ -122.182177000518621, 37.796727000821129 ], [ -122.182977000482097, 37.797727000771879 ], [ -122.184777000148259, 37.798427000500183 ], [ -122.185176999738019, 37.798427000843937 ], [ -122.186476999921979, 37.799527000263566 ], [ -122.188355000326752, 37.801443000524898 ], [ -122.188654000092853, 37.801748000806164 ], [ -122.191278000132925, 37.804427000952316 ], [ -122.194777999706091, 37.807727000457561 ], [ -122.195277999431028, 37.808327000256405 ], [ -122.19787800003526, 37.810427001022305 ], [ -122.197477999506489, 37.810627000738442 ], [ -122.196678000458732, 37.810827000999922 ], [ -122.194878000073359, 37.810527000663726 ], [ -122.194477999712916, 37.810527000514661 ], [ -122.193077999656012, 37.810027000358723 ], [ -122.192277999600194, 37.809627000926966 ], [ -122.189377999647817, 37.809427000788553 ], [ -122.185376999549177, 37.80942700071143 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 885, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.135575999943185, 37.770428001102125 ], [ -122.136376000449104, 37.770128000335369 ], [ -122.136747000242252, 37.76999700024944 ], [ -122.138076000372919, 37.769528000933668 ], [ -122.142776000143726, 37.77352800076325 ], [ -122.143476000448217, 37.773228000435438 ], [ -122.145102000430597, 37.77239400029849 ], [ -122.14592300016109, 37.771973001049354 ], [ -122.147376000021055, 37.771228000950799 ], [ -122.150175999411232, 37.769828000496709 ], [ -122.150975999570647, 37.769928001000274 ], [ -122.154176000052018, 37.772128000614636 ], [ -122.155076000336791, 37.772228000762254 ], [ -122.155975999420704, 37.771928000555441 ], [ -122.156575999629311, 37.771528000412225 ], [ -122.15777600007597, 37.772628000739374 ], [ -122.159353999721631, 37.773556000661024 ], [ -122.159476999995604, 37.773628000625088 ], [ -122.162276999687748, 37.774928000580793 ], [ -122.162368000175519, 37.774971000520729 ], [ -122.16437700047679, 37.775928000758562 ], [ -122.165877000328123, 37.776828000467496 ], [ -122.166300999507129, 37.777040001049293 ], [ -122.166477000332435, 37.777128000869041 ], [ -122.167415999996635, 37.777645000899554 ], [ -122.168371999727555, 37.778172000713809 ], [ -122.170489999891345, 37.779339000412037 ], [ -122.171119000121607, 37.77968600032586 ], [ -122.171377000045908, 37.779828000533549 ], [ -122.172677000449568, 37.780428001083749 ], [ -122.173576999710249, 37.781527000974066 ], [ -122.174476999870052, 37.782127000969346 ], [ -122.175676999507644, 37.783027000909357 ], [ -122.176676999717316, 37.783727000633746 ], [ -122.178077000323228, 37.784927000285833 ], [ -122.177577000370235, 37.785627000762098 ], [ -122.17717700050153, 37.786827001046959 ], [ -122.177876999715977, 37.788227000683612 ], [ -122.178177000511127, 37.788627001055382 ], [ -122.178476999667225, 37.78882700056684 ], [ -122.179577000000194, 37.789927000491659 ], [ -122.179676999552129, 37.790127001059872 ], [ -122.179876999392775, 37.790427001013356 ], [ -122.179676999820799, 37.791927000325941 ], [ -122.179776999727864, 37.792927000637434 ], [ -122.17997700029629, 37.793327000296848 ], [ -122.180976999919224, 37.794727000734518 ], [ -122.183877000448732, 37.797327000578363 ], [ -122.184576999940404, 37.797927001113898 ], [ -122.185176999738019, 37.798427000843937 ], [ -122.184777000148259, 37.798427000500183 ], [ -122.182977000482097, 37.797727000771879 ], [ -122.182177000518621, 37.796727000821129 ], [ -122.181976999681964, 37.796327000517792 ], [ -122.180876000502181, 37.796183001115295 ], [ -122.179677000219741, 37.796027000492174 ], [ -122.179243999563852, 37.795732001004943 ], [ -122.177177000106013, 37.794327001115889 ], [ -122.175777000302205, 37.795027000546924 ], [ -122.17526800042171, 37.796118000703835 ], [ -122.175076999400403, 37.796527000878484 ], [ -122.174356000086718, 37.796658000938308 ], [ -122.173976999883394, 37.7967270009188 ], [ -122.173276999816665, 37.795727000356848 ], [ -122.172176999467951, 37.795327000552938 ], [ -122.171820000038736, 37.79572300023905 ], [ -122.171276999682121, 37.796327000666807 ], [ -122.171177000359179, 37.798727001029526 ], [ -122.170776999694027, 37.799927000473147 ], [ -122.168677000433419, 37.799227000624512 ], [ -122.168676999706079, 37.800527000621202 ], [ -122.168476999572988, 37.80082700074675 ], [ -122.168576999555114, 37.801327000603592 ], [ -122.169376999624404, 37.801227000387016 ], [ -122.169877000051656, 37.801827000264957 ], [ -122.170376999401569, 37.802427000694721 ], [ -122.170577000526421, 37.804827000422577 ], [ -122.167016000243621, 37.805698000729045 ], [ -122.16667700001689, 37.805627000941463 ], [ -122.166573999965294, 37.805600000384871 ], [ -122.164776999498358, 37.805127000911178 ], [ -122.164476999906668, 37.804427000929152 ], [ -122.164733000505962, 37.804395000673509 ], [ -122.166076999507339, 37.804227000743118 ], [ -122.165576999906847, 37.80392700039333 ], [ -122.165566999873576, 37.803797000512674 ], [ -122.165556999957303, 37.803425000805653 ], [ -122.165557000276451, 37.803006000814449 ], [ -122.165587999648253, 37.802607001120634 ], [ -122.165163000311509, 37.802286000944314 ], [ -122.165264000228092, 37.802080000741391 ], [ -122.164949999858422, 37.801823000489328 ], [ -122.164930000052124, 37.801767000873632 ], [ -122.16493000047771, 37.801680000537218 ], [ -122.165024000026335, 37.801298000700719 ], [ -122.164981999440286, 37.801234000263385 ], [ -122.164377000296767, 37.800327000571897 ], [ -122.164477000368407, 37.799327001078645 ], [ -122.164576999415232, 37.7987270004678 ], [ -122.163077000297079, 37.798927001084465 ], [ -122.163176999541818, 37.79962700051388 ], [ -122.162677000374927, 37.800027000549726 ], [ -122.161869999629602, 37.799934001003322 ], [ -122.160077000047949, 37.799727000612528 ], [ -122.158576999433208, 37.798127000647206 ], [ -122.15927699953653, 37.797427000413904 ], [ -122.158576999599745, 37.796927000744923 ], [ -122.157875999934618, 37.797327000347508 ], [ -122.15687600042439, 37.796827000739867 ], [ -122.15687600009646, 37.796427000753631 ], [ -122.151476000018107, 37.796327000839369 ], [ -122.151175999716756, 37.792327001087656 ], [ -122.146276000383565, 37.79222700103228 ], [ -122.14551999973007, 37.791503001073259 ], [ -122.143876000129069, 37.789927000442553 ], [ -122.142875999472068, 37.790727000313574 ], [ -122.141676000407543, 37.789827000367296 ], [ -122.1435760001971, 37.787027001004454 ], [ -122.135075999719248, 37.778027000876861 ], [ -122.134375999706734, 37.778327000236871 ], [ -122.133676000448347, 37.777527000706492 ], [ -122.134276000017223, 37.777127000848608 ], [ -122.132376000337104, 37.775027000243469 ], [ -122.130375999558311, 37.772128000976537 ], [ -122.129389000127915, 37.771049000723032 ], [ -122.129976000383721, 37.771028000778081 ], [ -122.130668999584245, 37.770985000541017 ], [ -122.130975999429637, 37.770928001046123 ], [ -122.13131000034177, 37.770924000609519 ], [ -122.132256000178003, 37.771031000644527 ], [ -122.133375999966034, 37.771228000420116 ], [ -122.134375999861092, 37.771228000716306 ], [ -122.135575999943185, 37.770428001102125 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 886, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.168371999727555, 37.778172000713809 ], [ -122.167415999996635, 37.777645000899554 ], [ -122.166477000332435, 37.777128000869041 ], [ -122.166300999507129, 37.777040001049293 ], [ -122.165877000328123, 37.776828000467496 ], [ -122.16437700047679, 37.775928000758562 ], [ -122.162368000175519, 37.774971000520729 ], [ -122.162276999687748, 37.774928000580793 ], [ -122.159476999995604, 37.773628000625088 ], [ -122.159353999721631, 37.773556000661024 ], [ -122.15777600007597, 37.772628000739374 ], [ -122.15707599972184, 37.770928000691896 ], [ -122.156376000473912, 37.770528000734174 ], [ -122.155875999776327, 37.770028000736694 ], [ -122.154676000291133, 37.768228000993034 ], [ -122.154975999759486, 37.768028000832885 ], [ -122.155876000223643, 37.767728000946846 ], [ -122.156676000295434, 37.767528000709106 ], [ -122.157476000500935, 37.768628000985728 ], [ -122.15807600044495, 37.767628000290351 ], [ -122.157876000128979, 37.766328000716157 ], [ -122.160077000279927, 37.766528001133636 ], [ -122.15837699981968, 37.765628000682703 ], [ -122.158827000224804, 37.765423000499688 ], [ -122.159476999739397, 37.765128000858731 ], [ -122.160776999807254, 37.765428000880583 ], [ -122.16137700018497, 37.764928000388721 ], [ -122.160976999617091, 37.764228000678514 ], [ -122.161377000050777, 37.764128000418701 ], [ -122.16267700017336, 37.763528000649451 ], [ -122.16377700023628, 37.763028000775954 ], [ -122.164376999404766, 37.762728000700918 ], [ -122.165276999887524, 37.762328000856677 ], [ -122.166277999587919, 37.763693000746024 ], [ -122.166377000103111, 37.763828000556671 ], [ -122.166677000390848, 37.764228000434478 ], [ -122.167276999900309, 37.764928001097744 ], [ -122.167877000417377, 37.765628000487354 ], [ -122.168476999903305, 37.766228000942192 ], [ -122.169277000444055, 37.766728000251902 ], [ -122.169877000253919, 37.767228000432766 ], [ -122.170676999758541, 37.767828000495271 ], [ -122.170776999455157, 37.767928000654642 ], [ -122.171376999478298, 37.768328000969376 ], [ -122.172076999535207, 37.76872800056308 ], [ -122.170977000269744, 37.769528000757745 ], [ -122.169976999576576, 37.770428000275963 ], [ -122.169777000011777, 37.770928000584959 ], [ -122.169076999818827, 37.772128000769285 ], [ -122.16887700039932, 37.772328000412479 ], [ -122.169777000378076, 37.773928001069983 ], [ -122.169577000163059, 37.774128000920641 ], [ -122.169977000364128, 37.77472800043973 ], [ -122.170577000507492, 37.775328000539346 ], [ -122.1710770005201, 37.776128000245173 ], [ -122.171576999804188, 37.776928000471969 ], [ -122.172076999736674, 37.77762800104572 ], [ -122.172677000206775, 37.778228000267397 ], [ -122.173276999429348, 37.778528000392932 ], [ -122.173777000202676, 37.778628000767235 ], [ -122.174777000082045, 37.779028000919361 ], [ -122.175076999547713, 37.779928000469496 ], [ -122.173977000523706, 37.780228000573224 ], [ -122.172676999572218, 37.780028000497822 ], [ -122.171377000045908, 37.779828000533549 ], [ -122.171119000121607, 37.77968600032586 ], [ -122.170489999891345, 37.779339000412037 ], [ -122.168371999727555, 37.778172000713809 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 900, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.182077000022119, 37.769228000710164 ], [ -122.181876999768988, 37.770028000647642 ], [ -122.181676999584766, 37.770828001020597 ], [ -122.181576999982624, 37.771428000833296 ], [ -122.182076999423359, 37.772128000430698 ], [ -122.179876999408066, 37.773728000937645 ], [ -122.17947699949778, 37.773328000942925 ], [ -122.178677000255433, 37.772828000493732 ], [ -122.177977000003125, 37.772328000972223 ], [ -122.176577000344551, 37.770928000798236 ], [ -122.175576999938755, 37.770328000775045 ], [ -122.173177000145344, 37.769328000977218 ], [ -122.172076999535207, 37.76872800056308 ], [ -122.173477000217233, 37.767928000765544 ], [ -122.175676999392422, 37.766328000888826 ], [ -122.176676999578845, 37.765728000797182 ], [ -122.176876999436274, 37.765628000546805 ], [ -122.177177000409031, 37.765428001127873 ], [ -122.177876999763882, 37.765028000926719 ], [ -122.178576999752963, 37.764528000572462 ], [ -122.17917700016703, 37.764128000242081 ], [ -122.179477000212003, 37.76392800026052 ], [ -122.179977000262141, 37.763628001121447 ], [ -122.1804769996061, 37.763228000246244 ], [ -122.1812770005142, 37.762728000254633 ], [ -122.182076999700627, 37.762228001036185 ], [ -122.182676999715767, 37.761928001090801 ], [ -122.183076999466749, 37.761628000689889 ], [ -122.183976999759764, 37.761028000529144 ], [ -122.184776999847728, 37.760528000698407 ], [ -122.187277999589412, 37.758828000996239 ], [ -122.187972999566128, 37.759146000518747 ], [ -122.188277999561151, 37.759328001124054 ], [ -122.188809000049091, 37.759595000448705 ], [ -122.18907800038609, 37.759728000544165 ], [ -122.189578000051668, 37.759928000960251 ], [ -122.190377999586659, 37.760328000580266 ], [ -122.191078000164779, 37.76062800092398 ], [ -122.191977999525761, 37.761128000695123 ], [ -122.192877999637915, 37.76162800082146 ], [ -122.190178000076969, 37.763328000597696 ], [ -122.189877999807365, 37.763728001109769 ], [ -122.189278000303176, 37.764228000887755 ], [ -122.18737800018225, 37.765428000632703 ], [ -122.184476999778198, 37.76722800031569 ], [ -122.18287699974897, 37.768328000697437 ], [ -122.18237700021966, 37.769328001055342 ], [ -122.182077000022119, 37.769228000710164 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 899, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.198177999954808, 37.765728000715903 ], [ -122.19737799983929, 37.766228001132617 ], [ -122.196478000146129, 37.766828000604448 ], [ -122.195677999410137, 37.767428000594087 ], [ -122.195078000439509, 37.767928000804538 ], [ -122.194378000033453, 37.768428001036362 ], [ -122.19397799944683, 37.768728000744431 ], [ -122.193478000361537, 37.769028000571467 ], [ -122.19327799993826, 37.769228000620423 ], [ -122.192677999850758, 37.769528000934756 ], [ -122.192178000106196, 37.76992800099886 ], [ -122.191378000229548, 37.770528000915661 ], [ -122.190778000247761, 37.770928000833159 ], [ -122.190278000060871, 37.771328000758331 ], [ -122.189778000223754, 37.771628000821281 ], [ -122.189278000112594, 37.772028000916102 ], [ -122.188778000270176, 37.772428000641774 ], [ -122.188477999823363, 37.772728000913837 ], [ -122.187983000403094, 37.773084000307776 ], [ -122.187378000281541, 37.773528001035586 ], [ -122.186476999504649, 37.774228000748714 ], [ -122.185376999448025, 37.77522800042636 ], [ -122.184976999677644, 37.77572800104582 ], [ -122.184076999458213, 37.776128000609084 ], [ -122.183276999481336, 37.775728000983101 ], [ -122.182376999854242, 37.775228000304686 ], [ -122.181377000385638, 37.774728001080994 ], [ -122.180776999481068, 37.77432800024485 ], [ -122.179876999408066, 37.773728000937645 ], [ -122.182076999423359, 37.772128000430698 ], [ -122.181576999982624, 37.771428000833296 ], [ -122.181676999584766, 37.770828001020597 ], [ -122.181876999768988, 37.770028000647642 ], [ -122.182077000022119, 37.769228000710164 ], [ -122.18237700021966, 37.769328001055342 ], [ -122.18287699974897, 37.768328000697437 ], [ -122.184476999778198, 37.76722800031569 ], [ -122.18737800018225, 37.765428000632703 ], [ -122.189278000303176, 37.764228000887755 ], [ -122.189877999807365, 37.763728001109769 ], [ -122.190178000076969, 37.763328000597696 ], [ -122.192877999637915, 37.76162800082146 ], [ -122.193377999656818, 37.761828000479454 ], [ -122.193777999511241, 37.762028000716214 ], [ -122.194378000502567, 37.762328000342123 ], [ -122.194678000004842, 37.762428000968889 ], [ -122.195577999993304, 37.762828000670396 ], [ -122.195876000097513, 37.762964000714156 ], [ -122.196377999514809, 37.763228001111003 ], [ -122.197278000211298, 37.763628000483131 ], [ -122.198078000482596, 37.764028001131088 ], [ -122.198377999709564, 37.764228001046085 ], [ -122.198878000300439, 37.764428000863319 ], [ -122.19957799979916, 37.764828000972877 ], [ -122.198177999954808, 37.765728000715903 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 894, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.185545000324112, 37.758058000458554 ], [ -122.184976999645698, 37.757828000407706 ], [ -122.184777000472323, 37.757728000884242 ], [ -122.18430599968957, 37.757467000344207 ], [ -122.184076999981272, 37.757328000464121 ], [ -122.183477000407663, 37.757028000797924 ], [ -122.18267699962162, 37.756728000998933 ], [ -122.181777000386688, 37.756228000657906 ], [ -122.180577000447542, 37.755628001046112 ], [ -122.179577000205498, 37.755228000322653 ], [ -122.179076999478085, 37.754928000232731 ], [ -122.181476999479884, 37.753728001005356 ], [ -122.183876999533268, 37.752628000737232 ], [ -122.184676999931099, 37.752228000255585 ], [ -122.185076999905021, 37.752828000288638 ], [ -122.192077999931129, 37.749428000763317 ], [ -122.192278000356765, 37.749228000958574 ], [ -122.193677999391156, 37.74822800112964 ], [ -122.193978000090468, 37.748028001076399 ], [ -122.194405999672043, 37.748408000455214 ], [ -122.195778000239713, 37.749628001135754 ], [ -122.196778000458934, 37.750628000251425 ], [ -122.197977999581028, 37.751728000845802 ], [ -122.196477999428367, 37.752628000446542 ], [ -122.195677999740354, 37.752428001106132 ], [ -122.19527800024558, 37.751628000862937 ], [ -122.194977999663465, 37.751828000450494 ], [ -122.193177999589835, 37.753028000590568 ], [ -122.193677999466914, 37.753628000990822 ], [ -122.194278000117677, 37.754128000861193 ], [ -122.192578000019765, 37.755328000522496 ], [ -122.190777999959977, 37.756428000830653 ], [ -122.18897800016579, 37.757628000858858 ], [ -122.187277999589412, 37.758828000996239 ], [ -122.186293999825565, 37.75841700030918 ], [ -122.185545000324112, 37.758058000458554 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 877, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.176868999736598, 37.724793000381453 ], [ -122.17873900050752, 37.724731000924585 ], [ -122.179189000389641, 37.725660000858234 ], [ -122.180146999757639, 37.725581000785347 ], [ -122.180362000226722, 37.725563000572066 ], [ -122.180540000155119, 37.725421000282438 ], [ -122.180584000293535, 37.725385000522053 ], [ -122.181517000508464, 37.724638000611456 ], [ -122.181776999787274, 37.724629000645123 ], [ -122.182476999523018, 37.724629000967241 ], [ -122.182524000182227, 37.72465200023619 ], [ -122.18287699951766, 37.724829000524075 ], [ -122.183977000135627, 37.725929000322019 ], [ -122.183517999588716, 37.726659000718321 ], [ -122.18262499997131, 37.728078000950944 ], [ -122.182560000414028, 37.728182001064432 ], [ -122.182256000131119, 37.728666000647834 ], [ -122.181868000284993, 37.729284000676209 ], [ -122.181776999693156, 37.729429000638042 ], [ -122.180358000504228, 37.731756000620777 ], [ -122.180017000129098, 37.732315000419774 ], [ -122.179446999889791, 37.733250000847157 ], [ -122.179276999402518, 37.733529000460074 ], [ -122.179188000481943, 37.734505000486998 ], [ -122.179176999753608, 37.734629000550392 ], [ -122.179576999566819, 37.735429000601094 ], [ -122.17913400018675, 37.735075000525008 ], [ -122.179077000002167, 37.735029001020891 ], [ -122.178851999513213, 37.734804000630042 ], [ -122.178677000067978, 37.73462900033465 ], [ -122.177876999707834, 37.734029000370541 ], [ -122.177177000305406, 37.733429000873066 ], [ -122.176276999520752, 37.732629000265206 ], [ -122.17587699979822, 37.732129000800434 ], [ -122.175076999485086, 37.731429000670282 ], [ -122.174542000491826, 37.731047000983914 ], [ -122.174376999871342, 37.730929000803336 ], [ -122.174977000112534, 37.73092900075099 ], [ -122.174576999504211, 37.730629000583384 ], [ -122.174076999798729, 37.730229000479163 ], [ -122.17070099977073, 37.727674000461974 ], [ -122.170377000064065, 37.727429000244648 ], [ -122.170576999748533, 37.727429000697413 ], [ -122.170951999589633, 37.727483000582268 ], [ -122.171119999871692, 37.727499000404443 ], [ -122.171575000206388, 37.727425000949616 ], [ -122.171807999418021, 37.727271000300497 ], [ -122.172000000307065, 37.72704000089 ], [ -122.172162000070969, 37.726834000956522 ], [ -122.172369000014669, 37.726571000753104 ], [ -122.172464999664243, 37.726449000370017 ], [ -122.172525999537442, 37.726372000798854 ], [ -122.172626999398361, 37.726372000397838 ], [ -122.172823999882127, 37.726354000283372 ], [ -122.17373899953661, 37.726275000305769 ], [ -122.174031999666568, 37.726173000313182 ], [ -122.174194000006793, 37.726019000310664 ], [ -122.174557999744223, 37.725712000753141 ], [ -122.174875999562587, 37.725377000693001 ], [ -122.174976999500572, 37.725329000893439 ], [ -122.175777000045755, 37.72482900088665 ], [ -122.176868999736598, 37.724793000381453 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 892, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.176876999782863, 37.740729001081739 ], [ -122.177776999622708, 37.740029001121719 ], [ -122.178377000237219, 37.739529000563969 ], [ -122.179377000358627, 37.738729001067298 ], [ -122.179676999693498, 37.738429001060027 ], [ -122.179876999698109, 37.738329000307097 ], [ -122.180177000225584, 37.738129000794245 ], [ -122.180776999850522, 37.73762900032213 ], [ -122.181477000344131, 37.737129000788627 ], [ -122.18607700021029, 37.741129001124911 ], [ -122.190678000012795, 37.745129000562052 ], [ -122.190378000310147, 37.745429000378152 ], [ -122.188977999765925, 37.746329000341376 ], [ -122.188777999571784, 37.746529000947568 ], [ -122.187078000122014, 37.747528000486291 ], [ -122.186377000219522, 37.748028000907524 ], [ -122.18547699966534, 37.748428001087497 ], [ -122.184977000043659, 37.748028000709816 ], [ -122.184876999901633, 37.747828000726756 ], [ -122.184476999540223, 37.747328000413809 ], [ -122.183976999936988, 37.746728000542802 ], [ -122.183277000144486, 37.745829000703338 ], [ -122.18137700044015, 37.747028000589715 ], [ -122.1800769995873, 37.747528000566284 ], [ -122.178477000149812, 37.748328000244108 ], [ -122.176877000303506, 37.749128000457958 ], [ -122.174998999714006, 37.749993000838629 ], [ -122.174877000082247, 37.749828000251263 ], [ -122.174557000229669, 37.74936700075353 ], [ -122.17437700038829, 37.749128000967374 ], [ -122.174025000498631, 37.7486580007239 ], [ -122.173724000298918, 37.748224000876149 ], [ -122.173576999850042, 37.74792800103112 ], [ -122.173076999545572, 37.747328000425256 ], [ -122.172477000232846, 37.746528000819474 ], [ -122.171976999453932, 37.745828001086082 ], [ -122.171476999824094, 37.745228000824724 ], [ -122.1709769999309, 37.74442900101495 ], [ -122.170377000210138, 37.743729000297954 ], [ -122.172176999894418, 37.743029000477399 ], [ -122.1728769999104, 37.742629000583968 ], [ -122.173877000399244, 37.742129000547607 ], [ -122.174776999425433, 37.741729001040319 ], [ -122.175677000130932, 37.741329000907896 ], [ -122.176476999783262, 37.740929000895363 ], [ -122.176876999782863, 37.740729001081739 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 893, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.181476999479884, 37.753728001005356 ], [ -122.179076999478085, 37.754928000232731 ], [ -122.178476999765493, 37.75462800040664 ], [ -122.178177000233347, 37.754328000691196 ], [ -122.177876999484894, 37.753928000485885 ], [ -122.177665999400972, 37.753557000823228 ], [ -122.177414000067216, 37.753209000713774 ], [ -122.177176999585754, 37.75282800076404 ], [ -122.176776999968212, 37.752328000989117 ], [ -122.176476999904324, 37.751928000769588 ], [ -122.176290999431856, 37.751717000704431 ], [ -122.176056999820759, 37.751377000849487 ], [ -122.175912999712835, 37.751206000777799 ], [ -122.175576999583981, 37.750728000866566 ], [ -122.175392000119601, 37.750517000960741 ], [ -122.174998999714006, 37.749993000838629 ], [ -122.176877000303506, 37.749128000457958 ], [ -122.178477000149812, 37.748328000244108 ], [ -122.1800769995873, 37.747528000566284 ], [ -122.18137700044015, 37.747028000589715 ], [ -122.183277000144486, 37.745829000703338 ], [ -122.183976999936988, 37.746728000542802 ], [ -122.184476999540223, 37.747328000413809 ], [ -122.184876999901633, 37.747828000726756 ], [ -122.184977000043659, 37.748028000709816 ], [ -122.18547699966534, 37.748428001087497 ], [ -122.186377000219522, 37.748028000907524 ], [ -122.187078000122014, 37.747528000486291 ], [ -122.188777999571784, 37.746529000947568 ], [ -122.188977999765925, 37.746329000341376 ], [ -122.190378000310147, 37.745429000378152 ], [ -122.190678000012795, 37.745129000562052 ], [ -122.193978000090468, 37.748028001076399 ], [ -122.193677999391156, 37.74822800112964 ], [ -122.192278000356765, 37.749228000958574 ], [ -122.192077999931129, 37.749428000763317 ], [ -122.185076999905021, 37.752828000288638 ], [ -122.184676999931099, 37.752228000255585 ], [ -122.183876999533268, 37.752628000737232 ], [ -122.181476999479884, 37.753728001005356 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 888, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.166977000208149, 37.761328000889108 ], [ -122.166376999894752, 37.76182800077536 ], [ -122.165276999887524, 37.762328000856677 ], [ -122.164676999390508, 37.76172800110659 ], [ -122.163977000256565, 37.761128000941987 ], [ -122.163576999653458, 37.760628000511829 ], [ -122.16217700028028, 37.756628001018221 ], [ -122.161877000300095, 37.755928000625012 ], [ -122.161577000177999, 37.755228000313814 ], [ -122.160677000341025, 37.752428000712179 ], [ -122.162077000105185, 37.751728000475815 ], [ -122.163177000441152, 37.751228000801262 ], [ -122.164176999665543, 37.750728000829504 ], [ -122.165177000191335, 37.750228000386073 ], [ -122.166289999653571, 37.749579000283681 ], [ -122.166377000008097, 37.749528000689388 ], [ -122.16717699987727, 37.749128001025525 ], [ -122.168377000100051, 37.750828001122308 ], [ -122.167276999867241, 37.751228000306916 ], [ -122.167977000427896, 37.752128000429202 ], [ -122.167676999730404, 37.752328000439292 ], [ -122.168277000018492, 37.752928000926083 ], [ -122.16867700051985, 37.75362800064196 ], [ -122.169176999638339, 37.754328000940454 ], [ -122.169620000018867, 37.754957001067474 ], [ -122.170065000196445, 37.755574001007012 ], [ -122.170577000424842, 37.756328000261696 ], [ -122.171112999891534, 37.757050000327936 ], [ -122.171657000338172, 37.75787800056667 ], [ -122.17217700004872, 37.758728000805164 ], [ -122.170576999751745, 37.759528001032585 ], [ -122.169177000167565, 37.760228000992413 ], [ -122.168776999661489, 37.760428000458262 ], [ -122.167576999956339, 37.761028000533706 ], [ -122.166977000208149, 37.761328000889108 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 887, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.16137700018497, 37.764928000388721 ], [ -122.160776999807254, 37.765428000880583 ], [ -122.159476999739397, 37.765128000858731 ], [ -122.158827000224804, 37.765423000499688 ], [ -122.15837699981968, 37.765628000682703 ], [ -122.160077000279927, 37.766528001133636 ], [ -122.157876000128979, 37.766328000716157 ], [ -122.15807600044495, 37.767628000290351 ], [ -122.157476000500935, 37.768628000985728 ], [ -122.156676000295434, 37.767528000709106 ], [ -122.155876000223643, 37.767728000946846 ], [ -122.154975999759486, 37.768028000832885 ], [ -122.154676000291133, 37.768228000993034 ], [ -122.155875999776327, 37.770028000736694 ], [ -122.156376000473912, 37.770528000734174 ], [ -122.15707599972184, 37.770928000691896 ], [ -122.15777600007597, 37.772628000739374 ], [ -122.156575999629311, 37.771528000412225 ], [ -122.155376000138716, 37.77022800096055 ], [ -122.154576000098047, 37.769328000728208 ], [ -122.152275999563457, 37.765428000433701 ], [ -122.149176000483379, 37.761228000362557 ], [ -122.148575999560066, 37.76022800081801 ], [ -122.147888000253204, 37.758468000649444 ], [ -122.147875999793982, 37.758228000826634 ], [ -122.147921000328722, 37.757914000750269 ], [ -122.148035000210683, 37.757566000339885 ], [ -122.148197999818308, 37.757128000236222 ], [ -122.148458999393839, 37.756690000500669 ], [ -122.148851000141931, 37.756175000821969 ], [ -122.150119999611036, 37.754802000941183 ], [ -122.150376000350619, 37.754528000432408 ], [ -122.150873000311719, 37.753689000435344 ], [ -122.151175999861252, 37.753128000464081 ], [ -122.151876000080321, 37.753428000453148 ], [ -122.152175999739057, 37.753628000403452 ], [ -122.153175999603747, 37.752828000257225 ], [ -122.153275999855722, 37.752528000784253 ], [ -122.153475999801273, 37.751828001029594 ], [ -122.154375999903493, 37.751128000725437 ], [ -122.156575999780372, 37.752828000417495 ], [ -122.1574759994175, 37.753228000960789 ], [ -122.158376999395642, 37.753228000696886 ], [ -122.159477000011933, 37.752928000897569 ], [ -122.160677000341025, 37.752428000712179 ], [ -122.161577000177999, 37.755228000313814 ], [ -122.161877000300095, 37.755928000625012 ], [ -122.16217700028028, 37.756628001018221 ], [ -122.163576999653458, 37.760628000511829 ], [ -122.163977000256565, 37.761128000941987 ], [ -122.164676999390508, 37.76172800110659 ], [ -122.165276999887524, 37.762328000856677 ], [ -122.164376999404766, 37.762728000700918 ], [ -122.16377700023628, 37.763028000775954 ], [ -122.16267700017336, 37.763528000649451 ], [ -122.161377000050777, 37.764128000418701 ], [ -122.160976999617091, 37.764228000678514 ], [ -122.16137700018497, 37.764928000388721 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 847, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.08667399987381, 37.690830000982245 ], [ -122.089273999452459, 37.690730000373179 ], [ -122.091073999806582, 37.690730000512879 ], [ -122.092207000420231, 37.690572000723904 ], [ -122.093774000193221, 37.690330001091304 ], [ -122.09332999996407, 37.690714000252697 ], [ -122.091674000304153, 37.691730001061586 ], [ -122.090374000247522, 37.692230000470104 ], [ -122.089573999604326, 37.69273000108641 ], [ -122.087073999480651, 37.693830000963743 ], [ -122.086373999549579, 37.694130000942224 ], [ -122.085374000424068, 37.694530000945889 ], [ -122.084773999553533, 37.694730000762185 ], [ -122.08397400004371, 37.694830000442458 ], [ -122.082974000150628, 37.695130000594283 ], [ -122.082074000064011, 37.695330000968021 ], [ -122.081173999782706, 37.695430000710893 ], [ -122.080874000071233, 37.695430000589049 ], [ -122.080173999634866, 37.695430000331413 ], [ -122.078273999425321, 37.695430000575854 ], [ -122.077674000124446, 37.695430001032939 ], [ -122.077173999602849, 37.695430000574603 ], [ -122.076173999737051, 37.695430000515358 ], [ -122.074774000499175, 37.695430000426278 ], [ -122.073773000368249, 37.695430000992545 ], [ -122.071073000061105, 37.694630000502322 ], [ -122.070173000085759, 37.694330001072501 ], [ -122.06887299995411, 37.69383000043981 ], [ -122.068072999978938, 37.693530000437541 ], [ -122.067172999411525, 37.693230000713953 ], [ -122.064772999510893, 37.692430000437362 ], [ -122.064073000239802, 37.692230000342938 ], [ -122.063273000470531, 37.692030000297315 ], [ -122.064395999401796, 37.691663000921835 ], [ -122.065973000308048, 37.691330000628341 ], [ -122.068072999513504, 37.691130000598626 ], [ -122.069360000239968, 37.691067000578791 ], [ -122.072172999615773, 37.690930000921362 ], [ -122.073672999434663, 37.690830000426992 ], [ -122.076950000309338, 37.690830000990424 ], [ -122.079563000217235, 37.690830001031216 ], [ -122.08198499945992, 37.690830000263738 ], [ -122.08667399987381, 37.690830000982245 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 840, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.072273000507252, 37.681631000664083 ], [ -122.072014999441279, 37.680986000478278 ], [ -122.072256999695284, 37.680929000421536 ], [ -122.072672999534703, 37.680831000418834 ], [ -122.073572999981621, 37.682231000942174 ], [ -122.07377299993216, 37.682131000786001 ], [ -122.074173000491669, 37.681931000348712 ], [ -122.074473999561107, 37.680931000345652 ], [ -122.075153999782842, 37.67986200092043 ], [ -122.075174000089191, 37.679831000413081 ], [ -122.075773999796922, 37.679131000267226 ], [ -122.076774000216162, 37.67883100082242 ], [ -122.077274000518614, 37.679931000885965 ], [ -122.078173999706976, 37.679731000565788 ], [ -122.078873999529776, 37.680331000936874 ], [ -122.079274000479955, 37.680031000761339 ], [ -122.079673999975725, 37.678131000718885 ], [ -122.080221000122989, 37.678085000366764 ], [ -122.080874000055914, 37.678031000736866 ], [ -122.081774000518109, 37.677631000884389 ], [ -122.081973999768664, 37.677531001031035 ], [ -122.082774000139807, 37.677031000558763 ], [ -122.082973999835033, 37.676931000789523 ], [ -122.083274000451794, 37.677431000549944 ], [ -122.084289999403609, 37.678689000983105 ], [ -122.085374000417502, 37.680031001122536 ], [ -122.086173999496836, 37.680631000309859 ], [ -122.086374000405286, 37.680831000327586 ], [ -122.086873999831113, 37.68113100094196 ], [ -122.087574000329852, 37.681731000440671 ], [ -122.087973999543109, 37.682131000771903 ], [ -122.089274000512418, 37.682831001058389 ], [ -122.090173999993368, 37.683630001060187 ], [ -122.091974000400711, 37.684930000335136 ], [ -122.092873999722755, 37.685630000635584 ], [ -122.093673999791946, 37.686130001016139 ], [ -122.09617400026157, 37.687930000623965 ], [ -122.096106000362852, 37.687990000522007 ], [ -122.095373999866226, 37.688630000445073 ], [ -122.095031000339773, 37.688974000376312 ], [ -122.094474000140352, 37.689530000586402 ], [ -122.093774000193221, 37.690330001091304 ], [ -122.092207000420231, 37.690572000723904 ], [ -122.091073999806582, 37.690730000512879 ], [ -122.089273999452459, 37.690730000373179 ], [ -122.08667399987381, 37.690830000982245 ], [ -122.08198499945992, 37.690830000263738 ], [ -122.079563000217235, 37.690830001031216 ], [ -122.076950000309338, 37.690830000990424 ], [ -122.073672999434663, 37.690830000426992 ], [ -122.073772999990993, 37.690530000740047 ], [ -122.073672999841307, 37.689530000432804 ], [ -122.073673000474116, 37.689330000274687 ], [ -122.073673000294605, 37.688830000737873 ], [ -122.07367299947613, 37.688130000951801 ], [ -122.073673000030567, 37.686830000377611 ], [ -122.073772999414189, 37.686530000453985 ], [ -122.073673000417074, 37.684130000919566 ], [ -122.073673000365702, 37.68303000075931 ], [ -122.072873000344828, 37.683130000697659 ], [ -122.072273000507252, 37.681631000664083 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 870, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.161402999813632, 37.725729000735996 ], [ -122.16144299949751, 37.725729000468256 ], [ -122.16147600008081, 37.725729000874054 ], [ -122.162776999777108, 37.725629000515383 ], [ -122.163776999775436, 37.72572900076824 ], [ -122.164177000060135, 37.725729000262866 ], [ -122.165976999901872, 37.726029000423928 ], [ -122.16637699958045, 37.726029000567216 ], [ -122.167777000063097, 37.726129000868561 ], [ -122.170377000064065, 37.727429000244648 ], [ -122.17070099977073, 37.727674000461974 ], [ -122.174076999798729, 37.730229000479163 ], [ -122.174576999504211, 37.730629000583384 ], [ -122.174977000112534, 37.73092900075099 ], [ -122.174376999871342, 37.730929000803336 ], [ -122.173676999666853, 37.730729000613934 ], [ -122.170477000491388, 37.731029001110279 ], [ -122.170177000144236, 37.731129000471277 ], [ -122.169976999577926, 37.731129001088675 ], [ -122.169976999935969, 37.731829000458596 ], [ -122.171477000509668, 37.734329000297855 ], [ -122.166277000238281, 37.73672900082687 ], [ -122.165376999981802, 37.737129000707256 ], [ -122.165176999741149, 37.736829000566473 ], [ -122.164077000096896, 37.735329000273509 ], [ -122.16367699957884, 37.734729000557323 ], [ -122.163365000192243, 37.734357000278848 ], [ -122.163245000079684, 37.734144000779359 ], [ -122.162877000502263, 37.733629000542038 ], [ -122.162676999823248, 37.733429000540475 ], [ -122.162277000150581, 37.732829000498647 ], [ -122.161861999576189, 37.732332000988528 ], [ -122.161677000083515, 37.732029000963379 ], [ -122.161376000519837, 37.731629000583588 ], [ -122.160875999707244, 37.731029000749579 ], [ -122.16027599943493, 37.730229000292255 ], [ -122.159575999705268, 37.729229000347367 ], [ -122.158976000063291, 37.72862900041757 ], [ -122.158375999456609, 37.727829000973287 ], [ -122.157975999870814, 37.727029000442165 ], [ -122.15747600052029, 37.726329000395047 ], [ -122.158675999398184, 37.725029000504669 ], [ -122.159476000073511, 37.724929001100691 ], [ -122.161026000313697, 37.725704000933533 ], [ -122.161075999877909, 37.725729000324868 ], [ -122.161402999813632, 37.725729000735996 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 871, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.153767999585867, 37.727579000906914 ], [ -122.151875999660135, 37.728029000545483 ], [ -122.149776000041101, 37.72792900024114 ], [ -122.148576000336277, 37.728729001025087 ], [ -122.148076000065231, 37.727529000633119 ], [ -122.147675999642289, 37.726729000796482 ], [ -122.147276000244119, 37.725829000462689 ], [ -122.146976000167413, 37.724829000397463 ], [ -122.146575999465497, 37.724029001101982 ], [ -122.146176000072543, 37.723129000372559 ], [ -122.1457759999345, 37.722229000896959 ], [ -122.145375999748751, 37.721229000829723 ], [ -122.145075999499113, 37.720229000786453 ], [ -122.14847600003327, 37.719229001110207 ], [ -122.147876000292314, 37.718829000596983 ], [ -122.149875999972849, 37.717929000808823 ], [ -122.150776000385605, 37.717529001033732 ], [ -122.151475999791074, 37.717229000823487 ], [ -122.150975999838835, 37.71642900045007 ], [ -122.151576000490422, 37.716229000552566 ], [ -122.152176000202147, 37.716029000275526 ], [ -122.15327599998821, 37.715529000382723 ], [ -122.153675999881216, 37.71532900059735 ], [ -122.154075999728789, 37.715229000545023 ], [ -122.155476000087205, 37.714629000333318 ], [ -122.156176000311362, 37.7153290002463 ], [ -122.157075999492278, 37.716029000266843 ], [ -122.157149999876893, 37.71608900040183 ], [ -122.158075999845948, 37.716829000296954 ], [ -122.158776000289635, 37.717429000758024 ], [ -122.159675999676807, 37.718229000946586 ], [ -122.162238999729283, 37.720499000462155 ], [ -122.163175999451056, 37.72132900071874 ], [ -122.164276999546175, 37.72212900074198 ], [ -122.166176999851899, 37.723929000353621 ], [ -122.166376999666227, 37.724129000957554 ], [ -122.166797999762068, 37.724476000338626 ], [ -122.167764999744179, 37.725274000292394 ], [ -122.170377000064065, 37.727429000244648 ], [ -122.167777000063097, 37.726129000868561 ], [ -122.16637699958045, 37.726029000567216 ], [ -122.165976999901872, 37.726029000423928 ], [ -122.164177000060135, 37.725729000262866 ], [ -122.163776999775436, 37.72572900076824 ], [ -122.162776999777108, 37.725629000515383 ], [ -122.16147600008081, 37.725729000874054 ], [ -122.16144299949751, 37.725729000468256 ], [ -122.161402999813632, 37.725729000735996 ], [ -122.161075999877909, 37.725729000324868 ], [ -122.161026000313697, 37.725704000933533 ], [ -122.159476000073511, 37.724929001100691 ], [ -122.158675999398184, 37.725029000504669 ], [ -122.15747600052029, 37.726329000395047 ], [ -122.156635999933727, 37.727349000345491 ], [ -122.156248999744065, 37.727819000736559 ], [ -122.156075999849307, 37.728029000736036 ], [ -122.155565000303355, 37.727907000579464 ], [ -122.153975999911083, 37.727529000441898 ], [ -122.153945000062166, 37.72753600102569 ], [ -122.153767999585867, 37.727579000906914 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 865, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.130751000462666, 37.708563000871749 ], [ -122.131274999686738, 37.708930001081839 ], [ -122.131975000313133, 37.709430000378909 ], [ -122.133374999680186, 37.71033000077648 ], [ -122.133974999728352, 37.710830000286229 ], [ -122.13717599991088, 37.713030000563442 ], [ -122.137876000464473, 37.713529000465847 ], [ -122.138476000278729, 37.713929000386102 ], [ -122.139175999578669, 37.714429000232002 ], [ -122.139675999914985, 37.714729000994673 ], [ -122.140276000314699, 37.715229000901317 ], [ -122.140976000033206, 37.715729000888558 ], [ -122.14157600012382, 37.716129000377002 ], [ -122.142475999917892, 37.716829000303029 ], [ -122.144075999399206, 37.718329000463349 ], [ -122.144376000493423, 37.718929000257859 ], [ -122.145075999499113, 37.720229000786453 ], [ -122.145375999748751, 37.721229000829723 ], [ -122.144575999707712, 37.721429000274831 ], [ -122.143876000307969, 37.721629000394685 ], [ -122.143276000083745, 37.721829000260449 ], [ -122.142375999581503, 37.722029000582857 ], [ -122.141676000030301, 37.722229001078112 ], [ -122.14117599962286, 37.722429000797959 ], [ -122.140875999848873, 37.722429000509266 ], [ -122.1386759996726, 37.723029000759944 ], [ -122.137776000119914, 37.723329000905409 ], [ -122.1372760000488, 37.723529001082397 ], [ -122.135775999999396, 37.72212900051543 ], [ -122.135376000270398, 37.721529000434941 ], [ -122.131675000178035, 37.715629000830297 ], [ -122.130875000355246, 37.714629000698579 ], [ -122.130663999954237, 37.714377000484639 ], [ -122.129348999746483, 37.712621000497357 ], [ -122.128774999969238, 37.712130000824239 ], [ -122.127783999419748, 37.711398000356482 ], [ -122.127740999514231, 37.71136600036035 ], [ -122.12717500022346, 37.710913000749372 ], [ -122.126475000290895, 37.710430000674435 ], [ -122.125726000154756, 37.709992000428038 ], [ -122.124774999617458, 37.709530000305094 ], [ -122.124174999628437, 37.709230000403046 ], [ -122.124474999427804, 37.708930000240599 ], [ -122.125058999523162, 37.708513000267224 ], [ -122.125174999913753, 37.708430000654793 ], [ -122.125574999759806, 37.708230000641031 ], [ -122.126074999414996, 37.707630000893658 ], [ -122.12687499978837, 37.707030001060353 ], [ -122.127674999687244, 37.70643000107718 ], [ -122.128975000205642, 37.705330000389758 ], [ -122.129775000244223, 37.704830000447991 ], [ -122.12977500042679, 37.705930000934941 ], [ -122.129774999436577, 37.70673000066293 ], [ -122.129975000048361, 37.707630001057964 ], [ -122.13027499996555, 37.708230000968385 ], [ -122.130751000462666, 37.708563000871749 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 863, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.12367499940261, 37.701630000231674 ], [ -122.124274999590753, 37.699930000548953 ], [ -122.127875000267224, 37.697730000592898 ], [ -122.12817500001654, 37.697730001026478 ], [ -122.128574999702167, 37.697730000717634 ], [ -122.128796000220973, 37.697446000609972 ], [ -122.129275000339248, 37.696830000852415 ], [ -122.129874999388363, 37.696330001029587 ], [ -122.129875000385027, 37.695830001023651 ], [ -122.129874999534195, 37.693730001048884 ], [ -122.129874999499819, 37.692430001087331 ], [ -122.131974999718167, 37.694230000801056 ], [ -122.132331999531289, 37.694542000449992 ], [ -122.137576000031444, 37.699130000441336 ], [ -122.138868000150282, 37.70023000077375 ], [ -122.139518000299489, 37.70078400094733 ], [ -122.140276000066748, 37.701430000340586 ], [ -122.142075999879339, 37.703130000385507 ], [ -122.143775999921047, 37.70593000081999 ], [ -122.142175999501404, 37.707330000331012 ], [ -122.138576000463658, 37.704930000644097 ], [ -122.138375999840179, 37.705030000530328 ], [ -122.138176000092216, 37.705230000347022 ], [ -122.137916000192547, 37.705459000582465 ], [ -122.137076000494815, 37.706200000397786 ], [ -122.136475999454319, 37.706730000800071 ], [ -122.135872000330622, 37.707233000693748 ], [ -122.135274999973745, 37.707730000959742 ], [ -122.13454500002544, 37.708460000717011 ], [ -122.13404800042872, 37.708992000855652 ], [ -122.133357000122544, 37.708461001022059 ], [ -122.133174999407345, 37.708330000808786 ], [ -122.132674999930231, 37.708030000441902 ], [ -122.131913999994879, 37.707479000814836 ], [ -122.12977500042679, 37.705930000934941 ], [ -122.129775000244223, 37.704830000447991 ], [ -122.128975000205642, 37.705330000389758 ], [ -122.127575000209731, 37.704330000687413 ], [ -122.126974999704856, 37.703930000295863 ], [ -122.126374999953569, 37.703530000467062 ], [ -122.125675000063467, 37.703030000345301 ], [ -122.125174999443473, 37.702630000449282 ], [ -122.124575000500556, 37.702230000492989 ], [ -122.12367499940261, 37.701630000231674 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 860, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.193177000405612, 37.695030000982435 ], [ -122.191076999650846, 37.695330000533765 ], [ -122.186376999420617, 37.695730000456351 ], [ -122.185976999514267, 37.695330001102732 ], [ -122.182477000147173, 37.696830000529495 ], [ -122.181876999621764, 37.697130000664345 ], [ -122.181477000313805, 37.697230000465701 ], [ -122.177509999910669, 37.698863000347203 ], [ -122.176376999811751, 37.699330000382375 ], [ -122.174876999518858, 37.699830001060377 ], [ -122.173976999430465, 37.700230001117667 ], [ -122.173576999392793, 37.700430000645198 ], [ -122.168577000172192, 37.702630000759598 ], [ -122.167176999503269, 37.703230000737292 ], [ -122.166676000216015, 37.702330000391214 ], [ -122.165675999771182, 37.700630000535234 ], [ -122.165076000327758, 37.699730001039768 ], [ -122.165228999892648, 37.699065000512526 ], [ -122.163975999644236, 37.697230001087263 ], [ -122.162861000486799, 37.695765000281305 ], [ -122.162572000511048, 37.695229000880566 ], [ -122.162245000356862, 37.692318000394806 ], [ -122.162273000444472, 37.692038001034597 ], [ -122.163153000041177, 37.691863000970798 ], [ -122.16287599991999, 37.690430000528082 ], [ -122.162675999517305, 37.689230000899386 ], [ -122.161814000225959, 37.687635000507171 ], [ -122.161135000143602, 37.686380001001794 ], [ -122.160676000345973, 37.685531000926844 ], [ -122.158875999799662, 37.683231000407247 ], [ -122.158375999707033, 37.682731001110525 ], [ -122.155876000253471, 37.679431000494894 ], [ -122.156575999920719, 37.67923100042124 ], [ -122.158276000355571, 37.678631000554184 ], [ -122.156571000325599, 37.676831000364977 ], [ -122.154676000453165, 37.674831000847689 ], [ -122.154975999584892, 37.674631000252525 ], [ -122.155676000293695, 37.673531000644786 ], [ -122.154576000433892, 37.671131001099191 ], [ -122.155575999444693, 37.670231000968059 ], [ -122.156976000478011, 37.669431000239179 ], [ -122.157176000324228, 37.669731000395181 ], [ -122.161576000067711, 37.667531000766203 ], [ -122.162675999440353, 37.670231000713734 ], [ -122.165376000085061, 37.671931000986092 ], [ -122.164875999560863, 37.672831000911692 ], [ -122.166376000056346, 37.672431000456932 ], [ -122.166976000102736, 37.673431001035226 ], [ -122.16917600050671, 37.677331000695737 ], [ -122.173277000147436, 37.680631000922425 ], [ -122.176676999566013, 37.681431000409972 ], [ -122.183977000080191, 37.69063000052973 ], [ -122.186713000233894, 37.69005100103481 ], [ -122.189176999654165, 37.689530000748988 ], [ -122.192677000389509, 37.692430000651953 ], [ -122.193277000388832, 37.693430000796418 ], [ -122.190976999433914, 37.693130000966228 ], [ -122.189277000197137, 37.690330001121524 ], [ -122.187745000380005, 37.691096001105542 ], [ -122.187676999548898, 37.69113000074254 ], [ -122.186427999581369, 37.695070000436623 ], [ -122.18637699965808, 37.695230000351629 ], [ -122.193177000405612, 37.695030000982435 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 857, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.096249999508032, 37.690173000574887 ], [ -122.095419999748046, 37.690173000509077 ], [ -122.094874000463463, 37.690230000611187 ], [ -122.09431499944364, 37.690281001055261 ], [ -122.093774000193221, 37.690330001091304 ], [ -122.094474000140352, 37.689530000586402 ], [ -122.095031000339773, 37.688974000376312 ], [ -122.095373999866226, 37.688630000445073 ], [ -122.096106000362852, 37.687990000522007 ], [ -122.09617400026157, 37.687930000623965 ], [ -122.096649000344286, 37.68742700088449 ], [ -122.096874000205858, 37.68713000061976 ], [ -122.09797399949754, 37.686130000620508 ], [ -122.099673999631406, 37.686030000379276 ], [ -122.100948000400876, 37.68574900102405 ], [ -122.100773999976326, 37.685630001086771 ], [ -122.102374000485739, 37.685130000890581 ], [ -122.103174000321971, 37.685530000790898 ], [ -122.104674000207567, 37.685230000813114 ], [ -122.106273999654675, 37.685630000482021 ], [ -122.106509999966207, 37.685395001124483 ], [ -122.107175000199874, 37.684730000991657 ], [ -122.108475000198354, 37.684231000552629 ], [ -122.109274999745352, 37.68423100083141 ], [ -122.110874999652665, 37.684131000902603 ], [ -122.112774999565531, 37.686130000997956 ], [ -122.112868999587533, 37.686113001046493 ], [ -122.113103999747111, 37.686072000620399 ], [ -122.115148000301147, 37.685715000856462 ], [ -122.116774999487859, 37.685430000636373 ], [ -122.117674999888678, 37.685830000731642 ], [ -122.118368000518402, 37.685798000270793 ], [ -122.121213999755682, 37.68566900032458 ], [ -122.122075000233906, 37.685630000928043 ], [ -122.124974999731293, 37.685630000482192 ], [ -122.125575000284769, 37.685630000439801 ], [ -122.126032000503386, 37.685230000906969 ], [ -122.126375000521506, 37.684931000565406 ], [ -122.1280749993916, 37.684931001069209 ], [ -122.128175000411687, 37.684831000813183 ], [ -122.128774999695921, 37.684231000987161 ], [ -122.129074999407493, 37.684431000863356 ], [ -122.129886999633797, 37.684977000705132 ], [ -122.131813999405352, 37.686332000345566 ], [ -122.131982000124253, 37.686435000602245 ], [ -122.130675000247052, 37.686430000918698 ], [ -122.129874999883924, 37.686330000989443 ], [ -122.129874999553707, 37.686530000231322 ], [ -122.129774999641938, 37.688330000585822 ], [ -122.129874999843921, 37.689130000620693 ], [ -122.129875000489449, 37.689330000678069 ], [ -122.129875000094444, 37.689930000793133 ], [ -122.129875000463898, 37.690630000407261 ], [ -122.127775000464354, 37.690630000901336 ], [ -122.11887500014133, 37.689330000412916 ], [ -122.115074999842378, 37.688730000338118 ], [ -122.114675000108008, 37.688730001053521 ], [ -122.114174999955637, 37.688630000557914 ], [ -122.109593999986274, 37.688529001057006 ], [ -122.108423999390524, 37.688672000767838 ], [ -122.107477999414996, 37.688842000478289 ], [ -122.1071719996947, 37.688914000608577 ], [ -122.107075000143325, 37.688930000758326 ], [ -122.105673999814698, 37.689130000793 ], [ -122.104246999991815, 37.689368000359693 ], [ -122.102630999819382, 37.689666000232684 ], [ -122.101922999501198, 37.689829000923737 ], [ -122.100544999749914, 37.690203000976879 ], [ -122.099313000179066, 37.690643000668082 ], [ -122.099156000050087, 37.690708000705307 ], [ -122.098454999936735, 37.690506001068456 ], [ -122.097981999793646, 37.690397000931242 ], [ -122.097573999898671, 37.690330000744567 ], [ -122.097414000332037, 37.690303000526619 ], [ -122.096974000294452, 37.690230000268279 ], [ -122.096712000327614, 37.690189001134634 ], [ -122.096249999508032, 37.690173000574887 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 854, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.116375000491232, 37.704730000592733 ], [ -122.1118750001244, 37.702230000941555 ], [ -122.109710999518555, 37.701029000501613 ], [ -122.109178000522519, 37.700694000863358 ], [ -122.109075000101384, 37.700630000359169 ], [ -122.107975000125464, 37.699730000344971 ], [ -122.107475000222664, 37.699330000566214 ], [ -122.106374999806633, 37.698130000447712 ], [ -122.105874999665573, 37.697630000912454 ], [ -122.106475000442032, 37.697130000325586 ], [ -122.107474999719756, 37.696430000746801 ], [ -122.111675000447107, 37.693330000529095 ], [ -122.112525999611208, 37.693892000926603 ], [ -122.113408999528161, 37.694477001083797 ], [ -122.113975000405034, 37.694830000910599 ], [ -122.115274999859295, 37.695730000778006 ], [ -122.117074999531539, 37.697030001033859 ], [ -122.118874999986275, 37.698230000638752 ], [ -122.119313999893407, 37.698547000886393 ], [ -122.12067500005827, 37.699530000997356 ], [ -122.119174999412451, 37.701130000931521 ], [ -122.117975000507997, 37.702330000524398 ], [ -122.116874999845194, 37.703730000441091 ], [ -122.116474999413271, 37.704530000743709 ], [ -122.116375000491232, 37.704730000592733 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 843, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.043973000235795, 37.695730001081152 ], [ -122.043728000489551, 37.694571000372555 ], [ -122.043772999834786, 37.694367000730303 ], [ -122.043842999627927, 37.693615000349915 ], [ -122.043983999478357, 37.693057000989192 ], [ -122.044335999424945, 37.692528000498001 ], [ -122.044900000279029, 37.692193000736481 ], [ -122.045427999529409, 37.692026000334458 ], [ -122.04602700035673, 37.691887000523792 ], [ -122.046520000394565, 37.69160800062663 ], [ -122.046871999466674, 37.691302000535181 ], [ -122.04722399948183, 37.691023000683714 ], [ -122.047365000295159, 37.690605000305908 ], [ -122.047119000522827, 37.689908000453542 ], [ -122.046485000348071, 37.689434000847065 ], [ -122.045920999973916, 37.68929500097331 ], [ -122.045696000018822, 37.688969000398103 ], [ -122.045534000055156, 37.688508000703266 ], [ -122.0454280004422, 37.688208001032123 ], [ -122.04491599982488, 37.687693000399555 ], [ -122.044265000358195, 37.687325000689832 ], [ -122.0441370003917, 37.687180000284556 ], [ -122.043613000455125, 37.68658800089878 ], [ -122.043379999563953, 37.685705000379734 ], [ -122.043007999848044, 37.684527000426641 ], [ -122.042588999467299, 37.683312001075834 ], [ -122.042031000100721, 37.682060000790059 ], [ -122.041519000460184, 37.681324001073882 ], [ -122.041239999988306, 37.680772000871748 ], [ -122.040961000164089, 37.680220000888511 ], [ -122.040572000232544, 37.67963100078984 ], [ -122.044272999681041, 37.675131000356544 ], [ -122.045694000315009, 37.675430000430026 ], [ -122.046141999705583, 37.675524000710539 ], [ -122.046723000233868, 37.675646001021377 ], [ -122.0480729996072, 37.675931000620054 ], [ -122.048707000364274, 37.676723000640074 ], [ -122.048906999963222, 37.676973000695625 ], [ -122.049272999815699, 37.677431000547308 ], [ -122.049961000278813, 37.678548000815638 ], [ -122.050073000402151, 37.678731000534832 ], [ -122.050573000232092, 37.678831000944037 ], [ -122.051590000008233, 37.680255000656778 ], [ -122.052572999675931, 37.681631000403272 ], [ -122.052873000025755, 37.682031000367651 ], [ -122.053108999606451, 37.682408000765065 ], [ -122.053373000504635, 37.682830000602756 ], [ -122.053714000387743, 37.683269000800848 ], [ -122.054072999626541, 37.683730001085166 ], [ -122.054772999644882, 37.684530000958006 ], [ -122.057873000108899, 37.684230000843797 ], [ -122.058473000151025, 37.684230000638763 ], [ -122.059073000140472, 37.684130000922394 ], [ -122.059373000354014, 37.684130000400629 ], [ -122.059972999500943, 37.684030000591108 ], [ -122.060273000460157, 37.684030000486821 ], [ -122.06074300036164, 37.684082000948813 ], [ -122.061172999457526, 37.684130001050008 ], [ -122.061673000315267, 37.68393000029991 ], [ -122.062073000392957, 37.683830000731028 ], [ -122.062372999433364, 37.683930000762757 ], [ -122.06387299968786, 37.683730000574059 ], [ -122.063673000481899, 37.684630000806109 ], [ -122.063373000528856, 37.685430000281443 ], [ -122.063272999438325, 37.685930000351611 ], [ -122.062772999719741, 37.68593000045248 ], [ -122.062072999919252, 37.685930000454583 ], [ -122.061772999492518, 37.686530000885377 ], [ -122.059324000040732, 37.690815000915066 ], [ -122.058572999911192, 37.69213000078085 ], [ -122.058872999733381, 37.692330000658217 ], [ -122.059572999939093, 37.692430000990129 ], [ -122.060973000429428, 37.692630000927501 ], [ -122.059453999729286, 37.693061000893117 ], [ -122.05889499999796, 37.693216000678404 ], [ -122.05791300016881, 37.693407000616176 ], [ -122.057444999866661, 37.693455000918995 ], [ -122.056972999828432, 37.693430000347419 ], [ -122.056272999589794, 37.693730000333829 ], [ -122.055473000409194, 37.694030000901229 ], [ -122.055348999703668, 37.69379800107771 ], [ -122.055160999597149, 37.693600001113232 ], [ -122.054172999989362, 37.693130000529443 ], [ -122.051976000415067, 37.693176001137005 ], [ -122.049373000133457, 37.693230000576776 ], [ -122.048929000065371, 37.693288000989483 ], [ -122.048446000268825, 37.693456000279895 ], [ -122.04537300034599, 37.694930001056719 ], [ -122.043972999976816, 37.695930000596363 ], [ -122.043973000235795, 37.695730001081152 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 883, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.142576000384565, 37.756828001024267 ], [ -122.141275999873201, 37.756728000688746 ], [ -122.140375999831889, 37.756628000422936 ], [ -122.138975999446089, 37.757328000370784 ], [ -122.138275999579818, 37.757028000626462 ], [ -122.135976000104023, 37.756928000828353 ], [ -122.134675999809701, 37.756428000455543 ], [ -122.128675000399028, 37.754928001047993 ], [ -122.12757499969949, 37.754228000809235 ], [ -122.12717499992462, 37.753828000473675 ], [ -122.126474999728927, 37.752528000893442 ], [ -122.124875000403577, 37.751328000982923 ], [ -122.124074999580571, 37.750828000406045 ], [ -122.121175000349069, 37.746428000809978 ], [ -122.120774999560879, 37.74592800076406 ], [ -122.11577500052789, 37.748528000268927 ], [ -122.113774999555289, 37.749628000571398 ], [ -122.112074999427321, 37.746828000267236 ], [ -122.114375000348829, 37.738928001040719 ], [ -122.114575000240947, 37.737729000594229 ], [ -122.114775000401195, 37.736629000482942 ], [ -122.115475000028198, 37.735029000952238 ], [ -122.115760000364588, 37.734319000450192 ], [ -122.116462000205786, 37.733427000497791 ], [ -122.117835000452985, 37.732389000908917 ], [ -122.118674999847343, 37.731829000480957 ], [ -122.119375999528373, 37.731458000999822 ], [ -122.120414000511303, 37.730749000579536 ], [ -122.121741999998022, 37.729345000839317 ], [ -122.122475000267301, 37.728729000290684 ], [ -122.122975000355481, 37.728429000583461 ], [ -122.123874999715625, 37.728029000968355 ], [ -122.124274999693725, 37.72792900095633 ], [ -122.127075000498706, 37.728329000320208 ], [ -122.130791999852491, 37.730144000631 ], [ -122.13187500027243, 37.730467000329995 ], [ -122.132107999614163, 37.730619000590693 ], [ -122.132137999790615, 37.730671000548554 ], [ -122.132066999520191, 37.730774000793062 ], [ -122.131598000429648, 37.731352000987535 ], [ -122.131017999698855, 37.731838000456563 ], [ -122.130586000470657, 37.732249000560017 ], [ -122.130227000348384, 37.732568000742873 ], [ -122.130375000348579, 37.732629000638298 ], [ -122.130246999502532, 37.733020000294594 ], [ -122.130337999725711, 37.733408001079276 ], [ -122.130439000008721, 37.733512000566357 ], [ -122.131866999885489, 37.733153000473422 ], [ -122.134075999959052, 37.733929001122206 ], [ -122.134254000499539, 37.733840000590391 ], [ -122.134675999807342, 37.733629000657558 ], [ -122.136775999653537, 37.731329000437249 ], [ -122.137675999525953, 37.730829001044754 ], [ -122.138376000286129, 37.730629000720036 ], [ -122.138476000274466, 37.731029000948787 ], [ -122.137975999807665, 37.731229000885534 ], [ -122.138676000481652, 37.733029000709848 ], [ -122.139042999803081, 37.733174000653385 ], [ -122.139191000400288, 37.734160000740772 ], [ -122.139576000045224, 37.733929000560082 ], [ -122.139887999746094, 37.7339290009186 ], [ -122.140075999427296, 37.733929000804132 ], [ -122.140452000283901, 37.735432000623653 ], [ -122.140475999590052, 37.735529001013596 ], [ -122.141076000179012, 37.736329000698859 ], [ -122.141775999571735, 37.737129000783781 ], [ -122.142175999885012, 37.737329000866275 ], [ -122.142475999889271, 37.737529000368184 ], [ -122.143375999647162, 37.73832900101371 ], [ -122.143708000350671, 37.73868500062369 ], [ -122.144775999764505, 37.739829000484967 ], [ -122.145376000037317, 37.740629000633376 ], [ -122.145975999860738, 37.741329000666688 ], [ -122.146277999568312, 37.741681000938279 ], [ -122.146575999665131, 37.742028000776202 ], [ -122.147275999407171, 37.742628001028237 ], [ -122.149575999552113, 37.744028000834788 ], [ -122.148775999644116, 37.744628000392005 ], [ -122.149776000238461, 37.746628000470878 ], [ -122.150575999783612, 37.748128000620852 ], [ -122.151493000113575, 37.750133000510004 ], [ -122.151639000159264, 37.750520000455651 ], [ -122.151675999561618, 37.750828000568625 ], [ -122.151638999773567, 37.751653000802293 ], [ -122.151524999795029, 37.752091000279947 ], [ -122.151175999861252, 37.753128000464081 ], [ -122.1508760003655, 37.752928000679042 ], [ -122.150176000053904, 37.753228001097703 ], [ -122.149276000499697, 37.753528000372924 ], [ -122.147676000246847, 37.754228001101666 ], [ -122.146775999650046, 37.754728000850655 ], [ -122.14357600016379, 37.756428001095927 ], [ -122.142576000384565, 37.756828001024267 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 881, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.16047699993068, 37.745528000298997 ], [ -122.161276999932795, 37.746528000727693 ], [ -122.162177000359961, 37.747728000292831 ], [ -122.163177000506394, 37.749228000842614 ], [ -122.164176999665543, 37.750728000829504 ], [ -122.163177000441152, 37.751228000801262 ], [ -122.162077000105185, 37.751728000475815 ], [ -122.160677000341025, 37.752428000712179 ], [ -122.159977000411615, 37.750828000718442 ], [ -122.159476999972981, 37.750128000246988 ], [ -122.158876999857384, 37.749228000277952 ], [ -122.158176000458781, 37.748128001107986 ], [ -122.157875999818671, 37.747628000982466 ], [ -122.157376000476873, 37.746928000443063 ], [ -122.157176000413969, 37.746528001057285 ], [ -122.156876000224869, 37.746228000443381 ], [ -122.156275999881245, 37.745328000468014 ], [ -122.155175999521532, 37.744528000504886 ], [ -122.153776000486374, 37.743628001056614 ], [ -122.152875999637246, 37.742928001001026 ], [ -122.152476000512067, 37.742429000517106 ], [ -122.152176000415622, 37.742229000269084 ], [ -122.151576000185059, 37.741729000441261 ], [ -122.150575999415921, 37.74112900086827 ], [ -122.149775999905941, 37.740729000332543 ], [ -122.1490760005223, 37.740329000727577 ], [ -122.148838999825941, 37.74030300113035 ], [ -122.148176000462243, 37.740229000298484 ], [ -122.148537000253683, 37.740177000450608 ], [ -122.150275999744949, 37.739929000880338 ], [ -122.151175999803769, 37.739629000582696 ], [ -122.152075999506536, 37.739229000776454 ], [ -122.153375999876701, 37.738829000777429 ], [ -122.155276000383225, 37.738229000698354 ], [ -122.155676000431598, 37.73902900094523 ], [ -122.156175999439796, 37.739529000641241 ], [ -122.156575999763447, 37.740229000641477 ], [ -122.157076000088324, 37.740829000803572 ], [ -122.15821599966165, 37.742349000719301 ], [ -122.15857600038936, 37.742829000604061 ], [ -122.159076000092412, 37.74352800051156 ], [ -122.159376999570213, 37.744028000499753 ], [ -122.159577000487332, 37.74442800085361 ], [ -122.16047699993068, 37.745528000298997 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 879, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.160776999741969, 37.744328000950738 ], [ -122.159876999910907, 37.744628000347312 ], [ -122.159577000487332, 37.74442800085361 ], [ -122.159376999570213, 37.744028000499753 ], [ -122.159076000092412, 37.74352800051156 ], [ -122.15857600038936, 37.742829000604061 ], [ -122.15821599966165, 37.742349000719301 ], [ -122.157076000088324, 37.740829000803572 ], [ -122.156575999763447, 37.740229000641477 ], [ -122.156175999439796, 37.739529000641241 ], [ -122.155676000431598, 37.73902900094523 ], [ -122.155276000383225, 37.738229000698354 ], [ -122.156976000509204, 37.737929000974006 ], [ -122.158276000485415, 37.737429000808916 ], [ -122.15837599951567, 37.737429001039395 ], [ -122.159875999954565, 37.737029000318422 ], [ -122.16027599998047, 37.736929000841442 ], [ -122.161777000510995, 37.736329001137172 ], [ -122.164077000096896, 37.735329000273509 ], [ -122.165176999741149, 37.736829000566473 ], [ -122.165376999981802, 37.737129000707256 ], [ -122.165676999761757, 37.737429000849282 ], [ -122.166126999974182, 37.73787900052919 ], [ -122.166178000213137, 37.737930000301425 ], [ -122.166577000400636, 37.738629000888523 ], [ -122.167012000133866, 37.739253000863712 ], [ -122.167277000304267, 37.739629000924204 ], [ -122.16743399953873, 37.739848000694245 ], [ -122.167777000034221, 37.740329001077185 ], [ -122.168047999510577, 37.740641000353918 ], [ -122.168276999881698, 37.740929001006229 ], [ -122.168776999786459, 37.741529000595378 ], [ -122.169077000134976, 37.7418290010296 ], [ -122.169276999738514, 37.742129000745827 ], [ -122.167677000135953, 37.742629001006371 ], [ -122.166777000480096, 37.742829000414638 ], [ -122.166277000146167, 37.742929000323457 ], [ -122.165776999713827, 37.743129000624116 ], [ -122.164577000455338, 37.743429000728341 ], [ -122.163277000055274, 37.743829000411033 ], [ -122.161976999624358, 37.743928000299327 ], [ -122.160776999741969, 37.744328000950738 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1035, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.293580000018991, 37.89862500027894 ], [ -122.29341999996808, 37.898545000503994 ], [ -122.293179999407755, 37.898425000431352 ], [ -122.291980000406397, 37.898225000869196 ], [ -122.291080000017217, 37.897925000278455 ], [ -122.290180000426318, 37.897825000474583 ], [ -122.289480000130709, 37.897825000494571 ], [ -122.288479999464769, 37.897925000911286 ], [ -122.287580000320276, 37.89842500046435 ], [ -122.287180000308993, 37.898625000887307 ], [ -122.287180000085186, 37.898225001017671 ], [ -122.287179999990073, 37.8966250003743 ], [ -122.287180000202412, 37.894825000603888 ], [ -122.287179999538182, 37.89292500045169 ], [ -122.2871800003592, 37.891025000604387 ], [ -122.287779999710807, 37.890925000369968 ], [ -122.288180000186799, 37.890925000834436 ], [ -122.289180000291097, 37.890925000547952 ], [ -122.289579999662422, 37.890925000754173 ], [ -122.290079999580811, 37.890825000797783 ], [ -122.290579999571932, 37.89082500040157 ], [ -122.291079999570883, 37.890825000585181 ], [ -122.29137999957608, 37.890825000757324 ], [ -122.292280000468267, 37.890725000398739 ], [ -122.293079999461511, 37.890725000905711 ], [ -122.293180000092676, 37.890925000957395 ], [ -122.293579999507983, 37.891925000924886 ], [ -122.293979999577331, 37.893025001083998 ], [ -122.294256999656312, 37.893968000389911 ], [ -122.294479999706738, 37.89472500067825 ], [ -122.294979999774426, 37.896225000820159 ], [ -122.295480000258351, 37.897825001043742 ], [ -122.295979999655231, 37.898925000812277 ], [ -122.294480000449511, 37.898725000267618 ], [ -122.293580000018991, 37.89862500027894 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1039, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.31298100052355, 37.897325000797707 ], [ -122.311781000161929, 37.897525000621243 ], [ -122.310881000376341, 37.897825000821491 ], [ -122.309480999419648, 37.897825000502408 ], [ -122.309080000178369, 37.897925000497239 ], [ -122.308780000359434, 37.898025001031549 ], [ -122.306179999913581, 37.898225000316017 ], [ -122.305280000265171, 37.898425000953871 ], [ -122.304800999450407, 37.898425001061263 ], [ -122.304579999415481, 37.898425000632457 ], [ -122.303580000017035, 37.89852500051515 ], [ -122.303247999644668, 37.898525000524018 ], [ -122.302979999659385, 37.898525000968341 ], [ -122.302179999978208, 37.898525000724597 ], [ -122.301479999428267, 37.898525000889911 ], [ -122.30088000009674, 37.896825000787899 ], [ -122.300580000384571, 37.896125000579623 ], [ -122.300280000471773, 37.895125000853248 ], [ -122.300080000473017, 37.894125000935148 ], [ -122.299779999575762, 37.893425000238466 ], [ -122.299479999499638, 37.892325000899007 ], [ -122.299279999613859, 37.891925000549456 ], [ -122.298679999642829, 37.890325000310597 ], [ -122.298080000477555, 37.887925000539887 ], [ -122.298779999404331, 37.887825000385291 ], [ -122.299679999671724, 37.887825000873519 ], [ -122.300680000175731, 37.887725000964323 ], [ -122.301679999736905, 37.887725000652075 ], [ -122.302056999697896, 37.887725000401886 ], [ -122.302479999652903, 37.887725000235136 ], [ -122.303280000271187, 37.887625000686015 ], [ -122.303579999999045, 37.88762500035287 ], [ -122.304179999456622, 37.887625000997822 ], [ -122.30507999971681, 37.887425000703495 ], [ -122.306679999571216, 37.887525000491749 ], [ -122.307080000250508, 37.887525000644587 ], [ -122.307947999424243, 37.887532000408449 ], [ -122.308379999643506, 37.887625001010939 ], [ -122.308703999691929, 37.887706000562623 ], [ -122.309179999713351, 37.887825001093013 ], [ -122.309880999485401, 37.88842500046232 ], [ -122.3111810002152, 37.889525000869732 ], [ -122.315580999728667, 37.889625000618999 ], [ -122.316580999608348, 37.889625000887811 ], [ -122.309179999730972, 37.892625000900843 ], [ -122.31298100052355, 37.897325000797707 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1037, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.293717000165941, 37.8906250005885 ], [ -122.293580000114147, 37.89012500092273 ], [ -122.293279999803843, 37.889125000838 ], [ -122.292879999570744, 37.887825000510773 ], [ -122.292480000059683, 37.886625000372163 ], [ -122.29187999988288, 37.885025000845395 ], [ -122.291480000066414, 37.884225000497764 ], [ -122.290779999580423, 37.88302500053581 ], [ -122.291180000479898, 37.882925000529411 ], [ -122.291980000313472, 37.882925000973621 ], [ -122.292979999587473, 37.883025000445848 ], [ -122.293580000043221, 37.88302500090753 ], [ -122.294179999759976, 37.88292500097171 ], [ -122.294979999445175, 37.882725000762974 ], [ -122.295980000441034, 37.882725000852744 ], [ -122.296980000360051, 37.883125000768509 ], [ -122.297179999860177, 37.883925001133129 ], [ -122.297179999471993, 37.884225000337359 ], [ -122.296980000040776, 37.884725000463703 ], [ -122.297679999815443, 37.886825000620632 ], [ -122.298080000477555, 37.887925000539887 ], [ -122.298679999642829, 37.890325000310597 ], [ -122.297779999680415, 37.890325001071105 ], [ -122.296879999481703, 37.890425000284523 ], [ -122.295980000289035, 37.890525000722207 ], [ -122.295080000303159, 37.890525000655131 ], [ -122.29427999956485, 37.890625001033918 ], [ -122.293837000089596, 37.890625000402103 ], [ -122.293717000165941, 37.8906250005885 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1030, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.261480000478642, 37.899425000309492 ], [ -122.261979999554953, 37.898925001116801 ], [ -122.262137999855256, 37.898768000587346 ], [ -122.262380000519087, 37.898525000914645 ], [ -122.261280000349757, 37.89772500038297 ], [ -122.262079999799639, 37.897225001113576 ], [ -122.263179999855026, 37.896425001052627 ], [ -122.263979999626414, 37.895925000366752 ], [ -122.264779999918048, 37.895425000468734 ], [ -122.265279999435378, 37.895125000499213 ], [ -122.266080000437412, 37.894625000643074 ], [ -122.266679999829449, 37.894225001022669 ], [ -122.268179999407153, 37.893225000980514 ], [ -122.268979999895691, 37.893925000352965 ], [ -122.268979999593839, 37.894925001051789 ], [ -122.269679999465268, 37.895425000581234 ], [ -122.2697799995819, 37.89662500075751 ], [ -122.26997999990644, 37.897225001008472 ], [ -122.270379999538363, 37.898025000827474 ], [ -122.270879999810333, 37.89892500097681 ], [ -122.271180000518953, 37.8993250008755 ], [ -122.271479999893955, 37.89972500088885 ], [ -122.270279999838039, 37.900925000245529 ], [ -122.270079999904297, 37.901525000614988 ], [ -122.270679999670691, 37.901525000349558 ], [ -122.271079999501893, 37.901925000773858 ], [ -122.270980000166489, 37.903325001094402 ], [ -122.270879999943304, 37.904525000981131 ], [ -122.269980000158156, 37.9045250002602 ], [ -122.269379999914804, 37.90412500047367 ], [ -122.268537999907963, 37.904260000974745 ], [ -122.267526999526581, 37.904421000434581 ], [ -122.267116000305464, 37.904487000996312 ], [ -122.266880000203386, 37.904525000366633 ], [ -122.265879999729236, 37.904425001072553 ], [ -122.265623000430168, 37.904297000507661 ], [ -122.265079999691963, 37.904025000835141 ], [ -122.264480000511384, 37.903725000929519 ], [ -122.263880000519265, 37.903425000668506 ], [ -122.262579999831559, 37.901925000429927 ], [ -122.261780000018319, 37.901625000760717 ], [ -122.261479999605413, 37.899925000907736 ], [ -122.261379999985408, 37.899625001083884 ], [ -122.261480000478642, 37.899425000309492 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1031, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.275180000453602, 37.889325000431242 ], [ -122.275879999805625, 37.8891250007445 ], [ -122.277080000358652, 37.888925000607067 ], [ -122.2772799999791, 37.890125000990182 ], [ -122.277580000166196, 37.891525000419456 ], [ -122.277779999498549, 37.892625000603438 ], [ -122.27778000044016, 37.893225001109883 ], [ -122.277580000316306, 37.894125001102893 ], [ -122.278080000451396, 37.894725001084254 ], [ -122.27848000034615, 37.895325000657905 ], [ -122.279379999581792, 37.89552500031072 ], [ -122.279779999751227, 37.895525000580513 ], [ -122.280980000520572, 37.895825000609115 ], [ -122.281479999905073, 37.896125000405931 ], [ -122.282079999575132, 37.896925001098509 ], [ -122.281879999500148, 37.897625000449857 ], [ -122.281879999755844, 37.898725000946946 ], [ -122.281579999660465, 37.899525001067346 ], [ -122.282401999839664, 37.899790000898058 ], [ -122.282611000494029, 37.899820000768031 ], [ -122.282752000287189, 37.899830000924389 ], [ -122.283177000044674, 37.899751000888273 ], [ -122.283293999399845, 37.899675000243107 ], [ -122.283399999788216, 37.899555001037356 ], [ -122.283579999640807, 37.899225000512487 ], [ -122.286079999641487, 37.898525000326124 ], [ -122.286279999825851, 37.89892500082366 ], [ -122.284980000173277, 37.8992250008057 ], [ -122.284079999451706, 37.899825000959382 ], [ -122.282980000250703, 37.900325001096114 ], [ -122.281969999951741, 37.900514000797131 ], [ -122.281380000427149, 37.900625000633156 ], [ -122.279880000245626, 37.900625000874399 ], [ -122.27798000032297, 37.901625000365307 ], [ -122.278380000526752, 37.90322500046036 ], [ -122.276179999432827, 37.903825000404716 ], [ -122.275080000476891, 37.904425000294886 ], [ -122.274680000194195, 37.904725000593487 ], [ -122.274180000280793, 37.905025000249196 ], [ -122.272180000046788, 37.90552400086365 ], [ -122.271079999931445, 37.905824000421148 ], [ -122.271780000258488, 37.904925000242088 ], [ -122.271679999515769, 37.904725000657287 ], [ -122.270879999943304, 37.904525000981131 ], [ -122.270980000166489, 37.903325001094402 ], [ -122.271079999501893, 37.901925000773858 ], [ -122.270679999670691, 37.901525000349558 ], [ -122.270079999904297, 37.901525000614988 ], [ -122.270279999838039, 37.900925000245529 ], [ -122.271479999893955, 37.89972500088885 ], [ -122.271180000518953, 37.8993250008755 ], [ -122.270879999810333, 37.89892500097681 ], [ -122.270379999538363, 37.898025000827474 ], [ -122.26997999990644, 37.897225001008472 ], [ -122.2697799995819, 37.89662500075751 ], [ -122.269679999465268, 37.895425000581234 ], [ -122.268979999593839, 37.894925001051789 ], [ -122.268979999895691, 37.893925000352965 ], [ -122.268179999407153, 37.893225000980514 ], [ -122.268979999949181, 37.892725000913607 ], [ -122.269779999884094, 37.892225000726654 ], [ -122.270679999687388, 37.89162500109839 ], [ -122.271579999635506, 37.891025000777894 ], [ -122.272679999679596, 37.890225000424905 ], [ -122.272779999812172, 37.890125001074694 ], [ -122.273079999602984, 37.89002500030643 ], [ -122.275180000453602, 37.889325000431242 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1032, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.268979999949181, 37.892725000913607 ], [ -122.268179999407153, 37.893225000980514 ], [ -122.26778000023414, 37.892825000290813 ], [ -122.267480000252576, 37.892525001124866 ], [ -122.267579999535641, 37.892225000484515 ], [ -122.267680000253975, 37.891925000651021 ], [ -122.267780000416678, 37.89092500061826 ], [ -122.267680000398826, 37.890425000694478 ], [ -122.267379999400887, 37.888825000395734 ], [ -122.267379999698278, 37.888425000304771 ], [ -122.267179999745679, 37.886125000625469 ], [ -122.268280000291583, 37.886025000848512 ], [ -122.269380000204691, 37.885925000687529 ], [ -122.27048000013383, 37.885725000283834 ], [ -122.271680000374218, 37.885625000717056 ], [ -122.272779999977971, 37.885425000393354 ], [ -122.273580000318574, 37.885725000380781 ], [ -122.274080000452017, 37.88542500088446 ], [ -122.275079999815929, 37.884925000730398 ], [ -122.27548000046329, 37.885425000466476 ], [ -122.275979999638267, 37.886225000692825 ], [ -122.276279999650669, 37.886425000294054 ], [ -122.27657999974447, 37.887025000448354 ], [ -122.276979999767022, 37.888125000487761 ], [ -122.277080000358652, 37.888925000607067 ], [ -122.275879999805625, 37.8891250007445 ], [ -122.275180000453602, 37.889325000431242 ], [ -122.273079999602984, 37.89002500030643 ], [ -122.272779999812172, 37.890125001074694 ], [ -122.272679999679596, 37.890225000424905 ], [ -122.271579999635506, 37.891025000777894 ], [ -122.270679999687388, 37.89162500109839 ], [ -122.269779999884094, 37.892225000726654 ], [ -122.268979999949181, 37.892725000913607 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1029, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.252779000365692, 37.890725001066926 ], [ -122.252978999603201, 37.890325000908568 ], [ -122.252779000401915, 37.890025000555092 ], [ -122.253779000107201, 37.889625000263479 ], [ -122.253378999426388, 37.889425000669291 ], [ -122.253579000198727, 37.888425001071617 ], [ -122.25397900033181, 37.888325000819343 ], [ -122.254578999418229, 37.889225000394518 ], [ -122.255079000298977, 37.887725000681371 ], [ -122.255979000101888, 37.888125000835664 ], [ -122.256179000234582, 37.887825001028212 ], [ -122.257079999569967, 37.888125000255762 ], [ -122.257580000241546, 37.88702500110972 ], [ -122.257979999871438, 37.886725000245988 ], [ -122.259080000254912, 37.886925000273763 ], [ -122.259780000371634, 37.88672500081406 ], [ -122.259979999518819, 37.886325000906091 ], [ -122.25927999954412, 37.885825000327095 ], [ -122.260679999545886, 37.886525000643672 ], [ -122.260880000101039, 37.886325000585835 ], [ -122.259479999727901, 37.884525001078458 ], [ -122.259680000296825, 37.884325000279986 ], [ -122.259879999762418, 37.88412500092614 ], [ -122.260379999413843, 37.883525000717874 ], [ -122.260379999497829, 37.883325001026414 ], [ -122.26069199995348, 37.883273000685726 ], [ -122.260979999981686, 37.883225001088654 ], [ -122.262179999547513, 37.883025001016343 ], [ -122.26248000024799, 37.883425000265888 ], [ -122.263279999820355, 37.884325000712174 ], [ -122.263021000318346, 37.88581400091762 ], [ -122.262880000423181, 37.886625000993199 ], [ -122.263779999753865, 37.886525000323594 ], [ -122.264980000008364, 37.886425000672197 ], [ -122.265980000441473, 37.886325000948652 ], [ -122.267179999745679, 37.886125000625469 ], [ -122.267379999698278, 37.888425000304771 ], [ -122.267379999400887, 37.888825000395734 ], [ -122.267680000398826, 37.890425000694478 ], [ -122.267780000416678, 37.89092500061826 ], [ -122.267680000253975, 37.891925000651021 ], [ -122.267579999535641, 37.892225000484515 ], [ -122.267480000252576, 37.892525001124866 ], [ -122.26778000023414, 37.892825000290813 ], [ -122.268179999407153, 37.893225000980514 ], [ -122.266679999829449, 37.894225001022669 ], [ -122.266080000437412, 37.894625000643074 ], [ -122.265279999435378, 37.895125000499213 ], [ -122.264779999918048, 37.895425000468734 ], [ -122.263979999626414, 37.895925000366752 ], [ -122.263179999855026, 37.896425001052627 ], [ -122.262079999799639, 37.897225001113576 ], [ -122.261280000349757, 37.89772500038297 ], [ -122.262380000519087, 37.898525000914645 ], [ -122.262137999855256, 37.898768000587346 ], [ -122.261979999554953, 37.898925001116801 ], [ -122.261480000478642, 37.899425000309492 ], [ -122.261379999985408, 37.899625001083884 ], [ -122.260279999413541, 37.900025000677488 ], [ -122.259379999636238, 37.899325000549965 ], [ -122.258579999998844, 37.899125000372486 ], [ -122.257679000364348, 37.899725000574939 ], [ -122.256778999739765, 37.899525000966761 ], [ -122.256707000088937, 37.898877000664164 ], [ -122.256678999843317, 37.898625000714887 ], [ -122.25687899988894, 37.89692500070332 ], [ -122.256719000299697, 37.896605000630757 ], [ -122.256578999503944, 37.896325000484858 ], [ -122.256279000489627, 37.896325000747389 ], [ -122.255578999767877, 37.896525000273471 ], [ -122.254478999702656, 37.896325000641411 ], [ -122.253678999571008, 37.895825000886276 ], [ -122.253178999473477, 37.895025000757492 ], [ -122.253478999668019, 37.894125000982584 ], [ -122.252978999811006, 37.893425000373988 ], [ -122.251278999537831, 37.893925000294381 ], [ -122.249778999617419, 37.893225000468668 ], [ -122.249379000128741, 37.892725001112389 ], [ -122.248978999941713, 37.891225000340178 ], [ -122.250178999725634, 37.89152500108338 ], [ -122.252378999915933, 37.891025000994937 ], [ -122.252779000365692, 37.890725001066926 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1028, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.255079000298977, 37.887725000681371 ], [ -122.254578999418229, 37.889225000394518 ], [ -122.25397900033181, 37.888325000819343 ], [ -122.253579000198727, 37.888425001071617 ], [ -122.253378999426388, 37.889425000669291 ], [ -122.253779000107201, 37.889625000263479 ], [ -122.252779000401915, 37.890025000555092 ], [ -122.252978999603201, 37.890325000908568 ], [ -122.252779000365692, 37.890725001066926 ], [ -122.252378999915933, 37.891025000994937 ], [ -122.250178999725634, 37.89152500108338 ], [ -122.248978999941713, 37.891225000340178 ], [ -122.248678999502943, 37.890825000721833 ], [ -122.249578999391545, 37.889925000795699 ], [ -122.249778999718941, 37.889625000367488 ], [ -122.249479000145499, 37.889225000893241 ], [ -122.249179000033578, 37.888025000340711 ], [ -122.248979000430154, 37.887325000959152 ], [ -122.248878999906267, 37.886925000349166 ], [ -122.248679000187906, 37.886625001074336 ], [ -122.24797900036755, 37.886125000312148 ], [ -122.247278999552947, 37.885725000520509 ], [ -122.245979000330308, 37.884725000471398 ], [ -122.245979000049886, 37.884325000583473 ], [ -122.245878999790918, 37.882825000798356 ], [ -122.245778999424218, 37.881925001132345 ], [ -122.245679000147717, 37.880925000557873 ], [ -122.248678999899724, 37.880825000604439 ], [ -122.251279000142233, 37.880625001017798 ], [ -122.255592999976756, 37.880194000367872 ], [ -122.256279999907989, 37.880125000989707 ], [ -122.257280000191869, 37.880025000865928 ], [ -122.25758000013758, 37.880525000803445 ], [ -122.258579999608571, 37.880425000467298 ], [ -122.258280000103227, 37.879925000342652 ], [ -122.259280000511993, 37.879725000425736 ], [ -122.261134999987419, 37.879483000306152 ], [ -122.26157999947111, 37.879425000392231 ], [ -122.262480000239805, 37.879325001085455 ], [ -122.263479999848784, 37.879225000465439 ], [ -122.263880000511335, 37.879125000401515 ], [ -122.264979999934525, 37.878925000341241 ], [ -122.266179999706893, 37.878725000473167 ], [ -122.266379999419343, 37.880625000293279 ], [ -122.266579999661076, 37.882425001120424 ], [ -122.266579999421126, 37.883825000418447 ], [ -122.266779999827506, 37.884225001104461 ], [ -122.266979999618172, 37.884825000249577 ], [ -122.267080000457824, 37.885325000290607 ], [ -122.267179999745679, 37.886125000625469 ], [ -122.265980000441473, 37.886325000948652 ], [ -122.264980000008364, 37.886425000672197 ], [ -122.263779999753865, 37.886525000323594 ], [ -122.262880000423181, 37.886625000993199 ], [ -122.263021000318346, 37.88581400091762 ], [ -122.263279999820355, 37.884325000712174 ], [ -122.26248000024799, 37.883425000265888 ], [ -122.262179999547513, 37.883025001016343 ], [ -122.260979999981686, 37.883225001088654 ], [ -122.26069199995348, 37.883273000685726 ], [ -122.260379999497829, 37.883325001026414 ], [ -122.260379999413843, 37.883525000717874 ], [ -122.259879999762418, 37.88412500092614 ], [ -122.259680000296825, 37.884325000279986 ], [ -122.259479999727901, 37.884525001078458 ], [ -122.260880000101039, 37.886325000585835 ], [ -122.260679999545886, 37.886525000643672 ], [ -122.25927999954412, 37.885825000327095 ], [ -122.259979999518819, 37.886325000906091 ], [ -122.259780000371634, 37.88672500081406 ], [ -122.259080000254912, 37.886925000273763 ], [ -122.257979999871438, 37.886725000245988 ], [ -122.257580000241546, 37.88702500110972 ], [ -122.257079999569967, 37.888125000255762 ], [ -122.256179000234582, 37.887825001028212 ], [ -122.255979000101888, 37.888125000835664 ], [ -122.255079000298977, 37.887725000681371 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1014, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.312581000155106, 37.881325000564154 ], [ -122.312483999569835, 37.88134500069301 ], [ -122.308617999580633, 37.882192000471477 ], [ -122.308480000180879, 37.881625001089716 ], [ -122.307979999520555, 37.881725000387966 ], [ -122.307179999821699, 37.881925000839601 ], [ -122.305980000493989, 37.882125000628626 ], [ -122.305080000271559, 37.882325001032733 ], [ -122.303779999934946, 37.882425000755411 ], [ -122.30267999999063, 37.882525001096496 ], [ -122.301479999804428, 37.882525000697598 ], [ -122.300480000469179, 37.882725000643802 ], [ -122.29967999951063, 37.882925000430916 ], [ -122.298180000253481, 37.883225000270492 ], [ -122.296980000360051, 37.883125000768509 ], [ -122.296679999845196, 37.882225000959913 ], [ -122.296179999468549, 37.880525000970174 ], [ -122.295580000157273, 37.878825000411126 ], [ -122.296779999587585, 37.87852500086084 ], [ -122.29787999971002, 37.878325000274614 ], [ -122.298979999610566, 37.878125001094169 ], [ -122.300079999562897, 37.877825000461996 ], [ -122.30107999943651, 37.877625000793792 ], [ -122.300779999865355, 37.876425000946199 ], [ -122.300279999518992, 37.87522500040297 ], [ -122.299980000453488, 37.874025000829235 ], [ -122.299279999997609, 37.872326000666078 ], [ -122.298779999974897, 37.870426000272609 ], [ -122.298379999808049, 37.86932600073834 ], [ -122.297979999453972, 37.867926000564474 ], [ -122.297580000235641, 37.866726000331951 ], [ -122.297079999702689, 37.865226000782449 ], [ -122.296579999900075, 37.863526000768658 ], [ -122.295879999530513, 37.861726000689337 ], [ -122.295679999809849, 37.860926000835867 ], [ -122.295379999675006, 37.860026001092187 ], [ -122.29438000012324, 37.860126000254176 ], [ -122.29357999977239, 37.86032600080388 ], [ -122.29307999984934, 37.86042600075244 ], [ -122.292079999394232, 37.860626000563187 ], [ -122.290879999836747, 37.860926001043829 ], [ -122.289779999645219, 37.861126000842873 ], [ -122.289480000110842, 37.860226000800871 ], [ -122.289266999549938, 37.859452000554853 ], [ -122.288980000164486, 37.858526000356527 ], [ -122.28888000023656, 37.858126000431405 ], [ -122.288679999938523, 37.857626000664283 ], [ -122.288580000500914, 37.857226000438317 ], [ -122.288480000276778, 37.856926000545563 ], [ -122.28822999975182, 37.856200000968542 ], [ -122.287879999977122, 37.855026000493254 ], [ -122.287746000209552, 37.85444400078579 ], [ -122.287479999776679, 37.853626000237483 ], [ -122.287280000160436, 37.853126000509391 ], [ -122.286979999409681, 37.852226000344217 ], [ -122.286875999726263, 37.851736000540988 ], [ -122.286779999514593, 37.851426000805105 ], [ -122.286678999686885, 37.851003000516954 ], [ -122.286580000399113, 37.850626000841018 ], [ -122.289379999520136, 37.849926000358955 ], [ -122.289780000042612, 37.849926000811777 ], [ -122.292580000094674, 37.849326001130372 ], [ -122.293680000344509, 37.84902600048116 ], [ -122.295080000247765, 37.848626000580929 ], [ -122.295386000143665, 37.84857200028258 ], [ -122.29685399962824, 37.84832300078844 ], [ -122.297877000263128, 37.848125000885609 ], [ -122.298699000100811, 37.847941000952268 ], [ -122.300111000480939, 37.847564000909024 ], [ -122.300353999836929, 37.847520000642369 ], [ -122.300780000325716, 37.847445000476476 ], [ -122.301279999549223, 37.84732600032936 ], [ -122.300679999946666, 37.850826000527384 ], [ -122.303580000166008, 37.861626000895733 ], [ -122.304679999442598, 37.86302600079798 ], [ -122.306179999754235, 37.859326000371269 ], [ -122.306880000065547, 37.865726000431891 ], [ -122.307380000484514, 37.865326000311242 ], [ -122.311781000028233, 37.864426000580416 ], [ -122.312681000102529, 37.863326000986881 ], [ -122.315980999873915, 37.862326000781941 ], [ -122.315980999897093, 37.860026000561852 ], [ -122.316581000214839, 37.858726000257988 ], [ -122.316781000063273, 37.859126000494157 ], [ -122.317812000000814, 37.862820000887218 ], [ -122.317981000377472, 37.863426000431609 ], [ -122.316980999721409, 37.864026000973887 ], [ -122.318080999745348, 37.863626001085741 ], [ -122.317980999680088, 37.866126000470793 ], [ -122.317815000396493, 37.866209000682979 ], [ -122.317781000294957, 37.866226000380863 ], [ -122.317480999597947, 37.866226000283312 ], [ -122.316480999519072, 37.864226000699354 ], [ -122.314881000098197, 37.864426000925512 ], [ -122.314080999667439, 37.864626000977857 ], [ -122.312881000060926, 37.864926000288904 ], [ -122.31188100016189, 37.865126000478789 ], [ -122.313380999743231, 37.867526000717717 ], [ -122.314980999948446, 37.867926000259935 ], [ -122.315581000433525, 37.868726000333311 ], [ -122.318280999628939, 37.868326000622574 ], [ -122.318680999760005, 37.866826000532981 ], [ -122.318757999503703, 37.866918000492028 ], [ -122.322281000206189, 37.871126000298375 ], [ -122.316781000471053, 37.87272600041463 ], [ -122.31498099966737, 37.870926000702639 ], [ -122.314081000289875, 37.869626000714526 ], [ -122.307880000516334, 37.870826000581339 ], [ -122.310680999624921, 37.877625000268289 ], [ -122.312581000155106, 37.881325000564154 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1023, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.293638000485487, 37.872448000649818 ], [ -122.293979999808926, 37.873425000898166 ], [ -122.294479999870191, 37.875225000320562 ], [ -122.293579999808387, 37.87532500049835 ], [ -122.293280000108794, 37.875325000776613 ], [ -122.292379999539065, 37.875425000776438 ], [ -122.291579999767777, 37.875525000819316 ], [ -122.290780000139776, 37.875625000823561 ], [ -122.289880000265015, 37.875825000743397 ], [ -122.288979999831568, 37.87582500070539 ], [ -122.287479999399096, 37.875925000795597 ], [ -122.286880000167585, 37.876125000351657 ], [ -122.286379999612549, 37.876125000744686 ], [ -122.285179999928346, 37.876325000629578 ], [ -122.282880000043704, 37.876525000290428 ], [ -122.282780000148577, 37.875725000551 ], [ -122.282679999665802, 37.87472500039825 ], [ -122.282680000488114, 37.87392500033264 ], [ -122.282579999980769, 37.872925000709557 ], [ -122.282479999615774, 37.872125000262237 ], [ -122.282479999723634, 37.871825000684822 ], [ -122.282380000436746, 37.871125001097575 ], [ -122.282379999994731, 37.87022600080131 ], [ -122.284580000323743, 37.870026000762962 ], [ -122.286680000368662, 37.869726000630692 ], [ -122.287680000040751, 37.86962600090034 ], [ -122.288179999899214, 37.869626001114788 ], [ -122.289579999911226, 37.869426000756484 ], [ -122.292380000250645, 37.869026000453729 ], [ -122.292879999471154, 37.870326001118279 ], [ -122.293280000008437, 37.871526001058086 ], [ -122.293638000485487, 37.872448000649818 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1021, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.271080000425016, 37.871825000672501 ], [ -122.272180000094707, 37.871725000265535 ], [ -122.27338000017194, 37.87152500100688 ], [ -122.273679999518947, 37.87242500101204 ], [ -122.273679999945216, 37.873325000982447 ], [ -122.273680000193025, 37.874225000816011 ], [ -122.273880000050056, 37.875025000303083 ], [ -122.273980000334404, 37.87592500104553 ], [ -122.274080000474541, 37.877725000900313 ], [ -122.272779999639226, 37.877925000974827 ], [ -122.271780000145029, 37.878025000535807 ], [ -122.270480000477306, 37.878225000394934 ], [ -122.269479999610681, 37.878325001102951 ], [ -122.268280000326172, 37.878425000471594 ], [ -122.267280000458499, 37.878625000460275 ], [ -122.266179999706893, 37.878725000473167 ], [ -122.265879999699038, 37.877325000720525 ], [ -122.265779999883478, 37.877125000829132 ], [ -122.266179999687907, 37.875425000977465 ], [ -122.265879999953327, 37.874225000572622 ], [ -122.266779999956739, 37.874125000457838 ], [ -122.266679999736255, 37.873325000957379 ], [ -122.266580000351766, 37.872425000313562 ], [ -122.267180000362274, 37.872425000702776 ], [ -122.26752899952335, 37.872347000875443 ], [ -122.268079999655853, 37.872225000355279 ], [ -122.268679999733777, 37.872125001123557 ], [ -122.271080000425016, 37.871825000672501 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1019, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.244679000315955, 37.869425000762504 ], [ -122.245846000123223, 37.870058000959084 ], [ -122.247478999561864, 37.870725000526534 ], [ -122.248865999688221, 37.869968000453369 ], [ -122.2496790001899, 37.86952500059104 ], [ -122.250078999497816, 37.869425000246295 ], [ -122.250879000436498, 37.869425000940041 ], [ -122.252779000275666, 37.869425000385718 ], [ -122.252779000040249, 37.869825000521324 ], [ -122.254652999627808, 37.869570000753164 ], [ -122.254980000197577, 37.869525000540236 ], [ -122.2574799998103, 37.869225000465605 ], [ -122.258758000142947, 37.869003000738545 ], [ -122.259780000341053, 37.868825000326758 ], [ -122.261879999722566, 37.868625000386402 ], [ -122.264279999691539, 37.86832500104417 ], [ -122.266479999519149, 37.867926000448549 ], [ -122.266580000156878, 37.868825000498191 ], [ -122.266380000115404, 37.869325000628208 ], [ -122.2661799995943, 37.869825000362475 ], [ -122.266179999450003, 37.870125000672502 ], [ -122.266280000524588, 37.87062500071945 ], [ -122.266367000217386, 37.87132200051429 ], [ -122.266380000065936, 37.871425000884521 ], [ -122.266580000351766, 37.872425000313562 ], [ -122.266679999736255, 37.873325000957379 ], [ -122.266779999956739, 37.874125000457838 ], [ -122.265879999953327, 37.874225000572622 ], [ -122.264679999554332, 37.874525000550051 ], [ -122.262779999868002, 37.874825000696191 ], [ -122.260779999402757, 37.87502500108446 ], [ -122.258879999867773, 37.875325000325887 ], [ -122.257280000340458, 37.875425000754689 ], [ -122.256179999815643, 37.875625000298832 ], [ -122.255580000256558, 37.875725000465799 ], [ -122.255248000514683, 37.875744000786291 ], [ -122.255622999572907, 37.878395000527533 ], [ -122.255337999784629, 37.878415000320757 ], [ -122.255592999976756, 37.880194000367872 ], [ -122.251279000142233, 37.880625001017798 ], [ -122.248678999899724, 37.880825000604439 ], [ -122.245679000147717, 37.880925000557873 ], [ -122.245678999961669, 37.880425000610707 ], [ -122.245579000434134, 37.879225000952282 ], [ -122.245278999440103, 37.876625000718661 ], [ -122.245179000260293, 37.875425000909921 ], [ -122.2449329999573, 37.873130000340275 ], [ -122.244878999764268, 37.872625000960298 ], [ -122.244778999698454, 37.871925000726456 ], [ -122.244692000101892, 37.869757000629043 ], [ -122.244679000315955, 37.869425000762504 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1008, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.263480000178816, 37.864626000846968 ], [ -122.265779999895301, 37.864326000705887 ], [ -122.265879999565939, 37.865226000462997 ], [ -122.266079999788829, 37.866126000614656 ], [ -122.26628000037131, 37.866926001060001 ], [ -122.266479999519149, 37.867926000448549 ], [ -122.264279999691539, 37.86832500104417 ], [ -122.261879999722566, 37.868625000386402 ], [ -122.259780000341053, 37.868825000326758 ], [ -122.258758000142947, 37.869003000738545 ], [ -122.2574799998103, 37.869225000465605 ], [ -122.254980000197577, 37.869525000540236 ], [ -122.25487999953458, 37.868525000739453 ], [ -122.254780000347623, 37.867625000786845 ], [ -122.254680000001258, 37.866725000616547 ], [ -122.254379999571228, 37.865826000575844 ], [ -122.255680000499567, 37.865626000740178 ], [ -122.25678000048768, 37.865526000535709 ], [ -122.257079999639075, 37.865526000279814 ], [ -122.258379999551963, 37.865326000301287 ], [ -122.258979999692514, 37.865326000789054 ], [ -122.261280000349274, 37.864926000287817 ], [ -122.263480000178816, 37.864626000846968 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1017, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.273080000385193, 37.868826000637867 ], [ -122.272879999390597, 37.867026000844497 ], [ -122.272779999992878, 37.865226000531052 ], [ -122.272580000416198, 37.864426000723682 ], [ -122.272480000299538, 37.863326000300354 ], [ -122.273580000068222, 37.863226000566634 ], [ -122.274880000309182, 37.863126000281895 ], [ -122.275879999834501, 37.863026000338351 ], [ -122.277079999884393, 37.862826000310434 ], [ -122.278179999873643, 37.862626000502033 ], [ -122.279080000519855, 37.862526001051755 ], [ -122.280379999985428, 37.862326000913804 ], [ -122.281379999738519, 37.862226001032226 ], [ -122.281679999978323, 37.86402600028751 ], [ -122.281880000197404, 37.865826000385013 ], [ -122.281879999866931, 37.867426000716833 ], [ -122.281972999960175, 37.868046000260875 ], [ -122.282179999840565, 37.86942600037051 ], [ -122.282379999994731, 37.87022600080131 ], [ -122.280180000324364, 37.870525000870927 ], [ -122.278979999389904, 37.870625000957389 ], [ -122.277880000473459, 37.870825000296229 ], [ -122.275679999852258, 37.871125000337869 ], [ -122.27338000017194, 37.87152500100688 ], [ -122.273279999747515, 37.870625000946823 ], [ -122.273180000386233, 37.869825000828321 ], [ -122.273080000385193, 37.868826000637867 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1015, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.294780000450842, 37.868726000751813 ], [ -122.293579999517604, 37.868726000908438 ], [ -122.293508999592518, 37.868744000919413 ], [ -122.292380000250645, 37.869026000453729 ], [ -122.292116999777917, 37.868115000324885 ], [ -122.292033999731615, 37.867734000522915 ], [ -122.291879999884074, 37.867226000521271 ], [ -122.291580000117165, 37.866326000240647 ], [ -122.290979999461783, 37.864626000993695 ], [ -122.290680000372703, 37.863626000477311 ], [ -122.290380000163026, 37.862826000670786 ], [ -122.289779999645219, 37.861126000842873 ], [ -122.290879999836747, 37.860926001043829 ], [ -122.292079999394232, 37.860626000563187 ], [ -122.29307999984934, 37.86042600075244 ], [ -122.29357999977239, 37.86032600080388 ], [ -122.29438000012324, 37.860126000254176 ], [ -122.295379999675006, 37.860026001092187 ], [ -122.295679999809849, 37.860926000835867 ], [ -122.295879999530513, 37.861726000689337 ], [ -122.296579999900075, 37.863526000768658 ], [ -122.297079999702689, 37.865226000782449 ], [ -122.297580000235641, 37.866726000331951 ], [ -122.297979999453972, 37.867926000564474 ], [ -122.296980000425862, 37.868226000248434 ], [ -122.295879999600643, 37.868426000551715 ], [ -122.294780000450842, 37.868726000751813 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1012, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.272480000299538, 37.863326000300354 ], [ -122.272380000127328, 37.862626000659027 ], [ -122.272280000471369, 37.861626000938472 ], [ -122.272279999955998, 37.860726001075449 ], [ -122.272180000349351, 37.859826000374404 ], [ -122.272079999578366, 37.858926000356774 ], [ -122.271979999916439, 37.858026001036613 ], [ -122.271879999503355, 37.857026000248474 ], [ -122.271779999407897, 37.856226000855578 ], [ -122.271679999525105, 37.854426001023413 ], [ -122.272580000198701, 37.854226000783036 ], [ -122.273679999657801, 37.854126000308831 ], [ -122.274679999418453, 37.854026000907027 ], [ -122.277280000516512, 37.85362600062507 ], [ -122.279390000246664, 37.853434000400078 ], [ -122.279479999491684, 37.853426000558017 ], [ -122.27957999983316, 37.854326000860617 ], [ -122.2796800002384, 37.855026001000269 ], [ -122.279979999754943, 37.856126000924746 ], [ -122.280080000206084, 37.857026000435518 ], [ -122.280379999400481, 37.857826000581831 ], [ -122.28057999960734, 37.858726000385971 ], [ -122.280779999951406, 37.859626000636347 ], [ -122.280980000441573, 37.860526000431783 ], [ -122.281180000360578, 37.861326000338757 ], [ -122.281379999738519, 37.862226001032226 ], [ -122.280379999985428, 37.862326000913804 ], [ -122.279080000519855, 37.862526001051755 ], [ -122.278179999873643, 37.862626000502033 ], [ -122.277079999884393, 37.862826000310434 ], [ -122.275879999834501, 37.863026000338351 ], [ -122.274880000309182, 37.863126000281895 ], [ -122.273580000068222, 37.863226000566634 ], [ -122.272480000299538, 37.863326000300354 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1010, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.262779999848561, 37.861126000262473 ], [ -122.260580000379235, 37.861426000738646 ], [ -122.25958000041382, 37.861526000531249 ], [ -122.257980000432354, 37.861726000427957 ], [ -122.256780000188641, 37.861826001053281 ], [ -122.25547999967398, 37.861926000661867 ], [ -122.25418000028553, 37.862026000326232 ], [ -122.253979999635035, 37.861526000532628 ], [ -122.253979999548193, 37.860826001057113 ], [ -122.253980000496284, 37.860126000604872 ], [ -122.253979999765946, 37.85992600109801 ], [ -122.253780000440813, 37.858626000890411 ], [ -122.25367999978927, 37.857326000351058 ], [ -122.254879999762849, 37.857126000962715 ], [ -122.256061999878767, 37.856997001125194 ], [ -122.25738000014384, 37.856726000370621 ], [ -122.258380000507046, 37.856626000903979 ], [ -122.258679999978426, 37.856626000928827 ], [ -122.260180000236502, 37.856426000730437 ], [ -122.26187999982362, 37.856226000504293 ], [ -122.262979999542182, 37.856026000759627 ], [ -122.264080000198703, 37.855826000625967 ], [ -122.264279999475932, 37.857226000296102 ], [ -122.264480000187604, 37.858026000306722 ], [ -122.264679999533413, 37.859026000440423 ], [ -122.264880000334841, 37.859926000735719 ], [ -122.264979999907453, 37.86082600094899 ], [ -122.262779999848561, 37.861126000262473 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1006, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.25418000028553, 37.862026000326232 ], [ -122.254079999389617, 37.862226000783117 ], [ -122.254279999926823, 37.863826001096548 ], [ -122.254180000205281, 37.864026000675224 ], [ -122.254379999571228, 37.865826000575844 ], [ -122.253279000229711, 37.86582600072019 ], [ -122.252179000423894, 37.866026000706562 ], [ -122.251378999792152, 37.866026000892319 ], [ -122.250279000079431, 37.866125000598991 ], [ -122.24937900025067, 37.866125001109381 ], [ -122.248279000184851, 37.866025000430646 ], [ -122.247078999523808, 37.866125000887948 ], [ -122.246504999861784, 37.866125000664859 ], [ -122.246178999869727, 37.866125000367937 ], [ -122.244379000036332, 37.865925001121028 ], [ -122.244306999763054, 37.864780001076774 ], [ -122.244241999644913, 37.863740001097113 ], [ -122.244209999824946, 37.863220001085452 ], [ -122.244179000160742, 37.86272600069065 ], [ -122.243978999711857, 37.861026000853329 ], [ -122.243979000107359, 37.86062600033047 ], [ -122.243798999868318, 37.859275001091085 ], [ -122.243779000492992, 37.859126000826947 ], [ -122.24387899981626, 37.858626000499285 ], [ -122.243378999902305, 37.858826001127561 ], [ -122.242478999612132, 37.85782600079002 ], [ -122.243164000459061, 37.857982000420087 ], [ -122.243778999988606, 37.858026000779972 ], [ -122.245438000165876, 37.857996000241471 ], [ -122.246663000436214, 37.857961000332566 ], [ -122.247597000016356, 37.857952000987645 ], [ -122.248578999471022, 37.85792600025384 ], [ -122.249589000382358, 37.857863000481096 ], [ -122.250479000254202, 37.857826001117985 ], [ -122.251379000066706, 37.857726000561264 ], [ -122.251593000233925, 37.857696000485397 ], [ -122.252779999618852, 37.857826000549665 ], [ -122.25287499948314, 37.857460000747153 ], [ -122.25367999978927, 37.857326000351058 ], [ -122.253780000440813, 37.858626000890411 ], [ -122.253979999765946, 37.85992600109801 ], [ -122.253980000496284, 37.860126000604872 ], [ -122.253979999548193, 37.860826001057113 ], [ -122.253979999635035, 37.861526000532628 ], [ -122.25418000028553, 37.862026000326232 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1002, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.269580000012922, 37.848926000444443 ], [ -122.270080000078892, 37.848726000297972 ], [ -122.270080000374861, 37.848326001065352 ], [ -122.26957999963517, 37.847526000836766 ], [ -122.269580000397085, 37.847226000239573 ], [ -122.271579999629921, 37.846826001101043 ], [ -122.271680000130686, 37.847126001104151 ], [ -122.271879999538754, 37.848026000524214 ], [ -122.271980000181188, 37.848826000893496 ], [ -122.271680000424695, 37.84972600045996 ], [ -122.271179999699314, 37.850726001123711 ], [ -122.271279999417175, 37.851626000341497 ], [ -122.271380000408342, 37.852626000681795 ], [ -122.271679999525105, 37.854426001023413 ], [ -122.270480000144673, 37.854526000483226 ], [ -122.269680000343286, 37.854626000655543 ], [ -122.269679999592185, 37.855026000355657 ], [ -122.267879999508068, 37.85532600041789 ], [ -122.266980000385601, 37.855426000295637 ], [ -122.266080000007634, 37.85552600048414 ], [ -122.265079999489501, 37.855626000583932 ], [ -122.264080000198703, 37.855826000625967 ], [ -122.262979999542182, 37.856026000759627 ], [ -122.262779999922117, 37.855026000967626 ], [ -122.2624800000969, 37.853726000631056 ], [ -122.262380000440189, 37.852826000994376 ], [ -122.262379999426585, 37.852626000245422 ], [ -122.266679999704081, 37.852226000359416 ], [ -122.267580000427799, 37.85202600035889 ], [ -122.268480000220478, 37.852026000592502 ], [ -122.269480000011967, 37.851826000647108 ], [ -122.26937999969428, 37.851226000428284 ], [ -122.269279999773673, 37.850626000974636 ], [ -122.269179999789642, 37.850126000934374 ], [ -122.268979999988431, 37.849326000523334 ], [ -122.268880000516504, 37.848926000610184 ], [ -122.269580000012922, 37.848926000444443 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 995, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.279479999491684, 37.853426000558017 ], [ -122.279390000246664, 37.853434000400078 ], [ -122.277280000516512, 37.85362600062507 ], [ -122.274679999418453, 37.854026000907027 ], [ -122.273679999657801, 37.854126000308831 ], [ -122.272580000198701, 37.854226000783036 ], [ -122.271679999525105, 37.854426001023413 ], [ -122.271380000408342, 37.852626000681795 ], [ -122.271279999417175, 37.851626000341497 ], [ -122.271179999699314, 37.850726001123711 ], [ -122.271680000424695, 37.84972600045996 ], [ -122.271980000181188, 37.848826000893496 ], [ -122.271879999538754, 37.848026000524214 ], [ -122.271680000130686, 37.847126001104151 ], [ -122.271579999629921, 37.846826001101043 ], [ -122.271879999392908, 37.846826000676472 ], [ -122.272880000467552, 37.846726000733497 ], [ -122.27377999960855, 37.84662600110827 ], [ -122.275979999627324, 37.846326000859435 ], [ -122.276480000519342, 37.846226000907834 ], [ -122.276579999677509, 37.846526000454119 ], [ -122.276679999990179, 37.847426000473995 ], [ -122.276879999505041, 37.847926000307929 ], [ -122.27797999975877, 37.847743000308114 ], [ -122.278080000374047, 37.847726000296987 ], [ -122.27837999960272, 37.848126000805891 ], [ -122.278280000363978, 37.849026001096355 ], [ -122.278679999440143, 37.849726000495188 ], [ -122.278779999447636, 37.850526000574028 ], [ -122.278779999405074, 37.850726000667265 ], [ -122.278980000082967, 37.85122600036371 ], [ -122.278979999871879, 37.851626000500154 ], [ -122.278998999981866, 37.851678000786649 ], [ -122.279280000326025, 37.85242600043911 ], [ -122.279479999491684, 37.853426000558017 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 991, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.301279999549223, 37.84732600032936 ], [ -122.300780000325716, 37.847445000476476 ], [ -122.300353999836929, 37.847520000642369 ], [ -122.300111000480939, 37.847564000909024 ], [ -122.298699000100811, 37.847941000952268 ], [ -122.297877000263128, 37.848125000885609 ], [ -122.29685399962824, 37.84832300078844 ], [ -122.295386000143665, 37.84857200028258 ], [ -122.295080000247765, 37.848626000580929 ], [ -122.293680000344509, 37.84902600048116 ], [ -122.292580000094674, 37.849326001130372 ], [ -122.289780000042612, 37.849926000811777 ], [ -122.289379999520136, 37.849926000358955 ], [ -122.289179999737613, 37.849626001075627 ], [ -122.288779999879736, 37.848526000350518 ], [ -122.288480000229427, 37.847526000917746 ], [ -122.288379999956376, 37.846926000481069 ], [ -122.288279999752362, 37.846526000243784 ], [ -122.287979999798736, 37.845926000876766 ], [ -122.28768000010767, 37.845026000596974 ], [ -122.287379999946339, 37.844226000997104 ], [ -122.2871800001503, 37.843526000896375 ], [ -122.286780000226344, 37.842126000374186 ], [ -122.286279999455161, 37.840426000262248 ], [ -122.286080000123661, 37.83992600027085 ], [ -122.285480000351711, 37.838126000345149 ], [ -122.285179999422667, 37.837426000580372 ], [ -122.28497999983253, 37.836826000472399 ], [ -122.284680000037639, 37.837026000806411 ], [ -122.284179999963456, 37.837026001031525 ], [ -122.282343000148018, 37.837407000721356 ], [ -122.282312000128456, 37.837298000887742 ], [ -122.282180000297956, 37.836826000844518 ], [ -122.281524999884923, 37.836957000280862 ], [ -122.281198000289407, 37.837022001012961 ], [ -122.280754000384007, 37.837110000366614 ], [ -122.279969000364275, 37.83726600033711 ], [ -122.27950199943507, 37.837187000781526 ], [ -122.279280000393172, 37.837150000594917 ], [ -122.278984999493943, 37.83710000070495 ], [ -122.276779999653471, 37.836826000934551 ], [ -122.276122999788853, 37.836797000305644 ], [ -122.276279999534211, 37.836326000977387 ], [ -122.276579999735091, 37.835826000984426 ], [ -122.276880000333449, 37.835126000483818 ], [ -122.277080000135555, 37.834526000757457 ], [ -122.277380000517994, 37.833727000259344 ], [ -122.277580000268458, 37.833127000412183 ], [ -122.277880000229089, 37.832327000668592 ], [ -122.278280000039871, 37.831427000975737 ], [ -122.278680000194655, 37.830527000652239 ], [ -122.278879999673961, 37.82972700100931 ], [ -122.279080000106362, 37.829027000868173 ], [ -122.279079999787598, 37.828727000979754 ], [ -122.27877999965888, 37.827827000482138 ], [ -122.278579999579364, 37.827327000554455 ], [ -122.27907999970256, 37.827427000395694 ], [ -122.280079999479312, 37.827627000928331 ], [ -122.281280000075796, 37.828027000461958 ], [ -122.281580000277813, 37.82792700026144 ], [ -122.282479999544506, 37.828127000431891 ], [ -122.282879999564287, 37.828227000408418 ], [ -122.285380000356042, 37.828927000861306 ], [ -122.285880000153043, 37.829027000724075 ], [ -122.28657999972242, 37.829327000571112 ], [ -122.287879999769487, 37.829627000615467 ], [ -122.288492000074541, 37.829780000468979 ], [ -122.289079999503201, 37.829927001044176 ], [ -122.290379999890874, 37.830227000583598 ], [ -122.291479999908432, 37.830527000444491 ], [ -122.291937999456465, 37.830618000991414 ], [ -122.293001999896461, 37.830831000389161 ], [ -122.293479999818501, 37.830927000950119 ], [ -122.293679999528976, 37.831127000944981 ], [ -122.294061999983626, 37.831485000558395 ], [ -122.297779999692636, 37.832627000392364 ], [ -122.297579999976364, 37.833227001012425 ], [ -122.299479999552673, 37.83662700092691 ], [ -122.311145999566833, 37.83672700052621 ], [ -122.311273000387075, 37.83676500030014 ], [ -122.311180000102141, 37.837427001091221 ], [ -122.311181000106188, 37.837515000730875 ], [ -122.311120999822919, 37.837502000951353 ], [ -122.304383999496721, 37.838414001092382 ], [ -122.303279999914238, 37.838526001020263 ], [ -122.303298000198509, 37.838690000465228 ], [ -122.303379999698663, 37.839426000651436 ], [ -122.298279999928752, 37.840326000242662 ], [ -122.300380000453089, 37.84632600092857 ], [ -122.302779999897254, 37.84582600109281 ], [ -122.302979999782323, 37.846526000272434 ], [ -122.301279999549223, 37.84732600032936 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 918, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.232571000364842, 37.823880000289719 ], [ -122.231978999918795, 37.824127000307108 ], [ -122.232278999720833, 37.824727000773052 ], [ -122.232378999992918, 37.825027001115288 ], [ -122.232478999864924, 37.825527000869315 ], [ -122.232978999682885, 37.826127000240987 ], [ -122.233678999802777, 37.827426000576551 ], [ -122.233878999989955, 37.827926000676058 ], [ -122.234279000250353, 37.828726000346649 ], [ -122.235279000481199, 37.83042600052314 ], [ -122.236578999735897, 37.830526000669188 ], [ -122.236979000462298, 37.830726000993195 ], [ -122.236078999667924, 37.831026000762662 ], [ -122.235581000188247, 37.831118000427239 ], [ -122.234330999524303, 37.831348001088287 ], [ -122.232279000427226, 37.831726000590862 ], [ -122.22807899998206, 37.833026001110227 ], [ -122.227179000000859, 37.832326000454003 ], [ -122.226278999829091, 37.831926000761584 ], [ -122.225827000085005, 37.831613001074686 ], [ -122.224979000359141, 37.831026000850137 ], [ -122.224479000399029, 37.830326000959666 ], [ -122.223879000000736, 37.829226000251992 ], [ -122.222779000017908, 37.827526000454498 ], [ -122.222478999471704, 37.827126000924629 ], [ -122.221178999850878, 37.825626000484768 ], [ -122.218427000457027, 37.823527000840485 ], [ -122.217377999864269, 37.822727000962601 ], [ -122.216777999989404, 37.822527000540049 ], [ -122.216577999768361, 37.822327000404158 ], [ -122.215378000491967, 37.821527000333383 ], [ -122.214478000302762, 37.821027000992181 ], [ -122.212277999506483, 37.81992700060276 ], [ -122.211477999581561, 37.819427000889462 ], [ -122.210178000267291, 37.818727000976182 ], [ -122.212578000094084, 37.81692700044627 ], [ -122.214078000391538, 37.81362700039729 ], [ -122.21497799954625, 37.812827000420413 ], [ -122.215178000065592, 37.812627000400937 ], [ -122.216577999461705, 37.812727000412735 ], [ -122.217718000480559, 37.812988001093025 ], [ -122.220078999965693, 37.81352700039951 ], [ -122.221278999527144, 37.813827000763617 ], [ -122.222678999794141, 37.81412700025264 ], [ -122.223079000424761, 37.814227001035292 ], [ -122.225278999991815, 37.814727000516697 ], [ -122.229278999504956, 37.815627000792517 ], [ -122.231978999814046, 37.816227000307521 ], [ -122.233279000345831, 37.816527000701633 ], [ -122.233879000454024, 37.816727001058474 ], [ -122.235179000525505, 37.817027000351182 ], [ -122.236578999670584, 37.817227000867177 ], [ -122.237478999572701, 37.817327000947991 ], [ -122.239279000459632, 37.81772700109012 ], [ -122.237679000517446, 37.8183270003871 ], [ -122.237479000486331, 37.818527000775312 ], [ -122.236678999980285, 37.820227000389337 ], [ -122.236879000482531, 37.820327001055453 ], [ -122.237079000482098, 37.820627001107717 ], [ -122.238278999517846, 37.820527000467251 ], [ -122.238179000467909, 37.821427000523492 ], [ -122.237778999762625, 37.821827000572618 ], [ -122.237479000110056, 37.821927000912119 ], [ -122.236878999866377, 37.822427000580788 ], [ -122.236579000435668, 37.822627001134187 ], [ -122.236378999642312, 37.823027000885247 ], [ -122.235578999489817, 37.823027000248267 ], [ -122.234579000213046, 37.823127000410118 ], [ -122.233979000065375, 37.822927000896783 ], [ -122.233179000474919, 37.823627000558339 ], [ -122.232571000364842, 37.823880000289719 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 949, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.225179000168779, 37.755228000841377 ], [ -122.225578999823341, 37.755528000803309 ], [ -122.225979000200056, 37.7557280003332 ], [ -122.22577900041631, 37.756628000465156 ], [ -122.22667899999945, 37.757428000310931 ], [ -122.229878999792689, 37.759628000437928 ], [ -122.229579000455246, 37.759928000641438 ], [ -122.230378999776988, 37.760428000861189 ], [ -122.231079000309549, 37.760928000280323 ], [ -122.233579000143493, 37.762428000675946 ], [ -122.233978999537811, 37.762728000921406 ], [ -122.23487900012374, 37.763128000603984 ], [ -122.2358789994002, 37.763628000959216 ], [ -122.237179000043142, 37.764328000797484 ], [ -122.238479000202631, 37.765028000734922 ], [ -122.239079000178549, 37.765228000716093 ], [ -122.240779000164579, 37.766228001084166 ], [ -122.240179000287313, 37.767028000464443 ], [ -122.239479000282515, 37.767728000361203 ], [ -122.238778999622284, 37.768528000305075 ], [ -122.238078999964017, 37.769428000254358 ], [ -122.237378999718501, 37.770228000533621 ], [ -122.236778999505788, 37.771028000690102 ], [ -122.235078999607424, 37.770328001129151 ], [ -122.231742999452848, 37.768819000435634 ], [ -122.230878999713511, 37.768428000555708 ], [ -122.230378999882404, 37.768228000978887 ], [ -122.228279000199279, 37.766428000957127 ], [ -122.227579000371847, 37.765928000543994 ], [ -122.227379000060068, 37.765528000630219 ], [ -122.225378999995527, 37.763828000321467 ], [ -122.225340000439729, 37.762170000529018 ], [ -122.22530899943483, 37.76082500069537 ], [ -122.225277000151678, 37.759453000776865 ], [ -122.225179000168779, 37.755228000841377 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 960, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.252079999698822, 37.778428000585762 ], [ -122.252584000232702, 37.777756000633417 ], [ -122.253579999926785, 37.776428000780214 ], [ -122.253999999901268, 37.775798000284738 ], [ -122.254180000269272, 37.77552800100316 ], [ -122.254294999926373, 37.775585000932615 ], [ -122.254979999814921, 37.775928000351932 ], [ -122.255480000142072, 37.775128000329204 ], [ -122.255679999775225, 37.774928000562184 ], [ -122.256479999918426, 37.775328000591813 ], [ -122.257479999827495, 37.775728001059214 ], [ -122.258480000328149, 37.776128000271648 ], [ -122.259080000408559, 37.775428001059709 ], [ -122.259580000130555, 37.774528000628436 ], [ -122.260479999801674, 37.774728001021799 ], [ -122.261480000024918, 37.774928000354997 ], [ -122.262580000211315, 37.775028000718322 ], [ -122.263880000113588, 37.775028000354588 ], [ -122.265180000101722, 37.775028000968973 ], [ -122.266480000193411, 37.775028000758994 ], [ -122.267780000144555, 37.77522800042059 ], [ -122.268479999817657, 37.775128000404592 ], [ -122.269079999456096, 37.77512800046847 ], [ -122.269579999738752, 37.775128000444404 ], [ -122.269979999524466, 37.775228000606809 ], [ -122.270980000364375, 37.775228000719224 ], [ -122.273179999914362, 37.775328000563583 ], [ -122.276079999550547, 37.775328000674229 ], [ -122.277080000293537, 37.775428000335687 ], [ -122.277079999772482, 37.776528000527627 ], [ -122.277080000385894, 37.777428000704234 ], [ -122.27708000010314, 37.778428000635301 ], [ -122.277070999650192, 37.779493000529691 ], [ -122.277100000366204, 37.779959000310797 ], [ -122.277080000341314, 37.780828000333152 ], [ -122.277079999488734, 37.782332000655515 ], [ -122.277079999424728, 37.784028001126266 ], [ -122.277084999428908, 37.784444000317826 ], [ -122.277079999616134, 37.785328001102975 ], [ -122.277079999767111, 37.785828000880443 ], [ -122.277079999491036, 37.788228000305104 ], [ -122.276679999639043, 37.789428000658951 ], [ -122.27597999985332, 37.790428000837601 ], [ -122.275450000089037, 37.79078100106716 ], [ -122.275379999424374, 37.790828000774553 ], [ -122.274879999420051, 37.789228001123753 ], [ -122.271679999971553, 37.788028000678516 ], [ -122.268980000116471, 37.786428000411924 ], [ -122.270379999607499, 37.787028000782719 ], [ -122.269366999693361, 37.785703000500497 ], [ -122.269079999956446, 37.785328001040085 ], [ -122.268780000145128, 37.783528000796835 ], [ -122.268488000255772, 37.783618000573199 ], [ -122.266939999412372, 37.784094000690764 ], [ -122.26618000013184, 37.784328000974519 ], [ -122.265896000212877, 37.784228000455151 ], [ -122.265582999984161, 37.784117001033749 ], [ -122.264480000458917, 37.78372800086369 ], [ -122.262880000195182, 37.782728000895723 ], [ -122.262422000278775, 37.782798000678333 ], [ -122.261580000370813, 37.782928000844201 ], [ -122.261480000360578, 37.778328001137794 ], [ -122.260879999763901, 37.778128000494426 ], [ -122.259979999735222, 37.78262800028898 ], [ -122.2571799999143, 37.781228000879558 ], [ -122.258779999829301, 37.778628001122861 ], [ -122.256880000052476, 37.777528000690197 ], [ -122.254879999806178, 37.780428000487078 ], [ -122.255379999870442, 37.779028000373593 ], [ -122.252079999698822, 37.778428000585762 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 961, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.27597999985332, 37.790428000837601 ], [ -122.276679999639043, 37.789428000658951 ], [ -122.277079999491036, 37.788228000305104 ], [ -122.277079999767111, 37.785828000880443 ], [ -122.277079999616134, 37.785328001102975 ], [ -122.277084999428908, 37.784444000317826 ], [ -122.277079999424728, 37.784028001126266 ], [ -122.277079999488734, 37.782332000655515 ], [ -122.277080000341314, 37.780828000333152 ], [ -122.277100000366204, 37.779959000310797 ], [ -122.28013299977107, 37.780102001060577 ], [ -122.280906999636073, 37.78013800079183 ], [ -122.281403000316857, 37.780161000652832 ], [ -122.282680000342722, 37.780228000324286 ], [ -122.284179999549522, 37.78032800040706 ], [ -122.285280000213831, 37.780228000282399 ], [ -122.286912000195599, 37.78022800108922 ], [ -122.288279999732524, 37.780228000966133 ], [ -122.289479999912942, 37.78022800040138 ], [ -122.291279999952692, 37.780328000911751 ], [ -122.291704000038592, 37.780257000264818 ], [ -122.291880000497756, 37.780228000458997 ], [ -122.291779999583312, 37.782328000886942 ], [ -122.291780000491954, 37.78312800102151 ], [ -122.291821000229135, 37.783749000277055 ], [ -122.291780000472031, 37.783828000257728 ], [ -122.291779999978715, 37.784628001084059 ], [ -122.291780000463035, 37.78512800042423 ], [ -122.291780000090952, 37.786428000305357 ], [ -122.292079999997227, 37.787328000932099 ], [ -122.293879999507908, 37.788928001115856 ], [ -122.294307999440292, 37.789334000484814 ], [ -122.294379999700837, 37.789428000715723 ], [ -122.29482400018469, 37.789803000802898 ], [ -122.294880000144914, 37.790828000815218 ], [ -122.293880000330603, 37.791128001063001 ], [ -122.290880000277539, 37.792028001056195 ], [ -122.290579999942622, 37.790928000348629 ], [ -122.290279999548503, 37.792028000594478 ], [ -122.289879999824592, 37.790928000480363 ], [ -122.289580000193951, 37.792328000809626 ], [ -122.289179999729868, 37.790928000959127 ], [ -122.288680000482429, 37.79242800047431 ], [ -122.288380000472387, 37.790928000795802 ], [ -122.28787999972667, 37.792528001066287 ], [ -122.280679999810502, 37.792628000258411 ], [ -122.277280000211761, 37.791828000712826 ], [ -122.277080000289928, 37.79152800042484 ], [ -122.27597999985332, 37.790428000837601 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 962, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.281403000316857, 37.780161000652832 ], [ -122.280906999636073, 37.78013800079183 ], [ -122.28013299977107, 37.780102001060577 ], [ -122.277100000366204, 37.779959000310797 ], [ -122.277070999650192, 37.779493000529691 ], [ -122.27708000010314, 37.778428000635301 ], [ -122.277080000385894, 37.777428000704234 ], [ -122.277079999772482, 37.776528000527627 ], [ -122.277080000293537, 37.775428000335687 ], [ -122.279679999848895, 37.775528000570354 ], [ -122.281079999504897, 37.775528000809985 ], [ -122.281837000465998, 37.775575000956614 ], [ -122.282680000457574, 37.775628000652084 ], [ -122.285680000006195, 37.776628000797928 ], [ -122.28627999985288, 37.776628000744289 ], [ -122.28837999946883, 37.776628000829405 ], [ -122.289180000147596, 37.776628000377222 ], [ -122.289779999502628, 37.776728000516023 ], [ -122.290380000293482, 37.77672800032105 ], [ -122.291487000328615, 37.7768130007629 ], [ -122.291679999856271, 37.776828000672047 ], [ -122.291779999487716, 37.777928000512802 ], [ -122.291779999989402, 37.778228000459976 ], [ -122.291779999799289, 37.778828000301914 ], [ -122.292080000296721, 37.779928000960545 ], [ -122.291880000497756, 37.780228000458997 ], [ -122.291704000038592, 37.780257000264818 ], [ -122.291279999952692, 37.780328000911751 ], [ -122.289479999912942, 37.78022800040138 ], [ -122.288279999732524, 37.780228000966133 ], [ -122.286912000195599, 37.78022800108922 ], [ -122.285280000213831, 37.780228000282399 ], [ -122.284179999549522, 37.78032800040706 ], [ -122.282680000342722, 37.780228000324286 ], [ -122.281403000316857, 37.780161000652832 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 963, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.291679999856271, 37.776828000672047 ], [ -122.291487000328615, 37.7768130007629 ], [ -122.290380000293482, 37.77672800032105 ], [ -122.289779999502628, 37.776728000516023 ], [ -122.289180000147596, 37.776628000377222 ], [ -122.28837999946883, 37.776628000829405 ], [ -122.28627999985288, 37.776628000744289 ], [ -122.285680000006195, 37.776628000797928 ], [ -122.282680000457574, 37.775628000652084 ], [ -122.281837000465998, 37.775575000956614 ], [ -122.281079999504897, 37.775528000809985 ], [ -122.279679999848895, 37.775528000570354 ], [ -122.277080000293537, 37.775428000335687 ], [ -122.27717999952398, 37.774428000476661 ], [ -122.277180000503719, 37.773528000754062 ], [ -122.277279999632384, 37.772628000469147 ], [ -122.277280000482236, 37.771628000460588 ], [ -122.278779999456447, 37.77162800108065 ], [ -122.278712999771486, 37.768567001108067 ], [ -122.279024999984443, 37.768558001002745 ], [ -122.279248999730171, 37.768554000393578 ], [ -122.280519000059584, 37.76852800108604 ], [ -122.28063799972152, 37.768539000695561 ], [ -122.280638999582038, 37.76873700064543 ], [ -122.280600000121041, 37.770438001117263 ], [ -122.280683999899153, 37.770490001089208 ], [ -122.2821280004339, 37.770117000431952 ], [ -122.28237299981609, 37.769535000662849 ], [ -122.283398000392637, 37.769467000380942 ], [ -122.28359999999681, 37.768760000868895 ], [ -122.284321999970942, 37.768935001087222 ], [ -122.284752000250563, 37.769554000870514 ], [ -122.286380000067311, 37.7696280010057 ], [ -122.288479999771297, 37.768828000314898 ], [ -122.288780000327122, 37.769128000979023 ], [ -122.289680000035403, 37.769928000943203 ], [ -122.29148000039828, 37.769028000839867 ], [ -122.291480000377291, 37.769828000935867 ], [ -122.291454999558496, 37.773126000500525 ], [ -122.29145499966495, 37.773190000540879 ], [ -122.291480000156355, 37.774528001023867 ], [ -122.291580000379597, 37.775528000513859 ], [ -122.291679999856271, 37.776828000672047 ] ] ], [ [ [ -122.287580000391841, 37.764828000650041 ], [ -122.288980000454046, 37.766128000433987 ], [ -122.286679999580144, 37.76882800044897 ], [ -122.286479999901943, 37.769028000281814 ], [ -122.285479999776712, 37.768228000544482 ], [ -122.285279999468656, 37.768028000610499 ], [ -122.285180000285138, 37.767928000521238 ], [ -122.284379999694835, 37.767228000416452 ], [ -122.284880000375082, 37.767328000264015 ], [ -122.285932000191693, 37.767538000472491 ], [ -122.286380000339847, 37.767628000605754 ], [ -122.286979999994671, 37.765528000795953 ], [ -122.282079999550078, 37.763628001060809 ], [ -122.282221999655945, 37.763638000814389 ], [ -122.286480000338031, 37.763929000462156 ], [ -122.287580000391841, 37.764828000650041 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 955, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.24277899961622, 37.763828000791918 ], [ -122.243478999803386, 37.762928000446202 ], [ -122.243690000234508, 37.762687000674411 ], [ -122.244179999708635, 37.76212800032372 ], [ -122.245279999414336, 37.762628001003172 ], [ -122.248179999769945, 37.763828000580268 ], [ -122.250980000098551, 37.765128000869403 ], [ -122.254180000488319, 37.766528001037969 ], [ -122.253380000392767, 37.767428000909355 ], [ -122.252779999600449, 37.768328000770083 ], [ -122.251979999773951, 37.769428000436179 ], [ -122.251079999583197, 37.77062800045843 ], [ -122.250761000115403, 37.770485000262624 ], [ -122.248180000097591, 37.76932800030216 ], [ -122.245279999896511, 37.768128000905783 ], [ -122.243578999605134, 37.767328001027089 ], [ -122.242378999748837, 37.766828000583963 ], [ -122.240779000164579, 37.766228001084166 ], [ -122.241279000049332, 37.76562800073151 ], [ -122.241879000246584, 37.764928000793098 ], [ -122.242479000397154, 37.764228000371993 ], [ -122.24277899961622, 37.763828000791918 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 950, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.226378999901371, 37.754128000406432 ], [ -122.226879000488083, 37.754428000752313 ], [ -122.227278999658523, 37.754628000393787 ], [ -122.228678999836362, 37.753328000259941 ], [ -122.22947900006281, 37.752628000884435 ], [ -122.230179000234315, 37.753128000541352 ], [ -122.230979000230022, 37.753528000514535 ], [ -122.231865000308559, 37.754183000976802 ], [ -122.232685999775441, 37.754790000592656 ], [ -122.23327900005404, 37.755228000751934 ], [ -122.234079000285917, 37.755828000499207 ], [ -122.234779000084828, 37.756328000768683 ], [ -122.235579000360673, 37.756928000241288 ], [ -122.236379000448082, 37.757428000573967 ], [ -122.237479000213085, 37.758128000957797 ], [ -122.23767899942797, 37.758328000580825 ], [ -122.238479000284741, 37.75882800109207 ], [ -122.239379000043598, 37.759328000807017 ], [ -122.240079000389798, 37.759728000249652 ], [ -122.240578999800036, 37.760028000264469 ], [ -122.242079000441038, 37.760828000237979 ], [ -122.242878999868111, 37.761328000645854 ], [ -122.243104000324735, 37.761506000259971 ], [ -122.243378999762939, 37.761628000514463 ], [ -122.244179999708635, 37.76212800032372 ], [ -122.243690000234508, 37.762687000674411 ], [ -122.243478999803386, 37.762928000446202 ], [ -122.24277899961622, 37.763828000791918 ], [ -122.242479000397154, 37.764228000371993 ], [ -122.241879000246584, 37.764928000793098 ], [ -122.241279000049332, 37.76562800073151 ], [ -122.240779000164579, 37.766228001084166 ], [ -122.239079000178549, 37.765228000716093 ], [ -122.238479000202631, 37.765028000734922 ], [ -122.237179000043142, 37.764328000797484 ], [ -122.2358789994002, 37.763628000959216 ], [ -122.23487900012374, 37.763128000603984 ], [ -122.233978999537811, 37.762728000921406 ], [ -122.233579000143493, 37.762428000675946 ], [ -122.231079000309549, 37.760928000280323 ], [ -122.230378999776988, 37.760428000861189 ], [ -122.229579000455246, 37.759928000641438 ], [ -122.229878999792689, 37.759628000437928 ], [ -122.22667899999945, 37.757428000310931 ], [ -122.22577900041631, 37.756628000465156 ], [ -122.225979000200056, 37.7557280003332 ], [ -122.225578999823341, 37.755528000803309 ], [ -122.225179000168779, 37.755228000841377 ], [ -122.226378999901371, 37.754128000406432 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 952, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.22637900004996, 37.746929000355387 ], [ -122.226665999573072, 37.745110000578897 ], [ -122.226548000143268, 37.745094000488486 ], [ -122.225478999433193, 37.74495200060737 ], [ -122.225161000504698, 37.744910000561148 ], [ -122.225152999821844, 37.744758000901918 ], [ -122.225565999908127, 37.731899000726273 ], [ -122.225657000443277, 37.731713000279967 ], [ -122.225787999765515, 37.731420001131973 ], [ -122.226173000475271, 37.731014000305599 ], [ -122.226640000379831, 37.730371000283931 ], [ -122.226313999537894, 37.726553000277939 ], [ -122.228059999923587, 37.726867000635806 ], [ -122.228378999882509, 37.726529000988073 ], [ -122.228624000465814, 37.726278001127582 ], [ -122.236079000261384, 37.718630000814102 ], [ -122.236879000164862, 37.719030000304954 ], [ -122.246179000316772, 37.725629000423488 ], [ -122.244779000055033, 37.725329000514847 ], [ -122.256480000147192, 37.737029000895582 ], [ -122.256802000115371, 37.73756200027541 ], [ -122.25679000043921, 37.737724001074795 ], [ -122.256415000065473, 37.73770000093036 ], [ -122.255693000394103, 37.737671000467024 ], [ -122.253677999908547, 37.737697000422237 ], [ -122.251280000383062, 37.737729000638147 ], [ -122.250560999510967, 37.737867000667293 ], [ -122.250343000498589, 37.737843000514701 ], [ -122.249859000409174, 37.73779100085217 ], [ -122.249628000342923, 37.737741000350965 ], [ -122.249429999535906, 37.737698000908274 ], [ -122.249111999888328, 37.737630000509057 ], [ -122.248846999975186, 37.737564000833835 ], [ -122.248745000011581, 37.737539000970436 ], [ -122.24837999979475, 37.737329000376803 ], [ -122.24764700015136, 37.737089000850929 ], [ -122.247019999637615, 37.736913000948292 ], [ -122.246775999718281, 37.736883000236332 ], [ -122.246578999585779, 37.736829001011202 ], [ -122.246149999407479, 37.736875001002453 ], [ -122.245463999665432, 37.73679900076673 ], [ -122.244959999761605, 37.736661000455449 ], [ -122.244778999401547, 37.736629000759294 ], [ -122.244278999479718, 37.73642900038346 ], [ -122.243261999678822, 37.736116000320969 ], [ -122.242978999946359, 37.736029000271671 ], [ -122.241678999971981, 37.735729000680287 ], [ -122.241445999752727, 37.735682000613188 ], [ -122.241179000461599, 37.735629001114113 ], [ -122.240578999729735, 37.735429001031243 ], [ -122.240378999565237, 37.735329000792518 ], [ -122.239378999504126, 37.735129000248158 ], [ -122.238514999399143, 37.735895000331993 ], [ -122.238399000088805, 37.735998000728998 ], [ -122.238178999519391, 37.73682900038321 ], [ -122.237878999737177, 37.73722900033431 ], [ -122.237878999548371, 37.737627000850708 ], [ -122.237698999550133, 37.738169000556617 ], [ -122.237678999521506, 37.738229000301985 ], [ -122.236978999652976, 37.739029000937869 ], [ -122.236888000277403, 37.739408000243138 ], [ -122.236796999876859, 37.739637000778096 ], [ -122.236689999955743, 37.740064000978194 ], [ -122.236506999649976, 37.740514000508064 ], [ -122.236353999657283, 37.74107100105843 ], [ -122.236353999722567, 37.741224001044841 ], [ -122.236324000354315, 37.741788001134211 ], [ -122.236278000074321, 37.742017000687433 ], [ -122.236231999835439, 37.742315000846986 ], [ -122.236178999778701, 37.742629000717528 ], [ -122.236018999525754, 37.742925001002057 ], [ -122.23589699968214, 37.743269000566741 ], [ -122.235538999467522, 37.744015000908895 ], [ -122.235454000480516, 37.744192001138451 ], [ -122.235026999551252, 37.744871000420076 ], [ -122.234679000201098, 37.745429001117323 ], [ -122.234386000350739, 37.745870000397062 ], [ -122.233979000023453, 37.746229000556752 ], [ -122.234310000058699, 37.746328000576106 ], [ -122.234583999667052, 37.746435000864409 ], [ -122.234844000103223, 37.746557000245026 ], [ -122.235285999815702, 37.746824000956153 ], [ -122.235697999524945, 37.747137000238375 ], [ -122.235804999524603, 37.747373000478184 ], [ -122.235878999618279, 37.747529001043119 ], [ -122.22637900004996, 37.746929000355387 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 953, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.235878999618279, 37.747529001043119 ], [ -122.235804999524603, 37.747373000478184 ], [ -122.235697999524945, 37.747137000238375 ], [ -122.235285999815702, 37.746824000956153 ], [ -122.234844000103223, 37.746557000245026 ], [ -122.234583999667052, 37.746435000864409 ], [ -122.234310000058699, 37.746328000576106 ], [ -122.233979000023453, 37.746229000556752 ], [ -122.234386000350739, 37.745870000397062 ], [ -122.234679000201098, 37.745429001117323 ], [ -122.235026999551252, 37.744871000420076 ], [ -122.235454000480516, 37.744192001138451 ], [ -122.235538999467522, 37.744015000908895 ], [ -122.23589699968214, 37.743269000566741 ], [ -122.236018999525754, 37.742925001002057 ], [ -122.236178999778701, 37.742629000717528 ], [ -122.236231999835439, 37.742315000846986 ], [ -122.236278000074321, 37.742017000687433 ], [ -122.236324000354315, 37.741788001134211 ], [ -122.236353999722567, 37.741224001044841 ], [ -122.236353999657283, 37.74107100105843 ], [ -122.236506999649976, 37.740514000508064 ], [ -122.236689999955743, 37.740064000978194 ], [ -122.236796999876859, 37.739637000778096 ], [ -122.236888000277403, 37.739408000243138 ], [ -122.236978999652976, 37.739029000937869 ], [ -122.237678999521506, 37.738229000301985 ], [ -122.237698999550133, 37.738169000556617 ], [ -122.237878999548371, 37.737627000850708 ], [ -122.237878999737177, 37.73722900033431 ], [ -122.238178999519391, 37.73682900038321 ], [ -122.238399000088805, 37.735998000728998 ], [ -122.238514999399143, 37.735895000331993 ], [ -122.239378999504126, 37.735129000248158 ], [ -122.240378999565237, 37.735329000792518 ], [ -122.240578999729735, 37.735429001031243 ], [ -122.241179000461599, 37.735629001114113 ], [ -122.241445999752727, 37.735682000613188 ], [ -122.241678999971981, 37.735729000680287 ], [ -122.242978999946359, 37.736029000271671 ], [ -122.243261999678822, 37.736116000320969 ], [ -122.244278999479718, 37.73642900038346 ], [ -122.244778999401547, 37.736629000759294 ], [ -122.244959999761605, 37.736661000455449 ], [ -122.245463999665432, 37.73679900076673 ], [ -122.246149999407479, 37.736875001002453 ], [ -122.246578999585779, 37.736829001011202 ], [ -122.246775999718281, 37.736883000236332 ], [ -122.247019999637615, 37.736913000948292 ], [ -122.24764700015136, 37.737089000850929 ], [ -122.24837999979475, 37.737329000376803 ], [ -122.248745000011581, 37.737539000970436 ], [ -122.248846999975186, 37.737564000833835 ], [ -122.249111999888328, 37.737630000509057 ], [ -122.249429999535906, 37.737698000908274 ], [ -122.249628000342923, 37.737741000350965 ], [ -122.249859000409174, 37.73779100085217 ], [ -122.250343000498589, 37.737843000514701 ], [ -122.250560999510967, 37.737867000667293 ], [ -122.251280000383062, 37.737729000638147 ], [ -122.253677999908547, 37.737697000422237 ], [ -122.255693000394103, 37.737671000467024 ], [ -122.256415000065473, 37.73770000093036 ], [ -122.25679000043921, 37.737724001074795 ], [ -122.256771999482524, 37.737966000446654 ], [ -122.256879999895659, 37.738429000745676 ], [ -122.257152999435476, 37.738912000873434 ], [ -122.257879999398199, 37.738929000434766 ], [ -122.258879999971683, 37.739629000659043 ], [ -122.258879999868256, 37.740929000849171 ], [ -122.258879999726048, 37.743329000527211 ], [ -122.256079999837667, 37.744829000689379 ], [ -122.255897000284605, 37.744928000872399 ], [ -122.254970000010161, 37.74542900093482 ], [ -122.254393999716342, 37.745740000370269 ], [ -122.253761999562272, 37.746082000772667 ], [ -122.252379999905045, 37.746829000571459 ], [ -122.250654999952417, 37.747770000689336 ], [ -122.250180000346305, 37.748029001129531 ], [ -122.242978999745375, 37.74772900072508 ], [ -122.238731000493971, 37.747609000857764 ], [ -122.236310000431629, 37.74754100051095 ], [ -122.235878999618279, 37.747529001043119 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 844, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.142875999472068, 37.790727000313574 ], [ -122.143876000129069, 37.789927000442553 ], [ -122.14551999973007, 37.791503001073259 ], [ -122.146276000383565, 37.79222700103228 ], [ -122.151175999716756, 37.792327001087656 ], [ -122.151476000018107, 37.796327000839369 ], [ -122.15687600009646, 37.796427000753631 ], [ -122.15687600042439, 37.796827000739867 ], [ -122.157875999934618, 37.797327000347508 ], [ -122.158576999599745, 37.796927000744923 ], [ -122.15927699953653, 37.797427000413904 ], [ -122.158576999433208, 37.798127000647206 ], [ -122.160077000047949, 37.799727000612528 ], [ -122.161869999629602, 37.799934001003322 ], [ -122.162677000374927, 37.800027000549726 ], [ -122.163176999541818, 37.79962700051388 ], [ -122.163077000297079, 37.798927001084465 ], [ -122.164576999415232, 37.7987270004678 ], [ -122.164477000368407, 37.799327001078645 ], [ -122.164377000296767, 37.800327000571897 ], [ -122.164981999440286, 37.801234000263385 ], [ -122.165024000026335, 37.801298000700719 ], [ -122.16493000047771, 37.801680000537218 ], [ -122.164930000052124, 37.801767000873632 ], [ -122.164949999858422, 37.801823000489328 ], [ -122.165264000228092, 37.802080000741391 ], [ -122.165163000311509, 37.802286000944314 ], [ -122.165587999648253, 37.802607001120634 ], [ -122.165557000276451, 37.803006000814449 ], [ -122.165556999957303, 37.803425000805653 ], [ -122.165566999873576, 37.803797000512674 ], [ -122.165576999906847, 37.80392700039333 ], [ -122.166076999507339, 37.804227000743118 ], [ -122.164733000505962, 37.804395000673509 ], [ -122.164476999906668, 37.804427000929152 ], [ -122.164776999498358, 37.805127000911178 ], [ -122.166573999965294, 37.805600000384871 ], [ -122.16667700001689, 37.805627000941463 ], [ -122.167016000243621, 37.805698000729045 ], [ -122.170577000526421, 37.804827000422577 ], [ -122.170376999401569, 37.802427000694721 ], [ -122.169877000051656, 37.801827000264957 ], [ -122.169376999624404, 37.801227000387016 ], [ -122.168576999555114, 37.801327000603592 ], [ -122.168476999572988, 37.80082700074675 ], [ -122.168676999706079, 37.800527000621202 ], [ -122.168677000433419, 37.799227000624512 ], [ -122.170776999694027, 37.799927000473147 ], [ -122.171784000300462, 37.800420000690259 ], [ -122.172507000463526, 37.800774000604299 ], [ -122.175677000170438, 37.802327000628303 ], [ -122.175277000530173, 37.803227000243425 ], [ -122.176577000301521, 37.803727000965431 ], [ -122.177477000057351, 37.803027000722707 ], [ -122.178476999751652, 37.803627000601288 ], [ -122.178277000372674, 37.803827000454255 ], [ -122.176476999685804, 37.806827000835952 ], [ -122.175577000356981, 37.807827000867782 ], [ -122.174477000332431, 37.810427001079852 ], [ -122.174676999684849, 37.811727000905861 ], [ -122.175076999986757, 37.814327000606021 ], [ -122.176976999942454, 37.816227000549887 ], [ -122.17277699977204, 37.815827000674354 ], [ -122.166876999817262, 37.813427000660155 ], [ -122.166677000287464, 37.813627000945637 ], [ -122.157676000441086, 37.817826000918224 ], [ -122.154876000190384, 37.816326001012307 ], [ -122.148776000391564, 37.813726000861699 ], [ -122.146775999584193, 37.811627000476633 ], [ -122.145976000304316, 37.810727000468134 ], [ -122.144375999790398, 37.807727000890893 ], [ -122.140775999405747, 37.804627001035136 ], [ -122.138375999521159, 37.804327000837482 ], [ -122.135076000416532, 37.80422700041327 ], [ -122.133975999464141, 37.804127001090784 ], [ -122.132976000443946, 37.804027001137925 ], [ -122.113774999842676, 37.80272700091934 ], [ -122.106675000063575, 37.802227000392406 ], [ -122.103275000219782, 37.801927000993864 ], [ -122.09217399987773, 37.80112700056354 ], [ -122.082473999616496, 37.800527000883839 ], [ -122.0722740005166, 37.799927000976254 ], [ -122.06430199994449, 37.799396000364112 ], [ -122.06177300002021, 37.799227000499457 ], [ -122.058972999412774, 37.799027001001846 ], [ -122.045472999721852, 37.798126000811067 ], [ -122.037972000499124, 37.793027000921988 ], [ -122.036072000293586, 37.79162700069638 ], [ -122.030472000157076, 37.787727000326385 ], [ -122.021972000345514, 37.784227000686684 ], [ -122.017771999997564, 37.781227000475376 ], [ -122.014071999769541, 37.780227000902649 ], [ -122.004671000088251, 37.770427000861581 ], [ -122.004071000006618, 37.769927000705586 ], [ -122.002473000237217, 37.768228000755435 ], [ -121.99777099982785, 37.763227000610605 ], [ -122.010771000257236, 37.755127000837781 ], [ -122.011371000119453, 37.754028000490081 ], [ -122.011771000458154, 37.747428000593743 ], [ -122.001070999999698, 37.73902800041072 ], [ -121.993571000272254, 37.738128000451368 ], [ -121.993270999636295, 37.737728000681031 ], [ -121.989970999509993, 37.733628000801367 ], [ -121.983467999969974, 37.730864000825683 ], [ -121.982254000171324, 37.730713000510669 ], [ -121.980616000171963, 37.73030500092068 ], [ -121.979229999570094, 37.729859000378312 ], [ -121.9783000004727, 37.729642000295335 ], [ -121.977999000415224, 37.729579000540959 ], [ -121.977603000281889, 37.729497000543887 ], [ -121.976641999660984, 37.729449000661482 ], [ -121.975216000174456, 37.729504000724525 ], [ -121.974070000073951, 37.729428000377354 ], [ -121.97246999984381, 37.728528000767 ], [ -121.974769999826705, 37.726729000375833 ], [ -121.977937000086001, 37.724004000413323 ], [ -121.983370999506846, 37.71932900105223 ], [ -121.991170999491558, 37.712529000336573 ], [ -121.991771000491156, 37.711929000298625 ], [ -122.001970999462202, 37.703130000418909 ], [ -122.016471999578798, 37.702530000537919 ], [ -122.019071999861367, 37.701830000613889 ], [ -122.019876999889306, 37.701511000655941 ], [ -122.020572000290585, 37.70113000107817 ], [ -122.021671999614, 37.700630000417313 ], [ -122.021271999732747, 37.69993000090664 ], [ -122.022872000498765, 37.699530000764234 ], [ -122.025671999653596, 37.697930000846974 ], [ -122.027593999901399, 37.698447001110353 ], [ -122.028271999944636, 37.698630000563902 ], [ -122.031746999905678, 37.700039001098588 ], [ -122.032398999589461, 37.700383000232101 ], [ -122.03313599978479, 37.700785000399932 ], [ -122.03339900042225, 37.700928000752221 ], [ -122.033803000181152, 37.701297000560999 ], [ -122.034358999899169, 37.701801000963286 ], [ -122.035116999608761, 37.702249001052728 ], [ -122.035771999964396, 37.702430000969144 ], [ -122.036360000191848, 37.70198400065992 ], [ -122.036872000321225, 37.701530000282389 ], [ -122.038772000175868, 37.699930000708136 ], [ -122.040371999953294, 37.698630000629066 ], [ -122.04097199954451, 37.698230000326902 ], [ -122.042172000053668, 37.697330000579612 ], [ -122.043808000169236, 37.696059000327011 ], [ -122.043972999976816, 37.695930000596363 ], [ -122.04537300034599, 37.694930001056719 ], [ -122.048446000268825, 37.693456000279895 ], [ -122.048929000065371, 37.693288000989483 ], [ -122.049373000133457, 37.693230000576776 ], [ -122.051976000415067, 37.693176001137005 ], [ -122.054172999989362, 37.693130000529443 ], [ -122.055160999597149, 37.693600001113232 ], [ -122.055348999703668, 37.69379800107771 ], [ -122.055473000409194, 37.694030000901229 ], [ -122.056272999589794, 37.693730000333829 ], [ -122.056972999828432, 37.693430000347419 ], [ -122.057444999866661, 37.693455000918995 ], [ -122.05791300016881, 37.693407000616176 ], [ -122.05889499999796, 37.693216000678404 ], [ -122.059453999729286, 37.693061000893117 ], [ -122.060973000429428, 37.692630000927501 ], [ -122.05997299993119, 37.693430000916322 ], [ -122.058772999707969, 37.694230001122897 ], [ -122.058173000244437, 37.695830000443927 ], [ -122.05697300000395, 37.695030000246092 ], [ -122.056384999626644, 37.696730001088255 ], [ -122.056232999513639, 37.697169001031455 ], [ -122.056072999656735, 37.697630000647891 ], [ -122.055072999542332, 37.699130000465182 ], [ -122.055372999740584, 37.700830000302282 ], [ -122.053973000346915, 37.701430000751742 ], [ -122.054473000098156, 37.701730000811679 ], [ -122.055672999435927, 37.703830000779853 ], [ -122.055973000332429, 37.704130000373645 ], [ -122.055772999803082, 37.706330000844645 ], [ -122.056372999799393, 37.708829000539211 ], [ -122.055873000271191, 37.711529000541823 ], [ -122.055772999752719, 37.711829000584075 ], [ -122.055872999915891, 37.714029000505001 ], [ -122.054973000065914, 37.714529000314911 ], [ -122.054473000219502, 37.715129000953581 ], [ -122.054436999602743, 37.716165000938716 ], [ -122.054273000069529, 37.720929000788146 ], [ -122.05217300021863, 37.72342900087186 ], [ -122.052472999631277, 37.726729000515654 ], [ -122.052373000201911, 37.729129000702159 ], [ -122.051672999803429, 37.730029000345318 ], [ -122.051672999806613, 37.731929001117237 ], [ -122.051973000011401, 37.734128000688585 ], [ -122.052472999613016, 37.734928001052161 ], [ -122.053773000483062, 37.737228000623219 ], [ -122.053973000321079, 37.738028000250729 ], [ -122.055572999627614, 37.743128000730238 ], [ -122.057773000042914, 37.75062800025789 ], [ -122.0592729997514, 37.752628000879895 ], [ -122.06137299952978, 37.748628000952401 ], [ -122.06143700042999, 37.747159000863377 ], [ -122.061085999449602, 37.743824001122668 ], [ -122.059971999822508, 37.739285000857784 ], [ -122.059931999576705, 37.738777000647019 ], [ -122.061691999892972, 37.729551000843735 ], [ -122.062685999755374, 37.727116000863525 ], [ -122.062763999873539, 37.726925000793642 ], [ -122.065038999907117, 37.721353000732904 ], [ -122.065562999586575, 37.720173000926231 ], [ -122.068056000350694, 37.720129000918682 ], [ -122.068072999676076, 37.720129001010946 ], [ -122.074973999515933, 37.720329000607208 ], [ -122.079673999561393, 37.724129000416369 ], [ -122.080774000177399, 37.733129000414628 ], [ -122.079373999750345, 37.734829001065357 ], [ -122.076774000078885, 37.735828000526055 ], [ -122.075574000350926, 37.737628000603138 ], [ -122.075473999853671, 37.737928000982379 ], [ -122.074674000379275, 37.739228000390476 ], [ -122.075574000457081, 37.738828001060611 ], [ -122.076173999527569, 37.737928000625956 ], [ -122.076373999600861, 37.737728000261775 ], [ -122.077273999394166, 37.736628000574839 ], [ -122.079773999943214, 37.735428000937084 ], [ -122.080974000386192, 37.734429000989124 ], [ -122.081274000104997, 37.733129000459662 ], [ -122.081773999826197, 37.731129000726234 ], [ -122.081973999868964, 37.725329000439778 ], [ -122.087873999601982, 37.727829000748258 ], [ -122.094574000478644, 37.728129000874375 ], [ -122.0976740004823, 37.726829000753199 ], [ -122.100674000518822, 37.727929000619028 ], [ -122.106874999873313, 37.721929000384854 ], [ -122.116275000315682, 37.727229000625428 ], [ -122.117074999413731, 37.728029000623899 ], [ -122.118674999847343, 37.731829000480957 ], [ -122.117835000452985, 37.732389000908917 ], [ -122.116462000205786, 37.733427000497791 ], [ -122.115760000364588, 37.734319000450192 ], [ -122.115475000028198, 37.735029000952238 ], [ -122.114775000401195, 37.736629000482942 ], [ -122.114575000240947, 37.737729000594229 ], [ -122.114375000348829, 37.738928001040719 ], [ -122.112074999427321, 37.746828000267236 ], [ -122.113774999555289, 37.749628000571398 ], [ -122.11577500052789, 37.748528000268927 ], [ -122.115875000378296, 37.749528000791571 ], [ -122.118275000164758, 37.753728000689605 ], [ -122.122275000260956, 37.760328000808862 ], [ -122.126174999692353, 37.767528000860331 ], [ -122.129389000127915, 37.771049000723032 ], [ -122.130375999558311, 37.772128000976537 ], [ -122.132376000337104, 37.775027000243469 ], [ -122.134276000017223, 37.777127000848608 ], [ -122.133676000448347, 37.777527000706492 ], [ -122.134375999706734, 37.778327000236871 ], [ -122.135075999719248, 37.778027000876861 ], [ -122.1435760001971, 37.787027001004454 ], [ -122.141676000407543, 37.789827000367296 ], [ -122.142875999472068, 37.790727000313574 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 845, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.073673000416846, 37.713329000948299 ], [ -122.07367299940033, 37.713829000249895 ], [ -122.073673999510845, 37.715429000933909 ], [ -122.073673999620311, 37.715939000936089 ], [ -122.073673999472803, 37.71612900025282 ], [ -122.073674000327358, 37.716629000238612 ], [ -122.073674000420354, 37.716829000399635 ], [ -122.073673999582311, 37.717829001095161 ], [ -122.07367400014904, 37.718008000851796 ], [ -122.073674000198025, 37.71832900093829 ], [ -122.074973999515933, 37.720329000607208 ], [ -122.068072999676076, 37.720129001010946 ], [ -122.068056000350694, 37.720129000918682 ], [ -122.065562999586575, 37.720173000926231 ], [ -122.065038999907117, 37.721353000732904 ], [ -122.062763999873539, 37.726925000793642 ], [ -122.062685999755374, 37.727116000863525 ], [ -122.061691999892972, 37.729551000843735 ], [ -122.059931999576705, 37.738777000647019 ], [ -122.059971999822508, 37.739285000857784 ], [ -122.061085999449602, 37.743824001122668 ], [ -122.06143700042999, 37.747159000863377 ], [ -122.06137299952978, 37.748628000952401 ], [ -122.0592729997514, 37.752628000879895 ], [ -122.057773000042914, 37.75062800025789 ], [ -122.055572999627614, 37.743128000730238 ], [ -122.053973000321079, 37.738028000250729 ], [ -122.053773000483062, 37.737228000623219 ], [ -122.052472999613016, 37.734928001052161 ], [ -122.051973000011401, 37.734128000688585 ], [ -122.051672999806613, 37.731929001117237 ], [ -122.051672999803429, 37.730029000345318 ], [ -122.052373000201911, 37.729129000702159 ], [ -122.052472999631277, 37.726729000515654 ], [ -122.05217300021863, 37.72342900087186 ], [ -122.054273000069529, 37.720929000788146 ], [ -122.054436999602743, 37.716165000938716 ], [ -122.054473000219502, 37.715129000953581 ], [ -122.054973000065914, 37.714529000314911 ], [ -122.055872999915891, 37.714029000505001 ], [ -122.055772999752719, 37.711829000584075 ], [ -122.055873000271191, 37.711529000541823 ], [ -122.056372999799393, 37.708829000539211 ], [ -122.055772999803082, 37.706330000844645 ], [ -122.055973000332429, 37.704130000373645 ], [ -122.055672999435927, 37.703830000779853 ], [ -122.056373000098702, 37.703730000327283 ], [ -122.057773000469339, 37.703730000791204 ], [ -122.059073000302732, 37.703730000492435 ], [ -122.060373000371968, 37.703830000928058 ], [ -122.060472999559309, 37.703630000674742 ], [ -122.062192999547761, 37.703845000577275 ], [ -122.064472999856633, 37.704130000948702 ], [ -122.065072999534394, 37.704130000465241 ], [ -122.065528999596367, 37.704165000738342 ], [ -122.066373000467308, 37.704230000605229 ], [ -122.066773000090123, 37.704330000872218 ], [ -122.067344999725663, 37.704330000640375 ], [ -122.068373000056908, 37.704330000962926 ], [ -122.068880000430283, 37.704364000548722 ], [ -122.069126000080402, 37.704381000242932 ], [ -122.069369000484684, 37.704397000538528 ], [ -122.069873000167902, 37.704430000565644 ], [ -122.070872999743074, 37.704530000456273 ], [ -122.071567999740878, 37.704530000802777 ], [ -122.073872999994848, 37.704530000296451 ], [ -122.073773000129236, 37.706530000610421 ], [ -122.073772999713697, 37.706930000691656 ], [ -122.073873999831974, 37.707530000591028 ], [ -122.073736999955173, 37.707869001109913 ], [ -122.073672999709942, 37.708030000395745 ], [ -122.07367299965361, 37.70882900078638 ], [ -122.073673000082621, 37.709429001124484 ], [ -122.073773999704315, 37.710229000350154 ], [ -122.073773999577398, 37.710829000549126 ], [ -122.073699999810074, 37.711705000755252 ], [ -122.073693000106019, 37.711789000496211 ], [ -122.073673000035257, 37.712029000383467 ], [ -122.073672999831587, 37.712929000384648 ], [ -122.073673000416846, 37.713329000948299 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 851, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.118674999847343, 37.731829000480957 ], [ -122.117074999413731, 37.728029000623899 ], [ -122.116275000315682, 37.727229000625428 ], [ -122.106874999873313, 37.721929000384854 ], [ -122.100674000518822, 37.727929000619028 ], [ -122.0976740004823, 37.726829000753199 ], [ -122.094574000478644, 37.728129000874375 ], [ -122.093973999988194, 37.727229000957706 ], [ -122.093774000304947, 37.724729000821199 ], [ -122.092873999489711, 37.723529000340022 ], [ -122.09037399946817, 37.722329001091921 ], [ -122.089773999952527, 37.720829000345987 ], [ -122.08907399953128, 37.721129001116132 ], [ -122.089018999429257, 37.720797000819445 ], [ -122.088874000265321, 37.719929000643972 ], [ -122.08877399991448, 37.71902900110949 ], [ -122.08867400031211, 37.71802900075928 ], [ -122.088773999986088, 37.716829001027655 ], [ -122.089474000104744, 37.715029000747755 ], [ -122.088573999815139, 37.711629000586434 ], [ -122.088674000132755, 37.709929000411343 ], [ -122.09147400029893, 37.709929000985959 ], [ -122.092973999939133, 37.709930000774449 ], [ -122.093274000508814, 37.709930001060492 ], [ -122.09457399965396, 37.710629000605735 ], [ -122.095374000409322, 37.711029000687688 ], [ -122.097574000025986, 37.712229000580372 ], [ -122.098773999781429, 37.712929000990428 ], [ -122.099874000234678, 37.713229000503873 ], [ -122.104075000318488, 37.715129001043728 ], [ -122.105598000154302, 37.715856001082798 ], [ -122.107174999697932, 37.717029000507573 ], [ -122.109074999559169, 37.718329000578628 ], [ -122.112275000407777, 37.720329000791963 ], [ -122.114875000062696, 37.723029000805248 ], [ -122.117574999409072, 37.724529000251515 ], [ -122.11887499980007, 37.727029000519885 ], [ -122.120375000145074, 37.727729001072362 ], [ -122.121374999480352, 37.727129001008301 ], [ -122.122518999763443, 37.726986000337398 ], [ -122.12537500006826, 37.726629000724586 ], [ -122.12667499960655, 37.727129000518232 ], [ -122.127075000498706, 37.728329000320208 ], [ -122.124274999693725, 37.72792900095633 ], [ -122.123874999715625, 37.728029000968355 ], [ -122.122975000355481, 37.728429000583461 ], [ -122.122475000267301, 37.728729000290684 ], [ -122.121741999998022, 37.729345000839317 ], [ -122.120414000511303, 37.730749000579536 ], [ -122.119375999528373, 37.731458000999822 ], [ -122.118674999847343, 37.731829000480957 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 853, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.101973999487782, 37.70243000032584 ], [ -122.102073999650131, 37.702030000948461 ], [ -122.1021739998409, 37.701630000553031 ], [ -122.100673999545677, 37.701030000628833 ], [ -122.099935000147056, 37.699737000469419 ], [ -122.099874000485045, 37.699630001129016 ], [ -122.098974000143428, 37.697730001019224 ], [ -122.098774000143678, 37.697530000897054 ], [ -122.098374000078948, 37.696830001038585 ], [ -122.09767399949132, 37.69543000080575 ], [ -122.096973999739731, 37.695630000558424 ], [ -122.096842999939113, 37.695667000891433 ], [ -122.096273999648645, 37.695830000632206 ], [ -122.09587399962335, 37.694730000684466 ], [ -122.095473999451087, 37.69403000079523 ], [ -122.095074000330428, 37.693630000916023 ], [ -122.094974000104159, 37.692430001067308 ], [ -122.094474000127008, 37.691830000882192 ], [ -122.093575999840311, 37.690823000313735 ], [ -122.091674000304153, 37.691730001061586 ], [ -122.09332999996407, 37.690714000252697 ], [ -122.093774000193221, 37.690330001091304 ], [ -122.09431499944364, 37.690281001055261 ], [ -122.094874000463463, 37.690230000611187 ], [ -122.095419999748046, 37.690173000509077 ], [ -122.096249999508032, 37.690173000574887 ], [ -122.096712000327614, 37.690189001134634 ], [ -122.096974000294452, 37.690230000268279 ], [ -122.097414000332037, 37.690303000526619 ], [ -122.097573999898671, 37.690330000744567 ], [ -122.097981999793646, 37.690397000931242 ], [ -122.098454999936735, 37.690506001068456 ], [ -122.099156000050087, 37.690708000705307 ], [ -122.099456000021576, 37.690793000828691 ], [ -122.099746000374168, 37.690922000566196 ], [ -122.09997399994009, 37.691030000865652 ], [ -122.102373999608758, 37.693730001044962 ], [ -122.103673999556165, 37.695230000517881 ], [ -122.105874999665573, 37.697630000912454 ], [ -122.106374999806633, 37.698130000447712 ], [ -122.107475000222664, 37.699330000566214 ], [ -122.107975000125464, 37.699730000344971 ], [ -122.109075000101384, 37.700630000359169 ], [ -122.109178000522519, 37.700694000863358 ], [ -122.109710999518555, 37.701029000501613 ], [ -122.1118750001244, 37.702230000941555 ], [ -122.116375000491232, 37.704730000592733 ], [ -122.117074999445151, 37.705130000452193 ], [ -122.119374999440183, 37.706530000289881 ], [ -122.122474999544011, 37.708130000993393 ], [ -122.122174999820345, 37.70903000029233 ], [ -122.121120000465368, 37.711021000887321 ], [ -122.12092599970768, 37.711456000887317 ], [ -122.120990999790251, 37.712326000979338 ], [ -122.121055000204478, 37.713170000670054 ], [ -122.121087999795549, 37.714194000747661 ], [ -122.121120000320431, 37.714859000899217 ], [ -122.120991000289877, 37.715268000338085 ], [ -122.120603000483086, 37.715652000773034 ], [ -122.119987999684298, 37.715985000559073 ], [ -122.119413999659841, 37.716233000999907 ], [ -122.118824000051262, 37.716445000722459 ], [ -122.118306000499587, 37.716573000642107 ], [ -122.117724000149479, 37.716625000662759 ], [ -122.117151999400733, 37.716407000755126 ], [ -122.116692999559291, 37.7159330004257 ], [ -122.115980999633848, 37.715268001040641 ], [ -122.115398999632973, 37.714833000250309 ], [ -122.114752000250391, 37.714474000612732 ], [ -122.11416999977277, 37.714347000834735 ], [ -122.113457999475528, 37.714270000375315 ], [ -122.112908000127518, 37.714219000640952 ], [ -122.112243999904365, 37.714239001110286 ], [ -122.111974999630149, 37.714229000426641 ], [ -122.111193999627872, 37.714398000861735 ], [ -122.110708999453195, 37.714679000246427 ], [ -122.110093999454136, 37.715089000942463 ], [ -122.109480000407032, 37.715575000444744 ], [ -122.108994000309124, 37.715933000781412 ], [ -122.108476999525635, 37.716291000779549 ], [ -122.107174999697932, 37.717029000507573 ], [ -122.105598000154302, 37.715856001082798 ], [ -122.106474999499142, 37.711643000323889 ], [ -122.106075000347388, 37.709530000474253 ], [ -122.106375000301526, 37.709030000834531 ], [ -122.106275000143015, 37.708230000881457 ], [ -122.105775000449214, 37.707530000502224 ], [ -122.104975000449087, 37.706630000321915 ], [ -122.104875000337984, 37.706530000930648 ], [ -122.103573999438595, 37.70503000064538 ], [ -122.103519999655575, 37.704815000535788 ], [ -122.103274000269238, 37.703830000943036 ], [ -122.101973999487782, 37.70243000032584 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 882, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.153175999603747, 37.752828000257225 ], [ -122.152175999739057, 37.753628000403452 ], [ -122.151876000080321, 37.753428000453148 ], [ -122.151175999861252, 37.753128000464081 ], [ -122.151524999795029, 37.752091000279947 ], [ -122.151638999773567, 37.751653000802293 ], [ -122.151675999561618, 37.750828000568625 ], [ -122.151639000159264, 37.750520000455651 ], [ -122.151493000113575, 37.750133000510004 ], [ -122.150575999783612, 37.748128000620852 ], [ -122.149776000238461, 37.746628000470878 ], [ -122.148775999644116, 37.744628000392005 ], [ -122.149575999552113, 37.744028000834788 ], [ -122.147275999407171, 37.742628001028237 ], [ -122.146575999665131, 37.742028000776202 ], [ -122.147075999560428, 37.741329001039233 ], [ -122.14726999942053, 37.741005000487263 ], [ -122.147376000160321, 37.740829000786412 ], [ -122.147475999910569, 37.740529000260615 ], [ -122.148176000462243, 37.740229000298484 ], [ -122.148838999825941, 37.74030300113035 ], [ -122.1490760005223, 37.740329000727577 ], [ -122.149775999905941, 37.740729000332543 ], [ -122.150575999415921, 37.74112900086827 ], [ -122.151576000185059, 37.741729000441261 ], [ -122.152176000415622, 37.742229000269084 ], [ -122.152476000512067, 37.742429000517106 ], [ -122.152875999637246, 37.742928001001026 ], [ -122.153776000486374, 37.743628001056614 ], [ -122.155175999521532, 37.744528000504886 ], [ -122.156275999881245, 37.745328000468014 ], [ -122.156876000224869, 37.746228000443381 ], [ -122.157176000413969, 37.746528001057285 ], [ -122.157376000476873, 37.746928000443063 ], [ -122.157875999818671, 37.747628000982466 ], [ -122.158176000458781, 37.748128001107986 ], [ -122.158876999857384, 37.749228000277952 ], [ -122.159476999972981, 37.750128000246988 ], [ -122.159977000411615, 37.750828000718442 ], [ -122.160677000341025, 37.752428000712179 ], [ -122.159477000011933, 37.752928000897569 ], [ -122.158376999395642, 37.753228000696886 ], [ -122.1574759994175, 37.753228000960789 ], [ -122.156575999780372, 37.752828000417495 ], [ -122.154375999903493, 37.751128000725437 ], [ -122.153475999801273, 37.751828001029594 ], [ -122.153275999855722, 37.752528000784253 ], [ -122.153175999603747, 37.752828000257225 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 880, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.159577000487332, 37.74442800085361 ], [ -122.159876999910907, 37.744628000347312 ], [ -122.160776999741969, 37.744328000950738 ], [ -122.161976999624358, 37.743928000299327 ], [ -122.163277000055274, 37.743829000411033 ], [ -122.164577000455338, 37.743429000728341 ], [ -122.165776999713827, 37.743129000624116 ], [ -122.166277000146167, 37.742929000323457 ], [ -122.166777000480096, 37.742829000414638 ], [ -122.167677000135953, 37.742629001006371 ], [ -122.169276999738514, 37.742129000745827 ], [ -122.169645999739629, 37.742683000740726 ], [ -122.169877000164306, 37.743029000529368 ], [ -122.170377000210138, 37.743729000297954 ], [ -122.1709769999309, 37.74442900101495 ], [ -122.171476999824094, 37.745228000824724 ], [ -122.171976999453932, 37.745828001086082 ], [ -122.172477000232846, 37.746528000819474 ], [ -122.171476999621177, 37.747128000689308 ], [ -122.170377000007605, 37.747628000334579 ], [ -122.169277000490155, 37.748228001072874 ], [ -122.168177000447926, 37.748728000668756 ], [ -122.16717699987727, 37.749128001025525 ], [ -122.166377000008097, 37.749528000689388 ], [ -122.166289999653571, 37.749579000283681 ], [ -122.165177000191335, 37.750228000386073 ], [ -122.164176999665543, 37.750728000829504 ], [ -122.163177000506394, 37.749228000842614 ], [ -122.162177000359961, 37.747728000292831 ], [ -122.161276999932795, 37.746528000727693 ], [ -122.16047699993068, 37.745528000298997 ], [ -122.159577000487332, 37.74442800085361 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1036, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.293717000165941, 37.8906250005885 ], [ -122.293837000089596, 37.890625000402103 ], [ -122.29427999956485, 37.890625001033918 ], [ -122.295080000303159, 37.890525000655131 ], [ -122.295980000289035, 37.890525000722207 ], [ -122.296879999481703, 37.890425000284523 ], [ -122.297779999680415, 37.890325001071105 ], [ -122.298679999642829, 37.890325000310597 ], [ -122.299279999613859, 37.891925000549456 ], [ -122.299479999499638, 37.892325000899007 ], [ -122.299779999575762, 37.893425000238466 ], [ -122.300080000473017, 37.894125000935148 ], [ -122.300280000471773, 37.895125000853248 ], [ -122.300580000384571, 37.896125000579623 ], [ -122.30088000009674, 37.896825000787899 ], [ -122.301479999428267, 37.898525000889911 ], [ -122.300280000121717, 37.898225000428198 ], [ -122.299380000074336, 37.898325000238124 ], [ -122.298679999772034, 37.898525000489052 ], [ -122.297780000014654, 37.898825000242006 ], [ -122.296980000372017, 37.898925000476432 ], [ -122.295979999655231, 37.898925000812277 ], [ -122.295480000258351, 37.897825001043742 ], [ -122.294979999774426, 37.896225000820159 ], [ -122.294479999706738, 37.89472500067825 ], [ -122.294256999656312, 37.893968000389911 ], [ -122.293979999577331, 37.893025001083998 ], [ -122.293579999507983, 37.891925000924886 ], [ -122.293180000092676, 37.890925000957395 ], [ -122.293079999461511, 37.890725000905711 ], [ -122.293380000235899, 37.890725000489475 ], [ -122.293580000209744, 37.890625000478714 ], [ -122.293717000165941, 37.8906250005885 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1038, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.316580999608348, 37.889625000887811 ], [ -122.315580999728667, 37.889625000618999 ], [ -122.3111810002152, 37.889525000869732 ], [ -122.309880999485401, 37.88842500046232 ], [ -122.309179999713351, 37.887825001093013 ], [ -122.308703999691929, 37.887706000562623 ], [ -122.308379999643506, 37.887625001010939 ], [ -122.307947999424243, 37.887532000408449 ], [ -122.307080000250508, 37.887525000644587 ], [ -122.306679999571216, 37.887525000491749 ], [ -122.30507999971681, 37.887425000703495 ], [ -122.304179999456622, 37.887625000997822 ], [ -122.303579999999045, 37.88762500035287 ], [ -122.303280000271187, 37.887625000686015 ], [ -122.302479999652903, 37.887725000235136 ], [ -122.302056999697896, 37.887725000401886 ], [ -122.301679999736905, 37.887725000652075 ], [ -122.300680000175731, 37.887725000964323 ], [ -122.299679999671724, 37.887825000873519 ], [ -122.298779999404331, 37.887825000385291 ], [ -122.298080000477555, 37.887925000539887 ], [ -122.297679999815443, 37.886825000620632 ], [ -122.296980000040776, 37.884725000463703 ], [ -122.297179999471993, 37.884225000337359 ], [ -122.297179999860177, 37.883925001133129 ], [ -122.296980000360051, 37.883125000768509 ], [ -122.298180000253481, 37.883225000270492 ], [ -122.29967999951063, 37.882925000430916 ], [ -122.300480000469179, 37.882725000643802 ], [ -122.301479999804428, 37.882525000697598 ], [ -122.30267999999063, 37.882525001096496 ], [ -122.303779999934946, 37.882425000755411 ], [ -122.305080000271559, 37.882325001032733 ], [ -122.305980000493989, 37.882125000628626 ], [ -122.307179999821699, 37.881925000839601 ], [ -122.307979999520555, 37.881725000387966 ], [ -122.308480000180879, 37.881625001089716 ], [ -122.308617999580633, 37.882192000471477 ], [ -122.312483999569835, 37.88134500069301 ], [ -122.312581000155106, 37.881325000564154 ], [ -122.313180999509669, 37.882225000719139 ], [ -122.31408100051884, 37.884325000987268 ], [ -122.315481000442375, 37.887225000876626 ], [ -122.316580999608348, 37.889625000887811 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1034, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.290079999580811, 37.890825000797783 ], [ -122.289579999662422, 37.890925000754173 ], [ -122.289180000291097, 37.890925000547952 ], [ -122.288180000186799, 37.890925000834436 ], [ -122.287779999710807, 37.890925000369968 ], [ -122.2871800003592, 37.891025000604387 ], [ -122.286879999609027, 37.891025000534398 ], [ -122.285980000522329, 37.891125001021784 ], [ -122.284980000169639, 37.891125000244585 ], [ -122.283979999857266, 37.891125000885296 ], [ -122.282979999822274, 37.891225000983404 ], [ -122.28238000037274, 37.889425000271231 ], [ -122.282180000062539, 37.888825001059018 ], [ -122.282079999566278, 37.888325001091296 ], [ -122.282680000068439, 37.886725000301986 ], [ -122.282880000078308, 37.886025000866802 ], [ -122.283279999823918, 37.885225000365445 ], [ -122.28327999982443, 37.884925000531872 ], [ -122.282080000003006, 37.885125000357419 ], [ -122.282380000376804, 37.884425000333252 ], [ -122.281979999930712, 37.884425001027878 ], [ -122.28207999974974, 37.884225000853377 ], [ -122.28258000041528, 37.882725000505772 ], [ -122.283280000410514, 37.882125000459723 ], [ -122.283780000087972, 37.882325000763956 ], [ -122.285080000292652, 37.882325000313536 ], [ -122.286179999934419, 37.882425000506245 ], [ -122.287080000354834, 37.882625000658024 ], [ -122.287679999461147, 37.882925000550799 ], [ -122.288679999507195, 37.883025000485247 ], [ -122.289379999499914, 37.883025001059728 ], [ -122.290280000023373, 37.883025001092271 ], [ -122.290779999580423, 37.88302500053581 ], [ -122.291480000066414, 37.884225000497764 ], [ -122.29187999988288, 37.885025000845395 ], [ -122.292480000059683, 37.886625000372163 ], [ -122.292879999570744, 37.887825000510773 ], [ -122.293279999803843, 37.889125000838 ], [ -122.293580000114147, 37.89012500092273 ], [ -122.293717000165941, 37.8906250005885 ], [ -122.293580000209744, 37.890625000478714 ], [ -122.293380000235899, 37.890725000489475 ], [ -122.293079999461511, 37.890725000905711 ], [ -122.292280000468267, 37.890725000398739 ], [ -122.29137999957608, 37.890825000757324 ], [ -122.291079999570883, 37.890825000585181 ], [ -122.290579999571932, 37.89082500040157 ], [ -122.290079999580811, 37.890825000797783 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1033, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.27778000044016, 37.893225001109883 ], [ -122.277779999498549, 37.892625000603438 ], [ -122.277580000166196, 37.891525000419456 ], [ -122.2772799999791, 37.890125000990182 ], [ -122.277080000358652, 37.888925000607067 ], [ -122.276979999767022, 37.888125000487761 ], [ -122.27657999974447, 37.887025000448354 ], [ -122.276279999650669, 37.886425000294054 ], [ -122.275979999638267, 37.886225000692825 ], [ -122.27548000046329, 37.885425000466476 ], [ -122.276079999926864, 37.884925000560983 ], [ -122.277280000254933, 37.884425000907463 ], [ -122.277580000453909, 37.884225000247653 ], [ -122.279480000039214, 37.883025000799257 ], [ -122.280479999826767, 37.882525000255079 ], [ -122.281480000385542, 37.882125001022615 ], [ -122.282179999929212, 37.881725000250789 ], [ -122.283080000214952, 37.881325000281286 ], [ -122.283280000410514, 37.882125000459723 ], [ -122.28258000041528, 37.882725000505772 ], [ -122.28207999974974, 37.884225000853377 ], [ -122.281979999930712, 37.884425001027878 ], [ -122.282380000376804, 37.884425000333252 ], [ -122.282080000003006, 37.885125000357419 ], [ -122.28327999982443, 37.884925000531872 ], [ -122.283279999823918, 37.885225000365445 ], [ -122.282880000078308, 37.886025000866802 ], [ -122.282680000068439, 37.886725000301986 ], [ -122.282079999566278, 37.888325001091296 ], [ -122.282180000062539, 37.888825001059018 ], [ -122.28238000037274, 37.889425000271231 ], [ -122.282979999822274, 37.891225000983404 ], [ -122.283979999857266, 37.891125000885296 ], [ -122.284980000169639, 37.891125000244585 ], [ -122.285980000522329, 37.891125001021784 ], [ -122.286879999609027, 37.891025000534398 ], [ -122.2871800003592, 37.891025000604387 ], [ -122.287179999538182, 37.89292500045169 ], [ -122.287180000202412, 37.894825000603888 ], [ -122.287179999990073, 37.8966250003743 ], [ -122.287180000085186, 37.898225001017671 ], [ -122.287180000308993, 37.898625000887307 ], [ -122.286279999825851, 37.89892500082366 ], [ -122.286079999641487, 37.898525000326124 ], [ -122.283579999640807, 37.899225000512487 ], [ -122.283399999788216, 37.899555001037356 ], [ -122.283293999399845, 37.899675000243107 ], [ -122.283177000044674, 37.899751000888273 ], [ -122.282752000287189, 37.899830000924389 ], [ -122.282611000494029, 37.899820000768031 ], [ -122.282401999839664, 37.899790000898058 ], [ -122.281579999660465, 37.899525001067346 ], [ -122.281879999755844, 37.898725000946946 ], [ -122.281879999500148, 37.897625000449857 ], [ -122.282079999575132, 37.896925001098509 ], [ -122.281479999905073, 37.896125000405931 ], [ -122.280980000520572, 37.895825000609115 ], [ -122.279779999751227, 37.895525000580513 ], [ -122.279379999581792, 37.89552500031072 ], [ -122.27848000034615, 37.895325000657905 ], [ -122.278080000451396, 37.894725001084254 ], [ -122.277580000316306, 37.894125001102893 ], [ -122.27778000044016, 37.893225001109883 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1027, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.268280000291583, 37.886025000848512 ], [ -122.267179999745679, 37.886125000625469 ], [ -122.267080000457824, 37.885325000290607 ], [ -122.266979999618172, 37.884825000249577 ], [ -122.266779999827506, 37.884225001104461 ], [ -122.266579999421126, 37.883825000418447 ], [ -122.266579999661076, 37.882425001120424 ], [ -122.266379999419343, 37.880625000293279 ], [ -122.266179999706893, 37.878725000473167 ], [ -122.267280000458499, 37.878625000460275 ], [ -122.268280000326172, 37.878425000471594 ], [ -122.269479999610681, 37.878325001102951 ], [ -122.270480000477306, 37.878225000394934 ], [ -122.271780000145029, 37.878025000535807 ], [ -122.272779999639226, 37.877925000974827 ], [ -122.274080000474541, 37.877725000900313 ], [ -122.274279999701008, 37.879625001048986 ], [ -122.274480000148472, 37.881425000345331 ], [ -122.274579999503288, 37.883225000895031 ], [ -122.274880000261561, 37.884225000758491 ], [ -122.275079999815929, 37.884925000730398 ], [ -122.274080000452017, 37.88542500088446 ], [ -122.273580000318574, 37.885725000380781 ], [ -122.272779999977971, 37.885425000393354 ], [ -122.271680000374218, 37.885625000717056 ], [ -122.27048000013383, 37.885725000283834 ], [ -122.269380000204691, 37.885925000687529 ], [ -122.268280000291583, 37.886025000848512 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1026, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.274080000474541, 37.877725000900313 ], [ -122.275179999803626, 37.877525000810351 ], [ -122.276280000041481, 37.87752500039889 ], [ -122.27747999952885, 37.87732500042943 ], [ -122.278579999813815, 37.8771250009437 ], [ -122.279779999982338, 37.877025000960856 ], [ -122.280680000400153, 37.876825000964622 ], [ -122.281779999606854, 37.876725000405017 ], [ -122.282880000043704, 37.876525000290428 ], [ -122.282980000201093, 37.877425000821191 ], [ -122.28305200043809, 37.877929000659869 ], [ -122.283179999727935, 37.878825001063312 ], [ -122.283379999989577, 37.879925000585239 ], [ -122.283479999899853, 37.881025000249977 ], [ -122.283080000214952, 37.881325000281286 ], [ -122.282179999929212, 37.881725000250789 ], [ -122.281480000385542, 37.882125001022615 ], [ -122.280479999826767, 37.882525000255079 ], [ -122.279480000039214, 37.883025000799257 ], [ -122.277580000453909, 37.884225000247653 ], [ -122.277280000254933, 37.884425000907463 ], [ -122.276079999926864, 37.884925000560983 ], [ -122.27548000046329, 37.885425000466476 ], [ -122.275079999815929, 37.884925000730398 ], [ -122.274880000261561, 37.884225000758491 ], [ -122.274579999503288, 37.883225000895031 ], [ -122.274480000148472, 37.881425000345331 ], [ -122.274279999701008, 37.879625001048986 ], [ -122.274080000474541, 37.877725000900313 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1025, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.287080000354834, 37.882625000658024 ], [ -122.286179999934419, 37.882425000506245 ], [ -122.285080000292652, 37.882325000313536 ], [ -122.283780000087972, 37.882325000763956 ], [ -122.283280000410514, 37.882125000459723 ], [ -122.283080000214952, 37.881325000281286 ], [ -122.283479999899853, 37.881025000249977 ], [ -122.283379999989577, 37.879925000585239 ], [ -122.283179999727935, 37.878825001063312 ], [ -122.28305200043809, 37.877929000659869 ], [ -122.282980000201093, 37.877425000821191 ], [ -122.282880000043704, 37.876525000290428 ], [ -122.285179999928346, 37.876325000629578 ], [ -122.286379999612549, 37.876125000744686 ], [ -122.286880000167585, 37.876125000351657 ], [ -122.287479999399096, 37.875925000795597 ], [ -122.288979999831568, 37.87582500070539 ], [ -122.289880000265015, 37.875825000743397 ], [ -122.290780000139776, 37.875625000823561 ], [ -122.291579999767777, 37.875525000819316 ], [ -122.292379999539065, 37.875425000776438 ], [ -122.293280000108794, 37.875325000776613 ], [ -122.293579999808387, 37.87532500049835 ], [ -122.294479999870191, 37.875225000320562 ], [ -122.294879999737148, 37.876325001098586 ], [ -122.295380000216667, 37.877525000609687 ], [ -122.295580000157273, 37.878825000411126 ], [ -122.296179999468549, 37.880525000970174 ], [ -122.296679999845196, 37.882225000959913 ], [ -122.296980000360051, 37.883125000768509 ], [ -122.295980000441034, 37.882725000852744 ], [ -122.294979999445175, 37.882725000762974 ], [ -122.294179999759976, 37.88292500097171 ], [ -122.293580000043221, 37.88302500090753 ], [ -122.292979999587473, 37.883025000445848 ], [ -122.291980000313472, 37.882925000973621 ], [ -122.291180000479898, 37.882925000529411 ], [ -122.290779999580423, 37.88302500053581 ], [ -122.290280000023373, 37.883025001092271 ], [ -122.289379999499914, 37.883025001059728 ], [ -122.288679999507195, 37.883025000485247 ], [ -122.287679999461147, 37.882925000550799 ], [ -122.287080000354834, 37.882625000658024 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1024, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.294879999737148, 37.876325001098586 ], [ -122.294479999870191, 37.875225000320562 ], [ -122.293979999808926, 37.873425000898166 ], [ -122.293638000485487, 37.872448000649818 ], [ -122.293280000008437, 37.871526001058086 ], [ -122.292879999471154, 37.870326001118279 ], [ -122.292380000250645, 37.869026000453729 ], [ -122.293508999592518, 37.868744000919413 ], [ -122.293579999517604, 37.868726000908438 ], [ -122.294780000450842, 37.868726000751813 ], [ -122.295879999600643, 37.868426000551715 ], [ -122.296980000425862, 37.868226000248434 ], [ -122.297979999453972, 37.867926000564474 ], [ -122.298379999808049, 37.86932600073834 ], [ -122.298779999974897, 37.870426000272609 ], [ -122.299279999997609, 37.872326000666078 ], [ -122.299980000453488, 37.874025000829235 ], [ -122.300279999518992, 37.87522500040297 ], [ -122.300779999865355, 37.876425000946199 ], [ -122.30107999943651, 37.877625000793792 ], [ -122.300079999562897, 37.877825000461996 ], [ -122.298979999610566, 37.878125001094169 ], [ -122.29787999971002, 37.878325000274614 ], [ -122.296779999587585, 37.87852500086084 ], [ -122.295580000157273, 37.878825000411126 ], [ -122.295380000216667, 37.877525000609687 ], [ -122.294879999737148, 37.876325001098586 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1022, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.27338000017194, 37.87152500100688 ], [ -122.275679999852258, 37.871125000337869 ], [ -122.277880000473459, 37.870825000296229 ], [ -122.278979999389904, 37.870625000957389 ], [ -122.280180000324364, 37.870525000870927 ], [ -122.282379999994731, 37.87022600080131 ], [ -122.282380000436746, 37.871125001097575 ], [ -122.282479999723634, 37.871825000684822 ], [ -122.282479999615774, 37.872125000262237 ], [ -122.282579999980769, 37.872925000709557 ], [ -122.282680000488114, 37.87392500033264 ], [ -122.282679999665802, 37.87472500039825 ], [ -122.282780000148577, 37.875725000551 ], [ -122.282880000043704, 37.876525000290428 ], [ -122.281779999606854, 37.876725000405017 ], [ -122.280680000400153, 37.876825000964622 ], [ -122.279779999982338, 37.877025000960856 ], [ -122.278579999813815, 37.8771250009437 ], [ -122.27747999952885, 37.87732500042943 ], [ -122.276280000041481, 37.87752500039889 ], [ -122.275179999803626, 37.877525000810351 ], [ -122.274080000474541, 37.877725000900313 ], [ -122.273980000334404, 37.87592500104553 ], [ -122.273880000050056, 37.875025000303083 ], [ -122.273680000193025, 37.874225000816011 ], [ -122.273679999945216, 37.873325000982447 ], [ -122.273679999518947, 37.87242500101204 ], [ -122.27338000017194, 37.87152500100688 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1020, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.263479999848784, 37.879225000465439 ], [ -122.262480000239805, 37.879325001085455 ], [ -122.26157999947111, 37.879425000392231 ], [ -122.261134999987419, 37.879483000306152 ], [ -122.259280000511993, 37.879725000425736 ], [ -122.258280000103227, 37.879925000342652 ], [ -122.258579999608571, 37.880425000467298 ], [ -122.25758000013758, 37.880525000803445 ], [ -122.257280000191869, 37.880025000865928 ], [ -122.256279999907989, 37.880125000989707 ], [ -122.255592999976756, 37.880194000367872 ], [ -122.255337999784629, 37.878415000320757 ], [ -122.255622999572907, 37.878395000527533 ], [ -122.255248000514683, 37.875744000786291 ], [ -122.255580000256558, 37.875725000465799 ], [ -122.256179999815643, 37.875625000298832 ], [ -122.257280000340458, 37.875425000754689 ], [ -122.258879999867773, 37.875325000325887 ], [ -122.260779999402757, 37.87502500108446 ], [ -122.262779999868002, 37.874825000696191 ], [ -122.264679999554332, 37.874525000550051 ], [ -122.265879999953327, 37.874225000572622 ], [ -122.266179999687907, 37.875425000977465 ], [ -122.265779999883478, 37.877125000829132 ], [ -122.265879999699038, 37.877325000720525 ], [ -122.266179999706893, 37.878725000473167 ], [ -122.264979999934525, 37.878925000341241 ], [ -122.263880000511335, 37.879125000401515 ], [ -122.263479999848784, 37.879225000465439 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1007, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.244478999875554, 37.867925000885101 ], [ -122.244578999412155, 37.867525000754242 ], [ -122.244279000169584, 37.866725000441114 ], [ -122.244379000036332, 37.865925001121028 ], [ -122.246178999869727, 37.866125000367937 ], [ -122.246504999861784, 37.866125000664859 ], [ -122.247078999523808, 37.866125000887948 ], [ -122.248279000184851, 37.866025000430646 ], [ -122.24937900025067, 37.866125001109381 ], [ -122.250279000079431, 37.866125000598991 ], [ -122.251378999792152, 37.866026000892319 ], [ -122.252179000423894, 37.866026000706562 ], [ -122.253279000229711, 37.86582600072019 ], [ -122.254379999571228, 37.865826000575844 ], [ -122.254680000001258, 37.866725000616547 ], [ -122.254780000347623, 37.867625000786845 ], [ -122.25487999953458, 37.868525000739453 ], [ -122.254980000197577, 37.869525000540236 ], [ -122.254652999627808, 37.869570000753164 ], [ -122.252779000040249, 37.869825000521324 ], [ -122.252779000275666, 37.869425000385718 ], [ -122.250879000436498, 37.869425000940041 ], [ -122.250078999497816, 37.869425000246295 ], [ -122.2496790001899, 37.86952500059104 ], [ -122.248865999688221, 37.869968000453369 ], [ -122.247478999561864, 37.870725000526534 ], [ -122.245846000123223, 37.870058000959084 ], [ -122.244679000315955, 37.869425000762504 ], [ -122.244678999688333, 37.868725000777104 ], [ -122.244478999875554, 37.867925000885101 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1018, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.268679999733777, 37.872125001123557 ], [ -122.268079999655853, 37.872225000355279 ], [ -122.26752899952335, 37.872347000875443 ], [ -122.267180000362274, 37.872425000702776 ], [ -122.266580000351766, 37.872425000313562 ], [ -122.266380000065936, 37.871425000884521 ], [ -122.266367000217386, 37.87132200051429 ], [ -122.266280000524588, 37.87062500071945 ], [ -122.266179999450003, 37.870125000672502 ], [ -122.2661799995943, 37.869825000362475 ], [ -122.266380000115404, 37.869325000628208 ], [ -122.266580000156878, 37.868825000498191 ], [ -122.266479999519149, 37.867926000448549 ], [ -122.26628000037131, 37.866926001060001 ], [ -122.266079999788829, 37.866126000614656 ], [ -122.265879999565939, 37.865226000462997 ], [ -122.265779999895301, 37.864326000705887 ], [ -122.267680000462263, 37.864026000927119 ], [ -122.270279999559705, 37.863626000662649 ], [ -122.272480000299538, 37.863326000300354 ], [ -122.272580000416198, 37.864426000723682 ], [ -122.272779999992878, 37.865226000531052 ], [ -122.272879999390597, 37.867026000844497 ], [ -122.273080000385193, 37.868826000637867 ], [ -122.273180000386233, 37.869825000828321 ], [ -122.273279999747515, 37.870625000946823 ], [ -122.27338000017194, 37.87152500100688 ], [ -122.272180000094707, 37.871725000265535 ], [ -122.271080000425016, 37.871825000672501 ], [ -122.268679999733777, 37.872125001123557 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1016, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.281879999866931, 37.867426000716833 ], [ -122.281880000197404, 37.865826000385013 ], [ -122.281679999978323, 37.86402600028751 ], [ -122.281379999738519, 37.862226001032226 ], [ -122.282380000213962, 37.862026000434518 ], [ -122.283179999901719, 37.862026000294975 ], [ -122.283479999675166, 37.86192600087346 ], [ -122.284179999710688, 37.861826000589474 ], [ -122.284880000149045, 37.861726000642896 ], [ -122.285780000437242, 37.861626000346028 ], [ -122.286180000458344, 37.861626000662064 ], [ -122.287080000108702, 37.861526000323607 ], [ -122.287580000390236, 37.861326000338963 ], [ -122.2880799998604, 37.861326000751617 ], [ -122.2889800002025, 37.861226000282919 ], [ -122.289779999645219, 37.861126000842873 ], [ -122.290380000163026, 37.862826000670786 ], [ -122.290680000372703, 37.863626000477311 ], [ -122.290979999461783, 37.864626000993695 ], [ -122.291580000117165, 37.866326000240647 ], [ -122.291879999884074, 37.867226000521271 ], [ -122.292033999731615, 37.867734000522915 ], [ -122.292116999777917, 37.868115000324885 ], [ -122.292380000250645, 37.869026000453729 ], [ -122.289579999911226, 37.869426000756484 ], [ -122.288179999899214, 37.869626001114788 ], [ -122.287680000040751, 37.86962600090034 ], [ -122.286680000368662, 37.869726000630692 ], [ -122.284580000323743, 37.870026000762962 ], [ -122.282379999994731, 37.87022600080131 ], [ -122.282179999840565, 37.86942600037051 ], [ -122.281972999960175, 37.868046000260875 ], [ -122.281879999866931, 37.867426000716833 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1013, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.282380000213962, 37.862026000434518 ], [ -122.281379999738519, 37.862226001032226 ], [ -122.281180000360578, 37.861326000338757 ], [ -122.280980000441573, 37.860526000431783 ], [ -122.280779999951406, 37.859626000636347 ], [ -122.28057999960734, 37.858726000385971 ], [ -122.280379999400481, 37.857826000581831 ], [ -122.280080000206084, 37.857026000435518 ], [ -122.279979999754943, 37.856126000924746 ], [ -122.2796800002384, 37.855026001000269 ], [ -122.27957999983316, 37.854326000860617 ], [ -122.279479999491684, 37.853426000558017 ], [ -122.280184000111305, 37.853368000636507 ], [ -122.280464000121938, 37.853357000992098 ], [ -122.280980000247993, 37.853326001095731 ], [ -122.281276999916756, 37.853292000428958 ], [ -122.281779999621307, 37.85322600060578 ], [ -122.284079999568206, 37.85282600065424 ], [ -122.286979999409681, 37.852226000344217 ], [ -122.287280000160436, 37.853126000509391 ], [ -122.287479999776679, 37.853626000237483 ], [ -122.287746000209552, 37.85444400078579 ], [ -122.287879999977122, 37.855026000493254 ], [ -122.28822999975182, 37.856200000968542 ], [ -122.288480000276778, 37.856926000545563 ], [ -122.288580000500914, 37.857226000438317 ], [ -122.288679999938523, 37.857626000664283 ], [ -122.28888000023656, 37.858126000431405 ], [ -122.288980000164486, 37.858526000356527 ], [ -122.289266999549938, 37.859452000554853 ], [ -122.289480000110842, 37.860226000800871 ], [ -122.289779999645219, 37.861126000842873 ], [ -122.2889800002025, 37.861226000282919 ], [ -122.2880799998604, 37.861326000751617 ], [ -122.287580000390236, 37.861326000338963 ], [ -122.287080000108702, 37.861526000323607 ], [ -122.286180000458344, 37.861626000662064 ], [ -122.285780000437242, 37.861626000346028 ], [ -122.284880000149045, 37.861726000642896 ], [ -122.284179999710688, 37.861826000589474 ], [ -122.283479999675166, 37.86192600087346 ], [ -122.283179999901719, 37.862026000294975 ], [ -122.282380000213962, 37.862026000434518 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1011, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.265779999895301, 37.864326000705887 ], [ -122.265579999867512, 37.863426000710795 ], [ -122.265379999982699, 37.862526000261219 ], [ -122.265180000231723, 37.861626000258418 ], [ -122.264979999907453, 37.86082600094899 ], [ -122.264880000334841, 37.859926000735719 ], [ -122.264679999533413, 37.859026000440423 ], [ -122.264480000187604, 37.858026000306722 ], [ -122.264279999475932, 37.857226000296102 ], [ -122.264080000198703, 37.855826000625967 ], [ -122.265079999489501, 37.855626000583932 ], [ -122.266080000007634, 37.85552600048414 ], [ -122.266980000385601, 37.855426000295637 ], [ -122.267879999508068, 37.85532600041789 ], [ -122.269679999592185, 37.855026000355657 ], [ -122.269680000343286, 37.854626000655543 ], [ -122.270480000144673, 37.854526000483226 ], [ -122.271679999525105, 37.854426001023413 ], [ -122.271779999407897, 37.856226000855578 ], [ -122.271879999503355, 37.857026000248474 ], [ -122.271979999916439, 37.858026001036613 ], [ -122.272079999578366, 37.858926000356774 ], [ -122.272180000349351, 37.859826000374404 ], [ -122.272279999955998, 37.860726001075449 ], [ -122.272280000471369, 37.861626000938472 ], [ -122.272380000127328, 37.862626000659027 ], [ -122.272480000299538, 37.863326000300354 ], [ -122.270279999559705, 37.863626000662649 ], [ -122.267680000462263, 37.864026000927119 ], [ -122.265779999895301, 37.864326000705887 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1009, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.262779999848561, 37.861126000262473 ], [ -122.264979999907453, 37.86082600094899 ], [ -122.265180000231723, 37.861626000258418 ], [ -122.265379999982699, 37.862526000261219 ], [ -122.265579999867512, 37.863426000710795 ], [ -122.265779999895301, 37.864326000705887 ], [ -122.263480000178816, 37.864626000846968 ], [ -122.261280000349274, 37.864926000287817 ], [ -122.258979999692514, 37.865326000789054 ], [ -122.258379999551963, 37.865326000301287 ], [ -122.257079999639075, 37.865526000279814 ], [ -122.25678000048768, 37.865526000535709 ], [ -122.255680000499567, 37.865626000740178 ], [ -122.254379999571228, 37.865826000575844 ], [ -122.254180000205281, 37.864026000675224 ], [ -122.254279999926823, 37.863826001096548 ], [ -122.254079999389617, 37.862226000783117 ], [ -122.25418000028553, 37.862026000326232 ], [ -122.25547999967398, 37.861926000661867 ], [ -122.256780000188641, 37.861826001053281 ], [ -122.257980000432354, 37.861726000427957 ], [ -122.25958000041382, 37.861526000531249 ], [ -122.260580000379235, 37.861426000738646 ], [ -122.262779999848561, 37.861126000262473 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1004, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.236378999766757, 37.852426000955028 ], [ -122.240867999686927, 37.852151000762781 ], [ -122.241278999934025, 37.852126000754467 ], [ -122.241879000469297, 37.852126000524805 ], [ -122.243979000467732, 37.851826000928178 ], [ -122.244879000045728, 37.851826000404714 ], [ -122.245278999615465, 37.851826000666001 ], [ -122.246078999923895, 37.851826000724238 ], [ -122.247179000093041, 37.851726000863806 ], [ -122.248479000050622, 37.8516260010068 ], [ -122.249478999917798, 37.851626000524845 ], [ -122.251580000415316, 37.851326000395986 ], [ -122.253080000096432, 37.851326000665701 ], [ -122.253080000393695, 37.851626000785586 ], [ -122.253279999459224, 37.854126000942927 ], [ -122.253380000492925, 37.854926001075476 ], [ -122.253379999690551, 37.855826000852225 ], [ -122.253579999717928, 37.8563260002541 ], [ -122.25367999978927, 37.857326000351058 ], [ -122.25287499948314, 37.857460000747153 ], [ -122.252779999618852, 37.857826000549665 ], [ -122.251593000233925, 37.857696000485397 ], [ -122.251379000066706, 37.857726000561264 ], [ -122.250479000254202, 37.857826001117985 ], [ -122.249589000382358, 37.857863000481096 ], [ -122.248578999471022, 37.85792600025384 ], [ -122.247597000016356, 37.857952000987645 ], [ -122.246663000436214, 37.857961000332566 ], [ -122.245438000165876, 37.857996000241471 ], [ -122.243778999988606, 37.858026000779972 ], [ -122.243164000459061, 37.857982000420087 ], [ -122.242478999612132, 37.85782600079002 ], [ -122.2422250004294, 37.857697000296938 ], [ -122.241978999703136, 37.857526000960597 ], [ -122.241655999793451, 37.857312000280615 ], [ -122.240178999934756, 37.857226001066586 ], [ -122.239178999972921, 37.857226000644914 ], [ -122.238579000325288, 37.857326000622386 ], [ -122.237679000135458, 37.857226000309673 ], [ -122.234878999571933, 37.857426000371682 ], [ -122.234678999853088, 37.857026000604193 ], [ -122.234579000072358, 37.856326000296896 ], [ -122.234479000132822, 37.855326001134507 ], [ -122.234278999840797, 37.853626000877583 ], [ -122.234179000236196, 37.852526000831475 ], [ -122.23597899942952, 37.852426001080886 ], [ -122.236378999766757, 37.852426000955028 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 1003, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.253279999459224, 37.854126000942927 ], [ -122.253080000393695, 37.851626000785586 ], [ -122.253080000096432, 37.851326000665701 ], [ -122.253679999915192, 37.851126000856311 ], [ -122.253580000416818, 37.851426000761343 ], [ -122.253979999540661, 37.853626000280649 ], [ -122.254579999975192, 37.853526000854828 ], [ -122.255580000448163, 37.853426000618583 ], [ -122.256680000067107, 37.853226000955928 ], [ -122.257879999580339, 37.853226000958323 ], [ -122.258980000384327, 37.853026000498446 ], [ -122.260879999509484, 37.852726000645902 ], [ -122.262379999426585, 37.852626000245422 ], [ -122.262380000440189, 37.852826000994376 ], [ -122.2624800000969, 37.853726000631056 ], [ -122.262779999922117, 37.855026000967626 ], [ -122.262979999542182, 37.856026000759627 ], [ -122.26187999982362, 37.856226000504293 ], [ -122.260180000236502, 37.856426000730437 ], [ -122.258679999978426, 37.856626000928827 ], [ -122.258380000507046, 37.856626000903979 ], [ -122.25738000014384, 37.856726000370621 ], [ -122.256061999878767, 37.856997001125194 ], [ -122.254879999762849, 37.857126000962715 ], [ -122.25367999978927, 37.857326000351058 ], [ -122.253579999717928, 37.8563260002541 ], [ -122.253379999690551, 37.855826000852225 ], [ -122.253380000492925, 37.854926001075476 ], [ -122.253279999459224, 37.854126000942927 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 19, "TAZ1454": 994, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.281779999621307, 37.85322600060578 ], [ -122.281276999916756, 37.853292000428958 ], [ -122.280980000247993, 37.853326001095731 ], [ -122.280464000121938, 37.853357000992098 ], [ -122.280184000111305, 37.853368000636507 ], [ -122.279479999491684, 37.853426000558017 ], [ -122.279280000326025, 37.85242600043911 ], [ -122.278998999981866, 37.851678000786649 ], [ -122.278979999871879, 37.851626000500154 ], [ -122.278980000082967, 37.85122600036371 ], [ -122.278779999405074, 37.850726000667265 ], [ -122.278779999447636, 37.850526000574028 ], [ -122.278679999440143, 37.849726000495188 ], [ -122.278280000363978, 37.849026001096355 ], [ -122.27837999960272, 37.848126000805891 ], [ -122.278080000374047, 37.847726000296987 ], [ -122.279880000279036, 37.847526000366642 ], [ -122.281680000298564, 37.84722600024336 ], [ -122.282179999744585, 37.847126000420658 ], [ -122.282279999545167, 37.847526000258974 ], [ -122.282539000004462, 37.848368000768509 ], [ -122.282680000168227, 37.848826000513228 ], [ -122.282780000002475, 37.849326000375214 ], [ -122.283679999932602, 37.849126000357224 ], [ -122.283680000486271, 37.849426001099665 ], [ -122.283880000498527, 37.850326000239285 ], [ -122.28417999941675, 37.850726000383681 ], [ -122.286420000196301, 37.850186000389279 ], [ -122.286580000399113, 37.850626000841018 ], [ -122.286678999686885, 37.851003000516954 ], [ -122.286779999514593, 37.851426000805105 ], [ -122.286875999726263, 37.851736000540988 ], [ -122.286979999409681, 37.852226000344217 ], [ -122.284079999568206, 37.85282600065424 ], [ -122.281779999621307, 37.85322600060578 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 917, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.236979000462298, 37.830726000993195 ], [ -122.236578999735897, 37.830526000669188 ], [ -122.235279000481199, 37.83042600052314 ], [ -122.234279000250353, 37.828726000346649 ], [ -122.233878999989955, 37.827926000676058 ], [ -122.233678999802777, 37.827426000576551 ], [ -122.232978999682885, 37.826127000240987 ], [ -122.232478999864924, 37.825527000869315 ], [ -122.232378999992918, 37.825027001115288 ], [ -122.232278999720833, 37.824727000773052 ], [ -122.231978999918795, 37.824127000307108 ], [ -122.232571000364842, 37.823880000289719 ], [ -122.233179000474919, 37.823627000558339 ], [ -122.233979000065375, 37.822927000896783 ], [ -122.234579000213046, 37.823127000410118 ], [ -122.235578999489817, 37.823027000248267 ], [ -122.236378999642312, 37.823027000885247 ], [ -122.236579000435668, 37.822627001134187 ], [ -122.236878999866377, 37.822427000580788 ], [ -122.237479000110056, 37.821927000912119 ], [ -122.237778999762625, 37.821827000572618 ], [ -122.238179000467909, 37.821427000523492 ], [ -122.238278999517846, 37.820527000467251 ], [ -122.237079000482098, 37.820627001107717 ], [ -122.236879000482531, 37.820327001055453 ], [ -122.236678999980285, 37.820227000389337 ], [ -122.237479000486331, 37.818527000775312 ], [ -122.237679000517446, 37.8183270003871 ], [ -122.239279000459632, 37.81772700109012 ], [ -122.240378999986973, 37.818027000482104 ], [ -122.242178999681258, 37.818427000549363 ], [ -122.243278999877177, 37.818727000858573 ], [ -122.243978999940708, 37.818927001037004 ], [ -122.244779000367643, 37.819327000933342 ], [ -122.245378999728842, 37.819727000370747 ], [ -122.246179000428342, 37.820127000688373 ], [ -122.247978999523141, 37.821727000548243 ], [ -122.249979999959137, 37.823027000435843 ], [ -122.249580000295154, 37.823527000933709 ], [ -122.250179999672284, 37.823827000335797 ], [ -122.248978999968514, 37.825027000622484 ], [ -122.248678999792517, 37.825527000909887 ], [ -122.247979000049952, 37.82672700102826 ], [ -122.246267999660887, 37.827623001088789 ], [ -122.245878999403857, 37.827827000810728 ], [ -122.245407999490766, 37.828164001017548 ], [ -122.245178999724004, 37.828327000436666 ], [ -122.244878999653892, 37.828626000532395 ], [ -122.244178999921132, 37.829326000815861 ], [ -122.243379000327508, 37.830126000382194 ], [ -122.24307899943571, 37.829926001090847 ], [ -122.238979000224134, 37.830526000290391 ], [ -122.236979000462298, 37.830726000993195 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 948, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.236778999505788, 37.771028000690102 ], [ -122.237378999718501, 37.770228000533621 ], [ -122.238078999964017, 37.769428000254358 ], [ -122.238778999622284, 37.768528000305075 ], [ -122.239479000282515, 37.767728000361203 ], [ -122.240179000287313, 37.767028000464443 ], [ -122.240779000164579, 37.766228001084166 ], [ -122.242378999748837, 37.766828000583963 ], [ -122.243578999605134, 37.767328001027089 ], [ -122.245279999896511, 37.768128000905783 ], [ -122.248180000097591, 37.76932800030216 ], [ -122.250761000115403, 37.770485000262624 ], [ -122.251079999583197, 37.77062800045843 ], [ -122.252080000140495, 37.771128000595816 ], [ -122.253179999654904, 37.771628000571958 ], [ -122.254280000368084, 37.772128001122518 ], [ -122.255179999652157, 37.772528001081845 ], [ -122.255980000453661, 37.772828001076149 ], [ -122.256880000379894, 37.773228000699575 ], [ -122.257680000231915, 37.773628000754215 ], [ -122.259580000130555, 37.774528000628436 ], [ -122.259080000408559, 37.775428001059709 ], [ -122.258480000328149, 37.776128000271648 ], [ -122.257479999827495, 37.775728001059214 ], [ -122.256479999918426, 37.775328000591813 ], [ -122.255679999775225, 37.774928000562184 ], [ -122.255480000142072, 37.775128000329204 ], [ -122.254979999814921, 37.775928000351932 ], [ -122.254294999926373, 37.775585000932615 ], [ -122.254180000269272, 37.77552800100316 ], [ -122.253999999901268, 37.775798000284738 ], [ -122.253579999926785, 37.776428000780214 ], [ -122.252584000232702, 37.777756000633417 ], [ -122.252079999698822, 37.778428000585762 ], [ -122.251579999500564, 37.778628000552509 ], [ -122.250579999635306, 37.77662800084822 ], [ -122.248280000055445, 37.775528000553571 ], [ -122.244279000377119, 37.77512800036407 ], [ -122.238879000361024, 37.772028000697723 ], [ -122.236778999505788, 37.771028000690102 ] ] ], [ [ [ -122.252879999623943, 37.785828000710353 ], [ -122.249380000309955, 37.784328000834705 ], [ -122.246079999951931, 37.781328000625663 ], [ -122.245979999949455, 37.778928000874622 ], [ -122.247780000401647, 37.779128001120583 ], [ -122.254679999647038, 37.785328000404924 ], [ -122.252879999623943, 37.785828000710353 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 964, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.327680999721878, 37.780828001083819 ], [ -122.332280999660867, 37.788128001089056 ], [ -122.332380999924993, 37.790428001034762 ], [ -122.332188999962341, 37.797624000939287 ], [ -122.332180999566219, 37.797928000240589 ], [ -122.317696999411822, 37.794407000793065 ], [ -122.312650000257548, 37.793181000310909 ], [ -122.309036999933113, 37.792303000390312 ], [ -122.303379999443848, 37.790928000712832 ], [ -122.298238000338515, 37.790868000679488 ], [ -122.294880000144914, 37.790828000815218 ], [ -122.29482400018469, 37.789803000802898 ], [ -122.294379999700837, 37.789428000715723 ], [ -122.294307999440292, 37.789334000484814 ], [ -122.293879999507908, 37.788928001115856 ], [ -122.292079999997227, 37.787328000932099 ], [ -122.291780000090952, 37.786428000305357 ], [ -122.291780000463035, 37.78512800042423 ], [ -122.291779999978715, 37.784628001084059 ], [ -122.291780000472031, 37.783828000257728 ], [ -122.291821000229135, 37.783749000277055 ], [ -122.291780000491954, 37.78312800102151 ], [ -122.291779999583312, 37.782328000886942 ], [ -122.291880000497756, 37.780228000458997 ], [ -122.292080000296721, 37.779928000960545 ], [ -122.291779999799289, 37.778828000301914 ], [ -122.291779999989402, 37.778228000459976 ], [ -122.291779999487716, 37.777928000512802 ], [ -122.291679999856271, 37.776828000672047 ], [ -122.291580000379597, 37.775528000513859 ], [ -122.291480000156355, 37.774528001023867 ], [ -122.29145499966495, 37.773190000540879 ], [ -122.291454999558496, 37.773126000500525 ], [ -122.291480000377291, 37.769828000935867 ], [ -122.293177999958672, 37.7701550007394 ], [ -122.294079999986238, 37.770328000535343 ], [ -122.302779999792705, 37.772228000620899 ], [ -122.30207999940059, 37.773628000865429 ], [ -122.305121999758995, 37.774798001116331 ], [ -122.307279999500921, 37.775628000758672 ], [ -122.310179999632737, 37.775828000913286 ], [ -122.31428000038818, 37.776328000275434 ], [ -122.315279999976227, 37.776428000408565 ], [ -122.317780000114467, 37.779228001019547 ], [ -122.323080999983333, 37.779328001025775 ], [ -122.325080999893117, 37.780728001129702 ], [ -122.327680999721878, 37.780828001083819 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 959, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.275580000063059, 37.77152800057538 ], [ -122.276348000149497, 37.771573000709175 ], [ -122.277280000482236, 37.771628000460588 ], [ -122.277279999632384, 37.772628000469147 ], [ -122.277180000503719, 37.773528000754062 ], [ -122.27717999952398, 37.774428000476661 ], [ -122.277080000293537, 37.775428000335687 ], [ -122.276079999550547, 37.775328000674229 ], [ -122.273179999914362, 37.775328000563583 ], [ -122.270980000364375, 37.775228000719224 ], [ -122.269979999524466, 37.775228000606809 ], [ -122.269579999738752, 37.775128000444404 ], [ -122.269079999456096, 37.77512800046847 ], [ -122.268479999817657, 37.775128000404592 ], [ -122.267780000144555, 37.77522800042059 ], [ -122.266480000193411, 37.775028000758994 ], [ -122.265180000101722, 37.775028000968973 ], [ -122.263880000113588, 37.775028000354588 ], [ -122.263980000170804, 37.773128000633335 ], [ -122.263980000162761, 37.771328001078743 ], [ -122.264012000103136, 37.770727000737438 ], [ -122.264080000183199, 37.769428000965668 ], [ -122.264180000455724, 37.767328001031757 ], [ -122.264180000455454, 37.766628000932641 ], [ -122.264279999469892, 37.765628000406103 ], [ -122.264280000262843, 37.765328000291568 ], [ -122.265479999972101, 37.765928000989618 ], [ -122.266579999823023, 37.766436000736363 ], [ -122.266780000050503, 37.766528000655725 ], [ -122.267679999949763, 37.76706800109222 ], [ -122.267779999741379, 37.767128000615337 ], [ -122.268779999977497, 37.76762800108299 ], [ -122.269780000175899, 37.768028000260578 ], [ -122.271179999980959, 37.768628000571155 ], [ -122.271253000379403, 37.768652000498271 ], [ -122.271780000016122, 37.768828000243644 ], [ -122.272379999883412, 37.7690280004716 ], [ -122.27337999996648, 37.769528000728954 ], [ -122.273280000423895, 37.771428000685965 ], [ -122.275580000063059, 37.77152800057538 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 956, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.253179999654904, 37.771628000571958 ], [ -122.252080000140495, 37.771128000595816 ], [ -122.251079999583197, 37.77062800045843 ], [ -122.251979999773951, 37.769428000436179 ], [ -122.252779999600449, 37.768328000770083 ], [ -122.253380000392767, 37.767428000909355 ], [ -122.254180000488319, 37.766528001037969 ], [ -122.254780000285763, 37.765728000829192 ], [ -122.255379999514275, 37.764928001004577 ], [ -122.255980000453789, 37.764128000677289 ], [ -122.256979999946637, 37.764528000977606 ], [ -122.258979999536692, 37.765328000512561 ], [ -122.260680000074217, 37.766128000585454 ], [ -122.262280000069836, 37.76672800091692 ], [ -122.264180000455724, 37.767328001031757 ], [ -122.264080000183199, 37.769428000965668 ], [ -122.264012000103136, 37.770727000737438 ], [ -122.263980000162761, 37.771328001078743 ], [ -122.263980000170804, 37.773128000633335 ], [ -122.263880000113588, 37.775028000354588 ], [ -122.262580000211315, 37.775028000718322 ], [ -122.261480000024918, 37.774928000354997 ], [ -122.260479999801674, 37.774728001021799 ], [ -122.259580000130555, 37.774528000628436 ], [ -122.257680000231915, 37.773628000754215 ], [ -122.256880000379894, 37.773228000699575 ], [ -122.255980000453661, 37.772828001076149 ], [ -122.255179999652157, 37.772528001081845 ], [ -122.254280000368084, 37.772128001122518 ], [ -122.253179999654904, 37.771628000571958 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 951, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.236178999506365, 37.749129000541281 ], [ -122.236579000490792, 37.749029000776574 ], [ -122.23794599968798, 37.749478000481623 ], [ -122.25045300021344, 37.753533000453913 ], [ -122.250180000392717, 37.754029000565289 ], [ -122.249333999832416, 37.755298000719051 ], [ -122.248642000018577, 37.756335000883631 ], [ -122.248179999951716, 37.757028001096749 ], [ -122.246280000207648, 37.759528000615582 ], [ -122.245579999630635, 37.760428000369551 ], [ -122.24488000009228, 37.761328000269565 ], [ -122.244179999708635, 37.76212800032372 ], [ -122.243378999762939, 37.761628000514463 ], [ -122.243104000324735, 37.761506000259971 ], [ -122.242878999868111, 37.761328000645854 ], [ -122.242079000441038, 37.760828000237979 ], [ -122.240578999800036, 37.760028000264469 ], [ -122.240079000389798, 37.759728000249652 ], [ -122.239379000043598, 37.759328000807017 ], [ -122.238479000284741, 37.75882800109207 ], [ -122.23767899942797, 37.758328000580825 ], [ -122.237479000213085, 37.758128000957797 ], [ -122.236379000448082, 37.757428000573967 ], [ -122.235579000360673, 37.756928000241288 ], [ -122.234779000084828, 37.756328000768683 ], [ -122.234079000285917, 37.755828000499207 ], [ -122.23327900005404, 37.755228000751934 ], [ -122.232685999775441, 37.754790000592656 ], [ -122.231865000308559, 37.754183000976802 ], [ -122.230979000230022, 37.753528000514535 ], [ -122.230179000234315, 37.753128000541352 ], [ -122.22947900006281, 37.752628000884435 ], [ -122.228678999836362, 37.753328000259941 ], [ -122.227278999658523, 37.754628000393787 ], [ -122.226879000488083, 37.754428000752313 ], [ -122.226378999901371, 37.754128000406432 ], [ -122.233278999857731, 37.749529000269092 ], [ -122.234278999755844, 37.750029000975111 ], [ -122.235579000081017, 37.749429001014008 ], [ -122.23586600028915, 37.749258001124332 ], [ -122.236178999506365, 37.749129000541281 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 954, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.257280000297044, 37.756229000881987 ], [ -122.256980000199789, 37.756629000496666 ], [ -122.256180000369696, 37.757928000780325 ], [ -122.25508000007693, 37.759528000891706 ], [ -122.25507999986246, 37.760128000480762 ], [ -122.254779999983185, 37.760828000624556 ], [ -122.253779999417162, 37.760328000522946 ], [ -122.253580000433615, 37.76122800079721 ], [ -122.252679999892919, 37.762628000844366 ], [ -122.255980000453789, 37.764128000677289 ], [ -122.255379999514275, 37.764928001004577 ], [ -122.254780000285763, 37.765728000829192 ], [ -122.254180000488319, 37.766528001037969 ], [ -122.250980000098551, 37.765128000869403 ], [ -122.248179999769945, 37.763828000580268 ], [ -122.245279999414336, 37.762628001003172 ], [ -122.244179999708635, 37.76212800032372 ], [ -122.24488000009228, 37.761328000269565 ], [ -122.245579999630635, 37.760428000369551 ], [ -122.246280000207648, 37.759528000615582 ], [ -122.248179999951716, 37.757028001096749 ], [ -122.248642000018577, 37.756335000883631 ], [ -122.249333999832416, 37.755298000719051 ], [ -122.250180000392717, 37.754029000565289 ], [ -122.25045300021344, 37.753533000453913 ], [ -122.257280000297044, 37.756229000881987 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 957, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.265306999492424, 37.759058000239314 ], [ -122.264880000076445, 37.759528000624883 ], [ -122.263509000259489, 37.761879000755847 ], [ -122.262780000391032, 37.763128001015744 ], [ -122.262279999955965, 37.763628000778567 ], [ -122.261980000073734, 37.764228000998976 ], [ -122.263479999856003, 37.765128000641035 ], [ -122.26355800000708, 37.765148000519609 ], [ -122.264280000262843, 37.765328000291568 ], [ -122.264279999469892, 37.765628000406103 ], [ -122.264180000455454, 37.766628000932641 ], [ -122.264180000455724, 37.767328001031757 ], [ -122.262280000069836, 37.76672800091692 ], [ -122.260680000074217, 37.766128000585454 ], [ -122.258979999536692, 37.765328000512561 ], [ -122.256979999946637, 37.764528000977606 ], [ -122.255980000453789, 37.764128000677289 ], [ -122.252679999892919, 37.762628000844366 ], [ -122.253580000433615, 37.76122800079721 ], [ -122.253779999417162, 37.760328000522946 ], [ -122.254779999983185, 37.760828000624556 ], [ -122.25507999986246, 37.760128000480762 ], [ -122.25508000007693, 37.759528000891706 ], [ -122.256180000369696, 37.757928000780325 ], [ -122.256980000199789, 37.756629000496666 ], [ -122.257280000297044, 37.756229000881987 ], [ -122.265306999492424, 37.759058000239314 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 958, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.280496999943551, 37.766389000323436 ], [ -122.280538999532908, 37.767042001048608 ], [ -122.27896900008966, 37.768135001000054 ], [ -122.279024999984443, 37.768558001002745 ], [ -122.278712999771486, 37.768567001108067 ], [ -122.278779999456447, 37.77162800108065 ], [ -122.277280000482236, 37.771628000460588 ], [ -122.276348000149497, 37.771573000709175 ], [ -122.275580000063059, 37.77152800057538 ], [ -122.273280000423895, 37.771428000685965 ], [ -122.27337999996648, 37.769528000728954 ], [ -122.272379999883412, 37.7690280004716 ], [ -122.271780000016122, 37.768828000243644 ], [ -122.271253000379403, 37.768652000498271 ], [ -122.271179999980959, 37.768628000571155 ], [ -122.269780000175899, 37.768028000260578 ], [ -122.268779999977497, 37.76762800108299 ], [ -122.267779999741379, 37.767128000615337 ], [ -122.267679999949763, 37.76706800109222 ], [ -122.266780000050503, 37.766528000655725 ], [ -122.266579999823023, 37.766436000736363 ], [ -122.265479999972101, 37.765928000989618 ], [ -122.264280000262843, 37.765328000291568 ], [ -122.26355800000708, 37.765148000519609 ], [ -122.263479999856003, 37.765128000641035 ], [ -122.261980000073734, 37.764228000998976 ], [ -122.262279999955965, 37.763628000778567 ], [ -122.262780000391032, 37.763128001015744 ], [ -122.263509000259489, 37.761879000755847 ], [ -122.264880000076445, 37.759528000624883 ], [ -122.265306999492424, 37.759058000239314 ], [ -122.275429999681123, 37.763398001044756 ], [ -122.275306999482893, 37.767579001099556 ], [ -122.277687999659548, 37.76846400067835 ], [ -122.278453000059784, 37.767954001093379 ], [ -122.280496999943551, 37.766389000323436 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 850, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.075574000457081, 37.738828001060611 ], [ -122.074674000379275, 37.739228000390476 ], [ -122.075473999853671, 37.737928000982379 ], [ -122.075574000350926, 37.737628000603138 ], [ -122.076774000078885, 37.735828000526055 ], [ -122.079373999750345, 37.734829001065357 ], [ -122.080774000177399, 37.733129000414628 ], [ -122.079673999561393, 37.724129000416369 ], [ -122.074973999515933, 37.720329000607208 ], [ -122.073674000198025, 37.71832900093829 ], [ -122.07367400014904, 37.718008000851796 ], [ -122.073673999582311, 37.717829001095161 ], [ -122.073674000420354, 37.716829000399635 ], [ -122.073674000327358, 37.716629000238612 ], [ -122.073673999472803, 37.71612900025282 ], [ -122.073673999620311, 37.715939000936089 ], [ -122.073673999510845, 37.715429000933909 ], [ -122.07367299940033, 37.713829000249895 ], [ -122.073673000416846, 37.713329000948299 ], [ -122.073672999831587, 37.712929000384648 ], [ -122.073673000035257, 37.712029000383467 ], [ -122.073693000106019, 37.711789000496211 ], [ -122.073699999810074, 37.711705000755252 ], [ -122.073773999577398, 37.710829000549126 ], [ -122.073773999704315, 37.710229000350154 ], [ -122.073673000082621, 37.709429001124484 ], [ -122.074026000031097, 37.709452000314926 ], [ -122.075173999982965, 37.709529001113417 ], [ -122.076173999450887, 37.709629000514312 ], [ -122.07657399942461, 37.709729001008867 ], [ -122.077674000100615, 37.709829000303756 ], [ -122.078474000137618, 37.709929000825653 ], [ -122.079173999619329, 37.709929001079665 ], [ -122.079374000332209, 37.71002900082123 ], [ -122.082274000283519, 37.710129001046099 ], [ -122.084074000471304, 37.710129000587216 ], [ -122.085474000391642, 37.710129000752687 ], [ -122.085774000479702, 37.710129000299418 ], [ -122.086574000343248, 37.710129001063052 ], [ -122.087418000454292, 37.710049000932393 ], [ -122.088674000132755, 37.709929000411343 ], [ -122.088573999815139, 37.711629000586434 ], [ -122.089474000104744, 37.715029000747755 ], [ -122.088773999986088, 37.716829001027655 ], [ -122.08867400031211, 37.71802900075928 ], [ -122.08877399991448, 37.71902900110949 ], [ -122.088874000265321, 37.719929000643972 ], [ -122.089018999429257, 37.720797000819445 ], [ -122.08907399953128, 37.721129001116132 ], [ -122.089773999952527, 37.720829000345987 ], [ -122.09037399946817, 37.722329001091921 ], [ -122.092873999489711, 37.723529000340022 ], [ -122.093774000304947, 37.724729000821199 ], [ -122.093973999988194, 37.727229000957706 ], [ -122.094574000478644, 37.728129000874375 ], [ -122.087873999601982, 37.727829000748258 ], [ -122.081973999868964, 37.725329000439778 ], [ -122.081773999826197, 37.731129000726234 ], [ -122.081274000104997, 37.733129000459662 ], [ -122.080974000386192, 37.734429000989124 ], [ -122.079773999943214, 37.735428000937084 ], [ -122.077273999394166, 37.736628000574839 ], [ -122.076373999600861, 37.737728000261775 ], [ -122.076173999527569, 37.737928000625956 ], [ -122.075574000457081, 37.738828001060611 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 852, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.094974000104159, 37.692430001067308 ], [ -122.095074000330428, 37.693630000916023 ], [ -122.095473999451087, 37.69403000079523 ], [ -122.09587399962335, 37.694730000684466 ], [ -122.096273999648645, 37.695830000632206 ], [ -122.096842999939113, 37.695667000891433 ], [ -122.096973999739731, 37.695630000558424 ], [ -122.09767399949132, 37.69543000080575 ], [ -122.098374000078948, 37.696830001038585 ], [ -122.098774000143678, 37.697530000897054 ], [ -122.098974000143428, 37.697730001019224 ], [ -122.099874000485045, 37.699630001129016 ], [ -122.099935000147056, 37.699737000469419 ], [ -122.100673999545677, 37.701030000628833 ], [ -122.1021739998409, 37.701630000553031 ], [ -122.102073999650131, 37.702030000948461 ], [ -122.101973999487782, 37.70243000032584 ], [ -122.103274000269238, 37.703830000943036 ], [ -122.103519999655575, 37.704815000535788 ], [ -122.103573999438595, 37.70503000064538 ], [ -122.104875000337984, 37.706530000930648 ], [ -122.104975000449087, 37.706630000321915 ], [ -122.105775000449214, 37.707530000502224 ], [ -122.106275000143015, 37.708230000881457 ], [ -122.106375000301526, 37.709030000834531 ], [ -122.106075000347388, 37.709530000474253 ], [ -122.106474999499142, 37.711643000323889 ], [ -122.105598000154302, 37.715856001082798 ], [ -122.104075000318488, 37.715129001043728 ], [ -122.099874000234678, 37.713229000503873 ], [ -122.098773999781429, 37.712929000990428 ], [ -122.097574000025986, 37.712229000580372 ], [ -122.095374000409322, 37.711029000687688 ], [ -122.09457399965396, 37.710629000605735 ], [ -122.093274000508814, 37.709930001060492 ], [ -122.092973999939133, 37.709930000774449 ], [ -122.092474000177418, 37.709530000296112 ], [ -122.091474000413086, 37.708930000864868 ], [ -122.090574000028411, 37.708330000966448 ], [ -122.090374000150774, 37.707530001059432 ], [ -122.090102000423073, 37.706822001117068 ], [ -122.090029999850771, 37.706635000349841 ], [ -122.089873999842624, 37.706230000260149 ], [ -122.089374000291471, 37.704630000945137 ], [ -122.089237000520995, 37.704175000679875 ], [ -122.089073999619444, 37.70363000037932 ], [ -122.088773999421136, 37.702830000670652 ], [ -122.088073999943362, 37.700930000513956 ], [ -122.088974000207401, 37.700830000760348 ], [ -122.089573999535702, 37.700730000695359 ], [ -122.090374000157141, 37.700530000349872 ], [ -122.090973999773112, 37.700430000344085 ], [ -122.091774000271116, 37.700230000364179 ], [ -122.091073999916887, 37.697930000453866 ], [ -122.090774000370445, 37.696930000430648 ], [ -122.090673999639819, 37.696430000377212 ], [ -122.090574000355019, 37.696130000401027 ], [ -122.089973999712953, 37.694130000967498 ], [ -122.089973999438172, 37.693830000598233 ], [ -122.089573999604326, 37.69273000108641 ], [ -122.090374000247522, 37.692230000470104 ], [ -122.091674000304153, 37.691730001061586 ], [ -122.093575999840311, 37.690823000313735 ], [ -122.094474000127008, 37.691830000882192 ], [ -122.094974000104159, 37.692430001067308 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 943, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.249280000454391, 37.80082700106054 ], [ -122.249501000207928, 37.801564000680038 ], [ -122.249579999642449, 37.801827000654193 ], [ -122.249680000087665, 37.802727000779782 ], [ -122.249879999845874, 37.803327000507601 ], [ -122.250179999715357, 37.804227000728901 ], [ -122.250279999933298, 37.805027000729481 ], [ -122.250580000259589, 37.805227001087118 ], [ -122.2512800002457, 37.805427001125594 ], [ -122.25067999946755, 37.806927000429042 ], [ -122.25017999945959, 37.808027000384953 ], [ -122.249880000277429, 37.808627001118303 ], [ -122.249479999788818, 37.808927000743914 ], [ -122.248979999662112, 37.809227000490317 ], [ -122.247880000370841, 37.809927000506818 ], [ -122.247278999966625, 37.809727000941479 ], [ -122.244008000291032, 37.809278000357885 ], [ -122.242469000020634, 37.80888400107019 ], [ -122.241678999709833, 37.808727000407792 ], [ -122.241350999562158, 37.808583000451968 ], [ -122.237579000376883, 37.80692700036122 ], [ -122.23648400015567, 37.806354001060939 ], [ -122.235479000073951, 37.8058270003378 ], [ -122.233378999721538, 37.804227000239337 ], [ -122.233878999393482, 37.803827000676364 ], [ -122.234578999671029, 37.803327000609535 ], [ -122.235379000325239, 37.803227000670262 ], [ -122.237279000028792, 37.803027001122118 ], [ -122.238778999801269, 37.802727000422792 ], [ -122.239778999711959, 37.802627000903335 ], [ -122.241579000236243, 37.80242700031441 ], [ -122.242079000468436, 37.802327000430857 ], [ -122.243878999676568, 37.801827000928157 ], [ -122.245379000077222, 37.80152700062358 ], [ -122.246179000146029, 37.801427001056055 ], [ -122.246778999452474, 37.801227000654606 ], [ -122.247180000465661, 37.801227000599255 ], [ -122.24807999971766, 37.800927001073106 ], [ -122.249280000454391, 37.80082700106054 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 934, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.242479000439488, 37.794627000431575 ], [ -122.24157900003307, 37.793727000627428 ], [ -122.242479000511068, 37.79302700036741 ], [ -122.243478999523745, 37.792327000724953 ], [ -122.244379000204816, 37.791628000501703 ], [ -122.245278999703487, 37.790928000906021 ], [ -122.246178999712697, 37.790328001014444 ], [ -122.247079999854321, 37.789628000978794 ], [ -122.248479999825037, 37.790828001122748 ], [ -122.249380000389266, 37.791528000284003 ], [ -122.250379999743757, 37.792328001073841 ], [ -122.251279999815168, 37.793027000570163 ], [ -122.252079999831594, 37.793827000954558 ], [ -122.25287999996732, 37.794627000379265 ], [ -122.253780000294554, 37.795327001 ], [ -122.254579999536631, 37.796127000535918 ], [ -122.25357999942041, 37.796827000461235 ], [ -122.252679999590185, 37.79742700028725 ], [ -122.25177999986667, 37.798127000650226 ], [ -122.250880000133478, 37.798827000291453 ], [ -122.2516800005194, 37.799627001063705 ], [ -122.250880000244848, 37.800127000534893 ], [ -122.251179999859716, 37.800427000630286 ], [ -122.250813999421226, 37.800479000449535 ], [ -122.250479999500513, 37.800527000865507 ], [ -122.249479999927772, 37.800727000693755 ], [ -122.248680000345971, 37.799927000504304 ], [ -122.247880000410746, 37.799327000819318 ], [ -122.246979999663751, 37.798427001002096 ], [ -122.245978999680318, 37.797627000715764 ], [ -122.245079000375313, 37.796827001042288 ], [ -122.244378999558535, 37.796227000892692 ], [ -122.243479000254979, 37.795427000670692 ], [ -122.242479000439488, 37.794627000431575 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 936, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.236678999750666, 37.79752700104774 ], [ -122.237178999945385, 37.797027000922341 ], [ -122.237879000045183, 37.7964270007583 ], [ -122.238779000499974, 37.79702700054191 ], [ -122.239679000456633, 37.797927000536639 ], [ -122.240679000159787, 37.798727000732434 ], [ -122.241278999794005, 37.799327000484745 ], [ -122.242078999847621, 37.800027000848083 ], [ -122.243079000126656, 37.800827000453019 ], [ -122.242378999743309, 37.801427000435012 ], [ -122.241679000469986, 37.802027000661624 ], [ -122.241579000236243, 37.80242700031441 ], [ -122.239778999711959, 37.802627000903335 ], [ -122.238778999801269, 37.802727000422792 ], [ -122.237279000028792, 37.803027001122118 ], [ -122.235379000325239, 37.803227000670262 ], [ -122.234578999671029, 37.803327000609535 ], [ -122.233878999393482, 37.803827000676364 ], [ -122.233378999721538, 37.804227000239337 ], [ -122.231279000458912, 37.802527000396289 ], [ -122.231778999777092, 37.802127000618469 ], [ -122.232379000481885, 37.801627000339828 ], [ -122.233079000358828, 37.80102700067718 ], [ -122.233778999685669, 37.800527000526699 ], [ -122.234679000241954, 37.799827000948959 ], [ -122.234878999638184, 37.799627000895256 ], [ -122.23537900019565, 37.799127000590921 ], [ -122.235579000329338, 37.79892700111624 ], [ -122.23607900012297, 37.798327001112533 ], [ -122.236678999750666, 37.79752700104774 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 932, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.230579000513956, 37.797227000903817 ], [ -122.231278999660162, 37.796427000997667 ], [ -122.231878999676226, 37.795827000550389 ], [ -122.229778999990117, 37.794427000581919 ], [ -122.228878999503806, 37.793827000724455 ], [ -122.227778999552129, 37.793427000565629 ], [ -122.226779000390849, 37.793227000811306 ], [ -122.227678999838091, 37.791927000692787 ], [ -122.228278999754096, 37.791327000974441 ], [ -122.228478999830784, 37.791127000667466 ], [ -122.229079000356194, 37.790527000346493 ], [ -122.229978999818073, 37.790027000684297 ], [ -122.230878999898977, 37.789328001015079 ], [ -122.233378999873722, 37.790827000457696 ], [ -122.23547900046583, 37.79212700060949 ], [ -122.237478999479009, 37.79332700082918 ], [ -122.236779000244439, 37.79412700055768 ], [ -122.237979000095677, 37.794727001027809 ], [ -122.23897900034865, 37.794327000465707 ], [ -122.239778999558666, 37.794927001074427 ], [ -122.23887900035777, 37.795627001011411 ], [ -122.237879000045183, 37.7964270007583 ], [ -122.237178999945385, 37.797027000922341 ], [ -122.236678999750666, 37.79752700104774 ], [ -122.23607900012297, 37.798327001112533 ], [ -122.2330790004482, 37.796427000249288 ], [ -122.230378999565005, 37.797427000914411 ], [ -122.230579000513956, 37.797227000903817 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 947, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.263580000387634, 37.791228000859057 ], [ -122.263479999693132, 37.79152800096071 ], [ -122.263280000179762, 37.791828000290963 ], [ -122.263079999567182, 37.792228000641785 ], [ -122.262779999967535, 37.792628000420464 ], [ -122.261679999900878, 37.79412800037742 ], [ -122.260357000177535, 37.796420000802229 ], [ -122.260179999659357, 37.796727000522083 ], [ -122.260079999869276, 37.798227001029417 ], [ -122.260680000368765, 37.798527000709242 ], [ -122.259980000123946, 37.798527000419298 ], [ -122.259279999903441, 37.798527000476035 ], [ -122.259780000079232, 37.798827000524092 ], [ -122.257779999752302, 37.799127001029802 ], [ -122.25697999992056, 37.798327000809998 ], [ -122.25627999970942, 37.79772700076834 ], [ -122.255480000298988, 37.796927001123819 ], [ -122.254579999536631, 37.796127000535918 ], [ -122.253780000294554, 37.795327001 ], [ -122.25287999996732, 37.794627000379265 ], [ -122.252079999831594, 37.793827000954558 ], [ -122.251279999815168, 37.793027000570163 ], [ -122.250379999743757, 37.792328001073841 ], [ -122.249380000389266, 37.791528000284003 ], [ -122.248479999825037, 37.790828001122748 ], [ -122.247079999854321, 37.789628000978794 ], [ -122.24597900051053, 37.789228000817239 ], [ -122.245079000200889, 37.788828000424132 ], [ -122.244079000383849, 37.78832800101106 ], [ -122.242978999502768, 37.787628000475955 ], [ -122.241879000499168, 37.787028000957413 ], [ -122.240879000504933, 37.786328000551499 ], [ -122.239879000094632, 37.785728001129733 ], [ -122.238779000001188, 37.785028001071289 ], [ -122.237879000343895, 37.784428000719622 ], [ -122.236778999545805, 37.783928000972473 ], [ -122.235778999811288, 37.783328001043685 ], [ -122.236678999903745, 37.782428001113935 ], [ -122.238578999585727, 37.783728000408871 ], [ -122.2370789995244, 37.781928000756309 ], [ -122.236979000092816, 37.781628000615839 ], [ -122.236978999903911, 37.78132800086798 ], [ -122.236978999390999, 37.781128000724763 ], [ -122.236948999794862, 37.780874000284477 ], [ -122.236779000139805, 37.780028001036484 ], [ -122.236578999729517, 37.778928000824699 ], [ -122.236414999633581, 37.777774001041038 ], [ -122.236328999483447, 37.777134000949864 ], [ -122.236279000166817, 37.776628001132558 ], [ -122.23625900011325, 37.776496000791269 ], [ -122.236079000068486, 37.775328001000382 ], [ -122.235879000065154, 37.774428000999315 ], [ -122.235778999479621, 37.773528001106186 ], [ -122.23567899999702, 37.772628001010531 ], [ -122.235579000223808, 37.772428000853949 ], [ -122.236178999863938, 37.77182800033534 ], [ -122.238078999873352, 37.773228000430862 ], [ -122.239678999475245, 37.774428000727674 ], [ -122.240379000358416, 37.77492800045578 ], [ -122.243878999984858, 37.779028000516448 ], [ -122.243879000163886, 37.780528000280277 ], [ -122.243178999645309, 37.781228000349628 ], [ -122.243979000444099, 37.782328000367649 ], [ -122.243278999655701, 37.782528000796596 ], [ -122.243378999595308, 37.783528000241233 ], [ -122.24427900022738, 37.783228000983428 ], [ -122.24727999952033, 37.78602800108105 ], [ -122.247379999803115, 37.786128000485427 ], [ -122.248079999737172, 37.786528000541431 ], [ -122.248679999990458, 37.786328000243046 ], [ -122.253780000377759, 37.788028000648005 ], [ -122.259080000205245, 37.786128000910011 ], [ -122.261980000386501, 37.787128000500573 ], [ -122.259280000024859, 37.789428000911784 ], [ -122.259879999900249, 37.789928000401133 ], [ -122.261096000102498, 37.789412000934512 ], [ -122.263179999789173, 37.788528000342311 ], [ -122.264679999726781, 37.78832800053393 ], [ -122.263580000089988, 37.789228000311631 ], [ -122.264879999714481, 37.789028000573374 ], [ -122.264680000434836, 37.789828000653308 ], [ -122.265580000273204, 37.789628000805081 ], [ -122.26447999955127, 37.790928000913823 ], [ -122.263580000387634, 37.791228000859057 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 926, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.229579000492393, 37.769228000576192 ], [ -122.230078999390969, 37.769328001048066 ], [ -122.231145999943209, 37.769595000507685 ], [ -122.231278999496297, 37.769628000636899 ], [ -122.232587000231575, 37.770282000253346 ], [ -122.232678999821957, 37.770328000796901 ], [ -122.236178999863938, 37.77182800033534 ], [ -122.235579000223808, 37.772428000853949 ], [ -122.23567899999702, 37.772628001010531 ], [ -122.235778999479621, 37.773528001106186 ], [ -122.235879000065154, 37.774428000999315 ], [ -122.236079000068486, 37.775328001000382 ], [ -122.23625900011325, 37.776496000791269 ], [ -122.236279000166817, 37.776628001132558 ], [ -122.236328999483447, 37.777134000949864 ], [ -122.236414999633581, 37.777774001041038 ], [ -122.236578999729517, 37.778928000824699 ], [ -122.236779000139805, 37.780028001036484 ], [ -122.236948999794862, 37.780874000284477 ], [ -122.236978999390999, 37.781128000724763 ], [ -122.236978999903911, 37.78132800086798 ], [ -122.236979000092816, 37.781628000615839 ], [ -122.2370789995244, 37.781928000756309 ], [ -122.238578999585727, 37.783728000408871 ], [ -122.236678999903745, 37.782428001113935 ], [ -122.235778999811288, 37.783328001043685 ], [ -122.234779000327904, 37.782728000749771 ], [ -122.234378999619977, 37.782328000539742 ], [ -122.233779000055762, 37.782028000497782 ], [ -122.232479000141225, 37.781228000465774 ], [ -122.231379000136471, 37.780628000375089 ], [ -122.230678999522866, 37.78022800045558 ], [ -122.229878999456332, 37.779728000272137 ], [ -122.229078999476357, 37.779128000462919 ], [ -122.228178999578901, 37.778528000875447 ], [ -122.227179000319481, 37.778128000264893 ], [ -122.226478999688439, 37.777828000276727 ], [ -122.225778999590204, 37.777428001033343 ], [ -122.224479000422505, 37.776828000413261 ], [ -122.223779000272927, 37.776528000645961 ], [ -122.223578999495317, 37.776428001029821 ], [ -122.222679000492008, 37.775928000585139 ], [ -122.221979000218056, 37.775628000962186 ], [ -122.221679000468228, 37.775428000638875 ], [ -122.220778999835744, 37.775028000645605 ], [ -122.219878999826022, 37.774628001007841 ], [ -122.218878999857438, 37.774128000782014 ], [ -122.217978999441883, 37.773728001081743 ], [ -122.217079000481519, 37.773228000306133 ], [ -122.216679000109536, 37.773028000576275 ], [ -122.216179000252424, 37.77282800040787 ], [ -122.215978000034966, 37.772728001096603 ], [ -122.214678000120529, 37.77212800072531 ], [ -122.215578000506142, 37.77152800028307 ], [ -122.216179000163791, 37.771128000944373 ], [ -122.216979000136959, 37.770428000664701 ], [ -122.217178999859001, 37.77032800038554 ], [ -122.218178999469316, 37.769528001049586 ], [ -122.219079000035421, 37.768928000375723 ], [ -122.220078999903322, 37.768128000775924 ], [ -122.22041099987652, 37.767932000791944 ], [ -122.220625000367932, 37.767749000429234 ], [ -122.221450000495821, 37.767098000431766 ], [ -122.222109000304897, 37.766564000419265 ], [ -122.223741999922765, 37.76516900068259 ], [ -122.224378999828645, 37.764628000922876 ], [ -122.229579000492393, 37.769228000576192 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 929, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.229978999818073, 37.790027000684297 ], [ -122.229079000356194, 37.790527000346493 ], [ -122.228478999830784, 37.791127000667466 ], [ -122.228278999754096, 37.791327000974441 ], [ -122.227678999838091, 37.791927000692787 ], [ -122.226779000390849, 37.793227000811306 ], [ -122.225979000273355, 37.793127001005551 ], [ -122.225378999829829, 37.79272700058258 ], [ -122.224179000478443, 37.792027000763206 ], [ -122.223778999602615, 37.791827000896127 ], [ -122.223479000078385, 37.791727000246695 ], [ -122.22267899943192, 37.791127001093464 ], [ -122.222278999588681, 37.791027000926135 ], [ -122.221878999452514, 37.790727000662329 ], [ -122.221679000090234, 37.790727000885177 ], [ -122.220078999719433, 37.790327001063076 ], [ -122.220279000162833, 37.789627000728458 ], [ -122.220578999872401, 37.78912700057726 ], [ -122.220779000110667, 37.788427001019429 ], [ -122.220879000152834, 37.788227001089595 ], [ -122.221078999770597, 37.787728001072637 ], [ -122.221179000482266, 37.787428000538689 ], [ -122.221478999500732, 37.78682800111158 ], [ -122.221479000147298, 37.786628000441709 ], [ -122.221778999747784, 37.786128000498898 ], [ -122.221878999730322, 37.785528000896598 ], [ -122.221978999767387, 37.7852280004427 ], [ -122.222279000397407, 37.784728000879035 ], [ -122.223078999593895, 37.785028001042548 ], [ -122.223779000377306, 37.785328000382833 ], [ -122.22427900008806, 37.785528000788524 ], [ -122.225278999672526, 37.785928000657741 ], [ -122.225979000335514, 37.78632800084678 ], [ -122.22667899989537, 37.786828000847869 ], [ -122.227379000436827, 37.787128000474432 ], [ -122.228779000025582, 37.787928000610705 ], [ -122.22977899954536, 37.788528000938051 ], [ -122.2308790003095, 37.789128000315657 ], [ -122.230878999898977, 37.789328001015079 ], [ -122.229978999818073, 37.790027000684297 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 924, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.21907900016636, 37.792827000365477 ], [ -122.218979000218653, 37.793027000367758 ], [ -122.218779000504085, 37.793727000711293 ], [ -122.218479000214344, 37.794227000260399 ], [ -122.217478999669666, 37.79392700075644 ], [ -122.21637799961438, 37.793427001128379 ], [ -122.217078000187854, 37.792527000698549 ], [ -122.214777999631067, 37.791527001097926 ], [ -122.211777999657684, 37.790027000873394 ], [ -122.211178000139284, 37.789427000914756 ], [ -122.21057799977622, 37.788727000344331 ], [ -122.209878000376662, 37.788127000522479 ], [ -122.210278000012764, 37.787727000899913 ], [ -122.21117799999621, 37.78732700112117 ], [ -122.211878000366227, 37.786827000277896 ], [ -122.212577999572218, 37.786428000423662 ], [ -122.21307799994004, 37.78622800110525 ], [ -122.213678000067034, 37.785828000411186 ], [ -122.213977999962864, 37.785628000698729 ], [ -122.214478000334751, 37.785328000460474 ], [ -122.214877999490653, 37.785128000823114 ], [ -122.215078000355092, 37.784928000620262 ], [ -122.21567800042402, 37.784728001047405 ], [ -122.216879000203491, 37.783928000606771 ], [ -122.217478999758796, 37.783528000950852 ], [ -122.218378999858459, 37.782828001113664 ], [ -122.218778999755799, 37.782428000782218 ], [ -122.219178999850428, 37.782028000850566 ], [ -122.219878999560592, 37.78252800067802 ], [ -122.220279000332113, 37.782728000310115 ], [ -122.220678999445937, 37.782828000883264 ], [ -122.221278999693553, 37.783128000709823 ], [ -122.221679000061428, 37.783228000608524 ], [ -122.222679000117751, 37.783628000875375 ], [ -122.222279000397407, 37.784728000879035 ], [ -122.221978999767387, 37.7852280004427 ], [ -122.221878999730322, 37.785528000896598 ], [ -122.221778999747784, 37.786128000498898 ], [ -122.221479000147298, 37.786628000441709 ], [ -122.221478999500732, 37.78682800111158 ], [ -122.221179000482266, 37.787428000538689 ], [ -122.221078999770597, 37.787728001072637 ], [ -122.220879000152834, 37.788227001089595 ], [ -122.220779000110667, 37.788427001019429 ], [ -122.220578999872401, 37.78912700057726 ], [ -122.220279000162833, 37.789627000728458 ], [ -122.220078999719433, 37.790327001063076 ], [ -122.219778999735226, 37.790927000961325 ], [ -122.219479000210811, 37.791627000261059 ], [ -122.219278999574371, 37.79222700051622 ], [ -122.21907900016636, 37.792827000365477 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 923, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.21677800034675, 37.798627000272958 ], [ -122.216678000332053, 37.799027000978391 ], [ -122.216177999780243, 37.800127000287148 ], [ -122.215778000477641, 37.80012700063326 ], [ -122.215077999813801, 37.799927000959038 ], [ -122.214177999540411, 37.799627000658383 ], [ -122.212978000164952, 37.799327000485967 ], [ -122.211978000381805, 37.799027000299162 ], [ -122.210978000202388, 37.798827000726696 ], [ -122.209977999432311, 37.798527000719361 ], [ -122.208878000488227, 37.798227000337043 ], [ -122.208078000178503, 37.798427000767838 ], [ -122.205077999583253, 37.79722700062122 ], [ -122.203478000167649, 37.795827001060083 ], [ -122.202477999528142, 37.795027000241021 ], [ -122.201377999944924, 37.794127000689237 ], [ -122.200677999754703, 37.793427000816173 ], [ -122.201578000376998, 37.792827000281818 ], [ -122.202077999687575, 37.792627000420126 ], [ -122.202577999708637, 37.792427001125908 ], [ -122.202778000237117, 37.792227000654577 ], [ -122.203377999708408, 37.791927000253835 ], [ -122.203777999677939, 37.791727000974298 ], [ -122.204477999657442, 37.79122700071806 ], [ -122.20497799968112, 37.791027001032013 ], [ -122.20527799986381, 37.79082700041802 ], [ -122.205677999698324, 37.790527000730449 ], [ -122.205978000493658, 37.790327001007384 ], [ -122.206777999932456, 37.789927000288763 ], [ -122.207578000197643, 37.789427001079858 ], [ -122.208678000521587, 37.788827000669137 ], [ -122.209878000376662, 37.788127000522479 ], [ -122.21057799977622, 37.788727000344331 ], [ -122.211178000139284, 37.789427000914756 ], [ -122.211777999657684, 37.790027000873394 ], [ -122.214777999631067, 37.791527001097926 ], [ -122.217078000187854, 37.792527000698549 ], [ -122.21637799961438, 37.793427001128379 ], [ -122.217478999669666, 37.79392700075644 ], [ -122.218479000214344, 37.794227000260399 ], [ -122.218178999813219, 37.795127000607891 ], [ -122.21787900014607, 37.795527001009155 ], [ -122.217879000178613, 37.795927000769005 ], [ -122.217678999401684, 37.79652700047064 ], [ -122.21737900034222, 37.796927000373138 ], [ -122.217277999679325, 37.797427000620509 ], [ -122.217177999953151, 37.797527000564997 ], [ -122.217054999917394, 37.797973000806216 ], [ -122.216878000401081, 37.79842700058429 ], [ -122.21677800034675, 37.798627000272958 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 909, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.200178000092265, 37.797327000570753 ], [ -122.199877999839529, 37.797927000506142 ], [ -122.19927800042403, 37.799127000549525 ], [ -122.198577999997724, 37.799727000271425 ], [ -122.198177999698359, 37.799327000406663 ], [ -122.197578000208765, 37.799027000728231 ], [ -122.196778000223134, 37.797727000949052 ], [ -122.196378000454146, 37.799327001070367 ], [ -122.195377999995245, 37.800527000264701 ], [ -122.194477999561471, 37.801627000315612 ], [ -122.193277999402397, 37.800927001032441 ], [ -122.194277999559915, 37.802627000794956 ], [ -122.192877999727685, 37.802827000299764 ], [ -122.194177999445117, 37.804527000590795 ], [ -122.194577999688022, 37.805127000840869 ], [ -122.193778000259258, 37.805427000604588 ], [ -122.192877999532826, 37.805027000281406 ], [ -122.194177999410215, 37.806727001027298 ], [ -122.19537799982929, 37.807927000894345 ], [ -122.194777999706091, 37.807727000457561 ], [ -122.191278000132925, 37.804427000952316 ], [ -122.188654000092853, 37.801748000806164 ], [ -122.188355000326752, 37.801443000524898 ], [ -122.186476999921979, 37.799527000263566 ], [ -122.185176999738019, 37.798427000843937 ], [ -122.186277000093654, 37.798427000653653 ], [ -122.187177000410713, 37.798527001064514 ], [ -122.187978000362477, 37.798527000910099 ], [ -122.188377999446004, 37.798527000296446 ], [ -122.188777999660473, 37.798527001036049 ], [ -122.189277999669685, 37.798527000949825 ], [ -122.19007799982829, 37.79862700031196 ], [ -122.190978000228569, 37.798627000600476 ], [ -122.191677999690626, 37.798627000871548 ], [ -122.191977999416352, 37.798727000316049 ], [ -122.192478000049476, 37.798227000351801 ], [ -122.192877999825441, 37.798027000730599 ], [ -122.193277999696008, 37.797627000671959 ], [ -122.192477999838061, 37.797127000591168 ], [ -122.192477999547918, 37.79622700063608 ], [ -122.191178000002651, 37.795427000940421 ], [ -122.191677999628467, 37.79482700038762 ], [ -122.19317799989507, 37.793927000314333 ], [ -122.194477999393186, 37.793127000700302 ], [ -122.195077999998631, 37.792727000379379 ], [ -122.19697799986325, 37.791627000927051 ], [ -122.198277999700437, 37.790827001059377 ], [ -122.198878000135664, 37.791527000497545 ], [ -122.199278000400113, 37.791927001035148 ], [ -122.199478000433629, 37.792227000453579 ], [ -122.200178000139616, 37.792727000969975 ], [ -122.200677999754703, 37.793427000816173 ], [ -122.201377999944924, 37.794127000689237 ], [ -122.202477999528142, 37.795027000241021 ], [ -122.203478000167649, 37.795827001060083 ], [ -122.202877999799227, 37.796327000858952 ], [ -122.202278000383629, 37.79682700113478 ], [ -122.201477999782881, 37.79732700106031 ], [ -122.200577999416126, 37.796627000581729 ], [ -122.200178000092265, 37.797327000570753 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 906, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.207477999907042, 37.78522800097744 ], [ -122.208678000248511, 37.786227000562526 ], [ -122.209306999989323, 37.786817000759633 ], [ -122.209646000067963, 37.787135001116752 ], [ -122.210278000012764, 37.787727000899913 ], [ -122.209878000376662, 37.788127000522479 ], [ -122.208678000521587, 37.788827000669137 ], [ -122.207578000197643, 37.789427001079858 ], [ -122.206777999932456, 37.789927000288763 ], [ -122.205978000493658, 37.790327001007384 ], [ -122.205677999698324, 37.790527000730449 ], [ -122.20527799986381, 37.79082700041802 ], [ -122.20497799968112, 37.791027001032013 ], [ -122.204477999657442, 37.79122700071806 ], [ -122.203777999677939, 37.791727000974298 ], [ -122.203377999708408, 37.791927000253835 ], [ -122.202778000237117, 37.792227000654577 ], [ -122.202577999708637, 37.792427001125908 ], [ -122.202077999687575, 37.792627000420126 ], [ -122.201578000376998, 37.792827000281818 ], [ -122.200677999754703, 37.793427000816173 ], [ -122.200178000139616, 37.792727000969975 ], [ -122.199478000433629, 37.792227000453579 ], [ -122.199278000400113, 37.791927001035148 ], [ -122.198878000135664, 37.791527000497545 ], [ -122.198277999700437, 37.790827001059377 ], [ -122.19797799986884, 37.790527000251387 ], [ -122.197778000169279, 37.790327001089928 ], [ -122.196877999489047, 37.789427000625608 ], [ -122.195877999630312, 37.78822700071224 ], [ -122.194778000420314, 37.787127000287526 ], [ -122.195277999459705, 37.786827000890277 ], [ -122.196077999805681, 37.786427000598806 ], [ -122.196378000439054, 37.786227000894065 ], [ -122.19677799946227, 37.786027000798846 ], [ -122.197277999472419, 37.785827001111102 ], [ -122.198478000180344, 37.78522700097443 ], [ -122.199377999639182, 37.784827000298399 ], [ -122.200077999902888, 37.78442800090879 ], [ -122.200777999668233, 37.784128000712421 ], [ -122.201777999986859, 37.783628000683251 ], [ -122.202478000398742, 37.783228000819655 ], [ -122.203377999698489, 37.782728000492561 ], [ -122.20427800036569, 37.782328000719993 ], [ -122.205377999452864, 37.783328000761941 ], [ -122.205619000319842, 37.783569000727717 ], [ -122.205977999951813, 37.783928000703874 ], [ -122.20675800031178, 37.784604000461997 ], [ -122.207477999907042, 37.78522800097744 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 925, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.221278999693553, 37.783128000709823 ], [ -122.220678999445937, 37.782828000883264 ], [ -122.220279000332113, 37.782728000310115 ], [ -122.219878999560592, 37.78252800067802 ], [ -122.219178999850428, 37.782028000850566 ], [ -122.219079000179306, 37.781328000421638 ], [ -122.21877900047312, 37.780528001135409 ], [ -122.217979000503192, 37.779928000294007 ], [ -122.217679000264937, 37.779628000279303 ], [ -122.217452000187052, 37.779426000795439 ], [ -122.216779000157672, 37.778828000578301 ], [ -122.216077999877527, 37.778228000403956 ], [ -122.215377999733334, 37.777528000452918 ], [ -122.214877999710424, 37.777028000631873 ], [ -122.214677999483555, 37.776928000385055 ], [ -122.213977999656379, 37.776228001092548 ], [ -122.213178000424918, 37.775628000951627 ], [ -122.213077999601097, 37.77542800096689 ], [ -122.211877999609044, 37.774328000727522 ], [ -122.212678000124072, 37.773828000725253 ], [ -122.212977999709651, 37.773528000643175 ], [ -122.213478000042386, 37.773128000476724 ], [ -122.214678000120529, 37.77212800072531 ], [ -122.215978000034966, 37.772728001096603 ], [ -122.216179000252424, 37.77282800040787 ], [ -122.216679000109536, 37.773028000576275 ], [ -122.217079000481519, 37.773228000306133 ], [ -122.217978999441883, 37.773728001081743 ], [ -122.218878999857438, 37.774128000782014 ], [ -122.219878999826022, 37.774628001007841 ], [ -122.220778999835744, 37.775028000645605 ], [ -122.221679000468228, 37.775428000638875 ], [ -122.221979000218056, 37.775628000962186 ], [ -122.222679000492008, 37.775928000585139 ], [ -122.223578999495317, 37.776428001029821 ], [ -122.223779000272927, 37.776528000645961 ], [ -122.224479000422505, 37.776828000413261 ], [ -122.225778999590204, 37.777428001033343 ], [ -122.225578999797008, 37.777828001073907 ], [ -122.225178999572464, 37.778528000429567 ], [ -122.224679000114179, 37.779528000633093 ], [ -122.224478999809548, 37.780028000881671 ], [ -122.22397899943779, 37.780928000928583 ], [ -122.223778999437158, 37.781228000756983 ], [ -122.223578999445124, 37.78182800062423 ], [ -122.223178999415723, 37.782628001072339 ], [ -122.222679000117751, 37.783628000875375 ], [ -122.221679000061428, 37.783228000608524 ], [ -122.221278999693553, 37.783128000709823 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 896, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.214960999721896, 37.761129001099981 ], [ -122.215678999718634, 37.761328000601686 ], [ -122.217779000467871, 37.760428000396608 ], [ -122.217939999514272, 37.760374000967822 ], [ -122.219879000081662, 37.759728000906946 ], [ -122.222379000097121, 37.758528000397561 ], [ -122.223706000430425, 37.762574000916345 ], [ -122.224378999828645, 37.764628000922876 ], [ -122.223741999922765, 37.76516900068259 ], [ -122.222109000304897, 37.766564000419265 ], [ -122.221450000495821, 37.767098000431766 ], [ -122.220625000367932, 37.767749000429234 ], [ -122.22041099987652, 37.767932000791944 ], [ -122.220078999903322, 37.768128000775924 ], [ -122.219079000035421, 37.768928000375723 ], [ -122.218178999469316, 37.769528001049586 ], [ -122.217178999859001, 37.77032800038554 ], [ -122.216979000136959, 37.770428000664701 ], [ -122.216179000163791, 37.771128000944373 ], [ -122.215578000506142, 37.77152800028307 ], [ -122.214678000120529, 37.77212800072531 ], [ -122.213877999634647, 37.771628001129194 ], [ -122.212878000269271, 37.771228001099658 ], [ -122.211678000395793, 37.770628001126617 ], [ -122.211278000206931, 37.77042800112789 ], [ -122.211077999785957, 37.770328001068847 ], [ -122.210677999426224, 37.770128000838987 ], [ -122.210177999923417, 37.769828000855732 ], [ -122.209677999431605, 37.769628001102028 ], [ -122.209378000230544, 37.769428001061172 ], [ -122.208778000443175, 37.76912800103814 ], [ -122.20787800046547, 37.76872800097108 ], [ -122.20697799998365, 37.768328000351822 ], [ -122.2060779997298, 37.767828000429162 ], [ -122.205577999939294, 37.767628000449108 ], [ -122.204877999633837, 37.767228000750443 ], [ -122.203778000391466, 37.766728000910419 ], [ -122.202678000086109, 37.76622800073315 ], [ -122.201677999787051, 37.765728000847041 ], [ -122.200693999721764, 37.765274000824824 ], [ -122.200377999690446, 37.765128000790298 ], [ -122.19957799979916, 37.764828000972877 ], [ -122.20107799948218, 37.763728000454201 ], [ -122.20277799998145, 37.762528000865707 ], [ -122.205377999590439, 37.760728001048911 ], [ -122.20557799989561, 37.760528000652158 ], [ -122.200778000210477, 37.756328000485205 ], [ -122.202433999790941, 37.755587000587326 ], [ -122.201378000424583, 37.754628000448797 ], [ -122.202677999517107, 37.754128000301485 ], [ -122.204478000218089, 37.753728000720479 ], [ -122.207064999703775, 37.752821000339623 ], [ -122.207230000366877, 37.752762000453451 ], [ -122.207432000429407, 37.75266200088312 ], [ -122.208414000101115, 37.753870000317065 ], [ -122.209771000098129, 37.755423000981423 ], [ -122.210678000520971, 37.756428000968633 ], [ -122.212177999883764, 37.758028000695177 ], [ -122.212678000166548, 37.758528000288173 ], [ -122.21137800047407, 37.758928000551556 ], [ -122.212577999455263, 37.761128001052846 ], [ -122.214960999721896, 37.761129001099981 ] ] ], [ [ [ -122.213078000059326, 37.759128000463392 ], [ -122.214577999906126, 37.760828000770552 ], [ -122.213077999652569, 37.760428001022696 ], [ -122.213078000059326, 37.759128000463392 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 802, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.026071999392599, 37.605534000990865 ], [ -122.024972000223613, 37.605634001099752 ], [ -122.024571999711867, 37.605534000359469 ], [ -122.024071999849156, 37.605534000718109 ], [ -122.023672000202794, 37.605534000743141 ], [ -122.022471999968033, 37.605634000967228 ], [ -122.021872000248194, 37.605534000734131 ], [ -122.021071999970673, 37.605534000725093 ], [ -122.019972000189568, 37.605634001039022 ], [ -122.01967199991374, 37.605334000846653 ], [ -122.018672000015272, 37.604434000581307 ], [ -122.017672000062106, 37.603434000674618 ], [ -122.01657199987153, 37.602634000288461 ], [ -122.016272000187101, 37.602334000468048 ], [ -122.016672000331269, 37.601634000604705 ], [ -122.016872000347135, 37.600934000713842 ], [ -122.016972000351387, 37.600534000940598 ], [ -122.017072000371613, 37.600134001050201 ], [ -122.017471999956967, 37.599234000309046 ], [ -122.017671999936766, 37.598434000241689 ], [ -122.017871999472078, 37.597734000882745 ], [ -122.018371999753612, 37.596934000751524 ], [ -122.018571999902434, 37.596034000256196 ], [ -122.018771999602961, 37.595434000236601 ], [ -122.018972000372045, 37.595034000476822 ], [ -122.019071999869311, 37.594734000561374 ], [ -122.019271999777828, 37.594134000425441 ], [ -122.019572000425811, 37.593334000713462 ], [ -122.019872000269984, 37.592734000847038 ], [ -122.019971999670915, 37.592434000917009 ], [ -122.021172000218769, 37.593534000470875 ], [ -122.021771999847971, 37.593134001095585 ], [ -122.022872000276507, 37.594134000495316 ], [ -122.023671999684652, 37.593734000465844 ], [ -122.024871999612458, 37.594834000435995 ], [ -122.025571999897096, 37.594234000509289 ], [ -122.02657199949536, 37.595134000278918 ], [ -122.027672000326248, 37.596034000723748 ], [ -122.026871999980074, 37.596634000492635 ], [ -122.02627200002199, 37.59703400032798 ], [ -122.025772000074568, 37.597334000250136 ], [ -122.02567200016415, 37.597534000998373 ], [ -122.026572000121931, 37.598534000840317 ], [ -122.027672000274194, 37.599434001060743 ], [ -122.029671999609263, 37.601134000824416 ], [ -122.029432999879688, 37.601850000862335 ], [ -122.029404000018175, 37.601912001045456 ], [ -122.029096000427543, 37.602772000491967 ], [ -122.028835999412536, 37.603497000789091 ], [ -122.028771999653017, 37.603634000699905 ], [ -122.028771999498289, 37.603934000586712 ], [ -122.028471999405014, 37.605234000389451 ], [ -122.027272000254953, 37.605634000613925 ], [ -122.026472000245576, 37.605534000950342 ], [ -122.026071999392599, 37.605534000990865 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 796, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.067939000303355, 37.590100001036234 ], [ -122.068600999822891, 37.590762000662885 ], [ -122.068672999742745, 37.59083400040852 ], [ -122.069694999468496, 37.591935000934164 ], [ -122.069973000207739, 37.592234000835987 ], [ -122.070096999563745, 37.592367000822463 ], [ -122.071378000450792, 37.593733000386322 ], [ -122.071972999493411, 37.594367000480169 ], [ -122.072973000264867, 37.595434000852443 ], [ -122.073772999403914, 37.596434000813403 ], [ -122.075572999620633, 37.597974000669637 ], [ -122.076274999559175, 37.598574000859841 ], [ -122.076926000125411, 37.599130001074258 ], [ -122.076980999659796, 37.59917700071869 ], [ -122.077765000092313, 37.599848000416472 ], [ -122.082074000082997, 37.60353400098672 ], [ -122.083874000082986, 37.605134000455131 ], [ -122.084346000342677, 37.605538000730483 ], [ -122.084573999746894, 37.605733001080644 ], [ -122.087073999736518, 37.607833000307807 ], [ -122.085573999710462, 37.608933000261004 ], [ -122.083673999949326, 37.609833000831976 ], [ -122.082573999770531, 37.610233000702991 ], [ -122.077973999929284, 37.613333000743289 ], [ -122.072131000283221, 37.613063000633403 ], [ -122.071472999699665, 37.613033000621989 ], [ -122.070972999990687, 37.613033000288397 ], [ -122.068373000190576, 37.613033000255086 ], [ -122.066472999985152, 37.613033001048315 ], [ -122.066472999723132, 37.612833000258526 ], [ -122.067072999702063, 37.610733000281755 ], [ -122.067733999998538, 37.608310001079246 ], [ -122.068673000343153, 37.605434000463035 ], [ -122.066173000510872, 37.604934000871069 ], [ -122.065472999584472, 37.604834000334797 ], [ -122.064573000397317, 37.603534000418044 ], [ -122.062873000331621, 37.60103400101594 ], [ -122.062272999896507, 37.600234001105363 ], [ -122.061399000171647, 37.599016000534377 ], [ -122.060720999979765, 37.598205000774747 ], [ -122.059517999669012, 37.596363000441592 ], [ -122.059487000085241, 37.596285000982242 ], [ -122.059330000327179, 37.596045000698339 ], [ -122.059119999739139, 37.595668000556593 ], [ -122.0566729995207, 37.592134000991841 ], [ -122.05637300008236, 37.59173400032838 ], [ -122.056887000193171, 37.591624000645481 ], [ -122.057772999546415, 37.591434000710322 ], [ -122.05889899953354, 37.590508000783394 ], [ -122.063973000518175, 37.586334000549073 ], [ -122.064573000126217, 37.586734000709207 ], [ -122.067635999471193, 37.589797000662315 ], [ -122.067939000303355, 37.590100001036234 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 792, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.075691000276763, 37.571890000756035 ], [ -122.076247999458374, 37.571251001099156 ], [ -122.076873000023681, 37.570535000266624 ], [ -122.077674000490745, 37.571435000527636 ], [ -122.078268000228604, 37.572504000961715 ], [ -122.0785750001602, 37.573057000268513 ], [ -122.078815000464473, 37.573489000276183 ], [ -122.079075000468123, 37.573957000614612 ], [ -122.079358000332604, 37.574466000762698 ], [ -122.079673999898347, 37.575035000934307 ], [ -122.079925999483478, 37.575488001102336 ], [ -122.080174000162586, 37.575935000979484 ], [ -122.080323999746653, 37.576185000342171 ], [ -122.08047400030928, 37.57643500041825 ], [ -122.080874000386771, 37.57763500034438 ], [ -122.080173999633672, 37.577835000955666 ], [ -122.079697999787427, 37.578334000919725 ], [ -122.078073999595063, 37.580034001047323 ], [ -122.075772999478275, 37.582734000949763 ], [ -122.073972999874201, 37.58483400089424 ], [ -122.073572999837609, 37.584434000308356 ], [ -122.073272999876522, 37.583834000266371 ], [ -122.073073000264174, 37.583234000639628 ], [ -122.072372999696, 37.582234000860502 ], [ -122.071373000059538, 37.58163400049159 ], [ -122.070773000152016, 37.581334000389568 ], [ -122.070250999489119, 37.581040000682236 ], [ -122.069666999803871, 37.580712000614788 ], [ -122.069172999448639, 37.580434000825498 ], [ -122.068572999876025, 37.580135000866854 ], [ -122.072046000490587, 37.576083000369508 ], [ -122.072772999975868, 37.575235000365325 ], [ -122.075691000276763, 37.571890000756035 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 800, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.02407200032718, 37.580435000399582 ], [ -122.024771999563967, 37.579235001055864 ], [ -122.02607199987429, 37.57803500111293 ], [ -122.027647000034676, 37.57975300056885 ], [ -122.033772000323623, 37.586434001063587 ], [ -122.037661000306031, 37.587314000493762 ], [ -122.038144999490584, 37.587424000589721 ], [ -122.038369000354194, 37.587475001007327 ], [ -122.039073000432751, 37.587634000742213 ], [ -122.037773000435806, 37.588320000333283 ], [ -122.037341000482385, 37.588548000621969 ], [ -122.035471999846465, 37.589534000895483 ], [ -122.034571999822504, 37.590534000730145 ], [ -122.033771999941294, 37.591134000712735 ], [ -122.033471999711466, 37.592034000382249 ], [ -122.032472000384772, 37.594534000537237 ], [ -122.030371999917904, 37.595834000942659 ], [ -122.029771999937537, 37.600634000320262 ], [ -122.029671999609263, 37.601134000824416 ], [ -122.027672000274194, 37.599434001060743 ], [ -122.026572000121931, 37.598534000840317 ], [ -122.02567200016415, 37.597534000998373 ], [ -122.025772000074568, 37.597334000250136 ], [ -122.02627200002199, 37.59703400032798 ], [ -122.026871999980074, 37.596634000492635 ], [ -122.027672000326248, 37.596034000723748 ], [ -122.02657199949536, 37.595134000278918 ], [ -122.025571999897096, 37.594234000509289 ], [ -122.024871999612458, 37.594834000435995 ], [ -122.023671999684652, 37.593734000465844 ], [ -122.022872000276507, 37.594134000495316 ], [ -122.021771999847971, 37.593134001095585 ], [ -122.021172000218769, 37.593534000470875 ], [ -122.019971999670915, 37.592434000917009 ], [ -122.020072000159814, 37.59203400050238 ], [ -122.020972000189118, 37.589434000445237 ], [ -122.021672000066673, 37.587134000607925 ], [ -122.021971999992275, 37.586234000265435 ], [ -122.022172000020745, 37.585434000292139 ], [ -122.022971999905138, 37.583435000237976 ], [ -122.023472000093648, 37.58203500112662 ], [ -122.023771999480417, 37.581435000597317 ], [ -122.02407200032718, 37.580435000399582 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 795, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.084290999721446, 37.594699000902125 ], [ -122.085708999846688, 37.594038000864529 ], [ -122.088073999562511, 37.592934000992869 ], [ -122.090174000230064, 37.592734000890644 ], [ -122.090720000461999, 37.592731000825914 ], [ -122.091829999996364, 37.59272600049421 ], [ -122.091873999822567, 37.59303400033204 ], [ -122.092074000094044, 37.593734000524314 ], [ -122.091506999743331, 37.594382000462012 ], [ -122.091373999495332, 37.59453400049015 ], [ -122.091374000171697, 37.598334000235774 ], [ -122.091457999982012, 37.600529000581083 ], [ -122.091474000369161, 37.600934000315107 ], [ -122.088073999757782, 37.607133000832938 ], [ -122.087373999731469, 37.607633000446164 ], [ -122.087073999736518, 37.607833000307807 ], [ -122.084573999746894, 37.605733001080644 ], [ -122.084346000342677, 37.605538000730483 ], [ -122.083874000082986, 37.605134000455131 ], [ -122.082074000082997, 37.60353400098672 ], [ -122.077765000092313, 37.599848000416472 ], [ -122.076980999659796, 37.59917700071869 ], [ -122.076926000125411, 37.599130001074258 ], [ -122.076274999559175, 37.598574000859841 ], [ -122.075572999620633, 37.597974000669637 ], [ -122.073772999403914, 37.596434000813403 ], [ -122.072973000264867, 37.595434000852443 ], [ -122.071972999493411, 37.594367000480169 ], [ -122.071378000450792, 37.593733000386322 ], [ -122.070096999563745, 37.592367000822463 ], [ -122.070373000255813, 37.592234000271958 ], [ -122.072373000018757, 37.591034000985459 ], [ -122.072673000092266, 37.591234000442313 ], [ -122.073173000333725, 37.591534000586691 ], [ -122.074273000001412, 37.592134001099403 ], [ -122.074472999933434, 37.59223400035026 ], [ -122.07517300014247, 37.592634000876792 ], [ -122.077773999862487, 37.592534001110685 ], [ -122.079873999397094, 37.592434000448691 ], [ -122.080573999638588, 37.592534000843379 ], [ -122.080613999975441, 37.592894000520751 ], [ -122.08070599957513, 37.59372200045577 ], [ -122.082180000193773, 37.593794000904374 ], [ -122.083470000228843, 37.59384000035233 ], [ -122.083573999565743, 37.593834000258028 ], [ -122.084064999914517, 37.593852000446134 ], [ -122.084322000031989, 37.593915000707206 ], [ -122.084382999458768, 37.593995000356593 ], [ -122.084411999953005, 37.594215001128511 ], [ -122.084290999721446, 37.594699000902125 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 782, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.972872000314268, 37.576976000266335 ], [ -121.971671000083006, 37.576135000976421 ], [ -121.970470999553555, 37.575035001040561 ], [ -121.970170999857473, 37.574735000663409 ], [ -121.969070999983188, 37.573535000566999 ], [ -121.969839999627268, 37.573065001028858 ], [ -121.97087099999257, 37.572435000409861 ], [ -121.984170999656655, 37.567835000726248 ], [ -121.986671000249544, 37.567735000458889 ], [ -121.98847100007545, 37.568735000288129 ], [ -121.997571999601121, 37.575735001123014 ], [ -121.998035999681761, 37.576092000998699 ], [ -122.004971999435469, 37.581435001032425 ], [ -122.006472000177254, 37.582635001076419 ], [ -122.007272000143089, 37.583335000789134 ], [ -122.006071999913502, 37.586334000857292 ], [ -122.001671999526678, 37.589534001019686 ], [ -121.999972000460247, 37.587934001114007 ], [ -121.999294000157704, 37.587363000272795 ], [ -121.998072000475787, 37.586334000606705 ], [ -121.997343999920687, 37.58575100111522 ], [ -121.997072000024858, 37.585534000727762 ], [ -121.9938710001516, 37.583035000270961 ], [ -121.993071000209483, 37.582435000895153 ], [ -121.991970999913718, 37.581635000668328 ], [ -121.990570999790549, 37.580535000802449 ], [ -121.988570999611682, 37.579735001115203 ], [ -121.98507100023032, 37.5792350007533 ], [ -121.983370999650361, 37.57903500046821 ], [ -121.977571000092652, 37.578735000696632 ], [ -121.976171000014517, 37.578535000257041 ], [ -121.97577099992931, 37.578435000707913 ], [ -121.974670999780642, 37.577935000476039 ], [ -121.973671000203481, 37.577535000897605 ], [ -121.972872000314268, 37.576976000266335 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 784, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.023371999400467, 37.56613500066689 ], [ -122.023931999417016, 37.566415000727176 ], [ -122.024771999952378, 37.566835000367199 ], [ -122.025543999632561, 37.567191000364097 ], [ -122.025712999459827, 37.567269000500751 ], [ -122.026401000481243, 37.567587000383931 ], [ -122.027371999994557, 37.568035000666505 ], [ -122.028011999462279, 37.568355000417647 ], [ -122.029216999608536, 37.56895700036489 ], [ -122.029332000088417, 37.56901500066401 ], [ -122.030811999823058, 37.569755000737437 ], [ -122.032571999673436, 37.570635000371666 ], [ -122.031272000407597, 37.572105000924942 ], [ -122.030272000302432, 37.573235000436618 ], [ -122.028767999493994, 37.574989000719633 ], [ -122.026672000133772, 37.577435000618486 ], [ -122.02607199987429, 37.57803500111293 ], [ -122.025824999572734, 37.577939001024014 ], [ -122.024027999641206, 37.577241001116008 ], [ -122.022442000308061, 37.57662500044863 ], [ -122.021675999707242, 37.576328000686985 ], [ -122.020809000391964, 37.575992000758049 ], [ -122.020013000480034, 37.575683000776017 ], [ -122.017572000051274, 37.574735000960665 ], [ -122.017398999469748, 37.574428000559827 ], [ -122.017154999401541, 37.574276001091967 ], [ -122.014672000300649, 37.573335000704802 ], [ -122.014871999681105, 37.57323500098682 ], [ -122.013148999902441, 37.572411001040145 ], [ -122.012299999494957, 37.572005000815224 ], [ -122.01157399956405, 37.571658001078113 ], [ -122.010272000197162, 37.571035001056288 ], [ -122.009570999556942, 37.570118000445198 ], [ -122.008739000076787, 37.569030000242599 ], [ -122.007672000119584, 37.567635000959996 ], [ -122.005871999527812, 37.565935000894569 ], [ -122.007872000059649, 37.564335000579007 ], [ -122.009371999879576, 37.562935000480145 ], [ -122.010772000077935, 37.561835000576046 ], [ -122.012072000145736, 37.560535000492763 ], [ -122.016271999878896, 37.562635000671406 ], [ -122.019097999574072, 37.564048000230642 ], [ -122.019672000246345, 37.564335000322401 ], [ -122.021236000030498, 37.565096000822962 ], [ -122.022228000262871, 37.565579000306251 ], [ -122.023371999400467, 37.56613500066689 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 790, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.062673000153808, 37.584434000873621 ], [ -122.062473000194956, 37.583634001029338 ], [ -122.062173000376504, 37.582534000438585 ], [ -122.062090999463138, 37.582140000770586 ], [ -122.061973000026342, 37.581534000497555 ], [ -122.061772999989017, 37.580635000545698 ], [ -122.061753000365201, 37.580540000752869 ], [ -122.060473000283551, 37.574935001028614 ], [ -122.060373000382299, 37.574235000350633 ], [ -122.062009999949922, 37.572318000750897 ], [ -122.062628000497241, 37.571595000242915 ], [ -122.067973000432673, 37.56533500058238 ], [ -122.068573000232959, 37.56533500054941 ], [ -122.070273000240533, 37.565135000703108 ], [ -122.072073000054502, 37.564961000419515 ], [ -122.090973999867145, 37.563135000893901 ], [ -122.093573999745573, 37.564435000311327 ], [ -122.093774000023586, 37.566335000860342 ], [ -122.091573999430452, 37.567335000653813 ], [ -122.089674000323313, 37.56723500056048 ], [ -122.089174000282512, 37.564735000555096 ], [ -122.085974000107143, 37.567035000681777 ], [ -122.084873999576402, 37.567535000721342 ], [ -122.079962999733084, 37.570170000744909 ], [ -122.078324000503144, 37.571049000361867 ], [ -122.077083999769783, 37.570276000264457 ], [ -122.076873000023681, 37.570535000266624 ], [ -122.076247999458374, 37.571251001099156 ], [ -122.075691000276763, 37.571890000756035 ], [ -122.072772999975868, 37.575235000365325 ], [ -122.072046000490587, 37.576083000369508 ], [ -122.068572999876025, 37.580135000866854 ], [ -122.06827299978363, 37.58053400064702 ], [ -122.064273000264734, 37.585134000714262 ], [ -122.06367300031674, 37.585634001080976 ], [ -122.062779999736975, 37.584780000301933 ], [ -122.062720000376146, 37.584587000467607 ], [ -122.062673000153808, 37.584434000873621 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 789, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.054673000155717, 37.58153400067922 ], [ -122.055596000047615, 37.580503000817153 ], [ -122.056372999775633, 37.579635000481353 ], [ -122.05867299975813, 37.577035000607204 ], [ -122.059351000501806, 37.576244000602564 ], [ -122.059852000426361, 37.575660000884611 ], [ -122.060473000283551, 37.574935001028614 ], [ -122.061753000365201, 37.580540000752869 ], [ -122.061772999989017, 37.580635000545698 ], [ -122.061973000026342, 37.581534000497555 ], [ -122.062090999463138, 37.582140000770586 ], [ -122.062173000376504, 37.582534000438585 ], [ -122.062473000194956, 37.583634001029338 ], [ -122.062673000153808, 37.584434000873621 ], [ -122.062720000376146, 37.584587000467607 ], [ -122.062779999736975, 37.584780000301933 ], [ -122.06367300031674, 37.585634001080976 ], [ -122.063472999415751, 37.586034000305752 ], [ -122.063973000518175, 37.586334000549073 ], [ -122.05889899953354, 37.590508000783394 ], [ -122.057772999546415, 37.591434000710322 ], [ -122.056887000193171, 37.591624000645481 ], [ -122.05637300008236, 37.59173400032838 ], [ -122.054798000198474, 37.589534000824145 ], [ -122.054787000338223, 37.589519000370757 ], [ -122.054707999798154, 37.589409000435936 ], [ -122.05198100030924, 37.585602000584444 ], [ -122.051832000245625, 37.585394000858663 ], [ -122.051073000087257, 37.584334000953568 ], [ -122.049573000479199, 37.581635000278865 ], [ -122.049373000420275, 37.581235000787188 ], [ -122.049272999485964, 37.581035000450875 ], [ -122.04877299968291, 37.57973500046436 ], [ -122.047972999734853, 37.577335000574841 ], [ -122.048576000090307, 37.577795000683544 ], [ -122.049572999404987, 37.578535000347465 ], [ -122.05036499965216, 37.579395000312644 ], [ -122.051029000030695, 37.579769000370561 ], [ -122.052072999767759, 37.580335000496071 ], [ -122.053472999458549, 37.58103500088923 ], [ -122.054673000155717, 37.58153400067922 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 785, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.025071999740945, 37.562035000555348 ], [ -122.025272000015264, 37.56273500095454 ], [ -122.025272000203145, 37.563735000994683 ], [ -122.025271999749009, 37.564035000970371 ], [ -122.024771999580679, 37.564635000369535 ], [ -122.024272000384556, 37.565035000327221 ], [ -122.02377200007345, 37.565635000712902 ], [ -122.023371999400467, 37.56613500066689 ], [ -122.022228000262871, 37.565579000306251 ], [ -122.021236000030498, 37.565096000822962 ], [ -122.019672000246345, 37.564335000322401 ], [ -122.019097999574072, 37.564048000230642 ], [ -122.016271999878896, 37.562635000671406 ], [ -122.012072000145736, 37.560535000492763 ], [ -122.012772000142405, 37.55963600030811 ], [ -122.013371999401031, 37.558936000490561 ], [ -122.013772000390006, 37.558236000662454 ], [ -122.014271999444162, 37.557436000591636 ], [ -122.015171999440184, 37.556436000668349 ], [ -122.016124999894473, 37.555324000550819 ], [ -122.016372000182685, 37.555036000997418 ], [ -122.017048000176757, 37.554175001031417 ], [ -122.017222999716381, 37.553953000755101 ], [ -122.017471999899342, 37.553636000908512 ], [ -122.017840000408185, 37.553168001134821 ], [ -122.018571999840205, 37.552236000823491 ], [ -122.019072000404151, 37.551536000889811 ], [ -122.020072000257855, 37.550136000561778 ], [ -122.020571999579133, 37.549536000362039 ], [ -122.021042999638894, 37.54888100109978 ], [ -122.021572999749509, 37.548237000938443 ], [ -122.022138999664818, 37.54762000090038 ], [ -122.022438999537414, 37.547185000754304 ], [ -122.02298600023299, 37.54654000081625 ], [ -122.02330400008664, 37.546919000971428 ], [ -122.024672000074418, 37.548736000380806 ], [ -122.024871999534241, 37.549036000931757 ], [ -122.027050999834515, 37.551634000872433 ], [ -122.028905000393436, 37.553844000976724 ], [ -122.029760999755794, 37.554865000236255 ], [ -122.030072000115055, 37.555236000970737 ], [ -122.03050200010955, 37.555634000291235 ], [ -122.031231999741209, 37.556311000950281 ], [ -122.03139999986108, 37.556467000727707 ], [ -122.030556999443533, 37.556967000819171 ], [ -122.030447000284781, 37.556848000571669 ], [ -122.029871999972642, 37.556236000650266 ], [ -122.027971999980295, 37.556636000343175 ], [ -122.027471999642856, 37.557336000722259 ], [ -122.027072000144187, 37.557836000788278 ], [ -122.026572000277554, 37.558436000638622 ], [ -122.026071999393849, 37.559136001039292 ], [ -122.025571999429275, 37.55963500040022 ], [ -122.025272000504543, 37.560235001041946 ], [ -122.024871999441814, 37.560935000517453 ], [ -122.02487199942945, 37.561435000690281 ], [ -122.025071999740945, 37.562035000555348 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 762, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.972936999769047, 37.543783000974095 ], [ -121.972671000189095, 37.546136001132034 ], [ -121.972432000244822, 37.548130000314941 ], [ -121.972370999757871, 37.548636000425425 ], [ -121.970471000285073, 37.547836000413682 ], [ -121.967670999434958, 37.547336001080588 ], [ -121.96537099979119, 37.546136000286289 ], [ -121.962870000357469, 37.544836000432369 ], [ -121.961838000185068, 37.5441840002986 ], [ -121.960969999905359, 37.543636000363442 ], [ -121.960469999881099, 37.543236000326814 ], [ -121.962570000054171, 37.540636000637484 ], [ -121.963571000510186, 37.539336000294249 ], [ -121.964371000168057, 37.538236000994239 ], [ -121.965670999625289, 37.536436001106551 ], [ -121.966471000509046, 37.536936000827403 ], [ -121.968170999670122, 37.537836000819752 ], [ -121.969070999802923, 37.538336000545485 ], [ -121.969571000314474, 37.538636000643336 ], [ -121.970671000304961, 37.539236001019589 ], [ -121.973370999648807, 37.540636000334118 ], [ -121.973271000435915, 37.540836000534803 ], [ -121.973097999524811, 37.542359000443057 ], [ -121.972936999769047, 37.543783000974095 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 763, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.982439999784944, 37.54227700108428 ], [ -121.982098999628136, 37.542664000416565 ], [ -121.98177100003204, 37.543036001051192 ], [ -121.980670999579303, 37.544436000419914 ], [ -121.981271000142314, 37.544736000565422 ], [ -121.982771000253948, 37.545536000686596 ], [ -121.981470999396365, 37.547036000493456 ], [ -121.979570999673214, 37.549436000706137 ], [ -121.977770999561812, 37.551436000613293 ], [ -121.974049000526847, 37.549505000363958 ], [ -121.972370999757871, 37.548636000425425 ], [ -121.972432000244822, 37.548130000314941 ], [ -121.972671000189095, 37.546136001132034 ], [ -121.972936999769047, 37.543783000974095 ], [ -121.973097999524811, 37.542359000443057 ], [ -121.973271000435915, 37.540836000534803 ], [ -121.973370999648807, 37.540636000334118 ], [ -121.973771000175589, 37.540036000380368 ], [ -121.974471000514853, 37.539136001014356 ], [ -121.974870999531049, 37.538736000695415 ], [ -121.975371000486177, 37.538036000544444 ], [ -121.976070999573508, 37.537236001111395 ], [ -121.978370999431633, 37.538536000994164 ], [ -121.979171000418205, 37.539236000826484 ], [ -121.980470999704437, 37.538336000831336 ], [ -121.981971000332081, 37.539136000323246 ], [ -121.984170999592024, 37.54013600059367 ], [ -121.983591000299356, 37.540910000804999 ], [ -121.983380999647807, 37.54119000071497 ], [ -121.983270999583425, 37.54133600084328 ], [ -121.983098999947572, 37.541531000949782 ], [ -121.982439999784944, 37.54227700108428 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 777, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.991587999816687, 37.546269000251634 ], [ -121.992459999865687, 37.546641001048719 ], [ -121.993197999872592, 37.547048000434877 ], [ -121.993063000431178, 37.547272000648746 ], [ -121.992393000503768, 37.547645000920355 ], [ -121.991565000047657, 37.548731000489724 ], [ -121.990848999861441, 37.549703001072459 ], [ -121.991770999403812, 37.55013600050426 ], [ -121.992671000364723, 37.550536000534912 ], [ -121.991370999648964, 37.55193600073364 ], [ -121.989985999599241, 37.553667000393951 ], [ -121.989855999490615, 37.553830000904497 ], [ -121.988571000119308, 37.55543600055077 ], [ -121.987470999443417, 37.556536000270853 ], [ -121.985570999482988, 37.557436000858843 ], [ -121.984270999536676, 37.557336000778939 ], [ -121.983867999651864, 37.557783000484044 ], [ -121.983370999828566, 37.558335000796781 ], [ -121.982970999458345, 37.558635000575137 ], [ -121.982470999602171, 37.559335000413718 ], [ -121.981770999692145, 37.558935000429628 ], [ -121.980570999510917, 37.558335000395445 ], [ -121.981770999841402, 37.556636000310753 ], [ -121.981970999492262, 37.556436000416618 ], [ -121.979170999554285, 37.555136000957276 ], [ -121.976270999445376, 37.553436000272434 ], [ -121.977770999561812, 37.551436000613293 ], [ -121.979570999673214, 37.549436000706137 ], [ -121.981470999396365, 37.547036000493456 ], [ -121.982771000253948, 37.545536000686596 ], [ -121.98415399943184, 37.544095000272755 ], [ -121.984432000263368, 37.543805000719935 ], [ -121.985171000292539, 37.543036000367941 ], [ -121.987170999767386, 37.543936000553714 ], [ -121.990670999827771, 37.545836000683792 ], [ -121.991587999816687, 37.546269000251634 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 761, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.955370000111756, 37.524337000258875 ], [ -121.957769999959581, 37.523937000846054 ], [ -121.960270000016919, 37.523637000241635 ], [ -121.963823999903795, 37.523273000817952 ], [ -121.964171000422482, 37.523237000449498 ], [ -121.965514000421052, 37.523058000804163 ], [ -121.966053000342015, 37.5229860003288 ], [ -121.966928999494968, 37.522869000787587 ], [ -121.968671000401372, 37.522637000336722 ], [ -121.96892500031467, 37.523905000426367 ], [ -121.969471000122766, 37.526637000313542 ], [ -121.969671000061879, 37.528037000839724 ], [ -121.969970999611377, 37.530336001120858 ], [ -121.969270999570156, 37.531436000684423 ], [ -121.968071000393579, 37.533136000910424 ], [ -121.967170999825328, 37.534536000440191 ], [ -121.965670999625289, 37.536436001106551 ], [ -121.964371000168057, 37.538236000994239 ], [ -121.963571000510186, 37.539336000294249 ], [ -121.962570000054171, 37.540636000637484 ], [ -121.960469999881099, 37.543236000326814 ], [ -121.957970000313509, 37.541836000773152 ], [ -121.956169999912689, 37.541336001022934 ], [ -121.954570000254847, 37.541636001049262 ], [ -121.954509999743692, 37.541139000373292 ], [ -121.953808000493666, 37.53535200047903 ], [ -121.953770000094522, 37.535036000933772 ], [ -121.953669999828278, 37.534636000368778 ], [ -121.954170000444634, 37.533136001068883 ], [ -121.954770000484842, 37.533136000267369 ], [ -121.954469999517357, 37.530036000972174 ], [ -121.953869999995447, 37.528336000526409 ], [ -121.953416999523526, 37.527636001025577 ], [ -121.95307200029842, 37.527102000411944 ], [ -121.952767999905532, 37.526632000297411 ], [ -121.951827000056412, 37.525179000640328 ], [ -121.951669999887386, 37.524936000938673 ], [ -121.952116999894471, 37.52482400030555 ], [ -121.952470000069709, 37.524736001063921 ], [ -121.955370000111756, 37.524337000258875 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 760, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.979270999471993, 37.533336000468999 ], [ -121.976871000323669, 37.536636000509347 ], [ -121.976570999876415, 37.536636001035909 ], [ -121.976070999573508, 37.537236001111395 ], [ -121.975371000486177, 37.538036000544444 ], [ -121.974870999531049, 37.538736000695415 ], [ -121.974471000514853, 37.539136001014356 ], [ -121.973771000175589, 37.540036000380368 ], [ -121.973370999648807, 37.540636000334118 ], [ -121.970671000304961, 37.539236001019589 ], [ -121.969571000314474, 37.538636000643336 ], [ -121.969070999802923, 37.538336000545485 ], [ -121.968170999670122, 37.537836000819752 ], [ -121.966471000509046, 37.536936000827403 ], [ -121.965670999625289, 37.536436001106551 ], [ -121.967170999825328, 37.534536000440191 ], [ -121.968071000393579, 37.533136000910424 ], [ -121.969270999570156, 37.531436000684423 ], [ -121.969970999611377, 37.530336001120858 ], [ -121.969671000061879, 37.528037000839724 ], [ -121.969471000122766, 37.526637000313542 ], [ -121.96892500031467, 37.523905000426367 ], [ -121.968671000401372, 37.522637000336722 ], [ -121.970771000138328, 37.522437001093337 ], [ -121.971970999935678, 37.522637001092669 ], [ -121.97597099973315, 37.524837000725753 ], [ -121.978970999669244, 37.52633700079366 ], [ -121.97989400011609, 37.526817000728684 ], [ -121.980530000527523, 37.527148000329923 ], [ -121.981471000421678, 37.527637000704267 ], [ -121.982071000187361, 37.52793700041633 ], [ -121.983270999421705, 37.528537000646999 ], [ -121.981971000423144, 37.530037000293802 ], [ -121.97982800011188, 37.532655000670097 ], [ -121.979270999471993, 37.533336000468999 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 775, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.000972000478839, 37.554936000539875 ], [ -122.00076199973347, 37.554843000464722 ], [ -122.000335000080483, 37.554653000261332 ], [ -122.000071999513267, 37.554536000425287 ], [ -121.999891000270566, 37.554432000432953 ], [ -121.999371999763369, 37.554136000571937 ], [ -121.999181999641124, 37.554015000876269 ], [ -121.998271999578847, 37.55343600059085 ], [ -121.996471999823655, 37.552436000418687 ], [ -121.992671000364723, 37.550536000534912 ], [ -121.991770999403812, 37.55013600050426 ], [ -121.990848999861441, 37.549703001072459 ], [ -121.991565000047657, 37.548731000489724 ], [ -121.992393000503768, 37.547645000920355 ], [ -121.993063000431178, 37.547272000648746 ], [ -121.993197999872592, 37.547048000434877 ], [ -121.992459999865687, 37.546641001048719 ], [ -121.991587999816687, 37.546269000251634 ], [ -121.990670999827771, 37.545836000683792 ], [ -121.991471000428064, 37.544836000819856 ], [ -121.993372000301022, 37.542736000531761 ], [ -121.997072000261937, 37.53813600045428 ], [ -121.997971999538635, 37.536936000948288 ], [ -121.998572000200824, 37.536337000302474 ], [ -122.000971999641706, 37.537637001044587 ], [ -122.003071999420683, 37.53863600093613 ], [ -122.003671999618007, 37.538936000425117 ], [ -122.004671999520141, 37.539536000869163 ], [ -122.005472000140884, 37.539936000738471 ], [ -122.006371999748353, 37.540436000556092 ], [ -122.007171999825616, 37.540836000667866 ], [ -122.008072000080716, 37.541336001105989 ], [ -122.008871999626763, 37.541736000558728 ], [ -122.009872000215694, 37.542136000850348 ], [ -122.010571999545178, 37.542636000410418 ], [ -122.011472000077035, 37.542936000719266 ], [ -122.01267199990464, 37.543636001101632 ], [ -122.013972000014064, 37.544236000441884 ], [ -122.013504999531406, 37.544746000937742 ], [ -122.012872000178874, 37.545436000750783 ], [ -122.012574000501473, 37.545809000928564 ], [ -122.012471999532409, 37.545936000784941 ], [ -122.012371999754677, 37.546136000262607 ], [ -122.01202199955091, 37.546486001128621 ], [ -122.011872000402875, 37.546636000791615 ], [ -122.010671999532661, 37.548236000486213 ], [ -122.010271999425925, 37.548736000777225 ], [ -122.009171999717111, 37.550136000326766 ], [ -122.008972000495916, 37.550436000276356 ], [ -122.007471999500495, 37.552336000737 ], [ -122.005771999481667, 37.554436000520226 ], [ -122.005172000467454, 37.555136000774993 ], [ -122.004972000367886, 37.555336000754856 ], [ -122.004771999435832, 37.555636000346297 ], [ -122.004171999891682, 37.556436000623442 ], [ -122.002672000233559, 37.555836000754169 ], [ -122.000972000478839, 37.554936000539875 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 765, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.99798499948858, 37.527550000340838 ], [ -121.999085000416898, 37.528137000798267 ], [ -121.999271999849356, 37.528237000576276 ], [ -121.999830000398745, 37.528495000678376 ], [ -121.999937000098626, 37.528544000755716 ], [ -122.002371999613658, 37.529737001091206 ], [ -122.002185000465587, 37.530185000999687 ], [ -122.001871999761036, 37.530937000329892 ], [ -122.001771999843982, 37.53123700063378 ], [ -122.001771999447982, 37.531437000421029 ], [ -122.001740000064373, 37.53167700095301 ], [ -122.001670000125117, 37.532212000617967 ], [ -122.001172000102514, 37.533237000888498 ], [ -121.998572000200824, 37.536337000302474 ], [ -121.994971999675727, 37.534537000392625 ], [ -121.9919719994014, 37.532937001019889 ], [ -121.990570999767755, 37.532337000379435 ], [ -121.987470999406128, 37.530637000956915 ], [ -121.985870999435463, 37.529837000821956 ], [ -121.983270999421705, 37.528537000646999 ], [ -121.984034999588943, 37.527652000265768 ], [ -121.984637999804292, 37.526954001104947 ], [ -121.98517100025731, 37.526337000524784 ], [ -121.986320999719979, 37.52482400071748 ], [ -121.987014000454806, 37.523804000890891 ], [ -121.987200000324236, 37.523465000299659 ], [ -121.987565999491764, 37.522857000507933 ], [ -121.987732000019378, 37.522627000719339 ], [ -121.987808000126336, 37.522660000746107 ], [ -121.989270999673252, 37.523237000278826 ], [ -121.990669000219114, 37.52395500031519 ], [ -121.991349000148304, 37.524304001103282 ], [ -121.992183000101321, 37.524732000376744 ], [ -121.99297200052348, 37.525137000288503 ], [ -121.994079999930179, 37.525670000629006 ], [ -121.994489000192061, 37.525867000425876 ], [ -121.997286999451475, 37.527214000866657 ], [ -121.99798499948858, 37.527550000340838 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 758, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.951170000501406, 37.511737000986265 ], [ -121.952070000114233, 37.511537000896773 ], [ -121.95292299944613, 37.511331000737862 ], [ -121.953724999963654, 37.511137000733854 ], [ -121.954315000372191, 37.510995000621634 ], [ -121.95497000019806, 37.510837000906029 ], [ -121.955496000417511, 37.510711000337601 ], [ -121.956203000231355, 37.510541000880515 ], [ -121.957470000281333, 37.510237000329198 ], [ -121.95776999975439, 37.510137000476547 ], [ -121.958347999409085, 37.509970000291766 ], [ -121.958954999449261, 37.509794000763087 ], [ -121.959654000091803, 37.509592000347979 ], [ -121.961053999858336, 37.509187000514956 ], [ -121.961571000368153, 37.509037000280067 ], [ -121.962271000493331, 37.509837000579765 ], [ -121.962771000275552, 37.510637000769023 ], [ -121.963411999738483, 37.511514000989088 ], [ -121.964670999478514, 37.513237000873353 ], [ -121.965196000472162, 37.5139370003644 ], [ -121.965643000231893, 37.514533000785249 ], [ -121.967070999753275, 37.516437000791925 ], [ -121.967570999450302, 37.517237001104256 ], [ -121.967689999439528, 37.517737000893767 ], [ -121.968071000345205, 37.519337000238558 ], [ -121.968071000075753, 37.519537000776545 ], [ -121.968391999936188, 37.521195001075007 ], [ -121.968588999686162, 37.52221300026067 ], [ -121.968671000401372, 37.522637000336722 ], [ -121.966928999494968, 37.522869000787587 ], [ -121.966053000342015, 37.5229860003288 ], [ -121.965514000421052, 37.523058000804163 ], [ -121.964171000422482, 37.523237000449498 ], [ -121.963823999903795, 37.523273000817952 ], [ -121.960270000016919, 37.523637000241635 ], [ -121.957769999959581, 37.523937000846054 ], [ -121.956983999417886, 37.522008001011116 ], [ -121.956778999452396, 37.521504000269658 ], [ -121.956669999975105, 37.521237000629988 ], [ -121.955670000508178, 37.519437001080668 ], [ -121.955570000341396, 37.519337000780638 ], [ -121.955369999868338, 37.518937000482573 ], [ -121.954970000039751, 37.518237000826254 ], [ -121.954569999629967, 37.517537000676981 ], [ -121.954069999836889, 37.516837000468485 ], [ -121.9530699996766, 37.515137001095844 ], [ -121.952269999540306, 37.513637000442372 ], [ -121.951969999916969, 37.513237000277016 ], [ -121.951574000154537, 37.512495000948967 ], [ -121.951170000501406, 37.511737000986265 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 748, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.915532999937909, 37.466270000809722 ], [ -121.916369000358173, 37.467638000517098 ], [ -121.917869000456875, 37.47023800046324 ], [ -121.918424000297222, 37.471106000306897 ], [ -121.919468999432681, 37.472738000770107 ], [ -121.920869000020858, 37.475038000802428 ], [ -121.920168999515184, 37.475238001124097 ], [ -121.919697999576243, 37.475474000305034 ], [ -121.919168999656421, 37.475738000341849 ], [ -121.91946899951553, 37.476138000408341 ], [ -121.9163690004128, 37.477338000535603 ], [ -121.916468999892203, 37.477538000300321 ], [ -121.916468999494711, 37.477937000998054 ], [ -121.916218999960321, 37.478028000726326 ], [ -121.915769000221474, 37.478192000962686 ], [ -121.91536899962918, 37.478337000644856 ], [ -121.913868999874154, 37.478937000627553 ], [ -121.914569000307083, 37.480537000620302 ], [ -121.914969000151146, 37.481237000780808 ], [ -121.915768999817956, 37.481037000621903 ], [ -121.916568999573514, 37.482537000949385 ], [ -121.916569000451602, 37.482937000907626 ], [ -121.91581899983278, 37.482937001037946 ], [ -121.914636000499002, 37.482937000263419 ], [ -121.913268999464776, 37.482937000480639 ], [ -121.906268000284854, 37.470138000987383 ], [ -121.906183999722202, 37.470012000937999 ], [ -121.90446800005067, 37.466938000860416 ], [ -121.903717999501794, 37.465157000937829 ], [ -121.90351499967683, 37.464633001004742 ], [ -121.904616999932784, 37.464300000800272 ], [ -121.905062000349119, 37.464165000732983 ], [ -121.905166999606394, 37.464133000373216 ], [ -121.90556800024666, 37.464098000530392 ], [ -121.906001000427125, 37.46392700113671 ], [ -121.906354000224127, 37.46383100108504 ], [ -121.906834999984184, 37.463720000895449 ], [ -121.90701100047788, 37.463629000375477 ], [ -121.90710899982092, 37.46358800045185 ], [ -121.907068999521172, 37.463364000780878 ], [ -121.907310999868329, 37.463286000834607 ], [ -121.90738799990153, 37.463471000455236 ], [ -121.907467999703613, 37.463438000730775 ], [ -121.907600999395669, 37.463411000783914 ], [ -121.908087000004315, 37.463210000697906 ], [ -121.908318999823365, 37.463140001097024 ], [ -121.908581000115248, 37.463043000319466 ], [ -121.908785999904723, 37.463025000458977 ], [ -121.910767999499242, 37.461938000884537 ], [ -121.911094999586936, 37.461742000298479 ], [ -121.911058999434232, 37.461671000675452 ], [ -121.911169999899926, 37.46160900079883 ], [ -121.911291000363263, 37.461559000422589 ], [ -121.911410999539314, 37.461535000370795 ], [ -121.91142000017571, 37.46154700067428 ], [ -121.912262999533439, 37.461035000368476 ], [ -121.912467999781725, 37.460938000613687 ], [ -121.912667999931315, 37.461238000260494 ], [ -121.912868000514408, 37.461538000469695 ], [ -121.913077000438179, 37.461851000978818 ], [ -121.913267999615556, 37.462138000741639 ], [ -121.914167999744791, 37.464038001037011 ], [ -121.915532999937909, 37.466270000809722 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 749, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.915769000221474, 37.478192000962686 ], [ -121.916218999960321, 37.478028000726326 ], [ -121.916468999494711, 37.477937000998054 ], [ -121.916468999892203, 37.477538000300321 ], [ -121.9163690004128, 37.477338000535603 ], [ -121.91946899951553, 37.476138000408341 ], [ -121.919168999656421, 37.475738000341849 ], [ -121.919697999576243, 37.475474000305034 ], [ -121.920168999515184, 37.475238001124097 ], [ -121.920869000020858, 37.475038000802428 ], [ -121.921969000094606, 37.476838000253814 ], [ -121.922368999488285, 37.47753800042625 ], [ -121.923969000148006, 37.480238000254126 ], [ -121.924468999979553, 37.481138000972507 ], [ -121.925768999855336, 37.483237000540051 ], [ -121.926869000379966, 37.485037000342274 ], [ -121.928168999538443, 37.487137000523255 ], [ -121.928277000388945, 37.487310000500237 ], [ -121.928326000061318, 37.487389001108497 ], [ -121.928370999584814, 37.487461000853052 ], [ -121.928668999696143, 37.487937000635561 ], [ -121.929169000008997, 37.488837000845905 ], [ -121.929368999961937, 37.489337000577351 ], [ -121.929568999883287, 37.489737000412781 ], [ -121.929368999401873, 37.489937000479507 ], [ -121.926468999741999, 37.49213700086014 ], [ -121.925969999770658, 37.492849000487816 ], [ -121.925769000150922, 37.493137000568773 ], [ -121.925068999418158, 37.494337000986846 ], [ -121.923368999752867, 37.495537000885612 ], [ -121.923042000338128, 37.495742000919677 ], [ -121.922768999764159, 37.495937001057321 ], [ -121.921368999821553, 37.494837000478199 ], [ -121.91946899959234, 37.493337000974712 ], [ -121.919118000088034, 37.492948000707884 ], [ -121.918068999928906, 37.491237000754793 ], [ -121.915287999945193, 37.486428000741704 ], [ -121.913268999464776, 37.482937000480639 ], [ -121.914636000499002, 37.482937000263419 ], [ -121.91581899983278, 37.482937001037946 ], [ -121.916569000451602, 37.482937000907626 ], [ -121.916568999573514, 37.482537000949385 ], [ -121.915768999817956, 37.481037000621903 ], [ -121.914969000151146, 37.481237000780808 ], [ -121.914569000307083, 37.480537000620302 ], [ -121.913868999874154, 37.478937000627553 ], [ -121.91536899962918, 37.478337000644856 ], [ -121.915769000221474, 37.478192000962686 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 770, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.052472999687495, 37.551936001087604 ], [ -122.051673000366137, 37.55163600060839 ], [ -122.049272999511075, 37.550436000708089 ], [ -122.04447300043357, 37.548136000635317 ], [ -122.043736000307703, 37.547678000467478 ], [ -122.041662999915317, 37.546389000742494 ], [ -122.040773000477103, 37.545836000417225 ], [ -122.039872999870994, 37.545436000641352 ], [ -122.036273000185147, 37.54373600041454 ], [ -122.035172999802697, 37.542236000647776 ], [ -122.034273000033252, 37.540436000910233 ], [ -122.033973000361641, 37.539736000756498 ], [ -122.035372999634504, 37.539736000232772 ], [ -122.037472999614309, 37.538436001088392 ], [ -122.038200000179586, 37.537890000522616 ], [ -122.038540999466377, 37.537634000928982 ], [ -122.039872999810569, 37.536636000607878 ], [ -122.040272999514343, 37.536336000472552 ], [ -122.042772999645479, 37.534536000642099 ], [ -122.043472999446564, 37.534036000525141 ], [ -122.044173000044808, 37.533536000676293 ], [ -122.044672999677132, 37.53323600060903 ], [ -122.047637000154921, 37.535762000254245 ], [ -122.048300000191787, 37.536327000507114 ], [ -122.049515000302947, 37.537363000884433 ], [ -122.050199999548639, 37.537947000818988 ], [ -122.050772999864762, 37.53843600049079 ], [ -122.052772999884212, 37.540036000284871 ], [ -122.053473000273868, 37.541436000291121 ], [ -122.054172999572415, 37.544536000735071 ], [ -122.055287000089521, 37.549337000694777 ], [ -122.055472999922557, 37.550136000284319 ], [ -122.052629999610176, 37.551842000654496 ], [ -122.052472999687495, 37.551936001087604 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 772, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.043472999446564, 37.534036000525141 ], [ -122.042772999645479, 37.534536000642099 ], [ -122.040272999514343, 37.536336000472552 ], [ -122.039872999810569, 37.536636000607878 ], [ -122.038540999466377, 37.537634000928982 ], [ -122.038200000179586, 37.537890000522616 ], [ -122.037472999614309, 37.538436001088392 ], [ -122.035372999634504, 37.539736000232772 ], [ -122.033973000361641, 37.539736000756498 ], [ -122.034273000033252, 37.540436000910233 ], [ -122.033672999841897, 37.540836000721171 ], [ -122.032872999962805, 37.54143600071864 ], [ -122.032172000492224, 37.541936000483368 ], [ -122.031571999830135, 37.542436000591266 ], [ -122.030872000249843, 37.54303600103168 ], [ -122.030071999466713, 37.543636000485385 ], [ -122.029754999755312, 37.544033000889826 ], [ -122.029671999700582, 37.544136001096234 ], [ -122.029271999713359, 37.544536000837027 ], [ -122.027572000125346, 37.542936000678083 ], [ -122.027072000374147, 37.542536000308708 ], [ -122.026572000271827, 37.542136000526988 ], [ -122.027671999469078, 37.540836000638343 ], [ -122.028372000193798, 37.54003600105225 ], [ -122.029171999791913, 37.539336000466335 ], [ -122.029572000353141, 37.538736000592017 ], [ -122.03005100035115, 37.538018001107375 ], [ -122.030172000319538, 37.537836000304857 ], [ -122.031071999879245, 37.53693600089057 ], [ -122.032773000505031, 37.534736000556762 ], [ -122.034173000330014, 37.533037000244803 ], [ -122.035073000394391, 37.531937000272926 ], [ -122.035772999577588, 37.53103700093677 ], [ -122.036172999819883, 37.530837000545048 ], [ -122.037172999826041, 37.530537001130618 ], [ -122.038772999829419, 37.530137000889496 ], [ -122.039873000462933, 37.529537000832917 ], [ -122.0400729998711, 37.529437000988985 ], [ -122.041872999396148, 37.530937000673291 ], [ -122.042931999874867, 37.531765001039943 ], [ -122.044172999462745, 37.53273600092129 ], [ -122.044672999677132, 37.53323600060903 ], [ -122.044173000044808, 37.533536000676293 ], [ -122.043472999446564, 37.534036000525141 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 731, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.916538999881794, 37.716025000362031 ], [ -121.917015000240482, 37.716623000659808 ], [ -121.925968999449466, 37.726928000691146 ], [ -121.92476899962945, 37.727228000894947 ], [ -121.922868999724912, 37.72762800079385 ], [ -121.922384999585887, 37.72774500081038 ], [ -121.917371999743608, 37.728955000401783 ], [ -121.917068000278732, 37.729028001013276 ], [ -121.916113000406369, 37.729246000644231 ], [ -121.915301999818126, 37.729431001067169 ], [ -121.913567999785414, 37.729828000986856 ], [ -121.910267999601857, 37.730428000860584 ], [ -121.910399999632872, 37.730275000495816 ], [ -121.910440999818931, 37.730162000805166 ], [ -121.91100699976829, 37.728597000743555 ], [ -121.911068000167035, 37.728428000925014 ], [ -121.910916000187299, 37.728163000729694 ], [ -121.910268000502981, 37.727028000398299 ], [ -121.91023999986615, 37.726972000318909 ], [ -121.909968000507106, 37.726428000796531 ], [ -121.909758999945382, 37.726079000726955 ], [ -121.909600999966415, 37.72567600075886 ], [ -121.909575999893207, 37.725613000908261 ], [ -121.909514999904573, 37.725448000623906 ], [ -121.909377999943729, 37.725080000648951 ], [ -121.909335000145987, 37.724975000793648 ], [ -121.909256000169719, 37.72478300058772 ], [ -121.909167999472785, 37.724529001057476 ], [ -121.909225000319523, 37.724302000354491 ], [ -121.909447999537349, 37.723719000561466 ], [ -121.909485000165873, 37.723623000268788 ], [ -121.909758999962477, 37.722951000431067 ], [ -121.910267999822238, 37.721929001072738 ], [ -121.91026799972613, 37.719829000995148 ], [ -121.910275999594873, 37.719541000510915 ], [ -121.91029000027136, 37.719037000538265 ], [ -121.910365000004646, 37.71633200100311 ], [ -121.91036799949832, 37.716229001121711 ], [ -121.910367999449008, 37.716029000784879 ], [ -121.910367999863084, 37.715347001070434 ], [ -121.910367999898511, 37.712629000376339 ], [ -121.910368000205594, 37.711429000258292 ], [ -121.910393999979974, 37.711302000542091 ], [ -121.910441999460318, 37.711063000384051 ], [ -121.910457999717906, 37.710981000815288 ], [ -121.91046800050114, 37.710929000311772 ], [ -121.910467999480289, 37.710629000433443 ], [ -121.910567999668487, 37.710729001003131 ], [ -121.911033000368391, 37.711145000545869 ], [ -121.911372000456268, 37.711448000585619 ], [ -121.911643000397447, 37.711691001034346 ], [ -121.914368000041421, 37.714129000280685 ], [ -121.916195000201583, 37.715666000714293 ], [ -121.916262999616123, 37.715692000847454 ], [ -121.916538999881794, 37.716025000362031 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 733, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.922843000372424, 37.701470000674938 ], [ -121.922743999953269, 37.701222000653388 ], [ -121.925776000435576, 37.700469001084244 ], [ -121.932798000375598, 37.698922001013841 ], [ -121.93455800048396, 37.698591001114245 ], [ -121.935195000454215, 37.698542000909192 ], [ -121.935274999696105, 37.699059000467535 ], [ -121.935368999792175, 37.699530000706787 ], [ -121.935514000020476, 37.699954000834751 ], [ -121.935691000397753, 37.700606000360402 ], [ -121.936168999749697, 37.702129000313136 ], [ -121.936368000192985, 37.702783000655963 ], [ -121.936635000505277, 37.703660000612103 ], [ -121.937569000510948, 37.706729000635079 ], [ -121.938357000149352, 37.709093000271437 ], [ -121.938375999979073, 37.709149000298702 ], [ -121.938768999874654, 37.710329001033806 ], [ -121.939632999464649, 37.713628000770044 ], [ -121.939868999424263, 37.714529000656718 ], [ -121.940046999665441, 37.715099000839395 ], [ -121.940231999683803, 37.715692000685152 ], [ -121.940868999939951, 37.717729000416739 ], [ -121.942468999903511, 37.721729000384499 ], [ -121.942969000508995, 37.722929000507058 ], [ -121.941668999976059, 37.723129000496279 ], [ -121.941169000377428, 37.723229000966043 ], [ -121.940268999646264, 37.723429000452754 ], [ -121.93906899966116, 37.723629000857258 ], [ -121.937568999411525, 37.724229000359699 ], [ -121.936368999441058, 37.724529000406896 ], [ -121.933269000385181, 37.725229000709717 ], [ -121.932869000338997, 37.725429001133634 ], [ -121.931668999841236, 37.72562900059998 ], [ -121.930743999472341, 37.725860000427588 ], [ -121.929507999617456, 37.726168000974894 ], [ -121.929269000161256, 37.726228000489876 ], [ -121.926969000016996, 37.724629001096879 ], [ -121.926469000399734, 37.724129001076797 ], [ -121.927047000083718, 37.722478000955078 ], [ -121.927168999765811, 37.722129000657759 ], [ -121.927218999952331, 37.72127900049864 ], [ -121.927369000162486, 37.718729000939611 ], [ -121.927668999534816, 37.715529000670948 ], [ -121.928369000140265, 37.713029000404632 ], [ -121.927769000042673, 37.711229000741014 ], [ -121.926668999988308, 37.709729000299689 ], [ -121.925869000002692, 37.708629001134703 ], [ -121.925773000471565, 37.708581000467859 ], [ -121.925668999591892, 37.708529000771655 ], [ -121.922869000425393, 37.706329001035982 ], [ -121.923868999955474, 37.706029000638374 ], [ -121.925368999592393, 37.705629000921981 ], [ -121.923918999726723, 37.703849000364769 ], [ -121.923400000368261, 37.702893000339436 ], [ -121.923156999874493, 37.702350000469778 ], [ -121.923114000179638, 37.702214000657939 ], [ -121.923014000394048, 37.70194400105175 ], [ -121.922926999689622, 37.701702000772002 ], [ -121.922843000372424, 37.701470000674938 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 737, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.910457999684624, 37.671665001062685 ], [ -121.910767999768055, 37.67153000106439 ], [ -121.911168000455035, 37.671431000793604 ], [ -121.912337000299004, 37.674612000531525 ], [ -121.912968000077868, 37.676330000592415 ], [ -121.913467999911447, 37.677530001077734 ], [ -121.917268000469818, 37.687332000552679 ], [ -121.918468999729114, 37.690430000696992 ], [ -121.920469000234334, 37.695630000711738 ], [ -121.921599999516062, 37.698370000515759 ], [ -121.922514999700638, 37.700710000262816 ], [ -121.922609000368695, 37.700969001076693 ], [ -121.922743999953269, 37.701222000653388 ], [ -121.922416000443349, 37.701301000458201 ], [ -121.920520000000835, 37.70182100049 ], [ -121.919968999885427, 37.701929001107146 ], [ -121.919069000347733, 37.701929001029789 ], [ -121.910971000224947, 37.70164000060106 ], [ -121.910104000023253, 37.701642000723744 ], [ -121.90715799986576, 37.701726000928581 ], [ -121.907068000328593, 37.701729000783672 ], [ -121.90677400047845, 37.701152000243852 ], [ -121.906068000337697, 37.700329001083425 ], [ -121.905465999739505, 37.699689000284032 ], [ -121.905268000090828, 37.699429000719753 ], [ -121.904367999911173, 37.698429000844477 ], [ -121.903800999525501, 37.697298000452314 ], [ -121.903567999827857, 37.695930000529515 ], [ -121.903767999945913, 37.694530000748664 ], [ -121.90386800040207, 37.691230001120182 ], [ -121.90394400046759, 37.688798001008578 ], [ -121.903967999999281, 37.688030001035422 ], [ -121.903868000283737, 37.684230000284067 ], [ -121.903868000063767, 37.681230000299877 ], [ -121.903767999956912, 37.680330000950264 ], [ -121.902368000005211, 37.678930001103822 ], [ -121.900367999828433, 37.677730000658066 ], [ -121.898867999872621, 37.676730000440841 ], [ -121.90155100031933, 37.675557000381247 ], [ -121.902125999654729, 37.675306000543515 ], [ -121.907695999756882, 37.672872000717859 ], [ -121.908707000181096, 37.67243000095786 ], [ -121.90993800034542, 37.671892000851791 ], [ -121.910457999684624, 37.671665001062685 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 741, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.8741669995525, 37.676530000453319 ], [ -121.875166999400307, 37.676530001032141 ], [ -121.876266999463226, 37.676530000615941 ], [ -121.880666999608806, 37.676530000858413 ], [ -121.885367999438856, 37.676630000600326 ], [ -121.888067999494112, 37.676630000985732 ], [ -121.888868000063894, 37.676630000278536 ], [ -121.889868000269772, 37.676630000542929 ], [ -121.890967999801902, 37.676630000853812 ], [ -121.894268000175771, 37.676630000605563 ], [ -121.896968000037958, 37.676630000842486 ], [ -121.897768000498331, 37.676030000352604 ], [ -121.898867999872621, 37.676730000440841 ], [ -121.900367999828433, 37.677730000658066 ], [ -121.902368000005211, 37.678930001103822 ], [ -121.903767999956912, 37.680330000950264 ], [ -121.897367999427246, 37.682130000482161 ], [ -121.890767999510103, 37.684630000548054 ], [ -121.889644999423837, 37.685026000315638 ], [ -121.888350999948926, 37.685482000688658 ], [ -121.887737999450408, 37.685698000906548 ], [ -121.887430999999836, 37.685806000957001 ], [ -121.887024000032383, 37.685950000454795 ], [ -121.886530999823975, 37.686137001126248 ], [ -121.886104999566115, 37.686277001019903 ], [ -121.886038999413998, 37.686299000935385 ], [ -121.885493999462099, 37.686512000432806 ], [ -121.885475000242863, 37.68651900057101 ], [ -121.885168000281425, 37.686630000482815 ], [ -121.8848420003212, 37.686742000598507 ], [ -121.884825000446043, 37.686749000611826 ], [ -121.883701999666357, 37.687204000522321 ], [ -121.882769999900802, 37.687476000795705 ], [ -121.880367000327553, 37.688330000710387 ], [ -121.879640000229131, 37.688476000826704 ], [ -121.878652999490996, 37.688673000628164 ], [ -121.8783670000429, 37.688730001101511 ], [ -121.878252000252672, 37.688386000917582 ], [ -121.877967000184171, 37.687530001105564 ], [ -121.877466999614228, 37.686130000485797 ], [ -121.877166999854154, 37.685230000575586 ], [ -121.875867000176072, 37.681630000879188 ], [ -121.875702999832939, 37.681102001106261 ], [ -121.875487000214903, 37.680406000499012 ], [ -121.87503900021116, 37.678961000574759 ], [ -121.874967000495204, 37.678730000401288 ], [ -121.874602999805518, 37.677730000470888 ], [ -121.8741669995525, 37.676530000453319 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 738, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.897768000498331, 37.676030000352604 ], [ -121.897310999519206, 37.675752000521328 ], [ -121.89650499945121, 37.675261001022584 ], [ -121.895468000089991, 37.674630000959965 ], [ -121.894568000496164, 37.674130000682403 ], [ -121.893667999923693, 37.673530000950187 ], [ -121.892768000200206, 37.672930000698308 ], [ -121.891967999912211, 37.672430001081203 ], [ -121.891267999546585, 37.672030000525091 ], [ -121.890567999878286, 37.671630000347797 ], [ -121.889367999676807, 37.670930000872303 ], [ -121.888168000360054, 37.67013000024162 ], [ -121.887367999628125, 37.669630001114008 ], [ -121.886567999414666, 37.669130001097557 ], [ -121.885667999915853, 37.668630000836444 ], [ -121.884368000344239, 37.667731000742208 ], [ -121.883868000324696, 37.667331000567714 ], [ -121.885667999843875, 37.66673100054193 ], [ -121.888968000401917, 37.666931000503112 ], [ -121.890590000476294, 37.667255000839347 ], [ -121.891467999785661, 37.667431000848609 ], [ -121.895767999520629, 37.665431000970287 ], [ -121.89746800002095, 37.664831001003819 ], [ -121.898667999511517, 37.664331000529273 ], [ -121.906559999860292, 37.661478000883278 ], [ -121.906967999927531, 37.661331000593243 ], [ -121.907668000401785, 37.66253100059285 ], [ -121.907831000046841, 37.662812000487762 ], [ -121.90872199982411, 37.664352000615217 ], [ -121.90876799959652, 37.6644310006346 ], [ -121.909267999523209, 37.665231001060612 ], [ -121.909331999741951, 37.665474001056509 ], [ -121.909592000279645, 37.666311000410907 ], [ -121.909782999693803, 37.666926000362665 ], [ -121.910171000021975, 37.668176000422399 ], [ -121.910212999693272, 37.66831100026679 ], [ -121.910362999848317, 37.668793000422816 ], [ -121.910467999891878, 37.669131000487489 ], [ -121.910560999706703, 37.669438000271946 ], [ -121.910630000161675, 37.669665000709614 ], [ -121.910869000170763, 37.670450000715945 ], [ -121.911168000455035, 37.671431000793604 ], [ -121.910767999768055, 37.67153000106439 ], [ -121.910457999684624, 37.671665001062685 ], [ -121.90993800034542, 37.671892000851791 ], [ -121.908707000181096, 37.67243000095786 ], [ -121.907695999756882, 37.672872000717859 ], [ -121.902125999654729, 37.675306000543515 ], [ -121.90155100031933, 37.675557000381247 ], [ -121.898867999872621, 37.676730000440841 ], [ -121.897768000498331, 37.676030000352604 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 746, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.917021000444791, 37.560224000281835 ], [ -121.917118999934686, 37.560902000921196 ], [ -121.919398999493652, 37.561040001019549 ], [ -121.919093999836377, 37.559763000575629 ], [ -121.921469000066011, 37.559235000574823 ], [ -121.923369000237159, 37.558335000761829 ], [ -121.923368999971288, 37.557435001054571 ], [ -121.924969000102266, 37.557435001026938 ], [ -121.924968999768282, 37.560335000392719 ], [ -121.924868999559365, 37.560735000593155 ], [ -121.92066899980108, 37.560735000480086 ], [ -121.922468999499344, 37.566035000250494 ], [ -121.924968999581949, 37.567834000486961 ], [ -121.928069000148, 37.567935000473838 ], [ -121.927169000303877, 37.569434001040321 ], [ -121.927969000396203, 37.570834000955806 ], [ -121.931868999794489, 37.572634000670725 ], [ -121.932690999405168, 37.5737310005089 ], [ -121.932768999806342, 37.573834000497172 ], [ -121.932369000415108, 37.574834000903472 ], [ -121.933169000524344, 37.576034000553491 ], [ -121.932350999861313, 37.576397000609703 ], [ -121.931664999807708, 37.576191001104121 ], [ -121.931447000201317, 37.576126000693513 ], [ -121.930113999449659, 37.578346000691404 ], [ -121.929901000317074, 37.578701000979144 ], [ -121.927568999943674, 37.579634000833003 ], [ -121.92856899944654, 37.580734000960739 ], [ -121.926968999793189, 37.581934000246207 ], [ -121.929969000362405, 37.584834000411611 ], [ -121.929168999807558, 37.585834000846155 ], [ -121.930469000349319, 37.585934000794275 ], [ -121.932769000212829, 37.591834001101027 ], [ -121.93116500016238, 37.593945000796843 ], [ -121.930868999617957, 37.594334000907907 ], [ -121.930268999821067, 37.595433000474138 ], [ -121.927000000243297, 37.598083001043257 ], [ -121.92656899945716, 37.598433001008551 ], [ -121.924868999747559, 37.598533000703227 ], [ -121.923968999586364, 37.598633000290569 ], [ -121.92366899946353, 37.598533000487386 ], [ -121.923169000013147, 37.598433000304794 ], [ -121.920669000353655, 37.597333000468652 ], [ -121.917469000392344, 37.594933000587694 ], [ -121.914169000469315, 37.593633001073137 ], [ -121.912468999841749, 37.593433000932166 ], [ -121.911669000358216, 37.593433000732432 ], [ -121.911469000218517, 37.593433000283071 ], [ -121.910555000307355, 37.593759000351568 ], [ -121.910068999669065, 37.593933000308631 ], [ -121.905678000054024, 37.595287000394272 ], [ -121.905130999600402, 37.595447000888505 ], [ -121.904766000308001, 37.595544001042185 ], [ -121.904482000346874, 37.595608000658373 ], [ -121.904157999540445, 37.595560000981386 ], [ -121.903509999494858, 37.59544700028318 ], [ -121.896467999953344, 37.593933000858812 ], [ -121.896105000270794, 37.593902000713008 ], [ -121.891767999839843, 37.59353300069116 ], [ -121.88956800023108, 37.593233001075127 ], [ -121.888948000057241, 37.59313900069408 ], [ -121.884568000119714, 37.592533000473018 ], [ -121.883668000087752, 37.592633001078809 ], [ -121.882515999977556, 37.592798000641771 ], [ -121.882268000407052, 37.592833000523768 ], [ -121.879067999796192, 37.591533000973598 ], [ -121.87436699959224, 37.589633000860644 ], [ -121.871367000476866, 37.589033000930861 ], [ -121.870602000251083, 37.588865000305354 ], [ -121.870384000357518, 37.589692000820648 ], [ -121.870467000052258, 37.590333000343065 ], [ -121.870711000171454, 37.591025000579286 ], [ -121.870967000120586, 37.591533000482094 ], [ -121.871803000258112, 37.592359001128933 ], [ -121.872005000026277, 37.592593000621676 ], [ -121.874395000117076, 37.595776000726765 ], [ -121.87449299984722, 37.596166000828475 ], [ -121.874394999695511, 37.596608000865849 ], [ -121.874131999734317, 37.596973000888312 ], [ -121.871466999780623, 37.600933000399536 ], [ -121.87117599952775, 37.601421000833753 ], [ -121.871076999459902, 37.601759000721408 ], [ -121.871109999664455, 37.602227000459138 ], [ -121.871667000337581, 37.603733000902814 ], [ -121.871967000376671, 37.604633000774783 ], [ -121.872099999415909, 37.604868000445897 ], [ -121.879215999996518, 37.623539000902802 ], [ -121.884168000081971, 37.636532000745447 ], [ -121.884531999684626, 37.638116001083056 ], [ -121.88492899956114, 37.639482000479362 ], [ -121.88446899946581, 37.639697000317518 ], [ -121.883537999973356, 37.640198000405405 ], [ -121.883201999404335, 37.640382000377528 ], [ -121.881767999535612, 37.64213100096363 ], [ -121.881658999535077, 37.643491000303513 ], [ -121.881567999783357, 37.644631001105203 ], [ -121.881467999863872, 37.646231000311857 ], [ -121.881411999508757, 37.64650900079544 ], [ -121.881203000164248, 37.647554000453447 ], [ -121.881102999804241, 37.648056000763269 ], [ -121.880967999710663, 37.648731000587013 ], [ -121.880362000087302, 37.650624000893828 ], [ -121.880366999467427, 37.650631000972581 ], [ -121.880067000279539, 37.652531000498279 ], [ -121.878894000248465, 37.654731000533857 ], [ -121.87846699954062, 37.655531000554952 ], [ -121.877467000209037, 37.656131000795042 ], [ -121.872966999626755, 37.653931000941959 ], [ -121.872466000026947, 37.653661000328121 ], [ -121.871667000201171, 37.653231000503581 ], [ -121.870967000100336, 37.652931000778629 ], [ -121.86936699991918, 37.652031000907328 ], [ -121.868809000425273, 37.651694001048661 ], [ -121.868412999640739, 37.65146300067488 ], [ -121.868135999744339, 37.651333000307915 ], [ -121.866837000140436, 37.650931000573031 ], [ -121.866052999906259, 37.650868000344367 ], [ -121.865165000349606, 37.650809001095951 ], [ -121.864776999827825, 37.65077700100646 ], [ -121.864255999818212, 37.650834000349242 ], [ -121.864227999561649, 37.650829000727889 ], [ -121.863953000348289, 37.65104600063048 ], [ -121.863184000360036, 37.651423000717188 ], [ -121.862273999465657, 37.653235000708968 ], [ -121.86210899957031, 37.653573000886155 ], [ -121.861855999737955, 37.653930000976104 ], [ -121.860169999604864, 37.655557000605853 ], [ -121.859627999691085, 37.655256000959035 ], [ -121.85885000011163, 37.654887000426335 ], [ -121.858210999468525, 37.654563001052814 ], [ -121.857601000055524, 37.654253000475997 ], [ -121.85734300013003, 37.654095000563416 ], [ -121.856975999768636, 37.653026000482754 ], [ -121.856575999409358, 37.652696000858128 ], [ -121.855994000474908, 37.65264200024761 ], [ -121.853948000493759, 37.652956000647812 ], [ -121.854029999460764, 37.653489000618784 ], [ -121.851767000338398, 37.653731000329486 ], [ -121.851566999663746, 37.654631000610415 ], [ -121.851739000336991, 37.656090000469014 ], [ -121.851746000193828, 37.656147000805056 ], [ -121.85175800048809, 37.656252000591316 ], [ -121.851767000280844, 37.65633100030945 ], [ -121.851666999591828, 37.657531000456238 ], [ -121.850367000142185, 37.65723100057437 ], [ -121.849794999743523, 37.657099000891535 ], [ -121.849086999568897, 37.656935000352945 ], [ -121.847872999477971, 37.656334000616027 ], [ -121.84757599970348, 37.656187000811528 ], [ -121.847132000485416, 37.656060000858993 ], [ -121.846245999982202, 37.655807000620463 ], [ -121.845939000395916, 37.655719000483074 ], [ -121.844625000342631, 37.655438000886683 ], [ -121.842635000386849, 37.655068000452523 ], [ -121.841902999941553, 37.654987000283313 ], [ -121.842010000166525, 37.656294000351132 ], [ -121.842105999921003, 37.65746700103557 ], [ -121.842185999800947, 37.658449000507147 ], [ -121.842679999401255, 37.658508000444996 ], [ -121.843252999734943, 37.658576001066081 ], [ -121.843772999997029, 37.658638000383156 ], [ -121.844307000360104, 37.659384000577525 ], [ -121.846318999861083, 37.66020200078183 ], [ -121.846212000135395, 37.6603500004165 ], [ -121.846181999997043, 37.660495000249831 ], [ -121.846181999831572, 37.660708000664243 ], [ -121.846212000359571, 37.660970000554798 ], [ -121.846282999687304, 37.6613140002477 ], [ -121.846343000088154, 37.661658000452555 ], [ -121.846444000414067, 37.661993001118304 ], [ -121.846504000280902, 37.6623040002872 ], [ -121.846535000488984, 37.662467000752102 ], [ -121.846641000201828, 37.66301800039507 ], [ -121.846706999840976, 37.663876000795703 ], [ -121.846705999679969, 37.664643001011903 ], [ -121.846295000391933, 37.664651000918361 ], [ -121.846093000154298, 37.664655000322803 ], [ -121.845614000144792, 37.664664000817986 ], [ -121.844371000371069, 37.664688000371335 ], [ -121.844244000212726, 37.664690000549747 ], [ -121.842165999767843, 37.664730000889982 ], [ -121.838962000150985, 37.664728000531184 ], [ -121.838165999694539, 37.664330000505053 ], [ -121.837765999444215, 37.664030000490904 ], [ -121.836307999791856, 37.66287100088946 ], [ -121.833489999526876, 37.660634000752509 ], [ -121.827066000307781, 37.655531000937621 ], [ -121.824066000121022, 37.655531000971976 ], [ -121.823966000321121, 37.655531000772129 ], [ -121.820566000177607, 37.655431000757929 ], [ -121.814364999634094, 37.655431000630756 ], [ -121.809527999899899, 37.653667000994027 ], [ -121.806825000201229, 37.652681001054709 ], [ -121.805864999976677, 37.652331000876543 ], [ -121.805843999746045, 37.647922001082016 ], [ -121.805551999585617, 37.647303000317457 ], [ -121.805026999729236, 37.64632100024884 ], [ -121.803855000369481, 37.645184001013291 ], [ -121.802491000194735, 37.644252000824352 ], [ -121.801127999530365, 37.643166000898567 ], [ -121.800278999572399, 37.642132001101871 ], [ -121.799824000058109, 37.641144000278324 ], [ -121.799440999896248, 37.640059000347733 ], [ -121.799308999799621, 37.638664000439135 ], [ -121.799248999898211, 37.637993000428494 ], [ -121.799440999997287, 37.636909000675509 ], [ -121.799464999671102, 37.636331001113724 ], [ -121.800858999437267, 37.6336200002564 ], [ -121.801265000059104, 37.632831000722881 ], [ -121.801536999843009, 37.632259000754985 ], [ -121.803264999659717, 37.62863100049664 ], [ -121.803116000400635, 37.628583001008039 ], [ -121.796787999536335, 37.626533000302402 ], [ -121.796164999649434, 37.626331000590802 ], [ -121.785863999543267, 37.626031001080698 ], [ -121.785364000518328, 37.624931000482256 ], [ -121.78518300005544, 37.62406100094244 ], [ -121.785064000173762, 37.623131000334546 ], [ -121.784618000392143, 37.622490000936061 ], [ -121.784098999550906, 37.622009000848635 ], [ -121.783563999611289, 37.621031000508438 ], [ -121.782695000356583, 37.620559000638927 ], [ -121.781825999923313, 37.619317001062825 ], [ -121.780964000481035, 37.618032000742204 ], [ -121.780636000153763, 37.617783001013237 ], [ -121.779934000334208, 37.616860000982783 ], [ -121.77965899990177, 37.615433000757562 ], [ -121.779841999524407, 37.614388000549511 ], [ -121.779566999604626, 37.614197000861751 ], [ -121.779644000237397, 37.613755001094532 ], [ -121.77946100042486, 37.613473000570259 ], [ -121.779171000098486, 37.612626000938825 ], [ -121.778498999545661, 37.61142000052714 ], [ -121.777828000483154, 37.610505001114397 ], [ -121.776989000357204, 37.610154000774557 ], [ -121.776850999849628, 37.60980300052038 ], [ -121.776073000064244, 37.609322001062601 ], [ -121.774685000048962, 37.608407000967702 ], [ -121.773448999640067, 37.607873000834367 ], [ -121.773295999762368, 37.607598001021145 ], [ -121.772380999755441, 37.607003000883978 ], [ -121.771144999409216, 37.606469001106333 ], [ -121.769909000483807, 37.606103001029204 ], [ -121.769069000306828, 37.60610300113342 ], [ -121.76842899954633, 37.60556900051531 ], [ -121.766963999714775, 37.604981000998073 ], [ -121.765574999953841, 37.604737000371344 ], [ -121.764857999680856, 37.604333000921216 ], [ -121.763302000077104, 37.603928000644828 ], [ -121.761913000462897, 37.603768000280041 ], [ -121.761120000058682, 37.603532000878353 ], [ -121.760738000114145, 37.603677001062948 ], [ -121.760433000026353, 37.603646000661321 ], [ -121.759960000439278, 37.603364000457503 ], [ -121.759135999720897, 37.603371000303753 ], [ -121.758692999413896, 37.602997000639803 ], [ -121.7574719994509, 37.602532000536151 ], [ -121.754007999401651, 37.601861000498829 ], [ -121.752603999652479, 37.601678000909814 ], [ -121.751916999477174, 37.601380000314315 ], [ -121.751262999484027, 37.601232000648736 ], [ -121.751689000228609, 37.600968000976877 ], [ -121.752237999902036, 37.601014000587931 ], [ -121.753047000032112, 37.601037000734394 ], [ -121.754190999923708, 37.600846001045483 ], [ -121.755060999573089, 37.600800000792368 ], [ -121.755533999517652, 37.600823000549191 ], [ -121.756174999553735, 37.600777000432132 ], [ -121.756463000076252, 37.600632000490023 ], [ -121.756494999458127, 37.600419000808039 ], [ -121.756311999990217, 37.600220001080778 ], [ -121.755763000009821, 37.599847000321802 ], [ -121.755163000503543, 37.599532000962284 ], [ -121.754785999810082, 37.599358001034631 ], [ -121.75380999998518, 37.599007000882693 ], [ -121.753138000520664, 37.59876300026469 ], [ -121.752862999396598, 37.598432000731478 ], [ -121.752467000090093, 37.59849600080998 ], [ -121.752191999406563, 37.598443001021806 ], [ -121.751886999845013, 37.598099000788075 ], [ -121.751672999893444, 37.597619000506107 ], [ -121.75153599999183, 37.597268000463202 ], [ -121.751063000159021, 37.596832000841736 ], [ -121.750617000140565, 37.595924000339799 ], [ -121.750326999779318, 37.595535000793753 ], [ -121.749462999841583, 37.594963000234991 ], [ -121.748513999587857, 37.594483000381899 ], [ -121.748398000516104, 37.594116000539266 ], [ -121.748599000060651, 37.593842000919189 ], [ -121.749231999890256, 37.593429001025029 ], [ -121.749260000089194, 37.593132000482242 ], [ -121.749115999444598, 37.592788000305383 ], [ -121.749186999471348, 37.592522000475896 ], [ -121.749373999493045, 37.59182700025066 ], [ -121.75000700034272, 37.591414000423434 ], [ -121.75009300030024, 37.590934000669613 ], [ -121.748855000401576, 37.590041000863437 ], [ -121.747705000211766, 37.590042000371021 ], [ -121.746842000041696, 37.59015700063788 ], [ -121.746612000479985, 37.590065000762173 ], [ -121.745977999785055, 37.589493000932592 ], [ -121.74551799999351, 37.589356000934778 ], [ -121.745373999455865, 37.588921000292338 ], [ -121.743935000317521, 37.588533001048276 ], [ -121.743301999835921, 37.588213000275253 ], [ -121.742640000031088, 37.587709001013963 ], [ -121.74246799958965, 37.587481000505221 ], [ -121.74243799964114, 37.587114000691464 ], [ -121.742581999548378, 37.586519000578512 ], [ -121.741977999474614, 37.586268000424269 ], [ -121.741401999719912, 37.586268000654705 ], [ -121.740337999407927, 37.586703000257749 ], [ -121.739647999874649, 37.586818000944866 ], [ -121.739245000412552, 37.586658001097852 ], [ -121.738871000350727, 37.586292001076309 ], [ -121.737805999795597, 37.585537000885182 ], [ -121.73754700035758, 37.585285000422388 ], [ -121.73740299961527, 37.584690000910356 ], [ -121.737259000071006, 37.584553000762916 ], [ -121.736799000479166, 37.584507000714709 ], [ -121.736050999413962, 37.584690000680396 ], [ -121.735187999803131, 37.584782000646349 ], [ -121.734008999731955, 37.58450800070014 ], [ -121.732771999933576, 37.584554000802598 ], [ -121.73257099986634, 37.584417000341432 ], [ -121.732311000008181, 37.583112000777561 ], [ -121.732073000318522, 37.582933000891025 ], [ -121.731926999781791, 37.582823000889391 ], [ -121.731764000159657, 37.582700000700562 ], [ -121.731619999671437, 37.582082000374619 ], [ -121.731331999595568, 37.581396000312637 ], [ -121.730208999853161, 37.580709000932053 ], [ -121.729489999840894, 37.580618000594534 ], [ -121.728482999891298, 37.580344000993712 ], [ -121.728080000300352, 37.579978000694354 ], [ -121.727878999909947, 37.579634000421343 ], [ -121.727734999425877, 37.578833000473878 ], [ -121.726929000046155, 37.578078000400588 ], [ -121.725433000280105, 37.577094000587806 ], [ -121.725087999995424, 37.577003001020607 ], [ -121.724138999981236, 37.57698000031499 ], [ -121.722816000104928, 37.577369000444747 ], [ -121.722183000033709, 37.577438000440985 ], [ -121.721089999853007, 37.576500000474077 ], [ -121.72097399974588, 37.575630000536258 ], [ -121.721060999955384, 37.575241000724453 ], [ -121.720024999583941, 37.574600000951961 ], [ -121.719880999563856, 37.574349000821883 ], [ -121.719363000141129, 37.573822000307111 ], [ -121.719326999464926, 37.572618000330969 ], [ -121.719305000348754, 37.571876000259081 ], [ -121.719736000438004, 37.571420001128686 ], [ -121.719793999543668, 37.571168001016538 ], [ -121.719620999437055, 37.570733000608854 ], [ -121.71993699998373, 37.570206000778221 ], [ -121.719937000124418, 37.569062000670506 ], [ -121.719706000138103, 37.568810000803936 ], [ -121.718959000219655, 37.56851300046813 ], [ -121.717922999450678, 37.567437000710868 ], [ -121.717319000262833, 37.567208000379296 ], [ -121.716426999548801, 37.566705000351298 ], [ -121.715161999667302, 37.566499001053188 ], [ -121.715046999543347, 37.56638400096935 ], [ -121.71501799982596, 37.565904001071075 ], [ -121.714270000239409, 37.565057001051933 ], [ -121.713954000374571, 37.564508000390219 ], [ -121.713607999748106, 37.564164000234122 ], [ -121.712832000294583, 37.564073000253458 ], [ -121.712343000381154, 37.564416000670477 ], [ -121.711624000060908, 37.56460000107311 ], [ -121.711480999969766, 37.564531000610074 ], [ -121.711393999903692, 37.564119000556268 ], [ -121.711164000404963, 37.563913000864332 ], [ -121.711250000185075, 37.563570000956581 ], [ -121.71113500035986, 37.563409000254275 ], [ -121.710474000349606, 37.563158000928794 ], [ -121.71024399950764, 37.562952000339976 ], [ -121.709927000159112, 37.562379000850932 ], [ -121.709792999599742, 37.562218000292631 ], [ -121.708920000487964, 37.561166000706805 ], [ -121.708143999766037, 37.560548001031172 ], [ -121.707712000236128, 37.559450000806642 ], [ -121.707050999974228, 37.558992000288477 ], [ -121.706591000353114, 37.558832000976992 ], [ -121.705325000185411, 37.558695000446747 ], [ -121.704835999717972, 37.558351000746079 ], [ -121.703110000163932, 37.557848000453184 ], [ -121.702248000133125, 37.557390001014127 ], [ -121.701500000200539, 37.556818000362867 ], [ -121.700896000364381, 37.556131000467062 ], [ -121.700783000187002, 37.555938000344852 ], [ -121.700695000435545, 37.55578800040626 ], [ -121.700694999828514, 37.554437000522739 ], [ -121.700550999960939, 37.553980000387654 ], [ -121.700320999666403, 37.553751001082055 ], [ -121.700235000338608, 37.553499000338817 ], [ -121.700752000388704, 37.552995000787256 ], [ -121.700809000076418, 37.552743000440699 ], [ -121.700693999578291, 37.552652000634581 ], [ -121.699457999642888, 37.552492001063136 ], [ -121.698596000054437, 37.552057000669294 ], [ -121.698251000392403, 37.551462000271286 ], [ -121.697962999577115, 37.551141000326275 ], [ -121.695663000191658, 37.549676000980845 ], [ -121.695115999893787, 37.548692000643946 ], [ -121.694914999731139, 37.547685000407228 ], [ -121.694713999428288, 37.547570000606228 ], [ -121.694713999478111, 37.547319000649075 ], [ -121.693979000251915, 37.546425001031345 ], [ -121.693678999752279, 37.546060000720992 ], [ -121.69362100031455, 37.545854000740626 ], [ -121.693822999578018, 37.545556000467755 ], [ -121.693850999713192, 37.545258001046633 ], [ -121.693333999667558, 37.544411000655458 ], [ -121.693190000267606, 37.543793000366726 ], [ -121.692930999572766, 37.543290000658345 ], [ -121.692213000234688, 37.542603001046437 ], [ -121.691868000314258, 37.541825000947078 ], [ -121.691838999410564, 37.541413000386243 ], [ -121.690804000507327, 37.539467001057702 ], [ -121.689683000271472, 37.538643000521873 ], [ -121.689423999554876, 37.538322000539104 ], [ -121.689196000432517, 37.537855001066617 ], [ -121.688619000158269, 37.536674000473688 ], [ -121.688591000419564, 37.535736000702762 ], [ -121.688360999762295, 37.535507000658868 ], [ -121.688044000018124, 37.535392000621499 ], [ -121.687756999972237, 37.535163000571352 ], [ -121.687613000158606, 37.53452200088919 ], [ -121.686837000509598, 37.533446000686247 ], [ -121.685745000498457, 37.532622000692719 ], [ -121.685543999937593, 37.532348000606092 ], [ -121.684938999663899, 37.531409000802192 ], [ -121.684881999558385, 37.530081000496381 ], [ -121.684709000423354, 37.529875000270899 ], [ -121.683875999779673, 37.529555000662455 ], [ -121.683214999712561, 37.529074000706586 ], [ -121.682235000366347, 37.52788200062782 ], [ -121.681577000470867, 37.527082000775472 ], [ -121.681317999987314, 37.526556000239573 ], [ -121.681346999880716, 37.526350001096603 ], [ -121.681633999989941, 37.526258000452493 ], [ -121.682234999653616, 37.526418000310997 ], [ -121.68275500008717, 37.526556000448558 ], [ -121.682984999476773, 37.526739000892931 ], [ -121.683359000059141, 37.526808000399775 ], [ -121.683473999932048, 37.526648000276026 ], [ -121.683819000199733, 37.526556001027238 ], [ -121.684220999657171, 37.526831001117323 ], [ -121.684451000390851, 37.526831000461279 ], [ -121.684710000217734, 37.52637300103342 ], [ -121.684997000400926, 37.526350000277418 ], [ -121.685312999908888, 37.526579000931598 ], [ -121.685774000266761, 37.526579000612692 ], [ -121.686147999949824, 37.526465001070754 ], [ -121.686894999976559, 37.525938000501426 ], [ -121.687239999525275, 37.525526000440358 ], [ -121.687670999703201, 37.524657000331644 ], [ -121.688331999799203, 37.524703000363871 ], [ -121.690171000320603, 37.525596001127347 ], [ -121.691034000503379, 37.525664001131503 ], [ -121.691349999826627, 37.525825000597031 ], [ -121.69212600044095, 37.525893000953289 ], [ -121.692471000402548, 37.526008000752952 ], [ -121.692987999886356, 37.526488000900365 ], [ -121.693131999499215, 37.526945000703371 ], [ -121.693476999570677, 37.527426000797611 ], [ -121.6944560002418, 37.52819000058075 ], [ -121.694855999736674, 37.528502000544108 ], [ -121.696495000292373, 37.529326000977839 ], [ -121.697758999854898, 37.52937200066421 ], [ -121.697817000501459, 37.529234000295681 ], [ -121.699224999828857, 37.528297000961309 ], [ -121.699378999647394, 37.528154000502809 ], [ -121.699569999635983, 37.52797600057761 ], [ -121.699599000500783, 37.527701001054623 ], [ -121.700087000467462, 37.527198001118222 ], [ -121.700431999423344, 37.526717000720616 ], [ -121.700719000165421, 37.526465000301194 ], [ -121.701868999580313, 37.526419000472188 ], [ -121.702500999605405, 37.525824000887027 ], [ -121.702500999816621, 37.525641000424336 ], [ -121.701552999750163, 37.524771000683394 ], [ -121.701379999570577, 37.524473000549115 ], [ -121.701321999893025, 37.523604000843719 ], [ -121.701091999955864, 37.522596000310465 ], [ -121.701092000207069, 37.521795000700784 ], [ -121.701954000464411, 37.520101000753201 ], [ -121.702039999984791, 37.519712000744597 ], [ -121.701953999397816, 37.519391000834112 ], [ -121.701983000517842, 37.518544000619016 ], [ -121.702500000377157, 37.517354000971757 ], [ -121.702556999779006, 37.516805000446688 ], [ -121.702298000451606, 37.516118001044859 ], [ -121.70249899955634, 37.513050000833012 ], [ -121.702470000422736, 37.512844000962126 ], [ -121.702009999985009, 37.512501001132215 ], [ -121.701262999817715, 37.512410000296178 ], [ -121.700085000104437, 37.512547000720446 ], [ -121.699595999675481, 37.51220400043416 ], [ -121.699329999495475, 37.512143001043611 ], [ -121.698590999858396, 37.511975000940375 ], [ -121.696205000217489, 37.509915000406231 ], [ -121.695457999563615, 37.509480001026631 ], [ -121.695256999729281, 37.509114000721141 ], [ -121.693274000468179, 37.508107000882724 ], [ -121.692499000022821, 37.507923000899119 ], [ -121.692183000301, 37.508015000685894 ], [ -121.691664999646463, 37.5085640007918 ], [ -121.69077499948564, 37.508679001111176 ], [ -121.690314999419016, 37.508542000476105 ], [ -121.689366999618642, 37.507740000366177 ], [ -121.689079000317804, 37.507718000993698 ], [ -121.688648000080548, 37.50787800068926 ], [ -121.687843000222259, 37.507901000996107 ], [ -121.687382999555425, 37.507832000468078 ], [ -121.686923000477876, 37.5075800010748 ], [ -121.686692999513625, 37.507008000907945 ], [ -121.687211000475784, 37.506413000306608 ], [ -121.688245000303212, 37.504833000594395 ], [ -121.688388999408502, 37.504330001031299 ], [ -121.688646999865938, 37.503986000728119 ], [ -121.6895960002268, 37.503643000609685 ], [ -121.689998999810655, 37.503299000693453 ], [ -121.690171000147657, 37.50291000076421 ], [ -121.690229000406958, 37.502315000515793 ], [ -121.690457999589952, 37.502224000555707 ], [ -121.690658999712753, 37.502338000688269 ], [ -121.690688000330127, 37.502704000461755 ], [ -121.690831999482484, 37.502910000896193 ], [ -121.691177000215419, 37.502819000950417 ], [ -121.691320000384991, 37.50197200067435 ], [ -121.691263000514226, 37.501720000550563 ], [ -121.691182999934284, 37.501613000728568 ], [ -121.689538999876078, 37.500356001022638 ], [ -121.689378000066171, 37.499934000969603 ], [ -121.689295999991245, 37.499579000721745 ], [ -121.68929599949999, 37.499419001035122 ], [ -121.689159000028184, 37.499037001013889 ], [ -121.6890980002471, 37.498763000515268 ], [ -121.689020999657814, 37.498541000741426 ], [ -121.688959999485263, 37.49816000079791 ], [ -121.688822999535788, 37.498000000840968 ], [ -121.688686000165674, 37.497840000731955 ], [ -121.688532999539774, 37.497603000942313 ], [ -121.688334999446198, 37.497435000895344 ], [ -121.688257999618742, 37.497229000585477 ], [ -121.688196999787323, 37.49706900028503 ], [ -121.68825800051151, 37.496909000241345 ], [ -121.688335000317281, 37.496733000298988 ], [ -121.68847200034773, 37.496627000363858 ], [ -121.68860900014748, 37.4965120007273 ], [ -121.688746999904652, 37.496405000297884 ], [ -121.688822999589831, 37.496298000969823 ], [ -121.688747000353345, 37.496062000375183 ], [ -121.688746999667515, 37.49584100024385 ], [ -121.688471999719013, 37.495505000267002 ], [ -121.688258000438736, 37.495185001102854 ], [ -121.688197000412003, 37.495024000311417 ], [ -121.688120999798059, 37.494803000607256 ], [ -121.687983999923134, 37.494574001097831 ], [ -121.687983999954582, 37.494193000244145 ], [ -121.688060000208296, 37.493971001058668 ], [ -121.687923000196037, 37.493910000352777 ], [ -121.687846999448567, 37.493697000436669 ], [ -121.687709000212251, 37.493521000691267 ], [ -121.687495999893372, 37.493308000721122 ], [ -121.687357999705839, 37.493086000609651 ], [ -121.687084000202503, 37.49287300069421 ], [ -121.686884999596685, 37.492697000618925 ], [ -121.686748000012884, 37.492583000881851 ], [ -121.686610999525513, 37.492430000570707 ], [ -121.686457999655275, 37.4923240010393 ], [ -121.686458000469429, 37.492209000727208 ], [ -121.686320999416935, 37.492156000863915 ], [ -121.686121999922136, 37.492087000755326 ], [ -121.685847999940464, 37.492026000518827 ], [ -121.68557300003755, 37.491988000663035 ], [ -121.685221999664293, 37.491980000536877 ], [ -121.684871000094688, 37.491927000784578 ], [ -121.684595999683623, 37.491927000408161 ], [ -121.684245000265975, 37.491873001055971 ], [ -121.68397099992778, 37.491805000540452 ], [ -121.683772000021108, 37.491713000572915 ], [ -121.683559000462296, 37.491538000735261 ], [ -121.683421000388435, 37.491316000583637 ], [ -121.683344999488554, 37.491156000887244 ], [ -121.683208000088172, 37.490889000427515 ], [ -121.68307100038426, 37.490668000646799 ], [ -121.682659000288126, 37.49037800090214 ], [ -121.682323000051085, 37.490225000602443 ], [ -121.681896000297627, 37.490111001020082 ], [ -121.681620999424439, 37.489936000743882 ], [ -121.681285000310382, 37.489775000238161 ], [ -121.680858000049696, 37.489714000907441 ], [ -121.680660000234681, 37.489836000312934 ], [ -121.680445999556937, 37.48982900062154 ], [ -121.680034000302172, 37.48989000077907 ], [ -121.679683000363838, 37.489882000493211 ], [ -121.679545999956929, 37.489936000330722 ], [ -121.679210000468828, 37.490004000365936 ], [ -121.679056999603546, 37.490004001064399 ], [ -121.678858999844564, 37.489890000487556 ], [ -121.678721999454723, 37.489783000966028 ], [ -121.678446999668694, 37.489630000544196 ], [ -121.678232999638681, 37.489501000649767 ], [ -121.677744999604343, 37.489600000350741 ], [ -121.677272000527097, 37.489653000239876 ], [ -121.677059000484761, 37.489653000651657 ], [ -121.676708000314136, 37.489676000939639 ], [ -121.676432999814693, 37.489554000754872 ], [ -121.676097000407822, 37.489386000456733 ], [ -121.675746000403436, 37.489279000830727 ], [ -121.67547200010371, 37.489112000252952 ], [ -121.675120999701164, 37.488845000864416 ], [ -121.674845999778213, 37.488677000704705 ], [ -121.674495000364644, 37.488562001013918 ], [ -121.67415899956994, 37.488394000635488 ], [ -121.673884999933847, 37.488188000537917 ], [ -121.673595000247602, 37.48796000044878 ], [ -121.673258999631642, 37.487792000236105 ], [ -121.673121999750236, 37.48768500058879 ], [ -121.672694999538265, 37.487563000364425 ], [ -121.672496000401395, 37.487441000517187 ], [ -121.672358999599837, 37.487296000952121 ], [ -121.672222000420007, 37.487128000837906 ], [ -121.672084000349898, 37.486907000674279 ], [ -121.671871000149523, 37.486785001018006 ], [ -121.67165699996464, 37.486518000357606 ], [ -121.671596000113468, 37.486190000855601 ], [ -121.671519999804374, 37.485968000977927 ], [ -121.671458999721722, 37.485587001017969 ], [ -121.671459000093009, 37.485198000292897 ], [ -121.671382000404776, 37.484633000848383 ], [ -121.671381999944515, 37.484435000233191 ], [ -121.671381999942867, 37.484206001012844 ], [ -121.671321000221596, 37.483924000308363 ], [ -121.671184000019124, 37.483649000451962 ], [ -121.67096999958801, 37.483382000302292 ], [ -121.670939999660078, 37.482826000585639 ], [ -121.67085899956345, 37.482735001025617 ], [ -121.688887000011647, 37.482829000307667 ], [ -121.690060000416238, 37.482835000335825 ], [ -121.690138000333988, 37.482838000440559 ], [ -121.712555999504971, 37.483558000509333 ], [ -121.714960999674318, 37.483635000884817 ], [ -121.741162999761556, 37.483935001100548 ], [ -121.7412810004476, 37.483940000735942 ], [ -121.741400000223479, 37.483941000960236 ], [ -121.765663000357989, 37.484035000841722 ], [ -121.769843000492074, 37.484076000806283 ], [ -121.770993999964546, 37.484087000406959 ], [ -121.771124000094702, 37.484088000400227 ], [ -121.771188999905675, 37.484090000579066 ], [ -121.78626400004228, 37.484236000336104 ], [ -121.786346000126088, 37.484330001038714 ], [ -121.787347000521279, 37.484293000431883 ], [ -121.79589899978123, 37.483979000865475 ], [ -121.800732000244594, 37.483991000558866 ], [ -121.819624000402953, 37.484191001022921 ], [ -121.82386599952622, 37.484236000937265 ], [ -121.826165999515624, 37.484236000929698 ], [ -121.831366000038457, 37.484236000844795 ], [ -121.83286599949659, 37.484336000283811 ], [ -121.837875999453246, 37.48437300043723 ], [ -121.846265999656936, 37.484436000229969 ], [ -121.850565999588994, 37.484436000359054 ], [ -121.855766999518224, 37.484537000398831 ], [ -121.857393999555413, 37.484554000992709 ], [ -121.859061000430316, 37.484571000475277 ], [ -121.863844000239538, 37.484621000635542 ], [ -121.865266999843328, 37.484637000498282 ], [ -121.865292000019778, 37.484620001034372 ], [ -121.866996999876662, 37.483529000324559 ], [ -121.86776700003125, 37.483037000992866 ], [ -121.868167000049141, 37.48333700066226 ], [ -121.870166999883665, 37.484737000425049 ], [ -121.875866999568018, 37.488937000425729 ], [ -121.877877999458775, 37.490378000481734 ], [ -121.88186800039071, 37.493237000241599 ], [ -121.882367999726682, 37.493537000856463 ], [ -121.883752000198371, 37.497998000760013 ], [ -121.884168000101923, 37.499337000343886 ], [ -121.883777999634319, 37.499937001129553 ], [ -121.882868000086333, 37.501336000415257 ], [ -121.883267999762552, 37.502836001103894 ], [ -121.885567999456867, 37.507936000272494 ], [ -121.887253000383012, 37.512387000904546 ], [ -121.887421000377273, 37.514256000298225 ], [ -121.886967999559928, 37.518036000796641 ], [ -121.886667999568573, 37.519136000468933 ], [ -121.885968000368933, 37.521636000268138 ], [ -121.885668000485552, 37.522736001067258 ], [ -121.884567999654692, 37.526236000948067 ], [ -121.88356800036145, 37.530435001108209 ], [ -121.882367999703348, 37.530835000909399 ], [ -121.882268000359545, 37.532435001019067 ], [ -121.889267999643053, 37.54073500061839 ], [ -121.889568000416389, 37.548335000262668 ], [ -121.893067999649574, 37.553435000359279 ], [ -121.902267999855567, 37.548635000236821 ], [ -121.906268999893925, 37.551435000525807 ], [ -121.907968999941176, 37.551235000729299 ], [ -121.908969000245079, 37.55363500087639 ], [ -121.909869000287031, 37.55573500037859 ], [ -121.91186899971369, 37.555935000537623 ], [ -121.91496900027208, 37.556135000545716 ], [ -121.915169000050483, 37.560635000240907 ], [ -121.917021000444791, 37.560224000281835 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 839, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.093173999619808, 37.67453100090956 ], [ -122.091473999522734, 37.675131000425836 ], [ -122.090373999568101, 37.675531000726316 ], [ -122.089873999793511, 37.675831000237302 ], [ -122.089274000431629, 37.676331000446659 ], [ -122.088073999435551, 37.677231000964845 ], [ -122.087474000412968, 37.677731000790672 ], [ -122.087673999568665, 37.678031000836825 ], [ -122.08727400003157, 37.678331001015856 ], [ -122.086773999465336, 37.678731000942946 ], [ -122.085974000518476, 37.679431000303659 ], [ -122.085374000417502, 37.680031001122536 ], [ -122.084289999403609, 37.678689000983105 ], [ -122.083274000451794, 37.677431000549944 ], [ -122.082973999835033, 37.676931000789523 ], [ -122.082774000139807, 37.677031000558763 ], [ -122.081973999768664, 37.677531001031035 ], [ -122.081774000518109, 37.677631000884389 ], [ -122.080874000055914, 37.678031000736866 ], [ -122.080221000122989, 37.678085000366764 ], [ -122.079673999975725, 37.678131000718885 ], [ -122.079274000479955, 37.680031000761339 ], [ -122.078873999529776, 37.680331000936874 ], [ -122.078173999706976, 37.679731000565788 ], [ -122.077274000518614, 37.679931000885965 ], [ -122.076774000216162, 37.67883100082242 ], [ -122.077473999848934, 37.678431000351843 ], [ -122.07637400013185, 37.678231000868429 ], [ -122.075774000043154, 37.677731000872846 ], [ -122.074773999659314, 37.676631000509659 ], [ -122.074372999804638, 37.67603100027543 ], [ -122.073772999938754, 37.675231000855938 ], [ -122.075174000022045, 37.674831001101118 ], [ -122.075673999568949, 37.674431000720389 ], [ -122.076074000402855, 37.674131001092356 ], [ -122.077374000060004, 37.673131000700756 ], [ -122.076074000499403, 37.672031000543733 ], [ -122.076574000051409, 37.671731000937314 ], [ -122.078074000482459, 37.670931000427515 ], [ -122.079973999432468, 37.669731001057002 ], [ -122.080874000381343, 37.668731000588302 ], [ -122.081474000338474, 37.667631000755556 ], [ -122.081973999440947, 37.666831000435337 ], [ -122.082174000397828, 37.666331000538371 ], [ -122.082373999983858, 37.666031000400693 ], [ -122.082672999496737, 37.666268000823123 ], [ -122.085232000072224, 37.668298000401045 ], [ -122.088373999766489, 37.670531000394533 ], [ -122.089374000274304, 37.671131000963641 ], [ -122.093874000380538, 37.674131000357825 ], [ -122.093574000379803, 37.674331000605292 ], [ -122.093173999619808, 37.67453100090956 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 838, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.100473999518158, 37.685430000799151 ], [ -122.100773999976326, 37.685630001086771 ], [ -122.100948000400876, 37.68574900102405 ], [ -122.099673999631406, 37.686030000379276 ], [ -122.09797399949754, 37.686130000620508 ], [ -122.096874000205858, 37.68713000061976 ], [ -122.096649000344286, 37.68742700088449 ], [ -122.09617400026157, 37.687930000623965 ], [ -122.093673999791946, 37.686130001016139 ], [ -122.092873999722755, 37.685630000635584 ], [ -122.091974000400711, 37.684930000335136 ], [ -122.090173999993368, 37.683630001060187 ], [ -122.089274000512418, 37.682831001058389 ], [ -122.087973999543109, 37.682131000771903 ], [ -122.087574000329852, 37.681731000440671 ], [ -122.086873999831113, 37.68113100094196 ], [ -122.086374000405286, 37.680831000327586 ], [ -122.086173999496836, 37.680631000309859 ], [ -122.085374000417502, 37.680031001122536 ], [ -122.085974000518476, 37.679431000303659 ], [ -122.086773999465336, 37.678731000942946 ], [ -122.08727400003157, 37.678331001015856 ], [ -122.087673999568665, 37.678031000836825 ], [ -122.087474000412968, 37.677731000790672 ], [ -122.088073999435551, 37.677231000964845 ], [ -122.089274000431629, 37.676331000446659 ], [ -122.089873999793511, 37.675831000237302 ], [ -122.090373999568101, 37.675531000726316 ], [ -122.091473999522734, 37.675131000425836 ], [ -122.093173999619808, 37.67453100090956 ], [ -122.093574000379803, 37.674331000605292 ], [ -122.093874000380538, 37.674131000357825 ], [ -122.095173999860407, 37.675031001007071 ], [ -122.097373999581734, 37.676631000874124 ], [ -122.099173999955681, 37.677831001012137 ], [ -122.098873999717711, 37.677931000647028 ], [ -122.097673999801685, 37.678331000515634 ], [ -122.097373999452628, 37.678331000377156 ], [ -122.094674000199078, 37.679531000314746 ], [ -122.096574000061381, 37.681031000937899 ], [ -122.098174000053831, 37.682331000880772 ], [ -122.098773999649126, 37.682831001053316 ], [ -122.09902499942099, 37.683019000804002 ], [ -122.099973999630208, 37.68373100089709 ], [ -122.099174000286581, 37.684330000482809 ], [ -122.100473999518158, 37.685430000799151 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 837, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.108496999540094, 37.673916000459059 ], [ -122.11067499950282, 37.675731001032865 ], [ -122.109775000480198, 37.676331001051061 ], [ -122.111020000306809, 37.677659000854945 ], [ -122.111275000469817, 37.677931000858663 ], [ -122.112182999643764, 37.678930000319809 ], [ -122.112275000503544, 37.679031000768155 ], [ -122.112474999616069, 37.679231001057026 ], [ -122.112674999798585, 37.679431001013555 ], [ -122.113874999554895, 37.680831000921636 ], [ -122.114075000093223, 37.681131000801358 ], [ -122.114767999583535, 37.681887000874831 ], [ -122.115174999816716, 37.682331000300366 ], [ -122.116075000371836, 37.683331001074912 ], [ -122.116774999520359, 37.684231000970392 ], [ -122.116775000323614, 37.684361000685641 ], [ -122.116774999924132, 37.68485500027321 ], [ -122.116774999487859, 37.685430000636373 ], [ -122.115148000301147, 37.685715000856462 ], [ -122.113103999747111, 37.686072000620399 ], [ -122.112868999587533, 37.686113001046493 ], [ -122.112774999565531, 37.686130000997956 ], [ -122.110874999652665, 37.684131000902603 ], [ -122.109274999745352, 37.68423100083141 ], [ -122.108475000198354, 37.684231000552629 ], [ -122.107175000199874, 37.684730000991657 ], [ -122.106509999966207, 37.685395001124483 ], [ -122.106273999654675, 37.685630000482021 ], [ -122.104674000207567, 37.685230000813114 ], [ -122.103174000321971, 37.685530000790898 ], [ -122.102374000485739, 37.685130000890581 ], [ -122.100773999976326, 37.685630001086771 ], [ -122.100473999518158, 37.685430000799151 ], [ -122.099174000286581, 37.684330000482809 ], [ -122.099973999630208, 37.68373100089709 ], [ -122.09902499942099, 37.683019000804002 ], [ -122.098773999649126, 37.682831001053316 ], [ -122.098174000053831, 37.682331000880772 ], [ -122.096574000061381, 37.681031000937899 ], [ -122.094674000199078, 37.679531000314746 ], [ -122.097373999452628, 37.678331000377156 ], [ -122.097673999801685, 37.678331000515634 ], [ -122.098873999717711, 37.677931000647028 ], [ -122.099173999955681, 37.677831001012137 ], [ -122.097373999581734, 37.676631000874124 ], [ -122.095173999860407, 37.675031001007071 ], [ -122.095474000038607, 37.674931000788433 ], [ -122.099874000258509, 37.673231000781399 ], [ -122.099073999707613, 37.672031000237681 ], [ -122.098273999834191, 37.670731000812324 ], [ -122.101773999811812, 37.669331000808334 ], [ -122.100073999594997, 37.66813100042517 ], [ -122.099173999633507, 37.667331000897597 ], [ -122.099574000462354, 37.667031000709471 ], [ -122.099874000033935, 37.66683100093627 ], [ -122.100174000438912, 37.666731001037832 ], [ -122.10044400006197, 37.666967000861163 ], [ -122.10373899992274, 37.669844000593905 ], [ -122.106474000152375, 37.672231001009813 ], [ -122.107363999430419, 37.672973000439775 ], [ -122.108496999540094, 37.673916000459059 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 835, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.134974999880114, 37.676331000886869 ], [ -122.136774999944151, 37.679331000679383 ], [ -122.138174999416606, 37.681631000492381 ], [ -122.138592999508973, 37.683301000871886 ], [ -122.138875999590823, 37.684431000897362 ], [ -122.133875000105945, 37.684131001000317 ], [ -122.132174999932488, 37.6848310007815 ], [ -122.130026999860306, 37.684205000939841 ], [ -122.129819000504057, 37.684144000420723 ], [ -122.128774999695921, 37.684231000987161 ], [ -122.127474999836465, 37.683331000637324 ], [ -122.124174999999752, 37.681131000999635 ], [ -122.117574999488099, 37.676531000685351 ], [ -122.118404000231024, 37.676154000509349 ], [ -122.118674999794777, 37.6760310004559 ], [ -122.119574999676459, 37.675731000691052 ], [ -122.120274999492594, 37.675331000527478 ], [ -122.122474999635031, 37.674531000475909 ], [ -122.123574999619095, 37.674131000699276 ], [ -122.124275000398427, 37.67513100051066 ], [ -122.126174999464695, 37.678031000975359 ], [ -122.12697500003884, 37.677831000308117 ], [ -122.1262749998792, 37.676631000925326 ], [ -122.12587500006795, 37.676031000833518 ], [ -122.127574999805546, 37.675231001126697 ], [ -122.128275000178732, 37.67493100077057 ], [ -122.129075000315041, 37.674731000874232 ], [ -122.129875000276485, 37.674231000560184 ], [ -122.130575000124423, 37.674031000656349 ], [ -122.131374999411705, 37.673631000674824 ], [ -122.13207500010806, 37.673331000962975 ], [ -122.132875000525104, 37.673031000468001 ], [ -122.133274999518832, 37.673731000600064 ], [ -122.134974999880114, 37.676331000886869 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 833, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.136774999944151, 37.679331000679383 ], [ -122.134974999880114, 37.676331000886869 ], [ -122.133274999518832, 37.673731000600064 ], [ -122.132875000525104, 37.673031000468001 ], [ -122.131474999683846, 37.670831000847791 ], [ -122.131275000145578, 37.670331001124552 ], [ -122.131374999491044, 37.669631001045154 ], [ -122.131274999446262, 37.66893100056793 ], [ -122.131275000109014, 37.668131000240315 ], [ -122.131274999407637, 37.667431000645649 ], [ -122.13107500030155, 37.666731000445253 ], [ -122.131075000369435, 37.665931000733089 ], [ -122.130874999702002, 37.665931000764999 ], [ -122.130874999612416, 37.665531000873543 ], [ -122.130775000228127, 37.665131000406717 ], [ -122.134174999474297, 37.664731000472912 ], [ -122.134674999558413, 37.663931000411139 ], [ -122.134575000061915, 37.663131001014854 ], [ -122.136574999866824, 37.663031000608115 ], [ -122.137474999959181, 37.663031000509882 ], [ -122.13827500021479, 37.663031000265562 ], [ -122.139075000176604, 37.662931000827385 ], [ -122.139874999711466, 37.663031000612733 ], [ -122.140675000299822, 37.663131000395452 ], [ -122.141512000115455, 37.663191000486748 ], [ -122.14347599946889, 37.663331001017369 ], [ -122.145290999819792, 37.665001000477211 ], [ -122.145975999655235, 37.665631000547556 ], [ -122.146156000231343, 37.665794000703137 ], [ -122.146803000348427, 37.666383000319826 ], [ -122.147075999880315, 37.66663100066819 ], [ -122.145675999952786, 37.667231001054347 ], [ -122.13977500025932, 37.670131000912889 ], [ -122.138180999901266, 37.670817000307572 ], [ -122.138474999492246, 37.671231000307351 ], [ -122.139074999836822, 37.67193100079929 ], [ -122.139574999707804, 37.672631000561374 ], [ -122.140175000305888, 37.673431000719013 ], [ -122.137474999747084, 37.674431000394641 ], [ -122.138074999970215, 37.675131000276018 ], [ -122.13857500039849, 37.675931001122777 ], [ -122.1387599993962, 37.676230000295561 ], [ -122.139467000276753, 37.677372000717938 ], [ -122.139876000011839, 37.678031000943719 ], [ -122.138311999913242, 37.678771000533757 ], [ -122.13797499982654, 37.678931000308729 ], [ -122.137375000348271, 37.679131001134145 ], [ -122.136774999944151, 37.679331000679383 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 832, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.129774999732305, 37.665131001014331 ], [ -122.130775000228127, 37.665131000406717 ], [ -122.130874999612416, 37.665531000873543 ], [ -122.130874999702002, 37.665931000764999 ], [ -122.131075000369435, 37.665931000733089 ], [ -122.13107500030155, 37.666731000445253 ], [ -122.131274999407637, 37.667431000645649 ], [ -122.131275000109014, 37.668131000240315 ], [ -122.131274999446262, 37.66893100056793 ], [ -122.131374999491044, 37.669631001045154 ], [ -122.131275000145578, 37.670331001124552 ], [ -122.131474999683846, 37.670831000847791 ], [ -122.132875000525104, 37.673031000468001 ], [ -122.13207500010806, 37.673331000962975 ], [ -122.131374999411705, 37.673631000674824 ], [ -122.130575000124423, 37.674031000656349 ], [ -122.129875000276485, 37.674231000560184 ], [ -122.129075000315041, 37.674731000874232 ], [ -122.128275000178732, 37.67493100077057 ], [ -122.127574999805546, 37.675231001126697 ], [ -122.12587500006795, 37.676031000833518 ], [ -122.1262749998792, 37.676631000925326 ], [ -122.12697500003884, 37.677831000308117 ], [ -122.126174999464695, 37.678031000975359 ], [ -122.124275000398427, 37.67513100051066 ], [ -122.123574999619095, 37.674131000699276 ], [ -122.122474999635031, 37.674531000475909 ], [ -122.120274999492594, 37.675331000527478 ], [ -122.119574999676459, 37.675731000691052 ], [ -122.118674999794777, 37.6760310004559 ], [ -122.118404000231024, 37.676154000509349 ], [ -122.117574999488099, 37.676531000685351 ], [ -122.114106000394656, 37.673915001028682 ], [ -122.113015000395208, 37.673092000741171 ], [ -122.111474999947063, 37.671931000717414 ], [ -122.111775000035891, 37.67183100025332 ], [ -122.112137000398448, 37.671702000972829 ], [ -122.113175000236382, 37.671331000615758 ], [ -122.115975000034197, 37.670331000626639 ], [ -122.117252000263818, 37.669844000510977 ], [ -122.118532999405403, 37.669356000547545 ], [ -122.120174999582062, 37.668731000825204 ], [ -122.120374999759107, 37.669131000341991 ], [ -122.121823000030631, 37.668633001072308 ], [ -122.122913000266948, 37.668259000899788 ], [ -122.123574999708637, 37.668031000897045 ], [ -122.123375000114748, 37.667331000679539 ], [ -122.12807500018161, 37.667231000933725 ], [ -122.128118000175178, 37.666586001117679 ], [ -122.128175000434211, 37.665731001059406 ], [ -122.12777500025723, 37.665731000875191 ], [ -122.12777499945652, 37.665531000962623 ], [ -122.127674999724746, 37.665131000652416 ], [ -122.128175000459194, 37.665131000402098 ], [ -122.129774999732305, 37.665131001014331 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 828, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.092473999681772, 37.660031001073818 ], [ -122.092512000178061, 37.660065000760959 ], [ -122.094393000032142, 37.661730000288557 ], [ -122.096740999996669, 37.66380900051324 ], [ -122.098379999526017, 37.66526000032551 ], [ -122.098573999984225, 37.665431000300018 ], [ -122.098674000350741, 37.665631000635045 ], [ -122.099774000138808, 37.666431000344296 ], [ -122.100026999604893, 37.666603000738981 ], [ -122.100174000438912, 37.666731001037832 ], [ -122.099874000033935, 37.66683100093627 ], [ -122.099574000462354, 37.667031000709471 ], [ -122.099173999633507, 37.667331000897597 ], [ -122.100073999594997, 37.66813100042517 ], [ -122.101773999811812, 37.669331000808334 ], [ -122.098273999834191, 37.670731000812324 ], [ -122.099073999707613, 37.672031000237681 ], [ -122.099874000258509, 37.673231000781399 ], [ -122.095474000038607, 37.674931000788433 ], [ -122.095173999860407, 37.675031001007071 ], [ -122.093874000380538, 37.674131000357825 ], [ -122.089374000274304, 37.671131000963641 ], [ -122.088373999766489, 37.670531000394533 ], [ -122.085232000072224, 37.668298000401045 ], [ -122.082672999496737, 37.666268000823123 ], [ -122.082373999983858, 37.666031000400693 ], [ -122.082774000383992, 37.665331000304299 ], [ -122.082973999681272, 37.664831000665899 ], [ -122.083274000234965, 37.664531000325347 ], [ -122.083874000219268, 37.663131000705825 ], [ -122.084273999409987, 37.662331000721359 ], [ -122.084874000335986, 37.661331000542326 ], [ -122.085274000299307, 37.660531000430012 ], [ -122.085573999904469, 37.659931000930264 ], [ -122.086573999870041, 37.658231000962424 ], [ -122.08735999961506, 37.657027000905501 ], [ -122.088074000174856, 37.655932000494438 ], [ -122.089954999984442, 37.657684000754749 ], [ -122.092473999681772, 37.660031001073818 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 823, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.049272999815699, 37.677431000547308 ], [ -122.049552000248056, 37.677041000263387 ], [ -122.049773000225343, 37.676731000731685 ], [ -122.050572999740311, 37.675731001006433 ], [ -122.051373000002513, 37.674631000820256 ], [ -122.05453599967727, 37.673969000541206 ], [ -122.055673000113615, 37.673731001099306 ], [ -122.056172999442339, 37.673631000701597 ], [ -122.055872999928539, 37.673131000340646 ], [ -122.055947999478178, 37.672381000538536 ], [ -122.056073000311372, 37.671131000249503 ], [ -122.053173000420387, 37.670731000632145 ], [ -122.052472999729275, 37.67053100071589 ], [ -122.052273000339838, 37.669731000609033 ], [ -122.051772999539097, 37.668831001018802 ], [ -122.053122999888217, 37.668471000725212 ], [ -122.053272999758363, 37.668431000632694 ], [ -122.05497300012324, 37.668131000460903 ], [ -122.05537299968293, 37.668031000410544 ], [ -122.055425000300488, 37.668021000453471 ], [ -122.056373000319454, 37.667831000344194 ], [ -122.056734999450001, 37.667746000354782 ], [ -122.057113999415193, 37.667657000855193 ], [ -122.057843999712034, 37.667312000642099 ], [ -122.05817300031255, 37.667231000303026 ], [ -122.058872999781471, 37.666431000784442 ], [ -122.061205999978071, 37.665611000415048 ], [ -122.064109999686067, 37.664591000893218 ], [ -122.064507999644931, 37.664451000454868 ], [ -122.066379000387712, 37.663794001091972 ], [ -122.066544000026482, 37.663683001007527 ], [ -122.069373000486223, 37.664931000862822 ], [ -122.070986999517771, 37.664348000569106 ], [ -122.072972999817068, 37.663631000426136 ], [ -122.073672999988361, 37.663131000517154 ], [ -122.075076000397331, 37.662780001006119 ], [ -122.07527399997349, 37.662731000754121 ], [ -122.075973999708154, 37.662831001055878 ], [ -122.076389000520905, 37.663489000437039 ], [ -122.076574000278853, 37.663731000957434 ], [ -122.07674300041343, 37.663938000591173 ], [ -122.077873999968375, 37.665331000755643 ], [ -122.078073999513435, 37.665631001098248 ], [ -122.078973999963338, 37.666731000755512 ], [ -122.080874000381343, 37.668731000588302 ], [ -122.079973999432468, 37.669731001057002 ], [ -122.078074000482459, 37.670931000427515 ], [ -122.076574000051409, 37.671731000937314 ], [ -122.076074000499403, 37.672031000543733 ], [ -122.077374000060004, 37.673131000700756 ], [ -122.076074000402855, 37.674131001092356 ], [ -122.075673999568949, 37.674431000720389 ], [ -122.075174000022045, 37.674831001101118 ], [ -122.073772999938754, 37.675231000855938 ], [ -122.07227300037151, 37.675731000368103 ], [ -122.071672999462777, 37.675931000547635 ], [ -122.070572999623536, 37.676331001102639 ], [ -122.068472999560043, 37.677031001029533 ], [ -122.067872999619354, 37.677231000651872 ], [ -122.067573000144606, 37.677331000664914 ], [ -122.06692300001238, 37.677567000341405 ], [ -122.066472999744775, 37.677731000495712 ], [ -122.066120999935592, 37.677795000568906 ], [ -122.065372999638697, 37.677931000370961 ], [ -122.063772999807327, 37.678131000879695 ], [ -122.061493000067188, 37.678891000481208 ], [ -122.060969000505608, 37.679066000311337 ], [ -122.060473000100998, 37.679231000928617 ], [ -122.059872999728483, 37.679431001010279 ], [ -122.059373000159368, 37.679531000592071 ], [ -122.057964999549313, 37.67982700044373 ], [ -122.057473000390928, 37.679931000866425 ], [ -122.056073000467705, 37.67973100086062 ], [ -122.055612999478285, 37.679629000639601 ], [ -122.055172999815824, 37.679531000252545 ], [ -122.053972999460782, 37.67933100027679 ], [ -122.05367299942138, 37.679331000684357 ], [ -122.053278999416619, 37.679275000983409 ], [ -122.052790999516517, 37.679205000278223 ], [ -122.052272999791327, 37.679131000720645 ], [ -122.050573000232092, 37.678831000944037 ], [ -122.050073000402151, 37.678731000534832 ], [ -122.049961000278813, 37.678548000815638 ], [ -122.049272999815699, 37.677431000547308 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 822, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.053173000420387, 37.670731000632145 ], [ -122.056073000311372, 37.671131000249503 ], [ -122.055947999478178, 37.672381000538536 ], [ -122.055872999928539, 37.673131000340646 ], [ -122.056172999442339, 37.673631000701597 ], [ -122.055673000113615, 37.673731001099306 ], [ -122.05453599967727, 37.673969000541206 ], [ -122.051373000002513, 37.674631000820256 ], [ -122.050572999740311, 37.675731001006433 ], [ -122.049773000225343, 37.676731000731685 ], [ -122.049552000248056, 37.677041000263387 ], [ -122.049272999815699, 37.677431000547308 ], [ -122.048906999963222, 37.676973000695625 ], [ -122.048707000364274, 37.676723000640074 ], [ -122.0480729996072, 37.675931000620054 ], [ -122.046723000233868, 37.675646001021377 ], [ -122.046141999705583, 37.675524000710539 ], [ -122.045694000315009, 37.675430000430026 ], [ -122.044272999681041, 37.675131000356544 ], [ -122.043872999832175, 37.675031000894371 ], [ -122.04279999973744, 37.674928001097641 ], [ -122.042792999833082, 37.674934001071151 ], [ -122.041685999733872, 37.675158000729667 ], [ -122.040934999938187, 37.675335000918707 ], [ -122.035673999644629, 37.676561000264407 ], [ -122.035069999937477, 37.676740000338093 ], [ -122.034297000377791, 37.6764450006239 ], [ -122.034138999956582, 37.676312000520909 ], [ -122.033174999714078, 37.675503000857596 ], [ -122.032373999902106, 37.674412000433882 ], [ -122.031189999430694, 37.672743000494691 ], [ -122.030851000476957, 37.67209200039661 ], [ -122.030996000295758, 37.671325000316536 ], [ -122.029654000318658, 37.668781000956145 ], [ -122.029223999965907, 37.668213000317664 ], [ -122.028472000114945, 37.666831000405402 ], [ -122.028230999516978, 37.665872000658268 ], [ -122.02843199998479, 37.665214000858306 ], [ -122.02799400031175, 37.664503001105345 ], [ -122.027271999963361, 37.663131000529006 ], [ -122.026871999637308, 37.661931000268837 ], [ -122.025871999952827, 37.661131000834942 ], [ -122.023571999451718, 37.660531001037491 ], [ -122.026071999910016, 37.657531000297602 ], [ -122.026645999786609, 37.657264000898209 ], [ -122.026904999955292, 37.657272000936054 ], [ -122.027133999562409, 37.65726400078146 ], [ -122.027316999979135, 37.65722600113213 ], [ -122.027531000450168, 37.657173000321897 ], [ -122.027774999783972, 37.657081000677387 ], [ -122.028019000218634, 37.656982000963282 ], [ -122.02830899963125, 37.656846000581893 ], [ -122.028645000267858, 37.656686000595748 ], [ -122.028827999784269, 37.656609000717197 ], [ -122.029117999435258, 37.656533000304115 ], [ -122.029391999905172, 37.656480000532767 ], [ -122.030371999743608, 37.656532000425706 ], [ -122.030552000124047, 37.656518000887225 ], [ -122.030673999451864, 37.656510000349506 ], [ -122.031803000342066, 37.656579000985928 ], [ -122.032107999470938, 37.656617000415821 ], [ -122.032475000369942, 37.656739000485089 ], [ -122.032749000149707, 37.656869000245599 ], [ -122.03297799963326, 37.657005000906452 ], [ -122.033169999551248, 37.657080000948717 ], [ -122.033253000129918, 37.65711200087194 ], [ -122.033694999819602, 37.657142000450449 ], [ -122.034092000032018, 37.657112001027585 ], [ -122.034610999860234, 37.657081000641476 ], [ -122.034992000469387, 37.65703500057392 ], [ -122.035267000323984, 37.657005000353386 ], [ -122.035617999755019, 37.657051001045325 ], [ -122.035785999901222, 37.657119000234047 ], [ -122.036198000085037, 37.65729500076295 ], [ -122.036503000204632, 37.657455000987291 ], [ -122.036670999558851, 37.657516000242154 ], [ -122.037250999819307, 37.657661000324339 ], [ -122.037693000199468, 37.657776001010447 ], [ -122.038105000175165, 37.657890000998862 ], [ -122.038348999801102, 37.657966000735506 ], [ -122.038562999788994, 37.657997000894149 ], [ -122.038867999862191, 37.6580120003863 ], [ -122.03907200043308, 37.658231000809401 ], [ -122.039981999515462, 37.658439001070313 ], [ -122.040608000147273, 37.658752000952603 ], [ -122.040974999921559, 37.659164000888332 ], [ -122.041660999519507, 37.659477000823514 ], [ -122.042500999478932, 37.659759000873017 ], [ -122.043034999550983, 37.659866001032555 ], [ -122.043629999751502, 37.660225000360356 ], [ -122.044286000340691, 37.660537000962535 ], [ -122.044911999717712, 37.660553000932431 ], [ -122.045400000393414, 37.660637000455225 ], [ -122.046085999872943, 37.661018001125363 ], [ -122.046665999837785, 37.661194000691324 ], [ -122.04702899969574, 37.661302000754958 ], [ -122.047948000495424, 37.661575000560234 ], [ -122.048740999393857, 37.661720000507245 ], [ -122.049900999579009, 37.661552000417387 ], [ -122.049993999528994, 37.661489000747657 ], [ -122.050725000372154, 37.660995000668592 ], [ -122.051307999679977, 37.660768000483664 ], [ -122.05162499964689, 37.66064400037645 ], [ -122.052372999996877, 37.660568000306817 ], [ -122.053150999772654, 37.661033001013529 ], [ -122.053221000340088, 37.661109000821007 ], [ -122.053516999716066, 37.661430000537024 ], [ -122.053974999401632, 37.661903000789692 ], [ -122.054524999544796, 37.662117000746015 ], [ -122.054981999654458, 37.66249100086052 ], [ -122.055161999911803, 37.662727000851859 ], [ -122.055271999901862, 37.66287200061138 ], [ -122.055698999557734, 37.663475000520798 ], [ -122.056279000089162, 37.66389400030652 ], [ -122.057057000248264, 37.664230000515289 ], [ -122.057515000426761, 37.664306000397524 ], [ -122.057872999929756, 37.664331000375732 ], [ -122.058949999941433, 37.664627001023767 ], [ -122.059773999665722, 37.664746000285483 ], [ -122.059832999487696, 37.664754001051847 ], [ -122.059957000146582, 37.664772000761452 ], [ -122.060521000022689, 37.664955000946776 ], [ -122.06087299974017, 37.665231000458043 ], [ -122.061086000354393, 37.665527000260496 ], [ -122.061205999978071, 37.665611000415048 ], [ -122.058872999781471, 37.666431000784442 ], [ -122.05817300031255, 37.667231000303026 ], [ -122.057843999712034, 37.667312000642099 ], [ -122.057113999415193, 37.667657000855193 ], [ -122.056734999450001, 37.667746000354782 ], [ -122.056373000319454, 37.667831000344194 ], [ -122.055425000300488, 37.668021000453471 ], [ -122.05537299968293, 37.668031000410544 ], [ -122.05497300012324, 37.668131000460903 ], [ -122.053272999758363, 37.668431000632694 ], [ -122.053122999888217, 37.668471000725212 ], [ -122.051772999539097, 37.668831001018802 ], [ -122.052273000339838, 37.669731000609033 ], [ -122.052472999729275, 37.67053100071589 ], [ -122.053173000420387, 37.670731000632145 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 826, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.08037400044573, 37.648832000985635 ], [ -122.081273999909683, 37.64873200087321 ], [ -122.082782999834023, 37.6484450004561 ], [ -122.082923999770571, 37.648418000946243 ], [ -122.083373999452107, 37.64833200070791 ], [ -122.083974000159444, 37.648232000844679 ], [ -122.084722000513679, 37.648102000522442 ], [ -122.085849999851618, 37.64790600108828 ], [ -122.086274000047794, 37.647832001071627 ], [ -122.087073999737186, 37.647732000342053 ], [ -122.088148999434694, 37.647567001118034 ], [ -122.088373999830921, 37.647532000748704 ], [ -122.088873999893281, 37.647432000686941 ], [ -122.0897739999062, 37.647332000433217 ], [ -122.091185999613472, 37.647018000956649 ], [ -122.092000000236126, 37.647083000832332 ], [ -122.092490999789007, 37.647106000608083 ], [ -122.091174000434464, 37.649532000244427 ], [ -122.09027399944452, 37.6514320009709 ], [ -122.0893740002589, 37.653032000632592 ], [ -122.08887400047972, 37.654032000570808 ], [ -122.088074000174856, 37.655932000494438 ], [ -122.08735999961506, 37.657027000905501 ], [ -122.086573999870041, 37.658231000962424 ], [ -122.08607399999643, 37.658031000347783 ], [ -122.085673999644982, 37.657731000608536 ], [ -122.083973999534066, 37.657232001021995 ], [ -122.082273999976977, 37.656032000563521 ], [ -122.081637000389293, 37.655304000313031 ], [ -122.08087399951593, 37.65443200076394 ], [ -122.080373999437924, 37.65383200024764 ], [ -122.079873999987782, 37.653132000478692 ], [ -122.079660000230234, 37.652875000595571 ], [ -122.079165999807969, 37.652283000320189 ], [ -122.07887400014306, 37.651932000470644 ], [ -122.078774000371922, 37.651732000399541 ], [ -122.077973999566879, 37.650832001022863 ], [ -122.076974000161911, 37.649432000372862 ], [ -122.079874000265079, 37.648932000928184 ], [ -122.08037400044573, 37.648832000985635 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 829, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.105474000276629, 37.666531001079655 ], [ -122.105453000501512, 37.666531000439214 ], [ -122.1054430000667, 37.666531000300488 ], [ -122.105423000320002, 37.666531000930355 ], [ -122.105393000149476, 37.666531000512627 ], [ -122.105301999578018, 37.666531000640504 ], [ -122.105292000277188, 37.666531000497592 ], [ -122.105230999876852, 37.666531001014135 ], [ -122.105173999666079, 37.666531000302243 ], [ -122.10515800035553, 37.666534001064505 ], [ -122.105124999445721, 37.666540000385687 ], [ -122.105110999761351, 37.666542000533511 ], [ -122.104986999530183, 37.666563000288697 ], [ -122.104967000036751, 37.666566000412899 ], [ -122.104918000436157, 37.66657400085856 ], [ -122.10478500015391, 37.666596001055559 ], [ -122.104744000424432, 37.666603000402269 ], [ -122.104663999425625, 37.666616000246464 ], [ -122.104591999425494, 37.666628000834642 ], [ -122.10457399999153, 37.66663100075376 ], [ -122.104512999516857, 37.66663100089788 ], [ -122.104492999757355, 37.666631000468435 ], [ -122.103922000191261, 37.666631000788854 ], [ -122.103273999469053, 37.666631000584552 ], [ -122.102274000020145, 37.66663100041545 ], [ -122.101774000316794, 37.666631000756084 ], [ -122.101173999951627, 37.666731000997366 ], [ -122.100174000438912, 37.666731001037832 ], [ -122.100026999604893, 37.666603000738981 ], [ -122.099774000138808, 37.666431000344296 ], [ -122.098674000350741, 37.665631000635045 ], [ -122.098573999984225, 37.665431000300018 ], [ -122.098379999526017, 37.66526000032551 ], [ -122.096740999996669, 37.66380900051324 ], [ -122.094393000032142, 37.661730000288557 ], [ -122.092512000178061, 37.660065000760959 ], [ -122.092473999681772, 37.660031001073818 ], [ -122.093298999479444, 37.659616000807027 ], [ -122.093918999922735, 37.659325001001825 ], [ -122.094026999565642, 37.659278000588053 ], [ -122.094085999389804, 37.659252001097897 ], [ -122.094332999970533, 37.659141000282652 ], [ -122.094574000468612, 37.659031001113718 ], [ -122.096873999803279, 37.658231001042068 ], [ -122.097973999453771, 37.657831000521412 ], [ -122.09907399989531, 37.657531000363598 ], [ -122.099586999896474, 37.657341000722994 ], [ -122.100686000299845, 37.656988000352449 ], [ -122.100971999491094, 37.656877000717799 ], [ -122.101385999922186, 37.656730000994315 ], [ -122.101622999575198, 37.657086000278298 ], [ -122.102948000096021, 37.659083000984943 ], [ -122.103560000071596, 37.660162000265423 ], [ -122.103973999820866, 37.660931000512406 ], [ -122.104373999445627, 37.661631001029782 ], [ -122.105273999825044, 37.66293100045489 ], [ -122.105573999457846, 37.663231000423593 ], [ -122.105757999877497, 37.663538000392521 ], [ -122.105874000296637, 37.663731001110072 ], [ -122.107074000176226, 37.66543100106275 ], [ -122.107474000365812, 37.666031000931333 ], [ -122.107578999878299, 37.666136000788121 ], [ -122.107773999588431, 37.666331000664265 ], [ -122.10754300050516, 37.666377000938411 ], [ -122.107274000087855, 37.666431000704151 ], [ -122.106473999752666, 37.666531000242294 ], [ -122.105773999768914, 37.666531001085318 ], [ -122.105736000384212, 37.666531000494054 ], [ -122.105474000276629, 37.666531001079655 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 830, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.101622999575198, 37.657086000278298 ], [ -122.101385999922186, 37.656730000994315 ], [ -122.102114000207521, 37.656459000929942 ], [ -122.103570999427333, 37.655871000707315 ], [ -122.105273999625823, 37.655132000887534 ], [ -122.107274000177469, 37.654332000714994 ], [ -122.107974000076879, 37.654032000265758 ], [ -122.108673999471549, 37.65383200104003 ], [ -122.109173999576839, 37.65373200072117 ], [ -122.110174999497801, 37.653332000268321 ], [ -122.111274999528149, 37.655032000592911 ], [ -122.11157499995474, 37.655632001008641 ], [ -122.111974999542952, 37.656332000916784 ], [ -122.113374999676779, 37.65853100091973 ], [ -122.114274999985312, 37.65993100049009 ], [ -122.114775000217506, 37.66073100061147 ], [ -122.115875000437327, 37.662431000309986 ], [ -122.116374999641209, 37.663131000776758 ], [ -122.117974999841906, 37.665531000443174 ], [ -122.118274999897139, 37.665831000738095 ], [ -122.116683999592865, 37.665862000426408 ], [ -122.113075000005679, 37.665931001063335 ], [ -122.112654000080781, 37.665986000728019 ], [ -122.112138000423954, 37.666053000417698 ], [ -122.110775000061068, 37.666231000296584 ], [ -122.109974999835387, 37.666231000372065 ], [ -122.109475000480444, 37.666331000753139 ], [ -122.108475000078485, 37.66643100071763 ], [ -122.108175000397026, 37.666356000294044 ], [ -122.108073999451861, 37.666331001126196 ], [ -122.107773999588431, 37.666331000664265 ], [ -122.107578999878299, 37.666136000788121 ], [ -122.107474000365812, 37.666031000931333 ], [ -122.107074000176226, 37.66543100106275 ], [ -122.105874000296637, 37.663731001110072 ], [ -122.105757999877497, 37.663538000392521 ], [ -122.105573999457846, 37.663231000423593 ], [ -122.105273999825044, 37.66293100045489 ], [ -122.104373999445627, 37.661631001029782 ], [ -122.103973999820866, 37.660931000512406 ], [ -122.103560000071596, 37.660162000265423 ], [ -122.102948000096021, 37.659083000984943 ], [ -122.101622999575198, 37.657086000278298 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 813, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.09807400049246, 37.633232000323105 ], [ -122.09877400017524, 37.634532000308496 ], [ -122.099289000282965, 37.635511000941094 ], [ -122.099874000272123, 37.636432000899191 ], [ -122.098485000075655, 37.637108000309766 ], [ -122.098274000213607, 37.637232000694418 ], [ -122.096874000067046, 37.639432000816278 ], [ -122.094904999984422, 37.642841000344283 ], [ -122.094124000477606, 37.644147000611675 ], [ -122.093785999839113, 37.64471800097801 ], [ -122.093707999671679, 37.644863000278022 ], [ -122.093546000096111, 37.644651000963535 ], [ -122.093156000400896, 37.644140000460553 ], [ -122.092249000159839, 37.642943000420033 ], [ -122.090991000026293, 37.64095100099135 ], [ -122.090581999791056, 37.640302000879565 ], [ -122.087812999934656, 37.636389000852745 ], [ -122.086074000420865, 37.633932000848702 ], [ -122.084773999660811, 37.632132000863798 ], [ -122.084424999886366, 37.631494000657547 ], [ -122.084898999397822, 37.631502000841834 ], [ -122.087674000267171, 37.631532000572172 ], [ -122.089673999460274, 37.631632000981917 ], [ -122.090173999816173, 37.631632000236884 ], [ -122.093773999884846, 37.631632000786169 ], [ -122.096674000471396, 37.630933000557079 ], [ -122.097073999906257, 37.631532000302869 ], [ -122.097152999617961, 37.631666000805566 ], [ -122.09807400049246, 37.633232000323105 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 810, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.152822999969857, 37.632189000761279 ], [ -122.153076000299791, 37.635732000529842 ], [ -122.153083999539248, 37.635804000462649 ], [ -122.153476000024213, 37.641832000347115 ], [ -122.153872999731774, 37.643554001116343 ], [ -122.154676000134089, 37.647032001105671 ], [ -122.157776000081995, 37.6562320006893 ], [ -122.156876000395982, 37.656432000807655 ], [ -122.157675999773176, 37.656832000494809 ], [ -122.157717999931108, 37.656924000476977 ], [ -122.161176000334947, 37.664531000600256 ], [ -122.151113999837222, 37.66446000041109 ], [ -122.146975999880851, 37.664431000276998 ], [ -122.144475999983641, 37.661531000934858 ], [ -122.141574999838895, 37.661331000504866 ], [ -122.14347599946889, 37.663331001017369 ], [ -122.141512000115455, 37.663191000486748 ], [ -122.140675000299822, 37.663131000395452 ], [ -122.139874999711466, 37.663031000612733 ], [ -122.139075000176604, 37.662931000827385 ], [ -122.13827500021479, 37.663031000265562 ], [ -122.137474999959181, 37.663031000509882 ], [ -122.136574999866824, 37.663031000608115 ], [ -122.134575000061915, 37.663131001014854 ], [ -122.134674999558413, 37.663931000411139 ], [ -122.134174999474297, 37.664731000472912 ], [ -122.130775000228127, 37.665131000406717 ], [ -122.129774999732305, 37.665131001014331 ], [ -122.128175000459194, 37.665131000402098 ], [ -122.127674999724746, 37.665131000652416 ], [ -122.12777499945652, 37.665531000962623 ], [ -122.12777500025723, 37.665731000875191 ], [ -122.128175000434211, 37.665731001059406 ], [ -122.128118000175178, 37.666586001117679 ], [ -122.12807500018161, 37.667231000933725 ], [ -122.123375000114748, 37.667331000679539 ], [ -122.123574999708637, 37.668031000897045 ], [ -122.122913000266948, 37.668259000899788 ], [ -122.121823000030631, 37.668633001072308 ], [ -122.120374999759107, 37.669131000341991 ], [ -122.120174999582062, 37.668731000825204 ], [ -122.119174999952804, 37.667231000894581 ], [ -122.119075000182207, 37.667031000582334 ], [ -122.118975000473498, 37.666731000307713 ], [ -122.118274999897139, 37.665831000738095 ], [ -122.117974999841906, 37.665531000443174 ], [ -122.116374999641209, 37.663131000776758 ], [ -122.115875000437327, 37.662431000309986 ], [ -122.114775000217506, 37.66073100061147 ], [ -122.114274999985312, 37.65993100049009 ], [ -122.113374999676779, 37.65853100091973 ], [ -122.111974999542952, 37.656332000916784 ], [ -122.11157499995474, 37.655632001008641 ], [ -122.111274999528149, 37.655032000592911 ], [ -122.110174999497801, 37.653332000268321 ], [ -122.112674999910638, 37.653232000604049 ], [ -122.113674999432419, 37.653232000871171 ], [ -122.11757500019354, 37.653132000948105 ], [ -122.118774999451929, 37.653232000233437 ], [ -122.120175000293003, 37.65323200099958 ], [ -122.120274999603964, 37.65063200078017 ], [ -122.120274999604376, 37.650332000319509 ], [ -122.120275000312589, 37.649932000588677 ], [ -122.120075000205574, 37.648732000300491 ], [ -122.12007500017188, 37.648502000509971 ], [ -122.120074999744233, 37.648312000242349 ], [ -122.120074999982847, 37.64793200059863 ], [ -122.120175000083478, 37.647632000503158 ], [ -122.120136999478333, 37.647518000632445 ], [ -122.120074999992397, 37.647332000303187 ], [ -122.120074999895223, 37.64673200084853 ], [ -122.119955999945589, 37.645836000799555 ], [ -122.119898000180157, 37.64540600036554 ], [ -122.11988199995929, 37.645283000821166 ], [ -122.119875000415661, 37.645232000745438 ], [ -122.11997499986991, 37.645032000908643 ], [ -122.119912999791765, 37.644845000864926 ], [ -122.119875000464489, 37.644732000436775 ], [ -122.119774999934947, 37.644132000904563 ], [ -122.119875000264187, 37.643432000699498 ], [ -122.11947500051609, 37.640332000916786 ], [ -122.117575000460988, 37.638732000385971 ], [ -122.11357499998438, 37.636132000579671 ], [ -122.112975000264441, 37.635732000621289 ], [ -122.112575000110112, 37.635332000590175 ], [ -122.111974999802541, 37.634832000601406 ], [ -122.111174000434843, 37.634332000359642 ], [ -122.110574000429921, 37.633432000803097 ], [ -122.110072999883073, 37.632796001118834 ], [ -122.109976000305195, 37.632614000752547 ], [ -122.109875000204596, 37.632425001126521 ], [ -122.102073999561483, 37.635632001021946 ], [ -122.101905999994528, 37.635662000668304 ], [ -122.099977000260324, 37.63639200031222 ], [ -122.099874000272123, 37.636432000899191 ], [ -122.099289000282965, 37.635511000941094 ], [ -122.09877400017524, 37.634532000308496 ], [ -122.09807400049246, 37.633232000323105 ], [ -122.097152999617961, 37.631666000805566 ], [ -122.097073999906257, 37.631532000302869 ], [ -122.096674000471396, 37.630933000557079 ], [ -122.095674000417446, 37.629233000973443 ], [ -122.094173999591447, 37.627233000757606 ], [ -122.092673999540011, 37.624433000681414 ], [ -122.092274000406135, 37.624033000454396 ], [ -122.090673999795939, 37.621333001116618 ], [ -122.090474000318466, 37.620833000506593 ], [ -122.090073999819708, 37.620333000406482 ], [ -122.089658000249571, 37.619577000932836 ], [ -122.089506000227715, 37.619291000474256 ], [ -122.089309999890389, 37.618931000815017 ], [ -122.089138000266828, 37.61861700105171 ], [ -122.089010999782886, 37.618385000769088 ], [ -122.088960000295302, 37.618291000503369 ], [ -122.088873999796661, 37.618133000371188 ], [ -122.088374000247725, 37.617333000422335 ], [ -122.088174000294543, 37.616833001125094 ], [ -122.086974000010926, 37.61493300064582 ], [ -122.085374000320641, 37.612433000611439 ], [ -122.08467400043294, 37.611333000916346 ], [ -122.083673999949326, 37.609833000831976 ], [ -122.085573999710462, 37.608933000261004 ], [ -122.087073999736518, 37.607833000307807 ], [ -122.087373999731469, 37.607633000446164 ], [ -122.088073999757782, 37.607133000832938 ], [ -122.091474000369161, 37.600934000315107 ], [ -122.091457999982012, 37.600529000581083 ], [ -122.091374000171697, 37.598334000235774 ], [ -122.091373999495332, 37.59453400049015 ], [ -122.091506999743331, 37.594382000462012 ], [ -122.092074000094044, 37.593734000524314 ], [ -122.091873999822567, 37.59303400033204 ], [ -122.091829999996364, 37.59272600049421 ], [ -122.091773999780145, 37.592334000489672 ], [ -122.091874000014755, 37.59183400104834 ], [ -122.090673999954078, 37.5918340010547 ], [ -122.090774000229118, 37.590234000352588 ], [ -122.090973999781355, 37.58513400058316 ], [ -122.09147399955657, 37.584934000505704 ], [ -122.096374000390369, 37.58283400054885 ], [ -122.096073999879678, 37.579734001006514 ], [ -122.088574000471837, 37.578934000728289 ], [ -122.088173999875167, 37.578835000536159 ], [ -122.087973999722976, 37.574635000676381 ], [ -122.082696000279924, 37.575902001006114 ], [ -122.082419999645396, 37.575322000956334 ], [ -122.087791999450843, 37.573857000378439 ], [ -122.085185000425852, 37.568725000777093 ], [ -122.085367000119092, 37.568762000819866 ], [ -122.085974000107143, 37.567035000681777 ], [ -122.089174000282512, 37.564735000555096 ], [ -122.089674000323313, 37.56723500056048 ], [ -122.091573999430452, 37.567335000653813 ], [ -122.093774000023586, 37.566335000860342 ], [ -122.093573999745573, 37.564435000311327 ], [ -122.090973999867145, 37.563135000893901 ], [ -122.091173999753266, 37.562835000677268 ], [ -122.091573999599845, 37.561935000313632 ], [ -122.093274000327966, 37.561535000727559 ], [ -122.094773999409568, 37.563635000462682 ], [ -122.094974000327454, 37.56393500045786 ], [ -122.096473999843937, 37.564735000659326 ], [ -122.098273999913957, 37.564735001017652 ], [ -122.099373999982888, 37.562635000661167 ], [ -122.101974000104278, 37.564335001025484 ], [ -122.103074000450292, 37.563335000756972 ], [ -122.107873999459443, 37.561235000514664 ], [ -122.108573999636619, 37.568635000435997 ], [ -122.114474000392676, 37.570435000240494 ], [ -122.124574999976886, 37.57033500050855 ], [ -122.129575000507529, 37.564235000523183 ], [ -122.131174999552456, 37.562135000805355 ], [ -122.132086999778707, 37.56226000056995 ], [ -122.132362000420329, 37.562229000833867 ], [ -122.13275800050701, 37.562206000878014 ], [ -122.133170000285489, 37.562260000554552 ], [ -122.133398999399247, 37.562328000754405 ], [ -122.133613000388209, 37.562473001062365 ], [ -122.133888000353693, 37.56267200106047 ], [ -122.134070999824615, 37.562870000256723 ], [ -122.134131999593137, 37.563099000709997 ], [ -122.134025000290094, 37.563206000566474 ], [ -122.13390299948243, 37.563343001007247 ], [ -122.133948999870697, 37.563465000936475 ], [ -122.134039999480251, 37.563564000902751 ], [ -122.134330000248752, 37.563732000481806 ], [ -122.134451999889549, 37.563869000390937 ], [ -122.134649999749811, 37.564136000924776 ], [ -122.134787999548777, 37.564586001014362 ], [ -122.134910000171885, 37.564892000748287 ], [ -122.135032000469053, 37.565128000345624 ], [ -122.135199999626565, 37.565647001096295 ], [ -122.135398000022647, 37.566082001034438 ], [ -122.135611999610134, 37.566524000325082 ], [ -122.135719000490596, 37.5670280007269 ], [ -122.135795000334312, 37.567577000978382 ], [ -122.135916999766565, 37.568134000951346 ], [ -122.13606999979568, 37.568394000667922 ], [ -122.13628299974097, 37.568775001040045 ], [ -122.136480999562522, 37.569042001088206 ], [ -122.136740999949538, 37.569340000268966 ], [ -122.136878000353406, 37.569950000650437 ], [ -122.137016000200418, 37.570293001008579 ], [ -122.137214000213419, 37.570446000552465 ], [ -122.137640999485384, 37.570675001003941 ], [ -122.137900999526735, 37.570919000757527 ], [ -122.138220999910715, 37.571339000710147 ], [ -122.138495999776794, 37.571407000614691 ], [ -122.138709000219151, 37.571552000569056 ], [ -122.138968999503632, 37.571918000996831 ], [ -122.13921300027252, 37.572315000772612 ], [ -122.139304000163534, 37.572544000751975 ], [ -122.139303999770263, 37.572956001031471 ], [ -122.139288999746142, 37.573292000904871 ], [ -122.139396000150057, 37.573772000594104 ], [ -122.139640000273843, 37.574230000448203 ], [ -122.139776999827475, 37.574435000288318 ], [ -122.139868999737089, 37.574916000603508 ], [ -122.139975999493828, 37.57510600070507 ], [ -122.140356999935676, 37.575457000764771 ], [ -122.14044900000367, 37.575793001103634 ], [ -122.140540000142451, 37.576060000963125 ], [ -122.140769000451002, 37.576319001065485 ], [ -122.141013000229663, 37.576533001073713 ], [ -122.141211999611272, 37.576793000586122 ], [ -122.141241999742562, 37.577021000830285 ], [ -122.141318999939529, 37.57726600042465 ], [ -122.141455999434086, 37.577693000908262 ], [ -122.141624000179689, 37.577975000992957 ], [ -122.141821999861108, 37.578227000996108 ], [ -122.141836999804326, 37.578494000633775 ], [ -122.141958999857835, 37.578868000568235 ], [ -122.142081000141033, 37.57909700095567 ], [ -122.142279999919722, 37.579448000332135 ], [ -122.142799000214097, 37.580340000744961 ], [ -122.143119000271824, 37.58081300052384 ], [ -122.143469999643898, 37.581141000569211 ], [ -122.14375999979201, 37.581530000631474 ], [ -122.143851000357131, 37.581805000674116 ], [ -122.143874999660156, 37.58203400032167 ], [ -122.144004000497659, 37.581958000348926 ], [ -122.144218000404152, 37.581919000439157 ], [ -122.144491999658527, 37.581897000535122 ], [ -122.144888999805971, 37.581935000245259 ], [ -122.145332000302531, 37.582110001002967 ], [ -122.145758999423563, 37.582423001121967 ], [ -122.145895999718022, 37.582629000529302 ], [ -122.146003000174915, 37.582927000305531 ], [ -122.146018000307365, 37.583316000344219 ], [ -122.146094999640795, 37.583514000528375 ], [ -122.146323000263166, 37.583995000320897 ], [ -122.146338999640705, 37.584231000765818 ], [ -122.146322999868403, 37.584780001026239 ], [ -122.146339000246698, 37.585139000243458 ], [ -122.146415000358601, 37.585635000735479 ], [ -122.146551999400543, 37.586184000442827 ], [ -122.146658999854509, 37.586489000999777 ], [ -122.146659000112194, 37.586787000627332 ], [ -122.146598000326222, 37.58730600094237 ], [ -122.146582999900829, 37.58768700076282 ], [ -122.146673999617661, 37.587939001063191 ], [ -122.146856999898958, 37.588237000389832 ], [ -122.146995000508397, 37.58850400024388 ], [ -122.147071000420652, 37.588969000725861 ], [ -122.14720800034209, 37.589213001121493 ], [ -122.147374999727958, 37.589334000334183 ], [ -122.147574999669359, 37.589961000269646 ], [ -122.147544000243286, 37.590464000812112 ], [ -122.147804000250886, 37.590937000242917 ], [ -122.147675000045083, 37.591434000499319 ], [ -122.147074999944067, 37.592634000861352 ], [ -122.14522499961555, 37.601923000447947 ], [ -122.145174999594616, 37.602133000371964 ], [ -122.145636999739253, 37.602739000781192 ], [ -122.145773999559268, 37.603105000338523 ], [ -122.14566700023839, 37.603517001091731 ], [ -122.145544999396051, 37.603906000345546 ], [ -122.145667000466062, 37.604112000838036 ], [ -122.146003000462997, 37.604196000906725 ], [ -122.146139999487872, 37.604379000373385 ], [ -122.146216999771042, 37.604517000509126 ], [ -122.146613000042848, 37.604677000900267 ], [ -122.146934000496287, 37.605097001105626 ], [ -122.146933999595888, 37.605478001005004 ], [ -122.146796000267258, 37.605798000248441 ], [ -122.146826999745798, 37.605913000860006 ], [ -122.146994999631445, 37.605982000356079 ], [ -122.147193000205135, 37.606172000238459 ], [ -122.147163000456658, 37.606363000366386 ], [ -122.146934000194904, 37.606447000767837 ], [ -122.146689999755651, 37.606516000572093 ], [ -122.146583000218399, 37.606729000278399 ], [ -122.146719999602752, 37.606935000829772 ], [ -122.14704100038324, 37.607050000536148 ], [ -122.147177999784049, 37.607149000714543 ], [ -122.147268999976035, 37.607416000617292 ], [ -122.14730000046039, 37.607561000771938 ], [ -122.147208000115526, 37.607698000652256 ], [ -122.147040999595902, 37.607858000970865 ], [ -122.146872999841321, 37.60815600100409 ], [ -122.146919000473687, 37.608469000265508 ], [ -122.147086000368347, 37.608660001069325 ], [ -122.147376000292169, 37.609346000866516 ], [ -122.147712000307791, 37.60976600077047 ], [ -122.148016999872326, 37.610895000765765 ], [ -122.1479709999752, 37.611871000764623 ], [ -122.147788000120627, 37.612406000312816 ], [ -122.148062999628237, 37.613008000863921 ], [ -122.148139000333686, 37.613306000780668 ], [ -122.148124000395015, 37.613565000509723 ], [ -122.148642999942865, 37.614420000307881 ], [ -122.14890199940622, 37.615114000392467 ], [ -122.149038999876794, 37.615404000521522 ], [ -122.149481999766294, 37.61601400047779 ], [ -122.149771999490142, 37.61637300092179 ], [ -122.149985999762023, 37.61680800077874 ], [ -122.15010799970085, 37.617510000858658 ], [ -122.150084000343284, 37.617970000319097 ], [ -122.151030000398848, 37.617672000997267 ], [ -122.151151999720625, 37.617705000959113 ], [ -122.1511230001922, 37.617797000403506 ], [ -122.151134999452054, 37.617833000849636 ], [ -122.150990000271008, 37.617940001048801 ], [ -122.150717000076995, 37.618013000383868 ], [ -122.150267999439407, 37.618188000866489 ], [ -122.150093000143144, 37.618215000588663 ], [ -122.150109999430896, 37.618293000946927 ], [ -122.151549000471746, 37.624931000263736 ], [ -122.152676000509402, 37.630132000671267 ], [ -122.152822999969857, 37.632189000761279 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 814, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.087812999934656, 37.636389000852745 ], [ -122.090581999791056, 37.640302000879565 ], [ -122.090991000026293, 37.64095100099135 ], [ -122.092249000159839, 37.642943000420033 ], [ -122.093156000400896, 37.644140000460553 ], [ -122.093546000096111, 37.644651000963535 ], [ -122.093707999671679, 37.644863000278022 ], [ -122.093591999526723, 37.645062000995701 ], [ -122.093263000052858, 37.645674000332185 ], [ -122.09279099991268, 37.646529000416379 ], [ -122.092663000243519, 37.646775000674594 ], [ -122.092490999789007, 37.647106000608083 ], [ -122.092000000236126, 37.647083000832332 ], [ -122.091185999613472, 37.647018000956649 ], [ -122.0897739999062, 37.647332000433217 ], [ -122.088873999893281, 37.647432000686941 ], [ -122.088373999830921, 37.647532000748704 ], [ -122.088148999434694, 37.647567001118034 ], [ -122.087073999737186, 37.647732000342053 ], [ -122.086274000047794, 37.647832001071627 ], [ -122.085849999851618, 37.64790600108828 ], [ -122.084722000513679, 37.648102000522442 ], [ -122.083974000159444, 37.648232000844679 ], [ -122.083373999452107, 37.64833200070791 ], [ -122.083374000429828, 37.647632000260863 ], [ -122.083273999944495, 37.646832000521236 ], [ -122.083374000169513, 37.644532000360122 ], [ -122.083374000495937, 37.641532000719046 ], [ -122.083373999854658, 37.641063000322916 ], [ -122.083374000008774, 37.639632000500612 ], [ -122.083474000466438, 37.638932000849202 ], [ -122.08337399951121, 37.63833200029007 ], [ -122.083373999653773, 37.637632000479968 ], [ -122.083373999660111, 37.63693200058767 ], [ -122.084373999571795, 37.636932000289306 ], [ -122.086881999435036, 37.636817001085099 ], [ -122.087165999430937, 37.636623000336932 ], [ -122.087812999934656, 37.636389000852745 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 817, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.075773999963275, 37.636132000470774 ], [ -122.076773999963208, 37.637632000744361 ], [ -122.078073999996747, 37.640832000605243 ], [ -122.077804999891541, 37.640832000860598 ], [ -122.077169999632545, 37.640832000591111 ], [ -122.077074000392244, 37.640832000388293 ], [ -122.076515999947645, 37.640850000660365 ], [ -122.073972999523278, 37.640932000594738 ], [ -122.072673000360822, 37.641932000444186 ], [ -122.072172999476791, 37.642232000391999 ], [ -122.071672999997617, 37.641932000314803 ], [ -122.066339000423213, 37.63728000106348 ], [ -122.066107000287033, 37.637078000737198 ], [ -122.063072999655489, 37.634432000231122 ], [ -122.063573000461332, 37.634232000553915 ], [ -122.064273000036636, 37.634032000665151 ], [ -122.065172999433827, 37.633532000485324 ], [ -122.066273000269618, 37.633032000888612 ], [ -122.067272999631655, 37.632632000798495 ], [ -122.068072999557955, 37.632232000624896 ], [ -122.068972999473758, 37.631832000891528 ], [ -122.069272999744015, 37.631732000975887 ], [ -122.069573000356613, 37.631632000293898 ], [ -122.070172999762718, 37.631533000788515 ], [ -122.07067299987871, 37.631533000683156 ], [ -122.07117300033363, 37.631433001043604 ], [ -122.071667000126624, 37.631433000856958 ], [ -122.071873000065381, 37.63143300102923 ], [ -122.072478000251223, 37.631383000324099 ], [ -122.073072999409902, 37.631333000858326 ], [ -122.074272999919913, 37.632832000979 ], [ -122.074472999777143, 37.633232000503334 ], [ -122.075773999963275, 37.636132000470774 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 819, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.065572999752845, 37.645232000716888 ], [ -122.069872999724481, 37.650532000877199 ], [ -122.069473000247342, 37.65063200054739 ], [ -122.068073000234747, 37.651032000240392 ], [ -122.066873000278079, 37.651232000394479 ], [ -122.06517299955641, 37.649032000899368 ], [ -122.063072999555928, 37.646332000927032 ], [ -122.061779999868946, 37.644594001063545 ], [ -122.060172999505014, 37.642432000748393 ], [ -122.05967300016205, 37.641932000812417 ], [ -122.058072999625338, 37.642532000785387 ], [ -122.057273000497432, 37.642832001128333 ], [ -122.055972999475202, 37.642732001075203 ], [ -122.055273000199662, 37.642932000420117 ], [ -122.055073000483773, 37.642532000946737 ], [ -122.054673000345304, 37.642032000418013 ], [ -122.054473000500764, 37.641632000798936 ], [ -122.055072999537856, 37.641332000269237 ], [ -122.054472999819879, 37.640432000899537 ], [ -122.055228000479758, 37.639919000309106 ], [ -122.056973000045147, 37.638732001007462 ], [ -122.05587300005395, 37.637632000820659 ], [ -122.054472999459421, 37.636432001033086 ], [ -122.055035999689025, 37.636330000931252 ], [ -122.055573000357967, 37.636232000940446 ], [ -122.056572999463427, 37.636032000274881 ], [ -122.057272999484951, 37.635932000675126 ], [ -122.058013999524192, 37.635767000607878 ], [ -122.058173000193293, 37.635732000255366 ], [ -122.058373000435651, 37.635732000508746 ], [ -122.065572999752845, 37.645232000716888 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 804, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.026571999658998, 37.622933000954596 ], [ -122.023072000466627, 37.619533000639905 ], [ -122.018072000025981, 37.614833000408204 ], [ -122.016872000483303, 37.611233000522716 ], [ -122.016671999928718, 37.610633000258296 ], [ -122.016571999680465, 37.610333000434522 ], [ -122.016331000507677, 37.610155000819233 ], [ -122.016208999718657, 37.609857000263055 ], [ -122.016071999690581, 37.609433000365897 ], [ -122.017872000115162, 37.608234000390702 ], [ -122.018271999388546, 37.607334001035014 ], [ -122.019972000189568, 37.605634001039022 ], [ -122.020971999884679, 37.606534001103491 ], [ -122.021471999888846, 37.606934001037366 ], [ -122.022396999692461, 37.607696001067524 ], [ -122.023172000295304, 37.608333000637565 ], [ -122.023572000268359, 37.608733000272466 ], [ -122.023872000199063, 37.609033000458915 ], [ -122.025072000044545, 37.610233000776773 ], [ -122.02647200029746, 37.611233000246273 ], [ -122.02667200036575, 37.611433000947969 ], [ -122.027471999980662, 37.612233000353704 ], [ -122.028471999744369, 37.613033000772575 ], [ -122.028871999646555, 37.613433000458045 ], [ -122.02987200007297, 37.614333000848397 ], [ -122.030473999601625, 37.614857000304276 ], [ -122.030955999896605, 37.615276000316562 ], [ -122.034471999961184, 37.618333000827825 ], [ -122.034617999956495, 37.618461000632131 ], [ -122.035517999431875, 37.61924900095552 ], [ -122.036871999709518, 37.620433000522802 ], [ -122.038572000446337, 37.622033000725786 ], [ -122.039372999797649, 37.622833000539799 ], [ -122.041772999607531, 37.625233000624561 ], [ -122.044872999415034, 37.62803300090529 ], [ -122.042773000488495, 37.628033000429838 ], [ -122.039973000238732, 37.629133000434379 ], [ -122.039673000202228, 37.629233000522461 ], [ -122.039272999937523, 37.629133000524227 ], [ -122.038571999399807, 37.628833000261729 ], [ -122.037572000439539, 37.629033000237982 ], [ -122.037172000224174, 37.629033000255092 ], [ -122.034075000097303, 37.628353000836157 ], [ -122.033072000399457, 37.628133000548637 ], [ -122.032471999637821, 37.62833300087236 ], [ -122.03197199972638, 37.628333000498287 ], [ -122.031268000236622, 37.628421000310681 ], [ -122.030371999965354, 37.628533001018475 ], [ -122.027971999678044, 37.627733000469981 ], [ -122.02887199942316, 37.625233000416536 ], [ -122.02683800004985, 37.623199000919776 ], [ -122.026772000074246, 37.623133000382339 ], [ -122.026695000051021, 37.623056000459201 ], [ -122.026635000389675, 37.622996000721272 ], [ -122.026571999658998, 37.622933000954596 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 807, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.072073000184034, 37.622833000462926 ], [ -122.072073000194848, 37.62253300054401 ], [ -122.07217299945458, 37.622333000436555 ], [ -122.07227299986603, 37.621933000573918 ], [ -122.072373000295514, 37.621533000594326 ], [ -122.072572999960244, 37.621033000293806 ], [ -122.072720000430749, 37.620408000240367 ], [ -122.07297300015523, 37.619333000713929 ], [ -122.073373000496517, 37.61823300046936 ], [ -122.073573000254726, 37.617533000986349 ], [ -122.073812999792992, 37.61662700053499 ], [ -122.074272999524354, 37.617333000589177 ], [ -122.074797999479799, 37.61815800031799 ], [ -122.074920000181805, 37.618343000663849 ], [ -122.076873999709164, 37.620833000260461 ], [ -122.07730300038196, 37.621438000953646 ], [ -122.077672999757084, 37.621959001114824 ], [ -122.078056999971722, 37.622500000682834 ], [ -122.078347000202427, 37.622909000430049 ], [ -122.078715999651465, 37.623429000715106 ], [ -122.079074000034495, 37.623933000312988 ], [ -122.079674000349598, 37.62473300108109 ], [ -122.082074000067166, 37.628433000666092 ], [ -122.082973999752468, 37.629533000617108 ], [ -122.084173999909353, 37.631133000294589 ], [ -122.084424999886366, 37.631494000657547 ], [ -122.083902000334945, 37.631518000617532 ], [ -122.081174000219988, 37.631532001081212 ], [ -122.079473999857527, 37.631432000288456 ], [ -122.077473999807339, 37.631432000241162 ], [ -122.075774000399576, 37.631333000706711 ], [ -122.075173000093272, 37.631433000640676 ], [ -122.074373000045853, 37.631433000936894 ], [ -122.073072999409902, 37.631333000858326 ], [ -122.072877999617162, 37.631014000733579 ], [ -122.071973000219003, 37.629533000792968 ], [ -122.071939999728841, 37.628947000858517 ], [ -122.071772999398576, 37.62603300092232 ], [ -122.071672999646722, 37.625133000805803 ], [ -122.071972999878909, 37.624433000425164 ], [ -122.072072999876312, 37.624033000888865 ], [ -122.072073000184034, 37.622833000462926 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 806, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.064273000036636, 37.634032000665151 ], [ -122.063573000461332, 37.634232000553915 ], [ -122.063072999655489, 37.634432000231122 ], [ -122.061572999608259, 37.635132000849069 ], [ -122.061273000241727, 37.635332000815012 ], [ -122.06047299995474, 37.635432000319291 ], [ -122.059972999426193, 37.635532000276108 ], [ -122.05925899982752, 37.635621001111005 ], [ -122.058841000133285, 37.635673000738613 ], [ -122.058373000435651, 37.635732000508746 ], [ -122.05607300044997, 37.632832000257807 ], [ -122.054772999828074, 37.630933000948133 ], [ -122.054372999746661, 37.630533000615046 ], [ -122.052073000442221, 37.627733000979404 ], [ -122.051072999491069, 37.626233000467188 ], [ -122.049473000316368, 37.624233000629566 ], [ -122.048673000358704, 37.621333000817671 ], [ -122.048373000279852, 37.621033000377111 ], [ -122.042756000504667, 37.615997000916103 ], [ -122.041199999860822, 37.614602000422444 ], [ -122.039672999854375, 37.613233000302152 ], [ -122.039473000468959, 37.613133000942767 ], [ -122.03457199998725, 37.608833000378397 ], [ -122.034055999689087, 37.608376001065771 ], [ -122.033342999686866, 37.607745000895129 ], [ -122.032849000437679, 37.607308000999588 ], [ -122.032339000466962, 37.60685600060323 ], [ -122.031396999558382, 37.606021001061443 ], [ -122.03102499953151, 37.605679000428808 ], [ -122.031275000158644, 37.605690000336651 ], [ -122.032545000285751, 37.605708000872546 ], [ -122.033979999928661, 37.605726001006758 ], [ -122.034971999880852, 37.605734000297637 ], [ -122.039473000365575, 37.609733000739965 ], [ -122.041573000092271, 37.611633000472288 ], [ -122.042773000152906, 37.611633000478399 ], [ -122.043272999957821, 37.605834001105642 ], [ -122.044872999492, 37.605834001082563 ], [ -122.045972999928594, 37.605834000428068 ], [ -122.046473000351838, 37.605834001002663 ], [ -122.049373000275892, 37.605834000742902 ], [ -122.049872999704817, 37.605834000419655 ], [ -122.051272999554044, 37.605834000330532 ], [ -122.054273000205384, 37.605834000343698 ], [ -122.058672999867397, 37.605834001103297 ], [ -122.058882999475031, 37.605152001120871 ], [ -122.059073000044037, 37.604534000724421 ], [ -122.059107000498756, 37.604415001130214 ], [ -122.059273000199141, 37.603834000999875 ], [ -122.063472999768081, 37.604634001017331 ], [ -122.065073000170685, 37.604834001047536 ], [ -122.065472999584472, 37.604834000334797 ], [ -122.066173000510872, 37.604934000871069 ], [ -122.068673000343153, 37.605434000463035 ], [ -122.067733999998538, 37.608310001079246 ], [ -122.067072999702063, 37.610733000281755 ], [ -122.066472999723132, 37.612833000258526 ], [ -122.066472999985152, 37.613033001048315 ], [ -122.068373000190576, 37.613033000255086 ], [ -122.070972999990687, 37.613033000288397 ], [ -122.071472999699665, 37.613033000621989 ], [ -122.073812999792992, 37.61662700053499 ], [ -122.073573000254726, 37.617533000986349 ], [ -122.073373000496517, 37.61823300046936 ], [ -122.07297300015523, 37.619333000713929 ], [ -122.072720000430749, 37.620408000240367 ], [ -122.072572999960244, 37.621033000293806 ], [ -122.072373000295514, 37.621533000594326 ], [ -122.07227299986603, 37.621933000573918 ], [ -122.07217299945458, 37.622333000436555 ], [ -122.072073000194848, 37.62253300054401 ], [ -122.072073000184034, 37.622833000462926 ], [ -122.072072999876312, 37.624033000888865 ], [ -122.071972999878909, 37.624433000425164 ], [ -122.071672999646722, 37.625133000805803 ], [ -122.071772999398576, 37.62603300092232 ], [ -122.071939999728841, 37.628947000858517 ], [ -122.071973000219003, 37.629533000792968 ], [ -122.072877999617162, 37.631014000733579 ], [ -122.073072999409902, 37.631333000858326 ], [ -122.072478000251223, 37.631383000324099 ], [ -122.071873000065381, 37.63143300102923 ], [ -122.071667000126624, 37.631433000856958 ], [ -122.07117300033363, 37.631433001043604 ], [ -122.07067299987871, 37.631533000683156 ], [ -122.070172999762718, 37.631533000788515 ], [ -122.069573000356613, 37.631632000293898 ], [ -122.069272999744015, 37.631732000975887 ], [ -122.068972999473758, 37.631832000891528 ], [ -122.068072999557955, 37.632232000624896 ], [ -122.067272999631655, 37.632632000798495 ], [ -122.066273000269618, 37.633032000888612 ], [ -122.065172999433827, 37.633532000485324 ], [ -122.064273000036636, 37.634032000665151 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 809, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.089010999782886, 37.618385000769088 ], [ -122.089138000266828, 37.61861700105171 ], [ -122.089309999890389, 37.618931000815017 ], [ -122.089506000227715, 37.619291000474256 ], [ -122.089658000249571, 37.619577000932836 ], [ -122.090073999819708, 37.620333000406482 ], [ -122.090474000318466, 37.620833000506593 ], [ -122.090673999795939, 37.621333001116618 ], [ -122.092274000406135, 37.624033000454396 ], [ -122.092673999540011, 37.624433000681414 ], [ -122.091973999798086, 37.624633000879577 ], [ -122.091173999849985, 37.624933000372856 ], [ -122.090474000158679, 37.62523300098497 ], [ -122.088974000370854, 37.625733000410904 ], [ -122.088573999736909, 37.625133000599796 ], [ -122.087973999934988, 37.624433000825356 ], [ -122.087073999566655, 37.624733000691904 ], [ -122.086274000408395, 37.624733000977159 ], [ -122.085373999863947, 37.624733000321832 ], [ -122.084174000436093, 37.624633000466368 ], [ -122.083374000247773, 37.624633000910684 ], [ -122.082273999664864, 37.624733000297411 ], [ -122.081374000499252, 37.624733000680045 ], [ -122.080573999400798, 37.624733001049648 ], [ -122.080073999840394, 37.624633000714603 ], [ -122.079674000349598, 37.62473300108109 ], [ -122.079074000034495, 37.623933000312988 ], [ -122.078715999651465, 37.623429000715106 ], [ -122.078347000202427, 37.622909000430049 ], [ -122.078056999971722, 37.622500000682834 ], [ -122.077672999757084, 37.621959001114824 ], [ -122.07730300038196, 37.621438000953646 ], [ -122.076873999709164, 37.620833000260461 ], [ -122.074920000181805, 37.618343000663849 ], [ -122.074797999479799, 37.61815800031799 ], [ -122.074272999524354, 37.617333000589177 ], [ -122.073812999792992, 37.61662700053499 ], [ -122.071472999699665, 37.613033000621989 ], [ -122.072131000283221, 37.613063000633403 ], [ -122.077973999929284, 37.613333000743289 ], [ -122.082573999770531, 37.610233000702991 ], [ -122.083673999949326, 37.609833000831976 ], [ -122.08467400043294, 37.611333000916346 ], [ -122.085374000320641, 37.612433000611439 ], [ -122.086974000010926, 37.61493300064582 ], [ -122.088174000294543, 37.616833001125094 ], [ -122.088374000247725, 37.617333000422335 ], [ -122.088873999796661, 37.618133000371188 ], [ -122.088960000295302, 37.618291000503369 ], [ -122.089010999782886, 37.618385000769088 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 803, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.968169999787094, 37.596334000898359 ], [ -121.981671000263745, 37.604234000727637 ], [ -121.983670999420056, 37.602834000648798 ], [ -121.987871000402706, 37.599734000379215 ], [ -121.988670999876547, 37.599134000592336 ], [ -121.992970999740095, 37.595934000603648 ], [ -121.99337100028535, 37.595634000365862 ], [ -121.998472000228901, 37.591934000928106 ], [ -122.001671999526678, 37.589534001019686 ], [ -122.002145000513423, 37.589952000567024 ], [ -122.002941000096428, 37.590654000630643 ], [ -122.003371999945259, 37.591034000508522 ], [ -122.004371999898325, 37.591934000542132 ], [ -122.004571999809912, 37.592134000847551 ], [ -122.004771999401399, 37.592234000543705 ], [ -122.006272000224641, 37.593434000442514 ], [ -122.006367000014947, 37.593518000910628 ], [ -122.009572000452252, 37.596334000916976 ], [ -122.011971999518238, 37.598534000410794 ], [ -122.01423900051185, 37.600588000424985 ], [ -122.016272000187101, 37.602334000468048 ], [ -122.01657199987153, 37.602634000288461 ], [ -122.017672000062106, 37.603434000674618 ], [ -122.018672000015272, 37.604434000581307 ], [ -122.01967199991374, 37.605334000846653 ], [ -122.019972000189568, 37.605634001039022 ], [ -122.018271999388546, 37.607334001035014 ], [ -122.017872000115162, 37.608234000390702 ], [ -122.016071999690581, 37.609433000365897 ], [ -122.016208999718657, 37.609857000263055 ], [ -122.016331000507677, 37.610155000819233 ], [ -122.016571999680465, 37.610333000434522 ], [ -122.016671999928718, 37.610633000258296 ], [ -122.016872000483303, 37.611233000522716 ], [ -122.018072000025981, 37.614833000408204 ], [ -122.023072000466627, 37.619533000639905 ], [ -122.026571999658998, 37.622933000954596 ], [ -122.026635000389675, 37.622996000721272 ], [ -122.026695000051021, 37.623056000459201 ], [ -122.026772000074246, 37.623133000382339 ], [ -122.02683800004985, 37.623199000919776 ], [ -122.02887199942316, 37.625233000416536 ], [ -122.027971999678044, 37.627733000469981 ], [ -122.030371999965354, 37.628533001018475 ], [ -122.028872000442647, 37.628333000445124 ], [ -122.023872000239237, 37.627533000658858 ], [ -122.022072000432885, 37.62983300060089 ], [ -122.021553999900817, 37.630492000969326 ], [ -122.02097199962968, 37.63123300107884 ], [ -122.016872000451883, 37.632333000282017 ], [ -122.01657200007422, 37.632433000795388 ], [ -122.015876999410636, 37.632019001110933 ], [ -122.014631999735371, 37.631277000624074 ], [ -122.012899999934973, 37.630244000526815 ], [ -122.006671000033677, 37.62653000055856 ], [ -122.006172000048977, 37.626233000671149 ], [ -122.005443999749389, 37.626324000638057 ], [ -122.001370999765498, 37.626833000480325 ], [ -121.999470999755417, 37.629833000531676 ], [ -121.991870999440792, 37.630433001102105 ], [ -121.990471000482827, 37.633432001007485 ], [ -121.989371000038886, 37.633632000746871 ], [ -121.987271000468624, 37.633532000463312 ], [ -121.984671000337158, 37.633932000410638 ], [ -121.9811710000114, 37.635832000540105 ], [ -121.978470999604951, 37.639332000930899 ], [ -121.969469999731274, 37.642832000778959 ], [ -121.966969999483553, 37.642932000428274 ], [ -121.959470000475164, 37.636132000999332 ], [ -121.95496999979693, 37.635732001017239 ], [ -121.954670000486388, 37.635332000908242 ], [ -121.951169999731803, 37.631732000516877 ], [ -121.949070000261088, 37.630332000931467 ], [ -121.947927000426802, 37.629497000931899 ], [ -121.946470000076133, 37.628432000928854 ], [ -121.945470000198213, 37.627732000944057 ], [ -121.944670000075106, 37.62623200060731 ], [ -121.944270000358372, 37.62553200111455 ], [ -121.9438700000767, 37.624832001127359 ], [ -121.943669999932609, 37.624532000234929 ], [ -121.943669999572876, 37.624232000686888 ], [ -121.943769999439994, 37.620833000696813 ], [ -121.943669999950615, 37.618033000332915 ], [ -121.945270000511911, 37.616633000549228 ], [ -121.944169999413987, 37.614533000472207 ], [ -121.941269999916983, 37.613533000829861 ], [ -121.941470000254299, 37.61223300102516 ], [ -121.941769999861435, 37.610933000604348 ], [ -121.945269999582194, 37.609233000787853 ], [ -121.94608000018269, 37.606802000250852 ], [ -121.946170000323065, 37.606533001075547 ], [ -121.9463699994877, 37.605633000855278 ], [ -121.946580000481546, 37.605403000766337 ], [ -121.948470000449817, 37.603333000339433 ], [ -121.948069999565007, 37.601233000272316 ], [ -121.946070000514155, 37.597734000640003 ], [ -121.94727000027693, 37.597634000330764 ], [ -121.947869999834126, 37.59773400057707 ], [ -121.949116999559806, 37.597603000548403 ], [ -121.951669999947271, 37.597334000483734 ], [ -121.954870000167716, 37.593534000465752 ], [ -121.956369999467796, 37.591834000240411 ], [ -121.957070000192402, 37.590934000623079 ], [ -121.957969999402266, 37.590234000380015 ], [ -121.960669999968061, 37.591834000676364 ], [ -121.966670000403653, 37.595434000611625 ], [ -121.968169999787094, 37.596334000898359 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 849, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.084473999543121, 37.701530000896767 ], [ -122.086674000410994, 37.701230000542516 ], [ -122.088073999943362, 37.700930000513956 ], [ -122.088773999421136, 37.702830000670652 ], [ -122.089073999619444, 37.70363000037932 ], [ -122.089237000520995, 37.704175000679875 ], [ -122.089374000291471, 37.704630000945137 ], [ -122.089873999842624, 37.706230000260149 ], [ -122.090029999850771, 37.706635000349841 ], [ -122.090102000423073, 37.706822001117068 ], [ -122.090374000150774, 37.707530001059432 ], [ -122.090574000028411, 37.708330000966448 ], [ -122.091474000413086, 37.708930000864868 ], [ -122.092474000177418, 37.709530000296112 ], [ -122.092973999939133, 37.709930000774449 ], [ -122.09147400029893, 37.709929000985959 ], [ -122.088674000132755, 37.709929000411343 ], [ -122.087418000454292, 37.710049000932393 ], [ -122.086574000343248, 37.710129001063052 ], [ -122.085774000479702, 37.710129000299418 ], [ -122.085474000391642, 37.710129000752687 ], [ -122.084074000471304, 37.710129000587216 ], [ -122.082274000283519, 37.710129001046099 ], [ -122.079374000332209, 37.71002900082123 ], [ -122.079173999619329, 37.709929001079665 ], [ -122.078474000137618, 37.709929000825653 ], [ -122.077674000100615, 37.709829000303756 ], [ -122.07657399942461, 37.709729001008867 ], [ -122.076173999450887, 37.709629000514312 ], [ -122.075173999982965, 37.709529001113417 ], [ -122.074026000031097, 37.709452000314926 ], [ -122.073673000082621, 37.709429001124484 ], [ -122.07367299965361, 37.70882900078638 ], [ -122.073672999709942, 37.708030000395745 ], [ -122.073736999955173, 37.707869001109913 ], [ -122.073873999831974, 37.707530000591028 ], [ -122.073772999713697, 37.706930000691656 ], [ -122.073773000129236, 37.706530000610421 ], [ -122.073872999994848, 37.704530000296451 ], [ -122.073873000263205, 37.702830001096544 ], [ -122.073873000352563, 37.702194001045847 ], [ -122.073872999678542, 37.701730000717042 ], [ -122.07537400035207, 37.701630000389059 ], [ -122.076130000272087, 37.70159600052402 ], [ -122.077549000096838, 37.701630000357646 ], [ -122.078014999887316, 37.701630000364034 ], [ -122.078374000361507, 37.701630000417403 ], [ -122.080274000059134, 37.701630000299843 ], [ -122.080874000161913, 37.701530000468729 ], [ -122.081173999505282, 37.701530000718165 ], [ -122.082174000025603, 37.701530000262657 ], [ -122.083773999400094, 37.701530000984846 ], [ -122.084473999543121, 37.701530000896767 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 846, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.073873000445516, 37.698030000449677 ], [ -122.073772999913587, 37.698430000632712 ], [ -122.073872999743969, 37.700030000727281 ], [ -122.073772999625689, 37.700330000865769 ], [ -122.073872999538906, 37.701030000618864 ], [ -122.073872999678542, 37.701730000717042 ], [ -122.073873000352563, 37.702194001045847 ], [ -122.073873000263205, 37.702830001096544 ], [ -122.073872999994848, 37.704530000296451 ], [ -122.071567999740878, 37.704530000802777 ], [ -122.070872999743074, 37.704530000456273 ], [ -122.069873000167902, 37.704430000565644 ], [ -122.069369000484684, 37.704397000538528 ], [ -122.069126000080402, 37.704381000242932 ], [ -122.068880000430283, 37.704364000548722 ], [ -122.068373000056908, 37.704330000962926 ], [ -122.067344999725663, 37.704330000640375 ], [ -122.066773000090123, 37.704330000872218 ], [ -122.066373000467308, 37.704230000605229 ], [ -122.065528999596367, 37.704165000738342 ], [ -122.065072999534394, 37.704130000465241 ], [ -122.064472999856633, 37.704130000948702 ], [ -122.062192999547761, 37.703845000577275 ], [ -122.060472999559309, 37.703630000674742 ], [ -122.060373000371968, 37.703830000928058 ], [ -122.059073000302732, 37.703730000492435 ], [ -122.057773000469339, 37.703730000791204 ], [ -122.056373000098702, 37.703730000327283 ], [ -122.055672999435927, 37.703830000779853 ], [ -122.054473000098156, 37.701730000811679 ], [ -122.053973000346915, 37.701430000751742 ], [ -122.055372999740584, 37.700830000302282 ], [ -122.055072999542332, 37.699130000465182 ], [ -122.056072999656735, 37.697630000647891 ], [ -122.056232999513639, 37.697169001031455 ], [ -122.056384999626644, 37.696730001088255 ], [ -122.05697300000395, 37.695030000246092 ], [ -122.058173000244437, 37.695830000443927 ], [ -122.058772999707969, 37.694230001122897 ], [ -122.05997299993119, 37.693430000916322 ], [ -122.060973000429428, 37.692630000927501 ], [ -122.062034999587411, 37.692375000711927 ], [ -122.063273000470531, 37.692030000297315 ], [ -122.064073000239802, 37.692230000342938 ], [ -122.064772999510893, 37.692430000437362 ], [ -122.067172999411525, 37.693230000713953 ], [ -122.068072999978938, 37.693530000437541 ], [ -122.06887299995411, 37.69383000043981 ], [ -122.070173000085759, 37.694330001072501 ], [ -122.071073000061105, 37.694630000502322 ], [ -122.073773000368249, 37.695430000992545 ], [ -122.073830999523423, 37.696951000518979 ], [ -122.073873000445516, 37.698030000449677 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 848, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.073872999743969, 37.700030000727281 ], [ -122.073772999913587, 37.698430000632712 ], [ -122.073873000445516, 37.698030000449677 ], [ -122.073830999523423, 37.696951000518979 ], [ -122.073773000368249, 37.695430000992545 ], [ -122.074774000499175, 37.695430000426278 ], [ -122.076173999737051, 37.695430000515358 ], [ -122.077173999602849, 37.695430000574603 ], [ -122.077674000124446, 37.695430001032939 ], [ -122.078273999425321, 37.695430000575854 ], [ -122.080173999634866, 37.695430000331413 ], [ -122.080874000071233, 37.695430000589049 ], [ -122.081173999782706, 37.695430000710893 ], [ -122.082074000064011, 37.695330000968021 ], [ -122.082974000150628, 37.695130000594283 ], [ -122.08397400004371, 37.694830000442458 ], [ -122.084773999553533, 37.694730000762185 ], [ -122.085374000424068, 37.694530000945889 ], [ -122.086373999549579, 37.694130000942224 ], [ -122.087073999480651, 37.693830000963743 ], [ -122.089573999604326, 37.69273000108641 ], [ -122.089973999438172, 37.693830000598233 ], [ -122.089973999712953, 37.694130000967498 ], [ -122.090574000355019, 37.696130000401027 ], [ -122.090673999639819, 37.696430000377212 ], [ -122.090774000370445, 37.696930000430648 ], [ -122.091073999916887, 37.697930000453866 ], [ -122.091774000271116, 37.700230000364179 ], [ -122.090973999773112, 37.700430000344085 ], [ -122.090374000157141, 37.700530000349872 ], [ -122.089573999535702, 37.700730000695359 ], [ -122.088974000207401, 37.700830000760348 ], [ -122.088073999943362, 37.700930000513956 ], [ -122.086674000410994, 37.701230000542516 ], [ -122.084473999543121, 37.701530000896767 ], [ -122.083773999400094, 37.701530000984846 ], [ -122.082174000025603, 37.701530000262657 ], [ -122.081173999505282, 37.701530000718165 ], [ -122.080874000161913, 37.701530000468729 ], [ -122.080274000059134, 37.701630000299843 ], [ -122.078374000361507, 37.701630000417403 ], [ -122.078014999887316, 37.701630000364034 ], [ -122.077549000096838, 37.701630000357646 ], [ -122.076130000272087, 37.70159600052402 ], [ -122.07537400035207, 37.701630000389059 ], [ -122.073872999678542, 37.701730000717042 ], [ -122.073872999538906, 37.701030000618864 ], [ -122.073772999625689, 37.700330000865769 ], [ -122.073872999743969, 37.700030000727281 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 842, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.060973000429428, 37.692630000927501 ], [ -122.059572999939093, 37.692430000990129 ], [ -122.058872999733381, 37.692330000658217 ], [ -122.058572999911192, 37.69213000078085 ], [ -122.059324000040732, 37.690815000915066 ], [ -122.061772999492518, 37.686530000885377 ], [ -122.062072999919252, 37.685930000454583 ], [ -122.062772999719741, 37.68593000045248 ], [ -122.063272999438325, 37.685930000351611 ], [ -122.064273000053419, 37.685930001007975 ], [ -122.064329999800378, 37.685896000813507 ], [ -122.065273000506068, 37.685330000790181 ], [ -122.065343999764977, 37.685269000630313 ], [ -122.066128999870742, 37.684596000669124 ], [ -122.06667299985088, 37.684130000523488 ], [ -122.066862999632505, 37.684016000631154 ], [ -122.067173000116995, 37.68383000057166 ], [ -122.068272999567981, 37.684930000619772 ], [ -122.068324999940188, 37.684826000350519 ], [ -122.068873000047446, 37.683730000923681 ], [ -122.070172999929937, 37.684230000540126 ], [ -122.071173000391028, 37.683130000285246 ], [ -122.070273000472042, 37.681431000656595 ], [ -122.07088599953201, 37.681256000991922 ], [ -122.070972999839285, 37.681231000915041 ], [ -122.072014999441279, 37.680986000478278 ], [ -122.072273000507252, 37.681631000664083 ], [ -122.072873000344828, 37.683130000697659 ], [ -122.073673000365702, 37.68303000075931 ], [ -122.073673000417074, 37.684130000919566 ], [ -122.073772999414189, 37.686530000453985 ], [ -122.073673000030567, 37.686830000377611 ], [ -122.07367299947613, 37.688130000951801 ], [ -122.073673000294605, 37.688830000737873 ], [ -122.073673000474116, 37.689330000274687 ], [ -122.073672999841307, 37.689530000432804 ], [ -122.073772999990993, 37.690530000740047 ], [ -122.073672999434663, 37.690830000426992 ], [ -122.072172999615773, 37.690930000921362 ], [ -122.069360000239968, 37.691067000578791 ], [ -122.068072999513504, 37.691130000598626 ], [ -122.065973000308048, 37.691330000628341 ], [ -122.064395999401796, 37.691663000921835 ], [ -122.063273000470531, 37.692030000297315 ], [ -122.062034999587411, 37.692375000711927 ], [ -122.060973000429428, 37.692630000927501 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 868, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.142175999885012, 37.737329000866275 ], [ -122.141775999571735, 37.737129000783781 ], [ -122.141076000179012, 37.736329000698859 ], [ -122.140475999590052, 37.735529001013596 ], [ -122.140452000283901, 37.735432000623653 ], [ -122.140075999427296, 37.733929000804132 ], [ -122.139887999746094, 37.7339290009186 ], [ -122.139576000045224, 37.733929000560082 ], [ -122.139191000400288, 37.734160000740772 ], [ -122.139042999803081, 37.733174000653385 ], [ -122.138676000481652, 37.733029000709848 ], [ -122.137975999807665, 37.731229000885534 ], [ -122.138476000274466, 37.731029000948787 ], [ -122.138376000286129, 37.730629000720036 ], [ -122.138676000196043, 37.730629000326495 ], [ -122.139176000047541, 37.730629000677517 ], [ -122.140924000198922, 37.731115000588701 ], [ -122.140975999476225, 37.731129000977432 ], [ -122.143375999781, 37.731029000324867 ], [ -122.147675999925681, 37.730829000976776 ], [ -122.147802000435703, 37.730534000577322 ], [ -122.147833000430353, 37.730461000780323 ], [ -122.14813899939881, 37.729749000408852 ], [ -122.148576000336277, 37.728729001025087 ], [ -122.148775999877515, 37.729129000407276 ], [ -122.148975999801308, 37.729629000271714 ], [ -122.14917599974126, 37.730229000594704 ], [ -122.149576000402647, 37.731029000455202 ], [ -122.149875999916162, 37.73162900076224 ], [ -122.1503759995949, 37.732329000717385 ], [ -122.150776000149278, 37.732929001073273 ], [ -122.152176000323564, 37.734829001123202 ], [ -122.152876000303962, 37.735729000746232 ], [ -122.153276000291498, 37.736329000572276 ], [ -122.153876000176808, 37.73712900057609 ], [ -122.154375999783426, 37.737529000904587 ], [ -122.155276000383225, 37.738229000698354 ], [ -122.153375999876701, 37.738829000777429 ], [ -122.152075999506536, 37.739229000776454 ], [ -122.151175999803769, 37.739629000582696 ], [ -122.150275999744949, 37.739929000880338 ], [ -122.148537000253683, 37.740177000450608 ], [ -122.148176000462243, 37.740229000298484 ], [ -122.147475999910569, 37.740529000260615 ], [ -122.147376000160321, 37.740829000786412 ], [ -122.14726999942053, 37.741005000487263 ], [ -122.147075999560428, 37.741329001039233 ], [ -122.146575999665131, 37.742028000776202 ], [ -122.146277999568312, 37.741681000938279 ], [ -122.145975999860738, 37.741329000666688 ], [ -122.145376000037317, 37.740629000633376 ], [ -122.144775999764505, 37.739829000484967 ], [ -122.143708000350671, 37.73868500062369 ], [ -122.143375999647162, 37.73832900101371 ], [ -122.142475999889271, 37.737529000368184 ], [ -122.142175999885012, 37.737329000866275 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 869, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.153876000176808, 37.73712900057609 ], [ -122.153276000291498, 37.736329000572276 ], [ -122.152876000303962, 37.735729000746232 ], [ -122.152176000323564, 37.734829001123202 ], [ -122.150776000149278, 37.732929001073273 ], [ -122.1503759995949, 37.732329000717385 ], [ -122.149875999916162, 37.73162900076224 ], [ -122.149576000402647, 37.731029000455202 ], [ -122.14917599974126, 37.730229000594704 ], [ -122.148975999801308, 37.729629000271714 ], [ -122.148775999877515, 37.729129000407276 ], [ -122.148576000336277, 37.728729001025087 ], [ -122.149776000041101, 37.72792900024114 ], [ -122.151875999660135, 37.728029000545483 ], [ -122.153767999585867, 37.727579000906914 ], [ -122.153945000062166, 37.72753600102569 ], [ -122.153975999911083, 37.727529000441898 ], [ -122.155565000303355, 37.727907000579464 ], [ -122.156075999849307, 37.728029000736036 ], [ -122.156248999744065, 37.727819000736559 ], [ -122.156635999933727, 37.727349000345491 ], [ -122.15747600052029, 37.726329000395047 ], [ -122.157975999870814, 37.727029000442165 ], [ -122.158375999456609, 37.727829000973287 ], [ -122.158976000063291, 37.72862900041757 ], [ -122.159575999705268, 37.729229000347367 ], [ -122.16027599943493, 37.730229000292255 ], [ -122.160875999707244, 37.731029000749579 ], [ -122.161376000519837, 37.731629000583588 ], [ -122.161677000083515, 37.732029000963379 ], [ -122.161861999576189, 37.732332000988528 ], [ -122.162277000150581, 37.732829000498647 ], [ -122.162676999823248, 37.733429000540475 ], [ -122.162877000502263, 37.733629000542038 ], [ -122.163245000079684, 37.734144000779359 ], [ -122.163365000192243, 37.734357000278848 ], [ -122.16367699957884, 37.734729000557323 ], [ -122.164077000096896, 37.735329000273509 ], [ -122.161777000510995, 37.736329001137172 ], [ -122.16027599998047, 37.736929000841442 ], [ -122.159875999954565, 37.737029000318422 ], [ -122.15837599951567, 37.737429001039395 ], [ -122.158276000485415, 37.737429000808916 ], [ -122.156976000509204, 37.737929000974006 ], [ -122.155276000383225, 37.738229000698354 ], [ -122.154375999783426, 37.737529000904587 ], [ -122.153876000176808, 37.73712900057609 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 873, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.198877999826593, 37.713130000706521 ], [ -122.197077999450386, 37.714930000900715 ], [ -122.194008999683703, 37.715427000541652 ], [ -122.194853000352296, 37.716868000763448 ], [ -122.193709000148772, 37.717198000720543 ], [ -122.193077000068129, 37.716130001008544 ], [ -122.189877000414754, 37.717030000255519 ], [ -122.189176999929302, 37.717529000675 ], [ -122.193077000367282, 37.720829000481039 ], [ -122.194077999499683, 37.721529000481922 ], [ -122.194239999709708, 37.721676001130525 ], [ -122.195867999609305, 37.723149000779536 ], [ -122.196178000316564, 37.723429000556926 ], [ -122.196791000234072, 37.724962000428199 ], [ -122.19721200022785, 37.725980000679314 ], [ -122.196478000446447, 37.726229000556359 ], [ -122.19607800037484, 37.725529000443437 ], [ -122.192777999919116, 37.726729000686753 ], [ -122.192285000457929, 37.726919000520702 ], [ -122.192103000289222, 37.726729000254167 ], [ -122.19173800024501, 37.726348000578191 ], [ -122.190755999762018, 37.727064000640326 ], [ -122.190700000453148, 37.727084001104544 ], [ -122.190577000249206, 37.727129000781524 ], [ -122.18987700046263, 37.728229000488916 ], [ -122.18437700015474, 37.72542900043301 ], [ -122.18287699951766, 37.724829000524075 ], [ -122.181476999825193, 37.723329000536438 ], [ -122.178677000367941, 37.720529000473718 ], [ -122.178069000043109, 37.719851000852898 ], [ -122.177376999655095, 37.719229000672939 ], [ -122.177177000062386, 37.719029000468637 ], [ -122.176776999534226, 37.718629000830504 ], [ -122.176639000328464, 37.718477001054772 ], [ -122.175777000478746, 37.717729000596485 ], [ -122.175095000308815, 37.71706600043899 ], [ -122.17027700049114, 37.712530000510874 ], [ -122.168869000513894, 37.711524001011426 ], [ -122.168168000350136, 37.711025000367115 ], [ -122.167257999712788, 37.710401000365401 ], [ -122.166534999474393, 37.709905000929318 ], [ -122.166621999716895, 37.709865001085539 ], [ -122.167426999886118, 37.709489000729491 ], [ -122.167777000122683, 37.709330000250333 ], [ -122.168069000497297, 37.709186000980615 ], [ -122.168803000503686, 37.708825000753095 ], [ -122.16909099953844, 37.708741000701373 ], [ -122.170476999896636, 37.708230000269417 ], [ -122.168877000467205, 37.705830000659795 ], [ -122.16847700033388, 37.705030000410659 ], [ -122.167176999503269, 37.703230000737292 ], [ -122.168577000172192, 37.702630000759598 ], [ -122.173576999392793, 37.700430000645198 ], [ -122.173976999430465, 37.700230001117667 ], [ -122.174876999518858, 37.699830001060377 ], [ -122.176376999811751, 37.699330000382375 ], [ -122.177509999910669, 37.698863000347203 ], [ -122.181477000313805, 37.697230000465701 ], [ -122.181876999621764, 37.697130000664345 ], [ -122.182477000147173, 37.696830000529495 ], [ -122.185976999514267, 37.695330001102732 ], [ -122.186376999420617, 37.695730000456351 ], [ -122.191076999650846, 37.695330000533765 ], [ -122.188477000422566, 37.695630000672963 ], [ -122.188876999792626, 37.697930001013404 ], [ -122.193376999493523, 37.69793000087973 ], [ -122.193955000327492, 37.694941001086619 ], [ -122.193977000078888, 37.694830000513605 ], [ -122.194976999510232, 37.694930000717669 ], [ -122.194176999822275, 37.698330001086667 ], [ -122.190877000226749, 37.698530000575261 ], [ -122.190376999791994, 37.699830000813783 ], [ -122.189377000175128, 37.700230000876516 ], [ -122.189431000178544, 37.700385000474476 ], [ -122.192007000216762, 37.70777000043558 ], [ -122.192376999859107, 37.708830000708041 ], [ -122.190776999713478, 37.703930000571368 ], [ -122.197876999996581, 37.703030000562762 ], [ -122.201277999824299, 37.710330001051709 ], [ -122.195015000466739, 37.713461000939603 ], [ -122.193876999492858, 37.714030000461094 ], [ -122.198877999826593, 37.713130000706521 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 872, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.164322000022793, 37.710907000459095 ], [ -122.164719999848344, 37.710708000429705 ], [ -122.165401999974193, 37.710371000295027 ], [ -122.165562999651684, 37.710305000400432 ], [ -122.166350000411995, 37.709982000604995 ], [ -122.166534999474393, 37.709905000929318 ], [ -122.167257999712788, 37.710401000365401 ], [ -122.168168000350136, 37.711025000367115 ], [ -122.168869000513894, 37.711524001011426 ], [ -122.17027700049114, 37.712530000510874 ], [ -122.175095000308815, 37.71706600043899 ], [ -122.175777000478746, 37.717729000596485 ], [ -122.176639000328464, 37.718477001054772 ], [ -122.176776999534226, 37.718629000830504 ], [ -122.177177000062386, 37.719029000468637 ], [ -122.177376999655095, 37.719229000672939 ], [ -122.178069000043109, 37.719851000852898 ], [ -122.178677000367941, 37.720529000473718 ], [ -122.181476999825193, 37.723329000536438 ], [ -122.18287699951766, 37.724829000524075 ], [ -122.182524000182227, 37.72465200023619 ], [ -122.182476999523018, 37.724629000967241 ], [ -122.181776999787274, 37.724629000645123 ], [ -122.181517000508464, 37.724638000611456 ], [ -122.180584000293535, 37.725385000522053 ], [ -122.180540000155119, 37.725421000282438 ], [ -122.180362000226722, 37.725563000572066 ], [ -122.180146999757639, 37.725581000785347 ], [ -122.179189000389641, 37.725660000858234 ], [ -122.17873900050752, 37.724731000924585 ], [ -122.176868999736598, 37.724793000381453 ], [ -122.175777000045755, 37.72482900088665 ], [ -122.174976999500572, 37.725329000893439 ], [ -122.174875999562587, 37.725377000693001 ], [ -122.174557999744223, 37.725712000753141 ], [ -122.174194000006793, 37.726019000310664 ], [ -122.174031999666568, 37.726173000313182 ], [ -122.17373899953661, 37.726275000305769 ], [ -122.172823999882127, 37.726354000283372 ], [ -122.172626999398361, 37.726372000397838 ], [ -122.172525999537442, 37.726372000798854 ], [ -122.172464999664243, 37.726449000370017 ], [ -122.172369000014669, 37.726571000753104 ], [ -122.172162000070969, 37.726834000956522 ], [ -122.172000000307065, 37.72704000089 ], [ -122.171807999418021, 37.727271000300497 ], [ -122.171575000206388, 37.727425000949616 ], [ -122.171119999871692, 37.727499000404443 ], [ -122.170951999589633, 37.727483000582268 ], [ -122.170576999748533, 37.727429000697413 ], [ -122.170377000064065, 37.727429000244648 ], [ -122.167764999744179, 37.725274000292394 ], [ -122.166797999762068, 37.724476000338626 ], [ -122.166376999666227, 37.724129000957554 ], [ -122.166176999851899, 37.723929000353621 ], [ -122.164276999546175, 37.72212900074198 ], [ -122.163175999451056, 37.72132900071874 ], [ -122.162238999729283, 37.720499000462155 ], [ -122.159675999676807, 37.718229000946586 ], [ -122.158776000289635, 37.717429000758024 ], [ -122.158075999845948, 37.716829000296954 ], [ -122.157149999876893, 37.71608900040183 ], [ -122.157075999492278, 37.716029000266843 ], [ -122.156176000311362, 37.7153290002463 ], [ -122.155476000087205, 37.714629000333318 ], [ -122.157676000230893, 37.713630000486724 ], [ -122.159975999903835, 37.712730000936972 ], [ -122.160676000211836, 37.712330001042012 ], [ -122.161376000446154, 37.712030000839199 ], [ -122.162375999742466, 37.711730000234724 ], [ -122.164075999396204, 37.711030000516317 ], [ -122.164322000022793, 37.710907000459095 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 867, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.138176000097204, 37.727829000646885 ], [ -122.137775999485456, 37.726329000857831 ], [ -122.137275999897582, 37.7247290004427 ], [ -122.136760999799094, 37.723786000558441 ], [ -122.13667599977525, 37.723629000520049 ], [ -122.136076000483442, 37.722629001005771 ], [ -122.135775999999396, 37.72212900051543 ], [ -122.1372760000488, 37.723529001082397 ], [ -122.137776000119914, 37.723329000905409 ], [ -122.1386759996726, 37.723029000759944 ], [ -122.140875999848873, 37.722429000509266 ], [ -122.14117599962286, 37.722429000797959 ], [ -122.141676000030301, 37.722229001078112 ], [ -122.142375999581503, 37.722029000582857 ], [ -122.143276000083745, 37.721829000260449 ], [ -122.143876000307969, 37.721629000394685 ], [ -122.144575999707712, 37.721429000274831 ], [ -122.145375999748751, 37.721229000829723 ], [ -122.1457759999345, 37.722229000896959 ], [ -122.146176000072543, 37.723129000372559 ], [ -122.146575999465497, 37.724029001101982 ], [ -122.146976000167413, 37.724829000397463 ], [ -122.147276000244119, 37.725829000462689 ], [ -122.147675999642289, 37.726729000796482 ], [ -122.148076000065231, 37.727529000633119 ], [ -122.148576000336277, 37.728729001025087 ], [ -122.14813899939881, 37.729749000408852 ], [ -122.147833000430353, 37.730461000780323 ], [ -122.147802000435703, 37.730534000577322 ], [ -122.147675999925681, 37.730829000976776 ], [ -122.143375999781, 37.731029000324867 ], [ -122.140975999476225, 37.731129000977432 ], [ -122.140924000198922, 37.731115000588701 ], [ -122.139176000047541, 37.730629000677517 ], [ -122.138676000196043, 37.730629000326495 ], [ -122.138475999839542, 37.7292290008509 ], [ -122.138176000097204, 37.727829000646885 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 866, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.111974999630149, 37.714229000426641 ], [ -122.112243999904365, 37.714239001110286 ], [ -122.112908000127518, 37.714219000640952 ], [ -122.113457999475528, 37.714270000375315 ], [ -122.11416999977277, 37.714347000834735 ], [ -122.114752000250391, 37.714474000612732 ], [ -122.115398999632973, 37.714833000250309 ], [ -122.115980999633848, 37.715268001040641 ], [ -122.116692999559291, 37.7159330004257 ], [ -122.117151999400733, 37.716407000755126 ], [ -122.117724000149479, 37.716625000662759 ], [ -122.118306000499587, 37.716573000642107 ], [ -122.118824000051262, 37.716445000722459 ], [ -122.119413999659841, 37.716233000999907 ], [ -122.119987999684298, 37.715985000559073 ], [ -122.120603000483086, 37.715652000773034 ], [ -122.120991000289877, 37.715268000338085 ], [ -122.121120000320431, 37.714859000899217 ], [ -122.121087999795549, 37.714194000747661 ], [ -122.121055000204478, 37.713170000670054 ], [ -122.120990999790251, 37.712326000979338 ], [ -122.12092599970768, 37.711456000887317 ], [ -122.121120000465368, 37.711021000887321 ], [ -122.122174999820345, 37.70903000029233 ], [ -122.122474999544011, 37.708130000993393 ], [ -122.124174999628437, 37.709230000403046 ], [ -122.124774999617458, 37.709530000305094 ], [ -122.125726000154756, 37.709992000428038 ], [ -122.126475000290895, 37.710430000674435 ], [ -122.12717500022346, 37.710913000749372 ], [ -122.127740999514231, 37.71136600036035 ], [ -122.127783999419748, 37.711398000356482 ], [ -122.128774999969238, 37.712130000824239 ], [ -122.129348999746483, 37.712621000497357 ], [ -122.130663999954237, 37.714377000484639 ], [ -122.130875000355246, 37.714629000698579 ], [ -122.131675000178035, 37.715629000830297 ], [ -122.135376000270398, 37.721529000434941 ], [ -122.135775999999396, 37.72212900051543 ], [ -122.136076000483442, 37.722629001005771 ], [ -122.13667599977525, 37.723629000520049 ], [ -122.136760999799094, 37.723786000558441 ], [ -122.137275999897582, 37.7247290004427 ], [ -122.137775999485456, 37.726329000857831 ], [ -122.138176000097204, 37.727829000646885 ], [ -122.138475999839542, 37.7292290008509 ], [ -122.138676000196043, 37.730629000326495 ], [ -122.138376000286129, 37.730629000720036 ], [ -122.137675999525953, 37.730829001044754 ], [ -122.136775999653537, 37.731329000437249 ], [ -122.134675999807342, 37.733629000657558 ], [ -122.134254000499539, 37.733840000590391 ], [ -122.134075999959052, 37.733929001122206 ], [ -122.131866999885489, 37.733153000473422 ], [ -122.130439000008721, 37.733512000566357 ], [ -122.130337999725711, 37.733408001079276 ], [ -122.130246999502532, 37.733020000294594 ], [ -122.130375000348579, 37.732629000638298 ], [ -122.130227000348384, 37.732568000742873 ], [ -122.130586000470657, 37.732249000560017 ], [ -122.131017999698855, 37.731838000456563 ], [ -122.131598000429648, 37.731352000987535 ], [ -122.132066999520191, 37.730774000793062 ], [ -122.132137999790615, 37.730671000548554 ], [ -122.132107999614163, 37.730619000590693 ], [ -122.13187500027243, 37.730467000329995 ], [ -122.130791999852491, 37.730144000631 ], [ -122.127075000498706, 37.728329000320208 ], [ -122.12667499960655, 37.727129000518232 ], [ -122.12537500006826, 37.726629000724586 ], [ -122.122518999763443, 37.726986000337398 ], [ -122.121374999480352, 37.727129001008301 ], [ -122.120375000145074, 37.727729001072362 ], [ -122.11887499980007, 37.727029000519885 ], [ -122.117574999409072, 37.724529000251515 ], [ -122.114875000062696, 37.723029000805248 ], [ -122.112275000407777, 37.720329000791963 ], [ -122.109074999559169, 37.718329000578628 ], [ -122.107174999697932, 37.717029000507573 ], [ -122.108476999525635, 37.716291000779549 ], [ -122.108994000309124, 37.715933000781412 ], [ -122.109480000407032, 37.715575000444744 ], [ -122.110093999454136, 37.715089000942463 ], [ -122.110708999453195, 37.714679000246427 ], [ -122.111193999627872, 37.714398000861735 ], [ -122.111974999630149, 37.714229000426641 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 864, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.146975999593309, 37.707330000711096 ], [ -122.150576000419633, 37.710330000608501 ], [ -122.155476000087205, 37.714629000333318 ], [ -122.154075999728789, 37.715229000545023 ], [ -122.153675999881216, 37.71532900059735 ], [ -122.15327599998821, 37.715529000382723 ], [ -122.152176000202147, 37.716029000275526 ], [ -122.151576000490422, 37.716229000552566 ], [ -122.150975999838835, 37.71642900045007 ], [ -122.151475999791074, 37.717229000823487 ], [ -122.150776000385605, 37.717529001033732 ], [ -122.149875999972849, 37.717929000808823 ], [ -122.147876000292314, 37.718829000596983 ], [ -122.14847600003327, 37.719229001110207 ], [ -122.145075999499113, 37.720229000786453 ], [ -122.144376000493423, 37.718929000257859 ], [ -122.144075999399206, 37.718329000463349 ], [ -122.142475999917892, 37.716829000303029 ], [ -122.14157600012382, 37.716129000377002 ], [ -122.140976000033206, 37.715729000888558 ], [ -122.140276000314699, 37.715229000901317 ], [ -122.139675999914985, 37.714729000994673 ], [ -122.139175999578669, 37.714429000232002 ], [ -122.138476000278729, 37.713929000386102 ], [ -122.137876000464473, 37.713529000465847 ], [ -122.13717599991088, 37.713030000563442 ], [ -122.133974999728352, 37.710830000286229 ], [ -122.133374999680186, 37.71033000077648 ], [ -122.131975000313133, 37.709430000378909 ], [ -122.131274999686738, 37.708930001081839 ], [ -122.130751000462666, 37.708563000871749 ], [ -122.13027499996555, 37.708230000968385 ], [ -122.129975000048361, 37.707630001057964 ], [ -122.129774999436577, 37.70673000066293 ], [ -122.12977500042679, 37.705930000934941 ], [ -122.131913999994879, 37.707479000814836 ], [ -122.132674999930231, 37.708030000441902 ], [ -122.133174999407345, 37.708330000808786 ], [ -122.133357000122544, 37.708461001022059 ], [ -122.13404800042872, 37.708992000855652 ], [ -122.13454500002544, 37.708460000717011 ], [ -122.135274999973745, 37.707730000959742 ], [ -122.135872000330622, 37.707233000693748 ], [ -122.136475999454319, 37.706730000800071 ], [ -122.137076000494815, 37.706200000397786 ], [ -122.137916000192547, 37.705459000582465 ], [ -122.138176000092216, 37.705230000347022 ], [ -122.138375999840179, 37.705030000530328 ], [ -122.138576000463658, 37.704930000644097 ], [ -122.142175999501404, 37.707330000331012 ], [ -122.143775999921047, 37.70593000081999 ], [ -122.142075999879339, 37.703130000385507 ], [ -122.146975999593309, 37.707330000711096 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 862, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.132331999531289, 37.694542000449992 ], [ -122.131974999718167, 37.694230000801056 ], [ -122.129874999499819, 37.692430001087331 ], [ -122.129274999537927, 37.692030000319008 ], [ -122.127775000464354, 37.690630000901336 ], [ -122.129875000463898, 37.690630000407261 ], [ -122.129875000094444, 37.689930000793133 ], [ -122.129875000489449, 37.689330000678069 ], [ -122.129874999843921, 37.689130000620693 ], [ -122.129774999641938, 37.688330000585822 ], [ -122.129874999553707, 37.686530000231322 ], [ -122.129874999883924, 37.686330000989443 ], [ -122.130675000247052, 37.686430000918698 ], [ -122.131982000124253, 37.686435000602245 ], [ -122.132175000309488, 37.686530000689615 ], [ -122.133375000499726, 37.687330000749157 ], [ -122.134374999937904, 37.688030000970244 ], [ -122.13605400019695, 37.689174000965778 ], [ -122.136312000291852, 37.689278000518073 ], [ -122.136720000334606, 37.689397000467885 ], [ -122.137329000315319, 37.689647000738262 ], [ -122.137921000424925, 37.689970000605797 ], [ -122.138765000196017, 37.690673000668703 ], [ -122.138976000520117, 37.690830000660796 ], [ -122.139375999686237, 37.691230000709567 ], [ -122.139976000335707, 37.691630000840846 ], [ -122.140776000336473, 37.692230000808024 ], [ -122.141776000462443, 37.693130000639499 ], [ -122.141934999778556, 37.693237000562227 ], [ -122.144547000504815, 37.695003000631743 ], [ -122.148875999461865, 37.697930000807652 ], [ -122.154175999445442, 37.701630000849391 ], [ -122.157066999887761, 37.703587000309852 ], [ -122.157490000299134, 37.703873000981012 ], [ -122.159456999429963, 37.705205000534811 ], [ -122.160042000199056, 37.705601000842293 ], [ -122.160676000247832, 37.70603000065438 ], [ -122.163470000500837, 37.707856000808718 ], [ -122.16583400013262, 37.709436000959073 ], [ -122.166534999474393, 37.709905000929318 ], [ -122.166350000411995, 37.709982000604995 ], [ -122.165562999651684, 37.710305000400432 ], [ -122.165401999974193, 37.710371000295027 ], [ -122.164719999848344, 37.710708000429705 ], [ -122.164322000022793, 37.710907000459095 ], [ -122.164075999396204, 37.711030000516317 ], [ -122.162375999742466, 37.711730000234724 ], [ -122.161376000446154, 37.712030000839199 ], [ -122.160676000211836, 37.712330001042012 ], [ -122.159975999903835, 37.712730000936972 ], [ -122.157676000230893, 37.713630000486724 ], [ -122.155476000087205, 37.714629000333318 ], [ -122.150576000419633, 37.710330000608501 ], [ -122.146975999593309, 37.707330000711096 ], [ -122.142075999879339, 37.703130000385507 ], [ -122.140276000066748, 37.701430000340586 ], [ -122.139518000299489, 37.70078400094733 ], [ -122.138868000150282, 37.70023000077375 ], [ -122.137576000031444, 37.699130000441336 ], [ -122.132331999531289, 37.694542000449992 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 861, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.157476000463603, 37.69063000103386 ], [ -122.159475999488208, 37.690530000986698 ], [ -122.160775999835835, 37.690430000323381 ], [ -122.161676000154131, 37.6904300010019 ], [ -122.16287599991999, 37.690430000528082 ], [ -122.163153000041177, 37.691863000970798 ], [ -122.162273000444472, 37.692038001034597 ], [ -122.162245000356862, 37.692318000394806 ], [ -122.162572000511048, 37.695229000880566 ], [ -122.162861000486799, 37.695765000281305 ], [ -122.163975999644236, 37.697230001087263 ], [ -122.165228999892648, 37.699065000512526 ], [ -122.165076000327758, 37.699730001039768 ], [ -122.165675999771182, 37.700630000535234 ], [ -122.166676000216015, 37.702330000391214 ], [ -122.167176999503269, 37.703230000737292 ], [ -122.16847700033388, 37.705030000410659 ], [ -122.168877000467205, 37.705830000659795 ], [ -122.170476999896636, 37.708230000269417 ], [ -122.16909099953844, 37.708741000701373 ], [ -122.168803000503686, 37.708825000753095 ], [ -122.168069000497297, 37.709186000980615 ], [ -122.167777000122683, 37.709330000250333 ], [ -122.167426999886118, 37.709489000729491 ], [ -122.166621999716895, 37.709865001085539 ], [ -122.166534999474393, 37.709905000929318 ], [ -122.16583400013262, 37.709436000959073 ], [ -122.163470000500837, 37.707856000808718 ], [ -122.160676000247832, 37.70603000065438 ], [ -122.160042000199056, 37.705601000842293 ], [ -122.159456999429963, 37.705205000534811 ], [ -122.157490000299134, 37.703873000981012 ], [ -122.157066999887761, 37.703587000309852 ], [ -122.154175999445442, 37.701630000849391 ], [ -122.148875999461865, 37.697930000807652 ], [ -122.144547000504815, 37.695003000631743 ], [ -122.141934999778556, 37.693237000562227 ], [ -122.141776000462443, 37.693130000639499 ], [ -122.140776000336473, 37.692230000808024 ], [ -122.139976000335707, 37.691630000840846 ], [ -122.139975999449959, 37.691230000603902 ], [ -122.140575999903973, 37.6911300005385 ], [ -122.141276000256013, 37.69113000065434 ], [ -122.141975999586521, 37.691230000737491 ], [ -122.142776000150775, 37.691130000677859 ], [ -122.143175999916139, 37.691130001124733 ], [ -122.143675999930267, 37.691130000903669 ], [ -122.144575999594053, 37.691030000923853 ], [ -122.145276000330071, 37.691030000721739 ], [ -122.146276000296396, 37.691030001069571 ], [ -122.147175999948928, 37.690930001045309 ], [ -122.147575999567863, 37.691030000643138 ], [ -122.14787599994095, 37.691030000384877 ], [ -122.148675999807509, 37.690930000790182 ], [ -122.149575999789562, 37.690930001030758 ], [ -122.150275999816529, 37.69093000087458 ], [ -122.15157599944385, 37.690830000806123 ], [ -122.15297599997821, 37.690730000818483 ], [ -122.155676000413152, 37.690730000490873 ], [ -122.156475999456546, 37.690630001067063 ], [ -122.157476000463603, 37.69063000103386 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 859, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.155876000253471, 37.679431000494894 ], [ -122.158375999707033, 37.682731001110525 ], [ -122.158875999799662, 37.683231000407247 ], [ -122.160676000345973, 37.685531000926844 ], [ -122.161135000143602, 37.686380001001794 ], [ -122.161814000225959, 37.687635000507171 ], [ -122.162675999517305, 37.689230000899386 ], [ -122.16287599991999, 37.690430000528082 ], [ -122.161676000154131, 37.6904300010019 ], [ -122.160775999835835, 37.690430000323381 ], [ -122.159475999488208, 37.690530000986698 ], [ -122.157476000463603, 37.69063000103386 ], [ -122.156475999456546, 37.690630001067063 ], [ -122.155676000413152, 37.690730000490873 ], [ -122.15297599997821, 37.690730000818483 ], [ -122.15157599944385, 37.690830000806123 ], [ -122.151375999441697, 37.689830000421111 ], [ -122.150975999551676, 37.688530000858819 ], [ -122.150976000295543, 37.685931000616506 ], [ -122.150975999984126, 37.685431000835216 ], [ -122.15107599948098, 37.685131000362631 ], [ -122.150475999940213, 37.681431001061277 ], [ -122.150275999911486, 37.681031001069776 ], [ -122.149975999761551, 37.680231000699841 ], [ -122.149975999975382, 37.679631000612787 ], [ -122.149976000294814, 37.678931000586289 ], [ -122.149976000307532, 37.678331000368104 ], [ -122.149676000084526, 37.677731000548853 ], [ -122.150676000446538, 37.67723100100514 ], [ -122.151245999996263, 37.677017000976321 ], [ -122.150970000013032, 37.676721001075599 ], [ -122.151175999536505, 37.676631000522391 ], [ -122.1542789999191, 37.675035000954146 ], [ -122.154676000453165, 37.674831000847689 ], [ -122.156571000325599, 37.676831000364977 ], [ -122.158276000355571, 37.678631000554184 ], [ -122.156575999920719, 37.67923100042124 ], [ -122.155876000253471, 37.679431000494894 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 858, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.129886999633797, 37.684977000705132 ], [ -122.129074999407493, 37.684431000863356 ], [ -122.128774999695921, 37.684231000987161 ], [ -122.129819000504057, 37.684144000420723 ], [ -122.130026999860306, 37.684205000939841 ], [ -122.132174999932488, 37.6848310007815 ], [ -122.133875000105945, 37.684131001000317 ], [ -122.138875999590823, 37.684431000897362 ], [ -122.139975999721685, 37.684131001109805 ], [ -122.14127599982244, 37.683031000247908 ], [ -122.141775999699689, 37.682631000654531 ], [ -122.143776000523658, 37.6814310004915 ], [ -122.14414099968171, 37.680563000303621 ], [ -122.144490999473973, 37.679733000247502 ], [ -122.144575999669769, 37.679531000657775 ], [ -122.150970000013032, 37.676721001075599 ], [ -122.151245999996263, 37.677017000976321 ], [ -122.150676000446538, 37.67723100100514 ], [ -122.149676000084526, 37.677731000548853 ], [ -122.149976000307532, 37.678331000368104 ], [ -122.149976000294814, 37.678931000586289 ], [ -122.149975999975382, 37.679631000612787 ], [ -122.149975999761551, 37.680231000699841 ], [ -122.150275999911486, 37.681031001069776 ], [ -122.150475999940213, 37.681431001061277 ], [ -122.15107599948098, 37.685131000362631 ], [ -122.150975999984126, 37.685431000835216 ], [ -122.150976000295543, 37.685931000616506 ], [ -122.150975999551676, 37.688530000858819 ], [ -122.151375999441697, 37.689830000421111 ], [ -122.15157599944385, 37.690830000806123 ], [ -122.150275999816529, 37.69093000087458 ], [ -122.149575999789562, 37.690930001030758 ], [ -122.148675999807509, 37.690930000790182 ], [ -122.14787599994095, 37.691030000384877 ], [ -122.147575999567863, 37.691030000643138 ], [ -122.147175999948928, 37.690930001045309 ], [ -122.146276000296396, 37.691030001069571 ], [ -122.145276000330071, 37.691030000721739 ], [ -122.144575999594053, 37.691030000923853 ], [ -122.143675999930267, 37.691130000903669 ], [ -122.143175999916139, 37.691130001124733 ], [ -122.142776000150775, 37.691130000677859 ], [ -122.141975999586521, 37.691230000737491 ], [ -122.141276000256013, 37.69113000065434 ], [ -122.140575999903973, 37.6911300005385 ], [ -122.139975999449959, 37.691230000603902 ], [ -122.139976000335707, 37.691630000840846 ], [ -122.139375999686237, 37.691230000709567 ], [ -122.138976000520117, 37.690830000660796 ], [ -122.138765000196017, 37.690673000668703 ], [ -122.137921000424925, 37.689970000605797 ], [ -122.137329000315319, 37.689647000738262 ], [ -122.136720000334606, 37.689397000467885 ], [ -122.136312000291852, 37.689278000518073 ], [ -122.13605400019695, 37.689174000965778 ], [ -122.134374999937904, 37.688030000970244 ], [ -122.133375000499726, 37.687330000749157 ], [ -122.132175000309488, 37.686530000689615 ], [ -122.131982000124253, 37.686435000602245 ], [ -122.131813999405352, 37.686332000345566 ], [ -122.129886999633797, 37.684977000705132 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 856, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.118974999457834, 37.691630001079645 ], [ -122.118975000061653, 37.691330000889003 ], [ -122.118975000261145, 37.691230000521692 ], [ -122.11888800026729, 37.690634000786638 ], [ -122.11887500014133, 37.689330000412916 ], [ -122.127775000464354, 37.690630000901336 ], [ -122.129274999537927, 37.692030000319008 ], [ -122.129874999499819, 37.692430001087331 ], [ -122.129874999534195, 37.693730001048884 ], [ -122.129875000385027, 37.695830001023651 ], [ -122.129874999388363, 37.696330001029587 ], [ -122.129275000339248, 37.696830000852415 ], [ -122.128796000220973, 37.697446000609972 ], [ -122.128574999702167, 37.697730000717634 ], [ -122.12817500001654, 37.697730001026478 ], [ -122.127875000267224, 37.697730000592898 ], [ -122.124274999590753, 37.699930000548953 ], [ -122.12367499940261, 37.701630000231674 ], [ -122.124575000500556, 37.702230000492989 ], [ -122.125174999443473, 37.702630000449282 ], [ -122.125675000063467, 37.703030000345301 ], [ -122.126374999953569, 37.703530000467062 ], [ -122.126974999704856, 37.703930000295863 ], [ -122.127575000209731, 37.704330000687413 ], [ -122.128975000205642, 37.705330000389758 ], [ -122.127674999687244, 37.70643000107718 ], [ -122.12687499978837, 37.707030001060353 ], [ -122.126074999414996, 37.707630000893658 ], [ -122.125574999759806, 37.708230000641031 ], [ -122.125174999913753, 37.708430000654793 ], [ -122.125058999523162, 37.708513000267224 ], [ -122.124474999427804, 37.708930000240599 ], [ -122.124174999628437, 37.709230000403046 ], [ -122.122474999544011, 37.708130000993393 ], [ -122.119374999440183, 37.706530000289881 ], [ -122.117074999445151, 37.705130000452193 ], [ -122.116375000491232, 37.704730000592733 ], [ -122.116474999413271, 37.704530000743709 ], [ -122.116874999845194, 37.703730000441091 ], [ -122.117975000507997, 37.702330000524398 ], [ -122.119174999412451, 37.701130000931521 ], [ -122.12067500005827, 37.699530000997356 ], [ -122.119313999893407, 37.698547000886393 ], [ -122.118874999986275, 37.698230000638752 ], [ -122.118875000031039, 37.694030000276662 ], [ -122.118874999770412, 37.69293000023238 ], [ -122.118975000179617, 37.691830000906378 ], [ -122.118974999457834, 37.691630001079645 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 855, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.118975000061653, 37.691330000889003 ], [ -122.118974999457834, 37.691630001079645 ], [ -122.118975000179617, 37.691830000906378 ], [ -122.118874999770412, 37.69293000023238 ], [ -122.118875000031039, 37.694030000276662 ], [ -122.118874999986275, 37.698230000638752 ], [ -122.117074999531539, 37.697030001033859 ], [ -122.115274999859295, 37.695730000778006 ], [ -122.113975000405034, 37.694830000910599 ], [ -122.113408999528161, 37.694477001083797 ], [ -122.112525999611208, 37.693892000926603 ], [ -122.111675000447107, 37.693330000529095 ], [ -122.107474999719756, 37.696430000746801 ], [ -122.106475000442032, 37.697130000325586 ], [ -122.105874999665573, 37.697630000912454 ], [ -122.103673999556165, 37.695230000517881 ], [ -122.102373999608758, 37.693730001044962 ], [ -122.09997399994009, 37.691030000865652 ], [ -122.099746000374168, 37.690922000566196 ], [ -122.099456000021576, 37.690793000828691 ], [ -122.099156000050087, 37.690708000705307 ], [ -122.099313000179066, 37.690643000668082 ], [ -122.100544999749914, 37.690203000976879 ], [ -122.101922999501198, 37.689829000923737 ], [ -122.102630999819382, 37.689666000232684 ], [ -122.104246999991815, 37.689368000359693 ], [ -122.105673999814698, 37.689130000793 ], [ -122.107075000143325, 37.688930000758326 ], [ -122.1071719996947, 37.688914000608577 ], [ -122.107477999414996, 37.688842000478289 ], [ -122.108423999390524, 37.688672000767838 ], [ -122.109593999986274, 37.688529001057006 ], [ -122.114174999955637, 37.688630000557914 ], [ -122.114675000108008, 37.688730001053521 ], [ -122.115074999842378, 37.688730000338118 ], [ -122.11887500014133, 37.689330000412916 ], [ -122.11888800026729, 37.690634000786638 ], [ -122.118975000261145, 37.691230000521692 ], [ -122.118975000061653, 37.691330000889003 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 820, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.060172999505014, 37.642432000748393 ], [ -122.061779999868946, 37.644594001063545 ], [ -122.063072999555928, 37.646332000927032 ], [ -122.06517299955641, 37.649032000899368 ], [ -122.064640999868658, 37.649369000967589 ], [ -122.063802000263848, 37.649529000696575 ], [ -122.063115000239875, 37.649331000635961 ], [ -122.062443999633388, 37.64905600110923 ], [ -122.061665999816071, 37.6489950007605 ], [ -122.060368999594388, 37.648926001064027 ], [ -122.058765999750264, 37.649163000326958 ], [ -122.058556000370501, 37.649208000793053 ], [ -122.057973000390106, 37.649332000705748 ], [ -122.056920000315714, 37.64949900026442 ], [ -122.055912999427875, 37.649583000672635 ], [ -122.054891000399394, 37.649522000765998 ], [ -122.053928999574879, 37.64933100105916 ], [ -122.053578000467255, 37.649041000307548 ], [ -122.053304000103282, 37.648469000979482 ], [ -122.05310500006857, 37.647690001033645 ], [ -122.052663000327783, 37.647004000927552 ], [ -122.05205499988196, 37.646269000268767 ], [ -122.051823999440728, 37.645989000469733 ], [ -122.051244000312082, 37.645678000773444 ], [ -122.050786000266399, 37.64543200111482 ], [ -122.049595999801099, 37.645295001114732 ], [ -122.049273000095837, 37.645432000878948 ], [ -122.048543000034712, 37.64533300065353 ], [ -122.047550999878553, 37.645737000660183 ], [ -122.045475999841543, 37.64634800088168 ], [ -122.043217999468453, 37.646882000727494 ], [ -122.04112700044675, 37.646500001024869 ], [ -122.039171999573554, 37.646032000913486 ], [ -122.039020999855282, 37.645959000351816 ], [ -122.038548000428023, 37.645783001030225 ], [ -122.038072000285823, 37.645732000815272 ], [ -122.03752500021514, 37.64561500040282 ], [ -122.037082999392339, 37.645592000654027 ], [ -122.036625000209057, 37.645562000602851 ], [ -122.035972000066252, 37.645532000672944 ], [ -122.035907999992901, 37.64563800095582 ], [ -122.035968999807849, 37.645760000792102 ], [ -122.03606000032471, 37.645798001052292 ], [ -122.036197999685882, 37.64584400042844 ], [ -122.036411000405536, 37.645898000367289 ], [ -122.036670999880727, 37.645890000352473 ], [ -122.03694500035057, 37.645867000874247 ], [ -122.03711300013147, 37.645882001033073 ], [ -122.037234999775634, 37.645943000722241 ], [ -122.037326999914967, 37.646004000628253 ], [ -122.037495000158813, 37.646050000864406 ], [ -122.037678000261863, 37.646073000977893 ], [ -122.037845999531058, 37.646088000992599 ], [ -122.038013999518185, 37.646149001020483 ], [ -122.038105000003569, 37.646233000855794 ], [ -122.038136000240172, 37.646348000526899 ], [ -122.038197000122878, 37.646485000652341 ], [ -122.03837199942167, 37.64663200091438 ], [ -122.038670000270756, 37.646859000634024 ], [ -122.038821999925077, 37.646973000542786 ], [ -122.03897499982213, 37.64701900083584 ], [ -122.03906600002172, 37.647027000427407 ], [ -122.039173000176518, 37.64703200091801 ], [ -122.0399510000601, 37.647378000905526 ], [ -122.0403799994792, 37.647546000786043 ], [ -122.040472999647875, 37.647832000809508 ], [ -122.040395000470269, 37.648179000405392 ], [ -122.040040000296301, 37.648573000910126 ], [ -122.039981999775648, 37.648637000603955 ], [ -122.039571999625849, 37.649232000519476 ], [ -122.039171999574819, 37.648932000721089 ], [ -122.03903600033199, 37.648766000673014 ], [ -122.038714999513786, 37.64844600102839 ], [ -122.037571999688822, 37.64773200061272 ], [ -122.03687200027683, 37.648532000245993 ], [ -122.036777999580877, 37.648698000534495 ], [ -122.036579000370367, 37.648896000534975 ], [ -122.036272000508006, 37.649232000916335 ], [ -122.036090999937898, 37.649392000916919 ], [ -122.035862000012784, 37.649544000355306 ], [ -122.035556999592941, 37.649804000381387 ], [ -122.035267000497342, 37.650155000565789 ], [ -122.034658999399653, 37.650751000701597 ], [ -122.034372000461971, 37.651032000306962 ], [ -122.03428999988877, 37.651154001003832 ], [ -122.034198999415011, 37.651276000958219 ], [ -122.034106999925243, 37.651459000574242 ], [ -122.034031000499979, 37.651673001026623 ], [ -122.034000000254451, 37.65180300096295 ], [ -122.033938999440977, 37.652016000234454 ], [ -122.033871999981898, 37.652232000368052 ], [ -122.0339390000522, 37.652367000307557 ], [ -122.033984999782376, 37.652512000416067 ], [ -122.034045999734445, 37.652657000764414 ], [ -122.034168000106391, 37.652863001032522 ], [ -122.03437200003853, 37.653132000794393 ], [ -122.034871999504432, 37.653532000708445 ], [ -122.034870000184739, 37.653634000969745 ], [ -122.03493100031281, 37.653741000702979 ], [ -122.035008000226526, 37.653962001046892 ], [ -122.035071999549345, 37.654232001074995 ], [ -122.035052999913646, 37.65428200086243 ], [ -122.035008000298433, 37.654442001066144 ], [ -122.034947000142651, 37.654626001118501 ], [ -122.03488499980206, 37.654755000406688 ], [ -122.034779000131806, 37.654893000627823 ], [ -122.034571999730161, 37.655132000540533 ], [ -122.03406799999695, 37.655026001061074 ], [ -122.032046999815748, 37.654603000564194 ], [ -122.030292999603461, 37.654092000992911 ], [ -122.029987000050454, 37.654015000722588 ], [ -122.029191000091899, 37.654042000636878 ], [ -122.028518000005562, 37.654050000992015 ], [ -122.028123000116608, 37.654050000830203 ], [ -122.027813000111976, 37.653991000785908 ], [ -122.027321999960009, 37.6538640007605 ], [ -122.026872999804382, 37.653779001039133 ], [ -122.02645700011557, 37.653728000801436 ], [ -122.026157000098152, 37.653938000943569 ], [ -122.024979999613407, 37.654040000452049 ], [ -122.02480799983357, 37.654523000940287 ], [ -122.024776000021163, 37.654611000721012 ], [ -122.024688999735616, 37.655822000924864 ], [ -122.024671999956666, 37.655832000990536 ], [ -122.023871999881663, 37.656032000305281 ], [ -122.023471999537634, 37.656232000425881 ], [ -122.022499999403664, 37.655822000507563 ], [ -122.020404999473925, 37.654937000234575 ], [ -122.018971999781684, 37.654332000365315 ], [ -122.017572000483099, 37.654832000700459 ], [ -122.016767999904232, 37.655868000543592 ], [ -122.01648400001973, 37.657063000726822 ], [ -122.017899999427073, 37.658333000846412 ], [ -122.021140000427948, 37.659463000439025 ], [ -122.023571999451718, 37.660531001037491 ], [ -122.025871999952827, 37.661131000834942 ], [ -122.026871999637308, 37.661931000268837 ], [ -122.027271999963361, 37.663131000529006 ], [ -122.02799400031175, 37.664503001105345 ], [ -122.02843199998479, 37.665214000858306 ], [ -122.028230999516978, 37.665872000658268 ], [ -122.028472000114945, 37.666831000405402 ], [ -122.029223999965907, 37.668213000317664 ], [ -122.029654000318658, 37.668781000956145 ], [ -122.030996000295758, 37.671325000316536 ], [ -122.030851000476957, 37.67209200039661 ], [ -122.031189999430694, 37.672743000494691 ], [ -122.032373999902106, 37.674412000433882 ], [ -122.033174999714078, 37.675503000857596 ], [ -122.034138999956582, 37.676312000520909 ], [ -122.034297000377791, 37.6764450006239 ], [ -122.035069999937477, 37.676740000338093 ], [ -122.035673999644629, 37.676561000264407 ], [ -122.040934999938187, 37.675335000918707 ], [ -122.041685999733872, 37.675158000729667 ], [ -122.042792999833082, 37.674934001071151 ], [ -122.04279999973744, 37.674928001097641 ], [ -122.043872999832175, 37.675031000894371 ], [ -122.044272999681041, 37.675131000356544 ], [ -122.040572000232544, 37.67963100078984 ], [ -122.040961000164089, 37.680220000888511 ], [ -122.041239999988306, 37.680772000871748 ], [ -122.041519000460184, 37.681324001073882 ], [ -122.042031000100721, 37.682060000790059 ], [ -122.042588999467299, 37.683312001075834 ], [ -122.043007999848044, 37.684527000426641 ], [ -122.043379999563953, 37.685705000379734 ], [ -122.043613000455125, 37.68658800089878 ], [ -122.0441370003917, 37.687180000284556 ], [ -122.044265000358195, 37.687325000689832 ], [ -122.04491599982488, 37.687693000399555 ], [ -122.0454280004422, 37.688208001032123 ], [ -122.045534000055156, 37.688508000703266 ], [ -122.045696000018822, 37.688969000398103 ], [ -122.045920999973916, 37.68929500097331 ], [ -122.046485000348071, 37.689434000847065 ], [ -122.047119000522827, 37.689908000453542 ], [ -122.047365000295159, 37.690605000305908 ], [ -122.04722399948183, 37.691023000683714 ], [ -122.046871999466674, 37.691302000535181 ], [ -122.046520000394565, 37.69160800062663 ], [ -122.04602700035673, 37.691887000523792 ], [ -122.045427999529409, 37.692026000334458 ], [ -122.044900000279029, 37.692193000736481 ], [ -122.044335999424945, 37.692528000498001 ], [ -122.043983999478357, 37.693057000989192 ], [ -122.043842999627927, 37.693615000349915 ], [ -122.043772999834786, 37.694367000730303 ], [ -122.043728000489551, 37.694571000372555 ], [ -122.043973000235795, 37.695730001081152 ], [ -122.043972999976816, 37.695930000596363 ], [ -122.043808000169236, 37.696059000327011 ], [ -122.042172000053668, 37.697330000579612 ], [ -122.04097199954451, 37.698230000326902 ], [ -122.040371999953294, 37.698630000629066 ], [ -122.038772000175868, 37.699930000708136 ], [ -122.036872000321225, 37.701530000282389 ], [ -122.036360000191848, 37.70198400065992 ], [ -122.035771999964396, 37.702430000969144 ], [ -122.035116999608761, 37.702249001052728 ], [ -122.034358999899169, 37.701801000963286 ], [ -122.033803000181152, 37.701297000560999 ], [ -122.03339900042225, 37.700928000752221 ], [ -122.03313599978479, 37.700785000399932 ], [ -122.032398999589461, 37.700383000232101 ], [ -122.031746999905678, 37.700039001098588 ], [ -122.028271999944636, 37.698630000563902 ], [ -122.027593999901399, 37.698447001110353 ], [ -122.025671999653596, 37.697930000846974 ], [ -122.022872000498765, 37.699530000764234 ], [ -122.021271999732747, 37.69993000090664 ], [ -122.021172000289454, 37.699330001026254 ], [ -122.023272000147742, 37.696030000595137 ], [ -122.012871999730066, 37.694630001117126 ], [ -122.012171999856037, 37.694530000443081 ], [ -122.003371000191962, 37.695930000492901 ], [ -122.001270999602312, 37.693330000567919 ], [ -121.999171000185356, 37.690230000591214 ], [ -121.986071000064584, 37.686930000836213 ], [ -121.982805000046653, 37.683245000963623 ], [ -121.978270999598237, 37.678131000720334 ], [ -121.97377000017083, 37.673931000723783 ], [ -121.963769999780553, 37.670631000404143 ], [ -121.967170000364845, 37.666731000743262 ], [ -121.967569999588264, 37.664731000889923 ], [ -121.967669999962055, 37.664331000510899 ], [ -121.967269999625955, 37.663031000626056 ], [ -121.961170000070823, 37.658831000922746 ], [ -121.952870000278665, 37.652831000253421 ], [ -121.951669999585235, 37.653731000461441 ], [ -121.951270000467346, 37.653531000918235 ], [ -121.949569999656177, 37.651931000303499 ], [ -121.948170000087359, 37.650531000393087 ], [ -121.943970000455295, 37.646432000309787 ], [ -121.942970000024516, 37.645432000293404 ], [ -121.939568999723491, 37.642132000667466 ], [ -121.938868999877286, 37.639732001087609 ], [ -121.935568999817676, 37.637932000903277 ], [ -121.935445000239326, 37.637746000785405 ], [ -121.932768999955243, 37.633732000571058 ], [ -121.927724999758368, 37.627926000748204 ], [ -121.927469000366571, 37.627632001099393 ], [ -121.925668999630346, 37.623332000749031 ], [ -121.925116000062417, 37.621902001128149 ], [ -121.923968999688171, 37.618933000314627 ], [ -121.92206899991605, 37.618633000426058 ], [ -121.916969000178739, 37.614633000622675 ], [ -121.911469000514998, 37.60863300023945 ], [ -121.909268999658394, 37.607933000747074 ], [ -121.909168999928269, 37.607733000854154 ], [ -121.908567999592265, 37.606433001052608 ], [ -121.904767999679194, 37.603733000695144 ], [ -121.904468000195365, 37.60213300100682 ], [ -121.902468000037345, 37.601233000348856 ], [ -121.90276800016035, 37.60063300032725 ], [ -121.896967999999561, 37.597733000326578 ], [ -121.897367999685017, 37.597433000937727 ], [ -121.89636799995192, 37.59733300063813 ], [ -121.89776799949027, 37.595733000712286 ], [ -121.898468000347563, 37.595333001066258 ], [ -121.897367999719165, 37.594733000400495 ], [ -121.896506999955321, 37.594263000406421 ], [ -121.896267999746442, 37.594133000355718 ], [ -121.896220000354049, 37.59407000058674 ], [ -121.896165999445316, 37.59399300051161 ], [ -121.896105000270794, 37.593902000713008 ], [ -121.896467999953344, 37.593933000858812 ], [ -121.903509999494858, 37.59544700028318 ], [ -121.904157999540445, 37.595560000981386 ], [ -121.904482000346874, 37.595608000658373 ], [ -121.904766000308001, 37.595544001042185 ], [ -121.905130999600402, 37.595447000888505 ], [ -121.905678000054024, 37.595287000394272 ], [ -121.910068999669065, 37.593933000308631 ], [ -121.910555000307355, 37.593759000351568 ], [ -121.911469000218517, 37.593433000283071 ], [ -121.911669000358216, 37.593433000732432 ], [ -121.912468999841749, 37.593433000932166 ], [ -121.914169000469315, 37.593633001073137 ], [ -121.917469000392344, 37.594933000587694 ], [ -121.920669000353655, 37.597333000468652 ], [ -121.923169000013147, 37.598433000304794 ], [ -121.92366899946353, 37.598533000487386 ], [ -121.923968999586364, 37.598633000290569 ], [ -121.924868999747559, 37.598533000703227 ], [ -121.92656899945716, 37.598433001008551 ], [ -121.927000000243297, 37.598083001043257 ], [ -121.930268999821067, 37.595433000474138 ], [ -121.930868999617957, 37.594334000907907 ], [ -121.93116500016238, 37.593945000796843 ], [ -121.932769000212829, 37.591834001101027 ], [ -121.934369000378666, 37.591234000786585 ], [ -121.935668999857512, 37.590934000950647 ], [ -121.936269000283048, 37.59113400102877 ], [ -121.936668999735787, 37.591834000247069 ], [ -121.93776900039272, 37.593434000477359 ], [ -121.93976999988115, 37.598533000289812 ], [ -121.944070000167457, 37.597334000369443 ], [ -121.947069999865036, 37.597434000340343 ], [ -121.94727000027693, 37.597634000330764 ], [ -121.946070000514155, 37.597734000640003 ], [ -121.948069999565007, 37.601233000272316 ], [ -121.948470000449817, 37.603333000339433 ], [ -121.946580000481546, 37.605403000766337 ], [ -121.9463699994877, 37.605633000855278 ], [ -121.946170000323065, 37.606533001075547 ], [ -121.94608000018269, 37.606802000250852 ], [ -121.945269999582194, 37.609233000787853 ], [ -121.941769999861435, 37.610933000604348 ], [ -121.941470000254299, 37.61223300102516 ], [ -121.941269999916983, 37.613533000829861 ], [ -121.944169999413987, 37.614533000472207 ], [ -121.945270000511911, 37.616633000549228 ], [ -121.943669999950615, 37.618033000332915 ], [ -121.943769999439994, 37.620833000696813 ], [ -121.943669999572876, 37.624232000686888 ], [ -121.943669999932609, 37.624532000234929 ], [ -121.9438700000767, 37.624832001127359 ], [ -121.944270000358372, 37.62553200111455 ], [ -121.944670000075106, 37.62623200060731 ], [ -121.945470000198213, 37.627732000944057 ], [ -121.946470000076133, 37.628432000928854 ], [ -121.947927000426802, 37.629497000931899 ], [ -121.949070000261088, 37.630332000931467 ], [ -121.951169999731803, 37.631732000516877 ], [ -121.954670000486388, 37.635332000908242 ], [ -121.95496999979693, 37.635732001017239 ], [ -121.959470000475164, 37.636132000999332 ], [ -121.966969999483553, 37.642932000428274 ], [ -121.969469999731274, 37.642832000778959 ], [ -121.978470999604951, 37.639332000930899 ], [ -121.9811710000114, 37.635832000540105 ], [ -121.984671000337158, 37.633932000410638 ], [ -121.987271000468624, 37.633532000463312 ], [ -121.989371000038886, 37.633632000746871 ], [ -121.990471000482827, 37.633432001007485 ], [ -121.991870999440792, 37.630433001102105 ], [ -121.999470999755417, 37.629833000531676 ], [ -122.001370999765498, 37.626833000480325 ], [ -122.005443999749389, 37.626324000638057 ], [ -122.006172000048977, 37.626233000671149 ], [ -122.006671000033677, 37.62653000055856 ], [ -122.012899999934973, 37.630244000526815 ], [ -122.014631999735371, 37.631277000624074 ], [ -122.015876999410636, 37.632019001110933 ], [ -122.01657200007422, 37.632433000795388 ], [ -122.016872000451883, 37.632333000282017 ], [ -122.02097199962968, 37.63123300107884 ], [ -122.021553999900817, 37.630492000969326 ], [ -122.022072000432885, 37.62983300060089 ], [ -122.023872000239237, 37.627533000658858 ], [ -122.028872000442647, 37.628333000445124 ], [ -122.030371999965354, 37.628533001018475 ], [ -122.031268000236622, 37.628421000310681 ], [ -122.03197199972638, 37.628333000498287 ], [ -122.032471999637821, 37.62833300087236 ], [ -122.033072000399457, 37.628133000548637 ], [ -122.034075000097303, 37.628353000836157 ], [ -122.037172000224174, 37.629033000255092 ], [ -122.037572000439539, 37.629033000237982 ], [ -122.038571999399807, 37.628833000261729 ], [ -122.039272999937523, 37.629133000524227 ], [ -122.039673000202228, 37.629233000522461 ], [ -122.039973000238732, 37.629133000434379 ], [ -122.042773000488495, 37.628033000429838 ], [ -122.044872999415034, 37.62803300090529 ], [ -122.045873000512074, 37.628933000868422 ], [ -122.046851999517457, 37.629653000476104 ], [ -122.048972999991776, 37.627933000310989 ], [ -122.050773000249293, 37.626533000256636 ], [ -122.051072999491069, 37.626233000467188 ], [ -122.052073000442221, 37.627733000979404 ], [ -122.054372999746661, 37.630533000615046 ], [ -122.054772999828074, 37.630933000948133 ], [ -122.05607300044997, 37.632832000257807 ], [ -122.058373000435651, 37.635732000508746 ], [ -122.058173000193293, 37.635732000255366 ], [ -122.058013999524192, 37.635767000607878 ], [ -122.057272999484951, 37.635932000675126 ], [ -122.056572999463427, 37.636032000274881 ], [ -122.055573000357967, 37.636232000940446 ], [ -122.055035999689025, 37.636330000931252 ], [ -122.054472999459421, 37.636432001033086 ], [ -122.05587300005395, 37.637632000820659 ], [ -122.056973000045147, 37.638732001007462 ], [ -122.055228000479758, 37.639919000309106 ], [ -122.054472999819879, 37.640432000899537 ], [ -122.055072999537856, 37.641332000269237 ], [ -122.054473000500764, 37.641632000798936 ], [ -122.054673000345304, 37.642032000418013 ], [ -122.055073000483773, 37.642532000946737 ], [ -122.055273000199662, 37.642932000420117 ], [ -122.055972999475202, 37.642732001075203 ], [ -122.057273000497432, 37.642832001128333 ], [ -122.058072999625338, 37.642532000785387 ], [ -122.05967300016205, 37.641932000812417 ], [ -122.060172999505014, 37.642432000748393 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 821, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.053221000340088, 37.661109000821007 ], [ -122.053150999772654, 37.661033001013529 ], [ -122.052372999996877, 37.660568000306817 ], [ -122.05162499964689, 37.66064400037645 ], [ -122.051307999679977, 37.660768000483664 ], [ -122.050725000372154, 37.660995000668592 ], [ -122.049993999528994, 37.661489000747657 ], [ -122.049900999579009, 37.661552000417387 ], [ -122.048740999393857, 37.661720000507245 ], [ -122.047948000495424, 37.661575000560234 ], [ -122.04702899969574, 37.661302000754958 ], [ -122.046665999837785, 37.661194000691324 ], [ -122.046085999872943, 37.661018001125363 ], [ -122.045400000393414, 37.660637000455225 ], [ -122.044911999717712, 37.660553000932431 ], [ -122.044286000340691, 37.660537000962535 ], [ -122.043629999751502, 37.660225000360356 ], [ -122.043034999550983, 37.659866001032555 ], [ -122.042500999478932, 37.659759000873017 ], [ -122.041660999519507, 37.659477000823514 ], [ -122.040974999921559, 37.659164000888332 ], [ -122.040608000147273, 37.658752000952603 ], [ -122.039981999515462, 37.658439001070313 ], [ -122.03907200043308, 37.658231000809401 ], [ -122.038867999862191, 37.6580120003863 ], [ -122.038562999788994, 37.657997000894149 ], [ -122.038348999801102, 37.657966000735506 ], [ -122.038105000175165, 37.657890000998862 ], [ -122.037693000199468, 37.657776001010447 ], [ -122.037250999819307, 37.657661000324339 ], [ -122.036670999558851, 37.657516000242154 ], [ -122.036503000204632, 37.657455000987291 ], [ -122.036198000085037, 37.65729500076295 ], [ -122.035785999901222, 37.657119000234047 ], [ -122.035617999755019, 37.657051001045325 ], [ -122.035267000323984, 37.657005000353386 ], [ -122.034992000469387, 37.65703500057392 ], [ -122.034610999860234, 37.657081000641476 ], [ -122.034092000032018, 37.657112001027585 ], [ -122.033694999819602, 37.657142000450449 ], [ -122.033253000129918, 37.65711200087194 ], [ -122.033169999551248, 37.657080000948717 ], [ -122.03297799963326, 37.657005000906452 ], [ -122.032749000149707, 37.656869000245599 ], [ -122.032475000369942, 37.656739000485089 ], [ -122.032107999470938, 37.656617000415821 ], [ -122.031803000342066, 37.656579000985928 ], [ -122.030673999451864, 37.656510000349506 ], [ -122.030552000124047, 37.656518000887225 ], [ -122.030371999743608, 37.656532000425706 ], [ -122.029391999905172, 37.656480000532767 ], [ -122.029117999435258, 37.656533000304115 ], [ -122.028827999784269, 37.656609000717197 ], [ -122.028645000267858, 37.656686000595748 ], [ -122.02830899963125, 37.656846000581893 ], [ -122.028019000218634, 37.656982000963282 ], [ -122.027774999783972, 37.657081000677387 ], [ -122.027531000450168, 37.657173000321897 ], [ -122.027316999979135, 37.65722600113213 ], [ -122.027133999562409, 37.65726400078146 ], [ -122.026904999955292, 37.657272000936054 ], [ -122.026645999786609, 37.657264000898209 ], [ -122.026071999910016, 37.657531000297602 ], [ -122.023571999451718, 37.660531001037491 ], [ -122.021140000427948, 37.659463000439025 ], [ -122.017899999427073, 37.658333000846412 ], [ -122.01648400001973, 37.657063000726822 ], [ -122.016767999904232, 37.655868000543592 ], [ -122.017572000483099, 37.654832000700459 ], [ -122.018971999781684, 37.654332000365315 ], [ -122.020404999473925, 37.654937000234575 ], [ -122.022499999403664, 37.655822000507563 ], [ -122.023471999537634, 37.656232000425881 ], [ -122.023871999881663, 37.656032000305281 ], [ -122.024671999956666, 37.655832000990536 ], [ -122.024688999735616, 37.655822000924864 ], [ -122.024776000021163, 37.654611000721012 ], [ -122.02480799983357, 37.654523000940287 ], [ -122.024979999613407, 37.654040000452049 ], [ -122.026157000098152, 37.653938000943569 ], [ -122.02645700011557, 37.653728000801436 ], [ -122.026872999804382, 37.653779001039133 ], [ -122.027321999960009, 37.6538640007605 ], [ -122.027813000111976, 37.653991000785908 ], [ -122.028123000116608, 37.654050000830203 ], [ -122.028518000005562, 37.654050000992015 ], [ -122.029191000091899, 37.654042000636878 ], [ -122.029987000050454, 37.654015000722588 ], [ -122.030292999603461, 37.654092000992911 ], [ -122.032046999815748, 37.654603000564194 ], [ -122.03406799999695, 37.655026001061074 ], [ -122.034571999730161, 37.655132000540533 ], [ -122.034779000131806, 37.654893000627823 ], [ -122.03488499980206, 37.654755000406688 ], [ -122.034947000142651, 37.654626001118501 ], [ -122.035008000298433, 37.654442001066144 ], [ -122.035052999913646, 37.65428200086243 ], [ -122.035071999549345, 37.654232001074995 ], [ -122.035008000226526, 37.653962001046892 ], [ -122.03493100031281, 37.653741000702979 ], [ -122.034870000184739, 37.653634000969745 ], [ -122.034871999504432, 37.653532000708445 ], [ -122.03437200003853, 37.653132000794393 ], [ -122.034168000106391, 37.652863001032522 ], [ -122.034045999734445, 37.652657000764414 ], [ -122.033984999782376, 37.652512000416067 ], [ -122.0339390000522, 37.652367000307557 ], [ -122.033871999981898, 37.652232000368052 ], [ -122.033938999440977, 37.652016000234454 ], [ -122.034000000254451, 37.65180300096295 ], [ -122.034031000499979, 37.651673001026623 ], [ -122.034106999925243, 37.651459000574242 ], [ -122.034198999415011, 37.651276000958219 ], [ -122.03428999988877, 37.651154001003832 ], [ -122.034372000461971, 37.651032000306962 ], [ -122.034658999399653, 37.650751000701597 ], [ -122.035267000497342, 37.650155000565789 ], [ -122.035556999592941, 37.649804000381387 ], [ -122.035862000012784, 37.649544000355306 ], [ -122.036090999937898, 37.649392000916919 ], [ -122.036272000508006, 37.649232000916335 ], [ -122.036579000370367, 37.648896000534975 ], [ -122.036777999580877, 37.648698000534495 ], [ -122.03687200027683, 37.648532000245993 ], [ -122.037571999688822, 37.64773200061272 ], [ -122.038714999513786, 37.64844600102839 ], [ -122.03903600033199, 37.648766000673014 ], [ -122.039171999574819, 37.648932000721089 ], [ -122.039571999625849, 37.649232000519476 ], [ -122.039981999775648, 37.648637000603955 ], [ -122.040040000296301, 37.648573000910126 ], [ -122.040395000470269, 37.648179000405392 ], [ -122.040472999647875, 37.647832000809508 ], [ -122.0403799994792, 37.647546000786043 ], [ -122.0399510000601, 37.647378000905526 ], [ -122.039173000176518, 37.64703200091801 ], [ -122.03906600002172, 37.647027000427407 ], [ -122.03897499982213, 37.64701900083584 ], [ -122.038821999925077, 37.646973000542786 ], [ -122.038670000270756, 37.646859000634024 ], [ -122.03837199942167, 37.64663200091438 ], [ -122.038197000122878, 37.646485000652341 ], [ -122.038136000240172, 37.646348000526899 ], [ -122.038105000003569, 37.646233000855794 ], [ -122.038013999518185, 37.646149001020483 ], [ -122.037845999531058, 37.646088000992599 ], [ -122.037678000261863, 37.646073000977893 ], [ -122.037495000158813, 37.646050000864406 ], [ -122.037326999914967, 37.646004000628253 ], [ -122.037234999775634, 37.645943000722241 ], [ -122.03711300013147, 37.645882001033073 ], [ -122.03694500035057, 37.645867000874247 ], [ -122.036670999880727, 37.645890000352473 ], [ -122.036411000405536, 37.645898000367289 ], [ -122.036197999685882, 37.64584400042844 ], [ -122.03606000032471, 37.645798001052292 ], [ -122.035968999807849, 37.645760000792102 ], [ -122.035907999992901, 37.64563800095582 ], [ -122.035972000066252, 37.645532000672944 ], [ -122.036625000209057, 37.645562000602851 ], [ -122.037082999392339, 37.645592000654027 ], [ -122.03752500021514, 37.64561500040282 ], [ -122.038072000285823, 37.645732000815272 ], [ -122.038548000428023, 37.645783001030225 ], [ -122.039020999855282, 37.645959000351816 ], [ -122.039171999573554, 37.646032000913486 ], [ -122.04112700044675, 37.646500001024869 ], [ -122.043217999468453, 37.646882000727494 ], [ -122.045475999841543, 37.64634800088168 ], [ -122.047550999878553, 37.645737000660183 ], [ -122.048543000034712, 37.64533300065353 ], [ -122.049273000095837, 37.645432000878948 ], [ -122.049595999801099, 37.645295001114732 ], [ -122.050786000266399, 37.64543200111482 ], [ -122.051244000312082, 37.645678000773444 ], [ -122.051823999440728, 37.645989000469733 ], [ -122.05205499988196, 37.646269000268767 ], [ -122.052663000327783, 37.647004000927552 ], [ -122.05310500006857, 37.647690001033645 ], [ -122.053304000103282, 37.648469000979482 ], [ -122.053578000467255, 37.649041000307548 ], [ -122.053928999574879, 37.64933100105916 ], [ -122.054891000399394, 37.649522000765998 ], [ -122.055912999427875, 37.649583000672635 ], [ -122.056920000315714, 37.64949900026442 ], [ -122.057973000390106, 37.649332000705748 ], [ -122.058556000370501, 37.649208000793053 ], [ -122.058765999750264, 37.649163000326958 ], [ -122.060368999594388, 37.648926001064027 ], [ -122.061665999816071, 37.6489950007605 ], [ -122.062443999633388, 37.64905600110923 ], [ -122.063115000239875, 37.649331000635961 ], [ -122.063802000263848, 37.649529000696575 ], [ -122.064640999868658, 37.649369000967589 ], [ -122.06517299955641, 37.649032000899368 ], [ -122.066873000278079, 37.651232000394479 ], [ -122.066372999855986, 37.651632000721925 ], [ -122.06547299957019, 37.651732000331243 ], [ -122.064872999859929, 37.651832000369652 ], [ -122.063473000077607, 37.653032000525975 ], [ -122.062972999869046, 37.653432000576565 ], [ -122.06265599965532, 37.653656000655573 ], [ -122.061444999976828, 37.654514000362731 ], [ -122.060573000359085, 37.65513200051624 ], [ -122.058072999834764, 37.655332000454678 ], [ -122.059049999647129, 37.65630900033559 ], [ -122.059122999817603, 37.65638200034104 ], [ -122.059190000446719, 37.656449001087772 ], [ -122.059390999687267, 37.656650000374064 ], [ -122.059458999433801, 37.656718000377758 ], [ -122.059523000234961, 37.656782000883823 ], [ -122.060001999790359, 37.657261000500981 ], [ -122.060059999441194, 37.657319000628512 ], [ -122.060298999719762, 37.657558000337715 ], [ -122.060469000019395, 37.657728000771478 ], [ -122.061273000278376, 37.658531001108472 ], [ -122.064784999426337, 37.659480001120414 ], [ -122.06292800013685, 37.659911000677845 ], [ -122.06125299960938, 37.660300000632738 ], [ -122.059578999550837, 37.660644001120865 ], [ -122.059432999671074, 37.660643000994135 ], [ -122.059853999871805, 37.660816000405141 ], [ -122.060210999931058, 37.660962000669095 ], [ -122.060475000369237, 37.661070000705259 ], [ -122.062573000354192, 37.661931000529108 ], [ -122.065729999998013, 37.663324000975166 ], [ -122.066544000026482, 37.663683001007527 ], [ -122.066379000387712, 37.663794001091972 ], [ -122.064507999644931, 37.664451000454868 ], [ -122.064109999686067, 37.664591000893218 ], [ -122.061205999978071, 37.665611000415048 ], [ -122.061086000354393, 37.665527000260496 ], [ -122.06087299974017, 37.665231000458043 ], [ -122.060521000022689, 37.664955000946776 ], [ -122.059957000146582, 37.664772000761452 ], [ -122.059832999487696, 37.664754001051847 ], [ -122.059773999665722, 37.664746000285483 ], [ -122.058949999941433, 37.664627001023767 ], [ -122.057872999929756, 37.664331000375732 ], [ -122.057515000426761, 37.664306000397524 ], [ -122.057057000248264, 37.664230000515289 ], [ -122.056279000089162, 37.66389400030652 ], [ -122.055698999557734, 37.663475000520798 ], [ -122.055271999901862, 37.66287200061138 ], [ -122.055161999911803, 37.662727000851859 ], [ -122.054981999654458, 37.66249100086052 ], [ -122.054524999544796, 37.662117000746015 ], [ -122.053974999401632, 37.661903000789692 ], [ -122.053516999716066, 37.661430000537024 ], [ -122.053221000340088, 37.661109000821007 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 841, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.07377299993216, 37.682131000786001 ], [ -122.073572999981621, 37.682231000942174 ], [ -122.072672999534703, 37.680831000418834 ], [ -122.072256999695284, 37.680929000421536 ], [ -122.072014999441279, 37.680986000478278 ], [ -122.070972999839285, 37.681231000915041 ], [ -122.07088599953201, 37.681256000991922 ], [ -122.070273000472042, 37.681431000656595 ], [ -122.071173000391028, 37.683130000285246 ], [ -122.070172999929937, 37.684230000540126 ], [ -122.068873000047446, 37.683730000923681 ], [ -122.068324999940188, 37.684826000350519 ], [ -122.068272999567981, 37.684930000619772 ], [ -122.067173000116995, 37.68383000057166 ], [ -122.066862999632505, 37.684016000631154 ], [ -122.06667299985088, 37.684130000523488 ], [ -122.066128999870742, 37.684596000669124 ], [ -122.065343999764977, 37.685269000630313 ], [ -122.065273000506068, 37.685330000790181 ], [ -122.064329999800378, 37.685896000813507 ], [ -122.064273000053419, 37.685930001007975 ], [ -122.063272999438325, 37.685930000351611 ], [ -122.063373000528856, 37.685430000281443 ], [ -122.063673000481899, 37.684630000806109 ], [ -122.06387299968786, 37.683730000574059 ], [ -122.062372999433364, 37.683930000762757 ], [ -122.062073000392957, 37.683830000731028 ], [ -122.061673000315267, 37.68393000029991 ], [ -122.061172999457526, 37.684130001050008 ], [ -122.06074300036164, 37.684082000948813 ], [ -122.060273000460157, 37.684030000486821 ], [ -122.059972999500943, 37.684030000591108 ], [ -122.059373000354014, 37.684130000400629 ], [ -122.059073000140472, 37.684130000922394 ], [ -122.058473000151025, 37.684230000638763 ], [ -122.057873000108899, 37.684230000843797 ], [ -122.054772999644882, 37.684530000958006 ], [ -122.054072999626541, 37.683730001085166 ], [ -122.053714000387743, 37.683269000800848 ], [ -122.053373000504635, 37.682830000602756 ], [ -122.053108999606451, 37.682408000765065 ], [ -122.052873000025755, 37.682031000367651 ], [ -122.052572999675931, 37.681631000403272 ], [ -122.051590000008233, 37.680255000656778 ], [ -122.050573000232092, 37.678831000944037 ], [ -122.052272999791327, 37.679131000720645 ], [ -122.052790999516517, 37.679205000278223 ], [ -122.053278999416619, 37.679275000983409 ], [ -122.05367299942138, 37.679331000684357 ], [ -122.053972999460782, 37.67933100027679 ], [ -122.055172999815824, 37.679531000252545 ], [ -122.055612999478285, 37.679629000639601 ], [ -122.056073000467705, 37.67973100086062 ], [ -122.057473000390928, 37.679931000866425 ], [ -122.057964999549313, 37.67982700044373 ], [ -122.059373000159368, 37.679531000592071 ], [ -122.059872999728483, 37.679431001010279 ], [ -122.060473000100998, 37.679231000928617 ], [ -122.060969000505608, 37.679066000311337 ], [ -122.061493000067188, 37.678891000481208 ], [ -122.063772999807327, 37.678131000879695 ], [ -122.065372999638697, 37.677931000370961 ], [ -122.066120999935592, 37.677795000568906 ], [ -122.066472999744775, 37.677731000495712 ], [ -122.06692300001238, 37.677567000341405 ], [ -122.067573000144606, 37.677331000664914 ], [ -122.067872999619354, 37.677231000651872 ], [ -122.068472999560043, 37.677031001029533 ], [ -122.070572999623536, 37.676331001102639 ], [ -122.071672999462777, 37.675931000547635 ], [ -122.07227300037151, 37.675731000368103 ], [ -122.073772999938754, 37.675231000855938 ], [ -122.074372999804638, 37.67603100027543 ], [ -122.074773999659314, 37.676631000509659 ], [ -122.075774000043154, 37.677731000872846 ], [ -122.07637400013185, 37.678231000868429 ], [ -122.077473999848934, 37.678431000351843 ], [ -122.076774000216162, 37.67883100082242 ], [ -122.075773999796922, 37.679131000267226 ], [ -122.075174000089191, 37.679831000413081 ], [ -122.075153999782842, 37.67986200092043 ], [ -122.074473999561107, 37.680931000345652 ], [ -122.074173000491669, 37.681931000348712 ], [ -122.07377299993216, 37.682131000786001 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 836, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.116075000371836, 37.683331001074912 ], [ -122.115174999816716, 37.682331000300366 ], [ -122.114767999583535, 37.681887000874831 ], [ -122.114075000093223, 37.681131000801358 ], [ -122.113874999554895, 37.680831000921636 ], [ -122.112674999798585, 37.679431001013555 ], [ -122.112474999616069, 37.679231001057026 ], [ -122.112275000503544, 37.679031000768155 ], [ -122.112182999643764, 37.678930000319809 ], [ -122.111275000469817, 37.677931000858663 ], [ -122.111020000306809, 37.677659000854945 ], [ -122.109775000480198, 37.676331001051061 ], [ -122.11067499950282, 37.675731001032865 ], [ -122.108496999540094, 37.673916000459059 ], [ -122.107363999430419, 37.672973000439775 ], [ -122.106474000152375, 37.672231001009813 ], [ -122.10373899992274, 37.669844000593905 ], [ -122.10044400006197, 37.666967000861163 ], [ -122.100174000438912, 37.666731001037832 ], [ -122.101173999951627, 37.666731000997366 ], [ -122.101774000316794, 37.666631000756084 ], [ -122.102274000020145, 37.66663100041545 ], [ -122.103273999469053, 37.666631000584552 ], [ -122.103431999872825, 37.666762000733904 ], [ -122.103568000155619, 37.666876000540995 ], [ -122.105608999499381, 37.668576000727427 ], [ -122.106274000216118, 37.669131000310323 ], [ -122.107567000105576, 37.670247000309814 ], [ -122.108475000057879, 37.671031000920529 ], [ -122.108775000377648, 37.671331000695183 ], [ -122.109375000442057, 37.671731000297392 ], [ -122.110174999660686, 37.672431000865942 ], [ -122.11117500019941, 37.672031000415011 ], [ -122.111474999947063, 37.671931000717414 ], [ -122.113015000395208, 37.673092000741171 ], [ -122.114106000394656, 37.673915001028682 ], [ -122.117574999488099, 37.676531000685351 ], [ -122.124174999999752, 37.681131000999635 ], [ -122.127474999836465, 37.683331000637324 ], [ -122.128774999695921, 37.684231000987161 ], [ -122.128175000411687, 37.684831000813183 ], [ -122.1280749993916, 37.684931001069209 ], [ -122.126375000521506, 37.684931000565406 ], [ -122.126032000503386, 37.685230000906969 ], [ -122.125575000284769, 37.685630000439801 ], [ -122.124974999731293, 37.685630000482192 ], [ -122.122075000233906, 37.685630000928043 ], [ -122.121213999755682, 37.68566900032458 ], [ -122.118368000518402, 37.685798000270793 ], [ -122.117674999888678, 37.685830000731642 ], [ -122.116774999487859, 37.685430000636373 ], [ -122.116774999924132, 37.68485500027321 ], [ -122.116775000323614, 37.684361000685641 ], [ -122.116774999520359, 37.684231000970392 ], [ -122.116075000371836, 37.683331001074912 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 834, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.161576000067711, 37.667531000766203 ], [ -122.157176000324228, 37.669731000395181 ], [ -122.156976000478011, 37.669431000239179 ], [ -122.155575999444693, 37.670231000968059 ], [ -122.154576000433892, 37.671131001099191 ], [ -122.155676000293695, 37.673531000644786 ], [ -122.154975999584892, 37.674631000252525 ], [ -122.154676000453165, 37.674831000847689 ], [ -122.1542789999191, 37.675035000954146 ], [ -122.151175999536505, 37.676631000522391 ], [ -122.150970000013032, 37.676721001075599 ], [ -122.144575999669769, 37.679531000657775 ], [ -122.144490999473973, 37.679733000247502 ], [ -122.14414099968171, 37.680563000303621 ], [ -122.143776000523658, 37.6814310004915 ], [ -122.141775999699689, 37.682631000654531 ], [ -122.14127599982244, 37.683031000247908 ], [ -122.139975999721685, 37.684131001109805 ], [ -122.138875999590823, 37.684431000897362 ], [ -122.138592999508973, 37.683301000871886 ], [ -122.138174999416606, 37.681631000492381 ], [ -122.136774999944151, 37.679331000679383 ], [ -122.137375000348271, 37.679131001134145 ], [ -122.13797499982654, 37.678931000308729 ], [ -122.138311999913242, 37.678771000533757 ], [ -122.139876000011839, 37.678031000943719 ], [ -122.139467000276753, 37.677372000717938 ], [ -122.1387599993962, 37.676230000295561 ], [ -122.13857500039849, 37.675931001122777 ], [ -122.138074999970215, 37.675131000276018 ], [ -122.137474999747084, 37.674431000394641 ], [ -122.140175000305888, 37.673431000719013 ], [ -122.139574999707804, 37.672631000561374 ], [ -122.139074999836822, 37.67193100079929 ], [ -122.138474999492246, 37.671231000307351 ], [ -122.138180999901266, 37.670817000307572 ], [ -122.13977500025932, 37.670131000912889 ], [ -122.145675999952786, 37.667231001054347 ], [ -122.147075999880315, 37.66663100066819 ], [ -122.146803000348427, 37.666383000319826 ], [ -122.146156000231343, 37.665794000703137 ], [ -122.145975999655235, 37.665631000547556 ], [ -122.145290999819792, 37.665001000477211 ], [ -122.14347599946889, 37.663331001017369 ], [ -122.141574999838895, 37.661331000504866 ], [ -122.144475999983641, 37.661531000934858 ], [ -122.146975999880851, 37.664431000276998 ], [ -122.151113999837222, 37.66446000041109 ], [ -122.161176000334947, 37.664531000600256 ], [ -122.160975999535694, 37.665731000720797 ], [ -122.161076000400968, 37.665931000353353 ], [ -122.161576000067711, 37.667531000766203 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 831, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.118274999897139, 37.665831000738095 ], [ -122.118975000473498, 37.666731000307713 ], [ -122.119075000182207, 37.667031000582334 ], [ -122.119174999952804, 37.667231000894581 ], [ -122.120174999582062, 37.668731000825204 ], [ -122.118532999405403, 37.669356000547545 ], [ -122.117252000263818, 37.669844000510977 ], [ -122.115975000034197, 37.670331000626639 ], [ -122.113175000236382, 37.671331000615758 ], [ -122.112137000398448, 37.671702000972829 ], [ -122.111775000035891, 37.67183100025332 ], [ -122.111474999947063, 37.671931000717414 ], [ -122.11117500019941, 37.672031000415011 ], [ -122.110174999660686, 37.672431000865942 ], [ -122.109375000442057, 37.671731000297392 ], [ -122.108775000377648, 37.671331000695183 ], [ -122.108475000057879, 37.671031000920529 ], [ -122.107567000105576, 37.670247000309814 ], [ -122.106274000216118, 37.669131000310323 ], [ -122.105608999499381, 37.668576000727427 ], [ -122.103568000155619, 37.666876000540995 ], [ -122.103431999872825, 37.666762000733904 ], [ -122.103273999469053, 37.666631000584552 ], [ -122.103922000191261, 37.666631000788854 ], [ -122.104492999757355, 37.666631000468435 ], [ -122.104512999516857, 37.66663100089788 ], [ -122.10457399999153, 37.66663100075376 ], [ -122.104591999425494, 37.666628000834642 ], [ -122.104663999425625, 37.666616000246464 ], [ -122.104744000424432, 37.666603000402269 ], [ -122.10478500015391, 37.666596001055559 ], [ -122.104918000436157, 37.66657400085856 ], [ -122.104967000036751, 37.666566000412899 ], [ -122.104986999530183, 37.666563000288697 ], [ -122.105110999761351, 37.666542000533511 ], [ -122.105124999445721, 37.666540000385687 ], [ -122.10515800035553, 37.666534001064505 ], [ -122.105173999666079, 37.666531000302243 ], [ -122.105230999876852, 37.666531001014135 ], [ -122.105292000277188, 37.666531000497592 ], [ -122.105301999578018, 37.666531000640504 ], [ -122.105393000149476, 37.666531000512627 ], [ -122.105423000320002, 37.666531000930355 ], [ -122.1054430000667, 37.666531000300488 ], [ -122.105453000501512, 37.666531000439214 ], [ -122.105474000276629, 37.666531001079655 ], [ -122.105736000384212, 37.666531000494054 ], [ -122.105773999768914, 37.666531001085318 ], [ -122.106473999752666, 37.666531000242294 ], [ -122.107274000087855, 37.666431000704151 ], [ -122.10754300050516, 37.666377000938411 ], [ -122.107773999588431, 37.666331000664265 ], [ -122.108073999451861, 37.666331001126196 ], [ -122.108175000397026, 37.666356000294044 ], [ -122.108475000078485, 37.66643100071763 ], [ -122.109475000480444, 37.666331000753139 ], [ -122.109974999835387, 37.666231000372065 ], [ -122.110775000061068, 37.666231000296584 ], [ -122.112138000423954, 37.666053000417698 ], [ -122.112654000080781, 37.665986000728019 ], [ -122.113075000005679, 37.665931001063335 ], [ -122.116683999592865, 37.665862000426408 ], [ -122.118274999897139, 37.665831000738095 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 824, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.076389000520905, 37.663489000437039 ], [ -122.075973999708154, 37.662831001055878 ], [ -122.07527399997349, 37.662731000754121 ], [ -122.075076000397331, 37.662780001006119 ], [ -122.073672999988361, 37.663131000517154 ], [ -122.072972999817068, 37.663631000426136 ], [ -122.070986999517771, 37.664348000569106 ], [ -122.069373000486223, 37.664931000862822 ], [ -122.066544000026482, 37.663683001007527 ], [ -122.065729999998013, 37.663324000975166 ], [ -122.062573000354192, 37.661931000529108 ], [ -122.060475000369237, 37.661070000705259 ], [ -122.060210999931058, 37.660962000669095 ], [ -122.059853999871805, 37.660816000405141 ], [ -122.059432999671074, 37.660643000994135 ], [ -122.059578999550837, 37.660644001120865 ], [ -122.06125299960938, 37.660300000632738 ], [ -122.06292800013685, 37.659911000677845 ], [ -122.064784999426337, 37.659480001120414 ], [ -122.061273000278376, 37.658531001108472 ], [ -122.060469000019395, 37.657728000771478 ], [ -122.060298999719762, 37.657558000337715 ], [ -122.060059999441194, 37.657319000628512 ], [ -122.060001999790359, 37.657261000500981 ], [ -122.059523000234961, 37.656782000883823 ], [ -122.059458999433801, 37.656718000377758 ], [ -122.059390999687267, 37.656650000374064 ], [ -122.059190000446719, 37.656449001087772 ], [ -122.059122999817603, 37.65638200034104 ], [ -122.059049999647129, 37.65630900033559 ], [ -122.058072999834764, 37.655332000454678 ], [ -122.060573000359085, 37.65513200051624 ], [ -122.061444999976828, 37.654514000362731 ], [ -122.06265599965532, 37.653656000655573 ], [ -122.062972999869046, 37.653432000576565 ], [ -122.063473000077607, 37.653032000525975 ], [ -122.064872999859929, 37.651832000369652 ], [ -122.06547299957019, 37.651732000331243 ], [ -122.066372999855986, 37.651632000721925 ], [ -122.066873000278079, 37.651232000394479 ], [ -122.068073000234747, 37.651032000240392 ], [ -122.069473000247342, 37.65063200054739 ], [ -122.069872999724481, 37.650532000877199 ], [ -122.074172999837643, 37.655932000382592 ], [ -122.074911000426496, 37.656823000456555 ], [ -122.07657399966233, 37.65883100103764 ], [ -122.078774000483648, 37.662231000270019 ], [ -122.080574000099759, 37.664231000705463 ], [ -122.081674000232525, 37.665331000489665 ], [ -122.082303999984973, 37.665961000687027 ], [ -122.082373999983858, 37.666031000400693 ], [ -122.082174000397828, 37.666331000538371 ], [ -122.081973999440947, 37.666831000435337 ], [ -122.081474000338474, 37.667631000755556 ], [ -122.080874000381343, 37.668731000588302 ], [ -122.078973999963338, 37.666731000755512 ], [ -122.078073999513435, 37.665631001098248 ], [ -122.077873999968375, 37.665331000755643 ], [ -122.07674300041343, 37.663938000591173 ], [ -122.076574000278853, 37.663731000957434 ], [ -122.076389000520905, 37.663489000437039 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 825, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.080373999437924, 37.65383200024764 ], [ -122.08087399951593, 37.65443200076394 ], [ -122.081637000389293, 37.655304000313031 ], [ -122.082273999976977, 37.656032000563521 ], [ -122.083973999534066, 37.657232001021995 ], [ -122.085673999644982, 37.657731000608536 ], [ -122.08607399999643, 37.658031000347783 ], [ -122.086573999870041, 37.658231000962424 ], [ -122.085573999904469, 37.659931000930264 ], [ -122.085274000299307, 37.660531000430012 ], [ -122.084874000335986, 37.661331000542326 ], [ -122.084273999409987, 37.662331000721359 ], [ -122.083874000219268, 37.663131000705825 ], [ -122.083274000234965, 37.664531000325347 ], [ -122.082973999681272, 37.664831000665899 ], [ -122.082774000383992, 37.665331000304299 ], [ -122.082373999983858, 37.666031000400693 ], [ -122.082303999984973, 37.665961000687027 ], [ -122.081674000232525, 37.665331000489665 ], [ -122.080574000099759, 37.664231000705463 ], [ -122.078774000483648, 37.662231000270019 ], [ -122.07657399966233, 37.65883100103764 ], [ -122.074911000426496, 37.656823000456555 ], [ -122.074172999837643, 37.655932000382592 ], [ -122.069872999724481, 37.650532000877199 ], [ -122.070373000256595, 37.650532000934682 ], [ -122.071072999858998, 37.65033200071494 ], [ -122.073873000390577, 37.649932000652562 ], [ -122.074273000527299, 37.649832000420922 ], [ -122.075474000411006, 37.649632001030064 ], [ -122.076174000027351, 37.649632000745854 ], [ -122.076974000161911, 37.649432000372862 ], [ -122.077973999566879, 37.650832001022863 ], [ -122.078774000371922, 37.651732000399541 ], [ -122.07887400014306, 37.651932000470644 ], [ -122.079165999807969, 37.652283000320189 ], [ -122.079660000230234, 37.652875000595571 ], [ -122.079873999987782, 37.653132000478692 ], [ -122.080373999437924, 37.65383200024764 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 827, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.093263000052858, 37.645674000332185 ], [ -122.093591999526723, 37.645062000995701 ], [ -122.093707999671679, 37.644863000278022 ], [ -122.093858000064785, 37.645062000359211 ], [ -122.094248999987826, 37.645580000401765 ], [ -122.095204999423927, 37.646891000359332 ], [ -122.097073999395505, 37.649532000617526 ], [ -122.097745000127688, 37.650695001082568 ], [ -122.099436999757586, 37.653424000682705 ], [ -122.100086999866107, 37.654547000728378 ], [ -122.10109200018384, 37.656235000588936 ], [ -122.101385999922186, 37.656730000994315 ], [ -122.100971999491094, 37.656877000717799 ], [ -122.100686000299845, 37.656988000352449 ], [ -122.099586999896474, 37.657341000722994 ], [ -122.09907399989531, 37.657531000363598 ], [ -122.097973999453771, 37.657831000521412 ], [ -122.096873999803279, 37.658231001042068 ], [ -122.094574000468612, 37.659031001113718 ], [ -122.094332999970533, 37.659141000282652 ], [ -122.094085999389804, 37.659252001097897 ], [ -122.094026999565642, 37.659278000588053 ], [ -122.093918999922735, 37.659325001001825 ], [ -122.093298999479444, 37.659616000807027 ], [ -122.092473999681772, 37.660031001073818 ], [ -122.089954999984442, 37.657684000754749 ], [ -122.088074000174856, 37.655932000494438 ], [ -122.08887400047972, 37.654032000570808 ], [ -122.0893740002589, 37.653032000632592 ], [ -122.09027399944452, 37.6514320009709 ], [ -122.091174000434464, 37.649532000244427 ], [ -122.092490999789007, 37.647106000608083 ], [ -122.092663000243519, 37.646775000674594 ], [ -122.09279099991268, 37.646529000416379 ], [ -122.093263000052858, 37.645674000332185 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 812, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.096874000067046, 37.639432000816278 ], [ -122.098274000213607, 37.637232000694418 ], [ -122.098485000075655, 37.637108000309766 ], [ -122.099874000272123, 37.636432000899191 ], [ -122.100073999950339, 37.636732000579137 ], [ -122.100374000233771, 37.637232000475876 ], [ -122.101273999744222, 37.638632000646226 ], [ -122.101674000518798, 37.639032000709612 ], [ -122.103676000487965, 37.642392000627247 ], [ -122.103965999582144, 37.64287900111178 ], [ -122.104474000117449, 37.64373200052394 ], [ -122.105373999784064, 37.645132000259686 ], [ -122.106073999880849, 37.646432000675446 ], [ -122.106673999892593, 37.647532000934866 ], [ -122.1070740003521, 37.648032000621882 ], [ -122.107293999808377, 37.648389000499769 ], [ -122.108674000470842, 37.650632000530599 ], [ -122.108974000334669, 37.651232000585921 ], [ -122.110174999497801, 37.653332000268321 ], [ -122.109173999576839, 37.65373200072117 ], [ -122.108673999471549, 37.65383200104003 ], [ -122.107974000076879, 37.654032000265758 ], [ -122.107274000177469, 37.654332000714994 ], [ -122.105273999625823, 37.655132000887534 ], [ -122.103570999427333, 37.655871000707315 ], [ -122.102114000207521, 37.656459000929942 ], [ -122.101385999922186, 37.656730000994315 ], [ -122.10109200018384, 37.656235000588936 ], [ -122.100086999866107, 37.654547000728378 ], [ -122.099436999757586, 37.653424000682705 ], [ -122.097745000127688, 37.650695001082568 ], [ -122.097073999395505, 37.649532000617526 ], [ -122.095204999423927, 37.646891000359332 ], [ -122.094248999987826, 37.645580000401765 ], [ -122.093858000064785, 37.645062000359211 ], [ -122.093707999671679, 37.644863000278022 ], [ -122.093785999839113, 37.64471800097801 ], [ -122.094124000477606, 37.644147000611675 ], [ -122.094904999984422, 37.642841000344283 ], [ -122.096874000067046, 37.639432000816278 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 811, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.120074999992397, 37.647332000303187 ], [ -122.120136999478333, 37.647518000632445 ], [ -122.120175000083478, 37.647632000503158 ], [ -122.120074999982847, 37.64793200059863 ], [ -122.120074999744233, 37.648312000242349 ], [ -122.12007500017188, 37.648502000509971 ], [ -122.120075000205574, 37.648732000300491 ], [ -122.120275000312589, 37.649932000588677 ], [ -122.120274999604376, 37.650332000319509 ], [ -122.120274999603964, 37.65063200078017 ], [ -122.120175000293003, 37.65323200099958 ], [ -122.118774999451929, 37.653232000233437 ], [ -122.11757500019354, 37.653132000948105 ], [ -122.113674999432419, 37.653232000871171 ], [ -122.112674999910638, 37.653232000604049 ], [ -122.110174999497801, 37.653332000268321 ], [ -122.108974000334669, 37.651232000585921 ], [ -122.108674000470842, 37.650632000530599 ], [ -122.107293999808377, 37.648389000499769 ], [ -122.1070740003521, 37.648032000621882 ], [ -122.106673999892593, 37.647532000934866 ], [ -122.106073999880849, 37.646432000675446 ], [ -122.105373999784064, 37.645132000259686 ], [ -122.104474000117449, 37.64373200052394 ], [ -122.103965999582144, 37.64287900111178 ], [ -122.103676000487965, 37.642392000627247 ], [ -122.101674000518798, 37.639032000709612 ], [ -122.101273999744222, 37.638632000646226 ], [ -122.100374000233771, 37.637232000475876 ], [ -122.100073999950339, 37.636732000579137 ], [ -122.099874000272123, 37.636432000899191 ], [ -122.099977000260324, 37.63639200031222 ], [ -122.101905999994528, 37.635662000668304 ], [ -122.102073999561483, 37.635632001021946 ], [ -122.109875000204596, 37.632425001126521 ], [ -122.109976000305195, 37.632614000752547 ], [ -122.110072999883073, 37.632796001118834 ], [ -122.110574000429921, 37.633432000803097 ], [ -122.111174000434843, 37.634332000359642 ], [ -122.111974999802541, 37.634832000601406 ], [ -122.112575000110112, 37.635332000590175 ], [ -122.112975000264441, 37.635732000621289 ], [ -122.11357499998438, 37.636132000579671 ], [ -122.117575000460988, 37.638732000385971 ], [ -122.11947500051609, 37.640332000916786 ], [ -122.119875000264187, 37.643432000699498 ], [ -122.119774999934947, 37.644132000904563 ], [ -122.119875000464489, 37.644732000436775 ], [ -122.119912999791765, 37.644845000864926 ], [ -122.11997499986991, 37.645032000908643 ], [ -122.119875000415661, 37.645232000745438 ], [ -122.11988199995929, 37.645283000821166 ], [ -122.119898000180157, 37.64540600036554 ], [ -122.119955999945589, 37.645836000799555 ], [ -122.120074999895223, 37.64673200084853 ], [ -122.120074999992397, 37.647332000303187 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 815, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.076459000042064, 37.645961001020218 ], [ -122.072172999476791, 37.642232000391999 ], [ -122.072673000360822, 37.641932000444186 ], [ -122.073972999523278, 37.640932000594738 ], [ -122.076515999947645, 37.640850000660365 ], [ -122.077074000392244, 37.640832000388293 ], [ -122.077169999632545, 37.640832000591111 ], [ -122.077804999891541, 37.640832000860598 ], [ -122.078073999996747, 37.640832000605243 ], [ -122.078750999443699, 37.640894000992617 ], [ -122.079173999922475, 37.640932000541163 ], [ -122.081273999897448, 37.640832001114354 ], [ -122.081173999643937, 37.64053200090661 ], [ -122.081273999561404, 37.639632000518162 ], [ -122.083374000008774, 37.639632000500612 ], [ -122.083373999854658, 37.641063000322916 ], [ -122.083374000495937, 37.641532000719046 ], [ -122.083374000169513, 37.644532000360122 ], [ -122.083273999944495, 37.646832000521236 ], [ -122.083374000429828, 37.647632000260863 ], [ -122.083373999452107, 37.64833200070791 ], [ -122.082923999770571, 37.648418000946243 ], [ -122.082782999834023, 37.6484450004561 ], [ -122.081273999909683, 37.64873200087321 ], [ -122.08037400044573, 37.648832000985635 ], [ -122.079874000265079, 37.648932000928184 ], [ -122.076459000042064, 37.645961001020218 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 816, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.08337399951121, 37.63833200029007 ], [ -122.083474000466438, 37.638932000849202 ], [ -122.083374000008774, 37.639632000500612 ], [ -122.081273999561404, 37.639632000518162 ], [ -122.081173999643937, 37.64053200090661 ], [ -122.081273999897448, 37.640832001114354 ], [ -122.079173999922475, 37.640932000541163 ], [ -122.078750999443699, 37.640894000992617 ], [ -122.078073999996747, 37.640832000605243 ], [ -122.076773999963208, 37.637632000744361 ], [ -122.075773999963275, 37.636132000470774 ], [ -122.074472999777143, 37.633232000503334 ], [ -122.074272999919913, 37.632832000979 ], [ -122.073072999409902, 37.631333000858326 ], [ -122.074373000045853, 37.631433000936894 ], [ -122.075173000093272, 37.631433000640676 ], [ -122.075774000399576, 37.631333000706711 ], [ -122.077473999807339, 37.631432000241162 ], [ -122.079473999857527, 37.631432000288456 ], [ -122.081174000219988, 37.631532001081212 ], [ -122.083902000334945, 37.631518000617532 ], [ -122.084424999886366, 37.631494000657547 ], [ -122.084773999660811, 37.632132000863798 ], [ -122.086074000420865, 37.633932000848702 ], [ -122.087812999934656, 37.636389000852745 ], [ -122.087165999430937, 37.636623000336932 ], [ -122.086881999435036, 37.636817001085099 ], [ -122.084373999571795, 37.636932000289306 ], [ -122.083373999660111, 37.63693200058767 ], [ -122.083373999653773, 37.637632000479968 ], [ -122.08337399951121, 37.63833200029007 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 818, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.066107000287033, 37.637078000737198 ], [ -122.066339000423213, 37.63728000106348 ], [ -122.071672999997617, 37.641932000314803 ], [ -122.072172999476791, 37.642232000391999 ], [ -122.076459000042064, 37.645961001020218 ], [ -122.079874000265079, 37.648932000928184 ], [ -122.076974000161911, 37.649432000372862 ], [ -122.076174000027351, 37.649632000745854 ], [ -122.075474000411006, 37.649632001030064 ], [ -122.074273000527299, 37.649832000420922 ], [ -122.073873000390577, 37.649932000652562 ], [ -122.071072999858998, 37.65033200071494 ], [ -122.070373000256595, 37.650532000934682 ], [ -122.069872999724481, 37.650532000877199 ], [ -122.065572999752845, 37.645232000716888 ], [ -122.058373000435651, 37.635732000508746 ], [ -122.058841000133285, 37.635673000738613 ], [ -122.05925899982752, 37.635621001111005 ], [ -122.059972999426193, 37.635532000276108 ], [ -122.06047299995474, 37.635432000319291 ], [ -122.061273000241727, 37.635332000815012 ], [ -122.061572999608259, 37.635132000849069 ], [ -122.063072999655489, 37.634432000231122 ], [ -122.066107000287033, 37.637078000737198 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 805, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.025072000044545, 37.610233000776773 ], [ -122.023872000199063, 37.609033000458915 ], [ -122.025371999857143, 37.609033000477737 ], [ -122.031063000267906, 37.608957000474057 ], [ -122.032871999589091, 37.608933000908408 ], [ -122.03376499963683, 37.608880001105504 ], [ -122.03457199998725, 37.608833000378397 ], [ -122.039473000468959, 37.613133000942767 ], [ -122.039672999854375, 37.613233000302152 ], [ -122.041199999860822, 37.614602000422444 ], [ -122.042756000504667, 37.615997000916103 ], [ -122.048373000279852, 37.621033000377111 ], [ -122.048673000358704, 37.621333000817671 ], [ -122.049473000316368, 37.624233000629566 ], [ -122.051072999491069, 37.626233000467188 ], [ -122.050773000249293, 37.626533000256636 ], [ -122.048972999991776, 37.627933000310989 ], [ -122.046851999517457, 37.629653000476104 ], [ -122.045873000512074, 37.628933000868422 ], [ -122.044872999415034, 37.62803300090529 ], [ -122.041772999607531, 37.625233000624561 ], [ -122.039372999797649, 37.622833000539799 ], [ -122.038572000446337, 37.622033000725786 ], [ -122.036871999709518, 37.620433000522802 ], [ -122.035517999431875, 37.61924900095552 ], [ -122.034617999956495, 37.618461000632131 ], [ -122.034471999961184, 37.618333000827825 ], [ -122.030955999896605, 37.615276000316562 ], [ -122.030473999601625, 37.614857000304276 ], [ -122.02987200007297, 37.614333000848397 ], [ -122.028871999646555, 37.613433000458045 ], [ -122.028471999744369, 37.613033000772575 ], [ -122.027471999980662, 37.612233000353704 ], [ -122.02667200036575, 37.611433000947969 ], [ -122.02647200029746, 37.611233000246273 ], [ -122.025072000044545, 37.610233000776773 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 17, "TAZ1454": 808, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.090173999816173, 37.631632000236884 ], [ -122.089673999460274, 37.631632000981917 ], [ -122.087674000267171, 37.631532000572172 ], [ -122.084898999397822, 37.631502000841834 ], [ -122.084424999886366, 37.631494000657547 ], [ -122.084173999909353, 37.631133000294589 ], [ -122.082973999752468, 37.629533000617108 ], [ -122.082074000067166, 37.628433000666092 ], [ -122.079674000349598, 37.62473300108109 ], [ -122.080073999840394, 37.624633000714603 ], [ -122.080573999400798, 37.624733001049648 ], [ -122.081374000499252, 37.624733000680045 ], [ -122.082273999664864, 37.624733000297411 ], [ -122.083374000247773, 37.624633000910684 ], [ -122.084174000436093, 37.624633000466368 ], [ -122.085373999863947, 37.624733000321832 ], [ -122.086274000408395, 37.624733000977159 ], [ -122.087073999566655, 37.624733000691904 ], [ -122.087973999934988, 37.624433000825356 ], [ -122.088573999736909, 37.625133000599796 ], [ -122.088974000370854, 37.625733000410904 ], [ -122.090474000158679, 37.62523300098497 ], [ -122.091173999849985, 37.624933000372856 ], [ -122.091973999798086, 37.624633000879577 ], [ -122.092673999540011, 37.624433000681414 ], [ -122.094173999591447, 37.627233000757606 ], [ -122.095674000417446, 37.629233000973443 ], [ -122.096674000471396, 37.630933000557079 ], [ -122.093773999884846, 37.631632000786169 ], [ -122.090173999816173, 37.631632000236884 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 774, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.010772000077935, 37.561835000576046 ], [ -122.009371999879576, 37.562935000480145 ], [ -122.007872000059649, 37.564335000579007 ], [ -122.005871999527812, 37.565935000894569 ], [ -122.005289000399415, 37.565481001044425 ], [ -122.003885999923028, 37.563872000261846 ], [ -122.003725999830962, 37.563665000939466 ], [ -122.003638999697444, 37.563584000392694 ], [ -122.003463999502131, 37.563526000475989 ], [ -122.003317999778389, 37.563492000380187 ], [ -122.003157999844746, 37.56348000031781 ], [ -122.00298000049392, 37.563451000521113 ], [ -122.002750000080539, 37.563445000954836 ], [ -122.00264100014995, 37.563448000870018 ], [ -122.002375000484108, 37.563455000835873 ], [ -122.001222999835349, 37.563484000559292 ], [ -121.997564999629773, 37.563566000317259 ], [ -121.997360999855744, 37.563543000303042 ], [ -121.997157000295175, 37.56350800065011 ], [ -121.996997000239645, 37.563439000801964 ], [ -121.996865999955688, 37.563370001103564 ], [ -121.996805999715434, 37.563309000875073 ], [ -121.996764000005982, 37.563266000651055 ], [ -121.996661999703448, 37.563139001094861 ], [ -121.996545999910992, 37.562943000784266 ], [ -121.996496999924261, 37.562894000353573 ], [ -121.996554000480501, 37.562878000609167 ], [ -121.997072000105689, 37.5627350003966 ], [ -121.997423000400218, 37.562637000502157 ], [ -122.002072000293424, 37.561336000483806 ], [ -122.001871999779468, 37.560736000513778 ], [ -122.001571999733642, 37.559836000304344 ], [ -122.001808000515368, 37.559780000421732 ], [ -122.003272000003548, 37.559436000566485 ], [ -122.003271999921381, 37.558836000263774 ], [ -122.003498000290605, 37.55859000031564 ], [ -122.004372000438153, 37.557636000397835 ], [ -122.004871999593291, 37.556936000927386 ], [ -122.004171999891682, 37.556436000623442 ], [ -122.004771999435832, 37.555636000346297 ], [ -122.004972000367886, 37.555336000754856 ], [ -122.005172000467454, 37.555136000774993 ], [ -122.005771999481667, 37.554436000520226 ], [ -122.007471999500495, 37.552336000737 ], [ -122.008972000495916, 37.550436000276356 ], [ -122.009171999717111, 37.550136000326766 ], [ -122.010271999425925, 37.548736000777225 ], [ -122.010671999532661, 37.548236000486213 ], [ -122.011872000402875, 37.546636000791615 ], [ -122.01202199955091, 37.546486001128621 ], [ -122.012371999754677, 37.546136000262607 ], [ -122.012471999532409, 37.545936000784941 ], [ -122.012574000501473, 37.545809000928564 ], [ -122.012872000178874, 37.545436000750783 ], [ -122.013504999531406, 37.544746000937742 ], [ -122.013972000014064, 37.544236000441884 ], [ -122.01457200035837, 37.543336000489511 ], [ -122.014701000263614, 37.543147001024842 ], [ -122.014755999945038, 37.543067000451835 ], [ -122.015401999444478, 37.542123000344134 ], [ -122.015871999920563, 37.541436001085977 ], [ -122.01621300021651, 37.541020001129048 ], [ -122.016772000114017, 37.54033600099099 ], [ -122.017472000001135, 37.539236000710737 ], [ -122.020371999561675, 37.542836001001078 ], [ -122.020572000446364, 37.543136000838331 ], [ -122.021079999424131, 37.543898000580079 ], [ -122.021197000145818, 37.544097000829254 ], [ -122.021572000250146, 37.544636001129653 ], [ -122.022495999792369, 37.545880000981313 ], [ -122.02298600023299, 37.54654000081625 ], [ -122.022438999537414, 37.547185000754304 ], [ -122.022138999664818, 37.54762000090038 ], [ -122.021572999749509, 37.548237000938443 ], [ -122.021042999638894, 37.54888100109978 ], [ -122.020571999579133, 37.549536000362039 ], [ -122.020072000257855, 37.550136000561778 ], [ -122.019072000404151, 37.551536000889811 ], [ -122.018571999840205, 37.552236000823491 ], [ -122.017840000408185, 37.553168001134821 ], [ -122.017471999899342, 37.553636000908512 ], [ -122.017222999716381, 37.553953000755101 ], [ -122.017048000176757, 37.554175001031417 ], [ -122.016372000182685, 37.555036000997418 ], [ -122.016124999894473, 37.555324000550819 ], [ -122.015171999440184, 37.556436000668349 ], [ -122.014271999444162, 37.557436000591636 ], [ -122.013772000390006, 37.558236000662454 ], [ -122.013371999401031, 37.558936000490561 ], [ -122.012772000142405, 37.55963600030811 ], [ -122.012072000145736, 37.560535000492763 ], [ -122.010772000077935, 37.561835000576046 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 776, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.989855999490615, 37.553830000904497 ], [ -121.989985999599241, 37.553667000393951 ], [ -121.991370999648964, 37.55193600073364 ], [ -121.992671000364723, 37.550536000534912 ], [ -121.996471999823655, 37.552436000418687 ], [ -121.998271999578847, 37.55343600059085 ], [ -121.999181999641124, 37.554015000876269 ], [ -121.999371999763369, 37.554136000571937 ], [ -121.999891000270566, 37.554432000432953 ], [ -122.000071999513267, 37.554536000425287 ], [ -122.000335000080483, 37.554653000261332 ], [ -122.00076199973347, 37.554843000464722 ], [ -122.000972000478839, 37.554936000539875 ], [ -122.002672000233559, 37.555836000754169 ], [ -122.004171999891682, 37.556436000623442 ], [ -122.004871999593291, 37.556936000927386 ], [ -122.004372000438153, 37.557636000397835 ], [ -122.003498000290605, 37.55859000031564 ], [ -122.003271999921381, 37.558836000263774 ], [ -122.003272000003548, 37.559436000566485 ], [ -122.001808000515368, 37.559780000421732 ], [ -122.001571999733642, 37.559836000304344 ], [ -122.001871999779468, 37.560736000513778 ], [ -122.002072000293424, 37.561336000483806 ], [ -121.997423000400218, 37.562637000502157 ], [ -121.997072000105689, 37.5627350003966 ], [ -121.996554000480501, 37.562878000609167 ], [ -121.996496999924261, 37.562894000353573 ], [ -121.986467000258557, 37.565670000743687 ], [ -121.985871000045904, 37.565835000909161 ], [ -121.985606999931434, 37.565907000518351 ], [ -121.983671000243277, 37.566435000829159 ], [ -121.983370999479021, 37.56543500088538 ], [ -121.983209000173133, 37.564868000366921 ], [ -121.983171000449516, 37.564735000564653 ], [ -121.982970999879129, 37.564235000949054 ], [ -121.982871000511025, 37.563935000282093 ], [ -121.982770999621124, 37.563535000744785 ], [ -121.980771000142397, 37.56393500087183 ], [ -121.979570999960799, 37.564135000431904 ], [ -121.979071000123028, 37.562435000832814 ], [ -121.978918999854713, 37.562030000300489 ], [ -121.978613000510492, 37.561213000579336 ], [ -121.978547000038645, 37.56103700108094 ], [ -121.978470999602365, 37.560835000253959 ], [ -121.978788999545472, 37.560411000689193 ], [ -121.979001000086072, 37.560129000489795 ], [ -121.979370999964019, 37.559635000872902 ], [ -121.97967099940162, 37.559335000969064 ], [ -121.980570999510917, 37.558335000395445 ], [ -121.981770999692145, 37.558935000429628 ], [ -121.982470999602171, 37.559335000413718 ], [ -121.982970999458345, 37.558635000575137 ], [ -121.983370999828566, 37.558335000796781 ], [ -121.983867999651864, 37.557783000484044 ], [ -121.984270999536676, 37.557336000778939 ], [ -121.985570999482988, 37.557436000858843 ], [ -121.987470999443417, 37.556536000270853 ], [ -121.988571000119308, 37.55543600055077 ], [ -121.989855999490615, 37.553830000904497 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 778, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.979370999964019, 37.559635000872902 ], [ -121.979001000086072, 37.560129000489795 ], [ -121.978788999545472, 37.560411000689193 ], [ -121.978470999602365, 37.560835000253959 ], [ -121.978547000038645, 37.56103700108094 ], [ -121.978613000510492, 37.561213000579336 ], [ -121.978918999854713, 37.562030000300489 ], [ -121.979071000123028, 37.562435000832814 ], [ -121.979570999960799, 37.564135000431904 ], [ -121.980771000142397, 37.56393500087183 ], [ -121.982770999621124, 37.563535000744785 ], [ -121.982871000511025, 37.563935000282093 ], [ -121.982970999879129, 37.564235000949054 ], [ -121.983171000449516, 37.564735000564653 ], [ -121.983209000173133, 37.564868000366921 ], [ -121.983370999479021, 37.56543500088538 ], [ -121.983671000243277, 37.566435000829159 ], [ -121.984071000041027, 37.567535000292509 ], [ -121.984116000449916, 37.567671001014247 ], [ -121.984170999656655, 37.567835000726248 ], [ -121.97087099999257, 37.572435000409861 ], [ -121.969839999627268, 37.573065001028858 ], [ -121.969070999983188, 37.573535000566999 ], [ -121.968470999977868, 37.572935000932716 ], [ -121.968170999595301, 37.572635000869347 ], [ -121.96767100048514, 37.572135000884558 ], [ -121.967371000133966, 37.571735000284121 ], [ -121.966062000242403, 37.570229001087057 ], [ -121.965370000438568, 37.569435000337066 ], [ -121.964670000295584, 37.568735000417639 ], [ -121.964270000023518, 37.568235000448439 ], [ -121.964220000209295, 37.56818500096405 ], [ -121.963845000371478, 37.56781000099032 ], [ -121.963469999736958, 37.567435000719144 ], [ -121.961570000150061, 37.565335000766439 ], [ -121.960440999832201, 37.564103000737028 ], [ -121.959370000413571, 37.562935000872322 ], [ -121.957269999509094, 37.5606350008606 ], [ -121.955870000439688, 37.559735001018836 ], [ -121.955754999575518, 37.558104001030884 ], [ -121.955724000412687, 37.557671000887737 ], [ -121.955588000407275, 37.555735000921686 ], [ -121.955534000090097, 37.554974000757596 ], [ -121.955516999671872, 37.554735000712753 ], [ -121.955441000404988, 37.553652000433068 ], [ -121.955417000293465, 37.553314000540595 ], [ -121.955339000296846, 37.552205000814574 ], [ -121.955305999401077, 37.551735000405614 ], [ -121.955245999537851, 37.55088300066982 ], [ -121.955238000098646, 37.550772000827088 ], [ -121.955187999701693, 37.550065000963386 ], [ -121.954670000202626, 37.542736000760961 ], [ -121.954570000254847, 37.541636001049262 ], [ -121.956169999912689, 37.541336001022934 ], [ -121.957970000313509, 37.541836000773152 ], [ -121.960469999881099, 37.543236000326814 ], [ -121.960969999905359, 37.543636000363442 ], [ -121.961838000185068, 37.5441840002986 ], [ -121.962870000357469, 37.544836000432369 ], [ -121.96537099979119, 37.546136000286289 ], [ -121.967670999434958, 37.547336001080588 ], [ -121.970471000285073, 37.547836000413682 ], [ -121.972370999757871, 37.548636000425425 ], [ -121.974049000526847, 37.549505000363958 ], [ -121.977770999561812, 37.551436000613293 ], [ -121.976270999445376, 37.553436000272434 ], [ -121.979170999554285, 37.555136000957276 ], [ -121.981970999492262, 37.556436000416618 ], [ -121.981770999841402, 37.556636000310753 ], [ -121.980570999510917, 37.558335000395445 ], [ -121.97967099940162, 37.559335000969064 ], [ -121.979370999964019, 37.559635000872902 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 780, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.924968999768282, 37.560335000392719 ], [ -121.924969000102266, 37.557435001026938 ], [ -121.923368999971288, 37.557435001054571 ], [ -121.923369000237159, 37.558335000761829 ], [ -121.921469000066011, 37.559235000574823 ], [ -121.919093999836377, 37.559763000575629 ], [ -121.919398999493652, 37.561040001019549 ], [ -121.917118999934686, 37.560902000921196 ], [ -121.917021000444791, 37.560224000281835 ], [ -121.915169000050483, 37.560635000240907 ], [ -121.91496900027208, 37.556135000545716 ], [ -121.91606899982051, 37.55393500078879 ], [ -121.916668999505191, 37.553135000379442 ], [ -121.917568999698332, 37.551835000245191 ], [ -121.918468999915419, 37.550335000387491 ], [ -121.919069000164271, 37.549235000572445 ], [ -121.921069000264239, 37.543735000866945 ], [ -121.921269000240429, 37.543435001069234 ], [ -121.921520999774572, 37.543016000703247 ], [ -121.924368999526124, 37.540336000669171 ], [ -121.924869000018163, 37.540736001071693 ], [ -121.926069000106821, 37.54163500043164 ], [ -121.929763999659301, 37.543702000418875 ], [ -121.931912999486912, 37.544904000748105 ], [ -121.931968999762191, 37.544935000752645 ], [ -121.93281700006925, 37.545427000436149 ], [ -121.933829000421568, 37.546014000476973 ], [ -121.935070000038792, 37.546735000787429 ], [ -121.936393000244124, 37.547529000914338 ], [ -121.936569999564512, 37.547635000469043 ], [ -121.937105999743849, 37.547982001060269 ], [ -121.937491999761264, 37.548231000999955 ], [ -121.937552999503183, 37.54827100066823 ], [ -121.938274000194028, 37.548738001085624 ], [ -121.938880000451434, 37.549130000466278 ], [ -121.939969999854213, 37.549835000841526 ], [ -121.94287000039111, 37.55163500027664 ], [ -121.944870000486205, 37.552935000342366 ], [ -121.945969999718528, 37.553535000641638 ], [ -121.947323999638073, 37.554411000751038 ], [ -121.94924599992018, 37.555655000486979 ], [ -121.950203000496515, 37.556274000836673 ], [ -121.95107000023259, 37.556835000665131 ], [ -121.951291000347453, 37.556968000449174 ], [ -121.951938000056415, 37.557356000702391 ], [ -121.953070000175572, 37.558035000805056 ], [ -121.955870000439688, 37.559735001018836 ], [ -121.957269999509094, 37.5606350008606 ], [ -121.959370000413571, 37.562935000872322 ], [ -121.960440999832201, 37.564103000737028 ], [ -121.961570000150061, 37.565335000766439 ], [ -121.96111200030721, 37.565668000960343 ], [ -121.960469999437137, 37.566135000502257 ], [ -121.960070000082126, 37.566335000455538 ], [ -121.959169999742087, 37.56693500029138 ], [ -121.957769999573358, 37.568935001036365 ], [ -121.952969999567784, 37.570535000943906 ], [ -121.950106999908741, 37.570429000280527 ], [ -121.936769999879672, 37.56993500070076 ], [ -121.934269000425417, 37.570634000940956 ], [ -121.931868999794489, 37.572634000670725 ], [ -121.927969000396203, 37.570834000955806 ], [ -121.927169000303877, 37.569434001040321 ], [ -121.928069000148, 37.567935000473838 ], [ -121.924968999581949, 37.567834000486961 ], [ -121.922468999499344, 37.566035000250494 ], [ -121.92066899980108, 37.560735000480086 ], [ -121.924868999559365, 37.560735000593155 ], [ -121.924968999768282, 37.560335000392719 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 779, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.942470000496726, 37.547235000943672 ], [ -121.943970000070877, 37.545636000912609 ], [ -121.944469999797931, 37.545136000418168 ], [ -121.946069999553103, 37.54353600081668 ], [ -121.946870000144514, 37.54273600113391 ], [ -121.948069999814123, 37.541536000950089 ], [ -121.948369999863715, 37.541136000976962 ], [ -121.94876999960421, 37.540636000273793 ], [ -121.949270000148815, 37.540236000942322 ], [ -121.949521000217104, 37.539931000933464 ], [ -121.950008999839255, 37.539338000738368 ], [ -121.950406999625358, 37.538855000586352 ], [ -121.950669999969946, 37.538536000799397 ], [ -121.95099799985023, 37.538142000255114 ], [ -121.951170000109244, 37.537936000687594 ], [ -121.951670000054492, 37.537336001051244 ], [ -121.952270000281231, 37.536736000542206 ], [ -121.953563999586038, 37.535269000611109 ], [ -121.953565999459897, 37.534975000730036 ], [ -121.953573999415084, 37.533375000980342 ], [ -121.953769999968827, 37.533336000657783 ], [ -121.954170000444634, 37.533136001068883 ], [ -121.953669999828278, 37.534636000368778 ], [ -121.953770000094522, 37.535036000933772 ], [ -121.953808000493666, 37.53535200047903 ], [ -121.954509999743692, 37.541139000373292 ], [ -121.954570000254847, 37.541636001049262 ], [ -121.954670000202626, 37.542736000760961 ], [ -121.955187999701693, 37.550065000963386 ], [ -121.955238000098646, 37.550772000827088 ], [ -121.955245999537851, 37.55088300066982 ], [ -121.955305999401077, 37.551735000405614 ], [ -121.955339000296846, 37.552205000814574 ], [ -121.955417000293465, 37.553314000540595 ], [ -121.955441000404988, 37.553652000433068 ], [ -121.955516999671872, 37.554735000712753 ], [ -121.955534000090097, 37.554974000757596 ], [ -121.955588000407275, 37.555735000921686 ], [ -121.955724000412687, 37.557671000887737 ], [ -121.955754999575518, 37.558104001030884 ], [ -121.955870000439688, 37.559735001018836 ], [ -121.953070000175572, 37.558035000805056 ], [ -121.951938000056415, 37.557356000702391 ], [ -121.951291000347453, 37.556968000449174 ], [ -121.95107000023259, 37.556835000665131 ], [ -121.950203000496515, 37.556274000836673 ], [ -121.94924599992018, 37.555655000486979 ], [ -121.947323999638073, 37.554411000751038 ], [ -121.945969999718528, 37.553535000641638 ], [ -121.944870000486205, 37.552935000342366 ], [ -121.94287000039111, 37.55163500027664 ], [ -121.939969999854213, 37.549835000841526 ], [ -121.941570000041139, 37.548235000715302 ], [ -121.94198100020752, 37.547778000304952 ], [ -121.942470000496726, 37.547235000943672 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 756, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.926069000106821, 37.54163500043164 ], [ -121.924869000018163, 37.540736001071693 ], [ -121.924368999526124, 37.540336000669171 ], [ -121.92482399950309, 37.540025000246182 ], [ -121.926268999399724, 37.539136000692345 ], [ -121.933569999985536, 37.53563600103702 ], [ -121.936769999609965, 37.534136000602288 ], [ -121.938269999837033, 37.533436000632349 ], [ -121.940469999624128, 37.532336000824976 ], [ -121.940724999838423, 37.532206000707042 ], [ -121.942477000434437, 37.531308000743721 ], [ -121.94325200045958, 37.530905000416233 ], [ -121.944690000481302, 37.53011100029341 ], [ -121.94536999951886, 37.529736000741657 ], [ -121.946369999475252, 37.528936000442712 ], [ -121.946547000266918, 37.528647000394294 ], [ -121.946799999880525, 37.528261000656009 ], [ -121.946916999691283, 37.527874000319343 ], [ -121.946975999943405, 37.527549001110799 ], [ -121.947015000494204, 37.527024000239926 ], [ -121.946955999766899, 37.526158000401693 ], [ -121.946819999869234, 37.525277000730661 ], [ -121.946702999577127, 37.524581001009786 ], [ -121.946429999743188, 37.524009000655745 ], [ -121.94574799994723, 37.523035000242785 ], [ -121.94366999969192, 37.520337000381765 ], [ -121.942869999541571, 37.519437000731585 ], [ -121.941625999593597, 37.517437000500848 ], [ -121.940070000075053, 37.514937000641282 ], [ -121.939770000170739, 37.514437000464206 ], [ -121.940304999951763, 37.514347000729863 ], [ -121.940879000158631, 37.514268001065176 ], [ -121.941049000177671, 37.514245000420935 ], [ -121.94306999988703, 37.514137000569583 ], [ -121.943605000251623, 37.514006000814213 ], [ -121.945569999842945, 37.513337000836039 ], [ -121.945870000260726, 37.513237000810591 ], [ -121.949070000087517, 37.5194370009499 ], [ -121.949165999842535, 37.519640000566966 ], [ -121.949211999669615, 37.519738000734193 ], [ -121.950079999617913, 37.521574000624476 ], [ -121.951669999887386, 37.524936000938673 ], [ -121.951827000056412, 37.525179000640328 ], [ -121.952767999905532, 37.526632000297411 ], [ -121.95307200029842, 37.527102000411944 ], [ -121.953416999523526, 37.527636001025577 ], [ -121.953869999995447, 37.528336000526409 ], [ -121.954469999517357, 37.530036000972174 ], [ -121.954770000484842, 37.533136000267369 ], [ -121.954170000444634, 37.533136001068883 ], [ -121.953769999968827, 37.533336000657783 ], [ -121.953573999415084, 37.533375000980342 ], [ -121.953565999459897, 37.534975000730036 ], [ -121.953563999586038, 37.535269000611109 ], [ -121.952270000281231, 37.536736000542206 ], [ -121.951670000054492, 37.537336001051244 ], [ -121.951170000109244, 37.537936000687594 ], [ -121.95099799985023, 37.538142000255114 ], [ -121.950669999969946, 37.538536000799397 ], [ -121.950406999625358, 37.538855000586352 ], [ -121.950008999839255, 37.539338000738368 ], [ -121.949521000217104, 37.539931000933464 ], [ -121.949270000148815, 37.540236000942322 ], [ -121.94876999960421, 37.540636000273793 ], [ -121.948369999863715, 37.541136000976962 ], [ -121.948069999814123, 37.541536000950089 ], [ -121.946870000144514, 37.54273600113391 ], [ -121.946069999553103, 37.54353600081668 ], [ -121.944469999797931, 37.545136000418168 ], [ -121.943970000070877, 37.545636000912609 ], [ -121.942470000496726, 37.547235000943672 ], [ -121.94198100020752, 37.547778000304952 ], [ -121.941570000041139, 37.548235000715302 ], [ -121.939969999854213, 37.549835000841526 ], [ -121.938880000451434, 37.549130000466278 ], [ -121.938274000194028, 37.548738001085624 ], [ -121.937552999503183, 37.54827100066823 ], [ -121.937491999761264, 37.548231000999955 ], [ -121.937105999743849, 37.547982001060269 ], [ -121.936569999564512, 37.547635000469043 ], [ -121.936393000244124, 37.547529000914338 ], [ -121.935070000038792, 37.546735000787429 ], [ -121.933829000421568, 37.546014000476973 ], [ -121.93281700006925, 37.545427000436149 ], [ -121.931968999762191, 37.544935000752645 ], [ -121.931912999486912, 37.544904000748105 ], [ -121.929763999659301, 37.543702000418875 ], [ -121.926069000106821, 37.54163500043164 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 764, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.976871000323669, 37.536636000509347 ], [ -121.979270999471993, 37.533336000468999 ], [ -121.97982800011188, 37.532655000670097 ], [ -121.981971000423144, 37.530037000293802 ], [ -121.983270999421705, 37.528537000646999 ], [ -121.985870999435463, 37.529837000821956 ], [ -121.987470999406128, 37.530637000956915 ], [ -121.990570999767755, 37.532337000379435 ], [ -121.9919719994014, 37.532937001019889 ], [ -121.994971999675727, 37.534537000392625 ], [ -121.998572000200824, 37.536337000302474 ], [ -121.997971999538635, 37.536936000948288 ], [ -121.997072000261937, 37.53813600045428 ], [ -121.993372000301022, 37.542736000531761 ], [ -121.991471000428064, 37.544836000819856 ], [ -121.990670999827771, 37.545836000683792 ], [ -121.987170999767386, 37.543936000553714 ], [ -121.985171000292539, 37.543036000367941 ], [ -121.984432000263368, 37.543805000719935 ], [ -121.98415399943184, 37.544095000272755 ], [ -121.982771000253948, 37.545536000686596 ], [ -121.981271000142314, 37.544736000565422 ], [ -121.980670999579303, 37.544436000419914 ], [ -121.98177100003204, 37.543036001051192 ], [ -121.982098999628136, 37.542664000416565 ], [ -121.982439999784944, 37.54227700108428 ], [ -121.983098999947572, 37.541531000949782 ], [ -121.983270999583425, 37.54133600084328 ], [ -121.983380999647807, 37.54119000071497 ], [ -121.983591000299356, 37.540910000804999 ], [ -121.984170999592024, 37.54013600059367 ], [ -121.981971000332081, 37.539136000323246 ], [ -121.980470999704437, 37.538336000831336 ], [ -121.979171000418205, 37.539236000826484 ], [ -121.978370999431633, 37.538536000994164 ], [ -121.976070999573508, 37.537236001111395 ], [ -121.976570999876415, 37.536636001035909 ], [ -121.976871000323669, 37.536636000509347 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 766, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.01621300021651, 37.541020001129048 ], [ -122.015871999920563, 37.541436001085977 ], [ -122.015401999444478, 37.542123000344134 ], [ -122.014755999945038, 37.543067000451835 ], [ -122.014701000263614, 37.543147001024842 ], [ -122.01457200035837, 37.543336000489511 ], [ -122.013972000014064, 37.544236000441884 ], [ -122.01267199990464, 37.543636001101632 ], [ -122.011472000077035, 37.542936000719266 ], [ -122.010571999545178, 37.542636000410418 ], [ -122.009872000215694, 37.542136000850348 ], [ -122.008871999626763, 37.541736000558728 ], [ -122.008072000080716, 37.541336001105989 ], [ -122.007171999825616, 37.540836000667866 ], [ -122.006371999748353, 37.540436000556092 ], [ -122.005472000140884, 37.539936000738471 ], [ -122.004671999520141, 37.539536000869163 ], [ -122.003671999618007, 37.538936000425117 ], [ -122.003071999420683, 37.53863600093613 ], [ -122.000971999641706, 37.537637001044587 ], [ -121.998572000200824, 37.536337000302474 ], [ -122.001172000102514, 37.533237000888498 ], [ -122.001670000125117, 37.532212000617967 ], [ -122.001740000064373, 37.53167700095301 ], [ -122.001771999447982, 37.531437000421029 ], [ -122.001771999843982, 37.53123700063378 ], [ -122.001871999761036, 37.530937000329892 ], [ -122.002185000465587, 37.530185000999687 ], [ -122.002371999613658, 37.529737001091206 ], [ -122.002972000033722, 37.530037000535579 ], [ -122.003672000507549, 37.530437001045513 ], [ -122.004372000079826, 37.530737000644791 ], [ -122.005172000438421, 37.531237001132503 ], [ -122.011290999997541, 37.534708000600347 ], [ -122.014559999590659, 37.536584000515354 ], [ -122.015575000055037, 37.53718000090857 ], [ -122.016006999405121, 37.537567000650448 ], [ -122.017472000001135, 37.539236000710737 ], [ -122.016772000114017, 37.54033600099099 ], [ -122.01621300021651, 37.541020001129048 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 759, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.972270999574533, 37.510637000489019 ], [ -121.974776000458149, 37.512764000441408 ], [ -121.975541999479461, 37.513415000545443 ], [ -121.977006999707655, 37.514660000537667 ], [ -121.977725999714366, 37.515271000331971 ], [ -121.981570999470065, 37.518537000301158 ], [ -121.982717000472604, 37.51930100106258 ], [ -121.983070999592684, 37.519537000392894 ], [ -121.98387800014477, 37.520113000970717 ], [ -121.985871000304854, 37.52153700107025 ], [ -121.987732000019378, 37.522627000719339 ], [ -121.987565999491764, 37.522857000507933 ], [ -121.987200000324236, 37.523465000299659 ], [ -121.987014000454806, 37.523804000890891 ], [ -121.986320999719979, 37.52482400071748 ], [ -121.98517100025731, 37.526337000524784 ], [ -121.984637999804292, 37.526954001104947 ], [ -121.984034999588943, 37.527652000265768 ], [ -121.983270999421705, 37.528537000646999 ], [ -121.982071000187361, 37.52793700041633 ], [ -121.981471000421678, 37.527637000704267 ], [ -121.980530000527523, 37.527148000329923 ], [ -121.97989400011609, 37.526817000728684 ], [ -121.978970999669244, 37.52633700079366 ], [ -121.97597099973315, 37.524837000725753 ], [ -121.971970999935678, 37.522637001092669 ], [ -121.970771000138328, 37.522437001093337 ], [ -121.968671000401372, 37.522637000336722 ], [ -121.968588999686162, 37.52221300026067 ], [ -121.968391999936188, 37.521195001075007 ], [ -121.968071000075753, 37.519537000776545 ], [ -121.968071000345205, 37.519337000238558 ], [ -121.967689999439528, 37.517737000893767 ], [ -121.967570999450302, 37.517237001104256 ], [ -121.967070999753275, 37.516437000791925 ], [ -121.965643000231893, 37.514533000785249 ], [ -121.965196000472162, 37.5139370003644 ], [ -121.964670999478514, 37.513237000873353 ], [ -121.963411999738483, 37.511514000989088 ], [ -121.962771000275552, 37.510637000769023 ], [ -121.962271000493331, 37.509837000579765 ], [ -121.961571000368153, 37.509037000280067 ], [ -121.962670999778069, 37.508637000789705 ], [ -121.963370999789717, 37.508437000543971 ], [ -121.964471000113988, 37.508037000363217 ], [ -121.967370999767141, 37.507037000684015 ], [ -121.96797100007123, 37.507437000982506 ], [ -121.972270999574533, 37.510637000489019 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 757, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.955369999868338, 37.518937000482573 ], [ -121.955570000341396, 37.519337000780638 ], [ -121.955670000508178, 37.519437001080668 ], [ -121.956669999975105, 37.521237000629988 ], [ -121.956778999452396, 37.521504000269658 ], [ -121.956983999417886, 37.522008001011116 ], [ -121.957769999959581, 37.523937000846054 ], [ -121.955370000111756, 37.524337000258875 ], [ -121.952470000069709, 37.524736001063921 ], [ -121.952116999894471, 37.52482400030555 ], [ -121.951669999887386, 37.524936000938673 ], [ -121.950079999617913, 37.521574000624476 ], [ -121.949211999669615, 37.519738000734193 ], [ -121.949165999842535, 37.519640000566966 ], [ -121.949070000087517, 37.5194370009499 ], [ -121.945870000260726, 37.513237000810591 ], [ -121.947496000188821, 37.512693000735148 ], [ -121.947870000036389, 37.512437001104395 ], [ -121.948350999556439, 37.512213001012981 ], [ -121.948747999887217, 37.51192300075833 ], [ -121.948970000494299, 37.511837000896136 ], [ -121.949144000407514, 37.511801000882663 ], [ -121.949632999835572, 37.511778000937809 ], [ -121.950069999409124, 37.511837000775685 ], [ -121.950487000199274, 37.511831000671336 ], [ -121.950929999929102, 37.511801000599469 ], [ -121.951170000501406, 37.511737000986265 ], [ -121.951574000154537, 37.512495000948967 ], [ -121.951969999916969, 37.513237000277016 ], [ -121.952269999540306, 37.513637000442372 ], [ -121.9530699996766, 37.515137001095844 ], [ -121.954069999836889, 37.516837000468485 ], [ -121.954569999629967, 37.517537000676981 ], [ -121.954970000039751, 37.518237000826254 ], [ -121.955369999868338, 37.518937000482573 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 755, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.938269999837033, 37.533436000632349 ], [ -121.936769999609965, 37.534136000602288 ], [ -121.933569999985536, 37.53563600103702 ], [ -121.926268999399724, 37.539136000692345 ], [ -121.92482399950309, 37.540025000246182 ], [ -121.924368999526124, 37.540336000669171 ], [ -121.924167000333085, 37.540020001022562 ], [ -121.923669000500141, 37.539336000275 ], [ -121.922368999539685, 37.537736001108911 ], [ -121.92185200039512, 37.537104001136179 ], [ -121.921469000169083, 37.536636000314317 ], [ -121.920869000211539, 37.535836000722419 ], [ -121.920668999480753, 37.534936000511514 ], [ -121.920268999556598, 37.533536000954086 ], [ -121.92016900038638, 37.533236000646689 ], [ -121.91972199950014, 37.531820000647905 ], [ -121.919568999706343, 37.531336000707434 ], [ -121.919469000348542, 37.530536000449239 ], [ -121.918668999812652, 37.528036001056343 ], [ -121.918356000234638, 37.526911000238094 ], [ -121.918169000372089, 37.526236000657448 ], [ -121.917968999483151, 37.525336000236592 ], [ -121.917991000198256, 37.524434000244668 ], [ -121.917999000386473, 37.524085000905274 ], [ -121.91800600011959, 37.523791000909711 ], [ -121.918039000048779, 37.522413000997688 ], [ -121.918068999457347, 37.521136000598666 ], [ -121.918469000437696, 37.519336000811975 ], [ -121.9185569998684, 37.518945000250724 ], [ -121.918740000303231, 37.518139000347674 ], [ -121.918812000516283, 37.517823000749189 ], [ -121.919164000003136, 37.516267001083058 ], [ -121.919617999675552, 37.514263000414921 ], [ -121.919669000438219, 37.514036001039706 ], [ -121.920765000452249, 37.51419300103877 ], [ -121.920845999644882, 37.514204000944019 ], [ -121.921111000034188, 37.514242000871782 ], [ -121.92176899959675, 37.514336000696019 ], [ -121.922669000331766, 37.514536000977913 ], [ -121.923556999549476, 37.514684000382879 ], [ -121.923989000026154, 37.5147560004458 ], [ -121.924468999907035, 37.514836000864349 ], [ -121.926069000451392, 37.515137000396152 ], [ -121.926773999408681, 37.515049000816504 ], [ -121.927381000321589, 37.514973000456195 ], [ -121.928180000482385, 37.514873000489871 ], [ -121.930201000019323, 37.514620000830185 ], [ -121.930869000166794, 37.514537000850503 ], [ -121.932470000284951, 37.514437000560747 ], [ -121.933113999521311, 37.514345001025177 ], [ -121.934569999682154, 37.514137000505073 ], [ -121.937269999798758, 37.514937000742357 ], [ -121.937869999850207, 37.514837001002306 ], [ -121.938371000250598, 37.514722000810863 ], [ -121.939085000226427, 37.514559000312225 ], [ -121.939770000170739, 37.514437000464206 ], [ -121.940070000075053, 37.514937000641282 ], [ -121.941625999593597, 37.517437000500848 ], [ -121.942869999541571, 37.519437000731585 ], [ -121.94366999969192, 37.520337000381765 ], [ -121.94574799994723, 37.523035000242785 ], [ -121.946429999743188, 37.524009000655745 ], [ -121.946702999577127, 37.524581001009786 ], [ -121.946819999869234, 37.525277000730661 ], [ -121.946955999766899, 37.526158000401693 ], [ -121.947015000494204, 37.527024000239926 ], [ -121.946975999943405, 37.527549001110799 ], [ -121.946916999691283, 37.527874000319343 ], [ -121.946799999880525, 37.528261000656009 ], [ -121.946547000266918, 37.528647000394294 ], [ -121.946369999475252, 37.528936000442712 ], [ -121.94536999951886, 37.529736000741657 ], [ -121.944690000481302, 37.53011100029341 ], [ -121.94325200045958, 37.530905000416233 ], [ -121.942477000434437, 37.531308000743721 ], [ -121.940724999838423, 37.532206000707042 ], [ -121.940469999624128, 37.532336000824976 ], [ -121.938269999837033, 37.533436000632349 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 753, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.938371000250598, 37.514722000810863 ], [ -121.937869999850207, 37.514837001002306 ], [ -121.937269999798758, 37.514937000742357 ], [ -121.934569999682154, 37.514137000505073 ], [ -121.933113999521311, 37.514345001025177 ], [ -121.932470000284951, 37.514437000560747 ], [ -121.930869000166794, 37.514537000850503 ], [ -121.930201000019323, 37.514620000830185 ], [ -121.928180000482385, 37.514873000489871 ], [ -121.927381000321589, 37.514973000456195 ], [ -121.926773999408681, 37.515049000816504 ], [ -121.926069000451392, 37.515137000396152 ], [ -121.924468999907035, 37.514836000864349 ], [ -121.923989000026154, 37.5147560004458 ], [ -121.923556999549476, 37.514684000382879 ], [ -121.922669000331766, 37.514536000977913 ], [ -121.92176899959675, 37.514336000696019 ], [ -121.921111000034188, 37.514242000871782 ], [ -121.920845999644882, 37.514204000944019 ], [ -121.920765000452249, 37.51419300103877 ], [ -121.919669000438219, 37.514036001039706 ], [ -121.919722000457355, 37.513283000726986 ], [ -121.920168999900213, 37.506937000632725 ], [ -121.920069000024014, 37.505537000913968 ], [ -121.919918999487706, 37.503387000549573 ], [ -121.919769000364312, 37.50123700110894 ], [ -121.919868999528305, 37.500337001016376 ], [ -121.919955000251008, 37.499937000731457 ], [ -121.92052000049344, 37.497712000849795 ], [ -121.920868999790741, 37.497437001124347 ], [ -121.921449999774211, 37.496868001094434 ], [ -121.922249000133746, 37.496282000907748 ], [ -121.922518999788309, 37.496080001070631 ], [ -121.922768999764159, 37.495937001057321 ], [ -121.926174999577611, 37.498593000738062 ], [ -121.926619000370948, 37.498888000384618 ], [ -121.929270000455645, 37.500645000700764 ], [ -121.931183000139882, 37.502637000586098 ], [ -121.932914000331763, 37.5046150006457 ], [ -121.933289999748183, 37.505045000455979 ], [ -121.933805999924644, 37.50563500068408 ], [ -121.934192000495514, 37.506076000236526 ], [ -121.934769999738819, 37.506737000543325 ], [ -121.934955999645837, 37.507027000933491 ], [ -121.935311999849688, 37.507580000720608 ], [ -121.93747000033062, 37.510937000821237 ], [ -121.938369999956279, 37.512437000630356 ], [ -121.939770000170739, 37.514437000464206 ], [ -121.939085000226427, 37.514559000312225 ], [ -121.938371000250598, 37.514722000810863 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 754, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.912568999857953, 37.503637001009665 ], [ -121.914876999689952, 37.502868000498225 ], [ -121.916348999943352, 37.502377001063174 ], [ -121.916451000092124, 37.502343000588887 ], [ -121.917220999855346, 37.502086000774725 ], [ -121.917952000362803, 37.50184300033748 ], [ -121.919769000364312, 37.50123700110894 ], [ -121.919918999487706, 37.503387000549573 ], [ -121.920069000024014, 37.505537000913968 ], [ -121.920168999900213, 37.506937000632725 ], [ -121.919722000457355, 37.513283000726986 ], [ -121.919669000438219, 37.514036001039706 ], [ -121.919617999675552, 37.514263000414921 ], [ -121.919164000003136, 37.516267001083058 ], [ -121.918812000516283, 37.517823000749189 ], [ -121.918740000303231, 37.518139000347674 ], [ -121.9185569998684, 37.518945000250724 ], [ -121.918469000437696, 37.519336000811975 ], [ -121.918068999457347, 37.521136000598666 ], [ -121.918039000048779, 37.522413000997688 ], [ -121.91800600011959, 37.523791000909711 ], [ -121.917999000386473, 37.524085000905274 ], [ -121.917991000198256, 37.524434000244668 ], [ -121.917968999483151, 37.525336000236592 ], [ -121.918169000372089, 37.526236000657448 ], [ -121.918356000234638, 37.526911000238094 ], [ -121.918668999812652, 37.528036001056343 ], [ -121.919469000348542, 37.530536000449239 ], [ -121.919568999706343, 37.531336000707434 ], [ -121.91972199950014, 37.531820000647905 ], [ -121.92016900038638, 37.533236000646689 ], [ -121.920268999556598, 37.533536000954086 ], [ -121.920668999480753, 37.534936000511514 ], [ -121.920869000211539, 37.535836000722419 ], [ -121.921469000169083, 37.536636000314317 ], [ -121.92185200039512, 37.537104001136179 ], [ -121.922368999539685, 37.537736001108911 ], [ -121.923669000500141, 37.539336000275 ], [ -121.924167000333085, 37.540020001022562 ], [ -121.924368999526124, 37.540336000669171 ], [ -121.921520999774572, 37.543016000703247 ], [ -121.921269000240429, 37.543435001069234 ], [ -121.921069000264239, 37.543735000866945 ], [ -121.919069000164271, 37.549235000572445 ], [ -121.918468999915419, 37.550335000387491 ], [ -121.917568999698332, 37.551835000245191 ], [ -121.916668999505191, 37.553135000379442 ], [ -121.91606899982051, 37.55393500078879 ], [ -121.91496900027208, 37.556135000545716 ], [ -121.91186899971369, 37.555935000537623 ], [ -121.909869000287031, 37.55573500037859 ], [ -121.908969000245079, 37.55363500087639 ], [ -121.907968999941176, 37.551235000729299 ], [ -121.906268999893925, 37.551435000525807 ], [ -121.902267999855567, 37.548635000236821 ], [ -121.893067999649574, 37.553435000359279 ], [ -121.889568000416389, 37.548335000262668 ], [ -121.889267999643053, 37.54073500061839 ], [ -121.882268000359545, 37.532435001019067 ], [ -121.882367999703348, 37.530835000909399 ], [ -121.88356800036145, 37.530435001108209 ], [ -121.884567999654692, 37.526236000948067 ], [ -121.885668000485552, 37.522736001067258 ], [ -121.885968000368933, 37.521636000268138 ], [ -121.886667999568573, 37.519136000468933 ], [ -121.886967999559928, 37.518036000796641 ], [ -121.887421000377273, 37.514256000298225 ], [ -121.887253000383012, 37.512387000904546 ], [ -121.885567999456867, 37.507936000272494 ], [ -121.883267999762552, 37.502836001103894 ], [ -121.884667999908515, 37.503736000822251 ], [ -121.886368000015054, 37.504236000676819 ], [ -121.887068000148204, 37.505736000839605 ], [ -121.896367999395068, 37.508836001000951 ], [ -121.898368000090841, 37.507936001097193 ], [ -121.899667999996495, 37.506936000365322 ], [ -121.901867999446921, 37.50553700058353 ], [ -121.905183999655037, 37.50485400035717 ], [ -121.905268999821914, 37.504837000603786 ], [ -121.908868999859223, 37.504137001129706 ], [ -121.910368999564298, 37.50353700036603 ], [ -121.91226599996881, 37.503623000364186 ], [ -121.912568999857953, 37.503637001009665 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1182, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.714079999722316, 37.991710000768549 ], [ -121.714063999518444, 37.9906220008221 ], [ -121.716216999519034, 37.990568000968018 ], [ -121.716857999816881, 37.990552000943296 ], [ -121.717485999672604, 37.990536000738068 ], [ -121.718063999784988, 37.990522000831604 ], [ -121.718763999766679, 37.990522000532572 ], [ -121.719663999799735, 37.990522000846973 ], [ -121.721664000080764, 37.99062200051592 ], [ -121.724063999956769, 37.990621000978749 ], [ -121.724182999432571, 37.99062100059561 ], [ -121.727369999947271, 37.990621000566748 ], [ -121.727564000181161, 37.990621000880672 ], [ -121.728557000104729, 37.990621000270515 ], [ -121.729164000384202, 37.990621000476608 ], [ -121.730241999618443, 37.990621001119997 ], [ -121.731555000247099, 37.99061700105252 ], [ -121.732463999480331, 37.990621001030313 ], [ -121.732464000353247, 37.99122100076309 ], [ -121.732463999670827, 37.991921000809846 ], [ -121.732474000087194, 37.993710000373142 ], [ -121.732469000295765, 37.996165000371938 ], [ -121.732464000202341, 37.99792100046637 ], [ -121.733869999527002, 37.99790600043557 ], [ -121.73394799968581, 37.997905000837285 ], [ -121.736124000344319, 37.997882000630668 ], [ -121.736355999690019, 37.997879000922104 ], [ -121.738465999698789, 37.99788000054766 ], [ -121.741764999418123, 37.997821000583663 ], [ -121.743258000180603, 37.997874000957275 ], [ -121.744564999931654, 37.997921000634094 ], [ -121.746812000383784, 37.997897000492749 ], [ -121.747165000286429, 37.997921001049775 ], [ -121.747639999929405, 37.997908000932092 ], [ -121.74819099952326, 37.997893000618284 ], [ -121.748261999899711, 37.997891000444589 ], [ -121.750764999550782, 37.997821000693264 ], [ -121.750700999654882, 37.999921000664543 ], [ -121.750664999749091, 38.001121000835177 ], [ -121.750765000266412, 38.005121000511011 ], [ -121.750864999939665, 38.00552100080214 ], [ -121.750765000444829, 38.009021001037397 ], [ -121.750765000226991, 38.009089001118433 ], [ -121.750765000108444, 38.012321000449397 ], [ -121.75076500040737, 38.01398400027135 ], [ -121.750764999929501, 38.017021000385107 ], [ -121.750704999600998, 38.018580000556568 ], [ -121.750665000286389, 38.019621001052165 ], [ -121.750664999796712, 38.021921000422886 ], [ -121.750664999449114, 38.024220000368466 ], [ -121.748898000481304, 38.024365000649574 ], [ -121.746654999624738, 38.024700000604057 ], [ -121.744473000138839, 38.025089000846698 ], [ -121.741970999746897, 38.025631000515361 ], [ -121.739499000459972, 38.026165000377297 ], [ -121.73781999948757, 38.026631000343947 ], [ -121.736264999412455, 38.027320000633999 ], [ -121.734676999951688, 38.027874000628721 ], [ -121.733638999479226, 38.028477000887463 ], [ -121.732865000241262, 38.028920000411887 ], [ -121.732565000022802, 38.029020000720941 ], [ -121.732201000265604, 38.028896001049304 ], [ -121.727264999446206, 38.02722000102677 ], [ -121.719364999911932, 38.024620000496682 ], [ -121.712064000130738, 38.02202100100056 ], [ -121.709063999518975, 38.023421000372522 ], [ -121.708564000032879, 38.023621000347298 ], [ -121.708263999534665, 38.023721000803228 ], [ -121.706263999703751, 38.024621000635854 ], [ -121.699063999685208, 38.026120000469191 ], [ -121.696663999917874, 38.026121000409844 ], [ -121.691163999432618, 38.024121000273041 ], [ -121.690864000174869, 38.022221000714055 ], [ -121.685363999858055, 38.017021001076571 ], [ -121.684363999808397, 38.014321000856107 ], [ -121.684963999390988, 38.01432100097778 ], [ -121.6861640001041, 38.014221000577265 ], [ -121.689464000179186, 38.014021000970743 ], [ -121.689575000224124, 38.013746000266821 ], [ -121.691301000192766, 38.009472000879981 ], [ -121.691563999901646, 38.008821000835113 ], [ -121.692163999536859, 38.005121000752695 ], [ -121.694801999925943, 37.999921000774741 ], [ -121.695663999731764, 37.998221000451515 ], [ -121.697563999662933, 37.998221000546131 ], [ -121.702848999666102, 37.995050000415034 ], [ -121.703063999776887, 37.994921000746267 ], [ -121.705063999988838, 37.99562100092654 ], [ -121.707967000100012, 37.996589000614264 ], [ -121.711663999860335, 37.997821001121025 ], [ -121.712964000412512, 37.997821001096668 ], [ -121.714063000440675, 37.997816000344841 ], [ -121.714250999649025, 37.997821000449107 ], [ -121.715234000008365, 37.997822000503199 ], [ -121.715729999695625, 37.997828000863478 ], [ -121.716163999841442, 37.997821000556151 ], [ -121.716165999418891, 37.997012000770191 ], [ -121.716163999927616, 37.996421000271326 ], [ -121.716204999615428, 37.994914001089796 ], [ -121.716064000178207, 37.992821000265685 ], [ -121.715664000260674, 37.991322001139821 ], [ -121.715032999760908, 37.9914780009113 ], [ -121.714104999562011, 37.991716000592888 ], [ -121.714079999722316, 37.991710000768549 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1177, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.583659974799048, 37.823025977798295 ], [ -121.584219982325138, 37.823053975435279 ], [ -121.584906986401819, 37.823152991202953 ], [ -121.585746009894464, 37.823411969628609 ], [ -121.587166002602842, 37.824183035111616 ], [ -121.588386957218063, 37.824915014290092 ], [ -121.589698983776344, 37.82579297545751 ], [ -121.591331987993499, 37.826785024238127 ], [ -121.592445961667082, 37.827638969868239 ], [ -121.593161001343518, 37.828325985458861 ], [ -121.593255042900537, 37.828600018183693 ], [ -121.593315971154794, 37.829150014620474 ], [ -121.59339198555071, 37.829690967475884 ], [ -121.593575015837871, 37.829935012020144 ], [ -121.593818969026771, 37.829957992247195 ], [ -121.593758001965341, 37.830462033591587 ], [ -121.593712001786542, 37.831515029149244 ], [ -121.593758033279741, 37.832849989019934 ], [ -121.593682035612289, 37.833200990507407 ], [ -121.593789037042967, 37.83388700537467 ], [ -121.593743001340599, 37.834085997465749 ], [ -121.593727993492848, 37.834291978622808 ], [ -121.593834040745008, 37.834383017756785 ], [ -121.59396097535145, 37.83442600496732 ], [ -121.594048001998814, 37.834405991502479 ], [ -121.594827986222299, 37.834373971142028 ], [ -121.594842040149118, 37.836001031513796 ], [ -121.59479601798148, 37.837809032180303 ], [ -121.594826034490055, 37.839465009401913 ], [ -121.594780002267314, 37.839616967934006 ], [ -121.594613036844223, 37.839731996499815 ], [ -121.594361004130334, 37.83972603085504 ], [ -121.594231004539296, 37.839670967351658 ], [ -121.594079006542486, 37.839526009228358 ], [ -121.594093971396561, 37.839326998267779 ], [ -121.594154999435986, 37.839067984746862 ], [ -121.594124026512944, 37.836770983867936 ], [ -121.594155017703187, 37.836359033243923 ], [ -121.593860964758662, 37.836125985716755 ], [ -121.593743036157008, 37.836207027448673 ], [ -121.593636011411775, 37.836359031693675 ], [ -121.593757986200075, 37.836626004334462 ], [ -121.593743024334046, 37.836909014427647 ], [ -121.593667021142508, 37.837404989629015 ], [ -121.593650981330498, 37.837884993773471 ], [ -121.593696964383241, 37.838609990658384 ], [ -121.593758021612786, 37.838976006512745 ], [ -121.593621036421581, 37.839373031368623 ], [ -121.592887969155242, 37.839502980855123 ], [ -121.591973015796839, 37.839449022958554 ], [ -121.591546012578817, 37.839526014018915 ], [ -121.591363011601018, 37.83970900289691 ], [ -121.591360976398505, 37.840026034268703 ], [ -121.591408021098459, 37.840456026941659 ], [ -121.591668037036115, 37.840990027687475 ], [ -121.591682982219481, 37.841502015812495 ], [ -121.591561025823466, 37.842219019338536 ], [ -121.591256025078465, 37.843424026120445 ], [ -121.590827997417676, 37.844453999215943 ], [ -121.590416015372554, 37.845521972658425 ], [ -121.590188012429309, 37.846384016095953 ], [ -121.590171970046924, 37.847398992480244 ], [ -121.590371039643586, 37.847734977593028 ], [ -121.590554001613455, 37.84801697646445 ], [ -121.590538996795615, 37.848376027572776 ], [ -121.590202974212119, 37.848811009505049 ], [ -121.589790975189956, 37.849038991030767 ], [ -121.58928697021652, 37.849207006156661 ], [ -121.58896696354202, 37.849253021565936 ], [ -121.588508967692107, 37.849191978495043 ], [ -121.588051024357327, 37.848955966027418 ], [ -121.587860995735909, 37.848826034099062 ], [ -121.587272993338317, 37.848802997165897 ], [ -121.586312027927676, 37.848878982024118 ], [ -121.585197970424289, 37.849039019357491 ], [ -121.584420040121572, 37.849298985952778 ], [ -121.583870027338293, 37.849763976065823 ], [ -121.583550021788383, 37.850282989158707 ], [ -121.583259986928823, 37.850855028407203 ], [ -121.583261017082322, 37.851125977329289 ], [ -121.583534976062538, 37.851473013774353 ], [ -121.584159994316451, 37.851832016898705 ], [ -121.584572038305154, 37.852091009480311 ], [ -121.584770960829388, 37.852564019210782 ], [ -121.585029975085305, 37.853503018029265 ], [ -121.585198018119044, 37.853937986675305 ], [ -121.58510604301479, 37.854327021396891 ], [ -121.584632974484364, 37.854723022326063 ], [ -121.584327992744292, 37.854906011473581 ], [ -121.583962009479947, 37.85539497058911 ], [ -121.583458018600069, 37.856181016176166 ], [ -121.583428021822158, 37.856759985763404 ], [ -121.583473969039886, 37.857416967619777 ], [ -121.583443020446282, 37.858040987799349 ], [ -121.583320960080016, 37.858353968414114 ], [ -121.583061035334424, 37.858525033710464 ], [ -121.582329028982485, 37.858750966837817 ], [ -121.581245997312791, 37.858826988162775 ], [ -121.580467963215597, 37.858826973838518 ], [ -121.580131983751698, 37.858818979252014 ], [ -121.579689976585641, 37.858644030838086 ], [ -121.578468973813571, 37.858598032007784 ], [ -121.576225991494439, 37.858491998058469 ], [ -121.574669022752175, 37.858576026440915 ], [ -121.572869033646825, 37.858607027285416 ], [ -121.571618000463801, 37.858447022789129 ], [ -121.57004598501959, 37.858178971045277 ], [ -121.569160978996777, 37.857989025971932 ], [ -121.568505012240664, 37.857683993938835 ], [ -121.568260993931844, 37.857426003334744 ], [ -121.568000965035054, 37.857095999777911 ], [ -121.567742007595086, 37.856440012610705 ], [ -121.567635000742655, 37.855692017748908 ], [ -121.567451998249595, 37.855089972317586 ], [ -121.566993979597541, 37.854432969249608 ], [ -121.566123994256643, 37.853639985973111 ], [ -121.565330975677725, 37.853014030347893 ], [ -121.564353026178722, 37.852396023896809 ], [ -121.563499012114519, 37.851405013262053 ], [ -121.562980021633521, 37.850419987121278 ], [ -121.562202019401255, 37.848703972249055 ], [ -121.561682967041293, 37.847467999779738 ], [ -121.560752040084239, 37.845422983825962 ], [ -121.559897981695499, 37.843545982451495 ], [ -121.559379007473112, 37.84254699912249 ], [ -121.559059006905812, 37.841334009460098 ], [ -121.558357017719061, 37.839662974818197 ], [ -121.557623963037571, 37.838221020308019 ], [ -121.557211990366184, 37.836877978432177 ], [ -121.556571019784442, 37.835359976389221 ], [ -121.556418957047768, 37.834635004899212 ], [ -121.556770011572567, 37.834269023621417 ], [ -121.557273038905507, 37.834176966396846 ], [ -121.557730960746696, 37.833994018912762 ], [ -121.558067010731378, 37.833582013153638 ], [ -121.557959965523722, 37.833426012172509 ], [ -121.557745996493082, 37.833468031394986 ], [ -121.557624031969723, 37.833636013640167 ], [ -121.557166974979637, 37.833719975301904 ], [ -121.556601996865055, 37.833856968621667 ], [ -121.556480013628928, 37.833879975870403 ], [ -121.556373032696698, 37.833903026099712 ], [ -121.556266005992924, 37.833932975819096 ], [ -121.556158998915578, 37.833971022794607 ], [ -121.556053038955199, 37.834009997837924 ], [ -121.55594603303453, 37.834047974222031 ], [ -121.555854003346752, 37.834100990624016 ], [ -121.555747994544461, 37.834147005757906 ], [ -121.555655986994395, 37.834207978567115 ], [ -121.555563956903782, 37.834260994732674 ], [ -121.554968971010155, 37.832987024554939 ], [ -121.55535097695244, 37.832963970375694 ], [ -121.555930957460546, 37.832804002198792 ], [ -121.557608988024711, 37.832429992744025 ], [ -121.557792004110922, 37.832513980079412 ], [ -121.557975034578234, 37.832651971558455 ], [ -121.557929983948156, 37.832986992535098 ], [ -121.557929972320352, 37.833169987222782 ], [ -121.558060003309919, 37.833226006285926 ], [ -121.55823502640061, 37.833178017680353 ], [ -121.558357004369412, 37.833063968775811 ], [ -121.558737976517506, 37.832583016551879 ], [ -121.559257022697139, 37.831904000052873 ], [ -121.559806000109376, 37.83134701522323 ], [ -121.56052402486344, 37.830866024556229 ], [ -121.561698000731141, 37.830369969313274 ], [ -121.562842961126236, 37.829995990687046 ], [ -121.563819017783231, 37.829706967455877 ], [ -121.565086024119168, 37.82951597169459 ], [ -121.566428960995182, 37.829401013904601 ], [ -121.56816803714824, 37.829279029288585 ], [ -121.569358011489257, 37.829371013586112 ], [ -121.570120957605823, 37.829271989847598 ], [ -121.571067033852771, 37.829347969258464 ], [ -121.572029043866522, 37.829279019581321 ], [ -121.572715003934391, 37.829355985392915 ], [ -121.573829010594167, 37.829249011184523 ], [ -121.575059967972805, 37.829125979983125 ], [ -121.575446985785064, 37.829081023519073 ], [ -121.575843002997914, 37.82890500098889 ], [ -121.576271037985293, 37.828637972165993 ], [ -121.576728016021832, 37.828158019963418 ], [ -121.577735039313666, 37.826853028437867 ], [ -121.578635965816545, 37.825922032246069 ], [ -121.579413985884258, 37.825076009696808 ], [ -121.580162020814001, 37.824381001679185 ], [ -121.580772021017509, 37.823908017805124 ], [ -121.58142798744187, 37.823541973887515 ], [ -121.582236965245656, 37.823260007327129 ], [ -121.582832035928888, 37.823106987101809 ], [ -121.583659974799048, 37.823025977798295 ] ], [ [ -121.690743018927762, 37.784309017337939 ], [ -121.670361989292417, 37.789426992578541 ], [ -121.666261988331371, 37.790427022347409 ], [ -121.624161029489244, 37.799126986090172 ], [ -121.623361012107097, 37.799427022986166 ], [ -121.622292010030648, 37.799708981522208 ], [ -121.62216096659445, 37.799727022865085 ], [ -121.620292986028446, 37.800303999267506 ], [ -121.614765969908632, 37.802011995731583 ], [ -121.605660977640483, 37.804827019195507 ], [ -121.60284596486693, 37.805694984265735 ], [ -121.601493996219361, 37.806112033382504 ], [ -121.6008960312422, 37.806296025520695 ], [ -121.597559998336536, 37.807327009630413 ], [ -121.59534900901474, 37.80799202083309 ], [ -121.58926003625669, 37.809827011232819 ], [ -121.586137998881654, 37.810775035242322 ], [ -121.581966967910944, 37.812041982107658 ], [ -121.581609988178997, 37.81214998764726 ], [ -121.581360012036853, 37.812227033194183 ], [ -121.580359993955611, 37.812526970670781 ], [ -121.579155964096486, 37.812875978731647 ], [ -121.577900957855405, 37.813239989888267 ], [ -121.577260041216888, 37.813427003506746 ], [ -121.577060026324105, 37.813527033771635 ], [ -121.563740990883389, 37.817543980098613 ], [ -121.562784997197383, 37.817831982006105 ], [ -121.561693998785316, 37.818160995748435 ], [ -121.560725021631043, 37.818454032531065 ], [ -121.560542000814763, 37.818508968483314 ], [ -121.559878020809606, 37.818708982549992 ], [ -121.559159988538838, 37.818926990159113 ], [ -121.558601005111214, 37.818958030423765 ], [ -121.558174006076996, 37.819353998888445 ], [ -121.558051988176459, 37.819599009885977 ], [ -121.557894017175016, 37.819711984463453 ], [ -121.557588022358033, 37.819932985288915 ], [ -121.557365010421904, 37.820095012670151 ], [ -121.556800022848691, 37.820247005268307 ], [ -121.556682991216078, 37.820263032656861 ], [ -121.556673011329465, 37.820265022640676 ], [ -121.555779987528894, 37.820392993102821 ], [ -121.55568598416049, 37.82040697837494 ], [ -121.555014969516421, 37.820856974120126 ], [ -121.554862008538777, 37.821186023342044 ], [ -121.554892998801847, 37.82172701018564 ], [ -121.554907975655439, 37.822146977250355 ], [ -121.554588041691446, 37.822895027561884 ], [ -121.554031967936027, 37.823726007148963 ], [ -121.554007969985662, 37.823764015405573 ], [ -121.553215020889311, 37.824114985498902 ], [ -121.552543018482197, 37.823985974857564 ], [ -121.551978969311122, 37.823878988320118 ], [ -121.551398994494747, 37.824000986959653 ], [ -121.551382967161175, 37.824512035043071 ], [ -121.551642971837396, 37.824960997278019 ], [ -121.552222969578921, 37.825297013240103 ], [ -121.552771977461305, 37.825602017279472 ], [ -121.553153980902238, 37.826159005401678 ], [ -121.553230034043125, 37.826600986445534 ], [ -121.553047025820007, 37.827013028817454 ], [ -121.552711038617716, 37.827372002933238 ], [ -121.552129017051143, 37.8277699858508 ], [ -121.553062004533984, 37.83088201554591 ], [ -121.5535959982398, 37.831689979007848 ], [ -121.553932025706814, 37.832452981641865 ], [ -121.55384003649948, 37.83318601365945 ], [ -121.553473979043545, 37.833696986615578 ], [ -121.552863980841195, 37.834284030686263 ], [ -121.552391026333552, 37.834703984407767 ], [ -121.552023980161849, 37.835359984284466 ], [ -121.551429015133735, 37.836153012748987 ], [ -121.55092597997627, 37.836915977911751 ], [ -121.550300036981639, 37.837076974515561 ], [ -121.55013197090976, 37.836787000329373 ], [ -121.550361039768333, 37.836259988358798 ], [ -121.550650969385103, 37.835557982584774 ], [ -121.550543971999929, 37.835000992776614 ], [ -121.549918961130317, 37.834834030973596 ], [ -121.549537021627458, 37.834970991007523 ], [ -121.548759014751241, 37.835344996479094 ], [ -121.548088040760831, 37.835589002623983 ], [ -121.547264004139933, 37.835710997824677 ], [ -121.546440028928814, 37.835779969569003 ], [ -121.54547797720619, 37.836030999003732 ], [ -121.544684987699213, 37.836321004756293 ], [ -121.54399800061833, 37.836831993722285 ], [ -121.543632010769414, 37.837289987919462 ], [ -121.543403030990191, 37.837855008541212 ], [ -121.543158968991577, 37.838496025146497 ], [ -121.542853956555973, 37.838899992519998 ], [ -121.542472015762016, 37.839120998207306 ], [ -121.541038037210356, 37.839731995806275 ], [ -121.540763042034811, 37.839967980373856 ], [ -121.540396986690084, 37.840495034885869 ], [ -121.540350967386601, 37.840982965414319 ], [ -121.540549972593098, 37.841463019775524 ], [ -121.540657040978672, 37.84201297749059 ], [ -121.540611030248527, 37.842532029099864 ], [ -121.540290002288472, 37.842783002277741 ], [ -121.539786988717296, 37.843126981740468 ], [ -121.539604010626093, 37.843553998760733 ], [ -121.539862958458173, 37.843867011875645 ], [ -121.540274975957288, 37.84392802577532 ], [ -121.540702015099995, 37.843744974026691 ], [ -121.541235966598748, 37.84341700489599 ], [ -121.541740003408492, 37.843386001974089 ], [ -121.541862025519578, 37.843591982270148 ], [ -121.541846969561533, 37.843829005295333 ], [ -121.54161798948634, 37.844247992364643 ], [ -121.541357966989892, 37.844584004087032 ], [ -121.540306017529218, 37.845461012903407 ], [ -121.53960402626177, 37.845957002532778 ], [ -121.538917030451003, 37.846453033126537 ], [ -121.538687965795248, 37.846911019875897 ], [ -121.538749031906931, 37.84735303349904 ], [ -121.539268005331536, 37.847803967907446 ], [ -121.539375000493337, 37.848101014781179 ], [ -121.539236995583337, 37.84839903541782 ], [ -121.538871036397367, 37.848689016843991 ], [ -121.538351974529931, 37.848916966875784 ], [ -121.537543986144001, 37.849306013549793 ], [ -121.536826992768482, 37.849772016347877 ], [ -121.536506033225521, 37.850160981725764 ], [ -121.536232001597668, 37.850587987401248 ], [ -121.536155024267742, 37.850847967347441 ], [ -121.536109031285235, 37.851427005133402 ], [ -121.536276992840726, 37.851977018845417 ], [ -121.536859955800793, 37.852426013262168 ], [ -121.537329994369401, 37.852846987204529 ], [ -121.538367981536098, 37.853098002650526 ], [ -121.538963006126181, 37.85314397264861 ], [ -121.539299041955132, 37.852900019820638 ], [ -121.539344004013813, 37.852732017691835 ], [ -121.539252976965756, 37.852151982684532 ], [ -121.539328968207187, 37.851496006245149 ], [ -121.539633985936575, 37.851144997309596 ], [ -121.540320996512733, 37.85106902571102 ], [ -121.541220958014577, 37.850893031967729 ], [ -121.541709027655017, 37.85035896796451 ], [ -121.542181962572371, 37.850290965446575 ], [ -121.542533014052793, 37.850573006364051 ], [ -121.542529033796157, 37.850703003236575 ], [ -121.542517963206834, 37.851129969536338 ], [ -121.542335027892065, 37.851550020227222 ], [ -121.542488004926867, 37.851984016496758 ], [ -121.543006017284227, 37.852473014112661 ], [ -121.543372959989256, 37.85314397933805 ], [ -121.543341961155591, 37.853564010133745 ], [ -121.543265993535215, 37.854243013374884 ], [ -121.543219993394587, 37.854585971424854 ], [ -121.543403044729729, 37.855188968909268 ], [ -121.543555979731707, 37.855882984830302 ], [ -121.543464016279998, 37.85692798898048 ], [ -121.54299096320392, 37.857478016988658 ], [ -121.542381003776896, 37.857981004387966 ], [ -121.54219798693758, 37.858552996523557 ], [ -121.542258994489629, 37.859049010960391 ], [ -121.542503008315748, 37.8596139687807 ], [ -121.542793022906068, 37.859849980017835 ], [ -121.543220028564519, 37.859858010706219 ], [ -121.543678020525576, 37.85971300130808 ], [ -121.544532005121923, 37.859323989627924 ], [ -121.545660964701582, 37.858697991469406 ], [ -121.546699009955645, 37.858087969456911 ], [ -121.548499997481656, 37.857485023598194 ], [ -121.549933966727011, 37.857279004127363 ], [ -121.550253977878285, 37.857339976894998 ], [ -121.55043702631751, 37.857560992812544 ], [ -121.550621041702655, 37.858362968066693 ], [ -121.550894993495504, 37.858858009077508 ], [ -121.551123968798692, 37.859133029935819 ], [ -121.551490027072816, 37.859850006839501 ], [ -121.552191983425104, 37.861078976676275 ], [ -121.552879025254782, 37.861940996671272 ], [ -121.553183970869242, 37.862710023986246 ], [ -121.5536269556425, 37.863160032030606 ], [ -121.554008016836022, 37.863465994820324 ], [ -121.554313021967815, 37.863541980827186 ], [ -121.554618007809324, 37.863328020145403 ], [ -121.554756013934792, 37.862900991989008 ], [ -121.554877995611946, 37.862253033590818 ], [ -121.555259023931086, 37.861459972239871 ], [ -121.555869984203994, 37.860789003784141 ], [ -121.556876967591208, 37.860452966509577 ], [ -121.556890002816587, 37.860453971213062 ], [ -121.557208982565882, 37.860495972420956 ], [ -121.557853011934384, 37.860583003802056 ], [ -121.558754002861207, 37.860773018337923 ], [ -121.559228027561943, 37.860856975081042 ], [ -121.559745989095205, 37.861184027866365 ], [ -121.560264967111991, 37.861596004566152 ], [ -121.560661987076273, 37.861635007921585 ], [ -121.561042965389376, 37.861443997541912 ], [ -121.561236967498672, 37.861249996836946 ], [ -121.561454969520639, 37.861031997819495 ], [ -121.561973992242486, 37.86042303092961 ], [ -121.562812997250219, 37.859643986635881 ], [ -121.563317034849931, 37.859201982630815 ], [ -121.5635000209667, 37.858636996961728 ], [ -121.563408010637929, 37.858157019445066 ], [ -121.563260993865256, 37.857925972124328 ], [ -121.563072996836254, 37.857569025173227 ], [ -121.562721987089304, 37.856798966972264 ], [ -121.562599963461636, 37.855990021262443 ], [ -121.562720977077078, 37.855502011920827 ], [ -121.563042009657835, 37.855226968301373 ], [ -121.563546042609687, 37.855295994874659 ], [ -121.563790011650752, 37.855418033808299 ], [ -121.564110027922709, 37.855662033704924 ], [ -121.564628971760669, 37.856271982498633 ], [ -121.565269997196324, 37.857218002771539 ], [ -121.565835014621257, 37.85800396818928 ], [ -121.566413959822995, 37.858827980796441 ], [ -121.566872016437401, 37.859507024468009 ], [ -121.567329964290437, 37.859948996318714 ], [ -121.567711013275286, 37.859987006991858 ], [ -121.568123006397499, 37.859766004264344 ], [ -121.568596034538245, 37.85943801566804 ], [ -121.569160988907896, 37.859269986250879 ], [ -121.569587972343598, 37.859292988603769 ], [ -121.569787010375492, 37.859347016972748 ], [ -121.570138016416607, 37.859514982784667 ], [ -121.570580024058216, 37.859643003783837 ], [ -121.570892041346326, 37.859963000949172 ], [ -121.570899968708275, 37.85997098304599 ], [ -121.57079401436458, 37.860329982218353 ], [ -121.570031029976619, 37.860612001066691 ], [ -121.569951001458605, 37.86065397874853 ], [ -121.569343993258059, 37.860970980130389 ], [ -121.569007969022053, 37.861245013537655 ], [ -121.568733999141486, 37.861611966410464 ], [ -121.568773990674643, 37.861931970781143 ], [ -121.568794985601599, 37.862100011782445 ], [ -121.56916097173702, 37.862664990376999 ], [ -121.56955803582926, 37.862908996683061 ], [ -121.569923980427049, 37.862939001318871 ], [ -121.570824042053133, 37.862885999871658 ], [ -121.572044976897203, 37.862764010277637 ], [ -121.573510024966879, 37.862564981044372 ], [ -121.57442497252022, 37.862305973337229 ], [ -121.575539019634448, 37.861931995063628 ], [ -121.576333007275991, 37.861543011310026 ], [ -121.57698900143356, 37.860811008727993 ], [ -121.577691005658608, 37.86010103309426 ], [ -121.578294977341116, 37.859681012809382 ], [ -121.578515032248106, 37.859528980243944 ], [ -121.579185995573596, 37.859537009441929 ], [ -121.579368973550501, 37.85967398154083 ], [ -121.579567015579087, 37.859933014083971 ], [ -121.579689976871762, 37.860207968390156 ], [ -121.579918030822071, 37.860596986431538 ], [ -121.580177966708717, 37.86096301256633 ], [ -121.580330990635105, 37.861333029616873 ], [ -121.580361029577119, 37.861405984116935 ], [ -121.580468041275552, 37.86200800887093 ], [ -121.580455957374781, 37.862087003500243 ], [ -121.580390988815907, 37.862520013319923 ], [ -121.580292024833952, 37.862664990107589 ], [ -121.58017798313719, 37.862832034374868 ], [ -121.579536986335498, 37.863259995983299 ], [ -121.579245001763823, 37.863387997489049 ], [ -121.57862103500868, 37.863664004541555 ], [ -121.577766969602948, 37.863938988811206 ], [ -121.576881973862925, 37.86435800279957 ], [ -121.5761040424199, 37.864884975445825 ], [ -121.575157963040738, 37.865846024019461 ], [ -121.574775962920327, 37.866395029427508 ], [ -121.574547020612314, 37.867264982612603 ], [ -121.57483702419988, 37.867845006483535 ], [ -121.575402008300713, 37.868333023330401 ], [ -121.576088019514742, 37.8688600297343 ], [ -121.577065013063986, 37.869447018251108 ], [ -121.577843024799463, 37.870049971800952 ], [ -121.5784989863334, 37.870667992680438 ], [ -121.579110029430097, 37.871202032555523 ], [ -121.579384044026483, 37.871460996450857 ], [ -121.580056036648827, 37.872711971771594 ], [ -121.580575020930695, 37.873864989375349 ], [ -121.580772972649669, 37.874565978467224 ], [ -121.580834007940609, 37.875306013173422 ], [ -121.58090999749021, 37.87610002083899 ], [ -121.580863969150968, 37.876985004871457 ], [ -121.580620000028958, 37.877839015840181 ], [ -121.580284992895869, 37.878617998292455 ], [ -121.579994992569667, 37.879190026233154 ], [ -121.579658964791889, 37.879891966494668 ], [ -121.579247039392087, 37.880562995194239 ], [ -121.578820019038659, 37.881089993807223 ], [ -121.578377039828553, 37.881554978646008 ], [ -121.576661017686916, 37.883124997338363 ], [ -121.57587501485861, 37.884042005487025 ], [ -121.575614958329012, 37.884430967861498 ], [ -121.575310041888969, 37.885087012210668 ], [ -121.575233959653545, 37.885300980300208 ], [ -121.57511201548084, 37.885681967140258 ], [ -121.575554012991773, 37.886506035917776 ], [ -121.575920982168668, 37.887559010967415 ], [ -121.57625600608435, 37.8881999860143 ], [ -121.576653009669187, 37.888985978146309 ], [ -121.577247991010324, 37.889886031331805 ], [ -121.577369973310667, 37.890259970594663 ], [ -121.577171991104834, 37.890825005143888 ], [ -121.576882000651835, 37.891328022828084 ], [ -121.576698988143988, 37.891549006901784 ], [ -121.576530988172294, 37.891687018993679 ], [ -121.575843973241248, 37.89193901048759 ], [ -121.574914023851093, 37.892182987134866 ], [ -121.574074022786377, 37.892434030970648 ], [ -121.573357008802191, 37.892632978274541 ], [ -121.572426018342711, 37.892906987175571 ], [ -121.571961021053298, 37.893024984411404 ], [ -121.5714040206216, 37.893250997214281 ], [ -121.570549957700138, 37.893525009560513 ], [ -121.569892999530481, 37.893860977013823 ], [ -121.569389998020085, 37.894394972055899 ], [ -121.568961007679903, 37.89502498748864 ], [ -121.568749001514561, 37.895677002742261 ], [ -121.568656956744434, 37.896630982507688 ], [ -121.568581027370968, 37.897339993681122 ], [ -121.568351957452137, 37.898353984535461 ], [ -121.568122991818655, 37.899376002628763 ], [ -121.56806197532805, 37.900498002681282 ], [ -121.568160988078702, 37.901023965858883 ], [ -121.568322013445069, 37.901390009973198 ], [ -121.568627043637377, 37.902000998216806 ], [ -121.568917034225862, 37.902306016420454 ], [ -121.56938996631699, 37.902602978282914 ], [ -121.569848043028912, 37.902878001342167 ], [ -121.570228994454851, 37.903107023854197 ], [ -121.570671973187046, 37.903358977367802 ], [ -121.571496044576264, 37.903846990285949 ], [ -121.572045018178699, 37.904205979617949 ], [ -121.572625004535382, 37.904671026509142 ], [ -121.573020989450441, 37.905074977574287 ], [ -121.573311011079639, 37.905517987074369 ], [ -121.573372032841149, 37.906043978063302 ], [ -121.573234956802608, 37.906433015752256 ], [ -121.572945034213873, 37.906844983770512 ], [ -121.572793006577612, 37.907050987404077 ], [ -121.57222804051716, 37.907531997913324 ], [ -121.571618012759444, 37.907989998191837 ], [ -121.571144970969058, 37.908279973014295 ], [ -121.570823979062766, 37.908409007125833 ], [ -121.570320956395733, 37.908805988097669 ], [ -121.569542032217541, 37.909325011641016 ], [ -121.568780037907615, 37.909676028875239 ], [ -121.568046989272474, 37.909972967236527 ], [ -121.567436959215271, 37.91019500498863 ], [ -121.566872007961933, 37.910576008593409 ], [ -121.566276967247575, 37.910996001383587 ], [ -121.565712003928283, 37.911376999123632 ], [ -121.565055983133917, 37.91181997007881 ], [ -121.56486103626375, 37.912024031477756 ], [ -121.564705021494845, 37.912277994443073 ], [ -121.564522003370669, 37.912865013740308 ], [ -121.564568030741654, 37.913276974189195 ], [ -121.564751008697243, 37.913871978295454 ], [ -121.564965013358261, 37.914398007758251 ], [ -121.565161031618601, 37.914624016627322 ], [ -121.565285033612085, 37.914696007874618 ], [ -121.565742961608194, 37.915032019116005 ], [ -121.566308038068982, 37.915489029188613 ], [ -121.566932974100212, 37.916260014551668 ], [ -121.567452968530034, 37.917168001984685 ], [ -121.567895004047344, 37.918113974364154 ], [ -121.567912992679979, 37.918212976886771 ], [ -121.568019027866825, 37.91880401168774 ], [ -121.568062971407571, 37.919044992592248 ], [ -121.568047972006099, 37.919570975136914 ], [ -121.567818963697931, 37.920197008994677 ], [ -121.567662042032524, 37.920423997885734 ], [ -121.567589993951159, 37.920578020169131 ], [ -121.567391993956761, 37.920791975821601 ], [ -121.567010041218523, 37.921105009197859 ], [ -121.566536964390551, 37.921363983774754 ], [ -121.565651954841158, 37.921685035077374 ], [ -121.564034981191639, 37.922066008671578 ], [ -121.562691985466216, 37.922234011354526 ], [ -121.561837992170169, 37.922416989002329 ], [ -121.560616027916737, 37.922790984506065 ], [ -121.559441034075874, 37.923011980882684 ], [ -121.558358035258252, 37.923309993241659 ], [ -121.557640989472631, 37.923583966701472 ], [ -121.557461021064313, 37.923924017005625 ], [ -121.55753400220047, 37.924233020145138 ], [ -121.558021965451275, 37.924697995601036 ], [ -121.558556016332673, 37.924988004842561 ], [ -121.559090986146785, 37.925263025883503 ], [ -121.55977801677497, 37.925903989234634 ], [ -121.560402967404571, 37.926789 ], [ -121.560800003494236, 37.927642985871032 ], [ -121.56102896701276, 37.928573983805634 ], [ -121.561014033234358, 37.929413001901636 ], [ -121.560815021042202, 37.930283001177585 ], [ -121.560689991674934, 37.930568034844164 ], [ -121.560434038575607, 37.931153026631762 ], [ -121.559885026698666, 37.93218300422452 ], [ -121.559640001944814, 37.932876979502019 ], [ -121.55986196691336, 37.933424025613121 ], [ -121.560265980222596, 37.933785026660054 ], [ -121.560876032360952, 37.934379979887986 ], [ -121.561806959736515, 37.935027998142353 ], [ -121.562844968533113, 37.935783986232892 ], [ -121.563470036478293, 37.936500001085577 ], [ -121.563776033353875, 37.937353991141883 ], [ -121.563867030429378, 37.938200990637746 ], [ -121.563744965674019, 37.938804028453212 ], [ -121.563485991996842, 37.939521005244089 ], [ -121.563226028628819, 37.940147001415738 ], [ -121.562951982798808, 37.940665029423869 ], [ -121.562861981511347, 37.941122993633492 ], [ -121.562996999960831, 37.941444016058327 ], [ -121.563196002041451, 37.942077025475776 ], [ -121.563715016770004, 37.94264902535884 ], [ -121.564249036835733, 37.943259015471661 ], [ -121.564584037482845, 37.94393099873038 ], [ -121.564752001970803, 37.94460199933922 ], [ -121.564950989988461, 37.94534202640321 ], [ -121.565271016564026, 37.946066983351599 ], [ -121.565317042570811, 37.94680000420918 ], [ -121.564905016958875, 37.947463014121503 ], [ -121.564462041461084, 37.947691999024798 ], [ -121.563898019291685, 37.947845012390452 ], [ -121.563118969476179, 37.947776003972088 ], [ -121.562356976263601, 37.947685020192004 ], [ -121.561961994175462, 37.947723000729788 ], [ -121.561760965557909, 37.947813975091137 ], [ -121.561502007367949, 37.948034989209589 ], [ -121.56133399488165, 37.94832498876621 ], [ -121.561364988959866, 37.948646007840374 ], [ -121.561547984522534, 37.948951001948195 ], [ -121.562128031599642, 37.949386035900474 ], [ -121.562862034930717, 37.949622988057968 ], [ -121.563419043729837, 37.949661968407746 ], [ -121.563500996091278, 37.949667968207763 ], [ -121.564416027551218, 37.949371031306079 ], [ -121.565102959188167, 37.948919997301466 ], [ -121.56571296687622, 37.94836402798731 ], [ -121.566201984602642, 37.947897970974189 ], [ -121.566661014775178, 37.947474002781938 ], [ -121.566873018240585, 37.947280005245062 ], [ -121.567130991581124, 37.947181970767865 ], [ -121.56754502458557, 37.947028030776373 ], [ -121.568161997562228, 37.947023009301411 ], [ -121.568306960054059, 37.947067018757927 ], [ -121.568842024839853, 37.947173016763571 ], [ -121.569282022143128, 37.947490982709901 ], [ -121.569359979717177, 37.947546990276514 ], [ -121.569788041526721, 37.948013019097374 ], [ -121.569944000524487, 37.948476020440431 ], [ -121.569971030085483, 37.948554009605708 ], [ -121.57000101319899, 37.949240997763361 ], [ -121.569970992096813, 37.950018998664923 ], [ -121.569803024574881, 37.950674994278664 ], [ -121.569588996332385, 37.951307969167992 ], [ -121.569208021349652, 37.951933984471509 ], [ -121.568917979339332, 37.952322983363011 ], [ -121.568765034750996, 37.952478978306559 ], [ -121.568612959368707, 37.952635969337301 ], [ -121.568429959813841, 37.952911010816507 ], [ -121.56806299528219, 37.953277033455549 ], [ -121.567667004187825, 37.953567012397542 ], [ -121.567362041267586, 37.95402299517945 ], [ -121.566171012765196, 37.9545820302002 ], [ -121.565576010709009, 37.955100022596838 ], [ -121.565362005441827, 37.955422981103467 ], [ -121.565240019011554, 37.955573012093545 ], [ -121.565164029654355, 37.956091980694239 ], [ -121.56547203192082, 37.956610000161007 ], [ -121.565500017542092, 37.956657022213129 ], [ -121.565862012640693, 37.95692300344416 ], [ -121.56624803884965, 37.957091972112273 ], [ -121.566948958705382, 37.957319976498489 ], [ -121.568017955209484, 37.957465011075556 ], [ -121.569039958772905, 37.957396971752274 ], [ -121.569986022254312, 37.957237032670307 ], [ -121.572046036769947, 37.956709986356373 ], [ -121.573647996507674, 37.95632900996339 ], [ -121.574471988752606, 37.956152979715419 ], [ -121.575676969874678, 37.956191022738082 ], [ -121.576517016203923, 37.956564992189548 ], [ -121.576807027821019, 37.956885973205026 ], [ -121.576761992695126, 37.957122986441938 ], [ -121.576822038197463, 37.957320011729443 ], [ -121.576623987430523, 37.957739995612769 ], [ -121.576272957533376, 37.958128978476743 ], [ -121.575707990406627, 37.958571978301826 ], [ -121.575234987295701, 37.958770011861915 ], [ -121.574099990362811, 37.958991985776926 ], [ -121.573953035365506, 37.959022028830304 ], [ -121.572228967858408, 37.959373011233907 ], [ -121.571161026507454, 37.959525010110916 ], [ -121.570733991445067, 37.959616985485624 ], [ -121.569863985076267, 37.95965499245461 ], [ -121.568964002116616, 37.959785004058332 ], [ -121.567895013228281, 37.960058978093429 ], [ -121.567255042215564, 37.96044103550642 ], [ -121.566735963222243, 37.96101297523969 ], [ -121.566598019258038, 37.961494013800525 ], [ -121.566662043979747, 37.961722987419662 ], [ -121.56667499951709, 37.961944016218141 ], [ -121.56700997511652, 37.962531008256448 ], [ -121.567421963506703, 37.962798016221726 ], [ -121.568231033980936, 37.963088022381491 ], [ -121.569359967337576, 37.963530968449383 ], [ -121.570534996143621, 37.964019032446856 ], [ -121.572031009974097, 37.964874007565584 ], [ -121.573129004311056, 37.965704984860785 ], [ -121.573461960590734, 37.966022974383527 ], [ -121.57381601209778, 37.966376986196678 ], [ -121.574289022271273, 37.96714700321882 ], [ -121.574579031667469, 37.967970986453416 ], [ -121.574670024834475, 37.968688000935366 ], [ -121.574654965682129, 37.969108015219128 ], [ -121.574441986858588, 37.969810009833601 ], [ -121.574162018519544, 37.971022989656404 ], [ -121.574181970437735, 37.97163296721407 ], [ -121.574350030617367, 37.972356970911441 ], [ -121.574730987218018, 37.972899014450114 ], [ -121.575432994411543, 37.97353999711526 ], [ -121.575885963107538, 37.973904987486165 ], [ -121.576256976974818, 37.974203011492044 ], [ -121.577127027666762, 37.974797999852719 ], [ -121.578226980495401, 37.975454974705038 ], [ -121.579446999104633, 37.975966025162833 ], [ -121.5796629821658, 37.976121982973822 ], [ -121.580362966613166, 37.975421986519393 ], [ -121.580209959747364, 37.975385991472791 ], [ -121.580011960287734, 37.975340018291831 ], [ -121.579762989188836, 37.975322015015308 ], [ -121.579706978749854, 37.975232976235752 ], [ -121.579661005613957, 37.974996975760696 ], [ -121.579630971136169, 37.974737017714737 ], [ -121.579585020716976, 37.9744860205059 ], [ -121.579585034409206, 37.974333023473051 ], [ -121.579663044497011, 37.974222016435107 ], [ -121.579829001171717, 37.974088977439415 ], [ -121.58028703898303, 37.97392897760497 ], [ -121.580836019484153, 37.973775987678401 ], [ -121.581308957416098, 37.973715016874628 ], [ -121.5815990010516, 37.973645994668942 ], [ -121.581767041571354, 37.973654005860276 ], [ -121.582087023765084, 37.973707009022775 ], [ -121.582263023903081, 37.973722015482366 ], [ -121.582462994676533, 37.973522001975645 ], [ -121.582763038775084, 37.973622006965357 ], [ -121.594862987671092, 37.973222020259577 ], [ -121.595148997548534, 37.974660993910881 ], [ -121.595209980460254, 37.975470010672048 ], [ -121.59542304110937, 37.977040972469879 ], [ -121.59566296897313, 37.977422001034711 ], [ -121.620562994351701, 37.977522015392182 ], [ -121.620563003036082, 37.977321984802849 ], [ -121.620662997754394, 37.969821966775939 ], [ -121.626063044217773, 37.969758999751789 ], [ -121.630931020606411, 37.969701984329113 ], [ -121.631921988544036, 37.969458001973408 ], [ -121.640862971077766, 37.969222009335162 ], [ -121.640862983448287, 37.966988008603906 ], [ -121.640863027817915, 37.964153983277704 ], [ -121.640862964325194, 37.957851965125009 ], [ -121.640862962125638, 37.956119975884789 ], [ -121.640862957500758, 37.955492984210387 ], [ -121.640863009354305, 37.954722992542571 ], [ -121.641262985110245, 37.954023030809928 ], [ -121.641263013253493, 37.953423005912981 ], [ -121.64126302368895, 37.953239027389543 ], [ -121.641263004331151, 37.95232300635849 ], [ -121.641302032538064, 37.950074030531177 ], [ -121.641359015709114, 37.946792008552656 ], [ -121.641463038279269, 37.940723031708167 ], [ -121.641462957173303, 37.933222976773415 ], [ -121.64146295744456, 37.926122979282653 ], [ -121.641461973856593, 37.92604601058062 ], [ -121.64138296919225, 37.919982997036492 ], [ -121.64132202014072, 37.919518014010777 ], [ -121.641262991908235, 37.919224007028951 ], [ -121.641262974890225, 37.918824011255204 ], [ -121.641262997525729, 37.912223975163641 ], [ -121.641263014023878, 37.911624016508014 ], [ -121.641263028018898, 37.909024006575621 ], [ -121.641253958117403, 37.908029015909065 ], [ -121.641176989702544, 37.899834992548527 ], [ -121.641162007610873, 37.898223989050997 ], [ -121.650263020678779, 37.898224018403525 ], [ -121.651063034263217, 37.897924021916175 ], [ -121.663962986311063, 37.89792401544657 ], [ -121.669863004165038, 37.897924026692358 ], [ -121.677262990602998, 37.897824011198452 ], [ -121.690869969546128, 37.897749012416085 ], [ -121.695362977466885, 37.897723988192247 ], [ -121.711564005827071, 37.89752401128154 ], [ -121.711664024185467, 37.904824023993619 ], [ -121.715264007302395, 37.904723967451808 ], [ -121.715464037815309, 37.904723968259205 ], [ -121.719615971728203, 37.904739993506091 ], [ -121.719935997110852, 37.90484599194496 ], [ -121.720195041973668, 37.904983996651204 ], [ -121.720393974274543, 37.905067976354701 ], [ -121.720592008100851, 37.905090970832411 ], [ -121.721019017496019, 37.905212985897293 ], [ -121.721568991205771, 37.905433994052188 ], [ -121.722224999144615, 37.905761977333604 ], [ -121.72686399662696, 37.909179969310181 ], [ -121.727229985698571, 37.909461977597786 ], [ -121.727642002993662, 37.909759972636465 ], [ -121.727779031012346, 37.909873969398475 ], [ -121.728008021535743, 37.910118021709344 ], [ -121.728364008997687, 37.910423998624303 ], [ -121.72846601655074, 37.910522970861372 ], [ -121.728847028497469, 37.910759017877425 ], [ -121.730831032188604, 37.911614016996147 ], [ -121.731075012665798, 37.911720995821327 ], [ -121.731258006355077, 37.911880969103109 ], [ -121.731380040654429, 37.911994025531605 ], [ -121.73153297831665, 37.912092980887195 ], [ -121.73173099516076, 37.912170031493417 ], [ -121.731963996657996, 37.912223026457667 ], [ -121.73192903009128, 37.912391000142222 ], [ -121.731964033894528, 37.912723008741374 ], [ -121.732008992539065, 37.915280997412133 ], [ -121.732064011121111, 37.918423003577793 ], [ -121.732128021901346, 37.923086030485322 ], [ -121.732163981752407, 37.925722988256986 ], [ -121.731963984953524, 37.926023032451944 ], [ -121.732563984233025, 37.926023019295769 ], [ -121.733564009032634, 37.925923032225533 ], [ -121.736064002568909, 37.925923017022313 ], [ -121.741247037914988, 37.925931967383519 ], [ -121.750184030470066, 37.925820018182414 ], [ -121.754838992889887, 37.925786005137851 ], [ -121.763465006738898, 37.925722985257281 ], [ -121.766364998898325, 37.925723008317568 ], [ -121.767564996515503, 37.925722979957534 ], [ -121.769864991618078, 37.925722967653236 ], [ -121.77096498905081, 37.925722985663981 ], [ -121.777665032734816, 37.925623019327986 ], [ -121.77759995785506, 37.924071980522882 ], [ -121.777965029121262, 37.921922979175307 ], [ -121.778165011193948, 37.920371030774753 ], [ -121.778240979742023, 37.919684967236357 ], [ -121.778256004798521, 37.919211966073448 ], [ -121.778226022359007, 37.918783982626373 ], [ -121.778164979313672, 37.918422988885531 ], [ -121.77798199614233, 37.918265974864958 ], [ -121.777721970613356, 37.918005994987396 ], [ -121.777370989353997, 37.917731973220164 ], [ -121.777095971213257, 37.917593998071219 ], [ -121.77320600701637, 37.916250987871706 ], [ -121.772763035106621, 37.916090973394937 ], [ -121.772381993866688, 37.91589998913188 ], [ -121.772107002721455, 37.915756017793704 ], [ -121.771908960556189, 37.915671993550923 ], [ -121.767544036008303, 37.914954011282184 ], [ -121.767254975756046, 37.914870997433503 ], [ -121.766614026970885, 37.914710012347129 ], [ -121.766400043536123, 37.914702981447896 ], [ -121.765668032082587, 37.914588000225976 ], [ -121.765270976950958, 37.914473994735417 ], [ -121.765103014925685, 37.914366968910471 ], [ -121.764965016420746, 37.914322992869806 ], [ -121.764919968443095, 37.914115021021814 ], [ -121.764249003459113, 37.909507016650657 ], [ -121.764142043211265, 37.909271004616727 ], [ -121.763965005007762, 37.90912297345885 ], [ -121.763790976050544, 37.908981028934413 ], [ -121.763104007872826, 37.908758988672247 ], [ -121.762860000563151, 37.908593001436877 ], [ -121.762631002938221, 37.908348030322365 ], [ -121.76256499446761, 37.908123994728662 ], [ -121.76256996437391, 37.907944007797326 ], [ -121.762645989427213, 37.907692034112223 ], [ -121.763073996881985, 37.907058967982188 ], [ -121.76327195626574, 37.906715967420517 ], [ -121.763364032469752, 37.906348970550667 ], [ -121.763608042110903, 37.901528001267025 ], [ -121.763638007257327, 37.901016995702705 ], [ -121.763760042326027, 37.900383034909247 ], [ -121.763837007151153, 37.899696989684152 ], [ -121.763898032717677, 37.899490976047105 ], [ -121.763964995812742, 37.899424014914175 ], [ -121.764249010106695, 37.89924702832252 ], [ -121.764934960063911, 37.898972023695698 ], [ -121.765607011808214, 37.898651032052392 ], [ -121.765896958521012, 37.898278010521686 ], [ -121.765964998763053, 37.898023978929274 ], [ -121.765987956881375, 37.897872977982907 ], [ -121.765765017531905, 37.897223990573764 ], [ -121.765195032312192, 37.896201988807981 ], [ -121.765133992746271, 37.895919988134487 ], [ -121.765164971463676, 37.895624025870326 ], [ -121.765255991242839, 37.895356012754981 ], [ -121.770810010721576, 37.889571974075629 ], [ -121.770947011730897, 37.889481026042276 ], [ -121.771297996311631, 37.889365978273851 ], [ -121.771496956528864, 37.889321020793567 ], [ -121.771831982475319, 37.8892519942018 ], [ -121.77200000634285, 37.889176014034305 ], [ -121.772396981829715, 37.888977020466648 ], [ -121.774655038833771, 37.887268025798896 ], [ -121.774864988559628, 37.886924002145982 ], [ -121.775006038764118, 37.886513004626565 ], [ -121.77506502004654, 37.886224019444107 ], [ -121.774991040761378, 37.885445000553688 ], [ -121.774899021538602, 37.885224009525658 ], [ -121.774864964620306, 37.885124023964835 ], [ -121.775965017636111, 37.88332401302506 ], [ -121.776064983344469, 37.883124029986 ], [ -121.776565005359913, 37.882724014583147 ], [ -121.774791974919552, 37.88140100342288 ], [ -121.77242703225572, 37.88051601546119 ], [ -121.771765002796641, 37.880224016585117 ], [ -121.770702980006291, 37.879669007718483 ], [ -121.770261006418508, 37.879440978100561 ], [ -121.769329988546247, 37.879273035248005 ], [ -121.768628020239248, 37.879135011908389 ], [ -121.767711985638215, 37.878868004374858 ], [ -121.766674975625236, 37.87851001908632 ], [ -121.766094962142816, 37.878234971821726 ], [ -121.765483999579601, 37.87780800293843 ], [ -121.76456800114704, 37.877030001097665 ], [ -121.763713956155527, 37.87645803081756 ], [ -121.762844042192199, 37.875884972260806 ], [ -121.762127044336523, 37.875617971262457 ], [ -121.761820999468299, 37.875587996506461 ], [ -121.761211014881695, 37.875710007967967 ], [ -121.760310972431583, 37.875908033131246 ], [ -121.759242998114516, 37.875939027603849 ], [ -121.758434038688222, 37.875870015385708 ], [ -121.757548984540023, 37.875518974317359 ], [ -121.756724989393064, 37.874955015999987 ], [ -121.755763957533546, 37.874100004534469 ], [ -121.754512030208062, 37.873230008463608 ], [ -121.75352103161903, 37.87255899684466 ], [ -121.752970991878598, 37.87236102069744 ], [ -121.752513985359528, 37.872176983478113 ], [ -121.75167396320478, 37.871704001980838 ], [ -121.751363987566947, 37.871623966896799 ], [ -121.751064000452544, 37.871488975834922 ], [ -121.750743985983803, 37.87134602630951 ], [ -121.749538010768049, 37.871131988546409 ], [ -121.747965987404115, 37.870918974612799 ], [ -121.746089985978017, 37.870812965334579 ], [ -121.745280955184413, 37.870836029865643 ], [ -121.744854018233355, 37.870964977143423 ], [ -121.744121027293019, 37.871269994011229 ], [ -121.743281969520908, 37.871659000409281 ], [ -121.742565002304346, 37.871887994247295 ], [ -121.74167996090641, 37.87195598886774 ], [ -121.740856011769182, 37.872024982342204 ], [ -121.739863999461249, 37.871964023844562 ], [ -121.738276982710573, 37.87201102795369 ], [ -121.737406964430448, 37.87202599143717 ], [ -121.736278037699421, 37.871956985991382 ], [ -121.735729012017572, 37.871843010672229 ], [ -121.734935008438882, 37.871666973901668 ], [ -121.734080976915422, 37.871811992074015 ], [ -121.73368403634511, 37.871857995935585 ], [ -121.732964038831284, 37.871925024624694 ], [ -121.732493971867797, 37.872101975465633 ], [ -121.73177703561386, 37.872383993154692 ], [ -121.730739043350681, 37.872896026419888 ], [ -121.7297630103659, 37.873482016303925 ], [ -121.728739991805412, 37.873917023318697 ], [ -121.727687995976325, 37.874336992342158 ], [ -121.726513003199756, 37.874703024675426 ], [ -121.725928979240436, 37.874923990015461 ], [ -121.725124010030797, 37.875229023783881 ], [ -121.724564016885353, 37.875524032666036 ], [ -121.724131989108855, 37.875686998110965 ], [ -121.723552001467795, 37.875946016889671 ], [ -121.722964042572187, 37.87622402751623 ], [ -121.722224973360341, 37.876595026556458 ], [ -121.721325030914514, 37.876976032019897 ], [ -121.720347993702774, 37.87732000150109 ], [ -121.719477982146671, 37.877495015622586 ], [ -121.718410005577041, 37.87772398517162 ], [ -121.716929025769119, 37.877816002043225 ], [ -121.715785031909931, 37.877823030543681 ], [ -121.714456992434179, 37.878136012918496 ], [ -121.712168024709001, 37.878669980141169 ], [ -121.710260959113711, 37.87907402640888 ], [ -121.708628041602324, 37.879227009213672 ], [ -121.706690038713617, 37.879020975363936 ], [ -121.705209975427778, 37.878890991735716 ], [ -121.703608030849864, 37.878791965572418 ], [ -121.702067034058004, 37.878556008055718 ], [ -121.700815981059392, 37.878174031591456 ], [ -121.699183003660579, 37.877275024134249 ], [ -121.698405012239149, 37.876831992932537 ], [ -121.697825012503387, 37.876732988754419 ], [ -121.697563018004431, 37.876725020661304 ], [ -121.697366974937083, 37.877557001397619 ], [ -121.696866001185015, 37.878971982528732 ], [ -121.696635005645959, 37.879624028681917 ], [ -121.695562961388418, 37.881623983458262 ], [ -121.695563001774673, 37.882372021496465 ], [ -121.69556298526922, 37.883223984197322 ], [ -121.69555499474933, 37.883686983189214 ], [ -121.695362997117428, 37.894123995262945 ], [ -121.695140042989166, 37.894181020093718 ], [ -121.694833994029452, 37.894219027679107 ], [ -121.694529036891367, 37.894165020681811 ], [ -121.694208988394294, 37.894225965840995 ], [ -121.69387297297753, 37.893853007234497 ], [ -121.683777957538283, 37.883674025606091 ], [ -121.667337987343629, 37.867134969381674 ], [ -121.667198996545594, 37.866957018473045 ], [ -121.652927993523264, 37.847438974320958 ], [ -121.651071975578049, 37.838824994072127 ], [ -121.656061014260374, 37.835618027302878 ], [ -121.655058004159244, 37.823588000747328 ], [ -121.65599603197721, 37.821892028195897 ], [ -121.664305004455457, 37.817865987409043 ], [ -121.678778037289021, 37.805360992090129 ], [ -121.690570986443902, 37.784591003452249 ], [ -121.690743018927762, 37.784309017337939 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1188, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.772564999491749, 38.01042100031006 ], [ -121.772565000099817, 38.008121001020179 ], [ -121.772564999736218, 38.007621000310969 ], [ -121.772564999451973, 38.006321000807098 ], [ -121.772564999863334, 38.005121000681413 ], [ -121.774080000460827, 38.005121000652871 ], [ -121.776648000021254, 38.00512100112185 ], [ -121.776965000416212, 38.005121000246092 ], [ -121.778166000188648, 38.005121000361761 ], [ -121.778466000076534, 38.00522100053027 ], [ -121.778766000165433, 38.005221000239878 ], [ -121.779365999514866, 38.005321000662796 ], [ -121.779965999410422, 38.005321001033074 ], [ -121.780966000091325, 38.005321000260068 ], [ -121.78166600027005, 38.005321000331378 ], [ -121.782166000097021, 38.0053210005305 ], [ -121.782366000487585, 38.005321000740331 ], [ -121.783705999824875, 38.005247000300685 ], [ -121.784165999644301, 38.005221001039772 ], [ -121.785348999848011, 38.004795000486659 ], [ -121.785820000351407, 38.004625001012151 ], [ -121.786665999696069, 38.004321000765849 ], [ -121.787365999652422, 38.00442100086331 ], [ -121.787566000525075, 38.002921000548866 ], [ -121.787565999426818, 38.002221000877263 ], [ -121.787565999846549, 38.001066000862096 ], [ -121.787566000342352, 38.000921000275895 ], [ -121.787565999895605, 38.000721000568824 ], [ -121.78756599947053, 38.000617001005011 ], [ -121.787565999867965, 38.000221000382695 ], [ -121.787396999995266, 37.999921000261359 ], [ -121.786666000097782, 37.998621000403119 ], [ -121.786465999819427, 37.998121001016493 ], [ -121.790465999969911, 37.998921000845598 ], [ -121.790565999987976, 37.998939000668962 ], [ -121.796049000149878, 37.999921000505729 ], [ -121.797166000439759, 38.000121001110095 ], [ -121.800765999661621, 38.000821000661226 ], [ -121.806165999810631, 38.001821000794472 ], [ -121.806065999987354, 38.002421000261513 ], [ -121.806166000496788, 38.00322100066203 ], [ -121.806165999586341, 38.003621000554247 ], [ -121.806165999756743, 38.004021000431315 ], [ -121.806165999909155, 38.004821001006526 ], [ -121.806165999627297, 38.005121000853897 ], [ -121.808765999750378, 38.005021000333976 ], [ -121.8100660001693, 38.005021000564916 ], [ -121.81006600000805, 38.006021000320089 ], [ -121.810066999704091, 38.009021000617452 ], [ -121.810067000473225, 38.011421000905109 ], [ -121.808867000494416, 38.011421000952915 ], [ -121.808169999636746, 38.011479000282471 ], [ -121.807666000318832, 38.011521000994449 ], [ -121.806265999511311, 38.011521000979364 ], [ -121.806165999632213, 38.011221000933638 ], [ -121.805066000067868, 38.011321000395753 ], [ -121.805265999600479, 38.012321000596302 ], [ -121.805165999520227, 38.01252100066953 ], [ -121.801566000101175, 38.012521001050864 ], [ -121.799366000143223, 38.012521000971184 ], [ -121.796965999751279, 38.012521000777596 ], [ -121.79746599962445, 38.012921000988257 ], [ -121.798865999681837, 38.014421000301994 ], [ -121.799466000329531, 38.015121000677084 ], [ -121.796566000213488, 38.014421000993011 ], [ -121.794766000373116, 38.014021000418715 ], [ -121.791165999712646, 38.013221000680495 ], [ -121.787866000327568, 38.012721001046003 ], [ -121.787535999442852, 38.012556000979309 ], [ -121.787465999694831, 38.012521000496236 ], [ -121.782585000454205, 38.011468000953897 ], [ -121.782365999770974, 38.011421001118229 ], [ -121.780465999970801, 38.011321000981845 ], [ -121.77836599955657, 38.011221000327879 ], [ -121.778066000078624, 38.011221000341386 ], [ -121.773764999980571, 38.011221000507874 ], [ -121.773464999489732, 38.011221000482614 ], [ -121.772565000345708, 38.011221000342651 ], [ -121.772564999491749, 38.01042100031006 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1194, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.81726699989747, 37.994221000270365 ], [ -121.815766999880395, 37.994221001100527 ], [ -121.815066999490696, 37.994221001122213 ], [ -121.814566999569962, 37.994221000777969 ], [ -121.810966000260379, 37.994121000763094 ], [ -121.810450999712771, 37.993966000327148 ], [ -121.809965999417699, 37.993821000421832 ], [ -121.809865999825234, 37.9919210006966 ], [ -121.808666000371687, 37.992121001138003 ], [ -121.80766599939848, 37.992221000994824 ], [ -121.807565999426458, 37.988321000267256 ], [ -121.806966000523232, 37.987721000610875 ], [ -121.80576599987134, 37.986521001110596 ], [ -121.805754000124125, 37.986377001034754 ], [ -121.805712000181003, 37.985873000727047 ], [ -121.805665999757792, 37.985321000925516 ], [ -121.805566000490117, 37.984821000601563 ], [ -121.805566000258494, 37.983822000869111 ], [ -121.805466000044618, 37.982522000622254 ], [ -121.808766000471266, 37.982022000891114 ], [ -121.811365999941742, 37.982522000615958 ], [ -121.811366000215784, 37.980222000863876 ], [ -121.811566000176782, 37.980022000601103 ], [ -121.812366000340234, 37.979422000466634 ], [ -121.814865999957007, 37.979522000566789 ], [ -121.815247999910397, 37.979542000475725 ], [ -121.816766000346647, 37.979622000670339 ], [ -121.822967000079089, 37.980122000443444 ], [ -121.822866999627919, 37.981622001048521 ], [ -121.824167000428659, 37.982222000582937 ], [ -121.824952999562882, 37.982638000939097 ], [ -121.824667000414649, 37.983122000815136 ], [ -121.824498999430588, 37.983605001087184 ], [ -121.824399999904358, 37.983890000331343 ], [ -121.824276999517295, 37.984243000980705 ], [ -121.823866999653248, 37.985421000735954 ], [ -121.823867000450363, 37.986421000409827 ], [ -121.823147000058555, 37.988305000758395 ], [ -121.822566999932391, 37.989821000783735 ], [ -121.822367000288239, 37.992821000326671 ], [ -121.821266999482745, 37.993221000341116 ], [ -121.819866999721754, 37.993821000313936 ], [ -121.818467000487459, 37.994221000971663 ], [ -121.81726699989747, 37.994221000270365 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1197, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.856103000136272, 38.003921000617673 ], [ -121.856168000345249, 38.007821000262275 ], [ -121.855467999638051, 38.009221000302524 ], [ -121.854790999882113, 38.009027001003901 ], [ -121.854767999710447, 38.009021000911673 ], [ -121.852867000008942, 38.008459000758378 ], [ -121.844967999527043, 38.006121000448395 ], [ -121.840266999540916, 38.004821000983618 ], [ -121.839069000481601, 38.004473000762381 ], [ -121.837166999832547, 38.003921000357266 ], [ -121.837411999998011, 38.003707000881576 ], [ -121.837907999778196, 38.003273000574907 ], [ -121.838013000398576, 38.003170000391357 ], [ -121.838767000038288, 38.002521000527871 ], [ -121.841728000428091, 37.999921000947936 ], [ -121.84286699972904, 37.998921000339315 ], [ -121.844067000235142, 37.997921000374525 ], [ -121.844966999644967, 37.997021000720309 ], [ -121.845967000411093, 37.996221000612536 ], [ -121.846767000097543, 37.995521000251415 ], [ -121.847267000077721, 37.995021001047 ], [ -121.847389999478423, 37.995133000473267 ], [ -121.850468000521985, 37.997921000833507 ], [ -121.855868000157528, 37.997721000782427 ], [ -121.855867999649092, 37.998321001049916 ], [ -121.855958999724237, 37.999921000931145 ], [ -121.856068000233506, 38.001821001030557 ], [ -121.856103000136272, 38.003921000617673 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1190, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.825267000494577, 38.005921001014784 ], [ -121.823766999418098, 38.005621000265172 ], [ -121.82006699972105, 38.004821000285311 ], [ -121.820367000003031, 38.003721000998283 ], [ -121.820815000367062, 38.001854000419925 ], [ -121.820966999663966, 38.001221000735661 ], [ -121.82106700001728, 38.000421000889574 ], [ -121.821151999497829, 37.999884000918996 ], [ -121.821185000156802, 37.999668000880312 ], [ -121.822639999961766, 37.999904000732151 ], [ -121.823367000060287, 38.000021000258059 ], [ -121.832191000073735, 38.00261600100638 ], [ -121.83356699998248, 38.00302100111481 ], [ -121.834913999387879, 38.003349001082171 ], [ -121.836014000299087, 38.003628000677892 ], [ -121.837166999832547, 38.003921000357266 ], [ -121.836916000129335, 38.004188000703948 ], [ -121.836480000464235, 38.004650000832733 ], [ -121.835967000418492, 38.005221000422729 ], [ -121.833966999961589, 38.007021000641224 ], [ -121.833366999438269, 38.007521000812865 ], [ -121.830267000240951, 38.006921000871195 ], [ -121.827267000286369, 38.006221001045247 ], [ -121.825267000494577, 38.005921001014784 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1187, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.806122999404622, 37.998333000327321 ], [ -121.806066000296013, 37.998821000440735 ], [ -121.805966000030409, 37.999521001072353 ], [ -121.806009999807344, 37.9999210009655 ], [ -121.806066000099179, 38.000421001021998 ], [ -121.806066000189787, 38.000821001103461 ], [ -121.806065999949624, 38.001121000243089 ], [ -121.806165999810631, 38.001821000794472 ], [ -121.800765999661621, 38.000821000661226 ], [ -121.797166000439759, 38.000121001110095 ], [ -121.796049000149878, 37.999921000505729 ], [ -121.790565999987976, 37.998939000668962 ], [ -121.790465999969911, 37.998921000845598 ], [ -121.786465999819427, 37.998121001016493 ], [ -121.786066000384338, 37.9973210009586 ], [ -121.785865999866488, 37.996921000393549 ], [ -121.785766000388946, 37.996721000888371 ], [ -121.785666000066627, 37.996221000665678 ], [ -121.785266000469917, 37.99552100038408 ], [ -121.785055999943822, 37.995036000867984 ], [ -121.785066000502866, 37.995021000287998 ], [ -121.784766000470242, 37.993221000981976 ], [ -121.784665999668192, 37.992721000596795 ], [ -121.784481999541327, 37.991160000421317 ], [ -121.784465999996925, 37.991021000557879 ], [ -121.784365999576579, 37.990421000686219 ], [ -121.784065999621234, 37.990221000371271 ], [ -121.781866000172769, 37.988421000943454 ], [ -121.778764999815252, 37.98592100033224 ], [ -121.776664999538212, 37.984122000982261 ], [ -121.778264999831862, 37.985022000292197 ], [ -121.778764999903885, 37.985222000573955 ], [ -121.779964999902518, 37.985522000496246 ], [ -121.780118999775624, 37.985585000534897 ], [ -121.782757999945247, 37.98667100069855 ], [ -121.783366000234508, 37.98692100071996 ], [ -121.785039000315493, 37.985394000292658 ], [ -121.785383999579892, 37.98507900079187 ], [ -121.78566599954398, 37.984822000835869 ], [ -121.787070999925675, 37.984611000727739 ], [ -121.787666000243064, 37.984522000585137 ], [ -121.791165999724882, 37.983922000978048 ], [ -121.794065999826898, 37.984522000948203 ], [ -121.79417999990568, 37.984510000885798 ], [ -121.796855999803967, 37.984233000895181 ], [ -121.7969659995711, 37.984222000840411 ], [ -121.797466000279272, 37.984222000807712 ], [ -121.797969999944016, 37.984201000884603 ], [ -121.798638000423367, 37.984173000632403 ], [ -121.802165999714049, 37.984022001054619 ], [ -121.802965999690727, 37.983622000814485 ], [ -121.805466000044618, 37.982522000622254 ], [ -121.805566000258494, 37.983822000869111 ], [ -121.805566000490117, 37.984821000601563 ], [ -121.805665999757792, 37.985321000925516 ], [ -121.805712000181003, 37.985873000727047 ], [ -121.805754000124125, 37.986377001034754 ], [ -121.80576599987134, 37.986521001110596 ], [ -121.806966000523232, 37.987721000610875 ], [ -121.807565999426458, 37.988321000267256 ], [ -121.80766599939848, 37.992221000994824 ], [ -121.808666000371687, 37.992121001138003 ], [ -121.809865999825234, 37.9919210006966 ], [ -121.809965999417699, 37.993821000421832 ], [ -121.809966000249588, 37.99532100092943 ], [ -121.809965999394166, 37.997521000928842 ], [ -121.809965999476731, 37.998321000818756 ], [ -121.809066000240378, 37.99832100092955 ], [ -121.8067659996141, 37.998321000822251 ], [ -121.806122999404622, 37.998333000327321 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1206, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.917870000322054, 38.027920000367025 ], [ -121.916969999396684, 38.028920000338879 ], [ -121.916369999451078, 38.029520000812745 ], [ -121.915970000334994, 38.029520001080989 ], [ -121.914269999982437, 38.029620000975861 ], [ -121.913469999689511, 38.029620000250631 ], [ -121.907170000444921, 38.029920001042115 ], [ -121.906769999460167, 38.029920000609877 ], [ -121.899568999580495, 38.02962000035744 ], [ -121.89876900021892, 38.029720000843824 ], [ -121.897572000255934, 38.029720000949084 ], [ -121.897174000302741, 38.029720001046826 ], [ -121.896949000469931, 38.029720000882932 ], [ -121.896369000354326, 38.029720001032437 ], [ -121.895569000125533, 38.029720001016166 ], [ -121.893569000358355, 38.029720000590295 ], [ -121.893268999615515, 38.030620001110051 ], [ -121.892969000281681, 38.03112000055981 ], [ -121.892775000391751, 38.031207001111682 ], [ -121.890882999582544, 38.031137000673731 ], [ -121.889479999860598, 38.030936000605351 ], [ -121.888194000162216, 38.030653001091679 ], [ -121.886982999893064, 38.030457000753657 ], [ -121.885796999893259, 38.030021001056532 ], [ -121.885769000039303, 38.030120000489511 ], [ -121.88568999965814, 38.030299000298889 ], [ -121.884386999697284, 38.030004000833657 ], [ -121.88343699987324, 38.029806001018081 ], [ -121.882240000333255, 38.02948800063578 ], [ -121.881629000449408, 38.029359000597914 ], [ -121.880929999614295, 38.029211000595417 ], [ -121.880968999724956, 38.029120001038741 ], [ -121.880999000001509, 38.029000000301281 ], [ -121.880294999406019, 38.028639000388345 ], [ -121.878285999761829, 38.028087000424811 ], [ -121.878368999822953, 38.027420000485236 ], [ -121.878269000380087, 38.026720000251373 ], [ -121.878368999480571, 38.026020001074002 ], [ -121.8760690002606, 38.025609001078593 ], [ -121.875568999713025, 38.025520000595215 ], [ -121.871668999587868, 38.024620000247417 ], [ -121.871969000313783, 38.024020001090797 ], [ -121.872169000081456, 38.023420000739307 ], [ -121.872469000011677, 38.022620000563577 ], [ -121.872769000259794, 38.021920000629287 ], [ -121.873468999871335, 38.020120000783066 ], [ -121.873620999650996, 38.019842001002544 ], [ -121.876068999770794, 38.020669000384252 ], [ -121.880069000176093, 38.022020000318008 ], [ -121.886369000487463, 38.02422000064648 ], [ -121.891569000151677, 38.024920000595934 ], [ -121.892768999770908, 38.025120000912089 ], [ -121.902468999716973, 38.026020000327712 ], [ -121.902554000347777, 38.026028001073165 ], [ -121.906660999890562, 38.026441000383038 ], [ -121.907170000149463, 38.026520000939193 ], [ -121.913604000031597, 38.027228000966005 ], [ -121.914140999697025, 38.027287000753354 ], [ -121.91807000047848, 38.027720000612739 ], [ -121.917870000322054, 38.027920000367025 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1204, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.866567999447369, 38.012021000824973 ], [ -121.867767999899428, 38.012321000438583 ], [ -121.868617000103768, 38.012557000399418 ], [ -121.869567999521394, 38.012821000580693 ], [ -121.8751679997591, 38.014021001099479 ], [ -121.876069000243405, 38.014201000787921 ], [ -121.87716900009552, 38.01442100060752 ], [ -121.880368999400304, 38.015221000591865 ], [ -121.882468999848598, 38.015721000709974 ], [ -121.882369000215135, 38.016120000531316 ], [ -121.881768999764276, 38.017920000561297 ], [ -121.881169000232504, 38.019220000446744 ], [ -121.880869000050566, 38.020120000851335 ], [ -121.880069000176093, 38.022020000318008 ], [ -121.876068999770794, 38.020669000384252 ], [ -121.873620999650996, 38.019842001002544 ], [ -121.872667999560107, 38.019520000978929 ], [ -121.869067999662875, 38.018220000382421 ], [ -121.865467999500211, 38.017020000243143 ], [ -121.859967999802905, 38.015121000449184 ], [ -121.854190000246817, 38.013060000336161 ], [ -121.854181000406115, 38.012917000561195 ], [ -121.854168000380369, 38.012721001092743 ], [ -121.854168000217726, 38.012321001015657 ], [ -121.854968000253606, 38.010621000435258 ], [ -121.855168000178196, 38.01022100097827 ], [ -121.855410999913289, 38.009412000511098 ], [ -121.855467999638051, 38.009221000302524 ], [ -121.855584999808002, 38.009250001089327 ], [ -121.857534000367593, 38.009725000424673 ], [ -121.859567999392027, 38.010221000613591 ], [ -121.861208000060984, 38.010610000269416 ], [ -121.865468000504961, 38.011621000994268 ], [ -121.865904999493594, 38.011780001131612 ], [ -121.866567999447369, 38.012021000824973 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1198, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.856168000345249, 38.007821000262275 ], [ -121.856103000136272, 38.003921000617673 ], [ -121.856068000233506, 38.001821001030557 ], [ -121.855958999724237, 37.999921000931145 ], [ -121.855867999649092, 37.998321001049916 ], [ -121.855868000157528, 37.997721000782427 ], [ -121.861169000035588, 37.997852000560464 ], [ -121.863823999443838, 37.997918000928657 ], [ -121.867967999767288, 37.998021000759216 ], [ -121.869168000361867, 37.998021000695566 ], [ -121.869564000008808, 37.998021000351315 ], [ -121.870067999459394, 37.998021000932397 ], [ -121.870668000426548, 37.998021000281433 ], [ -121.871767999970729, 37.998021001026402 ], [ -121.873667999966642, 37.998021000607373 ], [ -121.873668000295723, 37.999921000881756 ], [ -121.873667999971701, 38.000321000623188 ], [ -121.873467999417755, 38.001421001106664 ], [ -121.873068000008374, 38.003021000640771 ], [ -121.872468000166364, 38.004821000484469 ], [ -121.872067999827806, 38.005721000971469 ], [ -121.871768000171116, 38.006621000526891 ], [ -121.871448999893033, 38.007498000828228 ], [ -121.87136800021915, 38.00772100099892 ], [ -121.871067999679255, 38.008521000613058 ], [ -121.868867999700072, 38.011121000733489 ], [ -121.86826799960258, 38.011421000807026 ], [ -121.867768000226405, 38.01162100056731 ], [ -121.867365999755549, 38.011758000682867 ], [ -121.867258000431747, 38.011795000949469 ], [ -121.867082999605472, 38.011855000625665 ], [ -121.866567999447369, 38.012021000824973 ], [ -121.865904999493594, 38.011780001131612 ], [ -121.865468000504961, 38.011621000994268 ], [ -121.861208000060984, 38.010610000269416 ], [ -121.859567999392027, 38.010221000613591 ], [ -121.857534000367593, 38.009725000424673 ], [ -121.855584999808002, 38.009250001089327 ], [ -121.855467999638051, 38.009221000302524 ], [ -121.856168000345249, 38.007821000262275 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1207, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.906666000431159, 38.026308000446477 ], [ -121.906669999455858, 38.026220000320585 ], [ -121.906770000327342, 38.02342000025385 ], [ -121.906820000331479, 38.022020001036289 ], [ -121.906847999588209, 38.021236000988111 ], [ -121.906870000074775, 38.020620000560314 ], [ -121.907170000188401, 38.020620000975477 ], [ -121.909270000326103, 38.02052000079108 ], [ -121.916769999686935, 38.020437000925433 ], [ -121.917564999504052, 38.020428000294679 ], [ -121.918269999404473, 38.020420000313386 ], [ -121.920480000069787, 38.020268000395937 ], [ -121.921589000286019, 38.020191000857338 ], [ -121.922299000286685, 38.0201420004474 ], [ -121.923194999938943, 38.020080000928715 ], [ -121.92406999991951, 38.020020000545358 ], [ -121.926969999962878, 38.019420001124089 ], [ -121.92788100014576, 38.019420000452733 ], [ -121.928370000135743, 38.019420000890932 ], [ -121.928370000413793, 38.019620000571685 ], [ -121.92837000025996, 38.023320000640183 ], [ -121.928382000298583, 38.023756000409975 ], [ -121.928466000318863, 38.026784000391778 ], [ -121.928469999758434, 38.026920000844555 ], [ -121.930169999983704, 38.026820000508344 ], [ -121.930819000321776, 38.026851000617057 ], [ -121.930626999859783, 38.027067000295347 ], [ -121.93010500008387, 38.027656001068969 ], [ -121.92996200016799, 38.02781800026218 ], [ -121.929414999764845, 38.028434000573213 ], [ -121.929005999562264, 38.028896000308841 ], [ -121.928582000506992, 38.029375000881998 ], [ -121.9285779995962, 38.029943000636166 ], [ -121.928576000372757, 38.030172001004061 ], [ -121.928573999385549, 38.030496000889812 ], [ -121.928552000150631, 38.033711000809291 ], [ -121.928499000085282, 38.041378000796001 ], [ -121.928481000065744, 38.044132000429151 ], [ -121.92846000023205, 38.047054000386623 ], [ -121.928027000431413, 38.046969000786312 ], [ -121.925814000051531, 38.046474000259053 ], [ -121.924424999728828, 38.046268000871947 ], [ -121.923325999615429, 38.046123000894369 ], [ -121.922121000187033, 38.045901000573089 ], [ -121.920793999510124, 38.04572600064327 ], [ -121.918901000464899, 38.045582000762508 ], [ -121.917330000208111, 38.045429000557093 ], [ -121.915543999845127, 38.045216001019369 ], [ -121.913622000436575, 38.045124001019317 ], [ -121.911943000303324, 38.045048000949819 ], [ -121.910143000066597, 38.044956000812284 ], [ -121.908569999430398, 38.045020000785826 ], [ -121.908369999828111, 38.039620000827412 ], [ -121.907070000510231, 38.03902000031475 ], [ -121.905569999549598, 38.038320000688579 ], [ -121.904370000236611, 38.0362200007567 ], [ -121.902670000121006, 38.035020000381728 ], [ -121.90186999961054, 38.033720000477679 ], [ -121.901170000249152, 38.032320000274368 ], [ -121.900870000324574, 38.031620000986337 ], [ -121.905370000126069, 38.031220000484026 ], [ -121.906769999673372, 38.03052000025383 ], [ -121.90707900051882, 38.030056001115284 ], [ -121.907170000444921, 38.029920001042115 ], [ -121.913469999689511, 38.029620000250631 ], [ -121.914269999982437, 38.029620000975861 ], [ -121.915970000334994, 38.029520001080989 ], [ -121.916369999451078, 38.029520000812745 ], [ -121.916969999396684, 38.028920000338879 ], [ -121.917870000322054, 38.027920000367025 ], [ -121.91807000047848, 38.027720000612739 ], [ -121.914140999697025, 38.027287000753354 ], [ -121.913604000031597, 38.027228000966005 ], [ -121.907170000149463, 38.026520000939193 ], [ -121.906660999890562, 38.026441000383038 ], [ -121.906666000431159, 38.026308000446477 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1093, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.135175999716466, 38.016421000363991 ], [ -122.134276000369525, 38.016921000357542 ], [ -122.133775999573373, 38.016321000383613 ], [ -122.133376000348747, 38.015821000395675 ], [ -122.132676000111687, 38.016321001120509 ], [ -122.13187599970243, 38.01672100060383 ], [ -122.13077600026908, 38.017321000581418 ], [ -122.131375999755917, 38.017921000261516 ], [ -122.131976000298607, 38.018421000958369 ], [ -122.132376000413487, 38.01902100052996 ], [ -122.13277600041711, 38.018721000383628 ], [ -122.133376000142974, 38.018521000885443 ], [ -122.133876000093778, 38.018921000639544 ], [ -122.134476000175695, 38.019521000746103 ], [ -122.134776000328301, 38.019921000513442 ], [ -122.134976999813205, 38.020171000601245 ], [ -122.129074000255684, 38.02312100039105 ], [ -122.128876000008489, 38.023221001131837 ], [ -122.128575999877356, 38.022421000615715 ], [ -122.128576000122237, 38.022021001071948 ], [ -122.126575999684164, 38.021521000316383 ], [ -122.125776000193355, 38.021721001031196 ], [ -122.12467600013845, 38.023621000797256 ], [ -122.118275999647921, 38.025021001000042 ], [ -122.118376000063051, 38.021221000347246 ], [ -122.118275999978309, 38.014421000414785 ], [ -122.119076000399446, 38.01432100105918 ], [ -122.119575999611911, 38.014121000369627 ], [ -122.119876000101939, 38.013921000400998 ], [ -122.120175999511559, 38.013321000638797 ], [ -122.120875999687428, 38.01352100082056 ], [ -122.121675999524129, 38.013921000281371 ], [ -122.122475999663934, 38.014221001095748 ], [ -122.123276000319137, 38.014421000560795 ], [ -122.124076000501233, 38.014521000465983 ], [ -122.124675999448087, 38.013421000561586 ], [ -122.125075999590422, 38.013721000266031 ], [ -122.126175999878612, 38.014021000645847 ], [ -122.126587000367877, 38.013815001066099 ], [ -122.126976000198809, 38.013621001024759 ], [ -122.12742100028008, 38.013324000804083 ], [ -122.128175999906574, 38.012821000637793 ], [ -122.129075999599607, 38.012221000493561 ], [ -122.129375999393929, 38.011521000509227 ], [ -122.13007599951554, 38.011021000897671 ], [ -122.130775999604623, 38.010621000280068 ], [ -122.131375999424961, 38.010021001002471 ], [ -122.131976000102455, 38.009721000271739 ], [ -122.132775999449919, 38.009321001072387 ], [ -122.133275999905763, 38.009821000653282 ], [ -122.133875999779065, 38.010421000750725 ], [ -122.134375999410011, 38.01112100035359 ], [ -122.134976000087647, 38.011621000560453 ], [ -122.135476000024411, 38.012221000295625 ], [ -122.135975999488423, 38.012721000942257 ], [ -122.136576000011914, 38.013221001073219 ], [ -122.137075999747879, 38.013821000263846 ], [ -122.136375999429688, 38.014221000343866 ], [ -122.135776000463196, 38.014721000816991 ], [ -122.1349760001291, 38.015121000936617 ], [ -122.134275999908851, 38.015521000931642 ], [ -122.134676000412, 38.015921001037448 ], [ -122.135175999716466, 38.016421000363991 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1095, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.090575000088236, 38.042220000302066 ], [ -122.089474999612349, 38.039620001067789 ], [ -122.087075000198411, 38.037520000356203 ], [ -122.080074999422337, 38.031520000500521 ], [ -122.079474999477014, 38.031220000971373 ], [ -122.07747500014537, 38.03182000063542 ], [ -122.075826999415497, 38.032291000568542 ], [ -122.075374999613288, 38.032420000638297 ], [ -122.072574000055994, 38.030420000816299 ], [ -122.07157400020705, 38.029420000253793 ], [ -122.069174000058354, 38.026920000262002 ], [ -122.064874000008146, 38.020321000734739 ], [ -122.065173999415762, 38.020121000831708 ], [ -122.068073999738715, 38.017821000920065 ], [ -122.074073999580662, 38.01052100033646 ], [ -122.077350000278557, 38.008468000479446 ], [ -122.081574000492324, 38.005821000853331 ], [ -122.082574000244122, 38.005321000453613 ], [ -122.085974000214364, 38.00422100079814 ], [ -122.092175000356562, 38.005721000315617 ], [ -122.099013000285012, 38.005242000476848 ], [ -122.102174999925666, 38.005021000271377 ], [ -122.103475000452548, 38.004921000694374 ], [ -122.106474999539657, 38.004421000248641 ], [ -122.108474999436552, 38.003321000821359 ], [ -122.113074999459158, 38.000721000340427 ], [ -122.114457999626353, 37.999993000445095 ], [ -122.114594999903602, 37.999921000810048 ], [ -122.11497499941332, 37.999721000289242 ], [ -122.116469000433185, 37.998675000429436 ], [ -122.119974999668173, 37.996221000282041 ], [ -122.120675000073618, 37.995121001019413 ], [ -122.120875000453282, 37.995421000568875 ], [ -122.121075000016901, 37.995621000837097 ], [ -122.12092399948979, 37.995898000698197 ], [ -122.120740999404745, 37.996233000825676 ], [ -122.120474999788797, 37.996721000473464 ], [ -122.118974999720265, 37.997821000944199 ], [ -122.115644000116731, 37.999921000865804 ], [ -122.114419000163963, 38.000693000330649 ], [ -122.114375000054693, 38.000721001096259 ], [ -122.112875000111501, 38.001421000979896 ], [ -122.112274999683549, 38.002121000601768 ], [ -122.111275000209673, 38.003121000983711 ], [ -122.111274999493702, 38.00452100028987 ], [ -122.111079999921685, 38.007244000920778 ], [ -122.111020000203155, 38.008091000716789 ], [ -122.110975000418861, 38.00872100060878 ], [ -122.110975000179693, 38.009621000954731 ], [ -122.110968999712711, 38.010110001083859 ], [ -122.110968999917105, 38.010687000689572 ], [ -122.110974999389811, 38.011321000837341 ], [ -122.110980000457459, 38.012037000973692 ], [ -122.11157500034065, 38.012121001028632 ], [ -122.111775000459687, 38.012121000554032 ], [ -122.112075000065062, 38.012121000551723 ], [ -122.112974999969438, 38.012021000963017 ], [ -122.11387500009829, 38.012121000701796 ], [ -122.114375000185319, 38.012021000847163 ], [ -122.114674999438421, 38.012021000514139 ], [ -122.114974999834857, 38.012021000325433 ], [ -122.115975000426658, 38.012021000771107 ], [ -122.116875000247518, 38.012121000993112 ], [ -122.118175999498902, 38.012721000531016 ], [ -122.118175999806553, 38.013221000847587 ], [ -122.118275999978309, 38.014421000414785 ], [ -122.118376000063051, 38.021221000347246 ], [ -122.118275999647921, 38.025021001000042 ], [ -122.12467600013845, 38.023621000797256 ], [ -122.125776000193355, 38.021721001031196 ], [ -122.126575999684164, 38.021521000316383 ], [ -122.128576000122237, 38.022021001071948 ], [ -122.128575999877356, 38.022421000615715 ], [ -122.128876000008489, 38.023221001131837 ], [ -122.129176000204183, 38.026921001012099 ], [ -122.129375999742308, 38.027621000526473 ], [ -122.129476000263907, 38.028221000750221 ], [ -122.127276000525157, 38.029721000424885 ], [ -122.126276000162576, 38.030420000369993 ], [ -122.121776000320253, 38.031720000458961 ], [ -122.121176000296813, 38.032220000401601 ], [ -122.120076000449885, 38.033220000327617 ], [ -122.119979000274981, 38.033317000501079 ], [ -122.119376000442514, 38.033920000464605 ], [ -122.117975999491463, 38.034820001036572 ], [ -122.114376000086523, 38.037320000921945 ], [ -122.113975999465367, 38.03762000066672 ], [ -122.097174999491912, 38.042720000358635 ], [ -122.096575000504856, 38.042820000517132 ], [ -122.096075000337791, 38.043020000288308 ], [ -122.095175000470363, 38.043120000481743 ], [ -122.093775000040026, 38.043320001063165 ], [ -122.092774999446888, 38.043420000488169 ], [ -122.090575000088236, 38.042220000302066 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1123, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.065174000280166, 37.971422000645902 ], [ -122.066973999664654, 37.971422000922871 ], [ -122.068330999797439, 37.971375000343556 ], [ -122.069874000165086, 37.971322000671776 ], [ -122.071373999992247, 37.971322000689035 ], [ -122.073019000092657, 37.971259001136332 ], [ -122.073973999803727, 37.971222000842097 ], [ -122.074073999601708, 37.974722001007628 ], [ -122.074670000202062, 37.975169000546344 ], [ -122.075674000259184, 37.975922001111627 ], [ -122.076252000246541, 37.976673001045796 ], [ -122.076596999794475, 37.977122001068103 ], [ -122.076674000412396, 37.977222000641845 ], [ -122.076673999713762, 37.977387000591023 ], [ -122.076673999568484, 37.978200000857733 ], [ -122.076674000160949, 37.978322000552758 ], [ -122.076873999499782, 37.978722000571452 ], [ -122.07730000012107, 37.979054001103343 ], [ -122.077773999415399, 37.979422000737564 ], [ -122.077885000447637, 37.979448000987951 ], [ -122.079074000511355, 37.979722000927005 ], [ -122.079774000052197, 37.980322000702074 ], [ -122.079474000459186, 37.982722000295411 ], [ -122.079373999681678, 37.98352200064933 ], [ -122.078523000327039, 37.983970000580982 ], [ -122.077474000203765, 37.984522000985905 ], [ -122.077274000128511, 37.985722000392578 ], [ -122.077248999931044, 37.986285001129133 ], [ -122.077139000353213, 37.988748000843366 ], [ -122.077113000000409, 37.989344000365413 ], [ -122.077082999505194, 37.990010001065734 ], [ -122.077074000229729, 37.990221000809662 ], [ -122.076985999758691, 37.990460001049804 ], [ -122.076720999488714, 37.99118000097284 ], [ -122.0763740002687, 37.992121001030419 ], [ -122.074788999435071, 37.992675001111031 ], [ -122.074273999860097, 37.992821000479623 ], [ -122.073386999838604, 37.993123000235713 ], [ -122.070520999898818, 37.994061001130689 ], [ -122.06999199963964, 37.994318001053749 ], [ -122.069674000156965, 37.993821000440683 ], [ -122.068874000419541, 37.99222100096555 ], [ -122.068650000225304, 37.991768000465122 ], [ -122.068173999834741, 37.990421000441181 ], [ -122.066974000037163, 37.985322000565354 ], [ -122.066692999854681, 37.984253000922727 ], [ -122.066473999859255, 37.983422000691263 ], [ -122.066074000048431, 37.98172200039123 ], [ -122.065103000073066, 37.979338001037263 ], [ -122.064973999410768, 37.979022001021761 ], [ -122.064624999805645, 37.978200000661985 ], [ -122.064398000118373, 37.977835000266204 ], [ -122.063574000385174, 37.976522000327591 ], [ -122.064704999825395, 37.976000000503419 ], [ -122.064874000460421, 37.975922000532982 ], [ -122.06427399975891, 37.973722001093222 ], [ -122.063773999896114, 37.971422001003091 ], [ -122.065174000280166, 37.971422000645902 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1128, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.069473999720188, 37.947823000876078 ], [ -122.070373999575196, 37.947823000264279 ], [ -122.070673999528395, 37.947823000933411 ], [ -122.07317399999252, 37.947723001092555 ], [ -122.073095000120745, 37.946623000775254 ], [ -122.073086999491522, 37.946511001012382 ], [ -122.073074000205594, 37.946323001093674 ], [ -122.073074000193131, 37.94588600087274 ], [ -122.073074000424626, 37.945623000579978 ], [ -122.073154999901476, 37.943755000684824 ], [ -122.073174000174447, 37.943323000585117 ], [ -122.073574000454215, 37.943323000975866 ], [ -122.07413899998221, 37.943323000724305 ], [ -122.07514299941343, 37.943323000298911 ], [ -122.075573999773795, 37.943323000535194 ], [ -122.077174000102602, 37.943323000940765 ], [ -122.077874000522272, 37.943323000585565 ], [ -122.079473999975903, 37.943323000342048 ], [ -122.079973999694431, 37.943323000646153 ], [ -122.081774000202159, 37.943323000738168 ], [ -122.082274000009519, 37.94332300027898 ], [ -122.082330000134391, 37.943934000764116 ], [ -122.08237400008494, 37.944423000881471 ], [ -122.082373999403515, 37.946023001094147 ], [ -122.082474000401945, 37.947123000250564 ], [ -122.082474000317902, 37.947823001046174 ], [ -122.082603000108193, 37.948081000424295 ], [ -122.082974000506184, 37.948823000473858 ], [ -122.083114000392442, 37.949103000274512 ], [ -122.083873999729846, 37.950623001043773 ], [ -122.08427400008668, 37.951223000554499 ], [ -122.083174000524252, 37.951423000545681 ], [ -122.082273999966461, 37.951822000525731 ], [ -122.081674000100804, 37.952322000294494 ], [ -122.081599000014506, 37.952375000670216 ], [ -122.081136000489636, 37.952702000482049 ], [ -122.079973999690679, 37.953522000492178 ], [ -122.079273999828288, 37.95372200073259 ], [ -122.078873999704655, 37.953822000754371 ], [ -122.078673999967876, 37.954322000411608 ], [ -122.078198999425283, 37.954441000684639 ], [ -122.078083999558302, 37.954470000919606 ], [ -122.077873999613857, 37.954522000351957 ], [ -122.077234000095743, 37.954380001031033 ], [ -122.076974000509409, 37.954322000724162 ], [ -122.076527999844174, 37.954601000392394 ], [ -122.07623100034948, 37.954787000337681 ], [ -122.076173999942142, 37.954822000516231 ], [ -122.07519899949385, 37.954672000926536 ], [ -122.074873999480147, 37.954622001074469 ], [ -122.074573999518776, 37.954822000553563 ], [ -122.074573999960776, 37.955622000258877 ], [ -122.073873999602881, 37.955922000728656 ], [ -122.073574000476341, 37.956522000934761 ], [ -122.072573999826631, 37.956189001065361 ], [ -122.071173999875299, 37.955722000932823 ], [ -122.070373999552572, 37.956222000536393 ], [ -122.06947400043677, 37.956522001027629 ], [ -122.068574000314513, 37.956722000759584 ], [ -122.066374000093461, 37.95912200048582 ], [ -122.066564000303003, 37.957665000487985 ], [ -122.066673999939923, 37.956822000570185 ], [ -122.066873999772113, 37.956422000463306 ], [ -122.06767399981355, 37.954622000472874 ], [ -122.067873999531955, 37.953822000518379 ], [ -122.067073999486908, 37.953722000324916 ], [ -122.067073999837532, 37.954022000802411 ], [ -122.066873999385365, 37.954722000977284 ], [ -122.064173999970365, 37.954822000670809 ], [ -122.061873999580826, 37.954722000255011 ], [ -122.061973999622722, 37.954022001030808 ], [ -122.061973999413667, 37.953422000279296 ], [ -122.061874000490661, 37.953122001030799 ], [ -122.061073999421765, 37.953022000644935 ], [ -122.060973999857083, 37.952122000692263 ], [ -122.061073999489295, 37.951522000307584 ], [ -122.063073999638902, 37.951422000695487 ], [ -122.063074000269268, 37.9508220005468 ], [ -122.063074000329891, 37.949822000458866 ], [ -122.062620999481013, 37.94985600098137 ], [ -122.060373999468837, 37.95002200058881 ], [ -122.060329999460649, 37.949063001111966 ], [ -122.060273999598522, 37.947823001067981 ], [ -122.061758999711998, 37.947830000689095 ], [ -122.063284999606026, 37.947837000673566 ], [ -122.064374000514519, 37.947823001042728 ], [ -122.065241000360402, 37.94776500054698 ], [ -122.065874000333764, 37.947723000901348 ], [ -122.067373999977264, 37.947723000796543 ], [ -122.067657000314199, 37.947770000836172 ], [ -122.067974000102382, 37.947823000713392 ], [ -122.068573999928958, 37.947823000910759 ], [ -122.069473999720188, 37.947823000876078 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1130, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.082180000045071, 37.940329000948715 ], [ -122.082173999656149, 37.940123000269033 ], [ -122.082274000401696, 37.939723000533839 ], [ -122.081973999686355, 37.939223000972383 ], [ -122.081973999915377, 37.938863000948686 ], [ -122.081974000431032, 37.938623000623345 ], [ -122.081973999926348, 37.938023001106046 ], [ -122.081773999698711, 37.937423000999736 ], [ -122.081736999719411, 37.937053000922063 ], [ -122.081673999502073, 37.936423001054109 ], [ -122.081690000086866, 37.936327000850447 ], [ -122.081851999649103, 37.935355001109087 ], [ -122.081873999628485, 37.935223000423676 ], [ -122.082321999520886, 37.934725000825232 ], [ -122.082773999620684, 37.934223001046114 ], [ -122.083574000482884, 37.933623000452179 ], [ -122.084473999808523, 37.933323000974546 ], [ -122.085074000438055, 37.933423000853843 ], [ -122.085574000411128, 37.933423000448947 ], [ -122.086573999800947, 37.933123000366294 ], [ -122.086874000161004, 37.931723000768876 ], [ -122.08687399980694, 37.930923000816335 ], [ -122.086773999752481, 37.930623000515247 ], [ -122.08667400012429, 37.929023000991442 ], [ -122.086674000173801, 37.927823000505718 ], [ -122.086673999583979, 37.926856000473961 ], [ -122.086674000279473, 37.926423000989118 ], [ -122.086781999974676, 37.926272000818997 ], [ -122.087173999764062, 37.925723000844961 ], [ -122.088073999807747, 37.925123000282007 ], [ -122.089874000517412, 37.924723000779089 ], [ -122.090874000487446, 37.924523000794153 ], [ -122.091904999925646, 37.924214000737507 ], [ -122.092873999737463, 37.923923000591195 ], [ -122.094474999534441, 37.923523000390531 ], [ -122.095775000153196, 37.922723001110555 ], [ -122.095775000034195, 37.922023000363083 ], [ -122.096074999737269, 37.92152300066045 ], [ -122.096875000339267, 37.920923000840176 ], [ -122.097675000399533, 37.920323000858524 ], [ -122.096975000233414, 37.921523000396377 ], [ -122.09677499962649, 37.922323000282653 ], [ -122.096869999522767, 37.922614001011723 ], [ -122.096875000294574, 37.922723000741144 ], [ -122.096482000203096, 37.925128000641344 ], [ -122.096074999828005, 37.927623000812908 ], [ -122.096474999917916, 37.929323001094694 ], [ -122.096926000076792, 37.931487000448541 ], [ -122.096974999893632, 37.931723000781858 ], [ -122.097175000011902, 37.932223000668614 ], [ -122.095775000016772, 37.9333230005331 ], [ -122.094774999704939, 37.933723000360835 ], [ -122.094275000039559, 37.933923000665459 ], [ -122.093274999436346, 37.93432300023624 ], [ -122.091173999898203, 37.935323000575437 ], [ -122.090074000286734, 37.93682300095211 ], [ -122.090173999849611, 37.940423000784492 ], [ -122.090173999493032, 37.94102300039355 ], [ -122.090173999654525, 37.947723000710106 ], [ -122.089973999628427, 37.949523000514155 ], [ -122.089874000225535, 37.950723000283297 ], [ -122.089173999616122, 37.952822001038363 ], [ -122.08837400040548, 37.953722000974672 ], [ -122.087974000238304, 37.954022001065965 ], [ -122.087673999807166, 37.953722001128632 ], [ -122.086273999919229, 37.952822000659459 ], [ -122.085074000358418, 37.951923001065765 ], [ -122.084474000391026, 37.951523000691907 ], [ -122.08427400008668, 37.951223000554499 ], [ -122.083873999729846, 37.950623001043773 ], [ -122.083114000392442, 37.949103000274512 ], [ -122.082974000506184, 37.948823000473858 ], [ -122.082603000108193, 37.948081000424295 ], [ -122.082474000317902, 37.947823001046174 ], [ -122.082474000401945, 37.947123000250564 ], [ -122.082373999403515, 37.946023001094147 ], [ -122.08237400008494, 37.944423000881471 ], [ -122.082330000134391, 37.943934000764116 ], [ -122.082274000009519, 37.94332300027898 ], [ -122.082263999527711, 37.94299800082635 ], [ -122.082235000501171, 37.942058001103014 ], [ -122.082202999934069, 37.941035000538584 ], [ -122.082193000433762, 37.940731000572683 ], [ -122.082180000045071, 37.940329000948715 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1111, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.034272999766898, 37.988521000779514 ], [ -122.034273000060679, 37.989321000945196 ], [ -122.034072999998187, 37.990821000349378 ], [ -122.033873000152681, 37.991421000858487 ], [ -122.03359799951653, 37.991910001057015 ], [ -122.032973000003608, 37.99302100073416 ], [ -122.032617000403178, 37.993555001001987 ], [ -122.032572999646746, 37.99362100059399 ], [ -122.031772999818259, 37.995321001091156 ], [ -122.028472999555092, 37.999221000524415 ], [ -122.0279670003452, 37.999921001126921 ], [ -122.027894999503587, 38.000021000803351 ], [ -122.027172999483994, 38.00102100104943 ], [ -122.02667300039883, 38.001721000316515 ], [ -122.025972999724786, 38.002421001000101 ], [ -122.024673000344592, 38.003921000467663 ], [ -122.024244999402981, 38.005534000857338 ], [ -122.023787000408291, 38.007050001085091 ], [ -122.022775000144293, 38.007956000471566 ], [ -122.023662000454308, 38.004293000838771 ], [ -122.025772999488098, 38.002321000779347 ], [ -122.025487000200329, 37.999921000898659 ], [ -122.025273000164503, 37.998121000730961 ], [ -122.024573000348553, 37.99718400106152 ], [ -122.023319999689562, 37.995624000832592 ], [ -122.022927999685578, 37.995136000813105 ], [ -122.021711999404445, 37.993623000237015 ], [ -122.023542000385405, 37.993122000345089 ], [ -122.023596000305858, 37.993107001114396 ], [ -122.023814000347969, 37.993046000321165 ], [ -122.023796999796744, 37.992872000918581 ], [ -122.023755999463546, 37.992731001066339 ], [ -122.02353300035621, 37.990905001005729 ], [ -122.023301000390404, 37.98948300051569 ], [ -122.022200000321121, 37.989602000963757 ], [ -122.022613999503193, 37.990846000644297 ], [ -122.022185000074813, 37.990886000532662 ], [ -122.022075000057285, 37.990870000620347 ], [ -122.021572999594653, 37.988421000417063 ], [ -122.019671999815827, 37.986221000409557 ], [ -122.019135999490558, 37.985939001056927 ], [ -122.019062000374788, 37.985900001030188 ], [ -122.017772000185246, 37.985221000923531 ], [ -122.016471999646484, 37.983321000483066 ], [ -122.01597200042454, 37.983121000544045 ], [ -122.018171999582137, 37.982421001113764 ], [ -122.019372000477844, 37.981921000946343 ], [ -122.019872000307672, 37.981421000883699 ], [ -122.020272000234769, 37.98122100105541 ], [ -122.020971999655927, 37.98082100037081 ], [ -122.021372999458677, 37.980721000848995 ], [ -122.021673000239062, 37.980621000761047 ], [ -122.022072999435153, 37.980521000428539 ], [ -122.022873000271119, 37.980321001086729 ], [ -122.023472999837011, 37.980122000927096 ], [ -122.024772999902552, 37.979822000841985 ], [ -122.025773000225101, 37.979622000413222 ], [ -122.026672999713156, 37.979322000862368 ], [ -122.027872999547114, 37.979022000342987 ], [ -122.029472999412832, 37.97862200062508 ], [ -122.030172999671223, 37.978322000871053 ], [ -122.030350999389469, 37.978269000693203 ], [ -122.03087299985647, 37.979322001084626 ], [ -122.031273000096476, 37.980322000507563 ], [ -122.031572999994864, 37.981422001021414 ], [ -122.031676000106543, 37.981560000309088 ], [ -122.032172999963848, 37.982221000586009 ], [ -122.032572999855034, 37.983121000360271 ], [ -122.032783999683886, 37.983660000922988 ], [ -122.033473000103896, 37.985421000588531 ], [ -122.034272999766898, 37.988521000779514 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1099, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.951570000014655, 37.95642200048237 ], [ -121.952369999765054, 37.955822000321348 ], [ -121.952469999839053, 37.955622000925089 ], [ -121.952669999780255, 37.95552200060213 ], [ -121.95357000045415, 37.954922000898762 ], [ -121.953689000427119, 37.954840001049114 ], [ -121.954870000500563, 37.954022000446514 ], [ -121.955869999779296, 37.953122000678412 ], [ -121.956569999485836, 37.952522001106843 ], [ -121.957270999593831, 37.951922000703348 ], [ -121.95833999983347, 37.95231900041351 ], [ -121.95850200002954, 37.952379000444715 ], [ -121.958893999478079, 37.952525000963028 ], [ -121.959168999948517, 37.952627001101256 ], [ -121.960771000155816, 37.953222001075581 ], [ -121.961153000068222, 37.953331000936394 ], [ -121.96217099961234, 37.953622000487549 ], [ -121.963470999521604, 37.954122001095648 ], [ -121.963970999730819, 37.954322000732752 ], [ -121.964671000260722, 37.954522001122669 ], [ -121.965770999937646, 37.954922000286828 ], [ -121.968571000405177, 37.955722000924183 ], [ -121.969071000415042, 37.955822000289757 ], [ -121.973419000053482, 37.957465000941241 ], [ -121.973570999815067, 37.957522000881802 ], [ -121.974670999562989, 37.957922000950006 ], [ -121.97497099963239, 37.95812200054236 ], [ -121.975371000366209, 37.958222000397932 ], [ -121.975971000151063, 37.958422000940118 ], [ -121.976470999894673, 37.958622000819993 ], [ -121.977771000061253, 37.959122000817608 ], [ -121.978170999488398, 37.959322000505743 ], [ -121.979470999418552, 37.959722000391466 ], [ -121.980571000480992, 37.960122000482841 ], [ -121.981514000048747, 37.96049100034783 ], [ -121.982870999793803, 37.96102200034953 ], [ -121.981070999459774, 37.96262200051445 ], [ -121.980770999761958, 37.962822000449982 ], [ -121.980470999567345, 37.963022000501397 ], [ -121.980370999845761, 37.963222000410255 ], [ -121.979707000336788, 37.963803000570088 ], [ -121.979571000265082, 37.963922000352618 ], [ -121.979071000279646, 37.964122001054648 ], [ -121.978171000364284, 37.964922000440659 ], [ -121.977370999732813, 37.965422000792088 ], [ -121.977120999876576, 37.965672000580923 ], [ -121.976570999399769, 37.966222000692206 ], [ -121.97537100029237, 37.967122000285656 ], [ -121.975271000327055, 37.967422000280621 ], [ -121.974929999571671, 37.9676170006978 ], [ -121.974571000278289, 37.967822000401625 ], [ -121.973470999869221, 37.969022000481559 ], [ -121.971871000331049, 37.970122000556835 ], [ -121.971674999688787, 37.970319000383292 ], [ -121.971470999506181, 37.970522000801594 ], [ -121.971370999757028, 37.970622000646216 ], [ -121.970271000432959, 37.971622000251557 ], [ -121.969870999804883, 37.97182200107595 ], [ -121.968271000249459, 37.97312200061188 ], [ -121.963770999608613, 37.97262200051059 ], [ -121.961771000435888, 37.971122000839358 ], [ -121.958070999622706, 37.968322000635283 ], [ -121.958770999786239, 37.967922001069027 ], [ -121.958171000452182, 37.967422000250188 ], [ -121.957766999918704, 37.967711000425425 ], [ -121.957471000487331, 37.967922000811967 ], [ -121.956170999565785, 37.966922000439716 ], [ -121.954106000336651, 37.96537400040814 ], [ -121.953370000412576, 37.964822000684109 ], [ -121.95198100009857, 37.965082001125765 ], [ -121.951770000348034, 37.965122000709336 ], [ -121.948469999505917, 37.962922000958862 ], [ -121.947670000272808, 37.962322000931827 ], [ -121.947869999415914, 37.962122000870785 ], [ -121.948270000110838, 37.961722000612376 ], [ -121.948469999724438, 37.961493000598928 ], [ -121.948970000334214, 37.960922000969632 ], [ -121.946769999597549, 37.959922000515355 ], [ -121.946169999846845, 37.959522000902382 ], [ -121.946970000043336, 37.958922000383311 ], [ -121.947669999394009, 37.958622000404922 ], [ -121.950099000210201, 37.957252000462759 ], [ -121.951570000014655, 37.95642200048237 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1104, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.978170999888562, 37.954522000444008 ], [ -121.978031000478296, 37.955026000989022 ], [ -121.97714800008589, 37.954642000555161 ], [ -121.977103999659093, 37.95462300061439 ], [ -121.976871000451581, 37.954522000588092 ], [ -121.976773000410859, 37.954479000735212 ], [ -121.976691000336359, 37.954443000382639 ], [ -121.975271000279889, 37.953822000755224 ], [ -121.975271000283072, 37.95298200051031 ], [ -121.975271000205211, 37.952822000406883 ], [ -121.975028999542801, 37.952628000952359 ], [ -121.974460999389535, 37.952174000754745 ], [ -121.974271000355657, 37.952022000318486 ], [ -121.974185999473619, 37.951427000430151 ], [ -121.974171000317085, 37.951322000605991 ], [ -121.974070999961057, 37.95102200064229 ], [ -121.973065000246919, 37.949128000425382 ], [ -121.972370999771826, 37.947822000350882 ], [ -121.971371000190729, 37.947122000313279 ], [ -121.970787000046258, 37.946772000429107 ], [ -121.970641999866231, 37.946507000844719 ], [ -121.970336000098044, 37.946124000305048 ], [ -121.97557100032634, 37.947222000346684 ], [ -121.977671000525774, 37.947722000514553 ], [ -121.981471000332036, 37.948222000893793 ], [ -121.984770999717824, 37.947722000985756 ], [ -121.992172000089369, 37.946622000761828 ], [ -121.993496000378713, 37.947568000823836 ], [ -121.994972000355162, 37.948622000549626 ], [ -121.99517199977997, 37.948722000744723 ], [ -121.995871999883619, 37.949222000610689 ], [ -121.996572000198896, 37.949822000544522 ], [ -121.997381000421584, 37.950990000374318 ], [ -121.997472000519778, 37.951122000756968 ], [ -121.996572000477002, 37.951722001117673 ], [ -121.994097000420055, 37.95247200107292 ], [ -121.993272000287433, 37.952722000515578 ], [ -121.992671999510904, 37.952922000965053 ], [ -121.991872000132602, 37.953122000634821 ], [ -121.991109999489495, 37.953376000825195 ], [ -121.99023299963406, 37.953668000341473 ], [ -121.989170999982207, 37.954022000505333 ], [ -121.985279000052117, 37.954168000577809 ], [ -121.983910999735983, 37.954219000948257 ], [ -121.983270999904789, 37.954243000372337 ], [ -121.982520999984288, 37.954271001012941 ], [ -121.98157099994242, 37.954307001054346 ], [ -121.981170999636092, 37.954322000795706 ], [ -121.981054000272366, 37.954322000486052 ], [ -121.980898999726435, 37.954322000731878 ], [ -121.980771000444832, 37.954322000383975 ], [ -121.980701999723749, 37.954327000288067 ], [ -121.979775000282714, 37.954399000343606 ], [ -121.978170999888562, 37.954522000444008 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1105, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.997871999433784, 37.951522000743516 ], [ -121.99797199955286, 37.951622000530541 ], [ -121.99810800021676, 37.951860000966406 ], [ -121.99837200030008, 37.952322000598173 ], [ -121.998971999545276, 37.952922000866216 ], [ -121.999671999901167, 37.953622000918877 ], [ -122.000171999708272, 37.95402200065805 ], [ -122.00137200021635, 37.954922000595552 ], [ -122.001571999574011, 37.955222000989075 ], [ -122.000872000419335, 37.955922000241003 ], [ -122.000772000254997, 37.956022000422777 ], [ -122.000172000366462, 37.956622000572203 ], [ -121.999472000255125, 37.957122000960737 ], [ -121.998672000260029, 37.9578220004367 ], [ -121.997672000265837, 37.957222000910207 ], [ -121.996271999937392, 37.958222000662644 ], [ -121.995062000336489, 37.958507000419587 ], [ -121.994572000419964, 37.958622000914701 ], [ -121.993902999400177, 37.957730000566727 ], [ -121.993671999544603, 37.957422001089029 ], [ -121.993372000367032, 37.957022001111547 ], [ -121.993272000447391, 37.956522001001183 ], [ -121.993472000444442, 37.956022000261186 ], [ -121.993472000381317, 37.955822001081479 ], [ -121.993072000103695, 37.955022000630819 ], [ -121.992272000089969, 37.954522001134471 ], [ -121.991871999892368, 37.954122000392758 ], [ -121.991171999856363, 37.954922000650477 ], [ -121.990971999914379, 37.955322000624221 ], [ -121.990170999679691, 37.955222000995285 ], [ -121.988970999956109, 37.955322000454331 ], [ -121.988671000524064, 37.954622000632206 ], [ -121.989170999725914, 37.954422000646289 ], [ -121.989170999982207, 37.954022000505333 ], [ -121.99023299963406, 37.953668000341473 ], [ -121.991109999489495, 37.953376000825195 ], [ -121.991872000132602, 37.953122000634821 ], [ -121.992671999510904, 37.952922000965053 ], [ -121.993272000287433, 37.952722000515578 ], [ -121.994097000420055, 37.95247200107292 ], [ -121.996572000477002, 37.951722001117673 ], [ -121.997472000519778, 37.951122000756968 ], [ -121.997871999433784, 37.951522000743516 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1114, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.036372999432587, 37.96242200056578 ], [ -122.036272999781772, 37.962322000805372 ], [ -122.035472999768899, 37.961522000531609 ], [ -122.035273000246832, 37.961222000481051 ], [ -122.033973000189619, 37.960022000751842 ], [ -122.034972999514608, 37.959422000728928 ], [ -122.036173000281821, 37.958522000905056 ], [ -122.036572999806396, 37.959122000535842 ], [ -122.036772999717542, 37.95952200103504 ], [ -122.037872999432153, 37.959222000493909 ], [ -122.038872999969456, 37.959622000874525 ], [ -122.03997299953609, 37.960522000678225 ], [ -122.041373000300709, 37.962222000673471 ], [ -122.041561000416934, 37.962785000706134 ], [ -122.04167299964044, 37.96312200110664 ], [ -122.041373000107015, 37.96452200100876 ], [ -122.041447999873995, 37.964632000455509 ], [ -122.04247299986028, 37.966122000991689 ], [ -122.042773000250818, 37.966622000916765 ], [ -122.043786000219427, 37.967308000577738 ], [ -122.045873000232106, 37.968722000650544 ], [ -122.046173000351104, 37.969322000629653 ], [ -122.046573000513192, 37.969922001068703 ], [ -122.046873000143577, 37.970322000613216 ], [ -122.047173000404072, 37.970522000809254 ], [ -122.047472999929155, 37.971122000987286 ], [ -122.047172999432192, 37.971022000390448 ], [ -122.046772999703549, 37.970922000729935 ], [ -122.046072999468606, 37.970922000283139 ], [ -122.04517299943484, 37.969822000292815 ], [ -122.045173000262267, 37.969722000559671 ], [ -122.04337299966538, 37.970622000447285 ], [ -122.042427000361897, 37.971048001002664 ], [ -122.041373000141931, 37.971522000951964 ], [ -122.040472999532284, 37.971822000656601 ], [ -122.039372999647043, 37.972422000388242 ], [ -122.039082000267086, 37.97202500087392 ], [ -122.038820999609825, 37.971669000893769 ], [ -122.038244999484903, 37.970884000564624 ], [ -122.037172999595924, 37.969422001093861 ], [ -122.036972999630407, 37.968722000885656 ], [ -122.037672999635262, 37.96832200068279 ], [ -122.038473000455596, 37.96792200078049 ], [ -122.039172999503307, 37.967522000517249 ], [ -122.038273000174939, 37.966622000531906 ], [ -122.03887299954576, 37.966422000334809 ], [ -122.039272999724531, 37.966022000943475 ], [ -122.03923199981773, 37.965981001040468 ], [ -122.038267000059122, 37.965016000729953 ], [ -122.038172999748014, 37.964922000889999 ], [ -122.037673000451463, 37.96422200036654 ], [ -122.036905000433137, 37.963198001049854 ], [ -122.036472999443717, 37.96262200094187 ], [ -122.036372999432587, 37.96242200056578 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1118, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.034580999456779, 37.9492690002701 ], [ -122.034697000294329, 37.949373001105201 ], [ -122.034972999733043, 37.94962200053665 ], [ -122.035272999391069, 37.949922000507733 ], [ -122.035972999652074, 37.950622001070926 ], [ -122.036572999889984, 37.951322000531825 ], [ -122.037772999472736, 37.952222000249321 ], [ -122.037772999497875, 37.953122000881393 ], [ -122.038073000522118, 37.953822000720443 ], [ -122.038573000133297, 37.954522000397375 ], [ -122.039372999550039, 37.956022000534276 ], [ -122.03907299956677, 37.956222000810698 ], [ -122.037873000284264, 37.957122000323508 ], [ -122.03687299981236, 37.957822001060393 ], [ -122.036572999703012, 37.958122001005037 ], [ -122.036173000281821, 37.958522000905056 ], [ -122.034972999514608, 37.959422000728928 ], [ -122.033973000189619, 37.960022000751842 ], [ -122.033372999746192, 37.960322000505585 ], [ -122.032373000462258, 37.961022000913943 ], [ -122.031373000336103, 37.961722000741169 ], [ -122.031198999477468, 37.961838000783899 ], [ -122.030772999695984, 37.962122000296453 ], [ -122.030473000124942, 37.962622000878106 ], [ -122.030873000470649, 37.963922000420105 ], [ -122.027872999523893, 37.964622000249243 ], [ -122.027638999899054, 37.964361000696321 ], [ -122.027272999929238, 37.964322000793047 ], [ -122.027272999834935, 37.964222001090334 ], [ -122.026873000289498, 37.962022000258244 ], [ -122.02660500052508, 37.96148600036323 ], [ -122.026472999429046, 37.961222000305149 ], [ -122.026418999839038, 37.961200000575538 ], [ -122.025272999431905, 37.960722000942575 ], [ -122.024172999982881, 37.96002200111397 ], [ -122.023071999496608, 37.958522000859098 ], [ -122.0222719998918, 37.957522000949687 ], [ -122.021471999902744, 37.957022000774209 ], [ -122.021490999675876, 37.956954000700662 ], [ -122.021672000338754, 37.956322001069815 ], [ -122.021171999884629, 37.956122000719304 ], [ -122.020872000039034, 37.954922000383924 ], [ -122.020646000522049, 37.954524000777738 ], [ -122.019172000210219, 37.951922000538225 ], [ -122.018472000451041, 37.950922000498878 ], [ -122.01707200034113, 37.949922000879283 ], [ -122.015571999459297, 37.948322000356868 ], [ -122.014205999554989, 37.946695000257115 ], [ -122.013471999426542, 37.945822000798081 ], [ -122.013836000142618, 37.945562001011666 ], [ -122.014348999849915, 37.945219000840169 ], [ -122.014456000173212, 37.945157000589525 ], [ -122.014726000238625, 37.944999000769513 ], [ -122.015372000146982, 37.944622000986563 ], [ -122.016341000125365, 37.943976000239232 ], [ -122.01765700039077, 37.943099000661697 ], [ -122.018071999896037, 37.942822000832862 ], [ -122.018764000097093, 37.942378000842723 ], [ -122.019472000248129, 37.941923000308343 ], [ -122.020271999649609, 37.941323000617444 ], [ -122.020971999980631, 37.940823000616909 ], [ -122.021105999640923, 37.940741000752176 ], [ -122.02169199950184, 37.940380001042058 ], [ -122.022377999504783, 37.939958000602061 ], [ -122.023877999530157, 37.939035000753904 ], [ -122.024871999957227, 37.938423000852943 ], [ -122.02647300034927, 37.940123001122927 ], [ -122.026973000480396, 37.940723000959068 ], [ -122.028073000511796, 37.942123000329701 ], [ -122.028772999667041, 37.942823000614439 ], [ -122.028972999897888, 37.943023000447766 ], [ -122.029173000058861, 37.943223000840931 ], [ -122.029921000253722, 37.944095000564054 ], [ -122.030372999878907, 37.944622001136572 ], [ -122.030956999579089, 37.945254000602425 ], [ -122.031573000129598, 37.945922000298367 ], [ -122.031872999607799, 37.946222000858107 ], [ -122.032372999891138, 37.946822001025964 ], [ -122.032773000243523, 37.947322000705427 ], [ -122.033572999926463, 37.94792200038394 ], [ -122.033972999920849, 37.948722000501618 ], [ -122.034580999456779, 37.9492690002701 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1119, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.031573000129598, 37.945922000298367 ], [ -122.030956999579089, 37.945254000602425 ], [ -122.030372999878907, 37.944622001136572 ], [ -122.029921000253722, 37.944095000564054 ], [ -122.029173000058861, 37.943223000840931 ], [ -122.028972999897888, 37.943023000447766 ], [ -122.034472999928596, 37.940123000238735 ], [ -122.036173000195518, 37.939423001137015 ], [ -122.036672999515375, 37.939123000949486 ], [ -122.038873000329119, 37.938023000376916 ], [ -122.039473000472853, 37.937823000340842 ], [ -122.041672999427718, 37.936523000267748 ], [ -122.044473000254001, 37.935223000759073 ], [ -122.047072999943353, 37.933823001040174 ], [ -122.047372999642178, 37.934223000943412 ], [ -122.047872999803772, 37.934623000865329 ], [ -122.048173000191156, 37.935023000523479 ], [ -122.048573000087657, 37.93542300051795 ], [ -122.049073000382194, 37.936123000827784 ], [ -122.049472999643726, 37.936523000444794 ], [ -122.050186000322782, 37.936523000967846 ], [ -122.050851000410589, 37.936523001118282 ], [ -122.051373000042616, 37.936523001002065 ], [ -122.052920999812997, 37.936523000500927 ], [ -122.053172999469652, 37.936523000773455 ], [ -122.05297299996505, 37.937423000306921 ], [ -122.052572999694192, 37.940323001051503 ], [ -122.052132000280778, 37.942626000964452 ], [ -122.051672999439404, 37.945023000465355 ], [ -122.051673000491093, 37.945323001055471 ], [ -122.051273000152904, 37.947222001107662 ], [ -122.051272999518432, 37.947622000816288 ], [ -122.050872999871999, 37.948022000754513 ], [ -122.049873000152431, 37.948722000828397 ], [ -122.047672999600422, 37.950222001027697 ], [ -122.045673000260507, 37.951622000925596 ], [ -122.04457300006024, 37.952422000892241 ], [ -122.043572999950612, 37.953122000335561 ], [ -122.041672999967901, 37.954522001019114 ], [ -122.039372999550039, 37.956022000534276 ], [ -122.038573000133297, 37.954522000397375 ], [ -122.038073000522118, 37.953822000720443 ], [ -122.037772999497875, 37.953122000881393 ], [ -122.037772999472736, 37.952222000249321 ], [ -122.036572999889984, 37.951322000531825 ], [ -122.035972999652074, 37.950622001070926 ], [ -122.035272999391069, 37.949922000507733 ], [ -122.034972999733043, 37.94962200053665 ], [ -122.034697000294329, 37.949373001105201 ], [ -122.034580999456779, 37.9492690002701 ], [ -122.033972999920849, 37.948722000501618 ], [ -122.033572999926463, 37.94792200038394 ], [ -122.032773000243523, 37.947322000705427 ], [ -122.032372999891138, 37.946822001025964 ], [ -122.031872999607799, 37.946222000858107 ], [ -122.031573000129598, 37.945922000298367 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1134, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.078274000142656, 37.923323000237957 ], [ -122.078274000510632, 37.923823000330799 ], [ -122.07827399967104, 37.924323000372652 ], [ -122.078273999699917, 37.924923001097277 ], [ -122.078374000455369, 37.926123000620983 ], [ -122.077174000143671, 37.926123000707264 ], [ -122.07625899965818, 37.926123000939299 ], [ -122.075274000042654, 37.926123000974364 ], [ -122.075027999901351, 37.926123000756526 ], [ -122.074313000320487, 37.926123000407998 ], [ -122.073573999814286, 37.92612300053208 ], [ -122.07357399939788, 37.927523000649643 ], [ -122.073674000439667, 37.928023000690033 ], [ -122.073574000061853, 37.928523000670857 ], [ -122.073574000444822, 37.929523000523893 ], [ -122.073674000501697, 37.930023000404525 ], [ -122.073673999963276, 37.930723000954501 ], [ -122.073674000436213, 37.931423000529868 ], [ -122.073774000262844, 37.932323000643585 ], [ -122.073673999819945, 37.932823000325669 ], [ -122.073773999693671, 37.933223001128262 ], [ -122.070573999878974, 37.933223000974252 ], [ -122.067874000496147, 37.933023001098618 ], [ -122.067252000148429, 37.932993000500701 ], [ -122.067273999741758, 37.932723000927055 ], [ -122.066473999997342, 37.932623001096061 ], [ -122.065874000113723, 37.93242300063249 ], [ -122.064674000307335, 37.93232300107173 ], [ -122.064673999438128, 37.932823000834624 ], [ -122.064074000306135, 37.932723000721282 ], [ -122.063973999774007, 37.932423000514092 ], [ -122.06337400008546, 37.932523000521122 ], [ -122.06327400001642, 37.932823000840486 ], [ -122.062573999925647, 37.932623000396937 ], [ -122.061573999647834, 37.932723000566092 ], [ -122.061574000417096, 37.932023000843806 ], [ -122.061673999748777, 37.931423000483633 ], [ -122.060874000164262, 37.931623001072396 ], [ -122.060374000341099, 37.931523000623983 ], [ -122.060284000056882, 37.930263000318114 ], [ -122.060273999547405, 37.930123000861641 ], [ -122.060873999423052, 37.926323001040359 ], [ -122.061073999987244, 37.923623001050665 ], [ -122.061873999699898, 37.921823000760725 ], [ -122.061948999812387, 37.921223000753422 ], [ -122.062197999823084, 37.920623000351824 ], [ -122.062495000318236, 37.920093000548952 ], [ -122.06337400049604, 37.918523000894972 ], [ -122.063960999686756, 37.917723000600176 ], [ -122.064473999634203, 37.917023000946521 ], [ -122.065328999917554, 37.916011001007107 ], [ -122.065649000366392, 37.915650000914461 ], [ -122.066573999387401, 37.914023000840018 ], [ -122.066785999844925, 37.913323000923782 ], [ -122.067573999793538, 37.910724000894163 ], [ -122.068174000499425, 37.91062400069643 ], [ -122.069373999687215, 37.909324000955692 ], [ -122.069674000123868, 37.909524000692336 ], [ -122.069760000390147, 37.909653000346125 ], [ -122.069805000255755, 37.909720000768324 ], [ -122.070073999972394, 37.910124000371553 ], [ -122.070174000327668, 37.910224000978033 ], [ -122.0704360002686, 37.910524000460491 ], [ -122.070873999434198, 37.91102400100236 ], [ -122.071273999669131, 37.91172400104103 ], [ -122.071474000275728, 37.912024000998343 ], [ -122.071574000519888, 37.912124000405669 ], [ -122.071773999981019, 37.912424000737239 ], [ -122.07247400032243, 37.913623000520488 ], [ -122.072974000393344, 37.914423000380999 ], [ -122.073373999651153, 37.915123000285909 ], [ -122.073474000155556, 37.917123000284604 ], [ -122.074673999794769, 37.917023000308596 ], [ -122.075173999822383, 37.917023000276203 ], [ -122.075874000078329, 37.917123000557261 ], [ -122.076339999992669, 37.917076001132145 ], [ -122.076874000037961, 37.91702300085629 ], [ -122.077873999636097, 37.916923000748852 ], [ -122.07800700047359, 37.918316000757557 ], [ -122.078017000437228, 37.918417001029496 ], [ -122.078073999503516, 37.91902300073307 ], [ -122.078073999437535, 37.919423000366727 ], [ -122.078074000453142, 37.919823000883575 ], [ -122.078161000126101, 37.920602000537713 ], [ -122.078273999945665, 37.921623000882043 ], [ -122.078174000442957, 37.922123001008856 ], [ -122.078174000312757, 37.922623000292624 ], [ -122.078274000142656, 37.923323000237957 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1147, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.061600000339254, 37.891438000999244 ], [ -122.060772999629847, 37.890924000641796 ], [ -122.060142000506687, 37.890552001099266 ], [ -122.059673000473026, 37.890224000340297 ], [ -122.059072999898234, 37.889824000304316 ], [ -122.05827300024697, 37.889124000781322 ], [ -122.057472999746622, 37.88832400094406 ], [ -122.056172999631556, 37.886924001123411 ], [ -122.054972999869094, 37.885524001125326 ], [ -122.05347299972712, 37.883624000661598 ], [ -122.052372999455429, 37.882224001064181 ], [ -122.051872999766488, 37.881724001075753 ], [ -122.050845999990486, 37.880771000351118 ], [ -122.050160999837118, 37.880167000788163 ], [ -122.049806000459384, 37.879890000555839 ], [ -122.049172999570573, 37.879424000399545 ], [ -122.049042999513631, 37.879327000288178 ], [ -122.047773000188528, 37.878124000408576 ], [ -122.045057999793869, 37.875324001022904 ], [ -122.04437300037533, 37.87442400064571 ], [ -122.043773000107066, 37.873624000322408 ], [ -122.043402000100059, 37.873200001034796 ], [ -122.04237299990703, 37.872024000423956 ], [ -122.041672999769844, 37.870925000477499 ], [ -122.040873000523504, 37.869825000483431 ], [ -122.039637999483787, 37.868281000556863 ], [ -122.040673000026032, 37.867825000795904 ], [ -122.041775999626751, 37.867346000284854 ], [ -122.042973000303292, 37.866825000401668 ], [ -122.044686999536651, 37.866104000455458 ], [ -122.045915000122179, 37.865588000447161 ], [ -122.047719000184088, 37.864829000469683 ], [ -122.047520000386356, 37.864456000356732 ], [ -122.044780999561098, 37.859322001076833 ], [ -122.051947999894054, 37.859356000269685 ], [ -122.051773000167103, 37.864325000544142 ], [ -122.053372999638384, 37.865425000895087 ], [ -122.058473000151537, 37.865425000788733 ], [ -122.059472999897153, 37.866125000283176 ], [ -122.059472999503754, 37.871525000960503 ], [ -122.062355999933786, 37.872461000503179 ], [ -122.065937000241021, 37.873623000319526 ], [ -122.067173999582067, 37.874025000295561 ], [ -122.067173999609054, 37.875624000862786 ], [ -122.068869999430632, 37.876171000261671 ], [ -122.07027399982637, 37.876624000440714 ], [ -122.07157399998917, 37.877224000637504 ], [ -122.072533000209262, 37.877760000842031 ], [ -122.073787999902734, 37.878461000736579 ], [ -122.074973999913453, 37.879124000570386 ], [ -122.075774000111565, 37.879824000649393 ], [ -122.076574000367145, 37.880724000871467 ], [ -122.076773999742713, 37.881324000932999 ], [ -122.077473999727673, 37.883824001032096 ], [ -122.077473999488291, 37.884024001109132 ], [ -122.077373999623362, 37.884924000403402 ], [ -122.076773999783654, 37.885124000885682 ], [ -122.075474000002885, 37.885724000363112 ], [ -122.074074000196632, 37.886324000895037 ], [ -122.071373999591842, 37.887724000317526 ], [ -122.070873999953747, 37.887924000409463 ], [ -122.06914900001685, 37.889124000770892 ], [ -122.069068999715228, 37.889180000774488 ], [ -122.068574000060224, 37.889524000562453 ], [ -122.068433000162159, 37.889820000762818 ], [ -122.068222999615855, 37.890261000958702 ], [ -122.067573999632216, 37.891624000423519 ], [ -122.067433000353802, 37.891858000441466 ], [ -122.067274000330784, 37.892124000778864 ], [ -122.067211000404924, 37.892187001008416 ], [ -122.066674000408867, 37.892724000640484 ], [ -122.066073999879052, 37.893424000284796 ], [ -122.065509000461432, 37.893189000955985 ], [ -122.06487400020373, 37.892924000811576 ], [ -122.064167999874897, 37.892446000966643 ], [ -122.063327999656039, 37.892128000510965 ], [ -122.06227299957375, 37.891724000369081 ], [ -122.061600000339254, 37.891438000999244 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1162, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.037372999996421, 37.857825000829713 ], [ -122.037772999706917, 37.858225000448044 ], [ -122.037873000398491, 37.858625000906265 ], [ -122.038273000235364, 37.859025000614118 ], [ -122.038371000051455, 37.859270001070193 ], [ -122.038473000522174, 37.859525000463563 ], [ -122.03877299949076, 37.85972500068825 ], [ -122.038973000405505, 37.860225000565087 ], [ -122.039472999397603, 37.860925000307972 ], [ -122.039972999760323, 37.861625000611937 ], [ -122.040472999576764, 37.862625000502561 ], [ -122.040773000218735, 37.862925000721539 ], [ -122.040973000110654, 37.863225000410267 ], [ -122.041272999553769, 37.863825001042343 ], [ -122.041572999924739, 37.864225000667048 ], [ -122.041772999471746, 37.864725000977913 ], [ -122.042072999797412, 37.864925000903987 ], [ -122.042373000268725, 37.865725000645085 ], [ -122.042473000202335, 37.866025000850939 ], [ -122.042973000303292, 37.866825000401668 ], [ -122.041775999626751, 37.867346000284854 ], [ -122.040673000026032, 37.867825000795904 ], [ -122.039637999483787, 37.868281000556863 ], [ -122.037283999904261, 37.865253000649972 ], [ -122.036389000020478, 37.864328000982567 ], [ -122.035287999767149, 37.863366000918923 ], [ -122.034098999971931, 37.862450000880962 ], [ -122.033572999576734, 37.861650000872132 ], [ -122.030472000196553, 37.856325000558307 ], [ -122.030372000083986, 37.856225000246511 ], [ -122.029471999392356, 37.854725000681022 ], [ -122.029079999734833, 37.853876000442391 ], [ -122.028929999616722, 37.853561000785014 ], [ -122.028830999527784, 37.853216000673676 ], [ -122.028634999626817, 37.852025000301246 ], [ -122.028506000064851, 37.851492000316497 ], [ -122.02842699940058, 37.851244001062966 ], [ -122.027772000442056, 37.848725000386473 ], [ -122.026948999437408, 37.84702000063141 ], [ -122.026618999460439, 37.846544000601021 ], [ -122.025829999738036, 37.845659000749897 ], [ -122.025372000306561, 37.845425001116148 ], [ -122.026372000260878, 37.845125000332409 ], [ -122.026271999923907, 37.844325000974393 ], [ -122.026771999724772, 37.84332500049058 ], [ -122.027271999692218, 37.843225000435233 ], [ -122.027771999811975, 37.842925001134361 ], [ -122.02867200038267, 37.843625001136509 ], [ -122.028271999955933, 37.843925000286909 ], [ -122.029071999523538, 37.844925000793054 ], [ -122.028771999595818, 37.845225000472873 ], [ -122.028880000326538, 37.845312000534712 ], [ -122.029272000519384, 37.845625000436797 ], [ -122.029872000032341, 37.846325000723937 ], [ -122.031172000154271, 37.848125000444711 ], [ -122.03227200034047, 37.850025000267614 ], [ -122.032550000256066, 37.850459000968314 ], [ -122.032600999611759, 37.850571000357505 ], [ -122.033571999883478, 37.852125000401209 ], [ -122.034271999878129, 37.85312500049249 ], [ -122.034746000323381, 37.853882000859286 ], [ -122.035273000128015, 37.85472500109811 ], [ -122.035673000359964, 37.85522500046568 ], [ -122.036373000426835, 37.856225000481885 ], [ -122.036773000493753, 37.856925000971863 ], [ -122.036972999570764, 37.857325001005172 ], [ -122.037372999996421, 37.857825000829713 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1172, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.936368999441058, 37.724529000406896 ], [ -121.937568999411525, 37.724229000359699 ], [ -121.93906899966116, 37.723629000857258 ], [ -121.940268999646264, 37.723429000452754 ], [ -121.941675000428518, 37.725160000801019 ], [ -121.942069000178577, 37.725629000478015 ], [ -121.95007199972278, 37.736813001017332 ], [ -121.949368999434924, 37.736928001038748 ], [ -121.948468999986645, 37.737328000831553 ], [ -121.947402999951208, 37.737670000311631 ], [ -121.944069000400347, 37.738628000386882 ], [ -121.943168999944746, 37.738728000538103 ], [ -121.941169000249445, 37.73942800086698 ], [ -121.939669000123033, 37.740128000293346 ], [ -121.937768999627579, 37.741028000988074 ], [ -121.935268999897858, 37.73722800057736 ], [ -121.934998999553727, 37.737138000810482 ], [ -121.934369000176218, 37.736928001074631 ], [ -121.930369000471387, 37.732228000919463 ], [ -121.92986899981905, 37.731628000988593 ], [ -121.929333000223693, 37.730997000994407 ], [ -121.928394000222085, 37.729893000546461 ], [ -121.927976999492188, 37.729403000749684 ], [ -121.926807999607547, 37.728027000247224 ], [ -121.926468999932652, 37.727628000234255 ], [ -121.925968999449466, 37.726928000691146 ], [ -121.926668999761816, 37.726828000853899 ], [ -121.929269000161256, 37.726228000489876 ], [ -121.929507999617456, 37.726168000974894 ], [ -121.930743999472341, 37.725860000427588 ], [ -121.931668999841236, 37.72562900059998 ], [ -121.932869000338997, 37.725429001133634 ], [ -121.933269000385181, 37.725229000709717 ], [ -121.936368999441058, 37.724529000406896 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1169, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.975270000286301, 37.803926000636949 ], [ -121.974939999668848, 37.802936000872911 ], [ -121.97466999992902, 37.802126000466636 ], [ -121.974369999844839, 37.800626000621946 ], [ -121.974369999991907, 37.799926000972803 ], [ -121.974270000334045, 37.798926000515841 ], [ -121.974170000207423, 37.79832600078656 ], [ -121.974069999848339, 37.797526000422707 ], [ -121.974170000185353, 37.797026000255364 ], [ -121.974469999820698, 37.796326000276594 ], [ -121.973628999884227, 37.794764000785371 ], [ -121.97337900009822, 37.794300000285595 ], [ -121.97306999984265, 37.793726000410636 ], [ -121.973269999616704, 37.793326000231616 ], [ -121.973319000160828, 37.793151001095111 ], [ -121.973770000116829, 37.791526000370894 ], [ -121.97336999984384, 37.791426001127242 ], [ -121.973570000029525, 37.790527000686104 ], [ -121.973569999447108, 37.790127001022903 ], [ -121.97397000016413, 37.790027000632598 ], [ -121.97435899987876, 37.789930000823013 ], [ -121.973969999633894, 37.789627000924334 ], [ -121.973269999703319, 37.789327000324569 ], [ -121.970134999755956, 37.78496500082354 ], [ -121.968670000181703, 37.782927000501438 ], [ -121.967470000344818, 37.781427000404378 ], [ -121.966769999922704, 37.780627000494576 ], [ -121.967405000385241, 37.780325000619534 ], [ -121.9688699998635, 37.77962700032792 ], [ -121.97147000016453, 37.77862700095919 ], [ -121.972170000396218, 37.778327000762793 ], [ -121.973002999928383, 37.777991001034231 ], [ -121.97359599946131, 37.777774000977821 ], [ -121.974194999421314, 37.777555000621206 ], [ -121.974862999822463, 37.777294000889526 ], [ -121.976257999550995, 37.779857000518483 ], [ -121.976569999610945, 37.780427000364334 ], [ -121.977469999489855, 37.782127000725893 ], [ -121.979741000285955, 37.786271001066488 ], [ -121.983170999674428, 37.792526000781599 ], [ -121.983856000278763, 37.793703000926435 ], [ -121.984029000185231, 37.79399900084028 ], [ -121.987771000128689, 37.800426000267819 ], [ -121.988803000513741, 37.802383000563168 ], [ -121.990813999649333, 37.806195000990556 ], [ -121.992570999476257, 37.809526000900256 ], [ -121.992635999827669, 37.810156001117058 ], [ -121.992611999494969, 37.810545001009984 ], [ -121.992596999560789, 37.810625000488201 ], [ -121.992496999423963, 37.810911000484701 ], [ -121.992353000407434, 37.811184000605536 ], [ -121.992199000408291, 37.811474000604193 ], [ -121.991480000192027, 37.811467000322743 ], [ -121.990551000466311, 37.81143700064758 ], [ -121.987771000282237, 37.811426000913606 ], [ -121.984770999863798, 37.811226000700515 ], [ -121.98137099989394, 37.811026000486464 ], [ -121.976270000024485, 37.811726000435911 ], [ -121.976369000370212, 37.811083000566789 ], [ -121.976469999563577, 37.810426000250338 ], [ -121.976470000077356, 37.810226001039197 ], [ -121.976769999478407, 37.809726000655388 ], [ -121.976969999997351, 37.808926000467551 ], [ -121.977170000152157, 37.808226000807011 ], [ -121.977269999593645, 37.807526000427529 ], [ -121.977369999402612, 37.8066260005263 ], [ -121.976069999506308, 37.805526000817153 ], [ -121.975663000290425, 37.804712000859929 ], [ -121.975270000286301, 37.803926000636949 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 743, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.830653000355724, 37.678910000322809 ], [ -121.826965999497105, 37.6761300008977 ], [ -121.826965999626978, 37.674230000702778 ], [ -121.826866000162767, 37.673830000500367 ], [ -121.826865999483843, 37.67343000087677 ], [ -121.834766000013303, 37.672630000502885 ], [ -121.835047999901363, 37.672602001066721 ], [ -121.847132999903195, 37.67139300031598 ], [ -121.849765999766191, 37.671130000584341 ], [ -121.854467000396866, 37.670630000956336 ], [ -121.857731000256621, 37.670051000686051 ], [ -121.859679999516516, 37.669705000608054 ], [ -121.860666999474688, 37.669530000616781 ], [ -121.861267000488994, 37.669430000605551 ], [ -121.861667000008353, 37.669330000515394 ], [ -121.862387000267802, 37.668910000711527 ], [ -121.862867000458323, 37.668630000757219 ], [ -121.863066999825165, 37.668430000934222 ], [ -121.865635000512953, 37.666677000674461 ], [ -121.867166999765729, 37.665631000471642 ], [ -121.868066999956994, 37.66473100072303 ], [ -121.868866999673884, 37.665031000752357 ], [ -121.869967000261639, 37.665431000239224 ], [ -121.87076199984925, 37.665133000496368 ], [ -121.871567000398301, 37.664831000940382 ], [ -121.871613000246938, 37.664826000825308 ], [ -121.871851999466955, 37.664798000930581 ], [ -121.874167000098836, 37.664531000607496 ], [ -121.874067000508234, 37.66493100054722 ], [ -121.873866999401727, 37.665831000732588 ], [ -121.873767000031975, 37.666431000748567 ], [ -121.873567000386714, 37.667230000880672 ], [ -121.873466999555177, 37.667930001103429 ], [ -121.873366999394378, 37.668530000527284 ], [ -121.8731669994756, 37.669430000691335 ], [ -121.87296699991235, 37.670130000962814 ], [ -121.872767000013994, 37.670730001101539 ], [ -121.872666999629317, 37.671130000238726 ], [ -121.872666999895515, 37.672030000891553 ], [ -121.873066999832318, 37.673530000824918 ], [ -121.873266999526038, 37.674030001094465 ], [ -121.873467000189152, 37.674630000640313 ], [ -121.873674999391596, 37.675212000724159 ], [ -121.873966999979501, 37.676030000931561 ], [ -121.8741669995525, 37.676530000453319 ], [ -121.874602999805518, 37.677730000470888 ], [ -121.874967000495204, 37.678730000401288 ], [ -121.87503900021116, 37.678961000574759 ], [ -121.875487000214903, 37.680406000499012 ], [ -121.875702999832939, 37.681102001106261 ], [ -121.875867000176072, 37.681630000879188 ], [ -121.877166999854154, 37.685230000575586 ], [ -121.877466999614228, 37.686130000485797 ], [ -121.877967000184171, 37.687530001105564 ], [ -121.878252000252672, 37.688386000917582 ], [ -121.8783670000429, 37.688730001101511 ], [ -121.875486999681655, 37.689622000801712 ], [ -121.874844999406704, 37.689821000893808 ], [ -121.871266999417273, 37.690930000873735 ], [ -121.865066999448658, 37.693830000828171 ], [ -121.860066999447966, 37.694030000914559 ], [ -121.8596479994671, 37.69393200047648 ], [ -121.85671199995906, 37.693857000482922 ], [ -121.855419000063264, 37.693816000383514 ], [ -121.854599000495881, 37.693792000823713 ], [ -121.854236000382187, 37.693782000893215 ], [ -121.848665999586018, 37.693629000692368 ], [ -121.848265999812142, 37.691830000580168 ], [ -121.84326600036438, 37.690930000772056 ], [ -121.841516999514539, 37.689214000602433 ], [ -121.839039000379984, 37.686783000239558 ], [ -121.837965999611001, 37.685730000594269 ], [ -121.833465999484872, 37.68103000069501 ], [ -121.830653000355724, 37.678910000322809 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 729, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.873867000409192, 37.739228000508838 ], [ -121.870966999557552, 37.740028000393472 ], [ -121.835165999958349, 37.748728001039865 ], [ -121.834765999994531, 37.74882800054506 ], [ -121.831835000513578, 37.74954100064209 ], [ -121.812164999884857, 37.754327001130001 ], [ -121.811321999899747, 37.751973001033768 ], [ -121.812648999474234, 37.748898000655025 ], [ -121.813000000495776, 37.747952000514978 ], [ -121.813533999818262, 37.746159000763107 ], [ -121.813640999762114, 37.74570100098677 ], [ -121.813626000010757, 37.745282000757925 ], [ -121.813488999778698, 37.744969000316303 ], [ -121.813213999676464, 37.744694000583792 ], [ -121.811856000265934, 37.74389300077236 ], [ -121.810910000323105, 37.74317600089519 ], [ -121.809139999471256, 37.741459000597494 ], [ -121.809093999835284, 37.741070001014378 ], [ -121.809017999386626, 37.738286000873266 ], [ -121.808464999787219, 37.736428000655714 ], [ -121.808529999949798, 37.736248000470844 ], [ -121.808422999988295, 37.735844001029328 ], [ -121.808270000193559, 37.735547000634988 ], [ -121.808193999690459, 37.735287000250423 ], [ -121.808194000032273, 37.735127000302079 ], [ -121.808408000144951, 37.73447100063764 ], [ -121.808514000216874, 37.734089000603113 ], [ -121.808590999616897, 37.733822001029445 ], [ -121.808681999562268, 37.733525000441624 ], [ -121.808651999944402, 37.732907000290098 ], [ -121.80846900021173, 37.732098000450712 ], [ -121.808453000238998, 37.731595000996059 ], [ -121.808483999752696, 37.730931000257875 ], [ -121.808712999899171, 37.730122000776923 ], [ -121.809139999848142, 37.728955000351839 ], [ -121.809265000153047, 37.728628000859672 ], [ -121.809246999804458, 37.728314000627556 ], [ -121.808910999426857, 37.727414001088867 ], [ -121.808728000252302, 37.726864000764095 ], [ -121.80857499999378, 37.726063000526004 ], [ -121.808498999555866, 37.725285000393846 ], [ -121.80845300009284, 37.724843000597296 ], [ -121.808407999566086, 37.724476000288668 ], [ -121.808499000052592, 37.723980000565788 ], [ -121.80892599963471, 37.72305700029591 ], [ -121.809018000211864, 37.722851000681558 ], [ -121.809065000522239, 37.722628000589623 ], [ -121.808956999630979, 37.722172001118558 ], [ -121.808529999882111, 37.720982000895376 ], [ -121.808437999958443, 37.720647000364821 ], [ -121.808407999467462, 37.720335000854277 ], [ -121.808681999398374, 37.71936600097844 ], [ -121.808665000085568, 37.719129000685442 ], [ -121.808681999672672, 37.718786000621357 ], [ -121.807883000415686, 37.716601001035954 ], [ -121.807385000021952, 37.715238001051425 ], [ -121.807065000008194, 37.714729000448948 ], [ -121.806774999851029, 37.714208000996514 ], [ -121.80645399940687, 37.713850000558814 ], [ -121.806286999635361, 37.713621000347203 ], [ -121.806240999675609, 37.713338000854343 ], [ -121.806225999554357, 37.712461000232238 ], [ -121.806170999641651, 37.711848000656261 ], [ -121.806149000119106, 37.711607000613455 ], [ -121.805951000182787, 37.710920001014507 ], [ -121.805761999916655, 37.710390000455668 ], [ -121.805646000147561, 37.710065000925887 ], [ -121.805518000326444, 37.709797000409331 ], [ -121.805341000015176, 37.709394000873196 ], [ -121.805064999507962, 37.708929000486172 ], [ -121.805066000029683, 37.708730000624406 ], [ -121.804865000263689, 37.707829000841556 ], [ -121.804913000302733, 37.707614001006078 ], [ -121.804939999606447, 37.707494000915062 ], [ -121.805351999839289, 37.70562900029897 ], [ -121.805532000333784, 37.703482000855146 ], [ -121.806075999813686, 37.703276000981852 ], [ -121.805785999557017, 37.70312500062164 ], [ -121.80561700049897, 37.702969000260197 ], [ -121.805560000226379, 37.702723000877704 ], [ -121.805927000008907, 37.702009001071538 ], [ -121.806463999903329, 37.70151800033053 ], [ -121.807084999579331, 37.70127200090883 ], [ -121.807932999604091, 37.701049000617679 ], [ -121.808582000190725, 37.700959000586074 ], [ -121.809464999424748, 37.700929000954822 ], [ -121.809638999967504, 37.700670000381685 ], [ -121.817243999468872, 37.700729000665191 ], [ -121.81896700038061, 37.700720000433691 ], [ -121.819128000304843, 37.700708000956134 ], [ -121.820970000239328, 37.7007320003285 ], [ -121.82166599967637, 37.700729001008902 ], [ -121.824385999986049, 37.700762000862376 ], [ -121.829861000455693, 37.700912001083211 ], [ -121.830265999420973, 37.700929000280027 ], [ -121.835066999568241, 37.70096900031043 ], [ -121.841682000376153, 37.701025001032541 ], [ -121.842165999835998, 37.701029000731509 ], [ -121.842466000466686, 37.701029001073188 ], [ -121.842666000146778, 37.701029000569008 ], [ -121.84656600013858, 37.701029000923519 ], [ -121.847366000282221, 37.701029000599043 ], [ -121.848322000386005, 37.701029001015527 ], [ -121.849566000111878, 37.701029000316993 ], [ -121.853166999792563, 37.701029000805164 ], [ -121.858131999963504, 37.701183000979 ], [ -121.859567000080304, 37.701229000480794 ], [ -121.864429000187997, 37.701170000759944 ], [ -121.865193000219946, 37.701170000464955 ], [ -121.867547999679573, 37.701221000428532 ], [ -121.86805800002125, 37.701254001091392 ], [ -121.870561000425667, 37.701305000763327 ], [ -121.872366999771131, 37.701329000416216 ], [ -121.872366999535714, 37.701636000989033 ], [ -121.872366999442278, 37.701729000736542 ], [ -121.872419000298237, 37.702250001018989 ], [ -121.872448000331204, 37.702537000747604 ], [ -121.872446000391136, 37.702616000526781 ], [ -121.872433999579059, 37.703191000557453 ], [ -121.872430999469245, 37.703314000807786 ], [ -121.872435000365755, 37.703376001033284 ], [ -121.872366999795545, 37.704729000529795 ], [ -121.872322999503652, 37.705287000570074 ], [ -121.87226300041543, 37.706050001099051 ], [ -121.872175999420534, 37.70716600041726 ], [ -121.87207799959485, 37.708411000459755 ], [ -121.871966999668942, 37.709829000974345 ], [ -121.871904000309939, 37.712237000887555 ], [ -121.871895000276311, 37.712566000884507 ], [ -121.871885999412115, 37.712894000423091 ], [ -121.871872999547747, 37.713391000342334 ], [ -121.871867000224952, 37.713629000546689 ], [ -121.871854999406011, 37.713891000528953 ], [ -121.871838000471655, 37.714255000265972 ], [ -121.871834999933924, 37.714328000331967 ], [ -121.871827999633041, 37.714465000536414 ], [ -121.871801000425506, 37.715050000722933 ], [ -121.871759000467989, 37.715973000267013 ], [ -121.871623999803532, 37.718893001123504 ], [ -121.871543000436745, 37.720646000940675 ], [ -121.871484000088131, 37.721912000484771 ], [ -121.871426999677482, 37.723149000999683 ], [ -121.871424999904193, 37.723201000598458 ], [ -121.871947999614662, 37.72320100093679 ], [ -121.871901000156825, 37.724171000476076 ], [ -121.871946999579222, 37.724247001069308 ], [ -121.872053999486965, 37.724377001099256 ], [ -121.872175999716433, 37.72447600054727 ], [ -121.872390000331833, 37.724675000931754 ], [ -121.872495999545407, 37.724797001069803 ], [ -121.872588000250502, 37.724919000616715 ], [ -121.872679999664655, 37.725056001115377 ], [ -121.872755999898942, 37.725224000658223 ], [ -121.872755999984136, 37.725461000621074 ], [ -121.872680000152371, 37.725926000782749 ], [ -121.872680000320003, 37.726048000903255 ], [ -121.872740999881017, 37.726170000351445 ], [ -121.872877999873111, 37.726262000709028 ], [ -121.872999999727185, 37.726330000405383 ], [ -121.873122000194115, 37.726445000336525 ], [ -121.873153000067333, 37.726597000544515 ], [ -121.873136999775639, 37.726765000837048 ], [ -121.873152999751227, 37.726948000734808 ], [ -121.873121999672108, 37.727177000974613 ], [ -121.873060999430521, 37.727360001073116 ], [ -121.873092000064574, 37.727536000769675 ], [ -121.87324399957356, 37.727688000411575 ], [ -121.873319999997435, 37.727726000528804 ], [ -121.87348800035717, 37.727818000865028 ], [ -121.873640999483399, 37.727902001092737 ], [ -121.873640999477502, 37.728077000496626 ], [ -121.87353400002479, 37.728123000867221 ], [ -121.873366000340937, 37.728215000256093 ], [ -121.873335999994268, 37.728322000970131 ], [ -121.873396999713208, 37.728428000398338 ], [ -121.873472999885294, 37.728520001055308 ], [ -121.873519000040474, 37.728619000970795 ], [ -121.873595000098589, 37.728695000990896 ], [ -121.873731999576052, 37.728817000604202 ], [ -121.873731999577274, 37.729001000239712 ], [ -121.873666999750483, 37.729128000544648 ], [ -121.87351900051614, 37.729123000911166 ], [ -121.873274999871754, 37.729115000586987 ], [ -121.87301499993778, 37.729130000860224 ], [ -121.872847000283898, 37.729184000299952 ], [ -121.872866999945387, 37.729328000952506 ], [ -121.87431200005922, 37.731350000392915 ], [ -121.881767000423309, 37.736428000814108 ], [ -121.881667000226045, 37.736928000814991 ], [ -121.881566999446349, 37.737328001101382 ], [ -121.873867000409192, 37.739228000508838 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 742, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.84826599987224, 37.699129000416505 ], [ -121.84836599958544, 37.696429000311731 ], [ -121.848165999656175, 37.69492900031571 ], [ -121.848645999527037, 37.694616000683816 ], [ -121.848665999586018, 37.693629000692368 ], [ -121.854236000382187, 37.693782000893215 ], [ -121.854599000495881, 37.693792000823713 ], [ -121.855419000063264, 37.693816000383514 ], [ -121.85671199995906, 37.693857000482922 ], [ -121.8596479994671, 37.69393200047648 ], [ -121.860066999447966, 37.694030000914559 ], [ -121.865066999448658, 37.693830000828171 ], [ -121.871266999417273, 37.690930000873735 ], [ -121.874844999406704, 37.689821000893808 ], [ -121.875486999681655, 37.689622000801712 ], [ -121.8783670000429, 37.688730001101511 ], [ -121.878652999490996, 37.688673000628164 ], [ -121.879640000229131, 37.688476000826704 ], [ -121.880367000327553, 37.688330000710387 ], [ -121.882769999900802, 37.687476000795705 ], [ -121.883701999666357, 37.687204000522321 ], [ -121.884825000446043, 37.686749000611826 ], [ -121.8848420003212, 37.686742000598507 ], [ -121.885168000281425, 37.686630000482815 ], [ -121.885475000242863, 37.68651900057101 ], [ -121.885493999462099, 37.686512000432806 ], [ -121.886038999413998, 37.686299000935385 ], [ -121.886104999566115, 37.686277001019903 ], [ -121.886530999823975, 37.686137001126248 ], [ -121.887024000032383, 37.685950000454795 ], [ -121.887430999999836, 37.685806000957001 ], [ -121.887737999450408, 37.685698000906548 ], [ -121.888350999948926, 37.685482000688658 ], [ -121.889644999423837, 37.685026000315638 ], [ -121.890767999510103, 37.684630000548054 ], [ -121.897367999427246, 37.682130000482161 ], [ -121.903767999956912, 37.680330000950264 ], [ -121.903868000063767, 37.681230000299877 ], [ -121.903868000283737, 37.684230000284067 ], [ -121.903967999999281, 37.688030001035422 ], [ -121.90394400046759, 37.688798001008578 ], [ -121.90386800040207, 37.691230001120182 ], [ -121.903767999945913, 37.694530000748664 ], [ -121.903567999827857, 37.695930000529515 ], [ -121.903800999525501, 37.697298000452314 ], [ -121.904367999911173, 37.698429000844477 ], [ -121.905268000090828, 37.699429000719753 ], [ -121.905465999739505, 37.699689000284032 ], [ -121.906068000337697, 37.700329001083425 ], [ -121.90677400047845, 37.701152000243852 ], [ -121.907068000328593, 37.701729000783672 ], [ -121.904760000036759, 37.701666000328558 ], [ -121.903785000422616, 37.701677000988219 ], [ -121.903647999973998, 37.701678001081113 ], [ -121.898068000330369, 37.701529000291067 ], [ -121.897859999725441, 37.701534000555917 ], [ -121.893668000134852, 37.701629000436469 ], [ -121.888238999957267, 37.701549000658893 ], [ -121.880467000327712, 37.701429000529671 ], [ -121.879266999822349, 37.701429001131757 ], [ -121.87886700044703, 37.70142900072787 ], [ -121.876844000120016, 37.701456000753673 ], [ -121.875201999968795, 37.701409000270175 ], [ -121.872366999771131, 37.701329000416216 ], [ -121.870561000425667, 37.701305000763327 ], [ -121.86805800002125, 37.701254001091392 ], [ -121.867547999679573, 37.701221000428532 ], [ -121.865193000219946, 37.701170000464955 ], [ -121.864429000187997, 37.701170000759944 ], [ -121.859567000080304, 37.701229000480794 ], [ -121.858131999963504, 37.701183000979 ], [ -121.853166999792563, 37.701029000805164 ], [ -121.849566000111878, 37.701029000316993 ], [ -121.848666000413573, 37.699829000293029 ], [ -121.848365999675991, 37.699429000843232 ], [ -121.84826599987224, 37.699129000416505 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 745, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.851739000336991, 37.656090000469014 ], [ -121.851566999663746, 37.654631000610415 ], [ -121.851767000338398, 37.653731000329486 ], [ -121.854029999460764, 37.653489000618784 ], [ -121.853948000493759, 37.652956000647812 ], [ -121.855994000474908, 37.65264200024761 ], [ -121.856575999409358, 37.652696000858128 ], [ -121.856975999768636, 37.653026000482754 ], [ -121.85734300013003, 37.654095000563416 ], [ -121.857601000055524, 37.654253000475997 ], [ -121.858210999468525, 37.654563001052814 ], [ -121.85885000011163, 37.654887000426335 ], [ -121.859627999691085, 37.655256000959035 ], [ -121.860169999604864, 37.655557000605853 ], [ -121.859367000167239, 37.656331000437255 ], [ -121.858979999487616, 37.657342000404093 ], [ -121.858511999549535, 37.658564000756108 ], [ -121.858027000134484, 37.659830000539053 ], [ -121.857567000281804, 37.661031000690507 ], [ -121.85686699986698, 37.662731000609014 ], [ -121.856566999929328, 37.66373100036008 ], [ -121.856266999556993, 37.664131000365131 ], [ -121.85603799996332, 37.664405000353867 ], [ -121.855767000299821, 37.664730000494188 ], [ -121.856066999828599, 37.665430000507371 ], [ -121.856166999634226, 37.665730000380655 ], [ -121.856666999555969, 37.666730000316385 ], [ -121.857326999436808, 37.66858600047432 ], [ -121.857458999886063, 37.669062000442942 ], [ -121.857731000315212, 37.669997000506847 ], [ -121.857731000256621, 37.670051000686051 ], [ -121.854467000396866, 37.670630000956336 ], [ -121.849765999766191, 37.671130000584341 ], [ -121.847132999903195, 37.67139300031598 ], [ -121.835047999901363, 37.672602001066721 ], [ -121.834766000013303, 37.672630000502885 ], [ -121.826865999483843, 37.67343000087677 ], [ -121.821487999493129, 37.674062000471757 ], [ -121.819629000114645, 37.674281000974887 ], [ -121.814964999451973, 37.674830000451614 ], [ -121.805865000444584, 37.675930001095473 ], [ -121.805864999481784, 37.66553000102283 ], [ -121.805865000179864, 37.665230000819093 ], [ -121.805788000287407, 37.664068000946486 ], [ -121.805774999638331, 37.663870000674684 ], [ -121.805773000336814, 37.663843000269196 ], [ -121.805765000456503, 37.663730000957258 ], [ -121.805764999888652, 37.663485001071535 ], [ -121.805765000127991, 37.663408001032408 ], [ -121.80576499951836, 37.663397000762707 ], [ -121.805765000167739, 37.663272000641037 ], [ -121.805764999522438, 37.663231000880295 ], [ -121.805764999556757, 37.663178000428587 ], [ -121.805764999750622, 37.663071000893936 ], [ -121.805765000016137, 37.66302400034148 ], [ -121.805765000446954, 37.663006000650917 ], [ -121.805764999594061, 37.662430000462237 ], [ -121.805826000301124, 37.66068900053169 ], [ -121.805965000524694, 37.656731000262461 ], [ -121.805965000037261, 37.656031000537453 ], [ -121.805964999459164, 37.653831000635201 ], [ -121.80588600025095, 37.652649000440498 ], [ -121.805864999976677, 37.652331000876543 ], [ -121.806825000201229, 37.652681001054709 ], [ -121.809527999899899, 37.653667000994027 ], [ -121.814364999634094, 37.655431000630756 ], [ -121.820566000177607, 37.655431000757929 ], [ -121.823966000321121, 37.655531000772129 ], [ -121.824066000121022, 37.655531000971976 ], [ -121.827066000307781, 37.655531000937621 ], [ -121.833489999526876, 37.660634000752509 ], [ -121.836307999791856, 37.66287100088946 ], [ -121.837765999444215, 37.664030000490904 ], [ -121.838165999694539, 37.664330000505053 ], [ -121.838962000150985, 37.664728000531184 ], [ -121.842165999767843, 37.664730000889982 ], [ -121.844244000212726, 37.664690000549747 ], [ -121.844371000371069, 37.664688000371335 ], [ -121.845614000144792, 37.664664000817986 ], [ -121.846093000154298, 37.664655000322803 ], [ -121.846295000391933, 37.664651000918361 ], [ -121.846705999679969, 37.664643001011903 ], [ -121.846706999840976, 37.663876000795703 ], [ -121.846641000201828, 37.66301800039507 ], [ -121.846535000488984, 37.662467000752102 ], [ -121.846504000280902, 37.6623040002872 ], [ -121.846444000414067, 37.661993001118304 ], [ -121.846343000088154, 37.661658000452555 ], [ -121.846282999687304, 37.6613140002477 ], [ -121.846212000359571, 37.660970000554798 ], [ -121.846181999831572, 37.660708000664243 ], [ -121.846181999997043, 37.660495000249831 ], [ -121.846212000135395, 37.6603500004165 ], [ -121.846318999861083, 37.66020200078183 ], [ -121.844307000360104, 37.659384000577525 ], [ -121.843772999997029, 37.658638000383156 ], [ -121.843252999734943, 37.658576001066081 ], [ -121.842679999401255, 37.658508000444996 ], [ -121.842185999800947, 37.658449000507147 ], [ -121.842105999921003, 37.65746700103557 ], [ -121.842010000166525, 37.656294000351132 ], [ -121.841902999941553, 37.654987000283313 ], [ -121.842635000386849, 37.655068000452523 ], [ -121.844625000342631, 37.655438000886683 ], [ -121.845939000395916, 37.655719000483074 ], [ -121.846245999982202, 37.655807000620463 ], [ -121.847132000485416, 37.656060000858993 ], [ -121.84757599970348, 37.656187000811528 ], [ -121.847872999477971, 37.656334000616027 ], [ -121.849086999568897, 37.656935000352945 ], [ -121.849794999743523, 37.657099000891535 ], [ -121.850367000142185, 37.65723100057437 ], [ -121.851666999591828, 37.657531000456238 ], [ -121.851767000280844, 37.65633100030945 ], [ -121.85175800048809, 37.656252000591316 ], [ -121.851746000193828, 37.656147000805056 ], [ -121.851739000336991, 37.656090000469014 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 725, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.770621000003075, 37.659005001067271 ], [ -121.769763999874471, 37.659013000239348 ], [ -121.767863999661245, 37.659030000355692 ], [ -121.767863999519847, 37.658392000389505 ], [ -121.767864000115324, 37.657530000262319 ], [ -121.767864000193001, 37.656917001006697 ], [ -121.767864000198244, 37.656430001040953 ], [ -121.767895000067455, 37.656027000585311 ], [ -121.76796399939083, 37.655130000975625 ], [ -121.767964000519527, 37.653730000729631 ], [ -121.767969999890482, 37.653466000813715 ], [ -121.768063999745522, 37.649631001022748 ], [ -121.767963999767716, 37.647431000568844 ], [ -121.768064000040667, 37.645131000805797 ], [ -121.78056799966474, 37.645215000967774 ], [ -121.782570000411141, 37.64522800043364 ], [ -121.782654000048339, 37.645229000744038 ], [ -121.782718999580439, 37.645229000969913 ], [ -121.78296399972723, 37.64523100086253 ], [ -121.782463999928652, 37.648631000628434 ], [ -121.782863999841865, 37.648331000480653 ], [ -121.783263999460772, 37.648131000876845 ], [ -121.783392000509608, 37.648060000606542 ], [ -121.783598999505685, 37.647944000407364 ], [ -121.786664000462196, 37.646231000499505 ], [ -121.78856499940774, 37.6453310008581 ], [ -121.789759000126836, 37.644345000522037 ], [ -121.799464999671102, 37.636331001113724 ], [ -121.799440999997287, 37.636909000675509 ], [ -121.799248999898211, 37.637993000428494 ], [ -121.799308999799621, 37.638664000439135 ], [ -121.799440999896248, 37.640059000347733 ], [ -121.799824000058109, 37.641144000278324 ], [ -121.800278999572399, 37.642132001101871 ], [ -121.801127999530365, 37.643166000898567 ], [ -121.802491000194735, 37.644252000824352 ], [ -121.803855000369481, 37.645184001013291 ], [ -121.805026999729236, 37.64632100024884 ], [ -121.805551999585617, 37.647303000317457 ], [ -121.805843999746045, 37.647922001082016 ], [ -121.805864999976677, 37.652331000876543 ], [ -121.80588600025095, 37.652649000440498 ], [ -121.805964999459164, 37.653831000635201 ], [ -121.805965000037261, 37.656031000537453 ], [ -121.805080999896518, 37.656031000619436 ], [ -121.803704999678033, 37.656031000788701 ], [ -121.801895000436062, 37.656031000686212 ], [ -121.799676000468054, 37.656031000392943 ], [ -121.798864999846828, 37.656031000949291 ], [ -121.796247999663279, 37.656030000829695 ], [ -121.795884999944732, 37.656030000752651 ], [ -121.794525999981005, 37.656030000651945 ], [ -121.793833999903597, 37.65603000028873 ], [ -121.792754999787448, 37.656030001044208 ], [ -121.792358999707105, 37.656030001131008 ], [ -121.791557999574778, 37.656030000640982 ], [ -121.790164999820277, 37.656030000287572 ], [ -121.789457999596252, 37.656030000633443 ], [ -121.788965000260134, 37.656030000474992 ], [ -121.787156000095038, 37.655987000969468 ], [ -121.784763999459699, 37.655930000946114 ], [ -121.783263999981102, 37.655930000870178 ], [ -121.782632000179419, 37.65592900078606 ], [ -121.782663999982987, 37.656530000726832 ], [ -121.78266399975081, 37.658730000243821 ], [ -121.782021999721806, 37.659224001054 ], [ -121.780063999607449, 37.660730001064799 ], [ -121.778864000356933, 37.660630000761941 ], [ -121.778764000518947, 37.660130000545877 ], [ -121.778783999718925, 37.659896000269505 ], [ -121.778822000253427, 37.659441000827279 ], [ -121.778864000124344, 37.658930000535499 ], [ -121.776734999947735, 37.658950000840548 ], [ -121.776087999678339, 37.658956000404473 ], [ -121.775568000410871, 37.65896100043873 ], [ -121.775165000180749, 37.658964001070224 ], [ -121.775132999516202, 37.658964000415097 ], [ -121.77475499941427, 37.658967000604001 ], [ -121.774638999653916, 37.658968000947119 ], [ -121.774345000314298, 37.658971000962914 ], [ -121.774325999666203, 37.658971000890816 ], [ -121.774253000225769, 37.658971000237521 ], [ -121.774143999859305, 37.658972000732653 ], [ -121.774061999469751, 37.658973000573816 ], [ -121.773688999441248, 37.658977001078071 ], [ -121.773481000129308, 37.658979000382367 ], [ -121.773366000259969, 37.658980000857873 ], [ -121.772951000376324, 37.658984000238434 ], [ -121.772648999952693, 37.658986000677615 ], [ -121.772588000014409, 37.658987000817511 ], [ -121.772286000123188, 37.658990000763374 ], [ -121.772113000046275, 37.658992000551393 ], [ -121.771901999784632, 37.658994000977088 ], [ -121.771527000407758, 37.658997000428506 ], [ -121.771295999567357, 37.658999000544569 ], [ -121.770621000003075, 37.659005001067271 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 720, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.732462999493535, 37.717029000621089 ], [ -121.734107999522351, 37.717029000640849 ], [ -121.735263000310383, 37.717029000305224 ], [ -121.735435000079619, 37.717029000646171 ], [ -121.735706999780248, 37.717029000778389 ], [ -121.736525999872839, 37.717029000732225 ], [ -121.73726300005481, 37.717029000791754 ], [ -121.737376000409441, 37.716939000978343 ], [ -121.738748999787816, 37.716939000288569 ], [ -121.739083000168165, 37.716907000873221 ], [ -121.739954999748591, 37.716825000328377 ], [ -121.741556999495216, 37.7166880002721 ], [ -121.742462999488211, 37.716529000890382 ], [ -121.742693000268233, 37.71689700106095 ], [ -121.742963000189434, 37.717329000788304 ], [ -121.74326299985546, 37.717729000788339 ], [ -121.744662999716098, 37.716729001043966 ], [ -121.745719999876599, 37.716339000533736 ], [ -121.746788000467802, 37.71594600067575 ], [ -121.748462999459363, 37.715329000666898 ], [ -121.749062999980225, 37.715129000640601 ], [ -121.751063000214202, 37.714922000427819 ], [ -121.751962999444302, 37.714829000863702 ], [ -121.753962999659052, 37.710929001007301 ], [ -121.754063000097673, 37.706429000820009 ], [ -121.754763999691832, 37.705829000623879 ], [ -121.759064000207474, 37.704529000526328 ], [ -121.759363999783019, 37.702929000349556 ], [ -121.760501000469887, 37.70283300051782 ], [ -121.770102999651499, 37.701433000445803 ], [ -121.771563999394331, 37.70122900064753 ], [ -121.773963999588645, 37.700829000775542 ], [ -121.775705000313096, 37.700501000700534 ], [ -121.776252999804285, 37.700432000618825 ], [ -121.778620000383242, 37.700208001027576 ], [ -121.782039000482357, 37.699871000494639 ], [ -121.782464000337882, 37.699829001070711 ], [ -121.783790999655338, 37.699708000370556 ], [ -121.784642000124791, 37.699609000263415 ], [ -121.785363999862284, 37.69952900075458 ], [ -121.785946000212448, 37.699458000269608 ], [ -121.786358000191484, 37.699426000468094 ], [ -121.786659000085109, 37.699426000792783 ], [ -121.787564999992824, 37.699429000444347 ], [ -121.790164999903311, 37.699729001082062 ], [ -121.79515600025357, 37.700431000789642 ], [ -121.79660099984919, 37.700573000366155 ], [ -121.797164999593107, 37.70062900060524 ], [ -121.798164999815654, 37.70062900051424 ], [ -121.806105000353853, 37.700599000433478 ], [ -121.80795199991428, 37.700601001094469 ], [ -121.809638999967504, 37.700670000381685 ], [ -121.809464999424748, 37.700929000954822 ], [ -121.808582000190725, 37.700959000586074 ], [ -121.807932999604091, 37.701049000617679 ], [ -121.807084999579331, 37.70127200090883 ], [ -121.806463999903329, 37.70151800033053 ], [ -121.805927000008907, 37.702009001071538 ], [ -121.805560000226379, 37.702723000877704 ], [ -121.80561700049897, 37.702969000260197 ], [ -121.805785999557017, 37.70312500062164 ], [ -121.806075999813686, 37.703276000981852 ], [ -121.805532000333784, 37.703482000855146 ], [ -121.805351999839289, 37.70562900029897 ], [ -121.804939999606447, 37.707494000915062 ], [ -121.804913000302733, 37.707614001006078 ], [ -121.804865000263689, 37.707829000841556 ], [ -121.805066000029683, 37.708730000624406 ], [ -121.805064999507962, 37.708929000486172 ], [ -121.805341000015176, 37.709394000873196 ], [ -121.805518000326444, 37.709797000409331 ], [ -121.805646000147561, 37.710065000925887 ], [ -121.805761999916655, 37.710390000455668 ], [ -121.805951000182787, 37.710920001014507 ], [ -121.806149000119106, 37.711607000613455 ], [ -121.806170999641651, 37.711848000656261 ], [ -121.806225999554357, 37.712461000232238 ], [ -121.806240999675609, 37.713338000854343 ], [ -121.806286999635361, 37.713621000347203 ], [ -121.80645399940687, 37.713850000558814 ], [ -121.806774999851029, 37.714208000996514 ], [ -121.807065000008194, 37.714729000448948 ], [ -121.807385000021952, 37.715238001051425 ], [ -121.807883000415686, 37.716601001035954 ], [ -121.808681999672672, 37.718786000621357 ], [ -121.808665000085568, 37.719129000685442 ], [ -121.808681999398374, 37.71936600097844 ], [ -121.808407999467462, 37.720335000854277 ], [ -121.808437999958443, 37.720647000364821 ], [ -121.808529999882111, 37.720982000895376 ], [ -121.808956999630979, 37.722172001118558 ], [ -121.809065000522239, 37.722628000589623 ], [ -121.809018000211864, 37.722851000681558 ], [ -121.80892599963471, 37.72305700029591 ], [ -121.808499000052592, 37.723980000565788 ], [ -121.808407999566086, 37.724476000288668 ], [ -121.80845300009284, 37.724843000597296 ], [ -121.808498999555866, 37.725285000393846 ], [ -121.80857499999378, 37.726063000526004 ], [ -121.808728000252302, 37.726864000764095 ], [ -121.808910999426857, 37.727414001088867 ], [ -121.809246999804458, 37.728314000627556 ], [ -121.809265000153047, 37.728628000859672 ], [ -121.809139999848142, 37.728955000351839 ], [ -121.808712999899171, 37.730122000776923 ], [ -121.808483999752696, 37.730931000257875 ], [ -121.808453000238998, 37.731595000996059 ], [ -121.80846900021173, 37.732098000450712 ], [ -121.808651999944402, 37.732907000290098 ], [ -121.808681999562268, 37.733525000441624 ], [ -121.808590999616897, 37.733822001029445 ], [ -121.808514000216874, 37.734089000603113 ], [ -121.808408000144951, 37.73447100063764 ], [ -121.808194000032273, 37.735127000302079 ], [ -121.808193999690459, 37.735287000250423 ], [ -121.808270000193559, 37.735547000634988 ], [ -121.808422999988295, 37.735844001029328 ], [ -121.808529999949798, 37.736248000470844 ], [ -121.808464999787219, 37.736428000655714 ], [ -121.809017999386626, 37.738286000873266 ], [ -121.809093999835284, 37.741070001014378 ], [ -121.809139999471256, 37.741459000597494 ], [ -121.810910000323105, 37.74317600089519 ], [ -121.811856000265934, 37.74389300077236 ], [ -121.813213999676464, 37.744694000583792 ], [ -121.813488999778698, 37.744969000316303 ], [ -121.813626000010757, 37.745282000757925 ], [ -121.813640999762114, 37.74570100098677 ], [ -121.813533999818262, 37.746159000763107 ], [ -121.813000000495776, 37.747952000514978 ], [ -121.812648999474234, 37.748898000655025 ], [ -121.811321999899747, 37.751973001033768 ], [ -121.812164999884857, 37.754327001130001 ], [ -121.795565000405304, 37.758227000430232 ], [ -121.793010000420722, 37.758835000684357 ], [ -121.791364999564024, 37.759227000235725 ], [ -121.781163999955325, 37.761727000565877 ], [ -121.780563999627233, 37.761827000927617 ], [ -121.780363999769037, 37.761827000346422 ], [ -121.751063999953786, 37.769169000753614 ], [ -121.749598999603393, 37.769536000282258 ], [ -121.738062999394842, 37.772427000517496 ], [ -121.73734499943096, 37.772106000669581 ], [ -121.736002999805592, 37.771862000309149 ], [ -121.734903999648424, 37.771350000502864 ], [ -121.734171999711663, 37.770359001129869 ], [ -121.733942999898176, 37.769290000482286 ], [ -121.733378000142466, 37.768405000643313 ], [ -121.733194999575588, 37.76802400055432 ], [ -121.73222200031833, 37.767102000826462 ], [ -121.733575999816296, 37.766628000954434 ], [ -121.734599000379859, 37.765995000718654 ], [ -121.735376999956998, 37.764873000457293 ], [ -121.735773999667259, 37.763431000336155 ], [ -121.735926000018907, 37.761959000611967 ], [ -121.735651999978032, 37.760929001079298 ], [ -121.734538000009636, 37.760173000948221 ], [ -121.733987999707168, 37.759700001106921 ], [ -121.733408999541496, 37.75889900095715 ], [ -121.732233999409985, 37.758281000311669 ], [ -121.732127000142995, 37.757595000885487 ], [ -121.733133999476436, 37.756671000908078 ], [ -121.733865999637146, 37.756085000443846 ], [ -121.733713999647861, 37.755147000648087 ], [ -121.731425000221208, 37.752408000723157 ], [ -121.730966999528761, 37.75095000053912 ], [ -121.730443000030945, 37.749928000751062 ], [ -121.730203999570804, 37.749463000876801 ], [ -121.729262999718557, 37.748828001121645 ], [ -121.728480000492311, 37.748234000552124 ], [ -121.72701499940942, 37.747746000915583 ], [ -121.725992999605353, 37.747242000560206 ], [ -121.725474000486017, 37.746701000475944 ], [ -121.72536299998761, 37.746328000727907 ], [ -121.725463000361117, 37.745228001139203 ], [ -121.725336999589985, 37.744633000696609 ], [ -121.724513000017367, 37.74355000092914 ], [ -121.72361200039056, 37.742375000421418 ], [ -121.723094000232109, 37.74119200041882 ], [ -121.723185000119017, 37.740246000619116 ], [ -121.723886999457022, 37.73959000075731 ], [ -121.724161999676738, 37.738553000408984 ], [ -121.724162999476519, 37.736128000910192 ], [ -121.724363000143342, 37.72692800086925 ], [ -121.724163000195958, 37.72652800069438 ], [ -121.724162999803809, 37.724490000614104 ], [ -121.724162999967675, 37.722335000738283 ], [ -121.724162999663577, 37.722228000357646 ], [ -121.724262999452534, 37.719629001127117 ], [ -121.724297000154607, 37.719527000330885 ], [ -121.724363000146496, 37.719329000273127 ], [ -121.724263000169685, 37.717029000504738 ], [ -121.726676999955316, 37.717029000793637 ], [ -121.726778000491635, 37.717029000295575 ], [ -121.72726299954401, 37.717029000443453 ], [ -121.729743999807624, 37.717029000636501 ], [ -121.730262999800402, 37.717029000616648 ], [ -121.730562999421906, 37.717029000574414 ], [ -121.73073100051019, 37.717012000880203 ], [ -121.731563000416003, 37.716929000924381 ], [ -121.732462999493535, 37.717029000621089 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 728, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.797164999593107, 37.70062900060524 ], [ -121.79660099984919, 37.700573000366155 ], [ -121.79515600025357, 37.700431000789642 ], [ -121.790164999903311, 37.699729001082062 ], [ -121.787564999992824, 37.699429000444347 ], [ -121.786659000085109, 37.699426000792783 ], [ -121.786358000191484, 37.699426000468094 ], [ -121.785946000212448, 37.699458000269608 ], [ -121.785363999862284, 37.69952900075458 ], [ -121.785259000026457, 37.699372000354337 ], [ -121.785119999858622, 37.699022000836592 ], [ -121.785057000173921, 37.69857900025773 ], [ -121.784794000470342, 37.696579000372928 ], [ -121.784463999596525, 37.695629000686118 ], [ -121.783763999465364, 37.695129000772162 ], [ -121.783763999489409, 37.694829000823098 ], [ -121.784232000255074, 37.694611000955916 ], [ -121.785263999960264, 37.694129000628074 ], [ -121.785763999931149, 37.693929000269165 ], [ -121.786864999596219, 37.693529000361728 ], [ -121.78756499984695, 37.693329000375606 ], [ -121.788665000485295, 37.692829000787171 ], [ -121.78926500045057, 37.692329000352416 ], [ -121.789565000418449, 37.688729000457478 ], [ -121.789564999593722, 37.688229000934236 ], [ -121.789614000116032, 37.687641000738083 ], [ -121.789664999885659, 37.687030000315431 ], [ -121.789664999767794, 37.685730000399246 ], [ -121.789765000386623, 37.682630000486952 ], [ -121.78976500050112, 37.682130000468582 ], [ -121.789564999576086, 37.6814300005055 ], [ -121.78947399988121, 37.680836001106059 ], [ -121.789365000402526, 37.680130000337421 ], [ -121.787665000281194, 37.679630000994486 ], [ -121.787464999773221, 37.679030000655899 ], [ -121.787564999524619, 37.678230000318521 ], [ -121.787465000439312, 37.677930000521769 ], [ -121.78790100024969, 37.677872001050872 ], [ -121.788965000468082, 37.677730000420176 ], [ -121.789591999897766, 37.67763400101655 ], [ -121.790265000347816, 37.677530000775128 ], [ -121.791464999452458, 37.677530000596292 ], [ -121.794965000233034, 37.677130000934994 ], [ -121.795864999655677, 37.67713000027706 ], [ -121.79816499985283, 37.676830000610558 ], [ -121.799861000205709, 37.676624000499736 ], [ -121.801464999868728, 37.676430000540833 ], [ -121.805865000444584, 37.675930001095473 ], [ -121.814964999451973, 37.674830000451614 ], [ -121.819629000114645, 37.674281000974887 ], [ -121.821487999493129, 37.674062000471757 ], [ -121.826865999483843, 37.67343000087677 ], [ -121.826866000162767, 37.673830000500367 ], [ -121.826965999626978, 37.674230000702778 ], [ -121.826965999497105, 37.6761300008977 ], [ -121.830653000355724, 37.678910000322809 ], [ -121.833465999484872, 37.68103000069501 ], [ -121.837965999611001, 37.685730000594269 ], [ -121.839039000379984, 37.686783000239558 ], [ -121.841516999514539, 37.689214000602433 ], [ -121.84326600036438, 37.690930000772056 ], [ -121.848265999812142, 37.691830000580168 ], [ -121.848665999586018, 37.693629000692368 ], [ -121.848645999527037, 37.694616000683816 ], [ -121.848165999656175, 37.69492900031571 ], [ -121.84836599958544, 37.696429000311731 ], [ -121.84826599987224, 37.699129000416505 ], [ -121.848365999675991, 37.699429000843232 ], [ -121.848666000413573, 37.699829000293029 ], [ -121.849566000111878, 37.701029000316993 ], [ -121.848322000386005, 37.701029001015527 ], [ -121.847366000282221, 37.701029000599043 ], [ -121.84656600013858, 37.701029000923519 ], [ -121.842666000146778, 37.701029000569008 ], [ -121.842466000466686, 37.701029001073188 ], [ -121.842165999835998, 37.701029000731509 ], [ -121.841682000376153, 37.701025001032541 ], [ -121.835066999568241, 37.70096900031043 ], [ -121.830265999420973, 37.700929000280027 ], [ -121.829861000455693, 37.700912001083211 ], [ -121.824385999986049, 37.700762000862376 ], [ -121.82166599967637, 37.700729001008902 ], [ -121.820970000239328, 37.7007320003285 ], [ -121.819128000304843, 37.700708000956134 ], [ -121.81896700038061, 37.700720000433691 ], [ -121.817243999468872, 37.700729000665191 ], [ -121.809638999967504, 37.700670000381685 ], [ -121.80795199991428, 37.700601001094469 ], [ -121.806105000353853, 37.700599000433478 ], [ -121.798164999815654, 37.70062900051424 ], [ -121.797164999593107, 37.70062900060524 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 722, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.777163999860051, 37.682130000232505 ], [ -121.782663999622997, 37.680530000786867 ], [ -121.787464999773221, 37.679030000655899 ], [ -121.787665000281194, 37.679630000994486 ], [ -121.789365000402526, 37.680130000337421 ], [ -121.78947399988121, 37.680836001106059 ], [ -121.789564999576086, 37.6814300005055 ], [ -121.78976500050112, 37.682130000468582 ], [ -121.789765000386623, 37.682630000486952 ], [ -121.789664999767794, 37.685730000399246 ], [ -121.789664999885659, 37.687030000315431 ], [ -121.789614000116032, 37.687641000738083 ], [ -121.789564999593722, 37.688229000934236 ], [ -121.789565000418449, 37.688729000457478 ], [ -121.78926500045057, 37.692329000352416 ], [ -121.788665000485295, 37.692829000787171 ], [ -121.78756499984695, 37.693329000375606 ], [ -121.786864999596219, 37.693529000361728 ], [ -121.785763999931149, 37.693929000269165 ], [ -121.785263999960264, 37.694129000628074 ], [ -121.784232000255074, 37.694611000955916 ], [ -121.783763999489409, 37.694829000823098 ], [ -121.783763999465364, 37.695129000772162 ], [ -121.783264000368149, 37.694729000768028 ], [ -121.782564000254993, 37.694429000644462 ], [ -121.781664000378555, 37.693929000534027 ], [ -121.780464000053726, 37.693429000439345 ], [ -121.779963999886888, 37.693229000593426 ], [ -121.778922999790737, 37.692665000271802 ], [ -121.778323999655555, 37.692350000716004 ], [ -121.777695999532284, 37.69206300056112 ], [ -121.777195000062093, 37.691825000335079 ], [ -121.776364000019427, 37.691429000689702 ], [ -121.776091000089437, 37.691361000722686 ], [ -121.775531000273958, 37.691221000520045 ], [ -121.774763999504486, 37.69102900036664 ], [ -121.773164000421843, 37.691029001065843 ], [ -121.772363999888015, 37.689429000936329 ], [ -121.770763999703959, 37.688629000580718 ], [ -121.769535000304316, 37.688014000929151 ], [ -121.769363999966018, 37.687929000710042 ], [ -121.768863999774581, 37.687729000935057 ], [ -121.76716399943993, 37.686929001127588 ], [ -121.766564000106015, 37.686529000970353 ], [ -121.766205000205915, 37.686409000994708 ], [ -121.765964000072742, 37.686329000987747 ], [ -121.765363999713983, 37.686029000414834 ], [ -121.764664000297472, 37.685929000604077 ], [ -121.7666960004223, 37.685304000559825 ], [ -121.768563999441341, 37.684730000289775 ], [ -121.769663999664999, 37.684330001009876 ], [ -121.770964000483673, 37.684030000795289 ], [ -121.772164000269726, 37.683730000317603 ], [ -121.773763999986983, 37.683230000296781 ], [ -121.774964000046225, 37.6828300004506 ], [ -121.777163999860051, 37.682130000232505 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 716, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.718762000228054, 37.670604001129995 ], [ -121.718762000100938, 37.668158000728106 ], [ -121.718762000058376, 37.666292000608074 ], [ -121.718762000333328, 37.665030000680964 ], [ -121.725640000167218, 37.665030000360218 ], [ -121.732862999691946, 37.665030001009349 ], [ -121.734963000396519, 37.665030000641806 ], [ -121.736862999627817, 37.66503000024737 ], [ -121.741153000202019, 37.665030000660842 ], [ -121.74186299975031, 37.665030000853505 ], [ -121.743717000478711, 37.666203000593001 ], [ -121.747949999896335, 37.66888200095984 ], [ -121.74957399964002, 37.669910000894916 ], [ -121.749762999802286, 37.670030001057484 ], [ -121.751062999488809, 37.670857000585393 ], [ -121.751537000020761, 37.671159000420133 ], [ -121.751963000450374, 37.671430000793485 ], [ -121.7534630000509, 37.672330000911792 ], [ -121.754163000373993, 37.672730000841881 ], [ -121.754763000294204, 37.673530000286476 ], [ -121.754962999580698, 37.673630000627242 ], [ -121.756363999582362, 37.674330000567629 ], [ -121.758764000317726, 37.675730000413914 ], [ -121.759464000237656, 37.676230000976432 ], [ -121.759964000433087, 37.676430000610374 ], [ -121.760563999491268, 37.676930000287413 ], [ -121.761163999792501, 37.677230000738447 ], [ -121.761464000332651, 37.677530000363078 ], [ -121.762564000017164, 37.678230000967837 ], [ -121.762804000104623, 37.678390000853568 ], [ -121.762863999445401, 37.678430000291378 ], [ -121.763463999693059, 37.678830000282744 ], [ -121.76436400018622, 37.679430000891351 ], [ -121.765163999865266, 37.67993000078409 ], [ -121.764064000488759, 37.679930000567545 ], [ -121.763176000035955, 37.679881001006159 ], [ -121.762263999938455, 37.679830000671878 ], [ -121.761064000288584, 37.679930001038592 ], [ -121.760763999832832, 37.679730000768068 ], [ -121.756863999897377, 37.679930000500534 ], [ -121.755063000056467, 37.679930000297084 ], [ -121.754962999887454, 37.679930000814664 ], [ -121.754790000278078, 37.679930001012231 ], [ -121.753536999494088, 37.679930001040702 ], [ -121.75186299993031, 37.679930000972064 ], [ -121.751323999669154, 37.679930000677572 ], [ -121.751063000058593, 37.679930000861994 ], [ -121.748363000521152, 37.679930000736178 ], [ -121.746963000405984, 37.679930000919612 ], [ -121.746062999703199, 37.67993000106955 ], [ -121.745062999435618, 37.679730000577223 ], [ -121.743462999913191, 37.679830001037089 ], [ -121.742662999506308, 37.679830000697038 ], [ -121.742162999995173, 37.679830000326277 ], [ -121.741663000498662, 37.679830000538523 ], [ -121.741262999783643, 37.679830000791547 ], [ -121.740863000225787, 37.679830000600752 ], [ -121.739863000259618, 37.679830000482426 ], [ -121.739163000373637, 37.679930000498928 ], [ -121.738803000123312, 37.679930000993863 ], [ -121.738069000393224, 37.679930000287328 ], [ -121.738015000179587, 37.679930001010121 ], [ -121.737520000046203, 37.679930001094647 ], [ -121.736503000335716, 37.679930000453894 ], [ -121.735162999786724, 37.679930000436897 ], [ -121.733934999402436, 37.679930000758112 ], [ -121.733825999993556, 37.67993000028229 ], [ -121.732762999731065, 37.679930000677579 ], [ -121.730663000017188, 37.679930000235068 ], [ -121.72616299997209, 37.679930000369914 ], [ -121.722262999806631, 37.679930001031906 ], [ -121.721805999485412, 37.679879000842163 ], [ -121.721361999690373, 37.679830001001285 ], [ -121.718662000432801, 37.680030000796663 ], [ -121.718662000122634, 37.677430000293278 ], [ -121.718662000300895, 37.674730000526949 ], [ -121.71876200048807, 37.674030001108399 ], [ -121.718761999508459, 37.672789000827557 ], [ -121.718762000228054, 37.670604001129995 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 717, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.761124999797389, 37.684542000817522 ], [ -121.761883999775222, 37.685126000937643 ], [ -121.764663999447507, 37.684230001067391 ], [ -121.765464000069926, 37.683930000275232 ], [ -121.766063999659195, 37.683630000351158 ], [ -121.766464000281516, 37.683830000500443 ], [ -121.766326000334217, 37.683922001138598 ], [ -121.765864000423946, 37.684230000934107 ], [ -121.764263999713549, 37.685329000573802 ], [ -121.763764000273198, 37.685529001037658 ], [ -121.76356399953859, 37.68562900066069 ], [ -121.762364000138817, 37.68612900090131 ], [ -121.760663999488756, 37.68692900042771 ], [ -121.759460999912534, 37.687555000887059 ], [ -121.758164000358661, 37.688229000799183 ], [ -121.756143999946929, 37.68922300049919 ], [ -121.754644000466982, 37.689960001114194 ], [ -121.752063000057376, 37.691229000756529 ], [ -121.75106300051597, 37.691806000250359 ], [ -121.749463000174387, 37.692729000638231 ], [ -121.7470630000944, 37.694429000786961 ], [ -121.745431999871244, 37.6913990003723 ], [ -121.745367999809105, 37.691200000320386 ], [ -121.745167999913804, 37.690915000938773 ], [ -121.74502599953918, 37.690781001120556 ], [ -121.744688000476671, 37.690462000247777 ], [ -121.743821000505989, 37.690198001109131 ], [ -121.742389999742727, 37.690024000399951 ], [ -121.741565999896437, 37.689851000605564 ], [ -121.741383999876888, 37.689782000803405 ], [ -121.74100000046225, 37.689637001062636 ], [ -121.740145000334337, 37.689266001081684 ], [ -121.740088000310223, 37.689241000630645 ], [ -121.738836999434085, 37.688698000798723 ], [ -121.736942000429025, 37.687876000316137 ], [ -121.736818000365659, 37.687822001048197 ], [ -121.736511999469769, 37.687689000947756 ], [ -121.736330999433505, 37.687671000446713 ], [ -121.734934000016693, 37.683157000616362 ], [ -121.734772000260833, 37.682609000517409 ], [ -121.734413999810982, 37.68142700105961 ], [ -121.734155999816295, 37.680570000383341 ], [ -121.733934999402436, 37.679930000758112 ], [ -121.735162999786724, 37.679930000436897 ], [ -121.736503000335716, 37.679930000453894 ], [ -121.737520000046203, 37.679930001094647 ], [ -121.738015000179587, 37.679930001010121 ], [ -121.738069000393224, 37.679930000287328 ], [ -121.738803000123312, 37.679930000993863 ], [ -121.739163000373637, 37.679930000498928 ], [ -121.739863000259618, 37.679830000482426 ], [ -121.740863000225787, 37.679830000600752 ], [ -121.741262999783643, 37.679830000791547 ], [ -121.741663000498662, 37.679830000538523 ], [ -121.742162999995173, 37.679830000326277 ], [ -121.742662999506308, 37.679830000697038 ], [ -121.743462999913191, 37.679830001037089 ], [ -121.745062999435618, 37.679730000577223 ], [ -121.746062999703199, 37.67993000106955 ], [ -121.746963000405984, 37.679930000919612 ], [ -121.748363000521152, 37.679930000736178 ], [ -121.751063000058593, 37.679930000861994 ], [ -121.751323999669154, 37.679930000677572 ], [ -121.75186299993031, 37.679930000972064 ], [ -121.753536999494088, 37.679930001040702 ], [ -121.754790000278078, 37.679930001012231 ], [ -121.754962999887454, 37.679930000814664 ], [ -121.755063000056467, 37.679930000297084 ], [ -121.756863999897377, 37.679930000500534 ], [ -121.760763999832832, 37.679730000768068 ], [ -121.761064000288584, 37.679930001038592 ], [ -121.762263999938455, 37.679830000671878 ], [ -121.763176000035955, 37.679881001006159 ], [ -121.764064000488759, 37.679930000567545 ], [ -121.765163999865266, 37.67993000078409 ], [ -121.765464000521163, 37.680330000553276 ], [ -121.764964000466549, 37.680730000892069 ], [ -121.763764000474694, 37.681930000556626 ], [ -121.76296400030833, 37.682730000470798 ], [ -121.762163999882517, 37.683330000504398 ], [ -121.761124999797389, 37.684542000817522 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 723, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.749762999802286, 37.670030001057484 ], [ -121.749750999827583, 37.669865000726958 ], [ -121.749760999808259, 37.668341000698554 ], [ -121.74976299944224, 37.666930000764758 ], [ -121.749762999848826, 37.666430000489555 ], [ -121.749662999836644, 37.666030000360372 ], [ -121.749662999923515, 37.665645000556935 ], [ -121.749662999869798, 37.665230000506298 ], [ -121.749663000379456, 37.664512000509063 ], [ -121.749662999470317, 37.663641000686724 ], [ -121.749662999623752, 37.663430000452408 ], [ -121.749562999617169, 37.661530000903291 ], [ -121.749513999485515, 37.659039000452083 ], [ -121.74949099963122, 37.657838001057321 ], [ -121.749463000511, 37.656430001044214 ], [ -121.75106299984256, 37.656430000371387 ], [ -121.759263999717845, 37.656430000476071 ], [ -121.767864000198244, 37.656430001040953 ], [ -121.767864000193001, 37.656917001006697 ], [ -121.767864000115324, 37.657530000262319 ], [ -121.767863999519847, 37.658392000389505 ], [ -121.767863999661245, 37.659030000355692 ], [ -121.767863999531812, 37.660268000849136 ], [ -121.767863999836479, 37.660383000794646 ], [ -121.767863999405705, 37.660730000564016 ], [ -121.767963999801353, 37.662430000394984 ], [ -121.767963999831423, 37.66353000036068 ], [ -121.76806400016622, 37.664030000872032 ], [ -121.768149999497339, 37.665144000884787 ], [ -121.768163999939844, 37.665330000835155 ], [ -121.76816399950259, 37.665711000525583 ], [ -121.768164000243573, 37.667030000263189 ], [ -121.768163999576828, 37.667796001130142 ], [ -121.768163999830819, 37.668096001051431 ], [ -121.768163999452312, 37.668176000242198 ], [ -121.768163999818427, 37.668405000312333 ], [ -121.768163999662804, 37.669230001097013 ], [ -121.767863999702215, 37.67073000085972 ], [ -121.767933999519002, 37.670870000905737 ], [ -121.7680239996631, 37.671050000777072 ], [ -121.768063999866783, 37.671130000498358 ], [ -121.768128999798677, 37.671260000687333 ], [ -121.768271000306399, 37.671544000493164 ], [ -121.768382000119388, 37.671766000383826 ], [ -121.768463999655935, 37.671930000522742 ], [ -121.76855999969456, 37.672153000848745 ], [ -121.768665000411687, 37.672398000854855 ], [ -121.76876399946012, 37.672630001027692 ], [ -121.768763999759003, 37.672830000232089 ], [ -121.768563999807142, 37.674430000791808 ], [ -121.768763999823605, 37.675430000975759 ], [ -121.769063999776236, 37.676130000442178 ], [ -121.769464000123151, 37.677130000280279 ], [ -121.769964000094461, 37.677830000431264 ], [ -121.770264000451135, 37.678730000269695 ], [ -121.77046400011065, 37.679430000398234 ], [ -121.770953999481307, 37.680094000973313 ], [ -121.771264000388527, 37.680830000657998 ], [ -121.771964000465871, 37.68213000091081 ], [ -121.772064000186987, 37.68253000101641 ], [ -121.772164000500155, 37.683130000858469 ], [ -121.772164000269726, 37.683730000317603 ], [ -121.770964000483673, 37.684030000795289 ], [ -121.769663999664999, 37.684330001009876 ], [ -121.768563999441341, 37.684730000289775 ], [ -121.7666960004223, 37.685304000559825 ], [ -121.764664000297472, 37.685929000604077 ], [ -121.762364000138817, 37.68612900090131 ], [ -121.76356399953859, 37.68562900066069 ], [ -121.763764000273198, 37.685529001037658 ], [ -121.764263999713549, 37.685329000573802 ], [ -121.765864000423946, 37.684230000934107 ], [ -121.766326000334217, 37.683922001138598 ], [ -121.766464000281516, 37.683830000500443 ], [ -121.766063999659195, 37.683630000351158 ], [ -121.765464000069926, 37.683930000275232 ], [ -121.764663999447507, 37.684230001067391 ], [ -121.761883999775222, 37.685126000937643 ], [ -121.761124999797389, 37.684542000817522 ], [ -121.762163999882517, 37.683330000504398 ], [ -121.76296400030833, 37.682730000470798 ], [ -121.763764000474694, 37.681930000556626 ], [ -121.764964000466549, 37.680730000892069 ], [ -121.765464000521163, 37.680330000553276 ], [ -121.765163999865266, 37.67993000078409 ], [ -121.76436400018622, 37.679430000891351 ], [ -121.763463999693059, 37.678830000282744 ], [ -121.762863999445401, 37.678430000291378 ], [ -121.762804000104623, 37.678390000853568 ], [ -121.762564000017164, 37.678230000967837 ], [ -121.761464000332651, 37.677530000363078 ], [ -121.761163999792501, 37.677230000738447 ], [ -121.760563999491268, 37.676930000287413 ], [ -121.759964000433087, 37.676430000610374 ], [ -121.759464000237656, 37.676230000976432 ], [ -121.758764000317726, 37.675730000413914 ], [ -121.756363999582362, 37.674330000567629 ], [ -121.754962999580698, 37.673630000627242 ], [ -121.754763000294204, 37.673530000286476 ], [ -121.754163000373993, 37.672730000841881 ], [ -121.7534630000509, 37.672330000911792 ], [ -121.751963000450374, 37.671430000793485 ], [ -121.751537000020761, 37.671159000420133 ], [ -121.751062999488809, 37.670857000585393 ], [ -121.749762999802286, 37.670030001057484 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 724, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.781135999959062, 37.67412400051699 ], [ -121.782663999919905, 37.674430001047241 ], [ -121.783463999766354, 37.674630001090641 ], [ -121.78586399952377, 37.675130000611105 ], [ -121.786763999797756, 37.676530000487759 ], [ -121.787565000083831, 37.676930000610895 ], [ -121.787894000347947, 37.677020001041726 ], [ -121.788664999737662, 37.677230000274108 ], [ -121.788965000468082, 37.677730000420176 ], [ -121.78790100024969, 37.677872001050872 ], [ -121.787465000439312, 37.677930000521769 ], [ -121.787564999524619, 37.678230000318521 ], [ -121.787464999773221, 37.679030000655899 ], [ -121.782663999622997, 37.680530000786867 ], [ -121.777163999860051, 37.682130000232505 ], [ -121.774964000046225, 37.6828300004506 ], [ -121.773763999986983, 37.683230000296781 ], [ -121.772164000269726, 37.683730000317603 ], [ -121.772164000500155, 37.683130000858469 ], [ -121.772064000186987, 37.68253000101641 ], [ -121.771964000465871, 37.68213000091081 ], [ -121.771264000388527, 37.680830000657998 ], [ -121.770953999481307, 37.680094000973313 ], [ -121.77046400011065, 37.679430000398234 ], [ -121.770264000451135, 37.678730000269695 ], [ -121.769964000094461, 37.677830000431264 ], [ -121.769464000123151, 37.677130000280279 ], [ -121.769063999776236, 37.676130000442178 ], [ -121.768763999823605, 37.675430000975759 ], [ -121.768563999807142, 37.674430000791808 ], [ -121.768763999759003, 37.672830000232089 ], [ -121.76876399946012, 37.672630001027692 ], [ -121.768665000411687, 37.672398000854855 ], [ -121.76855999969456, 37.672153000848745 ], [ -121.768463999655935, 37.671930000522742 ], [ -121.768382000119388, 37.671766000383826 ], [ -121.768271000306399, 37.671544000493164 ], [ -121.768128999798677, 37.671260000687333 ], [ -121.768063999866783, 37.671130000498358 ], [ -121.7680239996631, 37.671050000777072 ], [ -121.767933999519002, 37.670870000905737 ], [ -121.767863999702215, 37.67073000085972 ], [ -121.768163999662804, 37.669230001097013 ], [ -121.768163999818427, 37.668405000312333 ], [ -121.768163999452312, 37.668176000242198 ], [ -121.768163999830819, 37.668096001051431 ], [ -121.768163999576828, 37.667796001130142 ], [ -121.768164000243573, 37.667030000263189 ], [ -121.76816399950259, 37.665711000525583 ], [ -121.768163999939844, 37.665330000835155 ], [ -121.768149999497339, 37.665144000884787 ], [ -121.76806400016622, 37.664030000872032 ], [ -121.767963999831423, 37.66353000036068 ], [ -121.767963999801353, 37.662430000394984 ], [ -121.767863999405705, 37.660730000564016 ], [ -121.767863999836479, 37.660383000794646 ], [ -121.767863999531812, 37.660268000849136 ], [ -121.767863999661245, 37.659030000355692 ], [ -121.769763999874471, 37.659013000239348 ], [ -121.770621000003075, 37.659005001067271 ], [ -121.771295999567357, 37.658999000544569 ], [ -121.771527000407758, 37.658997000428506 ], [ -121.771901999784632, 37.658994000977088 ], [ -121.772113000046275, 37.658992000551393 ], [ -121.772286000123188, 37.658990000763374 ], [ -121.772588000014409, 37.658987000817511 ], [ -121.772648999952693, 37.658986000677615 ], [ -121.772951000376324, 37.658984000238434 ], [ -121.773366000259969, 37.658980000857873 ], [ -121.773481000129308, 37.658979000382367 ], [ -121.773688999441248, 37.658977001078071 ], [ -121.774061999469751, 37.658973000573816 ], [ -121.774143999859305, 37.658972000732653 ], [ -121.774253000225769, 37.658971000237521 ], [ -121.774325999666203, 37.658971000890816 ], [ -121.774345000314298, 37.658971000962914 ], [ -121.774638999653916, 37.658968000947119 ], [ -121.77475499941427, 37.658967000604001 ], [ -121.775132999516202, 37.658964000415097 ], [ -121.775165000180749, 37.658964001070224 ], [ -121.775568000410871, 37.65896100043873 ], [ -121.776087999678339, 37.658956000404473 ], [ -121.776734999947735, 37.658950000840548 ], [ -121.778864000124344, 37.658930000535499 ], [ -121.778822000253427, 37.659441000827279 ], [ -121.778783999718925, 37.659896000269505 ], [ -121.778764000518947, 37.660130000545877 ], [ -121.778864000356933, 37.660630000761941 ], [ -121.780063999607449, 37.660730001064799 ], [ -121.780064000039346, 37.662730000610189 ], [ -121.780059999604688, 37.663347000906434 ], [ -121.780063999919378, 37.663630000280698 ], [ -121.780405999648806, 37.666110000693301 ], [ -121.78046400041508, 37.666530000886532 ], [ -121.780464000086013, 37.66693000102272 ], [ -121.780464000011861, 37.669630000609047 ], [ -121.780464000495087, 37.671330000848663 ], [ -121.780399000179187, 37.67224500049663 ], [ -121.780363999610344, 37.672730001081312 ], [ -121.780284000239973, 37.673211000453477 ], [ -121.780164000307664, 37.673930000946854 ], [ -121.781135999959062, 37.67412400051699 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 726, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.798864999846828, 37.656031000949291 ], [ -121.799676000468054, 37.656031000392943 ], [ -121.801895000436062, 37.656031000686212 ], [ -121.803704999678033, 37.656031000788701 ], [ -121.805080999896518, 37.656031000619436 ], [ -121.805965000037261, 37.656031000537453 ], [ -121.805965000524694, 37.656731000262461 ], [ -121.805826000301124, 37.66068900053169 ], [ -121.805764999594061, 37.662430000462237 ], [ -121.805765000446954, 37.663006000650917 ], [ -121.805765000016137, 37.66302400034148 ], [ -121.805764999750622, 37.663071000893936 ], [ -121.805764999556757, 37.663178000428587 ], [ -121.805764999522438, 37.663231000880295 ], [ -121.805765000167739, 37.663272000641037 ], [ -121.80576499951836, 37.663397000762707 ], [ -121.805765000127991, 37.663408001032408 ], [ -121.805764999888652, 37.663485001071535 ], [ -121.805765000456503, 37.663730000957258 ], [ -121.805773000336814, 37.663843000269196 ], [ -121.805774999638331, 37.663870000674684 ], [ -121.805788000287407, 37.664068000946486 ], [ -121.805865000179864, 37.665230000819093 ], [ -121.805864999481784, 37.66553000102283 ], [ -121.805865000444584, 37.675930001095473 ], [ -121.801464999868728, 37.676430000540833 ], [ -121.799861000205709, 37.676624000499736 ], [ -121.79816499985283, 37.676830000610558 ], [ -121.795864999655677, 37.67713000027706 ], [ -121.794965000233034, 37.677130000934994 ], [ -121.794965000467712, 37.676030000582671 ], [ -121.79506499981261, 37.672630000910182 ], [ -121.793764999814798, 37.670330000245116 ], [ -121.79326499943808, 37.66953000084515 ], [ -121.791764999491832, 37.668430001069943 ], [ -121.790865000372008, 37.668030000470317 ], [ -121.790364999418543, 37.667730000865006 ], [ -121.789364999605525, 37.667230000648949 ], [ -121.786264000324053, 37.666930000850655 ], [ -121.785064000251907, 37.666930000647454 ], [ -121.782764000486623, 37.666930000743143 ], [ -121.781763999617269, 37.666930000415 ], [ -121.780464000086013, 37.66693000102272 ], [ -121.78046400041508, 37.666530000886532 ], [ -121.780405999648806, 37.666110000693301 ], [ -121.780063999919378, 37.663630000280698 ], [ -121.780059999604688, 37.663347000906434 ], [ -121.780064000039346, 37.662730000610189 ], [ -121.780063999607449, 37.660730001064799 ], [ -121.782021999721806, 37.659224001054 ], [ -121.78266399975081, 37.658730000243821 ], [ -121.782663999982987, 37.656530000726832 ], [ -121.782632000179419, 37.65592900078606 ], [ -121.783263999981102, 37.655930000870178 ], [ -121.784763999459699, 37.655930000946114 ], [ -121.787156000095038, 37.655987000969468 ], [ -121.788965000260134, 37.656030000474992 ], [ -121.789457999596252, 37.656030000633443 ], [ -121.790164999820277, 37.656030000287572 ], [ -121.791557999574778, 37.656030000640982 ], [ -121.792358999707105, 37.656030001131008 ], [ -121.792754999787448, 37.656030001044208 ], [ -121.793833999903597, 37.65603000028873 ], [ -121.794525999981005, 37.656030000651945 ], [ -121.795884999944732, 37.656030000752651 ], [ -121.796247999663279, 37.656030000829695 ], [ -121.798864999846828, 37.656031000949291 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 747, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.908868999859223, 37.504137001129706 ], [ -121.905268999821914, 37.504837000603786 ], [ -121.905183999655037, 37.50485400035717 ], [ -121.901867999446921, 37.50553700058353 ], [ -121.899667999996495, 37.506936000365322 ], [ -121.898368000090841, 37.507936001097193 ], [ -121.896367999395068, 37.508836001000951 ], [ -121.887068000148204, 37.505736000839605 ], [ -121.886368000015054, 37.504236000676819 ], [ -121.884667999908515, 37.503736000822251 ], [ -121.883267999762552, 37.502836001103894 ], [ -121.882868000086333, 37.501336000415257 ], [ -121.883777999634319, 37.499937001129553 ], [ -121.884168000101923, 37.499337000343886 ], [ -121.883752000198371, 37.497998000760013 ], [ -121.882367999726682, 37.493537000856463 ], [ -121.88186800039071, 37.493237000241599 ], [ -121.877877999458775, 37.490378000481734 ], [ -121.875866999568018, 37.488937000425729 ], [ -121.870166999883665, 37.484737000425049 ], [ -121.868167000049141, 37.48333700066226 ], [ -121.86776700003125, 37.483037000992866 ], [ -121.869367000224514, 37.482037000272861 ], [ -121.869630000471176, 37.481789000479694 ], [ -121.869674000201812, 37.481749000719375 ], [ -121.869840999612776, 37.481321000591841 ], [ -121.86990200014948, 37.480932000522159 ], [ -121.870115999676244, 37.48058900089007 ], [ -121.870466999858294, 37.480237000544989 ], [ -121.870559000057966, 37.479841001108234 ], [ -121.870757000221843, 37.479475000495015 ], [ -121.871566000324449, 37.478857000784622 ], [ -121.872359000362323, 37.478376000775889 ], [ -121.873075999553578, 37.478079000434377 ], [ -121.87366700028609, 37.477737000966862 ], [ -121.874067000195666, 37.477191000436754 ], [ -121.874289999776181, 37.476362000537257 ], [ -121.874611999726383, 37.475767000501655 ], [ -121.87520499965764, 37.47521500067672 ], [ -121.875778999617083, 37.474999000386767 ], [ -121.876261999796114, 37.474924000330468 ], [ -121.876574000471351, 37.475178000966046 ], [ -121.876776000073562, 37.475422000364752 ], [ -121.876867000192718, 37.475437000967311 ], [ -121.877288000371536, 37.475424000736552 ], [ -121.877501000410078, 37.475088000707906 ], [ -121.877638999996464, 37.47470700028078 ], [ -121.877897999997927, 37.47428700030413 ], [ -121.878356000429008, 37.47394400107769 ], [ -121.878661000400342, 37.473577000428449 ], [ -121.878871000277314, 37.473249000987906 ], [ -121.878904999422303, 37.47319600029229 ], [ -121.879225999620331, 37.472563001091245 ], [ -121.879545999805998, 37.472235000959174 ], [ -121.879927000363793, 37.471868001021527 ], [ -121.880278000016474, 37.471594000910684 ], [ -121.880306999754652, 37.471579000974835 ], [ -121.88093499945542, 37.471273001038526 ], [ -121.881422999556406, 37.471075000497137 ], [ -121.881895999445078, 37.470861000735432 ], [ -121.882262000428199, 37.470770000320158 ], [ -121.88253699979208, 37.47077000036483 ], [ -121.882560999872112, 37.470782000478131 ], [ -121.8828670003642, 37.470937001084884 ], [ -121.883299999551127, 37.47102200105067 ], [ -121.883573999989451, 37.470945000664535 ], [ -121.883970999479587, 37.471022000331772 ], [ -121.884352999604943, 37.471296000519466 ], [ -121.884749000430702, 37.471548000472673 ], [ -121.8849330002313, 37.4716400004869 ], [ -121.885667999706953, 37.471737000922538 ], [ -121.886519999634857, 37.47146400092106 ], [ -121.88722200033672, 37.471159000956121 ], [ -121.887938999928267, 37.470968000723651 ], [ -121.888443000303624, 37.470877000939637 ], [ -121.889022999472218, 37.470686000303132 ], [ -121.889667999610154, 37.469937000458998 ], [ -121.889968999470227, 37.46916800086133 ], [ -121.890259000298315, 37.4686560006094 ], [ -121.890654999577407, 37.468244000234833 ], [ -121.890912999559802, 37.468136000739392 ], [ -121.891143999909389, 37.468039000357898 ], [ -121.891463999945032, 37.468061000375457 ], [ -121.891876000023061, 37.468077000601916 ], [ -121.892440999457662, 37.467901000735885 ], [ -121.892914000299882, 37.467802000937198 ], [ -121.893417000208288, 37.467840000760638 ], [ -121.894068000030558, 37.467837000716578 ], [ -121.894226000097419, 37.467871000314055 ], [ -121.894836000107546, 37.467833000441523 ], [ -121.895706000363816, 37.467711000328336 ], [ -121.896803999531599, 37.467230000435435 ], [ -121.898048000127901, 37.466840000742536 ], [ -121.898535999426855, 37.466573000689941 ], [ -121.899223000099212, 37.466092000854779 ], [ -121.899504000341892, 37.465830001072675 ], [ -121.899704000282924, 37.465730000982148 ], [ -121.900438999459382, 37.465635000306001 ], [ -121.90143099960666, 37.46523800079089 ], [ -121.901996000342336, 37.464964000273739 ], [ -121.902438000408353, 37.464872000894559 ], [ -121.902677999971303, 37.464836001063276 ], [ -121.903232000143532, 37.464702000346591 ], [ -121.90351499967683, 37.464633001004742 ], [ -121.903717999501794, 37.465157000937829 ], [ -121.90446800005067, 37.466938000860416 ], [ -121.906183999722202, 37.470012000937999 ], [ -121.906268000284854, 37.470138000987383 ], [ -121.913268999464776, 37.482937000480639 ], [ -121.915287999945193, 37.486428000741704 ], [ -121.918068999928906, 37.491237000754793 ], [ -121.919118000088034, 37.492948000707884 ], [ -121.91946899959234, 37.493337000974712 ], [ -121.921368999821553, 37.494837000478199 ], [ -121.922768999764159, 37.495937001057321 ], [ -121.922518999788309, 37.496080001070631 ], [ -121.922249000133746, 37.496282000907748 ], [ -121.921449999774211, 37.496868001094434 ], [ -121.920868999790741, 37.497437001124347 ], [ -121.92052000049344, 37.497712000849795 ], [ -121.919955000251008, 37.499937000731457 ], [ -121.919868999528305, 37.500337001016376 ], [ -121.919769000364312, 37.50123700110894 ], [ -121.917952000362803, 37.50184300033748 ], [ -121.917220999855346, 37.502086000774725 ], [ -121.916451000092124, 37.502343000588887 ], [ -121.916348999943352, 37.502377001063174 ], [ -121.914876999689952, 37.502868000498225 ], [ -121.912568999857953, 37.503637001009665 ], [ -121.91226599996881, 37.503623000364186 ], [ -121.910368999564298, 37.50353700036603 ], [ -121.908868999859223, 37.504137001129706 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 771, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.038573000266879, 37.563135000445236 ], [ -122.037066999710333, 37.561794000243523 ], [ -122.036906999855859, 37.561636000754895 ], [ -122.036828999530343, 37.561548000846393 ], [ -122.035586999889546, 37.560344000505197 ], [ -122.032947999954573, 37.557901000417495 ], [ -122.032265000291559, 37.557268000821416 ], [ -122.03139999986108, 37.556467000727707 ], [ -122.031231999741209, 37.556311000950281 ], [ -122.03050200010955, 37.555634000291235 ], [ -122.030072000115055, 37.555236000970737 ], [ -122.029760999755794, 37.554865000236255 ], [ -122.028905000393436, 37.553844000976724 ], [ -122.027050999834515, 37.551634000872433 ], [ -122.024871999534241, 37.549036000931757 ], [ -122.024672000074418, 37.548736000380806 ], [ -122.02330400008664, 37.546919000971428 ], [ -122.02298600023299, 37.54654000081625 ], [ -122.023727999564414, 37.545671000800276 ], [ -122.023869999619578, 37.545509000636244 ], [ -122.024007000057665, 37.545353000552836 ], [ -122.024371999506528, 37.544936001084118 ], [ -122.026371999804411, 37.542436001130056 ], [ -122.026572000271827, 37.542136000526988 ], [ -122.027072000374147, 37.542536000308708 ], [ -122.027572000125346, 37.542936000678083 ], [ -122.029271999713359, 37.544536000837027 ], [ -122.029671999700582, 37.544136001096234 ], [ -122.029754999755312, 37.544033000889826 ], [ -122.030071999466713, 37.543636000485385 ], [ -122.030872000249843, 37.54303600103168 ], [ -122.031571999830135, 37.542436000591266 ], [ -122.032172000492224, 37.541936000483368 ], [ -122.032872999962805, 37.54143600071864 ], [ -122.033672999841897, 37.540836000721171 ], [ -122.034273000033252, 37.540436000910233 ], [ -122.035172999802697, 37.542236000647776 ], [ -122.036273000185147, 37.54373600041454 ], [ -122.039872999870994, 37.545436000641352 ], [ -122.040773000477103, 37.545836000417225 ], [ -122.041662999915317, 37.546389000742494 ], [ -122.043736000307703, 37.547678000467478 ], [ -122.04447300043357, 37.548136000635317 ], [ -122.049272999511075, 37.550436000708089 ], [ -122.051673000366137, 37.55163600060839 ], [ -122.052472999687495, 37.551936001087604 ], [ -122.049472999811684, 37.553836000356341 ], [ -122.045372999402574, 37.556336000635085 ], [ -122.043372999809421, 37.557635000593706 ], [ -122.042876999470693, 37.558247001091608 ], [ -122.040361000092261, 37.561355000798486 ], [ -122.040087999497047, 37.561769000341535 ], [ -122.039073000135588, 37.56313500101804 ], [ -122.038872999539549, 37.563435000998282 ], [ -122.038573000266879, 37.563135000445236 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 768, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.049515000302947, 37.537363000884433 ], [ -122.048300000191787, 37.536327000507114 ], [ -122.047637000154921, 37.535762000254245 ], [ -122.044672999677132, 37.53323600060903 ], [ -122.044172999462745, 37.53273600092129 ], [ -122.042931999874867, 37.531765001039943 ], [ -122.041872999396148, 37.530937000673291 ], [ -122.0400729998711, 37.529437000988985 ], [ -122.039873000454463, 37.529237000613549 ], [ -122.037873000104781, 37.527537000952513 ], [ -122.036573000210552, 37.526737000967685 ], [ -122.035772999905291, 37.526437000626153 ], [ -122.035272999727212, 37.526237000514058 ], [ -122.032572999987721, 37.52503700068803 ], [ -122.030271999472305, 37.523937000234703 ], [ -122.026172000175436, 37.522137000470224 ], [ -122.022572000139419, 37.520437000548156 ], [ -122.022494999574533, 37.520399000434359 ], [ -122.020972000295842, 37.519637000647805 ], [ -122.012371999660459, 37.515737000679117 ], [ -122.013971999412107, 37.512337000730021 ], [ -122.015001000341286, 37.509219000270704 ], [ -122.012672000022008, 37.506838000868136 ], [ -122.012371999648337, 37.504038000611054 ], [ -122.015571999530948, 37.501938000771695 ], [ -122.013972000295709, 37.499938000396732 ], [ -122.012472000499415, 37.500138000774029 ], [ -122.012409999877846, 37.499938000590724 ], [ -122.01147200026621, 37.496938000420926 ], [ -122.008371999556218, 37.497838000457584 ], [ -122.005771999544891, 37.495238000321585 ], [ -122.006271999929297, 37.494938000854489 ], [ -122.006572000398052, 37.495038000552768 ], [ -122.007069000296966, 37.494811001068534 ], [ -122.008258999578103, 37.494292000532347 ], [ -122.009509999822569, 37.493896000350716 ], [ -122.010166000378405, 37.493659000955581 ], [ -122.010571999732036, 37.493438001119728 ], [ -122.01095999954299, 37.492934001082396 ], [ -122.010791999836769, 37.492064000814928 ], [ -122.010136000103401, 37.489745000582126 ], [ -122.010821999833141, 37.48815800089551 ], [ -122.011677000487978, 37.486602000501499 ], [ -122.01219599947737, 37.485724000506309 ], [ -122.012408999834236, 37.48503800051428 ], [ -122.012774999750789, 37.483954000319038 ], [ -122.013111000343372, 37.483184001021428 ], [ -122.013493000491621, 37.482383000286461 ], [ -122.01399599987684, 37.481711000285017 ], [ -122.014471999704512, 37.4814380009228 ], [ -122.015431000153953, 37.481933000656788 ], [ -122.016682000220712, 37.483100000486445 ], [ -122.018069999648475, 37.483916000623886 ], [ -122.019946999836762, 37.484641000988496 ], [ -122.021626000457445, 37.484870000533185 ], [ -122.022663000210699, 37.484801000755667 ], [ -122.023272000244802, 37.484738001004594 ], [ -122.023991000293648, 37.484206000545434 ], [ -122.024966999450953, 37.483291000851182 ], [ -122.025394999957612, 37.48245100085942 ], [ -122.025470999495226, 37.480659000722213 ], [ -122.025943999460353, 37.479011001123801 ], [ -122.026492999551607, 37.478759000576261 ], [ -122.0271720004245, 37.478638000944898 ], [ -122.02826300000811, 37.478797000481507 ], [ -122.029835000300707, 37.480155000445869 ], [ -122.030917999802227, 37.481589000794152 ], [ -122.031086000341887, 37.483405000702881 ], [ -122.031208000093983, 37.485221000313338 ], [ -122.031528999475853, 37.48686900051095 ], [ -122.031528999731393, 37.488112000784625 ], [ -122.031512999504827, 37.488441001010507 ], [ -122.031178000479798, 37.489097000887469 ], [ -122.030971999708044, 37.490138000280361 ], [ -122.031437000280576, 37.490302000685197 ], [ -122.032120000410984, 37.490785000327762 ], [ -122.032704000427032, 37.490656000463339 ], [ -122.03393099980417, 37.492501000271091 ], [ -122.035386000008003, 37.4946910005688 ], [ -122.039202999817761, 37.495089000695934 ], [ -122.040273000459806, 37.495338000839844 ], [ -122.043660000478624, 37.495772000840738 ], [ -122.045064000010882, 37.496238000397838 ], [ -122.053563000317197, 37.49893900097387 ], [ -122.053425999469866, 37.499877001021851 ], [ -122.053500000016072, 37.499886000750841 ], [ -122.053930999626516, 37.49993800030007 ], [ -122.058072999590038, 37.50043800062037 ], [ -122.059236999891041, 37.500658000843252 ], [ -122.058694000447886, 37.501206000249319 ], [ -122.057994000300269, 37.501911000510354 ], [ -122.054677000010727, 37.505256000448718 ], [ -122.056443999584744, 37.509851000262152 ], [ -122.056554000049161, 37.510138000899246 ], [ -122.056905000016584, 37.510145000700014 ], [ -122.057673000095903, 37.514537000527909 ], [ -122.062795000331036, 37.514845000367522 ], [ -122.062687999667503, 37.514128000721364 ], [ -122.066973000292307, 37.513037000366751 ], [ -122.069073000289677, 37.517837000953293 ], [ -122.069876000481003, 37.517903000491728 ], [ -122.070272999731458, 37.517937000669242 ], [ -122.072652000415573, 37.517309000784749 ], [ -122.07747300001013, 37.516037000972993 ], [ -122.080273999688998, 37.515337000636947 ], [ -122.079672999431438, 37.516637000644344 ], [ -122.082974000101743, 37.51463700109543 ], [ -122.089573999709103, 37.513837000575151 ], [ -122.088974000425537, 37.515337000865216 ], [ -122.08817399966189, 37.517337001122293 ], [ -122.092274000455049, 37.518637000559785 ], [ -122.092773999476478, 37.519837000446635 ], [ -122.093274000041177, 37.521137001085577 ], [ -122.098373999679367, 37.522737000867203 ], [ -122.10157400013631, 37.521437000631899 ], [ -122.101373999570882, 37.519937000296942 ], [ -122.101274000471861, 37.518337000983884 ], [ -122.110773999744808, 37.509237000754425 ], [ -122.111240000259457, 37.510247000397399 ], [ -122.11137400030006, 37.510537000639829 ], [ -122.1098739998654, 37.511637000531081 ], [ -122.103873999734603, 37.519937000557086 ], [ -122.102573999866664, 37.521837000640758 ], [ -122.090973999770057, 37.531736000737233 ], [ -122.07837299997577, 37.533736000585925 ], [ -122.075073000353925, 37.536936001089323 ], [ -122.071072999852149, 37.540136000322875 ], [ -122.069274999638964, 37.541624001074247 ], [ -122.066873000076754, 37.543136000296904 ], [ -122.065913999682323, 37.543727000935476 ], [ -122.055472999922557, 37.550136000284319 ], [ -122.055287000089521, 37.549337000694777 ], [ -122.054172999572415, 37.544536000735071 ], [ -122.053473000273868, 37.541436000291121 ], [ -122.052772999884212, 37.540036000284871 ], [ -122.050772999864762, 37.53843600049079 ], [ -122.050199999548639, 37.537947000818988 ], [ -122.049515000302947, 37.537363000884433 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 773, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.02298600023299, 37.54654000081625 ], [ -122.022495999792369, 37.545880000981313 ], [ -122.021572000250146, 37.544636001129653 ], [ -122.021197000145818, 37.544097000829254 ], [ -122.021079999424131, 37.543898000580079 ], [ -122.020572000446364, 37.543136000838331 ], [ -122.020371999561675, 37.542836001001078 ], [ -122.017472000001135, 37.539236000710737 ], [ -122.01857199953615, 37.537936000945272 ], [ -122.018872000511394, 37.537336000515843 ], [ -122.019872000454967, 37.536236000557444 ], [ -122.022171999920843, 37.533637000322287 ], [ -122.023072000173812, 37.532437000580913 ], [ -122.023371999425947, 37.532037000547788 ], [ -122.024071999657352, 37.531037000602659 ], [ -122.024471999936026, 37.530637001113988 ], [ -122.026071999726938, 37.528837000551789 ], [ -122.026571999781154, 37.528237000577775 ], [ -122.029271999433746, 37.525137001080871 ], [ -122.030271999472305, 37.523937000234703 ], [ -122.032572999987721, 37.52503700068803 ], [ -122.035272999727212, 37.526237000514058 ], [ -122.035772999905291, 37.526437000626153 ], [ -122.036573000210552, 37.526737000967685 ], [ -122.037873000104781, 37.527537000952513 ], [ -122.039873000454463, 37.529237000613549 ], [ -122.0400729998711, 37.529437000988985 ], [ -122.039873000462933, 37.529537000832917 ], [ -122.038772999829419, 37.530137000889496 ], [ -122.037172999826041, 37.530537001130618 ], [ -122.036172999819883, 37.530837000545048 ], [ -122.035772999577588, 37.53103700093677 ], [ -122.035073000394391, 37.531937000272926 ], [ -122.034173000330014, 37.533037000244803 ], [ -122.032773000505031, 37.534736000556762 ], [ -122.031071999879245, 37.53693600089057 ], [ -122.030172000319538, 37.537836000304857 ], [ -122.03005100035115, 37.538018001107375 ], [ -122.029572000353141, 37.538736000592017 ], [ -122.029171999791913, 37.539336000466335 ], [ -122.028372000193798, 37.54003600105225 ], [ -122.027671999469078, 37.540836000638343 ], [ -122.026572000271827, 37.542136000526988 ], [ -122.026371999804411, 37.542436001130056 ], [ -122.024371999506528, 37.544936001084118 ], [ -122.024007000057665, 37.545353000552836 ], [ -122.023869999619578, 37.545509000636244 ], [ -122.023727999564414, 37.545671000800276 ], [ -122.02298600023299, 37.54654000081625 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 767, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.022171999920843, 37.533637000322287 ], [ -122.019872000454967, 37.536236000557444 ], [ -122.018872000511394, 37.537336000515843 ], [ -122.01857199953615, 37.537936000945272 ], [ -122.017472000001135, 37.539236000710737 ], [ -122.016006999405121, 37.537567000650448 ], [ -122.015575000055037, 37.53718000090857 ], [ -122.014559999590659, 37.536584000515354 ], [ -122.011290999997541, 37.534708000600347 ], [ -122.005172000438421, 37.531237001132503 ], [ -122.004372000079826, 37.530737000644791 ], [ -122.003672000507549, 37.530437001045513 ], [ -122.002972000033722, 37.530037000535579 ], [ -122.002371999613658, 37.529737001091206 ], [ -121.999937000098626, 37.528544000755716 ], [ -121.999830000398745, 37.528495000678376 ], [ -121.999271999849356, 37.528237000576276 ], [ -121.999085000416898, 37.528137000798267 ], [ -121.99798499948858, 37.527550000340838 ], [ -121.997286999451475, 37.527214000866657 ], [ -121.994489000192061, 37.525867000425876 ], [ -121.994079999930179, 37.525670000629006 ], [ -121.99297200052348, 37.525137000288503 ], [ -121.992183000101321, 37.524732000376744 ], [ -121.991349000148304, 37.524304001103282 ], [ -121.990669000219114, 37.52395500031519 ], [ -121.989270999673252, 37.523237000278826 ], [ -121.987808000126336, 37.522660000746107 ], [ -121.987732000019378, 37.522627000719339 ], [ -121.987965999460187, 37.522408000957419 ], [ -121.988779999779908, 37.521713000733392 ], [ -121.989572000417141, 37.521037000258943 ], [ -121.990171999754168, 37.520337000703236 ], [ -121.99077200020831, 37.519637000663934 ], [ -121.991571999750818, 37.518437000371819 ], [ -121.993471999766257, 37.516037000438224 ], [ -121.994171999413794, 37.515237001047893 ], [ -121.995072000117659, 37.514037000650411 ], [ -121.995771999762724, 37.51073800068972 ], [ -121.99627200028695, 37.509338001024197 ], [ -121.998471999989519, 37.504038000469407 ], [ -121.997571999473536, 37.50313800033453 ], [ -121.994285999764585, 37.499938000753822 ], [ -121.993771999708045, 37.499438000638683 ], [ -121.994327999662687, 37.499412000307061 ], [ -121.995213000007226, 37.499801000998566 ], [ -121.995662000505959, 37.499938001033051 ], [ -121.996310999419364, 37.50013600109375 ], [ -121.99717200045292, 37.500438000435558 ], [ -121.997789999692898, 37.499938001097739 ], [ -121.998554000255055, 37.499320001096599 ], [ -121.999332000213528, 37.498038000427421 ], [ -121.999973000029428, 37.496734001083595 ], [ -122.000472000222516, 37.494938000645149 ], [ -122.005374999586024, 37.495261000561968 ], [ -122.005404999532246, 37.494872000358491 ], [ -122.005604000024107, 37.494727001074686 ], [ -122.006106999386958, 37.49491800108261 ], [ -122.006271999929297, 37.494938000854489 ], [ -122.005771999544891, 37.495238000321585 ], [ -122.008371999556218, 37.497838000457584 ], [ -122.01147200026621, 37.496938000420926 ], [ -122.012409999877846, 37.499938000590724 ], [ -122.012472000499415, 37.500138000774029 ], [ -122.013972000295709, 37.499938000396732 ], [ -122.015571999530948, 37.501938000771695 ], [ -122.012371999648337, 37.504038000611054 ], [ -122.012672000022008, 37.506838000868136 ], [ -122.015001000341286, 37.509219000270704 ], [ -122.013971999412107, 37.512337000730021 ], [ -122.012371999660459, 37.515737000679117 ], [ -122.020972000295842, 37.519637000647805 ], [ -122.022494999574533, 37.520399000434359 ], [ -122.022572000139419, 37.520437000548156 ], [ -122.026172000175436, 37.522137000470224 ], [ -122.030271999472305, 37.523937000234703 ], [ -122.029271999433746, 37.525137001080871 ], [ -122.026571999781154, 37.528237000577775 ], [ -122.026071999726938, 37.528837000551789 ], [ -122.024471999936026, 37.530637001113988 ], [ -122.024071999657352, 37.531037000602659 ], [ -122.023371999425947, 37.532037000547788 ], [ -122.023072000173812, 37.532437000580913 ], [ -122.022171999920843, 37.533637000322287 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 730, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.872366999535714, 37.701636000989033 ], [ -121.872366999771131, 37.701329000416216 ], [ -121.875201999968795, 37.701409000270175 ], [ -121.876844000120016, 37.701456000753673 ], [ -121.87886700044703, 37.70142900072787 ], [ -121.879266999822349, 37.701429001131757 ], [ -121.880467000327712, 37.701429000529671 ], [ -121.888238999957267, 37.701549000658893 ], [ -121.893668000134852, 37.701629000436469 ], [ -121.897859999725441, 37.701534000555917 ], [ -121.898068000330369, 37.701529000291067 ], [ -121.898367999613711, 37.701786000945766 ], [ -121.898767999589595, 37.702129000788403 ], [ -121.899381000409292, 37.702565000465469 ], [ -121.903268000314924, 37.705329001085083 ], [ -121.903863999435274, 37.705798000501389 ], [ -121.904768000245866, 37.706429000818567 ], [ -121.906967999563676, 37.708029000850296 ], [ -121.907456999819701, 37.708385000837474 ], [ -121.908563999400656, 37.709190001088146 ], [ -121.909168000053526, 37.709629000560291 ], [ -121.910467999480289, 37.710629000433443 ], [ -121.91046800050114, 37.710929000311772 ], [ -121.910457999717906, 37.710981000815288 ], [ -121.910441999460318, 37.711063000384051 ], [ -121.910393999979974, 37.711302000542091 ], [ -121.910368000205594, 37.711429000258292 ], [ -121.910367999898511, 37.712629000376339 ], [ -121.910367999863084, 37.715347001070434 ], [ -121.910367999449008, 37.716029000784879 ], [ -121.91036799949832, 37.716229001121711 ], [ -121.910365000004646, 37.71633200100311 ], [ -121.91029000027136, 37.719037000538265 ], [ -121.910275999594873, 37.719541000510915 ], [ -121.91026799972613, 37.719829000995148 ], [ -121.910267999822238, 37.721929001072738 ], [ -121.909758999962477, 37.722951000431067 ], [ -121.909485000165873, 37.723623000268788 ], [ -121.909447999537349, 37.723719000561466 ], [ -121.909225000319523, 37.724302000354491 ], [ -121.909167999472785, 37.724529001057476 ], [ -121.909256000169719, 37.72478300058772 ], [ -121.909335000145987, 37.724975000793648 ], [ -121.909377999943729, 37.725080000648951 ], [ -121.909514999904573, 37.725448000623906 ], [ -121.909575999893207, 37.725613000908261 ], [ -121.909600999966415, 37.72567600075886 ], [ -121.909758999945382, 37.726079000726955 ], [ -121.909968000507106, 37.726428000796531 ], [ -121.91023999986615, 37.726972000318909 ], [ -121.910268000502981, 37.727028000398299 ], [ -121.910916000187299, 37.728163000729694 ], [ -121.911068000167035, 37.728428000925014 ], [ -121.91100699976829, 37.728597000743555 ], [ -121.910440999818931, 37.730162000805166 ], [ -121.910399999632872, 37.730275000495816 ], [ -121.910267999601857, 37.730428000860584 ], [ -121.90986799976271, 37.730528000966224 ], [ -121.909439999841126, 37.730639000463512 ], [ -121.904468000056113, 37.73192800107163 ], [ -121.895268000274669, 37.734128000876424 ], [ -121.883367000431619, 37.736928001048682 ], [ -121.881566999446349, 37.737328001101382 ], [ -121.881667000226045, 37.736928000814991 ], [ -121.881767000423309, 37.736428000814108 ], [ -121.87431200005922, 37.731350000392915 ], [ -121.872866999945387, 37.729328000952506 ], [ -121.872847000283898, 37.729184000299952 ], [ -121.87301499993778, 37.729130000860224 ], [ -121.873274999871754, 37.729115000586987 ], [ -121.87351900051614, 37.729123000911166 ], [ -121.873666999750483, 37.729128000544648 ], [ -121.873731999577274, 37.729001000239712 ], [ -121.873731999576052, 37.728817000604202 ], [ -121.873595000098589, 37.728695000990896 ], [ -121.873519000040474, 37.728619000970795 ], [ -121.873472999885294, 37.728520001055308 ], [ -121.873396999713208, 37.728428000398338 ], [ -121.873335999994268, 37.728322000970131 ], [ -121.873366000340937, 37.728215000256093 ], [ -121.87353400002479, 37.728123000867221 ], [ -121.873640999477502, 37.728077000496626 ], [ -121.873640999483399, 37.727902001092737 ], [ -121.87348800035717, 37.727818000865028 ], [ -121.873319999997435, 37.727726000528804 ], [ -121.87324399957356, 37.727688000411575 ], [ -121.873092000064574, 37.727536000769675 ], [ -121.873060999430521, 37.727360001073116 ], [ -121.873121999672108, 37.727177000974613 ], [ -121.873152999751227, 37.726948000734808 ], [ -121.873136999775639, 37.726765000837048 ], [ -121.873153000067333, 37.726597000544515 ], [ -121.873122000194115, 37.726445000336525 ], [ -121.872999999727185, 37.726330000405383 ], [ -121.872877999873111, 37.726262000709028 ], [ -121.872740999881017, 37.726170000351445 ], [ -121.872680000320003, 37.726048000903255 ], [ -121.872680000152371, 37.725926000782749 ], [ -121.872755999984136, 37.725461000621074 ], [ -121.872755999898942, 37.725224000658223 ], [ -121.872679999664655, 37.725056001115377 ], [ -121.872588000250502, 37.724919000616715 ], [ -121.872495999545407, 37.724797001069803 ], [ -121.872390000331833, 37.724675000931754 ], [ -121.872175999716433, 37.72447600054727 ], [ -121.872053999486965, 37.724377001099256 ], [ -121.871946999579222, 37.724247001069308 ], [ -121.871901000156825, 37.724171000476076 ], [ -121.871947999614662, 37.72320100093679 ], [ -121.871424999904193, 37.723201000598458 ], [ -121.871426999677482, 37.723149000999683 ], [ -121.871484000088131, 37.721912000484771 ], [ -121.871543000436745, 37.720646000940675 ], [ -121.871623999803532, 37.718893001123504 ], [ -121.871759000467989, 37.715973000267013 ], [ -121.871801000425506, 37.715050000722933 ], [ -121.871827999633041, 37.714465000536414 ], [ -121.871834999933924, 37.714328000331967 ], [ -121.871838000471655, 37.714255000265972 ], [ -121.871854999406011, 37.713891000528953 ], [ -121.871867000224952, 37.713629000546689 ], [ -121.871872999547747, 37.713391000342334 ], [ -121.871885999412115, 37.712894000423091 ], [ -121.871895000276311, 37.712566000884507 ], [ -121.871904000309939, 37.712237000887555 ], [ -121.871966999668942, 37.709829000974345 ], [ -121.87207799959485, 37.708411000459755 ], [ -121.872175999420534, 37.70716600041726 ], [ -121.87226300041543, 37.706050001099051 ], [ -121.872322999503652, 37.705287000570074 ], [ -121.872366999795545, 37.704729000529795 ], [ -121.872435000365755, 37.703376001033284 ], [ -121.872430999469245, 37.703314000807786 ], [ -121.872433999579059, 37.703191000557453 ], [ -121.872446000391136, 37.702616000526781 ], [ -121.872448000331204, 37.702537000747604 ], [ -121.872419000298237, 37.702250001018989 ], [ -121.872366999442278, 37.701729000736542 ], [ -121.872366999535714, 37.701636000989033 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 732, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.927218999952331, 37.72127900049864 ], [ -121.927168999765811, 37.722129000657759 ], [ -121.927047000083718, 37.722478000955078 ], [ -121.926469000399734, 37.724129001076797 ], [ -121.926969000016996, 37.724629001096879 ], [ -121.929269000161256, 37.726228000489876 ], [ -121.926668999761816, 37.726828000853899 ], [ -121.925968999449466, 37.726928000691146 ], [ -121.917015000240482, 37.716623000659808 ], [ -121.916538999881794, 37.716025000362031 ], [ -121.916262999616123, 37.715692000847454 ], [ -121.916195000201583, 37.715666000714293 ], [ -121.914368000041421, 37.714129000280685 ], [ -121.911643000397447, 37.711691001034346 ], [ -121.911372000456268, 37.711448000585619 ], [ -121.911033000368391, 37.711145000545869 ], [ -121.910567999668487, 37.710729001003131 ], [ -121.910467999480289, 37.710629000433443 ], [ -121.909168000053526, 37.709629000560291 ], [ -121.908563999400656, 37.709190001088146 ], [ -121.907456999819701, 37.708385000837474 ], [ -121.906967999563676, 37.708029000850296 ], [ -121.904768000245866, 37.706429000818567 ], [ -121.903863999435274, 37.705798000501389 ], [ -121.903268000314924, 37.705329001085083 ], [ -121.899381000409292, 37.702565000465469 ], [ -121.898767999589595, 37.702129000788403 ], [ -121.898367999613711, 37.701786000945766 ], [ -121.898068000330369, 37.701529000291067 ], [ -121.903647999973998, 37.701678001081113 ], [ -121.903785000422616, 37.701677000988219 ], [ -121.904760000036759, 37.701666000328558 ], [ -121.907068000328593, 37.701729000783672 ], [ -121.90715799986576, 37.701726000928581 ], [ -121.910104000023253, 37.701642000723744 ], [ -121.910971000224947, 37.70164000060106 ], [ -121.919069000347733, 37.701929001029789 ], [ -121.919968999885427, 37.701929001107146 ], [ -121.920520000000835, 37.70182100049 ], [ -121.922416000443349, 37.701301000458201 ], [ -121.922743999953269, 37.701222000653388 ], [ -121.922843000372424, 37.701470000674938 ], [ -121.922926999689622, 37.701702000772002 ], [ -121.923014000394048, 37.70194400105175 ], [ -121.923114000179638, 37.702214000657939 ], [ -121.923156999874493, 37.702350000469778 ], [ -121.923400000368261, 37.702893000339436 ], [ -121.923918999726723, 37.703849000364769 ], [ -121.925368999592393, 37.705629000921981 ], [ -121.923868999955474, 37.706029000638374 ], [ -121.922869000425393, 37.706329001035982 ], [ -121.925668999591892, 37.708529000771655 ], [ -121.925773000471565, 37.708581000467859 ], [ -121.925869000002692, 37.708629001134703 ], [ -121.926668999988308, 37.709729000299689 ], [ -121.927769000042673, 37.711229000741014 ], [ -121.928369000140265, 37.713029000404632 ], [ -121.927668999534816, 37.715529000670948 ], [ -121.927369000162486, 37.718729000939611 ], [ -121.927218999952331, 37.72127900049864 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 734, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.958556000396001, 37.698444000673945 ], [ -121.95906999968129, 37.698330000843384 ], [ -121.963469999667083, 37.697230000746359 ], [ -121.970465999617574, 37.697659000991571 ], [ -121.977646999471801, 37.698100000893568 ], [ -121.979770999916113, 37.698230000267998 ], [ -121.983261999616062, 37.698928000942509 ], [ -121.988669999847559, 37.700010001078297 ], [ -121.989271000295375, 37.700130001000325 ], [ -121.995070999447449, 37.70263000067267 ], [ -122.001970999462202, 37.703130000418909 ], [ -121.991771000491156, 37.711929000298625 ], [ -121.991170999491558, 37.712529000336573 ], [ -121.983370999506846, 37.71932900105223 ], [ -121.977937000086001, 37.724004000413323 ], [ -121.974769999826705, 37.726729000375833 ], [ -121.97246999984381, 37.728528000767 ], [ -121.960769999465839, 37.718629000434674 ], [ -121.96064599955956, 37.718657001052669 ], [ -121.955474999510486, 37.719811000536481 ], [ -121.950668999880406, 37.720885000624676 ], [ -121.950469999992848, 37.720929000395181 ], [ -121.94996999950979, 37.721029000541932 ], [ -121.94921900007607, 37.721230001121839 ], [ -121.944368999926127, 37.722529000419762 ], [ -121.943351999614976, 37.722820000562535 ], [ -121.942969000508995, 37.722929000507058 ], [ -121.942468999903511, 37.721729000384499 ], [ -121.940868999939951, 37.717729000416739 ], [ -121.940231999683803, 37.715692000685152 ], [ -121.940046999665441, 37.715099000839395 ], [ -121.939868999424263, 37.714529000656718 ], [ -121.939632999464649, 37.713628000770044 ], [ -121.938768999874654, 37.710329001033806 ], [ -121.938375999979073, 37.709149000298702 ], [ -121.938357000149352, 37.709093000271437 ], [ -121.937569000510948, 37.706729000635079 ], [ -121.936635000505277, 37.703660000612103 ], [ -121.936368000192985, 37.702783000655963 ], [ -121.936168999749697, 37.702129000313136 ], [ -121.935691000397753, 37.700606000360402 ], [ -121.935514000020476, 37.699954000834751 ], [ -121.935368999792175, 37.699530000706787 ], [ -121.935274999696105, 37.699059000467535 ], [ -121.935195000454215, 37.698542000909192 ], [ -121.935679999624128, 37.69852500027757 ], [ -121.937868999533222, 37.698530000881767 ], [ -121.940268999582912, 37.698530000414145 ], [ -121.94096900010662, 37.698530000653406 ], [ -121.945471000198069, 37.698461000892181 ], [ -121.947470000176253, 37.698430000580906 ], [ -121.95491799942873, 37.698343000270647 ], [ -121.955971999973073, 37.698331000530139 ], [ -121.956070000044335, 37.698330000762702 ], [ -121.95626199980056, 37.69833000070232 ], [ -121.956444999957469, 37.698330000892234 ], [ -121.956574999588966, 37.698330000451371 ], [ -121.956806999578092, 37.698330001075078 ], [ -121.956984999726458, 37.698330000351874 ], [ -121.957270000260849, 37.698330001128049 ], [ -121.958087999548709, 37.698463000508852 ], [ -121.958556000396001, 37.698444000673945 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 735, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.871367000476866, 37.589033000930861 ], [ -121.87436699959224, 37.589633000860644 ], [ -121.879067999796192, 37.591533000973598 ], [ -121.882268000407052, 37.592833000523768 ], [ -121.882515999977556, 37.592798000641771 ], [ -121.883668000087752, 37.592633001078809 ], [ -121.884568000119714, 37.592533000473018 ], [ -121.888948000057241, 37.59313900069408 ], [ -121.88956800023108, 37.593233001075127 ], [ -121.891767999839843, 37.59353300069116 ], [ -121.896105000270794, 37.593902000713008 ], [ -121.896165999445316, 37.59399300051161 ], [ -121.896220000354049, 37.59407000058674 ], [ -121.896267999746442, 37.594133000355718 ], [ -121.896506999955321, 37.594263000406421 ], [ -121.897367999719165, 37.594733000400495 ], [ -121.898468000347563, 37.595333001066258 ], [ -121.89776799949027, 37.595733000712286 ], [ -121.89636799995192, 37.59733300063813 ], [ -121.897367999685017, 37.597433000937727 ], [ -121.896967999999561, 37.597733000326578 ], [ -121.90276800016035, 37.60063300032725 ], [ -121.902468000037345, 37.601233000348856 ], [ -121.904468000195365, 37.60213300100682 ], [ -121.904767999679194, 37.603733000695144 ], [ -121.908567999592265, 37.606433001052608 ], [ -121.909168999928269, 37.607733000854154 ], [ -121.909268999658394, 37.607933000747074 ], [ -121.911469000514998, 37.60863300023945 ], [ -121.916969000178739, 37.614633000622675 ], [ -121.92206899991605, 37.618633000426058 ], [ -121.923968999688171, 37.618933000314627 ], [ -121.925116000062417, 37.621902001128149 ], [ -121.925668999630346, 37.623332000749031 ], [ -121.927469000366571, 37.627632001099393 ], [ -121.927724999758368, 37.627926000748204 ], [ -121.932768999955243, 37.633732000571058 ], [ -121.935445000239326, 37.637746000785405 ], [ -121.935568999817676, 37.637932000903277 ], [ -121.938868999877286, 37.639732001087609 ], [ -121.939568999723491, 37.642132000667466 ], [ -121.942970000024516, 37.645432000293404 ], [ -121.943970000455295, 37.646432000309787 ], [ -121.948170000087359, 37.650531000393087 ], [ -121.949569999656177, 37.651931000303499 ], [ -121.951270000467346, 37.653531000918235 ], [ -121.951669999585235, 37.653731000461441 ], [ -121.952870000278665, 37.652831000253421 ], [ -121.961170000070823, 37.658831000922746 ], [ -121.967269999625955, 37.663031000626056 ], [ -121.967669999962055, 37.664331000510899 ], [ -121.967569999588264, 37.664731000889923 ], [ -121.967170000364845, 37.666731000743262 ], [ -121.963769999780553, 37.670631000404143 ], [ -121.97377000017083, 37.673931000723783 ], [ -121.978270999598237, 37.678131000720334 ], [ -121.982805000046653, 37.683245000963623 ], [ -121.986071000064584, 37.686930000836213 ], [ -121.999171000185356, 37.690230000591214 ], [ -122.001270999602312, 37.693330000567919 ], [ -122.003371000191962, 37.695930000492901 ], [ -122.012171999856037, 37.694530000443081 ], [ -122.012871999730066, 37.694630001117126 ], [ -122.023272000147742, 37.696030000595137 ], [ -122.021172000289454, 37.699330001026254 ], [ -122.021271999732747, 37.69993000090664 ], [ -122.021671999614, 37.700630000417313 ], [ -122.020572000290585, 37.70113000107817 ], [ -122.019876999889306, 37.701511000655941 ], [ -122.019071999861367, 37.701830000613889 ], [ -122.016471999578798, 37.702530000537919 ], [ -122.001970999462202, 37.703130000418909 ], [ -121.995070999447449, 37.70263000067267 ], [ -121.989271000295375, 37.700130001000325 ], [ -121.988669999847559, 37.700010001078297 ], [ -121.983261999616062, 37.698928000942509 ], [ -121.979770999916113, 37.698230000267998 ], [ -121.977646999471801, 37.698100000893568 ], [ -121.970465999617574, 37.697659000991571 ], [ -121.963469999667083, 37.697230000746359 ], [ -121.95906999968129, 37.698330000843384 ], [ -121.958556000396001, 37.698444000673945 ], [ -121.958087999548709, 37.698463000508852 ], [ -121.957270000260849, 37.698330001128049 ], [ -121.956984999726458, 37.698330000351874 ], [ -121.956806999578092, 37.698330001075078 ], [ -121.956574999588966, 37.698330000451371 ], [ -121.956444999957469, 37.698330000892234 ], [ -121.95626199980056, 37.69833000070232 ], [ -121.956070000044335, 37.698330000762702 ], [ -121.955971999973073, 37.698331000530139 ], [ -121.95491799942873, 37.698343000270647 ], [ -121.947470000176253, 37.698430000580906 ], [ -121.945471000198069, 37.698461000892181 ], [ -121.94096900010662, 37.698530000653406 ], [ -121.940268999582912, 37.698530000414145 ], [ -121.937868999533222, 37.698530000881767 ], [ -121.935679999624128, 37.69852500027757 ], [ -121.935195000454215, 37.698542000909192 ], [ -121.935151000329952, 37.698089000292704 ], [ -121.934818000347505, 37.69661900029147 ], [ -121.934739000062223, 37.696276001046968 ], [ -121.93456899950192, 37.695730000542994 ], [ -121.93306899995045, 37.692930000303832 ], [ -121.932069000109976, 37.691230000990821 ], [ -121.931468999649994, 37.690330000499458 ], [ -121.93056899976564, 37.688930000781085 ], [ -121.929968999720757, 37.687430000375237 ], [ -121.929400999940427, 37.685777000766677 ], [ -121.929021999537667, 37.684675001119381 ], [ -121.928868999846628, 37.684230000558266 ], [ -121.927889000225179, 37.683552000588108 ], [ -121.927783999899589, 37.683479000625276 ], [ -121.927568999823592, 37.683330000497513 ], [ -121.927328999614843, 37.683210000772107 ], [ -121.926368999730101, 37.682730000622506 ], [ -121.925410000282099, 37.682330001048179 ], [ -121.92516900032831, 37.682230000264155 ], [ -121.924669000366052, 37.681930000779822 ], [ -121.924313999681743, 37.681619000295846 ], [ -121.923279000430767, 37.680714000245423 ], [ -121.923069000478833, 37.680530000529274 ], [ -121.92286899946113, 37.680130000969896 ], [ -121.921929000199782, 37.677805000992905 ], [ -121.921559999477097, 37.676892000330675 ], [ -121.921204999580041, 37.676014000470083 ], [ -121.920969000070514, 37.675430000612188 ], [ -121.920169000456141, 37.673030000264745 ], [ -121.92006199955749, 37.672659001064524 ], [ -121.919393000176498, 37.670344000675705 ], [ -121.918869000033155, 37.668531000854216 ], [ -121.918268999799196, 37.667331000969533 ], [ -121.918116000165753, 37.667136001025625 ], [ -121.917684000360978, 37.666584001010108 ], [ -121.917403999754114, 37.666227000303664 ], [ -121.916794000165183, 37.665453000508059 ], [ -121.916469000096598, 37.665031000704829 ], [ -121.916314000257401, 37.664720000722156 ], [ -121.916169000367432, 37.66443100032874 ], [ -121.916096999902479, 37.664302000708311 ], [ -121.915721000302128, 37.663663000829317 ], [ -121.915646000236649, 37.663534000389518 ], [ -121.915468999575864, 37.663231000621181 ], [ -121.915211000189331, 37.662784001128543 ], [ -121.915131000313821, 37.662646000849151 ], [ -121.914894999632907, 37.66223600038834 ], [ -121.914600999536688, 37.661727000430851 ], [ -121.914313000319311, 37.661228000813495 ], [ -121.913969000128205, 37.660631001061915 ], [ -121.912709000465654, 37.659837000346201 ], [ -121.911691999915931, 37.659198000927056 ], [ -121.911267999546197, 37.658931000908261 ], [ -121.910468000273667, 37.658431000571454 ], [ -121.90949199994418, 37.65665600095452 ], [ -121.909367999718071, 37.656431001041 ], [ -121.908763999869237, 37.655072000307896 ], [ -121.908568000243037, 37.654631000847445 ], [ -121.908456999665489, 37.654475000364066 ], [ -121.908297999663361, 37.654252000747086 ], [ -121.908068000342809, 37.653931000435279 ], [ -121.906967999597001, 37.652031000690783 ], [ -121.906268000454432, 37.650731000287273 ], [ -121.90566800014075, 37.649831000807794 ], [ -121.905067999436696, 37.64853100053206 ], [ -121.904973999671967, 37.648434000516517 ], [ -121.904291000181772, 37.647731000553627 ], [ -121.901768000157901, 37.645131000621937 ], [ -121.8996920004722, 37.642968000675552 ], [ -121.899368000049989, 37.642632001050224 ], [ -121.898367999565266, 37.642132000406619 ], [ -121.897768000489179, 37.641832000669829 ], [ -121.896668000363732, 37.641232000872002 ], [ -121.895653000212093, 37.6404800005879 ], [ -121.894875000117622, 37.63990400027518 ], [ -121.891268000471356, 37.637232000694873 ], [ -121.890568000299083, 37.63753200037111 ], [ -121.888768000362447, 37.638032000500935 ], [ -121.886867999487535, 37.638632000443309 ], [ -121.886168000324275, 37.638932000781871 ], [ -121.88603300011647, 37.638967000743456 ], [ -121.885837000172714, 37.639059000494711 ], [ -121.88492899956114, 37.639482000479362 ], [ -121.884531999684626, 37.638116001083056 ], [ -121.884168000081971, 37.636532000745447 ], [ -121.879215999996518, 37.623539000902802 ], [ -121.872099999415909, 37.604868000445897 ], [ -121.871967000376671, 37.604633000774783 ], [ -121.871667000337581, 37.603733000902814 ], [ -121.871109999664455, 37.602227000459138 ], [ -121.871076999459902, 37.601759000721408 ], [ -121.87117599952775, 37.601421000833753 ], [ -121.871466999780623, 37.600933000399536 ], [ -121.874131999734317, 37.596973000888312 ], [ -121.874394999695511, 37.596608000865849 ], [ -121.87449299984722, 37.596166000828475 ], [ -121.874395000117076, 37.595776000726765 ], [ -121.872005000026277, 37.592593000621676 ], [ -121.871803000258112, 37.592359001128933 ], [ -121.870967000120586, 37.591533000482094 ], [ -121.870711000171454, 37.591025000579286 ], [ -121.870467000052258, 37.590333000343065 ], [ -121.870384000357518, 37.589692000820648 ], [ -121.870602000251083, 37.588865000305354 ], [ -121.871367000476866, 37.589033000930861 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 736, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.935151000329952, 37.698089000292704 ], [ -121.935195000454215, 37.698542000909192 ], [ -121.93455800048396, 37.698591001114245 ], [ -121.932798000375598, 37.698922001013841 ], [ -121.925776000435576, 37.700469001084244 ], [ -121.922743999953269, 37.701222000653388 ], [ -121.922609000368695, 37.700969001076693 ], [ -121.922514999700638, 37.700710000262816 ], [ -121.921599999516062, 37.698370000515759 ], [ -121.920469000234334, 37.695630000711738 ], [ -121.918468999729114, 37.690430000696992 ], [ -121.917268000469818, 37.687332000552679 ], [ -121.913467999911447, 37.677530001077734 ], [ -121.912968000077868, 37.676330000592415 ], [ -121.912337000299004, 37.674612000531525 ], [ -121.911168000455035, 37.671431000793604 ], [ -121.910869000170763, 37.670450000715945 ], [ -121.910630000161675, 37.669665000709614 ], [ -121.910560999706703, 37.669438000271946 ], [ -121.910467999891878, 37.669131000487489 ], [ -121.910362999848317, 37.668793000422816 ], [ -121.910212999693272, 37.66831100026679 ], [ -121.910171000021975, 37.668176000422399 ], [ -121.909782999693803, 37.666926000362665 ], [ -121.909592000279645, 37.666311000410907 ], [ -121.909331999741951, 37.665474001056509 ], [ -121.909267999523209, 37.665231001060612 ], [ -121.90876799959652, 37.6644310006346 ], [ -121.90872199982411, 37.664352000615217 ], [ -121.907831000046841, 37.662812000487762 ], [ -121.907668000401785, 37.66253100059285 ], [ -121.906967999927531, 37.661331000593243 ], [ -121.902988000144077, 37.657536000732435 ], [ -121.902009999524552, 37.656656001121839 ], [ -121.901878999831865, 37.656542000964301 ], [ -121.901767999537213, 37.656431000738039 ], [ -121.900468000267054, 37.655231000662276 ], [ -121.891767999655016, 37.647331000411207 ], [ -121.89156799975305, 37.64713100087387 ], [ -121.891267999595158, 37.646931000266072 ], [ -121.88846800034429, 37.644331000632477 ], [ -121.887672000287324, 37.643513000613403 ], [ -121.887169999637422, 37.643019000936164 ], [ -121.886203000041931, 37.641951000753856 ], [ -121.885683000520416, 37.641138000290219 ], [ -121.885068000025939, 37.639832000792182 ], [ -121.88492899956114, 37.639482000479362 ], [ -121.885837000172714, 37.639059000494711 ], [ -121.88603300011647, 37.638967000743456 ], [ -121.886168000324275, 37.638932000781871 ], [ -121.886867999487535, 37.638632000443309 ], [ -121.888768000362447, 37.638032000500935 ], [ -121.890568000299083, 37.63753200037111 ], [ -121.891268000471356, 37.637232000694873 ], [ -121.894875000117622, 37.63990400027518 ], [ -121.895653000212093, 37.6404800005879 ], [ -121.896668000363732, 37.641232000872002 ], [ -121.897768000489179, 37.641832000669829 ], [ -121.898367999565266, 37.642132000406619 ], [ -121.899368000049989, 37.642632001050224 ], [ -121.8996920004722, 37.642968000675552 ], [ -121.901768000157901, 37.645131000621937 ], [ -121.904291000181772, 37.647731000553627 ], [ -121.904973999671967, 37.648434000516517 ], [ -121.905067999436696, 37.64853100053206 ], [ -121.90566800014075, 37.649831000807794 ], [ -121.906268000454432, 37.650731000287273 ], [ -121.906967999597001, 37.652031000690783 ], [ -121.908068000342809, 37.653931000435279 ], [ -121.908297999663361, 37.654252000747086 ], [ -121.908456999665489, 37.654475000364066 ], [ -121.908568000243037, 37.654631000847445 ], [ -121.908763999869237, 37.655072000307896 ], [ -121.909367999718071, 37.656431001041 ], [ -121.90949199994418, 37.65665600095452 ], [ -121.910468000273667, 37.658431000571454 ], [ -121.911267999546197, 37.658931000908261 ], [ -121.911691999915931, 37.659198000927056 ], [ -121.912709000465654, 37.659837000346201 ], [ -121.913969000128205, 37.660631001061915 ], [ -121.914313000319311, 37.661228000813495 ], [ -121.914600999536688, 37.661727000430851 ], [ -121.914894999632907, 37.66223600038834 ], [ -121.915131000313821, 37.662646000849151 ], [ -121.915211000189331, 37.662784001128543 ], [ -121.915468999575864, 37.663231000621181 ], [ -121.915646000236649, 37.663534000389518 ], [ -121.915721000302128, 37.663663000829317 ], [ -121.916096999902479, 37.664302000708311 ], [ -121.916169000367432, 37.66443100032874 ], [ -121.916314000257401, 37.664720000722156 ], [ -121.916469000096598, 37.665031000704829 ], [ -121.916794000165183, 37.665453000508059 ], [ -121.917403999754114, 37.666227000303664 ], [ -121.917684000360978, 37.666584001010108 ], [ -121.918116000165753, 37.667136001025625 ], [ -121.918268999799196, 37.667331000969533 ], [ -121.918869000033155, 37.668531000854216 ], [ -121.919393000176498, 37.670344000675705 ], [ -121.92006199955749, 37.672659001064524 ], [ -121.920169000456141, 37.673030000264745 ], [ -121.920969000070514, 37.675430000612188 ], [ -121.921204999580041, 37.676014000470083 ], [ -121.921559999477097, 37.676892000330675 ], [ -121.921929000199782, 37.677805000992905 ], [ -121.92286899946113, 37.680130000969896 ], [ -121.923069000478833, 37.680530000529274 ], [ -121.923279000430767, 37.680714000245423 ], [ -121.924313999681743, 37.681619000295846 ], [ -121.924669000366052, 37.681930000779822 ], [ -121.92516900032831, 37.682230000264155 ], [ -121.925410000282099, 37.682330001048179 ], [ -121.926368999730101, 37.682730000622506 ], [ -121.927328999614843, 37.683210000772107 ], [ -121.927568999823592, 37.683330000497513 ], [ -121.927783999899589, 37.683479000625276 ], [ -121.927889000225179, 37.683552000588108 ], [ -121.928868999846628, 37.684230000558266 ], [ -121.929021999537667, 37.684675001119381 ], [ -121.929400999940427, 37.685777000766677 ], [ -121.929968999720757, 37.687430000375237 ], [ -121.93056899976564, 37.688930000781085 ], [ -121.931468999649994, 37.690330000499458 ], [ -121.932069000109976, 37.691230000990821 ], [ -121.93306899995045, 37.692930000303832 ], [ -121.93456899950192, 37.695730000542994 ], [ -121.934739000062223, 37.696276001046968 ], [ -121.934818000347505, 37.69661900029147 ], [ -121.935151000329952, 37.698089000292704 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 740, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.873266999526038, 37.674030001094465 ], [ -121.873066999832318, 37.673530000824918 ], [ -121.872666999895515, 37.672030000891553 ], [ -121.872666999629317, 37.671130000238726 ], [ -121.872767000013994, 37.670730001101539 ], [ -121.87296699991235, 37.670130000962814 ], [ -121.8731669994756, 37.669430000691335 ], [ -121.873366999394378, 37.668530000527284 ], [ -121.873466999555177, 37.667930001103429 ], [ -121.873567000386714, 37.667230000880672 ], [ -121.873767000031975, 37.666431000748567 ], [ -121.873866999401727, 37.665831000732588 ], [ -121.874067000508234, 37.66493100054722 ], [ -121.874167000098836, 37.664531000607496 ], [ -121.876167000151582, 37.665531000994989 ], [ -121.876796000448309, 37.665632000535645 ], [ -121.878667000199528, 37.665931000939246 ], [ -121.88166800047884, 37.665331001029067 ], [ -121.883868000324696, 37.667331000567714 ], [ -121.884368000344239, 37.667731000742208 ], [ -121.885667999915853, 37.668630000836444 ], [ -121.886567999414666, 37.669130001097557 ], [ -121.887367999628125, 37.669630001114008 ], [ -121.888168000360054, 37.67013000024162 ], [ -121.889367999676807, 37.670930000872303 ], [ -121.890567999878286, 37.671630000347797 ], [ -121.891267999546585, 37.672030000525091 ], [ -121.891967999912211, 37.672430001081203 ], [ -121.892768000200206, 37.672930000698308 ], [ -121.893667999923693, 37.673530000950187 ], [ -121.894568000496164, 37.674130000682403 ], [ -121.895468000089991, 37.674630000959965 ], [ -121.89650499945121, 37.675261001022584 ], [ -121.897310999519206, 37.675752000521328 ], [ -121.897768000498331, 37.676030000352604 ], [ -121.896968000037958, 37.676630000842486 ], [ -121.894268000175771, 37.676630000605563 ], [ -121.890967999801902, 37.676630000853812 ], [ -121.889868000269772, 37.676630000542929 ], [ -121.888868000063894, 37.676630000278536 ], [ -121.888067999494112, 37.676630000985732 ], [ -121.885367999438856, 37.676630000600326 ], [ -121.880666999608806, 37.676530000858413 ], [ -121.876266999463226, 37.676530000615941 ], [ -121.875166999400307, 37.676530001032141 ], [ -121.8741669995525, 37.676530000453319 ], [ -121.873966999979501, 37.676030000931561 ], [ -121.873674999391596, 37.675212000724159 ], [ -121.873467000189152, 37.674630000640313 ], [ -121.873266999526038, 37.674030001094465 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 739, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.902988000144077, 37.657536000732435 ], [ -121.906967999927531, 37.661331000593243 ], [ -121.906559999860292, 37.661478000883278 ], [ -121.898667999511517, 37.664331000529273 ], [ -121.89746800002095, 37.664831001003819 ], [ -121.895767999520629, 37.665431000970287 ], [ -121.891467999785661, 37.667431000848609 ], [ -121.890590000476294, 37.667255000839347 ], [ -121.888968000401917, 37.666931000503112 ], [ -121.885667999843875, 37.66673100054193 ], [ -121.883868000324696, 37.667331000567714 ], [ -121.88166800047884, 37.665331001029067 ], [ -121.878667000199528, 37.665931000939246 ], [ -121.876796000448309, 37.665632000535645 ], [ -121.876167000151582, 37.665531000994989 ], [ -121.874167000098836, 37.664531000607496 ], [ -121.871851999466955, 37.664798000930581 ], [ -121.871613000246938, 37.664826000825308 ], [ -121.871567000398301, 37.664831000940382 ], [ -121.87076199984925, 37.665133000496368 ], [ -121.869967000261639, 37.665431000239224 ], [ -121.868866999673884, 37.665031000752357 ], [ -121.868066999956994, 37.66473100072303 ], [ -121.868567000164973, 37.664431000689071 ], [ -121.868766999633351, 37.66413100104139 ], [ -121.870167000083669, 37.662931000538606 ], [ -121.871267000505298, 37.661931000510172 ], [ -121.87046700011004, 37.661631000539252 ], [ -121.8720670002416, 37.660131000313662 ], [ -121.873167000311298, 37.659031000706634 ], [ -121.872466999654506, 37.658431001109264 ], [ -121.873266999452653, 37.657531000444699 ], [ -121.87416699964642, 37.656531000555795 ], [ -121.87506700028257, 37.657231000590428 ], [ -121.87586699972843, 37.65773100076872 ], [ -121.877467000209037, 37.656131000795042 ], [ -121.87846699954062, 37.655531000554952 ], [ -121.878894000248465, 37.654731000533857 ], [ -121.880067000279539, 37.652531000498279 ], [ -121.880366999467427, 37.650631000972581 ], [ -121.880362000087302, 37.650624000893828 ], [ -121.880967999710663, 37.648731000587013 ], [ -121.881102999804241, 37.648056000763269 ], [ -121.881203000164248, 37.647554000453447 ], [ -121.881411999508757, 37.64650900079544 ], [ -121.881467999863872, 37.646231000311857 ], [ -121.881567999783357, 37.644631001105203 ], [ -121.881658999535077, 37.643491000303513 ], [ -121.881767999535612, 37.64213100096363 ], [ -121.883201999404335, 37.640382000377528 ], [ -121.883537999973356, 37.640198000405405 ], [ -121.88446899946581, 37.639697000317518 ], [ -121.88492899956114, 37.639482000479362 ], [ -121.885068000025939, 37.639832000792182 ], [ -121.885683000520416, 37.641138000290219 ], [ -121.886203000041931, 37.641951000753856 ], [ -121.887169999637422, 37.643019000936164 ], [ -121.887672000287324, 37.643513000613403 ], [ -121.88846800034429, 37.644331000632477 ], [ -121.891267999595158, 37.646931000266072 ], [ -121.89156799975305, 37.64713100087387 ], [ -121.891767999655016, 37.647331000411207 ], [ -121.900468000267054, 37.655231000662276 ], [ -121.901767999537213, 37.656431000738039 ], [ -121.901878999831865, 37.656542000964301 ], [ -121.902009999524552, 37.656656001121839 ], [ -121.902988000144077, 37.657536000732435 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 744, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.865635000512953, 37.666677000674461 ], [ -121.863066999825165, 37.668430000934222 ], [ -121.862867000458323, 37.668630000757219 ], [ -121.862387000267802, 37.668910000711527 ], [ -121.861667000008353, 37.669330000515394 ], [ -121.861267000488994, 37.669430000605551 ], [ -121.860666999474688, 37.669530000616781 ], [ -121.859679999516516, 37.669705000608054 ], [ -121.857731000256621, 37.670051000686051 ], [ -121.857731000315212, 37.669997000506847 ], [ -121.857458999886063, 37.669062000442942 ], [ -121.857326999436808, 37.66858600047432 ], [ -121.856666999555969, 37.666730000316385 ], [ -121.856166999634226, 37.665730000380655 ], [ -121.856066999828599, 37.665430000507371 ], [ -121.855767000299821, 37.664730000494188 ], [ -121.85603799996332, 37.664405000353867 ], [ -121.856266999556993, 37.664131000365131 ], [ -121.856566999929328, 37.66373100036008 ], [ -121.85686699986698, 37.662731000609014 ], [ -121.857567000281804, 37.661031000690507 ], [ -121.858027000134484, 37.659830000539053 ], [ -121.858511999549535, 37.658564000756108 ], [ -121.858979999487616, 37.657342000404093 ], [ -121.859367000167239, 37.656331000437255 ], [ -121.860169999604864, 37.655557000605853 ], [ -121.861855999737955, 37.653930000976104 ], [ -121.86210899957031, 37.653573000886155 ], [ -121.862273999465657, 37.653235000708968 ], [ -121.863184000360036, 37.651423000717188 ], [ -121.863953000348289, 37.65104600063048 ], [ -121.864227999561649, 37.650829000727889 ], [ -121.864255999818212, 37.650834000349242 ], [ -121.864776999827825, 37.65077700100646 ], [ -121.865165000349606, 37.650809001095951 ], [ -121.866052999906259, 37.650868000344367 ], [ -121.866837000140436, 37.650931000573031 ], [ -121.868135999744339, 37.651333000307915 ], [ -121.868412999640739, 37.65146300067488 ], [ -121.868809000425273, 37.651694001048661 ], [ -121.86936699991918, 37.652031000907328 ], [ -121.870967000100336, 37.652931000778629 ], [ -121.871667000201171, 37.653231000503581 ], [ -121.872466000026947, 37.653661000328121 ], [ -121.872966999626755, 37.653931000941959 ], [ -121.877467000209037, 37.656131000795042 ], [ -121.87586699972843, 37.65773100076872 ], [ -121.87506700028257, 37.657231000590428 ], [ -121.87416699964642, 37.656531000555795 ], [ -121.873266999452653, 37.657531000444699 ], [ -121.872466999654506, 37.658431001109264 ], [ -121.873167000311298, 37.659031000706634 ], [ -121.8720670002416, 37.660131000313662 ], [ -121.87046700011004, 37.661631000539252 ], [ -121.871267000505298, 37.661931000510172 ], [ -121.870167000083669, 37.662931000538606 ], [ -121.868766999633351, 37.66413100104139 ], [ -121.868567000164973, 37.664431000689071 ], [ -121.868066999956994, 37.66473100072303 ], [ -121.867166999765729, 37.665631000471642 ], [ -121.865635000512953, 37.666677000674461 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 715, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.686458000469429, 37.492209000727208 ], [ -121.686457999655275, 37.4923240010393 ], [ -121.686610999525513, 37.492430000570707 ], [ -121.686748000012884, 37.492583000881851 ], [ -121.686884999596685, 37.492697000618925 ], [ -121.687084000202503, 37.49287300069421 ], [ -121.687357999705839, 37.493086000609651 ], [ -121.687495999893372, 37.493308000721122 ], [ -121.687709000212251, 37.493521000691267 ], [ -121.687846999448567, 37.493697000436669 ], [ -121.687923000196037, 37.493910000352777 ], [ -121.688060000208296, 37.493971001058668 ], [ -121.687983999954582, 37.494193000244145 ], [ -121.687983999923134, 37.494574001097831 ], [ -121.688120999798059, 37.494803000607256 ], [ -121.688197000412003, 37.495024000311417 ], [ -121.688258000438736, 37.495185001102854 ], [ -121.688471999719013, 37.495505000267002 ], [ -121.688746999667515, 37.49584100024385 ], [ -121.688747000353345, 37.496062000375183 ], [ -121.688822999589831, 37.496298000969823 ], [ -121.688746999904652, 37.496405000297884 ], [ -121.68860900014748, 37.4965120007273 ], [ -121.68847200034773, 37.496627000363858 ], [ -121.688335000317281, 37.496733000298988 ], [ -121.68825800051151, 37.496909000241345 ], [ -121.688196999787323, 37.49706900028503 ], [ -121.688257999618742, 37.497229000585477 ], [ -121.688334999446198, 37.497435000895344 ], [ -121.688532999539774, 37.497603000942313 ], [ -121.688686000165674, 37.497840000731955 ], [ -121.688822999535788, 37.498000000840968 ], [ -121.688959999485263, 37.49816000079791 ], [ -121.689020999657814, 37.498541000741426 ], [ -121.6890980002471, 37.498763000515268 ], [ -121.689159000028184, 37.499037001013889 ], [ -121.68929599949999, 37.499419001035122 ], [ -121.689295999991245, 37.499579000721745 ], [ -121.689378000066171, 37.499934000969603 ], [ -121.689538999876078, 37.500356001022638 ], [ -121.691182999934284, 37.501613000728568 ], [ -121.691263000514226, 37.501720000550563 ], [ -121.691320000384991, 37.50197200067435 ], [ -121.691177000215419, 37.502819000950417 ], [ -121.690831999482484, 37.502910000896193 ], [ -121.690688000330127, 37.502704000461755 ], [ -121.690658999712753, 37.502338000688269 ], [ -121.690457999589952, 37.502224000555707 ], [ -121.690229000406958, 37.502315000515793 ], [ -121.690171000147657, 37.50291000076421 ], [ -121.689998999810655, 37.503299000693453 ], [ -121.6895960002268, 37.503643000609685 ], [ -121.688646999865938, 37.503986000728119 ], [ -121.688388999408502, 37.504330001031299 ], [ -121.688245000303212, 37.504833000594395 ], [ -121.687211000475784, 37.506413000306608 ], [ -121.686692999513625, 37.507008000907945 ], [ -121.686923000477876, 37.5075800010748 ], [ -121.687382999555425, 37.507832000468078 ], [ -121.687843000222259, 37.507901000996107 ], [ -121.688648000080548, 37.50787800068926 ], [ -121.689079000317804, 37.507718000993698 ], [ -121.689366999618642, 37.507740000366177 ], [ -121.690314999419016, 37.508542000476105 ], [ -121.69077499948564, 37.508679001111176 ], [ -121.691664999646463, 37.5085640007918 ], [ -121.692183000301, 37.508015000685894 ], [ -121.692499000022821, 37.507923000899119 ], [ -121.693274000468179, 37.508107000882724 ], [ -121.695256999729281, 37.509114000721141 ], [ -121.695457999563615, 37.509480001026631 ], [ -121.696205000217489, 37.509915000406231 ], [ -121.698590999858396, 37.511975000940375 ], [ -121.699329999495475, 37.512143001043611 ], [ -121.699595999675481, 37.51220400043416 ], [ -121.700085000104437, 37.512547000720446 ], [ -121.701262999817715, 37.512410000296178 ], [ -121.702009999985009, 37.512501001132215 ], [ -121.702470000422736, 37.512844000962126 ], [ -121.70249899955634, 37.513050000833012 ], [ -121.702298000451606, 37.516118001044859 ], [ -121.702556999779006, 37.516805000446688 ], [ -121.702500000377157, 37.517354000971757 ], [ -121.701983000517842, 37.518544000619016 ], [ -121.701953999397816, 37.519391000834112 ], [ -121.702039999984791, 37.519712000744597 ], [ -121.701954000464411, 37.520101000753201 ], [ -121.701092000207069, 37.521795000700784 ], [ -121.701091999955864, 37.522596000310465 ], [ -121.701321999893025, 37.523604000843719 ], [ -121.701379999570577, 37.524473000549115 ], [ -121.701552999750163, 37.524771000683394 ], [ -121.702500999816621, 37.525641000424336 ], [ -121.702500999605405, 37.525824000887027 ], [ -121.701868999580313, 37.526419000472188 ], [ -121.700719000165421, 37.526465000301194 ], [ -121.700431999423344, 37.526717000720616 ], [ -121.700087000467462, 37.527198001118222 ], [ -121.699599000500783, 37.527701001054623 ], [ -121.699569999635983, 37.52797600057761 ], [ -121.699378999647394, 37.528154000502809 ], [ -121.699224999828857, 37.528297000961309 ], [ -121.697817000501459, 37.529234000295681 ], [ -121.697758999854898, 37.52937200066421 ], [ -121.696495000292373, 37.529326000977839 ], [ -121.694855999736674, 37.528502000544108 ], [ -121.6944560002418, 37.52819000058075 ], [ -121.693476999570677, 37.527426000797611 ], [ -121.693131999499215, 37.526945000703371 ], [ -121.692987999886356, 37.526488000900365 ], [ -121.692471000402548, 37.526008000752952 ], [ -121.69212600044095, 37.525893000953289 ], [ -121.691349999826627, 37.525825000597031 ], [ -121.691034000503379, 37.525664001131503 ], [ -121.690171000320603, 37.525596001127347 ], [ -121.688331999799203, 37.524703000363871 ], [ -121.687670999703201, 37.524657000331644 ], [ -121.687239999525275, 37.525526000440358 ], [ -121.686894999976559, 37.525938000501426 ], [ -121.686147999949824, 37.526465001070754 ], [ -121.685774000266761, 37.526579000612692 ], [ -121.685312999908888, 37.526579000931598 ], [ -121.684997000400926, 37.526350000277418 ], [ -121.684710000217734, 37.52637300103342 ], [ -121.684451000390851, 37.526831000461279 ], [ -121.684220999657171, 37.526831001117323 ], [ -121.683819000199733, 37.526556001027238 ], [ -121.683473999932048, 37.526648000276026 ], [ -121.683359000059141, 37.526808000399775 ], [ -121.682984999476773, 37.526739000892931 ], [ -121.68275500008717, 37.526556000448558 ], [ -121.682234999653616, 37.526418000310997 ], [ -121.681633999989941, 37.526258000452493 ], [ -121.681346999880716, 37.526350001096603 ], [ -121.681317999987314, 37.526556000239573 ], [ -121.681577000470867, 37.527082000775472 ], [ -121.682235000366347, 37.52788200062782 ], [ -121.683214999712561, 37.529074000706586 ], [ -121.683875999779673, 37.529555000662455 ], [ -121.684709000423354, 37.529875000270899 ], [ -121.684881999558385, 37.530081000496381 ], [ -121.684938999663899, 37.531409000802192 ], [ -121.685543999937593, 37.532348000606092 ], [ -121.685745000498457, 37.532622000692719 ], [ -121.686837000509598, 37.533446000686247 ], [ -121.687613000158606, 37.53452200088919 ], [ -121.687756999972237, 37.535163000571352 ], [ -121.688044000018124, 37.535392000621499 ], [ -121.688360999762295, 37.535507000658868 ], [ -121.688591000419564, 37.535736000702762 ], [ -121.688619000158269, 37.536674000473688 ], [ -121.689196000432517, 37.537855001066617 ], [ -121.689423999554876, 37.538322000539104 ], [ -121.689683000271472, 37.538643000521873 ], [ -121.690804000507327, 37.539467001057702 ], [ -121.691838999410564, 37.541413000386243 ], [ -121.691868000314258, 37.541825000947078 ], [ -121.692213000234688, 37.542603001046437 ], [ -121.692930999572766, 37.543290000658345 ], [ -121.693190000267606, 37.543793000366726 ], [ -121.693333999667558, 37.544411000655458 ], [ -121.693850999713192, 37.545258001046633 ], [ -121.693822999578018, 37.545556000467755 ], [ -121.69362100031455, 37.545854000740626 ], [ -121.693678999752279, 37.546060000720992 ], [ -121.693979000251915, 37.546425001031345 ], [ -121.694713999478111, 37.547319000649075 ], [ -121.694713999428288, 37.547570000606228 ], [ -121.694914999731139, 37.547685000407228 ], [ -121.695115999893787, 37.548692000643946 ], [ -121.695663000191658, 37.549676000980845 ], [ -121.697962999577115, 37.551141000326275 ], [ -121.698251000392403, 37.551462000271286 ], [ -121.698596000054437, 37.552057000669294 ], [ -121.699457999642888, 37.552492001063136 ], [ -121.700693999578291, 37.552652000634581 ], [ -121.700809000076418, 37.552743000440699 ], [ -121.700752000388704, 37.552995000787256 ], [ -121.700235000338608, 37.553499000338817 ], [ -121.700320999666403, 37.553751001082055 ], [ -121.700550999960939, 37.553980000387654 ], [ -121.700694999828514, 37.554437000522739 ], [ -121.700695000435545, 37.55578800040626 ], [ -121.700783000187002, 37.555938000344852 ], [ -121.700896000364381, 37.556131000467062 ], [ -121.701500000200539, 37.556818000362867 ], [ -121.702248000133125, 37.557390001014127 ], [ -121.703110000163932, 37.557848000453184 ], [ -121.704835999717972, 37.558351000746079 ], [ -121.705325000185411, 37.558695000446747 ], [ -121.706591000353114, 37.558832000976992 ], [ -121.707050999974228, 37.558992000288477 ], [ -121.707712000236128, 37.559450000806642 ], [ -121.708143999766037, 37.560548001031172 ], [ -121.708920000487964, 37.561166000706805 ], [ -121.709792999599742, 37.562218000292631 ], [ -121.709927000159112, 37.562379000850932 ], [ -121.71024399950764, 37.562952000339976 ], [ -121.710474000349606, 37.563158000928794 ], [ -121.71113500035986, 37.563409000254275 ], [ -121.711250000185075, 37.563570000956581 ], [ -121.711164000404963, 37.563913000864332 ], [ -121.711393999903692, 37.564119000556268 ], [ -121.711480999969766, 37.564531000610074 ], [ -121.711624000060908, 37.56460000107311 ], [ -121.712343000381154, 37.564416000670477 ], [ -121.712832000294583, 37.564073000253458 ], [ -121.713607999748106, 37.564164000234122 ], [ -121.713954000374571, 37.564508000390219 ], [ -121.714270000239409, 37.565057001051933 ], [ -121.71501799982596, 37.565904001071075 ], [ -121.715046999543347, 37.56638400096935 ], [ -121.715161999667302, 37.566499001053188 ], [ -121.716426999548801, 37.566705000351298 ], [ -121.717319000262833, 37.567208000379296 ], [ -121.717922999450678, 37.567437000710868 ], [ -121.718959000219655, 37.56851300046813 ], [ -121.719706000138103, 37.568810000803936 ], [ -121.719937000124418, 37.569062000670506 ], [ -121.71993699998373, 37.570206000778221 ], [ -121.719620999437055, 37.570733000608854 ], [ -121.719793999543668, 37.571168001016538 ], [ -121.719736000438004, 37.571420001128686 ], [ -121.719305000348754, 37.571876000259081 ], [ -121.719326999464926, 37.572618000330969 ], [ -121.719363000141129, 37.573822000307111 ], [ -121.719880999563856, 37.574349000821883 ], [ -121.720024999583941, 37.574600000951961 ], [ -121.721060999955384, 37.575241000724453 ], [ -121.72097399974588, 37.575630000536258 ], [ -121.721089999853007, 37.576500000474077 ], [ -121.722183000033709, 37.577438000440985 ], [ -121.722816000104928, 37.577369000444747 ], [ -121.724138999981236, 37.57698000031499 ], [ -121.725087999995424, 37.577003001020607 ], [ -121.725433000280105, 37.577094000587806 ], [ -121.726929000046155, 37.578078000400588 ], [ -121.727734999425877, 37.578833000473878 ], [ -121.727878999909947, 37.579634000421343 ], [ -121.728080000300352, 37.579978000694354 ], [ -121.728482999891298, 37.580344000993712 ], [ -121.729489999840894, 37.580618000594534 ], [ -121.730208999853161, 37.580709000932053 ], [ -121.731331999595568, 37.581396000312637 ], [ -121.731619999671437, 37.582082000374619 ], [ -121.731764000159657, 37.582700000700562 ], [ -121.731926999781791, 37.582823000889391 ], [ -121.732073000318522, 37.582933000891025 ], [ -121.732311000008181, 37.583112000777561 ], [ -121.73257099986634, 37.584417000341432 ], [ -121.732771999933576, 37.584554000802598 ], [ -121.734008999731955, 37.58450800070014 ], [ -121.735187999803131, 37.584782000646349 ], [ -121.736050999413962, 37.584690000680396 ], [ -121.736799000479166, 37.584507000714709 ], [ -121.737259000071006, 37.584553000762916 ], [ -121.73740299961527, 37.584690000910356 ], [ -121.73754700035758, 37.585285000422388 ], [ -121.737805999795597, 37.585537000885182 ], [ -121.738871000350727, 37.586292001076309 ], [ -121.739245000412552, 37.586658001097852 ], [ -121.739647999874649, 37.586818000944866 ], [ -121.740337999407927, 37.586703000257749 ], [ -121.741401999719912, 37.586268000654705 ], [ -121.741977999474614, 37.586268000424269 ], [ -121.742581999548378, 37.586519000578512 ], [ -121.74243799964114, 37.587114000691464 ], [ -121.74246799958965, 37.587481000505221 ], [ -121.742640000031088, 37.587709001013963 ], [ -121.743301999835921, 37.588213000275253 ], [ -121.743935000317521, 37.588533001048276 ], [ -121.745373999455865, 37.588921000292338 ], [ -121.74551799999351, 37.589356000934778 ], [ -121.745977999785055, 37.589493000932592 ], [ -121.746612000479985, 37.590065000762173 ], [ -121.746842000041696, 37.59015700063788 ], [ -121.747705000211766, 37.590042000371021 ], [ -121.748855000401576, 37.590041000863437 ], [ -121.75009300030024, 37.590934000669613 ], [ -121.75000700034272, 37.591414000423434 ], [ -121.749373999493045, 37.59182700025066 ], [ -121.749186999471348, 37.592522000475896 ], [ -121.749115999444598, 37.592788000305383 ], [ -121.749260000089194, 37.593132000482242 ], [ -121.749231999890256, 37.593429001025029 ], [ -121.748599000060651, 37.593842000919189 ], [ -121.748398000516104, 37.594116000539266 ], [ -121.748513999587857, 37.594483000381899 ], [ -121.749462999841583, 37.594963000234991 ], [ -121.750326999779318, 37.595535000793753 ], [ -121.750617000140565, 37.595924000339799 ], [ -121.751063000159021, 37.596832000841736 ], [ -121.75153599999183, 37.597268000463202 ], [ -121.751672999893444, 37.597619000506107 ], [ -121.751886999845013, 37.598099000788075 ], [ -121.752191999406563, 37.598443001021806 ], [ -121.752467000090093, 37.59849600080998 ], [ -121.752862999396598, 37.598432000731478 ], [ -121.753138000520664, 37.59876300026469 ], [ -121.75380999998518, 37.599007000882693 ], [ -121.754785999810082, 37.599358001034631 ], [ -121.755163000503543, 37.599532000962284 ], [ -121.755763000009821, 37.599847000321802 ], [ -121.756311999990217, 37.600220001080778 ], [ -121.756494999458127, 37.600419000808039 ], [ -121.756463000076252, 37.600632000490023 ], [ -121.756174999553735, 37.600777000432132 ], [ -121.755533999517652, 37.600823000549191 ], [ -121.755060999573089, 37.600800000792368 ], [ -121.754190999923708, 37.600846001045483 ], [ -121.753047000032112, 37.601037000734394 ], [ -121.752237999902036, 37.601014000587931 ], [ -121.751689000228609, 37.600968000976877 ], [ -121.751262999484027, 37.601232000648736 ], [ -121.751916999477174, 37.601380000314315 ], [ -121.752603999652479, 37.601678000909814 ], [ -121.754007999401651, 37.601861000498829 ], [ -121.7574719994509, 37.602532000536151 ], [ -121.758692999413896, 37.602997000639803 ], [ -121.759135999720897, 37.603371000303753 ], [ -121.759960000439278, 37.603364000457503 ], [ -121.760433000026353, 37.603646000661321 ], [ -121.760738000114145, 37.603677001062948 ], [ -121.761120000058682, 37.603532000878353 ], [ -121.761913000462897, 37.603768000280041 ], [ -121.763302000077104, 37.603928000644828 ], [ -121.764857999680856, 37.604333000921216 ], [ -121.765574999953841, 37.604737000371344 ], [ -121.766963999714775, 37.604981000998073 ], [ -121.76842899954633, 37.60556900051531 ], [ -121.769069000306828, 37.60610300113342 ], [ -121.769909000483807, 37.606103001029204 ], [ -121.771144999409216, 37.606469001106333 ], [ -121.772380999755441, 37.607003000883978 ], [ -121.773295999762368, 37.607598001021145 ], [ -121.773448999640067, 37.607873000834367 ], [ -121.774685000048962, 37.608407000967702 ], [ -121.776073000064244, 37.609322001062601 ], [ -121.776850999849628, 37.60980300052038 ], [ -121.776989000357204, 37.610154000774557 ], [ -121.777828000483154, 37.610505001114397 ], [ -121.778498999545661, 37.61142000052714 ], [ -121.779171000098486, 37.612626000938825 ], [ -121.77946100042486, 37.613473000570259 ], [ -121.779644000237397, 37.613755001094532 ], [ -121.779566999604626, 37.614197000861751 ], [ -121.779841999524407, 37.614388000549511 ], [ -121.77965899990177, 37.615433000757562 ], [ -121.779934000334208, 37.616860000982783 ], [ -121.780636000153763, 37.617783001013237 ], [ -121.780964000481035, 37.618032000742204 ], [ -121.781825999923313, 37.619317001062825 ], [ -121.782695000356583, 37.620559000638927 ], [ -121.783563999611289, 37.621031000508438 ], [ -121.784098999550906, 37.622009000848635 ], [ -121.784618000392143, 37.622490000936061 ], [ -121.785064000173762, 37.623131000334546 ], [ -121.78518300005544, 37.62406100094244 ], [ -121.785364000518328, 37.624931000482256 ], [ -121.785863999543267, 37.626031001080698 ], [ -121.796164999649434, 37.626331000590802 ], [ -121.796787999536335, 37.626533000302402 ], [ -121.803116000400635, 37.628583001008039 ], [ -121.803264999659717, 37.62863100049664 ], [ -121.801536999843009, 37.632259000754985 ], [ -121.801265000059104, 37.632831000722881 ], [ -121.800858999437267, 37.6336200002564 ], [ -121.799464999671102, 37.636331001113724 ], [ -121.789759000126836, 37.644345000522037 ], [ -121.78856499940774, 37.6453310008581 ], [ -121.786664000462196, 37.646231000499505 ], [ -121.783598999505685, 37.647944000407364 ], [ -121.783392000509608, 37.648060000606542 ], [ -121.783263999460772, 37.648131000876845 ], [ -121.782863999841865, 37.648331000480653 ], [ -121.782463999928652, 37.648631000628434 ], [ -121.78296399972723, 37.64523100086253 ], [ -121.782718999580439, 37.645229000969913 ], [ -121.782654000048339, 37.645229000744038 ], [ -121.782570000411141, 37.64522800043364 ], [ -121.78056799966474, 37.645215000967774 ], [ -121.768064000040667, 37.645131000805797 ], [ -121.767963999767716, 37.647431000568844 ], [ -121.768063999745522, 37.649631001022748 ], [ -121.767969999890482, 37.653466000813715 ], [ -121.767964000519527, 37.653730000729631 ], [ -121.76796399939083, 37.655130000975625 ], [ -121.767895000067455, 37.656027000585311 ], [ -121.767864000198244, 37.656430001040953 ], [ -121.759263999717845, 37.656430000476071 ], [ -121.75106299984256, 37.656430000371387 ], [ -121.749463000511, 37.656430001044214 ], [ -121.74949099963122, 37.657838001057321 ], [ -121.749513999485515, 37.659039000452083 ], [ -121.749562999617169, 37.661530000903291 ], [ -121.749662999623752, 37.663430000452408 ], [ -121.749662999470317, 37.663641000686724 ], [ -121.749663000379456, 37.664512000509063 ], [ -121.749662999869798, 37.665230000506298 ], [ -121.749662999923515, 37.665645000556935 ], [ -121.749662999836644, 37.666030000360372 ], [ -121.749762999848826, 37.666430000489555 ], [ -121.74976299944224, 37.666930000764758 ], [ -121.749760999808259, 37.668341000698554 ], [ -121.749750999827583, 37.669865000726958 ], [ -121.749762999802286, 37.670030001057484 ], [ -121.74957399964002, 37.669910000894916 ], [ -121.747949999896335, 37.66888200095984 ], [ -121.743717000478711, 37.666203000593001 ], [ -121.74186299975031, 37.665030000853505 ], [ -121.741153000202019, 37.665030000660842 ], [ -121.736862999627817, 37.66503000024737 ], [ -121.734963000396519, 37.665030000641806 ], [ -121.732862999691946, 37.665030001009349 ], [ -121.725640000167218, 37.665030000360218 ], [ -121.718762000333328, 37.665030000680964 ], [ -121.718762000058376, 37.666292000608074 ], [ -121.718762000100938, 37.668158000728106 ], [ -121.718762000228054, 37.670604001129995 ], [ -121.718761999508459, 37.672789000827557 ], [ -121.71876200048807, 37.674030001108399 ], [ -121.718662000300895, 37.674730000526949 ], [ -121.718662000122634, 37.677430000293278 ], [ -121.718662000432801, 37.680030000796663 ], [ -121.718462000427508, 37.68103000101236 ], [ -121.718524999881339, 37.683785001064159 ], [ -121.718539999945818, 37.684534000576171 ], [ -121.718530000122229, 37.6881380005279 ], [ -121.718467000348497, 37.693497000762136 ], [ -121.718462000386737, 37.693929000911517 ], [ -121.718462000166284, 37.696847000855158 ], [ -121.718461999766561, 37.697029000644356 ], [ -121.718372999521179, 37.699245000878982 ], [ -121.71836200017195, 37.699529000415133 ], [ -121.71906199969726, 37.701029000900832 ], [ -121.719262999916054, 37.701629000819935 ], [ -121.720362999640599, 37.702929001100799 ], [ -121.721063000091917, 37.7038290003591 ], [ -121.721722999768076, 37.704721000921005 ], [ -121.722650999746861, 37.706247000233297 ], [ -121.723345999826122, 37.707632000426429 ], [ -121.723494999677399, 37.707937000265758 ], [ -121.723632000002794, 37.708280000358805 ], [ -121.723681999421032, 37.708428000661307 ], [ -121.723805999885471, 37.708811000907325 ], [ -121.723912000167942, 37.709117001074574 ], [ -121.72396599955492, 37.709274000539949 ], [ -121.724029000406489, 37.70941000029655 ], [ -121.724140999765197, 37.70983300055051 ], [ -121.724369999583431, 37.710838000510101 ], [ -121.724362999772566, 37.711929000511375 ], [ -121.724362999547608, 37.712629001023409 ], [ -121.724345000056573, 37.712810000843518 ], [ -121.724300000322302, 37.714390000768645 ], [ -121.724288999677213, 37.71580100025588 ], [ -121.724263000169685, 37.717029000504738 ], [ -121.724363000146496, 37.719329000273127 ], [ -121.724297000154607, 37.719527000330885 ], [ -121.724262999452534, 37.719629001127117 ], [ -121.724162999663577, 37.722228000357646 ], [ -121.724162999967675, 37.722335000738283 ], [ -121.724162999803809, 37.724490000614104 ], [ -121.724163000195958, 37.72652800069438 ], [ -121.724363000143342, 37.72692800086925 ], [ -121.724162999476519, 37.736128000910192 ], [ -121.724161999676738, 37.738553000408984 ], [ -121.723886999457022, 37.73959000075731 ], [ -121.723185000119017, 37.740246000619116 ], [ -121.723094000232109, 37.74119200041882 ], [ -121.72361200039056, 37.742375000421418 ], [ -121.724513000017367, 37.74355000092914 ], [ -121.725336999589985, 37.744633000696609 ], [ -121.725463000361117, 37.745228001139203 ], [ -121.72536299998761, 37.746328000727907 ], [ -121.725474000486017, 37.746701000475944 ], [ -121.725992999605353, 37.747242000560206 ], [ -121.72701499940942, 37.747746000915583 ], [ -121.728480000492311, 37.748234000552124 ], [ -121.729262999718557, 37.748828001121645 ], [ -121.730203999570804, 37.749463000876801 ], [ -121.730443000030945, 37.749928000751062 ], [ -121.730966999528761, 37.75095000053912 ], [ -121.731425000221208, 37.752408000723157 ], [ -121.733713999647861, 37.755147000648087 ], [ -121.733865999637146, 37.756085000443846 ], [ -121.733133999476436, 37.756671000908078 ], [ -121.732127000142995, 37.757595000885487 ], [ -121.732233999409985, 37.758281000311669 ], [ -121.733408999541496, 37.75889900095715 ], [ -121.733987999707168, 37.759700001106921 ], [ -121.734538000009636, 37.760173000948221 ], [ -121.735651999978032, 37.760929001079298 ], [ -121.735926000018907, 37.761959000611967 ], [ -121.735773999667259, 37.763431000336155 ], [ -121.735376999956998, 37.764873000457293 ], [ -121.734599000379859, 37.765995000718654 ], [ -121.733575999816296, 37.766628000954434 ], [ -121.73222200031833, 37.767102000826462 ], [ -121.733194999575588, 37.76802400055432 ], [ -121.733378000142466, 37.768405000643313 ], [ -121.733942999898176, 37.769290000482286 ], [ -121.734171999711663, 37.770359001129869 ], [ -121.734903999648424, 37.771350000502864 ], [ -121.736002999805592, 37.771862000309149 ], [ -121.73734499943096, 37.772106000669581 ], [ -121.738062999394842, 37.772427000517496 ], [ -121.711122999975032, 37.779192000922954 ], [ -121.711047000223374, 37.779211000936279 ], [ -121.710997999736463, 37.779223000549251 ], [ -121.699504999635323, 37.782109000456181 ], [ -121.69894599958991, 37.781764000563108 ], [ -121.697377000250341, 37.781376000500153 ], [ -121.695904999604423, 37.781298000643901 ], [ -121.6942379996418, 37.78145400040426 ], [ -121.693074000167869, 37.781859000811352 ], [ -121.692077999859919, 37.782647000385879 ], [ -121.691302999906384, 37.7835120008559 ], [ -121.690743000346345, 37.784309000458045 ], [ -121.67036199951805, 37.789427000242021 ], [ -121.666262000220669, 37.790427000626444 ], [ -121.624161000262745, 37.799127000281523 ], [ -121.623360999593501, 37.799427001097129 ], [ -121.622291999598815, 37.799709000439215 ], [ -121.622161000222249, 37.799727001065023 ], [ -121.620293000202295, 37.800304000560104 ], [ -121.614765999636248, 37.802012000474811 ], [ -121.60566099984689, 37.804827001095376 ], [ -121.602846000201069, 37.805695000456794 ], [ -121.601493999818686, 37.80611200064218 ], [ -121.600895999913263, 37.806296000251457 ], [ -121.597560000216873, 37.807327000302294 ], [ -121.595349000300544, 37.807992001126955 ], [ -121.589260000397104, 37.809827000326273 ], [ -121.586137999678812, 37.810775000891745 ], [ -121.581967000208095, 37.812042001084791 ], [ -121.581610000000637, 37.812150000632428 ], [ -121.58135999973635, 37.81222700071369 ], [ -121.58036000019635, 37.812527000712549 ], [ -121.579156000454219, 37.812876000687588 ], [ -121.57790099981743, 37.813240000984628 ], [ -121.577260000097354, 37.81342700030627 ], [ -121.577059999402337, 37.813527001114075 ], [ -121.563740999430735, 37.817544000706214 ], [ -121.562784999532397, 37.817832000735471 ], [ -121.561693999691713, 37.818161000265739 ], [ -121.56072500009914, 37.818454000498967 ], [ -121.560541999913895, 37.818509000241249 ], [ -121.55987800042719, 37.818709001001615 ], [ -121.559160000412234, 37.818927000330746 ], [ -121.55860100001253, 37.818958000507571 ], [ -121.558173999801383, 37.819354000276149 ], [ -121.558052000420162, 37.81959900102342 ], [ -121.557893999821644, 37.81971200047338 ], [ -121.557588000336708, 37.819933000340384 ], [ -121.557364999868057, 37.820095000374053 ], [ -121.556800000212675, 37.820247000822633 ], [ -121.556683000218214, 37.820263000660304 ], [ -121.556968000206297, 37.816833000945685 ], [ -121.557059999943917, 37.815727000823657 ], [ -121.55705999999779, 37.81569000104362 ], [ -121.556987000200621, 37.815574000299883 ], [ -121.557058999933105, 37.815487001 ], [ -121.556959999805841, 37.79932700076008 ], [ -121.556960000459, 37.799117000732451 ], [ -121.55696000023886, 37.799027001098608 ], [ -121.55695999978353, 37.798931000944265 ], [ -121.55695900050587, 37.794827001022561 ], [ -121.557031999504758, 37.794808001100165 ], [ -121.557017999415962, 37.784940000488419 ], [ -121.557001000011212, 37.772957000582835 ], [ -121.556967999591407, 37.771324001065821 ], [ -121.556938000448184, 37.769839001139694 ], [ -121.55691500032404, 37.768700000273967 ], [ -121.556660999820465, 37.756127000825757 ], [ -121.556659000486817, 37.756028000490623 ], [ -121.557158999825333, 37.746329000622417 ], [ -121.556983999957211, 37.743704000441753 ], [ -121.556964999925938, 37.743419000309956 ], [ -121.556959000415816, 37.743329000318802 ], [ -121.556959000167197, 37.741629000362167 ], [ -121.557058999794961, 37.7388290011016 ], [ -121.55705900033611, 37.736764000348558 ], [ -121.557057999741147, 37.733024000582695 ], [ -121.557058000339751, 37.729365000690791 ], [ -121.557058000025663, 37.72279200039474 ], [ -121.55705800038875, 37.714822000733633 ], [ -121.557058000453594, 37.714729000496213 ], [ -121.55714200029324, 37.714393000285234 ], [ -121.557158000424678, 37.714329001095834 ], [ -121.557033999940657, 37.707704001047368 ], [ -121.556960000189491, 37.703736001076479 ], [ -121.556958000443529, 37.703629000315274 ], [ -121.55695700018201, 37.670642000585211 ], [ -121.556956999515052, 37.669627000260199 ], [ -121.556957000375149, 37.636130000623133 ], [ -121.556873999866625, 37.635633000567829 ], [ -121.556857000246637, 37.635531001075115 ], [ -121.557252999437594, 37.616835000265034 ], [ -121.557256999689699, 37.616631000465297 ], [ -121.557247999414599, 37.615637000914539 ], [ -121.556977000070816, 37.585816000566538 ], [ -121.556873000414342, 37.574353000934089 ], [ -121.556656000345257, 37.550332000256141 ], [ -121.556655000261316, 37.542732001046019 ], [ -121.550455000282724, 37.539332000965558 ], [ -121.548355000489991, 37.535932000347344 ], [ -121.546854999972822, 37.535032000688389 ], [ -121.545754999688, 37.532532000341327 ], [ -121.542854999906154, 37.531432000920546 ], [ -121.539654999593452, 37.529832000684294 ], [ -121.529553999513624, 37.527032000350978 ], [ -121.528553999585085, 37.527832000875627 ], [ -121.527093000239645, 37.527147001027444 ], [ -121.522154000059885, 37.524832000795392 ], [ -121.516654000139283, 37.525532001113767 ], [ -121.508552999888281, 37.524832000682778 ], [ -121.504153000026363, 37.52593200066817 ], [ -121.501052999511757, 37.524072000992895 ], [ -121.498653000334173, 37.522632000699055 ], [ -121.499653000041292, 37.520632000469554 ], [ -121.501053000368657, 37.51940700096214 ], [ -121.502053000261213, 37.51853200027363 ], [ -121.50105300046252, 37.517310001002855 ], [ -121.500253000508948, 37.516332000941063 ], [ -121.497552999776232, 37.513232001091048 ], [ -121.495552000379121, 37.508432000402635 ], [ -121.496051999771552, 37.504932000624748 ], [ -121.493352000207167, 37.502432000560589 ], [ -121.485451999628054, 37.502532000988381 ], [ -121.481762999594054, 37.499932000591258 ], [ -121.480855999924785, 37.498560000895999 ], [ -121.480657999643029, 37.498384000931935 ], [ -121.480169999427105, 37.497774000684373 ], [ -121.480031999926922, 37.497408000559837 ], [ -121.4796200003575, 37.496584000885619 ], [ -121.479407000491946, 37.4964770009502 ], [ -121.478658999785878, 37.496248000373065 ], [ -121.477834999480464, 37.49585100048899 ], [ -121.477483999601318, 37.495630000538299 ], [ -121.476385999969636, 37.49557700060268 ], [ -121.476035000231292, 37.495424000967503 ], [ -121.475896999544375, 37.495272000562565 ], [ -121.475485000236063, 37.49453200079585 ], [ -121.474859999557552, 37.494051000267163 ], [ -121.474386999933031, 37.493555000452723 ], [ -121.473760999788112, 37.492777000936982 ], [ -121.472936999857325, 37.492449001084623 ], [ -121.47237199961387, 37.492229000911749 ], [ -121.471959999512251, 37.491733000797574 ], [ -121.471486999884206, 37.491519000374169 ], [ -121.470938000355858, 37.491183000625242 ], [ -121.470739999573141, 37.490794000864135 ], [ -121.470373999865203, 37.490466000754807 ], [ -121.469961999943038, 37.490314000355028 ], [ -121.469686999708159, 37.489993000990346 ], [ -121.469275000298069, 37.489688000748849 ], [ -121.469213999666707, 37.489360000807949 ], [ -121.469275000107814, 37.489093000914863 ], [ -121.469625999702274, 37.488826000338136 ], [ -121.469823999960425, 37.488330000321902 ], [ -121.470038000395533, 37.487109000328246 ], [ -121.470374000156284, 37.486781000582553 ], [ -121.470724000069453, 37.486125000799625 ], [ -121.470511000187898, 37.485683000911891 ], [ -121.470510999537254, 37.485461000940134 ], [ -121.470786000440825, 37.485293001013162 ], [ -121.471198000303332, 37.4850340007821 ], [ -121.47113600050929, 37.484408000363992 ], [ -121.471059999570159, 37.483699000447487 ], [ -121.47105999985628, 37.483317000656747 ], [ -121.471197999695136, 37.482829000468818 ], [ -121.47160999978918, 37.482387000686394 ], [ -121.471925000326024, 37.48178300036458 ], [ -121.472648000488604, 37.482170000439133 ], [ -121.47295199990333, 37.482333000465871 ], [ -121.485828999870307, 37.482354000317784 ], [ -121.487615999764145, 37.48235700105419 ], [ -121.501051999916598, 37.482380000950933 ], [ -121.532386000060072, 37.482432001095717 ], [ -121.532457000012428, 37.482432000823295 ], [ -121.532720000455342, 37.482433000277403 ], [ -121.532954000458943, 37.482433000868348 ], [ -121.533039999557658, 37.482433000857618 ], [ -121.559754999674155, 37.482533000832959 ], [ -121.559836999904832, 37.482531001072154 ], [ -121.564354999950851, 37.482433000844253 ], [ -121.564427999764945, 37.482433000241421 ], [ -121.586587000330326, 37.482535000590026 ], [ -121.608557000075479, 37.482634000652197 ], [ -121.608634999449549, 37.482634000962562 ], [ -121.620556999662512, 37.482634000866696 ], [ -121.620643999649118, 37.482634001006673 ], [ -121.624158000075511, 37.482634000343701 ], [ -121.624409000062414, 37.482633000999627 ], [ -121.625261000473827, 37.482628000986431 ], [ -121.629184000330412, 37.482670000305689 ], [ -121.634986999439633, 37.482733000677079 ], [ -121.635358000414271, 37.482734000958907 ], [ -121.63550099999793, 37.482735000277593 ], [ -121.661659000122199, 37.482834001087156 ], [ -121.661736999904946, 37.482833001024972 ], [ -121.67085899956345, 37.482735001025617 ], [ -121.670939999660078, 37.482826000585639 ], [ -121.67096999958801, 37.483382000302292 ], [ -121.671184000019124, 37.483649000451962 ], [ -121.671321000221596, 37.483924000308363 ], [ -121.671381999942867, 37.484206001012844 ], [ -121.671381999944515, 37.484435000233191 ], [ -121.671382000404776, 37.484633000848383 ], [ -121.671459000093009, 37.485198000292897 ], [ -121.671458999721722, 37.485587001017969 ], [ -121.671519999804374, 37.485968000977927 ], [ -121.671596000113468, 37.486190000855601 ], [ -121.67165699996464, 37.486518000357606 ], [ -121.671871000149523, 37.486785001018006 ], [ -121.672084000349898, 37.486907000674279 ], [ -121.672222000420007, 37.487128000837906 ], [ -121.672358999599837, 37.487296000952121 ], [ -121.672496000401395, 37.487441000517187 ], [ -121.672694999538265, 37.487563000364425 ], [ -121.673121999750236, 37.48768500058879 ], [ -121.673258999631642, 37.487792000236105 ], [ -121.673595000247602, 37.48796000044878 ], [ -121.673884999933847, 37.488188000537917 ], [ -121.67415899956994, 37.488394000635488 ], [ -121.674495000364644, 37.488562001013918 ], [ -121.674845999778213, 37.488677000704705 ], [ -121.675120999701164, 37.488845000864416 ], [ -121.67547200010371, 37.489112000252952 ], [ -121.675746000403436, 37.489279000830727 ], [ -121.676097000407822, 37.489386000456733 ], [ -121.676432999814693, 37.489554000754872 ], [ -121.676708000314136, 37.489676000939639 ], [ -121.677059000484761, 37.489653000651657 ], [ -121.677272000527097, 37.489653000239876 ], [ -121.677744999604343, 37.489600000350741 ], [ -121.678232999638681, 37.489501000649767 ], [ -121.678446999668694, 37.489630000544196 ], [ -121.678721999454723, 37.489783000966028 ], [ -121.678858999844564, 37.489890000487556 ], [ -121.679056999603546, 37.490004001064399 ], [ -121.679210000468828, 37.490004000365936 ], [ -121.679545999956929, 37.489936000330722 ], [ -121.679683000363838, 37.489882000493211 ], [ -121.680034000302172, 37.48989000077907 ], [ -121.680445999556937, 37.48982900062154 ], [ -121.680660000234681, 37.489836000312934 ], [ -121.680858000049696, 37.489714000907441 ], [ -121.681285000310382, 37.489775000238161 ], [ -121.681620999424439, 37.489936000743882 ], [ -121.681896000297627, 37.490111001020082 ], [ -121.682323000051085, 37.490225000602443 ], [ -121.682659000288126, 37.49037800090214 ], [ -121.68307100038426, 37.490668000646799 ], [ -121.683208000088172, 37.490889000427515 ], [ -121.683344999488554, 37.491156000887244 ], [ -121.683421000388435, 37.491316000583637 ], [ -121.683559000462296, 37.491538000735261 ], [ -121.683772000021108, 37.491713000572915 ], [ -121.68397099992778, 37.491805000540452 ], [ -121.684245000265975, 37.491873001055971 ], [ -121.684595999683623, 37.491927000408161 ], [ -121.684871000094688, 37.491927000784578 ], [ -121.685221999664293, 37.491980000536877 ], [ -121.68557300003755, 37.491988000663035 ], [ -121.685847999940464, 37.492026000518827 ], [ -121.686121999922136, 37.492087000755326 ], [ -121.686320999416935, 37.492156000863915 ], [ -121.686458000469429, 37.492209000727208 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 719, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.726676999955316, 37.717029000793637 ], [ -121.724263000169685, 37.717029000504738 ], [ -121.724288999677213, 37.71580100025588 ], [ -121.724300000322302, 37.714390000768645 ], [ -121.724345000056573, 37.712810000843518 ], [ -121.724362999547608, 37.712629001023409 ], [ -121.724362999772566, 37.711929000511375 ], [ -121.724369999583431, 37.710838000510101 ], [ -121.724140999765197, 37.70983300055051 ], [ -121.724029000406489, 37.70941000029655 ], [ -121.72396599955492, 37.709274000539949 ], [ -121.726060999445139, 37.70821900023023 ], [ -121.72807900032582, 37.707340000927658 ], [ -121.728563000366577, 37.707129000595877 ], [ -121.734162999811844, 37.704529000349268 ], [ -121.736862999482227, 37.703329000746379 ], [ -121.737716000473526, 37.703049000788027 ], [ -121.738289999541564, 37.702893000321588 ], [ -121.738982000150997, 37.702761000345838 ], [ -121.74009499964798, 37.702607000247468 ], [ -121.741165000221585, 37.702461000718955 ], [ -121.742163000179019, 37.702329000680763 ], [ -121.743976000360277, 37.702322000562908 ], [ -121.746362999708992, 37.702329000659709 ], [ -121.749962999712878, 37.702529000411054 ], [ -121.751865000389145, 37.702654000455723 ], [ -121.755868999658901, 37.702895001118364 ], [ -121.756764000042963, 37.702929000584845 ], [ -121.759363999783019, 37.702929000349556 ], [ -121.759064000207474, 37.704529000526328 ], [ -121.754763999691832, 37.705829000623879 ], [ -121.754063000097673, 37.706429000820009 ], [ -121.753962999659052, 37.710929001007301 ], [ -121.751962999444302, 37.714829000863702 ], [ -121.751063000214202, 37.714922000427819 ], [ -121.749062999980225, 37.715129000640601 ], [ -121.748462999459363, 37.715329000666898 ], [ -121.746788000467802, 37.71594600067575 ], [ -121.745719999876599, 37.716339000533736 ], [ -121.744662999716098, 37.716729001043966 ], [ -121.74326299985546, 37.717729000788339 ], [ -121.742963000189434, 37.717329000788304 ], [ -121.742693000268233, 37.71689700106095 ], [ -121.742462999488211, 37.716529000890382 ], [ -121.741556999495216, 37.7166880002721 ], [ -121.739954999748591, 37.716825000328377 ], [ -121.739083000168165, 37.716907000873221 ], [ -121.738748999787816, 37.716939000288569 ], [ -121.737376000409441, 37.716939000978343 ], [ -121.73726300005481, 37.717029000791754 ], [ -121.736525999872839, 37.717029000732225 ], [ -121.735706999780248, 37.717029000778389 ], [ -121.735435000079619, 37.717029000646171 ], [ -121.735263000310383, 37.717029000305224 ], [ -121.734107999522351, 37.717029000640849 ], [ -121.732462999493535, 37.717029000621089 ], [ -121.731563000416003, 37.716929000924381 ], [ -121.73073100051019, 37.717012000880203 ], [ -121.730562999421906, 37.717029000574414 ], [ -121.730262999800402, 37.717029000616648 ], [ -121.729743999807624, 37.717029000636501 ], [ -121.72726299954401, 37.717029000443453 ], [ -121.726778000491635, 37.717029000295575 ], [ -121.726676999955316, 37.717029000793637 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 721, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.751865000389145, 37.702654000455723 ], [ -121.749962999712878, 37.702529000411054 ], [ -121.746362999708992, 37.702329000659709 ], [ -121.743976000360277, 37.702322000562908 ], [ -121.742163000179019, 37.702329000680763 ], [ -121.741165000221585, 37.702461000718955 ], [ -121.741174999959284, 37.702376000492343 ], [ -121.741162999818002, 37.701729000913367 ], [ -121.741136000359433, 37.701360000602051 ], [ -121.741184999519845, 37.7005440005845 ], [ -121.74150600015102, 37.700029000974411 ], [ -121.742762999394415, 37.698529000881827 ], [ -121.743562999755255, 37.697529000813141 ], [ -121.744212999825805, 37.696553001030679 ], [ -121.744363000005507, 37.696329000638002 ], [ -121.7470630000944, 37.694429000786961 ], [ -121.749463000174387, 37.692729000638231 ], [ -121.75106300051597, 37.691806000250359 ], [ -121.752063000057376, 37.691229000756529 ], [ -121.754644000466982, 37.689960001114194 ], [ -121.756143999946929, 37.68922300049919 ], [ -121.758164000358661, 37.688229000799183 ], [ -121.759460999912534, 37.687555000887059 ], [ -121.760663999488756, 37.68692900042771 ], [ -121.762364000138817, 37.68612900090131 ], [ -121.764664000297472, 37.685929000604077 ], [ -121.765363999713983, 37.686029000414834 ], [ -121.765964000072742, 37.686329000987747 ], [ -121.766205000205915, 37.686409000994708 ], [ -121.766564000106015, 37.686529000970353 ], [ -121.76716399943993, 37.686929001127588 ], [ -121.768863999774581, 37.687729000935057 ], [ -121.769363999966018, 37.687929000710042 ], [ -121.769535000304316, 37.688014000929151 ], [ -121.770763999703959, 37.688629000580718 ], [ -121.772363999888015, 37.689429000936329 ], [ -121.773164000421843, 37.691029001065843 ], [ -121.774763999504486, 37.69102900036664 ], [ -121.775531000273958, 37.691221000520045 ], [ -121.776091000089437, 37.691361000722686 ], [ -121.776364000019427, 37.691429000689702 ], [ -121.777195000062093, 37.691825000335079 ], [ -121.777695999532284, 37.69206300056112 ], [ -121.778323999655555, 37.692350000716004 ], [ -121.778922999790737, 37.692665000271802 ], [ -121.779963999886888, 37.693229000593426 ], [ -121.780464000053726, 37.693429000439345 ], [ -121.781664000378555, 37.693929000534027 ], [ -121.782564000254993, 37.694429000644462 ], [ -121.783264000368149, 37.694729000768028 ], [ -121.783763999465364, 37.695129000772162 ], [ -121.784463999596525, 37.695629000686118 ], [ -121.784794000470342, 37.696579000372928 ], [ -121.785057000173921, 37.69857900025773 ], [ -121.785119999858622, 37.699022000836592 ], [ -121.785259000026457, 37.699372000354337 ], [ -121.785363999862284, 37.69952900075458 ], [ -121.784642000124791, 37.699609000263415 ], [ -121.783790999655338, 37.699708000370556 ], [ -121.782464000337882, 37.699829001070711 ], [ -121.782039000482357, 37.699871000494639 ], [ -121.778620000383242, 37.700208001027576 ], [ -121.776252999804285, 37.700432000618825 ], [ -121.775705000313096, 37.700501000700534 ], [ -121.773963999588645, 37.700829000775542 ], [ -121.771563999394331, 37.70122900064753 ], [ -121.770102999651499, 37.701433000445803 ], [ -121.760501000469887, 37.70283300051782 ], [ -121.759363999783019, 37.702929000349556 ], [ -121.756764000042963, 37.702929000584845 ], [ -121.755868999658901, 37.702895001118364 ], [ -121.751865000389145, 37.702654000455723 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 718, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.72396599955492, 37.709274000539949 ], [ -121.723912000167942, 37.709117001074574 ], [ -121.723805999885471, 37.708811000907325 ], [ -121.723681999421032, 37.708428000661307 ], [ -121.723632000002794, 37.708280000358805 ], [ -121.723494999677399, 37.707937000265758 ], [ -121.723345999826122, 37.707632000426429 ], [ -121.722650999746861, 37.706247000233297 ], [ -121.721722999768076, 37.704721000921005 ], [ -121.721063000091917, 37.7038290003591 ], [ -121.720362999640599, 37.702929001100799 ], [ -121.719262999916054, 37.701629000819935 ], [ -121.71906199969726, 37.701029000900832 ], [ -121.71836200017195, 37.699529000415133 ], [ -121.718372999521179, 37.699245000878982 ], [ -121.718461999766561, 37.697029000644356 ], [ -121.718462000166284, 37.696847000855158 ], [ -121.718462000386737, 37.693929000911517 ], [ -121.718467000348497, 37.693497000762136 ], [ -121.718530000122229, 37.6881380005279 ], [ -121.718539999945818, 37.684534000576171 ], [ -121.718524999881339, 37.683785001064159 ], [ -121.718462000427508, 37.68103000101236 ], [ -121.718662000432801, 37.680030000796663 ], [ -121.721361999690373, 37.679830001001285 ], [ -121.721805999485412, 37.679879000842163 ], [ -121.722262999806631, 37.679930001031906 ], [ -121.72616299997209, 37.679930000369914 ], [ -121.730663000017188, 37.679930000235068 ], [ -121.732762999731065, 37.679930000677579 ], [ -121.733825999993556, 37.67993000028229 ], [ -121.733934999402436, 37.679930000758112 ], [ -121.734155999816295, 37.680570000383341 ], [ -121.734413999810982, 37.68142700105961 ], [ -121.734772000260833, 37.682609000517409 ], [ -121.734934000016693, 37.683157000616362 ], [ -121.736330999433505, 37.687671000446713 ], [ -121.736511999469769, 37.687689000947756 ], [ -121.736818000365659, 37.687822001048197 ], [ -121.736942000429025, 37.687876000316137 ], [ -121.738836999434085, 37.688698000798723 ], [ -121.740088000310223, 37.689241000630645 ], [ -121.740145000334337, 37.689266001081684 ], [ -121.74100000046225, 37.689637001062636 ], [ -121.741383999876888, 37.689782000803405 ], [ -121.741565999896437, 37.689851000605564 ], [ -121.742389999742727, 37.690024000399951 ], [ -121.743821000505989, 37.690198001109131 ], [ -121.744688000476671, 37.690462000247777 ], [ -121.74502599953918, 37.690781001120556 ], [ -121.745167999913804, 37.690915000938773 ], [ -121.745367999809105, 37.691200000320386 ], [ -121.745431999871244, 37.6913990003723 ], [ -121.7470630000944, 37.694429000786961 ], [ -121.744363000005507, 37.696329000638002 ], [ -121.744212999825805, 37.696553001030679 ], [ -121.743562999755255, 37.697529000813141 ], [ -121.742762999394415, 37.698529000881827 ], [ -121.74150600015102, 37.700029000974411 ], [ -121.741184999519845, 37.7005440005845 ], [ -121.741136000359433, 37.701360000602051 ], [ -121.741162999818002, 37.701729000913367 ], [ -121.741174999959284, 37.702376000492343 ], [ -121.741165000221585, 37.702461000718955 ], [ -121.74009499964798, 37.702607000247468 ], [ -121.738982000150997, 37.702761000345838 ], [ -121.738289999541564, 37.702893000321588 ], [ -121.737716000473526, 37.703049000788027 ], [ -121.736862999482227, 37.703329000746379 ], [ -121.734162999811844, 37.704529000349268 ], [ -121.728563000366577, 37.707129000595877 ], [ -121.72807900032582, 37.707340000927658 ], [ -121.726060999445139, 37.70821900023023 ], [ -121.72396599955492, 37.709274000539949 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 15, "TAZ1454": 727, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.789364999605525, 37.667230000648949 ], [ -121.790364999418543, 37.667730000865006 ], [ -121.790865000372008, 37.668030000470317 ], [ -121.791764999491832, 37.668430001069943 ], [ -121.79326499943808, 37.66953000084515 ], [ -121.793764999814798, 37.670330000245116 ], [ -121.79506499981261, 37.672630000910182 ], [ -121.794965000467712, 37.676030000582671 ], [ -121.794965000233034, 37.677130000934994 ], [ -121.791464999452458, 37.677530000596292 ], [ -121.790265000347816, 37.677530000775128 ], [ -121.789591999897766, 37.67763400101655 ], [ -121.788965000468082, 37.677730000420176 ], [ -121.788664999737662, 37.677230000274108 ], [ -121.787894000347947, 37.677020001041726 ], [ -121.787565000083831, 37.676930000610895 ], [ -121.786763999797756, 37.676530000487759 ], [ -121.78586399952377, 37.675130000611105 ], [ -121.783463999766354, 37.674630001090641 ], [ -121.782663999919905, 37.674430001047241 ], [ -121.781135999959062, 37.67412400051699 ], [ -121.780164000307664, 37.673930000946854 ], [ -121.780284000239973, 37.673211000453477 ], [ -121.780363999610344, 37.672730001081312 ], [ -121.780399000179187, 37.67224500049663 ], [ -121.780464000495087, 37.671330000848663 ], [ -121.780464000011861, 37.669630000609047 ], [ -121.780464000086013, 37.66693000102272 ], [ -121.781763999617269, 37.666930000415 ], [ -121.782764000486623, 37.666930000743143 ], [ -121.785064000251907, 37.666930000647454 ], [ -121.786264000324053, 37.666930000850655 ], [ -121.789364999605525, 37.667230000648949 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 797, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.062873000331621, 37.60103400101594 ], [ -122.064573000397317, 37.603534000418044 ], [ -122.065472999584472, 37.604834000334797 ], [ -122.065073000170685, 37.604834001047536 ], [ -122.063472999768081, 37.604634001017331 ], [ -122.059273000199141, 37.603834000999875 ], [ -122.059107000498756, 37.604415001130214 ], [ -122.059073000044037, 37.604534000724421 ], [ -122.058882999475031, 37.605152001120871 ], [ -122.058672999867397, 37.605834001103297 ], [ -122.054273000205384, 37.605834000343698 ], [ -122.051272999554044, 37.605834000330532 ], [ -122.049872999704817, 37.605834000419655 ], [ -122.049373000275892, 37.605834000742902 ], [ -122.046473000351838, 37.605834001002663 ], [ -122.045972999928594, 37.605834000428068 ], [ -122.044872999492, 37.605834001082563 ], [ -122.043272999957821, 37.605834001105642 ], [ -122.042773000152906, 37.611633000478399 ], [ -122.041573000092271, 37.611633000472288 ], [ -122.039473000365575, 37.609733000739965 ], [ -122.034971999880852, 37.605734000297637 ], [ -122.033979999928661, 37.605726001006758 ], [ -122.032545000285751, 37.605708000872546 ], [ -122.031275000158644, 37.605690000336651 ], [ -122.03102499953151, 37.605679000428808 ], [ -122.031396999558382, 37.606021001061443 ], [ -122.032339000466962, 37.60685600060323 ], [ -122.032849000437679, 37.607308000999588 ], [ -122.033342999686866, 37.607745000895129 ], [ -122.034055999689087, 37.608376001065771 ], [ -122.03457199998725, 37.608833000378397 ], [ -122.03376499963683, 37.608880001105504 ], [ -122.032871999589091, 37.608933000908408 ], [ -122.031063000267906, 37.608957000474057 ], [ -122.025371999857143, 37.609033000477737 ], [ -122.023872000199063, 37.609033000458915 ], [ -122.023572000268359, 37.608733000272466 ], [ -122.023172000295304, 37.608333000637565 ], [ -122.022396999692461, 37.607696001067524 ], [ -122.021471999888846, 37.606934001037366 ], [ -122.020971999884679, 37.606534001103491 ], [ -122.019972000189568, 37.605634001039022 ], [ -122.021071999970673, 37.605534000725093 ], [ -122.021872000248194, 37.605534000734131 ], [ -122.022471999968033, 37.605634000967228 ], [ -122.023672000202794, 37.605534000743141 ], [ -122.024071999849156, 37.605534000718109 ], [ -122.024571999711867, 37.605534000359469 ], [ -122.024972000223613, 37.605634001099752 ], [ -122.026071999392599, 37.605534000990865 ], [ -122.026472000245576, 37.605534000950342 ], [ -122.027272000254953, 37.605634000613925 ], [ -122.028471999405014, 37.605234000389451 ], [ -122.028771999498289, 37.603934000586712 ], [ -122.028771999653017, 37.603634000699905 ], [ -122.028835999412536, 37.603497000789091 ], [ -122.029096000427543, 37.602772000491967 ], [ -122.029404000018175, 37.601912001045456 ], [ -122.029432999879688, 37.601850000862335 ], [ -122.029671999609263, 37.601134000824416 ], [ -122.029771999937537, 37.600634000320262 ], [ -122.030371999917904, 37.595834000942659 ], [ -122.032472000384772, 37.594534000537237 ], [ -122.033471999711466, 37.592034000382249 ], [ -122.033771999941294, 37.591134000712735 ], [ -122.034571999822504, 37.590534000730145 ], [ -122.035371999838773, 37.590734000376038 ], [ -122.037172999419397, 37.591234000626748 ], [ -122.037472999392037, 37.591334001091788 ], [ -122.039173000370454, 37.591734001102097 ], [ -122.039573000316253, 37.592034001105937 ], [ -122.039755000225, 37.592092001092631 ], [ -122.040026999706214, 37.592178000508753 ], [ -122.040209000319336, 37.592236000704787 ], [ -122.04045600020504, 37.592315000777418 ], [ -122.041773000195462, 37.592734000695302 ], [ -122.044572999659479, 37.593434000641786 ], [ -122.045673000481386, 37.593734000738181 ], [ -122.046121000214626, 37.593853000453677 ], [ -122.046359999982798, 37.593917000394839 ], [ -122.047173000263157, 37.594134000806349 ], [ -122.047938000498277, 37.594325001023428 ], [ -122.048372999578689, 37.594434000759435 ], [ -122.050921000000713, 37.595049000536577 ], [ -122.05127299998324, 37.595134000467262 ], [ -122.051773000003649, 37.595234000388096 ], [ -122.052900000390025, 37.595576000357291 ], [ -122.055073000279862, 37.596234000608504 ], [ -122.05587299987917, 37.596534001102441 ], [ -122.057966000438782, 37.597431000873662 ], [ -122.058672999642312, 37.597734000378367 ], [ -122.059333999680874, 37.597923000475951 ], [ -122.060073000059646, 37.598134001059819 ], [ -122.060720999979765, 37.598205000774747 ], [ -122.061399000171647, 37.599016000534377 ], [ -122.062272999896507, 37.600234001105363 ], [ -122.062873000331621, 37.60103400101594 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 793, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.069772999610606, 37.589534000653565 ], [ -122.071072999772383, 37.588134000693124 ], [ -122.071127000088438, 37.588075000590067 ], [ -122.072018000320227, 37.58711700103872 ], [ -122.072372999497333, 37.58673400023779 ], [ -122.072718000486574, 37.586324000864259 ], [ -122.072943000031657, 37.586057001034753 ], [ -122.073303999542077, 37.585628000351782 ], [ -122.073972999874201, 37.58483400089424 ], [ -122.075772999478275, 37.582734000949763 ], [ -122.078073999595063, 37.580034001047323 ], [ -122.079697999787427, 37.578334000919725 ], [ -122.080173999633672, 37.577835000955666 ], [ -122.080874000386771, 37.57763500034438 ], [ -122.080863999466686, 37.58173000097365 ], [ -122.080798000046983, 37.582266001099157 ], [ -122.080813000379024, 37.582885000347815 ], [ -122.080874000238651, 37.584534000337932 ], [ -122.080774000162023, 37.586834000512631 ], [ -122.08077399979517, 37.587234000610245 ], [ -122.080773999556953, 37.587734000696784 ], [ -122.080774000381581, 37.588234000750184 ], [ -122.080773999934323, 37.589534000675279 ], [ -122.08077399997191, 37.590634000396705 ], [ -122.080611999551579, 37.591933000236416 ], [ -122.080574000314797, 37.592234001043238 ], [ -122.080573999638588, 37.592534000843379 ], [ -122.079873999397094, 37.592434000448691 ], [ -122.077773999862487, 37.592534001110685 ], [ -122.07517300014247, 37.592634000876792 ], [ -122.074472999933434, 37.59223400035026 ], [ -122.074273000001412, 37.592134001099403 ], [ -122.073173000333725, 37.591534000586691 ], [ -122.072673000092266, 37.591234000442313 ], [ -122.072373000018757, 37.591034000985459 ], [ -122.070373000255813, 37.592234000271958 ], [ -122.070096999563745, 37.592367000822463 ], [ -122.069973000207739, 37.592234000835987 ], [ -122.069694999468496, 37.591935000934164 ], [ -122.068672999742745, 37.59083400040852 ], [ -122.069772999610606, 37.589534000653565 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 791, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.067635999471193, 37.589797000662315 ], [ -122.064573000126217, 37.586734000709207 ], [ -122.063973000518175, 37.586334000549073 ], [ -122.063472999415751, 37.586034000305752 ], [ -122.06367300031674, 37.585634001080976 ], [ -122.064273000264734, 37.585134000714262 ], [ -122.06827299978363, 37.58053400064702 ], [ -122.068572999876025, 37.580135000866854 ], [ -122.069172999448639, 37.580434000825498 ], [ -122.069666999803871, 37.580712000614788 ], [ -122.070250999489119, 37.581040000682236 ], [ -122.070773000152016, 37.581334000389568 ], [ -122.071373000059538, 37.58163400049159 ], [ -122.072372999696, 37.582234000860502 ], [ -122.073073000264174, 37.583234000639628 ], [ -122.073272999876522, 37.583834000266371 ], [ -122.073572999837609, 37.584434000308356 ], [ -122.073972999874201, 37.58483400089424 ], [ -122.073303999542077, 37.585628000351782 ], [ -122.072943000031657, 37.586057001034753 ], [ -122.072718000486574, 37.586324000864259 ], [ -122.072372999497333, 37.58673400023779 ], [ -122.072018000320227, 37.58711700103872 ], [ -122.071127000088438, 37.588075000590067 ], [ -122.071072999772383, 37.588134000693124 ], [ -122.069772999610606, 37.589534000653565 ], [ -122.068672999742745, 37.59083400040852 ], [ -122.068600999822891, 37.590762000662885 ], [ -122.067939000303355, 37.590100001036234 ], [ -122.067635999471193, 37.589797000662315 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 798, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.037172999419397, 37.591234000626748 ], [ -122.035371999838773, 37.590734000376038 ], [ -122.034571999822504, 37.590534000730145 ], [ -122.035471999846465, 37.589534000895483 ], [ -122.037341000482385, 37.588548000621969 ], [ -122.037773000435806, 37.588320000333283 ], [ -122.039073000432751, 37.587634000742213 ], [ -122.03957299998153, 37.587634001023332 ], [ -122.041873000408529, 37.587834000638146 ], [ -122.045672999959734, 37.587234000702679 ], [ -122.045873000471161, 37.587134000932707 ], [ -122.051073000087257, 37.584334000953568 ], [ -122.051832000245625, 37.585394000858663 ], [ -122.05198100030924, 37.585602000584444 ], [ -122.054707999798154, 37.589409000435936 ], [ -122.054787000338223, 37.589519000370757 ], [ -122.054798000198474, 37.589534000824145 ], [ -122.05637300008236, 37.59173400032838 ], [ -122.0566729995207, 37.592134000991841 ], [ -122.059119999739139, 37.595668000556593 ], [ -122.059330000327179, 37.596045000698339 ], [ -122.059487000085241, 37.596285000982242 ], [ -122.059517999669012, 37.596363000441592 ], [ -122.060720999979765, 37.598205000774747 ], [ -122.060073000059646, 37.598134001059819 ], [ -122.059333999680874, 37.597923000475951 ], [ -122.058672999642312, 37.597734000378367 ], [ -122.057966000438782, 37.597431000873662 ], [ -122.05587299987917, 37.596534001102441 ], [ -122.055073000279862, 37.596234000608504 ], [ -122.052900000390025, 37.595576000357291 ], [ -122.051773000003649, 37.595234000388096 ], [ -122.05127299998324, 37.595134000467262 ], [ -122.050921000000713, 37.595049000536577 ], [ -122.048372999578689, 37.594434000759435 ], [ -122.047938000498277, 37.594325001023428 ], [ -122.047173000263157, 37.594134000806349 ], [ -122.046359999982798, 37.593917000394839 ], [ -122.046121000214626, 37.593853000453677 ], [ -122.045673000481386, 37.593734000738181 ], [ -122.044572999659479, 37.593434000641786 ], [ -122.041773000195462, 37.592734000695302 ], [ -122.04045600020504, 37.592315000777418 ], [ -122.040209000319336, 37.592236000704787 ], [ -122.040026999706214, 37.592178000508753 ], [ -122.039755000225, 37.592092001092631 ], [ -122.039573000316253, 37.592034001105937 ], [ -122.039173000370454, 37.591734001102097 ], [ -122.037472999392037, 37.591334001091788 ], [ -122.037172999419397, 37.591234000626748 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 801, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.023472000093648, 37.58203500112662 ], [ -122.022971999905138, 37.583435000237976 ], [ -122.022172000020745, 37.585434000292139 ], [ -122.021971999992275, 37.586234000265435 ], [ -122.021672000066673, 37.587134000607925 ], [ -122.020972000189118, 37.589434000445237 ], [ -122.020072000159814, 37.59203400050238 ], [ -122.019971999670915, 37.592434000917009 ], [ -122.019872000269984, 37.592734000847038 ], [ -122.019572000425811, 37.593334000713462 ], [ -122.019271999777828, 37.594134000425441 ], [ -122.019071999869311, 37.594734000561374 ], [ -122.018972000372045, 37.595034000476822 ], [ -122.018771999602961, 37.595434000236601 ], [ -122.018571999902434, 37.596034000256196 ], [ -122.018371999753612, 37.596934000751524 ], [ -122.017871999472078, 37.597734000882745 ], [ -122.017671999936766, 37.598434000241689 ], [ -122.017471999956967, 37.599234000309046 ], [ -122.017072000371613, 37.600134001050201 ], [ -122.016972000351387, 37.600534000940598 ], [ -122.016872000347135, 37.600934000713842 ], [ -122.016672000331269, 37.601634000604705 ], [ -122.016272000187101, 37.602334000468048 ], [ -122.01423900051185, 37.600588000424985 ], [ -122.011971999518238, 37.598534000410794 ], [ -122.009572000452252, 37.596334000916976 ], [ -122.006367000014947, 37.593518000910628 ], [ -122.006272000224641, 37.593434000442514 ], [ -122.004771999401399, 37.592234000543705 ], [ -122.004571999809912, 37.592134000847551 ], [ -122.004371999898325, 37.591934000542132 ], [ -122.003371999945259, 37.591034000508522 ], [ -122.002941000096428, 37.590654000630643 ], [ -122.002145000513423, 37.589952000567024 ], [ -122.001671999526678, 37.589534001019686 ], [ -122.006071999913502, 37.586334000857292 ], [ -122.007272000143089, 37.583335000789134 ], [ -122.007272000475226, 37.582935000844465 ], [ -122.007272000132488, 37.582635000413049 ], [ -122.007347000337589, 37.582356000561219 ], [ -122.00761300036848, 37.581370000350674 ], [ -122.00787100010831, 37.580417000601223 ], [ -122.008272000336234, 37.57893500041228 ], [ -122.009980000229831, 37.579342000355034 ], [ -122.010371999663761, 37.579435000467576 ], [ -122.011454000156093, 37.580439000725143 ], [ -122.011771999788337, 37.580735000766396 ], [ -122.013671999606942, 37.580435000354953 ], [ -122.014266000008973, 37.579484000973608 ], [ -122.015171999569134, 37.578035000559922 ], [ -122.017572000051274, 37.574735000960665 ], [ -122.020013000480034, 37.575683000776017 ], [ -122.020809000391964, 37.575992000758049 ], [ -122.021675999707242, 37.576328000686985 ], [ -122.022442000308061, 37.57662500044863 ], [ -122.024027999641206, 37.577241001116008 ], [ -122.025824999572734, 37.577939001024014 ], [ -122.02607199987429, 37.57803500111293 ], [ -122.024771999563967, 37.579235001055864 ], [ -122.02407200032718, 37.580435000399582 ], [ -122.023771999480417, 37.581435000597317 ], [ -122.023472000093648, 37.58203500112662 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 794, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.080874000238651, 37.584534000337932 ], [ -122.080813000379024, 37.582885000347815 ], [ -122.080798000046983, 37.582266001099157 ], [ -122.080863999466686, 37.58173000097365 ], [ -122.080874000386771, 37.57763500034438 ], [ -122.08047400030928, 37.57643500041825 ], [ -122.080323999746653, 37.576185000342171 ], [ -122.080174000162586, 37.575935000979484 ], [ -122.079925999483478, 37.575488001102336 ], [ -122.079673999898347, 37.575035000934307 ], [ -122.079358000332604, 37.574466000762698 ], [ -122.079075000468123, 37.573957000614612 ], [ -122.078815000464473, 37.573489000276183 ], [ -122.0785750001602, 37.573057000268513 ], [ -122.078268000228604, 37.572504000961715 ], [ -122.077674000490745, 37.571435000527636 ], [ -122.076873000023681, 37.570535000266624 ], [ -122.077083999769783, 37.570276000264457 ], [ -122.078324000503144, 37.571049000361867 ], [ -122.079962999733084, 37.570170000744909 ], [ -122.084873999576402, 37.567535000721342 ], [ -122.085974000107143, 37.567035000681777 ], [ -122.085367000119092, 37.568762000819866 ], [ -122.085185000425852, 37.568725000777093 ], [ -122.087791999450843, 37.573857000378439 ], [ -122.082419999645396, 37.575322000956334 ], [ -122.082696000279924, 37.575902001006114 ], [ -122.087973999722976, 37.574635000676381 ], [ -122.088173999875167, 37.578835000536159 ], [ -122.088574000471837, 37.578934000728289 ], [ -122.096073999879678, 37.579734001006514 ], [ -122.096374000390369, 37.58283400054885 ], [ -122.09147399955657, 37.584934000505704 ], [ -122.090973999781355, 37.58513400058316 ], [ -122.090774000229118, 37.590234000352588 ], [ -122.090673999954078, 37.5918340010547 ], [ -122.091874000014755, 37.59183400104834 ], [ -122.091773999780145, 37.592334000489672 ], [ -122.091829999996364, 37.59272600049421 ], [ -122.090720000461999, 37.592731000825914 ], [ -122.090174000230064, 37.592734000890644 ], [ -122.088073999562511, 37.592934000992869 ], [ -122.085708999846688, 37.594038000864529 ], [ -122.084290999721446, 37.594699000902125 ], [ -122.084411999953005, 37.594215001128511 ], [ -122.084382999458768, 37.593995000356593 ], [ -122.084322000031989, 37.593915000707206 ], [ -122.084064999914517, 37.593852000446134 ], [ -122.083573999565743, 37.593834000258028 ], [ -122.083470000228843, 37.59384000035233 ], [ -122.082180000193773, 37.593794000904374 ], [ -122.08070599957513, 37.59372200045577 ], [ -122.080613999975441, 37.592894000520751 ], [ -122.080573999638588, 37.592534000843379 ], [ -122.080574000314797, 37.592234001043238 ], [ -122.080611999551579, 37.591933000236416 ], [ -122.08077399997191, 37.590634000396705 ], [ -122.080773999934323, 37.589534000675279 ], [ -122.080774000381581, 37.588234000750184 ], [ -122.080773999556953, 37.587734000696784 ], [ -122.08077399979517, 37.587234000610245 ], [ -122.080774000162023, 37.586834000512631 ], [ -122.080874000238651, 37.584534000337932 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 781, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.974670999780642, 37.577935000476039 ], [ -121.97577099992931, 37.578435000707913 ], [ -121.976171000014517, 37.578535000257041 ], [ -121.977571000092652, 37.578735000696632 ], [ -121.983370999650361, 37.57903500046821 ], [ -121.98507100023032, 37.5792350007533 ], [ -121.988570999611682, 37.579735001115203 ], [ -121.990570999790549, 37.580535000802449 ], [ -121.991970999913718, 37.581635000668328 ], [ -121.993071000209483, 37.582435000895153 ], [ -121.9938710001516, 37.583035000270961 ], [ -121.997072000024858, 37.585534000727762 ], [ -121.997343999920687, 37.58575100111522 ], [ -121.998072000475787, 37.586334000606705 ], [ -121.999294000157704, 37.587363000272795 ], [ -121.999972000460247, 37.587934001114007 ], [ -122.001671999526678, 37.589534001019686 ], [ -121.998472000228901, 37.591934000928106 ], [ -121.99337100028535, 37.595634000365862 ], [ -121.992970999740095, 37.595934000603648 ], [ -121.988670999876547, 37.599134000592336 ], [ -121.987871000402706, 37.599734000379215 ], [ -121.983670999420056, 37.602834000648798 ], [ -121.981671000263745, 37.604234000727637 ], [ -121.968169999787094, 37.596334000898359 ], [ -121.966670000403653, 37.595434000611625 ], [ -121.960669999968061, 37.591834000676364 ], [ -121.957969999402266, 37.590234000380015 ], [ -121.957070000192402, 37.590934000623079 ], [ -121.956369999467796, 37.591834000240411 ], [ -121.954870000167716, 37.593534000465752 ], [ -121.951669999947271, 37.597334000483734 ], [ -121.949116999559806, 37.597603000548403 ], [ -121.947869999834126, 37.59773400057707 ], [ -121.94727000027693, 37.597634000330764 ], [ -121.947069999865036, 37.597434000340343 ], [ -121.944070000167457, 37.597334000369443 ], [ -121.93976999988115, 37.598533000289812 ], [ -121.93776900039272, 37.593434000477359 ], [ -121.936668999735787, 37.591834000247069 ], [ -121.936269000283048, 37.59113400102877 ], [ -121.935668999857512, 37.590934000950647 ], [ -121.934369000378666, 37.591234000786585 ], [ -121.932769000212829, 37.591834001101027 ], [ -121.930469000349319, 37.585934000794275 ], [ -121.929168999807558, 37.585834000846155 ], [ -121.929969000362405, 37.584834000411611 ], [ -121.926968999793189, 37.581934000246207 ], [ -121.92856899944654, 37.580734000960739 ], [ -121.927568999943674, 37.579634000833003 ], [ -121.929901000317074, 37.578701000979144 ], [ -121.930113999449659, 37.578346000691404 ], [ -121.931447000201317, 37.576126000693513 ], [ -121.931664999807708, 37.576191001104121 ], [ -121.932350999861313, 37.576397000609703 ], [ -121.933169000524344, 37.576034000553491 ], [ -121.932369000415108, 37.574834000903472 ], [ -121.932768999806342, 37.573834000497172 ], [ -121.932690999405168, 37.5737310005089 ], [ -121.931868999794489, 37.572634000670725 ], [ -121.934269000425417, 37.570634000940956 ], [ -121.936769999879672, 37.56993500070076 ], [ -121.950106999908741, 37.570429000280527 ], [ -121.952969999567784, 37.570535000943906 ], [ -121.957769999573358, 37.568935001036365 ], [ -121.959169999742087, 37.56693500029138 ], [ -121.960070000082126, 37.566335000455538 ], [ -121.960469999437137, 37.566135000502257 ], [ -121.96111200030721, 37.565668000960343 ], [ -121.961570000150061, 37.565335000766439 ], [ -121.963469999736958, 37.567435000719144 ], [ -121.963845000371478, 37.56781000099032 ], [ -121.964220000209295, 37.56818500096405 ], [ -121.964270000023518, 37.568235000448439 ], [ -121.964670000295584, 37.568735000417639 ], [ -121.965370000438568, 37.569435000337066 ], [ -121.966062000242403, 37.570229001087057 ], [ -121.967371000133966, 37.571735000284121 ], [ -121.96767100048514, 37.572135000884558 ], [ -121.968170999595301, 37.572635000869347 ], [ -121.968470999977868, 37.572935000932716 ], [ -121.969070999983188, 37.573535000566999 ], [ -121.970170999857473, 37.574735000663409 ], [ -121.970470999553555, 37.575035001040561 ], [ -121.971671000083006, 37.576135000976421 ], [ -121.972872000314268, 37.576976000266335 ], [ -121.973671000203481, 37.577535000897605 ], [ -121.974670999780642, 37.577935000476039 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 783, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.984116000449916, 37.567671001014247 ], [ -121.984071000041027, 37.567535000292509 ], [ -121.983671000243277, 37.566435000829159 ], [ -121.985606999931434, 37.565907000518351 ], [ -121.985871000045904, 37.565835000909161 ], [ -121.986467000258557, 37.565670000743687 ], [ -121.996496999924261, 37.562894000353573 ], [ -121.996545999910992, 37.562943000784266 ], [ -121.996661999703448, 37.563139001094861 ], [ -121.996764000005982, 37.563266000651055 ], [ -121.996805999715434, 37.563309000875073 ], [ -121.996865999955688, 37.563370001103564 ], [ -121.996997000239645, 37.563439000801964 ], [ -121.997157000295175, 37.56350800065011 ], [ -121.997360999855744, 37.563543000303042 ], [ -121.997564999629773, 37.563566000317259 ], [ -122.001222999835349, 37.563484000559292 ], [ -122.002375000484108, 37.563455000835873 ], [ -122.00264100014995, 37.563448000870018 ], [ -122.002750000080539, 37.563445000954836 ], [ -122.00298000049392, 37.563451000521113 ], [ -122.003157999844746, 37.56348000031781 ], [ -122.003317999778389, 37.563492000380187 ], [ -122.003463999502131, 37.563526000475989 ], [ -122.003638999697444, 37.563584000392694 ], [ -122.003725999830962, 37.563665000939466 ], [ -122.003885999923028, 37.563872000261846 ], [ -122.005289000399415, 37.565481001044425 ], [ -122.005871999527812, 37.565935000894569 ], [ -122.007672000119584, 37.567635000959996 ], [ -122.008739000076787, 37.569030000242599 ], [ -122.009570999556942, 37.570118000445198 ], [ -122.010272000197162, 37.571035001056288 ], [ -122.01157399956405, 37.571658001078113 ], [ -122.012299999494957, 37.572005000815224 ], [ -122.013148999902441, 37.572411001040145 ], [ -122.014871999681105, 37.57323500098682 ], [ -122.014672000300649, 37.573335000704802 ], [ -122.017154999401541, 37.574276001091967 ], [ -122.017398999469748, 37.574428000559827 ], [ -122.017572000051274, 37.574735000960665 ], [ -122.015171999569134, 37.578035000559922 ], [ -122.014266000008973, 37.579484000973608 ], [ -122.013671999606942, 37.580435000354953 ], [ -122.011771999788337, 37.580735000766396 ], [ -122.011454000156093, 37.580439000725143 ], [ -122.010371999663761, 37.579435000467576 ], [ -122.009980000229831, 37.579342000355034 ], [ -122.008272000336234, 37.57893500041228 ], [ -122.00787100010831, 37.580417000601223 ], [ -122.00761300036848, 37.581370000350674 ], [ -122.007347000337589, 37.582356000561219 ], [ -122.007272000132488, 37.582635000413049 ], [ -122.007272000475226, 37.582935000844465 ], [ -122.007272000143089, 37.583335000789134 ], [ -122.006472000177254, 37.582635001076419 ], [ -122.004971999435469, 37.581435001032425 ], [ -121.998035999681761, 37.576092000998699 ], [ -121.997571999601121, 37.575735001123014 ], [ -121.98847100007545, 37.568735000288129 ], [ -121.986671000249544, 37.567735000458889 ], [ -121.984170999656655, 37.567835000726248 ], [ -121.984116000449916, 37.567671001014247 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 787, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.032571999673436, 37.570635000371666 ], [ -122.033527999608964, 37.569748000846396 ], [ -122.03397199954378, 37.569335000475931 ], [ -122.034092000101822, 37.56923300088831 ], [ -122.034271999571331, 37.569135000886412 ], [ -122.034472000332499, 37.56883500106656 ], [ -122.035521000325829, 37.567549000539742 ], [ -122.036556999736177, 37.566277000637818 ], [ -122.036673000362427, 37.566135000996205 ], [ -122.037172999601339, 37.565535000402051 ], [ -122.037473000421585, 37.565135000404709 ], [ -122.037972999778646, 37.564435000675019 ], [ -122.038472999609738, 37.563835000595255 ], [ -122.038872999539549, 37.563435000998282 ], [ -122.039372999494546, 37.563935000833169 ], [ -122.03993999963869, 37.564507000414189 ], [ -122.040674999815792, 37.565348000845162 ], [ -122.040690999565129, 37.565353000717302 ], [ -122.041334999959673, 37.566035000341749 ], [ -122.042473000318125, 37.567235000554959 ], [ -122.042588000208227, 37.567360000512139 ], [ -122.042725000166868, 37.567509000747741 ], [ -122.042933999745216, 37.567735000604621 ], [ -122.043330000298795, 37.568163000745059 ], [ -122.043672999557756, 37.568535000881859 ], [ -122.045472999574017, 37.570435000484849 ], [ -122.045572999399866, 37.57073500067596 ], [ -122.045873999972585, 37.571534001068031 ], [ -122.046114000159633, 37.572169000455062 ], [ -122.046140999956691, 37.572241000918908 ], [ -122.047573000037715, 37.576035001092478 ], [ -122.047672999832855, 37.576435001075687 ], [ -122.047972999734853, 37.577335000574841 ], [ -122.04877299968291, 37.57973500046436 ], [ -122.049272999485964, 37.581035000450875 ], [ -122.048943999782892, 37.580592000937322 ], [ -122.048703999528598, 37.580315000487921 ], [ -122.048399999841379, 37.580081000340677 ], [ -122.048215999719588, 37.579906000533683 ], [ -122.047929999436661, 37.579498000735633 ], [ -122.047782999946946, 37.579184001125611 ], [ -122.047635999518675, 37.578801000580043 ], [ -122.047506999435342, 37.578590000237661 ], [ -122.047305000439479, 37.578356001007215 ], [ -122.047056000091501, 37.578137000347937 ], [ -122.046372999711664, 37.577735000702063 ], [ -122.045890999926826, 37.577426000769393 ], [ -122.045059000060093, 37.576928000597242 ], [ -122.044438000178914, 37.576617000369716 ], [ -122.044273000453487, 37.576535000669686 ], [ -122.043372999750744, 37.576035000443277 ], [ -122.043079000509834, 37.57588800111975 ], [ -122.042139999741622, 37.575419000819245 ], [ -122.041572999489915, 37.575135001052324 ], [ -122.041272999600096, 37.575035000265032 ], [ -122.040772999837486, 37.575735000804187 ], [ -122.040454000457984, 37.576190000414257 ], [ -122.040345999725872, 37.576344000232424 ], [ -122.04024399985127, 37.576491000397723 ], [ -122.040203000390093, 37.576550001071979 ], [ -122.04007299995132, 37.576735000275868 ], [ -122.039729000076704, 37.577147000615064 ], [ -122.039073000321764, 37.577935000270628 ], [ -122.038583999540407, 37.578607000735595 ], [ -122.038272999925027, 37.579035000668824 ], [ -122.037734999706998, 37.579842001000621 ], [ -122.037258000028174, 37.580558000429996 ], [ -122.037167999573725, 37.580692000341081 ], [ -122.037072999399072, 37.580835000545555 ], [ -122.03637199961166, 37.581098000504674 ], [ -122.035472000158038, 37.581435001031721 ], [ -122.034272000454379, 37.581835000694049 ], [ -122.031771999457831, 37.580835000906802 ], [ -122.030903000097737, 37.580276000399728 ], [ -122.030401999612025, 37.579954000865428 ], [ -122.030180000483867, 37.579811000422332 ], [ -122.029680000031647, 37.57949000110866 ], [ -122.029502999938771, 37.579376000671935 ], [ -122.028972000074958, 37.579035000948252 ], [ -122.028326999945421, 37.578587001093005 ], [ -122.027794000246658, 37.578216000782433 ], [ -122.026672000133772, 37.577435000618486 ], [ -122.028767999493994, 37.574989000719633 ], [ -122.030272000302432, 37.573235000436618 ], [ -122.031272000407597, 37.572105000924942 ], [ -122.032571999673436, 37.570635000371666 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 799, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.04007299995132, 37.576735000275868 ], [ -122.040203000390093, 37.576550001071979 ], [ -122.04024399985127, 37.576491000397723 ], [ -122.040345999725872, 37.576344000232424 ], [ -122.040454000457984, 37.576190000414257 ], [ -122.040772999837486, 37.575735000804187 ], [ -122.041272999600096, 37.575035000265032 ], [ -122.041572999489915, 37.575135001052324 ], [ -122.042139999741622, 37.575419000819245 ], [ -122.043079000509834, 37.57588800111975 ], [ -122.043372999750744, 37.576035000443277 ], [ -122.044273000453487, 37.576535000669686 ], [ -122.044438000178914, 37.576617000369716 ], [ -122.045059000060093, 37.576928000597242 ], [ -122.045890999926826, 37.577426000769393 ], [ -122.046372999711664, 37.577735000702063 ], [ -122.047056000091501, 37.578137000347937 ], [ -122.047305000439479, 37.578356001007215 ], [ -122.047506999435342, 37.578590000237661 ], [ -122.047635999518675, 37.578801000580043 ], [ -122.047782999946946, 37.579184001125611 ], [ -122.047929999436661, 37.579498000735633 ], [ -122.048215999719588, 37.579906000533683 ], [ -122.048399999841379, 37.580081000340677 ], [ -122.048703999528598, 37.580315000487921 ], [ -122.048943999782892, 37.580592000937322 ], [ -122.049272999485964, 37.581035000450875 ], [ -122.049373000420275, 37.581235000787188 ], [ -122.049573000479199, 37.581635000278865 ], [ -122.051073000087257, 37.584334000953568 ], [ -122.045873000471161, 37.587134000932707 ], [ -122.045672999959734, 37.587234000702679 ], [ -122.041873000408529, 37.587834000638146 ], [ -122.03957299998153, 37.587634001023332 ], [ -122.039073000432751, 37.587634000742213 ], [ -122.038369000354194, 37.587475001007327 ], [ -122.038144999490584, 37.587424000589721 ], [ -122.037661000306031, 37.587314000493762 ], [ -122.033772000323623, 37.586434001063587 ], [ -122.027647000034676, 37.57975300056885 ], [ -122.02607199987429, 37.57803500111293 ], [ -122.026672000133772, 37.577435000618486 ], [ -122.027794000246658, 37.578216000782433 ], [ -122.028326999945421, 37.578587001093005 ], [ -122.028972000074958, 37.579035000948252 ], [ -122.029502999938771, 37.579376000671935 ], [ -122.029680000031647, 37.57949000110866 ], [ -122.030180000483867, 37.579811000422332 ], [ -122.030401999612025, 37.579954000865428 ], [ -122.030903000097737, 37.580276000399728 ], [ -122.031771999457831, 37.580835000906802 ], [ -122.034272000454379, 37.581835000694049 ], [ -122.035472000158038, 37.581435001031721 ], [ -122.03637199961166, 37.581098000504674 ], [ -122.037072999399072, 37.580835000545555 ], [ -122.037167999573725, 37.580692000341081 ], [ -122.037258000028174, 37.580558000429996 ], [ -122.037734999706998, 37.579842001000621 ], [ -122.038272999925027, 37.579035000668824 ], [ -122.038583999540407, 37.578607000735595 ], [ -122.039073000321764, 37.577935000270628 ], [ -122.039729000076704, 37.577147000615064 ], [ -122.04007299995132, 37.576735000275868 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 788, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.046140999956691, 37.572241000918908 ], [ -122.046114000159633, 37.572169000455062 ], [ -122.045873999972585, 37.571534001068031 ], [ -122.045572999399866, 37.57073500067596 ], [ -122.045472999574017, 37.570435000484849 ], [ -122.043672999557756, 37.568535000881859 ], [ -122.043330000298795, 37.568163000745059 ], [ -122.042933999745216, 37.567735000604621 ], [ -122.042725000166868, 37.567509000747741 ], [ -122.042588000208227, 37.567360000512139 ], [ -122.042473000318125, 37.567235000554959 ], [ -122.044286000318095, 37.567478000435671 ], [ -122.046009999978381, 37.566974000312783 ], [ -122.049016000047118, 37.56658500085107 ], [ -122.049143999398325, 37.566562000810329 ], [ -122.049982999971661, 37.56647500087989 ], [ -122.050716000353574, 37.566399000456506 ], [ -122.05133100047297, 37.566336000664691 ], [ -122.052024999431126, 37.566264000517151 ], [ -122.055235000525485, 37.56628100025754 ], [ -122.055410999951036, 37.566321000688617 ], [ -122.055472999506151, 37.566335000415904 ], [ -122.058872999851616, 37.568435000367735 ], [ -122.059172999992981, 37.569835000976525 ], [ -122.059473000130751, 37.569935000530307 ], [ -122.062373000043166, 37.571435000811654 ], [ -122.062628000497241, 37.571595000242915 ], [ -122.062009999949922, 37.572318000750897 ], [ -122.060373000382299, 37.574235000350633 ], [ -122.060473000283551, 37.574935001028614 ], [ -122.059852000426361, 37.575660000884611 ], [ -122.059351000501806, 37.576244000602564 ], [ -122.05867299975813, 37.577035000607204 ], [ -122.056372999775633, 37.579635000481353 ], [ -122.055596000047615, 37.580503000817153 ], [ -122.054673000155717, 37.58153400067922 ], [ -122.053472999458549, 37.58103500088923 ], [ -122.052072999767759, 37.580335000496071 ], [ -122.051029000030695, 37.579769000370561 ], [ -122.05036499965216, 37.579395000312644 ], [ -122.049572999404987, 37.578535000347465 ], [ -122.048576000090307, 37.577795000683544 ], [ -122.047972999734853, 37.577335000574841 ], [ -122.047672999832855, 37.576435001075687 ], [ -122.047573000037715, 37.576035001092478 ], [ -122.046140999956691, 37.572241000918908 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 786, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.032265000291559, 37.557268000821416 ], [ -122.032947999954573, 37.557901000417495 ], [ -122.035586999889546, 37.560344000505197 ], [ -122.036828999530343, 37.561548000846393 ], [ -122.036906999855859, 37.561636000754895 ], [ -122.037066999710333, 37.561794000243523 ], [ -122.038573000266879, 37.563135000445236 ], [ -122.038872999539549, 37.563435000998282 ], [ -122.038472999609738, 37.563835000595255 ], [ -122.037972999778646, 37.564435000675019 ], [ -122.037473000421585, 37.565135000404709 ], [ -122.037172999601339, 37.565535000402051 ], [ -122.036673000362427, 37.566135000996205 ], [ -122.036556999736177, 37.566277000637818 ], [ -122.035521000325829, 37.567549000539742 ], [ -122.034472000332499, 37.56883500106656 ], [ -122.034271999571331, 37.569135000886412 ], [ -122.034092000101822, 37.56923300088831 ], [ -122.03397199954378, 37.569335000475931 ], [ -122.033527999608964, 37.569748000846396 ], [ -122.032571999673436, 37.570635000371666 ], [ -122.030811999823058, 37.569755000737437 ], [ -122.029332000088417, 37.56901500066401 ], [ -122.029216999608536, 37.56895700036489 ], [ -122.028011999462279, 37.568355000417647 ], [ -122.027371999994557, 37.568035000666505 ], [ -122.026401000481243, 37.567587000383931 ], [ -122.025712999459827, 37.567269000500751 ], [ -122.025543999632561, 37.567191000364097 ], [ -122.024771999952378, 37.566835000367199 ], [ -122.023931999417016, 37.566415000727176 ], [ -122.023371999400467, 37.56613500066689 ], [ -122.02377200007345, 37.565635000712902 ], [ -122.024272000384556, 37.565035000327221 ], [ -122.024771999580679, 37.564635000369535 ], [ -122.025271999749009, 37.564035000970371 ], [ -122.025272000203145, 37.563735000994683 ], [ -122.025272000015264, 37.56273500095454 ], [ -122.025071999740945, 37.562035000555348 ], [ -122.02487199942945, 37.561435000690281 ], [ -122.024871999441814, 37.560935000517453 ], [ -122.025272000504543, 37.560235001041946 ], [ -122.025571999429275, 37.55963500040022 ], [ -122.026071999393849, 37.559136001039292 ], [ -122.026572000277554, 37.558436000638622 ], [ -122.027072000144187, 37.557836000788278 ], [ -122.027471999642856, 37.557336000722259 ], [ -122.027971999980295, 37.556636000343175 ], [ -122.029871999972642, 37.556236000650266 ], [ -122.030447000284781, 37.556848000571669 ], [ -122.030556999443533, 37.556967000819171 ], [ -122.03139999986108, 37.556467000727707 ], [ -122.032265000291559, 37.557268000821416 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1094, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.129375999393929, 38.011521000509227 ], [ -122.129075999599607, 38.012221000493561 ], [ -122.128175999906574, 38.012821000637793 ], [ -122.12742100028008, 38.013324000804083 ], [ -122.126976000198809, 38.013621001024759 ], [ -122.126587000367877, 38.013815001066099 ], [ -122.126175999878612, 38.014021000645847 ], [ -122.125075999590422, 38.013721000266031 ], [ -122.124675999448087, 38.013421000561586 ], [ -122.124076000501233, 38.014521000465983 ], [ -122.123276000319137, 38.014421000560795 ], [ -122.122475999663934, 38.014221001095748 ], [ -122.121675999524129, 38.013921000281371 ], [ -122.120875999687428, 38.01352100082056 ], [ -122.120175999511559, 38.013321000638797 ], [ -122.119876000101939, 38.013921000400998 ], [ -122.119575999611911, 38.014121000369627 ], [ -122.119076000399446, 38.01432100105918 ], [ -122.118275999978309, 38.014421000414785 ], [ -122.118175999806553, 38.013221000847587 ], [ -122.118175999498902, 38.012721000531016 ], [ -122.116875000247518, 38.012121000993112 ], [ -122.115975000426658, 38.012021000771107 ], [ -122.114974999834857, 38.012021000325433 ], [ -122.114674999438421, 38.012021000514139 ], [ -122.114375000185319, 38.012021000847163 ], [ -122.11387500009829, 38.012121000701796 ], [ -122.112974999969438, 38.012021000963017 ], [ -122.112075000065062, 38.012121000551723 ], [ -122.111775000459687, 38.012121000554032 ], [ -122.11157500034065, 38.012121001028632 ], [ -122.110980000457459, 38.012037000973692 ], [ -122.110974999389811, 38.011321000837341 ], [ -122.110968999917105, 38.010687000689572 ], [ -122.110968999712711, 38.010110001083859 ], [ -122.110975000179693, 38.009621000954731 ], [ -122.110975000418861, 38.00872100060878 ], [ -122.111020000203155, 38.008091000716789 ], [ -122.111079999921685, 38.007244000920778 ], [ -122.111274999493702, 38.00452100028987 ], [ -122.111275000209673, 38.003121000983711 ], [ -122.112274999683549, 38.002121000601768 ], [ -122.112875000111501, 38.001421000979896 ], [ -122.114375000054693, 38.000721001096259 ], [ -122.114419000163963, 38.000693000330649 ], [ -122.115644000116731, 37.999921000865804 ], [ -122.118974999720265, 37.997821000944199 ], [ -122.120474999788797, 37.996721000473464 ], [ -122.120740999404745, 37.996233000825676 ], [ -122.12092399948979, 37.995898000698197 ], [ -122.121075000016901, 37.995621000837097 ], [ -122.120875000453282, 37.995421000568875 ], [ -122.120675000073618, 37.995121001019413 ], [ -122.12037600001257, 37.994774000566927 ], [ -122.121874999488838, 37.994122000761877 ], [ -122.126730000163306, 37.99160700086793 ], [ -122.126975999539539, 37.991522001104308 ], [ -122.127975999477954, 37.992022000569278 ], [ -122.129076000159586, 37.992722001083138 ], [ -122.129376000441681, 37.993622000945081 ], [ -122.129975999524561, 37.994222001049934 ], [ -122.130475999615115, 37.99522200100823 ], [ -122.130701000111685, 37.995272001046104 ], [ -122.13137600004319, 37.995422000373594 ], [ -122.132075999440701, 37.996221000361501 ], [ -122.131675999929158, 37.996521000722943 ], [ -122.131376000461131, 37.997221000611617 ], [ -122.131308999745912, 37.997377000482629 ], [ -122.131075999719954, 37.997921000517891 ], [ -122.131175999780083, 37.998221000782493 ], [ -122.131175999429999, 37.998921000606984 ], [ -122.130775999398494, 37.999521000777428 ], [ -122.130608999632102, 37.999921000318615 ], [ -122.130276000226061, 38.00072100057259 ], [ -122.12988099984662, 38.0014120008315 ], [ -122.129475999787161, 38.002121000479541 ], [ -122.129775999631832, 38.002921001054453 ], [ -122.130275999628594, 38.003421001002366 ], [ -122.130376000100966, 38.003921000302235 ], [ -122.130391000316436, 38.004147000441058 ], [ -122.130448999629635, 38.005021001046579 ], [ -122.130475999757294, 38.00542100044332 ], [ -122.130476000311731, 38.005921000868682 ], [ -122.129917000170749, 38.006295000268203 ], [ -122.129576000022411, 38.006721000464971 ], [ -122.129554000171467, 38.006921001045079 ], [ -122.129375999921947, 38.008521000372902 ], [ -122.129376000227921, 38.009121001063903 ], [ -122.128976000038534, 38.00962100041712 ], [ -122.129144000009404, 38.009874000867981 ], [ -122.12937599979854, 38.010221000815775 ], [ -122.129176000267051, 38.010721000599567 ], [ -122.129375999393929, 38.011521000509227 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1096, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.074788999435071, 37.992675001111031 ], [ -122.0763740002687, 37.992121001030419 ], [ -122.077323999762029, 37.991865001031982 ], [ -122.078438999440763, 37.991653000822048 ], [ -122.080856999777382, 37.991356001076234 ], [ -122.087373999996672, 37.990821001020471 ], [ -122.091710999485926, 37.990391000271671 ], [ -122.09442400040551, 37.990338000909453 ], [ -122.097328000167124, 37.990674000891104 ], [ -122.098259999564618, 37.990730000910624 ], [ -122.098974999442163, 37.990822000482417 ], [ -122.100866999629531, 37.991550000544521 ], [ -122.102474999651065, 37.992221000942735 ], [ -122.105892000084964, 37.993652000469439 ], [ -122.111866000518233, 37.995812001001475 ], [ -122.112793000125762, 37.996056000812032 ], [ -122.113350000087934, 37.996146001037332 ], [ -122.114197000063328, 37.996121000953224 ], [ -122.116675999541769, 37.995981000309236 ], [ -122.117501999792253, 37.995874000975974 ], [ -122.118080999617959, 37.995764000986391 ], [ -122.11865999953676, 37.9955110007892 ], [ -122.12037600001257, 37.994774000566927 ], [ -122.120675000073618, 37.995121001019413 ], [ -122.119974999668173, 37.996221000282041 ], [ -122.116469000433185, 37.998675000429436 ], [ -122.11497499941332, 37.999721000289242 ], [ -122.114594999903602, 37.999921000810048 ], [ -122.114457999626353, 37.999993000445095 ], [ -122.113074999459158, 38.000721000340427 ], [ -122.108474999436552, 38.003321000821359 ], [ -122.106474999539657, 38.004421000248641 ], [ -122.103475000452548, 38.004921000694374 ], [ -122.102174999925666, 38.005021000271377 ], [ -122.099013000285012, 38.005242000476848 ], [ -122.092175000356562, 38.005721000315617 ], [ -122.085974000214364, 38.00422100079814 ], [ -122.082574000244122, 38.005321000453613 ], [ -122.081574000492324, 38.005821000853331 ], [ -122.077350000278557, 38.008468000479446 ], [ -122.074073999580662, 38.01052100033646 ], [ -122.068073999738715, 38.017821000920065 ], [ -122.065173999415762, 38.020121000831708 ], [ -122.064874000008146, 38.020321000734739 ], [ -122.063574000254135, 38.018321000753531 ], [ -122.054975000239352, 38.004495000320723 ], [ -122.053373999835657, 38.001921000502321 ], [ -122.053333999475456, 38.001777000582187 ], [ -122.052872999902831, 38.000121000878501 ], [ -122.053405000262529, 37.999940000704605 ], [ -122.056373999662583, 37.999021000708559 ], [ -122.056719000235177, 37.998886000999072 ], [ -122.057173999955481, 37.998721000535618 ], [ -122.06327399975622, 37.99662100070136 ], [ -122.065973999863743, 37.995621000958963 ], [ -122.06699099988883, 37.995282000793672 ], [ -122.067420000258636, 37.995120000418787 ], [ -122.069504000068605, 37.994462001027934 ], [ -122.06999199963964, 37.994318001053749 ], [ -122.070520999898818, 37.994061001130689 ], [ -122.073386999838604, 37.993123000235713 ], [ -122.074273999860097, 37.992821000479623 ], [ -122.074788999435071, 37.992675001111031 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1124, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.126675999420698, 37.991422000840117 ], [ -122.126975999539539, 37.991522001104308 ], [ -122.126730000163306, 37.99160700086793 ], [ -122.121874999488838, 37.994122000761877 ], [ -122.12037600001257, 37.994774000566927 ], [ -122.11865999953676, 37.9955110007892 ], [ -122.118080999617959, 37.995764000986391 ], [ -122.117501999792253, 37.995874000975974 ], [ -122.116675999541769, 37.995981000309236 ], [ -122.114197000063328, 37.996121000953224 ], [ -122.113350000087934, 37.996146001037332 ], [ -122.112793000125762, 37.996056000812032 ], [ -122.111866000518233, 37.995812001001475 ], [ -122.105892000084964, 37.993652000469439 ], [ -122.102474999651065, 37.992221000942735 ], [ -122.100866999629531, 37.991550000544521 ], [ -122.098974999442163, 37.990822000482417 ], [ -122.098259999564618, 37.990730000910624 ], [ -122.097328000167124, 37.990674000891104 ], [ -122.09442400040551, 37.990338000909453 ], [ -122.091710999485926, 37.990391000271671 ], [ -122.087373999996672, 37.990821001020471 ], [ -122.080856999777382, 37.991356001076234 ], [ -122.078438999440763, 37.991653000822048 ], [ -122.077323999762029, 37.991865001031982 ], [ -122.0763740002687, 37.992121001030419 ], [ -122.076720999488714, 37.99118000097284 ], [ -122.076985999758691, 37.990460001049804 ], [ -122.077074000229729, 37.990221000809662 ], [ -122.077082999505194, 37.990010001065734 ], [ -122.077113000000409, 37.989344000365413 ], [ -122.077139000353213, 37.988748000843366 ], [ -122.077248999931044, 37.986285001129133 ], [ -122.077274000128511, 37.985722000392578 ], [ -122.077474000203765, 37.984522000985905 ], [ -122.078523000327039, 37.983970000580982 ], [ -122.079373999681678, 37.98352200064933 ], [ -122.080173999726128, 37.983522000671002 ], [ -122.081673999488046, 37.983722000778712 ], [ -122.08207399940396, 37.983822001076938 ], [ -122.084973999971211, 37.984122000571674 ], [ -122.085573999828426, 37.983922000689589 ], [ -122.08647299984753, 37.983652000325193 ], [ -122.086573999703404, 37.983622000274217 ], [ -122.0876740003864, 37.983622000392437 ], [ -122.08867399952716, 37.983622000407607 ], [ -122.091042000062686, 37.983440000778437 ], [ -122.091274999937113, 37.983422000452919 ], [ -122.092875000332214, 37.983422000743339 ], [ -122.093530999467561, 37.983463000889678 ], [ -122.094474999420655, 37.983522000738013 ], [ -122.097075000460066, 37.983622000403798 ], [ -122.098874999463803, 37.984422000460185 ], [ -122.099475000217822, 37.984422000436332 ], [ -122.100275000423551, 37.98352200086962 ], [ -122.102574999769587, 37.982322000988901 ], [ -122.103874999724454, 37.981622000375744 ], [ -122.104371999988601, 37.981843000975132 ], [ -122.104775000048846, 37.982022000660763 ], [ -122.104953999644195, 37.982094000576048 ], [ -122.105775000020486, 37.982422000955111 ], [ -122.107416000199635, 37.982212001064994 ], [ -122.108513999559904, 37.982072000974021 ], [ -122.110475000520935, 37.981822000410894 ], [ -122.111474999525072, 37.981822001072594 ], [ -122.115775000023078, 37.981822000601376 ], [ -122.115867999512133, 37.981899000944779 ], [ -122.115944999925816, 37.981970001097068 ], [ -122.116073000188422, 37.982081000561202 ], [ -122.11612400029226, 37.982242000334438 ], [ -122.116274999484048, 37.982422000326586 ], [ -122.116774999835158, 37.982922000603715 ], [ -122.117275000363122, 37.983222000530674 ], [ -122.118274999949548, 37.983822000318611 ], [ -122.119775000004111, 37.984822000771302 ], [ -122.120274999673597, 37.985422000570878 ], [ -122.120774999439348, 37.985922000939823 ], [ -122.121874999645073, 37.987022001091511 ], [ -122.122340999513838, 37.987565000780961 ], [ -122.123074999478874, 37.988422001032603 ], [ -122.123474999494533, 37.988822000399196 ], [ -122.123675000400183, 37.989122000884613 ], [ -122.12404000009451, 37.989268000536107 ], [ -122.124175000286712, 37.989322000382586 ], [ -122.124774999861387, 37.989622001098475 ], [ -122.126076000488723, 37.990222000392926 ], [ -122.126276000273648, 37.99062200089945 ], [ -122.126400999948459, 37.990872000582975 ], [ -122.126675999420698, 37.991422000840117 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1126, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.078573999679762, 37.968222001119742 ], [ -122.078880000014308, 37.96832400025577 ], [ -122.078993999810621, 37.968362000735716 ], [ -122.079774000062713, 37.968622001077243 ], [ -122.08270299998523, 37.968497000523882 ], [ -122.084473999625118, 37.968422000520498 ], [ -122.08507400027996, 37.968522000360693 ], [ -122.086873999622597, 37.968622000362593 ], [ -122.088573999998218, 37.969322000515248 ], [ -122.088741000431924, 37.968988000604661 ], [ -122.08914199986782, 37.968185000712431 ], [ -122.089817000053543, 37.966836000612155 ], [ -122.090173999590846, 37.966122000767967 ], [ -122.090273999854716, 37.965822000540498 ], [ -122.091223999412222, 37.96487200112356 ], [ -122.091475000415301, 37.964622000525537 ], [ -122.092075000393748, 37.964022000456168 ], [ -122.092974999758255, 37.962922000794173 ], [ -122.092874999980182, 37.961922001051278 ], [ -122.092517999577851, 37.960280000240708 ], [ -122.092390999663365, 37.959694000865376 ], [ -122.092374999867602, 37.959622000364838 ], [ -122.092175000027652, 37.959222000938055 ], [ -122.091373999492845, 37.957422000422198 ], [ -122.091575999861803, 37.957153000479721 ], [ -122.091674000244765, 37.957022000719398 ], [ -122.092475000342532, 37.957722000966598 ], [ -122.093674999526542, 37.95892200110346 ], [ -122.09397500004242, 37.95912200077035 ], [ -122.094127000368843, 37.959579000533502 ], [ -122.094175000119833, 37.959722000394812 ], [ -122.095000999478586, 37.960755000798216 ], [ -122.095081999809736, 37.960856000882188 ], [ -122.09537499973608, 37.961222000916592 ], [ -122.095675000080263, 37.961522000974341 ], [ -122.095995000377954, 37.961991000266693 ], [ -122.097175000377561, 37.963722001097373 ], [ -122.098574999761865, 37.965722001011102 ], [ -122.09927499951246, 37.966522001035528 ], [ -122.09977500051356, 37.967322000405531 ], [ -122.100434999909879, 37.967877000364659 ], [ -122.10227499977357, 37.96942200090885 ], [ -122.102674999940689, 37.969522000520975 ], [ -122.103986999951829, 37.96985000050006 ], [ -122.104275000137747, 37.969922000719279 ], [ -122.105774999399657, 37.970422000576299 ], [ -122.106174999398121, 37.970822000472076 ], [ -122.107214999644839, 37.972208000662683 ], [ -122.108322999947347, 37.97368600098747 ], [ -122.108874999462586, 37.974422000631876 ], [ -122.108977999671865, 37.974549000689777 ], [ -122.109026000428287, 37.974607000331531 ], [ -122.109775000363058, 37.975522000455406 ], [ -122.110775000103857, 37.976422000247588 ], [ -122.112575000375188, 37.978222000338988 ], [ -122.115880999567679, 37.981596000933479 ], [ -122.117174999504527, 37.98262200062198 ], [ -122.117674999661332, 37.982922000660864 ], [ -122.121875000027885, 37.983122000674328 ], [ -122.121674999548603, 37.983622000871861 ], [ -122.120574999799445, 37.984122000794265 ], [ -122.119775000004111, 37.984822000771302 ], [ -122.118274999949548, 37.983822000318611 ], [ -122.117275000363122, 37.983222000530674 ], [ -122.116774999835158, 37.982922000603715 ], [ -122.116274999484048, 37.982422000326586 ], [ -122.11612400029226, 37.982242000334438 ], [ -122.116073000188422, 37.982081000561202 ], [ -122.115944999925816, 37.981970001097068 ], [ -122.115867999512133, 37.981899000944779 ], [ -122.115775000023078, 37.981822000601376 ], [ -122.111474999525072, 37.981822001072594 ], [ -122.110475000520935, 37.981822000410894 ], [ -122.108513999559904, 37.982072000974021 ], [ -122.107416000199635, 37.982212001064994 ], [ -122.105775000020486, 37.982422000955111 ], [ -122.104953999644195, 37.982094000576048 ], [ -122.104775000048846, 37.982022000660763 ], [ -122.104371999988601, 37.981843000975132 ], [ -122.103874999724454, 37.981622000375744 ], [ -122.102574999769587, 37.982322000988901 ], [ -122.100275000423551, 37.98352200086962 ], [ -122.099475000217822, 37.984422000436332 ], [ -122.098874999463803, 37.984422000460185 ], [ -122.097075000460066, 37.983622000403798 ], [ -122.094474999420655, 37.983522000738013 ], [ -122.093530999467561, 37.983463000889678 ], [ -122.092875000332214, 37.983422000743339 ], [ -122.091274999937113, 37.983422000452919 ], [ -122.091042000062686, 37.983440000778437 ], [ -122.08867399952716, 37.983622000407607 ], [ -122.0876740003864, 37.983622000392437 ], [ -122.086573999703404, 37.983622000274217 ], [ -122.08647299984753, 37.983652000325193 ], [ -122.085573999828426, 37.983922000689589 ], [ -122.084973999971211, 37.984122000571674 ], [ -122.08207399940396, 37.983822001076938 ], [ -122.081673999488046, 37.983722000778712 ], [ -122.080173999726128, 37.983522000671002 ], [ -122.079373999681678, 37.98352200064933 ], [ -122.079474000459186, 37.982722000295411 ], [ -122.079774000052197, 37.980322000702074 ], [ -122.079074000511355, 37.979722000927005 ], [ -122.077885000447637, 37.979448000987951 ], [ -122.077773999415399, 37.979422000737564 ], [ -122.07730000012107, 37.979054001103343 ], [ -122.076873999499782, 37.978722000571452 ], [ -122.076674000160949, 37.978322000552758 ], [ -122.076673999568484, 37.978200000857733 ], [ -122.076673999713762, 37.977387000591023 ], [ -122.076674000412396, 37.977222000641845 ], [ -122.076596999794475, 37.977122001068103 ], [ -122.076252000246541, 37.976673001045796 ], [ -122.075674000259184, 37.975922001111627 ], [ -122.074670000202062, 37.975169000546344 ], [ -122.074073999601708, 37.974722001007628 ], [ -122.073973999803727, 37.971222000842097 ], [ -122.074273999948389, 37.970622000475402 ], [ -122.07507399964274, 37.968322000365603 ], [ -122.076873999671577, 37.967322001094423 ], [ -122.076974000374676, 37.967622000827411 ], [ -122.078573999679762, 37.968222001119742 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1125, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.091974999587507, 37.955622000483828 ], [ -122.092351000185488, 37.955020000898571 ], [ -122.092475000021423, 37.954822000563752 ], [ -122.092774999896633, 37.954422000493885 ], [ -122.096775000508927, 37.954422000657509 ], [ -122.097974999542956, 37.95442200030778 ], [ -122.099474999885118, 37.954422000691025 ], [ -122.101095000223722, 37.954504000570267 ], [ -122.101474999864905, 37.954523001075167 ], [ -122.102275000007737, 37.955522000379453 ], [ -122.102874999597987, 37.95592200045018 ], [ -122.103282999693135, 37.956466000831938 ], [ -122.10347500032718, 37.956722000731709 ], [ -122.104074999457666, 37.957822000746575 ], [ -122.10474300037707, 37.957525000506152 ], [ -122.105310000292704, 37.957273001113428 ], [ -122.105875000192086, 37.957022000388754 ], [ -122.106075000373536, 37.956722000540765 ], [ -122.106374999566171, 37.956322000723866 ], [ -122.105775000406041, 37.955922000402282 ], [ -122.104975000417838, 37.955822000803558 ], [ -122.105174999611918, 37.955422001126799 ], [ -122.106674999404007, 37.955422000811467 ], [ -122.106974999764375, 37.955622000885683 ], [ -122.107016999837356, 37.955664000729307 ], [ -122.107227999587622, 37.955875000505245 ], [ -122.107474999905762, 37.956122000273112 ], [ -122.107729000133801, 37.95647700040336 ], [ -122.107974999775848, 37.956822001009606 ], [ -122.10817500000195, 37.957122000778512 ], [ -122.108574999506232, 37.956922000698107 ], [ -122.108801999480235, 37.95737600027357 ], [ -122.108874999647156, 37.957522001081145 ], [ -122.109374999538275, 37.958522000537677 ], [ -122.110074999966258, 37.959422000935 ], [ -122.110220999480546, 37.959597000759722 ], [ -122.110575000321617, 37.960022000932533 ], [ -122.111360999756272, 37.960441000898527 ], [ -122.113574999458521, 37.961622000616664 ], [ -122.114274999877068, 37.962222001069435 ], [ -122.116175000160098, 37.963622000346533 ], [ -122.116972999684819, 37.964207001058519 ], [ -122.117675000472858, 37.964722000295474 ], [ -122.11887500031456, 37.965622000431495 ], [ -122.120774999569548, 37.96702200025144 ], [ -122.122875000187022, 37.967022001071157 ], [ -122.123174999654154, 37.967022000697611 ], [ -122.126575999463924, 37.966522000391294 ], [ -122.126476000032341, 37.967722000965921 ], [ -122.126475999647312, 37.968522000843656 ], [ -122.126475999396561, 37.968922000291499 ], [ -122.126676000455433, 37.971622000628514 ], [ -122.126776000423988, 37.972822000769604 ], [ -122.127076000155412, 37.973122000312003 ], [ -122.127776000309225, 37.973622000290973 ], [ -122.127496000208708, 37.975207000382255 ], [ -122.127476000366144, 37.97532200075235 ], [ -122.126575999790248, 37.977922000673537 ], [ -122.126076000506671, 37.978922000540109 ], [ -122.125475999690508, 37.979522000310332 ], [ -122.124974999537912, 37.98052200028112 ], [ -122.125375999427987, 37.981422000580707 ], [ -122.125775999942249, 37.982122000842118 ], [ -122.126175999406897, 37.983122000812848 ], [ -122.126475999688708, 37.983722000861505 ], [ -122.127875999615242, 37.98602200084067 ], [ -122.128375999515256, 37.986722000706919 ], [ -122.128570000383633, 37.987127001094017 ], [ -122.129976000403715, 37.989922000630798 ], [ -122.130075999423028, 37.990222000347231 ], [ -122.130375999741204, 37.990722000871173 ], [ -122.128018999992307, 37.991269000928582 ], [ -122.126975999539539, 37.991522001104308 ], [ -122.126675999420698, 37.991422000840117 ], [ -122.126400999948459, 37.990872000582975 ], [ -122.126276000273648, 37.99062200089945 ], [ -122.126076000488723, 37.990222000392926 ], [ -122.124774999861387, 37.989622001098475 ], [ -122.124175000286712, 37.989322000382586 ], [ -122.12404000009451, 37.989268000536107 ], [ -122.123675000400183, 37.989122000884613 ], [ -122.123474999494533, 37.988822000399196 ], [ -122.123074999478874, 37.988422001032603 ], [ -122.122340999513838, 37.987565000780961 ], [ -122.121874999645073, 37.987022001091511 ], [ -122.120774999439348, 37.985922000939823 ], [ -122.120274999673597, 37.985422000570878 ], [ -122.119775000004111, 37.984822000771302 ], [ -122.120574999799445, 37.984122000794265 ], [ -122.121674999548603, 37.983622000871861 ], [ -122.121875000027885, 37.983122000674328 ], [ -122.117674999661332, 37.982922000660864 ], [ -122.117174999504527, 37.98262200062198 ], [ -122.115880999567679, 37.981596000933479 ], [ -122.112575000375188, 37.978222000338988 ], [ -122.110775000103857, 37.976422000247588 ], [ -122.109775000363058, 37.975522000455406 ], [ -122.109026000428287, 37.974607000331531 ], [ -122.108977999671865, 37.974549000689777 ], [ -122.108874999462586, 37.974422000631876 ], [ -122.108322999947347, 37.97368600098747 ], [ -122.107214999644839, 37.972208000662683 ], [ -122.106174999398121, 37.970822000472076 ], [ -122.105774999399657, 37.970422000576299 ], [ -122.104275000137747, 37.969922000719279 ], [ -122.103986999951829, 37.96985000050006 ], [ -122.102674999940689, 37.969522000520975 ], [ -122.10227499977357, 37.96942200090885 ], [ -122.100434999909879, 37.967877000364659 ], [ -122.09977500051356, 37.967322000405531 ], [ -122.09927499951246, 37.966522001035528 ], [ -122.098574999761865, 37.965722001011102 ], [ -122.097175000377561, 37.963722001097373 ], [ -122.095995000377954, 37.961991000266693 ], [ -122.095675000080263, 37.961522000974341 ], [ -122.09537499973608, 37.961222000916592 ], [ -122.095081999809736, 37.960856000882188 ], [ -122.095000999478586, 37.960755000798216 ], [ -122.094175000119833, 37.959722000394812 ], [ -122.094127000368843, 37.959579000533502 ], [ -122.09397500004242, 37.95912200077035 ], [ -122.093674999526542, 37.95892200110346 ], [ -122.092475000342532, 37.957722000966598 ], [ -122.091674000244765, 37.957022000719398 ], [ -122.091573999907254, 37.956622000733503 ], [ -122.091374000088194, 37.956422000378382 ], [ -122.090674000251752, 37.955622000659254 ], [ -122.091473999520801, 37.955222000386485 ], [ -122.091974999587507, 37.955622000483828 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1127, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.081599000014506, 37.952375000670216 ], [ -122.081674000100804, 37.952322000294494 ], [ -122.082273999966461, 37.951822000525731 ], [ -122.083174000524252, 37.951423000545681 ], [ -122.08427400008668, 37.951223000554499 ], [ -122.084474000391026, 37.951523000691907 ], [ -122.085074000358418, 37.951923001065765 ], [ -122.086273999919229, 37.952822000659459 ], [ -122.087673999807166, 37.953722001128632 ], [ -122.087974000238304, 37.954022001065965 ], [ -122.088473999980081, 37.954422001054418 ], [ -122.088782999635981, 37.954591000714899 ], [ -122.089725000322147, 37.955105001119144 ], [ -122.090674000251752, 37.955622000659254 ], [ -122.091374000088194, 37.956422000378382 ], [ -122.091573999907254, 37.956622000733503 ], [ -122.091674000244765, 37.957022000719398 ], [ -122.091575999861803, 37.957153000479721 ], [ -122.091373999492845, 37.957422000422198 ], [ -122.092175000027652, 37.959222000938055 ], [ -122.092374999867602, 37.959622000364838 ], [ -122.092390999663365, 37.959694000865376 ], [ -122.092517999577851, 37.960280000240708 ], [ -122.092874999980182, 37.961922001051278 ], [ -122.092974999758255, 37.962922000794173 ], [ -122.092075000393748, 37.964022000456168 ], [ -122.091475000415301, 37.964622000525537 ], [ -122.091223999412222, 37.96487200112356 ], [ -122.090273999854716, 37.965822000540498 ], [ -122.090173999590846, 37.966122000767967 ], [ -122.089817000053543, 37.966836000612155 ], [ -122.08914199986782, 37.968185000712431 ], [ -122.088741000431924, 37.968988000604661 ], [ -122.088573999998218, 37.969322000515248 ], [ -122.086873999622597, 37.968622000362593 ], [ -122.08507400027996, 37.968522000360693 ], [ -122.084473999625118, 37.968422000520498 ], [ -122.08270299998523, 37.968497000523882 ], [ -122.079774000062713, 37.968622001077243 ], [ -122.078993999810621, 37.968362000735716 ], [ -122.078880000014308, 37.96832400025577 ], [ -122.078573999679762, 37.968222001119742 ], [ -122.076974000374676, 37.967622000827411 ], [ -122.076873999671577, 37.967322001094423 ], [ -122.07507399964274, 37.968322000365603 ], [ -122.074273999948389, 37.970622000475402 ], [ -122.073973999803727, 37.971222000842097 ], [ -122.073019000092657, 37.971259001136332 ], [ -122.071373999992247, 37.971322000689035 ], [ -122.069874000165086, 37.971322000671776 ], [ -122.068330999797439, 37.971375000343556 ], [ -122.066973999664654, 37.971422000922871 ], [ -122.065174000280166, 37.971422000645902 ], [ -122.063773999896114, 37.971422001003091 ], [ -122.063573999473306, 37.970322000420488 ], [ -122.063207000502203, 37.968539001123197 ], [ -122.063025000158618, 37.967655000986532 ], [ -122.062874000155674, 37.966922000313012 ], [ -122.062573999612951, 37.96552200026467 ], [ -122.06227399966123, 37.963622000297143 ], [ -122.061973999887798, 37.962022000818848 ], [ -122.06155700018148, 37.959805000843481 ], [ -122.061474000293799, 37.959322000686882 ], [ -122.061073999435649, 37.957822000480327 ], [ -122.060973999460089, 37.957222000492955 ], [ -122.060774000469479, 37.956422000417319 ], [ -122.060692000112439, 37.956216001052901 ], [ -122.060573999865753, 37.955922001049714 ], [ -122.060273999507857, 37.954722000445862 ], [ -122.060874000507653, 37.954722000566967 ], [ -122.061873999580826, 37.954722000255011 ], [ -122.064173999970365, 37.954822000670809 ], [ -122.066873999385365, 37.954722000977284 ], [ -122.067073999837532, 37.954022000802411 ], [ -122.067073999486908, 37.953722000324916 ], [ -122.067873999531955, 37.953822000518379 ], [ -122.06767399981355, 37.954622000472874 ], [ -122.066873999772113, 37.956422000463306 ], [ -122.066673999939923, 37.956822000570185 ], [ -122.066564000303003, 37.957665000487985 ], [ -122.066374000093461, 37.95912200048582 ], [ -122.068574000314513, 37.956722000759584 ], [ -122.06947400043677, 37.956522001027629 ], [ -122.070373999552572, 37.956222000536393 ], [ -122.071173999875299, 37.955722000932823 ], [ -122.072573999826631, 37.956189001065361 ], [ -122.073574000476341, 37.956522000934761 ], [ -122.073873999602881, 37.955922000728656 ], [ -122.074573999960776, 37.955622000258877 ], [ -122.074573999518776, 37.954822000553563 ], [ -122.074873999480147, 37.954622001074469 ], [ -122.07519899949385, 37.954672000926536 ], [ -122.076173999942142, 37.954822000516231 ], [ -122.07623100034948, 37.954787000337681 ], [ -122.076527999844174, 37.954601000392394 ], [ -122.076974000509409, 37.954322000724162 ], [ -122.077234000095743, 37.954380001031033 ], [ -122.077873999613857, 37.954522000351957 ], [ -122.078083999558302, 37.954470000919606 ], [ -122.078198999425283, 37.954441000684639 ], [ -122.078673999967876, 37.954322000411608 ], [ -122.078873999704655, 37.953822000754371 ], [ -122.079273999828288, 37.95372200073259 ], [ -122.079973999690679, 37.953522000492178 ], [ -122.081136000489636, 37.952702000482049 ], [ -122.081599000014506, 37.952375000670216 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1121, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.060692000112439, 37.956216001052901 ], [ -122.060774000469479, 37.956422000417319 ], [ -122.060973999460089, 37.957222000492955 ], [ -122.061073999435649, 37.957822000480327 ], [ -122.061474000293799, 37.959322000686882 ], [ -122.06155700018148, 37.959805000843481 ], [ -122.061973999887798, 37.962022000818848 ], [ -122.061821000224612, 37.962131001041001 ], [ -122.061273999452169, 37.962522001057238 ], [ -122.060673999585219, 37.962822000756333 ], [ -122.056573000472738, 37.965722001115147 ], [ -122.056197999741244, 37.965909000378666 ], [ -122.055972999746643, 37.966022000763843 ], [ -122.055933999605884, 37.965885000988358 ], [ -122.055773000257844, 37.965322000604921 ], [ -122.053872999412775, 37.961222000649677 ], [ -122.053473000342493, 37.960422000782344 ], [ -122.052772999559721, 37.958922000756843 ], [ -122.054072999794954, 37.956322001002285 ], [ -122.054972999571319, 37.954322000629794 ], [ -122.054772999527714, 37.953922000546733 ], [ -122.05448199962818, 37.952978000340558 ], [ -122.053972999953672, 37.951322001074153 ], [ -122.053725000311886, 37.950872001032117 ], [ -122.051772999950543, 37.94732200081679 ], [ -122.051272999518432, 37.947622000816288 ], [ -122.051273000152904, 37.947222001107662 ], [ -122.051673000491093, 37.945323001055471 ], [ -122.051672999439404, 37.945023000465355 ], [ -122.052132000280778, 37.942626000964452 ], [ -122.052572999694192, 37.940323001051503 ], [ -122.05297299996505, 37.937423000306921 ], [ -122.053172999469652, 37.936523000773455 ], [ -122.053293999974031, 37.935724000408221 ], [ -122.053672999416591, 37.933223000996527 ], [ -122.054173000473369, 37.93022300025202 ], [ -122.054173000450575, 37.929923000668595 ], [ -122.054773000153389, 37.926323000283013 ], [ -122.057673000308256, 37.926423000983789 ], [ -122.05907299953482, 37.926423000306158 ], [ -122.059272999756686, 37.926423000525745 ], [ -122.060072999398244, 37.926323001033985 ], [ -122.060445000077166, 37.926323000387214 ], [ -122.060873999423052, 37.926323001040359 ], [ -122.060273999547405, 37.930123000861641 ], [ -122.060284000056882, 37.930263000318114 ], [ -122.060374000341099, 37.931523000623983 ], [ -122.060274000389327, 37.933023000376828 ], [ -122.060473999495727, 37.933323000905794 ], [ -122.06027400019633, 37.934023000348631 ], [ -122.060473999924994, 37.937123000691699 ], [ -122.0604709995077, 37.937988000996306 ], [ -122.060873999671173, 37.937923000312175 ], [ -122.061774000124586, 37.937823000505524 ], [ -122.06277400005213, 37.937823000372262 ], [ -122.06397399991458, 37.937923000748299 ], [ -122.064174000137839, 37.938423001098215 ], [ -122.064074000034438, 37.938823000364344 ], [ -122.064173999636225, 37.93922300058955 ], [ -122.06417399969834, 37.939823001043123 ], [ -122.064274000203397, 37.940123000768111 ], [ -122.064273999700589, 37.940323000592905 ], [ -122.064173999941275, 37.94092300051895 ], [ -122.064173999567601, 37.943323000392105 ], [ -122.064474000442786, 37.94332300056444 ], [ -122.065400000133678, 37.943323001119481 ], [ -122.065974000369962, 37.94332300072886 ], [ -122.067774000267846, 37.943323000551494 ], [ -122.069673999574462, 37.943323001119957 ], [ -122.070051999442526, 37.943285000624869 ], [ -122.070674000269946, 37.943223000552464 ], [ -122.071473999624402, 37.943223000738847 ], [ -122.073174000174447, 37.943323000585117 ], [ -122.073154999901476, 37.943755000684824 ], [ -122.073074000424626, 37.945623000579978 ], [ -122.073074000193131, 37.94588600087274 ], [ -122.073074000205594, 37.946323001093674 ], [ -122.073086999491522, 37.946511001012382 ], [ -122.073095000120745, 37.946623000775254 ], [ -122.07317399999252, 37.947723001092555 ], [ -122.070673999528395, 37.947823000933411 ], [ -122.070373999575196, 37.947823000264279 ], [ -122.069473999720188, 37.947823000876078 ], [ -122.068573999928958, 37.947823000910759 ], [ -122.067974000102382, 37.947823000713392 ], [ -122.067657000314199, 37.947770000836172 ], [ -122.067373999977264, 37.947723000796543 ], [ -122.065874000333764, 37.947723000901348 ], [ -122.065241000360402, 37.94776500054698 ], [ -122.064374000514519, 37.947823001042728 ], [ -122.063284999606026, 37.947837000673566 ], [ -122.061758999711998, 37.947830000689095 ], [ -122.060273999598522, 37.947823001067981 ], [ -122.060329999460649, 37.949063001111966 ], [ -122.060373999468837, 37.95002200058881 ], [ -122.062620999481013, 37.94985600098137 ], [ -122.063074000329891, 37.949822000458866 ], [ -122.063074000269268, 37.9508220005468 ], [ -122.063073999638902, 37.951422000695487 ], [ -122.061073999489295, 37.951522000307584 ], [ -122.060973999857083, 37.952122000692263 ], [ -122.061073999421765, 37.953022000644935 ], [ -122.061874000490661, 37.953122001030799 ], [ -122.061973999413667, 37.953422000279296 ], [ -122.061973999622722, 37.954022001030808 ], [ -122.061873999580826, 37.954722000255011 ], [ -122.060874000507653, 37.954722000566967 ], [ -122.060273999507857, 37.954722000445862 ], [ -122.060573999865753, 37.955922001049714 ], [ -122.060692000112439, 37.956216001052901 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1129, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.083374000312332, 37.926023000401749 ], [ -122.083973999434193, 37.926123000284029 ], [ -122.084818000330586, 37.926070000485943 ], [ -122.085574000430256, 37.926023000960143 ], [ -122.086473999886309, 37.925923000328019 ], [ -122.087173999764062, 37.925723000844961 ], [ -122.086781999974676, 37.926272000818997 ], [ -122.086674000279473, 37.926423000989118 ], [ -122.086673999583979, 37.926856000473961 ], [ -122.086674000173801, 37.927823000505718 ], [ -122.08667400012429, 37.929023000991442 ], [ -122.086773999752481, 37.930623000515247 ], [ -122.08687399980694, 37.930923000816335 ], [ -122.086874000161004, 37.931723000768876 ], [ -122.086573999800947, 37.933123000366294 ], [ -122.085574000411128, 37.933423000448947 ], [ -122.085074000438055, 37.933423000853843 ], [ -122.084473999808523, 37.933323000974546 ], [ -122.083574000482884, 37.933623000452179 ], [ -122.082773999620684, 37.934223001046114 ], [ -122.082321999520886, 37.934725000825232 ], [ -122.081873999628485, 37.935223000423676 ], [ -122.081851999649103, 37.935355001109087 ], [ -122.081690000086866, 37.936327000850447 ], [ -122.081673999502073, 37.936423001054109 ], [ -122.081736999719411, 37.937053000922063 ], [ -122.081773999698711, 37.937423000999736 ], [ -122.081973999926348, 37.938023001106046 ], [ -122.081974000431032, 37.938623000623345 ], [ -122.081973999915377, 37.938863000948686 ], [ -122.081973999686355, 37.939223000972383 ], [ -122.082274000401696, 37.939723000533839 ], [ -122.082173999656149, 37.940123000269033 ], [ -122.082180000045071, 37.940329000948715 ], [ -122.082193000433762, 37.940731000572683 ], [ -122.082202999934069, 37.941035000538584 ], [ -122.082235000501171, 37.942058001103014 ], [ -122.082263999527711, 37.94299800082635 ], [ -122.082274000009519, 37.94332300027898 ], [ -122.081774000202159, 37.943323000738168 ], [ -122.079973999694431, 37.943323000646153 ], [ -122.079473999975903, 37.943323000342048 ], [ -122.077874000522272, 37.943323000585565 ], [ -122.077174000102602, 37.943323000940765 ], [ -122.075573999773795, 37.943323000535194 ], [ -122.07514299941343, 37.943323000298911 ], [ -122.07413899998221, 37.943323000724305 ], [ -122.073574000454215, 37.943323000975866 ], [ -122.073174000174447, 37.943323000585117 ], [ -122.071473999624402, 37.943223000738847 ], [ -122.070674000269946, 37.943223000552464 ], [ -122.070051999442526, 37.943285000624869 ], [ -122.069673999574462, 37.943323001119957 ], [ -122.067774000267846, 37.943323000551494 ], [ -122.065974000369962, 37.94332300072886 ], [ -122.065400000133678, 37.943323001119481 ], [ -122.064474000442786, 37.94332300056444 ], [ -122.064173999567601, 37.943323000392105 ], [ -122.064173999941275, 37.94092300051895 ], [ -122.064273999700589, 37.940323000592905 ], [ -122.064274000203397, 37.940123000768111 ], [ -122.06417399969834, 37.939823001043123 ], [ -122.064173999636225, 37.93922300058955 ], [ -122.064074000034438, 37.938823000364344 ], [ -122.064174000137839, 37.938423001098215 ], [ -122.06397399991458, 37.937923000748299 ], [ -122.06277400005213, 37.937823000372262 ], [ -122.061774000124586, 37.937823000505524 ], [ -122.060873999671173, 37.937923000312175 ], [ -122.0604709995077, 37.937988000996306 ], [ -122.060473999924994, 37.937123000691699 ], [ -122.06027400019633, 37.934023000348631 ], [ -122.060473999495727, 37.933323000905794 ], [ -122.060274000389327, 37.933023000376828 ], [ -122.060374000341099, 37.931523000623983 ], [ -122.060874000164262, 37.931623001072396 ], [ -122.061673999748777, 37.931423000483633 ], [ -122.061574000417096, 37.932023000843806 ], [ -122.061573999647834, 37.932723000566092 ], [ -122.062573999925647, 37.932623000396937 ], [ -122.06327400001642, 37.932823000840486 ], [ -122.06337400008546, 37.932523000521122 ], [ -122.063973999774007, 37.932423000514092 ], [ -122.064074000306135, 37.932723000721282 ], [ -122.064673999438128, 37.932823000834624 ], [ -122.064674000307335, 37.93232300107173 ], [ -122.065874000113723, 37.93242300063249 ], [ -122.066473999997342, 37.932623001096061 ], [ -122.067273999741758, 37.932723000927055 ], [ -122.067252000148429, 37.932993000500701 ], [ -122.067874000496147, 37.933023001098618 ], [ -122.070573999878974, 37.933223000974252 ], [ -122.073773999693671, 37.933223001128262 ], [ -122.073673999819945, 37.932823000325669 ], [ -122.073774000262844, 37.932323000643585 ], [ -122.073674000436213, 37.931423000529868 ], [ -122.073673999963276, 37.930723000954501 ], [ -122.073674000501697, 37.930023000404525 ], [ -122.073574000444822, 37.929523000523893 ], [ -122.073574000061853, 37.928523000670857 ], [ -122.073674000439667, 37.928023000690033 ], [ -122.07357399939788, 37.927523000649643 ], [ -122.073573999814286, 37.92612300053208 ], [ -122.074313000320487, 37.926123000407998 ], [ -122.075027999901351, 37.926123000756526 ], [ -122.075274000042654, 37.926123000974364 ], [ -122.07625899965818, 37.926123000939299 ], [ -122.077174000143671, 37.926123000707264 ], [ -122.078374000455369, 37.926123000620983 ], [ -122.079274000181996, 37.926123000856386 ], [ -122.07942299982389, 37.926123000361805 ], [ -122.080273999822168, 37.926123000753222 ], [ -122.080574000521167, 37.926123000963706 ], [ -122.081273999536364, 37.926123000261896 ], [ -122.082073999578185, 37.926123000420233 ], [ -122.082374000315554, 37.9261230005473 ], [ -122.083374000312332, 37.926023000401749 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1122, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.052772999559721, 37.958922000756843 ], [ -122.053473000342493, 37.960422000782344 ], [ -122.053872999412775, 37.961222000649677 ], [ -122.055773000257844, 37.965322000604921 ], [ -122.055933999605884, 37.965885000988358 ], [ -122.055972999746643, 37.966022000763843 ], [ -122.056197999741244, 37.965909000378666 ], [ -122.056573000472738, 37.965722001115147 ], [ -122.060673999585219, 37.962822000756333 ], [ -122.061273999452169, 37.962522001057238 ], [ -122.061821000224612, 37.962131001041001 ], [ -122.061973999887798, 37.962022000818848 ], [ -122.06227399966123, 37.963622000297143 ], [ -122.062573999612951, 37.96552200026467 ], [ -122.062874000155674, 37.966922000313012 ], [ -122.063025000158618, 37.967655000986532 ], [ -122.063207000502203, 37.968539001123197 ], [ -122.063573999473306, 37.970322000420488 ], [ -122.063773999896114, 37.971422001003091 ], [ -122.06427399975891, 37.973722001093222 ], [ -122.064874000460421, 37.975922000532982 ], [ -122.064704999825395, 37.976000000503419 ], [ -122.063574000385174, 37.976522000327591 ], [ -122.064398000118373, 37.977835000266204 ], [ -122.064624999805645, 37.978200000661985 ], [ -122.064973999410768, 37.979022001021761 ], [ -122.065103000073066, 37.979338001037263 ], [ -122.066074000048431, 37.98172200039123 ], [ -122.066473999859255, 37.983422000691263 ], [ -122.066692999854681, 37.984253000922727 ], [ -122.066974000037163, 37.985322000565354 ], [ -122.068173999834741, 37.990421000441181 ], [ -122.068650000225304, 37.991768000465122 ], [ -122.068874000419541, 37.99222100096555 ], [ -122.069674000156965, 37.993821000440683 ], [ -122.06999199963964, 37.994318001053749 ], [ -122.069504000068605, 37.994462001027934 ], [ -122.067420000258636, 37.995120000418787 ], [ -122.06699099988883, 37.995282000793672 ], [ -122.065973999863743, 37.995621000958963 ], [ -122.06327399975622, 37.99662100070136 ], [ -122.057173999955481, 37.998721000535618 ], [ -122.056719000235177, 37.998886000999072 ], [ -122.056373999662583, 37.999021000708559 ], [ -122.053405000262529, 37.999940000704605 ], [ -122.052872999902831, 38.000121000878501 ], [ -122.052669999850167, 38.000193000467121 ], [ -122.04757300027066, 38.002021000293134 ], [ -122.043228000469739, 38.003433000944042 ], [ -122.041624999825018, 38.003954000942059 ], [ -122.041031999779193, 38.004147000874227 ], [ -122.039723999770771, 38.004572000544385 ], [ -122.039572999865257, 38.004621000791936 ], [ -122.038579999664663, 38.00495200094575 ], [ -122.037172999567659, 38.005421001054657 ], [ -122.034876000059498, 38.006323000510058 ], [ -122.032875999668903, 38.007103000756651 ], [ -122.034352999839555, 38.006241000352574 ], [ -122.033583000035335, 38.006278000765192 ], [ -122.035815999862237, 38.004722000576088 ], [ -122.036072999837856, 38.004521000916498 ], [ -122.036276000146842, 38.004269000257757 ], [ -122.036436999660339, 38.004059000698227 ], [ -122.036719000365778, 38.003488000864763 ], [ -122.036778999670872, 38.004109000580414 ], [ -122.037226999762552, 38.0036000003008 ], [ -122.037448000182721, 38.001979000733286 ], [ -122.038015000030896, 37.999866000381218 ], [ -122.038506000342238, 37.998040001122448 ], [ -122.038672999754368, 37.997421000761527 ], [ -122.038772999885595, 37.996521000339442 ], [ -122.038972999595813, 37.995421000938641 ], [ -122.038992999390103, 37.995338000633971 ], [ -122.040473000174018, 37.989221001072785 ], [ -122.040673000334422, 37.988621000521341 ], [ -122.040772999599781, 37.988121000826553 ], [ -122.041073000160253, 37.986721000393509 ], [ -122.041772999426584, 37.983621000347632 ], [ -122.041873000318077, 37.982722000746925 ], [ -122.042172999708995, 37.981722000423062 ], [ -122.042472999570592, 37.981222000408991 ], [ -122.042573000302468, 37.980922000245172 ], [ -122.043273000217454, 37.979622000806089 ], [ -122.043673000060181, 37.978922000563522 ], [ -122.047072999731554, 37.971922000768558 ], [ -122.047273000371916, 37.971522000620709 ], [ -122.047472999929155, 37.971122000987286 ], [ -122.047972999610622, 37.969822000986568 ], [ -122.048373000462604, 37.968622000448605 ], [ -122.051773000256944, 37.960522001053256 ], [ -122.05252399951442, 37.95952000074724 ], [ -122.052772999559721, 37.958922000756843 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1113, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.039772999845482, 37.978222001067174 ], [ -122.038872999418402, 37.97782200075239 ], [ -122.037472999590264, 37.978622000954871 ], [ -122.036273000470601, 37.979222000942833 ], [ -122.035273000180652, 37.979822000561569 ], [ -122.03417299944644, 37.980222000587489 ], [ -122.033072999474754, 37.980822000898961 ], [ -122.031572999994864, 37.981422001021414 ], [ -122.031273000096476, 37.980322000507563 ], [ -122.03087299985647, 37.979322001084626 ], [ -122.030350999389469, 37.978269000693203 ], [ -122.029816000362615, 37.977122000809395 ], [ -122.029372999892601, 37.976322000802938 ], [ -122.029772999542644, 37.97622200106634 ], [ -122.029272999716625, 37.975222000898121 ], [ -122.03137299993908, 37.974222001001735 ], [ -122.032572999665319, 37.97372200032099 ], [ -122.033572999764914, 37.973222000702592 ], [ -122.033472999882221, 37.972722000265769 ], [ -122.033472999855363, 37.9723220009231 ], [ -122.03417300012778, 37.972222001118254 ], [ -122.035172999533188, 37.972022000917846 ], [ -122.036272999491104, 37.971522000576535 ], [ -122.036372999658511, 37.97172200080167 ], [ -122.036573000453473, 37.972122000989316 ], [ -122.036972999507526, 37.972722001017367 ], [ -122.037473000244233, 37.973322000583785 ], [ -122.038893000429951, 37.972649000932854 ], [ -122.039372999647043, 37.972422000388242 ], [ -122.040472999532284, 37.971822000656601 ], [ -122.041373000141931, 37.971522000951964 ], [ -122.042427000361897, 37.971048001002664 ], [ -122.04337299966538, 37.970622000447285 ], [ -122.045173000262267, 37.969722000559671 ], [ -122.04517299943484, 37.969822000292815 ], [ -122.046072999468606, 37.970922000283139 ], [ -122.046772999703549, 37.970922000729935 ], [ -122.047172999432192, 37.971022000390448 ], [ -122.047472999929155, 37.971122000987286 ], [ -122.047273000371916, 37.971522000620709 ], [ -122.047072999731554, 37.971922000768558 ], [ -122.043673000060181, 37.978922000563522 ], [ -122.042772999545065, 37.978622000724137 ], [ -122.042473000057711, 37.978622000334589 ], [ -122.042072999960737, 37.978522000848869 ], [ -122.04147299996589, 37.978422000665638 ], [ -122.040873000476864, 37.978322001036972 ], [ -122.039772999845482, 37.978222001067174 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1112, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.038506000342238, 37.998040001122448 ], [ -122.038015000030896, 37.999866000381218 ], [ -122.037448000182721, 38.001979000733286 ], [ -122.037226999762552, 38.0036000003008 ], [ -122.036778999670872, 38.004109000580414 ], [ -122.036719000365778, 38.003488000864763 ], [ -122.036436999660339, 38.004059000698227 ], [ -122.036276000146842, 38.004269000257757 ], [ -122.036072999837856, 38.004521000916498 ], [ -122.035815999862237, 38.004722000576088 ], [ -122.033583000035335, 38.006278000765192 ], [ -122.034352999839555, 38.006241000352574 ], [ -122.032875999668903, 38.007103000756651 ], [ -122.032147000159881, 38.00739000066978 ], [ -122.030492999965205, 38.007952001081406 ], [ -122.029096000159996, 38.008237000827897 ], [ -122.027513999747171, 38.008472000653875 ], [ -122.023952000400485, 38.008987001019619 ], [ -122.023173000278376, 38.009121000287614 ], [ -122.022672999431933, 38.009221001094026 ], [ -122.022694999790474, 38.008951000737198 ], [ -122.022735999457041, 38.008399000934162 ], [ -122.022756999596524, 38.008133001003714 ], [ -122.022775000144293, 38.007956000471566 ], [ -122.023787000408291, 38.007050001085091 ], [ -122.024244999402981, 38.005534000857338 ], [ -122.024673000344592, 38.003921000467663 ], [ -122.025972999724786, 38.002421001000101 ], [ -122.02667300039883, 38.001721000316515 ], [ -122.027172999483994, 38.00102100104943 ], [ -122.027894999503587, 38.000021000803351 ], [ -122.0279670003452, 37.999921001126921 ], [ -122.028472999555092, 37.999221000524415 ], [ -122.031772999818259, 37.995321001091156 ], [ -122.032572999646746, 37.99362100059399 ], [ -122.032617000403178, 37.993555001001987 ], [ -122.032973000003608, 37.99302100073416 ], [ -122.03359799951653, 37.991910001057015 ], [ -122.033873000152681, 37.991421000858487 ], [ -122.034072999998187, 37.990821000349378 ], [ -122.034273000060679, 37.989321000945196 ], [ -122.034272999766898, 37.988521000779514 ], [ -122.033473000103896, 37.985421000588531 ], [ -122.032783999683886, 37.983660000922988 ], [ -122.032572999855034, 37.983121000360271 ], [ -122.032172999963848, 37.982221000586009 ], [ -122.031676000106543, 37.981560000309088 ], [ -122.031572999994864, 37.981422001021414 ], [ -122.033072999474754, 37.980822000898961 ], [ -122.03417299944644, 37.980222000587489 ], [ -122.035273000180652, 37.979822000561569 ], [ -122.036273000470601, 37.979222000942833 ], [ -122.037472999590264, 37.978622000954871 ], [ -122.038872999418402, 37.97782200075239 ], [ -122.039772999845482, 37.978222001067174 ], [ -122.040873000476864, 37.978322001036972 ], [ -122.04147299996589, 37.978422000665638 ], [ -122.042072999960737, 37.978522000848869 ], [ -122.042473000057711, 37.978622000334589 ], [ -122.042772999545065, 37.978622000724137 ], [ -122.043673000060181, 37.978922000563522 ], [ -122.043273000217454, 37.979622000806089 ], [ -122.042573000302468, 37.980922000245172 ], [ -122.042472999570592, 37.981222000408991 ], [ -122.042172999708995, 37.981722000423062 ], [ -122.041873000318077, 37.982722000746925 ], [ -122.041772999426584, 37.983621000347632 ], [ -122.041073000160253, 37.986721000393509 ], [ -122.040772999599781, 37.988121000826553 ], [ -122.040673000334422, 37.988621000521341 ], [ -122.040473000174018, 37.989221001072785 ], [ -122.038992999390103, 37.995338000633971 ], [ -122.038972999595813, 37.995421000938641 ], [ -122.038772999885595, 37.996521000339442 ], [ -122.038672999754368, 37.997421000761527 ], [ -122.038506000342238, 37.998040001122448 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1110, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.996622999700904, 37.973101000234507 ], [ -121.997772000075486, 37.972222001102239 ], [ -121.998572000244167, 37.971622000682842 ], [ -121.999571999872245, 37.970722000666278 ], [ -121.999872000380421, 37.97032200099946 ], [ -122.000172000159907, 37.970122001133078 ], [ -122.001171999453859, 37.969222000583372 ], [ -122.00147200006505, 37.968922000596898 ], [ -122.001971999779883, 37.968422000947641 ], [ -122.002772000328733, 37.967822000907574 ], [ -122.004072000072483, 37.968122000765476 ], [ -122.005972000306571, 37.968822000931873 ], [ -122.007171999478146, 37.969022000776732 ], [ -122.009071999955736, 37.969622001132329 ], [ -122.009672000450848, 37.969722000336681 ], [ -122.010571999784915, 37.970122000678501 ], [ -122.011171999895694, 37.970122000876351 ], [ -122.013672000056957, 37.970922000787262 ], [ -122.015072000052669, 37.971322000918043 ], [ -122.015771999523295, 37.971522001058474 ], [ -122.016011999866336, 37.971602000612663 ], [ -122.016672000363187, 37.971822000471427 ], [ -122.017872000391662, 37.972122000916663 ], [ -122.018672000516588, 37.972422000847018 ], [ -122.019671999442764, 37.972622000972599 ], [ -122.0205720001522, 37.972922000381089 ], [ -122.022272999664025, 37.973322000258626 ], [ -122.022673000011295, 37.97342200109977 ], [ -122.023683999811311, 37.973703000948014 ], [ -122.024473000078572, 37.973922000915728 ], [ -122.025573000490382, 37.974322000706479 ], [ -122.025972999442743, 37.974422000261271 ], [ -122.026673000254405, 37.974622000627967 ], [ -122.02797300034382, 37.974922000270368 ], [ -122.028972999762559, 37.975122000850384 ], [ -122.029272999716625, 37.975222000898121 ], [ -122.029772999542644, 37.97622200106634 ], [ -122.029372999892601, 37.976322000802938 ], [ -122.029816000362615, 37.977122000809395 ], [ -122.030350999389469, 37.978269000693203 ], [ -122.030172999671223, 37.978322000871053 ], [ -122.029472999412832, 37.97862200062508 ], [ -122.027872999547114, 37.979022000342987 ], [ -122.026672999713156, 37.979322000862368 ], [ -122.025773000225101, 37.979622000413222 ], [ -122.024772999902552, 37.979822000841985 ], [ -122.023472999837011, 37.980122000927096 ], [ -122.022873000271119, 37.980321001086729 ], [ -122.022072999435153, 37.980521000428539 ], [ -122.021673000239062, 37.980621000761047 ], [ -122.021372999458677, 37.980721000848995 ], [ -122.020971999655927, 37.98082100037081 ], [ -122.020272000234769, 37.98122100105541 ], [ -122.019872000307672, 37.981421000883699 ], [ -122.019372000477844, 37.981921000946343 ], [ -122.018171999582137, 37.982421001113764 ], [ -122.01597200042454, 37.983121000544045 ], [ -122.016471999646484, 37.983321000483066 ], [ -122.01507200030963, 37.984221001047864 ], [ -122.014672000148821, 37.984521001122772 ], [ -122.014272000040108, 37.984621000366708 ], [ -122.013871999478837, 37.984821001108202 ], [ -122.012971999945051, 37.985421000451609 ], [ -122.012471999895808, 37.985021000687652 ], [ -122.011772000294442, 37.98452100097289 ], [ -122.010072000171036, 37.983121000783001 ], [ -122.008071999929342, 37.981921000811766 ], [ -122.007571999743433, 37.981421000807273 ], [ -122.007239999788169, 37.981222000995771 ], [ -122.007071999588987, 37.98112100083052 ], [ -122.006572000123995, 37.980721000365151 ], [ -122.006171999767815, 37.980421000296452 ], [ -122.005271999865727, 37.97972100099674 ], [ -122.004419000202574, 37.979209000725398 ], [ -122.004271999745413, 37.97912100105556 ], [ -122.003934000125597, 37.97885100027888 ], [ -122.002271999650077, 37.977521001100072 ], [ -122.001771999578366, 37.977221000286804 ], [ -122.001314000204474, 37.976889000553982 ], [ -122.000671999597543, 37.976422000706577 ], [ -122.000371999974163, 37.97602200027459 ], [ -121.999272000263616, 37.97532200095845 ], [ -121.998871999644251, 37.974722000690981 ], [ -121.997172000013435, 37.973822001108388 ], [ -121.996971999628613, 37.973822000946036 ], [ -121.996072000286361, 37.973522000782303 ], [ -121.996622999700904, 37.973101000234507 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1109, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.989771999870214, 37.969822000391403 ], [ -121.990186999939027, 37.970154000249472 ], [ -121.990271999963539, 37.970222000908784 ], [ -121.990872000124682, 37.970622001070026 ], [ -121.991495999568755, 37.971073000777189 ], [ -121.99267200044973, 37.971922000587554 ], [ -121.993072000383279, 37.972322000694547 ], [ -121.993671999479474, 37.972822000333309 ], [ -121.993817000043052, 37.972967000799009 ], [ -121.993871999460765, 37.973022001108461 ], [ -121.99527199952162, 37.973922000486745 ], [ -121.995672000423397, 37.973722000427344 ], [ -121.996072000286361, 37.973522000782303 ], [ -121.996971999628613, 37.973822000946036 ], [ -121.997172000013435, 37.973822001108388 ], [ -121.998871999644251, 37.974722000690981 ], [ -121.999272000263616, 37.97532200095845 ], [ -122.000371999974163, 37.97602200027459 ], [ -122.000671999597543, 37.976422000706577 ], [ -122.001314000204474, 37.976889000553982 ], [ -122.001771999578366, 37.977221000286804 ], [ -122.002271999650077, 37.977521001100072 ], [ -122.003934000125597, 37.97885100027888 ], [ -122.004271999745413, 37.97912100105556 ], [ -122.004419000202574, 37.979209000725398 ], [ -122.005271999865727, 37.97972100099674 ], [ -122.006171999767815, 37.980421000296452 ], [ -122.006572000123995, 37.980721000365151 ], [ -122.007071999588987, 37.98112100083052 ], [ -122.007239999788169, 37.981222000995771 ], [ -122.007571999743433, 37.981421000807273 ], [ -122.008071999929342, 37.981921000811766 ], [ -122.010072000171036, 37.983121000783001 ], [ -122.011772000294442, 37.98452100097289 ], [ -122.012471999895808, 37.985021000687652 ], [ -122.012971999945051, 37.985421000451609 ], [ -122.012142000144507, 37.986002000887659 ], [ -122.010972000073096, 37.986821000834212 ], [ -122.009971999390999, 37.992121000817392 ], [ -122.006072000059518, 37.994121000818332 ], [ -122.004172000265797, 37.992221000288566 ], [ -122.003671999387947, 37.992721001104606 ], [ -122.003371999496295, 37.9925210007613 ], [ -121.998572000404863, 37.98902100058212 ], [ -121.996571999768122, 37.987521001014194 ], [ -121.996130000113638, 37.987215000268279 ], [ -121.995272000489251, 37.986621000449937 ], [ -121.992972000198534, 37.984721000976002 ], [ -121.992421999803341, 37.984333000561946 ], [ -121.991618000321012, 37.983767000837553 ], [ -121.991042999955951, 37.983362000916983 ], [ -121.990293000221499, 37.982834000913435 ], [ -121.989589000507081, 37.982338000267731 ], [ -121.98857200005142, 37.981621000444825 ], [ -121.98197100050632, 37.976522000983969 ], [ -121.982270999822646, 37.976122000391499 ], [ -121.982771000020946, 37.975722000245781 ], [ -121.983271000445072, 37.975322000622874 ], [ -121.983971000442736, 37.974722000499369 ], [ -121.985570999410854, 37.973422000808569 ], [ -121.986934000096753, 37.972247000972182 ], [ -121.98758299990476, 37.971687000607453 ], [ -121.98823299955518, 37.971128001046544 ], [ -121.988471999701034, 37.97092200073736 ], [ -121.988880000320293, 37.970577000432193 ], [ -121.989771999870214, 37.969822000391403 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1108, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.974929999571671, 37.9676170006978 ], [ -121.975271000327055, 37.967422000280621 ], [ -121.97537100029237, 37.967122000285656 ], [ -121.976570999399769, 37.966222000692206 ], [ -121.977120999876576, 37.965672000580923 ], [ -121.977370999732813, 37.965422000792088 ], [ -121.978171000364284, 37.964922000440659 ], [ -121.979071000279646, 37.964122001054648 ], [ -121.979571000265082, 37.963922000352618 ], [ -121.979707000336788, 37.963803000570088 ], [ -121.980370999845761, 37.963222000410255 ], [ -121.980470999567345, 37.963022000501397 ], [ -121.980770999761958, 37.962822000449982 ], [ -121.981070999459774, 37.96262200051445 ], [ -121.982870999793803, 37.96102200034953 ], [ -121.983871000420422, 37.961322000524561 ], [ -121.984470999581816, 37.96142200079354 ], [ -121.985070999906867, 37.961822000818316 ], [ -121.986470999502501, 37.96212200102827 ], [ -121.987770999895361, 37.962622000877026 ], [ -121.988270999583932, 37.962922000694036 ], [ -121.988871000074383, 37.963122000573527 ], [ -121.989471999852867, 37.963222000240904 ], [ -121.991672000465215, 37.963922000830102 ], [ -121.992072000033886, 37.96412200030138 ], [ -121.993072000107787, 37.964522000376625 ], [ -121.994771999789222, 37.965322001125799 ], [ -121.997671999870263, 37.966122001096203 ], [ -121.998772000200901, 37.966622000483227 ], [ -121.998872000123015, 37.966822000627211 ], [ -121.999372000077585, 37.966922000511424 ], [ -122.000572000226313, 37.967222000272336 ], [ -122.002471999650595, 37.967722001075458 ], [ -122.002772000328733, 37.967822000907574 ], [ -122.001971999779883, 37.968422000947641 ], [ -122.00147200006505, 37.968922000596898 ], [ -122.001171999453859, 37.969222000583372 ], [ -122.000172000159907, 37.970122001133078 ], [ -121.999872000380421, 37.97032200099946 ], [ -121.999571999872245, 37.970722000666278 ], [ -121.998572000244167, 37.971622000682842 ], [ -121.997772000075486, 37.972222001102239 ], [ -121.996622999700904, 37.973101000234507 ], [ -121.996072000286361, 37.973522000782303 ], [ -121.995672000423397, 37.973722000427344 ], [ -121.99527199952162, 37.973922000486745 ], [ -121.993871999460765, 37.973022001108461 ], [ -121.993817000043052, 37.972967000799009 ], [ -121.993671999479474, 37.972822000333309 ], [ -121.993072000383279, 37.972322000694547 ], [ -121.99267200044973, 37.971922000587554 ], [ -121.991495999568755, 37.971073000777189 ], [ -121.990872000124682, 37.970622001070026 ], [ -121.990271999963539, 37.970222000908784 ], [ -121.990186999939027, 37.970154000249472 ], [ -121.989771999870214, 37.969822000391403 ], [ -121.988880000320293, 37.970577000432193 ], [ -121.988471999701034, 37.97092200073736 ], [ -121.98823299955518, 37.971128001046544 ], [ -121.98758299990476, 37.971687000607453 ], [ -121.986934000096753, 37.972247000972182 ], [ -121.985570999410854, 37.973422000808569 ], [ -121.983971000442736, 37.974722000499369 ], [ -121.983271000445072, 37.975322000622874 ], [ -121.982771000020946, 37.975722000245781 ], [ -121.982270999822646, 37.976122000391499 ], [ -121.98197100050632, 37.976522000983969 ], [ -121.978070999602281, 37.973722000448824 ], [ -121.975771000313472, 37.975322000934916 ], [ -121.970271000432959, 37.971622000251557 ], [ -121.971370999757028, 37.970622000646216 ], [ -121.971470999506181, 37.970522000801594 ], [ -121.971674999688787, 37.970319000383292 ], [ -121.971871000331049, 37.970122000556835 ], [ -121.973470999869221, 37.969022000481559 ], [ -121.974571000278289, 37.967822000401625 ], [ -121.974929999571671, 37.9676170006978 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1107, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.007072000203451, 37.960022000283601 ], [ -122.00741700014143, 37.960229000990111 ], [ -122.008071999891484, 37.960622000443436 ], [ -122.008122000327461, 37.961026000336034 ], [ -122.008138000295375, 37.961154001002207 ], [ -122.008272000115198, 37.962222000515233 ], [ -122.008313999612341, 37.962420000583045 ], [ -122.008571999946923, 37.963622000902589 ], [ -122.008772000250957, 37.963822001062518 ], [ -122.008671999609774, 37.964122000657134 ], [ -122.008872000355595, 37.965022000267759 ], [ -122.00887200005225, 37.965622000265306 ], [ -122.009071999685744, 37.966122000300217 ], [ -122.009171999422207, 37.966722000792394 ], [ -122.009571999669859, 37.967722000257623 ], [ -122.009672000450848, 37.969722000336681 ], [ -122.009071999955736, 37.969622001132329 ], [ -122.007171999478146, 37.969022000776732 ], [ -122.005972000306571, 37.968822000931873 ], [ -122.004072000072483, 37.968122000765476 ], [ -122.002772000328733, 37.967822000907574 ], [ -122.002471999650595, 37.967722001075458 ], [ -122.000572000226313, 37.967222000272336 ], [ -121.999372000077585, 37.966922000511424 ], [ -121.998872000123015, 37.966822000627211 ], [ -121.998772000200901, 37.966622000483227 ], [ -121.997671999870263, 37.966122001096203 ], [ -121.994771999789222, 37.965322001125799 ], [ -121.993072000107787, 37.964522000376625 ], [ -121.994771999572464, 37.961722000238211 ], [ -121.995071999910664, 37.961222000932246 ], [ -121.995172000280206, 37.961022000841808 ], [ -121.995313000061429, 37.960899000454944 ], [ -121.995363000053388, 37.960855000672737 ], [ -121.9959720004194, 37.960322000686666 ], [ -121.99687200043283, 37.959222000484495 ], [ -121.997872000447543, 37.958322000552187 ], [ -121.998672000260029, 37.9578220004367 ], [ -121.999472000255125, 37.957122000960737 ], [ -122.000172000366462, 37.956622000572203 ], [ -122.000772000254997, 37.956022000422777 ], [ -122.000872000419335, 37.955922000241003 ], [ -122.001571999574011, 37.955222000989075 ], [ -122.00195099982804, 37.955498000528188 ], [ -122.002671999966637, 37.956022000878264 ], [ -122.003371999759622, 37.956622000880358 ], [ -122.004471999865842, 37.957922001111029 ], [ -122.005571999563159, 37.958922001111567 ], [ -122.006171999747281, 37.959422001044054 ], [ -122.007072000203451, 37.960022000283601 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1106, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.976871000451581, 37.954522000588092 ], [ -121.977103999659093, 37.95462300061439 ], [ -121.97714800008589, 37.954642000555161 ], [ -121.978031000478296, 37.955026000989022 ], [ -121.978170999888562, 37.954522000444008 ], [ -121.979775000282714, 37.954399000343606 ], [ -121.980701999723749, 37.954327000288067 ], [ -121.980771000444832, 37.954322000383975 ], [ -121.980898999726435, 37.954322000731878 ], [ -121.981054000272366, 37.954322000486052 ], [ -121.981170999636092, 37.954322000795706 ], [ -121.98157099994242, 37.954307001054346 ], [ -121.982520999984288, 37.954271001012941 ], [ -121.983270999904789, 37.954243000372337 ], [ -121.983910999735983, 37.954219000948257 ], [ -121.985279000052117, 37.954168000577809 ], [ -121.989170999982207, 37.954022000505333 ], [ -121.989170999725914, 37.954422000646289 ], [ -121.988671000524064, 37.954622000632206 ], [ -121.988970999956109, 37.955322000454331 ], [ -121.990170999679691, 37.955222000995285 ], [ -121.990971999914379, 37.955322000624221 ], [ -121.991171999856363, 37.954922000650477 ], [ -121.991871999892368, 37.954122000392758 ], [ -121.992272000089969, 37.954522001134471 ], [ -121.993072000103695, 37.955022000630819 ], [ -121.993472000381317, 37.955822001081479 ], [ -121.993472000444442, 37.956022000261186 ], [ -121.993272000447391, 37.956522001001183 ], [ -121.993372000367032, 37.957022001111547 ], [ -121.993671999544603, 37.957422001089029 ], [ -121.993902999400177, 37.957730000566727 ], [ -121.994572000419964, 37.958622000914701 ], [ -121.995062000336489, 37.958507000419587 ], [ -121.996271999937392, 37.958222000662644 ], [ -121.997672000265837, 37.957222000910207 ], [ -121.998672000260029, 37.9578220004367 ], [ -121.997872000447543, 37.958322000552187 ], [ -121.99687200043283, 37.959222000484495 ], [ -121.9959720004194, 37.960322000686666 ], [ -121.995363000053388, 37.960855000672737 ], [ -121.995313000061429, 37.960899000454944 ], [ -121.995172000280206, 37.961022000841808 ], [ -121.995071999910664, 37.961222000932246 ], [ -121.994771999572464, 37.961722000238211 ], [ -121.993072000107787, 37.964522000376625 ], [ -121.992072000033886, 37.96412200030138 ], [ -121.991672000465215, 37.963922000830102 ], [ -121.989471999852867, 37.963222000240904 ], [ -121.988871000074383, 37.963122000573527 ], [ -121.988270999583932, 37.962922000694036 ], [ -121.987770999895361, 37.962622000877026 ], [ -121.986470999502501, 37.96212200102827 ], [ -121.985070999906867, 37.961822000818316 ], [ -121.984470999581816, 37.96142200079354 ], [ -121.983871000420422, 37.961322000524561 ], [ -121.982870999793803, 37.96102200034953 ], [ -121.981514000048747, 37.96049100034783 ], [ -121.980571000480992, 37.960122000482841 ], [ -121.979470999418552, 37.959722000391466 ], [ -121.978170999488398, 37.959322000505743 ], [ -121.977771000061253, 37.959122000817608 ], [ -121.976470999894673, 37.958622000819993 ], [ -121.975971000151063, 37.958422000940118 ], [ -121.975371000366209, 37.958222000397932 ], [ -121.97497099963239, 37.95812200054236 ], [ -121.974670999562989, 37.957922000950006 ], [ -121.973570999815067, 37.957522000881802 ], [ -121.973419000053482, 37.957465000941241 ], [ -121.969071000415042, 37.955822000289757 ], [ -121.968571000405177, 37.955722000924183 ], [ -121.965770999937646, 37.954922000286828 ], [ -121.964671000260722, 37.954522001122669 ], [ -121.963970999730819, 37.954322000732752 ], [ -121.963470999521604, 37.954122001095648 ], [ -121.96217099961234, 37.953622000487549 ], [ -121.961153000068222, 37.953331000936394 ], [ -121.960771000155816, 37.953222001075581 ], [ -121.959168999948517, 37.952627001101256 ], [ -121.958893999478079, 37.952525000963028 ], [ -121.95850200002954, 37.952379000444715 ], [ -121.95833999983347, 37.95231900041351 ], [ -121.957270999593831, 37.951922000703348 ], [ -121.960771000077344, 37.949422000778831 ], [ -121.963670999741183, 37.947322000882842 ], [ -121.965971000309722, 37.946122000863369 ], [ -121.966956000194159, 37.946064000238366 ], [ -121.969370999882429, 37.945922000984901 ], [ -121.970336000098044, 37.946124000305048 ], [ -121.970641999866231, 37.946507000844719 ], [ -121.970787000046258, 37.946772000429107 ], [ -121.971371000190729, 37.947122000313279 ], [ -121.972370999771826, 37.947822000350882 ], [ -121.973065000246919, 37.949128000425382 ], [ -121.974070999961057, 37.95102200064229 ], [ -121.974171000317085, 37.951322000605991 ], [ -121.974185999473619, 37.951427000430151 ], [ -121.974271000355657, 37.952022000318486 ], [ -121.974460999389535, 37.952174000754745 ], [ -121.975028999542801, 37.952628000952359 ], [ -121.975271000205211, 37.952822000406883 ], [ -121.975271000283072, 37.95298200051031 ], [ -121.975271000279889, 37.953822000755224 ], [ -121.976691000336359, 37.954443000382639 ], [ -121.976773000410859, 37.954479000735212 ], [ -121.976871000451581, 37.954522000588092 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1116, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.015072000052669, 37.971322000918043 ], [ -122.013672000056957, 37.970922000787262 ], [ -122.011171999895694, 37.970122000876351 ], [ -122.010571999784915, 37.970122000678501 ], [ -122.009672000450848, 37.969722000336681 ], [ -122.009571999669859, 37.967722000257623 ], [ -122.009171999422207, 37.966722000792394 ], [ -122.009071999685744, 37.966122000300217 ], [ -122.00887200005225, 37.965622000265306 ], [ -122.008872000355595, 37.965022000267759 ], [ -122.008671999609774, 37.964122000657134 ], [ -122.008772000250957, 37.963822001062518 ], [ -122.008571999946923, 37.963622000902589 ], [ -122.008313999612341, 37.962420000583045 ], [ -122.008272000115198, 37.962222000515233 ], [ -122.008772000226557, 37.962222000465488 ], [ -122.00967999959073, 37.962263000238138 ], [ -122.010972000362941, 37.962322001101327 ], [ -122.01116799944738, 37.962387000401826 ], [ -122.011311000285986, 37.962435000454555 ], [ -122.011871999610534, 37.962622000925613 ], [ -122.013271999856471, 37.962922000875096 ], [ -122.014071999923857, 37.963122000744185 ], [ -122.015371999477054, 37.963522000618582 ], [ -122.015771999991387, 37.9636220004246 ], [ -122.016372000014101, 37.963822001004331 ], [ -122.016971999908733, 37.964022000335383 ], [ -122.017571999639259, 37.964222001121186 ], [ -122.01797200015352, 37.964322000679545 ], [ -122.018371999479299, 37.964422000674205 ], [ -122.018872000157813, 37.964522000666342 ], [ -122.01967200000837, 37.964822000954705 ], [ -122.020272000318542, 37.964922000996729 ], [ -122.020872000502351, 37.965122000329373 ], [ -122.023872999915611, 37.965922000784424 ], [ -122.025773000141257, 37.966522000488752 ], [ -122.029772999616569, 37.967722000544875 ], [ -122.030572999422233, 37.967822000613523 ], [ -122.031472999532582, 37.968222000234455 ], [ -122.031873000523362, 37.968222000763696 ], [ -122.032473000284313, 37.969122000950584 ], [ -122.032910999801132, 37.970655000390167 ], [ -122.033072999596584, 37.971222000892965 ], [ -122.033272999395678, 37.971722000831043 ], [ -122.033173000139996, 37.972222000761739 ], [ -122.033472999855363, 37.9723220009231 ], [ -122.033472999882221, 37.972722000265769 ], [ -122.033572999764914, 37.973222000702592 ], [ -122.032572999665319, 37.97372200032099 ], [ -122.03137299993908, 37.974222001001735 ], [ -122.029272999716625, 37.975222000898121 ], [ -122.028972999762559, 37.975122000850384 ], [ -122.02797300034382, 37.974922000270368 ], [ -122.026673000254405, 37.974622000627967 ], [ -122.025972999442743, 37.974422000261271 ], [ -122.025573000490382, 37.974322000706479 ], [ -122.024473000078572, 37.973922000915728 ], [ -122.023683999811311, 37.973703000948014 ], [ -122.022673000011295, 37.97342200109977 ], [ -122.022272999664025, 37.973322000258626 ], [ -122.0205720001522, 37.972922000381089 ], [ -122.019671999442764, 37.972622000972599 ], [ -122.018672000516588, 37.972422000847018 ], [ -122.017872000391662, 37.972122000916663 ], [ -122.016672000363187, 37.971822000471427 ], [ -122.016011999866336, 37.971602000612663 ], [ -122.015771999523295, 37.971522001058474 ], [ -122.015072000052669, 37.971322000918043 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1115, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.033272999395678, 37.971722000831043 ], [ -122.033072999596584, 37.971222000892965 ], [ -122.032910999801132, 37.970655000390167 ], [ -122.032473000284313, 37.969122000950584 ], [ -122.031873000523362, 37.968222000763696 ], [ -122.031472999532582, 37.968222000234455 ], [ -122.031772999698973, 37.966822000491433 ], [ -122.031172999471622, 37.965222000373373 ], [ -122.030873000470649, 37.963922000420105 ], [ -122.030473000124942, 37.962622000878106 ], [ -122.030772999695984, 37.962122000296453 ], [ -122.031198999477468, 37.961838000783899 ], [ -122.031373000336103, 37.961722000741169 ], [ -122.032373000462258, 37.961022000913943 ], [ -122.033372999746192, 37.960322000505585 ], [ -122.033973000189619, 37.960022000751842 ], [ -122.035273000246832, 37.961222000481051 ], [ -122.035472999768899, 37.961522000531609 ], [ -122.036272999781772, 37.962322000805372 ], [ -122.036372999432587, 37.96242200056578 ], [ -122.036472999443717, 37.96262200094187 ], [ -122.036905000433137, 37.963198001049854 ], [ -122.037673000451463, 37.96422200036654 ], [ -122.038172999748014, 37.964922000889999 ], [ -122.038267000059122, 37.965016000729953 ], [ -122.03923199981773, 37.965981001040468 ], [ -122.039272999724531, 37.966022000943475 ], [ -122.03887299954576, 37.966422000334809 ], [ -122.038273000174939, 37.966622000531906 ], [ -122.039172999503307, 37.967522000517249 ], [ -122.038473000455596, 37.96792200078049 ], [ -122.037672999635262, 37.96832200068279 ], [ -122.036972999630407, 37.968722000885656 ], [ -122.037172999595924, 37.969422001093861 ], [ -122.038244999484903, 37.970884000564624 ], [ -122.038820999609825, 37.971669000893769 ], [ -122.039082000267086, 37.97202500087392 ], [ -122.039372999647043, 37.972422000388242 ], [ -122.038893000429951, 37.972649000932854 ], [ -122.037473000244233, 37.973322000583785 ], [ -122.036972999507526, 37.972722001017367 ], [ -122.036573000453473, 37.972122000989316 ], [ -122.036372999658511, 37.97172200080167 ], [ -122.036272999491104, 37.971522000576535 ], [ -122.035172999533188, 37.972022000917846 ], [ -122.03417300012778, 37.972222001118254 ], [ -122.033472999855363, 37.9723220009231 ], [ -122.033173000139996, 37.972222000761739 ], [ -122.033272999395678, 37.971722000831043 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1120, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.04457300006024, 37.952422000892241 ], [ -122.045673000260507, 37.951622000925596 ], [ -122.047672999600422, 37.950222001027697 ], [ -122.049873000152431, 37.948722000828397 ], [ -122.050872999871999, 37.948022000754513 ], [ -122.051272999518432, 37.947622000816288 ], [ -122.051772999950543, 37.94732200081679 ], [ -122.053725000311886, 37.950872001032117 ], [ -122.053972999953672, 37.951322001074153 ], [ -122.05448199962818, 37.952978000340558 ], [ -122.054772999527714, 37.953922000546733 ], [ -122.054972999571319, 37.954322000629794 ], [ -122.054072999794954, 37.956322001002285 ], [ -122.052772999559721, 37.958922000756843 ], [ -122.05252399951442, 37.95952000074724 ], [ -122.051773000256944, 37.960522001053256 ], [ -122.048373000462604, 37.968622000448605 ], [ -122.047972999610622, 37.969822000986568 ], [ -122.047472999929155, 37.971122000987286 ], [ -122.047173000404072, 37.970522000809254 ], [ -122.046873000143577, 37.970322000613216 ], [ -122.046573000513192, 37.969922001068703 ], [ -122.046173000351104, 37.969322000629653 ], [ -122.045873000232106, 37.968722000650544 ], [ -122.043786000219427, 37.967308000577738 ], [ -122.042773000250818, 37.966622000916765 ], [ -122.04247299986028, 37.966122000991689 ], [ -122.041447999873995, 37.964632000455509 ], [ -122.041373000107015, 37.96452200100876 ], [ -122.04167299964044, 37.96312200110664 ], [ -122.041561000416934, 37.962785000706134 ], [ -122.041373000300709, 37.962222000673471 ], [ -122.03997299953609, 37.960522000678225 ], [ -122.038872999969456, 37.959622000874525 ], [ -122.037872999432153, 37.959222000493909 ], [ -122.036772999717542, 37.95952200103504 ], [ -122.036572999806396, 37.959122000535842 ], [ -122.036173000281821, 37.958522000905056 ], [ -122.036572999703012, 37.958122001005037 ], [ -122.03687299981236, 37.957822001060393 ], [ -122.037873000284264, 37.957122000323508 ], [ -122.03907299956677, 37.956222000810698 ], [ -122.039372999550039, 37.956022000534276 ], [ -122.041672999967901, 37.954522001019114 ], [ -122.043572999950612, 37.953122000335561 ], [ -122.04457300006024, 37.952422000892241 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1117, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.027872999523893, 37.964622000249243 ], [ -122.030873000470649, 37.963922000420105 ], [ -122.031172999471622, 37.965222000373373 ], [ -122.031772999698973, 37.966822000491433 ], [ -122.031472999532582, 37.968222000234455 ], [ -122.030572999422233, 37.967822000613523 ], [ -122.029772999616569, 37.967722000544875 ], [ -122.025773000141257, 37.966522000488752 ], [ -122.023872999915611, 37.965922000784424 ], [ -122.020872000502351, 37.965122000329373 ], [ -122.020272000318542, 37.964922000996729 ], [ -122.01967200000837, 37.964822000954705 ], [ -122.018872000157813, 37.964522000666342 ], [ -122.018371999479299, 37.964422000674205 ], [ -122.01797200015352, 37.964322000679545 ], [ -122.017571999639259, 37.964222001121186 ], [ -122.016971999908733, 37.964022000335383 ], [ -122.016372000014101, 37.963822001004331 ], [ -122.015771999991387, 37.9636220004246 ], [ -122.015371999477054, 37.963522000618582 ], [ -122.014071999923857, 37.963122000744185 ], [ -122.013271999856471, 37.962922000875096 ], [ -122.011871999610534, 37.962622000925613 ], [ -122.011311000285986, 37.962435000454555 ], [ -122.01116799944738, 37.962387000401826 ], [ -122.010972000362941, 37.962322001101327 ], [ -122.00967999959073, 37.962263000238138 ], [ -122.008772000226557, 37.962222000465488 ], [ -122.008272000115198, 37.962222000515233 ], [ -122.008138000295375, 37.961154001002207 ], [ -122.008122000327461, 37.961026000336034 ], [ -122.008071999891484, 37.960622000443436 ], [ -122.00741700014143, 37.960229000990111 ], [ -122.007072000203451, 37.960022000283601 ], [ -122.006171999747281, 37.959422001044054 ], [ -122.005571999563159, 37.958922001111567 ], [ -122.004471999865842, 37.957922001111029 ], [ -122.003371999759622, 37.956622000880358 ], [ -122.002671999966637, 37.956022000878264 ], [ -122.00195099982804, 37.955498000528188 ], [ -122.001571999574011, 37.955222000989075 ], [ -122.002771999499032, 37.954122000418579 ], [ -122.003372000526127, 37.953722000361665 ], [ -122.003571999555831, 37.953422001029971 ], [ -122.00467200000584, 37.952622000504093 ], [ -122.005297999829949, 37.951997000721093 ], [ -122.005571999726968, 37.951722000888495 ], [ -122.005772000231943, 37.950322001133692 ], [ -122.00677199970599, 37.948622001115375 ], [ -122.006971999915535, 37.948222000296134 ], [ -122.008771999896737, 37.947322000267071 ], [ -122.011371999497825, 37.946822000642506 ], [ -122.012272000434351, 37.946522000585773 ], [ -122.012992999733967, 37.946101000457276 ], [ -122.013471999426542, 37.945822000798081 ], [ -122.014205999554989, 37.946695000257115 ], [ -122.015571999459297, 37.948322000356868 ], [ -122.01707200034113, 37.949922000879283 ], [ -122.018472000451041, 37.950922000498878 ], [ -122.019172000210219, 37.951922000538225 ], [ -122.020646000522049, 37.954524000777738 ], [ -122.020872000039034, 37.954922000383924 ], [ -122.021171999884629, 37.956122000719304 ], [ -122.021672000338754, 37.956322001069815 ], [ -122.021490999675876, 37.956954000700662 ], [ -122.021471999902744, 37.957022000774209 ], [ -122.0222719998918, 37.957522000949687 ], [ -122.023071999496608, 37.958522000859098 ], [ -122.024172999982881, 37.96002200111397 ], [ -122.025272999431905, 37.960722000942575 ], [ -122.026418999839038, 37.961200000575538 ], [ -122.026472999429046, 37.961222000305149 ], [ -122.02660500052508, 37.96148600036323 ], [ -122.026873000289498, 37.962022000258244 ], [ -122.027272999834935, 37.964222001090334 ], [ -122.027272999929238, 37.964322000793047 ], [ -122.027638999899054, 37.964361000696321 ], [ -122.027872999523893, 37.964622000249243 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1138, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.003571999555831, 37.953422001029971 ], [ -122.003372000526127, 37.953722000361665 ], [ -122.002771999499032, 37.954122000418579 ], [ -122.001571999574011, 37.955222000989075 ], [ -122.00137200021635, 37.954922000595552 ], [ -122.000171999708272, 37.95402200065805 ], [ -121.999671999901167, 37.953622000918877 ], [ -121.998971999545276, 37.952922000866216 ], [ -121.99837200030008, 37.952322000598173 ], [ -121.99810800021676, 37.951860000966406 ], [ -121.99797199955286, 37.951622000530541 ], [ -121.997871999433784, 37.951522000743516 ], [ -121.997472000519778, 37.951122000756968 ], [ -121.997381000421584, 37.950990000374318 ], [ -121.996572000198896, 37.949822000544522 ], [ -121.995871999883619, 37.949222000610689 ], [ -121.99517199977997, 37.948722000744723 ], [ -121.994972000355162, 37.948622000549626 ], [ -121.993496000378713, 37.947568000823836 ], [ -121.992172000089369, 37.946622000761828 ], [ -121.99417199956612, 37.945722000985725 ], [ -121.994972000227307, 37.944922000711017 ], [ -121.995225999733208, 37.944656000805615 ], [ -121.995346999651275, 37.944530000897977 ], [ -121.997271999762546, 37.942522000621082 ], [ -121.997471999696032, 37.941422000546552 ], [ -121.997471999488596, 37.941322000684728 ], [ -121.997872000430732, 37.937123000856246 ], [ -122.003271999597345, 37.931723000725341 ], [ -122.004171999784518, 37.930723001011913 ], [ -122.006559000104417, 37.929980000618599 ], [ -122.008285000329991, 37.929443000825188 ], [ -122.008899000298484, 37.929252000587816 ], [ -122.009804999705921, 37.928970000463416 ], [ -122.010744999583309, 37.92867700069722 ], [ -122.014771999649071, 37.927423000495367 ], [ -122.016171999394771, 37.929123000425307 ], [ -122.017072000451066, 37.93002300087592 ], [ -122.019172000349073, 37.932123000608328 ], [ -122.020872000343459, 37.934023000786716 ], [ -122.021272000256232, 37.934623000331968 ], [ -122.022472000214691, 37.935823000682021 ], [ -122.023072000485882, 37.936423000765132 ], [ -122.024871999957227, 37.938423000852943 ], [ -122.023877999530157, 37.939035000753904 ], [ -122.022377999504783, 37.939958000602061 ], [ -122.02169199950184, 37.940380001042058 ], [ -122.021105999640923, 37.940741000752176 ], [ -122.020971999980631, 37.940823000616909 ], [ -122.020271999649609, 37.941323000617444 ], [ -122.019472000248129, 37.941923000308343 ], [ -122.018764000097093, 37.942378000842723 ], [ -122.018071999896037, 37.942822000832862 ], [ -122.01765700039077, 37.943099000661697 ], [ -122.016341000125365, 37.943976000239232 ], [ -122.015372000146982, 37.944622000986563 ], [ -122.014726000238625, 37.944999000769513 ], [ -122.014456000173212, 37.945157000589525 ], [ -122.014348999849915, 37.945219000840169 ], [ -122.013836000142618, 37.945562001011666 ], [ -122.013471999426542, 37.945822000798081 ], [ -122.012992999733967, 37.946101000457276 ], [ -122.012272000434351, 37.946522000585773 ], [ -122.011371999497825, 37.946822000642506 ], [ -122.008771999896737, 37.947322000267071 ], [ -122.006971999915535, 37.948222000296134 ], [ -122.00677199970599, 37.948622001115375 ], [ -122.005772000231943, 37.950322001133692 ], [ -122.005571999726968, 37.951722000888495 ], [ -122.005297999829949, 37.951997000721093 ], [ -122.00467200000584, 37.952622000504093 ], [ -122.003571999555831, 37.953422001029971 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1137, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.016171999394771, 37.929123000425307 ], [ -122.014771999649071, 37.927423000495367 ], [ -122.018271999782272, 37.925823000374272 ], [ -122.020172000195046, 37.925023000856477 ], [ -122.023672000081959, 37.924423000237816 ], [ -122.02687200028916, 37.923823000328923 ], [ -122.029172999727365, 37.922823001073503 ], [ -122.030672999855383, 37.922223000539304 ], [ -122.031467999694769, 37.921892001009255 ], [ -122.032327000299134, 37.921534000268103 ], [ -122.033370999894544, 37.921099000601458 ], [ -122.034273000417585, 37.920723000558588 ], [ -122.034577999722231, 37.920960000250375 ], [ -122.036072999684905, 37.922123000710314 ], [ -122.036507999392128, 37.922486000639431 ], [ -122.036633999546169, 37.922591000982251 ], [ -122.036672999501533, 37.92262300081228 ], [ -122.036772999401506, 37.922723000607888 ], [ -122.036972999999037, 37.92292300085127 ], [ -122.037372999881086, 37.923323000304784 ], [ -122.037488000396507, 37.923461000792393 ], [ -122.037872999802303, 37.923923000405921 ], [ -122.038237999792884, 37.924322000532655 ], [ -122.038298000457743, 37.924387001134519 ], [ -122.03897300035338, 37.925123000687748 ], [ -122.03947299948365, 37.925623000718574 ], [ -122.040072999930132, 37.926323000542567 ], [ -122.040473000328205, 37.926823000656405 ], [ -122.041073000521592, 37.927323000826242 ], [ -122.04247300032398, 37.928923000674367 ], [ -122.043172999527314, 37.929623000676422 ], [ -122.044273000294865, 37.930923001127738 ], [ -122.044991000266791, 37.93166900028703 ], [ -122.045413999986764, 37.932109000498073 ], [ -122.04677300016931, 37.933523000714686 ], [ -122.047072999943353, 37.933823001040174 ], [ -122.044473000254001, 37.935223000759073 ], [ -122.041672999427718, 37.936523000267748 ], [ -122.039473000472853, 37.937823000340842 ], [ -122.038873000329119, 37.938023000376916 ], [ -122.036672999515375, 37.939123000949486 ], [ -122.036173000195518, 37.939423001137015 ], [ -122.034472999928596, 37.940123000238735 ], [ -122.028972999897888, 37.943023000447766 ], [ -122.028772999667041, 37.942823000614439 ], [ -122.028073000511796, 37.942123000329701 ], [ -122.026973000480396, 37.940723000959068 ], [ -122.02647300034927, 37.940123001122927 ], [ -122.024871999957227, 37.938423000852943 ], [ -122.023072000485882, 37.936423000765132 ], [ -122.022472000214691, 37.935823000682021 ], [ -122.021272000256232, 37.934623000331968 ], [ -122.020872000343459, 37.934023000786716 ], [ -122.019172000349073, 37.932123000608328 ], [ -122.017072000451066, 37.93002300087592 ], [ -122.016171999394771, 37.929123000425307 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1140, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.03177299974864, 37.919223000328486 ], [ -122.032173000320967, 37.919323000695194 ], [ -122.032572999847574, 37.919623000659961 ], [ -122.033172999932745, 37.920023000984457 ], [ -122.034273000417585, 37.920723000558588 ], [ -122.033370999894544, 37.921099000601458 ], [ -122.032327000299134, 37.921534000268103 ], [ -122.031467999694769, 37.921892001009255 ], [ -122.030672999855383, 37.922223000539304 ], [ -122.029172999727365, 37.922823001073503 ], [ -122.02687200028916, 37.923823000328923 ], [ -122.023672000081959, 37.924423000237816 ], [ -122.020172000195046, 37.925023000856477 ], [ -122.018271999782272, 37.925823000374272 ], [ -122.014771999649071, 37.927423000495367 ], [ -122.013371999425019, 37.925823000234338 ], [ -122.012671999397341, 37.924923000337365 ], [ -122.012272000168153, 37.924423000352981 ], [ -122.011472000323124, 37.923623000382122 ], [ -122.011112999736469, 37.92173800062875 ], [ -122.011071999969602, 37.921523000870877 ], [ -122.010471999982926, 37.917723001105543 ], [ -122.010272000022439, 37.917523000271302 ], [ -122.010271999636245, 37.917023000299992 ], [ -122.008672000202239, 37.915423001120494 ], [ -122.007872000514411, 37.914223000835236 ], [ -122.009072000513513, 37.914223000900947 ], [ -122.010672000255624, 37.914323000679474 ], [ -122.011471999705492, 37.914223000357481 ], [ -122.012272000502975, 37.914323000839865 ], [ -122.012871999794442, 37.914323000691084 ], [ -122.01356900040345, 37.914291000760436 ], [ -122.013871999805033, 37.914323000863511 ], [ -122.014172000053108, 37.91432300070187 ], [ -122.014672000096809, 37.91432300083239 ], [ -122.015271999490196, 37.914323001062648 ], [ -122.01697199963597, 37.914323000735756 ], [ -122.017316999723008, 37.914372000987832 ], [ -122.017671999570567, 37.914423000703387 ], [ -122.018071999796987, 37.914423000619024 ], [ -122.019571999761695, 37.914723000401708 ], [ -122.020581000381128, 37.914896000317398 ], [ -122.021609999804326, 37.915072000476059 ], [ -122.023071999419713, 37.915323000946728 ], [ -122.024071999566004, 37.915423000605273 ], [ -122.02487199984931, 37.915623000759986 ], [ -122.025971999957903, 37.915723000826496 ], [ -122.027872000448681, 37.916723000964438 ], [ -122.030593000134857, 37.918433000746347 ], [ -122.031372999939265, 37.918923000354503 ], [ -122.03177299974864, 37.919223000328486 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1141, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.004422999496995, 37.892118001055032 ], [ -122.004572000265412, 37.892024000306279 ], [ -122.004943000207419, 37.892654000432913 ], [ -122.005572000489138, 37.893724000516521 ], [ -122.00837200028387, 37.895224000758439 ], [ -122.012271999815113, 37.896624000546552 ], [ -122.013871999979102, 37.896824000811797 ], [ -122.01747200019004, 37.898024000280195 ], [ -122.02437200029577, 37.900324001134777 ], [ -122.025771999501885, 37.900624000657693 ], [ -122.0271719995132, 37.901024000548439 ], [ -122.02684399993548, 37.90116900042932 ], [ -122.026614999682906, 37.901322000424877 ], [ -122.026471999786196, 37.90152400065196 ], [ -122.026446999973402, 37.901612000539167 ], [ -122.026672000364528, 37.901724000622373 ], [ -122.026554000470341, 37.901909000574911 ], [ -122.026416999517593, 37.902222000611424 ], [ -122.026380999789225, 37.90228000074331 ], [ -122.026202999843207, 37.902565000376327 ], [ -122.025868000332707, 37.903031000795252 ], [ -122.025653999856829, 37.903221000350676 ], [ -122.025486000414162, 37.903305000500424 ], [ -122.025165999874446, 37.903488000874994 ], [ -122.024707999423057, 37.903801001040399 ], [ -122.024342000198885, 37.904114000519698 ], [ -122.024159000094627, 37.904412000472227 ], [ -122.024005999689763, 37.90477000054689 ], [ -122.023945000373345, 37.905091001014689 ], [ -122.023899000373291, 37.90536500101436 ], [ -122.024005999891557, 37.905594000364374 ], [ -122.024172000154039, 37.905624000352311 ], [ -122.024295999488658, 37.90562500047178 ], [ -122.024478999931631, 37.905434000317911 ], [ -122.024646999980888, 37.905381000930589 ], [ -122.024771999508829, 37.905424000909875 ], [ -122.024921000069455, 37.905831000827135 ], [ -122.025058999858757, 37.906272000927181 ], [ -122.025149999637719, 37.906616000588549 ], [ -122.025088999731963, 37.906921000382162 ], [ -122.025150000155719, 37.907104000634355 ], [ -122.025302999666266, 37.90718000042655 ], [ -122.025354999622863, 37.907214000749299 ], [ -122.026271999916418, 37.907823001036832 ], [ -122.026271999987827, 37.908418000918864 ], [ -122.026272000457936, 37.908523000895741 ], [ -122.026272000105379, 37.908723000321338 ], [ -122.026219000422884, 37.909308000903643 ], [ -122.026171999468872, 37.909823000602032 ], [ -122.026172000108573, 37.910123000582132 ], [ -122.026171999986303, 37.910436000481916 ], [ -122.026172000352432, 37.910823001068344 ], [ -122.026171999593245, 37.911023000412989 ], [ -122.026942999992514, 37.910726000719968 ], [ -122.027472000401985, 37.910523000722492 ], [ -122.028072000345048, 37.910323001008933 ], [ -122.028271999964844, 37.909623000768789 ], [ -122.029473000293834, 37.910023000462182 ], [ -122.03067299950547, 37.910323000706015 ], [ -122.030872999449286, 37.91012300085923 ], [ -122.031172999754844, 37.909923001062182 ], [ -122.032272999704659, 37.909023000343851 ], [ -122.033573000331771, 37.908123000266343 ], [ -122.034972999729845, 37.908023000843599 ], [ -122.035519999425048, 37.908434001087279 ], [ -122.035773000074599, 37.908623000801782 ], [ -122.036049999675001, 37.908799001013001 ], [ -122.03687300014434, 37.909323000939615 ], [ -122.037118999927145, 37.909464000892839 ], [ -122.037244000292191, 37.909535001025517 ], [ -122.037573000489431, 37.909723000790073 ], [ -122.038072999903065, 37.910023000678592 ], [ -122.038483000329833, 37.910269000690555 ], [ -122.038796000255445, 37.910457000611643 ], [ -122.03915099983071, 37.910670000524142 ], [ -122.039572999715716, 37.91092300026699 ], [ -122.040772999705041, 37.911423000956432 ], [ -122.041073000013427, 37.911523000409197 ], [ -122.041972999992353, 37.912023000944259 ], [ -122.042373000253647, 37.912223000635009 ], [ -122.043272999954056, 37.912623000499778 ], [ -122.043673000024611, 37.913023000732395 ], [ -122.041672999765751, 37.91462300061746 ], [ -122.04087299969396, 37.915423000793972 ], [ -122.039173000198133, 37.917323000486846 ], [ -122.038331000416562, 37.918253000560846 ], [ -122.037272999431295, 37.919423000589603 ], [ -122.03687299963336, 37.91952300053368 ], [ -122.035572999636571, 37.920023001009064 ], [ -122.034273000417585, 37.920723000558588 ], [ -122.033172999932745, 37.920023000984457 ], [ -122.032572999847574, 37.919623000659961 ], [ -122.032173000320967, 37.919323000695194 ], [ -122.03177299974864, 37.919223000328486 ], [ -122.031372999939265, 37.918923000354503 ], [ -122.030593000134857, 37.918433000746347 ], [ -122.027872000448681, 37.916723000964438 ], [ -122.025971999957903, 37.915723000826496 ], [ -122.02487199984931, 37.915623000759986 ], [ -122.024071999566004, 37.915423000605273 ], [ -122.023071999419713, 37.915323000946728 ], [ -122.021609999804326, 37.915072000476059 ], [ -122.020581000381128, 37.914896000317398 ], [ -122.019571999761695, 37.914723000401708 ], [ -122.018071999796987, 37.914423000619024 ], [ -122.017671999570567, 37.914423000703387 ], [ -122.017316999723008, 37.914372000987832 ], [ -122.01697199963597, 37.914323000735756 ], [ -122.015271999490196, 37.914323001062648 ], [ -122.014672000096809, 37.91432300083239 ], [ -122.014172000053108, 37.91432300070187 ], [ -122.013871999805033, 37.914323000863511 ], [ -122.01356900040345, 37.914291000760436 ], [ -122.012871999794442, 37.914323000691084 ], [ -122.012272000502975, 37.914323000839865 ], [ -122.011471999705492, 37.914223000357481 ], [ -122.010672000255624, 37.914323000679474 ], [ -122.009072000513513, 37.914223000900947 ], [ -122.007872000514411, 37.914223000835236 ], [ -122.007171999935096, 37.913623001083266 ], [ -122.006916999672924, 37.913595001097463 ], [ -122.005128000147693, 37.913399000620664 ], [ -122.004531999470075, 37.913334000980861 ], [ -122.001763000514529, 37.913031000902819 ], [ -122.000771999430526, 37.912923000427298 ], [ -121.998395000362876, 37.912740000284479 ], [ -121.998172000241865, 37.912723000458861 ], [ -121.998038999730852, 37.91253200046247 ], [ -121.997838000193653, 37.912244000775019 ], [ -121.997443000396416, 37.911678000983827 ], [ -121.997252000123197, 37.911404001063907 ], [ -121.99688599962667, 37.910879000966695 ], [ -121.996249000350161, 37.90996600026844 ], [ -121.99587100035933, 37.909423000817021 ], [ -121.99596399974557, 37.908404000337939 ], [ -121.996071000411192, 37.907223000391795 ], [ -121.990970999596499, 37.899524000468816 ], [ -121.994571000172286, 37.898724000539346 ], [ -121.997271000121259, 37.896624000737276 ], [ -122.002163999703598, 37.893541000315892 ], [ -122.004422999496995, 37.892118001055032 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1133, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.078274000142656, 37.923323000237957 ], [ -122.078174000312757, 37.922623000292624 ], [ -122.078174000442957, 37.922123001008856 ], [ -122.078273999945665, 37.921623000882043 ], [ -122.078161000126101, 37.920602000537713 ], [ -122.078074000453142, 37.919823000883575 ], [ -122.078073999437535, 37.919423000366727 ], [ -122.078073999503516, 37.91902300073307 ], [ -122.078017000437228, 37.918417001029496 ], [ -122.07800700047359, 37.918316000757557 ], [ -122.077873999636097, 37.916923000748852 ], [ -122.076874000037961, 37.91702300085629 ], [ -122.076339999992669, 37.917076001132145 ], [ -122.075874000078329, 37.917123000557261 ], [ -122.075173999822383, 37.917023000276203 ], [ -122.074673999794769, 37.917023000308596 ], [ -122.073474000155556, 37.917123000284604 ], [ -122.073373999651153, 37.915123000285909 ], [ -122.072974000393344, 37.914423000380999 ], [ -122.07247400032243, 37.913623000520488 ], [ -122.071773999981019, 37.912424000737239 ], [ -122.071574000519888, 37.912124000405669 ], [ -122.071474000275728, 37.912024000998343 ], [ -122.071273999669131, 37.91172400104103 ], [ -122.070873999434198, 37.91102400100236 ], [ -122.0704360002686, 37.910524000460491 ], [ -122.070174000327668, 37.910224000978033 ], [ -122.070073999972394, 37.910124000371553 ], [ -122.069805000255755, 37.909720000768324 ], [ -122.069760000390147, 37.909653000346125 ], [ -122.069674000123868, 37.909524000692336 ], [ -122.069373999687215, 37.909324000955692 ], [ -122.068174000499425, 37.91062400069643 ], [ -122.067573999793538, 37.910724000894163 ], [ -122.06917400013343, 37.906924000295703 ], [ -122.069573999805769, 37.905324000483581 ], [ -122.070473999498034, 37.901824000510992 ], [ -122.070573999950938, 37.901224000718649 ], [ -122.070674000000949, 37.900924000357712 ], [ -122.070744999763789, 37.900151000332407 ], [ -122.070796999531325, 37.899513001013815 ], [ -122.070874000070617, 37.898824001065051 ], [ -122.070863000503692, 37.898541000932141 ], [ -122.070824999949338, 37.898066000547992 ], [ -122.070638999951854, 37.897172000790448 ], [ -122.07049800020414, 37.896783000544005 ], [ -122.070343999756219, 37.896444000289819 ], [ -122.071350999960828, 37.896445000783082 ], [ -122.071566000284037, 37.896449000558462 ], [ -122.071512999549341, 37.896673000340265 ], [ -122.071514999610983, 37.896728000295035 ], [ -122.071582999739917, 37.896776000615048 ], [ -122.071703999532446, 37.896781000811181 ], [ -122.072013000133339, 37.896732000683393 ], [ -122.07217899995841, 37.89672400095624 ], [ -122.072552000408308, 37.896455000255102 ], [ -122.073062000354426, 37.896164001040361 ], [ -122.074272999887697, 37.895905000801683 ], [ -122.075320000278239, 37.895830000511651 ], [ -122.076166000305506, 37.895913000755378 ], [ -122.077803000108503, 37.89619600112394 ], [ -122.078574000515658, 37.896724000414174 ], [ -122.080573999430499, 37.897324000390597 ], [ -122.08107400036188, 37.897424001037784 ], [ -122.082761000519156, 37.897627000271136 ], [ -122.083651999894897, 37.897695001011748 ], [ -122.08415600040847, 37.897724000891245 ], [ -122.085074000316169, 37.897724000417469 ], [ -122.087273999764975, 37.897824000370122 ], [ -122.091174000429049, 37.897724000804466 ], [ -122.091174000094981, 37.897924000609009 ], [ -122.091173999567701, 37.898224000753814 ], [ -122.091345000403408, 37.900196000989446 ], [ -122.091359000141665, 37.900356001058533 ], [ -122.091374000324294, 37.90052400047032 ], [ -122.09156300050941, 37.901752001112982 ], [ -122.091574000478914, 37.901824000711095 ], [ -122.092273999975617, 37.902624000599239 ], [ -122.093974000364881, 37.904124000890398 ], [ -122.09477500019041, 37.904824000564538 ], [ -122.097274999464034, 37.90612400047587 ], [ -122.09777499984753, 37.906624000848751 ], [ -122.098174999765703, 37.907024000510198 ], [ -122.098775000313779, 37.907324000767083 ], [ -122.099474999430527, 37.907724000928809 ], [ -122.100175000436778, 37.908124000557166 ], [ -122.10047500047429, 37.908324000609433 ], [ -122.100127000354604, 37.908881000572158 ], [ -122.099974999872259, 37.909124000365139 ], [ -122.099474999916538, 37.909524000592754 ], [ -122.099174999784182, 37.910224000813429 ], [ -122.09892400038872, 37.911579000985768 ], [ -122.098674999461565, 37.912924000600512 ], [ -122.099475000254515, 37.914224000825328 ], [ -122.099875000229773, 37.916224000901224 ], [ -122.099974999596995, 37.916824000264853 ], [ -122.099874999682811, 37.919823000586256 ], [ -122.098974999481698, 37.920023000689454 ], [ -122.098367999450986, 37.920163000727946 ], [ -122.097675000399533, 37.920323000858524 ], [ -122.096875000339267, 37.920923000840176 ], [ -122.096074999737269, 37.92152300066045 ], [ -122.095775000034195, 37.922023000363083 ], [ -122.095775000153196, 37.922723001110555 ], [ -122.094474999534441, 37.923523000390531 ], [ -122.092873999737463, 37.923923000591195 ], [ -122.091904999925646, 37.924214000737507 ], [ -122.090874000487446, 37.924523000794153 ], [ -122.089874000517412, 37.924723000779089 ], [ -122.088073999807747, 37.925123000282007 ], [ -122.087173999764062, 37.925723000844961 ], [ -122.086473999886309, 37.925923000328019 ], [ -122.085574000430256, 37.926023000960143 ], [ -122.084818000330586, 37.926070000485943 ], [ -122.083973999434193, 37.926123000284029 ], [ -122.083374000312332, 37.926023000401749 ], [ -122.082374000315554, 37.9261230005473 ], [ -122.082073999578185, 37.926123000420233 ], [ -122.081273999536364, 37.926123000261896 ], [ -122.080574000521167, 37.926123000963706 ], [ -122.080273999822168, 37.926123000753222 ], [ -122.07942299982389, 37.926123000361805 ], [ -122.079274000181996, 37.926123000856386 ], [ -122.078374000455369, 37.926123000620983 ], [ -122.078273999699917, 37.924923001097277 ], [ -122.07827399967104, 37.924323000372652 ], [ -122.078274000510632, 37.923823000330799 ], [ -122.078274000142656, 37.923323000237957 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1149, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.093897999424655, 37.873590000362242 ], [ -122.09457400018178, 37.874725000803224 ], [ -122.094808999523423, 37.876323000310101 ], [ -122.095073999534037, 37.87812500107033 ], [ -122.095273999881513, 37.878425001032674 ], [ -122.096475000106523, 37.880824000328261 ], [ -122.097075000240366, 37.881824000592566 ], [ -122.097275000182847, 37.882524000573667 ], [ -122.096975000435648, 37.882924000463603 ], [ -122.097174999917669, 37.883924000576755 ], [ -122.097274999876134, 37.884424000906179 ], [ -122.097874999715131, 37.885724000307064 ], [ -122.09777499977362, 37.886324000851786 ], [ -122.096576000070129, 37.886218000266183 ], [ -122.096575999862324, 37.885834001038319 ], [ -122.096557000287945, 37.885750001055463 ], [ -122.09648999961172, 37.885692000488042 ], [ -122.096336999902832, 37.885676000895309 ], [ -122.096210000124685, 37.885681000463528 ], [ -122.096069999978795, 37.885702000525896 ], [ -122.095962999598598, 37.885702000785393 ], [ -122.095829999728466, 37.885686000912294 ], [ -122.09567000012342, 37.885639000346757 ], [ -122.095287999445802, 37.885502000584658 ], [ -122.095217000124123, 37.885476000945658 ], [ -122.095044000343464, 37.88546000096769 ], [ -122.094770999732503, 37.885460000976565 ], [ -122.094564000387692, 37.885534001086121 ], [ -122.094323999627449, 37.885613000483907 ], [ -122.094090999597114, 37.885571000599825 ], [ -122.093851000508664, 37.885471000408231 ], [ -122.093657999870786, 37.88544900053185 ], [ -122.093470999847128, 37.885471001055159 ], [ -122.093317999813067, 37.885555000817412 ], [ -122.093151000513913, 37.885671000614295 ], [ -122.09304499979018, 37.885802000591326 ], [ -122.092973999599934, 37.886024001068478 ], [ -122.092573999887577, 37.88692400108868 ], [ -122.08937399971424, 37.887124000791694 ], [ -122.090873999640806, 37.888224000622579 ], [ -122.091473999563078, 37.890624000707653 ], [ -122.091333999458001, 37.891324000357471 ], [ -122.090474000067687, 37.891324000746273 ], [ -122.089773999384818, 37.891324001067076 ], [ -122.089774000130078, 37.892424000542341 ], [ -122.090374000175942, 37.892824000758658 ], [ -122.090973999877477, 37.893224000623441 ], [ -122.091174000040354, 37.894124000433536 ], [ -122.091473999579193, 37.89482400030078 ], [ -122.091673999520182, 37.89552400098863 ], [ -122.090473999612797, 37.895924001096148 ], [ -122.089773999959789, 37.896924000375485 ], [ -122.091273999529136, 37.897424000328073 ], [ -122.091884999696887, 37.897657000634055 ], [ -122.091174000429049, 37.897724000804466 ], [ -122.087273999764975, 37.897824000370122 ], [ -122.085074000316169, 37.897724000417469 ], [ -122.08415600040847, 37.897724000891245 ], [ -122.083651999894897, 37.897695001011748 ], [ -122.082761000519156, 37.897627000271136 ], [ -122.08107400036188, 37.897424001037784 ], [ -122.080573999430499, 37.897324000390597 ], [ -122.078574000515658, 37.896724000414174 ], [ -122.077803000108503, 37.89619600112394 ], [ -122.076166000305506, 37.895913000755378 ], [ -122.075320000278239, 37.895830000511651 ], [ -122.074272999887697, 37.895905000801683 ], [ -122.073062000354426, 37.896164001040361 ], [ -122.072552000408308, 37.896455000255102 ], [ -122.07217899995841, 37.89672400095624 ], [ -122.072013000133339, 37.896732000683393 ], [ -122.071703999532446, 37.896781000811181 ], [ -122.071582999739917, 37.896776000615048 ], [ -122.071514999610983, 37.896728000295035 ], [ -122.071512999549341, 37.896673000340265 ], [ -122.071566000284037, 37.896449000558462 ], [ -122.071350999960828, 37.896445000783082 ], [ -122.070343999756219, 37.896444000289819 ], [ -122.070076000116472, 37.896069000802633 ], [ -122.069717999503368, 37.895712000799527 ], [ -122.069366000368362, 37.895472000410855 ], [ -122.068964000308171, 37.895196000345777 ], [ -122.068279000219405, 37.894732000563529 ], [ -122.066610000354302, 37.893737000474481 ], [ -122.066512999424816, 37.893677001127436 ], [ -122.066073999879052, 37.893424000284796 ], [ -122.066674000408867, 37.892724000640484 ], [ -122.067211000404924, 37.892187001008416 ], [ -122.067274000330784, 37.892124000778864 ], [ -122.067433000353802, 37.891858000441466 ], [ -122.067573999632216, 37.891624000423519 ], [ -122.068222999615855, 37.890261000958702 ], [ -122.068433000162159, 37.889820000762818 ], [ -122.068574000060224, 37.889524000562453 ], [ -122.069068999715228, 37.889180000774488 ], [ -122.06914900001685, 37.889124000770892 ], [ -122.070873999953747, 37.887924000409463 ], [ -122.071373999591842, 37.887724000317526 ], [ -122.074074000196632, 37.886324000895037 ], [ -122.075474000002885, 37.885724000363112 ], [ -122.076773999783654, 37.885124000885682 ], [ -122.077373999623362, 37.884924000403402 ], [ -122.077473999488291, 37.884024001109132 ], [ -122.077473999727673, 37.883824001032096 ], [ -122.076773999742713, 37.881324000932999 ], [ -122.076574000367145, 37.880724000871467 ], [ -122.078839999838721, 37.880640000781945 ], [ -122.07927399956904, 37.880624000530737 ], [ -122.08031400011734, 37.880784000285033 ], [ -122.084474000230401, 37.881424000404799 ], [ -122.085092999900766, 37.88151000107451 ], [ -122.088073999646809, 37.881924000519192 ], [ -122.089273999580541, 37.881424000621259 ], [ -122.089474000087961, 37.870825000986443 ], [ -122.089073999515449, 37.870825000775689 ], [ -122.086674000066068, 37.867925001102087 ], [ -122.086290000447747, 37.867556001089056 ], [ -122.086389999878875, 37.867558001072155 ], [ -122.086490999562059, 37.86758700031973 ], [ -122.086973999848212, 37.867725001061245 ], [ -122.089074000156558, 37.869425000401336 ], [ -122.09047400030056, 37.870225001105574 ], [ -122.09177400034099, 37.870025000608095 ], [ -122.092615999748972, 37.871438001010816 ], [ -122.093467000040917, 37.872867000990937 ], [ -122.093897999424655, 37.873590000362242 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1144, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.052535999694939, 37.888360000288856 ], [ -122.05316800044092, 37.889646000542641 ], [ -122.053713000231312, 37.89075600051725 ], [ -122.053939000273061, 37.891216000794678 ], [ -122.055072999750408, 37.893524001062552 ], [ -122.05552799948957, 37.89549600056413 ], [ -122.056272999849071, 37.898724000992246 ], [ -122.05629299988793, 37.899424000650811 ], [ -122.056373000132979, 37.902224000262294 ], [ -122.057028000490462, 37.90431900112246 ], [ -122.057373000306313, 37.90542400084874 ], [ -122.057872999959514, 37.907024000640156 ], [ -122.056546000188547, 37.907466001060115 ], [ -122.056373000093103, 37.907524000843217 ], [ -122.05487300048668, 37.908024000704309 ], [ -122.054672999543413, 37.907724000674328 ], [ -122.05447299943782, 37.906824000645912 ], [ -122.054072999603136, 37.906224000630836 ], [ -122.053772999528661, 37.905524000253052 ], [ -122.053473000228877, 37.904924000841206 ], [ -122.053273000410698, 37.904424001109177 ], [ -122.053273000220969, 37.904224000244426 ], [ -122.052772999943954, 37.903324000609096 ], [ -122.052372999444984, 37.90292400094205 ], [ -122.051889000184204, 37.902440000461091 ], [ -122.051572999968727, 37.9021240011351 ], [ -122.051231999523708, 37.901752000626331 ], [ -122.050472999655454, 37.900924000357357 ], [ -122.050273000108064, 37.900724000834074 ], [ -122.049772999663816, 37.900124000947962 ], [ -122.049373000452434, 37.899524000910766 ], [ -122.048872999920036, 37.898824000727515 ], [ -122.047972999835366, 37.89802400097647 ], [ -122.047472999880796, 37.897924000509455 ], [ -122.046773000087029, 37.897424000458429 ], [ -122.045773000313702, 37.896624000469693 ], [ -122.045473000158424, 37.896524000425607 ], [ -122.044272999520615, 37.89592400063124 ], [ -122.042673000197297, 37.894824000999108 ], [ -122.042415000127505, 37.894566000600477 ], [ -122.042373000489889, 37.894524001071836 ], [ -122.042173000441849, 37.894524000522281 ], [ -122.041872999739795, 37.894324000281422 ], [ -122.040972999464543, 37.89422400072435 ], [ -122.040273000063209, 37.894524000429676 ], [ -122.039273000166418, 37.89462400081554 ], [ -122.038673000020339, 37.894324000244893 ], [ -122.037272999439793, 37.893724000919455 ], [ -122.037109999901219, 37.893615000418123 ], [ -122.036973000518927, 37.893524000880845 ], [ -122.036573000304472, 37.893324000859948 ], [ -122.036272999940223, 37.893224000876216 ], [ -122.035072999634878, 37.89232400031873 ], [ -122.034072999864676, 37.891924000619255 ], [ -122.033573000101171, 37.891624000702059 ], [ -122.033173000019005, 37.891324000833471 ], [ -122.032921999760532, 37.891199000490666 ], [ -122.032372999471789, 37.890924000734124 ], [ -122.032172999466241, 37.890724000261564 ], [ -122.031572999483302, 37.890424000575301 ], [ -122.031171999491519, 37.890424000279509 ], [ -122.030172000416613, 37.890324001054154 ], [ -122.029672000165846, 37.889924000797777 ], [ -122.029072000001634, 37.889724001074761 ], [ -122.027771999931389, 37.890024000519098 ], [ -122.027272000081368, 37.890124001104397 ], [ -122.026888999584116, 37.889954000452526 ], [ -122.026372000071376, 37.88972400097299 ], [ -122.028771999722721, 37.888924000600852 ], [ -122.029872000267673, 37.888524000935519 ], [ -122.030971999792087, 37.888024000713834 ], [ -122.031371999714864, 37.887924000508107 ], [ -122.032372999856804, 37.88752400072358 ], [ -122.033772999627345, 37.887024000935135 ], [ -122.034872999767643, 37.886724001101555 ], [ -122.035372999783505, 37.886524000285917 ], [ -122.037073000107554, 37.885924000708641 ], [ -122.038273000183537, 37.885424000585644 ], [ -122.038072999799198, 37.885324001123458 ], [ -122.03885000051136, 37.885081000982964 ], [ -122.039673000274192, 37.88482400100289 ], [ -122.040729000084468, 37.885235000498575 ], [ -122.041473000035992, 37.885524000629289 ], [ -122.042173000259282, 37.885524000718036 ], [ -122.045272999633852, 37.885224000292432 ], [ -122.047572999883556, 37.886124000550474 ], [ -122.048372999602677, 37.886224000708914 ], [ -122.0489730000413, 37.885824000801918 ], [ -122.049373000066666, 37.885624001106514 ], [ -122.049873000359725, 37.885024000397415 ], [ -122.050773000309164, 37.886124000927808 ], [ -122.050886999396795, 37.886259000396876 ], [ -122.051274000365524, 37.886717000831176 ], [ -122.051873000044338, 37.887424000949359 ], [ -122.052272999872642, 37.887824001077121 ], [ -122.052535999694939, 37.888360000288856 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1143, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.053772999528661, 37.905524000253052 ], [ -122.054072999603136, 37.906224000630836 ], [ -122.05447299943782, 37.906824000645912 ], [ -122.054672999543413, 37.907724000674328 ], [ -122.05487300048668, 37.908024000704309 ], [ -122.05337299999114, 37.908524001115183 ], [ -122.052372999659866, 37.908824000630233 ], [ -122.05157299974627, 37.909024000256593 ], [ -122.050273000241035, 37.909224000984558 ], [ -122.049073000417437, 37.909424000424039 ], [ -122.04687300046524, 37.911023000945512 ], [ -122.043673000024611, 37.913023000732395 ], [ -122.043272999954056, 37.912623000499778 ], [ -122.042373000253647, 37.912223000635009 ], [ -122.041972999992353, 37.912023000944259 ], [ -122.041073000013427, 37.911523000409197 ], [ -122.040772999705041, 37.911423000956432 ], [ -122.039572999715716, 37.91092300026699 ], [ -122.03915099983071, 37.910670000524142 ], [ -122.038796000255445, 37.910457000611643 ], [ -122.038483000329833, 37.910269000690555 ], [ -122.038072999903065, 37.910023000678592 ], [ -122.037573000489431, 37.909723000790073 ], [ -122.037244000292191, 37.909535001025517 ], [ -122.037118999927145, 37.909464000892839 ], [ -122.03687300014434, 37.909323000939615 ], [ -122.036049999675001, 37.908799001013001 ], [ -122.035773000074599, 37.908623000801782 ], [ -122.035519999425048, 37.908434001087279 ], [ -122.034972999729845, 37.908023000843599 ], [ -122.033573000331771, 37.908123000266343 ], [ -122.032272999704659, 37.909023000343851 ], [ -122.031172999754844, 37.909923001062182 ], [ -122.030872999449286, 37.91012300085923 ], [ -122.03067299950547, 37.910323000706015 ], [ -122.029473000293834, 37.910023000462182 ], [ -122.028271999964844, 37.909623000768789 ], [ -122.028072000345048, 37.910323001008933 ], [ -122.027472000401985, 37.910523000722492 ], [ -122.026942999992514, 37.910726000719968 ], [ -122.026171999593245, 37.911023000412989 ], [ -122.026172000352432, 37.910823001068344 ], [ -122.026171999986303, 37.910436000481916 ], [ -122.026172000108573, 37.910123000582132 ], [ -122.026171999468872, 37.909823000602032 ], [ -122.026219000422884, 37.909308000903643 ], [ -122.026272000105379, 37.908723000321338 ], [ -122.026272000457936, 37.908523000895741 ], [ -122.026271999987827, 37.908418000918864 ], [ -122.026271999916418, 37.907823001036832 ], [ -122.025354999622863, 37.907214000749299 ], [ -122.025302999666266, 37.90718000042655 ], [ -122.025150000155719, 37.907104000634355 ], [ -122.025088999731963, 37.906921000382162 ], [ -122.025149999637719, 37.906616000588549 ], [ -122.025058999858757, 37.906272000927181 ], [ -122.024921000069455, 37.905831000827135 ], [ -122.024771999508829, 37.905424000909875 ], [ -122.024646999980888, 37.905381000930589 ], [ -122.024478999931631, 37.905434000317911 ], [ -122.024295999488658, 37.90562500047178 ], [ -122.024172000154039, 37.905624000352311 ], [ -122.024005999891557, 37.905594000364374 ], [ -122.023899000373291, 37.90536500101436 ], [ -122.023945000373345, 37.905091001014689 ], [ -122.024005999689763, 37.90477000054689 ], [ -122.024159000094627, 37.904412000472227 ], [ -122.024342000198885, 37.904114000519698 ], [ -122.024707999423057, 37.903801001040399 ], [ -122.025165999874446, 37.903488000874994 ], [ -122.025486000414162, 37.903305000500424 ], [ -122.025653999856829, 37.903221000350676 ], [ -122.025868000332707, 37.903031000795252 ], [ -122.026202999843207, 37.902565000376327 ], [ -122.026380999789225, 37.90228000074331 ], [ -122.026416999517593, 37.902222000611424 ], [ -122.026554000470341, 37.901909000574911 ], [ -122.026672000364528, 37.901724000622373 ], [ -122.026446999973402, 37.901612000539167 ], [ -122.026471999786196, 37.90152400065196 ], [ -122.026614999682906, 37.901322000424877 ], [ -122.02684399993548, 37.90116900042932 ], [ -122.0271719995132, 37.901024000548439 ], [ -122.029127999532406, 37.902165000861096 ], [ -122.029571999931733, 37.902424000431509 ], [ -122.03252799954474, 37.903202000652556 ], [ -122.033372999664252, 37.903424000951844 ], [ -122.033372999455835, 37.901824000398619 ], [ -122.033172999405025, 37.901724000790722 ], [ -122.032372999851546, 37.901424000659034 ], [ -122.032230999456232, 37.901291000284004 ], [ -122.03216999978001, 37.901131000354411 ], [ -122.032109000182544, 37.900948000796319 ], [ -122.03204799989237, 37.900757000593195 ], [ -122.031911000228533, 37.900597000949311 ], [ -122.031773999695943, 37.900505000413624 ], [ -122.031590999755423, 37.90041400109682 ], [ -122.031373000484052, 37.900324000482875 ], [ -122.03167300003048, 37.899724001069856 ], [ -122.031178999557824, 37.899628000489486 ], [ -122.030659999988373, 37.899559000500616 ], [ -122.030064000186243, 37.899300000744219 ], [ -122.029896000316953, 37.899132000441519 ], [ -122.029871999625882, 37.899024000396025 ], [ -122.029941999812664, 37.8986360004765 ], [ -122.030124999556691, 37.898163000651699 ], [ -122.030398999394876, 37.897835000836814 ], [ -122.030919000493782, 37.897362000352032 ], [ -122.031269999670883, 37.897057001089152 ], [ -122.031864999550606, 37.896767000758956 ], [ -122.032215999942593, 37.896462000420357 ], [ -122.032369000488472, 37.896157000911359 ], [ -122.032414999560984, 37.895935000491313 ], [ -122.032490999514465, 37.895775001057523 ], [ -122.032490999724459, 37.895592000944767 ], [ -122.032445000357484, 37.895317000969989 ], [ -122.032444999941703, 37.895043000980124 ], [ -122.032476000459411, 37.894844000290192 ], [ -122.032520999468758, 37.894707000648978 ], [ -122.033073000526855, 37.894224000332954 ], [ -122.033272999512718, 37.894024001003459 ], [ -122.03367299939724, 37.893724000417542 ], [ -122.034373000120837, 37.89332400036573 ], [ -122.035072999634878, 37.89232400031873 ], [ -122.036272999940223, 37.893224000876216 ], [ -122.036573000304472, 37.893324000859948 ], [ -122.036973000518927, 37.893524000880845 ], [ -122.037109999901219, 37.893615000418123 ], [ -122.037272999439793, 37.893724000919455 ], [ -122.038673000020339, 37.894324000244893 ], [ -122.039273000166418, 37.89462400081554 ], [ -122.040273000063209, 37.894524000429676 ], [ -122.040972999464543, 37.89422400072435 ], [ -122.041872999739795, 37.894324000281422 ], [ -122.042173000441849, 37.894524000522281 ], [ -122.042373000489889, 37.894524001071836 ], [ -122.042415000127505, 37.894566000600477 ], [ -122.042673000197297, 37.894824000999108 ], [ -122.044272999520615, 37.89592400063124 ], [ -122.045473000158424, 37.896524000425607 ], [ -122.045773000313702, 37.896624000469693 ], [ -122.046773000087029, 37.897424000458429 ], [ -122.047472999880796, 37.897924000509455 ], [ -122.047972999835366, 37.89802400097647 ], [ -122.048872999920036, 37.898824000727515 ], [ -122.049373000452434, 37.899524000910766 ], [ -122.049772999663816, 37.900124000947962 ], [ -122.050273000108064, 37.900724000834074 ], [ -122.050472999655454, 37.900924000357357 ], [ -122.051231999523708, 37.901752000626331 ], [ -122.051572999968727, 37.9021240011351 ], [ -122.051889000184204, 37.902440000461091 ], [ -122.052372999444984, 37.90292400094205 ], [ -122.052772999943954, 37.903324000609096 ], [ -122.053273000220969, 37.904224000244426 ], [ -122.053273000410698, 37.904424001109177 ], [ -122.053473000228877, 37.904924000841206 ], [ -122.053772999528661, 37.905524000253052 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1142, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.049273000059813, 37.884224000802 ], [ -122.049873000359725, 37.885024000397415 ], [ -122.049373000066666, 37.885624001106514 ], [ -122.0489730000413, 37.885824000801918 ], [ -122.048372999602677, 37.886224000708914 ], [ -122.047572999883556, 37.886124000550474 ], [ -122.045272999633852, 37.885224000292432 ], [ -122.042173000259282, 37.885524000718036 ], [ -122.041473000035992, 37.885524000629289 ], [ -122.040729000084468, 37.885235000498575 ], [ -122.039673000274192, 37.88482400100289 ], [ -122.03885000051136, 37.885081000982964 ], [ -122.038072999799198, 37.885324001123458 ], [ -122.038273000183537, 37.885424000585644 ], [ -122.037073000107554, 37.885924000708641 ], [ -122.035372999783505, 37.886524000285917 ], [ -122.034872999767643, 37.886724001101555 ], [ -122.033772999627345, 37.887024000935135 ], [ -122.032372999856804, 37.88752400072358 ], [ -122.031371999714864, 37.887924000508107 ], [ -122.030971999792087, 37.888024000713834 ], [ -122.029872000267673, 37.888524000935519 ], [ -122.028771999722721, 37.888924000600852 ], [ -122.026372000071376, 37.88972400097299 ], [ -122.026888999584116, 37.889954000452526 ], [ -122.027272000081368, 37.890124001104397 ], [ -122.027771999931389, 37.890024000519098 ], [ -122.029072000001634, 37.889724001074761 ], [ -122.029672000165846, 37.889924000797777 ], [ -122.030172000416613, 37.890324001054154 ], [ -122.031171999491519, 37.890424000279509 ], [ -122.031572999483302, 37.890424000575301 ], [ -122.032172999466241, 37.890724000261564 ], [ -122.032372999471789, 37.890924000734124 ], [ -122.032921999760532, 37.891199000490666 ], [ -122.033173000019005, 37.891324000833471 ], [ -122.033573000101171, 37.891624000702059 ], [ -122.034072999864676, 37.891924000619255 ], [ -122.035072999634878, 37.89232400031873 ], [ -122.034373000120837, 37.89332400036573 ], [ -122.03367299939724, 37.893724000417542 ], [ -122.033272999512718, 37.894024001003459 ], [ -122.033073000526855, 37.894224000332954 ], [ -122.032520999468758, 37.894707000648978 ], [ -122.032476000459411, 37.894844000290192 ], [ -122.032444999941703, 37.895043000980124 ], [ -122.032445000357484, 37.895317000969989 ], [ -122.032490999724459, 37.895592000944767 ], [ -122.032490999514465, 37.895775001057523 ], [ -122.032414999560984, 37.895935000491313 ], [ -122.032369000488472, 37.896157000911359 ], [ -122.032215999942593, 37.896462000420357 ], [ -122.031864999550606, 37.896767000758956 ], [ -122.031269999670883, 37.897057001089152 ], [ -122.030919000493782, 37.897362000352032 ], [ -122.030398999394876, 37.897835000836814 ], [ -122.030124999556691, 37.898163000651699 ], [ -122.029941999812664, 37.8986360004765 ], [ -122.029871999625882, 37.899024000396025 ], [ -122.029896000316953, 37.899132000441519 ], [ -122.030064000186243, 37.899300000744219 ], [ -122.030659999988373, 37.899559000500616 ], [ -122.031178999557824, 37.899628000489486 ], [ -122.03167300003048, 37.899724001069856 ], [ -122.031373000484052, 37.900324000482875 ], [ -122.031590999755423, 37.90041400109682 ], [ -122.031773999695943, 37.900505000413624 ], [ -122.031911000228533, 37.900597000949311 ], [ -122.03204799989237, 37.900757000593195 ], [ -122.032109000182544, 37.900948000796319 ], [ -122.03216999978001, 37.901131000354411 ], [ -122.032230999456232, 37.901291000284004 ], [ -122.032372999851546, 37.901424000659034 ], [ -122.033172999405025, 37.901724000790722 ], [ -122.033372999455835, 37.901824000398619 ], [ -122.033372999664252, 37.903424000951844 ], [ -122.03252799954474, 37.903202000652556 ], [ -122.029571999931733, 37.902424000431509 ], [ -122.029127999532406, 37.902165000861096 ], [ -122.0271719995132, 37.901024000548439 ], [ -122.025771999501885, 37.900624000657693 ], [ -122.02437200029577, 37.900324001134777 ], [ -122.01747200019004, 37.898024000280195 ], [ -122.013871999979102, 37.896824000811797 ], [ -122.012271999815113, 37.896624000546552 ], [ -122.00837200028387, 37.895224000758439 ], [ -122.005572000489138, 37.893724000516521 ], [ -122.004943000207419, 37.892654000432913 ], [ -122.004572000265412, 37.892024000306279 ], [ -122.015872000299439, 37.885624000371301 ], [ -122.016571999430354, 37.885224000316903 ], [ -122.017176999663221, 37.884846000639875 ], [ -122.017372000002254, 37.884724000732454 ], [ -122.017772000124125, 37.884524000689431 ], [ -122.019871999871455, 37.883524000419918 ], [ -122.020472000275163, 37.88312400035236 ], [ -122.020371999901997, 37.883124000967186 ], [ -122.022463999909917, 37.882185000919122 ], [ -122.025271999713979, 37.880924000915613 ], [ -122.025571999966019, 37.879724000365684 ], [ -122.025971999392411, 37.879624001044313 ], [ -122.026971999438018, 37.879524000680242 ], [ -122.028072000217449, 37.879424000928609 ], [ -122.028071999916946, 37.878924000754189 ], [ -122.027771999424914, 37.878124001103366 ], [ -122.027478000418967, 37.877573000806947 ], [ -122.026972000310025, 37.876624000478934 ], [ -122.027471999560518, 37.875524000525999 ], [ -122.029172000247911, 37.875824001076303 ], [ -122.029672000213466, 37.876024000597887 ], [ -122.02982099999582, 37.876068000532626 ], [ -122.031372000522751, 37.876524000665462 ], [ -122.031971999981792, 37.875524000342729 ], [ -122.032016999857134, 37.875442000843385 ], [ -122.033473000245593, 37.875824000335307 ], [ -122.034572000367504, 37.876121000617111 ], [ -122.034760000375385, 37.875580000350489 ], [ -122.035069000006146, 37.874693000651099 ], [ -122.036878999774018, 37.869495001031666 ], [ -122.037612999957929, 37.869172000771002 ], [ -122.039318000305883, 37.868422000449897 ], [ -122.039637999483787, 37.868281000556863 ], [ -122.040873000523504, 37.869825000483431 ], [ -122.041672999769844, 37.870925000477499 ], [ -122.04237299990703, 37.872024000423956 ], [ -122.043402000100059, 37.873200001034796 ], [ -122.043773000107066, 37.873624000322408 ], [ -122.04437300037533, 37.87442400064571 ], [ -122.045057999793869, 37.875324001022904 ], [ -122.047773000188528, 37.878124000408576 ], [ -122.049042999513631, 37.879327000288178 ], [ -122.049172999570573, 37.879424000399545 ], [ -122.049806000459384, 37.879890000555839 ], [ -122.049259000268933, 37.880437001002853 ], [ -122.049373000455333, 37.881800000627571 ], [ -122.049372999647773, 37.882960000327451 ], [ -122.049373000157459, 37.883224000631429 ], [ -122.049272999951825, 37.883624000862113 ], [ -122.049273000059813, 37.884224000802 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1173, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.949368999434924, 37.736928001038748 ], [ -121.95007199972278, 37.736813001017332 ], [ -121.950668999963611, 37.737828000700333 ], [ -121.953246000163816, 37.741753000567876 ], [ -121.955790000056737, 37.745629000898923 ], [ -121.956970000270601, 37.747428000755427 ], [ -121.956570000090451, 37.74772800038631 ], [ -121.955770000348494, 37.7481280008545 ], [ -121.955169999958429, 37.74852800074536 ], [ -121.954824999543618, 37.74914100081979 ], [ -121.95426999982628, 37.75012800084469 ], [ -121.951969000278837, 37.751528000535728 ], [ -121.95156900017902, 37.752128000517871 ], [ -121.949968999795018, 37.752728000670956 ], [ -121.948668999594744, 37.753028000753481 ], [ -121.947923999737796, 37.753353000618276 ], [ -121.947068999674443, 37.753727000260774 ], [ -121.946868999659031, 37.753827000265275 ], [ -121.946583999471144, 37.753441000413318 ], [ -121.938368999822842, 37.742328000833638 ], [ -121.93776500002096, 37.741543001086178 ], [ -121.937368999697441, 37.741028000437836 ], [ -121.937768999627579, 37.741028000988074 ], [ -121.939669000123033, 37.740128000293346 ], [ -121.941169000249445, 37.73942800086698 ], [ -121.943168999944746, 37.738728000538103 ], [ -121.944069000400347, 37.738628000386882 ], [ -121.947402999951208, 37.737670000311631 ], [ -121.948468999986645, 37.737328000831553 ], [ -121.949368999434924, 37.736928001038748 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1174, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.91723299989917, 37.736188001072733 ], [ -121.917135999634311, 37.736439000583822 ], [ -121.917049999572342, 37.736735000617088 ], [ -121.917022999586791, 37.736828000861252 ], [ -121.916771999545645, 37.737237000523848 ], [ -121.916660999466202, 37.737494000586345 ], [ -121.916509000004567, 37.737712000682848 ], [ -121.916326999480432, 37.737943000727761 ], [ -121.916094999522741, 37.7381360010747 ], [ -121.915852000283152, 37.738264000637443 ], [ -121.915215000259522, 37.738467000725585 ], [ -121.9148979998226, 37.738539000558745 ], [ -121.914231000503051, 37.738691000852256 ], [ -121.914022000135134, 37.738720000355826 ], [ -121.913557000107986, 37.73878200026644 ], [ -121.913294000166346, 37.738781000609563 ], [ -121.912911999434513, 37.738764000927127 ], [ -121.912867999615557, 37.738428001022704 ], [ -121.912667999521375, 37.737028000679615 ], [ -121.912368000011043, 37.735128000572722 ], [ -121.910958999684368, 37.732007000316131 ], [ -121.910338999718704, 37.730633000422799 ], [ -121.910267999601857, 37.730428000860584 ], [ -121.913567999785414, 37.729828000986856 ], [ -121.915301999818126, 37.729431001067169 ], [ -121.916113000406369, 37.729246000644231 ], [ -121.917068000278732, 37.729028001013276 ], [ -121.917371999743608, 37.728955000401783 ], [ -121.922384999585887, 37.72774500081038 ], [ -121.922868999724912, 37.72762800079385 ], [ -121.92476899962945, 37.727228000894947 ], [ -121.925968999449466, 37.726928000691146 ], [ -121.926468999932652, 37.727628000234255 ], [ -121.926807999607547, 37.728027000247224 ], [ -121.927976999492188, 37.729403000749684 ], [ -121.928394000222085, 37.729893000546461 ], [ -121.929333000223693, 37.730997000994407 ], [ -121.92986899981905, 37.731628000988593 ], [ -121.930369000471387, 37.732228000919463 ], [ -121.934369000176218, 37.736928001074631 ], [ -121.934998999553727, 37.737138000810482 ], [ -121.935268999897858, 37.73722800057736 ], [ -121.937768999627579, 37.741028000988074 ], [ -121.937368999697441, 37.741028000437836 ], [ -121.93776500002096, 37.741543001086178 ], [ -121.938368999822842, 37.742328000833638 ], [ -121.946583999471144, 37.753441000413318 ], [ -121.946868999659031, 37.753827000265275 ], [ -121.946268999792835, 37.753927000330243 ], [ -121.945768999993518, 37.75402700056911 ], [ -121.944569000052027, 37.753727000750487 ], [ -121.942468999501457, 37.753028000654304 ], [ -121.941569000460532, 37.752828000442115 ], [ -121.940469000035307, 37.752628000696255 ], [ -121.939468999738054, 37.753227000919253 ], [ -121.939319999536124, 37.753331000788307 ], [ -121.938468999923415, 37.753927000825719 ], [ -121.93696899965083, 37.752428000992218 ], [ -121.936669999934978, 37.752154000301772 ], [ -121.93456899947823, 37.750228000305896 ], [ -121.933969000128187, 37.749528000675674 ], [ -121.933068999940588, 37.748528000339078 ], [ -121.93086900051911, 37.745728000687627 ], [ -121.930169000038759, 37.744828000326315 ], [ -121.927868999619477, 37.741628000435682 ], [ -121.926368999451199, 37.738928000288197 ], [ -121.92566900020941, 37.737128000466164 ], [ -121.925594999591468, 37.736944000795781 ], [ -121.924994000204975, 37.737207000733591 ], [ -121.924721000137765, 37.737257000704112 ], [ -121.923971999700726, 37.737387000844031 ], [ -121.923921999609178, 37.737396000698837 ], [ -121.923689000387071, 37.73740600099017 ], [ -121.92338600008577, 37.737419000835587 ], [ -121.923276000406915, 37.73739600092734 ], [ -121.922941000285633, 37.737327000853846 ], [ -121.922164999964622, 37.736929000536897 ], [ -121.92167700028314, 37.736471000600893 ], [ -121.921182000016984, 37.735774000773446 ], [ -121.920696999665466, 37.735089000962908 ], [ -121.92034299983213, 37.734842000437801 ], [ -121.919866999407049, 37.734686000869729 ], [ -121.919281000479373, 37.734593000491245 ], [ -121.918825999768856, 37.734604000948771 ], [ -121.918669999987259, 37.734626000725235 ], [ -121.91855500017347, 37.734642000755635 ], [ -121.918188999468001, 37.734795000580299 ], [ -121.917733000048699, 37.735179000901311 ], [ -121.917437000093429, 37.735698000551764 ], [ -121.917388999732182, 37.735783001044666 ], [ -121.91723299989917, 37.736188001072733 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1171, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.955790000056737, 37.745629000898923 ], [ -121.953246000163816, 37.741753000567876 ], [ -121.950668999963611, 37.737828000700333 ], [ -121.95007199972278, 37.736813001017332 ], [ -121.942069000178577, 37.725629000478015 ], [ -121.941675000428518, 37.725160000801019 ], [ -121.940268999646264, 37.723429000452754 ], [ -121.941169000377428, 37.723229000966043 ], [ -121.941668999976059, 37.723129000496279 ], [ -121.942969000508995, 37.722929000507058 ], [ -121.943351999614976, 37.722820000562535 ], [ -121.944368999926127, 37.722529000419762 ], [ -121.94921900007607, 37.721230001121839 ], [ -121.94996999950979, 37.721029000541932 ], [ -121.950469999992848, 37.720929000395181 ], [ -121.950668999880406, 37.720885000624676 ], [ -121.955474999510486, 37.719811000536481 ], [ -121.96064599955956, 37.718657001052669 ], [ -121.960769999465839, 37.718629000434674 ], [ -121.97246999984381, 37.728528000767 ], [ -121.974070000073951, 37.729428000377354 ], [ -121.975216000174456, 37.729504000724525 ], [ -121.976641999660984, 37.729449000661482 ], [ -121.977603000281889, 37.729497000543887 ], [ -121.977999000415224, 37.729579000540959 ], [ -121.9783000004727, 37.729642000295335 ], [ -121.979229999570094, 37.729859000378312 ], [ -121.980616000171963, 37.73030500092068 ], [ -121.982254000171324, 37.730713000510669 ], [ -121.983467999969974, 37.730864000825683 ], [ -121.989970999509993, 37.733628000801367 ], [ -121.993270999636295, 37.737728000681031 ], [ -121.993571000272254, 37.738128000451368 ], [ -122.001070999999698, 37.73902800041072 ], [ -122.011771000458154, 37.747428000593743 ], [ -122.011371000119453, 37.754028000490081 ], [ -122.006070999759658, 37.753428000447407 ], [ -121.997270999404137, 37.758327000775822 ], [ -121.995971000142148, 37.760127000772073 ], [ -121.988318999402935, 37.760785000398251 ], [ -121.986670999472224, 37.760927001017215 ], [ -121.985415000152599, 37.761932001018856 ], [ -121.982669999671401, 37.764127000414021 ], [ -121.982358000370297, 37.764543000820794 ], [ -121.982069999882839, 37.764927000964384 ], [ -121.981440000387124, 37.765641001050113 ], [ -121.980972999802148, 37.766170000739066 ], [ -121.980569999875058, 37.76662700107336 ], [ -121.979669999833661, 37.767527000338795 ], [ -121.97836999980656, 37.768727000942491 ], [ -121.978110000433574, 37.768947000761003 ], [ -121.977571999984676, 37.769402000308276 ], [ -121.977069999915912, 37.769827000409713 ], [ -121.975062999439828, 37.770525000406138 ], [ -121.974770000159992, 37.770627000928386 ], [ -121.97380999973285, 37.77094700078711 ], [ -121.972969999986063, 37.771227000393822 ], [ -121.972392999809699, 37.771443000836584 ], [ -121.972169999712762, 37.771527000886728 ], [ -121.9649700000801, 37.759927001026007 ], [ -121.961787000136553, 37.754953000797755 ], [ -121.961617999807416, 37.754689001115054 ], [ -121.95937600009762, 37.751187000440765 ], [ -121.959190000021863, 37.750897000792989 ], [ -121.956970000270601, 37.747428000755427 ], [ -121.955790000056737, 37.745629000898923 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1163, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.007155000467634, 37.874864000536633 ], [ -122.007155000287867, 37.874699000408022 ], [ -122.006835000103763, 37.87427800024679 ], [ -122.00667199989735, 37.874124000278371 ], [ -122.006301999924659, 37.873920000505152 ], [ -122.005928999480759, 37.873247000834816 ], [ -122.005929000461208, 37.872660000830457 ], [ -122.007318000394392, 37.872575000890549 ], [ -122.00838200014006, 37.872510001085665 ], [ -122.008634999637209, 37.872379000771218 ], [ -122.00893799939027, 37.87222200082963 ], [ -122.00915499941911, 37.872110000751185 ], [ -122.009555000160034, 37.871584000316886 ], [ -122.009704999435968, 37.871193000610468 ], [ -122.009965999778927, 37.870923000433486 ], [ -122.010503999732578, 37.870562000976115 ], [ -122.010777999450369, 37.870439000946284 ], [ -122.011222000498165, 37.870240000440802 ], [ -122.011922999714045, 37.869905000578505 ], [ -122.012690000440358, 37.869737000504408 ], [ -122.013260999567606, 37.869737001019317 ], [ -122.013716999857934, 37.869737000674164 ], [ -122.013944000031259, 37.869717000242957 ], [ -122.014892000455404, 37.869634000425684 ], [ -122.015797999716824, 37.869161000876467 ], [ -122.015903000114605, 37.869106000345496 ], [ -122.016898000097598, 37.868552001110544 ], [ -122.017345000015112, 37.868218000915824 ], [ -122.017125999749169, 37.868126000904248 ], [ -122.016572000204121, 37.867830000609786 ], [ -122.016262000085973, 37.867366000907758 ], [ -122.016280999674862, 37.867208000814898 ], [ -122.016292999948206, 37.867114000519521 ], [ -122.016326999438675, 37.866838000723938 ], [ -122.016587999525854, 37.866412000455796 ], [ -122.017076999420027, 37.866013000276908 ], [ -122.017525999980691, 37.865820000926057 ], [ -122.019508999398909, 37.866005000886126 ], [ -122.019915999728781, 37.866325000483123 ], [ -122.019972000396081, 37.86632500069679 ], [ -122.021050999587288, 37.866325000833903 ], [ -122.022772000094591, 37.86632500056372 ], [ -122.023471999802609, 37.866525000818037 ], [ -122.024471999485456, 37.866425000698797 ], [ -122.024972000097748, 37.866325000856506 ], [ -122.025772000084771, 37.866325000927368 ], [ -122.026171999530746, 37.866325000721773 ], [ -122.026671999424664, 37.866325000360582 ], [ -122.027771999435572, 37.866225000317876 ], [ -122.028472000304063, 37.866025000735121 ], [ -122.03017200004922, 37.865125000536047 ], [ -122.030471999484675, 37.864825000483165 ], [ -122.031572000298667, 37.864425000266237 ], [ -122.034101000420549, 37.863790000346711 ], [ -122.0349879995794, 37.863473000922212 ], [ -122.035287999767149, 37.863366000918923 ], [ -122.036389000020478, 37.864328000982567 ], [ -122.037283999904261, 37.865253000649972 ], [ -122.039637999483787, 37.868281000556863 ], [ -122.039318000305883, 37.868422000449897 ], [ -122.037612999957929, 37.869172000771002 ], [ -122.036878999774018, 37.869495001031666 ], [ -122.035069000006146, 37.874693000651099 ], [ -122.034760000375385, 37.875580000350489 ], [ -122.034572000367504, 37.876121000617111 ], [ -122.033473000245593, 37.875824000335307 ], [ -122.032016999857134, 37.875442000843385 ], [ -122.031971999981792, 37.875524000342729 ], [ -122.031372000522751, 37.876524000665462 ], [ -122.02982099999582, 37.876068000532626 ], [ -122.029672000213466, 37.876024000597887 ], [ -122.029172000247911, 37.875824001076303 ], [ -122.027471999560518, 37.875524000525999 ], [ -122.026972000310025, 37.876624000478934 ], [ -122.027478000418967, 37.877573000806947 ], [ -122.027771999424914, 37.878124001103366 ], [ -122.028071999916946, 37.878924000754189 ], [ -122.028072000217449, 37.879424000928609 ], [ -122.026971999438018, 37.879524000680242 ], [ -122.025971999392411, 37.879624001044313 ], [ -122.025571999966019, 37.879724000365684 ], [ -122.025271999713979, 37.880924000915613 ], [ -122.022463999909917, 37.882185000919122 ], [ -122.020371999901997, 37.883124000967186 ], [ -122.020472000275163, 37.88312400035236 ], [ -122.019871999871455, 37.883524000419918 ], [ -122.017772000124125, 37.884524000689431 ], [ -122.017372000002254, 37.884724000732454 ], [ -122.017176999663221, 37.884846000639875 ], [ -122.016571999430354, 37.885224000316903 ], [ -122.015872000299439, 37.885624000371301 ], [ -122.004572000265412, 37.892024000306279 ], [ -122.004422999496995, 37.892118001055032 ], [ -122.002163999703598, 37.893541000315892 ], [ -121.997271000121259, 37.896624000737276 ], [ -121.994571000172286, 37.898724000539346 ], [ -121.990970999596499, 37.899524000468816 ], [ -121.988771000135202, 37.898324000239896 ], [ -121.989070999591803, 37.896924000570678 ], [ -121.988471000011145, 37.895124001084952 ], [ -121.985870999671192, 37.892324000829333 ], [ -121.975971000025609, 37.884324001125954 ], [ -121.975414999565643, 37.883896000414317 ], [ -121.996894000334464, 37.882055000817658 ], [ -121.996036000481027, 37.8817490005652 ], [ -121.995075999789307, 37.881328000469715 ], [ -121.99458599960127, 37.880599000285194 ], [ -121.994729000193288, 37.880507000997518 ], [ -121.995902000527238, 37.879287000273614 ], [ -121.997476000437658, 37.878382000672829 ], [ -121.998728999857462, 37.878192000561342 ], [ -121.999501999584965, 37.878298000524772 ], [ -122.000169000449958, 37.877961001063277 ], [ -122.002622000289023, 37.877119001124768 ], [ -122.006361000519277, 37.875826000450751 ], [ -122.007155000439028, 37.875141000368231 ], [ -122.007155000467634, 37.874864000536633 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1150, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.120574999743951, 37.89272400023826 ], [ -122.120874999986341, 37.893424000588602 ], [ -122.121574999844228, 37.893824000839899 ], [ -122.116575000328652, 37.894724000459036 ], [ -122.114957999907134, 37.894950000903634 ], [ -122.112147999573409, 37.89534500063813 ], [ -122.110774999838753, 37.895624000697794 ], [ -122.110775000100574, 37.895724000321472 ], [ -122.110775000199766, 37.895890000609946 ], [ -122.108554999872197, 37.896194000314196 ], [ -122.106504000421296, 37.896643000417804 ], [ -122.103124000357496, 37.89711800102004 ], [ -122.099699999888017, 37.897588000957413 ], [ -122.099177000318761, 37.897660000560919 ], [ -122.098816999598625, 37.897687000466654 ], [ -122.096074999845058, 37.897924000381479 ], [ -122.096019000170074, 37.89761200033351 ], [ -122.095974999560099, 37.897424001001092 ], [ -122.09524199976245, 37.897464000524678 ], [ -122.093273999987517, 37.897624000752934 ], [ -122.092273999698222, 37.897624000642523 ], [ -122.091884999696887, 37.897657000634055 ], [ -122.091273999529136, 37.897424000328073 ], [ -122.089773999959789, 37.896924000375485 ], [ -122.090473999612797, 37.895924001096148 ], [ -122.091673999520182, 37.89552400098863 ], [ -122.091473999579193, 37.89482400030078 ], [ -122.091174000040354, 37.894124000433536 ], [ -122.090973999877477, 37.893224000623441 ], [ -122.090374000175942, 37.892824000758658 ], [ -122.089774000130078, 37.892424000542341 ], [ -122.089773999384818, 37.891324001067076 ], [ -122.090474000067687, 37.891324000746273 ], [ -122.091333999458001, 37.891324000357471 ], [ -122.091473999563078, 37.890624000707653 ], [ -122.090873999640806, 37.888224000622579 ], [ -122.08937399971424, 37.887124000791694 ], [ -122.092573999887577, 37.88692400108868 ], [ -122.092973999599934, 37.886024001068478 ], [ -122.09304499979018, 37.885802000591326 ], [ -122.093151000513913, 37.885671000614295 ], [ -122.093317999813067, 37.885555000817412 ], [ -122.093470999847128, 37.885471001055159 ], [ -122.093657999870786, 37.88544900053185 ], [ -122.093851000508664, 37.885471000408231 ], [ -122.094090999597114, 37.885571000599825 ], [ -122.094323999627449, 37.885613000483907 ], [ -122.094564000387692, 37.885534001086121 ], [ -122.094770999732503, 37.885460000976565 ], [ -122.095044000343464, 37.88546000096769 ], [ -122.095217000124123, 37.885476000945658 ], [ -122.095287999445802, 37.885502000584658 ], [ -122.09567000012342, 37.885639000346757 ], [ -122.095829999728466, 37.885686000912294 ], [ -122.095962999598598, 37.885702000785393 ], [ -122.096069999978795, 37.885702000525896 ], [ -122.096210000124685, 37.885681000463528 ], [ -122.096336999902832, 37.885676000895309 ], [ -122.09648999961172, 37.885692000488042 ], [ -122.096557000287945, 37.885750001055463 ], [ -122.096575999862324, 37.885834001038319 ], [ -122.096576000070129, 37.886218000266183 ], [ -122.09777499977362, 37.886324000851786 ], [ -122.097874999715131, 37.885724000307064 ], [ -122.097274999876134, 37.884424000906179 ], [ -122.097174999917669, 37.883924000576755 ], [ -122.096975000435648, 37.882924000463603 ], [ -122.097275000182847, 37.882524000573667 ], [ -122.097075000240366, 37.881824000592566 ], [ -122.096475000106523, 37.880824000328261 ], [ -122.095273999881513, 37.878425001032674 ], [ -122.097574999528817, 37.879325001026395 ], [ -122.098875000308169, 37.879525000781705 ], [ -122.09917499963376, 37.879625001077351 ], [ -122.100175000260393, 37.879625000804822 ], [ -122.100974999394452, 37.879725000408804 ], [ -122.101414999484916, 37.879945000740896 ], [ -122.102775000412905, 37.880625000581404 ], [ -122.104775000375923, 37.881524000585543 ], [ -122.105674999796435, 37.881924000905485 ], [ -122.107074999675888, 37.882524000532442 ], [ -122.108274999742136, 37.882924000345099 ], [ -122.108675000336845, 37.882924000522429 ], [ -122.109774999588197, 37.883324000261595 ], [ -122.110670999512294, 37.88356300043688 ], [ -122.111274999844341, 37.883724000945712 ], [ -122.111974999866192, 37.884024000729951 ], [ -122.114174999845488, 37.884524001097731 ], [ -122.115675000389871, 37.885124000505108 ], [ -122.116275000151333, 37.885324000584347 ], [ -122.116674999724282, 37.885424000499327 ], [ -122.118075000468281, 37.885724000889553 ], [ -122.117974999510722, 37.886824000489021 ], [ -122.117974999504867, 37.887024001021061 ], [ -122.118075000212144, 37.888024000281554 ], [ -122.118174999967152, 37.888524000367141 ], [ -122.118375000428131, 37.890124000607429 ], [ -122.118575000480064, 37.890524000423113 ], [ -122.118675000259046, 37.891624001094705 ], [ -122.118875000156478, 37.892024000327595 ], [ -122.120374999422609, 37.891824000648242 ], [ -122.120574999743951, 37.89272400023826 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1148, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.052190999593094, 37.852478000858618 ], [ -122.052373000270634, 37.847325000729541 ], [ -122.052472999437427, 37.845025000640419 ], [ -122.052472999817667, 37.842425000423567 ], [ -122.055972999991326, 37.842425000688024 ], [ -122.062872999504549, 37.8426250004078 ], [ -122.063273000262257, 37.846225000296343 ], [ -122.073573999852954, 37.851725000862615 ], [ -122.077873999775278, 37.853425001015083 ], [ -122.078774000340474, 37.855925000798678 ], [ -122.079338999815604, 37.857903000756615 ], [ -122.079373999609288, 37.858025000781055 ], [ -122.080173999544911, 37.860125000574335 ], [ -122.083273999947181, 37.864125000747123 ], [ -122.086290000447747, 37.867556001089056 ], [ -122.086674000066068, 37.867925001102087 ], [ -122.089073999515449, 37.870825000775689 ], [ -122.089474000087961, 37.870825000986443 ], [ -122.089273999580541, 37.881424000621259 ], [ -122.088073999646809, 37.881924000519192 ], [ -122.085092999900766, 37.88151000107451 ], [ -122.084474000230401, 37.881424000404799 ], [ -122.08031400011734, 37.880784000285033 ], [ -122.07927399956904, 37.880624000530737 ], [ -122.078839999838721, 37.880640000781945 ], [ -122.076574000367145, 37.880724000871467 ], [ -122.075774000111565, 37.879824000649393 ], [ -122.074973999913453, 37.879124000570386 ], [ -122.073787999902734, 37.878461000736579 ], [ -122.072533000209262, 37.877760000842031 ], [ -122.07157399998917, 37.877224000637504 ], [ -122.07027399982637, 37.876624000440714 ], [ -122.068869999430632, 37.876171000261671 ], [ -122.067173999609054, 37.875624000862786 ], [ -122.067173999582067, 37.874025000295561 ], [ -122.065937000241021, 37.873623000319526 ], [ -122.062355999933786, 37.872461000503179 ], [ -122.059472999503754, 37.871525000960503 ], [ -122.059472999897153, 37.866125000283176 ], [ -122.058473000151537, 37.865425000788733 ], [ -122.053372999638384, 37.865425000895087 ], [ -122.051773000167103, 37.864325000544142 ], [ -122.051947999894054, 37.859356000269685 ], [ -122.052190999593094, 37.852478000858618 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1159, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.124674999862904, 37.86222500106912 ], [ -122.124875000459753, 37.863425001116326 ], [ -122.107775000312628, 37.855525000678156 ], [ -122.104675000195229, 37.855425000782319 ], [ -122.104274999480424, 37.855425000373799 ], [ -122.103874999914396, 37.85532500107395 ], [ -122.100374999963122, 37.855225000257519 ], [ -122.092874000115856, 37.855025000830061 ], [ -122.091073999869067, 37.854925001076566 ], [ -122.088074000187532, 37.854925001009541 ], [ -122.085373999526624, 37.855425000800146 ], [ -122.084874000032286, 37.855525000462734 ], [ -122.082173999884333, 37.85562500104308 ], [ -122.0804739999638, 37.855725000558081 ], [ -122.078774000340474, 37.855925000798678 ], [ -122.077873999775278, 37.853425001015083 ], [ -122.073573999852954, 37.851725000862615 ], [ -122.063273000262257, 37.846225000296343 ], [ -122.062872999504549, 37.8426250004078 ], [ -122.063055000140508, 37.837134000269366 ], [ -122.063421000331289, 37.82604500069052 ], [ -122.065072999888812, 37.827126000355165 ], [ -122.066472999423951, 37.828026000425396 ], [ -122.074774000145069, 37.830026000715165 ], [ -122.080873999711315, 37.830926000511425 ], [ -122.08747400027768, 37.831226000537505 ], [ -122.090873999850018, 37.834426000645124 ], [ -122.093573999783956, 37.834926000251691 ], [ -122.095973999425084, 37.836226001023917 ], [ -122.096874000425018, 37.836626001034652 ], [ -122.097774999686493, 37.838126001012292 ], [ -122.098474999705516, 37.838826000832462 ], [ -122.105075000418154, 37.843426000407895 ], [ -122.105474999562674, 37.843226000453328 ], [ -122.108375000359587, 37.839426000381678 ], [ -122.109474999737671, 37.83792600100557 ], [ -122.11397499966894, 37.837926000448924 ], [ -122.114574999812788, 37.842826001135052 ], [ -122.117174999641634, 37.842626000586719 ], [ -122.118475000136655, 37.842526000387373 ], [ -122.12064400017502, 37.842025000604195 ], [ -122.121370000187198, 37.841858000619339 ], [ -122.122374999640428, 37.841626001005508 ], [ -122.122875000177501, 37.841226000632574 ], [ -122.126375000099955, 37.838726000360317 ], [ -122.126533000251669, 37.839394000622931 ], [ -122.127274999436864, 37.842526000671484 ], [ -122.127074000079404, 37.843694000520031 ], [ -122.126774999736426, 37.845426000998224 ], [ -122.126074999538702, 37.846926000458808 ], [ -122.125951999883341, 37.84759900077642 ], [ -122.125674999859939, 37.849125000949769 ], [ -122.125574999944149, 37.84962500080578 ], [ -122.125375000282858, 37.851225001096942 ], [ -122.125247999699596, 37.852559000969293 ], [ -122.125175000170998, 37.853325000905329 ], [ -122.124875000306687, 37.854825000321391 ], [ -122.124774999777785, 37.855525000625121 ], [ -122.124475000188383, 37.857025001095153 ], [ -122.123875000310051, 37.859425001098742 ], [ -122.124275000516846, 37.860225000564974 ], [ -122.124674999862904, 37.86222500106912 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1181, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.682854000324781, 38.059857000364232 ], [ -121.682034000280979, 38.060664001047058 ], [ -121.681469999523685, 38.061244000472527 ], [ -121.680859000143712, 38.062129001137862 ], [ -121.680569000201416, 38.062808000877546 ], [ -121.680263999488304, 38.063525000805896 ], [ -121.679989999742304, 38.064570000866489 ], [ -121.679965000425128, 38.064719000308109 ], [ -121.679765000145466, 38.065119000636145 ], [ -121.679764999566174, 38.065619000408795 ], [ -121.679775999409074, 38.065776000591462 ], [ -121.67965399973555, 38.06699700045408 ], [ -121.679593000220407, 38.068111001056032 ], [ -121.679623000144446, 38.069469000390924 ], [ -121.679699999602434, 38.070575000786476 ], [ -121.679821999624764, 38.071857000385506 ], [ -121.679898000499392, 38.072787000422991 ], [ -121.679928999586878, 38.074184000346833 ], [ -121.680035000315513, 38.075412001128143 ], [ -121.680248999960867, 38.076648000771918 ], [ -121.68066100001387, 38.07782300066598 ], [ -121.681057999822428, 38.078700000784096 ], [ -121.681393000134605, 38.07989000047175 ], [ -121.681664999973194, 38.080619000471181 ], [ -121.681765000221418, 38.081319000391304 ], [ -121.681864999887424, 38.08201900105535 ], [ -121.679265000509048, 38.089319000441193 ], [ -121.673065000507819, 38.093518000420339 ], [ -121.662464999732322, 38.095618001129239 ], [ -121.661864999561018, 38.095618000269191 ], [ -121.652063999985245, 38.091619000437433 ], [ -121.649364000484226, 38.090319000322111 ], [ -121.648983000156733, 38.090144000948698 ], [ -121.648753999795574, 38.090037000481225 ], [ -121.648432999582539, 38.089595000347082 ], [ -121.648142999405081, 38.089259001025276 ], [ -121.646983999911711, 38.088328001074842 ], [ -121.645183000225998, 38.087413000661449 ], [ -121.64284899944731, 38.086848000625544 ], [ -121.640514000471143, 38.086391000404085 ], [ -121.638088000245986, 38.086131000733786 ], [ -121.636576999604969, 38.086391001003889 ], [ -121.634243000306014, 38.087222000795371 ], [ -121.632595000396677, 38.088611000905814 ], [ -121.631649000145188, 38.090739000633718 ], [ -121.63091600004671, 38.092418000888514 ], [ -121.63009200013262, 38.094607000358266 ], [ -121.629574000423489, 38.096011000317048 ], [ -121.628993999884599, 38.097261000256033 ], [ -121.628353000193471, 38.097918000615344 ], [ -121.62737600050464, 38.098360001027885 ], [ -121.626064000358966, 38.098480000306644 ], [ -121.619756000422015, 38.099447000606155 ], [ -121.610892999777803, 38.099742000296658 ], [ -121.604922999807627, 38.099878001015398 ], [ -121.597592999603066, 38.098549000451143 ], [ -121.593363999577861, 38.097713000366333 ], [ -121.591442000413792, 38.097453000777925 ], [ -121.589534000100997, 38.097095000703874 ], [ -121.588460999965918, 38.096889001129163 ], [ -121.588100000417356, 38.096820000690144 ], [ -121.5869709994234, 38.096690001129915 ], [ -121.585293000121837, 38.096385000320147 ], [ -121.582261000273348, 38.094917000422228 ], [ -121.581294999612581, 38.093967000969798 ], [ -121.580653999529034, 38.092845000655011 ], [ -121.580241999880528, 38.09195200108109 ], [ -121.579601000054367, 38.090961000996934 ], [ -121.57889899984491, 38.089534000727987 ], [ -121.578212000225918, 38.08729800054163 ], [ -121.577906000252725, 38.085887000717129 ], [ -121.577879999676426, 38.085018000847761 ], [ -121.577860000059644, 38.084369000273419 ], [ -121.577677000393138, 38.082522000895871 ], [ -121.577539999406213, 38.081500000246024 ], [ -121.577509999932346, 38.080249000274122 ], [ -121.577341999651409, 38.078685000652733 ], [ -121.577265000505378, 38.078090001030709 ], [ -121.576837999598723, 38.077083000903727 ], [ -121.576120999579814, 38.076297000559613 ], [ -121.575174999861403, 38.075732000867575 ], [ -121.574107000486265, 38.07513000105866 ], [ -121.573946000211365, 38.074908000412982 ], [ -121.57361900020237, 38.074458000593964 ], [ -121.573390000322291, 38.073695000449874 ], [ -121.573847000312071, 38.072742000559359 ], [ -121.574869999966126, 38.071803000952009 ], [ -121.575040999801914, 38.0717070003058 ], [ -121.576014000480654, 38.071163000685679 ], [ -121.577509999802771, 38.070515000368005 ], [ -121.578531999426545, 38.070110000626407 ], [ -121.579829000063512, 38.069668000814275 ], [ -121.581201999449036, 38.069294000291968 ], [ -121.582392000507681, 38.068951000271788 ], [ -121.5829719995739, 38.068714000317833 ], [ -121.583627999472114, 38.068150000899806 ], [ -121.583903000319737, 38.067349000539991 ], [ -121.583917999603031, 38.066441000921031 ], [ -121.583856999597018, 38.065968000405256 ], [ -121.583643999454424, 38.065060000707049 ], [ -121.583490999468239, 38.064564000607142 ], [ -121.583353999837314, 38.06332000031346 ], [ -121.583536999882156, 38.062687001060134 ], [ -121.58405599990644, 38.061833000878373 ], [ -121.584727000383282, 38.061024000531575 ], [ -121.585825999975881, 38.059986000829582 ], [ -121.586572999902216, 38.059178000331578 ], [ -121.586816999753808, 38.058552000415958 ], [ -121.586512000300132, 38.057835000457857 ], [ -121.586238000446528, 38.056500000468297 ], [ -121.585871000336155, 38.054829000888475 ], [ -121.585642000516302, 38.053578001114111 ], [ -121.585505000348036, 38.052448000244262 ], [ -121.585398000128279, 38.051052000477 ], [ -121.585550999430666, 38.049397001055119 ], [ -121.585794999688801, 38.047978000573025 ], [ -121.586268000228301, 38.046208000312447 ], [ -121.586589000148209, 38.044598000308206 ], [ -121.586726000221162, 38.043102000386057 ], [ -121.586847999742048, 38.04164500086911 ], [ -121.587000999562164, 38.040051000966862 ], [ -121.58700100028166, 38.038167000620717 ], [ -121.586832999663443, 38.036931000500168 ], [ -121.58646600046643, 38.035749000810114 ], [ -121.585962999727371, 38.034742000816586 ], [ -121.585489999687866, 38.033895000481962 ], [ -121.584910000487866, 38.032972001008822 ], [ -121.584330000318886, 38.032521000812132 ], [ -121.583429999801609, 38.031949000759752 ], [ -121.582590999610247, 38.031797000383996 ], [ -121.581813000461679, 38.0319260006695 ], [ -121.581034000160969, 38.032293000728927 ], [ -121.580592000049592, 38.032872000523774 ], [ -121.580500000448978, 38.033818000809717 ], [ -121.580682999479436, 38.03510800071134 ], [ -121.58141599940744, 38.036054000551729 ], [ -121.58231600047128, 38.037069000267572 ], [ -121.582987000020353, 38.037870000921167 ], [ -121.583338000448833, 38.0391270010402 ], [ -121.583246999821156, 38.040104000421252 ], [ -121.58269800007524, 38.041264000785496 ], [ -121.582162999969668, 38.041813000831837 ], [ -121.581064999755412, 38.042454000859024 ], [ -121.580226000409269, 38.042683000983963 ], [ -121.579035000317944, 38.042896000944012 ], [ -121.577814999958079, 38.042744000492249 ], [ -121.576608999619907, 38.042362000818329 ], [ -121.575342999505622, 38.041493000668112 ], [ -121.574487999771364, 38.040547000280078 ], [ -121.573785999706331, 38.039327000597801 ], [ -121.573389999627992, 38.037961000865501 ], [ -121.573451000380317, 38.037084000651753 ], [ -121.573724999561179, 38.035962000908661 ], [ -121.57381699957925, 38.034887000481532 ], [ -121.573984999442033, 38.033811000379671 ], [ -121.574213999849718, 38.032682001042645 ], [ -121.574335999991192, 38.031736000475455 ], [ -121.574274999853117, 38.031148000425844 ], [ -121.574000000278886, 38.0304840003541 ], [ -121.573481000211288, 38.030011000702153 ], [ -121.572627000034373, 38.029721000857606 ], [ -121.571955000305479, 38.02965300113302 ], [ -121.571284000505003, 38.029676001127612 ], [ -121.570399000279608, 38.030027001052325 ], [ -121.5694219994772, 38.030606000940892 ], [ -121.569026000270966, 38.030873000693461 ], [ -121.568614000244935, 38.030980000478166 ], [ -121.568018999572487, 38.030896000821464 ], [ -121.567545999720409, 38.030690001076799 ], [ -121.566935000204637, 38.030095000357029 ], [ -121.566767000332746, 38.029103000625852 ], [ -121.566874000332731, 38.028218000596411 ], [ -121.567088000078485, 38.027295000737439 ], [ -121.567263000434806, 38.026421000935876 ], [ -121.566432000005733, 38.025487000596655 ], [ -121.566065000270839, 38.024915000950578 ], [ -121.565165000023924, 38.023954000295966 ], [ -121.564325999820028, 38.023297001056328 ], [ -121.563654999767607, 38.02283200094098 ], [ -121.562891999665922, 38.022351000519173 ], [ -121.562189999433841, 38.021833000965444 ], [ -121.561533999665002, 38.021260000958812 ], [ -121.560831999732173, 38.020345000712567 ], [ -121.560358999568095, 38.019498000257329 ], [ -121.560130000066238, 38.018987000917647 ], [ -121.560068999633899, 38.018636000921987 ], [ -121.560144999556798, 38.018018000583687 ], [ -121.560162999754141, 38.017821000318051 ], [ -121.560312999638882, 38.01755300093712 ], [ -121.560801000359007, 38.017133000812507 ], [ -121.561595000168339, 38.016996000630037 ], [ -121.562419000030189, 38.01698000077446 ], [ -121.563258000101172, 38.017156000966729 ], [ -121.564494000118472, 38.017575001122715 ], [ -121.565882000273149, 38.018193000389104 ], [ -121.566980999793742, 38.018613000616689 ], [ -121.568170999710077, 38.019078000938642 ], [ -121.569438000300693, 38.019551000861789 ], [ -121.570307000066805, 38.019849000391709 ], [ -121.571391000237369, 38.020101000971181 ], [ -121.572198999969203, 38.020124000854139 ], [ -121.572662999942438, 38.020021000516728 ], [ -121.573358999884448, 38.019956001103942 ], [ -121.574106999395596, 38.0196960006624 ], [ -121.57460999939623, 38.019239000827277 ], [ -121.574824000468794, 38.018842001017951 ], [ -121.574824000262169, 38.018254000548858 ], [ -121.574565000444466, 38.01769700092435 ], [ -121.574163000490131, 38.017321000424957 ], [ -121.573207000117506, 38.016988000323373 ], [ -121.5720470003196, 38.016591000381958 ], [ -121.570964000358146, 38.016111000795632 ], [ -121.56995599964398, 38.015599000978682 ], [ -121.569086999734736, 38.014760000795953 ], [ -121.568979999937895, 38.014020000589518 ], [ -121.569284999926481, 38.013616000952588 ], [ -121.569762999687512, 38.013221000377641 ], [ -121.570399000176906, 38.012838001066044 ], [ -121.571008999982865, 38.012670000727177 ], [ -121.572076999859846, 38.01254800105928 ], [ -121.573527000266523, 38.012609001016507 ], [ -121.575068000446507, 38.012838001003423 ], [ -121.576289000170917, 38.012899000361507 ], [ -121.577281000262616, 38.012883000649985 ], [ -121.578410000519156, 38.012647000323959 ], [ -121.579356000383157, 38.012296001040575 ], [ -121.580163000152211, 38.011821000941161 ], [ -121.581004000245045, 38.011090001003772 ], [ -121.581385000229332, 38.010533001107184 ], [ -121.581674999703594, 38.009793000580245 ], [ -121.581720999627379, 38.009084000624696 ], [ -121.581624999452089, 38.008467001114887 ], [ -121.581614000139368, 38.008397000340118 ], [ -121.581431000143823, 38.00736000025433 ], [ -121.581247999860224, 38.006766000604252 ], [ -121.580943000499815, 38.006300000463447 ], [ -121.580469999631305, 38.005812000266538 ], [ -121.579962999672119, 38.00542200095726 ], [ -121.579736999597799, 38.005285000940688 ], [ -121.578944000157691, 38.004980000738719 ], [ -121.578668999435337, 38.004957000372407 ], [ -121.577585999522071, 38.004858001026221 ], [ -121.575862000059146, 38.004881000873276 ], [ -121.574839000308174, 38.00500300107722 ], [ -121.573160999756269, 38.005003000544775 ], [ -121.572092999676499, 38.004835000898709 ], [ -121.571558999689302, 38.004713000624875 ], [ -121.571062999780054, 38.004522000865919 ], [ -121.570840999871749, 38.004164000855909 ], [ -121.571040000091486, 38.003477000804963 ], [ -121.571329999544403, 38.002470000945081 ], [ -121.571649999451012, 38.001509000634265 ], [ -121.571955000195913, 38.000944000350387 ], [ -121.572138000098093, 38.000479000689097 ], [ -121.572313999499855, 38.00023000069622 ], [ -121.57238999995225, 38.000221001017408 ], [ -121.572700999558123, 38.000117000358927 ], [ -121.573577000439514, 38.000169000264151 ], [ -121.574388999633115, 38.000221000850836 ], [ -121.575515000420765, 38.000169000645883 ], [ -121.577079999619528, 38.000169000683293 ], [ -121.578708000528053, 38.000221000249503 ], [ -121.579270999801011, 38.000221000869537 ], [ -121.580020000083735, 37.999958001005261 ], [ -121.580070999599982, 37.999922001119742 ], [ -121.580453999547714, 37.999800001127383 ], [ -121.58076299989844, 37.999322000717498 ], [ -121.58060699980031, 37.998526000910623 ], [ -121.580301999622478, 37.998091000838542 ], [ -121.579768000296085, 37.997801000549792 ], [ -121.579112000267003, 37.997534000885302 ], [ -121.578318000296889, 37.997244000831529 ], [ -121.578013000066022, 37.997030000797899 ], [ -121.577676999919305, 37.996641000509278 ], [ -121.577662999607, 37.996122000876959 ], [ -121.57760100045985, 37.995978000665858 ], [ -121.577875999717023, 37.99508500042139 ], [ -121.578333999874076, 37.994459000338296 ], [ -121.579233999494917, 37.993704000575107 ], [ -121.58001199975142, 37.992918000945259 ], [ -121.58086600012733, 37.991980000749436 ], [ -121.581461999887026, 37.991125000252417 ], [ -121.581736000431064, 37.990416000445073 ], [ -121.581918999716649, 37.989599001120105 ], [ -121.582132999600404, 37.988402000860319 ], [ -121.582255000133799, 37.987601000926858 ], [ -121.582438000464379, 37.986944001032022 ], [ -121.582652000196504, 37.985983001089949 ], [ -121.582804000194542, 37.985060000673968 ], [ -121.582727999690405, 37.984350001056939 ], [ -121.582463000256567, 37.983922000286142 ], [ -121.582239999549344, 37.983526000356449 ], [ -121.581751000519773, 37.983114000395041 ], [ -121.581236000042864, 37.982881000560049 ], [ -121.580775000171272, 37.982672000923969 ], [ -121.579279999818453, 37.982344000266011 ], [ -121.578181000269936, 37.982260000978123 ], [ -121.576562999667274, 37.982046000416105 ], [ -121.575433999686737, 37.981856000570751 ], [ -121.57446300018573, 37.98152200062956 ], [ -121.573863000438976, 37.981108000747675 ], [ -121.573602999991905, 37.980589000992182 ], [ -121.573583000408931, 37.980309000284514 ], [ -121.573557999403675, 37.979948000815114 ], [ -121.573892999700135, 37.979513000490414 ], [ -121.574462999516214, 37.979222000466663 ], [ -121.574640999438998, 37.979132000506667 ], [ -121.575739999862421, 37.978850000924901 ], [ -121.576959999812175, 37.978956000544109 ], [ -121.578149999912071, 37.979086000266101 ], [ -121.579234000327517, 37.979201000709317 ], [ -121.579950999784032, 37.979140000316832 ], [ -121.580713999517116, 37.978964000974081 ], [ -121.581126000509158, 37.978636001112342 ], [ -121.581263000459202, 37.978122000550442 ], [ -121.581217000198436, 37.977637000766848 ], [ -121.580850999491417, 37.97698000095437 ], [ -121.580209999544579, 37.97637000037178 ], [ -121.579662999619103, 37.976122000420567 ], [ -121.580363000360379, 37.975422000332472 ], [ -121.580210000417381, 37.975386000525411 ], [ -121.580011999764679, 37.975340000631299 ], [ -121.579762999435076, 37.975322000268825 ], [ -121.579706999776377, 37.975233000259507 ], [ -121.579661000443295, 37.974997000369321 ], [ -121.579631000077569, 37.974737000265051 ], [ -121.57958500004375, 37.974486000316602 ], [ -121.579585000260664, 37.974333000980586 ], [ -121.579663000396636, 37.974222000806968 ], [ -121.579829000008885, 37.974089000857248 ], [ -121.580286999833959, 37.973929000451605 ], [ -121.580835999460106, 37.973776000279244 ], [ -121.581308999422518, 37.973715000821308 ], [ -121.581598999660557, 37.973646000397459 ], [ -121.581767000116997, 37.973654000628947 ], [ -121.582087000436431, 37.973707001081102 ], [ -121.582262999857221, 37.97372200043494 ], [ -121.582463000402342, 37.973522000242227 ], [ -121.582762999754564, 37.973622000975134 ], [ -121.594863000004722, 37.973222000354603 ], [ -121.595148999702658, 37.974661000357862 ], [ -121.595209999570713, 37.975470001099474 ], [ -121.595422999730104, 37.977041000476987 ], [ -121.595662999435376, 37.977422000722541 ], [ -121.620562999603763, 37.977522000921468 ], [ -121.623763000171834, 37.976522000427131 ], [ -121.626062999707841, 37.976481000738765 ], [ -121.640763000241392, 37.976222000726253 ], [ -121.650662999477618, 37.98372200087146 ], [ -121.651720999791209, 37.984597000357454 ], [ -121.659364000480736, 37.990922000951429 ], [ -121.659278999444993, 37.999921000444679 ], [ -121.659264000038732, 38.001521000426578 ], [ -121.659263999719499, 38.00872100060527 ], [ -121.66096400000167, 38.012021000599603 ], [ -121.661464000435913, 38.013121000271006 ], [ -121.667564000489904, 38.01322100108014 ], [ -121.674864000083971, 38.01232100042639 ], [ -121.677963999532821, 38.011121000376043 ], [ -121.678764000475141, 38.011021000972434 ], [ -121.683312999709784, 38.013691000797209 ], [ -121.683364000430785, 38.013721000698496 ], [ -121.684363999808397, 38.014321000856107 ], [ -121.685363999858055, 38.017021001076571 ], [ -121.690864000174869, 38.022221000714055 ], [ -121.691163999432618, 38.024121000273041 ], [ -121.696663999917874, 38.026121000409844 ], [ -121.699063999685208, 38.026120000469191 ], [ -121.706263999703751, 38.024621000635854 ], [ -121.708263999534665, 38.023721000803228 ], [ -121.708564000032879, 38.023621000347298 ], [ -121.709063999518975, 38.023421000372522 ], [ -121.712064000130738, 38.02202100100056 ], [ -121.719364999911932, 38.024620000496682 ], [ -121.727264999446206, 38.02722000102677 ], [ -121.732201000265604, 38.028896001049304 ], [ -121.732565000022802, 38.029020000720941 ], [ -121.732365000332507, 38.029120000730884 ], [ -121.731965000340338, 38.02942000038432 ], [ -121.731717000022826, 38.029514001116283 ], [ -121.729428000132017, 38.031147000818343 ], [ -121.728543000130841, 38.031750000891265 ], [ -121.727428999617487, 38.032467000365713 ], [ -121.726651000128498, 38.033047001034454 ], [ -121.725964999622065, 38.033620000506438 ], [ -121.725765000028986, 38.033720000776363 ], [ -121.725564999897713, 38.033820000694639 ], [ -121.716864999923899, 38.037720000911406 ], [ -121.716565000260772, 38.037820000387939 ], [ -121.715298000180397, 38.038143000819566 ], [ -121.713863999668334, 38.038502000309443 ], [ -121.712460000171106, 38.038891000870954 ], [ -121.710933999668697, 38.039410000746813 ], [ -121.70956100011847, 38.039944000341507 ], [ -121.707561999508357, 38.040852001043611 ], [ -121.706845000316278, 38.041203000525321 ], [ -121.706565000118417, 38.041320000332291 ], [ -121.705964999644806, 38.041720000821279 ], [ -121.705640000339471, 38.041866001077949 ], [ -121.704343000062735, 38.042484000497772 ], [ -121.702770999872044, 38.043484001010491 ], [ -121.700940000448625, 38.044483000555218 ], [ -121.700665000350085, 38.044720000948722 ], [ -121.699765000074223, 38.045220000651206 ], [ -121.698765000435884, 38.046320000802879 ], [ -121.698117000239449, 38.046986000838189 ], [ -121.697964999476312, 38.047120000383977 ], [ -121.697171000496795, 38.047855000405988 ], [ -121.696042000092802, 38.049122000849877 ], [ -121.694623000243141, 38.050411001094965 ], [ -121.693341000238945, 38.051746001102671 ], [ -121.692013000170022, 38.053196000806764 ], [ -121.691665000279286, 38.053520000319644 ], [ -121.686264999909071, 38.057320000861552 ], [ -121.685360999527617, 38.057903000398163 ], [ -121.685265000381207, 38.058020000347639 ], [ -121.68439900001097, 38.058521000500306 ], [ -121.683764999981747, 38.059019000547629 ], [ -121.68356500018713, 38.059219000406976 ], [ -121.683365000420963, 38.059419000813129 ], [ -121.68306500049728, 38.059619000583972 ], [ -121.68291899955274, 38.059794000618595 ], [ -121.682854000324781, 38.059857000364232 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1180, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.66096400000167, 38.012021000599603 ], [ -121.659263999719499, 38.00872100060527 ], [ -121.659264000038732, 38.001521000426578 ], [ -121.659278999444993, 37.999921000444679 ], [ -121.659364000480736, 37.990922000951429 ], [ -121.651720999791209, 37.984597000357454 ], [ -121.650662999477618, 37.98372200087146 ], [ -121.640763000241392, 37.976222000726253 ], [ -121.626062999707841, 37.976481000738765 ], [ -121.623763000171834, 37.976522000427131 ], [ -121.620562999603763, 37.977522000921468 ], [ -121.62056300002898, 37.977322000989709 ], [ -121.62066299982952, 37.96982200037111 ], [ -121.626063000518712, 37.969759000367844 ], [ -121.630931000382589, 37.969702000541169 ], [ -121.631922000087002, 37.969458001093777 ], [ -121.640862999985259, 37.969222000544221 ], [ -121.650863000464938, 37.969022000539987 ], [ -121.653591000458391, 37.96902200051511 ], [ -121.656047000377427, 37.969022000929385 ], [ -121.659563000202965, 37.969022001035881 ], [ -121.662670999775727, 37.969022000854842 ], [ -121.662862999738977, 37.969022000981163 ], [ -121.663463000082714, 37.969022000937159 ], [ -121.664562999857637, 37.969022000854217 ], [ -121.666263000269225, 37.969022000480471 ], [ -121.667363000352452, 37.969022000337169 ], [ -121.668000000016107, 37.969022000701351 ], [ -121.668663999938445, 37.969022000423422 ], [ -121.674363999387339, 37.969022001059784 ], [ -121.674564999767085, 37.969016001076106 ], [ -121.675818000515392, 37.968980000369974 ], [ -121.677863999894655, 37.968922000552887 ], [ -121.681763999394136, 37.969022000984317 ], [ -121.682763999974455, 37.96902200035381 ], [ -121.683810999619723, 37.969047001052871 ], [ -121.686964000343309, 37.969122001006127 ], [ -121.687563999508214, 37.969022001092142 ], [ -121.687681999539038, 37.969014000745524 ], [ -121.688422000143206, 37.96896500026395 ], [ -121.689064000345951, 37.968922001017582 ], [ -121.689515000178375, 37.968941000534514 ], [ -121.689666999642213, 37.968947001003393 ], [ -121.690174000273515, 37.968968000754067 ], [ -121.690762000365908, 37.968993001130229 ], [ -121.691312999703896, 37.969016000705324 ], [ -121.691463999963943, 37.96902200035251 ], [ -121.691735999451808, 37.969022000656899 ], [ -121.692164999423809, 37.969022000479598 ], [ -121.693229999974164, 37.969022000892487 ], [ -121.693747999480649, 37.969022000463553 ], [ -121.695258999419167, 37.969022000582228 ], [ -121.696063999789246, 37.96902200094565 ], [ -121.696077000375652, 37.969342000554668 ], [ -121.696124000209437, 37.970458001093554 ], [ -121.696164000296179, 37.971422000481212 ], [ -121.697809999839038, 37.971422001022695 ], [ -121.7035639998779, 37.971422000691582 ], [ -121.704630000161643, 37.971400000907394 ], [ -121.706749999962028, 37.971450000825314 ], [ -121.70801299973499, 37.971480000912628 ], [ -121.712633999527597, 37.971590001067511 ], [ -121.714163999895817, 37.971622001076248 ], [ -121.714142000270812, 37.97248200093486 ], [ -121.714085999594332, 37.975633001059002 ], [ -121.714099000050922, 37.976064000781541 ], [ -121.714086000472278, 37.977252000281396 ], [ -121.714072999836688, 37.977746000522068 ], [ -121.714082999459862, 37.979658000795666 ], [ -121.714110999763321, 37.980392000748992 ], [ -121.714094999950092, 37.981643000942782 ], [ -121.714063999939896, 37.983422000489448 ], [ -121.714107999602987, 37.984914000634333 ], [ -121.714143000319382, 37.986119000576728 ], [ -121.71416400008367, 37.986822000902372 ], [ -121.714163999802594, 37.987622000517959 ], [ -121.714099000511524, 37.989586000933599 ], [ -121.714063999518444, 37.9906220008221 ], [ -121.714079999722316, 37.991710000768549 ], [ -121.714104999562011, 37.991716000592888 ], [ -121.715032999760908, 37.9914780009113 ], [ -121.715664000260674, 37.991322001139821 ], [ -121.716064000178207, 37.992821000265685 ], [ -121.716204999615428, 37.994914001089796 ], [ -121.716163999927616, 37.996421000271326 ], [ -121.716165999418891, 37.997012000770191 ], [ -121.716163999841442, 37.997821000556151 ], [ -121.715729999695625, 37.997828000863478 ], [ -121.715234000008365, 37.997822000503199 ], [ -121.714250999649025, 37.997821000449107 ], [ -121.714063000440675, 37.997816000344841 ], [ -121.712964000412512, 37.997821001096668 ], [ -121.711663999860335, 37.997821001121025 ], [ -121.707967000100012, 37.996589000614264 ], [ -121.705063999988838, 37.99562100092654 ], [ -121.703063999776887, 37.994921000746267 ], [ -121.702848999666102, 37.995050000415034 ], [ -121.697563999662933, 37.998221000546131 ], [ -121.695663999731764, 37.998221000451515 ], [ -121.694801999925943, 37.999921000774741 ], [ -121.692163999536859, 38.005121000752695 ], [ -121.691563999901646, 38.008821000835113 ], [ -121.691301000192766, 38.009472000879981 ], [ -121.689575000224124, 38.013746000266821 ], [ -121.689464000179186, 38.014021000970743 ], [ -121.6861640001041, 38.014221000577265 ], [ -121.684963999390988, 38.01432100097778 ], [ -121.684363999808397, 38.014321000856107 ], [ -121.683364000430785, 38.013721000698496 ], [ -121.683312999709784, 38.013691000797209 ], [ -121.678764000475141, 38.011021000972434 ], [ -121.677963999532821, 38.011121000376043 ], [ -121.674864000083971, 38.01232100042639 ], [ -121.667564000489904, 38.01322100108014 ], [ -121.661464000435913, 38.013121000271006 ], [ -121.66096400000167, 38.012021000599603 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1185, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.714143000319382, 37.986119000576728 ], [ -121.714107999602987, 37.984914000634333 ], [ -121.714063999939896, 37.983422000489448 ], [ -121.714094999950092, 37.981643000942782 ], [ -121.714110999763321, 37.980392000748992 ], [ -121.714082999459862, 37.979658000795666 ], [ -121.714072999836688, 37.977746000522068 ], [ -121.714086000472278, 37.977252000281396 ], [ -121.714099000050922, 37.976064000781541 ], [ -121.714085999594332, 37.975633001059002 ], [ -121.714142000270812, 37.97248200093486 ], [ -121.714163999895817, 37.971622001076248 ], [ -121.714064000442804, 37.968922001095528 ], [ -121.7259639996186, 37.968822000732011 ], [ -121.72956399997004, 37.969022000947994 ], [ -121.73236400042407, 37.971822000500694 ], [ -121.73246400042855, 37.971422001079603 ], [ -121.732463999518146, 37.971183000253042 ], [ -121.732464000058272, 37.970998000853349 ], [ -121.732464000385491, 37.969042000772049 ], [ -121.732464000362384, 37.964594000833614 ], [ -121.732464000275897, 37.961622001076222 ], [ -121.742564000485658, 37.961722000722737 ], [ -121.747364000097264, 37.961822000900419 ], [ -121.747963999931244, 37.961722000756076 ], [ -121.750403000093556, 37.961722000421759 ], [ -121.75059600033714, 37.961722000243654 ], [ -121.75102800044462, 37.961737000993132 ], [ -121.754834999498613, 37.961731000445056 ], [ -121.760164999573703, 37.961722000681988 ], [ -121.76006199995318, 37.966575000825458 ], [ -121.759978999411643, 37.970446001092093 ], [ -121.759965000304518, 37.971122000924339 ], [ -121.762664999905581, 37.971722000314784 ], [ -121.762682000398001, 37.97312300049262 ], [ -121.762690000168021, 37.973782001092445 ], [ -121.762694000496722, 37.974115000895104 ], [ -121.762727000113486, 37.976877000306061 ], [ -121.762764999972745, 37.98002200036202 ], [ -121.766164999908028, 37.981522000517373 ], [ -121.764965000466162, 37.982022000609973 ], [ -121.760564999589079, 37.979722000812011 ], [ -121.753865000466192, 37.982022000877855 ], [ -121.751154000193296, 37.981732001075187 ], [ -121.751064999549271, 37.981722000298994 ], [ -121.748964999400641, 37.98302200066869 ], [ -121.743564000459074, 37.983022000823389 ], [ -121.743182999904306, 37.983341000717935 ], [ -121.74456500018951, 37.984822000767352 ], [ -121.74678599972566, 37.986450000839476 ], [ -121.75056500016909, 37.989221000239759 ], [ -121.75060600024608, 37.990093000790097 ], [ -121.750625999945996, 37.990509000811343 ], [ -121.750664999862693, 37.991321000666595 ], [ -121.750665000329136, 37.992921000550638 ], [ -121.750765000411491, 37.9944210011084 ], [ -121.750865000339928, 37.996821001132851 ], [ -121.750764999550782, 37.997821000693264 ], [ -121.748261999899711, 37.997891000444589 ], [ -121.74819099952326, 37.997893000618284 ], [ -121.747639999929405, 37.997908000932092 ], [ -121.747165000286429, 37.997921001049775 ], [ -121.746812000383784, 37.997897000492749 ], [ -121.744564999931654, 37.997921000634094 ], [ -121.743258000180603, 37.997874000957275 ], [ -121.741764999418123, 37.997821000583663 ], [ -121.738465999698789, 37.99788000054766 ], [ -121.736355999690019, 37.997879000922104 ], [ -121.736124000344319, 37.997882000630668 ], [ -121.73394799968581, 37.997905000837285 ], [ -121.733869999527002, 37.99790600043557 ], [ -121.732464000202341, 37.99792100046637 ], [ -121.732469000295765, 37.996165000371938 ], [ -121.732474000087194, 37.993710000373142 ], [ -121.732463999670827, 37.991921000809846 ], [ -121.732464000353247, 37.99122100076309 ], [ -121.732463999480331, 37.990621001030313 ], [ -121.731555000247099, 37.99061700105252 ], [ -121.730241999618443, 37.990621001119997 ], [ -121.729164000384202, 37.990621000476608 ], [ -121.728557000104729, 37.990621000270515 ], [ -121.727564000181161, 37.990621000880672 ], [ -121.727369999947271, 37.990621000566748 ], [ -121.724182999432571, 37.99062100059561 ], [ -121.724063999956769, 37.990621000978749 ], [ -121.721664000080764, 37.99062200051592 ], [ -121.719663999799735, 37.990522000846973 ], [ -121.718763999766679, 37.990522000532572 ], [ -121.718063999784988, 37.990522000831604 ], [ -121.717485999672604, 37.990536000738068 ], [ -121.716857999816881, 37.990552000943296 ], [ -121.716216999519034, 37.990568000968018 ], [ -121.714063999518444, 37.9906220008221 ], [ -121.714099000511524, 37.989586000933599 ], [ -121.714163999802594, 37.987622000517959 ], [ -121.71416400008367, 37.986822000902372 ], [ -121.714143000319382, 37.986119000576728 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1179, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.640862999948496, 37.954723001108263 ], [ -121.641263000175286, 37.954023000792581 ], [ -121.641262999969769, 37.953423001028071 ], [ -121.641263000283914, 37.953239000420112 ], [ -121.641262999600769, 37.952323000558465 ], [ -121.641302000226986, 37.950074000529881 ], [ -121.641358999928627, 37.946792000259279 ], [ -121.641463000023819, 37.940723000286397 ], [ -121.641463000118549, 37.933223000476197 ], [ -121.641463000136611, 37.92612300106736 ], [ -121.64146200049889, 37.92604600029869 ], [ -121.641383000129224, 37.919983000548051 ], [ -121.64132199990334, 37.919518000934424 ], [ -121.641262999567999, 37.919224000358106 ], [ -121.641263000118499, 37.918824000393663 ], [ -121.641263000191287, 37.912224000316506 ], [ -121.641262999805036, 37.911624001022716 ], [ -121.641263000257496, 37.909024000734988 ], [ -121.641254000491784, 37.908029000288636 ], [ -121.641177000078002, 37.89983500044152 ], [ -121.641161999429613, 37.898224001010668 ], [ -121.650263000251741, 37.898224000369694 ], [ -121.651062999389481, 37.89792400090051 ], [ -121.663962999516414, 37.897924000613266 ], [ -121.677362999575607, 37.912324000502565 ], [ -121.683662999619145, 37.918923000359761 ], [ -121.684123999646843, 37.919420000386509 ], [ -121.690063000214764, 37.925823000367359 ], [ -121.690362999643668, 37.926123000326356 ], [ -121.690576999404911, 37.926353000949867 ], [ -121.696263999812402, 37.932423001067697 ], [ -121.697164000023321, 37.93342300105941 ], [ -121.70066400044773, 37.937223000312351 ], [ -121.700786000273723, 37.937349000270665 ], [ -121.701305999773282, 37.937887000873616 ], [ -121.701775999990133, 37.938373000946669 ], [ -121.702541999880708, 37.939164000724823 ], [ -121.70366400000951, 37.940323000832763 ], [ -121.706163999569213, 37.943023000408317 ], [ -121.708041000383702, 37.945027000950979 ], [ -121.709438999502368, 37.946519000837156 ], [ -121.710067999832802, 37.94719000031116 ], [ -121.711105999899175, 37.948357001116612 ], [ -121.712339000184571, 37.949656000827488 ], [ -121.715286000218768, 37.952760000384814 ], [ -121.716564000251282, 37.954122000724226 ], [ -121.716863999722435, 37.954522000840264 ], [ -121.719663999472701, 37.957222000307787 ], [ -121.719708999699336, 37.95727200068653 ], [ -121.723664000206128, 37.961722000475568 ], [ -121.730290999810705, 37.969027000582216 ], [ -121.73246400042855, 37.971422001079603 ], [ -121.73236400042407, 37.971822000500694 ], [ -121.72956399997004, 37.969022000947994 ], [ -121.7259639996186, 37.968822000732011 ], [ -121.714064000442804, 37.968922001095528 ], [ -121.714163999895817, 37.971622001076248 ], [ -121.712633999527597, 37.971590001067511 ], [ -121.70801299973499, 37.971480000912628 ], [ -121.706749999962028, 37.971450000825314 ], [ -121.704630000161643, 37.971400000907394 ], [ -121.7035639998779, 37.971422000691582 ], [ -121.697809999839038, 37.971422001022695 ], [ -121.696164000296179, 37.971422000481212 ], [ -121.696124000209437, 37.970458001093554 ], [ -121.696077000375652, 37.969342000554668 ], [ -121.696063999789246, 37.96902200094565 ], [ -121.695258999419167, 37.969022000582228 ], [ -121.693747999480649, 37.969022000463553 ], [ -121.693229999974164, 37.969022000892487 ], [ -121.692164999423809, 37.969022000479598 ], [ -121.691735999451808, 37.969022000656899 ], [ -121.691463999963943, 37.96902200035251 ], [ -121.691312999703896, 37.969016000705324 ], [ -121.690762000365908, 37.968993001130229 ], [ -121.690174000273515, 37.968968000754067 ], [ -121.689666999642213, 37.968947001003393 ], [ -121.689515000178375, 37.968941000534514 ], [ -121.689064000345951, 37.968922001017582 ], [ -121.688422000143206, 37.96896500026395 ], [ -121.687681999539038, 37.969014000745524 ], [ -121.687563999508214, 37.969022001092142 ], [ -121.686964000343309, 37.969122001006127 ], [ -121.683810999619723, 37.969047001052871 ], [ -121.682763999974455, 37.96902200035381 ], [ -121.681763999394136, 37.969022000984317 ], [ -121.677863999894655, 37.968922000552887 ], [ -121.675818000515392, 37.968980000369974 ], [ -121.674564999767085, 37.969016001076106 ], [ -121.674363999387339, 37.969022001059784 ], [ -121.668663999938445, 37.969022000423422 ], [ -121.668000000016107, 37.969022000701351 ], [ -121.667363000352452, 37.969022000337169 ], [ -121.666263000269225, 37.969022000480471 ], [ -121.664562999857637, 37.969022000854217 ], [ -121.663463000082714, 37.969022000937159 ], [ -121.662862999738977, 37.969022000981163 ], [ -121.662670999775727, 37.969022000854842 ], [ -121.659563000202965, 37.969022001035881 ], [ -121.656047000377427, 37.969022000929385 ], [ -121.653591000458391, 37.96902200051511 ], [ -121.650863000464938, 37.969022000539987 ], [ -121.640862999985259, 37.969222000544221 ], [ -121.640862999674255, 37.966988000680296 ], [ -121.640862999612352, 37.964154000413174 ], [ -121.640862999957932, 37.957852000346897 ], [ -121.640863000076067, 37.95612000110723 ], [ -121.640863000451219, 37.955493000590927 ], [ -121.640862999948496, 37.954723001108263 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1178, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.700786000273723, 37.937349000270665 ], [ -121.70066400044773, 37.937223000312351 ], [ -121.697164000023321, 37.93342300105941 ], [ -121.696263999812402, 37.932423001067697 ], [ -121.690576999404911, 37.926353000949867 ], [ -121.690362999643668, 37.926123000326356 ], [ -121.690063000214764, 37.925823000367359 ], [ -121.684123999646843, 37.919420000386509 ], [ -121.683662999619145, 37.918923000359761 ], [ -121.677362999575607, 37.912324000502565 ], [ -121.663962999516414, 37.897924000613266 ], [ -121.669863000371222, 37.897924000513363 ], [ -121.677263000451873, 37.897824001057458 ], [ -121.690869999462677, 37.89774900091998 ], [ -121.695362999988419, 37.897724000946702 ], [ -121.711563999607506, 37.897524001074395 ], [ -121.711664000271952, 37.904824001087967 ], [ -121.71526400003556, 37.90472400105665 ], [ -121.715463999434505, 37.904724000510541 ], [ -121.719616000032133, 37.904740001136688 ], [ -121.719935999511563, 37.90484600109621 ], [ -121.720195000384564, 37.904984000817826 ], [ -121.720393999585141, 37.905068000850989 ], [ -121.720592000195836, 37.905091000375023 ], [ -121.721019000037884, 37.905213000578165 ], [ -121.721569000040745, 37.905434001132861 ], [ -121.722225000016877, 37.905762000888217 ], [ -121.726864000500186, 37.909180000332512 ], [ -121.727230000368124, 37.909462000963622 ], [ -121.727641999659554, 37.909760001102413 ], [ -121.727778999763629, 37.909874000491698 ], [ -121.72800800028358, 37.910118000750906 ], [ -121.728363999716223, 37.910424000889797 ], [ -121.72846600011826, 37.910523000312359 ], [ -121.728846999646095, 37.910759000554705 ], [ -121.730830999622654, 37.911614000647752 ], [ -121.731075000488616, 37.911721001097526 ], [ -121.731258000261064, 37.911881001031766 ], [ -121.731379999841451, 37.911994000870557 ], [ -121.731532999879889, 37.912093000383841 ], [ -121.731731000103693, 37.912170000340929 ], [ -121.731964000364883, 37.91222300103734 ], [ -121.731929000506526, 37.912391000612025 ], [ -121.731963999626672, 37.912723000373539 ], [ -121.732009000158513, 37.915281000873918 ], [ -121.732064000365611, 37.918423000532847 ], [ -121.732127999509714, 37.923086001066167 ], [ -121.732164000449671, 37.925723000963245 ], [ -121.731963999866664, 37.926023000505744 ], [ -121.732564000343515, 37.926023000430469 ], [ -121.733564000465378, 37.925923001040303 ], [ -121.736063999856611, 37.92592300099605 ], [ -121.741247000375594, 37.925932000328082 ], [ -121.750183999478637, 37.925820000616852 ], [ -121.75483900007761, 37.925786000595025 ], [ -121.763465000079705, 37.925723000733853 ], [ -121.766365000452055, 37.925723000447924 ], [ -121.767565000441081, 37.925723000389446 ], [ -121.769864999461575, 37.925723000518211 ], [ -121.770964999606534, 37.925723000870185 ], [ -121.777664999899358, 37.925623001074506 ], [ -121.77750799978952, 37.928138000531234 ], [ -121.777416999801716, 37.928336000637145 ], [ -121.777280000480147, 37.928581000523401 ], [ -121.777035000237333, 37.928901000934353 ], [ -121.776836999545608, 37.929130000791567 ], [ -121.776776000203157, 37.929214000351948 ], [ -121.77668500034811, 37.929504000351919 ], [ -121.776500999732065, 37.930503001049239 ], [ -121.776665000279507, 37.931623000628399 ], [ -121.776730000409273, 37.931808000950468 ], [ -121.777539000490876, 37.933028000692715 ], [ -121.777665000028989, 37.933223000935911 ], [ -121.777630999743678, 37.933463001072724 ], [ -121.777569999646829, 37.933677000808331 ], [ -121.777165000025207, 37.934123000637634 ], [ -121.776365000080872, 37.935123001081017 ], [ -121.774476999560349, 37.937379000440821 ], [ -121.773519000223942, 37.938523000700691 ], [ -121.773450000017647, 37.938606001056563 ], [ -121.773365000474243, 37.938823000723268 ], [ -121.773267000033542, 37.939193000389253 ], [ -121.773282000414753, 37.939636000519577 ], [ -121.773265000411001, 37.941823000355555 ], [ -121.773434000054522, 37.945129000991457 ], [ -121.773479999473508, 37.945281001017506 ], [ -121.773617000505737, 37.945640001023854 ], [ -121.773764999603557, 37.946023000355503 ], [ -121.77399900034851, 37.946288000501383 ], [ -121.774274000197977, 37.946555000935625 ], [ -121.774364999440238, 37.946623000928113 ], [ -121.774654999475246, 37.946845000647834 ], [ -121.775036999993915, 37.947128000556567 ], [ -121.777507999469591, 37.948355000257855 ], [ -121.777768000144633, 37.948607000367026 ], [ -121.777864999838116, 37.948822000288317 ], [ -121.777950999633347, 37.948935000744292 ], [ -121.777965000435145, 37.949222000604578 ], [ -121.77807300040655, 37.952711001014976 ], [ -121.778042999557726, 37.953627000506408 ], [ -121.778006000051562, 37.953880000771989 ], [ -121.778877999561445, 37.955835000413259 ], [ -121.779000000298893, 37.957591000633357 ], [ -121.779084000124087, 37.958273001011612 ], [ -121.779252999566808, 37.959656001019944 ], [ -121.78015599995264, 37.961725000293633 ], [ -121.780672999553801, 37.962811001026857 ], [ -121.780843999948289, 37.963374000735243 ], [ -121.780987000443545, 37.963845001053819 ], [ -121.780915999437497, 37.965238000594795 ], [ -121.780100999415239, 37.966296000605269 ], [ -121.779983000233699, 37.966250001097421 ], [ -121.779800000506526, 37.966223000467387 ], [ -121.77383900026058, 37.96466200095351 ], [ -121.76328499985361, 37.962508000523428 ], [ -121.762865000076502, 37.962422000625729 ], [ -121.760164999573703, 37.961722000681988 ], [ -121.754834999498613, 37.961731000445056 ], [ -121.75102800044462, 37.961737000993132 ], [ -121.75059600033714, 37.961722000243654 ], [ -121.750403000093556, 37.961722000421759 ], [ -121.747963999931244, 37.961722000756076 ], [ -121.747364000097264, 37.961822000900419 ], [ -121.742564000485658, 37.961722000722737 ], [ -121.732464000275897, 37.961622001076222 ], [ -121.732464000362384, 37.964594000833614 ], [ -121.732464000385491, 37.969042000772049 ], [ -121.732464000058272, 37.970998000853349 ], [ -121.732463999518146, 37.971183000253042 ], [ -121.73246400042855, 37.971422001079603 ], [ -121.730290999810705, 37.969027000582216 ], [ -121.723664000206128, 37.961722000475568 ], [ -121.719708999699336, 37.95727200068653 ], [ -121.719663999472701, 37.957222000307787 ], [ -121.716863999722435, 37.954522000840264 ], [ -121.716564000251282, 37.954122000724226 ], [ -121.715286000218768, 37.952760000384814 ], [ -121.712339000184571, 37.949656000827488 ], [ -121.711105999899175, 37.948357001116612 ], [ -121.710067999832802, 37.94719000031116 ], [ -121.709438999502368, 37.946519000837156 ], [ -121.708041000383702, 37.945027000950979 ], [ -121.706163999569213, 37.943023000408317 ], [ -121.70366400000951, 37.940323000832763 ], [ -121.702541999880708, 37.939164000724823 ], [ -121.701775999990133, 37.938373000946669 ], [ -121.701305999773282, 37.937887000873616 ], [ -121.700786000273723, 37.937349000270665 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1189, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.805165999520227, 38.01252100066953 ], [ -121.805265999600479, 38.012321000596302 ], [ -121.805066000067868, 38.011321000395753 ], [ -121.806165999632213, 38.011221000933638 ], [ -121.806265999511311, 38.011521000979364 ], [ -121.807666000318832, 38.011521000994449 ], [ -121.808169999636746, 38.011479000282471 ], [ -121.808867000494416, 38.011421000952915 ], [ -121.810067000473225, 38.011421000905109 ], [ -121.810066999704091, 38.009021000617452 ], [ -121.81006600000805, 38.006021000320089 ], [ -121.8100660001693, 38.005021000564916 ], [ -121.808765999750378, 38.005021000333976 ], [ -121.806165999627297, 38.005121000853897 ], [ -121.806165999909155, 38.004821001006526 ], [ -121.806165999756743, 38.004021000431315 ], [ -121.806165999586341, 38.003621000554247 ], [ -121.806166000496788, 38.00322100066203 ], [ -121.806065999987354, 38.002421000261513 ], [ -121.806165999810631, 38.001821000794472 ], [ -121.807066000433252, 38.002021000666275 ], [ -121.809066000406148, 38.002421000312189 ], [ -121.810065999539091, 38.002621000476481 ], [ -121.813700999668825, 38.00343700062362 ], [ -121.814966999736825, 38.003721000386037 ], [ -121.814966999709043, 38.004621000754774 ], [ -121.814966999729762, 38.00502100087656 ], [ -121.814566999727944, 38.005121000252245 ], [ -121.813867000487107, 38.00632100064945 ], [ -121.813866999704487, 38.006921000589436 ], [ -121.813767000138967, 38.00762100104302 ], [ -121.813766999883256, 38.008421000781127 ], [ -121.813767000324759, 38.009121000472994 ], [ -121.813766999436524, 38.0098210009727 ], [ -121.81386699962701, 38.010321000986082 ], [ -121.815067000073299, 38.010421001088453 ], [ -121.815566999604343, 38.010421000917297 ], [ -121.81636699980956, 38.01042100073505 ], [ -121.817266999536088, 38.010421000662866 ], [ -121.818067000171439, 38.010521000595389 ], [ -121.81976700016547, 38.010421000266092 ], [ -121.819666999713633, 38.008621000523476 ], [ -121.81986699967041, 38.005621000786775 ], [ -121.82006699972105, 38.004821000285311 ], [ -121.823766999418098, 38.005621000265172 ], [ -121.825267000494577, 38.005921001014784 ], [ -121.827267000286369, 38.006221001045247 ], [ -121.830267000240951, 38.006921000871195 ], [ -121.833366999438269, 38.007521000812865 ], [ -121.833966999961589, 38.007021000641224 ], [ -121.835967000418492, 38.005221000422729 ], [ -121.836480000464235, 38.004650000832733 ], [ -121.836916000129335, 38.004188000703948 ], [ -121.837166999832547, 38.003921000357266 ], [ -121.839069000481601, 38.004473000762381 ], [ -121.840266999540916, 38.004821000983618 ], [ -121.844967999527043, 38.006121000448395 ], [ -121.852867000008942, 38.008459000758378 ], [ -121.854767999710447, 38.009021000911673 ], [ -121.854790999882113, 38.009027001003901 ], [ -121.855467999638051, 38.009221000302524 ], [ -121.855410999913289, 38.009412000511098 ], [ -121.855168000178196, 38.01022100097827 ], [ -121.854968000253606, 38.010621000435258 ], [ -121.854168000217726, 38.012321001015657 ], [ -121.854168000380369, 38.012721001092743 ], [ -121.854181000406115, 38.012917000561195 ], [ -121.854190000246817, 38.013060000336161 ], [ -121.859967999802905, 38.015121000449184 ], [ -121.85976799961648, 38.015321001033001 ], [ -121.858592000033184, 38.016316000663295 ], [ -121.85846800008855, 38.016421000299474 ], [ -121.858169999659623, 38.017152000282202 ], [ -121.857368000198548, 38.019120000572308 ], [ -121.857168000023364, 38.019620000561751 ], [ -121.856668000415382, 38.020820000539004 ], [ -121.856567999893201, 38.021020000723553 ], [ -121.856211000170589, 38.021762000307433 ], [ -121.855267999706996, 38.02372000091858 ], [ -121.851768000232198, 38.022820000584403 ], [ -121.850467999900985, 38.022520000729919 ], [ -121.849168000294668, 38.025220000620585 ], [ -121.848667999484093, 38.026320000474485 ], [ -121.847967999911532, 38.027820000931165 ], [ -121.84756800043867, 38.028420000555933 ], [ -121.847167999531109, 38.028920000592471 ], [ -121.845867999398948, 38.028320000328705 ], [ -121.843267999952573, 38.027220000963467 ], [ -121.842300000310161, 38.027264000967669 ], [ -121.841226999918902, 38.027312000535794 ], [ -121.836210999921619, 38.027537000662001 ], [ -121.827666999731278, 38.0279200004355 ], [ -121.827559000528524, 38.027798000473126 ], [ -121.826841999835736, 38.027386000902332 ], [ -121.825867000484664, 38.026820000574979 ], [ -121.825366999588013, 38.026620001047 ], [ -121.824920000030758, 38.026272000348776 ], [ -121.823867000521716, 38.025692000701582 ], [ -121.823066999739623, 38.02532000105294 ], [ -121.822671000452402, 38.025322000484572 ], [ -121.822270999424319, 38.025022000813074 ], [ -121.821246000492422, 38.024429001069365 ], [ -121.820177999924127, 38.02365900081692 ], [ -121.819156000020101, 38.022987000441525 ], [ -121.818175000037058, 38.022190000351642 ], [ -121.81695399944887, 38.021519000409846 ], [ -121.815673000231058, 38.021038001116814 ], [ -121.814512999527253, 38.020756000452977 ], [ -121.813308000145426, 38.020535000551405 ], [ -121.811903999915373, 38.02035900059186 ], [ -121.810653000467838, 38.020290001127883 ], [ -121.809310000235442, 38.020321000887293 ], [ -121.808333000134553, 38.020466000964213 ], [ -121.806806999581383, 38.020764000906141 ], [ -121.805037000342097, 38.02105300056963 ], [ -121.804866999640993, 38.021120001057241 ], [ -121.803372999896126, 38.021320000499138 ], [ -121.801466000391613, 38.02142000032287 ], [ -121.801270000406433, 38.021622001039049 ], [ -121.801166000310872, 38.017721000499755 ], [ -121.801065999600439, 38.016621000627175 ], [ -121.799566000432193, 38.015321000961691 ], [ -121.799466000329531, 38.015121000677084 ], [ -121.798865999681837, 38.014421000301994 ], [ -121.79746599962445, 38.012921000988257 ], [ -121.796965999751279, 38.012521000777596 ], [ -121.799366000143223, 38.012521000971184 ], [ -121.801566000101175, 38.012521001050864 ], [ -121.805165999520227, 38.01252100066953 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1183, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.772564999863334, 38.005121000681413 ], [ -121.772564999451973, 38.006321000807098 ], [ -121.772564999736218, 38.007621000310969 ], [ -121.772565000099817, 38.008121001020179 ], [ -121.772564999491749, 38.01042100031006 ], [ -121.772565000345708, 38.011221000342651 ], [ -121.773464999489732, 38.011221000482614 ], [ -121.773764999980571, 38.011221000507874 ], [ -121.778066000078624, 38.011221000341386 ], [ -121.77836599955657, 38.011221000327879 ], [ -121.780465999970801, 38.011321000981845 ], [ -121.782365999770974, 38.011421001118229 ], [ -121.782585000454205, 38.011468000953897 ], [ -121.787465999694831, 38.012521000496236 ], [ -121.787535999442852, 38.012556000979309 ], [ -121.787866000327568, 38.012721001046003 ], [ -121.791165999712646, 38.013221000680495 ], [ -121.794766000373116, 38.014021000418715 ], [ -121.796566000213488, 38.014421000993011 ], [ -121.799466000329531, 38.015121000677084 ], [ -121.799566000432193, 38.015321000961691 ], [ -121.801065999600439, 38.016621000627175 ], [ -121.801166000310872, 38.017721000499755 ], [ -121.801270000406433, 38.021622001039049 ], [ -121.801066000228545, 38.021420000910027 ], [ -121.800000999717852, 38.021290000756551 ], [ -121.798017000481082, 38.020863000324766 ], [ -121.796566000373971, 38.020120000394243 ], [ -121.796262999442774, 38.020046000786245 ], [ -121.794905000211884, 38.019421000786792 ], [ -121.793440000382247, 38.019116001089444 ], [ -121.791914000181791, 38.018888000789659 ], [ -121.791165999548241, 38.018721000531443 ], [ -121.790766000273436, 38.018621000824794 ], [ -121.790465999900306, 38.018621000737802 ], [ -121.78961000005711, 38.018468000472232 ], [ -121.788770000489151, 38.018422000604737 ], [ -121.787427999854955, 38.018476001001275 ], [ -121.786436000230893, 38.018644000918378 ], [ -121.785428999866895, 38.018605000690201 ], [ -121.784268999522354, 38.01853700051597 ], [ -121.783140000327393, 38.018537000827585 ], [ -121.781385000481649, 38.018613000976295 ], [ -121.779905000308602, 38.018827001113664 ], [ -121.778836999457994, 38.018949000522689 ], [ -121.778265999549063, 38.01902100103657 ], [ -121.777478999505348, 38.018918001121868 ], [ -121.775830999594021, 38.019384001034112 ], [ -121.774518999570489, 38.019779000422908 ], [ -121.772978000115998, 38.02036700049149 ], [ -121.771894000448043, 38.02069500039638 ], [ -121.77061200042867, 38.021114000510181 ], [ -121.769481999614229, 38.02157200043294 ], [ -121.767925999502054, 38.022167000862616 ], [ -121.766460999548059, 38.022778000353398 ], [ -121.76511800037558, 38.023197001061007 ], [ -121.763464999852616, 38.023520000753869 ], [ -121.761975000036131, 38.02375400059158 ], [ -121.759991000385455, 38.023930000250886 ], [ -121.75824100018491, 38.024132000945947 ], [ -121.755969000385633, 38.024122000915433 ], [ -121.754884000058681, 38.024185000898086 ], [ -121.753830999407796, 38.024193000565909 ], [ -121.751801000024912, 38.024292000838095 ], [ -121.750664999449114, 38.024220000368466 ], [ -121.750664999796712, 38.021921000422886 ], [ -121.750665000286389, 38.019621001052165 ], [ -121.750704999600998, 38.018580000556568 ], [ -121.750764999929501, 38.017021000385107 ], [ -121.75076500040737, 38.01398400027135 ], [ -121.750765000108444, 38.012321000449397 ], [ -121.750765000226991, 38.009089001118433 ], [ -121.750765000444829, 38.009021001037397 ], [ -121.750864999939665, 38.00552100080214 ], [ -121.750765000266412, 38.005121000511011 ], [ -121.750664999749091, 38.001121000835177 ], [ -121.750700999654882, 37.999921000664543 ], [ -121.750764999550782, 37.997821000693264 ], [ -121.750865000339928, 37.996821001132851 ], [ -121.750765000411491, 37.9944210011084 ], [ -121.750665000329136, 37.992921000550638 ], [ -121.750664999862693, 37.991321000666595 ], [ -121.750625999945996, 37.990509000811343 ], [ -121.75060600024608, 37.990093000790097 ], [ -121.75056500016909, 37.989221000239759 ], [ -121.74678599972566, 37.986450000839476 ], [ -121.74456500018951, 37.984822000767352 ], [ -121.743182999904306, 37.983341000717935 ], [ -121.743564000459074, 37.983022000823389 ], [ -121.743929000194655, 37.98330600046355 ], [ -121.753564999693481, 37.990821000899381 ], [ -121.7539589997901, 37.991006000934881 ], [ -121.756278000258291, 37.99209300092766 ], [ -121.756765000148917, 37.992321000846545 ], [ -121.757764999464655, 37.992621000731233 ], [ -121.768864999928525, 37.995021000448254 ], [ -121.778065000337151, 37.996621000962755 ], [ -121.778664999526271, 37.996721001022031 ], [ -121.786465999819427, 37.998121001016493 ], [ -121.786666000097782, 37.998621000403119 ], [ -121.787396999995266, 37.999921000261359 ], [ -121.787565999867965, 38.000221000382695 ], [ -121.78756599947053, 38.000617001005011 ], [ -121.787565999895605, 38.000721000568824 ], [ -121.787566000342352, 38.000921000275895 ], [ -121.787565999846549, 38.001066000862096 ], [ -121.787565999426818, 38.002221000877263 ], [ -121.787566000525075, 38.002921000548866 ], [ -121.787365999652422, 38.00442100086331 ], [ -121.786665999696069, 38.004321000765849 ], [ -121.785820000351407, 38.004625001012151 ], [ -121.785348999848011, 38.004795000486659 ], [ -121.784165999644301, 38.005221001039772 ], [ -121.783705999824875, 38.005247000300685 ], [ -121.782366000487585, 38.005321000740331 ], [ -121.782166000097021, 38.0053210005305 ], [ -121.78166600027005, 38.005321000331378 ], [ -121.780966000091325, 38.005321000260068 ], [ -121.779965999410422, 38.005321001033074 ], [ -121.779365999514866, 38.005321000662796 ], [ -121.778766000165433, 38.005221000239878 ], [ -121.778466000076534, 38.00522100053027 ], [ -121.778166000188648, 38.005121000361761 ], [ -121.776965000416212, 38.005121000246092 ], [ -121.776648000021254, 38.00512100112185 ], [ -121.774080000460827, 38.005121000652871 ], [ -121.772564999863334, 38.005121000681413 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1191, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.813766999883256, 38.008421000781127 ], [ -121.813767000138967, 38.00762100104302 ], [ -121.813866999704487, 38.006921000589436 ], [ -121.813867000487107, 38.00632100064945 ], [ -121.814566999727944, 38.005121000252245 ], [ -121.814966999729762, 38.00502100087656 ], [ -121.814966999709043, 38.004621000754774 ], [ -121.814966999736825, 38.003721000386037 ], [ -121.813700999668825, 38.00343700062362 ], [ -121.810065999539091, 38.002621000476481 ], [ -121.809066000406148, 38.002421000312189 ], [ -121.807066000433252, 38.002021000666275 ], [ -121.806165999810631, 38.001821000794472 ], [ -121.806065999949624, 38.001121000243089 ], [ -121.806066000189787, 38.000821001103461 ], [ -121.806066000099179, 38.000421001021998 ], [ -121.806009999807344, 37.9999210009655 ], [ -121.805966000030409, 37.999521001072353 ], [ -121.806066000296013, 37.998821000440735 ], [ -121.806122999404622, 37.998333000327321 ], [ -121.8067659996141, 37.998321000822251 ], [ -121.809066000240378, 37.99832100092955 ], [ -121.809965999476731, 37.998321000818756 ], [ -121.809965999394166, 37.997521000928842 ], [ -121.809966000249588, 37.99532100092943 ], [ -121.809965999417699, 37.993821000421832 ], [ -121.810450999712771, 37.993966000327148 ], [ -121.810966000260379, 37.994121000763094 ], [ -121.814566999569962, 37.994221000777969 ], [ -121.815066999490696, 37.994221001122213 ], [ -121.815766999880395, 37.994221001100527 ], [ -121.81726699989747, 37.994221000270365 ], [ -121.818467000487459, 37.994221000971663 ], [ -121.819866999721754, 37.993821000313936 ], [ -121.821266999482745, 37.993221000341116 ], [ -121.822367000288239, 37.992821000326671 ], [ -121.82266699942123, 37.994721001089175 ], [ -121.822567000478358, 37.996221000414494 ], [ -121.822467000349619, 37.99732100109086 ], [ -121.821966999506301, 37.998221000594512 ], [ -121.821567000140675, 37.99902100029643 ], [ -121.821185000156802, 37.999668000880312 ], [ -121.821151999497829, 37.999884000918996 ], [ -121.82106700001728, 38.000421000889574 ], [ -121.820966999663966, 38.001221000735661 ], [ -121.820815000367062, 38.001854000419925 ], [ -121.820367000003031, 38.003721000998283 ], [ -121.82006699972105, 38.004821000285311 ], [ -121.81986699967041, 38.005621000786775 ], [ -121.819666999713633, 38.008621000523476 ], [ -121.81976700016547, 38.010421000266092 ], [ -121.818067000171439, 38.010521000595389 ], [ -121.817266999536088, 38.010421000662866 ], [ -121.81636699980956, 38.01042100073505 ], [ -121.815566999604343, 38.010421000917297 ], [ -121.815067000073299, 38.010421001088453 ], [ -121.81386699962701, 38.010321000986082 ], [ -121.813766999436524, 38.0098210009727 ], [ -121.813767000324759, 38.009121000472994 ], [ -121.813766999883256, 38.008421000781127 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1192, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.833549000382675, 37.999355001025918 ], [ -121.832967000117733, 37.999521000912345 ], [ -121.832667000234736, 37.999621000272555 ], [ -121.832166999789749, 37.999721000912345 ], [ -121.83176700023526, 37.999921000924587 ], [ -121.831066999463374, 38.000021000591673 ], [ -121.830993999988436, 38.000057000604635 ], [ -121.830666999864931, 38.000221000425867 ], [ -121.830267000363463, 38.000421000681882 ], [ -121.829666999971721, 38.00062100094074 ], [ -121.828766999538857, 38.00062100029163 ], [ -121.827867000295967, 38.000621000874581 ], [ -121.826767000267665, 38.000421000523268 ], [ -121.825966999726916, 38.000021001083141 ], [ -121.825699999868093, 37.999921000714579 ], [ -121.825167000016847, 37.999721000946657 ], [ -121.8241670001008, 37.999421000965611 ], [ -121.823466999535711, 37.999021000333258 ], [ -121.822766999710339, 37.998621000970125 ], [ -121.821966999506301, 37.998221000594512 ], [ -121.822467000349619, 37.99732100109086 ], [ -121.822567000478358, 37.996221000414494 ], [ -121.82266699942123, 37.994721001089175 ], [ -121.822367000288239, 37.992821000326671 ], [ -121.823466999752782, 37.992521001023881 ], [ -121.824366999697943, 37.99092100033009 ], [ -121.824867000315805, 37.990321000918335 ], [ -121.828866999541191, 37.989721000875647 ], [ -121.829667000057725, 37.989721000653653 ], [ -121.829766999981018, 37.989721000805005 ], [ -121.830667000486415, 37.989721001054662 ], [ -121.831766999823358, 37.989721000401474 ], [ -121.832766999827768, 37.989821000490252 ], [ -121.834167000300283, 37.990021000317967 ], [ -121.835367000377218, 37.990221001091925 ], [ -121.836867000042119, 37.990521000653118 ], [ -121.839066999980261, 37.99052100026568 ], [ -121.839667000087587, 37.990421001056113 ], [ -121.839966999602581, 37.990521000567739 ], [ -121.83996699969704, 37.991721000830594 ], [ -121.839867000392772, 37.992421000820897 ], [ -121.839767000155845, 37.993121000624697 ], [ -121.839367000466567, 37.993821000369508 ], [ -121.839066999525969, 37.994521000808611 ], [ -121.838766999561074, 37.995221000375274 ], [ -121.838066999470271, 37.996721000554786 ], [ -121.837867000071341, 37.997421000447723 ], [ -121.837667000059042, 37.99802100045229 ], [ -121.837367000141953, 37.999021000445055 ], [ -121.836167000161964, 37.999021001123616 ], [ -121.835666999737555, 37.999021001091087 ], [ -121.834767000174779, 37.9990210005516 ], [ -121.834067000174215, 37.999221000451954 ], [ -121.833667000229809, 37.999321000400855 ], [ -121.833549000382675, 37.999355001025918 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1193, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.824276999517295, 37.984243000980705 ], [ -121.824399999904358, 37.983890000331343 ], [ -121.824498999430588, 37.983605001087184 ], [ -121.824667000414649, 37.983122000815136 ], [ -121.824952999562882, 37.982638000939097 ], [ -121.824167000428659, 37.982222000582937 ], [ -121.822866999627919, 37.981622001048521 ], [ -121.822967000079089, 37.980122000443444 ], [ -121.823466999915453, 37.980222000996335 ], [ -121.825267000142048, 37.980222000339452 ], [ -121.82926700044419, 37.983122001009924 ], [ -121.830366999917061, 37.983222000726251 ], [ -121.833077999841436, 37.983166000849685 ], [ -121.834276000523261, 37.983141000633537 ], [ -121.835167000418636, 37.983122000986668 ], [ -121.835986000396844, 37.983148000454726 ], [ -121.838667000366826, 37.983235001014307 ], [ -121.841367000354538, 37.983322000580806 ], [ -121.842367000084906, 37.98332100054963 ], [ -121.843966999510414, 37.983421000818275 ], [ -121.844968999395263, 37.98389500090174 ], [ -121.849945000525523, 37.986249000315865 ], [ -121.850567999620282, 37.986221000332854 ], [ -121.851667999659057, 37.986121000847305 ], [ -121.853968000179734, 37.984721000803745 ], [ -121.852926999632658, 37.987661000564565 ], [ -121.85226800008212, 37.989521000534552 ], [ -121.852216999858598, 37.989725000317229 ], [ -121.852068000165758, 37.990321000841071 ], [ -121.850968000123984, 37.991821000732962 ], [ -121.847267000077721, 37.995021001047 ], [ -121.846767000097543, 37.995521000251415 ], [ -121.845967000411093, 37.996221000612536 ], [ -121.844966999644967, 37.997021000720309 ], [ -121.844067000235142, 37.997921000374525 ], [ -121.84286699972904, 37.998921000339315 ], [ -121.841728000428091, 37.999921000947936 ], [ -121.838767000038288, 38.002521000527871 ], [ -121.838013000398576, 38.003170000391357 ], [ -121.837907999778196, 38.003273000574907 ], [ -121.837411999998011, 38.003707000881576 ], [ -121.837166999832547, 38.003921000357266 ], [ -121.836014000299087, 38.003628000677892 ], [ -121.834913999387879, 38.003349001082171 ], [ -121.83356699998248, 38.00302100111481 ], [ -121.832191000073735, 38.00261600100638 ], [ -121.823367000060287, 38.000021000258059 ], [ -121.822639999961766, 37.999904000732151 ], [ -121.821185000156802, 37.999668000880312 ], [ -121.821567000140675, 37.99902100029643 ], [ -121.821966999506301, 37.998221000594512 ], [ -121.822766999710339, 37.998621000970125 ], [ -121.823466999535711, 37.999021000333258 ], [ -121.8241670001008, 37.999421000965611 ], [ -121.825167000016847, 37.999721000946657 ], [ -121.825699999868093, 37.999921000714579 ], [ -121.825966999726916, 38.000021001083141 ], [ -121.826767000267665, 38.000421000523268 ], [ -121.827867000295967, 38.000621000874581 ], [ -121.828766999538857, 38.00062100029163 ], [ -121.829666999971721, 38.00062100094074 ], [ -121.830267000363463, 38.000421000681882 ], [ -121.830666999864931, 38.000221000425867 ], [ -121.830993999988436, 38.000057000604635 ], [ -121.831066999463374, 38.000021000591673 ], [ -121.83176700023526, 37.999921000924587 ], [ -121.832166999789749, 37.999721000912345 ], [ -121.832667000234736, 37.999621000272555 ], [ -121.832967000117733, 37.999521000912345 ], [ -121.833549000382675, 37.999355001025918 ], [ -121.833667000229809, 37.999321000400855 ], [ -121.834067000174215, 37.999221000451954 ], [ -121.834767000174779, 37.9990210005516 ], [ -121.835666999737555, 37.999021001091087 ], [ -121.836167000161964, 37.999021001123616 ], [ -121.837367000141953, 37.999021000445055 ], [ -121.837667000059042, 37.99802100045229 ], [ -121.837867000071341, 37.997421000447723 ], [ -121.838066999470271, 37.996721000554786 ], [ -121.838766999561074, 37.995221000375274 ], [ -121.839066999525969, 37.994521000808611 ], [ -121.839367000466567, 37.993821000369508 ], [ -121.839767000155845, 37.993121000624697 ], [ -121.839867000392772, 37.992421000820897 ], [ -121.83996699969704, 37.991721000830594 ], [ -121.839966999602581, 37.990521000567739 ], [ -121.839667000087587, 37.990421001056113 ], [ -121.839066999980261, 37.99052100026568 ], [ -121.836867000042119, 37.990521000653118 ], [ -121.835367000377218, 37.990221001091925 ], [ -121.834167000300283, 37.990021000317967 ], [ -121.832766999827768, 37.989821000490252 ], [ -121.831766999823358, 37.989721000401474 ], [ -121.830667000486415, 37.989721001054662 ], [ -121.829766999981018, 37.989721000805005 ], [ -121.829667000057725, 37.989721000653653 ], [ -121.828866999541191, 37.989721000875647 ], [ -121.824867000315805, 37.990321000918335 ], [ -121.824366999697943, 37.99092100033009 ], [ -121.823466999752782, 37.992521001023881 ], [ -121.822367000288239, 37.992821000326671 ], [ -121.822566999932391, 37.989821000783735 ], [ -121.823147000058555, 37.988305000758395 ], [ -121.823867000450363, 37.986421000409827 ], [ -121.823866999653248, 37.985421000735954 ], [ -121.824276999517295, 37.984243000980705 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1184, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.768864999928525, 37.995021000448254 ], [ -121.757764999464655, 37.992621000731233 ], [ -121.756765000148917, 37.992321000846545 ], [ -121.756278000258291, 37.99209300092766 ], [ -121.7539589997901, 37.991006000934881 ], [ -121.753564999693481, 37.990821000899381 ], [ -121.743929000194655, 37.98330600046355 ], [ -121.743564000459074, 37.983022000823389 ], [ -121.748964999400641, 37.98302200066869 ], [ -121.751064999549271, 37.981722000298994 ], [ -121.751154000193296, 37.981732001075187 ], [ -121.753865000466192, 37.982022000877855 ], [ -121.760564999589079, 37.979722000812011 ], [ -121.764965000466162, 37.982022000609973 ], [ -121.766164999908028, 37.981522000517373 ], [ -121.766483000297114, 37.981693000554515 ], [ -121.76876499952148, 37.982922000233671 ], [ -121.769809999673313, 37.982978000601655 ], [ -121.772351999844176, 37.983114000828913 ], [ -121.774365000416879, 37.983222000648439 ], [ -121.775555000093703, 37.983688000393599 ], [ -121.776664999538212, 37.984122000982261 ], [ -121.778764999815252, 37.98592100033224 ], [ -121.781866000172769, 37.988421000943454 ], [ -121.784065999621234, 37.990221000371271 ], [ -121.784365999576579, 37.990421000686219 ], [ -121.784465999996925, 37.991021000557879 ], [ -121.784481999541327, 37.991160000421317 ], [ -121.784665999668192, 37.992721000596795 ], [ -121.784766000470242, 37.993221000981976 ], [ -121.785066000502866, 37.995021000287998 ], [ -121.785055999943822, 37.995036000867984 ], [ -121.785266000469917, 37.99552100038408 ], [ -121.785666000066627, 37.996221000665678 ], [ -121.785766000388946, 37.996721000888371 ], [ -121.785865999866488, 37.996921000393549 ], [ -121.786066000384338, 37.9973210009586 ], [ -121.786465999819427, 37.998121001016493 ], [ -121.778664999526271, 37.996721001022031 ], [ -121.778065000337151, 37.996621000962755 ], [ -121.768864999928525, 37.995021000448254 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1205, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.904670000089411, 38.045320000946766 ], [ -121.903154000277297, 38.045330000967986 ], [ -121.901171000040335, 38.045361000351193 ], [ -121.898881999674629, 38.045574000949308 ], [ -121.896242000078644, 38.045849000698908 ], [ -121.893327000043257, 38.046185000676999 ], [ -121.891801000085437, 38.04641400058599 ], [ -121.889573000108385, 38.046657000325496 ], [ -121.887257999470677, 38.047114000954636 ], [ -121.886673999890718, 38.047229000393791 ], [ -121.884462999863487, 38.047765000713774 ], [ -121.883560999648694, 38.047984000339156 ], [ -121.880174000489376, 38.048709000590684 ], [ -121.878219999922734, 38.049319000242271 ], [ -121.876069000388867, 38.050119000916787 ], [ -121.875031000323759, 38.050555001011858 ], [ -121.87472599984126, 38.050677000586781 ], [ -121.874574000138793, 38.050769000313196 ], [ -121.872696999864644, 38.051845000575547 ], [ -121.871095000343786, 38.0530270002847 ], [ -121.869468999917373, 38.054519001020047 ], [ -121.869400999837111, 38.054599000628315 ], [ -121.86854599947371, 38.055545000468889 ], [ -121.867402000060878, 38.056895000460003 ], [ -121.866364000386483, 38.058314000610302 ], [ -121.865188999462873, 38.059909000387968 ], [ -121.864471999515104, 38.060985000872947 ], [ -121.863648000153248, 38.062381000993234 ], [ -121.863113999567261, 38.063472000878185 ], [ -121.862640999901004, 38.064929000359676 ], [ -121.862534000274977, 38.065677000887185 ], [ -121.862534000318817, 38.065898000394434 ], [ -121.862461999550916, 38.066030000729953 ], [ -121.86244299986005, 38.066066000586986 ], [ -121.862138000105432, 38.066066000478131 ], [ -121.854523999687828, 38.06508900113532 ], [ -121.853851999555175, 38.064853001061906 ], [ -121.853639000309727, 38.064776000262832 ], [ -121.851026999438488, 38.062935000857074 ], [ -121.846801999532033, 38.059955000863972 ], [ -121.842040000179438, 38.052565000805586 ], [ -121.841659000494786, 38.051974000455452 ], [ -121.841063999791999, 38.048335000631944 ], [ -121.840850999847902, 38.047024000974133 ], [ -121.840561000263762, 38.045269000551926 ], [ -121.83958400006459, 38.042919000490571 ], [ -121.838973999610999, 38.041454000715291 ], [ -121.838409000327417, 38.040089000319959 ], [ -121.83793599942662, 38.038944000422951 ], [ -121.837311000183306, 38.038242000740617 ], [ -121.837203999523652, 38.038090001056759 ], [ -121.837006000155029, 38.037891000846997 ], [ -121.836562999405288, 38.03740300065742 ], [ -121.834197999586721, 38.03473300052984 ], [ -121.832121999734838, 38.03110100028119 ], [ -121.831785999455505, 38.030842000896584 ], [ -121.83161799940342, 38.030666000934069 ], [ -121.830580999636084, 38.029904000282023 ], [ -121.830316999392323, 38.029723000517905 ], [ -121.830213999805309, 38.029652000713888 ], [ -121.828718999516767, 38.028515000653847 ], [ -121.828367000322245, 38.028220000645085 ], [ -121.828067000467797, 38.028020000333328 ], [ -121.827666999731278, 38.0279200004355 ], [ -121.836210999921619, 38.027537000662001 ], [ -121.841226999918902, 38.027312000535794 ], [ -121.842300000310161, 38.027264000967669 ], [ -121.843267999952573, 38.027220000963467 ], [ -121.845867999398948, 38.028320000328705 ], [ -121.847167999531109, 38.028920000592471 ], [ -121.84756800043867, 38.028420000555933 ], [ -121.847967999911532, 38.027820000931165 ], [ -121.848667999484093, 38.026320000474485 ], [ -121.849168000294668, 38.025220000620585 ], [ -121.850467999900985, 38.022520000729919 ], [ -121.851768000232198, 38.022820000584403 ], [ -121.855267999706996, 38.02372000091858 ], [ -121.856211000170589, 38.021762000307433 ], [ -121.856567999893201, 38.021020000723553 ], [ -121.856668000415382, 38.020820000539004 ], [ -121.857168000023364, 38.019620000561751 ], [ -121.857368000198548, 38.019120000572308 ], [ -121.858169999659623, 38.017152000282202 ], [ -121.85846800008855, 38.016421000299474 ], [ -121.858592000033184, 38.016316000663295 ], [ -121.85976799961648, 38.015321001033001 ], [ -121.859967999802905, 38.015121000449184 ], [ -121.865467999500211, 38.017020000243143 ], [ -121.869067999662875, 38.018220000382421 ], [ -121.872667999560107, 38.019520000978929 ], [ -121.873620999650996, 38.019842001002544 ], [ -121.873468999871335, 38.020120000783066 ], [ -121.872769000259794, 38.021920000629287 ], [ -121.872469000011677, 38.022620000563577 ], [ -121.872169000081456, 38.023420000739307 ], [ -121.871969000313783, 38.024020001090797 ], [ -121.871668999587868, 38.024620000247417 ], [ -121.875568999713025, 38.025520000595215 ], [ -121.8760690002606, 38.025609001078593 ], [ -121.878368999480571, 38.026020001074002 ], [ -121.878269000380087, 38.026720000251373 ], [ -121.878368999822953, 38.027420000485236 ], [ -121.878285999761829, 38.028087000424811 ], [ -121.880294999406019, 38.028639000388345 ], [ -121.880999000001509, 38.029000000301281 ], [ -121.880968999724956, 38.029120001038741 ], [ -121.880929999614295, 38.029211000595417 ], [ -121.881629000449408, 38.029359000597914 ], [ -121.882240000333255, 38.02948800063578 ], [ -121.88343699987324, 38.029806001018081 ], [ -121.884386999697284, 38.030004000833657 ], [ -121.88568999965814, 38.030299000298889 ], [ -121.885769000039303, 38.030120000489511 ], [ -121.885796999893259, 38.030021001056532 ], [ -121.886982999893064, 38.030457000753657 ], [ -121.888194000162216, 38.030653001091679 ], [ -121.889479999860598, 38.030936000605351 ], [ -121.890882999582544, 38.031137000673731 ], [ -121.892775000391751, 38.031207001111682 ], [ -121.892969000281681, 38.03112000055981 ], [ -121.893268999615515, 38.030620001110051 ], [ -121.893569000358355, 38.029720000590295 ], [ -121.895569000125533, 38.029720001016166 ], [ -121.896369000354326, 38.029720001032437 ], [ -121.896949000469931, 38.029720000882932 ], [ -121.897174000302741, 38.029720001046826 ], [ -121.897572000255934, 38.029720000949084 ], [ -121.89876900021892, 38.029720000843824 ], [ -121.899568999580495, 38.02962000035744 ], [ -121.906769999460167, 38.029920000609877 ], [ -121.907170000444921, 38.029920001042115 ], [ -121.90707900051882, 38.030056001115284 ], [ -121.906769999673372, 38.03052000025383 ], [ -121.905370000126069, 38.031220000484026 ], [ -121.900870000324574, 38.031620000986337 ], [ -121.901170000249152, 38.032320000274368 ], [ -121.90186999961054, 38.033720000477679 ], [ -121.902670000121006, 38.035020000381728 ], [ -121.904370000236611, 38.0362200007567 ], [ -121.905569999549598, 38.038320000688579 ], [ -121.907070000510231, 38.03902000031475 ], [ -121.908369999828111, 38.039620000827412 ], [ -121.908569999430398, 38.045020000785826 ], [ -121.906800999623371, 38.045002000473836 ], [ -121.904670000089411, 38.045320000946766 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1203, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.882468999848598, 38.015721000709974 ], [ -121.887857999409107, 38.017066000846498 ], [ -121.888942999757248, 38.017349001117239 ], [ -121.889136999410681, 38.017404000514631 ], [ -121.891214999575226, 38.017974000955178 ], [ -121.897911000103193, 38.019578000852199 ], [ -121.898540999604293, 38.019717000627288 ], [ -121.898715000117406, 38.01975500038629 ], [ -121.899498000195919, 38.019937000772948 ], [ -121.899934999918017, 38.020039000868998 ], [ -121.901418999950963, 38.020378000284502 ], [ -121.902598999427923, 38.020513001011373 ], [ -121.904563999726832, 38.020688001021647 ], [ -121.906870000074775, 38.020620000560314 ], [ -121.906847999588209, 38.021236000988111 ], [ -121.906820000331479, 38.022020001036289 ], [ -121.906770000327342, 38.02342000025385 ], [ -121.906669999455858, 38.026220000320585 ], [ -121.906666000431159, 38.026308000446477 ], [ -121.906660999890562, 38.026441000383038 ], [ -121.902554000347777, 38.026028001073165 ], [ -121.902468999716973, 38.026020000327712 ], [ -121.892768999770908, 38.025120000912089 ], [ -121.891569000151677, 38.024920000595934 ], [ -121.886369000487463, 38.02422000064648 ], [ -121.880069000176093, 38.022020000318008 ], [ -121.880869000050566, 38.020120000851335 ], [ -121.881169000232504, 38.019220000446744 ], [ -121.881768999764276, 38.017920000561297 ], [ -121.882369000215135, 38.016120000531316 ], [ -121.882468999848598, 38.015721000709974 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1199, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.867082999605472, 38.011855000625665 ], [ -121.867258000431747, 38.011795000949469 ], [ -121.867365999755549, 38.011758000682867 ], [ -121.867768000226405, 38.01162100056731 ], [ -121.86826799960258, 38.011421000807026 ], [ -121.868867999700072, 38.011121000733489 ], [ -121.871067999679255, 38.008521000613058 ], [ -121.87136800021915, 38.00772100099892 ], [ -121.871448999893033, 38.007498000828228 ], [ -121.871768000171116, 38.006621000526891 ], [ -121.872067999827806, 38.005721000971469 ], [ -121.872468000166364, 38.004821000484469 ], [ -121.873068000008374, 38.003021000640771 ], [ -121.873467999417755, 38.001421001106664 ], [ -121.873667999971701, 38.000321000623188 ], [ -121.873668000295723, 37.999921000881756 ], [ -121.873667999966642, 37.998021000607373 ], [ -121.873816000003842, 37.998003000694723 ], [ -121.874468000407632, 37.997921000934419 ], [ -121.877567999934257, 37.998021000584934 ], [ -121.880167999946721, 37.998121000586387 ], [ -121.881867999649714, 37.998121000626938 ], [ -121.883169000215446, 37.998121000519461 ], [ -121.885038000183684, 37.998121000485384 ], [ -121.88726900032573, 37.998121000795003 ], [ -121.888868999446615, 37.99812100054902 ], [ -121.890068999833645, 37.998221000607693 ], [ -121.89116899959491, 37.99822100097979 ], [ -121.891568999752451, 37.998221000285952 ], [ -121.892036999500007, 37.998221000851537 ], [ -121.892868999747947, 37.998221000567717 ], [ -121.896468999563737, 37.998121000564979 ], [ -121.896069000488467, 37.999221000849225 ], [ -121.895469000129964, 38.000521000863841 ], [ -121.895269000243061, 38.000921000742103 ], [ -121.895068999742008, 38.001421001004147 ], [ -121.894869000236525, 38.002121000589256 ], [ -121.894568999875929, 38.002921000434682 ], [ -121.89416899979642, 38.003821000620256 ], [ -121.893668999509302, 38.005021000541724 ], [ -121.893468999546627, 38.005621001007711 ], [ -121.892869000071244, 38.007121000635486 ], [ -121.892768999881255, 38.007521000748106 ], [ -121.892269000295954, 38.008721000911677 ], [ -121.891769000401609, 38.010121000711791 ], [ -121.89086899943598, 38.012521000969819 ], [ -121.889468999657325, 38.015920000438328 ], [ -121.889140999467514, 38.016766000244168 ], [ -121.889027999401222, 38.017059001051592 ], [ -121.888942999757248, 38.017349001117239 ], [ -121.887857999409107, 38.017066000846498 ], [ -121.882468999848598, 38.015721000709974 ], [ -121.880368999400304, 38.015221000591865 ], [ -121.87716900009552, 38.01442100060752 ], [ -121.876069000243405, 38.014201000787921 ], [ -121.8751679997591, 38.014021001099479 ], [ -121.869567999521394, 38.012821000580693 ], [ -121.868617000103768, 38.012557000399418 ], [ -121.867767999899428, 38.012321000438583 ], [ -121.866567999447369, 38.012021000824973 ], [ -121.867082999605472, 38.011855000625665 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1196, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.867967999767288, 37.998021000759216 ], [ -121.863823999443838, 37.997918000928657 ], [ -121.861169000035588, 37.997852000560464 ], [ -121.855868000157528, 37.997721000782427 ], [ -121.850468000521985, 37.997921000833507 ], [ -121.847389999478423, 37.995133000473267 ], [ -121.847267000077721, 37.995021001047 ], [ -121.850968000123984, 37.991821000732962 ], [ -121.852068000165758, 37.990321000841071 ], [ -121.852216999858598, 37.989725000317229 ], [ -121.85226800008212, 37.989521000534552 ], [ -121.852926999632658, 37.987661000564565 ], [ -121.853968000179734, 37.984721000803745 ], [ -121.85466799985808, 37.983221000258133 ], [ -121.855667999803956, 37.981122000903135 ], [ -121.857068000163267, 37.980422000845977 ], [ -121.861767999752473, 37.97602200061128 ], [ -121.862167999538258, 37.973722000338064 ], [ -121.862467999631221, 37.971922000766376 ], [ -121.86246799978862, 37.971722000608132 ], [ -121.862467999384847, 37.970122000892871 ], [ -121.862367999666375, 37.962122000518256 ], [ -121.863468000294617, 37.957522000299875 ], [ -121.869001999702178, 37.956377000615298 ], [ -121.869268000249363, 37.956322000985068 ], [ -121.869368000275685, 37.95682200065351 ], [ -121.869367999951933, 37.957522000595027 ], [ -121.873368000138257, 37.957022000538117 ], [ -121.875068000003907, 37.955822000359383 ], [ -121.87596799978256, 37.956222000918693 ], [ -121.880467999948166, 37.957022000794069 ], [ -121.880868000287776, 37.958022001077921 ], [ -121.882567999488927, 37.958422000706349 ], [ -121.882867999621197, 37.9600220004371 ], [ -121.883268000493231, 37.962222001044822 ], [ -121.888169000175353, 37.967822000757032 ], [ -121.888369000122864, 37.967922000584188 ], [ -121.894869000513708, 37.97302200098536 ], [ -121.896168999812616, 37.976422000700666 ], [ -121.896842000115626, 37.978189000929042 ], [ -121.896931000514186, 37.978423000476127 ], [ -121.896968999640109, 37.978522000726052 ], [ -121.89886899964921, 37.983221000790742 ], [ -121.897368999976365, 37.986721000637111 ], [ -121.895668999812628, 37.990721000660344 ], [ -121.895668999556349, 37.991121000835975 ], [ -121.89586899978535, 37.991721000776046 ], [ -121.89616900032199, 37.99262100087747 ], [ -121.896869000126856, 37.994321001102385 ], [ -121.896968999662576, 37.994621000893261 ], [ -121.897368999959269, 37.995521000988852 ], [ -121.896468999563737, 37.998121000564979 ], [ -121.892868999747947, 37.998221000567717 ], [ -121.892036999500007, 37.998221000851537 ], [ -121.891568999752451, 37.998221000285952 ], [ -121.89116899959491, 37.99822100097979 ], [ -121.890068999833645, 37.998221000607693 ], [ -121.888868999446615, 37.99812100054902 ], [ -121.88726900032573, 37.998121000795003 ], [ -121.885038000183684, 37.998121000485384 ], [ -121.883169000215446, 37.998121000519461 ], [ -121.881867999649714, 37.998121000626938 ], [ -121.880167999946721, 37.998121000586387 ], [ -121.877567999934257, 37.998021000584934 ], [ -121.874468000407632, 37.997921000934419 ], [ -121.873816000003842, 37.998003000694723 ], [ -121.873667999966642, 37.998021000607373 ], [ -121.871767999970729, 37.998021001026402 ], [ -121.870668000426548, 37.998021000281433 ], [ -121.870067999459394, 37.998021000932397 ], [ -121.869564000008808, 37.998021000351315 ], [ -121.869168000361867, 37.998021000695566 ], [ -121.867967999767288, 37.998021000759216 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1200, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.895068999742008, 38.001421001004147 ], [ -121.895269000243061, 38.000921000742103 ], [ -121.895469000129964, 38.000521000863841 ], [ -121.896069000488467, 37.999221000849225 ], [ -121.896468999563737, 37.998121000564979 ], [ -121.897368999959269, 37.995521000988852 ], [ -121.896968999662576, 37.994621000893261 ], [ -121.896869000126856, 37.994321001102385 ], [ -121.89616900032199, 37.99262100087747 ], [ -121.89586899978535, 37.991721000776046 ], [ -121.895668999556349, 37.991121000835975 ], [ -121.895668999812628, 37.990721000660344 ], [ -121.897368999976365, 37.986721000637111 ], [ -121.89886899964921, 37.983221000790742 ], [ -121.899968999435259, 37.97972200065616 ], [ -121.907469000275967, 37.976122000907388 ], [ -121.91056900048379, 37.974722000554522 ], [ -121.914769000237939, 37.974422001065172 ], [ -121.921460999892474, 37.97028400058452 ], [ -121.922370000292389, 37.969722000475386 ], [ -121.927870000099304, 37.966222000976224 ], [ -121.927969999632282, 37.963822000761787 ], [ -121.929969999589332, 37.962022000395933 ], [ -121.932070000304662, 37.961422000478009 ], [ -121.932919000039931, 37.961576000787176 ], [ -121.933169999719439, 37.961622001019563 ], [ -121.941269999442667, 37.962822000902051 ], [ -121.942370000493753, 37.962122000464376 ], [ -121.94386999946127, 37.96122200072746 ], [ -121.944141999448576, 37.961021000516759 ], [ -121.946169999846845, 37.959522000902382 ], [ -121.946769999597549, 37.959922000515355 ], [ -121.948970000334214, 37.960922000969632 ], [ -121.948469999724438, 37.961493000598928 ], [ -121.948270000110838, 37.961722000612376 ], [ -121.947869999415914, 37.962122000870785 ], [ -121.947670000272808, 37.962322000931827 ], [ -121.948469999505917, 37.962922000958862 ], [ -121.945369999466564, 37.963522001109702 ], [ -121.94381400022138, 37.964860001132152 ], [ -121.940370000510455, 37.96782200109611 ], [ -121.939069999575878, 37.971322001070121 ], [ -121.93900699982521, 37.974473000681172 ], [ -121.938970000392075, 37.976322000741476 ], [ -121.940541000002824, 37.978124000337907 ], [ -121.945070000468348, 37.983321000410797 ], [ -121.951569999999876, 37.986921000240628 ], [ -121.949169999570017, 37.989721000749881 ], [ -121.94814699943943, 37.994062000815674 ], [ -121.946424999588871, 38.00136600053748 ], [ -121.945870000180193, 38.003721001034656 ], [ -121.941670000484223, 38.006121000846825 ], [ -121.941469999770419, 38.009921000914659 ], [ -121.94197000014789, 38.012321000411525 ], [ -121.941970000312736, 38.012621000601193 ], [ -121.942069999460443, 38.01552000072077 ], [ -121.942081999575805, 38.015667000750298 ], [ -121.942170999563501, 38.016820001026105 ], [ -121.942171000026804, 38.018520000667813 ], [ -121.94216599990709, 38.018924000335318 ], [ -121.942156999414877, 38.019075000340514 ], [ -121.942148000386396, 38.019261000382706 ], [ -121.940269999705251, 38.019220000775142 ], [ -121.938888999985522, 38.019226001137518 ], [ -121.938670000106114, 38.019020000524556 ], [ -121.938369999900701, 38.018820000480829 ], [ -121.93726999992208, 38.01802000075471 ], [ -121.934770000370804, 38.016220000980915 ], [ -121.93377000015434, 38.016820000362038 ], [ -121.932769999439245, 38.017520000898088 ], [ -121.932524000266426, 38.017661000549197 ], [ -121.93206999990575, 38.017920001068006 ], [ -121.926469999474307, 38.017820000642686 ], [ -121.924769999433465, 38.016220000906422 ], [ -121.922570000359386, 38.015720000720748 ], [ -121.92136999960492, 38.015420000309561 ], [ -121.92013700046185, 38.015148000961482 ], [ -121.914669999905513, 38.013821000380162 ], [ -121.913569999443553, 38.011321000944356 ], [ -121.912470000436443, 38.011021000390365 ], [ -121.911570000067954, 38.009621000496352 ], [ -121.907569000497006, 38.00862100070065 ], [ -121.907268999711192, 38.008421000987973 ], [ -121.905968999509014, 38.008121000718724 ], [ -121.904169000329659, 38.009221000686502 ], [ -121.903368999539396, 38.009521000434674 ], [ -121.903165999737155, 38.00942700033012 ], [ -121.902188000205186, 38.008976000366907 ], [ -121.90206900015869, 38.008921000936702 ], [ -121.901468999680219, 38.00842100100369 ], [ -121.900669000075411, 38.007921001137561 ], [ -121.899469000253006, 38.008821000862611 ], [ -121.898969000489473, 38.00922100111606 ], [ -121.895868999515415, 38.008421000519839 ], [ -121.892768999881255, 38.007521000748106 ], [ -121.892869000071244, 38.007121000635486 ], [ -121.893468999546627, 38.005621001007711 ], [ -121.893668999509302, 38.005021000541724 ], [ -121.89416899979642, 38.003821000620256 ], [ -121.894568999875929, 38.002921000434682 ], [ -121.894869000236525, 38.002121000589256 ], [ -121.895068999742008, 38.001421001004147 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1209, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.960370999649641, 38.037620001086559 ], [ -121.960371000522343, 38.038220000714205 ], [ -121.960370999517636, 38.038620000719355 ], [ -121.960071000403033, 38.039220000908962 ], [ -121.960070999918827, 38.03962000084352 ], [ -121.959955000183754, 38.039678000936497 ], [ -121.959671000110646, 38.03982000032584 ], [ -121.956770999429864, 38.039820001080692 ], [ -121.956770999664968, 38.04092000068762 ], [ -121.956770999646523, 38.041920000400864 ], [ -121.95667099997668, 38.043320000661083 ], [ -121.957171000170987, 38.048919000874783 ], [ -121.95757200029982, 38.055319000243443 ], [ -121.953753000493904, 38.054446000902743 ], [ -121.950910999642673, 38.053918000699426 ], [ -121.950548999458121, 38.053851000657303 ], [ -121.94864200013086, 38.053348001031893 ], [ -121.946765000242948, 38.052882000260801 ], [ -121.945857000077069, 38.052613000615196 ], [ -121.945192999569855, 38.052417000986402 ], [ -121.943835000095078, 38.051967000741122 ], [ -121.942325000311044, 38.051402000891926 ], [ -121.940935999568936, 38.050914000961718 ], [ -121.939577999648463, 38.050441000612736 ], [ -121.938677999645975, 38.050189000938843 ], [ -121.937761999513199, 38.049830000931728 ], [ -121.936342999503921, 38.049174001042509 ], [ -121.935578999588174, 38.048856000692474 ], [ -121.935427999720659, 38.048793000699284 ], [ -121.934299000462303, 38.048518000756253 ], [ -121.932817999785044, 38.048152000895008 ], [ -121.932742999743141, 38.048130001010925 ], [ -121.931003000213479, 38.047610001083363 ], [ -121.929538000299786, 38.047267000760684 ], [ -121.92846000023205, 38.047054000386623 ], [ -121.928481000065744, 38.044132000429151 ], [ -121.928499000085282, 38.041378000796001 ], [ -121.928552000150631, 38.033711000809291 ], [ -121.928573999385549, 38.030496000889812 ], [ -121.928576000372757, 38.030172001004061 ], [ -121.9285779995962, 38.029943000636166 ], [ -121.928582000506992, 38.029375000881998 ], [ -121.929005999562264, 38.028896000308841 ], [ -121.929414999764845, 38.028434000573213 ], [ -121.92996200016799, 38.02781800026218 ], [ -121.93010500008387, 38.027656001068969 ], [ -121.930626999859783, 38.027067000295347 ], [ -121.930819000321776, 38.026851000617057 ], [ -121.931121999530831, 38.026865000646588 ], [ -121.93226999970824, 38.026920000795606 ], [ -121.932469999854305, 38.026920000995943 ], [ -121.932634000065647, 38.026902000555317 ], [ -121.933370000133934, 38.026820001078946 ], [ -121.934069999786814, 38.02682000048565 ], [ -121.934570000469833, 38.026920001018794 ], [ -121.935969999565216, 38.026920000304145 ], [ -121.936770999619682, 38.026920000942106 ], [ -121.937371000288877, 38.026920000978578 ], [ -121.938171000085489, 38.026920001059196 ], [ -121.938670999564152, 38.026920000593933 ], [ -121.939770999831467, 38.026920001108067 ], [ -121.940171000372601, 38.026920000876714 ], [ -121.941071000497217, 38.026920000325724 ], [ -121.942170999831788, 38.026920000900326 ], [ -121.943071000097589, 38.02692000035659 ], [ -121.944170999614627, 38.026920000239215 ], [ -121.946071000047965, 38.026820000274853 ], [ -121.947470999867051, 38.026920000317318 ], [ -121.95027100040096, 38.026820000343633 ], [ -121.951471000257058, 38.026820000990107 ], [ -121.952571000476311, 38.026920000569696 ], [ -121.953570999430625, 38.026920000264298 ], [ -121.954671000063755, 38.026820001097526 ], [ -121.956070999452422, 38.026820000667733 ], [ -121.957571000262718, 38.026820000576471 ], [ -121.9606710003644, 38.026620000626814 ], [ -121.960671000188754, 38.0270200005126 ], [ -121.960470999438954, 38.029220000304434 ], [ -121.960471000021684, 38.030720000887186 ], [ -121.960471000066747, 38.031220000396829 ], [ -121.960470999548292, 38.031820000650143 ], [ -121.960471000392175, 38.032120000313675 ], [ -121.960470999561622, 38.032520000725903 ], [ -121.96037099983829, 38.033020000827761 ], [ -121.960370999502317, 38.033420000280678 ], [ -121.960371000030364, 38.034020000320908 ], [ -121.960371000183315, 38.035920000794221 ], [ -121.960371000238325, 38.036520000582883 ], [ -121.960370999907909, 38.03703700075387 ], [ -121.960370999649641, 38.037620001086559 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1208, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.932469999854305, 38.026920000995943 ], [ -121.93226999970824, 38.026920000795606 ], [ -121.931121999530831, 38.026865000646588 ], [ -121.930819000321776, 38.026851000617057 ], [ -121.930169999983704, 38.026820000508344 ], [ -121.928469999758434, 38.026920000844555 ], [ -121.928466000318863, 38.026784000391778 ], [ -121.928382000298583, 38.023756000409975 ], [ -121.92837000025996, 38.023320000640183 ], [ -121.928370000413793, 38.019620000571685 ], [ -121.928370000135743, 38.019420000890932 ], [ -121.932544999845391, 38.019420000311165 ], [ -121.932869999703271, 38.01942000074618 ], [ -121.933875999405117, 38.019332000422935 ], [ -121.937601999392498, 38.019182000617583 ], [ -121.938888999985522, 38.019226001137518 ], [ -121.940269999705251, 38.019220000775142 ], [ -121.942148000386396, 38.019261000382706 ], [ -121.94246499945281, 38.019270000411986 ], [ -121.944171000319272, 38.019320000286505 ], [ -121.949171000501948, 38.019420000440903 ], [ -121.951370999994126, 38.019920000710037 ], [ -121.954870999640264, 38.021220000724547 ], [ -121.955971000379449, 38.021420000599093 ], [ -121.960446000357138, 38.022362001002648 ], [ -121.961670999690327, 38.022620001048452 ], [ -121.964195999922822, 38.023230000508519 ], [ -121.964570999976772, 38.023320000369537 ], [ -121.96433199957454, 38.023862000952803 ], [ -121.964204999905832, 38.024012001127581 ], [ -121.964126999885934, 38.024105000705937 ], [ -121.964042000327751, 38.024177000705016 ], [ -121.963930000320644, 38.024273000934102 ], [ -121.963874999560858, 38.024304000515286 ], [ -121.963630000382935, 38.024442000873563 ], [ -121.963202000297755, 38.024604000580283 ], [ -121.963013999710526, 38.024671000677991 ], [ -121.962475000150164, 38.025016000740663 ], [ -121.96207100017314, 38.025420000859356 ], [ -121.9606710003644, 38.026620000626814 ], [ -121.957571000262718, 38.026820000576471 ], [ -121.956070999452422, 38.026820000667733 ], [ -121.954671000063755, 38.026820001097526 ], [ -121.953570999430625, 38.026920000264298 ], [ -121.952571000476311, 38.026920000569696 ], [ -121.951471000257058, 38.026820000990107 ], [ -121.95027100040096, 38.026820000343633 ], [ -121.947470999867051, 38.026920000317318 ], [ -121.946071000047965, 38.026820000274853 ], [ -121.944170999614627, 38.026920000239215 ], [ -121.943071000097589, 38.02692000035659 ], [ -121.942170999831788, 38.026920000900326 ], [ -121.941071000497217, 38.026920000325724 ], [ -121.940171000372601, 38.026920000876714 ], [ -121.939770999831467, 38.026920001108067 ], [ -121.938670999564152, 38.026920000593933 ], [ -121.938171000085489, 38.026920001059196 ], [ -121.937371000288877, 38.026920000978578 ], [ -121.936770999619682, 38.026920000942106 ], [ -121.935969999565216, 38.026920000304145 ], [ -121.934570000469833, 38.026920001018794 ], [ -121.934069999786814, 38.02682000048565 ], [ -121.933370000133934, 38.026820001078946 ], [ -121.932634000065647, 38.026902000555317 ], [ -121.932469999854305, 38.026920000995943 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1210, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.95757200029982, 38.055319000243443 ], [ -121.957171000170987, 38.048919000874783 ], [ -121.95667099997668, 38.043320000661083 ], [ -121.956770999646523, 38.041920000400864 ], [ -121.956770999664968, 38.04092000068762 ], [ -121.956770999429864, 38.039820001080692 ], [ -121.959671000110646, 38.03982000032584 ], [ -121.959955000183754, 38.039678000936497 ], [ -121.960070999918827, 38.03962000084352 ], [ -121.960071000403033, 38.039220000908962 ], [ -121.960370999517636, 38.038620000719355 ], [ -121.960371000522343, 38.038220000714205 ], [ -121.960370999649641, 38.037620001086559 ], [ -121.960370999907909, 38.03703700075387 ], [ -121.960371000238325, 38.036520000582883 ], [ -121.960371000183315, 38.035920000794221 ], [ -121.960371000030364, 38.034020000320908 ], [ -121.960370999502317, 38.033420000280678 ], [ -121.96037099983829, 38.033020000827761 ], [ -121.960470999561622, 38.032520000725903 ], [ -121.960471000392175, 38.032120000313675 ], [ -121.960470999548292, 38.031820000650143 ], [ -121.960471000066747, 38.031220000396829 ], [ -121.960471000021684, 38.030720000887186 ], [ -121.960470999438954, 38.029220000304434 ], [ -121.960671000188754, 38.0270200005126 ], [ -121.9606710003644, 38.026620000626814 ], [ -121.96207100017314, 38.025420000859356 ], [ -121.964770999860107, 38.025820000633516 ], [ -121.967420000313908, 38.027230000348183 ], [ -121.969708999832037, 38.028448000506089 ], [ -121.970059000162564, 38.028634000273492 ], [ -121.97086799972125, 38.029065000410107 ], [ -121.970971999654694, 38.029120001078574 ], [ -121.97129499972111, 38.029290000687347 ], [ -121.97201999993635, 38.029672000456415 ], [ -121.972872000467973, 38.030120000823786 ], [ -121.978747999716049, 38.033254000515619 ], [ -121.978871999801754, 38.033320000986322 ], [ -121.980972000485806, 38.03392000037001 ], [ -121.987490000188558, 38.035963000444831 ], [ -121.987672000484991, 38.03602000103443 ], [ -121.988171999530266, 38.041120000545284 ], [ -121.988171999889673, 38.04282000027149 ], [ -121.988172000005662, 38.043393001020497 ], [ -121.988171999591557, 38.043919000668097 ], [ -121.988117999486136, 38.04392100076219 ], [ -121.988212000009639, 38.04489100049404 ], [ -121.988071999733123, 38.044919000358483 ], [ -121.986171999570701, 38.04551900101545 ], [ -121.988585999794154, 38.046646000793324 ], [ -121.988823999958811, 38.046757000326501 ], [ -121.989172000190436, 38.046919000707625 ], [ -121.989831999832973, 38.04837500069813 ], [ -121.992573000402274, 38.054419000808863 ], [ -121.99679400005833, 38.054204000590914 ], [ -121.998473000244132, 38.054119000333046 ], [ -121.998113000179018, 38.055255000992517 ], [ -121.998264999766349, 38.05568200103837 ], [ -121.998418000326396, 38.055865001004598 ], [ -121.998586000406405, 38.055957000673999 ], [ -121.998967000509538, 38.056079000865751 ], [ -122.000573000015692, 38.056319000698025 ], [ -122.000472999693855, 38.056519000702053 ], [ -122.001073000280513, 38.056605001102007 ], [ -122.002573000501684, 38.056819000947662 ], [ -122.001073000419254, 38.058319000792167 ], [ -121.990407000048577, 38.056666000295579 ], [ -121.990113999525349, 38.056635001085496 ], [ -121.981556000448393, 38.055728000778764 ], [ -121.968876000254824, 38.05610200096578 ], [ -121.958164000171109, 38.055339000667558 ], [ -121.95757200029982, 38.055319000243443 ] ] ], [ [ [ -121.980671999666257, 38.062619000934284 ], [ -121.981494999734039, 38.062465001088079 ], [ -121.982151000432452, 38.062366000675404 ], [ -121.982394999929639, 38.062282000345093 ], [ -121.982913999532954, 38.062541001008405 ], [ -121.983752999391569, 38.062656000614901 ], [ -121.984043000353864, 38.062755000574541 ], [ -121.984371999707477, 38.062619000749415 ], [ -121.984898000524353, 38.062526000322663 ], [ -121.98532600002423, 38.062732000612655 ], [ -121.985272999895756, 38.062919000429389 ], [ -121.984547000014999, 38.062877000267804 ], [ -121.984058000460777, 38.063190000358844 ], [ -121.983478999630208, 38.062930000929043 ], [ -121.982898999949242, 38.063014000998209 ], [ -121.982776999955306, 38.063083000812355 ], [ -121.982502000289571, 38.06306700077085 ], [ -121.982394999388461, 38.063312000953317 ], [ -121.982090000229164, 38.063357000581711 ], [ -121.982172000442105, 38.064119000242272 ], [ -121.98175399945066, 38.064364000794598 ], [ -121.981175000053241, 38.06395300077898 ], [ -121.980702000458734, 38.063533000851578 ], [ -121.980243999439708, 38.063029000570879 ], [ -121.980334999827178, 38.062724001011894 ], [ -121.980671999666257, 38.062619000934284 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1097, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.002573000501684, 38.056819000947662 ], [ -122.001073000280513, 38.056605001102007 ], [ -122.000472999693855, 38.056519000702053 ], [ -122.000573000015692, 38.056319000698025 ], [ -121.998967000509538, 38.056079000865751 ], [ -121.998586000406405, 38.055957000673999 ], [ -121.998418000326396, 38.055865001004598 ], [ -121.998264999766349, 38.05568200103837 ], [ -121.998113000179018, 38.055255000992517 ], [ -121.998473000244132, 38.054119000333046 ], [ -121.99679400005833, 38.054204000590914 ], [ -121.992573000402274, 38.054419000808863 ], [ -121.989831999832973, 38.04837500069813 ], [ -121.989172000190436, 38.046919000707625 ], [ -121.988823999958811, 38.046757000326501 ], [ -121.988585999794154, 38.046646000793324 ], [ -121.986171999570701, 38.04551900101545 ], [ -121.988071999733123, 38.044919000358483 ], [ -121.988212000009639, 38.04489100049404 ], [ -121.988117999486136, 38.04392100076219 ], [ -121.988171999591557, 38.043919000668097 ], [ -121.988172000005662, 38.043393001020497 ], [ -121.988171999889673, 38.04282000027149 ], [ -121.988171999530266, 38.041120000545284 ], [ -121.987672000484991, 38.03602000103443 ], [ -121.987490000188558, 38.035963000444831 ], [ -121.980972000485806, 38.03392000037001 ], [ -121.978871999801754, 38.033320000986322 ], [ -121.978747999716049, 38.033254000515619 ], [ -121.972872000467973, 38.030120000823786 ], [ -121.97201999993635, 38.029672000456415 ], [ -121.97129499972111, 38.029290000687347 ], [ -121.970971999654694, 38.029120001078574 ], [ -121.97086799972125, 38.029065000410107 ], [ -121.970059000162564, 38.028634000273492 ], [ -121.969708999832037, 38.028448000506089 ], [ -121.967420000313908, 38.027230000348183 ], [ -121.964770999860107, 38.025820000633516 ], [ -121.96207100017314, 38.025420000859356 ], [ -121.962475000150164, 38.025016000740663 ], [ -121.963013999710526, 38.024671000677991 ], [ -121.963202000297755, 38.024604000580283 ], [ -121.963630000382935, 38.024442000873563 ], [ -121.963874999560858, 38.024304000515286 ], [ -121.963930000320644, 38.024273000934102 ], [ -121.964042000327751, 38.024177000705016 ], [ -121.964126999885934, 38.024105000705937 ], [ -121.964204999905832, 38.024012001127581 ], [ -121.96433199957454, 38.023862000952803 ], [ -121.964570999976772, 38.023320000369537 ], [ -121.96867099964804, 38.023920000905797 ], [ -121.975972000404212, 38.023620000564108 ], [ -121.981614999575015, 38.021485000476403 ], [ -121.988967000438493, 38.018703001035945 ], [ -121.990771999634916, 38.018020001082498 ], [ -121.991341000017968, 38.017652001044794 ], [ -121.995572000070936, 38.014920000650591 ], [ -121.995889000413044, 38.014612000885435 ], [ -121.996237000455679, 38.014267000724828 ], [ -121.996614999782068, 38.013999000896284 ], [ -121.997472000421055, 38.013520000552937 ], [ -121.99769500031843, 38.013416000703927 ], [ -121.998006000173987, 38.013293000278274 ], [ -121.998694000117197, 38.013136000895514 ], [ -122.000071999437807, 38.012820000799969 ], [ -122.000272000349099, 38.012720000278016 ], [ -122.001090999396794, 38.012554001061218 ], [ -122.002672000012751, 38.012220000511519 ], [ -122.004871999903685, 38.011921000891697 ], [ -122.011371999946078, 38.011021001120298 ], [ -122.011772999886162, 38.010971000510224 ], [ -122.012071999559168, 38.010921000479485 ], [ -122.01987299972312, 38.009721000916386 ], [ -122.022672999431933, 38.009221001094026 ], [ -122.023173000278376, 38.009121000287614 ], [ -122.023952000400485, 38.008987001019619 ], [ -122.027513999747171, 38.008472000653875 ], [ -122.029096000159996, 38.008237000827897 ], [ -122.030492999965205, 38.007952001081406 ], [ -122.032147000159881, 38.00739000066978 ], [ -122.032875999668903, 38.007103000756651 ], [ -122.034876000059498, 38.006323000510058 ], [ -122.037172999567659, 38.005421001054657 ], [ -122.038579999664663, 38.00495200094575 ], [ -122.039572999865257, 38.004621000791936 ], [ -122.039723999770771, 38.004572000544385 ], [ -122.041031999779193, 38.004147000874227 ], [ -122.041624999825018, 38.003954000942059 ], [ -122.043228000469739, 38.003433000944042 ], [ -122.04757300027066, 38.002021000293134 ], [ -122.052669999850167, 38.000193000467121 ], [ -122.052872999902831, 38.000121000878501 ], [ -122.053333999475456, 38.001777000582187 ], [ -122.053373999835657, 38.001921000502321 ], [ -122.054975000239352, 38.004495000320723 ], [ -122.063574000254135, 38.018321000753531 ], [ -122.064874000008146, 38.020321000734739 ], [ -122.069174000058354, 38.026920000262002 ], [ -122.07157400020705, 38.029420000253793 ], [ -122.072574000055994, 38.030420000816299 ], [ -122.075374999613288, 38.032420000638297 ], [ -122.075826999415497, 38.032291000568542 ], [ -122.07747500014537, 38.03182000063542 ], [ -122.079474999477014, 38.031220000971373 ], [ -122.080074999422337, 38.031520000500521 ], [ -122.087075000198411, 38.037520000356203 ], [ -122.089474999612349, 38.039620001067789 ], [ -122.090575000088236, 38.042220000302066 ], [ -122.09187499962087, 38.044420000894512 ], [ -122.091754999909071, 38.044469000665764 ], [ -122.089674999493354, 38.04532000048907 ], [ -122.088374999782559, 38.045620000251091 ], [ -122.086175000334521, 38.043620000829669 ], [ -122.085475000431288, 38.043620000741718 ], [ -122.086675000133425, 38.045720001022453 ], [ -122.081475000502166, 38.046720000850698 ], [ -122.073274999732078, 38.049120001068452 ], [ -122.071874999876314, 38.049820000391236 ], [ -122.070775000428384, 38.049420000891395 ], [ -122.072175000305165, 38.051520000558945 ], [ -122.070496000233064, 38.053105000930699 ], [ -122.070374999393351, 38.053220001046498 ], [ -122.068274999765791, 38.052220000499211 ], [ -122.065274999875172, 38.053120000871182 ], [ -122.056574000062341, 38.051120000873084 ], [ -122.05596499982984, 38.050998000872234 ], [ -122.055574000235353, 38.050920001080762 ], [ -122.052571999529363, 38.050720000558314 ], [ -122.051073999608803, 38.050620000747301 ], [ -122.047774000508497, 38.052219000389208 ], [ -122.044074000421858, 38.053719000415839 ], [ -122.043173999871982, 38.054219000949814 ], [ -122.039873999396178, 38.055519000606999 ], [ -122.039474000090152, 38.055619000559481 ], [ -122.040074000221068, 38.056019000572888 ], [ -122.04007400018628, 38.056119000648295 ], [ -122.040074000064479, 38.056419000864395 ], [ -122.039674000145396, 38.056219000348754 ], [ -122.039173999868382, 38.055719000990123 ], [ -122.035773999985651, 38.056419000463677 ], [ -122.030473999423748, 38.057619000697422 ], [ -122.029173999469464, 38.057919000511966 ], [ -122.023373999699928, 38.059019000397647 ], [ -122.023274000086772, 38.058819000581394 ], [ -122.023173999550878, 38.058719000580339 ], [ -122.024874000216812, 38.058419000607202 ], [ -122.024973999813866, 38.058119000348007 ], [ -122.023249999977708, 38.057922000417754 ], [ -122.02319500020181, 38.057916000667838 ], [ -122.021473000276345, 38.057719000343006 ], [ -122.021427999580084, 38.057887000684978 ], [ -122.021305999768799, 38.058185000462068 ], [ -122.021245000061199, 38.058482000278609 ], [ -122.021337000308449, 38.058772000623684 ], [ -122.021443000292507, 38.058864000363691 ], [ -122.021641999539753, 38.05892500062032 ], [ -122.019501999422857, 38.05884300096654 ], [ -122.018373000191943, 38.059219000953441 ], [ -122.012672999991253, 38.058719000761492 ], [ -122.011772999799092, 38.058619000616915 ], [ -122.011772999416593, 38.058319001116715 ], [ -122.011773000158911, 38.058019000709855 ], [ -122.014372999826023, 38.058319000767987 ], [ -122.018272999473965, 38.058819000810196 ], [ -122.020472999405413, 38.057619000312336 ], [ -122.017505000150095, 38.057421001120154 ], [ -122.017443999489828, 38.057417000665268 ], [ -122.01447300007257, 38.057219000830834 ], [ -122.009472999575351, 38.056019000551693 ], [ -122.007273000157596, 38.057219001106084 ], [ -122.006872999737567, 38.057419000430755 ], [ -122.002573000501684, 38.056819000947662 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1092, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.129476000263907, 38.028221000750221 ], [ -122.129375999742308, 38.027621000526473 ], [ -122.129176000204183, 38.026921001012099 ], [ -122.128876000008489, 38.023221001131837 ], [ -122.129074000255684, 38.02312100039105 ], [ -122.134976999813205, 38.020171000601245 ], [ -122.134776000328301, 38.019921000513442 ], [ -122.134476000175695, 38.019521000746103 ], [ -122.133876000093778, 38.018921000639544 ], [ -122.133376000142974, 38.018521000885443 ], [ -122.13277600041711, 38.018721000383628 ], [ -122.132376000413487, 38.01902100052996 ], [ -122.131976000298607, 38.018421000958369 ], [ -122.131375999755917, 38.017921000261516 ], [ -122.13077600026908, 38.017321000581418 ], [ -122.13187599970243, 38.01672100060383 ], [ -122.132676000111687, 38.016321001120509 ], [ -122.133376000348747, 38.015821000395675 ], [ -122.133775999573373, 38.016321000383613 ], [ -122.134276000369525, 38.016921000357542 ], [ -122.135175999716466, 38.016421000363991 ], [ -122.134676000412, 38.015921001037448 ], [ -122.134275999908851, 38.015521000931642 ], [ -122.1349760001291, 38.015121000936617 ], [ -122.135776000463196, 38.014721000816991 ], [ -122.136375999429688, 38.014221000343866 ], [ -122.137075999747879, 38.013821000263846 ], [ -122.137575999567517, 38.014421000912058 ], [ -122.138175999601131, 38.014921000959824 ], [ -122.138876000364135, 38.014521001012177 ], [ -122.139475999508306, 38.014021000817664 ], [ -122.140075999455647, 38.014621000797398 ], [ -122.1404760004217, 38.015121000816521 ], [ -122.141175999856245, 38.015821001110503 ], [ -122.14177600041134, 38.016321000865609 ], [ -122.142176000351682, 38.016821000456403 ], [ -122.14277599980754, 38.01752100060898 ], [ -122.144598999811237, 38.017521000558837 ], [ -122.144975999634582, 38.017521000984971 ], [ -122.145664999954604, 38.017939000316659 ], [ -122.14596599998309, 38.018122001036026 ], [ -122.147775999423274, 38.019221000560258 ], [ -122.14857599964175, 38.019321000795259 ], [ -122.148676000123757, 38.021021000652894 ], [ -122.153531999640776, 38.022663000941947 ], [ -122.155476999804748, 38.023321000976523 ], [ -122.157176999913531, 38.024121000342312 ], [ -122.155577000170254, 38.023821000641249 ], [ -122.155176999972511, 38.023721000803135 ], [ -122.153334000226721, 38.023314001039708 ], [ -122.148375999984069, 38.022221000427926 ], [ -122.146175999890318, 38.022121000386292 ], [ -122.145576000349962, 38.022321001133619 ], [ -122.145275999944104, 38.022421000346 ], [ -122.145056999582366, 38.022492000266297 ], [ -122.141875999485762, 38.023521000513568 ], [ -122.141175999587418, 38.023821000792644 ], [ -122.138676000229296, 38.025721000969597 ], [ -122.136996000439595, 38.025874000702544 ], [ -122.135376000278512, 38.026021000661181 ], [ -122.13197600005401, 38.026421000567879 ], [ -122.12967599967233, 38.028021001076809 ], [ -122.129476000263907, 38.028221000750221 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1091, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.155577000170254, 38.023821000641249 ], [ -122.157176999913531, 38.024121000342312 ], [ -122.155476999804748, 38.023321000976523 ], [ -122.153531999640776, 38.022663000941947 ], [ -122.148676000123757, 38.021021000652894 ], [ -122.14857599964175, 38.019321000795259 ], [ -122.147775999423274, 38.019221000560258 ], [ -122.14596599998309, 38.018122001036026 ], [ -122.145664999954604, 38.017939000316659 ], [ -122.144975999634582, 38.017521000984971 ], [ -122.144598999811237, 38.017521000558837 ], [ -122.14277599980754, 38.01752100060898 ], [ -122.142176000351682, 38.016821000456403 ], [ -122.14177600041134, 38.016321000865609 ], [ -122.141175999856245, 38.015821001110503 ], [ -122.1404760004217, 38.015121000816521 ], [ -122.140075999455647, 38.014621000797398 ], [ -122.139475999508306, 38.014021000817664 ], [ -122.138876000364135, 38.014521001012177 ], [ -122.138175999601131, 38.014921000959824 ], [ -122.137575999567517, 38.014421000912058 ], [ -122.137075999747879, 38.013821000263846 ], [ -122.136576000011914, 38.013221001073219 ], [ -122.135975999488423, 38.012721000942257 ], [ -122.135476000024411, 38.012221000295625 ], [ -122.134976000087647, 38.011621000560453 ], [ -122.134375999410011, 38.01112100035359 ], [ -122.133875999779065, 38.010421000750725 ], [ -122.133275999905763, 38.009821000653282 ], [ -122.132775999449919, 38.009321001072387 ], [ -122.131976000102455, 38.009721000271739 ], [ -122.131375999424961, 38.010021001002471 ], [ -122.130775999604623, 38.010621000280068 ], [ -122.13007599951554, 38.011021000897671 ], [ -122.129375999393929, 38.011521000509227 ], [ -122.129176000267051, 38.010721000599567 ], [ -122.12937599979854, 38.010221000815775 ], [ -122.129144000009404, 38.009874000867981 ], [ -122.128976000038534, 38.00962100041712 ], [ -122.129376000227921, 38.009121001063903 ], [ -122.129375999921947, 38.008521000372902 ], [ -122.129554000171467, 38.006921001045079 ], [ -122.129576000022411, 38.006721000464971 ], [ -122.129917000170749, 38.006295000268203 ], [ -122.130476000311731, 38.005921000868682 ], [ -122.130475999757294, 38.00542100044332 ], [ -122.130448999629635, 38.005021001046579 ], [ -122.130391000316436, 38.004147000441058 ], [ -122.130376000100966, 38.003921000302235 ], [ -122.130275999628594, 38.003421001002366 ], [ -122.129775999631832, 38.002921001054453 ], [ -122.129475999787161, 38.002121000479541 ], [ -122.12988099984662, 38.0014120008315 ], [ -122.130276000226061, 38.00072100057259 ], [ -122.130608999632102, 37.999921000318615 ], [ -122.130775999398494, 37.999521000777428 ], [ -122.131175999429999, 37.998921000606984 ], [ -122.131175999780083, 37.998221000782493 ], [ -122.131075999719954, 37.997921000517891 ], [ -122.131308999745912, 37.997377000482629 ], [ -122.131376000461131, 37.997221000611617 ], [ -122.131675999929158, 37.996521000722943 ], [ -122.132075999440701, 37.996221000361501 ], [ -122.13137600004319, 37.995422000373594 ], [ -122.130701000111685, 37.995272001046104 ], [ -122.130475999615115, 37.99522200100823 ], [ -122.129975999524561, 37.994222001049934 ], [ -122.129376000441681, 37.993622000945081 ], [ -122.129076000159586, 37.992722001083138 ], [ -122.127975999477954, 37.992022000569278 ], [ -122.126975999539539, 37.991522001104308 ], [ -122.128018999992307, 37.991269000928582 ], [ -122.130375999741204, 37.990722000871173 ], [ -122.131865999823603, 37.990387001117369 ], [ -122.132935000254719, 37.990150000518938 ], [ -122.134176000455469, 37.989922001114145 ], [ -122.13580200037795, 37.989721000983607 ], [ -122.13639400015488, 37.989738000627497 ], [ -122.137154999458247, 37.989788000627286 ], [ -122.137768999918521, 37.98992200036772 ], [ -122.138826000043963, 37.990439001046546 ], [ -122.140518000269154, 37.991607000396996 ], [ -122.143394000324662, 37.993677000931029 ], [ -122.144133999818905, 37.99451100111424 ], [ -122.144575999950874, 37.995122000251733 ], [ -122.144910999545019, 37.995666001023721 ], [ -122.145375999925676, 37.996422000490199 ], [ -122.14564400001872, 37.996805000332785 ], [ -122.145842999793956, 37.997089000859731 ], [ -122.145897999751583, 37.997167001121355 ], [ -122.146076000134698, 37.997422001012083 ], [ -122.147376000382934, 37.999121000449747 ], [ -122.147544999451469, 37.999228000862765 ], [ -122.148476000060953, 37.999821000258386 ], [ -122.158109000134715, 38.004556000984671 ], [ -122.159664999741139, 38.005111001053109 ], [ -122.161628999610997, 38.005462000974696 ], [ -122.16474199977263, 38.005725000644595 ], [ -122.166297999790714, 38.005959000364818 ], [ -122.167335999596617, 38.006397000448473 ], [ -122.168781000446401, 38.007420001104066 ], [ -122.177577000010245, 38.014821000389418 ], [ -122.178576999512387, 38.019521000566428 ], [ -122.182214999480536, 38.024177000597241 ], [ -122.183577999902298, 38.025921000338741 ], [ -122.187478000429365, 38.026221000856054 ], [ -122.188377999400387, 38.029621000382726 ], [ -122.189278000466828, 38.030221001055402 ], [ -122.189478000498212, 38.030421000455178 ], [ -122.191277999428522, 38.030821000470461 ], [ -122.191778000191206, 38.032221000403972 ], [ -122.195077999420334, 38.036121000245998 ], [ -122.192278000468363, 38.041121000676391 ], [ -122.18927799993385, 38.041920000562691 ], [ -122.18687800031465, 38.040920000511214 ], [ -122.183877999410711, 38.040620001133526 ], [ -122.184177999405378, 38.039821000641986 ], [ -122.182778000317271, 38.03912100048052 ], [ -122.18367799958439, 38.038621000236077 ], [ -122.180878000431633, 38.037921000319756 ], [ -122.180578000520214, 38.037421000354001 ], [ -122.179178000161102, 38.035521000976189 ], [ -122.179025999846189, 38.035825000593093 ], [ -122.178705999482005, 38.035955000473137 ], [ -122.178446000159894, 38.036084001103937 ], [ -122.178248000323023, 38.036168001025196 ], [ -122.177777999974452, 38.036421000360519 ], [ -122.177330999813208, 38.036542000417292 ], [ -122.176735999976998, 38.036481000802496 ], [ -122.176233000146155, 38.036489000864485 ], [ -122.175911999570829, 38.036451000808469 ], [ -122.175576999509943, 38.036421000442516 ], [ -122.174576999822648, 38.034521000289743 ], [ -122.173577000356048, 38.034721000277848 ], [ -122.168876999655382, 38.02992100096241 ], [ -122.168177000266638, 38.029221000501323 ], [ -122.16577700040844, 38.028121000954641 ], [ -122.164576999663851, 38.027621001109644 ], [ -122.157203000480948, 38.024508000484666 ], [ -122.155577000170254, 38.023821000641249 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1072, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.323980999762867, 37.97002300079857 ], [ -122.322680999945774, 37.970523000495206 ], [ -122.32278099982932, 37.969423000819639 ], [ -122.324281000263127, 37.968923000649568 ], [ -122.324480999699375, 37.968423001008006 ], [ -122.323480999624024, 37.967023000887167 ], [ -122.323191000503869, 37.96678400058034 ], [ -122.322680999528629, 37.966623000591042 ], [ -122.323177000521966, 37.966035000739851 ], [ -122.323550999841473, 37.965706001020081 ], [ -122.323872000140952, 37.965512001023576 ], [ -122.324568000241314, 37.965149000790895 ], [ -122.325326999730635, 37.96472800073817 ], [ -122.326162000079407, 37.964314000518769 ], [ -122.326696999545561, 37.964044000236086 ], [ -122.327339000231916, 37.963741000634428 ], [ -122.327863000021068, 37.963462000405443 ], [ -122.328291000284224, 37.963218000712757 ], [ -122.328739999871658, 37.962948001060113 ], [ -122.328944000421657, 37.962796000411508 ], [ -122.329190000280633, 37.962568000476672 ], [ -122.329286000262456, 37.962433000657157 ], [ -122.329380999561479, 37.962323001081579 ], [ -122.331581000075843, 37.962723000415963 ], [ -122.335281000227852, 37.962723000603297 ], [ -122.335781000310021, 37.96232300088171 ], [ -122.336780999698163, 37.962023000405956 ], [ -122.337881000466993, 37.962023000396783 ], [ -122.340881000391889, 37.961723000786115 ], [ -122.340381000083056, 37.961223001111229 ], [ -122.343981000021827, 37.963123000431828 ], [ -122.344637000166159, 37.963046000241178 ], [ -122.345681000366042, 37.962923000546844 ], [ -122.345780999910261, 37.963323000947902 ], [ -122.34558099985334, 37.964123000387346 ], [ -122.345381000150169, 37.965123000815147 ], [ -122.344881000339996, 37.966223000269956 ], [ -122.344380999645708, 37.967723000950031 ], [ -122.344080999983916, 37.969223000437502 ], [ -122.343980999468556, 37.969523000820885 ], [ -122.343880999829068, 37.970023000573718 ], [ -122.343881000059795, 37.970523001017355 ], [ -122.343581000073542, 37.972423000823085 ], [ -122.342281000501316, 37.972223000508137 ], [ -122.340581000029474, 37.97222300034425 ], [ -122.340134999466017, 37.971804000835007 ], [ -122.337281000273407, 37.969123000985888 ], [ -122.337081000456564, 37.968523000548544 ], [ -122.334081000336454, 37.966423000380125 ], [ -122.332780999802296, 37.966523000904715 ], [ -122.332781000157397, 37.966923000738902 ], [ -122.332280999632715, 37.967023000671517 ], [ -122.328881000334093, 37.968023000936277 ], [ -122.326780999752344, 37.969723000799732 ], [ -122.326081000067447, 37.969623000914495 ], [ -122.323980999762867, 37.97002300079857 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1054, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.320280999435298, 37.933324000678539 ], [ -122.320280999724474, 37.93162400101852 ], [ -122.32028100051059, 37.931224000873058 ], [ -122.321481000044102, 37.931224000957471 ], [ -122.32298100052185, 37.931424000637662 ], [ -122.323546999836907, 37.932289000437095 ], [ -122.324822000282595, 37.932473001107049 ], [ -122.325546999940002, 37.932560000433881 ], [ -122.32608099966825, 37.932624000338144 ], [ -122.326281000347677, 37.933024000251919 ], [ -122.326483999569589, 37.933742001080908 ], [ -122.326576999696087, 37.934124000348838 ], [ -122.326680000225878, 37.934554000587369 ], [ -122.326732000386968, 37.934936000306472 ], [ -122.326772999875431, 37.935277000694299 ], [ -122.32678299998642, 37.935497001091512 ], [ -122.32678199981018, 37.935624000784955 ], [ -122.326751000034093, 37.935832000319934 ], [ -122.326724999804867, 37.936007000875463 ], [ -122.326652000192226, 37.936214000261458 ], [ -122.326591999501147, 37.936414000707053 ], [ -122.326497000290203, 37.936637000754978 ], [ -122.326325000146326, 37.937020001116259 ], [ -122.326160000058834, 37.937369000677251 ], [ -122.325087999752768, 37.939400000248604 ], [ -122.324180999414693, 37.941224000940061 ], [ -122.324021000468321, 37.942004000747644 ], [ -122.323946000382847, 37.942484000768502 ], [ -122.323928999997619, 37.942897000904416 ], [ -122.323962999448582, 37.943232000473458 ], [ -122.323980999961563, 37.94332400054234 ], [ -122.324580999674481, 37.945123000666847 ], [ -122.32528099999449, 37.946823000694479 ], [ -122.326280999559884, 37.948823001121518 ], [ -122.325880999804198, 37.948823000991354 ], [ -122.324880999831109, 37.94912300099525 ], [ -122.323480999746806, 37.949623000321218 ], [ -122.323381000214781, 37.949923001099748 ], [ -122.322081000107417, 37.948123000507046 ], [ -122.321881000125245, 37.947823000709427 ], [ -122.321380999617759, 37.946123000908798 ], [ -122.320481000189403, 37.945023000257855 ], [ -122.320081000301272, 37.945223000374575 ], [ -122.319795999544652, 37.945337000264502 ], [ -122.31965500013024, 37.945393000993619 ], [ -122.319581000386847, 37.94542300037741 ], [ -122.318680999526606, 37.944723000510287 ], [ -122.318481000366162, 37.943924000486966 ], [ -122.318280999849804, 37.943124000502003 ], [ -122.316981000047548, 37.943124000358431 ], [ -122.317980999642998, 37.942324000905955 ], [ -122.317780999491674, 37.940924000283765 ], [ -122.318080999781017, 37.94092400076795 ], [ -122.317181000483316, 37.938724001009824 ], [ -122.317317000209187, 37.938385000800473 ], [ -122.317381000521124, 37.938224000865141 ], [ -122.318681000514417, 37.938224000769949 ], [ -122.319680999868467, 37.938224000624345 ], [ -122.319780999982498, 37.93782400044703 ], [ -122.319180999972559, 37.937924000420608 ], [ -122.319481000484387, 37.937124000546412 ], [ -122.319980999850571, 37.936924000475692 ], [ -122.319680999608806, 37.935924000436628 ], [ -122.319681000344346, 37.93502400051797 ], [ -122.320181000047839, 37.934724001069512 ], [ -122.32026899956324, 37.934724001122831 ], [ -122.320880999674941, 37.934724000922202 ], [ -122.320880999774005, 37.933924000987993 ], [ -122.320981000433534, 37.933624000590008 ], [ -122.320980999440692, 37.933324000789689 ], [ -122.320280999435298, 37.933324000678539 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1065, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.339380999958806, 37.953223000880293 ], [ -122.33888100027373, 37.953523000608442 ], [ -122.338381000016014, 37.953323000973555 ], [ -122.337080999474225, 37.952523000671334 ], [ -122.334580999962867, 37.952023000726108 ], [ -122.333481000154421, 37.951823001102476 ], [ -122.333481000045495, 37.951223000250003 ], [ -122.3332810000949, 37.950723000854602 ], [ -122.332781000042999, 37.950023000836993 ], [ -122.332580999842932, 37.9494230010583 ], [ -122.332381000369736, 37.94902300095513 ], [ -122.331481000028859, 37.949123000813117 ], [ -122.33108099974973, 37.947823000827576 ], [ -122.330780999486137, 37.947423000768289 ], [ -122.330781000421425, 37.947023000571512 ], [ -122.329880999854751, 37.945523000844581 ], [ -122.329681000005678, 37.945223000566024 ], [ -122.328981000290085, 37.943824000535365 ], [ -122.32888100052655, 37.943524000396593 ], [ -122.330080999477914, 37.943624001041428 ], [ -122.331080999760033, 37.943624000712106 ], [ -122.331881000016878, 37.943624000998199 ], [ -122.332980999598107, 37.943524000605812 ], [ -122.333980999803074, 37.94352400085647 ], [ -122.334881000139859, 37.943624000707295 ], [ -122.335580999557124, 37.943524000698339 ], [ -122.3365809998961, 37.943524000480132 ], [ -122.337481000350792, 37.943524001038405 ], [ -122.338480999645626, 37.943524000887138 ], [ -122.338881000519066, 37.943524000435922 ], [ -122.340980999527943, 37.943624000896151 ], [ -122.343181000262547, 37.943624001065771 ], [ -122.345481000202525, 37.943624000880639 ], [ -122.347581000045679, 37.9435240003532 ], [ -122.347380999676901, 37.943824000344527 ], [ -122.347481, 37.944324000712484 ], [ -122.347480999960339, 37.944524001073049 ], [ -122.347580999777307, 37.945224000737142 ], [ -122.347581000168944, 37.945624000494298 ], [ -122.347581000520947, 37.946024001125572 ], [ -122.34758099945239, 37.946423000395718 ], [ -122.347580999671948, 37.94672300083112 ], [ -122.34758099994491, 37.947123000486762 ], [ -122.347581000065546, 37.947323000755034 ], [ -122.34758100034044, 37.94782300049485 ], [ -122.347581000476879, 37.948123000859177 ], [ -122.347580999500906, 37.948523000413672 ], [ -122.347580999595763, 37.948823000742429 ], [ -122.347480999846638, 37.949323000979284 ], [ -122.347381000449502, 37.95002300035965 ], [ -122.347480999725775, 37.950323000973142 ], [ -122.347580999806794, 37.950623000592579 ], [ -122.347580999747208, 37.95112300095429 ], [ -122.347480999738423, 37.951823001100244 ], [ -122.347481000445981, 37.952723000638223 ], [ -122.347480999884752, 37.953023000749916 ], [ -122.347480999500718, 37.953223000815946 ], [ -122.346780999834252, 37.953223000864575 ], [ -122.346780999710532, 37.954123001056452 ], [ -122.346780999426301, 37.955023001111179 ], [ -122.346781000177117, 37.955823001051016 ], [ -122.346680999620375, 37.956323000862035 ], [ -122.346480999595641, 37.956223000448638 ], [ -122.345481000304389, 37.956123000408802 ], [ -122.344481000115806, 37.955923000912442 ], [ -122.343680999693447, 37.955723000261052 ], [ -122.342881000210895, 37.955523000492214 ], [ -122.342280999879279, 37.955223000518949 ], [ -122.342181000044519, 37.955023000265108 ], [ -122.342126999563718, 37.95496400049997 ], [ -122.340081000398527, 37.952723000706484 ], [ -122.339380999958806, 37.953223000880293 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1056, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.342081000097735, 37.935024000390349 ], [ -122.342881000500682, 37.935124000657702 ], [ -122.343780999779199, 37.935224000726592 ], [ -122.344681000393635, 37.935324001135832 ], [ -122.345381000477119, 37.935424000674196 ], [ -122.346480999902781, 37.935624000563756 ], [ -122.347580999647107, 37.935824001000974 ], [ -122.347581000428121, 37.936924000879188 ], [ -122.347581000225745, 37.937724000576601 ], [ -122.347580999655307, 37.938424000784664 ], [ -122.347580999575158, 37.93992400031555 ], [ -122.347681000275699, 37.940924000249019 ], [ -122.347581000179744, 37.941424000373082 ], [ -122.347581000394896, 37.942224000368597 ], [ -122.347581000036328, 37.942724000533744 ], [ -122.347380999734028, 37.942924000369345 ], [ -122.347581000045679, 37.9435240003532 ], [ -122.345481000202525, 37.943624000880639 ], [ -122.343181000262547, 37.943624001065771 ], [ -122.340980999527943, 37.943624000896151 ], [ -122.338881000519066, 37.943524000435922 ], [ -122.338480999645626, 37.943524000887138 ], [ -122.337481000350792, 37.943524001038405 ], [ -122.3365809998961, 37.943524000480132 ], [ -122.335580999557124, 37.943524000698339 ], [ -122.334881000139859, 37.943624000707295 ], [ -122.334881000155548, 37.94312400092992 ], [ -122.335380999835905, 37.94172400043346 ], [ -122.336024999746328, 37.938689000569902 ], [ -122.33608100039136, 37.93842400093159 ], [ -122.336380999594709, 37.936924000692038 ], [ -122.336680999801061, 37.935424001072619 ], [ -122.337080999716989, 37.934224000385491 ], [ -122.337781000003105, 37.934424000322295 ], [ -122.338680999551471, 37.934524000605379 ], [ -122.339481000047812, 37.934624000530228 ], [ -122.340380999861893, 37.934724000442628 ], [ -122.341180999938643, 37.934924000845491 ], [ -122.342081000097735, 37.935024000390349 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1061, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.353085999879255, 37.931424000271733 ], [ -122.35338099965999, 37.931424000278831 ], [ -122.354282000316331, 37.931424000751207 ], [ -122.355282000344886, 37.931424000511484 ], [ -122.356182000377942, 37.931524000319328 ], [ -122.357181999568965, 37.93152400105587 ], [ -122.35818200000881, 37.931424000961371 ], [ -122.359081999519944, 37.931424000675094 ], [ -122.359982000205164, 37.931424000721222 ], [ -122.360982000184791, 37.931324000240004 ], [ -122.361882000137541, 37.931424000634571 ], [ -122.362781999804113, 37.931424000888136 ], [ -122.363882000128669, 37.931324000787072 ], [ -122.365782000122124, 37.931424000390173 ], [ -122.366781999561326, 37.931424000647191 ], [ -122.367882000362556, 37.931324000987473 ], [ -122.368681999589711, 37.93132400110823 ], [ -122.369861999699893, 37.931345000704901 ], [ -122.372709999925704, 37.931395000713927 ], [ -122.374382000507666, 37.931424000671036 ], [ -122.375482000001412, 37.931424000750482 ], [ -122.378082000472162, 37.931324000487606 ], [ -122.376381999710659, 37.93282400077522 ], [ -122.375181999438396, 37.934124000993968 ], [ -122.37388200033584, 37.935224000844997 ], [ -122.373082000444001, 37.935824000794788 ], [ -122.371882000234706, 37.936824001110963 ], [ -122.371181999810204, 37.936924000408183 ], [ -122.370481999775322, 37.937024000942131 ], [ -122.369481999393898, 37.937024000316626 ], [ -122.368781999627785, 37.936924000724822 ], [ -122.36768200044196, 37.936924000811437 ], [ -122.366682000354061, 37.937124000622184 ], [ -122.365682000174701, 37.937024000650347 ], [ -122.364782000370596, 37.937024000707495 ], [ -122.363781999656823, 37.936924000818905 ], [ -122.362882000016867, 37.936924000767554 ], [ -122.361782000004112, 37.936924000666153 ], [ -122.360882000450189, 37.936924000637951 ], [ -122.35998199979889, 37.93702400039453 ], [ -122.358981999910966, 37.937024000654958 ], [ -122.358181999744744, 37.936924000693516 ], [ -122.357182000160321, 37.936924000983041 ], [ -122.357181999665102, 37.935824000592575 ], [ -122.356181999674348, 37.935724001078107 ], [ -122.35528200020731, 37.935724000625243 ], [ -122.354182000274051, 37.935724000733423 ], [ -122.35258099994212, 37.935924000914888 ], [ -122.35058099955944, 37.93432400039547 ], [ -122.348380999947921, 37.932724000333501 ], [ -122.347780999903662, 37.932124000557174 ], [ -122.347683999566428, 37.932092000778695 ], [ -122.34748099942901, 37.932024000741521 ], [ -122.346280999605511, 37.931324000788422 ], [ -122.345781000289179, 37.930724000998488 ], [ -122.346581000154188, 37.931424000955921 ], [ -122.347681999543212, 37.931424000612196 ], [ -122.3477809999725, 37.931424000499078 ], [ -122.348664999786436, 37.93147600083249 ], [ -122.349481000405916, 37.931524000868876 ], [ -122.350480999528457, 37.931424000462904 ], [ -122.351481000503298, 37.931424000988777 ], [ -122.352380999723181, 37.931424000585281 ], [ -122.353085999879255, 37.931424000271733 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1058, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.321780999814905, 37.925424001086768 ], [ -122.322781000112144, 37.925324000606309 ], [ -122.323580999520175, 37.925424001085979 ], [ -122.324381000208206, 37.925424000262915 ], [ -122.325880999461106, 37.925324000328267 ], [ -122.327180999597701, 37.925524000894107 ], [ -122.330581000322084, 37.925424000501621 ], [ -122.331580999826031, 37.925424000410629 ], [ -122.332481000103314, 37.925424000547011 ], [ -122.33318099958727, 37.925424000796582 ], [ -122.333281000006224, 37.925424000495077 ], [ -122.334280999641422, 37.925424000891411 ], [ -122.335181000039896, 37.92542400110591 ], [ -122.336180999777625, 37.925424000676941 ], [ -122.336980999827986, 37.925424000705355 ], [ -122.337881000476699, 37.925324000545402 ], [ -122.338380999725842, 37.925324000729326 ], [ -122.341981000395037, 37.92789500091471 ], [ -122.342581000267856, 37.928324000495117 ], [ -122.342678000488661, 37.928397000386013 ], [ -122.344490000075865, 37.929756000284023 ], [ -122.345281000376005, 37.930349000643822 ], [ -122.345781000289179, 37.930724000998488 ], [ -122.346280999605511, 37.931324000788422 ], [ -122.34748099942901, 37.932024000741521 ], [ -122.347683999566428, 37.932092000778695 ], [ -122.347780999903662, 37.932124000557174 ], [ -122.348380999947921, 37.932724000333501 ], [ -122.35058099955944, 37.93432400039547 ], [ -122.35258099994212, 37.935924000914888 ], [ -122.35226000025078, 37.935953000588981 ], [ -122.351481000471665, 37.936024000438785 ], [ -122.350581000225361, 37.935824000283624 ], [ -122.349581000397436, 37.935724000576549 ], [ -122.348581000421603, 37.935724000821779 ], [ -122.347580999647107, 37.935824001000974 ], [ -122.346480999902781, 37.935624000563756 ], [ -122.345381000477119, 37.935424000674196 ], [ -122.344681000393635, 37.935324001135832 ], [ -122.343780999779199, 37.935224000726592 ], [ -122.342881000500682, 37.935124000657702 ], [ -122.342081000097735, 37.935024000390349 ], [ -122.341180999938643, 37.934924000845491 ], [ -122.340380999861893, 37.934724000442628 ], [ -122.339481000047812, 37.934624000530228 ], [ -122.338680999551471, 37.934524000605379 ], [ -122.337781000003105, 37.934424000322295 ], [ -122.337080999716989, 37.934224000385491 ], [ -122.336280999870382, 37.934224000686974 ], [ -122.335180999975748, 37.934124000489312 ], [ -122.334181000020806, 37.933924000417001 ], [ -122.333281000413791, 37.933824000900195 ], [ -122.332280999428633, 37.933524000632708 ], [ -122.331580999396934, 37.933524001049889 ], [ -122.330781000204325, 37.933424000656629 ], [ -122.330281000442241, 37.933224000754784 ], [ -122.32988099981111, 37.933224001015162 ], [ -122.329080999715231, 37.933224001067927 ], [ -122.328081000213089, 37.932924000324711 ], [ -122.32768099941471, 37.932824000946169 ], [ -122.327480999785138, 37.932724000613639 ], [ -122.32608099966825, 37.932624000338144 ], [ -122.325546999940002, 37.932560000433881 ], [ -122.324822000282595, 37.932473001107049 ], [ -122.323546999836907, 37.932289000437095 ], [ -122.32298100052185, 37.931424000637662 ], [ -122.323580999418041, 37.931324000779462 ], [ -122.323381000197784, 37.930824000460809 ], [ -122.321996999691649, 37.928979000521338 ], [ -122.321280999968835, 37.928024000663065 ], [ -122.320681000186681, 37.927124000966749 ], [ -122.32091700025471, 37.925848000671522 ], [ -122.320956000197995, 37.925425000837812 ], [ -122.321780999814905, 37.925424001086768 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1049, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.308643999545566, 37.901258000770724 ], [ -122.307992000375023, 37.901378000954359 ], [ -122.307779999984604, 37.901425000338087 ], [ -122.307779999391471, 37.901925001119622 ], [ -122.307579999887437, 37.902325000957774 ], [ -122.307079999727804, 37.902425000949641 ], [ -122.306779999485855, 37.90222500049331 ], [ -122.306929000039588, 37.901575000581381 ], [ -122.307180000311433, 37.901225000887308 ], [ -122.306779999435022, 37.899425000530492 ], [ -122.306179999913581, 37.898225000316017 ], [ -122.308780000359434, 37.898025001031549 ], [ -122.309080000178369, 37.897925000497239 ], [ -122.309837999870666, 37.899440000297574 ], [ -122.31060299970153, 37.900968000994069 ], [ -122.312080999965005, 37.902925000953957 ], [ -122.315850000100284, 37.90864500105473 ], [ -122.316311000426268, 37.90948500088362 ], [ -122.317129999886873, 37.910975000678171 ], [ -122.317233999421404, 37.912264000301846 ], [ -122.317298999742732, 37.913068000543369 ], [ -122.317416999632158, 37.914522001048368 ], [ -122.317480999444314, 37.915724000807707 ], [ -122.31738300010224, 37.919255000648398 ], [ -122.317381000493398, 37.919324000564515 ], [ -122.317381000199859, 37.920824000832923 ], [ -122.316530000528957, 37.920792000390492 ], [ -122.316504000459901, 37.919524000759047 ], [ -122.316568999562378, 37.919204000624724 ], [ -122.31434600025618, 37.919022000282865 ], [ -122.314181000024746, 37.918624000496386 ], [ -122.313780999954972, 37.917924000855109 ], [ -122.313081000478192, 37.917124000757973 ], [ -122.31238099979052, 37.916424000520138 ], [ -122.31218100027067, 37.916324000289862 ], [ -122.311980999886941, 37.916124001041318 ], [ -122.311680999634191, 37.915824001077588 ], [ -122.311381000071393, 37.915424000763679 ], [ -122.310680999419347, 37.914424000564445 ], [ -122.31038099947952, 37.914024000351304 ], [ -122.310180999734158, 37.913724001110459 ], [ -122.309481000411552, 37.912724000829662 ], [ -122.309080999518571, 37.912224000285498 ], [ -122.308581000249319, 37.911224000386646 ], [ -122.307879999752515, 37.91032400033118 ], [ -122.307380000075113, 37.90982400063956 ], [ -122.307280000140793, 37.909524000763 ], [ -122.30707999990301, 37.909224000624015 ], [ -122.306480000182077, 37.908525000606538 ], [ -122.306179999928133, 37.907925000917778 ], [ -122.305979999846272, 37.907825000938594 ], [ -122.305679999475629, 37.9073250005235 ], [ -122.30538000021717, 37.906725000526876 ], [ -122.305080000071484, 37.906125000619944 ], [ -122.304679999845277, 37.905425000709876 ], [ -122.304380000271706, 37.904825000736011 ], [ -122.304180000005914, 37.904325000569919 ], [ -122.305680000162681, 37.903825000411942 ], [ -122.307480000126745, 37.903125000291126 ], [ -122.309280999687289, 37.902325001030825 ], [ -122.309780999955649, 37.902025001086749 ], [ -122.309200000119702, 37.901188000400765 ], [ -122.308643999545566, 37.901258000770724 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1052, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.313881000004017, 37.925624000319544 ], [ -122.315281000229163, 37.926024000298966 ], [ -122.316481000251159, 37.926524000435791 ], [ -122.315581000117845, 37.926924000809763 ], [ -122.313580999923957, 37.926624000649007 ], [ -122.313181000456296, 37.927124000768174 ], [ -122.313081000486008, 37.927524000481327 ], [ -122.312781000000328, 37.927824000933235 ], [ -122.311480999735963, 37.929424000249952 ], [ -122.311180999694244, 37.929624000735814 ], [ -122.311081000417261, 37.931524001025757 ], [ -122.310181000456936, 37.932124000374166 ], [ -122.309281000471799, 37.932424000272448 ], [ -122.308381000113059, 37.932424000805874 ], [ -122.306780000081844, 37.932224000643082 ], [ -122.306880000417223, 37.93152400078219 ], [ -122.306879999573781, 37.931324000389885 ], [ -122.306879999709381, 37.931224001095785 ], [ -122.306979999890274, 37.930724000536557 ], [ -122.305880000051388, 37.929624000371724 ], [ -122.304179999977649, 37.929624000587339 ], [ -122.304079999710424, 37.928424000541533 ], [ -122.302280000319229, 37.927124000862825 ], [ -122.302880000180721, 37.925824000649982 ], [ -122.305580000300253, 37.92422400074873 ], [ -122.306680000166125, 37.923824000675317 ], [ -122.307005999394335, 37.924204001097735 ], [ -122.307279999532369, 37.924524000591582 ], [ -122.307779999794462, 37.925024000759699 ], [ -122.308081000473535, 37.924824001118857 ], [ -122.309081000400298, 37.924424000775588 ], [ -122.310480999509267, 37.923824000362295 ], [ -122.310881000260778, 37.923724000628233 ], [ -122.312080999878646, 37.923124000255839 ], [ -122.313180999983672, 37.924524000546711 ], [ -122.313580999593924, 37.925124000329177 ], [ -122.313881000004017, 37.925624000319544 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1047, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.309481000411552, 37.912724000829662 ], [ -122.310180999734158, 37.913724001110459 ], [ -122.31038099947952, 37.914024000351304 ], [ -122.310680999419347, 37.914424000564445 ], [ -122.311381000071393, 37.915424000763679 ], [ -122.311680999634191, 37.915824001077588 ], [ -122.310681000379901, 37.916124000696591 ], [ -122.309980999450303, 37.916424000800774 ], [ -122.309180999648433, 37.916824000547322 ], [ -122.31028099956967, 37.918324000449601 ], [ -122.311380999895647, 37.919924001091232 ], [ -122.310580999575492, 37.920224000588576 ], [ -122.309680999569039, 37.920624000592007 ], [ -122.308780999685879, 37.920924000479317 ], [ -122.308180999759202, 37.921324000303478 ], [ -122.307289999893612, 37.921791000284102 ], [ -122.30608000006977, 37.922424000721456 ], [ -122.305779999438215, 37.922624000339034 ], [ -122.304779999788707, 37.922324001111726 ], [ -122.304180000222502, 37.922524000389622 ], [ -122.303380000401475, 37.921324000572227 ], [ -122.302279999481854, 37.919824000365047 ], [ -122.300880000467515, 37.918024000281846 ], [ -122.300579999623267, 37.91762400070224 ], [ -122.300432000244783, 37.917357000993242 ], [ -122.300079999559188, 37.91672400054226 ], [ -122.299579999479278, 37.916124000314582 ], [ -122.298979999532136, 37.915324000828093 ], [ -122.301579999908512, 37.91432400050406 ], [ -122.302080000020922, 37.91412400052959 ], [ -122.302579999700029, 37.913924001114651 ], [ -122.303279999839688, 37.913524000293521 ], [ -122.304179999418324, 37.913224000385249 ], [ -122.304880000173313, 37.912824000759066 ], [ -122.305679999673259, 37.912524000668412 ], [ -122.306380000044612, 37.912224000638744 ], [ -122.306479999790824, 37.912124000896704 ], [ -122.30677999994704, 37.912024000388186 ], [ -122.30758000015318, 37.911724000800511 ], [ -122.308581000249319, 37.911224000386646 ], [ -122.309080999518571, 37.912224000285498 ], [ -122.309481000411552, 37.912724000829662 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1041, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.303179999667009, 37.904625000592524 ], [ -122.302479999608522, 37.90482500051121 ], [ -122.301580000513155, 37.905125000832228 ], [ -122.301280000304232, 37.905125000294234 ], [ -122.300880000520479, 37.905325001096244 ], [ -122.30037999954645, 37.905425000392704 ], [ -122.299479999976043, 37.90562500109619 ], [ -122.298779999526815, 37.905925001105416 ], [ -122.29787999941739, 37.906225000897415 ], [ -122.296980000492113, 37.906425000419645 ], [ -122.296080000129479, 37.906625001136057 ], [ -122.294780000297621, 37.90692500045283 ], [ -122.29417999974784, 37.905025001128536 ], [ -122.293880000015037, 37.904025000299264 ], [ -122.293579999406262, 37.903425000951415 ], [ -122.293779999634125, 37.903325000949785 ], [ -122.293580000521004, 37.902725000367923 ], [ -122.293595000386844, 37.902648000528522 ], [ -122.293580000143436, 37.901325000741281 ], [ -122.293380000280663, 37.900825000278303 ], [ -122.293279999698598, 37.900225000809115 ], [ -122.29311799951013, 37.899658000878347 ], [ -122.29308000007488, 37.899525000258691 ], [ -122.293179999407755, 37.898425000431352 ], [ -122.29341999996808, 37.898545000503994 ], [ -122.293580000018991, 37.89862500027894 ], [ -122.294480000449511, 37.898725000267618 ], [ -122.295979999655231, 37.898925000812277 ], [ -122.296980000372017, 37.898925000476432 ], [ -122.297780000014654, 37.898825000242006 ], [ -122.298679999772034, 37.898525000489052 ], [ -122.299380000074336, 37.898325000238124 ], [ -122.300280000121717, 37.898225000428198 ], [ -122.301479999428267, 37.898525000889911 ], [ -122.301680000441976, 37.899025000595813 ], [ -122.302079999904009, 37.90012500047456 ], [ -122.302280000007713, 37.900725000640861 ], [ -122.302780000208827, 37.901625000763772 ], [ -122.303080000343471, 37.902225000534607 ], [ -122.303780000278422, 37.903425000677998 ], [ -122.304179999437366, 37.90402500045824 ], [ -122.304180000005914, 37.904325000569919 ], [ -122.303179999667009, 37.904625000592524 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1042, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.293279999698598, 37.900225000809115 ], [ -122.293380000280663, 37.900825000278303 ], [ -122.293580000143436, 37.901325000741281 ], [ -122.293595000386844, 37.902648000528522 ], [ -122.293580000521004, 37.902725000367923 ], [ -122.293779999634125, 37.903325000949785 ], [ -122.293579999406262, 37.903425000951415 ], [ -122.293880000015037, 37.904025000299264 ], [ -122.29417999974784, 37.905025001128536 ], [ -122.294780000297621, 37.90692500045283 ], [ -122.295780000082701, 37.908524000807233 ], [ -122.294880000482593, 37.908924000397128 ], [ -122.293580000030445, 37.909524000258948 ], [ -122.293480000036865, 37.908724000781326 ], [ -122.292579999995525, 37.908624000952209 ], [ -122.292779999941303, 37.909324000462952 ], [ -122.291980000098661, 37.909924000903686 ], [ -122.290479999949056, 37.910424000827582 ], [ -122.2899799994603, 37.910524000726831 ], [ -122.289479999392697, 37.91072400074966 ], [ -122.288080000465342, 37.911324000774869 ], [ -122.287579999723931, 37.910024000501252 ], [ -122.2895799994062, 37.909024000780853 ], [ -122.288680000123406, 37.906125000873168 ], [ -122.291179999401962, 37.90412500109688 ], [ -122.290279999788297, 37.903925000394388 ], [ -122.289079999600034, 37.903825000521863 ], [ -122.289079999414341, 37.902825001119041 ], [ -122.28887999997751, 37.901825001101855 ], [ -122.288480000520011, 37.901225001002608 ], [ -122.288380000238476, 37.900325001129474 ], [ -122.288480000447308, 37.899425000690641 ], [ -122.288580000313075, 37.898525000920522 ], [ -122.288479999464769, 37.897925000911286 ], [ -122.289480000130709, 37.897825000494571 ], [ -122.290180000426318, 37.897825000474583 ], [ -122.291080000017217, 37.897925000278455 ], [ -122.291980000406397, 37.898225000869196 ], [ -122.293179999407755, 37.898425000431352 ], [ -122.29308000007488, 37.899525000258691 ], [ -122.29311799951013, 37.899658000878347 ], [ -122.293279999698598, 37.900225000809115 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1044, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.274680000194195, 37.904725000593487 ], [ -122.275080000476891, 37.904425000294886 ], [ -122.276179999432827, 37.903825000404716 ], [ -122.278380000526752, 37.90322500046036 ], [ -122.278392999682865, 37.903353000745284 ], [ -122.278480000127175, 37.904225000305907 ], [ -122.279680000061916, 37.906724000430671 ], [ -122.279679999831714, 37.907224000922319 ], [ -122.279979999391543, 37.907624000685004 ], [ -122.280679999651198, 37.908124000304802 ], [ -122.280879999649954, 37.909524001016315 ], [ -122.280380000045469, 37.910524000769897 ], [ -122.280379999413583, 37.911424000723649 ], [ -122.280938999569983, 37.91192100036244 ], [ -122.281279999775634, 37.912224001047861 ], [ -122.281579999947525, 37.913024000705263 ], [ -122.281779999657331, 37.913924000712662 ], [ -122.281979999914455, 37.914524001042238 ], [ -122.282679999922763, 37.915024001118624 ], [ -122.28318000052279, 37.915724000929579 ], [ -122.283380000462387, 37.916124000817177 ], [ -122.284179999880294, 37.916824000296273 ], [ -122.284779999436324, 37.917324000524779 ], [ -122.282180000458283, 37.916624000430268 ], [ -122.281480000320343, 37.916024000754597 ], [ -122.281380000134035, 37.917124001021811 ], [ -122.280980000152823, 37.917124000314935 ], [ -122.28077999990586, 37.917524000616275 ], [ -122.280591000171626, 37.917461001030183 ], [ -122.280179999872786, 37.917324000807682 ], [ -122.279579999754731, 37.916824000677821 ], [ -122.279363999423666, 37.916656000850828 ], [ -122.278679999721305, 37.916124000738648 ], [ -122.279180000470433, 37.915824000780532 ], [ -122.2788630002144, 37.915525000528199 ], [ -122.27397999951117, 37.910924000976983 ], [ -122.273480000460182, 37.911524000929369 ], [ -122.272978000055772, 37.910883000682922 ], [ -122.271680000069594, 37.909224000900707 ], [ -122.27128000011308, 37.908924000508151 ], [ -122.270479999583699, 37.908724000771088 ], [ -122.268980000276514, 37.907524001048635 ], [ -122.267879999644762, 37.907724000679003 ], [ -122.267780000369029, 37.907424001130146 ], [ -122.268779999783561, 37.906924000953445 ], [ -122.269679999705104, 37.907824001031749 ], [ -122.270379999600351, 37.906924001086097 ], [ -122.269880000358555, 37.905624000834486 ], [ -122.269980000158156, 37.9045250002602 ], [ -122.270879999943304, 37.904525000981131 ], [ -122.271679999515769, 37.904725000657287 ], [ -122.271780000258488, 37.904925000242088 ], [ -122.271079999931445, 37.905824000421148 ], [ -122.272180000046788, 37.90552400086365 ], [ -122.274180000280793, 37.905025000249196 ], [ -122.274680000194195, 37.904725000593487 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1412, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.59659300033762, 38.11201900107978 ], [ -122.597693000170779, 38.112219000270358 ], [ -122.599492999898587, 38.112819000349958 ], [ -122.600466000237674, 38.113224000725516 ], [ -122.600692999431857, 38.113319000821569 ], [ -122.601692999404591, 38.113719000541003 ], [ -122.603392999530939, 38.114419000280549 ], [ -122.603892999935098, 38.114719001078242 ], [ -122.604593000300682, 38.115419001035313 ], [ -122.60569299971668, 38.116319000768051 ], [ -122.609493999417467, 38.117819000890393 ], [ -122.608893999559825, 38.118919001077401 ], [ -122.607394000014736, 38.120219000504427 ], [ -122.607093999436657, 38.12041900073703 ], [ -122.606492999519105, 38.120619000920897 ], [ -122.606263999733358, 38.120687000302304 ], [ -122.60620199959034, 38.120706000288315 ], [ -122.604493000250258, 38.121219000371376 ], [ -122.602417999918941, 38.121367000885144 ], [ -122.60169300017904, 38.121419000551874 ], [ -122.600592999872816, 38.12161900086361 ], [ -122.596593000134717, 38.122619000409323 ], [ -122.595613999482381, 38.122925000459482 ], [ -122.591793000026712, 38.12411900060895 ], [ -122.587192999490966, 38.12411900029889 ], [ -122.585793000174718, 38.122719000334627 ], [ -122.584693000358328, 38.121319000690782 ], [ -122.583792999865679, 38.121119000943068 ], [ -122.583492999791432, 38.121219000284249 ], [ -122.582892000415299, 38.121219000466006 ], [ -122.58249199990351, 38.121319000871246 ], [ -122.582092000141586, 38.121319000890502 ], [ -122.578492000223548, 38.121319001054644 ], [ -122.576981999859427, 38.120927000284887 ], [ -122.57579199992368, 38.120619001052326 ], [ -122.574992000222792, 38.120619000985997 ], [ -122.572291999391922, 38.120419000375257 ], [ -122.570591999867517, 38.119019001038779 ], [ -122.570274000340618, 38.118772001002959 ], [ -122.569692000246619, 38.118319000927343 ], [ -122.567192000002237, 38.116219001017825 ], [ -122.567107999796008, 38.116207000324003 ], [ -122.566491999478444, 38.116119000616592 ], [ -122.566092000495814, 38.11631900112635 ], [ -122.56569199952007, 38.116419000299153 ], [ -122.565292000060552, 38.114719000473009 ], [ -122.564691000358877, 38.111319001017392 ], [ -122.564403000323594, 38.110308000300058 ], [ -122.563959000135583, 38.109090000919132 ], [ -122.563165000427034, 38.107104000846384 ], [ -122.562490999973392, 38.10531900077531 ], [ -122.562108999701181, 38.103895000790196 ], [ -122.561790999913484, 38.102420000871547 ], [ -122.561747999523249, 38.101926000638919 ], [ -122.561798000371937, 38.100526000430975 ], [ -122.561961999970009, 38.099337000840642 ], [ -122.562037000205621, 38.099038000705903 ], [ -122.562139000206827, 38.098765000870991 ], [ -122.562302000524951, 38.098379000900159 ], [ -122.562391000122673, 38.09813300035762 ], [ -122.562452000502034, 38.09787600094652 ], [ -122.562485999780179, 38.097683000991672 ], [ -122.562493000458048, 38.097506000765271 ], [ -122.562472999803887, 38.097308000479273 ], [ -122.562431999857594, 38.09707800085301 ], [ -122.562373000295878, 38.096838000386171 ], [ -122.564290999754689, 38.09722000065139 ], [ -122.564813999639952, 38.09769900101341 ], [ -122.56779100001792, 38.100420000513367 ], [ -122.569392000366676, 38.103720001065888 ], [ -122.570492000117724, 38.105819000678792 ], [ -122.571092000371763, 38.105319000623687 ], [ -122.571292000128722, 38.104620000611625 ], [ -122.5723919996923, 38.103820000367584 ], [ -122.572992000047989, 38.103720001081356 ], [ -122.573191999997292, 38.103320000505967 ], [ -122.573692000290933, 38.103720000368448 ], [ -122.57399199959184, 38.104020000271952 ], [ -122.574991999563451, 38.104520000348401 ], [ -122.575592000158451, 38.104820000271374 ], [ -122.576535000093202, 38.105292000618277 ], [ -122.576992000472913, 38.105520001074652 ], [ -122.57739199944514, 38.10572000054961 ], [ -122.57879200033436, 38.10632000043914 ], [ -122.583192000235655, 38.108319001137097 ], [ -122.585691999883025, 38.109319000368878 ], [ -122.586011999916025, 38.109447000632741 ], [ -122.586191999784802, 38.109519000679171 ], [ -122.586792000398916, 38.109819001029031 ], [ -122.589459999549547, 38.111107000633872 ], [ -122.589693000386134, 38.111219000287633 ], [ -122.590792999769278, 38.111619000283547 ], [ -122.592692999780581, 38.112119001043645 ], [ -122.594192999473904, 38.112019000915588 ], [ -122.594793000043595, 38.111919000475389 ], [ -122.59659300033762, 38.11201900107978 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1132, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.108975000437241, 37.912624000307261 ], [ -122.105132000335772, 37.910093000982819 ], [ -122.103374999960735, 37.909224000435088 ], [ -122.102275000237952, 37.908724000976314 ], [ -122.100675000348389, 37.908024000655182 ], [ -122.10047500047429, 37.908324000609433 ], [ -122.100175000436778, 37.908124000557166 ], [ -122.099474999430527, 37.907724000928809 ], [ -122.098775000313779, 37.907324000767083 ], [ -122.098174999765703, 37.907024000510198 ], [ -122.09777499984753, 37.906624000848751 ], [ -122.097274999464034, 37.90612400047587 ], [ -122.09477500019041, 37.904824000564538 ], [ -122.093974000364881, 37.904124000890398 ], [ -122.092273999975617, 37.902624000599239 ], [ -122.091574000478914, 37.901824000711095 ], [ -122.09156300050941, 37.901752001112982 ], [ -122.091374000324294, 37.90052400047032 ], [ -122.091359000141665, 37.900356001058533 ], [ -122.091345000403408, 37.900196000989446 ], [ -122.091173999567701, 37.898224000753814 ], [ -122.091174000094981, 37.897924000609009 ], [ -122.091174000429049, 37.897724000804466 ], [ -122.091884999696887, 37.897657000634055 ], [ -122.092273999698222, 37.897624000642523 ], [ -122.093273999987517, 37.897624000752934 ], [ -122.09524199976245, 37.897464000524678 ], [ -122.095974999560099, 37.897424001001092 ], [ -122.096019000170074, 37.89761200033351 ], [ -122.096074999845058, 37.897924000381479 ], [ -122.098816999598625, 37.897687000466654 ], [ -122.099177000318761, 37.897660000560919 ], [ -122.099699999888017, 37.897588000957413 ], [ -122.103124000357496, 37.89711800102004 ], [ -122.106504000421296, 37.896643000417804 ], [ -122.108554999872197, 37.896194000314196 ], [ -122.110775000199766, 37.895890000609946 ], [ -122.110775000100574, 37.895724000321472 ], [ -122.110774999838753, 37.895624000697794 ], [ -122.112147999573409, 37.89534500063813 ], [ -122.114957999907134, 37.894950000903634 ], [ -122.116575000328652, 37.894724000459036 ], [ -122.121574999844228, 37.893824000839899 ], [ -122.124132999779292, 37.893281000332429 ], [ -122.124875000093184, 37.893124000409919 ], [ -122.126174999858605, 37.892724000324861 ], [ -122.127276000105468, 37.892524000796264 ], [ -122.129075999745268, 37.892124000978157 ], [ -122.135409000427387, 37.890894000252715 ], [ -122.136179999979518, 37.890840000491053 ], [ -122.140515000326616, 37.891436000486252 ], [ -122.1413549994314, 37.891477000649992 ], [ -122.14397599961859, 37.891124001040943 ], [ -122.146376000400039, 37.891024000371935 ], [ -122.150020999939869, 37.891607000965948 ], [ -122.151376000486451, 37.891824000419717 ], [ -122.152321999770592, 37.891966001017735 ], [ -122.153375999840037, 37.892124000740161 ], [ -122.153878000358432, 37.89218900026065 ], [ -122.154392000098852, 37.892273000857386 ], [ -122.154476000306815, 37.892524000297513 ], [ -122.154576000452749, 37.892724001075827 ], [ -122.154588000524015, 37.892879000538741 ], [ -122.153854999416183, 37.892783000665332 ], [ -122.153541000292762, 37.892742000550506 ], [ -122.152591999913412, 37.892612000393171 ], [ -122.152448999828295, 37.892680000908598 ], [ -122.151975999747805, 37.892924000557663 ], [ -122.151875999705396, 37.893324000828073 ], [ -122.151775999738561, 37.893824000904715 ], [ -122.151775999885231, 37.893979000647064 ], [ -122.151775999953671, 37.894224000579378 ], [ -122.15137599980352, 37.895524001117053 ], [ -122.152275999865878, 37.895724000611395 ], [ -122.15437599970177, 37.896124000432103 ], [ -122.156576000068554, 37.896124000258688 ], [ -122.157276000404366, 37.896124000265161 ], [ -122.157875999503204, 37.89632400065193 ], [ -122.159075999507181, 37.897324000788807 ], [ -122.158775999533916, 37.897724000846239 ], [ -122.157675999869227, 37.89712400099684 ], [ -122.157975999456013, 37.89932400088869 ], [ -122.158975999649655, 37.900124000529864 ], [ -122.158276000190696, 37.901424000366923 ], [ -122.15917700048783, 37.902024000674629 ], [ -122.15897599963796, 37.902824000717729 ], [ -122.159776999743713, 37.903224000480805 ], [ -122.159977000389162, 37.904324001046696 ], [ -122.159277000438607, 37.904424000315657 ], [ -122.15797599975987, 37.905424000647265 ], [ -122.156176000519935, 37.905124000920871 ], [ -122.155475999581398, 37.905324000686342 ], [ -122.154476000147525, 37.905224000775057 ], [ -122.153275999935715, 37.904524000866992 ], [ -122.153276000483359, 37.906724000439809 ], [ -122.156375999424711, 37.907824000912797 ], [ -122.15767599997146, 37.908024000493405 ], [ -122.159376999787938, 37.909024000320024 ], [ -122.159175999950932, 37.909824000600771 ], [ -122.159477000244038, 37.910124001122355 ], [ -122.159877000420607, 37.910124001014452 ], [ -122.160277000515649, 37.909124000619059 ], [ -122.161276999448589, 37.909824000241812 ], [ -122.161877000314092, 37.910124000800721 ], [ -122.162107999955239, 37.910432000585104 ], [ -122.162477000392968, 37.910924000451701 ], [ -122.163176999913162, 37.911724000578218 ], [ -122.162476999415375, 37.91282400084193 ], [ -122.162877000172017, 37.914624000720714 ], [ -122.162513000031979, 37.914624000326974 ], [ -122.161877999481376, 37.914624000579551 ], [ -122.161276999572351, 37.914624000886796 ], [ -122.15847599981042, 37.915224000646084 ], [ -122.159576999926884, 37.91632400035175 ], [ -122.160176999717052, 37.917624000822634 ], [ -122.158375999461143, 37.917524000686932 ], [ -122.158376000384649, 37.91802400031888 ], [ -122.157176000186908, 37.918024000484642 ], [ -122.155176000402065, 37.918324000420263 ], [ -122.147976000348436, 37.917224000530886 ], [ -122.147375999492425, 37.91662400030124 ], [ -122.142376000466314, 37.916324000831281 ], [ -122.14197600015018, 37.916324000768668 ], [ -122.142675999503666, 37.915824000937683 ], [ -122.143410000293429, 37.915428000381887 ], [ -122.144279999888823, 37.915238000599047 ], [ -122.1452259996328, 37.915154000448389 ], [ -122.146552999750682, 37.915047000465279 ], [ -122.149176000260482, 37.913924001073838 ], [ -122.149075999743388, 37.913224000261714 ], [ -122.148812000364174, 37.911492000742712 ], [ -122.147773999658341, 37.91130100101249 ], [ -122.146874000423949, 37.9113850003138 ], [ -122.146176000027253, 37.911324000567916 ], [ -122.146721000485115, 37.910141000362536 ], [ -122.146995999650542, 37.909722000959306 ], [ -122.147179000042257, 37.909508000765655 ], [ -122.147175999636318, 37.909424000531459 ], [ -122.145492000082669, 37.909495000804036 ], [ -122.145377999798995, 37.909500000706402 ], [ -122.144660999937656, 37.90943200075111 ], [ -122.143928999498286, 37.909272001021463 ], [ -122.143875999634531, 37.909224000922343 ], [ -122.143806999465511, 37.910004000264436 ], [ -122.14415799966018, 37.910485000773647 ], [ -122.144341000158065, 37.910721000999082 ], [ -122.144463000447004, 37.911011001062995 ], [ -122.144448000074973, 37.91115600060845 ], [ -122.143959000200724, 37.911339000447484 ], [ -122.143577999417587, 37.911240000793235 ], [ -122.143226999626833, 37.910820000770848 ], [ -122.142375999827649, 37.909824000954671 ], [ -122.141670000091693, 37.909882000427864 ], [ -122.141106000023981, 37.90982800087226 ], [ -122.140576000323392, 37.909924000681812 ], [ -122.139701999803549, 37.90983600071938 ], [ -122.13781000052218, 37.90979000036485 ], [ -122.136727000301491, 37.909432000299653 ], [ -122.135200999495126, 37.908318000652926 ], [ -122.13427599966856, 37.907624000363064 ], [ -122.133492000487209, 37.907090000350514 ], [ -122.131309999682557, 37.905793000801751 ], [ -122.130043000008826, 37.905266001013821 ], [ -122.12873100049913, 37.905167000779912 ], [ -122.128075000409211, 37.905060000807083 ], [ -122.127174999685749, 37.904358000504715 ], [ -122.126563000339743, 37.90316000042057 ], [ -122.12624300050723, 37.90187100077511 ], [ -122.126275000003218, 37.901324000548094 ], [ -122.125774999724484, 37.90152400030432 ], [ -122.125709000320953, 37.902176000972879 ], [ -122.125922000453215, 37.90367900105165 ], [ -122.126976000348606, 37.904869000675426 ], [ -122.126975999642085, 37.905524000429665 ], [ -122.125906999505119, 37.905625000866117 ], [ -122.124844999458219, 37.905582000401282 ], [ -122.124817999912139, 37.905807000279545 ], [ -122.124038000461667, 37.906071000649263 ], [ -122.123315999510467, 37.905534000340019 ], [ -122.121604000446055, 37.905632000811003 ], [ -122.120078000229441, 37.905548000240593 ], [ -122.11824700019892, 37.905114001091498 ], [ -122.116766999821579, 37.904938000570652 ], [ -122.115088999654759, 37.904869000496404 ], [ -122.114974999562747, 37.904824000516207 ], [ -122.114706999458491, 37.905236000488607 ], [ -122.11348600004716, 37.905197000981723 ], [ -122.113288000387399, 37.904770000810188 ], [ -122.113180999480903, 37.904518000350976 ], [ -122.112555999653921, 37.904282000749262 ], [ -122.112175000077869, 37.904024000782144 ], [ -122.11209800047132, 37.904190000414694 ], [ -122.111747000482268, 37.904099000553536 ], [ -122.111426999936313, 37.903679000467328 ], [ -122.111391000495772, 37.903600000243408 ], [ -122.111136999539795, 37.90304600081501 ], [ -122.11093800042282, 37.902748000731712 ], [ -122.110875000002864, 37.902624001055912 ], [ -122.110427000012947, 37.902885000356996 ], [ -122.109675000279836, 37.903324001136212 ], [ -122.108573000140908, 37.902344001088501 ], [ -122.106174999658407, 37.898524000704455 ], [ -122.099375000239931, 37.901224000362767 ], [ -122.098674999830024, 37.901524001023709 ], [ -122.098275000094404, 37.902024000490329 ], [ -122.10067499946021, 37.906224000392967 ], [ -122.102225999815289, 37.905770000518274 ], [ -122.103174999901938, 37.906824000531103 ], [ -122.110074999900391, 37.903824000834305 ], [ -122.110984000494597, 37.904778000831236 ], [ -122.112575000419213, 37.905524000334495 ], [ -122.116934999783723, 37.9075240009495 ], [ -122.11687500050131, 37.907824000678154 ], [ -122.115875000250924, 37.911224000661733 ], [ -122.121475000105562, 37.91182400074554 ], [ -122.121374999638462, 37.914324000868206 ], [ -122.121274999943836, 37.916424000662843 ], [ -122.115974999500679, 37.914924001112283 ], [ -122.114974999990594, 37.914524000756806 ], [ -122.114674999419719, 37.914124001024369 ], [ -122.113774999931579, 37.913724000990577 ], [ -122.112918999753376, 37.913922000994148 ], [ -122.112475000448867, 37.914024000915539 ], [ -122.110875000393506, 37.913524000520809 ], [ -122.108975000437241, 37.912624000307261 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1152, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.159877000201988, 37.876625000669364 ], [ -122.159676999938995, 37.877425001080056 ], [ -122.159276999725932, 37.879725001073652 ], [ -122.159176999790674, 37.880425000269966 ], [ -122.158675999907601, 37.881225000361539 ], [ -122.158482000125701, 37.881449000533721 ], [ -122.15737599999261, 37.882725000482345 ], [ -122.159377000302115, 37.883025000931269 ], [ -122.159270000049688, 37.883558000514689 ], [ -122.159177000077719, 37.884025000701399 ], [ -122.158675999686977, 37.884325000496922 ], [ -122.158276000421395, 37.88462500024508 ], [ -122.157775999571513, 37.88512500079954 ], [ -122.157076000212939, 37.885725000330787 ], [ -122.156876000367518, 37.88662500089692 ], [ -122.156675999756189, 37.886825000513724 ], [ -122.155175999946707, 37.888225000399245 ], [ -122.154775999568756, 37.888824001057657 ], [ -122.154076000266173, 37.889724001044229 ], [ -122.15407600038958, 37.890424001036784 ], [ -122.154033000473348, 37.890794001022265 ], [ -122.154320999930405, 37.891678000503234 ], [ -122.154374999993465, 37.892133000630906 ], [ -122.154392000098852, 37.892273000857386 ], [ -122.153878000358432, 37.89218900026065 ], [ -122.153375999840037, 37.892124000740161 ], [ -122.152321999770592, 37.891966001017735 ], [ -122.151376000486451, 37.891824000419717 ], [ -122.150020999939869, 37.891607000965948 ], [ -122.146376000400039, 37.891024000371935 ], [ -122.14397599961859, 37.891124001040943 ], [ -122.1413549994314, 37.891477000649992 ], [ -122.140515000326616, 37.891436000486252 ], [ -122.136179999979518, 37.890840000491053 ], [ -122.135409000427387, 37.890894000252715 ], [ -122.129075999745268, 37.892124000978157 ], [ -122.127276000105468, 37.892524000796264 ], [ -122.126174999858605, 37.892724000324861 ], [ -122.124875000093184, 37.893124000409919 ], [ -122.124132999779292, 37.893281000332429 ], [ -122.121574999844228, 37.893824000839899 ], [ -122.120874999986341, 37.893424000588602 ], [ -122.120574999743951, 37.89272400023826 ], [ -122.120374999422609, 37.891824000648242 ], [ -122.118875000156478, 37.892024000327595 ], [ -122.118675000259046, 37.891624001094705 ], [ -122.118575000480064, 37.890524000423113 ], [ -122.118375000428131, 37.890124000607429 ], [ -122.118174999967152, 37.888524000367141 ], [ -122.118075000212144, 37.888024000281554 ], [ -122.117974999504867, 37.887024001021061 ], [ -122.117974999510722, 37.886824000489021 ], [ -122.118075000468281, 37.885724000889553 ], [ -122.118174999882498, 37.885524000506507 ], [ -122.118374999868379, 37.885024000518655 ], [ -122.118575000229384, 37.884624000898583 ], [ -122.118774999506513, 37.884124001026784 ], [ -122.118875000299909, 37.883824001015213 ], [ -122.118975000468851, 37.883224000350431 ], [ -122.119074999755625, 37.88292500052524 ], [ -122.119775000506479, 37.88202500035861 ], [ -122.120175000012694, 37.881625000514212 ], [ -122.121974999829689, 37.880725000511426 ], [ -122.126075000516465, 37.880625000999238 ], [ -122.126575000366969, 37.880325000396802 ], [ -122.126074999658371, 37.879525000277191 ], [ -122.12447500042822, 37.878725000414079 ], [ -122.123674999638624, 37.877825000900629 ], [ -122.124375000317457, 37.877225001004987 ], [ -122.126974999477454, 37.876425000710682 ], [ -122.127375000212169, 37.875425000544745 ], [ -122.124374999620002, 37.873325000785741 ], [ -122.124275000288023, 37.872825000997082 ], [ -122.123975000349745, 37.871825000548974 ], [ -122.124175000489274, 37.871025000552976 ], [ -122.125075000498867, 37.869925000736679 ], [ -122.125675000467851, 37.868425000671138 ], [ -122.124675000162313, 37.866025000244846 ], [ -122.124575000111889, 37.864525000605852 ], [ -122.124775000478138, 37.863825000540189 ], [ -122.124875000459753, 37.863425001116326 ], [ -122.124674999862904, 37.86222500106912 ], [ -122.124275000516846, 37.860225000564974 ], [ -122.124774999492033, 37.860425000261152 ], [ -122.127088000152213, 37.861177000848478 ], [ -122.12877600017498, 37.861725000270248 ], [ -122.13055499956252, 37.862206000709385 ], [ -122.132475999808889, 37.862725000454653 ], [ -122.133075999908229, 37.863025000903072 ], [ -122.135475999745623, 37.864425000750735 ], [ -122.139375999750143, 37.865225000597299 ], [ -122.140875999452703, 37.865525000642272 ], [ -122.142075999873995, 37.866025001133693 ], [ -122.14307600025964, 37.866625000624154 ], [ -122.146275999456378, 37.868025000415727 ], [ -122.147405000317349, 37.868307000384519 ], [ -122.150275999665894, 37.869025000847266 ], [ -122.151276000227014, 37.869125000461885 ], [ -122.15367599945553, 37.869925000678798 ], [ -122.156075999432559, 37.870125000544299 ], [ -122.157407999466628, 37.87027300108408 ], [ -122.157875999543691, 37.870325000989453 ], [ -122.158776000018904, 37.870325000915329 ], [ -122.159751000086089, 37.870058000584343 ], [ -122.163877000176043, 37.868925000251764 ], [ -122.16267699991981, 37.870225000492212 ], [ -122.161876999938301, 37.871025000858069 ], [ -122.161577000146522, 37.872225000569877 ], [ -122.161276999557714, 37.873325000705258 ], [ -122.160977000253354, 37.874025000416488 ], [ -122.16017700028749, 37.875025000739008 ], [ -122.160077000122826, 37.875425000480533 ], [ -122.160077000142323, 37.875725000415464 ], [ -122.159877000201988, 37.876625000669364 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1151, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.091073999869067, 37.854925001076566 ], [ -122.092874000115856, 37.855025000830061 ], [ -122.100374999963122, 37.855225000257519 ], [ -122.103874999914396, 37.85532500107395 ], [ -122.104274999480424, 37.855425000373799 ], [ -122.104675000195229, 37.855425000782319 ], [ -122.107775000312628, 37.855525000678156 ], [ -122.124875000459753, 37.863425001116326 ], [ -122.124775000478138, 37.863825000540189 ], [ -122.124575000111889, 37.864525000605852 ], [ -122.124675000162313, 37.866025000244846 ], [ -122.125675000467851, 37.868425000671138 ], [ -122.125075000498867, 37.869925000736679 ], [ -122.124175000489274, 37.871025000552976 ], [ -122.123975000349745, 37.871825000548974 ], [ -122.124275000288023, 37.872825000997082 ], [ -122.124374999620002, 37.873325000785741 ], [ -122.127375000212169, 37.875425000544745 ], [ -122.126974999477454, 37.876425000710682 ], [ -122.124375000317457, 37.877225001004987 ], [ -122.123674999638624, 37.877825000900629 ], [ -122.12447500042822, 37.878725000414079 ], [ -122.126074999658371, 37.879525000277191 ], [ -122.126575000366969, 37.880325000396802 ], [ -122.126075000516465, 37.880625000999238 ], [ -122.121974999829689, 37.880725000511426 ], [ -122.120175000012694, 37.881625000514212 ], [ -122.119775000506479, 37.88202500035861 ], [ -122.119074999755625, 37.88292500052524 ], [ -122.118975000468851, 37.883224000350431 ], [ -122.118875000299909, 37.883824001015213 ], [ -122.118774999506513, 37.884124001026784 ], [ -122.118575000229384, 37.884624000898583 ], [ -122.118374999868379, 37.885024000518655 ], [ -122.118174999882498, 37.885524000506507 ], [ -122.118075000468281, 37.885724000889553 ], [ -122.116674999724282, 37.885424000499327 ], [ -122.116275000151333, 37.885324000584347 ], [ -122.115675000389871, 37.885124000505108 ], [ -122.114174999845488, 37.884524001097731 ], [ -122.111974999866192, 37.884024000729951 ], [ -122.111274999844341, 37.883724000945712 ], [ -122.110670999512294, 37.88356300043688 ], [ -122.109774999588197, 37.883324000261595 ], [ -122.108675000336845, 37.882924000522429 ], [ -122.108274999742136, 37.882924000345099 ], [ -122.107074999675888, 37.882524000532442 ], [ -122.105674999796435, 37.881924000905485 ], [ -122.104775000375923, 37.881524000585543 ], [ -122.102775000412905, 37.880625000581404 ], [ -122.101414999484916, 37.879945000740896 ], [ -122.100974999394452, 37.879725000408804 ], [ -122.100175000260393, 37.879625000804822 ], [ -122.09917499963376, 37.879625001077351 ], [ -122.098875000308169, 37.879525000781705 ], [ -122.097574999528817, 37.879325001026395 ], [ -122.095273999881513, 37.878425001032674 ], [ -122.095073999534037, 37.87812500107033 ], [ -122.094808999523423, 37.876323000310101 ], [ -122.09457400018178, 37.874725000803224 ], [ -122.093897999424655, 37.873590000362242 ], [ -122.093467000040917, 37.872867000990937 ], [ -122.092615999748972, 37.871438001010816 ], [ -122.09177400034099, 37.870025000608095 ], [ -122.09047400030056, 37.870225001105574 ], [ -122.089074000156558, 37.869425000401336 ], [ -122.086973999848212, 37.867725001061245 ], [ -122.086490999562059, 37.86758700031973 ], [ -122.086389999878875, 37.867558001072155 ], [ -122.086290000447747, 37.867556001089056 ], [ -122.083273999947181, 37.864125000747123 ], [ -122.080173999544911, 37.860125000574335 ], [ -122.079373999609288, 37.858025000781055 ], [ -122.079338999815604, 37.857903000756615 ], [ -122.078774000340474, 37.855925000798678 ], [ -122.0804739999638, 37.855725000558081 ], [ -122.082173999884333, 37.85562500104308 ], [ -122.084874000032286, 37.855525000462734 ], [ -122.085373999526624, 37.855425000800146 ], [ -122.088074000187532, 37.854925001009541 ], [ -122.091073999869067, 37.854925001076566 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1160, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.114574999812788, 37.842826001135052 ], [ -122.11397499966894, 37.837926000448924 ], [ -122.109474999737671, 37.83792600100557 ], [ -122.108375000359587, 37.839426000381678 ], [ -122.105474999562674, 37.843226000453328 ], [ -122.105075000418154, 37.843426000407895 ], [ -122.098474999705516, 37.838826000832462 ], [ -122.097774999686493, 37.838126001012292 ], [ -122.096874000425018, 37.836626001034652 ], [ -122.095973999425084, 37.836226001023917 ], [ -122.093573999783956, 37.834926000251691 ], [ -122.090873999850018, 37.834426000645124 ], [ -122.08747400027768, 37.831226000537505 ], [ -122.080873999711315, 37.830926000511425 ], [ -122.074774000145069, 37.830026000715165 ], [ -122.066472999423951, 37.828026000425396 ], [ -122.065072999888812, 37.827126000355165 ], [ -122.063421000331289, 37.82604500069052 ], [ -122.063666999486415, 37.818597000961908 ], [ -122.063749999896757, 37.816081000878313 ], [ -122.064272999784507, 37.815326000998361 ], [ -122.066972999959731, 37.816726000453762 ], [ -122.067172999946777, 37.815726000934006 ], [ -122.071473999919633, 37.817726000682434 ], [ -122.070373999860095, 37.814826000382403 ], [ -122.072273999526658, 37.815026000865672 ], [ -122.074074000085133, 37.813426000925908 ], [ -122.072773999434943, 37.811226000441486 ], [ -122.069373999747725, 37.807726000778501 ], [ -122.070073999763011, 37.806526000687519 ], [ -122.067872999818093, 37.806726001021268 ], [ -122.065773000051436, 37.803826000707609 ], [ -122.064215000377359, 37.802034001002539 ], [ -122.06177300002021, 37.799227000499457 ], [ -122.06430199994449, 37.799396000364112 ], [ -122.0722740005166, 37.799927000976254 ], [ -122.082473999616496, 37.800527000883839 ], [ -122.09217399987773, 37.80112700056354 ], [ -122.103275000219782, 37.801927000993864 ], [ -122.106675000063575, 37.802227000392406 ], [ -122.113774999842676, 37.80272700091934 ], [ -122.132976000443946, 37.804027001137925 ], [ -122.133975999464141, 37.804127001090784 ], [ -122.135076000416532, 37.80422700041327 ], [ -122.138375999521159, 37.804327000837482 ], [ -122.140175999932566, 37.807527000760622 ], [ -122.142176000463436, 37.810627000903679 ], [ -122.142676000283529, 37.811627000535125 ], [ -122.145376000217851, 37.816926001069902 ], [ -122.146875999628477, 37.818726001058323 ], [ -122.143976000316158, 37.822526001016804 ], [ -122.140576000374082, 37.823726000844076 ], [ -122.135575999555456, 37.822126001035841 ], [ -122.134975999930759, 37.822326000766893 ], [ -122.133375999785713, 37.82292600036125 ], [ -122.132575999842189, 37.823126000427791 ], [ -122.132476000311271, 37.823826000722427 ], [ -122.132475999531167, 37.826026000729058 ], [ -122.132175999895665, 37.8269260006848 ], [ -122.131676000460743, 37.827726000749543 ], [ -122.131589000296287, 37.828004000464318 ], [ -122.131175999692559, 37.829326000956918 ], [ -122.130675999907695, 37.830326000710372 ], [ -122.130511999847329, 37.830927000511096 ], [ -122.130375999888571, 37.831426000491014 ], [ -122.128775999914723, 37.833526000519264 ], [ -122.127874999814026, 37.834226000271336 ], [ -122.125775000316011, 37.837626000761155 ], [ -122.126375000099955, 37.838726000360317 ], [ -122.122875000177501, 37.841226000632574 ], [ -122.122374999640428, 37.841626001005508 ], [ -122.121370000187198, 37.841858000619339 ], [ -122.12064400017502, 37.842025000604195 ], [ -122.118475000136655, 37.842526000387373 ], [ -122.117174999641634, 37.842626000586719 ], [ -122.114574999812788, 37.842826001135052 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1158, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.148776000207889, 37.844926000862266 ], [ -122.149575999885641, 37.845326000348926 ], [ -122.150475999847259, 37.845726000259617 ], [ -122.15197599980732, 37.847126000264304 ], [ -122.153076000475878, 37.848526000692594 ], [ -122.152675999921158, 37.851325000874553 ], [ -122.152075999660184, 37.852325000692545 ], [ -122.151876000405451, 37.852925000618114 ], [ -122.152776000172864, 37.854825000804354 ], [ -122.153117999432894, 37.855082000967649 ], [ -122.155575999785142, 37.856925000681365 ], [ -122.155500999742429, 37.857130000511241 ], [ -122.155231999683181, 37.857871000320422 ], [ -122.155175999996743, 37.858025000779641 ], [ -122.154076000153424, 37.859625000311809 ], [ -122.153875999657458, 37.861225000534425 ], [ -122.153575999898678, 37.861925000717896 ], [ -122.153676000095871, 37.864225000688229 ], [ -122.154575999602869, 37.866225001031786 ], [ -122.156075999609087, 37.86742500056517 ], [ -122.15577600028864, 37.867925000354631 ], [ -122.155676000090665, 37.86862500057368 ], [ -122.156776000057008, 37.869525000244586 ], [ -122.156075999432559, 37.870125000544299 ], [ -122.15367599945553, 37.869925000678798 ], [ -122.151276000227014, 37.869125000461885 ], [ -122.150275999665894, 37.869025000847266 ], [ -122.147405000317349, 37.868307000384519 ], [ -122.146275999456378, 37.868025000415727 ], [ -122.14307600025964, 37.866625000624154 ], [ -122.142075999873995, 37.866025001133693 ], [ -122.140875999452703, 37.865525000642272 ], [ -122.139375999750143, 37.865225000597299 ], [ -122.135475999745623, 37.864425000750735 ], [ -122.133075999908229, 37.863025000903072 ], [ -122.132475999808889, 37.862725000454653 ], [ -122.13055499956252, 37.862206000709385 ], [ -122.12877600017498, 37.861725000270248 ], [ -122.127088000152213, 37.861177000848478 ], [ -122.124774999492033, 37.860425000261152 ], [ -122.124275000516846, 37.860225000564974 ], [ -122.123875000310051, 37.859425001098742 ], [ -122.124475000188383, 37.857025001095153 ], [ -122.124774999777785, 37.855525000625121 ], [ -122.124875000306687, 37.854825000321391 ], [ -122.125175000170998, 37.853325000905329 ], [ -122.125247999699596, 37.852559000969293 ], [ -122.125375000282858, 37.851225001096942 ], [ -122.125574999944149, 37.84962500080578 ], [ -122.125674999859939, 37.849125000949769 ], [ -122.125951999883341, 37.84759900077642 ], [ -122.126074999538702, 37.846926000458808 ], [ -122.126774999736426, 37.845426000998224 ], [ -122.127074000079404, 37.843694000520031 ], [ -122.127274999436864, 37.842526000671484 ], [ -122.126533000251669, 37.839394000622931 ], [ -122.126375000099955, 37.838726000360317 ], [ -122.125775000316011, 37.837626000761155 ], [ -122.127874999814026, 37.834226000271336 ], [ -122.129875999791409, 37.835226001020771 ], [ -122.130575999977253, 37.835626000529864 ], [ -122.135076000313731, 37.837526000497945 ], [ -122.138979999594184, 37.839619000309455 ], [ -122.139154999557505, 37.839713000718469 ], [ -122.141975999892509, 37.841226000893428 ], [ -122.142575999638936, 37.841626000935129 ], [ -122.143290999968627, 37.842016001117806 ], [ -122.143676000473533, 37.842226000533884 ], [ -122.146675999504055, 37.843826000717954 ], [ -122.148776000207889, 37.844926000862266 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1157, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.187077000084116, 37.829526000255932 ], [ -122.186576999669796, 37.830426000881921 ], [ -122.185976999602431, 37.831226000869805 ], [ -122.1856770003252, 37.83182600064945 ], [ -122.184376999908267, 37.833426000858829 ], [ -122.184177000072225, 37.833926001100785 ], [ -122.184576999891576, 37.835426000357323 ], [ -122.184677000432714, 37.835826000415594 ], [ -122.185276999786126, 37.83702600098372 ], [ -122.186877000113299, 37.837326000838154 ], [ -122.188876999832928, 37.837626001091103 ], [ -122.188076999801908, 37.838026000424364 ], [ -122.184077000280595, 37.84012600030978 ], [ -122.183476999917147, 37.840526000676284 ], [ -122.174577000234592, 37.845526000414651 ], [ -122.172536000203394, 37.844858001048344 ], [ -122.169076999783826, 37.843726001086772 ], [ -122.166677000479396, 37.844226000316496 ], [ -122.166377000096261, 37.844326000345433 ], [ -122.164664999905256, 37.845232000804579 ], [ -122.162977000388764, 37.846126000857772 ], [ -122.162276999992429, 37.846126000931918 ], [ -122.160176999700468, 37.845826000910165 ], [ -122.157276000384797, 37.846326000971608 ], [ -122.156476000071081, 37.845626000890192 ], [ -122.155776000467483, 37.84532600063978 ], [ -122.155376000485802, 37.846226000578888 ], [ -122.154976000174614, 37.846526000934269 ], [ -122.154676000491733, 37.846726000562434 ], [ -122.153076000475878, 37.848526000692594 ], [ -122.15197599980732, 37.847126000264304 ], [ -122.150475999847259, 37.845726000259617 ], [ -122.149575999885641, 37.845326000348926 ], [ -122.148776000207889, 37.844926000862266 ], [ -122.146675999504055, 37.843826000717954 ], [ -122.143676000473533, 37.842226000533884 ], [ -122.143290999968627, 37.842016001117806 ], [ -122.142575999638936, 37.841626000935129 ], [ -122.141975999892509, 37.841226000893428 ], [ -122.139154999557505, 37.839713000718469 ], [ -122.138979999594184, 37.839619000309455 ], [ -122.135076000313731, 37.837526000497945 ], [ -122.130575999977253, 37.835626000529864 ], [ -122.129875999791409, 37.835226001020771 ], [ -122.127874999814026, 37.834226000271336 ], [ -122.128775999914723, 37.833526000519264 ], [ -122.130375999888571, 37.831426000491014 ], [ -122.130511999847329, 37.830927000511096 ], [ -122.130675999907695, 37.830326000710372 ], [ -122.131175999692559, 37.829326000956918 ], [ -122.131589000296287, 37.828004000464318 ], [ -122.131676000460743, 37.827726000749543 ], [ -122.132175999895665, 37.8269260006848 ], [ -122.132475999531167, 37.826026000729058 ], [ -122.132476000311271, 37.823826000722427 ], [ -122.132575999842189, 37.823126000427791 ], [ -122.133375999785713, 37.82292600036125 ], [ -122.134975999930759, 37.822326000766893 ], [ -122.135575999555456, 37.822126001035841 ], [ -122.140576000374082, 37.823726000844076 ], [ -122.143976000316158, 37.822526001016804 ], [ -122.146875999628477, 37.818726001058323 ], [ -122.145376000217851, 37.816926001069902 ], [ -122.142676000283529, 37.811627000535125 ], [ -122.142176000463436, 37.810627000903679 ], [ -122.140175999932566, 37.807527000760622 ], [ -122.138375999521159, 37.804327000837482 ], [ -122.140775999405747, 37.804627001035136 ], [ -122.144375999790398, 37.807727000890893 ], [ -122.145976000304316, 37.810727000468134 ], [ -122.146775999584193, 37.811627000476633 ], [ -122.148776000391564, 37.813726000861699 ], [ -122.154876000190384, 37.816326001012307 ], [ -122.157676000441086, 37.817826000918224 ], [ -122.166677000287464, 37.813627000945637 ], [ -122.166876999817262, 37.813427000660155 ], [ -122.17277699977204, 37.815827000674354 ], [ -122.176976999942454, 37.816227000549887 ], [ -122.181476999963181, 37.819526000565894 ], [ -122.185977000015853, 37.820726001082328 ], [ -122.186676999980762, 37.823526000976486 ], [ -122.186376999765187, 37.824226000267451 ], [ -122.185876999971086, 37.825526000355694 ], [ -122.186477000043681, 37.826626000729526 ], [ -122.187076999484802, 37.827326001036049 ], [ -122.187177000018764, 37.828726001090928 ], [ -122.187077000084116, 37.829526000255932 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1156, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.156075999609087, 37.86742500056517 ], [ -122.154575999602869, 37.866225001031786 ], [ -122.153676000095871, 37.864225000688229 ], [ -122.153575999898678, 37.861925000717896 ], [ -122.153875999657458, 37.861225000534425 ], [ -122.154076000153424, 37.859625000311809 ], [ -122.155175999996743, 37.858025000779641 ], [ -122.155231999683181, 37.857871000320422 ], [ -122.155500999742429, 37.857130000511241 ], [ -122.155575999785142, 37.856925000681365 ], [ -122.153117999432894, 37.855082000967649 ], [ -122.152776000172864, 37.854825000804354 ], [ -122.151876000405451, 37.852925000618114 ], [ -122.152075999660184, 37.852325000692545 ], [ -122.152675999921158, 37.851325000874553 ], [ -122.153076000475878, 37.848526000692594 ], [ -122.154676000491733, 37.846726000562434 ], [ -122.154976000174614, 37.846526000934269 ], [ -122.155376000485802, 37.846226000578888 ], [ -122.155776000467483, 37.84532600063978 ], [ -122.156476000071081, 37.845626000890192 ], [ -122.157276000384797, 37.846326000971608 ], [ -122.160176999700468, 37.845826000910165 ], [ -122.162276999992429, 37.846126000931918 ], [ -122.162977000388764, 37.846126000857772 ], [ -122.164664999905256, 37.845232000804579 ], [ -122.166377000096261, 37.844326000345433 ], [ -122.166677000479396, 37.844226000316496 ], [ -122.169076999783826, 37.843726001086772 ], [ -122.172536000203394, 37.844858001048344 ], [ -122.174577000234592, 37.845526000414651 ], [ -122.183476999917147, 37.840526000676284 ], [ -122.184077000280595, 37.84012600030978 ], [ -122.188076999801908, 37.838026000424364 ], [ -122.188876999832928, 37.837626001091103 ], [ -122.188925000097228, 37.837650000526899 ], [ -122.189678000329437, 37.838026001100253 ], [ -122.19157799953021, 37.839626000798127 ], [ -122.19177799941103, 37.839826000362052 ], [ -122.193922999976365, 37.840758000467616 ], [ -122.19391699942561, 37.84083400051319 ], [ -122.193917000117168, 37.840963000661425 ], [ -122.193947000010226, 37.841028000800243 ], [ -122.194027999746268, 37.841126001098189 ], [ -122.194109000083984, 37.841159001057413 ], [ -122.194318000000408, 37.841229000542178 ], [ -122.194362000084837, 37.841313000959715 ], [ -122.194422999489277, 37.841442001094549 ], [ -122.194514000424505, 37.841570000480438 ], [ -122.194636000523047, 37.84173100080568 ], [ -122.194848000520665, 37.841826000982181 ], [ -122.195092000399143, 37.841890000549292 ], [ -122.195243000229993, 37.842009000864316 ], [ -122.195406000439789, 37.842172001136781 ], [ -122.195778000108149, 37.842326000734261 ], [ -122.195278000429695, 37.842826000769371 ], [ -122.195277999519618, 37.843626000954977 ], [ -122.19677799952764, 37.84482600107134 ], [ -122.197277999421075, 37.845126000346951 ], [ -122.198878000174219, 37.846326000994964 ], [ -122.200277999892336, 37.847226000464296 ], [ -122.201378000257606, 37.848226000502542 ], [ -122.203210000045573, 37.85051600047732 ], [ -122.203777999818413, 37.851226000606466 ], [ -122.206278000182706, 37.851626000509022 ], [ -122.20877799948623, 37.852026000587237 ], [ -122.210978000341086, 37.854526000356699 ], [ -122.210810000082091, 37.854946000898579 ], [ -122.210777999764105, 37.855026000410575 ], [ -122.211578000173802, 37.856026001024155 ], [ -122.21194600015302, 37.856394001062341 ], [ -122.212277999442932, 37.856726000393515 ], [ -122.213177999951967, 37.857626001038938 ], [ -122.212978000358788, 37.857726001008508 ], [ -122.209577999521557, 37.861225000357507 ], [ -122.209378000270391, 37.861025000630299 ], [ -122.208812999894604, 37.863874000958027 ], [ -122.207977999493991, 37.865725000579978 ], [ -122.203878000162177, 37.867225000467052 ], [ -122.203431000202599, 37.867225000845252 ], [ -122.199578000250185, 37.86722500038087 ], [ -122.198178000508022, 37.867325000544398 ], [ -122.196078000143402, 37.868225000856242 ], [ -122.194778000094772, 37.868925000685444 ], [ -122.192778000120967, 37.87042500063955 ], [ -122.1920190000547, 37.871036000851255 ], [ -122.189575999580896, 37.873000000762204 ], [ -122.18817699958538, 37.874125001131979 ], [ -122.187798999945358, 37.874456000732373 ], [ -122.187376999438285, 37.874825000959106 ], [ -122.185777000210734, 37.876125000551369 ], [ -122.184088999450822, 37.878237000832286 ], [ -122.183818000220825, 37.878576000361186 ], [ -122.183077000020674, 37.879425001095697 ], [ -122.182777000107606, 37.879325000505432 ], [ -122.182377000506293, 37.87912500099867 ], [ -122.182072999820065, 37.878929001022094 ], [ -122.180976999897737, 37.878225000766719 ], [ -122.17997699962919, 37.877625000492522 ], [ -122.179877000485433, 37.876625000418926 ], [ -122.17865899965841, 37.874046000421238 ], [ -122.178176999463048, 37.873025000575893 ], [ -122.177577000411233, 37.871825000860099 ], [ -122.177476999492896, 37.871025000687261 ], [ -122.177376999529756, 37.870525000861143 ], [ -122.176877000051348, 37.86892500084786 ], [ -122.175677000164697, 37.866625000552879 ], [ -122.174676999702385, 37.865625000645196 ], [ -122.174277000106841, 37.865425000636158 ], [ -122.173877000422777, 37.865125000534036 ], [ -122.172877000235047, 37.864525001001248 ], [ -122.172677000459487, 37.86442500036808 ], [ -122.171577000408874, 37.864025001099023 ], [ -122.170576999619556, 37.863425000996045 ], [ -122.169633999937616, 37.862845001040739 ], [ -122.16927699982547, 37.86262500025083 ], [ -122.168776999566333, 37.862725000473397 ], [ -122.168177000167063, 37.863225000882593 ], [ -122.167876999504486, 37.864025000539201 ], [ -122.166826999847316, 37.865383000449803 ], [ -122.166177000427908, 37.866225001051731 ], [ -122.165377000159211, 37.86712500043312 ], [ -122.164477000381495, 37.868425000962333 ], [ -122.163877000176043, 37.868925000251764 ], [ -122.159751000086089, 37.870058000584343 ], [ -122.158776000018904, 37.870325000915329 ], [ -122.157875999543691, 37.870325000989453 ], [ -122.157407999466628, 37.87027300108408 ], [ -122.156075999432559, 37.870125000544299 ], [ -122.156776000057008, 37.869525000244586 ], [ -122.155676000090665, 37.86862500057368 ], [ -122.15577600028864, 37.867925000354631 ], [ -122.156075999609087, 37.86742500056517 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1155, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.247278999552947, 37.885725000520509 ], [ -122.24797900036755, 37.886125000312148 ], [ -122.248679000187906, 37.886625001074336 ], [ -122.248878999906267, 37.886925000349166 ], [ -122.248979000430154, 37.887325000959152 ], [ -122.249179000033578, 37.888025000340711 ], [ -122.249479000145499, 37.889225000893241 ], [ -122.249778999718941, 37.889625000367488 ], [ -122.249578999391545, 37.889925000795699 ], [ -122.248678999502943, 37.890825000721833 ], [ -122.248978999941713, 37.891225000340178 ], [ -122.244979000039251, 37.892625001024015 ], [ -122.244178999603363, 37.892125000809401 ], [ -122.242978999833269, 37.89212500088469 ], [ -122.241879000305715, 37.892425000702914 ], [ -122.243778999888008, 37.89602500089601 ], [ -122.245679000199914, 37.896725001092555 ], [ -122.247779000490794, 37.89912500077601 ], [ -122.249179000287796, 37.899425000994597 ], [ -122.24967900003611, 37.900325000749987 ], [ -122.247578999895424, 37.902025000897169 ], [ -122.24457899953228, 37.904224000508464 ], [ -122.242479000456868, 37.904324000399505 ], [ -122.23847899999501, 37.900825000391627 ], [ -122.235378999532458, 37.899325001026369 ], [ -122.229779000085216, 37.898225000314135 ], [ -122.227078999809478, 37.899724000271135 ], [ -122.222578000181869, 37.898125000251284 ], [ -122.222278000299056, 37.899324000469925 ], [ -122.219678000208731, 37.899024000596775 ], [ -122.218977999405581, 37.897525000434094 ], [ -122.216978000052634, 37.899724000606987 ], [ -122.215478000372926, 37.900224000385812 ], [ -122.214977999693744, 37.899724000354475 ], [ -122.21045199944912, 37.89924300093459 ], [ -122.210277999711323, 37.899224000806086 ], [ -122.209178000442179, 37.898424000628133 ], [ -122.208540000181713, 37.897786000371596 ], [ -122.20672500043402, 37.895972000896471 ], [ -122.205977999841053, 37.895225000531148 ], [ -122.205377999765986, 37.894325000665155 ], [ -122.204477999631052, 37.893325000865914 ], [ -122.203478000051945, 37.892425000928007 ], [ -122.202977999683526, 37.892025000597656 ], [ -122.201178000331907, 37.891825000875983 ], [ -122.200577999885098, 37.891225000655034 ], [ -122.199477999701571, 37.890425000761489 ], [ -122.197177999591148, 37.889925000539044 ], [ -122.195450999473763, 37.889151000782213 ], [ -122.194278000301466, 37.888625001078822 ], [ -122.193278000197054, 37.886125000892612 ], [ -122.192972999817243, 37.88499600072538 ], [ -122.192927000307023, 37.884836001005894 ], [ -122.192878000228333, 37.884425000611451 ], [ -122.192778000217345, 37.884125000692471 ], [ -122.191877999494096, 37.883225000940193 ], [ -122.186777000504293, 37.880225000883158 ], [ -122.18587099997977, 37.879723000878009 ], [ -122.185527999652976, 37.879533000407662 ], [ -122.184561999759225, 37.878957000549129 ], [ -122.184334000342218, 37.87885400113089 ], [ -122.184077000410369, 37.878725000967599 ], [ -122.183818000220825, 37.878576000361186 ], [ -122.184088999450822, 37.878237000832286 ], [ -122.185777000210734, 37.876125000551369 ], [ -122.187376999438285, 37.874825000959106 ], [ -122.187798999945358, 37.874456000732373 ], [ -122.18817699958538, 37.874125001131979 ], [ -122.189575999580896, 37.873000000762204 ], [ -122.1920190000547, 37.871036000851255 ], [ -122.192778000120967, 37.87042500063955 ], [ -122.194778000094772, 37.868925000685444 ], [ -122.196078000143402, 37.868225000856242 ], [ -122.198178000508022, 37.867325000544398 ], [ -122.199578000250185, 37.86722500038087 ], [ -122.203431000202599, 37.867225000845252 ], [ -122.203878000162177, 37.867225000467052 ], [ -122.207977999493991, 37.865725000579978 ], [ -122.208812999894604, 37.863874000958027 ], [ -122.209378000270391, 37.861025000630299 ], [ -122.209577999521557, 37.861225000357507 ], [ -122.212978000358788, 37.857726001008508 ], [ -122.213177999951967, 37.857626001038938 ], [ -122.213577999455197, 37.857926001001793 ], [ -122.213778000094607, 37.858026000929385 ], [ -122.220378000463953, 37.864425000275617 ], [ -122.221479000171755, 37.865025000932256 ], [ -122.219177999452953, 37.867225000262124 ], [ -122.217778000394674, 37.867925000309789 ], [ -122.217077999921457, 37.868425000992225 ], [ -122.216278000311846, 37.868825000725785 ], [ -122.217377999571639, 37.871725000540778 ], [ -122.221377999929601, 37.875325000997734 ], [ -122.223878999705988, 37.878325000787697 ], [ -122.22577899967493, 37.879225001036851 ], [ -122.230979000005789, 37.881325000294886 ], [ -122.234379000287049, 37.882225000335296 ], [ -122.235679000037365, 37.882525000287586 ], [ -122.236778999672552, 37.88282500078202 ], [ -122.238679000310924, 37.883325000804376 ], [ -122.239878999842205, 37.882925000861611 ], [ -122.241379000215218, 37.88212500079532 ], [ -122.24197900051621, 37.881925000658072 ], [ -122.244079000502126, 37.883225000692391 ], [ -122.245478999766689, 37.884325000956032 ], [ -122.245979000330308, 37.884725000471398 ], [ -122.247278999552947, 37.885725000520509 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1154, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.162107999955239, 37.910432000585104 ], [ -122.161877000314092, 37.910124000800721 ], [ -122.161276999448589, 37.909824000241812 ], [ -122.160277000515649, 37.909124000619059 ], [ -122.159877000420607, 37.910124001014452 ], [ -122.159477000244038, 37.910124001122355 ], [ -122.159175999950932, 37.909824000600771 ], [ -122.159376999787938, 37.909024000320024 ], [ -122.15767599997146, 37.908024000493405 ], [ -122.156375999424711, 37.907824000912797 ], [ -122.153276000483359, 37.906724000439809 ], [ -122.153275999935715, 37.904524000866992 ], [ -122.154476000147525, 37.905224000775057 ], [ -122.155475999581398, 37.905324000686342 ], [ -122.156176000519935, 37.905124000920871 ], [ -122.15797599975987, 37.905424000647265 ], [ -122.159277000438607, 37.904424000315657 ], [ -122.159977000389162, 37.904324001046696 ], [ -122.159776999743713, 37.903224000480805 ], [ -122.15897599963796, 37.902824000717729 ], [ -122.15917700048783, 37.902024000674629 ], [ -122.158276000190696, 37.901424000366923 ], [ -122.158975999649655, 37.900124000529864 ], [ -122.157975999456013, 37.89932400088869 ], [ -122.157675999869227, 37.89712400099684 ], [ -122.158775999533916, 37.897724000846239 ], [ -122.159075999507181, 37.897324000788807 ], [ -122.157875999503204, 37.89632400065193 ], [ -122.157276000404366, 37.896124000265161 ], [ -122.156576000068554, 37.896124000258688 ], [ -122.15437599970177, 37.896124000432103 ], [ -122.152275999865878, 37.895724000611395 ], [ -122.15137599980352, 37.895524001117053 ], [ -122.151775999953671, 37.894224000579378 ], [ -122.151775999885231, 37.893979000647064 ], [ -122.151775999738561, 37.893824000904715 ], [ -122.151875999705396, 37.893324000828073 ], [ -122.151975999747805, 37.892924000557663 ], [ -122.152448999828295, 37.892680000908598 ], [ -122.152591999913412, 37.892612000393171 ], [ -122.153541000292762, 37.892742000550506 ], [ -122.153854999416183, 37.892783000665332 ], [ -122.154588000524015, 37.892879000538741 ], [ -122.154576000452749, 37.892724001075827 ], [ -122.154476000306815, 37.892524000297513 ], [ -122.154392000098852, 37.892273000857386 ], [ -122.154775999900963, 37.892324000883491 ], [ -122.158675999589263, 37.892724001000559 ], [ -122.159257000365017, 37.892782000310973 ], [ -122.16048100052484, 37.8928420005427 ], [ -122.162282999778157, 37.892917000442417 ], [ -122.163990000335446, 37.892939000258295 ], [ -122.165290000072503, 37.892946000930145 ], [ -122.165698000507589, 37.892894000872815 ], [ -122.166086999601674, 37.892782000678721 ], [ -122.166276999919035, 37.892724000728521 ], [ -122.168588000123933, 37.892397000299148 ], [ -122.168956999527552, 37.892344000516481 ], [ -122.169392999449414, 37.892271000635581 ], [ -122.169679000179443, 37.892218000513893 ], [ -122.170055999658516, 37.892132000952714 ], [ -122.1702989995877, 37.892072000487801 ], [ -122.170550999932502, 37.891999000644454 ], [ -122.170776999876438, 37.891924001011283 ], [ -122.171086999645183, 37.891807000559261 ], [ -122.171472999905887, 37.891642001053555 ], [ -122.171791999817785, 37.891503000464844 ], [ -122.172034999647451, 37.891377000821215 ], [ -122.17236200005479, 37.891172000787741 ], [ -122.172689000331516, 37.890920000601547 ], [ -122.172906999885882, 37.890741000993401 ], [ -122.173077000357409, 37.890625000583334 ], [ -122.176877000389297, 37.887725000522373 ], [ -122.17807700030059, 37.886125000319431 ], [ -122.179476999642233, 37.884425000420585 ], [ -122.17959099970814, 37.884279000917481 ], [ -122.181647000448436, 37.881303000896615 ], [ -122.181977000209756, 37.880825000366791 ], [ -122.183077000020674, 37.879425001095697 ], [ -122.183818000220825, 37.878576000361186 ], [ -122.184077000410369, 37.878725000967599 ], [ -122.184334000342218, 37.87885400113089 ], [ -122.184561999759225, 37.878957000549129 ], [ -122.185527999652976, 37.879533000407662 ], [ -122.18587099997977, 37.879723000878009 ], [ -122.186777000504293, 37.880225000883158 ], [ -122.191877999494096, 37.883225000940193 ], [ -122.192778000217345, 37.884125000692471 ], [ -122.192878000228333, 37.884425000611451 ], [ -122.192927000307023, 37.884836001005894 ], [ -122.192972999817243, 37.88499600072538 ], [ -122.193278000197054, 37.886125000892612 ], [ -122.194278000301466, 37.888625001078822 ], [ -122.195450999473763, 37.889151000782213 ], [ -122.197177999591148, 37.889925000539044 ], [ -122.199477999701571, 37.890425000761489 ], [ -122.200577999885098, 37.891225000655034 ], [ -122.201178000331907, 37.891825000875983 ], [ -122.202977999683526, 37.892025000597656 ], [ -122.203478000051945, 37.892425000928007 ], [ -122.204477999631052, 37.893325000865914 ], [ -122.205377999765986, 37.894325000665155 ], [ -122.205977999841053, 37.895225000531148 ], [ -122.20672500043402, 37.895972000896471 ], [ -122.208540000181713, 37.897786000371596 ], [ -122.209178000442179, 37.898424000628133 ], [ -122.210277999711323, 37.899224000806086 ], [ -122.209877999912294, 37.900324000560687 ], [ -122.206778000048175, 37.901424000629092 ], [ -122.207877999803102, 37.903324000809178 ], [ -122.209405000263629, 37.906100000978292 ], [ -122.210077999728867, 37.907324000926458 ], [ -122.208978000345695, 37.90882400046123 ], [ -122.208926000122986, 37.908820000756904 ], [ -122.203850000274329, 37.908430000581475 ], [ -122.203778000225682, 37.908424000360228 ], [ -122.198777999556839, 37.918024000587984 ], [ -122.19747799977452, 37.919024001046139 ], [ -122.196077999765322, 37.921224001022679 ], [ -122.194278000391137, 37.921424000709059 ], [ -122.193178000044512, 37.921124000576619 ], [ -122.187376999918826, 37.920124000758612 ], [ -122.184676999718661, 37.919624000559558 ], [ -122.178576999910263, 37.919324000830301 ], [ -122.168576999573048, 37.9221240010949 ], [ -122.166677000011575, 37.922924000707539 ], [ -122.165977000313475, 37.9223240005741 ], [ -122.165777000411694, 37.922024001134609 ], [ -122.165376999558205, 37.921724000743239 ], [ -122.162377000436194, 37.92042400029581 ], [ -122.161871999663049, 37.919793000449914 ], [ -122.160776999749572, 37.91842400113002 ], [ -122.158376000384649, 37.91802400031888 ], [ -122.158375999461143, 37.917524000686932 ], [ -122.160176999717052, 37.917624000822634 ], [ -122.159576999926884, 37.91632400035175 ], [ -122.15847599981042, 37.915224000646084 ], [ -122.161276999572351, 37.914624000886796 ], [ -122.161877999481376, 37.914624000579551 ], [ -122.162513000031979, 37.914624000326974 ], [ -122.162877000172017, 37.914624000720714 ], [ -122.162476999415375, 37.91282400084193 ], [ -122.163176999913162, 37.911724000578218 ], [ -122.162477000392968, 37.910924000451701 ], [ -122.162107999955239, 37.910432000585104 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1176, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.866267999415371, 37.885624000564341 ], [ -121.866468000418138, 37.885924000802568 ], [ -121.866547000365344, 37.886742000413975 ], [ -121.866767999520619, 37.887624000379184 ], [ -121.86705000045697, 37.888039000726451 ], [ -121.867308999803086, 37.88830600068254 ], [ -121.867859000021312, 37.888672000255866 ], [ -121.868368000297792, 37.888824000960689 ], [ -121.868868000028755, 37.888924001104506 ], [ -121.869263000199879, 37.889069000899184 ], [ -121.869582999416139, 37.889374000517215 ], [ -121.869667999956604, 37.889624000840996 ], [ -121.869781000388059, 37.889893000917759 ], [ -121.869888000149814, 37.8900450007364 ], [ -121.870178000369194, 37.890290001096986 ], [ -121.870568000084688, 37.89052400057367 ], [ -121.871337999454042, 37.890869000801075 ], [ -121.871979000136804, 37.891320000238217 ], [ -121.872726000340876, 37.891815000799234 ], [ -121.87307699969233, 37.892205000281407 ], [ -121.873291000456078, 37.892556001039239 ], [ -121.873336999789075, 37.893021001110441 ], [ -121.873267999991597, 37.893524000717498 ], [ -121.873015999556628, 37.894402000413926 ], [ -121.872726000104876, 37.895340000254777 ], [ -121.872468000158989, 37.896224001065555 ], [ -121.872222999921391, 37.896706000380462 ], [ -121.872177000195038, 37.89708000084687 ], [ -121.872368000290521, 37.897824000768388 ], [ -121.872568000466686, 37.898624000842851 ], [ -121.8726089998015, 37.898739000799146 ], [ -121.872742000301642, 37.899109000956905 ], [ -121.873000999936963, 37.899712000465449 ], [ -121.873321000125401, 37.90030700062443 ], [ -121.873568000373311, 37.900824000885692 ], [ -121.873581000491043, 37.901238001065458 ], [ -121.873703000291073, 37.902321001131035 ], [ -121.873709999507, 37.902397000326168 ], [ -121.873794000473382, 37.903313000381146 ], [ -121.873968000388857, 37.90452400071598 ], [ -121.87403899964464, 37.905487001070142 ], [ -121.874167999938066, 37.906523000394373 ], [ -121.873763999415644, 37.906028000680621 ], [ -121.873398000064455, 37.905709000268452 ], [ -121.872573999532136, 37.905091000552602 ], [ -121.871857000003502, 37.90454100077045 ], [ -121.871520999604144, 37.904114000944396 ], [ -121.871139000380452, 37.903580001002965 ], [ -121.870544000355451, 37.903221000586058 ], [ -121.869536999912853, 37.902741000868595 ], [ -121.868560999818243, 37.902520000413347 ], [ -121.867828000149629, 37.902138000463026 ], [ -121.867068000503252, 37.9017240008464 ], [ -121.866362999745803, 37.901314000482031 ], [ -121.865667999426435, 37.901024000630578 ], [ -121.86532600008897, 37.900864000689708 ], [ -121.864425999701069, 37.900612000519857 ], [ -121.863402999914229, 37.900551000603926 ], [ -121.862638999631983, 37.90062700103816 ], [ -121.861952999394944, 37.900544000404182 ], [ -121.86166700008252, 37.900424000296951 ], [ -121.861418999409835, 37.900299000998722 ], [ -121.860731999734767, 37.899575000304409 ], [ -121.860274000510103, 37.898804000927505 ], [ -121.860045000207023, 37.897934000880895 ], [ -121.859710000522099, 37.89762900077217 ], [ -121.859266999983362, 37.897324000264653 ], [ -121.858244999471992, 37.896607000329269 ], [ -121.85761899941761, 37.895684000497923 ], [ -121.857055000115835, 37.894959000931308 ], [ -121.856047000420332, 37.894493000339807 ], [ -121.855070999406891, 37.894318000766241 ], [ -121.853819999885545, 37.894066001031604 ], [ -121.852568000239899, 37.89381400082128 ], [ -121.851766999824676, 37.893524000732832 ], [ -121.851592000243485, 37.893372000818822 ], [ -121.850692000108253, 37.892838000502493 ], [ -121.849821999914283, 37.892510000337225 ], [ -121.849166999866839, 37.892324000764383 ], [ -121.848667000207399, 37.892224000797817 ], [ -121.848128000480372, 37.892144000878808 ], [ -121.847335000100202, 37.891747000836148 ], [ -121.846891999928687, 37.891190000960599 ], [ -121.846801000304879, 37.890694000532648 ], [ -121.846784999674071, 37.890175001016992 ], [ -121.846647999479615, 37.889870001098508 ], [ -121.846251000075384, 37.889443000439265 ], [ -121.845504000492994, 37.88888600093393 ], [ -121.844969999521268, 37.88842800060781 ], [ -121.844175999487319, 37.887810000949649 ], [ -121.843443999471631, 37.887146000926165 ], [ -121.842894000118548, 37.886673001048301 ], [ -121.842254000334862, 37.886391001063799 ], [ -121.841866999568978, 37.886324001088234 ], [ -121.841353000354147, 37.886437000747236 ], [ -121.840910999865187, 37.88666600105492 ], [ -121.840422000263416, 37.887001000900902 ], [ -121.839553000251641, 37.887123000734832 ], [ -121.838957999852269, 37.886956000294226 ], [ -121.838210000029875, 37.886597000713358 ], [ -121.837538999410441, 37.886299000781626 ], [ -121.836530999389439, 37.886002000648318 ], [ -121.835707999850669, 37.885918001026724 ], [ -121.834791999539064, 37.885979000978246 ], [ -121.833967999534238, 37.88607100101239 ], [ -121.832868999968554, 37.885895000633937 ], [ -121.832389000509835, 37.885730000491321 ], [ -121.832182999701033, 37.885659000479514 ], [ -121.831566000400201, 37.885524000676767 ], [ -121.831265999852164, 37.885524000984731 ], [ -121.831155000369591, 37.885535000937907 ], [ -121.830823999620293, 37.885567000684553 ], [ -121.830350999594074, 37.885834001008902 ], [ -121.829786000207605, 37.886261000411793 ], [ -121.828916000407233, 37.886353000661998 ], [ -121.828001000158181, 37.886093000671522 ], [ -121.827266000053058, 37.885824000813521 ], [ -121.826917000487725, 37.88595600066234 ], [ -121.826399000252266, 37.886162000618739 ], [ -121.825712000239633, 37.88660500039601 ], [ -121.824826999767822, 37.887352000878202 ], [ -121.824246999505974, 37.887657001088989 ], [ -121.823727999874848, 37.887665001115437 ], [ -121.823102999646892, 37.88750500043222 ], [ -121.822447000186088, 37.887162000906791 ], [ -121.822166000340346, 37.886824000849188 ], [ -121.821729000030587, 37.886032000609767 ], [ -121.821165999411505, 37.88562400040631 ], [ -121.819821999700508, 37.885552000289046 ], [ -121.818707999692847, 37.885491000373761 ], [ -121.818365999966858, 37.885524001058521 ], [ -121.818036999387402, 37.885773001062837 ], [ -121.817975999445551, 37.886132001127805 ], [ -121.817837999584242, 37.887001000582309 ], [ -121.817639999920928, 37.887886000945798 ], [ -121.817365999862673, 37.888324001128389 ], [ -121.816510999765327, 37.888596001017618 ], [ -121.815900999899014, 37.8885270004779 ], [ -121.815381999643179, 37.888565000806402 ], [ -121.814894000172913, 37.888542001013612 ], [ -121.814496999596685, 37.888367000909021 ], [ -121.813946999640919, 37.887986000895047 ], [ -121.813336999989161, 37.887886000912673 ], [ -121.812265999675418, 37.888024000935694 ], [ -121.81164299991994, 37.888306000257636 ], [ -121.811154999729851, 37.888619000454213 ], [ -121.810468000027583, 37.889000001022417 ], [ -121.809644000480645, 37.889550000447848 ], [ -121.809338999991056, 37.88995400052697 ], [ -121.809166000196086, 37.890124000505722 ], [ -121.8089880002521, 37.89039600093048 ], [ -121.808469999580637, 37.890801000240252 ], [ -121.807865999914242, 37.891224000348842 ], [ -121.807263999642075, 37.891396000905871 ], [ -121.806666000400554, 37.891524000746706 ], [ -121.804366000087796, 37.891424000941257 ], [ -121.803830999600109, 37.891495000746168 ], [ -121.803175000161744, 37.891815000252578 ], [ -121.802563999875161, 37.892266001042877 ], [ -121.801965999678345, 37.892524000405729 ], [ -121.801435000453452, 37.892334000523704 ], [ -121.800825000369869, 37.891945000532473 ], [ -121.799965999416742, 37.891724000306752 ], [ -121.799390999629367, 37.891899000759075 ], [ -121.799146000087205, 37.89221200097063 ], [ -121.798597000240221, 37.892998000695087 ], [ -121.798266000517614, 37.893524000248426 ], [ -121.798154999766766, 37.89371500045641 ], [ -121.797620999818108, 37.894203000918282 ], [ -121.797116999475136, 37.894471000424716 ], [ -121.796766000083011, 37.894624000626592 ], [ -121.796184999671439, 37.895150000258475 ], [ -121.79556500011104, 37.895424000315536 ], [ -121.795055999884639, 37.895409000963035 ], [ -121.794864999821471, 37.895424000743432 ], [ -121.793864999727774, 37.89472400113268 ], [ -121.79305699979912, 37.893929000407198 ], [ -121.791790999391253, 37.892990000708053 ], [ -121.791179999451288, 37.892571001042882 ], [ -121.790004999847767, 37.892021000674028 ], [ -121.788846000484085, 37.891297000742988 ], [ -121.78794499974812, 37.890564000504384 ], [ -121.786617999477002, 37.889405000943214 ], [ -121.785076999549077, 37.888214000265087 ], [ -121.783947999821066, 37.887337000572963 ], [ -121.78321499974426, 37.886956000395507 ], [ -121.781887999482279, 37.886322001114159 ], [ -121.780911000024147, 37.885674000994989 ], [ -121.779264999597032, 37.885024000806141 ], [ -121.778835999852987, 37.884957000943636 ], [ -121.778621999407349, 37.884842000898303 ], [ -121.778377999931436, 37.884781000664461 ], [ -121.778226000164864, 37.884743000543835 ], [ -121.778064999900039, 37.884724000819332 ], [ -121.776883000345435, 37.883721000704796 ], [ -121.77736499997954, 37.883124001035782 ], [ -121.776564999904551, 37.882724000669633 ], [ -121.774791999555362, 37.88140100063756 ], [ -121.772426999525479, 37.88051600069975 ], [ -121.771765000079853, 37.880224000446795 ], [ -121.770703000309268, 37.879669000495134 ], [ -121.770261000353955, 37.879441000906603 ], [ -121.769330000495941, 37.879273000449224 ], [ -121.768627999952059, 37.87913500110642 ], [ -121.767711999636006, 37.878868000240416 ], [ -121.766674999665014, 37.878510000862427 ], [ -121.766094999746002, 37.878235001056119 ], [ -121.76548399989953, 37.877808000801309 ], [ -121.764567999445575, 37.877030000854482 ], [ -121.763713999578698, 37.876458000856196 ], [ -121.762844000068654, 37.875885000996284 ], [ -121.762127000214036, 37.875618000539951 ], [ -121.761820999400413, 37.875588000561422 ], [ -121.761210999648043, 37.875710001048233 ], [ -121.760310999546263, 37.87590800108422 ], [ -121.759243000271326, 37.875939000701543 ], [ -121.758433999702888, 37.875870001005048 ], [ -121.757549000298553, 37.87551900073278 ], [ -121.756725000025654, 37.874955000678263 ], [ -121.755764000526455, 37.874100000257293 ], [ -121.75451199978275, 37.8732300007063 ], [ -121.75352100043402, 37.872559000457457 ], [ -121.752970999467166, 37.872361000499545 ], [ -121.752513999712093, 37.872177000416094 ], [ -121.751673999887402, 37.871704001017939 ], [ -121.751363999923143, 37.8716240010503 ], [ -121.751063999746179, 37.8714890008373 ], [ -121.750743999489941, 37.871346000767034 ], [ -121.749538000043884, 37.871132000824787 ], [ -121.747965999604091, 37.870919001104284 ], [ -121.746089999875551, 37.8708130006316 ], [ -121.745280999740572, 37.870836000373771 ], [ -121.744854000205123, 37.870965001059822 ], [ -121.744120999614537, 37.871270000362706 ], [ -121.743282000498823, 37.871659000627325 ], [ -121.742564999643292, 37.871888000302334 ], [ -121.741680000078176, 37.871956000326847 ], [ -121.74085599952474, 37.872025000349026 ], [ -121.739863999852687, 37.871964000866747 ], [ -121.73827700050883, 37.872011000994128 ], [ -121.737406999803497, 37.872026000603796 ], [ -121.736277999503017, 37.871957000677369 ], [ -121.735728999688703, 37.871843000288052 ], [ -121.734934999593179, 37.871667000844269 ], [ -121.734080999507441, 37.871812000653584 ], [ -121.733684000445479, 37.871858000956948 ], [ -121.732963999585152, 37.871925000994963 ], [ -121.732494000278209, 37.872102001119323 ], [ -121.731776999671354, 37.872384000653447 ], [ -121.730739000447059, 37.872896000609529 ], [ -121.729762999547532, 37.873482000753221 ], [ -121.728739999439426, 37.873917000869788 ], [ -121.727687999953716, 37.874337000721766 ], [ -121.72651300047896, 37.874703001100734 ], [ -121.725929000378429, 37.874924000496016 ], [ -121.725124000339875, 37.875229000584298 ], [ -121.724564000379374, 37.875524000830673 ], [ -121.724132000441756, 37.875687000261621 ], [ -121.723552000464935, 37.875946000881548 ], [ -121.722964000403294, 37.876224000359116 ], [ -121.722224999397611, 37.876595000252117 ], [ -121.721325000328036, 37.876976000819731 ], [ -121.720347999540607, 37.877320000888616 ], [ -121.719477999610092, 37.877495000265966 ], [ -121.718410000044059, 37.877724000995954 ], [ -121.716928999785921, 37.877816000520774 ], [ -121.7157850003112, 37.87782300045761 ], [ -121.714457000459319, 37.878136000951876 ], [ -121.712168000186594, 37.878670000826979 ], [ -121.710260999786897, 37.879074000605556 ], [ -121.708628000099495, 37.879227001097711 ], [ -121.706690000180657, 37.879021000626231 ], [ -121.70520999957958, 37.878891000450601 ], [ -121.703607999541489, 37.878792000263765 ], [ -121.702067000354205, 37.87855600103736 ], [ -121.700815999940616, 37.87817400048138 ], [ -121.699182999805672, 37.877275000884424 ], [ -121.698404999599617, 37.876832000453412 ], [ -121.697825000489061, 37.876733001126354 ], [ -121.69756299959846, 37.87672500051746 ], [ -121.697366999678437, 37.87755700077016 ], [ -121.696866000439158, 37.878972000658145 ], [ -121.696634999885674, 37.879624000679364 ], [ -121.695563000176094, 37.881624000448575 ], [ -121.695562999576353, 37.882372001081322 ], [ -121.695563000475232, 37.883224000475678 ], [ -121.695554999409296, 37.883687001040542 ], [ -121.695362999722505, 37.894124000699307 ], [ -121.695139999682667, 37.894181001025345 ], [ -121.694834000478352, 37.894219000600515 ], [ -121.69452900041729, 37.8941650011257 ], [ -121.694208999582372, 37.894226000437868 ], [ -121.693872999671598, 37.8938530009967 ], [ -121.683777999768196, 37.883674000843335 ], [ -121.667337999568744, 37.867135000725845 ], [ -121.667198999573813, 37.86695700025701 ], [ -121.652928000149828, 37.847439000533065 ], [ -121.651072000463401, 37.838825000440657 ], [ -121.656060999690865, 37.83561800043698 ], [ -121.655058000183388, 37.823588000701932 ], [ -121.655996000521469, 37.821892000686603 ], [ -121.664304999666356, 37.817866000986221 ], [ -121.678777999934681, 37.805361000683732 ], [ -121.690570999840219, 37.78459100044671 ], [ -121.690743000346345, 37.784309000458045 ], [ -121.691302999906384, 37.7835120008559 ], [ -121.692077999859919, 37.782647000385879 ], [ -121.693074000167869, 37.781859000811352 ], [ -121.6942379996418, 37.78145400040426 ], [ -121.695904999604423, 37.781298000643901 ], [ -121.697377000250341, 37.781376000500153 ], [ -121.69894599958991, 37.781764000563108 ], [ -121.699504999635323, 37.782109000456181 ], [ -121.710997999736463, 37.779223000549251 ], [ -121.711047000223374, 37.779211000936279 ], [ -121.711122999975032, 37.779192000922954 ], [ -121.738062999394842, 37.772427000517496 ], [ -121.749598999603393, 37.769536000282258 ], [ -121.751063999953786, 37.769169000753614 ], [ -121.780363999769037, 37.761827000346422 ], [ -121.780563999627233, 37.761827000927617 ], [ -121.781163999955325, 37.761727000565877 ], [ -121.791364999564024, 37.759227000235725 ], [ -121.793010000420722, 37.758835000684357 ], [ -121.795565000405304, 37.758227000430232 ], [ -121.812164999884857, 37.754327001130001 ], [ -121.831835000513578, 37.74954100064209 ], [ -121.834765999994531, 37.74882800054506 ], [ -121.835165999958349, 37.748728001039865 ], [ -121.870966999557552, 37.740028000393472 ], [ -121.873867000409192, 37.739228000508838 ], [ -121.881566999446349, 37.737328001101382 ], [ -121.883367000431619, 37.736928001048682 ], [ -121.895268000274669, 37.734128000876424 ], [ -121.904468000056113, 37.73192800107163 ], [ -121.909439999841126, 37.730639000463512 ], [ -121.90986799976271, 37.730528000966224 ], [ -121.910267999601857, 37.730428000860584 ], [ -121.910338999718704, 37.730633000422799 ], [ -121.910958999684368, 37.732007000316131 ], [ -121.912368000011043, 37.735128000572722 ], [ -121.912667999521375, 37.737028000679615 ], [ -121.912867999615557, 37.738428001022704 ], [ -121.912911999434513, 37.738764000927127 ], [ -121.91327999973791, 37.741550000346678 ], [ -121.913431000132491, 37.742696001067401 ], [ -121.913647000146653, 37.744336000917251 ], [ -121.914068000194291, 37.747528000637558 ], [ -121.914967999747773, 37.753727000740724 ], [ -121.914067999823601, 37.756727000287107 ], [ -121.915267999540205, 37.759627001112754 ], [ -121.915268000509641, 37.764027000793014 ], [ -121.917669000074881, 37.766827000673253 ], [ -121.918069000387192, 37.769927000947767 ], [ -121.922269000505437, 37.773027000747447 ], [ -121.924268999898842, 37.774427000742691 ], [ -121.923168999737911, 37.780227000360846 ], [ -121.923316999792746, 37.781782000839975 ], [ -121.923368999955642, 37.78232700081815 ], [ -121.923349999604071, 37.782386000946858 ], [ -121.923129000505895, 37.783075000476551 ], [ -121.923173999490984, 37.783375001011848 ], [ -121.923173999546023, 37.784342000283061 ], [ -121.923315999832383, 37.785116000433781 ], [ -121.923608999795988, 37.785774000549694 ], [ -121.923688999972086, 37.785888001060187 ], [ -121.923862999725543, 37.786136000373837 ], [ -121.924043999981009, 37.786394000905652 ], [ -121.924360000417295, 37.78701400106322 ], [ -121.924479000483089, 37.787246000628471 ], [ -121.924558999697652, 37.7873710006849 ], [ -121.924923999587548, 37.787943000818842 ], [ -121.92516699989018, 37.788446000409856 ], [ -121.925258000458967, 37.788949000911146 ], [ -121.925454000209342, 37.789571000918393 ], [ -121.925550999587429, 37.789878000780135 ], [ -121.925793000101891, 37.790304000525261 ], [ -121.925944999525271, 37.790440001022006 ], [ -121.926035999426688, 37.790459000479338 ], [ -121.926282000061349, 37.790617000618965 ], [ -121.92648100015829, 37.790344000540031 ], [ -121.926817999747556, 37.790079000685417 ], [ -121.92687499951073, 37.790169001036013 ], [ -121.926966000354227, 37.790440001057668 ], [ -121.92692600034556, 37.790711001133602 ], [ -121.926724000134087, 37.791174000981925 ], [ -121.926430999481369, 37.791638000792744 ], [ -121.926288999600501, 37.791986000382444 ], [ -121.926261999546142, 37.792375000916756 ], [ -121.926255000211242, 37.792485000787423 ], [ -121.926091000105941, 37.792568001091368 ], [ -121.925926000162661, 37.792544000858598 ], [ -121.925551000456466, 37.792489000919772 ], [ -121.925306999909481, 37.792376000504575 ], [ -121.92519200045227, 37.792323000568651 ], [ -121.924589000275816, 37.7920440008414 ], [ -121.924388000530669, 37.792375000246132 ], [ -121.924085000030047, 37.792876000370278 ], [ -121.923741000067992, 37.793456000972348 ], [ -121.92370900031834, 37.793541000516711 ], [ -121.923257000073264, 37.794749001015447 ], [ -121.923792999394507, 37.794809000536631 ], [ -121.923634999924658, 37.795325000745805 ], [ -121.92361500005839, 37.795415001128923 ], [ -121.92353599959786, 37.795766000728783 ], [ -121.923420000233691, 37.796286000269248 ], [ -121.923256000360524, 37.796799000486835 ], [ -121.923127000002367, 37.797204000798317 ], [ -121.923011000322916, 37.797569001067139 ], [ -121.922904999418961, 37.797902000702571 ], [ -121.922880999541306, 37.797977000371219 ], [ -121.922796999989046, 37.798246001004443 ], [ -121.9226519996446, 37.798708000974052 ], [ -121.922513999690835, 37.799150000437052 ], [ -121.92136900019004, 37.799026001008599 ], [ -121.921333999723444, 37.799161000612479 ], [ -121.921266000266243, 37.799418000909299 ], [ -121.921082000034275, 37.800364000623347 ], [ -121.921066999954391, 37.801326000839396 ], [ -121.921052000106471, 37.802287000480298 ], [ -121.921195999396431, 37.803041000958849 ], [ -121.921269000308442, 37.803426000571648 ], [ -121.921376999715662, 37.803689000674964 ], [ -121.92150999987004, 37.804011000241282 ], [ -121.922074000254966, 37.804873000573672 ], [ -121.922623999425639, 37.806528000813778 ], [ -121.922623999485197, 37.8081260010905 ], [ -121.922623999997811, 37.808291001031577 ], [ -121.922968999788154, 37.810026000424614 ], [ -121.923768999658549, 37.811726000619473 ], [ -121.92326900001234, 37.812526000901272 ], [ -121.921759000460469, 37.81465300103978 ], [ -121.921068999680699, 37.815626000667052 ], [ -121.921086999504439, 37.815905000308113 ], [ -121.921278999478943, 37.818881000688584 ], [ -121.921468999855605, 37.821826000576401 ], [ -121.922869000376721, 37.822426000381711 ], [ -121.92896900019106, 37.824626001075409 ], [ -121.937368999512429, 37.827726001031444 ], [ -121.938494999446235, 37.828057000404741 ], [ -121.939355000146477, 37.82831000086987 ], [ -121.940195000109796, 37.828556000532018 ], [ -121.942328999802925, 37.829184000909997 ], [ -121.94417000023482, 37.829725001018303 ], [ -121.947123999581009, 37.830594000930525 ], [ -121.947823999543289, 37.830800000984155 ], [ -121.948318999926911, 37.830946000611441 ], [ -121.949112999898077, 37.831179001035551 ], [ -121.949269999730916, 37.831225000751395 ], [ -121.950369999810761, 37.831525000748272 ], [ -121.95136999993737, 37.831825000492472 ], [ -121.952869999979413, 37.831825000398759 ], [ -121.952469999715262, 37.832325000684833 ], [ -121.952389999411253, 37.832592001080741 ], [ -121.95217000011715, 37.833325000851097 ], [ -121.95177000051774, 37.835025000274243 ], [ -121.950369999899934, 37.836425000556225 ], [ -121.94881399988455, 37.839278000573657 ], [ -121.948387999630555, 37.840058000450014 ], [ -121.947969999597689, 37.840825000694636 ], [ -121.950070000269577, 37.841225000317216 ], [ -121.950213999499226, 37.842669000677787 ], [ -121.95037000000805, 37.844225000966269 ], [ -121.948169999996253, 37.843225000706177 ], [ -121.948470000005827, 37.842525000936533 ], [ -121.946170000398837, 37.843225001139288 ], [ -121.943969999442814, 37.842125000959221 ], [ -121.942269999895487, 37.843525000251745 ], [ -121.940570000302998, 37.843125000969565 ], [ -121.940470000485149, 37.841525001056951 ], [ -121.93866899980695, 37.841025001079011 ], [ -121.937069000263435, 37.844425000990334 ], [ -121.935468999760204, 37.843725000452721 ], [ -121.933768999870651, 37.843925000924173 ], [ -121.932168999960666, 37.841625000444935 ], [ -121.930469000320741, 37.842325000784612 ], [ -121.928968999670005, 37.841925000552905 ], [ -121.926669000234867, 37.84272500098853 ], [ -121.925168999808605, 37.84112500071479 ], [ -121.922568999748492, 37.840625000401452 ], [ -121.921869000229265, 37.841325000855868 ], [ -121.922069000004868, 37.842525000473927 ], [ -121.921068999399665, 37.84302500082805 ], [ -121.909168999793891, 37.840325000903491 ], [ -121.899767999546555, 37.838825000657231 ], [ -121.895968000454403, 37.838225000430384 ], [ -121.893392999681183, 37.846089000627742 ], [ -121.911001000207236, 37.846086000858982 ], [ -121.911003999902832, 37.855435001076479 ], [ -121.909069000194052, 37.856725000594793 ], [ -121.908494000036612, 37.857316000240836 ], [ -121.908218999894416, 37.857240000519745 ], [ -121.907913999537953, 37.857210000365953 ], [ -121.907700000507376, 37.857171000923209 ], [ -121.907379999644306, 37.857171000531089 ], [ -121.907135999598438, 37.857164000674942 ], [ -121.906739000170361, 37.857042000663029 ], [ -121.906235999712706, 37.856904000371486 ], [ -121.905563999997199, 37.856935000790706 ], [ -121.905258999488467, 37.857095000612858 ], [ -121.904572000454905, 37.857339001042583 ], [ -121.904191000242676, 37.857309000640093 ], [ -121.903854999827871, 37.857293001013971 ], [ -121.903259000283484, 37.857293000789497 ], [ -121.903045999601161, 37.857248000636758 ], [ -121.902511000294751, 37.857263000593754 ], [ -121.902130000246459, 37.8573550003428 ], [ -121.902037999680743, 37.857553000593654 ], [ -121.90196199966087, 37.857805000904904 ], [ -121.901718000183507, 37.858171000456679 ], [ -121.90155000002602, 37.858438000987135 ], [ -121.901169000031103, 37.858720000687512 ], [ -121.900893999814031, 37.858804000832727 ], [ -121.900767999938822, 37.858825000281435 ], [ -121.900374999946521, 37.858850000759347 ], [ -121.900207000487143, 37.85886500053369 ], [ -121.899963000078301, 37.858873000938488 ], [ -121.899768000052617, 37.858825000473779 ], [ -121.899535999465868, 37.858919000480583 ], [ -121.899398999383166, 37.859041001037383 ], [ -121.899094000128343, 37.859231000606052 ], [ -121.898711999604643, 37.859262000781598 ], [ -121.898422000399066, 37.859178000467054 ], [ -121.898162999612623, 37.859079000396754 ], [ -121.897704999485825, 37.859125000586879 ], [ -121.897521999664392, 37.859338000300248 ], [ -121.897017999764074, 37.859743000724009 ], [ -121.896453999951987, 37.859933001030065 ], [ -121.896178999429594, 37.859865000833466 ], [ -121.895859000075859, 37.85975000037589 ], [ -121.895690999536711, 37.859689000403527 ], [ -121.895247999697588, 37.859491001129051 ], [ -121.894973999976258, 37.859453000878297 ], [ -121.894561999773231, 37.859376000651146 ], [ -121.894012000168502, 37.859048000530656 ], [ -121.893753000142084, 37.858949000714212 ], [ -121.893416999566071, 37.859056000893297 ], [ -121.893050999848413, 37.859132000985063 ], [ -121.892609000347178, 37.859224000977122 ], [ -121.891982999917388, 37.859437000904379 ], [ -121.891342000455552, 37.859674000344199 ], [ -121.891067000117857, 37.859804000748852 ], [ -121.890732000237392, 37.860040000415992 ], [ -121.890471999528017, 37.86029200045806 ], [ -121.890273999716925, 37.860475000919386 ], [ -121.890060000418032, 37.860681001106478 ], [ -121.889663999579909, 37.861070000627244 ], [ -121.889114000453176, 37.861337001065891 ], [ -121.888626000109625, 37.861398000683643 ], [ -121.888368000375777, 37.86152500071335 ], [ -121.888468000157317, 37.861125000900628 ], [ -121.888229000041832, 37.861207000293817 ], [ -121.887955000009313, 37.861329000403167 ], [ -121.887619000050833, 37.861551001115494 ], [ -121.887038999711962, 37.861780001017095 ], [ -121.886459000100444, 37.862069000907383 ], [ -121.885848999499856, 37.862405000855539 ], [ -121.885528000263989, 37.862497000562385 ], [ -121.884768000404335, 37.862925000324097 ], [ -121.884628000079999, 37.863237000969363 ], [ -121.884460000433648, 37.863481000397478 ], [ -121.88423100048287, 37.86382400081056 ], [ -121.883910999742824, 37.864366000642583 ], [ -121.883331000139904, 37.864969001034062 ], [ -121.882476999774639, 37.86531200024401 ], [ -121.882324000370431, 37.865678001093634 ], [ -121.882384999555228, 37.866227000797757 ], [ -121.882506999616524, 37.866784000509433 ], [ -121.882126000196067, 37.867051000753783 ], [ -121.881271000421222, 37.8670670006222 ], [ -121.880157000440562, 37.867235000969849 ], [ -121.879730000232698, 37.867067000654103 ], [ -121.879241999822042, 37.867067001087399 ], [ -121.878829999430664, 37.867485001110417 ], [ -121.878494000017639, 37.867928001104858 ], [ -121.877975000201246, 37.868210000370212 ], [ -121.877319000483709, 37.86827900037833 ], [ -121.876572000470304, 37.868416000497447 ], [ -121.875624999864669, 37.868820000504158 ], [ -121.874831999721735, 37.869164001069869 ], [ -121.874495999916789, 37.869561000386142 ], [ -121.874466000251772, 37.87000300030784 ], [ -121.874633999842814, 37.870484000945162 ], [ -121.874465999506157, 37.8709340006193 ], [ -121.874419999601287, 37.871567000661294 ], [ -121.873947000121049, 37.87220800028377 ], [ -121.873932000442508, 37.872773000340814 ], [ -121.873917000065617, 37.873688000732017 ], [ -121.87365699940932, 37.874153000965705 ], [ -121.873137999914675, 37.874314000393127 ], [ -121.872176999961965, 37.874443000244966 ], [ -121.871689000232777, 37.874558000318409 ], [ -121.871444999758694, 37.874810000400444 ], [ -121.871276999965687, 37.875206001098064 ], [ -121.870894999758335, 37.875466000323854 ], [ -121.870331000264883, 37.875992000758195 ], [ -121.869979999573317, 37.876503000313861 ], [ -121.869583000453076, 37.877388000315428 ], [ -121.869385000105893, 37.87807500064531 ], [ -121.869308000131156, 37.878647000600196 ], [ -121.869003000348343, 37.87916600035193 ], [ -121.868515000272822, 37.879517000268585 ], [ -121.867889000002208, 37.879891000627389 ], [ -121.867568000402741, 37.880124001086919 ], [ -121.867736999999451, 37.880211000871299 ], [ -121.867859000459589, 37.880303001050365 ], [ -121.867980999607852, 37.880463000608316 ], [ -121.868010999679683, 37.880692000330612 ], [ -121.868041999599882, 37.880860000348129 ], [ -121.868011000298623, 37.881035000914324 ], [ -121.867967999645842, 37.881124000947324 ], [ -121.867889000052088, 37.88144700064661 ], [ -121.867614999996803, 37.881668000373864 ], [ -121.867325000376056, 37.882027000309442 ], [ -121.867279000492005, 37.882416000302655 ], [ -121.867340000050419, 37.882805000640047 ], [ -121.867279000416943, 37.883057001079258 ], [ -121.867168000032848, 37.883124000862693 ], [ -121.866547000095707, 37.883599000449287 ], [ -121.866301999478097, 37.884133000393035 ], [ -121.866241000258711, 37.884987000337041 ], [ -121.866267999415371, 37.885624000564341 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1098, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.001090999396794, 38.012554001061218 ], [ -122.000272000349099, 38.012720000278016 ], [ -122.000071999437807, 38.012820000799969 ], [ -121.998694000117197, 38.013136000895514 ], [ -121.998006000173987, 38.013293000278274 ], [ -121.99769500031843, 38.013416000703927 ], [ -121.997472000421055, 38.013520000552937 ], [ -121.996614999782068, 38.013999000896284 ], [ -121.996237000455679, 38.014267000724828 ], [ -121.995889000413044, 38.014612000885435 ], [ -121.995572000070936, 38.014920000650591 ], [ -121.991341000017968, 38.017652001044794 ], [ -121.990771999634916, 38.018020001082498 ], [ -121.988967000438493, 38.018703001035945 ], [ -121.981614999575015, 38.021485000476403 ], [ -121.975972000404212, 38.023620000564108 ], [ -121.96867099964804, 38.023920000905797 ], [ -121.964570999976772, 38.023320000369537 ], [ -121.964195999922822, 38.023230000508519 ], [ -121.961670999690327, 38.022620001048452 ], [ -121.960446000357138, 38.022362001002648 ], [ -121.955971000379449, 38.021420000599093 ], [ -121.954870999640264, 38.021220000724547 ], [ -121.951370999994126, 38.019920000710037 ], [ -121.949171000501948, 38.019420000440903 ], [ -121.944171000319272, 38.019320000286505 ], [ -121.94246499945281, 38.019270000411986 ], [ -121.942148000386396, 38.019261000382706 ], [ -121.942156999414877, 38.019075000340514 ], [ -121.94216599990709, 38.018924000335318 ], [ -121.942171000026804, 38.018520000667813 ], [ -121.942170999563501, 38.016820001026105 ], [ -121.942081999575805, 38.015667000750298 ], [ -121.942069999460443, 38.01552000072077 ], [ -121.941970000312736, 38.012621000601193 ], [ -121.94197000014789, 38.012321000411525 ], [ -121.941469999770419, 38.009921000914659 ], [ -121.941670000484223, 38.006121000846825 ], [ -121.945870000180193, 38.003721001034656 ], [ -121.946424999588871, 38.00136600053748 ], [ -121.94814699943943, 37.994062000815674 ], [ -121.949169999570017, 37.989721000749881 ], [ -121.951569999999876, 37.986921000240628 ], [ -121.945070000468348, 37.983321000410797 ], [ -121.940541000002824, 37.978124000337907 ], [ -121.938970000392075, 37.976322000741476 ], [ -121.93900699982521, 37.974473000681172 ], [ -121.939069999575878, 37.971322001070121 ], [ -121.940370000510455, 37.96782200109611 ], [ -121.94381400022138, 37.964860001132152 ], [ -121.945369999466564, 37.963522001109702 ], [ -121.948469999505917, 37.962922000958862 ], [ -121.951770000348034, 37.965122000709336 ], [ -121.95198100009857, 37.965082001125765 ], [ -121.953370000412576, 37.964822000684109 ], [ -121.954106000336651, 37.96537400040814 ], [ -121.956170999565785, 37.966922000439716 ], [ -121.957471000487331, 37.967922000811967 ], [ -121.957766999918704, 37.967711000425425 ], [ -121.958171000452182, 37.967422000250188 ], [ -121.958770999786239, 37.967922001069027 ], [ -121.958070999622706, 37.968322000635283 ], [ -121.961771000435888, 37.971122000839358 ], [ -121.963770999608613, 37.97262200051059 ], [ -121.968271000249459, 37.97312200061188 ], [ -121.969870999804883, 37.97182200107595 ], [ -121.970271000432959, 37.971622000251557 ], [ -121.975771000313472, 37.975322000934916 ], [ -121.978070999602281, 37.973722000448824 ], [ -121.98197100050632, 37.976522000983969 ], [ -121.98857200005142, 37.981621000444825 ], [ -121.989589000507081, 37.982338000267731 ], [ -121.990293000221499, 37.982834000913435 ], [ -121.991042999955951, 37.983362000916983 ], [ -121.991618000321012, 37.983767000837553 ], [ -121.992421999803341, 37.984333000561946 ], [ -121.992972000198534, 37.984721000976002 ], [ -121.995272000489251, 37.986621000449937 ], [ -121.996130000113638, 37.987215000268279 ], [ -121.996571999768122, 37.987521001014194 ], [ -121.998572000404863, 37.98902100058212 ], [ -122.003371999496295, 37.9925210007613 ], [ -122.003671999387947, 37.992721001104606 ], [ -122.004172000265797, 37.992221000288566 ], [ -122.006072000059518, 37.994121000818332 ], [ -122.009971999390999, 37.992121000817392 ], [ -122.010972000073096, 37.986821000834212 ], [ -122.012142000144507, 37.986002000887659 ], [ -122.012971999945051, 37.985421000451609 ], [ -122.013871999478837, 37.984821001108202 ], [ -122.014272000040108, 37.984621000366708 ], [ -122.014672000148821, 37.984521001122772 ], [ -122.01507200030963, 37.984221001047864 ], [ -122.016471999646484, 37.983321000483066 ], [ -122.017772000185246, 37.985221000923531 ], [ -122.019062000374788, 37.985900001030188 ], [ -122.019135999490558, 37.985939001056927 ], [ -122.019671999815827, 37.986221000409557 ], [ -122.021572999594653, 37.988421000417063 ], [ -122.022075000057285, 37.990870000620347 ], [ -122.022185000074813, 37.990886000532662 ], [ -122.022613999503193, 37.990846000644297 ], [ -122.022200000321121, 37.989602000963757 ], [ -122.023301000390404, 37.98948300051569 ], [ -122.02353300035621, 37.990905001005729 ], [ -122.023755999463546, 37.992731001066339 ], [ -122.023796999796744, 37.992872000918581 ], [ -122.023814000347969, 37.993046000321165 ], [ -122.023596000305858, 37.993107001114396 ], [ -122.023542000385405, 37.993122000345089 ], [ -122.021711999404445, 37.993623000237015 ], [ -122.022927999685578, 37.995136000813105 ], [ -122.023319999689562, 37.995624000832592 ], [ -122.024573000348553, 37.99718400106152 ], [ -122.025273000164503, 37.998121000730961 ], [ -122.025487000200329, 37.999921000898659 ], [ -122.025772999488098, 38.002321000779347 ], [ -122.023662000454308, 38.004293000838771 ], [ -122.022775000144293, 38.007956000471566 ], [ -122.022756999596524, 38.008133001003714 ], [ -122.022735999457041, 38.008399000934162 ], [ -122.022694999790474, 38.008951000737198 ], [ -122.022672999431933, 38.009221001094026 ], [ -122.01987299972312, 38.009721000916386 ], [ -122.012071999559168, 38.010921000479485 ], [ -122.011772999886162, 38.010971000510224 ], [ -122.011371999946078, 38.011021001120298 ], [ -122.004871999903685, 38.011921000891697 ], [ -122.002672000012751, 38.012220000511519 ], [ -122.001090999396794, 38.012554001061218 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1195, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.835167000418636, 37.983122000986668 ], [ -121.834276000523261, 37.983141000633537 ], [ -121.833077999841436, 37.983166000849685 ], [ -121.830366999917061, 37.983222000726251 ], [ -121.82926700044419, 37.983122001009924 ], [ -121.825267000142048, 37.980222000339452 ], [ -121.823466999915453, 37.980222000996335 ], [ -121.822967000079089, 37.980122000443444 ], [ -121.816766000346647, 37.979622000670339 ], [ -121.815247999910397, 37.979542000475725 ], [ -121.814865999957007, 37.979522000566789 ], [ -121.812366000340234, 37.979422000466634 ], [ -121.811566000176782, 37.980022000601103 ], [ -121.811366000215784, 37.980222000863876 ], [ -121.811365999941742, 37.982522000615958 ], [ -121.808766000471266, 37.982022000891114 ], [ -121.805466000044618, 37.982522000622254 ], [ -121.805465999408185, 37.982122000264113 ], [ -121.805465999837608, 37.981722000791947 ], [ -121.805466000015556, 37.981222000960784 ], [ -121.805498999431009, 37.980694001107523 ], [ -121.805565999418988, 37.979622000775201 ], [ -121.805465999845183, 37.978822000652599 ], [ -121.805366000314592, 37.977622000614893 ], [ -121.804197000382771, 37.976119000392494 ], [ -121.803265999482079, 37.974922000367812 ], [ -121.803538000465252, 37.974684000769464 ], [ -121.804866000426259, 37.973522000291084 ], [ -121.8052660002068, 37.968622000466858 ], [ -121.805093000415582, 37.968622000542688 ], [ -121.804518999840013, 37.968621000428726 ], [ -121.803931999448977, 37.968620000508523 ], [ -121.802922999871441, 37.968618000352073 ], [ -121.802010999827019, 37.968617000253758 ], [ -121.801880000355752, 37.968643000745651 ], [ -121.801782999934559, 37.968771000832966 ], [ -121.801717000175444, 37.969028001128528 ], [ -121.801716999626379, 37.969105000909906 ], [ -121.80171700043843, 37.969450000724379 ], [ -121.801456999417283, 37.969361000523762 ], [ -121.801130999583094, 37.969335001020845 ], [ -121.800675000215563, 37.969412000709085 ], [ -121.800219000074947, 37.969438000696108 ], [ -121.800055999775523, 37.969361000943948 ], [ -121.7996980001883, 37.969182000809376 ], [ -121.799494000427146, 37.969077001046628 ], [ -121.798948999700514, 37.970130000306369 ], [ -121.796213000351784, 37.969310000327575 ], [ -121.793648000464515, 37.968654000764495 ], [ -121.793519000149971, 37.968620000270512 ], [ -121.786834999576541, 37.968530000961778 ], [ -121.786266000072843, 37.968522000303764 ], [ -121.780100999415239, 37.966296000605269 ], [ -121.780915999437497, 37.965238000594795 ], [ -121.780987000443545, 37.963845001053819 ], [ -121.780843999948289, 37.963374000735243 ], [ -121.780672999553801, 37.962811001026857 ], [ -121.78015599995264, 37.961725000293633 ], [ -121.779252999566808, 37.959656001019944 ], [ -121.779084000124087, 37.958273001011612 ], [ -121.779000000298893, 37.957591000633357 ], [ -121.778877999561445, 37.955835000413259 ], [ -121.778006000051562, 37.953880000771989 ], [ -121.778042999557726, 37.953627000506408 ], [ -121.77807300040655, 37.952711001014976 ], [ -121.777965000435145, 37.949222000604578 ], [ -121.777950999633347, 37.948935000744292 ], [ -121.777864999838116, 37.948822000288317 ], [ -121.777768000144633, 37.948607000367026 ], [ -121.777507999469591, 37.948355000257855 ], [ -121.775036999993915, 37.947128000556567 ], [ -121.774654999475246, 37.946845000647834 ], [ -121.774364999440238, 37.946623000928113 ], [ -121.774274000197977, 37.946555000935625 ], [ -121.77399900034851, 37.946288000501383 ], [ -121.773764999603557, 37.946023000355503 ], [ -121.773617000505737, 37.945640001023854 ], [ -121.773479999473508, 37.945281001017506 ], [ -121.773434000054522, 37.945129000991457 ], [ -121.773265000411001, 37.941823000355555 ], [ -121.773282000414753, 37.939636000519577 ], [ -121.773267000033542, 37.939193000389253 ], [ -121.773365000474243, 37.938823000723268 ], [ -121.773450000017647, 37.938606001056563 ], [ -121.773519000223942, 37.938523000700691 ], [ -121.774476999560349, 37.937379000440821 ], [ -121.776365000080872, 37.935123001081017 ], [ -121.777165000025207, 37.934123000637634 ], [ -121.777569999646829, 37.933677000808331 ], [ -121.777630999743678, 37.933463001072724 ], [ -121.777665000028989, 37.933223000935911 ], [ -121.777539000490876, 37.933028000692715 ], [ -121.776730000409273, 37.931808000950468 ], [ -121.776665000279507, 37.931623000628399 ], [ -121.776500999732065, 37.930503001049239 ], [ -121.77668500034811, 37.929504000351919 ], [ -121.776776000203157, 37.929214000351948 ], [ -121.776836999545608, 37.929130000791567 ], [ -121.777035000237333, 37.928901000934353 ], [ -121.777280000480147, 37.928581000523401 ], [ -121.777416999801716, 37.928336000637145 ], [ -121.77750799978952, 37.928138000531234 ], [ -121.777664999899358, 37.925623001074506 ], [ -121.777600000192621, 37.924072000339599 ], [ -121.77796500046189, 37.92192300084568 ], [ -121.778165000322176, 37.920371000244636 ], [ -121.778240999812951, 37.919685000453093 ], [ -121.778255999672794, 37.919212000831088 ], [ -121.778225999455429, 37.918784000300946 ], [ -121.778165000026434, 37.918423000478917 ], [ -121.777981999548885, 37.918266001036642 ], [ -121.777722000243813, 37.918006000477384 ], [ -121.777371000412018, 37.91773200104857 ], [ -121.77709599975266, 37.917594000733615 ], [ -121.773206000408749, 37.916251000420345 ], [ -121.772762999526137, 37.91609100085001 ], [ -121.772381999929678, 37.91590000079875 ], [ -121.772107000299087, 37.915756000982611 ], [ -121.771909000390195, 37.915672001063996 ], [ -121.767543999784095, 37.914954000538387 ], [ -121.767255000157704, 37.914871000843512 ], [ -121.766613999578752, 37.91471000068173 ], [ -121.766399999843287, 37.914703000704733 ], [ -121.765668000356754, 37.914588001132415 ], [ -121.765270999887321, 37.914474000721555 ], [ -121.765102999608388, 37.914367000518851 ], [ -121.764965000507488, 37.914323000588752 ], [ -121.76491999992399, 37.914115000736096 ], [ -121.76424899974603, 37.90950700061444 ], [ -121.764141999480927, 37.909271000777785 ], [ -121.763964999994869, 37.909123001119688 ], [ -121.763790999414027, 37.908981000790412 ], [ -121.763104000413136, 37.908759001098701 ], [ -121.762860000293898, 37.908593000532804 ], [ -121.762630999588467, 37.908348001109104 ], [ -121.762564999777354, 37.90812400030466 ], [ -121.76256999975476, 37.907944000734012 ], [ -121.762646000228855, 37.907692000428845 ], [ -121.763073999602909, 37.907059000793836 ], [ -121.763271999508049, 37.906716000320024 ], [ -121.763363999682966, 37.906349001074027 ], [ -121.763607999899804, 37.901528000372949 ], [ -121.763638000070699, 37.901017000358777 ], [ -121.763759999670796, 37.900383001114825 ], [ -121.763836999999427, 37.899697000762046 ], [ -121.763898000324005, 37.899491000266025 ], [ -121.763964999744061, 37.899424000873374 ], [ -121.76424900018398, 37.899247001068055 ], [ -121.76493499954735, 37.89897200056479 ], [ -121.7656070003911, 37.89865100061408 ], [ -121.765897000052334, 37.898278000930716 ], [ -121.765965000247917, 37.898024000687585 ], [ -121.76598799958029, 37.897873000623996 ], [ -121.765765000015634, 37.897224000867155 ], [ -121.765194999845036, 37.896202000521619 ], [ -121.76513399950224, 37.895920000710255 ], [ -121.765164999746347, 37.895624000819303 ], [ -121.76525600026055, 37.895356000569997 ], [ -121.770809999470373, 37.889572000995805 ], [ -121.770946999500993, 37.889481000679403 ], [ -121.771298000204752, 37.889366000620569 ], [ -121.771496999934072, 37.889321000743038 ], [ -121.771831999567922, 37.889252000688955 ], [ -121.772000000313781, 37.889176000452579 ], [ -121.772396999930351, 37.888977000489838 ], [ -121.774655000020303, 37.887268000497627 ], [ -121.774865000101428, 37.886924000463594 ], [ -121.775006000447164, 37.886513000848069 ], [ -121.775064999888997, 37.886224000645925 ], [ -121.774991000100144, 37.885445001031776 ], [ -121.774898999934294, 37.885224000851522 ], [ -121.774865000403679, 37.885124000453985 ], [ -121.775964999932754, 37.883324000561338 ], [ -121.776065000034137, 37.883124000643377 ], [ -121.776564999904551, 37.882724000669633 ], [ -121.77736499997954, 37.883124001035782 ], [ -121.776883000345435, 37.883721000704796 ], [ -121.778064999900039, 37.884724000819332 ], [ -121.778226000164864, 37.884743000543835 ], [ -121.778377999931436, 37.884781000664461 ], [ -121.778621999407349, 37.884842000898303 ], [ -121.778835999852987, 37.884957000943636 ], [ -121.779264999597032, 37.885024000806141 ], [ -121.780911000024147, 37.885674000994989 ], [ -121.781887999482279, 37.886322001114159 ], [ -121.78321499974426, 37.886956000395507 ], [ -121.783947999821066, 37.887337000572963 ], [ -121.785076999549077, 37.888214000265087 ], [ -121.786617999477002, 37.889405000943214 ], [ -121.78794499974812, 37.890564000504384 ], [ -121.788846000484085, 37.891297000742988 ], [ -121.790004999847767, 37.892021000674028 ], [ -121.791179999451288, 37.892571001042882 ], [ -121.791790999391253, 37.892990000708053 ], [ -121.79305699979912, 37.893929000407198 ], [ -121.793864999727774, 37.89472400113268 ], [ -121.794864999821471, 37.895424000743432 ], [ -121.795055999884639, 37.895409000963035 ], [ -121.79556500011104, 37.895424000315536 ], [ -121.796184999671439, 37.895150000258475 ], [ -121.796766000083011, 37.894624000626592 ], [ -121.797116999475136, 37.894471000424716 ], [ -121.797620999818108, 37.894203000918282 ], [ -121.798154999766766, 37.89371500045641 ], [ -121.798266000517614, 37.893524000248426 ], [ -121.798597000240221, 37.892998000695087 ], [ -121.799146000087205, 37.89221200097063 ], [ -121.799390999629367, 37.891899000759075 ], [ -121.799965999416742, 37.891724000306752 ], [ -121.800825000369869, 37.891945000532473 ], [ -121.801435000453452, 37.892334000523704 ], [ -121.801965999678345, 37.892524000405729 ], [ -121.802563999875161, 37.892266001042877 ], [ -121.803175000161744, 37.891815000252578 ], [ -121.803830999600109, 37.891495000746168 ], [ -121.804366000087796, 37.891424000941257 ], [ -121.806666000400554, 37.891524000746706 ], [ -121.807263999642075, 37.891396000905871 ], [ -121.807865999914242, 37.891224000348842 ], [ -121.808469999580637, 37.890801000240252 ], [ -121.8089880002521, 37.89039600093048 ], [ -121.809166000196086, 37.890124000505722 ], [ -121.809338999991056, 37.88995400052697 ], [ -121.809644000480645, 37.889550000447848 ], [ -121.810468000027583, 37.889000001022417 ], [ -121.811154999729851, 37.888619000454213 ], [ -121.81164299991994, 37.888306000257636 ], [ -121.812265999675418, 37.888024000935694 ], [ -121.813336999989161, 37.887886000912673 ], [ -121.813946999640919, 37.887986000895047 ], [ -121.814496999596685, 37.888367000909021 ], [ -121.814894000172913, 37.888542001013612 ], [ -121.815381999643179, 37.888565000806402 ], [ -121.815900999899014, 37.8885270004779 ], [ -121.816510999765327, 37.888596001017618 ], [ -121.817365999862673, 37.888324001128389 ], [ -121.817639999920928, 37.887886000945798 ], [ -121.817837999584242, 37.887001000582309 ], [ -121.817975999445551, 37.886132001127805 ], [ -121.818036999387402, 37.885773001062837 ], [ -121.818365999966858, 37.885524001058521 ], [ -121.818707999692847, 37.885491000373761 ], [ -121.819821999700508, 37.885552000289046 ], [ -121.821165999411505, 37.88562400040631 ], [ -121.821729000030587, 37.886032000609767 ], [ -121.822166000340346, 37.886824000849188 ], [ -121.822447000186088, 37.887162000906791 ], [ -121.823102999646892, 37.88750500043222 ], [ -121.823727999874848, 37.887665001115437 ], [ -121.824246999505974, 37.887657001088989 ], [ -121.824826999767822, 37.887352000878202 ], [ -121.825712000239633, 37.88660500039601 ], [ -121.826399000252266, 37.886162000618739 ], [ -121.826917000487725, 37.88595600066234 ], [ -121.827266000053058, 37.885824000813521 ], [ -121.828001000158181, 37.886093000671522 ], [ -121.828916000407233, 37.886353000661998 ], [ -121.829786000207605, 37.886261000411793 ], [ -121.830350999594074, 37.885834001008902 ], [ -121.830823999620293, 37.885567000684553 ], [ -121.831155000369591, 37.885535000937907 ], [ -121.831265999852164, 37.885524000984731 ], [ -121.831566000400201, 37.885524000676767 ], [ -121.832182999701033, 37.885659000479514 ], [ -121.832389000509835, 37.885730000491321 ], [ -121.832868999968554, 37.885895000633937 ], [ -121.833967999534238, 37.88607100101239 ], [ -121.834791999539064, 37.885979000978246 ], [ -121.835707999850669, 37.885918001026724 ], [ -121.836530999389439, 37.886002000648318 ], [ -121.837538999410441, 37.886299000781626 ], [ -121.838210000029875, 37.886597000713358 ], [ -121.838957999852269, 37.886956000294226 ], [ -121.839553000251641, 37.887123000734832 ], [ -121.840422000263416, 37.887001000900902 ], [ -121.840910999865187, 37.88666600105492 ], [ -121.841353000354147, 37.886437000747236 ], [ -121.841866999568978, 37.886324001088234 ], [ -121.842254000334862, 37.886391001063799 ], [ -121.842894000118548, 37.886673001048301 ], [ -121.843443999471631, 37.887146000926165 ], [ -121.844175999487319, 37.887810000949649 ], [ -121.844969999521268, 37.88842800060781 ], [ -121.845504000492994, 37.88888600093393 ], [ -121.846251000075384, 37.889443000439265 ], [ -121.846647999479615, 37.889870001098508 ], [ -121.846784999674071, 37.890175001016992 ], [ -121.846801000304879, 37.890694000532648 ], [ -121.846891999928687, 37.891190000960599 ], [ -121.847335000100202, 37.891747000836148 ], [ -121.848128000480372, 37.892144000878808 ], [ -121.848667000207399, 37.892224000797817 ], [ -121.849166999866839, 37.892324000764383 ], [ -121.849821999914283, 37.892510000337225 ], [ -121.850692000108253, 37.892838000502493 ], [ -121.851592000243485, 37.893372000818822 ], [ -121.851766999824676, 37.893524000732832 ], [ -121.852568000239899, 37.89381400082128 ], [ -121.853819999885545, 37.894066001031604 ], [ -121.855070999406891, 37.894318000766241 ], [ -121.856047000420332, 37.894493000339807 ], [ -121.857055000115835, 37.894959000931308 ], [ -121.85761899941761, 37.895684000497923 ], [ -121.858244999471992, 37.896607000329269 ], [ -121.859266999983362, 37.897324000264653 ], [ -121.859710000522099, 37.89762900077217 ], [ -121.860045000207023, 37.897934000880895 ], [ -121.860274000510103, 37.898804000927505 ], [ -121.860731999734767, 37.899575000304409 ], [ -121.861418999409835, 37.900299000998722 ], [ -121.86166700008252, 37.900424000296951 ], [ -121.861952999394944, 37.900544000404182 ], [ -121.862638999631983, 37.90062700103816 ], [ -121.863402999914229, 37.900551000603926 ], [ -121.864425999701069, 37.900612000519857 ], [ -121.86532600008897, 37.900864000689708 ], [ -121.865667999426435, 37.901024000630578 ], [ -121.866362999745803, 37.901314000482031 ], [ -121.867068000503252, 37.9017240008464 ], [ -121.867828000149629, 37.902138000463026 ], [ -121.868560999818243, 37.902520000413347 ], [ -121.869536999912853, 37.902741000868595 ], [ -121.870544000355451, 37.903221000586058 ], [ -121.871139000380452, 37.903580001002965 ], [ -121.871520999604144, 37.904114000944396 ], [ -121.871857000003502, 37.90454100077045 ], [ -121.872573999532136, 37.905091000552602 ], [ -121.873398000064455, 37.905709000268452 ], [ -121.873763999415644, 37.906028000680621 ], [ -121.874167999938066, 37.906523000394373 ], [ -121.874481000374658, 37.906860000765235 ], [ -121.874984999848195, 37.907172000254974 ], [ -121.875397000318173, 37.907394000882583 ], [ -121.875747999959401, 37.907645000351138 ], [ -121.875946000149597, 37.907890000583627 ], [ -121.876052999713153, 37.908393000670024 ], [ -121.876174999507768, 37.908683001027562 ], [ -121.876388000334032, 37.908881000581623 ], [ -121.876769999916363, 37.909004000261064 ], [ -121.877792000507583, 37.909316000747644 ], [ -121.878311000220421, 37.909606000428006 ], [ -121.878661999394964, 37.909881000831298 ], [ -121.879089000521319, 37.910354000260838 ], [ -121.87928799994998, 37.91056800101093 ], [ -121.879654000010774, 37.910949000737311 ], [ -121.88038599948824, 37.911453000887896 ], [ -121.881103000439055, 37.911803000533958 ], [ -121.881636999509922, 37.912162000788406 ], [ -121.882004000516503, 37.912299000741832 ], [ -121.883361999444972, 37.912391000527947 ], [ -121.88406399962598, 37.91245200100429 ], [ -121.884568000389635, 37.912523000270639 ], [ -121.884627999871668, 37.91250500027008 ], [ -121.885131999664651, 37.912627000389847 ], [ -121.885666000403532, 37.9129480006305 ], [ -121.886352000172693, 37.913619000636878 ], [ -121.887146000101282, 37.914085000532133 ], [ -121.887868000336042, 37.914423000729386 ], [ -121.890105999443065, 37.915092000446286 ], [ -121.89134199976435, 37.915618000257048 ], [ -121.89236800009374, 37.916123000424278 ], [ -121.893310000361851, 37.916587000986631 ], [ -121.894195000097881, 37.917144000330545 ], [ -121.895168999778818, 37.917823000543812 ], [ -121.89576900024268, 37.918223000734983 ], [ -121.896484999406013, 37.918830000472511 ], [ -121.897050000208537, 37.91931800034407 ], [ -121.897537999937626, 37.919700000721704 ], [ -121.89820999951607, 37.92002000106573 ], [ -121.898468999894334, 37.920123000249347 ], [ -121.898869000354708, 37.920223000412662 ], [ -121.899888000037677, 37.920608000275983 ], [ -121.901185000432733, 37.921188000562736 ], [ -121.902405999958447, 37.921668001119976 ], [ -121.903473999944268, 37.922004001039809 ], [ -121.904068999461046, 37.922223000538395 ], [ -121.905369000410218, 37.922523000642158 ], [ -121.906968999841425, 37.922923000619484 ], [ -121.908168999802029, 37.923223000796263 ], [ -121.911515999845307, 37.924179000653339 ], [ -121.911668999708695, 37.924223000452812 ], [ -121.913368999575241, 37.924723000764423 ], [ -121.913301999857794, 37.924869001058127 ], [ -121.913193999397606, 37.925102000830407 ], [ -121.913132999414159, 37.925552000534594 ], [ -121.913071999851994, 37.925987000480987 ], [ -121.912979999779708, 37.92646700055645 ], [ -121.91275099954143, 37.926948000481445 ], [ -121.912400000253072, 37.927192000583354 ], [ -121.911805000124232, 37.927444000575363 ], [ -121.910844000447142, 37.927848000292457 ], [ -121.909927999895515, 37.928230000907334 ], [ -121.909561999428007, 37.928451001055706 ], [ -121.909568999578894, 37.928623000331697 ], [ -121.91044699966038, 37.929549000965565 ], [ -121.9112250005237, 37.93022100030462 ], [ -121.912018999915333, 37.930717000982803 ], [ -121.912644000149584, 37.931541000410341 ], [ -121.913376999613234, 37.931960000432127 ], [ -121.913972000390501, 37.932021000649549 ], [ -121.914191999497277, 37.93202200090446 ], [ -121.914154999529046, 37.932197000588943 ], [ -121.914079000049384, 37.932410000678139 ], [ -121.914184999544446, 37.932731000276242 ], [ -121.914170000467564, 37.933059000853348 ], [ -121.914109000271708, 37.93331800087897 ], [ -121.91397900024414, 37.94305900084214 ], [ -121.913968999592299, 37.943322000405523 ], [ -121.913957000252125, 37.943749000690062 ], [ -121.91378399989749, 37.949949000659203 ], [ -121.913644000283156, 37.954966000480603 ], [ -121.913603000287054, 37.957301001107979 ], [ -121.91353100044094, 37.961317000838939 ], [ -121.918437000369735, 37.961317000366513 ], [ -121.917996999604668, 37.961686000252449 ], [ -121.917135000138359, 37.962118000304763 ], [ -121.916344000429035, 37.962194001141384 ], [ -121.915490999800852, 37.962181000999962 ], [ -121.914862000262062, 37.962298000882093 ], [ -121.914425999936284, 37.962638000961547 ], [ -121.914071000495724, 37.963285000248398 ], [ -121.91396000013593, 37.963876000514929 ], [ -121.913857999519337, 37.964473000452685 ], [ -121.913735999963961, 37.965086000299081 ], [ -121.913421999667051, 37.966250000718617 ], [ -121.913239000186721, 37.966889000827798 ], [ -121.912974999561655, 37.96745600060143 ], [ -121.912651000039006, 37.967978000588467 ], [ -121.912082999523335, 37.968491000804839 ], [ -121.911525000296862, 37.969136001099208 ], [ -121.910418999397933, 37.969668001064136 ], [ -121.910418999846797, 37.970299000973263 ], [ -121.91043899974386, 37.971101000837365 ], [ -121.910490000095592, 37.971722000437474 ], [ -121.910469000414693, 37.972022001124429 ], [ -121.91056900048379, 37.974722000554522 ], [ -121.907469000275967, 37.976122000907388 ], [ -121.899968999435259, 37.97972200065616 ], [ -121.89886899964921, 37.983221000790742 ], [ -121.896968999640109, 37.978522000726052 ], [ -121.896931000514186, 37.978423000476127 ], [ -121.896842000115626, 37.978189000929042 ], [ -121.896168999812616, 37.976422000700666 ], [ -121.894869000513708, 37.97302200098536 ], [ -121.888369000122864, 37.967922000584188 ], [ -121.888169000175353, 37.967822000757032 ], [ -121.883268000493231, 37.962222001044822 ], [ -121.882867999621197, 37.9600220004371 ], [ -121.882567999488927, 37.958422000706349 ], [ -121.880868000287776, 37.958022001077921 ], [ -121.880467999948166, 37.957022000794069 ], [ -121.87596799978256, 37.956222000918693 ], [ -121.875068000003907, 37.955822000359383 ], [ -121.873368000138257, 37.957022000538117 ], [ -121.869367999951933, 37.957522000595027 ], [ -121.869368000275685, 37.95682200065351 ], [ -121.869268000249363, 37.956322000985068 ], [ -121.869001999702178, 37.956377000615298 ], [ -121.863468000294617, 37.957522000299875 ], [ -121.862367999666375, 37.962122000518256 ], [ -121.862467999384847, 37.970122000892871 ], [ -121.86246799978862, 37.971722000608132 ], [ -121.862467999631221, 37.971922000766376 ], [ -121.862167999538258, 37.973722000338064 ], [ -121.861767999752473, 37.97602200061128 ], [ -121.857068000163267, 37.980422000845977 ], [ -121.855667999803956, 37.981122000903135 ], [ -121.85466799985808, 37.983221000258133 ], [ -121.853968000179734, 37.984721000803745 ], [ -121.851667999659057, 37.986121000847305 ], [ -121.850567999620282, 37.986221000332854 ], [ -121.849945000525523, 37.986249000315865 ], [ -121.844968999395263, 37.98389500090174 ], [ -121.843966999510414, 37.983421000818275 ], [ -121.842367000084906, 37.98332100054963 ], [ -121.841367000354538, 37.983322000580806 ], [ -121.838667000366826, 37.983235001014307 ], [ -121.835986000396844, 37.983148000454726 ], [ -121.835167000418636, 37.983122000986668 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1139, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.012671999397341, 37.924923000337365 ], [ -122.013371999425019, 37.925823000234338 ], [ -122.014771999649071, 37.927423000495367 ], [ -122.010744999583309, 37.92867700069722 ], [ -122.009804999705921, 37.928970000463416 ], [ -122.008899000298484, 37.929252000587816 ], [ -122.008285000329991, 37.929443000825188 ], [ -122.006559000104417, 37.929980000618599 ], [ -122.004171999784518, 37.930723001011913 ], [ -122.003271999597345, 37.931723000725341 ], [ -121.997872000430732, 37.937123000856246 ], [ -121.997471999488596, 37.941322000684728 ], [ -121.997471999696032, 37.941422000546552 ], [ -121.997271999762546, 37.942522000621082 ], [ -121.997119999769097, 37.942451000348029 ], [ -121.990166999517598, 37.939222000714146 ], [ -121.988625999743547, 37.936864000286135 ], [ -121.988506999872243, 37.936732000979141 ], [ -121.988525000325936, 37.936707000513699 ], [ -121.98849400033906, 37.936629000799833 ], [ -121.987370999604877, 37.935023000449888 ], [ -121.987271000413159, 37.934823000711795 ], [ -121.98667099982282, 37.933323000650198 ], [ -121.98647099964964, 37.932523001037701 ], [ -121.985770999820957, 37.929723000434777 ], [ -121.984871000310591, 37.926423000746901 ], [ -121.984329999878696, 37.924171000849405 ], [ -121.984271000132907, 37.92392300104872 ], [ -121.982370999997812, 37.921623000569781 ], [ -121.979971000490295, 37.918623000404942 ], [ -121.977170999907443, 37.914723000362628 ], [ -121.98977100034088, 37.899724001066112 ], [ -121.990970999596499, 37.899524000468816 ], [ -121.996071000411192, 37.907223000391795 ], [ -121.99596399974557, 37.908404000337939 ], [ -121.99587100035933, 37.909423000817021 ], [ -121.996249000350161, 37.90996600026844 ], [ -121.99688599962667, 37.910879000966695 ], [ -121.997252000123197, 37.911404001063907 ], [ -121.997443000396416, 37.911678000983827 ], [ -121.997838000193653, 37.912244000775019 ], [ -121.998038999730852, 37.91253200046247 ], [ -121.998172000241865, 37.912723000458861 ], [ -121.998395000362876, 37.912740000284479 ], [ -122.000771999430526, 37.912923000427298 ], [ -122.001763000514529, 37.913031000902819 ], [ -122.004531999470075, 37.913334000980861 ], [ -122.005128000147693, 37.913399000620664 ], [ -122.006916999672924, 37.913595001097463 ], [ -122.007171999935096, 37.913623001083266 ], [ -122.007872000514411, 37.914223000835236 ], [ -122.008672000202239, 37.915423001120494 ], [ -122.010271999636245, 37.917023000299992 ], [ -122.010272000022439, 37.917523000271302 ], [ -122.010471999982926, 37.917723001105543 ], [ -122.011071999969602, 37.921523000870877 ], [ -122.011112999736469, 37.92173800062875 ], [ -122.011472000323124, 37.923623000382122 ], [ -122.012272000168153, 37.924423000352981 ], [ -122.012671999397341, 37.924923000337365 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1102, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.932930000525516, 37.920335000386046 ], [ -121.927164000356939, 37.920118000754464 ], [ -121.926960999645445, 37.919723000776955 ], [ -121.926926000084322, 37.919655000355775 ], [ -121.926702000243722, 37.919656001066713 ], [ -121.926768999390674, 37.919723000991418 ], [ -121.927164000356939, 37.920118000754464 ], [ -121.927268999474862, 37.920223000708852 ], [ -121.923868999879858, 37.920623000364145 ], [ -121.92356900037835, 37.922323000519242 ], [ -121.923268999943303, 37.924423000298709 ], [ -121.922368999576605, 37.925423000774074 ], [ -121.921569000484865, 37.926223000404015 ], [ -121.92139099956816, 37.926615000423531 ], [ -121.921069000286806, 37.927323000600161 ], [ -121.919768999824868, 37.926723000934416 ], [ -121.918113000049132, 37.926226001008658 ], [ -121.917769000517595, 37.926123000384543 ], [ -121.91554599963537, 37.925416000508697 ], [ -121.914283999918567, 37.925014000472949 ], [ -121.913368999575241, 37.924723000764423 ], [ -121.911668999708695, 37.924223000452812 ], [ -121.911515999845307, 37.924179000653339 ], [ -121.908168999802029, 37.923223000796263 ], [ -121.906968999841425, 37.922923000619484 ], [ -121.905369000410218, 37.922523000642158 ], [ -121.904068999461046, 37.922223000538395 ], [ -121.903473999944268, 37.922004001039809 ], [ -121.902405999958447, 37.921668001119976 ], [ -121.901185000432733, 37.921188000562736 ], [ -121.899888000037677, 37.920608000275983 ], [ -121.898869000354708, 37.920223000412662 ], [ -121.898468999894334, 37.920123000249347 ], [ -121.89820999951607, 37.92002000106573 ], [ -121.897537999937626, 37.919700000721704 ], [ -121.897050000208537, 37.91931800034407 ], [ -121.896484999406013, 37.918830000472511 ], [ -121.89576900024268, 37.918223000734983 ], [ -121.895168999778818, 37.917823000543812 ], [ -121.894195000097881, 37.917144000330545 ], [ -121.893310000361851, 37.916587000986631 ], [ -121.89236800009374, 37.916123000424278 ], [ -121.89134199976435, 37.915618000257048 ], [ -121.890105999443065, 37.915092000446286 ], [ -121.887868000336042, 37.914423000729386 ], [ -121.887146000101282, 37.914085000532133 ], [ -121.886352000172693, 37.913619000636878 ], [ -121.885666000403532, 37.9129480006305 ], [ -121.885131999664651, 37.912627000389847 ], [ -121.884627999871668, 37.91250500027008 ], [ -121.884568000389635, 37.912523000270639 ], [ -121.88406399962598, 37.91245200100429 ], [ -121.883361999444972, 37.912391000527947 ], [ -121.882004000516503, 37.912299000741832 ], [ -121.881636999509922, 37.912162000788406 ], [ -121.881103000439055, 37.911803000533958 ], [ -121.88038599948824, 37.911453000887896 ], [ -121.879654000010774, 37.910949000737311 ], [ -121.87928799994998, 37.91056800101093 ], [ -121.879089000521319, 37.910354000260838 ], [ -121.878661999394964, 37.909881000831298 ], [ -121.878311000220421, 37.909606000428006 ], [ -121.877792000507583, 37.909316000747644 ], [ -121.876769999916363, 37.909004000261064 ], [ -121.876388000334032, 37.908881000581623 ], [ -121.876174999507768, 37.908683001027562 ], [ -121.876052999713153, 37.908393000670024 ], [ -121.875946000149597, 37.907890000583627 ], [ -121.875747999959401, 37.907645000351138 ], [ -121.875397000318173, 37.907394000882583 ], [ -121.874984999848195, 37.907172000254974 ], [ -121.874481000374658, 37.906860000765235 ], [ -121.874167999938066, 37.906523000394373 ], [ -121.87403899964464, 37.905487001070142 ], [ -121.873968000388857, 37.90452400071598 ], [ -121.873794000473382, 37.903313000381146 ], [ -121.873709999507, 37.902397000326168 ], [ -121.873703000291073, 37.902321001131035 ], [ -121.873581000491043, 37.901238001065458 ], [ -121.873568000373311, 37.900824000885692 ], [ -121.873321000125401, 37.90030700062443 ], [ -121.873000999936963, 37.899712000465449 ], [ -121.872742000301642, 37.899109000956905 ], [ -121.8726089998015, 37.898739000799146 ], [ -121.872568000466686, 37.898624000842851 ], [ -121.872368000290521, 37.897824000768388 ], [ -121.872177000195038, 37.89708000084687 ], [ -121.872222999921391, 37.896706000380462 ], [ -121.872468000158989, 37.896224001065555 ], [ -121.872726000104876, 37.895340000254777 ], [ -121.873015999556628, 37.894402000413926 ], [ -121.873267999991597, 37.893524000717498 ], [ -121.873336999789075, 37.893021001110441 ], [ -121.873291000456078, 37.892556001039239 ], [ -121.87307699969233, 37.892205000281407 ], [ -121.872726000340876, 37.891815000799234 ], [ -121.871979000136804, 37.891320000238217 ], [ -121.871337999454042, 37.890869000801075 ], [ -121.870568000084688, 37.89052400057367 ], [ -121.870178000369194, 37.890290001096986 ], [ -121.869888000149814, 37.8900450007364 ], [ -121.869781000388059, 37.889893000917759 ], [ -121.869667999956604, 37.889624000840996 ], [ -121.869582999416139, 37.889374000517215 ], [ -121.869263000199879, 37.889069000899184 ], [ -121.868868000028755, 37.888924001104506 ], [ -121.868368000297792, 37.888824000960689 ], [ -121.867859000021312, 37.888672000255866 ], [ -121.867308999803086, 37.88830600068254 ], [ -121.86705000045697, 37.888039000726451 ], [ -121.866767999520619, 37.887624000379184 ], [ -121.866547000365344, 37.886742000413975 ], [ -121.866468000418138, 37.885924000802568 ], [ -121.866267999415371, 37.885624000564341 ], [ -121.866241000258711, 37.884987000337041 ], [ -121.866301999478097, 37.884133000393035 ], [ -121.866547000095707, 37.883599000449287 ], [ -121.867168000032848, 37.883124000862693 ], [ -121.867279000416943, 37.883057001079258 ], [ -121.867340000050419, 37.882805000640047 ], [ -121.867279000492005, 37.882416000302655 ], [ -121.867325000376056, 37.882027000309442 ], [ -121.867614999996803, 37.881668000373864 ], [ -121.867889000052088, 37.88144700064661 ], [ -121.867967999645842, 37.881124000947324 ], [ -121.868011000298623, 37.881035000914324 ], [ -121.868041999599882, 37.880860000348129 ], [ -121.868010999679683, 37.880692000330612 ], [ -121.867980999607852, 37.880463000608316 ], [ -121.867859000459589, 37.880303001050365 ], [ -121.867736999999451, 37.880211000871299 ], [ -121.867568000402741, 37.880124001086919 ], [ -121.867889000002208, 37.879891000627389 ], [ -121.868515000272822, 37.879517000268585 ], [ -121.869003000348343, 37.87916600035193 ], [ -121.869308000131156, 37.878647000600196 ], [ -121.869385000105893, 37.87807500064531 ], [ -121.869583000453076, 37.877388000315428 ], [ -121.869979999573317, 37.876503000313861 ], [ -121.870331000264883, 37.875992000758195 ], [ -121.870894999758335, 37.875466000323854 ], [ -121.871276999965687, 37.875206001098064 ], [ -121.871444999758694, 37.874810000400444 ], [ -121.871689000232777, 37.874558000318409 ], [ -121.872176999961965, 37.874443000244966 ], [ -121.873137999914675, 37.874314000393127 ], [ -121.87365699940932, 37.874153000965705 ], [ -121.873917000065617, 37.873688000732017 ], [ -121.873932000442508, 37.872773000340814 ], [ -121.873947000121049, 37.87220800028377 ], [ -121.874419999601287, 37.871567000661294 ], [ -121.874465999506157, 37.8709340006193 ], [ -121.874633999842814, 37.870484000945162 ], [ -121.874466000251772, 37.87000300030784 ], [ -121.874495999916789, 37.869561000386142 ], [ -121.874831999721735, 37.869164001069869 ], [ -121.875624999864669, 37.868820000504158 ], [ -121.876572000470304, 37.868416000497447 ], [ -121.877319000483709, 37.86827900037833 ], [ -121.877975000201246, 37.868210000370212 ], [ -121.878494000017639, 37.867928001104858 ], [ -121.878829999430664, 37.867485001110417 ], [ -121.879241999822042, 37.867067001087399 ], [ -121.879730000232698, 37.867067000654103 ], [ -121.880157000440562, 37.867235000969849 ], [ -121.881271000421222, 37.8670670006222 ], [ -121.882126000196067, 37.867051000753783 ], [ -121.882506999616524, 37.866784000509433 ], [ -121.882384999555228, 37.866227000797757 ], [ -121.882324000370431, 37.865678001093634 ], [ -121.882476999774639, 37.86531200024401 ], [ -121.883331000139904, 37.864969001034062 ], [ -121.883910999742824, 37.864366000642583 ], [ -121.88423100048287, 37.86382400081056 ], [ -121.884460000433648, 37.863481000397478 ], [ -121.884628000079999, 37.863237000969363 ], [ -121.884768000404335, 37.862925000324097 ], [ -121.885528000263989, 37.862497000562385 ], [ -121.885848999499856, 37.862405000855539 ], [ -121.886459000100444, 37.862069000907383 ], [ -121.887038999711962, 37.861780001017095 ], [ -121.887619000050833, 37.861551001115494 ], [ -121.887955000009313, 37.861329000403167 ], [ -121.888229000041832, 37.861207000293817 ], [ -121.888468000157317, 37.861125000900628 ], [ -121.888368000375777, 37.86152500071335 ], [ -121.888626000109625, 37.861398000683643 ], [ -121.889114000453176, 37.861337001065891 ], [ -121.889663999579909, 37.861070000627244 ], [ -121.890060000418032, 37.860681001106478 ], [ -121.890273999716925, 37.860475000919386 ], [ -121.890471999528017, 37.86029200045806 ], [ -121.890732000237392, 37.860040000415992 ], [ -121.891067000117857, 37.859804000748852 ], [ -121.891342000455552, 37.859674000344199 ], [ -121.891982999917388, 37.859437000904379 ], [ -121.892609000347178, 37.859224000977122 ], [ -121.893050999848413, 37.859132000985063 ], [ -121.893416999566071, 37.859056000893297 ], [ -121.893753000142084, 37.858949000714212 ], [ -121.894012000168502, 37.859048000530656 ], [ -121.894561999773231, 37.859376000651146 ], [ -121.894973999976258, 37.859453000878297 ], [ -121.895247999697588, 37.859491001129051 ], [ -121.895690999536711, 37.859689000403527 ], [ -121.895859000075859, 37.85975000037589 ], [ -121.896178999429594, 37.859865000833466 ], [ -121.896453999951987, 37.859933001030065 ], [ -121.897017999764074, 37.859743000724009 ], [ -121.897521999664392, 37.859338000300248 ], [ -121.897704999485825, 37.859125000586879 ], [ -121.898162999612623, 37.859079000396754 ], [ -121.898422000399066, 37.859178000467054 ], [ -121.898711999604643, 37.859262000781598 ], [ -121.899094000128343, 37.859231000606052 ], [ -121.899398999383166, 37.859041001037383 ], [ -121.899535999465868, 37.858919000480583 ], [ -121.899768000052617, 37.858825000473779 ], [ -121.899963000078301, 37.858873000938488 ], [ -121.900207000487143, 37.85886500053369 ], [ -121.900374999946521, 37.858850000759347 ], [ -121.900767999938822, 37.858825000281435 ], [ -121.900893999814031, 37.858804000832727 ], [ -121.901169000031103, 37.858720000687512 ], [ -121.90155000002602, 37.858438000987135 ], [ -121.901718000183507, 37.858171000456679 ], [ -121.90196199966087, 37.857805000904904 ], [ -121.902037999680743, 37.857553000593654 ], [ -121.902130000246459, 37.8573550003428 ], [ -121.902511000294751, 37.857263000593754 ], [ -121.903045999601161, 37.857248000636758 ], [ -121.903259000283484, 37.857293000789497 ], [ -121.903854999827871, 37.857293001013971 ], [ -121.904191000242676, 37.857309000640093 ], [ -121.904572000454905, 37.857339001042583 ], [ -121.905258999488467, 37.857095000612858 ], [ -121.905563999997199, 37.856935000790706 ], [ -121.906235999712706, 37.856904000371486 ], [ -121.906739000170361, 37.857042000663029 ], [ -121.907135999598438, 37.857164000674942 ], [ -121.907379999644306, 37.857171000531089 ], [ -121.907700000507376, 37.857171000923209 ], [ -121.907913999537953, 37.857210000365953 ], [ -121.908218999894416, 37.857240000519745 ], [ -121.908494000036612, 37.857316000240836 ], [ -121.909069000194052, 37.856725000594793 ], [ -121.911003999902832, 37.855435001076479 ], [ -121.911001000207236, 37.846086000858982 ], [ -121.893392999681183, 37.846089000627742 ], [ -121.895968000454403, 37.838225000430384 ], [ -121.899767999546555, 37.838825000657231 ], [ -121.909168999793891, 37.840325000903491 ], [ -121.921068999399665, 37.84302500082805 ], [ -121.923569000257203, 37.844525000798868 ], [ -121.927269000519104, 37.845625000705425 ], [ -121.927269000213826, 37.846525000508571 ], [ -121.929627000469623, 37.847725000980958 ], [ -121.932969000379998, 37.849425000556934 ], [ -121.932669000206474, 37.851225000759293 ], [ -121.932169000355614, 37.85062500112128 ], [ -121.930768999653765, 37.85102500039303 ], [ -121.930269000117846, 37.850225001013449 ], [ -121.928869000020129, 37.851825000919128 ], [ -121.926869000001275, 37.851425000552446 ], [ -121.926168999730507, 37.852225000491693 ], [ -121.931068999499303, 37.853725000770808 ], [ -121.936168999940833, 37.857725000554893 ], [ -121.933168999486739, 37.862725000899822 ], [ -121.933669000307873, 37.864025001042386 ], [ -121.932168999910033, 37.866225000247347 ], [ -121.935569999417353, 37.867624000359996 ], [ -121.93586999987896, 37.869724000886691 ], [ -121.936870000131762, 37.870024000272807 ], [ -121.943269999951994, 37.872224001046455 ], [ -121.940470000525167, 37.869624000583833 ], [ -121.941670000462594, 37.869524000995774 ], [ -121.94107000032389, 37.868624000553638 ], [ -121.944370000207172, 37.869424000938672 ], [ -121.943169999908818, 37.867624000635786 ], [ -121.943969999785878, 37.866125000953069 ], [ -121.946770000193126, 37.869124000240205 ], [ -121.948369999721706, 37.869924001098724 ], [ -121.949470000153468, 37.869424001124642 ], [ -121.951069999647515, 37.870924000770039 ], [ -121.949370000045235, 37.872824000429361 ], [ -121.950970000147976, 37.873324000286665 ], [ -121.958270000504612, 37.872624000587578 ], [ -121.962970000000823, 37.874724000657068 ], [ -121.962669999722095, 37.876624000296786 ], [ -121.961769999864373, 37.876824000523563 ], [ -121.962770000428677, 37.878124000719794 ], [ -121.96656999992183, 37.88112400083282 ], [ -121.972770999982004, 37.88292400069507 ], [ -121.974270999650074, 37.883024000427326 ], [ -121.974671000158153, 37.883324001064622 ], [ -121.975414999565643, 37.883896000414317 ], [ -121.975971000025609, 37.884324001125954 ], [ -121.985870999671192, 37.892324000829333 ], [ -121.988471000011145, 37.895124001084952 ], [ -121.989070999591803, 37.896924000570678 ], [ -121.988771000135202, 37.898324000239896 ], [ -121.990970999596499, 37.899524000468816 ], [ -121.98977100034088, 37.899724001066112 ], [ -121.977170999907443, 37.914723000362628 ], [ -121.968559000521708, 37.925002000485073 ], [ -121.96787099981303, 37.925823000451352 ], [ -121.966260000079458, 37.926474000497699 ], [ -121.964993999812847, 37.926985000634218 ], [ -121.96316599966589, 37.927723001081446 ], [ -121.962503000393653, 37.927991001023088 ], [ -121.962092999952191, 37.928156001042552 ], [ -121.960612000284499, 37.928754000875891 ], [ -121.957469999457317, 37.93002300100806 ], [ -121.957370000456507, 37.934123000546009 ], [ -121.957270000065947, 37.937523000790101 ], [ -121.956469999858925, 37.937523001087769 ], [ -121.955670000282055, 37.937423000853002 ], [ -121.955869999950437, 37.933823000904539 ], [ -121.951170000297438, 37.933623000470142 ], [ -121.946370000349958, 37.933523000758285 ], [ -121.945870000301113, 37.933523000694343 ], [ -121.94217000039923, 37.933423000758054 ], [ -121.941570000443804, 37.933423000818465 ], [ -121.940869999761659, 37.933523000321514 ], [ -121.940321000165966, 37.933601000377557 ], [ -121.940269999647185, 37.933723000945612 ], [ -121.93928799942384, 37.933791000257997 ], [ -121.938610999567032, 37.933838000236577 ], [ -121.938557000035331, 37.926444001102794 ], [ -121.935869999965348, 37.926447000642703 ], [ -121.934370000027329, 37.926449000623293 ], [ -121.933370000383036, 37.92645000096821 ], [ -121.933061000498554, 37.92645000069416 ], [ -121.932971999958795, 37.922296000609528 ], [ -121.932930000525516, 37.920335000386046 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1100, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.93367000046355, 37.941023000380142 ], [ -121.934869999926207, 37.941123000390753 ], [ -121.935869999982955, 37.941023000301158 ], [ -121.936770000050885, 37.941023000413821 ], [ -121.937569999484737, 37.941922000491431 ], [ -121.938107999985519, 37.942081001053779 ], [ -121.938640000367741, 37.942239000515585 ], [ -121.94027000030151, 37.942722000546119 ], [ -121.941969999817431, 37.943622000920726 ], [ -121.945169999494553, 37.945322000601593 ], [ -121.945999999398836, 37.945791000241918 ], [ -121.947469999776999, 37.946622000688279 ], [ -121.948469999975146, 37.947222000494435 ], [ -121.950170000090282, 37.948222000321202 ], [ -121.950713000049348, 37.948455000531538 ], [ -121.950869999921068, 37.948522000770772 ], [ -121.952170000282592, 37.949322000437071 ], [ -121.952570000380732, 37.949622000587127 ], [ -121.953651999552591, 37.950288000908692 ], [ -121.953869999766525, 37.950422000454381 ], [ -121.954369999912444, 37.950622001081413 ], [ -121.954869999567336, 37.950922000766191 ], [ -121.955140999876818, 37.951045000256322 ], [ -121.95596999950331, 37.951422000477372 ], [ -121.956169999609315, 37.951522000907275 ], [ -121.957270999593831, 37.951922000703348 ], [ -121.956569999485836, 37.952522001106843 ], [ -121.955869999779296, 37.953122000678412 ], [ -121.954870000500563, 37.954022000446514 ], [ -121.953689000427119, 37.954840001049114 ], [ -121.95357000045415, 37.954922000898762 ], [ -121.952669999780255, 37.95552200060213 ], [ -121.952469999839053, 37.955622000925089 ], [ -121.952369999765054, 37.955822000321348 ], [ -121.951570000014655, 37.95642200048237 ], [ -121.950099000210201, 37.957252000462759 ], [ -121.947669999394009, 37.958622000404922 ], [ -121.946970000043336, 37.958922000383311 ], [ -121.946169999846845, 37.959522000902382 ], [ -121.944141999448576, 37.961021000516759 ], [ -121.94386999946127, 37.96122200072746 ], [ -121.942370000493753, 37.962122000464376 ], [ -121.941269999442667, 37.962822000902051 ], [ -121.933169999719439, 37.961622001019563 ], [ -121.932919000039931, 37.961576000787176 ], [ -121.932070000304662, 37.961422000478009 ], [ -121.929969999589332, 37.962022000395933 ], [ -121.927969999632282, 37.963822000761787 ], [ -121.927870000099304, 37.966222000976224 ], [ -121.922370000292389, 37.969722000475386 ], [ -121.921460999892474, 37.97028400058452 ], [ -121.914769000237939, 37.974422001065172 ], [ -121.91056900048379, 37.974722000554522 ], [ -121.910469000414693, 37.972022001124429 ], [ -121.910490000095592, 37.971722000437474 ], [ -121.91043899974386, 37.971101000837365 ], [ -121.910418999846797, 37.970299000973263 ], [ -121.910418999397933, 37.969668001064136 ], [ -121.911525000296862, 37.969136001099208 ], [ -121.912082999523335, 37.968491000804839 ], [ -121.912651000039006, 37.967978000588467 ], [ -121.912974999561655, 37.96745600060143 ], [ -121.913239000186721, 37.966889000827798 ], [ -121.913421999667051, 37.966250000718617 ], [ -121.913735999963961, 37.965086000299081 ], [ -121.913857999519337, 37.964473000452685 ], [ -121.91396000013593, 37.963876000514929 ], [ -121.914071000495724, 37.963285000248398 ], [ -121.914425999936284, 37.962638000961547 ], [ -121.914862000262062, 37.962298000882093 ], [ -121.915490999800852, 37.962181000999962 ], [ -121.916344000429035, 37.962194001141384 ], [ -121.917135000138359, 37.962118000304763 ], [ -121.917996999604668, 37.961686000252449 ], [ -121.918437000369735, 37.961317000366513 ], [ -121.91353100044094, 37.961317000838939 ], [ -121.913603000287054, 37.957301001107979 ], [ -121.913644000283156, 37.954966000480603 ], [ -121.91378399989749, 37.949949000659203 ], [ -121.913957000252125, 37.943749000690062 ], [ -121.913968999592299, 37.943322000405523 ], [ -121.91397900024414, 37.94305900084214 ], [ -121.914109000271708, 37.93331800087897 ], [ -121.914170000467564, 37.933059000853348 ], [ -121.914184999544446, 37.932731000276242 ], [ -121.914079000049384, 37.932410000678139 ], [ -121.914154999529046, 37.932197000588943 ], [ -121.914191999497277, 37.93202200090446 ], [ -121.913972000390501, 37.932021000649549 ], [ -121.913376999613234, 37.931960000432127 ], [ -121.912644000149584, 37.931541000410341 ], [ -121.912018999915333, 37.930717000982803 ], [ -121.9112250005237, 37.93022100030462 ], [ -121.91044699966038, 37.929549000965565 ], [ -121.909568999578894, 37.928623000331697 ], [ -121.909561999428007, 37.928451001055706 ], [ -121.909927999895515, 37.928230000907334 ], [ -121.910844000447142, 37.927848000292457 ], [ -121.911805000124232, 37.927444000575363 ], [ -121.912400000253072, 37.927192000583354 ], [ -121.91275099954143, 37.926948000481445 ], [ -121.912979999779708, 37.92646700055645 ], [ -121.913071999851994, 37.925987000480987 ], [ -121.913132999414159, 37.925552000534594 ], [ -121.913193999397606, 37.925102000830407 ], [ -121.913301999857794, 37.924869001058127 ], [ -121.913368999575241, 37.924723000764423 ], [ -121.914283999918567, 37.925014000472949 ], [ -121.91554599963537, 37.925416000508697 ], [ -121.917769000517595, 37.926123000384543 ], [ -121.918113000049132, 37.926226001008658 ], [ -121.919768999824868, 37.926723000934416 ], [ -121.921069000286806, 37.927323000600161 ], [ -121.921297999823892, 37.92754100100187 ], [ -121.92267200042167, 37.92885000079611 ], [ -121.92316899956802, 37.929323000738549 ], [ -121.923408000042684, 37.930189000956368 ], [ -121.923509000229359, 37.930555000809541 ], [ -121.923478000074709, 37.931023000887663 ], [ -121.923449999957612, 37.931425001065193 ], [ -121.923406000318138, 37.931841001011982 ], [ -121.923492999835162, 37.931864000482328 ], [ -121.923746000112288, 37.931942001049791 ], [ -121.92391199947086, 37.932016000551712 ], [ -121.923946000406701, 37.932073000835288 ], [ -121.924037999630883, 37.932188000409162 ], [ -121.924468999702228, 37.932723000949458 ], [ -121.925268999403372, 37.9332230006694 ], [ -121.925542000202867, 37.933387000871569 ], [ -121.925770000228582, 37.933523001095388 ], [ -121.926569999436424, 37.933623000582188 ], [ -121.926646999571076, 37.933627000749787 ], [ -121.927642999710542, 37.933674000330775 ], [ -121.928669999669097, 37.93372300056641 ], [ -121.929004999570381, 37.933776000948789 ], [ -121.930569999441275, 37.934023000961744 ], [ -121.931169999464103, 37.93432300045405 ], [ -121.931757999484773, 37.934930000882865 ], [ -121.932832999856757, 37.936042000433133 ], [ -121.933441999989228, 37.938459000819343 ], [ -121.933534999505881, 37.93882700041307 ], [ -121.933069999473119, 37.939623000576482 ], [ -121.933369999468098, 37.940323000879857 ], [ -121.933470000250168, 37.9407230009679 ], [ -121.93367000046355, 37.941023000380142 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1088, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.191877999905955, 38.014969000573416 ], [ -122.193107999490053, 38.014385000375178 ], [ -122.199178000357307, 38.011721000578383 ], [ -122.209677999873719, 38.008021000606767 ], [ -122.215977999564529, 38.007222000883303 ], [ -122.223278000034625, 38.008022000592867 ], [ -122.228566999765491, 38.009994000863806 ], [ -122.22917900029293, 38.010222001074382 ], [ -122.230982999442489, 38.010928000432919 ], [ -122.2342789997805, 38.012221000399798 ], [ -122.238478999815598, 38.014021000320355 ], [ -122.242378000138388, 38.01486100104183 ], [ -122.245306000126831, 38.015226001115927 ], [ -122.2502679995265, 38.014752000447388 ], [ -122.25176699983723, 38.014211000279204 ], [ -122.252482000051316, 38.013749000457516 ], [ -122.25267899998039, 38.013622000241782 ], [ -122.256411000294065, 38.012254000397618 ], [ -122.258679000350014, 38.011422000318319 ], [ -122.259678999573069, 38.011822000296625 ], [ -122.260478999566288, 38.012422000313713 ], [ -122.25817900006021, 38.013322000585774 ], [ -122.257379000040828, 38.014421000540629 ], [ -122.25657899985022, 38.015821000604589 ], [ -122.256578999395231, 38.016721000622333 ], [ -122.256742000333858, 38.017292000743389 ], [ -122.256778999621275, 38.017421000697958 ], [ -122.25720799957692, 38.017957000416537 ], [ -122.257579000377945, 38.018421000413809 ], [ -122.257880000295117, 38.018821000865657 ], [ -122.258780000005274, 38.019621001015558 ], [ -122.260279999526745, 38.021121000417281 ], [ -122.261680000441004, 38.022521000447789 ], [ -122.261891000019034, 38.022706000986766 ], [ -122.262780000255361, 38.023521000256586 ], [ -122.262616999397935, 38.023705000362327 ], [ -122.262356999918183, 38.024021000719692 ], [ -122.262280000127788, 38.024121000902419 ], [ -122.261279999462232, 38.02522100076196 ], [ -122.256110999891774, 38.030788000915727 ], [ -122.25597999999772, 38.030921001081666 ], [ -122.254179999664615, 38.032721000540505 ], [ -122.245078999526413, 38.040121000311586 ], [ -122.241378999750168, 38.043221000765442 ], [ -122.237600999620511, 38.045824000593178 ], [ -122.237215000243722, 38.045665000249535 ], [ -122.237082999967498, 38.04563000108628 ], [ -122.236909999673401, 38.045572000360643 ], [ -122.236468999664964, 38.045429000267006 ], [ -122.235278999747706, 38.045121000995714 ], [ -122.231779000459468, 38.043621000714786 ], [ -122.227478999989557, 38.044821000494323 ], [ -122.216779000397764, 38.037121000731929 ], [ -122.21577900018265, 38.036221000695924 ], [ -122.209377999963607, 38.030421001101651 ], [ -122.208178000446253, 38.029421000842525 ], [ -122.204577999992694, 38.027921000349636 ], [ -122.200478000173874, 38.026421000353913 ], [ -122.196177999454633, 38.022921000895906 ], [ -122.194877999878543, 38.019621000709215 ], [ -122.190777999755582, 38.016521000895729 ], [ -122.190301000169711, 38.015761001049192 ], [ -122.190723999761701, 38.015539000475904 ], [ -122.191877999905955, 38.014969000573416 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1087, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.255763999622573, 37.995049000268274 ], [ -122.255566000455332, 37.995071000841023 ], [ -122.255375000320768, 37.995163000335722 ], [ -122.250368999546666, 37.994102000477696 ], [ -122.249433000354188, 37.993904001122203 ], [ -122.247956999902087, 37.993514000913258 ], [ -122.246878999597115, 37.99412200083421 ], [ -122.243740000201811, 37.995695000264831 ], [ -122.238970999585263, 37.998394000711649 ], [ -122.239661999777255, 37.999785000537678 ], [ -122.240338999998883, 38.000764000699455 ], [ -122.240389000354156, 38.000826000323109 ], [ -122.241389999788453, 38.000166001027729 ], [ -122.242122000474538, 38.000349001056939 ], [ -122.242578999856491, 38.000222001004978 ], [ -122.242549000069772, 38.000494000549025 ], [ -122.242701999853367, 38.000776000299638 ], [ -122.243178999811263, 38.001122000908062 ], [ -122.243250999485554, 38.001158000445415 ], [ -122.243773999667098, 38.001292000348812 ], [ -122.243967999476226, 38.001341000634341 ], [ -122.244578999569555, 38.001562000835591 ], [ -122.244978999882832, 38.001722000889025 ], [ -122.244678999683074, 38.002622001076389 ], [ -122.243778999406032, 38.003722000916035 ], [ -122.242778999984196, 38.005022000328935 ], [ -122.242179000223672, 38.006222001128627 ], [ -122.241379000158247, 38.006122000489384 ], [ -122.241479000341258, 38.005522000598638 ], [ -122.240824999914977, 38.005449000783223 ], [ -122.240578999437787, 38.005422001082053 ], [ -122.240456000521988, 38.005791000404031 ], [ -122.240279000293242, 38.006322000922509 ], [ -122.240378999486069, 38.006922000257561 ], [ -122.241479000465787, 38.007222000823539 ], [ -122.242278999611756, 38.007222000434474 ], [ -122.242978999982299, 38.00782200024274 ], [ -122.246379000454368, 38.008822000638567 ], [ -122.247979000335818, 38.00852200064687 ], [ -122.248779000148502, 38.009222001136486 ], [ -122.250279000244376, 38.009622000615906 ], [ -122.251079000432526, 38.010522000628775 ], [ -122.251779000140345, 38.010822001114335 ], [ -122.253078999526082, 38.009422000247277 ], [ -122.254679000199332, 38.008922001058394 ], [ -122.254479000139085, 38.010222000268342 ], [ -122.255979000283531, 38.01042200028256 ], [ -122.256178999808185, 38.011622000328849 ], [ -122.256313999596841, 38.011989000416243 ], [ -122.252215999813558, 38.013499000476962 ], [ -122.251692999692537, 38.013692000411751 ], [ -122.25176699983723, 38.014211000279204 ], [ -122.2502679995265, 38.014752000447388 ], [ -122.245306000126831, 38.015226001115927 ], [ -122.242378000138388, 38.01486100104183 ], [ -122.238478999815598, 38.014021000320355 ], [ -122.2342789997805, 38.012221000399798 ], [ -122.230982999442489, 38.010928000432919 ], [ -122.22917900029293, 38.010222001074382 ], [ -122.228566999765491, 38.009994000863806 ], [ -122.223278000034625, 38.008022000592867 ], [ -122.215977999564529, 38.007222000883303 ], [ -122.209677999873719, 38.008021000606767 ], [ -122.199178000357307, 38.011721000578383 ], [ -122.193107999490053, 38.014385000375178 ], [ -122.191877999905955, 38.014969000573416 ], [ -122.190723999761701, 38.015539000475904 ], [ -122.190301000169711, 38.015761001049192 ], [ -122.188773999732604, 38.016405001122529 ], [ -122.18807800017052, 38.016621000951858 ], [ -122.183790999422172, 38.016167000415187 ], [ -122.180987999544897, 38.015874001119968 ], [ -122.178978000048886, 38.015452000687162 ], [ -122.177577000010245, 38.014821000389418 ], [ -122.168781000446401, 38.007420001104066 ], [ -122.167335999596617, 38.006397000448473 ], [ -122.166297999790714, 38.005959000364818 ], [ -122.16474199977263, 38.005725000644595 ], [ -122.161628999610997, 38.005462000974696 ], [ -122.159664999741139, 38.005111001053109 ], [ -122.158109000134715, 38.004556000984671 ], [ -122.148476000060953, 37.999821000258386 ], [ -122.147544999451469, 37.999228000862765 ], [ -122.147376000382934, 37.999121000449747 ], [ -122.146076000134698, 37.997422001012083 ], [ -122.145897999751583, 37.997167001121355 ], [ -122.145842999793956, 37.997089000859731 ], [ -122.14564400001872, 37.996805000332785 ], [ -122.145375999925676, 37.996422000490199 ], [ -122.144910999545019, 37.995666001023721 ], [ -122.144575999950874, 37.995122000251733 ], [ -122.144133999818905, 37.99451100111424 ], [ -122.143394000324662, 37.993677000931029 ], [ -122.140518000269154, 37.991607000396996 ], [ -122.138826000043963, 37.990439001046546 ], [ -122.137768999918521, 37.98992200036772 ], [ -122.137154999458247, 37.989788000627286 ], [ -122.13639400015488, 37.989738000627497 ], [ -122.13580200037795, 37.989721000983607 ], [ -122.134176000455469, 37.989922001114145 ], [ -122.132935000254719, 37.990150000518938 ], [ -122.131865999823603, 37.990387001117369 ], [ -122.130375999741204, 37.990722000871173 ], [ -122.130075999423028, 37.990222000347231 ], [ -122.129976000403715, 37.989922000630798 ], [ -122.128570000383633, 37.987127001094017 ], [ -122.128375999515256, 37.986722000706919 ], [ -122.127875999615242, 37.98602200084067 ], [ -122.126475999688708, 37.983722000861505 ], [ -122.126175999406897, 37.983122000812848 ], [ -122.125775999942249, 37.982122000842118 ], [ -122.125375999427987, 37.981422000580707 ], [ -122.124974999537912, 37.98052200028112 ], [ -122.125475999690508, 37.979522000310332 ], [ -122.126076000506671, 37.978922000540109 ], [ -122.126575999790248, 37.977922000673537 ], [ -122.127476000366144, 37.97532200075235 ], [ -122.127496000208708, 37.975207000382255 ], [ -122.127776000309225, 37.973622000290973 ], [ -122.127076000155412, 37.973122000312003 ], [ -122.126776000423988, 37.972822000769604 ], [ -122.126676000455433, 37.971622000628514 ], [ -122.126475999396561, 37.968922000291499 ], [ -122.126475999647312, 37.968522000843656 ], [ -122.126476000032341, 37.967722000965921 ], [ -122.126575999463924, 37.966522000391294 ], [ -122.127847999463555, 37.966268000690768 ], [ -122.128575999972682, 37.966122000720553 ], [ -122.129775999956507, 37.963922000696677 ], [ -122.131276000526867, 37.962922000397491 ], [ -122.131476000208309, 37.962822000472016 ], [ -122.132375999962875, 37.962222000373153 ], [ -122.132176000320769, 37.960722000640686 ], [ -122.132375999786717, 37.96042200083982 ], [ -122.133075999425856, 37.959822000525584 ], [ -122.134275999627192, 37.957023000509537 ], [ -122.135476000127056, 37.954123000808274 ], [ -122.135551999876824, 37.954055000427623 ], [ -122.136575999792996, 37.951723000924858 ], [ -122.135276, 37.947723000585292 ], [ -122.135875999723027, 37.947523000305239 ], [ -122.135576000197801, 37.946323000298179 ], [ -122.133975999504457, 37.945923000599706 ], [ -122.134876000243409, 37.943523000753416 ], [ -122.137175999984208, 37.942523000335257 ], [ -122.138875999572832, 37.939123000684084 ], [ -122.137876000470726, 37.938223000687195 ], [ -122.140575999439307, 37.937823000674882 ], [ -122.142375999484059, 37.935123000583218 ], [ -122.143675999795391, 37.935523000268461 ], [ -122.148775999426618, 37.933823000249298 ], [ -122.148375999926131, 37.933023000543116 ], [ -122.151976000144074, 37.929023000737452 ], [ -122.155276000471105, 37.928423000915622 ], [ -122.156376000451587, 37.927023000300451 ], [ -122.159677000416892, 37.92742300109002 ], [ -122.160977000148478, 37.926723001019923 ], [ -122.161877000007053, 37.926224000779328 ], [ -122.163500999453134, 37.926224001094035 ], [ -122.165077000219412, 37.926224000754075 ], [ -122.165304000173521, 37.924711001124784 ], [ -122.165377000093557, 37.924224000514457 ], [ -122.165629000315533, 37.923972000283555 ], [ -122.165777000426687, 37.923824000703021 ], [ -122.166677000011575, 37.922924000707539 ], [ -122.168576999573048, 37.9221240010949 ], [ -122.178576999910263, 37.919324000830301 ], [ -122.184676999718661, 37.919624000559558 ], [ -122.187376999918826, 37.920124000758612 ], [ -122.193178000044512, 37.921124000576619 ], [ -122.194278000391137, 37.921424000709059 ], [ -122.196077999765322, 37.921224001022679 ], [ -122.19747799977452, 37.919024001046139 ], [ -122.198777999556839, 37.918024000587984 ], [ -122.203778000225682, 37.908424000360228 ], [ -122.203850000274329, 37.908430000581475 ], [ -122.208926000122986, 37.908820000756904 ], [ -122.208978000345695, 37.90882400046123 ], [ -122.210077999728867, 37.907324000926458 ], [ -122.209405000263629, 37.906100000978292 ], [ -122.207877999803102, 37.903324000809178 ], [ -122.206778000048175, 37.901424000629092 ], [ -122.209877999912294, 37.900324000560687 ], [ -122.210277999711323, 37.899224000806086 ], [ -122.21045199944912, 37.89924300093459 ], [ -122.214977999693744, 37.899724000354475 ], [ -122.215478000372926, 37.900224000385812 ], [ -122.216978000052634, 37.899724000606987 ], [ -122.218977999405581, 37.897525000434094 ], [ -122.219678000208731, 37.899024000596775 ], [ -122.222278000299056, 37.899324000469925 ], [ -122.222578000181869, 37.898125000251284 ], [ -122.227078999809478, 37.899724000271135 ], [ -122.229779000085216, 37.898225000314135 ], [ -122.235378999532458, 37.899325001026369 ], [ -122.23847899999501, 37.900825000391627 ], [ -122.242479000456868, 37.904324000399505 ], [ -122.24457899953228, 37.904224000508464 ], [ -122.247578999895424, 37.902025000897169 ], [ -122.24967900003611, 37.900325000749987 ], [ -122.249179000287796, 37.899425000994597 ], [ -122.247779000490794, 37.89912500077601 ], [ -122.245679000199914, 37.896725001092555 ], [ -122.243778999888008, 37.89602500089601 ], [ -122.241879000305715, 37.892425000702914 ], [ -122.242978999833269, 37.89212500088469 ], [ -122.244178999603363, 37.892125000809401 ], [ -122.244979000039251, 37.892625001024015 ], [ -122.248978999941713, 37.891225000340178 ], [ -122.249379000128741, 37.892725001112389 ], [ -122.249778999617419, 37.893225000468668 ], [ -122.251278999537831, 37.893925000294381 ], [ -122.252978999811006, 37.893425000373988 ], [ -122.253478999668019, 37.894125000982584 ], [ -122.253178999473477, 37.895025000757492 ], [ -122.253678999571008, 37.895825000886276 ], [ -122.254478999702656, 37.896325000641411 ], [ -122.255578999767877, 37.896525000273471 ], [ -122.256279000489627, 37.896325000747389 ], [ -122.256578999503944, 37.896325000484858 ], [ -122.256719000299697, 37.896605000630757 ], [ -122.25687899988894, 37.89692500070332 ], [ -122.256678999843317, 37.898625000714887 ], [ -122.256707000088937, 37.898877000664164 ], [ -122.256778999739765, 37.899525000966761 ], [ -122.257679000364348, 37.899725000574939 ], [ -122.258579999998844, 37.899125000372486 ], [ -122.259379999636238, 37.899325000549965 ], [ -122.260279999413541, 37.900025000677488 ], [ -122.261379999985408, 37.899625001083884 ], [ -122.261479999605413, 37.899925000907736 ], [ -122.261780000018319, 37.901625000760717 ], [ -122.262579999831559, 37.901925000429927 ], [ -122.263880000519265, 37.903425000668506 ], [ -122.264480000511384, 37.903725000929519 ], [ -122.265079999691963, 37.904025000835141 ], [ -122.265623000430168, 37.904297000507661 ], [ -122.265879999729236, 37.904425001072553 ], [ -122.266880000203386, 37.904525000366633 ], [ -122.267116000305464, 37.904487000996312 ], [ -122.267526999526581, 37.904421000434581 ], [ -122.268537999907963, 37.904260000974745 ], [ -122.269379999914804, 37.90412500047367 ], [ -122.269980000158156, 37.9045250002602 ], [ -122.269880000358555, 37.905624000834486 ], [ -122.270379999600351, 37.906924001086097 ], [ -122.269679999705104, 37.907824001031749 ], [ -122.268779999783561, 37.906924000953445 ], [ -122.267780000369029, 37.907424001130146 ], [ -122.267879999644762, 37.907724000679003 ], [ -122.268980000276514, 37.907524001048635 ], [ -122.270479999583699, 37.908724000771088 ], [ -122.27128000011308, 37.908924000508151 ], [ -122.271680000069594, 37.909224000900707 ], [ -122.272978000055772, 37.910883000682922 ], [ -122.273480000460182, 37.911524000929369 ], [ -122.273080000299089, 37.911724000316468 ], [ -122.271979999587643, 37.91272400088495 ], [ -122.271080000459321, 37.913624001035053 ], [ -122.272879999454034, 37.914924000684145 ], [ -122.27517999955289, 37.915924000701231 ], [ -122.276879999503706, 37.917624000283908 ], [ -122.278879999858447, 37.917224000263417 ], [ -122.280679999703722, 37.919524000514457 ], [ -122.279080000156085, 37.920324000641159 ], [ -122.278279999892447, 37.920724001012644 ], [ -122.270879999724329, 37.92452400066712 ], [ -122.270779999708537, 37.921124000699791 ], [ -122.263780000373814, 37.921324001048824 ], [ -122.261179999550251, 37.920924000359896 ], [ -122.254978999916133, 37.920324000598896 ], [ -122.255368000461289, 37.920734000469196 ], [ -122.264280000444344, 37.930124000474542 ], [ -122.272880000216773, 37.938424000627684 ], [ -122.265179999511119, 37.942223000812163 ], [ -122.263241000157933, 37.943435000585893 ], [ -122.264680000160993, 37.945023000602333 ], [ -122.265079999540333, 37.945373000987914 ], [ -122.265480000424716, 37.945723000918974 ], [ -122.267150000334681, 37.947072000477512 ], [ -122.268080000226036, 37.947823000336079 ], [ -122.268280000211234, 37.948423000635856 ], [ -122.268880000231675, 37.949223000574797 ], [ -122.269280000382437, 37.949823000697087 ], [ -122.26961500012186, 37.950334001033106 ], [ -122.270773000296998, 37.952102000566853 ], [ -122.271180000193723, 37.95272300030652 ], [ -122.27248000025557, 37.953823000417522 ], [ -122.271980000099305, 37.954323000546097 ], [ -122.271379999674906, 37.955423000517854 ], [ -122.270279999550738, 37.95612300073639 ], [ -122.269180000055897, 37.957223000473469 ], [ -122.268379999672774, 37.958223000387548 ], [ -122.266279999968319, 37.959823000588443 ], [ -122.265179999710341, 37.959823000783302 ], [ -122.264079000056995, 37.959823000662276 ], [ -122.264019999835369, 37.959862000284765 ], [ -122.259679000325917, 37.962723000656261 ], [ -122.258671999471559, 37.962982000517904 ], [ -122.257367999739074, 37.963317001038291 ], [ -122.255548000256738, 37.963785000311468 ], [ -122.254190999410838, 37.964134000883242 ], [ -122.252678999661214, 37.964523001127844 ], [ -122.251406999659068, 37.964349001100956 ], [ -122.247707000325207, 37.963842000695756 ], [ -122.246191000247123, 37.96363400083824 ], [ -122.245378999446274, 37.96352300028753 ], [ -122.243378999852155, 37.964323000320299 ], [ -122.242879000492792, 37.970723000945995 ], [ -122.242578999759374, 37.971123000486536 ], [ -122.237242000275572, 37.972825000337302 ], [ -122.23097900000225, 37.974822001069171 ], [ -122.228278000147412, 37.973122000544592 ], [ -122.225878000021723, 37.973322000698111 ], [ -122.223577999624339, 37.972522000570962 ], [ -122.220377999472362, 37.970323001129898 ], [ -122.215078000033671, 37.970323000826525 ], [ -122.209877999734744, 37.968323000595653 ], [ -122.206777999486462, 37.966523000333964 ], [ -122.22142100005415, 37.984524000303779 ], [ -122.224273000051397, 37.985490000892092 ], [ -122.229470000045438, 37.984600000838633 ], [ -122.234084999791989, 37.984469000323315 ], [ -122.245758000508459, 37.990912000668352 ], [ -122.249216999394278, 37.992822000763688 ], [ -122.250103000265412, 37.993174000649752 ], [ -122.250924000112434, 37.993500000875699 ], [ -122.253439000090495, 37.994498000952852 ], [ -122.254375999828611, 37.99415800093864 ], [ -122.255509000037534, 37.993808000855296 ], [ -122.256139000201628, 37.993613000751012 ], [ -122.256409999435164, 37.993529000786204 ], [ -122.257395999619305, 37.993262001014919 ], [ -122.259356000287042, 37.992617000271999 ], [ -122.261146999906828, 37.992651001049047 ], [ -122.262726999857279, 37.992681000465758 ], [ -122.264887999623156, 37.992723000687903 ], [ -122.269018999971649, 37.993601000964922 ], [ -122.270206000401714, 37.994051000515597 ], [ -122.270412000267072, 37.994129000407476 ], [ -122.271411999569594, 37.994508000548151 ], [ -122.271571999901568, 37.994569001124184 ], [ -122.273120999458087, 37.995207000411867 ], [ -122.27341399987948, 37.995510001088967 ], [ -122.273515999392345, 37.995640000837128 ], [ -122.273672999949312, 37.995840000480001 ], [ -122.27401899943176, 37.99610800065313 ], [ -122.273279999432333, 37.99612200087045 ], [ -122.273002999679264, 37.996089000282815 ], [ -122.272121999989949, 37.995985000342912 ], [ -122.271344000264364, 37.996069000327573 ], [ -122.270809999688481, 37.996214000398837 ], [ -122.270580000448419, 37.996222000512212 ], [ -122.269580000157859, 37.996222001028499 ], [ -122.26868000027325, 37.996122000457973 ], [ -122.268460000508711, 37.995993000271525 ], [ -122.26802500003123, 37.995974000421832 ], [ -122.267925999745856, 37.995970000823966 ], [ -122.267680000470051, 37.99592200054235 ], [ -122.267421999858186, 37.995878000544522 ], [ -122.266948999388319, 37.995589000996354 ], [ -122.266352999990417, 37.995276001115691 ], [ -122.265604999438878, 37.995146000692515 ], [ -122.265026000188897, 37.995093000249696 ], [ -122.264522000164618, 37.99485600073865 ], [ -122.264185999968547, 37.994528000615098 ], [ -122.263789999475136, 37.994162000314248 ], [ -122.263694999965836, 37.994012000707123 ], [ -122.263277000165118, 37.993773000777679 ], [ -122.262840999398236, 37.99357900064458 ], [ -122.262273000100535, 37.993468001055092 ], [ -122.261663999971233, 37.993427000948252 ], [ -122.26063900026405, 37.993497000304671 ], [ -122.259624999687659, 37.993542000978032 ], [ -122.259057000428371, 37.9937750007077 ], [ -122.258613999588306, 37.993987001061249 ], [ -122.258518999816829, 37.994032001129909 ], [ -122.258041999631359, 37.99426500089681 ], [ -122.257677000107407, 37.994369000891552 ], [ -122.257361999469765, 37.994376000599516 ], [ -122.257280999962632, 37.99437400109143 ], [ -122.257187999960919, 37.994371001026657 ], [ -122.257006999808198, 37.994366001131553 ], [ -122.256833999568471, 37.994385001019978 ], [ -122.256570999921664, 37.994414000992414 ], [ -122.256337000010276, 37.994589000596356 ], [ -122.256185999676504, 37.994825000963317 ], [ -122.25615499966662, 37.99487300042788 ], [ -122.256113999874643, 37.995010000352188 ], [ -122.255763999622573, 37.995049000268274 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1089, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.240179999532032, 38.058320000979052 ], [ -122.234179000027211, 38.057320000908611 ], [ -122.225979000514982, 38.056820000497332 ], [ -122.225978999669209, 38.056320000510581 ], [ -122.225579000040057, 38.056320001132811 ], [ -122.225678999942133, 38.055820001090417 ], [ -122.225887999632661, 38.055041000557793 ], [ -122.225989000070655, 38.054848000771322 ], [ -122.226326999752487, 38.054038000781617 ], [ -122.226554999539175, 38.0535310002956 ], [ -122.227705000431939, 38.052710000793319 ], [ -122.227910999974185, 38.05256900060489 ], [ -122.235678999744295, 38.047221001046118 ], [ -122.237379000502216, 38.046021000818669 ], [ -122.237600999620511, 38.045824000593178 ], [ -122.241378999750168, 38.043221000765442 ], [ -122.245078999526413, 38.040121000311586 ], [ -122.254179999664615, 38.032721000540505 ], [ -122.25597999999772, 38.030921001081666 ], [ -122.256110999891774, 38.030788000915727 ], [ -122.261279999462232, 38.02522100076196 ], [ -122.262280000127788, 38.024121000902419 ], [ -122.262356999918183, 38.024021000719692 ], [ -122.262616999397935, 38.023705000362327 ], [ -122.262780000255361, 38.023521000256586 ], [ -122.263202000471168, 38.023887000772582 ], [ -122.264280000433757, 38.024842000615003 ], [ -122.264572000519792, 38.025133001083162 ], [ -122.265602000205178, 38.026162000744549 ], [ -122.265580000197588, 38.026221000923357 ], [ -122.266379999398154, 38.02842100066681 ], [ -122.26678000023955, 38.027321000272437 ], [ -122.266865000256118, 38.027406000751931 ], [ -122.267771000267061, 38.028203000373011 ], [ -122.267954000357221, 38.028131000252905 ], [ -122.270511000122141, 38.030556000702546 ], [ -122.270579999702946, 38.031121000788829 ], [ -122.272080000443324, 38.032321000611667 ], [ -122.273880000161313, 38.034121001022086 ], [ -122.275520999546586, 38.035469000856949 ], [ -122.275380000377197, 38.035921000525398 ], [ -122.27567999986573, 38.036521000243823 ], [ -122.275780000361294, 38.037521000434964 ], [ -122.275280000402859, 38.037321000576291 ], [ -122.274580000116714, 38.037921000666373 ], [ -122.274479999578091, 38.038721000281761 ], [ -122.274180000096479, 38.03942100070536 ], [ -122.271280000415757, 38.039821001008654 ], [ -122.270880000271362, 38.039221000302419 ], [ -122.266052999589604, 38.040562000346881 ], [ -122.265480000442693, 38.040721000954271 ], [ -122.264779999548509, 38.042221000654614 ], [ -122.265179999918303, 38.042921000860154 ], [ -122.263780000140997, 38.043421000375687 ], [ -122.26278000032562, 38.048821001035378 ], [ -122.263280000219453, 38.049321000946733 ], [ -122.262779999676042, 38.051521001083003 ], [ -122.262079999713549, 38.051921000597524 ], [ -122.262180000135416, 38.052121000502936 ], [ -122.261480000457524, 38.052321000527662 ], [ -122.261479999608, 38.052621000591337 ], [ -122.262079999527245, 38.052521000779194 ], [ -122.262179999884637, 38.052821000388704 ], [ -122.261479999878048, 38.052921000646954 ], [ -122.261780000154289, 38.054020000526506 ], [ -122.261579999945894, 38.054320000654499 ], [ -122.262280000471165, 38.056720000808909 ], [ -122.264279999936264, 38.056420000461436 ], [ -122.264480000074911, 38.056820000735776 ], [ -122.261980000376042, 38.057220000378223 ], [ -122.260779999745537, 38.05242100024104 ], [ -122.257680000136119, 38.05192100087833 ], [ -122.255279999473998, 38.051921000338943 ], [ -122.255279999619646, 38.052521000299109 ], [ -122.25238000038604, 38.05322000086786 ], [ -122.248180000019062, 38.056220000518366 ], [ -122.246080000100633, 38.057820000649954 ], [ -122.245679999714795, 38.058020000240653 ], [ -122.244280000248239, 38.05842000111619 ], [ -122.240179999532032, 38.058320000979052 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1083, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.29417999970687, 38.017021000609539 ], [ -122.29397999993536, 38.017121000889368 ], [ -122.29217999982292, 38.017821000499538 ], [ -122.289579999786952, 38.021421000735131 ], [ -122.290380000483651, 38.021621000724693 ], [ -122.290280000026399, 38.023621000455975 ], [ -122.287279999804397, 38.021921000876191 ], [ -122.285479999631249, 38.022321001020103 ], [ -122.282679999866176, 38.023521001028897 ], [ -122.279880000270921, 38.028121000239153 ], [ -122.278080000362039, 38.031121000868119 ], [ -122.27559800007208, 38.03553400064785 ], [ -122.275380000377197, 38.035921000525398 ], [ -122.275520999546586, 38.035469000856949 ], [ -122.273880000161313, 38.034121001022086 ], [ -122.272080000443324, 38.032321000611667 ], [ -122.270579999702946, 38.031121000788829 ], [ -122.270511000122141, 38.030556000702546 ], [ -122.267954000357221, 38.028131000252905 ], [ -122.267771000267061, 38.028203000373011 ], [ -122.266865000256118, 38.027406000751931 ], [ -122.26678000023955, 38.027321000272437 ], [ -122.266379999398154, 38.02842100066681 ], [ -122.265580000197588, 38.026221000923357 ], [ -122.265602000205178, 38.026162000744549 ], [ -122.264572000519792, 38.025133001083162 ], [ -122.264280000433757, 38.024842000615003 ], [ -122.263202000471168, 38.023887000772582 ], [ -122.262780000255361, 38.023521000256586 ], [ -122.263680000194086, 38.022621000413707 ], [ -122.264219000510948, 38.021903001119782 ], [ -122.264279999544925, 38.021821000567947 ], [ -122.265279999606918, 38.020721000328876 ], [ -122.265779999622239, 38.020121000809937 ], [ -122.267580000401253, 38.018221001075133 ], [ -122.269780000343474, 38.015921000977876 ], [ -122.272179999533478, 38.013222000848188 ], [ -122.272680000232725, 38.012522000995624 ], [ -122.272957999571872, 38.012225000410716 ], [ -122.275495999636732, 38.009519000647138 ], [ -122.275535000391386, 38.009477001065612 ], [ -122.276750000427384, 38.008181000648008 ], [ -122.277430000022846, 38.007455000717634 ], [ -122.277878000416479, 38.006977000967957 ], [ -122.278255999965978, 38.00657400085688 ], [ -122.2798049998501, 38.004922000590661 ], [ -122.280179999864515, 38.00452200037045 ], [ -122.282480000070564, 38.002122000522185 ], [ -122.283169999879107, 38.001357000323871 ], [ -122.283262999481323, 38.001254001033153 ], [ -122.284373999796543, 38.00008300092896 ], [ -122.286679999820066, 37.997722001131883 ], [ -122.288379999990994, 37.996722000542135 ], [ -122.289748000023209, 37.996229000827526 ], [ -122.290879999474413, 37.995822000300699 ], [ -122.293779999742441, 37.995322000301485 ], [ -122.297080000332571, 37.994822001039147 ], [ -122.299442000396382, 37.994561000517841 ], [ -122.300977999455412, 37.994416000518328 ], [ -122.30157799989334, 37.994352000267064 ], [ -122.301958999923684, 37.994316000447675 ], [ -122.302477999900873, 37.994235000749079 ], [ -122.302778000093625, 37.994868000780144 ], [ -122.302909999619388, 37.995257000915842 ], [ -122.303034999907098, 37.995626000683146 ], [ -122.302679999801185, 37.99622200088082 ], [ -122.301979999466653, 37.997922000783298 ], [ -122.30154000023326, 37.998739000577167 ], [ -122.300903000458192, 37.999922001128198 ], [ -122.299879999788061, 38.001822000483706 ], [ -122.299780000121771, 38.002422000969055 ], [ -122.299679999725669, 38.003322000856159 ], [ -122.299180000001471, 38.004922000953762 ], [ -122.300079999455065, 38.006522000905896 ], [ -122.299979999522918, 38.007322000640237 ], [ -122.300080000511286, 38.007922000629506 ], [ -122.300080000505034, 38.008522001051311 ], [ -122.300080999422804, 38.009122001049406 ], [ -122.300180999546683, 38.009622001032731 ], [ -122.300180999550932, 38.010024000830875 ], [ -122.300180999956297, 38.010422000759128 ], [ -122.300179000322814, 38.010851000623944 ], [ -122.30558099967017, 38.011022000909279 ], [ -122.310480999605375, 38.010822000405248 ], [ -122.305480999578933, 38.01132200080577 ], [ -122.300680999416301, 38.011022000430522 ], [ -122.300174999425067, 38.011626000327219 ], [ -122.297580999715095, 38.014722000441154 ], [ -122.296881000047151, 38.014622000875185 ], [ -122.296881000348222, 38.015621000444312 ], [ -122.296191000290776, 38.015979000458927 ], [ -122.29417999970687, 38.017021000609539 ] ] ], [ [ [ -122.316180999999091, 38.011922001030584 ], [ -122.31688099948181, 38.011922000403345 ], [ -122.316681000308321, 38.012722001105288 ], [ -122.316180999999091, 38.011922001030584 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1082, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.300080999422804, 38.009122001049406 ], [ -122.300080000505034, 38.008522001051311 ], [ -122.300080000511286, 38.007922000629506 ], [ -122.299979999522918, 38.007322000640237 ], [ -122.300079999455065, 38.006522000905896 ], [ -122.299180000001471, 38.004922000953762 ], [ -122.299679999725669, 38.003322000856159 ], [ -122.299780000121771, 38.002422000969055 ], [ -122.299879999788061, 38.001822000483706 ], [ -122.300903000458192, 37.999922001128198 ], [ -122.30154000023326, 37.998739000577167 ], [ -122.301979999466653, 37.997922000783298 ], [ -122.302679999801185, 37.99622200088082 ], [ -122.303034999907098, 37.995626000683146 ], [ -122.306781000027854, 37.996622000340714 ], [ -122.307581000110588, 37.996922000431553 ], [ -122.308480999558, 37.996322000857219 ], [ -122.309180999570771, 37.995822000345605 ], [ -122.30958099940338, 37.996422000682756 ], [ -122.310381000203378, 37.997622000779387 ], [ -122.310680999851243, 37.998122000270335 ], [ -122.310581000411361, 37.999222000653809 ], [ -122.311080999654649, 37.999122000706002 ], [ -122.312081000000617, 37.99882200074255 ], [ -122.312605000228132, 37.998522000399554 ], [ -122.312781000478211, 37.998422000642002 ], [ -122.313170000438802, 37.998200000902813 ], [ -122.31348100017307, 37.998022000820626 ], [ -122.314481000110362, 37.997622001003826 ], [ -122.315080999892814, 37.997622000849034 ], [ -122.315335999834645, 37.997565001062185 ], [ -122.315566999937332, 37.99751400053168 ], [ -122.315980999613842, 37.997422000671946 ], [ -122.316743000284774, 37.998536000243845 ], [ -122.317369999385477, 37.999401001125811 ], [ -122.317481000184742, 37.999603000912437 ], [ -122.317481000462237, 37.999703000917421 ], [ -122.31742400031014, 38.000951000832899 ], [ -122.317512000323006, 38.000951000544923 ], [ -122.31771200006726, 38.000905000982222 ], [ -122.318047999646794, 38.00143800048204 ], [ -122.316740000244408, 38.002133000972158 ], [ -122.316904999571591, 38.002186000875639 ], [ -122.317248999951232, 38.002460000344826 ], [ -122.317681000522086, 38.00282200059192 ], [ -122.317519999718925, 38.002876000791609 ], [ -122.316481000307164, 38.003222000385556 ], [ -122.31558099957158, 38.003637000980341 ], [ -122.315181000070126, 38.003822000248093 ], [ -122.312380999577286, 38.005022000265122 ], [ -122.312980999694474, 38.005722000331062 ], [ -122.313281000207311, 38.006222000815548 ], [ -122.314981000104424, 38.005222000371191 ], [ -122.315334999864632, 38.00510800045015 ], [ -122.315580999591262, 38.005722000980541 ], [ -122.315781000085195, 38.006222000729174 ], [ -122.315381000377016, 38.007122000449236 ], [ -122.315180999509352, 38.007822000270735 ], [ -122.315180999601182, 38.008722000695137 ], [ -122.314589000056003, 38.009046000281991 ], [ -122.314418999455043, 38.009110000966025 ], [ -122.314355999887198, 38.009133000954272 ], [ -122.314204000355318, 38.009174000350285 ], [ -122.314071999966458, 38.009204000809689 ], [ -122.313939999986871, 38.009204000454311 ], [ -122.313685999679876, 38.009158000817813 ], [ -122.31328999994156, 38.009042000593595 ], [ -122.313107000363289, 38.00901500036057 ], [ -122.312863999720548, 38.008998000368948 ], [ -122.313172999885168, 38.009331000781152 ], [ -122.313303999435277, 38.009603000273493 ], [ -122.313395000025793, 38.010065000397404 ], [ -122.313394999649333, 38.010173000799263 ], [ -122.312980000086412, 38.010176000784661 ], [ -122.313046000448892, 38.010329000664456 ], [ -122.313370999661402, 38.011084000376748 ], [ -122.311281000242815, 38.010722000455942 ], [ -122.310480999605375, 38.010822000405248 ], [ -122.30558099967017, 38.011022000909279 ], [ -122.300179000322814, 38.010851000623944 ], [ -122.300180999956297, 38.010422000759128 ], [ -122.300180999550932, 38.010024000830875 ], [ -122.300180999546683, 38.009622001032731 ], [ -122.300080999422804, 38.009122001049406 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1086, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.256313999596841, 38.011989000416243 ], [ -122.256178999808185, 38.011622000328849 ], [ -122.255979000283531, 38.01042200028256 ], [ -122.254479000139085, 38.010222000268342 ], [ -122.254679000199332, 38.008922001058394 ], [ -122.253078999526082, 38.009422000247277 ], [ -122.251779000140345, 38.010822001114335 ], [ -122.251079000432526, 38.010522000628775 ], [ -122.250279000244376, 38.009622000615906 ], [ -122.248779000148502, 38.009222001136486 ], [ -122.247979000335818, 38.00852200064687 ], [ -122.246379000454368, 38.008822000638567 ], [ -122.242978999982299, 38.00782200024274 ], [ -122.242278999611756, 38.007222000434474 ], [ -122.241479000465787, 38.007222000823539 ], [ -122.240378999486069, 38.006922000257561 ], [ -122.240279000293242, 38.006322000922509 ], [ -122.240456000521988, 38.005791000404031 ], [ -122.240578999437787, 38.005422001082053 ], [ -122.240824999914977, 38.005449000783223 ], [ -122.241479000341258, 38.005522000598638 ], [ -122.241379000158247, 38.006122000489384 ], [ -122.242179000223672, 38.006222001128627 ], [ -122.242778999984196, 38.005022000328935 ], [ -122.243778999406032, 38.003722000916035 ], [ -122.244678999683074, 38.002622001076389 ], [ -122.244978999882832, 38.001722000889025 ], [ -122.244578999569555, 38.001562000835591 ], [ -122.243967999476226, 38.001341000634341 ], [ -122.243773999667098, 38.001292000348812 ], [ -122.243250999485554, 38.001158000445415 ], [ -122.243178999811263, 38.001122000908062 ], [ -122.242701999853367, 38.000776000299638 ], [ -122.242549000069772, 38.000494000549025 ], [ -122.242578999856491, 38.000222001004978 ], [ -122.242122000474538, 38.000349001056939 ], [ -122.241389999788453, 38.000166001027729 ], [ -122.240389000354156, 38.000826000323109 ], [ -122.240338999998883, 38.000764000699455 ], [ -122.239661999777255, 37.999785000537678 ], [ -122.238970999585263, 37.998394000711649 ], [ -122.243740000201811, 37.995695000264831 ], [ -122.246878999597115, 37.99412200083421 ], [ -122.247878999489316, 37.994922000827259 ], [ -122.247936000406838, 37.995268000370864 ], [ -122.247979000056517, 37.995522000453505 ], [ -122.248165000162842, 37.996054000841674 ], [ -122.248684999475103, 37.996465000702067 ], [ -122.248850999731786, 37.996596001010111 ], [ -122.249660000483118, 37.997145000785032 ], [ -122.250575000066021, 37.99787000027073 ], [ -122.251704999484375, 37.998747000256188 ], [ -122.252895000036062, 37.999518000711859 ], [ -122.253597000316887, 37.999869000775838 ], [ -122.253757999807817, 37.999922000636836 ], [ -122.255168000039959, 38.000387000751367 ], [ -122.256663999872103, 38.000891001090409 ], [ -122.25733499987372, 38.00118800046468 ], [ -122.25825100040251, 38.001570001121586 ], [ -122.259394999403796, 38.001822001055913 ], [ -122.260661999640234, 38.002226001086164 ], [ -122.261078999501009, 38.002422000589895 ], [ -122.263679000162156, 38.004222000397107 ], [ -122.265180000043429, 38.005222000680646 ], [ -122.266750999529009, 38.005680000918936 ], [ -122.267579999721491, 38.005922000438595 ], [ -122.268379999862532, 38.006322000302212 ], [ -122.269481999605574, 38.007467000707862 ], [ -122.269680000236661, 38.007622000914104 ], [ -122.270033999580022, 38.008015000812819 ], [ -122.270579999883168, 38.008622000643321 ], [ -122.270980000451672, 38.010222000681843 ], [ -122.271579999726924, 38.010422000354687 ], [ -122.271880000133748, 38.010922000517176 ], [ -122.272680000232725, 38.012522000995624 ], [ -122.272179999533478, 38.013222000848188 ], [ -122.269780000343474, 38.015921000977876 ], [ -122.267580000401253, 38.018221001075133 ], [ -122.265779999622239, 38.020121000809937 ], [ -122.265279999606918, 38.020721000328876 ], [ -122.264279999544925, 38.021821000567947 ], [ -122.264219000510948, 38.021903001119782 ], [ -122.263680000194086, 38.022621000413707 ], [ -122.262780000255361, 38.023521000256586 ], [ -122.261891000019034, 38.022706000986766 ], [ -122.261680000441004, 38.022521000447789 ], [ -122.260279999526745, 38.021121000417281 ], [ -122.258780000005274, 38.019621001015558 ], [ -122.257880000295117, 38.018821000865657 ], [ -122.257579000377945, 38.018421000413809 ], [ -122.25720799957692, 38.017957000416537 ], [ -122.256778999621275, 38.017421000697958 ], [ -122.256742000333858, 38.017292000743389 ], [ -122.256578999395231, 38.016721000622333 ], [ -122.25657899985022, 38.015821000604589 ], [ -122.257379000040828, 38.014421000540629 ], [ -122.25817900006021, 38.013322000585774 ], [ -122.260478999566288, 38.012422000313713 ], [ -122.259678999573069, 38.011822000296625 ], [ -122.258679000350014, 38.011422000318319 ], [ -122.256411000294065, 38.012254000397618 ], [ -122.25267899998039, 38.013622000241782 ], [ -122.252482000051316, 38.013749000457516 ], [ -122.25176699983723, 38.014211000279204 ], [ -122.251692999692537, 38.013692000411751 ], [ -122.252215999813558, 38.013499000476962 ], [ -122.256313999596841, 38.011989000416243 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1085, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.275495999636732, 38.009519000647138 ], [ -122.272957999571872, 38.012225000410716 ], [ -122.272680000232725, 38.012522000995624 ], [ -122.271880000133748, 38.010922000517176 ], [ -122.271579999726924, 38.010422000354687 ], [ -122.270980000451672, 38.010222000681843 ], [ -122.270579999883168, 38.008622000643321 ], [ -122.270033999580022, 38.008015000812819 ], [ -122.269680000236661, 38.007622000914104 ], [ -122.269481999605574, 38.007467000707862 ], [ -122.268379999862532, 38.006322000302212 ], [ -122.267579999721491, 38.005922000438595 ], [ -122.266750999529009, 38.005680000918936 ], [ -122.265180000043429, 38.005222000680646 ], [ -122.263679000162156, 38.004222000397107 ], [ -122.261078999501009, 38.002422000589895 ], [ -122.260661999640234, 38.002226001086164 ], [ -122.259394999403796, 38.001822001055913 ], [ -122.25825100040251, 38.001570001121586 ], [ -122.25733499987372, 38.00118800046468 ], [ -122.256663999872103, 38.000891001090409 ], [ -122.255168000039959, 38.000387000751367 ], [ -122.253757999807817, 37.999922000636836 ], [ -122.253597000316887, 37.999869000775838 ], [ -122.252895000036062, 37.999518000711859 ], [ -122.251704999484375, 37.998747000256188 ], [ -122.250575000066021, 37.99787000027073 ], [ -122.249660000483118, 37.997145000785032 ], [ -122.248850999731786, 37.996596001010111 ], [ -122.248684999475103, 37.996465000702067 ], [ -122.248165000162842, 37.996054000841674 ], [ -122.247979000056517, 37.995522000453505 ], [ -122.247936000406838, 37.995268000370864 ], [ -122.247878999489316, 37.994922000827259 ], [ -122.246878999597115, 37.99412200083421 ], [ -122.247956999902087, 37.993514000913258 ], [ -122.249433000354188, 37.993904001122203 ], [ -122.250368999546666, 37.994102000477696 ], [ -122.255375000320768, 37.995163000335722 ], [ -122.255566000455332, 37.995071000841023 ], [ -122.255763999622573, 37.995049000268274 ], [ -122.256113999874643, 37.995010000352188 ], [ -122.25615499966662, 37.99487300042788 ], [ -122.256185999676504, 37.994825000963317 ], [ -122.256337000010276, 37.994589000596356 ], [ -122.256570999921664, 37.994414000992414 ], [ -122.256833999568471, 37.994385001019978 ], [ -122.257006999808198, 37.994366001131553 ], [ -122.257187999960919, 37.994371001026657 ], [ -122.257280999962632, 37.99437400109143 ], [ -122.257361999469765, 37.994376000599516 ], [ -122.257677000107407, 37.994369000891552 ], [ -122.258041999631359, 37.99426500089681 ], [ -122.258518999816829, 37.994032001129909 ], [ -122.258613999588306, 37.993987001061249 ], [ -122.259057000428371, 37.9937750007077 ], [ -122.259624999687659, 37.993542000978032 ], [ -122.26063900026405, 37.993497000304671 ], [ -122.261663999971233, 37.993427000948252 ], [ -122.262273000100535, 37.993468001055092 ], [ -122.262840999398236, 37.99357900064458 ], [ -122.263277000165118, 37.993773000777679 ], [ -122.263694999965836, 37.994012000707123 ], [ -122.263789999475136, 37.994162000314248 ], [ -122.264185999968547, 37.994528000615098 ], [ -122.264522000164618, 37.99485600073865 ], [ -122.265026000188897, 37.995093000249696 ], [ -122.265604999438878, 37.995146000692515 ], [ -122.266352999990417, 37.995276001115691 ], [ -122.266948999388319, 37.995589000996354 ], [ -122.267421999858186, 37.995878000544522 ], [ -122.267680000470051, 37.99592200054235 ], [ -122.267925999745856, 37.995970000823966 ], [ -122.26802500003123, 37.995974000421832 ], [ -122.268460000508711, 37.995993000271525 ], [ -122.26868000027325, 37.996122000457973 ], [ -122.269580000157859, 37.996222001028499 ], [ -122.270580000448419, 37.996222000512212 ], [ -122.270809999688481, 37.996214000398837 ], [ -122.271344000264364, 37.996069000327573 ], [ -122.272121999989949, 37.995985000342912 ], [ -122.273002999679264, 37.996089000282815 ], [ -122.273279999432333, 37.99612200087045 ], [ -122.27401899943176, 37.99610800065313 ], [ -122.27408999947103, 37.996107000486468 ], [ -122.274679999529411, 37.99632200096498 ], [ -122.275357000490146, 37.996641000723379 ], [ -122.275656999747625, 37.997002000681611 ], [ -122.276194999645227, 37.997709000768872 ], [ -122.276607999555125, 37.998381000990271 ], [ -122.276776000110971, 37.998991000768534 ], [ -122.276776999657926, 37.999096000667542 ], [ -122.27695499965283, 37.999289000456763 ], [ -122.277120999909712, 37.999415000417592 ], [ -122.277504999530578, 37.999707000335022 ], [ -122.277653999648365, 37.999772000620197 ], [ -122.277984000393346, 37.999916000987504 ], [ -122.278393999432296, 38.000450000575846 ], [ -122.280072999536102, 38.001115000627941 ], [ -122.281967999757455, 38.001866000978872 ], [ -122.28245000014735, 38.002057000668131 ], [ -122.282480000070564, 38.002122000522185 ], [ -122.280179999864515, 38.00452200037045 ], [ -122.2798049998501, 38.004922000590661 ], [ -122.278255999965978, 38.00657400085688 ], [ -122.277878000416479, 38.006977000967957 ], [ -122.277430000022846, 38.007455000717634 ], [ -122.276750000427384, 38.008181000648008 ], [ -122.275535000391386, 38.009477001065612 ], [ -122.275495999636732, 38.009519000647138 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1411, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.598131000418093, 38.101602001056371 ], [ -122.598078999763075, 38.101671001006615 ], [ -122.597892999559249, 38.101920000841702 ], [ -122.597492999402576, 38.102520000321213 ], [ -122.597392999559915, 38.102820001072246 ], [ -122.596592999829696, 38.103820000750979 ], [ -122.596393000081335, 38.104020000331694 ], [ -122.595393000203288, 38.105320000914446 ], [ -122.595193000420451, 38.105720000649413 ], [ -122.594792999413457, 38.106320000367987 ], [ -122.59422999970603, 38.106976000350244 ], [ -122.593593000055023, 38.107720000980891 ], [ -122.593318000192184, 38.108104000847028 ], [ -122.593093000303043, 38.108420000402518 ], [ -122.592173000082312, 38.109693000448381 ], [ -122.591793000118017, 38.110219000813046 ], [ -122.591192999566019, 38.110919000305366 ], [ -122.590792999769278, 38.111619000283547 ], [ -122.589693000386134, 38.111219000287633 ], [ -122.589459999549547, 38.111107000633872 ], [ -122.586792000398916, 38.109819001029031 ], [ -122.586191999784802, 38.109519000679171 ], [ -122.586011999916025, 38.109447000632741 ], [ -122.585691999883025, 38.109319000368878 ], [ -122.583192000235655, 38.108319001137097 ], [ -122.57879200033436, 38.10632000043914 ], [ -122.57739199944514, 38.10572000054961 ], [ -122.576992000472913, 38.105520001074652 ], [ -122.576535000093202, 38.105292000618277 ], [ -122.575592000158451, 38.104820000271374 ], [ -122.574991999563451, 38.104520000348401 ], [ -122.57399199959184, 38.104020000271952 ], [ -122.573692000290933, 38.103720000368448 ], [ -122.573191999997292, 38.103320000505967 ], [ -122.571992000478815, 38.101320000585694 ], [ -122.571092000121226, 38.099820000365106 ], [ -122.570591999707958, 38.099120001095642 ], [ -122.570190999733057, 38.09812000045337 ], [ -122.57059099963233, 38.096720000489725 ], [ -122.571039999398437, 38.096296000758805 ], [ -122.572391999642463, 38.095020000368834 ], [ -122.572792000378243, 38.094620001025369 ], [ -122.57287499966877, 38.094553000444471 ], [ -122.573681999476577, 38.093908001082681 ], [ -122.574239000179233, 38.093462000282116 ], [ -122.57579199948394, 38.092220000715891 ], [ -122.578891999542691, 38.089820000482895 ], [ -122.583392000229139, 38.087920000670415 ], [ -122.585391999414227, 38.086320000507243 ], [ -122.586592000458552, 38.085320001038788 ], [ -122.587291999980195, 38.085420000572896 ], [ -122.589992000156002, 38.085620000951536 ], [ -122.590492000068721, 38.086520000783224 ], [ -122.590592000277553, 38.086820001126355 ], [ -122.592092000275443, 38.089620000717332 ], [ -122.59269199981587, 38.090620000265019 ], [ -122.593992000372225, 38.09112000034645 ], [ -122.595992999873602, 38.091920000361831 ], [ -122.596992999391802, 38.092320000291437 ], [ -122.597293000090929, 38.092620000881638 ], [ -122.59899300036443, 38.093120000753395 ], [ -122.598292999819677, 38.094020000499626 ], [ -122.599292999672898, 38.094520001063842 ], [ -122.602292999810103, 38.096120000700992 ], [ -122.601393000128255, 38.097520000393573 ], [ -122.599793000321895, 38.099520000368841 ], [ -122.5997090002802, 38.099624001031323 ], [ -122.59955700010326, 38.099814000665361 ], [ -122.598993000056637, 38.100520000872564 ], [ -122.598577000449225, 38.101019000264102 ], [ -122.598492999683302, 38.10112000059722 ], [ -122.598131000418093, 38.101602001056371 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1406, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.488187000387896, 38.064320000265553 ], [ -122.489487000438984, 38.06382000081274 ], [ -122.486586999603475, 38.068820001122177 ], [ -122.496686999847014, 38.071020000462838 ], [ -122.500586999976591, 38.060820000512344 ], [ -122.501087000521338, 38.060943000678229 ], [ -122.511587999907192, 38.063520000679944 ], [ -122.518187999535058, 38.068920000740313 ], [ -122.518687999829922, 38.071120000987506 ], [ -122.522188999758498, 38.074020000537118 ], [ -122.527036999537529, 38.075143000813306 ], [ -122.530388999774971, 38.075920000837741 ], [ -122.533388999776903, 38.074620000743117 ], [ -122.533588999804053, 38.074520000923741 ], [ -122.533889000509717, 38.074220000606083 ], [ -122.535989000246488, 38.071320001128569 ], [ -122.536089000209401, 38.070720000952562 ], [ -122.536589000217305, 38.069320000474598 ], [ -122.536688999952801, 38.067120000347195 ], [ -122.536689000353476, 38.066362000334856 ], [ -122.536689000309806, 38.066020000691289 ], [ -122.536788999825845, 38.066220000594569 ], [ -122.539125000071479, 38.069723000520177 ], [ -122.541289999419277, 38.074820000680951 ], [ -122.541518000311115, 38.075256000776854 ], [ -122.541693000328877, 38.075515000337319 ], [ -122.541986000023229, 38.075894000569264 ], [ -122.542577999421241, 38.076584000495444 ], [ -122.543037999760003, 38.07706100052777 ], [ -122.543352999867622, 38.077400000589648 ], [ -122.543544999512363, 38.077607000547047 ], [ -122.544047000371521, 38.078119001033066 ], [ -122.54470100012982, 38.078772000913489 ], [ -122.545065000318758, 38.079167000953952 ], [ -122.545357000412878, 38.079466000961041 ], [ -122.545616000419301, 38.07970900106443 ], [ -122.545895999411584, 38.079954000536823 ], [ -122.545825000333537, 38.080166000705432 ], [ -122.545687000080633, 38.080479000511353 ], [ -122.545489999697352, 38.080820000675104 ], [ -122.545067999799244, 38.08123600049656 ], [ -122.544813999786456, 38.081423000414993 ], [ -122.544487000349008, 38.081664000383213 ], [ -122.544177999735751, 38.081732000959086 ], [ -122.54336199992575, 38.082024001100287 ], [ -122.542867999599565, 38.08222800107886 ], [ -122.542176000368244, 38.082530000726528 ], [ -122.541589999543518, 38.08282000108936 ], [ -122.540927999410698, 38.083113000303349 ], [ -122.540190000500573, 38.083520001122572 ], [ -122.534289999679785, 38.087820000734631 ], [ -122.534089999401999, 38.087420000634239 ], [ -122.533488999484845, 38.08492000105872 ], [ -122.529688999659527, 38.082020001050481 ], [ -122.526488999741431, 38.081920000457785 ], [ -122.528189000407082, 38.084620000435898 ], [ -122.52768899947165, 38.087620000433724 ], [ -122.522088999959749, 38.087520000570606 ], [ -122.516589000135966, 38.091520000424261 ], [ -122.514788999708827, 38.090320000436918 ], [ -122.514488999907812, 38.087320000270047 ], [ -122.514288999782266, 38.086820000680227 ], [ -122.509687999744358, 38.084020001070236 ], [ -122.504087999935308, 38.085420000953484 ], [ -122.501088000081793, 38.088703000926053 ], [ -122.498788000056294, 38.09122000112945 ], [ -122.490887999885317, 38.094219000401011 ], [ -122.488488000011486, 38.093619000612186 ], [ -122.487088000017991, 38.092019000247454 ], [ -122.483587000351875, 38.072020000619077 ], [ -122.48558700016342, 38.068520001111281 ], [ -122.48618700003928, 38.067120000343508 ], [ -122.488187000387896, 38.064320000265553 ] ] ], [ [ [ -122.493886999584944, 38.047421000524317 ], [ -122.495087000316175, 38.047621000888626 ], [ -122.49510300011876, 38.047719000258553 ], [ -122.495186999809434, 38.048221000277245 ], [ -122.495187000297264, 38.04852100107491 ], [ -122.494787000163029, 38.050221000510994 ], [ -122.494386999588286, 38.049921000572965 ], [ -122.493386999946409, 38.050321000311804 ], [ -122.492087000484872, 38.048321000491789 ], [ -122.493087000334171, 38.047921000807143 ], [ -122.493886999584944, 38.047421000524317 ] ] ], [ [ [ -122.494387000052853, 38.05122100049531 ], [ -122.492586999585242, 38.054920000478958 ], [ -122.493387000169562, 38.05072100090063 ], [ -122.493887000504245, 38.051121000283736 ], [ -122.494387000052853, 38.05122100049531 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1423, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.537387999446238, 38.031321000385503 ], [ -122.53808099977465, 38.024521000455401 ], [ -122.538387999904486, 38.023022000698759 ], [ -122.53873199959277, 38.021922000739927 ], [ -122.538887999612172, 38.021422000480953 ], [ -122.539039000399612, 38.021506000565125 ], [ -122.540489999831848, 38.022311000486596 ], [ -122.54178800021549, 38.02312200082779 ], [ -122.543189000171878, 38.024122000437934 ], [ -122.544588999955664, 38.024822000327283 ], [ -122.547005000471174, 38.026154001000371 ], [ -122.547488999711362, 38.026421000297304 ], [ -122.548377999926217, 38.026619000891465 ], [ -122.551089000168233, 38.027221000340035 ], [ -122.551888999785803, 38.027421000426102 ], [ -122.552588999557898, 38.027321000576706 ], [ -122.553688999789387, 38.027122000428875 ], [ -122.555354000195877, 38.02685900113444 ], [ -122.555589000429705, 38.026822000722767 ], [ -122.556888999700547, 38.025322000317878 ], [ -122.561889999505254, 38.025222000763243 ], [ -122.564090000438426, 38.025322000819365 ], [ -122.564689999884408, 38.025322000245176 ], [ -122.568589999959144, 38.025322000754386 ], [ -122.573789999803225, 38.026722000772168 ], [ -122.576889999797871, 38.028622001017638 ], [ -122.577990000256435, 38.02842200104633 ], [ -122.579290000214343, 38.026522000426247 ], [ -122.579505000442154, 38.026602001052339 ], [ -122.581451000086233, 38.027698000671172 ], [ -122.587561000169799, 38.025503000641706 ], [ -122.589478999515222, 38.027299000327837 ], [ -122.589988999885492, 38.026126000679966 ], [ -122.596290999577363, 38.029422001133476 ], [ -122.597126000359935, 38.029297000627203 ], [ -122.598292000469883, 38.02912200041699 ], [ -122.598792000196724, 38.027822000282725 ], [ -122.607892000088086, 38.026922000566309 ], [ -122.612792000358368, 38.02222200049296 ], [ -122.615592000067309, 38.020222000731614 ], [ -122.615791999667607, 38.020922000491979 ], [ -122.616646999408928, 38.02115300107365 ], [ -122.619492999540071, 38.021922000641304 ], [ -122.619193000423593, 38.022422000599256 ], [ -122.619393000213279, 38.023222000264752 ], [ -122.618593000296016, 38.023922001101838 ], [ -122.620492999725371, 38.025922000493928 ], [ -122.622293000455215, 38.026522000396255 ], [ -122.61689299995642, 38.030022000399626 ], [ -122.617493000486945, 38.031022000313818 ], [ -122.619192999472148, 38.033422000283906 ], [ -122.619493000525893, 38.036022000373627 ], [ -122.621193000314307, 38.037322000613003 ], [ -122.622393000228854, 38.037622000626477 ], [ -122.62399299956472, 38.039522000923789 ], [ -122.621993000233303, 38.047921001068744 ], [ -122.621093000305009, 38.047321000743658 ], [ -122.620592999390084, 38.045921001134218 ], [ -122.615492999549573, 38.04792100055019 ], [ -122.616992999521216, 38.053821000629505 ], [ -122.61609299998797, 38.061121001000934 ], [ -122.613692999691878, 38.060421000559835 ], [ -122.606191999571905, 38.058021000904461 ], [ -122.600391999487599, 38.05532100025404 ], [ -122.596591999915134, 38.053521000958575 ], [ -122.595298999565486, 38.053763000685827 ], [ -122.594991999714665, 38.05382100038841 ], [ -122.59389199969732, 38.053721000401488 ], [ -122.588990999532314, 38.050521000941615 ], [ -122.58329099965917, 38.050021000353141 ], [ -122.576291000353493, 38.04732100035212 ], [ -122.574691000480115, 38.046721000959778 ], [ -122.573591000250033, 38.046421000818718 ], [ -122.57229100030689, 38.046221000422527 ], [ -122.561390000376718, 38.046621000642915 ], [ -122.554689999898457, 38.047021000757688 ], [ -122.551188999609508, 38.046221000713274 ], [ -122.539572000288032, 38.04322500042143 ], [ -122.538569000285264, 38.042254001091408 ], [ -122.537389000108078, 38.041121000694083 ], [ -122.537434999418863, 38.04107500028109 ], [ -122.537527999949859, 38.040913000287382 ], [ -122.537588999582098, 38.040516000758736 ], [ -122.537520999638517, 38.040053000702983 ], [ -122.537506999479817, 38.039957001115241 ], [ -122.537341999502289, 38.039341000673105 ], [ -122.53713599987698, 38.038653000451895 ], [ -122.537002999474126, 38.038086000743114 ], [ -122.536920000080471, 38.037470000680742 ], [ -122.536900000004579, 38.036920000446194 ], [ -122.536987999589286, 38.035521000492906 ], [ -122.537171999601512, 38.033916000832534 ], [ -122.537288000286168, 38.03272100082463 ], [ -122.537387999446238, 38.031321000385503 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1167, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.937482999725574, 37.783007001054784 ], [ -121.938018999913268, 37.78323900059906 ], [ -121.938555000270895, 37.783432000947464 ], [ -121.939131000464286, 37.783741001038486 ], [ -121.940264000459734, 37.784592000372236 ], [ -121.94105500048309, 37.785447000355049 ], [ -121.941193999494146, 37.785597000278592 ], [ -121.941821000368478, 37.786413000648174 ], [ -121.94209399948835, 37.78665000073677 ], [ -121.942384000477986, 37.786988001102429 ], [ -121.942579000224313, 37.787269000817972 ], [ -121.942971000469768, 37.787559000693726 ], [ -121.943121000454838, 37.787687000259872 ], [ -121.943731999575434, 37.787923000398401 ], [ -121.944026000272217, 37.788022000347517 ], [ -121.944437999818717, 37.788161000446387 ], [ -121.944914000291817, 37.788238000655461 ], [ -121.945251000452046, 37.788293000709693 ], [ -121.945389999601346, 37.788309000889647 ], [ -121.945733999784579, 37.788309000978053 ], [ -121.946320999485692, 37.788309000647779 ], [ -121.946809000168315, 37.788320000357793 ], [ -121.948469999640366, 37.787927000790241 ], [ -121.948991000058555, 37.787747000980545 ], [ -121.949231999487239, 37.787663000527097 ], [ -121.950304999830223, 37.787292001027758 ], [ -121.95107000010394, 37.787027000654163 ], [ -121.951995999690013, 37.786647000471156 ], [ -121.955642999458078, 37.785149000789858 ], [ -121.956670000457649, 37.784727000805724 ], [ -121.96032499950384, 37.78326500026121 ], [ -121.961532000172795, 37.782782000952245 ], [ -121.961652999754989, 37.782734000488041 ], [ -121.962669999572228, 37.782327001084646 ], [ -121.964170000469139, 37.781727000893248 ], [ -121.966769999922704, 37.780627000494576 ], [ -121.967470000344818, 37.781427000404378 ], [ -121.968670000181703, 37.782927000501438 ], [ -121.970134999755956, 37.78496500082354 ], [ -121.973269999703319, 37.789327000324569 ], [ -121.973969999633894, 37.789627000924334 ], [ -121.97435899987876, 37.789930000823013 ], [ -121.97397000016413, 37.790027000632598 ], [ -121.973569999447108, 37.790127001022903 ], [ -121.973570000029525, 37.790527000686104 ], [ -121.97336999984384, 37.791426001127242 ], [ -121.973770000116829, 37.791526000370894 ], [ -121.973319000160828, 37.793151001095111 ], [ -121.973269999616704, 37.793326000231616 ], [ -121.97306999984265, 37.793726000410636 ], [ -121.97337900009822, 37.794300000285595 ], [ -121.973628999884227, 37.794764000785371 ], [ -121.974469999820698, 37.796326000276594 ], [ -121.974170000185353, 37.797026000255364 ], [ -121.974069999848339, 37.797526000422707 ], [ -121.974170000207423, 37.79832600078656 ], [ -121.974270000334045, 37.798926000515841 ], [ -121.974369999991907, 37.799926000972803 ], [ -121.974369999844839, 37.800626000621946 ], [ -121.97466999992902, 37.802126000466636 ], [ -121.974939999668848, 37.802936000872911 ], [ -121.975270000286301, 37.803926000636949 ], [ -121.975663000290425, 37.804712000859929 ], [ -121.976069999506308, 37.805526000817153 ], [ -121.977369999402612, 37.8066260005263 ], [ -121.977269999593645, 37.807526000427529 ], [ -121.977170000152157, 37.808226000807011 ], [ -121.976969999997351, 37.808926000467551 ], [ -121.976769999478407, 37.809726000655388 ], [ -121.976470000077356, 37.810226001039197 ], [ -121.976469999563577, 37.810426000250338 ], [ -121.976369000370212, 37.811083000566789 ], [ -121.976270000024485, 37.811726000435911 ], [ -121.97346999986695, 37.813126000385424 ], [ -121.971334000435689, 37.814522000750138 ], [ -121.970869999450429, 37.814826000297764 ], [ -121.968470000370644, 37.816426000891674 ], [ -121.965282999714432, 37.815702001117351 ], [ -121.96406999981653, 37.815426000631348 ], [ -121.96006999947663, 37.812726001019961 ], [ -121.957876999979433, 37.811607000369378 ], [ -121.957101999701749, 37.81121200052953 ], [ -121.956470000480323, 37.810889000581547 ], [ -121.955169999829508, 37.810226001104951 ], [ -121.954798999948494, 37.810041000444535 ], [ -121.952620000363112, 37.808952000480652 ], [ -121.952139999964572, 37.808712000292324 ], [ -121.951547000059804, 37.80841600070935 ], [ -121.950169999832411, 37.807726000247321 ], [ -121.948170000265677, 37.806826000833695 ], [ -121.946766999436363, 37.806125000631432 ], [ -121.946369999490628, 37.805926001019806 ], [ -121.943682000517541, 37.804693001112966 ], [ -121.942866000405814, 37.804318000330937 ], [ -121.941512999989669, 37.803697000337301 ], [ -121.940617000004906, 37.803286000710294 ], [ -121.940269000043827, 37.803126000647794 ], [ -121.934599000179986, 37.801720000380932 ], [ -121.931990999727901, 37.801074000482608 ], [ -121.93179399950148, 37.801025000607709 ], [ -121.930194000007148, 37.800628000467754 ], [ -121.929626000381148, 37.800487000518245 ], [ -121.928955000310481, 37.800321000785289 ], [ -121.928168999562544, 37.80012600039786 ], [ -121.927048999847116, 37.79988300079215 ], [ -121.925812999882893, 37.799509000571668 ], [ -121.924008999587514, 37.799313000406698 ], [ -121.923669000212357, 37.799276000762518 ], [ -121.923310999794467, 37.799237000602368 ], [ -121.922513999690835, 37.799150000437052 ], [ -121.9226519996446, 37.798708000974052 ], [ -121.922796999989046, 37.798246001004443 ], [ -121.922880999541306, 37.797977000371219 ], [ -121.922904999418961, 37.797902000702571 ], [ -121.923011000322916, 37.797569001067139 ], [ -121.923127000002367, 37.797204000798317 ], [ -121.923256000360524, 37.796799000486835 ], [ -121.923420000233691, 37.796286000269248 ], [ -121.92353599959786, 37.795766000728783 ], [ -121.92361500005839, 37.795415001128923 ], [ -121.923634999924658, 37.795325000745805 ], [ -121.923792999394507, 37.794809000536631 ], [ -121.923257000073264, 37.794749001015447 ], [ -121.92370900031834, 37.793541000516711 ], [ -121.923741000067992, 37.793456000972348 ], [ -121.924085000030047, 37.792876000370278 ], [ -121.924388000530669, 37.792375000246132 ], [ -121.924589000275816, 37.7920440008414 ], [ -121.92519200045227, 37.792323000568651 ], [ -121.925306999909481, 37.792376000504575 ], [ -121.925551000456466, 37.792489000919772 ], [ -121.925926000162661, 37.792544000858598 ], [ -121.926091000105941, 37.792568001091368 ], [ -121.926255000211242, 37.792485000787423 ], [ -121.926261999546142, 37.792375000916756 ], [ -121.926288999600501, 37.791986000382444 ], [ -121.926430999481369, 37.791638000792744 ], [ -121.926724000134087, 37.791174000981925 ], [ -121.92692600034556, 37.790711001133602 ], [ -121.926966000354227, 37.790440001057668 ], [ -121.92687499951073, 37.790169001036013 ], [ -121.926817999747556, 37.790079000685417 ], [ -121.92648100015829, 37.790344000540031 ], [ -121.926282000061349, 37.790617000618965 ], [ -121.926035999426688, 37.790459000479338 ], [ -121.925944999525271, 37.790440001022006 ], [ -121.925793000101891, 37.790304000525261 ], [ -121.925550999587429, 37.789878000780135 ], [ -121.925454000209342, 37.789571000918393 ], [ -121.925258000458967, 37.788949000911146 ], [ -121.926513000159687, 37.78790700051092 ], [ -121.92710399981911, 37.787417000357955 ], [ -121.928010999579882, 37.78666400070906 ], [ -121.928379000418943, 37.787112001106969 ], [ -121.928745000044472, 37.787546000549384 ], [ -121.929362999858711, 37.787152000265451 ], [ -121.930292999610145, 37.786571000785266 ], [ -121.931224000175902, 37.78610700029548 ], [ -121.932001999740436, 37.785715000586805 ], [ -121.93234600043246, 37.785444000317646 ], [ -121.933124999528815, 37.784980000377104 ], [ -121.933863000285371, 37.784400000294923 ], [ -121.934743999502842, 37.783726000249892 ], [ -121.935722999520152, 37.78316200083475 ], [ -121.936108000359681, 37.782968000372477 ], [ -121.936936999954838, 37.78292900052903 ], [ -121.937482999725574, 37.783007001054784 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1168, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.936913999796758, 37.766577000393482 ], [ -121.937942000103789, 37.763670000475443 ], [ -121.938169000454621, 37.763027000312583 ], [ -121.938658999597536, 37.762383000566288 ], [ -121.939545999436717, 37.761220000927636 ], [ -121.939769000079764, 37.760927000736416 ], [ -121.9407690004887, 37.758027000987163 ], [ -121.941261000362601, 37.758738000715304 ], [ -121.941545999956475, 37.759150000800915 ], [ -121.942568999448525, 37.760627001082419 ], [ -121.942723000320072, 37.76073500075843 ], [ -121.943034000400274, 37.760953001124442 ], [ -121.94346300017196, 37.761253000670074 ], [ -121.944547999716534, 37.762013000828247 ], [ -121.9465690003981, 37.763427000756366 ], [ -121.947219999865624, 37.763746000908689 ], [ -121.949323999685788, 37.764775000855913 ], [ -121.951270000470601, 37.765727000554548 ], [ -121.954117999470924, 37.7637060005164 ], [ -121.954237000261372, 37.763621000747229 ], [ -121.954369999772098, 37.763527000429328 ], [ -121.956970000257087, 37.762627000620533 ], [ -121.960171000521768, 37.761484000263316 ], [ -121.962569999504836, 37.760627000536395 ], [ -121.9649700000801, 37.759927001026007 ], [ -121.972169999712762, 37.771527000886728 ], [ -121.973169999729279, 37.773527001074903 ], [ -121.973313000459797, 37.773844000920214 ], [ -121.974862999822463, 37.777294000889526 ], [ -121.974194999421314, 37.777555000621206 ], [ -121.97359599946131, 37.777774000977821 ], [ -121.973002999928383, 37.777991001034231 ], [ -121.972170000396218, 37.778327000762793 ], [ -121.97147000016453, 37.77862700095919 ], [ -121.9688699998635, 37.77962700032792 ], [ -121.967405000385241, 37.780325000619534 ], [ -121.966769999922704, 37.780627000494576 ], [ -121.964170000469139, 37.781727000893248 ], [ -121.962669999572228, 37.782327001084646 ], [ -121.961652999754989, 37.782734000488041 ], [ -121.961532000172795, 37.782782000952245 ], [ -121.96032499950384, 37.78326500026121 ], [ -121.956670000457649, 37.784727000805724 ], [ -121.955642999458078, 37.785149000789858 ], [ -121.951995999690013, 37.786647000471156 ], [ -121.95107000010394, 37.787027000654163 ], [ -121.950304999830223, 37.787292001027758 ], [ -121.949231999487239, 37.787663000527097 ], [ -121.948991000058555, 37.787747000980545 ], [ -121.948469999640366, 37.787927000790241 ], [ -121.946809000168315, 37.788320000357793 ], [ -121.946320999485692, 37.788309000647779 ], [ -121.945733999784579, 37.788309000978053 ], [ -121.945389999601346, 37.788309000889647 ], [ -121.945251000452046, 37.788293000709693 ], [ -121.944914000291817, 37.788238000655461 ], [ -121.944437999818717, 37.788161000446387 ], [ -121.944026000272217, 37.788022000347517 ], [ -121.943731999575434, 37.787923000398401 ], [ -121.943121000454838, 37.787687000259872 ], [ -121.942971000469768, 37.787559000693726 ], [ -121.942579000224313, 37.787269000817972 ], [ -121.942384000477986, 37.786988001102429 ], [ -121.94209399948835, 37.78665000073677 ], [ -121.941821000368478, 37.786413000648174 ], [ -121.941711999649982, 37.785144000329161 ], [ -121.941591000282074, 37.784697000253431 ], [ -121.941502999593538, 37.784372000543229 ], [ -121.941407000318421, 37.784015000885248 ], [ -121.941284000198507, 37.783463000837656 ], [ -121.941257000133461, 37.783342000503453 ], [ -121.941080000079992, 37.782549000814413 ], [ -121.941056000338392, 37.782443000428017 ], [ -121.941045000295318, 37.782345000415297 ], [ -121.941017000053861, 37.782085000302828 ], [ -121.940999999586538, 37.781927000999652 ], [ -121.94092399983775, 37.781229001046391 ], [ -121.940872999569848, 37.780757000276097 ], [ -121.93952999992122, 37.778606000323151 ], [ -121.938431999851176, 37.777324000826418 ], [ -121.938050000129024, 37.776988000421646 ], [ -121.937469000407404, 37.776627000779868 ], [ -121.936345000308279, 37.775142000489197 ], [ -121.93466900035061, 37.772927000270961 ], [ -121.936913999796758, 37.766577000393482 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1175, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.942468999501457, 37.753028000654304 ], [ -121.944569000052027, 37.753727000750487 ], [ -121.945768999993518, 37.75402700056911 ], [ -121.946268999792835, 37.753927000330243 ], [ -121.946868999659031, 37.753827000265275 ], [ -121.947068999674443, 37.753727000260774 ], [ -121.947923999737796, 37.753353000618276 ], [ -121.948668999594744, 37.753028000753481 ], [ -121.949968999795018, 37.752728000670956 ], [ -121.95156900017902, 37.752128000517871 ], [ -121.951969000278837, 37.751528000535728 ], [ -121.95426999982628, 37.75012800084469 ], [ -121.954824999543618, 37.74914100081979 ], [ -121.955169999958429, 37.74852800074536 ], [ -121.955770000348494, 37.7481280008545 ], [ -121.956570000090451, 37.74772800038631 ], [ -121.956970000270601, 37.747428000755427 ], [ -121.959190000021863, 37.750897000792989 ], [ -121.95937600009762, 37.751187000440765 ], [ -121.961617999807416, 37.754689001115054 ], [ -121.961787000136553, 37.754953000797755 ], [ -121.9649700000801, 37.759927001026007 ], [ -121.962569999504836, 37.760627000536395 ], [ -121.960171000521768, 37.761484000263316 ], [ -121.956970000257087, 37.762627000620533 ], [ -121.954369999772098, 37.763527000429328 ], [ -121.954237000261372, 37.763621000747229 ], [ -121.954117999470924, 37.7637060005164 ], [ -121.951270000470601, 37.765727000554548 ], [ -121.949323999685788, 37.764775000855913 ], [ -121.947219999865624, 37.763746000908689 ], [ -121.9465690003981, 37.763427000756366 ], [ -121.944547999716534, 37.762013000828247 ], [ -121.94346300017196, 37.761253000670074 ], [ -121.943034000400274, 37.760953001124442 ], [ -121.942723000320072, 37.76073500075843 ], [ -121.942568999448525, 37.760627001082419 ], [ -121.941545999956475, 37.759150000800915 ], [ -121.941261000362601, 37.758738000715304 ], [ -121.9407690004887, 37.758027000987163 ], [ -121.939769000079764, 37.760927000736416 ], [ -121.939545999436717, 37.761220000927636 ], [ -121.938658999597536, 37.762383000566288 ], [ -121.938169000454621, 37.763027000312583 ], [ -121.937942000103789, 37.763670000475443 ], [ -121.936913999796758, 37.766577000393482 ], [ -121.93466900035061, 37.772927000270961 ], [ -121.936345000308279, 37.775142000489197 ], [ -121.937469000407404, 37.776627000779868 ], [ -121.938050000129024, 37.776988000421646 ], [ -121.938431999851176, 37.777324000826418 ], [ -121.93952999992122, 37.778606000323151 ], [ -121.940872999569848, 37.780757000276097 ], [ -121.94092399983775, 37.781229001046391 ], [ -121.940999999586538, 37.781927000999652 ], [ -121.941017000053861, 37.782085000302828 ], [ -121.941045000295318, 37.782345000415297 ], [ -121.941056000338392, 37.782443000428017 ], [ -121.941080000079992, 37.782549000814413 ], [ -121.941257000133461, 37.783342000503453 ], [ -121.941284000198507, 37.783463000837656 ], [ -121.941407000318421, 37.784015000885248 ], [ -121.941502999593538, 37.784372000543229 ], [ -121.941591000282074, 37.784697000253431 ], [ -121.941711999649982, 37.785144000329161 ], [ -121.941821000368478, 37.786413000648174 ], [ -121.941193999494146, 37.785597000278592 ], [ -121.94105500048309, 37.785447000355049 ], [ -121.940264000459734, 37.784592000372236 ], [ -121.939131000464286, 37.783741001038486 ], [ -121.938555000270895, 37.783432000947464 ], [ -121.938018999913268, 37.78323900059906 ], [ -121.937482999725574, 37.783007001054784 ], [ -121.936936999954838, 37.78292900052903 ], [ -121.936108000359681, 37.782968000372477 ], [ -121.935722999520152, 37.78316200083475 ], [ -121.934743999502842, 37.783726000249892 ], [ -121.933863000285371, 37.784400000294923 ], [ -121.933124999528815, 37.784980000377104 ], [ -121.93234600043246, 37.785444000317646 ], [ -121.932001999740436, 37.785715000586805 ], [ -121.931224000175902, 37.78610700029548 ], [ -121.930292999610145, 37.786571000785266 ], [ -121.929362999858711, 37.787152000265451 ], [ -121.928745000044472, 37.787546000549384 ], [ -121.928379000418943, 37.787112001106969 ], [ -121.928010999579882, 37.78666400070906 ], [ -121.92710399981911, 37.787417000357955 ], [ -121.926513000159687, 37.78790700051092 ], [ -121.925258000458967, 37.788949000911146 ], [ -121.92516699989018, 37.788446000409856 ], [ -121.924923999587548, 37.787943000818842 ], [ -121.924558999697652, 37.7873710006849 ], [ -121.924479000483089, 37.787246000628471 ], [ -121.924360000417295, 37.78701400106322 ], [ -121.924043999981009, 37.786394000905652 ], [ -121.923862999725543, 37.786136000373837 ], [ -121.923688999972086, 37.785888001060187 ], [ -121.923608999795988, 37.785774000549694 ], [ -121.923315999832383, 37.785116000433781 ], [ -121.923173999546023, 37.784342000283061 ], [ -121.923173999490984, 37.783375001011848 ], [ -121.923129000505895, 37.783075000476551 ], [ -121.923349999604071, 37.782386000946858 ], [ -121.923368999955642, 37.78232700081815 ], [ -121.923316999792746, 37.781782000839975 ], [ -121.923168999737911, 37.780227000360846 ], [ -121.924268999898842, 37.774427000742691 ], [ -121.922269000505437, 37.773027000747447 ], [ -121.918069000387192, 37.769927000947767 ], [ -121.917669000074881, 37.766827000673253 ], [ -121.915268000509641, 37.764027000793014 ], [ -121.915267999540205, 37.759627001112754 ], [ -121.914067999823601, 37.756727000287107 ], [ -121.914967999747773, 37.753727000740724 ], [ -121.914068000194291, 37.747528000637558 ], [ -121.913647000146653, 37.744336000917251 ], [ -121.913431000132491, 37.742696001067401 ], [ -121.91327999973791, 37.741550000346678 ], [ -121.912911999434513, 37.738764000927127 ], [ -121.913294000166346, 37.738781000609563 ], [ -121.913557000107986, 37.73878200026644 ], [ -121.914022000135134, 37.738720000355826 ], [ -121.914231000503051, 37.738691000852256 ], [ -121.9148979998226, 37.738539000558745 ], [ -121.915215000259522, 37.738467000725585 ], [ -121.915852000283152, 37.738264000637443 ], [ -121.916094999522741, 37.7381360010747 ], [ -121.916326999480432, 37.737943000727761 ], [ -121.916509000004567, 37.737712000682848 ], [ -121.916660999466202, 37.737494000586345 ], [ -121.916771999545645, 37.737237000523848 ], [ -121.917022999586791, 37.736828000861252 ], [ -121.917049999572342, 37.736735000617088 ], [ -121.917135999634311, 37.736439000583822 ], [ -121.91723299989917, 37.736188001072733 ], [ -121.917388999732182, 37.735783001044666 ], [ -121.917437000093429, 37.735698000551764 ], [ -121.917733000048699, 37.735179000901311 ], [ -121.918188999468001, 37.734795000580299 ], [ -121.91855500017347, 37.734642000755635 ], [ -121.918669999987259, 37.734626000725235 ], [ -121.918825999768856, 37.734604000948771 ], [ -121.919281000479373, 37.734593000491245 ], [ -121.919866999407049, 37.734686000869729 ], [ -121.92034299983213, 37.734842000437801 ], [ -121.920696999665466, 37.735089000962908 ], [ -121.921182000016984, 37.735774000773446 ], [ -121.92167700028314, 37.736471000600893 ], [ -121.922164999964622, 37.736929000536897 ], [ -121.922941000285633, 37.737327000853846 ], [ -121.923276000406915, 37.73739600092734 ], [ -121.92338600008577, 37.737419000835587 ], [ -121.923689000387071, 37.73740600099017 ], [ -121.923921999609178, 37.737396000698837 ], [ -121.923971999700726, 37.737387000844031 ], [ -121.924721000137765, 37.737257000704112 ], [ -121.924994000204975, 37.737207000733591 ], [ -121.925594999591468, 37.736944000795781 ], [ -121.92566900020941, 37.737128000466164 ], [ -121.926368999451199, 37.738928000288197 ], [ -121.927868999619477, 37.741628000435682 ], [ -121.930169000038759, 37.744828000326315 ], [ -121.93086900051911, 37.745728000687627 ], [ -121.933068999940588, 37.748528000339078 ], [ -121.933969000128187, 37.749528000675674 ], [ -121.93456899947823, 37.750228000305896 ], [ -121.936669999934978, 37.752154000301772 ], [ -121.93696899965083, 37.752428000992218 ], [ -121.938468999923415, 37.753927000825719 ], [ -121.939319999536124, 37.753331000788307 ], [ -121.939468999738054, 37.753227000919253 ], [ -121.940469000035307, 37.752628000696255 ], [ -121.941569000460532, 37.752828000442115 ], [ -121.942468999501457, 37.753028000654304 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1161, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.998687999806037, 37.790362000331484 ], [ -121.998688000484378, 37.786163001039874 ], [ -121.993498999899046, 37.786174000954198 ], [ -121.992676999865083, 37.785008000608002 ], [ -121.988671000417781, 37.779327000595103 ], [ -121.986038999648571, 37.779157000650812 ], [ -121.986478000078407, 37.777504000436032 ], [ -121.987621999989699, 37.777774000675883 ], [ -121.987708999756563, 37.777532000484513 ], [ -121.987942999603661, 37.777419000826491 ], [ -121.991649999988937, 37.775791000638151 ], [ -121.995201999837292, 37.775456001012891 ], [ -121.99552799965403, 37.775513000400579 ], [ -121.996017999592482, 37.775599001125499 ], [ -121.996074999635169, 37.775394000885584 ], [ -121.99610599957056, 37.775283000808741 ], [ -121.996158000295637, 37.775096000838225 ], [ -121.997370999869887, 37.775027001015673 ], [ -121.996470999723371, 37.773127000927708 ], [ -121.996371000239051, 37.772627000377042 ], [ -121.996625999423316, 37.772541000693145 ], [ -122.002271000437943, 37.77062700061343 ], [ -122.002505000292842, 37.770536000996799 ], [ -122.004071000006618, 37.769927000705586 ], [ -122.004671000088251, 37.770427000861581 ], [ -122.014071999769541, 37.780227000902649 ], [ -122.017771999997564, 37.781227000475376 ], [ -122.021972000345514, 37.784227000686684 ], [ -122.030472000157076, 37.787727000326385 ], [ -122.036072000293586, 37.79162700069638 ], [ -122.037972000499124, 37.793027000921988 ], [ -122.045472999721852, 37.798126000811067 ], [ -122.058972999412774, 37.799027001001846 ], [ -122.06177300002021, 37.799227000499457 ], [ -122.064215000377359, 37.802034001002539 ], [ -122.065773000051436, 37.803826000707609 ], [ -122.067872999818093, 37.806726001021268 ], [ -122.070073999763011, 37.806526000687519 ], [ -122.069373999747725, 37.807726000778501 ], [ -122.072773999434943, 37.811226000441486 ], [ -122.074074000085133, 37.813426000925908 ], [ -122.072273999526658, 37.815026000865672 ], [ -122.070373999860095, 37.814826000382403 ], [ -122.071473999919633, 37.817726000682434 ], [ -122.067172999946777, 37.815726000934006 ], [ -122.066972999959731, 37.816726000453762 ], [ -122.064272999784507, 37.815326000998361 ], [ -122.063749999896757, 37.816081000878313 ], [ -122.063666999486415, 37.818597000961908 ], [ -122.063421000331289, 37.82604500069052 ], [ -122.063055000140508, 37.837134000269366 ], [ -122.062872999504549, 37.8426250004078 ], [ -122.055972999991326, 37.842425000688024 ], [ -122.052472999817667, 37.842425000423567 ], [ -122.052472999437427, 37.845025000640419 ], [ -122.052373000270634, 37.847325000729541 ], [ -122.052190999593094, 37.852478000858618 ], [ -122.051947999894054, 37.859356000269685 ], [ -122.044780999561098, 37.859322001076833 ], [ -122.047520000386356, 37.864456000356732 ], [ -122.047719000184088, 37.864829000469683 ], [ -122.045915000122179, 37.865588000447161 ], [ -122.044686999536651, 37.866104000455458 ], [ -122.042973000303292, 37.866825000401668 ], [ -122.042473000202335, 37.866025000850939 ], [ -122.042373000268725, 37.865725000645085 ], [ -122.042072999797412, 37.864925000903987 ], [ -122.041772999471746, 37.864725000977913 ], [ -122.041572999924739, 37.864225000667048 ], [ -122.041272999553769, 37.863825001042343 ], [ -122.040973000110654, 37.863225000410267 ], [ -122.040773000218735, 37.862925000721539 ], [ -122.040472999576764, 37.862625000502561 ], [ -122.039972999760323, 37.861625000611937 ], [ -122.039472999397603, 37.860925000307972 ], [ -122.038973000405505, 37.860225000565087 ], [ -122.03877299949076, 37.85972500068825 ], [ -122.038473000522174, 37.859525000463563 ], [ -122.038371000051455, 37.859270001070193 ], [ -122.038273000235364, 37.859025000614118 ], [ -122.037873000398491, 37.858625000906265 ], [ -122.037772999706917, 37.858225000448044 ], [ -122.037372999996421, 37.857825000829713 ], [ -122.036972999570764, 37.857325001005172 ], [ -122.036773000493753, 37.856925000971863 ], [ -122.036373000426835, 37.856225000481885 ], [ -122.035673000359964, 37.85522500046568 ], [ -122.035273000128015, 37.85472500109811 ], [ -122.034746000323381, 37.853882000859286 ], [ -122.034271999878129, 37.85312500049249 ], [ -122.033571999883478, 37.852125000401209 ], [ -122.032600999611759, 37.850571000357505 ], [ -122.032550000256066, 37.850459000968314 ], [ -122.03227200034047, 37.850025000267614 ], [ -122.031172000154271, 37.848125000444711 ], [ -122.029872000032341, 37.846325000723937 ], [ -122.029272000519384, 37.845625000436797 ], [ -122.028880000326538, 37.845312000534712 ], [ -122.028771999595818, 37.845225000472873 ], [ -122.029071999523538, 37.844925000793054 ], [ -122.028271999955933, 37.843925000286909 ], [ -122.02867200038267, 37.843625001136509 ], [ -122.027771999811975, 37.842925001134361 ], [ -122.027271999692218, 37.843225000435233 ], [ -122.026771999724772, 37.84332500049058 ], [ -122.026271999923907, 37.844325000974393 ], [ -122.026372000260878, 37.845125000332409 ], [ -122.025372000306561, 37.845425001116148 ], [ -122.020974000180402, 37.842540000591761 ], [ -122.018034999484684, 37.840612000617021 ], [ -122.017495999467087, 37.840259000895053 ], [ -122.016071999903417, 37.839325000470431 ], [ -122.011874000243139, 37.836544000545111 ], [ -122.0091720002806, 37.834925000898927 ], [ -122.005470999439936, 37.832325000785723 ], [ -122.001871000525085, 37.830025000576875 ], [ -122.001370999812295, 37.829625000882892 ], [ -122.000570999801695, 37.829025000733836 ], [ -121.999271000032863, 37.828325000819092 ], [ -121.995655000246472, 37.825625000807008 ], [ -121.99504300034107, 37.825125000696339 ], [ -121.994817000447625, 37.824804001037265 ], [ -121.994570999847667, 37.824326000781213 ], [ -121.993799000377649, 37.822907001126246 ], [ -121.99373499986612, 37.822466000318336 ], [ -121.993571000194265, 37.821326000694718 ], [ -121.993470999981454, 37.819226000906838 ], [ -121.993430999810286, 37.817830000682264 ], [ -121.993412999418013, 37.817202000376611 ], [ -121.993486999857737, 37.815807000954415 ], [ -121.99347100006608, 37.81522600055235 ], [ -121.993459000197689, 37.813956001123699 ], [ -121.993353000446419, 37.813107000759494 ], [ -121.993238999688288, 37.811832000326767 ], [ -121.993193000008418, 37.811483000402582 ], [ -121.993484999744425, 37.811479000377787 ], [ -121.994050000247853, 37.811475000733878 ], [ -121.994243999582693, 37.811474000401695 ], [ -121.9954470002546, 37.811467000364999 ], [ -121.995170999708975, 37.810626000290675 ], [ -121.994971000346681, 37.809626000765974 ], [ -121.994671000200896, 37.808726001064798 ], [ -121.994271000431453, 37.808526000976464 ], [ -121.994371000500649, 37.808026000984654 ], [ -121.994671000351275, 37.807626000283733 ], [ -121.9944309995998, 37.807146000395491 ], [ -121.994070999632513, 37.806426000519131 ], [ -121.993371000198181, 37.805426000730442 ], [ -121.992670999684606, 37.804826000530859 ], [ -121.991854999618567, 37.80530600103242 ], [ -121.990970999726699, 37.805826000868798 ], [ -121.990315000224314, 37.804216000843354 ], [ -121.989540999505451, 37.8023160002925 ], [ -121.988771000390926, 37.800426000459112 ], [ -121.987570999395018, 37.798426001006234 ], [ -121.991970999939525, 37.79972600086785 ], [ -121.997671000347637, 37.798626000371193 ], [ -122.000070999764958, 37.797326000944409 ], [ -122.0005510002959, 37.7940850006839 ], [ -121.99868799951642, 37.794070000805881 ], [ -121.998687999806037, 37.790362000331484 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1170, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.974770000159992, 37.770627000928386 ], [ -121.975062999439828, 37.770525000406138 ], [ -121.977069999915912, 37.769827000409713 ], [ -121.977571999984676, 37.769402000308276 ], [ -121.978110000433574, 37.768947000761003 ], [ -121.97836999980656, 37.768727000942491 ], [ -121.979669999833661, 37.767527000338795 ], [ -121.980569999875058, 37.76662700107336 ], [ -121.980972999802148, 37.766170000739066 ], [ -121.981440000387124, 37.765641001050113 ], [ -121.982069999882839, 37.764927000964384 ], [ -121.982358000370297, 37.764543000820794 ], [ -121.982669999671401, 37.764127000414021 ], [ -121.985415000152599, 37.761932001018856 ], [ -121.986670999472224, 37.760927001017215 ], [ -121.988318999402935, 37.760785000398251 ], [ -121.995971000142148, 37.760127000772073 ], [ -121.997270999404137, 37.758327000775822 ], [ -122.006070999759658, 37.753428000447407 ], [ -122.011371000119453, 37.754028000490081 ], [ -122.010771000257236, 37.755127000837781 ], [ -121.99777099982785, 37.763227000610605 ], [ -122.002473000237217, 37.768228000755435 ], [ -122.004071000006618, 37.769927000705586 ], [ -122.002505000292842, 37.770536000996799 ], [ -122.002271000437943, 37.77062700061343 ], [ -121.996625999423316, 37.772541000693145 ], [ -121.996371000239051, 37.772627000377042 ], [ -121.996470999723371, 37.773127000927708 ], [ -121.997370999869887, 37.775027001015673 ], [ -121.996158000295637, 37.775096000838225 ], [ -121.99610599957056, 37.775283000808741 ], [ -121.996074999635169, 37.775394000885584 ], [ -121.996017999592482, 37.775599001125499 ], [ -121.99552799965403, 37.775513000400579 ], [ -121.995201999837292, 37.775456001012891 ], [ -121.991649999988937, 37.775791000638151 ], [ -121.987942999603661, 37.777419000826491 ], [ -121.987708999756563, 37.777532000484513 ], [ -121.987621999989699, 37.777774000675883 ], [ -121.986478000078407, 37.777504000436032 ], [ -121.986038999648571, 37.779157000650812 ], [ -121.988671000417781, 37.779327000595103 ], [ -121.992676999865083, 37.785008000608002 ], [ -121.993498999899046, 37.786174000954198 ], [ -121.998688000484378, 37.786163001039874 ], [ -121.998687999806037, 37.790362000331484 ], [ -121.99868799951642, 37.794070000805881 ], [ -122.0005510002959, 37.7940850006839 ], [ -122.000070999764958, 37.797326000944409 ], [ -121.997671000347637, 37.798626000371193 ], [ -121.991970999939525, 37.79972600086785 ], [ -121.987570999395018, 37.798426001006234 ], [ -121.988771000390926, 37.800426000459112 ], [ -121.989540999505451, 37.8023160002925 ], [ -121.990315000224314, 37.804216000843354 ], [ -121.990970999726699, 37.805826000868798 ], [ -121.991854999618567, 37.80530600103242 ], [ -121.992670999684606, 37.804826000530859 ], [ -121.993371000198181, 37.805426000730442 ], [ -121.994070999632513, 37.806426000519131 ], [ -121.9944309995998, 37.807146000395491 ], [ -121.994671000351275, 37.807626000283733 ], [ -121.994371000500649, 37.808026000984654 ], [ -121.994271000431453, 37.808526000976464 ], [ -121.994671000200896, 37.808726001064798 ], [ -121.994971000346681, 37.809626000765974 ], [ -121.995170999708975, 37.810626000290675 ], [ -121.9954470002546, 37.811467000364999 ], [ -121.994243999582693, 37.811474000401695 ], [ -121.994050000247853, 37.811475000733878 ], [ -121.993484999744425, 37.811479000377787 ], [ -121.993193000008418, 37.811483000402582 ], [ -121.992752999664091, 37.811474000379221 ], [ -121.992199000408291, 37.811474000604193 ], [ -121.992353000407434, 37.811184000605536 ], [ -121.992496999423963, 37.810911000484701 ], [ -121.992596999560789, 37.810625000488201 ], [ -121.992611999494969, 37.810545001009984 ], [ -121.992635999827669, 37.810156001117058 ], [ -121.992570999476257, 37.809526000900256 ], [ -121.990813999649333, 37.806195000990556 ], [ -121.988803000513741, 37.802383000563168 ], [ -121.987771000128689, 37.800426000267819 ], [ -121.984029000185231, 37.79399900084028 ], [ -121.983856000278763, 37.793703000926435 ], [ -121.983170999674428, 37.792526000781599 ], [ -121.979741000285955, 37.786271001066488 ], [ -121.977469999489855, 37.782127000725893 ], [ -121.976569999610945, 37.780427000364334 ], [ -121.976257999550995, 37.779857000518483 ], [ -121.974862999822463, 37.777294000889526 ], [ -121.973313000459797, 37.773844000920214 ], [ -121.973169999729279, 37.773527001074903 ], [ -121.972169999712762, 37.771527000886728 ], [ -121.972392999809699, 37.771443000836584 ], [ -121.972969999986063, 37.771227000393822 ], [ -121.97380999973285, 37.77094700078711 ], [ -121.974770000159992, 37.770627000928386 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1164, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.97867099947463, 37.84482500039995 ], [ -121.983970999882771, 37.844525000977399 ], [ -121.985610000496592, 37.844525000379413 ], [ -121.985771000319062, 37.844525001032714 ], [ -121.98668299973103, 37.844525000715002 ], [ -121.988171000159241, 37.844525000646762 ], [ -121.993279999643761, 37.846207000741188 ], [ -121.994663000027799, 37.846663001038422 ], [ -121.996370999622556, 37.847225000764823 ], [ -121.998270999736633, 37.847825000285845 ], [ -121.999571000424012, 37.84832500084336 ], [ -122.000770999412708, 37.848725000538863 ], [ -122.001330999686772, 37.848787000624718 ], [ -122.002571000265718, 37.848925000405849 ], [ -122.003571000019505, 37.849625000357491 ], [ -122.004871999779212, 37.85022500024818 ], [ -122.008971999604853, 37.851725000639028 ], [ -122.010771999858264, 37.852425000767276 ], [ -122.012071999592038, 37.852525000471267 ], [ -122.014472000416319, 37.852325000481486 ], [ -122.0152719995952, 37.852325000775927 ], [ -122.016272000352743, 37.852325000272913 ], [ -122.018372000098111, 37.852225000253554 ], [ -122.019971999848892, 37.85212500037791 ], [ -122.022071999714655, 37.852025000985293 ], [ -122.022269000213541, 37.852013000606519 ], [ -122.025272000045575, 37.85182500045017 ], [ -122.02625599970456, 37.851762000350718 ], [ -122.02703399973764, 37.851713001110191 ], [ -122.027881999886787, 37.851590000914129 ], [ -122.028081000419263, 37.851561001047763 ], [ -122.028506000064851, 37.851492000316497 ], [ -122.028634999626817, 37.852025000301246 ], [ -122.028830999527784, 37.853216000673676 ], [ -122.028929999616722, 37.853561000785014 ], [ -122.029079999734833, 37.853876000442391 ], [ -122.029471999392356, 37.854725000681022 ], [ -122.030372000083986, 37.856225000246511 ], [ -122.030472000196553, 37.856325000558307 ], [ -122.033572999576734, 37.861650000872132 ], [ -122.034098999971931, 37.862450000880962 ], [ -122.035287999767149, 37.863366000918923 ], [ -122.0349879995794, 37.863473000922212 ], [ -122.034101000420549, 37.863790000346711 ], [ -122.031572000298667, 37.864425000266237 ], [ -122.030471999484675, 37.864825000483165 ], [ -122.03017200004922, 37.865125000536047 ], [ -122.028472000304063, 37.866025000735121 ], [ -122.027771999435572, 37.866225000317876 ], [ -122.026671999424664, 37.866325000360582 ], [ -122.026171999530746, 37.866325000721773 ], [ -122.025772000084771, 37.866325000927368 ], [ -122.024972000097748, 37.866325000856506 ], [ -122.024471999485456, 37.866425000698797 ], [ -122.023471999802609, 37.866525000818037 ], [ -122.022772000094591, 37.86632500056372 ], [ -122.021050999587288, 37.866325000833903 ], [ -122.019972000396081, 37.86632500069679 ], [ -122.019915999728781, 37.866325000483123 ], [ -122.019508999398909, 37.866005000886126 ], [ -122.017525999980691, 37.865820000926057 ], [ -122.017076999420027, 37.866013000276908 ], [ -122.016587999525854, 37.866412000455796 ], [ -122.016326999438675, 37.866838000723938 ], [ -122.016292999948206, 37.867114000519521 ], [ -122.016280999674862, 37.867208000814898 ], [ -122.016262000085973, 37.867366000907758 ], [ -122.016572000204121, 37.867830000609786 ], [ -122.017125999749169, 37.868126000904248 ], [ -122.017345000015112, 37.868218000915824 ], [ -122.016898000097598, 37.868552001110544 ], [ -122.015903000114605, 37.869106000345496 ], [ -122.015797999716824, 37.869161000876467 ], [ -122.014892000455404, 37.869634000425684 ], [ -122.013944000031259, 37.869717000242957 ], [ -122.013716999857934, 37.869737000674164 ], [ -122.013260999567606, 37.869737001019317 ], [ -122.012690000440358, 37.869737000504408 ], [ -122.011922999714045, 37.869905000578505 ], [ -122.011222000498165, 37.870240000440802 ], [ -122.010777999450369, 37.870439000946284 ], [ -122.010503999732578, 37.870562000976115 ], [ -122.009965999778927, 37.870923000433486 ], [ -122.009704999435968, 37.871193000610468 ], [ -122.009555000160034, 37.871584000316886 ], [ -122.00915499941911, 37.872110000751185 ], [ -122.00893799939027, 37.87222200082963 ], [ -122.008634999637209, 37.872379000771218 ], [ -122.00838200014006, 37.872510001085665 ], [ -122.007318000394392, 37.872575000890549 ], [ -122.005929000461208, 37.872660000830457 ], [ -122.005928999480759, 37.873247000834816 ], [ -122.006301999924659, 37.873920000505152 ], [ -122.00667199989735, 37.874124000278371 ], [ -122.006835000103763, 37.87427800024679 ], [ -122.007155000287867, 37.874699000408022 ], [ -122.007155000467634, 37.874864000536633 ], [ -122.007155000439028, 37.875141000368231 ], [ -122.006361000519277, 37.875826000450751 ], [ -122.002622000289023, 37.877119001124768 ], [ -122.000169000449958, 37.877961001063277 ], [ -121.999501999584965, 37.878298000524772 ], [ -121.998728999857462, 37.878192000561342 ], [ -121.997476000437658, 37.878382000672829 ], [ -121.995902000527238, 37.879287000273614 ], [ -121.994729000193288, 37.880507000997518 ], [ -121.99458599960127, 37.880599000285194 ], [ -121.995075999789307, 37.881328000469715 ], [ -121.996036000481027, 37.8817490005652 ], [ -121.996894000334464, 37.882055000817658 ], [ -121.975414999565643, 37.883896000414317 ], [ -121.974671000158153, 37.883324001064622 ], [ -121.974270999650074, 37.883024000427326 ], [ -121.972770999982004, 37.88292400069507 ], [ -121.96656999992183, 37.88112400083282 ], [ -121.962770000428677, 37.878124000719794 ], [ -121.961769999864373, 37.876824000523563 ], [ -121.962669999722095, 37.876624000296786 ], [ -121.962970000000823, 37.874724000657068 ], [ -121.958270000504612, 37.872624000587578 ], [ -121.950970000147976, 37.873324000286665 ], [ -121.949370000045235, 37.872824000429361 ], [ -121.951069999647515, 37.870924000770039 ], [ -121.949470000153468, 37.869424001124642 ], [ -121.948369999721706, 37.869924001098724 ], [ -121.946770000193126, 37.869124000240205 ], [ -121.943969999785878, 37.866125000953069 ], [ -121.943169999908818, 37.867624000635786 ], [ -121.944370000207172, 37.869424000938672 ], [ -121.94107000032389, 37.868624000553638 ], [ -121.941670000462594, 37.869524000995774 ], [ -121.940470000525167, 37.869624000583833 ], [ -121.943269999951994, 37.872224001046455 ], [ -121.936870000131762, 37.870024000272807 ], [ -121.93586999987896, 37.869724000886691 ], [ -121.935569999417353, 37.867624000359996 ], [ -121.932168999910033, 37.866225000247347 ], [ -121.933669000307873, 37.864025001042386 ], [ -121.933168999486739, 37.862725000899822 ], [ -121.936168999940833, 37.857725000554893 ], [ -121.931068999499303, 37.853725000770808 ], [ -121.926168999730507, 37.852225000491693 ], [ -121.926869000001275, 37.851425000552446 ], [ -121.928869000020129, 37.851825000919128 ], [ -121.930269000117846, 37.850225001013449 ], [ -121.930768999653765, 37.85102500039303 ], [ -121.932169000355614, 37.85062500112128 ], [ -121.932669000206474, 37.851225000759293 ], [ -121.935768999967138, 37.854525000848184 ], [ -121.93967000039072, 37.855925001088423 ], [ -121.939970000335052, 37.856525000757237 ], [ -121.944670000116702, 37.85672500033828 ], [ -121.948769999402359, 37.856525000716495 ], [ -121.950570000052323, 37.856925000846687 ], [ -121.951870000397889, 37.856225001083722 ], [ -121.956369999626958, 37.8573250010799 ], [ -121.956270000329226, 37.859625000788171 ], [ -121.961969999962164, 37.864025000393958 ], [ -121.964269999404792, 37.863825000439796 ], [ -121.967270000183717, 37.863725000654973 ], [ -121.965970000311302, 37.861325000830583 ], [ -121.975370999748293, 37.85722500105927 ], [ -121.97617100005921, 37.856825000778414 ], [ -121.979471000151662, 37.854525001111561 ], [ -121.977471000358335, 37.850725000366182 ], [ -121.977560000376855, 37.850287000851672 ], [ -121.978233000144684, 37.846978000976627 ], [ -121.97867099947463, 37.84482500039995 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1165, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.000570999801695, 37.829025000733836 ], [ -122.001370999812295, 37.829625000882892 ], [ -122.001871000525085, 37.830025000576875 ], [ -122.005470999439936, 37.832325000785723 ], [ -122.0091720002806, 37.834925000898927 ], [ -122.011874000243139, 37.836544000545111 ], [ -122.016071999903417, 37.839325000470431 ], [ -122.017495999467087, 37.840259000895053 ], [ -122.018034999484684, 37.840612000617021 ], [ -122.020974000180402, 37.842540000591761 ], [ -122.025372000306561, 37.845425001116148 ], [ -122.025829999738036, 37.845659000749897 ], [ -122.026618999460439, 37.846544000601021 ], [ -122.026948999437408, 37.84702000063141 ], [ -122.027772000442056, 37.848725000386473 ], [ -122.02842699940058, 37.851244001062966 ], [ -122.028506000064851, 37.851492000316497 ], [ -122.028081000419263, 37.851561001047763 ], [ -122.027881999886787, 37.851590000914129 ], [ -122.02703399973764, 37.851713001110191 ], [ -122.02625599970456, 37.851762000350718 ], [ -122.025272000045575, 37.85182500045017 ], [ -122.022269000213541, 37.852013000606519 ], [ -122.022071999714655, 37.852025000985293 ], [ -122.019971999848892, 37.85212500037791 ], [ -122.018372000098111, 37.852225000253554 ], [ -122.016272000352743, 37.852325000272913 ], [ -122.0152719995952, 37.852325000775927 ], [ -122.014472000416319, 37.852325000481486 ], [ -122.012071999592038, 37.852525000471267 ], [ -122.010771999858264, 37.852425000767276 ], [ -122.008971999604853, 37.851725000639028 ], [ -122.004871999779212, 37.85022500024818 ], [ -122.003571000019505, 37.849625000357491 ], [ -122.002571000265718, 37.848925000405849 ], [ -122.001330999686772, 37.848787000624718 ], [ -122.000770999412708, 37.848725000538863 ], [ -121.999571000424012, 37.84832500084336 ], [ -121.998270999736633, 37.847825000285845 ], [ -121.996370999622556, 37.847225000764823 ], [ -121.994663000027799, 37.846663001038422 ], [ -121.993279999643761, 37.846207000741188 ], [ -121.988171000159241, 37.844525000646762 ], [ -121.98668299973103, 37.844525000715002 ], [ -121.985771000319062, 37.844525001032714 ], [ -121.985610000496592, 37.844525000379413 ], [ -121.983970999882771, 37.844525000977399 ], [ -121.97867099947463, 37.84482500039995 ], [ -121.978233000144684, 37.846978000976627 ], [ -121.977560000376855, 37.850287000851672 ], [ -121.977471000358335, 37.850725000366182 ], [ -121.979471000151662, 37.854525001111561 ], [ -121.97617100005921, 37.856825000778414 ], [ -121.975370999748293, 37.85722500105927 ], [ -121.965970000311302, 37.861325000830583 ], [ -121.967270000183717, 37.863725000654973 ], [ -121.964269999404792, 37.863825000439796 ], [ -121.961969999962164, 37.864025000393958 ], [ -121.956270000329226, 37.859625000788171 ], [ -121.956369999626958, 37.8573250010799 ], [ -121.951870000397889, 37.856225001083722 ], [ -121.950570000052323, 37.856925000846687 ], [ -121.948769999402359, 37.856525000716495 ], [ -121.944670000116702, 37.85672500033828 ], [ -121.939970000335052, 37.856525000757237 ], [ -121.93967000039072, 37.855925001088423 ], [ -121.935768999967138, 37.854525000848184 ], [ -121.932669000206474, 37.851225000759293 ], [ -121.932969000379998, 37.849425000556934 ], [ -121.929627000469623, 37.847725000980958 ], [ -121.927269000213826, 37.846525000508571 ], [ -121.927269000519104, 37.845625000705425 ], [ -121.923569000257203, 37.844525000798868 ], [ -121.921068999399665, 37.84302500082805 ], [ -121.922069000004868, 37.842525000473927 ], [ -121.921869000229265, 37.841325000855868 ], [ -121.922568999748492, 37.840625000401452 ], [ -121.925168999808605, 37.84112500071479 ], [ -121.926669000234867, 37.84272500098853 ], [ -121.928968999670005, 37.841925000552905 ], [ -121.930469000320741, 37.842325000784612 ], [ -121.932168999960666, 37.841625000444935 ], [ -121.933768999870651, 37.843925000924173 ], [ -121.935468999760204, 37.843725000452721 ], [ -121.937069000263435, 37.844425000990334 ], [ -121.93866899980695, 37.841025001079011 ], [ -121.940470000485149, 37.841525001056951 ], [ -121.940570000302998, 37.843125000969565 ], [ -121.942269999895487, 37.843525000251745 ], [ -121.943969999442814, 37.842125000959221 ], [ -121.946170000398837, 37.843225001139288 ], [ -121.948470000005827, 37.842525000936533 ], [ -121.948169999996253, 37.843225000706177 ], [ -121.95037000000805, 37.844225000966269 ], [ -121.950213999499226, 37.842669000677787 ], [ -121.950070000269577, 37.841225000317216 ], [ -121.947969999597689, 37.840825000694636 ], [ -121.948387999630555, 37.840058000450014 ], [ -121.94881399988455, 37.839278000573657 ], [ -121.950369999899934, 37.836425000556225 ], [ -121.95177000051774, 37.835025000274243 ], [ -121.95217000011715, 37.833325000851097 ], [ -121.952389999411253, 37.832592001080741 ], [ -121.952469999715262, 37.832325000684833 ], [ -121.952869999979413, 37.831825000398759 ], [ -121.95537000006253, 37.831825000733588 ], [ -121.956769999562511, 37.831825000295694 ], [ -121.95987000041967, 37.833325000855965 ], [ -121.962070000042047, 37.833225000844678 ], [ -121.96566999961334, 37.833725000731846 ], [ -121.967469999449278, 37.835125000271262 ], [ -121.968770000037424, 37.835425000591492 ], [ -121.969284999711022, 37.83549900052526 ], [ -121.970169999950343, 37.835625000822112 ], [ -121.971970000289076, 37.835625000650055 ], [ -121.978271000026112, 37.834925000746921 ], [ -121.979570999908432, 37.83432500028217 ], [ -121.980491999518748, 37.83359600062991 ], [ -121.9813839997786, 37.832890000286469 ], [ -121.981971000088521, 37.83242500081289 ], [ -121.982770999782048, 37.831725000804141 ], [ -121.983105999514891, 37.831432000882913 ], [ -121.983571000161845, 37.831025000605386 ], [ -121.98430199942608, 37.830887000696137 ], [ -121.985635999913626, 37.830635000790117 ], [ -121.987271000399957, 37.83032500029784 ], [ -121.989471000005835, 37.831125000524843 ], [ -121.991271000425186, 37.832425000608062 ], [ -121.993570999622477, 37.832325000356271 ], [ -121.995871000282307, 37.831525000338509 ], [ -121.996970999641391, 37.83142500098414 ], [ -121.998670999442723, 37.830525000332003 ], [ -121.999071000016045, 37.830425001119593 ], [ -121.999371000354671, 37.83012500102199 ], [ -122.000293999735547, 37.829260000507041 ], [ -122.000570999801695, 37.829025000733836 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 23, "TAZ1454": 1166, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.968770000037424, 37.835425000591492 ], [ -121.967469999449278, 37.835125000271262 ], [ -121.96566999961334, 37.833725000731846 ], [ -121.962070000042047, 37.833225000844678 ], [ -121.95987000041967, 37.833325000855965 ], [ -121.956769999562511, 37.831825000295694 ], [ -121.95537000006253, 37.831825000733588 ], [ -121.952869999979413, 37.831825000398759 ], [ -121.95136999993737, 37.831825000492472 ], [ -121.950369999810761, 37.831525000748272 ], [ -121.949269999730916, 37.831225000751395 ], [ -121.949112999898077, 37.831179001035551 ], [ -121.948318999926911, 37.830946000611441 ], [ -121.947823999543289, 37.830800000984155 ], [ -121.947123999581009, 37.830594000930525 ], [ -121.94417000023482, 37.829725001018303 ], [ -121.942328999802925, 37.829184000909997 ], [ -121.940195000109796, 37.828556000532018 ], [ -121.939355000146477, 37.82831000086987 ], [ -121.938494999446235, 37.828057000404741 ], [ -121.937368999512429, 37.827726001031444 ], [ -121.92896900019106, 37.824626001075409 ], [ -121.922869000376721, 37.822426000381711 ], [ -121.921468999855605, 37.821826000576401 ], [ -121.921278999478943, 37.818881000688584 ], [ -121.921086999504439, 37.815905000308113 ], [ -121.921068999680699, 37.815626000667052 ], [ -121.921759000460469, 37.81465300103978 ], [ -121.92326900001234, 37.812526000901272 ], [ -121.923768999658549, 37.811726000619473 ], [ -121.922968999788154, 37.810026000424614 ], [ -121.922623999997811, 37.808291001031577 ], [ -121.922623999485197, 37.8081260010905 ], [ -121.922623999425639, 37.806528000813778 ], [ -121.922074000254966, 37.804873000573672 ], [ -121.92150999987004, 37.804011000241282 ], [ -121.921376999715662, 37.803689000674964 ], [ -121.921269000308442, 37.803426000571648 ], [ -121.921195999396431, 37.803041000958849 ], [ -121.921052000106471, 37.802287000480298 ], [ -121.921066999954391, 37.801326000839396 ], [ -121.921082000034275, 37.800364000623347 ], [ -121.921266000266243, 37.799418000909299 ], [ -121.921333999723444, 37.799161000612479 ], [ -121.92136900019004, 37.799026001008599 ], [ -121.922513999690835, 37.799150000437052 ], [ -121.923310999794467, 37.799237000602368 ], [ -121.923669000212357, 37.799276000762518 ], [ -121.924008999587514, 37.799313000406698 ], [ -121.925812999882893, 37.799509000571668 ], [ -121.927048999847116, 37.79988300079215 ], [ -121.928168999562544, 37.80012600039786 ], [ -121.928955000310481, 37.800321000785289 ], [ -121.929626000381148, 37.800487000518245 ], [ -121.930194000007148, 37.800628000467754 ], [ -121.93179399950148, 37.801025000607709 ], [ -121.931990999727901, 37.801074000482608 ], [ -121.934599000179986, 37.801720000380932 ], [ -121.940269000043827, 37.803126000647794 ], [ -121.940617000004906, 37.803286000710294 ], [ -121.941512999989669, 37.803697000337301 ], [ -121.942866000405814, 37.804318000330937 ], [ -121.943682000517541, 37.804693001112966 ], [ -121.946369999490628, 37.805926001019806 ], [ -121.946766999436363, 37.806125000631432 ], [ -121.948170000265677, 37.806826000833695 ], [ -121.950169999832411, 37.807726000247321 ], [ -121.951547000059804, 37.80841600070935 ], [ -121.952139999964572, 37.808712000292324 ], [ -121.952620000363112, 37.808952000480652 ], [ -121.954798999948494, 37.810041000444535 ], [ -121.955169999829508, 37.810226001104951 ], [ -121.956470000480323, 37.810889000581547 ], [ -121.957101999701749, 37.81121200052953 ], [ -121.957876999979433, 37.811607000369378 ], [ -121.96006999947663, 37.812726001019961 ], [ -121.96406999981653, 37.815426000631348 ], [ -121.965282999714432, 37.815702001117351 ], [ -121.968470000370644, 37.816426000891674 ], [ -121.970869999450429, 37.814826000297764 ], [ -121.971334000435689, 37.814522000750138 ], [ -121.97346999986695, 37.813126000385424 ], [ -121.976270000024485, 37.811726000435911 ], [ -121.98137099989394, 37.811026000486464 ], [ -121.984770999863798, 37.811226000700515 ], [ -121.987771000282237, 37.811426000913606 ], [ -121.990551000466311, 37.81143700064758 ], [ -121.991480000192027, 37.811467000322743 ], [ -121.992199000408291, 37.811474000604193 ], [ -121.992752999664091, 37.811474000379221 ], [ -121.993193000008418, 37.811483000402582 ], [ -121.993238999688288, 37.811832000326767 ], [ -121.993353000446419, 37.813107000759494 ], [ -121.993459000197689, 37.813956001123699 ], [ -121.99347100006608, 37.81522600055235 ], [ -121.993486999857737, 37.815807000954415 ], [ -121.993412999418013, 37.817202000376611 ], [ -121.993430999810286, 37.817830000682264 ], [ -121.993470999981454, 37.819226000906838 ], [ -121.993571000194265, 37.821326000694718 ], [ -121.99373499986612, 37.822466000318336 ], [ -121.993799000377649, 37.822907001126246 ], [ -121.994570999847667, 37.824326000781213 ], [ -121.994817000447625, 37.824804001037265 ], [ -121.99504300034107, 37.825125000696339 ], [ -121.995655000246472, 37.825625000807008 ], [ -121.999271000032863, 37.828325000819092 ], [ -122.000570999801695, 37.829025000733836 ], [ -122.000293999735547, 37.829260000507041 ], [ -121.999371000354671, 37.83012500102199 ], [ -121.999071000016045, 37.830425001119593 ], [ -121.998670999442723, 37.830525000332003 ], [ -121.996970999641391, 37.83142500098414 ], [ -121.995871000282307, 37.831525000338509 ], [ -121.993570999622477, 37.832325000356271 ], [ -121.991271000425186, 37.832425000608062 ], [ -121.989471000005835, 37.831125000524843 ], [ -121.987271000399957, 37.83032500029784 ], [ -121.985635999913626, 37.830635000790117 ], [ -121.98430199942608, 37.830887000696137 ], [ -121.983571000161845, 37.831025000605386 ], [ -121.983105999514891, 37.831432000882913 ], [ -121.982770999782048, 37.831725000804141 ], [ -121.981971000088521, 37.83242500081289 ], [ -121.9813839997786, 37.832890000286469 ], [ -121.980491999518748, 37.83359600062991 ], [ -121.979570999908432, 37.83432500028217 ], [ -121.978271000026112, 37.834925000746921 ], [ -121.971970000289076, 37.835625000650055 ], [ -121.970169999950343, 37.835625000822112 ], [ -121.969284999711022, 37.83549900052526 ], [ -121.968770000037424, 37.835425000591492 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1131, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.113574999458521, 37.961622000616664 ], [ -122.111360999756272, 37.960441000898527 ], [ -122.110575000321617, 37.960022000932533 ], [ -122.110220999480546, 37.959597000759722 ], [ -122.110074999966258, 37.959422000935 ], [ -122.109374999538275, 37.958522000537677 ], [ -122.108874999647156, 37.957522001081145 ], [ -122.108801999480235, 37.95737600027357 ], [ -122.108574999506232, 37.956922000698107 ], [ -122.10817500000195, 37.957122000778512 ], [ -122.107974999775848, 37.956822001009606 ], [ -122.107729000133801, 37.95647700040336 ], [ -122.107474999905762, 37.956122000273112 ], [ -122.107227999587622, 37.955875000505245 ], [ -122.107016999837356, 37.955664000729307 ], [ -122.106974999764375, 37.955622000885683 ], [ -122.106674999404007, 37.955422000811467 ], [ -122.105174999611918, 37.955422001126799 ], [ -122.104975000417838, 37.955822000803558 ], [ -122.105775000406041, 37.955922000402282 ], [ -122.106374999566171, 37.956322000723866 ], [ -122.106075000373536, 37.956722000540765 ], [ -122.105875000192086, 37.957022000388754 ], [ -122.105310000292704, 37.957273001113428 ], [ -122.10474300037707, 37.957525000506152 ], [ -122.104074999457666, 37.957822000746575 ], [ -122.10347500032718, 37.956722000731709 ], [ -122.103282999693135, 37.956466000831938 ], [ -122.102874999597987, 37.95592200045018 ], [ -122.102275000007737, 37.955522000379453 ], [ -122.101474999864905, 37.954523001075167 ], [ -122.101095000223722, 37.954504000570267 ], [ -122.099474999885118, 37.954422000691025 ], [ -122.097974999542956, 37.95442200030778 ], [ -122.096775000508927, 37.954422000657509 ], [ -122.092774999896633, 37.954422000493885 ], [ -122.092475000021423, 37.954822000563752 ], [ -122.092351000185488, 37.955020000898571 ], [ -122.091974999587507, 37.955622000483828 ], [ -122.091473999520801, 37.955222000386485 ], [ -122.090674000251752, 37.955622000659254 ], [ -122.089725000322147, 37.955105001119144 ], [ -122.088782999635981, 37.954591000714899 ], [ -122.088473999980081, 37.954422001054418 ], [ -122.087974000238304, 37.954022001065965 ], [ -122.08837400040548, 37.953722000974672 ], [ -122.089173999616122, 37.952822001038363 ], [ -122.089874000225535, 37.950723000283297 ], [ -122.089973999628427, 37.949523000514155 ], [ -122.090173999654525, 37.947723000710106 ], [ -122.090173999493032, 37.94102300039355 ], [ -122.090173999849611, 37.940423000784492 ], [ -122.090074000286734, 37.93682300095211 ], [ -122.091173999898203, 37.935323000575437 ], [ -122.093274999436346, 37.93432300023624 ], [ -122.094275000039559, 37.933923000665459 ], [ -122.094774999704939, 37.933723000360835 ], [ -122.095775000016772, 37.9333230005331 ], [ -122.097175000011902, 37.932223000668614 ], [ -122.096974999893632, 37.931723000781858 ], [ -122.096926000076792, 37.931487000448541 ], [ -122.096474999917916, 37.929323001094694 ], [ -122.096074999828005, 37.927623000812908 ], [ -122.096482000203096, 37.925128000641344 ], [ -122.096875000294574, 37.922723000741144 ], [ -122.096869999522767, 37.922614001011723 ], [ -122.09677499962649, 37.922323000282653 ], [ -122.096975000233414, 37.921523000396377 ], [ -122.097675000399533, 37.920323000858524 ], [ -122.098367999450986, 37.920163000727946 ], [ -122.098974999481698, 37.920023000689454 ], [ -122.099874999682811, 37.919823000586256 ], [ -122.099974999596995, 37.916824000264853 ], [ -122.099875000229773, 37.916224000901224 ], [ -122.099475000254515, 37.914224000825328 ], [ -122.098674999461565, 37.912924000600512 ], [ -122.09892400038872, 37.911579000985768 ], [ -122.099174999784182, 37.910224000813429 ], [ -122.099474999916538, 37.909524000592754 ], [ -122.099974999872259, 37.909124000365139 ], [ -122.100127000354604, 37.908881000572158 ], [ -122.10047500047429, 37.908324000609433 ], [ -122.100675000348389, 37.908024000655182 ], [ -122.102275000237952, 37.908724000976314 ], [ -122.103374999960735, 37.909224000435088 ], [ -122.105132000335772, 37.910093000982819 ], [ -122.108975000437241, 37.912624000307261 ], [ -122.110875000393506, 37.913524000520809 ], [ -122.112475000448867, 37.914024000915539 ], [ -122.112918999753376, 37.913922000994148 ], [ -122.113774999931579, 37.913724000990577 ], [ -122.114674999419719, 37.914124001024369 ], [ -122.114974999990594, 37.914524000756806 ], [ -122.115974999500679, 37.914924001112283 ], [ -122.121274999943836, 37.916424000662843 ], [ -122.121374999638462, 37.914324000868206 ], [ -122.121475000105562, 37.91182400074554 ], [ -122.115875000250924, 37.911224000661733 ], [ -122.11687500050131, 37.907824000678154 ], [ -122.116934999783723, 37.9075240009495 ], [ -122.112575000419213, 37.905524000334495 ], [ -122.110984000494597, 37.904778000831236 ], [ -122.110074999900391, 37.903824000834305 ], [ -122.103174999901938, 37.906824000531103 ], [ -122.102225999815289, 37.905770000518274 ], [ -122.10067499946021, 37.906224000392967 ], [ -122.098275000094404, 37.902024000490329 ], [ -122.098674999830024, 37.901524001023709 ], [ -122.099375000239931, 37.901224000362767 ], [ -122.106174999658407, 37.898524000704455 ], [ -122.108573000140908, 37.902344001088501 ], [ -122.109675000279836, 37.903324001136212 ], [ -122.110427000012947, 37.902885000356996 ], [ -122.110875000002864, 37.902624001055912 ], [ -122.11093800042282, 37.902748000731712 ], [ -122.111136999539795, 37.90304600081501 ], [ -122.111391000495772, 37.903600000243408 ], [ -122.111426999936313, 37.903679000467328 ], [ -122.111747000482268, 37.904099000553536 ], [ -122.11209800047132, 37.904190000414694 ], [ -122.112175000077869, 37.904024000782144 ], [ -122.112555999653921, 37.904282000749262 ], [ -122.113180999480903, 37.904518000350976 ], [ -122.113288000387399, 37.904770000810188 ], [ -122.11348600004716, 37.905197000981723 ], [ -122.114706999458491, 37.905236000488607 ], [ -122.114974999562747, 37.904824000516207 ], [ -122.115088999654759, 37.904869000496404 ], [ -122.116766999821579, 37.904938000570652 ], [ -122.11824700019892, 37.905114001091498 ], [ -122.120078000229441, 37.905548000240593 ], [ -122.121604000446055, 37.905632000811003 ], [ -122.123315999510467, 37.905534000340019 ], [ -122.124038000461667, 37.906071000649263 ], [ -122.124817999912139, 37.905807000279545 ], [ -122.124844999458219, 37.905582000401282 ], [ -122.125906999505119, 37.905625000866117 ], [ -122.126975999642085, 37.905524000429665 ], [ -122.126976000348606, 37.904869000675426 ], [ -122.125922000453215, 37.90367900105165 ], [ -122.125709000320953, 37.902176000972879 ], [ -122.125774999724484, 37.90152400030432 ], [ -122.126275000003218, 37.901324000548094 ], [ -122.12624300050723, 37.90187100077511 ], [ -122.126563000339743, 37.90316000042057 ], [ -122.127174999685749, 37.904358000504715 ], [ -122.128075000409211, 37.905060000807083 ], [ -122.12873100049913, 37.905167000779912 ], [ -122.130043000008826, 37.905266001013821 ], [ -122.131309999682557, 37.905793000801751 ], [ -122.133492000487209, 37.907090000350514 ], [ -122.13427599966856, 37.907624000363064 ], [ -122.135200999495126, 37.908318000652926 ], [ -122.136727000301491, 37.909432000299653 ], [ -122.13781000052218, 37.90979000036485 ], [ -122.139701999803549, 37.90983600071938 ], [ -122.140576000323392, 37.909924000681812 ], [ -122.141106000023981, 37.90982800087226 ], [ -122.141670000091693, 37.909882000427864 ], [ -122.142375999827649, 37.909824000954671 ], [ -122.143226999626833, 37.910820000770848 ], [ -122.143577999417587, 37.911240000793235 ], [ -122.143959000200724, 37.911339000447484 ], [ -122.144448000074973, 37.91115600060845 ], [ -122.144463000447004, 37.911011001062995 ], [ -122.144341000158065, 37.910721000999082 ], [ -122.14415799966018, 37.910485000773647 ], [ -122.143806999465511, 37.910004000264436 ], [ -122.143875999634531, 37.909224000922343 ], [ -122.143928999498286, 37.909272001021463 ], [ -122.144660999937656, 37.90943200075111 ], [ -122.145377999798995, 37.909500000706402 ], [ -122.145492000082669, 37.909495000804036 ], [ -122.147175999636318, 37.909424000531459 ], [ -122.147179000042257, 37.909508000765655 ], [ -122.146995999650542, 37.909722000959306 ], [ -122.146721000485115, 37.910141000362536 ], [ -122.146176000027253, 37.911324000567916 ], [ -122.146874000423949, 37.9113850003138 ], [ -122.147773999658341, 37.91130100101249 ], [ -122.148812000364174, 37.911492000742712 ], [ -122.149075999743388, 37.913224000261714 ], [ -122.149176000260482, 37.913924001073838 ], [ -122.146552999750682, 37.915047000465279 ], [ -122.1452259996328, 37.915154000448389 ], [ -122.144279999888823, 37.915238000599047 ], [ -122.143410000293429, 37.915428000381887 ], [ -122.142675999503666, 37.915824000937683 ], [ -122.14197600015018, 37.916324000768668 ], [ -122.142376000466314, 37.916324000831281 ], [ -122.147375999492425, 37.91662400030124 ], [ -122.147976000348436, 37.917224000530886 ], [ -122.155176000402065, 37.918324000420263 ], [ -122.157176000186908, 37.918024000484642 ], [ -122.158376000384649, 37.91802400031888 ], [ -122.160776999749572, 37.91842400113002 ], [ -122.161871999663049, 37.919793000449914 ], [ -122.162377000436194, 37.92042400029581 ], [ -122.165376999558205, 37.921724000743239 ], [ -122.165777000411694, 37.922024001134609 ], [ -122.165977000313475, 37.9223240005741 ], [ -122.166677000011575, 37.922924000707539 ], [ -122.165777000426687, 37.923824000703021 ], [ -122.165629000315533, 37.923972000283555 ], [ -122.165377000093557, 37.924224000514457 ], [ -122.165304000173521, 37.924711001124784 ], [ -122.165077000219412, 37.926224000754075 ], [ -122.163500999453134, 37.926224001094035 ], [ -122.161877000007053, 37.926224000779328 ], [ -122.160977000148478, 37.926723001019923 ], [ -122.159677000416892, 37.92742300109002 ], [ -122.156376000451587, 37.927023000300451 ], [ -122.155276000471105, 37.928423000915622 ], [ -122.151976000144074, 37.929023000737452 ], [ -122.148375999926131, 37.933023000543116 ], [ -122.148775999426618, 37.933823000249298 ], [ -122.143675999795391, 37.935523000268461 ], [ -122.142375999484059, 37.935123000583218 ], [ -122.140575999439307, 37.937823000674882 ], [ -122.137876000470726, 37.938223000687195 ], [ -122.138875999572832, 37.939123000684084 ], [ -122.137175999984208, 37.942523000335257 ], [ -122.134876000243409, 37.943523000753416 ], [ -122.133975999504457, 37.945923000599706 ], [ -122.135576000197801, 37.946323000298179 ], [ -122.135875999723027, 37.947523000305239 ], [ -122.135276, 37.947723000585292 ], [ -122.136575999792996, 37.951723000924858 ], [ -122.135551999876824, 37.954055000427623 ], [ -122.135476000127056, 37.954123000808274 ], [ -122.134275999627192, 37.957023000509537 ], [ -122.133075999425856, 37.959822000525584 ], [ -122.132375999786717, 37.96042200083982 ], [ -122.132176000320769, 37.960722000640686 ], [ -122.132375999962875, 37.962222000373153 ], [ -122.131476000208309, 37.962822000472016 ], [ -122.131276000526867, 37.962922000397491 ], [ -122.129775999956507, 37.963922000696677 ], [ -122.128575999972682, 37.966122000720553 ], [ -122.127847999463555, 37.966268000690768 ], [ -122.126575999463924, 37.966522000391294 ], [ -122.123174999654154, 37.967022000697611 ], [ -122.122875000187022, 37.967022001071157 ], [ -122.120774999569548, 37.96702200025144 ], [ -122.11887500031456, 37.965622000431495 ], [ -122.117675000472858, 37.964722000295474 ], [ -122.116972999684819, 37.964207001058519 ], [ -122.116175000160098, 37.963622000346533 ], [ -122.114274999877068, 37.962222001069435 ], [ -122.113574999458521, 37.961622000616664 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1153, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.178176999463048, 37.873025000575893 ], [ -122.17865899965841, 37.874046000421238 ], [ -122.179877000485433, 37.876625000418926 ], [ -122.17997699962919, 37.877625000492522 ], [ -122.180976999897737, 37.878225000766719 ], [ -122.182072999820065, 37.878929001022094 ], [ -122.182377000506293, 37.87912500099867 ], [ -122.182777000107606, 37.879325000505432 ], [ -122.183077000020674, 37.879425001095697 ], [ -122.181977000209756, 37.880825000366791 ], [ -122.181647000448436, 37.881303000896615 ], [ -122.17959099970814, 37.884279000917481 ], [ -122.179476999642233, 37.884425000420585 ], [ -122.17807700030059, 37.886125000319431 ], [ -122.176877000389297, 37.887725000522373 ], [ -122.173077000357409, 37.890625000583334 ], [ -122.172906999885882, 37.890741000993401 ], [ -122.172689000331516, 37.890920000601547 ], [ -122.17236200005479, 37.891172000787741 ], [ -122.172034999647451, 37.891377000821215 ], [ -122.171791999817785, 37.891503000464844 ], [ -122.171472999905887, 37.891642001053555 ], [ -122.171086999645183, 37.891807000559261 ], [ -122.170776999876438, 37.891924001011283 ], [ -122.170550999932502, 37.891999000644454 ], [ -122.1702989995877, 37.892072000487801 ], [ -122.170055999658516, 37.892132000952714 ], [ -122.169679000179443, 37.892218000513893 ], [ -122.169392999449414, 37.892271000635581 ], [ -122.168956999527552, 37.892344000516481 ], [ -122.168588000123933, 37.892397000299148 ], [ -122.166276999919035, 37.892724000728521 ], [ -122.166086999601674, 37.892782000678721 ], [ -122.165698000507589, 37.892894000872815 ], [ -122.165290000072503, 37.892946000930145 ], [ -122.163990000335446, 37.892939000258295 ], [ -122.162282999778157, 37.892917000442417 ], [ -122.16048100052484, 37.8928420005427 ], [ -122.159257000365017, 37.892782000310973 ], [ -122.158675999589263, 37.892724001000559 ], [ -122.154775999900963, 37.892324000883491 ], [ -122.154392000098852, 37.892273000857386 ], [ -122.154374999993465, 37.892133000630906 ], [ -122.154320999930405, 37.891678000503234 ], [ -122.154033000473348, 37.890794001022265 ], [ -122.15407600038958, 37.890424001036784 ], [ -122.154076000266173, 37.889724001044229 ], [ -122.154775999568756, 37.888824001057657 ], [ -122.155175999946707, 37.888225000399245 ], [ -122.156675999756189, 37.886825000513724 ], [ -122.156876000367518, 37.88662500089692 ], [ -122.157076000212939, 37.885725000330787 ], [ -122.157775999571513, 37.88512500079954 ], [ -122.158276000421395, 37.88462500024508 ], [ -122.158675999686977, 37.884325000496922 ], [ -122.159177000077719, 37.884025000701399 ], [ -122.159270000049688, 37.883558000514689 ], [ -122.159377000302115, 37.883025000931269 ], [ -122.15737599999261, 37.882725000482345 ], [ -122.158482000125701, 37.881449000533721 ], [ -122.158675999907601, 37.881225000361539 ], [ -122.159176999790674, 37.880425000269966 ], [ -122.159276999725932, 37.879725001073652 ], [ -122.159676999938995, 37.877425001080056 ], [ -122.159877000201988, 37.876625000669364 ], [ -122.160077000142323, 37.875725000415464 ], [ -122.160077000122826, 37.875425000480533 ], [ -122.16017700028749, 37.875025000739008 ], [ -122.160977000253354, 37.874025000416488 ], [ -122.161276999557714, 37.873325000705258 ], [ -122.161577000146522, 37.872225000569877 ], [ -122.161876999938301, 37.871025000858069 ], [ -122.16267699991981, 37.870225000492212 ], [ -122.163877000176043, 37.868925000251764 ], [ -122.164477000381495, 37.868425000962333 ], [ -122.165377000159211, 37.86712500043312 ], [ -122.166177000427908, 37.866225001051731 ], [ -122.166826999847316, 37.865383000449803 ], [ -122.167876999504486, 37.864025000539201 ], [ -122.168177000167063, 37.863225000882593 ], [ -122.168776999566333, 37.862725000473397 ], [ -122.16927699982547, 37.86262500025083 ], [ -122.169633999937616, 37.862845001040739 ], [ -122.170576999619556, 37.863425000996045 ], [ -122.171577000408874, 37.864025001099023 ], [ -122.172677000459487, 37.86442500036808 ], [ -122.172877000235047, 37.864525001001248 ], [ -122.173877000422777, 37.865125000534036 ], [ -122.174277000106841, 37.865425000636158 ], [ -122.174676999702385, 37.865625000645196 ], [ -122.175677000164697, 37.866625000552879 ], [ -122.176877000051348, 37.86892500084786 ], [ -122.177376999529756, 37.870525000861143 ], [ -122.177476999492896, 37.871025000687261 ], [ -122.177577000411233, 37.871825000860099 ], [ -122.178176999463048, 37.873025000575893 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1186, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.782757999945247, 37.98667100069855 ], [ -121.780118999775624, 37.985585000534897 ], [ -121.779964999902518, 37.985522000496246 ], [ -121.778764999903885, 37.985222000573955 ], [ -121.778264999831862, 37.985022000292197 ], [ -121.776664999538212, 37.984122000982261 ], [ -121.775555000093703, 37.983688000393599 ], [ -121.774365000416879, 37.983222000648439 ], [ -121.772351999844176, 37.983114000828913 ], [ -121.769809999673313, 37.982978000601655 ], [ -121.76876499952148, 37.982922000233671 ], [ -121.766483000297114, 37.981693000554515 ], [ -121.766164999908028, 37.981522000517373 ], [ -121.762764999972745, 37.98002200036202 ], [ -121.762727000113486, 37.976877000306061 ], [ -121.762694000496722, 37.974115000895104 ], [ -121.762690000168021, 37.973782001092445 ], [ -121.762682000398001, 37.97312300049262 ], [ -121.762664999905581, 37.971722000314784 ], [ -121.759965000304518, 37.971122000924339 ], [ -121.759978999411643, 37.970446001092093 ], [ -121.76006199995318, 37.966575000825458 ], [ -121.760164999573703, 37.961722000681988 ], [ -121.762865000076502, 37.962422000625729 ], [ -121.76328499985361, 37.962508000523428 ], [ -121.77383900026058, 37.96466200095351 ], [ -121.779800000506526, 37.966223000467387 ], [ -121.779983000233699, 37.966250001097421 ], [ -121.780100999415239, 37.966296000605269 ], [ -121.786266000072843, 37.968522000303764 ], [ -121.786834999576541, 37.968530000961778 ], [ -121.793519000149971, 37.968620000270512 ], [ -121.793648000464515, 37.968654000764495 ], [ -121.796213000351784, 37.969310000327575 ], [ -121.798948999700514, 37.970130000306369 ], [ -121.799494000427146, 37.969077001046628 ], [ -121.7996980001883, 37.969182000809376 ], [ -121.800055999775523, 37.969361000943948 ], [ -121.800219000074947, 37.969438000696108 ], [ -121.800675000215563, 37.969412000709085 ], [ -121.801130999583094, 37.969335001020845 ], [ -121.801456999417283, 37.969361000523762 ], [ -121.80171700043843, 37.969450000724379 ], [ -121.801716999626379, 37.969105000909906 ], [ -121.801717000175444, 37.969028001128528 ], [ -121.801782999934559, 37.968771000832966 ], [ -121.801880000355752, 37.968643000745651 ], [ -121.802010999827019, 37.968617000253758 ], [ -121.802922999871441, 37.968618000352073 ], [ -121.803931999448977, 37.968620000508523 ], [ -121.804518999840013, 37.968621000428726 ], [ -121.805093000415582, 37.968622000542688 ], [ -121.8052660002068, 37.968622000466858 ], [ -121.804866000426259, 37.973522000291084 ], [ -121.803538000465252, 37.974684000769464 ], [ -121.803265999482079, 37.974922000367812 ], [ -121.804197000382771, 37.976119000392494 ], [ -121.805366000314592, 37.977622000614893 ], [ -121.805465999845183, 37.978822000652599 ], [ -121.805565999418988, 37.979622000775201 ], [ -121.805498999431009, 37.980694001107523 ], [ -121.805466000015556, 37.981222000960784 ], [ -121.805465999837608, 37.981722000791947 ], [ -121.805465999408185, 37.982122000264113 ], [ -121.805466000044618, 37.982522000622254 ], [ -121.802965999690727, 37.983622000814485 ], [ -121.802165999714049, 37.984022001054619 ], [ -121.798638000423367, 37.984173000632403 ], [ -121.797969999944016, 37.984201000884603 ], [ -121.797466000279272, 37.984222000807712 ], [ -121.7969659995711, 37.984222000840411 ], [ -121.796855999803967, 37.984233000895181 ], [ -121.79417999990568, 37.984510000885798 ], [ -121.794065999826898, 37.984522000948203 ], [ -121.791165999724882, 37.983922000978048 ], [ -121.787666000243064, 37.984522000585137 ], [ -121.787070999925675, 37.984611000727739 ], [ -121.78566599954398, 37.984822000835869 ], [ -121.785383999579892, 37.98507900079187 ], [ -121.785039000315493, 37.985394000292658 ], [ -121.783366000234508, 37.98692100071996 ], [ -121.782757999945247, 37.98667100069855 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1103, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.98647099964964, 37.932523001037701 ], [ -121.98667099982282, 37.933323000650198 ], [ -121.987271000413159, 37.934823000711795 ], [ -121.987370999604877, 37.935023000449888 ], [ -121.98849400033906, 37.936629000799833 ], [ -121.988525000325936, 37.936707000513699 ], [ -121.988506999872243, 37.936732000979141 ], [ -121.988625999743547, 37.936864000286135 ], [ -121.990166999517598, 37.939222000714146 ], [ -121.997119999769097, 37.942451000348029 ], [ -121.997271999762546, 37.942522000621082 ], [ -121.995346999651275, 37.944530000897977 ], [ -121.995225999733208, 37.944656000805615 ], [ -121.994972000227307, 37.944922000711017 ], [ -121.99417199956612, 37.945722000985725 ], [ -121.992172000089369, 37.946622000761828 ], [ -121.984770999717824, 37.947722000985756 ], [ -121.981471000332036, 37.948222000893793 ], [ -121.977671000525774, 37.947722000514553 ], [ -121.97557100032634, 37.947222000346684 ], [ -121.970336000098044, 37.946124000305048 ], [ -121.969370999882429, 37.945922000984901 ], [ -121.966956000194159, 37.946064000238366 ], [ -121.965971000309722, 37.946122000863369 ], [ -121.963670999741183, 37.947322000882842 ], [ -121.960771000077344, 37.949422000778831 ], [ -121.957270999593831, 37.951922000703348 ], [ -121.956169999609315, 37.951522000907275 ], [ -121.95596999950331, 37.951422000477372 ], [ -121.955140999876818, 37.951045000256322 ], [ -121.954869999567336, 37.950922000766191 ], [ -121.954369999912444, 37.950622001081413 ], [ -121.953869999766525, 37.950422000454381 ], [ -121.953651999552591, 37.950288000908692 ], [ -121.952570000380732, 37.949622000587127 ], [ -121.952170000282592, 37.949322000437071 ], [ -121.950869999921068, 37.948522000770772 ], [ -121.950713000049348, 37.948455000531538 ], [ -121.950170000090282, 37.948222000321202 ], [ -121.950470000027224, 37.947422000627299 ], [ -121.950570000400148, 37.9467220009968 ], [ -121.950369999787853, 37.945822000246409 ], [ -121.950470000427103, 37.944722000950691 ], [ -121.950570000229035, 37.944122000436963 ], [ -121.950469999681005, 37.943322000470282 ], [ -121.95037000004001, 37.942722001089827 ], [ -121.949770000316121, 37.941822000374721 ], [ -121.949569999430381, 37.941123000668242 ], [ -121.949237999555848, 37.941123000309751 ], [ -121.948569999640767, 37.941123000688911 ], [ -121.948423000262935, 37.94112300095653 ], [ -121.947370000220531, 37.941123001029965 ], [ -121.945470000042718, 37.941223001068366 ], [ -121.944069999861384, 37.941123000558342 ], [ -121.943370000246745, 37.941023001102039 ], [ -121.942169999544248, 37.94102300066082 ], [ -121.942070000415143, 37.939423000759085 ], [ -121.941970000381318, 37.938523000357996 ], [ -121.94206999964382, 37.938023000888251 ], [ -121.942070000130641, 37.937823001014472 ], [ -121.942070000033112, 37.937123000937618 ], [ -121.942069999740539, 37.936723001112867 ], [ -121.942070000432722, 37.935423001064677 ], [ -121.942070000333203, 37.934323000731155 ], [ -121.941970000209537, 37.933823000551783 ], [ -121.94217000039923, 37.933423000758054 ], [ -121.945870000301113, 37.933523000694343 ], [ -121.946370000349958, 37.933523000758285 ], [ -121.951170000297438, 37.933623000470142 ], [ -121.955869999950437, 37.933823000904539 ], [ -121.955670000282055, 37.937423000853002 ], [ -121.956469999858925, 37.937523001087769 ], [ -121.957270000065947, 37.937523000790101 ], [ -121.957370000456507, 37.934123000546009 ], [ -121.957469999457317, 37.93002300100806 ], [ -121.960612000284499, 37.928754000875891 ], [ -121.962092999952191, 37.928156001042552 ], [ -121.962503000393653, 37.927991001023088 ], [ -121.96316599966589, 37.927723001081446 ], [ -121.964993999812847, 37.926985000634218 ], [ -121.966260000079458, 37.926474000497699 ], [ -121.96787099981303, 37.925823000451352 ], [ -121.968559000521708, 37.925002000485073 ], [ -121.977170999907443, 37.914723000362628 ], [ -121.979971000490295, 37.918623000404942 ], [ -121.982370999997812, 37.921623000569781 ], [ -121.984271000132907, 37.92392300104872 ], [ -121.984329999878696, 37.924171000849405 ], [ -121.984871000310591, 37.926423000746901 ], [ -121.985770999820957, 37.929723000434777 ], [ -121.98647099964964, 37.932523001037701 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 21, "TAZ1454": 1101, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.927268999474862, 37.920223000708852 ], [ -121.927164000356939, 37.920118000754464 ], [ -121.932930000525516, 37.920335000386046 ], [ -121.932971999958795, 37.922296000609528 ], [ -121.933061000498554, 37.92645000069416 ], [ -121.933370000383036, 37.92645000096821 ], [ -121.934370000027329, 37.926449000623293 ], [ -121.935869999965348, 37.926447000642703 ], [ -121.938557000035331, 37.926444001102794 ], [ -121.938610999567032, 37.933838000236577 ], [ -121.93928799942384, 37.933791000257997 ], [ -121.940269999647185, 37.933723000945612 ], [ -121.940321000165966, 37.933601000377557 ], [ -121.940869999761659, 37.933523000321514 ], [ -121.941570000443804, 37.933423000818465 ], [ -121.94217000039923, 37.933423000758054 ], [ -121.941970000209537, 37.933823000551783 ], [ -121.942070000333203, 37.934323000731155 ], [ -121.942070000432722, 37.935423001064677 ], [ -121.942069999740539, 37.936723001112867 ], [ -121.942070000033112, 37.937123000937618 ], [ -121.942070000130641, 37.937823001014472 ], [ -121.94206999964382, 37.938023000888251 ], [ -121.941970000381318, 37.938523000357996 ], [ -121.942070000415143, 37.939423000759085 ], [ -121.942169999544248, 37.94102300066082 ], [ -121.943370000246745, 37.941023001102039 ], [ -121.944069999861384, 37.941123000558342 ], [ -121.945470000042718, 37.941223001068366 ], [ -121.947370000220531, 37.941123001029965 ], [ -121.948423000262935, 37.94112300095653 ], [ -121.948569999640767, 37.941123000688911 ], [ -121.949237999555848, 37.941123000309751 ], [ -121.949569999430381, 37.941123000668242 ], [ -121.949770000316121, 37.941822000374721 ], [ -121.95037000004001, 37.942722001089827 ], [ -121.950469999681005, 37.943322000470282 ], [ -121.950570000229035, 37.944122000436963 ], [ -121.950470000427103, 37.944722000950691 ], [ -121.950369999787853, 37.945822000246409 ], [ -121.950570000400148, 37.9467220009968 ], [ -121.950470000027224, 37.947422000627299 ], [ -121.950170000090282, 37.948222000321202 ], [ -121.948469999975146, 37.947222000494435 ], [ -121.947469999776999, 37.946622000688279 ], [ -121.945999999398836, 37.945791000241918 ], [ -121.945169999494553, 37.945322000601593 ], [ -121.941969999817431, 37.943622000920726 ], [ -121.94027000030151, 37.942722000546119 ], [ -121.938640000367741, 37.942239000515585 ], [ -121.938107999985519, 37.942081001053779 ], [ -121.937569999484737, 37.941922000491431 ], [ -121.936770000050885, 37.941023000413821 ], [ -121.935869999982955, 37.941023000301158 ], [ -121.934869999926207, 37.941123000390753 ], [ -121.93367000046355, 37.941023000380142 ], [ -121.933470000250168, 37.9407230009679 ], [ -121.933369999468098, 37.940323000879857 ], [ -121.933069999473119, 37.939623000576482 ], [ -121.933534999505881, 37.93882700041307 ], [ -121.933441999989228, 37.938459000819343 ], [ -121.932832999856757, 37.936042000433133 ], [ -121.931757999484773, 37.934930000882865 ], [ -121.931169999464103, 37.93432300045405 ], [ -121.930569999441275, 37.934023000961744 ], [ -121.929004999570381, 37.933776000948789 ], [ -121.928669999669097, 37.93372300056641 ], [ -121.927642999710542, 37.933674000330775 ], [ -121.926646999571076, 37.933627000749787 ], [ -121.926569999436424, 37.933623000582188 ], [ -121.925770000228582, 37.933523001095388 ], [ -121.925542000202867, 37.933387000871569 ], [ -121.925268999403372, 37.9332230006694 ], [ -121.924468999702228, 37.932723000949458 ], [ -121.924037999630883, 37.932188000409162 ], [ -121.923946000406701, 37.932073000835288 ], [ -121.92391199947086, 37.932016000551712 ], [ -121.923746000112288, 37.931942001049791 ], [ -121.923492999835162, 37.931864000482328 ], [ -121.923406000318138, 37.931841001011982 ], [ -121.923449999957612, 37.931425001065193 ], [ -121.923478000074709, 37.931023000887663 ], [ -121.923509000229359, 37.930555000809541 ], [ -121.923408000042684, 37.930189000956368 ], [ -121.92316899956802, 37.929323000738549 ], [ -121.92267200042167, 37.92885000079611 ], [ -121.921297999823892, 37.92754100100187 ], [ -121.921069000286806, 37.927323000600161 ], [ -121.92139099956816, 37.926615000423531 ], [ -121.921569000484865, 37.926223000404015 ], [ -121.922368999576605, 37.925423000774074 ], [ -121.923268999943303, 37.924423000298709 ], [ -121.92356900037835, 37.922323000519242 ], [ -121.923868999879858, 37.920623000364145 ], [ -121.927268999474862, 37.920223000708852 ] ] ], [ [ [ -121.927164000356939, 37.920118000754464 ], [ -121.926768999390674, 37.919723000991418 ], [ -121.926702000243722, 37.919656001066713 ], [ -121.926926000084322, 37.919655000355775 ], [ -121.926960999645445, 37.919723000776955 ], [ -121.927164000356939, 37.920118000754464 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1090, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.173577000356048, 38.034721000277848 ], [ -122.174576999822648, 38.034521000289743 ], [ -122.175576999509943, 38.036421000442516 ], [ -122.175911999570829, 38.036451000808469 ], [ -122.176233000146155, 38.036489000864485 ], [ -122.176735999976998, 38.036481000802496 ], [ -122.177330999813208, 38.036542000417292 ], [ -122.177777999974452, 38.036421000360519 ], [ -122.178248000323023, 38.036168001025196 ], [ -122.178446000159894, 38.036084001103937 ], [ -122.178705999482005, 38.035955000473137 ], [ -122.179025999846189, 38.035825000593093 ], [ -122.179178000161102, 38.035521000976189 ], [ -122.180578000520214, 38.037421000354001 ], [ -122.180878000431633, 38.037921000319756 ], [ -122.18367799958439, 38.038621000236077 ], [ -122.182778000317271, 38.03912100048052 ], [ -122.184177999405378, 38.039821000641986 ], [ -122.183877999410711, 38.040620001133526 ], [ -122.18687800031465, 38.040920000511214 ], [ -122.18927799993385, 38.041920000562691 ], [ -122.192278000468363, 38.041121000676391 ], [ -122.195077999420334, 38.036121000245998 ], [ -122.191778000191206, 38.032221000403972 ], [ -122.191277999428522, 38.030821000470461 ], [ -122.189478000498212, 38.030421000455178 ], [ -122.189278000466828, 38.030221001055402 ], [ -122.188377999400387, 38.029621000382726 ], [ -122.187478000429365, 38.026221000856054 ], [ -122.183577999902298, 38.025921000338741 ], [ -122.182214999480536, 38.024177000597241 ], [ -122.178576999512387, 38.019521000566428 ], [ -122.177577000010245, 38.014821000389418 ], [ -122.178978000048886, 38.015452000687162 ], [ -122.180987999544897, 38.015874001119968 ], [ -122.183790999422172, 38.016167000415187 ], [ -122.18807800017052, 38.016621000951858 ], [ -122.188773999732604, 38.016405001122529 ], [ -122.190301000169711, 38.015761001049192 ], [ -122.190777999755582, 38.016521000895729 ], [ -122.194877999878543, 38.019621000709215 ], [ -122.196177999454633, 38.022921000895906 ], [ -122.200478000173874, 38.026421000353913 ], [ -122.204577999992694, 38.027921000349636 ], [ -122.208178000446253, 38.029421000842525 ], [ -122.209377999963607, 38.030421001101651 ], [ -122.21577900018265, 38.036221000695924 ], [ -122.216779000397764, 38.037121000731929 ], [ -122.227478999989557, 38.044821000494323 ], [ -122.231779000459468, 38.043621000714786 ], [ -122.235278999747706, 38.045121000995714 ], [ -122.236468999664964, 38.045429000267006 ], [ -122.236909999673401, 38.045572000360643 ], [ -122.237082999967498, 38.04563000108628 ], [ -122.237215000243722, 38.045665000249535 ], [ -122.237600999620511, 38.045824000593178 ], [ -122.237379000502216, 38.046021000818669 ], [ -122.235678999744295, 38.047221001046118 ], [ -122.227910999974185, 38.05256900060489 ], [ -122.227705000431939, 38.052710000793319 ], [ -122.226554999539175, 38.0535310002956 ], [ -122.226326999752487, 38.054038000781617 ], [ -122.225989000070655, 38.054848000771322 ], [ -122.225887999632661, 38.055041000557793 ], [ -122.225678999942133, 38.055820001090417 ], [ -122.225579000040057, 38.056320001132811 ], [ -122.224978999758321, 38.05622000095444 ], [ -122.22447899980169, 38.056220000870198 ], [ -122.224378999421774, 38.057820000808903 ], [ -122.220479000197642, 38.057720000494449 ], [ -122.214779000330722, 38.0574200002998 ], [ -122.206678999904966, 38.055020000968796 ], [ -122.206479000183691, 38.055420000329967 ], [ -122.204179000379924, 38.055120000497737 ], [ -122.204279000474443, 38.054720000515154 ], [ -122.203577999440057, 38.054320000685969 ], [ -122.20177799964577, 38.053920000333584 ], [ -122.201262000501899, 38.053855000376146 ], [ -122.193077999717275, 38.05282000030153 ], [ -122.19037800049378, 38.052420000588924 ], [ -122.183478000360623, 38.048020000879241 ], [ -122.178978000522847, 38.044520000597899 ], [ -122.174976999794168, 38.03872000029029 ], [ -122.174104999535487, 38.03654000057886 ], [ -122.173976999541679, 38.036221000992505 ], [ -122.173577000356048, 38.034721000277848 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1084, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.28245000014735, 38.002057000668131 ], [ -122.281967999757455, 38.001866000978872 ], [ -122.280072999536102, 38.001115000627941 ], [ -122.278393999432296, 38.000450000575846 ], [ -122.277984000393346, 37.999916000987504 ], [ -122.277653999648365, 37.999772000620197 ], [ -122.277504999530578, 37.999707000335022 ], [ -122.277120999909712, 37.999415000417592 ], [ -122.27695499965283, 37.999289000456763 ], [ -122.276776999657926, 37.999096000667542 ], [ -122.276776000110971, 37.998991000768534 ], [ -122.276607999555125, 37.998381000990271 ], [ -122.276194999645227, 37.997709000768872 ], [ -122.275656999747625, 37.997002000681611 ], [ -122.275357000490146, 37.996641000723379 ], [ -122.274679999529411, 37.99632200096498 ], [ -122.27408999947103, 37.996107000486468 ], [ -122.27401899943176, 37.99610800065313 ], [ -122.273672999949312, 37.995840000480001 ], [ -122.273515999392345, 37.995640000837128 ], [ -122.27341399987948, 37.995510001088967 ], [ -122.273120999458087, 37.995207000411867 ], [ -122.271571999901568, 37.994569001124184 ], [ -122.271411999569594, 37.994508000548151 ], [ -122.270412000267072, 37.994129000407476 ], [ -122.270206000401714, 37.994051000515597 ], [ -122.269018999971649, 37.993601000964922 ], [ -122.264887999623156, 37.992723000687903 ], [ -122.262726999857279, 37.992681000465758 ], [ -122.261146999906828, 37.992651001049047 ], [ -122.259356000287042, 37.992617000271999 ], [ -122.257395999619305, 37.993262001014919 ], [ -122.256409999435164, 37.993529000786204 ], [ -122.256139000201628, 37.993613000751012 ], [ -122.255509000037534, 37.993808000855296 ], [ -122.254375999828611, 37.99415800093864 ], [ -122.253439000090495, 37.994498000952852 ], [ -122.250924000112434, 37.993500000875699 ], [ -122.250103000265412, 37.993174000649752 ], [ -122.249216999394278, 37.992822000763688 ], [ -122.245758000508459, 37.990912000668352 ], [ -122.234084999791989, 37.984469000323315 ], [ -122.229470000045438, 37.984600000838633 ], [ -122.224273000051397, 37.985490000892092 ], [ -122.22142100005415, 37.984524000303779 ], [ -122.206777999486462, 37.966523000333964 ], [ -122.209877999734744, 37.968323000595653 ], [ -122.215078000033671, 37.970323000826525 ], [ -122.220377999472362, 37.970323001129898 ], [ -122.223577999624339, 37.972522000570962 ], [ -122.225878000021723, 37.973322000698111 ], [ -122.228278000147412, 37.973122000544592 ], [ -122.23097900000225, 37.974822001069171 ], [ -122.237242000275572, 37.972825000337302 ], [ -122.242578999759374, 37.971123000486536 ], [ -122.242879000492792, 37.970723000945995 ], [ -122.250479000086045, 37.973623000342947 ], [ -122.251379000276032, 37.975423000885435 ], [ -122.255478999553361, 37.977222000963948 ], [ -122.256668999959047, 37.977633000989577 ], [ -122.256742999521435, 37.977659000827899 ], [ -122.258078999662729, 37.978122000561086 ], [ -122.258778999526314, 37.978322000371513 ], [ -122.259878999894241, 37.978522000888425 ], [ -122.260578999605457, 37.978622000767544 ], [ -122.263779000361367, 37.979222000897764 ], [ -122.264057000196772, 37.97945400106029 ], [ -122.264378999658348, 37.979722000486966 ], [ -122.265579000104069, 37.980622000332872 ], [ -122.266835000284047, 37.981434000351975 ], [ -122.267279999796941, 37.981722000678346 ], [ -122.268479999819576, 37.982022000418759 ], [ -122.269580000275198, 37.982022000440828 ], [ -122.270680000149071, 37.981822000876164 ], [ -122.271179999632082, 37.981622000542245 ], [ -122.272979999616837, 37.981522000480858 ], [ -122.275780000042531, 37.982522000309039 ], [ -122.278779999771373, 37.983722000349879 ], [ -122.2790800000042, 37.983922001075193 ], [ -122.279779999992243, 37.984322000646188 ], [ -122.281080000075903, 37.98542200084681 ], [ -122.281679999766496, 37.985922000645687 ], [ -122.282279999590017, 37.986422000979445 ], [ -122.282879999555377, 37.986922000946763 ], [ -122.283479999662674, 37.987422000547646 ], [ -122.284179999713359, 37.98782200095723 ], [ -122.284679999891537, 37.988322000427964 ], [ -122.285380000370481, 37.989422001003817 ], [ -122.285479999577845, 37.99012200112481 ], [ -122.285579999442191, 37.990822001089995 ], [ -122.285679999963605, 37.991522000899337 ], [ -122.285979999998858, 37.993522000318833 ], [ -122.286179999814337, 37.996222000937841 ], [ -122.286357999937053, 37.99710500067939 ], [ -122.286409000304445, 37.997358001055446 ], [ -122.286679999820066, 37.997722001131883 ], [ -122.284373999796543, 38.00008300092896 ], [ -122.283262999481323, 38.001254001033153 ], [ -122.283169999879107, 38.001357000323871 ], [ -122.282480000070564, 38.002122000522185 ], [ -122.28245000014735, 38.002057000668131 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1078, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.291679999500559, 37.964123000447238 ], [ -122.293480000155441, 37.964023000900845 ], [ -122.294080000074686, 37.963923000912153 ], [ -122.294749000036489, 37.964205000348159 ], [ -122.295980000097359, 37.964723000576775 ], [ -122.29697999941429, 37.965023000650611 ], [ -122.297379999770087, 37.96522300031306 ], [ -122.299503999525868, 37.966040000950017 ], [ -122.30128000004872, 37.966723000974994 ], [ -122.303879999893724, 37.967523000260876 ], [ -122.30548000039272, 37.967223000857466 ], [ -122.30728100003877, 37.966723000666917 ], [ -122.309680999473258, 37.96652300029379 ], [ -122.309580999415559, 37.967023000929515 ], [ -122.309380999448408, 37.967923000409925 ], [ -122.307681000420288, 37.970023000899261 ], [ -122.305979999476534, 37.971623001087629 ], [ -122.302380000166281, 37.973923001034727 ], [ -122.301380000408287, 37.974523000348199 ], [ -122.300482000206912, 37.97508100059266 ], [ -122.297679999462929, 37.976823001074592 ], [ -122.296980000250159, 37.977123000364799 ], [ -122.296479999492149, 37.977323000971658 ], [ -122.295979999474838, 37.977623000604353 ], [ -122.295680000472828, 37.977623000871169 ], [ -122.294679999524575, 37.978023000521013 ], [ -122.293980000390917, 37.978222000974085 ], [ -122.293680000126301, 37.978222000628527 ], [ -122.292579999923333, 37.978023000875432 ], [ -122.292179999573776, 37.977823000420564 ], [ -122.291680000305789, 37.977223000251058 ], [ -122.291580000024339, 37.976923001129634 ], [ -122.291180000429108, 37.976123001140344 ], [ -122.290379999582967, 37.974523000455008 ], [ -122.288979999939514, 37.972723000341119 ], [ -122.288588000358175, 37.971983000603693 ], [ -122.288080000324683, 37.971023000493666 ], [ -122.285379999505764, 37.968223000746825 ], [ -122.284679999738387, 37.967823000564628 ], [ -122.284277999944777, 37.967622000273174 ], [ -122.283879999405059, 37.967423000359183 ], [ -122.283733999644269, 37.967350000237396 ], [ -122.283480000210474, 37.967223000928499 ], [ -122.282979999608216, 37.966823000962719 ], [ -122.282580000119736, 37.966523000799185 ], [ -122.282280000245365, 37.966123000691319 ], [ -122.282180000248715, 37.96582300044026 ], [ -122.282027000341088, 37.964701000411758 ], [ -122.281880000288396, 37.963623000968774 ], [ -122.281380000363029, 37.962423000545265 ], [ -122.281680000275799, 37.961823000491016 ], [ -122.282680000209098, 37.961223000608712 ], [ -122.283879999653195, 37.9609230007569 ], [ -122.284679999462284, 37.961323001116845 ], [ -122.286880000353023, 37.963223000780033 ], [ -122.287679999439192, 37.96342300055904 ], [ -122.288745999729883, 37.963674000755574 ], [ -122.289380000345787, 37.963823000323458 ], [ -122.289779999886562, 37.963823000507887 ], [ -122.290079999829175, 37.963923001118388 ], [ -122.290579999785734, 37.964023000431958 ], [ -122.291179999630657, 37.964023000395699 ], [ -122.291679999500559, 37.964123000447238 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1074, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.297279999396366, 37.98272200025189 ], [ -122.297266000158288, 37.982573000570099 ], [ -122.297179999983385, 37.981622000894099 ], [ -122.29718000009467, 37.981122000767961 ], [ -122.295879999407134, 37.978622000789244 ], [ -122.295680000472828, 37.977623000871169 ], [ -122.295979999474838, 37.977623000604353 ], [ -122.296479999492149, 37.977323000971658 ], [ -122.296980000250159, 37.977123000364799 ], [ -122.297679999462929, 37.976823001074592 ], [ -122.300482000206912, 37.97508100059266 ], [ -122.301380000408287, 37.974523000348199 ], [ -122.302380000166281, 37.973923001034727 ], [ -122.305979999476534, 37.971623001087629 ], [ -122.307681000420288, 37.970023000899261 ], [ -122.309380999448408, 37.967923000409925 ], [ -122.309580999415559, 37.967023000929515 ], [ -122.309680999473258, 37.96652300029379 ], [ -122.313286999500804, 37.965638000375407 ], [ -122.314980999740442, 37.965223000365874 ], [ -122.318480999414675, 37.964523000439449 ], [ -122.318980999431531, 37.96492300083834 ], [ -122.320381000296635, 37.966123000997818 ], [ -122.32078100044663, 37.966123000355545 ], [ -122.321380999537965, 37.966223001026009 ], [ -122.321577999943571, 37.966279000914582 ], [ -122.322080999556306, 37.966423000542882 ], [ -122.322680999528629, 37.966623000591042 ], [ -122.321103999583485, 37.970321000757068 ], [ -122.320034999707062, 37.972867000929988 ], [ -122.318911999521461, 37.976149000847613 ], [ -122.318744999759545, 37.976820000492424 ], [ -122.318490999502501, 37.977557001061442 ], [ -122.317380999498567, 37.980522000933192 ], [ -122.316043000349097, 37.985110000546292 ], [ -122.315981000240456, 37.985322000574783 ], [ -122.315926999493911, 37.985462000846077 ], [ -122.315853999484105, 37.98558400023763 ], [ -122.315669999809572, 37.985892000942478 ], [ -122.315474999391668, 37.986181000595764 ], [ -122.314997000129779, 37.986889001110619 ], [ -122.314280999678417, 37.987922000324097 ], [ -122.314034999714309, 37.988203000497442 ], [ -122.313714000121934, 37.988481001103217 ], [ -122.312720000111085, 37.989226001054881 ], [ -122.311080999789809, 37.990322000501344 ], [ -122.310762999638939, 37.99056400088417 ], [ -122.310025000093916, 37.991095000630906 ], [ -122.309480000441923, 37.991486000975812 ], [ -122.308565999720273, 37.992143000776245 ], [ -122.307860999803182, 37.992598000410545 ], [ -122.307281000051162, 37.992922000820798 ], [ -122.306034999897179, 37.993287000746925 ], [ -122.305411999874948, 37.993487000292689 ], [ -122.304545999931264, 37.993751000489496 ], [ -122.303875999444429, 37.993942000389204 ], [ -122.303101999695784, 37.994115000959297 ], [ -122.303027999772311, 37.994129000859438 ], [ -122.302477999900873, 37.994235000749079 ], [ -122.301939999665805, 37.993394000932959 ], [ -122.301639000419954, 37.9929230004632 ], [ -122.30087999945475, 37.992222000368926 ], [ -122.299080000419863, 37.99072200030411 ], [ -122.299079999991832, 37.990222000889034 ], [ -122.299080000105874, 37.988622000504641 ], [ -122.299079999749495, 37.987222000826876 ], [ -122.2987800002157, 37.986622000912341 ], [ -122.298379999537374, 37.986322000728727 ], [ -122.298079999598983, 37.985423000770616 ], [ -122.297979999490906, 37.985122000635975 ], [ -122.297479999769607, 37.983922001093347 ], [ -122.297279999396366, 37.98272200025189 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1068, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.383582000122175, 37.976523000822851 ], [ -122.383481999992952, 37.975723000933563 ], [ -122.381982000303452, 37.971723000879265 ], [ -122.379982000379528, 37.969123000397786 ], [ -122.376482000007968, 37.967323001027999 ], [ -122.37638199955596, 37.967623000687965 ], [ -122.367081999714244, 37.968323000898593 ], [ -122.365582000299241, 37.968723001122044 ], [ -122.362881999444795, 37.968623000548625 ], [ -122.360440000327628, 37.967963000615356 ], [ -122.359181999747946, 37.967623000307796 ], [ -122.359054999698486, 37.967600000797212 ], [ -122.357283999899408, 37.967278000877783 ], [ -122.357070000327994, 37.967239001098029 ], [ -122.35695799972045, 37.967216001089923 ], [ -122.357010000324195, 37.967078000869982 ], [ -122.357543000381739, 37.965003000829419 ], [ -122.357582000221399, 37.964823000777479 ], [ -122.357781999472337, 37.96102300081288 ], [ -122.3579820004217, 37.958823000759082 ], [ -122.357981999873402, 37.958223000791229 ], [ -122.358007999614344, 37.957986000819652 ], [ -122.358082000008693, 37.957323001133972 ], [ -122.358082000100552, 37.955123000401159 ], [ -122.358081999781376, 37.954823000236317 ], [ -122.358382000102992, 37.954423000653911 ], [ -122.358582000488084, 37.952923000390435 ], [ -122.358882000321628, 37.952023000649653 ], [ -122.360182000439536, 37.950523000598949 ], [ -122.360281999648905, 37.951323001060757 ], [ -122.360181999447704, 37.954023000834681 ], [ -122.360382000524112, 37.953423000875695 ], [ -122.360681999891909, 37.952523001053571 ], [ -122.361781999655733, 37.952123000978311 ], [ -122.362082000343364, 37.952023001060461 ], [ -122.363882000197066, 37.951223000402976 ], [ -122.365581999932957, 37.951223000960063 ], [ -122.367081999523137, 37.951323000931112 ], [ -122.368981999830552, 37.951223000479139 ], [ -122.37088199940203, 37.951223001040709 ], [ -122.370782000148253, 37.952023000303981 ], [ -122.370782000370127, 37.952723000514283 ], [ -122.370782000498465, 37.953423000641592 ], [ -122.370582000075757, 37.954123000685939 ], [ -122.371668000296168, 37.954123000558646 ], [ -122.372107000337252, 37.954123000980211 ], [ -122.372814999989572, 37.954123001059976 ], [ -122.373882000466011, 37.954123000877985 ], [ -122.377882000351462, 37.954123000663408 ], [ -122.380581999936595, 37.954023000240966 ], [ -122.382082000368143, 37.954023000962493 ], [ -122.384182000107998, 37.952823001101684 ], [ -122.386082000347315, 37.952723000336029 ], [ -122.390082000167993, 37.954423000791799 ], [ -122.392682999638424, 37.956523000748589 ], [ -122.393382999782546, 37.957323000447076 ], [ -122.394182999714872, 37.958123000789207 ], [ -122.393482999999065, 37.95852300073954 ], [ -122.394182999691381, 37.960623000908832 ], [ -122.393982999470694, 37.962923000751722 ], [ -122.386881999648821, 37.964023000628096 ], [ -122.384482000055982, 37.967723000779571 ], [ -122.386682000130691, 37.968023000984516 ], [ -122.385582000389107, 37.96862300076571 ], [ -122.385882000275785, 37.971623000586476 ], [ -122.383582000122175, 37.976523000822851 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1070, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.347381000190836, 37.970623000351878 ], [ -122.347882000148772, 37.971123000659986 ], [ -122.348081999734148, 37.971523000484389 ], [ -122.348782000461043, 37.972023000970985 ], [ -122.349382000393291, 37.972723000638489 ], [ -122.350081999807117, 37.973423000877709 ], [ -122.35088200043144, 37.974123000824093 ], [ -122.351382000298045, 37.974723001000577 ], [ -122.352181999924866, 37.975423001053251 ], [ -122.351681999717059, 37.976523000586219 ], [ -122.351582000300638, 37.977123000696039 ], [ -122.351381999540081, 37.977823000481727 ], [ -122.351181999434914, 37.978523000736203 ], [ -122.353481999631029, 37.978923000673063 ], [ -122.353516999490608, 37.978802000735023 ], [ -122.353778000020327, 37.978792000424377 ], [ -122.35396700027438, 37.978827000637814 ], [ -122.353681999599274, 37.979923000964206 ], [ -122.353488999426617, 37.979971000523477 ], [ -122.353282000501736, 37.980023001084511 ], [ -122.353112000352823, 37.980056000314669 ], [ -122.350681999403349, 37.980522000276217 ], [ -122.349038999475098, 37.980901000427195 ], [ -122.34808200012526, 37.981122000400511 ], [ -122.346517999880277, 37.981206000887028 ], [ -122.346405999393212, 37.981462000510675 ], [ -122.346181999773833, 37.981422000606649 ], [ -122.344881000464724, 37.981422000640549 ], [ -122.343181000484449, 37.981422000340437 ], [ -122.342181000356319, 37.981422000718915 ], [ -122.338981000289877, 37.981522000908136 ], [ -122.339280999599922, 37.981122000323452 ], [ -122.341381000238783, 37.978723000415968 ], [ -122.341680999508952, 37.977823000910007 ], [ -122.342481000441552, 37.976123001114971 ], [ -122.342580999786264, 37.975223000983249 ], [ -122.343281000114644, 37.973723000327709 ], [ -122.342481000108251, 37.973623001007645 ], [ -122.342281000501316, 37.972223000508137 ], [ -122.343581000073542, 37.972423000823085 ], [ -122.343881000059795, 37.970523001017355 ], [ -122.343880999829068, 37.970023000573718 ], [ -122.343980999468556, 37.969523000820885 ], [ -122.344080999983916, 37.969223000437502 ], [ -122.344380999645708, 37.967723000950031 ], [ -122.34518099967319, 37.967923000517885 ], [ -122.34608099992947, 37.968023001030552 ], [ -122.346981000363513, 37.968223000752161 ], [ -122.346181000254504, 37.969423001108687 ], [ -122.346781000487354, 37.9700230009229 ], [ -122.347381000190836, 37.970623000351878 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1413, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.607093999436657, 38.12041900073703 ], [ -122.607394000014736, 38.120219000504427 ], [ -122.608893999559825, 38.118919001077401 ], [ -122.609493999417467, 38.117819000890393 ], [ -122.614273999568937, 38.119450000445084 ], [ -122.616941999669223, 38.120360000870562 ], [ -122.61673500004801, 38.124033001101743 ], [ -122.616398000193243, 38.124919001134892 ], [ -122.616094000129564, 38.125719000957638 ], [ -122.614694000333003, 38.126119000342051 ], [ -122.611194000350423, 38.133019000772457 ], [ -122.608894000226059, 38.138719000987919 ], [ -122.608794000178307, 38.147819000316495 ], [ -122.607393999657958, 38.147119000777636 ], [ -122.605763000044959, 38.147099000472927 ], [ -122.59909400018492, 38.147019000774364 ], [ -122.592993000240455, 38.146119000618739 ], [ -122.59149299959526, 38.145819000501547 ], [ -122.590792999439046, 38.145019000997863 ], [ -122.587992999928161, 38.143019000592176 ], [ -122.58070899947856, 38.137118000512686 ], [ -122.578551000026238, 38.138232000679892 ], [ -122.577439000453538, 38.138806000963335 ], [ -122.568956999861413, 38.136166000711235 ], [ -122.568891999678925, 38.136064000578997 ], [ -122.568458999788803, 38.135849000625669 ], [ -122.568284999588684, 38.135593001025647 ], [ -122.568110999438545, 38.135234000309559 ], [ -122.567915999540133, 38.134875000487504 ], [ -122.567503000450301, 38.134756001004412 ], [ -122.567155000287116, 38.13477300046079 ], [ -122.56669799948321, 38.134739000866418 ], [ -122.566480999608856, 38.134670000758746 ], [ -122.566219999559536, 38.134499000454426 ], [ -122.565871999536398, 38.134363000386784 ], [ -122.56567600010662, 38.134363000499043 ], [ -122.565479999901584, 38.134448001111132 ], [ -122.565305999695397, 38.134414000712745 ], [ -122.565240999528839, 38.133713001007472 ], [ -122.564980999618953, 38.131061000939987 ], [ -122.565158000370602, 38.13057500091449 ], [ -122.565422999829849, 38.130158000642162 ], [ -122.56459699980033, 38.130179000439924 ], [ -122.564592000373594, 38.130119001004665 ], [ -122.564591999691231, 38.129419001113369 ], [ -122.564644999946879, 38.129199000746794 ], [ -122.56390099962654, 38.128580001081907 ], [ -122.564249999869361, 38.127456000339372 ], [ -122.565036999461086, 38.12491900062853 ], [ -122.565192000179394, 38.12441900032438 ], [ -122.565892000495282, 38.122519000959358 ], [ -122.5661709999751, 38.120547000880372 ], [ -122.566392000168946, 38.119019000260479 ], [ -122.566417999405331, 38.118796000549573 ], [ -122.566430999725398, 38.118618000811303 ], [ -122.566424999431334, 38.118474000589508 ], [ -122.566386999946431, 38.118267000965275 ], [ -122.566280000153768, 38.117891000844452 ], [ -122.566091999787204, 38.11738200091397 ], [ -122.566022999911596, 38.117221000806801 ], [ -122.565892000062235, 38.116919001078386 ], [ -122.565767000464092, 38.116639000735752 ], [ -122.565746999917238, 38.11659300100834 ], [ -122.565720000370476, 38.116517001106239 ], [ -122.56569199952007, 38.116419000299153 ], [ -122.566092000495814, 38.11631900112635 ], [ -122.566491999478444, 38.116119000616592 ], [ -122.567107999796008, 38.116207000324003 ], [ -122.567192000002237, 38.116219001017825 ], [ -122.569692000246619, 38.118319000927343 ], [ -122.570274000340618, 38.118772001002959 ], [ -122.570591999867517, 38.119019001038779 ], [ -122.572291999391922, 38.120419000375257 ], [ -122.574992000222792, 38.120619000985997 ], [ -122.57579199992368, 38.120619001052326 ], [ -122.576981999859427, 38.120927000284887 ], [ -122.578492000223548, 38.121319001054644 ], [ -122.582092000141586, 38.121319000890502 ], [ -122.58249199990351, 38.121319000871246 ], [ -122.582892000415299, 38.121219000466006 ], [ -122.583492999791432, 38.121219000284249 ], [ -122.583792999865679, 38.121119000943068 ], [ -122.584693000358328, 38.121319000690782 ], [ -122.585793000174718, 38.122719000334627 ], [ -122.587192999490966, 38.12411900029889 ], [ -122.591793000026712, 38.12411900060895 ], [ -122.595613999482381, 38.122925000459482 ], [ -122.596593000134717, 38.122619000409323 ], [ -122.600592999872816, 38.12161900086361 ], [ -122.60169300017904, 38.121419000551874 ], [ -122.602417999918941, 38.121367000885144 ], [ -122.604493000250258, 38.121219000371376 ], [ -122.60620199959034, 38.120706000288315 ], [ -122.606263999733358, 38.120687000302304 ], [ -122.606492999519105, 38.120619000920897 ], [ -122.607093999436657, 38.12041900073703 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1414, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.597492999402576, 38.102520000321213 ], [ -122.597892999559249, 38.101920000841702 ], [ -122.598078999763075, 38.101671001006615 ], [ -122.598131000418093, 38.101602001056371 ], [ -122.598492999683302, 38.10112000059722 ], [ -122.598577000449225, 38.101019000264102 ], [ -122.598993000056637, 38.100520000872564 ], [ -122.59955700010326, 38.099814000665361 ], [ -122.5997090002802, 38.099624001031323 ], [ -122.599793000321895, 38.099520000368841 ], [ -122.601393000128255, 38.097520000393573 ], [ -122.602292999810103, 38.096120000700992 ], [ -122.599292999672898, 38.094520001063842 ], [ -122.598292999819677, 38.094020000499626 ], [ -122.59899300036443, 38.093120000753395 ], [ -122.597293000090929, 38.092620000881638 ], [ -122.596992999391802, 38.092320000291437 ], [ -122.595992999873602, 38.091920000361831 ], [ -122.593992000372225, 38.09112000034645 ], [ -122.59269199981587, 38.090620000265019 ], [ -122.592092000275443, 38.089620000717332 ], [ -122.590592000277553, 38.086820001126355 ], [ -122.590492000068721, 38.086520000783224 ], [ -122.589992000156002, 38.085620000951536 ], [ -122.593591999645056, 38.084020000277441 ], [ -122.600769999456105, 38.078468000772141 ], [ -122.604193000131971, 38.075820000536631 ], [ -122.607692999971491, 38.077620001012576 ], [ -122.61207600031068, 38.080505001055428 ], [ -122.615592999651952, 38.082820000845274 ], [ -122.615778999990013, 38.082894000601726 ], [ -122.620594000466824, 38.084820000535409 ], [ -122.627893999617115, 38.088320000258882 ], [ -122.630694000462626, 38.088820000752222 ], [ -122.63419399942569, 38.087320000243636 ], [ -122.636194000100929, 38.087720000694816 ], [ -122.640494999475081, 38.087020000557466 ], [ -122.643504999632782, 38.087765000304699 ], [ -122.646054000376836, 38.08818500029421 ], [ -122.649426000110765, 38.088741000447392 ], [ -122.65298099948474, 38.089596000770193 ], [ -122.654445999630852, 38.090328000397683 ], [ -122.656291999657284, 38.091526000765121 ], [ -122.65745200022603, 38.091885000934788 ], [ -122.661741000429416, 38.092800001086061 ], [ -122.663160000267226, 38.093311001096723 ], [ -122.663695999953546, 38.093620000675806 ], [ -122.664364999876511, 38.094120000346663 ], [ -122.665005999987514, 38.094845000870237 ], [ -122.665203999605637, 38.095295000499931 ], [ -122.66535699991671, 38.095722000958574 ], [ -122.665479000331473, 38.096745000384878 ], [ -122.665417999492746, 38.102642000483478 ], [ -122.665495999522236, 38.104020000969214 ], [ -122.665875999659605, 38.105938000901979 ], [ -122.666395999573126, 38.107720001128357 ], [ -122.666973999779671, 38.111393000868489 ], [ -122.667112000486455, 38.112049000371265 ], [ -122.6673099999214, 38.112690000289817 ], [ -122.667492999403464, 38.11281200037471 ], [ -122.667795999660555, 38.11292000033891 ], [ -122.673306999416837, 38.115299000249813 ], [ -122.67606899956462, 38.115933000717789 ], [ -122.679869000368072, 38.115643000780139 ], [ -122.683744999763846, 38.114704001126903 ], [ -122.687132000186295, 38.114254000524397 ], [ -122.691511000279888, 38.114216000890593 ], [ -122.696364000314645, 38.116413000376859 ], [ -122.698744000386299, 38.12092200103568 ], [ -122.69879700023597, 38.122220000274133 ], [ -122.699297999533499, 38.124920001001342 ], [ -122.699600000400039, 38.129177000391778 ], [ -122.699843999708222, 38.13260900049287 ], [ -122.700197999736744, 38.13401900047468 ], [ -122.700239999783122, 38.134151000789025 ], [ -122.699934999498467, 38.134677000592866 ], [ -122.699599999477499, 38.135417000608257 ], [ -122.699904999582188, 38.1364010002535 ], [ -122.699629999653567, 38.137508001068376 ], [ -122.698959000324834, 38.138682000853883 ], [ -122.69829799967124, 38.140019000763012 ], [ -122.697646000304303, 38.140887000410927 ], [ -122.696609000313074, 38.142428001044593 ], [ -122.694669999990396, 38.144145000356858 ], [ -122.692243999577386, 38.145801000394357 ], [ -122.689436000013515, 38.146579000267458 ], [ -122.68725399995337, 38.14720400111009 ], [ -122.685407999495624, 38.147952000984247 ], [ -122.684003999655928, 38.148883000625446 ], [ -122.683287000531735, 38.149150000306399 ], [ -122.680797000443391, 38.149219000256814 ], [ -122.676497000068281, 38.149019000601882 ], [ -122.667795999628296, 38.148619000572879 ], [ -122.666944000136439, 38.148578001089021 ], [ -122.665372000322208, 38.148295000320182 ], [ -122.66482299981277, 38.148135000963734 ], [ -122.66422799978487, 38.147571000525161 ], [ -122.663984000337649, 38.146945000630296 ], [ -122.66343400009923, 38.146457000400808 ], [ -122.662823999770211, 38.14607500053787 ], [ -122.661999999747664, 38.145694000561285 ], [ -122.661161000481428, 38.145473000671927 ], [ -122.660496000074758, 38.145519000662894 ], [ -122.660107999906671, 38.145549001004319 ], [ -122.657223999643335, 38.14667000100313 ], [ -122.65499600023108, 38.147616000859429 ], [ -122.65286000043649, 38.14801300030409 ], [ -122.651425999665832, 38.147914000944901 ], [ -122.649350000221162, 38.147601001124812 ], [ -122.649087000284752, 38.147527000671218 ], [ -122.648298000476387, 38.147304000782704 ], [ -122.646787000347345, 38.146983000756144 ], [ -122.645091999814696, 38.146648000260754 ], [ -122.64380999947582, 38.146495001135357 ], [ -122.642787999432883, 38.146396000410427 ], [ -122.641594999973051, 38.146319000733122 ], [ -122.64165899963217, 38.145839001092071 ], [ -122.6414449994639, 38.144359000647682 ], [ -122.640712999423272, 38.142451000324769 ], [ -122.639523000392586, 38.138873000452634 ], [ -122.638240999985285, 38.137248000865661 ], [ -122.636364000437212, 38.135554000570615 ], [ -122.634991000341458, 38.134921001074723 ], [ -122.634838000511508, 38.134929001064904 ], [ -122.632228999712922, 38.134097000389353 ], [ -122.630626999536219, 38.133105000578759 ], [ -122.628703999525513, 38.130488000921702 ], [ -122.627559999562592, 38.127490000304014 ], [ -122.626701999431788, 38.12491900058167 ], [ -122.626658999641236, 38.12478900049102 ], [ -122.625693999865277, 38.123519000896209 ], [ -122.625294000169845, 38.123619001093729 ], [ -122.624193999723857, 38.12311900059747 ], [ -122.623093999906772, 38.12271900062742 ], [ -122.622304999715155, 38.122410000979229 ], [ -122.618284000154162, 38.120833000395884 ], [ -122.617994000018896, 38.120719001119305 ], [ -122.616941999669223, 38.120360000870562 ], [ -122.614273999568937, 38.119450000445084 ], [ -122.609493999417467, 38.117819000890393 ], [ -122.60569299971668, 38.116319000768051 ], [ -122.604593000300682, 38.115419001035313 ], [ -122.603892999935098, 38.114719001078242 ], [ -122.603392999530939, 38.114419000280549 ], [ -122.601692999404591, 38.113719000541003 ], [ -122.600692999431857, 38.113319000821569 ], [ -122.600466000237674, 38.113224000725516 ], [ -122.599492999898587, 38.112819000349958 ], [ -122.597693000170779, 38.112219000270358 ], [ -122.59659300033762, 38.11201900107978 ], [ -122.594793000043595, 38.111919000475389 ], [ -122.594192999473904, 38.112019000915588 ], [ -122.592692999780581, 38.112119001043645 ], [ -122.590792999769278, 38.111619000283547 ], [ -122.591192999566019, 38.110919000305366 ], [ -122.591793000118017, 38.110219000813046 ], [ -122.592173000082312, 38.109693000448381 ], [ -122.593093000303043, 38.108420000402518 ], [ -122.593318000192184, 38.108104000847028 ], [ -122.593593000055023, 38.107720000980891 ], [ -122.59422999970603, 38.106976000350244 ], [ -122.594792999413457, 38.106320000367987 ], [ -122.595193000420451, 38.105720000649413 ], [ -122.595393000203288, 38.105320000914446 ], [ -122.596393000081335, 38.104020000331694 ], [ -122.596592999829696, 38.103820000750979 ], [ -122.597392999559915, 38.102820001072246 ], [ -122.597492999402576, 38.102520000321213 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1409, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.569449000194922, 38.09677200054692 ], [ -122.568391000008731, 38.094020000821253 ], [ -122.56779100046171, 38.092420000638192 ], [ -122.566890999612738, 38.090920000674643 ], [ -122.565191000414316, 38.088120000410584 ], [ -122.561890999621113, 38.08542000106695 ], [ -122.561473000266105, 38.085054000675804 ], [ -122.559830999443818, 38.083617000301672 ], [ -122.559491000059566, 38.083320000502695 ], [ -122.558691000197925, 38.081820000836444 ], [ -122.557891000034573, 38.079720001138206 ], [ -122.557690000173395, 38.079220000921651 ], [ -122.557571999666195, 38.079081000715135 ], [ -122.557026000154067, 38.078435000930199 ], [ -122.556589999480636, 38.077920000652874 ], [ -122.556089999798019, 38.077720001074653 ], [ -122.554590000222859, 38.077620000600021 ], [ -122.552290000323197, 38.077620001071971 ], [ -122.551190000236431, 38.077620000980993 ], [ -122.550189999781736, 38.077620000237538 ], [ -122.549689999561494, 38.077620000730612 ], [ -122.547090000163251, 38.077620000553921 ], [ -122.546712000392674, 38.077903000687328 ], [ -122.546488999456145, 38.078088000531608 ], [ -122.546291999753223, 38.078418000388893 ], [ -122.546090000392553, 38.078820000253032 ], [ -122.546021999406648, 38.079070000738326 ], [ -122.546021000106009, 38.079071000894146 ], [ -122.545909999692327, 38.078935001077937 ], [ -122.545808999710673, 38.078758000425317 ], [ -122.545679000238877, 38.078558000703993 ], [ -122.545538999702586, 38.078358000915891 ], [ -122.545362999792772, 38.078132000628301 ], [ -122.545247999788401, 38.077994001001848 ], [ -122.545119000468233, 38.077871001010408 ], [ -122.545035000500491, 38.077807001054389 ], [ -122.544930000395084, 38.077753000444517 ], [ -122.544837999910257, 38.077726000799224 ], [ -122.544624999708162, 38.077663000598072 ], [ -122.544374000493519, 38.077617000289301 ], [ -122.544176999646609, 38.077593000723432 ], [ -122.543929999849098, 38.077580000602708 ], [ -122.543705999742684, 38.077585001124028 ], [ -122.543544999512363, 38.077607000547047 ], [ -122.543352999867622, 38.077400000589648 ], [ -122.543037999760003, 38.07706100052777 ], [ -122.542577999421241, 38.076584000495444 ], [ -122.541986000023229, 38.075894000569264 ], [ -122.541693000328877, 38.075515000337319 ], [ -122.541518000311115, 38.075256000776854 ], [ -122.541289999419277, 38.074820000680951 ], [ -122.539125000071479, 38.069723000520177 ], [ -122.536788999825845, 38.066220000594569 ], [ -122.537389000149076, 38.06612000067485 ], [ -122.537546999743114, 38.066057000683557 ], [ -122.537892999722303, 38.065919000400143 ], [ -122.538388999438524, 38.065720000705596 ], [ -122.539188999852684, 38.065620000867561 ], [ -122.540188999615637, 38.06552000034312 ], [ -122.539888999457446, 38.064620000348491 ], [ -122.539489000038756, 38.064520000431273 ], [ -122.539889000377215, 38.064120001086238 ], [ -122.540288999708309, 38.064520001010607 ], [ -122.541188999640497, 38.064120000452725 ], [ -122.541384000474523, 38.064478000898241 ], [ -122.541788999501733, 38.065220000574755 ], [ -122.544689999648313, 38.066020000485111 ], [ -122.545589999402765, 38.066220000540469 ], [ -122.545390000408332, 38.066720000537316 ], [ -122.54529000014405, 38.067420000944495 ], [ -122.547789999527012, 38.068420000548407 ], [ -122.550189999767284, 38.068720000973293 ], [ -122.550390000060986, 38.068120000302329 ], [ -122.551189999616739, 38.068420001058762 ], [ -122.551790000219114, 38.068620001030425 ], [ -122.552990000211395, 38.068720000432684 ], [ -122.553590000077406, 38.06912000077434 ], [ -122.554690000342461, 38.069020000803391 ], [ -122.55839000019229, 38.068220000470319 ], [ -122.560089999573506, 38.068220000733099 ], [ -122.560890000175348, 38.068820000903443 ], [ -122.563591000221734, 38.070620000531278 ], [ -122.563782999701829, 38.070927000927043 ], [ -122.564091000512505, 38.071420000632926 ], [ -122.564390999919127, 38.072120000281927 ], [ -122.564790999528668, 38.072920000599311 ], [ -122.565190999794837, 38.073720000371011 ], [ -122.566390999784545, 38.074120000327667 ], [ -122.56659099958344, 38.074320000329074 ], [ -122.566591000502825, 38.07452000077523 ], [ -122.568190999809858, 38.07472000072859 ], [ -122.568690999964431, 38.074720000787309 ], [ -122.571690999897541, 38.074920001088245 ], [ -122.573490999646523, 38.075420000816713 ], [ -122.573846000245211, 38.075491001078404 ], [ -122.573991000354042, 38.075520000648069 ], [ -122.578991000405111, 38.077520000444082 ], [ -122.585692000467176, 38.078820000999833 ], [ -122.585849999437684, 38.078860000252959 ], [ -122.586592000458552, 38.085320001038788 ], [ -122.585391999414227, 38.086320000507243 ], [ -122.583392000229139, 38.087920000670415 ], [ -122.578891999542691, 38.089820000482895 ], [ -122.57579199948394, 38.092220000715891 ], [ -122.574239000179233, 38.093462000282116 ], [ -122.573681999476577, 38.093908001082681 ], [ -122.57287499966877, 38.094553000444471 ], [ -122.572792000378243, 38.094620001025369 ], [ -122.572391999642463, 38.095020000368834 ], [ -122.571039999398437, 38.096296000758805 ], [ -122.57059099963233, 38.096720000489725 ], [ -122.570190999733057, 38.09812000045337 ], [ -122.569891000067798, 38.097920000833518 ], [ -122.569575999398026, 38.097101000878837 ], [ -122.569449000194922, 38.09677200054692 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1410, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.549589999448258, 38.083220000568787 ], [ -122.548480000116953, 38.082136001035416 ], [ -122.548037999976074, 38.081747000815859 ], [ -122.547752999414556, 38.081495000590103 ], [ -122.546846999833576, 38.080759001086086 ], [ -122.545895999411584, 38.079954000536823 ], [ -122.545616000419301, 38.07970900106443 ], [ -122.545357000412878, 38.079466000961041 ], [ -122.545065000318758, 38.079167000953952 ], [ -122.54470100012982, 38.078772000913489 ], [ -122.544047000371521, 38.078119001033066 ], [ -122.543544999512363, 38.077607000547047 ], [ -122.543705999742684, 38.077585001124028 ], [ -122.543929999849098, 38.077580000602708 ], [ -122.544176999646609, 38.077593000723432 ], [ -122.544374000493519, 38.077617000289301 ], [ -122.544624999708162, 38.077663000598072 ], [ -122.544837999910257, 38.077726000799224 ], [ -122.544930000395084, 38.077753000444517 ], [ -122.545035000500491, 38.077807001054389 ], [ -122.545119000468233, 38.077871001010408 ], [ -122.545247999788401, 38.077994001001848 ], [ -122.545362999792772, 38.078132000628301 ], [ -122.545538999702586, 38.078358000915891 ], [ -122.545679000238877, 38.078558000703993 ], [ -122.545808999710673, 38.078758000425317 ], [ -122.545909999692327, 38.078935001077937 ], [ -122.546021000106009, 38.079071000894146 ], [ -122.546021999406648, 38.079070000738326 ], [ -122.546090000392553, 38.078820000253032 ], [ -122.546291999753223, 38.078418000388893 ], [ -122.546488999456145, 38.078088000531608 ], [ -122.546712000392674, 38.077903000687328 ], [ -122.547090000163251, 38.077620000553921 ], [ -122.549689999561494, 38.077620000730612 ], [ -122.550189999781736, 38.077620000237538 ], [ -122.551190000236431, 38.077620000980993 ], [ -122.552290000323197, 38.077620001071971 ], [ -122.554590000222859, 38.077620000600021 ], [ -122.556089999798019, 38.077720001074653 ], [ -122.556589999480636, 38.077920000652874 ], [ -122.557026000154067, 38.078435000930199 ], [ -122.557571999666195, 38.079081000715135 ], [ -122.557690000173395, 38.079220000921651 ], [ -122.557891000034573, 38.079720001138206 ], [ -122.558691000197925, 38.081820000836444 ], [ -122.559491000059566, 38.083320000502695 ], [ -122.559830999443818, 38.083617000301672 ], [ -122.561473000266105, 38.085054000675804 ], [ -122.561890999621113, 38.08542000106695 ], [ -122.565191000414316, 38.088120000410584 ], [ -122.566890999612738, 38.090920000674643 ], [ -122.56779100046171, 38.092420000638192 ], [ -122.568391000008731, 38.094020000821253 ], [ -122.569449000194922, 38.09677200054692 ], [ -122.569575999398026, 38.097101000878837 ], [ -122.569891000067798, 38.097920000833518 ], [ -122.570190999733057, 38.09812000045337 ], [ -122.570591999707958, 38.099120001095642 ], [ -122.571092000121226, 38.099820000365106 ], [ -122.571992000478815, 38.101320000585694 ], [ -122.573191999997292, 38.103320000505967 ], [ -122.572992000047989, 38.103720001081356 ], [ -122.5723919996923, 38.103820000367584 ], [ -122.571292000128722, 38.104620000611625 ], [ -122.571092000371763, 38.105319000623687 ], [ -122.570492000117724, 38.105819000678792 ], [ -122.569392000366676, 38.103720001065888 ], [ -122.56779100001792, 38.100420000513367 ], [ -122.564813999639952, 38.09769900101341 ], [ -122.564290999754689, 38.09722000065139 ], [ -122.562373000295878, 38.096838000386171 ], [ -122.562323000379209, 38.096686000843128 ], [ -122.562261000480405, 38.09650400110182 ], [ -122.562161999724083, 38.096256000537117 ], [ -122.562085999637716, 38.09608900061825 ], [ -122.562003999447668, 38.095928000560917 ], [ -122.561946999601773, 38.095823000255521 ], [ -122.560391000270485, 38.093620000960271 ], [ -122.558990999630566, 38.092120000999756 ], [ -122.555991000435867, 38.089420000813746 ], [ -122.553258000166835, 38.08680200065556 ], [ -122.552440999428811, 38.086019000464447 ], [ -122.551190000110026, 38.08482000050769 ], [ -122.550371000345848, 38.084001000321571 ], [ -122.549589999448258, 38.083220000568787 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1408, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.576291000353493, 38.04732100035212 ], [ -122.58329099965917, 38.050021000353141 ], [ -122.588990999532314, 38.050521000941615 ], [ -122.59389199969732, 38.053721000401488 ], [ -122.594991999714665, 38.05382100038841 ], [ -122.595298999565486, 38.053763000685827 ], [ -122.596591999915134, 38.053521000958575 ], [ -122.600391999487599, 38.05532100025404 ], [ -122.606191999571905, 38.058021000904461 ], [ -122.605091999671984, 38.058621000417958 ], [ -122.604957000522447, 38.058734000298209 ], [ -122.600292000206977, 38.062621000998362 ], [ -122.596991999822038, 38.067421000888025 ], [ -122.601391999669232, 38.070221000762736 ], [ -122.604193000131971, 38.075820000536631 ], [ -122.600769999456105, 38.078468000772141 ], [ -122.593591999645056, 38.084020000277441 ], [ -122.589992000156002, 38.085620000951536 ], [ -122.587291999980195, 38.085420000572896 ], [ -122.586592000458552, 38.085320001038788 ], [ -122.585849999437684, 38.078860000252959 ], [ -122.585692000467176, 38.078820000999833 ], [ -122.578991000405111, 38.077520000444082 ], [ -122.573991000354042, 38.075520000648069 ], [ -122.573846000245211, 38.075491001078404 ], [ -122.573490999646523, 38.075420000816713 ], [ -122.571690999897541, 38.074920001088245 ], [ -122.568690999964431, 38.074720000787309 ], [ -122.568190999809858, 38.07472000072859 ], [ -122.566591000502825, 38.07452000077523 ], [ -122.56659099958344, 38.074320000329074 ], [ -122.566390999784545, 38.074120000327667 ], [ -122.565190999794837, 38.073720000371011 ], [ -122.564790999528668, 38.072920000599311 ], [ -122.564390999919127, 38.072120000281927 ], [ -122.564091000512505, 38.071420000632926 ], [ -122.563782999701829, 38.070927000927043 ], [ -122.563591000221734, 38.070620000531278 ], [ -122.560890000175348, 38.068820000903443 ], [ -122.560089999573506, 38.068220000733099 ], [ -122.55839000019229, 38.068220000470319 ], [ -122.554690000342461, 38.069020000803391 ], [ -122.553590000077406, 38.06912000077434 ], [ -122.552990000211395, 38.068720000432684 ], [ -122.551790000219114, 38.068620001030425 ], [ -122.551189999616739, 38.068420001058762 ], [ -122.550390000060986, 38.068120000302329 ], [ -122.550189999767284, 38.068720000973293 ], [ -122.547789999527012, 38.068420000548407 ], [ -122.54529000014405, 38.067420000944495 ], [ -122.545390000408332, 38.066720000537316 ], [ -122.545589999402765, 38.066220000540469 ], [ -122.544689999648313, 38.066020000485111 ], [ -122.541788999501733, 38.065220000574755 ], [ -122.541384000474523, 38.064478000898241 ], [ -122.541188999640497, 38.064120000452725 ], [ -122.540288999708309, 38.064520001010607 ], [ -122.539889000377215, 38.064120001086238 ], [ -122.539489000038756, 38.064520000431273 ], [ -122.539888999457446, 38.064620000348491 ], [ -122.540188999615637, 38.06552000034312 ], [ -122.539188999852684, 38.065620000867561 ], [ -122.538388999438524, 38.065720000705596 ], [ -122.537892999722303, 38.065919000400143 ], [ -122.537546999743114, 38.066057000683557 ], [ -122.537389000149076, 38.06612000067485 ], [ -122.536788999825845, 38.066220000594569 ], [ -122.536689000309806, 38.066020000691289 ], [ -122.536024000483309, 38.064601000257653 ], [ -122.534889000336506, 38.063220000242936 ], [ -122.533889000447715, 38.062020000834693 ], [ -122.532583999774914, 38.060713000552163 ], [ -122.532449999986397, 38.060562000925941 ], [ -122.532326000357159, 38.060390000703961 ], [ -122.532212999389344, 38.060192000920679 ], [ -122.532094000517631, 38.059916000766449 ], [ -122.531889000261486, 38.059421000940588 ], [ -122.531359000173978, 38.058165001098935 ], [ -122.530989000043789, 38.056621000557456 ], [ -122.530888999509628, 38.056121000992164 ], [ -122.530807999861892, 38.055590000312314 ], [ -122.530773000440561, 38.055290000386094 ], [ -122.530744999592713, 38.054879000400049 ], [ -122.530751999766409, 38.054456000841661 ], [ -122.530779999471733, 38.054095000823679 ], [ -122.530814999803368, 38.053762000671249 ], [ -122.531088999536138, 38.051621000411785 ], [ -122.53120900038185, 38.051140000907218 ], [ -122.531289000447046, 38.05082100093405 ], [ -122.531457999943925, 38.050229000759657 ], [ -122.531489000093558, 38.050121001058088 ], [ -122.531745000041028, 38.049471000350295 ], [ -122.532288999458757, 38.048321001006656 ], [ -122.532889000317098, 38.04732100077824 ], [ -122.535489000377993, 38.044121001064106 ], [ -122.537389000108078, 38.041121000694083 ], [ -122.538569000285264, 38.042254001091408 ], [ -122.539572000288032, 38.04322500042143 ], [ -122.551188999609508, 38.046221000713274 ], [ -122.554689999898457, 38.047021000757688 ], [ -122.561390000376718, 38.046621000642915 ], [ -122.57229100030689, 38.046221000422527 ], [ -122.573591000250033, 38.046421000818718 ], [ -122.574691000480115, 38.046721000959778 ], [ -122.576291000353493, 38.04732100035212 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1407, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.531489000093558, 38.050121001058088 ], [ -122.531457999943925, 38.050229000759657 ], [ -122.531289000447046, 38.05082100093405 ], [ -122.53120900038185, 38.051140000907218 ], [ -122.531088999536138, 38.051621000411785 ], [ -122.530814999803368, 38.053762000671249 ], [ -122.530779999471733, 38.054095000823679 ], [ -122.530751999766409, 38.054456000841661 ], [ -122.530744999592713, 38.054879000400049 ], [ -122.530773000440561, 38.055290000386094 ], [ -122.530807999861892, 38.055590000312314 ], [ -122.530888999509628, 38.056121000992164 ], [ -122.530989000043789, 38.056621000557456 ], [ -122.531359000173978, 38.058165001098935 ], [ -122.531889000261486, 38.059421000940588 ], [ -122.532094000517631, 38.059916000766449 ], [ -122.532212999389344, 38.060192000920679 ], [ -122.532326000357159, 38.060390000703961 ], [ -122.532449999986397, 38.060562000925941 ], [ -122.532583999774914, 38.060713000552163 ], [ -122.533889000447715, 38.062020000834693 ], [ -122.534889000336506, 38.063220000242936 ], [ -122.536024000483309, 38.064601000257653 ], [ -122.536689000309806, 38.066020000691289 ], [ -122.536689000353476, 38.066362000334856 ], [ -122.536688999952801, 38.067120000347195 ], [ -122.536589000217305, 38.069320000474598 ], [ -122.536089000209401, 38.070720000952562 ], [ -122.535989000246488, 38.071320001128569 ], [ -122.533889000509717, 38.074220000606083 ], [ -122.533588999804053, 38.074520000923741 ], [ -122.533388999776903, 38.074620000743117 ], [ -122.530388999774971, 38.075920000837741 ], [ -122.527036999537529, 38.075143000813306 ], [ -122.522188999758498, 38.074020000537118 ], [ -122.518687999829922, 38.071120000987506 ], [ -122.518187999535058, 38.068920000740313 ], [ -122.511587999907192, 38.063520000679944 ], [ -122.501087000521338, 38.060943000678229 ], [ -122.500586999976591, 38.060820000512344 ], [ -122.496686999847014, 38.071020000462838 ], [ -122.486586999603475, 38.068820001122177 ], [ -122.489487000438984, 38.06382000081274 ], [ -122.488187000387896, 38.064320000265553 ], [ -122.490186999705145, 38.059420000476472 ], [ -122.490386999960634, 38.0587200005588 ], [ -122.490986999536887, 38.058820000805959 ], [ -122.491386999561641, 38.058820000925394 ], [ -122.492287000151109, 38.056620000939361 ], [ -122.492586999585242, 38.054920000478958 ], [ -122.494387000052853, 38.05122100049531 ], [ -122.494787000163029, 38.050221000510994 ], [ -122.495187000297264, 38.04852100107491 ], [ -122.495186999809434, 38.048221000277245 ], [ -122.49510300011876, 38.047719000258553 ], [ -122.495087000316175, 38.047621000888626 ], [ -122.497886999533705, 38.04762100047332 ], [ -122.498287000044996, 38.047521000389878 ], [ -122.501087000378192, 38.04758800109262 ], [ -122.506587000231647, 38.047721000624023 ], [ -122.506504000279435, 38.04695600092338 ], [ -122.507328000256337, 38.04588000031076 ], [ -122.507998999928034, 38.045301000547376 ], [ -122.513987000501331, 38.044421000402131 ], [ -122.514150000118605, 38.04867300089888 ], [ -122.515446999802748, 38.051168000635805 ], [ -122.520587999618911, 38.052621000671188 ], [ -122.519788000034112, 38.048321000713784 ], [ -122.520288000097537, 38.047921000502576 ], [ -122.519187999818698, 38.041421000988599 ], [ -122.519287999999335, 38.039921000708624 ], [ -122.521088000033345, 38.038421001069999 ], [ -122.522596000269331, 38.038817000390367 ], [ -122.526159000013621, 38.039752000261061 ], [ -122.529088000423926, 38.040521000759469 ], [ -122.532588000204697, 38.041321001110603 ], [ -122.535789000511997, 38.040321000840471 ], [ -122.536488999413521, 38.041421000273907 ], [ -122.537389000108078, 38.041121000694083 ], [ -122.535489000377993, 38.044121001064106 ], [ -122.532889000317098, 38.04732100077824 ], [ -122.532288999458757, 38.048321001006656 ], [ -122.531745000041028, 38.049471000350295 ], [ -122.531489000093558, 38.050121001058088 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1424, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.51718700875216, 38.025220994106306 ], [ -122.517387010408612, 38.025321008625468 ], [ -122.517486995800624, 38.025521002840527 ], [ -122.51748700957036, 38.02772100170781 ], [ -122.517002008483544, 38.027890006718529 ], [ -122.516497998586132, 38.027829000066539 ], [ -122.516131995822519, 38.027813992843491 ], [ -122.515612994439905, 38.027920994948346 ], [ -122.515201010104661, 38.028089008273227 ], [ -122.514666994122891, 38.02812699300484 ], [ -122.514387009809596, 38.028120996100462 ], [ -122.514544999668558, 38.026899008712796 ], [ -122.514666989767747, 38.026441004724049 ], [ -122.514437994106061, 38.026044007389871 ], [ -122.514287007533042, 38.025821003946305 ], [ -122.514819990168078, 38.025646997544285 ], [ -122.515308004140067, 38.025563001585908 ], [ -122.515919003965848, 38.025425996606742 ], [ -122.516788004667688, 38.025235004156428 ], [ -122.51718700875216, 38.025220994106306 ] ], [ [ -122.537588005927219, 38.001421994956253 ], [ -122.53708799049123, 38.002022003627374 ], [ -122.5330879967794, 38.005622004276724 ], [ -122.531287009951839, 38.007222008176846 ], [ -122.530887005274664, 38.007922004478196 ], [ -122.530450006686323, 38.009069992593638 ], [ -122.530187009959377, 38.009760006551971 ], [ -122.527686990627586, 38.016321999361182 ], [ -122.527539002816425, 38.016716999878739 ], [ -122.527387989792985, 38.017122004197581 ], [ -122.526986990526382, 38.017322000365432 ], [ -122.526486996429696, 38.017622004754749 ], [ -122.525916993942744, 38.01742499989858 ], [ -122.5238870071599, 38.016722002769122 ], [ -122.521987010919688, 38.019021992634052 ], [ -122.518587002171884, 38.019721998195187 ], [ -122.515887005993974, 38.020322004799013 ], [ -122.514486988364965, 38.019722004300405 ], [ -122.511987003522052, 38.019321992802546 ], [ -122.510887005481422, 38.01792200634209 ], [ -122.509687010359642, 38.016521997321341 ], [ -122.506086008723273, 38.01602199634069 ], [ -122.50258599777861, 38.016422007405396 ], [ -122.50268599784809, 38.01662199682729 ], [ -122.501697005119098, 38.017041992003904 ], [ -122.501086000606577, 38.017301000906869 ], [ -122.499386003439099, 38.018021998436943 ], [ -122.498186005159994, 38.021921003674848 ], [ -122.499885993917303, 38.027921004704957 ], [ -122.49968600427033, 38.029821003838485 ], [ -122.500485990262675, 38.030421008452315 ], [ -122.50008598903446, 38.030920995724486 ], [ -122.499385998115585, 38.031821001639848 ], [ -122.500187009261225, 38.033321004095754 ], [ -122.498886007658385, 38.033320993486228 ], [ -122.496552005823588, 38.039904999851281 ], [ -122.493886995513648, 38.047420996958031 ], [ -122.49508699227512, 38.047621004881655 ], [ -122.497886992500767, 38.047620992472631 ], [ -122.498286997573189, 38.04752100770218 ], [ -122.501087007017361, 38.047588004190771 ], [ -122.506586989713554, 38.047721007621071 ], [ -122.506503997531993, 38.046956001672292 ], [ -122.507328010800336, 38.045880005340123 ], [ -122.50799900317098, 38.045301000251136 ], [ -122.513986995614886, 38.044421006888015 ], [ -122.514149990437375, 38.048673005308906 ], [ -122.515446994530137, 38.05116800621888 ], [ -122.520588006589676, 38.052621002276844 ], [ -122.519787991109908, 38.048320998339648 ], [ -122.52028800683982, 38.047921004304172 ], [ -122.519187992937134, 38.041421007691859 ], [ -122.519287989299158, 38.039921003227882 ], [ -122.521087991065855, 38.038421000047698 ], [ -122.52259599856032, 38.038817005819247 ], [ -122.526158990317597, 38.039752007263175 ], [ -122.529088005300295, 38.040521006721789 ], [ -122.532588006386874, 38.041321003388383 ], [ -122.535789009882293, 38.04032100017335 ], [ -122.536489007703423, 38.0414209958847 ], [ -122.537388990643763, 38.041120993643794 ], [ -122.537434998091314, 38.041075001853095 ], [ -122.537528009656143, 38.040912997171112 ], [ -122.537589000258563, 38.040516006450702 ], [ -122.537520998528521, 38.040053007317375 ], [ -122.537507001280218, 38.039956997967849 ], [ -122.537342007457212, 38.039340998535707 ], [ -122.537136004051064, 38.038652999257252 ], [ -122.537003002734664, 38.038086008895611 ], [ -122.536919989740397, 38.037469997063063 ], [ -122.536899994283957, 38.036919998423961 ], [ -122.536987991753421, 38.035521006404842 ], [ -122.537172003442805, 38.033915995890624 ], [ -122.53728799653139, 38.032720992022412 ], [ -122.537388004779189, 38.031321007363211 ], [ -122.538080998476389, 38.024520997408494 ], [ -122.538387993385257, 38.023021995603472 ], [ -122.538731994036397, 38.021922006773607 ], [ -122.538888000553655, 38.021422003639124 ], [ -122.539188006973745, 38.020622009013778 ], [ -122.53924998940748, 38.020471005898244 ], [ -122.539363993720869, 38.020195998930014 ], [ -122.539750005667941, 38.019344005483305 ], [ -122.53999499510239, 38.018721003787284 ], [ -122.540028992342286, 38.01863600806378 ], [ -122.540306010096501, 38.017992992936996 ], [ -122.540598010271211, 38.017265998265522 ], [ -122.541059991976383, 38.01600500632717 ], [ -122.541474993970581, 38.014767998193001 ], [ -122.541660009257939, 38.014173997412058 ], [ -122.541752006330896, 38.013689002144361 ], [ -122.541799002319237, 38.013313006117123 ], [ -122.54185999569043, 38.012815004376208 ], [ -122.541891010624965, 38.012379007278291 ], [ -122.541880001285364, 38.011001993331028 ], [ -122.541887988616125, 38.009622007723117 ], [ -122.541888007586252, 38.009122007780611 ], [ -122.541847998196289, 38.008308005153616 ], [ -122.541787994623263, 38.007921998142415 ], [ -122.541660000508571, 38.00740400165008 ], [ -122.541612994543826, 38.007214003547745 ], [ -122.541551007948499, 38.006960998113691 ], [ -122.541187991036281, 38.006321995795368 ], [ -122.541106996917577, 38.006216993752595 ], [ -122.540712993007105, 38.005707005807459 ], [ -122.540042991261132, 38.004837994553434 ], [ -122.538872009597995, 38.00319400802816 ], [ -122.537588005927219, 38.001421994956253 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1425, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.455884000204264, 37.996522000563772 ], [ -122.456483999460787, 37.99652200081556 ], [ -122.458084000526696, 37.996622000750548 ], [ -122.463970999613721, 37.999922001111479 ], [ -122.464685000486313, 38.000322000524555 ], [ -122.466502000008774, 38.000552001026385 ], [ -122.47418500026221, 38.001522000973729 ], [ -122.477510999813177, 37.999922001075227 ], [ -122.48208499969725, 37.997722001065696 ], [ -122.484284999907118, 37.996222000614239 ], [ -122.486385000439341, 37.995522000634409 ], [ -122.489084999949711, 37.995822000807884 ], [ -122.495048999613601, 37.996592001045698 ], [ -122.495284999884689, 37.996622001110872 ], [ -122.500185999871007, 37.995822000587047 ], [ -122.500686000203615, 37.996622000738945 ], [ -122.501685999659031, 37.996322000737244 ], [ -122.503985999486218, 37.998422000516726 ], [ -122.505685999794494, 37.997022000715411 ], [ -122.506985999494731, 37.996822000315525 ], [ -122.508185999447846, 37.99592200094564 ], [ -122.509985999770265, 37.997122000338251 ], [ -122.512186000268343, 37.996522000805555 ], [ -122.513785999701, 37.994222000394757 ], [ -122.514285999883626, 37.993522000252369 ], [ -122.516186000329199, 37.99312200094576 ], [ -122.517285999677867, 37.992022000812199 ], [ -122.517485999843487, 37.991822001127147 ], [ -122.518086000123432, 37.99132200098758 ], [ -122.519487000073454, 37.991822000661138 ], [ -122.520687000105141, 37.991822000520727 ], [ -122.521787000276206, 37.991222000841304 ], [ -122.522186999797654, 37.991622001134445 ], [ -122.522386999618448, 37.992822000978151 ], [ -122.523187000238707, 37.991622000985629 ], [ -122.524386999447486, 37.991622000933916 ], [ -122.525107000482578, 37.991262000310428 ], [ -122.526586999795782, 37.990522000319842 ], [ -122.527787000261, 37.991122000718931 ], [ -122.529086999513723, 37.990622000941464 ], [ -122.529757000245681, 37.991315000262439 ], [ -122.530587000335984, 37.992222000738025 ], [ -122.530945999645922, 37.992647000347432 ], [ -122.531974000281906, 37.993839001091587 ], [ -122.532188000120726, 37.9940880011046 ], [ -122.532302999998834, 37.994224000707852 ], [ -122.532538999848299, 37.994527000533793 ], [ -122.533038000163415, 37.995178000671011 ], [ -122.533708000054602, 37.996108000242018 ], [ -122.533799999835551, 37.996233000728502 ], [ -122.534086999920731, 37.996622000795455 ], [ -122.534387000438926, 37.997022000402197 ], [ -122.535887999991488, 37.999122000567517 ], [ -122.537383000343269, 38.001144001003759 ], [ -122.537588000518923, 38.001422000314527 ], [ -122.537087999478771, 38.0020220007899 ], [ -122.533088000466577, 38.005622000996063 ], [ -122.53128699995851, 38.007222001123907 ], [ -122.530886999924263, 38.007922000598235 ], [ -122.530450000157998, 38.009070000369292 ], [ -122.530186999778493, 38.0097600009628 ], [ -122.527686999590856, 38.016322000636436 ], [ -122.52753900014298, 38.016717000403133 ], [ -122.527388000172778, 38.017122001112988 ], [ -122.526987000173378, 38.017322000516891 ], [ -122.526486999838028, 38.017622000684547 ], [ -122.525916999955598, 38.017425000486128 ], [ -122.523886999944366, 38.016722000993667 ], [ -122.52198700018478, 38.019022000983576 ], [ -122.518587000089283, 38.019722000890496 ], [ -122.515886999753803, 38.020322000858407 ], [ -122.514486999460473, 38.019722000797437 ], [ -122.511987000514466, 38.019322000732572 ], [ -122.510886999610449, 38.017922000487516 ], [ -122.509686999762238, 38.016522000910435 ], [ -122.506086000007258, 38.016022000725975 ], [ -122.502585999781729, 38.016422000738764 ], [ -122.502086000011928, 38.016022000471708 ], [ -122.501085999609415, 38.015988000692481 ], [ -122.4961860002511, 38.015822000716057 ], [ -122.493085999527722, 38.014922000304828 ], [ -122.48928599945522, 38.014422000610445 ], [ -122.481984999437827, 38.008622000605151 ], [ -122.477984999957826, 38.006722000505384 ], [ -122.473984999561566, 38.006622000483276 ], [ -122.471484999434637, 38.005022001002793 ], [ -122.46858499965397, 38.003522000471456 ], [ -122.466085000124863, 38.004322000867752 ], [ -122.463785000124062, 38.002522000837011 ], [ -122.462654999626864, 38.00316800065859 ], [ -122.462384999580024, 38.003322000388394 ], [ -122.462085000254461, 38.00262200057211 ], [ -122.460956000319484, 38.000440000934468 ], [ -122.460688000031794, 37.999922000681991 ], [ -122.460584999537389, 37.999722001064235 ], [ -122.456284000429022, 37.997022000899236 ], [ -122.456025000401695, 37.996698000568692 ], [ -122.455884000204264, 37.996522000563772 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1422, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.540489999831848, 38.022311000486596 ], [ -122.539039000399612, 38.021506000565125 ], [ -122.538887999612172, 38.021422000480953 ], [ -122.539187999475288, 38.020622001126377 ], [ -122.539249999873974, 38.020471000334418 ], [ -122.539363999941159, 38.020196000559778 ], [ -122.53974999982205, 38.019344000925855 ], [ -122.5399949993934, 38.018721000790428 ], [ -122.540029000078462, 38.018636000686634 ], [ -122.540305999619179, 38.017993000303441 ], [ -122.540597999575056, 38.017266000786755 ], [ -122.541060000375381, 38.016005001064933 ], [ -122.541474999436019, 38.014768000918153 ], [ -122.541659999734605, 38.014174000332261 ], [ -122.541751999715672, 38.013689001132818 ], [ -122.541799000040555, 38.013313000447084 ], [ -122.541859999876664, 38.012815000984553 ], [ -122.541891000305498, 38.012379000872784 ], [ -122.541879999425561, 38.011002000449544 ], [ -122.54188799976842, 38.009622000359151 ], [ -122.541888000331539, 38.009122000908242 ], [ -122.542168999996477, 38.009173001013302 ], [ -122.542959999403649, 38.009268000534 ], [ -122.544488000277568, 38.009422000802282 ], [ -122.544943999400346, 38.009516000711315 ], [ -122.545380999953906, 38.009620000834268 ], [ -122.545687999656408, 38.009722001039123 ], [ -122.546888000095535, 38.010222000549426 ], [ -122.549189000224715, 38.011122000743221 ], [ -122.551189000225904, 38.011322000698542 ], [ -122.551989000369929, 38.011322000442242 ], [ -122.555688999623285, 38.012922000265391 ], [ -122.556189000123581, 38.012122000242272 ], [ -122.556189000179515, 38.010222001087577 ], [ -122.556188999908684, 38.009922000405098 ], [ -122.557588999649909, 38.00822200053139 ], [ -122.558589000237248, 38.008722000746012 ], [ -122.55914899972764, 38.009333000418629 ], [ -122.559689000198674, 38.009922000621081 ], [ -122.560188999459328, 38.009922000642604 ], [ -122.561388999882396, 38.010122000389487 ], [ -122.562889000505564, 38.009022000821602 ], [ -122.562688999748104, 38.008622000918564 ], [ -122.564389000423276, 38.0037220005579 ], [ -122.565489000036195, 38.003422000461022 ], [ -122.569285999700099, 38.008144000594989 ], [ -122.569590000514069, 38.00852200025269 ], [ -122.571989999546702, 38.011322000679058 ], [ -122.573490000221483, 38.012422001035283 ], [ -122.573490000066613, 38.011822000445676 ], [ -122.576765000132028, 38.014366000338363 ], [ -122.592280999475278, 38.023512000305566 ], [ -122.5923519997352, 38.024232000303499 ], [ -122.591915000128893, 38.02485300079659 ], [ -122.591570000091735, 38.02510000025687 ], [ -122.591429999528273, 38.025230000361937 ], [ -122.59122500003572, 38.025420000609202 ], [ -122.590311000256904, 38.026012000741872 ], [ -122.589988999885492, 38.026126000679966 ], [ -122.589478999515222, 38.027299000327837 ], [ -122.587561000169799, 38.025503000641706 ], [ -122.581451000086233, 38.027698000671172 ], [ -122.579505000442154, 38.026602001052339 ], [ -122.579290000214343, 38.026522000426247 ], [ -122.577990000256435, 38.02842200104633 ], [ -122.576889999797871, 38.028622001017638 ], [ -122.573789999803225, 38.026722000772168 ], [ -122.568589999959144, 38.025322000754386 ], [ -122.564689999884408, 38.025322000245176 ], [ -122.564090000438426, 38.025322000819365 ], [ -122.561889999505254, 38.025222000763243 ], [ -122.556888999700547, 38.025322000317878 ], [ -122.555589000429705, 38.026822000722767 ], [ -122.555354000195877, 38.02685900113444 ], [ -122.553688999789387, 38.027122000428875 ], [ -122.552588999557898, 38.027321000576706 ], [ -122.551888999785803, 38.027421000426102 ], [ -122.551089000168233, 38.027221000340035 ], [ -122.548377999926217, 38.026619000891465 ], [ -122.547488999711362, 38.026421000297304 ], [ -122.547005000471174, 38.026154001000371 ], [ -122.544588999955664, 38.024822000327283 ], [ -122.543189000171878, 38.024122000437934 ], [ -122.54178800021549, 38.02312200082779 ], [ -122.540489999831848, 38.022311000486596 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1421, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.545380999953906, 38.009620000834268 ], [ -122.544943999400346, 38.009516000711315 ], [ -122.544488000277568, 38.009422000802282 ], [ -122.542959999403649, 38.009268000534 ], [ -122.542168999996477, 38.009173001013302 ], [ -122.541888000331539, 38.009122000908242 ], [ -122.541848000397437, 38.008308000374136 ], [ -122.541788000372819, 38.007922000896826 ], [ -122.541659999803855, 38.007404000492556 ], [ -122.541613000326123, 38.007214001035422 ], [ -122.54155099978361, 38.006961000250577 ], [ -122.541188000510544, 38.006322000592235 ], [ -122.541107000327486, 38.006217000638166 ], [ -122.540713000372008, 38.005707000653857 ], [ -122.540042999412336, 38.004838000274674 ], [ -122.538871999960762, 38.003194000920921 ], [ -122.537588000518923, 38.001422000314527 ], [ -122.537383000343269, 38.001144001003759 ], [ -122.535887999991488, 37.999122000567517 ], [ -122.534387000438926, 37.997022000402197 ], [ -122.534086999920731, 37.996622000795455 ], [ -122.533799999835551, 37.996233000728502 ], [ -122.533708000054602, 37.996108000242018 ], [ -122.533038000163415, 37.995178000671011 ], [ -122.532538999848299, 37.994527000533793 ], [ -122.532302999998834, 37.994224000707852 ], [ -122.532188000120726, 37.9940880011046 ], [ -122.531974000281906, 37.993839001091587 ], [ -122.530945999645922, 37.992647000347432 ], [ -122.530587000335984, 37.992222000738025 ], [ -122.529757000245681, 37.991315000262439 ], [ -122.529086999513723, 37.990622000941464 ], [ -122.530087000206279, 37.989922000359371 ], [ -122.530987000059937, 37.989022000304054 ], [ -122.531387000428964, 37.98922200071484 ], [ -122.53178700007993, 37.988922000574171 ], [ -122.532087000131867, 37.989222000850354 ], [ -122.532487000356241, 37.988922001027731 ], [ -122.532486999662297, 37.987723000676453 ], [ -122.53278699948838, 37.986823000956122 ], [ -122.533157000007634, 37.986849000388304 ], [ -122.534186999854199, 37.986923000355709 ], [ -122.534442999475132, 37.987075000756754 ], [ -122.534717000458372, 37.987464000627362 ], [ -122.535086999531032, 37.988123000427166 ], [ -122.536486999828568, 37.987923000639654 ], [ -122.536687000438164, 37.98732300037657 ], [ -122.537586999512598, 37.987023000255839 ], [ -122.538688000159453, 37.98712300046067 ], [ -122.539187999984975, 37.98842300067502 ], [ -122.539487999450571, 37.988423000390149 ], [ -122.539987999835205, 37.988923000595236 ], [ -122.539988000462245, 37.988423000325227 ], [ -122.542488000324539, 37.988323000293015 ], [ -122.543787999916162, 37.989123001093233 ], [ -122.545868000049879, 37.990163000884742 ], [ -122.549188000208858, 37.991822000942136 ], [ -122.549787999694573, 37.992122000671316 ], [ -122.550088000150154, 37.991622000254623 ], [ -122.550487999661385, 37.991322000462809 ], [ -122.550935999812779, 37.99143400112677 ], [ -122.551288000329237, 37.991522000389232 ], [ -122.552582000274612, 37.991892000777582 ], [ -122.557589000166701, 37.993322000798166 ], [ -122.55808899972368, 37.994422000944482 ], [ -122.559089000237336, 37.995622000743083 ], [ -122.561388999916502, 37.998422000871635 ], [ -122.565489000036195, 38.003422000461022 ], [ -122.564389000423276, 38.0037220005579 ], [ -122.562688999748104, 38.008622000918564 ], [ -122.562889000505564, 38.009022000821602 ], [ -122.561388999882396, 38.010122000389487 ], [ -122.560188999459328, 38.009922000642604 ], [ -122.559689000198674, 38.009922000621081 ], [ -122.55914899972764, 38.009333000418629 ], [ -122.558589000237248, 38.008722000746012 ], [ -122.557588999649909, 38.00822200053139 ], [ -122.556188999908684, 38.009922000405098 ], [ -122.556189000179515, 38.010222001087577 ], [ -122.556189000123581, 38.012122000242272 ], [ -122.555688999623285, 38.012922000265391 ], [ -122.551989000369929, 38.011322000442242 ], [ -122.551189000225904, 38.011322000698542 ], [ -122.549189000224715, 38.011122000743221 ], [ -122.546888000095535, 38.010222000549426 ], [ -122.545687999656408, 38.009722001039123 ], [ -122.545380999953906, 38.009620000834268 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1419, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.598391000417777, 38.008222000692108 ], [ -122.5977750000133, 38.007958000446024 ], [ -122.595990999898945, 38.008322000589665 ], [ -122.595190999982847, 38.008522000311871 ], [ -122.594090999932675, 38.007822000635734 ], [ -122.593091000498319, 38.007322000698949 ], [ -122.590891000251034, 38.00652200089749 ], [ -122.586390000120744, 38.005322000742638 ], [ -122.584890000196665, 38.005022000360341 ], [ -122.584290000056356, 38.003022001065752 ], [ -122.586789999713659, 37.999722000477611 ], [ -122.58668999946164, 37.99912200025679 ], [ -122.586089999474737, 37.997522000985263 ], [ -122.585190000028447, 37.995023000296207 ], [ -122.584952000174852, 37.994468001023279 ], [ -122.584889999396026, 37.994323000671635 ], [ -122.581889999814237, 37.986623000765519 ], [ -122.582489999729844, 37.986623000565103 ], [ -122.587090000521258, 37.987123000982514 ], [ -122.58819000004425, 37.987223000397456 ], [ -122.589590000141925, 37.987423000654708 ], [ -122.590090000218652, 37.987523000692363 ], [ -122.590490000098555, 37.987623001078269 ], [ -122.591390999802059, 37.989023000254619 ], [ -122.59149100010552, 37.989323000903873 ], [ -122.591591000079276, 37.989623000552207 ], [ -122.59199099967347, 37.990623001028361 ], [ -122.592591000292757, 37.991123000782366 ], [ -122.593090999659694, 37.991823001026304 ], [ -122.593890999535262, 37.993023000562992 ], [ -122.593952999550851, 37.993116001074064 ], [ -122.594291000076595, 37.993623000476163 ], [ -122.59459099980333, 37.993923000356261 ], [ -122.594791000491554, 37.994323000483632 ], [ -122.596091000237692, 37.99532300045253 ], [ -122.596490999594522, 37.994623000467122 ], [ -122.59708200026823, 37.994927000493512 ], [ -122.597794999662369, 37.995406000993832 ], [ -122.598533000283027, 37.995916001088567 ], [ -122.598888999499835, 37.996301001040514 ], [ -122.601063999842012, 37.997729000867771 ], [ -122.601290000171687, 37.997865000573597 ], [ -122.601499000509023, 37.998014000960502 ], [ -122.601791000408681, 37.998222000748768 ], [ -122.601928999417481, 37.998360000400687 ], [ -122.601944999592192, 37.998388000698469 ], [ -122.602066999760453, 37.998493000465572 ], [ -122.602169999747375, 37.998581000690841 ], [ -122.602444999822296, 37.998803000480585 ], [ -122.602765999832201, 37.999063000856061 ], [ -122.603491000343624, 37.999422001117566 ], [ -122.603690999718026, 37.999522000437914 ], [ -122.604691000255954, 38.000322000792053 ], [ -122.606590999572731, 38.000322000770304 ], [ -122.606924000136232, 38.00032200025278 ], [ -122.60729199943917, 38.000322000301004 ], [ -122.60778399988267, 38.000479001127495 ], [ -122.609491999542854, 38.001022000288998 ], [ -122.611746999992661, 38.002375000666142 ], [ -122.6144920002031, 38.004022001100886 ], [ -122.61429199999975, 38.004822000359191 ], [ -122.614691999443338, 38.006022000661524 ], [ -122.61749200037498, 38.009022000784832 ], [ -122.617791999612237, 38.01112200075606 ], [ -122.617792000522755, 38.01152200113799 ], [ -122.615692000484742, 38.012322000971146 ], [ -122.613691999876139, 38.010722000591052 ], [ -122.613691999701416, 38.018222001004681 ], [ -122.615392000430447, 38.018622000948632 ], [ -122.615491999481179, 38.01962200037952 ], [ -122.616391999704447, 38.019822000768258 ], [ -122.615592000067309, 38.020222000731614 ], [ -122.612792000358368, 38.02222200049296 ], [ -122.609692000177716, 38.018822000705441 ], [ -122.608092000160212, 38.017022000884687 ], [ -122.609192000488036, 38.016922000924978 ], [ -122.607392000215341, 38.013622001113688 ], [ -122.602290999563479, 38.01082200101272 ], [ -122.602390999927422, 38.010022000670872 ], [ -122.598391000417777, 38.008222000692108 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1420, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.573490000221483, 38.012422001035283 ], [ -122.571989999546702, 38.011322000679058 ], [ -122.569590000514069, 38.00852200025269 ], [ -122.569285999700099, 38.008144000594989 ], [ -122.565489000036195, 38.003422000461022 ], [ -122.561388999916502, 37.998422000871635 ], [ -122.559089000237336, 37.995622000743083 ], [ -122.55808899972368, 37.994422000944482 ], [ -122.557589000166701, 37.993322000798166 ], [ -122.558388999961124, 37.989523000624899 ], [ -122.559689000448259, 37.9891230010385 ], [ -122.559888999720087, 37.989423000596346 ], [ -122.560488999827797, 37.989023000654626 ], [ -122.561089000286671, 37.989823000263193 ], [ -122.561789000332951, 37.989623000603039 ], [ -122.562289000077428, 37.989023000390844 ], [ -122.563488999645571, 37.98762300056692 ], [ -122.562789000244777, 37.987123000942262 ], [ -122.561089000294999, 37.985723000631829 ], [ -122.560781000396744, 37.986251001121531 ], [ -122.559089000341132, 37.986423000764283 ], [ -122.5596889995537, 37.984623000542342 ], [ -122.563289000034615, 37.98102300053678 ], [ -122.565688999992332, 37.980223000841583 ], [ -122.566888999520401, 37.981023000278164 ], [ -122.56758900040046, 37.981423000738815 ], [ -122.569089000268974, 37.982323000852162 ], [ -122.570189000278361, 37.983123000283477 ], [ -122.570389000153142, 37.983223000431146 ], [ -122.571588999888462, 37.983923000898173 ], [ -122.573232999873284, 37.98482700095699 ], [ -122.573588999763444, 37.985023000571445 ], [ -122.574089000053732, 37.985323000900955 ], [ -122.575089999505494, 37.985823001080313 ], [ -122.576989999608557, 37.986623000338973 ], [ -122.577889999793356, 37.986723000278744 ], [ -122.578790000246315, 37.986623000657339 ], [ -122.579089999605785, 37.986623000282655 ], [ -122.579490000498609, 37.986523000301929 ], [ -122.579789999452245, 37.986523000843221 ], [ -122.580990000063565, 37.98672300068759 ], [ -122.581889999814237, 37.986623000765519 ], [ -122.584889999396026, 37.994323000671635 ], [ -122.584952000174852, 37.994468001023279 ], [ -122.585190000028447, 37.995023000296207 ], [ -122.586089999474737, 37.997522000985263 ], [ -122.58668999946164, 37.99912200025679 ], [ -122.586789999713659, 37.999722000477611 ], [ -122.584290000056356, 38.003022001065752 ], [ -122.584890000196665, 38.005022000360341 ], [ -122.586390000120744, 38.005322000742638 ], [ -122.590891000251034, 38.00652200089749 ], [ -122.593091000498319, 38.007322000698949 ], [ -122.594090999932675, 38.007822000635734 ], [ -122.595190999982847, 38.008522000311871 ], [ -122.595990999898945, 38.008322000589665 ], [ -122.5977750000133, 38.007958000446024 ], [ -122.598391000417777, 38.008222000692108 ], [ -122.602390999927422, 38.010022000670872 ], [ -122.602290999563479, 38.01082200101272 ], [ -122.607392000215341, 38.013622001113688 ], [ -122.609192000488036, 38.016922000924978 ], [ -122.608092000160212, 38.017022000884687 ], [ -122.609692000177716, 38.018822000705441 ], [ -122.612792000358368, 38.02222200049296 ], [ -122.607892000088086, 38.026922000566309 ], [ -122.598792000196724, 38.027822000282725 ], [ -122.598292000469883, 38.02912200041699 ], [ -122.597126000359935, 38.029297000627203 ], [ -122.596290999577363, 38.029422001133476 ], [ -122.589988999885492, 38.026126000679966 ], [ -122.590311000256904, 38.026012000741872 ], [ -122.59122500003572, 38.025420000609202 ], [ -122.591429999528273, 38.025230000361937 ], [ -122.591570000091735, 38.02510000025687 ], [ -122.591915000128893, 38.02485300079659 ], [ -122.5923519997352, 38.024232000303499 ], [ -122.592280999475278, 38.023512000305566 ], [ -122.576765000132028, 38.014366000338363 ], [ -122.573490000066613, 38.011822000445676 ], [ -122.573490000221483, 38.012422001035283 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1417, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.570489000001658, 37.946924000681371 ], [ -122.5696890004984, 37.944224000594694 ], [ -122.568188999677844, 37.942224000988318 ], [ -122.566288999669695, 37.940224000617341 ], [ -122.56588799953461, 37.939124000839392 ], [ -122.566987999896654, 37.934824000585472 ], [ -122.568488999930494, 37.934024000263037 ], [ -122.570188999900424, 37.9350240002614 ], [ -122.572488999724598, 37.934524000466652 ], [ -122.572889000142936, 37.934924000660587 ], [ -122.573388999817027, 37.934124000851931 ], [ -122.570688999498174, 37.933424000979976 ], [ -122.570599999714688, 37.932955000644597 ], [ -122.570288999916244, 37.931324001021515 ], [ -122.569688999529603, 37.930424000332771 ], [ -122.569989000396646, 37.929824000254776 ], [ -122.571888999590016, 37.932324000970951 ], [ -122.573789000423375, 37.932524000337075 ], [ -122.574988999583852, 37.932524000848339 ], [ -122.575988999652708, 37.933424000452071 ], [ -122.577489000240305, 37.933524001092742 ], [ -122.575088999490504, 37.931524000975635 ], [ -122.574288999499174, 37.931524000895415 ], [ -122.574188999683273, 37.931224001053415 ], [ -122.576189000112976, 37.930924000463705 ], [ -122.57738899987379, 37.931824001020388 ], [ -122.579089000166221, 37.93082400055868 ], [ -122.580288999807237, 37.928425001088016 ], [ -122.580648000088757, 37.928048001099896 ], [ -122.580938000262179, 37.927850000265877 ], [ -122.581427000104398, 37.927789000555691 ], [ -122.582022000197696, 37.927888001041808 ], [ -122.582418000014329, 37.927675000501445 ], [ -122.582769000273288, 37.927713000317532 ], [ -122.583012999927291, 37.927896000705573 ], [ -122.583288000308855, 37.928041000901807 ], [ -122.583488999702269, 37.928125000276772 ], [ -122.584388999421094, 37.928625000522871 ], [ -122.584589000072143, 37.928325000397265 ], [ -122.5847829994227, 37.928377000307457 ], [ -122.585103999878157, 37.927995000910968 ], [ -122.585255999792523, 37.9277280007352 ], [ -122.585576999924612, 37.927560000853603 ], [ -122.586049999951442, 37.927522000532505 ], [ -122.586354999465158, 37.927476001057251 ], [ -122.586570000461492, 37.927072001058491 ], [ -122.586722000299559, 37.926759000414883 ], [ -122.586629999612597, 37.926271000704368 ], [ -122.586690999595717, 37.92569100051562 ], [ -122.586921000069793, 37.925393000626286 ], [ -122.587271999536128, 37.925371000366653 ], [ -122.587562000505031, 37.925355000628855 ], [ -122.587667999600043, 37.925119000961772 ], [ -122.587729000303383, 37.924783000710882 ], [ -122.587890000459865, 37.924625000555146 ], [ -122.588263000088148, 37.92478300095614 ], [ -122.588889000352239, 37.925119000623688 ], [ -122.58904199951786, 37.925317000807013 ], [ -122.589164000008182, 37.925584000322495 ], [ -122.589606000162689, 37.925676001103817 ], [ -122.590079000180538, 37.925699000461925 ], [ -122.590156000133391, 37.925744000860917 ], [ -122.590322999734099, 37.926195000364196 ], [ -122.5907049995525, 37.926301000658185 ], [ -122.591178000055663, 37.92654500051097 ], [ -122.591574999813233, 37.926637000694193 ], [ -122.592093000519895, 37.926881000718936 ], [ -122.592353000145692, 37.926919000784423 ], [ -122.59248999961757, 37.926925001119528 ], [ -122.592916999935127, 37.92669800054923 ], [ -122.59337499962453, 37.926179000995752 ], [ -122.593680000495027, 37.926011001136281 ], [ -122.594152999813744, 37.925912000946667 ], [ -122.594367000442247, 37.9257600006814 ], [ -122.594671999795722, 37.925462000714333 ], [ -122.595115000448558, 37.925332000491018 ], [ -122.59526699954688, 37.925218001081809 ], [ -122.595251999556311, 37.924692000924054 ], [ -122.595160000118952, 37.923959001059757 ], [ -122.59517600037033, 37.923631000521901 ], [ -122.595343999731384, 37.923341000412599 ], [ -122.595343999776105, 37.92283000057612 ], [ -122.59543499965433, 37.922563000667644 ], [ -122.595689999957472, 37.92242500075875 ], [ -122.596136999580338, 37.922426001129203 ], [ -122.596549000442167, 37.922616000647274 ], [ -122.596961000238338, 37.922807000959445 ], [ -122.597204999876595, 37.922845000400422 ], [ -122.597448999966645, 37.922769000668481 ], [ -122.597875999910002, 37.922403001042582 ], [ -122.59839499975881, 37.922151000663042 ], [ -122.599005999965144, 37.922220000906805 ], [ -122.599433000203845, 37.922296000410043 ], [ -122.600135000105297, 37.922502000534664 ], [ -122.60039399979776, 37.92254000107048 ], [ -122.600890000069072, 37.922525000332946 ], [ -122.601217999561371, 37.922258000855393 ], [ -122.601798000480684, 37.921884000636609 ], [ -122.602499999959505, 37.921541000565831 ], [ -122.602941999526138, 37.921090001129457 ], [ -122.602988000001162, 37.920678000496203 ], [ -122.603339000424157, 37.920114000607057 ], [ -122.603690000202562, 37.919801000909359 ], [ -122.604269999504012, 37.91976300082856 ], [ -122.604590000307454, 37.919755000354215 ], [ -122.605002000369879, 37.919404001067591 ], [ -122.605827000288258, 37.91900000092734 ], [ -122.606190999647865, 37.918425000358731 ], [ -122.606681999938516, 37.917848000415148 ], [ -122.606894999965846, 37.917276000644101 ], [ -122.607124000167616, 37.916749000646227 ], [ -122.607414000143905, 37.916040000913469 ], [ -122.607596999858629, 37.915643001020378 ], [ -122.607475000509197, 37.915262000478073 ], [ -122.607612999726328, 37.915025001122856 ], [ -122.607791000517082, 37.915025000490402 ], [ -122.608420999555378, 37.914811000395595 ], [ -122.609230000458041, 37.914560000948555 ], [ -122.610160999598619, 37.913919001030663 ], [ -122.61037400002148, 37.913507001059955 ], [ -122.610709999499932, 37.913141000642575 ], [ -122.611168000236049, 37.912912000421308 ], [ -122.611107000433222, 37.912561000968843 ], [ -122.610710000124058, 37.912172000441409 ], [ -122.61049099963509, 37.91182500063664 ], [ -122.611075999527884, 37.911378000265337 ], [ -122.611702000130478, 37.910898000476195 ], [ -122.612091000266261, 37.910725000896605 ], [ -122.612632999869561, 37.910508000254708 ], [ -122.613609000376599, 37.910005000331758 ], [ -122.614616000510424, 37.909372000271503 ], [ -122.615135000215545, 37.909143000240412 ], [ -122.615591000025347, 37.909125000757747 ], [ -122.616356000214751, 37.909273000708353 ], [ -122.617331999849739, 37.909349000246564 ], [ -122.618050000323407, 37.909250000327958 ], [ -122.618873999889658, 37.909562000880776 ], [ -122.619408000234756, 37.910310000761413 ], [ -122.619605999638125, 37.910554000561369 ], [ -122.620353999613741, 37.910791000362721 ], [ -122.621361000429445, 37.910974001114582 ], [ -122.622200000437289, 37.910905000738403 ], [ -122.622566000397271, 37.910882000374606 ], [ -122.623405000213822, 37.911165000884779 ], [ -122.624260000264087, 37.911416000815493 ], [ -122.624590999693766, 37.911625001111972 ], [ -122.624306000017953, 37.911981000618368 ], [ -122.623862999701217, 37.912332000689602 ], [ -122.623649999564918, 37.91266000085983 ], [ -122.623833000450205, 37.913019000802116 ], [ -122.624414000014156, 37.913431000340182 ], [ -122.624673000265318, 37.913949000664566 ], [ -122.624962999967806, 37.914125000543613 ], [ -122.625633999450287, 37.914789000784666 ], [ -122.62584799956737, 37.915597000312466 ], [ -122.626016000467416, 37.916261000601011 ], [ -122.626106999648414, 37.91652800096724 ], [ -122.626793999880363, 37.916444000278261 ], [ -122.627511000172035, 37.916696000733594 ], [ -122.6276179997882, 37.917344000400668 ], [ -122.627465000258297, 37.91788600112713 ], [ -122.627392000463928, 37.918325000427309 ], [ -122.627464999903012, 37.918969000601862 ], [ -122.627831999955148, 37.919542000898019 ], [ -122.628243000208059, 37.919938000676588 ], [ -122.628491999530951, 37.920025000590499 ], [ -122.628960999596444, 37.920404000384586 ], [ -122.629997999838622, 37.920755000260378 ], [ -122.631401999671183, 37.921174001081944 ], [ -122.632119000014924, 37.921495001058126 ], [ -122.633599000405439, 37.922395000413168 ], [ -122.63425499943115, 37.922738000873913 ], [ -122.635506999838626, 37.923227000419942 ], [ -122.636224000316744, 37.923524000843365 ], [ -122.637108999791153, 37.924295000735555 ], [ -122.637672999524668, 37.92453900092498 ], [ -122.638284000327133, 37.924394000624375 ], [ -122.638591999541859, 37.924325000833875 ], [ -122.638893999871314, 37.92483600081372 ], [ -122.639536000351185, 37.926004000474883 ], [ -122.640435999743346, 37.926942000761116 ], [ -122.641977000256745, 37.928743000650869 ], [ -122.642907999424068, 37.930177000888619 ], [ -122.644052999743167, 37.932016000320729 ], [ -122.644495000353643, 37.932992000775002 ], [ -122.644793000049916, 37.933325000323521 ], [ -122.646341000432997, 37.934015000241651 ], [ -122.648278999550186, 37.934892000531498 ], [ -122.649148999972184, 37.934991000343572 ], [ -122.650384999406683, 37.934678000690134 ], [ -122.650919000232236, 37.934709000736618 ], [ -122.651819000365549, 37.935090000570881 ], [ -122.652262000169884, 37.935388000911367 ], [ -122.653040000211121, 37.935708000629162 ], [ -122.653863999563569, 37.936082000965961 ], [ -122.654749000369733, 37.936250000413963 ], [ -122.654824999706122, 37.93668500032765 ], [ -122.655040000029601, 37.937241001094129 ], [ -122.655254000300289, 37.937477000709677 ], [ -122.655558999866287, 37.937538000398881 ], [ -122.655993999922387, 37.938324000308242 ], [ -122.656321999502069, 37.938660000930895 ], [ -122.656393999738654, 37.938724000387005 ], [ -122.656398000346925, 37.938896000865952 ], [ -122.656444000243468, 37.939202000584473 ], [ -122.656824999843479, 37.939820000353656 ], [ -122.657297999657672, 37.940316000720337 ], [ -122.657496999961154, 37.940544000348453 ], [ -122.657594000307242, 37.94092400100773 ], [ -122.657709999757344, 37.941010000298846 ], [ -122.657909000267168, 37.941109000448677 ], [ -122.658168000309999, 37.94125400093067 ], [ -122.658564999418218, 37.941407001079632 ], [ -122.658687000337011, 37.941811000917554 ], [ -122.659037999919235, 37.942063000360129 ], [ -122.659144999743958, 37.942520001025812 ], [ -122.659403999529772, 37.942894000669867 ], [ -122.659801000525007, 37.943093000524243 ], [ -122.660349999934752, 37.94347400103149 ], [ -122.660593999745316, 37.943871000819435 ], [ -122.660883999881364, 37.944229000253536 ], [ -122.661250000444426, 37.944428000479903 ], [ -122.66175399990766, 37.944512000894697 ], [ -122.661982999640117, 37.944596000797844 ], [ -122.662165999768376, 37.944916001074169 ], [ -122.662654000103501, 37.945130000396489 ], [ -122.663065999555755, 37.945427001115341 ], [ -122.663370999532461, 37.945511000511715 ], [ -122.663828999921961, 37.94545800065216 ], [ -122.664378000424961, 37.945626000978699 ], [ -122.664683000233396, 37.94582400082048 ], [ -122.667794000463402, 37.946224000957429 ], [ -122.668909999784987, 37.946846000658489 ], [ -122.66919400044398, 37.947124000702914 ], [ -122.669001999463859, 37.947357000529969 ], [ -122.668895000414736, 37.947693000342348 ], [ -122.668620000372016, 37.94821200076133 ], [ -122.668787999451823, 37.948624000241622 ], [ -122.669246000142024, 37.948990000933293 ], [ -122.669688000383928, 37.949105000375269 ], [ -122.669855999765289, 37.94909700063257 ], [ -122.670314000462241, 37.949135000896888 ], [ -122.670650999670102, 37.949196000645536 ], [ -122.67103199994024, 37.949585000648547 ], [ -122.67167299979026, 37.949997000710113 ], [ -122.672649999944355, 37.95018000075774 ], [ -122.672694999590348, 37.950585000740674 ], [ -122.672801999925895, 37.95109600034602 ], [ -122.673294999699053, 37.95162400085475 ], [ -122.673656999794957, 37.951821000856427 ], [ -122.67396199968799, 37.951752000682539 ], [ -122.674420000025648, 37.951866001001733 ], [ -122.674832000200098, 37.951920000367224 ], [ -122.675503000357679, 37.951462001072905 ], [ -122.676095000031196, 37.951324000274106 ], [ -122.676098000371425, 37.952271000711526 ], [ -122.676479999500089, 37.952690000583594 ], [ -122.676541000039023, 37.953194000500361 ], [ -122.677058999584972, 37.953743000814484 ], [ -122.67762399972176, 37.953789000300993 ], [ -122.678555000155981, 37.954094001013502 ], [ -122.679485999456773, 37.954674000640118 ], [ -122.6801869994014, 37.954895000985914 ], [ -122.680676000212927, 37.95529200065755 ], [ -122.680966000175019, 37.95576500025674 ], [ -122.681759000166551, 37.956063001112497 ], [ -122.681956999490652, 37.956452000256078 ], [ -122.682185999997657, 37.956871000321108 ], [ -122.682750999859408, 37.957436001117728 ], [ -122.683514000388925, 37.958016000426213 ], [ -122.683594999936389, 37.958324000861779 ], [ -122.683682000143619, 37.958657000301031 ], [ -122.683147999482216, 37.959099000362222 ], [ -122.682553000104591, 37.959732000288071 ], [ -122.682841999772094, 37.960266000763582 ], [ -122.683574999913958, 37.960877000547342 ], [ -122.683697000102939, 37.961373000800684 ], [ -122.684095000077818, 37.961824000842562 ], [ -122.684429999925413, 37.961888000311205 ], [ -122.685008999767547, 37.961998000915671 ], [ -122.685818999759846, 37.9622420007858 ], [ -122.686170000199482, 37.962357000712856 ], [ -122.68645999963536, 37.96260900112425 ], [ -122.686918000011786, 37.963044000297934 ], [ -122.687497000179107, 37.963082000633079 ], [ -122.687787000261721, 37.963288000300977 ], [ -122.687847999652519, 37.963692000622821 ], [ -122.688336999461484, 37.964005000937327 ], [ -122.688657000242983, 37.964539000468982 ], [ -122.68859599977398, 37.964936000614905 ], [ -122.689144999416342, 37.965287000685677 ], [ -122.690549000085582, 37.966210000289102 ], [ -122.691235999402721, 37.966194000397657 ], [ -122.691693999594989, 37.966637000493797 ], [ -122.692517999756276, 37.967110001021034 ], [ -122.69363100005566, 37.967842000406613 ], [ -122.694295999820483, 37.968124000596625 ], [ -122.69714100025891, 37.97214500068295 ], [ -122.697690000342277, 37.972985000267293 ], [ -122.698422999607828, 37.973221001109728 ], [ -122.69906399973236, 37.973618000322624 ], [ -122.699496000392983, 37.974224000732306 ], [ -122.699872000298825, 37.974572000924823 ], [ -122.699948999643851, 37.974739001061657 ], [ -122.700833999556366, 37.975174000943611 ], [ -122.700940000094221, 37.97584600068577 ], [ -122.701613000395852, 37.975945000498285 ], [ -122.702161999483025, 37.976281000508841 ], [ -122.70289399961591, 37.977059000768861 ], [ -122.703351999991526, 37.977112000719806 ], [ -122.703580999577326, 37.977387000250268 ], [ -122.703641999683342, 37.977829000802082 ], [ -122.704146000407164, 37.978111000764777 ], [ -122.704435999803039, 37.978622000766677 ], [ -122.704436000033212, 37.979110000806109 ], [ -122.704587999710981, 37.979408000400859 ], [ -122.704816999534941, 37.979743000832372 ], [ -122.70500000052327, 37.979957000808355 ], [ -122.704996999710943, 37.980623000710501 ], [ -122.706083999648143, 37.98117000099807 ], [ -122.708540000148389, 37.982902000446678 ], [ -122.710497000514295, 37.983923000653043 ], [ -122.711103999651655, 37.983932000827807 ], [ -122.711698999506936, 37.98356600039363 ], [ -122.712396999697688, 37.983423000780647 ], [ -122.712995999931238, 37.983375001099674 ], [ -122.713651999662446, 37.983833000451611 ], [ -122.714124999450476, 37.984878000359103 ], [ -122.71459699977396, 37.98552300080474 ], [ -122.715163000493988, 37.986823001075813 ], [ -122.71511699993718, 37.987975000469852 ], [ -122.714949000213096, 37.989051000244828 ], [ -122.715797000132085, 37.990823000681608 ], [ -122.71711699952661, 37.992210000709775 ], [ -122.71961899985682, 37.995040000440341 ], [ -122.720198000514017, 37.995723000982416 ], [ -122.719984999992306, 37.996108001069253 ], [ -122.719862999764828, 37.996467000868805 ], [ -122.719787000218517, 37.996787000542291 ], [ -122.719679999797592, 37.99700900043851 ], [ -122.719481999941365, 37.997207000933045 ], [ -122.719024000172567, 37.997390001071238 ], [ -122.718336999524638, 37.99740500095421 ], [ -122.717696999691086, 37.997474000348646 ], [ -122.717314999902825, 37.997604000242063 ], [ -122.717086000305642, 37.997756000647186 ], [ -122.716719999834666, 37.99793200095106 ], [ -122.716400000324654, 37.997703000276822 ], [ -122.716017999727782, 37.997718000653961 ], [ -122.715895999454318, 37.997978000577639 ], [ -122.715773999711772, 37.998397001008172 ], [ -122.715590999673168, 37.998405000966088 ], [ -122.715285000366222, 37.998397000705573 ], [ -122.715177999573186, 37.998405001019847 ], [ -122.715238999517481, 37.998687000266109 ], [ -122.715269999429893, 37.998992000701122 ], [ -122.715347000444737, 37.999175000635013 ], [ -122.715514999715865, 37.999267000468947 ], [ -122.71571299999178, 37.999305000749615 ], [ -122.715987999481356, 37.999320001050705 ], [ -122.716231999723533, 37.99937400033091 ], [ -122.716276999872989, 37.999488000984329 ], [ -122.716170999426637, 37.999656000245139 ], [ -122.71592599989863, 37.999725000716616 ], [ -122.715591000222915, 37.999709000765414 ], [ -122.715224999825224, 37.999625001080425 ], [ -122.715040000479178, 37.999549000759835 ], [ -122.714598000069756, 37.999435000366013 ], [ -122.714079000463641, 37.999488000846121 ], [ -122.71362100020599, 37.999587000579439 ], [ -122.713133000520997, 37.999557000711313 ], [ -122.712782000486868, 37.999320000437642 ], [ -122.712613999478677, 37.999046000643176 ], [ -122.712201999956903, 37.998801000238046 ], [ -122.711485000470304, 37.998725000831989 ], [ -122.711179999746278, 37.998382000923613 ], [ -122.711087999455771, 37.997909000993239 ], [ -122.710889999422292, 37.997558000993948 ], [ -122.710599999545792, 37.997390000660985 ], [ -122.710370999470157, 37.997619000293419 ], [ -122.710309999697401, 37.997833000484064 ], [ -122.710202999403776, 37.998100001067677 ], [ -122.710019999754266, 37.998206001062194 ], [ -122.709714999776821, 37.998443001062547 ], [ -122.70968500020129, 37.998611000891479 ], [ -122.709700000147819, 37.998863000916323 ], [ -122.709531999949633, 37.999000000883477 ], [ -122.709395000358867, 37.999198000629157 ], [ -122.709348999435818, 37.99936600046567 ], [ -122.709120000449985, 37.99954200098091 ], [ -122.70879699962849, 37.999923000432496 ], [ -122.708983000018065, 38.000221000964828 ], [ -122.709273000153104, 38.000366000764274 ], [ -122.709257000071972, 38.000526000959638 ], [ -122.709119999478759, 38.001296000329695 ], [ -122.708997000469282, 38.002223000395482 ], [ -122.708860999930053, 38.002532000746641 ], [ -122.709013000058405, 38.003478000647206 ], [ -122.708997000146567, 38.004523001019464 ], [ -122.708697000116857, 38.004423000515033 ], [ -122.708396999672701, 38.004623000558496 ], [ -122.708496999530183, 38.003223000660029 ], [ -122.708448999429692, 38.002883001052645 ], [ -122.708388000124941, 38.002090000452043 ], [ -122.708389000405063, 38.002077000968384 ], [ -122.708402999697711, 38.001807001123225 ], [ -122.708097000310502, 38.00132300080665 ], [ -122.707486999972531, 38.00167800092138 ], [ -122.707639999676886, 38.001960001070692 ], [ -122.707349999827827, 38.002410000697914 ], [ -122.707319999425735, 38.002769000480619 ], [ -122.707121000431229, 38.002921000970552 ], [ -122.706968999873567, 38.003562000432801 ], [ -122.707096999589069, 38.003923000662532 ], [ -122.706754999842644, 38.004035000261332 ], [ -122.706311999777284, 38.003547000877809 ], [ -122.705797000051192, 38.003123000319434 ], [ -122.705396999698763, 38.002754000932036 ], [ -122.705015000093979, 38.002578000891063 ], [ -122.705365999603345, 38.002082000494724 ], [ -122.705075999688503, 38.001334000464048 ], [ -122.704374999830918, 38.001151000661942 ], [ -122.703794999999886, 38.001121001131644 ], [ -122.703641999595376, 38.000961000472238 ], [ -122.703595999973686, 38.000549000917637 ], [ -122.702681000129473, 38.000327000764244 ], [ -122.702297000445128, 37.999923000833611 ], [ -122.702009000435481, 37.999542000409797 ], [ -122.701491000079429, 37.999114000314911 ], [ -122.701169999620035, 37.99890100048777 ], [ -122.70088000023037, 37.998672000568526 ], [ -122.70081900031478, 37.998237000448121 ], [ -122.700345999959083, 37.997802000352443 ], [ -122.700101999989315, 37.997504000453461 ], [ -122.70002600011648, 37.997154000767885 ], [ -122.699660000451701, 37.996681000248934 ], [ -122.699415000331143, 37.996093000743606 ], [ -122.699197000276513, 37.995523000852444 ], [ -122.698774999602904, 37.995513000737382 ], [ -122.698485000198687, 37.99567300048102 ], [ -122.698210000451127, 37.995918000571827 ], [ -122.698134000305686, 37.996192000639176 ], [ -122.698256000077606, 37.996635000896191 ], [ -122.698438999900446, 37.997047000816693 ], [ -122.698607000319527, 37.997726000808449 ], [ -122.698697999758224, 37.998130000764753 ], [ -122.698819999736315, 37.998557000652013 ], [ -122.698637000200989, 37.998809000430363 ], [ -122.69837800033271, 37.999053000776058 ], [ -122.698210000303902, 37.999282000533192 ], [ -122.698296999923016, 37.99992300096666 ], [ -122.698087999879064, 38.000182001012007 ], [ -122.697020000289626, 38.000556000479428 ], [ -122.696866000298087, 38.001159000729594 ], [ -122.696295999707374, 38.001623000559505 ], [ -122.694149999416581, 38.002342000517288 ], [ -122.694333000372595, 38.003021000805454 ], [ -122.694150000041446, 38.003303000792734 ], [ -122.69329600042893, 38.003423001037703 ], [ -122.693005999667065, 38.003585000453747 ], [ -122.691998999760557, 38.003890000770419 ], [ -122.691496000402793, 38.004023001022105 ], [ -122.691052999501281, 38.004165001071961 ], [ -122.689938999482024, 38.003959000471802 ], [ -122.688443000022289, 38.003280000480359 ], [ -122.687283999443054, 38.002853000714339 ], [ -122.686673000497208, 38.002876000281226 ], [ -122.68581899984467, 38.003135000267484 ], [ -122.685056000047396, 38.003501000521645 ], [ -122.68439999986262, 38.003280000439979 ], [ -122.683759000072655, 38.003181000883657 ], [ -122.6830879997853, 38.002860000506693 ], [ -122.682595999715446, 38.003223000565924 ], [ -122.68255400034154, 38.003326000646709 ], [ -122.682203000523813, 38.003280000979451 ], [ -122.681423999844498, 38.002586000265595 ], [ -122.681012000482639, 38.002311000622548 ], [ -122.680401999479344, 38.002898000623766 ], [ -122.679943999637246, 38.003478000781151 ], [ -122.679596000236032, 38.003523000747037 ], [ -122.678524000102939, 38.002822000342597 ], [ -122.677694999685301, 38.002923000656835 ], [ -122.677120000206216, 38.002410000315386 ], [ -122.676524999905098, 38.001647001028303 ], [ -122.67620499949453, 38.000854000618851 ], [ -122.675700999809393, 38.000915000753245 ], [ -122.67513699939596, 38.000938000604947 ], [ -122.67437399987152, 38.00080800065745 ], [ -122.674294999904973, 37.999923000755878 ], [ -122.673961999617688, 37.999526000497994 ], [ -122.67385499963315, 37.999328000306171 ], [ -122.673823999566181, 37.99915200032131 ], [ -122.673702000505131, 37.998901000581085 ], [ -122.673396999691988, 37.998801000725756 ], [ -122.673123000319308, 37.998801001080395 ], [ -122.672794999681599, 37.998623000580729 ], [ -122.672633999944665, 37.998153001115838 ], [ -122.672694999831634, 37.997947000657504 ], [ -122.672664999648205, 37.997863001058469 ], [ -122.672389999482704, 37.997611000753643 ], [ -122.672039000138952, 37.997375000240602 ], [ -122.671764999703683, 37.997184000341306 ], [ -122.671395000046331, 37.996923000851822 ], [ -122.671168999637615, 37.996993000327024 ], [ -122.671017000384296, 37.997169000338502 ], [ -122.670880000113939, 37.997291000965625 ], [ -122.670680999911653, 37.997237000306491 ], [ -122.670314999448948, 37.997108000278232 ], [ -122.67007099970256, 37.997070000961806 ], [ -122.669934000342408, 37.997146000613796 ], [ -122.669995000207663, 37.997367000572332 ], [ -122.670056000440695, 37.997558000262472 ], [ -122.670194999566789, 37.997823000704017 ], [ -122.670100999999335, 37.99816800106224 ], [ -122.670117000045877, 37.998466000483361 ], [ -122.670024999677366, 37.998695000855456 ], [ -122.669695000421385, 37.998923000381453 ], [ -122.669399000124386, 37.999244000958917 ], [ -122.668880999735151, 37.999511000859549 ], [ -122.6682249997491, 37.999564000760088 ], [ -122.667694999678019, 37.999523001022574 ], [ -122.666347999683964, 37.999679000663114 ], [ -122.665294999861885, 38.000037000757544 ], [ -122.664791000504891, 38.000152000668507 ], [ -122.664226999709783, 38.000053000574191 ], [ -122.661434000418353, 37.998801000968633 ], [ -122.660930000110753, 37.998893000656274 ], [ -122.660686000067145, 37.999084000530353 ], [ -122.660425999971466, 37.999145000831327 ], [ -122.660014000202366, 37.999099000365547 ], [ -122.65911399945071, 37.999297000726663 ], [ -122.658609999399559, 37.999564000401286 ], [ -122.658061000291099, 37.999427000749002 ], [ -122.657420000026192, 37.999450000889873 ], [ -122.656534999411235, 37.998428000910174 ], [ -122.656397999914205, 37.997878000832507 ], [ -122.6559100004974, 37.998237000298296 ], [ -122.65537599982224, 37.998519000327569 ], [ -122.654521000472414, 37.998679000940562 ], [ -122.654140000329463, 37.999023000712292 ], [ -122.653594000292657, 37.99972300081383 ], [ -122.652735999961251, 37.998214000453139 ], [ -122.65291899968382, 37.997855000441248 ], [ -122.652674999954115, 37.99738200066033 ], [ -122.652080000278275, 37.997184000398875 ], [ -122.651500000069291, 37.996993000406349 ], [ -122.651317000224282, 37.996459000977254 ], [ -122.650920000189799, 37.995956000494559 ], [ -122.650508000188211, 37.995406000638695 ], [ -122.650293999917409, 37.995223000888068 ], [ -122.649805999516175, 37.995521000420389 ], [ -122.648935999683715, 37.99594000061257 ], [ -122.648020999814094, 37.996238000749543 ], [ -122.646937999772746, 37.996291000271668 ], [ -122.645929999998444, 37.996108001090171 ], [ -122.644344000333476, 37.996360000261291 ], [ -122.643229000000304, 37.996520000237894 ], [ -122.642710000316796, 37.996711000724723 ], [ -122.642393000498103, 37.997023000792325 ], [ -122.642037999528284, 37.996490000630416 ], [ -122.64161099994665, 37.99620700049288 ], [ -122.640802000422113, 37.995902000403319 ], [ -122.640467000187755, 37.995605000666863 ], [ -122.639810999989365, 37.9954750008798 ], [ -122.639216000401092, 37.995124000789666 ], [ -122.638787999484975, 37.994804000309756 ], [ -122.638055999831479, 37.994628000789113 ], [ -122.637613000145521, 37.994766000757387 ], [ -122.63719300044059, 37.995023001048246 ], [ -122.636774000119274, 37.994895000423774 ], [ -122.635690999417847, 37.994750000965205 ], [ -122.634897000439764, 37.994682000877837 ], [ -122.633890000484499, 37.994842000634712 ], [ -122.632292999880377, 37.995223000647606 ], [ -122.631593000272304, 37.995723000366141 ], [ -122.628792999699058, 37.99722300111393 ], [ -122.628412000158761, 37.997962000502589 ], [ -122.62816800030329, 37.998344000831182 ], [ -122.627892999436014, 37.998523000625347 ], [ -122.627481999838324, 37.998595001068786 ], [ -122.62717199945665, 37.998828000580588 ], [ -122.627115000387519, 37.998870000936734 ], [ -122.626824999731639, 37.999389000244989 ], [ -122.626611999865233, 37.999488000945306 ], [ -122.626193000199706, 37.999523000731955 ], [ -122.624791999747259, 38.000223001081551 ], [ -122.624092000315088, 38.001423000794972 ], [ -122.624992999892342, 38.002322000628247 ], [ -122.624992999691102, 38.006022000361419 ], [ -122.625329999619112, 38.006293001073097 ], [ -122.625131999611227, 38.006567000424432 ], [ -122.624893000414986, 38.006722000981568 ], [ -122.624398999987179, 38.006964000794227 ], [ -122.623818999786636, 38.007475001009439 ], [ -122.623406999565603, 38.007971000990743 ], [ -122.622842999783643, 38.008459000781066 ], [ -122.622246999745713, 38.008627000530971 ], [ -122.621284999708536, 38.008650000366025 ], [ -122.620384999888273, 38.008620000518668 ], [ -122.619791999553826, 38.008422000540968 ], [ -122.618997000067921, 38.008185000871528 ], [ -122.618614999760013, 38.008093000619951 ], [ -122.617776000064438, 38.007857000930763 ], [ -122.617181000007378, 38.00744500025796 ], [ -122.616998000396293, 38.006705000907992 ], [ -122.616661999669432, 38.006422000687508 ], [ -122.615823000076688, 38.006064000948392 ], [ -122.61530400036807, 38.005873000405479 ], [ -122.615243000462357, 38.005552000460668 ], [ -122.615716000495652, 38.005438000604208 ], [ -122.616601000244728, 38.005354000893668 ], [ -122.61669200036971, 38.005222000721304 ], [ -122.61429199999975, 38.004822000359191 ], [ -122.6144920002031, 38.004022001100886 ], [ -122.611746999992661, 38.002375000666142 ], [ -122.609491999542854, 38.001022000288998 ], [ -122.60778399988267, 38.000479001127495 ], [ -122.60729199943917, 38.000322000301004 ], [ -122.606924000136232, 38.00032200025278 ], [ -122.606590999572731, 38.000322000770304 ], [ -122.604691000255954, 38.000322000792053 ], [ -122.603690999718026, 37.999522000437914 ], [ -122.603491000343624, 37.999422001117566 ], [ -122.602765999832201, 37.999063000856061 ], [ -122.602444999822296, 37.998803000480585 ], [ -122.602169999747375, 37.998581000690841 ], [ -122.602066999760453, 37.998493000465572 ], [ -122.601944999592192, 37.998388000698469 ], [ -122.601928999417481, 37.998360000400687 ], [ -122.601791000408681, 37.998222000748768 ], [ -122.601499000509023, 37.998014000960502 ], [ -122.601290000171687, 37.997865000573597 ], [ -122.601063999842012, 37.997729000867771 ], [ -122.598888999499835, 37.996301001040514 ], [ -122.598533000283027, 37.995916001088567 ], [ -122.597794999662369, 37.995406000993832 ], [ -122.598052000446259, 37.995148000723916 ], [ -122.59811499991531, 37.995085000763027 ], [ -122.598227000516331, 37.995017001103051 ], [ -122.598288000256588, 37.99498900104107 ], [ -122.598472000295331, 37.99490500047564 ], [ -122.598605999631786, 37.994857000270073 ], [ -122.598728000330865, 37.994813000337679 ], [ -122.598861000325115, 37.994778001077698 ], [ -122.598946000249796, 37.994757000794941 ], [ -122.599245999620607, 37.994711000648479 ], [ -122.5994489998604, 37.994865000838963 ], [ -122.599463999448218, 37.99520800092705 ], [ -122.599723999447562, 37.995437000521676 ], [ -122.599998000515072, 37.995277001031539 ], [ -122.60044100028253, 37.995147000323968 ], [ -122.60103599961981, 37.995139000625777 ], [ -122.601433000344926, 37.995429000456227 ], [ -122.601524000343957, 37.995429000569743 ], [ -122.601768000033587, 37.995246000843153 ], [ -122.602028000375171, 37.995322000360304 ], [ -122.602271999909192, 37.995635000375245 ], [ -122.602562000161527, 37.99599400101183 ], [ -122.603490999596247, 37.996323000925301 ], [ -122.605890999712898, 37.997223000476637 ], [ -122.612491999486778, 37.997023001040652 ], [ -122.611792000460667, 37.994723001024425 ], [ -122.611492000338089, 37.994323000374365 ], [ -122.611137999820485, 37.99347600071232 ], [ -122.611000999654209, 37.993110000502796 ], [ -122.610954999910916, 37.992896001122546 ], [ -122.610878999850769, 37.992736000357702 ], [ -122.610741999425244, 37.99253800043244 ], [ -122.610591999522853, 37.992323000506403 ], [ -122.610054999833125, 37.992095000310549 ], [ -122.608972000207615, 37.991637000535462 ], [ -122.608513000344033, 37.991515000498147 ], [ -122.607643000351814, 37.991332001016531 ], [ -122.60679099954497, 37.990823000574558 ], [ -122.606691000328922, 37.990223000802608 ], [ -122.606591000422029, 37.989623000885757 ], [ -122.606162999394343, 37.989608000539093 ], [ -122.605689999583404, 37.989394000570854 ], [ -122.605308999785336, 37.989097000655569 ], [ -122.605002999512223, 37.989219000800347 ], [ -122.604804999702068, 37.989295000906452 ], [ -122.604682999452024, 37.989166000780166 ], [ -122.604393000000513, 37.988784000560464 ], [ -122.604164000466255, 37.988517000878701 ], [ -122.603797999951254, 37.988212000741015 ], [ -122.603492999777188, 37.988006000541823 ], [ -122.603126999554291, 37.98765500023864 ], [ -122.602958999732806, 37.987304000382025 ], [ -122.602927999797032, 37.986945000668129 ], [ -122.602991000053919, 37.98662300062027 ], [ -122.602622999890457, 37.98635800083467 ], [ -122.60233100037226, 37.98618600108933 ], [ -122.602027999713357, 37.986007000953776 ], [ -122.601631000142689, 37.985732001092998 ], [ -122.601418000182804, 37.98546500058616 ], [ -122.601311000269988, 37.98513000092418 ], [ -122.601371999904217, 37.984954000664032 ], [ -122.601722999648686, 37.984931000971841 ], [ -122.601982000367173, 37.984824000847169 ], [ -122.602134999807291, 37.984626001000684 ], [ -122.602272000154812, 37.984443001046195 ], [ -122.602364000357639, 37.984260001121726 ], [ -122.60239400039849, 37.984084000946595 ], [ -122.602333000118591, 37.983894000776296 ], [ -122.602271999595445, 37.983756000332647 ], [ -122.602074000304412, 37.983863001119154 ], [ -122.601845000080118, 37.983901000441364 ], [ -122.601631000167515, 37.983840000466621 ], [ -122.601493999420256, 37.983672000619116 ], [ -122.601448000226767, 37.983543000352448 ], [ -122.601490999564646, 37.983423000853769 ], [ -122.601676999672577, 37.983367000302088 ], [ -122.601967000218622, 37.983245000472401 ], [ -122.602195999707305, 37.983146000877284 ], [ -122.602012999672937, 37.982948000806715 ], [ -122.601784000156343, 37.982841000923102 ], [ -122.601524000464337, 37.982780000929637 ], [ -122.601386999942548, 37.982581000253489 ], [ -122.601390999811798, 37.982323000472249 ], [ -122.601035999764449, 37.982261000551702 ], [ -122.600791999679132, 37.982185000806822 ], [ -122.600655000306404, 37.981979000771865 ], [ -122.60060900022836, 37.981796000406923 ], [ -122.600548000288882, 37.981521000633073 ], [ -122.600691000065339, 37.981323001034568 ], [ -122.602591000211817, 37.980623001125174 ], [ -122.603391000272026, 37.980223000525022 ], [ -122.603690999955361, 37.980923000858567 ], [ -122.604691000289236, 37.980823000790913 ], [ -122.604453999625974, 37.980384000660457 ], [ -122.604191000034902, 37.979623000463768 ], [ -122.604090999730033, 37.979423000716551 ], [ -122.60449099996255, 37.979523000437041 ], [ -122.604728999659741, 37.979812000769982 ], [ -122.605002999777128, 37.979949000346352 ], [ -122.605277999452071, 37.979873000379776 ], [ -122.6055070003423, 37.979812000662442 ], [ -122.605843000370555, 37.979781000649609 ], [ -122.606102000249834, 37.979682001049447 ], [ -122.60634600016067, 37.979652001049246 ], [ -122.606711999416078, 37.979659000805555 ], [ -122.606986999734801, 37.979659000645491 ], [ -122.607231000043186, 37.97955300040654 ], [ -122.607079000035199, 37.979453000483723 ], [ -122.60678899995456, 37.979339000880344 ], [ -122.606589999570659, 37.979217000483864 ], [ -122.606590999889349, 37.979023000683554 ], [ -122.607033000231368, 37.979049000391271 ], [ -122.607368000406453, 37.979194000702776 ], [ -122.60770400001843, 37.979270000782343 ], [ -122.60807000034923, 37.979324000286212 ], [ -122.608573999412172, 37.97922400061568 ], [ -122.608591000200988, 37.979023000550377 ], [ -122.608756999957762, 37.97879700052188 ], [ -122.608863999914831, 37.978622000848269 ], [ -122.608924999802781, 37.978484001045018 ], [ -122.609138000346746, 37.978500000268944 ], [ -122.609291000386804, 37.978462001033201 ], [ -122.609458999823985, 37.978095000984304 ], [ -122.609590999892305, 37.977723000716068 ], [ -122.610022999592275, 37.977760000373515 ], [ -122.610312999421751, 37.977851001067165 ], [ -122.610573000524212, 37.977798000240057 ], [ -122.610755999518332, 37.977653001012676 ], [ -122.610908999741653, 37.977729000921073 ], [ -122.611030999850243, 37.977882000636264 ], [ -122.611136999882007, 37.978004000693801 ], [ -122.611243999640834, 37.978019000307839 ], [ -122.611442999744213, 37.977943000552955 ], [ -122.611641999489677, 37.977851000787759 ], [ -122.611794999665392, 37.978004001111927 ], [ -122.611856000157488, 37.978095000903487 ], [ -122.611992000438917, 37.978323000553111 ], [ -122.612282999879312, 37.978187000318982 ], [ -122.612588000457166, 37.978057000285624 ], [ -122.6128469996695, 37.978027001023548 ], [ -122.613106999747544, 37.978095000663295 ], [ -122.613335999951929, 37.978202001125993 ], [ -122.613548999626161, 37.97831700068545 ], [ -122.613701999553342, 37.978156000490586 ], [ -122.613792000270507, 37.978023000884448 ], [ -122.61519199940102, 37.979023000845757 ], [ -122.61549200006661, 37.978523000793423 ], [ -122.615791999971236, 37.978623001112958 ], [ -122.615949000255682, 37.978299000441126 ], [ -122.617291999995331, 37.975523000450693 ], [ -122.61669200017208, 37.975623000625873 ], [ -122.615791999519743, 37.975423000364813 ], [ -122.615532999865167, 37.975631000767905 ], [ -122.615292000119936, 37.975423001128689 ], [ -122.614480000422446, 37.976913001116067 ], [ -122.61409199979984, 37.977023001015787 ], [ -122.613564999765771, 37.976745000720555 ], [ -122.613473000190851, 37.976562000945691 ], [ -122.613168000117085, 37.976417000351695 ], [ -122.612755999567909, 37.97634100092052 ], [ -122.612694999707415, 37.976417000434587 ], [ -122.612526999428212, 37.976394000567431 ], [ -122.612434999480982, 37.976363000494651 ], [ -122.612373999978828, 37.97650100038441 ], [ -122.612114999450299, 37.976463000904126 ], [ -122.611824000488397, 37.976486000825361 ], [ -122.611549000331109, 37.976348000707539 ], [ -122.611382000261216, 37.976241000611324 ], [ -122.611183000212165, 37.976249000776335 ], [ -122.611090999508718, 37.976023000456614 ], [ -122.610618999558781, 37.976188000713762 ], [ -122.61045099972992, 37.975951000430079 ], [ -122.609977999546672, 37.976066000325837 ], [ -122.60969100015555, 37.976123000332635 ], [ -122.609230000187154, 37.975913000834417 ], [ -122.608771999429678, 37.975593000919993 ], [ -122.608360000113237, 37.975211000415726 ], [ -122.608405999739787, 37.975089001003688 ], [ -122.608314999522065, 37.97491400034032 ], [ -122.608405999573748, 37.974822000535639 ], [ -122.608664999957199, 37.974761000708597 ], [ -122.608710999653113, 37.974502000767949 ], [ -122.608790999620638, 37.974223000715945 ], [ -122.606991000431094, 37.974323000337186 ], [ -122.604590999631384, 37.974523000975914 ], [ -122.601390999521485, 37.975023000759208 ], [ -122.601390999418555, 37.974723000564957 ], [ -122.601190999820219, 37.973523000418332 ], [ -122.599091000405437, 37.973823000483577 ], [ -122.604791000141034, 37.972323000649446 ], [ -122.605290999989549, 37.972323000315562 ], [ -122.604590999501482, 37.968923000741981 ], [ -122.604536999450033, 37.968653001073697 ], [ -122.604490999420918, 37.968423000459758 ], [ -122.605024000252584, 37.966914000752936 ], [ -122.605090999837401, 37.966723000820963 ], [ -122.604990999798957, 37.96212400029345 ], [ -122.602391000303825, 37.961824000416541 ], [ -122.60227999962369, 37.961909000855968 ], [ -122.601090999789037, 37.962824000309574 ], [ -122.598667000167708, 37.962575000574375 ], [ -122.597191000462956, 37.962424001084983 ], [ -122.594690000216005, 37.964324001070224 ], [ -122.594490000012627, 37.9628240004986 ], [ -122.592890000526808, 37.961924000754209 ], [ -122.593489999680159, 37.959424000333797 ], [ -122.590590000402813, 37.959424000680357 ], [ -122.58739000041524, 37.957424000752823 ], [ -122.586389999435951, 37.956824000669947 ], [ -122.584290000000735, 37.955924000289876 ], [ -122.581090000476848, 37.954124000808662 ], [ -122.580652999956712, 37.954269000260901 ], [ -122.580189000107978, 37.954424000711256 ], [ -122.578488999575981, 37.955024000908352 ], [ -122.577489000112919, 37.955724000319854 ], [ -122.577588999527876, 37.956424000755192 ], [ -122.576989000138198, 37.95672400086098 ], [ -122.576988999886126, 37.957224000823452 ], [ -122.576989000402435, 37.957524000783003 ], [ -122.576889000106917, 37.958324000608975 ], [ -122.58029000006141, 37.959924000529334 ], [ -122.580389999923838, 37.96212400069966 ], [ -122.580790000467488, 37.965023000960485 ], [ -122.581690000061883, 37.965923001133802 ], [ -122.577689000360152, 37.964923000255723 ], [ -122.579189999907655, 37.962324000790844 ], [ -122.577389000128434, 37.960124000693959 ], [ -122.573588999597732, 37.957524000537333 ], [ -122.57318899993939, 37.957224000331358 ], [ -122.574589000060186, 37.956124000434116 ], [ -122.574489000143274, 37.955024001026615 ], [ -122.570588999990989, 37.954924000334742 ], [ -122.568089000007262, 37.955924000697678 ], [ -122.567288999502338, 37.956224000991334 ], [ -122.566488999396526, 37.955924000491741 ], [ -122.566388999620344, 37.955324000713041 ], [ -122.566491999827548, 37.955196000459587 ], [ -122.566604000209267, 37.955055000605341 ], [ -122.567588999637607, 37.953824000925088 ], [ -122.569288999958275, 37.952624000309655 ], [ -122.569288999698003, 37.952024000928894 ], [ -122.568689000053809, 37.951924001099215 ], [ -122.569088999950537, 37.950424000305638 ], [ -122.569688999396533, 37.949424000729849 ], [ -122.570689000309159, 37.948724001054778 ], [ -122.570489000001658, 37.946924000681371 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1437, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.524286000267026, 37.955224000757866 ], [ -122.523585999476069, 37.954924000563302 ], [ -122.522585999971255, 37.954024000444633 ], [ -122.520185999601225, 37.953624000419858 ], [ -122.518086000108696, 37.95172400106275 ], [ -122.516285999431304, 37.951424000850082 ], [ -122.514585999500994, 37.952024000639447 ], [ -122.51397199996579, 37.95216600107026 ], [ -122.511986000498084, 37.952624000814836 ], [ -122.510586000022272, 37.952324000982898 ], [ -122.509985000368701, 37.952124000791891 ], [ -122.509710000102501, 37.951944000573313 ], [ -122.511513999581609, 37.949930000456405 ], [ -122.513201000365811, 37.947959001089224 ], [ -122.513411000295775, 37.947405000458616 ], [ -122.514539000440976, 37.944323001023982 ], [ -122.514624999715465, 37.943900000682817 ], [ -122.514742999496221, 37.943316000367595 ], [ -122.51480499946382, 37.943054000260808 ], [ -122.514874000192947, 37.942822000498595 ], [ -122.515162999879053, 37.942849001061283 ], [ -122.515686000207964, 37.94292400089018 ], [ -122.51613499961563, 37.941936000894664 ], [ -122.516161000304621, 37.941882000610178 ], [ -122.51798599942029, 37.940924000827948 ], [ -122.518787999766019, 37.940519000346676 ], [ -122.525439999504869, 37.943158000568864 ], [ -122.528386000519973, 37.944324000265894 ], [ -122.528786000079222, 37.944124000288802 ], [ -122.528835999628171, 37.944093000524106 ], [ -122.530387000197152, 37.943124000430835 ], [ -122.5319869994388, 37.942224000754464 ], [ -122.53328700016084, 37.941924000602619 ], [ -122.53468699961789, 37.942224000934409 ], [ -122.537587000332749, 37.94322400081122 ], [ -122.538087000465097, 37.945224000621792 ], [ -122.538025000135093, 37.945255000463476 ], [ -122.537959000347811, 37.945288000755156 ], [ -122.537801999731712, 37.945367000582479 ], [ -122.537686999505695, 37.945424000682301 ], [ -122.537087000048842, 37.946224000693476 ], [ -122.536787000299327, 37.947724001126716 ], [ -122.534486999766344, 37.949624000404135 ], [ -122.533987000252225, 37.950024001079505 ], [ -122.53388700046952, 37.950424000475266 ], [ -122.535735000396343, 37.951459000685986 ], [ -122.536386999679095, 37.951824000289697 ], [ -122.536887000471708, 37.952024000946665 ], [ -122.537587000472769, 37.952524000501896 ], [ -122.53858699976476, 37.952824000356017 ], [ -122.53808699990995, 37.953624000810471 ], [ -122.537287000298974, 37.954624000905127 ], [ -122.536887000435726, 37.95552400063108 ], [ -122.536883999589506, 37.955635000658063 ], [ -122.536687000488627, 37.956124001086899 ], [ -122.536586999932979, 37.956624000440655 ], [ -122.535886999953831, 37.957624000277107 ], [ -122.535586999856761, 37.958024000971442 ], [ -122.53458700020272, 37.958523000994361 ], [ -122.534587000348722, 37.959023001001704 ], [ -122.533386999492151, 37.959423000272501 ], [ -122.533187000282197, 37.959623000498546 ], [ -122.53248699990985, 37.959223000308363 ], [ -122.530287000033226, 37.958223000536208 ], [ -122.52968699962311, 37.957923000549656 ], [ -122.529087000209827, 37.958323000718245 ], [ -122.528587000283039, 37.958623000354301 ], [ -122.527187000249157, 37.957623000963096 ], [ -122.524286000267026, 37.955224000757866 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1441, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.521585999952521, 37.937224000826774 ], [ -122.520586000281156, 37.93792400104266 ], [ -122.520085999664047, 37.93812400088791 ], [ -122.518586000514659, 37.938924000424159 ], [ -122.518285999949541, 37.939124000392042 ], [ -122.517886000422635, 37.939524001067859 ], [ -122.517694999795381, 37.939619000366562 ], [ -122.516885999754678, 37.940024000781605 ], [ -122.516186000522168, 37.940424000923549 ], [ -122.515886000518492, 37.940724001059671 ], [ -122.515786000483871, 37.939924000941161 ], [ -122.515885999960673, 37.939624000295275 ], [ -122.516003000290254, 37.939229000358381 ], [ -122.516310000373878, 37.93821100028687 ], [ -122.516585999404469, 37.937324000794831 ], [ -122.516713000228535, 37.936898000573144 ], [ -122.516931999526321, 37.935937000587757 ], [ -122.516949000356661, 37.93579000026093 ], [ -122.516945000466208, 37.935666000312665 ], [ -122.516936000345595, 37.935498000389444 ], [ -122.516885999837655, 37.935124000461578 ], [ -122.51687100033574, 37.935048000513646 ], [ -122.515886000373328, 37.930124000519243 ], [ -122.515685000503296, 37.929224000413683 ], [ -122.515443999701404, 37.927982000805457 ], [ -122.515271000171694, 37.92721000038712 ], [ -122.514670000437164, 37.92568900085007 ], [ -122.514416000504255, 37.925090000700258 ], [ -122.514127999783668, 37.924467000533767 ], [ -122.513684999640503, 37.923625000955582 ], [ -122.513525000413154, 37.923378000758866 ], [ -122.512284999484976, 37.921125000805908 ], [ -122.5117879995517, 37.920247000260346 ], [ -122.511366999610118, 37.919127001017955 ], [ -122.511114000308908, 37.918295001036519 ], [ -122.511057000414866, 37.917830000923125 ], [ -122.511113999535041, 37.917198000304907 ], [ -122.511225999618617, 37.916688001052194 ], [ -122.511380999646661, 37.916078000360464 ], [ -122.511717999470889, 37.915014000859877 ], [ -122.511998999528899, 37.914160000487129 ], [ -122.512238000505306, 37.913495000810912 ], [ -122.51258500040052, 37.912725000830896 ], [ -122.513131000260273, 37.911739001130677 ], [ -122.514256999828532, 37.908985000966474 ], [ -122.515484999967939, 37.910925000603314 ], [ -122.515685000249917, 37.911425000981453 ], [ -122.515758000515916, 37.91175200029052 ], [ -122.51588499958747, 37.912325000452029 ], [ -122.517884999426457, 37.916025000420596 ], [ -122.518384999721874, 37.916925000566081 ], [ -122.518686000458615, 37.917725000909591 ], [ -122.520286000521835, 37.917325000953419 ], [ -122.522368000066606, 37.91713200075727 ], [ -122.525685999616485, 37.91682500041086 ], [ -122.528585999509986, 37.916125000371338 ], [ -122.529686000236524, 37.916825000351956 ], [ -122.530186000436785, 37.917025000262974 ], [ -122.530385999878035, 37.917225000963853 ], [ -122.531585999446861, 37.917825000376311 ], [ -122.533186000086985, 37.917925000469346 ], [ -122.5332859994259, 37.917625000778351 ], [ -122.534386000324346, 37.918925000382423 ], [ -122.537386999647225, 37.920425000446748 ], [ -122.537486999581006, 37.920925001109183 ], [ -122.53838699955395, 37.920925000766466 ], [ -122.538487000082682, 37.921425000558266 ], [ -122.539387000273052, 37.922025000781545 ], [ -122.539601999425784, 37.922011000465339 ], [ -122.539686999419359, 37.924925000238417 ], [ -122.538386999889411, 37.924825000881903 ], [ -122.538186999999738, 37.923925001087561 ], [ -122.537939000428381, 37.923954001065127 ], [ -122.537868000336971, 37.923962000662222 ], [ -122.537644999817118, 37.923982000520731 ], [ -122.53748200020155, 37.923994000661793 ], [ -122.53737099952329, 37.923980000771124 ], [ -122.537229000524505, 37.923970000502145 ], [ -122.537138000055862, 37.923919000687015 ], [ -122.537025999555752, 37.923846000508789 ], [ -122.536686999819182, 37.923925000535611 ], [ -122.536286999779307, 37.924325000375681 ], [ -122.535687, 37.924625000820875 ], [ -122.535286999411113, 37.92532500106914 ], [ -122.534859999396915, 37.925710000823067 ], [ -122.5350289994919, 37.925904000773293 ], [ -122.535468999526316, 37.926186000347073 ], [ -122.535094000036537, 37.92679300106154 ], [ -122.534464999827549, 37.926548000577441 ], [ -122.534198000100119, 37.926732000407661 ], [ -122.534323999810624, 37.926831000586375 ], [ -122.534115999448133, 37.926788000361412 ], [ -122.533647999399591, 37.926681000803462 ], [ -122.533586000160824, 37.926725000508711 ], [ -122.53278599975539, 37.927224000924383 ], [ -122.532486000018238, 37.927224000978583 ], [ -122.531785999547751, 37.927424000916666 ], [ -122.530686000245794, 37.927424000337062 ], [ -122.530385999717865, 37.927424000439885 ], [ -122.530685999657337, 37.927824000772098 ], [ -122.53118899945234, 37.928390001008552 ], [ -122.531549999614683, 37.928619000831929 ], [ -122.53169200002614, 37.928836000846907 ], [ -122.531924999923604, 37.929193000981584 ], [ -122.531649000500082, 37.929212000775898 ], [ -122.529985999827673, 37.929324000353667 ], [ -122.528785999880228, 37.929324000682115 ], [ -122.527285999735199, 37.929324000781818 ], [ -122.527085999670078, 37.930024000459447 ], [ -122.526286000278319, 37.930124000607698 ], [ -122.526340999564241, 37.930398000601087 ], [ -122.525659000038772, 37.930667000555701 ], [ -122.525405999793463, 37.930766000548012 ], [ -122.525203000216663, 37.930915000888746 ], [ -122.525060999860429, 37.931009000529158 ], [ -122.525172000052478, 37.93123700061296 ], [ -122.525324000484815, 37.931380001009394 ], [ -122.525456000263517, 37.931446000610876 ], [ -122.525785999992124, 37.931457000905937 ], [ -122.526085000229685, 37.931467000278779 ], [ -122.52690799970901, 37.931512000306569 ], [ -122.526986000170297, 37.93252400070272 ], [ -122.526985999495764, 37.933124000298768 ], [ -122.526986000028273, 37.933624000520872 ], [ -122.526286000159729, 37.933824000675962 ], [ -122.520886000047554, 37.934224000407376 ], [ -122.520985999779498, 37.93452400069966 ], [ -122.521585999952521, 37.937224000826774 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1439, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.492691999566674, 37.940436000928003 ], [ -122.492884999583879, 37.940424000309491 ], [ -122.492884999909876, 37.941624000843831 ], [ -122.489185000330068, 37.941524000406531 ], [ -122.489085000162163, 37.940324000274678 ], [ -122.488085000042872, 37.940324000827623 ], [ -122.488127999562607, 37.939855000472981 ], [ -122.488285000250599, 37.938124000528987 ], [ -122.490184999944034, 37.937924000246014 ], [ -122.490685000351135, 37.938924000674106 ], [ -122.491284999563945, 37.938924000505288 ], [ -122.491284999398985, 37.940524000267452 ], [ -122.492691999566674, 37.940436000928003 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1444, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.516484999392119, 37.891126000713335 ], [ -122.515885000486875, 37.89812500040555 ], [ -122.51587900000392, 37.899217000516366 ], [ -122.515884999573075, 37.900825001031315 ], [ -122.515784999466334, 37.90202500036623 ], [ -122.515757999598421, 37.902644001040912 ], [ -122.514984999854917, 37.902525000760946 ], [ -122.513944000346385, 37.902450000729736 ], [ -122.512884999956583, 37.902325000472622 ], [ -122.512214000333586, 37.902236000877565 ], [ -122.511184999956555, 37.90202500065022 ], [ -122.510631000401119, 37.901831000892763 ], [ -122.510048999688237, 37.901632000552176 ], [ -122.509632000109576, 37.901462000905937 ], [ -122.509316000367519, 37.901292000865602 ], [ -122.508872999423446, 37.900903000240952 ], [ -122.508406000407746, 37.900505001008106 ], [ -122.508052000341337, 37.900215000588361 ], [ -122.507343999892825, 37.899896000471138 ], [ -122.505659999621443, 37.899324000761467 ], [ -122.504584000099612, 37.898925000781276 ], [ -122.504157000465526, 37.898859000716193 ], [ -122.501712999455563, 37.89856600075916 ], [ -122.501883999694314, 37.897625000517756 ], [ -122.501984000262482, 37.897225000686724 ], [ -122.501483999834662, 37.896825001039559 ], [ -122.503484000168442, 37.893626000754111 ], [ -122.503083999473148, 37.895425000421518 ], [ -122.504184000395014, 37.894326000687187 ], [ -122.503284000494858, 37.892526000596575 ], [ -122.503983999396013, 37.890826000586586 ], [ -122.503822000129773, 37.890341000644867 ], [ -122.503583999720831, 37.889626000258964 ], [ -122.501483999608723, 37.887926001123233 ], [ -122.500684000131031, 37.886726000281172 ], [ -122.501683999690115, 37.885226001007929 ], [ -122.501383999767555, 37.884626000362559 ], [ -122.501256000473077, 37.884498000912544 ], [ -122.500616000430398, 37.88418300105868 ], [ -122.500029000414358, 37.883951000860897 ], [ -122.499490000242346, 37.883951000683275 ], [ -122.499342999811006, 37.884106000246568 ], [ -122.499440999950963, 37.884685000614844 ], [ -122.499587999542243, 37.885574000960389 ], [ -122.499931000187701, 37.887467001013796 ], [ -122.500468999729236, 37.888471000305614 ], [ -122.501153999750187, 37.889244000739744 ], [ -122.501985999774007, 37.88947600091371 ], [ -122.502672000054062, 37.890442000729649 ], [ -122.502524999419251, 37.891214000472935 ], [ -122.501887999747026, 37.891292000868759 ], [ -122.500811999968818, 37.890867000742141 ], [ -122.499538999750229, 37.889283000301347 ], [ -122.498755999507154, 37.887892000756892 ], [ -122.498021999803726, 37.886308000487965 ], [ -122.497972999540593, 37.884685000870633 ], [ -122.49797300051371, 37.883487000259976 ], [ -122.498022000150684, 37.882444001126323 ], [ -122.497924000324673, 37.881633000381179 ], [ -122.497642000248973, 37.880308000836003 ], [ -122.496584000345322, 37.879026000652978 ], [ -122.496683999917536, 37.877226001085297 ], [ -122.497014000218371, 37.877256000678585 ], [ -122.497284000160462, 37.877281000513868 ], [ -122.497784000077758, 37.8773260003369 ], [ -122.50178400037187, 37.880026000541626 ], [ -122.503784000415976, 37.880526000283034 ], [ -122.503283999793439, 37.881726000398636 ], [ -122.503445000242564, 37.881853000361907 ], [ -122.504683999456546, 37.88282600033029 ], [ -122.507983999582848, 37.88342600068102 ], [ -122.50948499978783, 37.882526000290916 ], [ -122.511384999481976, 37.884126000784029 ], [ -122.511085000278598, 37.884526000311908 ], [ -122.510985000350772, 37.884826000722555 ], [ -122.509085000049907, 37.886126000806996 ], [ -122.510184999680732, 37.887626000473205 ], [ -122.512285000155714, 37.888426000717907 ], [ -122.515385000283004, 37.885526000349238 ], [ -122.516089000067041, 37.885677000604261 ], [ -122.516784999576274, 37.885826000783545 ], [ -122.516684999757757, 37.887126000486234 ], [ -122.516663000285504, 37.888040000717659 ], [ -122.516584999446295, 37.889426001081596 ], [ -122.516551999530719, 37.890070000508949 ], [ -122.516484999392119, 37.891126000713335 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1449, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.517685000325145, 37.876226001123591 ], [ -122.515985000036551, 37.875826000318249 ], [ -122.514984999409748, 37.875826001126789 ], [ -122.513184999525095, 37.875826000469047 ], [ -122.511984999855855, 37.87542600028403 ], [ -122.511049000390585, 37.874981001063645 ], [ -122.510891999921711, 37.874764000616572 ], [ -122.510883999684964, 37.874537000837094 ], [ -122.510808999771967, 37.87382800063024 ], [ -122.510755999402974, 37.873496000595239 ], [ -122.510730000513135, 37.873334000818055 ], [ -122.510647000443441, 37.872919000474134 ], [ -122.510383999736405, 37.872581000587573 ], [ -122.510322999694736, 37.87254500037983 ], [ -122.510106999896294, 37.872417000280812 ], [ -122.509654999651872, 37.872345001001328 ], [ -122.509013000528256, 37.872272000494107 ], [ -122.508848000251533, 37.872253000541363 ], [ -122.508426999683678, 37.872260000554313 ], [ -122.508524999555775, 37.8723560008101 ], [ -122.508543000136967, 37.872461000948377 ], [ -122.508359999928828, 37.873198000687047 ], [ -122.508483999699905, 37.873726000445131 ], [ -122.508304000432858, 37.873502001050078 ], [ -122.508236999536848, 37.873395000842329 ], [ -122.508173999417139, 37.873278000246458 ], [ -122.508117999554628, 37.873138000615299 ], [ -122.507863000482843, 37.872451000540877 ], [ -122.507793000201985, 37.872308000368101 ], [ -122.507084000137695, 37.871226000621135 ], [ -122.506941999470001, 37.870774000883522 ], [ -122.50686000024092, 37.870462000892751 ], [ -122.506872999911693, 37.870074000826584 ], [ -122.506939000053805, 37.86963400037726 ], [ -122.507058999879305, 37.868941000700211 ], [ -122.507124999959331, 37.868082001008965 ], [ -122.507183999442049, 37.866920000943274 ], [ -122.507184000400372, 37.866426000824383 ], [ -122.507184000346271, 37.865321000589631 ], [ -122.50718499995476, 37.865168000578805 ], [ -122.507168000365141, 37.865037000827037 ], [ -122.507121999886451, 37.864857000239091 ], [ -122.507075000408463, 37.864699000746228 ], [ -122.506984000198926, 37.864427000516791 ], [ -122.506937000426717, 37.864321000706447 ], [ -122.506880000009005, 37.864203000510265 ], [ -122.506799000408208, 37.864050000422957 ], [ -122.506661000232853, 37.863867000449645 ], [ -122.506361000417954, 37.863502000783456 ], [ -122.505784000278936, 37.862827000312471 ], [ -122.509584000234156, 37.860427000240904 ], [ -122.5106839999046, 37.861727000692973 ], [ -122.511183999388962, 37.862727001058701 ], [ -122.512983999949327, 37.863427000421112 ], [ -122.518584999720616, 37.868126000722 ], [ -122.520284999750032, 37.869126000656586 ], [ -122.520646999472206, 37.870173000889167 ], [ -122.520555000439956, 37.870394000501769 ], [ -122.520433000192227, 37.870631000325773 ], [ -122.520142999566445, 37.870913000609036 ], [ -122.52000600028758, 37.871157000532037 ], [ -122.519884000086876, 37.871523000382652 ], [ -122.519518000420504, 37.872042000987818 ], [ -122.519318999731837, 37.872683000239228 ], [ -122.519228000317256, 37.873194001084293 ], [ -122.519285000489049, 37.873826000250986 ], [ -122.519284999539536, 37.875726000282803 ], [ -122.518946999403298, 37.876133001054086 ], [ -122.518389999628795, 37.87621100090356 ], [ -122.518284999452206, 37.876226000698857 ], [ -122.517685000325145, 37.876226001123591 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1453, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.626990999573536, 37.885726001000286 ], [ -122.625861999923345, 37.886042000425824 ], [ -122.624900999921579, 37.886454000299629 ], [ -122.623954999923512, 37.886912000315185 ], [ -122.623603999406285, 37.887232000938496 ], [ -122.62349100038314, 37.887526000467908 ], [ -122.622917000087796, 37.887919000376478 ], [ -122.622414000269004, 37.888537000981053 ], [ -122.622062999520523, 37.889040000894369 ], [ -122.621300000458291, 37.889841001051508 ], [ -122.620796000015346, 37.890444000811705 ], [ -122.620246999429071, 37.891245000773097 ], [ -122.619637000509826, 37.892008000365905 ], [ -122.618858000115239, 37.892809000964284 ], [ -122.617804999734233, 37.893473000531962 ], [ -122.616935999841331, 37.893923000461882 ], [ -122.616508000520199, 37.894473000463854 ], [ -122.616081000474665, 37.894839000576411 ], [ -122.614815000513275, 37.895167000483042 ], [ -122.61353300044388, 37.895617000996594 ], [ -122.612511000070754, 37.896181001068499 ], [ -122.611549000515126, 37.897227000316775 ], [ -122.611000000002178, 37.897730000365229 ], [ -122.610312999889601, 37.898287000293145 ], [ -122.609992999502722, 37.899149000487412 ], [ -122.609748999836498, 37.899743000391929 ], [ -122.609559999905315, 37.899916000999127 ], [ -122.609092000050254, 37.900346001025419 ], [ -122.608496999826997, 37.900934001010839 ], [ -122.608206999720309, 37.901559000623656 ], [ -122.608023999915346, 37.902261000553565 ], [ -122.608130000335763, 37.902833001072331 ], [ -122.608497000245407, 37.903413000943928 ], [ -122.609061999686048, 37.90416100081179 ], [ -122.609748999681315, 37.904909000483059 ], [ -122.609990999652979, 37.90522500053055 ], [ -122.609474000181478, 37.905053001104243 ], [ -122.609046999480128, 37.905061000353918 ], [ -122.608665000198386, 37.904878001007297 ], [ -122.608313999942581, 37.904451001044613 ], [ -122.607902000089538, 37.904222000698731 ], [ -122.607290999706535, 37.904298000932201 ], [ -122.606909999452739, 37.904390001005986 ], [ -122.606619999752326, 37.904291000505992 ], [ -122.606315000114819, 37.90403900040431 ], [ -122.605947999668274, 37.903924000381906 ], [ -122.605079000057131, 37.903741001056098 ], [ -122.604575000503957, 37.903604000461563 ], [ -122.60419000042242, 37.903725001048613 ], [ -122.603964999997217, 37.903848000735991 ], [ -122.603736000038523, 37.904092000391152 ], [ -122.60361399966159, 37.904535000945053 ], [ -122.60368999958321, 37.904825000258548 ], [ -122.603933999679313, 37.904573000798884 ], [ -122.604254999647608, 37.904230000468687 ], [ -122.604559999989462, 37.904161000900515 ], [ -122.604772999602687, 37.904222000622447 ], [ -122.60547500049347, 37.904703000687107 ], [ -122.605628000411869, 37.904931000478342 ], [ -122.605749999867044, 37.905099000385221 ], [ -122.606025000010519, 37.905115000831152 ], [ -122.606299000333067, 37.905115001030204 ], [ -122.606452000108675, 37.905198000513067 ], [ -122.606574000043608, 37.905649000323407 ], [ -122.606634999428749, 37.905748001019496 ], [ -122.606894000413405, 37.905748001083005 ], [ -122.607184000444988, 37.905755000778392 ], [ -122.607489999685939, 37.906022000430525 ], [ -122.607672999703837, 37.906503000314551 ], [ -122.60777900044971, 37.906732000564951 ], [ -122.607962999629777, 37.906740000620999 ], [ -122.608161999435808, 37.906579000861818 ], [ -122.608481999778817, 37.906434000298354 ], [ -122.608817999852036, 37.906556000630047 ], [ -122.609276000019307, 37.906755001069577 ], [ -122.609749000296361, 37.906907000745392 ], [ -122.610007999706866, 37.907182001051467 ], [ -122.610190999616165, 37.907525000873768 ], [ -122.610527000199482, 37.907564001101022 ], [ -122.610923999883212, 37.907586000735591 ], [ -122.611350999699454, 37.907380000929088 ], [ -122.611626000173956, 37.90727400107361 ], [ -122.61216000049123, 37.906785000891624 ], [ -122.612404000086627, 37.906801000557238 ], [ -122.612800999799134, 37.907075000719757 ], [ -122.613013999593662, 37.906999000671611 ], [ -122.612984000332858, 37.906625000749777 ], [ -122.612861999782012, 37.906030000663115 ], [ -122.612999000114044, 37.905832000399919 ], [ -122.613045000074024, 37.905069000668732 ], [ -122.613191000026447, 37.904825000363871 ], [ -122.613411000507242, 37.904825000309629 ], [ -122.613654999563067, 37.90526700109708 ], [ -122.614264999838639, 37.906572000414954 ], [ -122.614159000401855, 37.906999000423852 ], [ -122.613609000271595, 37.907785001015711 ], [ -122.613426000106699, 37.908174001052309 ], [ -122.613349999827591, 37.908555000890445 ], [ -122.612311999556539, 37.90941700096711 ], [ -122.612021999866229, 37.909768000744656 ], [ -122.612091000266261, 37.910725000896605 ], [ -122.611702000130478, 37.910898000476195 ], [ -122.611075999527884, 37.911378000265337 ], [ -122.61049099963509, 37.91182500063664 ], [ -122.610710000124058, 37.912172000441409 ], [ -122.611107000433222, 37.912561000968843 ], [ -122.611168000236049, 37.912912000421308 ], [ -122.610709999499932, 37.913141000642575 ], [ -122.61037400002148, 37.913507001059955 ], [ -122.610160999598619, 37.913919001030663 ], [ -122.609230000458041, 37.914560000948555 ], [ -122.608420999555378, 37.914811000395595 ], [ -122.607791000517082, 37.915025000490402 ], [ -122.607612999726328, 37.915025001122856 ], [ -122.607475000509197, 37.915262000478073 ], [ -122.607596999858629, 37.915643001020378 ], [ -122.607414000143905, 37.916040000913469 ], [ -122.607124000167616, 37.916749000646227 ], [ -122.606894999965846, 37.917276000644101 ], [ -122.606681999938516, 37.917848000415148 ], [ -122.606190999647865, 37.918425000358731 ], [ -122.605827000288258, 37.91900000092734 ], [ -122.605002000369879, 37.919404001067591 ], [ -122.604590000307454, 37.919755000354215 ], [ -122.604269999504012, 37.91976300082856 ], [ -122.603690000202562, 37.919801000909359 ], [ -122.603339000424157, 37.920114000607057 ], [ -122.602988000001162, 37.920678000496203 ], [ -122.602941999526138, 37.921090001129457 ], [ -122.602499999959505, 37.921541000565831 ], [ -122.601798000480684, 37.921884000636609 ], [ -122.601217999561371, 37.922258000855393 ], [ -122.600890000069072, 37.922525000332946 ], [ -122.60039399979776, 37.92254000107048 ], [ -122.600135000105297, 37.922502000534664 ], [ -122.599433000203845, 37.922296000410043 ], [ -122.599005999965144, 37.922220000906805 ], [ -122.59839499975881, 37.922151000663042 ], [ -122.597875999910002, 37.922403001042582 ], [ -122.597448999966645, 37.922769000668481 ], [ -122.597204999876595, 37.922845000400422 ], [ -122.596961000238338, 37.922807000959445 ], [ -122.596549000442167, 37.922616000647274 ], [ -122.596136999580338, 37.922426001129203 ], [ -122.595689999957472, 37.92242500075875 ], [ -122.59543499965433, 37.922563000667644 ], [ -122.595343999776105, 37.92283000057612 ], [ -122.595343999731384, 37.923341000412599 ], [ -122.59517600037033, 37.923631000521901 ], [ -122.595160000118952, 37.923959001059757 ], [ -122.595251999556311, 37.924692000924054 ], [ -122.59526699954688, 37.925218001081809 ], [ -122.595115000448558, 37.925332000491018 ], [ -122.594671999795722, 37.925462000714333 ], [ -122.594367000442247, 37.9257600006814 ], [ -122.594152999813744, 37.925912000946667 ], [ -122.593680000495027, 37.926011001136281 ], [ -122.59337499962453, 37.926179000995752 ], [ -122.592916999935127, 37.92669800054923 ], [ -122.59248999961757, 37.926925001119528 ], [ -122.592353000145692, 37.926919000784423 ], [ -122.592093000519895, 37.926881000718936 ], [ -122.591574999813233, 37.926637000694193 ], [ -122.591178000055663, 37.92654500051097 ], [ -122.5907049995525, 37.926301000658185 ], [ -122.590322999734099, 37.926195000364196 ], [ -122.590156000133391, 37.925744000860917 ], [ -122.590079000180538, 37.925699000461925 ], [ -122.589606000162689, 37.925676001103817 ], [ -122.589164000008182, 37.925584000322495 ], [ -122.58904199951786, 37.925317000807013 ], [ -122.588889000352239, 37.925119000623688 ], [ -122.588263000088148, 37.92478300095614 ], [ -122.587890000459865, 37.924625000555146 ], [ -122.587729000303383, 37.924783000710882 ], [ -122.587667999600043, 37.925119000961772 ], [ -122.587562000505031, 37.925355000628855 ], [ -122.587271999536128, 37.925371000366653 ], [ -122.586921000069793, 37.925393000626286 ], [ -122.586690999595717, 37.92569100051562 ], [ -122.586629999612597, 37.926271000704368 ], [ -122.586722000299559, 37.926759000414883 ], [ -122.586570000461492, 37.927072001058491 ], [ -122.586354999465158, 37.927476001057251 ], [ -122.586049999951442, 37.927522000532505 ], [ -122.585576999924612, 37.927560000853603 ], [ -122.585255999792523, 37.9277280007352 ], [ -122.585103999878157, 37.927995000910968 ], [ -122.5847829994227, 37.928377000307457 ], [ -122.584589000072143, 37.928325000397265 ], [ -122.584388999421094, 37.928625000522871 ], [ -122.583488999702269, 37.928125000276772 ], [ -122.583288000308855, 37.928041000901807 ], [ -122.583012999927291, 37.927896000705573 ], [ -122.582769000273288, 37.927713000317532 ], [ -122.582418000014329, 37.927675000501445 ], [ -122.582022000197696, 37.927888001041808 ], [ -122.581427000104398, 37.927789000555691 ], [ -122.580938000262179, 37.927850000265877 ], [ -122.580648000088757, 37.928048001099896 ], [ -122.580288999807237, 37.928425001088016 ], [ -122.579089000166221, 37.93082400055868 ], [ -122.57738899987379, 37.931824001020388 ], [ -122.576189000112976, 37.930924000463705 ], [ -122.574188999683273, 37.931224001053415 ], [ -122.574288999499174, 37.931524000895415 ], [ -122.575088999490504, 37.931524000975635 ], [ -122.577489000240305, 37.933524001092742 ], [ -122.575988999652708, 37.933424000452071 ], [ -122.574988999583852, 37.932524000848339 ], [ -122.573789000423375, 37.932524000337075 ], [ -122.571888999590016, 37.932324000970951 ], [ -122.569989000396646, 37.929824000254776 ], [ -122.569688999529603, 37.930424000332771 ], [ -122.570288999916244, 37.931324001021515 ], [ -122.570599999714688, 37.932955000644597 ], [ -122.570688999498174, 37.933424000979976 ], [ -122.573388999817027, 37.934124000851931 ], [ -122.572889000142936, 37.934924000660587 ], [ -122.572488999724598, 37.934524000466652 ], [ -122.570188999900424, 37.9350240002614 ], [ -122.568488999930494, 37.934024000263037 ], [ -122.566987999896654, 37.934824000585472 ], [ -122.565187999596546, 37.934824001129236 ], [ -122.563388000136513, 37.935124000341339 ], [ -122.562488000230019, 37.934324000516632 ], [ -122.561388000088314, 37.933924000560097 ], [ -122.560887999572799, 37.93242400081995 ], [ -122.55858800026823, 37.930524000578643 ], [ -122.559088000392009, 37.929724000858712 ], [ -122.559380000051021, 37.929919000804873 ], [ -122.559987999431002, 37.930324001071575 ], [ -122.560383999592403, 37.929295000768121 ], [ -122.560487999681769, 37.929025000939887 ], [ -122.560687999752261, 37.927825000900199 ], [ -122.560088000103946, 37.926925000648019 ], [ -122.560288000519776, 37.926025000458544 ], [ -122.560087999631392, 37.92502500085935 ], [ -122.562587999484862, 37.925225000392871 ], [ -122.563387999578325, 37.92442500110451 ], [ -122.562487999958677, 37.924225000478415 ], [ -122.561987999626666, 37.923425000374969 ], [ -122.564587999878839, 37.922625000682636 ], [ -122.564187999527377, 37.921425000677651 ], [ -122.562088000470993, 37.921325000868798 ], [ -122.562188000212643, 37.920425001094692 ], [ -122.562987999615302, 37.919925000983504 ], [ -122.562688000072498, 37.918225000505792 ], [ -122.563988000068264, 37.919725001000565 ], [ -122.564988000359975, 37.919725000883602 ], [ -122.567088000113117, 37.920325000471223 ], [ -122.56798799950991, 37.920925000721702 ], [ -122.569687999904829, 37.921225000950294 ], [ -122.569688000478791, 37.920825000441219 ], [ -122.569687999911267, 37.919525000843912 ], [ -122.569942999464942, 37.919459000899302 ], [ -122.56768800020788, 37.918225000572981 ], [ -122.566387999872759, 37.917425000729544 ], [ -122.566687999455127, 37.916725000728889 ], [ -122.567288000131896, 37.915925000318822 ], [ -122.568287999966444, 37.915825001116076 ], [ -122.567887999961258, 37.914225000499705 ], [ -122.569387999488882, 37.913925000950137 ], [ -122.569887999607317, 37.913625000244231 ], [ -122.570788000339988, 37.913625000648551 ], [ -122.570987999548564, 37.91302500092948 ], [ -122.571434999571267, 37.91313700050928 ], [ -122.572988999456044, 37.913525000801123 ], [ -122.573318999996289, 37.912818000684332 ], [ -122.573689000076428, 37.912025000237101 ], [ -122.573188999409183, 37.911925000752142 ], [ -122.573288999738423, 37.911225000286755 ], [ -122.575488999594015, 37.910825000717345 ], [ -122.575896000134975, 37.910667000513115 ], [ -122.57612999999769, 37.91055200058674 ], [ -122.576322000158214, 37.9104620006228 ], [ -122.576505000330712, 37.910372000406511 ], [ -122.576667000056446, 37.910282000980658 ], [ -122.576808999750966, 37.910154001008074 ], [ -122.577089000331952, 37.909925000766727 ], [ -122.576789000276761, 37.909125000310489 ], [ -122.574188999746042, 37.906625000995597 ], [ -122.572788000241786, 37.90532500104559 ], [ -122.570687999637684, 37.904525000789519 ], [ -122.569887999649296, 37.903825000586053 ], [ -122.569687999542055, 37.90252500079297 ], [ -122.568182999408549, 37.901132000952764 ], [ -122.567687999951957, 37.900825000551045 ], [ -122.567188000263386, 37.900825000835248 ], [ -122.566870999681669, 37.900644000417607 ], [ -122.566488000472745, 37.90042500067927 ], [ -122.565687999575474, 37.90012500056919 ], [ -122.564387999860799, 37.900325000629444 ], [ -122.564187999574628, 37.90022500024866 ], [ -122.563187999866102, 37.899825000474053 ], [ -122.562787999898831, 37.899825000732427 ], [ -122.562755000523708, 37.89978100112188 ], [ -122.562488000522094, 37.899425000873464 ], [ -122.562288000351799, 37.898925000771342 ], [ -122.562388000423681, 37.898125000981551 ], [ -122.561387999844072, 37.897625000237063 ], [ -122.560287999548436, 37.896726000751684 ], [ -122.55998799970196, 37.896126000551448 ], [ -122.558688000027061, 37.895626000560533 ], [ -122.558186999566772, 37.894026000876323 ], [ -122.557286999456167, 37.893426000544864 ], [ -122.556187000316555, 37.892026000993148 ], [ -122.556186999467755, 37.890326000444389 ], [ -122.555087000221079, 37.889326000634924 ], [ -122.554386999637856, 37.887626000612606 ], [ -122.554687000368631, 37.885326000724362 ], [ -122.554486999614994, 37.884526000990732 ], [ -122.554187000471032, 37.883526001102965 ], [ -122.553287000061104, 37.884226000800439 ], [ -122.553186999780181, 37.879126000433622 ], [ -122.552086999589648, 37.876626000990328 ], [ -122.551586999544952, 37.874526000293869 ], [ -122.550986999859333, 37.872926000689532 ], [ -122.551486999880112, 37.872226000803224 ], [ -122.55208699954116, 37.871526000618552 ], [ -122.551486999728823, 37.870726000275923 ], [ -122.551286999778284, 37.870426001110403 ], [ -122.550486999937888, 37.870126000777717 ], [ -122.550807000058597, 37.869486000794858 ], [ -122.550986999450117, 37.869126000270448 ], [ -122.549486999399534, 37.86932600080852 ], [ -122.548886999597144, 37.869026000311777 ], [ -122.549786999646258, 37.868826000335311 ], [ -122.551187000075345, 37.867726000450944 ], [ -122.551186999507294, 37.867426000689264 ], [ -122.54968699940045, 37.867226000947298 ], [ -122.549186999907761, 37.867326000661791 ], [ -122.548786999714636, 37.867026000893546 ], [ -122.548187000221517, 37.86762600052203 ], [ -122.547386999973469, 37.867426000330283 ], [ -122.545685999454733, 37.867926000489653 ], [ -122.54438600013053, 37.869526000498006 ], [ -122.543885999780187, 37.870026001061248 ], [ -122.543185999836282, 37.87052600054573 ], [ -122.540186000264129, 37.870126000710535 ], [ -122.53858599955835, 37.868526000762351 ], [ -122.538085999537145, 37.866926001102563 ], [ -122.537186000005832, 37.865926000432133 ], [ -122.53868599985573, 37.865027000932926 ], [ -122.53678600007251, 37.86192700099776 ], [ -122.535785999510338, 37.86172700030275 ], [ -122.535085999590905, 37.862327000715275 ], [ -122.53448599945304, 37.862227000883401 ], [ -122.535085999876415, 37.861227000832407 ], [ -122.534585999691686, 37.860127000243118 ], [ -122.533986000144807, 37.859527000319822 ], [ -122.534286000296291, 37.858927001121032 ], [ -122.533085999875496, 37.858827000804041 ], [ -122.533185999691327, 37.858327000372 ], [ -122.533285999998498, 37.857727000989463 ], [ -122.534885999812644, 37.857027000255677 ], [ -122.533785999806739, 37.856127000324605 ], [ -122.53238599958361, 37.85562700046475 ], [ -122.533185999669186, 37.853827000743244 ], [ -122.530385000305571, 37.852527000847218 ], [ -122.528384999647358, 37.851427000888201 ], [ -122.527585000470452, 37.850427001032074 ], [ -122.526384999612731, 37.850027000781978 ], [ -122.525785000140999, 37.85002700069267 ], [ -122.524185000513413, 37.852327000778899 ], [ -122.524885000451761, 37.854727000457729 ], [ -122.5214849999698, 37.856327000350483 ], [ -122.518385000438371, 37.856327000844296 ], [ -122.514183999741832, 37.857027001075785 ], [ -122.511384000196571, 37.854927000534822 ], [ -122.508083999539295, 37.855827001049761 ], [ -122.507283999565885, 37.855627000791465 ], [ -122.512083999970386, 37.857627001051483 ], [ -122.510984000372588, 37.858327000463774 ], [ -122.511284000002803, 37.859427000763503 ], [ -122.509584000234156, 37.860427000240904 ], [ -122.505784000278936, 37.862827000312471 ], [ -122.505112999651004, 37.862100000528116 ], [ -122.504353999985497, 37.861618000773447 ], [ -122.502980000094766, 37.860941000606601 ], [ -122.502183999409681, 37.860527000699463 ], [ -122.501483999634218, 37.860127000751859 ], [ -122.500884000450696, 37.859727000560326 ], [ -122.498791999665599, 37.857896000277727 ], [ -122.498049000381627, 37.857246000607127 ], [ -122.497724000431305, 37.85701100051967 ], [ -122.497292999774587, 37.856807000720565 ], [ -122.496827000409127, 37.85669900083461 ], [ -122.496255999406372, 37.85659400104155 ], [ -122.495605000283746, 37.856492000568231 ], [ -122.495203999802612, 37.856401000864928 ], [ -122.494893000138703, 37.85625900079387 ], [ -122.494598000497817, 37.856104000578824 ], [ -122.49436900011581, 37.855923001040033 ], [ -122.494155999849283, 37.855716000488947 ], [ -122.493967999892064, 37.855452000402714 ], [ -122.49338399994825, 37.854627000249046 ], [ -122.492383999789979, 37.852927000790189 ], [ -122.49198000014097, 37.852590000569279 ], [ -122.491600000405441, 37.852290001051955 ], [ -122.491373000025774, 37.852138001006828 ], [ -122.49112800026856, 37.852000001107747 ], [ -122.490691000417314, 37.851765000403546 ], [ -122.490452000319834, 37.851609000769997 ], [ -122.490306000334769, 37.851489001126858 ], [ -122.49018299987263, 37.851327000971757 ], [ -122.490821999687569, 37.851346000928082 ], [ -122.491249999681457, 37.851246000768036 ], [ -122.491837999472764, 37.851083000766536 ], [ -122.492203000058723, 37.85105800036014 ], [ -122.492536999850884, 37.851196000362563 ], [ -122.492949999662244, 37.851522001024151 ], [ -122.493362999464324, 37.851710000675581 ], [ -122.493617000222557, 37.851747000272944 ], [ -122.493886999546064, 37.851609000596817 ], [ -122.494093000457227, 37.851271000886101 ], [ -122.494236000362193, 37.851020000793902 ], [ -122.494458999923623, 37.850882000699002 ], [ -122.494792000188809, 37.850820000548538 ], [ -122.495142000065286, 37.850794001026721 ], [ -122.495347999578982, 37.850694001046293 ], [ -122.495483999515685, 37.850527000699302 ], [ -122.496484000265951, 37.850027001066444 ], [ -122.497784000250505, 37.849527000940469 ], [ -122.497983999650245, 37.849527001095169 ], [ -122.49768399973857, 37.849027000251596 ], [ -122.497024999457324, 37.849521000807776 ], [ -122.496200999890448, 37.849567000586887 ], [ -122.495884000341434, 37.849627000253747 ], [ -122.495083000378898, 37.849716000860077 ], [ -122.494983999552915, 37.849727000360218 ], [ -122.493820999748564, 37.849849000761225 ], [ -122.491290999419689, 37.847031000251448 ], [ -122.487279999791866, 37.844718000948717 ], [ -122.486982999978537, 37.845027000596943 ], [ -122.486382999854527, 37.845027000838094 ], [ -122.485683000419698, 37.845127000924386 ], [ -122.483982999505017, 37.845027000974277 ], [ -122.483283000242167, 37.844027000249547 ], [ -122.481182999431226, 37.843927000466763 ], [ -122.480337000192762, 37.844713000670218 ], [ -122.479783000421534, 37.845227000383289 ], [ -122.477782999756784, 37.845527001059097 ], [ -122.477183000159044, 37.845627000999222 ], [ -122.477004000450577, 37.845269000326439 ], [ -122.476583000466562, 37.844427000558952 ], [ -122.475582999576503, 37.843927000914533 ], [ -122.475183000212112, 37.843427000352072 ], [ -122.475983000175631, 37.843127000724316 ], [ -122.475082999833077, 37.842127000356037 ], [ -122.471382999666787, 37.837127000279857 ], [ -122.47138299944757, 37.835527000858391 ], [ -122.472182999837273, 37.833927000910727 ], [ -122.472282999942095, 37.832327000737649 ], [ -122.473682999967096, 37.832327000408192 ], [ -122.474082999730285, 37.833827000514944 ], [ -122.478082999704327, 37.833327000350849 ], [ -122.477383000319577, 37.832327000990887 ], [ -122.476683000136944, 37.831328000507703 ], [ -122.477783000109895, 37.831528000534703 ], [ -122.478582999599496, 37.830428000473184 ], [ -122.478783000493323, 37.828128000655866 ], [ -122.478082999693513, 37.825728000453843 ], [ -122.478782999406519, 37.825528000484553 ], [ -122.478982999478205, 37.825428001114979 ], [ -122.479282999625127, 37.825428001069078 ], [ -122.481028000069884, 37.825843000933226 ], [ -122.481383000201404, 37.82592800043308 ], [ -122.482782999938522, 37.825628000402851 ], [ -122.483482999423117, 37.82672800043386 ], [ -122.486282999922366, 37.826228000659221 ], [ -122.491182999647549, 37.826428000719339 ], [ -122.491383000479644, 37.825728000374966 ], [ -122.492083000309364, 37.825328000333329 ], [ -122.492482999636962, 37.824828000649553 ], [ -122.493183000074282, 37.824628000552302 ], [ -122.493482999482765, 37.823828001037256 ], [ -122.494482999694085, 37.823428000890338 ], [ -122.494782999463808, 37.822728000727025 ], [ -122.495483000108209, 37.822428001056288 ], [ -122.496282999495733, 37.822328000741017 ], [ -122.49884300048852, 37.822328000582971 ], [ -122.498983000036347, 37.822328000403935 ], [ -122.499883000335856, 37.821828000842203 ], [ -122.498982999631735, 37.82022800042391 ], [ -122.499783000012613, 37.819728000500454 ], [ -122.501283000361511, 37.821228000417506 ], [ -122.501482999694787, 37.821728000920309 ], [ -122.502883000406314, 37.820928000791369 ], [ -122.503383000158706, 37.821228000685906 ], [ -122.504182999740536, 37.821028000466271 ], [ -122.504683000133838, 37.821728000286932 ], [ -122.505382999885782, 37.822128000872219 ], [ -122.505182999726316, 37.822928000795265 ], [ -122.511084000333213, 37.824528001091863 ], [ -122.51188399957374, 37.824428000299619 ], [ -122.516084000485762, 37.825328000620672 ], [ -122.516783999825108, 37.824728000728385 ], [ -122.517684000282955, 37.825328000954578 ], [ -122.518483999843241, 37.825428000847566 ], [ -122.519283999901532, 37.82512800073723 ], [ -122.523584999754291, 37.824828000754692 ], [ -122.52398499998101, 37.824028000827958 ], [ -122.524585000257247, 37.823128000787307 ], [ -122.524385000040681, 37.822528001047495 ], [ -122.525385000173074, 37.822428001091602 ], [ -122.525784999454388, 37.821728000350667 ], [ -122.525584999594827, 37.821228001003725 ], [ -122.527084999952962, 37.821028000806351 ], [ -122.529184999582981, 37.819028000957182 ], [ -122.528484999393157, 37.817628000588158 ], [ -122.527384999751263, 37.815828000591573 ], [ -122.527484999645964, 37.815128000470061 ], [ -122.52848499995288, 37.815428000729433 ], [ -122.529284999439469, 37.815328000235318 ], [ -122.530185000039012, 37.815628001030511 ], [ -122.531284999523066, 37.820628000507803 ], [ -122.535784999748572, 37.82402800110102 ], [ -122.533984999508434, 37.825728000291789 ], [ -122.537285000357642, 37.830328000499257 ], [ -122.539986000498132, 37.831828000712576 ], [ -122.549186000317576, 37.834327000957742 ], [ -122.548985999792649, 37.836227000748707 ], [ -122.551086000318435, 37.840227000721939 ], [ -122.551540999431282, 37.841023000719062 ], [ -122.551886000295198, 37.841627000268687 ], [ -122.552487000102644, 37.841227000512944 ], [ -122.553187000348174, 37.842227001094244 ], [ -122.554086999667348, 37.841927000676613 ], [ -122.555286999692498, 37.842427000485493 ], [ -122.554687000076171, 37.844027000699214 ], [ -122.555586999490544, 37.844527000915271 ], [ -122.558486999558056, 37.845327000801809 ], [ -122.558986999424803, 37.84592700060437 ], [ -122.558386999947757, 37.84802700072008 ], [ -122.560186999396009, 37.848227000723924 ], [ -122.560086999894423, 37.848827001075065 ], [ -122.560887000241962, 37.849427000664114 ], [ -122.560787000283753, 37.850127000542813 ], [ -122.561787000369961, 37.851327000263773 ], [ -122.561486999723513, 37.851827000724498 ], [ -122.565986999991196, 37.854027000776448 ], [ -122.567187999738309, 37.853427000885318 ], [ -122.569887999459993, 37.853627000963684 ], [ -122.569688000391864, 37.854627000323156 ], [ -122.573287999845249, 37.856227000599127 ], [ -122.575287999651877, 37.858927001023659 ], [ -122.578187999911037, 37.859627000710155 ], [ -122.5790600004608, 37.859489000245219 ], [ -122.580087999876312, 37.8593270008719 ], [ -122.581087999915582, 37.857727001087561 ], [ -122.581788000094022, 37.85782700072091 ], [ -122.581988000138125, 37.858427000843022 ], [ -122.584289000297701, 37.859227000811401 ], [ -122.584689000361337, 37.860427001007267 ], [ -122.588388999607005, 37.861527001072567 ], [ -122.588289000061607, 37.862227000925834 ], [ -122.590001999619261, 37.864606000366727 ], [ -122.590088999703781, 37.864727000644194 ], [ -122.59348899948921, 37.867726000249917 ], [ -122.596388999721384, 37.871026000807895 ], [ -122.598431999683569, 37.872734000882673 ], [ -122.601122000194493, 37.874985000797849 ], [ -122.601290000404816, 37.875126001100014 ], [ -122.602390000017778, 37.875626000657796 ], [ -122.603689999807813, 37.875126000764247 ], [ -122.604589999854682, 37.875426001087938 ], [ -122.605170000519337, 37.875597000664527 ], [ -122.605734999730373, 37.875712000518192 ], [ -122.606131999529765, 37.875979000338639 ], [ -122.607443999432917, 37.876330000267792 ], [ -122.608741000351969, 37.876673000658464 ], [ -122.609611000511066, 37.876887001105473 ], [ -122.610679000041316, 37.877253000573887 ], [ -122.611166999746544, 37.877413000314945 ], [ -122.611625000394, 37.877306000520505 ], [ -122.612127999979492, 37.877230000629375 ], [ -122.612327000293803, 37.877314000538043 ], [ -122.612295999403713, 37.877459000237927 ], [ -122.612402999439482, 37.877673000286116 ], [ -122.612789999470621, 37.877926000650447 ], [ -122.613729999419959, 37.87788600079854 ], [ -122.614387999819044, 37.877589000719667 ], [ -122.61519600003605, 37.877467000451503 ], [ -122.616034999673857, 37.877139000895909 ], [ -122.616829000457273, 37.877116000637642 ], [ -122.617180000261413, 37.877093001064573 ], [ -122.617516000286912, 37.87683300071707 ], [ -122.617866999457391, 37.876803000464044 ], [ -122.619025999536788, 37.877085000895583 ], [ -122.619890999583944, 37.877426000315161 ], [ -122.620948999424925, 37.877924001062603 ], [ -122.621010000127839, 37.878100000368462 ], [ -122.62088799975011, 37.878527000420874 ], [ -122.62088800026531, 37.878863001048273 ], [ -122.621086000354239, 37.879092000899185 ], [ -122.621589999445064, 37.879313001072738 ], [ -122.621910000478408, 37.879465000268347 ], [ -122.622475000428835, 37.879900000684763 ], [ -122.623038999513611, 37.88033500057459 ], [ -122.623573000522128, 37.880602000705125 ], [ -122.62412299992819, 37.880740000854871 ], [ -122.624626000359299, 37.880618000981386 ], [ -122.624672000526957, 37.880511000677906 ], [ -122.624793999849075, 37.880389000648272 ], [ -122.624976999812873, 37.880488000681687 ], [ -122.625282000344157, 37.88057200085629 ], [ -122.625358999762099, 37.880457000732889 ], [ -122.625403999643368, 37.880358000530798 ], [ -122.625511000042863, 37.880282000529306 ], [ -122.625754999908821, 37.880228000606763 ], [ -122.626258999996338, 37.880427000706561 ], [ -122.626517999887668, 37.880434001084822 ], [ -122.626670999935698, 37.880663001079164 ], [ -122.627129000474824, 37.880785001020762 ], [ -122.627373000360933, 37.880862000423519 ], [ -122.627707999525228, 37.881197000454705 ], [ -122.628043999996748, 37.881388000522193 ], [ -122.628379999730498, 37.881503000813765 ], [ -122.628715999593751, 37.881632000995104 ], [ -122.628960000233164, 37.881831000251353 ], [ -122.628969000231194, 37.88196100108128 ], [ -122.6289749996956, 37.882044000293092 ], [ -122.628792000523632, 37.882204000529327 ], [ -122.628547999515092, 37.882388000801072 ], [ -122.62854799990842, 37.882723000834503 ], [ -122.628609000452428, 37.883013001056533 ], [ -122.6287309998865, 37.883356000978161 ], [ -122.62865400019966, 37.883570000595171 ], [ -122.628593000201306, 37.883753000737613 ], [ -122.628440999522311, 37.883929000756645 ], [ -122.628196999973767, 37.884241000598578 ], [ -122.6269909998271, 37.884626000463932 ], [ -122.626990999573536, 37.885726001000286 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1454, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.736898000464976, 37.925825000971471 ], [ -122.736327000051958, 37.926027001081678 ], [ -122.736006999766531, 37.926248000516267 ], [ -122.73583900007813, 37.926416000592738 ], [ -122.735549000209218, 37.926477000820178 ], [ -122.735229000387633, 37.926545000824675 ], [ -122.734997999426952, 37.926625001110942 ], [ -122.734847000466218, 37.926698000577311 ], [ -122.734755999413281, 37.926820000815617 ], [ -122.734817000377831, 37.927034000286156 ], [ -122.734797999778138, 37.927325000375426 ], [ -122.73339800002708, 37.928425000490797 ], [ -122.727597999419501, 37.932625000924872 ], [ -122.725509000438919, 37.934094000898604 ], [ -122.724896999488621, 37.93452500076414 ], [ -122.724654000271428, 37.934327000489667 ], [ -122.72428699959984, 37.934167000860874 ], [ -122.723706999759372, 37.934083000498624 ], [ -122.723204000065081, 37.933885000247834 ], [ -122.722882999970182, 37.933648001125555 ], [ -122.722548000230987, 37.9334350003138 ], [ -122.72195299960822, 37.933435001040174 ], [ -122.721266000401144, 37.933534001124947 ], [ -122.720670999500555, 37.933671000709438 ], [ -122.720060999760094, 37.933587000393608 ], [ -122.719054000152127, 37.933297000948926 ], [ -122.718045999929402, 37.933336001059466 ], [ -122.717100000040872, 37.933503000573033 ], [ -122.716185000111651, 37.933748000631667 ], [ -122.71549800001452, 37.933931000384128 ], [ -122.715025000506259, 37.934266001021442 ], [ -122.714797000165859, 37.934525000642786 ], [ -122.715024999933505, 37.935220000765561 ], [ -122.715558999956897, 37.935693001083173 ], [ -122.715864000265697, 37.936120001014999 ], [ -122.715758000489956, 37.936349000740293 ], [ -122.715177999599973, 37.936540000862799 ], [ -122.714551999675521, 37.936799000254915 ], [ -122.714397000310512, 37.936925000405267 ], [ -122.713971999547908, 37.937196000238615 ], [ -122.713484000310231, 37.937677000521184 ], [ -122.713331000416517, 37.938173000851123 ], [ -122.713269999884773, 37.938707000298272 ], [ -122.713254999883944, 37.939165000881225 ], [ -122.71368199970469, 37.939561000526837 ], [ -122.713834999499099, 37.939882000836782 ], [ -122.71360600040326, 37.940179000406665 ], [ -122.713497000442672, 37.940325001044904 ], [ -122.714155000446823, 37.941614000385748 ], [ -122.714396999975477, 37.942425001087017 ], [ -122.710497000384748, 37.945324000371755 ], [ -122.709096999830479, 37.946324001102383 ], [ -122.709134999820407, 37.946362000827335 ], [ -122.709197000005247, 37.946424000969003 ], [ -122.710796999865494, 37.947224001053492 ], [ -122.711040000319699, 37.947688000848949 ], [ -122.711318999738282, 37.948221000567528 ], [ -122.711464000013734, 37.948498000671556 ], [ -122.711766000461196, 37.949075001013533 ], [ -122.712258000052188, 37.950014000875598 ], [ -122.712341000388889, 37.950172000737496 ], [ -122.712646999439059, 37.950756000696856 ], [ -122.712997000385172, 37.951424000566028 ], [ -122.711713999831488, 37.951157000855019 ], [ -122.711104000160105, 37.951500001079197 ], [ -122.710279999471993, 37.95166000064485 ], [ -122.70922700051571, 37.951447000263464 ], [ -122.708753999573432, 37.951744001123743 ], [ -122.708356999585575, 37.952202001045819 ], [ -122.707686000124085, 37.952515000282041 ], [ -122.706449999616453, 37.953598000608658 ], [ -122.705763000342145, 37.95436100106182 ], [ -122.706096999779746, 37.95512400077741 ], [ -122.705503999952455, 37.95542900113329 ], [ -122.705167999840867, 37.955735000607554 ], [ -122.704038000301381, 37.957833000614315 ], [ -122.703595000434277, 37.958519000855524 ], [ -122.703061000131726, 37.958885000729055 ], [ -122.702648999918793, 37.959046000960058 ], [ -122.702053999395801, 37.959397000427693 ], [ -122.701290999967469, 37.960396000361904 ], [ -122.701016999816645, 37.961762000681333 ], [ -122.700787999489336, 37.962372001101755 ], [ -122.699887999456038, 37.963028001112882 ], [ -122.699307999846027, 37.963570000431709 ], [ -122.699276999619769, 37.964188000558693 ], [ -122.698864999740408, 37.964714000840367 ], [ -122.698040999981771, 37.965164000380696 ], [ -122.697293999865849, 37.965767000937333 ], [ -122.696774999986289, 37.965988000493397 ], [ -122.696180000195838, 37.966301000968912 ], [ -122.69604200026933, 37.966797000433246 ], [ -122.69561499962262, 37.967224001041821 ], [ -122.694295999820483, 37.968124000596625 ], [ -122.69363100005566, 37.967842000406613 ], [ -122.692517999756276, 37.967110001021034 ], [ -122.691693999594989, 37.966637000493797 ], [ -122.691235999402721, 37.966194000397657 ], [ -122.690549000085582, 37.966210000289102 ], [ -122.689144999416342, 37.965287000685677 ], [ -122.68859599977398, 37.964936000614905 ], [ -122.688657000242983, 37.964539000468982 ], [ -122.688336999461484, 37.964005000937327 ], [ -122.687847999652519, 37.963692000622821 ], [ -122.687787000261721, 37.963288000300977 ], [ -122.687497000179107, 37.963082000633079 ], [ -122.686918000011786, 37.963044000297934 ], [ -122.68645999963536, 37.96260900112425 ], [ -122.686170000199482, 37.962357000712856 ], [ -122.685818999759846, 37.9622420007858 ], [ -122.685008999767547, 37.961998000915671 ], [ -122.684429999925413, 37.961888000311205 ], [ -122.684095000077818, 37.961824000842562 ], [ -122.683697000102939, 37.961373000800684 ], [ -122.683574999913958, 37.960877000547342 ], [ -122.682841999772094, 37.960266000763582 ], [ -122.682553000104591, 37.959732000288071 ], [ -122.683147999482216, 37.959099000362222 ], [ -122.683682000143619, 37.958657000301031 ], [ -122.683594999936389, 37.958324000861779 ], [ -122.683514000388925, 37.958016000426213 ], [ -122.682750999859408, 37.957436001117728 ], [ -122.682185999997657, 37.956871000321108 ], [ -122.681956999490652, 37.956452000256078 ], [ -122.681759000166551, 37.956063001112497 ], [ -122.680966000175019, 37.95576500025674 ], [ -122.680676000212927, 37.95529200065755 ], [ -122.6801869994014, 37.954895000985914 ], [ -122.679485999456773, 37.954674000640118 ], [ -122.678555000155981, 37.954094001013502 ], [ -122.67762399972176, 37.953789000300993 ], [ -122.677058999584972, 37.953743000814484 ], [ -122.676541000039023, 37.953194000500361 ], [ -122.676479999500089, 37.952690000583594 ], [ -122.676098000371425, 37.952271000711526 ], [ -122.676095000031196, 37.951324000274106 ], [ -122.675503000357679, 37.951462001072905 ], [ -122.674832000200098, 37.951920000367224 ], [ -122.674420000025648, 37.951866001001733 ], [ -122.67396199968799, 37.951752000682539 ], [ -122.673656999794957, 37.951821000856427 ], [ -122.673294999699053, 37.95162400085475 ], [ -122.672801999925895, 37.95109600034602 ], [ -122.672694999590348, 37.950585000740674 ], [ -122.672649999944355, 37.95018000075774 ], [ -122.67167299979026, 37.949997000710113 ], [ -122.67103199994024, 37.949585000648547 ], [ -122.670650999670102, 37.949196000645536 ], [ -122.670314000462241, 37.949135000896888 ], [ -122.669855999765289, 37.94909700063257 ], [ -122.669688000383928, 37.949105000375269 ], [ -122.669246000142024, 37.948990000933293 ], [ -122.668787999451823, 37.948624000241622 ], [ -122.668620000372016, 37.94821200076133 ], [ -122.668895000414736, 37.947693000342348 ], [ -122.669001999463859, 37.947357000529969 ], [ -122.66919400044398, 37.947124000702914 ], [ -122.668909999784987, 37.946846000658489 ], [ -122.667794000463402, 37.946224000957429 ], [ -122.664683000233396, 37.94582400082048 ], [ -122.664378000424961, 37.945626000978699 ], [ -122.663828999921961, 37.94545800065216 ], [ -122.663370999532461, 37.945511000511715 ], [ -122.663065999555755, 37.945427001115341 ], [ -122.662654000103501, 37.945130000396489 ], [ -122.662165999768376, 37.944916001074169 ], [ -122.661982999640117, 37.944596000797844 ], [ -122.66175399990766, 37.944512000894697 ], [ -122.661250000444426, 37.944428000479903 ], [ -122.660883999881364, 37.944229000253536 ], [ -122.660593999745316, 37.943871000819435 ], [ -122.660349999934752, 37.94347400103149 ], [ -122.659801000525007, 37.943093000524243 ], [ -122.659403999529772, 37.942894000669867 ], [ -122.659144999743958, 37.942520001025812 ], [ -122.659037999919235, 37.942063000360129 ], [ -122.658687000337011, 37.941811000917554 ], [ -122.658564999418218, 37.941407001079632 ], [ -122.658168000309999, 37.94125400093067 ], [ -122.657909000267168, 37.941109000448677 ], [ -122.657709999757344, 37.941010000298846 ], [ -122.657594000307242, 37.94092400100773 ], [ -122.657496999961154, 37.940544000348453 ], [ -122.657297999657672, 37.940316000720337 ], [ -122.656824999843479, 37.939820000353656 ], [ -122.656444000243468, 37.939202000584473 ], [ -122.656398000346925, 37.938896000865952 ], [ -122.656393999738654, 37.938724000387005 ], [ -122.656321999502069, 37.938660000930895 ], [ -122.655993999922387, 37.938324000308242 ], [ -122.655558999866287, 37.937538000398881 ], [ -122.655254000300289, 37.937477000709677 ], [ -122.655040000029601, 37.937241001094129 ], [ -122.654824999706122, 37.93668500032765 ], [ -122.654749000369733, 37.936250000413963 ], [ -122.653863999563569, 37.936082000965961 ], [ -122.653040000211121, 37.935708000629162 ], [ -122.652262000169884, 37.935388000911367 ], [ -122.651819000365549, 37.935090000570881 ], [ -122.650919000232236, 37.934709000736618 ], [ -122.650384999406683, 37.934678000690134 ], [ -122.649148999972184, 37.934991000343572 ], [ -122.648278999550186, 37.934892000531498 ], [ -122.646341000432997, 37.934015000241651 ], [ -122.644793000049916, 37.933325000323521 ], [ -122.644495000353643, 37.932992000775002 ], [ -122.644052999743167, 37.932016000320729 ], [ -122.642907999424068, 37.930177000888619 ], [ -122.641977000256745, 37.928743000650869 ], [ -122.640435999743346, 37.926942000761116 ], [ -122.639536000351185, 37.926004000474883 ], [ -122.638893999871314, 37.92483600081372 ], [ -122.638591999541859, 37.924325000833875 ], [ -122.638284000327133, 37.924394000624375 ], [ -122.637672999524668, 37.92453900092498 ], [ -122.637108999791153, 37.924295000735555 ], [ -122.636224000316744, 37.923524000843365 ], [ -122.635506999838626, 37.923227000419942 ], [ -122.63425499943115, 37.922738000873913 ], [ -122.633599000405439, 37.922395000413168 ], [ -122.632119000014924, 37.921495001058126 ], [ -122.631401999671183, 37.921174001081944 ], [ -122.629997999838622, 37.920755000260378 ], [ -122.628960999596444, 37.920404000384586 ], [ -122.628491999530951, 37.920025000590499 ], [ -122.628243000208059, 37.919938000676588 ], [ -122.627831999955148, 37.919542000898019 ], [ -122.627464999903012, 37.918969000601862 ], [ -122.627392000463928, 37.918325000427309 ], [ -122.627465000258297, 37.91788600112713 ], [ -122.6276179997882, 37.917344000400668 ], [ -122.627511000172035, 37.916696000733594 ], [ -122.626793999880363, 37.916444000278261 ], [ -122.626106999648414, 37.91652800096724 ], [ -122.626016000467416, 37.916261000601011 ], [ -122.62584799956737, 37.915597000312466 ], [ -122.625633999450287, 37.914789000784666 ], [ -122.624962999967806, 37.914125000543613 ], [ -122.624673000265318, 37.913949000664566 ], [ -122.624414000014156, 37.913431000340182 ], [ -122.623833000450205, 37.913019000802116 ], [ -122.623649999564918, 37.91266000085983 ], [ -122.623862999701217, 37.912332000689602 ], [ -122.624306000017953, 37.911981000618368 ], [ -122.624590999693766, 37.911625001111972 ], [ -122.624260000264087, 37.911416000815493 ], [ -122.623405000213822, 37.911165000884779 ], [ -122.622566000397271, 37.910882000374606 ], [ -122.622200000437289, 37.910905000738403 ], [ -122.621361000429445, 37.910974001114582 ], [ -122.620353999613741, 37.910791000362721 ], [ -122.619605999638125, 37.910554000561369 ], [ -122.619408000234756, 37.910310000761413 ], [ -122.618873999889658, 37.909562000880776 ], [ -122.618050000323407, 37.909250000327958 ], [ -122.617331999849739, 37.909349000246564 ], [ -122.616356000214751, 37.909273000708353 ], [ -122.615591000025347, 37.909125000757747 ], [ -122.615135000215545, 37.909143000240412 ], [ -122.614616000510424, 37.909372000271503 ], [ -122.613609000376599, 37.910005000331758 ], [ -122.612632999869561, 37.910508000254708 ], [ -122.612091000266261, 37.910725000896605 ], [ -122.612021999866229, 37.909768000744656 ], [ -122.612311999556539, 37.90941700096711 ], [ -122.613349999827591, 37.908555000890445 ], [ -122.613426000106699, 37.908174001052309 ], [ -122.613609000271595, 37.907785001015711 ], [ -122.614159000401855, 37.906999000423852 ], [ -122.614264999838639, 37.906572000414954 ], [ -122.613654999563067, 37.90526700109708 ], [ -122.613411000507242, 37.904825000309629 ], [ -122.613191000026447, 37.904825000363871 ], [ -122.613045000074024, 37.905069000668732 ], [ -122.612999000114044, 37.905832000399919 ], [ -122.612861999782012, 37.906030000663115 ], [ -122.612984000332858, 37.906625000749777 ], [ -122.613013999593662, 37.906999000671611 ], [ -122.612800999799134, 37.907075000719757 ], [ -122.612404000086627, 37.906801000557238 ], [ -122.61216000049123, 37.906785000891624 ], [ -122.611626000173956, 37.90727400107361 ], [ -122.611350999699454, 37.907380000929088 ], [ -122.610923999883212, 37.907586000735591 ], [ -122.610527000199482, 37.907564001101022 ], [ -122.610190999616165, 37.907525000873768 ], [ -122.610007999706866, 37.907182001051467 ], [ -122.609749000296361, 37.906907000745392 ], [ -122.609276000019307, 37.906755001069577 ], [ -122.608817999852036, 37.906556000630047 ], [ -122.608481999778817, 37.906434000298354 ], [ -122.608161999435808, 37.906579000861818 ], [ -122.607962999629777, 37.906740000620999 ], [ -122.60777900044971, 37.906732000564951 ], [ -122.607672999703837, 37.906503000314551 ], [ -122.607489999685939, 37.906022000430525 ], [ -122.607184000444988, 37.905755000778392 ], [ -122.606894000413405, 37.905748001083005 ], [ -122.606634999428749, 37.905748001019496 ], [ -122.606574000043608, 37.905649000323407 ], [ -122.606452000108675, 37.905198000513067 ], [ -122.606299000333067, 37.905115001030204 ], [ -122.606025000010519, 37.905115000831152 ], [ -122.605749999867044, 37.905099000385221 ], [ -122.605628000411869, 37.904931000478342 ], [ -122.60547500049347, 37.904703000687107 ], [ -122.604772999602687, 37.904222000622447 ], [ -122.604559999989462, 37.904161000900515 ], [ -122.604254999647608, 37.904230000468687 ], [ -122.603933999679313, 37.904573000798884 ], [ -122.60368999958321, 37.904825000258548 ], [ -122.60361399966159, 37.904535000945053 ], [ -122.603736000038523, 37.904092000391152 ], [ -122.603964999997217, 37.903848000735991 ], [ -122.60419000042242, 37.903725001048613 ], [ -122.604575000503957, 37.903604000461563 ], [ -122.605079000057131, 37.903741001056098 ], [ -122.605947999668274, 37.903924000381906 ], [ -122.606315000114819, 37.90403900040431 ], [ -122.606619999752326, 37.904291000505992 ], [ -122.606909999452739, 37.904390001005986 ], [ -122.607290999706535, 37.904298000932201 ], [ -122.607902000089538, 37.904222000698731 ], [ -122.608313999942581, 37.904451001044613 ], [ -122.608665000198386, 37.904878001007297 ], [ -122.609046999480128, 37.905061000353918 ], [ -122.609474000181478, 37.905053001104243 ], [ -122.609990999652979, 37.90522500053055 ], [ -122.609748999681315, 37.904909000483059 ], [ -122.609061999686048, 37.90416100081179 ], [ -122.608497000245407, 37.903413000943928 ], [ -122.608130000335763, 37.902833001072331 ], [ -122.608023999915346, 37.902261000553565 ], [ -122.608206999720309, 37.901559000623656 ], [ -122.608496999826997, 37.900934001010839 ], [ -122.609092000050254, 37.900346001025419 ], [ -122.609559999905315, 37.899916000999127 ], [ -122.609748999836498, 37.899743000391929 ], [ -122.609992999502722, 37.899149000487412 ], [ -122.610312999889601, 37.898287000293145 ], [ -122.611000000002178, 37.897730000365229 ], [ -122.611549000515126, 37.897227000316775 ], [ -122.612511000070754, 37.896181001068499 ], [ -122.61353300044388, 37.895617000996594 ], [ -122.614815000513275, 37.895167000483042 ], [ -122.616081000474665, 37.894839000576411 ], [ -122.616508000520199, 37.894473000463854 ], [ -122.616935999841331, 37.893923000461882 ], [ -122.617804999734233, 37.893473000531962 ], [ -122.618858000115239, 37.892809000964284 ], [ -122.619637000509826, 37.892008000365905 ], [ -122.620246999429071, 37.891245000773097 ], [ -122.620796000015346, 37.890444000811705 ], [ -122.621300000458291, 37.889841001051508 ], [ -122.622062999520523, 37.889040000894369 ], [ -122.622414000269004, 37.888537000981053 ], [ -122.622917000087796, 37.887919000376478 ], [ -122.62349100038314, 37.887526000467908 ], [ -122.623603999406285, 37.887232000938496 ], [ -122.623954999923512, 37.886912000315185 ], [ -122.624900999921579, 37.886454000299629 ], [ -122.625861999923345, 37.886042000425824 ], [ -122.626990999573536, 37.885726001000286 ], [ -122.627112999531477, 37.886080001033982 ], [ -122.627601999494161, 37.886408000796152 ], [ -122.628090000408065, 37.886538000787688 ], [ -122.628547999853168, 37.886866000514807 ], [ -122.629158000359055, 37.887118000947829 ], [ -122.629861000237767, 37.887797000667831 ], [ -122.630166000200177, 37.88806400034499 ], [ -122.630532000423997, 37.888308001079743 ], [ -122.631081999411052, 37.889017000574079 ], [ -122.631478000071297, 37.889231000575386 ], [ -122.631691999477326, 37.889452000891346 ], [ -122.631752999662197, 37.889681000849883 ], [ -122.631706999619567, 37.889819000451766 ], [ -122.631477999539726, 37.890131000520761 ], [ -122.631523999517199, 37.890353000965995 ], [ -122.631707000472673, 37.890559000251692 ], [ -122.63201200013809, 37.890627001054732 ], [ -122.632333000227462, 37.890788000535288 ], [ -122.632545999968244, 37.891131000897211 ], [ -122.632791999908349, 37.891326000941994 ], [ -122.633096000224384, 37.891428001045774 ], [ -122.633340000174272, 37.891611000981356 ], [ -122.633415999575462, 37.891917000796383 ], [ -122.633447000103956, 37.892260000385967 ], [ -122.633781999764835, 37.892558000427883 ], [ -122.634026999952823, 37.89275600059257 ], [ -122.635399999589993, 37.89389300026847 ], [ -122.635979999570097, 37.894221000742789 ], [ -122.63620899986087, 37.894366000785041 ], [ -122.637277000525856, 37.895266000722124 ], [ -122.638345000082111, 37.895983000534059 ], [ -122.638558000403123, 37.896159000266849 ], [ -122.638908999727562, 37.896296000990581 ], [ -122.639581000296658, 37.896807001107135 ], [ -122.639977000524453, 37.897349001008976 ], [ -122.641136999840356, 37.897906000822189 ], [ -122.64193199995016, 37.898389001117835 ], [ -122.64199200015581, 37.898426000876128 ], [ -122.642358000456113, 37.898604001061805 ], [ -122.642571000084644, 37.898707000706288 ], [ -122.643083999661556, 37.898911000404993 ], [ -122.643318999439742, 37.899004000570571 ], [ -122.64362699974815, 37.899168000486597 ], [ -122.644066999813646, 37.899401000453103 ], [ -122.644189000169845, 37.899471001124283 ], [ -122.644663000492983, 37.899744000427845 ], [ -122.644746000521735, 37.899796000965125 ], [ -122.64533399941341, 37.900164000709374 ], [ -122.645922000381702, 37.900425000460174 ], [ -122.646295999801339, 37.900591000802102 ], [ -122.646825000519087, 37.900795000713252 ], [ -122.647348000206335, 37.900996000565428 ], [ -122.647927999532797, 37.90134600042542 ], [ -122.648371000126915, 37.901614000672886 ], [ -122.648691000140019, 37.901744000848893 ], [ -122.648965999640765, 37.901857000815546 ], [ -122.649301999924887, 37.901948000888652 ], [ -122.649375000212288, 37.901984000913004 ], [ -122.649927000120456, 37.902253000415307 ], [ -122.64998700037323, 37.902267000298075 ], [ -122.65041599966321, 37.902368000538168 ], [ -122.652193000287468, 37.902925000624585 ], [ -122.652933000150369, 37.903169000332163 ], [ -122.653573999480486, 37.903474000614544 ], [ -122.654443999575918, 37.903795001050547 ], [ -122.65537499955137, 37.904161000762066 ], [ -122.656519000070773, 37.904519000242715 ], [ -122.657769999925691, 37.904703000832484 ], [ -122.659326999913048, 37.905015000856707 ], [ -122.66074699968668, 37.905275000456022 ], [ -122.661922000233631, 37.90554200091308 ], [ -122.662973999457691, 37.905893001047872 ], [ -122.663874999543964, 37.906076000769467 ], [ -122.664790000030365, 37.906152000418523 ], [ -122.667794000064987, 37.905825000973515 ], [ -122.668879999440676, 37.905931000485154 ], [ -122.669932999844931, 37.90590000067823 ], [ -122.671824999515508, 37.905809000662636 ], [ -122.672786000019485, 37.906007000693869 ], [ -122.675119999595381, 37.906053000790536 ], [ -122.677318000044664, 37.906305000473537 ], [ -122.678474000286471, 37.906604000690386 ], [ -122.678493999457075, 37.906610000301043 ], [ -122.679530999554117, 37.907167000364915 ], [ -122.680675999892202, 37.90802100062632 ], [ -122.681071999393723, 37.908479000402451 ], [ -122.681163999526149, 37.908853000985253 ], [ -122.681118000501229, 37.909120001118296 ], [ -122.680894999948805, 37.909225000307302 ], [ -122.680202999711483, 37.909265001045014 ], [ -122.678997000489474, 37.908853000827769 ], [ -122.67773099957779, 37.908288000353259 ], [ -122.676295000181355, 37.90796800066385 ], [ -122.676402000028375, 37.907739000412718 ], [ -122.674540999503847, 37.908098000903045 ], [ -122.67298399996092, 37.90858600079072 ], [ -122.67092400044659, 37.909074000587196 ], [ -122.669139000100643, 37.908868000964461 ], [ -122.667793999531042, 37.90892500056966 ], [ -122.667262000102525, 37.908845000851251 ], [ -122.666910999785685, 37.908784000370808 ], [ -122.666469000088966, 37.908761000302832 ], [ -122.666147999684483, 37.908769000479921 ], [ -122.665125999436299, 37.908632000798939 ], [ -122.662593000070203, 37.908258000631541 ], [ -122.660854000056332, 37.907808000955306 ], [ -122.659814999984079, 37.907472000938419 ], [ -122.657846999959403, 37.907327000485317 ], [ -122.65651899969933, 37.906930000663159 ], [ -122.655297999727878, 37.90648000087409 ], [ -122.653620000278764, 37.905862000280763 ], [ -122.652323000413659, 37.905389000716887 ], [ -122.651162999683692, 37.904825001090941 ], [ -122.650892999958316, 37.904725000744229 ], [ -122.65059899989123, 37.904878001095263 ], [ -122.650247999877706, 37.905137000930445 ], [ -122.649835999670685, 37.905374000464796 ], [ -122.649576000354301, 37.905809000887636 ], [ -122.649363000050059, 37.906091000794554 ], [ -122.649056999911011, 37.906122000248224 ], [ -122.648893000039592, 37.906125000980616 ], [ -122.648751999920009, 37.905938000320937 ], [ -122.64869100023769, 37.905641000255244 ], [ -122.649119000027, 37.905176000919887 ], [ -122.649636999989809, 37.904931000461453 ], [ -122.64983600013133, 37.904847001098396 ], [ -122.649892999960443, 37.90472500028082 ], [ -122.649652999437635, 37.904352000377891 ], [ -122.648996000501967, 37.904031000604895 ], [ -122.648309999582011, 37.903886000304986 ], [ -122.647882999431673, 37.903665001026674 ], [ -122.647364000488267, 37.903505000431409 ], [ -122.647042999583334, 37.903291000568309 ], [ -122.645777000386602, 37.902818001060595 ], [ -122.645563000471398, 37.902780000642231 ], [ -122.645392999516616, 37.902825000685191 ], [ -122.645365000016284, 37.903055000356602 ], [ -122.645639999548152, 37.903306000796505 ], [ -122.646113000142108, 37.903413000408044 ], [ -122.646447999683915, 37.903848000479705 ], [ -122.646601000087699, 37.904107000710646 ], [ -122.647287000181763, 37.904367000678697 ], [ -122.64756199948819, 37.904588000413874 ], [ -122.647836999853595, 37.905107000960498 ], [ -122.648217999763702, 37.905961001116971 ], [ -122.648522999594988, 37.906305000337632 ], [ -122.648693000276424, 37.906425000444912 ], [ -122.648874000230222, 37.906495001044533 ], [ -122.649393000434131, 37.906808000568013 ], [ -122.649819999632129, 37.906907000614815 ], [ -122.650292999882367, 37.906839000500732 ], [ -122.650751000171027, 37.906755000962129 ], [ -122.651072000303344, 37.906938000329802 ], [ -122.651620999893794, 37.907403000305948 ], [ -122.652215999484, 37.907800000753035 ], [ -122.652567000467641, 37.908067001112023 ], [ -122.652780999863111, 37.908449000587765 ], [ -122.653071000243287, 37.90870000073749 ], [ -122.653680999964891, 37.908906001113841 ], [ -122.654200000245709, 37.909059000453951 ], [ -122.654443999600332, 37.909273000684721 ], [ -122.654795000020798, 37.909761000291304 ], [ -122.655375000341806, 37.909936001018785 ], [ -122.65572599978286, 37.909967000965956 ], [ -122.656473000242002, 37.909768000881407 ], [ -122.657007000241947, 37.909883000374144 ], [ -122.657496000176863, 37.910287000783157 ], [ -122.65752599958229, 37.910623000705058 ], [ -122.657830999490074, 37.910951001017558 ], [ -122.657993000346863, 37.911025000808607 ], [ -122.658747000305212, 37.911294000244077 ], [ -122.65980099973487, 37.911462001090761 ], [ -122.660304000431651, 37.911569000631971 ], [ -122.660976000081973, 37.912156000691176 ], [ -122.661432999983688, 37.912416000901153 ], [ -122.661952000441701, 37.912599000950102 ], [ -122.662493999782669, 37.913025000937424 ], [ -122.662882999475997, 37.91313300091528 ], [ -122.663355999513769, 37.913385000777971 ], [ -122.663599999753615, 37.913621000694789 ], [ -122.663904999628684, 37.914567000728404 ], [ -122.664012000465135, 37.91517000054754 ], [ -122.664302000424613, 37.915605001023174 ], [ -122.665019000332336, 37.916124000308116 ], [ -122.666147999477047, 37.917161001019878 ], [ -122.667794000424834, 37.917825000352387 ], [ -122.668101000180172, 37.917650000579158 ], [ -122.668467999568179, 37.917741000843776 ], [ -122.668879999932898, 37.917917000999807 ], [ -122.669413999642529, 37.918046000842132 ], [ -122.669947999510228, 37.918168000577957 ], [ -122.670557999930224, 37.918405000986439 ], [ -122.670940000420728, 37.918558000731458 ], [ -122.671093999865178, 37.918725000253801 ], [ -122.671488999960374, 37.919038000659079 ], [ -122.671854999680505, 37.919420000715746 ], [ -122.671900999977794, 37.919885000812144 ], [ -122.671808999487425, 37.920266000822906 ], [ -122.67171799980558, 37.920534000516923 ], [ -122.671947000304058, 37.920846000773786 ], [ -122.672160000482521, 37.920877000528861 ], [ -122.672450000187425, 37.920900000698516 ], [ -122.672801000064126, 37.921197000475587 ], [ -122.673090999418733, 37.921434000671475 ], [ -122.67373199942972, 37.921930001087311 ], [ -122.673990999978102, 37.922166000988099 ], [ -122.67434200048919, 37.922502000715276 ], [ -122.674616999533868, 37.92286800079038 ], [ -122.674922000508943, 37.923471001032411 ], [ -122.675244000084419, 37.923936000917607 ], [ -122.675395000267869, 37.924225000550599 ], [ -122.675914999414985, 37.924516000954007 ], [ -122.676327000225783, 37.924730000702183 ], [ -122.676738999526592, 37.924974000506708 ], [ -122.677151000318958, 37.925065000832006 ], [ -122.677608999994845, 37.924966000530468 ], [ -122.678172999418067, 37.924898001000273 ], [ -122.678494000449632, 37.924913000844754 ], [ -122.678981999610087, 37.924943000622982 ], [ -122.679423999700404, 37.924997000830921 ], [ -122.679791000276552, 37.925065000691148 ], [ -122.680172000357331, 37.925294000270554 ], [ -122.68047700008637, 37.92559900063447 ], [ -122.680706000163298, 37.925928001078503 ], [ -122.680782999665681, 37.926126000698915 ], [ -122.680935000241675, 37.92626300100217 ], [ -122.681057000382509, 37.926378000238294 ], [ -122.681316999516085, 37.926698001091211 ], [ -122.681590999653679, 37.926874001036069 ], [ -122.681820000455957, 37.927080000954241 ], [ -122.682109999452052, 37.927354000486446 ], [ -122.682338999527843, 37.927591000417372 ], [ -122.682460999448324, 37.927842000395401 ], [ -122.682552999600617, 37.928041000965649 ], [ -122.682460999423313, 37.928323000414984 ], [ -122.682430000210971, 37.928491000653601 ], [ -122.682446000035398, 37.928705001055967 ], [ -122.68235399993921, 37.928933000950387 ], [ -122.682324000135679, 37.929109001053035 ], [ -122.682194999919531, 37.929325001086802 ], [ -122.682353999616709, 37.92936100098408 ], [ -122.682491000127882, 37.929445000294251 ], [ -122.682643999882217, 37.929597000417978 ], [ -122.682781000364145, 37.929727000706542 ], [ -122.68285799971936, 37.929803001047269 ], [ -122.68310199968505, 37.929857000761061 ], [ -122.683422000279933, 37.929902000402961 ], [ -122.683794999921091, 37.929925000326399 ], [ -122.683880000489978, 37.930024000975372 ], [ -122.684170000381243, 37.930223001081842 ], [ -122.684338000119595, 37.930192001079938 ], [ -122.684582000254139, 37.930124000818275 ], [ -122.684979000348122, 37.930101000515144 ], [ -122.685391000292867, 37.930024000787867 ], [ -122.686198999904207, 37.930093001112169 ], [ -122.686763999687528, 37.930108000622738 ], [ -122.687069000414709, 37.93005500102327 ], [ -122.687678999571048, 37.930162000365954 ], [ -122.688076000191799, 37.930223000450425 ], [ -122.688763000139275, 37.930375000848827 ], [ -122.689236000427854, 37.930566001055141 ], [ -122.68949499966142, 37.930765000813594 ], [ -122.689479999803012, 37.930986000807131 ], [ -122.689434000096995, 37.931123000990013 ], [ -122.689221000380797, 37.93129100108294 ], [ -122.689038000092424, 37.931436000542902 ], [ -122.688915000047899, 37.931535001109367 ], [ -122.688795000257642, 37.931725000842405 ], [ -122.688899999458627, 37.931955001108079 ], [ -122.689037999580464, 37.932115000912219 ], [ -122.689555999409365, 37.932222000637751 ], [ -122.689892000313861, 37.932268001006626 ], [ -122.69025800029857, 37.932283000854504 ], [ -122.690594000136869, 37.93228300061449 ], [ -122.690944999886028, 37.932229000636951 ], [ -122.691235999466386, 37.9323360004406 ], [ -122.691387999754383, 37.932496000874195 ], [ -122.691632000433202, 37.932718000914491 ], [ -122.692106000080571, 37.933030000314361 ], [ -122.692532999708291, 37.933175000749493 ], [ -122.693218999530075, 37.933114000511743 ], [ -122.693829999998783, 37.933046000872807 ], [ -122.694364000241649, 37.933053000521561 ], [ -122.694730000323318, 37.933114000389018 ], [ -122.695417000002166, 37.933381000793631 ], [ -122.695737000512437, 37.93354200084746 ], [ -122.696042000013506, 37.933725000698672 ], [ -122.69630199969032, 37.933839001098612 ], [ -122.696495999645549, 37.933925000464789 ], [ -122.697156000180783, 37.934045000635152 ], [ -122.69739999940353, 37.934106000819384 ], [ -122.697643999929056, 37.934144000302105 ], [ -122.697843000367186, 37.934007000565757 ], [ -122.697965000104858, 37.933915001120262 ], [ -122.698147999545512, 37.933709000646793 ], [ -122.698296000282639, 37.933425001124775 ], [ -122.698362000240792, 37.933114001076348 ], [ -122.698315999938288, 37.932603000836309 ], [ -122.698162999428149, 37.932100000939315 ], [ -122.697843000512805, 37.931489000467806 ], [ -122.697278000291192, 37.930909001000558 ], [ -122.697096000370493, 37.930525000817063 ], [ -122.696591999491702, 37.930368000563291 ], [ -122.696347000382488, 37.93033000082648 ], [ -122.69576800035081, 37.928941000830179 ], [ -122.695507999841283, 37.928285001020441 ], [ -122.695568999463262, 37.927797000560993 ], [ -122.695081000374358, 37.926080000851549 ], [ -122.694654000060495, 37.925363000597898 ], [ -122.69441000025779, 37.92503500036868 ], [ -122.694028000472045, 37.924371000973636 ], [ -122.693479000390028, 37.923738000913183 ], [ -122.692990999504488, 37.923326000782893 ], [ -122.692470999607565, 37.922883000451534 ], [ -122.691890999808166, 37.922670000870376 ], [ -122.691357000035538, 37.922685000731448 ], [ -122.690929999613004, 37.922761000615616 ], [ -122.690623999500886, 37.923005001004292 ], [ -122.690335000125145, 37.923219000532043 ], [ -122.690060000350883, 37.923242000578966 ], [ -122.689816000159595, 37.923143000805375 ], [ -122.689632999748, 37.922883001116993 ], [ -122.689662999480035, 37.922624001043346 ], [ -122.689709000489344, 37.922426000673511 ], [ -122.689663000404082, 37.922258000784595 ], [ -122.689678000078501, 37.921998000338469 ], [ -122.689662999486799, 37.921815000743415 ], [ -122.689388000271663, 37.921769000309681 ], [ -122.689037999905793, 37.92181500033837 ], [ -122.688808999632784, 37.922044000875353 ], [ -122.688626000168, 37.922227000517459 ], [ -122.68824399965419, 37.922136000830363 ], [ -122.688091000304937, 37.921991000979403 ], [ -122.687795000183996, 37.92182500083802 ], [ -122.687694999466103, 37.921647000299032 ], [ -122.687801999553699, 37.921304001128448 ], [ -122.687985000294091, 37.920892000731605 ], [ -122.688213999554122, 37.920556000443511 ], [ -122.688350999559376, 37.920396000603866 ], [ -122.688487999944158, 37.920297000514537 ], [ -122.688197999894285, 37.919984000944211 ], [ -122.687588000188754, 37.919343000786469 ], [ -122.687435000321344, 37.919053000824839 ], [ -122.687541999914004, 37.918809000435594 ], [ -122.687785999496484, 37.918443000374452 ], [ -122.68801500047185, 37.917764000958115 ], [ -122.687984999636427, 37.916658000892255 ], [ -122.687892999930099, 37.916452001086782 ], [ -122.688122000137383, 37.916108000768439 ], [ -122.688167999585033, 37.915819001060093 ], [ -122.687923999897109, 37.915300000647107 ], [ -122.687694999599756, 37.914895000736934 ], [ -122.686994999533098, 37.913925000933915 ], [ -122.686671999491821, 37.913286000382563 ], [ -122.686183999591918, 37.912942000708178 ], [ -122.685939999878912, 37.912767000581638 ], [ -122.685771999582357, 37.912507000275767 ], [ -122.685481999472714, 37.912179000544036 ], [ -122.685069999724263, 37.911882001093019 ], [ -122.684825999602637, 37.911676001118522 ], [ -122.684673000108091, 37.911249000498472 ], [ -122.684520999410907, 37.910905000371763 ], [ -122.684353000284659, 37.910653000623292 ], [ -122.683895000495482, 37.910425000666159 ], [ -122.683330999546854, 37.91040200025585 ], [ -122.682797000421374, 37.910333000825723 ], [ -122.682446000222498, 37.91020300073712 ], [ -122.682079000101425, 37.910051000706126 ], [ -122.681895000325326, 37.909825000890308 ], [ -122.681911999792277, 37.909395000332971 ], [ -122.682017999591864, 37.908983000351014 ], [ -122.682109999703599, 37.90883000073184 ], [ -122.682078999869418, 37.908647000749113 ], [ -122.682078999804162, 37.908426000933936 ], [ -122.682145999843357, 37.908346000381918 ], [ -122.682232000465206, 37.90824300032542 ], [ -122.682353999562579, 37.908006000941477 ], [ -122.682292999410237, 37.907640001032931 ], [ -122.682170999783153, 37.907274000405657 ], [ -122.682202000255387, 37.906808000708928 ], [ -122.682170999555936, 37.906450000491645 ], [ -122.682277999995748, 37.906305000562433 ], [ -122.682537000138197, 37.906144000613331 ], [ -122.682980000169536, 37.905885000740128 ], [ -122.683294999846694, 37.905525001135601 ], [ -122.683711999551591, 37.905298000406788 ], [ -122.68459699972361, 37.905046000996798 ], [ -122.686061999466261, 37.9044280007518 ], [ -122.686810000147943, 37.904207000661373 ], [ -122.687358999866561, 37.904115000628899 ], [ -122.687877999455424, 37.903704001070551 ], [ -122.688899999926647, 37.903147000257306 ], [ -122.690684999591014, 37.90217800039111 ], [ -122.691630999675141, 37.901873000726745 ], [ -122.692866999622623, 37.901530000813565 ], [ -122.69356899961474, 37.901171000521551 ], [ -122.694561000497103, 37.900546000423994 ], [ -122.695812000150639, 37.899691001103122 ], [ -122.696420000104339, 37.899292000462061 ], [ -122.696545000148475, 37.899210000527049 ], [ -122.697492000402107, 37.898875000388351 ], [ -122.698620999397093, 37.898104000261505 ], [ -122.699308000397892, 37.897547000963456 ], [ -122.700055000331716, 37.896815000316401 ], [ -122.700039999588725, 37.896288000965804 ], [ -122.700101000259735, 37.895968000985029 ], [ -122.700085999908666, 37.895701000438748 ], [ -122.700296000253601, 37.894826000513277 ], [ -122.700412999883497, 37.894598000963143 ], [ -122.700509999514324, 37.8944110002573 ], [ -122.701361999419603, 37.894056000914482 ], [ -122.702640000281932, 37.893820000594104 ], [ -122.704912999974411, 37.894174000327617 ], [ -122.707397999625456, 37.89500500057602 ], [ -122.709811999659848, 37.89625500095206 ], [ -122.710895999462593, 37.897326000770875 ], [ -122.711132999926591, 37.897623000417475 ], [ -122.711376999918073, 37.898051000376668 ], [ -122.711713000123865, 37.898440000463182 ], [ -122.71201800025743, 37.898859001104739 ], [ -122.71218600025469, 37.899210000730172 ], [ -122.712461000212301, 37.899699000394108 ], [ -122.712751000372393, 37.900019000299594 ], [ -122.713295999569382, 37.900026000922217 ], [ -122.713559000182187, 37.900278000987257 ], [ -122.714171000501466, 37.900492000507072 ], [ -122.714734999647973, 37.900713000811059 ], [ -122.715284999995632, 37.900668000999957 ], [ -122.716092999927127, 37.900858000399651 ], [ -122.716296999425765, 37.900926000722336 ], [ -122.717312739928019, 37.901202810009593 ], [ -122.718221320800026, 37.901638928743722 ], [ -122.720038481553203, 37.901711615101327 ], [ -122.721128778141534, 37.90182064440539 ], [ -122.721964672506203, 37.901747957949354 ], [ -122.722364448041361, 37.901711614698847 ], [ -122.723636461297289, 37.902329449636596 ], [ -122.724217952531788, 37.90254750912424 ], [ -122.724835787243677, 37.902511166170306 ], [ -122.725562651431645, 37.90262019563712 ], [ -122.726507575032841, 37.903238030477581 ], [ -122.727307125861529, 37.903819522073931 ], [ -122.727307126168668, 37.904655415866557 ], [ -122.727525185748803, 37.90534593700265 ], [ -122.727556801123001, 37.905647004497148 ], [ -122.727781626798503, 37.906059183532932 ], [ -122.727781626593625, 37.906396420959453 ], [ -122.727687949356678, 37.906658716542772 ], [ -122.727669213925324, 37.907220779067288 ], [ -122.728175069919615, 37.908607199463923 ], [ -122.728506452752612, 37.909271004962342 ], [ -122.728433765879714, 37.909852496638713 ], [ -122.728651825241684, 37.910615704160499 ], [ -122.729160630727534, 37.91137891183412 ], [ -122.729669435766311, 37.911924060054865 ], [ -122.730396300527602, 37.912723611241361 ], [ -122.73061435945371, 37.913450475248332 ], [ -122.730650702092376, 37.914250026640453 ], [ -122.73101413438539, 37.915485695563902 ], [ -122.731704656145169, 37.917302856680614 ], [ -122.731715236927272, 37.917948063947534 ], [ -122.732582643653231, 37.919200984928054 ], [ -122.732775400697022, 37.920261148674513 ], [ -122.733450051102835, 37.921128555519786 ], [ -122.734702971259125, 37.92257423391699 ], [ -122.735955893413347, 37.923827154932347 ], [ -122.736437785823213, 37.92527283308084 ], [ -122.736898000464976, 37.925825000971471 ] ] ], [ [ [ -122.678895000232671, 37.911525000487764 ], [ -122.679286999618569, 37.911500001005265 ], [ -122.679668999912408, 37.911500000304514 ], [ -122.680218000222737, 37.911470000896905 ], [ -122.680660000074923, 37.911493000731781 ], [ -122.681041999523984, 37.911592000689232 ], [ -122.681286000031093, 37.911653001020909 ], [ -122.681590999935224, 37.911699000611364 ], [ -122.681834999872351, 37.911577000724101 ], [ -122.681894999906532, 37.911325000747084 ], [ -122.682002999654799, 37.911271000974423 ], [ -122.682216999463932, 37.911111000621268 ], [ -122.682522000077739, 37.91102700056399 ], [ -122.682903000228976, 37.910974001024265 ], [ -122.683239000298073, 37.910989000324847 ], [ -122.683543999830235, 37.911035000263446 ], [ -122.683894999592638, 37.911125000967658 ], [ -122.684199999589808, 37.911462001117563 ], [ -122.684352999657563, 37.911928000691162 ], [ -122.684395000345717, 37.91222500068789 ], [ -122.684367999514748, 37.912416000296403 ], [ -122.684384000518534, 37.912973000664763 ], [ -122.684295000350872, 37.913325000807241 ], [ -122.68409400044473, 37.913293000695134 ], [ -122.683895000521133, 37.913164000500437 ], [ -122.683743000477023, 37.912950000289669 ], [ -122.683589999510957, 37.912759001065801 ], [ -122.683513999867799, 37.912546000689332 ], [ -122.683453000188308, 37.912324000561107 ], [ -122.683331000072286, 37.912179001091339 ], [ -122.683117000517527, 37.912225000697852 ], [ -122.682887999414802, 37.912172000352435 ], [ -122.68265899942746, 37.912073000812924 ], [ -122.682445999966518, 37.911989001074545 ], [ -122.682232000248689, 37.912080000986435 ], [ -122.681972999863362, 37.912439000360614 ], [ -122.681973000171922, 37.91279700032657 ], [ -122.682049000065348, 37.913148000616061 ], [ -122.682217000346867, 37.913400000841946 ], [ -122.682232000416121, 37.913675000891963 ], [ -122.682049000140466, 37.913896001089526 ], [ -122.681834999782708, 37.91422400061721 ], [ -122.681795000356345, 37.914325000283625 ], [ -122.681300999869862, 37.914171000577831 ], [ -122.681179000144454, 37.914071000823085 ], [ -122.68094999965777, 37.913774000445578 ], [ -122.68069099968784, 37.913530000278712 ], [ -122.680278999507351, 37.913362000712013 ], [ -122.67986699953947, 37.913438000498118 ], [ -122.679333000156717, 37.913576000399914 ], [ -122.678936000115513, 37.913568000596136 ], [ -122.678585000513962, 37.913438000767371 ], [ -122.678234000296086, 37.913316000727924 ], [ -122.677868000465068, 37.913171000678808 ], [ -122.677501999546067, 37.913080000867168 ], [ -122.677119999892355, 37.912996000587739 ], [ -122.676794000220823, 37.912925000894987 ], [ -122.676264999632423, 37.913041000784965 ], [ -122.676051000243419, 37.913102000475462 ], [ -122.675104999431383, 37.913133000514854 ], [ -122.674647000400071, 37.912858000662212 ], [ -122.674403000408716, 37.912591000817706 ], [ -122.674251000451321, 37.912279000858732 ], [ -122.674294000444675, 37.911925000930857 ], [ -122.674480000341674, 37.911615000548828 ], [ -122.67463200034274, 37.911401000673855 ], [ -122.674907000374048, 37.911195000548716 ], [ -122.675288000106704, 37.91098900023875 ], [ -122.675655000416654, 37.910867000935994 ], [ -122.675990000215009, 37.910844000430721 ], [ -122.67644799980846, 37.910966000345006 ], [ -122.676860000445743, 37.911165000952018 ], [ -122.677287999738098, 37.911279000910007 ], [ -122.677685000340432, 37.911302000283783 ], [ -122.677868000043688, 37.911241001077919 ], [ -122.678188999465078, 37.911325000709049 ], [ -122.678895000232671, 37.911525000487764 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1416, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.950110035815754, 38.108797020308991 ], [ -122.951153009012785, 38.108842944659642 ], [ -122.951733013408187, 38.109049068944387 ], [ -122.952224989001209, 38.10950694777884 ], [ -122.954050979284588, 38.111635947612903 ], [ -122.954630023770136, 38.112002033042465 ], [ -122.955934984224768, 38.113650027854476 ], [ -122.955934969638903, 38.113970965336861 ], [ -122.955702978985869, 38.114130994779075 ], [ -122.955732039048158, 38.114268027300206 ], [ -122.956398027677992, 38.114749048805869 ], [ -122.956428009071814, 38.115138015247005 ], [ -122.956745975373238, 38.115481038651694 ], [ -122.956746018566108, 38.115710018131232 ], [ -122.956428005551146, 38.115893957297516 ], [ -122.956660031646408, 38.117037954497398 ], [ -122.957008019133383, 38.117725020530251 ], [ -122.957818977709138, 38.118342967315705 ], [ -122.958253983901002, 38.119006965632295 ], [ -122.958254042913268, 38.119372966430468 ], [ -122.957790990490381, 38.119738942563195 ], [ -122.95744296091047, 38.119556027875049 ], [ -122.95666000534024, 38.118892039603594 ], [ -122.956226001773089, 38.118664025954295 ], [ -122.954632039456953, 38.118251934385682 ], [ -122.953472974392142, 38.118068973564931 ], [ -122.953124982261457, 38.11827500115934 ], [ -122.953327993875533, 38.119144949987103 ], [ -122.953212011041046, 38.119327974651874 ], [ -122.952806019301605, 38.119488069623195 ], [ -122.951879026279528, 38.119579933111417 ], [ -122.951212977253306, 38.120106057313421 ], [ -122.950460005810697, 38.121045036009747 ], [ -122.949735028280983, 38.121686038914348 ], [ -122.947851968866431, 38.121800975197729 ], [ -122.947156030952968, 38.1220530201619 ], [ -122.946054989440867, 38.122783957588155 ], [ -122.945852002834712, 38.123310966919775 ], [ -122.945040979440435, 38.123792066146855 ], [ -122.944722001534046, 38.124460969263446 ], [ -122.944389983493977, 38.124922009711 ], [ -122.943969027192807, 38.125353011385478 ], [ -122.943621028927382, 38.125835024669811 ], [ -122.943390025764103, 38.126017984165323 ], [ -122.942751989160641, 38.126246935673414 ], [ -122.942462026734901, 38.126589980914218 ], [ -122.941477022170787, 38.126979012169329 ], [ -122.940490963066424, 38.127116946320037 ], [ -122.939679010318216, 38.127116954694145 ], [ -122.939157989285917, 38.127025009923202 ], [ -122.939042009032022, 38.126932992058421 ], [ -122.938925957386203, 38.126499054576229 ], [ -122.938926002467895, 38.126337952505715 ], [ -122.939563009611504, 38.126291950999558 ], [ -122.941128968511052, 38.125835069719557 ], [ -122.942607038340938, 38.125696949098 ], [ -122.942839040367545, 38.125605949384536 ], [ -122.942954970666321, 38.125421949375955 ], [ -122.942912040198166, 38.124922004951777 ], [ -122.942578007688823, 38.12440994854601 ], [ -122.942606995391003, 38.124043962268892 ], [ -122.943099957138017, 38.123516958593122 ], [ -122.943185987456189, 38.123265066836183 ], [ -122.94394002144405, 38.122486956215525 ], [ -122.944084998672139, 38.12218904254604 ], [ -122.944230031001624, 38.121114063917808 ], [ -122.944489998523537, 38.120793954070123 ], [ -122.945301976693216, 38.120427066822778 ], [ -122.945909959153425, 38.119900949453353 ], [ -122.946170995356553, 38.119808970661175 ], [ -122.947040004629685, 38.11992399606752 ], [ -122.948025030797965, 38.119832055631811 ], [ -122.948894986450881, 38.119488968320319 ], [ -122.950603976024681, 38.119419991546273 ], [ -122.951242015867265, 38.119328018554349 ], [ -122.951734034566343, 38.119007988642387 ], [ -122.95182103967646, 38.118847062868674 ], [ -122.951733986109517, 38.117862951054676 ], [ -122.951647044396552, 38.117794052505637 ], [ -122.951792013200347, 38.117176036724551 ], [ -122.951762963020698, 38.116626953020891 ], [ -122.951502041455555, 38.11616902757433 ], [ -122.950922017957993, 38.115641965004031 ], [ -122.950864032035781, 38.115459010682279 ], [ -122.950081992696809, 38.114910031558338 ], [ -122.949705003562613, 38.114521056284218 ], [ -122.948836016512388, 38.113948936427057 ], [ -122.94654701977781, 38.111751065464333 ], [ -122.945851010283818, 38.111498953686301 ], [ -122.945850991902503, 38.11104099443034 ], [ -122.945735044748545, 38.110927014416148 ], [ -122.945764041185086, 38.110400064802903 ], [ -122.946257027383126, 38.109805028681699 ], [ -122.946402014724328, 38.109324040404658 ], [ -122.94669101725195, 38.109324031057035 ], [ -122.947213030890339, 38.109484946831294 ], [ -122.947705016659, 38.109393067985579 ], [ -122.948401026887723, 38.109118064922065 ], [ -122.950110035815754, 38.108797020308991 ] ], [ [ -122.994504034554922, 38.229498984870752 ], [ -122.994214019705424, 38.229522065585392 ], [ -122.993517992990334, 38.23007193538141 ], [ -122.993692966450553, 38.230896029554259 ], [ -122.993953972334509, 38.230918997114017 ], [ -122.994331039438578, 38.230712009034974 ], [ -122.994823958609047, 38.230643029505991 ], [ -122.995172017170972, 38.230346052796023 ], [ -122.995172039913214, 38.230002027013448 ], [ -122.994504034554922, 38.229498984870752 ] ], [ [ -122.786165996753056, 37.946961937198161 ], [ -122.785818989101458, 37.947008060803746 ], [ -122.785674032679964, 37.947350993682768 ], [ -122.785674013512079, 37.947877970450264 ], [ -122.785933972074758, 37.947831970597392 ], [ -122.786483024194567, 37.94744301667096 ], [ -122.78654099542014, 37.947167944747967 ], [ -122.786165996753056, 37.946961937198161 ] ], [ [ -122.736897979290433, 37.92582495608449 ], [ -122.736327004913321, 37.926027033764655 ], [ -122.736006996996849, 37.926247979554837 ], [ -122.735839008069945, 37.926416032832122 ], [ -122.735548993866544, 37.926477064122174 ], [ -122.73522899673091, 37.926545068639207 ], [ -122.73499802872648, 37.926624961519778 ], [ -122.734847001205694, 37.926697992692624 ], [ -122.734755979125083, 37.926820026231574 ], [ -122.734816992769566, 37.927033940557955 ], [ -122.734797990573568, 37.927324989088447 ], [ -122.733398004687729, 37.928424930876041 ], [ -122.727597995251955, 37.932624935345807 ], [ -122.725509029660202, 37.934093984518078 ], [ -122.724897011158944, 37.93452503729398 ], [ -122.724653974705362, 37.934327028370085 ], [ -122.724287043715051, 37.934167033861598 ], [ -122.72370699503918, 37.934083007472587 ], [ -122.723204010075079, 37.933884948221454 ], [ -122.722882980537094, 37.933648024513531 ], [ -122.722547994371055, 37.933435007735682 ], [ -122.721952967990319, 37.933435011555709 ], [ -122.721265998223799, 37.933533937352983 ], [ -122.720670985998652, 37.933670960119002 ], [ -122.720060984880959, 37.933586985486812 ], [ -122.719054017735388, 37.933297015411654 ], [ -122.718045979847332, 37.933336007771082 ], [ -122.71710003783268, 37.933503012380761 ], [ -122.716184996847673, 37.933747961642666 ], [ -122.715497958785079, 37.933931068557726 ], [ -122.715025033604036, 37.934265939137397 ], [ -122.71479697269271, 37.934524932077608 ], [ -122.715024995204146, 37.935220046720261 ], [ -122.7155590027768, 37.935692970671226 ], [ -122.715863994037989, 37.936119992888273 ], [ -122.715758025227345, 37.936349004405223 ], [ -122.715177974958209, 37.936539972412305 ], [ -122.714551960466906, 37.936798986640362 ], [ -122.714397041965896, 37.936924933134435 ], [ -122.713971994221879, 37.937195979721167 ], [ -122.713483981872685, 37.937676986280863 ], [ -122.713331000726001, 37.938173031045331 ], [ -122.713269979809127, 37.938707041483674 ], [ -122.713255042086601, 37.939164976423733 ], [ -122.713681961294768, 37.939561037386547 ], [ -122.713834976146799, 37.939881933182754 ], [ -122.713606034760701, 37.940178944835232 ], [ -122.713496996466461, 37.940324999232637 ], [ -122.714155013504097, 37.941614045031628 ], [ -122.714397007269895, 37.942424954237325 ], [ -122.710496997661508, 37.945323932993212 ], [ -122.709096967618436, 37.946324016119448 ], [ -122.709134963858588, 37.946361992626777 ], [ -122.709196962429417, 37.946423969105474 ], [ -122.710797025580973, 37.947224010129652 ], [ -122.711040003178738, 37.947688070030374 ], [ -122.711318994136121, 37.948220941518954 ], [ -122.711464007040107, 37.94849802299585 ], [ -122.711766040189431, 37.949075028825682 ], [ -122.712258027079159, 37.950014002293649 ], [ -122.712340998665866, 37.950171931784226 ], [ -122.712647019556229, 37.950755986325284 ], [ -122.71299700318373, 37.951423939510157 ], [ -122.711713977224903, 37.95115703324624 ], [ -122.711104037438673, 37.951500000720067 ], [ -122.71027996762696, 37.951660066586264 ], [ -122.709226960803861, 37.951446932117591 ], [ -122.708754043548069, 37.951744034580486 ], [ -122.708356962142105, 37.952202007036753 ], [ -122.707686025079852, 37.952514950096891 ], [ -122.706450004868017, 37.953597932348721 ], [ -122.705763022916955, 37.954361048886867 ], [ -122.706097019826188, 37.955124040484414 ], [ -122.70550398047375, 37.955428997479366 ], [ -122.705168027515498, 37.955735018477462 ], [ -122.704038028457049, 37.95783304056738 ], [ -122.703594968481326, 37.958519020603489 ], [ -122.703060964473735, 37.95888495106793 ], [ -122.702648998062656, 37.959046002532624 ], [ -122.702054037156245, 37.959396987454561 ], [ -122.701291027508717, 37.960396051354898 ], [ -122.701016994367748, 37.961761940731499 ], [ -122.700787996853322, 37.962371984421139 ], [ -122.699888035083646, 37.963028058210526 ], [ -122.699307992190143, 37.963570028352223 ], [ -122.699277011275569, 37.964188038668098 ], [ -122.69886502879821, 37.964713959229989 ], [ -122.698041020159621, 37.965164042342586 ], [ -122.697294019898663, 37.965766974175438 ], [ -122.696775025447863, 37.9659880032629 ], [ -122.69617995934324, 37.966300934393104 ], [ -122.69604201040471, 37.966796992798464 ], [ -122.695615011286307, 37.967224002423954 ], [ -122.694295983656005, 37.968123986359288 ], [ -122.697140988956349, 37.972145049774213 ], [ -122.697690009252923, 37.972984944410143 ], [ -122.698422973340826, 37.973221020645461 ], [ -122.699064021660107, 37.973617962975162 ], [ -122.699495988343315, 37.974224058834778 ], [ -122.699871994545376, 37.974572015781462 ], [ -122.6999489703867, 37.974738950965381 ], [ -122.700833972658486, 37.975173965499543 ], [ -122.700940035623589, 37.975845978469145 ], [ -122.701613015631906, 37.975944998734349 ], [ -122.702162016302935, 37.976280994242387 ], [ -122.702893999571941, 37.977058941058246 ], [ -122.703351994763409, 37.977112061994383 ], [ -122.703581016779907, 37.977386969649736 ], [ -122.703642041950474, 37.977829037410828 ], [ -122.704146003932522, 37.978110973509587 ], [ -122.704435998860959, 37.978622058221553 ], [ -122.704435998950174, 37.979110022434341 ], [ -122.704587990008434, 37.979407970859249 ], [ -122.704816960788051, 37.979743008846754 ], [ -122.704999981751754, 37.97995696110452 ], [ -122.704996959464324, 37.980623063249219 ], [ -122.706084000324964, 37.981169938360104 ], [ -122.708540016013657, 37.982902019863715 ], [ -122.710497002997457, 37.983923056989767 ], [ -122.711103966864741, 37.983932013140027 ], [ -122.711698964270951, 37.983566056637855 ], [ -122.712396994308122, 37.983422995810372 ], [ -122.712995991425259, 37.983375028793574 ], [ -122.713652003896371, 37.983833046427705 ], [ -122.714124972252591, 37.984878002996872 ], [ -122.714597012129929, 37.985523008045043 ], [ -122.71516296784462, 37.986822940835694 ], [ -122.715116965758966, 37.987974930537156 ], [ -122.714949011172322, 37.98905100072205 ], [ -122.715796997589038, 37.990822958765541 ], [ -122.717116997804069, 37.992210041488946 ], [ -122.719619020130537, 37.995040022570251 ], [ -122.720197979873035, 37.995723000482649 ], [ -122.719985015903347, 37.996107935087807 ], [ -122.719862995371344, 37.996467033079391 ], [ -122.719787036001918, 37.996786950155432 ], [ -122.719680038437929, 37.99700905979028 ], [ -122.719482016984102, 37.997207011789143 ], [ -122.719023963244069, 37.997389978225513 ], [ -122.718336980917528, 37.997404952465445 ], [ -122.717697039520232, 37.997473972053697 ], [ -122.717314993979286, 37.997604022760015 ], [ -122.717085998080577, 37.997755986897197 ], [ -122.716719967726306, 37.997931983523934 ], [ -122.716399985777031, 37.997702933095823 ], [ -122.716018023964693, 37.997718065605191 ], [ -122.715896007930326, 37.997978017722566 ], [ -122.715774000287581, 37.998396962479532 ], [ -122.71559102413913, 37.998404969705518 ], [ -122.715284959611779, 37.998397047023204 ], [ -122.715177973694054, 37.998404955892795 ], [ -122.715238991827306, 37.998687037650932 ], [ -122.715270024057233, 37.998992001436704 ], [ -122.715346997961333, 37.999174980124721 ], [ -122.715514996336537, 37.999267064452155 ], [ -122.715713013223521, 37.999305003034834 ], [ -122.715987999363165, 37.999320031694182 ], [ -122.71623195874605, 37.999373993697716 ], [ -122.716276989365355, 37.999488030701464 ], [ -122.716170986516786, 37.999656062177486 ], [ -122.715926018117614, 37.999725038840026 ], [ -122.715590970962879, 37.999709019847003 ], [ -122.715225042786727, 37.999625046924791 ], [ -122.71503998634148, 37.999548975038891 ], [ -122.714598007057205, 37.999434960726326 ], [ -122.714079033552665, 37.999488059059594 ], [ -122.713621012292634, 37.999586931209755 ], [ -122.71313297043163, 37.999557013255945 ], [ -122.712781968916701, 37.999319991122341 ], [ -122.712613972034816, 37.999045955511733 ], [ -122.712201964077835, 37.998801037103028 ], [ -122.71148498085654, 37.998725065000585 ], [ -122.711179963001896, 37.998381967936375 ], [ -122.711088032391274, 37.997908988681438 ], [ -122.710890004892363, 37.997557985685489 ], [ -122.71059996706073, 37.997389970838562 ], [ -122.710371011042056, 37.997618953905608 ], [ -122.710310018490787, 37.997833000305022 ], [ -122.710202992049929, 37.998100024708343 ], [ -122.710019986082912, 37.99820603820659 ], [ -122.709715004335294, 37.998443000397842 ], [ -122.709684978548282, 37.998610931889552 ], [ -122.709700001386764, 37.998863047786323 ], [ -122.709531997917892, 37.998999938464308 ], [ -122.709394985032787, 37.999198024024757 ], [ -122.70934902996548, 37.99936605687158 ], [ -122.709120006647595, 37.999541945792402 ], [ -122.708797005772354, 37.999923066917646 ], [ -122.708982959777657, 38.000220951970419 ], [ -122.709273006641737, 38.000366016102213 ], [ -122.70925698103315, 38.000525954946916 ], [ -122.709120019099743, 38.001295935034911 ], [ -122.708997027211993, 38.002222970493854 ], [ -122.708860991846507, 38.002532028666529 ], [ -122.709012979069072, 38.003478051743286 ], [ -122.708997014193443, 38.004522941343993 ], [ -122.710386968040751, 38.004829007639088 ], [ -122.711454987558639, 38.005652930208512 ], [ -122.711577024577707, 38.006667035811617 ], [ -122.711485019353333, 38.008230963949245 ], [ -122.712096038263667, 38.009802952027606 ], [ -122.713056961315914, 38.011343964227763 ], [ -122.714675015682516, 38.011871069371892 ], [ -122.71488897243519, 38.012213935951777 ], [ -122.715452974886375, 38.013220939333678 ], [ -122.716198037788629, 38.013923066635009 ], [ -122.717346036313174, 38.014320003089026 ], [ -122.719786968404208, 38.01548695366872 ], [ -122.72129795588026, 38.015815007169472 ], [ -122.723434019785387, 38.016120009379229 ], [ -122.723498031611655, 38.016422935328237 ], [ -122.723698032088663, 38.016823068965166 ], [ -122.722579006339529, 38.016653978200104 ], [ -122.72025997426276, 38.016386970772352 ], [ -122.717314956991359, 38.015158968452276 ], [ -122.714857993793203, 38.013847017945523 ], [ -122.713597011315372, 38.012323034645419 ], [ -122.71209701867258, 38.01162298801615 ], [ -122.711180000961221, 38.011824936815913 ], [ -122.711043025523239, 38.011214965206584 ], [ -122.710417016479951, 38.010718985696379 ], [ -122.709868019335545, 38.010397957765868 ], [ -122.709577961658198, 38.009703955964106 ], [ -122.708997975445968, 38.009368060679179 ], [ -122.708845041592099, 38.00908603033573 ], [ -122.708397028419853, 38.009022956865131 ], [ -122.707796975525142, 38.008723057307172 ], [ -122.707715981063686, 38.00901704134067 ], [ -122.707914957421224, 38.009200046086441 ], [ -122.708296975427558, 38.009523063133663 ], [ -122.708464013585228, 38.009704016148433 ], [ -122.708396983038611, 38.010022961402527 ], [ -122.708096955411634, 38.010522993842862 ], [ -122.7080969714074, 38.010922939327955 ], [ -122.708281029371022, 38.01143600216119 ], [ -122.708037020558081, 38.011542987536217 ], [ -122.707868977214076, 38.011793944320317 ], [ -122.707696973490158, 38.012123049341625 ], [ -122.707609008979176, 38.012199017427342 ], [ -122.708372036600267, 38.014387936855059 ], [ -122.708397044433283, 38.014523050787737 ], [ -122.708433041999697, 38.014624957080251 ], [ -122.708696995481517, 38.014923035270648 ], [ -122.708617001473485, 38.015547962602945 ], [ -122.709396957236223, 38.015922940099699 ], [ -122.70971502113359, 38.016585043350773 ], [ -122.71005099832675, 38.016835978757939 ], [ -122.710448040353768, 38.017469968688872 ], [ -122.710477956795785, 38.017897025878867 ], [ -122.710524011073176, 38.018384959455943 ], [ -122.711408986159341, 38.018545000336943 ], [ -122.711530970552332, 38.018919051009057 ], [ -122.71185096233836, 38.019437933227309 ], [ -122.712476966553695, 38.019910949906986 ], [ -122.712935966324849, 38.020598033089264 ], [ -122.713497992309357, 38.021321980149075 ], [ -122.714278957356569, 38.021527936746914 ], [ -122.714827970557721, 38.02196301242256 ], [ -122.715652010479275, 38.022726029614468 ], [ -122.716277032283813, 38.023375055485275 ], [ -122.7163379989193, 38.023976950264192 ], [ -122.71633801503927, 38.024573064903933 ], [ -122.716246980583293, 38.025304997260008 ], [ -122.716353956850185, 38.025632956387135 ], [ -122.716398031389332, 38.025722064435847 ], [ -122.716491022387515, 38.026076042404853 ], [ -122.716200979572861, 38.026776935384284 ], [ -122.716063978694905, 38.027678028588227 ], [ -122.715774009380169, 38.028218942758585 ], [ -122.715315980703522, 38.028067010582021 ], [ -122.714997981727862, 38.027822048838829 ], [ -122.714401035033575, 38.027868058549032 ], [ -122.713928026338635, 38.027701016251306 ], [ -122.713331971725623, 38.027837995957995 ], [ -122.713378019878292, 38.028311000118528 ], [ -122.713057995605524, 38.028929006569534 ], [ -122.712298024740193, 38.02932202395354 ], [ -122.711820957708341, 38.029349020723181 ], [ -122.711088006335714, 38.029410030125099 ], [ -122.710019961162587, 38.029409935710198 ], [ -122.709502001966925, 38.029782971073331 ], [ -122.708586037905732, 38.029997012237509 ], [ -122.707854044518186, 38.030217981481258 ], [ -122.7069970325024, 38.030021932337519 ], [ -122.706068019248846, 38.030447018592163 ], [ -122.705396998792395, 38.030822047048474 ], [ -122.704908955683464, 38.030897009693462 ], [ -122.703088026030173, 38.030812999908044 ], [ -122.702771975589869, 38.030797978002042 ], [ -122.700560027674115, 38.031447062485313 ], [ -122.699705004177858, 38.032248008648992 ], [ -122.698714019986866, 38.032636967770173 ], [ -122.698469041406952, 38.032873067084303 ], [ -122.697897020410878, 38.033622056644901 ], [ -122.697838999413023, 38.033659930371059 ], [ -122.697596968890423, 38.034021933186359 ], [ -122.697568956266821, 38.034490950089562 ], [ -122.697696982398739, 38.034922063796344 ], [ -122.698194957917991, 38.03527695534752 ], [ -122.698485023075776, 38.0359019778587 ], [ -122.698896974558536, 38.036721932260868 ], [ -122.698796978415942, 38.037421999846963 ], [ -122.698743970338981, 38.037908978352988 ], [ -122.698621975009615, 38.038175951876205 ], [ -122.698296988314652, 38.038421984867178 ], [ -122.698241007685183, 38.038656033444134 ], [ -122.698378026366015, 38.03891606664147 ], [ -122.698713983703129, 38.039121969494452 ], [ -122.699125993391291, 38.039540993659386 ], [ -122.699750999659457, 38.039952955960253 ], [ -122.700284961949805, 38.040204987157942 ], [ -122.700697020548958, 38.04022195015196 ], [ -122.702696987769272, 38.040121969168268 ], [ -122.703031983816118, 38.039952980712307 ], [ -122.703840958411931, 38.039899958737749 ], [ -122.704572966166225, 38.039502983605011 ], [ -122.706006987686223, 38.039457993655226 ], [ -122.706801033045195, 38.03966403226881 ], [ -122.707929995522548, 38.03944997160572 ], [ -122.708845026300025, 38.039411965248391 ], [ -122.709883008125544, 38.039937978404758 ], [ -122.709638990808216, 38.040655020994457 ], [ -122.709303014543494, 38.041074976253178 ], [ -122.709363981574214, 38.041372972146483 ], [ -122.709760982555238, 38.041394935860964 ], [ -122.710111965908453, 38.041617038109294 ], [ -122.710402004862061, 38.041692953541116 ], [ -122.710707960242857, 38.041547952798311 ], [ -122.71092201762545, 38.041769011487389 ], [ -122.710722979035779, 38.042166071220301 ], [ -122.710497975783014, 38.04262193154441 ], [ -122.709745977378006, 38.043233933919183 ], [ -122.70915100232061, 38.043851952983459 ], [ -122.708597043714818, 38.044722006648023 ], [ -122.708905982434175, 38.04587401668168 ], [ -122.70925699886881, 38.046857984719217 ], [ -122.710220021639941, 38.048017943886876 ], [ -122.71157800076729, 38.049489946967178 ], [ -122.712173001615128, 38.050008936928819 ], [ -122.713097984126577, 38.050922053646595 ], [ -122.71235599510922, 38.049597049413734 ], [ -122.711837024650961, 38.048491006654025 ], [ -122.711272978224727, 38.046804933372798 ], [ -122.712097986794802, 38.045722040739918 ], [ -122.712298034995158, 38.045022066713955 ], [ -122.71270696255219, 38.045096014129641 ], [ -122.713317015206115, 38.045447031151859 ], [ -122.713942984857624, 38.045782029673532 ], [ -122.715423024894164, 38.046438064094026 ], [ -122.716780971261386, 38.046666945129658 ], [ -122.71826102562774, 38.046889061935644 ], [ -122.719297996165011, 38.047422030390742 ], [ -122.719466979561432, 38.047636065306179 ], [ -122.719898019409243, 38.048221939363351 ], [ -122.720137990204876, 38.048712018565006 ], [ -122.72053499615815, 38.049025031188144 ], [ -122.720798038937161, 38.049021994767749 ], [ -122.722884007661605, 38.049359981587209 ], [ -122.723001982816854, 38.04940898507288 ], [ -122.723997979468791, 38.049821973342752 ], [ -122.724059009559141, 38.050619045075926 ], [ -122.724609008866906, 38.051886069367292 ], [ -122.726440004204079, 38.054724023062846 ], [ -122.726591983810394, 38.054898999469629 ], [ -122.727644979221409, 38.055624016187522 ], [ -122.7289889740684, 38.055853005478745 ], [ -122.730254957783927, 38.055623978848224 ], [ -122.731033986632198, 38.055570983047275 ], [ -122.731998983513748, 38.056021995881871 ], [ -122.732298980060747, 38.056221946611018 ], [ -122.732788044882923, 38.056516960798909 ], [ -122.734191963629712, 38.057027958128209 ], [ -122.735596042254883, 38.057202931004895 ], [ -122.736698967969957, 38.057621966482273 ], [ -122.737107040368812, 38.058309964091684 ], [ -122.737793013786145, 38.058836068633227 ], [ -122.73861702628426, 38.059438944026873 ], [ -122.739471972760356, 38.060086946093257 ], [ -122.73999897492746, 38.060322022891697 ], [ -122.740357040865021, 38.060430967774529 ], [ -122.741210974002712, 38.060995023331188 ], [ -122.741851983628095, 38.061406936978678 ], [ -122.741898963199205, 38.061621938699027 ], [ -122.742507988294733, 38.063259939301133 ], [ -122.743599006994685, 38.064321044270621 ], [ -122.74496503419968, 38.065754935543175 ], [ -122.745574986991798, 38.066845958446414 ], [ -122.746198996449181, 38.067920954355884 ], [ -122.747010003548183, 38.067616972550802 ], [ -122.748322016291212, 38.067228015117436 ], [ -122.750107969761615, 38.06656403526835 ], [ -122.751100040650698, 38.06612000775494 ], [ -122.751317015797909, 38.066035972221336 ], [ -122.751664016596479, 38.065900950895042 ], [ -122.7520100261317, 38.06542597569522 ], [ -122.752098958780877, 38.065306039845005 ], [ -122.75250504424686, 38.065238032333724 ], [ -122.753227958450267, 38.065397980045319 ], [ -122.754820971958125, 38.065331042194309 ], [ -122.755428961139387, 38.065743939366619 ], [ -122.756412955916275, 38.066111000233512 ], [ -122.757020956489427, 38.06620196397774 ], [ -122.757498998131439, 38.066459956228762 ], [ -122.757744021991613, 38.066591991725524 ], [ -122.758085977089479, 38.066525945126337 ], [ -122.758583973426411, 38.066432053195136 ], [ -122.759510991709945, 38.066363963686712 ], [ -122.759886992402116, 38.066180956190301 ], [ -122.760409015025587, 38.065655055461804 ], [ -122.760901015695367, 38.065402995334054 ], [ -122.762638969956427, 38.064854062459347 ], [ -122.764578966352261, 38.06480895703551 ], [ -122.765303010461935, 38.064900955269749 ], [ -122.76614299825053, 38.065222019944976 ], [ -122.768371034597052, 38.066757055347765 ], [ -122.768689986795692, 38.066894001748366 ], [ -122.769645039873083, 38.066802933057517 ], [ -122.770165992060612, 38.066826062343893 ], [ -122.770630013065713, 38.066941036757591 ], [ -122.772133964314463, 38.06831503098357 ], [ -122.772337034569631, 38.068315002017442 ], [ -122.772626958183466, 38.068108973447707 ], [ -122.772703988389864, 38.067939992014296 ], [ -122.773235014664337, 38.06833800243291 ], [ -122.772886971365025, 38.068704037833513 ], [ -122.772511025860325, 38.068932995802591 ], [ -122.771034016435209, 38.069253038716845 ], [ -122.770772961651929, 38.069367020306522 ], [ -122.770136013950619, 38.069916963925962 ], [ -122.770280015751624, 38.0701229902131 ], [ -122.77042497476441, 38.070877952460116 ], [ -122.771002970817818, 38.072069047669117 ], [ -122.771379007374748, 38.073420005464669 ], [ -122.771406996333781, 38.073899989883664 ], [ -122.771811991993971, 38.074565046096659 ], [ -122.772188991251795, 38.074954030581509 ], [ -122.772681022095739, 38.075274936500378 ], [ -122.77331901725799, 38.075548945756218 ], [ -122.775460966555087, 38.077014956231373 ], [ -122.776705989423306, 38.078069005187054 ], [ -122.778124957240124, 38.078436005338581 ], [ -122.778789967991557, 38.078688067194719 ], [ -122.778993030903123, 38.078848003290133 ], [ -122.779021965282865, 38.079030988612509 ], [ -122.779572027798508, 38.079832045010654 ], [ -122.779543028123044, 38.08067904929333 ], [ -122.779658034085585, 38.080885995146396 ], [ -122.780063977789723, 38.081183049994827 ], [ -122.78113501129441, 38.08138994888747 ], [ -122.782409034664767, 38.081938994729548 ], [ -122.783248989708838, 38.081939983565121 ], [ -122.784088961971662, 38.081298948159436 ], [ -122.784350025917959, 38.080794994563334 ], [ -122.784350034618583, 38.080246061108333 ], [ -122.784274000437819, 38.080111011795012 ], [ -122.784003013887059, 38.079628049662652 ], [ -122.7840030181884, 38.078596933247653 ], [ -122.784525962621103, 38.076513972792768 ], [ -122.784526021146618, 38.075643959159855 ], [ -122.78420797590131, 38.074659998034569 ], [ -122.784178994076413, 38.074064961150533 ], [ -122.784643005471096, 38.073538001864115 ], [ -122.785134997923265, 38.073308935808029 ], [ -122.786149010893666, 38.07305800506947 ], [ -122.787943982438691, 38.073058018329448 ], [ -122.789044000173647, 38.073218988800413 ], [ -122.789797028142999, 38.073493960114696 ], [ -122.790318034973311, 38.073860048860872 ], [ -122.791650000712877, 38.075187999065861 ], [ -122.792054996356057, 38.075416992877003 ], [ -122.792199985347438, 38.075645948344196 ], [ -122.792605033339427, 38.075920989957012 ], [ -122.794023977647981, 38.076310048562164 ], [ -122.794690020621616, 38.076333041738302 ], [ -122.795907022621705, 38.075898042068346 ], [ -122.796775965472662, 38.075119943145481 ], [ -122.797209961744827, 38.074594008938263 ], [ -122.798397992799252, 38.073631967732979 ], [ -122.798600975504854, 38.073311939788461 ], [ -122.798702960118774, 38.072857955167578 ], [ -122.798728039836547, 38.072741958642922 ], [ -122.79900701659966, 38.071503038542303 ], [ -122.799036044264795, 38.070725032002656 ], [ -122.798920997078199, 38.070518949586642 ], [ -122.79875403695317, 38.070373051134119 ], [ -122.798426969556658, 38.07008394093031 ], [ -122.798254016255569, 38.069785940830947 ], [ -122.798253989103387, 38.068985070789608 ], [ -122.79845697068933, 38.06859603871947 ], [ -122.799036025434901, 38.067932055894488 ], [ -122.799268998685065, 38.067222978991836 ], [ -122.799557961868658, 38.066948018920129 ], [ -122.80005098541919, 38.066764941520638 ], [ -122.801295992926981, 38.06667298189187 ], [ -122.801613991622872, 38.066559028515584 ], [ -122.801917998172016, 38.066349008205968 ], [ -122.802279996174406, 38.066101061976035 ], [ -122.802628004359221, 38.065689030255641 ], [ -122.803669987652754, 38.065208027921756 ], [ -122.80442299157103, 38.064980020476938 ], [ -122.805292043612837, 38.064917951287214 ], [ -122.806045022767634, 38.064864978633572 ], [ -122.807869027050685, 38.065300024775631 ], [ -122.808737977010665, 38.06534594257198 ], [ -122.809664016485485, 38.065117056376906 ], [ -122.810416971074346, 38.064728047657773 ], [ -122.81090896868551, 38.064339037042529 ], [ -122.811141031969569, 38.064316033212421 ], [ -122.812241025774227, 38.063583957188712 ], [ -122.813254959826295, 38.063309978185508 ], [ -122.816903023430044, 38.063240939366885 ], [ -122.819017027012151, 38.063171970169684 ], [ -122.820232989161184, 38.063378032181085 ], [ -122.820435006108156, 38.063767017607958 ], [ -122.820753974527975, 38.065027041917695 ], [ -122.82092800169869, 38.066927033908307 ], [ -122.820940976630837, 38.068108010251969 ], [ -122.820956968482548, 38.069513043100393 ], [ -122.821218042293268, 38.072030963646185 ], [ -122.821217983238881, 38.073335985617497 ], [ -122.821507970440379, 38.073861983889799 ], [ -122.822666007651833, 38.074708966198727 ], [ -122.824560981594786, 38.076452965313408 ], [ -122.825302961696366, 38.077135943063873 ], [ -122.826142992451608, 38.078210975826664 ], [ -122.826838028721966, 38.079814021564211 ], [ -122.82692498623183, 38.079883012829981 ], [ -122.826925014356888, 38.080249015711594 ], [ -122.82715698988828, 38.080660987048219 ], [ -122.82741803072318, 38.082011032259253 ], [ -122.82744704150133, 38.082744066025079 ], [ -122.827678977302114, 38.082835942207097 ], [ -122.828836963527849, 38.084712992959808 ], [ -122.829821970572752, 38.085833977142663 ], [ -122.830054025383888, 38.085879940034417 ], [ -122.831791977935836, 38.087185065564199 ], [ -122.832575043423063, 38.088328973061223 ], [ -122.833038004682919, 38.088856032921214 ], [ -122.833241014251129, 38.088947012008646 ], [ -122.833529964490126, 38.088580996875912 ], [ -122.833558983862773, 38.08796296012207 ], [ -122.833009014784977, 38.087070057862014 ], [ -122.832834969678231, 38.086429059691199 ], [ -122.832312967053809, 38.085352981234166 ], [ -122.832447999411883, 38.085363031535124 ], [ -122.832602980404971, 38.085376067409108 ], [ -122.833007959013543, 38.085810945901009 ], [ -122.833500999886382, 38.086542946311809 ], [ -122.834282973584308, 38.087389983358072 ], [ -122.836107988925974, 38.088855003135038 ], [ -122.836572036683549, 38.089107020741707 ], [ -122.837093041785565, 38.089107040009601 ], [ -122.837295979209003, 38.088991986060357 ], [ -122.837441030062521, 38.088786020029616 ], [ -122.837441000497748, 38.088397063271977 ], [ -122.837208968959288, 38.087893013523889 ], [ -122.835644026185122, 38.08558202021544 ], [ -122.835353988078097, 38.084734978066912 ], [ -122.834948027353732, 38.084139003078761 ], [ -122.834514032674193, 38.083177970263669 ], [ -122.834542970554978, 38.082789053932785 ], [ -122.834861009596011, 38.082903005749429 ], [ -122.836193958614828, 38.084184965156105 ], [ -122.836252000970148, 38.084483030473621 ], [ -122.836599969892418, 38.084963021848793 ], [ -122.837902998492993, 38.085946935528639 ], [ -122.83943898839415, 38.087275046175719 ], [ -122.840772004675259, 38.088969004839058 ], [ -122.841176962127122, 38.089403995769274 ], [ -122.84175702323293, 38.090112983581399 ], [ -122.841902006001334, 38.09018204178755 ], [ -122.841959967545776, 38.090365050473352 ], [ -122.842597020279683, 38.090844989609252 ], [ -122.842721983699221, 38.090861070061699 ], [ -122.844393011822518, 38.091073967692566 ], [ -122.845029986773838, 38.091348008452364 ], [ -122.845494017017046, 38.091715044141296 ], [ -122.846335022938447, 38.092927939321761 ], [ -122.846991005232951, 38.093498006709332 ], [ -122.847204986205071, 38.093683046474759 ], [ -122.848073962360388, 38.094278028737172 ], [ -122.849377971917818, 38.094895953980533 ], [ -122.850739972586737, 38.095925004074267 ], [ -122.850942986697575, 38.096428989710894 ], [ -122.850856967785106, 38.097368036639409 ], [ -122.85131995568176, 38.097710966756566 ], [ -122.85163902264199, 38.097802060749139 ], [ -122.85166801167864, 38.097963059291764 ], [ -122.852248002111125, 38.098259943056611 ], [ -122.852769044323395, 38.098717993679202 ], [ -122.85387101216736, 38.099999037517229 ], [ -122.854739986275504, 38.10048004329586 ], [ -122.855000960779094, 38.10093804373976 ], [ -122.856275960895388, 38.101899044196813 ], [ -122.856652967301756, 38.102494063663968 ], [ -122.857204008950163, 38.102997053780435 ], [ -122.857320028118295, 38.103455013473848 ], [ -122.857494013625654, 38.103660968432443 ], [ -122.859029956588714, 38.104323989670092 ], [ -122.860305027460015, 38.105399999177997 ], [ -122.860943041517004, 38.10583393036827 ], [ -122.861610015092339, 38.106886954069097 ], [ -122.862943043053491, 38.107893999090045 ], [ -122.864479028944089, 38.108946045091685 ], [ -122.865117041005945, 38.109702017514742 ], [ -122.865379010571942, 38.110205059027983 ], [ -122.865726986038297, 38.111144047917385 ], [ -122.867147040917615, 38.112150017441365 ], [ -122.867176016298117, 38.112242008128057 ], [ -122.867582036252699, 38.112492991914301 ], [ -122.86819101160458, 38.11262999406992 ], [ -122.86908898976121, 38.113224992653663 ], [ -122.869467025883267, 38.113682949619921 ], [ -122.869757966663201, 38.114759024989674 ], [ -122.870048010594729, 38.114988043868074 ], [ -122.870946022315735, 38.115285045125582 ], [ -122.87106303776595, 38.115742991460365 ], [ -122.871932010622771, 38.116498052735871 ], [ -122.87254096749497, 38.116772053698604 ], [ -122.873787013490158, 38.116931966318582 ], [ -122.874106026932296, 38.117274932572421 ], [ -122.874599012475898, 38.11741205874204 ], [ -122.874744024603416, 38.117617956797815 ], [ -122.874773033168282, 38.118167059139232 ], [ -122.875091989070953, 38.118601980423641 ], [ -122.876105029250425, 38.119379977021659 ], [ -122.877290018561013, 38.120318965064612 ], [ -122.877782011864085, 38.120479031034044 ], [ -122.879198967068945, 38.122277968602141 ], [ -122.8793160205324, 38.12242595362931 ], [ -122.88021401493944, 38.122975943640014 ], [ -122.881083002945701, 38.123228055625226 ], [ -122.88201302235295, 38.123333061897128 ], [ -122.882502984690731, 38.123389037406739 ], [ -122.882560984458166, 38.123572025160826 ], [ -122.882299013269929, 38.12446599231221 ], [ -122.882385989606647, 38.124922065904641 ], [ -122.882820018652069, 38.126073027444193 ], [ -122.88316700867334, 38.126531049278356 ], [ -122.883535019682796, 38.126720963051646 ], [ -122.883834008111677, 38.126875038281575 ], [ -122.884847992450403, 38.127126983925244 ], [ -122.885455962732891, 38.127149969201433 ], [ -122.88606498559642, 38.127470934749894 ], [ -122.886325021238889, 38.127860000145525 ], [ -122.886731013959547, 38.128226955658498 ], [ -122.886904003112789, 38.128708034275533 ], [ -122.887018963885453, 38.130056951329735 ], [ -122.888004025020521, 38.130722017562384 ], [ -122.889307011349445, 38.132255973799097 ], [ -122.889916004141725, 38.132577059934249 ], [ -122.890900984467507, 38.13273795410413 ], [ -122.892292994630708, 38.132600950122431 ], [ -122.893510033857055, 38.132693031527978 ], [ -122.893625967586786, 38.132783967603835 ], [ -122.893684024856114, 38.133012998869269 ], [ -122.894291973591109, 38.133951993973696 ], [ -122.894667964529646, 38.134341989735752 ], [ -122.894783972508918, 38.135004948840653 ], [ -122.895450037111743, 38.135784014482496 ], [ -122.896608978487507, 38.136402972604259 ], [ -122.896406021953737, 38.137134933739787 ], [ -122.895593956651382, 38.138325015772637 ], [ -122.895275009438294, 38.13873706213284 ], [ -122.895273978434389, 38.138897036338768 ], [ -122.896114044441219, 38.139722020244314 ], [ -122.896664998297851, 38.140866975858579 ], [ -122.897128028944664, 38.141210004928624 ], [ -122.898315969755544, 38.141690964440492 ], [ -122.898693023055827, 38.142195014466601 ], [ -122.898808985343351, 38.14253900441058 ], [ -122.899156012241505, 38.14290502039524 ], [ -122.900895007912908, 38.143501055478247 ], [ -122.901184964420381, 38.143752950573692 ], [ -122.901096960936883, 38.14441699802677 ], [ -122.90147399656945, 38.144759937342194 ], [ -122.902284995808273, 38.145287011288708 ], [ -122.902865033659452, 38.145447044867097 ], [ -122.902982972042338, 38.145462069577057 ], [ -122.903589959261154, 38.145539036246475 ], [ -122.903822040794168, 38.145675965655826 ], [ -122.903821028907529, 38.14617504158003 ], [ -122.903820955943885, 38.146638067544089 ], [ -122.903212016017463, 38.147896947253116 ], [ -122.903269960584268, 38.148378046209565 ], [ -122.903501035534745, 38.148743953472732 ], [ -122.903646037299126, 38.149202028704877 ], [ -122.904138996528786, 38.149224963726063 ], [ -122.9045449605145, 38.149431036644238 ], [ -122.90550098459083, 38.149636988691931 ], [ -122.905820019303775, 38.149911990451947 ], [ -122.905847971418979, 38.150988040676332 ], [ -122.906428004569776, 38.151262968003522 ], [ -122.906833991724312, 38.151675056837483 ], [ -122.907731980167085, 38.152041060220519 ], [ -122.907789998159814, 38.15206504567017 ], [ -122.909239975147358, 38.151904932855828 ], [ -122.910021956430441, 38.152064945993686 ], [ -122.910108960383837, 38.152156969945089 ], [ -122.910311995607557, 38.152156984333658 ], [ -122.910718016344134, 38.152270937719436 ], [ -122.910022042367984, 38.152865946488639 ], [ -122.909992982118396, 38.153003930614958 ], [ -122.908455967267173, 38.15401103421371 ], [ -122.907324974362439, 38.155246993969044 ], [ -122.907208979830088, 38.155795970422538 ], [ -122.906861041874407, 38.156277027257126 ], [ -122.906890031458062, 38.156550950515161 ], [ -122.90735300524932, 38.157055039616623 ], [ -122.907468976820553, 38.15751294577403 ], [ -122.907816980517609, 38.157902030990464 ], [ -122.908193040121446, 38.158108067548682 ], [ -122.909208009926445, 38.159275995154616 ], [ -122.909584976237895, 38.159551031032201 ], [ -122.910250964195669, 38.159757002142051 ], [ -122.911643998802461, 38.159758058381669 ], [ -122.912243025453705, 38.159886937790226 ], [ -122.912281986275829, 38.159894993788235 ], [ -122.912381036577415, 38.159990967970835 ], [ -122.912657967040076, 38.160260990493406 ], [ -122.915210001306775, 38.161154972228402 ], [ -122.915441013278027, 38.162047954351664 ], [ -122.915557030102903, 38.162208012335583 ], [ -122.91555703354112, 38.162436989931628 ], [ -122.91506399230795, 38.163558004857634 ], [ -122.915063996083092, 38.164015959931668 ], [ -122.915353030932224, 38.164405965516494 ], [ -122.915411016223487, 38.164931979600382 ], [ -122.916194015057968, 38.165504984653126 ], [ -122.916919012590711, 38.166351984072705 ], [ -122.917468998892261, 38.166763996108173 ], [ -122.918251994081771, 38.168090950944411 ], [ -122.9189769631312, 38.168686005879458 ], [ -122.919325040571394, 38.168869033081542 ], [ -122.920368007738332, 38.168869040805951 ], [ -122.920977004286428, 38.169098992800151 ], [ -122.921064018537336, 38.169212976695739 ], [ -122.921092967016534, 38.169578993730823 ], [ -122.921383006868453, 38.169830978801684 ], [ -122.921267038590926, 38.170266042473678 ], [ -122.9212960346713, 38.170837941819322 ], [ -122.921673034867666, 38.171846059907388 ], [ -122.922106993934705, 38.172143061344805 ], [ -122.923179996266043, 38.172463998270672 ], [ -122.9234119731953, 38.172646937248999 ], [ -122.923586009977825, 38.172967984832447 ], [ -122.92370203709514, 38.173494031835276 ], [ -122.923556999550357, 38.173928937787331 ], [ -122.923436958971237, 38.17408503157678 ], [ -122.922889978932602, 38.174799065436197 ], [ -122.923005993998189, 38.175164997971358 ], [ -122.923789007235413, 38.17571499742931 ], [ -122.924513023506123, 38.175966973714729 ], [ -122.926079023466897, 38.176173007197598 ], [ -122.926919988295126, 38.176516013391037 ], [ -122.927123041490631, 38.176744975806734 ], [ -122.927413010088344, 38.177477994558032 ], [ -122.927412989226255, 38.178667942635272 ], [ -122.927964018032853, 38.179081031937869 ], [ -122.928254028866178, 38.179607039688776 ], [ -122.928602002521501, 38.179881995927595 ], [ -122.93005202883073, 38.180386026372801 ], [ -122.930284026039601, 38.180592046398004 ], [ -122.930488025813133, 38.181256003151347 ], [ -122.930749023412346, 38.181644967401382 ], [ -122.930778008633894, 38.182217004141478 ], [ -122.930341971802292, 38.182971975494972 ], [ -122.930313031033947, 38.183293032801799 ], [ -122.930225967705837, 38.183384937954855 ], [ -122.930226005094227, 38.184093977376449 ], [ -122.930370993885376, 38.184345994201124 ], [ -122.932255994769392, 38.186406056557793 ], [ -122.932285004994554, 38.186773055573973 ], [ -122.93190803109114, 38.187414000347736 ], [ -122.93193704087976, 38.187780013631794 ], [ -122.933270961952289, 38.187253964026318 ], [ -122.933706036455504, 38.187161972029337 ], [ -122.935099009455257, 38.187619999381283 ], [ -122.935447025280084, 38.188627068687218 ], [ -122.935765985547221, 38.188901987344018 ], [ -122.936606993274097, 38.188902021937416 ], [ -122.937447988193881, 38.189542931413463 ], [ -122.937622009829028, 38.190000977085347 ], [ -122.937534986218239, 38.190778972206608 ], [ -122.937650968398941, 38.190985056375681 ], [ -122.938086009364056, 38.191373955163826 ], [ -122.939013961588955, 38.191991945012532 ], [ -122.939826013024401, 38.192313015516199 ], [ -122.940927982038502, 38.192359060569608 ], [ -122.941219023595849, 38.192450036772819 ], [ -122.941422021257083, 38.192747976581721 ], [ -122.941363965040239, 38.193274058256897 ], [ -122.941944001104588, 38.193685968897938 ], [ -122.942900993843949, 38.194098060567057 ], [ -122.943857977213924, 38.194303981177612 ], [ -122.944437974041563, 38.194327070217319 ], [ -122.945133969990863, 38.194213050142004 ], [ -122.94586000538699, 38.193892031617523 ], [ -122.946323982500488, 38.193594969621714 ], [ -122.947890017246564, 38.193616939195216 ], [ -122.948005960292775, 38.193548973617354 ], [ -122.949195020905648, 38.193480068942684 ], [ -122.949485032309227, 38.193662980898033 ], [ -122.950094001913314, 38.193846028135212 ], [ -122.951401017808692, 38.195379985807136 ], [ -122.951429995662153, 38.195676991088732 ], [ -122.951343033216901, 38.195769052572537 ], [ -122.950094973607634, 38.195952019596284 ], [ -122.949341013625798, 38.195495011457353 ], [ -122.948527985590957, 38.195311026153455 ], [ -122.947512984583653, 38.195724029765614 ], [ -122.947077985148823, 38.196158973994343 ], [ -122.947077965258359, 38.196433013273634 ], [ -122.947512999450836, 38.196822017615268 ], [ -122.947744982937451, 38.197188961923658 ], [ -122.947803033382087, 38.197485980940343 ], [ -122.947715974996242, 38.197578039664847 ], [ -122.946759005402612, 38.197647034767058 ], [ -122.946353044799764, 38.197761056458141 ], [ -122.946120967328085, 38.198013021201454 ], [ -122.945714973751222, 38.199248967747579 ], [ -122.945686009300175, 38.199683952758328 ], [ -122.945946971222995, 38.20044000430422 ], [ -122.946034018386456, 38.20121695779892 ], [ -122.946178994684161, 38.201605973910752 ], [ -122.947224038460234, 38.202589947034554 ], [ -122.947629957249049, 38.202818964029767 ], [ -122.948993031983804, 38.203070930819713 ], [ -122.949981000172428, 38.202659030015788 ], [ -122.95116998560934, 38.202520962006673 ], [ -122.951315026432155, 38.20259002486636 ], [ -122.951315024413375, 38.202727044362902 ], [ -122.95053204316639, 38.202979069518008 ], [ -122.950445016628208, 38.203940985598557 ], [ -122.950010007460406, 38.204605056872694 ], [ -122.94998098237167, 38.204902037331806 ], [ -122.950068037244392, 38.205085001680843 ], [ -122.950531975874227, 38.205452038397318 ], [ -122.951345031173133, 38.205772043222773 ], [ -122.951635035752759, 38.206047046822945 ], [ -122.952940034614258, 38.206390055301014 ], [ -122.953752973547495, 38.20650402137322 ], [ -122.954797013070831, 38.206504005533724 ], [ -122.955348956334404, 38.206893025152482 ], [ -122.955378037788577, 38.207053995276397 ], [ -122.955784041132034, 38.207373954685572 ], [ -122.956334993447669, 38.207649044595293 ], [ -122.957060004457261, 38.208152044977233 ], [ -122.957466993363397, 38.208334979504151 ], [ -122.958452990594722, 38.208448975570015 ], [ -122.958859028326103, 38.208586982854165 ], [ -122.95935300479907, 38.208975963190674 ], [ -122.959933029724596, 38.209983036465317 ], [ -122.960252009233088, 38.210234933751998 ], [ -122.960803982098682, 38.210509017158039 ], [ -122.961094028848635, 38.210806951099755 ], [ -122.961384022331401, 38.211379063715931 ], [ -122.961675034469451, 38.212569945373161 ], [ -122.962778005110295, 38.213553938007287 ], [ -122.962923002070738, 38.214126000495149 ], [ -122.963415989660589, 38.21446905529001 ], [ -122.964577033477724, 38.215796934597641 ], [ -122.965099971777533, 38.216255042313783 ], [ -122.965825024820475, 38.21659801481281 ], [ -122.966144043264549, 38.216872004777926 ], [ -122.96710195611071, 38.218199940646329 ], [ -122.967305961851025, 38.218634994668349 ], [ -122.968030958721883, 38.219183974947804 ], [ -122.968206036053076, 38.219459046473823 ], [ -122.968757017799888, 38.219778999540893 ], [ -122.96913495867912, 38.22028295803289 ], [ -122.97009303598476, 38.221015054106488 ], [ -122.97020897945275, 38.221220964250392 ], [ -122.97035500920606, 38.222068040940599 ], [ -122.970935996355308, 38.222869036470463 ], [ -122.971139038012979, 38.223349990960351 ], [ -122.971544995466957, 38.223739038191219 ], [ -122.972213011937015, 38.224128005498017 ], [ -122.973141998899692, 38.22433297571326 ], [ -122.97514498556616, 38.225660937936809 ], [ -122.976828025267892, 38.226507053940246 ], [ -122.977583010443183, 38.227262001698101 ], [ -122.978193031652694, 38.228086060813844 ], [ -122.978250997042707, 38.228566975539806 ], [ -122.978424968448991, 38.228863999273109 ], [ -122.97912200650606, 38.229505001941881 ], [ -122.980486987757999, 38.230236942906124 ], [ -122.981386990667389, 38.231083986683487 ], [ -122.981647967528332, 38.231564931504799 ], [ -122.982055041072528, 38.232548065749256 ], [ -122.982113024386265, 38.233074040915142 ], [ -122.98234602269774, 38.233761000801493 ], [ -122.982637025902264, 38.234172945459697 ], [ -122.983100956008684, 38.234539006770355 ], [ -122.984582005456033, 38.234974065666286 ], [ -122.985103975528318, 38.235339985799804 ], [ -122.985248996648338, 38.235546025099282 ], [ -122.985394980031245, 38.236300984166029 ], [ -122.985539999334634, 38.236529976875424 ], [ -122.986353043893246, 38.236713000543361 ], [ -122.987078972164838, 38.237352972722952 ], [ -122.987149017991129, 38.237538019019617 ], [ -122.98716597196082, 38.237581956981309 ], [ -122.98751496336584, 38.237947988011186 ], [ -122.988182967834945, 38.238084935027224 ], [ -122.988938040106703, 38.238062054822279 ], [ -122.990243979968142, 38.238291004503573 ], [ -122.990737970253264, 38.238657037869871 ], [ -122.991493007690892, 38.238977039937097 ], [ -122.991695977372359, 38.239319953161768 ], [ -122.992045014725974, 38.239548951974427 ], [ -122.992711984711704, 38.239548995284558 ], [ -122.993235031465971, 38.23968604524125 ], [ -122.994134958252673, 38.240325983359895 ], [ -122.994309020404302, 38.240647063318242 ], [ -122.994774030566177, 38.24103603192863 ], [ -122.995208984984444, 38.241035064744104 ], [ -122.995382997608118, 38.240829050925754 ], [ -122.995354036781848, 38.239982012750161 ], [ -122.995556978464137, 38.239661934927575 ], [ -122.995615023506033, 38.239387054893228 ], [ -122.995265971253318, 38.239227068889683 ], [ -122.994597992180388, 38.238426051195219 ], [ -122.994655000430512, 38.237716035115014 ], [ -122.993959043130957, 38.237601936467655 ], [ -122.993464997603326, 38.236755013321876 ], [ -122.993463967343047, 38.236297063762578 ], [ -122.993899022846463, 38.235817028764096 ], [ -122.993841005126455, 38.235725069687511 ], [ -122.993115966149801, 38.235610964473395 ], [ -122.992331975164262, 38.234992993723125 ], [ -122.992012026031205, 38.234260985213496 ], [ -122.991952959880905, 38.233184968320018 ], [ -122.992242994762336, 38.23311697132155 ], [ -122.992243014193178, 38.232934044890378 ], [ -122.991982024266349, 38.232705052456588 ], [ -122.991633006654027, 38.232590963108073 ], [ -122.990588030485299, 38.231424041256396 ], [ -122.989919957741719, 38.230897033570628 ], [ -122.98901899615646, 38.230439988529788 ], [ -122.988931992073816, 38.230257053842436 ], [ -122.989046987157082, 38.229500996467934 ], [ -122.98887303240403, 38.22938705587741 ], [ -122.988467043100584, 38.229546989401896 ], [ -122.98794396584924, 38.229548063410682 ], [ -122.98768303624604, 38.22911304008921 ], [ -122.987711975644331, 38.228472025631994 ], [ -122.987595032273404, 38.22801406318343 ], [ -122.987275970169534, 38.227761959284841 ], [ -122.987014004143731, 38.227190056120271 ], [ -122.987624010827062, 38.227143932698056 ], [ -122.987652961782089, 38.226961009128381 ], [ -122.987187973771015, 38.226663967569372 ], [ -122.986781956402012, 38.226549012519072 ], [ -122.986085029177289, 38.226526963877049 ], [ -122.985795005583213, 38.226183043953718 ], [ -122.985735992813716, 38.22533599765103 ], [ -122.984980999648926, 38.224740934097525 ], [ -122.9841400056022, 38.224833061342849 ], [ -122.983616970386066, 38.224398978677662 ], [ -122.983152960211342, 38.224261049072517 ], [ -122.982455965306585, 38.223872984624265 ], [ -122.982281995191329, 38.223552027009376 ], [ -122.981729978482846, 38.223093991860871 ], [ -122.981730009288299, 38.22261393236942 ], [ -122.981352016186548, 38.22192694701203 ], [ -122.981004001026008, 38.22165200816422 ], [ -122.980975023663419, 38.221195038542035 ], [ -122.981352015500121, 38.220530985995566 ], [ -122.98138098541861, 38.22032496908227 ], [ -122.981264006791221, 38.220210040314036 ], [ -122.981322034403391, 38.219454965857565 ], [ -122.981438022447918, 38.219248962705535 ], [ -122.981438003069769, 38.218973938708601 ], [ -122.9813220197764, 38.218813947311958 ], [ -122.981319969971167, 38.21670796399728 ], [ -122.980971973888501, 38.216112937850902 ], [ -122.980913976670024, 38.2157229940509 ], [ -122.980565000747404, 38.215151061147921 ], [ -122.98050703662669, 38.214648037501775 ], [ -122.980622966682986, 38.214304029992746 ], [ -122.980099957221412, 38.213801069213616 ], [ -122.979635957130924, 38.213572014001215 ], [ -122.979403040925334, 38.213228932353061 ], [ -122.97902601831322, 38.213137050020812 ], [ -122.978591029444971, 38.212907995832786 ], [ -122.978330002325407, 38.212588001606221 ], [ -122.978299975416277, 38.212428022886179 ], [ -122.977778024635811, 38.212061930267133 ], [ -122.976151997821404, 38.210322043390534 ], [ -122.976065013917008, 38.209703960058839 ], [ -122.975629990620803, 38.209131994331052 ], [ -122.974788017975214, 38.208925935444576 ], [ -122.974120986514748, 38.208628938487152 ], [ -122.972147003323229, 38.207163942482467 ], [ -122.972031022243627, 38.206867063005625 ], [ -122.971741026931838, 38.206591968990089 ], [ -122.971304004272355, 38.205791010512456 ], [ -122.971158996305689, 38.204670034814271 ], [ -122.970723022972578, 38.204190006729178 ], [ -122.970722970569454, 38.204098050175517 ], [ -122.970055989999395, 38.203388985699071 ], [ -122.969679007081169, 38.203136958967207 ], [ -122.968952990648901, 38.203022985305076 ], [ -122.968431035174305, 38.202725008254731 ], [ -122.96811199064139, 38.20242806990813 ], [ -122.968111001018642, 38.201832957124914 ], [ -122.967763011667159, 38.201626980748543 ], [ -122.96758898052579, 38.201306000139198 ], [ -122.967182961853098, 38.200184946339185 ], [ -122.966804991129507, 38.199611977181441 ], [ -122.966369985329209, 38.198514006823842 ], [ -122.965992010366307, 38.196064020781009 ], [ -122.965932980390946, 38.193500059728173 ], [ -122.966076976427203, 38.192927941973799 ], [ -122.965990026276373, 38.192081013714194 ], [ -122.966077018745779, 38.191875016372741 ], [ -122.965990006185578, 38.191164966895016 ], [ -122.965583972812851, 38.191005015652337 ], [ -122.965352021551823, 38.190799065714025 ], [ -122.96540800757198, 38.187113065891573 ], [ -122.965552999771944, 38.185923021143644 ], [ -122.96587103277335, 38.184961017403438 ], [ -122.966798963086603, 38.184000031603993 ], [ -122.966973005385157, 38.183999939862325 ], [ -122.967030996430381, 38.184183024935315 ], [ -122.967175995739652, 38.184296990662105 ], [ -122.9675819608334, 38.183930965889118 ], [ -122.967640018247849, 38.183563999394877 ], [ -122.968277961926233, 38.182670938508039 ], [ -122.968075040014284, 38.182625961241662 ], [ -122.96694399796138, 38.183243998414319 ], [ -122.966595974723731, 38.183313043605722 ], [ -122.966160955770746, 38.183038034197914 ], [ -122.96584203476209, 38.182489017051203 ], [ -122.964652039706692, 38.181940021650021 ], [ -122.964593966985902, 38.181573021524308 ], [ -122.96401400907996, 38.181482014908738 ], [ -122.963201985503389, 38.180955933144425 ], [ -122.96259297807093, 38.180818016598721 ], [ -122.961954975626597, 38.180520958395014 ], [ -122.96143300163007, 38.180109023937398 ], [ -122.960852994708986, 38.179971952804344 ], [ -122.959430989507936, 38.179239053666208 ], [ -122.955864001005125, 38.178094994522993 ], [ -122.954935955941181, 38.177248018470927 ], [ -122.954704022400506, 38.176699989660165 ], [ -122.954354987720876, 38.176562975225352 ], [ -122.953978001167783, 38.17619697171061 ], [ -122.953629038952286, 38.175670018108818 ], [ -122.95328098321535, 38.174709049299835 ], [ -122.95325198319857, 38.173610059990999 ], [ -122.953107022430885, 38.172946024626242 ], [ -122.953251958503529, 38.171274942773039 ], [ -122.953484030300245, 38.171000008695671 ], [ -122.954091998386758, 38.17093096329026 ], [ -122.954672038072403, 38.171023004839356 ], [ -122.954904019399464, 38.170884947329256 ], [ -122.954903995638304, 38.170634001711427 ], [ -122.954178986039366, 38.170176048075263 ], [ -122.953685976274514, 38.17026696681571 ], [ -122.952757999479047, 38.170336022655889 ], [ -122.952352006478122, 38.170198979200848 ], [ -122.951974973507134, 38.16983296885018 ], [ -122.951887970801636, 38.169627050780889 ], [ -122.951946025863251, 38.168551049901922 ], [ -122.951684960994854, 38.168299011325459 ], [ -122.951568964941032, 38.167703988415752 ], [ -122.952090963622396, 38.167176962969606 ], [ -122.952207011549064, 38.166604989082231 ], [ -122.95194596701991, 38.166467017281398 ], [ -122.95168502841139, 38.166170056272399 ], [ -122.951308026031541, 38.165391996696208 ], [ -122.950901965240675, 38.165002030729596 ], [ -122.949887018017563, 38.164407049041614 ], [ -122.949625964312787, 38.164040939406917 ], [ -122.949597044180237, 38.162781972725767 ], [ -122.949683969480574, 38.162690052813439 ], [ -122.949684021760902, 38.162094936316201 ], [ -122.949568009618844, 38.161820000723679 ], [ -122.94959601887038, 38.160126056678784 ], [ -122.949451001295103, 38.159759996132827 ], [ -122.94953802584655, 38.157836958265833 ], [ -122.949305994727339, 38.157448046693389 ], [ -122.949190011108399, 38.15573094430377 ], [ -122.948929037150606, 38.155044038231701 ], [ -122.94872600735826, 38.154770049370889 ], [ -122.948755016166245, 38.154220008019827 ], [ -122.949074000763417, 38.154060031181217 ], [ -122.949479009077464, 38.153029946024006 ], [ -122.949536992678929, 38.15131305820465 ], [ -122.949856020103852, 38.150809048772594 ], [ -122.949798037370954, 38.149414031906957 ], [ -122.950058012892271, 38.148017037957338 ], [ -122.950493025982738, 38.145133025618307 ], [ -122.951071983701183, 38.144262981594004 ], [ -122.951362016710974, 38.143186931917477 ], [ -122.95147701650059, 38.140782987627588 ], [ -122.951708955702784, 38.140302031236978 ], [ -122.95208596451306, 38.138562033297816 ], [ -122.95266504316686, 38.137256977455671 ], [ -122.952694029506873, 38.136684965038889 ], [ -122.952867984967682, 38.135952049797901 ], [ -122.9533600411701, 38.135037035573063 ], [ -122.953562960951615, 38.134441010862687 ], [ -122.953592001511467, 38.134052068305003 ], [ -122.953824006369899, 38.133410991057332 ], [ -122.953968007488371, 38.132082942417803 ], [ -122.954692978939022, 38.130548953317358 ], [ -122.954953009000036, 38.129382049531984 ], [ -122.955301005126017, 38.12880903100092 ], [ -122.955908978654648, 38.128145982217056 ], [ -122.956083025935129, 38.127320962602965 ], [ -122.956343970801782, 38.126656936214161 ], [ -122.956764025857538, 38.124922990566184 ], [ -122.957617984703219, 38.122989934837051 ], [ -122.957819972828361, 38.121571068752857 ], [ -122.958486001120164, 38.119762003635465 ], [ -122.958949013088471, 38.119143950343137 ], [ -122.959904970314227, 38.116258943084446 ], [ -122.960571043000471, 38.114678984830981 ], [ -122.96071501372495, 38.113443022416121 ], [ -122.960888966671646, 38.112962026220487 ], [ -122.961902977186625, 38.111245012357529 ], [ -122.962596966682213, 38.109619986641569 ], [ -122.962625981089047, 38.108818989337301 ], [ -122.963175965309887, 38.107467957092368 ], [ -122.963929003964935, 38.106139938781041 ], [ -122.96416003942926, 38.105292953005076 ], [ -122.964941965931644, 38.104032954530027 ], [ -122.965057981943872, 38.103667973113268 ], [ -122.964971031858042, 38.103438967285186 ], [ -122.964970979706351, 38.102615005555748 ], [ -122.965085970326825, 38.102340010317683 ], [ -122.965811004124092, 38.10183593238326 ], [ -122.966042017019461, 38.101539001309689 ], [ -122.966359975168061, 38.100508964238152 ], [ -122.966967971766266, 38.099249042139256 ], [ -122.967287014012371, 38.098334055827749 ], [ -122.967980997992456, 38.09718906448866 ], [ -122.96821199882649, 38.095426007640754 ], [ -122.968848957046731, 38.09419002266533 ], [ -122.969399025718275, 38.093594057911496 ], [ -122.96968901538348, 38.092564003135429 ], [ -122.970238016128732, 38.091258983359197 ], [ -122.971597963859878, 38.087756031043455 ], [ -122.972524038721616, 38.086358990817871 ], [ -122.9731320131134, 38.084549958926075 ], [ -122.973738974420343, 38.083497010188665 ], [ -122.973883980448107, 38.083062035432242 ], [ -122.97391197071552, 38.081758006020245 ], [ -122.974432998267474, 38.080521962072687 ], [ -122.976141035975303, 38.078049017770603 ], [ -122.976401000348005, 38.077384940993994 ], [ -122.976719029752772, 38.075622019694791 ], [ -122.977588009451253, 38.0745689602429 ], [ -122.977789988739843, 38.074111036410223 ], [ -122.977876028849721, 38.072943051776861 ], [ -122.978541980291041, 38.071546052133669 ], [ -122.979727994217683, 38.069760040078393 ], [ -122.980045968527946, 38.068112020602562 ], [ -122.980798042048932, 38.067082011440625 ], [ -122.981375976006404, 38.066050984045688 ], [ -122.981463012556034, 38.064905949806928 ], [ -122.981781023699824, 38.063945009620944 ], [ -122.983081983557526, 38.062181933632573 ], [ -122.983746999549268, 38.060098942659884 ], [ -122.985193023779445, 38.057785939822232 ], [ -122.985453974023415, 38.057213940510479 ], [ -122.985655959395771, 38.056229033871993 ], [ -122.986262990850832, 38.054969988008722 ], [ -122.98710104051716, 38.052932059672777 ], [ -122.988373013868227, 38.050550977000981 ], [ -122.988661980189633, 38.049864059128041 ], [ -122.989442991574904, 38.048558962215772 ], [ -122.989876020720473, 38.047139057644202 ], [ -122.991264000573409, 38.044734996706175 ], [ -122.991436983419277, 38.044115940546014 ], [ -122.992247008531407, 38.042719993358176 ], [ -122.992420013706948, 38.041758025307068 ], [ -122.993403018578078, 38.039972979483814 ], [ -122.993604044782927, 38.03903396538508 ], [ -122.993836019254175, 38.03843898947099 ], [ -122.994818987700185, 38.037316938078327 ], [ -122.995310023564485, 38.036630011040337 ], [ -122.995598962141003, 38.035897024474814 ], [ -122.995886979651218, 38.034019968812238 ], [ -122.996610016137438, 38.032531041062619 ], [ -122.998084015455603, 38.030584016715537 ], [ -122.998227973998283, 38.030058034473463 ], [ -122.998313992209603, 38.028959030756965 ], [ -122.998660997873131, 38.028295041209176 ], [ -123.000256985079687, 38.025829045956542 ], [ -123.000366027098934, 38.02566104031343 ], [ -123.001108998833899, 38.023589063106108 ], [ -123.002579026972654, 38.020968971768895 ], [ -123.004143974170134, 38.017742037778007 ], [ -123.004925985792482, 38.016643986113358 ], [ -123.005361030354891, 38.015362026364585 ], [ -123.00628897416172, 38.013393933983529 ], [ -123.006926016260863, 38.012271935404371 ], [ -123.007186983101036, 38.011608064671172 ], [ -123.007216996947292, 38.010921957128751 ], [ -123.008086040151142, 38.00922804157684 ], [ -123.008472042354228, 38.008742022672763 ], [ -123.009013041950567, 38.008060946164207 ], [ -123.009765990018252, 38.006549959720665 ], [ -123.010693030505507, 38.005451996311351 ], [ -123.011184995360011, 38.004467996179024 ], [ -123.011532957992856, 38.003437957775034 ], [ -123.0124890080304, 38.002201966802239 ], [ -123.012981044366541, 38.001377937547907 ], [ -123.013530997693849, 38.001034962947408 ], [ -123.013907033581987, 38.000966054904183 ], [ -123.014427962425444, 38.001034997154747 ], [ -123.014862015573087, 38.000967064712022 ], [ -123.015036031695033, 38.000782982301658 ], [ -123.015180994652553, 38.000387945207535 ], [ -123.015440997893904, 37.99992797181438 ], [ -123.015799978193371, 37.999615007498946 ], [ -123.015961985672007, 37.999475004007664 ], [ -123.016222961840811, 37.999429058833975 ], [ -123.016165007878058, 37.998904065311137 ], [ -123.017236020319331, 37.998630005503514 ], [ -123.018219025354583, 37.999087966230775 ], [ -123.018508031379014, 37.999409005709602 ], [ -123.019259999544403, 37.999317066039126 ], [ -123.020011966777858, 37.999556064016147 ], [ -123.020561966145408, 37.999543998884363 ], [ -123.021285959797794, 37.998722991923358 ], [ -123.021430960252019, 37.998585941313827 ], [ -123.021286018663275, 37.998310933287087 ], [ -123.021575031647231, 37.99801303235111 ], [ -123.021894042001833, 37.99805902369841 ], [ -123.022067000673502, 37.997990972120995 ], [ -123.022443962212364, 37.99753293263317 ], [ -123.022964959422353, 37.99673195100587 ], [ -123.023572994365267, 37.996296958026463 ], [ -123.024065979226862, 37.995335997867834 ], [ -123.024066033037087, 37.994956047478986 ], [ -123.024066007545727, 37.994878029501429 ], [ -123.023804970978347, 37.994672053181937 ], [ -123.022879034385724, 37.994533945136659 ], [ -123.022734037515363, 37.994648042873663 ], [ -123.022590007537048, 37.995015064969884 ], [ -123.022329043685659, 37.995036942939734 ], [ -123.021779992556304, 37.994831016458541 ], [ -123.021655003835448, 37.994913000668923 ], [ -123.021288041983127, 37.995152050540696 ], [ -123.020912010067164, 37.995106067677867 ], [ -123.020390983798535, 37.994877034151699 ], [ -123.019234013571051, 37.994875961609608 ], [ -123.019002976241751, 37.99432705671871 ], [ -123.018453001001745, 37.994280953135856 ], [ -123.018054960646154, 37.994082026782181 ], [ -123.01790403854055, 37.994006003432297 ], [ -123.017643966662902, 37.994028011701168 ], [ -123.017622004619767, 37.994090964531239 ], [ -123.017557008063079, 37.994279963686743 ], [ -123.017382986449121, 37.994348994618328 ], [ -123.017090003813891, 37.994038937156553 ], [ -123.017035982138196, 37.993982051004245 ], [ -123.016804989975498, 37.993937019689305 ], [ -123.016678035229276, 37.993999001512037 ], [ -123.01657296615673, 37.994050981419079 ], [ -123.015908042362526, 37.994027977654369 ], [ -123.01578399784168, 37.993972931124226 ], [ -123.0156100333474, 37.993896062958861 ], [ -123.015184956157498, 37.993706988333564 ], [ -123.014477971618177, 37.993791995994862 ], [ -123.014057036822265, 37.993844012114451 ], [ -123.013922984337853, 37.994024990381334 ], [ -123.013565033369986, 37.994508067796389 ], [ -123.013216960404137, 37.994529935564529 ], [ -123.012869975080648, 37.994666998418566 ], [ -123.0121750162848, 37.995445984793982 ], [ -123.012001961725929, 37.995491067116305 ], [ -123.011798988548549, 37.995399972796314 ], [ -123.011915037924012, 37.994988043059713 ], [ -123.011654966533143, 37.994484050394483 ], [ -123.011191973510677, 37.994758003282158 ], [ -123.011105023041594, 37.99521597990195 ], [ -123.010614034898083, 37.995147020163394 ], [ -123.010352958935073, 37.995032973822219 ], [ -123.009225027457347, 37.995306975594055 ], [ -123.007835994413625, 37.995282994979966 ], [ -123.00754695986889, 37.994939960085105 ], [ -123.006534993324451, 37.994618935814529 ], [ -123.006130038739641, 37.994367018657627 ], [ -123.006130986934238, 37.994000024217151 ], [ -123.0062460136933, 37.993772019719145 ], [ -123.006044001001555, 37.993314061781788 ], [ -123.005813008492169, 37.993152967649607 ], [ -123.005378999766734, 37.993312967461328 ], [ -123.004830004336796, 37.993037956687303 ], [ -123.003730002563444, 37.992946036859898 ], [ -123.00361496262947, 37.993038000308573 ], [ -123.003006992203439, 37.992922961982593 ], [ -123.002543970507745, 37.993013946978856 ], [ -123.002371005512103, 37.993082955691342 ], [ -123.001108984250848, 37.993081988574644 ], [ -123.00073395856181, 37.993471940717491 ], [ -123.000677017632086, 37.993837949696676 ], [ -123.000455023463303, 37.993952020401181 ], [ -123.000050004440894, 37.993814996880396 ], [ -122.99993398010713, 37.993586012632335 ], [ -122.999615982632307, 37.99333505880584 ], [ -122.999385002002043, 37.993427017675387 ], [ -122.999239969027684, 37.993724020377876 ], [ -122.999066998395222, 37.993862029312396 ], [ -122.998719994266636, 37.993746970622922 ], [ -122.997996967631394, 37.994091000185961 ], [ -122.996665964223467, 37.994275030489334 ], [ -122.995883961902464, 37.994068976253054 ], [ -122.995507968078428, 37.993749004206585 ], [ -122.995333967662873, 37.993176959289329 ], [ -122.995362004955211, 37.993015995445496 ], [ -122.995217961975385, 37.992902060849602 ], [ -122.994580991594589, 37.992902033226478 ], [ -122.99371399796334, 37.993177024691732 ], [ -122.993627982619515, 37.993932977892015 ], [ -122.993454018239589, 37.994116043058732 ], [ -122.992557999750815, 37.994391024325928 ], [ -122.991979024205264, 37.994437036596437 ], [ -122.991198038008022, 37.994758065604117 ], [ -122.990764008145732, 37.994758032321108 ], [ -122.990300992844467, 37.994598015927551 ], [ -122.989491013094323, 37.994140963703771 ], [ -122.988882976905117, 37.993957973910497 ], [ -122.988044033109887, 37.993339943988268 ], [ -122.987291998005887, 37.993431965813123 ], [ -122.987175993907897, 37.993318024403031 ], [ -122.98720502620877, 37.992654029522384 ], [ -122.986654992537751, 37.992126994714397 ], [ -122.986480972205499, 37.992058955518772 ], [ -122.986018998659759, 37.992173956968223 ], [ -122.986018974704862, 37.992768949960649 ], [ -122.98517998239042, 37.993021067916928 ], [ -122.984862004955787, 37.992929067564226 ], [ -122.984485982917121, 37.992998023664775 ], [ -122.984312012516213, 37.993113056026971 ], [ -122.984052027501519, 37.993113021061554 ], [ -122.983531035805598, 37.992907060582667 ], [ -122.983213018677716, 37.992610012033893 ], [ -122.982662978850769, 37.992609932241457 ], [ -122.982200985005221, 37.992769983235647 ], [ -122.981622038447782, 37.992724970467791 ], [ -122.980840990377317, 37.992496002378502 ], [ -122.980464978965841, 37.992519036112505 ], [ -122.98014702444074, 37.992702057634816 ], [ -122.979395005307865, 37.992725023877341 ], [ -122.978497992392263, 37.992932019434974 ], [ -122.977399010573663, 37.992818025387081 ], [ -122.976820042754085, 37.992565973673734 ], [ -122.976067994443142, 37.992405984700824 ], [ -122.976039011311855, 37.992336973694869 ], [ -122.975373988247526, 37.992428937024705 ], [ -122.974390022576628, 37.992429008541514 ], [ -122.973955965899194, 37.992292029631621 ], [ -122.973608968491376, 37.992040013228433 ], [ -122.973492997750839, 37.991651023646973 ], [ -122.973666957652199, 37.991354059075967 ], [ -122.973636999723126, 37.991032967323584 ], [ -122.973405972952833, 37.9906900021032 ], [ -122.972972012364608, 37.990324035183683 ], [ -122.971612009416418, 37.99027794608952 ], [ -122.970021005269004, 37.990531039548202 ], [ -122.967995975283955, 37.990394044804717 ], [ -122.966780991539608, 37.99016500521742 ], [ -122.966606957334292, 37.989982021926153 ], [ -122.966578035770723, 37.989798938869384 ], [ -122.966432976417735, 37.989683982887279 ], [ -122.966114973352774, 37.989729942067825 ], [ -122.965363018020057, 37.990050948963408 ], [ -122.965229020113924, 37.990065977893529 ], [ -122.964523974144285, 37.990142940433302 ], [ -122.964408956800213, 37.990280070981719 ], [ -122.964495982949884, 37.990439935689807 ], [ -122.965306008897315, 37.990760980829862 ], [ -122.965681955958033, 37.991057953969431 ], [ -122.966144956812983, 37.991858969957711 ], [ -122.966637039808575, 37.992316938332259 ], [ -122.966810986772316, 37.992705950998122 ], [ -122.967273974455324, 37.993187004012199 ], [ -122.967360985213077, 37.993804975817277 ], [ -122.967476000513926, 37.993874012765446 ], [ -122.968980966854758, 37.993597976477197 ], [ -122.96970504089353, 37.993620979140395 ], [ -122.970832963403922, 37.994125001394245 ], [ -122.971151026864121, 37.994192958310691 ], [ -122.971932007112954, 37.994101046619235 ], [ -122.972424002577199, 37.994215936764355 ], [ -122.973030999273135, 37.994215936689763 ], [ -122.97442003637039, 37.994649993217244 ], [ -122.97534603880419, 37.994855938761347 ], [ -122.976763985276264, 37.995680063495499 ], [ -122.977486982783049, 37.996388984678518 ], [ -122.978124017918248, 37.996572038708116 ], [ -122.978817966722616, 37.996572024910755 ], [ -122.979426043751516, 37.996915045725146 ], [ -122.980380995126822, 37.997166021135371 ], [ -122.981595990466431, 37.997624044896774 ], [ -122.982956020006085, 37.997783947240642 ], [ -122.983303008327752, 37.997943976048397 ], [ -122.983332976896307, 37.999202970080994 ], [ -122.983391007867169, 37.999927953492076 ], [ -122.983391008426182, 38.000320014636031 ], [ -122.983826031687258, 38.000808039262466 ], [ -122.984027981045557, 38.001426013704801 ], [ -122.983970994392081, 38.002409960828231 ], [ -122.983798026854075, 38.003119984324059 ], [ -122.983770002389008, 38.003898046756881 ], [ -122.983250010307685, 38.005616056523507 ], [ -122.982499003221051, 38.007195033687559 ], [ -122.982411958041396, 38.007240930104544 ], [ -122.981776000586279, 38.009119034523607 ], [ -122.979637030578431, 38.011979992549996 ], [ -122.979117036445118, 38.012850066844884 ], [ -122.976167027991977, 38.016582949577611 ], [ -122.974287008436676, 38.018368933118488 ], [ -122.973420013925207, 38.019331005136749 ], [ -122.972378024557031, 38.020246979497919 ], [ -122.970151040391414, 38.021803971446808 ], [ -122.968444005323349, 38.022858030989305 ], [ -122.966360970706347, 38.024414988980269 ], [ -122.963524972094561, 38.025949991278829 ], [ -122.962656002671309, 38.026316006747535 ], [ -122.961469978729866, 38.027139033207789 ], [ -122.956811013244533, 38.028720015488631 ], [ -122.950009992194026, 38.030482995033587 ], [ -122.94621899302885, 38.031193055740125 ], [ -122.942976988434282, 38.031354041071246 ], [ -122.941906007312539, 38.031537012786131 ], [ -122.940429975468362, 38.031605982980466 ], [ -122.939823036028841, 38.031811983680306 ], [ -122.939710967928775, 38.031907969451069 ], [ -122.939532973826218, 38.032064053833686 ], [ -122.939156994091206, 38.032865017653975 ], [ -122.938722987938476, 38.033207984618222 ], [ -122.938347034361627, 38.033322983538525 ], [ -122.936813039459906, 38.033460037541857 ], [ -122.936321024594989, 38.033642986376613 ], [ -122.936060034158857, 38.033918018212702 ], [ -122.93588600855918, 38.034307024919208 ], [ -122.935914957343968, 38.034902029336465 ], [ -122.936089030403622, 38.035177015859858 ], [ -122.936639033487552, 38.035588947053675 ], [ -122.937448998253984, 38.035794986268563 ], [ -122.938896024755195, 38.036024025651521 ], [ -122.939127977963466, 38.035977955149939 ], [ -122.9393310400106, 38.035772032133401 ], [ -122.939244034127128, 38.035589054634983 ], [ -122.938809966504678, 38.035131005188028 ], [ -122.938809959860677, 38.034924977179507 ], [ -122.939012002540039, 38.034764963327632 ], [ -122.939562001317981, 38.034764965689156 ], [ -122.940170003510559, 38.034924973014554 ], [ -122.940373029285794, 38.035086039936253 ], [ -122.940411041591517, 38.035198015641512 ], [ -122.940574993176057, 38.035680989931926 ], [ -122.940719973510113, 38.036618962138697 ], [ -122.941066976157316, 38.036985987440005 ], [ -122.94237003215359, 38.039091976614579 ], [ -122.943036036628186, 38.039595048595764 ], [ -122.943672025495459, 38.039893060330961 ], [ -122.944541000633819, 38.041037962920818 ], [ -122.947029996705069, 38.04302897558852 ], [ -122.948390968279426, 38.044838061931657 ], [ -122.948826008349968, 38.045729958942125 ], [ -122.949230969828363, 38.0460969848167 ], [ -122.949723021339679, 38.046326037623686 ], [ -122.950514000917664, 38.046527049487189 ], [ -122.95062002901166, 38.04655399172885 ], [ -122.951402028662486, 38.047012000242198 ], [ -122.952358009612112, 38.047903957237878 ], [ -122.955281963317034, 38.049049030479964 ], [ -122.956005044316825, 38.048958048464876 ], [ -122.956584005157978, 38.048797018648052 ], [ -122.956816036048963, 38.048820058648879 ], [ -122.956990033820816, 38.048957004707006 ], [ -122.957105993817294, 38.049827066205026 ], [ -122.957366959827894, 38.050170070874408 ], [ -122.957858972260695, 38.050559067057705 ], [ -122.958351958544299, 38.05081005267499 ], [ -122.958439026596679, 38.051313956518371 ], [ -122.958670033826948, 38.051589069812749 ], [ -122.959828026871932, 38.052000962797599 ], [ -122.960234018584785, 38.052275006052746 ], [ -122.96113099323054, 38.052595965258455 ], [ -122.961450005923126, 38.052847020974475 ], [ -122.961449986913607, 38.053053048360823 ], [ -122.961159987407058, 38.053168007157254 ], [ -122.960147041149341, 38.052893058812181 ], [ -122.959887011574139, 38.05307702901608 ], [ -122.959857960279336, 38.053443023995094 ], [ -122.96098701999675, 38.054243995747093 ], [ -122.962463992109861, 38.054930013940179 ], [ -122.96344798102453, 38.054952996886293 ], [ -122.963621994238039, 38.055113028334056 ], [ -122.963679985294419, 38.055433986966129 ], [ -122.964287966406843, 38.055913964770468 ], [ -122.964374969049672, 38.056098049723246 ], [ -122.963969996588034, 38.056395067481887 ], [ -122.963535970151995, 38.056372964917095 ], [ -122.961942997354626, 38.055549054964047 ], [ -122.961102987447973, 38.055205025632667 ], [ -122.960206009821817, 38.055159942983991 ], [ -122.959278959272041, 38.054427052601085 ], [ -122.958034035070852, 38.053832050529401 ], [ -122.956817957438759, 38.052824991044098 ], [ -122.956468963838617, 38.052252970812191 ], [ -122.955919033595436, 38.051771988291286 ], [ -122.955601030253405, 38.051657940938206 ], [ -122.954674016535492, 38.051589005235535 ], [ -122.952965978785656, 38.050833932999808 ], [ -122.951432028682973, 38.049986948956786 ], [ -122.950216015991188, 38.048979961406559 ], [ -122.94983901402415, 38.04884305970662 ], [ -122.949613973664938, 38.04888704181198 ], [ -122.949376019836848, 38.048933975258855 ], [ -122.948681022218736, 38.050238984182265 ], [ -122.948449988809912, 38.052346052348831 ], [ -122.948392004962926, 38.054268995979093 ], [ -122.948594958829688, 38.0546349488868 ], [ -122.949521958408397, 38.05555001046222 ], [ -122.949898011478254, 38.056214021380811 ], [ -122.950043031947715, 38.056672046639612 ], [ -122.950940961749879, 38.057977029241698 ], [ -122.95120096545908, 38.058160069346528 ], [ -122.952475042394809, 38.058458014082156 ], [ -122.954879034703453, 38.059509939437177 ], [ -122.956211983678742, 38.060609020237692 ], [ -122.958123026791441, 38.061432980075423 ], [ -122.95835499438131, 38.061638948751522 ], [ -122.958355029628748, 38.061891025643611 ], [ -122.957832967507414, 38.062050957624862 ], [ -122.956877982056582, 38.062829937020098 ], [ -122.956299003270502, 38.063584967863967 ], [ -122.956328037919079, 38.063882964406289 ], [ -122.956994014525989, 38.064523963766554 ], [ -122.957284018277988, 38.06525593702289 ], [ -122.957602993099798, 38.065645011113574 ], [ -122.957777039017842, 38.066079941281671 ], [ -122.957922043767269, 38.066996059629638 ], [ -122.957863971080656, 38.067156015963036 ], [ -122.957632017099513, 38.067361959470098 ], [ -122.957632013128048, 38.068141002971956 ], [ -122.957487973342722, 38.06848400045557 ], [ -122.957226978444908, 38.068689932608166 ], [ -122.956301003082501, 38.069057004158061 ], [ -122.955865958468451, 38.069422986327979 ], [ -122.955577042003625, 38.069834931093588 ], [ -122.955634961996168, 38.07008702949507 ], [ -122.956272007015542, 38.070636062723935 ], [ -122.956417026092112, 38.070911006704286 ], [ -122.956445955616843, 38.071391934277308 ], [ -122.956359017490797, 38.071552019870559 ], [ -122.956445968276896, 38.072422067898344 ], [ -122.956358967302918, 38.072535962901441 ], [ -122.956302005913201, 38.073360048484005 ], [ -122.956416957162503, 38.073428954489017 ], [ -122.956909971916801, 38.073428995446619 ], [ -122.957025979199329, 38.073520996508009 ], [ -122.95647598428134, 38.074527972931207 ], [ -122.956533980928569, 38.074963002076892 ], [ -122.956707959275633, 38.075236970430595 ], [ -122.957112958482895, 38.075580027163348 ], [ -122.957403019711037, 38.076290030120227 ], [ -122.957374016276532, 38.077457033968685 ], [ -122.957143035005245, 38.077617067644724 ], [ -122.956505008922505, 38.077708932604651 ], [ -122.95578095590858, 38.077022001198422 ], [ -122.955810029764834, 38.076815985586755 ], [ -122.956301983249645, 38.076541983809065 ], [ -122.956475995275198, 38.076313067384461 ], [ -122.956418013520079, 38.0761519424141 ], [ -122.956156980739891, 38.07592300514596 ], [ -122.954795962122262, 38.075695057616144 ], [ -122.954651004880319, 38.075603043221001 ], [ -122.954679965061061, 38.075008069841928 ], [ -122.95479597738732, 38.074801947077148 ], [ -122.954737995791888, 38.074503939567919 ], [ -122.954130016209888, 38.073590032718279 ], [ -122.954129963853148, 38.073245997734503 ], [ -122.954506028082918, 38.072810995267474 ], [ -122.954593014310916, 38.07258204776705 ], [ -122.954535024718865, 38.072445002807129 ], [ -122.953202985498478, 38.071438004968606 ], [ -122.953231972263367, 38.07095695884086 ], [ -122.953463020023079, 38.070109989018349 ], [ -122.953462976810385, 38.069194063977108 ], [ -122.953694028205248, 38.068186975517854 ], [ -122.953780983895712, 38.067294038882295 ], [ -122.954011970655742, 38.066515930827087 ], [ -122.954273020288156, 38.066081024366945 ], [ -122.954273009566464, 38.06566897049521 ], [ -122.953808028164332, 38.064935935460554 ], [ -122.953228969988629, 38.064341002495325 ], [ -122.95328701473575, 38.063677035626114 ], [ -122.953489993941389, 38.063378989533021 ], [ -122.953894958185899, 38.063082008248543 ], [ -122.954474000450304, 38.062257984932522 ], [ -122.954531955508259, 38.062005930503943 ], [ -122.953518027273617, 38.061159034406373 ], [ -122.953402010986963, 38.060838048095228 ], [ -122.953229000734439, 38.060655047584959 ], [ -122.953025994901282, 38.060586948112842 ], [ -122.952128036588419, 38.060587008315657 ], [ -122.951549006695018, 38.060426934586062 ], [ -122.950824990385911, 38.060540983908403 ], [ -122.950420031157222, 38.060700931932473 ], [ -122.949551040842735, 38.06079294344913 ], [ -122.948248997033701, 38.06109106743191 ], [ -122.947726959730701, 38.061068022776084 ], [ -122.946684994757049, 38.060816041188879 ], [ -122.946220010938433, 38.060840051283577 ], [ -122.945323975414311, 38.060884983590661 ], [ -122.944600028557119, 38.060770012999448 ], [ -122.94431098669412, 38.060839021536061 ], [ -122.944339998362423, 38.061572029812027 ], [ -122.944195036307235, 38.061892056455463 ], [ -122.943760970368828, 38.06223602602104 ], [ -122.942283999614475, 38.062831000032062 ], [ -122.941734031446188, 38.063425996108911 ], [ -122.941560018217857, 38.063861059029691 ], [ -122.941588973427926, 38.064295941047085 ], [ -122.941879014062437, 38.065349033273712 ], [ -122.941936986238801, 38.065921937906701 ], [ -122.942140030560751, 38.066172988111987 ], [ -122.9421109557112, 38.066563058917211 ], [ -122.941647033454359, 38.066996992818694 ], [ -122.941502975469703, 38.067271952309994 ], [ -122.941242022336084, 38.068599941925278 ], [ -122.940344008421391, 38.070522030776445 ], [ -122.939852030694269, 38.07091101992097 ], [ -122.939735963891096, 38.071139941657634 ], [ -122.939706962558247, 38.072399041519652 ], [ -122.93941804419299, 38.074848962433677 ], [ -122.939475979225563, 38.075993052423883 ], [ -122.939621029512082, 38.076383070668399 ], [ -122.940257963908536, 38.077206939010722 ], [ -122.940257989526117, 38.077503938291528 ], [ -122.939591965124706, 38.078580061643144 ], [ -122.939186016919862, 38.078924027745025 ], [ -122.93849102662368, 38.079771007928485 ], [ -122.937217023114385, 38.080479949521937 ], [ -122.937072039778883, 38.0806409753352 ], [ -122.936984993419202, 38.081487988647254 ], [ -122.936579967767315, 38.082174994725342 ], [ -122.936637991420724, 38.082449070629693 ], [ -122.936868985214772, 38.082654939624412 ], [ -122.937621971321903, 38.082906995178597 ], [ -122.937592963524466, 38.083182010124794 ], [ -122.936231972122314, 38.084577977215865 ], [ -122.935478972868054, 38.085745987082134 ], [ -122.93495799092814, 38.0862490065823 ], [ -122.934812979157684, 38.086523956421772 ], [ -122.934842028308594, 38.087118955864113 ], [ -122.935392017884652, 38.088080949609058 ], [ -122.935421028746788, 38.088928024425449 ], [ -122.935160004846608, 38.089316978520714 ], [ -122.934609984302185, 38.08968295800797 ], [ -122.932264030455727, 38.090438982741659 ], [ -122.932032012330808, 38.09094201422613 ], [ -122.931916037787872, 38.091010951026817 ], [ -122.931191999839228, 38.09107896995458 ], [ -122.930814964638827, 38.091352933595751 ], [ -122.929308985689318, 38.091285004942918 ], [ -122.92873000939305, 38.091147069849029 ], [ -122.928730008963413, 38.090963998191924 ], [ -122.930351969649493, 38.089728955176561 ], [ -122.930699968404582, 38.089156991403691 ], [ -122.931133961493785, 38.088081066372688 ], [ -122.931278988203147, 38.087141993104943 ], [ -122.931568963425917, 38.086387061577099 ], [ -122.932060999836366, 38.085997967393183 ], [ -122.933335984588282, 38.085447932993958 ], [ -122.934001963670667, 38.084990065974786 ], [ -122.934581029754042, 38.084783941017434 ], [ -122.935362957724749, 38.084760996809372 ], [ -122.935566026738783, 38.084510018219291 ], [ -122.935334008894671, 38.083846043988693 ], [ -122.934957958168127, 38.083570946981816 ], [ -122.933017029698547, 38.082837991619272 ], [ -122.93267003292857, 38.082564030401286 ], [ -122.932525023154568, 38.082059936120245 ], [ -122.931975001653953, 38.08150998072577 ], [ -122.931858966777952, 38.080412044954429 ], [ -122.931946041680831, 38.079884988870703 ], [ -122.93350997706743, 38.078260063559718 ], [ -122.934234014789567, 38.077253011218481 ], [ -122.935247978700204, 38.074826037759642 ], [ -122.935160990033609, 38.074481954938612 ], [ -122.934669003344752, 38.073818961166687 ], [ -122.933771029073469, 38.073361059728434 ], [ -122.933481027110048, 38.072948983462055 ], [ -122.933510032139353, 38.071803953396298 ], [ -122.933828988020238, 38.071117049072654 ], [ -122.933944957104103, 38.070521988525194 ], [ -122.934118969359943, 38.070155941572963 ], [ -122.934119044407808, 38.0696750247076 ], [ -122.933192041142391, 38.069171052531281 ], [ -122.932902985689154, 38.068621952469705 ], [ -122.932903010626802, 38.067912054153751 ], [ -122.933105030225605, 38.067499974775075 ], [ -122.933916030156439, 38.066539021725191 ], [ -122.933916031008906, 38.066241036136475 ], [ -122.933569035103531, 38.065852022833226 ], [ -122.933337036884311, 38.06466206127638 ], [ -122.932990004430948, 38.064226996367587 ], [ -122.930296967292819, 38.062921953926065 ], [ -122.929284000710851, 38.062556048744547 ], [ -122.92902299109808, 38.062625036521041 ], [ -122.928820027918761, 38.063173990573794 ], [ -122.928124003252051, 38.063379030729436 ], [ -122.927400987653783, 38.063676008818497 ], [ -122.927168981007981, 38.063860064401396 ], [ -122.926532002600212, 38.065301997500661 ], [ -122.926503006405667, 38.065530960767504 ], [ -122.925981021665891, 38.066492045159151 ], [ -122.923866988898553, 38.069170029529417 ], [ -122.923315978145965, 38.071001943467053 ], [ -122.923315982650706, 38.072192053979009 ], [ -122.923664009953484, 38.072765014965796 ], [ -122.92389501526803, 38.07349703114464 ], [ -122.923895009877683, 38.073932038838066 ], [ -122.923373994781798, 38.074642020355498 ], [ -122.923113043616127, 38.07477901323356 ], [ -122.922880965525394, 38.074732952319458 ], [ -122.922794991344404, 38.073817957475484 ], [ -122.922591967105078, 38.073337048184953 ], [ -122.922216001783468, 38.072993046693227 ], [ -122.921983978152412, 38.07264998456148 ], [ -122.921983962760123, 38.072329044849873 ], [ -122.922302971900095, 38.071780039434394 ], [ -122.922216005978981, 38.071391023776613 ], [ -122.921955007755827, 38.071162010426036 ], [ -122.920130984501185, 38.070314991157687 ], [ -122.918972987309886, 38.069605004619518 ], [ -122.918075963889848, 38.069306960705617 ], [ -122.916773002406998, 38.068596992082284 ], [ -122.916802030149682, 38.068368031371222 ], [ -122.918944978971098, 38.067704976003029 ], [ -122.920247987234632, 38.067063987378809 ], [ -122.92149296983871, 38.066193964135273 ], [ -122.921696011357483, 38.065964977386912 ], [ -122.921724968721961, 38.065117934546713 ], [ -122.921638013537205, 38.064729058856024 ], [ -122.921175018402749, 38.064363026799896 ], [ -122.919871990258102, 38.063767019337654 ], [ -122.919843028248437, 38.063538018136633 ], [ -122.920422959546002, 38.062989053807399 ], [ -122.921146995570069, 38.062508060986062 ], [ -122.922304979372996, 38.062050024125618 ], [ -122.922507982681154, 38.061843990264592 ], [ -122.922623002281071, 38.061547066000742 ], [ -122.92230501523386, 38.060836957101806 ], [ -122.922275989171411, 38.060494028851672 ], [ -122.92253698399, 38.059762051496158 ], [ -122.923029022768318, 38.059670979227434 ], [ -122.924505957133903, 38.059807974104523 ], [ -122.924998040650948, 38.059670984639062 ], [ -122.925838029652809, 38.058595050411931 ], [ -122.929456992154826, 38.056764016076684 ], [ -122.92997900624944, 38.056305942217136 ], [ -122.930819016932304, 38.055940012431961 ], [ -122.931571956993906, 38.05573400339717 ], [ -122.932237965877164, 38.055253048640729 ], [ -122.933105989305957, 38.055001046187662 ], [ -122.933483034925786, 38.054794951191816 ], [ -122.934293032424705, 38.053696969869762 ], [ -122.934727994690974, 38.052436966864207 ], [ -122.934814970978351, 38.051658955383246 ], [ -122.935537999976518, 38.049553029654454 ], [ -122.936087956411853, 38.048499956194924 ], [ -122.936725000132682, 38.047836027453577 ], [ -122.937565032034883, 38.046347951969167 ], [ -122.937478015199432, 38.04595894586911 ], [ -122.937101996336693, 38.045135057232244 ], [ -122.93666803427584, 38.044607996183473 ], [ -122.935335991204354, 38.04364698208304 ], [ -122.934843962581695, 38.043462933147282 ], [ -122.933860019575761, 38.043371973738957 ], [ -122.933425978514961, 38.043165982691995 ], [ -122.931918992391644, 38.041884029908289 ], [ -122.931919989351073, 38.041288056792112 ], [ -122.932470011156752, 38.039571006184737 ], [ -122.932817037187235, 38.03890805725662 ], [ -122.932817010545634, 38.038449951524306 ], [ -122.932615012833864, 38.037854988482437 ], [ -122.932383014480905, 38.03638998687768 ], [ -122.931919991282044, 38.035611939464275 ], [ -122.931369957321195, 38.035452064176148 ], [ -122.931064960176499, 38.035444985285999 ], [ -122.930385972549431, 38.035428953567539 ], [ -122.929951990333123, 38.035314063694884 ], [ -122.928967985779593, 38.035405995795749 ], [ -122.927897001164183, 38.035406048001214 ], [ -122.927521039593529, 38.035861951217669 ], [ -122.927115032176943, 38.035908031873085 ], [ -122.925176013628061, 38.034785982202692 ], [ -122.925002960589083, 38.034511965949925 ], [ -122.924973959456594, 38.034054968011354 ], [ -122.924800005165821, 38.033619987046812 ], [ -122.924511030208535, 38.033276046251984 ], [ -122.923873965213446, 38.033115939108583 ], [ -122.920980028960216, 38.032999960898593 ], [ -122.919764013912655, 38.033206010349552 ], [ -122.919417041842436, 38.033411941923539 ], [ -122.91912696925462, 38.033847035065016 ], [ -122.918866986900241, 38.034601963397392 ], [ -122.918664019535882, 38.036524938595555 ], [ -122.918461012204389, 38.037028953794675 ], [ -122.918229018378142, 38.037096952279562 ], [ -122.917506990732051, 38.034326970226523 ], [ -122.9173030239089, 38.03401996772093 ], [ -122.917188022158356, 38.033845967019367 ], [ -122.916725025230463, 38.033593984439236 ], [ -122.91599999482554, 38.033455036993544 ], [ -122.915654036221071, 38.033388037922187 ], [ -122.914988966761143, 38.033365026812262 ], [ -122.914467992203242, 38.03352504946929 ], [ -122.913859957040358, 38.033982993269696 ], [ -122.913599041705055, 38.034348948654269 ], [ -122.913135975874425, 38.035746020708153 ], [ -122.913019979032171, 38.036570046694926 ], [ -122.913018977372204, 38.037416971334402 ], [ -122.913568971788436, 38.038195016009951 ], [ -122.913568990634843, 38.039087991139851 ], [ -122.913771034678803, 38.039363031040487 ], [ -122.913799995460053, 38.039568939273373 ], [ -122.913626043775523, 38.039934958089283 ], [ -122.913162976049406, 38.040323999650077 ], [ -122.912988992241026, 38.040712972014525 ], [ -122.912901959348048, 38.041881055369508 ], [ -122.911975033586586, 38.042842062391387 ], [ -122.911858964630483, 38.043186012103966 ], [ -122.910613986575157, 38.044718943109373 ], [ -122.910469033120322, 38.045084978963935 ], [ -122.910323997686007, 38.045955028750939 ], [ -122.910439037101824, 38.047488986714356 ], [ -122.910351971195198, 38.047694947883208 ], [ -122.910352028627742, 38.048451039330168 ], [ -122.910467955739477, 38.048747987527086 ], [ -122.910439009450187, 38.04941195697667 ], [ -122.910062013459495, 38.049983983296372 ], [ -122.909887963965673, 38.051266064427246 ], [ -122.909684959028766, 38.051540940426257 ], [ -122.90930900819184, 38.051540932641736 ], [ -122.909193023815646, 38.050786019534371 ], [ -122.908758986550524, 38.050167037875177 ], [ -122.908499003220456, 38.049502985224123 ], [ -122.90572100817046, 38.047647950990324 ], [ -122.905545980721556, 38.047418969256142 ], [ -122.905488038188366, 38.046847030793622 ], [ -122.905808044153076, 38.046571973974601 ], [ -122.906531956658569, 38.046205983230124 ], [ -122.906676966658509, 38.046023025396956 ], [ -122.906734977884085, 38.04556496634315 ], [ -122.907255998525926, 38.044672967739167 ], [ -122.907198026084146, 38.044398030711733 ], [ -122.906735026217973, 38.04412305467546 ], [ -122.90534302031395, 38.043712984983017 ], [ -122.905258022956474, 38.04368799040811 ], [ -122.904794975513965, 38.043390052113196 ], [ -122.904651035056062, 38.043091948746159 ], [ -122.904477002611287, 38.042245023783565 ], [ -122.90441999270061, 38.041787012895895 ], [ -122.9059539655034, 38.040597006847605 ], [ -122.906156981319626, 38.040231022646999 ], [ -122.90612900685521, 38.039269020884781 ], [ -122.90621604094116, 38.038879989265119 ], [ -122.906447006055885, 38.03851402674519 ], [ -122.90696897026514, 38.036980005048918 ], [ -122.907664026361346, 38.035905067527388 ], [ -122.908736005240584, 38.03496603400837 ], [ -122.908737022204406, 38.034576933426521 ], [ -122.908459010026021, 38.034137059474318 ], [ -122.908274026281418, 38.033843997836911 ], [ -122.907664986000228, 38.033226000350282 ], [ -122.907028990543111, 38.032883010994468 ], [ -122.905871034981288, 38.032630011586598 ], [ -122.904337024489578, 38.032470062861726 ], [ -122.901617031205333, 38.031735946925764 ], [ -122.897767957102175, 38.031574938310207 ], [ -122.896928000700512, 38.031666023355733 ], [ -122.896291967708962, 38.03196302885808 ], [ -122.895799003732819, 38.032374930755743 ], [ -122.894814996931544, 38.032902010194896 ], [ -122.893946002587597, 38.033794064529111 ], [ -122.891659983814776, 38.033952944023234 ], [ -122.891573033006594, 38.032969055529222 ], [ -122.891341964474407, 38.032282035175612 ], [ -122.890908978584818, 38.031549058749754 ], [ -122.890590011372851, 38.031252042515682 ], [ -122.889866970408448, 38.031021962314966 ], [ -122.889491036466012, 38.030725030528295 ], [ -122.889289032780624, 38.030380943970059 ], [ -122.888507968485683, 38.029853939993231 ], [ -122.888104012458541, 38.028206035189221 ], [ -122.888479992420315, 38.028342993442216 ], [ -122.888681986958673, 38.0286869406698 ], [ -122.88894198515554, 38.029351039374816 ], [ -122.889260012732976, 38.02967101388559 ], [ -122.88966503560404, 38.029739976816508 ], [ -122.891198996734232, 38.029512001070231 ], [ -122.892327969331518, 38.029488959139648 ], [ -122.894179984408439, 38.030062956557771 ], [ -122.895597969691991, 38.030131961405196 ], [ -122.896697990928388, 38.029811991045591 ], [ -122.897015968085299, 38.029811988335041 ], [ -122.897219025267276, 38.030063962527954 ], [ -122.898404976888941, 38.030041052872633 ], [ -122.899793966745108, 38.030225036729185 ], [ -122.900518023188638, 38.030248042884089 ], [ -122.901213011057905, 38.030042037426782 ], [ -122.902080971252261, 38.029492979551428 ], [ -122.903239019167245, 38.029492952494103 ], [ -122.904107013685717, 38.02937903140068 ], [ -122.906191039142087, 38.029654055499392 ], [ -122.906884990420053, 38.030250018602672 ], [ -122.907347988429734, 38.030386985380552 ], [ -122.908912024691162, 38.030640003969452 ], [ -122.909635019942456, 38.030662953160103 ], [ -122.910011978041226, 38.030480027921492 ], [ -122.910300957041045, 38.029952996953789 ], [ -122.910706991273656, 38.029793046247285 ], [ -122.911603992183615, 38.029609946361731 ], [ -122.91212499368558, 38.029930997270171 ], [ -122.912760996455532, 38.029815993724434 ], [ -122.913080038445628, 38.030044931121523 ], [ -122.9136870363252, 38.030068051238061 ], [ -122.914728986640441, 38.030320044744172 ], [ -122.915452959849802, 38.030342958869269 ], [ -122.91580002755984, 38.030206043596365 ], [ -122.916205031297693, 38.030160001243544 ], [ -122.916812989182631, 38.029886949233862 ], [ -122.919417962964246, 38.029726954558839 ], [ -122.919793997633704, 38.029956053622733 ], [ -122.920055042035614, 38.030001999794756 ], [ -122.920169977186717, 38.029909977806007 ], [ -122.919939024942465, 38.029451996036151 ], [ -122.920055001433113, 38.029384056076182 ], [ -122.920575969952864, 38.029521010195566 ], [ -122.92202303025995, 38.029636047700855 ], [ -122.92352801723554, 38.02986503317311 ], [ -122.924743043635701, 38.029864972190573 ], [ -122.925496001033977, 38.03018597127479 ], [ -122.928678956275832, 38.032703938548437 ], [ -122.930415000128903, 38.033918051742297 ], [ -122.931052000291103, 38.034169941761675 ], [ -122.931282994716412, 38.034100931567487 ], [ -122.931457008690856, 38.033941055121694 ], [ -122.931427961221189, 38.033299999447934 ], [ -122.930530971210558, 38.03130805575249 ], [ -122.929750043305717, 38.030597970567541 ], [ -122.92856297889881, 38.029933965753301 ], [ -122.927666004168856, 38.029223936834889 ], [ -122.927203021077915, 38.029040999984666 ], [ -122.925988037489475, 38.028835058214945 ], [ -122.924743010684566, 38.02876596738264 ], [ -122.923614973089229, 38.029108995835934 ], [ -122.9227749625136, 38.029224065128233 ], [ -122.920141960894796, 38.028903054129835 ], [ -122.919042023016544, 38.028605018568989 ], [ -122.916669032464881, 38.028718978729628 ], [ -122.910215015529445, 38.028670993929644 ], [ -122.902747012416995, 38.028280036240801 ], [ -122.899679997131742, 38.027958066420481 ], [ -122.89591795773427, 38.027704971376281 ], [ -122.894644980834784, 38.027544000305497 ], [ -122.889088962525733, 38.026511988556393 ], [ -122.885499990190368, 38.026030022096592 ], [ -122.883185978717449, 38.025571047641009 ], [ -122.882114013010792, 38.025272976001297 ], [ -122.878043029111325, 38.023945060587643 ], [ -122.876103982521911, 38.023312978270852 ], [ -122.871162034685426, 38.021907012419717 ], [ -122.869588968158013, 38.021402952104928 ], [ -122.867022984114968, 38.020581034412977 ], [ -122.864100023614441, 38.019484037928926 ], [ -122.862537024062135, 38.018981021380263 ], [ -122.860567991216826, 38.01824894263725 ], [ -122.858427041295414, 38.017562955772298 ], [ -122.856573034869086, 38.016717020168933 ], [ -122.856515006010312, 38.016624989960775 ], [ -122.854779019010508, 38.01580099796206 ], [ -122.852347025816883, 38.014382948853253 ], [ -122.850986965365919, 38.013787932851486 ], [ -122.850958008111959, 38.013628058508161 ], [ -122.850119029518396, 38.012917932607877 ], [ -122.847455965169672, 38.011476954874055 ], [ -122.845979959309389, 38.010493050017423 ], [ -122.845024973182646, 38.010309988753107 ], [ -122.844562007266418, 38.010104053131933 ], [ -122.844069989091437, 38.009624029373278 ], [ -122.843635969824874, 38.009577966213669 ], [ -122.842767967369255, 38.009303042717256 ], [ -122.841609963756966, 38.008479063603126 ], [ -122.841408006002382, 38.00841105400206 ], [ -122.841407986874373, 38.008295998944391 ], [ -122.840625995141281, 38.00772403218717 ], [ -122.840395030584219, 38.007449952722283 ], [ -122.839265963214388, 38.007174930358822 ], [ -122.838658027162253, 38.006945959328839 ], [ -122.838108974404804, 38.006489068495902 ], [ -122.837558993399114, 38.006213980514602 ], [ -122.836488001770988, 38.005366975267819 ], [ -122.835445976626588, 38.004908962969111 ], [ -122.834781006857625, 38.004452035045183 ], [ -122.832697987515715, 38.003422043802566 ], [ -122.831337023882185, 38.002368971984424 ], [ -122.83029502483042, 38.001429991850998 ], [ -122.828731976924942, 38.000331955846747 ], [ -122.828443016322751, 37.999924968847196 ], [ -122.827922024091123, 37.999390053104577 ], [ -122.827892964734019, 37.99895499774285 ], [ -122.82826903701114, 37.998177058898598 ], [ -122.828007966857498, 37.998176959050625 ], [ -122.826793025927387, 37.99870397933821 ], [ -122.826330004108854, 37.998612040982145 ], [ -122.825809988261327, 37.998840959853254 ], [ -122.825260005645006, 37.998909993896021 ], [ -122.824161041804302, 37.998291958630865 ], [ -122.823206020395034, 37.997582029012726 ], [ -122.821382999265182, 37.996735019804916 ], [ -122.821353968568445, 37.996597951549461 ], [ -122.820892022021326, 37.996255040610635 ], [ -122.819213964029188, 37.994445950742971 ], [ -122.818693028681466, 37.993713977477398 ], [ -122.818258965241142, 37.992432067524398 ], [ -122.817737974587686, 37.991767968131583 ], [ -122.81620503762953, 37.990348022057937 ], [ -122.816031998491681, 37.989845000479129 ], [ -122.815712969002831, 37.989410050874746 ], [ -122.815192986871153, 37.988929016140951 ], [ -122.813978031373168, 37.987371951984947 ], [ -122.813890976335514, 37.987142970901466 ], [ -122.813601965881418, 37.986913951524251 ], [ -122.81334101879807, 37.986845940885992 ], [ -122.813340981762522, 37.986684975909824 ], [ -122.812936991066024, 37.986295934045998 ], [ -122.812617964577484, 37.985838021067565 ], [ -122.812618026506854, 37.98528893775849 ], [ -122.81241598344036, 37.98522003309332 ], [ -122.81215595752316, 37.984967960736178 ], [ -122.811981997892715, 37.984945995474035 ], [ -122.810478028817869, 37.985608988075455 ], [ -122.810014991127787, 37.985701045886024 ], [ -122.809668024224351, 37.985632043159839 ], [ -122.808569033052279, 37.985151026330016 ], [ -122.807556026830881, 37.984556070261213 ], [ -122.806640989749141, 37.983858040504764 ], [ -122.805964976073568, 37.983343050425354 ], [ -122.804317034487255, 37.982266938709785 ], [ -122.803565003371361, 37.981579999544174 ], [ -122.802119008322876, 37.980893016721616 ], [ -122.801308961716913, 37.980389040275618 ], [ -122.799863016229878, 37.979176041436531 ], [ -122.799081963327552, 37.978328058831821 ], [ -122.79847496177932, 37.977824972648314 ], [ -122.79740500212867, 37.976656947186896 ], [ -122.796712026979264, 37.975695030392551 ], [ -122.795641958878036, 37.974458968929 ], [ -122.794601042165652, 37.973084937968615 ], [ -122.793300025336876, 37.971665939441777 ], [ -122.791912966306683, 37.969582070354434 ], [ -122.791738994272791, 37.969422064594532 ], [ -122.790179011753509, 37.966467978942262 ], [ -122.788040037791433, 37.962163986401229 ], [ -122.78619100901723, 37.959255937292454 ], [ -122.785293971993752, 37.957286945928594 ], [ -122.78509198634309, 37.956622998647376 ], [ -122.7844859994334, 37.955501045082741 ], [ -122.784340960072683, 37.95495197495682 ], [ -122.784022957692059, 37.954493984210842 ], [ -122.783878966307711, 37.95289096281811 ], [ -122.783243983186779, 37.951333932851313 ], [ -122.783243973978841, 37.950762032390699 ], [ -122.783678004580295, 37.949915049585144 ], [ -122.78370803550871, 37.94895297110078 ], [ -122.783533979757507, 37.948541012083993 ], [ -122.783273981872739, 37.948266060554637 ], [ -122.782782992005977, 37.948014059597298 ], [ -122.781886987721592, 37.947968041347423 ], [ -122.780239023323674, 37.948357038782419 ], [ -122.779370972799285, 37.948447937955144 ], [ -122.777926021536899, 37.948059070444167 ], [ -122.777897024294148, 37.947943959600167 ], [ -122.777289994017295, 37.947463012669324 ], [ -122.776567959037976, 37.946731030330803 ], [ -122.776019010302477, 37.945723069353221 ], [ -122.776076993198245, 37.945104946507236 ], [ -122.776337970022936, 37.944487068778415 ], [ -122.77671401809306, 37.944097972091903 ], [ -122.776772031060787, 37.943732071110801 ], [ -122.776598955884793, 37.943571058278657 ], [ -122.776077992872359, 37.943456983399948 ], [ -122.775470966097956, 37.943662984103547 ], [ -122.774863988973237, 37.944143032348094 ], [ -122.774372025149873, 37.94425700535183 ], [ -122.773070991353606, 37.944348998672737 ], [ -122.77171297709657, 37.944233991282204 ], [ -122.770730013805291, 37.943890009747903 ], [ -122.770209986142689, 37.943591989830828 ], [ -122.769748006640555, 37.943157055911009 ], [ -122.769487960232468, 37.942607037242148 ], [ -122.768477032568427, 37.941805996247233 ], [ -122.768273994172077, 37.941737013488023 ], [ -122.76821702564969, 37.941531011212447 ], [ -122.767696971518106, 37.94079796330093 ], [ -122.767495010938248, 37.940133984249002 ], [ -122.766772970867578, 37.939034944014239 ], [ -122.766398015083993, 37.938255986090283 ], [ -122.766137955639323, 37.93800395114264 ], [ -122.765358027382476, 37.937592026382191 ], [ -122.763362030904005, 37.937042040029226 ], [ -122.762785032808353, 37.936790063982208 ], [ -122.761542029024326, 37.936788959901058 ], [ -122.76067496849447, 37.936444988111639 ], [ -122.759576000465884, 37.936306989864462 ], [ -122.758276023986141, 37.936031965655033 ], [ -122.755588040438909, 37.935870939358409 ], [ -122.754605974974169, 37.935526965574439 ], [ -122.75376799703136, 37.935113997902853 ], [ -122.753219005441935, 37.934609951752734 ], [ -122.752584006580307, 37.93385406288035 ], [ -122.752295020517494, 37.933763043449893 ], [ -122.751099042929539, 37.932749939255217 ], [ -122.750687013990003, 37.932450934462786 ], [ -122.750183019664078, 37.931954996489367 ], [ -122.749359030571938, 37.931421055809544 ], [ -122.748535958216962, 37.931039064576943 ], [ -122.747863993976338, 37.930847931572416 ], [ -122.747071001889239, 37.930772013529662 ], [ -122.746643001681193, 37.930757010040551 ], [ -122.746414992526169, 37.930466976777936 ], [ -122.746124963998525, 37.930374954129782 ], [ -122.745269959566983, 37.930032021287857 ], [ -122.743864986811218, 37.929422003373006 ], [ -122.742629043280616, 37.928986965073236 ], [ -122.741408986393679, 37.928131999803405 ], [ -122.74087504204698, 37.927735943754634 ], [ -122.739287963706516, 37.926834941869139 ], [ -122.737762012882172, 37.9261789545764 ], [ -122.736897979290433, 37.92582495608449 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1415, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -123.001110999804482, 38.293932000400751 ], [ -123.00174300051404, 38.294539000877307 ], [ -123.002062000512879, 38.295088000603222 ], [ -123.002729000023393, 38.295711001130265 ], [ -123.002061999895233, 38.296036000810666 ], [ -123.001771000043618, 38.296430000793215 ], [ -123.001756999399134, 38.296736000509647 ], [ -123.001588000084169, 38.297155000419863 ], [ -123.001110999652681, 38.297447000940522 ], [ -123.001111000139744, 38.295454000779344 ], [ -123.00039399952189, 38.29600400065938 ], [ -123.000220000468701, 38.297355000672376 ], [ -123.000132999700512, 38.297423000583969 ], [ -123.000158000144268, 38.297832000502872 ], [ -122.998707999403365, 38.298413000361784 ], [ -122.99773499983516, 38.298720000715036 ], [ -122.997212999820263, 38.298833000972465 ], [ -122.996251000122712, 38.298859000299146 ], [ -122.99483800038557, 38.299045000350354 ], [ -122.994111000256126, 38.299385000954885 ], [ -122.993579000296947, 38.300079000240004 ], [ -122.9935800004138, 38.301046000613056 ], [ -122.994032000211689, 38.302554000557649 ], [ -122.994105000168446, 38.303320000759498 ], [ -122.994136000424291, 38.30398900061801 ], [ -122.994905999426194, 38.304964000539535 ], [ -122.995132000323167, 38.305713000777601 ], [ -122.994958000194003, 38.306012000605307 ], [ -122.994753000002589, 38.30619000060981 ], [ -122.993995999841161, 38.306440000626786 ], [ -122.993125000472702, 38.306441000958571 ], [ -122.992275000102183, 38.306015000841981 ], [ -122.991935999437246, 38.305741001071979 ], [ -122.991628999449873, 38.305531000764823 ], [ -122.99111599945418, 38.305580000568199 ], [ -122.990613999968645, 38.305855001004467 ], [ -122.990205000291681, 38.30629100060689 ], [ -122.989479000222246, 38.306920000733513 ], [ -122.988976999920268, 38.307227000835319 ], [ -122.988281000269851, 38.307760000400073 ], [ -122.987707999818539, 38.308115000710536 ], [ -122.986868000489764, 38.308100000424943 ], [ -122.985322000258222, 38.307972001134701 ], [ -122.984738000381498, 38.307948000417056 ], [ -122.984133999563085, 38.308223000249185 ], [ -122.9837760005191, 38.308852000545798 ], [ -122.983623000115941, 38.309401000860383 ], [ -122.983162999489295, 38.310408001032009 ], [ -122.982589999522204, 38.310957001000986 ], [ -122.981607000035396, 38.311135000420094 ], [ -122.980172999933856, 38.31108000102008 ], [ -122.978114000223286, 38.310904000852922 ], [ -122.97716199984086, 38.310929000973054 ], [ -122.976044999682529, 38.311180000326679 ], [ -122.974867999573291, 38.311471000352604 ], [ -122.974325000060389, 38.311512001024568 ], [ -122.973495000450399, 38.311214000968832 ], [ -122.972266000398577, 38.310482001020723 ], [ -122.971076999465865, 38.309942000442547 ], [ -122.970627000414154, 38.309918000295319 ], [ -122.970042000205964, 38.310128000420853 ], [ -122.969049000468729, 38.310798000955288 ], [ -122.96854799997007, 38.311879000394491 ], [ -122.968363999726648, 38.312734000590154 ], [ -122.967515000521871, 38.313670001043079 ], [ -122.967360999903121, 38.314396000378188 ], [ -122.96736199960776, 38.315251000394646 ], [ -122.967280999700108, 38.315944000937733 ], [ -122.966983999505985, 38.316460000944232 ], [ -122.966144000265388, 38.317017000759385 ], [ -122.965182000369168, 38.317171000819727 ], [ -122.964148999402894, 38.317283000505142 ], [ -122.962782999427958, 38.317077001024074 ], [ -122.961823999870504, 38.316780000610137 ], [ -122.960110000519492, 38.316048000837036 ], [ -122.96005099993306, 38.315933000386693 ], [ -122.956855000331331, 38.313942001021012 ], [ -122.955866999900593, 38.313508001015471 ], [ -122.954994999408541, 38.313370000509082 ], [ -122.951827999865444, 38.313210000630022 ], [ -122.95110199984137, 38.31298200059851 ], [ -122.950287999699711, 38.312547000333865 ], [ -122.949532999933353, 38.311952000681302 ], [ -122.949125999910677, 38.311746001034152 ], [ -122.947933999448324, 38.311357000341346 ], [ -122.946162000350725, 38.311082001138601 ], [ -122.94561000017697, 38.311151000629287 ], [ -122.945173999903119, 38.311357000929377 ], [ -122.944766999935453, 38.311906000712213 ], [ -122.944272999936828, 38.312364000797494 ], [ -122.943924999701366, 38.312479001042774 ], [ -122.943633999601261, 38.312456000668952 ], [ -122.94061300041362, 38.310945001029275 ], [ -122.940003000314903, 38.310807000652638 ], [ -122.939363000251305, 38.310876000508067 ], [ -122.938608000437014, 38.311265001128781 ], [ -122.938142999816776, 38.311632000324586 ], [ -122.937154999720988, 38.312067000304346 ], [ -122.937155000429669, 38.312318000667055 ], [ -122.937301000334017, 38.312502000623454 ], [ -122.937329999675825, 38.312822001113922 ], [ -122.936922999963727, 38.313120000242485 ], [ -122.936400000154748, 38.313371000240593 ], [ -122.935267000334591, 38.313623000285432 ], [ -122.93497599980563, 38.313829001052817 ], [ -122.934510999680029, 38.313989001136825 ], [ -122.934163000182139, 38.313989000996301 ], [ -122.933785000079041, 38.313623000397911 ], [ -122.933813999856213, 38.313142000660584 ], [ -122.93416299996457, 38.312776000923222 ], [ -122.93468599985242, 38.312479000678728 ], [ -122.93619700006515, 38.312112000351718 ], [ -122.936544999448401, 38.311838000699581 ], [ -122.936835999712414, 38.310807000839439 ], [ -122.936719999825954, 38.310418000984065 ], [ -122.936545000246056, 38.310212000556994 ], [ -122.935612999891319, 38.309716000542601 ], [ -122.935470000132682, 38.309640000416088 ], [ -122.93512200043341, 38.30954800071423 ], [ -122.9346569997264, 38.309663000676153 ], [ -122.934454000466744, 38.309823000310345 ], [ -122.934279000035914, 38.310235000784992 ], [ -122.932390999967197, 38.311677001029999 ], [ -122.931751999591967, 38.311563000601907 ], [ -122.930938000261804, 38.311700000517327 ], [ -122.929572000421075, 38.312318000795159 ], [ -122.928264999916109, 38.312707000346258 ], [ -122.927770999704975, 38.31275300029403 ], [ -122.92652200026393, 38.312661000864324 ], [ -122.925475000219564, 38.312730000913639 ], [ -122.924544999577492, 38.312249000345368 ], [ -122.923469999461659, 38.311219000983989 ], [ -122.92300600018271, 38.310143000999211 ], [ -122.922860999655128, 38.30936400088531 ], [ -122.922628000236074, 38.308929000746467 ], [ -122.922017999581996, 38.308586000358567 ], [ -122.921407999739273, 38.308609000316842 ], [ -122.918531999809005, 38.309913000329757 ], [ -122.917922000366318, 38.310279000294997 ], [ -122.917602000207367, 38.310577000542786 ], [ -122.917544000057191, 38.311561000620216 ], [ -122.917339999824762, 38.311904000362567 ], [ -122.916468000152918, 38.312477000480207 ], [ -122.91629400013467, 38.312660000642964 ], [ -122.916352000507459, 38.312934000557533 ], [ -122.916903999731971, 38.313369000443224 ], [ -122.918617999526163, 38.314079000667668 ], [ -122.919460000031748, 38.314537000617413 ], [ -122.920245000158786, 38.315201000244784 ], [ -122.920766999656422, 38.316026000572229 ], [ -122.920853999958609, 38.316529000536796 ], [ -122.920737999843013, 38.316804000815317 ], [ -122.920505999608466, 38.316987000327842 ], [ -122.919624999580449, 38.317206000835142 ], [ -122.918848999857786, 38.317399000814447 ], [ -122.918094000136563, 38.317788000476504 ], [ -122.917774000129626, 38.318040000562753 ], [ -122.917250999764775, 38.318932000836327 ], [ -122.916494999451359, 38.319802000433143 ], [ -122.916001000233891, 38.320145000520128 ], [ -122.91550700017433, 38.320328000379178 ], [ -122.914171000231917, 38.320328000999268 ], [ -122.91297900022316, 38.320190000751545 ], [ -122.912368999391717, 38.320259000694264 ], [ -122.911730000478983, 38.320785000980379 ], [ -122.911323000121826, 38.320945000310509 ], [ -122.910741999534977, 38.320945000318282 ], [ -122.909608000501123, 38.320739000546162 ], [ -122.907370999645025, 38.320166000392454 ], [ -122.906673999872254, 38.319754000948258 ], [ -122.9066740004168, 38.319319000965628 ], [ -122.907227000269188, 38.318587000477656 ], [ -122.907837000321379, 38.318243001018708 ], [ -122.909318999650566, 38.318061000565493 ], [ -122.910075000514112, 38.31776300060784 ], [ -122.910539999445149, 38.317374000288467 ], [ -122.910684999763845, 38.316962000337007 ], [ -122.910569000373542, 38.316413000286595 ], [ -122.909842999755256, 38.314787001038063 ], [ -122.909349999445169, 38.314238000308741 ], [ -122.908913999479751, 38.314123000308747 ], [ -122.908362000444029, 38.314123000255215 ], [ -122.90342100001611, 38.316067000507189 ], [ -122.902344999998832, 38.31670800051424 ], [ -122.901589999692874, 38.316914000623782 ], [ -122.901095999490266, 38.316914000592362 ], [ -122.899613999787093, 38.316730000578268 ], [ -122.899353000438438, 38.316478000828099 ], [ -122.898191999616827, 38.314463000697302 ], [ -122.898070999867358, 38.314259000581544 ], [ -122.897045000505202, 38.313559000775243 ], [ -122.89665299948787, 38.313318000254313 ], [ -122.876105000421774, 38.299296000802272 ], [ -122.874304999667913, 38.298016000953929 ], [ -122.868705000406123, 38.294216000774433 ], [ -122.868340000170875, 38.293980001073621 ], [ -122.863905000194947, 38.291116000801097 ], [ -122.860505000297323, 38.288816000732631 ], [ -122.86020500036885, 38.288516000426313 ], [ -122.85360399982855, 38.284116000855406 ], [ -122.853203999522705, 38.283816000921014 ], [ -122.842503999957145, 38.276716000524374 ], [ -122.841804000305032, 38.27621700108039 ], [ -122.826531999870994, 38.26596000111256 ], [ -122.821703000532892, 38.262717000439849 ], [ -122.812403000321623, 38.256417000291485 ], [ -122.81180300006676, 38.256017000605908 ], [ -122.809978999409296, 38.254762000376282 ], [ -122.80293500012047, 38.24991700061863 ], [ -122.800924999425533, 38.248393000591307 ], [ -122.793800000396146, 38.243554001107924 ], [ -122.792272999726478, 38.242517000925034 ], [ -122.791760000157311, 38.242169001032856 ], [ -122.791372999617494, 38.241906000936474 ], [ -122.787003999397001, 38.238939000311284 ], [ -122.784439000500996, 38.237198000742254 ], [ -122.773371999623137, 38.229681000937013 ], [ -122.767221000143124, 38.22550300087881 ], [ -122.751100000410943, 38.214557000453318 ], [ -122.751099999395237, 38.214618000994186 ], [ -122.7505999999713, 38.214318000746715 ], [ -122.749570000452223, 38.213623000637739 ], [ -122.746299999630523, 38.211418000859375 ], [ -122.739899999547788, 38.207018000900035 ], [ -122.736599000455385, 38.20701800083436 ], [ -122.73370700051008, 38.207043000843072 ], [ -122.725099000010545, 38.207118000319106 ], [ -122.724091000189702, 38.207136000472047 ], [ -122.723464999648471, 38.207148000480451 ], [ -122.721863000360329, 38.206858000709069 ], [ -122.720398000047481, 38.206263000555573 ], [ -122.717972000470922, 38.205126000979519 ], [ -122.715799000412233, 38.203918000543773 ], [ -122.71501199964807, 38.203463000748542 ], [ -122.714783000418265, 38.203165000398393 ], [ -122.714782999408527, 38.202631000715236 ], [ -122.714416999869201, 38.202028000640759 ], [ -122.714187999510472, 38.201548000260978 ], [ -122.714280000384974, 38.201311000895664 ], [ -122.71414200051565, 38.200800000468377 ], [ -122.714099000008318, 38.200718000391227 ], [ -122.713729999425553, 38.20056300080865 ], [ -122.713241999693111, 38.200548000868103 ], [ -122.712708000496576, 38.200434000486929 ], [ -122.713088999688509, 38.200045000819621 ], [ -122.712554999691875, 38.199816000298441 ], [ -122.711837999575167, 38.199991000747254 ], [ -122.71148599998881, 38.199701000558214 ], [ -122.711379000213384, 38.199221000475056 ], [ -122.710722999456664, 38.199297000437426 ], [ -122.710417999449561, 38.199099000437769 ], [ -122.710600999851295, 38.198664000471254 ], [ -122.710203999776724, 38.197916001042067 ], [ -122.709792000481301, 38.197565001032252 ], [ -122.709334999858285, 38.197344000822248 ], [ -122.7085559995068, 38.197474001106066 ], [ -122.708114000260849, 38.197191000771731 ], [ -122.707518999635298, 38.197130001066974 ], [ -122.707198000028967, 38.196871000792463 ], [ -122.70692399963788, 38.197207000607357 ], [ -122.706785999897349, 38.197542001113455 ], [ -122.705886000505018, 38.198336000474448 ], [ -122.70548899950407, 38.198504000841645 ], [ -122.70504700051211, 38.198664000828565 ], [ -122.704696000148815, 38.198656000400717 ], [ -122.704297999485405, 38.198518000468034 ], [ -122.703886999768883, 38.198084000922222 ], [ -122.703384000302989, 38.197901000951582 ], [ -122.702895000515852, 38.197863000492639 ], [ -122.702498999821486, 38.1977100008015 ], [ -122.702026000072792, 38.197184000424329 ], [ -122.701629000234604, 38.196650000642677 ], [ -122.701201999627898, 38.196138000324567 ], [ -122.700239999982657, 38.196001000461976 ], [ -122.699995999766998, 38.196276000548316 ], [ -122.699553999488174, 38.196405001013545 ], [ -122.698683999429122, 38.196337000504528 ], [ -122.698043000327118, 38.196123000497408 ], [ -122.697326000124534, 38.19583300087934 ], [ -122.69671600045838, 38.195589000390115 ], [ -122.696364999405418, 38.195330000250621 ], [ -122.695754000107485, 38.195322000727465 ], [ -122.69512900005374, 38.195223000511298 ], [ -122.694197999519673, 38.195215000615143 ], [ -122.69401700007532, 38.195203001082 ], [ -122.693914000050967, 38.195196001124692 ], [ -122.693023000426422, 38.195139001115351 ], [ -122.692153000309375, 38.19498600065404 ], [ -122.691451000367891, 38.194849000965398 ], [ -122.691009000261772, 38.194567000623323 ], [ -122.690138999765693, 38.194597000788953 ], [ -122.689468000170407, 38.194918000600012 ], [ -122.688629000093869, 38.194895001041694 ], [ -122.688093999657667, 38.194918000587336 ], [ -122.687515000294013, 38.194696001000928 ], [ -122.686355000252576, 38.194376000860494 ], [ -122.686446999606702, 38.193865000465543 ], [ -122.685881999637672, 38.193438000527834 ], [ -122.685073000200944, 38.193064000894566 ], [ -122.68478299975709, 38.192720000562304 ], [ -122.684126000225191, 38.19216300101602 ], [ -122.683698999553698, 38.191866000307527 ], [ -122.683054000058078, 38.19178900060875 ], [ -122.682677000313703, 38.191744000994191 ], [ -122.682326000035147, 38.191225001078045 ], [ -122.681761000257396, 38.190905000997311 ], [ -122.681120000269161, 38.190279000581334 ], [ -122.680738999452529, 38.189943000295663 ], [ -122.680310999992244, 38.189791000419604 ], [ -122.679640000059294, 38.18965300059623 ], [ -122.679397000105169, 38.189618000338484 ], [ -122.677900999475696, 38.189783000874122 ], [ -122.676741000313854, 38.189676000800041 ], [ -122.676329000416573, 38.189631000710712 ], [ -122.675702999990321, 38.189226000368137 ], [ -122.675031999884382, 38.189158001025831 ], [ -122.674283999558412, 38.189394001024823 ], [ -122.673475999881617, 38.18955400031335 ], [ -122.673064000491621, 38.189837000484879 ], [ -122.672056000351219, 38.189791000336655 ], [ -122.671553000284575, 38.189928000473422 ], [ -122.670759000252261, 38.189707001061123 ], [ -122.669920000217516, 38.189981000705828 ], [ -122.66937099939598, 38.19005800065198 ], [ -122.66834899989523, 38.18988200041418 ], [ -122.667478999687575, 38.189814000405953 ], [ -122.666684999532535, 38.189371001013392 ], [ -122.666196999891682, 38.188700000360484 ], [ -122.665342999610147, 38.188425000393124 ], [ -122.664580000109353, 38.187937000473845 ], [ -122.664297000376877, 38.187718000891373 ], [ -122.663817000359813, 38.18749400076733 ], [ -122.663697000344257, 38.187018000452944 ], [ -122.663756000332484, 38.186792000634036 ], [ -122.663634000508253, 38.18652500062931 ], [ -122.663388999877228, 38.186289000895812 ], [ -122.662732999744634, 38.186182000314602 ], [ -122.662297000389373, 38.186218000671829 ], [ -122.662077000044519, 38.186388001047746 ], [ -122.66183299953164, 38.186480001044693 ], [ -122.661359999489065, 38.186670000987277 ], [ -122.660750000270056, 38.186716000506514 ], [ -122.659666000494667, 38.186846000979372 ], [ -122.659397000410735, 38.187018001063819 ], [ -122.658858000157039, 38.186846000437171 ], [ -122.658245999731648, 38.186640000351716 ], [ -122.658017000344316, 38.18648700037469 ], [ -122.657438000188009, 38.186258001062996 ], [ -122.656521999943024, 38.186007000769408 ], [ -122.655972999926277, 38.185724001119972 ], [ -122.655469000385281, 38.185305000485904 ], [ -122.65505700051915, 38.18499900088274 ], [ -122.654554000270622, 38.184984000603805 ], [ -122.654035000400143, 38.184984001132769 ], [ -122.653496000497725, 38.184818000791338 ], [ -122.653134999923466, 38.184511000325564 ], [ -122.652523999732381, 38.183725000461351 ], [ -122.651395000069869, 38.182795000619045 ], [ -122.651196000030566, 38.182618001040979 ], [ -122.650342000278727, 38.182016001133711 ], [ -122.649700999762061, 38.181711000291422 ], [ -122.649319999653969, 38.181253000942284 ], [ -122.648724999835608, 38.181116000461031 ], [ -122.648023000165054, 38.181368000861681 ], [ -122.646817000308147, 38.181238000830589 ], [ -122.645429000024421, 38.181154000696687 ], [ -122.64511199968797, 38.181118000359014 ], [ -122.643826999938113, 38.180971000794933 ], [ -122.642788999424795, 38.180887000417577 ], [ -122.642433999418401, 38.180840000869708 ], [ -122.641476999637618, 38.18071200087644 ], [ -122.640210000263366, 38.18041400100838 ], [ -122.638821999756885, 38.180323000244279 ], [ -122.637784000029569, 38.180178000861808 ], [ -122.63705199990865, 38.179827000648196 ], [ -122.636441000004609, 38.179178000938151 ], [ -122.635693999585413, 38.178728000258289 ], [ -122.63471699977724, 38.178682000388619 ], [ -122.633633000253809, 38.178408000795585 ], [ -122.633145000407637, 38.178911000662254 ], [ -122.632427000084633, 38.179010000896319 ], [ -122.631497000023145, 38.178904001122703 ], [ -122.630748999909898, 38.17882000104612 ], [ -122.63016899962615, 38.178919000442583 ], [ -122.62964999999771, 38.178713000875703 ], [ -122.62949500050847, 38.178718000589363 ], [ -122.629147000107068, 38.17866700031631 ], [ -122.628628000170778, 38.178720000667802 ], [ -122.628216000461947, 38.178782000433785 ], [ -122.628062999898788, 38.179079000451765 ], [ -122.627835000416653, 38.179430000280895 ], [ -122.627072000376373, 38.179834000926441 ], [ -122.626948999664194, 38.180063001068007 ], [ -122.626994999532641, 38.180218000402654 ], [ -122.627117000149511, 38.180429000992156 ], [ -122.626949000347977, 38.180605000344841 ], [ -122.626094999689457, 38.1809180010221 ], [ -122.625987999968004, 38.180979000760672 ], [ -122.625881000357708, 38.181215000289576 ], [ -122.625820000151435, 38.18144400112844 ], [ -122.625836000444238, 38.181742000635516 ], [ -122.625851000416176, 38.182055001072115 ], [ -122.625729000514852, 38.182421000455243 ], [ -122.625295000485067, 38.182418000391934 ], [ -122.625042000456673, 38.182459000312917 ], [ -122.624584000223621, 38.182428000930074 ], [ -122.624278999798406, 38.18225300073464 ], [ -122.623958999659152, 38.182116000994718 ], [ -122.623547000033724, 38.182138000915295 ], [ -122.623073999470549, 38.182405000567833 ], [ -122.622615999596135, 38.182528000359156 ], [ -122.622172999786244, 38.18252800067318 ], [ -122.621731000212392, 38.182299000272558 ], [ -122.621516999990462, 38.182085001119383 ], [ -122.621273000449122, 38.181994000349327 ], [ -122.620770000460155, 38.182100000598375 ], [ -122.620327000200476, 38.182558000273907 ], [ -122.619975999570002, 38.182695000532796 ], [ -122.619365999547284, 38.182627000478931 ], [ -122.618588000038059, 38.182505000828314 ], [ -122.61779500005278, 38.182518000589539 ], [ -122.617259999763789, 38.182535000534415 ], [ -122.616176999906855, 38.182512001083161 ], [ -122.615261000490307, 38.182489000888538 ], [ -122.614620000026676, 38.182329000462261 ], [ -122.614495000296785, 38.182218000496434 ], [ -122.614375999971031, 38.182146000371247 ], [ -122.613995000120283, 38.181765001133392 ], [ -122.613704999450633, 38.181383000426486 ], [ -122.613368999525733, 38.181040000858474 ], [ -122.612605999531368, 38.180742000837682 ], [ -122.612315999765528, 38.180719000802632 ], [ -122.612094999389683, 38.180718000578963 ], [ -122.611798000116067, 38.180719000958305 ], [ -122.61103500001677, 38.180902000756923 ], [ -122.610454999455712, 38.181192000724614 ], [ -122.610011999533739, 38.181360000880652 ], [ -122.609416999946376, 38.181192000899472 ], [ -122.608958999714062, 38.180948000562317 ], [ -122.608256999740064, 38.180925000299233 ], [ -122.60784500008883, 38.181124000704528 ], [ -122.606929999539389, 38.180986000669186 ], [ -122.606318999590485, 38.180803000312324 ], [ -122.606074000179717, 38.180666000519537 ], [ -122.605570999560953, 38.180544000513507 ], [ -122.604349999526107, 38.1806200011101 ], [ -122.603861999681314, 38.180712000965627 ], [ -122.603479999450983, 38.180948000926108 ], [ -122.603193999463642, 38.181218000443828 ], [ -122.603067999840079, 38.181604001135511 ], [ -122.602718000365883, 38.182421001017815 ], [ -122.60209200024758, 38.182978000347248 ], [ -122.601542999662357, 38.183611000984662 ], [ -122.601420999827468, 38.184664000767995 ], [ -122.600993999745683, 38.185418000771712 ], [ -122.600931999773323, 38.184832000492065 ], [ -122.600893999514525, 38.184618000491312 ], [ -122.600843000215164, 38.183991000565214 ], [ -122.600758000108016, 38.183422000682363 ], [ -122.600657999837225, 38.182875000720244 ], [ -122.600501999909369, 38.182283000532735 ], [ -122.600359999938334, 38.181937000720801 ], [ -122.600133000202632, 38.181536000502412 ], [ -122.599719999510981, 38.180955000477901 ], [ -122.599208999530916, 38.180375001077131 ], [ -122.59838399977022, 38.179672000241332 ], [ -122.594594000172208, 38.17681800035345 ], [ -122.589493999984498, 38.172918001067565 ], [ -122.585383999849171, 38.170183000246716 ], [ -122.582892999666399, 38.168518000822658 ], [ -122.579492999395143, 38.166618000597005 ], [ -122.578993000151996, 38.166218000717038 ], [ -122.570291999891339, 38.159441000414837 ], [ -122.569909999954064, 38.159082000419097 ], [ -122.569513000421651, 38.158419000715071 ], [ -122.568537000325989, 38.156473000935925 ], [ -122.568092999441902, 38.155618000260112 ], [ -122.567292000367203, 38.153118000814665 ], [ -122.564592000309602, 38.145018000530392 ], [ -122.564397999647952, 38.142619000526594 ], [ -122.56422400049351, 38.140475000876307 ], [ -122.56383199946707, 38.1356460008383 ], [ -122.56339200025451, 38.130219000973014 ], [ -122.56390099962654, 38.128580001081907 ], [ -122.564644999946879, 38.129199000746794 ], [ -122.564591999691231, 38.129419001113369 ], [ -122.564592000373594, 38.130119001004665 ], [ -122.56459699980033, 38.130179000439924 ], [ -122.565422999829849, 38.130158000642162 ], [ -122.565158000370602, 38.13057500091449 ], [ -122.564980999618953, 38.131061000939987 ], [ -122.565240999528839, 38.133713001007472 ], [ -122.565305999695397, 38.134414000712745 ], [ -122.565479999901584, 38.134448001111132 ], [ -122.56567600010662, 38.134363000499043 ], [ -122.565871999536398, 38.134363000386784 ], [ -122.566219999559536, 38.134499000454426 ], [ -122.566480999608856, 38.134670000758746 ], [ -122.56669799948321, 38.134739000866418 ], [ -122.567155000287116, 38.13477300046079 ], [ -122.567503000450301, 38.134756001004412 ], [ -122.567915999540133, 38.134875000487504 ], [ -122.568110999438545, 38.135234000309559 ], [ -122.568284999588684, 38.135593001025647 ], [ -122.568458999788803, 38.135849000625669 ], [ -122.568891999678925, 38.136064000578997 ], [ -122.568956999861413, 38.136166000711235 ], [ -122.577439000453538, 38.138806000963335 ], [ -122.578551000026238, 38.138232000679892 ], [ -122.58070899947856, 38.137118000512686 ], [ -122.587992999928161, 38.143019000592176 ], [ -122.590792999439046, 38.145019000997863 ], [ -122.59149299959526, 38.145819000501547 ], [ -122.592993000240455, 38.146119000618739 ], [ -122.59909400018492, 38.147019000774364 ], [ -122.605763000044959, 38.147099000472927 ], [ -122.607393999657958, 38.147119000777636 ], [ -122.608794000178307, 38.147819000316495 ], [ -122.608894000226059, 38.138719000987919 ], [ -122.611194000350423, 38.133019000772457 ], [ -122.614694000333003, 38.126119000342051 ], [ -122.616094000129564, 38.125719000957638 ], [ -122.616398000193243, 38.124919001134892 ], [ -122.61673500004801, 38.124033001101743 ], [ -122.616941999669223, 38.120360000870562 ], [ -122.617994000018896, 38.120719001119305 ], [ -122.618284000154162, 38.120833000395884 ], [ -122.622304999715155, 38.122410000979229 ], [ -122.623093999906772, 38.12271900062742 ], [ -122.624193999723857, 38.12311900059747 ], [ -122.625294000169845, 38.123619001093729 ], [ -122.625693999865277, 38.123519000896209 ], [ -122.626658999641236, 38.12478900049102 ], [ -122.626701999431788, 38.12491900058167 ], [ -122.627559999562592, 38.127490000304014 ], [ -122.628703999525513, 38.130488000921702 ], [ -122.630626999536219, 38.133105000578759 ], [ -122.632228999712922, 38.134097000389353 ], [ -122.634838000511508, 38.134929001064904 ], [ -122.634991000341458, 38.134921001074723 ], [ -122.636364000437212, 38.135554000570615 ], [ -122.638240999985285, 38.137248000865661 ], [ -122.639523000392586, 38.138873000452634 ], [ -122.640712999423272, 38.142451000324769 ], [ -122.6414449994639, 38.144359000647682 ], [ -122.64165899963217, 38.145839001092071 ], [ -122.641594999973051, 38.146319000733122 ], [ -122.642787999432883, 38.146396000410427 ], [ -122.64380999947582, 38.146495001135357 ], [ -122.645091999814696, 38.146648000260754 ], [ -122.646787000347345, 38.146983000756144 ], [ -122.648298000476387, 38.147304000782704 ], [ -122.649087000284752, 38.147527000671218 ], [ -122.649350000221162, 38.147601001124812 ], [ -122.651425999665832, 38.147914000944901 ], [ -122.65286000043649, 38.14801300030409 ], [ -122.65499600023108, 38.147616000859429 ], [ -122.657223999643335, 38.14667000100313 ], [ -122.660107999906671, 38.145549001004319 ], [ -122.660496000074758, 38.145519000662894 ], [ -122.661161000481428, 38.145473000671927 ], [ -122.661999999747664, 38.145694000561285 ], [ -122.662823999770211, 38.14607500053787 ], [ -122.66343400009923, 38.146457000400808 ], [ -122.663984000337649, 38.146945000630296 ], [ -122.66422799978487, 38.147571000525161 ], [ -122.66482299981277, 38.148135000963734 ], [ -122.665372000322208, 38.148295000320182 ], [ -122.666944000136439, 38.148578001089021 ], [ -122.667795999628296, 38.148619000572879 ], [ -122.676497000068281, 38.149019000601882 ], [ -122.680797000443391, 38.149219000256814 ], [ -122.683287000531735, 38.149150000306399 ], [ -122.684003999655928, 38.148883000625446 ], [ -122.685407999495624, 38.147952000984247 ], [ -122.68725399995337, 38.14720400111009 ], [ -122.689436000013515, 38.146579000267458 ], [ -122.692243999577386, 38.145801000394357 ], [ -122.694669999990396, 38.144145000356858 ], [ -122.696609000313074, 38.142428001044593 ], [ -122.697646000304303, 38.140887000410927 ], [ -122.69829799967124, 38.140019000763012 ], [ -122.698959000324834, 38.138682000853883 ], [ -122.699629999653567, 38.137508001068376 ], [ -122.699904999582188, 38.1364010002535 ], [ -122.699599999477499, 38.135417000608257 ], [ -122.699934999498467, 38.134677000592866 ], [ -122.700239999783122, 38.134151000789025 ], [ -122.700197999736744, 38.13401900047468 ], [ -122.699843999708222, 38.13260900049287 ], [ -122.699600000400039, 38.129177000391778 ], [ -122.699297999533499, 38.124920001001342 ], [ -122.69879700023597, 38.122220000274133 ], [ -122.698744000386299, 38.12092200103568 ], [ -122.696364000314645, 38.116413000376859 ], [ -122.691511000279888, 38.114216000890593 ], [ -122.687132000186295, 38.114254000524397 ], [ -122.683744999763846, 38.114704001126903 ], [ -122.679869000368072, 38.115643000780139 ], [ -122.67606899956462, 38.115933000717789 ], [ -122.673306999416837, 38.115299000249813 ], [ -122.667795999660555, 38.11292000033891 ], [ -122.667492999403464, 38.11281200037471 ], [ -122.6673099999214, 38.112690000289817 ], [ -122.667112000486455, 38.112049000371265 ], [ -122.666973999779671, 38.111393000868489 ], [ -122.666395999573126, 38.107720001128357 ], [ -122.665875999659605, 38.105938000901979 ], [ -122.665495999522236, 38.104020000969214 ], [ -122.665417999492746, 38.102642000483478 ], [ -122.665479000331473, 38.096745000384878 ], [ -122.66535699991671, 38.095722000958574 ], [ -122.665203999605637, 38.095295000499931 ], [ -122.665005999987514, 38.094845000870237 ], [ -122.664364999876511, 38.094120000346663 ], [ -122.663695999953546, 38.093620000675806 ], [ -122.663160000267226, 38.093311001096723 ], [ -122.661741000429416, 38.092800001086061 ], [ -122.65745200022603, 38.091885000934788 ], [ -122.656291999657284, 38.091526000765121 ], [ -122.654445999630852, 38.090328000397683 ], [ -122.65298099948474, 38.089596000770193 ], [ -122.649426000110765, 38.088741000447392 ], [ -122.646054000376836, 38.08818500029421 ], [ -122.643504999632782, 38.087765000304699 ], [ -122.640494999475081, 38.087020000557466 ], [ -122.636194000100929, 38.087720000694816 ], [ -122.63419399942569, 38.087320000243636 ], [ -122.630694000462626, 38.088820000752222 ], [ -122.627893999617115, 38.088320000258882 ], [ -122.620594000466824, 38.084820000535409 ], [ -122.615778999990013, 38.082894000601726 ], [ -122.615592999651952, 38.082820000845274 ], [ -122.61207600031068, 38.080505001055428 ], [ -122.607692999971491, 38.077620001012576 ], [ -122.604193000131971, 38.075820000536631 ], [ -122.601391999669232, 38.070221000762736 ], [ -122.596991999822038, 38.067421000888025 ], [ -122.600292000206977, 38.062621000998362 ], [ -122.604957000522447, 38.058734000298209 ], [ -122.605091999671984, 38.058621000417958 ], [ -122.606191999571905, 38.058021000904461 ], [ -122.613692999691878, 38.060421000559835 ], [ -122.61609299998797, 38.061121001000934 ], [ -122.616992999521216, 38.053821000629505 ], [ -122.615492999549573, 38.04792100055019 ], [ -122.620592999390084, 38.045921001134218 ], [ -122.621093000305009, 38.047321000743658 ], [ -122.621993000233303, 38.047921001068744 ], [ -122.62399299956472, 38.039522000923789 ], [ -122.622393000228854, 38.037622000626477 ], [ -122.621193000314307, 38.037322000613003 ], [ -122.619493000525893, 38.036022000373627 ], [ -122.619192999472148, 38.033422000283906 ], [ -122.617493000486945, 38.031022000313818 ], [ -122.61689299995642, 38.030022000399626 ], [ -122.622293000455215, 38.026522000396255 ], [ -122.620492999725371, 38.025922000493928 ], [ -122.618593000296016, 38.023922001101838 ], [ -122.619393000213279, 38.023222000264752 ], [ -122.619193000423593, 38.022422000599256 ], [ -122.619492999540071, 38.021922000641304 ], [ -122.616646999408928, 38.02115300107365 ], [ -122.615791999667607, 38.020922000491979 ], [ -122.615592000067309, 38.020222000731614 ], [ -122.616391999704447, 38.019822000768258 ], [ -122.617037999476509, 38.01976400088455 ], [ -122.618020000035685, 38.019675001087997 ], [ -122.619639000443144, 38.020003001129851 ], [ -122.621057999743741, 38.020346000602444 ], [ -122.622598999602914, 38.020964000641861 ], [ -122.623606000279821, 38.021506000376974 ], [ -122.625315000363784, 38.022337000392589 ], [ -122.626196999584749, 38.022856000586344 ], [ -122.627207000479558, 38.023451000456923 ], [ -122.629145000144078, 38.023985000613635 ], [ -122.631173999418692, 38.024756000283517 ], [ -122.632197000071415, 38.025572000362878 ], [ -122.633203999671949, 38.025862000541771 ], [ -122.63395500040194, 38.025815000269162 ], [ -122.634301999899407, 38.025793000905516 ], [ -122.635553000150665, 38.025389001105765 ], [ -122.63678900041505, 38.025328000979329 ], [ -122.637096000119584, 38.025358000829534 ], [ -122.638545000424998, 38.025244000574496 ], [ -122.640514000010796, 38.025450000793803 ], [ -122.642130999917214, 38.025648000618716 ], [ -122.64289400004435, 38.026442000904346 ], [ -122.642879000472092, 38.027731000719456 ], [ -122.643152999886084, 38.028265000988 ], [ -122.643809000040946, 38.027815001067168 ], [ -122.645090999693195, 38.027266001015462 ], [ -122.646648000144168, 38.027327000766491 ], [ -122.647898999944516, 38.027807000802078 ], [ -122.648478999944118, 38.028166000664108 ], [ -122.648993999587262, 38.02842200075083 ], [ -122.650141999701418, 38.028227000651228 ], [ -122.652979999699895, 38.027655000927332 ], [ -122.653545000405515, 38.027960000688296 ], [ -122.654277000013764, 38.02794500032477 ], [ -122.654399000447711, 38.027189000611408 ], [ -122.654933000141867, 38.026602000369138 ], [ -122.655482999937178, 38.026686000285906 ], [ -122.655971999522052, 38.026457000416983 ], [ -122.656521000046652, 38.026091000467318 ], [ -122.65734500031931, 38.02622800034689 ], [ -122.657832999953854, 38.026083000997637 ], [ -122.658244999838445, 38.025793000384468 ], [ -122.65908100038294, 38.025671000799079 ], [ -122.659602999688801, 38.025595001084845 ], [ -122.660869999992912, 38.025717000604047 ], [ -122.661510999864348, 38.025702000890533 ], [ -122.662151999904935, 38.026236001121013 ], [ -122.662823000345554, 38.026236000287611 ], [ -122.66372300012479, 38.026625000653986 ], [ -122.664317999553205, 38.026434000412067 ], [ -122.664395000418509, 38.025953000405167 ], [ -122.664059000332685, 38.025732000935349 ], [ -122.664088999592067, 38.025389000912959 ], [ -122.664495000093623, 38.025322000620697 ], [ -122.664424999396687, 38.024954001037578 ], [ -122.664165999470086, 38.024122000634328 ], [ -122.664190000333463, 38.023378000918264 ], [ -122.664196000084885, 38.023207000569251 ], [ -122.663994999448647, 38.022622000398876 ], [ -122.664272000032369, 38.022536000800031 ], [ -122.665019999890973, 38.022680000552242 ], [ -122.665630999910206, 38.022825000327913 ], [ -122.665203000159025, 38.023390000699926 ], [ -122.665407999520411, 38.02390700024619 ], [ -122.665462999805527, 38.024046001127388 ], [ -122.666118999501009, 38.024656000697547 ], [ -122.666286999392767, 38.025107000790946 ], [ -122.66691200032956, 38.025267000323325 ], [ -122.667401000398797, 38.025496000738841 ], [ -122.667794999916396, 38.025622000777929 ], [ -122.668010999935063, 38.025572000242775 ], [ -122.668392000359049, 38.025603000662869 ], [ -122.668773999730476, 38.025664000946307 ], [ -122.669215999566717, 38.025763001031549 ], [ -122.669521999964672, 38.025854000548186 ], [ -122.669856999643471, 38.025946000905932 ], [ -122.670162000078278, 38.026083001006533 ], [ -122.670451999772382, 38.026182000765807 ], [ -122.670620000103767, 38.026266000556873 ], [ -122.670971000358492, 38.026388000285678 ], [ -122.671200000512243, 38.026488000954402 ], [ -122.671474999826145, 38.026564000580159 ], [ -122.671810000479809, 38.0266780010842 ], [ -122.672206999466383, 38.026785001087219 ], [ -122.672511999856454, 38.02686900058854 ], [ -122.672726000258862, 38.026961000885436 ], [ -122.673061999463954, 38.027136000286283 ], [ -122.673351000456705, 38.027365000980929 ], [ -122.673595999431186, 38.027586000707878 ], [ -122.673839999739855, 38.027800000494757 ], [ -122.674068999784453, 38.028013001027929 ], [ -122.674421000071376, 38.028250000424279 ], [ -122.674725999998685, 38.028326000704247 ], [ -122.674969999400616, 38.028280000768326 ], [ -122.675202000253975, 38.028153000498463 ], [ -122.675289999723887, 38.028105000625594 ], [ -122.67562600046692, 38.027907000664825 ], [ -122.675976999808242, 38.02775400063161 ], [ -122.676266999517068, 38.027754000921533 ], [ -122.676343000190116, 38.027838000560102 ], [ -122.676389000384432, 38.028052000544861 ], [ -122.676511000183609, 38.028181000605272 ], [ -122.676724999451167, 38.028212000245276 ], [ -122.676923000457748, 38.028189000279205 ], [ -122.677243000499772, 38.0280820010586 ], [ -122.677625000488433, 38.028044000994122 ], [ -122.677976000032174, 38.028082001033717 ], [ -122.678205000350601, 38.028158000430459 ], [ -122.678403000276575, 38.028212000817369 ], [ -122.678494999538728, 38.028250000819661 ], [ -122.678696000028353, 38.028322000313345 ], [ -122.67853999971085, 38.028486001128087 ], [ -122.678600999640153, 38.028708000467255 ], [ -122.67872400011538, 38.028914001098236 ], [ -122.678921999661227, 38.029219000461147 ], [ -122.679151000328162, 38.029448000553181 ], [ -122.679348999728916, 38.02959300088699 ], [ -122.679654000164504, 38.029776000303599 ], [ -122.679929000492095, 38.029959001081288 ], [ -122.680188000075574, 38.030073000607331 ], [ -122.680477999970009, 38.030180000637053 ], [ -122.680875000360729, 38.030295000888529 ], [ -122.681271999579607, 38.030379001104905 ], [ -122.68153099949518, 38.030424000933486 ], [ -122.681836000072323, 38.030447000912318 ], [ -122.682171999590693, 38.030508000831766 ], [ -122.682496000330417, 38.030622000622188 ], [ -122.682598999812441, 38.030676000531052 ], [ -122.682644999558306, 38.030928000549892 ], [ -122.682629999917353, 38.031149000344243 ], [ -122.682676000225285, 38.031355000711002 ], [ -122.682751999640004, 38.031454000710923 ], [ -122.682874000329221, 38.031477000681441 ], [ -122.683071999517125, 38.03151500085005 ], [ -122.683560999822177, 38.031515000284422 ], [ -122.683896000372158, 38.031470000943621 ], [ -122.684246999869757, 38.031378000306596 ], [ -122.684506999878892, 38.031317001012752 ], [ -122.684690000017298, 38.031256001064357 ], [ -122.685025000411386, 38.03118000071251 ], [ -122.685360999512412, 38.031149000379095 ], [ -122.685636000217784, 38.03115700031195 ], [ -122.685773000340959, 38.031141001056923 ], [ -122.685879999558281, 38.031058000408521 ], [ -122.685925999571595, 38.030935000970615 ], [ -122.685909999874241, 38.030676000989487 ], [ -122.685864999827174, 38.030440000842873 ], [ -122.685909999486142, 38.030279000673296 ], [ -122.686047999743778, 38.030256000802574 ], [ -122.686367999391848, 38.030371000404777 ], [ -122.686615000007123, 38.030529000331541 ], [ -122.686689000304028, 38.030577000646218 ], [ -122.686810999685932, 38.030714000595559 ], [ -122.687009000404728, 38.030821000799975 ], [ -122.687191999756365, 38.030813000438201 ], [ -122.687268000501547, 38.030638000597911 ], [ -122.68724400009971, 38.0303960011097 ], [ -122.687237999691689, 38.030340001110673 ], [ -122.687191999490338, 38.03006600073688 ], [ -122.687237999623676, 38.029867001044494 ], [ -122.687375000113136, 38.029776000621368 ], [ -122.687527999741377, 38.029753001036333 ], [ -122.687711000066116, 38.029837000945243 ], [ -122.687986000462118, 38.030028000717017 ], [ -122.688168999658629, 38.030287000956761 ], [ -122.68842799984175, 38.030554001121445 ], [ -122.68854999976773, 38.030630000503905 ], [ -122.688825000211253, 38.030722000574819 ], [ -122.689083999804026, 38.030707000746496 ], [ -122.689466000409354, 38.030577000825467 ], [ -122.68977099981673, 38.030440000844727 ], [ -122.690090999630016, 38.030295001071551 ], [ -122.690427000216516, 38.030188000952329 ], [ -122.69059599945335, 38.030222000535055 ], [ -122.690915000031296, 38.030318000537548 ], [ -122.69112900007535, 38.030485000882315 ], [ -122.691343000135888, 38.03068400085607 ], [ -122.691556000397128, 38.030791000344038 ], [ -122.69170900001663, 38.030890000980094 ], [ -122.691877000292024, 38.031203000583773 ], [ -122.691953000056088, 38.031470000839121 ], [ -122.692181999628815, 38.03176700069929 ], [ -122.692291999883906, 38.031925000360857 ], [ -122.692411000172555, 38.032095000597103 ], [ -122.692685999949205, 38.032446001118736 ], [ -122.692897000360986, 38.032722000400554 ], [ -122.693007000303353, 38.032744000450975 ], [ -122.693220000359645, 38.032873000794751 ], [ -122.693632000401323, 38.032881000541103 ], [ -122.694090000032759, 38.032736000666404 ], [ -122.694426000212559, 38.032561000971981 ], [ -122.694806999467545, 38.032431000964522 ], [ -122.695234999412662, 38.032385000263019 ], [ -122.69560100005242, 38.03240000029728 ], [ -122.695967000511132, 38.032484000435865 ], [ -122.696424999531686, 38.032637000316143 ], [ -122.696744999475314, 38.03273600095828 ], [ -122.696959000342218, 38.032843000434596 ], [ -122.697278999912882, 38.033056000964152 ], [ -122.697446999990333, 38.033194000559575 ], [ -122.697675999825321, 38.03336900028215 ], [ -122.697797999614465, 38.033446000392232 ], [ -122.697897000131377, 38.033622000262689 ], [ -122.697838999409086, 38.033660000671034 ], [ -122.697597000517533, 38.034022001089163 ], [ -122.697569000070814, 38.034491001124671 ], [ -122.697697000178977, 38.034922000527025 ], [ -122.698195000037643, 38.035277000519727 ], [ -122.698485000474989, 38.035902001008736 ], [ -122.698896999490387, 38.036722000822103 ], [ -122.69879699949486, 38.037422000576917 ], [ -122.698744000017626, 38.037909000961065 ], [ -122.698621999736218, 38.038176001059405 ], [ -122.698297000501185, 38.038422000445543 ], [ -122.698240999843208, 38.038656000527254 ], [ -122.698377999430406, 38.038916000328207 ], [ -122.6987139998147, 38.039122000629931 ], [ -122.699125999488899, 38.039541000434589 ], [ -122.699751000045254, 38.039953001025275 ], [ -122.700284999928655, 38.040205000773959 ], [ -122.700696999546849, 38.040222000344897 ], [ -122.702696999464095, 38.040122000967997 ], [ -122.703031999691206, 38.039953000355275 ], [ -122.703840999838178, 38.039900000751672 ], [ -122.704573000286729, 38.039503000364434 ], [ -122.706007000051287, 38.039458000671068 ], [ -122.706800999978725, 38.039664001092149 ], [ -122.707929999964563, 38.039450000908388 ], [ -122.708845000520256, 38.039412000334529 ], [ -122.7098830003453, 38.039938000692274 ], [ -122.709638999861752, 38.040655000963312 ], [ -122.709302999918194, 38.041075000326281 ], [ -122.709363999694034, 38.041373001032255 ], [ -122.70976099996399, 38.041395000570837 ], [ -122.710111999676386, 38.041617000338753 ], [ -122.710401999974792, 38.041693000846308 ], [ -122.710708000083031, 38.041548000889556 ], [ -122.710921999862308, 38.041769000403022 ], [ -122.710722999398243, 38.042166000970511 ], [ -122.71049799944295, 38.042622000775971 ], [ -122.709746000334917, 38.043234000670616 ], [ -122.709151000136359, 38.043852000971242 ], [ -122.708596999434477, 38.04472200045462 ], [ -122.708905999591877, 38.045874000951763 ], [ -122.709256999662088, 38.046858000268244 ], [ -122.710220000188016, 38.048018000839946 ], [ -122.711578000412644, 38.049490001043083 ], [ -122.712172999942538, 38.050009000239626 ], [ -122.713097999435064, 38.05092200073377 ], [ -122.712356000000227, 38.049597000981926 ], [ -122.711837000454807, 38.048491000736398 ], [ -122.711272999473707, 38.046805000345039 ], [ -122.712098000201522, 38.045722000440456 ], [ -122.712297999496386, 38.045022000608306 ], [ -122.712707000355735, 38.045096000928147 ], [ -122.713317000225786, 38.045447000246476 ], [ -122.713942999929031, 38.045782000643918 ], [ -122.715422999781993, 38.046438000492991 ], [ -122.716780999680978, 38.046667001077481 ], [ -122.71826099979198, 38.046889000586674 ], [ -122.719298000266676, 38.047422000883628 ], [ -122.719467000466324, 38.047636000463896 ], [ -122.719897999658869, 38.048222000378004 ], [ -122.720137999819556, 38.048712000336977 ], [ -122.720535000122112, 38.049025000328726 ], [ -122.72079800030734, 38.049022000309009 ], [ -122.722883999612108, 38.04936000049512 ], [ -122.723001999995972, 38.049409000885746 ], [ -122.723997999596051, 38.049822000879047 ], [ -122.724059000465218, 38.050619000666565 ], [ -122.724609000148632, 38.051886000624307 ], [ -122.726439999727816, 38.054724000745765 ], [ -122.726591999478799, 38.054899000632666 ], [ -122.727644999654416, 38.05562400046248 ], [ -122.728989000445452, 38.055853000582516 ], [ -122.7302550001626, 38.055624000801494 ], [ -122.731034000245884, 38.055571000653366 ], [ -122.73199899959512, 38.056022001100885 ], [ -122.732299000380991, 38.056222000734031 ], [ -122.73278800028379, 38.056517000579142 ], [ -122.734191999667786, 38.057028000344495 ], [ -122.735595999827908, 38.057203000983897 ], [ -122.736698999477781, 38.057622001026758 ], [ -122.737106999772564, 38.058310000502679 ], [ -122.737793000351132, 38.058836000331418 ], [ -122.73861700029137, 38.059439000974955 ], [ -122.739472000068034, 38.060087000455802 ], [ -122.739999000370162, 38.060322000416029 ], [ -122.740356999852864, 38.060431001031226 ], [ -122.741211000015269, 38.060995000856501 ], [ -122.741852000504551, 38.061407000330554 ], [ -122.741898999459309, 38.061622000741544 ], [ -122.742507999621196, 38.06326000083817 ], [ -122.74359899987914, 38.064321000768444 ], [ -122.744965000200537, 38.065755000812032 ], [ -122.745575000525207, 38.06684600083576 ], [ -122.746198999710472, 38.067921000328084 ], [ -122.747010000317687, 38.067617000258124 ], [ -122.748322000094575, 38.067228000887624 ], [ -122.750107999946565, 38.066564000858648 ], [ -122.75109999977532, 38.066120001134138 ], [ -122.751316999741064, 38.066036000802939 ], [ -122.75166400003917, 38.065901001106305 ], [ -122.752010000110971, 38.065426001101414 ], [ -122.75209899995275, 38.065306000726252 ], [ -122.752505000321904, 38.06523800047119 ], [ -122.753227999421796, 38.065398000410099 ], [ -122.754821000025416, 38.065331001019395 ], [ -122.755428999981689, 38.065744000283701 ], [ -122.756412999804809, 38.066111000775123 ], [ -122.757020999404517, 38.066202000342891 ], [ -122.757498999838177, 38.066460000394883 ], [ -122.757744000445712, 38.066592000243254 ], [ -122.758086000275625, 38.066526001053283 ], [ -122.758583999819805, 38.066432000524593 ], [ -122.759510999854754, 38.066364000430461 ], [ -122.759886999525293, 38.066181000367465 ], [ -122.760409000525968, 38.065655000904933 ], [ -122.76090099943363, 38.065403000483329 ], [ -122.762638999795428, 38.064854000782027 ], [ -122.764578999699154, 38.0648090008143 ], [ -122.765302999770981, 38.064901000988279 ], [ -122.76614299987898, 38.065222000796048 ], [ -122.768370999998595, 38.066757000752261 ], [ -122.76868999962511, 38.066894000421684 ], [ -122.769645000044292, 38.066803001025939 ], [ -122.770166000234539, 38.066826000397015 ], [ -122.770629999783793, 38.06694100045523 ], [ -122.772134000318545, 38.068315001085878 ], [ -122.772336999802704, 38.068315000598176 ], [ -122.772626999710297, 38.068109000791715 ], [ -122.772703999906156, 38.067940000598696 ], [ -122.77323499999261, 38.068338000376748 ], [ -122.772886999981012, 38.068704000711094 ], [ -122.772511000337857, 38.068933000259584 ], [ -122.771033999595645, 38.069253000605059 ], [ -122.770773000474179, 38.069367001004778 ], [ -122.770135999584241, 38.069917000850253 ], [ -122.770280000327659, 38.070123000772959 ], [ -122.770424999411773, 38.070878000275954 ], [ -122.771002999895245, 38.072069000408725 ], [ -122.771379000264446, 38.073420000493812 ], [ -122.771407000149424, 38.073900000255783 ], [ -122.771812000259544, 38.0745650003729 ], [ -122.772188999752601, 38.074954000855847 ], [ -122.772680999664829, 38.075275000447625 ], [ -122.773318999986756, 38.075549000475469 ], [ -122.7754610004813, 38.077015000909377 ], [ -122.776705999985111, 38.07806900025011 ], [ -122.778125000011684, 38.078436000687653 ], [ -122.778790000401685, 38.078688001011912 ], [ -122.778992999697607, 38.078848000752927 ], [ -122.779021999737409, 38.079031000844537 ], [ -122.779571999425016, 38.079832001020229 ], [ -122.779542999904606, 38.080679001022155 ], [ -122.779657999718523, 38.080886000940247 ], [ -122.780063999601353, 38.081183000916113 ], [ -122.781135000021933, 38.081390000915157 ], [ -122.782408999585442, 38.081939000297567 ], [ -122.783248999492272, 38.08194000093274 ], [ -122.784089000158474, 38.081299000503599 ], [ -122.784350000103018, 38.080795000374259 ], [ -122.784350000161666, 38.080246000659585 ], [ -122.784274000328381, 38.080111000528859 ], [ -122.784003000490216, 38.079628000969109 ], [ -122.784003000175332, 38.078597000359629 ], [ -122.784526000307096, 38.076514000801438 ], [ -122.784526000073356, 38.075644001030611 ], [ -122.784207999835573, 38.074660001007651 ], [ -122.784178999804368, 38.074065000366609 ], [ -122.784642999916983, 38.073538000502005 ], [ -122.785134999586774, 38.073309000477707 ], [ -122.786149000216923, 38.073058000994287 ], [ -122.787944000304321, 38.073058000561467 ], [ -122.789044000425037, 38.073219000517462 ], [ -122.789796999950894, 38.073494000847063 ], [ -122.790317999480806, 38.073860001029857 ], [ -122.791649999853291, 38.075188000641567 ], [ -122.792054999754797, 38.075417000543851 ], [ -122.792199999592683, 38.075646001094071 ], [ -122.79260500038815, 38.075921000263563 ], [ -122.794023999871939, 38.076310001058765 ], [ -122.794689999785774, 38.076333000693808 ], [ -122.795907000502623, 38.075898001021827 ], [ -122.796775999661094, 38.075120000435689 ], [ -122.797209999535468, 38.07459400044133 ], [ -122.798398000261002, 38.073632001093031 ], [ -122.798601000419964, 38.073312000892699 ], [ -122.79870299947153, 38.072858000298858 ], [ -122.798727999674213, 38.072742000934184 ], [ -122.79900699974381, 38.071503000885144 ], [ -122.799036000314445, 38.07072500083342 ], [ -122.798920999930232, 38.070519000964353 ], [ -122.798754000037945, 38.07037300104998 ], [ -122.798426999748287, 38.070084000241103 ], [ -122.798253999560686, 38.069786000511968 ], [ -122.798254000269424, 38.068985000509095 ], [ -122.798456999581134, 38.068596000239374 ], [ -122.79903599950768, 38.067932000646877 ], [ -122.799268999622868, 38.067223000849445 ], [ -122.79955799996776, 38.066948000283574 ], [ -122.800051000220591, 38.066765000804864 ], [ -122.801295999858993, 38.066673000605121 ], [ -122.801613999963408, 38.066559000590033 ], [ -122.801917999759567, 38.066349000773087 ], [ -122.802280000044348, 38.066101000695603 ], [ -122.802628000305418, 38.065689000957292 ], [ -122.803669999981125, 38.065208000453353 ], [ -122.80442300045749, 38.064980001114236 ], [ -122.8052920004464, 38.064918001011357 ], [ -122.80604499948214, 38.064865000676491 ], [ -122.807868999753339, 38.065300000847117 ], [ -122.808737999944185, 38.065346000741776 ], [ -122.809663999956754, 38.065117000921497 ], [ -122.810416999694269, 38.064728001062747 ], [ -122.81090899941691, 38.064339000364853 ], [ -122.811141000419198, 38.064316000490372 ], [ -122.812240999443304, 38.063584000858675 ], [ -122.813254999525753, 38.063310000555241 ], [ -122.816903000334477, 38.06324100106854 ], [ -122.819016999578182, 38.06317200054562 ], [ -122.820233000209967, 38.063378000878529 ], [ -122.820435000164636, 38.06376700069989 ], [ -122.820753999423303, 38.065027000722154 ], [ -122.820927999500498, 38.066927000332321 ], [ -122.820941000310214, 38.068108000599302 ], [ -122.820956999937394, 38.069513000788227 ], [ -122.821217999450226, 38.072031000308087 ], [ -122.821218000445896, 38.073336000965405 ], [ -122.821508000469578, 38.073862001059695 ], [ -122.822666000014635, 38.074709000886386 ], [ -122.824561000037448, 38.076453000941378 ], [ -122.825303000040122, 38.077136000802604 ], [ -122.826142999661144, 38.078211000847759 ], [ -122.826837999980853, 38.07981400056719 ], [ -122.826925000513256, 38.079883000683772 ], [ -122.826924999853546, 38.0802490010445 ], [ -122.827156999405901, 38.080661000581358 ], [ -122.827417999582906, 38.082011000668864 ], [ -122.827447000034738, 38.082744000846979 ], [ -122.827678999684338, 38.082836001048207 ], [ -122.828836999713261, 38.084713001123994 ], [ -122.829822000165521, 38.085834001069337 ], [ -122.829851000472871, 38.086086001030331 ], [ -122.831241999806053, 38.087688000934179 ], [ -122.831706000013739, 38.088490000316369 ], [ -122.832168999489298, 38.088970000385814 ], [ -122.832806999735269, 38.089840000604482 ], [ -122.832806999637214, 38.090184000243582 ], [ -122.832459000174183, 38.090184000324776 ], [ -122.831938000099896, 38.089909001040468 ], [ -122.831677000319743, 38.089634000804487 ], [ -122.831445000307014, 38.089108000337994 ], [ -122.83060500041168, 38.088513000743021 ], [ -122.830401999543895, 38.088055000605166 ], [ -122.830026000071342, 38.087849000803551 ], [ -122.828809000004142, 38.087689000945979 ], [ -122.828374999633525, 38.087529000781402 ], [ -122.828055999824926, 38.087277001079762 ], [ -122.827476999628246, 38.087231000406689 ], [ -122.82718699985503, 38.087300000480191 ], [ -122.82689699956758, 38.087575000789073 ], [ -122.827012999610758, 38.088330000645726 ], [ -122.826984999692385, 38.088879001079775 ], [ -122.826636999647349, 38.089681000869994 ], [ -122.826695000318466, 38.09050500063487 ], [ -122.826607999997549, 38.090688000583896 ], [ -122.826348000054665, 38.090619000798704 ], [ -122.825883999707514, 38.0898640010221 ], [ -122.825739000440123, 38.089841000959915 ], [ -122.825593999435696, 38.089933000726766 ], [ -122.825558000322516, 38.0901910003995 ], [ -122.82547900017839, 38.090757001031854 ], [ -122.825537000111552, 38.091260000413691 ], [ -122.825763000039544, 38.091481000271557 ], [ -122.825913000014722, 38.091627001094146 ], [ -122.827361999677535, 38.092061000804222 ], [ -122.82773799950381, 38.092336000683034 ], [ -122.828125999793755, 38.092754000540893 ], [ -122.82837600050793, 38.093023000777698 ], [ -122.828984000392623, 38.093481001078644 ], [ -122.829389999994703, 38.093710000360836 ], [ -122.830055999701372, 38.094213000592674 ], [ -122.830295000477193, 38.094475000411428 ], [ -122.833475000279734, 38.097967000946646 ], [ -122.834808000100168, 38.099066000511094 ], [ -122.83689400026617, 38.100530000975013 ], [ -122.837561000376084, 38.101217000546086 ], [ -122.838284999911949, 38.102522000405884 ], [ -122.839212999658983, 38.103758000298164 ], [ -122.840517000077739, 38.104742001106793 ], [ -122.840545999824528, 38.104856001035088 ], [ -122.840807000425897, 38.105062001104749 ], [ -122.84109600046645, 38.10499400098854 ], [ -122.841298999406902, 38.104650000744037 ], [ -122.841530999821217, 38.104467000316504 ], [ -122.841906999762372, 38.104398000620861 ], [ -122.842139000394894, 38.104490000853971 ], [ -122.842139000070105, 38.104787000984693 ], [ -122.841676000119463, 38.105131000524594 ], [ -122.841559999586053, 38.105451000669426 ], [ -122.842023999760897, 38.105657000287444 ], [ -122.842052999540499, 38.106871000631685 ], [ -122.842488000260204, 38.107351000371636 ], [ -122.842922000012308, 38.107672000919358 ], [ -122.843327999949025, 38.107763001007072 ], [ -122.844109999650257, 38.107694000512097 ], [ -122.844409999995491, 38.107565000629485 ], [ -122.844747999582083, 38.107419000815959 ], [ -122.845531000016209, 38.107556000586669 ], [ -122.846515999489256, 38.107510000693864 ], [ -122.848978000027429, 38.106388000449279 ], [ -122.849354000528749, 38.105793000358496 ], [ -122.849644000215093, 38.105724000820089 ], [ -122.850223999733359, 38.105998000325826 ], [ -122.851527999616053, 38.106845000605958 ], [ -122.852425999984646, 38.107783000444634 ], [ -122.852657999444816, 38.108172000597321 ], [ -122.852773999505203, 38.10872200071536 ], [ -122.852745999968178, 38.109432000744768 ], [ -122.852166999580234, 38.110393000728898 ], [ -122.852080999917504, 38.111698000461239 ], [ -122.851732999678632, 38.112202001114277 ], [ -122.851270000164632, 38.112614000239383 ], [ -122.851125000040497, 38.112866000605045 ], [ -122.851212000201159, 38.113415000711754 ], [ -122.852226999534793, 38.1143770004403 ], [ -122.853153999647162, 38.115040000724484 ], [ -122.8537050003128, 38.115269000920634 ], [ -122.853908000497441, 38.115681000323185 ], [ -122.854400999592571, 38.116207000400806 ], [ -122.855618000395367, 38.116527000760058 ], [ -122.856574000476556, 38.116458000490894 ], [ -122.858659999789182, 38.115817000765048 ], [ -122.858892000155251, 38.115908000720871 ], [ -122.858978999449562, 38.116343001122623 ], [ -122.8596170000543, 38.116274000443688 ], [ -122.860050999654689, 38.116503000435934 ], [ -122.860051999977955, 38.116686000287622 ], [ -122.859413999679575, 38.117281000616167 ], [ -122.859415000056913, 38.117625000847482 ], [ -122.859908000331572, 38.118197001098309 ], [ -122.860950999775767, 38.118998001099754 ], [ -122.861212000451872, 38.118998000572141 ], [ -122.861183000132343, 38.118815001067624 ], [ -122.860776999673206, 38.118151000326904 ], [ -122.860167999431596, 38.117602000444045 ], [ -122.860168000188949, 38.117327000937642 ], [ -122.860370000284476, 38.116961000546596 ], [ -122.860659999740776, 38.116686001011239 ], [ -122.860862999534788, 38.116709000493593 ], [ -122.86155900004168, 38.117464000247558 ], [ -122.86431200046043, 38.118882000475416 ], [ -122.864776000269913, 38.119271000405867 ], [ -122.864978999391525, 38.119706000716789 ], [ -122.86498000018841, 38.120186000761493 ], [ -122.86483499959823, 38.120507001019824 ], [ -122.863416000141385, 38.122201000792991 ], [ -122.863358999544204, 38.122567000881197 ], [ -122.862780000530179, 38.123964000927721 ], [ -122.862751000214445, 38.124238000994566 ], [ -122.862868000012327, 38.124921000340748 ], [ -122.862867999741525, 38.12525600065748 ], [ -122.863129000081287, 38.125416001076744 ], [ -122.863129999822775, 38.127243000855245 ], [ -122.863362999484423, 38.127586000654766 ], [ -122.864522000176777, 38.128501000612019 ], [ -122.865420999964883, 38.128890000744825 ], [ -122.865827000430215, 38.128981000377806 ], [ -122.866638999923168, 38.129622000288322 ], [ -122.867943999883337, 38.130240000474579 ], [ -122.868262999870296, 38.130651000395389 ], [ -122.871104999526239, 38.133123000598665 ], [ -122.871337999485959, 38.133512000365485 ], [ -122.871482999530073, 38.134175000897841 ], [ -122.871542000261144, 38.135183000254486 ], [ -122.871802999996987, 38.135572000742854 ], [ -122.872150999392133, 38.136419001048161 ], [ -122.872761000269804, 38.137059000668629 ], [ -122.872732000527321, 38.137357000683487 ], [ -122.872240000041643, 38.138364000736082 ], [ -122.87218299988325, 38.139097000497372 ], [ -122.872652999651365, 38.139560000272404 ], [ -122.872879000234775, 38.139783000660799 ], [ -122.873023999745143, 38.140173000943776 ], [ -122.873342999846756, 38.140424000558305 ], [ -122.874358000290286, 38.140675000450187 ], [ -122.875053999842748, 38.141156000516752 ], [ -122.876104999978082, 38.141625000592306 ], [ -122.877850999626091, 38.142575000626351 ], [ -122.878227999917343, 38.142690000847928 ], [ -122.879155000071862, 38.142622000395257 ], [ -122.879793000319765, 38.142805000383419 ], [ -122.880197999486256, 38.143103000972346 ], [ -122.8808940002165, 38.143355001074987 ], [ -122.882080999995949, 38.144523001109036 ], [ -122.882776000425025, 38.145623000364274 ], [ -122.883527999739414, 38.14775200036145 ], [ -122.883817999397706, 38.148141000340111 ], [ -122.884310000272464, 38.148416001004669 ], [ -122.885730999623888, 38.148600000366251 ], [ -122.887150999778427, 38.14866900066999 ], [ -122.88746999976992, 38.148807000445366 ], [ -122.888107000426288, 38.149425000996068 ], [ -122.888657999984531, 38.150272000465399 ], [ -122.888628999451157, 38.150593000485124 ], [ -122.888252000506299, 38.151211000392202 ], [ -122.888367000096125, 38.151554001027606 ], [ -122.889353000444459, 38.152287001040236 ], [ -122.890627999474773, 38.153066000515309 ], [ -122.891584000081593, 38.153959000506653 ], [ -122.892482000098425, 38.155310000641251 ], [ -122.893234999829957, 38.156272000950175 ], [ -122.893610999835573, 38.157165000597288 ], [ -122.894914999683252, 38.158837000651332 ], [ -122.895058999675683, 38.159592000271466 ], [ -122.894391000282411, 38.161377000287978 ], [ -122.894478000009144, 38.161949000394152 ], [ -122.894854999421497, 38.162064001018571 ], [ -122.895115999674474, 38.162338000759512 ], [ -122.896361999731056, 38.162591000447868 ], [ -122.898158999707192, 38.163438001001573 ], [ -122.898419999751809, 38.163667000418343 ], [ -122.898739000266119, 38.164194000989262 ], [ -122.899115999767318, 38.164492000453706 ], [ -122.900003000004659, 38.164868000456785 ], [ -122.900303999981574, 38.164996000662505 ], [ -122.901086999425502, 38.165591000558599 ], [ -122.90105699998027, 38.166919000599997 ], [ -122.90114400028348, 38.167102000717762 ], [ -122.901955000341957, 38.167743000679337 ], [ -122.902187000027439, 38.168407001102047 ], [ -122.902332000401941, 38.16856800097267 ], [ -122.90244799993782, 38.169255000944723 ], [ -122.902591999699254, 38.169461000636289 ], [ -122.902678999499912, 38.170102000964363 ], [ -122.9028240004059, 38.170376000603184 ], [ -122.903172000161945, 38.170720001098402 ], [ -122.903489999973871, 38.171475000659996 ], [ -122.903606000147377, 38.172025000833486 ], [ -122.903517999908047, 38.173376000444335 ], [ -122.903749999729101, 38.174039000360715 ], [ -122.903836999986694, 38.174085000895701 ], [ -122.904097999400847, 38.174749000759327 ], [ -122.904358999679658, 38.174932000532358 ], [ -122.905402999729077, 38.175024000778798 ], [ -122.905779000233082, 38.175162000694655 ], [ -122.90598200000197, 38.175803000857918 ], [ -122.905982000416074, 38.176215000465348 ], [ -122.90719900037638, 38.177497000548811 ], [ -122.907576999913587, 38.178070000441487 ], [ -122.908765999955904, 38.179283000891324 ], [ -122.909288000121492, 38.179512000521392 ], [ -122.909374000007432, 38.179993001111377 ], [ -122.910070000169526, 38.181115000813683 ], [ -122.910272999814694, 38.18180200054632 ], [ -122.910214000383903, 38.182855000449464 ], [ -122.910446000280373, 38.183244000794623 ], [ -122.911605999669575, 38.183771001074774 ], [ -122.912011999840189, 38.18459500037121 ], [ -122.91230199944323, 38.184847000898642 ], [ -122.912417999998027, 38.185213000469759 ], [ -122.91276499964134, 38.185671000348229 ], [ -122.912997000101868, 38.186473001090512 ], [ -122.913141999618276, 38.186656000446817 ], [ -122.913026000229891, 38.187182000470166 ], [ -122.913055000148063, 38.187663000579334 ], [ -122.913402999524166, 38.188098000754167 ], [ -122.913519000223232, 38.188441000666664 ], [ -122.913721999781075, 38.188647000667714 ], [ -122.915083999577007, 38.189426000540941 ], [ -122.916737999707053, 38.189747000986245 ], [ -122.917027999732014, 38.189884000503348 ], [ -122.91772399974387, 38.190594000406939 ], [ -122.917868000210831, 38.191418001052483 ], [ -122.918244999866971, 38.192105001075419 ], [ -122.918447999790928, 38.19276900059738 ], [ -122.918708999449507, 38.193319000725303 ], [ -122.918824999812415, 38.193937001073401 ], [ -122.919753000013998, 38.194761000300787 ], [ -122.920014000387098, 38.195378000604407 ], [ -122.920187999568384, 38.196134001015615 ], [ -122.920419000447907, 38.196523000866442 ], [ -122.920795999439491, 38.196889000436336 ], [ -122.920940999965111, 38.197255000507596 ], [ -122.920796000173155, 38.198629000668532 ], [ -122.920999000227525, 38.198812001134925 ], [ -122.921143999855985, 38.199178000836696 ], [ -122.921056999726972, 38.199384000859993 ], [ -122.921086000234254, 38.199613000559168 ], [ -122.921724000183332, 38.200209000366961 ], [ -122.92175300046037, 38.200735000749816 ], [ -122.922187999652678, 38.201445000585323 ], [ -122.922564999789046, 38.201743000515684 ], [ -122.924015000253107, 38.203849000577677 ], [ -122.924246999584426, 38.204627000503002 ], [ -122.924420999550179, 38.204879000831468 ], [ -122.924856000258899, 38.205200000934717 ], [ -122.925155999687021, 38.20534400093922 ], [ -122.925523000016, 38.205520000412065 ], [ -122.925900999535273, 38.206482001011246 ], [ -122.925814000511409, 38.206642000489282 ], [ -122.926016999608962, 38.208588000285459 ], [ -122.925988000248367, 38.210030000548258 ], [ -122.925842000253482, 38.210785000853669 ], [ -122.925870999469154, 38.21344100074262 ], [ -122.925086999652919, 38.216325000639415 ], [ -122.924331999726562, 38.21747000077017 ], [ -122.924099999999257, 38.2182020009935 ], [ -122.922850999766538, 38.221018000377398 ], [ -122.922792999608902, 38.221293000281449 ], [ -122.922875000408112, 38.221262000516077 ], [ -122.92322899949076, 38.221133000592722 ], [ -122.92525999944516, 38.219576001007994 ], [ -122.925638000095134, 38.218866000775179 ], [ -122.9261020001031, 38.218386000829753 ], [ -122.927726999422319, 38.217424000311603 ], [ -122.928133000359182, 38.216669000254896 ], [ -122.928162999462899, 38.215799000481319 ], [ -122.928394999988726, 38.215433000383975 ], [ -122.928829999757909, 38.215021000331362 ], [ -122.929904000448246, 38.214311001007189 ], [ -122.930251999463778, 38.213968000632377 ], [ -122.930483999869125, 38.213579000713487 ], [ -122.931035000338653, 38.213121000438562 ], [ -122.93152900035831, 38.212869000702163 ], [ -122.931732000064258, 38.212457001066326 ], [ -122.932021999580357, 38.212320000705873 ], [ -122.933357000021687, 38.21204500035406 ], [ -122.933705000050182, 38.211656000243231 ], [ -122.934342999807697, 38.211839000388487 ], [ -122.935532999514962, 38.212434000296589 ], [ -122.93556200011966, 38.213671000617502 ], [ -122.935909999829263, 38.214312001045755 ], [ -122.936489999829519, 38.214998000593788 ], [ -122.938057000485472, 38.216303000520483 ], [ -122.938666000186075, 38.216647000968372 ], [ -122.940088000213919, 38.217814000858738 ], [ -122.940407000232071, 38.218615000685709 ], [ -122.940667999541162, 38.21889000072791 ], [ -122.941509999754317, 38.219211001013022 ], [ -122.942670000073576, 38.219806000353607 ], [ -122.944004999421566, 38.220012000449586 ], [ -122.945368999750357, 38.220424000752146 ], [ -122.946879000243953, 38.2200340010776 ], [ -122.947633000427558, 38.219989000367072 ], [ -122.948154999798604, 38.220240000262713 ], [ -122.948793999752681, 38.220126000568875 ], [ -122.948910000421918, 38.220034000420931 ], [ -122.948852000396698, 38.2198740004036 ], [ -122.948416999459852, 38.219714001128793 ], [ -122.948358000193664, 38.219279001022663 ], [ -122.947894000214376, 38.218958001039816 ], [ -122.947952000424436, 38.218684000702041 ], [ -122.948938999744726, 38.217722000511998 ], [ -122.949315999988755, 38.21705800093855 ], [ -122.950041000175872, 38.216326001071238 ], [ -122.950244000116371, 38.215845000966617 ], [ -122.950968999633346, 38.215295000423971 ], [ -122.952188000166515, 38.214814000437798 ], [ -122.952825999861375, 38.214448000347602 ], [ -122.953289999397413, 38.214791000590488 ], [ -122.953842000073493, 38.215661000277969 ], [ -122.954015999435171, 38.216234001074199 ], [ -122.954016000104517, 38.217195001089117 ], [ -122.954103000008274, 38.217310000320488 ], [ -122.953871000397626, 38.218363000500148 ], [ -122.95393000017387, 38.219484000816287 ], [ -122.953668999402737, 38.22005700056819 ], [ -122.953000999886001, 38.221133000534486 ], [ -122.95242099980662, 38.222506000470673 ], [ -122.952276000412553, 38.223216000390863 ], [ -122.952276999973904, 38.224498000710213 ], [ -122.953322000231822, 38.22616900032164 ], [ -122.953350999763117, 38.226467001045087 ], [ -122.953292999882294, 38.227520000753586 ], [ -122.953252000301276, 38.227745000751256 ], [ -122.953177000285436, 38.228160000533897 ], [ -122.952684000240609, 38.22948700049627 ], [ -122.952683999933043, 38.230334000451215 ], [ -122.953235999440082, 38.231433000426847 ], [ -122.95407700038821, 38.23212000082556 ], [ -122.954339000292123, 38.232692001101569 ], [ -122.954513000119888, 38.23287500072032 ], [ -122.954860999858525, 38.232990000803973 ], [ -122.955760999910609, 38.233585000811487 ], [ -122.956021999544703, 38.233974000805539 ], [ -122.957008999437846, 38.234752000778727 ], [ -122.958111999393935, 38.235301000897508 ], [ -122.958721999974557, 38.235393000689761 ], [ -122.958983000211504, 38.235255000283637 ], [ -122.959215000379544, 38.234454000753644 ], [ -122.959215000506461, 38.233928001015897 ], [ -122.959069000051159, 38.233584001022415 ], [ -122.959039999961789, 38.233218000644626 ], [ -122.959272000010699, 38.233058000621369 ], [ -122.959592000442868, 38.233241000913097 ], [ -122.959881999629758, 38.233607000525588 ], [ -122.960434000399729, 38.233996000589428 ], [ -122.960724000155111, 38.234317000270373 ], [ -122.960898000308433, 38.234385000293166 ], [ -122.961158999883708, 38.234339000431319 ], [ -122.961535999959651, 38.234133000594554 ], [ -122.961681000287356, 38.233927000635283 ], [ -122.96205900017614, 38.233813000340632 ], [ -122.962436000160451, 38.234019000454694 ], [ -122.962899999933953, 38.233973001125321 ], [ -122.963016000279282, 38.233881000774701 ], [ -122.963044999618376, 38.233103000541767 ], [ -122.963132000244315, 38.232988000836961 ], [ -122.963132000149614, 38.232187000355232 ], [ -122.963015999531081, 38.231958001115004 ], [ -122.963045000322751, 38.231363000332394 ], [ -122.963276999498021, 38.231271000996507 ], [ -122.964670000187937, 38.231775000816512 ], [ -122.967254000454659, 38.232095000554928 ], [ -122.971113999743437, 38.231842000832209 ], [ -122.971490999718227, 38.231704001012162 ], [ -122.971983999869508, 38.231750000774312 ], [ -122.97224600016402, 38.231956000532058 ], [ -122.972709999470126, 38.232780000814152 ], [ -122.972797999559916, 38.233581000930727 ], [ -122.972334000394156, 38.23452000094133 ], [ -122.971406000263798, 38.236031000908788 ], [ -122.970942000222067, 38.237313000388603 ], [ -122.970072000399469, 38.238137000561174 ], [ -122.969694999935271, 38.238710000893249 ], [ -122.96949199966727, 38.240221001052447 ], [ -122.96885399945262, 38.24193800054843 ], [ -122.968569000092089, 38.242879000920652 ], [ -122.968216999746559, 38.244044000338782 ], [ -122.967984999526664, 38.245738000526117 ], [ -122.967956000531245, 38.247066001070465 ], [ -122.967783000203852, 38.248005000512805 ], [ -122.96755099958861, 38.24860000070646 ], [ -122.967463999537074, 38.249149001129148 ], [ -122.967492999710416, 38.249421000599966 ], [ -122.967290000096114, 38.249918000663008 ], [ -122.967290034382387, 38.249918000672551 ], [ -122.96719667028006, 38.250312688525732 ], [ -122.967196669445912, 38.250734083959237 ], [ -122.967934110573168, 38.251436408538382 ], [ -122.96807457620649, 38.251928036139859 ], [ -122.968390622093978, 38.252279197786947 ], [ -122.968285272717338, 38.253192220550588 ], [ -122.968495970599733, 38.253683847533686 ], [ -122.96930364429295, 38.254245707625834 ], [ -122.969514341225548, 38.2546319863878 ], [ -122.970181549762302, 38.254948032697364 ], [ -122.970462479826239, 38.255369426744927 ], [ -122.970427363942832, 38.256036635389322 ], [ -122.970251782619357, 38.256317565794177 ], [ -122.970567828344059, 38.257019889962649 ], [ -122.97081364262732, 38.25726570432316 ], [ -122.971164804873624, 38.259267330068312 ], [ -122.972077827134186, 38.260250583926137 ], [ -122.972604570314289, 38.260426165218242 ], [ -122.974009220492292, 38.261304071376244 ], [ -122.974290149519817, 38.262814069852254 ], [ -122.974746661028263, 38.263516394662439 ], [ -122.975273404733358, 38.264183602635057 ], [ -122.975870381215245, 38.264710346710991 ], [ -122.976256659130485, 38.26527220659645 ], [ -122.97639712398697, 38.265763833900841 ], [ -122.976678054376009, 38.26607987971839 ], [ -122.977450611008706, 38.26636080945174 ], [ -122.977591076425554, 38.267203599668733 ], [ -122.977134565665338, 38.267905924217594 ], [ -122.977134565037474, 38.268994528103363 ], [ -122.977520844182465, 38.269802201655622 ], [ -122.979627818209735, 38.270223596484264 ], [ -122.980997351358837, 38.270469410149325 ], [ -122.981769909268309, 38.27106638624042 ], [ -122.982366885283071, 38.271487780394089 ], [ -122.982226419475609, 38.272295454213335 ], [ -122.98282339655222, 38.272295453897044 ], [ -122.983771533990847, 38.273138244072371 ], [ -122.985632694822712, 38.272997778476118 ], [ -122.986335019551191, 38.273208475915041 ], [ -122.986826647073855, 38.273875684523176 ], [ -122.986967112290529, 38.274402428198215 ], [ -122.987493855417526, 38.274683358490478 ], [ -122.98749385547481, 38.275069636869581 ], [ -122.987212925405828, 38.275701729070853 ], [ -122.987248042300294, 38.276088007599405 ], [ -122.98784501790972, 38.276509402365967 ], [ -122.988090831381811, 38.27693079770215 ], [ -122.988722924263286, 38.277387308603814 ], [ -122.98872292453828, 38.277843820103548 ], [ -122.988512226566101, 38.278265214759386 ], [ -122.988652691801192, 38.279108004453335 ], [ -122.988406878316368, 38.279669864685488 ], [ -122.988512226586053, 38.280021026998526 ], [ -122.989003853641137, 38.280688234724103 ], [ -122.989741295281917, 38.281179862248301 ], [ -122.992094083066917, 38.281741722053496 ], [ -122.993849895069062, 38.282654744969186 ], [ -122.994095708442217, 38.282900558162368 ], [ -122.994622451860636, 38.283111255258284 ], [ -122.995008731000354, 38.284199858983591 ], [ -122.995254544344746, 38.284480788546901 ], [ -122.995289660328169, 38.285428927074328 ], [ -122.995675939674015, 38.285674741494667 ], [ -122.996132450898571, 38.285850321964595 ], [ -122.996659193568206, 38.286271717518062 ], [ -122.996518729217357, 38.286798461039204 ], [ -122.996553845467659, 38.287290088084092 ], [ -122.996764542493921, 38.287641250085372 ], [ -122.997221053401859, 38.287887063945433 ], [ -122.997221053372371, 38.288097761673214 ], [ -122.996940124139542, 38.288378690982896 ], [ -122.997115704587969, 38.289467294626824 ], [ -122.997607332389606, 38.289853573174696 ], [ -122.999995237251028, 38.290801712185385 ], [ -123.000030352463796, 38.291012408903185 ], [ -122.999714307049473, 38.291398687665044 ], [ -122.999784539021164, 38.292171245048834 ], [ -123.000241050113701, 38.293259848897236 ], [ -123.00076779341245, 38.293891941015211 ], [ -123.001110999804482, 38.293932000400751 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1299, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.284684000272378, 38.297614000800266 ], [ -122.283684000376184, 38.298014000974995 ], [ -122.28328399987754, 38.297314000317748 ], [ -122.283211999800756, 38.297263000619417 ], [ -122.28258400035169, 38.296814001121277 ], [ -122.282546999624103, 38.296750000348887 ], [ -122.282183999699797, 38.296114000239307 ], [ -122.28275400014725, 38.295300000830274 ], [ -122.282882000090879, 38.295090000545123 ], [ -122.282878000391321, 38.294651000505219 ], [ -122.281953999719363, 38.292537000643001 ], [ -122.283224999912377, 38.289495000950041 ], [ -122.283683999553162, 38.289714000258918 ], [ -122.28388400047379, 38.289814000470159 ], [ -122.28508400016473, 38.290014000320411 ], [ -122.286383999427841, 38.290314000896011 ], [ -122.28758399948471, 38.29051400044645 ], [ -122.288883999805492, 38.290814000404268 ], [ -122.290183999462712, 38.291114000394479 ], [ -122.291283999885138, 38.2911140006861 ], [ -122.292185000091308, 38.290914000650595 ], [ -122.29448499985655, 38.290914000534414 ], [ -122.294484999709965, 38.291514001073033 ], [ -122.294384999490887, 38.292414000547431 ], [ -122.294085000072187, 38.293814000467059 ], [ -122.293984999710759, 38.294614000694139 ], [ -122.293885000448014, 38.29541400072678 ], [ -122.293784999996873, 38.296214000551188 ], [ -122.293585000457881, 38.297214000630333 ], [ -122.293484999645926, 38.298014000834478 ], [ -122.293284999597603, 38.298714001098674 ], [ -122.293285000173796, 38.299614000652532 ], [ -122.293684999486018, 38.300314000672437 ], [ -122.293521000153433, 38.300419001078787 ], [ -122.292584999495688, 38.301014000508587 ], [ -122.292515999639861, 38.30106000030441 ], [ -122.291084999992535, 38.30201400077857 ], [ -122.290884999793207, 38.300714000555708 ], [ -122.290385000273247, 38.300514001059867 ], [ -122.288584999479482, 38.300214000911744 ], [ -122.288283999733551, 38.299714000799007 ], [ -122.287683999997867, 38.30011400075211 ], [ -122.286884000330261, 38.300414001087773 ], [ -122.285884000234589, 38.2990140008054 ], [ -122.285083999855729, 38.298314000303257 ], [ -122.284684000272378, 38.297614000800266 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1300, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.294185000310023, 38.284314000328713 ], [ -122.294084999988755, 38.284614000397752 ], [ -122.294284999994304, 38.285114000258808 ], [ -122.294285000418554, 38.285314000340755 ], [ -122.294285000098057, 38.285714000477427 ], [ -122.294385000440627, 38.286214000536901 ], [ -122.294484999816419, 38.28671400046828 ], [ -122.294485000473756, 38.287114000520596 ], [ -122.294484999953468, 38.287514000538906 ], [ -122.294485000108082, 38.287814000988874 ], [ -122.294485000473884, 38.288714000444756 ], [ -122.294485000268494, 38.28951400024404 ], [ -122.294484999911205, 38.289744000299748 ], [ -122.294484999690212, 38.290218000985242 ], [ -122.294485000066288, 38.290393000796108 ], [ -122.294484999516882, 38.290634000319933 ], [ -122.29448499985655, 38.290914000534414 ], [ -122.292185000091308, 38.290914000650595 ], [ -122.291283999885138, 38.2911140006861 ], [ -122.290183999462712, 38.291114000394479 ], [ -122.288883999805492, 38.290814000404268 ], [ -122.28758399948471, 38.29051400044645 ], [ -122.286383999427841, 38.290314000896011 ], [ -122.28508400016473, 38.290014000320411 ], [ -122.28388400047379, 38.289814000470159 ], [ -122.283683999553162, 38.289714000258918 ], [ -122.283224999912377, 38.289495000950041 ], [ -122.283383999638403, 38.289114000821947 ], [ -122.283183999506733, 38.286014000523451 ], [ -122.28578399981474, 38.285314001051312 ], [ -122.286584000254138, 38.283314000692855 ], [ -122.285484000080075, 38.281114000825582 ], [ -122.28744400020679, 38.281310001011519 ], [ -122.289483999650699, 38.281514000793791 ], [ -122.292883999551705, 38.281714000529831 ], [ -122.293783999929829, 38.281714000546728 ], [ -122.293884000372415, 38.282414000609442 ], [ -122.293983999509692, 38.282914000353216 ], [ -122.293985000489158, 38.283314000362388 ], [ -122.294085000389884, 38.283514001113517 ], [ -122.294185000310023, 38.284314000328713 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1305, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.303964000109787, 38.303644001077586 ], [ -122.303984999729863, 38.30371400056999 ], [ -122.304185999994743, 38.30435000068902 ], [ -122.304528999682731, 38.305451000704977 ], [ -122.304793999390711, 38.306436000847349 ], [ -122.305084999798339, 38.307714000855256 ], [ -122.305963999941824, 38.310644001114127 ], [ -122.305984999965347, 38.310714001083724 ], [ -122.306258999513133, 38.311741000729057 ], [ -122.306527999827395, 38.312750000473365 ], [ -122.306785000158555, 38.313713001140592 ], [ -122.308584999819018, 38.319513001107417 ], [ -122.309185000259077, 38.320813000793358 ], [ -122.307585000017468, 38.321113000653085 ], [ -122.306847999439896, 38.321243001081378 ], [ -122.304185000077439, 38.321713001033878 ], [ -122.302984999633239, 38.322013000500043 ], [ -122.300085000392428, 38.32241300079248 ], [ -122.299384999842715, 38.320813000949911 ], [ -122.299085000171516, 38.319213000373416 ], [ -122.297985000369906, 38.315313000793815 ], [ -122.297585000509315, 38.313913000404412 ], [ -122.297485000388235, 38.313314001008791 ], [ -122.297184999889609, 38.312314000441589 ], [ -122.29688499968708, 38.311714001015375 ], [ -122.296385000144042, 38.30981400066559 ], [ -122.295885000026729, 38.308114000600902 ], [ -122.295684999893354, 38.307514000504142 ], [ -122.295585000248536, 38.306714001010455 ], [ -122.295285000172527, 38.30591400037342 ], [ -122.295084999835069, 38.305114000557332 ], [ -122.294885000426376, 38.304514000654379 ], [ -122.294784999639191, 38.304214001000908 ], [ -122.294585000026757, 38.303414001046015 ], [ -122.294385000101656, 38.302614000656568 ], [ -122.294185000143116, 38.302114000457806 ], [ -122.29418499956914, 38.301914000941544 ], [ -122.293985000439307, 38.301014000383226 ], [ -122.293785000115705, 38.300714000750048 ], [ -122.293684999486018, 38.300314000672437 ], [ -122.294177999699968, 38.300029000553515 ], [ -122.295225999736374, 38.299422000711978 ], [ -122.295585000386353, 38.299214000576384 ], [ -122.295951000237295, 38.299534000541442 ], [ -122.296267000212339, 38.299811001035522 ], [ -122.296384999782148, 38.299914000947965 ], [ -122.297484999892021, 38.299414000835867 ], [ -122.299322999565476, 38.300114000624653 ], [ -122.299584999396032, 38.300214001014197 ], [ -122.300184999978342, 38.300814000291766 ], [ -122.300223000177084, 38.300819000790938 ], [ -122.30077400023066, 38.300898000428639 ], [ -122.300889999770149, 38.300914000976633 ], [ -122.302156999652382, 38.301425000874829 ], [ -122.303206000291652, 38.301134000856422 ], [ -122.303433000177748, 38.301946000925696 ], [ -122.303673999774048, 38.30267000026101 ], [ -122.303684999976284, 38.302714000417083 ], [ -122.303964000109787, 38.303644001077586 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1306, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.300085000392428, 38.32241300079248 ], [ -122.302984999633239, 38.322013000500043 ], [ -122.304185000077439, 38.321713001033878 ], [ -122.306847999439896, 38.321243001081378 ], [ -122.307585000017468, 38.321113000653085 ], [ -122.309185000259077, 38.320813000793358 ], [ -122.314086000116177, 38.326713000935221 ], [ -122.317286000243612, 38.33021300106013 ], [ -122.320586999394635, 38.334232000973735 ], [ -122.321885999480045, 38.335813001124727 ], [ -122.323441999546219, 38.33822300089156 ], [ -122.323678000212979, 38.338588000403263 ], [ -122.323763000345224, 38.338720000696654 ], [ -122.324078000366143, 38.339209000899501 ], [ -122.324112000204394, 38.339264000248846 ], [ -122.32372800005281, 38.339386001087639 ], [ -122.322386000492244, 38.339813000670304 ], [ -122.32182099990888, 38.340028000840867 ], [ -122.321485999573113, 38.340113000373094 ], [ -122.320985999636093, 38.340313000411015 ], [ -122.320186000373553, 38.340613000395365 ], [ -122.31969799995629, 38.340746000869828 ], [ -122.317985999767743, 38.34121300069269 ], [ -122.317485999851186, 38.341513000686497 ], [ -122.316804999761317, 38.341702000406791 ], [ -122.315686000057525, 38.342013000743862 ], [ -122.314486000299226, 38.342713000806881 ], [ -122.31432700035343, 38.342788000985507 ], [ -122.312930999707987, 38.34344500038798 ], [ -122.312785999449133, 38.343513000481245 ], [ -122.311585999768212, 38.344113000657998 ], [ -122.31128500003544, 38.344293000650261 ], [ -122.30958600040033, 38.345313000719614 ], [ -122.30648599946926, 38.347013000680064 ], [ -122.303185999899299, 38.348812000979351 ], [ -122.29808499953927, 38.34161300099494 ], [ -122.294284999909465, 38.336113000345655 ], [ -122.29408199947764, 38.335808000820656 ], [ -122.293884999970146, 38.335513000982914 ], [ -122.292984999764769, 38.333713001059238 ], [ -122.292426000032748, 38.33242600096537 ], [ -122.292291000329527, 38.332115000782458 ], [ -122.291906000266508, 38.331230001058749 ], [ -122.291662999964089, 38.330672000446967 ], [ -122.291192000456789, 38.329589000933836 ], [ -122.290347000358565, 38.327645000764839 ], [ -122.28947199943417, 38.325634000964669 ], [ -122.289211999393515, 38.325036001024557 ], [ -122.288985000163876, 38.324513000313679 ], [ -122.289799999806093, 38.324341001073229 ], [ -122.290107999701704, 38.324276000345584 ], [ -122.290741999631621, 38.324143000594518 ], [ -122.290885000438578, 38.324113001076697 ], [ -122.291280000349118, 38.324057001064389 ], [ -122.291584999651846, 38.324013000265708 ], [ -122.292385000039729, 38.32391300024608 ], [ -122.293307000033096, 38.323734000435493 ], [ -122.295984999799401, 38.323213000886888 ], [ -122.297084999723069, 38.323013001083886 ], [ -122.300085000392428, 38.32241300079248 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1302, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.340186000096409, 38.303014001108806 ], [ -122.339386000421811, 38.304714000571373 ], [ -122.339286000066636, 38.305014000855472 ], [ -122.33758599967949, 38.30501400036794 ], [ -122.336786000026265, 38.30511400088529 ], [ -122.335585999698054, 38.30521400024265 ], [ -122.334782000362992, 38.30525800080931 ], [ -122.334663000316141, 38.305263000934801 ], [ -122.333586000350635, 38.305310001123232 ], [ -122.333485999743459, 38.305314000382268 ], [ -122.332785999999189, 38.305214000327062 ], [ -122.331669000260206, 38.304865000616402 ], [ -122.331185999825578, 38.304714000983481 ], [ -122.328485999776461, 38.304214000995138 ], [ -122.327786000460435, 38.304114000883708 ], [ -122.327542000423549, 38.30409000044493 ], [ -122.326785999832026, 38.304014001087381 ], [ -122.326186000048907, 38.30391400113708 ], [ -122.325185999870939, 38.303814000332778 ], [ -122.324585999400369, 38.303714000314677 ], [ -122.324400000375903, 38.303687000859789 ], [ -122.323886000071241, 38.303614000386155 ], [ -122.322986000437879, 38.303414000806733 ], [ -122.322386000142075, 38.303414000688882 ], [ -122.322096999989824, 38.303331000417209 ], [ -122.321686000217085, 38.30321400083929 ], [ -122.321186000252879, 38.303114001105989 ], [ -122.319168999841779, 38.302545001000631 ], [ -122.317286000523751, 38.302014000318891 ], [ -122.316049999673609, 38.301653000443082 ], [ -122.314884999488953, 38.301314001106526 ], [ -122.314684999855658, 38.301214000514285 ], [ -122.314385000288709, 38.301114000950179 ], [ -122.312785000338124, 38.300714000967389 ], [ -122.311684999746262, 38.300414000759716 ], [ -122.311340999487328, 38.300346001016173 ], [ -122.310045000473451, 38.30010600103391 ], [ -122.308652999499827, 38.299835000933676 ], [ -122.306463999397621, 38.299336001093828 ], [ -122.305828000266928, 38.299226000618582 ], [ -122.304878999430429, 38.299336000479158 ], [ -122.304350000331993, 38.299327000311067 ], [ -122.303410999426987, 38.299268000573534 ], [ -122.302591999433403, 38.299124000897272 ], [ -122.302284999391219, 38.298414000872668 ], [ -122.301984999550641, 38.297114000972563 ], [ -122.301806999952674, 38.296135000414466 ], [ -122.301784999742949, 38.296014000274674 ], [ -122.301784999808106, 38.295314000514736 ], [ -122.301961999837459, 38.294473000492744 ], [ -122.302152999453185, 38.293584000970604 ], [ -122.302181000459981, 38.293314000652693 ], [ -122.302074000278594, 38.290823000534438 ], [ -122.30203800047812, 38.290765000419455 ], [ -122.300876999778737, 38.287079000417506 ], [ -122.301485000296111, 38.287014000576548 ], [ -122.302684999940269, 38.287214000714215 ], [ -122.305385000483284, 38.287214000336128 ], [ -122.305879000423943, 38.287259000802209 ], [ -122.306484999799309, 38.287314000767473 ], [ -122.307185000192021, 38.287414000539336 ], [ -122.307684999841641, 38.287414000665869 ], [ -122.308485000449494, 38.287414000948395 ], [ -122.310184999422688, 38.287414000880908 ], [ -122.311185000032197, 38.287414000472488 ], [ -122.311948999421105, 38.287414000970585 ], [ -122.312785000412504, 38.287414001009466 ], [ -122.313314999621667, 38.287414000555138 ], [ -122.314446000273833, 38.287414000934078 ], [ -122.315384999455617, 38.287414000275469 ], [ -122.316172999768824, 38.287162000324493 ], [ -122.323886000147695, 38.284114001117317 ], [ -122.327486000139388, 38.284014000342701 ], [ -122.32832400053239, 38.284498000295883 ], [ -122.3319860002007, 38.286614000916423 ], [ -122.338485999724497, 38.285814001025344 ], [ -122.339485999943051, 38.286214000892627 ], [ -122.343185999763818, 38.290514000486972 ], [ -122.34286700019166, 38.292501000753511 ], [ -122.34241399966217, 38.295322000710357 ], [ -122.341485999780161, 38.296614001123984 ], [ -122.341510000291933, 38.296738000956488 ], [ -122.341615999429436, 38.297286000535046 ], [ -122.341854999533226, 38.298520001126981 ], [ -122.342067999393052, 38.299623001091646 ], [ -122.34208599953493, 38.299714001004588 ], [ -122.341932000355669, 38.299970000354456 ], [ -122.34091399938707, 38.301667001059975 ], [ -122.340585999706192, 38.302214001116674 ], [ -122.340186000096409, 38.303014001108806 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1308, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.392816999541253, 38.376861000314022 ], [ -122.392555000246148, 38.376674000691814 ], [ -122.392188999695804, 38.376412000697997 ], [ -122.390464000457712, 38.374912000699013 ], [ -122.389889000447454, 38.374412001030059 ], [ -122.388587999609229, 38.374512000741454 ], [ -122.385987999424756, 38.373112000840742 ], [ -122.385103999560016, 38.372979000536297 ], [ -122.384191000363757, 38.372842000250451 ], [ -122.383988000358528, 38.372812000998181 ], [ -122.382488000046393, 38.372012000911127 ], [ -122.378288000488652, 38.368012000788369 ], [ -122.376088000296733, 38.366507000504285 ], [ -122.374488000186844, 38.365412000692352 ], [ -122.373955000254682, 38.364292000939379 ], [ -122.373485999953246, 38.363307001140285 ], [ -122.372566999490573, 38.361378000978213 ], [ -122.372487999659867, 38.361212000309557 ], [ -122.371379999603832, 38.360737000711602 ], [ -122.370855000485619, 38.360512000249798 ], [ -122.368288000478103, 38.359412001110897 ], [ -122.363076999630167, 38.353382000477005 ], [ -122.361287000402228, 38.351312000827072 ], [ -122.358001000141584, 38.348741000832653 ], [ -122.35760100003445, 38.348428000797441 ], [ -122.35734300044912, 38.348226000933273 ], [ -122.356686999622056, 38.347713000898068 ], [ -122.35591900038888, 38.346952000754115 ], [ -122.355551999882366, 38.346588000778631 ], [ -122.354350999800829, 38.345401000530622 ], [ -122.353966999565515, 38.345033000552597 ], [ -122.352523999906794, 38.343419000907488 ], [ -122.351087000095816, 38.341813000421958 ], [ -122.350286999831056, 38.340013000781212 ], [ -122.349386999654456, 38.34011300087279 ], [ -122.348423000492886, 38.338618000630746 ], [ -122.347387000430871, 38.337013000851456 ], [ -122.347141999677433, 38.336827000591754 ], [ -122.343187000102034, 38.33381300087197 ], [ -122.341583000219046, 38.332209000575055 ], [ -122.3390870001992, 38.329713000355099 ], [ -122.338587999642854, 38.329172000678781 ], [ -122.336879999915553, 38.32731800054566 ], [ -122.336009000365351, 38.326373000515041 ], [ -122.335585999481012, 38.325913000362469 ], [ -122.334158000325488, 38.324441000291721 ], [ -122.33338600011524, 38.323613000781336 ], [ -122.333086000162353, 38.323337000826292 ], [ -122.332586000283371, 38.322813001019355 ], [ -122.331986000187158, 38.322313000563923 ], [ -122.329586000096754, 38.319613000707804 ], [ -122.328185999714236, 38.318213000610342 ], [ -122.32768600037555, 38.317713001001202 ], [ -122.327485999583757, 38.317513000549489 ], [ -122.327785999420755, 38.317313000540217 ], [ -122.329385999770778, 38.317113001092075 ], [ -122.330110000280143, 38.316811000642382 ], [ -122.330586000181412, 38.316613000648452 ], [ -122.330672999815562, 38.316586000718047 ], [ -122.330958000008522, 38.316497000268804 ], [ -122.33131499969187, 38.316385000250811 ], [ -122.331657000469491, 38.316278001101161 ], [ -122.332186000125105, 38.316113000286329 ], [ -122.332157000116126, 38.315849000936872 ], [ -122.332125000449295, 38.315560000669734 ], [ -122.332085999480483, 38.315213000788674 ], [ -122.332285999484824, 38.314513000925018 ], [ -122.333086000014646, 38.314013001136317 ], [ -122.333288000434308, 38.314039000861122 ], [ -122.33750199975637, 38.31458500083081 ], [ -122.337784999665473, 38.314607000936711 ], [ -122.338192999419661, 38.314639000983696 ], [ -122.338525999897101, 38.314665000780224 ], [ -122.338701999544327, 38.31469500101629 ], [ -122.339385999919784, 38.314813000420962 ], [ -122.341086999836207, 38.315013000578197 ], [ -122.341138000430206, 38.313369000665404 ], [ -122.34115700052115, 38.312772000640514 ], [ -122.341162999653264, 38.312579000318166 ], [ -122.341186999926649, 38.311814000623919 ], [ -122.341286999463122, 38.311214000931692 ], [ -122.341272999917607, 38.311145000884729 ], [ -122.34121899981487, 38.310876000920224 ], [ -122.341287000112644, 38.310214000744025 ], [ -122.341247000440589, 38.309690001092854 ], [ -122.341185999791364, 38.30801400063396 ], [ -122.341185999452648, 38.307614001082719 ], [ -122.341385999514628, 38.306214000837215 ], [ -122.34078600050843, 38.306014000317298 ], [ -122.340085999849478, 38.305414000477747 ], [ -122.339286000066636, 38.305014000855472 ], [ -122.339386000421811, 38.304714000571373 ], [ -122.340186000096409, 38.303014001108806 ], [ -122.340585999706192, 38.302214001116674 ], [ -122.34091399938707, 38.301667001059975 ], [ -122.341932000355669, 38.299970000354456 ], [ -122.34208599953493, 38.299714001004588 ], [ -122.342067999393052, 38.299623001091646 ], [ -122.341854999533226, 38.298520001126981 ], [ -122.341615999429436, 38.297286000535046 ], [ -122.341510000291933, 38.296738000956488 ], [ -122.341485999780161, 38.296614001123984 ], [ -122.34241399966217, 38.295322000710357 ], [ -122.34286700019166, 38.292501000753511 ], [ -122.343185999763818, 38.290514000486972 ], [ -122.339485999943051, 38.286214000892627 ], [ -122.338485999724497, 38.285814001025344 ], [ -122.3319860002007, 38.286614000916423 ], [ -122.32832400053239, 38.284498000295883 ], [ -122.327486000139388, 38.284014000342701 ], [ -122.323886000147695, 38.284114001117317 ], [ -122.32548599995647, 38.28101400056299 ], [ -122.318884999574379, 38.267415000478167 ], [ -122.31818500028605, 38.261215000433438 ], [ -122.312184999570434, 38.258715000271522 ], [ -122.311291000483891, 38.258835000453288 ], [ -122.310332999657888, 38.258789000457917 ], [ -122.309522000025154, 38.258638000474754 ], [ -122.306573000175661, 38.257883000959417 ], [ -122.30588500024146, 38.249115001113637 ], [ -122.303083999901204, 38.248215001047207 ], [ -122.308084999607559, 38.245116000627242 ], [ -122.304484000167903, 38.241016000384114 ], [ -122.308484999425431, 38.238516000938993 ], [ -122.306583999872075, 38.236316000674513 ], [ -122.307783999955291, 38.235416000622124 ], [ -122.303183999633717, 38.230816000575807 ], [ -122.304284000351785, 38.227416000899176 ], [ -122.303583999986358, 38.226816000771919 ], [ -122.302783999639956, 38.226116000294915 ], [ -122.30518399998175, 38.225716000317746 ], [ -122.309383999763142, 38.219116000343952 ], [ -122.308784000225671, 38.218216000919192 ], [ -122.307084000500595, 38.21211600063824 ], [ -122.305084000151936, 38.208316000650626 ], [ -122.305225999475184, 38.207850000329422 ], [ -122.306184000469045, 38.204717000444035 ], [ -122.313683999912556, 38.197317000521984 ], [ -122.313480000075003, 38.193908000322068 ], [ -122.311484000173422, 38.183217000670545 ], [ -122.306782999522738, 38.179917000264517 ], [ -122.295782999778041, 38.176817001001027 ], [ -122.293683000162517, 38.155218000305268 ], [ -122.298482999477613, 38.155218000331843 ], [ -122.312983000524724, 38.155318000417068 ], [ -122.334384000472667, 38.155418000819715 ], [ -122.33495000014463, 38.155418000532663 ], [ -122.337098000361493, 38.155418000584945 ], [ -122.339383999563736, 38.155418000420546 ], [ -122.349984999948617, 38.155518000568556 ], [ -122.350956999933729, 38.155598000697445 ], [ -122.351362999400877, 38.15555900054607 ], [ -122.351785000084476, 38.155518000905282 ], [ -122.361885000420259, 38.155618000963315 ], [ -122.362428999873657, 38.155618001056574 ], [ -122.365685000334906, 38.155618001042463 ], [ -122.36668499970385, 38.155618000924932 ], [ -122.380510000452233, 38.155822000643198 ], [ -122.384585999846635, 38.15571800088243 ], [ -122.404386999733404, 38.155918001087095 ], [ -122.406086999584687, 38.155918000321265 ], [ -122.407086999592465, 38.155818000868173 ], [ -122.406886999675081, 38.15881800104593 ], [ -122.391186000240964, 38.161418000736717 ], [ -122.380986000359457, 38.160418001097042 ], [ -122.380253999852258, 38.160046000482922 ], [ -122.376062000071244, 38.158823000649512 ], [ -122.371584999423618, 38.157518000818854 ], [ -122.368140999831155, 38.158366000332755 ], [ -122.367584999829333, 38.158718000253828 ], [ -122.36538499961614, 38.166818001099699 ], [ -122.368386000524083, 38.181317000833239 ], [ -122.367086000432906, 38.183017000592834 ], [ -122.358885000365319, 38.181417000510841 ], [ -122.356585000411243, 38.183517000509447 ], [ -122.357185999390168, 38.191917001088797 ], [ -122.360186000530973, 38.195617000463251 ], [ -122.3580860003688, 38.197417000535395 ], [ -122.350384999652249, 38.192317000354905 ], [ -122.349084999440066, 38.193617000853642 ], [ -122.349785000054851, 38.201117001014495 ], [ -122.351786000530268, 38.202517000509417 ], [ -122.356586000332697, 38.208216000939345 ], [ -122.358386000121953, 38.209516001049636 ], [ -122.357186000152225, 38.211816000443918 ], [ -122.357986000050559, 38.214216000705477 ], [ -122.35888600006389, 38.22281600031247 ], [ -122.357686000382841, 38.225116000776566 ], [ -122.36678699962799, 38.247015001016891 ], [ -122.370386999790341, 38.246915000714786 ], [ -122.370487000517272, 38.245215000406489 ], [ -122.374586999941826, 38.244515000998895 ], [ -122.373787000233335, 38.247415000906095 ], [ -122.377187000269529, 38.248415000365839 ], [ -122.377286999538626, 38.249915000959845 ], [ -122.377522000308588, 38.250068001017894 ], [ -122.37772100033456, 38.250098000581346 ], [ -122.378026000255062, 38.250075001013109 ], [ -122.378361999851464, 38.250068000533759 ], [ -122.378528999719052, 38.250205000956676 ], [ -122.378789000355596, 38.250495001134055 ], [ -122.378988000111534, 38.250715000454541 ], [ -122.37944499991498, 38.251098000289225 ], [ -122.379810999696787, 38.251571000936352 ], [ -122.380116000092713, 38.252120000532848 ], [ -122.380451999761817, 38.252540001031541 ], [ -122.380771999432483, 38.252837000685872 ], [ -122.381307000191498, 38.253089000559598 ], [ -122.381749000372722, 38.253241000508474 ], [ -122.381824999595779, 38.25349300057367 ], [ -122.381947000363738, 38.253775000862518 ], [ -122.382129999759272, 38.253989001101225 ], [ -122.382488000290692, 38.254115000446149 ], [ -122.382847999923982, 38.254096000826046 ], [ -122.383335999491521, 38.254142000499812 ], [ -122.383839000141691, 38.254256000561767 ], [ -122.38434300048911, 38.254500001075307 ], [ -122.384709000279955, 38.254813000266282 ], [ -122.384907999882486, 38.255134000296103 ], [ -122.385274000188431, 38.256194000902525 ], [ -122.38545700032212, 38.256514000475057 ], [ -122.38558800009983, 38.256715001069395 ], [ -122.385777000227151, 38.256865000318975 ], [ -122.386159000251439, 38.257186000551442 ], [ -122.386571000465608, 38.257430000455045 ], [ -122.387104999784484, 38.257728000279045 ], [ -122.387669000255983, 38.258040000848055 ], [ -122.388158000477276, 38.258345000705184 ], [ -122.388233999465825, 38.258719000698228 ], [ -122.388402000020236, 38.259101000990945 ], [ -122.388584999797288, 38.259513000277991 ], [ -122.388843999450856, 38.259871000885241 ], [ -122.389194999778951, 38.260116000450459 ], [ -122.389744999609405, 38.260474001123399 ], [ -122.389897000407032, 38.260695000873497 ], [ -122.389866999407943, 38.260947000424196 ], [ -122.38977499986153, 38.261268000772773 ], [ -122.38957700011801, 38.261512000372477 ], [ -122.389394000392443, 38.261886001003603 ], [ -122.389348000428399, 38.262168000423031 ], [ -122.389287000146936, 38.262526000612965 ], [ -122.389408999861374, 38.262969000734209 ], [ -122.389438999703813, 38.2633500008669 ], [ -122.389347999685953, 38.263724000496708 ], [ -122.389179999485776, 38.264098000282445 ], [ -122.389073000177774, 38.264388000354288 ], [ -122.389210999647858, 38.264670000310943 ], [ -122.389516000195655, 38.264960000552499 ], [ -122.389485000185132, 38.265296000735056 ], [ -122.389287000122664, 38.265693000859628 ], [ -122.389165000272129, 38.266013000742497 ], [ -122.389011999995375, 38.26648600068031 ], [ -122.38899700046008, 38.266990000606867 ], [ -122.389088000521454, 38.267417000985304 ], [ -122.389272000225787, 38.267867000950211 ], [ -122.389256000026677, 38.268210000468699 ], [ -122.389012000098219, 38.268699001132575 ], [ -122.388646000023471, 38.269103000898312 ], [ -122.388173000506342, 38.269355000530531 ], [ -122.387653999600886, 38.269637000965957 ], [ -122.387364000188043, 38.269904000650406 ], [ -122.387380000237926, 38.270202000481341 ], [ -122.387653999537733, 38.270347000384625 ], [ -122.388005000003304, 38.270598000953008 ], [ -122.388219000525254, 38.270903000289458 ], [ -122.388326000009172, 38.271163000612333 ], [ -122.388386999726777, 38.271460001041611 ], [ -122.388265000253682, 38.271811000355385 ], [ -122.387852999720195, 38.272094000915544 ], [ -122.387502000497122, 38.272353000405033 ], [ -122.387211999550175, 38.27282600045217 ], [ -122.387242000262873, 38.273253000472515 ], [ -122.387623999550414, 38.273642000791106 ], [ -122.387868000285494, 38.273894000517849 ], [ -122.388188000273232, 38.274215000813378 ], [ -122.388615000498703, 38.274360000340458 ], [ -122.389134000194957, 38.274375000924017 ], [ -122.389850999759204, 38.274268000418679 ], [ -122.390248000343789, 38.274146001004539 ], [ -122.390630000029333, 38.273970000489612 ], [ -122.391118000077256, 38.273803000633869 ], [ -122.391332000207825, 38.273703000404382 ], [ -122.39171300046597, 38.273429000660848 ], [ -122.391941999505732, 38.273375000446904 ], [ -122.392903000092687, 38.273353000940027 ], [ -122.393345999586927, 38.273383000749511 ], [ -122.393680999694709, 38.273307000731897 ], [ -122.393864000419867, 38.273131000250686 ], [ -122.393848999928039, 38.272918000309943 ], [ -122.393787999774318, 38.272628000815978 ], [ -122.393819000452183, 38.27242900039051 ], [ -122.393971000250673, 38.272261001140109 ], [ -122.39413900016045, 38.272155001040581 ], [ -122.394428999432762, 38.272147000881702 ], [ -122.395009000326866, 38.27223900078355 ], [ -122.395634999831671, 38.272239000431746 ], [ -122.3961990002542, 38.272216000799297 ], [ -122.396717999900986, 38.272101000494402 ], [ -122.396992999535072, 38.27209400106085 ], [ -122.397188000138698, 38.272215000877544 ], [ -122.397663999741582, 38.272513000464158 ], [ -122.398075999956944, 38.272834001022126 ], [ -122.398548999821486, 38.273307000811357 ], [ -122.398823999721202, 38.273558000322012 ], [ -122.399159000321262, 38.273734000954612 ], [ -122.399616999916219, 38.273955000637095 ], [ -122.399999000169558, 38.274138000430597 ], [ -122.400366000370823, 38.274550000339943 ], [ -122.400639999410004, 38.274985000347492 ], [ -122.400822999806493, 38.275428000333953 ], [ -122.400975999996035, 38.275794000257036 ], [ -122.401204999456127, 38.276030000634492 ], [ -122.401449000258737, 38.276343000281123 ], [ -122.401509999898138, 38.2767700006913 ], [ -122.401555999772029, 38.277205000509191 ], [ -122.40175399974666, 38.277648000614867 ], [ -122.401967999570772, 38.278112000495938 ], [ -122.402319000036215, 38.278707000383548 ], [ -122.402745999686132, 38.279409000438179 ], [ -122.402777999505503, 38.279467001019704 ], [ -122.403127999434162, 38.280096000516494 ], [ -122.403494000100196, 38.280416000699311 ], [ -122.403966999669663, 38.280767000601315 ], [ -122.404241000186943, 38.281057000249426 ], [ -122.404591999857956, 38.281423000971749 ], [ -122.404759999615592, 38.281820000397801 ], [ -122.404588999912903, 38.28221400080816 ], [ -122.404302999697862, 38.282583000833014 ], [ -122.403936000112935, 38.282804000585962 ], [ -122.403616000198056, 38.282827000637617 ], [ -122.403219000364487, 38.282919000564448 ], [ -122.403005999976386, 38.283117000629225 ], [ -122.402883000228314, 38.283338000978844 ], [ -122.402867999794069, 38.283613000453443 ], [ -122.402715999463112, 38.283903000242617 ], [ -122.402487000432131, 38.284086000631035 ], [ -122.402211999658419, 38.284254000351204 ], [ -122.402028999628641, 38.284437000775547 ], [ -122.401907000305741, 38.284689000398828 ], [ -122.401753999838562, 38.285093000853017 ], [ -122.401342000119342, 38.286344000958451 ], [ -122.401280999495299, 38.286619000555056 ], [ -122.401234999745924, 38.286886000705778 ], [ -122.401250999845715, 38.287092000885991 ], [ -122.40135799968219, 38.287382000837141 ], [ -122.401480000252604, 38.288023000678464 ], [ -122.401524999990713, 38.288320000337201 ], [ -122.401326999419027, 38.288709000964893 ], [ -122.401098000300152, 38.289099001069779 ], [ -122.401036999900455, 38.289320000267068 ], [ -122.400823000528021, 38.289549000633066 ], [ -122.400915000046922, 38.289747001110086 ], [ -122.401357999535122, 38.290533000646974 ], [ -122.40154099969287, 38.290685000924348 ], [ -122.401571000320601, 38.290846000753099 ], [ -122.401433999509422, 38.291288000441995 ], [ -122.401406999399924, 38.291373000420435 ], [ -122.401342000149469, 38.29157800041245 ], [ -122.401449000472198, 38.29172300061304 ], [ -122.402258000084956, 38.293600000334813 ], [ -122.402409999932217, 38.293974000666786 ], [ -122.402243000042901, 38.294279000485794 ], [ -122.40195299979419, 38.294729000632742 ], [ -122.401692999625226, 38.295202001086722 ], [ -122.401769999640138, 38.295675000380569 ], [ -122.401968000437634, 38.295904001139078 ], [ -122.402136000386363, 38.296293000463059 ], [ -122.402379999569902, 38.296972000599276 ], [ -122.402623999649293, 38.297987000452984 ], [ -122.402883000031679, 38.298292000244111 ], [ -122.403088999725682, 38.298514001130371 ], [ -122.403588999825686, 38.299114001084149 ], [ -122.403600999532983, 38.299230000251306 ], [ -122.403722999772683, 38.29939800095223 ], [ -122.403692000267355, 38.299627000665765 ], [ -122.403539999513143, 38.299925000882034 ], [ -122.403289000487945, 38.30011400068279 ], [ -122.402789000246912, 38.300514000684537 ], [ -122.402731000051276, 38.300619000865993 ], [ -122.402563000433062, 38.300817000471007 ], [ -122.402409999677502, 38.301237001059995 ], [ -122.402257999875417, 38.30166400097702 ], [ -122.401998000354169, 38.302137000583762 ], [ -122.401739000452551, 38.302450000842555 ], [ -122.40128099939615, 38.302732000993728 ], [ -122.400921999848222, 38.302925000938195 ], [ -122.400334999441796, 38.303243000586853 ], [ -122.399956000386197, 38.303388001142544 ], [ -122.399938000126738, 38.303396000323389 ], [ -122.399571999435452, 38.303442000926836 ], [ -122.397602999490857, 38.303533000705514 ], [ -122.397129999447159, 38.30364800030749 ], [ -122.396488999528444, 38.303900000578409 ], [ -122.395604000491176, 38.304304001107866 ], [ -122.394916999828141, 38.304479000525667 ], [ -122.394748000138023, 38.304579000779121 ], [ -122.394688000299126, 38.304614000524197 ], [ -122.394611999704907, 38.304724001047866 ], [ -122.394718999464928, 38.304983001127781 ], [ -122.394977999853879, 38.305586001091008 ], [ -122.395679999950545, 38.307066000429487 ], [ -122.395695999635862, 38.307554000308699 ], [ -122.395725999836046, 38.307875000284 ], [ -122.395969999696746, 38.308088000306498 ], [ -122.396092000013297, 38.308233000260728 ], [ -122.396122999551423, 38.308470000621732 ], [ -122.396152999454472, 38.308904000364336 ], [ -122.396335999564357, 38.309179000262034 ], [ -122.396840000284101, 38.309454000772185 ], [ -122.397268000278672, 38.309789000982271 ], [ -122.397633999965606, 38.310278000769976 ], [ -122.398396999444543, 38.311178001134842 ], [ -122.398930999968485, 38.311796000702834 ], [ -122.399342999531839, 38.312040000570761 ], [ -122.400106000244506, 38.31230000076458 ], [ -122.4002889999621, 38.312414000413632 ], [ -122.401952999537784, 38.314191000455374 ], [ -122.402075000489504, 38.315717000316951 ], [ -122.402333999611145, 38.316075001018795 ], [ -122.402501999662491, 38.316556000693282 ], [ -122.402669999740226, 38.317158001007527 ], [ -122.402745999687511, 38.317418000778353 ], [ -122.402928999966136, 38.31769300095273 ], [ -122.403707000365245, 38.318249000748828 ], [ -122.403784000081217, 38.31841000031757 ], [ -122.40375299974383, 38.318646000934997 ], [ -122.403570000487022, 38.319157000426401 ], [ -122.403585000513033, 38.319333000303217 ], [ -122.403662000114934, 38.319524000951837 ], [ -122.403738000164438, 38.319722000818565 ], [ -122.404424999578325, 38.320409000818174 ], [ -122.404759999838006, 38.320668000608769 ], [ -122.404989000105317, 38.321019000860161 ], [ -122.405156999435007, 38.321225000737101 ], [ -122.405293999851907, 38.321538000246662 ], [ -122.405293999424003, 38.321851000742967 ], [ -122.405400999681945, 38.322118000650903 ], [ -122.406865999704891, 38.321805000910381 ], [ -122.407125000260123, 38.321637000994805 ], [ -122.407324000030528, 38.321400001113837 ], [ -122.407445999758281, 38.321118001037263 ], [ -122.407521999640366, 38.320790000424147 ], [ -122.407588999421236, 38.320513000820306 ], [ -122.407736000449418, 38.320363000875396 ], [ -122.408102000173628, 38.320103000752304 ], [ -122.408575000500292, 38.320111000568382 ], [ -122.408880000510308, 38.320294000702177 ], [ -122.409140000209007, 38.320554000609974 ], [ -122.409338000260732, 38.320882000913542 ], [ -122.409459999512919, 38.32113300111326 ], [ -122.409628000197699, 38.321675000875665 ], [ -122.409643000137379, 38.321988000322285 ], [ -122.409795999870127, 38.322354000716089 ], [ -122.409734999989936, 38.322621001029958 ], [ -122.409734999581431, 38.322896000298833 ], [ -122.409749999901805, 38.323155000726004 ], [ -122.409887000386405, 38.323460000937914 ], [ -122.409871999408011, 38.323788000775444 ], [ -122.409886999565771, 38.324078000720867 ], [ -122.409704000240112, 38.324368001036092 ], [ -122.409643000103003, 38.32452800099967 ], [ -122.409520999572891, 38.324788000602155 ], [ -122.409581999706802, 38.325734000421569 ], [ -122.409719000519857, 38.325963000996865 ], [ -122.410025000168403, 38.326123001027 ], [ -122.411244999576482, 38.326810000997078 ], [ -122.411520000356859, 38.327092000338723 ], [ -122.411764000482805, 38.327443001120955 ], [ -122.412100000316784, 38.327870000859349 ], [ -122.41220699993508, 38.328336000946884 ], [ -122.412374000372949, 38.328793000874711 ], [ -122.412847000081143, 38.329861001135846 ], [ -122.413731999785568, 38.330693001133866 ], [ -122.413610000060189, 38.331616000346848 ], [ -122.413503999476745, 38.332089000686288 ], [ -122.413182999677787, 38.332295000892088 ], [ -122.412862999388111, 38.332631001013141 ], [ -122.412633999697292, 38.333020000317511 ], [ -122.412389999742558, 38.333340000795332 ], [ -122.412145999579863, 38.33373000089135 ], [ -122.411993000373229, 38.334012000327021 ], [ -122.412039000276877, 38.334294000647866 ], [ -122.412344000521813, 38.334477000554621 ], [ -122.412892999449952, 38.33457600047236 ], [ -122.413136999912396, 38.334706000852549 ], [ -122.413991999539121, 38.335713000904562 ], [ -122.414220999756623, 38.336026000289237 ], [ -122.414404000204172, 38.33627000047715 ], [ -122.414755000125311, 38.336507000916612 ], [ -122.415258000065776, 38.336743000909529 ], [ -122.41599099977654, 38.33693400062176 ], [ -122.416325999599906, 38.336964000307063 ], [ -122.417562000160729, 38.338010000390405 ], [ -122.417622999533023, 38.338200000832181 ], [ -122.417639000175896, 38.338338000484598 ], [ -122.41757799979564, 38.338544001041349 ], [ -122.417532000094354, 38.338689000810156 ], [ -122.417256999410569, 38.339322001060957 ], [ -122.417288999736201, 38.339713000556884 ], [ -122.418652000468413, 38.33959700024247 ], [ -122.41875300045001, 38.339589000520071 ], [ -122.419103999638651, 38.33940600080885 ], [ -122.419316999929308, 38.339139001054903 ], [ -122.419484999765274, 38.338803000997252 ], [ -122.419683000282475, 38.338536001090482 ], [ -122.419882000003042, 38.338383001102002 ], [ -122.420125999766327, 38.338345000884743 ], [ -122.421513999422075, 38.339513000649795 ], [ -122.421606000399365, 38.339757000247253 ], [ -122.421712999768246, 38.340092000320617 ], [ -122.421591000474592, 38.340428000605193 ], [ -122.421620999571687, 38.340710000975477 ], [ -122.421743000455464, 38.340962000769935 ], [ -122.422277000415392, 38.341168000889624 ], [ -122.422719999510306, 38.341496000328881 ], [ -122.422871999992779, 38.341733000590082 ], [ -122.422810999397257, 38.342053000857078 ], [ -122.422810999966401, 38.342412000912347 ], [ -122.423238999672691, 38.342664000684231 ], [ -122.424390000248877, 38.344413000459497 ], [ -122.424976999903308, 38.345098000587043 ], [ -122.424990000220475, 38.345113000359504 ], [ -122.425177999721598, 38.345380001034052 ], [ -122.425527999968494, 38.345479000869794 ], [ -122.425802999520258, 38.345578001037609 ], [ -122.426169000113717, 38.345708001086564 ], [ -122.426397999429511, 38.345746000553476 ], [ -122.42661200027419, 38.345761000841406 ], [ -122.426887000522655, 38.345837000980282 ], [ -122.427206999463365, 38.346043000478026 ], [ -122.427145999984617, 38.346463001077574 ], [ -122.427252999587765, 38.347379000983985 ], [ -122.427268000431567, 38.347600000809678 ], [ -122.427009000467393, 38.34772900052711 ], [ -122.426870999709436, 38.347958000857815 ], [ -122.426673000057619, 38.348248000954079 ], [ -122.426658000451951, 38.348538000691413 ], [ -122.426749000004492, 38.348766000619264 ], [ -122.427069999411401, 38.349010000997566 ], [ -122.427329000136524, 38.349140000878222 ], [ -122.427665000279077, 38.349209000757014 ], [ -122.42790900038392, 38.349338000581056 ], [ -122.428198999731222, 38.349354000512349 ], [ -122.428489000287769, 38.34944500064632 ], [ -122.42884000022211, 38.34946000032366 ], [ -122.429113999791966, 38.349453000985434 ], [ -122.429312999624159, 38.349651001051711 ], [ -122.429388999966733, 38.349888000358696 ], [ -122.429357999428646, 38.350055000743033 ], [ -122.429327999592743, 38.350345000763511 ], [ -122.429312999736752, 38.35062800094655 ], [ -122.429328000117636, 38.351001001117744 ], [ -122.429984000278907, 38.351475000246516 ], [ -122.430853999791594, 38.352154000852671 ], [ -122.431388000186743, 38.35242100031148 ], [ -122.43186099954994, 38.352527000673902 ], [ -122.432929000002815, 38.353428000313791 ], [ -122.433767999490456, 38.353946001134084 ], [ -122.434775000314531, 38.354397000416448 ], [ -122.435462000032601, 38.354610000843756 ], [ -122.436270999644904, 38.354877000375723 ], [ -122.436682999528443, 38.355137000317995 ], [ -122.436835000265617, 38.355404001059753 ], [ -122.437430000226158, 38.356662000734616 ], [ -122.437689999962615, 38.356899000252938 ], [ -122.437933999983912, 38.357097000390148 ], [ -122.438483000111376, 38.357181000601088 ], [ -122.438834000244128, 38.357570000449257 ], [ -122.439505999792189, 38.358112000289765 ], [ -122.440268000069267, 38.358478000356548 ], [ -122.441214999730931, 38.358791000243535 ], [ -122.442283000362664, 38.359035000755533 ], [ -122.443304999680066, 38.358982000701815 ], [ -122.444114000278361, 38.358707000849599 ], [ -122.447195999508594, 38.359035000936757 ], [ -122.447500999865184, 38.359272000715585 ], [ -122.447714999561128, 38.359470000467539 ], [ -122.448951000425623, 38.360653000363513 ], [ -122.4496900000577, 38.36101200076353 ], [ -122.451269999398036, 38.36148400074854 ], [ -122.45224699991924, 38.362072000365472 ], [ -122.453055000304218, 38.362812000820917 ], [ -122.453695999636679, 38.363620000912107 ], [ -122.454122999530554, 38.364315000712843 ], [ -122.454250000024103, 38.364834000553238 ], [ -122.4542910003983, 38.365001000813194 ], [ -122.45448999995601, 38.365619000564308 ], [ -122.455116000387591, 38.366031000624723 ], [ -122.455832999741617, 38.3661990005074 ], [ -122.456428999428226, 38.366771000939181 ], [ -122.457206999622727, 38.366993000801791 ], [ -122.457588000142565, 38.367222000523142 ], [ -122.45774099990831, 38.367466000915954 ], [ -122.457832000032084, 38.367771000353144 ], [ -122.457832000329901, 38.367985000508803 ], [ -122.457591000157947, 38.368412000538584 ], [ -122.457298000236648, 38.36880800057331 ], [ -122.457145999715607, 38.369220000622931 ], [ -122.457145999581059, 38.369610000707354 ], [ -122.457038999978892, 38.370189001080028 ], [ -122.457115000168201, 38.370548000376679 ], [ -122.45652000029034, 38.371258000670558 ], [ -122.455849000031648, 38.371570001018391 ], [ -122.455283999782438, 38.37222600031518 ], [ -122.454429000500284, 38.373203000724551 ], [ -122.45390999942488, 38.373836000704983 ], [ -122.453573999859771, 38.374187000772629 ], [ -122.452871999629167, 38.374668000653607 ], [ -122.452169999576043, 38.374828000547204 ], [ -122.451452999524051, 38.374759001042158 ], [ -122.451056000017445, 38.374653001120592 ], [ -122.450820999530436, 38.374670000685974 ], [ -122.450537999410031, 38.374691000659432 ], [ -122.450483000518147, 38.37471300037685 ], [ -122.449990000268599, 38.374912000949323 ], [ -122.447889999976894, 38.379312000856935 ], [ -122.450293999604838, 38.380612000252256 ], [ -122.45201799996795, 38.381544000568589 ], [ -122.45218599953003, 38.381639000370761 ], [ -122.453521999488132, 38.382392000809062 ], [ -122.454290000236355, 38.382812000507137 ], [ -122.45399000041084, 38.383912000864811 ], [ -122.459538000488479, 38.387495000583584 ], [ -122.460491000362225, 38.388111000587742 ], [ -122.465890999743948, 38.3904110003675 ], [ -122.468515000322583, 38.394871000481629 ], [ -122.470191000285823, 38.397511000412251 ], [ -122.468091000304639, 38.400011000725613 ], [ -122.468738999442422, 38.400647000243467 ], [ -122.470791000295804, 38.402811000950031 ], [ -122.470590999499805, 38.404911000516016 ], [ -122.471575999771247, 38.40523900103419 ], [ -122.472390999407097, 38.405511000558377 ], [ -122.472090999912936, 38.406311000791099 ], [ -122.471390999850783, 38.406411001130579 ], [ -122.472690999636498, 38.407211000903658 ], [ -122.470891000117376, 38.407411000967009 ], [ -122.47029100020157, 38.408711001001414 ], [ -122.466363000338802, 38.408395000951096 ], [ -122.46630700007411, 38.408391000504267 ], [ -122.463390999976042, 38.407911000333208 ], [ -122.459391000358949, 38.409111000288689 ], [ -122.456290000100225, 38.40791100103182 ], [ -122.456018000007091, 38.408231000546849 ], [ -122.453389999930195, 38.410411000789161 ], [ -122.452037999787294, 38.410321000491464 ], [ -122.451889999807619, 38.410311000676259 ], [ -122.451290000067431, 38.411011000269255 ], [ -122.446390000443387, 38.409311000312186 ], [ -122.445889999490149, 38.408611000642523 ], [ -122.442590000202998, 38.40781100070361 ], [ -122.441090000030684, 38.406511000504409 ], [ -122.437389999715862, 38.40631100091089 ], [ -122.43619000024897, 38.406511000528802 ], [ -122.432590000248396, 38.407111000298222 ], [ -122.430389999679079, 38.407311000318614 ], [ -122.4290139996601, 38.404651000767409 ], [ -122.427390000266897, 38.401511000911675 ], [ -122.425489999499987, 38.401511000399609 ], [ -122.424900000051579, 38.400962000595044 ], [ -122.417965000138153, 38.394500000296283 ], [ -122.416688999478779, 38.393311000907069 ], [ -122.415188999394701, 38.392311000316887 ], [ -122.413264999641314, 38.39229500049688 ], [ -122.411293999900764, 38.390895000893444 ], [ -122.410336999591038, 38.390215000262224 ], [ -122.408097000232033, 38.388919000772717 ], [ -122.407689000149787, 38.388211000587646 ], [ -122.407089000462662, 38.388311001018877 ], [ -122.402388999578278, 38.384711001043044 ], [ -122.400888999427039, 38.382012000896282 ], [ -122.398588999888872, 38.380712000488614 ], [ -122.398388000473474, 38.38043500028796 ], [ -122.397789000248721, 38.379612001113557 ], [ -122.396642999557528, 38.378981000691091 ], [ -122.395921000271443, 38.378583000551956 ], [ -122.394996999401755, 38.378074000297211 ], [ -122.394533999923397, 38.377819000661823 ], [ -122.393497999530354, 38.377248000948505 ], [ -122.393057999807212, 38.377005000660382 ], [ -122.392889000321489, 38.376912001054428 ], [ -122.392816999541253, 38.376861000314022 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 28, "TAZ1454": 1310, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.370239999400326, 38.408327001115516 ], [ -122.366688000470745, 38.410511000758483 ], [ -122.367587999777058, 38.41161100059643 ], [ -122.365688000276322, 38.413111000448922 ], [ -122.364988000487344, 38.413911000390357 ], [ -122.361187999861642, 38.410911001068989 ], [ -122.361587999507151, 38.410711000486828 ], [ -122.358408999398819, 38.407937000342805 ], [ -122.35608800020745, 38.405911000668674 ], [ -122.355187999431294, 38.405011000792705 ], [ -122.349586999602096, 38.400111001129275 ], [ -122.355063999612241, 38.395833000811109 ], [ -122.355987999471708, 38.395111000825885 ], [ -122.354422999825687, 38.392930000447684 ], [ -122.354178999384459, 38.392590000893705 ], [ -122.353760000507364, 38.392007000977145 ], [ -122.35409599960127, 38.39183100053215 ], [ -122.354479999878023, 38.391607000615323 ], [ -122.354912000464438, 38.391415000834634 ], [ -122.361247999601787, 38.388135001100004 ], [ -122.368985000196616, 38.38461500086207 ], [ -122.369408000365809, 38.384423000554591 ], [ -122.373536000503378, 38.39039100080867 ], [ -122.375072000065742, 38.389479000565927 ], [ -122.375071999991988, 38.38592700054059 ], [ -122.376319999941174, 38.384103000266748 ], [ -122.375216000027947, 38.3825040003561 ], [ -122.376527999722185, 38.380920000671679 ], [ -122.377264000272788, 38.378152001027438 ], [ -122.380383999840419, 38.376856001026972 ], [ -122.380696999842229, 38.381358000710911 ], [ -122.380959999439682, 38.38512700101861 ], [ -122.385600000206452, 38.385415000343414 ], [ -122.385575999631044, 38.387266000914593 ], [ -122.385536000136767, 38.390423000972021 ], [ -122.379136000290941, 38.390567000662671 ], [ -122.377759999869696, 38.392535001084191 ], [ -122.367503999714614, 38.398215000776275 ], [ -122.364367999424104, 38.394647000570096 ], [ -122.363178000393617, 38.39535200043958 ], [ -122.361587999717401, 38.396611001056783 ], [ -122.36036699970812, 38.397018000813084 ], [ -122.360047999583102, 38.397207001052841 ], [ -122.368475999922651, 38.405297000763284 ], [ -122.368832000048499, 38.405639000888577 ], [ -122.369087999714978, 38.405911000528668 ], [ -122.368787999603668, 38.406211000258914 ], [ -122.368287999656133, 38.406611000761799 ], [ -122.369187999787201, 38.407711000679605 ], [ -122.370239999400326, 38.408327001115516 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 28, "TAZ1454": 1314, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.487715000091029, 38.494405000788696 ], [ -122.489474999867411, 38.494405000965223 ], [ -122.49049099959889, 38.504008000489314 ], [ -122.487590999452181, 38.503908000764397 ], [ -122.487390999907362, 38.505708000766383 ], [ -122.487090999880493, 38.506008000300461 ], [ -122.488290999677005, 38.506608000958757 ], [ -122.490590999462114, 38.506308001128922 ], [ -122.491090999658766, 38.506708000582186 ], [ -122.491027000512304, 38.506695001065033 ], [ -122.490692000293095, 38.507895000754004 ], [ -122.487859000334112, 38.508819001051265 ], [ -122.488143999706907, 38.509171000838833 ], [ -122.488469999530338, 38.50929900105924 ], [ -122.489041000194391, 38.509906000269282 ], [ -122.48818499939604, 38.509906000541534 ], [ -122.487735999453676, 38.509874000274358 ], [ -122.487002000061281, 38.509650000604232 ], [ -122.489592999413418, 38.513147000669825 ], [ -122.488356999398775, 38.514136000518072 ], [ -122.488226000351517, 38.513997000665256 ], [ -122.485701999456936, 38.515972000542604 ], [ -122.485876000288911, 38.51612200098878 ], [ -122.486091000081316, 38.516308000290785 ], [ -122.48589099991041, 38.516608000510239 ], [ -122.482990999390665, 38.519108000327478 ], [ -122.480440000219133, 38.521525000751424 ], [ -122.479190999831459, 38.522708000631575 ], [ -122.475790999530872, 38.521708000413604 ], [ -122.472890999629328, 38.520608000340154 ], [ -122.471291000241251, 38.518808000485265 ], [ -122.468591000479108, 38.519108001052174 ], [ -122.461790000296631, 38.514408000587132 ], [ -122.45908999977263, 38.514308000557925 ], [ -122.458531999580686, 38.512578000893548 ], [ -122.458171000234529, 38.511459001094401 ], [ -122.458090000367108, 38.511208001089777 ], [ -122.456589999729601, 38.51190800098825 ], [ -122.453390000153945, 38.51330800062803 ], [ -122.451843999546639, 38.513227000988906 ], [ -122.449589999532222, 38.513108000627561 ], [ -122.45018999999084, 38.514108000408285 ], [ -122.449789999451824, 38.514208000742009 ], [ -122.449989999803265, 38.516108001119491 ], [ -122.448689999491094, 38.516108000940363 ], [ -122.448389999574104, 38.519708001020646 ], [ -122.4424899994752, 38.519508001025947 ], [ -122.438990000462198, 38.519408000966074 ], [ -122.439089999649312, 38.516808000365458 ], [ -122.438889999457174, 38.516308000546381 ], [ -122.439090000366633, 38.514008000882193 ], [ -122.439589999906673, 38.512808000388091 ], [ -122.4410710001805, 38.512438000338591 ], [ -122.441189999526287, 38.512408000389328 ], [ -122.442589999998503, 38.512708000965262 ], [ -122.444090000232904, 38.512108000700479 ], [ -122.444101000224677, 38.511967000457503 ], [ -122.444289999399373, 38.509608000695707 ], [ -122.441489999689153, 38.50840800049388 ], [ -122.446790000167752, 38.508608000690458 ], [ -122.450690000060249, 38.510808000458262 ], [ -122.451589999997012, 38.510308000516318 ], [ -122.452089999742952, 38.510508000642382 ], [ -122.452389999502998, 38.510208000417265 ], [ -122.448690000338715, 38.508108000258545 ], [ -122.447089999392929, 38.507708000731363 ], [ -122.443189999445352, 38.505208001029715 ], [ -122.440990000342879, 38.505108000562053 ], [ -122.436189999404846, 38.502108000590631 ], [ -122.44029000042066, 38.499108000711274 ], [ -122.441101000244799, 38.499872000820275 ], [ -122.441990000076402, 38.500708000858531 ], [ -122.453689999460096, 38.492209000847645 ], [ -122.453916999574375, 38.492050000923435 ], [ -122.45698400036629, 38.48968900047722 ], [ -122.459490000030243, 38.487809000721583 ], [ -122.462991000180978, 38.485409000418336 ], [ -122.465490999640181, 38.485509000460361 ], [ -122.465391000102372, 38.48660900071318 ], [ -122.465949000425027, 38.486693000816899 ], [ -122.467390999678258, 38.486909000631591 ], [ -122.469391000009878, 38.487009000488825 ], [ -122.470790999865898, 38.486509000434197 ], [ -122.47324000004474, 38.486509000718108 ], [ -122.474061999947281, 38.486509000457502 ], [ -122.474976000134035, 38.486509000396708 ], [ -122.475991000214435, 38.486509000792914 ], [ -122.47710300025382, 38.486954000546959 ], [ -122.478491000498309, 38.487509000851318 ], [ -122.478845000391814, 38.487244000479933 ], [ -122.479291000072905, 38.486909000379356 ], [ -122.481090999812068, 38.487309000725531 ], [ -122.481071000354262, 38.487487000449477 ], [ -122.480990999692722, 38.488209000830956 ], [ -122.480995000378513, 38.494421000480173 ], [ -122.487715000091029, 38.494405000788696 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 28, "TAZ1454": 1312, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.395055999419014, 38.864245000890776 ], [ -122.3946399994975, 38.863963000794122 ], [ -122.394095999781854, 38.863499000313105 ], [ -122.393455999914252, 38.862939000695754 ], [ -122.392991999450416, 38.861883000579937 ], [ -122.392416000220436, 38.860747000550852 ], [ -122.391903999795261, 38.859611000927366 ], [ -122.391151999707461, 38.858507000330285 ], [ -122.390512000408876, 38.857499000807238 ], [ -122.389839999442714, 38.85681100076939 ], [ -122.389184000130982, 38.856523000509064 ], [ -122.388256000522375, 38.856187000953142 ], [ -122.387520000057037, 38.855707001073554 ], [ -122.387167999616821, 38.855179001057024 ], [ -122.385247999530506, 38.853787001134506 ], [ -122.385183999872737, 38.852475001132831 ], [ -122.383695999933209, 38.851659001043714 ], [ -122.382127999567942, 38.850747001125519 ], [ -122.379535999604585, 38.849243000645785 ], [ -122.376959999490694, 38.849211000417199 ], [ -122.375184000114416, 38.848459000322109 ], [ -122.373583999694759, 38.847179000300379 ], [ -122.37302399951777, 38.845739000987429 ], [ -122.371552000304959, 38.84465100060131 ], [ -122.368767999872503, 38.843756000584989 ], [ -122.366655999453641, 38.843212000412429 ], [ -122.364575999757747, 38.841980000507462 ], [ -122.36204799946735, 38.84070000063106 ], [ -122.358975999828445, 38.839404000764752 ], [ -122.356111999454257, 38.838156000481526 ], [ -122.354303999794226, 38.837148000293119 ], [ -122.351888000037434, 38.836268000422159 ], [ -122.349968000074014, 38.835756000472756 ], [ -122.348624000168542, 38.836060000301224 ], [ -122.347936000306206, 38.836700000872305 ], [ -122.346816000416098, 38.837916000653685 ], [ -122.345776000462465, 38.838892000321565 ], [ -122.34462400024664, 38.839516001005578 ], [ -122.344159999415325, 38.840316000412678 ], [ -122.344081999571699, 38.840441000404475 ], [ -122.34355199939921, 38.841292001028933 ], [ -122.342080000039488, 38.842076000931314 ], [ -122.340447999806869, 38.841980000601971 ], [ -122.338335999518478, 38.842172001120716 ], [ -122.335438999914842, 38.843468000782934 ], [ -122.334431000295879, 38.843388000705076 ], [ -122.332670999430405, 38.842364001066358 ], [ -122.331134999549391, 38.842172000830168 ], [ -122.329758999995121, 38.842364000459078 ], [ -122.329086999874889, 38.842972000513356 ], [ -122.327630999909189, 38.844684001016233 ], [ -122.326206999462073, 38.845932000406506 ], [ -122.32404700008793, 38.846252000883965 ], [ -122.323118999609093, 38.845724000862745 ], [ -122.319967000439959, 38.843852000834367 ], [ -122.317647000067822, 38.840796000875081 ], [ -122.315359000295786, 38.839468000362494 ], [ -122.314110999404846, 38.839692000602788 ], [ -122.311583000384928, 38.840028000507694 ], [ -122.310015000310969, 38.840508001138936 ], [ -122.308318999607621, 38.841068000567688 ], [ -122.307006999525186, 38.841068001080146 ], [ -122.30524699956554, 38.841836000256549 ], [ -122.30391900012188, 38.842332000308055 ], [ -122.303007000328108, 38.842396000617541 ], [ -122.302607000510221, 38.84188400077187 ], [ -122.302623000247237, 38.841340000658406 ], [ -122.302639000442198, 38.840508000545057 ], [ -122.302447000349559, 38.839852000301832 ], [ -122.301854999509573, 38.839612000999509 ], [ -122.300895000248346, 38.839484000861169 ], [ -122.299566999976022, 38.839356000870595 ], [ -122.298110999511906, 38.839228000730358 ], [ -122.296030999985533, 38.838684000593638 ], [ -122.294591000336368, 38.838812001032075 ], [ -122.292446999634734, 38.839100000355238 ], [ -122.28975899944723, 38.839292000725706 ], [ -122.287999000126874, 38.839932000579097 ], [ -122.287631000178592, 38.83906800041742 ], [ -122.286927000472161, 38.83801200036357 ], [ -122.286687000358754, 38.837116000947319 ], [ -122.286095000274813, 38.835756001141228 ], [ -122.285343000130027, 38.833500000850073 ], [ -122.284031000043143, 38.83098800064576 ], [ -122.283007000483124, 38.828476001116861 ], [ -122.282654999740657, 38.8264760004908 ], [ -122.281646999667132, 38.824620000446096 ], [ -122.278782999920836, 38.822060000586646 ], [ -122.27660700028251, 38.818620000952706 ], [ -122.276606999959697, 38.817324000941333 ], [ -122.276063000021637, 38.816412000550088 ], [ -122.275118999681965, 38.814077000445494 ], [ -122.274623000298419, 38.812845000817042 ], [ -122.274591000134535, 38.811101000988792 ], [ -122.273982999503815, 38.809437000811684 ], [ -122.272479000125855, 38.80721300065504 ], [ -122.270734999904235, 38.804765000638831 ], [ -122.27051099956735, 38.803357000566422 ], [ -122.269278999409281, 38.80186900047245 ], [ -122.267023000240641, 38.800701000763148 ], [ -122.26627100045161, 38.798669000988149 ], [ -122.26559900045315, 38.796797000605714 ], [ -122.264942999785617, 38.796221000691638 ], [ -122.263742999960044, 38.795277000868147 ], [ -122.262543000031684, 38.794029000589148 ], [ -122.261807000104142, 38.793165000829433 ], [ -122.261406999776739, 38.79231700108847 ], [ -122.261471000518853, 38.791613000602155 ], [ -122.261534999624985, 38.791005000584711 ], [ -122.261166999514842, 38.790637000478569 ], [ -122.260318999990091, 38.790189000697595 ], [ -122.259647000296482, 38.789917001045666 ], [ -122.259262999885749, 38.789517000885809 ], [ -122.259326999904673, 38.78886100026331 ], [ -122.259679000302839, 38.788205000557788 ], [ -122.2600309999671, 38.787597000467464 ], [ -122.260063000476677, 38.786829000502095 ], [ -122.259774999921859, 38.786253000950587 ], [ -122.259407000349739, 38.78614100082472 ], [ -122.259007000048499, 38.785949000479427 ], [ -122.258334999776665, 38.785533000790537 ], [ -122.257886999969713, 38.784845000395521 ], [ -122.256862999910993, 38.783662000306549 ], [ -122.256079000076156, 38.782206001007587 ], [ -122.255695000413368, 38.781134000844453 ], [ -122.255630999810109, 38.779998000588463 ], [ -122.255311000501266, 38.77855800054995 ], [ -122.254878999735737, 38.777534000307647 ], [ -122.254302999750621, 38.776062001007084 ], [ -122.254302999512859, 38.775230000841248 ], [ -122.253695000179547, 38.773950001042913 ], [ -122.253054999631303, 38.772686000612907 ], [ -122.253038999484943, 38.7717420005281 ], [ -122.252830999669129, 38.769982000390122 ], [ -122.251982999912457, 38.767726000543952 ], [ -122.251375000526778, 38.7642860003279 ], [ -122.251551000279022, 38.762958000654137 ], [ -122.251182999393052, 38.762126000834392 ], [ -122.251022999609461, 38.761118000715427 ], [ -122.250591000062514, 38.758846000865404 ], [ -122.250062999845142, 38.758334000786228 ], [ -122.250062999953542, 38.757390000792796 ], [ -122.250239000288502, 38.756558000856415 ], [ -122.250111000309005, 38.75526200046847 ], [ -122.249679000299494, 38.754622000322065 ], [ -122.249182999708665, 38.754014000251551 ], [ -122.247870999946855, 38.752318000987579 ], [ -122.247166999738553, 38.751023000989527 ], [ -122.246995999704339, 38.75013400094501 ], [ -122.246943000428942, 38.749855000918998 ], [ -122.246415000001775, 38.749487000585482 ], [ -122.245358999766495, 38.749071000982063 ], [ -122.244415000491699, 38.748799000829848 ], [ -122.244031000261359, 38.748431000398284 ], [ -122.243566999850216, 38.747359000469736 ], [ -122.242606999768284, 38.746367000497159 ], [ -122.242287000262522, 38.745471000637821 ], [ -122.241487000098402, 38.743151000421705 ], [ -122.241278999493659, 38.74295900061685 ], [ -122.240830999664595, 38.742895000622681 ], [ -122.240638999787507, 38.742911000787117 ], [ -122.240126999810002, 38.743007001090064 ], [ -122.239791000497945, 38.743039000964203 ], [ -122.239502999992723, 38.742975000883881 ], [ -122.239327000089347, 38.742799000406698 ], [ -122.238719000241858, 38.742319001059514 ], [ -122.23817500035436, 38.742127000468159 ], [ -122.237726999916134, 38.742111000496223 ], [ -122.237518999739535, 38.741919000324692 ], [ -122.235855000437596, 38.740367000816583 ], [ -122.235454999672271, 38.740351000442153 ], [ -122.235135000330956, 38.740223000854712 ], [ -122.235055000231768, 38.739967000792667 ], [ -122.235087000224823, 38.738975000512298 ], [ -122.235006999720824, 38.738703000296724 ], [ -122.234831000047706, 38.738543000282164 ], [ -122.234527000466741, 38.738463000329482 ], [ -122.233886999879857, 38.738351000315802 ], [ -122.233566999447049, 38.738175000723444 ], [ -122.233503000132984, 38.737823000387166 ], [ -122.233726999701929, 38.737535000549627 ], [ -122.233982999963487, 38.73715100045326 ], [ -122.234174999762857, 38.736879000962858 ], [ -122.233983000249438, 38.736527000267202 ], [ -122.233791000277193, 38.736175001041481 ], [ -122.231950999876759, 38.734959000725368 ], [ -122.23175899984254, 38.734463001018341 ], [ -122.231231000321046, 38.733791000613998 ], [ -122.231007000102153, 38.732671000435701 ], [ -122.230751000350779, 38.732447001084878 ], [ -122.23019099991842, 38.732191001029243 ], [ -122.230334999759279, 38.731775000772025 ], [ -122.230639000266464, 38.731359000841692 ], [ -122.230815000188798, 38.730783000565111 ], [ -122.22966300013951, 38.730031000633595 ], [ -122.229775000507857, 38.72948700109891 ], [ -122.229294999538226, 38.729135000544716 ], [ -122.228671000169783, 38.728255001115599 ], [ -122.228319000165868, 38.727487000457941 ], [ -122.227519000513567, 38.727007000465271 ], [ -122.22652699987907, 38.727007001059619 ], [ -122.226462999382548, 38.726687001059503 ], [ -122.226718999921644, 38.7261110005932 ], [ -122.226942999878204, 38.725471001076606 ], [ -122.226142999688022, 38.724911001031721 ], [ -122.226383000279839, 38.724319000540703 ], [ -122.226175000063193, 38.723839000594729 ], [ -122.225822000015114, 38.723407001109614 ], [ -122.225438000239535, 38.723055000252948 ], [ -122.225230000495657, 38.722751000621074 ], [ -122.225037999853797, 38.722335000486957 ], [ -122.224973999430603, 38.72195100083583 ], [ -122.225021999424513, 38.721535000823835 ], [ -122.225117999861595, 38.721311000305064 ], [ -122.22532600045453, 38.721087001115613 ], [ -122.22567300014768, 38.720971000858171 ], [ -122.22841499938977, 38.720623001008796 ], [ -122.225054000511321, 38.709503000572461 ], [ -122.223037999786357, 38.704511000779732 ], [ -122.224205999431646, 38.699984000915592 ], [ -122.221597999862468, 38.69624000035904 ], [ -122.221646000103235, 38.696016001131994 ], [ -122.221038000027235, 38.695616000734887 ], [ -122.220589999674459, 38.695360001021278 ], [ -122.219901999720008, 38.695088000866555 ], [ -122.219038000399294, 38.694928000436896 ], [ -122.218398000377377, 38.695024000609855 ], [ -122.217693999804354, 38.694976001025829 ], [ -122.216846000046928, 38.694720000298254 ], [ -122.215917999780075, 38.694208000370217 ], [ -122.215006000060995, 38.693600000317687 ], [ -122.214621999409445, 38.693408000758694 ], [ -122.213821999506663, 38.693408000512079 ], [ -122.21287800041155, 38.693680000906291 ], [ -122.212526000314384, 38.693888000617584 ], [ -122.212349999419644, 38.69420800102457 ], [ -122.21252599969219, 38.694528000248283 ], [ -122.212877999669772, 38.695120000961282 ], [ -122.213005999544094, 38.695264000688496 ], [ -122.212877999695081, 38.695632000938765 ], [ -122.212574000058041, 38.69595200052968 ], [ -122.212094000529788, 38.695920000347051 ], [ -122.211773999667841, 38.69568000045652 ], [ -122.211550000355075, 38.695408000556974 ], [ -122.211325999508261, 38.695152000379501 ], [ -122.210989999999512, 38.694880000938824 ], [ -122.210110000368246, 38.694896000615508 ], [ -122.209422000436433, 38.694976000283035 ], [ -122.208621999808841, 38.695600000553178 ], [ -122.208382000368232, 38.695584000715101 ], [ -122.208206000141018, 38.695536000866262 ], [ -122.207966000413023, 38.695184000330769 ], [ -122.207933999502032, 38.694736000638663 ], [ -122.207726000520282, 38.694320000284655 ], [ -122.207645999535046, 38.6939680006614 ], [ -122.207197999533491, 38.693344000881915 ], [ -122.20614199946877, 38.692768000349098 ], [ -122.205757999911427, 38.692496000654742 ], [ -122.205086000185588, 38.69195200035152 ], [ -122.204542000172239, 38.691472000704913 ], [ -122.203982000435758, 38.690768000734018 ], [ -122.20358199976593, 38.690352000541047 ], [ -122.203390000388595, 38.689872000546337 ], [ -122.20335799992219, 38.689424001125474 ], [ -122.202461999995066, 38.688976000620869 ], [ -122.202318000164098, 38.688784000409562 ], [ -122.202062000221886, 38.688544000410488 ], [ -122.201997999815731, 38.688336000252889 ], [ -122.2021099997107, 38.688000001045353 ], [ -122.202253999958231, 38.687616000484738 ], [ -122.20225400048399, 38.687120000292126 ], [ -122.202189999845828, 38.68681600090099 ], [ -122.202062000405931, 38.68640000058253 ], [ -122.201997999456623, 38.686304000737195 ], [ -122.201741999650565, 38.686176000361066 ], [ -122.201406000186296, 38.685920000487222 ], [ -122.20118200031142, 38.685728000387492 ], [ -122.200973999879409, 38.685296000964676 ], [ -122.200733999615494, 38.684912001091149 ], [ -122.200126000189883, 38.6842400005755 ], [ -122.19998200023916, 38.683808000881754 ], [ -122.199726000416973, 38.683312000751073 ], [ -122.199725999644357, 38.682288000245833 ], [ -122.200045999964161, 38.681440000291474 ], [ -122.200190000275029, 38.680960000665003 ], [ -122.200478000193598, 38.680272000509525 ], [ -122.201053999835992, 38.679776000728715 ], [ -122.201117999577036, 38.67969600076092 ], [ -122.201374000499271, 38.679472000843568 ], [ -122.202061999467418, 38.678976001059731 ], [ -122.202718000062234, 38.678800000287758 ], [ -122.202909999994716, 38.678640000302849 ], [ -122.202925999965501, 38.678320000710919 ], [ -122.203021999972037, 38.678048000807294 ], [ -122.203198000031094, 38.677792000885503 ], [ -122.203421999520984, 38.677504000985479 ], [ -122.203421999999847, 38.677184000418976 ], [ -122.203166000067355, 38.676800000626251 ], [ -122.202686000420968, 38.676032000297234 ], [ -122.201885999938256, 38.67532800081753 ], [ -122.201262000524721, 38.674608001004827 ], [ -122.200349999402249, 38.673600000518093 ], [ -122.199966000448612, 38.673184001086703 ], [ -122.199630000326223, 38.672544000489872 ], [ -122.199470000070221, 38.672000001031776 ], [ -122.199421999655513, 38.671712001045577 ], [ -122.19924599975235, 38.671296000710576 ], [ -122.198845999475054, 38.670304000688986 ], [ -122.198589999608799, 38.669568000994111 ], [ -122.198333999995384, 38.669200000477744 ], [ -122.198029999512713, 38.669056000562883 ], [ -122.197694000292145, 38.668848001143274 ], [ -122.197149999593847, 38.668704000610127 ], [ -122.196765999934527, 38.668352000417684 ], [ -122.196429000512481, 38.667744001018761 ], [ -122.195964999453309, 38.667504000718473 ], [ -122.195628999593097, 38.667168000734335 ], [ -122.194861000276859, 38.666864001093018 ], [ -122.194509000335998, 38.666560000850545 ], [ -122.194109000281642, 38.666336000704852 ], [ -122.193564999792713, 38.665808000529694 ], [ -122.193181000112304, 38.665200001028957 ], [ -122.192748999964167, 38.664672000850935 ], [ -122.192588999831571, 38.664256000617677 ], [ -122.192428999953819, 38.663856000380981 ], [ -122.191932999523573, 38.663312001063098 ], [ -122.19164499940139, 38.663104000425932 ], [ -122.191164999602975, 38.662816000461277 ], [ -122.190748999912998, 38.662528000673127 ], [ -122.190220999834168, 38.662272000435536 ], [ -122.189821000114307, 38.661728000665782 ], [ -122.188396999489612, 38.660880000745067 ], [ -122.187885000139175, 38.660640000303403 ], [ -122.187453000345926, 38.660320000674247 ], [ -122.187036999434824, 38.659552000243337 ], [ -122.186652999469615, 38.659248000758041 ], [ -122.185677000026658, 38.658768001139094 ], [ -122.184349000458027, 38.6578240005678 ], [ -122.183245000032528, 38.657136000432189 ], [ -122.18262099946385, 38.657088000740472 ], [ -122.182316999664238, 38.657344000376135 ], [ -122.182060999995841, 38.657808000985284 ], [ -122.181612999576089, 38.657840000314067 ], [ -122.181231000088815, 38.657789000949123 ], [ -122.181132999976214, 38.657776000457808 ], [ -122.180589000521891, 38.657600001005378 ], [ -122.179997000517105, 38.657824001098604 ], [ -122.179420999647192, 38.658144001005823 ], [ -122.178796999902048, 38.658080000486343 ], [ -122.1779650004909, 38.657952000294124 ], [ -122.177452999964061, 38.657888001056769 ], [ -122.176972999416577, 38.658112001028059 ], [ -122.176556999939734, 38.658608000307794 ], [ -122.176124999926571, 38.658736000709681 ], [ -122.175644999984982, 38.658576000353307 ], [ -122.174294000361016, 38.657886000248297 ], [ -122.174108999570038, 38.657792000923834 ], [ -122.173341000144646, 38.657248000879846 ], [ -122.171772999744974, 38.656512000394805 ], [ -122.170028999383547, 38.656032001079595 ], [ -122.169196999877315, 38.655760000477748 ], [ -122.168764999496034, 38.655536001008414 ], [ -122.168300999448803, 38.655296001083414 ], [ -122.167820999479048, 38.654624000727125 ], [ -122.167452999708729, 38.654144000913043 ], [ -122.167116999529341, 38.653664000679157 ], [ -122.166924999805772, 38.653056000348734 ], [ -122.166476999499451, 38.652672000408131 ], [ -122.166236999782924, 38.652176000986969 ], [ -122.165340999806602, 38.650320000759862 ], [ -122.165212999592413, 38.649728000972807 ], [ -122.16486100051479, 38.649216001028819 ], [ -122.164397000213782, 38.648576000928273 ], [ -122.163805000231108, 38.648128000856182 ], [ -122.163533000141001, 38.647776000771074 ], [ -122.163373000189168, 38.647296000651863 ], [ -122.16316500028168, 38.64696000075373 ], [ -122.163165000367698, 38.646592000289075 ], [ -122.163212999863788, 38.645840000851834 ], [ -122.1631810000938, 38.645360000296691 ], [ -122.163052999579094, 38.644912001004087 ], [ -122.162556999830656, 38.644352000886862 ], [ -122.162333000071754, 38.644096000611064 ], [ -122.16230100026803, 38.643840000676057 ], [ -122.162428999889514, 38.643616000639319 ], [ -122.162501000079999, 38.643560001087863 ], [ -122.16298899985479, 38.643184000478485 ], [ -122.163840999821261, 38.642881000396116 ], [ -122.16398099993998, 38.642832000498856 ], [ -122.165020999959097, 38.642432000421202 ], [ -122.165453000290753, 38.642208000905022 ], [ -122.165693000093484, 38.642048000573602 ], [ -122.165933000084479, 38.641921000582791 ], [ -122.166077000460689, 38.641521000272903 ], [ -122.1660289995434, 38.640929000350539 ], [ -122.165949000174848, 38.640257000644723 ], [ -122.165660999769472, 38.639953000915703 ], [ -122.164060999562466, 38.638801001060443 ], [ -122.163644999695038, 38.638561001051045 ], [ -122.163373000324484, 38.637953001130199 ], [ -122.163004999430612, 38.637345000416225 ], [ -122.162556000050799, 38.63720100091632 ], [ -122.162172000023716, 38.636609000454058 ], [ -122.161692000457251, 38.636273001143628 ], [ -122.161211999957274, 38.635761000349241 ], [ -122.161179999743794, 38.635377001111351 ], [ -122.161212000165506, 38.635105000422456 ], [ -122.161548000446984, 38.634689000834761 ], [ -122.161852000196816, 38.634193001143579 ], [ -122.162060000157439, 38.63358500041975 ], [ -122.162411999555971, 38.632865000908154 ], [ -122.162540000402046, 38.632689001142957 ], [ -122.16308399958298, 38.632577000665037 ], [ -122.164188999392948, 38.632049000702949 ], [ -122.165133000158491, 38.6317130002789 ], [ -122.165997000217359, 38.631601001044068 ], [ -122.166653000326534, 38.631649000326753 ], [ -122.16714899997686, 38.631297000326107 ], [ -122.168044999905177, 38.630481000347295 ], [ -122.168284999500642, 38.630369000517838 ], [ -122.169804999395055, 38.630209000885571 ], [ -122.170189000065719, 38.629985001109489 ], [ -122.170380999519068, 38.629825000714973 ], [ -122.170428999731556, 38.629601000633969 ], [ -122.170205000146993, 38.629121000638442 ], [ -122.169757000439105, 38.628449000366885 ], [ -122.169612999917533, 38.628177000454869 ], [ -122.169485000175243, 38.627761000291251 ], [ -122.169500999792703, 38.627521001038616 ], [ -122.169533000191308, 38.627009000975349 ], [ -122.169628999826514, 38.6266730007723 ], [ -122.169516999554418, 38.626305000600809 ], [ -122.169421000091106, 38.625809000515133 ], [ -122.168972999475145, 38.625361000530425 ], [ -122.168636999585928, 38.624897000466781 ], [ -122.16846099979233, 38.624641000856109 ], [ -122.168364999736994, 38.624321000622189 ], [ -122.168476999519214, 38.623745001082156 ], [ -122.168460999839454, 38.623441001102272 ], [ -122.168236999661161, 38.622961000573753 ], [ -122.168189000194701, 38.622433000983875 ], [ -122.168237000328347, 38.622305000782497 ], [ -122.168380999588791, 38.622145000997214 ], [ -122.168477000100395, 38.621921001052563 ], [ -122.168508999589193, 38.620321000910131 ], [ -122.168508999495657, 38.619841000867829 ], [ -122.168444999716741, 38.619521000777546 ], [ -122.168349000226115, 38.619297000488793 ], [ -122.16758099978712, 38.618737000258584 ], [ -122.166428999999582, 38.617873000318177 ], [ -122.166236999730941, 38.617745000308858 ], [ -122.166189000049997, 38.617713000935922 ], [ -122.165965000258979, 38.617681000650506 ], [ -122.165581000217031, 38.617857000654766 ], [ -122.164044000076629, 38.618705000900839 ], [ -122.163676000281029, 38.618753000811289 ], [ -122.163100000005699, 38.619105000677067 ], [ -122.162507999683754, 38.619393000780953 ], [ -122.162123999872151, 38.619441001114801 ], [ -122.161753999668605, 38.619295000424458 ], [ -122.161595999417287, 38.619233000432537 ], [ -122.161307999799106, 38.619233000976742 ], [ -122.160923999740618, 38.619297000401808 ], [ -122.160716000129526, 38.619489000335889 ], [ -122.160348000395828, 38.619873001085125 ], [ -122.16015600045985, 38.62016100050284 ], [ -122.159515999742709, 38.620833000864636 ], [ -122.15834799970871, 38.622049000878846 ], [ -122.157836000146787, 38.622529000246196 ], [ -122.157564000156654, 38.622689000790352 ], [ -122.157083999799482, 38.622769000346985 ], [ -122.15639599977716, 38.622785000285866 ], [ -122.15564400040671, 38.622961000660382 ], [ -122.154972000504642, 38.623249000327554 ], [ -122.153963999597607, 38.624049000959374 ], [ -122.153691999897333, 38.624417000898312 ], [ -122.153211999755797, 38.624737000780129 ], [ -122.152572000118397, 38.624993000275211 ], [ -122.152092000529507, 38.625201000586614 ], [ -122.151772000298863, 38.625297000681648 ], [ -122.15152200050494, 38.625257000789766 ], [ -122.151467999838104, 38.625249000569781 ], [ -122.15108400036128, 38.625025000774635 ], [ -122.150891999594421, 38.624705000963964 ], [ -122.150827999824031, 38.624433000823416 ], [ -122.150955999395975, 38.62414500058415 ], [ -122.151228000419735, 38.623697001016744 ], [ -122.151324000476578, 38.623345000358157 ], [ -122.151356000387594, 38.62281700061412 ], [ -122.151275999522227, 38.622369001019543 ], [ -122.15106799940736, 38.621905000577755 ], [ -122.150459999547039, 38.621425001130042 ], [ -122.150091999740681, 38.621121000897858 ], [ -122.15002099958626, 38.621017000822249 ], [ -122.149883999970896, 38.62081700053195 ], [ -122.149804000498349, 38.620529000271574 ], [ -122.149307999913106, 38.620145000322651 ], [ -122.147724000401098, 38.61881700067358 ], [ -122.147468000232095, 38.618353000908684 ], [ -122.147291999765315, 38.618129000814065 ], [ -122.147147999536173, 38.617809001096205 ], [ -122.147019999955958, 38.617329001095982 ], [ -122.146843999937403, 38.617041000830696 ], [ -122.14639599964697, 38.616449000856264 ], [ -122.145692000186855, 38.615905000277458 ], [ -122.145484000518294, 38.615713000529666 ], [ -122.145292000002797, 38.615521001030132 ], [ -122.14525999983664, 38.615137001029375 ], [ -122.145211999527987, 38.614513000893012 ], [ -122.145115999603433, 38.613809000715428 ], [ -122.144939999725608, 38.613249000917996 ], [ -122.144796000405222, 38.612785000576757 ], [ -122.144411999388268, 38.612209000335383 ], [ -122.142955999854451, 38.610705000740758 ], [ -122.142444000124129, 38.61022500099611 ], [ -122.142140000464991, 38.609857000768898 ], [ -122.141979999433758, 38.609681000879654 ], [ -122.14117999983776, 38.609681000407818 ], [ -122.140364000238392, 38.609873000780318 ], [ -122.139948000518714, 38.609889000990833 ], [ -122.139388000236082, 38.60916900047053 ], [ -122.139132000094747, 38.608321001060332 ], [ -122.138859999782426, 38.607857000395448 ], [ -122.138412000286749, 38.607057001101062 ], [ -122.137836000028244, 38.606305000642195 ], [ -122.13750000019111, 38.605585000923881 ], [ -122.137004000221893, 38.604929000403054 ], [ -122.136891999653159, 38.604673000632687 ], [ -122.137036000015286, 38.603809000477405 ], [ -122.13689199982602, 38.603265000839791 ], [ -122.136699999505097, 38.602625000744631 ], [ -122.136076000204696, 38.601825001093388 ], [ -122.135836000519021, 38.60163300099704 ], [ -122.135835999724222, 38.600993000430222 ], [ -122.135755999571487, 38.600609000425273 ], [ -122.135211999646231, 38.599633000740113 ], [ -122.134139999564994, 38.598161001000051 ], [ -122.133819999932982, 38.597601000290737 ], [ -122.133723999685074, 38.597105000342253 ], [ -122.133723999768847, 38.596529000827971 ], [ -122.133931999727707, 38.595793000641336 ], [ -122.134139999652632, 38.595313000437294 ], [ -122.134155999835073, 38.595073000671562 ], [ -122.133947999475836, 38.594577001070746 ], [ -122.133291999465087, 38.593553000749623 ], [ -122.13308399968993, 38.592737001108539 ], [ -122.132411999698334, 38.591649000902692 ], [ -122.131644000026256, 38.59107300030508 ], [ -122.131099999772076, 38.590689000732148 ], [ -122.13073199986431, 38.590481000779555 ], [ -122.130475999813484, 38.590241001140015 ], [ -122.130346999386262, 38.589937000604593 ], [ -122.130362999823646, 38.58944100054746 ], [ -122.129962999715545, 38.588593001125844 ], [ -122.129754999956774, 38.588113000430539 ], [ -122.129338999662068, 38.587473001005172 ], [ -122.12917899945765, 38.587297000422836 ], [ -122.128987000283331, 38.586993000819966 ], [ -122.129003000456592, 38.586289001135881 ], [ -122.128699000288719, 38.585777000497977 ], [ -122.128331000103557, 38.584417001028683 ], [ -122.128251000162606, 38.584337000697651 ], [ -122.128123000517206, 38.583697000335455 ], [ -122.128346999793933, 38.583458000587854 ], [ -122.128779000048212, 38.583090000869298 ], [ -122.12897100042926, 38.582946000753211 ], [ -122.12913100026104, 38.582434000926831 ], [ -122.129194999706158, 38.581842001034261 ], [ -122.129082999815452, 38.58089800113769 ], [ -122.128842999576619, 38.580194000594098 ], [ -122.128442999611167, 38.579730001035848 ], [ -122.128251000134185, 38.579426000839156 ], [ -122.12788300009052, 38.578738000415029 ], [ -122.12780300007671, 38.577986000705131 ], [ -122.12775500017807, 38.576946000367954 ], [ -122.127451000306948, 38.576530001063503 ], [ -122.127195000511094, 38.576162000572246 ], [ -122.126715000106529, 38.575778000579518 ], [ -122.126426999923169, 38.575426000650666 ], [ -122.126187000234779, 38.575138000453229 ], [ -122.126139000475561, 38.574306000862215 ], [ -122.126043000112276, 38.573618000654186 ], [ -122.125915000482976, 38.572818000819382 ], [ -122.125467000319588, 38.572626000805279 ], [ -122.122315000182468, 38.562434000725069 ], [ -122.121994999968663, 38.561826001017444 ], [ -122.121691000207306, 38.56141000053676 ], [ -122.121338999887342, 38.56097800078458 ], [ -122.12097099979762, 38.560482000585374 ], [ -122.120731000317804, 38.559858001008003 ], [ -122.120634999725993, 38.559218000862529 ], [ -122.120586999799571, 38.558498000266106 ], [ -122.120362999538614, 38.557842001002022 ], [ -122.120234999483557, 38.557106000463989 ], [ -122.120171000240475, 38.556418000895675 ], [ -122.119963000186047, 38.555618000555199 ], [ -122.1195630004446, 38.554818000459363 ], [ -122.119322999711727, 38.554082000599998 ], [ -122.119195000258927, 38.553330000780598 ], [ -122.118682999518228, 38.552098000925049 ], [ -122.118331000246044, 38.551522001040105 ], [ -122.118106999973875, 38.550802000403223 ], [ -122.117866999655604, 38.549474000424347 ], [ -122.117659000278309, 38.548306000537387 ], [ -122.117499000010255, 38.547458001117796 ], [ -122.117275000191697, 38.54643400107576 ], [ -122.116939000460206, 38.545474001140406 ], [ -122.116442999605738, 38.544514000267419 ], [ -122.116202999460455, 38.543810000318373 ], [ -122.115866999582053, 38.542930000346956 ], [ -122.115802999754621, 38.542274000677274 ], [ -122.115499000231694, 38.541794001130043 ], [ -122.115002999478165, 38.540994000499438 ], [ -122.114699000175563, 38.540242000321378 ], [ -122.114554999905579, 38.539458000885858 ], [ -122.11434699949676, 38.538674000994924 ], [ -122.114027000093543, 38.537890000277081 ], [ -122.113994999985252, 38.537538000319891 ], [ -122.113995000206842, 38.53749000061854 ], [ -122.114075000007546, 38.537218000878291 ], [ -122.114378999425512, 38.536802000534145 ], [ -122.114779000310705, 38.536290000368503 ], [ -122.115114999443875, 38.535874000239026 ], [ -122.115291000220211, 38.535202000446887 ], [ -122.115179000052862, 38.53438600039528 ], [ -122.115083000533119, 38.534082000499602 ], [ -122.114955000232243, 38.53373000039808 ], [ -122.114442999565384, 38.533090000639582 ], [ -122.11397899947238, 38.532770000876496 ], [ -122.113227000087321, 38.532690000622878 ], [ -122.112667000005374, 38.532194000949893 ], [ -122.11236299959117, 38.531618000440481 ], [ -122.111882999743059, 38.53129800084475 ], [ -122.111643000069506, 38.530642000949349 ], [ -122.111866999907392, 38.530050000386346 ], [ -122.11201099979769, 38.529666000483722 ], [ -122.112762999442154, 38.529522000241784 ], [ -122.112955000193679, 38.528994000362211 ], [ -122.112858999623498, 38.528067000797556 ], [ -122.11281099983016, 38.527363000530244 ], [ -122.112731000057877, 38.526627000841607 ], [ -122.112554999411785, 38.526387000930399 ], [ -122.112074999626699, 38.52582700033792 ], [ -122.111883000353629, 38.525155000688834 ], [ -122.111819000279638, 38.524563001058823 ], [ -122.111562999506617, 38.52405100096118 ], [ -122.111099000357228, 38.523907000917944 ], [ -122.110458999432922, 38.523859000849434 ], [ -122.110107000083943, 38.523923000322668 ], [ -122.109387000482585, 38.523139000717407 ], [ -122.109466999869568, 38.522771000257173 ], [ -122.109771000463823, 38.521939000329468 ], [ -122.109594999438812, 38.521411000567127 ], [ -122.105738999915431, 38.517907000367671 ], [ -122.105354999457134, 38.517459000513881 ], [ -122.104923000062399, 38.517043000376908 ], [ -122.10452300019486, 38.516451000307107 ], [ -122.104107000419802, 38.515779000747095 ], [ -122.103786999561777, 38.515171000371424 ], [ -122.103611000462621, 38.514627000659267 ], [ -122.10348300050947, 38.514083000453397 ], [ -122.103322999630919, 38.513667000988477 ], [ -122.103290999406354, 38.513283000352786 ], [ -122.103315000222224, 38.51311000053412 ], [ -122.103482999638885, 38.511907000391197 ], [ -122.106365999486528, 38.511014001022843 ], [ -122.108254999997229, 38.51022300076832 ], [ -122.111329999859421, 38.507541000519318 ], [ -122.111417999883159, 38.50675100079247 ], [ -122.110187999448414, 38.505960000258753 ], [ -122.109923999682209, 38.505306001127074 ], [ -122.110407000397743, 38.505031000548563 ], [ -122.111989000336109, 38.505134001082062 ], [ -122.113086999450204, 38.505134000308679 ], [ -122.114097999507322, 38.504825000555947 ], [ -122.11537199963773, 38.504756000738126 ], [ -122.116293999808704, 38.504481000838162 ], [ -122.116821000239042, 38.503725000918578 ], [ -122.11664600002571, 38.502796000625224 ], [ -122.115722999848245, 38.502040000543623 ], [ -122.115503000524399, 38.501352000439852 ], [ -122.115811000493451, 38.500699000907282 ], [ -122.1175680000933, 38.499977001044797 ], [ -122.119588999735598, 38.499220000852276 ], [ -122.12086300033117, 38.498189000710646 ], [ -122.121872999501832, 38.496882000562337 ], [ -122.12288399992299, 38.493375000599777 ], [ -122.123543000430288, 38.492687000881695 ], [ -122.125079999604253, 38.491931000398658 ], [ -122.12644299994659, 38.490083000592087 ], [ -122.127183000163981, 38.488907000496781 ], [ -122.129251999501193, 38.48745200094519 ], [ -122.129882999794418, 38.487008000686529 ], [ -122.131056999501638, 38.485312000830326 ], [ -122.131785000416343, 38.484260000507788 ], [ -122.13600900014481, 38.476846000253062 ], [ -122.136207000080375, 38.476691000776931 ], [ -122.136504000360887, 38.476575000883301 ], [ -122.137082999903257, 38.476608000459635 ], [ -122.139176999472099, 38.476807000833482 ], [ -122.140116999769106, 38.476768001011834 ], [ -122.141205999760942, 38.47614900105151 ], [ -122.141799999666915, 38.47564500108917 ], [ -122.143183000453192, 38.475208000891193 ], [ -122.143483000431303, 38.474754000647501 ], [ -122.143334999528079, 38.474367000973402 ], [ -122.142943999676959, 38.474178000996119 ], [ -122.142393999430951, 38.471888001099785 ], [ -122.141898999598453, 38.47095800053043 ], [ -122.141750999609727, 38.469293000255171 ], [ -122.142493000031621, 38.468634000449413 ], [ -122.143680999941665, 38.468479000472065 ], [ -122.144720999433787, 38.468867000770473 ], [ -122.146008000380419, 38.468712000645318 ], [ -122.146503000090377, 38.468053000969377 ], [ -122.147249999596482, 38.466650000960186 ], [ -122.148285000415171, 38.465497000810785 ], [ -122.149274999715573, 38.465109000344022 ], [ -122.150611000213971, 38.46487700046444 ], [ -122.151354000281543, 38.464645000445614 ], [ -122.151992999943445, 38.463807000562703 ], [ -122.152583000377561, 38.455109000793925 ], [ -122.152163999850984, 38.453182000954293 ], [ -122.152082999976244, 38.452809001123057 ], [ -122.152001000263255, 38.449685000692668 ], [ -122.151983000285171, 38.449009000584546 ], [ -122.152305999381568, 38.441893001030273 ], [ -122.152383000217085, 38.440209000861607 ], [ -122.152540000259734, 38.439973000243725 ], [ -122.153228000263908, 38.438942001053569 ], [ -122.153982999784063, 38.437809000471745 ], [ -122.153483000363664, 38.433509000340891 ], [ -122.153785000161818, 38.433190000966512 ], [ -122.154806999913376, 38.432107000642034 ], [ -122.156181000125187, 38.430652000697648 ], [ -122.156746999716617, 38.430053000244648 ], [ -122.158591000123309, 38.430193000621905 ], [ -122.16015400023727, 38.430917000662006 ], [ -122.16185900029312, 38.432641000781352 ], [ -122.164031000283373, 38.435538000846847 ], [ -122.165340000478977, 38.436314000344993 ], [ -122.16697399947607, 38.436592000854411 ], [ -122.172232000080186, 38.437427000771656 ], [ -122.175855999648775, 38.437816000985194 ], [ -122.179550000156439, 38.437705000852404 ], [ -122.182391999392536, 38.437872000925637 ], [ -122.184884000477268, 38.438809000636425 ], [ -122.19154099967021, 38.442769000353827 ], [ -122.196484000108086, 38.445709000255462 ], [ -122.197483999690832, 38.446809000906164 ], [ -122.197883999876609, 38.44717300084303 ], [ -122.198483999694275, 38.447509000341363 ], [ -122.202616000203022, 38.449669000627395 ], [ -122.202884000165966, 38.449809000896842 ], [ -122.20408400038859, 38.45240900035904 ], [ -122.205583999548153, 38.45320900113088 ], [ -122.210083999903702, 38.454909000883895 ], [ -122.219292999863754, 38.461029001057973 ], [ -122.219684999821411, 38.46130900024837 ], [ -122.220768000307459, 38.462101000720899 ], [ -122.221223999748617, 38.462435000366703 ], [ -122.221827999432421, 38.462877000698178 ], [ -122.223784999754798, 38.464309000281204 ], [ -122.227384999508303, 38.471509000983914 ], [ -122.234884999464199, 38.475908001087241 ], [ -122.235388999678648, 38.477124000355658 ], [ -122.237485999816172, 38.480708001132051 ], [ -122.240886000081929, 38.483608000577902 ], [ -122.243786000418396, 38.485408000554543 ], [ -122.244729000368736, 38.487447000397204 ], [ -122.246885999507271, 38.492108000363999 ], [ -122.246686000277322, 38.494208000347847 ], [ -122.250586000209083, 38.496608000834001 ], [ -122.252886000150724, 38.496608000475767 ], [ -122.254886000525232, 38.497808000816065 ], [ -122.256086000435729, 38.498908000388461 ], [ -122.256336000229396, 38.499408000789089 ], [ -122.256485999450376, 38.499708000574856 ], [ -122.256585999658682, 38.500308000865651 ], [ -122.257603999683212, 38.500544001072221 ], [ -122.258555000450031, 38.50104100067 ], [ -122.259822999693313, 38.501868001029699 ], [ -122.260668000130352, 38.50219900087005 ], [ -122.261617999887449, 38.502282000576322 ], [ -122.262516000208493, 38.502034001118126 ], [ -122.263730999570413, 38.50244800042401 ], [ -122.269383000153795, 38.507124000257654 ], [ -122.270438999662645, 38.50770400066402 ], [ -122.271653999903336, 38.507621000616609 ], [ -122.276301999596839, 38.506917000813914 ], [ -122.276989000265843, 38.50637900109048 ], [ -122.277517000500467, 38.505510000323881 ], [ -122.278204000243477, 38.504931000554841 ], [ -122.283010000382347, 38.504393000825175 ], [ -122.284383000147045, 38.504062000858958 ], [ -122.285123000192726, 38.503482000649207 ], [ -122.286865999538435, 38.502199000806527 ], [ -122.287975000138218, 38.50203400110653 ], [ -122.289243000173698, 38.502158001015289 ], [ -122.293891000481992, 38.50277900025106 ], [ -122.29489400020222, 38.503110000537085 ], [ -122.295586999684602, 38.503608000666866 ], [ -122.295707999574361, 38.504039000377091 ], [ -122.295933999557377, 38.504140001017156 ], [ -122.296350000273733, 38.504284000855606 ], [ -122.296587000485147, 38.504308000475334 ], [ -122.297586999800345, 38.504608000888155 ], [ -122.300986999644863, 38.507408000971353 ], [ -122.304386999496344, 38.512308000901811 ], [ -122.307786999525106, 38.513108000570256 ], [ -122.311786999825827, 38.515808000812136 ], [ -122.32208800047465, 38.528507000630547 ], [ -122.336587999902463, 38.535407000800355 ], [ -122.337087999705517, 38.536507001126694 ], [ -122.338088000506346, 38.539007000406947 ], [ -122.347887999814091, 38.542607001077165 ], [ -122.362935999690478, 38.55417400066456 ], [ -122.363888999821341, 38.554907000921418 ], [ -122.370988999705361, 38.557407000315131 ], [ -122.373289000358795, 38.559507001073641 ], [ -122.37648899953534, 38.561207000463931 ], [ -122.379488999581625, 38.562107001093395 ], [ -122.381888999706376, 38.563507000698273 ], [ -122.382789000499258, 38.564407000266527 ], [ -122.396388999680084, 38.57240600052841 ], [ -122.397188999614571, 38.574006000960885 ], [ -122.398289000496035, 38.577306000272763 ], [ -122.39888899958342, 38.57830600105833 ], [ -122.398089000103425, 38.580506000347143 ], [ -122.400388999534627, 38.588306001115583 ], [ -122.397388999685504, 38.591506000828261 ], [ -122.399389000170373, 38.596006000402497 ], [ -122.402088999643581, 38.597806000416227 ], [ -122.403389000414876, 38.597306000353719 ], [ -122.402789000090465, 38.599706000701374 ], [ -122.403788999464794, 38.602206000264459 ], [ -122.409389000282758, 38.606006001126978 ], [ -122.415290000471202, 38.61480500076933 ], [ -122.416990000309227, 38.616805000597729 ], [ -122.417789999673246, 38.617405000315358 ], [ -122.421389999615656, 38.617605000466362 ], [ -122.4258900004438, 38.616905000916859 ], [ -122.42698999963082, 38.615405001137731 ], [ -122.427889999909056, 38.6150050008386 ], [ -122.430690000476289, 38.615105000870869 ], [ -122.434490000204434, 38.617405000710065 ], [ -122.440589999590884, 38.623705000315582 ], [ -122.444490000521881, 38.623805000885824 ], [ -122.447077000029935, 38.628096000790016 ], [ -122.448889999773854, 38.63110500075814 ], [ -122.453490000209896, 38.637105000454156 ], [ -122.453789999456347, 38.640205000324492 ], [ -122.457089999732517, 38.642005001050883 ], [ -122.456790000281032, 38.647205000246274 ], [ -122.458089999599935, 38.650205000979106 ], [ -122.463290000514206, 38.651205000987545 ], [ -122.466190000068835, 38.654304000672333 ], [ -122.464989999585256, 38.655104000734362 ], [ -122.457689999975358, 38.65830400066698 ], [ -122.454589999395267, 38.658404000279752 ], [ -122.453089999770995, 38.658604000254812 ], [ -122.450290000168863, 38.660404000963744 ], [ -122.446190000091391, 38.667404000742714 ], [ -122.446589999834345, 38.670104000945223 ], [ -122.444789999478289, 38.671204000458189 ], [ -122.444490000193895, 38.672704001007219 ], [ -122.446190000028722, 38.676504001044528 ], [ -122.444790000528883, 38.679704000535359 ], [ -122.446089999752942, 38.681504000257846 ], [ -122.445789999961818, 38.69230300090922 ], [ -122.444789999807256, 38.693803000649659 ], [ -122.44508999943416, 38.695303000673121 ], [ -122.450089999721399, 38.698903000693562 ], [ -122.460590000433299, 38.702403001091881 ], [ -122.463889999808487, 38.705203000544984 ], [ -122.436358000434993, 38.741148000730099 ], [ -122.429653000489878, 38.749902000845367 ], [ -122.429572999545513, 38.750006000479196 ], [ -122.415789000516099, 38.768002001030261 ], [ -122.402888999784295, 38.772902000726447 ], [ -122.408988999997874, 38.776301000828099 ], [ -122.410089000447144, 38.78550100047557 ], [ -122.412289000352644, 38.785801000544751 ], [ -122.408388000355345, 38.790766000849928 ], [ -122.403276999509075, 38.797271000427543 ], [ -122.397988999594162, 38.804001000613226 ], [ -122.379389000405041, 38.802101000516373 ], [ -122.373487999667773, 38.817000000349111 ], [ -122.381987999701806, 38.833800000788749 ], [ -122.401200000158525, 38.852924001033344 ], [ -122.402661999727982, 38.854379000933982 ], [ -122.403888000002596, 38.85559900057472 ], [ -122.40328799955978, 38.856099000537377 ], [ -122.395055999419014, 38.864245000890776 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 28, "TAZ1454": 1317, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.597693999583555, 38.589007000823884 ], [ -122.595694000349795, 38.590307000887421 ], [ -122.597312999385437, 38.591926000916132 ], [ -122.597314000059129, 38.591619000953472 ], [ -122.597525999773254, 38.59161800079945 ], [ -122.597630999569745, 38.591618000456997 ], [ -122.59759899967338, 38.592173000617294 ], [ -122.598294000089766, 38.592607000513667 ], [ -122.598394000279143, 38.593307000764689 ], [ -122.598494000283694, 38.593707000718616 ], [ -122.597694000181065, 38.594307000511101 ], [ -122.597293999858977, 38.594007000829507 ], [ -122.594394000405686, 38.59110700044581 ], [ -122.583594000484666, 38.597907001095805 ], [ -122.581993999816291, 38.595507001140348 ], [ -122.577493999500248, 38.588907000321399 ], [ -122.576894000529052, 38.588707000929119 ], [ -122.572594000402546, 38.586507001075475 ], [ -122.570792999623052, 38.585407000582997 ], [ -122.563992999700574, 38.586007000366948 ], [ -122.561393000378075, 38.585307001038977 ], [ -122.562992999981944, 38.582007000985655 ], [ -122.56569300048767, 38.576407000317509 ], [ -122.564293000121125, 38.575707000862735 ], [ -122.564792999994381, 38.57440700105083 ], [ -122.556192999929564, 38.570807000890539 ], [ -122.554793000093994, 38.57000700080431 ], [ -122.554981000028363, 38.56984300047268 ], [ -122.555392999969655, 38.568607001060037 ], [ -122.557992999762874, 38.569507000638723 ], [ -122.558792999404517, 38.570907000775193 ], [ -122.560193000201991, 38.571807001107672 ], [ -122.563105999740998, 38.572262000378878 ], [ -122.56339300025266, 38.572307000938174 ], [ -122.564193000210835, 38.573607000454281 ], [ -122.566893000165052, 38.574607000830149 ], [ -122.56779300050276, 38.573207000653532 ], [ -122.569093000289499, 38.571107000404943 ], [ -122.571192999660767, 38.567907001083817 ], [ -122.583589999405604, 38.571279000954348 ], [ -122.584793999810273, 38.571607000343967 ], [ -122.589993999642445, 38.573507000549938 ], [ -122.600493999709371, 38.578407000479785 ], [ -122.603795000292152, 38.580207001063478 ], [ -122.604094999793659, 38.583007000829532 ], [ -122.602394999592519, 38.584707000629642 ], [ -122.601894999996048, 38.584507001142299 ], [ -122.597693999583555, 38.589007000823884 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 41, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.408381999438859, 37.804528000748263 ], [ -122.409282000423673, 37.804428000595138 ], [ -122.409882000474695, 37.804228000698991 ], [ -122.411481999806313, 37.804128000981713 ], [ -122.412481999567632, 37.80392800073075 ], [ -122.413082000248863, 37.803928001003925 ], [ -122.413755000474268, 37.803849000425494 ], [ -122.414782000162205, 37.803728001077616 ], [ -122.415381999544223, 37.804128001076919 ], [ -122.415881999719744, 37.804528000645021 ], [ -122.416882000291267, 37.805328000598379 ], [ -122.418081999422881, 37.806128000423968 ], [ -122.418581999992497, 37.806128000576301 ], [ -122.418681999589253, 37.806528000704169 ], [ -122.418782000287464, 37.807028000852391 ], [ -122.418881999742837, 37.808028000521553 ], [ -122.41918200027186, 37.808628000731744 ], [ -122.418073999695295, 37.808693000302682 ], [ -122.418126000449234, 37.808901000487019 ], [ -122.419199000398336, 37.80934700093426 ], [ -122.419403000409062, 37.809585000909138 ], [ -122.419481999742459, 37.809928000705732 ], [ -122.417663000154135, 37.809019001091308 ], [ -122.417481999879755, 37.808928000654277 ], [ -122.417382000287489, 37.808528000581347 ], [ -122.416282000078368, 37.808528000726966 ], [ -122.416225000162669, 37.808730000547726 ], [ -122.416182000058996, 37.808928000313657 ], [ -122.417181999510319, 37.809228000564005 ], [ -122.418032000180148, 37.809795001020234 ], [ -122.419581999612504, 37.810828001079649 ], [ -122.420381999665864, 37.811528000971528 ], [ -122.420174999739402, 37.811658000791709 ], [ -122.419682000493296, 37.811428001095997 ], [ -122.41918199948492, 37.811228000883183 ], [ -122.419101999654984, 37.811428000377205 ], [ -122.419329999589749, 37.811578000649959 ], [ -122.419566999656567, 37.811731001116449 ], [ -122.419356000225577, 37.811845000502025 ], [ -122.418981999646292, 37.811728000851744 ], [ -122.415081999753525, 37.809428000396615 ], [ -122.415082000006635, 37.809628000525429 ], [ -122.414781999574103, 37.80952800031816 ], [ -122.415081999805011, 37.80992800070311 ], [ -122.413382000165782, 37.809428000313233 ], [ -122.414982000363068, 37.810528001050827 ], [ -122.414281999414101, 37.810828000825197 ], [ -122.411982000146025, 37.809228000746749 ], [ -122.41368199941823, 37.811128000272447 ], [ -122.412781999656445, 37.811428000384538 ], [ -122.41088199974341, 37.80902800079717 ], [ -122.410081999534199, 37.808928000804819 ], [ -122.41108199961154, 37.810928001110085 ], [ -122.410681999711784, 37.811028000681375 ], [ -122.409481999401933, 37.808828000390605 ], [ -122.408382000425974, 37.808628000563999 ], [ -122.408981999674353, 37.810628000903684 ], [ -122.408482000231615, 37.810828000491647 ], [ -122.4075820003481, 37.808428000688757 ], [ -122.406582000407681, 37.808228001125919 ], [ -122.406681999945476, 37.810128000704857 ], [ -122.405981999703329, 37.810128000618128 ], [ -122.405881999417872, 37.807328000936813 ], [ -122.405181999749558, 37.807128000578501 ], [ -122.404382000323494, 37.808928000584395 ], [ -122.403881999764209, 37.808728000429461 ], [ -122.404782000417995, 37.806828000715086 ], [ -122.40408199981637, 37.806528000970765 ], [ -122.402682000142121, 37.808228000964327 ], [ -122.402281999419728, 37.807928000785566 ], [ -122.403481999924807, 37.806528000753893 ], [ -122.402781999422089, 37.806128000442477 ], [ -122.401381999407917, 37.807328001072499 ], [ -122.400882000036631, 37.80692800073404 ], [ -122.402281999458779, 37.805128001008676 ], [ -122.402982000096586, 37.805128000393871 ], [ -122.403381999890769, 37.805028000661295 ], [ -122.405082000286114, 37.804928000431701 ], [ -122.405882000139101, 37.80472800063076 ], [ -122.406250000322714, 37.804675000591708 ], [ -122.40658199983676, 37.804628001030274 ], [ -122.408381999438859, 37.804528000748263 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 39, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.418081999422881, 37.806128000423968 ], [ -122.416882000291267, 37.805328000598379 ], [ -122.415881999719744, 37.804528000645021 ], [ -122.415381999544223, 37.804128001076919 ], [ -122.414782000162205, 37.803728001077616 ], [ -122.413582000333363, 37.802928000901879 ], [ -122.41278199966419, 37.802328000470773 ], [ -122.412681999658503, 37.802028000761425 ], [ -122.41268200018385, 37.801628000934592 ], [ -122.412481999800647, 37.801128000478293 ], [ -122.412382000079887, 37.800428000559627 ], [ -122.412281999613356, 37.800128000426362 ], [ -122.412281999751059, 37.799928000905943 ], [ -122.412181999980689, 37.799228000687485 ], [ -122.412866999816302, 37.799147000855776 ], [ -122.413881999988675, 37.799028000623089 ], [ -122.415582000039777, 37.79882800032351 ], [ -122.417182000133252, 37.798628000841475 ], [ -122.417282000071566, 37.799128001053475 ], [ -122.41738199961479, 37.799528000899343 ], [ -122.417481999765712, 37.80002800087528 ], [ -122.417482000251866, 37.800428000900894 ], [ -122.417582999628621, 37.800883000606085 ], [ -122.417681999989625, 37.801328001107237 ], [ -122.41778199981789, 37.801928000894712 ], [ -122.417881999954119, 37.802328001053105 ], [ -122.417981999771357, 37.803228000234242 ], [ -122.418181999481675, 37.804228000281071 ], [ -122.418382000320932, 37.805128000592823 ], [ -122.418581999992497, 37.806128000576301 ], [ -122.418081999422881, 37.806128000423968 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 37, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.402881999724784, 37.797528000659227 ], [ -122.403481999447621, 37.797428000766743 ], [ -122.404081999841821, 37.797328000518377 ], [ -122.404847999954839, 37.797258000464872 ], [ -122.405182000232742, 37.797228000857075 ], [ -122.405981999420518, 37.797728000523193 ], [ -122.406477999724018, 37.797993000284514 ], [ -122.40708200030285, 37.798428001135058 ], [ -122.407582000426061, 37.798828000888449 ], [ -122.40888200025681, 37.799628000785894 ], [ -122.410081999583795, 37.800428000265214 ], [ -122.410881999779107, 37.801128000341251 ], [ -122.411281999748638, 37.801228001022785 ], [ -122.410882000359706, 37.801328000713532 ], [ -122.409282000349791, 37.801528000809192 ], [ -122.40898200011398, 37.801528000422785 ], [ -122.408481999993171, 37.80162800035329 ], [ -122.408081999908717, 37.801628000255853 ], [ -122.407782000494237, 37.80172800058439 ], [ -122.407282000297869, 37.801728000656297 ], [ -122.406881999692402, 37.801728000986117 ], [ -122.406481999693014, 37.801828001017483 ], [ -122.406181999417029, 37.801828000706237 ], [ -122.405981999491758, 37.800928000438304 ], [ -122.405781999728191, 37.800028000612961 ], [ -122.405694000515652, 37.799588000248434 ], [ -122.405581999559971, 37.799028001030415 ], [ -122.403982000136324, 37.799228000540154 ], [ -122.403481999841048, 37.799228000762412 ], [ -122.403282000374432, 37.799328000263152 ], [ -122.402882000291228, 37.799328000576125 ], [ -122.402382000138161, 37.79942800081156 ], [ -122.402082000394728, 37.798528001069009 ], [ -122.402082000319865, 37.798228000490525 ], [ -122.401982000113293, 37.797528000755513 ], [ -122.402881999724784, 37.797528000659227 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 35, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.416382000035426, 37.794928001093403 ], [ -122.416582000175808, 37.795728000903736 ], [ -122.416681999868715, 37.796028000347171 ], [ -122.416682000367828, 37.796228000942861 ], [ -122.416781999593184, 37.796728000854692 ], [ -122.41688200019081, 37.797128000370975 ], [ -122.416981999621427, 37.797628000948059 ], [ -122.417182000133252, 37.798628000841475 ], [ -122.415582000039777, 37.79882800032351 ], [ -122.413881999988675, 37.799028000623089 ], [ -122.412866999816302, 37.799147000855776 ], [ -122.412181999980689, 37.799228000687485 ], [ -122.411981999535328, 37.798228000736877 ], [ -122.411951000350498, 37.798073001110666 ], [ -122.411792000411722, 37.797309000415531 ], [ -122.411581999899198, 37.796428000814117 ], [ -122.411454999982382, 37.795931000960003 ], [ -122.411382000332239, 37.795528000615072 ], [ -122.411282999636228, 37.795083000843555 ], [ -122.411181999791978, 37.794628000852725 ], [ -122.411678000057876, 37.794540000782064 ], [ -122.412881999917374, 37.794328000893707 ], [ -122.414582000332814, 37.79412800099972 ], [ -122.415281999766847, 37.794128000846065 ], [ -122.415782000383246, 37.794028000571572 ], [ -122.416182000512691, 37.794028000524214 ], [ -122.416382000035426, 37.794928001093403 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 33, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.417281999890804, 37.79662800061638 ], [ -122.416781999593184, 37.796728000854692 ], [ -122.416682000367828, 37.796228000942861 ], [ -122.416681999868715, 37.796028000347171 ], [ -122.416582000175808, 37.795728000903736 ], [ -122.416382000035426, 37.794928001093403 ], [ -122.416182000512691, 37.794028000524214 ], [ -122.416082000471306, 37.793028000891447 ], [ -122.41641199941391, 37.793007000467121 ], [ -122.417681999977546, 37.792928000665967 ], [ -122.418881999993587, 37.792728000645724 ], [ -122.419382000006379, 37.792628000340038 ], [ -122.420982000293307, 37.792528000314128 ], [ -122.422382000462648, 37.792228000559582 ], [ -122.422582000277473, 37.79222800029914 ], [ -122.422782000234704, 37.793028000958643 ], [ -122.422881999631585, 37.793928000246311 ], [ -122.423081999607177, 37.79482800054091 ], [ -122.423282000389449, 37.795828000711197 ], [ -122.422382000113657, 37.796028000552425 ], [ -122.421682000311776, 37.796128000792372 ], [ -122.420082000167511, 37.796328000407961 ], [ -122.419182000429061, 37.796428000673593 ], [ -122.418481999446684, 37.796528000786793 ], [ -122.417281999890804, 37.79662800061638 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 28, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.410681999569903, 37.791828000289392 ], [ -122.411098000387554, 37.791786000914179 ], [ -122.411681999711107, 37.791728000811638 ], [ -122.412381999480061, 37.791628000338932 ], [ -122.41408199942822, 37.79142800105609 ], [ -122.414464000163775, 37.791380000927447 ], [ -122.415682000333391, 37.791228000455312 ], [ -122.415782000464006, 37.791628000327947 ], [ -122.415823000079882, 37.791874000830063 ], [ -122.415882000129784, 37.792228000810837 ], [ -122.416082000471306, 37.793028000891447 ], [ -122.416182000512691, 37.794028000524214 ], [ -122.415782000383246, 37.794028000571572 ], [ -122.415281999766847, 37.794128000846065 ], [ -122.414582000332814, 37.79412800099972 ], [ -122.412881999917374, 37.794328000893707 ], [ -122.411678000057876, 37.794540000782064 ], [ -122.411181999791978, 37.794628000852725 ], [ -122.410482000312371, 37.794628000963073 ], [ -122.409981999980886, 37.79472800032778 ], [ -122.409682000469786, 37.794828000305195 ], [ -122.409481999629506, 37.793928000328442 ], [ -122.409444000099953, 37.793586000798264 ], [ -122.40938200044306, 37.793028001022257 ], [ -122.409266999630447, 37.792453000808131 ], [ -122.40918199998778, 37.792028000864072 ], [ -122.410681999569903, 37.791828000289392 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 25, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.408384000102913, 37.796789000689536 ], [ -122.407682000362087, 37.796828000732617 ], [ -122.407381999844915, 37.796828000840421 ], [ -122.407220000007939, 37.796855001135221 ], [ -122.406781999914529, 37.796928000811555 ], [ -122.406481999690655, 37.797028000666387 ], [ -122.405182000232742, 37.797228000857075 ], [ -122.404982000246562, 37.7963280009808 ], [ -122.404954999959557, 37.796058000955064 ], [ -122.404881999765394, 37.795328000832747 ], [ -122.404782000359276, 37.79492800025232 ], [ -122.404681999725028, 37.79452800045884 ], [ -122.405682000182907, 37.794328000458684 ], [ -122.406281999796931, 37.794228000571081 ], [ -122.406782000521531, 37.794128000686044 ], [ -122.407287000362388, 37.79407000051016 ], [ -122.407782000443873, 37.794028001124943 ], [ -122.40798199954429, 37.795028000567179 ], [ -122.408181999720298, 37.795928001066784 ], [ -122.408384000102913, 37.796789000689536 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 24, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.404782000359276, 37.79492800025232 ], [ -122.404881999765394, 37.795328000832747 ], [ -122.404954999959557, 37.796058000955064 ], [ -122.404982000246562, 37.7963280009808 ], [ -122.405182000232742, 37.797228000857075 ], [ -122.404847999954839, 37.797258000464872 ], [ -122.404081999841821, 37.797328000518377 ], [ -122.403481999447621, 37.797428000766743 ], [ -122.402881999724784, 37.797528000659227 ], [ -122.401982000113293, 37.797528000755513 ], [ -122.400782000291301, 37.797728001099991 ], [ -122.400582000225668, 37.796828000314406 ], [ -122.400481999998902, 37.795928000548308 ], [ -122.400381999715108, 37.795528000853089 ], [ -122.400282000173235, 37.795028000813488 ], [ -122.400181999846311, 37.794628000895464 ], [ -122.400082000514502, 37.794128000620141 ], [ -122.401281999466121, 37.793928000779829 ], [ -122.402182000177163, 37.793828001113312 ], [ -122.402881999796506, 37.793828000725838 ], [ -122.403882000107302, 37.793628000643395 ], [ -122.404482000156051, 37.793628000273159 ], [ -122.404581999697257, 37.794028000283731 ], [ -122.404681999725028, 37.79452800045884 ], [ -122.404782000359276, 37.79492800025232 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 29, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.40918199998778, 37.792028000864072 ], [ -122.408781999875387, 37.792128000942647 ], [ -122.408281999625885, 37.79212800096979 ], [ -122.407982000462283, 37.792228000296362 ], [ -122.407381999992211, 37.792328000822266 ], [ -122.407316000009075, 37.791668001070988 ], [ -122.407282000205598, 37.791328001049322 ], [ -122.407082000176032, 37.790728000345723 ], [ -122.406977999707237, 37.790316000952018 ], [ -122.407381999766955, 37.790328000419457 ], [ -122.407782000235215, 37.790328000888131 ], [ -122.408581999836244, 37.790228000990908 ], [ -122.410281999444251, 37.790128000910265 ], [ -122.411125000161462, 37.789988000509346 ], [ -122.412082000331523, 37.789828000481087 ], [ -122.413682000360652, 37.789629000303343 ], [ -122.414519000204237, 37.789524000369511 ], [ -122.415281999792541, 37.789429000435163 ], [ -122.415481999449426, 37.790329000448629 ], [ -122.415582000118036, 37.790828000473979 ], [ -122.415610999969516, 37.790944000550759 ], [ -122.415682000333391, 37.791228000455312 ], [ -122.414464000163775, 37.791380000927447 ], [ -122.41408199942822, 37.79142800105609 ], [ -122.412381999480061, 37.791628000338932 ], [ -122.411681999711107, 37.791728000811638 ], [ -122.411098000387554, 37.791786000914179 ], [ -122.410681999569903, 37.791828000289392 ], [ -122.40918199998778, 37.792028000864072 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 6, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.415082000298369, 37.788529000864003 ], [ -122.415281999792541, 37.789429000435163 ], [ -122.414519000204237, 37.789524000369511 ], [ -122.413682000360652, 37.789629000303343 ], [ -122.412082000331523, 37.789828000481087 ], [ -122.411125000161462, 37.789988000509346 ], [ -122.410281999444251, 37.790128000910265 ], [ -122.408581999836244, 37.790228000990908 ], [ -122.408561999411219, 37.789897000790972 ], [ -122.408482000067195, 37.789328000410634 ], [ -122.408382000284988, 37.788329000583346 ], [ -122.409982000184854, 37.788229000904309 ], [ -122.411681999973496, 37.788029000749034 ], [ -122.412182000487533, 37.78792900110885 ], [ -122.412496999747077, 37.787864000535578 ], [ -122.412764999994792, 37.787813001080401 ], [ -122.413281999831142, 37.787729000433309 ], [ -122.414782000374458, 37.787529000364657 ], [ -122.415082000298369, 37.788529000864003 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 30, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.419382000088177, 37.784129000420378 ], [ -122.420945000318127, 37.783921001120774 ], [ -122.421021999858667, 37.784352000939073 ], [ -122.421100000314937, 37.784856001009118 ], [ -122.421201999429016, 37.785336000690265 ], [ -122.421282000315486, 37.785829000872951 ], [ -122.421372999952652, 37.786246000533147 ], [ -122.421482000079365, 37.786729000468526 ], [ -122.419892999415055, 37.786920000640102 ], [ -122.418236999702771, 37.787135001070297 ], [ -122.416979000200172, 37.787290000290874 ], [ -122.416581000465186, 37.78733400064759 ], [ -122.414782000374458, 37.787529000364657 ], [ -122.414682000115477, 37.786629000790931 ], [ -122.414581999868147, 37.78572900100405 ], [ -122.414377999554858, 37.785049000733331 ], [ -122.414282000472554, 37.78472900062539 ], [ -122.415181999641334, 37.784629001093101 ], [ -122.416081999830539, 37.78452900099002 ], [ -122.417681999794397, 37.784329000418182 ], [ -122.419382000088177, 37.784129000420378 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 8, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.41193499972546, 37.78502900055981 ], [ -122.411082000072469, 37.785129001072136 ], [ -122.409381999652169, 37.785429000536624 ], [ -122.408582000372974, 37.785429000279152 ], [ -122.408482000038703, 37.785429000313513 ], [ -122.40778200035632, 37.785529000429278 ], [ -122.407581999569942, 37.784629000486547 ], [ -122.407535999437883, 37.784536000859596 ], [ -122.407482000347002, 37.784429000583053 ], [ -122.40798199941274, 37.784029001038178 ], [ -122.408609999906275, 37.783479000320177 ], [ -122.408781999701901, 37.78332900112823 ], [ -122.408953000361535, 37.783195000349117 ], [ -122.409979000356714, 37.782388000685486 ], [ -122.410181999565467, 37.782229000911578 ], [ -122.410382000181244, 37.782129000944849 ], [ -122.41172600001498, 37.780977000723496 ], [ -122.411781999951515, 37.780929000636263 ], [ -122.412382000522697, 37.78042900026427 ], [ -122.413181999500068, 37.779829000977628 ], [ -122.413481999917536, 37.780029000498892 ], [ -122.41358200049234, 37.780929001113414 ], [ -122.41378199943874, 37.781929000268107 ], [ -122.413982000495338, 37.782829000238436 ], [ -122.414281999858687, 37.78382900076037 ], [ -122.414282000472554, 37.78472900062539 ], [ -122.412781999666734, 37.784929000914431 ], [ -122.41193499972546, 37.78502900055981 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 51, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.442481999760915, 37.806828001036187 ], [ -122.442282000286838, 37.806628000248502 ], [ -122.442181999970686, 37.805828000756918 ], [ -122.441982000230084, 37.804928000369323 ], [ -122.441982000101547, 37.804428000856092 ], [ -122.441981999517949, 37.804028000672069 ], [ -122.441881999464755, 37.80372800111072 ], [ -122.441781999504741, 37.803028000305709 ], [ -122.441682000090509, 37.802628000238379 ], [ -122.441482000104628, 37.802128000692157 ], [ -122.441482000400185, 37.801128000274169 ], [ -122.441081999564389, 37.800228000241724 ], [ -122.442781999402513, 37.799928000824401 ], [ -122.444481999987488, 37.799728000610635 ], [ -122.445982000213988, 37.799528000767225 ], [ -122.447381999451238, 37.799428000736633 ], [ -122.447682000323212, 37.800428000713033 ], [ -122.44768199958196, 37.800728000877378 ], [ -122.447682000035655, 37.801728000728552 ], [ -122.448782000238651, 37.801928000636728 ], [ -122.449481999516635, 37.803028000335367 ], [ -122.447981999558152, 37.805028001127113 ], [ -122.448181999500221, 37.806428000975352 ], [ -122.448182000369997, 37.806928000455045 ], [ -122.448281999488003, 37.80732800024942 ], [ -122.447081999925175, 37.807428001100469 ], [ -122.446082000357265, 37.807628000393898 ], [ -122.445282000028939, 37.807628000724996 ], [ -122.443781999691112, 37.807828000773398 ], [ -122.443782000215649, 37.807668000425558 ], [ -122.443781999528326, 37.807528001013516 ], [ -122.447381999546423, 37.80632800093305 ], [ -122.447081999923412, 37.805428000502722 ], [ -122.442582000170418, 37.806028000989862 ], [ -122.442682000197919, 37.806528000332371 ], [ -122.443881999966948, 37.806428001002047 ], [ -122.442691999506067, 37.806768000427823 ], [ -122.442481999760915, 37.806828001036187 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 44, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.424382000046421, 37.801428000312676 ], [ -122.424182000472285, 37.800528000413991 ], [ -122.423981999928515, 37.799628000951714 ], [ -122.425782000348846, 37.79932800044908 ], [ -122.426644000102797, 37.799220001081657 ], [ -122.427382000371864, 37.79912800028746 ], [ -122.428981999816486, 37.798928000889006 ], [ -122.430681999679194, 37.798628000331554 ], [ -122.432381999888619, 37.798428000747499 ], [ -122.432981999770064, 37.798428000456219 ], [ -122.433282000279519, 37.798428000969921 ], [ -122.433981999474909, 37.798228000919963 ], [ -122.43568200002791, 37.798028000510918 ], [ -122.435782000193058, 37.798528000795635 ], [ -122.435882000000859, 37.798928000623022 ], [ -122.435982000381017, 37.799428000671377 ], [ -122.43608199979596, 37.799928000592388 ], [ -122.43618199959765, 37.80082800071694 ], [ -122.436482000319714, 37.802728000394303 ], [ -122.434881999801291, 37.802928000383758 ], [ -122.433282000203093, 37.803228000492908 ], [ -122.431681999777496, 37.803428001102397 ], [ -122.429981999945113, 37.803628000857216 ], [ -122.428282000151484, 37.803828000376889 ], [ -122.427882000339494, 37.803828000780477 ], [ -122.426681999753598, 37.804028000563946 ], [ -122.425643999735655, 37.804211000628676 ], [ -122.424981999666798, 37.804328000349891 ], [ -122.424781999954888, 37.803328000747939 ], [ -122.424581999786923, 37.802428000879672 ], [ -122.424382000046421, 37.801428000312676 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 46, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.428782000069148, 37.789729000846336 ], [ -122.428981999896408, 37.790429000980815 ], [ -122.429182000312849, 37.791329000675766 ], [ -122.429381999759997, 37.79222900080709 ], [ -122.429481999620506, 37.793228001130707 ], [ -122.429596000433804, 37.79368400063143 ], [ -122.429682000510653, 37.794028001012883 ], [ -122.429881999719669, 37.79502800030248 ], [ -122.43008200043559, 37.795828001094414 ], [ -122.428382000486735, 37.796028001096943 ], [ -122.426782000450515, 37.796328001089485 ], [ -122.425182000289936, 37.79652800059737 ], [ -122.423481999820837, 37.796728000969999 ], [ -122.423282000389449, 37.795828000711197 ], [ -122.423081999607177, 37.79482800054091 ], [ -122.422881999631585, 37.793928000246311 ], [ -122.422782000234704, 37.793028000958643 ], [ -122.422582000277473, 37.79222800029914 ], [ -122.422382000137546, 37.791429000561536 ], [ -122.422281999855301, 37.791029000752651 ], [ -122.422181999858779, 37.790429000907416 ], [ -122.422382000498345, 37.79042900097464 ], [ -122.423882000003644, 37.790229000593392 ], [ -122.425482000389081, 37.790029000973519 ], [ -122.427181999741862, 37.789829000732695 ], [ -122.428782000069148, 37.789729000846336 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 71, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.459393999915207, 37.788446000396362 ], [ -122.459481999606155, 37.789329000716108 ], [ -122.459382000025741, 37.789829000929117 ], [ -122.458481999432607, 37.790029000601805 ], [ -122.457382000421759, 37.790229000804096 ], [ -122.455782000254416, 37.790529000952603 ], [ -122.454182000522891, 37.790729000400376 ], [ -122.452581999539703, 37.791029000249097 ], [ -122.450881999947981, 37.791329000799344 ], [ -122.449082000287603, 37.791529000802534 ], [ -122.447481999955869, 37.791729001028806 ], [ -122.446281999748123, 37.791929000683965 ], [ -122.446082000339857, 37.791029000604802 ], [ -122.445882000500717, 37.790229000586855 ], [ -122.445882000201664, 37.789329000314623 ], [ -122.445581999765551, 37.788429000965039 ], [ -122.445381999582693, 37.787529001021952 ], [ -122.446682000410732, 37.78722900066267 ], [ -122.448381999717299, 37.787129001056307 ], [ -122.449982000112129, 37.786829001056184 ], [ -122.451682000348001, 37.786629000948714 ], [ -122.453381999486282, 37.786429000605864 ], [ -122.45458199967031, 37.786229001113959 ], [ -122.454982000449064, 37.786229000786875 ], [ -122.455781999437704, 37.786129000821248 ], [ -122.456681999920889, 37.786029000527925 ], [ -122.456981999776644, 37.785929000273605 ], [ -122.45798199960953, 37.785829001105398 ], [ -122.459082000022818, 37.785729001016215 ], [ -122.459181999604255, 37.78662900081013 ], [ -122.459181999492912, 37.786929000918683 ], [ -122.459182000361608, 37.787529001095244 ], [ -122.459382000512434, 37.788329000955443 ], [ -122.459393999915207, 37.788446000396362 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 48, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.435281999668732, 37.788829001119502 ], [ -122.436982000310493, 37.788629000760821 ], [ -122.438582000075328, 37.788329000879834 ], [ -122.440381999467576, 37.788129000606858 ], [ -122.441981999899824, 37.787829000416721 ], [ -122.443681999648049, 37.787729001107529 ], [ -122.445381999582693, 37.787529001021952 ], [ -122.445581999765551, 37.788429000965039 ], [ -122.445882000201664, 37.789329000314623 ], [ -122.445882000500717, 37.790229000586855 ], [ -122.446082000339857, 37.791029000604802 ], [ -122.444281999939932, 37.791229000263421 ], [ -122.442781999771583, 37.791429000887433 ], [ -122.440981999895271, 37.791729001006381 ], [ -122.439382000394986, 37.791829000629448 ], [ -122.437781999698913, 37.792129001048892 ], [ -122.436081999432147, 37.792229000421763 ], [ -122.435782000489297, 37.79142900079885 ], [ -122.435681999716891, 37.7905290007633 ], [ -122.43558200009717, 37.789629000519646 ], [ -122.435482000171874, 37.789229000756876 ], [ -122.435281999668732, 37.788829001119502 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 75, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.422181999858779, 37.790429000907416 ], [ -122.422081999757751, 37.789629000965959 ], [ -122.42198199985539, 37.789129000359068 ], [ -122.421882000122693, 37.788729000976943 ], [ -122.421781999408793, 37.788129000577037 ], [ -122.421681999762583, 37.787729000966173 ], [ -122.4215820004042, 37.787229000781004 ], [ -122.421482000079365, 37.786729000468526 ], [ -122.421372999952652, 37.786246000533147 ], [ -122.421282000315486, 37.785829000872951 ], [ -122.421201999429016, 37.785336000690265 ], [ -122.421100000314937, 37.784856001009118 ], [ -122.422281999525651, 37.784729000584434 ], [ -122.422782000039106, 37.784629000845996 ], [ -122.423469999469049, 37.784962000584187 ], [ -122.423775000158557, 37.785219000895694 ], [ -122.424082000027681, 37.785329000872991 ], [ -122.424782000217476, 37.785229000268686 ], [ -122.424782000175284, 37.786229000839114 ], [ -122.425082000319847, 37.787329000438334 ], [ -122.425081999523158, 37.787729000546726 ], [ -122.425081999620232, 37.788229001100269 ], [ -122.425182000079062, 37.788629000561677 ], [ -122.42538200020941, 37.789129000507934 ], [ -122.425482000389081, 37.790029000973519 ], [ -122.423882000003644, 37.790229000593392 ], [ -122.422382000498345, 37.79042900097464 ], [ -122.422181999858779, 37.790429000907416 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 72, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.434681999731396, 37.785929000905384 ], [ -122.436481999866615, 37.785729000502279 ], [ -122.438081999450972, 37.785529000430081 ], [ -122.439881999793599, 37.785229000603877 ], [ -122.440250999684991, 37.785183000871569 ], [ -122.441482000094723, 37.785029000246887 ], [ -122.443081999818091, 37.7848290006567 ], [ -122.443281999798117, 37.785829000882323 ], [ -122.443482000461103, 37.786829000620187 ], [ -122.443681999648049, 37.787729001107529 ], [ -122.441981999899824, 37.787829000416721 ], [ -122.440381999467576, 37.788129000606858 ], [ -122.438582000075328, 37.788329000879834 ], [ -122.436982000310493, 37.788629000760821 ], [ -122.435281999668732, 37.788829001119502 ], [ -122.435182000338685, 37.787829000687168 ], [ -122.435082000333722, 37.787429000477893 ], [ -122.434982000053054, 37.786829000897356 ], [ -122.434681999731396, 37.785929000905384 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 74, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.437681999770447, 37.783629000811125 ], [ -122.439381999735701, 37.783429000391777 ], [ -122.440981999953692, 37.783229000335531 ], [ -122.442781999776244, 37.783029000665309 ], [ -122.442890000233959, 37.783891000296151 ], [ -122.443081999818091, 37.7848290006567 ], [ -122.441482000094723, 37.785029000246887 ], [ -122.440250999684991, 37.785183000871569 ], [ -122.439881999793599, 37.785229000603877 ], [ -122.438081999450972, 37.785529000430081 ], [ -122.436481999866615, 37.785729000502279 ], [ -122.434681999731396, 37.785929000905384 ], [ -122.433156000043567, 37.786116001095905 ], [ -122.431982000365906, 37.786329000881501 ], [ -122.431581999445228, 37.786329000629038 ], [ -122.429881999945195, 37.786529000785123 ], [ -122.428281999974416, 37.786829000684463 ], [ -122.426581999659064, 37.787029000904859 ], [ -122.425082000319847, 37.787329000438334 ], [ -122.424782000175284, 37.786229000839114 ], [ -122.424782000217476, 37.785229000268686 ], [ -122.42618199971821, 37.785129000599369 ], [ -122.427881999505757, 37.784929000538035 ], [ -122.429050000346024, 37.784783000652133 ], [ -122.429481999846701, 37.784729000987099 ], [ -122.43108199962586, 37.784529000399672 ], [ -122.432845000107733, 37.784228001038777 ], [ -122.43364199963753, 37.784136000913463 ], [ -122.434381999665035, 37.784029000647422 ], [ -122.436082000417485, 37.783829001051885 ], [ -122.437681999770447, 37.783629000811125 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1079, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.278335000143741, 37.956993000419082 ], [ -122.278680000522087, 37.957223001038763 ], [ -122.280326000031593, 37.958474000511707 ], [ -122.281179999558859, 37.959123000703514 ], [ -122.282279999776833, 37.959823000303395 ], [ -122.283879999653195, 37.9609230007569 ], [ -122.282680000209098, 37.961223000608712 ], [ -122.281680000275799, 37.961823000491016 ], [ -122.281380000363029, 37.962423000545265 ], [ -122.281880000288396, 37.963623000968774 ], [ -122.282027000341088, 37.964701000411758 ], [ -122.282180000248715, 37.96582300044026 ], [ -122.282280000245365, 37.966123000691319 ], [ -122.282580000119736, 37.966523000799185 ], [ -122.282979999608216, 37.966823000962719 ], [ -122.283480000210474, 37.967223000928499 ], [ -122.283733999644269, 37.967350000237396 ], [ -122.283879999405059, 37.967423000359183 ], [ -122.284277999944777, 37.967622000273174 ], [ -122.284679999738387, 37.967823000564628 ], [ -122.285379999505764, 37.968223000746825 ], [ -122.288080000324683, 37.971023000493666 ], [ -122.288588000358175, 37.971983000603693 ], [ -122.288979999939514, 37.972723000341119 ], [ -122.290379999582967, 37.974523000455008 ], [ -122.291180000429108, 37.976123001140344 ], [ -122.291580000024339, 37.976923001129634 ], [ -122.291680000305789, 37.977223000251058 ], [ -122.292179999573776, 37.977823000420564 ], [ -122.292579999923333, 37.978023000875432 ], [ -122.293680000126301, 37.978222000628527 ], [ -122.293980000390917, 37.978222000974085 ], [ -122.294679999524575, 37.978023000521013 ], [ -122.295680000472828, 37.977623000871169 ], [ -122.295879999407134, 37.978622000789244 ], [ -122.29718000009467, 37.981122000767961 ], [ -122.297179999983385, 37.981622000894099 ], [ -122.297266000158288, 37.982573000570099 ], [ -122.297279999396366, 37.98272200025189 ], [ -122.297479999769607, 37.983922001093347 ], [ -122.297979999490906, 37.985122000635975 ], [ -122.298079999598983, 37.985423000770616 ], [ -122.298379999537374, 37.986322000728727 ], [ -122.2987800002157, 37.986622000912341 ], [ -122.299079999749495, 37.987222000826876 ], [ -122.299080000105874, 37.988622000504641 ], [ -122.299079999991832, 37.990222000889034 ], [ -122.299080000419863, 37.99072200030411 ], [ -122.30087999945475, 37.992222000368926 ], [ -122.301639000419954, 37.9929230004632 ], [ -122.301939999665805, 37.993394000932959 ], [ -122.302477999900873, 37.994235000749079 ], [ -122.301958999923684, 37.994316000447675 ], [ -122.30157799989334, 37.994352000267064 ], [ -122.300977999455412, 37.994416000518328 ], [ -122.299442000396382, 37.994561000517841 ], [ -122.297080000332571, 37.994822001039147 ], [ -122.293779999742441, 37.995322000301485 ], [ -122.290879999474413, 37.995822000300699 ], [ -122.289748000023209, 37.996229000827526 ], [ -122.288379999990994, 37.996722000542135 ], [ -122.286679999820066, 37.997722001131883 ], [ -122.286409000304445, 37.997358001055446 ], [ -122.286357999937053, 37.99710500067939 ], [ -122.286179999814337, 37.996222000937841 ], [ -122.285979999998858, 37.993522000318833 ], [ -122.285679999963605, 37.991522000899337 ], [ -122.285579999442191, 37.990822001089995 ], [ -122.285479999577845, 37.99012200112481 ], [ -122.285380000370481, 37.989422001003817 ], [ -122.284679999891537, 37.988322000427964 ], [ -122.284179999713359, 37.98782200095723 ], [ -122.283479999662674, 37.987422000547646 ], [ -122.282879999555377, 37.986922000946763 ], [ -122.282279999590017, 37.986422000979445 ], [ -122.281679999766496, 37.985922000645687 ], [ -122.281080000075903, 37.98542200084681 ], [ -122.279779999992243, 37.984322000646188 ], [ -122.2790800000042, 37.983922001075193 ], [ -122.278779999771373, 37.983722000349879 ], [ -122.275780000042531, 37.982522000309039 ], [ -122.272979999616837, 37.981522000480858 ], [ -122.271179999632082, 37.981622000542245 ], [ -122.270680000149071, 37.981822000876164 ], [ -122.269580000275198, 37.982022000440828 ], [ -122.268479999819576, 37.982022000418759 ], [ -122.267279999796941, 37.981722000678346 ], [ -122.266835000284047, 37.981434000351975 ], [ -122.265579000104069, 37.980622000332872 ], [ -122.264378999658348, 37.979722000486966 ], [ -122.264057000196772, 37.97945400106029 ], [ -122.263779000361367, 37.979222000897764 ], [ -122.260578999605457, 37.978622000767544 ], [ -122.259878999894241, 37.978522000888425 ], [ -122.258778999526314, 37.978322000371513 ], [ -122.258078999662729, 37.978122000561086 ], [ -122.256742999521435, 37.977659000827899 ], [ -122.256668999959047, 37.977633000989577 ], [ -122.255478999553361, 37.977222000963948 ], [ -122.251379000276032, 37.975423000885435 ], [ -122.250479000086045, 37.973623000342947 ], [ -122.242879000492792, 37.970723000945995 ], [ -122.243378999852155, 37.964323000320299 ], [ -122.245378999446274, 37.96352300028753 ], [ -122.246191000247123, 37.96363400083824 ], [ -122.247707000325207, 37.963842000695756 ], [ -122.251406999659068, 37.964349001100956 ], [ -122.252678999661214, 37.964523001127844 ], [ -122.254190999410838, 37.964134000883242 ], [ -122.255548000256738, 37.963785000311468 ], [ -122.257367999739074, 37.963317001038291 ], [ -122.258671999471559, 37.962982000517904 ], [ -122.259679000325917, 37.962723000656261 ], [ -122.264019999835369, 37.959862000284765 ], [ -122.264079000056995, 37.959823000662276 ], [ -122.265179999710341, 37.959823000783302 ], [ -122.266279999968319, 37.959823000588443 ], [ -122.268379999672774, 37.958223000387548 ], [ -122.269180000055897, 37.957223000473469 ], [ -122.270279999550738, 37.95612300073639 ], [ -122.271379999674906, 37.955423000517854 ], [ -122.271980000099305, 37.954323000546097 ], [ -122.27248000025557, 37.953823000417522 ], [ -122.273179999863345, 37.953923000542957 ], [ -122.273780000107692, 37.954123000791611 ], [ -122.274580000224617, 37.954323001119498 ], [ -122.275080000371929, 37.954423000347738 ], [ -122.276570000364131, 37.955634000841506 ], [ -122.276680000485285, 37.955723000757978 ], [ -122.277079999928503, 37.956023000470964 ], [ -122.278080000250114, 37.956823000370882 ], [ -122.278335000143741, 37.956993000419082 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1077, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.319680999991022, 37.959323000719777 ], [ -122.320781000204576, 37.960623000861808 ], [ -122.318480999549863, 37.961023000984241 ], [ -122.317680999771468, 37.961423000694936 ], [ -122.317380999523394, 37.961823000542765 ], [ -122.316581000193878, 37.962023000419649 ], [ -122.315926999461567, 37.962078000566208 ], [ -122.315538999495615, 37.962110000475505 ], [ -122.315381000101141, 37.962123000456778 ], [ -122.31533799958568, 37.962183000771915 ], [ -122.315090000220451, 37.962531000530497 ], [ -122.314880999910571, 37.962823000524018 ], [ -122.31475599966123, 37.963571000773335 ], [ -122.314681000144134, 37.964023000896859 ], [ -122.314980999740442, 37.965223000365874 ], [ -122.313286999500804, 37.965638000375407 ], [ -122.309680999473258, 37.96652300029379 ], [ -122.30728100003877, 37.966723000666917 ], [ -122.30548000039272, 37.967223000857466 ], [ -122.303879999893724, 37.967523000260876 ], [ -122.30128000004872, 37.966723000974994 ], [ -122.299503999525868, 37.966040000950017 ], [ -122.297379999770087, 37.96522300031306 ], [ -122.29697999941429, 37.965023000650611 ], [ -122.295980000097359, 37.964723000576775 ], [ -122.294749000036489, 37.964205000348159 ], [ -122.294080000074686, 37.963923000912153 ], [ -122.293480000155441, 37.964023000900845 ], [ -122.291679999500559, 37.964123000447238 ], [ -122.291179999630657, 37.964023000395699 ], [ -122.290579999785734, 37.964023000431958 ], [ -122.290079999829175, 37.963923001118388 ], [ -122.289779999886562, 37.963823000507887 ], [ -122.289380000345787, 37.963823000323458 ], [ -122.288745999729883, 37.963674000755574 ], [ -122.287679999439192, 37.96342300055904 ], [ -122.286880000353023, 37.963223000780033 ], [ -122.284679999462284, 37.961323001116845 ], [ -122.283879999653195, 37.9609230007569 ], [ -122.282279999776833, 37.959823000303395 ], [ -122.281179999558859, 37.959123000703514 ], [ -122.280326000031593, 37.958474000511707 ], [ -122.278680000522087, 37.957223001038763 ], [ -122.278335000143741, 37.956993000419082 ], [ -122.278080000250114, 37.956823000370882 ], [ -122.277079999928503, 37.956023000470964 ], [ -122.276680000485285, 37.955723000757978 ], [ -122.276570000364131, 37.955634000841506 ], [ -122.275080000371929, 37.954423000347738 ], [ -122.274580000224617, 37.954323001119498 ], [ -122.273780000107692, 37.954123000791611 ], [ -122.273179999863345, 37.953923000542957 ], [ -122.27248000025557, 37.953823000417522 ], [ -122.271180000193723, 37.95272300030652 ], [ -122.270773000296998, 37.952102000566853 ], [ -122.26961500012186, 37.950334001033106 ], [ -122.269280000382437, 37.949823000697087 ], [ -122.268880000231675, 37.949223000574797 ], [ -122.268280000211234, 37.948423000635856 ], [ -122.268080000226036, 37.947823000336079 ], [ -122.267150000334681, 37.947072000477512 ], [ -122.265480000424716, 37.945723000918974 ], [ -122.265079999540333, 37.945373000987914 ], [ -122.264680000160993, 37.945023000602333 ], [ -122.263241000157933, 37.943435000585893 ], [ -122.265179999511119, 37.942223000812163 ], [ -122.272880000216773, 37.938424000627684 ], [ -122.264280000444344, 37.930124000474542 ], [ -122.255368000461289, 37.920734000469196 ], [ -122.254978999916133, 37.920324000598896 ], [ -122.261179999550251, 37.920924000359896 ], [ -122.263780000373814, 37.921324001048824 ], [ -122.270779999708537, 37.921124000699791 ], [ -122.270879999724329, 37.92452400066712 ], [ -122.278279999892447, 37.920724001012644 ], [ -122.279080000156085, 37.920324000641159 ], [ -122.280679999703722, 37.919524000514457 ], [ -122.278879999858447, 37.917224000263417 ], [ -122.276879999503706, 37.917624000283908 ], [ -122.27517999955289, 37.915924000701231 ], [ -122.272879999454034, 37.914924000684145 ], [ -122.271080000459321, 37.913624001035053 ], [ -122.271979999587643, 37.91272400088495 ], [ -122.273080000299089, 37.911724000316468 ], [ -122.273480000460182, 37.911524000929369 ], [ -122.27397999951117, 37.910924000976983 ], [ -122.2788630002144, 37.915525000528199 ], [ -122.279180000470433, 37.915824000780532 ], [ -122.278679999721305, 37.916124000738648 ], [ -122.279363999423666, 37.916656000850828 ], [ -122.279579999754731, 37.916824000677821 ], [ -122.280179999872786, 37.917324000807682 ], [ -122.280591000171626, 37.917461001030183 ], [ -122.28077999990586, 37.917524000616275 ], [ -122.281979999918804, 37.918624000258724 ], [ -122.281379999692518, 37.919024000973756 ], [ -122.281079999987142, 37.919224000617284 ], [ -122.282080000204687, 37.920224000782476 ], [ -122.282479999808515, 37.919924000655989 ], [ -122.282580000471995, 37.919924001056529 ], [ -122.285289999623913, 37.923455000778524 ], [ -122.28817999939794, 37.925124000357982 ], [ -122.288515999506259, 37.925490000663551 ], [ -122.289880000465132, 37.925824000717064 ], [ -122.291379999752593, 37.927124001045115 ], [ -122.290779999432317, 37.927624000554971 ], [ -122.291479999846445, 37.92842400068227 ], [ -122.290780000192754, 37.929024001008358 ], [ -122.291018999852426, 37.929428000553024 ], [ -122.292080000272549, 37.931224000718132 ], [ -122.293480000147426, 37.931624001012167 ], [ -122.294644999720973, 37.931771000950022 ], [ -122.295400000338233, 37.931507000278486 ], [ -122.29576599969495, 37.931978000292951 ], [ -122.29626800043269, 37.931747000601575 ], [ -122.296542000356411, 37.931985000597344 ], [ -122.296886999467588, 37.931782000688401 ], [ -122.297007999859758, 37.931892000682979 ], [ -122.298479999641998, 37.933224000705387 ], [ -122.304179999978317, 37.938124000638162 ], [ -122.304126999991766, 37.938336000665586 ], [ -122.304080000298896, 37.938524000732414 ], [ -122.303879999730384, 37.939924000807707 ], [ -122.307279999500537, 37.942724000654046 ], [ -122.308080999428569, 37.942524000970408 ], [ -122.30909599983832, 37.943201001040237 ], [ -122.309580999412617, 37.943524000693124 ], [ -122.310793000080764, 37.943443000643875 ], [ -122.311654999793035, 37.94400700064422 ], [ -122.311180999797728, 37.944323000339864 ], [ -122.31208100015003, 37.945223000540615 ], [ -122.311780999933717, 37.945523000867787 ], [ -122.311780999541682, 37.946823000493964 ], [ -122.311781000500588, 37.947023000417225 ], [ -122.312481000132038, 37.947323000996214 ], [ -122.314137999559051, 37.948669000282614 ], [ -122.315681000479117, 37.94992300067215 ], [ -122.316280999728562, 37.951123000998933 ], [ -122.316381000224538, 37.952423000386936 ], [ -122.316181000101821, 37.952923001072357 ], [ -122.318480999617364, 37.954223001050217 ], [ -122.318439000301368, 37.955146000554997 ], [ -122.318380999871849, 37.956423000687145 ], [ -122.318531999827286, 37.95677600053515 ], [ -122.318680999713422, 37.957123000480394 ], [ -122.318681000228977, 37.95722300030544 ], [ -122.318781000219602, 37.9577230007597 ], [ -122.318781000477401, 37.958123000902354 ], [ -122.318781000086162, 37.958423000312372 ], [ -122.319081000424362, 37.958923001114549 ], [ -122.319680999991022, 37.959323000719777 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1076, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.308080999826586, 37.938924000298506 ], [ -122.308008000105048, 37.938339000500186 ], [ -122.307981000121273, 37.938124001007367 ], [ -122.308347999837039, 37.938344000845092 ], [ -122.308480999924328, 37.938424000863613 ], [ -122.309236999721932, 37.938361000258972 ], [ -122.309337999407887, 37.938353000311771 ], [ -122.309680999637862, 37.938324000884585 ], [ -122.309732000316004, 37.938372000508537 ], [ -122.311080999930965, 37.939624001116151 ], [ -122.311880999580197, 37.939224000802028 ], [ -122.312280999541855, 37.939324000660527 ], [ -122.313080999436522, 37.939624000900082 ], [ -122.313980999447764, 37.939824000979705 ], [ -122.315280999991643, 37.939124000897706 ], [ -122.315880999532865, 37.93912400027039 ], [ -122.316380999487663, 37.939024000452243 ], [ -122.316780999953863, 37.938924001024844 ], [ -122.316899000346638, 37.93886500043471 ], [ -122.317181000483316, 37.938724001009824 ], [ -122.318080999781017, 37.94092400076795 ], [ -122.317780999491674, 37.940924000283765 ], [ -122.317980999642998, 37.942324000905955 ], [ -122.316981000047548, 37.943124000358431 ], [ -122.318280999849804, 37.943124000502003 ], [ -122.318481000366162, 37.943924000486966 ], [ -122.318680999526606, 37.944723000510287 ], [ -122.319581000386847, 37.94542300037741 ], [ -122.31965500013024, 37.945393000993619 ], [ -122.319795999544652, 37.945337000264502 ], [ -122.320081000301272, 37.945223000374575 ], [ -122.320481000189403, 37.945023000257855 ], [ -122.321380999617759, 37.946123000908798 ], [ -122.321881000125245, 37.947823000709427 ], [ -122.322081000107417, 37.948123000507046 ], [ -122.323381000214781, 37.949923001099748 ], [ -122.322881000244365, 37.9505230002978 ], [ -122.322580999613621, 37.951023000837225 ], [ -122.322481000041506, 37.951223000818516 ], [ -122.322281000387832, 37.951623000496902 ], [ -122.322280999452985, 37.952123001040022 ], [ -122.32338100051615, 37.952623000520781 ], [ -122.323581000281251, 37.952723000460267 ], [ -122.324581000001444, 37.953523001124154 ], [ -122.324080999773301, 37.954023000595477 ], [ -122.320574999709336, 37.954090000923692 ], [ -122.319406999828374, 37.954113000271718 ], [ -122.319072999433089, 37.954477000469879 ], [ -122.318940000007586, 37.954621000732566 ], [ -122.319055000321285, 37.95490000100331 ], [ -122.318716999590265, 37.955113000646875 ], [ -122.31851500024743, 37.955140000261956 ], [ -122.318439000301368, 37.955146000554997 ], [ -122.318480999617364, 37.954223001050217 ], [ -122.316181000101821, 37.952923001072357 ], [ -122.316381000224538, 37.952423000386936 ], [ -122.316280999728562, 37.951123000998933 ], [ -122.315681000479117, 37.94992300067215 ], [ -122.314137999559051, 37.948669000282614 ], [ -122.312481000132038, 37.947323000996214 ], [ -122.311781000500588, 37.947023000417225 ], [ -122.311780999541682, 37.946823000493964 ], [ -122.311780999933717, 37.945523000867787 ], [ -122.31208100015003, 37.945223000540615 ], [ -122.311180999797728, 37.944323000339864 ], [ -122.311654999793035, 37.94400700064422 ], [ -122.310793000080764, 37.943443000643875 ], [ -122.309580999412617, 37.943524000693124 ], [ -122.30909599983832, 37.943201001040237 ], [ -122.308080999428569, 37.942524000970408 ], [ -122.307279999500537, 37.942724000654046 ], [ -122.303879999730384, 37.939924000807707 ], [ -122.304080000298896, 37.938524000732414 ], [ -122.304126999991766, 37.938336000665586 ], [ -122.304179999978317, 37.938124000638162 ], [ -122.305479999599825, 37.938124000394907 ], [ -122.306608999712807, 37.938053000785253 ], [ -122.307079999439878, 37.938024000677423 ], [ -122.307080000523399, 37.938324000927935 ], [ -122.306679999477495, 37.938424000688691 ], [ -122.307080000366227, 37.938924000468653 ], [ -122.307580999896828, 37.939224000990876 ], [ -122.308080999826586, 37.938924000298506 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1081, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.317981000116845, 38.011522000806387 ], [ -122.317330999892761, 38.011758000893231 ], [ -122.31688099948181, 38.011922000403345 ], [ -122.316180999999091, 38.011922001030584 ], [ -122.314484000106816, 38.011616000857693 ], [ -122.314027999528633, 38.011534000804268 ], [ -122.313188999443597, 38.011383000860391 ], [ -122.31129699993717, 38.011043000329856 ], [ -122.311180999856717, 38.011022000796913 ], [ -122.310480999605375, 38.010822000405248 ], [ -122.311281000242815, 38.010722000455942 ], [ -122.313370999661402, 38.011084000376748 ], [ -122.313046000448892, 38.010329000664456 ], [ -122.312980000086412, 38.010176000784661 ], [ -122.313394999649333, 38.010173000799263 ], [ -122.313395000025793, 38.010065000397404 ], [ -122.313303999435277, 38.009603000273493 ], [ -122.313172999885168, 38.009331000781152 ], [ -122.312863999720548, 38.008998000368948 ], [ -122.313107000363289, 38.00901500036057 ], [ -122.31328999994156, 38.009042000593595 ], [ -122.313685999679876, 38.009158000817813 ], [ -122.313939999986871, 38.009204000454311 ], [ -122.314071999966458, 38.009204000809689 ], [ -122.314204000355318, 38.009174000350285 ], [ -122.314355999887198, 38.009133000954272 ], [ -122.314418999455043, 38.009110000966025 ], [ -122.314589000056003, 38.009046000281991 ], [ -122.315180999601182, 38.008722000695137 ], [ -122.315180999509352, 38.007822000270735 ], [ -122.315381000377016, 38.007122000449236 ], [ -122.315781000085195, 38.006222000729174 ], [ -122.315580999591262, 38.005722000980541 ], [ -122.315334999864632, 38.00510800045015 ], [ -122.314981000104424, 38.005222000371191 ], [ -122.313281000207311, 38.006222000815548 ], [ -122.312980999694474, 38.005722000331062 ], [ -122.312380999577286, 38.005022000265122 ], [ -122.315181000070126, 38.003822000248093 ], [ -122.31558099957158, 38.003637000980341 ], [ -122.316481000307164, 38.003222000385556 ], [ -122.317519999718925, 38.002876000791609 ], [ -122.317681000522086, 38.00282200059192 ], [ -122.317940000452325, 38.002692000862552 ], [ -122.318001000019223, 38.002662000629506 ], [ -122.320081000430079, 38.001622001066877 ], [ -122.320270999514449, 38.001533000828395 ], [ -122.320654000043021, 38.001353000614479 ], [ -122.32178100035604, 38.000822000849205 ], [ -122.322980999562162, 38.000122000560594 ], [ -122.323221999577939, 37.99992200060678 ], [ -122.325376000476282, 37.998135000377289 ], [ -122.32768100021616, 37.996222001014679 ], [ -122.331370999635837, 37.992853000500695 ], [ -122.332280999713959, 37.992022000680464 ], [ -122.33258099957439, 37.992222000514694 ], [ -122.334480999695188, 37.99382200033746 ], [ -122.335980999923805, 37.995422000815879 ], [ -122.33658099985027, 37.994722000516688 ], [ -122.337880999747995, 37.994822000292231 ], [ -122.338480999487388, 37.9966220009645 ], [ -122.337080999552597, 37.99692200078735 ], [ -122.337680999485201, 37.99872200039156 ], [ -122.337781000127222, 37.999122000704659 ], [ -122.334159999488122, 37.999922000460231 ], [ -122.33141800003051, 38.000528000919594 ], [ -122.33026099943342, 38.000783000820789 ], [ -122.329825000093578, 38.000879001098241 ], [ -122.329180999814042, 38.001022001016153 ], [ -122.329880999681777, 38.00222200051514 ], [ -122.33068100049384, 38.002422000545842 ], [ -122.329881000490829, 38.003322000666941 ], [ -122.32778100026556, 38.004022000429856 ], [ -122.319181000244384, 38.010522000408749 ], [ -122.317981000116845, 38.011522000806387 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1080, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.310381000203378, 37.997622000779387 ], [ -122.30958099940338, 37.996422000682756 ], [ -122.309180999570771, 37.995822000345605 ], [ -122.308480999558, 37.996322000857219 ], [ -122.307581000110588, 37.996922000431553 ], [ -122.306781000027854, 37.996622000340714 ], [ -122.303034999907098, 37.995626000683146 ], [ -122.302909999619388, 37.995257000915842 ], [ -122.302778000093625, 37.994868000780144 ], [ -122.302477999900873, 37.994235000749079 ], [ -122.303027999772311, 37.994129000859438 ], [ -122.303101999695784, 37.994115000959297 ], [ -122.303875999444429, 37.993942000389204 ], [ -122.304545999931264, 37.993751000489496 ], [ -122.305411999874948, 37.993487000292689 ], [ -122.306034999897179, 37.993287000746925 ], [ -122.307281000051162, 37.992922000820798 ], [ -122.307860999803182, 37.992598000410545 ], [ -122.308565999720273, 37.992143000776245 ], [ -122.309480000441923, 37.991486000975812 ], [ -122.310025000093916, 37.991095000630906 ], [ -122.310762999638939, 37.99056400088417 ], [ -122.311080999789809, 37.990322000501344 ], [ -122.312720000111085, 37.989226001054881 ], [ -122.313714000121934, 37.988481001103217 ], [ -122.314034999714309, 37.988203000497442 ], [ -122.314280999678417, 37.987922000324097 ], [ -122.314997000129779, 37.986889001110619 ], [ -122.315474999391668, 37.986181000595764 ], [ -122.315669999809572, 37.985892000942478 ], [ -122.315853999484105, 37.98558400023763 ], [ -122.315926999493911, 37.985462000846077 ], [ -122.315981000240456, 37.985322000574783 ], [ -122.316381000409791, 37.98562200067488 ], [ -122.316964000140402, 37.985891000284013 ], [ -122.317284999399391, 37.986039000572312 ], [ -122.317480000106471, 37.986129000879686 ], [ -122.317680999795797, 37.986222000865531 ], [ -122.317705999851626, 37.986374001064974 ], [ -122.317735000425941, 37.986549000701949 ], [ -122.317780999537405, 37.986822000977142 ], [ -122.322781000193132, 37.989022000631607 ], [ -122.326480999852805, 37.990522000957931 ], [ -122.32738099945152, 37.990822000405181 ], [ -122.32778100042988, 37.990222000441292 ], [ -122.330981000246013, 37.991722000942929 ], [ -122.332081000129165, 37.990622000309536 ], [ -122.333080999388997, 37.991122000888353 ], [ -122.332280999713959, 37.992022000680464 ], [ -122.331370999635837, 37.992853000500695 ], [ -122.32768100021616, 37.996222001014679 ], [ -122.325376000476282, 37.998135000377289 ], [ -122.323221999577939, 37.99992200060678 ], [ -122.322980999562162, 38.000122000560594 ], [ -122.32178100035604, 38.000822000849205 ], [ -122.320654000043021, 38.001353000614479 ], [ -122.320270999514449, 38.001533000828395 ], [ -122.320081000430079, 38.001622001066877 ], [ -122.318001000019223, 38.002662000629506 ], [ -122.317940000452325, 38.002692000862552 ], [ -122.317681000522086, 38.00282200059192 ], [ -122.317248999951232, 38.002460000344826 ], [ -122.316904999571591, 38.002186000875639 ], [ -122.316740000244408, 38.002133000972158 ], [ -122.318047999646794, 38.00143800048204 ], [ -122.31771200006726, 38.000905000982222 ], [ -122.317512000323006, 38.000951000544923 ], [ -122.31742400031014, 38.000951000832899 ], [ -122.317481000462237, 37.999703000917421 ], [ -122.317481000184742, 37.999603000912437 ], [ -122.317369999385477, 37.999401001125811 ], [ -122.316743000284774, 37.998536000243845 ], [ -122.315980999613842, 37.997422000671946 ], [ -122.315566999937332, 37.99751400053168 ], [ -122.315335999834645, 37.997565001062185 ], [ -122.315080999892814, 37.997622000849034 ], [ -122.314481000110362, 37.997622001003826 ], [ -122.31348100017307, 37.998022000820626 ], [ -122.313170000438802, 37.998200000902813 ], [ -122.312781000478211, 37.998422000642002 ], [ -122.312605000228132, 37.998522000399554 ], [ -122.312081000000617, 37.99882200074255 ], [ -122.311080999654649, 37.999122000706002 ], [ -122.310581000411361, 37.999222000653809 ], [ -122.310680999851243, 37.998122000270335 ], [ -122.310381000203378, 37.997622000779387 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1069, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.33068100049384, 38.002422000545842 ], [ -122.329880999681777, 38.00222200051514 ], [ -122.329180999814042, 38.001022001016153 ], [ -122.329825000093578, 38.000879001098241 ], [ -122.33026099943342, 38.000783000820789 ], [ -122.33141800003051, 38.000528000919594 ], [ -122.334159999488122, 37.999922000460231 ], [ -122.337781000127222, 37.999122000704659 ], [ -122.337680999485201, 37.99872200039156 ], [ -122.337080999552597, 37.99692200078735 ], [ -122.338480999487388, 37.9966220009645 ], [ -122.337880999747995, 37.994822000292231 ], [ -122.33658099985027, 37.994722000516688 ], [ -122.335980999923805, 37.995422000815879 ], [ -122.334480999695188, 37.99382200033746 ], [ -122.33258099957439, 37.992222000514694 ], [ -122.332280999713959, 37.992022000680464 ], [ -122.333080999388997, 37.991122000888353 ], [ -122.332081000129165, 37.990622000309536 ], [ -122.330981000246013, 37.991722000942929 ], [ -122.32778100042988, 37.990222000441292 ], [ -122.32738099945152, 37.990822000405181 ], [ -122.326480999852805, 37.990522000957931 ], [ -122.322781000193132, 37.989022000631607 ], [ -122.317780999537405, 37.986822000977142 ], [ -122.317735000425941, 37.986549000701949 ], [ -122.317705999851626, 37.986374001064974 ], [ -122.317680999795797, 37.986222000865531 ], [ -122.317480000106471, 37.986129000879686 ], [ -122.317284999399391, 37.986039000572312 ], [ -122.316964000140402, 37.985891000284013 ], [ -122.316381000409791, 37.98562200067488 ], [ -122.315981000240456, 37.985322000574783 ], [ -122.316043000349097, 37.985110000546292 ], [ -122.317380999498567, 37.980522000933192 ], [ -122.318490999502501, 37.977557001061442 ], [ -122.318744999759545, 37.976820000492424 ], [ -122.319440000192458, 37.97688000027204 ], [ -122.31968600004258, 37.976919000311383 ], [ -122.320732999444644, 37.977052000740777 ], [ -122.321380999559011, 37.977123000732639 ], [ -122.321881000103389, 37.977123000253705 ], [ -122.322980999965225, 37.977123000722784 ], [ -122.323681000325763, 37.977123000747099 ], [ -122.328580999494278, 37.976723000542947 ], [ -122.330780999534682, 37.977323001014277 ], [ -122.332881000332748, 37.978523000695418 ], [ -122.333429000406923, 37.978234000447209 ], [ -122.333709000376075, 37.978087000298558 ], [ -122.334074999774487, 37.977894000247268 ], [ -122.3347810004867, 37.977523001054522 ], [ -122.335180999897261, 37.977223000735144 ], [ -122.337681000283283, 37.976323001093434 ], [ -122.340380999990188, 37.975423000743767 ], [ -122.341780999917248, 37.975823000592477 ], [ -122.342481000441552, 37.976123001114971 ], [ -122.341680999508952, 37.977823000910007 ], [ -122.341381000238783, 37.978723000415968 ], [ -122.339280999599922, 37.981122000323452 ], [ -122.338981000289877, 37.981522000908136 ], [ -122.342181000356319, 37.981422000718915 ], [ -122.343181000484449, 37.981422000340437 ], [ -122.344881000464724, 37.981422000640549 ], [ -122.346181999773833, 37.981422000606649 ], [ -122.346405999393212, 37.981462000510675 ], [ -122.346517999880277, 37.981206000887028 ], [ -122.34808200012526, 37.981122000400511 ], [ -122.349038999475098, 37.980901000427195 ], [ -122.350681999403349, 37.980522000276217 ], [ -122.353112000352823, 37.980056000314669 ], [ -122.353282000501736, 37.980023001084511 ], [ -122.353488999426617, 37.979971000523477 ], [ -122.353681999599274, 37.979923000964206 ], [ -122.35396700027438, 37.978827000637814 ], [ -122.35695799972045, 37.967216001089923 ], [ -122.357070000327994, 37.967239001098029 ], [ -122.357283999899408, 37.967278000877783 ], [ -122.359054999698486, 37.967600000797212 ], [ -122.359181999747946, 37.967623000307796 ], [ -122.360440000327628, 37.967963000615356 ], [ -122.362881999444795, 37.968623000548625 ], [ -122.365582000299241, 37.968723001122044 ], [ -122.367081999714244, 37.968323000898593 ], [ -122.37638199955596, 37.967623000687965 ], [ -122.376482000007968, 37.967323001027999 ], [ -122.379982000379528, 37.969123000397786 ], [ -122.381982000303452, 37.971723000879265 ], [ -122.383481999992952, 37.975723000933563 ], [ -122.383182000421954, 37.976423000527632 ], [ -122.372182000453577, 37.974823000298471 ], [ -122.367381999933031, 37.978323001047642 ], [ -122.367782000426104, 37.979423000613941 ], [ -122.368982000404785, 37.98012300078522 ], [ -122.367982000025165, 37.9811220005762 ], [ -122.36718199991158, 37.979723000655369 ], [ -122.363282000380337, 37.98482200050843 ], [ -122.364782000196811, 37.985722000292924 ], [ -122.363381999596797, 37.986222000363455 ], [ -122.36428199989912, 37.987322000952943 ], [ -122.362581999476205, 37.986722000392525 ], [ -122.360282000477667, 37.99162200051471 ], [ -122.361281999609659, 37.99502200107581 ], [ -122.364582000025592, 37.997122000784643 ], [ -122.364981999901104, 37.996822000984366 ], [ -122.366381999934191, 37.999422000896665 ], [ -122.366528999515012, 37.999922000897094 ], [ -122.368581999586013, 38.006922000669235 ], [ -122.36738199989405, 38.012422000635553 ], [ -122.364582000022537, 38.012922001022154 ], [ -122.362482000111925, 38.009522000371682 ], [ -122.357382000082268, 38.00862200043445 ], [ -122.351781999913896, 38.0085220007511 ], [ -122.346581999528766, 38.0058220004642 ], [ -122.343181999534806, 38.003722000534424 ], [ -122.334980999712954, 38.00212200045776 ], [ -122.332080999541418, 38.002222001096413 ], [ -122.33068100049384, 38.002422000545842 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1071, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.344380999645708, 37.967723000950031 ], [ -122.344881000339996, 37.966223000269956 ], [ -122.345381000150169, 37.965123000815147 ], [ -122.34558099985334, 37.964123000387346 ], [ -122.345780999910261, 37.963323000947902 ], [ -122.345681000366042, 37.962923000546844 ], [ -122.347281000414327, 37.962623000900621 ], [ -122.347996000450891, 37.963063000383876 ], [ -122.348580999566366, 37.963423000818658 ], [ -122.351182000166276, 37.963323000485182 ], [ -122.351481999764061, 37.964523001105782 ], [ -122.352054000427856, 37.964370000651947 ], [ -122.352982000266636, 37.964123001030629 ], [ -122.355082000312422, 37.963923000701456 ], [ -122.355882000006872, 37.964423001136758 ], [ -122.355282000111842, 37.965023000600262 ], [ -122.355338999467037, 37.965212000731782 ], [ -122.355581999579229, 37.966023000887368 ], [ -122.356581999744577, 37.966923000768418 ], [ -122.356877999819872, 37.967041000921341 ], [ -122.357010000324195, 37.967078000869982 ], [ -122.35695799972045, 37.967216001089923 ], [ -122.35396700027438, 37.978827000637814 ], [ -122.353778000020327, 37.978792000424377 ], [ -122.353516999490608, 37.978802000735023 ], [ -122.353481999631029, 37.978923000673063 ], [ -122.351181999434914, 37.978523000736203 ], [ -122.351381999540081, 37.977823000481727 ], [ -122.351582000300638, 37.977123000696039 ], [ -122.351681999717059, 37.976523000586219 ], [ -122.352181999924866, 37.975423001053251 ], [ -122.351382000298045, 37.974723001000577 ], [ -122.35088200043144, 37.974123000824093 ], [ -122.350081999807117, 37.973423000877709 ], [ -122.349382000393291, 37.972723000638489 ], [ -122.348782000461043, 37.972023000970985 ], [ -122.348081999734148, 37.971523000484389 ], [ -122.347882000148772, 37.971123000659986 ], [ -122.347381000190836, 37.970623000351878 ], [ -122.346781000487354, 37.9700230009229 ], [ -122.346181000254504, 37.969423001108687 ], [ -122.346981000363513, 37.968223000752161 ], [ -122.34608099992947, 37.968023001030552 ], [ -122.34518099967319, 37.967923000517885 ], [ -122.344380999645708, 37.967723000950031 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1073, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.322680999528629, 37.966623000591042 ], [ -122.323191000503869, 37.96678400058034 ], [ -122.323480999624024, 37.967023000887167 ], [ -122.324480999699375, 37.968423001008006 ], [ -122.324281000263127, 37.968923000649568 ], [ -122.32278099982932, 37.969423000819639 ], [ -122.322680999945774, 37.970523000495206 ], [ -122.323980999762867, 37.97002300079857 ], [ -122.326081000067447, 37.969623000914495 ], [ -122.326780999752344, 37.969723000799732 ], [ -122.328881000334093, 37.968023000936277 ], [ -122.332280999632715, 37.967023000671517 ], [ -122.332781000157397, 37.966923000738902 ], [ -122.332780999802296, 37.966523000904715 ], [ -122.334081000336454, 37.966423000380125 ], [ -122.337081000456564, 37.968523000548544 ], [ -122.337281000273407, 37.969123000985888 ], [ -122.340134999466017, 37.971804000835007 ], [ -122.340581000029474, 37.97222300034425 ], [ -122.342281000501316, 37.972223000508137 ], [ -122.342481000108251, 37.973623001007645 ], [ -122.343281000114644, 37.973723000327709 ], [ -122.342580999786264, 37.975223000983249 ], [ -122.342481000441552, 37.976123001114971 ], [ -122.341780999917248, 37.975823000592477 ], [ -122.340380999990188, 37.975423000743767 ], [ -122.337681000283283, 37.976323001093434 ], [ -122.335180999897261, 37.977223000735144 ], [ -122.3347810004867, 37.977523001054522 ], [ -122.334074999774487, 37.977894000247268 ], [ -122.333709000376075, 37.978087000298558 ], [ -122.333429000406923, 37.978234000447209 ], [ -122.332881000332748, 37.978523000695418 ], [ -122.330780999534682, 37.977323001014277 ], [ -122.328580999494278, 37.976723000542947 ], [ -122.323681000325763, 37.977123000747099 ], [ -122.322980999965225, 37.977123000722784 ], [ -122.321881000103389, 37.977123000253705 ], [ -122.321380999559011, 37.977123000732639 ], [ -122.320732999444644, 37.977052000740777 ], [ -122.31968600004258, 37.976919000311383 ], [ -122.319440000192458, 37.97688000027204 ], [ -122.318744999759545, 37.976820000492424 ], [ -122.318911999521461, 37.976149000847613 ], [ -122.320034999707062, 37.972867000929988 ], [ -122.321103999583485, 37.970321000757068 ], [ -122.322680999528629, 37.966623000591042 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1067, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.355581999579229, 37.966023000887368 ], [ -122.355338999467037, 37.965212000731782 ], [ -122.355282000111842, 37.965023000600262 ], [ -122.355882000006872, 37.964423001136758 ], [ -122.355082000312422, 37.963923000701456 ], [ -122.352982000266636, 37.964123001030629 ], [ -122.352054000427856, 37.964370000651947 ], [ -122.351481999764061, 37.964523001105782 ], [ -122.351182000166276, 37.963323000485182 ], [ -122.348580999566366, 37.963423000818658 ], [ -122.347996000450891, 37.963063000383876 ], [ -122.347281000414327, 37.962623000900621 ], [ -122.345681000366042, 37.962923000546844 ], [ -122.345881000448372, 37.962123000760357 ], [ -122.34608099953806, 37.961623001066556 ], [ -122.346380999921081, 37.961023000646385 ], [ -122.346581000078785, 37.960623000798471 ], [ -122.347281000437647, 37.958723000958024 ], [ -122.347580999458259, 37.957323001047008 ], [ -122.347680999940394, 37.957023000479701 ], [ -122.346981000430432, 37.956923000721062 ], [ -122.346680999724597, 37.95682300072324 ], [ -122.346480999595641, 37.956223000448638 ], [ -122.346680999620375, 37.956323000862035 ], [ -122.346781000177117, 37.955823001051016 ], [ -122.346780999426301, 37.955023001111179 ], [ -122.346780999710532, 37.954123001056452 ], [ -122.346780999834252, 37.953223000864575 ], [ -122.347480999500718, 37.953223000815946 ], [ -122.347480999884752, 37.953023000749916 ], [ -122.347481000445981, 37.952723000638223 ], [ -122.347480999738423, 37.951823001100244 ], [ -122.347580999747208, 37.95112300095429 ], [ -122.347580999806794, 37.950623000592579 ], [ -122.347480999725775, 37.950323000973142 ], [ -122.350080999889144, 37.950323000530041 ], [ -122.352081999457155, 37.950423001011281 ], [ -122.353782000285406, 37.950423000786998 ], [ -122.355482000117547, 37.950423000325188 ], [ -122.357182000083512, 37.950423000533384 ], [ -122.357181999596648, 37.951023000358752 ], [ -122.357282000400858, 37.951723000390928 ], [ -122.35708199960176, 37.952023000297203 ], [ -122.357182000346114, 37.953423000871759 ], [ -122.356981999747205, 37.954223000834958 ], [ -122.356982000459041, 37.954723001126283 ], [ -122.357427000018276, 37.954763000650992 ], [ -122.357821000512502, 37.954799000533185 ], [ -122.358081999781376, 37.954823000236317 ], [ -122.358082000100552, 37.955123000401159 ], [ -122.358082000008693, 37.957323001133972 ], [ -122.358007999614344, 37.957986000819652 ], [ -122.357981999873402, 37.958223000791229 ], [ -122.3579820004217, 37.958823000759082 ], [ -122.357781999472337, 37.96102300081288 ], [ -122.357582000221399, 37.964823000777479 ], [ -122.357543000381739, 37.965003000829419 ], [ -122.357010000324195, 37.967078000869982 ], [ -122.356877999819872, 37.967041000921341 ], [ -122.356581999744577, 37.966923000768418 ], [ -122.355581999579229, 37.966023000887368 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1066, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.347281000437647, 37.958723000958024 ], [ -122.346581000078785, 37.960623000798471 ], [ -122.346380999921081, 37.961023000646385 ], [ -122.34608099953806, 37.961623001066556 ], [ -122.345881000448372, 37.962123000760357 ], [ -122.345681000366042, 37.962923000546844 ], [ -122.344637000166159, 37.963046000241178 ], [ -122.343981000021827, 37.963123000431828 ], [ -122.340381000083056, 37.961223001111229 ], [ -122.340881000391889, 37.961723000786115 ], [ -122.337881000466993, 37.962023000396783 ], [ -122.336780999698163, 37.962023000405956 ], [ -122.335781000310021, 37.96232300088171 ], [ -122.335281000227852, 37.962723000603297 ], [ -122.331581000075843, 37.962723000415963 ], [ -122.329380999561479, 37.962323001081579 ], [ -122.330881000348484, 37.959623000431272 ], [ -122.331037000317423, 37.958767000839195 ], [ -122.331057000060952, 37.958526001095748 ], [ -122.331002000466668, 37.958231000906096 ], [ -122.330956000455245, 37.958023000273819 ], [ -122.330932000266785, 37.957961000731494 ], [ -122.330863000110995, 37.957762001029479 ], [ -122.330832000117027, 37.957617000500704 ], [ -122.330080999900048, 37.956023001028754 ], [ -122.329088999554529, 37.954517000667877 ], [ -122.3285810002983, 37.953323000939548 ], [ -122.327580999748889, 37.951323000382224 ], [ -122.326676999415966, 37.949585000533929 ], [ -122.326280999559884, 37.948823001121518 ], [ -122.326770999708557, 37.948871000792373 ], [ -122.326815000463796, 37.94887400057209 ], [ -122.327281000521879, 37.948923000918391 ], [ -122.328181000417672, 37.948923000762314 ], [ -122.329481000105417, 37.94902300101262 ], [ -122.330581000077842, 37.949023000952252 ], [ -122.331481000028859, 37.949123000813117 ], [ -122.332381000369736, 37.94902300095513 ], [ -122.332580999842932, 37.9494230010583 ], [ -122.332781000042999, 37.950023000836993 ], [ -122.3332810000949, 37.950723000854602 ], [ -122.333481000045495, 37.951223000250003 ], [ -122.333481000154421, 37.951823001102476 ], [ -122.334580999962867, 37.952023000726108 ], [ -122.337080999474225, 37.952523000671334 ], [ -122.338381000016014, 37.953323000973555 ], [ -122.33888100027373, 37.953523000608442 ], [ -122.339380999958806, 37.953223000880293 ], [ -122.340081000398527, 37.952723000706484 ], [ -122.342126999563718, 37.95496400049997 ], [ -122.342181000044519, 37.955023000265108 ], [ -122.342280999879279, 37.955223000518949 ], [ -122.342881000210895, 37.955523000492214 ], [ -122.343680999693447, 37.955723000261052 ], [ -122.344481000115806, 37.955923000912442 ], [ -122.345481000304389, 37.956123000408802 ], [ -122.346480999595641, 37.956223000448638 ], [ -122.346680999724597, 37.95682300072324 ], [ -122.346981000430432, 37.956923000721062 ], [ -122.347680999940394, 37.957023000479701 ], [ -122.347580999458259, 37.957323001047008 ], [ -122.347281000437647, 37.958723000958024 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1075, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.318480999414675, 37.964523000439449 ], [ -122.314980999740442, 37.965223000365874 ], [ -122.314681000144134, 37.964023000896859 ], [ -122.31475599966123, 37.963571000773335 ], [ -122.314880999910571, 37.962823000524018 ], [ -122.315090000220451, 37.962531000530497 ], [ -122.31533799958568, 37.962183000771915 ], [ -122.315381000101141, 37.962123000456778 ], [ -122.315538999495615, 37.962110000475505 ], [ -122.315926999461567, 37.962078000566208 ], [ -122.316581000193878, 37.962023000419649 ], [ -122.317380999523394, 37.961823000542765 ], [ -122.317680999771468, 37.961423000694936 ], [ -122.318480999549863, 37.961023000984241 ], [ -122.320781000204576, 37.960623000861808 ], [ -122.319680999991022, 37.959323000719777 ], [ -122.319081000424362, 37.958923001114549 ], [ -122.318781000086162, 37.958423000312372 ], [ -122.318781000477401, 37.958123000902354 ], [ -122.318781000219602, 37.9577230007597 ], [ -122.318681000228977, 37.95722300030544 ], [ -122.318680999713422, 37.957123000480394 ], [ -122.318531999827286, 37.95677600053515 ], [ -122.318380999871849, 37.956423000687145 ], [ -122.318439000301368, 37.955146000554997 ], [ -122.31851500024743, 37.955140000261956 ], [ -122.318716999590265, 37.955113000646875 ], [ -122.319055000321285, 37.95490000100331 ], [ -122.318940000007586, 37.954621000732566 ], [ -122.319072999433089, 37.954477000469879 ], [ -122.319406999828374, 37.954113000271718 ], [ -122.320574999709336, 37.954090000923692 ], [ -122.324080999773301, 37.954023000595477 ], [ -122.324581000001444, 37.953523001124154 ], [ -122.323581000281251, 37.952723000460267 ], [ -122.32338100051615, 37.952623000520781 ], [ -122.322280999452985, 37.952123001040022 ], [ -122.322281000387832, 37.951623000496902 ], [ -122.322481000041506, 37.951223000818516 ], [ -122.322580999613621, 37.951023000837225 ], [ -122.322881000244365, 37.9505230002978 ], [ -122.323381000214781, 37.949923001099748 ], [ -122.323480999746806, 37.949623000321218 ], [ -122.324880999831109, 37.94912300099525 ], [ -122.325880999804198, 37.948823000991354 ], [ -122.326280999559884, 37.948823001121518 ], [ -122.326676999415966, 37.949585000533929 ], [ -122.327580999748889, 37.951323000382224 ], [ -122.3285810002983, 37.953323000939548 ], [ -122.329088999554529, 37.954517000667877 ], [ -122.330080999900048, 37.956023001028754 ], [ -122.330832000117027, 37.957617000500704 ], [ -122.330863000110995, 37.957762001029479 ], [ -122.330932000266785, 37.957961000731494 ], [ -122.330956000455245, 37.958023000273819 ], [ -122.331002000466668, 37.958231000906096 ], [ -122.331057000060952, 37.958526001095748 ], [ -122.331037000317423, 37.958767000839195 ], [ -122.330881000348484, 37.959623000431272 ], [ -122.329380999561479, 37.962323001081579 ], [ -122.329286000262456, 37.962433000657157 ], [ -122.329190000280633, 37.962568000476672 ], [ -122.328944000421657, 37.962796000411508 ], [ -122.328739999871658, 37.962948001060113 ], [ -122.328291000284224, 37.963218000712757 ], [ -122.327863000021068, 37.963462000405443 ], [ -122.327339000231916, 37.963741000634428 ], [ -122.326696999545561, 37.964044000236086 ], [ -122.326162000079407, 37.964314000518769 ], [ -122.325326999730635, 37.96472800073817 ], [ -122.324568000241314, 37.965149000790895 ], [ -122.323872000140952, 37.965512001023576 ], [ -122.323550999841473, 37.965706001020081 ], [ -122.323177000521966, 37.966035000739851 ], [ -122.322680999528629, 37.966623000591042 ], [ -122.322080999556306, 37.966423000542882 ], [ -122.321577999943571, 37.966279000914582 ], [ -122.321380999537965, 37.966223001026009 ], [ -122.32078100044663, 37.966123000355545 ], [ -122.320381000296635, 37.966123000997818 ], [ -122.318980999431531, 37.96492300083834 ], [ -122.318480999414675, 37.964523000439449 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1055, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.335380999835905, 37.94172400043346 ], [ -122.334881000155548, 37.94312400092992 ], [ -122.334881000139859, 37.943624000707295 ], [ -122.333980999803074, 37.94352400085647 ], [ -122.332980999598107, 37.943524000605812 ], [ -122.331881000016878, 37.943624000998199 ], [ -122.331080999760033, 37.943624000712106 ], [ -122.330080999477914, 37.943624001041428 ], [ -122.32888100052655, 37.943524000396593 ], [ -122.328981000290085, 37.943824000535365 ], [ -122.329681000005678, 37.945223000566024 ], [ -122.329880999854751, 37.945523000844581 ], [ -122.330781000421425, 37.947023000571512 ], [ -122.330780999486137, 37.947423000768289 ], [ -122.33108099974973, 37.947823000827576 ], [ -122.331481000028859, 37.949123000813117 ], [ -122.330581000077842, 37.949023000952252 ], [ -122.329481000105417, 37.94902300101262 ], [ -122.328181000417672, 37.948923000762314 ], [ -122.327281000521879, 37.948923000918391 ], [ -122.326815000463796, 37.94887400057209 ], [ -122.326770999708557, 37.948871000792373 ], [ -122.326280999559884, 37.948823001121518 ], [ -122.32528099999449, 37.946823000694479 ], [ -122.324580999674481, 37.945123000666847 ], [ -122.323980999961563, 37.94332400054234 ], [ -122.323962999448582, 37.943232000473458 ], [ -122.323928999997619, 37.942897000904416 ], [ -122.323946000382847, 37.942484000768502 ], [ -122.324021000468321, 37.942004000747644 ], [ -122.324180999414693, 37.941224000940061 ], [ -122.325087999752768, 37.939400000248604 ], [ -122.326160000058834, 37.937369000677251 ], [ -122.326325000146326, 37.937020001116259 ], [ -122.326497000290203, 37.936637000754978 ], [ -122.326591999501147, 37.936414000707053 ], [ -122.326652000192226, 37.936214000261458 ], [ -122.326724999804867, 37.936007000875463 ], [ -122.326751000034093, 37.935832000319934 ], [ -122.32678199981018, 37.935624000784955 ], [ -122.32678299998642, 37.935497001091512 ], [ -122.326772999875431, 37.935277000694299 ], [ -122.326732000386968, 37.934936000306472 ], [ -122.326680000225878, 37.934554000587369 ], [ -122.326576999696087, 37.934124000348838 ], [ -122.326483999569589, 37.933742001080908 ], [ -122.326281000347677, 37.933024000251919 ], [ -122.32608099966825, 37.932624000338144 ], [ -122.327480999785138, 37.932724000613639 ], [ -122.32768099941471, 37.932824000946169 ], [ -122.328081000213089, 37.932924000324711 ], [ -122.329080999715231, 37.933224001067927 ], [ -122.32988099981111, 37.933224001015162 ], [ -122.330281000442241, 37.933224000754784 ], [ -122.330781000204325, 37.933424000656629 ], [ -122.331580999396934, 37.933524001049889 ], [ -122.332280999428633, 37.933524000632708 ], [ -122.333281000413791, 37.933824000900195 ], [ -122.334181000020806, 37.933924000417001 ], [ -122.335180999975748, 37.934124000489312 ], [ -122.336280999870382, 37.934224000686974 ], [ -122.337080999716989, 37.934224000385491 ], [ -122.336680999801061, 37.935424001072619 ], [ -122.336380999594709, 37.936924000692038 ], [ -122.33608100039136, 37.93842400093159 ], [ -122.336024999746328, 37.938689000569902 ], [ -122.335380999835905, 37.94172400043346 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1064, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.357821000512502, 37.954799000533185 ], [ -122.357427000018276, 37.954763000650992 ], [ -122.356982000459041, 37.954723001126283 ], [ -122.356981999747205, 37.954223000834958 ], [ -122.357182000346114, 37.953423000871759 ], [ -122.35708199960176, 37.952023000297203 ], [ -122.357282000400858, 37.951723000390928 ], [ -122.357181999596648, 37.951023000358752 ], [ -122.357182000083512, 37.950423000533384 ], [ -122.355482000117547, 37.950423000325188 ], [ -122.353782000285406, 37.950423000786998 ], [ -122.352081999457155, 37.950423001011281 ], [ -122.350080999889144, 37.950323000530041 ], [ -122.347480999725775, 37.950323000973142 ], [ -122.347381000449502, 37.95002300035965 ], [ -122.347480999846638, 37.949323000979284 ], [ -122.347580999595763, 37.948823000742429 ], [ -122.347580999500906, 37.948523000413672 ], [ -122.347581000476879, 37.948123000859177 ], [ -122.34758100034044, 37.94782300049485 ], [ -122.347581000065546, 37.947323000755034 ], [ -122.34758099994491, 37.947123000486762 ], [ -122.347580999671948, 37.94672300083112 ], [ -122.34758099945239, 37.946423000395718 ], [ -122.347581000520947, 37.946024001125572 ], [ -122.347581000168944, 37.945624000494298 ], [ -122.347580999777307, 37.945224000737142 ], [ -122.347480999960339, 37.944524001073049 ], [ -122.347481, 37.944324000712484 ], [ -122.347380999676901, 37.943824000344527 ], [ -122.348480999568821, 37.943924000461386 ], [ -122.349281000355816, 37.943924000508297 ], [ -122.350280999585138, 37.943824000815361 ], [ -122.352082000362344, 37.943824000965236 ], [ -122.35388199977352, 37.943824000491439 ], [ -122.355581999640734, 37.943924000974619 ], [ -122.35748200019431, 37.943824000751157 ], [ -122.35758199953554, 37.944024001085012 ], [ -122.357981999506464, 37.943524000276248 ], [ -122.358281999741095, 37.94342400078321 ], [ -122.358741999845634, 37.944405001103249 ], [ -122.359080999667754, 37.945541000387209 ], [ -122.359281999695085, 37.946224000628931 ], [ -122.35948200014893, 37.947024000648135 ], [ -122.359881999976579, 37.948523000590185 ], [ -122.360182000439536, 37.950523000598949 ], [ -122.358882000321628, 37.952023000649653 ], [ -122.358582000488084, 37.952923000390435 ], [ -122.358382000102992, 37.954423000653911 ], [ -122.358081999781376, 37.954823000236317 ], [ -122.357821000512502, 37.954799000533185 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1057, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.347581000394896, 37.942224000368597 ], [ -122.347581000179744, 37.941424000373082 ], [ -122.347681000275699, 37.940924000249019 ], [ -122.347580999575158, 37.93992400031555 ], [ -122.347580999655307, 37.938424000784664 ], [ -122.347581000225745, 37.937724000576601 ], [ -122.347581000428121, 37.936924000879188 ], [ -122.347580999647107, 37.935824001000974 ], [ -122.348581000421603, 37.935724000821779 ], [ -122.349581000397436, 37.935724000576549 ], [ -122.350581000225361, 37.935824000283624 ], [ -122.351481000471665, 37.936024000438785 ], [ -122.35226000025078, 37.935953000588981 ], [ -122.35258099994212, 37.935924000914888 ], [ -122.353881999462132, 37.937124000788259 ], [ -122.354982000262567, 37.938524000945414 ], [ -122.356181999887625, 37.940124000368868 ], [ -122.35678699978763, 37.941075000600947 ], [ -122.357581999999013, 37.942324000434084 ], [ -122.358129999939379, 37.943185000862954 ], [ -122.358281999741095, 37.94342400078321 ], [ -122.357981999506464, 37.943524000276248 ], [ -122.35758199953554, 37.944024001085012 ], [ -122.35748200019431, 37.943824000751157 ], [ -122.355581999640734, 37.943924000974619 ], [ -122.35388199977352, 37.943824000491439 ], [ -122.352082000362344, 37.943824000965236 ], [ -122.350280999585138, 37.943824000815361 ], [ -122.349281000355816, 37.943924000508297 ], [ -122.348480999568821, 37.943924000461386 ], [ -122.347380999676901, 37.943824000344527 ], [ -122.347581000045679, 37.9435240003532 ], [ -122.347380999734028, 37.942924000369345 ], [ -122.347581000036328, 37.942724000533744 ], [ -122.347581000394896, 37.942224000368597 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1063, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.357581999999013, 37.942324000434084 ], [ -122.35678699978763, 37.941075000600947 ], [ -122.356181999887625, 37.940124000368868 ], [ -122.354982000262567, 37.938524000945414 ], [ -122.353881999462132, 37.937124000788259 ], [ -122.35258099994212, 37.935924000914888 ], [ -122.354182000274051, 37.935724000733423 ], [ -122.35528200020731, 37.935724000625243 ], [ -122.356181999674348, 37.935724001078107 ], [ -122.357181999665102, 37.935824000592575 ], [ -122.357182000160321, 37.936924000983041 ], [ -122.358181999744744, 37.936924000693516 ], [ -122.358981999910966, 37.937024000654958 ], [ -122.35998199979889, 37.93702400039453 ], [ -122.360882000450189, 37.936924000637951 ], [ -122.361782000004112, 37.936924000666153 ], [ -122.362882000016867, 37.936924000767554 ], [ -122.363781999656823, 37.936924000818905 ], [ -122.364782000370596, 37.937024000707495 ], [ -122.365682000174701, 37.937024000650347 ], [ -122.366682000354061, 37.937124000622184 ], [ -122.36768200044196, 37.936924000811437 ], [ -122.368781999627785, 37.936924000724822 ], [ -122.369481999393898, 37.937024000316626 ], [ -122.370481999775322, 37.937024000942131 ], [ -122.371181999810204, 37.936924000408183 ], [ -122.371882000234706, 37.936824001110963 ], [ -122.371881999873295, 37.938524000890617 ], [ -122.371382000059484, 37.939224000363495 ], [ -122.370681999812348, 37.939724000766461 ], [ -122.369882000355275, 37.940524000586635 ], [ -122.369581999901598, 37.940824000759747 ], [ -122.368481999979892, 37.941824000640871 ], [ -122.367582000326223, 37.942624000993938 ], [ -122.367537999651873, 37.943319000599971 ], [ -122.366481999404016, 37.944224000485455 ], [ -122.36628700043309, 37.944420001021697 ], [ -122.365181999585914, 37.945524000896434 ], [ -122.363081999669902, 37.947523001050165 ], [ -122.360182000439536, 37.950523000598949 ], [ -122.359881999976579, 37.948523000590185 ], [ -122.35948200014893, 37.947024000648135 ], [ -122.359281999695085, 37.946224000628931 ], [ -122.359080999667754, 37.945541000387209 ], [ -122.358741999845634, 37.944405001103249 ], [ -122.358281999741095, 37.94342400078321 ], [ -122.358129999939379, 37.943185000862954 ], [ -122.357581999999013, 37.942324000434084 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1062, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.394182999714872, 37.958123000789207 ], [ -122.393382999782546, 37.957323000447076 ], [ -122.392682999638424, 37.956523000748589 ], [ -122.390082000167993, 37.954423000791799 ], [ -122.386082000347315, 37.952723000336029 ], [ -122.384182000107998, 37.952823001101684 ], [ -122.382082000368143, 37.954023000962493 ], [ -122.380581999936595, 37.954023000240966 ], [ -122.377882000351462, 37.954123000663408 ], [ -122.373882000466011, 37.954123000877985 ], [ -122.372814999989572, 37.954123001059976 ], [ -122.372107000337252, 37.954123000980211 ], [ -122.371668000296168, 37.954123000558646 ], [ -122.370582000075757, 37.954123000685939 ], [ -122.370782000498465, 37.953423000641592 ], [ -122.370782000370127, 37.952723000514283 ], [ -122.370782000148253, 37.952023000303981 ], [ -122.37088199940203, 37.951223001040709 ], [ -122.368981999830552, 37.951223000479139 ], [ -122.367081999523137, 37.951323000931112 ], [ -122.365581999932957, 37.951223000960063 ], [ -122.363882000197066, 37.951223000402976 ], [ -122.362082000343364, 37.952023001060461 ], [ -122.361781999655733, 37.952123000978311 ], [ -122.360681999891909, 37.952523001053571 ], [ -122.360382000524112, 37.953423000875695 ], [ -122.360181999447704, 37.954023000834681 ], [ -122.360281999648905, 37.951323001060757 ], [ -122.360182000439536, 37.950523000598949 ], [ -122.363081999669902, 37.947523001050165 ], [ -122.365181999585914, 37.945524000896434 ], [ -122.36628700043309, 37.944420001021697 ], [ -122.366481999404016, 37.944224000485455 ], [ -122.367537999651873, 37.943319000599971 ], [ -122.367582000326223, 37.942624000993938 ], [ -122.368481999979892, 37.941824000640871 ], [ -122.369581999901598, 37.940824000759747 ], [ -122.369882000355275, 37.940524000586635 ], [ -122.370681999812348, 37.939724000766461 ], [ -122.371382000059484, 37.939224000363495 ], [ -122.371881999873295, 37.938524000890617 ], [ -122.371882000234706, 37.936824001110963 ], [ -122.373082000444001, 37.935824000794788 ], [ -122.37388200033584, 37.935224000844997 ], [ -122.375181999438396, 37.934124000993968 ], [ -122.376381999710659, 37.93282400077522 ], [ -122.378082000472162, 37.931324000487606 ], [ -122.375482000001412, 37.931424000750482 ], [ -122.374681999425704, 37.930924000922573 ], [ -122.369282999588748, 37.92723000031144 ], [ -122.368981999749408, 37.927024000727869 ], [ -122.368582000301956, 37.926824000845961 ], [ -122.367982000080303, 37.926524000272025 ], [ -122.367081999409749, 37.926024001045185 ], [ -122.366682000285792, 37.92582400101842 ], [ -122.365681999426883, 37.925424000535905 ], [ -122.362582000177582, 37.923224000808212 ], [ -122.362082000395517, 37.92262400069184 ], [ -122.362081999693018, 37.92122400088487 ], [ -122.36199899980096, 37.918394000704012 ], [ -122.361982000119156, 37.917824001118966 ], [ -122.36198200028862, 37.917424001017388 ], [ -122.362382000493469, 37.918124000772202 ], [ -122.362682000253642, 37.920924000671924 ], [ -122.363082000115284, 37.919324000594571 ], [ -122.367181999737568, 37.919524000647399 ], [ -122.36688200026677, 37.924624001112939 ], [ -122.368082000314203, 37.920824000342421 ], [ -122.373182000170587, 37.924724001101545 ], [ -122.375681999500117, 37.925024000518327 ], [ -122.37688200011074, 37.923724000778968 ], [ -122.373866999975434, 37.922384000340614 ], [ -122.372381999591994, 37.921724000395784 ], [ -122.366082000058881, 37.91772400104341 ], [ -122.363581999542987, 37.905325000309709 ], [ -122.366482000069468, 37.904825000602123 ], [ -122.36808200048489, 37.9045250005734 ], [ -122.371581999960625, 37.905025000327278 ], [ -122.370282000114415, 37.905825000629875 ], [ -122.372782000145676, 37.905425000497935 ], [ -122.371481999537224, 37.906325000536341 ], [ -122.375181999623166, 37.908725001081578 ], [ -122.376943999404929, 37.910104001010559 ], [ -122.377320999603214, 37.910039000552636 ], [ -122.377662999788043, 37.909212000526033 ], [ -122.377820999966673, 37.908937000328045 ], [ -122.37831799966763, 37.908562001029559 ], [ -122.378944999983844, 37.908312000712193 ], [ -122.379390000520587, 37.908262001053764 ], [ -122.380017000135268, 37.908363000984245 ], [ -122.380252000142917, 37.908539000781523 ], [ -122.380380999574385, 37.908764000492866 ], [ -122.3804329997553, 37.908939000310312 ], [ -122.38043299979968, 37.909189000390079 ], [ -122.380329999397887, 37.909289000739435 ], [ -122.380277999909879, 37.909289000940774 ], [ -122.380121000392165, 37.909289000640989 ], [ -122.379991999567821, 37.909189000692649 ], [ -122.379860999916772, 37.908789000792346 ], [ -122.379416999825736, 37.908714000242412 ], [ -122.378653999976535, 37.908889000757156 ], [ -122.378131000357811, 37.909267000570672 ], [ -122.377762000389737, 37.910071000690934 ], [ -122.377683999643622, 37.910474000563589 ], [ -122.380257000454506, 37.91145900105866 ], [ -122.380527999600844, 37.911488000946754 ], [ -122.380788999652765, 37.911511000888858 ], [ -122.380840999692239, 37.91136100047936 ], [ -122.380658999695711, 37.910510000501297 ], [ -122.380504000374629, 37.91046000040955 ], [ -122.380346999501697, 37.910460000395538 ], [ -122.380192000205994, 37.910360000790718 ], [ -122.380060999393137, 37.910184000771615 ], [ -122.380009000229592, 37.909959000824657 ], [ -122.380086999846398, 37.909759000663193 ], [ -122.380140999528095, 37.909759000266298 ], [ -122.380295000248836, 37.909759000976358 ], [ -122.380399000321106, 37.909809000553516 ], [ -122.380530000051124, 37.909934000662176 ], [ -122.380746000219276, 37.909834000806569 ], [ -122.380901000448631, 37.909759000559092 ], [ -122.381240999452828, 37.909456000799068 ], [ -122.381240999842163, 37.909306000755755 ], [ -122.381227999976957, 37.909148001001306 ], [ -122.381219999643307, 37.909051000762126 ], [ -122.381432000015025, 37.908926001114182 ], [ -122.381640000365124, 37.908926000844318 ], [ -122.381898999694485, 37.909051000415452 ], [ -122.381924000410464, 37.909146000697667 ], [ -122.381952000354346, 37.909251000323124 ], [ -122.381847999420273, 37.909501000406429 ], [ -122.381588999544917, 37.909826000851247 ], [ -122.381086999967749, 37.91028100061024 ], [ -122.381087000497715, 37.910406000629671 ], [ -122.381112999501966, 37.910531000364784 ], [ -122.381320000501404, 37.911619001067884 ], [ -122.381372000404596, 37.91169400040836 ], [ -122.381502000527647, 37.91171900047609 ], [ -122.381656999614876, 37.911719001059318 ], [ -122.381734999528604, 37.911669000751637 ], [ -122.381682999497684, 37.910961000809891 ], [ -122.381683000521292, 37.910561000778969 ], [ -122.381734999477359, 37.910486000848429 ], [ -122.381851999929282, 37.910479000406625 ], [ -122.382184999878561, 37.910461000723949 ], [ -122.382523999805116, 37.910436000607504 ], [ -122.382891999528979, 37.910211001012435 ], [ -122.384082000486814, 37.909025000499447 ], [ -122.386181999863865, 37.90842500047566 ], [ -122.386582000361528, 37.908425000322318 ], [ -122.38768200022767, 37.908625000692567 ], [ -122.387981999745364, 37.909725000749035 ], [ -122.389882000098424, 37.909525000732046 ], [ -122.3909299996577, 37.908805000997717 ], [ -122.391482000500872, 37.908425000285526 ], [ -122.3927819998177, 37.90812500039322 ], [ -122.393081999916532, 37.908125000249271 ], [ -122.389781999417906, 37.910725000325719 ], [ -122.386681999621288, 37.920524000930904 ], [ -122.391082000475535, 37.922624001016615 ], [ -122.391181999811465, 37.925424000794472 ], [ -122.393367999618036, 37.926706000874198 ], [ -122.398681999913507, 37.929824000365699 ], [ -122.400681999407539, 37.927624000846684 ], [ -122.408882999902431, 37.923024000945176 ], [ -122.407983000066679, 37.922124000986109 ], [ -122.408183000340756, 37.921924000323081 ], [ -122.409182999525655, 37.922924000583031 ], [ -122.409883000352551, 37.9224240008243 ], [ -122.408482999849042, 37.92112400025713 ], [ -122.409083000087463, 37.920824000733454 ], [ -122.414082999865869, 37.926224001081522 ], [ -122.413682999428246, 37.926424000444349 ], [ -122.410182999617803, 37.922824000290952 ], [ -122.408682999435158, 37.92362400062882 ], [ -122.408582999775064, 37.923424000298127 ], [ -122.400982000253265, 37.927824000283977 ], [ -122.400382000274035, 37.929524000883973 ], [ -122.401582999485996, 37.931524000924803 ], [ -122.409583000381176, 37.931824000741116 ], [ -122.409783000027105, 37.932924001131504 ], [ -122.413883000063763, 37.936424000448199 ], [ -122.411282999468085, 37.939324001099919 ], [ -122.412583000391109, 37.943724000861749 ], [ -122.419182999963098, 37.946724000345924 ], [ -122.42048299966828, 37.946124000471592 ], [ -122.420882999932473, 37.946324000731842 ], [ -122.42238300040691, 37.947124001101059 ], [ -122.422582999435036, 37.94712400038901 ], [ -122.422382999754902, 37.947424000729448 ], [ -122.422482999692903, 37.948224000567897 ], [ -122.420283000063321, 37.950124000481914 ], [ -122.418483000402276, 37.951423000935563 ], [ -122.419982999533758, 37.953423000798331 ], [ -122.422382999867381, 37.955823000948882 ], [ -122.422883000170287, 37.95592300087074 ], [ -122.424182999550595, 37.956423000360232 ], [ -122.424483000074716, 37.956523000444449 ], [ -122.425083000430746, 37.957323000268559 ], [ -122.427683000524496, 37.961023000949986 ], [ -122.429483000222703, 37.96182300092088 ], [ -122.429498000181965, 37.961963000846147 ], [ -122.429783000469527, 37.964623000276369 ], [ -122.428883000366298, 37.965423000960897 ], [ -122.428820999664651, 37.965417001119896 ], [ -122.427846999610551, 37.965559000639459 ], [ -122.423784999716162, 37.964904000621971 ], [ -122.418988999900535, 37.962667000591651 ], [ -122.415073999635865, 37.963477000314192 ], [ -122.41355699978628, 37.963207001069733 ], [ -122.412382000054578, 37.962475000240495 ], [ -122.410883000503091, 37.959823000845525 ], [ -122.411182999774141, 37.957323000651421 ], [ -122.411283000368698, 37.956523000563685 ], [ -122.406983000369522, 37.955423000811827 ], [ -122.3985829996045, 37.952823000280517 ], [ -122.395283000529673, 37.9555230003389 ], [ -122.398483000215776, 37.957323001008938 ], [ -122.398882999630345, 37.957523000888145 ], [ -122.399083000194409, 37.958323000333465 ], [ -122.395983000036679, 37.95872300099655 ], [ -122.394482999950924, 37.95792300101634 ], [ -122.394182999714872, 37.958123000789207 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1060, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.342580999967581, 37.925224000868127 ], [ -122.34298099960445, 37.925224000528765 ], [ -122.343680999836337, 37.925224000498162 ], [ -122.344680999556132, 37.925224000823647 ], [ -122.345581000328565, 37.925324000387569 ], [ -122.346681000291596, 37.925224000320249 ], [ -122.347680999521373, 37.925124000778922 ], [ -122.348681000075715, 37.925224000966736 ], [ -122.349480999593652, 37.9252240007174 ], [ -122.350281000280944, 37.92522400044308 ], [ -122.351380999419092, 37.925224001088857 ], [ -122.352181000081444, 37.925324001039755 ], [ -122.353081000063753, 37.92532400042635 ], [ -122.353981000074725, 37.925324001040728 ], [ -122.354880999988382, 37.925224000541014 ], [ -122.355882000399475, 37.925224000385313 ], [ -122.356981999838069, 37.925224000945903 ], [ -122.358082000410079, 37.925324000796216 ], [ -122.359182000038217, 37.925224000966494 ], [ -122.360082000239956, 37.925224000877577 ], [ -122.36108199962635, 37.925224000611763 ], [ -122.362082000194107, 37.925224000866528 ], [ -122.362174000501483, 37.925224001138623 ], [ -122.362982000518315, 37.925224001128854 ], [ -122.363981999999055, 37.925324001134577 ], [ -122.365082000226366, 37.92532400078818 ], [ -122.365681999426883, 37.925424000535905 ], [ -122.366682000285792, 37.92582400101842 ], [ -122.367081999409749, 37.926024001045185 ], [ -122.367982000080303, 37.926524000272025 ], [ -122.368582000301956, 37.926824000845961 ], [ -122.368981999749408, 37.927024000727869 ], [ -122.369282999588748, 37.92723000031144 ], [ -122.374681999425704, 37.930924000922573 ], [ -122.375482000001412, 37.931424000750482 ], [ -122.374382000507666, 37.931424000671036 ], [ -122.372709999925704, 37.931395000713927 ], [ -122.369861999699893, 37.931345000704901 ], [ -122.368681999589711, 37.93132400110823 ], [ -122.367882000362556, 37.931324000987473 ], [ -122.366781999561326, 37.931424000647191 ], [ -122.365782000122124, 37.931424000390173 ], [ -122.363882000128669, 37.931324000787072 ], [ -122.362781999804113, 37.931424000888136 ], [ -122.361882000137541, 37.931424000634571 ], [ -122.360982000184791, 37.931324000240004 ], [ -122.359982000205164, 37.931424000721222 ], [ -122.359081999519944, 37.931424000675094 ], [ -122.35818200000881, 37.931424000961371 ], [ -122.357181999568965, 37.93152400105587 ], [ -122.356182000377942, 37.931524000319328 ], [ -122.355282000344886, 37.931424000511484 ], [ -122.354282000316331, 37.931424000751207 ], [ -122.35338099965999, 37.931424000278831 ], [ -122.353085999879255, 37.931424000271733 ], [ -122.352380999723181, 37.931424000585281 ], [ -122.351481000503298, 37.931424000988777 ], [ -122.350480999528457, 37.931424000462904 ], [ -122.349481000405916, 37.931524000868876 ], [ -122.348664999786436, 37.93147600083249 ], [ -122.3477809999725, 37.931424000499078 ], [ -122.347681999543212, 37.931424000612196 ], [ -122.346581000154188, 37.931424000955921 ], [ -122.345781000289179, 37.930724000998488 ], [ -122.345281000376005, 37.930349000643822 ], [ -122.344490000075865, 37.929756000284023 ], [ -122.342678000488661, 37.928397000386013 ], [ -122.342581000267856, 37.928324000495117 ], [ -122.341981000395037, 37.92789500091471 ], [ -122.338380999725842, 37.925324000729326 ], [ -122.338880999939775, 37.925124000576233 ], [ -122.339281000091574, 37.925124001099242 ], [ -122.339781000481921, 37.925224000308006 ], [ -122.340480999464106, 37.925224000380666 ], [ -122.341481000161949, 37.925224000869086 ], [ -122.341980999960882, 37.925224001077652 ], [ -122.342580999967581, 37.925224000868127 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1059, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.333481000028087, 37.910425000405219 ], [ -122.335081000169069, 37.90932500030447 ], [ -122.334581000301938, 37.911125000743084 ], [ -122.335781000004232, 37.909825000683895 ], [ -122.338081000022385, 37.91312400043298 ], [ -122.336980999938064, 37.909025000601069 ], [ -122.340080999934386, 37.909025000428244 ], [ -122.351980999770632, 37.907925000463663 ], [ -122.351681000305007, 37.909125001031967 ], [ -122.347481000323796, 37.909225000376267 ], [ -122.347559000007038, 37.913118000781303 ], [ -122.347581000000659, 37.914224000513279 ], [ -122.349944999752822, 37.914224000435418 ], [ -122.352780999594287, 37.914224000671972 ], [ -122.353280999916407, 37.910725000820783 ], [ -122.354081000266689, 37.914224000863705 ], [ -122.354722000184921, 37.910299000571015 ], [ -122.354880999781983, 37.909325000291545 ], [ -122.355606999408195, 37.90935000095498 ], [ -122.3605819998008, 37.909525001091588 ], [ -122.361382000481171, 37.912225000745146 ], [ -122.361581999657616, 37.914524000836622 ], [ -122.36198200028862, 37.917424001017388 ], [ -122.361982000119156, 37.917824001118966 ], [ -122.36199899980096, 37.918394000704012 ], [ -122.362081999693018, 37.92122400088487 ], [ -122.362082000395517, 37.92262400069184 ], [ -122.362582000177582, 37.923224000808212 ], [ -122.365681999426883, 37.925424000535905 ], [ -122.365082000226366, 37.92532400078818 ], [ -122.363981999999055, 37.925324001134577 ], [ -122.362982000518315, 37.925224001128854 ], [ -122.362174000501483, 37.925224001138623 ], [ -122.362082000194107, 37.925224000866528 ], [ -122.36108199962635, 37.925224000611763 ], [ -122.360082000239956, 37.925224000877577 ], [ -122.359182000038217, 37.925224000966494 ], [ -122.358082000410079, 37.925324000796216 ], [ -122.356981999838069, 37.925224000945903 ], [ -122.355882000399475, 37.925224000385313 ], [ -122.354880999988382, 37.925224000541014 ], [ -122.353981000074725, 37.925324001040728 ], [ -122.353081000063753, 37.92532400042635 ], [ -122.352181000081444, 37.925324001039755 ], [ -122.351380999419092, 37.925224001088857 ], [ -122.350281000280944, 37.92522400044308 ], [ -122.349480999593652, 37.9252240007174 ], [ -122.348681000075715, 37.925224000966736 ], [ -122.347680999521373, 37.925124000778922 ], [ -122.346681000291596, 37.925224000320249 ], [ -122.345581000328565, 37.925324000387569 ], [ -122.344680999556132, 37.925224000823647 ], [ -122.343680999836337, 37.925224000498162 ], [ -122.34298099960445, 37.925224000528765 ], [ -122.342580999967581, 37.925224000868127 ], [ -122.341980999960882, 37.925224001077652 ], [ -122.341481000161949, 37.925224000869086 ], [ -122.340480999464106, 37.925224000380666 ], [ -122.339781000481921, 37.925224000308006 ], [ -122.339281000091574, 37.925124001099242 ], [ -122.338880999939775, 37.925124000576233 ], [ -122.338380999725842, 37.925324000729326 ], [ -122.332580999496628, 37.920924000694782 ], [ -122.328180999741818, 37.917624000810022 ], [ -122.327280999727293, 37.91702400097936 ], [ -122.326781000443674, 37.916224000853944 ], [ -122.318120999966496, 37.905900000586072 ], [ -122.316380999918792, 37.90382500049553 ], [ -122.314981000106712, 37.902125000772848 ], [ -122.313580999854778, 37.90052500112531 ], [ -122.310881000376341, 37.897825000821491 ], [ -122.311781000161929, 37.897525000621243 ], [ -122.31298100052355, 37.897325000797707 ], [ -122.315379000307232, 37.898713000723518 ], [ -122.316781000440713, 37.899525000894812 ], [ -122.322380999593733, 37.895425000247549 ], [ -122.327480999420942, 37.90142500039601 ], [ -122.319680999646252, 37.9040250008592 ], [ -122.318880999601518, 37.903225000879111 ], [ -122.318480999912566, 37.903125001030318 ], [ -122.318081000399388, 37.904025000717759 ], [ -122.319680999849254, 37.905725000239023 ], [ -122.320780999888029, 37.90612500112551 ], [ -122.319880999551401, 37.904525000340115 ], [ -122.319881000073266, 37.904225000901675 ], [ -122.328081000263495, 37.908725000724132 ], [ -122.321081000507661, 37.905525000963245 ], [ -122.322780999518983, 37.907625000635193 ], [ -122.328381000446257, 37.908925001057682 ], [ -122.326481000132574, 37.909925000713514 ], [ -122.329080999869447, 37.909425000581514 ], [ -122.329581000504248, 37.910125001023992 ], [ -122.331180999758445, 37.909625000534305 ], [ -122.332392000517785, 37.910046001090748 ], [ -122.333481000028087, 37.910425000405219 ] ] ], [ [ [ -122.360082000128941, 37.899625000835314 ], [ -122.364282000191352, 37.899225000793962 ], [ -122.368382000412723, 37.900925000918676 ], [ -122.360182000163149, 37.900225000613098 ], [ -122.357980999483303, 37.89982500085933 ], [ -122.357980999719373, 37.901125000862578 ], [ -122.351380999962274, 37.893925000785387 ], [ -122.357481000207002, 37.895225000801283 ], [ -122.357980999550222, 37.898725000774668 ], [ -122.360082000128941, 37.899625000835314 ] ] ], [ [ [ -122.368981999474713, 37.90092500057856 ], [ -122.371182000270764, 37.899525000707797 ], [ -122.373482000419685, 37.901525000948311 ], [ -122.368981999474713, 37.90092500057856 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1050, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.318280999513377, 37.920824000311121 ], [ -122.317381000493398, 37.919324000564515 ], [ -122.31738300010224, 37.919255000648398 ], [ -122.317480999444314, 37.915724000807707 ], [ -122.317416999632158, 37.914522001048368 ], [ -122.317298999742732, 37.913068000543369 ], [ -122.317233999421404, 37.912264000301846 ], [ -122.317129999886873, 37.910975000678171 ], [ -122.316311000426268, 37.90948500088362 ], [ -122.315850000100284, 37.90864500105473 ], [ -122.312080999965005, 37.902925000953957 ], [ -122.31060299970153, 37.900968000994069 ], [ -122.309837999870666, 37.899440000297574 ], [ -122.309080000178369, 37.897925000497239 ], [ -122.309480999419648, 37.897825000502408 ], [ -122.310881000376341, 37.897825000821491 ], [ -122.313580999854778, 37.90052500112531 ], [ -122.314981000106712, 37.902125000772848 ], [ -122.316380999918792, 37.90382500049553 ], [ -122.318120999966496, 37.905900000586072 ], [ -122.326781000443674, 37.916224000853944 ], [ -122.327280999727293, 37.91702400097936 ], [ -122.328180999741818, 37.917624000810022 ], [ -122.332580999496628, 37.920924000694782 ], [ -122.338380999725842, 37.925324000729326 ], [ -122.337881000476699, 37.925324000545402 ], [ -122.336980999827986, 37.925424000705355 ], [ -122.336180999777625, 37.925424000676941 ], [ -122.335181000039896, 37.92542400110591 ], [ -122.334280999641422, 37.925424000891411 ], [ -122.333281000006224, 37.925424000495077 ], [ -122.33318099958727, 37.925424000796582 ], [ -122.332481000103314, 37.925424000547011 ], [ -122.331580999826031, 37.925424000410629 ], [ -122.330581000322084, 37.925424000501621 ], [ -122.327180999597701, 37.925524000894107 ], [ -122.325880999461106, 37.925324000328267 ], [ -122.324381000208206, 37.925424000262915 ], [ -122.323580999520175, 37.925424001085979 ], [ -122.322781000112144, 37.925324000606309 ], [ -122.321780999814905, 37.925424001086768 ], [ -122.320956000197995, 37.925425000837812 ], [ -122.321281000379429, 37.924724000740902 ], [ -122.321280999556251, 37.924224000615318 ], [ -122.321381000005331, 37.923324000539964 ], [ -122.321280999775766, 37.922524000973127 ], [ -122.321180999718749, 37.922224000649948 ], [ -122.321281000121502, 37.921624000755273 ], [ -122.321280999877331, 37.921024000832134 ], [ -122.323280999407771, 37.921024001071963 ], [ -122.323580999699587, 37.921024000746669 ], [ -122.323581000295704, 37.919824000584434 ], [ -122.322481000459518, 37.919724000346228 ], [ -122.321881000237937, 37.919724000973765 ], [ -122.320680999868046, 37.919724000261205 ], [ -122.319858999747794, 37.919668000791894 ], [ -122.31848800015409, 37.919586000607687 ], [ -122.31848099977023, 37.920324001089114 ], [ -122.318481000247928, 37.920824000567315 ], [ -122.318280999513377, 37.920824000311121 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1053, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.303580000139902, 37.932524000299011 ], [ -122.304979999725674, 37.932524000348444 ], [ -122.305272999889354, 37.93242600080977 ], [ -122.305580000346907, 37.932324000342149 ], [ -122.306780000081844, 37.932224000643082 ], [ -122.308381000113059, 37.932424000805874 ], [ -122.309281000471799, 37.932424000272448 ], [ -122.310181000456936, 37.932124000374166 ], [ -122.311081000417261, 37.931524001025757 ], [ -122.311180999694244, 37.929624000735814 ], [ -122.311480999735963, 37.929424000249952 ], [ -122.312781000000328, 37.927824000933235 ], [ -122.313081000486008, 37.927524000481327 ], [ -122.313181000456296, 37.927124000768174 ], [ -122.313580999923957, 37.926624000649007 ], [ -122.315581000117845, 37.926924000809763 ], [ -122.316481000251159, 37.926524000435791 ], [ -122.317881000055493, 37.927224000247676 ], [ -122.3203810001432, 37.930024001028677 ], [ -122.321481000044102, 37.931224000957471 ], [ -122.32028100051059, 37.931224000873058 ], [ -122.320280999724474, 37.93162400101852 ], [ -122.320280999435298, 37.933324000678539 ], [ -122.320980999440692, 37.933324000789689 ], [ -122.320981000433534, 37.933624000590008 ], [ -122.320880999774005, 37.933924000987993 ], [ -122.320880999674941, 37.934724000922202 ], [ -122.32026899956324, 37.934724001122831 ], [ -122.320181000047839, 37.934724001069512 ], [ -122.319681000344346, 37.93502400051797 ], [ -122.319680999608806, 37.935924000436628 ], [ -122.319980999850571, 37.936924000475692 ], [ -122.319481000484387, 37.937124000546412 ], [ -122.319180999972559, 37.937924000420608 ], [ -122.319780999982498, 37.93782400044703 ], [ -122.319680999868467, 37.938224000624345 ], [ -122.318681000514417, 37.938224000769949 ], [ -122.317381000521124, 37.938224000865141 ], [ -122.317317000209187, 37.938385000800473 ], [ -122.317181000483316, 37.938724001009824 ], [ -122.316899000346638, 37.93886500043471 ], [ -122.316780999953863, 37.938924001024844 ], [ -122.316380999487663, 37.939024000452243 ], [ -122.315880999532865, 37.93912400027039 ], [ -122.315280999991643, 37.939124000897706 ], [ -122.313980999447764, 37.939824000979705 ], [ -122.313080999436522, 37.939624000900082 ], [ -122.312280999541855, 37.939324000660527 ], [ -122.311880999580197, 37.939224000802028 ], [ -122.311080999930965, 37.939624001116151 ], [ -122.309732000316004, 37.938372000508537 ], [ -122.309680999637862, 37.938324000884585 ], [ -122.309337999407887, 37.938353000311771 ], [ -122.309236999721932, 37.938361000258972 ], [ -122.308480999924328, 37.938424000863613 ], [ -122.308347999837039, 37.938344000845092 ], [ -122.307981000121273, 37.938124001007367 ], [ -122.308008000105048, 37.938339000500186 ], [ -122.308080999826586, 37.938924000298506 ], [ -122.307580999896828, 37.939224000990876 ], [ -122.307080000366227, 37.938924000468653 ], [ -122.306679999477495, 37.938424000688691 ], [ -122.307080000523399, 37.938324000927935 ], [ -122.307079999439878, 37.938024000677423 ], [ -122.306608999712807, 37.938053000785253 ], [ -122.305479999599825, 37.938124000394907 ], [ -122.304179999978317, 37.938124000638162 ], [ -122.298479999641998, 37.933224000705387 ], [ -122.300979999721491, 37.932924000729678 ], [ -122.301280000033643, 37.932824000529379 ], [ -122.303193000342901, 37.932574000831508 ], [ -122.303580000139902, 37.932524000299011 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1045, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.28657999987206, 37.919024000523024 ], [ -122.286779999412502, 37.919324000536108 ], [ -122.28777999966286, 37.919124000459846 ], [ -122.289179999848315, 37.9188240009262 ], [ -122.290379999625586, 37.918624000433745 ], [ -122.29157999989755, 37.918324000861318 ], [ -122.293180000147018, 37.918024000984261 ], [ -122.293480000101056, 37.917924000396063 ], [ -122.293979999813729, 37.917724000890175 ], [ -122.29507999952105, 37.917124000696951 ], [ -122.297079999528776, 37.916224000732385 ], [ -122.297956999699892, 37.915809001023341 ], [ -122.298979999532136, 37.915324000828093 ], [ -122.299579999479278, 37.916124000314582 ], [ -122.300079999559188, 37.91672400054226 ], [ -122.300432000244783, 37.917357000993242 ], [ -122.300579999623267, 37.91762400070224 ], [ -122.300880000467515, 37.918024000281846 ], [ -122.302279999481854, 37.919824000365047 ], [ -122.303380000401475, 37.921324000572227 ], [ -122.304180000222502, 37.922524000389622 ], [ -122.304779999788707, 37.922324001111726 ], [ -122.305779999438215, 37.922624000339034 ], [ -122.306279999942973, 37.923224000973541 ], [ -122.306342000111485, 37.923317000568815 ], [ -122.306680000166125, 37.923824000675317 ], [ -122.305580000300253, 37.92422400074873 ], [ -122.302880000180721, 37.925824000649982 ], [ -122.302280000319229, 37.927124000862825 ], [ -122.304079999710424, 37.928424000541533 ], [ -122.304179999977649, 37.929624000587339 ], [ -122.305880000051388, 37.929624000371724 ], [ -122.306979999890274, 37.930724000536557 ], [ -122.306879999709381, 37.931224001095785 ], [ -122.306879999573781, 37.931324000389885 ], [ -122.306880000417223, 37.93152400078219 ], [ -122.306780000081844, 37.932224000643082 ], [ -122.305580000346907, 37.932324000342149 ], [ -122.305272999889354, 37.93242600080977 ], [ -122.304979999725674, 37.932524000348444 ], [ -122.303580000139902, 37.932524000299011 ], [ -122.303193000342901, 37.932574000831508 ], [ -122.301280000033643, 37.932824000529379 ], [ -122.300979999721491, 37.932924000729678 ], [ -122.298479999641998, 37.933224000705387 ], [ -122.297007999859758, 37.931892000682979 ], [ -122.296886999467588, 37.931782000688401 ], [ -122.296542000356411, 37.931985000597344 ], [ -122.29626800043269, 37.931747000601575 ], [ -122.29576599969495, 37.931978000292951 ], [ -122.295400000338233, 37.931507000278486 ], [ -122.294644999720973, 37.931771000950022 ], [ -122.293480000147426, 37.931624001012167 ], [ -122.292080000272549, 37.931224000718132 ], [ -122.291018999852426, 37.929428000553024 ], [ -122.290780000192754, 37.929024001008358 ], [ -122.291479999846445, 37.92842400068227 ], [ -122.290779999432317, 37.927624000554971 ], [ -122.291379999752593, 37.927124001045115 ], [ -122.289880000465132, 37.925824000717064 ], [ -122.288515999506259, 37.925490000663551 ], [ -122.28817999939794, 37.925124000357982 ], [ -122.285289999623913, 37.923455000778524 ], [ -122.282580000471995, 37.919924001056529 ], [ -122.282479999808515, 37.919924000655989 ], [ -122.282080000204687, 37.920224000782476 ], [ -122.281079999987142, 37.919224000617284 ], [ -122.281379999692518, 37.919024000973756 ], [ -122.281979999918804, 37.918624000258724 ], [ -122.28077999990586, 37.917524000616275 ], [ -122.280980000152823, 37.917124000314935 ], [ -122.281380000134035, 37.917124001021811 ], [ -122.281480000320343, 37.916024000754597 ], [ -122.282180000458283, 37.916624000430268 ], [ -122.284779999436324, 37.917324000524779 ], [ -122.285779999589863, 37.917924000886394 ], [ -122.28657999987206, 37.919024000523024 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1051, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.305779999438215, 37.922624000339034 ], [ -122.30608000006977, 37.922424000721456 ], [ -122.307289999893612, 37.921791000284102 ], [ -122.308180999759202, 37.921324000303478 ], [ -122.308780999685879, 37.920924000479317 ], [ -122.309680999569039, 37.920624000592007 ], [ -122.310580999575492, 37.920224000588576 ], [ -122.311380999895647, 37.919924001091232 ], [ -122.31028099956967, 37.918324000449601 ], [ -122.309180999648433, 37.916824000547322 ], [ -122.309980999450303, 37.916424000800774 ], [ -122.310681000379901, 37.916124000696591 ], [ -122.311680999634191, 37.915824001077588 ], [ -122.311980999886941, 37.916124001041318 ], [ -122.31218100027067, 37.916324000289862 ], [ -122.31238099979052, 37.916424000520138 ], [ -122.313081000478192, 37.917124000757973 ], [ -122.313780999954972, 37.917924000855109 ], [ -122.314181000024746, 37.918624000496386 ], [ -122.31434600025618, 37.919022000282865 ], [ -122.316568999562378, 37.919204000624724 ], [ -122.316504000459901, 37.919524000759047 ], [ -122.316530000528957, 37.920792000390492 ], [ -122.317381000199859, 37.920824000832923 ], [ -122.317381000493398, 37.919324000564515 ], [ -122.318280999513377, 37.920824000311121 ], [ -122.318481000247928, 37.920824000567315 ], [ -122.31848099977023, 37.920324001089114 ], [ -122.31848800015409, 37.919586000607687 ], [ -122.319858999747794, 37.919668000791894 ], [ -122.320680999868046, 37.919724000261205 ], [ -122.321881000237937, 37.919724000973765 ], [ -122.322481000459518, 37.919724000346228 ], [ -122.323581000295704, 37.919824000584434 ], [ -122.323580999699587, 37.921024000746669 ], [ -122.323280999407771, 37.921024001071963 ], [ -122.321280999877331, 37.921024000832134 ], [ -122.321281000121502, 37.921624000755273 ], [ -122.321180999718749, 37.922224000649948 ], [ -122.321280999775766, 37.922524000973127 ], [ -122.321381000005331, 37.923324000539964 ], [ -122.321280999556251, 37.924224000615318 ], [ -122.321281000379429, 37.924724000740902 ], [ -122.320956000197995, 37.925425000837812 ], [ -122.32091700025471, 37.925848000671522 ], [ -122.320681000186681, 37.927124000966749 ], [ -122.321280999968835, 37.928024000663065 ], [ -122.321996999691649, 37.928979000521338 ], [ -122.323381000197784, 37.930824000460809 ], [ -122.323580999418041, 37.931324000779462 ], [ -122.32298100052185, 37.931424000637662 ], [ -122.321481000044102, 37.931224000957471 ], [ -122.3203810001432, 37.930024001028677 ], [ -122.317881000055493, 37.927224000247676 ], [ -122.316481000251159, 37.926524000435791 ], [ -122.315281000229163, 37.926024000298966 ], [ -122.313881000004017, 37.925624000319544 ], [ -122.313580999593924, 37.925124000329177 ], [ -122.313180999983672, 37.924524000546711 ], [ -122.312080999878646, 37.923124000255839 ], [ -122.310881000260778, 37.923724000628233 ], [ -122.310480999509267, 37.923824000362295 ], [ -122.309081000400298, 37.924424000775588 ], [ -122.308081000473535, 37.924824001118857 ], [ -122.307779999794462, 37.925024000759699 ], [ -122.307279999532369, 37.924524000591582 ], [ -122.307005999394335, 37.924204001097735 ], [ -122.306680000166125, 37.923824000675317 ], [ -122.306342000111485, 37.923317000568815 ], [ -122.306279999942973, 37.923224000973541 ], [ -122.305779999438215, 37.922624000339034 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1048, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.305679999475629, 37.9073250005235 ], [ -122.305979999846272, 37.907825000938594 ], [ -122.306179999928133, 37.907925000917778 ], [ -122.306480000182077, 37.908525000606538 ], [ -122.30707999990301, 37.909224000624015 ], [ -122.307280000140793, 37.909524000763 ], [ -122.307380000075113, 37.90982400063956 ], [ -122.307879999752515, 37.91032400033118 ], [ -122.308581000249319, 37.911224000386646 ], [ -122.30758000015318, 37.911724000800511 ], [ -122.30677999994704, 37.912024000388186 ], [ -122.306479999790824, 37.912124000896704 ], [ -122.306380000044612, 37.912224000638744 ], [ -122.305679999673259, 37.912524000668412 ], [ -122.304880000173313, 37.912824000759066 ], [ -122.304179999418324, 37.913224000385249 ], [ -122.303279999839688, 37.913524000293521 ], [ -122.302579999700029, 37.913924001114651 ], [ -122.302080000020922, 37.91412400052959 ], [ -122.300779999841467, 37.912324000592875 ], [ -122.299079999897657, 37.910724001096661 ], [ -122.29747999959713, 37.909624000493132 ], [ -122.296279999465057, 37.908824000754407 ], [ -122.295780000082701, 37.908524000807233 ], [ -122.294780000297621, 37.90692500045283 ], [ -122.296080000129479, 37.906625001136057 ], [ -122.296980000492113, 37.906425000419645 ], [ -122.29787999941739, 37.906225000897415 ], [ -122.298779999526815, 37.905925001105416 ], [ -122.299479999976043, 37.90562500109619 ], [ -122.30037999954645, 37.905425000392704 ], [ -122.300880000520479, 37.905325001096244 ], [ -122.301280000304232, 37.905125000294234 ], [ -122.301580000513155, 37.905125000832228 ], [ -122.302479999608522, 37.90482500051121 ], [ -122.303179999667009, 37.904625000592524 ], [ -122.304180000005914, 37.904325000569919 ], [ -122.304380000271706, 37.904825000736011 ], [ -122.304679999845277, 37.905425000709876 ], [ -122.305080000071484, 37.906125000619944 ], [ -122.30538000021717, 37.906725000526876 ], [ -122.305679999475629, 37.9073250005235 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1040, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.304180000005914, 37.904325000569919 ], [ -122.304179999437366, 37.90402500045824 ], [ -122.303780000278422, 37.903425000677998 ], [ -122.303080000343471, 37.902225000534607 ], [ -122.302780000208827, 37.901625000763772 ], [ -122.302280000007713, 37.900725000640861 ], [ -122.302079999904009, 37.90012500047456 ], [ -122.301680000441976, 37.899025000595813 ], [ -122.301479999428267, 37.898525000889911 ], [ -122.302179999978208, 37.898525000724597 ], [ -122.302979999659385, 37.898525000968341 ], [ -122.303247999644668, 37.898525000524018 ], [ -122.303580000017035, 37.89852500051515 ], [ -122.304579999415481, 37.898425000632457 ], [ -122.304800999450407, 37.898425001061263 ], [ -122.305280000265171, 37.898425000953871 ], [ -122.306179999913581, 37.898225000316017 ], [ -122.306779999435022, 37.899425000530492 ], [ -122.307180000311433, 37.901225000887308 ], [ -122.306929000039588, 37.901575000581381 ], [ -122.306779999485855, 37.90222500049331 ], [ -122.307079999727804, 37.902425000949641 ], [ -122.307579999887437, 37.902325000957774 ], [ -122.307779999391471, 37.901925001119622 ], [ -122.307779999984604, 37.901425000338087 ], [ -122.307992000375023, 37.901378000954359 ], [ -122.308643999545566, 37.901258000770724 ], [ -122.309200000119702, 37.901188000400765 ], [ -122.309780999955649, 37.902025001086749 ], [ -122.309280999687289, 37.902325001030825 ], [ -122.307480000126745, 37.903125000291126 ], [ -122.305680000162681, 37.903825000411942 ], [ -122.304180000005914, 37.904325000569919 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1046, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.295780000082701, 37.908524000807233 ], [ -122.296279999465057, 37.908824000754407 ], [ -122.29747999959713, 37.909624000493132 ], [ -122.299079999897657, 37.910724001096661 ], [ -122.300779999841467, 37.912324000592875 ], [ -122.302080000020922, 37.91412400052959 ], [ -122.301579999908512, 37.91432400050406 ], [ -122.298979999532136, 37.915324000828093 ], [ -122.297956999699892, 37.915809001023341 ], [ -122.297079999528776, 37.916224000732385 ], [ -122.29507999952105, 37.917124000696951 ], [ -122.293979999813729, 37.917724000890175 ], [ -122.293480000101056, 37.917924000396063 ], [ -122.293180000147018, 37.918024000984261 ], [ -122.29157999989755, 37.918324000861318 ], [ -122.290379999625586, 37.918624000433745 ], [ -122.289179999848315, 37.9188240009262 ], [ -122.28777999966286, 37.919124000459846 ], [ -122.286779999412502, 37.919324000536108 ], [ -122.28657999987206, 37.919024000523024 ], [ -122.285779999589863, 37.917924000886394 ], [ -122.284779999436324, 37.917324000524779 ], [ -122.285179999890232, 37.917124000305193 ], [ -122.287980000383456, 37.915424000630104 ], [ -122.2884799994563, 37.915024001126916 ], [ -122.289279999575413, 37.914524000475268 ], [ -122.288080000465342, 37.911324000774869 ], [ -122.289479999392697, 37.91072400074966 ], [ -122.2899799994603, 37.910524000726831 ], [ -122.290479999949056, 37.910424000827582 ], [ -122.291980000098661, 37.909924000903686 ], [ -122.292779999941303, 37.909324000462952 ], [ -122.292579999995525, 37.908624000952209 ], [ -122.293480000036865, 37.908724000781326 ], [ -122.293580000030445, 37.909524000258948 ], [ -122.294880000482593, 37.908924000397128 ], [ -122.295780000082701, 37.908524000807233 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 20, "TAZ1454": 1043, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.291179999401962, 37.90412500109688 ], [ -122.288680000123406, 37.906125000873168 ], [ -122.2895799994062, 37.909024000780853 ], [ -122.287579999723931, 37.910024000501252 ], [ -122.288080000465342, 37.911324000774869 ], [ -122.289279999575413, 37.914524000475268 ], [ -122.2884799994563, 37.915024001126916 ], [ -122.287980000383456, 37.915424000630104 ], [ -122.285179999890232, 37.917124000305193 ], [ -122.284779999436324, 37.917324000524779 ], [ -122.284179999880294, 37.916824000296273 ], [ -122.283380000462387, 37.916124000817177 ], [ -122.28318000052279, 37.915724000929579 ], [ -122.282679999922763, 37.915024001118624 ], [ -122.281979999914455, 37.914524001042238 ], [ -122.281779999657331, 37.913924000712662 ], [ -122.281579999947525, 37.913024000705263 ], [ -122.281279999775634, 37.912224001047861 ], [ -122.280938999569983, 37.91192100036244 ], [ -122.280379999413583, 37.911424000723649 ], [ -122.280380000045469, 37.910524000769897 ], [ -122.280879999649954, 37.909524001016315 ], [ -122.280679999651198, 37.908124000304802 ], [ -122.279979999391543, 37.907624000685004 ], [ -122.279679999831714, 37.907224000922319 ], [ -122.279680000061916, 37.906724000430671 ], [ -122.278480000127175, 37.904225000305907 ], [ -122.278392999682865, 37.903353000745284 ], [ -122.278380000526752, 37.90322500046036 ], [ -122.27798000032297, 37.901625000365307 ], [ -122.279880000245626, 37.900625000874399 ], [ -122.281380000427149, 37.900625000633156 ], [ -122.281969999951741, 37.900514000797131 ], [ -122.282980000250703, 37.900325001096114 ], [ -122.284079999451706, 37.899825000959382 ], [ -122.284980000173277, 37.8992250008057 ], [ -122.286279999825851, 37.89892500082366 ], [ -122.287180000308993, 37.898625000887307 ], [ -122.287580000320276, 37.89842500046435 ], [ -122.288479999464769, 37.897925000911286 ], [ -122.288580000313075, 37.898525000920522 ], [ -122.288480000447308, 37.899425000690641 ], [ -122.288380000238476, 37.900325001129474 ], [ -122.288480000520011, 37.901225001002608 ], [ -122.28887999997751, 37.901825001101855 ], [ -122.289079999414341, 37.902825001119041 ], [ -122.289079999600034, 37.903825000521863 ], [ -122.290279999788297, 37.903925000394388 ], [ -122.291179999401962, 37.90412500109688 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1404, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.490887999885317, 38.094219000401011 ], [ -122.498788000056294, 38.09122000112945 ], [ -122.501088000081793, 38.088703000926053 ], [ -122.504087999935308, 38.085420000953484 ], [ -122.509687999744358, 38.084020001070236 ], [ -122.514288999782266, 38.086820000680227 ], [ -122.514488999907812, 38.087320000270047 ], [ -122.514788999708827, 38.090320000436918 ], [ -122.516589000135966, 38.091520000424261 ], [ -122.522088999959749, 38.087520000570606 ], [ -122.52768899947165, 38.087620000433724 ], [ -122.528189000407082, 38.084620000435898 ], [ -122.526488999741431, 38.081920000457785 ], [ -122.529688999659527, 38.082020001050481 ], [ -122.533488999484845, 38.08492000105872 ], [ -122.534089999401999, 38.087420000634239 ], [ -122.534289999679785, 38.087820000734631 ], [ -122.533809999708339, 38.088188000995395 ], [ -122.526588999634725, 38.093720000237958 ], [ -122.521289000427288, 38.097719000265364 ], [ -122.513529000510005, 38.1035710007124 ], [ -122.512788999834868, 38.104119000367007 ], [ -122.513588999900648, 38.104619000786762 ], [ -122.514889000225565, 38.105019000852742 ], [ -122.518889000100373, 38.10481900097006 ], [ -122.519889000163175, 38.105519000397891 ], [ -122.522488999408452, 38.10591900104361 ], [ -122.523489999432002, 38.106119000990205 ], [ -122.525690000326463, 38.106319000592819 ], [ -122.527489999634625, 38.10731900037112 ], [ -122.53088999950036, 38.109019000265889 ], [ -122.532589999409581, 38.109919001113802 ], [ -122.535189999480835, 38.111319000773157 ], [ -122.536190000375186, 38.111819001133284 ], [ -122.537989999620478, 38.11271900030971 ], [ -122.539289999616628, 38.113319000763212 ], [ -122.5420910000784, 38.114619001116196 ], [ -122.542891000114523, 38.115019000293742 ], [ -122.543190999972353, 38.115119000766903 ], [ -122.546791000036507, 38.116919001050093 ], [ -122.547390999412841, 38.11711900023753 ], [ -122.548590999739787, 38.117719000907059 ], [ -122.549191000425523, 38.118019000698006 ], [ -122.549379000192005, 38.117998000529724 ], [ -122.550091000461251, 38.117919000718196 ], [ -122.5511909996101, 38.11781900095405 ], [ -122.551668999769845, 38.117788000993393 ], [ -122.552234000482372, 38.117752000611667 ], [ -122.554291000447094, 38.117619000409761 ], [ -122.555090999969863, 38.11761900076872 ], [ -122.556191000523867, 38.11751900102724 ], [ -122.556990999664663, 38.117419000249498 ], [ -122.557291000399488, 38.117419000888766 ], [ -122.559875999742346, 38.116902000837484 ], [ -122.560290999663337, 38.116819000701099 ], [ -122.563291999534513, 38.116419000352003 ], [ -122.564992000310241, 38.116419000838192 ], [ -122.56569199952007, 38.116419000299153 ], [ -122.565720000370476, 38.116517001106239 ], [ -122.565746999917238, 38.11659300100834 ], [ -122.565767000464092, 38.116639000735752 ], [ -122.565892000062235, 38.116919001078386 ], [ -122.566022999911596, 38.117221000806801 ], [ -122.566091999787204, 38.11738200091397 ], [ -122.566280000153768, 38.117891000844452 ], [ -122.566386999946431, 38.118267000965275 ], [ -122.566424999431334, 38.118474000589508 ], [ -122.566430999725398, 38.118618000811303 ], [ -122.566417999405331, 38.118796000549573 ], [ -122.566392000168946, 38.119019000260479 ], [ -122.5661709999751, 38.120547000880372 ], [ -122.565892000495282, 38.122519000959358 ], [ -122.565192000179394, 38.12441900032438 ], [ -122.565036999461086, 38.12491900062853 ], [ -122.564249999869361, 38.127456000339372 ], [ -122.56390099962654, 38.128580001081907 ], [ -122.56339200025451, 38.130219000973014 ], [ -122.56383199946707, 38.1356460008383 ], [ -122.56422400049351, 38.140475000876307 ], [ -122.564397999647952, 38.142619000526594 ], [ -122.564592000309602, 38.145018000530392 ], [ -122.567292000367203, 38.153118000814665 ], [ -122.568092999441902, 38.155618000260112 ], [ -122.568537000325989, 38.156473000935925 ], [ -122.569513000421651, 38.158419000715071 ], [ -122.569909999954064, 38.159082000419097 ], [ -122.570291999891339, 38.159441000414837 ], [ -122.578993000151996, 38.166218000717038 ], [ -122.579492999395143, 38.166618000597005 ], [ -122.582892999666399, 38.168518000822658 ], [ -122.585383999849171, 38.170183000246716 ], [ -122.589493999984498, 38.172918001067565 ], [ -122.594594000172208, 38.17681800035345 ], [ -122.59838399977022, 38.179672000241332 ], [ -122.599208999530916, 38.180375001077131 ], [ -122.599719999510981, 38.180955000477901 ], [ -122.600133000202632, 38.181536000502412 ], [ -122.600359999938334, 38.181937000720801 ], [ -122.600501999909369, 38.182283000532735 ], [ -122.600657999837225, 38.182875000720244 ], [ -122.600758000108016, 38.183422000682363 ], [ -122.600843000215164, 38.183991000565214 ], [ -122.600893999514525, 38.184618000491312 ], [ -122.600931999773323, 38.184832000492065 ], [ -122.600993999745683, 38.185418000771712 ], [ -122.600593999646492, 38.185618000434665 ], [ -122.599818000310862, 38.186136000498536 ], [ -122.599071000361263, 38.186608000546798 ], [ -122.598597999780878, 38.186913000850154 ], [ -122.597993999786993, 38.18721700103039 ], [ -122.597859999492584, 38.187370000828516 ], [ -122.597554999597421, 38.187499000777272 ], [ -122.597386999941236, 38.18754500085268 ], [ -122.596914000346629, 38.187438000509701 ], [ -122.596578000196772, 38.187400000534602 ], [ -122.595988000434232, 38.187608000624159 ], [ -122.595714000224092, 38.187745001041129 ], [ -122.595287000260242, 38.188004001082994 ], [ -122.595293999504776, 38.188117000318371 ], [ -122.595219999859538, 38.188164000781747 ], [ -122.595051999812668, 38.188225000706986 ], [ -122.594929999863453, 38.188385000703839 ], [ -122.594548999656524, 38.18842300028161 ], [ -122.594014999756453, 38.188507000636442 ], [ -122.59322700003915, 38.188668000899007 ], [ -122.592814999831532, 38.188783000674015 ], [ -122.592600999557433, 38.188775000550109 ], [ -122.592417999760059, 38.188607000499211 ], [ -122.591883999690324, 38.18805000104215 ], [ -122.591456999699034, 38.18763100042014 ], [ -122.59159400017117, 38.187317000951452 ], [ -122.591609000283228, 38.187165000460567 ], [ -122.591716000110324, 38.186944000706625 ], [ -122.591807999882633, 38.18664600037696 ], [ -122.591494000151897, 38.186217001100246 ], [ -122.591196999405781, 38.18605100066921 ], [ -122.590816000497696, 38.185952000878324 ], [ -122.590493999760696, 38.185917001025913 ], [ -122.590403999870929, 38.185937000522543 ], [ -122.590194000029371, 38.185917000745619 ], [ -122.590067999490088, 38.186059000819611 ], [ -122.589960999540295, 38.186204000694687 ], [ -122.589792999516106, 38.186410000677107 ], [ -122.589502999935831, 38.186532000513466 ], [ -122.589244000269446, 38.186593001130852 ], [ -122.589093999464993, 38.186517000636833 ], [ -122.58893900021107, 38.186547000778624 ], [ -122.58869500032344, 38.186456000926633 ], [ -122.588390000225232, 38.186440001053647 ], [ -122.587901000181063, 38.186570000795307 ], [ -122.58741300012916, 38.186837000989435 ], [ -122.587015999841853, 38.187150000277441 ], [ -122.586893999429606, 38.187317000982731 ], [ -122.586866999710836, 38.187545000265196 ], [ -122.586806000093276, 38.187721000918117 ], [ -122.586622999943046, 38.18784300055782 ], [ -122.586501000338728, 38.187858000484134 ], [ -122.586257000232862, 38.187766000596113 ], [ -122.585856999403958, 38.187913001095914 ], [ -122.585593999712955, 38.187817000640145 ], [ -122.585200000011511, 38.187928000499738 ], [ -122.584956000176703, 38.187966000412366 ], [ -122.584712000406867, 38.188050000797396 ], [ -122.584513999874204, 38.188073000651443 ], [ -122.58425400049218, 38.187951000287129 ], [ -122.584071000097524, 38.187776000714798 ], [ -122.583964000357014, 38.187646000374777 ], [ -122.583911000400519, 38.187317000311246 ], [ -122.583867999995832, 38.187193000992252 ], [ -122.5837089995578, 38.187041000315737 ], [ -122.583489999937242, 38.186993000594661 ], [ -122.583300000282534, 38.186975000736197 ], [ -122.583126000530029, 38.187041000320413 ], [ -122.583009999655872, 38.187162001067108 ], [ -122.582936000398092, 38.187265000505079 ], [ -122.582897999826031, 38.187317000451969 ], [ -122.582762999579117, 38.187485000621969 ], [ -122.58264100046604, 38.187691000513148 ], [ -122.582458000375851, 38.187874000528211 ], [ -122.582335999822632, 38.18797300033583 ], [ -122.58219799988845, 38.188017000754606 ], [ -122.582117999425165, 38.188020000241352 ], [ -122.582041999443135, 38.187936000408847 ], [ -122.581934999464622, 38.18783700051506 ], [ -122.581874000109138, 38.187715000272362 ], [ -122.581934999779349, 38.187600000979742 ], [ -122.58199399955862, 38.187317000511001 ], [ -122.582071999457511, 38.187127000590813 ], [ -122.582041999681735, 38.186654000508746 ], [ -122.581980999566426, 38.18639500042832 ], [ -122.581874000502111, 38.186334001004568 ], [ -122.581659999793928, 38.186181000462511 ], [ -122.581569000015861, 38.186021000749093 ], [ -122.581293999571812, 38.185975000929602 ], [ -122.580989000005985, 38.185945000660745 ], [ -122.580867000228054, 38.185845000825339 ], [ -122.580793999983939, 38.185717000751104 ], [ -122.580272000476825, 38.185571000865167 ], [ -122.580012000348873, 38.185578000436941 ], [ -122.579794000104741, 38.18571700074672 ], [ -122.579569999881286, 38.186089000610806 ], [ -122.579554999564351, 38.186463000415138 ], [ -122.579693999811369, 38.186817001115728 ], [ -122.579539000192938, 38.187036001037775 ], [ -122.579082000276955, 38.187089000507775 ], [ -122.578181000105275, 38.186875000495242 ], [ -122.577143999708142, 38.18660800034332 ], [ -122.575494999474344, 38.186234001024097 ], [ -122.5750519995172, 38.186120000348268 ], [ -122.574564000137002, 38.18608900102263 ], [ -122.574228000125345, 38.185945000846708 ], [ -122.574292999900223, 38.185717000773025 ], [ -122.574456999859692, 38.18559400065913 ], [ -122.574946000305204, 38.184976000869959 ], [ -122.575037000066999, 38.184602000903908 ], [ -122.574929999723679, 38.18398400105692 ], [ -122.574892999589935, 38.183917000237187 ], [ -122.574349999544296, 38.183526000653266 ], [ -122.573618000506585, 38.18334300091621 ], [ -122.573236999952329, 38.18329700104966 ], [ -122.571692999506439, 38.183517000642567 ], [ -122.570901999550642, 38.183526000314032 ], [ -122.570693000294781, 38.183517000705393 ], [ -122.570565999409851, 38.183770000969254 ], [ -122.57053599997144, 38.184159000286201 ], [ -122.570643000465083, 38.184403000987146 ], [ -122.570931999995352, 38.184594000597073 ], [ -122.57119299953861, 38.184717000252867 ], [ -122.571650000297922, 38.184915000490882 ], [ -122.572412999943197, 38.18525800089116 ], [ -122.573175999599712, 38.185876000925042 ], [ -122.573176000299426, 38.186143000559497 ], [ -122.57319300034257, 38.186317001044863 ], [ -122.573159999745315, 38.186402001054461 ], [ -122.573037999397286, 38.18666200047408 ], [ -122.572779000390909, 38.186898000240795 ], [ -122.572503999627244, 38.187066000938131 ], [ -122.572381999620845, 38.187081000610938 ], [ -122.571939999871702, 38.18715000074468 ], [ -122.570734000329281, 38.187142001077213 ], [ -122.570592999568603, 38.187117001114892 ], [ -122.570200000144254, 38.18673800038583 ], [ -122.569757999820609, 38.1859830007241 ], [ -122.569573999555004, 38.185288001014612 ], [ -122.569117000147855, 38.184754001063688 ], [ -122.568934000224615, 38.184525000808428 ], [ -122.568505999762934, 38.184175000686906 ], [ -122.568293000523525, 38.18411700066531 ], [ -122.568004999927794, 38.183896000847184 ], [ -122.567881000444586, 38.183801001070044 ], [ -122.566766999786438, 38.183572000489356 ], [ -122.565744000427827, 38.183183000654147 ], [ -122.565423999846857, 38.182939000476885 ], [ -122.565148999941343, 38.182595000517743 ], [ -122.565092999609377, 38.182217001118062 ], [ -122.565194999862442, 38.181817000455609 ], [ -122.565606999388635, 38.180757000800305 ], [ -122.566095000181605, 38.180032000581967 ], [ -122.566293000035557, 38.179417001011331 ], [ -122.566462000015605, 38.17913100034275 ], [ -122.567437999624985, 38.178362000314479 ], [ -122.568170999629302, 38.177759000580025 ], [ -122.568460999976878, 38.177279001117071 ], [ -122.568492999444274, 38.177018000314114 ], [ -122.568384000036218, 38.176836001011139 ], [ -122.567620999791302, 38.176332000710076 ], [ -122.566721000104465, 38.175936000448452 ], [ -122.565729000037649, 38.175722000782265 ], [ -122.564951000044772, 38.175417000853727 ], [ -122.564592999676222, 38.175118000587382 ], [ -122.564462999962288, 38.175081000477988 ], [ -122.563993000020375, 38.173518000773548 ], [ -122.564096999705555, 38.172823000267989 ], [ -122.564157999472428, 38.171679000319259 ], [ -122.564263999911333, 38.170694001120005 ], [ -122.564005000156556, 38.170237000794963 ], [ -122.563193000498501, 38.169318000927589 ], [ -122.561990999400166, 38.168955000885035 ], [ -122.560938000158416, 38.168749000454149 ], [ -122.559242999392794, 38.168619000359698 ], [ -122.55892500025432, 38.168688000892033 ], [ -122.557580000080137, 38.16897800071181 ], [ -122.55628299939508, 38.16971000073557 ], [ -122.555581000296115, 38.16995400055194 ], [ -122.554238000196221, 38.170122000556574 ], [ -122.553291999692888, 38.169977000443339 ], [ -122.552650999978582, 38.169664000663332 ], [ -122.552148000334924, 38.169214000867242 ], [ -122.552091999512982, 38.169118000750203 ], [ -122.551980000435719, 38.169001000383744 ], [ -122.551965000289982, 38.168146000365887 ], [ -122.552956999609506, 38.167032000400198 ], [ -122.553322999651655, 38.166727000542885 ], [ -122.553492000147202, 38.166618000688629 ], [ -122.555077999950953, 38.165918000671816 ], [ -122.555993000007476, 38.165468001007966 ], [ -122.556832000424293, 38.164858000829661 ], [ -122.557365999520243, 38.164377000634019 ], [ -122.55799200052661, 38.163530000724464 ], [ -122.558266999907204, 38.162821000500216 ], [ -122.558435000496047, 38.161974000319361 ], [ -122.558372999734218, 38.161188001128323 ], [ -122.5581900002163, 38.160593001121654 ], [ -122.557916000075608, 38.160158000355963 ], [ -122.557138000390864, 38.159578000332516 ], [ -122.555917000322481, 38.158991000778386 ], [ -122.554802999966356, 38.158655000979834 ], [ -122.553796000442432, 38.158457000526568 ], [ -122.552972000005198, 38.15825100088297 ], [ -122.551870999397224, 38.15798900082163 ], [ -122.551750999745849, 38.15796100041419 ], [ -122.551092000364775, 38.1577180004601 ], [ -122.550682999495294, 38.157633000599091 ], [ -122.549614999513338, 38.157290000433647 ], [ -122.548531999891765, 38.157221000408718 ], [ -122.547600999890534, 38.157473000637175 ], [ -122.546838000226273, 38.157969000651704 ], [ -122.546273000035114, 38.158365000887535 ], [ -122.545692999391321, 38.158663000542283 ], [ -122.545501000415129, 38.158705000796935 ], [ -122.545375999550188, 38.158733000381829 ], [ -122.544992000144276, 38.158818000830038 ], [ -122.544554000182998, 38.158732000280253 ], [ -122.544473000201378, 38.158716000634556 ], [ -122.543710000281891, 38.158068000642551 ], [ -122.542764000088908, 38.156694000585887 ], [ -122.541496999968857, 38.155184000831895 ], [ -122.540107999648697, 38.153864000604266 ], [ -122.538764999557401, 38.152529000735456 ], [ -122.537696999431134, 38.151514000441473 ], [ -122.536384999979148, 38.150431000784813 ], [ -122.534827999980124, 38.149202000894171 ], [ -122.533256999404713, 38.148119000838058 ], [ -122.53156300048083, 38.147150000632351 ], [ -122.529549000440937, 38.146105000953874 ], [ -122.527580000516764, 38.145266000970153 ], [ -122.526039000308188, 38.144556000594818 ], [ -122.523964000060516, 38.143511000491472 ], [ -122.5222229999804, 38.142405000541622 ], [ -122.522125000293642, 38.142327000645821 ], [ -122.521094000373466, 38.141512000567992 ], [ -122.520102000526549, 38.140696000718407 ], [ -122.519019000000668, 38.139742000916236 ], [ -122.517920000406122, 38.138643000810383 ], [ -122.516897999854621, 38.137537000473337 ], [ -122.515952000483196, 38.136454000780638 ], [ -122.515290000115201, 38.135618000824195 ], [ -122.515005999489034, 38.135202000501948 ], [ -122.514013999908613, 38.133783001131327 ], [ -122.513143999873947, 38.132235001013115 ], [ -122.512473000011497, 38.130305000981224 ], [ -122.511832000490145, 38.128444001128166 ], [ -122.511512000072855, 38.127147000649728 ], [ -122.511373999660393, 38.125827000688162 ], [ -122.511290000512446, 38.124919000268491 ], [ -122.510899999540939, 38.124415000643822 ], [ -122.51045800043056, 38.123027000803148 ], [ -122.509710000112321, 38.121478000485027 ], [ -122.508839999608369, 38.119792000446267 ], [ -122.507924999649376, 38.118098001079439 ], [ -122.506857000474696, 38.116656000766724 ], [ -122.506033000203857, 38.115825000336905 ], [ -122.505589000383011, 38.115419000492409 ], [ -122.505548999866619, 38.115379000786199 ], [ -122.504843000469023, 38.114680000936062 ], [ -122.503972999909791, 38.11391700061408 ], [ -122.502798000020235, 38.112987000612094 ], [ -122.501898000104688, 38.11242200087208 ], [ -122.501589000260793, 38.112319000796688 ], [ -122.50108900015961, 38.112119000652967 ], [ -122.502288999656713, 38.111219000493165 ], [ -122.501088999676824, 38.110884000407069 ], [ -122.499635000065794, 38.110478000953783 ], [ -122.498721000502172, 38.110222000515733 ], [ -122.495487999621091, 38.109319001049663 ], [ -122.494788000091361, 38.109219000919587 ], [ -122.4895110005032, 38.105544000838222 ], [ -122.489188000171893, 38.105319000393749 ], [ -122.489212999586456, 38.105179001087897 ], [ -122.489488000408073, 38.103619000975797 ], [ -122.489988000165553, 38.100319000441395 ], [ -122.490029999797059, 38.100110000692091 ], [ -122.490088000331241, 38.099819001069839 ], [ -122.490188000391868, 38.098119000723614 ], [ -122.48978800039626, 38.097219000336878 ], [ -122.490287999864236, 38.096619000754593 ], [ -122.490088000234195, 38.095219000375479 ], [ -122.490987999656198, 38.094519000313845 ], [ -122.490887999885317, 38.094219000401011 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 32, "TAZ1454": 1405, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.533809999708339, 38.088188000995395 ], [ -122.534289999679785, 38.087820000734631 ], [ -122.540190000500573, 38.083520001122572 ], [ -122.540927999410698, 38.083113000303349 ], [ -122.541589999543518, 38.08282000108936 ], [ -122.542176000368244, 38.082530000726528 ], [ -122.542867999599565, 38.08222800107886 ], [ -122.54336199992575, 38.082024001100287 ], [ -122.544177999735751, 38.081732000959086 ], [ -122.544487000349008, 38.081664000383213 ], [ -122.544813999786456, 38.081423000414993 ], [ -122.545067999799244, 38.08123600049656 ], [ -122.545489999697352, 38.080820000675104 ], [ -122.545687000080633, 38.080479000511353 ], [ -122.545825000333537, 38.080166000705432 ], [ -122.545895999411584, 38.079954000536823 ], [ -122.546846999833576, 38.080759001086086 ], [ -122.547752999414556, 38.081495000590103 ], [ -122.548037999976074, 38.081747000815859 ], [ -122.548480000116953, 38.082136001035416 ], [ -122.549589999448258, 38.083220000568787 ], [ -122.550371000345848, 38.084001000321571 ], [ -122.551190000110026, 38.08482000050769 ], [ -122.552440999428811, 38.086019000464447 ], [ -122.553258000166835, 38.08680200065556 ], [ -122.555991000435867, 38.089420000813746 ], [ -122.558990999630566, 38.092120000999756 ], [ -122.560391000270485, 38.093620000960271 ], [ -122.561946999601773, 38.095823000255521 ], [ -122.562003999447668, 38.095928000560917 ], [ -122.562085999637716, 38.09608900061825 ], [ -122.562161999724083, 38.096256000537117 ], [ -122.562261000480405, 38.09650400110182 ], [ -122.562323000379209, 38.096686000843128 ], [ -122.562373000295878, 38.096838000386171 ], [ -122.562431999857594, 38.09707800085301 ], [ -122.562472999803887, 38.097308000479273 ], [ -122.562493000458048, 38.097506000765271 ], [ -122.562485999780179, 38.097683000991672 ], [ -122.562452000502034, 38.09787600094652 ], [ -122.562391000122673, 38.09813300035762 ], [ -122.562302000524951, 38.098379000900159 ], [ -122.562139000206827, 38.098765000870991 ], [ -122.562037000205621, 38.099038000705903 ], [ -122.561961999970009, 38.099337000840642 ], [ -122.561798000371937, 38.100526000430975 ], [ -122.561747999523249, 38.101926000638919 ], [ -122.561790999913484, 38.102420000871547 ], [ -122.562108999701181, 38.103895000790196 ], [ -122.562490999973392, 38.10531900077531 ], [ -122.563165000427034, 38.107104000846384 ], [ -122.563959000135583, 38.109090000919132 ], [ -122.564403000323594, 38.110308000300058 ], [ -122.564691000358877, 38.111319001017392 ], [ -122.565292000060552, 38.114719000473009 ], [ -122.56569199952007, 38.116419000299153 ], [ -122.564992000310241, 38.116419000838192 ], [ -122.563291999534513, 38.116419000352003 ], [ -122.560290999663337, 38.116819000701099 ], [ -122.559875999742346, 38.116902000837484 ], [ -122.557291000399488, 38.117419000888766 ], [ -122.556990999664663, 38.117419000249498 ], [ -122.556191000523867, 38.11751900102724 ], [ -122.555090999969863, 38.11761900076872 ], [ -122.554291000447094, 38.117619000409761 ], [ -122.552234000482372, 38.117752000611667 ], [ -122.551668999769845, 38.117788000993393 ], [ -122.5511909996101, 38.11781900095405 ], [ -122.550091000461251, 38.117919000718196 ], [ -122.549379000192005, 38.117998000529724 ], [ -122.549191000425523, 38.118019000698006 ], [ -122.548590999739787, 38.117719000907059 ], [ -122.547390999412841, 38.11711900023753 ], [ -122.546791000036507, 38.116919001050093 ], [ -122.543190999972353, 38.115119000766903 ], [ -122.542891000114523, 38.115019000293742 ], [ -122.5420910000784, 38.114619001116196 ], [ -122.539289999616628, 38.113319000763212 ], [ -122.537989999620478, 38.11271900030971 ], [ -122.536190000375186, 38.111819001133284 ], [ -122.535189999480835, 38.111319000773157 ], [ -122.532589999409581, 38.109919001113802 ], [ -122.53088999950036, 38.109019000265889 ], [ -122.527489999634625, 38.10731900037112 ], [ -122.525690000326463, 38.106319000592819 ], [ -122.523489999432002, 38.106119000990205 ], [ -122.522488999408452, 38.10591900104361 ], [ -122.519889000163175, 38.105519000397891 ], [ -122.518889000100373, 38.10481900097006 ], [ -122.514889000225565, 38.105019000852742 ], [ -122.513588999900648, 38.104619000786762 ], [ -122.512788999834868, 38.104119000367007 ], [ -122.513529000510005, 38.1035710007124 ], [ -122.521289000427288, 38.097719000265364 ], [ -122.526588999634725, 38.093720000237958 ], [ -122.533809999708339, 38.088188000995395 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1418, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.708096999525424, 38.01052300093734 ], [ -122.708097000213357, 38.010923000461553 ], [ -122.708280999899998, 38.011436000961474 ], [ -122.708037000285429, 38.011543000779852 ], [ -122.707868999631202, 38.011794000706331 ], [ -122.707696999458705, 38.012123000286138 ], [ -122.707608999648215, 38.012199000505042 ], [ -122.70837199975098, 38.014388000529578 ], [ -122.708397000201003, 38.014523001107371 ], [ -122.708432999534679, 38.014625000461955 ], [ -122.708696999606943, 38.014923000356063 ], [ -122.708616999470635, 38.015548000902584 ], [ -122.709397000144818, 38.015923000817139 ], [ -122.70971500022759, 38.016585000262822 ], [ -122.710050999664688, 38.016836000617396 ], [ -122.710448000496825, 38.017470000586343 ], [ -122.710477999903475, 38.017897000298404 ], [ -122.710523999946503, 38.018385000437 ], [ -122.711408999402366, 38.018545000594777 ], [ -122.711530999517493, 38.018919000382873 ], [ -122.711850999669693, 38.019438000915116 ], [ -122.712476999680462, 38.019911000459899 ], [ -122.712936000486863, 38.020598000951743 ], [ -122.713497999778269, 38.021322000446169 ], [ -122.714279000115994, 38.021528001067296 ], [ -122.714827999512309, 38.02196300100141 ], [ -122.715652000335922, 38.022726000974174 ], [ -122.716277000307002, 38.023375001105762 ], [ -122.716337999723365, 38.023977000287381 ], [ -122.716338000046235, 38.024573001101956 ], [ -122.716247000510009, 38.025305000462588 ], [ -122.716353999407161, 38.025633000427369 ], [ -122.716397999873422, 38.025722001044677 ], [ -122.716491000472729, 38.026076000667658 ], [ -122.716200999973069, 38.026777000551235 ], [ -122.716064000024076, 38.027678000699936 ], [ -122.715773999897905, 38.028219000868397 ], [ -122.715315999968524, 38.028067000939892 ], [ -122.714997999859392, 38.027822000889451 ], [ -122.714400999652881, 38.027868000330344 ], [ -122.713928000049549, 38.02770100086552 ], [ -122.713332000334688, 38.027838000759481 ], [ -122.713378000363249, 38.028311000746903 ], [ -122.713058000044512, 38.028929000496696 ], [ -122.712297999621157, 38.029322000684033 ], [ -122.711820999520171, 38.029349000321481 ], [ -122.711088000183025, 38.029410001043608 ], [ -122.710019999931305, 38.029410000923498 ], [ -122.709502000141228, 38.029783000585823 ], [ -122.708585999778364, 38.029997001102302 ], [ -122.707854000146398, 38.030218000523263 ], [ -122.706996999899857, 38.030022000303084 ], [ -122.706067999666374, 38.030447000292227 ], [ -122.705396999973502, 38.03082200108603 ], [ -122.70490899987422, 38.03089700056622 ], [ -122.703087999962548, 38.030813000518172 ], [ -122.702771999427242, 38.030798000594359 ], [ -122.700559999722913, 38.031447000901615 ], [ -122.69970499993795, 38.032248000526629 ], [ -122.698713999909444, 38.032637001066156 ], [ -122.698468999659283, 38.03287300095834 ], [ -122.697897000131377, 38.033622000262689 ], [ -122.697797999614465, 38.033446000392232 ], [ -122.697675999825321, 38.03336900028215 ], [ -122.697446999990333, 38.033194000559575 ], [ -122.697278999912882, 38.033056000964152 ], [ -122.696959000342218, 38.032843000434596 ], [ -122.696744999475314, 38.03273600095828 ], [ -122.696424999531686, 38.032637000316143 ], [ -122.695967000511132, 38.032484000435865 ], [ -122.69560100005242, 38.03240000029728 ], [ -122.695234999412662, 38.032385000263019 ], [ -122.694806999467545, 38.032431000964522 ], [ -122.694426000212559, 38.032561000971981 ], [ -122.694090000032759, 38.032736000666404 ], [ -122.693632000401323, 38.032881000541103 ], [ -122.693220000359645, 38.032873000794751 ], [ -122.693007000303353, 38.032744000450975 ], [ -122.692897000360986, 38.032722000400554 ], [ -122.692685999949205, 38.032446001118736 ], [ -122.692411000172555, 38.032095000597103 ], [ -122.692291999883906, 38.031925000360857 ], [ -122.692181999628815, 38.03176700069929 ], [ -122.691953000056088, 38.031470000839121 ], [ -122.691877000292024, 38.031203000583773 ], [ -122.69170900001663, 38.030890000980094 ], [ -122.691556000397128, 38.030791000344038 ], [ -122.691343000135888, 38.03068400085607 ], [ -122.69112900007535, 38.030485000882315 ], [ -122.690915000031296, 38.030318000537548 ], [ -122.69059599945335, 38.030222000535055 ], [ -122.690427000216516, 38.030188000952329 ], [ -122.690090999630016, 38.030295001071551 ], [ -122.68977099981673, 38.030440000844727 ], [ -122.689466000409354, 38.030577000825467 ], [ -122.689083999804026, 38.030707000746496 ], [ -122.688825000211253, 38.030722000574819 ], [ -122.68854999976773, 38.030630000503905 ], [ -122.68842799984175, 38.030554001121445 ], [ -122.688168999658629, 38.030287000956761 ], [ -122.687986000462118, 38.030028000717017 ], [ -122.687711000066116, 38.029837000945243 ], [ -122.687527999741377, 38.029753001036333 ], [ -122.687375000113136, 38.029776000621368 ], [ -122.687237999623676, 38.029867001044494 ], [ -122.687191999490338, 38.03006600073688 ], [ -122.687237999691689, 38.030340001110673 ], [ -122.68724400009971, 38.0303960011097 ], [ -122.687268000501547, 38.030638000597911 ], [ -122.687191999756365, 38.030813000438201 ], [ -122.687009000404728, 38.030821000799975 ], [ -122.686810999685932, 38.030714000595559 ], [ -122.686689000304028, 38.030577000646218 ], [ -122.686615000007123, 38.030529000331541 ], [ -122.686367999391848, 38.030371000404777 ], [ -122.686047999743778, 38.030256000802574 ], [ -122.685909999486142, 38.030279000673296 ], [ -122.685864999827174, 38.030440000842873 ], [ -122.685909999874241, 38.030676000989487 ], [ -122.685925999571595, 38.030935000970615 ], [ -122.685879999558281, 38.031058000408521 ], [ -122.685773000340959, 38.031141001056923 ], [ -122.685636000217784, 38.03115700031195 ], [ -122.685360999512412, 38.031149000379095 ], [ -122.685025000411386, 38.03118000071251 ], [ -122.684690000017298, 38.031256001064357 ], [ -122.684506999878892, 38.031317001012752 ], [ -122.684246999869757, 38.031378000306596 ], [ -122.683896000372158, 38.031470000943621 ], [ -122.683560999822177, 38.031515000284422 ], [ -122.683071999517125, 38.03151500085005 ], [ -122.682874000329221, 38.031477000681441 ], [ -122.682751999640004, 38.031454000710923 ], [ -122.682676000225285, 38.031355000711002 ], [ -122.682629999917353, 38.031149000344243 ], [ -122.682644999558306, 38.030928000549892 ], [ -122.682598999812441, 38.030676000531052 ], [ -122.682496000330417, 38.030622000622188 ], [ -122.682171999590693, 38.030508000831766 ], [ -122.681836000072323, 38.030447000912318 ], [ -122.68153099949518, 38.030424000933486 ], [ -122.681271999579607, 38.030379001104905 ], [ -122.680875000360729, 38.030295000888529 ], [ -122.680477999970009, 38.030180000637053 ], [ -122.680188000075574, 38.030073000607331 ], [ -122.679929000492095, 38.029959001081288 ], [ -122.679654000164504, 38.029776000303599 ], [ -122.679348999728916, 38.02959300088699 ], [ -122.679151000328162, 38.029448000553181 ], [ -122.678921999661227, 38.029219000461147 ], [ -122.67872400011538, 38.028914001098236 ], [ -122.678600999640153, 38.028708000467255 ], [ -122.67853999971085, 38.028486001128087 ], [ -122.678696000028353, 38.028322000313345 ], [ -122.678494999538728, 38.028250000819661 ], [ -122.678403000276575, 38.028212000817369 ], [ -122.678205000350601, 38.028158000430459 ], [ -122.677976000032174, 38.028082001033717 ], [ -122.677625000488433, 38.028044000994122 ], [ -122.677243000499772, 38.0280820010586 ], [ -122.676923000457748, 38.028189000279205 ], [ -122.676724999451167, 38.028212000245276 ], [ -122.676511000183609, 38.028181000605272 ], [ -122.676389000384432, 38.028052000544861 ], [ -122.676343000190116, 38.027838000560102 ], [ -122.676266999517068, 38.027754000921533 ], [ -122.675976999808242, 38.02775400063161 ], [ -122.67562600046692, 38.027907000664825 ], [ -122.675289999723887, 38.028105000625594 ], [ -122.675202000253975, 38.028153000498463 ], [ -122.674969999400616, 38.028280000768326 ], [ -122.674725999998685, 38.028326000704247 ], [ -122.674421000071376, 38.028250000424279 ], [ -122.674068999784453, 38.028013001027929 ], [ -122.673839999739855, 38.027800000494757 ], [ -122.673595999431186, 38.027586000707878 ], [ -122.673351000456705, 38.027365000980929 ], [ -122.673061999463954, 38.027136000286283 ], [ -122.672726000258862, 38.026961000885436 ], [ -122.672511999856454, 38.02686900058854 ], [ -122.672206999466383, 38.026785001087219 ], [ -122.671810000479809, 38.0266780010842 ], [ -122.671474999826145, 38.026564000580159 ], [ -122.671200000512243, 38.026488000954402 ], [ -122.670971000358492, 38.026388000285678 ], [ -122.670620000103767, 38.026266000556873 ], [ -122.670451999772382, 38.026182000765807 ], [ -122.670162000078278, 38.026083001006533 ], [ -122.669856999643471, 38.025946000905932 ], [ -122.669521999964672, 38.025854000548186 ], [ -122.669215999566717, 38.025763001031549 ], [ -122.668773999730476, 38.025664000946307 ], [ -122.668392000359049, 38.025603000662869 ], [ -122.668010999935063, 38.025572000242775 ], [ -122.667794999916396, 38.025622000777929 ], [ -122.667401000398797, 38.025496000738841 ], [ -122.66691200032956, 38.025267000323325 ], [ -122.666286999392767, 38.025107000790946 ], [ -122.666118999501009, 38.024656000697547 ], [ -122.665462999805527, 38.024046001127388 ], [ -122.665407999520411, 38.02390700024619 ], [ -122.665203000159025, 38.023390000699926 ], [ -122.665630999910206, 38.022825000327913 ], [ -122.665019999890973, 38.022680000552242 ], [ -122.664272000032369, 38.022536000800031 ], [ -122.663994999448647, 38.022622000398876 ], [ -122.664196000084885, 38.023207000569251 ], [ -122.664190000333463, 38.023378000918264 ], [ -122.664165999470086, 38.024122000634328 ], [ -122.664424999396687, 38.024954001037578 ], [ -122.664495000093623, 38.025322000620697 ], [ -122.664088999592067, 38.025389000912959 ], [ -122.664059000332685, 38.025732000935349 ], [ -122.664395000418509, 38.025953000405167 ], [ -122.664317999553205, 38.026434000412067 ], [ -122.66372300012479, 38.026625000653986 ], [ -122.662823000345554, 38.026236000287611 ], [ -122.662151999904935, 38.026236001121013 ], [ -122.661510999864348, 38.025702000890533 ], [ -122.660869999992912, 38.025717000604047 ], [ -122.659602999688801, 38.025595001084845 ], [ -122.65908100038294, 38.025671000799079 ], [ -122.658244999838445, 38.025793000384468 ], [ -122.657832999953854, 38.026083000997637 ], [ -122.65734500031931, 38.02622800034689 ], [ -122.656521000046652, 38.026091000467318 ], [ -122.655971999522052, 38.026457000416983 ], [ -122.655482999937178, 38.026686000285906 ], [ -122.654933000141867, 38.026602000369138 ], [ -122.654399000447711, 38.027189000611408 ], [ -122.654277000013764, 38.02794500032477 ], [ -122.653545000405515, 38.027960000688296 ], [ -122.652979999699895, 38.027655000927332 ], [ -122.650141999701418, 38.028227000651228 ], [ -122.648993999587262, 38.02842200075083 ], [ -122.648478999944118, 38.028166000664108 ], [ -122.647898999944516, 38.027807000802078 ], [ -122.646648000144168, 38.027327000766491 ], [ -122.645090999693195, 38.027266001015462 ], [ -122.643809000040946, 38.027815001067168 ], [ -122.643152999886084, 38.028265000988 ], [ -122.642879000472092, 38.027731000719456 ], [ -122.64289400004435, 38.026442000904346 ], [ -122.642130999917214, 38.025648000618716 ], [ -122.640514000010796, 38.025450000793803 ], [ -122.638545000424998, 38.025244000574496 ], [ -122.637096000119584, 38.025358000829534 ], [ -122.63678900041505, 38.025328000979329 ], [ -122.635553000150665, 38.025389001105765 ], [ -122.634301999899407, 38.025793000905516 ], [ -122.63395500040194, 38.025815000269162 ], [ -122.633203999671949, 38.025862000541771 ], [ -122.632197000071415, 38.025572000362878 ], [ -122.631173999418692, 38.024756000283517 ], [ -122.629145000144078, 38.023985000613635 ], [ -122.627207000479558, 38.023451000456923 ], [ -122.626196999584749, 38.022856000586344 ], [ -122.625315000363784, 38.022337000392589 ], [ -122.623606000279821, 38.021506000376974 ], [ -122.622598999602914, 38.020964000641861 ], [ -122.621057999743741, 38.020346000602444 ], [ -122.619639000443144, 38.020003001129851 ], [ -122.618020000035685, 38.019675001087997 ], [ -122.617037999476509, 38.01976400088455 ], [ -122.616391999704447, 38.019822000768258 ], [ -122.615491999481179, 38.01962200037952 ], [ -122.615392000430447, 38.018622000948632 ], [ -122.613691999701416, 38.018222001004681 ], [ -122.613691999876139, 38.010722000591052 ], [ -122.615692000484742, 38.012322000971146 ], [ -122.617792000522755, 38.01152200113799 ], [ -122.617791999612237, 38.01112200075606 ], [ -122.61749200037498, 38.009022000784832 ], [ -122.614691999443338, 38.006022000661524 ], [ -122.61429199999975, 38.004822000359191 ], [ -122.61669200036971, 38.005222000721304 ], [ -122.616601000244728, 38.005354000893668 ], [ -122.615716000495652, 38.005438000604208 ], [ -122.615243000462357, 38.005552000460668 ], [ -122.61530400036807, 38.005873000405479 ], [ -122.615823000076688, 38.006064000948392 ], [ -122.616661999669432, 38.006422000687508 ], [ -122.616998000396293, 38.006705000907992 ], [ -122.617181000007378, 38.00744500025796 ], [ -122.617776000064438, 38.007857000930763 ], [ -122.618614999760013, 38.008093000619951 ], [ -122.618997000067921, 38.008185000871528 ], [ -122.619791999553826, 38.008422000540968 ], [ -122.620384999888273, 38.008620000518668 ], [ -122.621284999708536, 38.008650000366025 ], [ -122.622246999745713, 38.008627000530971 ], [ -122.622842999783643, 38.008459000781066 ], [ -122.623406999565603, 38.007971000990743 ], [ -122.623818999786636, 38.007475001009439 ], [ -122.624398999987179, 38.006964000794227 ], [ -122.624893000414986, 38.006722000981568 ], [ -122.625131999611227, 38.006567000424432 ], [ -122.625329999619112, 38.006293001073097 ], [ -122.624992999691102, 38.006022000361419 ], [ -122.624992999892342, 38.002322000628247 ], [ -122.624092000315088, 38.001423000794972 ], [ -122.624791999747259, 38.000223001081551 ], [ -122.626193000199706, 37.999523000731955 ], [ -122.626611999865233, 37.999488000945306 ], [ -122.626824999731639, 37.999389000244989 ], [ -122.627115000387519, 37.998870000936734 ], [ -122.62717199945665, 37.998828000580588 ], [ -122.627481999838324, 37.998595001068786 ], [ -122.627892999436014, 37.998523000625347 ], [ -122.62816800030329, 37.998344000831182 ], [ -122.628412000158761, 37.997962000502589 ], [ -122.628792999699058, 37.99722300111393 ], [ -122.631593000272304, 37.995723000366141 ], [ -122.632292999880377, 37.995223000647606 ], [ -122.633890000484499, 37.994842000634712 ], [ -122.634897000439764, 37.994682000877837 ], [ -122.635690999417847, 37.994750000965205 ], [ -122.636774000119274, 37.994895000423774 ], [ -122.63719300044059, 37.995023001048246 ], [ -122.637613000145521, 37.994766000757387 ], [ -122.638055999831479, 37.994628000789113 ], [ -122.638787999484975, 37.994804000309756 ], [ -122.639216000401092, 37.995124000789666 ], [ -122.639810999989365, 37.9954750008798 ], [ -122.640467000187755, 37.995605000666863 ], [ -122.640802000422113, 37.995902000403319 ], [ -122.64161099994665, 37.99620700049288 ], [ -122.642037999528284, 37.996490000630416 ], [ -122.642393000498103, 37.997023000792325 ], [ -122.642710000316796, 37.996711000724723 ], [ -122.643229000000304, 37.996520000237894 ], [ -122.644344000333476, 37.996360000261291 ], [ -122.645929999998444, 37.996108001090171 ], [ -122.646937999772746, 37.996291000271668 ], [ -122.648020999814094, 37.996238000749543 ], [ -122.648935999683715, 37.99594000061257 ], [ -122.649805999516175, 37.995521000420389 ], [ -122.650293999917409, 37.995223000888068 ], [ -122.650508000188211, 37.995406000638695 ], [ -122.650920000189799, 37.995956000494559 ], [ -122.651317000224282, 37.996459000977254 ], [ -122.651500000069291, 37.996993000406349 ], [ -122.652080000278275, 37.997184000398875 ], [ -122.652674999954115, 37.99738200066033 ], [ -122.65291899968382, 37.997855000441248 ], [ -122.652735999961251, 37.998214000453139 ], [ -122.653594000292657, 37.99972300081383 ], [ -122.654140000329463, 37.999023000712292 ], [ -122.654521000472414, 37.998679000940562 ], [ -122.65537599982224, 37.998519000327569 ], [ -122.6559100004974, 37.998237000298296 ], [ -122.656397999914205, 37.997878000832507 ], [ -122.656534999411235, 37.998428000910174 ], [ -122.657420000026192, 37.999450000889873 ], [ -122.658061000291099, 37.999427000749002 ], [ -122.658609999399559, 37.999564000401286 ], [ -122.65911399945071, 37.999297000726663 ], [ -122.660014000202366, 37.999099000365547 ], [ -122.660425999971466, 37.999145000831327 ], [ -122.660686000067145, 37.999084000530353 ], [ -122.660930000110753, 37.998893000656274 ], [ -122.661434000418353, 37.998801000968633 ], [ -122.664226999709783, 38.000053000574191 ], [ -122.664791000504891, 38.000152000668507 ], [ -122.665294999861885, 38.000037000757544 ], [ -122.666347999683964, 37.999679000663114 ], [ -122.667694999678019, 37.999523001022574 ], [ -122.6682249997491, 37.999564000760088 ], [ -122.668880999735151, 37.999511000859549 ], [ -122.669399000124386, 37.999244000958917 ], [ -122.669695000421385, 37.998923000381453 ], [ -122.670024999677366, 37.998695000855456 ], [ -122.670117000045877, 37.998466000483361 ], [ -122.670100999999335, 37.99816800106224 ], [ -122.670194999566789, 37.997823000704017 ], [ -122.670056000440695, 37.997558000262472 ], [ -122.669995000207663, 37.997367000572332 ], [ -122.669934000342408, 37.997146000613796 ], [ -122.67007099970256, 37.997070000961806 ], [ -122.670314999448948, 37.997108000278232 ], [ -122.670680999911653, 37.997237000306491 ], [ -122.670880000113939, 37.997291000965625 ], [ -122.671017000384296, 37.997169000338502 ], [ -122.671168999637615, 37.996993000327024 ], [ -122.671395000046331, 37.996923000851822 ], [ -122.671764999703683, 37.997184000341306 ], [ -122.672039000138952, 37.997375000240602 ], [ -122.672389999482704, 37.997611000753643 ], [ -122.672664999648205, 37.997863001058469 ], [ -122.672694999831634, 37.997947000657504 ], [ -122.672633999944665, 37.998153001115838 ], [ -122.672794999681599, 37.998623000580729 ], [ -122.673123000319308, 37.998801001080395 ], [ -122.673396999691988, 37.998801000725756 ], [ -122.673702000505131, 37.998901000581085 ], [ -122.673823999566181, 37.99915200032131 ], [ -122.67385499963315, 37.999328000306171 ], [ -122.673961999617688, 37.999526000497994 ], [ -122.674294999904973, 37.999923000755878 ], [ -122.67437399987152, 38.00080800065745 ], [ -122.67513699939596, 38.000938000604947 ], [ -122.675700999809393, 38.000915000753245 ], [ -122.67620499949453, 38.000854000618851 ], [ -122.676524999905098, 38.001647001028303 ], [ -122.677120000206216, 38.002410000315386 ], [ -122.677694999685301, 38.002923000656835 ], [ -122.678524000102939, 38.002822000342597 ], [ -122.679596000236032, 38.003523000747037 ], [ -122.679943999637246, 38.003478000781151 ], [ -122.680401999479344, 38.002898000623766 ], [ -122.681012000482639, 38.002311000622548 ], [ -122.681423999844498, 38.002586000265595 ], [ -122.682203000523813, 38.003280000979451 ], [ -122.68255400034154, 38.003326000646709 ], [ -122.682595999715446, 38.003223000565924 ], [ -122.6830879997853, 38.002860000506693 ], [ -122.683759000072655, 38.003181000883657 ], [ -122.68439999986262, 38.003280000439979 ], [ -122.685056000047396, 38.003501000521645 ], [ -122.68581899984467, 38.003135000267484 ], [ -122.686673000497208, 38.002876000281226 ], [ -122.687283999443054, 38.002853000714339 ], [ -122.688443000022289, 38.003280000480359 ], [ -122.689938999482024, 38.003959000471802 ], [ -122.691052999501281, 38.004165001071961 ], [ -122.691496000402793, 38.004023001022105 ], [ -122.691998999760557, 38.003890000770419 ], [ -122.693005999667065, 38.003585000453747 ], [ -122.69329600042893, 38.003423001037703 ], [ -122.694150000041446, 38.003303000792734 ], [ -122.694333000372595, 38.003021000805454 ], [ -122.694149999416581, 38.002342000517288 ], [ -122.696295999707374, 38.001623000559505 ], [ -122.696866000298087, 38.001159000729594 ], [ -122.697020000289626, 38.000556000479428 ], [ -122.698087999879064, 38.000182001012007 ], [ -122.698296999923016, 37.99992300096666 ], [ -122.698210000303902, 37.999282000533192 ], [ -122.69837800033271, 37.999053000776058 ], [ -122.698637000200989, 37.998809000430363 ], [ -122.698819999736315, 37.998557000652013 ], [ -122.698697999758224, 37.998130000764753 ], [ -122.698607000319527, 37.997726000808449 ], [ -122.698438999900446, 37.997047000816693 ], [ -122.698256000077606, 37.996635000896191 ], [ -122.698134000305686, 37.996192000639176 ], [ -122.698210000451127, 37.995918000571827 ], [ -122.698485000198687, 37.99567300048102 ], [ -122.698774999602904, 37.995513000737382 ], [ -122.699197000276513, 37.995523000852444 ], [ -122.699415000331143, 37.996093000743606 ], [ -122.699660000451701, 37.996681000248934 ], [ -122.70002600011648, 37.997154000767885 ], [ -122.700101999989315, 37.997504000453461 ], [ -122.700345999959083, 37.997802000352443 ], [ -122.70081900031478, 37.998237000448121 ], [ -122.70088000023037, 37.998672000568526 ], [ -122.701169999620035, 37.99890100048777 ], [ -122.701491000079429, 37.999114000314911 ], [ -122.702009000435481, 37.999542000409797 ], [ -122.702297000445128, 37.999923000833611 ], [ -122.702681000129473, 38.000327000764244 ], [ -122.703595999973686, 38.000549000917637 ], [ -122.703641999595376, 38.000961000472238 ], [ -122.703794999999886, 38.001121001131644 ], [ -122.704374999830918, 38.001151000661942 ], [ -122.705075999688503, 38.001334000464048 ], [ -122.705365999603345, 38.002082000494724 ], [ -122.705015000093979, 38.002578000891063 ], [ -122.705396999698763, 38.002754000932036 ], [ -122.705797000051192, 38.003123000319434 ], [ -122.706311999777284, 38.003547000877809 ], [ -122.706754999842644, 38.004035000261332 ], [ -122.707096999589069, 38.003923000662532 ], [ -122.706968999873567, 38.003562000432801 ], [ -122.707121000431229, 38.002921000970552 ], [ -122.707319999425735, 38.002769000480619 ], [ -122.707349999827827, 38.002410000697914 ], [ -122.707639999676886, 38.001960001070692 ], [ -122.707486999972531, 38.00167800092138 ], [ -122.708097000310502, 38.00132300080665 ], [ -122.708402999697711, 38.001807001123225 ], [ -122.708389000405063, 38.002077000968384 ], [ -122.708388000124941, 38.002090000452043 ], [ -122.708448999429692, 38.002883001052645 ], [ -122.708496999530183, 38.003223000660029 ], [ -122.708396999672701, 38.004623000558496 ], [ -122.708697000116857, 38.004423000515033 ], [ -122.708997000146567, 38.004523001019464 ], [ -122.710386999677652, 38.004829000506703 ], [ -122.711454999812787, 38.005653000538906 ], [ -122.711576999654881, 38.006667000825651 ], [ -122.711484999418431, 38.008231000402425 ], [ -122.712096000195686, 38.009803001054458 ], [ -122.713056999479235, 38.011344000372304 ], [ -122.714675000141355, 38.011871001061813 ], [ -122.714889000379856, 38.012214000461441 ], [ -122.715452999852886, 38.013221000906803 ], [ -122.716198000306719, 38.013923000750715 ], [ -122.717346000295677, 38.014320000523902 ], [ -122.719786999981352, 38.01548700061079 ], [ -122.721298000333647, 38.01581500096583 ], [ -122.723433999738759, 38.016120000769874 ], [ -122.723498000462897, 38.016423001048807 ], [ -122.723698000303159, 38.01682300084348 ], [ -122.722578999846405, 38.016654000716905 ], [ -122.720260000066261, 38.016387000801465 ], [ -122.717314999587899, 38.015159000775618 ], [ -122.714857999981803, 38.013847001061421 ], [ -122.713596999771326, 38.012323000593781 ], [ -122.712096999683055, 38.011623001038302 ], [ -122.711179999855787, 38.011825000804457 ], [ -122.711043000323173, 38.01121500052011 ], [ -122.710417000471736, 38.010719000978817 ], [ -122.709867999659153, 38.010398000528397 ], [ -122.70957800035562, 38.009704000447989 ], [ -122.70899800031809, 38.00936800035457 ], [ -122.708844999562544, 38.009086000489241 ], [ -122.708397000479067, 38.009023000958862 ], [ -122.707796999815031, 38.008723000361201 ], [ -122.707715999737061, 38.00901700037857 ], [ -122.707914999464236, 38.009200000675939 ], [ -122.708297000023549, 38.009523000780632 ], [ -122.70846399969075, 38.009704001017454 ], [ -122.708397000111731, 38.01002300087611 ], [ -122.708096999525424, 38.01052300093734 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1434, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.60679099954497, 37.990823000574558 ], [ -122.607643000351814, 37.991332001016531 ], [ -122.608513000344033, 37.991515000498147 ], [ -122.608972000207615, 37.991637000535462 ], [ -122.610054999833125, 37.992095000310549 ], [ -122.610591999522853, 37.992323000506403 ], [ -122.610741999425244, 37.99253800043244 ], [ -122.610878999850769, 37.992736000357702 ], [ -122.610954999910916, 37.992896001122546 ], [ -122.611000999654209, 37.993110000502796 ], [ -122.611137999820485, 37.99347600071232 ], [ -122.611492000338089, 37.994323000374365 ], [ -122.611792000460667, 37.994723001024425 ], [ -122.612491999486778, 37.997023001040652 ], [ -122.605890999712898, 37.997223000476637 ], [ -122.603490999596247, 37.996323000925301 ], [ -122.602562000161527, 37.99599400101183 ], [ -122.602271999909192, 37.995635000375245 ], [ -122.602028000375171, 37.995322000360304 ], [ -122.601768000033587, 37.995246000843153 ], [ -122.601524000343957, 37.995429000569743 ], [ -122.601433000344926, 37.995429000456227 ], [ -122.60103599961981, 37.995139000625777 ], [ -122.60044100028253, 37.995147000323968 ], [ -122.599998000515072, 37.995277001031539 ], [ -122.599723999447562, 37.995437000521676 ], [ -122.599463999448218, 37.99520800092705 ], [ -122.5994489998604, 37.994865000838963 ], [ -122.599245999620607, 37.994711000648479 ], [ -122.598946000249796, 37.994757000794941 ], [ -122.598861000325115, 37.994778001077698 ], [ -122.598728000330865, 37.994813000337679 ], [ -122.598605999631786, 37.994857000270073 ], [ -122.598472000295331, 37.99490500047564 ], [ -122.598288000256588, 37.99498900104107 ], [ -122.598227000516331, 37.995017001103051 ], [ -122.59811499991531, 37.995085000763027 ], [ -122.598052000446259, 37.995148000723916 ], [ -122.597794999662369, 37.995406000993832 ], [ -122.59708200026823, 37.994927000493512 ], [ -122.596490999594522, 37.994623000467122 ], [ -122.596091000237692, 37.99532300045253 ], [ -122.594791000491554, 37.994323000483632 ], [ -122.59459099980333, 37.993923000356261 ], [ -122.594291000076595, 37.993623000476163 ], [ -122.593952999550851, 37.993116001074064 ], [ -122.593890999535262, 37.993023000562992 ], [ -122.593090999659694, 37.991823001026304 ], [ -122.592591000292757, 37.991123000782366 ], [ -122.59199099967347, 37.990623001028361 ], [ -122.591591000079276, 37.989623000552207 ], [ -122.59149100010552, 37.989323000903873 ], [ -122.591390999802059, 37.989023000254619 ], [ -122.590490000098555, 37.987623001078269 ], [ -122.590090000218652, 37.987523000692363 ], [ -122.589590000141925, 37.987423000654708 ], [ -122.58819000004425, 37.987223000397456 ], [ -122.587090000521258, 37.987123000982514 ], [ -122.582489999729844, 37.986623000565103 ], [ -122.581889999814237, 37.986623000765519 ], [ -122.580990000063565, 37.98672300068759 ], [ -122.579789999452245, 37.986523000843221 ], [ -122.5797899996724, 37.986023000616015 ], [ -122.57988999951435, 37.985823001002494 ], [ -122.580090000372493, 37.985323001078172 ], [ -122.580189999578437, 37.985123000278215 ], [ -122.580389999992903, 37.984523000238191 ], [ -122.580489999529462, 37.98422300051319 ], [ -122.580523000014622, 37.984123000597378 ], [ -122.580671000054437, 37.983679000264765 ], [ -122.580790000021608, 37.983323000731936 ], [ -122.580989999938538, 37.982923000400966 ], [ -122.58118999993917, 37.982523000599336 ], [ -122.581389999763886, 37.981923000359807 ], [ -122.581489999575055, 37.981623000537077 ], [ -122.581690000101986, 37.981223000685866 ], [ -122.581990000373636, 37.980523001051594 ], [ -122.58258999940314, 37.978923000821844 ], [ -122.581622999894719, 37.977794000636294 ], [ -122.581389999466182, 37.977523000816376 ], [ -122.585789999951231, 37.97672300087639 ], [ -122.581825000167683, 37.973948000836202 ], [ -122.580832999505603, 37.973253000968064 ], [ -122.580790000255135, 37.973223000678047 ], [ -122.580873000205031, 37.97057000069033 ], [ -122.580890000005354, 37.970023000674146 ], [ -122.580490000499864, 37.969423001095755 ], [ -122.582090000335228, 37.967823000242909 ], [ -122.581690000061883, 37.965923001133802 ], [ -122.580790000467488, 37.965023000960485 ], [ -122.580389999923838, 37.96212400069966 ], [ -122.58029000006141, 37.959924000529334 ], [ -122.576889000106917, 37.958324000608975 ], [ -122.576989000402435, 37.957524000783003 ], [ -122.576988999886126, 37.957224000823452 ], [ -122.576989000138198, 37.95672400086098 ], [ -122.577588999527876, 37.956424000755192 ], [ -122.577489000112919, 37.955724000319854 ], [ -122.578488999575981, 37.955024000908352 ], [ -122.580189000107978, 37.954424000711256 ], [ -122.580652999956712, 37.954269000260901 ], [ -122.581090000476848, 37.954124000808662 ], [ -122.584290000000735, 37.955924000289876 ], [ -122.586389999435951, 37.956824000669947 ], [ -122.58739000041524, 37.957424000752823 ], [ -122.590590000402813, 37.959424000680357 ], [ -122.593489999680159, 37.959424000333797 ], [ -122.592890000526808, 37.961924000754209 ], [ -122.594490000012627, 37.9628240004986 ], [ -122.594690000216005, 37.964324001070224 ], [ -122.597191000462956, 37.962424001084983 ], [ -122.598667000167708, 37.962575000574375 ], [ -122.601090999789037, 37.962824000309574 ], [ -122.60227999962369, 37.961909000855968 ], [ -122.602391000303825, 37.961824000416541 ], [ -122.604990999798957, 37.96212400029345 ], [ -122.605090999837401, 37.966723000820963 ], [ -122.605024000252584, 37.966914000752936 ], [ -122.604490999420918, 37.968423000459758 ], [ -122.604536999450033, 37.968653001073697 ], [ -122.604590999501482, 37.968923000741981 ], [ -122.605290999989549, 37.972323000315562 ], [ -122.604791000141034, 37.972323000649446 ], [ -122.599091000405437, 37.973823000483577 ], [ -122.601190999820219, 37.973523000418332 ], [ -122.601390999418555, 37.974723000564957 ], [ -122.601390999521485, 37.975023000759208 ], [ -122.604590999631384, 37.974523000975914 ], [ -122.606991000431094, 37.974323000337186 ], [ -122.608790999620638, 37.974223000715945 ], [ -122.608710999653113, 37.974502000767949 ], [ -122.608664999957199, 37.974761000708597 ], [ -122.608405999573748, 37.974822000535639 ], [ -122.608314999522065, 37.97491400034032 ], [ -122.608405999739787, 37.975089001003688 ], [ -122.608360000113237, 37.975211000415726 ], [ -122.608771999429678, 37.975593000919993 ], [ -122.609230000187154, 37.975913000834417 ], [ -122.60969100015555, 37.976123000332635 ], [ -122.609977999546672, 37.976066000325837 ], [ -122.61045099972992, 37.975951000430079 ], [ -122.610618999558781, 37.976188000713762 ], [ -122.611090999508718, 37.976023000456614 ], [ -122.611183000212165, 37.976249000776335 ], [ -122.611382000261216, 37.976241000611324 ], [ -122.611549000331109, 37.976348000707539 ], [ -122.611824000488397, 37.976486000825361 ], [ -122.612114999450299, 37.976463000904126 ], [ -122.612373999978828, 37.97650100038441 ], [ -122.612434999480982, 37.976363000494651 ], [ -122.612526999428212, 37.976394000567431 ], [ -122.612694999707415, 37.976417000434587 ], [ -122.612755999567909, 37.97634100092052 ], [ -122.613168000117085, 37.976417000351695 ], [ -122.613473000190851, 37.976562000945691 ], [ -122.613564999765771, 37.976745000720555 ], [ -122.61409199979984, 37.977023001015787 ], [ -122.614480000422446, 37.976913001116067 ], [ -122.615292000119936, 37.975423001128689 ], [ -122.615532999865167, 37.975631000767905 ], [ -122.615791999519743, 37.975423000364813 ], [ -122.61669200017208, 37.975623000625873 ], [ -122.617291999995331, 37.975523000450693 ], [ -122.615949000255682, 37.978299000441126 ], [ -122.615791999971236, 37.978623001112958 ], [ -122.61549200006661, 37.978523000793423 ], [ -122.61519199940102, 37.979023000845757 ], [ -122.613792000270507, 37.978023000884448 ], [ -122.613701999553342, 37.978156000490586 ], [ -122.613548999626161, 37.97831700068545 ], [ -122.613335999951929, 37.978202001125993 ], [ -122.613106999747544, 37.978095000663295 ], [ -122.6128469996695, 37.978027001023548 ], [ -122.612588000457166, 37.978057000285624 ], [ -122.612282999879312, 37.978187000318982 ], [ -122.611992000438917, 37.978323000553111 ], [ -122.611856000157488, 37.978095000903487 ], [ -122.611794999665392, 37.978004001111927 ], [ -122.611641999489677, 37.977851000787759 ], [ -122.611442999744213, 37.977943000552955 ], [ -122.611243999640834, 37.978019000307839 ], [ -122.611136999882007, 37.978004000693801 ], [ -122.611030999850243, 37.977882000636264 ], [ -122.610908999741653, 37.977729000921073 ], [ -122.610755999518332, 37.977653001012676 ], [ -122.610573000524212, 37.977798000240057 ], [ -122.610312999421751, 37.977851001067165 ], [ -122.610022999592275, 37.977760000373515 ], [ -122.609590999892305, 37.977723000716068 ], [ -122.609458999823985, 37.978095000984304 ], [ -122.609291000386804, 37.978462001033201 ], [ -122.609138000346746, 37.978500000268944 ], [ -122.608924999802781, 37.978484001045018 ], [ -122.608863999914831, 37.978622000848269 ], [ -122.608756999957762, 37.97879700052188 ], [ -122.608591000200988, 37.979023000550377 ], [ -122.608573999412172, 37.97922400061568 ], [ -122.60807000034923, 37.979324000286212 ], [ -122.60770400001843, 37.979270000782343 ], [ -122.607368000406453, 37.979194000702776 ], [ -122.607033000231368, 37.979049000391271 ], [ -122.606590999889349, 37.979023000683554 ], [ -122.606589999570659, 37.979217000483864 ], [ -122.60678899995456, 37.979339000880344 ], [ -122.607079000035199, 37.979453000483723 ], [ -122.607231000043186, 37.97955300040654 ], [ -122.606986999734801, 37.979659000645491 ], [ -122.606711999416078, 37.979659000805555 ], [ -122.60634600016067, 37.979652001049246 ], [ -122.606102000249834, 37.979682001049447 ], [ -122.605843000370555, 37.979781000649609 ], [ -122.6055070003423, 37.979812000662442 ], [ -122.605277999452071, 37.979873000379776 ], [ -122.605002999777128, 37.979949000346352 ], [ -122.604728999659741, 37.979812000769982 ], [ -122.60449099996255, 37.979523000437041 ], [ -122.604090999730033, 37.979423000716551 ], [ -122.604191000034902, 37.979623000463768 ], [ -122.604453999625974, 37.980384000660457 ], [ -122.604691000289236, 37.980823000790913 ], [ -122.603690999955361, 37.980923000858567 ], [ -122.603391000272026, 37.980223000525022 ], [ -122.602591000211817, 37.980623001125174 ], [ -122.600691000065339, 37.981323001034568 ], [ -122.600548000288882, 37.981521000633073 ], [ -122.60060900022836, 37.981796000406923 ], [ -122.600655000306404, 37.981979000771865 ], [ -122.600791999679132, 37.982185000806822 ], [ -122.601035999764449, 37.982261000551702 ], [ -122.601390999811798, 37.982323000472249 ], [ -122.601386999942548, 37.982581000253489 ], [ -122.601524000464337, 37.982780000929637 ], [ -122.601784000156343, 37.982841000923102 ], [ -122.602012999672937, 37.982948000806715 ], [ -122.602195999707305, 37.983146000877284 ], [ -122.601967000218622, 37.983245000472401 ], [ -122.601676999672577, 37.983367000302088 ], [ -122.601490999564646, 37.983423000853769 ], [ -122.601448000226767, 37.983543000352448 ], [ -122.601493999420256, 37.983672000619116 ], [ -122.601631000167515, 37.983840000466621 ], [ -122.601845000080118, 37.983901000441364 ], [ -122.602074000304412, 37.983863001119154 ], [ -122.602271999595445, 37.983756000332647 ], [ -122.602333000118591, 37.983894000776296 ], [ -122.60239400039849, 37.984084000946595 ], [ -122.602364000357639, 37.984260001121726 ], [ -122.602272000154812, 37.984443001046195 ], [ -122.602134999807291, 37.984626001000684 ], [ -122.601982000367173, 37.984824000847169 ], [ -122.601722999648686, 37.984931000971841 ], [ -122.601371999904217, 37.984954000664032 ], [ -122.601311000269988, 37.98513000092418 ], [ -122.601418000182804, 37.98546500058616 ], [ -122.601631000142689, 37.985732001092998 ], [ -122.602027999713357, 37.986007000953776 ], [ -122.60233100037226, 37.98618600108933 ], [ -122.602622999890457, 37.98635800083467 ], [ -122.602991000053919, 37.98662300062027 ], [ -122.602927999797032, 37.986945000668129 ], [ -122.602958999732806, 37.987304000382025 ], [ -122.603126999554291, 37.98765500023864 ], [ -122.603492999777188, 37.988006000541823 ], [ -122.603797999951254, 37.988212000741015 ], [ -122.604164000466255, 37.988517000878701 ], [ -122.604393000000513, 37.988784000560464 ], [ -122.604682999452024, 37.989166000780166 ], [ -122.604804999702068, 37.989295000906452 ], [ -122.605002999512223, 37.989219000800347 ], [ -122.605308999785336, 37.989097000655569 ], [ -122.605689999583404, 37.989394000570854 ], [ -122.606162999394343, 37.989608000539093 ], [ -122.606591000422029, 37.989623000885757 ], [ -122.606691000328922, 37.990223000802608 ], [ -122.60679099954497, 37.990823000574558 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1433, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.5797899996724, 37.986023000616015 ], [ -122.579789999452245, 37.986523000843221 ], [ -122.579490000498609, 37.986523000301929 ], [ -122.579089999605785, 37.986623000282655 ], [ -122.578790000246315, 37.986623000657339 ], [ -122.577889999793356, 37.986723000278744 ], [ -122.576989999608557, 37.986623000338973 ], [ -122.575089999505494, 37.985823001080313 ], [ -122.574089000053732, 37.985323000900955 ], [ -122.573588999763444, 37.985023000571445 ], [ -122.573232999873284, 37.98482700095699 ], [ -122.571588999888462, 37.983923000898173 ], [ -122.570389000153142, 37.983223000431146 ], [ -122.570189000278361, 37.983123000283477 ], [ -122.569089000268974, 37.982323000852162 ], [ -122.56758900040046, 37.981423000738815 ], [ -122.566888999520401, 37.981023000278164 ], [ -122.565688999992332, 37.980223000841583 ], [ -122.564989000306298, 37.979823000764796 ], [ -122.564489000292994, 37.979323000357802 ], [ -122.564288999543848, 37.978823000852671 ], [ -122.566088999778515, 37.978023000960597 ], [ -122.566689000372534, 37.977923000484672 ], [ -122.567389000103191, 37.977623000520047 ], [ -122.567689000468533, 37.977523000687917 ], [ -122.567888999853039, 37.977423000497325 ], [ -122.56938900019837, 37.976623000951705 ], [ -122.571088999770126, 37.977423000961451 ], [ -122.571989000101027, 37.977823000644641 ], [ -122.572989000196557, 37.977623000939012 ], [ -122.572888999853348, 37.977923000878121 ], [ -122.572689000167657, 37.978023000560917 ], [ -122.572889000102677, 37.978723000525086 ], [ -122.574289000265054, 37.978023000489749 ], [ -122.574588999525957, 37.977523000733029 ], [ -122.574408999779607, 37.977163000919212 ], [ -122.574188999673552, 37.97672300104739 ], [ -122.57338900014625, 37.97642300105683 ], [ -122.573188999747316, 37.976323000519351 ], [ -122.573589000480879, 37.976123000835358 ], [ -122.574088999512838, 37.975723000248017 ], [ -122.575189000386828, 37.975623000906495 ], [ -122.575788999477822, 37.976023000910089 ], [ -122.576790000255698, 37.974323000510189 ], [ -122.578590000358545, 37.973223000938809 ], [ -122.57698999952855, 37.973123000552874 ], [ -122.58070599945674, 37.970169000868758 ], [ -122.580890000005354, 37.970023000674146 ], [ -122.580873000205031, 37.97057000069033 ], [ -122.580790000255135, 37.973223000678047 ], [ -122.580832999505603, 37.973253000968064 ], [ -122.581825000167683, 37.973948000836202 ], [ -122.585789999951231, 37.97672300087639 ], [ -122.581389999466182, 37.977523000816376 ], [ -122.581622999894719, 37.977794000636294 ], [ -122.58258999940314, 37.978923000821844 ], [ -122.581990000373636, 37.980523001051594 ], [ -122.581690000101986, 37.981223000685866 ], [ -122.581489999575055, 37.981623000537077 ], [ -122.581389999763886, 37.981923000359807 ], [ -122.58118999993917, 37.982523000599336 ], [ -122.580989999938538, 37.982923000400966 ], [ -122.580790000021608, 37.983323000731936 ], [ -122.580671000054437, 37.983679000264765 ], [ -122.580523000014622, 37.984123000597378 ], [ -122.580489999529462, 37.98422300051319 ], [ -122.580389999992903, 37.984523000238191 ], [ -122.580189999578437, 37.985123000278215 ], [ -122.580090000372493, 37.985323001078172 ], [ -122.57988999951435, 37.985823001002494 ], [ -122.5797899996724, 37.986023000616015 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1432, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.57338900014625, 37.97642300105683 ], [ -122.574188999673552, 37.97672300104739 ], [ -122.574408999779607, 37.977163000919212 ], [ -122.574588999525957, 37.977523000733029 ], [ -122.574289000265054, 37.978023000489749 ], [ -122.572889000102677, 37.978723000525086 ], [ -122.572689000167657, 37.978023000560917 ], [ -122.572888999853348, 37.977923000878121 ], [ -122.572989000196557, 37.977623000939012 ], [ -122.571989000101027, 37.977823000644641 ], [ -122.571088999770126, 37.977423000961451 ], [ -122.56938900019837, 37.976623000951705 ], [ -122.567888999853039, 37.977423000497325 ], [ -122.567689000468533, 37.977523000687917 ], [ -122.567389000103191, 37.977623000520047 ], [ -122.566689000372534, 37.977923000484672 ], [ -122.566088999778515, 37.978023000960597 ], [ -122.564288999543848, 37.978823000852671 ], [ -122.564489000292994, 37.979323000357802 ], [ -122.564989000306298, 37.979823000764796 ], [ -122.565688999992332, 37.980223000841583 ], [ -122.563289000034615, 37.98102300053678 ], [ -122.5596889995537, 37.984623000542342 ], [ -122.56088899951412, 37.980123000404568 ], [ -122.561088999687513, 37.979223000981435 ], [ -122.560589000207699, 37.980023000834635 ], [ -122.558789000177299, 37.982123000797898 ], [ -122.557389000071637, 37.983523000981656 ], [ -122.556588000154193, 37.983523000693062 ], [ -122.555587999922309, 37.983423000837732 ], [ -122.554088000197979, 37.982923000930001 ], [ -122.553188000251254, 37.982323000927472 ], [ -122.5523880005221, 37.981923000453413 ], [ -122.551287999841776, 37.981323000619028 ], [ -122.550057999480003, 37.980620000811349 ], [ -122.550701999952921, 37.979307000901947 ], [ -122.550787999643035, 37.978423000601545 ], [ -122.550988000393247, 37.978323000389771 ], [ -122.550887999416929, 37.977623000296546 ], [ -122.550887999706333, 37.976923000648895 ], [ -122.550988000522622, 37.976523001075662 ], [ -122.550888000306415, 37.976023000852059 ], [ -122.550887999539853, 37.975823000775016 ], [ -122.550988000216222, 37.974723000309723 ], [ -122.55128799939925, 37.973423000875407 ], [ -122.551088000514625, 37.972223001009624 ], [ -122.551287999570235, 37.97232300033582 ], [ -122.552387999872536, 37.972923000752083 ], [ -122.552688000063583, 37.972623001054075 ], [ -122.553088000120766, 37.972523000396194 ], [ -122.553888000062784, 37.972923001011765 ], [ -122.554987999737705, 37.972723000673568 ], [ -122.555488000083713, 37.9718230005668 ], [ -122.556688000178099, 37.970923001068805 ], [ -122.557387999813855, 37.970623000717978 ], [ -122.557587999584527, 37.970823000785295 ], [ -122.559588000217531, 37.970223000515873 ], [ -122.560489000100844, 37.970023000949247 ], [ -122.560688999670504, 37.970023000852102 ], [ -122.560588999522125, 37.969423000346474 ], [ -122.561089000476485, 37.96922300092637 ], [ -122.561789000248481, 37.968923000354295 ], [ -122.563588999980666, 37.968323000325839 ], [ -122.565803000350101, 37.967642001056298 ], [ -122.566189000467475, 37.967523000352593 ], [ -122.567688999614575, 37.967523001004423 ], [ -122.568688999722795, 37.967223000458333 ], [ -122.569488999946969, 37.967423000366367 ], [ -122.571689000302172, 37.96742300047385 ], [ -122.572888999454506, 37.967623000813944 ], [ -122.580383000203369, 37.969398000763746 ], [ -122.580490000499864, 37.969423001095755 ], [ -122.580890000005354, 37.970023000674146 ], [ -122.58070599945674, 37.970169000868758 ], [ -122.57698999952855, 37.973123000552874 ], [ -122.578590000358545, 37.973223000938809 ], [ -122.576790000255698, 37.974323000510189 ], [ -122.575788999477822, 37.976023000910089 ], [ -122.575189000386828, 37.975623000906495 ], [ -122.574088999512838, 37.975723000248017 ], [ -122.573589000480879, 37.976123000835358 ], [ -122.573188999747316, 37.976323000519351 ], [ -122.57338900014625, 37.97642300105683 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1435, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.560688999670504, 37.970023000852102 ], [ -122.560489000100844, 37.970023000949247 ], [ -122.559588000217531, 37.970223000515873 ], [ -122.557587999584527, 37.970823000785295 ], [ -122.557387999813855, 37.970623000717978 ], [ -122.556688000178099, 37.970923001068805 ], [ -122.555488000083713, 37.9718230005668 ], [ -122.554987999737705, 37.972723000673568 ], [ -122.553888000062784, 37.972923001011765 ], [ -122.553088000120766, 37.972523000396194 ], [ -122.552688000063583, 37.972623001054075 ], [ -122.552387999872536, 37.972923000752083 ], [ -122.551287999570235, 37.97232300033582 ], [ -122.551088000514625, 37.972223001009624 ], [ -122.54968799968006, 37.97242300112179 ], [ -122.548887999576422, 37.972023000817636 ], [ -122.548487999764873, 37.97132300081455 ], [ -122.547497999940703, 37.970693001079141 ], [ -122.547387999616973, 37.9706230002909 ], [ -122.547987999878018, 37.970023001098291 ], [ -122.545887999953607, 37.968023000352204 ], [ -122.545587999894295, 37.966523000712485 ], [ -122.545261999674395, 37.966338000779196 ], [ -122.545087999521343, 37.966923000416614 ], [ -122.544727999619781, 37.966415000877113 ], [ -122.544301000111744, 37.965965000861303 ], [ -122.543813000452246, 37.96567500098314 ], [ -122.543248000328163, 37.965453000665164 ], [ -122.542819999851631, 37.965301000530438 ], [ -122.542286999526553, 37.965023000334028 ], [ -122.541886999883019, 37.964423000492474 ], [ -122.541549999832995, 37.964170001085712 ], [ -122.54148700026677, 37.964123000319702 ], [ -122.540587000108744, 37.963823000335687 ], [ -122.541187000493693, 37.963623000855399 ], [ -122.541886999753416, 37.963223000658125 ], [ -122.54238699980796, 37.963023000324682 ], [ -122.542986999535941, 37.962723000835524 ], [ -122.543187000409901, 37.962923000273406 ], [ -122.543587999694637, 37.963123000630858 ], [ -122.544287999426174, 37.962723000489945 ], [ -122.544387999490766, 37.963323000763232 ], [ -122.544688000213455, 37.963123000920866 ], [ -122.545088000318671, 37.963023001067391 ], [ -122.546487999498964, 37.961223000369408 ], [ -122.548088000510248, 37.959523000706774 ], [ -122.548852000330314, 37.959940000608547 ], [ -122.54918799990449, 37.960123000260552 ], [ -122.550787999654162, 37.961123001009206 ], [ -122.551287999567123, 37.960623000996371 ], [ -122.552688000286665, 37.959324000825447 ], [ -122.553787999707822, 37.959024000959772 ], [ -122.553668000215978, 37.958862000417568 ], [ -122.553487000010392, 37.958618000546039 ], [ -122.553273000417036, 37.958275000907392 ], [ -122.553197000213842, 37.958031000857382 ], [ -122.553182000384595, 37.957848001000706 ], [ -122.553288000117561, 37.957624000405652 ], [ -122.553487999621623, 37.957324001029193 ], [ -122.554087999877126, 37.957124001102699 ], [ -122.554787999619336, 37.957024000649241 ], [ -122.554992000017947, 37.957228000718885 ], [ -122.555288000254421, 37.957524000394059 ], [ -122.556387999838535, 37.957224000368974 ], [ -122.557487999922543, 37.956524001103872 ], [ -122.558187999845856, 37.955924000486661 ], [ -122.558888000161915, 37.955224001061865 ], [ -122.559588000283085, 37.954424000982222 ], [ -122.560187999943423, 37.955224001056024 ], [ -122.561287999963326, 37.955124000882599 ], [ -122.562188000059123, 37.955124000685338 ], [ -122.563488999912124, 37.955124000366325 ], [ -122.564369999811035, 37.955124000404886 ], [ -122.564848999425493, 37.955124001104593 ], [ -122.564912999526811, 37.955124000763071 ], [ -122.565188999600366, 37.955124000861616 ], [ -122.565545000491667, 37.955480000877003 ], [ -122.566479000434242, 37.956414000646447 ], [ -122.566688999768374, 37.956624000720453 ], [ -122.567888999868543, 37.956524000705215 ], [ -122.568089000007262, 37.955924000697678 ], [ -122.570588999990989, 37.954924000334742 ], [ -122.574489000143274, 37.955024001026615 ], [ -122.574589000060186, 37.956124000434116 ], [ -122.57318899993939, 37.957224000331358 ], [ -122.573588999597732, 37.957524000537333 ], [ -122.577389000128434, 37.960124000693959 ], [ -122.579189999907655, 37.962324000790844 ], [ -122.577689000360152, 37.964923000255723 ], [ -122.581690000061883, 37.965923001133802 ], [ -122.582090000335228, 37.967823000242909 ], [ -122.580490000499864, 37.969423001095755 ], [ -122.580383000203369, 37.969398000763746 ], [ -122.572888999454506, 37.967623000813944 ], [ -122.571689000302172, 37.96742300047385 ], [ -122.569488999946969, 37.967423000366367 ], [ -122.568688999722795, 37.967223000458333 ], [ -122.567688999614575, 37.967523001004423 ], [ -122.566189000467475, 37.967523000352593 ], [ -122.565803000350101, 37.967642001056298 ], [ -122.563588999980666, 37.968323000325839 ], [ -122.561789000248481, 37.968923000354295 ], [ -122.561089000476485, 37.96922300092637 ], [ -122.560588999522125, 37.969423000346474 ], [ -122.560688999670504, 37.970023000852102 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1436, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.550388000101975, 37.946624000840494 ], [ -122.549587999615753, 37.945824000275032 ], [ -122.549428000265877, 37.945694000974413 ], [ -122.549187999950973, 37.945324000986581 ], [ -122.548987999446126, 37.94482400100803 ], [ -122.549487999689504, 37.944624001055857 ], [ -122.549381999876559, 37.94416100087814 ], [ -122.548711000108426, 37.944329000439765 ], [ -122.54868800018177, 37.944224000968191 ], [ -122.548387999489407, 37.943824000355882 ], [ -122.547486999392177, 37.942124000978296 ], [ -122.547229999620768, 37.941643000424818 ], [ -122.547000999984846, 37.942139000391833 ], [ -122.5463869999096, 37.942224000754202 ], [ -122.546486999811748, 37.94042400034337 ], [ -122.546435999851269, 37.940277000387972 ], [ -122.545486999759959, 37.938424001047288 ], [ -122.543886999563895, 37.935424000454972 ], [ -122.548987000167301, 37.934624000912308 ], [ -122.549888000336608, 37.93452400039893 ], [ -122.550349999604109, 37.934432000670725 ], [ -122.551387999443534, 37.934224000878423 ], [ -122.551688000515597, 37.934224000478849 ], [ -122.552288000371178, 37.934024000383275 ], [ -122.552988000254288, 37.930324000344839 ], [ -122.553287999696806, 37.927925000485097 ], [ -122.553088000026577, 37.926925000351247 ], [ -122.553032000056419, 37.92642400049985 ], [ -122.552987999617557, 37.926025000608547 ], [ -122.553987999958068, 37.926325000859372 ], [ -122.554100000210084, 37.926425000317316 ], [ -122.554887999732173, 37.927125000521265 ], [ -122.555488000316231, 37.927825001043203 ], [ -122.557087999430777, 37.929124001048962 ], [ -122.55858800026823, 37.930524000578643 ], [ -122.560887999572799, 37.93242400081995 ], [ -122.561388000088314, 37.933924000560097 ], [ -122.562488000230019, 37.934324000516632 ], [ -122.563388000136513, 37.935124000341339 ], [ -122.565187999596546, 37.934824001129236 ], [ -122.566987999896654, 37.934824000585472 ], [ -122.56588799953461, 37.939124000839392 ], [ -122.566288999669695, 37.940224000617341 ], [ -122.568188999677844, 37.942224000988318 ], [ -122.5696890004984, 37.944224000594694 ], [ -122.570489000001658, 37.946924000681371 ], [ -122.570689000309159, 37.948724001054778 ], [ -122.569688999396533, 37.949424000729849 ], [ -122.569088999950537, 37.950424000305638 ], [ -122.568689000053809, 37.951924001099215 ], [ -122.569288999698003, 37.952024000928894 ], [ -122.569288999958275, 37.952624000309655 ], [ -122.567588999637607, 37.953824000925088 ], [ -122.566604000209267, 37.955055000605341 ], [ -122.566491999827548, 37.955196000459587 ], [ -122.566388999620344, 37.955324000713041 ], [ -122.566488999396526, 37.955924000491741 ], [ -122.567288999502338, 37.956224000991334 ], [ -122.568089000007262, 37.955924000697678 ], [ -122.567888999868543, 37.956524000705215 ], [ -122.566688999768374, 37.956624000720453 ], [ -122.566479000434242, 37.956414000646447 ], [ -122.565545000491667, 37.955480000877003 ], [ -122.565188999600366, 37.955124000861616 ], [ -122.564912999526811, 37.955124000763071 ], [ -122.564848999425493, 37.955124001104593 ], [ -122.564369999811035, 37.955124000404886 ], [ -122.563488999912124, 37.955124000366325 ], [ -122.562188000059123, 37.955124000685338 ], [ -122.561287999963326, 37.955124000882599 ], [ -122.560187999943423, 37.955224001056024 ], [ -122.559588000283085, 37.954424000982222 ], [ -122.558888000161915, 37.955224001061865 ], [ -122.558187999845856, 37.955924000486661 ], [ -122.557487999922543, 37.956524001103872 ], [ -122.556387999838535, 37.957224000368974 ], [ -122.555288000254421, 37.957524000394059 ], [ -122.554992000017947, 37.957228000718885 ], [ -122.554787999619336, 37.957024000649241 ], [ -122.554087999877126, 37.957124001102699 ], [ -122.553487999621623, 37.957324001029193 ], [ -122.553288000117561, 37.957624000405652 ], [ -122.553182000384595, 37.957848001000706 ], [ -122.553197000213842, 37.958031000857382 ], [ -122.553273000417036, 37.958275000907392 ], [ -122.553487000010392, 37.958618000546039 ], [ -122.553668000215978, 37.958862000417568 ], [ -122.553787999707822, 37.959024000959772 ], [ -122.552688000286665, 37.959324000825447 ], [ -122.551287999567123, 37.960623000996371 ], [ -122.550787999654162, 37.961123001009206 ], [ -122.54918799990449, 37.960123000260552 ], [ -122.548852000330314, 37.959940000608547 ], [ -122.548088000510248, 37.959523000706774 ], [ -122.546487999498964, 37.961223000369408 ], [ -122.545088000318671, 37.963023001067391 ], [ -122.544688000213455, 37.963123000920866 ], [ -122.544387999490766, 37.963323000763232 ], [ -122.544287999426174, 37.962723000489945 ], [ -122.543587999694637, 37.963123000630858 ], [ -122.543187000409901, 37.962923000273406 ], [ -122.542986999535941, 37.962723000835524 ], [ -122.54238699980796, 37.963023000324682 ], [ -122.541886999753416, 37.963223000658125 ], [ -122.541187000493693, 37.963623000855399 ], [ -122.540587000108744, 37.963823000335687 ], [ -122.540086999479939, 37.963623000253342 ], [ -122.539587000369181, 37.96322300033161 ], [ -122.538987000003331, 37.962923000964196 ], [ -122.53838700020637, 37.962823000774577 ], [ -122.537987000124332, 37.962123000399963 ], [ -122.53788700027485, 37.96192300104105 ], [ -122.536686999540848, 37.961323000785676 ], [ -122.535386999940812, 37.960723000778572 ], [ -122.534287000021038, 37.960223000275818 ], [ -122.533687000076242, 37.959923000881581 ], [ -122.533187000282197, 37.959623000498546 ], [ -122.533386999492151, 37.959423000272501 ], [ -122.534587000348722, 37.959023001001704 ], [ -122.53458700020272, 37.958523000994361 ], [ -122.535586999856761, 37.958024000971442 ], [ -122.535886999953831, 37.957624000277107 ], [ -122.536586999932979, 37.956624000440655 ], [ -122.536687000488627, 37.956124001086899 ], [ -122.536883999589506, 37.955635000658063 ], [ -122.536887000435726, 37.95552400063108 ], [ -122.537287000298974, 37.954624000905127 ], [ -122.53808699990995, 37.953624000810471 ], [ -122.53858699976476, 37.952824000356017 ], [ -122.537587000472769, 37.952524000501896 ], [ -122.536887000471708, 37.952024000946665 ], [ -122.536386999679095, 37.951824000289697 ], [ -122.535735000396343, 37.951459000685986 ], [ -122.53388700046952, 37.950424000475266 ], [ -122.533987000252225, 37.950024001079505 ], [ -122.534486999766344, 37.949624000404135 ], [ -122.536787000299327, 37.947724001126716 ], [ -122.537087000048842, 37.946224000693476 ], [ -122.537686999505695, 37.945424000682301 ], [ -122.537801999731712, 37.945367000582479 ], [ -122.537959000347811, 37.945288000755156 ], [ -122.538025000135093, 37.945255000463476 ], [ -122.538087000465097, 37.945224000621792 ], [ -122.539386999466942, 37.947424000358126 ], [ -122.541987000177485, 37.947424000776614 ], [ -122.543345000130657, 37.947977001030253 ], [ -122.543928000142841, 37.948214000860624 ], [ -122.544402999905188, 37.948408000863033 ], [ -122.544687000012289, 37.948524000408369 ], [ -122.544686999412122, 37.948935000765282 ], [ -122.544687000157623, 37.949355000487309 ], [ -122.544687000466112, 37.950524000661133 ], [ -122.548087999769578, 37.950224001009055 ], [ -122.548787999977336, 37.950124000848476 ], [ -122.549287999444189, 37.950824000335317 ], [ -122.55008799953022, 37.950724000559674 ], [ -122.549388000269715, 37.94872400071845 ], [ -122.551287999642625, 37.947824000837159 ], [ -122.550388000101975, 37.946624000840494 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1296, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.278883999828068, 38.309114001011871 ], [ -122.278684000139521, 38.309514000576371 ], [ -122.278084000235822, 38.310314000684279 ], [ -122.277684000516317, 38.311414000895539 ], [ -122.278383999968938, 38.312814001042362 ], [ -122.277384000326549, 38.314113000416604 ], [ -122.276983999541045, 38.315613000593629 ], [ -122.27768399982169, 38.316913000559182 ], [ -122.281123999518812, 38.318324000911495 ], [ -122.281583999983027, 38.318513000686394 ], [ -122.282169999859988, 38.320017001016936 ], [ -122.282285000301769, 38.32031300083527 ], [ -122.282984999399005, 38.322013000357096 ], [ -122.283325999985138, 38.322753000420313 ], [ -122.284184999654073, 38.324613000891063 ], [ -122.277083999977123, 38.324813000533375 ], [ -122.274939999538987, 38.324905000377349 ], [ -122.274584000201486, 38.324913000814689 ], [ -122.274283999689573, 38.324913000467525 ], [ -122.273584000239381, 38.323913000935406 ], [ -122.273283999390515, 38.323113001035694 ], [ -122.272183999730146, 38.322513001084992 ], [ -122.271855999414129, 38.3227590007846 ], [ -122.271784000502308, 38.322813000270855 ], [ -122.267483999442305, 38.324213001060279 ], [ -122.265184000300309, 38.322713000391673 ], [ -122.263684000530233, 38.323713000346082 ], [ -122.256284000513688, 38.323213000846089 ], [ -122.256084000314374, 38.320313000772323 ], [ -122.256031000434035, 38.317569000538796 ], [ -122.255984000256987, 38.315113000621075 ], [ -122.256683999811074, 38.31341400038685 ], [ -122.256110999603521, 38.309413000688885 ], [ -122.255683000136131, 38.306414000423807 ], [ -122.25458299993403, 38.305214000472724 ], [ -122.254382999750732, 38.30411400054858 ], [ -122.253482999848842, 38.298414000379573 ], [ -122.253182999724459, 38.295314000736546 ], [ -122.254983000437065, 38.293914000542273 ], [ -122.258183000233046, 38.295314000265137 ], [ -122.261083000300047, 38.29611400094312 ], [ -122.263784000368261, 38.296014000318934 ], [ -122.263984000516473, 38.296014000816029 ], [ -122.264483999767791, 38.296014000559772 ], [ -122.265723999599217, 38.296324000603143 ], [ -122.265838000151177, 38.296352000569449 ], [ -122.268084000344402, 38.29691400041613 ], [ -122.269683999702522, 38.297314000893323 ], [ -122.272384000252245, 38.29771400068644 ], [ -122.273184000028905, 38.297814000787916 ], [ -122.274383999557458, 38.298414000949727 ], [ -122.276184000460574, 38.299314000739372 ], [ -122.277383999793074, 38.299214000646018 ], [ -122.278383999851528, 38.299014000740641 ], [ -122.279283999610598, 38.298814000683812 ], [ -122.280383999914221, 38.298714000697437 ], [ -122.28098400034429, 38.298514000653491 ], [ -122.28148400003721, 38.298514000994835 ], [ -122.281684000375932, 38.298514001078146 ], [ -122.28268399979973, 38.298314000452912 ], [ -122.283684000376184, 38.298014000974995 ], [ -122.284183999999826, 38.29861400101813 ], [ -122.283984000158085, 38.298914000422315 ], [ -122.283289999403721, 38.299174000419754 ], [ -122.283061999997969, 38.299260001010218 ], [ -122.282383999735259, 38.299514001099219 ], [ -122.279583999473971, 38.299314000461266 ], [ -122.279465000119771, 38.300504000672206 ], [ -122.279401999507982, 38.301131001078303 ], [ -122.279283999674405, 38.302314000722504 ], [ -122.279828999944982, 38.303107001055963 ], [ -122.280383999986995, 38.303914000315302 ], [ -122.28088399979346, 38.30441400026497 ], [ -122.281184000123275, 38.304014001020022 ], [ -122.282084000064913, 38.302114001078202 ], [ -122.282884000385849, 38.304314000965846 ], [ -122.280983999499327, 38.306514000354682 ], [ -122.280849000040206, 38.3066830007335 ], [ -122.280516000191938, 38.307098001072909 ], [ -122.280249999661507, 38.307431000740323 ], [ -122.280184000009712, 38.30751400061061 ], [ -122.279979999987276, 38.307690000794672 ], [ -122.279484000509825, 38.308426000938766 ], [ -122.27920399945539, 38.308747000620521 ], [ -122.278883999828068, 38.309114001011871 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1297, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.297184999889609, 38.312314000441589 ], [ -122.297485000388235, 38.313314001008791 ], [ -122.297585000509315, 38.313913000404412 ], [ -122.297985000369906, 38.315313000793815 ], [ -122.299085000171516, 38.319213000373416 ], [ -122.299384999842715, 38.320813000949911 ], [ -122.300085000392428, 38.32241300079248 ], [ -122.297084999723069, 38.323013001083886 ], [ -122.295984999799401, 38.323213000886888 ], [ -122.293307000033096, 38.323734000435493 ], [ -122.292385000039729, 38.32391300024608 ], [ -122.291584999651846, 38.324013000265708 ], [ -122.291280000349118, 38.324057001064389 ], [ -122.290885000438578, 38.324113001076697 ], [ -122.290741999631621, 38.324143000594518 ], [ -122.290107999701704, 38.324276000345584 ], [ -122.289799999806093, 38.324341001073229 ], [ -122.288985000163876, 38.324513000313679 ], [ -122.28886000050413, 38.324524000712088 ], [ -122.288656999656027, 38.324541000497085 ], [ -122.285484999979246, 38.324813000474521 ], [ -122.284184999654073, 38.324613000891063 ], [ -122.283325999985138, 38.322753000420313 ], [ -122.282984999399005, 38.322013000357096 ], [ -122.282285000301769, 38.32031300083527 ], [ -122.282169999859988, 38.320017001016936 ], [ -122.281583999983027, 38.318513000686394 ], [ -122.281123999518812, 38.318324000911495 ], [ -122.27768399982169, 38.316913000559182 ], [ -122.276983999541045, 38.315613000593629 ], [ -122.277384000326549, 38.314113000416604 ], [ -122.278383999968938, 38.312814001042362 ], [ -122.277684000516317, 38.311414000895539 ], [ -122.278084000235822, 38.310314000684279 ], [ -122.279184000421523, 38.310114001092174 ], [ -122.280222000489317, 38.310114000943855 ], [ -122.281183999724135, 38.310114000827788 ], [ -122.282383999630738, 38.310114000882493 ], [ -122.283384000135996, 38.310214000729843 ], [ -122.285585000189101, 38.310114000568987 ], [ -122.286585000200276, 38.309914000974565 ], [ -122.288188999549703, 38.309658000382306 ], [ -122.289785000287438, 38.309414000393573 ], [ -122.29058499983627, 38.309214000940344 ], [ -122.291385000450532, 38.30891400044387 ], [ -122.291684999781992, 38.308814000873014 ], [ -122.292485000348975, 38.308814000289168 ], [ -122.292684999553387, 38.308714000550928 ], [ -122.293584999679524, 38.308614000523839 ], [ -122.294684999616223, 38.308314001128302 ], [ -122.295885000026729, 38.308114000600902 ], [ -122.296385000144042, 38.30981400066559 ], [ -122.29688499968708, 38.311714001015375 ], [ -122.297184999889609, 38.312314000441589 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1298, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.283289999403721, 38.299174000419754 ], [ -122.283984000158085, 38.298914000422315 ], [ -122.284183999999826, 38.29861400101813 ], [ -122.283684000376184, 38.298014000974995 ], [ -122.284684000272378, 38.297614000800266 ], [ -122.285083999855729, 38.298314000303257 ], [ -122.285884000234589, 38.2990140008054 ], [ -122.286884000330261, 38.300414001087773 ], [ -122.287683999997867, 38.30011400075211 ], [ -122.288283999733551, 38.299714000799007 ], [ -122.288584999479482, 38.300214000911744 ], [ -122.290385000273247, 38.300514001059867 ], [ -122.290884999793207, 38.300714000555708 ], [ -122.291084999992535, 38.30201400077857 ], [ -122.292515999639861, 38.30106000030441 ], [ -122.292584999495688, 38.301014000508587 ], [ -122.293521000153433, 38.300419001078787 ], [ -122.293684999486018, 38.300314000672437 ], [ -122.293785000115705, 38.300714000750048 ], [ -122.293985000439307, 38.301014000383226 ], [ -122.29418499956914, 38.301914000941544 ], [ -122.294185000143116, 38.302114000457806 ], [ -122.294385000101656, 38.302614000656568 ], [ -122.294585000026757, 38.303414001046015 ], [ -122.294784999639191, 38.304214001000908 ], [ -122.294885000426376, 38.304514000654379 ], [ -122.295084999835069, 38.305114000557332 ], [ -122.295285000172527, 38.30591400037342 ], [ -122.295585000248536, 38.306714001010455 ], [ -122.295684999893354, 38.307514000504142 ], [ -122.295885000026729, 38.308114000600902 ], [ -122.294684999616223, 38.308314001128302 ], [ -122.293584999679524, 38.308614000523839 ], [ -122.292684999553387, 38.308714000550928 ], [ -122.292485000348975, 38.308814000289168 ], [ -122.291684999781992, 38.308814000873014 ], [ -122.291385000450532, 38.30891400044387 ], [ -122.29058499983627, 38.309214000940344 ], [ -122.289785000287438, 38.309414000393573 ], [ -122.288188999549703, 38.309658000382306 ], [ -122.286585000200276, 38.309914000974565 ], [ -122.285585000189101, 38.310114000568987 ], [ -122.283384000135996, 38.310214000729843 ], [ -122.282383999630738, 38.310114000882493 ], [ -122.281183999724135, 38.310114000827788 ], [ -122.280222000489317, 38.310114000943855 ], [ -122.279184000421523, 38.310114001092174 ], [ -122.278084000235822, 38.310314000684279 ], [ -122.278684000139521, 38.309514000576371 ], [ -122.278883999828068, 38.309114001011871 ], [ -122.27920399945539, 38.308747000620521 ], [ -122.279484000509825, 38.308426000938766 ], [ -122.279979999987276, 38.307690000794672 ], [ -122.280184000009712, 38.30751400061061 ], [ -122.280249999661507, 38.307431000740323 ], [ -122.280516000191938, 38.307098001072909 ], [ -122.280849000040206, 38.3066830007335 ], [ -122.280983999499327, 38.306514000354682 ], [ -122.282884000385849, 38.304314000965846 ], [ -122.282084000064913, 38.302114001078202 ], [ -122.281184000123275, 38.304014001020022 ], [ -122.28088399979346, 38.30441400026497 ], [ -122.280383999986995, 38.303914000315302 ], [ -122.279828999944982, 38.303107001055963 ], [ -122.279283999674405, 38.302314000722504 ], [ -122.279401999507982, 38.301131001078303 ], [ -122.279465000119771, 38.300504000672206 ], [ -122.279583999473971, 38.299314000461266 ], [ -122.282383999735259, 38.299514001099219 ], [ -122.283061999997969, 38.299260001010218 ], [ -122.283289999403721, 38.299174000419754 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1304, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.310045000473451, 38.30010600103391 ], [ -122.311340999487328, 38.300346001016173 ], [ -122.311684999746262, 38.300414000759716 ], [ -122.312785000338124, 38.300714000967389 ], [ -122.314385000288709, 38.301114000950179 ], [ -122.314684999855658, 38.301214000514285 ], [ -122.314884999488953, 38.301314001106526 ], [ -122.316049999673609, 38.301653000443082 ], [ -122.317286000523751, 38.302014000318891 ], [ -122.317083999410698, 38.302392001072491 ], [ -122.316524000005572, 38.303443001024448 ], [ -122.316486000050332, 38.303514000977017 ], [ -122.316085999871774, 38.304114000908818 ], [ -122.313385000358437, 38.304314000319081 ], [ -122.314589999775976, 38.305085000462448 ], [ -122.315886000330977, 38.305914001103261 ], [ -122.316686000083962, 38.305814000894109 ], [ -122.317177999843679, 38.305962000578667 ], [ -122.317436000471019, 38.306039000724567 ], [ -122.317686000488649, 38.306114000805003 ], [ -122.318685999961346, 38.306364001083274 ], [ -122.318885999541493, 38.306414001016833 ], [ -122.320185999711171, 38.306614000542616 ], [ -122.320684000064148, 38.307519000414999 ], [ -122.321285999871833, 38.308614001012984 ], [ -122.321366999772238, 38.309178001040721 ], [ -122.321486000324725, 38.310014000376057 ], [ -122.321286000493586, 38.310314001071411 ], [ -122.320685999727786, 38.311114000794198 ], [ -122.321386000486655, 38.312214000991631 ], [ -122.321676999472757, 38.312723000317753 ], [ -122.321786000425618, 38.312914000440692 ], [ -122.321986000150474, 38.313514000463258 ], [ -122.323085999801933, 38.313514001115358 ], [ -122.323121000512529, 38.313672000752177 ], [ -122.323285999840806, 38.314413000778138 ], [ -122.323686000414838, 38.314713000267467 ], [ -122.324471999918472, 38.314927001038356 ], [ -122.324785999702925, 38.315013000780247 ], [ -122.325086000241328, 38.316013001076222 ], [ -122.325113999541102, 38.316021001056868 ], [ -122.32708600023399, 38.316613000738243 ], [ -122.327785999420755, 38.317313000540217 ], [ -122.327485999583757, 38.317513000549489 ], [ -122.326845999507185, 38.317641001081114 ], [ -122.325605000521861, 38.317866001010678 ], [ -122.323686000037398, 38.318213000471296 ], [ -122.322585999857992, 38.31851300090328 ], [ -122.320286000339465, 38.3189130003231 ], [ -122.318586000044988, 38.319113000958204 ], [ -122.318086000101076, 38.319313000632754 ], [ -122.316862000046058, 38.319577000857109 ], [ -122.316257999837163, 38.319678000976197 ], [ -122.316189999553629, 38.319689000539647 ], [ -122.316093999803186, 38.319705000824783 ], [ -122.314086000433235, 38.320013000945835 ], [ -122.312185999468554, 38.320313000509216 ], [ -122.310485999718807, 38.320613000620988 ], [ -122.309484999531975, 38.32071300103933 ], [ -122.309185000259077, 38.320813000793358 ], [ -122.308584999819018, 38.319513001107417 ], [ -122.306785000158555, 38.313713001140592 ], [ -122.306527999827395, 38.312750000473365 ], [ -122.306258999513133, 38.311741000729057 ], [ -122.305984999965347, 38.310714001083724 ], [ -122.305963999941824, 38.310644001114127 ], [ -122.305084999798339, 38.307714000855256 ], [ -122.304793999390711, 38.306436000847349 ], [ -122.304528999682731, 38.305451000704977 ], [ -122.304185999994743, 38.30435000068902 ], [ -122.303984999729863, 38.30371400056999 ], [ -122.303964000109787, 38.303644001077586 ], [ -122.303684999976284, 38.302714000417083 ], [ -122.303673999774048, 38.30267000026101 ], [ -122.303433000177748, 38.301946000925696 ], [ -122.303206000291652, 38.301134000856422 ], [ -122.303130999655977, 38.300897000977585 ], [ -122.302591999433403, 38.299124000897272 ], [ -122.303410999426987, 38.299268000573534 ], [ -122.304350000331993, 38.299327000311067 ], [ -122.304878999430429, 38.299336000479158 ], [ -122.305828000266928, 38.299226000618582 ], [ -122.306463999397621, 38.299336001093828 ], [ -122.308652999499827, 38.299835000933676 ], [ -122.310045000473451, 38.30010600103391 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1307, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.335585999481012, 38.325913000362469 ], [ -122.336009000365351, 38.326373000515041 ], [ -122.336879999915553, 38.32731800054566 ], [ -122.338587999642854, 38.329172000678781 ], [ -122.3390870001992, 38.329713000355099 ], [ -122.341583000219046, 38.332209000575055 ], [ -122.343187000102034, 38.33381300087197 ], [ -122.342047999632797, 38.334235000747846 ], [ -122.340729999887131, 38.334724000571676 ], [ -122.33742099947618, 38.335951000683039 ], [ -122.334286000002109, 38.337113000773726 ], [ -122.331309000400765, 38.333789000825867 ], [ -122.330216999866565, 38.332571000903741 ], [ -122.329986000025713, 38.332313000934249 ], [ -122.329513999480866, 38.332563000395169 ], [ -122.328587999723453, 38.333052000739251 ], [ -122.328316000439159, 38.333196000832224 ], [ -122.328251000042272, 38.33323000032064 ], [ -122.327940999948424, 38.33339400082545 ], [ -122.327568999897281, 38.333590000771252 ], [ -122.327499999648722, 38.333627000511271 ], [ -122.327303000340677, 38.333731000269431 ], [ -122.326860000307931, 38.333966000286004 ], [ -122.326718000439172, 38.334041000611869 ], [ -122.326331000488423, 38.334204000469235 ], [ -122.325997999805551, 38.334345000500697 ], [ -122.325323000335743, 38.334673000283395 ], [ -122.323781999713262, 38.33518000055156 ], [ -122.323245999384895, 38.335339000937218 ], [ -122.322186000448269, 38.335613001061887 ], [ -122.322086000175545, 38.335713000494614 ], [ -122.321885999480045, 38.335813001124727 ], [ -122.320586999394635, 38.334232000973735 ], [ -122.317286000243612, 38.33021300106013 ], [ -122.314086000116177, 38.326713000935221 ], [ -122.309185000259077, 38.320813000793358 ], [ -122.309484999531975, 38.32071300103933 ], [ -122.310485999718807, 38.320613000620988 ], [ -122.312185999468554, 38.320313000509216 ], [ -122.314086000433235, 38.320013000945835 ], [ -122.316093999803186, 38.319705000824783 ], [ -122.316189999553629, 38.319689000539647 ], [ -122.316257999837163, 38.319678000976197 ], [ -122.316862000046058, 38.319577000857109 ], [ -122.318086000101076, 38.319313000632754 ], [ -122.318586000044988, 38.319113000958204 ], [ -122.320286000339465, 38.3189130003231 ], [ -122.322585999857992, 38.31851300090328 ], [ -122.323686000037398, 38.318213000471296 ], [ -122.325605000521861, 38.317866001010678 ], [ -122.326845999507185, 38.317641001081114 ], [ -122.327485999583757, 38.317513000549489 ], [ -122.32768600037555, 38.317713001001202 ], [ -122.328185999714236, 38.318213000610342 ], [ -122.329586000096754, 38.319613000707804 ], [ -122.331986000187158, 38.322313000563923 ], [ -122.332586000283371, 38.322813001019355 ], [ -122.333086000162353, 38.323337000826292 ], [ -122.33338600011524, 38.323613000781336 ], [ -122.334158000325488, 38.324441000291721 ], [ -122.335585999481012, 38.325913000362469 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1303, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.328485999776461, 38.304214000995138 ], [ -122.331185999825578, 38.304714000983481 ], [ -122.331669000260206, 38.304865000616402 ], [ -122.332785999999189, 38.305214000327062 ], [ -122.333485999743459, 38.305314000382268 ], [ -122.333586000350635, 38.305310001123232 ], [ -122.334663000316141, 38.305263000934801 ], [ -122.334782000362992, 38.30525800080931 ], [ -122.335585999698054, 38.30521400024265 ], [ -122.336786000026265, 38.30511400088529 ], [ -122.33758599967949, 38.30501400036794 ], [ -122.339286000066636, 38.305014000855472 ], [ -122.340085999849478, 38.305414000477747 ], [ -122.34078600050843, 38.306014000317298 ], [ -122.341385999514628, 38.306214000837215 ], [ -122.341185999452648, 38.307614001082719 ], [ -122.341185999791364, 38.30801400063396 ], [ -122.341247000440589, 38.309690001092854 ], [ -122.341287000112644, 38.310214000744025 ], [ -122.34121899981487, 38.310876000920224 ], [ -122.341272999917607, 38.311145000884729 ], [ -122.341286999463122, 38.311214000931692 ], [ -122.341186999926649, 38.311814000623919 ], [ -122.341162999653264, 38.312579000318166 ], [ -122.34115700052115, 38.312772000640514 ], [ -122.341138000430206, 38.313369000665404 ], [ -122.341086999836207, 38.315013000578197 ], [ -122.339385999919784, 38.314813000420962 ], [ -122.338701999544327, 38.31469500101629 ], [ -122.338525999897101, 38.314665000780224 ], [ -122.338192999419661, 38.314639000983696 ], [ -122.337784999665473, 38.314607000936711 ], [ -122.33750199975637, 38.31458500083081 ], [ -122.333288000434308, 38.314039000861122 ], [ -122.333086000014646, 38.314013001136317 ], [ -122.332285999484824, 38.314513000925018 ], [ -122.332085999480483, 38.315213000788674 ], [ -122.332125000449295, 38.315560000669734 ], [ -122.332157000116126, 38.315849000936872 ], [ -122.332186000125105, 38.316113000286329 ], [ -122.331657000469491, 38.316278001101161 ], [ -122.33131499969187, 38.316385000250811 ], [ -122.330958000008522, 38.316497000268804 ], [ -122.330672999815562, 38.316586000718047 ], [ -122.330586000181412, 38.316613000648452 ], [ -122.330110000280143, 38.316811000642382 ], [ -122.329385999770778, 38.317113001092075 ], [ -122.327785999420755, 38.317313000540217 ], [ -122.32708600023399, 38.316613000738243 ], [ -122.325113999541102, 38.316021001056868 ], [ -122.325086000241328, 38.316013001076222 ], [ -122.324785999702925, 38.315013000780247 ], [ -122.324471999918472, 38.314927001038356 ], [ -122.323686000414838, 38.314713000267467 ], [ -122.323285999840806, 38.314413000778138 ], [ -122.323121000512529, 38.313672000752177 ], [ -122.323085999801933, 38.313514001115358 ], [ -122.321986000150474, 38.313514000463258 ], [ -122.321786000425618, 38.312914000440692 ], [ -122.321676999472757, 38.312723000317753 ], [ -122.321386000486655, 38.312214000991631 ], [ -122.320685999727786, 38.311114000794198 ], [ -122.321286000493586, 38.310314001071411 ], [ -122.321486000324725, 38.310014000376057 ], [ -122.321366999772238, 38.309178001040721 ], [ -122.321285999871833, 38.308614001012984 ], [ -122.320684000064148, 38.307519000414999 ], [ -122.320185999711171, 38.306614000542616 ], [ -122.318885999541493, 38.306414001016833 ], [ -122.318685999961346, 38.306364001083274 ], [ -122.317686000488649, 38.306114000805003 ], [ -122.317436000471019, 38.306039000724567 ], [ -122.317177999843679, 38.305962000578667 ], [ -122.316686000083962, 38.305814000894109 ], [ -122.315886000330977, 38.305914001103261 ], [ -122.314589999775976, 38.305085000462448 ], [ -122.313385000358437, 38.304314000319081 ], [ -122.316085999871774, 38.304114000908818 ], [ -122.316486000050332, 38.303514000977017 ], [ -122.316524000005572, 38.303443001024448 ], [ -122.317083999410698, 38.302392001072491 ], [ -122.317286000523751, 38.302014000318891 ], [ -122.319168999841779, 38.302545001000631 ], [ -122.321186000252879, 38.303114001105989 ], [ -122.321686000217085, 38.30321400083929 ], [ -122.322096999989824, 38.303331000417209 ], [ -122.322386000142075, 38.303414000688882 ], [ -122.322986000437879, 38.303414000806733 ], [ -122.323886000071241, 38.303614000386155 ], [ -122.324400000375903, 38.303687000859789 ], [ -122.324585999400369, 38.303714000314677 ], [ -122.325185999870939, 38.303814000332778 ], [ -122.326186000048907, 38.30391400113708 ], [ -122.326785999832026, 38.304014001087381 ], [ -122.327542000423549, 38.30409000044493 ], [ -122.327786000460435, 38.304114000883708 ], [ -122.328485999776461, 38.304214000995138 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1293, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.306484999799309, 38.287314000767473 ], [ -122.305879000423943, 38.287259000802209 ], [ -122.305385000483284, 38.287214000336128 ], [ -122.302684999940269, 38.287214000714215 ], [ -122.301485000296111, 38.287014000576548 ], [ -122.300876999778737, 38.287079000417506 ], [ -122.300284999644035, 38.284514000710978 ], [ -122.300256000493206, 38.283644000602216 ], [ -122.300163999655169, 38.282175000957118 ], [ -122.30013500030482, 38.281715001067354 ], [ -122.299610999974973, 38.281722000325288 ], [ -122.299385000204154, 38.281714000766705 ], [ -122.298784999781461, 38.281714000428885 ], [ -122.298384999502971, 38.281714000902049 ], [ -122.296184999895146, 38.281814000421811 ], [ -122.29428400044344, 38.281814000525991 ], [ -122.293783999929829, 38.281714000546728 ], [ -122.292883999551705, 38.281714000529831 ], [ -122.289483999650699, 38.281514000793791 ], [ -122.28744400020679, 38.281310001011519 ], [ -122.285484000080075, 38.281114000825582 ], [ -122.285216000361984, 38.280869001035278 ], [ -122.283676000043798, 38.279464001138756 ], [ -122.283183999886816, 38.27901500068787 ], [ -122.282544999535119, 38.278456000874726 ], [ -122.282155000031452, 38.277732000914291 ], [ -122.282184000294507, 38.277615000331771 ], [ -122.282828000423208, 38.276499000727313 ], [ -122.283131999522737, 38.27597300036981 ], [ -122.283467999578079, 38.275390000670171 ], [ -122.283692000414433, 38.275003000908661 ], [ -122.287384000255827, 38.27111500101168 ], [ -122.28478400033076, 38.265215000861382 ], [ -122.287383999667711, 38.260915000924783 ], [ -122.284383999632212, 38.25641500075448 ], [ -122.285384000006403, 38.253715001036063 ], [ -122.283983999855252, 38.246316000877457 ], [ -122.284181999953844, 38.245859000757889 ], [ -122.284790999909106, 38.244455000666349 ], [ -122.284959000036736, 38.244007000721147 ], [ -122.286483999820177, 38.239716000778479 ], [ -122.287984000141947, 38.232516001132026 ], [ -122.296183999670035, 38.230116000421653 ], [ -122.300883999714571, 38.22641600058094 ], [ -122.302783999639956, 38.226116000294915 ], [ -122.303583999986358, 38.226816000771919 ], [ -122.304284000351785, 38.227416000899176 ], [ -122.303183999633717, 38.230816000575807 ], [ -122.307783999955291, 38.235416000622124 ], [ -122.306583999872075, 38.236316000674513 ], [ -122.308484999425431, 38.238516000938993 ], [ -122.304484000167903, 38.241016000384114 ], [ -122.308084999607559, 38.245116000627242 ], [ -122.303083999901204, 38.248215001047207 ], [ -122.30588500024146, 38.249115001113637 ], [ -122.306573000175661, 38.257883000959417 ], [ -122.309522000025154, 38.258638000474754 ], [ -122.310332999657888, 38.258789000457917 ], [ -122.311291000483891, 38.258835000453288 ], [ -122.312184999570434, 38.258715000271522 ], [ -122.31818500028605, 38.261215000433438 ], [ -122.318884999574379, 38.267415000478167 ], [ -122.32548599995647, 38.28101400056299 ], [ -122.323886000147695, 38.284114001117317 ], [ -122.316172999768824, 38.287162000324493 ], [ -122.315384999455617, 38.287414000275469 ], [ -122.314446000273833, 38.287414000934078 ], [ -122.313314999621667, 38.287414000555138 ], [ -122.312785000412504, 38.287414001009466 ], [ -122.311948999421105, 38.287414000970585 ], [ -122.311185000032197, 38.287414000472488 ], [ -122.310184999422688, 38.287414000880908 ], [ -122.308485000449494, 38.287414000948395 ], [ -122.307684999841641, 38.287414000665869 ], [ -122.307185000192021, 38.287414000539336 ], [ -122.306484999799309, 38.287314000767473 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1294, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.27556299985028, 38.257643000944086 ], [ -122.277852999390234, 38.25742700035488 ], [ -122.277983999921886, 38.257415000828182 ], [ -122.280083999431241, 38.25731500098766 ], [ -122.281284000012718, 38.25731500093103 ], [ -122.281283999928363, 38.259215000477603 ], [ -122.284383999632212, 38.25641500075448 ], [ -122.287383999667711, 38.260915000924783 ], [ -122.28478400033076, 38.265215000861382 ], [ -122.287384000255827, 38.27111500101168 ], [ -122.283692000414433, 38.275003000908661 ], [ -122.283467999578079, 38.275390000670171 ], [ -122.283131999522737, 38.27597300036981 ], [ -122.282828000423208, 38.276499000727313 ], [ -122.282184000294507, 38.277615000331771 ], [ -122.282155000031452, 38.277732000914291 ], [ -122.282544999535119, 38.278456000874726 ], [ -122.283183999886816, 38.27901500068787 ], [ -122.283676000043798, 38.279464001138756 ], [ -122.285216000361984, 38.280869001035278 ], [ -122.285484000080075, 38.281114000825582 ], [ -122.281183999696779, 38.280814000241548 ], [ -122.277884000182667, 38.280415000792821 ], [ -122.275084000476838, 38.280215000343702 ], [ -122.274384000377609, 38.280215000846958 ], [ -122.273983999775439, 38.28011500058691 ], [ -122.272284000390215, 38.280115000265788 ], [ -122.270584000181927, 38.280015000983795 ], [ -122.269752999863158, 38.28001500109626 ], [ -122.269384000506122, 38.280015001036915 ], [ -122.26889199985618, 38.280015000344463 ], [ -122.268283000368115, 38.280015000660207 ], [ -122.266583000334236, 38.279915001104143 ], [ -122.265682999426062, 38.279915000660651 ], [ -122.265446000387684, 38.279902000266048 ], [ -122.265122000296628, 38.279884000605811 ], [ -122.263883000241663, 38.279815000281253 ], [ -122.260982999569165, 38.27961500031855 ], [ -122.26061299971262, 38.279615000621696 ], [ -122.260182999611601, 38.279615000845752 ], [ -122.259682999806955, 38.279615000320916 ], [ -122.258583000440154, 38.27951500045792 ], [ -122.257583000000494, 38.27951500076108 ], [ -122.257082999801, 38.279515000870347 ], [ -122.25624900018741, 38.279661000832157 ], [ -122.256241999726342, 38.279662000978796 ], [ -122.25617099954971, 38.279675000808183 ], [ -122.255522999595286, 38.279580000888323 ], [ -122.255474999575895, 38.278732001022576 ], [ -122.252252999871416, 38.277647000298273 ], [ -122.252252999738189, 38.277367000976078 ], [ -122.252253000476117, 38.277079000532098 ], [ -122.252515999914607, 38.276045000633609 ], [ -122.251463000282442, 38.274651000344896 ], [ -122.255283000400325, 38.272515001129015 ], [ -122.255083000064019, 38.268015000580377 ], [ -122.272083000179506, 38.268815000789189 ], [ -122.27118299960938, 38.263715000644652 ], [ -122.271183000392455, 38.263115000725662 ], [ -122.271182999615661, 38.262815000285613 ], [ -122.271483000503181, 38.257615000573566 ], [ -122.273583000259322, 38.257515000891487 ], [ -122.27556299985028, 38.257643000944086 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1292, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.305084000151936, 38.208316000650626 ], [ -122.307084000500595, 38.21211600063824 ], [ -122.308784000225671, 38.218216000919192 ], [ -122.309383999763142, 38.219116000343952 ], [ -122.30518399998175, 38.225716000317746 ], [ -122.302783999639956, 38.226116000294915 ], [ -122.300883999714571, 38.22641600058094 ], [ -122.296183999670035, 38.230116000421653 ], [ -122.287984000141947, 38.232516001132026 ], [ -122.286483999820177, 38.239716000778479 ], [ -122.284959000036736, 38.244007000721147 ], [ -122.284790999909106, 38.244455000666349 ], [ -122.284181999953844, 38.245859000757889 ], [ -122.283983999855252, 38.246316000877457 ], [ -122.285384000006403, 38.253715001036063 ], [ -122.284383999632212, 38.25641500075448 ], [ -122.281283999928363, 38.259215000477603 ], [ -122.281284000012718, 38.25731500093103 ], [ -122.280083999431241, 38.25731500098766 ], [ -122.277983999921886, 38.257415000828182 ], [ -122.277852999390234, 38.25742700035488 ], [ -122.27556299985028, 38.257643000944086 ], [ -122.273583000259322, 38.257515000891487 ], [ -122.271483000503181, 38.257615000573566 ], [ -122.272083000515423, 38.253315000262077 ], [ -122.271723000211793, 38.252091000707786 ], [ -122.271563000366726, 38.251643000947958 ], [ -122.2714009999289, 38.251164000486554 ], [ -122.268571000084123, 38.242780000860449 ], [ -122.267883000152892, 38.240716000474102 ], [ -122.267582999809278, 38.240316000618506 ], [ -122.262826999952068, 38.236028000299108 ], [ -122.260883000386386, 38.234316000421735 ], [ -122.256481999545699, 38.231116000967667 ], [ -122.255941999577971, 38.230738000740473 ], [ -122.253481999541393, 38.229016000579094 ], [ -122.253282000269337, 38.225316000545888 ], [ -122.253314000194734, 38.224463000960853 ], [ -122.25338199977476, 38.222616000263741 ], [ -122.253484000229648, 38.221632000834113 ], [ -122.253682000463755, 38.219716000524784 ], [ -122.253610000519089, 38.217904000703172 ], [ -122.25352400004536, 38.215762001139531 ], [ -122.253501999392853, 38.215218000608679 ], [ -122.253481999580373, 38.214716000566384 ], [ -122.253519999612834, 38.213224000485503 ], [ -122.25358199951836, 38.210816000434718 ], [ -122.254174999800057, 38.210065000275037 ], [ -122.254243000504985, 38.209979000702049 ], [ -122.254303999891192, 38.209902000553981 ], [ -122.254374999544368, 38.209813000797993 ], [ -122.254381999551697, 38.209804000417819 ], [ -122.25439000006331, 38.209794000608419 ], [ -122.254398999862232, 38.209782000985825 ], [ -122.254409999619483, 38.209769001071436 ], [ -122.254421000440573, 38.209755000786721 ], [ -122.254432999403221, 38.209739000680749 ], [ -122.254446999462232, 38.209722000288991 ], [ -122.254461999859387, 38.209702000614215 ], [ -122.254479000130999, 38.209680000268563 ], [ -122.254498000255467, 38.209656001053538 ], [ -122.254519000171882, 38.209629000789171 ], [ -122.254543000452742, 38.209599000420681 ], [ -122.254569000496062, 38.209566000802347 ], [ -122.25459799967166, 38.209529000692449 ], [ -122.254630000245299, 38.209488001004274 ], [ -122.254666000438036, 38.209442000487051 ], [ -122.25470600030404, 38.209392000414589 ], [ -122.254751000165228, 38.209335000597285 ], [ -122.254801000085706, 38.209272000504356 ], [ -122.254855999950379, 38.209202000653569 ], [ -122.254931999401848, 38.209106000807964 ], [ -122.255016000132457, 38.209000001061618 ], [ -122.255109000196995, 38.20888200066836 ], [ -122.255212999409537, 38.208751001102272 ], [ -122.25532799977411, 38.208605000691733 ], [ -122.255455999903134, 38.208443000887407 ], [ -122.25559800001183, 38.208263000925939 ], [ -122.255755000363123, 38.208064000410388 ], [ -122.255929999704961, 38.207842000556433 ], [ -122.256124999868504, 38.207596000970668 ], [ -122.256340999456881, 38.207322000961163 ], [ -122.256581999865446, 38.207017000282356 ], [ -122.256571000144731, 38.206928000751127 ], [ -122.256490000224261, 38.206269001112467 ], [ -122.256494000053308, 38.205737000855983 ], [ -122.256502000408346, 38.204757000325301 ], [ -122.256582000165182, 38.195117000660019 ], [ -122.256481999583329, 38.19061700085075 ], [ -122.256265999942485, 38.189741001109375 ], [ -122.256282000189984, 38.189317001033054 ], [ -122.255682000186056, 38.184717000406515 ], [ -122.25498199985671, 38.17921700109747 ], [ -122.254781999524496, 38.177317001027824 ], [ -122.254781999758023, 38.177017001038031 ], [ -122.25358100016993, 38.171717000262511 ], [ -122.253480999623804, 38.171417000612735 ], [ -122.253459000317662, 38.171291000935533 ], [ -122.253113999854378, 38.169308001011352 ], [ -122.253095999995523, 38.169204000836622 ], [ -122.253081000388732, 38.169118000493988 ], [ -122.252981000488447, 38.165618001083416 ], [ -122.25309299969777, 38.164330000576449 ], [ -122.253167000389993, 38.163479000528142 ], [ -122.253180999627887, 38.163318000737199 ], [ -122.253481000011192, 38.158118000478161 ], [ -122.253880999392933, 38.154918001123363 ], [ -122.256280999438218, 38.154918000480698 ], [ -122.258880999638563, 38.154918000835544 ], [ -122.261880999674801, 38.155118001007466 ], [ -122.264290000186534, 38.155118000516516 ], [ -122.265581999904313, 38.155118000793884 ], [ -122.271081999866297, 38.155218000944423 ], [ -122.272481999843762, 38.155218000730962 ], [ -122.276981999409031, 38.155218000553035 ], [ -122.290383000393106, 38.155218000312551 ], [ -122.29196299972503, 38.155134000810627 ], [ -122.293683000162517, 38.155218000305268 ], [ -122.295782999778041, 38.176817001001027 ], [ -122.306782999522738, 38.179917000264517 ], [ -122.311484000173422, 38.183217000670545 ], [ -122.313480000075003, 38.193908000322068 ], [ -122.313683999912556, 38.197317000521984 ], [ -122.306184000469045, 38.204717000444035 ], [ -122.305225999475184, 38.207850000329422 ], [ -122.305084000151936, 38.208316000650626 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1291, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.224582000132187, 38.292814000324036 ], [ -122.221786000342178, 38.292490000871986 ], [ -122.220981999707561, 38.292414000398971 ], [ -122.217381999753428, 38.291914000999775 ], [ -122.216300000274174, 38.293818000566262 ], [ -122.214881999816868, 38.296314000431188 ], [ -122.212582000448222, 38.296414000645008 ], [ -122.209833999555883, 38.295466000776891 ], [ -122.209282000233472, 38.295414000926947 ], [ -122.208581999812978, 38.296614001107244 ], [ -122.204381999608003, 38.297614000538474 ], [ -122.201481999951369, 38.300513000858615 ], [ -122.199182000350831, 38.301513000872973 ], [ -122.199081999562495, 38.300113000725801 ], [ -122.200581999976862, 38.298513000634124 ], [ -122.201981999461751, 38.296714000518513 ], [ -122.202981999666136, 38.294414000624215 ], [ -122.203781999619096, 38.293914000467574 ], [ -122.203481999467201, 38.292914001104791 ], [ -122.201682000167921, 38.292414000426177 ], [ -122.201481999878055, 38.289314000581413 ], [ -122.199781999695134, 38.287614000723913 ], [ -122.19928200008053, 38.28661400080167 ], [ -122.198481999767523, 38.285814000528795 ], [ -122.198282000125474, 38.284814000498393 ], [ -122.196680999520595, 38.28441400063209 ], [ -122.196380999806138, 38.281914000941974 ], [ -122.194380999413895, 38.280814000921836 ], [ -122.192581000203873, 38.278914000292602 ], [ -122.190680999436708, 38.277514000649525 ], [ -122.191081000443916, 38.275914000269658 ], [ -122.188381000231004, 38.271614001013198 ], [ -122.193081000454413, 38.271414000886793 ], [ -122.195680999976361, 38.271514000742791 ], [ -122.197380999755467, 38.27271400049996 ], [ -122.20048100017101, 38.272014000746481 ], [ -122.206382000003586, 38.271614000716646 ], [ -122.208481999727852, 38.272214000504015 ], [ -122.210982000502696, 38.271914000516581 ], [ -122.212282000521554, 38.272814000437691 ], [ -122.213581999518354, 38.27091400074211 ], [ -122.213981999892468, 38.269714000667676 ], [ -122.21458199989975, 38.269115001048796 ], [ -122.215181999464249, 38.267515000630439 ], [ -122.216481999829924, 38.266015000471512 ], [ -122.216781999661848, 38.264215000548894 ], [ -122.216482000121687, 38.263615000351322 ], [ -122.216882000119199, 38.262315000713535 ], [ -122.21298199954991, 38.259115000503591 ], [ -122.208480999964507, 38.258415000587682 ], [ -122.207380999548931, 38.259115000532155 ], [ -122.206072999819312, 38.258795000414146 ], [ -122.205681000238769, 38.258715000414689 ], [ -122.2029810004273, 38.259215000605707 ], [ -122.199680999576159, 38.25891500093168 ], [ -122.196781000174596, 38.258415000396795 ], [ -122.193281000205616, 38.256415000278395 ], [ -122.194681000362138, 38.254715000883721 ], [ -122.194481999937253, 38.254119000862659 ], [ -122.194081000442281, 38.252915000827905 ], [ -122.195181000399941, 38.250715000925744 ], [ -122.199480999566319, 38.250915000918141 ], [ -122.200681000510599, 38.249415000591789 ], [ -122.201316999951786, 38.249398000483019 ], [ -122.204381000332717, 38.249315000718973 ], [ -122.206481000055078, 38.250915000403559 ], [ -122.209081000251302, 38.251115000480304 ], [ -122.211081000459203, 38.252215000734665 ], [ -122.212481000176865, 38.248715001078097 ], [ -122.210181000207484, 38.247415000564708 ], [ -122.209580999910713, 38.244815000260822 ], [ -122.208281000023788, 38.244215000288897 ], [ -122.205380999597963, 38.244615000587572 ], [ -122.204380999540547, 38.241015000239805 ], [ -122.20178100017722, 38.240315000779951 ], [ -122.197181000273559, 38.232815000722269 ], [ -122.197181000245394, 38.231415000452557 ], [ -122.195981000524654, 38.230415000412371 ], [ -122.19598099982494, 38.229015000573831 ], [ -122.194980999673732, 38.225216000337475 ], [ -122.19358099945714, 38.223516000734023 ], [ -122.193380000178806, 38.221216000825073 ], [ -122.196180999746034, 38.218916000395787 ], [ -122.196279999793319, 38.216116000535628 ], [ -122.194679999981673, 38.215216000743354 ], [ -122.193979999886366, 38.213616000713159 ], [ -122.194979999627847, 38.212316000947609 ], [ -122.197579999469667, 38.21181600044978 ], [ -122.199581000177787, 38.210616001060352 ], [ -122.201480999546916, 38.211616000443293 ], [ -122.204280999970962, 38.209616001082168 ], [ -122.204580999898297, 38.209216000396331 ], [ -122.205680999717643, 38.208216000389186 ], [ -122.2045810004918, 38.204816000935971 ], [ -122.205681000217524, 38.203616000756256 ], [ -122.204980000257223, 38.198516000290738 ], [ -122.205979999562146, 38.197916000536779 ], [ -122.205880000149023, 38.196216000856907 ], [ -122.211480999528732, 38.192117000840774 ], [ -122.2094799997747, 38.189917001080708 ], [ -122.215581000040871, 38.188417000253956 ], [ -122.212980000135218, 38.184317001096495 ], [ -122.213680000524661, 38.183117000503387 ], [ -122.213680000522885, 38.181017000780109 ], [ -122.215079999542581, 38.179717000835595 ], [ -122.211379999543183, 38.175617000519821 ], [ -122.211179999652245, 38.17471700102228 ], [ -122.208879999582848, 38.172717000373822 ], [ -122.204580000244846, 38.1728170002702 ], [ -122.203179999552134, 38.171517000325018 ], [ -122.203579999869049, 38.168717001120882 ], [ -122.203015999483839, 38.168589000524975 ], [ -122.202885999626091, 38.168508000348893 ], [ -122.202579999593382, 38.168317000636037 ], [ -122.201960000157314, 38.168317000414795 ], [ -122.201580000313754, 38.168217001127871 ], [ -122.200480000273572, 38.168417000388907 ], [ -122.200247999583056, 38.168381000334151 ], [ -122.199711999997902, 38.168390000419713 ], [ -122.198080000061694, 38.168417000540423 ], [ -122.194480000221404, 38.164717001112528 ], [ -122.196380000276974, 38.162517000969899 ], [ -122.196477999936945, 38.162397000391017 ], [ -122.196700000259156, 38.16212400024056 ], [ -122.198980000163019, 38.159317000252926 ], [ -122.1978799994761, 38.157117000493088 ], [ -122.195380000478877, 38.15501700090168 ], [ -122.196631000101192, 38.155017000352167 ], [ -122.201980000528636, 38.155017000661751 ], [ -122.213463999690433, 38.154894000583532 ], [ -122.214079999869838, 38.154918000418235 ], [ -122.229643000259429, 38.154950000612672 ], [ -122.233272999897608, 38.154958000828671 ], [ -122.235113000296749, 38.154942000441082 ], [ -122.236338999986245, 38.154970000689296 ], [ -122.238480999456414, 38.155018000427688 ], [ -122.238591999803319, 38.155019000389728 ], [ -122.244631000171921, 38.155063000935797 ], [ -122.245622999462, 38.155070000586939 ], [ -122.247061999786936, 38.155081000284511 ], [ -122.252180999489411, 38.155118000737545 ], [ -122.252980999425773, 38.155018000982537 ], [ -122.253880999392933, 38.154918001123363 ], [ -122.253481000011192, 38.158118000478161 ], [ -122.253180999627887, 38.163318000737199 ], [ -122.253167000389993, 38.163479000528142 ], [ -122.25309299969777, 38.164330000576449 ], [ -122.252981000488447, 38.165618001083416 ], [ -122.253081000388732, 38.169118000493988 ], [ -122.253095999995523, 38.169204000836622 ], [ -122.253113999854378, 38.169308001011352 ], [ -122.253459000317662, 38.171291000935533 ], [ -122.253480999623804, 38.171417000612735 ], [ -122.25358100016993, 38.171717000262511 ], [ -122.254781999758023, 38.177017001038031 ], [ -122.254781999524496, 38.177317001027824 ], [ -122.25498199985671, 38.17921700109747 ], [ -122.255682000186056, 38.184717000406515 ], [ -122.256282000189984, 38.189317001033054 ], [ -122.256265999942485, 38.189741001109375 ], [ -122.256481999583329, 38.19061700085075 ], [ -122.256582000165182, 38.195117000660019 ], [ -122.256502000408346, 38.204757000325301 ], [ -122.256494000053308, 38.205737000855983 ], [ -122.256490000224261, 38.206269001112467 ], [ -122.256571000144731, 38.206928000751127 ], [ -122.256581999865446, 38.207017000282356 ], [ -122.256340999456881, 38.207322000961163 ], [ -122.256124999868504, 38.207596000970668 ], [ -122.255929999704961, 38.207842000556433 ], [ -122.255755000363123, 38.208064000410388 ], [ -122.25559800001183, 38.208263000925939 ], [ -122.255455999903134, 38.208443000887407 ], [ -122.25532799977411, 38.208605000691733 ], [ -122.255212999409537, 38.208751001102272 ], [ -122.255109000196995, 38.20888200066836 ], [ -122.255016000132457, 38.209000001061618 ], [ -122.254931999401848, 38.209106000807964 ], [ -122.254855999950379, 38.209202000653569 ], [ -122.254801000085706, 38.209272000504356 ], [ -122.254751000165228, 38.209335000597285 ], [ -122.25470600030404, 38.209392000414589 ], [ -122.254666000438036, 38.209442000487051 ], [ -122.254630000245299, 38.209488001004274 ], [ -122.25459799967166, 38.209529000692449 ], [ -122.254569000496062, 38.209566000802347 ], [ -122.254543000452742, 38.209599000420681 ], [ -122.254519000171882, 38.209629000789171 ], [ -122.254498000255467, 38.209656001053538 ], [ -122.254479000130999, 38.209680000268563 ], [ -122.254461999859387, 38.209702000614215 ], [ -122.254446999462232, 38.209722000288991 ], [ -122.254432999403221, 38.209739000680749 ], [ -122.254421000440573, 38.209755000786721 ], [ -122.254409999619483, 38.209769001071436 ], [ -122.254398999862232, 38.209782000985825 ], [ -122.25439000006331, 38.209794000608419 ], [ -122.254381999551697, 38.209804000417819 ], [ -122.254374999544368, 38.209813000797993 ], [ -122.254303999891192, 38.209902000553981 ], [ -122.254243000504985, 38.209979000702049 ], [ -122.254174999800057, 38.210065000275037 ], [ -122.25358199951836, 38.210816000434718 ], [ -122.253519999612834, 38.213224000485503 ], [ -122.253481999580373, 38.214716000566384 ], [ -122.253501999392853, 38.215218000608679 ], [ -122.25352400004536, 38.215762001139531 ], [ -122.253610000519089, 38.217904000703172 ], [ -122.253682000463755, 38.219716000524784 ], [ -122.253484000229648, 38.221632000834113 ], [ -122.25338199977476, 38.222616000263741 ], [ -122.253314000194734, 38.224463000960853 ], [ -122.253282000269337, 38.225316000545888 ], [ -122.253481999541393, 38.229016000579094 ], [ -122.255941999577971, 38.230738000740473 ], [ -122.256481999545699, 38.231116000967667 ], [ -122.260883000386386, 38.234316000421735 ], [ -122.262826999952068, 38.236028000299108 ], [ -122.267582999809278, 38.240316000618506 ], [ -122.267883000152892, 38.240716000474102 ], [ -122.268571000084123, 38.242780000860449 ], [ -122.2714009999289, 38.251164000486554 ], [ -122.271563000366726, 38.251643000947958 ], [ -122.271723000211793, 38.252091000707786 ], [ -122.272083000515423, 38.253315000262077 ], [ -122.271483000503181, 38.257615000573566 ], [ -122.271182999615661, 38.262815000285613 ], [ -122.271183000392455, 38.263115000725662 ], [ -122.27118299960938, 38.263715000644652 ], [ -122.272083000179506, 38.268815000789189 ], [ -122.255083000064019, 38.268015000580377 ], [ -122.255283000400325, 38.272515001129015 ], [ -122.251463000282442, 38.274651000344896 ], [ -122.252515999914607, 38.276045000633609 ], [ -122.252253000476117, 38.277079000532098 ], [ -122.252252999738189, 38.277367000976078 ], [ -122.252252999871416, 38.277647000298273 ], [ -122.255474999575895, 38.278732001022576 ], [ -122.255522999595286, 38.279580000888323 ], [ -122.255083000285239, 38.279515000732168 ], [ -122.248983000502093, 38.279515000993968 ], [ -122.248983000157423, 38.28201400074456 ], [ -122.247583000529545, 38.282014000467392 ], [ -122.249383000405615, 38.282414000529648 ], [ -122.25188299982311, 38.283714001129312 ], [ -122.254883000524643, 38.285914000451434 ], [ -122.255601000212579, 38.287350000598757 ], [ -122.255682999949144, 38.287514000919415 ], [ -122.258319999804328, 38.288393000261998 ], [ -122.261382999880382, 38.289414000909289 ], [ -122.259183000504905, 38.291014000768641 ], [ -122.256882999967402, 38.291814000534302 ], [ -122.253882999430459, 38.292914000693067 ], [ -122.251683000497763, 38.295114000935982 ], [ -122.246082999447566, 38.294714000781042 ], [ -122.245282999949012, 38.294614000808835 ], [ -122.243183000486155, 38.294414000677058 ], [ -122.241882999663673, 38.294314000577593 ], [ -122.238783000132713, 38.29401400053149 ], [ -122.236383000044782, 38.293814000927362 ], [ -122.232683000035522, 38.293414000769403 ], [ -122.228831999770378, 38.293139000921762 ], [ -122.227082000023074, 38.293014000649762 ], [ -122.224582000132187, 38.292814000324036 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 28, "TAZ1454": 1309, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.380384006782208, 38.376856009287295 ], [ -122.380696997883362, 38.38135798706962 ], [ -122.380960005896753, 38.385126999081272 ], [ -122.385599993129475, 38.385415016359275 ], [ -122.385576013612194, 38.387266014731459 ], [ -122.385536015968938, 38.390422990634676 ], [ -122.37913599647716, 38.390567011457073 ], [ -122.377759985700649, 38.392535000896316 ], [ -122.367503977262729, 38.398215014623972 ], [ -122.364368005547419, 38.394647012375444 ], [ -122.363177994077972, 38.395351986098461 ], [ -122.361588008196534, 38.396610989105532 ], [ -122.360367012637568, 38.397018011810893 ], [ -122.360048008714273, 38.397207004482262 ], [ -122.368475984476021, 38.40529701549378 ], [ -122.368831991028173, 38.405639001008964 ], [ -122.369087991858848, 38.405910990235043 ], [ -122.368788003754261, 38.406211000393931 ], [ -122.368288008809984, 38.406611001768681 ], [ -122.369187994773625, 38.407711000990595 ], [ -122.370239986585446, 38.408326984768465 ], [ -122.366688010091423, 38.410510997543554 ], [ -122.367588019179735, 38.411611008530429 ], [ -122.365687988927064, 38.413111013004496 ], [ -122.364988004209252, 38.413910992299613 ], [ -122.361187983106788, 38.410910985206428 ], [ -122.361587989934094, 38.410710990127036 ], [ -122.358409011436166, 38.40793700716781 ], [ -122.356087981825468, 38.405911015156093 ], [ -122.355188005760169, 38.405011013557164 ], [ -122.349586988740626, 38.400111007095887 ], [ -122.35506398863923, 38.395833003341714 ], [ -122.355987992164543, 38.395110985465074 ], [ -122.354423020332575, 38.392929988112577 ], [ -122.35417899681778, 38.392589983700134 ], [ -122.353760006273276, 38.392006988391906 ], [ -122.354096019439282, 38.391830990953387 ], [ -122.354480005676777, 38.391606992367343 ], [ -122.35491201325992, 38.391415010593121 ], [ -122.361247995197488, 38.38813498924754 ], [ -122.368985004234773, 38.384615005558885 ], [ -122.369407987060839, 38.384422991696155 ], [ -122.373536016191096, 38.390391015706278 ], [ -122.375071994531069, 38.38947898673652 ], [ -122.375072013096656, 38.385926991203988 ], [ -122.376319980887587, 38.384103002418421 ], [ -122.375216005037657, 38.382504008606425 ], [ -122.376527995088566, 38.380919990283012 ], [ -122.377263990399939, 38.378151984133453 ], [ -122.380384006782208, 38.376856009287295 ] ], [ [ -122.2889849794593, 38.324513004468983 ], [ -122.288860012260457, 38.324524004951549 ], [ -122.288657004858777, 38.324541009540873 ], [ -122.285484979405254, 38.32481300586916 ], [ -122.284184986095624, 38.324613005427089 ], [ -122.284241979832672, 38.324984016686294 ], [ -122.28438501080781, 38.325913008924331 ], [ -122.282985000591168, 38.327212992059856 ], [ -122.283485017878604, 38.328712993632401 ], [ -122.282284994568997, 38.330912982807732 ], [ -122.284785011319997, 38.33501301135351 ], [ -122.284785018512139, 38.338512990874094 ], [ -122.287685004683084, 38.340513012454821 ], [ -122.287685003847997, 38.346012995105006 ], [ -122.289585001248852, 38.348511995491428 ], [ -122.290485013962467, 38.349112003718766 ], [ -122.290584997410335, 38.351711994766148 ], [ -122.29098498075335, 38.35231200021466 ], [ -122.292498984728411, 38.353915001579082 ], [ -122.294384998169619, 38.355912006521294 ], [ -122.296384992299835, 38.356411986318555 ], [ -122.297585986308988, 38.358212015136822 ], [ -122.300586014717851, 38.359012003255941 ], [ -122.300686016253621, 38.360812010284 ], [ -122.302186015392991, 38.364012000885026 ], [ -122.304486005995471, 38.365212001824773 ], [ -122.303486012681248, 38.367612001070242 ], [ -122.306185996185732, 38.372712004713605 ], [ -122.309485993714262, 38.375311996884044 ], [ -122.310385980040721, 38.377512004123695 ], [ -122.316886021829646, 38.381810984917344 ], [ -122.317585989316711, 38.383111017861765 ], [ -122.322687021713577, 38.38461099245351 ], [ -122.324086987059033, 38.386311000685225 ], [ -122.32878699258309, 38.385710992547949 ], [ -122.330621013893918, 38.385926999181436 ], [ -122.337286991265486, 38.386711018014189 ], [ -122.339987008400129, 38.390211001573633 ], [ -122.339587010933386, 38.391311013344875 ], [ -122.341287016473828, 38.392311001089588 ], [ -122.342686994317503, 38.396810997197932 ], [ -122.342287004212338, 38.401010984776391 ], [ -122.341287000511585, 38.402611009310107 ], [ -122.341686980108705, 38.407410988679061 ], [ -122.343186981736523, 38.410711015836945 ], [ -122.34388700525156, 38.415011011400004 ], [ -122.351788013041215, 38.418209996523082 ], [ -122.353488014244078, 38.419410008268756 ], [ -122.354188006464227, 38.419710000504978 ], [ -122.355487997360029, 38.419609997369243 ], [ -122.357788021696223, 38.421209989715777 ], [ -122.360487996320671, 38.421909992677051 ], [ -122.361888015508825, 38.42140998829526 ], [ -122.365987981563123, 38.422010002756657 ], [ -122.367188007083215, 38.421609992770556 ], [ -122.367988019726369, 38.421610015136231 ], [ -122.368787998791021, 38.421109999698565 ], [ -122.370187988227187, 38.421609995317205 ], [ -122.369887979359206, 38.421209983277507 ], [ -122.371687994383876, 38.42220999592481 ], [ -122.372687981662438, 38.42231001557532 ], [ -122.374388001035072, 38.424409986701654 ], [ -122.374498983243768, 38.424497989683708 ], [ -122.376287992080393, 38.425910001392275 ], [ -122.380287988075551, 38.426810010116284 ], [ -122.39018898675333, 38.422510007928331 ], [ -122.391188978365506, 38.423610005209653 ], [ -122.397764983461173, 38.431257999472699 ], [ -122.400388983420569, 38.434309983578679 ], [ -122.40068900626801, 38.43420999127428 ], [ -122.403979022193937, 38.431473990996061 ], [ -122.406098996825236, 38.429709999431957 ], [ -122.410472978420529, 38.426071998402968 ], [ -122.410547993302842, 38.426009994882051 ], [ -122.410695007884584, 38.425888014342334 ], [ -122.411025991790765, 38.425611991887081 ], [ -122.411389001727642, 38.425310008227747 ], [ -122.414488998340161, 38.421910007272224 ], [ -122.416388986264167, 38.422110006915432 ], [ -122.417788979691096, 38.421410010065877 ], [ -122.423790001637954, 38.421310014359499 ], [ -122.425289995593317, 38.422210004886722 ], [ -122.427289996151956, 38.421309991460681 ], [ -122.425989980550156, 38.418611005043338 ], [ -122.425916008292418, 38.417758008615735 ], [ -122.425790001970512, 38.416311010996843 ], [ -122.427289988641078, 38.411210990859388 ], [ -122.428489990898342, 38.411310983436707 ], [ -122.428864012504221, 38.408415008057325 ], [ -122.428890001758262, 38.408210987962981 ], [ -122.430889982798874, 38.408211000091455 ], [ -122.432589991437538, 38.407110991919318 ], [ -122.4303900054298, 38.40731101549828 ], [ -122.429013980834398, 38.404651009856835 ], [ -122.427390021213085, 38.401511004224588 ], [ -122.425489986687623, 38.401511000393135 ], [ -122.424900016738988, 38.400961990312901 ], [ -122.417964990148874, 38.394499996472824 ], [ -122.416688994852848, 38.393311015472534 ], [ -122.415188985553002, 38.392311003909036 ], [ -122.41326498855517, 38.392295017339244 ], [ -122.411294020047237, 38.390895005275418 ], [ -122.410337006227763, 38.390214984974875 ], [ -122.408097021985654, 38.388919001051534 ], [ -122.407689014850249, 38.38821099694438 ], [ -122.407088978099964, 38.388311005242883 ], [ -122.402389021079401, 38.384710988366592 ], [ -122.400888998837388, 38.382011994303092 ], [ -122.398589002460156, 38.380712001065056 ], [ -122.398387984538573, 38.380435006233078 ], [ -122.397788988265162, 38.379611996545897 ], [ -122.396642979769311, 38.378980988141144 ], [ -122.395920984362277, 38.378582986219442 ], [ -122.394997018686652, 38.378073995890652 ], [ -122.394533993773649, 38.377819017358966 ], [ -122.393498002066195, 38.377248005749365 ], [ -122.39305800836361, 38.377005004253235 ], [ -122.392888979934327, 38.376912000385602 ], [ -122.392817002941769, 38.376861004387123 ], [ -122.392554981364853, 38.37667401675963 ], [ -122.392188987196263, 38.376411998042187 ], [ -122.390463996544696, 38.374912015098189 ], [ -122.389888985661898, 38.374412015034686 ], [ -122.388588016839009, 38.374512010913698 ], [ -122.385988008491864, 38.373111986243394 ], [ -122.385104018743064, 38.372978999623029 ], [ -122.384190999151656, 38.372842016635026 ], [ -122.383988008273803, 38.372812012586671 ], [ -122.382488020749847, 38.372011997865911 ], [ -122.378287995970467, 38.36801200205992 ], [ -122.376087994587081, 38.366506998896767 ], [ -122.374488009771866, 38.365412009192426 ], [ -122.373955010476806, 38.364292001895187 ], [ -122.373486009785665, 38.363306989195316 ], [ -122.372567007067445, 38.361378001694661 ], [ -122.372488004329668, 38.361212014585107 ], [ -122.371380009600244, 38.360736986345671 ], [ -122.370854993637352, 38.360511998016328 ], [ -122.368288003029392, 38.359412012108272 ], [ -122.363077021471526, 38.353381997666666 ], [ -122.361287009636897, 38.351312016254482 ], [ -122.358000992596445, 38.348741004790526 ], [ -122.357600978676288, 38.348427997638794 ], [ -122.357342992665338, 38.348225991427782 ], [ -122.356686995838615, 38.347712991977744 ], [ -122.355918989497624, 38.346951994892656 ], [ -122.355551989281579, 38.346588010577499 ], [ -122.354351007632928, 38.345401012571266 ], [ -122.353966983024264, 38.345032986661479 ], [ -122.352524000985952, 38.343418984128157 ], [ -122.351087000850015, 38.341812988034306 ], [ -122.350287003751305, 38.340013010265778 ], [ -122.349387005750231, 38.340112998991515 ], [ -122.348422980740139, 38.338617986270386 ], [ -122.347386992197812, 38.337013009817881 ], [ -122.347141982441912, 38.336827000664776 ], [ -122.343186984742403, 38.333812991266747 ], [ -122.342048021473403, 38.334235005376499 ], [ -122.340730016049648, 38.334724016264992 ], [ -122.337420984240893, 38.335950993161845 ], [ -122.334285991666306, 38.337112997346807 ], [ -122.331309015588133, 38.33378899009778 ], [ -122.330216993521731, 38.332570998783424 ], [ -122.329985979453809, 38.332313006224084 ], [ -122.329513992872208, 38.332563003624315 ], [ -122.32858798894604, 38.333052006253872 ], [ -122.328315993562583, 38.333196017578139 ], [ -122.328251007654984, 38.333230004532403 ], [ -122.327941015146592, 38.333394004461105 ], [ -122.327569002903161, 38.333590000506874 ], [ -122.327500010743563, 38.333626991618985 ], [ -122.327303020214742, 38.33373101638017 ], [ -122.326859982040091, 38.333965996069324 ], [ -122.32671800885629, 38.334041010629967 ], [ -122.326331010067292, 38.334204000862229 ], [ -122.325997980784592, 38.33434501582483 ], [ -122.325323000165042, 38.33467300326771 ], [ -122.323781992279336, 38.335180007887466 ], [ -122.323246004155266, 38.335338995501083 ], [ -122.322186006751394, 38.335612992311376 ], [ -122.322085985235816, 38.335712992128279 ], [ -122.321885979353056, 38.335813012217322 ], [ -122.323441990177173, 38.338222985573033 ], [ -122.323677993809156, 38.338588004590818 ], [ -122.32376298760677, 38.338720017014182 ], [ -122.324077985410483, 38.33920898645006 ], [ -122.324111980871635, 38.339263995068038 ], [ -122.323728011066862, 38.339386016415624 ], [ -122.322386007111461, 38.339813004088128 ], [ -122.321820986803061, 38.340028002792828 ], [ -122.321485986283619, 38.340112983679894 ], [ -122.320986002733804, 38.340313005667298 ], [ -122.320186005109321, 38.340612991072625 ], [ -122.319697994619361, 38.340746013287017 ], [ -122.317985997078623, 38.341213012899885 ], [ -122.317485997076389, 38.341512999149536 ], [ -122.316805020342557, 38.3417019868957 ], [ -122.315686001545558, 38.342013002217051 ], [ -122.314486021734979, 38.342712995355875 ], [ -122.314326988127405, 38.342788000576043 ], [ -122.312931020366321, 38.343445009126967 ], [ -122.312785996466332, 38.343512983115225 ], [ -122.31158601620433, 38.344113002106319 ], [ -122.311284996534795, 38.344292992687699 ], [ -122.309585984247391, 38.345312999554331 ], [ -122.306486006514362, 38.347013011930649 ], [ -122.303186004927426, 38.348812013682654 ], [ -122.298084994453376, 38.341613009244469 ], [ -122.294284983628998, 38.336112990446892 ], [ -122.294081985462029, 38.335807993357541 ], [ -122.293885015189488, 38.335512994934987 ], [ -122.292985002223531, 38.333713012958945 ], [ -122.29242601386612, 38.332425997669255 ], [ -122.292290980884033, 38.332115000270832 ], [ -122.291905980268652, 38.331230005894717 ], [ -122.291663010497572, 38.330671998201211 ], [ -122.291192000304633, 38.329588987189261 ], [ -122.290346979057674, 38.327645014661229 ], [ -122.289471999857099, 38.325634001586835 ], [ -122.289211984040705, 38.325035998960061 ], [ -122.2889849794593, 38.324513004468983 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 28, "TAZ1454": 1311, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.197483999690832, 38.446809000906164 ], [ -122.196484000108086, 38.445709000255462 ], [ -122.19154099967021, 38.442769000353827 ], [ -122.184884000477268, 38.438809000636425 ], [ -122.182391999392536, 38.437872000925637 ], [ -122.179550000156439, 38.437705000852404 ], [ -122.175855999648775, 38.437816000985194 ], [ -122.172232000080186, 38.437427000771656 ], [ -122.16697399947607, 38.436592000854411 ], [ -122.165340000478977, 38.436314000344993 ], [ -122.164031000283373, 38.435538000846847 ], [ -122.16185900029312, 38.432641000781352 ], [ -122.16015400023727, 38.430917000662006 ], [ -122.158591000123309, 38.430193000621905 ], [ -122.156746999716617, 38.430053000244648 ], [ -122.156181000125187, 38.430652000697648 ], [ -122.154806999913376, 38.432107000642034 ], [ -122.153785000161818, 38.433190000966512 ], [ -122.153483000363664, 38.433509000340891 ], [ -122.153982999784063, 38.437809000471745 ], [ -122.153228000263908, 38.438942001053569 ], [ -122.152540000259734, 38.439973000243725 ], [ -122.152383000217085, 38.440209000861607 ], [ -122.152305999381568, 38.441893001030273 ], [ -122.151983000285171, 38.449009000584546 ], [ -122.152001000263255, 38.449685000692668 ], [ -122.152082999976244, 38.452809001123057 ], [ -122.152163999850984, 38.453182000954293 ], [ -122.152583000377561, 38.455109000793925 ], [ -122.151992999943445, 38.463807000562703 ], [ -122.151354000281543, 38.464645000445614 ], [ -122.150611000213971, 38.46487700046444 ], [ -122.149274999715573, 38.465109000344022 ], [ -122.148285000415171, 38.465497000810785 ], [ -122.147249999596482, 38.466650000960186 ], [ -122.146503000090377, 38.468053000969377 ], [ -122.146008000380419, 38.468712000645318 ], [ -122.144720999433787, 38.468867000770473 ], [ -122.143680999941665, 38.468479000472065 ], [ -122.142493000031621, 38.468634000449413 ], [ -122.141750999609727, 38.469293000255171 ], [ -122.141898999598453, 38.47095800053043 ], [ -122.142393999430951, 38.471888001099785 ], [ -122.142943999676959, 38.474178000996119 ], [ -122.143334999528079, 38.474367000973402 ], [ -122.143483000431303, 38.474754000647501 ], [ -122.143183000453192, 38.475208000891193 ], [ -122.141799999666915, 38.47564500108917 ], [ -122.141205999760942, 38.47614900105151 ], [ -122.140116999769106, 38.476768001011834 ], [ -122.139176999472099, 38.476807000833482 ], [ -122.137082999903257, 38.476608000459635 ], [ -122.136504000360887, 38.476575000883301 ], [ -122.136207000080375, 38.476691000776931 ], [ -122.13600900014481, 38.476846000253062 ], [ -122.131785000416343, 38.484260000507788 ], [ -122.131056999501638, 38.485312000830326 ], [ -122.129882999794418, 38.487008000686529 ], [ -122.129251999501193, 38.48745200094519 ], [ -122.127183000163981, 38.488907000496781 ], [ -122.12644299994659, 38.490083000592087 ], [ -122.125079999604253, 38.491931000398658 ], [ -122.123543000430288, 38.492687000881695 ], [ -122.12288399992299, 38.493375000599777 ], [ -122.121872999501832, 38.496882000562337 ], [ -122.12086300033117, 38.498189000710646 ], [ -122.119588999735598, 38.499220000852276 ], [ -122.1175680000933, 38.499977001044797 ], [ -122.115811000493451, 38.500699000907282 ], [ -122.115503000524399, 38.501352000439852 ], [ -122.115722999848245, 38.502040000543623 ], [ -122.11664600002571, 38.502796000625224 ], [ -122.116821000239042, 38.503725000918578 ], [ -122.116293999808704, 38.504481000838162 ], [ -122.11537199963773, 38.504756000738126 ], [ -122.114097999507322, 38.504825000555947 ], [ -122.113086999450204, 38.505134000308679 ], [ -122.111989000336109, 38.505134001082062 ], [ -122.110407000397743, 38.505031000548563 ], [ -122.109923999682209, 38.505306001127074 ], [ -122.110187999448414, 38.505960000258753 ], [ -122.111417999883159, 38.50675100079247 ], [ -122.111329999859421, 38.507541000519318 ], [ -122.108254999997229, 38.51022300076832 ], [ -122.106365999486528, 38.511014001022843 ], [ -122.103482999638885, 38.511907000391197 ], [ -122.106282999908188, 38.508307000503848 ], [ -122.10718299949059, 38.494507000594105 ], [ -122.104981999441463, 38.492807000963218 ], [ -122.104881999816172, 38.490807000660077 ], [ -122.108182000071778, 38.486107000917237 ], [ -122.111182000377568, 38.477208000344113 ], [ -122.11206900030983, 38.476143000399333 ], [ -122.113182000144874, 38.474808000600326 ], [ -122.120582000067699, 38.453808000838244 ], [ -122.123581999807968, 38.447609000509381 ], [ -122.124522000385696, 38.442773000936214 ], [ -122.125481999817751, 38.438209000461761 ], [ -122.125881999886687, 38.436609000739516 ], [ -122.126082000184638, 38.436365000643235 ], [ -122.126781999712009, 38.435509000423906 ], [ -122.12648199982479, 38.43310900066075 ], [ -122.126582000366156, 38.43130900095229 ], [ -122.126382000216736, 38.428909000284861 ], [ -122.126082000030493, 38.427709000920593 ], [ -122.125481999687167, 38.425309001100217 ], [ -122.125082000404547, 38.424009000351226 ], [ -122.124481999497831, 38.42380900094178 ], [ -122.122482000249306, 38.421309000350774 ], [ -122.12058199963154, 38.419109000924642 ], [ -122.119781999772997, 38.418409000551151 ], [ -122.119182000499308, 38.41650900032792 ], [ -122.117981999485636, 38.414109000813887 ], [ -122.117381999968714, 38.41400900036507 ], [ -122.114681000051675, 38.413909000682835 ], [ -122.114881000477851, 38.413109000710939 ], [ -122.114980999636103, 38.412309000344152 ], [ -122.114080999775311, 38.412209000806783 ], [ -122.112180999944385, 38.409510000952665 ], [ -122.110681000157641, 38.40861000070997 ], [ -122.109581000146008, 38.407410000744839 ], [ -122.109781000522787, 38.406010000850557 ], [ -122.109581000366433, 38.404610000873632 ], [ -122.098880999688063, 38.393910000929985 ], [ -122.098481000002934, 38.393010000315144 ], [ -122.097817000443726, 38.392486000836143 ], [ -122.094680999574976, 38.390110000279847 ], [ -122.092779999424081, 38.388510000826216 ], [ -122.088879999600024, 38.384210000834173 ], [ -122.086080000140484, 38.380510000326538 ], [ -122.085879999443335, 38.379410000888164 ], [ -122.083529999495511, 38.374910000714387 ], [ -122.077680000019598, 38.363711000721345 ], [ -122.076080000073603, 38.363711000714225 ], [ -122.075580000368916, 38.363111000248438 ], [ -122.073379999402306, 38.360911000862352 ], [ -122.073380000123507, 38.358411000457693 ], [ -122.071878999831753, 38.355211000604243 ], [ -122.070978999908448, 38.353211001049651 ], [ -122.069678999923909, 38.350811001020716 ], [ -122.070579000143795, 38.349811000984637 ], [ -122.070279000157328, 38.349011000695583 ], [ -122.070679000193095, 38.346411000820858 ], [ -122.069478999539783, 38.344211000411505 ], [ -122.069779000498841, 38.342811000495352 ], [ -122.069178999396328, 38.341911000942062 ], [ -122.068379000281965, 38.339711000335974 ], [ -122.066879000082835, 38.337211001137788 ], [ -122.064778999864942, 38.333411000402229 ], [ -122.062979000375805, 38.33351100061806 ], [ -122.061379000429554, 38.329611000868972 ], [ -122.061574999471887, 38.328743000691475 ], [ -122.061378999874961, 38.327411000898017 ], [ -122.062079000258606, 38.325111000973443 ], [ -122.063378999480804, 38.324811000499786 ], [ -122.065270999917558, 38.323204001000875 ], [ -122.065379000278625, 38.323112000814263 ], [ -122.066278999451001, 38.321012000505839 ], [ -122.068178999825207, 38.3184120007937 ], [ -122.065079000183147, 38.317112001049544 ], [ -122.064778999593784, 38.315912000464664 ], [ -122.075172999715591, 38.315877001014243 ], [ -122.079501000428763, 38.315862000723563 ], [ -122.091811999849071, 38.315820000937947 ], [ -122.094078999496134, 38.315812000827158 ], [ -122.096479000011186, 38.315812001102977 ], [ -122.103780000138372, 38.315812000456951 ], [ -122.104380000313682, 38.315812001004566 ], [ -122.114595000473486, 38.315735000856932 ], [ -122.130980000377434, 38.315612000756687 ], [ -122.133779999651154, 38.315612000722432 ], [ -122.164279999952882, 38.31581100060933 ], [ -122.166387999480449, 38.315825000676398 ], [ -122.172775000353823, 38.315866000354717 ], [ -122.179946000178873, 38.315913000631141 ], [ -122.191182000231805, 38.315613000655631 ], [ -122.192681999530507, 38.315713001027945 ], [ -122.197081999770816, 38.315613000573677 ], [ -122.197682000087909, 38.315713000827117 ], [ -122.19820199977319, 38.315705000396086 ], [ -122.198761999862597, 38.315721000967322 ], [ -122.198996000436964, 38.315721000502428 ], [ -122.20598200020406, 38.315713000431764 ], [ -122.206381999472057, 38.314913000659686 ], [ -122.206182000117423, 38.314013000612341 ], [ -122.204081999725702, 38.310113000471524 ], [ -122.201882000032896, 38.308913000433776 ], [ -122.201625999507286, 38.30852100025443 ], [ -122.201382000004685, 38.308013001098267 ], [ -122.202482000386368, 38.305713001009813 ], [ -122.202582000461987, 38.304113000365376 ], [ -122.200981999836472, 38.302813000671108 ], [ -122.200482000325565, 38.30201300101259 ], [ -122.199182000350831, 38.301513000872973 ], [ -122.201481999951369, 38.300513000858615 ], [ -122.204381999608003, 38.297614000538474 ], [ -122.208581999812978, 38.296614001107244 ], [ -122.209282000233472, 38.295414000926947 ], [ -122.209833999555883, 38.295466000776891 ], [ -122.212582000448222, 38.296414000645008 ], [ -122.214881999816868, 38.296314000431188 ], [ -122.216300000274174, 38.293818000566262 ], [ -122.217381999753428, 38.291914000999775 ], [ -122.220981999707561, 38.292414000398971 ], [ -122.221786000342178, 38.292490000871986 ], [ -122.224582000132187, 38.292814000324036 ], [ -122.227082000023074, 38.293014000649762 ], [ -122.228831999770378, 38.293139000921762 ], [ -122.232683000035522, 38.293414000769403 ], [ -122.236383000044782, 38.293814000927362 ], [ -122.238783000132713, 38.29401400053149 ], [ -122.241882999663673, 38.294314000577593 ], [ -122.243183000486155, 38.294414000677058 ], [ -122.245282999949012, 38.294614000808835 ], [ -122.246082999447566, 38.294714000781042 ], [ -122.251683000497763, 38.295114000935982 ], [ -122.253182999724459, 38.295314000736546 ], [ -122.253482999848842, 38.298414000379573 ], [ -122.254382999750732, 38.30411400054858 ], [ -122.25458299993403, 38.305214000472724 ], [ -122.255683000136131, 38.306414000423807 ], [ -122.256110999603521, 38.309413000688885 ], [ -122.256683999811074, 38.31341400038685 ], [ -122.255984000256987, 38.315113000621075 ], [ -122.256031000434035, 38.317569000538796 ], [ -122.256084000314374, 38.320313000772323 ], [ -122.256284000513688, 38.323213000846089 ], [ -122.263684000530233, 38.323713000346082 ], [ -122.265184000300309, 38.322713000391673 ], [ -122.267483999442305, 38.324213001060279 ], [ -122.271784000502308, 38.322813000270855 ], [ -122.271855999414129, 38.3227590007846 ], [ -122.272183999730146, 38.322513001084992 ], [ -122.273283999390515, 38.323113001035694 ], [ -122.273584000239381, 38.323913000935406 ], [ -122.274283999689573, 38.324913000467525 ], [ -122.274584000201486, 38.324913000814689 ], [ -122.274939999538987, 38.324905000377349 ], [ -122.277083999977123, 38.324813000533375 ], [ -122.284184999654073, 38.324613000891063 ], [ -122.28424199944125, 38.324984000414965 ], [ -122.284384999661697, 38.32591300080162 ], [ -122.282984999644924, 38.327213001009973 ], [ -122.28348499985799, 38.328713001013718 ], [ -122.282285000330475, 38.330913000416835 ], [ -122.284784999622545, 38.335013000974442 ], [ -122.284784999608917, 38.338513000503276 ], [ -122.287685000360682, 38.340513001050638 ], [ -122.287685000148699, 38.346013000377219 ], [ -122.289585000269014, 38.348512000611173 ], [ -122.290484999897984, 38.349112001042677 ], [ -122.29058500014483, 38.351712000415304 ], [ -122.290985000276862, 38.35231200061434 ], [ -122.292499000333237, 38.353915000434057 ], [ -122.294385000373438, 38.355912000563983 ], [ -122.296385000385541, 38.356412000842923 ], [ -122.297586000109561, 38.358212000912637 ], [ -122.300586000288547, 38.359012001085802 ], [ -122.300685999609669, 38.360812000327641 ], [ -122.302186000086351, 38.364012000568621 ], [ -122.304485999855629, 38.365212000492853 ], [ -122.303486000375301, 38.367612001109791 ], [ -122.306186000019579, 38.372712000342851 ], [ -122.309486000049873, 38.375312000300937 ], [ -122.310386000177786, 38.377512000918919 ], [ -122.31688599985678, 38.381811000616914 ], [ -122.317585999425916, 38.383111000572178 ], [ -122.322686999596286, 38.384611000661984 ], [ -122.324087000015879, 38.386311000252988 ], [ -122.328786999810177, 38.385711000362328 ], [ -122.330620999853934, 38.3859270006784 ], [ -122.33728700036616, 38.386711000998851 ], [ -122.339986999746671, 38.39021100090531 ], [ -122.33958700002421, 38.391311001004333 ], [ -122.341286999656063, 38.392311000995079 ], [ -122.342687000298724, 38.396811000611038 ], [ -122.342286999419699, 38.401011000239123 ], [ -122.341287000302486, 38.402611000803716 ], [ -122.341686999617338, 38.407411000279112 ], [ -122.343187000129902, 38.410711000506758 ], [ -122.343887000483974, 38.41501100027714 ], [ -122.351787999833817, 38.418210000336522 ], [ -122.346987999979774, 38.422410001132647 ], [ -122.341187000343155, 38.427610000273432 ], [ -122.34263899950399, 38.428998000427725 ], [ -122.345087999961621, 38.430910000649376 ], [ -122.347270999898825, 38.433901000700558 ], [ -122.350488000391479, 38.438310001131676 ], [ -122.351487999655276, 38.440210000532865 ], [ -122.352501999835056, 38.442795000461089 ], [ -122.352576999991925, 38.442987001037025 ], [ -122.353488000216018, 38.445310000695052 ], [ -122.355493000461195, 38.446777000963039 ], [ -122.357422000090239, 38.448187001027826 ], [ -122.360187999663296, 38.450210000623734 ], [ -122.363487999570694, 38.455909000566102 ], [ -122.364987999548561, 38.457909000650517 ], [ -122.365874999449943, 38.458478001035502 ], [ -122.369438000260914, 38.460763001082533 ], [ -122.372754000325855, 38.462890001090003 ], [ -122.375589000116875, 38.464709000352101 ], [ -122.38118899998905, 38.469409000488781 ], [ -122.383424999551039, 38.47150900031076 ], [ -122.389388999473113, 38.477109000401839 ], [ -122.400189000424163, 38.483509001082687 ], [ -122.402088999668464, 38.485709000908344 ], [ -122.404288999770316, 38.486809000972414 ], [ -122.403688999398184, 38.487409001105284 ], [ -122.402288999501991, 38.487809000321342 ], [ -122.398688999841582, 38.486809000290336 ], [ -122.392389000476214, 38.487609000510844 ], [ -122.386689000069268, 38.485709000485137 ], [ -122.381389000446319, 38.482509001032369 ], [ -122.376282000219589, 38.480994000601136 ], [ -122.372288999545759, 38.479809000482298 ], [ -122.372188999743017, 38.478809000627535 ], [ -122.371488999586148, 38.478909000609661 ], [ -122.369987999726931, 38.480809000861562 ], [ -122.366687999946578, 38.480309001121199 ], [ -122.364387999895115, 38.481509000576686 ], [ -122.35858799980366, 38.48210900044289 ], [ -122.35728800049165, 38.483009000980601 ], [ -122.356209999671478, 38.482739000683985 ], [ -122.356015999455934, 38.482660000950588 ], [ -122.355900000170806, 38.482649001116208 ], [ -122.35573999978395, 38.482660000842486 ], [ -122.355615999649899, 38.482797000891296 ], [ -122.355085999947107, 38.484411000876939 ], [ -122.354882000500552, 38.484820000284117 ], [ -122.354285999664668, 38.485139000569902 ], [ -122.35371999984774, 38.485503000838406 ], [ -122.353457999568931, 38.485832000532127 ], [ -122.35280399991457, 38.487037000664522 ], [ -122.352557000172538, 38.487265000506184 ], [ -122.351888000258015, 38.487526000733062 ], [ -122.349038999625975, 38.488393000736465 ], [ -122.348863999981234, 38.488527000967991 ], [ -122.348747999740013, 38.488845001069485 ], [ -122.348487999963183, 38.490408001026211 ], [ -122.341787999555677, 38.492608000642299 ], [ -122.339487999567069, 38.49180800072935 ], [ -122.336487999833423, 38.492408000581712 ], [ -122.334388000488275, 38.491008000374293 ], [ -122.331788000523645, 38.49110800079896 ], [ -122.328587999730786, 38.489908000819582 ], [ -122.327188000478998, 38.490208001034901 ], [ -122.320787999644352, 38.489308000983392 ], [ -122.315086999894902, 38.486908001099259 ], [ -122.309386999424206, 38.487708001034228 ], [ -122.304387000449239, 38.487108000573784 ], [ -122.302087000163084, 38.486408000808758 ], [ -122.298686999706646, 38.486908001133742 ], [ -122.293987000367565, 38.492708000528204 ], [ -122.292587000192697, 38.497208000524829 ], [ -122.296287000127904, 38.502308000989999 ], [ -122.296587000485147, 38.504308000475334 ], [ -122.296350000273733, 38.504284000855606 ], [ -122.295933999557377, 38.504140001017156 ], [ -122.295707999574361, 38.504039000377091 ], [ -122.295586999684602, 38.503608000666866 ], [ -122.29489400020222, 38.503110000537085 ], [ -122.293891000481992, 38.50277900025106 ], [ -122.289243000173698, 38.502158001015289 ], [ -122.287975000138218, 38.50203400110653 ], [ -122.286865999538435, 38.502199000806527 ], [ -122.285123000192726, 38.503482000649207 ], [ -122.284383000147045, 38.504062000858958 ], [ -122.283010000382347, 38.504393000825175 ], [ -122.278204000243477, 38.504931000554841 ], [ -122.277517000500467, 38.505510000323881 ], [ -122.276989000265843, 38.50637900109048 ], [ -122.276301999596839, 38.506917000813914 ], [ -122.271653999903336, 38.507621000616609 ], [ -122.270438999662645, 38.50770400066402 ], [ -122.269383000153795, 38.507124000257654 ], [ -122.263730999570413, 38.50244800042401 ], [ -122.262516000208493, 38.502034001118126 ], [ -122.261617999887449, 38.502282000576322 ], [ -122.260668000130352, 38.50219900087005 ], [ -122.259822999693313, 38.501868001029699 ], [ -122.258555000450031, 38.50104100067 ], [ -122.257603999683212, 38.500544001072221 ], [ -122.256585999658682, 38.500308000865651 ], [ -122.256485999450376, 38.499708000574856 ], [ -122.256336000229396, 38.499408000789089 ], [ -122.256086000435729, 38.498908000388461 ], [ -122.254886000525232, 38.497808000816065 ], [ -122.252886000150724, 38.496608000475767 ], [ -122.250586000209083, 38.496608000834001 ], [ -122.246686000277322, 38.494208000347847 ], [ -122.246885999507271, 38.492108000363999 ], [ -122.244729000368736, 38.487447000397204 ], [ -122.243786000418396, 38.485408000554543 ], [ -122.240886000081929, 38.483608000577902 ], [ -122.237485999816172, 38.480708001132051 ], [ -122.235388999678648, 38.477124000355658 ], [ -122.234884999464199, 38.475908001087241 ], [ -122.227384999508303, 38.471509000983914 ], [ -122.223784999754798, 38.464309000281204 ], [ -122.221827999432421, 38.462877000698178 ], [ -122.221223999748617, 38.462435000366703 ], [ -122.220768000307459, 38.462101000720899 ], [ -122.219684999821411, 38.46130900024837 ], [ -122.219292999863754, 38.461029001057973 ], [ -122.210083999903702, 38.454909000883895 ], [ -122.205583999548153, 38.45320900113088 ], [ -122.20408400038859, 38.45240900035904 ], [ -122.202884000165966, 38.449809000896842 ], [ -122.202616000203022, 38.449669000627395 ], [ -122.198483999694275, 38.447509000341363 ], [ -122.197883999876609, 38.44717300084303 ], [ -122.197483999690832, 38.446809000906164 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 28, "TAZ1454": 1315, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.505291000030425, 38.556807000587121 ], [ -122.501090999536629, 38.554616001077434 ], [ -122.498390999637934, 38.553207000798764 ], [ -122.497790999885183, 38.551207000655765 ], [ -122.490890999595507, 38.547407000932282 ], [ -122.490291000461099, 38.53560800034294 ], [ -122.490391000526074, 38.535408000753627 ], [ -122.490690999686777, 38.533208000625201 ], [ -122.490090999541636, 38.531608000601175 ], [ -122.490690999907073, 38.530408000893232 ], [ -122.488990999953018, 38.528508000330753 ], [ -122.488091000315762, 38.528008000620424 ], [ -122.486118999707699, 38.528149000837175 ], [ -122.485291000328715, 38.528208001140932 ], [ -122.482290999484277, 38.525308000313871 ], [ -122.47839100020164, 38.523308000243389 ], [ -122.479190999831459, 38.522708000631575 ], [ -122.480440000219133, 38.521525000751424 ], [ -122.482990999390665, 38.519108000327478 ], [ -122.48589099991041, 38.516608000510239 ], [ -122.486091000081316, 38.516308000290785 ], [ -122.485876000288911, 38.51612200098878 ], [ -122.485701999456936, 38.515972000542604 ], [ -122.488226000351517, 38.513997000665256 ], [ -122.488356999398775, 38.514136000518072 ], [ -122.489592999413418, 38.513147000669825 ], [ -122.487002000061281, 38.509650000604232 ], [ -122.487735999453676, 38.509874000274358 ], [ -122.48818499939604, 38.509906000541534 ], [ -122.489041000194391, 38.509906000269282 ], [ -122.488469999530338, 38.50929900105924 ], [ -122.488143999706907, 38.509171000838833 ], [ -122.487859000334112, 38.508819001051265 ], [ -122.490692000293095, 38.507895000754004 ], [ -122.491027000512304, 38.506695001065033 ], [ -122.491090999658766, 38.506708000582186 ], [ -122.490590999462114, 38.506308001128922 ], [ -122.488290999677005, 38.506608000958757 ], [ -122.487090999880493, 38.506008000300461 ], [ -122.487390999907362, 38.505708000766383 ], [ -122.487590999452181, 38.503908000764397 ], [ -122.49049099959889, 38.504008000489314 ], [ -122.489474999867411, 38.494405000965223 ], [ -122.487715000091029, 38.494405000788696 ], [ -122.480995000378513, 38.494421000480173 ], [ -122.480990999692722, 38.488209000830956 ], [ -122.481071000354262, 38.487487000449477 ], [ -122.481090999812068, 38.487309000725531 ], [ -122.479291000072905, 38.486909000379356 ], [ -122.478845000391814, 38.487244000479933 ], [ -122.478491000498309, 38.487509000851318 ], [ -122.47710300025382, 38.486954000546959 ], [ -122.475991000214435, 38.486509000792914 ], [ -122.474976000134035, 38.486509000396708 ], [ -122.474061999947281, 38.486509000457502 ], [ -122.47324000004474, 38.486509000718108 ], [ -122.470790999865898, 38.486509000434197 ], [ -122.469391000009878, 38.487009000488825 ], [ -122.467390999678258, 38.486909000631591 ], [ -122.465949000425027, 38.486693000816899 ], [ -122.465391000102372, 38.48660900071318 ], [ -122.465490999640181, 38.485509000460361 ], [ -122.462991000180978, 38.485409000418336 ], [ -122.459490000030243, 38.487809000721583 ], [ -122.45698400036629, 38.48968900047722 ], [ -122.453916999574375, 38.492050000923435 ], [ -122.453689999460096, 38.492209000847645 ], [ -122.441990000076402, 38.500708000858531 ], [ -122.441101000244799, 38.499872000820275 ], [ -122.44029000042066, 38.499108000711274 ], [ -122.436189999404846, 38.502108000590631 ], [ -122.43449000017749, 38.501908000419078 ], [ -122.432189999973332, 38.498208000545254 ], [ -122.42779000031247, 38.497308000608264 ], [ -122.425789999867831, 38.495008000491381 ], [ -122.424689999928773, 38.497108000782966 ], [ -122.419990000132742, 38.493408000494121 ], [ -122.418436000477257, 38.492742000622322 ], [ -122.407878999924506, 38.488219000262241 ], [ -122.405988999599771, 38.487409001073509 ], [ -122.405789000112165, 38.48730900109144 ], [ -122.404288999770316, 38.486809000972414 ], [ -122.402088999668464, 38.485709000908344 ], [ -122.400189000424163, 38.483509001082687 ], [ -122.389388999473113, 38.477109000401839 ], [ -122.383424999551039, 38.47150900031076 ], [ -122.38118899998905, 38.469409000488781 ], [ -122.375589000116875, 38.464709000352101 ], [ -122.372754000325855, 38.462890001090003 ], [ -122.369438000260914, 38.460763001082533 ], [ -122.365874999449943, 38.458478001035502 ], [ -122.364987999548561, 38.457909000650517 ], [ -122.363487999570694, 38.455909000566102 ], [ -122.360187999663296, 38.450210000623734 ], [ -122.357422000090239, 38.448187001027826 ], [ -122.355493000461195, 38.446777000963039 ], [ -122.353488000216018, 38.445310000695052 ], [ -122.352576999991925, 38.442987001037025 ], [ -122.352501999835056, 38.442795000461089 ], [ -122.351487999655276, 38.440210000532865 ], [ -122.350488000391479, 38.438310001131676 ], [ -122.347270999898825, 38.433901000700558 ], [ -122.345087999961621, 38.430910000649376 ], [ -122.34263899950399, 38.428998000427725 ], [ -122.341187000343155, 38.427610000273432 ], [ -122.346987999979774, 38.422410001132647 ], [ -122.351787999833817, 38.418210000336522 ], [ -122.353487999492842, 38.41941000052708 ], [ -122.354188000309321, 38.419710000245757 ], [ -122.355487999762119, 38.419610000987298 ], [ -122.357787999622715, 38.421210000240393 ], [ -122.360487999826887, 38.421910001032401 ], [ -122.361888000367074, 38.421410000379183 ], [ -122.365988000052241, 38.422010000828962 ], [ -122.367188000072233, 38.421610000336678 ], [ -122.367987999876746, 38.421610000666114 ], [ -122.368788000283232, 38.421110001002084 ], [ -122.370187999491137, 38.421610000897665 ], [ -122.369887999539671, 38.421210000903343 ], [ -122.371687999569787, 38.422210000627658 ], [ -122.372687999764295, 38.422310000464236 ], [ -122.374387999765148, 38.424410001114261 ], [ -122.374499000263654, 38.424498000420115 ], [ -122.376287999392162, 38.425910000417325 ], [ -122.380287999825669, 38.426810000884679 ], [ -122.390188999414249, 38.42251000084083 ], [ -122.391188999528993, 38.423610000250285 ], [ -122.397764999846814, 38.431258000965052 ], [ -122.400389000034991, 38.434310000786709 ], [ -122.400689000248263, 38.434210000480924 ], [ -122.403979000205211, 38.431474000346945 ], [ -122.406098999679188, 38.429710000685596 ], [ -122.410472999452821, 38.42607200070546 ], [ -122.410548000489015, 38.426010000494458 ], [ -122.410695000404488, 38.425888000842853 ], [ -122.411026000022574, 38.425612000996914 ], [ -122.411389000286704, 38.42531000050387 ], [ -122.414489000114358, 38.421910000352987 ], [ -122.416388999559601, 38.422110000729482 ], [ -122.417789000460147, 38.421410000424672 ], [ -122.423790000103139, 38.421310000270481 ], [ -122.425289999705498, 38.422210000964085 ], [ -122.427289999661426, 38.421310000377325 ], [ -122.425989999698643, 38.418611000912676 ], [ -122.425915999693629, 38.417758000518994 ], [ -122.425790000259667, 38.416311001018748 ], [ -122.427289999447723, 38.411211000318644 ], [ -122.428490000067271, 38.411311000886158 ], [ -122.428863999389904, 38.408415000783684 ], [ -122.428889999866314, 38.408211000965075 ], [ -122.430889999472583, 38.408211000792015 ], [ -122.432590000248396, 38.407111000298222 ], [ -122.43619000024897, 38.406511000528802 ], [ -122.437389999715862, 38.40631100091089 ], [ -122.441090000030684, 38.406511000504409 ], [ -122.442590000202998, 38.40781100070361 ], [ -122.445889999490149, 38.408611000642523 ], [ -122.446390000443387, 38.409311000312186 ], [ -122.451290000067431, 38.411011000269255 ], [ -122.451889999807619, 38.410311000676259 ], [ -122.452037999787294, 38.410321000491464 ], [ -122.453389999930195, 38.410411000789161 ], [ -122.456018000007091, 38.408231000546849 ], [ -122.456290000100225, 38.40791100103182 ], [ -122.459391000358949, 38.409111000288689 ], [ -122.463390999976042, 38.407911000333208 ], [ -122.46630700007411, 38.408391000504267 ], [ -122.466363000338802, 38.408395000951096 ], [ -122.47029100020157, 38.408711001001414 ], [ -122.470891000117376, 38.407411000967009 ], [ -122.472690999636498, 38.407211000903658 ], [ -122.471390999850783, 38.406411001130579 ], [ -122.472090999912936, 38.406311000791099 ], [ -122.472390999407097, 38.405511000558377 ], [ -122.475391000250511, 38.406511001125033 ], [ -122.475590999703641, 38.409111000487627 ], [ -122.495492000003381, 38.423511000920954 ], [ -122.497192000139108, 38.423811000699025 ], [ -122.497475000302899, 38.424306000249828 ], [ -122.497591999500713, 38.424510001137413 ], [ -122.496544999428579, 38.425798001098599 ], [ -122.49632400005197, 38.426070001074869 ], [ -122.493490999683246, 38.429210000251025 ], [ -122.494190999452385, 38.431110000847667 ], [ -122.493271000126455, 38.432195000872042 ], [ -122.491391000389669, 38.434410000756849 ], [ -122.488138999928822, 38.432366000719249 ], [ -122.487107000077685, 38.431718000843269 ], [ -122.486739000060425, 38.433462000902423 ], [ -122.4862749999632, 38.435622000869877 ], [ -122.485507000064032, 38.437478000841843 ], [ -122.484195000075431, 38.438006000453079 ], [ -122.483042999760855, 38.440390000584536 ], [ -122.4800029997823, 38.443030001071001 ], [ -122.479954999861604, 38.448726000356679 ], [ -122.482990999764908, 38.452710000681627 ], [ -122.485391000295522, 38.452910000488707 ], [ -122.487990999809227, 38.453910000269119 ], [ -122.488391000293618, 38.454310000359548 ], [ -122.492091000186349, 38.454510000878983 ], [ -122.492691000064497, 38.455810000310123 ], [ -122.493691000238215, 38.456510000250063 ], [ -122.496846000302014, 38.455634000553118 ], [ -122.497291000233957, 38.455510000665825 ], [ -122.499491000059038, 38.455710000782254 ], [ -122.501090999993849, 38.456150000694215 ], [ -122.501549999525338, 38.455919000985382 ], [ -122.502342999747711, 38.456178000846606 ], [ -122.502984000255339, 38.45640700085815 ], [ -122.503502999549141, 38.456804000740661 ], [ -122.504066999692952, 38.457140001025586 ], [ -122.504449000316654, 38.457094000969214 ], [ -122.505090000271807, 38.457056000915962 ], [ -122.506142999530681, 38.457147000309824 ], [ -122.507286999649907, 38.457254000900228 ], [ -122.507691999623233, 38.457510001114265 ], [ -122.508081000130488, 38.457780000666041 ], [ -122.508705999484818, 38.457643001139722 ], [ -122.509192000197956, 38.457710001089517 ], [ -122.509468999664534, 38.457872000483057 ], [ -122.509727999979603, 38.458254000755112 ], [ -122.509378000493484, 38.458910000278841 ], [ -122.50856899976597, 38.459184000807582 ], [ -122.508843000322557, 38.460802000962239 ], [ -122.509347000276222, 38.461092000317016 ], [ -122.51004899951846, 38.462160000667872 ], [ -122.509992000418265, 38.462310000513014 ], [ -122.508191999543513, 38.46430900093678 ], [ -122.507988999422381, 38.464493000442353 ], [ -122.507652999686869, 38.464524000896745 ], [ -122.506707000319224, 38.4640580003203 ], [ -122.50609199963651, 38.464109000546088 ], [ -122.505821999627017, 38.464493000706767 ], [ -122.505990000002654, 38.464737001027721 ], [ -122.50673800001114, 38.465127000257873 ], [ -122.507057999387101, 38.465623001007835 ], [ -122.508292000116029, 38.466209000922284 ], [ -122.508798000506644, 38.467003000257911 ], [ -122.509727999582736, 38.467164000413788 ], [ -122.510491999542836, 38.467209000610751 ], [ -122.511116999592886, 38.467148000340508 ], [ -122.512291999903553, 38.468009001051499 ], [ -122.512521000252875, 38.468201000896542 ], [ -122.513252999491513, 38.46874300088777 ], [ -122.513817999402534, 38.469254001032347 ], [ -122.514595999980628, 38.469826000932002 ], [ -122.51552699964725, 38.47033000042039 ], [ -122.516244000462251, 38.470872000713108 ], [ -122.517175000450791, 38.47024600104114 ], [ -122.518761999645022, 38.470582001019075 ], [ -122.520317999512784, 38.47129100049704 ], [ -122.520992000452395, 38.471109000386903 ], [ -122.521330999793022, 38.471030000797299 ], [ -122.522012000031168, 38.470757000249577 ], [ -122.522636999483666, 38.470185000947396 ], [ -122.523705999699558, 38.470246000419522 ], [ -122.52431599950404, 38.4705280010999 ], [ -122.524803999918888, 38.470261000947168 ], [ -122.529591999388444, 38.469609000632119 ], [ -122.529686999733087, 38.469803000890813 ], [ -122.529778999693292, 38.470933000820622 ], [ -122.5296259996272, 38.471566000668005 ], [ -122.530023000119158, 38.472573000613082 ], [ -122.529625999690396, 38.473130000768521 ], [ -122.530053000045811, 38.474343000460138 ], [ -122.530480000425896, 38.474831001115447 ], [ -122.530846999943307, 38.475487000472747 ], [ -122.530994999624042, 38.475746000631638 ], [ -122.531335000487815, 38.476342000384761 ], [ -122.530862000381248, 38.477250000798726 ], [ -122.531060000433172, 38.47778400057274 ], [ -122.531395999907801, 38.478539000555841 ], [ -122.531869000192174, 38.479104000779195 ], [ -122.532617000425873, 38.479783001031159 ], [ -122.533531999973491, 38.480729000468742 ], [ -122.534340999988601, 38.481270000539766 ], [ -122.535287000321773, 38.481888000780927 ], [ -122.536080000387557, 38.482339000880913 ], [ -122.536552999393294, 38.482804000941279 ], [ -122.536797999769803, 38.483605001104792 ], [ -122.537164000425221, 38.484047001081308 ], [ -122.537438000411953, 38.484620000404171 ], [ -122.537810999736152, 38.48493900104679 ], [ -122.538008999678738, 38.48535100094908 ], [ -122.538008999674972, 38.485953001056927 ], [ -122.538223000091222, 38.486541000258818 ], [ -122.538787000173357, 38.486945000926312 ], [ -122.539492000209833, 38.487609000358617 ], [ -122.540002000437582, 38.48783900102854 ], [ -122.540535999534669, 38.488312000781718 ], [ -122.540413999804713, 38.489113000816651 ], [ -122.540459999952844, 38.489754000604272 ], [ -122.540749999422644, 38.490693000783892 ], [ -122.540977999815595, 38.491677000486796 ], [ -122.541726000125763, 38.492562000936502 ], [ -122.542397999711099, 38.49337800056616 ], [ -122.54289199972861, 38.493909000514186 ], [ -122.543405000288175, 38.494279000525964 ], [ -122.544015999664992, 38.49472900061194 ], [ -122.544488999697819, 38.495293000718029 ], [ -122.544733000042029, 38.495675000563018 ], [ -122.544901000178896, 38.496285001093881 ], [ -122.544703000478918, 38.496628000622167 ], [ -122.54442800041852, 38.497185001022594 ], [ -122.543922999975848, 38.498086000777072 ], [ -122.543405000112145, 38.498536000797621 ], [ -122.542839999560115, 38.498841001030719 ], [ -122.542030999555664, 38.499016000895146 ], [ -122.541252999730858, 38.498917001080109 ], [ -122.540491999562533, 38.498609000883377 ], [ -122.540338000468196, 38.498597000830571 ], [ -122.539895000045348, 38.498475000742424 ], [ -122.53931499944099, 38.498467000843583 ], [ -122.538644000080581, 38.498070000594957 ], [ -122.538201000130982, 38.497902001020954 ], [ -122.537819999627786, 38.498200000668305 ], [ -122.537498999871374, 38.499070001083439 ], [ -122.537192000511538, 38.499909001127008 ], [ -122.536491999464431, 38.500763000711459 ], [ -122.53560699951062, 38.501397000912768 ], [ -122.535561999420338, 38.501725000259562 ], [ -122.536050000260843, 38.502137000291313 ], [ -122.53879600038249, 38.502694000370056 ], [ -122.539506000217031, 38.503331000731919 ], [ -122.539591999919921, 38.503409000262145 ], [ -122.540062999639986, 38.503960000692757 ], [ -122.541237999496957, 38.504174000813151 ], [ -122.541557999706697, 38.505013000321291 ], [ -122.542392000339277, 38.505709000779049 ], [ -122.542962000104055, 38.506257000290177 ], [ -122.542657000375058, 38.507157000675797 ], [ -122.543160000395829, 38.507493001062592 ], [ -122.545527000429274, 38.506798000387853 ], [ -122.546396000333871, 38.507889000962237 ], [ -122.546106000415435, 38.508675000908475 ], [ -122.547219999700332, 38.510338001105559 ], [ -122.548426000343568, 38.510917000991618 ], [ -122.548807000086867, 38.511627000430941 ], [ -122.546320000043423, 38.512603001085267 ], [ -122.542367000288394, 38.513198000749597 ], [ -122.542168999491224, 38.514167000252606 ], [ -122.542871000354936, 38.515747000497306 ], [ -122.545298000505525, 38.516456000896518 ], [ -122.545282000455416, 38.516891000412969 ], [ -122.543557000484995, 38.518013000446594 ], [ -122.543496000461175, 38.518661000293399 ], [ -122.544335999563458, 38.519172000991809 ], [ -122.543892999443969, 38.519966000328289 ], [ -122.545007999464815, 38.520782000486705 ], [ -122.545861999764881, 38.520957001127869 ], [ -122.546392999637263, 38.521208000452489 ], [ -122.547175000220022, 38.521858000913703 ], [ -122.549051000377233, 38.522201000804344 ], [ -122.550623000045675, 38.522132000818516 ], [ -122.551049999929717, 38.522781000939993 ], [ -122.55199299968146, 38.524208000748274 ], [ -122.552108999482996, 38.524426000317142 ], [ -122.552697999886206, 38.525528000501467 ], [ -122.554422000052767, 38.52622900067518 ], [ -122.557139000456743, 38.525489000701306 ], [ -122.558593000137392, 38.525808000334855 ], [ -122.559426999560685, 38.526313000425404 ], [ -122.56189899939902, 38.526786000947098 ], [ -122.562693000491308, 38.526208000321731 ], [ -122.563608000047552, 38.525367001009336 ], [ -122.565058000143623, 38.52550500069519 ], [ -122.566645000400953, 38.525543000863372 ], [ -122.566889000504716, 38.526268000553003 ], [ -122.566488999450371, 38.526943000331372 ], [ -122.566354999838808, 38.527168000470823 ], [ -122.566628999615219, 38.528625000947187 ], [ -122.568506000160667, 38.528926000687676 ], [ -122.568673999868082, 38.528953000562595 ], [ -122.569472999447896, 38.529659000839921 ], [ -122.56597300045776, 38.531959000383964 ], [ -122.566272999830247, 38.535259000675914 ], [ -122.564473000422538, 38.536659001046729 ], [ -122.550573000395858, 38.541359000836657 ], [ -122.541372000124568, 38.543259000720433 ], [ -122.520092000345755, 38.552407000556322 ], [ -122.513092000260698, 38.556207000614528 ], [ -122.508990999941702, 38.558107000306414 ], [ -122.506391000191314, 38.556107000827005 ], [ -122.505291000030425, 38.556807000587121 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 28, "TAZ1454": 1313, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.477090999534425, 38.652404000601422 ], [ -122.471754000066824, 38.653334000289618 ], [ -122.466190000068835, 38.654304000672333 ], [ -122.463290000514206, 38.651205000987545 ], [ -122.458089999599935, 38.650205000979106 ], [ -122.456790000281032, 38.647205000246274 ], [ -122.457089999732517, 38.642005001050883 ], [ -122.453789999456347, 38.640205000324492 ], [ -122.453490000209896, 38.637105000454156 ], [ -122.448889999773854, 38.63110500075814 ], [ -122.447077000029935, 38.628096000790016 ], [ -122.444490000521881, 38.623805000885824 ], [ -122.440589999590884, 38.623705000315582 ], [ -122.434490000204434, 38.617405000710065 ], [ -122.430690000476289, 38.615105000870869 ], [ -122.427889999909056, 38.6150050008386 ], [ -122.42698999963082, 38.615405001137731 ], [ -122.4258900004438, 38.616905000916859 ], [ -122.421389999615656, 38.617605000466362 ], [ -122.417789999673246, 38.617405000315358 ], [ -122.416990000309227, 38.616805000597729 ], [ -122.415290000471202, 38.61480500076933 ], [ -122.409389000282758, 38.606006001126978 ], [ -122.403788999464794, 38.602206000264459 ], [ -122.402789000090465, 38.599706000701374 ], [ -122.403389000414876, 38.597306000353719 ], [ -122.402088999643581, 38.597806000416227 ], [ -122.399389000170373, 38.596006000402497 ], [ -122.397388999685504, 38.591506000828261 ], [ -122.400388999534627, 38.588306001115583 ], [ -122.398089000103425, 38.580506000347143 ], [ -122.39888899958342, 38.57830600105833 ], [ -122.398289000496035, 38.577306000272763 ], [ -122.397188999614571, 38.574006000960885 ], [ -122.396388999680084, 38.57240600052841 ], [ -122.382789000499258, 38.564407000266527 ], [ -122.381888999706376, 38.563507000698273 ], [ -122.379488999581625, 38.562107001093395 ], [ -122.37648899953534, 38.561207000463931 ], [ -122.373289000358795, 38.559507001073641 ], [ -122.370988999705361, 38.557407000315131 ], [ -122.363888999821341, 38.554907000921418 ], [ -122.362935999690478, 38.55417400066456 ], [ -122.347887999814091, 38.542607001077165 ], [ -122.338088000506346, 38.539007000406947 ], [ -122.337087999705517, 38.536507001126694 ], [ -122.336587999902463, 38.535407000800355 ], [ -122.32208800047465, 38.528507000630547 ], [ -122.311786999825827, 38.515808000812136 ], [ -122.307786999525106, 38.513108000570256 ], [ -122.304386999496344, 38.512308000901811 ], [ -122.300986999644863, 38.507408000971353 ], [ -122.297586999800345, 38.504608000888155 ], [ -122.296587000485147, 38.504308000475334 ], [ -122.296287000127904, 38.502308000989999 ], [ -122.292587000192697, 38.497208000524829 ], [ -122.293987000367565, 38.492708000528204 ], [ -122.298686999706646, 38.486908001133742 ], [ -122.302087000163084, 38.486408000808758 ], [ -122.304387000449239, 38.487108000573784 ], [ -122.309386999424206, 38.487708001034228 ], [ -122.315086999894902, 38.486908001099259 ], [ -122.320787999644352, 38.489308000983392 ], [ -122.327188000478998, 38.490208001034901 ], [ -122.328587999730786, 38.489908000819582 ], [ -122.331788000523645, 38.49110800079896 ], [ -122.334388000488275, 38.491008000374293 ], [ -122.336487999833423, 38.492408000581712 ], [ -122.339487999567069, 38.49180800072935 ], [ -122.341787999555677, 38.492608000642299 ], [ -122.348487999963183, 38.490408001026211 ], [ -122.348747999740013, 38.488845001069485 ], [ -122.348863999981234, 38.488527000967991 ], [ -122.349038999625975, 38.488393000736465 ], [ -122.351888000258015, 38.487526000733062 ], [ -122.352557000172538, 38.487265000506184 ], [ -122.35280399991457, 38.487037000664522 ], [ -122.353457999568931, 38.485832000532127 ], [ -122.35371999984774, 38.485503000838406 ], [ -122.354285999664668, 38.485139000569902 ], [ -122.354882000500552, 38.484820000284117 ], [ -122.355085999947107, 38.484411000876939 ], [ -122.355615999649899, 38.482797000891296 ], [ -122.35573999978395, 38.482660000842486 ], [ -122.355900000170806, 38.482649001116208 ], [ -122.356015999455934, 38.482660000950588 ], [ -122.356209999671478, 38.482739000683985 ], [ -122.35728800049165, 38.483009000980601 ], [ -122.35858799980366, 38.48210900044289 ], [ -122.364387999895115, 38.481509000576686 ], [ -122.366687999946578, 38.480309001121199 ], [ -122.369987999726931, 38.480809000861562 ], [ -122.371488999586148, 38.478909000609661 ], [ -122.372188999743017, 38.478809000627535 ], [ -122.372288999545759, 38.479809000482298 ], [ -122.376282000219589, 38.480994000601136 ], [ -122.381389000446319, 38.482509001032369 ], [ -122.386689000069268, 38.485709000485137 ], [ -122.392389000476214, 38.487609000510844 ], [ -122.398688999841582, 38.486809000290336 ], [ -122.402288999501991, 38.487809000321342 ], [ -122.403688999398184, 38.487409001105284 ], [ -122.404288999770316, 38.486809000972414 ], [ -122.405789000112165, 38.48730900109144 ], [ -122.405988999599771, 38.487409001073509 ], [ -122.407878999924506, 38.488219000262241 ], [ -122.418436000477257, 38.492742000622322 ], [ -122.419990000132742, 38.493408000494121 ], [ -122.424689999928773, 38.497108000782966 ], [ -122.425789999867831, 38.495008000491381 ], [ -122.42779000031247, 38.497308000608264 ], [ -122.432189999973332, 38.498208000545254 ], [ -122.43449000017749, 38.501908000419078 ], [ -122.436189999404846, 38.502108000590631 ], [ -122.440990000342879, 38.505108000562053 ], [ -122.443189999445352, 38.505208001029715 ], [ -122.447089999392929, 38.507708000731363 ], [ -122.448690000338715, 38.508108000258545 ], [ -122.452389999502998, 38.510208000417265 ], [ -122.452089999742952, 38.510508000642382 ], [ -122.451589999997012, 38.510308000516318 ], [ -122.450690000060249, 38.510808000458262 ], [ -122.446790000167752, 38.508608000690458 ], [ -122.441489999689153, 38.50840800049388 ], [ -122.444289999399373, 38.509608000695707 ], [ -122.444101000224677, 38.511967000457503 ], [ -122.444090000232904, 38.512108000700479 ], [ -122.442589999998503, 38.512708000965262 ], [ -122.441189999526287, 38.512408000389328 ], [ -122.4410710001805, 38.512438000338591 ], [ -122.439589999906673, 38.512808000388091 ], [ -122.439090000366633, 38.514008000882193 ], [ -122.438889999457174, 38.516308000546381 ], [ -122.439089999649312, 38.516808000365458 ], [ -122.438990000462198, 38.519408000966074 ], [ -122.4424899994752, 38.519508001025947 ], [ -122.448389999574104, 38.519708001020646 ], [ -122.448689999491094, 38.516108000940363 ], [ -122.449989999803265, 38.516108001119491 ], [ -122.449789999451824, 38.514208000742009 ], [ -122.45018999999084, 38.514108000408285 ], [ -122.449589999532222, 38.513108000627561 ], [ -122.451843999546639, 38.513227000988906 ], [ -122.453390000153945, 38.51330800062803 ], [ -122.456589999729601, 38.51190800098825 ], [ -122.458090000367108, 38.511208001089777 ], [ -122.458171000234529, 38.511459001094401 ], [ -122.458531999580686, 38.512578000893548 ], [ -122.45908999977263, 38.514308000557925 ], [ -122.461790000296631, 38.514408000587132 ], [ -122.468591000479108, 38.519108001052174 ], [ -122.471291000241251, 38.518808000485265 ], [ -122.472890999629328, 38.520608000340154 ], [ -122.475790999530872, 38.521708000413604 ], [ -122.479190999831459, 38.522708000631575 ], [ -122.47839100020164, 38.523308000243389 ], [ -122.482290999484277, 38.525308000313871 ], [ -122.485291000328715, 38.528208001140932 ], [ -122.486118999707699, 38.528149000837175 ], [ -122.488091000315762, 38.528008000620424 ], [ -122.488990999953018, 38.528508000330753 ], [ -122.490690999907073, 38.530408000893232 ], [ -122.490090999541636, 38.531608000601175 ], [ -122.490690999686777, 38.533208000625201 ], [ -122.490391000526074, 38.535408000753627 ], [ -122.490291000461099, 38.53560800034294 ], [ -122.490890999595507, 38.547407000932282 ], [ -122.497790999885183, 38.551207000655765 ], [ -122.498390999637934, 38.553207000798764 ], [ -122.501090999536629, 38.554616001077434 ], [ -122.505291000030425, 38.556807000587121 ], [ -122.506391000191314, 38.556107000827005 ], [ -122.508990999941702, 38.558107000306414 ], [ -122.510791000257129, 38.559307000402406 ], [ -122.518991999943566, 38.566307000547802 ], [ -122.520892000498691, 38.569707001142689 ], [ -122.519456000231969, 38.576599000647391 ], [ -122.519392000512781, 38.576907000315202 ], [ -122.519090999400859, 38.576999000630671 ], [ -122.512329999391184, 38.579074000999618 ], [ -122.510742999929448, 38.579559000685983 ], [ -122.510591000072225, 38.579606000499581 ], [ -122.504691000007881, 38.584506000430501 ], [ -122.502790999874208, 38.599606000345105 ], [ -122.501890999883727, 38.60150600068846 ], [ -122.502191000221572, 38.604006000971296 ], [ -122.503273999573196, 38.609738000264095 ], [ -122.506141000298101, 38.624905000460963 ], [ -122.507691000190974, 38.633105001046616 ], [ -122.498691000381868, 38.633405000415031 ], [ -122.489890999722235, 38.639005001126421 ], [ -122.482091000492076, 38.649905000683951 ], [ -122.477090999534425, 38.652404000601422 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 28, "TAZ1454": 1316, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.57119296738783, 38.567906999163206 ], [ -122.583589981888124, 38.571279002919724 ], [ -122.584793971649816, 38.571607006552462 ], [ -122.589993958568471, 38.573507006489137 ], [ -122.600493958795028, 38.578407029065758 ], [ -122.603794957627656, 38.580206982557208 ], [ -122.604095040497057, 38.583006984745687 ], [ -122.602394956168425, 38.584707015351846 ], [ -122.601894997802404, 38.584506982547687 ], [ -122.597694020138889, 38.589006969578051 ], [ -122.59569402090851, 38.590307020446758 ], [ -122.5973129745867, 38.591926020769719 ], [ -122.597313972017758, 38.591618984635481 ], [ -122.597525958162109, 38.591618024087389 ], [ -122.597631006563319, 38.591618033261973 ], [ -122.597599022629012, 38.592173002385948 ], [ -122.598294002229196, 38.592606977202621 ], [ -122.598393985858607, 38.593307012768662 ], [ -122.59849402796344, 38.59370697907228 ], [ -122.597693956543424, 38.594306975127679 ], [ -122.597293993211679, 38.594007008804724 ], [ -122.594393976128003, 38.591106978620374 ], [ -122.583593990903097, 38.597906994866023 ], [ -122.5819940066839, 38.595507004994936 ], [ -122.577494014601385, 38.588906995081402 ], [ -122.576893986113106, 38.588706987246447 ], [ -122.572594028251373, 38.586507024382918 ], [ -122.57079299312322, 38.585407031650377 ], [ -122.563993025495606, 38.586007030540394 ], [ -122.56139298725806, 38.585306987246625 ], [ -122.562992969291116, 38.58200699749159 ], [ -122.565693005275008, 38.576406967892233 ], [ -122.564292967842192, 38.575706999390782 ], [ -122.564793021764871, 38.574406984121708 ], [ -122.556193037589395, 38.570807013650061 ], [ -122.554793010991645, 38.570007025290707 ], [ -122.554981008413804, 38.569842990253449 ], [ -122.555392997349955, 38.568607030338946 ], [ -122.55799303480164, 38.569507019583497 ], [ -122.558793034365635, 38.570907032561472 ], [ -122.560192961633234, 38.571807019549929 ], [ -122.563105999298017, 38.572261978748529 ], [ -122.56339298529511, 38.572306982858464 ], [ -122.564193007065313, 38.573606982230579 ], [ -122.566893004156441, 38.574606981356567 ], [ -122.567792971945124, 38.573206977004347 ], [ -122.569093038841473, 38.571106984325326 ], [ -122.57119296738783, 38.567906999163206 ] ], [ [ -122.569473008185213, 38.529658978567262 ], [ -122.565972982944714, 38.531958979253432 ], [ -122.566272984590043, 38.53525898304602 ], [ -122.56447303400688, 38.53665902099808 ], [ -122.550572997034138, 38.541358987868996 ], [ -122.541371975113876, 38.543258986428562 ], [ -122.52009202166596, 38.552406965609649 ], [ -122.513091967829808, 38.556207023122205 ], [ -122.508990989468032, 38.558106979309663 ], [ -122.510790979009926, 38.559306981275824 ], [ -122.518991977988321, 38.566307000908196 ], [ -122.520891978281497, 38.569707019188321 ], [ -122.519456015426371, 38.576599003188079 ], [ -122.519391987897436, 38.576906976832376 ], [ -122.519091002947874, 38.576999028244309 ], [ -122.512329959190268, 38.579074003760994 ], [ -122.510742968629174, 38.579559024098806 ], [ -122.510590978951967, 38.579605982950653 ], [ -122.504691034647905, 38.584505971964219 ], [ -122.502791027631488, 38.599606034370304 ], [ -122.501891033107725, 38.601505970752676 ], [ -122.502191013678242, 38.604006006435682 ], [ -122.503274027745974, 38.609738016267116 ], [ -122.50614101893521, 38.624905025885482 ], [ -122.507691015246635, 38.63310502555462 ], [ -122.498690959503548, 38.633405034146961 ], [ -122.489890954709878, 38.639005029430081 ], [ -122.482091009614649, 38.64990499058603 ], [ -122.47709100604979, 38.652404013359714 ], [ -122.471753984845321, 38.653334019033018 ], [ -122.466189999625371, 38.654304002360021 ], [ -122.464989983635789, 38.655104020487371 ], [ -122.457689959449553, 38.65830402131887 ], [ -122.454589973274764, 38.658404015703312 ], [ -122.453090017429332, 38.658604001914426 ], [ -122.450290030722087, 38.660404007302944 ], [ -122.446190015168099, 38.667404002053217 ], [ -122.446590044473226, 38.670104007239374 ], [ -122.444790013602159, 38.67120399500552 ], [ -122.444489960707315, 38.672704015801742 ], [ -122.44619004350848, 38.676503990436309 ], [ -122.444790003621506, 38.679703990862414 ], [ -122.446089982748219, 38.681503987673501 ], [ -122.445790036284237, 38.692303006375752 ], [ -122.444790003457186, 38.693803011931664 ], [ -122.44508996359022, 38.695302988900423 ], [ -122.450089960775173, 38.698902999496596 ], [ -122.460589983077853, 38.70240297679279 ], [ -122.463889971148404, 38.705202988247756 ], [ -122.480555026293288, 38.701428013918267 ], [ -122.507139011351086, 38.695406996065522 ], [ -122.507279024971169, 38.695374003218774 ], [ -122.517363995933977, 38.693023016006563 ], [ -122.521684021807715, 38.69201602934357 ], [ -122.524787009543331, 38.691301965385314 ], [ -122.562244958550409, 38.682689007792462 ], [ -122.563909981230651, 38.68230497535675 ], [ -122.568439996157736, 38.681264019768577 ], [ -122.57036299211039, 38.6808219885746 ], [ -122.59115897457275, 38.676042974103616 ], [ -122.592194977339091, 38.675805032261358 ], [ -122.605366000442487, 38.672698966193735 ], [ -122.62739597075479, 38.667505991962521 ], [ -122.623784989297391, 38.664383028231207 ], [ -122.623696042318088, 38.66430600071984 ], [ -122.623723038798261, 38.663522973269991 ], [ -122.624196027303995, 38.649806001123842 ], [ -122.626995988885554, 38.647405980016764 ], [ -122.627795966823044, 38.644305983021859 ], [ -122.634095959209048, 38.636906974164127 ], [ -122.63299600310674, 38.627606995177501 ], [ -122.63009596788045, 38.626806998774669 ], [ -122.629196024339365, 38.624907005710703 ], [ -122.629090023270408, 38.624734035612327 ], [ -122.629040978267128, 38.624655026042447 ], [ -122.628552985659326, 38.624189998889193 ], [ -122.628369973551671, 38.623671022486796 ], [ -122.628293006415205, 38.623037973827415 ], [ -122.628597996297259, 38.622701981807033 ], [ -122.62902600406612, 38.622648986578561 ], [ -122.629621037364046, 38.622297999448143 ], [ -122.630429038215638, 38.621771034785695 ], [ -122.631253006488578, 38.621138013737301 ], [ -122.632169013932284, 38.620702974774609 ], [ -122.632901040916082, 38.620389997895181 ], [ -122.633588017192267, 38.619863969113133 ], [ -122.633465996186303, 38.618994008550622 ], [ -122.633420011053715, 38.61815498277722 ], [ -122.633328996645119, 38.617224006959923 ], [ -122.633268041336677, 38.616629029974504 ], [ -122.633451026207027, 38.61618703409092 ], [ -122.634060998168565, 38.615812977633226 ], [ -122.634397020389855, 38.615468970383425 ], [ -122.634579999480252, 38.614920026564143 ], [ -122.634732000201993, 38.614568966160945 ], [ -122.634931009098963, 38.614539031190937 ], [ -122.635038025661942, 38.614599984209569 ], [ -122.635480030739927, 38.614660995472278 ], [ -122.636318999278018, 38.614089026115366 ], [ -122.636899043964974, 38.613218995133202 ], [ -122.637341973465141, 38.612792021096311 ], [ -122.638135008857859, 38.612424987616421 ], [ -122.638685025501047, 38.612257009705679 ], [ -122.639141956332409, 38.612059031014844 ], [ -122.639554026665891, 38.611662016511964 ], [ -122.63982899320203, 38.611083002528218 ], [ -122.639980988145396, 38.610457001041752 ], [ -122.639675986160938, 38.610045034232002 ], [ -122.639310012514898, 38.609786010937597 ], [ -122.639172964122082, 38.609540999264695 ], [ -122.639142000800348, 38.60938101258904 ], [ -122.639142033363711, 38.60926702596371 ], [ -122.639661024436592, 38.608641029347467 ], [ -122.640043038915309, 38.60771799005942 ], [ -122.640592024834177, 38.60704702174808 ], [ -122.641233019999376, 38.606276004794779 ], [ -122.641797036340776, 38.605482993244351 ], [ -122.642408037145231, 38.605200000468962 ], [ -122.642864976769005, 38.604971028425823 ], [ -122.643368970622333, 38.604498031022324 ], [ -122.643994981003431, 38.603880014862114 ], [ -122.644390985541108, 38.603560028025726 ], [ -122.644595995236855, 38.603306979018861 ], [ -122.644695996936235, 38.603223992713545 ], [ -122.644711980696513, 38.603002967277611 ], [ -122.644695964825686, 38.602811978331047 ], [ -122.644696033805786, 38.602707003604387 ], [ -122.644696033095016, 38.602506980932063 ], [ -122.644695969150149, 38.602156008172742 ], [ -122.64490996869867, 38.601698034739677 ], [ -122.645276009607286, 38.600882015767773 ], [ -122.645733984407755, 38.599996994591606 ], [ -122.646267989071674, 38.599120016342397 ], [ -122.646421031346762, 38.598592998760893 ], [ -122.646314007788476, 38.598188968620271 ], [ -122.645734024101259, 38.598035982748847 ], [ -122.645063003939583, 38.597769012595187 ], [ -122.644895017262854, 38.59754003621709 ], [ -122.644360968744991, 38.5965340054954 ], [ -122.643888028732434, 38.595618981644485 ], [ -122.643567030518042, 38.594894021477977 ], [ -122.642117985109621, 38.593902016883114 ], [ -122.64127800454331, 38.592696984047514 ], [ -122.641003967738158, 38.591826983627385 ], [ -122.640530995456402, 38.59109500073933 ], [ -122.63953900427272, 38.590019034767685 ], [ -122.639005034996629, 38.58966803506312 ], [ -122.638149976745936, 38.58927098087225 ], [ -122.637433039113191, 38.588309974824654 ], [ -122.636655021619518, 38.587546967253267 ], [ -122.635663038605557, 38.586951981117309 ], [ -122.63499196307086, 38.586386995008532 ], [ -122.634996040680207, 38.586308012299085 ], [ -122.635496021825006, 38.585708022372948 ], [ -122.635098969406314, 38.585006035056672 ], [ -122.635129014165386, 38.584616995180092 ], [ -122.63538900776912, 38.584289009712769 ], [ -122.635220964126006, 38.583587031775217 ], [ -122.635082993502152, 38.583129033479047 ], [ -122.634896016157342, 38.582908009361049 ], [ -122.634594964260629, 38.582099020782309 ], [ -122.633954017183314, 38.581404997870386 ], [ -122.633114972630679, 38.580459001295154 ], [ -122.632138004523881, 38.580039976391831 ], [ -122.631404995447753, 38.579764988001344 ], [ -122.630993019379815, 38.579452002643549 ], [ -122.630494985110815, 38.579008000267748 ], [ -122.630794975252073, 38.577559991539658 ], [ -122.631190966743105, 38.576979967936403 ], [ -122.631329012225862, 38.57676700219487 ], [ -122.63160298996651, 38.576209967534552 ], [ -122.63120697061899, 38.575569011318912 ], [ -122.631405000717137, 38.574919998624431 ], [ -122.631924041385147, 38.57402001214956 ], [ -122.631816957861858, 38.573387006590629 ], [ -122.632275003990415, 38.572380020420383 ], [ -122.63216798231042, 38.57159402279369 ], [ -122.63209196422622, 38.570884020178632 ], [ -122.632076024367166, 38.569877022148361 ], [ -122.631832008285983, 38.569366021903939 ], [ -122.631695003288016, 38.569307998720525 ], [ -122.631450960751366, 38.569083972854827 ], [ -122.630977997332238, 38.569151973617345 ], [ -122.630717978015994, 38.569229022767239 ], [ -122.630595043897188, 38.569208005890566 ], [ -122.630337015387965, 38.569403976380279 ], [ -122.629939987082821, 38.569685965630185 ], [ -122.629595009741536, 38.569907991429247 ], [ -122.629436979562072, 38.570015001364659 ], [ -122.629055007093328, 38.570227966859576 ], [ -122.628794966656031, 38.570307968701421 ], [ -122.627742991215399, 38.570205003354822 ], [ -122.627495005574417, 38.570208016384562 ], [ -122.626918988231012, 38.570136972732499 ], [ -122.626795018699397, 38.570107992679482 ], [ -122.626354026842264, 38.569992035148104 ], [ -122.626095013854908, 38.569907988090023 ], [ -122.62473697728484, 38.568457994001541 ], [ -122.622769039968162, 38.567824983917326 ], [ -122.622035970001718, 38.566719003432851 ], [ -122.620402972644399, 38.565741974079437 ], [ -122.620281028847074, 38.565329984350868 ], [ -122.620677991629989, 38.563613009434697 ], [ -122.621440979060154, 38.56333096802495 ], [ -122.620995039428593, 38.562407978821895 ], [ -122.620846045047941, 38.560317981724765 ], [ -122.617494996614639, 38.559507969981155 ], [ -122.617213957129366, 38.559410031624267 ], [ -122.615031988633874, 38.558532022329452 ], [ -122.613491042118454, 38.558852995953039 ], [ -122.611079982101288, 38.558417997120692 ], [ -122.607600983731373, 38.559524015208453 ], [ -122.605495962626961, 38.558844983766356 ], [ -122.603281956654087, 38.558783993092128 ], [ -122.602694036711966, 38.557507999336323 ], [ -122.601527012201771, 38.557106026631708 ], [ -122.601054016478329, 38.556167027556874 ], [ -122.600229962841482, 38.555656024444069 ], [ -122.598277005914568, 38.555815990630173 ], [ -122.596979990579854, 38.555258984821165 ], [ -122.596065028857822, 38.555282022526349 ], [ -122.594797994574449, 38.554595970995301 ], [ -122.593546963924638, 38.553779005715924 ], [ -122.589426978582068, 38.552101000583775 ], [ -122.587657012666014, 38.552604028137068 ], [ -122.587427984960215, 38.551826006915661 ], [ -122.586329986697976, 38.551581976683202 ], [ -122.585796037215161, 38.550696983367295 ], [ -122.58610097128296, 38.549803972894004 ], [ -122.58507799374668, 38.549132970948293 ], [ -122.582149017512478, 38.549400024823406 ], [ -122.582285975475727, 38.548522970002267 ], [ -122.58139400988162, 38.54740799882358 ], [ -122.579707042070893, 38.546508006465743 ], [ -122.579494027165978, 38.546107967555031 ], [ -122.57719402852544, 38.542308023126949 ], [ -122.576213037585759, 38.542015036038435 ], [ -122.575235001340843, 38.540840000919346 ], [ -122.573999032121662, 38.540359000304463 ], [ -122.57361796358073, 38.538443968544343 ], [ -122.572321022001248, 38.537383987714328 ], [ -122.572375042447433, 38.537011031232815 ], [ -122.572474043820051, 38.536323029570234 ], [ -122.570856007998344, 38.534942003117735 ], [ -122.570810012386389, 38.533736969693813 ], [ -122.569819003722202, 38.533102984312379 ], [ -122.570093001142581, 38.532127031083164 ], [ -122.5698490065557, 38.529990989167075 ], [ -122.569473008185213, 38.529658978567262 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 40, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.41918200027186, 37.808628000731744 ], [ -122.418881999742837, 37.808028000521553 ], [ -122.418782000287464, 37.807028000852391 ], [ -122.418681999589253, 37.806528000704169 ], [ -122.418581999992497, 37.806128000576301 ], [ -122.418382000320932, 37.805128000592823 ], [ -122.418181999481675, 37.804228000281071 ], [ -122.417981999771357, 37.803228000234242 ], [ -122.417881999954119, 37.802328001053105 ], [ -122.41778199981789, 37.801928000894712 ], [ -122.417681999989625, 37.801328001107237 ], [ -122.417582999628621, 37.800883000606085 ], [ -122.417482000251866, 37.800428000900894 ], [ -122.419182000286796, 37.800228001044971 ], [ -122.420313999719355, 37.800087000286297 ], [ -122.42078199960676, 37.800028000546135 ], [ -122.422381999485083, 37.799828000815417 ], [ -122.423981999928515, 37.799628000951714 ], [ -122.424182000472285, 37.800528000413991 ], [ -122.424382000046421, 37.801428000312676 ], [ -122.424581999786923, 37.802428000879672 ], [ -122.424781999954888, 37.803328000747939 ], [ -122.424981999666798, 37.804328000349891 ], [ -122.425282000266648, 37.805228000483915 ], [ -122.42538200009929, 37.806228000627087 ], [ -122.425782000245718, 37.807328000574977 ], [ -122.425360999491232, 37.807070000463582 ], [ -122.424894999612974, 37.80686100051561 ], [ -122.424405999643128, 37.806760000977285 ], [ -122.424041999887919, 37.806865000754172 ], [ -122.422881999910345, 37.807528000445984 ], [ -122.422481999862782, 37.807828000855586 ], [ -122.420982000290309, 37.808828000531591 ], [ -122.422448999553097, 37.810242001128387 ], [ -122.422303000127641, 37.810342000939706 ], [ -122.421381999422039, 37.809628000984702 ], [ -122.420468000415795, 37.808737000580528 ], [ -122.420233999786447, 37.808589000869539 ], [ -122.419914000405598, 37.808552000515746 ], [ -122.419607000520685, 37.808594000780303 ], [ -122.41918200027186, 37.808628000731744 ] ] ], [ [ [ -122.426582000065991, 37.809366001117517 ], [ -122.42678199967672, 37.809628000489447 ], [ -122.426661000201918, 37.809981001028497 ], [ -122.426310000475766, 37.810368000972936 ], [ -122.425767000023001, 37.810631000381321 ], [ -122.42501400045937, 37.810825000295935 ], [ -122.424242999488214, 37.810922000601089 ], [ -122.424156000354103, 37.810894000738642 ], [ -122.424064999946779, 37.810773000551016 ], [ -122.424063000170207, 37.810636001023923 ], [ -122.424200999783096, 37.810541000940944 ], [ -122.424374999803362, 37.810556000959345 ], [ -122.424532000423213, 37.810627000645674 ], [ -122.424840999811934, 37.810620000526001 ], [ -122.425338999808943, 37.810520000991481 ], [ -122.425801999876597, 37.810310000788611 ], [ -122.426126999706824, 37.810124000743187 ], [ -122.426382999731914, 37.809910000876009 ], [ -122.426502000078983, 37.809652000460709 ], [ -122.426582000065991, 37.809366001117517 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 38, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.413755000474268, 37.803849000425494 ], [ -122.413082000248863, 37.803928001003925 ], [ -122.412481999567632, 37.80392800073075 ], [ -122.411481999806313, 37.804128000981713 ], [ -122.409882000474695, 37.804228000698991 ], [ -122.409282000423673, 37.804428000595138 ], [ -122.408381999438859, 37.804528000748263 ], [ -122.40658199983676, 37.804628001030274 ], [ -122.406250000322714, 37.804675000591708 ], [ -122.405882000139101, 37.80472800063076 ], [ -122.405082000286114, 37.804928000431701 ], [ -122.404881999514075, 37.803928000469789 ], [ -122.404714000424775, 37.803073001031713 ], [ -122.403648999705851, 37.803210000552546 ], [ -122.403072000087079, 37.803279000831544 ], [ -122.402869000049833, 37.802312000603244 ], [ -122.402782000482759, 37.801928000721297 ], [ -122.40268199940418, 37.80132800031673 ], [ -122.402493000490196, 37.800479000935084 ], [ -122.40248200008314, 37.800428000490946 ], [ -122.402382000138161, 37.79942800081156 ], [ -122.402882000291228, 37.799328000576125 ], [ -122.403282000374432, 37.799328000263152 ], [ -122.403481999841048, 37.799228000762412 ], [ -122.403982000136324, 37.799228000540154 ], [ -122.405581999559971, 37.799028001030415 ], [ -122.405694000515652, 37.799588000248434 ], [ -122.405781999728191, 37.800028000612961 ], [ -122.405981999491758, 37.800928000438304 ], [ -122.406181999417029, 37.801828000706237 ], [ -122.406481999693014, 37.801828001017483 ], [ -122.406881999692402, 37.801728000986117 ], [ -122.407282000297869, 37.801728000656297 ], [ -122.407782000494237, 37.80172800058439 ], [ -122.408081999908717, 37.801628000255853 ], [ -122.408481999993171, 37.80162800035329 ], [ -122.40898200011398, 37.801528000422785 ], [ -122.409282000349791, 37.801528000809192 ], [ -122.410882000359706, 37.801328000713532 ], [ -122.411281999748638, 37.801228001022785 ], [ -122.41138199947018, 37.801428000853086 ], [ -122.412381999621587, 37.802028000916579 ], [ -122.41278199966419, 37.802328000470773 ], [ -122.413582000333363, 37.802928000901879 ], [ -122.414782000162205, 37.803728001077616 ], [ -122.413755000474268, 37.803849000425494 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 36, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.410882000268558, 37.796528000804514 ], [ -122.411581999899198, 37.796428000814117 ], [ -122.411792000411722, 37.797309000415531 ], [ -122.411951000350498, 37.798073001110666 ], [ -122.411981999535328, 37.798228000736877 ], [ -122.412181999980689, 37.799228000687485 ], [ -122.412281999751059, 37.799928000905943 ], [ -122.412281999613356, 37.800128000426362 ], [ -122.412382000079887, 37.800428000559627 ], [ -122.412481999800647, 37.801128000478293 ], [ -122.41268200018385, 37.801628000934592 ], [ -122.412681999658503, 37.802028000761425 ], [ -122.41278199966419, 37.802328000470773 ], [ -122.412381999621587, 37.802028000916579 ], [ -122.41138199947018, 37.801428000853086 ], [ -122.411281999748638, 37.801228001022785 ], [ -122.410881999779107, 37.801128000341251 ], [ -122.410081999583795, 37.800428000265214 ], [ -122.40888200025681, 37.799628000785894 ], [ -122.407582000426061, 37.798828000888449 ], [ -122.40708200030285, 37.798428001135058 ], [ -122.406477999724018, 37.797993000284514 ], [ -122.405981999420518, 37.797728000523193 ], [ -122.405182000232742, 37.797228000857075 ], [ -122.406481999690655, 37.797028000666387 ], [ -122.406781999914529, 37.796928000811555 ], [ -122.407220000007939, 37.796855001135221 ], [ -122.407381999844915, 37.796828000840421 ], [ -122.407682000362087, 37.796828000732617 ], [ -122.408384000102913, 37.796789000689536 ], [ -122.408741999759528, 37.79674800105105 ], [ -122.408881999683018, 37.796728000508736 ], [ -122.409281999563305, 37.796628000249768 ], [ -122.409981999970185, 37.796528000769811 ], [ -122.410381999847075, 37.796528000631398 ], [ -122.410882000268558, 37.796528000804514 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 34, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.417282000071566, 37.799128001053475 ], [ -122.417182000133252, 37.798628000841475 ], [ -122.416981999621427, 37.797628000948059 ], [ -122.41688200019081, 37.797128000370975 ], [ -122.416781999593184, 37.796728000854692 ], [ -122.417281999890804, 37.79662800061638 ], [ -122.418481999446684, 37.796528000786793 ], [ -122.419182000429061, 37.796428000673593 ], [ -122.420082000167511, 37.796328000407961 ], [ -122.421682000311776, 37.796128000792372 ], [ -122.422382000113657, 37.796028000552425 ], [ -122.423282000389449, 37.795828000711197 ], [ -122.423481999820837, 37.796728000969999 ], [ -122.423573999901279, 37.797188001024615 ], [ -122.423681999429405, 37.797728001071121 ], [ -122.423881999460022, 37.798628000398331 ], [ -122.423981999928515, 37.799628000951714 ], [ -122.422381999485083, 37.799828000815417 ], [ -122.42078199960676, 37.800028000546135 ], [ -122.420313999719355, 37.800087000286297 ], [ -122.419182000286796, 37.800228001044971 ], [ -122.417482000251866, 37.800428000900894 ], [ -122.417481999765712, 37.80002800087528 ], [ -122.41738199961479, 37.799528000899343 ], [ -122.417282000071566, 37.799128001053475 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 32, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.416082000471306, 37.793028000891447 ], [ -122.415882000129784, 37.792228000810837 ], [ -122.415823000079882, 37.791874000830063 ], [ -122.415782000464006, 37.791628000327947 ], [ -122.415682000333391, 37.791228000455312 ], [ -122.415610999969516, 37.790944000550759 ], [ -122.415582000118036, 37.790828000473979 ], [ -122.415481999449426, 37.790329000448629 ], [ -122.415281999792541, 37.789429000435163 ], [ -122.415790999651762, 37.789369000597887 ], [ -122.416981999607074, 37.789229000496114 ], [ -122.417669000193598, 37.789143000637431 ], [ -122.418581999909904, 37.789029000807609 ], [ -122.420282000197233, 37.788929000480955 ], [ -122.421882000122693, 37.788729000976943 ], [ -122.42198199985539, 37.789129000359068 ], [ -122.422081999757751, 37.789629000965959 ], [ -122.422181999858779, 37.790429000907416 ], [ -122.422281999855301, 37.791029000752651 ], [ -122.422382000137546, 37.791429000561536 ], [ -122.422582000277473, 37.79222800029914 ], [ -122.422382000462648, 37.792228000559582 ], [ -122.420982000293307, 37.792528000314128 ], [ -122.419382000006379, 37.792628000340038 ], [ -122.418881999993587, 37.792728000645724 ], [ -122.417681999977546, 37.792928000665967 ], [ -122.41641199941391, 37.793007000467121 ], [ -122.416082000471306, 37.793028000891447 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 27, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.409481999629506, 37.793928000328442 ], [ -122.409682000469786, 37.794828000305195 ], [ -122.409981999980886, 37.79472800032778 ], [ -122.410482000312371, 37.794628000963073 ], [ -122.411181999791978, 37.794628000852725 ], [ -122.411282999636228, 37.795083000843555 ], [ -122.411382000332239, 37.795528000615072 ], [ -122.411454999982382, 37.795931000960003 ], [ -122.411581999899198, 37.796428000814117 ], [ -122.410882000268558, 37.796528000804514 ], [ -122.410381999847075, 37.796528000631398 ], [ -122.409981999970185, 37.796528000769811 ], [ -122.409281999563305, 37.796628000249768 ], [ -122.408881999683018, 37.796728000508736 ], [ -122.408741999759528, 37.79674800105105 ], [ -122.408384000102913, 37.796789000689536 ], [ -122.408181999720298, 37.795928001066784 ], [ -122.40798199954429, 37.795028000567179 ], [ -122.407782000443873, 37.794028001124943 ], [ -122.407682000297811, 37.793228000760656 ], [ -122.40758199975275, 37.79302800028362 ], [ -122.407506999389668, 37.792766000870863 ], [ -122.407381999992211, 37.792328000822266 ], [ -122.407982000462283, 37.792228000296362 ], [ -122.408281999625885, 37.79212800096979 ], [ -122.408781999875387, 37.792128000942647 ], [ -122.40918199998778, 37.792028000864072 ], [ -122.409266999630447, 37.792453000808131 ], [ -122.40938200044306, 37.793028001022257 ], [ -122.409444000099953, 37.793586000798264 ], [ -122.409481999629506, 37.793928000328442 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 26, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.404482000156051, 37.793628000273159 ], [ -122.404382000471756, 37.792628001087891 ], [ -122.405382000313253, 37.792528001086552 ], [ -122.405881999787894, 37.792528000754743 ], [ -122.40668199961992, 37.792328000953873 ], [ -122.407381999992211, 37.792328000822266 ], [ -122.407506999389668, 37.792766000870863 ], [ -122.40758199975275, 37.79302800028362 ], [ -122.407682000297811, 37.793228000760656 ], [ -122.407782000443873, 37.794028001124943 ], [ -122.407287000362388, 37.79407000051016 ], [ -122.406782000521531, 37.794128000686044 ], [ -122.406281999796931, 37.794228000571081 ], [ -122.405682000182907, 37.794328000458684 ], [ -122.404681999725028, 37.79452800045884 ], [ -122.404581999697257, 37.794028000283731 ], [ -122.404482000156051, 37.793628000273159 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 31, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.414782000374458, 37.787529000364657 ], [ -122.416581000465186, 37.78733400064759 ], [ -122.416979000200172, 37.787290000290874 ], [ -122.418236999702771, 37.787135001070297 ], [ -122.419892999415055, 37.786920000640102 ], [ -122.421482000079365, 37.786729000468526 ], [ -122.4215820004042, 37.787229000781004 ], [ -122.421681999762583, 37.787729000966173 ], [ -122.421781999408793, 37.788129000577037 ], [ -122.421882000122693, 37.788729000976943 ], [ -122.420282000197233, 37.788929000480955 ], [ -122.418581999909904, 37.789029000807609 ], [ -122.417669000193598, 37.789143000637431 ], [ -122.416981999607074, 37.789229000496114 ], [ -122.415790999651762, 37.789369000597887 ], [ -122.415281999792541, 37.789429000435163 ], [ -122.415082000298369, 37.788529000864003 ], [ -122.414782000374458, 37.787529000364657 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 7, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.409381999652169, 37.785429000536624 ], [ -122.411082000072469, 37.785129001072136 ], [ -122.41193499972546, 37.78502900055981 ], [ -122.412781999666734, 37.784929000914431 ], [ -122.414282000472554, 37.78472900062539 ], [ -122.414377999554858, 37.785049000733331 ], [ -122.414581999868147, 37.78572900100405 ], [ -122.414682000115477, 37.786629000790931 ], [ -122.414782000374458, 37.787529000364657 ], [ -122.413281999831142, 37.787729000433309 ], [ -122.412764999994792, 37.787813001080401 ], [ -122.412496999747077, 37.787864000535578 ], [ -122.412182000487533, 37.78792900110885 ], [ -122.411681999973496, 37.788029000749034 ], [ -122.409982000184854, 37.788229000904309 ], [ -122.408382000284988, 37.788329000583346 ], [ -122.408181999884746, 37.787429001134122 ], [ -122.407981999659611, 37.786529000324911 ], [ -122.40778200035632, 37.785529000429278 ], [ -122.408482000038703, 37.785429000313513 ], [ -122.408582000372974, 37.785429000279152 ], [ -122.409381999652169, 37.785429000536624 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 9, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.419381999632137, 37.776429000263512 ], [ -122.419581999579165, 37.777429000469198 ], [ -122.419682000373527, 37.777929000392312 ], [ -122.419781999428565, 37.77832900047629 ], [ -122.420181999622301, 37.780129000915906 ], [ -122.420281999909122, 37.780629001026618 ], [ -122.420382000364825, 37.781129001015607 ], [ -122.420481999853834, 37.781629000877302 ], [ -122.420581999997637, 37.782029000970411 ], [ -122.420681999698573, 37.782529000596064 ], [ -122.420796999841926, 37.782980001020086 ], [ -122.420874999469191, 37.783459000758953 ], [ -122.420945000318127, 37.783921001120774 ], [ -122.419382000088177, 37.784129000420378 ], [ -122.417681999794397, 37.784329000418182 ], [ -122.416081999830539, 37.78452900099002 ], [ -122.415181999641334, 37.784629001093101 ], [ -122.414282000472554, 37.78472900062539 ], [ -122.414281999858687, 37.78382900076037 ], [ -122.413982000495338, 37.782829000238436 ], [ -122.41378199943874, 37.781929000268107 ], [ -122.41358200049234, 37.780929001113414 ], [ -122.413481999917536, 37.780029000498892 ], [ -122.413181999500068, 37.779829000977628 ], [ -122.414682000287485, 37.778629001054334 ], [ -122.416182000114716, 37.77742900055263 ], [ -122.41748200023936, 37.776529000671751 ], [ -122.41868199976723, 37.775629000348701 ], [ -122.419182000316823, 37.775229000958738 ], [ -122.41928199989691, 37.775529000976327 ], [ -122.419381999688596, 37.77602900039264 ], [ -122.419381999632137, 37.776429000263512 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 43, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.42678199967672, 37.809628000489447 ], [ -122.426582000065991, 37.809366001117517 ], [ -122.426507000313137, 37.808914000495584 ], [ -122.426326999465942, 37.808260001072341 ], [ -122.426082999516908, 37.807716000640369 ], [ -122.425782000245718, 37.807328000574977 ], [ -122.42538200009929, 37.806228000627087 ], [ -122.425282000266648, 37.805228000483915 ], [ -122.424981999666798, 37.804328000349891 ], [ -122.425643999735655, 37.804211000628676 ], [ -122.426681999753598, 37.804028000563946 ], [ -122.427882000339494, 37.803828000780477 ], [ -122.428282000151484, 37.803828000376889 ], [ -122.429981999945113, 37.803628000857216 ], [ -122.431681999777496, 37.803428001102397 ], [ -122.433282000203093, 37.803228000492908 ], [ -122.434881999801291, 37.802928000383758 ], [ -122.436482000319714, 37.802728000394303 ], [ -122.43618199959765, 37.80082800071694 ], [ -122.437182000522313, 37.800728000626442 ], [ -122.437881999744036, 37.800528000948972 ], [ -122.439382000158943, 37.800428000884111 ], [ -122.44028200048183, 37.8003280005519 ], [ -122.441081999564389, 37.800228000241724 ], [ -122.441482000400185, 37.801128000274169 ], [ -122.441482000104628, 37.802128000692157 ], [ -122.441682000090509, 37.802628000238379 ], [ -122.441781999504741, 37.803028000305709 ], [ -122.441881999464755, 37.80372800111072 ], [ -122.441981999517949, 37.804028000672069 ], [ -122.441982000101547, 37.804428000856092 ], [ -122.441982000230084, 37.804928000369323 ], [ -122.442181999970686, 37.805828000756918 ], [ -122.442282000286838, 37.806628000248502 ], [ -122.442481999760915, 37.806828001036187 ], [ -122.442882000177789, 37.808228001040582 ], [ -122.440181999817582, 37.808628001132774 ], [ -122.439881999904642, 37.808528000749796 ], [ -122.440181999650875, 37.808128001068376 ], [ -122.44238199947803, 37.80782800040889 ], [ -122.442182000366856, 37.806828000415756 ], [ -122.435782000235847, 37.807628000430341 ], [ -122.435282000491569, 37.806828000526238 ], [ -122.434281999408114, 37.806828001043819 ], [ -122.433482000061005, 37.805628000879736 ], [ -122.432581999749047, 37.805628001003278 ], [ -122.432182000209863, 37.806128000758257 ], [ -122.432381999660009, 37.808628001003193 ], [ -122.431481999960809, 37.809228000695377 ], [ -122.430481999624021, 37.809228000397383 ], [ -122.429981999465255, 37.80922800112063 ], [ -122.42988199971964, 37.80862800035689 ], [ -122.428082000287034, 37.808428000399381 ], [ -122.427081999801558, 37.808228000739298 ], [ -122.427653000474749, 37.808755000643181 ], [ -122.428002999471175, 37.808788000371592 ], [ -122.427992999456194, 37.808914000651605 ], [ -122.427557999432821, 37.808855000629102 ], [ -122.426782999508021, 37.808419000700106 ], [ -122.426696000200337, 37.808335000829381 ], [ -122.426681999456306, 37.808328000729666 ], [ -122.42678199967672, 37.809628000489447 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 50, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.446781999672183, 37.794829000928488 ], [ -122.446881999456437, 37.795729000343904 ], [ -122.446981999890326, 37.796628000896305 ], [ -122.447081999706739, 37.797528000785682 ], [ -122.447281999402904, 37.798528000468359 ], [ -122.447381999451238, 37.799428000736633 ], [ -122.445982000213988, 37.799528000767225 ], [ -122.444481999987488, 37.799728000610635 ], [ -122.442781999402513, 37.799928000824401 ], [ -122.441081999564389, 37.800228000241724 ], [ -122.44028200048183, 37.8003280005519 ], [ -122.439382000158943, 37.800428000884111 ], [ -122.437881999744036, 37.800528000948972 ], [ -122.437182000522313, 37.800728000626442 ], [ -122.43618199959765, 37.80082800071694 ], [ -122.43608199979596, 37.799928000592388 ], [ -122.435982000381017, 37.799428000671377 ], [ -122.435882000000859, 37.798928000623022 ], [ -122.435782000193058, 37.798528000795635 ], [ -122.43568200002791, 37.798028000510918 ], [ -122.437182000337316, 37.797828000868805 ], [ -122.437081999925269, 37.796928001109308 ], [ -122.436781999573853, 37.79602800057345 ], [ -122.438382000489028, 37.795828001093419 ], [ -122.440082000290914, 37.795628000882495 ], [ -122.441881999728693, 37.79532800060101 ], [ -122.443481999832997, 37.795129000688227 ], [ -122.445082000068638, 37.794929001088889 ], [ -122.446781999672183, 37.794829000928488 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1440, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.552987999617557, 37.926025000608547 ], [ -122.553032000056419, 37.92642400049985 ], [ -122.553088000026577, 37.926925000351247 ], [ -122.553287999696806, 37.927925000485097 ], [ -122.552988000254288, 37.930324000344839 ], [ -122.552288000371178, 37.934024000383275 ], [ -122.551688000515597, 37.934224000478849 ], [ -122.551387999443534, 37.934224000878423 ], [ -122.550349999604109, 37.934432000670725 ], [ -122.549888000336608, 37.93452400039893 ], [ -122.548987000167301, 37.934624000912308 ], [ -122.543886999563895, 37.935424000454972 ], [ -122.545486999759959, 37.938424001047288 ], [ -122.546435999851269, 37.940277000387972 ], [ -122.546486999811748, 37.94042400034337 ], [ -122.5463869999096, 37.942224000754202 ], [ -122.547000999984846, 37.942139000391833 ], [ -122.547229999620768, 37.941643000424818 ], [ -122.547486999392177, 37.942124000978296 ], [ -122.548387999489407, 37.943824000355882 ], [ -122.54868800018177, 37.944224000968191 ], [ -122.548711000108426, 37.944329000439765 ], [ -122.549381999876559, 37.94416100087814 ], [ -122.549487999689504, 37.944624001055857 ], [ -122.548987999446126, 37.94482400100803 ], [ -122.549187999950973, 37.945324000986581 ], [ -122.549428000265877, 37.945694000974413 ], [ -122.549587999615753, 37.945824000275032 ], [ -122.550388000101975, 37.946624000840494 ], [ -122.551287999642625, 37.947824000837159 ], [ -122.549388000269715, 37.94872400071845 ], [ -122.55008799953022, 37.950724000559674 ], [ -122.549287999444189, 37.950824000335317 ], [ -122.548787999977336, 37.950124000848476 ], [ -122.548087999769578, 37.950224001009055 ], [ -122.544687000466112, 37.950524000661133 ], [ -122.544687000157623, 37.949355000487309 ], [ -122.544686999412122, 37.948935000765282 ], [ -122.544687000012289, 37.948524000408369 ], [ -122.544402999905188, 37.948408000863033 ], [ -122.543928000142841, 37.948214000860624 ], [ -122.543345000130657, 37.947977001030253 ], [ -122.541987000177485, 37.947424000776614 ], [ -122.539386999466942, 37.947424000358126 ], [ -122.538087000465097, 37.945224000621792 ], [ -122.537587000332749, 37.94322400081122 ], [ -122.53468699961789, 37.942224000934409 ], [ -122.53328700016084, 37.941924000602619 ], [ -122.5319869994388, 37.942224000754464 ], [ -122.530387000197152, 37.943124000430835 ], [ -122.528835999628171, 37.944093000524106 ], [ -122.528786000079222, 37.944124000288802 ], [ -122.528386000519973, 37.944324000265894 ], [ -122.525439999504869, 37.943158000568864 ], [ -122.518787999766019, 37.940519000346676 ], [ -122.51798599942029, 37.940924000827948 ], [ -122.516161000304621, 37.941882000610178 ], [ -122.51613499961563, 37.941936000894664 ], [ -122.515686000207964, 37.94292400089018 ], [ -122.515162999879053, 37.942849001061283 ], [ -122.514874000192947, 37.942822000498595 ], [ -122.514924999858493, 37.942668000797468 ], [ -122.515514000436411, 37.940790000976982 ], [ -122.515686000187699, 37.94022400057996 ], [ -122.515786000483871, 37.939924000941161 ], [ -122.515886000518492, 37.940724001059671 ], [ -122.516186000522168, 37.940424000923549 ], [ -122.516885999754678, 37.940024000781605 ], [ -122.517694999795381, 37.939619000366562 ], [ -122.517886000422635, 37.939524001067859 ], [ -122.518285999949541, 37.939124000392042 ], [ -122.518586000514659, 37.938924000424159 ], [ -122.520085999664047, 37.93812400088791 ], [ -122.520586000281156, 37.93792400104266 ], [ -122.521585999952521, 37.937224000826774 ], [ -122.520985999779498, 37.93452400069966 ], [ -122.520886000047554, 37.934224000407376 ], [ -122.526286000159729, 37.933824000675962 ], [ -122.526986000028273, 37.933624000520872 ], [ -122.526985999495764, 37.933124000298768 ], [ -122.526986000170297, 37.93252400070272 ], [ -122.52690799970901, 37.931512000306569 ], [ -122.526085000229685, 37.931467000278779 ], [ -122.525785999992124, 37.931457000905937 ], [ -122.525456000263517, 37.931446000610876 ], [ -122.525324000484815, 37.931380001009394 ], [ -122.525172000052478, 37.93123700061296 ], [ -122.525060999860429, 37.931009000529158 ], [ -122.525203000216663, 37.930915000888746 ], [ -122.525405999793463, 37.930766000548012 ], [ -122.525659000038772, 37.930667000555701 ], [ -122.526340999564241, 37.930398000601087 ], [ -122.526286000278319, 37.930124000607698 ], [ -122.527085999670078, 37.930024000459447 ], [ -122.527285999735199, 37.929324000781818 ], [ -122.528785999880228, 37.929324000682115 ], [ -122.529985999827673, 37.929324000353667 ], [ -122.531649000500082, 37.929212000775898 ], [ -122.531924999923604, 37.929193000981584 ], [ -122.53169200002614, 37.928836000846907 ], [ -122.531549999614683, 37.928619000831929 ], [ -122.53118899945234, 37.928390001008552 ], [ -122.530685999657337, 37.927824000772098 ], [ -122.530385999717865, 37.927424000439885 ], [ -122.530686000245794, 37.927424000337062 ], [ -122.531785999547751, 37.927424000916666 ], [ -122.532486000018238, 37.927224000978583 ], [ -122.53278599975539, 37.927224000924383 ], [ -122.533586000160824, 37.926725000508711 ], [ -122.533647999399591, 37.926681000803462 ], [ -122.534115999448133, 37.926788000361412 ], [ -122.534323999810624, 37.926831000586375 ], [ -122.534198000100119, 37.926732000407661 ], [ -122.534464999827549, 37.926548000577441 ], [ -122.535094000036537, 37.92679300106154 ], [ -122.535468999526316, 37.926186000347073 ], [ -122.5350289994919, 37.925904000773293 ], [ -122.534859999396915, 37.925710000823067 ], [ -122.535286999411113, 37.92532500106914 ], [ -122.535687, 37.924625000820875 ], [ -122.536286999779307, 37.924325000375681 ], [ -122.536686999819182, 37.923925000535611 ], [ -122.537025999555752, 37.923846000508789 ], [ -122.537138000055862, 37.923919000687015 ], [ -122.537229000524505, 37.923970000502145 ], [ -122.53737099952329, 37.923980000771124 ], [ -122.53748200020155, 37.923994000661793 ], [ -122.537644999817118, 37.923982000520731 ], [ -122.537868000336971, 37.923962000662222 ], [ -122.537939000428381, 37.923954001065127 ], [ -122.538186999999738, 37.923925001087561 ], [ -122.538386999889411, 37.924825000881903 ], [ -122.539686999419359, 37.924925000238417 ], [ -122.539601999425784, 37.922011000465339 ], [ -122.540887000022749, 37.921925000599629 ], [ -122.541387000080533, 37.922025001117909 ], [ -122.541686999419653, 37.922425000903111 ], [ -122.542786999598022, 37.923125000813613 ], [ -122.542986999838845, 37.923725000740674 ], [ -122.5442870000374, 37.923325001091918 ], [ -122.544586999682224, 37.924125000640785 ], [ -122.545187000432136, 37.924725001028811 ], [ -122.546387000385891, 37.924825000430396 ], [ -122.546187000487336, 37.925525000256158 ], [ -122.546686999650746, 37.925725000324732 ], [ -122.547887000020282, 37.925625000732339 ], [ -122.548687000487348, 37.924925000444084 ], [ -122.548486999881391, 37.924025000724271 ], [ -122.549186999567084, 37.923625000235894 ], [ -122.549687000063372, 37.92462500029157 ], [ -122.551487000124794, 37.925325000572471 ], [ -122.552987999617557, 37.926025000608547 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1438, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.490185005114824, 37.937924008492701 ], [ -122.490684999796798, 37.938924001122366 ], [ -122.491285000732418, 37.93892400898811 ], [ -122.491284996690979, 37.94052399327073 ], [ -122.492692002554065, 37.940435995758456 ], [ -122.492884998838846, 37.940423994870379 ], [ -122.492884999266693, 37.941623996109271 ], [ -122.489185005323918, 37.941524005976767 ], [ -122.489084996388272, 37.940323993160632 ], [ -122.488084998075152, 37.940323994819849 ], [ -122.488128005110781, 37.939855000440801 ], [ -122.488284997030505, 37.938124008457606 ], [ -122.490185005114824, 37.937924008492701 ] ], [ [ -122.51058499496591, 37.907824997087907 ], [ -122.510785003870012, 37.909424995121178 ], [ -122.503385004678762, 37.90932499840418 ], [ -122.502984997503219, 37.909324999844898 ], [ -122.504885001420931, 37.911925006787463 ], [ -122.498783998923557, 37.911724997153037 ], [ -122.495883994990351, 37.911725004188213 ], [ -122.495683995237059, 37.915624992792019 ], [ -122.489183998962375, 37.91532500511223 ], [ -122.489084000369331, 37.917924997747342 ], [ -122.48758400116732, 37.91862500599359 ], [ -122.487186005041238, 37.918748995835415 ], [ -122.487916002660256, 37.919844992875611 ], [ -122.486779999302286, 37.920051003301246 ], [ -122.486268998649578, 37.91996399584167 ], [ -122.485989997465182, 37.919916005396331 ], [ -122.485884001637885, 37.920125005077857 ], [ -122.485684003479093, 37.920625000292979 ], [ -122.486383995929998, 37.921324992902747 ], [ -122.48664100213341, 37.921274008278033 ], [ -122.488883997557082, 37.920825009433372 ], [ -122.494984003270929, 37.92152500828653 ], [ -122.497084996385297, 37.923724993214037 ], [ -122.497485000223108, 37.922624994182542 ], [ -122.498784997246986, 37.925224009202573 ], [ -122.499584995233832, 37.925624000284309 ], [ -122.49998500239046, 37.925723997832236 ], [ -122.503085003374721, 37.928824003795242 ], [ -122.503185003391835, 37.931824004427099 ], [ -122.503684995304241, 37.931723997211662 ], [ -122.504984995146813, 37.940023995977363 ], [ -122.502899995373795, 37.9417780038928 ], [ -122.502735004454394, 37.941917006770474 ], [ -122.502214000899556, 37.942047004785081 ], [ -122.501279005503918, 37.94228899920364 ], [ -122.498784996238896, 37.941324002080279 ], [ -122.497384996145882, 37.939423999587255 ], [ -122.493184998744482, 37.938224008268868 ], [ -122.493284995541785, 37.939024000010207 ], [ -122.492085004769265, 37.937924004486611 ], [ -122.489184997229984, 37.93712400076344 ], [ -122.488684004825544, 37.936923998516505 ], [ -122.487983998015338, 37.937923992651925 ], [ -122.486583995809241, 37.93972399401639 ], [ -122.485184004380059, 37.940723995055833 ], [ -122.483162001692619, 37.94035600545115 ], [ -122.482984004868655, 37.940323995177394 ], [ -122.482184002439283, 37.941624003149258 ], [ -122.47988399691765, 37.942023998421007 ], [ -122.478483994670327, 37.94232399359116 ], [ -122.477283996436981, 37.942424006947959 ], [ -122.478084002998514, 37.942723998046311 ], [ -122.480483998701928, 37.943524004618332 ], [ -122.48178400429525, 37.944024003198727 ], [ -122.482864002726188, 37.944488007678949 ], [ -122.483644002668001, 37.9445959969783 ], [ -122.484866997432505, 37.944728999377467 ], [ -122.485814000164368, 37.944740992750901 ], [ -122.486227003972516, 37.944669003804705 ], [ -122.486731003121562, 37.944535992430019 ], [ -122.488985004299821, 37.945224006295803 ], [ -122.489985000805021, 37.945824006064406 ], [ -122.491185001849288, 37.946224008633578 ], [ -122.492585001033916, 37.94642400787783 ], [ -122.493585004410434, 37.946424003432242 ], [ -122.49408500294561, 37.945524002193636 ], [ -122.500784995436433, 37.947324006727968 ], [ -122.504584999619524, 37.949323997186731 ], [ -122.505295995025548, 37.949989999905831 ], [ -122.5056779960358, 37.950547007469268 ], [ -122.50618500290831, 37.951723998811836 ], [ -122.508085002885878, 37.951223997136218 ], [ -122.509085001300619, 37.951724006262808 ], [ -122.509709999619318, 37.951943995670526 ], [ -122.511513998301297, 37.9499300058025 ], [ -122.513200996186512, 37.947959001100102 ], [ -122.513410999368148, 37.947404995497685 ], [ -122.514538998298349, 37.944322999635048 ], [ -122.51462499445833, 37.943899994267589 ], [ -122.514743001613425, 37.943315997503454 ], [ -122.514804997002443, 37.943053998673399 ], [ -122.514873996663752, 37.942822007159229 ], [ -122.514925000717199, 37.942667994604633 ], [ -122.515514000389302, 37.940789997315292 ], [ -122.515686001358887, 37.940224000950913 ], [ -122.515786004638187, 37.939923993832409 ], [ -122.515885995863201, 37.939624004165253 ], [ -122.516003001978163, 37.939229008702277 ], [ -122.516309998104973, 37.938211001911142 ], [ -122.516585999323354, 37.937323994175635 ], [ -122.516713002800913, 37.936898004188876 ], [ -122.516932001038299, 37.93593700321334 ], [ -122.516948999400483, 37.935789996933487 ], [ -122.516944998903185, 37.935666000052763 ], [ -122.516935996614194, 37.935497991840016 ], [ -122.516886001781714, 37.935123996836218 ], [ -122.516870996553351, 37.935047994329892 ], [ -122.515886003036471, 37.930123998389625 ], [ -122.51568499634368, 37.929224008423709 ], [ -122.515444002366266, 37.927981995690331 ], [ -122.515271001451083, 37.927210008616697 ], [ -122.514670003350531, 37.925688993088436 ], [ -122.514415997476817, 37.92508999336475 ], [ -122.514127996995342, 37.924467000099774 ], [ -122.513684996031515, 37.92362499556107 ], [ -122.513524998210499, 37.923377992384623 ], [ -122.512285004790115, 37.921124994293514 ], [ -122.511787994998983, 37.920247005902709 ], [ -122.511366995120753, 37.919127002463931 ], [ -122.511114002622833, 37.918295000595478 ], [ -122.511056995346181, 37.917829998592502 ], [ -122.511113997557985, 37.917198008943508 ], [ -122.511225998339825, 37.91668799282256 ], [ -122.511380999864201, 37.916077991658234 ], [ -122.511717994310033, 37.915013996360152 ], [ -122.511998997736768, 37.914160005380488 ], [ -122.512237996098946, 37.913495005890596 ], [ -122.512585002392981, 37.912725008669163 ], [ -122.513130997245895, 37.911738994611973 ], [ -122.51425700130342, 37.908984995621125 ], [ -122.514385000281308, 37.908625005408233 ], [ -122.513156002056036, 37.908365998609646 ], [ -122.51058499496591, 37.907824997087907 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1447, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.463582998869356, 37.87352600250582 ], [ -122.464596998939044, 37.875555003693265 ], [ -122.464683000522228, 37.875725999114202 ], [ -122.466183001335409, 37.875626000743175 ], [ -122.465582999041132, 37.876326001679679 ], [ -122.466036001274048, 37.876688004722617 ], [ -122.466082997698678, 37.876726003779169 ], [ -122.466383000870906, 37.876725999671955 ], [ -122.467382997459495, 37.876026000601321 ], [ -122.469582999150532, 37.877825997857734 ], [ -122.471883000838559, 37.878926003279403 ], [ -122.47168299868602, 37.879325999156201 ], [ -122.470582999234935, 37.878725997817959 ], [ -122.470073000748854, 37.878981004781224 ], [ -122.469982997761477, 37.879025999033061 ], [ -122.469682998837499, 37.879425998928376 ], [ -122.470983000473609, 37.880325999673268 ], [ -122.467983001955744, 37.878825997607827 ], [ -122.467749000611903, 37.879154002038433 ], [ -122.467482998843892, 37.87952600199435 ], [ -122.470382999579357, 37.881226000196627 ], [ -122.469982999017205, 37.881625999649671 ], [ -122.469982998975581, 37.881969998209463 ], [ -122.469983002546101, 37.882126000329251 ], [ -122.470682998191378, 37.882125998737514 ], [ -122.470782996943598, 37.882626000062423 ], [ -122.466182999344056, 37.880626000969791 ], [ -122.466683000046572, 37.879926002283 ], [ -122.466182998975214, 37.879726004933929 ], [ -122.46508299960081, 37.879126005168132 ], [ -122.461582997104898, 37.874425997305323 ], [ -122.464383000554321, 37.877426004069775 ], [ -122.467283002098739, 37.878325999933523 ], [ -122.467387000666449, 37.877912004942218 ], [ -122.467483001285743, 37.877525998420509 ], [ -122.465982998008371, 37.877025997959485 ], [ -122.464983002538844, 37.876626003957391 ], [ -122.463882999022275, 37.875426003863758 ], [ -122.462483000634748, 37.873625999259637 ], [ -122.463582998869356, 37.87352600250582 ] ], [ [ -122.457883000786808, 37.862126004018293 ], [ -122.458257998238196, 37.864843999278136 ], [ -122.458283000891853, 37.865026002785811 ], [ -122.46048299862386, 37.866926001367062 ], [ -122.462382998459773, 37.868726000575258 ], [ -122.462782998902199, 37.872326002726304 ], [ -122.459483000038787, 37.87382599729419 ], [ -122.459483001301848, 37.873126002717562 ], [ -122.45848300150702, 37.872326001796743 ], [ -122.458182997352949, 37.871826002173059 ], [ -122.457483000612442, 37.871625997871014 ], [ -122.45748300106743, 37.871526001137987 ], [ -122.457283001642608, 37.871326001289603 ], [ -122.456982998315198, 37.871325999875403 ], [ -122.455882999061856, 37.871325999944695 ], [ -122.456216001665254, 37.871715000483 ], [ -122.456411002311043, 37.871943003829784 ], [ -122.456482998421563, 37.872026002290063 ], [ -122.456590999982851, 37.87207999788464 ], [ -122.456704997771695, 37.872136996043075 ], [ -122.456742002904747, 37.872244002484713 ], [ -122.456847000328537, 37.872462999252406 ], [ -122.456982999860173, 37.872626001333508 ], [ -122.457443000758147, 37.872657000621878 ], [ -122.457502002639671, 37.872858005285323 ], [ -122.457682999560561, 37.873037998828288 ], [ -122.457683001741401, 37.872964997101825 ], [ -122.457682997111078, 37.872848998780427 ], [ -122.457735001042394, 37.872849000667536 ], [ -122.457906998242152, 37.872969998276318 ], [ -122.457896998316258, 37.873029997789317 ], [ -122.457997999469654, 37.87308199706716 ], [ -122.458161000415714, 37.873186000711748 ], [ -122.458251999183005, 37.873211997369296 ], [ -122.458323001763731, 37.873281004140168 ], [ -122.458419999400093, 37.873248998313635 ], [ -122.458527000458076, 37.873339998897507 ], [ -122.458613000312965, 37.873600002076657 ], [ -122.458632997743521, 37.873703998714561 ], [ -122.458725001574109, 37.873853004110387 ], [ -122.458839000000765, 37.87384600266445 ], [ -122.458908999855197, 37.873842002739565 ], [ -122.45918299760821, 37.873826001459683 ], [ -122.459782998695331, 37.874326002263999 ], [ -122.459534999394464, 37.874500001297541 ], [ -122.459582997150804, 37.874625998650203 ], [ -122.45988299950784, 37.875326005495026 ], [ -122.459983002601135, 37.875726002064006 ], [ -122.460183002608559, 37.876226004852015 ], [ -122.460583000236184, 37.876326004147998 ], [ -122.461882998037225, 37.877025997604221 ], [ -122.462282997831636, 37.877425998719445 ], [ -122.462482999347614, 37.87762599876951 ], [ -122.463082999266661, 37.878225996838893 ], [ -122.463382997227228, 37.878825997826716 ], [ -122.465383000371489, 37.880825999072961 ], [ -122.466483000780229, 37.881726003363347 ], [ -122.470482998869443, 37.883125998320509 ], [ -122.471984001356105, 37.88392599724159 ], [ -122.471883997479509, 37.883125998404715 ], [ -122.47238400078669, 37.883226001355133 ], [ -122.471182999432372, 37.88092599787673 ], [ -122.472282998300216, 37.879726001121192 ], [ -122.473782998494059, 37.877425996745075 ], [ -122.472983001628222, 37.875026000090379 ], [ -122.472683000576282, 37.874226003076224 ], [ -122.469682999834575, 37.86962600204626 ], [ -122.469183002204375, 37.868726004308613 ], [ -122.46906500207983, 37.868649002532763 ], [ -122.463705999292074, 37.865138001222029 ], [ -122.463382999596632, 37.864926000114394 ], [ -122.45883399845475, 37.862610004724118 ], [ -122.457883000786808, 37.862126004018293 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1445, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.471383999803109, 37.90212500046502 ], [ -122.471786999681527, 37.902063000655282 ], [ -122.472883999677919, 37.902025000597199 ], [ -122.473583999390513, 37.901925000785141 ], [ -122.473484000073029, 37.902325000953034 ], [ -122.47468399956125, 37.902925000591502 ], [ -122.475505000241725, 37.903149000729904 ], [ -122.475784000402243, 37.903225000708574 ], [ -122.476184000448441, 37.903225000561726 ], [ -122.476584000497837, 37.903225000858043 ], [ -122.477684000105668, 37.903225000519249 ], [ -122.478779000132818, 37.903152000667461 ], [ -122.479184000526459, 37.903125000635306 ], [ -122.480683999496961, 37.90262500097419 ], [ -122.480884000209173, 37.902625000854009 ], [ -122.481684000396768, 37.902025000692653 ], [ -122.482527999809406, 37.901376001109398 ], [ -122.482984000235547, 37.901025000636572 ], [ -122.484484000304306, 37.900125001049823 ], [ -122.486083999580089, 37.899625000429388 ], [ -122.48728400002004, 37.898825000857812 ], [ -122.487684000420003, 37.89832500058678 ], [ -122.487863999662821, 37.898205001112416 ], [ -122.487983999598342, 37.898125000408214 ], [ -122.48748399970998, 37.897425000787102 ], [ -122.487527999559845, 37.896853000434788 ], [ -122.487584000062043, 37.896125000784146 ], [ -122.486583999521514, 37.895025000465573 ], [ -122.484163000275572, 37.89318900071936 ], [ -122.483806000370549, 37.892921000531238 ], [ -122.483408999671568, 37.892725000514744 ], [ -122.482776999880286, 37.892500000472204 ], [ -122.48238400019234, 37.89232600082839 ], [ -122.48318400050259, 37.89192600051156 ], [ -122.484153000338694, 37.891382000534527 ], [ -122.486983999924476, 37.894425000572447 ], [ -122.493183999740069, 37.893526000449583 ], [ -122.498672000005556, 37.894146000846881 ], [ -122.498844000117245, 37.894165000759422 ], [ -122.49917899970653, 37.894227000949869 ], [ -122.49935100040436, 37.894229000748346 ], [ -122.499675000154198, 37.894329001027081 ], [ -122.501266999827905, 37.897526000465369 ], [ -122.500465999439811, 37.897026000802462 ], [ -122.500405999964414, 37.896869000639356 ], [ -122.49948399941087, 37.895025000285926 ], [ -122.499084000094356, 37.895525000660022 ], [ -122.499084000389942, 37.896225000545982 ], [ -122.500384000493597, 37.897725000890944 ], [ -122.501440999669029, 37.897655000290037 ], [ -122.501883999694314, 37.897625000517756 ], [ -122.501712999455563, 37.89856600075916 ], [ -122.504157000465526, 37.898859000716193 ], [ -122.504584000099612, 37.898925000781276 ], [ -122.505659999621443, 37.899324000761467 ], [ -122.507343999892825, 37.899896000471138 ], [ -122.508052000341337, 37.900215000588361 ], [ -122.508406000407746, 37.900505001008106 ], [ -122.508872999423446, 37.900903000240952 ], [ -122.509316000367519, 37.901292000865602 ], [ -122.509632000109576, 37.901462000905937 ], [ -122.510048999688237, 37.901632000552176 ], [ -122.510631000401119, 37.901831000892763 ], [ -122.511184999956555, 37.90202500065022 ], [ -122.512214000333586, 37.902236000877565 ], [ -122.512884999956583, 37.902325000472622 ], [ -122.513944000346385, 37.902450000729736 ], [ -122.514984999854917, 37.902525000760946 ], [ -122.515757999598421, 37.902644001040912 ], [ -122.515684999496983, 37.903125000472585 ], [ -122.515585000125299, 37.904125000507975 ], [ -122.51547099985946, 37.90485400026359 ], [ -122.51464799982476, 37.907447001063836 ], [ -122.51451800031721, 37.908017000715809 ], [ -122.514402000158483, 37.908525000986764 ], [ -122.5143849994937, 37.908625000842186 ], [ -122.513156000087733, 37.908366000601255 ], [ -122.510584999757626, 37.907825000882006 ], [ -122.51078499986869, 37.909425000793995 ], [ -122.503385000431507, 37.909325000921136 ], [ -122.502984999933346, 37.909325000587465 ], [ -122.504885000358527, 37.91192500086823 ], [ -122.498784000249046, 37.911725000904703 ], [ -122.495884000026464, 37.91172500074542 ], [ -122.495683999452254, 37.915625000273927 ], [ -122.489184000269859, 37.915325001118418 ], [ -122.489084000310612, 37.91792500109878 ], [ -122.487583999939801, 37.918625001002972 ], [ -122.487185999764165, 37.91874900057239 ], [ -122.487916000155337, 37.919845000328529 ], [ -122.486780000051297, 37.920051000403475 ], [ -122.486269000447464, 37.919964000609475 ], [ -122.485989999986444, 37.919916000731874 ], [ -122.485884000475281, 37.920125000988783 ], [ -122.485683999563093, 37.920625001008176 ], [ -122.48498399956236, 37.920225000275757 ], [ -122.484647999679879, 37.920001000981905 ], [ -122.484383999497396, 37.919825000925016 ], [ -122.484085000122931, 37.919608001136744 ], [ -122.483679000191501, 37.919314000572939 ], [ -122.483395999530202, 37.919108001003977 ], [ -122.482874999508851, 37.918730000573944 ], [ -122.481873000428251, 37.918003000358794 ], [ -122.481181000407574, 37.917501001071187 ], [ -122.479284000383274, 37.916125001014528 ], [ -122.474983999532256, 37.91722500077978 ], [ -122.474784000529809, 37.916225000287263 ], [ -122.478583999634679, 37.915625000540814 ], [ -122.47803100027042, 37.914335000526883 ], [ -122.47738400041419, 37.91282500073622 ], [ -122.477783999561112, 37.914425000379843 ], [ -122.477259000424965, 37.914575000979177 ], [ -122.477084000244375, 37.914625000654191 ], [ -122.476183999569884, 37.913325000845838 ], [ -122.476684000197807, 37.914725000426543 ], [ -122.476295000203621, 37.914920000885232 ], [ -122.476083999611589, 37.915025000745516 ], [ -122.475183999833291, 37.91382500098986 ], [ -122.475484000218714, 37.915125000910905 ], [ -122.475198000266431, 37.91516600111602 ], [ -122.474783999461721, 37.915225000621945 ], [ -122.474084000234839, 37.913125001105819 ], [ -122.472783999460205, 37.909425000692529 ], [ -122.473291000208334, 37.909280000971513 ], [ -122.473483999535389, 37.909225000476489 ], [ -122.474983999697116, 37.912025000817117 ], [ -122.474384000447685, 37.909725001068594 ], [ -122.474684000220236, 37.909525000267024 ], [ -122.47508399958609, 37.909625000781979 ], [ -122.477084000261783, 37.912525000954354 ], [ -122.475940000047146, 37.909932000937609 ], [ -122.475584000086059, 37.909125000402149 ], [ -122.472283999866278, 37.908325000269294 ], [ -122.475184000303713, 37.908125000245668 ], [ -122.476683999837419, 37.90882500111212 ], [ -122.476722000409708, 37.907727000944739 ], [ -122.476730000027132, 37.907482000565246 ], [ -122.476737999798246, 37.907245000970882 ], [ -122.476783999757743, 37.905925001090075 ], [ -122.475276999682976, 37.905035000516257 ], [ -122.474558999605435, 37.904611000679786 ], [ -122.473812000098548, 37.904169000440668 ], [ -122.472601999998389, 37.90345400048335 ], [ -122.472383999493658, 37.903325000769769 ], [ -122.47198400004666, 37.902725001046264 ], [ -122.471383999803109, 37.90212500046502 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1446, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.47928399996151, 37.888926000365601 ], [ -122.481220999532027, 37.889903000752945 ], [ -122.484153000338694, 37.891382000534527 ], [ -122.48318400050259, 37.89192600051156 ], [ -122.48238400019234, 37.89232600082839 ], [ -122.482776999880286, 37.892500000472204 ], [ -122.483408999671568, 37.892725000514744 ], [ -122.483806000370549, 37.892921000531238 ], [ -122.484163000275572, 37.89318900071936 ], [ -122.486583999521514, 37.895025000465573 ], [ -122.487584000062043, 37.896125000784146 ], [ -122.487527999559845, 37.896853000434788 ], [ -122.48748399970998, 37.897425000787102 ], [ -122.487983999598342, 37.898125000408214 ], [ -122.487863999662821, 37.898205001112416 ], [ -122.487684000420003, 37.89832500058678 ], [ -122.48728400002004, 37.898825000857812 ], [ -122.486083999580089, 37.899625000429388 ], [ -122.484484000304306, 37.900125001049823 ], [ -122.482984000235547, 37.901025000636572 ], [ -122.482527999809406, 37.901376001109398 ], [ -122.481684000396768, 37.902025000692653 ], [ -122.480884000209173, 37.902625000854009 ], [ -122.480683999496961, 37.90262500097419 ], [ -122.479184000526459, 37.903125000635306 ], [ -122.478779000132818, 37.903152000667461 ], [ -122.477684000105668, 37.903225000519249 ], [ -122.476584000497837, 37.903225000858043 ], [ -122.476184000448441, 37.903225000561726 ], [ -122.475784000402243, 37.903225000708574 ], [ -122.475505000241725, 37.903149000729904 ], [ -122.47468399956125, 37.902925000591502 ], [ -122.473484000073029, 37.902325000953034 ], [ -122.473583999390513, 37.901925000785141 ], [ -122.472883999677919, 37.902025000597199 ], [ -122.471786999681527, 37.902063000655282 ], [ -122.471383999803109, 37.90212500046502 ], [ -122.471001000090453, 37.901806000294584 ], [ -122.470783999508754, 37.901625000947568 ], [ -122.468984000190858, 37.902725000814407 ], [ -122.469684000416493, 37.901825001045687 ], [ -122.46858399975109, 37.902125000376905 ], [ -122.46858400029565, 37.901325000579178 ], [ -122.46868400006845, 37.900225000676258 ], [ -122.46842199947109, 37.899991000422141 ], [ -122.466253000326489, 37.898055000350276 ], [ -122.465883999451108, 37.897725000630345 ], [ -122.461883000162544, 37.897325000352886 ], [ -122.46101399979085, 37.896109000330227 ], [ -122.460882999510019, 37.895925001081608 ], [ -122.460759999820283, 37.895802001103391 ], [ -122.460443000251914, 37.895485001094215 ], [ -122.460382999984077, 37.895425000760625 ], [ -122.459923000351424, 37.895186000723349 ], [ -122.457883000346342, 37.894125000697812 ], [ -122.456083000104883, 37.893925000410562 ], [ -122.453083000453972, 37.894425000942562 ], [ -122.45248300002909, 37.89382500026781 ], [ -122.449383000162868, 37.894425000649377 ], [ -122.446683000338666, 37.891125000464633 ], [ -122.444483000248212, 37.888226000849642 ], [ -122.444083000049034, 37.886526000919133 ], [ -122.443383000307321, 37.886426001133863 ], [ -122.441882999811128, 37.88492600071767 ], [ -122.441282999664011, 37.885026000682359 ], [ -122.440783000059042, 37.884626000448662 ], [ -122.439383000358049, 37.883126000451007 ], [ -122.438682999491363, 37.883226000368772 ], [ -122.437982999893165, 37.882426000367886 ], [ -122.438782999966179, 37.880326001081102 ], [ -122.441182999596535, 37.881126000985439 ], [ -122.443382999945385, 37.879826000392192 ], [ -122.444082999873444, 37.878926000968114 ], [ -122.443382999403795, 37.877326000484587 ], [ -122.443382999582369, 37.876426000910421 ], [ -122.444682999808663, 37.87582600055984 ], [ -122.446282999393048, 37.875326000957372 ], [ -122.448582999694125, 37.874626001043659 ], [ -122.448783000216906, 37.873526000912221 ], [ -122.449982999686853, 37.872126000940142 ], [ -122.451083000049024, 37.87202600078443 ], [ -122.452483000040857, 37.87262600103314 ], [ -122.452782999572747, 37.871626000755967 ], [ -122.453183000319257, 37.872626000588468 ], [ -122.454782999683857, 37.87272600061727 ], [ -122.455282999527967, 37.873226000825369 ], [ -122.45608300023612, 37.872826000259721 ], [ -122.456982999893128, 37.872626000474611 ], [ -122.457443000207221, 37.872657000647507 ], [ -122.457502000441963, 37.872858000937704 ], [ -122.457682999956688, 37.873038000534123 ], [ -122.457682999565506, 37.872965000682925 ], [ -122.457682999441843, 37.872849000734583 ], [ -122.457734999631171, 37.872849000506143 ], [ -122.457907000471721, 37.872970000708825 ], [ -122.457896999633832, 37.873030001034422 ], [ -122.457997999604046, 37.873082000546233 ], [ -122.45816100020933, 37.873186000992462 ], [ -122.458251999871123, 37.873212000442535 ], [ -122.458322999514621, 37.873281000735872 ], [ -122.458419999903768, 37.873249001104348 ], [ -122.458526999395559, 37.873340000850128 ], [ -122.458612999766117, 37.873600000327869 ], [ -122.458632999632158, 37.873704000399087 ], [ -122.458725000088151, 37.87385300080819 ], [ -122.458838999818838, 37.873846000818766 ], [ -122.458908999576067, 37.873842000823018 ], [ -122.459182999567233, 37.873826000806801 ], [ -122.459783000298202, 37.874326000510997 ], [ -122.459535000063042, 37.874500000976688 ], [ -122.459582999554698, 37.874626000337088 ], [ -122.459882999859616, 37.875326001116882 ], [ -122.459983000001884, 37.87572600036215 ], [ -122.46018300052144, 37.876226001138676 ], [ -122.460582999428269, 37.876326000426438 ], [ -122.461882999962654, 37.877026000359173 ], [ -122.462282999836958, 37.877426000263625 ], [ -122.462483000249293, 37.877626000604401 ], [ -122.463082999995464, 37.878226000461488 ], [ -122.463382999948891, 37.87882600104998 ], [ -122.465383000395406, 37.880826000678518 ], [ -122.466482999970722, 37.881726001050104 ], [ -122.470483000351763, 37.883126000988824 ], [ -122.471983999624641, 37.883926000839018 ], [ -122.471884000156038, 37.883126000557304 ], [ -122.472383999634516, 37.883226000969728 ], [ -122.472683999679035, 37.883426000329841 ], [ -122.473983999934063, 37.884626000550796 ], [ -122.477483999889841, 37.887926001020197 ], [ -122.477984000280003, 37.888326000829878 ], [ -122.47928399996151, 37.888926000365601 ] ] ], [ [ [ -122.418782000231815, 37.853427001120345 ], [ -122.418682000295846, 37.852527000961778 ], [ -122.422482000180992, 37.853927000809733 ], [ -122.425281999972484, 37.854827000824557 ], [ -122.430583000016625, 37.855527000657275 ], [ -122.434282999644552, 37.853627000702218 ], [ -122.436382999407058, 37.853927000716581 ], [ -122.439382999744993, 37.855427000280365 ], [ -122.440883000284359, 37.85512700024529 ], [ -122.442482999828599, 37.856127000719546 ], [ -122.442383000486956, 37.857826000271743 ], [ -122.443582999686797, 37.859426001107863 ], [ -122.444382999525132, 37.85902600043196 ], [ -122.443783000252353, 37.859626001073721 ], [ -122.446282999557326, 37.861026000300747 ], [ -122.44118299963516, 37.86272600052844 ], [ -122.440183000357848, 37.865226000414616 ], [ -122.4386830003603, 37.868326000399684 ], [ -122.43718299970449, 37.866626000761713 ], [ -122.434482999447226, 37.867326000250067 ], [ -122.434982999978558, 37.867926001038683 ], [ -122.434583000329937, 37.8688260010899 ], [ -122.434583000506166, 37.869426000465886 ], [ -122.433448000478393, 37.869852000664253 ], [ -122.43218299954475, 37.870326000645882 ], [ -122.430682999669699, 37.872126000516225 ], [ -122.424683000068654, 37.870526000462057 ], [ -122.422882000299751, 37.867926000933728 ], [ -122.422481999949753, 37.867126000632673 ], [ -122.420381999667825, 37.863426001113467 ], [ -122.419882000047053, 37.860426000628351 ], [ -122.420881999909838, 37.858726000537175 ], [ -122.418782000231815, 37.853427001120345 ] ] ], [ [ [ -122.45648299951462, 37.87202600101358 ], [ -122.456591000006668, 37.872080000687212 ], [ -122.456705000191107, 37.872137000433995 ], [ -122.456742000477249, 37.872244000403327 ], [ -122.456847000417667, 37.872463000421682 ], [ -122.45648299951462, 37.87202600101358 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1442, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.539387000273052, 37.922025000781545 ], [ -122.538487000082682, 37.921425000558266 ], [ -122.53838699955395, 37.920925000766466 ], [ -122.537486999581006, 37.920925001109183 ], [ -122.537386999647225, 37.920425000446748 ], [ -122.534386000324346, 37.918925000382423 ], [ -122.5332859994259, 37.917625000778351 ], [ -122.533186000086985, 37.917925000469346 ], [ -122.531585999446861, 37.917825000376311 ], [ -122.530385999878035, 37.917225000963853 ], [ -122.530186000436785, 37.917025000262974 ], [ -122.529686000236524, 37.916825000351956 ], [ -122.528585999509986, 37.916125000371338 ], [ -122.525685999616485, 37.91682500041086 ], [ -122.52588599997064, 37.916025000978252 ], [ -122.526886000030188, 37.914925000553772 ], [ -122.526385999475224, 37.91362500042203 ], [ -122.526885999532013, 37.912925000307432 ], [ -122.527085999776489, 37.912125000948919 ], [ -122.528085999599384, 37.911525000537054 ], [ -122.527686000431387, 37.911025000912105 ], [ -122.527485999519143, 37.910525000850207 ], [ -122.528486000416834, 37.910125000769106 ], [ -122.528485999574116, 37.908325000994736 ], [ -122.527885999651645, 37.907825000772668 ], [ -122.528185999504515, 37.907425000569745 ], [ -122.529186000173027, 37.906925000741488 ], [ -122.528285999481341, 37.905925000921023 ], [ -122.527685999847463, 37.905525001132418 ], [ -122.527403000489528, 37.904279000922799 ], [ -122.5271859997668, 37.903325000438727 ], [ -122.527985999991515, 37.902225000813154 ], [ -122.528518000334159, 37.900782000595548 ], [ -122.528686000324782, 37.900325000738263 ], [ -122.528876000089326, 37.899993000424658 ], [ -122.529085999439673, 37.899625000841702 ], [ -122.530286000054218, 37.896525001006381 ], [ -122.530286000005191, 37.895026000983243 ], [ -122.530086000366751, 37.89282600035704 ], [ -122.530686000529784, 37.893226000252746 ], [ -122.531486000138685, 37.891826000551632 ], [ -122.532985999910878, 37.892326001021949 ], [ -122.53228600011434, 37.892926000693059 ], [ -122.532048000276902, 37.892807000858106 ], [ -122.531602999614989, 37.893700000918912 ], [ -122.533664000248336, 37.894830000819212 ], [ -122.534385999974631, 37.895226000939793 ], [ -122.535086000274291, 37.894926000758822 ], [ -122.535785999904448, 37.895026000914093 ], [ -122.536985999593725, 37.895126000770823 ], [ -122.537586000030643, 37.895626000635865 ], [ -122.538385999822083, 37.896426000454817 ], [ -122.538786000032331, 37.896725000581213 ], [ -122.538885999548341, 37.898025000857814 ], [ -122.540286999716656, 37.899225000418078 ], [ -122.541287000061232, 37.899425000804598 ], [ -122.542586999568499, 37.900325000320819 ], [ -122.543286999967918, 37.900525000937073 ], [ -122.542686999803109, 37.900925000919351 ], [ -122.541686999640689, 37.901525000964156 ], [ -122.541386999678537, 37.901325000714642 ], [ -122.540687000077909, 37.901925000721022 ], [ -122.540486999753597, 37.902225000324627 ], [ -122.541386999697309, 37.903225000613482 ], [ -122.541387000195513, 37.903825000788558 ], [ -122.542286999470605, 37.904125000350938 ], [ -122.542086999973534, 37.905025000829504 ], [ -122.544086999969892, 37.905125000836513 ], [ -122.544086999691785, 37.905925000569582 ], [ -122.54418700033996, 37.906725000851083 ], [ -122.544186999745179, 37.907225000899629 ], [ -122.547087000315358, 37.90732500079389 ], [ -122.547387000116728, 37.907925001046493 ], [ -122.547787000498829, 37.907925000964617 ], [ -122.548086999932039, 37.909025000257571 ], [ -122.549286999927347, 37.911125000752257 ], [ -122.551086999772693, 37.912325000444604 ], [ -122.551486999565171, 37.913125000325245 ], [ -122.552386999632716, 37.914825000905097 ], [ -122.553087000364982, 37.916325000713073 ], [ -122.553588000249277, 37.91752500032036 ], [ -122.553388000286063, 37.918225000851713 ], [ -122.553887999658301, 37.918625000475913 ], [ -122.554187999499788, 37.919425000733924 ], [ -122.554987999508143, 37.920625000409096 ], [ -122.555787999536221, 37.921925000392363 ], [ -122.556888000218052, 37.922625000458588 ], [ -122.55748799959656, 37.923325000281359 ], [ -122.558887999916024, 37.925425001084122 ], [ -122.560487999681769, 37.929025000939887 ], [ -122.560383999592403, 37.929295000768121 ], [ -122.559987999431002, 37.930324001071575 ], [ -122.559380000051021, 37.929919000804873 ], [ -122.559088000392009, 37.929724000858712 ], [ -122.55858800026823, 37.930524000578643 ], [ -122.557087999430777, 37.929124001048962 ], [ -122.555488000316231, 37.927825001043203 ], [ -122.554887999732173, 37.927125000521265 ], [ -122.554100000210084, 37.926425000317316 ], [ -122.553987999958068, 37.926325000859372 ], [ -122.552987999617557, 37.926025000608547 ], [ -122.551487000124794, 37.925325000572471 ], [ -122.549687000063372, 37.92462500029157 ], [ -122.549186999567084, 37.923625000235894 ], [ -122.548486999881391, 37.924025000724271 ], [ -122.548687000487348, 37.924925000444084 ], [ -122.547887000020282, 37.925625000732339 ], [ -122.546686999650746, 37.925725000324732 ], [ -122.546187000487336, 37.925525000256158 ], [ -122.546387000385891, 37.924825000430396 ], [ -122.545187000432136, 37.924725001028811 ], [ -122.544586999682224, 37.924125000640785 ], [ -122.5442870000374, 37.923325001091918 ], [ -122.542986999838845, 37.923725000740674 ], [ -122.542786999598022, 37.923125000813613 ], [ -122.541686999419653, 37.922425000903111 ], [ -122.541387000080533, 37.922025001117909 ], [ -122.540887000022749, 37.921925000599629 ], [ -122.539601999425784, 37.922011000465339 ], [ -122.539387000273052, 37.922025000781545 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1443, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.520884999540215, 37.88452600036878 ], [ -122.52058499999724, 37.883826000263852 ], [ -122.52158499945574, 37.884526000891789 ], [ -122.523384999390188, 37.886026000817253 ], [ -122.52458499979133, 37.886626000289333 ], [ -122.52498499969829, 37.886826000997146 ], [ -122.525985999650487, 37.887726000772609 ], [ -122.52658599998054, 37.889126000900561 ], [ -122.527086000427303, 37.889626001082902 ], [ -122.52928599993821, 37.89042600094627 ], [ -122.532186000446501, 37.891226001011695 ], [ -122.531486000138685, 37.891826000551632 ], [ -122.530686000529784, 37.893226000252746 ], [ -122.530086000366751, 37.89282600035704 ], [ -122.530286000005191, 37.895026000983243 ], [ -122.530286000054218, 37.896525001006381 ], [ -122.529085999439673, 37.899625000841702 ], [ -122.528876000089326, 37.899993000424658 ], [ -122.528686000324782, 37.900325000738263 ], [ -122.528518000334159, 37.900782000595548 ], [ -122.527985999991515, 37.902225000813154 ], [ -122.5271859997668, 37.903325000438727 ], [ -122.527403000489528, 37.904279000922799 ], [ -122.527685999847463, 37.905525001132418 ], [ -122.528285999481341, 37.905925000921023 ], [ -122.529186000173027, 37.906925000741488 ], [ -122.528185999504515, 37.907425000569745 ], [ -122.527885999651645, 37.907825000772668 ], [ -122.528485999574116, 37.908325000994736 ], [ -122.528486000416834, 37.910125000769106 ], [ -122.527485999519143, 37.910525000850207 ], [ -122.527686000431387, 37.911025000912105 ], [ -122.528085999599384, 37.911525000537054 ], [ -122.527085999776489, 37.912125000948919 ], [ -122.526885999532013, 37.912925000307432 ], [ -122.526385999475224, 37.91362500042203 ], [ -122.526886000030188, 37.914925000553772 ], [ -122.52588599997064, 37.916025000978252 ], [ -122.525685999616485, 37.91682500041086 ], [ -122.522368000066606, 37.91713200075727 ], [ -122.520286000521835, 37.917325000953419 ], [ -122.518686000458615, 37.917725000909591 ], [ -122.518384999721874, 37.916925000566081 ], [ -122.517884999426457, 37.916025000420596 ], [ -122.51588499958747, 37.912325000452029 ], [ -122.515758000515916, 37.91175200029052 ], [ -122.515685000249917, 37.911425000981453 ], [ -122.515484999967939, 37.910925000603314 ], [ -122.514256999828532, 37.908985000966474 ], [ -122.5143849994937, 37.908625000842186 ], [ -122.514402000158483, 37.908525000986764 ], [ -122.51451800031721, 37.908017000715809 ], [ -122.51464799982476, 37.907447001063836 ], [ -122.51547099985946, 37.90485400026359 ], [ -122.515585000125299, 37.904125000507975 ], [ -122.515684999496983, 37.903125000472585 ], [ -122.515757999598421, 37.902644001040912 ], [ -122.515784999466334, 37.90202500036623 ], [ -122.515884999573075, 37.900825001031315 ], [ -122.51587900000392, 37.899217000516366 ], [ -122.515885000486875, 37.89812500040555 ], [ -122.516484999392119, 37.891126000713335 ], [ -122.516551999530719, 37.890070000508949 ], [ -122.516584999446295, 37.889426001081596 ], [ -122.516663000285504, 37.888040000717659 ], [ -122.516684999757757, 37.887126000486234 ], [ -122.516784999576274, 37.885826000783545 ], [ -122.517285000342298, 37.886026000921809 ], [ -122.518485000153277, 37.887226000723047 ], [ -122.519785000081725, 37.889426000950714 ], [ -122.519284999708191, 37.889726000842032 ], [ -122.518685000316125, 37.889226000481045 ], [ -122.517884999987473, 37.890626000650037 ], [ -122.517885000033786, 37.892126000660411 ], [ -122.518585000497126, 37.892426000255959 ], [ -122.520085000365469, 37.890926000857036 ], [ -122.519384999956159, 37.890126000999587 ], [ -122.519650000476247, 37.889914001134606 ], [ -122.51988500037443, 37.889726000675118 ], [ -122.522384999610395, 37.891726000803033 ], [ -122.52188499982671, 37.892326000800303 ], [ -122.522185000059821, 37.892626000351918 ], [ -122.523184999931772, 37.893226000237469 ], [ -122.523084999689317, 37.893826000613323 ], [ -122.523092999580172, 37.893850000356338 ], [ -122.523486000147784, 37.895026000982035 ], [ -122.524885999828086, 37.896425000602058 ], [ -122.525085999905187, 37.894326000529006 ], [ -122.523784999669246, 37.891926000970052 ], [ -122.525085999531285, 37.892026000613022 ], [ -122.524986000123974, 37.891726000856295 ], [ -122.524886000458963, 37.891326000974495 ], [ -122.52248500005193, 37.890926000770548 ], [ -122.522985000439689, 37.88722600059566 ], [ -122.520884999540215, 37.88452600036878 ] ] ], [ [ [ -122.52058499999724, 37.883826000263852 ], [ -122.51988499990226, 37.883826001021717 ], [ -122.518662000123655, 37.882848000300591 ], [ -122.51838499953395, 37.88262600110756 ], [ -122.51708499989671, 37.882526000312566 ], [ -122.51718500036128, 37.881226001028274 ], [ -122.518960999799546, 37.8825840004546 ], [ -122.52058499999724, 37.883826000263852 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1452, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.549286999927347, 37.911125000752257 ], [ -122.548086999932039, 37.909025000257571 ], [ -122.547787000498829, 37.907925000964617 ], [ -122.547387000116728, 37.907925001046493 ], [ -122.547087000315358, 37.90732500079389 ], [ -122.544186999745179, 37.907225000899629 ], [ -122.54418700033996, 37.906725000851083 ], [ -122.544086999691785, 37.905925000569582 ], [ -122.544086999969892, 37.905125000836513 ], [ -122.542086999973534, 37.905025000829504 ], [ -122.542286999470605, 37.904125000350938 ], [ -122.541387000195513, 37.903825000788558 ], [ -122.541386999697309, 37.903225000613482 ], [ -122.540486999753597, 37.902225000324627 ], [ -122.540687000077909, 37.901925000721022 ], [ -122.541386999678537, 37.901325000714642 ], [ -122.541686999640689, 37.901525000964156 ], [ -122.542686999803109, 37.900925000919351 ], [ -122.543286999967918, 37.900525000937073 ], [ -122.542586999568499, 37.900325000320819 ], [ -122.541287000061232, 37.899425000804598 ], [ -122.540286999716656, 37.899225000418078 ], [ -122.538885999548341, 37.898025000857814 ], [ -122.538786000032331, 37.896725000581213 ], [ -122.538385999822083, 37.896426000454817 ], [ -122.538785999480083, 37.896226001076002 ], [ -122.539486000516874, 37.89652500042925 ], [ -122.54028600018043, 37.896925000877083 ], [ -122.541887000485389, 37.896725000287226 ], [ -122.542130000034362, 37.89691400083769 ], [ -122.542787000483429, 37.89742500064078 ], [ -122.542786999965486, 37.898525000390343 ], [ -122.543387000372576, 37.898825000384178 ], [ -122.54320200032231, 37.898851000677361 ], [ -122.542686999867058, 37.898925000235657 ], [ -122.542663000111602, 37.899114000297104 ], [ -122.542587000404524, 37.8997250006719 ], [ -122.543587000080677, 37.899825000510177 ], [ -122.543794000372046, 37.899881000290733 ], [ -122.544686999714585, 37.900125000973851 ], [ -122.54518699997719, 37.900125000728728 ], [ -122.546687000231756, 37.899925000854289 ], [ -122.548486999398293, 37.900325000727996 ], [ -122.549286999458559, 37.900525000447338 ], [ -122.549909000196152, 37.900714000666987 ], [ -122.551586999907684, 37.901225000637474 ], [ -122.554086999901926, 37.901325001104368 ], [ -122.554366999437505, 37.901418000261927 ], [ -122.554687000498404, 37.901525000350127 ], [ -122.555387000049535, 37.902025001037089 ], [ -122.556804000474486, 37.902590000817092 ], [ -122.558356000489454, 37.903208000692814 ], [ -122.558387999778049, 37.902125000810052 ], [ -122.558667999895761, 37.901798000897386 ], [ -122.558988000031434, 37.901425000982215 ], [ -122.559237000255735, 37.901456000977809 ], [ -122.559367000489857, 37.901472000858988 ], [ -122.559788000495615, 37.90152500061955 ], [ -122.559979000382668, 37.901397000346819 ], [ -122.559908999995471, 37.90132100072023 ], [ -122.560202999577768, 37.901014000575763 ], [ -122.560364999790309, 37.901119000479568 ], [ -122.560130000010119, 37.901277000727355 ], [ -122.560328000399124, 37.901524000503755 ], [ -122.56062799995712, 37.90130200065736 ], [ -122.560783999639895, 37.901458000997835 ], [ -122.561008999989795, 37.901495000467406 ], [ -122.56118800004738, 37.901525000687819 ], [ -122.561687999822084, 37.901525000667696 ], [ -122.562248999930006, 37.901474000996046 ], [ -122.562280000004009, 37.901837000729955 ], [ -122.562411999967736, 37.901839000309408 ], [ -122.562492999687464, 37.901840000819028 ], [ -122.562562000134136, 37.902141000771849 ], [ -122.562487999605437, 37.902225000750377 ], [ -122.562788000371427, 37.902325000546263 ], [ -122.563047999529985, 37.902429000665684 ], [ -122.562871999595657, 37.902733000478818 ], [ -122.563232999631353, 37.902892001134902 ], [ -122.564278000091065, 37.902431000657892 ], [ -122.564207999920441, 37.902122000784424 ], [ -122.564412999461297, 37.902032000632921 ], [ -122.56488799944421, 37.901825000505376 ], [ -122.56478799970219, 37.902725001043535 ], [ -122.56428799966514, 37.903325000479029 ], [ -122.564687999406175, 37.903425000535769 ], [ -122.565588000175183, 37.903125000855297 ], [ -122.565688000486404, 37.903625001070488 ], [ -122.566288000103185, 37.903725000745432 ], [ -122.566578000456772, 37.903841000749523 ], [ -122.566757000156926, 37.903912000681956 ], [ -122.566769000040921, 37.903916000649325 ], [ -122.566788000341063, 37.903925000646893 ], [ -122.566588000511459, 37.904825000269575 ], [ -122.566845999488848, 37.904980000807889 ], [ -122.566951000352574, 37.905043000361843 ], [ -122.567026999964085, 37.90508900101144 ], [ -122.567087999838634, 37.905125000617367 ], [ -122.567088000205771, 37.905595000579069 ], [ -122.567087999572891, 37.905725001115272 ], [ -122.567788000293234, 37.90562500054213 ], [ -122.568188000237598, 37.906125001037587 ], [ -122.569687999813723, 37.905725000524697 ], [ -122.570387999667361, 37.907025000598843 ], [ -122.571616999560518, 37.906948000963858 ], [ -122.571988000281195, 37.90692500031053 ], [ -122.572988000338228, 37.907225000971813 ], [ -122.574289000276295, 37.907725000502879 ], [ -122.57538900025601, 37.908725001101374 ], [ -122.577089000331952, 37.909925000766727 ], [ -122.576808999750966, 37.910154001008074 ], [ -122.576667000056446, 37.910282000980658 ], [ -122.576505000330712, 37.910372000406511 ], [ -122.576322000158214, 37.9104620006228 ], [ -122.57612999999769, 37.91055200058674 ], [ -122.575896000134975, 37.910667000513115 ], [ -122.575488999594015, 37.910825000717345 ], [ -122.573288999738423, 37.911225000286755 ], [ -122.573188999409183, 37.911925000752142 ], [ -122.573689000076428, 37.912025000237101 ], [ -122.573318999996289, 37.912818000684332 ], [ -122.572988999456044, 37.913525000801123 ], [ -122.571434999571267, 37.91313700050928 ], [ -122.570987999548564, 37.91302500092948 ], [ -122.570788000339988, 37.913625000648551 ], [ -122.569887999607317, 37.913625000244231 ], [ -122.569387999488882, 37.913925000950137 ], [ -122.567887999961258, 37.914225000499705 ], [ -122.568287999966444, 37.915825001116076 ], [ -122.567288000131896, 37.915925000318822 ], [ -122.566687999455127, 37.916725000728889 ], [ -122.566387999872759, 37.917425000729544 ], [ -122.56768800020788, 37.918225000572981 ], [ -122.569942999464942, 37.919459000899302 ], [ -122.569687999911267, 37.919525000843912 ], [ -122.569688000478791, 37.920825000441219 ], [ -122.569687999904829, 37.921225000950294 ], [ -122.56798799950991, 37.920925000721702 ], [ -122.567088000113117, 37.920325000471223 ], [ -122.564988000359975, 37.919725000883602 ], [ -122.563988000068264, 37.919725001000565 ], [ -122.562688000072498, 37.918225000505792 ], [ -122.562987999615302, 37.919925000983504 ], [ -122.562188000212643, 37.920425001094692 ], [ -122.562088000470993, 37.921325000868798 ], [ -122.564187999527377, 37.921425000677651 ], [ -122.564587999878839, 37.922625000682636 ], [ -122.561987999626666, 37.923425000374969 ], [ -122.562487999958677, 37.924225000478415 ], [ -122.563387999578325, 37.92442500110451 ], [ -122.562587999484862, 37.925225000392871 ], [ -122.560087999631392, 37.92502500085935 ], [ -122.560288000519776, 37.926025000458544 ], [ -122.560088000103946, 37.926925000648019 ], [ -122.560687999752261, 37.927825000900199 ], [ -122.560487999681769, 37.929025000939887 ], [ -122.558887999916024, 37.925425001084122 ], [ -122.55748799959656, 37.923325000281359 ], [ -122.556888000218052, 37.922625000458588 ], [ -122.555787999536221, 37.921925000392363 ], [ -122.554987999508143, 37.920625000409096 ], [ -122.554187999499788, 37.919425000733924 ], [ -122.553887999658301, 37.918625000475913 ], [ -122.553388000286063, 37.918225000851713 ], [ -122.553588000249277, 37.91752500032036 ], [ -122.553087000364982, 37.916325000713073 ], [ -122.552386999632716, 37.914825000905097 ], [ -122.551486999565171, 37.913125000325245 ], [ -122.551086999772693, 37.912325000444604 ], [ -122.549286999927347, 37.911125000752257 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1450, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.518240000409378, 37.880195001066816 ], [ -122.517185000266508, 37.88022600104825 ], [ -122.517145000290057, 37.880109000515475 ], [ -122.517073999404133, 37.879978000887121 ], [ -122.516992999891684, 37.87979200068964 ], [ -122.516810000080199, 37.87952400061625 ], [ -122.516618000059665, 37.879311000314502 ], [ -122.516445000327465, 37.879163001124006 ], [ -122.516304000421741, 37.879038000954935 ], [ -122.516184999761933, 37.878926000354475 ], [ -122.515870000038774, 37.878746000931706 ], [ -122.515607000048462, 37.878581000466006 ], [ -122.514338999851802, 37.878008000308363 ], [ -122.512584999650656, 37.877326000911317 ], [ -122.512332000240647, 37.877196000489036 ], [ -122.512096000432408, 37.877033000348106 ], [ -122.511956999741443, 37.876914000499156 ], [ -122.509784000024709, 37.874926000519451 ], [ -122.508483999699905, 37.873726000445131 ], [ -122.508359999928828, 37.873198000687047 ], [ -122.508543000136967, 37.872461000948377 ], [ -122.508524999555775, 37.8723560008101 ], [ -122.508426999683678, 37.872260000554313 ], [ -122.508848000251533, 37.872253000541363 ], [ -122.509013000528256, 37.872272000494107 ], [ -122.509654999651872, 37.872345001001328 ], [ -122.510106999896294, 37.872417000280812 ], [ -122.510322999694736, 37.87254500037983 ], [ -122.510383999736405, 37.872581000587573 ], [ -122.510647000443441, 37.872919000474134 ], [ -122.510730000513135, 37.873334000818055 ], [ -122.510755999402974, 37.873496000595239 ], [ -122.510808999771967, 37.87382800063024 ], [ -122.510883999684964, 37.874537000837094 ], [ -122.510891999921711, 37.874764000616572 ], [ -122.511049000390585, 37.874981001063645 ], [ -122.511984999855855, 37.87542600028403 ], [ -122.513184999525095, 37.875826000469047 ], [ -122.514984999409748, 37.875826001126789 ], [ -122.515985000036551, 37.875826000318249 ], [ -122.517685000325145, 37.876226001123591 ], [ -122.518284999452206, 37.876226000698857 ], [ -122.518389999628795, 37.87621100090356 ], [ -122.518946999403298, 37.876133001054086 ], [ -122.519284999539536, 37.875726000282803 ], [ -122.519285000489049, 37.873826000250986 ], [ -122.519228000317256, 37.873194001084293 ], [ -122.519318999731837, 37.872683000239228 ], [ -122.519518000420504, 37.872042000987818 ], [ -122.519884000086876, 37.871523000382652 ], [ -122.52000600028758, 37.871157000532037 ], [ -122.520142999566445, 37.870913000609036 ], [ -122.520433000192227, 37.870631000325773 ], [ -122.520555000439956, 37.870394000501769 ], [ -122.520646999472206, 37.870173000889167 ], [ -122.520284999750032, 37.869126000656586 ], [ -122.518584999720616, 37.868126000722 ], [ -122.512983999949327, 37.863427000421112 ], [ -122.511183999388962, 37.862727001058701 ], [ -122.5106839999046, 37.861727000692973 ], [ -122.509584000234156, 37.860427000240904 ], [ -122.511284000002803, 37.859427000763503 ], [ -122.510984000372588, 37.858327000463774 ], [ -122.512083999970386, 37.857627001051483 ], [ -122.507283999565885, 37.855627000791465 ], [ -122.508083999539295, 37.855827001049761 ], [ -122.511384000196571, 37.854927000534822 ], [ -122.514183999741832, 37.857027001075785 ], [ -122.518385000438371, 37.856327000844296 ], [ -122.5214849999698, 37.856327000350483 ], [ -122.524885000451761, 37.854727000457729 ], [ -122.524185000513413, 37.852327000778899 ], [ -122.525785000140999, 37.85002700069267 ], [ -122.526384999612731, 37.850027000781978 ], [ -122.527585000470452, 37.850427001032074 ], [ -122.528384999647358, 37.851427000888201 ], [ -122.530385000305571, 37.852527000847218 ], [ -122.533185999669186, 37.853827000743244 ], [ -122.53238599958361, 37.85562700046475 ], [ -122.533785999806739, 37.856127000324605 ], [ -122.534885999812644, 37.857027000255677 ], [ -122.533285999998498, 37.857727000989463 ], [ -122.533185999691327, 37.858327000372 ], [ -122.533085999875496, 37.858827000804041 ], [ -122.534286000296291, 37.858927001121032 ], [ -122.533986000144807, 37.859527000319822 ], [ -122.534585999691686, 37.860127000243118 ], [ -122.535085999876415, 37.861227000832407 ], [ -122.53448599945304, 37.862227000883401 ], [ -122.535085999590905, 37.862327000715275 ], [ -122.535785999510338, 37.86172700030275 ], [ -122.53678600007251, 37.86192700099776 ], [ -122.53868599985573, 37.865027000932926 ], [ -122.537186000005832, 37.865926000432133 ], [ -122.538085999537145, 37.866926001102563 ], [ -122.53858599955835, 37.868526000762351 ], [ -122.540186000264129, 37.870126000710535 ], [ -122.543185999836282, 37.87052600054573 ], [ -122.543885999780187, 37.870026001061248 ], [ -122.54438600013053, 37.869526000498006 ], [ -122.545685999454733, 37.867926000489653 ], [ -122.547386999973469, 37.867426000330283 ], [ -122.548187000221517, 37.86762600052203 ], [ -122.548786999714636, 37.867026000893546 ], [ -122.549186999907761, 37.867326000661791 ], [ -122.54968699940045, 37.867226000947298 ], [ -122.551186999507294, 37.867426000689264 ], [ -122.551187000075345, 37.867726000450944 ], [ -122.549786999646258, 37.868826000335311 ], [ -122.548886999597144, 37.869026000311777 ], [ -122.549486999399534, 37.86932600080852 ], [ -122.550986999450117, 37.869126000270448 ], [ -122.550807000058597, 37.869486000794858 ], [ -122.550486999937888, 37.870126000777717 ], [ -122.551286999778284, 37.870426001110403 ], [ -122.551486999728823, 37.870726000275923 ], [ -122.55208699954116, 37.871526000618552 ], [ -122.551486999880112, 37.872226000803224 ], [ -122.550986999859333, 37.872926000689532 ], [ -122.551586999544952, 37.874526000293869 ], [ -122.552086999589648, 37.876626000990328 ], [ -122.553186999780181, 37.879126000433622 ], [ -122.553287000061104, 37.884226000800439 ], [ -122.552986999868722, 37.884526001105314 ], [ -122.551798000013889, 37.88714100079099 ], [ -122.551646000071656, 37.887262001101448 ], [ -122.551512000283864, 37.88732200037505 ], [ -122.550886999897088, 37.887326000605242 ], [ -122.547986999826634, 37.886926000793686 ], [ -122.547186999483031, 37.887626000945971 ], [ -122.545586999565572, 37.887626000499473 ], [ -122.544887000464868, 37.888026000854239 ], [ -122.544139999873536, 37.887465001108737 ], [ -122.543686999467283, 37.887126001115774 ], [ -122.542085999658326, 37.886026000563788 ], [ -122.541585999597999, 37.886526000453564 ], [ -122.541686000397931, 37.887026000375414 ], [ -122.541386000009609, 37.8880260006935 ], [ -122.540485999450496, 37.887326000556136 ], [ -122.539785999751388, 37.88632600084604 ], [ -122.538486000508868, 37.886126000809668 ], [ -122.537386000071194, 37.886326000764228 ], [ -122.537161999991099, 37.886538001071898 ], [ -122.536976999656588, 37.886713000951708 ], [ -122.535486000166387, 37.888126000289326 ], [ -122.53528600000989, 37.888826000348232 ], [ -122.534986000119829, 37.889426000568932 ], [ -122.53478600028977, 37.889526000882213 ], [ -122.534086000350399, 37.889626000412441 ], [ -122.533386000365041, 37.889126000645327 ], [ -122.532585999494472, 37.888826000950338 ], [ -122.532585999638016, 37.888126001134651 ], [ -122.532285999548321, 37.887626000533267 ], [ -122.531585999812037, 37.88722600091161 ], [ -122.53008600031184, 37.887426000412361 ], [ -122.529386000395661, 37.887226000576128 ], [ -122.529486000104953, 37.887026000802976 ], [ -122.527785999813048, 37.885626000520652 ], [ -122.526585999930788, 37.885826000367672 ], [ -122.527386000034895, 37.884526000788462 ], [ -122.527486000281385, 37.884326000827173 ], [ -122.526586000518918, 37.884326000993816 ], [ -122.525785000074464, 37.884126000748068 ], [ -122.524685000230818, 37.883826000302136 ], [ -122.52458500014022, 37.882426000686465 ], [ -122.524685000015765, 37.881926000694278 ], [ -122.524584999535364, 37.881626001021999 ], [ -122.523384999899022, 37.879526000840336 ], [ -122.522884999660235, 37.879126000782797 ], [ -122.522384999521933, 37.879026001077236 ], [ -122.522025999466109, 37.879082001114604 ], [ -122.521806999668698, 37.879235000769476 ], [ -122.52153600023307, 37.879592000895393 ], [ -122.521097000222611, 37.880122000409749 ], [ -122.520632999812108, 37.880356000365737 ], [ -122.520156000294534, 37.880458000506714 ], [ -122.519285000298325, 37.880426000313044 ], [ -122.518240000409378, 37.880195001066816 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1451, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.566588000511459, 37.904825000269575 ], [ -122.566788000341063, 37.903925000646893 ], [ -122.566769000040921, 37.903916000649325 ], [ -122.566757000156926, 37.903912000681956 ], [ -122.566578000456772, 37.903841000749523 ], [ -122.566288000103185, 37.903725000745432 ], [ -122.565688000486404, 37.903625001070488 ], [ -122.565588000175183, 37.903125000855297 ], [ -122.564687999406175, 37.903425000535769 ], [ -122.56428799966514, 37.903325000479029 ], [ -122.56478799970219, 37.902725001043535 ], [ -122.56488799944421, 37.901825000505376 ], [ -122.564412999461297, 37.902032000632921 ], [ -122.564207999920441, 37.902122000784424 ], [ -122.564278000091065, 37.902431000657892 ], [ -122.563232999631353, 37.902892001134902 ], [ -122.562871999595657, 37.902733000478818 ], [ -122.563047999529985, 37.902429000665684 ], [ -122.562788000371427, 37.902325000546263 ], [ -122.562487999605437, 37.902225000750377 ], [ -122.562562000134136, 37.902141000771849 ], [ -122.562492999687464, 37.901840000819028 ], [ -122.562411999967736, 37.901839000309408 ], [ -122.562280000004009, 37.901837000729955 ], [ -122.562248999930006, 37.901474000996046 ], [ -122.561687999822084, 37.901525000667696 ], [ -122.56118800004738, 37.901525000687819 ], [ -122.561008999989795, 37.901495000467406 ], [ -122.560783999639895, 37.901458000997835 ], [ -122.56062799995712, 37.90130200065736 ], [ -122.560328000399124, 37.901524000503755 ], [ -122.560130000010119, 37.901277000727355 ], [ -122.560364999790309, 37.901119000479568 ], [ -122.560202999577768, 37.901014000575763 ], [ -122.559908999995471, 37.90132100072023 ], [ -122.559979000382668, 37.901397000346819 ], [ -122.559788000495615, 37.90152500061955 ], [ -122.559367000489857, 37.901472000858988 ], [ -122.559237000255735, 37.901456000977809 ], [ -122.558988000031434, 37.901425000982215 ], [ -122.558667999895761, 37.901798000897386 ], [ -122.558387999778049, 37.902125000810052 ], [ -122.558356000489454, 37.903208000692814 ], [ -122.556804000474486, 37.902590000817092 ], [ -122.555387000049535, 37.902025001037089 ], [ -122.554687000498404, 37.901525000350127 ], [ -122.554366999437505, 37.901418000261927 ], [ -122.554086999901926, 37.901325001104368 ], [ -122.551586999907684, 37.901225000637474 ], [ -122.549909000196152, 37.900714000666987 ], [ -122.549286999458559, 37.900525000447338 ], [ -122.548486999398293, 37.900325000727996 ], [ -122.546687000231756, 37.899925000854289 ], [ -122.54518699997719, 37.900125000728728 ], [ -122.544686999714585, 37.900125000973851 ], [ -122.543794000372046, 37.899881000290733 ], [ -122.543587000080677, 37.899825000510177 ], [ -122.542587000404524, 37.8997250006719 ], [ -122.542663000111602, 37.899114000297104 ], [ -122.542686999867058, 37.898925000235657 ], [ -122.54320200032231, 37.898851000677361 ], [ -122.543387000372576, 37.898825000384178 ], [ -122.542786999965486, 37.898525000390343 ], [ -122.542787000483429, 37.89742500064078 ], [ -122.542130000034362, 37.89691400083769 ], [ -122.541887000485389, 37.896725000287226 ], [ -122.54028600018043, 37.896925000877083 ], [ -122.539486000516874, 37.89652500042925 ], [ -122.538785999480083, 37.896226001076002 ], [ -122.538385999822083, 37.896426000454817 ], [ -122.537586000030643, 37.895626000635865 ], [ -122.536985999593725, 37.895126000770823 ], [ -122.535785999904448, 37.895026000914093 ], [ -122.535086000274291, 37.894926000758822 ], [ -122.534385999974631, 37.895226000939793 ], [ -122.533664000248336, 37.894830000819212 ], [ -122.531602999614989, 37.893700000918912 ], [ -122.532048000276902, 37.892807000858106 ], [ -122.53228600011434, 37.892926000693059 ], [ -122.532985999910878, 37.892326001021949 ], [ -122.531486000138685, 37.891826000551632 ], [ -122.532186000446501, 37.891226001011695 ], [ -122.52928599993821, 37.89042600094627 ], [ -122.527086000427303, 37.889626001082902 ], [ -122.52658599998054, 37.889126000900561 ], [ -122.525985999650487, 37.887726000772609 ], [ -122.52498499969829, 37.886826000997146 ], [ -122.52458499979133, 37.886626000289333 ], [ -122.523384999390188, 37.886026000817253 ], [ -122.52158499945574, 37.884526000891789 ], [ -122.52058499999724, 37.883826000263852 ], [ -122.518960999799546, 37.8825840004546 ], [ -122.51718500036128, 37.881226001028274 ], [ -122.517185000266508, 37.88022600104825 ], [ -122.518240000409378, 37.880195001066816 ], [ -122.519285000298325, 37.880426000313044 ], [ -122.520156000294534, 37.880458000506714 ], [ -122.520632999812108, 37.880356000365737 ], [ -122.521097000222611, 37.880122000409749 ], [ -122.52153600023307, 37.879592000895393 ], [ -122.521806999668698, 37.879235000769476 ], [ -122.522025999466109, 37.879082001114604 ], [ -122.522384999521933, 37.879026001077236 ], [ -122.522884999660235, 37.879126000782797 ], [ -122.523384999899022, 37.879526000840336 ], [ -122.524584999535364, 37.881626001021999 ], [ -122.524685000015765, 37.881926000694278 ], [ -122.52458500014022, 37.882426000686465 ], [ -122.524685000230818, 37.883826000302136 ], [ -122.525785000074464, 37.884126000748068 ], [ -122.526586000518918, 37.884326000993816 ], [ -122.527486000281385, 37.884326000827173 ], [ -122.527386000034895, 37.884526000788462 ], [ -122.526585999930788, 37.885826000367672 ], [ -122.527785999813048, 37.885626000520652 ], [ -122.529486000104953, 37.887026000802976 ], [ -122.529386000395661, 37.887226000576128 ], [ -122.53008600031184, 37.887426000412361 ], [ -122.531585999812037, 37.88722600091161 ], [ -122.532285999548321, 37.887626000533267 ], [ -122.532585999638016, 37.888126001134651 ], [ -122.532585999494472, 37.888826000950338 ], [ -122.533386000365041, 37.889126000645327 ], [ -122.534086000350399, 37.889626000412441 ], [ -122.53478600028977, 37.889526000882213 ], [ -122.534986000119829, 37.889426000568932 ], [ -122.53528600000989, 37.888826000348232 ], [ -122.535486000166387, 37.888126000289326 ], [ -122.536976999656588, 37.886713000951708 ], [ -122.537161999991099, 37.886538001071898 ], [ -122.537386000071194, 37.886326000764228 ], [ -122.538486000508868, 37.886126000809668 ], [ -122.539785999751388, 37.88632600084604 ], [ -122.540485999450496, 37.887326000556136 ], [ -122.541386000009609, 37.8880260006935 ], [ -122.541686000397931, 37.887026000375414 ], [ -122.541585999597999, 37.886526000453564 ], [ -122.542085999658326, 37.886026000563788 ], [ -122.543686999467283, 37.887126001115774 ], [ -122.544139999873536, 37.887465001108737 ], [ -122.544887000464868, 37.888026000854239 ], [ -122.545586999565572, 37.887626000499473 ], [ -122.547186999483031, 37.887626000945971 ], [ -122.547986999826634, 37.886926000793686 ], [ -122.550886999897088, 37.887326000605242 ], [ -122.551512000283864, 37.88732200037505 ], [ -122.551646000071656, 37.887262001101448 ], [ -122.551798000013889, 37.88714100079099 ], [ -122.552986999868722, 37.884526001105314 ], [ -122.553287000061104, 37.884226000800439 ], [ -122.554187000471032, 37.883526001102965 ], [ -122.554486999614994, 37.884526000990732 ], [ -122.554687000368631, 37.885326000724362 ], [ -122.554386999637856, 37.887626000612606 ], [ -122.555087000221079, 37.889326000634924 ], [ -122.556186999467755, 37.890326000444389 ], [ -122.556187000316555, 37.892026000993148 ], [ -122.557286999456167, 37.893426000544864 ], [ -122.558186999566772, 37.894026000876323 ], [ -122.558688000027061, 37.895626000560533 ], [ -122.55998799970196, 37.896126000551448 ], [ -122.560287999548436, 37.896726000751684 ], [ -122.561387999844072, 37.897625000237063 ], [ -122.562388000423681, 37.898125000981551 ], [ -122.562288000351799, 37.898925000771342 ], [ -122.562488000522094, 37.899425000873464 ], [ -122.562755000523708, 37.89978100112188 ], [ -122.562787999898831, 37.899825000732427 ], [ -122.563187999866102, 37.899825000474053 ], [ -122.564187999574628, 37.90022500024866 ], [ -122.564387999860799, 37.900325000629444 ], [ -122.565687999575474, 37.90012500056919 ], [ -122.566488000472745, 37.90042500067927 ], [ -122.566870999681669, 37.900644000417607 ], [ -122.567188000263386, 37.900825000835248 ], [ -122.567687999951957, 37.900825000551045 ], [ -122.568182999408549, 37.901132000952764 ], [ -122.569687999542055, 37.90252500079297 ], [ -122.569887999649296, 37.903825000586053 ], [ -122.570687999637684, 37.904525000789519 ], [ -122.572788000241786, 37.90532500104559 ], [ -122.574188999746042, 37.906625000995597 ], [ -122.576789000276761, 37.909125000310489 ], [ -122.577089000331952, 37.909925000766727 ], [ -122.57538900025601, 37.908725001101374 ], [ -122.574289000276295, 37.907725000502879 ], [ -122.572988000338228, 37.907225000971813 ], [ -122.571988000281195, 37.90692500031053 ], [ -122.571616999560518, 37.906948000963858 ], [ -122.570387999667361, 37.907025000598843 ], [ -122.569687999813723, 37.905725000524697 ], [ -122.568188000237598, 37.906125001037587 ], [ -122.567788000293234, 37.90562500054213 ], [ -122.567087999572891, 37.905725001115272 ], [ -122.567088000205771, 37.905595000579069 ], [ -122.567087999838634, 37.905125000617367 ], [ -122.567026999964085, 37.90508900101144 ], [ -122.566951000352574, 37.905043000361843 ], [ -122.566845999488848, 37.904980000807889 ], [ -122.566588000511459, 37.904825000269575 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 34, "TAZ1454": 1448, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.477183000159044, 37.845627000999222 ], [ -122.477782999756784, 37.845527001059097 ], [ -122.479783000421534, 37.845227000383289 ], [ -122.480337000192762, 37.844713000670218 ], [ -122.481182999431226, 37.843927000466763 ], [ -122.483283000242167, 37.844027000249547 ], [ -122.483982999505017, 37.845027000974277 ], [ -122.485683000419698, 37.845127000924386 ], [ -122.486382999854527, 37.845027000838094 ], [ -122.486982999978537, 37.845027000596943 ], [ -122.487279999791866, 37.844718000948717 ], [ -122.491290999419689, 37.847031000251448 ], [ -122.493820999748564, 37.849849000761225 ], [ -122.494983999552915, 37.849727000360218 ], [ -122.495083000378898, 37.849716000860077 ], [ -122.495884000341434, 37.849627000253747 ], [ -122.496200999890448, 37.849567000586887 ], [ -122.497024999457324, 37.849521000807776 ], [ -122.49768399973857, 37.849027000251596 ], [ -122.497983999650245, 37.849527001095169 ], [ -122.497784000250505, 37.849527000940469 ], [ -122.496484000265951, 37.850027001066444 ], [ -122.495483999515685, 37.850527000699302 ], [ -122.495347999578982, 37.850694001046293 ], [ -122.495142000065286, 37.850794001026721 ], [ -122.494792000188809, 37.850820000548538 ], [ -122.494458999923623, 37.850882000699002 ], [ -122.494236000362193, 37.851020000793902 ], [ -122.494093000457227, 37.851271000886101 ], [ -122.493886999546064, 37.851609000596817 ], [ -122.493617000222557, 37.851747000272944 ], [ -122.493362999464324, 37.851710000675581 ], [ -122.492949999662244, 37.851522001024151 ], [ -122.492536999850884, 37.851196000362563 ], [ -122.492203000058723, 37.85105800036014 ], [ -122.491837999472764, 37.851083000766536 ], [ -122.491249999681457, 37.851246000768036 ], [ -122.490821999687569, 37.851346000928082 ], [ -122.49018299987263, 37.851327000971757 ], [ -122.490306000334769, 37.851489001126858 ], [ -122.490452000319834, 37.851609000769997 ], [ -122.490691000417314, 37.851765000403546 ], [ -122.49112800026856, 37.852000001107747 ], [ -122.491373000025774, 37.852138001006828 ], [ -122.491600000405441, 37.852290001051955 ], [ -122.49198000014097, 37.852590000569279 ], [ -122.492383999789979, 37.852927000790189 ], [ -122.49338399994825, 37.854627000249046 ], [ -122.493967999892064, 37.855452000402714 ], [ -122.494155999849283, 37.855716000488947 ], [ -122.49436900011581, 37.855923001040033 ], [ -122.494598000497817, 37.856104000578824 ], [ -122.494893000138703, 37.85625900079387 ], [ -122.495203999802612, 37.856401000864928 ], [ -122.495605000283746, 37.856492000568231 ], [ -122.496255999406372, 37.85659400104155 ], [ -122.496827000409127, 37.85669900083461 ], [ -122.497292999774587, 37.856807000720565 ], [ -122.497724000431305, 37.85701100051967 ], [ -122.498049000381627, 37.857246000607127 ], [ -122.498791999665599, 37.857896000277727 ], [ -122.500884000450696, 37.859727000560326 ], [ -122.501483999634218, 37.860127000751859 ], [ -122.502183999409681, 37.860527000699463 ], [ -122.502980000094766, 37.860941000606601 ], [ -122.504353999985497, 37.861618000773447 ], [ -122.505112999651004, 37.862100000528116 ], [ -122.505784000278936, 37.862827000312471 ], [ -122.506361000417954, 37.863502000783456 ], [ -122.506661000232853, 37.863867000449645 ], [ -122.506799000408208, 37.864050000422957 ], [ -122.506880000009005, 37.864203000510265 ], [ -122.506937000426717, 37.864321000706447 ], [ -122.506984000198926, 37.864427000516791 ], [ -122.507075000408463, 37.864699000746228 ], [ -122.507121999886451, 37.864857000239091 ], [ -122.507168000365141, 37.865037000827037 ], [ -122.50718499995476, 37.865168000578805 ], [ -122.507184000346271, 37.865321000589631 ], [ -122.507184000400372, 37.866426000824383 ], [ -122.507183999442049, 37.866920000943274 ], [ -122.507124999959331, 37.868082001008965 ], [ -122.507058999879305, 37.868941000700211 ], [ -122.506939000053805, 37.86963400037726 ], [ -122.506872999911693, 37.870074000826584 ], [ -122.50686000024092, 37.870462000892751 ], [ -122.506941999470001, 37.870774000883522 ], [ -122.507084000137695, 37.871226000621135 ], [ -122.507793000201985, 37.872308000368101 ], [ -122.507863000482843, 37.872451000540877 ], [ -122.508117999554628, 37.873138000615299 ], [ -122.508173999417139, 37.873278000246458 ], [ -122.508236999536848, 37.873395000842329 ], [ -122.508304000432858, 37.873502001050078 ], [ -122.508483999699905, 37.873726000445131 ], [ -122.509784000024709, 37.874926000519451 ], [ -122.511956999741443, 37.876914000499156 ], [ -122.512096000432408, 37.877033000348106 ], [ -122.512332000240647, 37.877196000489036 ], [ -122.512584999650656, 37.877326000911317 ], [ -122.514338999851802, 37.878008000308363 ], [ -122.515607000048462, 37.878581000466006 ], [ -122.515870000038774, 37.878746000931706 ], [ -122.516184999761933, 37.878926000354475 ], [ -122.516304000421741, 37.879038000954935 ], [ -122.516445000327465, 37.879163001124006 ], [ -122.516618000059665, 37.879311000314502 ], [ -122.516810000080199, 37.87952400061625 ], [ -122.516992999891684, 37.87979200068964 ], [ -122.517073999404133, 37.879978000887121 ], [ -122.517145000290057, 37.880109000515475 ], [ -122.517185000266508, 37.88022600104825 ], [ -122.51718500036128, 37.881226001028274 ], [ -122.51708499989671, 37.882526000312566 ], [ -122.514385000132918, 37.881426000641227 ], [ -122.513284999650807, 37.87972600045272 ], [ -122.513067000498125, 37.879344000325304 ], [ -122.513056999807318, 37.879326000549511 ], [ -122.512885000303498, 37.879026000464087 ], [ -122.511794999602571, 37.877546000480173 ], [ -122.511780000152498, 37.877525001064022 ], [ -122.511735000258156, 37.877465000523515 ], [ -122.510774999635018, 37.876892000586849 ], [ -122.509543999520488, 37.876043000757328 ], [ -122.509249000421207, 37.875825000485101 ], [ -122.508186999913306, 37.875042000810645 ], [ -122.507603000121478, 37.874619001021351 ], [ -122.507433999618485, 37.874497000600208 ], [ -122.507314000370727, 37.874410000632324 ], [ -122.506815999788543, 37.874016001025765 ], [ -122.506524999642139, 37.8738120006442 ], [ -122.506312999660508, 37.873655001107537 ], [ -122.506167999579759, 37.873535000342571 ], [ -122.505997000163518, 37.87346600039151 ], [ -122.505914000162448, 37.873478000825834 ], [ -122.505881999440817, 37.873492000729762 ], [ -122.505865000335376, 37.873488000613193 ], [ -122.505749999459539, 37.873586000357832 ], [ -122.50562500020105, 37.873748000851933 ], [ -122.505610000036853, 37.87381000055268 ], [ -122.505593999812845, 37.873876000531666 ], [ -122.505614000239589, 37.874007000295869 ], [ -122.505709000183828, 37.874134000428668 ], [ -122.5058199998509, 37.874262000488962 ], [ -122.505931999882023, 37.874354000371078 ], [ -122.506094000413967, 37.874407000620202 ], [ -122.506256000460226, 37.874509000772768 ], [ -122.506448999930726, 37.874670000933925 ], [ -122.506518999974318, 37.874739000533978 ], [ -122.506510000219151, 37.87482900097077 ], [ -122.506419000185204, 37.874928000540585 ], [ -122.506396000459432, 37.874954000380363 ], [ -122.506325999483238, 37.875017000728242 ], [ -122.506185000128923, 37.874989000845325 ], [ -122.506053999427124, 37.874878000484635 ], [ -122.505903999812318, 37.874788000771453 ], [ -122.505807999740881, 37.874809001033938 ], [ -122.505701999454686, 37.874823000288274 ], [ -122.50565800011266, 37.874732000470416 ], [ -122.505657999391516, 37.87462100075318 ], [ -122.505569999753135, 37.874552000761796 ], [ -122.505262999509668, 37.874281000380059 ], [ -122.50506099980413, 37.874045001037722 ], [ -122.504973000210228, 37.873871000832295 ], [ -122.505034999416154, 37.873726000616962 ], [ -122.505078000363511, 37.873594001084662 ], [ -122.504990999964534, 37.873510000895024 ], [ -122.504850000277457, 37.87346200044454 ], [ -122.504789000086859, 37.873365000927549 ], [ -122.504824000514191, 37.873219000365367 ], [ -122.504894000217959, 37.873018000866082 ], [ -122.504855999786557, 37.87292000031092 ], [ -122.503684000118852, 37.872126000658348 ], [ -122.502998999556795, 37.871726000396613 ], [ -122.502938000516977, 37.871691000422885 ], [ -122.502648999753092, 37.871522000912343 ], [ -122.502483999881946, 37.871426001089247 ], [ -122.501975000466302, 37.871499000510596 ], [ -122.501903000014508, 37.871509000502009 ], [ -122.501083999740061, 37.871626000679953 ], [ -122.500583999474429, 37.871226000483105 ], [ -122.499983999413232, 37.871426000575568 ], [ -122.499183999454445, 37.870826001078584 ], [ -122.498083999534387, 37.870126000761523 ], [ -122.497183999872604, 37.870226000423024 ], [ -122.49748400036853, 37.869026000594133 ], [ -122.497383999471566, 37.867726000491849 ], [ -122.495340999671143, 37.865683000791051 ], [ -122.492717999449965, 37.864354000294547 ], [ -122.491477000135575, 37.864507000398433 ], [ -122.490153999470309, 37.864616000325263 ], [ -122.489105999673029, 37.864463000597553 ], [ -122.488968000473776, 37.863984000576068 ], [ -122.489574999819538, 37.863591000694207 ], [ -122.489933000463395, 37.86302500036323 ], [ -122.489987999632021, 37.862654000350105 ], [ -122.489520000076411, 37.862807000755993 ], [ -122.488747999560772, 37.86304600054811 ], [ -122.488223999644475, 37.862850000973857 ], [ -122.487700000381849, 37.863068000473064 ], [ -122.487837999988642, 37.862632001071155 ], [ -122.487010999695869, 37.862197000746193 ], [ -122.48659699973723, 37.862458000693692 ], [ -122.485852999827571, 37.86213100024608 ], [ -122.485576999544747, 37.861783000704328 ], [ -122.485521999595505, 37.861456000494229 ], [ -122.485549000493904, 37.860933000825781 ], [ -122.48455699990366, 37.860322000359773 ], [ -122.483921999628507, 37.860170001085528 ], [ -122.483260999620811, 37.860802001081538 ], [ -122.482665000123887, 37.860415001101714 ], [ -122.482488999532848, 37.860301000687905 ], [ -122.482708999520085, 37.859930000833252 ], [ -122.480006999935924, 37.858601000928623 ], [ -122.47951300025052, 37.85889400028158 ], [ -122.479125000284412, 37.859124000381563 ], [ -122.477111999776866, 37.859756000720999 ], [ -122.476257999742728, 37.859385000280426 ], [ -122.4760369998817, 37.85862300069109 ], [ -122.476726000334821, 37.85868800031605 ], [ -122.476862999462384, 37.858383000859824 ], [ -122.47716699979236, 37.857707000659047 ], [ -122.476753999867285, 37.856618000538234 ], [ -122.47888300048092, 37.851627000488875 ], [ -122.479082999535336, 37.850527000748833 ], [ -122.478983000187739, 37.848827000420435 ], [ -122.479082999395388, 37.847827000781983 ], [ -122.479083000241857, 37.847427001119989 ], [ -122.477783000486852, 37.847327000280622 ], [ -122.477183000159044, 37.845627000999222 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1301, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.293784999996873, 38.296214000551188 ], [ -122.293885000448014, 38.29541400072678 ], [ -122.293984999710759, 38.294614000694139 ], [ -122.294085000072187, 38.293814000467059 ], [ -122.294384999490887, 38.292414000547431 ], [ -122.294484999709965, 38.291514001073033 ], [ -122.29448499985655, 38.290914000534414 ], [ -122.294484999516882, 38.290634000319933 ], [ -122.294485000066288, 38.290393000796108 ], [ -122.294484999690212, 38.290218000985242 ], [ -122.294484999911205, 38.289744000299748 ], [ -122.294485000268494, 38.28951400024404 ], [ -122.294485000473884, 38.288714000444756 ], [ -122.294485000108082, 38.287814000988874 ], [ -122.294484999953468, 38.287514000538906 ], [ -122.294485000473756, 38.287114000520596 ], [ -122.294484999816419, 38.28671400046828 ], [ -122.294385000440627, 38.286214000536901 ], [ -122.294285000098057, 38.285714000477427 ], [ -122.294285000418554, 38.285314000340755 ], [ -122.294284999994304, 38.285114000258808 ], [ -122.294084999988755, 38.284614000397752 ], [ -122.294185000310023, 38.284314000328713 ], [ -122.294085000389884, 38.283514001113517 ], [ -122.293985000489158, 38.283314000362388 ], [ -122.293983999509692, 38.282914000353216 ], [ -122.293884000372415, 38.282414000609442 ], [ -122.293783999929829, 38.281714000546728 ], [ -122.29428400044344, 38.281814000525991 ], [ -122.296184999895146, 38.281814000421811 ], [ -122.298384999502971, 38.281714000902049 ], [ -122.298784999781461, 38.281714000428885 ], [ -122.299385000204154, 38.281714000766705 ], [ -122.299610999974973, 38.281722000325288 ], [ -122.30013500030482, 38.281715001067354 ], [ -122.300163999655169, 38.282175000957118 ], [ -122.300256000493206, 38.283644000602216 ], [ -122.300284999644035, 38.284514000710978 ], [ -122.300876999778737, 38.287079000417506 ], [ -122.30203800047812, 38.290765000419455 ], [ -122.302074000278594, 38.290823000534438 ], [ -122.302181000459981, 38.293314000652693 ], [ -122.302152999453185, 38.293584000970604 ], [ -122.301961999837459, 38.294473000492744 ], [ -122.301784999808106, 38.295314000514736 ], [ -122.301784999742949, 38.296014000274674 ], [ -122.301806999952674, 38.296135000414466 ], [ -122.301984999550641, 38.297114000972563 ], [ -122.302284999391219, 38.298414000872668 ], [ -122.302591999433403, 38.299124000897272 ], [ -122.303130999655977, 38.300897000977585 ], [ -122.303206000291652, 38.301134000856422 ], [ -122.302156999652382, 38.301425000874829 ], [ -122.300889999770149, 38.300914000976633 ], [ -122.30077400023066, 38.300898000428639 ], [ -122.300223000177084, 38.300819000790938 ], [ -122.300184999978342, 38.300814000291766 ], [ -122.299584999396032, 38.300214001014197 ], [ -122.299322999565476, 38.300114000624653 ], [ -122.297484999892021, 38.299414000835867 ], [ -122.296384999782148, 38.299914000947965 ], [ -122.296267000212339, 38.299811001035522 ], [ -122.295951000237295, 38.299534000541442 ], [ -122.295585000386353, 38.299214000576384 ], [ -122.295225999736374, 38.299422000711978 ], [ -122.294177999699968, 38.300029000553515 ], [ -122.293684999486018, 38.300314000672437 ], [ -122.293285000173796, 38.299614000652532 ], [ -122.293284999597603, 38.298714001098674 ], [ -122.293484999645926, 38.298014000834478 ], [ -122.293585000457881, 38.297214000630333 ], [ -122.293784999996873, 38.296214000551188 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 27, "TAZ1454": 1295, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.261083000300047, 38.29611400094312 ], [ -122.258183000233046, 38.295314000265137 ], [ -122.254983000437065, 38.293914000542273 ], [ -122.253182999724459, 38.295314000736546 ], [ -122.251683000497763, 38.295114000935982 ], [ -122.253882999430459, 38.292914000693067 ], [ -122.256882999967402, 38.291814000534302 ], [ -122.259183000504905, 38.291014000768641 ], [ -122.261382999880382, 38.289414000909289 ], [ -122.258319999804328, 38.288393000261998 ], [ -122.255682999949144, 38.287514000919415 ], [ -122.255601000212579, 38.287350000598757 ], [ -122.254883000524643, 38.285914000451434 ], [ -122.25188299982311, 38.283714001129312 ], [ -122.249383000405615, 38.282414000529648 ], [ -122.247583000529545, 38.282014000467392 ], [ -122.248983000157423, 38.28201400074456 ], [ -122.248983000502093, 38.279515000993968 ], [ -122.255083000285239, 38.279515000732168 ], [ -122.255522999595286, 38.279580000888323 ], [ -122.25617099954971, 38.279675000808183 ], [ -122.256241999726342, 38.279662000978796 ], [ -122.25624900018741, 38.279661000832157 ], [ -122.257082999801, 38.279515000870347 ], [ -122.257583000000494, 38.27951500076108 ], [ -122.258583000440154, 38.27951500045792 ], [ -122.259682999806955, 38.279615000320916 ], [ -122.260182999611601, 38.279615000845752 ], [ -122.26061299971262, 38.279615000621696 ], [ -122.260982999569165, 38.27961500031855 ], [ -122.263883000241663, 38.279815000281253 ], [ -122.265122000296628, 38.279884000605811 ], [ -122.265446000387684, 38.279902000266048 ], [ -122.265682999426062, 38.279915000660651 ], [ -122.266583000334236, 38.279915001104143 ], [ -122.268283000368115, 38.280015000660207 ], [ -122.26889199985618, 38.280015000344463 ], [ -122.269384000506122, 38.280015001036915 ], [ -122.269752999863158, 38.28001500109626 ], [ -122.270584000181927, 38.280015000983795 ], [ -122.272284000390215, 38.280115000265788 ], [ -122.273983999775439, 38.28011500058691 ], [ -122.274384000377609, 38.280215000846958 ], [ -122.275084000476838, 38.280215000343702 ], [ -122.277884000182667, 38.280415000792821 ], [ -122.281183999696779, 38.280814000241548 ], [ -122.285484000080075, 38.281114000825582 ], [ -122.286584000254138, 38.283314000692855 ], [ -122.28578399981474, 38.285314001051312 ], [ -122.283183999506733, 38.286014000523451 ], [ -122.283383999638403, 38.289114000821947 ], [ -122.283224999912377, 38.289495000950041 ], [ -122.281953999719363, 38.292537000643001 ], [ -122.282878000391321, 38.294651000505219 ], [ -122.282882000090879, 38.295090000545123 ], [ -122.28275400014725, 38.295300000830274 ], [ -122.282183999699797, 38.296114000239307 ], [ -122.282546999624103, 38.296750000348887 ], [ -122.28258400035169, 38.296814001121277 ], [ -122.283211999800756, 38.297263000619417 ], [ -122.28328399987754, 38.297314000317748 ], [ -122.283684000376184, 38.298014000974995 ], [ -122.28268399979973, 38.298314000452912 ], [ -122.281684000375932, 38.298514001078146 ], [ -122.28148400003721, 38.298514000994835 ], [ -122.28098400034429, 38.298514000653491 ], [ -122.280383999914221, 38.298714000697437 ], [ -122.279283999610598, 38.298814000683812 ], [ -122.278383999851528, 38.299014000740641 ], [ -122.277383999793074, 38.299214000646018 ], [ -122.276184000460574, 38.299314000739372 ], [ -122.274383999557458, 38.298414000949727 ], [ -122.273184000028905, 38.297814000787916 ], [ -122.272384000252245, 38.29771400068644 ], [ -122.269683999702522, 38.297314000893323 ], [ -122.268084000344402, 38.29691400041613 ], [ -122.265838000151177, 38.296352000569449 ], [ -122.265723999599217, 38.296324000603143 ], [ -122.264483999767791, 38.296014000559772 ], [ -122.263984000516473, 38.296014000816029 ], [ -122.263784000368261, 38.296014000318934 ], [ -122.261083000300047, 38.29611400094312 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1431, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.550088000150154, 37.991622000254623 ], [ -122.549787999694573, 37.992122000671316 ], [ -122.549188000208858, 37.991822000942136 ], [ -122.545868000049879, 37.990163000884742 ], [ -122.543787999916162, 37.989123001093233 ], [ -122.542488000324539, 37.988323000293015 ], [ -122.539988000462245, 37.988423000325227 ], [ -122.539987999835205, 37.988923000595236 ], [ -122.539487999450571, 37.988423000390149 ], [ -122.539187999984975, 37.98842300067502 ], [ -122.538688000159453, 37.98712300046067 ], [ -122.537586999512598, 37.987023000255839 ], [ -122.536687000438164, 37.98732300037657 ], [ -122.536486999828568, 37.987923000639654 ], [ -122.535086999531032, 37.988123000427166 ], [ -122.534717000458372, 37.987464000627362 ], [ -122.534442999475132, 37.987075000756754 ], [ -122.534186999854199, 37.986923000355709 ], [ -122.533157000007634, 37.986849000388304 ], [ -122.53278699948838, 37.986823000956122 ], [ -122.532486999662297, 37.987723000676453 ], [ -122.532487000356241, 37.988922001027731 ], [ -122.532087000131867, 37.989222000850354 ], [ -122.53178700007993, 37.988922000574171 ], [ -122.531387000428964, 37.98922200071484 ], [ -122.530987000059937, 37.989022000304054 ], [ -122.530087000206279, 37.989922000359371 ], [ -122.529086999513723, 37.990622000941464 ], [ -122.527986999717967, 37.989422000374894 ], [ -122.527186999644115, 37.988622000508919 ], [ -122.52388700009449, 37.985223000861517 ], [ -122.523185999512506, 37.984389000944248 ], [ -122.52303500012475, 37.984184000766987 ], [ -122.522900999559738, 37.983954001007525 ], [ -122.522647000063628, 37.983506000761196 ], [ -122.522458999700007, 37.983128000329195 ], [ -122.5222219994738, 37.982617000714114 ], [ -122.522059000360684, 37.98222600097052 ], [ -122.521787000276049, 37.981523000725197 ], [ -122.520512999576184, 37.97816600060446 ], [ -122.52041300047965, 37.977835000453396 ], [ -122.520357999741393, 37.977511001021938 ], [ -122.520339999653459, 37.977136000861641 ], [ -122.52034900041842, 37.976661000454115 ], [ -122.52038599948547, 37.976123000721074 ], [ -122.52048600014399, 37.975323000654001 ], [ -122.520885999577402, 37.973823000345313 ], [ -122.52148599974106, 37.973923000561634 ], [ -122.5216860005131, 37.973923001018804 ], [ -122.521886000150232, 37.973923001131269 ], [ -122.522386000277095, 37.974023000350869 ], [ -122.523386999727236, 37.974223000974391 ], [ -122.523986999757511, 37.974323001061244 ], [ -122.525086999416587, 37.974423000734845 ], [ -122.525887000155194, 37.974523000796715 ], [ -122.52668699971376, 37.974923000293174 ], [ -122.528686999490844, 37.975123000258833 ], [ -122.529342000447656, 37.975157000239648 ], [ -122.529387000173301, 37.974923000842828 ], [ -122.530687000525987, 37.97512300053355 ], [ -122.53308699998064, 37.975323000466325 ], [ -122.533687000291152, 37.97532300024551 ], [ -122.53548700012756, 37.975523001029153 ], [ -122.536686999470447, 37.975623000528927 ], [ -122.53708700021302, 37.975623000803097 ], [ -122.538286999999173, 37.975723001113636 ], [ -122.53848699994218, 37.975523000952506 ], [ -122.53858700022208, 37.97522300073129 ], [ -122.538786999734128, 37.974223000793785 ], [ -122.539497999398321, 37.974270000793496 ], [ -122.541188000326301, 37.974123001054494 ], [ -122.541681999475429, 37.974247000730308 ], [ -122.543187999459789, 37.974623001131988 ], [ -122.544887999613522, 37.975123001117666 ], [ -122.546388000308085, 37.975423000344016 ], [ -122.549088000262344, 37.97612300093791 ], [ -122.549987999631099, 37.976323001031069 ], [ -122.550288000043238, 37.976323001019047 ], [ -122.550988000522622, 37.976523001075662 ], [ -122.550887999706333, 37.976923000648895 ], [ -122.550887999416929, 37.977623000296546 ], [ -122.550988000393247, 37.978323000389771 ], [ -122.550787999643035, 37.978423000601545 ], [ -122.550701999952921, 37.979307000901947 ], [ -122.550057999480003, 37.980620000811349 ], [ -122.551287999841776, 37.981323000619028 ], [ -122.5523880005221, 37.981923000453413 ], [ -122.553188000251254, 37.982323000927472 ], [ -122.554088000197979, 37.982923000930001 ], [ -122.555587999922309, 37.983423000837732 ], [ -122.556588000154193, 37.983523000693062 ], [ -122.557389000071637, 37.983523000981656 ], [ -122.558789000177299, 37.982123000797898 ], [ -122.560589000207699, 37.980023000834635 ], [ -122.561088999687513, 37.979223000981435 ], [ -122.56088899951412, 37.980123000404568 ], [ -122.5596889995537, 37.984623000542342 ], [ -122.559089000341132, 37.986423000764283 ], [ -122.560781000396744, 37.986251001121531 ], [ -122.561089000294999, 37.985723000631829 ], [ -122.562789000244777, 37.987123000942262 ], [ -122.563488999645571, 37.98762300056692 ], [ -122.562289000077428, 37.989023000390844 ], [ -122.561789000332951, 37.989623000603039 ], [ -122.561089000286671, 37.989823000263193 ], [ -122.560488999827797, 37.989023000654626 ], [ -122.559888999720087, 37.989423000596346 ], [ -122.559689000448259, 37.9891230010385 ], [ -122.558388999961124, 37.989523000624899 ], [ -122.557589000166701, 37.993322000798166 ], [ -122.552582000274612, 37.991892000777582 ], [ -122.551288000329237, 37.991522000389232 ], [ -122.550935999812779, 37.99143400112677 ], [ -122.550487999661385, 37.991322000462809 ], [ -122.550088000150154, 37.991622000254623 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1427, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.505984999393903, 37.967323000436316 ], [ -122.506184999590388, 37.967223000585591 ], [ -122.507286000220091, 37.966523000973162 ], [ -122.506784999423886, 37.967223000417384 ], [ -122.506885999982529, 37.96762300033415 ], [ -122.508686000222312, 37.967623000680504 ], [ -122.508685999505133, 37.967223000547115 ], [ -122.508485999612915, 37.966923000907769 ], [ -122.508285999984608, 37.966523000422526 ], [ -122.50938599975963, 37.966523001083914 ], [ -122.51218599990797, 37.968023000867632 ], [ -122.51303700049381, 37.968183000922068 ], [ -122.513785999565513, 37.968323000932031 ], [ -122.519085999939435, 37.969323001065796 ], [ -122.520986000116778, 37.969823001015939 ], [ -122.521285999957954, 37.96982300099743 ], [ -122.521735000296019, 37.969913000238186 ], [ -122.521791999822199, 37.970260000298431 ], [ -122.521773000107203, 37.970488000909143 ], [ -122.521653000248378, 37.971144000386488 ], [ -122.521370000082371, 37.972177000875732 ], [ -122.521154000191487, 37.97291600051841 ], [ -122.520885999577402, 37.973823000345313 ], [ -122.52048600014399, 37.975323000654001 ], [ -122.52038599948547, 37.976123000721074 ], [ -122.52034900041842, 37.976661000454115 ], [ -122.520339999653459, 37.977136000861641 ], [ -122.520357999741393, 37.977511001021938 ], [ -122.52041300047965, 37.977835000453396 ], [ -122.520512999576184, 37.97816600060446 ], [ -122.521787000276049, 37.981523000725197 ], [ -122.522059000360684, 37.98222600097052 ], [ -122.5222219994738, 37.982617000714114 ], [ -122.522458999700007, 37.983128000329195 ], [ -122.522647000063628, 37.983506000761196 ], [ -122.522900999559738, 37.983954001007525 ], [ -122.52303500012475, 37.984184000766987 ], [ -122.523185999512506, 37.984389000944248 ], [ -122.52388700009449, 37.985223000861517 ], [ -122.527186999644115, 37.988622000508919 ], [ -122.527986999717967, 37.989422000374894 ], [ -122.529086999513723, 37.990622000941464 ], [ -122.527787000261, 37.991122000718931 ], [ -122.526586999795782, 37.990522000319842 ], [ -122.525107000482578, 37.991262000310428 ], [ -122.524386999447486, 37.991622000933916 ], [ -122.523187000238707, 37.991622000985629 ], [ -122.522386999618448, 37.992822000978151 ], [ -122.522186999797654, 37.991622001134445 ], [ -122.521787000276206, 37.991222000841304 ], [ -122.520687000105141, 37.991822000520727 ], [ -122.519487000073454, 37.991822000661138 ], [ -122.518086000123432, 37.99132200098758 ], [ -122.517485999843487, 37.991822001127147 ], [ -122.517285999677867, 37.992022000812199 ], [ -122.516186000329199, 37.99312200094576 ], [ -122.514285999883626, 37.993522000252369 ], [ -122.513785999701, 37.994222000394757 ], [ -122.512186000268343, 37.996522000805555 ], [ -122.509985999770265, 37.997122000338251 ], [ -122.508185999447846, 37.99592200094564 ], [ -122.506985999494731, 37.996822000315525 ], [ -122.505685999794494, 37.997022000715411 ], [ -122.503985999486218, 37.998422000516726 ], [ -122.501685999659031, 37.996322000737244 ], [ -122.500686000203615, 37.996622000738945 ], [ -122.500185999871007, 37.995822000587047 ], [ -122.495284999884689, 37.996622001110872 ], [ -122.495048999613601, 37.996592001045698 ], [ -122.494884999742268, 37.994122000889831 ], [ -122.494893999640695, 37.993495000255933 ], [ -122.494980000528727, 37.987302000315545 ], [ -122.494981999652907, 37.98717300099603 ], [ -122.494985000161961, 37.986922001036802 ], [ -122.495184999937365, 37.987022000785522 ], [ -122.495585000471706, 37.987022000866325 ], [ -122.496097999735923, 37.986644000564958 ], [ -122.496201999780581, 37.986289000573038 ], [ -122.495889999606831, 37.985742000520062 ], [ -122.495612000232001, 37.985277000901711 ], [ -122.496062999642959, 37.985223000393916 ], [ -122.495923999807928, 37.984813001124422 ], [ -122.496098000405411, 37.984320000877645 ], [ -122.496582999531171, 37.983938000945464 ], [ -122.496271000482935, 37.983418000574574 ], [ -122.49536899950121, 37.983036000458533 ], [ -122.495404000027946, 37.982680001000773 ], [ -122.496584999427142, 37.981623000822147 ], [ -122.496884999675487, 37.981723000279814 ], [ -122.497184999711564, 37.980923000736361 ], [ -122.496384999603336, 37.979323000413665 ], [ -122.49648499999617, 37.978923000356012 ], [ -122.497185000262007, 37.978823000417343 ], [ -122.49858499955802, 37.979023000744078 ], [ -122.498785000468658, 37.97932300036517 ], [ -122.499084999951407, 37.979223000947002 ], [ -122.49938499947622, 37.978123000870909 ], [ -122.498984999960754, 37.976623000654925 ], [ -122.497185000133655, 37.976723000250793 ], [ -122.49698499969665, 37.976523000807148 ], [ -122.49708499951133, 37.975823000944025 ], [ -122.496285000213078, 37.975023000345054 ], [ -122.496584999978012, 37.974723000257711 ], [ -122.496384999492733, 37.974723000376898 ], [ -122.495884999722563, 37.974323000635103 ], [ -122.495085000091876, 37.973823000843474 ], [ -122.494785000126285, 37.970423000438444 ], [ -122.49518499943639, 37.970623000582407 ], [ -122.495484999709447, 37.970823000439779 ], [ -122.495756000241926, 37.970857000762699 ], [ -122.496285000098851, 37.970923000693261 ], [ -122.49658499959105, 37.970923000593828 ], [ -122.49918499953128, 37.969923000679941 ], [ -122.500903000276352, 37.969245000252393 ], [ -122.500985000053277, 37.969123000307306 ], [ -122.501931999911264, 37.969044000719514 ], [ -122.502184999809671, 37.969023000942926 ], [ -122.50228499968712, 37.968623000537505 ], [ -122.504185000198717, 37.9681230003292 ], [ -122.505184999458706, 37.967623000450921 ], [ -122.505485000237897, 37.967723000620531 ], [ -122.505584999644881, 37.967523000913381 ], [ -122.505884999428005, 37.967623000962007 ], [ -122.505984999393903, 37.967323000436316 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1426, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.484285000467779, 37.970923000860111 ], [ -122.484584999490963, 37.970223001049803 ], [ -122.486706000091544, 37.970223000860322 ], [ -122.48708500048555, 37.970223001047756 ], [ -122.490885000445274, 37.970123000280971 ], [ -122.493084999915595, 37.96952300110916 ], [ -122.494885000189427, 37.970123000613839 ], [ -122.494785000126285, 37.970423000438444 ], [ -122.495085000091876, 37.973823000843474 ], [ -122.495884999722563, 37.974323000635103 ], [ -122.496384999492733, 37.974723000376898 ], [ -122.496584999978012, 37.974723000257711 ], [ -122.496285000213078, 37.975023000345054 ], [ -122.49708499951133, 37.975823000944025 ], [ -122.49698499969665, 37.976523000807148 ], [ -122.497185000133655, 37.976723000250793 ], [ -122.498984999960754, 37.976623000654925 ], [ -122.49938499947622, 37.978123000870909 ], [ -122.499084999951407, 37.979223000947002 ], [ -122.498785000468658, 37.97932300036517 ], [ -122.49858499955802, 37.979023000744078 ], [ -122.497185000262007, 37.978823000417343 ], [ -122.49648499999617, 37.978923000356012 ], [ -122.496384999603336, 37.979323000413665 ], [ -122.497184999711564, 37.980923000736361 ], [ -122.496884999675487, 37.981723000279814 ], [ -122.496584999427142, 37.981623000822147 ], [ -122.495404000027946, 37.982680001000773 ], [ -122.49536899950121, 37.983036000458533 ], [ -122.496271000482935, 37.983418000574574 ], [ -122.496582999531171, 37.983938000945464 ], [ -122.496098000405411, 37.984320000877645 ], [ -122.495923999807928, 37.984813001124422 ], [ -122.496062999642959, 37.985223000393916 ], [ -122.495612000232001, 37.985277000901711 ], [ -122.495889999606831, 37.985742000520062 ], [ -122.496201999780581, 37.986289000573038 ], [ -122.496097999735923, 37.986644000564958 ], [ -122.495585000471706, 37.987022000866325 ], [ -122.495184999937365, 37.987022000785522 ], [ -122.494985000161961, 37.986922001036802 ], [ -122.494981999652907, 37.98717300099603 ], [ -122.494980000528727, 37.987302000315545 ], [ -122.494893999640695, 37.993495000255933 ], [ -122.494884999742268, 37.994122000889831 ], [ -122.495048999613601, 37.996592001045698 ], [ -122.489084999949711, 37.995822000807884 ], [ -122.486385000439341, 37.995522000634409 ], [ -122.484284999907118, 37.996222000614239 ], [ -122.48208499969725, 37.997722001065696 ], [ -122.477510999813177, 37.999922001075227 ], [ -122.47418500026221, 38.001522000973729 ], [ -122.466502000008774, 38.000552001026385 ], [ -122.464685000486313, 38.000322000524555 ], [ -122.463970999613721, 37.999922001111479 ], [ -122.458084000526696, 37.996622000750548 ], [ -122.456483999460787, 37.99652200081556 ], [ -122.455884000204264, 37.996522000563772 ], [ -122.452083999937472, 37.992222001002993 ], [ -122.451083999738643, 37.992522000805486 ], [ -122.449083999535162, 37.989522001010251 ], [ -122.448184000176653, 37.988422000271115 ], [ -122.44728399950823, 37.985222000396519 ], [ -122.45678400028693, 37.978823000870406 ], [ -122.466784999753017, 37.983823000305719 ], [ -122.467584999915019, 37.984522000988278 ], [ -122.472584999963516, 37.982423000708643 ], [ -122.475284999895592, 37.978723000635782 ], [ -122.474984999784667, 37.977623000287636 ], [ -122.475685000475934, 37.976123000269233 ], [ -122.475437999987548, 37.975590000602764 ], [ -122.475084999875904, 37.97462300050465 ], [ -122.475222000073487, 37.974642000689322 ], [ -122.47532400029759, 37.974657000626884 ], [ -122.475489000389473, 37.974681000436867 ], [ -122.475784999892127, 37.974723000309723 ], [ -122.476084999813111, 37.974723000266984 ], [ -122.476187999895885, 37.974697000865035 ], [ -122.47648500025204, 37.97462300088668 ], [ -122.476658000093011, 37.974542000745188 ], [ -122.477985000317858, 37.973923000358567 ], [ -122.479584999917108, 37.974423000761561 ], [ -122.480184999914158, 37.974623000859367 ], [ -122.481084999769777, 37.97492300067919 ], [ -122.481462000172584, 37.974899000904536 ], [ -122.481684999793302, 37.97482300048248 ], [ -122.481630000023102, 37.974723000311407 ], [ -122.48153799941889, 37.974479000982967 ], [ -122.481385999519986, 37.974281000917507 ], [ -122.481263999651034, 37.974265000531389 ], [ -122.481049999506226, 37.974281000776521 ], [ -122.480608000218567, 37.974212000688766 ], [ -122.480284999835519, 37.974123000703827 ], [ -122.479085000171807, 37.973323000992728 ], [ -122.478227000078448, 37.973289000765092 ], [ -122.477753999519138, 37.973090000722387 ], [ -122.477556000463622, 37.972953000434856 ], [ -122.477485000458657, 37.972823000983432 ], [ -122.477384999394729, 37.971623000377015 ], [ -122.478685000057581, 37.971523000263204 ], [ -122.480785000044591, 37.971323000638492 ], [ -122.483584999446492, 37.971223000678691 ], [ -122.484285000467779, 37.970923000860111 ] ] ], [ [ [ -122.468584000290278, 37.963523000317267 ], [ -122.470483999587216, 37.965223000457065 ], [ -122.466383999498404, 37.964923000804937 ], [ -122.468584000290278, 37.963523000317267 ] ] ], [ [ [ -122.473480000272389, 37.966361000320504 ], [ -122.471884000136512, 37.965723001083262 ], [ -122.473183999741295, 37.965423000235617 ], [ -122.473680999899486, 37.966203000374698 ], [ -122.473884999549696, 37.966523000537542 ], [ -122.473480000272389, 37.966361000320504 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1430, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.530585000081487, 37.967922001075863 ], [ -122.531387000244365, 37.968023000925932 ], [ -122.531986999632082, 37.968123000762873 ], [ -122.533023999652698, 37.968214000554774 ], [ -122.533143999760895, 37.96753400110584 ], [ -122.533386999899108, 37.96572300090962 ], [ -122.533686999602054, 37.963723001012809 ], [ -122.533586999775451, 37.963423001042976 ], [ -122.533587000157908, 37.962723001028252 ], [ -122.534386999627273, 37.961923000318485 ], [ -122.532986999637032, 37.960923000745829 ], [ -122.53258700041458, 37.96012300108238 ], [ -122.532912000086867, 37.959852000818216 ], [ -122.533187000282197, 37.959623000498546 ], [ -122.533687000076242, 37.959923000881581 ], [ -122.534287000021038, 37.960223000275818 ], [ -122.535386999940812, 37.960723000778572 ], [ -122.536686999540848, 37.961323000785676 ], [ -122.53788700027485, 37.96192300104105 ], [ -122.537987000124332, 37.962123000399963 ], [ -122.53838700020637, 37.962823000774577 ], [ -122.538987000003331, 37.962923000964196 ], [ -122.539587000369181, 37.96322300033161 ], [ -122.540086999479939, 37.963623000253342 ], [ -122.540587000108744, 37.963823000335687 ], [ -122.54148700026677, 37.964123000319702 ], [ -122.541549999832995, 37.964170001085712 ], [ -122.541886999883019, 37.964423000492474 ], [ -122.542286999526553, 37.965023000334028 ], [ -122.542819999851631, 37.965301000530438 ], [ -122.543248000328163, 37.965453000665164 ], [ -122.543813000452246, 37.96567500098314 ], [ -122.544301000111744, 37.965965000861303 ], [ -122.544727999619781, 37.966415000877113 ], [ -122.545087999521343, 37.966923000416614 ], [ -122.545261999674395, 37.966338000779196 ], [ -122.545587999894295, 37.966523000712485 ], [ -122.545887999953607, 37.968023000352204 ], [ -122.547987999878018, 37.970023001098291 ], [ -122.547387999616973, 37.9706230002909 ], [ -122.547497999940703, 37.970693001079141 ], [ -122.548487999764873, 37.97132300081455 ], [ -122.548887999576422, 37.972023000817636 ], [ -122.54968799968006, 37.97242300112179 ], [ -122.551088000514625, 37.972223001009624 ], [ -122.55128799939925, 37.973423000875407 ], [ -122.550988000216222, 37.974723000309723 ], [ -122.550887999539853, 37.975823000775016 ], [ -122.550888000306415, 37.976023000852059 ], [ -122.550988000522622, 37.976523001075662 ], [ -122.550288000043238, 37.976323001019047 ], [ -122.549987999631099, 37.976323001031069 ], [ -122.549088000262344, 37.97612300093791 ], [ -122.546388000308085, 37.975423000344016 ], [ -122.544887999613522, 37.975123001117666 ], [ -122.543187999459789, 37.974623001131988 ], [ -122.541681999475429, 37.974247000730308 ], [ -122.541188000326301, 37.974123001054494 ], [ -122.539497999398321, 37.974270000793496 ], [ -122.538786999734128, 37.974223000793785 ], [ -122.53858700022208, 37.97522300073129 ], [ -122.53848699994218, 37.975523000952506 ], [ -122.538286999999173, 37.975723001113636 ], [ -122.53708700021302, 37.975623000803097 ], [ -122.536686999470447, 37.975623000528927 ], [ -122.53548700012756, 37.975523001029153 ], [ -122.533687000291152, 37.97532300024551 ], [ -122.53308699998064, 37.975323000466325 ], [ -122.530687000525987, 37.97512300053355 ], [ -122.529387000173301, 37.974923000842828 ], [ -122.529342000447656, 37.975157000239648 ], [ -122.528686999490844, 37.975123000258833 ], [ -122.52668699971376, 37.974923000293174 ], [ -122.525887000155194, 37.974523000796715 ], [ -122.525086999416587, 37.974423000734845 ], [ -122.523986999757511, 37.974323001061244 ], [ -122.523386999727236, 37.974223000974391 ], [ -122.522386000277095, 37.974023000350869 ], [ -122.521886000150232, 37.973923001131269 ], [ -122.5216860005131, 37.973923001018804 ], [ -122.52148599974106, 37.973923000561634 ], [ -122.520885999577402, 37.973823000345313 ], [ -122.521154000191487, 37.97291600051841 ], [ -122.521370000082371, 37.972177000875732 ], [ -122.521653000248378, 37.971144000386488 ], [ -122.521773000107203, 37.970488000909143 ], [ -122.521791999822199, 37.970260000298431 ], [ -122.521735000296019, 37.969913000238186 ], [ -122.522186000241447, 37.970623001133845 ], [ -122.522885999536371, 37.970623000589079 ], [ -122.523302999568131, 37.970623000347814 ], [ -122.523885999690535, 37.970623000958412 ], [ -122.524287000069506, 37.970623000968452 ], [ -122.526113999800174, 37.97085800058003 ], [ -122.526435999918391, 37.968663000341266 ], [ -122.526587000294882, 37.967823000853755 ], [ -122.527618999563558, 37.967955000672497 ], [ -122.528555000339679, 37.968075000879217 ], [ -122.5296369996679, 37.968214000715335 ], [ -122.5304869994646, 37.968323001060412 ], [ -122.530585000081487, 37.967922001075863 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1429, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.533023999652698, 37.968214000554774 ], [ -122.531986999632082, 37.968123000762873 ], [ -122.531387000244365, 37.968023000925932 ], [ -122.530585000081487, 37.967922001075863 ], [ -122.5304869994646, 37.968323001060412 ], [ -122.5296369996679, 37.968214000715335 ], [ -122.528555000339679, 37.968075000879217 ], [ -122.527618999563558, 37.967955000672497 ], [ -122.526587000294882, 37.967823000853755 ], [ -122.526435999918391, 37.968663000341266 ], [ -122.526113999800174, 37.97085800058003 ], [ -122.524287000069506, 37.970623000968452 ], [ -122.523885999690535, 37.970623000958412 ], [ -122.523302999568131, 37.970623000347814 ], [ -122.522885999536371, 37.970623000589079 ], [ -122.522186000241447, 37.970623001133845 ], [ -122.521735000296019, 37.969913000238186 ], [ -122.521595999434226, 37.969620000759235 ], [ -122.521449000307214, 37.969333000881065 ], [ -122.52132199980089, 37.969116000430738 ], [ -122.521092999992248, 37.968862000490326 ], [ -122.520883999891012, 37.968661000626696 ], [ -122.5207139995169, 37.9685210006771 ], [ -122.520585999884375, 37.968423000391844 ], [ -122.519685999526601, 37.967923001100729 ], [ -122.518686000379205, 37.967323000784404 ], [ -122.511085999630268, 37.962923000452143 ], [ -122.510686999609561, 37.962626000404804 ], [ -122.510582999522896, 37.962541000866914 ], [ -122.510459000455015, 37.962421000329257 ], [ -122.510361999935384, 37.962295000400644 ], [ -122.510270000509124, 37.962168000951451 ], [ -122.510165999650937, 37.961988000802762 ], [ -122.510097999490498, 37.961856000750807 ], [ -122.509986000481035, 37.961623000247194 ], [ -122.50974699964388, 37.960901000360138 ], [ -122.509485999627401, 37.959623000928353 ], [ -122.509247999948258, 37.958601000289605 ], [ -122.5091559994882, 37.958242001090092 ], [ -122.508984999520493, 37.95752300036866 ], [ -122.50891899953389, 37.957084001117259 ], [ -122.508785000187444, 37.956223000478516 ], [ -122.508525999710614, 37.954639000770314 ], [ -122.508491000275697, 37.954346000576251 ], [ -122.508499999744956, 37.954074000345024 ], [ -122.508543999670067, 37.953823000334069 ], [ -122.508624000302703, 37.953600000488613 ], [ -122.508729999405958, 37.953384000397676 ], [ -122.508885000084405, 37.953124001037068 ], [ -122.509710000102501, 37.951944000573313 ], [ -122.509985000368701, 37.952124000791891 ], [ -122.510586000022272, 37.952324000982898 ], [ -122.511986000498084, 37.952624000814836 ], [ -122.51397199996579, 37.95216600107026 ], [ -122.514585999500994, 37.952024000639447 ], [ -122.516285999431304, 37.951424000850082 ], [ -122.518086000108696, 37.95172400106275 ], [ -122.520185999601225, 37.953624000419858 ], [ -122.522585999971255, 37.954024000444633 ], [ -122.523585999476069, 37.954924000563302 ], [ -122.524286000267026, 37.955224000757866 ], [ -122.527187000249157, 37.957623000963096 ], [ -122.528587000283039, 37.958623000354301 ], [ -122.529087000209827, 37.958323000718245 ], [ -122.52968699962311, 37.957923000549656 ], [ -122.530287000033226, 37.958223000536208 ], [ -122.53248699990985, 37.959223000308363 ], [ -122.533187000282197, 37.959623000498546 ], [ -122.532912000086867, 37.959852000818216 ], [ -122.53258700041458, 37.96012300108238 ], [ -122.532986999637032, 37.960923000745829 ], [ -122.534386999627273, 37.961923000318485 ], [ -122.533587000157908, 37.962723001028252 ], [ -122.533586999775451, 37.963423001042976 ], [ -122.533686999602054, 37.963723001012809 ], [ -122.533386999899108, 37.96572300090962 ], [ -122.533143999760895, 37.96753400110584 ], [ -122.533023999652698, 37.968214000554774 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 33, "TAZ1454": 1428, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.477199999816079, 37.942563000483844 ], [ -122.476198999543683, 37.942329000923259 ], [ -122.477283999982532, 37.9424240009645 ], [ -122.478084000009176, 37.942724000821421 ], [ -122.480484000047952, 37.943524000343146 ], [ -122.481784000172127, 37.944024000307699 ], [ -122.482863999913533, 37.944488000484434 ], [ -122.483643999937257, 37.944596000937629 ], [ -122.484866999700415, 37.944729000570341 ], [ -122.485813999613853, 37.944741000296787 ], [ -122.486226999620726, 37.944669000518509 ], [ -122.486731000416128, 37.944536000445332 ], [ -122.488985000055138, 37.94522400036265 ], [ -122.489984999526456, 37.945824000651115 ], [ -122.491185000197291, 37.946224000627474 ], [ -122.492585000177741, 37.946424000494829 ], [ -122.493585000054537, 37.946424000681446 ], [ -122.494085000041579, 37.945524000378569 ], [ -122.500784999922658, 37.947324000775957 ], [ -122.504584999972195, 37.949324000286396 ], [ -122.505296000233599, 37.949990000322039 ], [ -122.505677999605552, 37.950547000245777 ], [ -122.506185000407555, 37.951724000434922 ], [ -122.508085000232413, 37.951224000335962 ], [ -122.509084999416828, 37.951724000706406 ], [ -122.509710000102501, 37.951944000573313 ], [ -122.508885000084405, 37.953124001037068 ], [ -122.508729999405958, 37.953384000397676 ], [ -122.508624000302703, 37.953600000488613 ], [ -122.508543999670067, 37.953823000334069 ], [ -122.508499999744956, 37.954074000345024 ], [ -122.508491000275697, 37.954346000576251 ], [ -122.508525999710614, 37.954639000770314 ], [ -122.508785000187444, 37.956223000478516 ], [ -122.50891899953389, 37.957084001117259 ], [ -122.508984999520493, 37.95752300036866 ], [ -122.5091559994882, 37.958242001090092 ], [ -122.509247999948258, 37.958601000289605 ], [ -122.509485999627401, 37.959623000928353 ], [ -122.50974699964388, 37.960901000360138 ], [ -122.509986000481035, 37.961623000247194 ], [ -122.510097999490498, 37.961856000750807 ], [ -122.510165999650937, 37.961988000802762 ], [ -122.510270000509124, 37.962168000951451 ], [ -122.510361999935384, 37.962295000400644 ], [ -122.510459000455015, 37.962421000329257 ], [ -122.510582999522896, 37.962541000866914 ], [ -122.510686999609561, 37.962626000404804 ], [ -122.511085999630268, 37.962923000452143 ], [ -122.518686000379205, 37.967323000784404 ], [ -122.519685999526601, 37.967923001100729 ], [ -122.520585999884375, 37.968423000391844 ], [ -122.5207139995169, 37.9685210006771 ], [ -122.520883999891012, 37.968661000626696 ], [ -122.521092999992248, 37.968862000490326 ], [ -122.52132199980089, 37.969116000430738 ], [ -122.521449000307214, 37.969333000881065 ], [ -122.521595999434226, 37.969620000759235 ], [ -122.521735000296019, 37.969913000238186 ], [ -122.521285999957954, 37.96982300099743 ], [ -122.520986000116778, 37.969823001015939 ], [ -122.519085999939435, 37.969323001065796 ], [ -122.513785999565513, 37.968323000932031 ], [ -122.51303700049381, 37.968183000922068 ], [ -122.51218599990797, 37.968023000867632 ], [ -122.50938599975963, 37.966523001083914 ], [ -122.508585999674565, 37.966123001008981 ], [ -122.507685999622197, 37.966223000459223 ], [ -122.506284999571903, 37.966623001027514 ], [ -122.503937000449866, 37.967374000423078 ], [ -122.50260099965891, 37.967802000539926 ], [ -122.501284999777752, 37.968223000512481 ], [ -122.500785000405926, 37.968423000429141 ], [ -122.500579999763133, 37.968505000872277 ], [ -122.500284999459026, 37.968623000903406 ], [ -122.500185000008486, 37.968223000635554 ], [ -122.499585000354116, 37.969123000714532 ], [ -122.499128999835079, 37.969313000664144 ], [ -122.498456000451597, 37.969593001008946 ], [ -122.49838499946064, 37.969623000414401 ], [ -122.496684999559008, 37.970223000397894 ], [ -122.494985000223693, 37.969723000294188 ], [ -122.495384999416643, 37.967123000767813 ], [ -122.491885000387683, 37.965823000845738 ], [ -122.490184999970012, 37.965223000317579 ], [ -122.490168999565938, 37.965151001094796 ], [ -122.490020999771076, 37.964483000995166 ], [ -122.489984999448623, 37.964323000826532 ], [ -122.490384999555118, 37.960723000332855 ], [ -122.491284999600751, 37.9603230007435 ], [ -122.490185000326008, 37.957523001125686 ], [ -122.488481000234032, 37.95525300073551 ], [ -122.487535000159909, 37.95186600109588 ], [ -122.486971000057835, 37.950432000251801 ], [ -122.486925000331198, 37.94937200028432 ], [ -122.486558999810796, 37.948548000924568 ], [ -122.486298999512286, 37.947884000373257 ], [ -122.486084999735183, 37.947124001017073 ], [ -122.485490999820541, 37.946915000759901 ], [ -122.485002000004087, 37.946556000424856 ], [ -122.484560000088351, 37.94632000101582 ], [ -122.483827000085654, 37.94649500042361 ], [ -122.483170000084868, 37.94636600070492 ], [ -122.48236100005235, 37.946686000794173 ], [ -122.48182999998987, 37.946304000806471 ], [ -122.48022199980808, 37.94513400083018 ], [ -122.47972700023827, 37.944665001072806 ], [ -122.476915000503681, 37.945346000546955 ], [ -122.47345399960804, 37.946166000997849 ], [ -122.47357900030039, 37.946655000321265 ], [ -122.473348000480826, 37.946683000684047 ], [ -122.473017999726977, 37.945748000517142 ], [ -122.473240999971225, 37.945651001047487 ], [ -122.473350999558249, 37.946005000622634 ], [ -122.476955999965611, 37.945138000335874 ], [ -122.479570999614495, 37.944516000392163 ], [ -122.47948299990513, 37.944432000310826 ], [ -122.478921000279072, 37.943547000775702 ], [ -122.477877000034951, 37.942722000899565 ], [ -122.477199999816079, 37.942563000483844 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 185, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.476382000509759, 37.754130000337469 ], [ -122.476181999549695, 37.75223000044047 ], [ -122.475982000296455, 37.750330000534703 ], [ -122.475981999717419, 37.748430000370078 ], [ -122.475882000002159, 37.746630000701707 ], [ -122.475682000226797, 37.74473000036064 ], [ -122.475482000180165, 37.742930000545208 ], [ -122.476582000194412, 37.742830001107976 ], [ -122.477681999574784, 37.742730000404194 ], [ -122.478781999640987, 37.742730000802098 ], [ -122.479882000350813, 37.742630000286809 ], [ -122.480781999476207, 37.742630000628637 ], [ -122.481882000476119, 37.742531000827519 ], [ -122.482982000055472, 37.742531000772409 ], [ -122.484182000475869, 37.742531000888462 ], [ -122.485181999622199, 37.742431000822471 ], [ -122.485381999751198, 37.744330000441529 ], [ -122.485582000122534, 37.746130000883646 ], [ -122.485581999411366, 37.748030000707189 ], [ -122.485881999752422, 37.749930001104794 ], [ -122.485982000064155, 37.751730001035057 ], [ -122.486081999449652, 37.753730000250933 ], [ -122.48628199969977, 37.755530000379274 ], [ -122.485182000508402, 37.755530000924757 ], [ -122.484081999419885, 37.755630000570946 ], [ -122.482981999983991, 37.755630000404935 ], [ -122.481882000222768, 37.755730000237328 ], [ -122.480881999778873, 37.755730000925787 ], [ -122.479782000340109, 37.755830000972431 ], [ -122.478581999896249, 37.755830000483044 ], [ -122.477681999529395, 37.755930000316148 ], [ -122.476482000137011, 37.756030000400614 ], [ -122.476382000509759, 37.754130000337469 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 69, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.447381999647178, 37.782429000594128 ], [ -122.445781999448172, 37.78262900027427 ], [ -122.44428200019901, 37.782829001024325 ], [ -122.442781999776244, 37.783029000665309 ], [ -122.441381999772659, 37.782229001066298 ], [ -122.441081999830971, 37.781329000262751 ], [ -122.440781999568898, 37.780329000616881 ], [ -122.440781999890774, 37.779329001061313 ], [ -122.441982000127012, 37.779229000314608 ], [ -122.441682000016669, 37.778329000598404 ], [ -122.441481999654769, 37.777329001030019 ], [ -122.441282000466572, 37.776529000646114 ], [ -122.442982000466685, 37.776229000827101 ], [ -122.444682000462464, 37.775929000756534 ], [ -122.44618199978828, 37.775729000546789 ], [ -122.447082000232925, 37.77572900082437 ], [ -122.44788199951779, 37.775529000949433 ], [ -122.448682000202837, 37.775429000920937 ], [ -122.449481999893692, 37.775329000855422 ], [ -122.451181999970416, 37.775129000444679 ], [ -122.452682000069785, 37.774929000276529 ], [ -122.452882000081203, 37.774929000707573 ], [ -122.454381999608685, 37.774729000492457 ], [ -122.454681999898781, 37.775429000589781 ], [ -122.454682000186622, 37.775629000404855 ], [ -122.454881999997411, 37.776229000457008 ], [ -122.455082000233105, 37.776929000908062 ], [ -122.455082000103928, 37.777429000311066 ], [ -122.454181999752493, 37.7775290005616 ], [ -122.453281999770454, 37.777729001005163 ], [ -122.453482000058031, 37.779029000344359 ], [ -122.453581999447451, 37.779629000769432 ], [ -122.45378199960173, 37.780229000488973 ], [ -122.454081999525386, 37.781429000560188 ], [ -122.45308199960148, 37.781629000915324 ], [ -122.451981999979026, 37.781729001102597 ], [ -122.450981999522369, 37.78192900071577 ], [ -122.44998200000488, 37.782029001058532 ], [ -122.448881999668103, 37.782229000873549 ], [ -122.447981999829324, 37.782229000580699 ], [ -122.447381999647178, 37.782429000594128 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 77, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.424081999862878, 37.782429000656528 ], [ -122.427381999777182, 37.782029000742192 ], [ -122.428981999607885, 37.781929001062835 ], [ -122.430581999918303, 37.781629000973105 ], [ -122.431385999461014, 37.781487000841125 ], [ -122.432282000478011, 37.781329000388659 ], [ -122.43378200005759, 37.781229000676902 ], [ -122.43398199956323, 37.782229000639099 ], [ -122.434182000098588, 37.783129000425113 ], [ -122.434381999665035, 37.784029000647422 ], [ -122.43364199963753, 37.784136000913463 ], [ -122.432845000107733, 37.784228001038777 ], [ -122.43108199962586, 37.784529000399672 ], [ -122.429481999846701, 37.784729000987099 ], [ -122.429050000346024, 37.784783000652133 ], [ -122.427881999505757, 37.784929000538035 ], [ -122.42618199971821, 37.785129000599369 ], [ -122.424782000217476, 37.785229000268686 ], [ -122.424481999538926, 37.784429000247322 ], [ -122.424181999745272, 37.783529000641074 ], [ -122.424181999616778, 37.783029000612686 ], [ -122.424081999862878, 37.782429000656528 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 78, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.43358200011609, 37.78032900086005 ], [ -122.43378200005759, 37.781229000676902 ], [ -122.432282000478011, 37.781329000388659 ], [ -122.431385999461014, 37.781487000841125 ], [ -122.430581999918303, 37.781629000973105 ], [ -122.428981999607885, 37.781929001062835 ], [ -122.427381999777182, 37.782029000742192 ], [ -122.424081999862878, 37.782429000656528 ], [ -122.423881999897588, 37.781529000249748 ], [ -122.423781999618782, 37.78112900106435 ], [ -122.423581999513786, 37.780729001125614 ], [ -122.42338199987347, 37.779629000246338 ], [ -122.423281999973739, 37.779329000236061 ], [ -122.423182000400757, 37.778829000702238 ], [ -122.424882000105015, 37.778529000279946 ], [ -122.426681999599808, 37.778229000395434 ], [ -122.428081999623359, 37.778129001027793 ], [ -122.428882000451054, 37.77792900070633 ], [ -122.429681999746933, 37.77782900099573 ], [ -122.430553000527098, 37.777732000571824 ], [ -122.431482000201285, 37.777629000409775 ], [ -122.433082000397945, 37.777429000753301 ], [ -122.433223000368571, 37.778453000974608 ], [ -122.433375999868076, 37.77934600047999 ], [ -122.43358200011609, 37.78032900086005 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 80, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.429681999746933, 37.77782900099573 ], [ -122.428882000451054, 37.77792900070633 ], [ -122.428081999623359, 37.778129001027793 ], [ -122.426681999599808, 37.778229000395434 ], [ -122.42648199939859, 37.777829000651522 ], [ -122.426382000047496, 37.777429000694596 ], [ -122.426282000142493, 37.776929000866268 ], [ -122.426081999839951, 37.776529000373756 ], [ -122.42608200013747, 37.776129000391983 ], [ -122.425982000398363, 37.775529000430033 ], [ -122.425981999931281, 37.775029000587821 ], [ -122.425781999418419, 37.774629000380379 ], [ -122.427381999771427, 37.774429000354544 ], [ -122.428981999945336, 37.774129000377819 ], [ -122.430682000106913, 37.773929001063593 ], [ -122.432281999742898, 37.773729001076404 ], [ -122.432481999861665, 37.77472900111561 ], [ -122.432581999767081, 37.775629000657695 ], [ -122.432781999634358, 37.776629000797307 ], [ -122.433082000397945, 37.777429000753301 ], [ -122.431482000201285, 37.777629000409775 ], [ -122.430553000527098, 37.777732000571824 ], [ -122.429681999746933, 37.77782900099573 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 87, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.44788199951779, 37.775529000949433 ], [ -122.447082000232925, 37.77572900082437 ], [ -122.44618199978828, 37.775729000546789 ], [ -122.444682000462464, 37.775929000756534 ], [ -122.442982000466685, 37.776229000827101 ], [ -122.441282000466572, 37.776529000646114 ], [ -122.440982000191838, 37.775529000753714 ], [ -122.44088199985417, 37.774529000922186 ], [ -122.440681999433721, 37.773529000323428 ], [ -122.442381999464232, 37.773329000579764 ], [ -122.444082000203963, 37.773229000513119 ], [ -122.445781999653789, 37.772929000409256 ], [ -122.44738200051502, 37.772729000647104 ], [ -122.448881999505758, 37.772529000879473 ], [ -122.450682000429921, 37.772329000953874 ], [ -122.452282000083699, 37.772029000386873 ], [ -122.45288200047743, 37.771929000865178 ], [ -122.453982000025462, 37.771829000666486 ], [ -122.45398200051379, 37.772829000247604 ], [ -122.454282000196741, 37.773729000522316 ], [ -122.454381999608685, 37.774729000492457 ], [ -122.452882000081203, 37.774929000707573 ], [ -122.452682000069785, 37.774929000276529 ], [ -122.451181999970416, 37.775129000444679 ], [ -122.449481999893692, 37.775329000855422 ], [ -122.448682000202837, 37.775429000920937 ], [ -122.44788199951779, 37.775529000949433 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 84, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.443682000449655, 37.766929000419971 ], [ -122.443881999986331, 37.767529000741369 ], [ -122.443082000085994, 37.768929000752387 ], [ -122.442282000371137, 37.769529000724674 ], [ -122.443081999840274, 37.770429000997979 ], [ -122.44188200036271, 37.770529000938602 ], [ -122.440281999617284, 37.770729001002962 ], [ -122.440011000359817, 37.770777000963697 ], [ -122.440281999817472, 37.771829000996455 ], [ -122.440482000049613, 37.772629000937727 ], [ -122.438982000266748, 37.77292900082513 ], [ -122.437282000494648, 37.773129001100592 ], [ -122.435681999685215, 37.773329000584553 ], [ -122.433981999576872, 37.773429001091031 ], [ -122.432281999742898, 37.773729001076404 ], [ -122.432182000065083, 37.772829001012788 ], [ -122.431981999981446, 37.771929000946699 ], [ -122.431881999924101, 37.77142900080198 ], [ -122.431782000036222, 37.770929000535446 ], [ -122.431682000310829, 37.770429001048399 ], [ -122.431581999407541, 37.770029000433333 ], [ -122.431481999447371, 37.769329000887097 ], [ -122.432382000353897, 37.769229000620804 ], [ -122.433482000206652, 37.769229000561559 ], [ -122.434582000107909, 37.769229001049332 ], [ -122.435682000431655, 37.769129000350368 ], [ -122.436382000350946, 37.769029000309814 ], [ -122.437481999493585, 37.769129000693461 ], [ -122.438182000448563, 37.769029000772534 ], [ -122.439182000402923, 37.768129001041139 ], [ -122.440381999953772, 37.767029000694528 ], [ -122.442481999701116, 37.765929000312333 ], [ -122.443682000449655, 37.766929000419971 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 82, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.42868199944958, 37.767729000974008 ], [ -122.428882000389763, 37.767429000833864 ], [ -122.430381999563167, 37.766029000636678 ], [ -122.43068199989483, 37.76592900107206 ], [ -122.43098200038088, 37.765729000770357 ], [ -122.432981999410146, 37.764229000539899 ], [ -122.434982000469503, 37.762429000761024 ], [ -122.435181999409693, 37.763429000838592 ], [ -122.435181999821154, 37.764229001007514 ], [ -122.435182000122978, 37.765029001068086 ], [ -122.435282000188181, 37.765729000779899 ], [ -122.43538200020231, 37.766529000307216 ], [ -122.435382000065928, 37.76732900096394 ], [ -122.435682000431655, 37.769129000350368 ], [ -122.434582000107909, 37.769229001049332 ], [ -122.433482000206652, 37.769229000561559 ], [ -122.432382000353897, 37.769229000620804 ], [ -122.431481999447371, 37.769329000887097 ], [ -122.431281999945924, 37.769329000234855 ], [ -122.430081999574966, 37.769429000798588 ], [ -122.429682000050335, 37.769429000706985 ], [ -122.428982000330535, 37.76942900065653 ], [ -122.428082000497909, 37.769529001070389 ], [ -122.426482000160533, 37.769629000418171 ], [ -122.425982000055456, 37.76962900035511 ], [ -122.426482000086565, 37.769229000863959 ], [ -122.427182000098611, 37.768729000943623 ], [ -122.428382000499198, 37.767829000798471 ], [ -122.42868199944958, 37.767729000974008 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 89, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.452181999916434, 37.762730000641561 ], [ -122.452281999558807, 37.763630000412988 ], [ -122.452482000342968, 37.764430000360747 ], [ -122.452681999541582, 37.765330000839874 ], [ -122.452781999831103, 37.766229000266506 ], [ -122.45298200049406, 37.766729000719231 ], [ -122.452981999819059, 37.7673290009743 ], [ -122.45318199945055, 37.76812900108709 ], [ -122.451382000302928, 37.768329000936696 ], [ -122.450381999653246, 37.768429000967167 ], [ -122.449181999647578, 37.768629000607937 ], [ -122.448182000028851, 37.768729000873144 ], [ -122.447481999955684, 37.768929000764032 ], [ -122.446481999751512, 37.76902900099514 ], [ -122.445781999508654, 37.769129000690725 ], [ -122.444981999425977, 37.769229000267934 ], [ -122.443281999513133, 37.769329001066964 ], [ -122.442282000371137, 37.769529000724674 ], [ -122.443082000085994, 37.768929000752387 ], [ -122.443881999986331, 37.767529000741369 ], [ -122.443682000449655, 37.766929000419971 ], [ -122.442481999701116, 37.765929000312333 ], [ -122.443281999528125, 37.765329000292809 ], [ -122.443782000176213, 37.765229000729846 ], [ -122.443882000350087, 37.764529001005457 ], [ -122.444281999418138, 37.764030000773666 ], [ -122.44468200028814, 37.76303000102191 ], [ -122.445782000506497, 37.76233000061498 ], [ -122.446282000305658, 37.762230001130639 ], [ -122.446182000152163, 37.76173000032049 ], [ -122.446581999674862, 37.761630000945019 ], [ -122.447581999902795, 37.761530000326907 ], [ -122.448882000190935, 37.761530000316156 ], [ -122.450482000504351, 37.761430000664483 ], [ -122.451782000454457, 37.761330000968087 ], [ -122.451982000042079, 37.762030001009279 ], [ -122.452181999916434, 37.762730000641561 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 107, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.407980999639193, 37.769229000362365 ], [ -122.407581000494432, 37.769529000373474 ], [ -122.407380999646946, 37.769629000404741 ], [ -122.406880999447523, 37.770129000271915 ], [ -122.406280999685478, 37.769629001033223 ], [ -122.405481000306182, 37.769729000814678 ], [ -122.405164000052977, 37.769721000855121 ], [ -122.404780999656111, 37.769729000285622 ], [ -122.404681000046665, 37.768629000328204 ], [ -122.404581000185019, 37.767329000443581 ], [ -122.404481000107296, 37.766029001101813 ], [ -122.404380999827779, 37.764729000500331 ], [ -122.404881000268162, 37.76462900031008 ], [ -122.405580999393223, 37.764629000975425 ], [ -122.406381000379596, 37.764529000250526 ], [ -122.407381000298301, 37.764529000333006 ], [ -122.408481000266264, 37.764429001005915 ], [ -122.409481000438106, 37.764329000490996 ], [ -122.410380999770865, 37.764329000332253 ], [ -122.411380999446621, 37.764329000708344 ], [ -122.412280999989974, 37.764229000552994 ], [ -122.412982000363598, 37.764229000989516 ], [ -122.412981999971578, 37.763829000409615 ], [ -122.413582000116648, 37.763829000655676 ], [ -122.415181999701076, 37.763729000258543 ], [ -122.416282000394588, 37.76362900102967 ], [ -122.417381999395488, 37.763629000471951 ], [ -122.417511000025442, 37.765228000300993 ], [ -122.417582000389984, 37.765729000647937 ], [ -122.417582000205712, 37.76682900046994 ], [ -122.417781999717263, 37.76852900067 ], [ -122.417782000032972, 37.769029000876706 ], [ -122.417782000432553, 37.769329000440749 ], [ -122.41768199974527, 37.769829000378174 ], [ -122.417681999691325, 37.770129000799557 ], [ -122.417919999462825, 37.771002000983245 ], [ -122.418282000046759, 37.772329000401903 ], [ -122.418481999976123, 37.772929000311599 ], [ -122.418551999502071, 37.773138000629523 ], [ -122.418581999420695, 37.773229001019182 ], [ -122.419024999855679, 37.774706000895897 ], [ -122.419074000116936, 37.774869000659884 ], [ -122.419182000316823, 37.775229000958738 ], [ -122.41868199976723, 37.775629000348701 ], [ -122.418081999692873, 37.775229000616378 ], [ -122.417474000478109, 37.774682001022427 ], [ -122.417081999619057, 37.774329001124769 ], [ -122.41658200009887, 37.773929000766366 ], [ -122.415982000033665, 37.773529001124629 ], [ -122.41548199969148, 37.773029000806503 ], [ -122.414982000455609, 37.772629000840595 ], [ -122.414582000077417, 37.772329000548019 ], [ -122.413981999928694, 37.771829000815579 ], [ -122.41248199967653, 37.770629000573578 ], [ -122.411007999413471, 37.769523000927556 ], [ -122.410881999701459, 37.769429000427955 ], [ -122.409781999741128, 37.770329000460158 ], [ -122.409081999450677, 37.76982900032904 ], [ -122.408380999964308, 37.769229001117083 ], [ -122.407980999639193, 37.769229000362365 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 42, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.364515999850397, 37.818068000922025 ], [ -122.364680999491782, 37.817927000499829 ], [ -122.36528099967822, 37.818527000324508 ], [ -122.36910000021264, 37.816881000527232 ], [ -122.371080999966566, 37.816027000812163 ], [ -122.371030999485313, 37.815974000303342 ], [ -122.367680999879127, 37.812428000898443 ], [ -122.359180999659188, 37.815027000378642 ], [ -122.358581000198242, 37.814527000671333 ], [ -122.35928100036854, 37.813727000902453 ], [ -122.360881000337457, 37.812528000648946 ], [ -122.360580999888782, 37.811528000840795 ], [ -122.360581000327755, 37.81122800060897 ], [ -122.361179000217248, 37.810406000371302 ], [ -122.361380999856436, 37.810128001125875 ], [ -122.362020999476329, 37.808272000533059 ], [ -122.362381000509629, 37.807228000851389 ], [ -122.366506999674286, 37.807641000911914 ], [ -122.367380999871699, 37.807728000517976 ], [ -122.367881000060166, 37.807928000258755 ], [ -122.372799999761966, 37.811100000588297 ], [ -122.372181000062284, 37.811628001036091 ], [ -122.371680999393362, 37.815128000403163 ], [ -122.37206799953951, 37.815716000511181 ], [ -122.379380999475273, 37.826827000901112 ], [ -122.379199000257913, 37.827371000380765 ], [ -122.378808000028314, 37.828544001109158 ], [ -122.378500000347927, 37.829469000443289 ], [ -122.378181000002883, 37.830427000507349 ], [ -122.373280999635782, 37.832427001038432 ], [ -122.368781000323793, 37.831227000380174 ], [ -122.367480999621478, 37.830127000348917 ], [ -122.367447999849276, 37.829472000787689 ], [ -122.367217000027154, 37.82953700024008 ], [ -122.367228999714627, 37.829737000625094 ], [ -122.367236999459109, 37.829875000553386 ], [ -122.36712300011861, 37.829886000409665 ], [ -122.366965999908075, 37.829558001016778 ], [ -122.366811000081711, 37.829639000664876 ], [ -122.366865000393062, 37.829966000459528 ], [ -122.366716999804268, 37.829966000606255 ], [ -122.366628000194495, 37.829703000586726 ], [ -122.366262999766576, 37.829821000493119 ], [ -122.366669000092443, 37.830696001048565 ], [ -122.366480999572232, 37.830827000971425 ], [ -122.365480999700537, 37.829027000451909 ], [ -122.36589000027368, 37.828925000923071 ], [ -122.366235000387874, 37.829483000241943 ], [ -122.366457999498863, 37.829392000368685 ], [ -122.366364000164921, 37.82908000096662 ], [ -122.366566999403815, 37.829037000296161 ], [ -122.366668999818714, 37.829354000630964 ], [ -122.366908999817724, 37.829242000839457 ], [ -122.366844999874345, 37.828973001065869 ], [ -122.366946000123846, 37.828897000868785 ], [ -122.367034000013177, 37.829214000454463 ], [ -122.367163000457822, 37.829193001116764 ], [ -122.367080999607268, 37.828627000364719 ], [ -122.366080999892617, 37.827227000691764 ], [ -122.364481000050077, 37.824827000961584 ], [ -122.363880999592027, 37.823927000597131 ], [ -122.362981000093896, 37.822527001127369 ], [ -122.363101000102276, 37.821984001010165 ], [ -122.361972000421289, 37.821563000980831 ], [ -122.361845000103372, 37.821515000848379 ], [ -122.361880000100939, 37.821420001113275 ], [ -122.361969000097758, 37.821179000622202 ], [ -122.363161000010024, 37.821532000897761 ], [ -122.363350999865389, 37.821543000953575 ], [ -122.363493999797171, 37.821103000334887 ], [ -122.363290000414949, 37.821103000956299 ], [ -122.362110999459688, 37.82079500056075 ], [ -122.362199999544913, 37.82055500031182 ], [ -122.363580999546414, 37.820888000306049 ], [ -122.363776999808934, 37.820399000556179 ], [ -122.362373000454355, 37.820088000858341 ], [ -122.362462000432586, 37.819849000823289 ], [ -122.364022000262281, 37.820077000795166 ], [ -122.364131000376261, 37.81972100106659 ], [ -122.364181000505013, 37.819727000567376 ], [ -122.364056000395891, 37.818979000659176 ], [ -122.365010000115049, 37.818481000857616 ], [ -122.364841000131065, 37.818272001104461 ], [ -122.364011999620715, 37.818716000551824 ], [ -122.363995999946638, 37.818620001002202 ], [ -122.364719000286229, 37.818250000295521 ], [ -122.364515999850397, 37.818068000922025 ] ] ], [ [ [ -122.332280999660867, 37.788128001089056 ], [ -122.327680999721878, 37.780828001083819 ], [ -122.331081000065822, 37.780928000483478 ], [ -122.332014000176628, 37.781743000841651 ], [ -122.332081000398219, 37.782528000850526 ], [ -122.332280999660867, 37.788128001089056 ] ] ], [ [ [ -122.421682000057018, 37.825127000339535 ], [ -122.422481999721242, 37.825727000349119 ], [ -122.424382000416514, 37.826727000732255 ], [ -122.425381999748197, 37.828427000699719 ], [ -122.424081999458394, 37.828627000376727 ], [ -122.423682000433999, 37.828327000257111 ], [ -122.422482000407939, 37.827727000996582 ], [ -122.421482000085291, 37.82722700113591 ], [ -122.420482000313513, 37.825627000316082 ], [ -122.421682000057018, 37.825127000339535 ] ] ], [ [ [ -122.419882000047053, 37.860426000628351 ], [ -122.420381999667825, 37.863426001113467 ], [ -122.418681999422404, 37.862126000265832 ], [ -122.419882000047053, 37.860426000628351 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 93, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.447382000459783, 37.75383000082622 ], [ -122.447482000243099, 37.75583000098635 ], [ -122.446582000382065, 37.755230000565938 ], [ -122.445282000164354, 37.755530000508493 ], [ -122.444981999975312, 37.755830001061533 ], [ -122.446881999777673, 37.756830000676544 ], [ -122.447382000342856, 37.757630000686177 ], [ -122.446981999643995, 37.75773000110798 ], [ -122.446781999514556, 37.758030000333996 ], [ -122.446482000421966, 37.758430001127664 ], [ -122.446182000021309, 37.758730000960988 ], [ -122.446129999969216, 37.759562000552464 ], [ -122.446081999824969, 37.76033000101836 ], [ -122.446182000115954, 37.760930000339151 ], [ -122.446581999674862, 37.761630000945019 ], [ -122.446182000152163, 37.76173000032049 ], [ -122.445181999876283, 37.761730000658531 ], [ -122.444182000495033, 37.761930000813145 ], [ -122.443181999888026, 37.761930000392404 ], [ -122.442581999513223, 37.762030000476805 ], [ -122.439982000245735, 37.76213000039855 ], [ -122.439181999944651, 37.762230000588488 ], [ -122.439282000301958, 37.761330000777008 ], [ -122.439181999741606, 37.760530001039484 ], [ -122.439082000092256, 37.759730001120538 ], [ -122.439082000193295, 37.75893000111386 ], [ -122.4389820002026, 37.758530000521695 ], [ -122.438781999421508, 37.757830000949482 ], [ -122.438782000407528, 37.757430000390535 ], [ -122.438781999703352, 37.757130000848093 ], [ -122.438782000410782, 37.756330000504214 ], [ -122.438682000051628, 37.755330000254503 ], [ -122.439681999438932, 37.755230000532819 ], [ -122.440281999684814, 37.755130000514754 ], [ -122.440582000516727, 37.754330001030894 ], [ -122.440781999598315, 37.754030000466031 ], [ -122.441282000340877, 37.753630000524751 ], [ -122.441782000219419, 37.753230001117764 ], [ -122.442182000020125, 37.752430000326797 ], [ -122.44258199975566, 37.752130001115923 ], [ -122.442581999617516, 37.752030000864465 ], [ -122.442681999424536, 37.751630000461802 ], [ -122.443082000128101, 37.751530000926877 ], [ -122.443281999724732, 37.750930000519844 ], [ -122.443381999989882, 37.750630000615288 ], [ -122.443381999434294, 37.750130001000969 ], [ -122.443182000340556, 37.749430000642526 ], [ -122.443882000381947, 37.746930000519711 ], [ -122.444582000170925, 37.74683000026279 ], [ -122.445278999815244, 37.746644000470667 ], [ -122.446081999493572, 37.746430000468635 ], [ -122.447204000137376, 37.746355000270661 ], [ -122.447582000238611, 37.746330000652854 ], [ -122.448381999558492, 37.746130000796811 ], [ -122.450482000115102, 37.745930000407412 ], [ -122.449181999477432, 37.746830000670734 ], [ -122.447281999753073, 37.749330000627516 ], [ -122.445381999461929, 37.748630000546015 ], [ -122.445381999943876, 37.749330000950806 ], [ -122.447789000450342, 37.750043000456515 ], [ -122.448082000272649, 37.750130000767236 ], [ -122.448981999971849, 37.749130000383033 ], [ -122.449381999999019, 37.750230000328521 ], [ -122.44848199949439, 37.750830000575824 ], [ -122.44748199940797, 37.750830001067271 ], [ -122.446881999925196, 37.751630000280954 ], [ -122.447181999565629, 37.752430000314249 ], [ -122.446581999434102, 37.753330000682311 ], [ -122.446781999503443, 37.753730000544316 ], [ -122.447382000459783, 37.75383000082622 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 103, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.430681999591584, 37.762629000378482 ], [ -122.428276999890969, 37.762825000557847 ], [ -122.426981999956539, 37.762929000326125 ], [ -122.426044999531669, 37.763027000289348 ], [ -122.426019000369223, 37.762633000811221 ], [ -122.42598200032181, 37.762229000805974 ], [ -122.425942999629257, 37.761391000548265 ], [ -122.425782000266025, 37.759830000608524 ], [ -122.425681999399714, 37.759030000505099 ], [ -122.425581999434783, 37.758230001121802 ], [ -122.425482000385088, 37.7574300006561 ], [ -122.425482000192218, 37.75663000081353 ], [ -122.426682000436202, 37.756530000255928 ], [ -122.427782000384155, 37.756530000517607 ], [ -122.429882000332313, 37.756430001061709 ], [ -122.431581999970163, 37.756330000490266 ], [ -122.432101999587658, 37.756266001004803 ], [ -122.434385999941313, 37.756119001005125 ], [ -122.434481999451094, 37.756830000873485 ], [ -122.434582000527357, 37.757630000415034 ], [ -122.434709999540289, 37.759270000996068 ], [ -122.434882000037618, 37.760830000324773 ], [ -122.434982000469503, 37.762429000761024 ], [ -122.433781999570783, 37.762529000739576 ], [ -122.432582000039773, 37.762629001110739 ], [ -122.431782000371498, 37.762629000554128 ], [ -122.431482000361569, 37.762629000296492 ], [ -122.430681999591584, 37.762629000378482 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 101, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.419581999424082, 37.763429001093797 ], [ -122.418482000299193, 37.763529000519426 ], [ -122.417381999395488, 37.763629000471951 ], [ -122.417182000316501, 37.761929000970881 ], [ -122.417081999613274, 37.760429000512751 ], [ -122.416981999522989, 37.75882900048488 ], [ -122.416780999967756, 37.757230000874578 ], [ -122.416580999567373, 37.755630000498975 ], [ -122.417780999683416, 37.755530000417387 ], [ -122.418781000430855, 37.755530000696943 ], [ -122.419981999617136, 37.755430000237794 ], [ -122.421082000454078, 37.755330000698692 ], [ -122.421182000299154, 37.756230000600873 ], [ -122.421281999490276, 37.756930001039493 ], [ -122.421281999818575, 37.757730000693165 ], [ -122.421382000523607, 37.758530000937618 ], [ -122.421465000461438, 37.759331000921556 ], [ -122.421567000328821, 37.760099000410563 ], [ -122.421682000416382, 37.76162900101972 ], [ -122.421781999918622, 37.762429000425186 ], [ -122.421782000461576, 37.762929000334502 ], [ -122.421781999495025, 37.763329001126053 ], [ -122.421039999836736, 37.763386000415331 ], [ -122.420481999616612, 37.763429000365221 ], [ -122.419581999424082, 37.763429001093797 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 99, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.422886999598163, 37.755210001082048 ], [ -122.422142000468824, 37.755264000602111 ], [ -122.421581999552416, 37.75533000050109 ], [ -122.421082000454078, 37.755330000698692 ], [ -122.420982000205427, 37.753730000624707 ], [ -122.420869000410462, 37.752189000338696 ], [ -122.420680999920506, 37.750530000999355 ], [ -122.420484000389379, 37.748980000698282 ], [ -122.420380999867007, 37.748130000292363 ], [ -122.421481999840083, 37.748030000548752 ], [ -122.422181999736296, 37.747930000995588 ], [ -122.424581999905087, 37.747830000730616 ], [ -122.424581999588028, 37.748630000823013 ], [ -122.424681999908785, 37.749430000469374 ], [ -122.424781999943207, 37.750130000624978 ], [ -122.424881999681375, 37.750930000811756 ], [ -122.424981999485254, 37.751830000992399 ], [ -122.425028000322058, 37.752566000776618 ], [ -122.425123999883127, 37.753400001121669 ], [ -122.425304000516221, 37.755026000894055 ], [ -122.424633999731995, 37.75509500031599 ], [ -122.424081999426505, 37.755130000827641 ], [ -122.423551999707357, 37.755169000948392 ], [ -122.422886999598163, 37.755210001082048 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 95, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.44258199975566, 37.752130001115923 ], [ -122.442182000020125, 37.752430000326797 ], [ -122.441782000219419, 37.753230001117764 ], [ -122.441282000340877, 37.753630000524751 ], [ -122.440781999598315, 37.754030000466031 ], [ -122.440582000516727, 37.754330001030894 ], [ -122.440281999684814, 37.755130000514754 ], [ -122.439681999438932, 37.755230000532819 ], [ -122.438682000051628, 37.755330000254503 ], [ -122.437519999581696, 37.75546000108622 ], [ -122.43759699950003, 37.755899000555516 ], [ -122.436516000187254, 37.755973000605643 ], [ -122.435373999893642, 37.756034000755065 ], [ -122.434385999941313, 37.756119001005125 ], [ -122.434309000367406, 37.755252000390378 ], [ -122.434215999913263, 37.754458000639936 ], [ -122.434182000471623, 37.753630000603607 ], [ -122.434081999453966, 37.752830001116529 ], [ -122.433982000487859, 37.752030000552281 ], [ -122.433908000062232, 37.751221000645984 ], [ -122.436081999528739, 37.7510300006617 ], [ -122.43818200037903, 37.750930000488545 ], [ -122.439381999860956, 37.750830000846939 ], [ -122.440381999598642, 37.750830000585054 ], [ -122.441481999996213, 37.75073000041656 ], [ -122.442581999749478, 37.750630000782401 ], [ -122.443381999989882, 37.750630000615288 ], [ -122.443281999724732, 37.750930000519844 ], [ -122.443082000128101, 37.751530000926877 ], [ -122.442681999424536, 37.751630000461802 ], [ -122.442581999617516, 37.752030000864465 ], [ -122.44258199975566, 37.752130001115923 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 97, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.424581999905087, 37.747830000730616 ], [ -122.426882000420676, 37.747630000482154 ], [ -122.428981999516012, 37.747530000768322 ], [ -122.431081999965798, 37.747430000575406 ], [ -122.433381999950768, 37.747330000737662 ], [ -122.433482000406016, 37.748130000607418 ], [ -122.433582000062117, 37.748830000923263 ], [ -122.433681999944781, 37.749630000431971 ], [ -122.433781999594814, 37.7504300006552 ], [ -122.433908000062232, 37.751221000645984 ], [ -122.431582000322621, 37.751330000824709 ], [ -122.429381999673311, 37.75153000059251 ], [ -122.428336000267677, 37.75153900038773 ], [ -122.427182000166809, 37.751530000328707 ], [ -122.426058999872765, 37.751688000695502 ], [ -122.425538999910827, 37.751762000799211 ], [ -122.424981999485254, 37.751830000992399 ], [ -122.424881999681375, 37.750930000811756 ], [ -122.424781999943207, 37.750130000624978 ], [ -122.424681999908785, 37.749430000469374 ], [ -122.424581999588028, 37.748630000823013 ], [ -122.424581999905087, 37.747830000730616 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 129, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.432982000139845, 37.741830000988962 ], [ -122.432981999410657, 37.742430000542328 ], [ -122.432981999613247, 37.743130000400328 ], [ -122.434482000024147, 37.743130000722104 ], [ -122.435182000156459, 37.743030000277507 ], [ -122.435082000322922, 37.742830000700302 ], [ -122.435281999432164, 37.741930000239691 ], [ -122.435681999587231, 37.74183000028188 ], [ -122.437682000434449, 37.743330000549051 ], [ -122.439881999672636, 37.745230000335013 ], [ -122.440681999627074, 37.745030000464062 ], [ -122.441881999892502, 37.744330000655978 ], [ -122.444781999880917, 37.743530000876106 ], [ -122.446181999886605, 37.745430000707501 ], [ -122.446581999615191, 37.746030000706611 ], [ -122.447181999925974, 37.746030000662856 ], [ -122.447204000137376, 37.746355000270661 ], [ -122.446081999493572, 37.746430000468635 ], [ -122.445278999815244, 37.746644000470667 ], [ -122.444582000170925, 37.74683000026279 ], [ -122.443882000381947, 37.746930000519711 ], [ -122.443281999697305, 37.74693000086333 ], [ -122.442982000520416, 37.747230000454756 ], [ -122.442182000266598, 37.748030000615749 ], [ -122.441181999641117, 37.74843000038107 ], [ -122.44042000022381, 37.748506000284173 ], [ -122.440181999627669, 37.748530000623965 ], [ -122.439081999468854, 37.748530001119242 ], [ -122.438081999918168, 37.748630000655403 ], [ -122.437881999470946, 37.747830000905395 ], [ -122.437881999513394, 37.747030000237366 ], [ -122.435681999632649, 37.747130000752726 ], [ -122.434805999935435, 37.747206000776721 ], [ -122.433381999950768, 37.747330000737662 ], [ -122.431081999965798, 37.747430000575406 ], [ -122.431082000507232, 37.746630000994365 ], [ -122.431082000277513, 37.74573000099479 ], [ -122.431081999456126, 37.744930000276796 ], [ -122.43088200030212, 37.744230000481984 ], [ -122.430881999844658, 37.743330001026749 ], [ -122.430882000156501, 37.742630000357892 ], [ -122.430781999955528, 37.741730000889561 ], [ -122.431782000042148, 37.7416300007201 ], [ -122.432982000139845, 37.741830000988962 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 130, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.433494999872309, 37.736285000365108 ], [ -122.434582000086834, 37.737130000253124 ], [ -122.434182000249677, 37.736030000853908 ], [ -122.434981999484322, 37.735430001056493 ], [ -122.43548200039865, 37.734630000492139 ], [ -122.435682000058051, 37.733731000292799 ], [ -122.436681999751585, 37.733931001103521 ], [ -122.437582000286397, 37.734031000745844 ], [ -122.438282000030753, 37.734231001077106 ], [ -122.439082000079495, 37.73443100085661 ], [ -122.439882000125962, 37.734731000252246 ], [ -122.44058200021172, 37.734931000463042 ], [ -122.440897999844381, 37.73536500070464 ], [ -122.441194999748333, 37.735586000267602 ], [ -122.441881999598081, 37.735830000262951 ], [ -122.44234899991379, 37.735723000272777 ], [ -122.443181999614524, 37.735531001086898 ], [ -122.443681999941404, 37.735831001134102 ], [ -122.443081999579135, 37.736430000708147 ], [ -122.442181999639118, 37.737330000278796 ], [ -122.442881999606229, 37.738530000741406 ], [ -122.443582000391729, 37.739730000485409 ], [ -122.445681999936326, 37.741030000779723 ], [ -122.446092999702699, 37.742016001112219 ], [ -122.446182000483091, 37.742230000361644 ], [ -122.449582000369261, 37.743430000880942 ], [ -122.451482000379272, 37.745430001112744 ], [ -122.450482000115102, 37.745930000407412 ], [ -122.448381999558492, 37.746130000796811 ], [ -122.447582000238611, 37.746330000652854 ], [ -122.447204000137376, 37.746355000270661 ], [ -122.447181999925974, 37.746030000662856 ], [ -122.446581999615191, 37.746030000706611 ], [ -122.446181999886605, 37.745430000707501 ], [ -122.444781999880917, 37.743530000876106 ], [ -122.441881999892502, 37.744330000655978 ], [ -122.440681999627074, 37.745030000464062 ], [ -122.439881999672636, 37.745230000335013 ], [ -122.437682000434449, 37.743330000549051 ], [ -122.435681999587231, 37.74183000028188 ], [ -122.435281999432164, 37.741930000239691 ], [ -122.435082000322922, 37.742830000700302 ], [ -122.435182000156459, 37.743030000277507 ], [ -122.434482000024147, 37.743130000722104 ], [ -122.432981999613247, 37.743130000400328 ], [ -122.432981999410657, 37.742430000542328 ], [ -122.432982000139845, 37.741830000988962 ], [ -122.431782000042148, 37.7416300007201 ], [ -122.430781999955528, 37.741730000889561 ], [ -122.430482000070185, 37.740330001092339 ], [ -122.430181999755888, 37.740230001026752 ], [ -122.431482000150126, 37.73973000045099 ], [ -122.430981999958689, 37.739330000783191 ], [ -122.428781999609825, 37.738830000673282 ], [ -122.428781999726155, 37.738530000325774 ], [ -122.428528999860845, 37.738295000751648 ], [ -122.428770000265175, 37.738157000782024 ], [ -122.42918199957802, 37.73783000084547 ], [ -122.429581999401009, 37.737630000307057 ], [ -122.431281999734594, 37.736430000936387 ], [ -122.432581999737536, 37.735730001123848 ], [ -122.432781999620929, 37.73573000108032 ], [ -122.433494999872309, 37.736285000365108 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 111, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.391880999685512, 37.755229000893209 ], [ -122.392331999514425, 37.756131000545118 ], [ -122.392381000152454, 37.756229000758495 ], [ -122.392580999609521, 37.757729000682097 ], [ -122.392781000463117, 37.760229000712826 ], [ -122.392881000418242, 37.761529000607062 ], [ -122.392880999503362, 37.762129000686784 ], [ -122.392981000150712, 37.762829001044445 ], [ -122.393081000330795, 37.763529000337627 ], [ -122.393081000277206, 37.763929000569988 ], [ -122.393121000108394, 37.764129000722939 ], [ -122.393680999422301, 37.764129000861452 ], [ -122.393880999403734, 37.765329000936681 ], [ -122.393880999949673, 37.765629000360846 ], [ -122.393881000297085, 37.765829000869779 ], [ -122.393880999841855, 37.766229000960237 ], [ -122.393981000417199, 37.76662900068068 ], [ -122.393280999841167, 37.766629000432935 ], [ -122.390881000312831, 37.76672900063194 ], [ -122.390578000505698, 37.766729000547869 ], [ -122.390281000065173, 37.766729000982181 ], [ -122.389080999497196, 37.766929001053612 ], [ -122.388181000197704, 37.766929000652162 ], [ -122.387980999690043, 37.765629000764747 ], [ -122.387781000198842, 37.764329000283375 ], [ -122.387881000105992, 37.763929000485824 ], [ -122.386080999433091, 37.767129000699668 ], [ -122.384781000162846, 37.76712900065327 ], [ -122.382981000521838, 37.767129000272227 ], [ -122.382980999815175, 37.766829001076609 ], [ -122.385680999885366, 37.766729001018554 ], [ -122.385780999566833, 37.765929000576421 ], [ -122.386380999739487, 37.765829000819352 ], [ -122.386581000206718, 37.765529000835748 ], [ -122.386180999749484, 37.765429000280854 ], [ -122.385981000521724, 37.764629000263497 ], [ -122.386880999472538, 37.763529000665336 ], [ -122.386581000287663, 37.763229001127584 ], [ -122.384681000455942, 37.763429000902356 ], [ -122.38438099961725, 37.762629000356569 ], [ -122.383981000088156, 37.762629000275993 ], [ -122.384180999654504, 37.764129000592526 ], [ -122.383980999822683, 37.76412900081862 ], [ -122.383681000350975, 37.762329000571114 ], [ -122.383480999553854, 37.762429000672249 ], [ -122.383481000082199, 37.764229000579213 ], [ -122.38328099999012, 37.764229000516174 ], [ -122.383081000433506, 37.762529000954508 ], [ -122.382480999932397, 37.762629000263651 ], [ -122.382680999719668, 37.764229000994241 ], [ -122.382480999638958, 37.764229000474707 ], [ -122.382181000215795, 37.762529000874572 ], [ -122.381981000176225, 37.762529000424074 ], [ -122.38218099951176, 37.764229000861519 ], [ -122.381881000470727, 37.764329000261036 ], [ -122.381480999508597, 37.762429000263829 ], [ -122.381381000167124, 37.761529000776328 ], [ -122.381280999475891, 37.760229000837185 ], [ -122.380781000122667, 37.760229000271458 ], [ -122.38018100044772, 37.760329000585486 ], [ -122.380381000357389, 37.762229000537658 ], [ -122.379981000159361, 37.762429000892979 ], [ -122.380080999530236, 37.759829000898804 ], [ -122.380980999917256, 37.759729000837396 ], [ -122.381380999826689, 37.759529000539487 ], [ -122.381280999822749, 37.758129000305772 ], [ -122.381680999950746, 37.757629001068679 ], [ -122.381281000188153, 37.757929000561575 ], [ -122.381081000053328, 37.757929000429449 ], [ -122.381180999407277, 37.757429000691246 ], [ -122.381481000429829, 37.757429000955391 ], [ -122.381480999567898, 37.757129000389718 ], [ -122.381081000195692, 37.757129000484866 ], [ -122.380880999944111, 37.755229000976293 ], [ -122.38408100019285, 37.755029000845596 ], [ -122.384180999979179, 37.754629000883767 ], [ -122.383280999545377, 37.754829000404541 ], [ -122.383081000262294, 37.754529000281671 ], [ -122.382780999756008, 37.753529001055249 ], [ -122.382181000254434, 37.753429000243969 ], [ -122.379981000435535, 37.754129000577564 ], [ -122.380980999580245, 37.753629000973021 ], [ -122.380681000168124, 37.753329000560022 ], [ -122.381581000100979, 37.753329000884982 ], [ -122.382081000299209, 37.753229000643657 ], [ -122.383481000128285, 37.753029000335523 ], [ -122.386080999854116, 37.752929000442478 ], [ -122.386980999710886, 37.752929000969679 ], [ -122.387869999540186, 37.752860000419084 ], [ -122.388721999735921, 37.752801000540067 ], [ -122.389881000498235, 37.752730000440188 ], [ -122.390880999955058, 37.752630000282835 ], [ -122.391380999425877, 37.7538290006366 ], [ -122.391880999685512, 37.755229000893209 ] ] ], [ [ [ -122.380781000122667, 37.760229000271458 ], [ -122.380981000388161, 37.76212900109509 ], [ -122.380681000319015, 37.762229001098916 ], [ -122.380781000122667, 37.760229000271458 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 112, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.398381000283024, 37.762429000719202 ], [ -122.398581000259668, 37.763729000476189 ], [ -122.398681000055674, 37.765029000456678 ], [ -122.397681000244958, 37.765129000257929 ], [ -122.396781000372414, 37.765229000547201 ], [ -122.395880999778925, 37.765229000438019 ], [ -122.394881000438261, 37.765329000789002 ], [ -122.394480999796727, 37.765329000242922 ], [ -122.393880999403734, 37.765329000936681 ], [ -122.393680999422301, 37.764129000861452 ], [ -122.393121000108394, 37.764129000722939 ], [ -122.393081000277206, 37.763929000569988 ], [ -122.393081000330795, 37.763529000337627 ], [ -122.392981000150712, 37.762829001044445 ], [ -122.392880999503362, 37.762129000686784 ], [ -122.392881000418242, 37.761529000607062 ], [ -122.392781000463117, 37.760229000712826 ], [ -122.393380999744167, 37.760129001071164 ], [ -122.394280999735713, 37.760129001130551 ], [ -122.395281000129302, 37.760029001043598 ], [ -122.396181000150918, 37.759929001098158 ], [ -122.397281000107299, 37.759929000527833 ], [ -122.398181000109545, 37.759929000535621 ], [ -122.398238000146989, 37.760614001110447 ], [ -122.398280999536041, 37.761129000841962 ], [ -122.398381000283024, 37.762429000719202 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 116, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.413381000282442, 37.757430000796113 ], [ -122.41468099956829, 37.757330001059266 ], [ -122.415780999427099, 37.757330000718426 ], [ -122.416780999967756, 37.757230000874578 ], [ -122.416981999522989, 37.75882900048488 ], [ -122.417081999613274, 37.760429000512751 ], [ -122.417182000316501, 37.761929000970881 ], [ -122.417381999395488, 37.763629000471951 ], [ -122.416282000394588, 37.76362900102967 ], [ -122.415181999701076, 37.763729000258543 ], [ -122.413582000116648, 37.763829000655676 ], [ -122.412981999971578, 37.763829000409615 ], [ -122.412982000363598, 37.764229000989516 ], [ -122.412280999989974, 37.764229000552994 ], [ -122.411380999446621, 37.764329000708344 ], [ -122.410380999770865, 37.764329000332253 ], [ -122.409481000438106, 37.764329000490996 ], [ -122.408481000266264, 37.764429001005915 ], [ -122.408081000434478, 37.763229000975514 ], [ -122.408280999541233, 37.761929000501034 ], [ -122.4080809999477, 37.760729000884368 ], [ -122.40798100046662, 37.759229000239053 ], [ -122.407881000066112, 37.75772900094185 ], [ -122.408781000010237, 37.757629001012234 ], [ -122.409580999503461, 37.75762900071247 ], [ -122.410480999423825, 37.757529000404041 ], [ -122.41138100037854, 37.757430000887723 ], [ -122.412380999433495, 37.757530000600532 ], [ -122.413381000282442, 37.757430000796113 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 117, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.410280999652826, 37.7543300002406 ], [ -122.411280999827198, 37.754230000938833 ], [ -122.411980999924268, 37.754230001115019 ], [ -122.413081000165533, 37.754130000502876 ], [ -122.414181000236283, 37.754130000518352 ], [ -122.415480999714376, 37.75403000071779 ], [ -122.416580999557638, 37.754030000857824 ], [ -122.416580999567373, 37.755630000498975 ], [ -122.416780999967756, 37.757230000874578 ], [ -122.415780999427099, 37.757330000718426 ], [ -122.41468099956829, 37.757330001059266 ], [ -122.413381000282442, 37.757430000796113 ], [ -122.412380999433495, 37.757530000600532 ], [ -122.41138100037854, 37.757430000887723 ], [ -122.410480999423825, 37.757529000404041 ], [ -122.409580999503461, 37.75762900071247 ], [ -122.408781000010237, 37.757629001012234 ], [ -122.407881000066112, 37.75772900094185 ], [ -122.407680999497231, 37.756130001115729 ], [ -122.407481000297324, 37.754530000997001 ], [ -122.408480999612962, 37.754530000298836 ], [ -122.409280999542233, 37.754330000895841 ], [ -122.410280999652826, 37.7543300002406 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 120, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.408781000057672, 37.748230000511306 ], [ -122.40898100005154, 37.749630000779497 ], [ -122.409181000500482, 37.751230000644284 ], [ -122.409081000153805, 37.752830000293528 ], [ -122.409280999542233, 37.754330000895841 ], [ -122.408480999612962, 37.754530000298836 ], [ -122.407481000297324, 37.754530000997001 ], [ -122.406381000317381, 37.754530000612846 ], [ -122.406481000402152, 37.75433000031461 ], [ -122.405481000470374, 37.754330000270933 ], [ -122.404480999445028, 37.754330000749142 ], [ -122.403681000431888, 37.754430000838731 ], [ -122.403081000417018, 37.754430000911185 ], [ -122.402974000139963, 37.751822000859249 ], [ -122.403232999994515, 37.751074000972459 ], [ -122.403380999720909, 37.750630000435528 ], [ -122.403880999460142, 37.749430000870312 ], [ -122.404041999625349, 37.749470000687069 ], [ -122.404280999878864, 37.749477000791401 ], [ -122.404556999849675, 37.749461000983963 ], [ -122.404681000158604, 37.749430001093472 ], [ -122.40476399966029, 37.749402000895465 ], [ -122.40528099971074, 37.749230000583616 ], [ -122.405980999565799, 37.74903000081094 ], [ -122.406076999985657, 37.748972000900402 ], [ -122.406272999418988, 37.748855000694356 ], [ -122.406481000071452, 37.748730001022395 ], [ -122.407880999489009, 37.748330000981525 ], [ -122.408781000057672, 37.748230000511306 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 139, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.402080999500228, 37.739330000418938 ], [ -122.40108099998686, 37.739630000618412 ], [ -122.399981000039716, 37.739930000640818 ], [ -122.399908000191715, 37.739890000792883 ], [ -122.397981000316221, 37.738830000946407 ], [ -122.397281000165265, 37.73863000048533 ], [ -122.395781000191036, 37.737830000712066 ], [ -122.396181000359007, 37.73753000088228 ], [ -122.39668099979032, 37.737030000800914 ], [ -122.396980999829481, 37.736530000352687 ], [ -122.397480999563456, 37.736030000358355 ], [ -122.398080999428757, 37.73553000051529 ], [ -122.398481000403748, 37.734230000952273 ], [ -122.398581000483404, 37.733630000701211 ], [ -122.400081000274071, 37.732130000695392 ], [ -122.39948099984889, 37.731530000489585 ], [ -122.400381000106108, 37.731330000620851 ], [ -122.399780999518171, 37.730230000659311 ], [ -122.40038199996728, 37.729730000705466 ], [ -122.400782000292892, 37.729130000419339 ], [ -122.401482000195614, 37.728530000808 ], [ -122.401927000181445, 37.727997000968536 ], [ -122.401981999825693, 37.727931000574785 ], [ -122.402019999922686, 37.728031000934173 ], [ -122.402481999718091, 37.729230000780255 ], [ -122.40288199969784, 37.729830000554713 ], [ -122.403382000443273, 37.730530000798353 ], [ -122.404481999832711, 37.73293000027985 ], [ -122.40528199994958, 37.733930000706174 ], [ -122.405583999843302, 37.734388000341497 ], [ -122.406037999460636, 37.735066000970804 ], [ -122.406128000333041, 37.73520000098091 ], [ -122.406282000499928, 37.735430000936852 ], [ -122.406382000410488, 37.735630000572925 ], [ -122.406571000378349, 37.736440000736479 ], [ -122.406637000237808, 37.73660400065549 ], [ -122.406848999837663, 37.737924000660307 ], [ -122.405688000187851, 37.738343000596423 ], [ -122.404893000216532, 37.738586001112296 ], [ -122.404256999426437, 37.738745000367693 ], [ -122.403280999467469, 37.73903000028016 ], [ -122.402080999500228, 37.739330000418938 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 143, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.387281000291779, 37.741230000279216 ], [ -122.385480999448205, 37.7401300003987 ], [ -122.385880999941591, 37.73963000027539 ], [ -122.386381000221178, 37.739030000882877 ], [ -122.386480999494296, 37.738930000238078 ], [ -122.386781000212551, 37.738630000497949 ], [ -122.387080999630626, 37.738330000865069 ], [ -122.387580999526804, 37.737730000690348 ], [ -122.388181000445556, 37.737030000685138 ], [ -122.388681000154932, 37.736530000426924 ], [ -122.387981000155293, 37.736102000728899 ], [ -122.386881000523999, 37.735430000661751 ], [ -122.387381000352477, 37.734830000979635 ], [ -122.387980999793243, 37.73413000066661 ], [ -122.388580999656128, 37.733530001105038 ], [ -122.388981000238914, 37.732830000762327 ], [ -122.390980999948511, 37.734030000362274 ], [ -122.390781000398647, 37.734830000511742 ], [ -122.39038100003738, 37.735530000441351 ], [ -122.390180999986896, 37.73633000113427 ], [ -122.389780999939717, 37.737230000235414 ], [ -122.389581000520096, 37.737930000297972 ], [ -122.389580999991082, 37.738630001104994 ], [ -122.389481000044384, 37.738830001027914 ], [ -122.389181000354455, 37.739530000459062 ], [ -122.388781000500686, 37.740330000782897 ], [ -122.388480999496835, 37.741130001100643 ], [ -122.388381000113256, 37.741830000903398 ], [ -122.387981000509555, 37.742630000834325 ], [ -122.386680999595541, 37.741930000468479 ], [ -122.387281000291779, 37.741230000279216 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 144, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.383981000142853, 37.737530000336854 ], [ -122.383844999635087, 37.737054000649678 ], [ -122.383780999785458, 37.736830000627549 ], [ -122.38363999961588, 37.736454000905866 ], [ -122.383480999658474, 37.736030000938591 ], [ -122.383181000167482, 37.735330000669201 ], [ -122.382980999909392, 37.734830000838635 ], [ -122.382901000158327, 37.734670001093896 ], [ -122.382381000428737, 37.733630000896788 ], [ -122.380281000370047, 37.732530001008413 ], [ -122.380677000196457, 37.733106000747796 ], [ -122.380828000191329, 37.73318900047019 ], [ -122.380898999685883, 37.733255001023693 ], [ -122.381010999992952, 37.733321000524448 ], [ -122.381091000046752, 37.733409000715831 ], [ -122.381171999750521, 37.733477000454968 ], [ -122.381243000201906, 37.73353900075773 ], [ -122.3813039998645, 37.733602000365096 ], [ -122.381365000016203, 37.733673000939234 ], [ -122.381395000285195, 37.733734000921167 ], [ -122.381445000269466, 37.73381400106517 ], [ -122.381476000525282, 37.73388400052059 ], [ -122.381466000180566, 37.73406800069084 ], [ -122.381381000146263, 37.734130000622308 ], [ -122.380281000028234, 37.733530000286791 ], [ -122.37988099961386, 37.732630000491476 ], [ -122.379580999948828, 37.731830000437085 ], [ -122.379581000416295, 37.731230000379767 ], [ -122.379880999495469, 37.730830000346138 ], [ -122.380903999821641, 37.730538001117246 ], [ -122.381281000455346, 37.730430000745962 ], [ -122.38238100042723, 37.730830000271915 ], [ -122.383080999705044, 37.730430000515071 ], [ -122.383481000166682, 37.729830000927855 ], [ -122.385280999682138, 37.730730000922506 ], [ -122.387281000320257, 37.731830000793337 ], [ -122.388981000238914, 37.732830000762327 ], [ -122.388580999656128, 37.733530001105038 ], [ -122.387980999793243, 37.73413000066661 ], [ -122.387381000352477, 37.734830000979635 ], [ -122.386881000523999, 37.735430000661751 ], [ -122.387981000155293, 37.736102000728899 ], [ -122.388681000154932, 37.736530000426924 ], [ -122.388181000445556, 37.737030000685138 ], [ -122.387580999526804, 37.737730000690348 ], [ -122.387080999630626, 37.738330000865069 ], [ -122.386781000212551, 37.738630000497949 ], [ -122.386480999494296, 37.738930000238078 ], [ -122.386381000221178, 37.739030000882877 ], [ -122.385880999941591, 37.73963000027539 ], [ -122.385480999448205, 37.7401300003987 ], [ -122.383480999820407, 37.739230000976498 ], [ -122.382481000454248, 37.738630000866735 ], [ -122.381780999540851, 37.738230000911663 ], [ -122.381924000518907, 37.737908000961824 ], [ -122.382033000173578, 37.73766200097667 ], [ -122.382180999712574, 37.737330000631111 ], [ -122.383981000142853, 37.737530000336854 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 145, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.380281000028234, 37.733530000286791 ], [ -122.381381000146263, 37.734130000622308 ], [ -122.381466000180566, 37.73406800069084 ], [ -122.381476000525282, 37.73388400052059 ], [ -122.381445000269466, 37.73381400106517 ], [ -122.381395000285195, 37.733734000921167 ], [ -122.381365000016203, 37.733673000939234 ], [ -122.3813039998645, 37.733602000365096 ], [ -122.381243000201906, 37.73353900075773 ], [ -122.381171999750521, 37.733477000454968 ], [ -122.381091000046752, 37.733409000715831 ], [ -122.381010999992952, 37.733321000524448 ], [ -122.380898999685883, 37.733255001023693 ], [ -122.380828000191329, 37.73318900047019 ], [ -122.380677000196457, 37.733106000747796 ], [ -122.380281000370047, 37.732530001008413 ], [ -122.382381000428737, 37.733630000896788 ], [ -122.382901000158327, 37.734670001093896 ], [ -122.382980999909392, 37.734830000838635 ], [ -122.383181000167482, 37.735330000669201 ], [ -122.383480999658474, 37.736030000938591 ], [ -122.38363999961588, 37.736454000905866 ], [ -122.383780999785458, 37.736830000627549 ], [ -122.383844999635087, 37.737054000649678 ], [ -122.383981000142853, 37.737530000336854 ], [ -122.382180999712574, 37.737330000631111 ], [ -122.382033000173578, 37.73766200097667 ], [ -122.381924000518907, 37.737908000961824 ], [ -122.381780999540851, 37.738230000911663 ], [ -122.381281000255328, 37.738630001098372 ], [ -122.380981000120869, 37.738930000283155 ], [ -122.380480999784069, 37.738630001072927 ], [ -122.379280999623546, 37.737930000303294 ], [ -122.378481000444964, 37.738630000696176 ], [ -122.377780999749902, 37.739430000842098 ], [ -122.376880999462344, 37.740430000696342 ], [ -122.373880999933107, 37.743930000543969 ], [ -122.370881000497604, 37.740030000984866 ], [ -122.374880999424946, 37.739930000531537 ], [ -122.375980999832578, 37.73863000093705 ], [ -122.374860000130511, 37.738028000519904 ], [ -122.374980999437071, 37.737730000819482 ], [ -122.375480999661178, 37.736530000566709 ], [ -122.375880999941899, 37.735730000241176 ], [ -122.375681000494609, 37.735630000853845 ], [ -122.375380999660095, 37.735430001016063 ], [ -122.375781000399073, 37.735030000912452 ], [ -122.375881000473186, 37.734930001117903 ], [ -122.375081000063162, 37.733830000688783 ], [ -122.372081000410319, 37.733830000706881 ], [ -122.370081000294178, 37.732330000685366 ], [ -122.371181000476412, 37.731130000237634 ], [ -122.371780999752517, 37.730730000336976 ], [ -122.371843000130582, 37.730631001031256 ], [ -122.372281000103726, 37.729930000868031 ], [ -122.372880999771695, 37.729430000328385 ], [ -122.373078999558928, 37.729267001029513 ], [ -122.3735790002616, 37.728856001013177 ], [ -122.374403000295317, 37.728194000843217 ], [ -122.376680999813317, 37.728530000840948 ], [ -122.37768100033972, 37.72863000103537 ], [ -122.37827800013568, 37.728964000729569 ], [ -122.378681000165898, 37.729130000458476 ], [ -122.379381000470843, 37.728330000410352 ], [ -122.379780999963003, 37.727830000984412 ], [ -122.381680999631712, 37.728830001033771 ], [ -122.383481000166682, 37.729830000927855 ], [ -122.383080999705044, 37.730430000515071 ], [ -122.38238100042723, 37.730830000271915 ], [ -122.381281000455346, 37.730430000745962 ], [ -122.380903999821641, 37.730538001117246 ], [ -122.379880999495469, 37.730830000346138 ], [ -122.379581000416295, 37.731230000379767 ], [ -122.379580999948828, 37.731830000437085 ], [ -122.37988099961386, 37.732630000491476 ], [ -122.380281000028234, 37.733530000286791 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 148, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.395281999497612, 37.723131000523182 ], [ -122.39488099954005, 37.723931000233868 ], [ -122.394681000472914, 37.724631000895442 ], [ -122.394281000219351, 37.725431000741821 ], [ -122.393780999763862, 37.726430000911741 ], [ -122.393781000184632, 37.726930000506179 ], [ -122.393180999423151, 37.727930000445241 ], [ -122.391781000418959, 37.726730000692307 ], [ -122.389780999690203, 37.725630000770096 ], [ -122.387980999738531, 37.724631000462139 ], [ -122.386080999714935, 37.723631000387364 ], [ -122.385213999530862, 37.723089000244755 ], [ -122.38368100024897, 37.722131000643252 ], [ -122.383880999952495, 37.720431000984725 ], [ -122.38448099988166, 37.719931000437754 ], [ -122.385550000458892, 37.718769000749717 ], [ -122.386780999393238, 37.717431001031045 ], [ -122.388381000110058, 37.71613100076268 ], [ -122.388781000139474, 37.716331000675943 ], [ -122.389380999957041, 37.71683100056498 ], [ -122.390580999768403, 37.717531001071904 ], [ -122.391281999716568, 37.718031000456335 ], [ -122.3916820003694, 37.717531000768219 ], [ -122.392682000119478, 37.718031001125787 ], [ -122.39358199964488, 37.718331000241534 ], [ -122.395681999440981, 37.719431000313236 ], [ -122.396782000486141, 37.720031000464019 ], [ -122.396482000243807, 37.720531001117003 ], [ -122.396181999782229, 37.720931000383011 ], [ -122.395981999844466, 37.721631000967328 ], [ -122.395682000121539, 37.722231000856453 ], [ -122.395581999642303, 37.722331000690623 ], [ -122.395281999497612, 37.723131000523182 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 121, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.404556999849675, 37.749461000983963 ], [ -122.404280999878864, 37.749477000791401 ], [ -122.404041999625349, 37.749470000687069 ], [ -122.403880999460142, 37.749430000870312 ], [ -122.403564000440966, 37.749385000558092 ], [ -122.403780999579368, 37.748630000550769 ], [ -122.403757999494061, 37.748491000377875 ], [ -122.4036809996107, 37.74803000034106 ], [ -122.403593999838733, 37.747506000781797 ], [ -122.403581000050622, 37.74743000089483 ], [ -122.403680999760638, 37.746830000270634 ], [ -122.403723999769767, 37.746629000702541 ], [ -122.403980999974308, 37.745430000980079 ], [ -122.404480999479915, 37.744430000793521 ], [ -122.40498099975008, 37.743530000306613 ], [ -122.405381000217929, 37.742930000354654 ], [ -122.405780999434072, 37.742430001009581 ], [ -122.40658799975742, 37.7412410009048 ], [ -122.406889000230535, 37.739653000816659 ], [ -122.406924999712302, 37.739334000998952 ], [ -122.406917999792597, 37.738912000321484 ], [ -122.406892000059401, 37.738344000469773 ], [ -122.406848999837663, 37.737924000660307 ], [ -122.407204000448516, 37.737800000383068 ], [ -122.407379000006927, 37.737739000349784 ], [ -122.407899000027001, 37.737546000487526 ], [ -122.408077000524898, 37.737474000378064 ], [ -122.408479000105601, 37.737273000991024 ], [ -122.408781999744448, 37.736930000355187 ], [ -122.408986999721449, 37.736932000908197 ], [ -122.4092269998186, 37.736926000668397 ], [ -122.40980400005003, 37.73692100097076 ], [ -122.410414999430159, 37.736926000991218 ], [ -122.410181999923537, 37.738130000522553 ], [ -122.410181999577134, 37.73853000097558 ], [ -122.410381999556279, 37.738930000642384 ], [ -122.410281999629646, 37.739730000492195 ], [ -122.410682000077855, 37.739930000743072 ], [ -122.410480999843173, 37.741330000323543 ], [ -122.410740000357947, 37.741330001121213 ], [ -122.410680999677766, 37.741730001127308 ], [ -122.410680999590639, 37.741930000790319 ], [ -122.41058099993316, 37.742230000936168 ], [ -122.41058100030564, 37.742630001124056 ], [ -122.41008099951506, 37.742630000892852 ], [ -122.409781000384299, 37.742730000907976 ], [ -122.40948100042371, 37.742730000791276 ], [ -122.409481000515299, 37.743130000924069 ], [ -122.409876999949276, 37.743300000580568 ], [ -122.410180999890713, 37.743430000485262 ], [ -122.410481000092048, 37.744330001053704 ], [ -122.410581000151296, 37.744830000313094 ], [ -122.410480999630153, 37.745230000433921 ], [ -122.410581000169898, 37.745530000990755 ], [ -122.410581000414311, 37.746330000892769 ], [ -122.410580999655892, 37.746830000997605 ], [ -122.410380999756654, 37.747430000471901 ], [ -122.410581000517539, 37.748330001075367 ], [ -122.409581000501277, 37.748230000775422 ], [ -122.408781000057672, 37.748230000511306 ], [ -122.407880999489009, 37.748330000981525 ], [ -122.406481000071452, 37.748730001022395 ], [ -122.406272999418988, 37.748855000694356 ], [ -122.406076999985657, 37.748972000900402 ], [ -122.405980999565799, 37.74903000081094 ], [ -122.40528099971074, 37.749230000583616 ], [ -122.40476399966029, 37.749402000895465 ], [ -122.404681000158604, 37.749430001093472 ], [ -122.404556999849675, 37.749461000983963 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 123, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.422382000490103, 37.744830000785932 ], [ -122.422182000251738, 37.745230000444238 ], [ -122.422161999597435, 37.745291000904061 ], [ -122.42178200027459, 37.746430000577377 ], [ -122.421481999596651, 37.747330000722357 ], [ -122.421481999840083, 37.748030000548752 ], [ -122.420380999867007, 37.748130000292363 ], [ -122.419180999666025, 37.748130001030397 ], [ -122.418080999637638, 37.74813000111368 ], [ -122.419182000479111, 37.746730000988968 ], [ -122.418380999942244, 37.746730000628958 ], [ -122.418182000464057, 37.74613000037305 ], [ -122.41738200033798, 37.745730000813765 ], [ -122.416780999955691, 37.745430000293382 ], [ -122.416180999698668, 37.745330000360568 ], [ -122.41748200001301, 37.743330001040668 ], [ -122.418782000195606, 37.741430000774635 ], [ -122.419081999896548, 37.741030001112577 ], [ -122.418482000461665, 37.740830000881466 ], [ -122.418082000465503, 37.740730000344158 ], [ -122.418681999634231, 37.739430001018256 ], [ -122.419481999838965, 37.739530000814781 ], [ -122.419681999994054, 37.739730000321174 ], [ -122.419881999624621, 37.739830000928364 ], [ -122.420481999491301, 37.740130000719113 ], [ -122.420782000366657, 37.740330000552134 ], [ -122.421982000275563, 37.740630000384847 ], [ -122.422181999877125, 37.740830001049268 ], [ -122.422482000204027, 37.741030001059997 ], [ -122.42278199996791, 37.740630000894967 ], [ -122.423182000471442, 37.739830000248418 ], [ -122.423882000366575, 37.739830000487743 ], [ -122.423782000139212, 37.740230000776918 ], [ -122.423581999695955, 37.740630000481687 ], [ -122.423239999729375, 37.741656000591661 ], [ -122.423082000175327, 37.742130000254861 ], [ -122.422882000415555, 37.74303000112554 ], [ -122.422381999779958, 37.74393000085734 ], [ -122.422382000490103, 37.744830000785932 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 125, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.415152000465383, 37.732257000849181 ], [ -122.416315999888681, 37.731983000671079 ], [ -122.42035600018643, 37.731731000265853 ], [ -122.421082000328482, 37.731731000516646 ], [ -122.419545999722132, 37.732029000699931 ], [ -122.419063000284623, 37.73210200050886 ], [ -122.418882000021398, 37.732130001055424 ], [ -122.416782000485554, 37.732130000451924 ], [ -122.414882000201757, 37.732630000438618 ], [ -122.413408000487735, 37.733396001021788 ], [ -122.412853999686689, 37.733684000242761 ], [ -122.412381999602431, 37.733930000383502 ], [ -122.411181999500812, 37.734330000518668 ], [ -122.410746999590216, 37.734565000715541 ], [ -122.411182000459661, 37.734830000754187 ], [ -122.41174800044827, 37.734708000349528 ], [ -122.412357999451345, 37.73469600079634 ], [ -122.412920999430042, 37.734743000489033 ], [ -122.413484999634377, 37.734743000501133 ], [ -122.414164999853767, 37.734743000238332 ], [ -122.414764000035831, 37.734802000754406 ], [ -122.415361999978316, 37.734802001050156 ], [ -122.415982000150308, 37.734830000427777 ], [ -122.416700000465525, 37.734813000978392 ], [ -122.416682000489914, 37.735430000741971 ], [ -122.41648199997006, 37.736030000269174 ], [ -122.416482000283125, 37.736330000580608 ], [ -122.416381999947347, 37.736930000902184 ], [ -122.416381999816124, 37.737230000263317 ], [ -122.415689999557088, 37.737160000626893 ], [ -122.415582000248108, 37.738330001094411 ], [ -122.41568199950953, 37.738530000948771 ], [ -122.415882000009077, 37.739130001104108 ], [ -122.415381999943591, 37.739130000911572 ], [ -122.414782000149785, 37.739030000238763 ], [ -122.414381999966082, 37.739030001028958 ], [ -122.413581999638268, 37.739030000339604 ], [ -122.412881999904542, 37.739230000917651 ], [ -122.41218199963042, 37.739730001001305 ], [ -122.411481999780491, 37.739930000415946 ], [ -122.411082000491206, 37.739930000810418 ], [ -122.410682000077855, 37.739930000743072 ], [ -122.410281999629646, 37.739730000492195 ], [ -122.410381999556279, 37.738930000642384 ], [ -122.410181999577134, 37.73853000097558 ], [ -122.410181999923537, 37.738130000522553 ], [ -122.410414999430159, 37.736926000991218 ], [ -122.40980400005003, 37.73692100097076 ], [ -122.4092269998186, 37.736926000668397 ], [ -122.408986999721449, 37.736932000908197 ], [ -122.408781999744448, 37.736930000355187 ], [ -122.408479000105601, 37.737273000991024 ], [ -122.408077000524898, 37.737474000378064 ], [ -122.408277999949519, 37.737188001017024 ], [ -122.408379000448932, 37.736981001108951 ], [ -122.408398999808611, 37.73683800099495 ], [ -122.408382000254065, 37.736630000483856 ], [ -122.408393999686098, 37.73638200079381 ], [ -122.408439999979805, 37.736227000308126 ], [ -122.408543000498369, 37.736036000546129 ], [ -122.408830999572402, 37.735634000734748 ], [ -122.409654999650755, 37.734830000965658 ], [ -122.410217999674529, 37.734362000997692 ], [ -122.411258000043745, 37.73386000079671 ], [ -122.41418200028609, 37.732630001053046 ], [ -122.415152000465383, 37.732257000849181 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 134, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.438682000168598, 37.730631000600624 ], [ -122.438581999685312, 37.730631000282123 ], [ -122.437181999974143, 37.731131000687512 ], [ -122.436382000148967, 37.731431000828188 ], [ -122.436182000280965, 37.731531000377466 ], [ -122.434682000451488, 37.732131000562212 ], [ -122.434382000261095, 37.732331001073064 ], [ -122.43418199982213, 37.732431000799565 ], [ -122.433082000397462, 37.732731000861861 ], [ -122.432481999709893, 37.73313100098958 ], [ -122.43138199999197, 37.733331000800483 ], [ -122.431181999523204, 37.73353100041885 ], [ -122.430381999399586, 37.733830000546931 ], [ -122.429581999916991, 37.734230000679183 ], [ -122.429182000354174, 37.734430000491955 ], [ -122.428581999480869, 37.734630000304286 ], [ -122.428181999970036, 37.734930000777368 ], [ -122.427881999642821, 37.734530000619088 ], [ -122.427381999892319, 37.734330000900783 ], [ -122.42608199991183, 37.733730000337054 ], [ -122.426281999846566, 37.733530000410155 ], [ -122.427242999487888, 37.732666000847381 ], [ -122.428282000091897, 37.731731000571457 ], [ -122.428281999610661, 37.731231000595677 ], [ -122.429382000212144, 37.730531000675477 ], [ -122.430082000326507, 37.729931000978688 ], [ -122.43078200049834, 37.729131000365321 ], [ -122.431282000162184, 37.728631000543054 ], [ -122.431781999881139, 37.728131000338692 ], [ -122.432282000457548, 37.727531000940026 ], [ -122.432781999599172, 37.727031000858965 ], [ -122.433281999930983, 37.72653100040133 ], [ -122.433482000145645, 37.72613100101735 ], [ -122.433781999905463, 37.725631000545789 ], [ -122.434381999976097, 37.725031000747492 ], [ -122.434682000509454, 37.724531000566323 ], [ -122.435082000299843, 37.723931000410126 ], [ -122.435182000452457, 37.723631000679461 ], [ -122.43628199970415, 37.723631000236793 ], [ -122.436582000126137, 37.723631000386028 ], [ -122.437281999682185, 37.723531000955958 ], [ -122.438282000426668, 37.723431000395649 ], [ -122.438781999832642, 37.723431000439113 ], [ -122.43988200042854, 37.723331000828281 ], [ -122.440981999637728, 37.723131001019979 ], [ -122.442382000101219, 37.723031000478819 ], [ -122.443182000358746, 37.722931000877381 ], [ -122.44448199966574, 37.72283100053194 ], [ -122.446397999553881, 37.72276600054257 ], [ -122.445906000086978, 37.723790000804371 ], [ -122.445481999432019, 37.724731000500668 ], [ -122.445083999438125, 37.725572000298293 ], [ -122.444582000290183, 37.726631000645511 ], [ -122.443931999773326, 37.72728100033823 ], [ -122.442982000471915, 37.728231000742994 ], [ -122.442633000260244, 37.728464001034752 ], [ -122.442381999759064, 37.728631000481961 ], [ -122.441681999905015, 37.729031000345245 ], [ -122.441624999649349, 37.729060000758416 ], [ -122.441199999644311, 37.729272000999941 ], [ -122.441081999690596, 37.729331000857407 ], [ -122.440799999787941, 37.729490000307912 ], [ -122.439481999421474, 37.730231000367837 ], [ -122.438682000168598, 37.730631000600624 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 137, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.42218200012195, 37.731531000348234 ], [ -122.421881999672124, 37.731631000904436 ], [ -122.421614000052756, 37.731676000560142 ], [ -122.421582000497835, 37.731331000482122 ], [ -122.421682000320601, 37.730831000941507 ], [ -122.420681999734555, 37.731131000873575 ], [ -122.41998199974509, 37.731231000430803 ], [ -122.419243999489012, 37.731277000741827 ], [ -122.419074000014774, 37.731243000843762 ], [ -122.41901099954454, 37.73117600082314 ], [ -122.418982000217767, 37.731031000522286 ], [ -122.419082000518657, 37.73043100090748 ], [ -122.419382000372963, 37.728931000974271 ], [ -122.41818200033785, 37.728931000686359 ], [ -122.417181999559219, 37.728831000495319 ], [ -122.416082000350954, 37.728831000906617 ], [ -122.415182000520161, 37.729231000348612 ], [ -122.414981999731708, 37.728531000291824 ], [ -122.41438199986564, 37.727331000833175 ], [ -122.415381999548543, 37.727131000539543 ], [ -122.41638200017762, 37.726831001096841 ], [ -122.417281999628344, 37.726631000559912 ], [ -122.418281999872946, 37.726231000568262 ], [ -122.417881999548982, 37.725131000702731 ], [ -122.418782000114589, 37.724831000593099 ], [ -122.419882000120893, 37.724631000607559 ], [ -122.420882000117018, 37.724331000541788 ], [ -122.42178200041937, 37.724131000576655 ], [ -122.422282000475647, 37.725331000582401 ], [ -122.423082000001003, 37.726531000371864 ], [ -122.423181999531295, 37.72713100023924 ], [ -122.423381999692694, 37.727631000958326 ], [ -122.423582000276213, 37.728031000735051 ], [ -122.423782000029547, 37.728631000377661 ], [ -122.424182000030626, 37.728631000848381 ], [ -122.425282000109348, 37.728531000882377 ], [ -122.425982000362083, 37.728531000918757 ], [ -122.426582000171436, 37.728431001052378 ], [ -122.427482000157482, 37.728431000447273 ], [ -122.428182000203108, 37.728331000347168 ], [ -122.428782000176312, 37.728331000672085 ], [ -122.431282000162184, 37.728631000543054 ], [ -122.43078200049834, 37.729131000365321 ], [ -122.430082000326507, 37.729931000978688 ], [ -122.429382000212144, 37.730531000675477 ], [ -122.428281999610661, 37.731231000595677 ], [ -122.428282000091897, 37.731731000571457 ], [ -122.427289999739287, 37.731576000997499 ], [ -122.426591000147397, 37.731420000456879 ], [ -122.426324999412586, 37.731367000232318 ], [ -122.42607799994596, 37.731340000357733 ], [ -122.424976999961331, 37.731212000346474 ], [ -122.424435000038727, 37.731200000425531 ], [ -122.424166999966289, 37.73119900073614 ], [ -122.423112000285855, 37.731253000590975 ], [ -122.422585000223179, 37.731346000807441 ], [ -122.42218200012195, 37.731531000348234 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 138, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.404513999440539, 37.72454800065141 ], [ -122.405575999499106, 37.724264000582615 ], [ -122.406674999771312, 37.724042000478811 ], [ -122.407687999977412, 37.723783000488922 ], [ -122.408582000206664, 37.723531001066888 ], [ -122.409081999807341, 37.724731000570927 ], [ -122.409529000135663, 37.725870000476171 ], [ -122.410046999643399, 37.727192000893517 ], [ -122.410455000096903, 37.728340000600959 ], [ -122.411482000270581, 37.728031000697548 ], [ -122.412382000027705, 37.727831000754691 ], [ -122.413482000127672, 37.72753100077977 ], [ -122.41438199986564, 37.727331000833175 ], [ -122.414981999731708, 37.728531000291824 ], [ -122.415182000520161, 37.729231000348612 ], [ -122.416082000350954, 37.728831000906617 ], [ -122.417181999559219, 37.728831000495319 ], [ -122.41818200033785, 37.728931000686359 ], [ -122.419382000372963, 37.728931000974271 ], [ -122.419082000518657, 37.73043100090748 ], [ -122.418982000217767, 37.731031000522286 ], [ -122.41901099954454, 37.73117600082314 ], [ -122.419074000014774, 37.731243000843762 ], [ -122.419243999489012, 37.731277000741827 ], [ -122.41998199974509, 37.731231000430803 ], [ -122.420681999734555, 37.731131000873575 ], [ -122.421682000320601, 37.730831000941507 ], [ -122.421582000497835, 37.731331000482122 ], [ -122.421614000052756, 37.731676000560142 ], [ -122.421281999561799, 37.731731001020272 ], [ -122.421082000328482, 37.731731000516646 ], [ -122.42035600018643, 37.731731000265853 ], [ -122.416315999888681, 37.731983000671079 ], [ -122.415152000465383, 37.732257000849181 ], [ -122.41418200028609, 37.732630001053046 ], [ -122.411258000043745, 37.73386000079671 ], [ -122.410217999674529, 37.734362000997692 ], [ -122.409654999650755, 37.734830000965658 ], [ -122.408830999572402, 37.735634000734748 ], [ -122.408543000498369, 37.736036000546129 ], [ -122.408439999979805, 37.736227000308126 ], [ -122.408393999686098, 37.73638200079381 ], [ -122.408382000254065, 37.736630000483856 ], [ -122.408398999808611, 37.73683800099495 ], [ -122.408379000448932, 37.736981001108951 ], [ -122.408277999949519, 37.737188001017024 ], [ -122.408077000524898, 37.737474000378064 ], [ -122.407899000027001, 37.737546000487526 ], [ -122.407379000006927, 37.737739000349784 ], [ -122.407204000448516, 37.737800000383068 ], [ -122.406848999837663, 37.737924000660307 ], [ -122.406637000237808, 37.73660400065549 ], [ -122.406571000378349, 37.736440000736479 ], [ -122.406382000410488, 37.735630000572925 ], [ -122.406282000499928, 37.735430000936852 ], [ -122.406128000333041, 37.73520000098091 ], [ -122.406037999460636, 37.735066000970804 ], [ -122.405583999843302, 37.734388000341497 ], [ -122.40528199994958, 37.733930000706174 ], [ -122.404481999832711, 37.73293000027985 ], [ -122.403382000443273, 37.730530000798353 ], [ -122.40288199969784, 37.729830000554713 ], [ -122.402481999718091, 37.729230000780255 ], [ -122.402019999922686, 37.728031000934173 ], [ -122.401981999825693, 37.727931000574785 ], [ -122.401781999938905, 37.726731000284992 ], [ -122.401681999936926, 37.725931000718752 ], [ -122.400681999600039, 37.723531000957962 ], [ -122.401382000499723, 37.723631000557894 ], [ -122.401981999773056, 37.723731000714842 ], [ -122.402181999647368, 37.723831000754934 ], [ -122.402681999905639, 37.725031000864519 ], [ -122.403582000172449, 37.724831000371637 ], [ -122.404513999440539, 37.72454800065141 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 152, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.411581999585266, 37.72003100054301 ], [ -122.411981999709113, 37.721231000426648 ], [ -122.412681999802899, 37.722431001124875 ], [ -122.413081999451592, 37.723631000497775 ], [ -122.414082000338865, 37.723431001043863 ], [ -122.414981999622384, 37.723331000422696 ], [ -122.415882000275857, 37.722831000352166 ], [ -122.415681999539316, 37.722331000232202 ], [ -122.416681999852955, 37.722131001125639 ], [ -122.416881999867925, 37.722531000751147 ], [ -122.417582000117449, 37.722531000910109 ], [ -122.418181999664469, 37.723631000693565 ], [ -122.419282000421191, 37.723531000537321 ], [ -122.419882000120893, 37.724631000607559 ], [ -122.418782000114589, 37.724831000593099 ], [ -122.417881999548982, 37.725131000702731 ], [ -122.418281999872946, 37.726231000568262 ], [ -122.417281999628344, 37.726631000559912 ], [ -122.41638200017762, 37.726831001096841 ], [ -122.415381999548543, 37.727131000539543 ], [ -122.41438199986564, 37.727331000833175 ], [ -122.413482000127672, 37.72753100077977 ], [ -122.412382000027705, 37.727831000754691 ], [ -122.411482000270581, 37.728031000697548 ], [ -122.410455000096903, 37.728340000600959 ], [ -122.410046999643399, 37.727192000893517 ], [ -122.409529000135663, 37.725870000476171 ], [ -122.409081999807341, 37.724731000570927 ], [ -122.408582000206664, 37.723531001066888 ], [ -122.407687999977412, 37.723783000488922 ], [ -122.406674999771312, 37.724042000478811 ], [ -122.405575999499106, 37.724264000582615 ], [ -122.405386000102155, 37.723808001059858 ], [ -122.405106999808694, 37.723190000397139 ], [ -122.404581999458671, 37.721831000901503 ], [ -122.404281999396972, 37.720631000471492 ], [ -122.402981999736141, 37.720931000315566 ], [ -122.402533999983731, 37.719799000316669 ], [ -122.402093000521205, 37.71871800093183 ], [ -122.403262999878066, 37.718394000395598 ], [ -122.403782000224766, 37.71813100068092 ], [ -122.404381999604126, 37.718831000559078 ], [ -122.404782000445991, 37.719131001008257 ], [ -122.405081999739593, 37.719331000511524 ], [ -122.405581999827234, 37.71953100105226 ], [ -122.406082000348306, 37.719731000378168 ], [ -122.406682000435637, 37.71943100108475 ], [ -122.406881999430553, 37.719131000540564 ], [ -122.407082000285754, 37.719931000417127 ], [ -122.408082000065306, 37.71973100024352 ], [ -122.408982000219041, 37.71943100068659 ], [ -122.410182000277572, 37.719231000863296 ], [ -122.411182000109349, 37.718931000678893 ], [ -122.411581999585266, 37.72003100054301 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 160, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.425681999820043, 37.722331000721383 ], [ -122.424882000131944, 37.721931000709255 ], [ -122.424581999910302, 37.721531000521743 ], [ -122.425481999558201, 37.720131000569602 ], [ -122.425681999561377, 37.719131000694397 ], [ -122.426482000397058, 37.718531000633334 ], [ -122.427082000400048, 37.716631000239104 ], [ -122.427382000211438, 37.7156310004844 ], [ -122.42838200000476, 37.715831000245451 ], [ -122.42928199953424, 37.715931000617225 ], [ -122.430081999943553, 37.716231000887639 ], [ -122.430581999566328, 37.716231000403489 ], [ -122.43108200041199, 37.716431000311708 ], [ -122.431881999849807, 37.716831000894473 ], [ -122.432582000492658, 37.717231000622043 ], [ -122.43338199987204, 37.717531001049601 ], [ -122.43228200000388, 37.719131000634285 ], [ -122.431181999978463, 37.720631000355105 ], [ -122.429981999861525, 37.722231000438001 ], [ -122.428781999706331, 37.723731000556974 ], [ -122.428082000167791, 37.723431000876658 ], [ -122.427182000266939, 37.723031000880439 ], [ -122.426481999615888, 37.722631000939849 ], [ -122.425681999820043, 37.722331000721383 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 165, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.44328199989765, 37.713831000909742 ], [ -122.443481999652519, 37.713531000546467 ], [ -122.444181999955305, 37.714031001116716 ], [ -122.444781999817508, 37.714431000734344 ], [ -122.445582000371445, 37.715031000566825 ], [ -122.445781999700145, 37.715131000803822 ], [ -122.446181999832021, 37.715531001133073 ], [ -122.446817999990714, 37.715976000280556 ], [ -122.447182000374326, 37.716231001006626 ], [ -122.447682000240462, 37.716931000789337 ], [ -122.448081999572068, 37.717231000959941 ], [ -122.448082000298101, 37.717631000790632 ], [ -122.447982000459433, 37.718231000982748 ], [ -122.447981999726096, 37.718738000343777 ], [ -122.44798199949679, 37.718831000605412 ], [ -122.44798199954073, 37.719031000467886 ], [ -122.447882000522796, 37.719431000587754 ], [ -122.447781999876383, 37.720031000411659 ], [ -122.447482000240157, 37.721031000796863 ], [ -122.446397999553881, 37.72276600054257 ], [ -122.44448199966574, 37.72283100053194 ], [ -122.443182000358746, 37.722931000877381 ], [ -122.442382000101219, 37.723031000478819 ], [ -122.440981999637728, 37.723131001019979 ], [ -122.43988200042854, 37.723331000828281 ], [ -122.438781999832642, 37.723431000439113 ], [ -122.438282000426668, 37.723431000395649 ], [ -122.437281999682185, 37.723531000955958 ], [ -122.436582000126137, 37.723631000386028 ], [ -122.43628199970415, 37.723631000236793 ], [ -122.435182000452457, 37.723631000679461 ], [ -122.435881999489524, 37.723031000624076 ], [ -122.436081999608987, 37.722831000654544 ], [ -122.436381999841359, 37.722231000576215 ], [ -122.437182000185231, 37.721431000461571 ], [ -122.437482000002376, 37.720931000851571 ], [ -122.437982000192846, 37.719931001103539 ], [ -122.438581999492371, 37.719231000835784 ], [ -122.439381999537815, 37.718231000718482 ], [ -122.440082000410783, 37.717431000307357 ], [ -122.440282000115985, 37.717231001048134 ], [ -122.440781999634339, 37.716231000312995 ], [ -122.441482000133206, 37.71563100104381 ], [ -122.441682000267804, 37.715431001125751 ], [ -122.442481999574966, 37.714531000675905 ], [ -122.44328199989765, 37.713831000909742 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 164, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.444181999955305, 37.714031001116716 ], [ -122.443481999652519, 37.713531000546467 ], [ -122.44388200051624, 37.713131000575906 ], [ -122.444481999911403, 37.712631000717067 ], [ -122.444681999723272, 37.712431000963072 ], [ -122.445882000074974, 37.711431000615448 ], [ -122.446081999434284, 37.710932000527698 ], [ -122.447282000403916, 37.710432000341648 ], [ -122.448083000408758, 37.710132001089022 ], [ -122.44918300001531, 37.709732000953991 ], [ -122.449782999630415, 37.709532000968821 ], [ -122.450283000302903, 37.709332000408736 ], [ -122.450682999831329, 37.709232000645294 ], [ -122.451762999589008, 37.708872001049912 ], [ -122.452483000069378, 37.708632000903229 ], [ -122.453983000225193, 37.708232000876556 ], [ -122.455983000241702, 37.708232000973936 ], [ -122.457082999703331, 37.708232000398354 ], [ -122.458283000298863, 37.708232001098871 ], [ -122.459782999718783, 37.708232000790744 ], [ -122.461383000333541, 37.708232001124102 ], [ -122.462283000091588, 37.70823200083619 ], [ -122.462782999972248, 37.708232000611837 ], [ -122.463582999409169, 37.708332000884035 ], [ -122.464082999708026, 37.708232000379901 ], [ -122.464482999637681, 37.708232000752652 ], [ -122.465382999745884, 37.708132000951686 ], [ -122.4662829995778, 37.708132000770064 ], [ -122.467183000486116, 37.708232001126348 ], [ -122.467883000466259, 37.708232000508993 ], [ -122.468883000463705, 37.708232000915643 ], [ -122.467983000360633, 37.709032000817601 ], [ -122.467282999781034, 37.709432000902815 ], [ -122.464983000244061, 37.710432001128254 ], [ -122.464372999449978, 37.710407000344723 ], [ -122.463415000360371, 37.710367000550285 ], [ -122.462582999582537, 37.71033200097078 ], [ -122.462481999763398, 37.710326001019133 ], [ -122.460883000369648, 37.710232001095839 ], [ -122.458783000264759, 37.71023200081536 ], [ -122.455582999738851, 37.710932000261352 ], [ -122.455283000112246, 37.711032000959726 ], [ -122.454083000066461, 37.711632000739868 ], [ -122.452682999603979, 37.712532001084845 ], [ -122.451782999448483, 37.713131000760157 ], [ -122.451282000292807, 37.71363100024594 ], [ -122.450082000241935, 37.714831000349726 ], [ -122.449380000301886, 37.715270000468735 ], [ -122.449282000350749, 37.715331000356365 ], [ -122.448918000511071, 37.715767000910169 ], [ -122.448847999749674, 37.715852001038215 ], [ -122.448781999671397, 37.715931000792821 ], [ -122.448414999782159, 37.71648100034956 ], [ -122.448381999680066, 37.716531000966832 ], [ -122.448081999572068, 37.717231000959941 ], [ -122.447682000240462, 37.716931000789337 ], [ -122.447182000374326, 37.716231001006626 ], [ -122.446817999990714, 37.715976000280556 ], [ -122.446181999832021, 37.715531001133073 ], [ -122.445781999700145, 37.715131000803822 ], [ -122.445582000371445, 37.715031000566825 ], [ -122.444781999817508, 37.714431000734344 ], [ -122.444181999955305, 37.714031001116716 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 163, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.438981999685723, 37.711531000571874 ], [ -122.437981999547645, 37.711831000602011 ], [ -122.437782000194574, 37.711531000638502 ], [ -122.438281999591936, 37.710831000602361 ], [ -122.436981999615782, 37.710431000910127 ], [ -122.436482000077689, 37.709831000546913 ], [ -122.435782000019088, 37.709132000551556 ], [ -122.435381999744621, 37.708132000526668 ], [ -122.435882000469007, 37.708232000885701 ], [ -122.436581999517458, 37.708232000439658 ], [ -122.438181999679173, 37.708232001078059 ], [ -122.438682000185253, 37.708232000319228 ], [ -122.439144000204308, 37.708278000515371 ], [ -122.439682000473979, 37.708332000623187 ], [ -122.440081999393129, 37.708332000859635 ], [ -122.440681999492142, 37.708332000480475 ], [ -122.440781999507891, 37.708332000721292 ], [ -122.441281999602637, 37.708332000653108 ], [ -122.442081999562717, 37.708232000553828 ], [ -122.443138000218241, 37.708276001130479 ], [ -122.443687999911759, 37.70829900074542 ], [ -122.44448200046287, 37.708332000477746 ], [ -122.445383000162295, 37.708232000422107 ], [ -122.446383000349314, 37.708232000595494 ], [ -122.446982999802245, 37.708232000590861 ], [ -122.447133999725892, 37.70823200029529 ], [ -122.44928300011712, 37.708232000537997 ], [ -122.449582999877308, 37.708232000748708 ], [ -122.45173999978438, 37.708149000509017 ], [ -122.452183000063386, 37.708132001122713 ], [ -122.453983000225193, 37.708232000876556 ], [ -122.452483000069378, 37.708632000903229 ], [ -122.451762999589008, 37.708872001049912 ], [ -122.450682999831329, 37.709232000645294 ], [ -122.450283000302903, 37.709332000408736 ], [ -122.449782999630415, 37.709532000968821 ], [ -122.44918300001531, 37.709732000953991 ], [ -122.448083000408758, 37.710132001089022 ], [ -122.447282000403916, 37.710432000341648 ], [ -122.446081999434284, 37.710932000527698 ], [ -122.445882000074974, 37.711431000615448 ], [ -122.444681999723272, 37.712431000963072 ], [ -122.444481999911403, 37.712631000717067 ], [ -122.44398200012759, 37.711531000422703 ], [ -122.443281999958316, 37.710332000457058 ], [ -122.44258199966599, 37.710532001058915 ], [ -122.441981999571539, 37.710731000757299 ], [ -122.440882000391994, 37.711031001033405 ], [ -122.439982000469783, 37.711331001059982 ], [ -122.438981999685723, 37.711531000571874 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 153, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.400581999568189, 37.712931000477361 ], [ -122.401051000503571, 37.712657000959105 ], [ -122.401781999574936, 37.712231000865131 ], [ -122.402274000289054, 37.712169000334121 ], [ -122.40228199996082, 37.71253100086377 ], [ -122.402281999873125, 37.7128310003622 ], [ -122.402081999854289, 37.713431000987129 ], [ -122.402581999745735, 37.714531000865904 ], [ -122.403581999922892, 37.71413100099744 ], [ -122.404081999764799, 37.71433100072985 ], [ -122.406182000380937, 37.715031001083034 ], [ -122.408281999755886, 37.715631000316343 ], [ -122.409281999773171, 37.715931000402406 ], [ -122.409882000105256, 37.716031000867453 ], [ -122.410581999954999, 37.716131000738208 ], [ -122.410382000254984, 37.716431000575362 ], [ -122.409482000425896, 37.716331001095483 ], [ -122.409182000207664, 37.716231000773718 ], [ -122.408614999469265, 37.716122000350275 ], [ -122.40818199988459, 37.71603100054655 ], [ -122.408056000432012, 37.716262000363123 ], [ -122.407882000189403, 37.716631000919413 ], [ -122.408881999794943, 37.716831000988414 ], [ -122.408282000155054, 37.718131000474621 ], [ -122.407281999934241, 37.717731000270319 ], [ -122.406981999565687, 37.718331000833629 ], [ -122.406881999430553, 37.719131000540564 ], [ -122.406682000435637, 37.71943100108475 ], [ -122.406082000348306, 37.719731000378168 ], [ -122.405581999827234, 37.71953100105226 ], [ -122.405081999739593, 37.719331000511524 ], [ -122.404782000445991, 37.719131001008257 ], [ -122.404381999604126, 37.718831000559078 ], [ -122.403782000224766, 37.71813100068092 ], [ -122.403262999878066, 37.718394000395598 ], [ -122.402093000521205, 37.71871800093183 ], [ -122.401182000249491, 37.71893400067092 ], [ -122.400559000386792, 37.719090000619772 ], [ -122.400081999599649, 37.717731001049096 ], [ -122.399881999970603, 37.716531001086231 ], [ -122.399781999596854, 37.716031000658084 ], [ -122.399481999418882, 37.716831000554464 ], [ -122.399282000076596, 37.717531001059996 ], [ -122.399104999723647, 37.718120000840337 ], [ -122.398981999540439, 37.71853100068526 ], [ -122.398681999528307, 37.717531000489863 ], [ -122.398682000237244, 37.71743700085031 ], [ -122.398682000084477, 37.716192000938278 ], [ -122.398682000339221, 37.715931000918609 ], [ -122.398837000504813, 37.715543000242171 ], [ -122.398878999746941, 37.715438000478791 ], [ -122.398978999999372, 37.715188000725774 ], [ -122.399082000379934, 37.714931000282718 ], [ -122.399859000033274, 37.71384400057817 ], [ -122.400082000280634, 37.713531000666109 ], [ -122.400581999568189, 37.712931000477361 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 156, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.417273000357113, 37.710035000902202 ], [ -122.41688199999102, 37.709931001085984 ], [ -122.416681999608087, 37.710331000284974 ], [ -122.416082000135873, 37.711831000796195 ], [ -122.41508200004813, 37.711531000594064 ], [ -122.412982000340037, 37.710931000605385 ], [ -122.412281999673098, 37.710731000716898 ], [ -122.411282000304269, 37.710431000778804 ], [ -122.41188199988693, 37.709231001011212 ], [ -122.412081999579087, 37.708731000998156 ], [ -122.413281999878848, 37.708331000283096 ], [ -122.413996999784075, 37.708252000339016 ], [ -122.414181999920856, 37.708231000399898 ], [ -122.414482000347064, 37.708231000702533 ], [ -122.415181999854028, 37.708231000235166 ], [ -122.41608200049474, 37.70833100110039 ], [ -122.417081999587992, 37.708331001043597 ], [ -122.418181999776252, 37.70833100110459 ], [ -122.419182000032791, 37.708231000381872 ], [ -122.420082000398807, 37.708231000483252 ], [ -122.419946000223263, 37.708504001094433 ], [ -122.419081999774207, 37.710231001001858 ], [ -122.418307999643872, 37.709826000752152 ], [ -122.41768199971699, 37.709631001000751 ], [ -122.417481999766835, 37.709531000938931 ], [ -122.417273000357113, 37.710035000902202 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 91, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.452482000342968, 37.764430000360747 ], [ -122.452281999558807, 37.763630000412988 ], [ -122.452181999916434, 37.762730000641561 ], [ -122.451982000042079, 37.762030001009279 ], [ -122.451782000454457, 37.761330000968087 ], [ -122.450482000504351, 37.761430000664483 ], [ -122.448882000190935, 37.761530000316156 ], [ -122.447581999902795, 37.761530000326907 ], [ -122.446581999674862, 37.761630000945019 ], [ -122.446182000115954, 37.760930000339151 ], [ -122.446081999824969, 37.76033000101836 ], [ -122.446129999969216, 37.759562000552464 ], [ -122.446182000021309, 37.758730000960988 ], [ -122.446482000421966, 37.758430001127664 ], [ -122.446781999514556, 37.758030000333996 ], [ -122.446981999643995, 37.75773000110798 ], [ -122.447382000342856, 37.757630000686177 ], [ -122.447981999501977, 37.757730000645161 ], [ -122.44838199990032, 37.758830000688981 ], [ -122.451081999884806, 37.758530001026251 ], [ -122.452039000372366, 37.758192001061843 ], [ -122.452781999464904, 37.75793000111404 ], [ -122.453612999866138, 37.757284000936323 ], [ -122.453681999682217, 37.757230000241115 ], [ -122.453981999920956, 37.756730000514338 ], [ -122.45478200042011, 37.755230000733 ], [ -122.45480899946719, 37.755154000374283 ], [ -122.455281999525042, 37.75383000077629 ], [ -122.455681999796184, 37.752930000375535 ], [ -122.455782000425899, 37.752230000416105 ], [ -122.455881999882592, 37.751830000318499 ], [ -122.456481999953155, 37.751230000731873 ], [ -122.458001000120348, 37.751544001011744 ], [ -122.459175999944463, 37.751787000433467 ], [ -122.459381999886858, 37.751830001024061 ], [ -122.461582000389541, 37.75113000080767 ], [ -122.463182000332765, 37.75293000098943 ], [ -122.463381999794208, 37.753530000650052 ], [ -122.463582000099237, 37.754630000525424 ], [ -122.463782000017162, 37.756530000245583 ], [ -122.463781999405683, 37.758430000467996 ], [ -122.463182000490477, 37.758830000905427 ], [ -122.462582000176994, 37.759430000463176 ], [ -122.462581999559987, 37.75963000087939 ], [ -122.462782000142667, 37.760330001123762 ], [ -122.462881999996043, 37.762230000698956 ], [ -122.461782000262929, 37.762230000636727 ], [ -122.46078200016521, 37.762530000405874 ], [ -122.459682000319106, 37.762830000988508 ], [ -122.457482000193991, 37.763430000962423 ], [ -122.456582000448748, 37.763730000722113 ], [ -122.455682000261021, 37.764030000778689 ], [ -122.454082000018701, 37.764230000631926 ], [ -122.453381999468775, 37.764330000663755 ], [ -122.452482000342968, 37.764430000360747 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 175, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.470482000390732, 37.763830000955629 ], [ -122.470581999941146, 37.765730000698682 ], [ -122.469681999461145, 37.765730000929729 ], [ -122.468381999463489, 37.765730000347453 ], [ -122.46748200019735, 37.765730000905947 ], [ -122.466481999670137, 37.765730000668881 ], [ -122.465181999522073, 37.765830000950025 ], [ -122.464281999911222, 37.765930000606097 ], [ -122.464081999934834, 37.76493000041151 ], [ -122.464082000006314, 37.764030001024388 ], [ -122.463881999797252, 37.762230000694572 ], [ -122.463981999435063, 37.760230000278767 ], [ -122.464981999597256, 37.760230000773348 ], [ -122.465982000086058, 37.760130000682679 ], [ -122.467081999558346, 37.760130001100876 ], [ -122.467982000060005, 37.760030000470209 ], [ -122.469282000173934, 37.760030000656442 ], [ -122.47028200013726, 37.760030000330801 ], [ -122.470181999685352, 37.761830000865672 ], [ -122.470482000390732, 37.763830000955629 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 173, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.464381999819253, 37.752730000656122 ], [ -122.464281999696468, 37.752330000884029 ], [ -122.463881999568869, 37.75203000078551 ], [ -122.463982000012962, 37.751730000327036 ], [ -122.464081999575583, 37.750630000494986 ], [ -122.464781999584886, 37.750930000787285 ], [ -122.465281999460331, 37.750830000395226 ], [ -122.466381999690299, 37.750830000621029 ], [ -122.466281999610345, 37.749030000537772 ], [ -122.467281999575945, 37.74893000047593 ], [ -122.468282000290998, 37.748830000935641 ], [ -122.469481999561111, 37.748830000504199 ], [ -122.470481999468092, 37.748730000304619 ], [ -122.471681999865325, 37.748630000477114 ], [ -122.472581999849695, 37.748630000566614 ], [ -122.473781999502947, 37.748630000508633 ], [ -122.474881999927263, 37.748530001072943 ], [ -122.475981999717419, 37.748430000370078 ], [ -122.475982000296455, 37.750330000534703 ], [ -122.476181999549695, 37.75223000044047 ], [ -122.476382000509759, 37.754130000337469 ], [ -122.476482000137011, 37.756030000400614 ], [ -122.475282000022929, 37.756030000550041 ], [ -122.474282000347628, 37.756030001106531 ], [ -122.473481999629371, 37.756130000256611 ], [ -122.47248199981577, 37.756130000856672 ], [ -122.472081999406313, 37.755630000953957 ], [ -122.471381999441505, 37.755330000772425 ], [ -122.470882000114742, 37.755130000721763 ], [ -122.470781999898023, 37.754630000777368 ], [ -122.470824999957955, 37.754372000504574 ], [ -122.470882000031594, 37.754030000728896 ], [ -122.470681999606569, 37.75243000109986 ], [ -122.469781999906743, 37.752630000596646 ], [ -122.469681999770117, 37.752430000623932 ], [ -122.468982000422216, 37.752730000900229 ], [ -122.468182000395899, 37.75313000039683 ], [ -122.467481999677531, 37.75263000068604 ], [ -122.466481999544925, 37.752630000988191 ], [ -122.465382000071273, 37.752730001052967 ], [ -122.464381999819253, 37.752730000656122 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 172, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.464281999696468, 37.752330000884029 ], [ -122.464381999819253, 37.752730000656122 ], [ -122.463881999557472, 37.752830000758379 ], [ -122.463182000332765, 37.75293000098943 ], [ -122.461582000389541, 37.75113000080767 ], [ -122.459381999717863, 37.748730000921107 ], [ -122.458581999524597, 37.747730000475421 ], [ -122.45898200014507, 37.747330000562087 ], [ -122.461282000325738, 37.745530000474403 ], [ -122.463581999841594, 37.74363000099612 ], [ -122.464682000229359, 37.743430000464556 ], [ -122.465681999473418, 37.743330001038451 ], [ -122.465881999521031, 37.743430000369003 ], [ -122.466682000413144, 37.743330000836373 ], [ -122.467682000246896, 37.743230000653227 ], [ -122.467981999579052, 37.743230000443099 ], [ -122.468982000400558, 37.743230000550597 ], [ -122.470081999532795, 37.743230001045966 ], [ -122.471181999672893, 37.743130000673354 ], [ -122.472282000301803, 37.743030000841657 ], [ -122.473382000034604, 37.743030000274956 ], [ -122.474381999519423, 37.74303000051836 ], [ -122.475482000180165, 37.742930000545208 ], [ -122.475682000226797, 37.74473000036064 ], [ -122.475882000002159, 37.746630000701707 ], [ -122.475981999717419, 37.748430000370078 ], [ -122.474881999927263, 37.748530001072943 ], [ -122.473781999502947, 37.748630000508633 ], [ -122.472581999849695, 37.748630000566614 ], [ -122.471681999865325, 37.748630000477114 ], [ -122.470481999468092, 37.748730000304619 ], [ -122.469481999561111, 37.748830000504199 ], [ -122.468282000290998, 37.748830000935641 ], [ -122.467281999575945, 37.74893000047593 ], [ -122.466281999610345, 37.749030000537772 ], [ -122.466381999690299, 37.750830000621029 ], [ -122.465281999460331, 37.750830000395226 ], [ -122.464781999584886, 37.750930000787285 ], [ -122.464081999575583, 37.750630000494986 ], [ -122.463982000012962, 37.751730000327036 ], [ -122.463881999568869, 37.75203000078551 ], [ -122.464281999696468, 37.752330000884029 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 171, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.451482000379272, 37.745430001112744 ], [ -122.449582000369261, 37.743430000880942 ], [ -122.44998199967003, 37.742830000679682 ], [ -122.450782000202111, 37.74273000094901 ], [ -122.452681999956042, 37.742830000915397 ], [ -122.453282000368816, 37.743330000818283 ], [ -122.454581999934163, 37.741630000249671 ], [ -122.456781999978105, 37.740330000784887 ], [ -122.457482000273046, 37.73933000087974 ], [ -122.458481999654197, 37.73893000033339 ], [ -122.458881999602937, 37.740130000461122 ], [ -122.459681999726911, 37.740130001058198 ], [ -122.459682000336784, 37.74093000069692 ], [ -122.461982000014899, 37.742830000867976 ], [ -122.462781999598207, 37.743230000491266 ], [ -122.463581999841594, 37.74363000099612 ], [ -122.461282000325738, 37.745530000474403 ], [ -122.45898200014507, 37.747330000562087 ], [ -122.458482000390134, 37.746730000357395 ], [ -122.457181999699159, 37.746530000813522 ], [ -122.456081999734934, 37.746430001039961 ], [ -122.45538200052448, 37.746230000868799 ], [ -122.454582000351181, 37.745930000315852 ], [ -122.453782000403933, 37.745530000239874 ], [ -122.451482000379272, 37.745430001112744 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 170, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.46768199974295, 37.734731000738464 ], [ -122.46838199948985, 37.734731000624578 ], [ -122.469282000162536, 37.734731001069662 ], [ -122.470082000441238, 37.734631000543381 ], [ -122.471082000297315, 37.734631000503747 ], [ -122.471981999599933, 37.734531000384322 ], [ -122.472382000391178, 37.734531000529053 ], [ -122.472882000256931, 37.734531000373323 ], [ -122.473581999399727, 37.734531000915403 ], [ -122.473881999428443, 37.734631000682221 ], [ -122.474681999890791, 37.734631000236575 ], [ -122.4748820003405, 37.736431001101337 ], [ -122.474981999468739, 37.737331000756953 ], [ -122.475182000302553, 37.738531000282748 ], [ -122.475281999732587, 37.739231000885539 ], [ -122.475381999792987, 37.741031000533368 ], [ -122.475482000180165, 37.742930000545208 ], [ -122.474381999519423, 37.74303000051836 ], [ -122.473382000034604, 37.743030000274956 ], [ -122.472282000301803, 37.743030000841657 ], [ -122.471181999672893, 37.743130000673354 ], [ -122.470081999532795, 37.743230001045966 ], [ -122.468982000400558, 37.743230000550597 ], [ -122.467981999579052, 37.743230000443099 ], [ -122.467682000246896, 37.743230000653227 ], [ -122.466682000413144, 37.743330000836373 ], [ -122.465881999521031, 37.743430000369003 ], [ -122.465681999473418, 37.743330001038451 ], [ -122.464682000229359, 37.743430000464556 ], [ -122.463581999841594, 37.74363000099612 ], [ -122.462781999598207, 37.743230000491266 ], [ -122.461982000014899, 37.742830000867976 ], [ -122.459682000336784, 37.74093000069692 ], [ -122.459681999726911, 37.740130001058198 ], [ -122.458881999602937, 37.740130000461122 ], [ -122.458481999654197, 37.73893000033339 ], [ -122.459181999618963, 37.738831000822984 ], [ -122.459281999464849, 37.738531000981858 ], [ -122.459081999743034, 37.737631000400228 ], [ -122.460181999761005, 37.737231000620675 ], [ -122.45938199995895, 37.735331000451808 ], [ -122.459182000194559, 37.734231001040648 ], [ -122.460181999851528, 37.73503100107164 ], [ -122.461082000234967, 37.735631001109056 ], [ -122.461882000194421, 37.736231001065917 ], [ -122.462781999602996, 37.736931000393447 ], [ -122.462582000049153, 37.735931000277851 ], [ -122.463481999479455, 37.735431000511333 ], [ -122.463882000264036, 37.735731000727888 ], [ -122.464581999608299, 37.735831000392594 ], [ -122.46418200016123, 37.734831000869548 ], [ -122.465081999621773, 37.734831000935031 ], [ -122.465881999675929, 37.73473100099546 ], [ -122.466782000261404, 37.734731000700208 ], [ -122.46768199974295, 37.734731000738464 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 169, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.462182000475906, 37.72493100088883 ], [ -122.462182000437735, 37.724531000414402 ], [ -122.462081999445488, 37.724131000628667 ], [ -122.461981999937038, 37.723431001005864 ], [ -122.462081999561747, 37.722931000771297 ], [ -122.462082000155775, 37.721531000783251 ], [ -122.462383000046643, 37.721531001093382 ], [ -122.463482999754405, 37.721431000947518 ], [ -122.464282999716829, 37.721431000339429 ], [ -122.465183000406171, 37.721431000943035 ], [ -122.46608299999842, 37.721431000979628 ], [ -122.46638299987012, 37.721431000967108 ], [ -122.466983000199534, 37.721331000487382 ], [ -122.467383000224288, 37.721431001123371 ], [ -122.467882999784905, 37.721331000297582 ], [ -122.468483000215159, 37.72143100023834 ], [ -122.468683000525658, 37.721431000450949 ], [ -122.469382999929493, 37.721431000317935 ], [ -122.469682999837545, 37.721431000920617 ], [ -122.470383000408546, 37.721431000262648 ], [ -122.47128300019358, 37.721431000257738 ], [ -122.471783000462196, 37.721431000892984 ], [ -122.472183000397877, 37.721331000603108 ], [ -122.472282999623502, 37.719531001081435 ], [ -122.472382999910209, 37.718331000306755 ], [ -122.472383000237826, 37.717831000972595 ], [ -122.472383000299828, 37.717731000920423 ], [ -122.472482999963447, 37.716931000865216 ], [ -122.474247000505699, 37.719031000539381 ], [ -122.474583000487769, 37.71943100061003 ], [ -122.474664000161326, 37.719675001013144 ], [ -122.47488300022637, 37.720331000817545 ], [ -122.474982999418643, 37.720831001015405 ], [ -122.47478299944396, 37.72273100058257 ], [ -122.474782999555259, 37.724731000722144 ], [ -122.474682999864115, 37.725231001016972 ], [ -122.474683000228225, 37.726731000772979 ], [ -122.474583000101163, 37.728631001068344 ], [ -122.47455199982636, 37.729089000365654 ], [ -122.474482000153813, 37.730131000405287 ], [ -122.474582000076225, 37.730931000579751 ], [ -122.474681999562023, 37.73233100039635 ], [ -122.474681999890791, 37.734631000236575 ], [ -122.473881999428443, 37.734631000682221 ], [ -122.473581999399727, 37.734531000915403 ], [ -122.472882000256931, 37.734531000373323 ], [ -122.472382000391178, 37.734531000529053 ], [ -122.471981999599933, 37.734531000384322 ], [ -122.471082000297315, 37.734631000503747 ], [ -122.470082000441238, 37.734631000543381 ], [ -122.469282000162536, 37.734731001069662 ], [ -122.46838199948985, 37.734731000624578 ], [ -122.46768199974295, 37.734731000738464 ], [ -122.466782000261404, 37.734731000700208 ], [ -122.465881999675929, 37.73473100099546 ], [ -122.465081999621773, 37.734831000935031 ], [ -122.46418200016123, 37.734831000869548 ], [ -122.464581999608299, 37.735831000392594 ], [ -122.463882000264036, 37.735731000727888 ], [ -122.463481999479455, 37.735431000511333 ], [ -122.462582000049153, 37.735931000277851 ], [ -122.462781999602996, 37.736931000393447 ], [ -122.461882000194421, 37.736231001065917 ], [ -122.461082000234967, 37.735631001109056 ], [ -122.460181999851528, 37.73503100107164 ], [ -122.459182000194559, 37.734231001040648 ], [ -122.458981999763452, 37.733531000942506 ], [ -122.459182000218078, 37.732931000925312 ], [ -122.460182000488601, 37.732531000555177 ], [ -122.460282000449084, 37.731831000459692 ], [ -122.461082000397695, 37.731131000964652 ], [ -122.461481999575184, 37.729931000867126 ], [ -122.461382000296339, 37.729031000881285 ], [ -122.461481999460219, 37.728531000760128 ], [ -122.460582000360091, 37.728531000483592 ], [ -122.460741999942726, 37.728451001134637 ], [ -122.461581999509093, 37.72803100051182 ], [ -122.462682000046669, 37.727931001043856 ], [ -122.462382000504022, 37.727131000895056 ], [ -122.462481999415289, 37.726731000498468 ], [ -122.462581999727149, 37.726431000761544 ], [ -122.462682000305421, 37.725231001108291 ], [ -122.462182000475906, 37.72493100088883 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 133, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.453782000511723, 37.728231000301051 ], [ -122.453881999660496, 37.728531000618389 ], [ -122.453782000493533, 37.729031000442056 ], [ -122.453781999839606, 37.729631000924698 ], [ -122.45298199940386, 37.729631000291953 ], [ -122.453081999944644, 37.730431000936925 ], [ -122.453081999912442, 37.731331000502287 ], [ -122.45318200017114, 37.732231000572419 ], [ -122.453182000004531, 37.732931000436714 ], [ -122.450782000257576, 37.733031000957631 ], [ -122.448681999575996, 37.733031000777949 ], [ -122.446181999980467, 37.733031000801482 ], [ -122.443982000515007, 37.733031000440484 ], [ -122.441782000119559, 37.733031000473254 ], [ -122.440581999679324, 37.733031000881326 ], [ -122.43948199962027, 37.73303100043924 ], [ -122.438681999398156, 37.733031000879599 ], [ -122.438482000225505, 37.733631000735336 ], [ -122.438282000030753, 37.734231001077106 ], [ -122.437582000286397, 37.734031000745844 ], [ -122.436681999751585, 37.733931001103521 ], [ -122.435682000058051, 37.733731000292799 ], [ -122.434882000071184, 37.733631000529272 ], [ -122.434082000382332, 37.733331000595655 ], [ -122.433181999540196, 37.733231000396209 ], [ -122.432882000246749, 37.733131000860652 ], [ -122.432481999709893, 37.73313100098958 ], [ -122.433082000397462, 37.732731000861861 ], [ -122.43418199982213, 37.732431000799565 ], [ -122.434382000261095, 37.732331001073064 ], [ -122.434682000451488, 37.732131000562212 ], [ -122.436182000280965, 37.731531000377466 ], [ -122.436382000148967, 37.731431000828188 ], [ -122.437181999974143, 37.731131000687512 ], [ -122.438581999685312, 37.730631000282123 ], [ -122.438682000168598, 37.730631000600624 ], [ -122.439481999421474, 37.730231000367837 ], [ -122.440799999787941, 37.729490000307912 ], [ -122.441081999690596, 37.729331000857407 ], [ -122.441199999644311, 37.729272000999941 ], [ -122.441624999649349, 37.729060000758416 ], [ -122.441681999905015, 37.729031000345245 ], [ -122.442381999759064, 37.728631000481961 ], [ -122.442633000260244, 37.728464001034752 ], [ -122.442982000471915, 37.728231000742994 ], [ -122.443931999773326, 37.72728100033823 ], [ -122.444582000290183, 37.726631000645511 ], [ -122.445083999438125, 37.725572000298293 ], [ -122.445481999432019, 37.724731000500668 ], [ -122.445906000086978, 37.723790000804371 ], [ -122.446397999553881, 37.72276600054257 ], [ -122.447559000162173, 37.722766001003727 ], [ -122.449381999642625, 37.722731000266748 ], [ -122.45228199999724, 37.722831001121783 ], [ -122.452281999861825, 37.72823100049613 ], [ -122.453782000511723, 37.728231000301051 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 168, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.460883000369648, 37.710232001095839 ], [ -122.462481999763398, 37.710326001019133 ], [ -122.462582999582537, 37.71033200097078 ], [ -122.463415000360371, 37.710367000550285 ], [ -122.464372999449978, 37.710407000344723 ], [ -122.464983000244061, 37.710432001128254 ], [ -122.467282999781034, 37.709432000902815 ], [ -122.467983000360633, 37.709032000817601 ], [ -122.468883000463705, 37.708232000915643 ], [ -122.470882999455483, 37.708232000614075 ], [ -122.470783000277507, 37.708632000585055 ], [ -122.470783000160736, 37.709732000881566 ], [ -122.470882999862781, 37.710432000262038 ], [ -122.470946999620523, 37.712255000923896 ], [ -122.470983000458233, 37.712532000641808 ], [ -122.471082999872777, 37.713032001089701 ], [ -122.471325000241734, 37.714059000752023 ], [ -122.472082999573971, 37.716632000716096 ], [ -122.472482999963447, 37.716931000865216 ], [ -122.472383000299828, 37.717731000920423 ], [ -122.472383000237826, 37.717831000972595 ], [ -122.472382999910209, 37.718331000306755 ], [ -122.472282999623502, 37.719531001081435 ], [ -122.472183000397877, 37.721331000603108 ], [ -122.471783000462196, 37.721431000892984 ], [ -122.47128300019358, 37.721431000257738 ], [ -122.470383000408546, 37.721431000262648 ], [ -122.469682999837545, 37.721431000920617 ], [ -122.469382999929493, 37.721431000317935 ], [ -122.468683000525658, 37.721431000450949 ], [ -122.468483000215159, 37.72143100023834 ], [ -122.467882999784905, 37.721331000297582 ], [ -122.467383000224288, 37.721431001123371 ], [ -122.466983000199534, 37.721331000487382 ], [ -122.46638299987012, 37.721431000967108 ], [ -122.46608299999842, 37.721431000979628 ], [ -122.465183000406171, 37.721431000943035 ], [ -122.464282999716829, 37.721431000339429 ], [ -122.463482999754405, 37.721431000947518 ], [ -122.462383000046643, 37.721531001093382 ], [ -122.462082000155775, 37.721531000783251 ], [ -122.461983000250214, 37.719831000352563 ], [ -122.461782999431009, 37.718131000696417 ], [ -122.462382999575937, 37.718031000977028 ], [ -122.462283000096804, 37.717831000977419 ], [ -122.462183000473829, 37.717331000840929 ], [ -122.462583000360397, 37.716431000355733 ], [ -122.462483000209261, 37.715831000309223 ], [ -122.462483000215116, 37.715431001019084 ], [ -122.462383000246533, 37.714632000236826 ], [ -122.462383000370622, 37.714032000722575 ], [ -122.462382999846639, 37.713732000489351 ], [ -122.462383000449194, 37.7128320006099 ], [ -122.462483000411652, 37.712332000893667 ], [ -122.462482999401331, 37.712032000571021 ], [ -122.462582999654828, 37.711032000991764 ], [ -122.460883000369648, 37.710232001095839 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 167, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.448082000298101, 37.717631000790632 ], [ -122.448081999572068, 37.717231000959941 ], [ -122.448381999680066, 37.716531000966832 ], [ -122.448414999782159, 37.71648100034956 ], [ -122.448781999671397, 37.715931000792821 ], [ -122.448847999749674, 37.715852001038215 ], [ -122.448918000511071, 37.715767000910169 ], [ -122.449282000350749, 37.715331000356365 ], [ -122.449380000301886, 37.715270000468735 ], [ -122.450082000241935, 37.714831000349726 ], [ -122.451282000292807, 37.71363100024594 ], [ -122.451782999448483, 37.713131000760157 ], [ -122.452682999603979, 37.712532001084845 ], [ -122.454083000066461, 37.711632000739868 ], [ -122.455283000112246, 37.711032000959726 ], [ -122.455582999738851, 37.710932000261352 ], [ -122.458783000264759, 37.71023200081536 ], [ -122.460883000369648, 37.710232001095839 ], [ -122.462582999654828, 37.711032000991764 ], [ -122.462482999401331, 37.712032000571021 ], [ -122.462483000411652, 37.712332000893667 ], [ -122.462383000449194, 37.7128320006099 ], [ -122.462382999846639, 37.713732000489351 ], [ -122.462383000370622, 37.714032000722575 ], [ -122.462383000246533, 37.714632000236826 ], [ -122.462483000215116, 37.715431001019084 ], [ -122.462483000209261, 37.715831000309223 ], [ -122.462583000360397, 37.716431000355733 ], [ -122.462183000473829, 37.717331000840929 ], [ -122.462283000096804, 37.717831000977419 ], [ -122.462382999575937, 37.718031000977028 ], [ -122.461782999431009, 37.718131000696417 ], [ -122.460982999873323, 37.718131000674077 ], [ -122.459782999450908, 37.71813100082143 ], [ -122.458782999527557, 37.718131000327894 ], [ -122.45788300042166, 37.718131000566324 ], [ -122.456681999399237, 37.718131000599257 ], [ -122.455681999600685, 37.718131000840749 ], [ -122.454882000247181, 37.718131000877285 ], [ -122.453882000505757, 37.718031000300606 ], [ -122.453281999478705, 37.717531001044442 ], [ -122.452581999841428, 37.717131000410212 ], [ -122.451782000392797, 37.716831001134075 ], [ -122.45108200034619, 37.716531000588958 ], [ -122.450282000292958, 37.716031001078228 ], [ -122.449781999487385, 37.716631000287386 ], [ -122.448781999649611, 37.717631000295704 ], [ -122.448381999987788, 37.718331001115473 ], [ -122.447982000459433, 37.718231000982748 ], [ -122.448082000298101, 37.717631000790632 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 184, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.494682000509172, 37.747630000944639 ], [ -122.494782000510682, 37.749530000634707 ], [ -122.495281999997545, 37.751330000271153 ], [ -122.495182000111697, 37.753230000801075 ], [ -122.49538199948401, 37.755030000693651 ], [ -122.494782000211742, 37.755130000268643 ], [ -122.49368200052848, 37.755230000359454 ], [ -122.492581999785372, 37.755230000581953 ], [ -122.491482000292507, 37.7553300008544 ], [ -122.490382000438629, 37.755330000370463 ], [ -122.489382000015127, 37.755430000583004 ], [ -122.488381999908995, 37.755430000932989 ], [ -122.487281999844413, 37.755430000350337 ], [ -122.48628199969977, 37.755530000379274 ], [ -122.486081999449652, 37.753730000250933 ], [ -122.485982000064155, 37.751730001035057 ], [ -122.485881999752422, 37.749930001104794 ], [ -122.485581999411366, 37.748030000707189 ], [ -122.485582000122534, 37.746130000883646 ], [ -122.485381999751198, 37.744330000441529 ], [ -122.485181999622199, 37.742431000822471 ], [ -122.486282000137095, 37.74243100061296 ], [ -122.487282000027534, 37.742431000442444 ], [ -122.488381999992654, 37.74233100075849 ], [ -122.489382000037594, 37.742231001086161 ], [ -122.490582000460336, 37.742231000921585 ], [ -122.491681999976564, 37.742131001056649 ], [ -122.492681999447413, 37.742131001023324 ], [ -122.493782000426791, 37.742031000478953 ], [ -122.494381999889768, 37.742131000428181 ], [ -122.494381999862711, 37.743931000693578 ], [ -122.494581999393489, 37.745730000570454 ], [ -122.494682000509172, 37.747630000944639 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 186, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.493383000444496, 37.73363100035823 ], [ -122.493482999907144, 37.734931001023504 ], [ -122.493582999908796, 37.736431000979749 ], [ -122.493682999758349, 37.738331000560933 ], [ -122.493782999520207, 37.738531000607864 ], [ -122.494282000208031, 37.740131001027869 ], [ -122.494381999889768, 37.742131000428181 ], [ -122.493782000426791, 37.742031000478953 ], [ -122.492681999447413, 37.742131001023324 ], [ -122.491681999976564, 37.742131001056649 ], [ -122.490582000460336, 37.742231000921585 ], [ -122.489382000037594, 37.742231001086161 ], [ -122.488381999992654, 37.74233100075849 ], [ -122.487282000027534, 37.742431000442444 ], [ -122.486282000137095, 37.74243100061296 ], [ -122.485181999622199, 37.742431000822471 ], [ -122.484182000475869, 37.742531000888462 ], [ -122.482982000055472, 37.742531000772409 ], [ -122.481882000476119, 37.742531000827519 ], [ -122.480781999476207, 37.742630000628637 ], [ -122.479882000350813, 37.742630000286809 ], [ -122.478781999640987, 37.742730000802098 ], [ -122.477681999574784, 37.742730000404194 ], [ -122.476582000194412, 37.742830001107976 ], [ -122.475482000180165, 37.742930000545208 ], [ -122.475381999792987, 37.741031000533368 ], [ -122.475281999732587, 37.739231000885539 ], [ -122.475182000302553, 37.738531000282748 ], [ -122.474981999468739, 37.737331000756953 ], [ -122.4748820003405, 37.736431001101337 ], [ -122.474681999890791, 37.734631000236575 ], [ -122.475881999984395, 37.734331000394654 ], [ -122.476781999497916, 37.734331000335999 ], [ -122.477582000223322, 37.734331000929295 ], [ -122.479081999533022, 37.734331000917578 ], [ -122.479982000298207, 37.734331000766282 ], [ -122.480682000033468, 37.734331000600683 ], [ -122.481181999857085, 37.734331000383719 ], [ -122.481442999672069, 37.734266000853964 ], [ -122.4815749997246, 37.734310000817445 ], [ -122.481908999859343, 37.734231001089292 ], [ -122.481981999488809, 37.734231001039205 ], [ -122.482151999822833, 37.73426500043805 ], [ -122.482477000451908, 37.734232000865688 ], [ -122.482782000447486, 37.734231000587165 ], [ -122.48328200005831, 37.734131000652461 ], [ -122.483378000475497, 37.734155000901694 ], [ -122.483668000171534, 37.734155000653338 ], [ -122.48413399969057, 37.734156000780764 ], [ -122.484283000372059, 37.734131000238214 ], [ -122.484683000340098, 37.734131000990338 ], [ -122.485083000323925, 37.734131000385091 ], [ -122.485583000023411, 37.734131000422387 ], [ -122.485983000017711, 37.734131000368251 ], [ -122.48688299974134, 37.734131000690141 ], [ -122.48778299953824, 37.734031000610187 ], [ -122.488282999751789, 37.734031000911621 ], [ -122.488683000386757, 37.734031000709265 ], [ -122.490682999782777, 37.733931001098796 ], [ -122.491082999917779, 37.733931000860032 ], [ -122.491683000127935, 37.733931001111351 ], [ -122.491982999732031, 37.733831001131506 ], [ -122.49234900043939, 37.73383100058512 ], [ -122.492793999523158, 37.733731000980647 ], [ -122.493383000444496, 37.73363100035823 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 179, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.496581999619309, 37.764530000417075 ], [ -122.49598199966411, 37.764530000957294 ], [ -122.495881999517863, 37.762530000347944 ], [ -122.495681999428101, 37.760730000782488 ], [ -122.49558199980612, 37.758830000833008 ], [ -122.495481999954904, 37.757030000587534 ], [ -122.49538199948401, 37.755030000693651 ], [ -122.495182000111697, 37.753230000801075 ], [ -122.495281999997545, 37.751330000271153 ], [ -122.495581999436581, 37.751330001107583 ], [ -122.496682000460567, 37.751330000658477 ], [ -122.497781999732624, 37.751230000261032 ], [ -122.498882000497616, 37.751230000904016 ], [ -122.499882000016441, 37.751130000924022 ], [ -122.499781999580875, 37.74923000028307 ], [ -122.500781999546533, 37.749230000301232 ], [ -122.501881999810493, 37.749130000256507 ], [ -122.502082000311447, 37.75103000088933 ], [ -122.502082000079668, 37.752930000366618 ], [ -122.502282000215317, 37.754730000838123 ], [ -122.502382000029584, 37.756630000498575 ], [ -122.502481999868209, 37.758530000380674 ], [ -122.502582999746807, 37.760330000745448 ], [ -122.502782999696493, 37.76223000033572 ], [ -122.502982999762907, 37.764230001101062 ], [ -122.501882999616655, 37.764330000620973 ], [ -122.500882000434729, 37.764330000626543 ], [ -122.499781999716433, 37.764330000971803 ], [ -122.498682000182399, 37.764330000968314 ], [ -122.497581999753336, 37.764430000874917 ], [ -122.496581999619309, 37.764530000417075 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 180, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.506583000521672, 37.758330001113876 ], [ -122.507682999821753, 37.758230000610681 ], [ -122.508983000241486, 37.758130000366215 ], [ -122.509283000440092, 37.760130000565439 ], [ -122.509582999811343, 37.762030000817575 ], [ -122.509683000009872, 37.763930000609243 ], [ -122.50918300024459, 37.763930000389884 ], [ -122.508182999601388, 37.763930000792513 ], [ -122.50708300046378, 37.764030001125001 ], [ -122.506183000420023, 37.764130001096866 ], [ -122.504883000447123, 37.764130000392335 ], [ -122.503883000278947, 37.764230000646954 ], [ -122.502982999762907, 37.764230001101062 ], [ -122.502782999696493, 37.76223000033572 ], [ -122.502582999746807, 37.760330000745448 ], [ -122.502481999868209, 37.758530000380674 ], [ -122.503382999428851, 37.758430001067786 ], [ -122.504483000334147, 37.758430001111051 ], [ -122.505583000451495, 37.758330000398118 ], [ -122.506583000521672, 37.758330001113876 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 182, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.509382999426805, 37.748830000341172 ], [ -122.508879000115215, 37.748830000495154 ], [ -122.508382999975481, 37.748830000313028 ], [ -122.507883000365368, 37.748930000841042 ], [ -122.507182999729693, 37.748930000817872 ], [ -122.506182999670017, 37.749030000703506 ], [ -122.505083000513167, 37.749030000705879 ], [ -122.503982000228376, 37.749030000649363 ], [ -122.502881999644828, 37.749130000478111 ], [ -122.501881999810493, 37.749130000256507 ], [ -122.501781999571094, 37.747330001105951 ], [ -122.501682000069565, 37.745431000302368 ], [ -122.501481999490011, 37.743631000604537 ], [ -122.501383000022003, 37.741831001021986 ], [ -122.501282999522942, 37.739831000606266 ], [ -122.500882999818373, 37.738531000957671 ], [ -122.500682999795089, 37.738031000268258 ], [ -122.50058299950625, 37.736131000604814 ], [ -122.50058300018155, 37.734931000425718 ], [ -122.501383000417434, 37.735231000457617 ], [ -122.502482999915586, 37.735331000935084 ], [ -122.503483000257091, 37.735331000938174 ], [ -122.504683000035527, 37.735331001097045 ], [ -122.505983000144639, 37.735331000778672 ], [ -122.507583000018144, 37.735331000393359 ], [ -122.507882999747679, 37.738531000703439 ], [ -122.508083000112251, 37.740231000689306 ], [ -122.509382999426805, 37.748830000341172 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 45, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.432381999888619, 37.798428000747499 ], [ -122.430681999679194, 37.798628000331554 ], [ -122.428981999816486, 37.798928000889006 ], [ -122.427382000371864, 37.79912800028746 ], [ -122.426644000102797, 37.799220001081657 ], [ -122.425782000348846, 37.79932800044908 ], [ -122.423981999928515, 37.799628000951714 ], [ -122.423881999460022, 37.798628000398331 ], [ -122.423681999429405, 37.797728001071121 ], [ -122.423573999901279, 37.797188001024615 ], [ -122.423481999820837, 37.796728000969999 ], [ -122.425182000289936, 37.79652800059737 ], [ -122.426782000450515, 37.796328001089485 ], [ -122.428382000486735, 37.796028001096943 ], [ -122.43008200043559, 37.795828001094414 ], [ -122.431681999871103, 37.795628000710792 ], [ -122.433382000158673, 37.795428000785378 ], [ -122.434981999934038, 37.795128001086489 ], [ -122.43658200018217, 37.795028000239306 ], [ -122.436781999573853, 37.79602800057345 ], [ -122.437081999925269, 37.796928001109308 ], [ -122.437182000337316, 37.797828000868805 ], [ -122.43568200002791, 37.798028000510918 ], [ -122.433981999474909, 37.798228000919963 ], [ -122.433282000279519, 37.798428000969921 ], [ -122.432981999770064, 37.798428000456219 ], [ -122.432381999888619, 37.798428000747499 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 49, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.434981999934038, 37.795128001086489 ], [ -122.433382000158673, 37.795428000785378 ], [ -122.431681999871103, 37.795628000710792 ], [ -122.43008200043559, 37.795828001094414 ], [ -122.429881999719669, 37.79502800030248 ], [ -122.429682000510653, 37.794028001012883 ], [ -122.429596000433804, 37.79368400063143 ], [ -122.429481999620506, 37.793228001130707 ], [ -122.429916999685062, 37.793126000921809 ], [ -122.431181999763481, 37.792829000792779 ], [ -122.432781999534285, 37.792729000899037 ], [ -122.434381999893859, 37.792529000458998 ], [ -122.436081999432147, 37.792229000421763 ], [ -122.437781999698913, 37.792129001048892 ], [ -122.439382000394986, 37.791829000629448 ], [ -122.440981999895271, 37.791729001006381 ], [ -122.442781999771583, 37.791429000887433 ], [ -122.444281999939932, 37.791229000263421 ], [ -122.446082000339857, 37.791029000604802 ], [ -122.446281999748123, 37.791929000683965 ], [ -122.446382000212452, 37.79282900093564 ], [ -122.446481999845858, 37.793929000998475 ], [ -122.446781999672183, 37.794829000928488 ], [ -122.445082000068638, 37.794929001088889 ], [ -122.443481999832997, 37.795129000688227 ], [ -122.441881999728693, 37.79532800060101 ], [ -122.440082000290914, 37.795628000882495 ], [ -122.438382000489028, 37.795828001093419 ], [ -122.436781999573853, 37.79602800057345 ], [ -122.43658200018217, 37.795028000239306 ], [ -122.434981999934038, 37.795128001086489 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 47, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.435681999716891, 37.7905290007633 ], [ -122.435782000489297, 37.79142900079885 ], [ -122.436081999432147, 37.792229000421763 ], [ -122.434381999893859, 37.792529000458998 ], [ -122.432781999534285, 37.792729000899037 ], [ -122.431181999763481, 37.792829000792779 ], [ -122.429916999685062, 37.793126000921809 ], [ -122.429481999620506, 37.793228001130707 ], [ -122.429381999759997, 37.79222900080709 ], [ -122.429182000312849, 37.791329000675766 ], [ -122.428981999896408, 37.790429000980815 ], [ -122.428782000069148, 37.789729000846336 ], [ -122.430381999412461, 37.789429000805569 ], [ -122.432081999407529, 37.789229000955849 ], [ -122.432881999546495, 37.789129000821674 ], [ -122.433781999444179, 37.789029000874251 ], [ -122.435281999668732, 37.788829001119502 ], [ -122.435482000171874, 37.789229000756876 ], [ -122.43558200009717, 37.789629000519646 ], [ -122.435681999716891, 37.7905290007633 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 73, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.435281999668732, 37.788829001119502 ], [ -122.433781999444179, 37.789029000874251 ], [ -122.432881999546495, 37.789129000821674 ], [ -122.432081999407529, 37.789229000955849 ], [ -122.430381999412461, 37.789429000805569 ], [ -122.428782000069148, 37.789729000846336 ], [ -122.427181999741862, 37.789829000732695 ], [ -122.425482000389081, 37.790029000973519 ], [ -122.42538200020941, 37.789129000507934 ], [ -122.425182000079062, 37.788629000561677 ], [ -122.425081999620232, 37.788229001100269 ], [ -122.425081999523158, 37.787729000546726 ], [ -122.425082000319847, 37.787329000438334 ], [ -122.426581999659064, 37.787029000904859 ], [ -122.428281999974416, 37.786829000684463 ], [ -122.429881999945195, 37.786529000785123 ], [ -122.431581999445228, 37.786329000629038 ], [ -122.431982000365906, 37.786329000881501 ], [ -122.433156000043567, 37.786116001095905 ], [ -122.434681999731396, 37.785929000905384 ], [ -122.434982000053054, 37.786829000897356 ], [ -122.435082000333722, 37.787429000477893 ], [ -122.435182000338685, 37.787829000687168 ], [ -122.435281999668732, 37.788829001119502 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 70, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.453381999486282, 37.786429000605864 ], [ -122.451682000348001, 37.786629000948714 ], [ -122.449982000112129, 37.786829001056184 ], [ -122.448381999717299, 37.787129001056307 ], [ -122.446682000410732, 37.78722900066267 ], [ -122.445381999582693, 37.787529001021952 ], [ -122.443681999648049, 37.787729001107529 ], [ -122.443482000461103, 37.786829000620187 ], [ -122.443281999798117, 37.785829000882323 ], [ -122.443081999818091, 37.7848290006567 ], [ -122.442890000233959, 37.783891000296151 ], [ -122.442781999776244, 37.783029000665309 ], [ -122.44428200019901, 37.782829001024325 ], [ -122.445781999448172, 37.78262900027427 ], [ -122.447381999647178, 37.782429000594128 ], [ -122.447981999829324, 37.782229000580699 ], [ -122.448881999668103, 37.782229000873549 ], [ -122.44998200000488, 37.782029001058532 ], [ -122.450981999522369, 37.78192900071577 ], [ -122.451981999979026, 37.781729001102597 ], [ -122.45308199960148, 37.781629000915324 ], [ -122.454081999525386, 37.781429000560188 ], [ -122.455282000322754, 37.781429000349405 ], [ -122.455582000404803, 37.781329000827739 ], [ -122.456182000023716, 37.781329000914347 ], [ -122.456581999403141, 37.781329000474614 ], [ -122.457682000277813, 37.781329000386819 ], [ -122.458681999601936, 37.781229000410939 ], [ -122.458981999717807, 37.783229000896306 ], [ -122.458981999462011, 37.783929000319809 ], [ -122.459119999568259, 37.784987001111091 ], [ -122.459082000022818, 37.785729001016215 ], [ -122.45798199960953, 37.785829001105398 ], [ -122.456981999776644, 37.785929000273605 ], [ -122.456681999920889, 37.786029000527925 ], [ -122.455781999437704, 37.786129000821248 ], [ -122.454982000449064, 37.786229000786875 ], [ -122.45458199967031, 37.786229001113959 ], [ -122.453381999486282, 37.786429000605864 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 68, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.458482000294921, 37.778029000941316 ], [ -122.458582000176392, 37.779329000908547 ], [ -122.458681999601936, 37.781229000410939 ], [ -122.457682000277813, 37.781329000386819 ], [ -122.456581999403141, 37.781329000474614 ], [ -122.456182000023716, 37.781329000914347 ], [ -122.455582000404803, 37.781329000827739 ], [ -122.455282000322754, 37.781429000349405 ], [ -122.454081999525386, 37.781429000560188 ], [ -122.45378199960173, 37.780229000488973 ], [ -122.453581999447451, 37.779629000769432 ], [ -122.453482000058031, 37.779029000344359 ], [ -122.453281999770454, 37.777729001005163 ], [ -122.454181999752493, 37.7775290005616 ], [ -122.455082000103928, 37.777429000311066 ], [ -122.455082000233105, 37.776929000908062 ], [ -122.454881999997411, 37.776229000457008 ], [ -122.454682000186622, 37.775629000404855 ], [ -122.454681999898781, 37.775429000589781 ], [ -122.454381999608685, 37.774729000492457 ], [ -122.455182000457285, 37.77452900050308 ], [ -122.456282000378124, 37.774429000619605 ], [ -122.458081999671379, 37.774229000449161 ], [ -122.458181999454197, 37.775129000950308 ], [ -122.458274999606743, 37.775640000576431 ], [ -122.458282000400658, 37.776029000341531 ], [ -122.458382000207322, 37.77712900111019 ], [ -122.458405999446299, 37.777462000948816 ], [ -122.458482000294921, 37.778029000941316 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 86, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.440981999953692, 37.783229000335531 ], [ -122.439381999735701, 37.783429000391777 ], [ -122.437681999770447, 37.783629000811125 ], [ -122.436082000417485, 37.783829001051885 ], [ -122.434381999665035, 37.784029000647422 ], [ -122.434182000098588, 37.783129000425113 ], [ -122.43398199956323, 37.782229000639099 ], [ -122.43378200005759, 37.781229000676902 ], [ -122.43358200011609, 37.78032900086005 ], [ -122.433375999868076, 37.77934600047999 ], [ -122.433223000368571, 37.778453000974608 ], [ -122.433082000397945, 37.777429000753301 ], [ -122.434752000471462, 37.777262000367742 ], [ -122.436482000082464, 37.777029000489669 ], [ -122.438082000321131, 37.776829000427597 ], [ -122.439682000342032, 37.776729000959186 ], [ -122.441282000466572, 37.776529000646114 ], [ -122.441481999654769, 37.777329001030019 ], [ -122.441682000016669, 37.778329000598404 ], [ -122.441982000127012, 37.779229000314608 ], [ -122.440781999890774, 37.779329001061313 ], [ -122.440781999568898, 37.780329000616881 ], [ -122.441081999830971, 37.781329000262751 ], [ -122.441381999772659, 37.782229001066298 ], [ -122.442781999776244, 37.783029000665309 ], [ -122.440981999953692, 37.783229000335531 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 76, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.421882000356788, 37.779929000417965 ], [ -122.422281999976619, 37.779829000442 ], [ -122.422681999656078, 37.779729000905697 ], [ -122.42338199987347, 37.779629000246338 ], [ -122.423581999513786, 37.780729001125614 ], [ -122.423781999618782, 37.78112900106435 ], [ -122.423881999897588, 37.781529000249748 ], [ -122.424081999862878, 37.782429000656528 ], [ -122.424181999616778, 37.783029000612686 ], [ -122.424181999745272, 37.783529000641074 ], [ -122.424481999538926, 37.784429000247322 ], [ -122.424782000217476, 37.785229000268686 ], [ -122.424082000027681, 37.785329000872991 ], [ -122.423775000158557, 37.785219000895694 ], [ -122.423469999469049, 37.784962000584187 ], [ -122.422782000039106, 37.784629000845996 ], [ -122.422281999525651, 37.784729000584434 ], [ -122.421100000314937, 37.784856001009118 ], [ -122.421021999858667, 37.784352000939073 ], [ -122.420945000318127, 37.783921001120774 ], [ -122.420874999469191, 37.783459000758953 ], [ -122.420796999841926, 37.782980001020086 ], [ -122.420681999698573, 37.782529000596064 ], [ -122.420581999997637, 37.782029000970411 ], [ -122.420481999853834, 37.781629000877302 ], [ -122.420382000364825, 37.781129001015607 ], [ -122.420281999909122, 37.780629001026618 ], [ -122.420181999622301, 37.780129000915906 ], [ -122.421882000356788, 37.779929000417965 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 79, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.422282000384953, 37.775029000538495 ], [ -122.423877000507474, 37.774876001005964 ], [ -122.424128000525414, 37.774841000558666 ], [ -122.425781999418419, 37.774629000380379 ], [ -122.425981999931281, 37.775029000587821 ], [ -122.425982000398363, 37.775529000430033 ], [ -122.42608200013747, 37.776129000391983 ], [ -122.426081999839951, 37.776529000373756 ], [ -122.426282000142493, 37.776929000866268 ], [ -122.426382000047496, 37.777429000694596 ], [ -122.42648199939859, 37.777829000651522 ], [ -122.426681999599808, 37.778229000395434 ], [ -122.424882000105015, 37.778529000279946 ], [ -122.423182000400757, 37.778829000702238 ], [ -122.423281999973739, 37.779329000236061 ], [ -122.42338199987347, 37.779629000246338 ], [ -122.422681999656078, 37.779729000905697 ], [ -122.422281999976619, 37.779829000442 ], [ -122.421882000356788, 37.779929000417965 ], [ -122.420181999622301, 37.780129000915906 ], [ -122.419781999428565, 37.77832900047629 ], [ -122.419682000373527, 37.777929000392312 ], [ -122.419581999579165, 37.777429000469198 ], [ -122.419381999632137, 37.776429000263512 ], [ -122.419381999688596, 37.77602900039264 ], [ -122.41928199989691, 37.775529000976327 ], [ -122.420981999500171, 37.775229000579891 ], [ -122.422282000384953, 37.775029000538495 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 85, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.440681999433721, 37.773529000323428 ], [ -122.44088199985417, 37.774529000922186 ], [ -122.440982000191838, 37.775529000753714 ], [ -122.441282000466572, 37.776529000646114 ], [ -122.439682000342032, 37.776729000959186 ], [ -122.438082000321131, 37.776829000427597 ], [ -122.436482000082464, 37.777029000489669 ], [ -122.434752000471462, 37.777262000367742 ], [ -122.433082000397945, 37.777429000753301 ], [ -122.432781999634358, 37.776629000797307 ], [ -122.432581999767081, 37.775629000657695 ], [ -122.432481999861665, 37.77472900111561 ], [ -122.432281999742898, 37.773729001076404 ], [ -122.433981999576872, 37.773429001091031 ], [ -122.435681999685215, 37.773329000584553 ], [ -122.437282000494648, 37.773129001100592 ], [ -122.438982000266748, 37.77292900082513 ], [ -122.440482000049613, 37.772629000937727 ], [ -122.440681999433721, 37.773529000323428 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 88, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.440281999617284, 37.770729001002962 ], [ -122.44188200036271, 37.770529000938602 ], [ -122.443081999840274, 37.770429000997979 ], [ -122.442282000371137, 37.769529000724674 ], [ -122.443281999513133, 37.769329001066964 ], [ -122.444981999425977, 37.769229000267934 ], [ -122.445781999508654, 37.769129000690725 ], [ -122.446481999751512, 37.76902900099514 ], [ -122.447481999955684, 37.768929000764032 ], [ -122.448182000028851, 37.768729000873144 ], [ -122.449181999647578, 37.768629000607937 ], [ -122.450381999653246, 37.768429000967167 ], [ -122.451382000302928, 37.768329000936696 ], [ -122.45318199945055, 37.76812900108709 ], [ -122.453381999520204, 37.769029000779859 ], [ -122.453581999649415, 37.770029000909133 ], [ -122.453782000320047, 37.770929000569858 ], [ -122.452682000030563, 37.771129000730035 ], [ -122.452082000047355, 37.771129001101386 ], [ -122.450282000129832, 37.771329000930642 ], [ -122.44871100016158, 37.771509000893253 ], [ -122.447081000150249, 37.771717000726014 ], [ -122.445361999996919, 37.771939000864286 ], [ -122.443871999881992, 37.772133000284619 ], [ -122.44218200001788, 37.772329000472823 ], [ -122.440482000049613, 37.772629000937727 ], [ -122.440281999817472, 37.771829000996455 ], [ -122.440011000359817, 37.770777000963697 ], [ -122.440281999617284, 37.770729001002962 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 81, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.426482000160533, 37.769629000418171 ], [ -122.428082000497909, 37.769529001070389 ], [ -122.428982000330535, 37.76942900065653 ], [ -122.429682000050335, 37.769429000706985 ], [ -122.430081999574966, 37.769429000798588 ], [ -122.431281999945924, 37.769329000234855 ], [ -122.431481999447371, 37.769329000887097 ], [ -122.431581999407541, 37.770029000433333 ], [ -122.431682000310829, 37.770429001048399 ], [ -122.431782000036222, 37.770929000535446 ], [ -122.431881999924101, 37.77142900080198 ], [ -122.431981999981446, 37.771929000946699 ], [ -122.432182000065083, 37.772829001012788 ], [ -122.432281999742898, 37.773729001076404 ], [ -122.430682000106913, 37.773929001063593 ], [ -122.428981999945336, 37.774129000377819 ], [ -122.427381999771427, 37.774429000354544 ], [ -122.425781999418419, 37.774629000380379 ], [ -122.424128000525414, 37.774841000558666 ], [ -122.423877000507474, 37.774876001005964 ], [ -122.422282000384953, 37.775029000538495 ], [ -122.420981999500171, 37.775229000579891 ], [ -122.41928199989691, 37.775529000976327 ], [ -122.419182000316823, 37.775229000958738 ], [ -122.419582000271944, 37.775029000322945 ], [ -122.419982000398079, 37.77462900057801 ], [ -122.420090999996006, 37.774539001067417 ], [ -122.420259999723882, 37.774395000667774 ], [ -122.420770999694298, 37.773962000965476 ], [ -122.42096899952351, 37.773795000859565 ], [ -122.421282000498664, 37.773529000802483 ], [ -122.42148199951211, 37.773229001037528 ], [ -122.421982000506461, 37.772829000318453 ], [ -122.422282000196461, 37.772629000932305 ], [ -122.422848999399363, 37.772263000690522 ], [ -122.423381999623203, 37.771929000998568 ], [ -122.42348199962467, 37.771729000303033 ], [ -122.423682000048856, 37.771529001022635 ], [ -122.42388200014058, 37.771429000333669 ], [ -122.424381999556701, 37.770929001082663 ], [ -122.424681999836068, 37.770729000886142 ], [ -122.425982000055456, 37.76962900035511 ], [ -122.426482000160533, 37.769629000418171 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 83, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.438281999775569, 37.762330000940487 ], [ -122.439181999944651, 37.762230000588488 ], [ -122.439982000245735, 37.76213000039855 ], [ -122.442581999513223, 37.762030000476805 ], [ -122.443181999888026, 37.761930000392404 ], [ -122.444182000495033, 37.761930000813145 ], [ -122.445181999876283, 37.761730000658531 ], [ -122.446182000152163, 37.76173000032049 ], [ -122.446282000305658, 37.762230001130639 ], [ -122.445782000506497, 37.76233000061498 ], [ -122.44468200028814, 37.76303000102191 ], [ -122.444281999418138, 37.764030000773666 ], [ -122.443882000350087, 37.764529001005457 ], [ -122.443782000176213, 37.765229000729846 ], [ -122.443281999528125, 37.765329000292809 ], [ -122.442481999701116, 37.765929000312333 ], [ -122.440381999953772, 37.767029000694528 ], [ -122.439182000402923, 37.768129001041139 ], [ -122.438182000448563, 37.769029000772534 ], [ -122.437481999493585, 37.769129000693461 ], [ -122.436382000350946, 37.769029000309814 ], [ -122.435682000431655, 37.769129000350368 ], [ -122.435382000065928, 37.76732900096394 ], [ -122.43538200020231, 37.766529000307216 ], [ -122.435282000188181, 37.765729000779899 ], [ -122.435182000122978, 37.765029001068086 ], [ -122.435181999821154, 37.764229001007514 ], [ -122.435181999409693, 37.763429000838592 ], [ -122.434982000469503, 37.762429000761024 ], [ -122.43608199998387, 37.762430000898952 ], [ -122.437181999704862, 37.762330001071227 ], [ -122.438281999775569, 37.762330000940487 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 106, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.418551999502071, 37.773138000629523 ], [ -122.418481999976123, 37.772929000311599 ], [ -122.418282000046759, 37.772329000401903 ], [ -122.417919999462825, 37.771002000983245 ], [ -122.417681999691325, 37.770129000799557 ], [ -122.41768199974527, 37.769829000378174 ], [ -122.417782000432553, 37.769329000440749 ], [ -122.417782000032972, 37.769029000876706 ], [ -122.417781999717263, 37.76852900067 ], [ -122.417582000205712, 37.76682900046994 ], [ -122.417582000389984, 37.765729000647937 ], [ -122.417511000025442, 37.765228000300993 ], [ -122.417381999395488, 37.763629000471951 ], [ -122.418482000299193, 37.763529000519426 ], [ -122.419581999424082, 37.763429001093797 ], [ -122.420481999616612, 37.763429000365221 ], [ -122.421039999836736, 37.763386000415331 ], [ -122.421781999495025, 37.763329001126053 ], [ -122.421885999870227, 37.764985001006323 ], [ -122.421981999900808, 37.765729000456176 ], [ -122.422081999622151, 37.766529000887296 ], [ -122.422169000204264, 37.767269000902935 ], [ -122.422282000431082, 37.76822900109056 ], [ -122.422282000426051, 37.768729000519933 ], [ -122.422281999884206, 37.769429000549003 ], [ -122.422281999767009, 37.769929000778092 ], [ -122.422282000264659, 37.77102900095732 ], [ -122.422281999724831, 37.771629000883273 ], [ -122.422282000257326, 37.772229000753875 ], [ -122.422282000196461, 37.772629000932305 ], [ -122.421982000506461, 37.772829000318453 ], [ -122.42148199951211, 37.773229001037528 ], [ -122.421282000498664, 37.773529000802483 ], [ -122.42096899952351, 37.773795000859565 ], [ -122.420770999694298, 37.773962000965476 ], [ -122.420259999723882, 37.774395000667774 ], [ -122.420090999996006, 37.774539001067417 ], [ -122.419982000398079, 37.77462900057801 ], [ -122.419582000271944, 37.775029000322945 ], [ -122.419182000316823, 37.775229000958738 ], [ -122.419074000116936, 37.774869000659884 ], [ -122.419024999855679, 37.774706000895897 ], [ -122.418581999420695, 37.773229001019182 ], [ -122.418551999502071, 37.773138000629523 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 105, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.422282000264659, 37.77102900095732 ], [ -122.422281999767009, 37.769929000778092 ], [ -122.422281999884206, 37.769429000549003 ], [ -122.422282000426051, 37.768729000519933 ], [ -122.422282000431082, 37.76822900109056 ], [ -122.422169000204264, 37.767269000902935 ], [ -122.422081999622151, 37.766529000887296 ], [ -122.421981999900808, 37.765729000456176 ], [ -122.421885999870227, 37.764985001006323 ], [ -122.421781999495025, 37.763329001126053 ], [ -122.422282000370686, 37.763229000875548 ], [ -122.422882000463275, 37.763229000619432 ], [ -122.423736000242343, 37.763168001127696 ], [ -122.424598999423239, 37.763095000519193 ], [ -122.426044999531669, 37.763027000289348 ], [ -122.426081999702959, 37.763929001024792 ], [ -122.426146999665434, 37.764723000929408 ], [ -122.426282000275734, 37.765729000818723 ], [ -122.426326000128952, 37.766288000283666 ], [ -122.426382000291326, 37.767029001022905 ], [ -122.426481999951662, 37.76792900032455 ], [ -122.426682000388283, 37.76892900096766 ], [ -122.426482000086565, 37.769229000863959 ], [ -122.425982000055456, 37.76962900035511 ], [ -122.424681999836068, 37.770729000886142 ], [ -122.424381999556701, 37.770929001082663 ], [ -122.42388200014058, 37.771429000333669 ], [ -122.423682000048856, 37.771529001022635 ], [ -122.42348199962467, 37.771729000303033 ], [ -122.423381999623203, 37.771929000998568 ], [ -122.422848999399363, 37.772263000690522 ], [ -122.422282000196461, 37.772629000932305 ], [ -122.422282000257326, 37.772229000753875 ], [ -122.422281999724831, 37.771629000883273 ], [ -122.422282000264659, 37.77102900095732 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 104, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.426146999665434, 37.764723000929408 ], [ -122.426081999702959, 37.763929001024792 ], [ -122.426044999531669, 37.763027000289348 ], [ -122.426981999956539, 37.762929000326125 ], [ -122.428276999890969, 37.762825000557847 ], [ -122.430681999591584, 37.762629000378482 ], [ -122.431482000361569, 37.762629000296492 ], [ -122.431782000371498, 37.762629000554128 ], [ -122.432582000039773, 37.762629001110739 ], [ -122.433781999570783, 37.762529000739576 ], [ -122.434982000469503, 37.762429000761024 ], [ -122.432981999410146, 37.764229000539899 ], [ -122.43098200038088, 37.765729000770357 ], [ -122.43068199989483, 37.76592900107206 ], [ -122.430381999563167, 37.766029000636678 ], [ -122.428882000389763, 37.767429000833864 ], [ -122.42868199944958, 37.767729000974008 ], [ -122.428382000499198, 37.767829000798471 ], [ -122.427182000098611, 37.768729000943623 ], [ -122.426482000086565, 37.769229000863959 ], [ -122.426682000388283, 37.76892900096766 ], [ -122.426481999951662, 37.76792900032455 ], [ -122.426382000291326, 37.767029001022905 ], [ -122.426326000128952, 37.766288000283666 ], [ -122.426282000275734, 37.765729000818723 ], [ -122.426146999665434, 37.764723000929408 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 94, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.438682000051628, 37.755330000254503 ], [ -122.438782000410782, 37.756330000504214 ], [ -122.438781999703352, 37.757130000848093 ], [ -122.438782000407528, 37.757430000390535 ], [ -122.438781999421508, 37.757830000949482 ], [ -122.4389820002026, 37.758530000521695 ], [ -122.439082000193295, 37.75893000111386 ], [ -122.439082000092256, 37.759730001120538 ], [ -122.439181999741606, 37.760530001039484 ], [ -122.439282000301958, 37.761330000777008 ], [ -122.439181999944651, 37.762230000588488 ], [ -122.438281999775569, 37.762330000940487 ], [ -122.437181999704862, 37.762330001071227 ], [ -122.43608199998387, 37.762430000898952 ], [ -122.434982000469503, 37.762429000761024 ], [ -122.434882000037618, 37.760830000324773 ], [ -122.434709999540289, 37.759270000996068 ], [ -122.434582000527357, 37.757630000415034 ], [ -122.434481999451094, 37.756830000873485 ], [ -122.434385999941313, 37.756119001005125 ], [ -122.435373999893642, 37.756034000755065 ], [ -122.436516000187254, 37.755973000605643 ], [ -122.43759699950003, 37.755899000555516 ], [ -122.437519999581696, 37.75546000108622 ], [ -122.438682000051628, 37.755330000254503 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 102, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.425482000385088, 37.7574300006561 ], [ -122.425581999434783, 37.758230001121802 ], [ -122.425681999399714, 37.759030000505099 ], [ -122.425782000266025, 37.759830000608524 ], [ -122.425942999629257, 37.761391000548265 ], [ -122.42598200032181, 37.762229000805974 ], [ -122.426019000369223, 37.762633000811221 ], [ -122.426044999531669, 37.763027000289348 ], [ -122.424598999423239, 37.763095000519193 ], [ -122.423736000242343, 37.763168001127696 ], [ -122.422882000463275, 37.763229000619432 ], [ -122.422282000370686, 37.763229000875548 ], [ -122.421781999495025, 37.763329001126053 ], [ -122.421782000461576, 37.762929000334502 ], [ -122.421781999918622, 37.762429000425186 ], [ -122.421682000416382, 37.76162900101972 ], [ -122.421567000328821, 37.760099000410563 ], [ -122.421465000461438, 37.759331000921556 ], [ -122.421382000523607, 37.758530000937618 ], [ -122.421281999818575, 37.757730000693165 ], [ -122.421281999490276, 37.756930001039493 ], [ -122.421182000299154, 37.756230000600873 ], [ -122.421082000454078, 37.755330000698692 ], [ -122.421581999552416, 37.75533000050109 ], [ -122.422142000468824, 37.755264000602111 ], [ -122.422886999598163, 37.755210001082048 ], [ -122.423551999707357, 37.755169000948392 ], [ -122.424081999426505, 37.755130000827641 ], [ -122.424633999731995, 37.75509500031599 ], [ -122.425304000516221, 37.755026000894055 ], [ -122.425482000192218, 37.75663000081353 ], [ -122.425482000385088, 37.7574300006561 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 100, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.420484000389379, 37.748980000698282 ], [ -122.420680999920506, 37.750530000999355 ], [ -122.420869000410462, 37.752189000338696 ], [ -122.420982000205427, 37.753730000624707 ], [ -122.421082000454078, 37.755330000698692 ], [ -122.419981999617136, 37.755430000237794 ], [ -122.418781000430855, 37.755530000696943 ], [ -122.417780999683416, 37.755530000417387 ], [ -122.416580999567373, 37.755630000498975 ], [ -122.416580999557638, 37.754030000857824 ], [ -122.416380999811793, 37.752430001129852 ], [ -122.416080999959632, 37.750830000991968 ], [ -122.41598099983517, 37.749230000347943 ], [ -122.41598099983996, 37.748130000950191 ], [ -122.418080999637638, 37.74813000111368 ], [ -122.419180999666025, 37.748130001030397 ], [ -122.420380999867007, 37.748130000292363 ], [ -122.420484000389379, 37.748980000698282 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 98, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.427782000384155, 37.756530000517607 ], [ -122.426682000436202, 37.756530000255928 ], [ -122.425482000192218, 37.75663000081353 ], [ -122.425304000516221, 37.755026000894055 ], [ -122.425123999883127, 37.753400001121669 ], [ -122.425028000322058, 37.752566000776618 ], [ -122.424981999485254, 37.751830000992399 ], [ -122.425538999910827, 37.751762000799211 ], [ -122.426058999872765, 37.751688000695502 ], [ -122.427182000166809, 37.751530000328707 ], [ -122.428336000267677, 37.75153900038773 ], [ -122.429381999673311, 37.75153000059251 ], [ -122.431582000322621, 37.751330000824709 ], [ -122.433908000062232, 37.751221000645984 ], [ -122.433982000487859, 37.752030000552281 ], [ -122.434081999453966, 37.752830001116529 ], [ -122.434182000471623, 37.753630000603607 ], [ -122.434215999913263, 37.754458000639936 ], [ -122.434309000367406, 37.755252000390378 ], [ -122.434385999941313, 37.756119001005125 ], [ -122.432101999587658, 37.756266001004803 ], [ -122.431581999970163, 37.756330000490266 ], [ -122.429882000332313, 37.756430001061709 ], [ -122.427782000384155, 37.756530000517607 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 96, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.441181999641117, 37.74843000038107 ], [ -122.442182000266598, 37.748030000615749 ], [ -122.442982000520416, 37.747230000454756 ], [ -122.443281999697305, 37.74693000086333 ], [ -122.443882000381947, 37.746930000519711 ], [ -122.443182000340556, 37.749430000642526 ], [ -122.443381999434294, 37.750130001000969 ], [ -122.443381999989882, 37.750630000615288 ], [ -122.442581999749478, 37.750630000782401 ], [ -122.441481999996213, 37.75073000041656 ], [ -122.440381999598642, 37.750830000585054 ], [ -122.439381999860956, 37.750830000846939 ], [ -122.43818200037903, 37.750930000488545 ], [ -122.436081999528739, 37.7510300006617 ], [ -122.433908000062232, 37.751221000645984 ], [ -122.433781999594814, 37.7504300006552 ], [ -122.433681999944781, 37.749630000431971 ], [ -122.433582000062117, 37.748830000923263 ], [ -122.433482000406016, 37.748130000607418 ], [ -122.433381999950768, 37.747330000737662 ], [ -122.434805999935435, 37.747206000776721 ], [ -122.435681999632649, 37.747130000752726 ], [ -122.437881999513394, 37.747030000237366 ], [ -122.437881999470946, 37.747830000905395 ], [ -122.438081999918168, 37.748630000655403 ], [ -122.439081999468854, 37.748530001119242 ], [ -122.440181999627669, 37.748530000623965 ], [ -122.44042000022381, 37.748506000284173 ], [ -122.441181999641117, 37.74843000038107 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 128, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.424581999905087, 37.747830000730616 ], [ -122.422181999736296, 37.747930000995588 ], [ -122.421481999840083, 37.748030000548752 ], [ -122.421481999596651, 37.747330000722357 ], [ -122.42178200027459, 37.746430000577377 ], [ -122.422161999597435, 37.745291000904061 ], [ -122.422182000251738, 37.745230000444238 ], [ -122.422382000490103, 37.744830000785932 ], [ -122.422381999779958, 37.74393000085734 ], [ -122.422882000415555, 37.74303000112554 ], [ -122.423082000175327, 37.742130000254861 ], [ -122.423982000413233, 37.742230001121506 ], [ -122.425582000236943, 37.742130000879186 ], [ -122.42628200030849, 37.742130000456356 ], [ -122.42648200033284, 37.742130000344495 ], [ -122.427581999934176, 37.742030000516699 ], [ -122.428481999393355, 37.741930000566548 ], [ -122.429681999868691, 37.74183000087146 ], [ -122.430781999955528, 37.741730000889561 ], [ -122.430882000156501, 37.742630000357892 ], [ -122.430881999844658, 37.743330001026749 ], [ -122.43088200030212, 37.744230000481984 ], [ -122.431081999456126, 37.744930000276796 ], [ -122.431082000277513, 37.74573000099479 ], [ -122.431082000507232, 37.746630000994365 ], [ -122.431081999965798, 37.747430000575406 ], [ -122.428981999516012, 37.747530000768322 ], [ -122.426882000420676, 37.747630000482154 ], [ -122.424581999905087, 37.747830000730616 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 127, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.429581999401009, 37.737630000307057 ], [ -122.42918199957802, 37.73783000084547 ], [ -122.428770000265175, 37.738157000782024 ], [ -122.428528999860845, 37.738295000751648 ], [ -122.428781999726155, 37.738530000325774 ], [ -122.428781999609825, 37.738830000673282 ], [ -122.430981999958689, 37.739330000783191 ], [ -122.431482000150126, 37.73973000045099 ], [ -122.430181999755888, 37.740230001026752 ], [ -122.430482000070185, 37.740330001092339 ], [ -122.430781999955528, 37.741730000889561 ], [ -122.429681999868691, 37.74183000087146 ], [ -122.428481999393355, 37.741930000566548 ], [ -122.427581999934176, 37.742030000516699 ], [ -122.42648200033284, 37.742130000344495 ], [ -122.42628200030849, 37.742130000456356 ], [ -122.425582000236943, 37.742130000879186 ], [ -122.423982000413233, 37.742230001121506 ], [ -122.423082000175327, 37.742130000254861 ], [ -122.423239999729375, 37.741656000591661 ], [ -122.423581999695955, 37.740630000481687 ], [ -122.423782000139212, 37.740230000776918 ], [ -122.423882000366575, 37.739830000487743 ], [ -122.424282000342785, 37.738530000279155 ], [ -122.424414999555296, 37.738320000820146 ], [ -122.424982000277495, 37.737430001136431 ], [ -122.425781999638588, 37.73673000069023 ], [ -122.42658200021495, 37.736130000546225 ], [ -122.427581999407977, 37.735330000906885 ], [ -122.427781999495721, 37.73523000076387 ], [ -122.428181999970036, 37.734930000777368 ], [ -122.428581999480869, 37.734630000304286 ], [ -122.429182000354174, 37.734430000491955 ], [ -122.429581999916991, 37.734230000679183 ], [ -122.430381999399586, 37.733830000546931 ], [ -122.431181999523204, 37.73353100041885 ], [ -122.43138199999197, 37.733331000800483 ], [ -122.432481999709893, 37.73313100098958 ], [ -122.432882000246749, 37.733131000860652 ], [ -122.433181999540196, 37.733231000396209 ], [ -122.434082000382332, 37.733331000595655 ], [ -122.434882000071184, 37.733631000529272 ], [ -122.435682000058051, 37.733731000292799 ], [ -122.43548200039865, 37.734630000492139 ], [ -122.434981999484322, 37.735430001056493 ], [ -122.434182000249677, 37.736030000853908 ], [ -122.434582000086834, 37.737130000253124 ], [ -122.433494999872309, 37.736285000365108 ], [ -122.432781999620929, 37.73573000108032 ], [ -122.432581999737536, 37.735730001123848 ], [ -122.431281999734594, 37.736430000936387 ], [ -122.429581999401009, 37.737630000307057 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 114, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.402580999502106, 37.753330000568724 ], [ -122.402380999896863, 37.751930000603643 ], [ -122.402181000382825, 37.750430000798978 ], [ -122.402822999797451, 37.750368001071301 ], [ -122.402896000278105, 37.750330001007534 ], [ -122.402928999543931, 37.750256000695956 ], [ -122.403008999408328, 37.749493000279188 ], [ -122.402981000173128, 37.749330000549946 ], [ -122.403242000185855, 37.749330001009085 ], [ -122.403564000440966, 37.749385000558092 ], [ -122.403880999460142, 37.749430000870312 ], [ -122.403380999720909, 37.750630000435528 ], [ -122.403232999994515, 37.751074000972459 ], [ -122.402974000139963, 37.751822000859249 ], [ -122.403081000417018, 37.754430000911185 ], [ -122.403480999955946, 37.7566290008564 ], [ -122.403781000512922, 37.757029001111938 ], [ -122.404880999919698, 37.757929000584795 ], [ -122.405680999891956, 37.759329000312817 ], [ -122.406581000157914, 37.760729000440172 ], [ -122.405980999688722, 37.762029000698568 ], [ -122.405549000337146, 37.762623000306284 ], [ -122.40518100026749, 37.763129000623962 ], [ -122.404881000268162, 37.76462900031008 ], [ -122.404380999827779, 37.764729000500331 ], [ -122.403580999747803, 37.764829000249897 ], [ -122.40248099955582, 37.764829000795466 ], [ -122.401581000508159, 37.764929000836801 ], [ -122.400680999947014, 37.764929000448539 ], [ -122.399680999537992, 37.765029001011811 ], [ -122.398681000055674, 37.765029000456678 ], [ -122.398581000259668, 37.763729000476189 ], [ -122.398381000283024, 37.762429000719202 ], [ -122.398280999536041, 37.761129000841962 ], [ -122.398238000146989, 37.760614001110447 ], [ -122.398181000109545, 37.759929000535621 ], [ -122.398080999495377, 37.757329000579517 ], [ -122.398614999478966, 37.757329001130721 ], [ -122.399080999727062, 37.757329000466243 ], [ -122.39988099971076, 37.757229000240393 ], [ -122.400880999807015, 37.757229001070648 ], [ -122.401980999863412, 37.75712900067041 ], [ -122.402780999567597, 37.757029000560458 ], [ -122.402586000195072, 37.75450400093861 ], [ -122.402580999502106, 37.753330000568724 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 113, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.392381000152454, 37.756229000758495 ], [ -122.392331999514425, 37.756131000545118 ], [ -122.391880999685512, 37.755229000893209 ], [ -122.391380999425877, 37.7538290006366 ], [ -122.390880999955058, 37.752630000282835 ], [ -122.391281999548568, 37.75262400079135 ], [ -122.39183899971961, 37.752584000736341 ], [ -122.392548999498743, 37.752484001122568 ], [ -122.393181000303116, 37.752430000769387 ], [ -122.393780999495448, 37.752330000541619 ], [ -122.394581000395405, 37.75233000093629 ], [ -122.394636000287321, 37.752324000380305 ], [ -122.395580999708173, 37.75223000050601 ], [ -122.39648099944813, 37.752230000555755 ], [ -122.396681000237479, 37.751230001026016 ], [ -122.398381000434085, 37.751030000398181 ], [ -122.398980999599004, 37.750930000647877 ], [ -122.399580999612809, 37.750930000623022 ], [ -122.39988099956453, 37.750530000484318 ], [ -122.400380999927279, 37.750530000905734 ], [ -122.40118099985861, 37.750530000589229 ], [ -122.402181000382825, 37.750430000798978 ], [ -122.402380999896863, 37.751930000603643 ], [ -122.402580999502106, 37.753330000568724 ], [ -122.402586000195072, 37.75450400093861 ], [ -122.402780999567597, 37.757029000560458 ], [ -122.401980999863412, 37.75712900067041 ], [ -122.400880999807015, 37.757229001070648 ], [ -122.39988099971076, 37.757229000240393 ], [ -122.399080999727062, 37.757329000466243 ], [ -122.398614999478966, 37.757329001130721 ], [ -122.398080999495377, 37.757329000579517 ], [ -122.398181000109545, 37.759929000535621 ], [ -122.397281000107299, 37.759929000527833 ], [ -122.396181000150918, 37.759929001098158 ], [ -122.395281000129302, 37.760029001043598 ], [ -122.394280999735713, 37.760129001130551 ], [ -122.393380999744167, 37.760129001071164 ], [ -122.392781000463117, 37.760229000712826 ], [ -122.392580999609521, 37.757729000682097 ], [ -122.392381000152454, 37.756229000758495 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 115, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.406381000317381, 37.754530000612846 ], [ -122.407481000297324, 37.754530000997001 ], [ -122.407680999497231, 37.756130001115729 ], [ -122.407881000066112, 37.75772900094185 ], [ -122.40798100046662, 37.759229000239053 ], [ -122.4080809999477, 37.760729000884368 ], [ -122.408280999541233, 37.761929000501034 ], [ -122.408081000434478, 37.763229000975514 ], [ -122.408481000266264, 37.764429001005915 ], [ -122.407381000298301, 37.764529000333006 ], [ -122.406381000379596, 37.764529000250526 ], [ -122.405580999393223, 37.764629000975425 ], [ -122.404881000268162, 37.76462900031008 ], [ -122.40518100026749, 37.763129000623962 ], [ -122.405549000337146, 37.762623000306284 ], [ -122.405980999688722, 37.762029000698568 ], [ -122.406581000157914, 37.760729000440172 ], [ -122.405680999891956, 37.759329000312817 ], [ -122.404880999919698, 37.757929000584795 ], [ -122.403781000512922, 37.757029001111938 ], [ -122.403480999955946, 37.7566290008564 ], [ -122.403081000417018, 37.754430000911185 ], [ -122.403681000431888, 37.754430000838731 ], [ -122.404480999445028, 37.754330000749142 ], [ -122.405481000470374, 37.754330000270933 ], [ -122.406481000402152, 37.75433000031461 ], [ -122.406381000317381, 37.754530000612846 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 118, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.416380999811793, 37.752430001129852 ], [ -122.416580999557638, 37.754030000857824 ], [ -122.415480999714376, 37.75403000071779 ], [ -122.414181000236283, 37.754130000518352 ], [ -122.413081000165533, 37.754130000502876 ], [ -122.411980999924268, 37.754230001115019 ], [ -122.411981000023601, 37.752530000420698 ], [ -122.411780999966098, 37.751130000301728 ], [ -122.411680999590928, 37.749430000746301 ], [ -122.41158100004121, 37.748230000652661 ], [ -122.413781000197176, 37.748230000706499 ], [ -122.414980999444666, 37.748230000874536 ], [ -122.41598099983996, 37.748130000950191 ], [ -122.41598099983517, 37.749230000347943 ], [ -122.416080999959632, 37.750830000991968 ], [ -122.416380999811793, 37.752430001129852 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 119, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.411780999966098, 37.751130000301728 ], [ -122.411981000023601, 37.752530000420698 ], [ -122.411980999924268, 37.754230001115019 ], [ -122.411280999827198, 37.754230000938833 ], [ -122.410280999652826, 37.7543300002406 ], [ -122.409280999542233, 37.754330000895841 ], [ -122.409081000153805, 37.752830000293528 ], [ -122.409181000500482, 37.751230000644284 ], [ -122.40898100005154, 37.749630000779497 ], [ -122.408781000057672, 37.748230000511306 ], [ -122.409581000501277, 37.748230000775422 ], [ -122.410581000517539, 37.748330001075367 ], [ -122.41158100004121, 37.748230000652661 ], [ -122.411680999590928, 37.749430000746301 ], [ -122.411780999966098, 37.751130000301728 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 141, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.391381000442635, 37.739830000246208 ], [ -122.389481000044384, 37.738830001027914 ], [ -122.389580999991082, 37.738630001104994 ], [ -122.389581000520096, 37.737930000297972 ], [ -122.389780999939717, 37.737230000235414 ], [ -122.390180999986896, 37.73633000113427 ], [ -122.39038100003738, 37.735530000441351 ], [ -122.390781000398647, 37.734830000511742 ], [ -122.390980999948511, 37.734030000362274 ], [ -122.391280999975422, 37.733230000638244 ], [ -122.39168099942323, 37.732330001107144 ], [ -122.393780999902404, 37.733730000519849 ], [ -122.393281000080393, 37.734330000629939 ], [ -122.392781000477896, 37.735030000649033 ], [ -122.394680999536916, 37.735930000889518 ], [ -122.395004999799184, 37.736173001115702 ], [ -122.395080999900642, 37.736230001128646 ], [ -122.395481000082782, 37.736530000906704 ], [ -122.39668099979032, 37.737030000800914 ], [ -122.396181000359007, 37.73753000088228 ], [ -122.395781000191036, 37.737830000712066 ], [ -122.394781000216526, 37.737230000885113 ], [ -122.394180999830127, 37.73673000065093 ], [ -122.393481000446343, 37.737330000672273 ], [ -122.392880999817578, 37.737930000486116 ], [ -122.392281000457189, 37.738630001015139 ], [ -122.391981000313592, 37.73923000024012 ], [ -122.391881000058774, 37.739330001059258 ], [ -122.391381000442635, 37.739830000246208 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 140, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.395481000082782, 37.736530000906704 ], [ -122.395080999900642, 37.736230001128646 ], [ -122.395004999799184, 37.736173001115702 ], [ -122.394680999536916, 37.735930000889518 ], [ -122.392781000477896, 37.735030000649033 ], [ -122.393281000080393, 37.734330000629939 ], [ -122.393780999902404, 37.733730000519849 ], [ -122.39168099942323, 37.732330001107144 ], [ -122.391880999971733, 37.731430000475008 ], [ -122.391980999866689, 37.730730000823456 ], [ -122.392381000485912, 37.730530000323341 ], [ -122.392481000201755, 37.730030000917068 ], [ -122.39288100031446, 37.729130000327189 ], [ -122.393581000390228, 37.729330000749158 ], [ -122.394480999593014, 37.729530000616876 ], [ -122.394781000339876, 37.729630000393101 ], [ -122.395381000210989, 37.729530000907644 ], [ -122.396080999836357, 37.729530000985157 ], [ -122.396580999394843, 37.729830000275136 ], [ -122.396980999680054, 37.729830000240838 ], [ -122.397223999858952, 37.729830001028631 ], [ -122.39738099996913, 37.729830000651774 ], [ -122.398080999891548, 37.729930001005748 ], [ -122.398780999550539, 37.730230000759121 ], [ -122.399780999518171, 37.730230000659311 ], [ -122.400381000106108, 37.731330000620851 ], [ -122.39948099984889, 37.731530000489585 ], [ -122.400081000274071, 37.732130000695392 ], [ -122.398581000483404, 37.733630000701211 ], [ -122.398481000403748, 37.734230000952273 ], [ -122.398080999428757, 37.73553000051529 ], [ -122.397480999563456, 37.736030000358355 ], [ -122.396980999829481, 37.736530000352687 ], [ -122.39668099979032, 37.737030000800914 ], [ -122.395481000082782, 37.736530000906704 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 147, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.392481000201755, 37.730030000917068 ], [ -122.392381000485912, 37.730530000323341 ], [ -122.391980999866689, 37.730730000823456 ], [ -122.391880999971733, 37.731430000475008 ], [ -122.39168099942323, 37.732330001107144 ], [ -122.391280999975422, 37.733230000638244 ], [ -122.390980999948511, 37.734030000362274 ], [ -122.388981000238914, 37.732830000762327 ], [ -122.387281000320257, 37.731830000793337 ], [ -122.385280999682138, 37.730730000922506 ], [ -122.383481000166682, 37.729830000927855 ], [ -122.381680999631712, 37.728830001033771 ], [ -122.379780999963003, 37.727830000984412 ], [ -122.378280999651778, 37.726730000854268 ], [ -122.378880999945821, 37.726130000418756 ], [ -122.379435999456078, 37.725528000580042 ], [ -122.380081000298887, 37.724830000490179 ], [ -122.380580999460577, 37.724330001019027 ], [ -122.381181000063435, 37.723631001133072 ], [ -122.381681000261338, 37.723031000889769 ], [ -122.382280999693705, 37.722431000592408 ], [ -122.383580999888792, 37.723331000892962 ], [ -122.385481000017975, 37.724631001080191 ], [ -122.385480999483775, 37.724110000750521 ], [ -122.385481000248021, 37.723631000958612 ], [ -122.38368100024897, 37.722131000643252 ], [ -122.385213999530862, 37.723089000244755 ], [ -122.386080999714935, 37.723631000387364 ], [ -122.387980999738531, 37.724631000462139 ], [ -122.389780999690203, 37.725630000770096 ], [ -122.391781000418959, 37.726730000692307 ], [ -122.393180999423151, 37.727930000445241 ], [ -122.392980999544292, 37.728530000835939 ], [ -122.39288100031446, 37.729130000327189 ], [ -122.392481000201755, 37.730030000917068 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 150, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.394781000339876, 37.729630000393101 ], [ -122.394480999593014, 37.729530000616876 ], [ -122.393581000390228, 37.729330000749158 ], [ -122.39288100031446, 37.729130000327189 ], [ -122.392980999544292, 37.728530000835939 ], [ -122.393180999423151, 37.727930000445241 ], [ -122.393781000184632, 37.726930000506179 ], [ -122.393780999763862, 37.726430000911741 ], [ -122.394281000219351, 37.725431000741821 ], [ -122.394681000472914, 37.724631000895442 ], [ -122.39488099954005, 37.723931000233868 ], [ -122.395281999497612, 37.723131000523182 ], [ -122.395581999642303, 37.722331000690623 ], [ -122.395682000121539, 37.722231000856453 ], [ -122.395981999844466, 37.721631000967328 ], [ -122.396181999782229, 37.720931000383011 ], [ -122.396482000243807, 37.720531001117003 ], [ -122.396782000486141, 37.720031000464019 ], [ -122.396800999994497, 37.719966000719921 ], [ -122.396981999731281, 37.719331000993385 ], [ -122.397381999852982, 37.718731000279995 ], [ -122.398081999639729, 37.718031000915552 ], [ -122.398681999528307, 37.717531000489863 ], [ -122.398981999540439, 37.71853100068526 ], [ -122.399078000266698, 37.718964000453035 ], [ -122.399150000352094, 37.71928900054882 ], [ -122.399182000281044, 37.719431000835286 ], [ -122.39938199976298, 37.720031000538683 ], [ -122.39956199939661, 37.7207520002911 ], [ -122.399582000458963, 37.720831001032238 ], [ -122.399882000384935, 37.721531000359519 ], [ -122.400382000078523, 37.722631000934904 ], [ -122.400681999600039, 37.723531000957962 ], [ -122.401681999936926, 37.725931000718752 ], [ -122.401781999938905, 37.726731000284992 ], [ -122.401981999825693, 37.727931000574785 ], [ -122.401927000181445, 37.727997000968536 ], [ -122.401482000195614, 37.728530000808 ], [ -122.400782000292892, 37.729130000419339 ], [ -122.40038199996728, 37.729730000705466 ], [ -122.399780999518171, 37.730230000659311 ], [ -122.398780999550539, 37.730230000759121 ], [ -122.398080999891548, 37.729930001005748 ], [ -122.39738099996913, 37.729830000651774 ], [ -122.397223999858952, 37.729830001028631 ], [ -122.396980999680054, 37.729830000240838 ], [ -122.396580999394843, 37.729830000275136 ], [ -122.396080999836357, 37.729530000985157 ], [ -122.395381000210989, 37.729530000907644 ], [ -122.394781000339876, 37.729630000393101 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 122, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.41008099951506, 37.742630000892852 ], [ -122.41058100030564, 37.742630001124056 ], [ -122.41058099993316, 37.742230000936168 ], [ -122.410680999590639, 37.741930000790319 ], [ -122.410680999677766, 37.741730001127308 ], [ -122.410740000357947, 37.741330001121213 ], [ -122.410480999843173, 37.741330000323543 ], [ -122.410682000077855, 37.739930000743072 ], [ -122.411082000491206, 37.739930000810418 ], [ -122.411481999780491, 37.739930000415946 ], [ -122.41218199963042, 37.739730001001305 ], [ -122.412881999904542, 37.739230000917651 ], [ -122.413581999638268, 37.739030000339604 ], [ -122.414381999966082, 37.739030001028958 ], [ -122.414782000149785, 37.739030000238763 ], [ -122.415381999943591, 37.739130000911572 ], [ -122.415882000009077, 37.739130001104108 ], [ -122.416681999498593, 37.739330000407676 ], [ -122.417381999649123, 37.739230001026499 ], [ -122.418081999700718, 37.739330000902562 ], [ -122.418681999634231, 37.739430001018256 ], [ -122.418082000465503, 37.740730000344158 ], [ -122.418482000461665, 37.740830000881466 ], [ -122.419081999896548, 37.741030001112577 ], [ -122.418782000195606, 37.741430000774635 ], [ -122.41748200001301, 37.743330001040668 ], [ -122.416180999698668, 37.745330000360568 ], [ -122.416780999955691, 37.745430000293382 ], [ -122.41738200033798, 37.745730000813765 ], [ -122.418182000464057, 37.74613000037305 ], [ -122.418380999942244, 37.746730000628958 ], [ -122.419182000479111, 37.746730000988968 ], [ -122.418080999637638, 37.74813000111368 ], [ -122.41598099983996, 37.748130000950191 ], [ -122.414980999444666, 37.748230000874536 ], [ -122.413781000197176, 37.748230000706499 ], [ -122.41158100004121, 37.748230000652661 ], [ -122.410581000517539, 37.748330001075367 ], [ -122.410380999756654, 37.747430000471901 ], [ -122.410580999655892, 37.746830000997605 ], [ -122.410581000414311, 37.746330000892769 ], [ -122.410581000169898, 37.745530000990755 ], [ -122.410480999630153, 37.745230000433921 ], [ -122.410581000151296, 37.744830000313094 ], [ -122.410481000092048, 37.744330001053704 ], [ -122.410180999890713, 37.743430000485262 ], [ -122.409876999949276, 37.743300000580568 ], [ -122.409481000515299, 37.743130000924069 ], [ -122.40948100042371, 37.742730000791276 ], [ -122.409781000384299, 37.742730000907976 ], [ -122.41008099951506, 37.742630000892852 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 124, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.415882000009077, 37.739130001104108 ], [ -122.41568199950953, 37.738530000948771 ], [ -122.415582000248108, 37.738330001094411 ], [ -122.415689999557088, 37.737160000626893 ], [ -122.416381999816124, 37.737230000263317 ], [ -122.416381999947347, 37.736930000902184 ], [ -122.416482000283125, 37.736330000580608 ], [ -122.41648199997006, 37.736030000269174 ], [ -122.416682000489914, 37.735430000741971 ], [ -122.419981999791844, 37.735630000630245 ], [ -122.419982000328048, 37.735030000734255 ], [ -122.421882000020972, 37.73513000084575 ], [ -122.422182000120301, 37.735130000841401 ], [ -122.42268199953736, 37.735130000936266 ], [ -122.423181999700603, 37.735830001131127 ], [ -122.424184000131717, 37.735883000786579 ], [ -122.425081999434809, 37.735930001102233 ], [ -122.426482000013436, 37.736030000304972 ], [ -122.42658200021495, 37.736130000546225 ], [ -122.425781999638588, 37.73673000069023 ], [ -122.424982000277495, 37.737430001136431 ], [ -122.424414999555296, 37.738320000820146 ], [ -122.424282000342785, 37.738530000279155 ], [ -122.423882000366575, 37.739830000487743 ], [ -122.423182000471442, 37.739830000248418 ], [ -122.42278199996791, 37.740630000894967 ], [ -122.422482000204027, 37.741030001059997 ], [ -122.422181999877125, 37.740830001049268 ], [ -122.421982000275563, 37.740630000384847 ], [ -122.420782000366657, 37.740330000552134 ], [ -122.420481999491301, 37.740130000719113 ], [ -122.419881999624621, 37.739830000928364 ], [ -122.419681999994054, 37.739730000321174 ], [ -122.419481999838965, 37.739530000814781 ], [ -122.418681999634231, 37.739430001018256 ], [ -122.418081999700718, 37.739330000902562 ], [ -122.417381999649123, 37.739230001026499 ], [ -122.416681999498593, 37.739330000407676 ], [ -122.415882000009077, 37.739130001104108 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 126, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.427881999642821, 37.734530000619088 ], [ -122.428181999970036, 37.734930000777368 ], [ -122.427781999495721, 37.73523000076387 ], [ -122.427581999407977, 37.735330000906885 ], [ -122.42658200021495, 37.736130000546225 ], [ -122.426482000013436, 37.736030000304972 ], [ -122.425081999434809, 37.735930001102233 ], [ -122.424184000131717, 37.735883000786579 ], [ -122.423181999700603, 37.735830001131127 ], [ -122.42268199953736, 37.735130000936266 ], [ -122.422182000120301, 37.735130000841401 ], [ -122.421882000020972, 37.73513000084575 ], [ -122.419982000328048, 37.735030000734255 ], [ -122.419981999791844, 37.735630000630245 ], [ -122.416682000489914, 37.735430000741971 ], [ -122.416700000465525, 37.734813000978392 ], [ -122.415982000150308, 37.734830000427777 ], [ -122.415361999978316, 37.734802001050156 ], [ -122.414764000035831, 37.734802000754406 ], [ -122.414164999853767, 37.734743000238332 ], [ -122.413484999634377, 37.734743000501133 ], [ -122.412920999430042, 37.734743000489033 ], [ -122.412357999451345, 37.73469600079634 ], [ -122.41174800044827, 37.734708000349528 ], [ -122.411182000459661, 37.734830000754187 ], [ -122.410746999590216, 37.734565000715541 ], [ -122.411181999500812, 37.734330000518668 ], [ -122.412381999602431, 37.733930000383502 ], [ -122.412853999686689, 37.733684000242761 ], [ -122.413408000487735, 37.733396001021788 ], [ -122.414882000201757, 37.732630000438618 ], [ -122.416782000485554, 37.732130000451924 ], [ -122.418882000021398, 37.732130001055424 ], [ -122.419063000284623, 37.73210200050886 ], [ -122.419545999722132, 37.732029000699931 ], [ -122.421082000328482, 37.731731000516646 ], [ -122.421281999561799, 37.731731001020272 ], [ -122.421614000052756, 37.731676000560142 ], [ -122.421881999672124, 37.731631000904436 ], [ -122.42218200012195, 37.731531000348234 ], [ -122.422585000223179, 37.731346000807441 ], [ -122.423112000285855, 37.731253000590975 ], [ -122.424166999966289, 37.73119900073614 ], [ -122.424435000038727, 37.731200000425531 ], [ -122.424976999961331, 37.731212000346474 ], [ -122.42607799994596, 37.731340000357733 ], [ -122.426324999412586, 37.731367000232318 ], [ -122.426591000147397, 37.731420000456879 ], [ -122.427289999739287, 37.731576000997499 ], [ -122.428282000091897, 37.731731000571457 ], [ -122.427242999487888, 37.732666000847381 ], [ -122.426281999846566, 37.733530000410155 ], [ -122.42608199991183, 37.733730000337054 ], [ -122.427381999892319, 37.734330000900783 ], [ -122.427881999642821, 37.734530000619088 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 151, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.400081999599649, 37.717731001049096 ], [ -122.400559000386792, 37.719090000619772 ], [ -122.401182000249491, 37.71893400067092 ], [ -122.402093000521205, 37.71871800093183 ], [ -122.402533999983731, 37.719799000316669 ], [ -122.402981999736141, 37.720931000315566 ], [ -122.404281999396972, 37.720631000471492 ], [ -122.404581999458671, 37.721831000901503 ], [ -122.405106999808694, 37.723190000397139 ], [ -122.405386000102155, 37.723808001059858 ], [ -122.405575999499106, 37.724264000582615 ], [ -122.404513999440539, 37.72454800065141 ], [ -122.403582000172449, 37.724831000371637 ], [ -122.402681999905639, 37.725031000864519 ], [ -122.402181999647368, 37.723831000754934 ], [ -122.401981999773056, 37.723731000714842 ], [ -122.401382000499723, 37.723631000557894 ], [ -122.400681999600039, 37.723531000957962 ], [ -122.400382000078523, 37.722631000934904 ], [ -122.399882000384935, 37.721531000359519 ], [ -122.399582000458963, 37.720831001032238 ], [ -122.39956199939661, 37.7207520002911 ], [ -122.39938199976298, 37.720031000538683 ], [ -122.399182000281044, 37.719431000835286 ], [ -122.399150000352094, 37.71928900054882 ], [ -122.399078000266698, 37.718964000453035 ], [ -122.398981999540439, 37.71853100068526 ], [ -122.399104999723647, 37.718120000840337 ], [ -122.399282000076596, 37.717531001059996 ], [ -122.399481999418882, 37.716831000554464 ], [ -122.399781999596854, 37.716031000658084 ], [ -122.399881999970603, 37.716531001086231 ], [ -122.400081999599649, 37.717731001049096 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 135, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.428781999706331, 37.723731000556974 ], [ -122.429981999861525, 37.722231000438001 ], [ -122.431181999978463, 37.720631000355105 ], [ -122.43228200000388, 37.719131000634285 ], [ -122.433081999613265, 37.719531001120345 ], [ -122.433881999891454, 37.719931000688241 ], [ -122.43468199969702, 37.720331000233735 ], [ -122.435481999950042, 37.720631000814869 ], [ -122.43628200001119, 37.721031000324373 ], [ -122.437182000185231, 37.721431000461571 ], [ -122.436381999841359, 37.722231000576215 ], [ -122.436081999608987, 37.722831000654544 ], [ -122.435881999489524, 37.723031000624076 ], [ -122.435182000452457, 37.723631000679461 ], [ -122.435082000299843, 37.723931000410126 ], [ -122.434682000509454, 37.724531000566323 ], [ -122.434381999976097, 37.725031000747492 ], [ -122.433781999905463, 37.725631000545789 ], [ -122.433482000145645, 37.72613100101735 ], [ -122.433281999930983, 37.72653100040133 ], [ -122.432781999599172, 37.727031000858965 ], [ -122.432282000457548, 37.727531000940026 ], [ -122.431682000345035, 37.727231000369002 ], [ -122.430881999775224, 37.726831000564175 ], [ -122.430081999868818, 37.726431000742224 ], [ -122.429182000281841, 37.726131000471717 ], [ -122.428382000038198, 37.725731000835196 ], [ -122.427681999444076, 37.725331000887273 ], [ -122.426881999904992, 37.725031000726858 ], [ -122.428082000167791, 37.723431000876658 ], [ -122.428781999706331, 37.723731000556974 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 136, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.430081999868818, 37.726431000742224 ], [ -122.430881999775224, 37.726831000564175 ], [ -122.431682000345035, 37.727231000369002 ], [ -122.432282000457548, 37.727531000940026 ], [ -122.431781999881139, 37.728131000338692 ], [ -122.431282000162184, 37.728631000543054 ], [ -122.428782000176312, 37.728331000672085 ], [ -122.428182000203108, 37.728331000347168 ], [ -122.427482000157482, 37.728431000447273 ], [ -122.426582000171436, 37.728431001052378 ], [ -122.425982000362083, 37.728531000918757 ], [ -122.425282000109348, 37.728531000882377 ], [ -122.424182000030626, 37.728631000848381 ], [ -122.423782000029547, 37.728631000377661 ], [ -122.423582000276213, 37.728031000735051 ], [ -122.423381999692694, 37.727631000958326 ], [ -122.423181999531295, 37.72713100023924 ], [ -122.423082000001003, 37.726531000371864 ], [ -122.422282000475647, 37.725331000582401 ], [ -122.42178200041937, 37.724131000576655 ], [ -122.422282000209165, 37.724031000589868 ], [ -122.422882000051686, 37.723831000711826 ], [ -122.42378200033491, 37.723631000744135 ], [ -122.424882000131944, 37.721931000709255 ], [ -122.425681999820043, 37.722331000721383 ], [ -122.426481999615888, 37.722631000939849 ], [ -122.427182000266939, 37.723031000880439 ], [ -122.428082000167791, 37.723431000876658 ], [ -122.426881999904992, 37.725031000726858 ], [ -122.427681999444076, 37.725331000887273 ], [ -122.428382000038198, 37.725731000835196 ], [ -122.429182000281841, 37.726131000471717 ], [ -122.430081999868818, 37.726431000742224 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 161, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.432282000291849, 37.714931000534854 ], [ -122.432781999782165, 37.714331000978738 ], [ -122.433482000309297, 37.714531000995336 ], [ -122.434382000201481, 37.714831001069072 ], [ -122.435281999434153, 37.715131000586446 ], [ -122.436182000474091, 37.715631000335414 ], [ -122.436881999736599, 37.715831000913418 ], [ -122.437781999638517, 37.71613100029721 ], [ -122.438582000363809, 37.716531000611496 ], [ -122.439481999753298, 37.716731000617536 ], [ -122.440282000115985, 37.717231001048134 ], [ -122.440082000410783, 37.717431000307357 ], [ -122.439381999537815, 37.718231000718482 ], [ -122.438581999492371, 37.719231000835784 ], [ -122.437982000192846, 37.719931001103539 ], [ -122.437482000002376, 37.720931000851571 ], [ -122.437182000185231, 37.721431000461571 ], [ -122.43628200001119, 37.721031000324373 ], [ -122.435481999950042, 37.720631000814869 ], [ -122.43468199969702, 37.720331000233735 ], [ -122.433881999891454, 37.719931000688241 ], [ -122.433081999613265, 37.719531001120345 ], [ -122.43228200000388, 37.719131000634285 ], [ -122.43338199987204, 37.717531001049601 ], [ -122.432582000492658, 37.717231000622043 ], [ -122.431881999849807, 37.716831000894473 ], [ -122.43108200041199, 37.716431000311708 ], [ -122.432282000291849, 37.714931000534854 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 162, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.440882000391994, 37.711031001033405 ], [ -122.441981999571539, 37.710731000757299 ], [ -122.44258199966599, 37.710532001058915 ], [ -122.443281999958316, 37.710332000457058 ], [ -122.44398200012759, 37.711531000422703 ], [ -122.444481999911403, 37.712631000717067 ], [ -122.44388200051624, 37.713131000575906 ], [ -122.443481999652519, 37.713531000546467 ], [ -122.44328199989765, 37.713831000909742 ], [ -122.442481999574966, 37.714531000675905 ], [ -122.441682000267804, 37.715431001125751 ], [ -122.441482000133206, 37.71563100104381 ], [ -122.440781999634339, 37.716231000312995 ], [ -122.440282000115985, 37.717231001048134 ], [ -122.439481999753298, 37.716731000617536 ], [ -122.438582000363809, 37.716531000611496 ], [ -122.437781999638517, 37.71613100029721 ], [ -122.436881999736599, 37.715831000913418 ], [ -122.436182000474091, 37.715631000335414 ], [ -122.435281999434153, 37.715131000586446 ], [ -122.434382000201481, 37.714831001069072 ], [ -122.433482000309297, 37.714531000995336 ], [ -122.432781999782165, 37.714331000978738 ], [ -122.433681999566247, 37.713031000797692 ], [ -122.43438199943003, 37.713231000886786 ], [ -122.435181999561237, 37.713631000871466 ], [ -122.436082000069817, 37.714031000583709 ], [ -122.436581999620614, 37.713331000948884 ], [ -122.437382000459095, 37.712131000680685 ], [ -122.437782000194574, 37.711531000638502 ], [ -122.437981999547645, 37.711831000602011 ], [ -122.438981999685723, 37.711531000571874 ], [ -122.439982000469783, 37.711331001059982 ], [ -122.440882000391994, 37.711031001033405 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 159, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.425792000518328, 37.708324000864614 ], [ -122.425881999676008, 37.708328000262568 ], [ -122.425981000138009, 37.708333000620215 ], [ -122.426366000476776, 37.708351000837339 ], [ -122.426832999816554, 37.708373001034168 ], [ -122.427107000409563, 37.708386000334997 ], [ -122.428082000069708, 37.708431000388259 ], [ -122.4291820001134, 37.708331000542465 ], [ -122.430027000171208, 37.708281000926895 ], [ -122.43088199968382, 37.708231000254095 ], [ -122.432182000201635, 37.708232000742527 ], [ -122.433381999517863, 37.708232000719455 ], [ -122.433982000223438, 37.708132001038294 ], [ -122.435381999744621, 37.708132000526668 ], [ -122.435782000019088, 37.709132000551556 ], [ -122.436482000077689, 37.709831000546913 ], [ -122.436981999615782, 37.710431000910127 ], [ -122.438281999591936, 37.710831000602361 ], [ -122.437782000194574, 37.711531000638502 ], [ -122.437382000459095, 37.712131000680685 ], [ -122.436581999620614, 37.713331000948884 ], [ -122.436082000069817, 37.714031000583709 ], [ -122.435181999561237, 37.713631000871466 ], [ -122.43438199943003, 37.713231000886786 ], [ -122.433681999566247, 37.713031000797692 ], [ -122.432781999782165, 37.714331000978738 ], [ -122.432282000291849, 37.714931000534854 ], [ -122.43108200041199, 37.716431000311708 ], [ -122.430581999566328, 37.716231000403489 ], [ -122.430081999943553, 37.716231000887639 ], [ -122.42928199953424, 37.715931000617225 ], [ -122.42838200000476, 37.715831000245451 ], [ -122.427382000211438, 37.7156310004844 ], [ -122.427482000327331, 37.714931000998483 ], [ -122.425682000342576, 37.714331000581915 ], [ -122.426581999669182, 37.711531000780894 ], [ -122.426782000102378, 37.710931000981304 ], [ -122.425326000018885, 37.710335000538969 ], [ -122.424581999406598, 37.71003100056064 ], [ -122.423381999758419, 37.709231000303042 ], [ -122.423781999764174, 37.708231000911901 ], [ -122.425290000212513, 37.708301000332284 ], [ -122.425564999731364, 37.708314000873777 ], [ -122.425792000518328, 37.708324000864614 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 155, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.410868000460184, 37.71565400067017 ], [ -122.410581999954999, 37.716131000738208 ], [ -122.409882000105256, 37.716031000867453 ], [ -122.409281999773171, 37.715931000402406 ], [ -122.408281999755886, 37.715631000316343 ], [ -122.406182000380937, 37.715031001083034 ], [ -122.406582000449163, 37.714431000830501 ], [ -122.406777999834148, 37.713780000885073 ], [ -122.407081999535876, 37.713131000250442 ], [ -122.407291999578135, 37.712326000430174 ], [ -122.407581999636932, 37.712431000917285 ], [ -122.40808199995972, 37.71133100073525 ], [ -122.408882000135748, 37.711531000557287 ], [ -122.409782000002849, 37.71173100077754 ], [ -122.410682000132027, 37.712031000330619 ], [ -122.411282000304269, 37.710431000778804 ], [ -122.412281999673098, 37.710731000716898 ], [ -122.412982000340037, 37.710931000605385 ], [ -122.41508200004813, 37.711531000594064 ], [ -122.416082000135873, 37.711831000796195 ], [ -122.415881999489457, 37.712431000983287 ], [ -122.415718999742666, 37.712756000562585 ], [ -122.41538199951404, 37.713431000281602 ], [ -122.415181999569157, 37.713831000248888 ], [ -122.415793999435209, 37.713918000638934 ], [ -122.415782000112188, 37.714031000307365 ], [ -122.415482000203056, 37.714731000487433 ], [ -122.41538199944101, 37.715131000707387 ], [ -122.4151819997508, 37.71523100100633 ], [ -122.413681999698937, 37.714831000916838 ], [ -122.41148200044195, 37.714231000585194 ], [ -122.411170999808121, 37.714996001128583 ], [ -122.410868000460184, 37.71565400067017 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 154, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.404081999764799, 37.71433100072985 ], [ -122.403581999922892, 37.71413100099744 ], [ -122.402581999745735, 37.714531000865904 ], [ -122.402081999854289, 37.713431000987129 ], [ -122.402281999873125, 37.7128310003622 ], [ -122.40228199996082, 37.71253100086377 ], [ -122.402274000289054, 37.712169000334121 ], [ -122.402582000165594, 37.71213100059947 ], [ -122.403182000092372, 37.71163100084128 ], [ -122.403581999453792, 37.711131000392811 ], [ -122.403982000126248, 37.710331000702425 ], [ -122.404981999610541, 37.709031001076347 ], [ -122.405582000344594, 37.708231000661165 ], [ -122.406482000174478, 37.708331000856667 ], [ -122.407181999398645, 37.708231001093289 ], [ -122.410370000449632, 37.708283000306906 ], [ -122.413281999878848, 37.708331000283096 ], [ -122.412081999579087, 37.708731000998156 ], [ -122.41188199988693, 37.709231001011212 ], [ -122.411282000304269, 37.710431000778804 ], [ -122.410682000132027, 37.712031000330619 ], [ -122.409782000002849, 37.71173100077754 ], [ -122.408882000135748, 37.711531000557287 ], [ -122.40808199995972, 37.71133100073525 ], [ -122.407581999636932, 37.712431000917285 ], [ -122.407291999578135, 37.712326000430174 ], [ -122.407081999535876, 37.713131000250442 ], [ -122.406777999834148, 37.713780000885073 ], [ -122.406582000449163, 37.714431000830501 ], [ -122.406182000380937, 37.715031001083034 ], [ -122.404081999764799, 37.71433100072985 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 90, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.454082000018701, 37.764230000631926 ], [ -122.455682000261021, 37.764030000778689 ], [ -122.456582000448748, 37.763730000722113 ], [ -122.457482000193991, 37.763430000962423 ], [ -122.459682000319106, 37.762830000988508 ], [ -122.46078200016521, 37.762530000405874 ], [ -122.461782000262929, 37.762230000636727 ], [ -122.462881999996043, 37.762230000698956 ], [ -122.462782000142667, 37.760330001123762 ], [ -122.462581999559987, 37.75963000087939 ], [ -122.462582000176994, 37.759430000463176 ], [ -122.463182000490477, 37.758830000905427 ], [ -122.463781999405683, 37.758430000467996 ], [ -122.463981999435063, 37.760230000278767 ], [ -122.463881999797252, 37.762230000694572 ], [ -122.464082000006314, 37.764030001024388 ], [ -122.464081999934834, 37.76493000041151 ], [ -122.464281999911222, 37.765930000606097 ], [ -122.463081999647486, 37.766030000519272 ], [ -122.462182000353693, 37.766030000244285 ], [ -122.461081999830768, 37.766130000774417 ], [ -122.459981999802451, 37.766230000941881 ], [ -122.458881999715629, 37.766130000581732 ], [ -122.457782000493978, 37.765830000616894 ], [ -122.454381999536878, 37.766030000709044 ], [ -122.452781999831103, 37.766229000266506 ], [ -122.452681999541582, 37.765330000839874 ], [ -122.452482000342968, 37.764430000360747 ], [ -122.453381999468775, 37.764330000663755 ], [ -122.454082000018701, 37.764230000631926 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 176, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.473582000520452, 37.760030000880931 ], [ -122.474581999626466, 37.759830000512189 ], [ -122.475782000490142, 37.759730001109823 ], [ -122.476781999443233, 37.759630000324357 ], [ -122.477081999476638, 37.761630001082672 ], [ -122.47718199987122, 37.763430000736491 ], [ -122.477282000143717, 37.765330000846554 ], [ -122.476081999597923, 37.765330000578999 ], [ -122.474982000305502, 37.76543000028078 ], [ -122.473982000102723, 37.765430000613051 ], [ -122.472782000078652, 37.765530000236701 ], [ -122.47168200033073, 37.765630000651463 ], [ -122.470581999941146, 37.765730000698682 ], [ -122.470482000390732, 37.763830000955629 ], [ -122.470181999685352, 37.761830000865672 ], [ -122.47028200013726, 37.760030000330801 ], [ -122.471282000093296, 37.759930000294709 ], [ -122.472281999919531, 37.759930001018823 ], [ -122.472581999763335, 37.759930001022937 ], [ -122.473582000520452, 37.760030000880931 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 174, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.470882000114742, 37.755130000721763 ], [ -122.471381999441505, 37.755330000772425 ], [ -122.472081999406313, 37.755630000953957 ], [ -122.47248199981577, 37.756130000856672 ], [ -122.473481999629371, 37.756130000256611 ], [ -122.474282000347628, 37.756030001106531 ], [ -122.475282000022929, 37.756030000550041 ], [ -122.476482000137011, 37.756030000400614 ], [ -122.476582000493835, 37.757830000395273 ], [ -122.476781999443233, 37.759630000324357 ], [ -122.475782000490142, 37.759730001109823 ], [ -122.474581999626466, 37.759830000512189 ], [ -122.473582000520452, 37.760030000880931 ], [ -122.472581999763335, 37.759930001022937 ], [ -122.472281999919531, 37.759930001018823 ], [ -122.471282000093296, 37.759930000294709 ], [ -122.47028200013726, 37.760030000330801 ], [ -122.469282000173934, 37.760030000656442 ], [ -122.467982000060005, 37.760030000470209 ], [ -122.467081999558346, 37.760130001100876 ], [ -122.465982000086058, 37.760130000682679 ], [ -122.464981999597256, 37.760230000773348 ], [ -122.463981999435063, 37.760230000278767 ], [ -122.463781999405683, 37.758430000467996 ], [ -122.463782000017162, 37.756530000245583 ], [ -122.463582000099237, 37.754630000525424 ], [ -122.463381999794208, 37.753530000650052 ], [ -122.463182000332765, 37.75293000098943 ], [ -122.463881999557472, 37.752830000758379 ], [ -122.464381999819253, 37.752730000656122 ], [ -122.465382000071273, 37.752730001052967 ], [ -122.466481999544925, 37.752630000988191 ], [ -122.467481999677531, 37.75263000068604 ], [ -122.468182000395899, 37.75313000039683 ], [ -122.468982000422216, 37.752730000900229 ], [ -122.469681999770117, 37.752430000623932 ], [ -122.469781999906743, 37.752630000596646 ], [ -122.470681999606569, 37.75243000109986 ], [ -122.470882000031594, 37.754030000728896 ], [ -122.470824999957955, 37.754372000504574 ], [ -122.470781999898023, 37.754630000777368 ], [ -122.470882000114742, 37.755130000721763 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 92, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.453681999682217, 37.757230000241115 ], [ -122.453612999866138, 37.757284000936323 ], [ -122.452781999464904, 37.75793000111404 ], [ -122.452039000372366, 37.758192001061843 ], [ -122.451081999884806, 37.758530001026251 ], [ -122.44838199990032, 37.758830000688981 ], [ -122.447981999501977, 37.757730000645161 ], [ -122.447382000342856, 37.757630000686177 ], [ -122.446881999777673, 37.756830000676544 ], [ -122.444981999975312, 37.755830001061533 ], [ -122.445282000164354, 37.755530000508493 ], [ -122.446582000382065, 37.755230000565938 ], [ -122.447482000243099, 37.75583000098635 ], [ -122.447382000459783, 37.75383000082622 ], [ -122.446781999503443, 37.753730000544316 ], [ -122.446581999434102, 37.753330000682311 ], [ -122.447181999565629, 37.752430000314249 ], [ -122.446881999925196, 37.751630000280954 ], [ -122.44748199940797, 37.750830001067271 ], [ -122.44848199949439, 37.750830000575824 ], [ -122.449381999999019, 37.750230000328521 ], [ -122.448981999971849, 37.749130000383033 ], [ -122.448082000272649, 37.750130000767236 ], [ -122.447789000450342, 37.750043000456515 ], [ -122.445381999943876, 37.749330000950806 ], [ -122.445381999461929, 37.748630000546015 ], [ -122.447281999753073, 37.749330000627516 ], [ -122.449181999477432, 37.746830000670734 ], [ -122.450482000115102, 37.745930000407412 ], [ -122.451482000379272, 37.745430001112744 ], [ -122.453782000403933, 37.745530000239874 ], [ -122.454582000351181, 37.745930000315852 ], [ -122.45538200052448, 37.746230000868799 ], [ -122.456081999734934, 37.746430001039961 ], [ -122.457181999699159, 37.746530000813522 ], [ -122.458482000390134, 37.746730000357395 ], [ -122.45898200014507, 37.747330000562087 ], [ -122.458581999524597, 37.747730000475421 ], [ -122.459381999717863, 37.748730000921107 ], [ -122.461582000389541, 37.75113000080767 ], [ -122.459381999886858, 37.751830001024061 ], [ -122.459175999944463, 37.751787000433467 ], [ -122.458001000120348, 37.751544001011744 ], [ -122.456481999953155, 37.751230000731873 ], [ -122.455881999882592, 37.751830000318499 ], [ -122.455782000425899, 37.752230000416105 ], [ -122.455681999796184, 37.752930000375535 ], [ -122.455281999525042, 37.75383000077629 ], [ -122.45480899946719, 37.755154000374283 ], [ -122.45478200042011, 37.755230000733 ], [ -122.453981999920956, 37.756730000514338 ], [ -122.453681999682217, 37.757230000241115 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 131, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.448681999575996, 37.733031000777949 ], [ -122.450782000257576, 37.733031000957631 ], [ -122.453182000004531, 37.732931000436714 ], [ -122.454182000125016, 37.732931000397173 ], [ -122.454482000342892, 37.733431000569411 ], [ -122.456282000360318, 37.734131001068228 ], [ -122.457282000228474, 37.734431000952618 ], [ -122.459182000194559, 37.734231001040648 ], [ -122.45938199995895, 37.735331000451808 ], [ -122.460181999761005, 37.737231000620675 ], [ -122.459081999743034, 37.737631000400228 ], [ -122.459281999464849, 37.738531000981858 ], [ -122.459181999618963, 37.738831000822984 ], [ -122.458481999654197, 37.73893000033339 ], [ -122.457482000273046, 37.73933000087974 ], [ -122.456781999978105, 37.740330000784887 ], [ -122.454581999934163, 37.741630000249671 ], [ -122.453282000368816, 37.743330000818283 ], [ -122.452681999956042, 37.742830000915397 ], [ -122.450782000202111, 37.74273000094901 ], [ -122.44998199967003, 37.742830000679682 ], [ -122.449582000369261, 37.743430000880942 ], [ -122.446182000483091, 37.742230000361644 ], [ -122.446092999702699, 37.742016001112219 ], [ -122.445681999936326, 37.741030000779723 ], [ -122.443582000391729, 37.739730000485409 ], [ -122.442881999606229, 37.738530000741406 ], [ -122.442181999639118, 37.737330000278796 ], [ -122.443081999579135, 37.736430000708147 ], [ -122.443681999941404, 37.735831001134102 ], [ -122.443181999614524, 37.735531001086898 ], [ -122.44234899991379, 37.735723000272777 ], [ -122.441881999598081, 37.735830000262951 ], [ -122.441194999748333, 37.735586000267602 ], [ -122.440897999844381, 37.73536500070464 ], [ -122.44058200021172, 37.734931000463042 ], [ -122.439882000125962, 37.734731000252246 ], [ -122.439082000079495, 37.73443100085661 ], [ -122.438282000030753, 37.734231001077106 ], [ -122.438482000225505, 37.733631000735336 ], [ -122.438681999398156, 37.733031000879599 ], [ -122.43948199962027, 37.73303100043924 ], [ -122.440581999679324, 37.733031000881326 ], [ -122.441782000119559, 37.733031000473254 ], [ -122.443982000515007, 37.733031000440484 ], [ -122.446181999980467, 37.733031000801482 ], [ -122.448681999575996, 37.733031000777949 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 132, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.462481999415289, 37.726731000498468 ], [ -122.462382000504022, 37.727131000895056 ], [ -122.462682000046669, 37.727931001043856 ], [ -122.461581999509093, 37.72803100051182 ], [ -122.460741999942726, 37.728451001134637 ], [ -122.460582000360091, 37.728531000483592 ], [ -122.461481999460219, 37.728531000760128 ], [ -122.461382000296339, 37.729031000881285 ], [ -122.461481999575184, 37.729931000867126 ], [ -122.461082000397695, 37.731131000964652 ], [ -122.460282000449084, 37.731831000459692 ], [ -122.460182000488601, 37.732531000555177 ], [ -122.459182000218078, 37.732931000925312 ], [ -122.458981999763452, 37.733531000942506 ], [ -122.459182000194559, 37.734231001040648 ], [ -122.457282000228474, 37.734431000952618 ], [ -122.456282000360318, 37.734131001068228 ], [ -122.454482000342892, 37.733431000569411 ], [ -122.454182000125016, 37.732931000397173 ], [ -122.453182000004531, 37.732931000436714 ], [ -122.45318200017114, 37.732231000572419 ], [ -122.453081999912442, 37.731331000502287 ], [ -122.453081999944644, 37.730431000936925 ], [ -122.45298199940386, 37.729631000291953 ], [ -122.453781999839606, 37.729631000924698 ], [ -122.453782000493533, 37.729031000442056 ], [ -122.453881999660496, 37.728531000618389 ], [ -122.453782000511723, 37.728231000301051 ], [ -122.452281999861825, 37.72823100049613 ], [ -122.45228199999724, 37.722831001121783 ], [ -122.45288199994836, 37.723031000981962 ], [ -122.453982000311711, 37.723131001076901 ], [ -122.454882000075301, 37.723431000731438 ], [ -122.455881999530803, 37.723731000847472 ], [ -122.456481999445231, 37.723831000549232 ], [ -122.456981999657231, 37.72383100092091 ], [ -122.457182000481396, 37.723931000726346 ], [ -122.457981999418394, 37.72413100037172 ], [ -122.458982000492284, 37.724331000482671 ], [ -122.459582000402293, 37.724431000647314 ], [ -122.459982000167528, 37.724531001127133 ], [ -122.461082000180525, 37.724731000726038 ], [ -122.462182000475906, 37.72493100088883 ], [ -122.462682000305421, 37.725231001108291 ], [ -122.462581999727149, 37.726431000761544 ], [ -122.462481999415289, 37.726731000498468 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 166, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.455681999600685, 37.718131000840749 ], [ -122.456681999399237, 37.718131000599257 ], [ -122.45788300042166, 37.718131000566324 ], [ -122.458782999527557, 37.718131000327894 ], [ -122.459782999450908, 37.71813100082143 ], [ -122.460982999873323, 37.718131000674077 ], [ -122.461782999431009, 37.718131000696417 ], [ -122.461983000250214, 37.719831000352563 ], [ -122.462082000155775, 37.721531000783251 ], [ -122.462081999561747, 37.722931000771297 ], [ -122.461981999937038, 37.723431001005864 ], [ -122.462081999445488, 37.724131000628667 ], [ -122.462182000437735, 37.724531000414402 ], [ -122.462182000475906, 37.72493100088883 ], [ -122.461082000180525, 37.724731000726038 ], [ -122.459982000167528, 37.724531001127133 ], [ -122.459582000402293, 37.724431000647314 ], [ -122.458982000492284, 37.724331000482671 ], [ -122.457981999418394, 37.72413100037172 ], [ -122.457182000481396, 37.723931000726346 ], [ -122.456981999657231, 37.72383100092091 ], [ -122.456481999445231, 37.723831000549232 ], [ -122.455881999530803, 37.723731000847472 ], [ -122.454882000075301, 37.723431000731438 ], [ -122.453982000311711, 37.723131001076901 ], [ -122.45288199994836, 37.723031000981962 ], [ -122.45228199999724, 37.722831001121783 ], [ -122.449381999642625, 37.722731000266748 ], [ -122.447559000162173, 37.722766001003727 ], [ -122.446397999553881, 37.72276600054257 ], [ -122.447482000240157, 37.721031000796863 ], [ -122.447781999876383, 37.720031000411659 ], [ -122.447882000522796, 37.719431000587754 ], [ -122.44798199954073, 37.719031000467886 ], [ -122.44798199949679, 37.718831000605412 ], [ -122.447981999726096, 37.718738000343777 ], [ -122.447982000459433, 37.718231000982748 ], [ -122.448381999987788, 37.718331001115473 ], [ -122.448781999649611, 37.717631000295704 ], [ -122.449781999487385, 37.716631000287386 ], [ -122.450282000292958, 37.716031001078228 ], [ -122.45108200034619, 37.716531000588958 ], [ -122.451782000392797, 37.716831001134075 ], [ -122.452581999841428, 37.717131000410212 ], [ -122.453281999478705, 37.717531001044442 ], [ -122.453882000505757, 37.718031000300606 ], [ -122.454882000247181, 37.718131000877285 ], [ -122.455681999600685, 37.718131000840749 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 177, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.482981999983991, 37.755630000404935 ], [ -122.484081999419885, 37.755630000570946 ], [ -122.485182000508402, 37.755530000924757 ], [ -122.48628199969977, 37.755530000379274 ], [ -122.486482000166333, 37.757430000894644 ], [ -122.486582000289829, 37.759230000813261 ], [ -122.486581999481885, 37.761030000737769 ], [ -122.486782000361927, 37.762930000850943 ], [ -122.486981999557415, 37.76483000093944 ], [ -122.485881999982411, 37.76483000040227 ], [ -122.484681999976473, 37.765030000727762 ], [ -122.483781999525362, 37.765030000517889 ], [ -122.482582000106305, 37.765030000666783 ], [ -122.481581999518468, 37.765130000807709 ], [ -122.480381999455048, 37.765230000363367 ], [ -122.479381999458553, 37.765230000563619 ], [ -122.478281999966399, 37.765230000267984 ], [ -122.477282000143717, 37.765330000846554 ], [ -122.47718199987122, 37.763430000736491 ], [ -122.477081999476638, 37.761630001082672 ], [ -122.476781999443233, 37.759630000324357 ], [ -122.476582000493835, 37.757830000395273 ], [ -122.476482000137011, 37.756030000400614 ], [ -122.477681999529395, 37.755930000316148 ], [ -122.478581999896249, 37.755830000483044 ], [ -122.479782000340109, 37.755830000972431 ], [ -122.480881999778873, 37.755730000925787 ], [ -122.481882000222768, 37.755730000237328 ], [ -122.482981999983991, 37.755630000404935 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 178, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.486782000361927, 37.762930000850943 ], [ -122.486581999481885, 37.761030000737769 ], [ -122.486582000289829, 37.759230000813261 ], [ -122.486482000166333, 37.757430000894644 ], [ -122.48628199969977, 37.755530000379274 ], [ -122.487281999844413, 37.755430000350337 ], [ -122.488381999908995, 37.755430000932989 ], [ -122.489382000015127, 37.755430000583004 ], [ -122.490382000438629, 37.755330000370463 ], [ -122.491482000292507, 37.7553300008544 ], [ -122.492581999785372, 37.755230000581953 ], [ -122.49368200052848, 37.755230000359454 ], [ -122.494782000211742, 37.755130000268643 ], [ -122.49538199948401, 37.755030000693651 ], [ -122.495481999954904, 37.757030000587534 ], [ -122.49558199980612, 37.758830000833008 ], [ -122.495681999428101, 37.760730000782488 ], [ -122.495881999517863, 37.762530000347944 ], [ -122.49598199966411, 37.764530000957294 ], [ -122.495481999530568, 37.764530000274796 ], [ -122.494281999690315, 37.764530000618464 ], [ -122.493281999563877, 37.764630000979935 ], [ -122.492182000134434, 37.764730000917694 ], [ -122.491081999545983, 37.764730000250658 ], [ -122.490082000183392, 37.764730000243603 ], [ -122.488981999636252, 37.764830000931234 ], [ -122.487881999970085, 37.764830001037083 ], [ -122.486981999557415, 37.76483000093944 ], [ -122.486782000361927, 37.762930000850943 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 198, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.475883999533451, 37.660934000831446 ], [ -122.476150000420077, 37.661200001119845 ], [ -122.479683999985312, 37.664734000432993 ], [ -122.480100999481678, 37.66509800066585 ], [ -122.480484000347673, 37.66543400032031 ], [ -122.480843000449994, 37.665683001091999 ], [ -122.481783999395716, 37.666334000628211 ], [ -122.482184000069992, 37.666634000829632 ], [ -122.48418399963883, 37.667834001101966 ], [ -122.484397000116246, 37.667972000613787 ], [ -122.484684000514321, 37.668134001049935 ], [ -122.484558000362455, 37.668522001010523 ], [ -122.48438700046627, 37.668760001000805 ], [ -122.484165999578849, 37.668927000505612 ], [ -122.483965999896952, 37.669046000934301 ], [ -122.483484000075336, 37.669234000865572 ], [ -122.482583999841125, 37.669334000374704 ], [ -122.480783999498456, 37.669434000395071 ], [ -122.480183999903034, 37.66943400030528 ], [ -122.480283999930535, 37.669834001113493 ], [ -122.480383999727849, 37.672533000550601 ], [ -122.480384000149513, 37.673233001038163 ], [ -122.480383999410108, 37.674033000458749 ], [ -122.480331999822226, 37.674120000321061 ], [ -122.480283999734098, 37.674233000437852 ], [ -122.479684000479537, 37.675433001054913 ], [ -122.47938399997723, 37.675333000425688 ], [ -122.479084000275037, 37.675233000840251 ], [ -122.478489999965731, 37.675102001113864 ], [ -122.476080000104815, 37.675102000738129 ], [ -122.474904000356162, 37.675102000336118 ], [ -122.474403000388335, 37.67513300076461 ], [ -122.474036999931229, 37.675224000637201 ], [ -122.473806000203226, 37.675316001044294 ], [ -122.473593999677902, 37.675331000440892 ], [ -122.473382000176315, 37.675316000490888 ], [ -122.473083999943555, 37.675233000891041 ], [ -122.472746000039038, 37.675179000486857 ], [ -122.472455999827488, 37.675118000480431 ], [ -122.473183999816172, 37.674233000849441 ], [ -122.475684000174056, 37.671033000450734 ], [ -122.476784000439039, 37.670233000360113 ], [ -122.475984000349385, 37.670033001004242 ], [ -122.476383999534079, 37.669233001100359 ], [ -122.476683999526969, 37.668634000899914 ], [ -122.476470000352862, 37.668254000868735 ], [ -122.476288000458098, 37.667924000562543 ], [ -122.476116999411573, 37.667615000263012 ], [ -122.475936999432946, 37.667076000328215 ], [ -122.475806999444444, 37.666498000856528 ], [ -122.475423000516628, 37.665231000737428 ], [ -122.475202999803059, 37.664981000369828 ], [ -122.474847000213984, 37.664710000628695 ], [ -122.474551999845701, 37.664549000594448 ], [ -122.474331999822653, 37.664466000952885 ], [ -122.474716999500004, 37.663749000408941 ], [ -122.475183999507522, 37.663234000361371 ], [ -122.475813000267337, 37.661167000627351 ], [ -122.475883999533451, 37.660934000831446 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 199, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.471683999615308, 37.662034000273017 ], [ -122.471715999690403, 37.662094001057966 ], [ -122.471880999425949, 37.662355000454717 ], [ -122.472155000064177, 37.662658000991051 ], [ -122.472387000321206, 37.662865000532037 ], [ -122.472770999763981, 37.663245000261931 ], [ -122.473072000361228, 37.663538000973723 ], [ -122.473291000130985, 37.663744000555432 ], [ -122.473483999974931, 37.663934000402115 ], [ -122.474139999523246, 37.66442600028482 ], [ -122.474331999822653, 37.664466000952885 ], [ -122.474551999845701, 37.664549000594448 ], [ -122.474847000213984, 37.664710000628695 ], [ -122.475202999803059, 37.664981000369828 ], [ -122.475423000516628, 37.665231000737428 ], [ -122.475806999444444, 37.666498000856528 ], [ -122.475936999432946, 37.667076000328215 ], [ -122.476116999411573, 37.667615000263012 ], [ -122.476288000458098, 37.667924000562543 ], [ -122.476470000352862, 37.668254000868735 ], [ -122.476683999526969, 37.668634000899914 ], [ -122.476383999534079, 37.669233001100359 ], [ -122.475984000349385, 37.670033001004242 ], [ -122.476784000439039, 37.670233000360113 ], [ -122.475684000174056, 37.671033000450734 ], [ -122.473183999816172, 37.674233000849441 ], [ -122.472455999827488, 37.675118000480431 ], [ -122.471384000422034, 37.677333000369025 ], [ -122.471149999956197, 37.677604000558375 ], [ -122.471085999970626, 37.677431000762496 ], [ -122.470887000374603, 37.677171001093406 ], [ -122.469784000464102, 37.675533001017548 ], [ -122.469184000386065, 37.67483300080147 ], [ -122.466983999970438, 37.671933000559115 ], [ -122.466583999701015, 37.671233000916736 ], [ -122.466183999874886, 37.6694330006165 ], [ -122.465357000444257, 37.669695000429058 ], [ -122.464784000388534, 37.669933001061814 ], [ -122.464052000001459, 37.670315000436048 ], [ -122.46348399983458, 37.669733000431599 ], [ -122.463321999560804, 37.669639000933451 ], [ -122.462284000351346, 37.669033001047161 ], [ -122.460993999750414, 37.668034000662189 ], [ -122.460665999584876, 37.667780000693185 ], [ -122.459184000076917, 37.666633000642086 ], [ -122.459784000078955, 37.666333000350456 ], [ -122.460183999485238, 37.665933000297912 ], [ -122.46118399984104, 37.665333000340659 ], [ -122.460683999702397, 37.664534000619867 ], [ -122.461383999944289, 37.664034000319333 ], [ -122.462764000089422, 37.663253000635606 ], [ -122.463750999878513, 37.663103001006107 ], [ -122.464463999741511, 37.663172000598593 ], [ -122.464607999736415, 37.663194000540997 ], [ -122.464884000120222, 37.663234000332707 ], [ -122.465043999615389, 37.66327400071409 ], [ -122.465684000464336, 37.663434000986179 ], [ -122.466383999673951, 37.663534000795075 ], [ -122.468483999612104, 37.663834000567086 ], [ -122.468384000380411, 37.66293400101334 ], [ -122.470595999850005, 37.662331000752459 ], [ -122.471683999615308, 37.662034000273017 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 214, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.452483999575705, 37.655534000696925 ], [ -122.452984000463147, 37.656334000351336 ], [ -122.453783999681605, 37.657734000738081 ], [ -122.452684000494855, 37.657634000755337 ], [ -122.452683999841042, 37.658334000386517 ], [ -122.452183999813116, 37.658934000683594 ], [ -122.451584000246939, 37.65943400073435 ], [ -122.451083999624373, 37.659834000635698 ], [ -122.450383999566284, 37.660434000482013 ], [ -122.4501839998766, 37.660834000476498 ], [ -122.451983999554088, 37.662134001028704 ], [ -122.451484000340201, 37.662633001014449 ], [ -122.450583000267841, 37.663333000563895 ], [ -122.450182999907355, 37.66373300055433 ], [ -122.449683000258474, 37.664033000463689 ], [ -122.449083000180252, 37.664433000743529 ], [ -122.447595000033402, 37.663520001061372 ], [ -122.447584000447833, 37.663504000496189 ], [ -122.445373999712345, 37.663067000812603 ], [ -122.445097999625787, 37.662977000938305 ], [ -122.444365999866974, 37.662681001050707 ], [ -122.443536999659969, 37.661717000706716 ], [ -122.441701000288035, 37.659982000954685 ], [ -122.441078999665876, 37.659111000310048 ], [ -122.437182999674647, 37.65713400053292 ], [ -122.436182999933095, 37.656334000968521 ], [ -122.434482999589406, 37.65523400093938 ], [ -122.434283000100919, 37.654934000836448 ], [ -122.43608300005333, 37.654034000373471 ], [ -122.438234999897219, 37.653900001104532 ], [ -122.439282999863295, 37.653834001042057 ], [ -122.440431000105917, 37.652973000757832 ], [ -122.440882999643648, 37.652634000525183 ], [ -122.441281999992768, 37.650797000617267 ], [ -122.441383000156421, 37.650334001072984 ], [ -122.441983999628846, 37.649334001020762 ], [ -122.44618399953869, 37.647834000477133 ], [ -122.446883999681063, 37.646834000535065 ], [ -122.447384000254473, 37.645634000893175 ], [ -122.447735999917043, 37.645156000920394 ], [ -122.448384000210055, 37.644734000572761 ], [ -122.448783999831221, 37.644573000987606 ], [ -122.450383999486391, 37.646734001027163 ], [ -122.450483999868226, 37.647134001000175 ], [ -122.45088399996105, 37.648234000461414 ], [ -122.451684000340919, 37.649834000801654 ], [ -122.45028399999822, 37.648934000894243 ], [ -122.452983999601187, 37.654434000741432 ], [ -122.452184000504644, 37.654734000355184 ], [ -122.452483999575705, 37.655534000696925 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 210, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.410982999526624, 37.65843300106927 ], [ -122.411683000381188, 37.658533000747461 ], [ -122.411283000490442, 37.659533000259195 ], [ -122.410782999684216, 37.660433000914487 ], [ -122.410382999760699, 37.66193300061817 ], [ -122.41038299960384, 37.662433000610221 ], [ -122.409483000519529, 37.663033001101411 ], [ -122.40898200001628, 37.663733000581061 ], [ -122.408282000357815, 37.665133000313034 ], [ -122.408181999689148, 37.665433000810907 ], [ -122.40806299981422, 37.665671000780961 ], [ -122.407881999520313, 37.6660330006764 ], [ -122.406819000430104, 37.66577800043482 ], [ -122.405382000212953, 37.66543300087767 ], [ -122.404582000171331, 37.665133000283838 ], [ -122.404782000231464, 37.664933000743638 ], [ -122.404382000278915, 37.664933000511418 ], [ -122.402981999681586, 37.664633000606251 ], [ -122.40198199962326, 37.664433000779752 ], [ -122.400682000349036, 37.664333000551458 ], [ -122.399881999577715, 37.66383300109166 ], [ -122.401181999628164, 37.662933000852405 ], [ -122.402381999688501, 37.662233000860496 ], [ -122.404081999480937, 37.661033000978719 ], [ -122.405181999975213, 37.660133000761647 ], [ -122.406182000057157, 37.658333000829806 ], [ -122.406682999862397, 37.657433001094326 ], [ -122.407383000057735, 37.657633000898564 ], [ -122.409300999554063, 37.657977000325396 ], [ -122.410383000241708, 37.658333000512719 ], [ -122.410982999526624, 37.65843300106927 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 213, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.424482999627017, 37.641934000406835 ], [ -122.423483000093682, 37.640434000556986 ], [ -122.432683999918197, 37.634534000823692 ], [ -122.433360000449525, 37.63502500036379 ], [ -122.433783999816342, 37.63533400080015 ], [ -122.434532999959956, 37.635989001040194 ], [ -122.436983999518205, 37.638134000419591 ], [ -122.439484000486814, 37.636934000505242 ], [ -122.440684000441436, 37.638934000879907 ], [ -122.441684000233366, 37.639734000979978 ], [ -122.44738399971915, 37.643834000413889 ], [ -122.448783999831221, 37.644573000987606 ], [ -122.448384000210055, 37.644734000572761 ], [ -122.447735999917043, 37.645156000920394 ], [ -122.447384000254473, 37.645634000893175 ], [ -122.446883999681063, 37.646834000535065 ], [ -122.44618399953869, 37.647834000477133 ], [ -122.441983999628846, 37.649334001020762 ], [ -122.441383000156421, 37.650334001072984 ], [ -122.441281999992768, 37.650797000617267 ], [ -122.440882999643648, 37.652634000525183 ], [ -122.440431000105917, 37.652973000757832 ], [ -122.439282999863295, 37.653834001042057 ], [ -122.438234999897219, 37.653900001104532 ], [ -122.43608300005333, 37.654034000373471 ], [ -122.434283000100919, 37.654934000836448 ], [ -122.433883000119977, 37.65463400064143 ], [ -122.43318299978958, 37.654134000868297 ], [ -122.432383000456397, 37.653234000452755 ], [ -122.432282999931061, 37.652834000254856 ], [ -122.431382999613106, 37.651834000972769 ], [ -122.430383000388488, 37.650234000713063 ], [ -122.429483000015964, 37.648734000471954 ], [ -122.429182999543826, 37.648234000609186 ], [ -122.428282999532712, 37.647134000506725 ], [ -122.427282999567836, 37.646034001022024 ], [ -122.427150999892831, 37.645827000888559 ], [ -122.42588299998809, 37.643834000842674 ], [ -122.424882999987602, 37.642634000284751 ], [ -122.424482999627017, 37.641934000406835 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 231, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.452884000310235, 37.637035000967209 ], [ -122.453683999533766, 37.637535000356038 ], [ -122.454484000288318, 37.638135001047608 ], [ -122.458584000228882, 37.640134000596632 ], [ -122.460884000016264, 37.639635000378178 ], [ -122.46258399940308, 37.639235000559928 ], [ -122.462884000505341, 37.640335000497075 ], [ -122.462984000239842, 37.641834000729716 ], [ -122.46198400010735, 37.642634000279273 ], [ -122.458436999430518, 37.643666000576587 ], [ -122.458070000262865, 37.643561000739759 ], [ -122.456584000322579, 37.643134001039456 ], [ -122.454683999579899, 37.64243400063323 ], [ -122.45358400051704, 37.642634000609903 ], [ -122.451983999974786, 37.643234000913047 ], [ -122.450055999799787, 37.644040001009877 ], [ -122.448783999831221, 37.644573000987606 ], [ -122.44738399971915, 37.643834000413889 ], [ -122.441684000233366, 37.639734000979978 ], [ -122.440684000441436, 37.638934000879907 ], [ -122.439484000486814, 37.636934000505242 ], [ -122.440483999585055, 37.636434000622678 ], [ -122.441322000464268, 37.636012000947659 ], [ -122.442983999747881, 37.635174000560234 ], [ -122.444096999476457, 37.634614001064364 ], [ -122.445490999772218, 37.634960001066062 ], [ -122.445257999409677, 37.635454001030517 ], [ -122.445915000022509, 37.636087000777621 ], [ -122.446555000059647, 37.636289000551045 ], [ -122.447610000365003, 37.635200000626497 ], [ -122.447670000334512, 37.635091000940712 ], [ -122.448019000374842, 37.635111000752417 ], [ -122.447984000228061, 37.634935000912364 ], [ -122.448708000245659, 37.635046001042269 ], [ -122.449284000141603, 37.635135000235096 ], [ -122.45026899985325, 37.635645000496844 ], [ -122.452183999672172, 37.636635000356669 ], [ -122.452884000310235, 37.637035000967209 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 221, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.478983999733714, 37.657534000580853 ], [ -122.478784000157717, 37.65583400042204 ], [ -122.479184000302752, 37.654934000269066 ], [ -122.479783999708431, 37.654234000661738 ], [ -122.481384000184164, 37.653334000372901 ], [ -122.481883999422195, 37.652434001103025 ], [ -122.481185000181867, 37.651334001022853 ], [ -122.482284999788192, 37.65133400073401 ], [ -122.48308500015888, 37.651834000717024 ], [ -122.483485000461158, 37.65333400053359 ], [ -122.484184000199505, 37.654834000447153 ], [ -122.484785000020466, 37.654034000976537 ], [ -122.485384999615263, 37.654134001000486 ], [ -122.485984999701088, 37.654234000681669 ], [ -122.486584999717977, 37.655034001023189 ], [ -122.487484999407542, 37.655734000269405 ], [ -122.487885000372955, 37.655834000888696 ], [ -122.489884999720175, 37.655934000618849 ], [ -122.489985000347446, 37.655534001110688 ], [ -122.490484999452661, 37.655834000339816 ], [ -122.490584999670602, 37.656434000273514 ], [ -122.491085000516122, 37.656534000937995 ], [ -122.491484999506994, 37.656434000549829 ], [ -122.491984999761257, 37.660134000358134 ], [ -122.491484999470103, 37.66053400087921 ], [ -122.491584000112283, 37.662234000746345 ], [ -122.491438999882661, 37.662193000467497 ], [ -122.488384000186031, 37.661334000317261 ], [ -122.485884000272833, 37.661434000657366 ], [ -122.48508400041824, 37.662134000283082 ], [ -122.485095000427478, 37.66237300056536 ], [ -122.485570000111778, 37.663099000816906 ], [ -122.485711999417248, 37.663768000338777 ], [ -122.485732000403914, 37.664305000360535 ], [ -122.485181000098279, 37.664266000844151 ], [ -122.484833000011903, 37.664241000834132 ], [ -122.484884000218301, 37.664434000500002 ], [ -122.485184000478313, 37.665334000582227 ], [ -122.484883999955969, 37.666034001000995 ], [ -122.484683999663872, 37.666434001057588 ], [ -122.484383999420956, 37.666834000781343 ], [ -122.484222000454409, 37.667021000243828 ], [ -122.484112999913705, 37.667075000940883 ], [ -122.483997000103145, 37.667108000531975 ], [ -122.483783999673662, 37.667134000301694 ], [ -122.481783999395716, 37.666334000628211 ], [ -122.480843000449994, 37.665683001091999 ], [ -122.480484000347673, 37.66543400032031 ], [ -122.480100999481678, 37.66509800066585 ], [ -122.479683999985312, 37.664734000432993 ], [ -122.476150000420077, 37.661200001119845 ], [ -122.475883999533451, 37.660934000831446 ], [ -122.478083999782882, 37.659834000739146 ], [ -122.478357000108446, 37.659470000968895 ], [ -122.47868400045563, 37.659034000986246 ], [ -122.478983999733714, 37.657534000580853 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 226, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.483753000017799, 37.598587000582903 ], [ -122.482486000234701, 37.598436000381156 ], [ -122.482286000299808, 37.597437000338481 ], [ -122.481986000139827, 37.595937000420591 ], [ -122.480586000211161, 37.594337000788727 ], [ -122.478785999936392, 37.593337001006667 ], [ -122.479185999879419, 37.592737000523506 ], [ -122.480685999556641, 37.592637000841862 ], [ -122.480685999474147, 37.592437000953716 ], [ -122.479685999396864, 37.592037001027329 ], [ -122.477285999836667, 37.591737000664807 ], [ -122.476885999880352, 37.591637001074808 ], [ -122.476285999506715, 37.591437000303699 ], [ -122.475385999544358, 37.591037000249813 ], [ -122.47708600022591, 37.587937000850751 ], [ -122.476185999830051, 37.586337001131398 ], [ -122.475486000034834, 37.585937000341211 ], [ -122.473785999979967, 37.583937000675306 ], [ -122.474385999619685, 37.583337001050054 ], [ -122.475486000067917, 37.581137000389361 ], [ -122.475827999856634, 37.580923000876716 ], [ -122.476286000159376, 37.580637001000085 ], [ -122.476486000150615, 37.580337000402999 ], [ -122.476428000023503, 37.580091000551924 ], [ -122.476305999831013, 37.579939001007574 ], [ -122.476001000132769, 37.579794001086306 ], [ -122.475649999871237, 37.579702000626156 ], [ -122.475100000014251, 37.579573001126555 ], [ -122.47455099961563, 37.579367000735957 ], [ -122.474307000307931, 37.579199000644508 ], [ -122.474186000348624, 37.57903700023423 ], [ -122.473840999539902, 37.579234000358454 ], [ -122.473485999654315, 37.579437001083221 ], [ -122.471786000349667, 37.578137000531292 ], [ -122.476185999961501, 37.572537000806058 ], [ -122.46798599949642, 37.572537000452918 ], [ -122.467904999441217, 37.570097000861388 ], [ -122.467886000395282, 37.569537000945274 ], [ -122.467789000275673, 37.569533000668208 ], [ -122.46548600026297, 37.569437000399525 ], [ -122.46568599992446, 37.566138000930685 ], [ -122.467585999426419, 37.566238000266942 ], [ -122.467685999928278, 37.565238000724655 ], [ -122.467585999626266, 37.563438001114747 ], [ -122.477686999434013, 37.563538000616852 ], [ -122.477887000319669, 37.56213800040387 ], [ -122.478791999672197, 37.562139000387532 ], [ -122.480067999539912, 37.562139000433298 ], [ -122.48151400040733, 37.562612000754349 ], [ -122.482397999410324, 37.563249000575617 ], [ -122.483725000015895, 37.564704000895212 ], [ -122.485425999773412, 37.565514000279521 ], [ -122.486607999495632, 37.565730000235853 ], [ -122.487637999724598, 37.565919000449647 ], [ -122.490530000416527, 37.566121000909398 ], [ -122.492570999949237, 37.566594000260736 ], [ -122.49384699959532, 37.568079000567614 ], [ -122.493808999529591, 37.569343000302339 ], [ -122.494000999945968, 37.569768000867789 ], [ -122.494425000352635, 37.570291000536471 ], [ -122.495179000054378, 37.570477000513712 ], [ -122.495744000455659, 37.570402000347173 ], [ -122.496309999703399, 37.57032800042613 ], [ -122.496587000183737, 37.570338000737543 ], [ -122.498486999567817, 37.574638001017 ], [ -122.498664000410571, 37.574786000384506 ], [ -122.498784000377285, 37.574887001044644 ], [ -122.499461999608712, 37.575456000749021 ], [ -122.501586999750188, 37.577238001080936 ], [ -122.502645000344458, 37.576785000534379 ], [ -122.50438700017402, 37.576038000336098 ], [ -122.504887000050758, 37.578138000616207 ], [ -122.50522599980107, 37.577944000251975 ], [ -122.50628699989376, 37.577338000476864 ], [ -122.505809000467522, 37.577984000585822 ], [ -122.504654000218537, 37.579542000535007 ], [ -122.504286999659215, 37.580037000468572 ], [ -122.503087000047486, 37.58023700037414 ], [ -122.495592999808594, 37.58052900060936 ], [ -122.495386999781047, 37.580537001125812 ], [ -122.494786999914567, 37.581237000850592 ], [ -122.494063999550647, 37.582040000573208 ], [ -122.494925000511969, 37.582401000781395 ], [ -122.496477000273856, 37.582168000626929 ], [ -122.496708999583802, 37.582373000479897 ], [ -122.497001000096645, 37.582966000677217 ], [ -122.497122000225986, 37.583093001069798 ], [ -122.497686999666712, 37.583337000559133 ], [ -122.49818699953461, 37.583637001011517 ], [ -122.496486999780785, 37.585437001111728 ], [ -122.49508699965503, 37.587137000793035 ], [ -122.493585999682679, 37.588437000327382 ], [ -122.492786000205101, 37.588837000542682 ], [ -122.492486000429807, 37.590937001132865 ], [ -122.491886000074828, 37.592437000756377 ], [ -122.491685999585471, 37.593537000611903 ], [ -122.492486000467238, 37.593437000618692 ], [ -122.493841000109981, 37.59330600074037 ], [ -122.494761000430941, 37.593217000505746 ], [ -122.495586000157218, 37.593137000760798 ], [ -122.496886000445571, 37.59403700105355 ], [ -122.497186000466812, 37.595537000503441 ], [ -122.496786000408591, 37.596737000466511 ], [ -122.498186000423644, 37.598237000970443 ], [ -122.499886000340283, 37.599137000376828 ], [ -122.498086000046797, 37.603836000648471 ], [ -122.498074000441108, 37.603968000702594 ], [ -122.49788599998196, 37.606036000963243 ], [ -122.496286000305247, 37.607636000257173 ], [ -122.49583599940614, 37.606917000405581 ], [ -122.495286000068162, 37.606036000298687 ], [ -122.494985999428025, 37.60523600036715 ], [ -122.494186000066051, 37.604436001061252 ], [ -122.49218599987914, 37.602236000794321 ], [ -122.490986000135607, 37.602836000312692 ], [ -122.490002000253597, 37.601945000438931 ], [ -122.488886000271805, 37.600936001093345 ], [ -122.48898599973532, 37.600236000330838 ], [ -122.489185999501544, 37.599237000959818 ], [ -122.484066999955814, 37.598625000581471 ], [ -122.483753000017799, 37.598587000582903 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 228, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.455284000154109, 37.62783500089369 ], [ -122.455384000011236, 37.625135000550834 ], [ -122.455083999783483, 37.624235000415695 ], [ -122.454984000149977, 37.623935000778907 ], [ -122.454683999405404, 37.623635000780261 ], [ -122.453984000439348, 37.623035000875724 ], [ -122.45358400050246, 37.622435001045936 ], [ -122.453384000148731, 37.62143500073978 ], [ -122.453983999491669, 37.62073500032578 ], [ -122.454284000522236, 37.619635000275657 ], [ -122.453884000219063, 37.618835000591275 ], [ -122.454183999817786, 37.618735000728861 ], [ -122.454500000381103, 37.618419000815052 ], [ -122.45496999972265, 37.618465001073737 ], [ -122.455039999748934, 37.618472000583992 ], [ -122.460891000462254, 37.619078000311546 ], [ -122.461184999816155, 37.619135000773454 ], [ -122.46278499953219, 37.619335001075214 ], [ -122.463300000402825, 37.619991000430481 ], [ -122.463201000126531, 37.620119000699837 ], [ -122.463325000367121, 37.620758000508346 ], [ -122.463759000320778, 37.621937001075686 ], [ -122.464100000166255, 37.62324000087289 ], [ -122.464688999400124, 37.624173000884582 ], [ -122.465463999842314, 37.624862000416506 ], [ -122.466116000003964, 37.625206000367037 ], [ -122.466736000053857, 37.625672000439245 ], [ -122.466953000180354, 37.626213001014868 ], [ -122.466921999682839, 37.626582000946648 ], [ -122.466705000383357, 37.626778000410212 ], [ -122.466271000174629, 37.626926000722783 ], [ -122.465742999635566, 37.627344001118622 ], [ -122.465339999686179, 37.627712000584353 ], [ -122.465092000142462, 37.628081000673475 ], [ -122.464689000401449, 37.628499000413804 ], [ -122.464369000219222, 37.62874900042334 ], [ -122.461484000502509, 37.629535000640374 ], [ -122.461220000275091, 37.629497001056272 ], [ -122.460462999791503, 37.628926000876994 ], [ -122.460169999554239, 37.629201000596723 ], [ -122.458019999564257, 37.626981000874039 ], [ -122.4576760005219, 37.62683000023987 ], [ -122.455691000375637, 37.627716000885243 ], [ -122.455284000154109, 37.62783500089369 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 233, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.44178399974102, 37.626335000712089 ], [ -122.439713000405987, 37.62727700026285 ], [ -122.439299000166784, 37.627623000737557 ], [ -122.438807000224784, 37.628504000675569 ], [ -122.438678999662216, 37.628933000914621 ], [ -122.438381000100989, 37.629206000831353 ], [ -122.437898000058652, 37.629461000607208 ], [ -122.43750799963486, 37.629570000874381 ], [ -122.437163000186985, 37.62962400050229 ], [ -122.436795999764684, 37.62966100036877 ], [ -122.43608400031836, 37.629935000933813 ], [ -122.435930000393427, 37.62998600056325 ], [ -122.43578399949665, 37.630035000322188 ], [ -122.434977999621523, 37.630387000469661 ], [ -122.434788999641924, 37.630474000675946 ], [ -122.434542000013323, 37.630250000757819 ], [ -122.433348000154098, 37.629166000323714 ], [ -122.432983999956321, 37.628835000948698 ], [ -122.43281499954378, 37.62866700083103 ], [ -122.431621000374889, 37.627791000269738 ], [ -122.430645999700644, 37.626895001054713 ], [ -122.428883999496875, 37.625035001090758 ], [ -122.428183999664981, 37.624335000678386 ], [ -122.42718400007125, 37.623035000566929 ], [ -122.425984000215067, 37.62113500076179 ], [ -122.424983999458547, 37.618535000708071 ], [ -122.424783999618356, 37.618035000780402 ], [ -122.424584000297045, 37.617435000749836 ], [ -122.424437999518545, 37.616930000558931 ], [ -122.424353000293152, 37.616402000886502 ], [ -122.424321999606846, 37.61590000043509 ], [ -122.424363999605532, 37.615497001119081 ], [ -122.424380999905566, 37.615439000971271 ], [ -122.426036000512212, 37.612741000981643 ], [ -122.42666300036997, 37.611342000707566 ], [ -122.427173999719798, 37.609710001075946 ], [ -122.427297999543697, 37.607941000704237 ], [ -122.427132999456305, 37.605098000255715 ], [ -122.427079999977806, 37.604702001074735 ], [ -122.427055000424929, 37.60450400063722 ], [ -122.427001000206758, 37.604086000245836 ], [ -122.427364999730301, 37.604195001115194 ], [ -122.42766000023579, 37.604291000642746 ], [ -122.427886999784363, 37.604388001078533 ], [ -122.429157000384023, 37.605135000275396 ], [ -122.437454000173105, 37.613676000676328 ], [ -122.438092999703585, 37.614333001032854 ], [ -122.44188399965158, 37.618235000841132 ], [ -122.445244000443509, 37.621681000856192 ], [ -122.445784000456797, 37.622235000796103 ], [ -122.445846000161652, 37.62232800081528 ], [ -122.446983999988348, 37.624035000962984 ], [ -122.446483999492798, 37.624335000944669 ], [ -122.445584000227328, 37.624735000791382 ], [ -122.443583999881241, 37.625535000272521 ], [ -122.442184000082776, 37.626035000612525 ], [ -122.44178399974102, 37.626335000712089 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 235, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.423283000181257, 37.62633500099399 ], [ -122.42268300018344, 37.626635000283976 ], [ -122.421283000516041, 37.627235000306335 ], [ -122.420582999616329, 37.627535000340494 ], [ -122.419882999723811, 37.627735000258653 ], [ -122.419082999817462, 37.628034000290739 ], [ -122.417483000335977, 37.628634000258444 ], [ -122.417183000420977, 37.628834000489434 ], [ -122.416782999944829, 37.629034000520996 ], [ -122.415683000330702, 37.627434000984202 ], [ -122.415282999964774, 37.62693400110814 ], [ -122.414482999888492, 37.625735000410508 ], [ -122.414183000074189, 37.625435000790702 ], [ -122.413082999557389, 37.623835000748095 ], [ -122.412583000379072, 37.623035000998335 ], [ -122.413483000436798, 37.622635000924696 ], [ -122.414183000433056, 37.622335000341764 ], [ -122.414982999723904, 37.621935000559141 ], [ -122.415682999595532, 37.62163500091242 ], [ -122.416382999517438, 37.621335000683885 ], [ -122.417282999541143, 37.620935001113288 ], [ -122.417983000061511, 37.620535000677499 ], [ -122.418682999531669, 37.620335000759809 ], [ -122.419583000131951, 37.619935000622817 ], [ -122.42028300047842, 37.619535000820918 ], [ -122.421028999601759, 37.619217000785888 ], [ -122.421782999567824, 37.618835000639208 ], [ -122.422447999484632, 37.618505000721306 ], [ -122.422983999779404, 37.618235001019009 ], [ -122.423340000162838, 37.618057000312433 ], [ -122.423583999746029, 37.617935000443715 ], [ -122.424470000322316, 37.617491000984629 ], [ -122.424584000297045, 37.617435000749836 ], [ -122.424783999618356, 37.618035000780402 ], [ -122.424983999458547, 37.618535000708071 ], [ -122.425984000215067, 37.62113500076179 ], [ -122.42718400007125, 37.623035000566929 ], [ -122.428183999664981, 37.624335000678386 ], [ -122.427646999703072, 37.624619000318098 ], [ -122.427260000287035, 37.624819001001562 ], [ -122.427088999941816, 37.624866000238683 ], [ -122.426917999845415, 37.624866000867158 ], [ -122.426583999393401, 37.624935000569018 ], [ -122.424082999859863, 37.625935001049513 ], [ -122.423283000181257, 37.62633500099399 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 238, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.403349000198958, 37.631437000378249 ], [ -122.403182999521576, 37.630934000579778 ], [ -122.40280000025821, 37.62978500046669 ], [ -122.402782999787192, 37.629734000750872 ], [ -122.402682999797278, 37.629334000667313 ], [ -122.399911000256381, 37.620889000504413 ], [ -122.39838299973303, 37.616235000847674 ], [ -122.397883000476639, 37.615335001053047 ], [ -122.397182999605732, 37.614535001098432 ], [ -122.396282999770094, 37.613435000624847 ], [ -122.395397000225316, 37.612567000429515 ], [ -122.394983000271878, 37.612235000236048 ], [ -122.396983000457595, 37.613035000935731 ], [ -122.397183000012774, 37.612935000976044 ], [ -122.397383000168062, 37.61283500067686 ], [ -122.397783000302823, 37.612735000542799 ], [ -122.398082999807428, 37.612635000974699 ], [ -122.399083000132833, 37.612035000373588 ], [ -122.399582999819089, 37.611835000618484 ], [ -122.400083000177389, 37.612535000639255 ], [ -122.400782999937746, 37.613435000514073 ], [ -122.401182999802487, 37.614035001105727 ], [ -122.401683000367939, 37.614635000827526 ], [ -122.402082999402751, 37.61533500066168 ], [ -122.402683000520994, 37.615935000683045 ], [ -122.403182999823812, 37.616735000446539 ], [ -122.403783000509847, 37.617335001110504 ], [ -122.404182999401854, 37.618035000837232 ], [ -122.404782999706683, 37.618735000476455 ], [ -122.405068000300304, 37.619191000385278 ], [ -122.4052830002408, 37.619535001029263 ], [ -122.404782999617908, 37.619635000606507 ], [ -122.4049090003153, 37.619789001114682 ], [ -122.40698300007989, 37.62233500078294 ], [ -122.409482999786022, 37.626834000809595 ], [ -122.410144999811791, 37.628011000637663 ], [ -122.411283000001077, 37.630034001054753 ], [ -122.411883000306744, 37.630934000497547 ], [ -122.412782999764161, 37.632634000333141 ], [ -122.412983000083003, 37.633034000892984 ], [ -122.41388299974713, 37.634234000324312 ], [ -122.414040000248221, 37.634485000396552 ], [ -122.414078000287859, 37.634546000316874 ], [ -122.41638300047326, 37.638234000424774 ], [ -122.416182999447457, 37.638234000560018 ], [ -122.417152999399903, 37.639462000709429 ], [ -122.416882999742455, 37.639534000804083 ], [ -122.413582999828037, 37.640534000843111 ], [ -122.413183000295192, 37.640734000651065 ], [ -122.412583000229006, 37.640834001023592 ], [ -122.41257400033308, 37.640699000528301 ], [ -122.411589999461569, 37.641104000588122 ], [ -122.411683000224471, 37.639334000297282 ], [ -122.41168300047697, 37.637334000298956 ], [ -122.411582999556217, 37.636334000235507 ], [ -122.411416000258711, 37.636334000962968 ], [ -122.411323000450864, 37.635334000302407 ], [ -122.406883000327269, 37.635334000930889 ], [ -122.406082999676471, 37.635234000684385 ], [ -122.405583000036216, 37.635334000327305 ], [ -122.405282999538429, 37.635334000924786 ], [ -122.404907999912126, 37.635358000860698 ], [ -122.404192999882355, 37.633744000361069 ], [ -122.404082999969674, 37.633434000738788 ], [ -122.403683000253892, 37.632034001079681 ], [ -122.403349000198958, 37.631437000378249 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 142, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.373880999933107, 37.743930000543969 ], [ -122.376880999462344, 37.740430000696342 ], [ -122.377780999749902, 37.739430000842098 ], [ -122.378481000444964, 37.738630000696176 ], [ -122.379280999623546, 37.737930000303294 ], [ -122.380480999784069, 37.738630001072927 ], [ -122.380981000120869, 37.738930000283155 ], [ -122.381281000255328, 37.738630001098372 ], [ -122.381780999540851, 37.738230000911663 ], [ -122.382481000454248, 37.738630000866735 ], [ -122.383480999820407, 37.739230000976498 ], [ -122.385480999448205, 37.7401300003987 ], [ -122.387281000291779, 37.741230000279216 ], [ -122.386680999595541, 37.741930000468479 ], [ -122.387981000509555, 37.742630000834325 ], [ -122.388381000113256, 37.741830000903398 ], [ -122.388480999496835, 37.741130001100643 ], [ -122.388781000500686, 37.740330000782897 ], [ -122.389181000354455, 37.739530000459062 ], [ -122.389481000044384, 37.738830001027914 ], [ -122.391381000442635, 37.739830000246208 ], [ -122.391881000058774, 37.739330001059258 ], [ -122.391981000313592, 37.73923000024012 ], [ -122.392281000457189, 37.738630001015139 ], [ -122.392880999817578, 37.737930000486116 ], [ -122.393481000446343, 37.737330000672273 ], [ -122.394180999830127, 37.73673000065093 ], [ -122.394781000216526, 37.737230000885113 ], [ -122.395781000191036, 37.737830000712066 ], [ -122.397281000165265, 37.73863000048533 ], [ -122.397981000316221, 37.738830000946407 ], [ -122.399908000191715, 37.739890000792883 ], [ -122.399981000039716, 37.739930000640818 ], [ -122.40108099998686, 37.739630000618412 ], [ -122.402080999500228, 37.739330000418938 ], [ -122.403280999467469, 37.73903000028016 ], [ -122.404256999426437, 37.738745000367693 ], [ -122.404893000216532, 37.738586001112296 ], [ -122.405688000187851, 37.738343000596423 ], [ -122.406848999837663, 37.737924000660307 ], [ -122.406892000059401, 37.738344000469773 ], [ -122.406917999792597, 37.738912000321484 ], [ -122.406924999712302, 37.739334000998952 ], [ -122.406889000230535, 37.739653000816659 ], [ -122.40658799975742, 37.7412410009048 ], [ -122.405780999434072, 37.742430001009581 ], [ -122.405381000217929, 37.742930000354654 ], [ -122.40498099975008, 37.743530000306613 ], [ -122.404480999479915, 37.744430000793521 ], [ -122.403980999974308, 37.745430000980079 ], [ -122.403723999769767, 37.746629000702541 ], [ -122.403680999760638, 37.746830000270634 ], [ -122.403581000050622, 37.74743000089483 ], [ -122.403593999838733, 37.747506000781797 ], [ -122.4036809996107, 37.74803000034106 ], [ -122.403757999494061, 37.748491000377875 ], [ -122.403780999579368, 37.748630000550769 ], [ -122.403564000440966, 37.749385000558092 ], [ -122.403242000185855, 37.749330001009085 ], [ -122.402981000173128, 37.749330000549946 ], [ -122.403008999408328, 37.749493000279188 ], [ -122.402928999543931, 37.750256000695956 ], [ -122.402896000278105, 37.750330001007534 ], [ -122.402822999797451, 37.750368001071301 ], [ -122.402181000382825, 37.750430000798978 ], [ -122.40118099985861, 37.750530000589229 ], [ -122.400380999927279, 37.750530000905734 ], [ -122.39988099956453, 37.750530000484318 ], [ -122.399580999612809, 37.750930000623022 ], [ -122.398980999599004, 37.750930000647877 ], [ -122.398381000434085, 37.751030000398181 ], [ -122.396681000237479, 37.751230001026016 ], [ -122.39648099944813, 37.752230000555755 ], [ -122.395580999708173, 37.75223000050601 ], [ -122.394636000287321, 37.752324000380305 ], [ -122.394581000395405, 37.75233000093629 ], [ -122.393780999495448, 37.752330000541619 ], [ -122.393181000303116, 37.752430000769387 ], [ -122.392548999498743, 37.752484001122568 ], [ -122.39183899971961, 37.752584000736341 ], [ -122.391281999548568, 37.75262400079135 ], [ -122.390880999955058, 37.752630000282835 ], [ -122.389881000498235, 37.752730000440188 ], [ -122.388721999735921, 37.752801000540067 ], [ -122.387869999540186, 37.752860000419084 ], [ -122.386980999710886, 37.752929000969679 ], [ -122.386080999854116, 37.752929000442478 ], [ -122.383481000128285, 37.753029000335523 ], [ -122.382081000299209, 37.753229000643657 ], [ -122.381581000100979, 37.753329000884982 ], [ -122.380681000168124, 37.753329000560022 ], [ -122.381280999446787, 37.753029001072179 ], [ -122.380080999486765, 37.753029000880488 ], [ -122.380781000513068, 37.750330000847995 ], [ -122.383281000205272, 37.748330000551015 ], [ -122.386181000325237, 37.748830001026086 ], [ -122.386380999446388, 37.748030000954941 ], [ -122.386568999828697, 37.747946000836407 ], [ -122.387280999590104, 37.747630000494787 ], [ -122.390281000026022, 37.747630000411476 ], [ -122.390329999548698, 37.747648000790207 ], [ -122.392181000486573, 37.748330000241729 ], [ -122.392480999861306, 37.748430000394428 ], [ -122.39278099976336, 37.747630000738027 ], [ -122.392281000300201, 37.747530000490819 ], [ -122.390481000284638, 37.747030000477821 ], [ -122.387280999420284, 37.747130000992378 ], [ -122.387081000151042, 37.746930001064591 ], [ -122.376480999943439, 37.747530000634555 ], [ -122.373880999933107, 37.743930000543969 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 208, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.380181999679991, 37.669732000375262 ], [ -122.386382000341271, 37.669833000342706 ], [ -122.386681999933444, 37.66983300053122 ], [ -122.390181999668968, 37.669833000445493 ], [ -122.390382000364369, 37.67003300061635 ], [ -122.391581999949409, 37.669933000673723 ], [ -122.392570000440216, 37.669933000614463 ], [ -122.392681999852186, 37.66993300051999 ], [ -122.393178000133574, 37.669448000932768 ], [ -122.393193999576525, 37.669558001073788 ], [ -122.393282000034702, 37.670033001046335 ], [ -122.393382999729738, 37.669937000971053 ], [ -122.394213999971115, 37.6691410010935 ], [ -122.398082000098029, 37.6654330003255 ], [ -122.399082000154607, 37.664333000799395 ], [ -122.399559999564943, 37.664034000941477 ], [ -122.399881999577715, 37.66383300109166 ], [ -122.400682000349036, 37.664333000551458 ], [ -122.40198199962326, 37.664433000779752 ], [ -122.402981999681586, 37.664633000606251 ], [ -122.404382000278915, 37.664933000511418 ], [ -122.404782000231464, 37.664933000743638 ], [ -122.404582000171331, 37.665133000283838 ], [ -122.405382000212953, 37.66543300087767 ], [ -122.406819000430104, 37.66577800043482 ], [ -122.406854000250348, 37.666032000584906 ], [ -122.406938999443781, 37.666642000309537 ], [ -122.407060999819237, 37.667522000479487 ], [ -122.407120999948916, 37.667955000233697 ], [ -122.407666999480554, 37.671898000403161 ], [ -122.407820000195841, 37.671694000484898 ], [ -122.408217000392568, 37.671251001097929 ], [ -122.408480000294844, 37.671140000490936 ], [ -122.408613999682771, 37.671083000970796 ], [ -122.410979000122737, 37.670648000317954 ], [ -122.411991999398879, 37.670460000294717 ], [ -122.412168999816586, 37.67042700074991 ], [ -122.412351000408279, 37.67045500072205 ], [ -122.412656999433196, 37.670503001035712 ], [ -122.412889000453291, 37.670665000895447 ], [ -122.413038999447579, 37.670770000528108 ], [ -122.414196999453708, 37.671514000686919 ], [ -122.415191999563646, 37.672152000849032 ], [ -122.418350000128484, 37.674181000686147 ], [ -122.420332999697067, 37.674555001110456 ], [ -122.421752999891154, 37.675073000464813 ], [ -122.422583000050054, 37.675633000721874 ], [ -122.42378199973605, 37.676561000900818 ], [ -122.424025999993731, 37.676927000764138 ], [ -122.424056999675201, 37.677545000714986 ], [ -122.424162999435453, 37.677866000748125 ], [ -122.42449899979772, 37.678285000651101 ], [ -122.424986999510296, 37.678652000478479 ], [ -122.424947999395869, 37.679017000364901 ], [ -122.424941999655445, 37.679071000295899 ], [ -122.424957000304474, 37.680185000758911 ], [ -122.425125000235994, 37.681161001092271 ], [ -122.425644000218441, 37.681885000903904 ], [ -122.426421999818572, 37.682511000581847 ], [ -122.426941000477328, 37.682816000957118 ], [ -122.427139000347466, 37.683076000739533 ], [ -122.427596999432623, 37.683243000732688 ], [ -122.428114999602528, 37.683366000514908 ], [ -122.428238000120444, 37.683587000242234 ], [ -122.428328999903215, 37.683778000875009 ], [ -122.428883000431668, 37.683916000428603 ], [ -122.429383000244059, 37.682133000568541 ], [ -122.4307379994667, 37.682725000734052 ], [ -122.451782999927175, 37.691932000695651 ], [ -122.453783000281817, 37.6928320007015 ], [ -122.454593999562164, 37.69241100063887 ], [ -122.455496999886975, 37.693104000955422 ], [ -122.455582999846982, 37.693532000936656 ], [ -122.455183000521899, 37.693832000622734 ], [ -122.45188299986647, 37.696332000323963 ], [ -122.451583000481762, 37.696832000523848 ], [ -122.449382999567177, 37.699332000699037 ], [ -122.448782999938075, 37.701232000745776 ], [ -122.448625000016136, 37.701291000959131 ], [ -122.448439000030561, 37.701389001020395 ], [ -122.447913999841589, 37.701438000707824 ], [ -122.447203000264338, 37.701413000789579 ], [ -122.446801000444808, 37.701267000771033 ], [ -122.446214000203057, 37.701022000686443 ], [ -122.445658000110271, 37.700631000755337 ], [ -122.445380000474884, 37.700337000730642 ], [ -122.445380999612937, 37.700237000689512 ], [ -122.439282999407382, 37.696532000658102 ], [ -122.436482999891993, 37.694432000307891 ], [ -122.436099999870251, 37.694669000897093 ], [ -122.435823999816108, 37.694860001096501 ], [ -122.435409999992629, 37.695161000241569 ], [ -122.434669000088405, 37.695625000971077 ], [ -122.434099999961447, 37.695953000440404 ], [ -122.433564999987595, 37.696362000333039 ], [ -122.433065000285467, 37.696635001016148 ], [ -122.432408999722455, 37.697059000376534 ], [ -122.431822999553631, 37.697345000666786 ], [ -122.430926000212878, 37.697632000498686 ], [ -122.430166999639752, 37.697769000350739 ], [ -122.42956399979505, 37.697782000394405 ], [ -122.428924999792088, 37.697687001104754 ], [ -122.428546000384742, 37.697400001071642 ], [ -122.427959999417439, 37.697004000823405 ], [ -122.427442000026005, 37.696567000305201 ], [ -122.427028000421757, 37.69630800084883 ], [ -122.426355999746406, 37.695966000319942 ], [ -122.425614000455326, 37.695693000271078 ], [ -122.424803000099516, 37.695529000556114 ], [ -122.424079000297738, 37.695475000625109 ], [ -122.424043999949063, 37.695445000320667 ], [ -122.423982000016125, 37.695432000507587 ], [ -122.423481999404089, 37.696532001009942 ], [ -122.422481999625717, 37.697132000243968 ], [ -122.422082000334115, 37.697332000345654 ], [ -122.421881999465114, 37.698532000840608 ], [ -122.421490999468148, 37.698749000501238 ], [ -122.420982000281427, 37.699032000315789 ], [ -122.419381999574355, 37.698832000966327 ], [ -122.419135000410932, 37.698796000561103 ], [ -122.417535999710921, 37.698563000751292 ], [ -122.413882000325486, 37.698032000439838 ], [ -122.413416999638457, 37.698032000964396 ], [ -122.413811999655849, 37.698242000835634 ], [ -122.413782000061005, 37.698332000349502 ], [ -122.413573000438021, 37.698697000615681 ], [ -122.412386999993956, 37.698612000608129 ], [ -122.412246000145103, 37.698870000439058 ], [ -122.412204000056718, 37.698953000422257 ], [ -122.412103999548606, 37.699119000784123 ], [ -122.412336999847128, 37.699162000805963 ], [ -122.41222699962421, 37.699370000901091 ], [ -122.412155000411374, 37.699488000250724 ], [ -122.412003000148729, 37.699415000352488 ], [ -122.411775999495504, 37.699855000466407 ], [ -122.411433000246191, 37.700903000418897 ], [ -122.411206000132211, 37.701363000575839 ], [ -122.411720000200319, 37.701552000420278 ], [ -122.41215700013808, 37.701685000696223 ], [ -122.412108999420383, 37.701789000369047 ], [ -122.411481999531105, 37.703132001120878 ], [ -122.411453000317636, 37.703193000356258 ], [ -122.410282000293662, 37.70563100090407 ], [ -122.408982000157081, 37.705231000262955 ], [ -122.40798200032971, 37.70503100028013 ], [ -122.40708200018301, 37.704731000817887 ], [ -122.406882000222538, 37.70533100069671 ], [ -122.405582000344594, 37.708231000661165 ], [ -122.40545300009255, 37.708245000329747 ], [ -122.405225999527573, 37.708271000565141 ], [ -122.404682000443714, 37.708331000649615 ], [ -122.403282000250414, 37.70833100071448 ], [ -122.402981999572305, 37.70833100075108 ], [ -122.402682000031717, 37.708331000931366 ], [ -122.402382000501404, 37.708331000348316 ], [ -122.40198200034736, 37.708231000276513 ], [ -122.401481999652731, 37.708331000316505 ], [ -122.400982000452061, 37.708331001041934 ], [ -122.4002820004645, 37.708331001013036 ], [ -122.395782000441926, 37.708331000729316 ], [ -122.395182000435227, 37.708331000632498 ], [ -122.393781999754907, 37.708231000678232 ], [ -122.392681999638697, 37.708331000855253 ], [ -122.393293999859111, 37.707779000403157 ], [ -122.393181999455422, 37.707131000796736 ], [ -122.38940600018617, 37.688806000364622 ], [ -122.389081999539002, 37.687232000821226 ], [ -122.38758199963803, 37.67913200046862 ], [ -122.386381999538727, 37.677932000665351 ], [ -122.380182000523703, 37.677832000707738 ], [ -122.380182000270509, 37.670232000806855 ], [ -122.380181999679991, 37.669732000375262 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 206, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.441483000409249, 37.704232000907759 ], [ -122.441345000355, 37.704209000606397 ], [ -122.439882000276313, 37.704532000460205 ], [ -122.439181999411147, 37.704632000909641 ], [ -122.436681999398772, 37.706132000669797 ], [ -122.437481999456622, 37.707032001091662 ], [ -122.43908199986214, 37.70763200077814 ], [ -122.439433999616895, 37.70787900077449 ], [ -122.439742000079789, 37.707425000506753 ], [ -122.439418000180737, 37.707272001124267 ], [ -122.439529000031968, 37.706963000640613 ], [ -122.439316999679789, 37.706907001122616 ], [ -122.439449000048697, 37.706663000395523 ], [ -122.440267000130433, 37.706920000809696 ], [ -122.440307999695747, 37.706984001068236 ], [ -122.44036899970996, 37.707047000233786 ], [ -122.440428999786931, 37.707106000855092 ], [ -122.440520000225575, 37.707180000567227 ], [ -122.440762999701207, 37.707300001061967 ], [ -122.440863999467908, 37.707333000738636 ], [ -122.44105600042117, 37.70732900067766 ], [ -122.441339000152198, 37.707244000486561 ], [ -122.441482000391971, 37.707232000837465 ], [ -122.441518999702197, 37.707306000844298 ], [ -122.441881999885936, 37.708032001120323 ], [ -122.4420319995413, 37.708182000952419 ], [ -122.442081999562717, 37.708232000553828 ], [ -122.441281999602637, 37.708332000653108 ], [ -122.440781999507891, 37.708332000721292 ], [ -122.440681999492142, 37.708332000480475 ], [ -122.440081999393129, 37.708332000859635 ], [ -122.439682000473979, 37.708332000623187 ], [ -122.439144000204308, 37.708278000515371 ], [ -122.438682000185253, 37.708232000319228 ], [ -122.438181999679173, 37.708232001078059 ], [ -122.436581999517458, 37.708232000439658 ], [ -122.435882000469007, 37.708232000885701 ], [ -122.435381999744621, 37.708132000526668 ], [ -122.433982000223438, 37.708132001038294 ], [ -122.433381999517863, 37.708232000719455 ], [ -122.432182000201635, 37.708232000742527 ], [ -122.43088199968382, 37.708231000254095 ], [ -122.430027000171208, 37.708281000926895 ], [ -122.4291820001134, 37.708331000542465 ], [ -122.428082000069708, 37.708431000388259 ], [ -122.427107000409563, 37.708386000334997 ], [ -122.426832999816554, 37.708373001034168 ], [ -122.426366000476776, 37.708351000837339 ], [ -122.425981000138009, 37.708333000620215 ], [ -122.425881999676008, 37.708328000262568 ], [ -122.425792000518328, 37.708324000864614 ], [ -122.425564999731364, 37.708314000873777 ], [ -122.425290000212513, 37.708301000332284 ], [ -122.423781999764174, 37.708231000911901 ], [ -122.424515000385924, 37.706473000290664 ], [ -122.424648000509393, 37.706155000859368 ], [ -122.424782000143637, 37.705832001083493 ], [ -122.424430999933136, 37.704786001074325 ], [ -122.424350000350444, 37.704224000715278 ], [ -122.42138200052112, 37.702932000796636 ], [ -122.418082000390996, 37.701832000750144 ], [ -122.418510999641526, 37.700687000262057 ], [ -122.418669000475433, 37.70026600109189 ], [ -122.418981999683439, 37.699432000889068 ], [ -122.419182000108506, 37.699232000796577 ], [ -122.419327000113739, 37.698941000398563 ], [ -122.419381999574355, 37.698832000966327 ], [ -122.420982000281427, 37.699032000315789 ], [ -122.421490999468148, 37.698749000501238 ], [ -122.421881999465114, 37.698532000840608 ], [ -122.422082000334115, 37.697332000345654 ], [ -122.422481999625717, 37.697132000243968 ], [ -122.423481999404089, 37.696532001009942 ], [ -122.423982000016125, 37.695432000507587 ], [ -122.424043999949063, 37.695445000320667 ], [ -122.424079000297738, 37.695475000625109 ], [ -122.424803000099516, 37.695529000556114 ], [ -122.425614000455326, 37.695693000271078 ], [ -122.426355999746406, 37.695966000319942 ], [ -122.427028000421757, 37.69630800084883 ], [ -122.427442000026005, 37.696567000305201 ], [ -122.427959999417439, 37.697004000823405 ], [ -122.428546000384742, 37.697400001071642 ], [ -122.428924999792088, 37.697687001104754 ], [ -122.42956399979505, 37.697782000394405 ], [ -122.430166999639752, 37.697769000350739 ], [ -122.430926000212878, 37.697632000498686 ], [ -122.431822999553631, 37.697345000666786 ], [ -122.432408999722455, 37.697059000376534 ], [ -122.433065000285467, 37.696635001016148 ], [ -122.433564999987595, 37.696362000333039 ], [ -122.434099999961447, 37.695953000440404 ], [ -122.434669000088405, 37.695625000971077 ], [ -122.435409999992629, 37.695161000241569 ], [ -122.435823999816108, 37.694860001096501 ], [ -122.436099999870251, 37.694669000897093 ], [ -122.436482999891993, 37.694432000307891 ], [ -122.439282999407382, 37.696532000658102 ], [ -122.445380999612937, 37.700237000689512 ], [ -122.445380000474884, 37.700337000730642 ], [ -122.445658000110271, 37.700631000755337 ], [ -122.446214000203057, 37.701022000686443 ], [ -122.446801000444808, 37.701267000771033 ], [ -122.447203000264338, 37.701413000789579 ], [ -122.447913999841589, 37.701438000707824 ], [ -122.448439000030561, 37.701389001020395 ], [ -122.448625000016136, 37.701291000959131 ], [ -122.448782999938075, 37.701232000745776 ], [ -122.448982999564464, 37.701532000648967 ], [ -122.446603999743417, 37.702688000436694 ], [ -122.446641999891781, 37.702777000744227 ], [ -122.446652000367166, 37.702785000967211 ], [ -122.446672999490673, 37.702803000726909 ], [ -122.446533000229678, 37.702894000293874 ], [ -122.44647600045171, 37.702923000548687 ], [ -122.446416000487204, 37.702946000991474 ], [ -122.44636400012665, 37.702964000558794 ], [ -122.446299000498271, 37.702982000350282 ], [ -122.44623099980835, 37.702999000863215 ], [ -122.446176999824175, 37.70300200102249 ], [ -122.446115999508464, 37.703003000681115 ], [ -122.446019999678711, 37.702996000658331 ], [ -122.445974000403581, 37.702987001120462 ], [ -122.445892000254275, 37.702950000377932 ], [ -122.445846000245666, 37.70292800097819 ], [ -122.445806999453097, 37.70290800024722 ], [ -122.445779999678123, 37.702895000620785 ], [ -122.445758999467586, 37.702879000737724 ], [ -122.445266999903978, 37.702543000371882 ], [ -122.443782999443897, 37.701532000947282 ], [ -122.441882999916785, 37.70123200044825 ], [ -122.441482999608439, 37.701432000528655 ], [ -122.441651999398914, 37.701854000852229 ], [ -122.44188299945651, 37.702432000958588 ], [ -122.441829999776118, 37.702906001026392 ], [ -122.441782999696443, 37.703332000547718 ], [ -122.441483000218952, 37.703832000290284 ], [ -122.441483000409249, 37.704232000907759 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 205, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.451982999427401, 37.708032000837335 ], [ -122.452183000063386, 37.708132001122713 ], [ -122.45173999978438, 37.708149000509017 ], [ -122.449582999877308, 37.708232000748708 ], [ -122.44928300011712, 37.708232000537997 ], [ -122.447133999725892, 37.70823200029529 ], [ -122.446982999802245, 37.708232000590861 ], [ -122.446383000349314, 37.708232000595494 ], [ -122.445383000162295, 37.708232000422107 ], [ -122.44448200046287, 37.708332000477746 ], [ -122.443687999911759, 37.70829900074542 ], [ -122.443138000218241, 37.708276001130479 ], [ -122.442081999562717, 37.708232000553828 ], [ -122.4420319995413, 37.708182000952419 ], [ -122.441881999885936, 37.708032001120323 ], [ -122.441518999702197, 37.707306000844298 ], [ -122.441482000391971, 37.707232000837465 ], [ -122.441339000152198, 37.707244000486561 ], [ -122.44105600042117, 37.70732900067766 ], [ -122.440863999467908, 37.707333000738636 ], [ -122.440762999701207, 37.707300001061967 ], [ -122.440520000225575, 37.707180000567227 ], [ -122.440428999786931, 37.707106000855092 ], [ -122.44036899970996, 37.707047000233786 ], [ -122.440307999695747, 37.706984001068236 ], [ -122.440267000130433, 37.706920000809696 ], [ -122.439449000048697, 37.706663000395523 ], [ -122.439316999679789, 37.706907001122616 ], [ -122.439529000031968, 37.706963000640613 ], [ -122.439418000180737, 37.707272001124267 ], [ -122.439742000079789, 37.707425000506753 ], [ -122.439433999616895, 37.70787900077449 ], [ -122.43908199986214, 37.70763200077814 ], [ -122.437481999456622, 37.707032001091662 ], [ -122.436681999398772, 37.706132000669797 ], [ -122.439181999411147, 37.704632000909641 ], [ -122.439882000276313, 37.704532000460205 ], [ -122.441345000355, 37.704209000606397 ], [ -122.441483000409249, 37.704232000907759 ], [ -122.441483000218952, 37.703832000290284 ], [ -122.441782999696443, 37.703332000547718 ], [ -122.441829999776118, 37.702906001026392 ], [ -122.44188299945651, 37.702432000958588 ], [ -122.441651999398914, 37.701854000852229 ], [ -122.441482999608439, 37.701432000528655 ], [ -122.441882999916785, 37.70123200044825 ], [ -122.443782999443897, 37.701532000947282 ], [ -122.445266999903978, 37.702543000371882 ], [ -122.445758999467586, 37.702879000737724 ], [ -122.445779999678123, 37.702895000620785 ], [ -122.445806999453097, 37.70290800024722 ], [ -122.445846000245666, 37.70292800097819 ], [ -122.445892000254275, 37.702950000377932 ], [ -122.445974000403581, 37.702987001120462 ], [ -122.446019999678711, 37.702996000658331 ], [ -122.446115999508464, 37.703003000681115 ], [ -122.446176999824175, 37.70300200102249 ], [ -122.44623099980835, 37.702999000863215 ], [ -122.446299000498271, 37.702982000350282 ], [ -122.44636400012665, 37.702964000558794 ], [ -122.446416000487204, 37.702946000991474 ], [ -122.44647600045171, 37.702923000548687 ], [ -122.446533000229678, 37.702894000293874 ], [ -122.446672999490673, 37.702803000726909 ], [ -122.446652000367166, 37.702785000967211 ], [ -122.446641999891781, 37.702777000744227 ], [ -122.446603999743417, 37.702688000436694 ], [ -122.446715000135598, 37.70276100048882 ], [ -122.446812999519878, 37.702732000493846 ], [ -122.447982999937594, 37.702732001052027 ], [ -122.449683000161002, 37.702432000850898 ], [ -122.450882999435692, 37.702232000412053 ], [ -122.452082999401554, 37.702232000817496 ], [ -122.453282999948669, 37.702132000493435 ], [ -122.454983000401967, 37.702332000667518 ], [ -122.455982999950336, 37.702732000344206 ], [ -122.456583000289299, 37.703332000530949 ], [ -122.456983000241337, 37.704032000811345 ], [ -122.457483000078483, 37.704632000845805 ], [ -122.457882999527129, 37.705232000466417 ], [ -122.455683000450762, 37.706032000852503 ], [ -122.45598299948341, 37.706632000231785 ], [ -122.454083000507495, 37.707332000249153 ], [ -122.451982999427401, 37.708032000837335 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 202, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.452082999401554, 37.702232000817496 ], [ -122.450882999435692, 37.702232000412053 ], [ -122.449683000161002, 37.702432000850898 ], [ -122.447982999937594, 37.702732001052027 ], [ -122.446812999519878, 37.702732000493846 ], [ -122.446715000135598, 37.70276100048882 ], [ -122.446603999743417, 37.702688000436694 ], [ -122.448982999564464, 37.701532000648967 ], [ -122.448782999938075, 37.701232000745776 ], [ -122.449382999567177, 37.699332000699037 ], [ -122.451583000481762, 37.696832000523848 ], [ -122.45188299986647, 37.696332000323963 ], [ -122.455183000521899, 37.693832000622734 ], [ -122.455582999846982, 37.693532000936656 ], [ -122.455496999886975, 37.693104000955422 ], [ -122.454593999562164, 37.69241100063887 ], [ -122.45408599954537, 37.691984000663638 ], [ -122.453783000473436, 37.691832000268221 ], [ -122.452883000037318, 37.6915320008546 ], [ -122.452382999518846, 37.69143200049291 ], [ -122.452572999530531, 37.691294000815851 ], [ -122.453482999448852, 37.69063200048523 ], [ -122.454083000136592, 37.690032000929889 ], [ -122.45458300023752, 37.68933200038753 ], [ -122.454783000359555, 37.689132000456922 ], [ -122.455082999793433, 37.688732000785222 ], [ -122.455283000219623, 37.688432000404589 ], [ -122.455683000443315, 37.688033000909101 ], [ -122.457082999855132, 37.68883300045524 ], [ -122.457583000511661, 37.688433001022261 ], [ -122.458983000138687, 37.689133001000371 ], [ -122.459469000079366, 37.688728000872956 ], [ -122.459583000237004, 37.688633000658704 ], [ -122.459717999991497, 37.688719001099237 ], [ -122.46044700038378, 37.689183000981672 ], [ -122.460683000092843, 37.689333000565419 ], [ -122.460882999511568, 37.689732000768664 ], [ -122.461083000424367, 37.690532000262436 ], [ -122.461283000251754, 37.691532001120308 ], [ -122.461483000526854, 37.692732000549206 ], [ -122.461582999567312, 37.694232001055248 ], [ -122.461782999722956, 37.694832000728987 ], [ -122.46168300000204, 37.69573200111622 ], [ -122.461782999562786, 37.697232000721755 ], [ -122.461883000511776, 37.698732000783487 ], [ -122.461883000388795, 37.699232000610209 ], [ -122.461906999413429, 37.699400001030718 ], [ -122.461982999859359, 37.699932000364164 ], [ -122.461983000165915, 37.700532000394944 ], [ -122.461982999872589, 37.700732000990804 ], [ -122.461989000129961, 37.701054000870215 ], [ -122.461993000019831, 37.701431000414708 ], [ -122.46200499979696, 37.701638000447581 ], [ -122.461984999495513, 37.702106000947992 ], [ -122.461978999673065, 37.702994000956679 ], [ -122.461683000427897, 37.70393200046724 ], [ -122.460783000289439, 37.704132000412592 ], [ -122.459582999703827, 37.704732000572911 ], [ -122.458783000007315, 37.704132000966055 ], [ -122.458482999899573, 37.703432000968149 ], [ -122.458982999556639, 37.70283200087335 ], [ -122.458183000459613, 37.702932000636203 ], [ -122.457382999505867, 37.702332000451086 ], [ -122.455982999950336, 37.702732000344206 ], [ -122.454983000401967, 37.702332000667518 ], [ -122.453282999948669, 37.702132000493435 ], [ -122.452082999401554, 37.702232000817496 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 204, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.453983000225193, 37.708232000876556 ], [ -122.452183000063386, 37.708132001122713 ], [ -122.451982999427401, 37.708032000837335 ], [ -122.454083000507495, 37.707332000249153 ], [ -122.45598299948341, 37.706632000231785 ], [ -122.455683000450762, 37.706032000852503 ], [ -122.457882999527129, 37.705232000466417 ], [ -122.457483000078483, 37.704632000845805 ], [ -122.456983000241337, 37.704032000811345 ], [ -122.456583000289299, 37.703332000530949 ], [ -122.455982999950336, 37.702732000344206 ], [ -122.457382999505867, 37.702332000451086 ], [ -122.458183000459613, 37.702932000636203 ], [ -122.458982999556639, 37.70283200087335 ], [ -122.458482999899573, 37.703432000968149 ], [ -122.458783000007315, 37.704132000966055 ], [ -122.459582999703827, 37.704732000572911 ], [ -122.460783000289439, 37.704132000412592 ], [ -122.461683000427897, 37.70393200046724 ], [ -122.461978999673065, 37.702994000956679 ], [ -122.462567000156497, 37.702995000626423 ], [ -122.462983000220987, 37.701432000919951 ], [ -122.463057000091055, 37.701136000931655 ], [ -122.464682999641269, 37.700932000698998 ], [ -122.465083000143039, 37.701132000428323 ], [ -122.46568300040515, 37.701032000315969 ], [ -122.465983000395184, 37.70113200047507 ], [ -122.466282999958196, 37.701432000479002 ], [ -122.467282999431475, 37.70153200095983 ], [ -122.468282999731045, 37.701732000487077 ], [ -122.469182999416859, 37.701732000462577 ], [ -122.469415999524188, 37.70161600025672 ], [ -122.469641000446131, 37.701553000331586 ], [ -122.470496999516939, 37.701490000573614 ], [ -122.471275000472929, 37.70149000088675 ], [ -122.471233000230782, 37.702473000552615 ], [ -122.470877000076328, 37.704754001010272 ], [ -122.470870000277216, 37.70490500111152 ], [ -122.470853000071457, 37.705113000318264 ], [ -122.470816000312539, 37.705217000451576 ], [ -122.47067799963078, 37.705368001079108 ], [ -122.470530000078909, 37.705535001133519 ], [ -122.469562000155221, 37.70680100071899 ], [ -122.46918300039502, 37.707532000283194 ], [ -122.46912600023164, 37.707665000955721 ], [ -122.468883000463705, 37.708232000915643 ], [ -122.467883000466259, 37.708232000508993 ], [ -122.467183000486116, 37.708232001126348 ], [ -122.4662829995778, 37.708132000770064 ], [ -122.465382999745884, 37.708132000951686 ], [ -122.464482999637681, 37.708232000752652 ], [ -122.464082999708026, 37.708232000379901 ], [ -122.463582999409169, 37.708332000884035 ], [ -122.462782999972248, 37.708232000611837 ], [ -122.462283000091588, 37.70823200083619 ], [ -122.461383000333541, 37.708232001124102 ], [ -122.459782999718783, 37.708232000790744 ], [ -122.458283000298863, 37.708232001098871 ], [ -122.457082999703331, 37.708232000398354 ], [ -122.455983000241702, 37.708232000973936 ], [ -122.453983000225193, 37.708232000876556 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 191, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.502483999879487, 37.708132000451371 ], [ -122.497782999605207, 37.708132000548758 ], [ -122.493582999730151, 37.708232000613691 ], [ -122.48608300003842, 37.708232001105159 ], [ -122.485631000176852, 37.708232000402063 ], [ -122.485382999548619, 37.708232000720706 ], [ -122.48511699991758, 37.70828500097943 ], [ -122.484883000215902, 37.708332000615513 ], [ -122.48378300029178, 37.708332000983326 ], [ -122.481083000354488, 37.70823200106102 ], [ -122.471983000279877, 37.70833200094021 ], [ -122.471482999542005, 37.708332000517707 ], [ -122.471078000360038, 37.708264001001361 ], [ -122.470882999455483, 37.708232000614075 ], [ -122.468883000463705, 37.708232000915643 ], [ -122.46912600023164, 37.707665000955721 ], [ -122.46918300039502, 37.707532000283194 ], [ -122.469562000155221, 37.70680100071899 ], [ -122.470530000078909, 37.705535001133519 ], [ -122.47067799963078, 37.705368001079108 ], [ -122.470816000312539, 37.705217000451576 ], [ -122.470853000071457, 37.705113000318264 ], [ -122.470870000277216, 37.70490500111152 ], [ -122.471186000227974, 37.704899000862099 ], [ -122.471485999940072, 37.704866000946936 ], [ -122.471783000215254, 37.704832000780222 ], [ -122.472172000086687, 37.704790000571457 ], [ -122.472982999966462, 37.704646001047898 ], [ -122.473286999639569, 37.704573000970541 ], [ -122.474083000236632, 37.704332000994043 ], [ -122.475083000259445, 37.704032000953354 ], [ -122.477583000152762, 37.703232000816215 ], [ -122.480482999700158, 37.70233200030485 ], [ -122.481882999844927, 37.701932001071995 ], [ -122.481683000360192, 37.701732001064869 ], [ -122.484382999708913, 37.700932000380234 ], [ -122.485783000341925, 37.700532000572785 ], [ -122.486752999439659, 37.700204000350773 ], [ -122.486883000367371, 37.700432000629831 ], [ -122.489582999808931, 37.69973200068862 ], [ -122.492021000379907, 37.698944000765295 ], [ -122.492984000098375, 37.698632000379625 ], [ -122.493983999856709, 37.6983320006238 ], [ -122.494583999497166, 37.698232001023001 ], [ -122.494583999527237, 37.698432001060475 ], [ -122.49468400037442, 37.698632000643748 ], [ -122.495384000136127, 37.700832000479458 ], [ -122.495984000126796, 37.700832000594133 ], [ -122.500384000112419, 37.700832000976895 ], [ -122.502483999879487, 37.708132000451371 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 195, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.488684000336406, 37.692733000525401 ], [ -122.48873700033073, 37.691991001077348 ], [ -122.488883999614018, 37.689933000889845 ], [ -122.488683999579351, 37.689433000695168 ], [ -122.485884000112307, 37.689433000242062 ], [ -122.484784000328816, 37.689333000284179 ], [ -122.484183999893659, 37.689233000552861 ], [ -122.484484000028203, 37.688133000755606 ], [ -122.483883999535976, 37.687033000627579 ], [ -122.483784000248122, 37.686533000579232 ], [ -122.482984000408308, 37.686533000350941 ], [ -122.482084000188962, 37.686533000815523 ], [ -122.481284000402582, 37.686533000771483 ], [ -122.480884000233146, 37.685933000858249 ], [ -122.481037000024898, 37.685933000959366 ], [ -122.482083999877347, 37.685933000677096 ], [ -122.483925000093365, 37.685642000666341 ], [ -122.483983999729418, 37.685633000390439 ], [ -122.484183999654917, 37.684933001024923 ], [ -122.484183999532306, 37.684133000244344 ], [ -122.48468400028051, 37.682933000352712 ], [ -122.485484000230016, 37.682633000366245 ], [ -122.487183999962568, 37.682633000420587 ], [ -122.4878840000504, 37.682733000919939 ], [ -122.488484000348848, 37.682933000525487 ], [ -122.489083999754413, 37.682833000365569 ], [ -122.488984000376576, 37.683433000354029 ], [ -122.488784000385678, 37.685033000768655 ], [ -122.489684000433513, 37.687733000956214 ], [ -122.492084000435923, 37.690033000348045 ], [ -122.492483999914782, 37.690333000963776 ], [ -122.492784000066877, 37.690633000978266 ], [ -122.494184000024489, 37.692533000903367 ], [ -122.494383999591733, 37.697033000889924 ], [ -122.494383999605347, 37.697732001104455 ], [ -122.494583999497166, 37.698232001023001 ], [ -122.493983999856709, 37.6983320006238 ], [ -122.492984000098375, 37.698632000379625 ], [ -122.492021000379907, 37.698944000765295 ], [ -122.489582999808931, 37.69973200068862 ], [ -122.486883000367371, 37.700432000629831 ], [ -122.486752999439659, 37.700204000350773 ], [ -122.486482999712607, 37.699732000515006 ], [ -122.486182999894183, 37.699032000339024 ], [ -122.485882999972262, 37.698332000234728 ], [ -122.485327000414784, 37.697036000860734 ], [ -122.486266999501581, 37.697045000424779 ], [ -122.486284000051711, 37.696522000901624 ], [ -122.486282999631513, 37.696232000769967 ], [ -122.488583999878998, 37.696032000623248 ], [ -122.488683999752226, 37.695733000656283 ], [ -122.488684000336406, 37.692733000525401 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 193, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.476282999572888, 37.702832001082164 ], [ -122.474470999764776, 37.70268300041819 ], [ -122.47200600006235, 37.701538000246863 ], [ -122.471482999888423, 37.701132000996843 ], [ -122.471282999812502, 37.700132000528683 ], [ -122.470583000342941, 37.695432000898776 ], [ -122.470295000283357, 37.69404700107048 ], [ -122.470255000442336, 37.693109000330814 ], [ -122.470183000106431, 37.688833000414334 ], [ -122.470342000519423, 37.688155000264061 ], [ -122.470472999488038, 37.687868000913134 ], [ -122.470624000412371, 37.687639000621381 ], [ -122.471335000103636, 37.687639000352164 ], [ -122.472082999618081, 37.687633000857815 ], [ -122.472983000285083, 37.687633001055005 ], [ -122.474083000142969, 37.687633000475806 ], [ -122.474206999958255, 37.685665000778229 ], [ -122.475184000290298, 37.685633000332899 ], [ -122.475290999428282, 37.685633000555271 ], [ -122.477983999720806, 37.685633000255912 ], [ -122.479183999460503, 37.686633000557293 ], [ -122.479483999901461, 37.686133000685771 ], [ -122.480884000233146, 37.685933000858249 ], [ -122.481284000402582, 37.686533000771483 ], [ -122.482084000188962, 37.686533000815523 ], [ -122.482984000408308, 37.686533000350941 ], [ -122.483784000248122, 37.686533000579232 ], [ -122.483883999535976, 37.687033000627579 ], [ -122.484484000028203, 37.688133000755606 ], [ -122.484183999893659, 37.689233000552861 ], [ -122.484784000328816, 37.689333000284179 ], [ -122.485884000112307, 37.689433000242062 ], [ -122.488683999579351, 37.689433000695168 ], [ -122.488883999614018, 37.689933000889845 ], [ -122.48873700033073, 37.691991001077348 ], [ -122.488684000336406, 37.692733000525401 ], [ -122.488683999752226, 37.695733000656283 ], [ -122.488583999878998, 37.696032000623248 ], [ -122.486282999631513, 37.696232000769967 ], [ -122.484882999755285, 37.696232000697556 ], [ -122.484583000280594, 37.696232000324194 ], [ -122.484582999553623, 37.695432001052552 ], [ -122.48218300031337, 37.695332000824322 ], [ -122.480282999635236, 37.695332000998683 ], [ -122.479683000005281, 37.695432000895366 ], [ -122.479137000243924, 37.697253000419572 ], [ -122.478482999773433, 37.699432001105649 ], [ -122.477083000278753, 37.702632000687061 ], [ -122.476282999572888, 37.702832001082164 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 194, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.471265000180352, 37.683227000837448 ], [ -122.471183999719159, 37.682133000312874 ], [ -122.471266000279343, 37.680208000952199 ], [ -122.471271999998578, 37.679583001025982 ], [ -122.471231999445337, 37.678667000668639 ], [ -122.471149999956197, 37.677604000558375 ], [ -122.471384000422034, 37.677333000369025 ], [ -122.472455999827488, 37.675118000480431 ], [ -122.472746000039038, 37.675179000486857 ], [ -122.473083999943555, 37.675233000891041 ], [ -122.473382000176315, 37.675316000490888 ], [ -122.473593999677902, 37.675331000440892 ], [ -122.473806000203226, 37.675316001044294 ], [ -122.474036999931229, 37.675224000637201 ], [ -122.474403000388335, 37.67513300076461 ], [ -122.474904000356162, 37.675102000336118 ], [ -122.476080000104815, 37.675102000738129 ], [ -122.478489999965731, 37.675102001113864 ], [ -122.479084000275037, 37.675233000840251 ], [ -122.47938399997723, 37.675333000425688 ], [ -122.479684000479537, 37.675433001054913 ], [ -122.482984000414092, 37.675433001107344 ], [ -122.483884000373067, 37.675433000581805 ], [ -122.484683999984995, 37.675333000740594 ], [ -122.485483999806135, 37.675333000794012 ], [ -122.486184000265553, 37.675633000320722 ], [ -122.486484000016361, 37.676233000364114 ], [ -122.486583999513854, 37.676933000605601 ], [ -122.486684000309822, 37.677533000804232 ], [ -122.486783999889639, 37.678233000733819 ], [ -122.486983999424311, 37.678933001094485 ], [ -122.487084000150588, 37.679633000623383 ], [ -122.487084000239136, 37.68043300030098 ], [ -122.487184000334395, 37.681233000303372 ], [ -122.487284000102662, 37.681933000303104 ], [ -122.487183999962568, 37.682633000420587 ], [ -122.485484000230016, 37.682633000366245 ], [ -122.48468400028051, 37.682933000352712 ], [ -122.484183999532306, 37.684133000244344 ], [ -122.484183999654917, 37.684933001024923 ], [ -122.483983999729418, 37.685633000390439 ], [ -122.483925000093365, 37.685642000666341 ], [ -122.482083999877347, 37.685933000677096 ], [ -122.481037000024898, 37.685933000959366 ], [ -122.480884000233146, 37.685933000858249 ], [ -122.479483999901461, 37.686133000685771 ], [ -122.479183999460503, 37.686633000557293 ], [ -122.477983999720806, 37.685633000255912 ], [ -122.475290999428282, 37.685633000555271 ], [ -122.475184000290298, 37.685633000332899 ], [ -122.474206999958255, 37.685665000778229 ], [ -122.474083000142969, 37.687633000475806 ], [ -122.472983000285083, 37.687633001055005 ], [ -122.472082999618081, 37.687633000857815 ], [ -122.471335000103636, 37.687639000352164 ], [ -122.470624000412371, 37.687639000621381 ], [ -122.470835000051991, 37.687325001016141 ], [ -122.471000999964744, 37.687010000584472 ], [ -122.471127000029895, 37.686541000730855 ], [ -122.471177000279184, 37.686028000477535 ], [ -122.471279999833001, 37.684634000753221 ], [ -122.471283999813267, 37.683533000619136 ], [ -122.471265000180352, 37.683227000837448 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 197, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.487183999962568, 37.682633000420587 ], [ -122.487284000102662, 37.681933000303104 ], [ -122.487184000334395, 37.681233000303372 ], [ -122.487084000239136, 37.68043300030098 ], [ -122.487084000150588, 37.679633000623383 ], [ -122.486983999424311, 37.678933001094485 ], [ -122.486783999889639, 37.678233000733819 ], [ -122.486684000309822, 37.677533000804232 ], [ -122.486583999513854, 37.676933000605601 ], [ -122.486484000016361, 37.676233000364114 ], [ -122.486184000265553, 37.675633000320722 ], [ -122.485483999806135, 37.675333000794012 ], [ -122.484683999984995, 37.675333000740594 ], [ -122.483884000373067, 37.675433000581805 ], [ -122.482984000414092, 37.675433001107344 ], [ -122.479684000479537, 37.675433001054913 ], [ -122.480283999734098, 37.674233000437852 ], [ -122.480331999822226, 37.674120000321061 ], [ -122.480383999410108, 37.674033000458749 ], [ -122.480384000149513, 37.673233001038163 ], [ -122.480383999727849, 37.672533000550601 ], [ -122.480283999930535, 37.669834001113493 ], [ -122.480183999903034, 37.66943400030528 ], [ -122.480783999498456, 37.669434000395071 ], [ -122.482583999841125, 37.669334000374704 ], [ -122.483484000075336, 37.669234000865572 ], [ -122.483965999896952, 37.669046000934301 ], [ -122.484165999578849, 37.668927000505612 ], [ -122.48438700046627, 37.668760001000805 ], [ -122.484558000362455, 37.668522001010523 ], [ -122.484684000514321, 37.668134001049935 ], [ -122.484791999759352, 37.668205000244349 ], [ -122.485583999551778, 37.668834001053469 ], [ -122.48608399994464, 37.66933400050857 ], [ -122.488056999871034, 37.671886000784774 ], [ -122.488283999864663, 37.67241100085991 ], [ -122.48832499984151, 37.672505000993326 ], [ -122.48891399993984, 37.673785000388818 ], [ -122.48933900003027, 37.674670000416846 ], [ -122.489614999876252, 37.675348000761595 ], [ -122.489689000024896, 37.675696000262867 ], [ -122.489800999905512, 37.676233000956962 ], [ -122.489841999664947, 37.67650300062315 ], [ -122.489083999902547, 37.682433001121815 ], [ -122.489083999754413, 37.682833000365569 ], [ -122.488484000348848, 37.682933000525487 ], [ -122.4878840000504, 37.682733000919939 ], [ -122.487183999962568, 37.682633000420587 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 200, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.458283000158644, 37.68443300077417 ], [ -122.458211999869903, 37.684598000725558 ], [ -122.457983000418267, 37.685133000705882 ], [ -122.457583000274496, 37.685733000812924 ], [ -122.457082999594704, 37.686433000241493 ], [ -122.456583000376924, 37.686933000941075 ], [ -122.456083000179149, 37.687533000849534 ], [ -122.455683000443315, 37.688033000909101 ], [ -122.455283000219623, 37.688432000404589 ], [ -122.455082999793433, 37.688732000785222 ], [ -122.454783000359555, 37.689132000456922 ], [ -122.45458300023752, 37.68933200038753 ], [ -122.454083000136592, 37.690032000929889 ], [ -122.453482999448852, 37.69063200048523 ], [ -122.452572999530531, 37.691294000815851 ], [ -122.452382999518846, 37.69143200049291 ], [ -122.452883000037318, 37.6915320008546 ], [ -122.453783000473436, 37.691832000268221 ], [ -122.45408599954537, 37.691984000663638 ], [ -122.454593999562164, 37.69241100063887 ], [ -122.453783000281817, 37.6928320007015 ], [ -122.451782999927175, 37.691932000695651 ], [ -122.4307379994667, 37.682725000734052 ], [ -122.429383000244059, 37.682133000568541 ], [ -122.430412000290644, 37.679045000550786 ], [ -122.431783000062211, 37.674933000866623 ], [ -122.432483000354793, 37.672133000736444 ], [ -122.433082999885983, 37.669933000731703 ], [ -122.434782999619813, 37.670633000289804 ], [ -122.435797999955156, 37.671107001032318 ], [ -122.436187999655871, 37.670784000763113 ], [ -122.43665100015896, 37.671050000694187 ], [ -122.438317999534632, 37.669768000795699 ], [ -122.444082999813503, 37.665333000440228 ], [ -122.444383000086049, 37.665133000873546 ], [ -122.444682999496081, 37.665333001116004 ], [ -122.44485200007955, 37.665434000274892 ], [ -122.445050999460562, 37.66555400067827 ], [ -122.445182999636017, 37.665633000455344 ], [ -122.445782999914869, 37.665333000290573 ], [ -122.446983000271672, 37.665933000666257 ], [ -122.448482999530569, 37.667133000674845 ], [ -122.449449000455559, 37.668496000525991 ], [ -122.450183000228549, 37.669533000431173 ], [ -122.450216000112704, 37.669551000594304 ], [ -122.450783000170532, 37.669933000310813 ], [ -122.451483999623278, 37.669352000413234 ], [ -122.451613999561346, 37.669245000507594 ], [ -122.45188500035502, 37.66902100064663 ], [ -122.451983000037799, 37.669113000530878 ], [ -122.453183000101859, 37.67023300078646 ], [ -122.45348300022691, 37.67073300075355 ], [ -122.458891000343812, 37.666844000469617 ], [ -122.459184000076917, 37.666633000642086 ], [ -122.460665999584876, 37.667780000693185 ], [ -122.460993999750414, 37.668034000662189 ], [ -122.462284000351346, 37.669033001047161 ], [ -122.463321999560804, 37.669639000933451 ], [ -122.46348399983458, 37.669733000431599 ], [ -122.464052000001459, 37.670315000436048 ], [ -122.464784000388534, 37.669933001061814 ], [ -122.465357000444257, 37.669695000429058 ], [ -122.466183999874886, 37.6694330006165 ], [ -122.466583999701015, 37.671233000916736 ], [ -122.466983999970438, 37.671933000559115 ], [ -122.469184000386065, 37.67483300080147 ], [ -122.469784000464102, 37.675533001017548 ], [ -122.470887000374603, 37.677171001093406 ], [ -122.471085999970626, 37.677431000762496 ], [ -122.471149999956197, 37.677604000558375 ], [ -122.471231999445337, 37.678667000668639 ], [ -122.471271999998578, 37.679583001025982 ], [ -122.471266000279343, 37.680208000952199 ], [ -122.471183999719159, 37.682133000312874 ], [ -122.470658999445007, 37.682098000697472 ], [ -122.470224999874191, 37.682036000860528 ], [ -122.46973200017139, 37.68204500043614 ], [ -122.466241999924961, 37.682111000802614 ], [ -122.465082999768214, 37.682133000326225 ], [ -122.463182999832327, 37.682233000616996 ], [ -122.463373999685501, 37.682711000806428 ], [ -122.46338300023217, 37.682733000829892 ], [ -122.464082999512812, 37.683033000413481 ], [ -122.464982999919727, 37.683633001118046 ], [ -122.463483000000835, 37.683733000306887 ], [ -122.463583000014538, 37.684333000839061 ], [ -122.463882999468339, 37.68503300083659 ], [ -122.464048000240766, 37.685363000627476 ], [ -122.462871999422276, 37.685493000878942 ], [ -122.462135000354479, 37.685516000245428 ], [ -122.460482999493465, 37.685472000754359 ], [ -122.460335999912445, 37.685468000450342 ], [ -122.459728999429572, 37.685565000880487 ], [ -122.459409000335967, 37.685135000712457 ], [ -122.458538999591511, 37.684067000566372 ], [ -122.458377000197842, 37.684290000570847 ], [ -122.458375999426408, 37.684291000955504 ], [ -122.458283000158644, 37.68443300077417 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 218, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.462867999423537, 37.661858001063301 ], [ -122.462676000360133, 37.661707000780886 ], [ -122.462883000284606, 37.661346000245722 ], [ -122.463017999906299, 37.661110000863857 ], [ -122.461715000234221, 37.660107000417916 ], [ -122.456823999481955, 37.657195000847267 ], [ -122.457083999693893, 37.656934000243638 ], [ -122.455084000309597, 37.654734000632097 ], [ -122.453784000216658, 37.655934000733033 ], [ -122.452983999601187, 37.654434000741432 ], [ -122.45028399999822, 37.648934000894243 ], [ -122.451684000340919, 37.649834000801654 ], [ -122.453584000458676, 37.651134000794961 ], [ -122.454583999978468, 37.651734000451633 ], [ -122.455089999824452, 37.65146200103873 ], [ -122.455427999925604, 37.651359000907554 ], [ -122.456084000033812, 37.651234000254235 ], [ -122.456584000279832, 37.651134000573109 ], [ -122.456891999972939, 37.651083001053266 ], [ -122.457183999476712, 37.651034001072063 ], [ -122.458183999968895, 37.650934000368594 ], [ -122.459224999781469, 37.651033000633156 ], [ -122.459384000171852, 37.651034000708748 ], [ -122.459884000511934, 37.651034000763211 ], [ -122.460384000522538, 37.651134000724809 ], [ -122.461384000327641, 37.651134001052846 ], [ -122.462684000181738, 37.651334000988008 ], [ -122.463684000046001, 37.651434000988182 ], [ -122.464183999759115, 37.6514340008478 ], [ -122.465184000350604, 37.651434000523359 ], [ -122.465984000398961, 37.65143400046729 ], [ -122.466983999925063, 37.651434001102167 ], [ -122.467184000149715, 37.651934000891181 ], [ -122.467283999521513, 37.653134001003302 ], [ -122.466284000250255, 37.653034000823041 ], [ -122.464483999557146, 37.65323400066918 ], [ -122.463283999885263, 37.654134000887431 ], [ -122.462083999553457, 37.654734000780628 ], [ -122.461183999906154, 37.65543400089274 ], [ -122.463283999702611, 37.6569340009328 ], [ -122.46428400033173, 37.657834000675912 ], [ -122.464583999963722, 37.658134000320494 ], [ -122.465684000386275, 37.658934001106466 ], [ -122.467683999408479, 37.661634000531521 ], [ -122.468083999680573, 37.66223400098449 ], [ -122.468384000380411, 37.66293400101334 ], [ -122.468483999612104, 37.663834000567086 ], [ -122.466383999673951, 37.663534000795075 ], [ -122.465684000464336, 37.663434000986179 ], [ -122.465043999615389, 37.66327400071409 ], [ -122.464884000120222, 37.663234000332707 ], [ -122.464607999736415, 37.663194000540997 ], [ -122.464463999741511, 37.663172000598593 ], [ -122.463750999878513, 37.663103001006107 ], [ -122.462764000089422, 37.663253000635606 ], [ -122.461383999944289, 37.664034000319333 ], [ -122.460683999702397, 37.664534000619867 ], [ -122.460184000230328, 37.664034000961394 ], [ -122.461654999700698, 37.663478001062295 ], [ -122.461975999398405, 37.66260800066776 ], [ -122.46220499991108, 37.662745000944653 ], [ -122.462448999556713, 37.66232600069781 ], [ -122.463135000047629, 37.662516000802093 ], [ -122.463043999594618, 37.662127000856337 ], [ -122.4633950004919, 37.662272000949315 ], [ -122.462867999423537, 37.661858001063301 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 219, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.465684000386275, 37.658934001106466 ], [ -122.464583999963722, 37.658134000320494 ], [ -122.46428400033173, 37.657834000675912 ], [ -122.463283999702611, 37.6569340009328 ], [ -122.461183999906154, 37.65543400089274 ], [ -122.462083999553457, 37.654734000780628 ], [ -122.463283999885263, 37.654134000887431 ], [ -122.464483999557146, 37.65323400066918 ], [ -122.466284000250255, 37.653034000823041 ], [ -122.467283999521513, 37.653134001003302 ], [ -122.467184000149715, 37.651934000891181 ], [ -122.466983999925063, 37.651434001102167 ], [ -122.468783999755516, 37.651134000482962 ], [ -122.46908400004466, 37.650934000314827 ], [ -122.47108400010066, 37.649434001126544 ], [ -122.471083999496884, 37.649034000820407 ], [ -122.471684000097866, 37.648934000429819 ], [ -122.471284000221601, 37.650134001086748 ], [ -122.470884000507382, 37.652934000524361 ], [ -122.473728999488088, 37.657487000999616 ], [ -122.475883999533451, 37.660934000831446 ], [ -122.475813000267337, 37.661167000627351 ], [ -122.475183999507522, 37.663234000361371 ], [ -122.474716999500004, 37.663749000408941 ], [ -122.474331999822653, 37.664466000952885 ], [ -122.474139999523246, 37.66442600028482 ], [ -122.473483999974931, 37.663934000402115 ], [ -122.473291000130985, 37.663744000555432 ], [ -122.473072000361228, 37.663538000973723 ], [ -122.472770999763981, 37.663245000261931 ], [ -122.472387000321206, 37.662865000532037 ], [ -122.472155000064177, 37.662658000991051 ], [ -122.471880999425949, 37.662355000454717 ], [ -122.471715999690403, 37.662094001057966 ], [ -122.471683999615308, 37.662034000273017 ], [ -122.470595999850005, 37.662331000752459 ], [ -122.468384000380411, 37.66293400101334 ], [ -122.468083999680573, 37.66223400098449 ], [ -122.467683999408479, 37.661634000531521 ], [ -122.465684000386275, 37.658934001106466 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 217, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.45348300022691, 37.67073300075355 ], [ -122.453183000101859, 37.67023300078646 ], [ -122.451983000037799, 37.669113000530878 ], [ -122.45188500035502, 37.66902100064663 ], [ -122.451682999964461, 37.668833000571823 ], [ -122.451182999757023, 37.667633000855183 ], [ -122.451282999990354, 37.666533001038211 ], [ -122.451083000509144, 37.666233000833884 ], [ -122.450882999810688, 37.665733000401481 ], [ -122.450383000139638, 37.665333000880374 ], [ -122.449083000180252, 37.664433000743529 ], [ -122.449683000258474, 37.664033000463689 ], [ -122.450182999907355, 37.66373300055433 ], [ -122.450583000267841, 37.663333000563895 ], [ -122.451484000340201, 37.662633001014449 ], [ -122.451983999554088, 37.662134001028704 ], [ -122.4501839998766, 37.660834000476498 ], [ -122.450383999566284, 37.660434000482013 ], [ -122.451083999624373, 37.659834000635698 ], [ -122.451584000246939, 37.65943400073435 ], [ -122.452183999813116, 37.658934000683594 ], [ -122.452683999841042, 37.658334000386517 ], [ -122.452684000494855, 37.657634000755337 ], [ -122.453783999681605, 37.657734000738081 ], [ -122.452984000463147, 37.656334000351336 ], [ -122.452483999575705, 37.655534000696925 ], [ -122.452184000504644, 37.654734000355184 ], [ -122.452983999601187, 37.654434000741432 ], [ -122.453784000216658, 37.655934000733033 ], [ -122.455084000309597, 37.654734000632097 ], [ -122.457083999693893, 37.656934000243638 ], [ -122.456823999481955, 37.657195000847267 ], [ -122.461715000234221, 37.660107000417916 ], [ -122.463017999906299, 37.661110000863857 ], [ -122.462883000284606, 37.661346000245722 ], [ -122.462676000360133, 37.661707000780886 ], [ -122.462867999423537, 37.661858001063301 ], [ -122.4633950004919, 37.662272000949315 ], [ -122.463043999594618, 37.662127000856337 ], [ -122.463135000047629, 37.662516000802093 ], [ -122.462448999556713, 37.66232600069781 ], [ -122.46220499991108, 37.662745000944653 ], [ -122.461975999398405, 37.66260800066776 ], [ -122.461654999700698, 37.663478001062295 ], [ -122.460184000230328, 37.664034000961394 ], [ -122.460683999702397, 37.664534000619867 ], [ -122.46118399984104, 37.665333000340659 ], [ -122.460183999485238, 37.665933000297912 ], [ -122.459784000078955, 37.666333000350456 ], [ -122.459184000076917, 37.666633000642086 ], [ -122.458891000343812, 37.666844000469617 ], [ -122.45348300022691, 37.67073300075355 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 209, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.414196999453708, 37.671514000686919 ], [ -122.413038999447579, 37.670770000528108 ], [ -122.412889000453291, 37.670665000895447 ], [ -122.412656999433196, 37.670503001035712 ], [ -122.412351000408279, 37.67045500072205 ], [ -122.412168999816586, 37.67042700074991 ], [ -122.411991999398879, 37.670460000294717 ], [ -122.410979000122737, 37.670648000317954 ], [ -122.408613999682771, 37.671083000970796 ], [ -122.408480000294844, 37.671140000490936 ], [ -122.408217000392568, 37.671251001097929 ], [ -122.407820000195841, 37.671694000484898 ], [ -122.407666999480554, 37.671898000403161 ], [ -122.407120999948916, 37.667955000233697 ], [ -122.407060999819237, 37.667522000479487 ], [ -122.406938999443781, 37.666642000309537 ], [ -122.406854000250348, 37.666032000584906 ], [ -122.406819000430104, 37.66577800043482 ], [ -122.407881999520313, 37.6660330006764 ], [ -122.40806299981422, 37.665671000780961 ], [ -122.408181999689148, 37.665433000810907 ], [ -122.408282000357815, 37.665133000313034 ], [ -122.40898200001628, 37.663733000581061 ], [ -122.409483000519529, 37.663033001101411 ], [ -122.41038299960384, 37.662433000610221 ], [ -122.410382999760699, 37.66193300061817 ], [ -122.410782999684216, 37.660433000914487 ], [ -122.411283000490442, 37.659533000259195 ], [ -122.411683000381188, 37.658533000747461 ], [ -122.411883000206714, 37.658033000856108 ], [ -122.411983000229043, 37.657633000462582 ], [ -122.411982999422236, 37.657133000926706 ], [ -122.41218299969924, 37.656733000310531 ], [ -122.414082999831763, 37.657033000622185 ], [ -122.41578300038384, 37.657433001124353 ], [ -122.417683000333014, 37.657833001128765 ], [ -122.419282999418911, 37.658233001046433 ], [ -122.421482999594801, 37.658833000327981 ], [ -122.422682999635526, 37.659133000875414 ], [ -122.42448299948542, 37.659333000647493 ], [ -122.426182999974671, 37.659633000248881 ], [ -122.428283000475659, 37.660133000241345 ], [ -122.429682999827619, 37.660433000240218 ], [ -122.429583000048908, 37.660833000437997 ], [ -122.429426000398848, 37.661372001112312 ], [ -122.428932999685372, 37.663063000594988 ], [ -122.428883000290014, 37.66323300086728 ], [ -122.42838299974369, 37.664533000852927 ], [ -122.428182999649508, 37.665333000995368 ], [ -122.427783000352974, 37.666533000619026 ], [ -122.427683000177211, 37.666833000717382 ], [ -122.428343000523171, 37.667053000873032 ], [ -122.428746000246505, 37.667187000879238 ], [ -122.429183000436055, 37.667333000322294 ], [ -122.429882999418382, 37.667633000879746 ], [ -122.433082999885983, 37.669933000731703 ], [ -122.432483000354793, 37.672133000736444 ], [ -122.431783000062211, 37.674933000866623 ], [ -122.430412000290644, 37.679045000550786 ], [ -122.429383000244059, 37.682133000568541 ], [ -122.428883000431668, 37.683916000428603 ], [ -122.428328999903215, 37.683778000875009 ], [ -122.428238000120444, 37.683587000242234 ], [ -122.428114999602528, 37.683366000514908 ], [ -122.427596999432623, 37.683243000732688 ], [ -122.427139000347466, 37.683076000739533 ], [ -122.426941000477328, 37.682816000957118 ], [ -122.426421999818572, 37.682511000581847 ], [ -122.425644000218441, 37.681885000903904 ], [ -122.425125000235994, 37.681161001092271 ], [ -122.424957000304474, 37.680185000758911 ], [ -122.424941999655445, 37.679071000295899 ], [ -122.424947999395869, 37.679017000364901 ], [ -122.424986999510296, 37.678652000478479 ], [ -122.42449899979772, 37.678285000651101 ], [ -122.424162999435453, 37.677866000748125 ], [ -122.424056999675201, 37.677545000714986 ], [ -122.424025999993731, 37.676927000764138 ], [ -122.42378199973605, 37.676561000900818 ], [ -122.422583000050054, 37.675633000721874 ], [ -122.421752999891154, 37.675073000464813 ], [ -122.420332999697067, 37.674555001110456 ], [ -122.418350000128484, 37.674181000686147 ], [ -122.415191999563646, 37.672152000849032 ], [ -122.414196999453708, 37.671514000686919 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 211, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.408683000236664, 37.653333000733298 ], [ -122.409068000481426, 37.651639000837108 ], [ -122.409182999639526, 37.651133000772042 ], [ -122.409883000311609, 37.650334000603763 ], [ -122.410182999795481, 37.651233000733448 ], [ -122.411282999774798, 37.652333000966046 ], [ -122.413582999391693, 37.652833001063577 ], [ -122.417083000165064, 37.653533000291326 ], [ -122.420683000168026, 37.654533000263655 ], [ -122.42156099999039, 37.654709000776535 ], [ -122.422683000434247, 37.65493300071892 ], [ -122.424182999580239, 37.655333000909522 ], [ -122.423983000400469, 37.655533000591177 ], [ -122.423783000114952, 37.656033000774926 ], [ -122.42718299956617, 37.656633000896228 ], [ -122.430683000254902, 37.657433000932535 ], [ -122.430582999510662, 37.658033000366053 ], [ -122.430383000224325, 37.65853300084482 ], [ -122.43028300007856, 37.658933000881767 ], [ -122.430082999695642, 37.659433000756138 ], [ -122.429882999396725, 37.660033001085615 ], [ -122.429682999827619, 37.660433000240218 ], [ -122.428283000475659, 37.660133000241345 ], [ -122.426182999974671, 37.659633000248881 ], [ -122.42448299948542, 37.659333000647493 ], [ -122.422682999635526, 37.659133000875414 ], [ -122.421482999594801, 37.658833000327981 ], [ -122.419282999418911, 37.658233001046433 ], [ -122.417683000333014, 37.657833001128765 ], [ -122.41578300038384, 37.657433001124353 ], [ -122.414082999831763, 37.657033000622185 ], [ -122.41218299969924, 37.656733000310531 ], [ -122.411982999422236, 37.657133000926706 ], [ -122.411983000229043, 37.657633000462582 ], [ -122.411883000206714, 37.658033000856108 ], [ -122.411683000381188, 37.658533000747461 ], [ -122.410982999526624, 37.65843300106927 ], [ -122.410383000241708, 37.658333000512719 ], [ -122.409300999554063, 37.657977000325396 ], [ -122.407383000057735, 37.657633000898564 ], [ -122.406682999862397, 37.657433001094326 ], [ -122.407183000353299, 37.656433000440586 ], [ -122.407582999987739, 37.655733000671745 ], [ -122.408082999649551, 37.654633000404708 ], [ -122.408482999651838, 37.653733001016732 ], [ -122.408683000236664, 37.653333000733298 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 212, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.392182000367214, 37.635134000772794 ], [ -122.39504300036171, 37.635134000951993 ], [ -122.397066999715435, 37.635134000862649 ], [ -122.398340999710982, 37.635134000566595 ], [ -122.398883000523696, 37.635134000703353 ], [ -122.401683000172014, 37.63523400066849 ], [ -122.402283000256347, 37.635234000788913 ], [ -122.404907999912126, 37.635358000860698 ], [ -122.405282999538429, 37.635334000924786 ], [ -122.405583000036216, 37.635334000327305 ], [ -122.406082999676471, 37.635234000684385 ], [ -122.406883000327269, 37.635334000930889 ], [ -122.411323000450864, 37.635334000302407 ], [ -122.411416000258711, 37.636334000962968 ], [ -122.411582999556217, 37.636334000235507 ], [ -122.41168300047697, 37.637334000298956 ], [ -122.411683000224471, 37.639334000297282 ], [ -122.411589999461569, 37.641104000588122 ], [ -122.41257400033308, 37.640699000528301 ], [ -122.412583000229006, 37.640834001023592 ], [ -122.413183000295192, 37.640734000651065 ], [ -122.413582999828037, 37.640534000843111 ], [ -122.416882999742455, 37.639534000804083 ], [ -122.417152999399903, 37.639462000709429 ], [ -122.418682999928578, 37.642234000577801 ], [ -122.419044000435278, 37.642053001120416 ], [ -122.419683000472645, 37.641734000613873 ], [ -122.422282999419167, 37.640734000619247 ], [ -122.422683000493123, 37.640434000285602 ], [ -122.423282999986228, 37.640134000260666 ], [ -122.423483000093682, 37.640434000556986 ], [ -122.424482999627017, 37.641934000406835 ], [ -122.424882999987602, 37.642634000284751 ], [ -122.42588299998809, 37.643834000842674 ], [ -122.427150999892831, 37.645827000888559 ], [ -122.427282999567836, 37.646034001022024 ], [ -122.428282999532712, 37.647134000506725 ], [ -122.429182999543826, 37.648234000609186 ], [ -122.429483000015964, 37.648734000471954 ], [ -122.430383000388488, 37.650234000713063 ], [ -122.431382999613106, 37.651834000972769 ], [ -122.432282999931061, 37.652834000254856 ], [ -122.432383000456397, 37.653234000452755 ], [ -122.43318299978958, 37.654134000868297 ], [ -122.433883000119977, 37.65463400064143 ], [ -122.434283000100919, 37.654934000836448 ], [ -122.433536000418826, 37.655305000452991 ], [ -122.433189999583874, 37.655133000255468 ], [ -122.432237999731626, 37.654611000879051 ], [ -122.431948000240695, 37.654452000578296 ], [ -122.430341999885627, 37.653580000484766 ], [ -122.428974999521628, 37.65283800089491 ], [ -122.428782999896782, 37.652734000433966 ], [ -122.428561000352744, 37.652598000371512 ], [ -122.42698300039423, 37.651634001089441 ], [ -122.426682999905893, 37.652134000332843 ], [ -122.426483000225673, 37.65233400080453 ], [ -122.425883000064445, 37.65313400110405 ], [ -122.425783000199999, 37.65323400113099 ], [ -122.425582999664499, 37.653434000918885 ], [ -122.424183000441204, 37.655034000493771 ], [ -122.424182999580239, 37.655333000909522 ], [ -122.422683000434247, 37.65493300071892 ], [ -122.42156099999039, 37.654709000776535 ], [ -122.420683000168026, 37.654533000263655 ], [ -122.417083000165064, 37.653533000291326 ], [ -122.413582999391693, 37.652833001063577 ], [ -122.411282999774798, 37.652333000966046 ], [ -122.410182999795481, 37.651233000733448 ], [ -122.409883000311609, 37.650334000603763 ], [ -122.409182999639526, 37.651133000772042 ], [ -122.409068000481426, 37.651639000837108 ], [ -122.408683000236664, 37.653333000733298 ], [ -122.408482999651838, 37.653733001016732 ], [ -122.408082999649551, 37.654633000404708 ], [ -122.407582999987739, 37.655733000671745 ], [ -122.407183000353299, 37.656433000440586 ], [ -122.406682999862397, 37.657433001094326 ], [ -122.406182000057157, 37.658333000829806 ], [ -122.405181999975213, 37.660133000761647 ], [ -122.404081999480937, 37.661033000978719 ], [ -122.402381999688501, 37.662233000860496 ], [ -122.401181999628164, 37.662933000852405 ], [ -122.399881999577715, 37.66383300109166 ], [ -122.399559999564943, 37.664034000941477 ], [ -122.399082000154607, 37.664333000799395 ], [ -122.398082000098029, 37.6654330003255 ], [ -122.394213999971115, 37.6691410010935 ], [ -122.393382999729738, 37.669937000971053 ], [ -122.393282000034702, 37.670033001046335 ], [ -122.393193999576525, 37.669558001073788 ], [ -122.393178000133574, 37.669448000932768 ], [ -122.392681999852186, 37.66993300051999 ], [ -122.392570000440216, 37.669933000614463 ], [ -122.391581999949409, 37.669933000673723 ], [ -122.390382000364369, 37.67003300061635 ], [ -122.390181999668968, 37.669833000445493 ], [ -122.386681999933444, 37.66983300053122 ], [ -122.386931000249334, 37.669267000434921 ], [ -122.387144999882381, 37.669000000976204 ], [ -122.387480000107502, 37.668764000691766 ], [ -122.388304000192676, 37.668657000899813 ], [ -122.390700000431636, 37.668550001132971 ], [ -122.392012000234487, 37.6683980007748 ], [ -122.392591999832106, 37.668047000662412 ], [ -122.392882000437794, 37.667733001008209 ], [ -122.391382000351811, 37.667633000588751 ], [ -122.391281999420556, 37.666733000584941 ], [ -122.392682000096855, 37.666633000908831 ], [ -122.392781999590369, 37.666233000643686 ], [ -122.39428200033862, 37.665433000482587 ], [ -122.395381999874303, 37.664933000755425 ], [ -122.394781999810945, 37.664433000427245 ], [ -122.392681999690438, 37.665433000348067 ], [ -122.391981999630488, 37.665833000724973 ], [ -122.391282000027687, 37.665533001030497 ], [ -122.38878200032768, 37.665633000801634 ], [ -122.38858199971277, 37.665433000530996 ], [ -122.388182000480626, 37.664933001109254 ], [ -122.388382000367912, 37.663633000578791 ], [ -122.386781999603031, 37.663733000439422 ], [ -122.387682000083799, 37.664033000769052 ], [ -122.386282000334973, 37.665033000465549 ], [ -122.386281999437571, 37.665433000879524 ], [ -122.386282000228618, 37.66653300054427 ], [ -122.386682000197155, 37.667233001006053 ], [ -122.381882000073389, 37.667233000714241 ], [ -122.381681999656763, 37.665433000414097 ], [ -122.381582000007242, 37.664733000583688 ], [ -122.381800000241384, 37.664624001076831 ], [ -122.374262000029475, 37.664295000843886 ], [ -122.374281999721902, 37.662833000799608 ], [ -122.374382000031829, 37.661333001111579 ], [ -122.379781999650461, 37.661033000604753 ], [ -122.379681999961335, 37.659733000473558 ], [ -122.377259999677065, 37.657890000437639 ], [ -122.37508200026916, 37.656233000560285 ], [ -122.374682000205397, 37.656333000463398 ], [ -122.374481999806449, 37.656033000782173 ], [ -122.375641999697706, 37.655932000840465 ], [ -122.376781999607587, 37.655833001035099 ], [ -122.377181999658916, 37.655133000741181 ], [ -122.377681999772108, 37.654533000902241 ], [ -122.376681999588627, 37.652733000991738 ], [ -122.377120000367654, 37.652032000703919 ], [ -122.377182000373551, 37.651933000622599 ], [ -122.378681999963405, 37.651133000913589 ], [ -122.379782000009797, 37.648533000585118 ], [ -122.386882000273587, 37.648333000418326 ], [ -122.389781999648235, 37.648233001032871 ], [ -122.390695000348046, 37.648191000617615 ], [ -122.39198199965756, 37.648133001078449 ], [ -122.394375999519781, 37.646183000372716 ], [ -122.39446600012127, 37.64594600030626 ], [ -122.394374000040116, 37.645790000600094 ], [ -122.394143999818851, 37.645762000510167 ], [ -122.393840999704068, 37.645782000265356 ], [ -122.393647000222245, 37.645711000491197 ], [ -122.393948000130848, 37.645217000565744 ], [ -122.394048999495723, 37.645046000501011 ], [ -122.394080999661099, 37.644748000776474 ], [ -122.394107999832841, 37.64450300068777 ], [ -122.394587999532433, 37.643553000669328 ], [ -122.395225999813363, 37.643018000333932 ], [ -122.395706999962457, 37.642703000689366 ], [ -122.395930999859402, 37.642522000381319 ], [ -122.395917000075144, 37.642446000488732 ], [ -122.395986000495839, 37.642339000631246 ], [ -122.397506000230891, 37.641992000591166 ], [ -122.397426999843077, 37.641739000576678 ], [ -122.395710999399725, 37.64218200080284 ], [ -122.395666999928693, 37.641848000439737 ], [ -122.397253999432024, 37.64142600081189 ], [ -122.397161999578884, 37.641258001021747 ], [ -122.395505999897338, 37.641616001041484 ], [ -122.39542100034997, 37.641330000927411 ], [ -122.396960999440438, 37.640935000762823 ], [ -122.396828000271412, 37.640713000515859 ], [ -122.395322000012669, 37.641168000962573 ], [ -122.395296999591949, 37.640861000753716 ], [ -122.396647999421674, 37.640492000883164 ], [ -122.396583000114489, 37.640271000656242 ], [ -122.395083999758043, 37.640602000695139 ], [ -122.394991000129679, 37.640300001123997 ], [ -122.396363000021395, 37.639915000825596 ], [ -122.396256999899492, 37.639742001082347 ], [ -122.394865000423493, 37.640160000818938 ], [ -122.394671999636145, 37.639798000971652 ], [ -122.395016000519888, 37.639719000708666 ], [ -122.395726000124995, 37.639562000352399 ], [ -122.395807000076459, 37.639476000853819 ], [ -122.395815999491916, 37.63925600103952 ], [ -122.395825999884281, 37.638938000850807 ], [ -122.39458200031261, 37.639134000777375 ], [ -122.391882000241324, 37.638534000604913 ], [ -122.393581999653406, 37.641934000915825 ], [ -122.390982000012656, 37.644734000923698 ], [ -122.389981999841666, 37.640434000281665 ], [ -122.391382000525496, 37.638634000247109 ], [ -122.385881999931556, 37.639234000686244 ], [ -122.384381999869291, 37.637834000847263 ], [ -122.38388200035854, 37.637634000831611 ], [ -122.382082000203567, 37.636234000845761 ], [ -122.38078199950975, 37.635234000558263 ], [ -122.385982000497037, 37.635334000859359 ], [ -122.388795000091079, 37.635244000234302 ], [ -122.38983700013668, 37.635210000947666 ], [ -122.392182000367214, 37.635134000772794 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 230, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.451684000340919, 37.649834000801654 ], [ -122.45088399996105, 37.648234000461414 ], [ -122.450483999868226, 37.647134001000175 ], [ -122.450383999486391, 37.646734001027163 ], [ -122.448783999831221, 37.644573000987606 ], [ -122.450055999799787, 37.644040001009877 ], [ -122.451983999974786, 37.643234000913047 ], [ -122.45358400051704, 37.642634000609903 ], [ -122.454683999579899, 37.64243400063323 ], [ -122.456584000322579, 37.643134001039456 ], [ -122.458070000262865, 37.643561000739759 ], [ -122.458436999430518, 37.643666000576587 ], [ -122.46198400010735, 37.642634000279273 ], [ -122.462984000239842, 37.641834000729716 ], [ -122.462884000505341, 37.640335000497075 ], [ -122.46258399940308, 37.639235000559928 ], [ -122.463284000089672, 37.639035000920529 ], [ -122.463883999482192, 37.638835000608815 ], [ -122.465303000067649, 37.640420000880148 ], [ -122.468983999909483, 37.644534000373959 ], [ -122.471684000097866, 37.648934000429819 ], [ -122.471083999496884, 37.649034000820407 ], [ -122.47108400010066, 37.649434001126544 ], [ -122.46908400004466, 37.650934000314827 ], [ -122.468783999755516, 37.651134000482962 ], [ -122.466983999925063, 37.651434001102167 ], [ -122.465984000398961, 37.65143400046729 ], [ -122.465184000350604, 37.651434000523359 ], [ -122.464183999759115, 37.6514340008478 ], [ -122.463684000046001, 37.651434000988182 ], [ -122.462684000181738, 37.651334000988008 ], [ -122.461384000327641, 37.651134001052846 ], [ -122.460384000522538, 37.651134000724809 ], [ -122.459884000511934, 37.651034000763211 ], [ -122.459384000171852, 37.651034000708748 ], [ -122.459224999781469, 37.651033000633156 ], [ -122.458183999968895, 37.650934000368594 ], [ -122.457183999476712, 37.651034001072063 ], [ -122.456891999972939, 37.651083001053266 ], [ -122.456584000279832, 37.651134000573109 ], [ -122.456084000033812, 37.651234000254235 ], [ -122.455427999925604, 37.651359000907554 ], [ -122.455089999824452, 37.65146200103873 ], [ -122.454583999978468, 37.651734000451633 ], [ -122.453584000458676, 37.651134000794961 ], [ -122.451684000340919, 37.649834000801654 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 220, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.478983999733714, 37.657534000580853 ], [ -122.47868400045563, 37.659034000986246 ], [ -122.478357000108446, 37.659470000968895 ], [ -122.478083999782882, 37.659834000739146 ], [ -122.475883999533451, 37.660934000831446 ], [ -122.473728999488088, 37.657487000999616 ], [ -122.470884000507382, 37.652934000524361 ], [ -122.471284000221601, 37.650134001086748 ], [ -122.471684000097866, 37.648934000429819 ], [ -122.468983999909483, 37.644534000373959 ], [ -122.465303000067649, 37.640420000880148 ], [ -122.463883999482192, 37.638835000608815 ], [ -122.464283999778715, 37.638719000448027 ], [ -122.465221999597418, 37.638448000740603 ], [ -122.466159999786797, 37.638176000271372 ], [ -122.467684000313596, 37.637735000912222 ], [ -122.468484000051802, 37.638435000311581 ], [ -122.469684999865564, 37.637135000426461 ], [ -122.469910999569009, 37.637729000327795 ], [ -122.46978900025556, 37.638111000601995 ], [ -122.46991100045183, 37.638378000746513 ], [ -122.470170999864266, 37.638836000663012 ], [ -122.470337999858884, 37.639294000720021 ], [ -122.470474999463079, 37.639622000557168 ], [ -122.470811999873618, 37.639728000849537 ], [ -122.471039999599441, 37.640064001008255 ], [ -122.471269000230393, 37.640308000493491 ], [ -122.471497999795645, 37.640217001119389 ], [ -122.47181900034407, 37.640232001051352 ], [ -122.472062999463944, 37.640362000352447 ], [ -122.472048000389861, 37.640674000764712 ], [ -122.472085000028542, 37.641135001036758 ], [ -122.472414000495419, 37.64127000107608 ], [ -122.473757000137482, 37.641636000666594 ], [ -122.475815999826096, 37.642330000647362 ], [ -122.477585999815034, 37.643078000278301 ], [ -122.478868000440642, 37.643711000405183 ], [ -122.479814000228941, 37.644108000684824 ], [ -122.480378999922479, 37.644214000825393 ], [ -122.48098500045532, 37.64423500067997 ], [ -122.481462000191513, 37.644329001064669 ], [ -122.482210000229259, 37.644482000897277 ], [ -122.482326999768276, 37.644519000399647 ], [ -122.482499000299399, 37.644573000490581 ], [ -122.483201999746143, 37.644794000660198 ], [ -122.483985000108689, 37.645035001109562 ], [ -122.483884999542184, 37.64533500027369 ], [ -122.484385000163712, 37.645635000366951 ], [ -122.484485000085556, 37.646335000411312 ], [ -122.484085000018709, 37.64823400095775 ], [ -122.483284999853652, 37.648734000412972 ], [ -122.482985000227742, 37.647934000837459 ], [ -122.479584999445166, 37.647534000884029 ], [ -122.479784999864108, 37.648834000693675 ], [ -122.481184999753111, 37.649934001062682 ], [ -122.481385000213066, 37.650534000937057 ], [ -122.48108499994278, 37.65053400032582 ], [ -122.481185000181867, 37.651334001022853 ], [ -122.481883999422195, 37.652434001103025 ], [ -122.481384000184164, 37.653334000372901 ], [ -122.479783999708431, 37.654234000661738 ], [ -122.479184000302752, 37.654934000269066 ], [ -122.478784000157717, 37.65583400042204 ], [ -122.478983999733714, 37.657534000580853 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 222, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.494584999935242, 37.664034000702451 ], [ -122.493383999707063, 37.664034000451892 ], [ -122.492984000271477, 37.66353400076764 ], [ -122.49277399998941, 37.663334000742559 ], [ -122.491584000112283, 37.662234000746345 ], [ -122.491484999470103, 37.66053400087921 ], [ -122.491984999761257, 37.660134000358134 ], [ -122.491484999506994, 37.656434000549829 ], [ -122.491085000516122, 37.656534000937995 ], [ -122.490584999670602, 37.656434000273514 ], [ -122.490484999452661, 37.655834000339816 ], [ -122.489985000347446, 37.655534001110688 ], [ -122.489884999720175, 37.655934000618849 ], [ -122.487885000372955, 37.655834000888696 ], [ -122.487484999407542, 37.655734000269405 ], [ -122.486584999717977, 37.655034001023189 ], [ -122.485984999701088, 37.654234000681669 ], [ -122.485384999615263, 37.654134001000486 ], [ -122.484785000020466, 37.654034000976537 ], [ -122.484184000199505, 37.654834000447153 ], [ -122.483485000461158, 37.65333400053359 ], [ -122.48308500015888, 37.651834000717024 ], [ -122.482284999788192, 37.65133400073401 ], [ -122.481185000181867, 37.651334001022853 ], [ -122.48108499994278, 37.65053400032582 ], [ -122.481385000213066, 37.650534000937057 ], [ -122.481184999753111, 37.649934001062682 ], [ -122.479784999864108, 37.648834000693675 ], [ -122.479584999445166, 37.647534000884029 ], [ -122.482985000227742, 37.647934000837459 ], [ -122.483284999853652, 37.648734000412972 ], [ -122.484085000018709, 37.64823400095775 ], [ -122.484485000085556, 37.646335000411312 ], [ -122.484385000163712, 37.645635000366951 ], [ -122.483884999542184, 37.64533500027369 ], [ -122.483985000108689, 37.645035001109562 ], [ -122.484084999863938, 37.644735000938176 ], [ -122.485185000022938, 37.64343500087417 ], [ -122.485884999609226, 37.64313500103151 ], [ -122.48838500019103, 37.644335000973101 ], [ -122.489285000012202, 37.644935000487571 ], [ -122.489584999698209, 37.645635000399828 ], [ -122.490584999504762, 37.646035000767441 ], [ -122.490585000068961, 37.646135000301918 ], [ -122.491185000374131, 37.64653500092875 ], [ -122.491784999706695, 37.64643500085829 ], [ -122.492584999465464, 37.646235000524833 ], [ -122.493084999627698, 37.644635000301122 ], [ -122.49408499983042, 37.644035000600688 ], [ -122.494064000431877, 37.645271000267677 ], [ -122.493885000481143, 37.655834000308559 ], [ -122.493935999413225, 37.656485001012165 ], [ -122.494105000019047, 37.659084000959581 ], [ -122.494484999970695, 37.663434000298395 ], [ -122.494584999935242, 37.664034000702451 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 223, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.49408499983042, 37.644035000600688 ], [ -122.493084999627698, 37.644635000301122 ], [ -122.492584999465464, 37.646235000524833 ], [ -122.491784999706695, 37.64643500085829 ], [ -122.491185000374131, 37.64653500092875 ], [ -122.490585000068961, 37.646135000301918 ], [ -122.490584999504762, 37.646035000767441 ], [ -122.489584999698209, 37.645635000399828 ], [ -122.489285000012202, 37.644935000487571 ], [ -122.48838500019103, 37.644335000973101 ], [ -122.485884999609226, 37.64313500103151 ], [ -122.485185000022938, 37.64343500087417 ], [ -122.484084999863938, 37.644735000938176 ], [ -122.483985000108689, 37.645035001109562 ], [ -122.483201999746143, 37.644794000660198 ], [ -122.482499000299399, 37.644573000490581 ], [ -122.482326999768276, 37.644519000399647 ], [ -122.482210000229259, 37.644482000897277 ], [ -122.481462000191513, 37.644329001064669 ], [ -122.48098500045532, 37.64423500067997 ], [ -122.480378999922479, 37.644214000825393 ], [ -122.479814000228941, 37.644108000684824 ], [ -122.478868000440642, 37.643711000405183 ], [ -122.477585999815034, 37.643078000278301 ], [ -122.475815999826096, 37.642330000647362 ], [ -122.473757000137482, 37.641636000666594 ], [ -122.472414000495419, 37.64127000107608 ], [ -122.472085000028542, 37.641135001036758 ], [ -122.472048000389861, 37.640674000764712 ], [ -122.472062999463944, 37.640362000352447 ], [ -122.47181900034407, 37.640232001051352 ], [ -122.471497999795645, 37.640217001119389 ], [ -122.471269000230393, 37.640308000493491 ], [ -122.471039999599441, 37.640064001008255 ], [ -122.470811999873618, 37.639728000849537 ], [ -122.470474999463079, 37.639622000557168 ], [ -122.470337999858884, 37.639294000720021 ], [ -122.470170999864266, 37.638836000663012 ], [ -122.46991100045183, 37.638378000746513 ], [ -122.46978900025556, 37.638111000601995 ], [ -122.469910999569009, 37.637729000327795 ], [ -122.469684999865564, 37.637135000426461 ], [ -122.471584999780916, 37.635035000413659 ], [ -122.471337999470848, 37.634459000957165 ], [ -122.471284999840904, 37.634335000985764 ], [ -122.47228500031899, 37.63373500037585 ], [ -122.472784999618241, 37.633435000452081 ], [ -122.4759830000812, 37.633625000733026 ], [ -122.476088000063584, 37.633533000718046 ], [ -122.476297999684746, 37.633321000378402 ], [ -122.477167999504005, 37.631735000872496 ], [ -122.476484999851266, 37.631035000973746 ], [ -122.477473999561539, 37.629489000508094 ], [ -122.478085000165493, 37.62853500103207 ], [ -122.477984999497053, 37.62713500055866 ], [ -122.479885000446544, 37.626735000455724 ], [ -122.480984999919286, 37.62483500079383 ], [ -122.482985000077619, 37.62433500095797 ], [ -122.484985000457215, 37.624835001012002 ], [ -122.4857849999824, 37.626435000527195 ], [ -122.486922999755876, 37.625997000884816 ], [ -122.487085000324967, 37.625935000920194 ], [ -122.487984999876474, 37.625435000433491 ], [ -122.488985000380396, 37.62583500047436 ], [ -122.489684999507489, 37.628035000939185 ], [ -122.490184999643049, 37.628135000818034 ], [ -122.491385000380617, 37.629635000661246 ], [ -122.492384999854991, 37.629735000323294 ], [ -122.492906000084957, 37.629778000918577 ], [ -122.493585000477935, 37.62983500103784 ], [ -122.494084999980132, 37.62983500081198 ], [ -122.495685000322311, 37.629735000452293 ], [ -122.494385000342589, 37.641535000538283 ], [ -122.49408499983042, 37.644035000600688 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 224, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.495685000322311, 37.629735000452293 ], [ -122.494084999980132, 37.62983500081198 ], [ -122.493585000477935, 37.62983500103784 ], [ -122.492906000084957, 37.629778000918577 ], [ -122.492384999854991, 37.629735000323294 ], [ -122.491385000380617, 37.629635000661246 ], [ -122.490184999643049, 37.628135000818034 ], [ -122.489684999507489, 37.628035000939185 ], [ -122.488985000380396, 37.62583500047436 ], [ -122.487984999876474, 37.625435000433491 ], [ -122.487085000324967, 37.625935000920194 ], [ -122.486922999755876, 37.625997000884816 ], [ -122.4857849999824, 37.626435000527195 ], [ -122.484985000457215, 37.624835001012002 ], [ -122.482985000077619, 37.62433500095797 ], [ -122.480984999919286, 37.62483500079383 ], [ -122.479885000446544, 37.626735000455724 ], [ -122.477984999497053, 37.62713500055866 ], [ -122.478085000165493, 37.62853500103207 ], [ -122.477473999561539, 37.629489000508094 ], [ -122.476484999851266, 37.631035000973746 ], [ -122.477167999504005, 37.631735000872496 ], [ -122.476297999684746, 37.633321000378402 ], [ -122.476088000063584, 37.633533000718046 ], [ -122.4759830000812, 37.633625000733026 ], [ -122.472784999618241, 37.633435000452081 ], [ -122.472784999451449, 37.632550000664708 ], [ -122.472785000022355, 37.631135000316647 ], [ -122.471684999466163, 37.631135000355954 ], [ -122.470885000279509, 37.630135000265582 ], [ -122.469384999560191, 37.628035000853814 ], [ -122.468984999493529, 37.627235000569051 ], [ -122.468822000372896, 37.627027000782306 ], [ -122.468679999576594, 37.626846000241557 ], [ -122.463300000402825, 37.619991000430481 ], [ -122.46278499953219, 37.619335001075214 ], [ -122.461184999816155, 37.619135000773454 ], [ -122.460684999564066, 37.617535000764889 ], [ -122.463885000143236, 37.618635000491622 ], [ -122.466684999539396, 37.617735000349029 ], [ -122.468884999421178, 37.616136000622127 ], [ -122.470508000518649, 37.614955000426889 ], [ -122.471243999583095, 37.61439900065799 ], [ -122.471521999507061, 37.614189000894285 ], [ -122.471530999650909, 37.613993000796384 ], [ -122.471612000407546, 37.613832000334881 ], [ -122.471692999837458, 37.613736000798504 ], [ -122.471272000240504, 37.613715000554514 ], [ -122.468170999913696, 37.613458000697186 ], [ -122.470961000092458, 37.609421000740831 ], [ -122.468422999596669, 37.608884000911139 ], [ -122.468548000290298, 37.608446000680807 ], [ -122.471589999629089, 37.608824000451754 ], [ -122.475383999443309, 37.603539000991411 ], [ -122.475385000476464, 37.603536000370092 ], [ -122.479585999707169, 37.598436000840792 ], [ -122.480986000060113, 37.598336000268084 ], [ -122.481685999626691, 37.598236000805692 ], [ -122.482486000234701, 37.598436000381156 ], [ -122.483753000017799, 37.598587000582903 ], [ -122.484066999955814, 37.598625000581471 ], [ -122.489185999501544, 37.599237000959818 ], [ -122.48898599973532, 37.600236000330838 ], [ -122.488886000271805, 37.600936001093345 ], [ -122.490002000253597, 37.601945000438931 ], [ -122.490986000135607, 37.602836000312692 ], [ -122.49218599987914, 37.602236000794321 ], [ -122.494186000066051, 37.604436001061252 ], [ -122.494985999428025, 37.60523600036715 ], [ -122.495286000068162, 37.606036000298687 ], [ -122.49583599940614, 37.606917000405581 ], [ -122.496286000305247, 37.607636000257173 ], [ -122.495586000415656, 37.60813600110987 ], [ -122.495390999626792, 37.608293000407734 ], [ -122.49527899954505, 37.608383000775227 ], [ -122.49518199986764, 37.608445001046974 ], [ -122.493515999698502, 37.609517000306646 ], [ -122.493366999851091, 37.60961000102823 ], [ -122.494085999783053, 37.609836000680701 ], [ -122.494785999404201, 37.609936000910764 ], [ -122.495386000256516, 37.61023600059454 ], [ -122.496085999702288, 37.610536000642071 ], [ -122.496485999680729, 37.610636001015585 ], [ -122.497062999958118, 37.610753000277136 ], [ -122.496786000116799, 37.612136001065593 ], [ -122.497986000517727, 37.613936000861308 ], [ -122.497685999871607, 37.61583600037229 ], [ -122.497185999828744, 37.616236001068863 ], [ -122.497585999749333, 37.619336000594821 ], [ -122.497685999903126, 37.61903600085212 ], [ -122.498786000081651, 37.619936000438578 ], [ -122.497886000381484, 37.620536000356211 ], [ -122.496786000059842, 37.620736000513403 ], [ -122.496585999613927, 37.62113600091832 ], [ -122.495685000322311, 37.629735000452293 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 225, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.497786000318015, 37.608736000330069 ], [ -122.497085999410672, 37.610636000606718 ], [ -122.497062999958118, 37.610753000277136 ], [ -122.496485999680729, 37.610636001015585 ], [ -122.496085999702288, 37.610536000642071 ], [ -122.495386000256516, 37.61023600059454 ], [ -122.494785999404201, 37.609936000910764 ], [ -122.494085999783053, 37.609836000680701 ], [ -122.493366999851091, 37.60961000102823 ], [ -122.493515999698502, 37.609517000306646 ], [ -122.49518199986764, 37.608445001046974 ], [ -122.49527899954505, 37.608383000775227 ], [ -122.495390999626792, 37.608293000407734 ], [ -122.495586000415656, 37.60813600110987 ], [ -122.496286000305247, 37.607636000257173 ], [ -122.49788599998196, 37.606036000963243 ], [ -122.498074000441108, 37.603968000702594 ], [ -122.498086000046797, 37.603836000648471 ], [ -122.499886000340283, 37.599137000376828 ], [ -122.498186000423644, 37.598237000970443 ], [ -122.496786000408591, 37.596737000466511 ], [ -122.497186000466812, 37.595537000503441 ], [ -122.496886000445571, 37.59403700105355 ], [ -122.495586000157218, 37.593137000760798 ], [ -122.494761000430941, 37.593217000505746 ], [ -122.493841000109981, 37.59330600074037 ], [ -122.492486000467238, 37.593437000618692 ], [ -122.491685999585471, 37.593537000611903 ], [ -122.491886000074828, 37.592437000756377 ], [ -122.492486000429807, 37.590937001132865 ], [ -122.492786000205101, 37.588837000542682 ], [ -122.493585999682679, 37.588437000327382 ], [ -122.49508699965503, 37.587137000793035 ], [ -122.496486999780785, 37.585437001111728 ], [ -122.49818699953461, 37.583637001011517 ], [ -122.497686999666712, 37.583337000559133 ], [ -122.497122000225986, 37.583093001069798 ], [ -122.497001000096645, 37.582966000677217 ], [ -122.496708999583802, 37.582373000479897 ], [ -122.496477000273856, 37.582168000626929 ], [ -122.494925000511969, 37.582401000781395 ], [ -122.494063999550647, 37.582040000573208 ], [ -122.494786999914567, 37.581237000850592 ], [ -122.495386999781047, 37.580537001125812 ], [ -122.495592999808594, 37.58052900060936 ], [ -122.503087000047486, 37.58023700037414 ], [ -122.504286999659215, 37.580037000468572 ], [ -122.504654000218537, 37.579542000535007 ], [ -122.505809000467522, 37.577984000585822 ], [ -122.50628699989376, 37.577338000476864 ], [ -122.50522599980107, 37.577944000251975 ], [ -122.504887000050758, 37.578138000616207 ], [ -122.50438700017402, 37.576038000336098 ], [ -122.502645000344458, 37.576785000534379 ], [ -122.501586999750188, 37.577238001080936 ], [ -122.499461999608712, 37.575456000749021 ], [ -122.498784000377285, 37.574887001044644 ], [ -122.498664000410571, 37.574786000384506 ], [ -122.498486999567817, 37.574638001017 ], [ -122.496587000183737, 37.570338000737543 ], [ -122.497063999418501, 37.570328000852363 ], [ -122.497581999713546, 37.57051400107396 ], [ -122.498193999865649, 37.570962001036527 ], [ -122.498534999622834, 37.571347001052274 ], [ -122.499115000138602, 37.571647000651389 ], [ -122.499512999786489, 37.571970000759521 ], [ -122.499890000497274, 37.572269000536309 ], [ -122.500361000221076, 37.572344000409224 ], [ -122.50054100048817, 37.572386000518954 ], [ -122.50121000044814, 37.572269000430012 ], [ -122.501916000414923, 37.572194000387242 ], [ -122.502340000084459, 37.572381000916891 ], [ -122.502575999477955, 37.572717000924165 ], [ -122.502717000445685, 37.572866000806947 ], [ -122.504224999507755, 37.573127001049777 ], [ -122.505496999534316, 37.573613000986299 ], [ -122.506580000258566, 37.573986000469638 ], [ -122.507617000272205, 37.574135000991852 ], [ -122.50832400009763, 37.573874000986677 ], [ -122.509125000073141, 37.574061000960818 ], [ -122.509595999905159, 37.574957000746409 ], [ -122.509736999448691, 37.575778001095621 ], [ -122.510208000112641, 37.576188000341688 ], [ -122.511056000096701, 37.576487000564725 ], [ -122.512233999788847, 37.576860000928484 ], [ -122.512563999612155, 37.577346000870293 ], [ -122.512846999951037, 37.578055000892057 ], [ -122.512940999638886, 37.578577000559861 ], [ -122.51306900043005, 37.578999000812274 ], [ -122.513022000362312, 37.579260000814848 ], [ -122.512801999400907, 37.579645000738218 ], [ -122.512692000397564, 37.580005000372857 ], [ -122.512912000292275, 37.580341000867875 ], [ -122.513210000501061, 37.58041500031613 ], [ -122.513256999679754, 37.580651000641822 ], [ -122.51305299949324, 37.58097400023658 ], [ -122.512534999911111, 37.58109900068407 ], [ -122.512300000330981, 37.581372000361249 ], [ -122.512159000307676, 37.581620000767813 ], [ -122.512299999670674, 37.581869000593969 ], [ -122.512707999521709, 37.582043000349366 ], [ -122.512926999708569, 37.582254000680628 ], [ -122.512879999395267, 37.582552000712653 ], [ -122.51253500025328, 37.58273800049124 ], [ -122.511955000224631, 37.582975000340127 ], [ -122.51154700010926, 37.583509000362753 ], [ -122.511689000213508, 37.583944000307064 ], [ -122.512190000377444, 37.584155000965175 ], [ -122.513350999409212, 37.58413000106502 ], [ -122.513633000005825, 37.584118001011127 ], [ -122.513743000243181, 37.584192000384348 ], [ -122.513712000471855, 37.58431600055566 ], [ -122.513598999813183, 37.584387000839421 ], [ -122.513475999960292, 37.584465001109649 ], [ -122.512299999624972, 37.584764000584222 ], [ -122.510512000024249, 37.584925000551927 ], [ -122.509756000483179, 37.585014000397976 ], [ -122.511021999682868, 37.585171000330853 ], [ -122.512435999984149, 37.585211000515301 ], [ -122.513528000110014, 37.585112000984225 ], [ -122.51406400039312, 37.584871000605965 ], [ -122.514126999607441, 37.585198000310683 ], [ -122.514197999712579, 37.585588000870445 ], [ -122.514432000049567, 37.585885000617409 ], [ -122.514714000261336, 37.586145000532831 ], [ -122.517099999856129, 37.586739001006968 ], [ -122.517186999830145, 37.590637000884506 ], [ -122.519388000462186, 37.592437001065235 ], [ -122.520687999527098, 37.594037000682945 ], [ -122.514973999417251, 37.59541600100755 ], [ -122.514887000287644, 37.595437000795179 ], [ -122.513986999844263, 37.596537000640112 ], [ -122.513887000251003, 37.597737000698167 ], [ -122.514786999684674, 37.598337000445831 ], [ -122.513487000117109, 37.598037000571544 ], [ -122.510986999998011, 37.597537000453883 ], [ -122.507487000228082, 37.596037000765271 ], [ -122.505587000274389, 37.596237000414874 ], [ -122.503981999696151, 37.597536000424277 ], [ -122.501385999504592, 37.599637000670292 ], [ -122.49978600005268, 37.604136000295419 ], [ -122.500958000238526, 37.604917001102393 ], [ -122.501586000057884, 37.605336000980984 ], [ -122.501486000155552, 37.607336000836256 ], [ -122.498985999529069, 37.607536000519254 ], [ -122.497786000318015, 37.608736000330069 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 227, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.477285999836667, 37.591737000664807 ], [ -122.479685999396864, 37.592037001027329 ], [ -122.480685999474147, 37.592437000953716 ], [ -122.480685999556641, 37.592637000841862 ], [ -122.479185999879419, 37.592737000523506 ], [ -122.478785999936392, 37.593337001006667 ], [ -122.480586000211161, 37.594337000788727 ], [ -122.481986000139827, 37.595937000420591 ], [ -122.482286000299808, 37.597437000338481 ], [ -122.482486000234701, 37.598436000381156 ], [ -122.481685999626691, 37.598236000805692 ], [ -122.480986000060113, 37.598336000268084 ], [ -122.479585999707169, 37.598436000840792 ], [ -122.475385000476464, 37.603536000370092 ], [ -122.475383999443309, 37.603539000991411 ], [ -122.471589999629089, 37.608824000451754 ], [ -122.468548000290298, 37.608446000680807 ], [ -122.468422999596669, 37.608884000911139 ], [ -122.470961000092458, 37.609421000740831 ], [ -122.468170999913696, 37.613458000697186 ], [ -122.471272000240504, 37.613715000554514 ], [ -122.471692999837458, 37.613736000798504 ], [ -122.471612000407546, 37.613832000334881 ], [ -122.471530999650909, 37.613993000796384 ], [ -122.471521999507061, 37.614189000894285 ], [ -122.471243999583095, 37.61439900065799 ], [ -122.470508000518649, 37.614955000426889 ], [ -122.468884999421178, 37.616136000622127 ], [ -122.466684999539396, 37.617735000349029 ], [ -122.463885000143236, 37.618635000491622 ], [ -122.460684999564066, 37.617535000764889 ], [ -122.461184999816155, 37.619135000773454 ], [ -122.460891000462254, 37.619078000311546 ], [ -122.455039999748934, 37.618472000583992 ], [ -122.45496999972265, 37.618465001073737 ], [ -122.454500000381103, 37.618419000815052 ], [ -122.454183999817786, 37.618735000728861 ], [ -122.453884000219063, 37.618835000591275 ], [ -122.453093999444462, 37.618629000411062 ], [ -122.451583999938933, 37.618235001022406 ], [ -122.451598000474817, 37.618134000867563 ], [ -122.451634999579298, 37.617880000909182 ], [ -122.451651999500058, 37.61776000095432 ], [ -122.4516840001166, 37.617535000821057 ], [ -122.450983999504999, 37.617235000351194 ], [ -122.451583999949634, 37.616835000397103 ], [ -122.45008399975903, 37.61563500029294 ], [ -122.450068000014838, 37.615586001088602 ], [ -122.44338499941118, 37.594436001053708 ], [ -122.447284999685095, 37.592436000911967 ], [ -122.450380999977128, 37.590918000557089 ], [ -122.450576999658111, 37.59082200078462 ], [ -122.451167999579127, 37.590532000751963 ], [ -122.452873000462532, 37.589696000570719 ], [ -122.459743000433946, 37.586328000650447 ], [ -122.461280999704456, 37.585574000838243 ], [ -122.462784999755897, 37.584837000254986 ], [ -122.459384999754789, 37.584737000500986 ], [ -122.459584999760395, 37.578137000455207 ], [ -122.450584999405507, 37.578037000828502 ], [ -122.450485000351293, 37.577737000713967 ], [ -122.450585000074597, 37.570537000963618 ], [ -122.45938599944769, 37.570737000407604 ], [ -122.459406999858288, 37.570084000551994 ], [ -122.459486000119128, 37.567637000385673 ], [ -122.459486000294177, 37.566037000283863 ], [ -122.459785999639536, 37.566037000667734 ], [ -122.460086000126537, 37.566037000294408 ], [ -122.46568599992446, 37.566138000930685 ], [ -122.46548600026297, 37.569437000399525 ], [ -122.467789000275673, 37.569533000668208 ], [ -122.467886000395282, 37.569537000945274 ], [ -122.467904999441217, 37.570097000861388 ], [ -122.46798599949642, 37.572537000452918 ], [ -122.476185999961501, 37.572537000806058 ], [ -122.471786000349667, 37.578137000531292 ], [ -122.473485999654315, 37.579437001083221 ], [ -122.473840999539902, 37.579234000358454 ], [ -122.474186000348624, 37.57903700023423 ], [ -122.474307000307931, 37.579199000644508 ], [ -122.47455099961563, 37.579367000735957 ], [ -122.475100000014251, 37.579573001126555 ], [ -122.475649999871237, 37.579702000626156 ], [ -122.476001000132769, 37.579794001086306 ], [ -122.476305999831013, 37.579939001007574 ], [ -122.476428000023503, 37.580091000551924 ], [ -122.476486000150615, 37.580337000402999 ], [ -122.476286000159376, 37.580637001000085 ], [ -122.475827999856634, 37.580923000876716 ], [ -122.475486000067917, 37.581137000389361 ], [ -122.474385999619685, 37.583337001050054 ], [ -122.473785999979967, 37.583937000675306 ], [ -122.475486000034834, 37.585937000341211 ], [ -122.476185999830051, 37.586337001131398 ], [ -122.47708600022591, 37.587937000850751 ], [ -122.475385999544358, 37.591037000249813 ], [ -122.476285999506715, 37.591437000303699 ], [ -122.476885999880352, 37.591637001074808 ], [ -122.477285999836667, 37.591737000664807 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 229, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.445784000456797, 37.622235000796103 ], [ -122.445904000207221, 37.622115000602825 ], [ -122.446040999918537, 37.621978000656576 ], [ -122.449083999630147, 37.618935000625974 ], [ -122.44998400000965, 37.61813500112509 ], [ -122.450983999504999, 37.617235000351194 ], [ -122.4516840001166, 37.617535000821057 ], [ -122.451651999500058, 37.61776000095432 ], [ -122.451634999579298, 37.617880000909182 ], [ -122.451598000474817, 37.618134000867563 ], [ -122.451583999938933, 37.618235001022406 ], [ -122.453093999444462, 37.618629000411062 ], [ -122.453884000219063, 37.618835000591275 ], [ -122.454284000522236, 37.619635000275657 ], [ -122.453983999491669, 37.62073500032578 ], [ -122.453384000148731, 37.62143500073978 ], [ -122.45358400050246, 37.622435001045936 ], [ -122.453984000439348, 37.623035000875724 ], [ -122.454683999405404, 37.623635000780261 ], [ -122.454984000149977, 37.623935000778907 ], [ -122.455083999783483, 37.624235000415695 ], [ -122.455384000011236, 37.625135000550834 ], [ -122.455284000154109, 37.62783500089369 ], [ -122.455691000375637, 37.627716000885243 ], [ -122.4576760005219, 37.62683000023987 ], [ -122.458019999564257, 37.626981000874039 ], [ -122.460169999554239, 37.629201000596723 ], [ -122.460462999791503, 37.628926000876994 ], [ -122.461220000275091, 37.629497001056272 ], [ -122.461484000502509, 37.629535000640374 ], [ -122.464369000219222, 37.62874900042334 ], [ -122.464689000401449, 37.628499000413804 ], [ -122.465092000142462, 37.628081000673475 ], [ -122.465339999686179, 37.627712000584353 ], [ -122.465742999635566, 37.627344001118622 ], [ -122.466271000174629, 37.626926000722783 ], [ -122.466705000383357, 37.626778000410212 ], [ -122.466921999682839, 37.626582000946648 ], [ -122.466953000180354, 37.626213001014868 ], [ -122.466736000053857, 37.625672000439245 ], [ -122.466116000003964, 37.625206000367037 ], [ -122.465463999842314, 37.624862000416506 ], [ -122.464688999400124, 37.624173000884582 ], [ -122.464100000166255, 37.62324000087289 ], [ -122.463759000320778, 37.621937001075686 ], [ -122.463325000367121, 37.620758000508346 ], [ -122.463201000126531, 37.620119000699837 ], [ -122.463300000402825, 37.619991000430481 ], [ -122.468679999576594, 37.626846000241557 ], [ -122.468822000372896, 37.627027000782306 ], [ -122.468984999493529, 37.627235000569051 ], [ -122.469384999560191, 37.628035000853814 ], [ -122.470885000279509, 37.630135000265582 ], [ -122.471684999466163, 37.631135000355954 ], [ -122.472785000022355, 37.631135000316647 ], [ -122.472784999451449, 37.632550000664708 ], [ -122.472784999618241, 37.633435000452081 ], [ -122.47228500031899, 37.63373500037585 ], [ -122.471284999840904, 37.634335000985764 ], [ -122.471337999470848, 37.634459000957165 ], [ -122.471584999780916, 37.635035000413659 ], [ -122.469684999865564, 37.637135000426461 ], [ -122.468484000051802, 37.638435000311581 ], [ -122.467684000313596, 37.637735000912222 ], [ -122.466159999786797, 37.638176000271372 ], [ -122.465221999597418, 37.638448000740603 ], [ -122.464283999778715, 37.638719000448027 ], [ -122.463883999482192, 37.638835000608815 ], [ -122.463532999526066, 37.638484000656995 ], [ -122.463184000301069, 37.638135000705034 ], [ -122.461683999459922, 37.636635000293609 ], [ -122.45378400049367, 37.631935000655766 ], [ -122.446983999988348, 37.624035000962984 ], [ -122.445846000161652, 37.62232800081528 ], [ -122.445784000456797, 37.622235000796103 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 232, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.463883999482192, 37.638835000608815 ], [ -122.463284000089672, 37.639035000920529 ], [ -122.46258399940308, 37.639235000559928 ], [ -122.460884000016264, 37.639635000378178 ], [ -122.458584000228882, 37.640134000596632 ], [ -122.454484000288318, 37.638135001047608 ], [ -122.453683999533766, 37.637535000356038 ], [ -122.452884000310235, 37.637035000967209 ], [ -122.452183999672172, 37.636635000356669 ], [ -122.45026899985325, 37.635645000496844 ], [ -122.449284000141603, 37.635135000235096 ], [ -122.448708000245659, 37.635046001042269 ], [ -122.447984000228061, 37.634935000912364 ], [ -122.448019000374842, 37.635111000752417 ], [ -122.447670000334512, 37.635091000940712 ], [ -122.447610000365003, 37.635200000626497 ], [ -122.446555000059647, 37.636289000551045 ], [ -122.445915000022509, 37.636087000777621 ], [ -122.445257999409677, 37.635454001030517 ], [ -122.445490999772218, 37.634960001066062 ], [ -122.444096999476457, 37.634614001064364 ], [ -122.442983999747881, 37.635174000560234 ], [ -122.441322000464268, 37.636012000947659 ], [ -122.440483999585055, 37.636434000622678 ], [ -122.439484000486814, 37.636934000505242 ], [ -122.435584000333463, 37.631135000672749 ], [ -122.434788999641924, 37.630474000675946 ], [ -122.434977999621523, 37.630387000469661 ], [ -122.43578399949665, 37.630035000322188 ], [ -122.435930000393427, 37.62998600056325 ], [ -122.43608400031836, 37.629935000933813 ], [ -122.436795999764684, 37.62966100036877 ], [ -122.437163000186985, 37.62962400050229 ], [ -122.43750799963486, 37.629570000874381 ], [ -122.437898000058652, 37.629461000607208 ], [ -122.438381000100989, 37.629206000831353 ], [ -122.438678999662216, 37.628933000914621 ], [ -122.438807000224784, 37.628504000675569 ], [ -122.439299000166784, 37.627623000737557 ], [ -122.439713000405987, 37.62727700026285 ], [ -122.44178399974102, 37.626335000712089 ], [ -122.442184000082776, 37.626035000612525 ], [ -122.443583999881241, 37.625535000272521 ], [ -122.445584000227328, 37.624735000791382 ], [ -122.446483999492798, 37.624335000944669 ], [ -122.446983999988348, 37.624035000962984 ], [ -122.45378400049367, 37.631935000655766 ], [ -122.461683999459922, 37.636635000293609 ], [ -122.463184000301069, 37.638135000705034 ], [ -122.463532999526066, 37.638484000656995 ], [ -122.463883999482192, 37.638835000608815 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 236, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.424584000297045, 37.617435000749836 ], [ -122.424470000322316, 37.617491000984629 ], [ -122.423583999746029, 37.617935000443715 ], [ -122.423340000162838, 37.618057000312433 ], [ -122.422983999779404, 37.618235001019009 ], [ -122.422447999484632, 37.618505000721306 ], [ -122.421782999567824, 37.618835000639208 ], [ -122.421028999601759, 37.619217000785888 ], [ -122.42028300047842, 37.619535000820918 ], [ -122.419583000131951, 37.619935000622817 ], [ -122.418682999531669, 37.620335000759809 ], [ -122.417983000061511, 37.620535000677499 ], [ -122.417282999541143, 37.620935001113288 ], [ -122.416382999517438, 37.621335000683885 ], [ -122.415682999595532, 37.62163500091242 ], [ -122.414982999723904, 37.621935000559141 ], [ -122.414183000433056, 37.622335000341764 ], [ -122.413483000436798, 37.622635000924696 ], [ -122.412583000379072, 37.623035000998335 ], [ -122.412551999931381, 37.623005000737322 ], [ -122.411282999639099, 37.621435001053499 ], [ -122.410482999645041, 37.620435001051611 ], [ -122.409883000377846, 37.619535000465319 ], [ -122.408782999581462, 37.617935000822825 ], [ -122.408083000333122, 37.617135000502195 ], [ -122.407283000103035, 37.616335000270546 ], [ -122.406683000340252, 37.615835000694283 ], [ -122.406583000012233, 37.61553500085401 ], [ -122.406082999444195, 37.615135000477139 ], [ -122.406482999868203, 37.614935000944016 ], [ -122.406534000254069, 37.614885000718019 ], [ -122.405105999432649, 37.61385700065771 ], [ -122.405283000191233, 37.613635000362095 ], [ -122.405395000501201, 37.613369000712758 ], [ -122.405483000443596, 37.613235000690253 ], [ -122.405483000033996, 37.613135000970168 ], [ -122.405783000472567, 37.612535000300518 ], [ -122.405982999521655, 37.612235000320091 ], [ -122.403982999856566, 37.610235000666343 ], [ -122.404083000149186, 37.609635000537224 ], [ -122.407583000215283, 37.607735000745521 ], [ -122.408582999905278, 37.607835000361234 ], [ -122.409282999693914, 37.607935000860373 ], [ -122.40948299985763, 37.609135000902377 ], [ -122.408582999743885, 37.609835000978116 ], [ -122.407983000282471, 37.610535000523292 ], [ -122.407382999996571, 37.611435000914618 ], [ -122.406782999950579, 37.612235001034612 ], [ -122.406782999647305, 37.612535000245643 ], [ -122.407183000347956, 37.61293500111627 ], [ -122.408482999681837, 37.613635000673732 ], [ -122.409683000392718, 37.614135000935363 ], [ -122.410282999876614, 37.613835000257509 ], [ -122.410583000421795, 37.613635000702367 ], [ -122.411759999954086, 37.612929000399923 ], [ -122.412407000300163, 37.612541001092431 ], [ -122.413083000470024, 37.612135000307298 ], [ -122.415883000400441, 37.61073500091743 ], [ -122.417483000147641, 37.609835000267012 ], [ -122.418073999580557, 37.609572000652214 ], [ -122.418382999914627, 37.609435000952899 ], [ -122.41878299944365, 37.61013500111676 ], [ -122.42018399976773, 37.609435000633773 ], [ -122.420684000063005, 37.608835000926625 ], [ -122.420884000027485, 37.608135001023271 ], [ -122.42268400005824, 37.607235000890952 ], [ -122.422883999653848, 37.60713500036367 ], [ -122.423868999439307, 37.606598000541922 ], [ -122.425083999874559, 37.605935000897048 ], [ -122.425784000241919, 37.605235000498176 ], [ -122.425976000189877, 37.605155000617195 ], [ -122.426477999596713, 37.604946000674254 ], [ -122.427079999977806, 37.604702001074735 ], [ -122.427132999456305, 37.605098000255715 ], [ -122.427297999543697, 37.607941000704237 ], [ -122.427173999719798, 37.609710001075946 ], [ -122.42666300036997, 37.611342000707566 ], [ -122.426036000512212, 37.612741000981643 ], [ -122.424380999905566, 37.615439000971271 ], [ -122.424363999605532, 37.615497001119081 ], [ -122.424321999606846, 37.61590000043509 ], [ -122.424353000293152, 37.616402000886502 ], [ -122.424437999518545, 37.616930000558931 ], [ -122.424584000297045, 37.617435000749836 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 237, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.409482999786022, 37.626834000809595 ], [ -122.40698300007989, 37.62233500078294 ], [ -122.4049090003153, 37.619789001114682 ], [ -122.404782999617908, 37.619635000606507 ], [ -122.4052830002408, 37.619535001029263 ], [ -122.405068000300304, 37.619191000385278 ], [ -122.404782999706683, 37.618735000476455 ], [ -122.404182999401854, 37.618035000837232 ], [ -122.403783000509847, 37.617335001110504 ], [ -122.403182999823812, 37.616735000446539 ], [ -122.402683000520994, 37.615935000683045 ], [ -122.402082999402751, 37.61533500066168 ], [ -122.401683000367939, 37.614635000827526 ], [ -122.401182999802487, 37.614035001105727 ], [ -122.400782999937746, 37.613435000514073 ], [ -122.400083000177389, 37.612535000639255 ], [ -122.400983000465743, 37.612035000645506 ], [ -122.400482999464288, 37.611335000753115 ], [ -122.401521999841847, 37.61081600023936 ], [ -122.401683000181961, 37.610735000472729 ], [ -122.402182999480786, 37.611235000406872 ], [ -122.402383000430248, 37.611635001053479 ], [ -122.402982999571066, 37.612235000718094 ], [ -122.403483000511415, 37.612635000782433 ], [ -122.403683000225698, 37.612835000636423 ], [ -122.404182999636831, 37.61333500102922 ], [ -122.404782999574749, 37.613935000485178 ], [ -122.404883000084595, 37.614135000398839 ], [ -122.405383000281418, 37.614635001067782 ], [ -122.406082999444195, 37.615135000477139 ], [ -122.406583000012233, 37.61553500085401 ], [ -122.406683000340252, 37.615835000694283 ], [ -122.407283000103035, 37.616335000270546 ], [ -122.408083000333122, 37.617135000502195 ], [ -122.408782999581462, 37.617935000822825 ], [ -122.409883000377846, 37.619535000465319 ], [ -122.410482999645041, 37.620435001051611 ], [ -122.411282999639099, 37.621435001053499 ], [ -122.412551999931381, 37.623005000737322 ], [ -122.412583000379072, 37.623035000998335 ], [ -122.413082999557389, 37.623835000748095 ], [ -122.414183000074189, 37.625435000790702 ], [ -122.414482999888492, 37.625735000410508 ], [ -122.415282999964774, 37.62693400110814 ], [ -122.415683000330702, 37.627434000984202 ], [ -122.416782999944829, 37.629034000520996 ], [ -122.417721000320356, 37.630629000758567 ], [ -122.417782999465061, 37.630734000345377 ], [ -122.418883000222209, 37.632234001010801 ], [ -122.418882999992476, 37.632434000826642 ], [ -122.419082999681308, 37.632834001079914 ], [ -122.419182999754256, 37.633034001073192 ], [ -122.418573999761151, 37.633304000369442 ], [ -122.414582999555861, 37.634534001066065 ], [ -122.414040000248221, 37.634485000396552 ], [ -122.41388299974713, 37.634234000324312 ], [ -122.412983000083003, 37.633034000892984 ], [ -122.412782999764161, 37.632634000333141 ], [ -122.411883000306744, 37.630934000497547 ], [ -122.411283000001077, 37.630034001054753 ], [ -122.410144999811791, 37.628011000637663 ], [ -122.409482999786022, 37.626834000809595 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 234, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.433360000449525, 37.63502500036379 ], [ -122.432683999918197, 37.634534000823692 ], [ -122.423483000093682, 37.640434000556986 ], [ -122.423282999986228, 37.640134000260666 ], [ -122.422683000493123, 37.640434000285602 ], [ -122.422282999419167, 37.640734000619247 ], [ -122.419683000472645, 37.641734000613873 ], [ -122.419044000435278, 37.642053001120416 ], [ -122.418682999928578, 37.642234000577801 ], [ -122.417152999399903, 37.639462000709429 ], [ -122.416182999447457, 37.638234000560018 ], [ -122.41638300047326, 37.638234000424774 ], [ -122.414078000287859, 37.634546000316874 ], [ -122.414040000248221, 37.634485000396552 ], [ -122.414582999555861, 37.634534001066065 ], [ -122.418573999761151, 37.633304000369442 ], [ -122.419182999754256, 37.633034001073192 ], [ -122.419082999681308, 37.632834001079914 ], [ -122.418882999992476, 37.632434000826642 ], [ -122.418883000222209, 37.632234001010801 ], [ -122.417782999465061, 37.630734000345377 ], [ -122.417721000320356, 37.630629000758567 ], [ -122.416782999944829, 37.629034000520996 ], [ -122.417183000420977, 37.628834000489434 ], [ -122.417483000335977, 37.628634000258444 ], [ -122.419082999817462, 37.628034000290739 ], [ -122.419882999723811, 37.627735000258653 ], [ -122.420582999616329, 37.627535000340494 ], [ -122.421283000516041, 37.627235000306335 ], [ -122.42268300018344, 37.626635000283976 ], [ -122.423283000181257, 37.62633500099399 ], [ -122.424082999859863, 37.625935001049513 ], [ -122.426583999393401, 37.624935000569018 ], [ -122.426917999845415, 37.624866000867158 ], [ -122.427088999941816, 37.624866000238683 ], [ -122.427260000287035, 37.624819001001562 ], [ -122.427646999703072, 37.624619000318098 ], [ -122.428183999664981, 37.624335000678386 ], [ -122.428883999496875, 37.625035001090758 ], [ -122.430645999700644, 37.626895001054713 ], [ -122.431621000374889, 37.627791000269738 ], [ -122.43281499954378, 37.62866700083103 ], [ -122.432983999956321, 37.628835000948698 ], [ -122.433348000154098, 37.629166000323714 ], [ -122.434542000013323, 37.630250000757819 ], [ -122.434788999641924, 37.630474000675946 ], [ -122.435584000333463, 37.631135000672749 ], [ -122.439484000486814, 37.636934000505242 ], [ -122.436983999518205, 37.638134000419591 ], [ -122.434532999959956, 37.635989001040194 ], [ -122.433783999816342, 37.63533400080015 ], [ -122.433360000449525, 37.63502500036379 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 239, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.379581999539994, 37.632734001125549 ], [ -122.376881999693296, 37.629534000429217 ], [ -122.372981999633126, 37.627934000934914 ], [ -122.371882000337351, 37.628734000601909 ], [ -122.368481999584816, 37.627434001043106 ], [ -122.367281999881598, 37.629334000320647 ], [ -122.365382000268212, 37.628534000666406 ], [ -122.364781999618785, 37.627334000236296 ], [ -122.365581999811567, 37.626234001095987 ], [ -122.368082000149229, 37.621534000706141 ], [ -122.367032000418376, 37.621096000271351 ], [ -122.365682000438028, 37.620534000455343 ], [ -122.36408199939801, 37.619234000361487 ], [ -122.354880999755025, 37.615534000953929 ], [ -122.358382000509735, 37.609934000683445 ], [ -122.369282000352996, 37.614034000307022 ], [ -122.371782000032312, 37.614834000604468 ], [ -122.373082000021114, 37.614034001087354 ], [ -122.378081999840106, 37.606835000462517 ], [ -122.378882000369018, 37.607235000533201 ], [ -122.382981999609328, 37.604735001015499 ], [ -122.38338199971048, 37.604535001047189 ], [ -122.387682999717327, 37.607335000751277 ], [ -122.392182999812405, 37.610435000690835 ], [ -122.393673000121254, 37.611393000846277 ], [ -122.394426000397075, 37.611877000378932 ], [ -122.394983000271878, 37.612235000236048 ], [ -122.395397000225316, 37.612567000429515 ], [ -122.396282999770094, 37.613435000624847 ], [ -122.397182999605732, 37.614535001098432 ], [ -122.397883000476639, 37.615335001053047 ], [ -122.39838299973303, 37.616235000847674 ], [ -122.399911000256381, 37.620889000504413 ], [ -122.402682999797278, 37.629334000667313 ], [ -122.402782999787192, 37.629734000750872 ], [ -122.40280000025821, 37.62978500046669 ], [ -122.403182999521576, 37.630934000579778 ], [ -122.403349000198958, 37.631437000378249 ], [ -122.403683000253892, 37.632034001079681 ], [ -122.404082999969674, 37.633434000738788 ], [ -122.404192999882355, 37.633744000361069 ], [ -122.404907999912126, 37.635358000860698 ], [ -122.402283000256347, 37.635234000788913 ], [ -122.401683000172014, 37.63523400066849 ], [ -122.398883000523696, 37.635134000703353 ], [ -122.398340999710982, 37.635134000566595 ], [ -122.397066999715435, 37.635134000862649 ], [ -122.39504300036171, 37.635134000951993 ], [ -122.392182000367214, 37.635134000772794 ], [ -122.38983700013668, 37.635210000947666 ], [ -122.388795000091079, 37.635244000234302 ], [ -122.385982000497037, 37.635334000859359 ], [ -122.389082000248493, 37.632834000910883 ], [ -122.388782000338807, 37.630434000923621 ], [ -122.385381999706837, 37.628934001100838 ], [ -122.380081999410677, 37.630534000467286 ], [ -122.379581999539994, 37.632734001125549 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 240, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.374881999970668, 37.604135000518085 ], [ -122.375182000313018, 37.60383500097609 ], [ -122.378782000259932, 37.601435000355508 ], [ -122.379481999979021, 37.601035000855354 ], [ -122.382381999845322, 37.599135000608946 ], [ -122.384682999497358, 37.597735000321087 ], [ -122.384982999572998, 37.59753500042379 ], [ -122.385625000511865, 37.596964000500755 ], [ -122.385883000421586, 37.596735000791561 ], [ -122.387282999908237, 37.595735000600747 ], [ -122.388682999590017, 37.596935000885765 ], [ -122.389382999906331, 37.597635000534993 ], [ -122.390183000442008, 37.598335000778818 ], [ -122.391382999653899, 37.599535000651677 ], [ -122.392183000421227, 37.600335000646879 ], [ -122.393183000107797, 37.601135000656996 ], [ -122.393682999456615, 37.601535001075391 ], [ -122.394583000489959, 37.60223500101803 ], [ -122.393983000427482, 37.602635000810729 ], [ -122.394815000039259, 37.60334500066763 ], [ -122.396231000510284, 37.604553000349718 ], [ -122.397383000069993, 37.605535001106375 ], [ -122.398582999953376, 37.606235000252596 ], [ -122.399782999994528, 37.60753500036239 ], [ -122.400483000403042, 37.608135000564069 ], [ -122.401882999423464, 37.607535000492049 ], [ -122.402282999488918, 37.607935000995631 ], [ -122.402683000422215, 37.608335001037133 ], [ -122.403182999657759, 37.608835000507746 ], [ -122.403782999580088, 37.609335001067265 ], [ -122.404083000149186, 37.609635000537224 ], [ -122.403982999856566, 37.610235000666343 ], [ -122.405982999521655, 37.612235000320091 ], [ -122.405783000472567, 37.612535000300518 ], [ -122.405483000033996, 37.613135000970168 ], [ -122.405483000443596, 37.613235000690253 ], [ -122.405395000501201, 37.613369000712758 ], [ -122.405283000191233, 37.613635000362095 ], [ -122.405105999432649, 37.61385700065771 ], [ -122.406534000254069, 37.614885000718019 ], [ -122.406482999868203, 37.614935000944016 ], [ -122.406082999444195, 37.615135000477139 ], [ -122.405383000281418, 37.614635001067782 ], [ -122.404883000084595, 37.614135000398839 ], [ -122.404782999574749, 37.613935000485178 ], [ -122.404182999636831, 37.61333500102922 ], [ -122.403683000225698, 37.612835000636423 ], [ -122.403483000511415, 37.612635000782433 ], [ -122.402982999571066, 37.612235000718094 ], [ -122.402383000430248, 37.611635001053479 ], [ -122.402182999480786, 37.611235000406872 ], [ -122.401683000181961, 37.610735000472729 ], [ -122.401521999841847, 37.61081600023936 ], [ -122.400482999464288, 37.611335000753115 ], [ -122.400983000465743, 37.612035000645506 ], [ -122.400083000177389, 37.612535000639255 ], [ -122.399582999819089, 37.611835000618484 ], [ -122.399083000132833, 37.612035000373588 ], [ -122.398082999807428, 37.612635000974699 ], [ -122.397783000302823, 37.612735000542799 ], [ -122.397383000168062, 37.61283500067686 ], [ -122.397183000012774, 37.612935000976044 ], [ -122.396983000457595, 37.613035000935731 ], [ -122.394983000271878, 37.612235000236048 ], [ -122.394426000397075, 37.611877000378932 ], [ -122.393673000121254, 37.611393000846277 ], [ -122.392182999812405, 37.610435000690835 ], [ -122.387682999717327, 37.607335000751277 ], [ -122.38338199971048, 37.604535001047189 ], [ -122.382981999609328, 37.604735001015499 ], [ -122.378882000369018, 37.607235000533201 ], [ -122.378081999840106, 37.606835000462517 ], [ -122.378282000333854, 37.605335000502421 ], [ -122.377139000443506, 37.604932000367313 ], [ -122.374881999970668, 37.604135000518085 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 241, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.411759999954086, 37.612929000399923 ], [ -122.410583000421795, 37.613635000702367 ], [ -122.410282999876614, 37.613835000257509 ], [ -122.409683000392718, 37.614135000935363 ], [ -122.408482999681837, 37.613635000673732 ], [ -122.407183000347956, 37.61293500111627 ], [ -122.406782999647305, 37.612535000245643 ], [ -122.406782999950579, 37.612235001034612 ], [ -122.407382999996571, 37.611435000914618 ], [ -122.407983000282471, 37.610535000523292 ], [ -122.408582999743885, 37.609835000978116 ], [ -122.40948299985763, 37.609135000902377 ], [ -122.409282999693914, 37.607935000860373 ], [ -122.408582999905278, 37.607835000361234 ], [ -122.407583000215283, 37.607735000745521 ], [ -122.404083000149186, 37.609635000537224 ], [ -122.403782999580088, 37.609335001067265 ], [ -122.403182999657759, 37.608835000507746 ], [ -122.402683000422215, 37.608335001037133 ], [ -122.402282999488918, 37.607935000995631 ], [ -122.401882999423464, 37.607535000492049 ], [ -122.400483000403042, 37.608135000564069 ], [ -122.399782999994528, 37.60753500036239 ], [ -122.398582999953376, 37.606235000252596 ], [ -122.397383000069993, 37.605535001106375 ], [ -122.398182999609361, 37.604935000577044 ], [ -122.399082999792583, 37.605535000524284 ], [ -122.399974999505261, 37.605010000462023 ], [ -122.402071999944013, 37.603777000870664 ], [ -122.402482999565422, 37.6035350010089 ], [ -122.403020000382, 37.603240000296807 ], [ -122.404483000498217, 37.60243500102554 ], [ -122.405282999912458, 37.602035001118004 ], [ -122.405882999503064, 37.601635000381982 ], [ -122.406682999902785, 37.601035000941096 ], [ -122.408782999622417, 37.599735000892167 ], [ -122.410609000442335, 37.599691000971923 ], [ -122.410795999442172, 37.599686000273849 ], [ -122.412882999529657, 37.599636000379512 ], [ -122.413883000194502, 37.599136000912253 ], [ -122.414736000359653, 37.599250000907368 ], [ -122.415383999879765, 37.599336000563277 ], [ -122.415883999922528, 37.599936000232894 ], [ -122.416083999719987, 37.600436001076872 ], [ -122.416184000168315, 37.601035000336395 ], [ -122.41577299978043, 37.60129900032986 ], [ -122.414783000071139, 37.601935000601166 ], [ -122.415140000029226, 37.602721000954212 ], [ -122.415282999400162, 37.603035000482976 ], [ -122.415782999608936, 37.603835001040814 ], [ -122.416082999656354, 37.604435000763146 ], [ -122.416684000122089, 37.605135000523816 ], [ -122.417183999676098, 37.605935000367325 ], [ -122.418384000012608, 37.606635000672689 ], [ -122.418684000212011, 37.607235000821397 ], [ -122.41918399997499, 37.607735000531349 ], [ -122.419983999608675, 37.607635000931339 ], [ -122.420183999453485, 37.608035000781506 ], [ -122.42248399971308, 37.606935000579064 ], [ -122.422683999410879, 37.607035001090118 ], [ -122.422883999653848, 37.60713500036367 ], [ -122.42268400005824, 37.607235000890952 ], [ -122.420884000027485, 37.608135001023271 ], [ -122.420684000063005, 37.608835000926625 ], [ -122.42018399976773, 37.609435000633773 ], [ -122.41878299944365, 37.61013500111676 ], [ -122.418382999914627, 37.609435000952899 ], [ -122.418073999580557, 37.609572000652214 ], [ -122.417483000147641, 37.609835000267012 ], [ -122.415883000400441, 37.61073500091743 ], [ -122.413083000470024, 37.612135000307298 ], [ -122.412407000300163, 37.612541001092431 ], [ -122.411759999954086, 37.612929000399923 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 242, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.412984000409793, 37.593536000601375 ], [ -122.412383999905401, 37.592836000472502 ], [ -122.41318399996409, 37.59243600083979 ], [ -122.413683999828407, 37.592136000371951 ], [ -122.414150000069682, 37.591870000619842 ], [ -122.414384000179439, 37.591736000462632 ], [ -122.415184000156387, 37.59243600106992 ], [ -122.41898400008958, 37.595636000362525 ], [ -122.419883999737863, 37.596436000664447 ], [ -122.420583999403263, 37.597036001019006 ], [ -122.422683999619579, 37.5991360005846 ], [ -122.423183999935844, 37.59963600106196 ], [ -122.425957000017064, 37.602138000808885 ], [ -122.427695999652187, 37.603727000906318 ], [ -122.429157000384023, 37.605135000275396 ], [ -122.427886999784363, 37.604388001078533 ], [ -122.42766000023579, 37.604291000642746 ], [ -122.427364999730301, 37.604195001115194 ], [ -122.427001000206758, 37.604086000245836 ], [ -122.427055000424929, 37.60450400063722 ], [ -122.427079999977806, 37.604702001074735 ], [ -122.426477999596713, 37.604946000674254 ], [ -122.425976000189877, 37.605155000617195 ], [ -122.425784000241919, 37.605235000498176 ], [ -122.425083999874559, 37.605935000897048 ], [ -122.423868999439307, 37.606598000541922 ], [ -122.422883999653848, 37.60713500036367 ], [ -122.422683999410879, 37.607035001090118 ], [ -122.42248399971308, 37.606935000579064 ], [ -122.420183999453485, 37.608035000781506 ], [ -122.419983999608675, 37.607635000931339 ], [ -122.41918399997499, 37.607735000531349 ], [ -122.418684000212011, 37.607235000821397 ], [ -122.418384000012608, 37.606635000672689 ], [ -122.417183999676098, 37.605935000367325 ], [ -122.416684000122089, 37.605135000523816 ], [ -122.416082999656354, 37.604435000763146 ], [ -122.415782999608936, 37.603835001040814 ], [ -122.415282999400162, 37.603035000482976 ], [ -122.415140000029226, 37.602721000954212 ], [ -122.414783000071139, 37.601935000601166 ], [ -122.41577299978043, 37.60129900032986 ], [ -122.416184000168315, 37.601035000336395 ], [ -122.416083999719987, 37.600436001076872 ], [ -122.415883999922528, 37.599936000232894 ], [ -122.415383999879765, 37.599336000563277 ], [ -122.414736000359653, 37.599250000907368 ], [ -122.413883000194502, 37.599136000912253 ], [ -122.412882999529657, 37.599636000379512 ], [ -122.410795999442172, 37.599686000273849 ], [ -122.410609000442335, 37.599691000971923 ], [ -122.408782999622417, 37.599735000892167 ], [ -122.408728999522282, 37.599464000569156 ], [ -122.408583000437915, 37.598735000557085 ], [ -122.408783000411447, 37.597636000963021 ], [ -122.408183000437504, 37.597336000714954 ], [ -122.408383000179072, 37.596536001101313 ], [ -122.408982999765414, 37.595736001051243 ], [ -122.409983000315435, 37.596536000348046 ], [ -122.410682999700981, 37.596536000460851 ], [ -122.410783000010412, 37.595936001133815 ], [ -122.410982999714122, 37.595136000421221 ], [ -122.412483999429099, 37.594136000908961 ], [ -122.412984000409793, 37.593536000601375 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 243, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.410283999478025, 37.588336000269521 ], [ -122.410483999739327, 37.588236000496735 ], [ -122.412183999914078, 37.589736000533463 ], [ -122.412483999734533, 37.59003600110676 ], [ -122.413883999688792, 37.591336000399849 ], [ -122.414384000179439, 37.591736000462632 ], [ -122.414150000069682, 37.591870000619842 ], [ -122.413683999828407, 37.592136000371951 ], [ -122.41318399996409, 37.59243600083979 ], [ -122.412383999905401, 37.592836000472502 ], [ -122.412984000409793, 37.593536000601375 ], [ -122.412483999429099, 37.594136000908961 ], [ -122.410982999714122, 37.595136000421221 ], [ -122.410783000010412, 37.595936001133815 ], [ -122.410682999700981, 37.596536000460851 ], [ -122.409983000315435, 37.596536000348046 ], [ -122.408982999765414, 37.595736001051243 ], [ -122.408383000179072, 37.596536001101313 ], [ -122.408183000437504, 37.597336000714954 ], [ -122.408783000411447, 37.597636000963021 ], [ -122.408583000437915, 37.598735000557085 ], [ -122.408728999522282, 37.599464000569156 ], [ -122.408782999622417, 37.599735000892167 ], [ -122.406682999902785, 37.601035000941096 ], [ -122.40608299942987, 37.60073500093516 ], [ -122.405083000292635, 37.600235000467528 ], [ -122.40428299974198, 37.599835000659205 ], [ -122.404882999432118, 37.599335000363403 ], [ -122.402282999737508, 37.598235000720749 ], [ -122.401482999835224, 37.597435001013167 ], [ -122.402483000332978, 37.59713500073093 ], [ -122.399783000411361, 37.59463600092878 ], [ -122.39957100008229, 37.59477700074644 ], [ -122.399085999534009, 37.595100000648394 ], [ -122.398583000342668, 37.595435000980942 ], [ -122.397783000039979, 37.594535000399958 ], [ -122.397483000473386, 37.594136000270012 ], [ -122.397282999960353, 37.593936000326181 ], [ -122.39768300011373, 37.593736000750368 ], [ -122.397982999839613, 37.593236000790903 ], [ -122.398383000152904, 37.592736000525406 ], [ -122.399283000447198, 37.592836000432527 ], [ -122.400482999815708, 37.592936000742533 ], [ -122.400682999461395, 37.592936000653253 ], [ -122.401282999851176, 37.592836001023663 ], [ -122.4018829994355, 37.592436000894423 ], [ -122.402383000265942, 37.592236000753566 ], [ -122.402955999988862, 37.592154000736748 ], [ -122.403083000057762, 37.592136000680441 ], [ -122.403483000015342, 37.591936001125525 ], [ -122.404975999715475, 37.590680000827817 ], [ -122.405346000430285, 37.590206001119583 ], [ -122.405373999837082, 37.589946000936067 ], [ -122.405282999566523, 37.589736000644663 ], [ -122.405160999397012, 37.589371000977238 ], [ -122.405146999633942, 37.589100000999629 ], [ -122.405174999641773, 37.588942001018431 ], [ -122.405283000067342, 37.588836000480363 ], [ -122.405629999780686, 37.588603000523193 ], [ -122.407593000120372, 37.588287000270491 ], [ -122.408061999971395, 37.588344000636496 ], [ -122.408320000474788, 37.588437000245477 ], [ -122.408630999793829, 37.58855800089524 ], [ -122.408943999805871, 37.588649000606232 ], [ -122.40925699998327, 37.588671000956126 ], [ -122.409556000352907, 37.588649000900226 ], [ -122.40998299966742, 37.588536000676939 ], [ -122.410283999478025, 37.588336000269521 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 245, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.406627999805394, 37.584440000568712 ], [ -122.406831999618248, 37.584638000508598 ], [ -122.408783000159531, 37.586536001112094 ], [ -122.409082999669337, 37.586836000483579 ], [ -122.410483999739327, 37.588236000496735 ], [ -122.410283999478025, 37.588336000269521 ], [ -122.40998299966742, 37.588536000676939 ], [ -122.409556000352907, 37.588649000900226 ], [ -122.40925699998327, 37.588671000956126 ], [ -122.408943999805871, 37.588649000606232 ], [ -122.408630999793829, 37.58855800089524 ], [ -122.408320000474788, 37.588437000245477 ], [ -122.408061999971395, 37.588344000636496 ], [ -122.407593000120372, 37.588287000270491 ], [ -122.405629999780686, 37.588603000523193 ], [ -122.405283000067342, 37.588836000480363 ], [ -122.405174999641773, 37.588942001018431 ], [ -122.405146999633942, 37.589100000999629 ], [ -122.405160999397012, 37.589371000977238 ], [ -122.405282999566523, 37.589736000644663 ], [ -122.405373999837082, 37.589946000936067 ], [ -122.405346000430285, 37.590206001119583 ], [ -122.404975999715475, 37.590680000827817 ], [ -122.403483000015342, 37.591936001125525 ], [ -122.403083000057762, 37.592136000680441 ], [ -122.402955999988862, 37.592154000736748 ], [ -122.402383000265942, 37.592236000753566 ], [ -122.4018829994355, 37.592436000894423 ], [ -122.401282999851176, 37.592836001023663 ], [ -122.400682999461395, 37.592936000653253 ], [ -122.400482999815708, 37.592936000742533 ], [ -122.399283000447198, 37.592836000432527 ], [ -122.398383000152904, 37.592736000525406 ], [ -122.397982999839613, 37.593236000790903 ], [ -122.39768300011373, 37.593736000750368 ], [ -122.397282999960353, 37.593936000326181 ], [ -122.396282999548461, 37.594135000469485 ], [ -122.395283000041218, 37.594435000702774 ], [ -122.39438299983361, 37.594735000830617 ], [ -122.39338299985134, 37.595135001064826 ], [ -122.392582999559281, 37.595635000967853 ], [ -122.391783000498833, 37.596035000841312 ], [ -122.39108300041849, 37.596635000900008 ], [ -122.390282999598071, 37.59703500037643 ], [ -122.389382999906331, 37.597635000534993 ], [ -122.388682999590017, 37.596935000885765 ], [ -122.387282999908237, 37.595735000600747 ], [ -122.388482999637645, 37.593735000630474 ], [ -122.390183000132168, 37.592635000421353 ], [ -122.389783000226998, 37.592535000738948 ], [ -122.389082999424375, 37.592235000296924 ], [ -122.388683000252712, 37.591835000517925 ], [ -122.388292999767657, 37.591557000609995 ], [ -122.387983000144686, 37.591335000768979 ], [ -122.388483000230607, 37.590436000485724 ], [ -122.389382999534419, 37.588536001087228 ], [ -122.38958299989865, 37.588036000537279 ], [ -122.390482999614335, 37.588436000882012 ], [ -122.391283000433447, 37.589136000745313 ], [ -122.391982999405414, 37.588436001116762 ], [ -122.393282999852602, 37.587436000919816 ], [ -122.393982999804805, 37.587036000243131 ], [ -122.394828999463684, 37.586261000408591 ], [ -122.395183000199239, 37.585936000506273 ], [ -122.396882999885236, 37.585436000495051 ], [ -122.401583000334895, 37.583536000661844 ], [ -122.402182999999027, 37.583136000818428 ], [ -122.402982999699617, 37.582636000786287 ], [ -122.403987999744956, 37.581975000875872 ], [ -122.404315000354558, 37.582235000344475 ], [ -122.405082999833539, 37.582936000787065 ], [ -122.406266000100132, 37.584087000559244 ], [ -122.406451999934902, 37.584268000555056 ], [ -122.406627999805394, 37.584440000568712 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 246, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.400573000041547, 37.575065000803129 ], [ -122.40148300042722, 37.576536000293942 ], [ -122.402781000218368, 37.579269000696407 ], [ -122.403948000143004, 37.581278000580987 ], [ -122.405082999833539, 37.582936000787065 ], [ -122.404315000354558, 37.582235000344475 ], [ -122.403987999744956, 37.581975000875872 ], [ -122.402982999699617, 37.582636000786287 ], [ -122.402182999999027, 37.583136000818428 ], [ -122.401583000334895, 37.583536000661844 ], [ -122.396882999885236, 37.585436000495051 ], [ -122.395183000199239, 37.585936000506273 ], [ -122.394828999463684, 37.586261000408591 ], [ -122.393982999804805, 37.587036000243131 ], [ -122.393282999852602, 37.587436000919816 ], [ -122.391982999405414, 37.588436001116762 ], [ -122.391283000433447, 37.589136000745313 ], [ -122.390482999614335, 37.588436000882012 ], [ -122.38958299989865, 37.588036000537279 ], [ -122.389382999534419, 37.588536001087228 ], [ -122.388483000230607, 37.590436000485724 ], [ -122.387983000144686, 37.591335000768979 ], [ -122.388292999767657, 37.591557000609995 ], [ -122.388683000252712, 37.591835000517925 ], [ -122.389082999424375, 37.592235000296924 ], [ -122.389783000226998, 37.592535000738948 ], [ -122.390183000132168, 37.592635000421353 ], [ -122.388482999637645, 37.593735000630474 ], [ -122.387282999908237, 37.595735000600747 ], [ -122.385883000421586, 37.596735000791561 ], [ -122.385625000511865, 37.596964000500755 ], [ -122.384982999572998, 37.59753500042379 ], [ -122.384682999497358, 37.597735000321087 ], [ -122.382611999684258, 37.596589000654035 ], [ -122.379082000455256, 37.594635000481766 ], [ -122.379481999699181, 37.594135000877948 ], [ -122.38048199979221, 37.592935001055984 ], [ -122.380881999980886, 37.592635000903741 ], [ -122.380582000003471, 37.592535000656433 ], [ -122.378181999928174, 37.591335000305698 ], [ -122.376305000446919, 37.590055000995214 ], [ -122.375982000161869, 37.589835000247113 ], [ -122.375181999759505, 37.589435000818597 ], [ -122.375981999462397, 37.588535000505694 ], [ -122.376682000503351, 37.589035000984836 ], [ -122.377082000411292, 37.588235000890101 ], [ -122.377982000235875, 37.587735000718986 ], [ -122.378051000116784, 37.587719000499924 ], [ -122.379281999767187, 37.587436000929308 ], [ -122.379581999554105, 37.58663600058523 ], [ -122.380282000162126, 37.585936000980226 ], [ -122.382083000156754, 37.586636000985493 ], [ -122.383182999462676, 37.586036000798657 ], [ -122.382783000164679, 37.585436000520765 ], [ -122.380882000091773, 37.584336001002463 ], [ -122.382483000030675, 37.582136000880347 ], [ -122.383282999901809, 37.581636000427473 ], [ -122.383582999575808, 37.580736000452681 ], [ -122.382882999616598, 37.58023600066899 ], [ -122.382383000137125, 37.580036000986802 ], [ -122.382194999633171, 37.579944000679163 ], [ -122.381359000433292, 37.57929000064906 ], [ -122.381371000373932, 37.579170000416781 ], [ -122.381374999833525, 37.578861001126839 ], [ -122.381366999474835, 37.578842000392363 ], [ -122.381359000430265, 37.578829000792645 ], [ -122.381295000001558, 37.578716000436906 ], [ -122.38126300003114, 37.57865900045315 ], [ -122.381159999507219, 37.578539000381532 ], [ -122.381017000065796, 37.578438000765082 ], [ -122.380865999676431, 37.578363000556521 ], [ -122.380783000320491, 37.578336000873598 ], [ -122.380803999976919, 37.578248000433035 ], [ -122.380876999810368, 37.578196000992747 ], [ -122.38100400050952, 37.578162000547955 ], [ -122.381156999733378, 37.578152001074628 ], [ -122.381491000299192, 37.578169000490874 ], [ -122.381797000188442, 37.578181000404577 ], [ -122.381833000304766, 37.578155000468129 ], [ -122.381863999665924, 37.578111000690342 ], [ -122.38188499948312, 37.578072000560596 ], [ -122.381899999669002, 37.578015000775643 ], [ -122.381910999471927, 37.577959000359968 ], [ -122.38191299999049, 37.577904001081777 ], [ -122.38189299961607, 37.577858000964852 ], [ -122.381883000230999, 37.577836000947258 ], [ -122.38184700004804, 37.577766000853437 ], [ -122.381764999915831, 37.577689000682341 ], [ -122.381695999398659, 37.577617000684555 ], [ -122.381626000120676, 37.577555000301558 ], [ -122.381599000286386, 37.57752800069413 ], [ -122.381586999555239, 37.57750700056971 ], [ -122.381473000378065, 37.577419001135013 ], [ -122.38135099995435, 37.577306000616765 ], [ -122.381253999899556, 37.577209000932591 ], [ -122.381172999846854, 37.577080000902541 ], [ -122.381111999625091, 37.577007000549393 ], [ -122.380995000368529, 37.576894000642405 ], [ -122.380841999800154, 37.576761000311492 ], [ -122.380720000517357, 37.57667600111246 ], [ -122.3806920002109, 37.576649000554028 ], [ -122.380593999751994, 37.576453000756146 ], [ -122.381630999885303, 37.575918000434456 ], [ -122.38199900046051, 37.575336000692459 ], [ -122.382254000041726, 37.574718001034881 ], [ -122.38238299951071, 37.574736000713088 ], [ -122.382882999985313, 37.574936000449426 ], [ -122.383282999738256, 37.575036000904376 ], [ -122.383883000290936, 37.57433600089557 ], [ -122.383782999862689, 37.57403600089728 ], [ -122.383583000383496, 37.573536000897633 ], [ -122.383949000252414, 37.573387000703967 ], [ -122.386282999409332, 37.572436000826471 ], [ -122.386170000283443, 37.572230001028487 ], [ -122.385683000031605, 37.571336000580537 ], [ -122.386382999460565, 37.570736000457089 ], [ -122.387683000333496, 37.570436000244364 ], [ -122.3881830003902, 37.569236000487784 ], [ -122.388214000113209, 37.569246001100517 ], [ -122.388711000142024, 37.569213000556893 ], [ -122.389082999902328, 37.569246000911093 ], [ -122.389487000425177, 37.569320000926666 ], [ -122.389900999435596, 37.569542000345756 ], [ -122.390097999766198, 37.569837000242813 ], [ -122.390264000018362, 37.570002000370458 ], [ -122.390336000006769, 37.570076001111204 ], [ -122.390383000055706, 37.570136001047025 ], [ -122.390397999989659, 37.570150000644851 ], [ -122.390730000073077, 37.570224000456378 ], [ -122.391070999954692, 37.570298000691011 ], [ -122.391371000115669, 37.570446000623953 ], [ -122.391412999760149, 37.570709000910242 ], [ -122.39129900038435, 37.570840001075261 ], [ -122.391215999411088, 37.570980000454185 ], [ -122.391143999719432, 37.571087000671852 ], [ -122.39110199950612, 37.571226000916752 ], [ -122.391060999757613, 37.571267000621667 ], [ -122.391083000099286, 37.571336001012419 ], [ -122.391482999711087, 37.571636000550782 ], [ -122.393583000135507, 37.570236000785322 ], [ -122.393082999977125, 37.569836000388747 ], [ -122.391983000394561, 37.56873600071458 ], [ -122.390382999901874, 37.566836000553472 ], [ -122.390146999640237, 37.566600000674782 ], [ -122.389982999777899, 37.566436000327769 ], [ -122.386382999818395, 37.562537000756798 ], [ -122.385333999507409, 37.561362000852306 ], [ -122.381583000102225, 37.557237000560129 ], [ -122.379383000235435, 37.554937001036492 ], [ -122.378483000079441, 37.553837000662888 ], [ -122.377782999429471, 37.552237000682084 ], [ -122.38788300018156, 37.56293700087614 ], [ -122.392206999947916, 37.565444001027451 ], [ -122.394782999591996, 37.566936000707315 ], [ -122.396282999537831, 37.568136000527666 ], [ -122.400573000041547, 37.575065000803129 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 247, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.381374999833525, 37.578861001126839 ], [ -122.381371000373932, 37.579170000416781 ], [ -122.381359000433292, 37.57929000064906 ], [ -122.382194999633171, 37.579944000679163 ], [ -122.382383000137125, 37.580036000986802 ], [ -122.382882999616598, 37.58023600066899 ], [ -122.383582999575808, 37.580736000452681 ], [ -122.383282999901809, 37.581636000427473 ], [ -122.382483000030675, 37.582136000880347 ], [ -122.380882000091773, 37.584336001002463 ], [ -122.382783000164679, 37.585436000520765 ], [ -122.383182999462676, 37.586036000798657 ], [ -122.382083000156754, 37.586636000985493 ], [ -122.380282000162126, 37.585936000980226 ], [ -122.379581999554105, 37.58663600058523 ], [ -122.379281999767187, 37.587436000929308 ], [ -122.378051000116784, 37.587719000499924 ], [ -122.377982000235875, 37.587735000718986 ], [ -122.377082000411292, 37.588235000890101 ], [ -122.376682000503351, 37.589035000984836 ], [ -122.375981999462397, 37.588535000505694 ], [ -122.375181999759505, 37.589435000818597 ], [ -122.374782000506656, 37.589235000880187 ], [ -122.373681999695179, 37.588535000842732 ], [ -122.372281999424402, 37.587635000794144 ], [ -122.371282000060432, 37.587135000879023 ], [ -122.370081999982233, 37.58633500062426 ], [ -122.370681999980476, 37.585535000417131 ], [ -122.371182000354253, 37.584835000642663 ], [ -122.371582000315911, 37.584036000318129 ], [ -122.371882000277935, 37.583236000415653 ], [ -122.372281999568244, 37.582336000483629 ], [ -122.372482000090955, 37.581436000451141 ], [ -122.37237500020683, 37.581009000289775 ], [ -122.372357999459638, 37.580941001114702 ], [ -122.372498999928681, 37.580932000958342 ], [ -122.372661000485465, 37.580465000604136 ], [ -122.374282000144603, 37.579736000541622 ], [ -122.376582000008824, 37.578836000597605 ], [ -122.378282000333172, 37.577736000815101 ], [ -122.378782000368574, 37.578136001089838 ], [ -122.380341999664154, 37.577562000812605 ], [ -122.381586999555239, 37.57750700056971 ], [ -122.381599000286386, 37.57752800069413 ], [ -122.381626000120676, 37.577555000301558 ], [ -122.381695999398659, 37.577617000684555 ], [ -122.381764999915831, 37.577689000682341 ], [ -122.38184700004804, 37.577766000853437 ], [ -122.381883000230999, 37.577836000947258 ], [ -122.38189299961607, 37.577858000964852 ], [ -122.38191299999049, 37.577904001081777 ], [ -122.381910999471927, 37.577959000359968 ], [ -122.381899999669002, 37.578015000775643 ], [ -122.38188499948312, 37.578072000560596 ], [ -122.381863999665924, 37.578111000690342 ], [ -122.381833000304766, 37.578155000468129 ], [ -122.381797000188442, 37.578181000404577 ], [ -122.381491000299192, 37.578169000490874 ], [ -122.381156999733378, 37.578152001074628 ], [ -122.38100400050952, 37.578162000547955 ], [ -122.380876999810368, 37.578196000992747 ], [ -122.380803999976919, 37.578248000433035 ], [ -122.380783000320491, 37.578336000873598 ], [ -122.380865999676431, 37.578363000556521 ], [ -122.381017000065796, 37.578438000765082 ], [ -122.381159999507219, 37.578539000381532 ], [ -122.38126300003114, 37.57865900045315 ], [ -122.381295000001558, 37.578716000436906 ], [ -122.381359000430265, 37.578829000792645 ], [ -122.381366999474835, 37.578842000392363 ], [ -122.381374999833525, 37.578861001126839 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 250, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.371582000315911, 37.584036000318129 ], [ -122.371182000354253, 37.584835000642663 ], [ -122.370681999980476, 37.585535000417131 ], [ -122.370081999982233, 37.58633500062426 ], [ -122.369181999661095, 37.585835000982755 ], [ -122.368481999428624, 37.585335001118388 ], [ -122.366781999681805, 37.584335000528007 ], [ -122.36468199968391, 37.583035000756666 ], [ -122.363881999718643, 37.584035000735653 ], [ -122.363481999476349, 37.584735000388214 ], [ -122.362982000347216, 37.585435000643507 ], [ -122.362481999701856, 37.586135000457716 ], [ -122.362082000316306, 37.586735000489107 ], [ -122.361881999937694, 37.587235000750709 ], [ -122.359982000418327, 37.586435001038993 ], [ -122.350981000475613, 37.582635000527283 ], [ -122.351181000385552, 37.582635000401041 ], [ -122.351780999994617, 37.582135000828885 ], [ -122.352980999487585, 37.581435000421536 ], [ -122.353481999482611, 37.581035000949612 ], [ -122.35438199956775, 37.580335001002936 ], [ -122.354781999594294, 37.580035000482312 ], [ -122.35558200012639, 37.579535000743611 ], [ -122.356382000229914, 37.578935000852475 ], [ -122.356882000172163, 37.57863600067283 ], [ -122.35638199999444, 37.578436001047933 ], [ -122.35718199953385, 37.578136000280182 ], [ -122.356881999396236, 37.577736000948718 ], [ -122.357481999675286, 37.57733600062339 ], [ -122.358382000124365, 37.577936000368695 ], [ -122.35952900047026, 37.57731800068121 ], [ -122.360616000369774, 37.578602001048893 ], [ -122.360781999554305, 37.578536000808448 ], [ -122.362525000402641, 37.579440000327722 ], [ -122.363482000335537, 37.579936001112493 ], [ -122.364086999805224, 37.580541001034248 ], [ -122.364181999826997, 37.580636000254366 ], [ -122.365182000007835, 37.5801360010921 ], [ -122.365981999589209, 37.579736001000818 ], [ -122.366781999452513, 37.579236000737431 ], [ -122.36718200027704, 37.579036000402603 ], [ -122.367781999757852, 37.578736000926995 ], [ -122.368813999698986, 37.5782840005078 ], [ -122.368947999992173, 37.578390000727808 ], [ -122.369148000439083, 37.578227000533964 ], [ -122.36938499973958, 37.578405000835176 ], [ -122.369495999779232, 37.578338000442216 ], [ -122.36973099948824, 37.578197000435551 ], [ -122.370681999550854, 37.57863600038511 ], [ -122.370381999993981, 37.578936000883402 ], [ -122.370634999707761, 37.579062000955936 ], [ -122.370435000064717, 37.579361000607008 ], [ -122.370402999886636, 37.579408000683571 ], [ -122.370725999966609, 37.579603001055006 ], [ -122.372088000242869, 37.580427000870273 ], [ -122.372281999454032, 37.580636000742231 ], [ -122.372357999459638, 37.580941001114702 ], [ -122.37237500020683, 37.581009000289775 ], [ -122.372482000090955, 37.581436000451141 ], [ -122.372281999568244, 37.582336000483629 ], [ -122.371882000277935, 37.583236000415653 ], [ -122.371582000315911, 37.584036000318129 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 251, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.354881999477669, 37.572136001097839 ], [ -122.353681999468591, 37.572836000925697 ], [ -122.354481999685234, 37.574536000860164 ], [ -122.354208000123322, 37.574639000930844 ], [ -122.353681999850039, 37.574836000737768 ], [ -122.353182000085269, 37.576936000457607 ], [ -122.353382000415422, 37.577136000292228 ], [ -122.356082000234068, 37.578136000684886 ], [ -122.35638199999444, 37.578436001047933 ], [ -122.356882000172163, 37.57863600067283 ], [ -122.356382000229914, 37.578935000852475 ], [ -122.35558200012639, 37.579535000743611 ], [ -122.354781999594294, 37.580035000482312 ], [ -122.35438199956775, 37.580335001002936 ], [ -122.353481999482611, 37.581035000949612 ], [ -122.352980999487585, 37.581435000421536 ], [ -122.351780999994617, 37.582135000828885 ], [ -122.351181000385552, 37.582635000401041 ], [ -122.350981000475613, 37.582635000527283 ], [ -122.345827999612979, 37.580204000549713 ], [ -122.345017999770249, 37.57981100097701 ], [ -122.343381000431748, 37.5791350009222 ], [ -122.341281000126486, 37.578235000334878 ], [ -122.33938099981107, 37.577335000285892 ], [ -122.339981000458209, 37.576935000917615 ], [ -122.340481000472593, 37.576435000402334 ], [ -122.34158100000505, 37.575835000935534 ], [ -122.34248099959305, 37.57523500032201 ], [ -122.343281000013349, 37.574635000693448 ], [ -122.342981000096927, 37.574335000448997 ], [ -122.342580999441751, 37.57403500049211 ], [ -122.343880999443456, 37.573536000942198 ], [ -122.345781000040901, 37.572736000452089 ], [ -122.347081000025128, 37.572236000945189 ], [ -122.347581000455506, 37.571936000558154 ], [ -122.348681000079921, 37.571436000835803 ], [ -122.349080999479483, 37.571336000453201 ], [ -122.350180999521854, 37.570836001053102 ], [ -122.350581000280627, 37.570636000810104 ], [ -122.35118100014958, 37.570436000743904 ], [ -122.35268200021423, 37.56983600056283 ], [ -122.353282000182588, 37.570536000436881 ], [ -122.354881999477669, 37.572136001097839 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 244, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.397383000069993, 37.605535001106375 ], [ -122.396231000510284, 37.604553000349718 ], [ -122.394815000039259, 37.60334500066763 ], [ -122.393983000427482, 37.602635000810729 ], [ -122.394583000489959, 37.60223500101803 ], [ -122.393682999456615, 37.601535001075391 ], [ -122.393183000107797, 37.601135000656996 ], [ -122.392183000421227, 37.600335000646879 ], [ -122.391382999653899, 37.599535000651677 ], [ -122.390183000442008, 37.598335000778818 ], [ -122.389382999906331, 37.597635000534993 ], [ -122.390282999598071, 37.59703500037643 ], [ -122.39108300041849, 37.596635000900008 ], [ -122.391783000498833, 37.596035000841312 ], [ -122.392582999559281, 37.595635000967853 ], [ -122.39338299985134, 37.595135001064826 ], [ -122.39438299983361, 37.594735000830617 ], [ -122.395283000041218, 37.594435000702774 ], [ -122.396282999548461, 37.594135000469485 ], [ -122.397282999960353, 37.593936000326181 ], [ -122.397483000473386, 37.594136000270012 ], [ -122.397783000039979, 37.594535000399958 ], [ -122.398583000342668, 37.595435000980942 ], [ -122.399085999534009, 37.595100000648394 ], [ -122.39957100008229, 37.59477700074644 ], [ -122.399783000411361, 37.59463600092878 ], [ -122.402483000332978, 37.59713500073093 ], [ -122.401482999835224, 37.597435001013167 ], [ -122.402282999737508, 37.598235000720749 ], [ -122.404882999432118, 37.599335000363403 ], [ -122.40428299974198, 37.599835000659205 ], [ -122.405083000292635, 37.600235000467528 ], [ -122.40608299942987, 37.60073500093516 ], [ -122.406682999902785, 37.601035000941096 ], [ -122.405882999503064, 37.601635000381982 ], [ -122.405282999912458, 37.602035001118004 ], [ -122.404483000498217, 37.60243500102554 ], [ -122.403020000382, 37.603240000296807 ], [ -122.402482999565422, 37.6035350010089 ], [ -122.402071999944013, 37.603777000870664 ], [ -122.399974999505261, 37.605010000462023 ], [ -122.399082999792583, 37.605535000524284 ], [ -122.398182999609361, 37.604935000577044 ], [ -122.397383000069993, 37.605535001106375 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 248, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.358981999572933, 37.592535001054316 ], [ -122.359881999924724, 37.591935000359804 ], [ -122.360796000153826, 37.591022000390744 ], [ -122.361560000153432, 37.590196001049144 ], [ -122.361981999493068, 37.589735000381381 ], [ -122.362170999506972, 37.58959500025361 ], [ -122.362615000073745, 37.589205001013241 ], [ -122.362881999781706, 37.588935000810622 ], [ -122.363481999529128, 37.588235000899758 ], [ -122.363682000098578, 37.588035000507396 ], [ -122.361881999937694, 37.587235000750709 ], [ -122.362082000316306, 37.586735000489107 ], [ -122.362481999701856, 37.586135000457716 ], [ -122.362982000347216, 37.585435000643507 ], [ -122.363481999476349, 37.584735000388214 ], [ -122.363881999718643, 37.584035000735653 ], [ -122.36468199968391, 37.583035000756666 ], [ -122.366781999681805, 37.584335000528007 ], [ -122.368481999428624, 37.585335001118388 ], [ -122.369181999661095, 37.585835000982755 ], [ -122.370081999982233, 37.58633500062426 ], [ -122.371282000060432, 37.587135000879023 ], [ -122.372281999424402, 37.587635000794144 ], [ -122.373681999695179, 37.588535000842732 ], [ -122.374782000506656, 37.589235000880187 ], [ -122.375181999759505, 37.589435000818597 ], [ -122.375982000161869, 37.589835000247113 ], [ -122.376305000446919, 37.590055000995214 ], [ -122.378181999928174, 37.591335000305698 ], [ -122.380582000003471, 37.592535000656433 ], [ -122.380881999980886, 37.592635000903741 ], [ -122.38048199979221, 37.592935001055984 ], [ -122.379481999699181, 37.594135000877948 ], [ -122.379082000455256, 37.594635000481766 ], [ -122.382611999684258, 37.596589000654035 ], [ -122.384682999497358, 37.597735000321087 ], [ -122.382381999845322, 37.599135000608946 ], [ -122.379481999979021, 37.601035000855354 ], [ -122.378782000259932, 37.601435000355508 ], [ -122.375182000313018, 37.60383500097609 ], [ -122.374881999970668, 37.604135000518085 ], [ -122.371881999616818, 37.602835000978338 ], [ -122.369781999558541, 37.601435000251641 ], [ -122.367981999621904, 37.600035000729655 ], [ -122.365582000053209, 37.597435000983829 ], [ -122.364482000324045, 37.597935000897557 ], [ -122.364075999783964, 37.596919000462229 ], [ -122.363881999776041, 37.596435000325542 ], [ -122.364882000048325, 37.596135000941999 ], [ -122.360482000032817, 37.592535000877952 ], [ -122.359182000005617, 37.59253500099269 ], [ -122.358981999572933, 37.592535001054316 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 249, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.337780999915935, 37.592635000551951 ], [ -122.336180999738261, 37.592535000936152 ], [ -122.334593999954123, 37.592673000445053 ], [ -122.334608000300804, 37.587614000921555 ], [ -122.333977000433578, 37.587752000720045 ], [ -122.333980999989706, 37.587535001043157 ], [ -122.334609000268372, 37.587378000329124 ], [ -122.335180999878176, 37.587235000400042 ], [ -122.335280999787145, 37.586835001032576 ], [ -122.335080999586538, 37.586435001048031 ], [ -122.334887999803001, 37.586242000829529 ], [ -122.334626999507648, 37.585981000426621 ], [ -122.334181000178717, 37.585535001089184 ], [ -122.334780999513811, 37.585035000381673 ], [ -122.333381000436248, 37.583635000806389 ], [ -122.332080999951074, 37.582435000312103 ], [ -122.332780999455395, 37.581835000340469 ], [ -122.333581000256615, 37.581435000796944 ], [ -122.334280999558672, 37.580935000663658 ], [ -122.335081000290458, 37.580335000899609 ], [ -122.335981000000928, 37.579735000242913 ], [ -122.336980999674608, 37.579035000957418 ], [ -122.337980999839857, 37.578335000257454 ], [ -122.338981000473098, 37.577635000847131 ], [ -122.33938099981107, 37.577335000285892 ], [ -122.341281000126486, 37.578235000334878 ], [ -122.343381000431748, 37.5791350009222 ], [ -122.345017999770249, 37.57981100097701 ], [ -122.345827999612979, 37.580204000549713 ], [ -122.350981000475613, 37.582635000527283 ], [ -122.359982000418327, 37.586435001038993 ], [ -122.361881999937694, 37.587235000750709 ], [ -122.363682000098578, 37.588035000507396 ], [ -122.363481999529128, 37.588235000899758 ], [ -122.362881999781706, 37.588935000810622 ], [ -122.362615000073745, 37.589205001013241 ], [ -122.362170999506972, 37.58959500025361 ], [ -122.361981999493068, 37.589735000381381 ], [ -122.361560000153432, 37.590196001049144 ], [ -122.360796000153826, 37.591022000390744 ], [ -122.359881999924724, 37.591935000359804 ], [ -122.358981999572933, 37.592535001054316 ], [ -122.356981999893279, 37.592535001080684 ], [ -122.350438999973875, 37.592584000798155 ], [ -122.343680999726672, 37.592635000832892 ], [ -122.343681000093866, 37.592535001074886 ], [ -122.343581000435307, 37.591635000470276 ], [ -122.345611000516442, 37.591742000385715 ], [ -122.347381000026161, 37.591835000364199 ], [ -122.348280999668447, 37.591335000764694 ], [ -122.348281000182709, 37.590235001011891 ], [ -122.347881000485671, 37.589935000484196 ], [ -122.347181000185515, 37.590135000878838 ], [ -122.346880999656449, 37.589135000506396 ], [ -122.34648100020587, 37.589035000303177 ], [ -122.345981000045555, 37.589335001024082 ], [ -122.345681000024598, 37.589935001104635 ], [ -122.34468100018313, 37.590235000362931 ], [ -122.343481000429065, 37.589635000959397 ], [ -122.34208099947746, 37.589735000918694 ], [ -122.341381000480155, 37.590135000705104 ], [ -122.339881000082471, 37.590235000526938 ], [ -122.339627999714793, 37.590583000417894 ], [ -122.339080999974584, 37.591335000635503 ], [ -122.339380999724639, 37.591535000472284 ], [ -122.340080999803888, 37.59133500055173 ], [ -122.340817999812344, 37.591831000318571 ], [ -122.340781000296289, 37.592535000277543 ], [ -122.340780999642647, 37.592617000317325 ], [ -122.3407809997193, 37.592735000664085 ], [ -122.338781000209949, 37.592535001003419 ], [ -122.338180999546864, 37.592535001007626 ], [ -122.338281000301492, 37.59003500091675 ], [ -122.338380999881792, 37.588135000336827 ], [ -122.351880999604091, 37.588535000651049 ], [ -122.351881000394727, 37.590135001065555 ], [ -122.354281000268827, 37.590135000363453 ], [ -122.355682000265588, 37.588935000401271 ], [ -122.355769999992305, 37.58894000095939 ], [ -122.357481999946046, 37.589035000562852 ], [ -122.357481999795468, 37.588735000884128 ], [ -122.357481999635084, 37.588435000288911 ], [ -122.355918999861174, 37.588330000533958 ], [ -122.338181000516045, 37.587135000402768 ], [ -122.338110000467552, 37.587382000569711 ], [ -122.337809999482701, 37.588435001015753 ], [ -122.337780999577902, 37.588535000353616 ], [ -122.337781000347263, 37.589935000961596 ], [ -122.337780999915935, 37.592635000551951 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 253, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.342580999441751, 37.57403500049211 ], [ -122.341880999601898, 37.573635000773436 ], [ -122.341181000381525, 37.573135000442221 ], [ -122.340781000195136, 37.572735000613072 ], [ -122.339981000516644, 37.572135000637466 ], [ -122.339380999780147, 37.571636000232608 ], [ -122.338080999851172, 37.570936000349029 ], [ -122.33728100020484, 37.570336000980795 ], [ -122.336081000192863, 37.569736000620701 ], [ -122.335380999709656, 37.569436000316891 ], [ -122.334881000184382, 37.569136000694975 ], [ -122.335580999980237, 37.568236000762781 ], [ -122.335838000429945, 37.568078000671555 ], [ -122.336880999823137, 37.56743600097974 ], [ -122.337481000134431, 37.567136000932862 ], [ -122.337680999416477, 37.567636000839059 ], [ -122.341871999728781, 37.56576200093906 ], [ -122.346181000006553, 37.563836000335996 ], [ -122.352082000344197, 37.561536000370829 ], [ -122.352682000208759, 37.561136000424845 ], [ -122.353681999897915, 37.560936000945986 ], [ -122.354881999442327, 37.562836000569405 ], [ -122.35538199950534, 37.563636000409481 ], [ -122.355782000008944, 37.564336001052162 ], [ -122.352982000313744, 37.565336000839501 ], [ -122.350780999984835, 37.5663360007253 ], [ -122.35188100035613, 37.568136000877246 ], [ -122.353082000062258, 37.569536000579461 ], [ -122.35268200021423, 37.56983600056283 ], [ -122.35118100014958, 37.570436000743904 ], [ -122.350581000280627, 37.570636000810104 ], [ -122.350180999521854, 37.570836001053102 ], [ -122.349080999479483, 37.571336000453201 ], [ -122.348681000079921, 37.571436000835803 ], [ -122.347581000455506, 37.571936000558154 ], [ -122.347081000025128, 37.572236000945189 ], [ -122.345781000040901, 37.572736000452089 ], [ -122.343880999443456, 37.573536000942198 ], [ -122.342580999441751, 37.57403500049211 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 258, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.334881000184382, 37.569136000694975 ], [ -122.335380999709656, 37.569436000316891 ], [ -122.336081000192863, 37.569736000620701 ], [ -122.33728100020484, 37.570336000980795 ], [ -122.338080999851172, 37.570936000349029 ], [ -122.339380999780147, 37.571636000232608 ], [ -122.339981000516644, 37.572135000637466 ], [ -122.340781000195136, 37.572735000613072 ], [ -122.341181000381525, 37.573135000442221 ], [ -122.341880999601898, 37.573635000773436 ], [ -122.342580999441751, 37.57403500049211 ], [ -122.342981000096927, 37.574335000448997 ], [ -122.343281000013349, 37.574635000693448 ], [ -122.34248099959305, 37.57523500032201 ], [ -122.34158100000505, 37.575835000935534 ], [ -122.340481000472593, 37.576435000402334 ], [ -122.339981000458209, 37.576935000917615 ], [ -122.33938099981107, 37.577335000285892 ], [ -122.335181000497869, 37.575635000873 ], [ -122.334081000509585, 37.575135000986286 ], [ -122.332780999422255, 37.574535000781623 ], [ -122.331180999659466, 37.573735000389348 ], [ -122.329181000116677, 37.572335000679701 ], [ -122.327720000525318, 37.570950000390127 ], [ -122.326280000059867, 37.569735000713784 ], [ -122.32668100043378, 37.569435000770483 ], [ -122.326981000485887, 37.569235000597025 ], [ -122.32748099966544, 37.568835000634024 ], [ -122.328780999861394, 37.568035000390047 ], [ -122.329980999842505, 37.567236000854933 ], [ -122.330680999689008, 37.566736000627309 ], [ -122.332380999868576, 37.567836000790393 ], [ -122.333380999474841, 37.568436001056355 ], [ -122.334180999946227, 37.568836000497647 ], [ -122.334881000184382, 37.569136000694975 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 260, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.322979999396097, 37.567935000973598 ], [ -122.323580000180939, 37.567635000644657 ], [ -122.323880000043786, 37.567435001084739 ], [ -122.324579999541555, 37.568035000249139 ], [ -122.325680000493136, 37.569135000665163 ], [ -122.326280000059867, 37.569735000713784 ], [ -122.327720000525318, 37.570950000390127 ], [ -122.329181000116677, 37.572335000679701 ], [ -122.331180999659466, 37.573735000389348 ], [ -122.330580999773659, 37.574535001116573 ], [ -122.329880999539441, 37.575535000595245 ], [ -122.329280999461218, 37.576135000751556 ], [ -122.326780999648278, 37.57863500071484 ], [ -122.325879999789393, 37.579335000979661 ], [ -122.325380000286046, 37.579735000353089 ], [ -122.325279999510556, 37.580835000610072 ], [ -122.324779999576393, 37.580235000493516 ], [ -122.324180000477071, 37.579635000800891 ], [ -122.321780000362168, 37.577435000833475 ], [ -122.320380000189516, 37.576135000824152 ], [ -122.318879999427011, 37.574735000317524 ], [ -122.317616000296823, 37.57357200105973 ], [ -122.316179999752762, 37.572135000727265 ], [ -122.315779999922583, 37.571835000444842 ], [ -122.314386000361282, 37.570511000737802 ], [ -122.313879999759962, 37.56993500026654 ], [ -122.313320999742984, 37.569392001026422 ], [ -122.313680000346352, 37.569035000522362 ], [ -122.314579999602245, 37.568735000739402 ], [ -122.315480000261076, 37.568135000313063 ], [ -122.316279999471107, 37.567335000479034 ], [ -122.317380000177195, 37.566735000544789 ], [ -122.3182800004397, 37.5660350008419 ], [ -122.31918000016509, 37.56553500060491 ], [ -122.319780000474324, 37.566135000386005 ], [ -122.320580000082373, 37.566835000951201 ], [ -122.321479999764733, 37.567635000383625 ], [ -122.322280000426304, 37.568435000254624 ], [ -122.322979999396097, 37.567935000973598 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 256, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.330680999689008, 37.566736000627309 ], [ -122.329380999745908, 37.565636000916371 ], [ -122.328824999544395, 37.565239000453921 ], [ -122.328681000086618, 37.565136000315086 ], [ -122.328080999638559, 37.564036000494895 ], [ -122.327581000416302, 37.563536000263795 ], [ -122.327380999864943, 37.563336000831022 ], [ -122.326980999697057, 37.562936000946891 ], [ -122.326581000420788, 37.562736000948398 ], [ -122.325679999761036, 37.561936000702616 ], [ -122.325179999462989, 37.561336000869687 ], [ -122.323280000255352, 37.562636000449267 ], [ -122.322679999514079, 37.563036000707072 ], [ -122.321980000354685, 37.562436000839121 ], [ -122.321180000025052, 37.561736000365123 ], [ -122.32057999939633, 37.5611360010436 ], [ -122.319980000422674, 37.560536000462989 ], [ -122.318979999679129, 37.56123600064064 ], [ -122.318780000330406, 37.561436000817579 ], [ -122.318280000398602, 37.56183600048135 ], [ -122.31797999942539, 37.561936000304463 ], [ -122.316679999891832, 37.560536001069387 ], [ -122.315844999417095, 37.559931000296601 ], [ -122.31618000016914, 37.559736000835201 ], [ -122.316580000439188, 37.559436000917167 ], [ -122.317480000044057, 37.558836000910517 ], [ -122.318780000140208, 37.558036001038836 ], [ -122.320379999667495, 37.556936000661018 ], [ -122.321479999761337, 37.557936000571537 ], [ -122.32158000049651, 37.557436000842202 ], [ -122.323679999554358, 37.555536000446168 ], [ -122.325579999875345, 37.554036000536342 ], [ -122.325980000413651, 37.554736001050031 ], [ -122.326280000498713, 37.555536000410967 ], [ -122.326581000160473, 37.555836000515683 ], [ -122.327081000378755, 37.556136000330774 ], [ -122.329380999659108, 37.55813600036408 ], [ -122.329380999642964, 37.558636000753964 ], [ -122.329780999852872, 37.559936000339327 ], [ -122.331280999789655, 37.560436000379731 ], [ -122.330358999875088, 37.561693000259289 ], [ -122.330181000022421, 37.561936000704769 ], [ -122.330880999913717, 37.56293600078304 ], [ -122.331824999460281, 37.564078000552705 ], [ -122.332680999906884, 37.565036000311444 ], [ -122.333829999597313, 37.565731000328221 ], [ -122.335981000092673, 37.566636001128735 ], [ -122.336880999823137, 37.56743600097974 ], [ -122.335838000429945, 37.568078000671555 ], [ -122.335580999980237, 37.568236000762781 ], [ -122.334881000184382, 37.569136000694975 ], [ -122.334180999946227, 37.568836000497647 ], [ -122.333380999474841, 37.568436001056355 ], [ -122.332380999868576, 37.567836000790393 ], [ -122.330680999689008, 37.566736000627309 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 280, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.312679999908482, 37.549836001052398 ], [ -122.31337999994301, 37.549336000820674 ], [ -122.314179999801695, 37.549036001049707 ], [ -122.314680000223177, 37.548936000633496 ], [ -122.315950999540007, 37.548627000554589 ], [ -122.318735000292094, 37.547949000410803 ], [ -122.319249999405372, 37.547824000761594 ], [ -122.322080000110532, 37.547136000525441 ], [ -122.323655999763218, 37.546887001011392 ], [ -122.323979999774039, 37.5468360007809 ], [ -122.324096000004943, 37.546940000250125 ], [ -122.324980000142688, 37.547736000281617 ], [ -122.325379999972498, 37.548236000792535 ], [ -122.325680000084034, 37.548436000919708 ], [ -122.326180000415647, 37.548936001007291 ], [ -122.326680999800729, 37.549336000659224 ], [ -122.326981000353641, 37.54973600096568 ], [ -122.326280000094854, 37.550236000739396 ], [ -122.325580000213094, 37.550636000717226 ], [ -122.324880000122477, 37.551236000803513 ], [ -122.324179999652699, 37.551736000797504 ], [ -122.323480000508354, 37.5521360007453 ], [ -122.323680000478305, 37.552436001016915 ], [ -122.323079999597255, 37.552836000720717 ], [ -122.322380000086099, 37.553236000314996 ], [ -122.321680000315894, 37.553736000502923 ], [ -122.318980000129045, 37.555636001055923 ], [ -122.319679999503691, 37.556336000359053 ], [ -122.320379999667495, 37.556936000661018 ], [ -122.318780000140208, 37.558036001038836 ], [ -122.317480000044057, 37.558836000910517 ], [ -122.316580000439188, 37.559436000917167 ], [ -122.31618000016914, 37.559736000835201 ], [ -122.315844999417095, 37.559931000296601 ], [ -122.311680000103507, 37.55573600087903 ], [ -122.311479999720163, 37.555636000848651 ], [ -122.309779999760977, 37.551636001038936 ], [ -122.310079999483278, 37.551536001020935 ], [ -122.310779999559841, 37.551136000539955 ], [ -122.311279999822318, 37.55073600025365 ], [ -122.311979999540185, 37.550136000956023 ], [ -122.312679999908482, 37.549836001052398 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 187, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.476781999497916, 37.734331000335999 ], [ -122.475881999984395, 37.734331000394654 ], [ -122.474681999890791, 37.734631000236575 ], [ -122.474681999562023, 37.73233100039635 ], [ -122.474582000076225, 37.730931000579751 ], [ -122.475682000193771, 37.730931000542334 ], [ -122.476481999485713, 37.730931000373211 ], [ -122.476981999948308, 37.730831000931381 ], [ -122.477883000372344, 37.730931000238769 ], [ -122.478782999650917, 37.730931001000762 ], [ -122.479583000511198, 37.731031000381577 ], [ -122.480482999929436, 37.731031000786217 ], [ -122.481582999902585, 37.730931000797469 ], [ -122.482282999445857, 37.730931000942341 ], [ -122.483282999963961, 37.730931000896341 ], [ -122.484082999925988, 37.730831000639036 ], [ -122.484882999548319, 37.730831000234133 ], [ -122.485883000498347, 37.730631000884642 ], [ -122.486183000002583, 37.729631000265393 ], [ -122.486082999493675, 37.729431000772607 ], [ -122.489083000072242, 37.730131000286406 ], [ -122.490183000238673, 37.729431000638172 ], [ -122.49078300002688, 37.729031001123751 ], [ -122.491283000095976, 37.728731000494683 ], [ -122.493283000323473, 37.729231001009893 ], [ -122.494082999479033, 37.729131000357427 ], [ -122.495483000202782, 37.728931000348034 ], [ -122.496021000280805, 37.728885000650855 ], [ -122.496082999743336, 37.729031000573229 ], [ -122.496782999817171, 37.729731000764374 ], [ -122.497483000022356, 37.731131000792985 ], [ -122.497787000338477, 37.731178000581025 ], [ -122.498015999859547, 37.731239000440276 ], [ -122.49821399946272, 37.731231000554459 ], [ -122.498457999857123, 37.731132000248856 ], [ -122.498682999913925, 37.731031000619005 ], [ -122.498482999713488, 37.731331000547058 ], [ -122.498082999878108, 37.731831000312475 ], [ -122.497913000378333, 37.731984000499743 ], [ -122.496083000503063, 37.733631000427884 ], [ -122.494882999489448, 37.73373100099213 ], [ -122.494082999630834, 37.733631000803378 ], [ -122.493383000444496, 37.73363100035823 ], [ -122.492793999523158, 37.733731000980647 ], [ -122.49234900043939, 37.73383100058512 ], [ -122.491982999732031, 37.733831001131506 ], [ -122.491683000127935, 37.733931001111351 ], [ -122.491082999917779, 37.733931000860032 ], [ -122.490682999782777, 37.733931001098796 ], [ -122.488683000386757, 37.734031000709265 ], [ -122.488282999751789, 37.734031000911621 ], [ -122.48778299953824, 37.734031000610187 ], [ -122.48688299974134, 37.734131000690141 ], [ -122.485983000017711, 37.734131000368251 ], [ -122.485583000023411, 37.734131000422387 ], [ -122.485083000323925, 37.734131000385091 ], [ -122.484683000340098, 37.734131000990338 ], [ -122.484283000372059, 37.734131000238214 ], [ -122.48413399969057, 37.734156000780764 ], [ -122.483668000171534, 37.734155000653338 ], [ -122.483378000475497, 37.734155000901694 ], [ -122.48328200005831, 37.734131000652461 ], [ -122.482782000447486, 37.734231000587165 ], [ -122.482477000451908, 37.734232000865688 ], [ -122.482151999822833, 37.73426500043805 ], [ -122.481981999488809, 37.734231001039205 ], [ -122.481908999859343, 37.734231001089292 ], [ -122.4815749997246, 37.734310000817445 ], [ -122.481442999672069, 37.734266000853964 ], [ -122.481181999857085, 37.734331000383719 ], [ -122.480682000033468, 37.734331000600683 ], [ -122.479982000298207, 37.734331000766282 ], [ -122.479081999533022, 37.734331000917578 ], [ -122.477582000223322, 37.734331000929295 ], [ -122.476781999497916, 37.734331000335999 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 188, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.484082999925988, 37.730831000639036 ], [ -122.483282999963961, 37.730931000896341 ], [ -122.482282999445857, 37.730931000942341 ], [ -122.481582999902585, 37.730931000797469 ], [ -122.480482999929436, 37.731031000786217 ], [ -122.479583000511198, 37.731031000381577 ], [ -122.478782999650917, 37.730931001000762 ], [ -122.477883000372344, 37.730931000238769 ], [ -122.476981999948308, 37.730831000931381 ], [ -122.476481999485713, 37.730931000373211 ], [ -122.475682000193771, 37.730931000542334 ], [ -122.474582000076225, 37.730931000579751 ], [ -122.474482000153813, 37.730131000405287 ], [ -122.47455199982636, 37.729089000365654 ], [ -122.474583000101163, 37.728631001068344 ], [ -122.474683000228225, 37.726731000772979 ], [ -122.474682999864115, 37.725231001016972 ], [ -122.474782999555259, 37.724731000722144 ], [ -122.47478299944396, 37.72273100058257 ], [ -122.474982999418643, 37.720831001015405 ], [ -122.475682999455557, 37.720631000380017 ], [ -122.476783000328027, 37.720531000405245 ], [ -122.478683000149744, 37.720631000909535 ], [ -122.478582999561013, 37.719931000969929 ], [ -122.479483000048219, 37.719431000254374 ], [ -122.480683000268883, 37.720431001129121 ], [ -122.48178300014915, 37.721531000877221 ], [ -122.484483000277223, 37.724031000792586 ], [ -122.484289999829528, 37.724466000445219 ], [ -122.484082999522514, 37.724931000300714 ], [ -122.483201999587251, 37.725973000442082 ], [ -122.482982999431016, 37.726231001015414 ], [ -122.483883000460523, 37.72793100044715 ], [ -122.486082999493675, 37.729431000772607 ], [ -122.486183000002583, 37.729631000265393 ], [ -122.485883000498347, 37.730631000884642 ], [ -122.484882999548319, 37.730831000234133 ], [ -122.484082999925988, 37.730831000639036 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 189, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.484782999422222, 37.718432000642586 ], [ -122.484783000033815, 37.719631000251148 ], [ -122.484483000277223, 37.724031000792586 ], [ -122.48178300014915, 37.721531000877221 ], [ -122.480683000268883, 37.720431001129121 ], [ -122.479483000048219, 37.719431000254374 ], [ -122.478582999561013, 37.719931000969929 ], [ -122.478683000149744, 37.720631000909535 ], [ -122.476783000328027, 37.720531000405245 ], [ -122.475682999455557, 37.720631000380017 ], [ -122.474982999418643, 37.720831001015405 ], [ -122.47488300022637, 37.720331000817545 ], [ -122.474664000161326, 37.719675001013144 ], [ -122.474583000487769, 37.71943100061003 ], [ -122.474247000505699, 37.719031000539381 ], [ -122.472482999963447, 37.716931000865216 ], [ -122.472082999573971, 37.716632000716096 ], [ -122.471325000241734, 37.714059000752023 ], [ -122.471082999872777, 37.713032001089701 ], [ -122.470983000458233, 37.712532000641808 ], [ -122.472183000508934, 37.712632000816441 ], [ -122.472583000402778, 37.712632000818935 ], [ -122.475383000449881, 37.71433200032223 ], [ -122.484882999629946, 37.714432000854472 ], [ -122.484883000052832, 37.715232000274703 ], [ -122.484782999967251, 37.71803200026546 ], [ -122.484782999422222, 37.718432000642586 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 181, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.511783000448347, 37.763730000961161 ], [ -122.510182999786721, 37.763930000509745 ], [ -122.509683000009872, 37.763930000609243 ], [ -122.509582999811343, 37.762030000817575 ], [ -122.509283000440092, 37.760130000565439 ], [ -122.508983000241486, 37.758130000366215 ], [ -122.507682999821753, 37.758230000610681 ], [ -122.506583000521672, 37.758330001113876 ], [ -122.505583000451495, 37.758330000398118 ], [ -122.504483000334147, 37.758430001111051 ], [ -122.503382999428851, 37.758430001067786 ], [ -122.502481999868209, 37.758530000380674 ], [ -122.502382000029584, 37.756630000498575 ], [ -122.502282000215317, 37.754730000838123 ], [ -122.502082000079668, 37.752930000366618 ], [ -122.502082000311447, 37.75103000088933 ], [ -122.501881999810493, 37.749130000256507 ], [ -122.502881999644828, 37.749130000478111 ], [ -122.503982000228376, 37.749030000649363 ], [ -122.505083000513167, 37.749030000705879 ], [ -122.506182999670017, 37.749030000703506 ], [ -122.507182999729693, 37.748930000817872 ], [ -122.507883000365368, 37.748930000841042 ], [ -122.508382999975481, 37.748830000313028 ], [ -122.508879000115215, 37.748830000495154 ], [ -122.509382999426805, 37.748830000341172 ], [ -122.510382999443607, 37.75113000025339 ], [ -122.511183000449478, 37.759730000353009 ], [ -122.511783000448347, 37.763730000961161 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 183, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.501682000069565, 37.745431000302368 ], [ -122.501781999571094, 37.747330001105951 ], [ -122.501881999810493, 37.749130000256507 ], [ -122.500781999546533, 37.749230000301232 ], [ -122.499781999580875, 37.74923000028307 ], [ -122.499882000016441, 37.751130000924022 ], [ -122.498882000497616, 37.751230000904016 ], [ -122.497781999732624, 37.751230000261032 ], [ -122.496682000460567, 37.751330000658477 ], [ -122.495581999436581, 37.751330001107583 ], [ -122.495281999997545, 37.751330000271153 ], [ -122.494782000510682, 37.749530000634707 ], [ -122.494682000509172, 37.747630000944639 ], [ -122.494581999393489, 37.745730000570454 ], [ -122.494381999862711, 37.743931000693578 ], [ -122.494381999889768, 37.742131000428181 ], [ -122.494282000208031, 37.740131001027869 ], [ -122.493782999520207, 37.738531000607864 ], [ -122.493682999758349, 37.738331000560933 ], [ -122.493582999908796, 37.736431000979749 ], [ -122.493482999907144, 37.734931001023504 ], [ -122.493383000444496, 37.73363100035823 ], [ -122.494082999630834, 37.733631000803378 ], [ -122.494882999489448, 37.73373100099213 ], [ -122.496083000503063, 37.733631000427884 ], [ -122.498682999847972, 37.734231000332258 ], [ -122.499683000295931, 37.734631000506283 ], [ -122.50058300018155, 37.734931000425718 ], [ -122.50058299950625, 37.736131000604814 ], [ -122.500682999795089, 37.738031000268258 ], [ -122.500882999818373, 37.738531000957671 ], [ -122.501282999522942, 37.739831000606266 ], [ -122.501383000022003, 37.741831001021986 ], [ -122.501481999490011, 37.743631000604537 ], [ -122.501682000069565, 37.745431000302368 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 66, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.464281999438342, 37.782929000547803 ], [ -122.464481999530889, 37.784829001116428 ], [ -122.464582000468326, 37.786629000890592 ], [ -122.464782000036578, 37.788529000716871 ], [ -122.463582000341447, 37.788829000968157 ], [ -122.459382000025741, 37.789829000929117 ], [ -122.459481999606155, 37.789329000716108 ], [ -122.459393999915207, 37.788446000396362 ], [ -122.459382000512434, 37.788329000955443 ], [ -122.459182000361608, 37.787529001095244 ], [ -122.459181999492912, 37.786929000918683 ], [ -122.459181999604255, 37.78662900081013 ], [ -122.459082000022818, 37.785729001016215 ], [ -122.459119999568259, 37.784987001111091 ], [ -122.458981999462011, 37.783929000319809 ], [ -122.458981999717807, 37.783229000896306 ], [ -122.458681999601936, 37.781229000410939 ], [ -122.459782000224564, 37.781229000539938 ], [ -122.460981999750899, 37.78112900100566 ], [ -122.462082000335229, 37.781029000542503 ], [ -122.462981999783366, 37.781029000336673 ], [ -122.464081999905574, 37.781029000867193 ], [ -122.464281999438342, 37.782929000547803 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 62, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.472682000139571, 37.780629000975274 ], [ -122.473882000467768, 37.780529000655712 ], [ -122.474982000487813, 37.780529000345076 ], [ -122.475982000115621, 37.780329000420906 ], [ -122.477081999534221, 37.780329000321615 ], [ -122.478182000133131, 37.78032900077352 ], [ -122.479282000506316, 37.780229000941631 ], [ -122.48038199972504, 37.780229000672314 ], [ -122.481482000123762, 37.780229000954158 ], [ -122.482582000391204, 37.780129000937848 ], [ -122.4836819994091, 37.780129000498597 ], [ -122.483715000119759, 37.7820610007509 ], [ -122.483806999758741, 37.783932001052612 ], [ -122.483983000431863, 37.78582900108168 ], [ -122.482982999878658, 37.785829000376772 ], [ -122.481882999590681, 37.785929001089279 ], [ -122.480883000043221, 37.78592900058662 ], [ -122.479682000367958, 37.786029000779408 ], [ -122.478681999558987, 37.786029000512947 ], [ -122.477581999619247, 37.786029000875772 ], [ -122.47648199954935, 37.78612900070047 ], [ -122.475481999793232, 37.786129000312819 ], [ -122.474281999485214, 37.786229000346047 ], [ -122.473081999627027, 37.786229000964475 ], [ -122.472585000222978, 37.786289000350479 ], [ -122.472481999875171, 37.78442900092486 ], [ -122.472282000161044, 37.782629000435549 ], [ -122.472185000274038, 37.780621001004327 ], [ -122.472682000139571, 37.780629000975274 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 57, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.485782999971349, 37.790629000570092 ], [ -122.484882999966757, 37.790329000416499 ], [ -122.484083000030026, 37.790229000956643 ], [ -122.483981999990974, 37.789825000235822 ], [ -122.483882999917, 37.789429001009935 ], [ -122.483782999602397, 37.787729000656462 ], [ -122.481783000212886, 37.787329000578779 ], [ -122.480882999711255, 37.787229001046356 ], [ -122.479683000126315, 37.78702900072588 ], [ -122.478681999556372, 37.786929000699061 ], [ -122.477682000283565, 37.786929000928644 ], [ -122.476082000341592, 37.787029001103406 ], [ -122.475381999615664, 37.78692900060021 ], [ -122.47428200035678, 37.787029000554114 ], [ -122.473182000344906, 37.787229000825882 ], [ -122.472481999625614, 37.787329000693404 ], [ -122.472482000216871, 37.786729001077674 ], [ -122.472585000222978, 37.786289000350479 ], [ -122.473081999627027, 37.786229000964475 ], [ -122.474281999485214, 37.786229000346047 ], [ -122.475481999793232, 37.786129000312819 ], [ -122.47648199954935, 37.78612900070047 ], [ -122.477581999619247, 37.786029000875772 ], [ -122.478681999558987, 37.786029000512947 ], [ -122.479682000367958, 37.786029000779408 ], [ -122.480883000043221, 37.78592900058662 ], [ -122.481882999590681, 37.785929001089279 ], [ -122.482982999878658, 37.785829000376772 ], [ -122.483983000431863, 37.78582900108168 ], [ -122.485078999888728, 37.785785000642385 ], [ -122.486183000264532, 37.785729000467327 ], [ -122.487282999917852, 37.785629001035907 ], [ -122.487125000209886, 37.783676000612786 ], [ -122.488182999423202, 37.783629000880779 ], [ -122.489183000069474, 37.783629000626036 ], [ -122.490382999530482, 37.783629000828014 ], [ -122.491483000025553, 37.78352900080089 ], [ -122.492482999453898, 37.783529000468405 ], [ -122.493283000384764, 37.783529000586789 ], [ -122.493382999812354, 37.786629000332276 ], [ -122.493382999863243, 37.787429001087474 ], [ -122.49298299949055, 37.787829000514684 ], [ -122.492883000421045, 37.787929000833543 ], [ -122.490283000468523, 37.788929000305735 ], [ -122.489582999852701, 37.789429000996073 ], [ -122.487283000108675, 37.789429000241704 ], [ -122.485782999971349, 37.790629000570092 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 64, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.471781999590007, 37.773029000260316 ], [ -122.471681999787393, 37.774929000873023 ], [ -122.47188199995125, 37.776829000966394 ], [ -122.471982000025278, 37.778729000926106 ], [ -122.472185000274038, 37.780621001004327 ], [ -122.471680999820123, 37.780642000676188 ], [ -122.470582000514483, 37.780729001031119 ], [ -122.469482000001278, 37.780729000810219 ], [ -122.468481999954037, 37.780829000587929 ], [ -122.46738200032253, 37.780829000589272 ], [ -122.466282000522554, 37.780929001000395 ], [ -122.465182000080148, 37.78102900104242 ], [ -122.464081999905574, 37.781029000867193 ], [ -122.464081999617235, 37.779029000762002 ], [ -122.463881999762705, 37.777229000356883 ], [ -122.463781999664803, 37.775329000887098 ], [ -122.463481999629224, 37.773529000604768 ], [ -122.464682000338215, 37.773429000720881 ], [ -122.465781999598065, 37.773229000374833 ], [ -122.466881999669042, 37.773329000545303 ], [ -122.467981999493148, 37.77322900036922 ], [ -122.468982000023928, 37.7732290008015 ], [ -122.470081999522492, 37.773229000843344 ], [ -122.471182000510467, 37.77312900052258 ], [ -122.471781999590007, 37.773029000260316 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 60, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.485381999468487, 37.776229000286691 ], [ -122.484381999872568, 37.776229001024234 ], [ -122.483281999574046, 37.776229000952668 ], [ -122.482182000165793, 37.776329000536506 ], [ -122.481181999983548, 37.776429000247646 ], [ -122.480082000262541, 37.776429000939856 ], [ -122.478981999463187, 37.776429000370975 ], [ -122.478881999731144, 37.774529000583478 ], [ -122.478781999444578, 37.772829001121643 ], [ -122.479882000200178, 37.772729000638826 ], [ -122.480881999873759, 37.772629000938053 ], [ -122.481982000095513, 37.772629000724699 ], [ -122.483181999694153, 37.772529000667305 ], [ -122.484182000492893, 37.772529000959665 ], [ -122.485181999800162, 37.772429000788016 ], [ -122.486281999514418, 37.772429000980125 ], [ -122.487482000511008, 37.772430000923833 ], [ -122.488381999786554, 37.772330000975465 ], [ -122.488581999680164, 37.774129000411087 ], [ -122.48878200025321, 37.776029000391183 ], [ -122.487681999620307, 37.776129000876921 ], [ -122.486482000036148, 37.776129000557916 ], [ -122.485381999468487, 37.776229000286691 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 54, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.504382999653075, 37.771630001005455 ], [ -122.505482999708548, 37.771630000375588 ], [ -122.506482999903739, 37.771530000462938 ], [ -122.507582999765859, 37.771430000768007 ], [ -122.508683000392963, 37.771430000903749 ], [ -122.509783000447001, 37.77133000048665 ], [ -122.510774000301708, 37.771265000526448 ], [ -122.51198299974142, 37.771130000358639 ], [ -122.51318300030664, 37.777229000699954 ], [ -122.513782999781824, 37.777629000723515 ], [ -122.514182999492704, 37.777929000573224 ], [ -122.514283000218796, 37.779429000467225 ], [ -122.513983000045684, 37.780029000473085 ], [ -122.514483000493954, 37.780829000944479 ], [ -122.513782999686171, 37.781329000766156 ], [ -122.513283000459538, 37.782529000867221 ], [ -122.512982999887939, 37.782629000588727 ], [ -122.512482999455784, 37.783529000576102 ], [ -122.512582999737944, 37.78392900057959 ], [ -122.511983000481422, 37.7837290010524 ], [ -122.511082999830407, 37.784629000383305 ], [ -122.51078300000799, 37.784329000837189 ], [ -122.509883000255769, 37.784829000904089 ], [ -122.509783000303273, 37.784029000594771 ], [ -122.509682999923598, 37.783529000977055 ], [ -122.510082999529772, 37.78312900101951 ], [ -122.510683000004803, 37.782229001131142 ], [ -122.509682999515704, 37.780629000541502 ], [ -122.509282999996259, 37.779829000648647 ], [ -122.50938300034089, 37.778929001025084 ], [ -122.509082999801834, 37.776929000899266 ], [ -122.507982999819802, 37.777029000761445 ], [ -122.50688300028493, 37.777029001073018 ], [ -122.505783000488336, 37.777129001113238 ], [ -122.504683000045929, 37.777229000785773 ], [ -122.503682999863969, 37.777229000351333 ], [ -122.502582999737896, 37.777329000234985 ], [ -122.501582999417082, 37.777329000900778 ], [ -122.500583000278624, 37.777329000294941 ], [ -122.499483000295868, 37.777429000963657 ], [ -122.498482999959435, 37.777529000602208 ], [ -122.498382999534144, 37.775529000851897 ], [ -122.498182999409437, 37.773730000654439 ], [ -122.498083000422056, 37.771830000456546 ], [ -122.499083000509629, 37.771730000292393 ], [ -122.500282999975155, 37.771730000961199 ], [ -122.501283000375935, 37.771630001041196 ], [ -122.502282999993625, 37.771630000897851 ], [ -122.503383000010089, 37.771530000776075 ], [ -122.504382999653075, 37.771630001005455 ] ] ], [ [ [ -122.515884000189843, 37.778929000979808 ], [ -122.515717000165282, 37.778890000701594 ], [ -122.515595000028668, 37.778852000880043 ], [ -122.515473000061419, 37.77870700032004 ], [ -122.515488000102849, 37.778585000396163 ], [ -122.515548999510315, 37.778486001000672 ], [ -122.515411999758243, 37.778402001050431 ], [ -122.515304999430782, 37.778249000624101 ], [ -122.515258000171684, 37.778051000885618 ], [ -122.515183000420947, 37.777929000251 ], [ -122.515304000087554, 37.777853000644029 ], [ -122.515533999739588, 37.777853001023011 ], [ -122.515655999898286, 37.777830000744245 ], [ -122.515762999898357, 37.777731001019546 ], [ -122.515915999457363, 37.777685000990694 ], [ -122.516159999909789, 37.777700000582357 ], [ -122.51631199987645, 37.777799000559469 ], [ -122.516480000134436, 37.777746000463111 ], [ -122.516616999502276, 37.77777600043413 ], [ -122.516724000090107, 37.777822000856595 ], [ -122.516862000432297, 37.777853000602597 ], [ -122.517013999954088, 37.777891000406662 ], [ -122.517083999640789, 37.777929001074767 ], [ -122.517196999691663, 37.778066000889652 ], [ -122.51712100003013, 37.778188000753332 ], [ -122.517029000167057, 37.778318000861063 ], [ -122.51675499994171, 37.778440000837392 ], [ -122.516464999688239, 37.778539000531573 ], [ -122.516204999527929, 37.778631000488062 ], [ -122.51602199951769, 37.778738000397816 ], [ -122.515960999541264, 37.778822000334259 ], [ -122.515884000189843, 37.778929000979808 ] ] ], [ [ [ -122.516784000464099, 37.779929000689478 ], [ -122.516784999732963, 37.779783000652124 ], [ -122.516937999976832, 37.77966800089952 ], [ -122.51712099981836, 37.779653000492814 ], [ -122.517395999667002, 37.779676000268921 ], [ -122.51747199940047, 37.779714000939123 ], [ -122.517532999870255, 37.779783000388441 ], [ -122.517684000071284, 37.77982900072243 ], [ -122.517762000360108, 37.779890001057979 ], [ -122.517914000447249, 37.779958000899207 ], [ -122.517899000169507, 37.780057000436635 ], [ -122.517837999565273, 37.780218000728119 ], [ -122.517852999526966, 37.780439000721856 ], [ -122.517792000505821, 37.780592000906765 ], [ -122.517578999632335, 37.780637000588079 ], [ -122.51739600044354, 37.780698000342909 ], [ -122.517183999708863, 37.780729000564826 ], [ -122.517120999431683, 37.780584001026192 ], [ -122.517074999511436, 37.780447000902889 ], [ -122.517028999821804, 37.780325000455228 ], [ -122.516922999556314, 37.780172001123667 ], [ -122.516845999721241, 37.780050000588531 ], [ -122.516784000464099, 37.779929000689478 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 52, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.477383000199708, 37.811028000599663 ], [ -122.476383000084994, 37.810828000853157 ], [ -122.475983000370888, 37.809728000647794 ], [ -122.471625000473097, 37.808887001000016 ], [ -122.470283000035636, 37.808628000709952 ], [ -122.467793000082835, 37.806809000677198 ], [ -122.467682999804467, 37.806728000467452 ], [ -122.46575100030168, 37.805688000851077 ], [ -122.463782999704733, 37.804628000277965 ], [ -122.454281999610885, 37.806328000313734 ], [ -122.45348199996107, 37.80652800106634 ], [ -122.448281999488003, 37.80732800024942 ], [ -122.448182000369997, 37.806928000455045 ], [ -122.448181999500221, 37.806428000975352 ], [ -122.447981999558152, 37.805028001127113 ], [ -122.449481999516635, 37.803028000335367 ], [ -122.448782000238651, 37.801928000636728 ], [ -122.447682000035655, 37.801728000728552 ], [ -122.44768199958196, 37.800728000877378 ], [ -122.447682000323212, 37.800428000713033 ], [ -122.447381999451238, 37.799428000736633 ], [ -122.447281999402904, 37.798528000468359 ], [ -122.447081999706739, 37.797528000785682 ], [ -122.446981999890326, 37.796628000896305 ], [ -122.446881999456437, 37.795729000343904 ], [ -122.446781999672183, 37.794829000928488 ], [ -122.446481999845858, 37.793929000998475 ], [ -122.446382000212452, 37.79282900093564 ], [ -122.446281999748123, 37.791929000683965 ], [ -122.447481999955869, 37.791729001028806 ], [ -122.449082000287603, 37.791529000802534 ], [ -122.450881999947981, 37.791329000799344 ], [ -122.452581999539703, 37.791029000249097 ], [ -122.454182000522891, 37.790729000400376 ], [ -122.455782000254416, 37.790529000952603 ], [ -122.457382000421759, 37.790229000804096 ], [ -122.458481999432607, 37.790029000601805 ], [ -122.459382000025741, 37.789829000929117 ], [ -122.463582000341447, 37.788829000968157 ], [ -122.464782000036578, 37.788529000716871 ], [ -122.465681999704827, 37.78842900025905 ], [ -122.466882000416177, 37.788129001089374 ], [ -122.467981999838599, 37.787929000272023 ], [ -122.470999999794813, 37.787527001042193 ], [ -122.472481999625614, 37.787329000693404 ], [ -122.473182000344906, 37.787229000825882 ], [ -122.47428200035678, 37.787029000554114 ], [ -122.475381999615664, 37.78692900060021 ], [ -122.476082000341592, 37.787029001103406 ], [ -122.477682000283565, 37.786929000928644 ], [ -122.478681999556372, 37.786929000699061 ], [ -122.479683000126315, 37.78702900072588 ], [ -122.480882999711255, 37.787229001046356 ], [ -122.481783000212886, 37.787329000578779 ], [ -122.483782999602397, 37.787729000656462 ], [ -122.483882999917, 37.789429001009935 ], [ -122.483981999990974, 37.789825000235822 ], [ -122.484083000030026, 37.790229000956643 ], [ -122.484882999966757, 37.790329000416499 ], [ -122.485782999971349, 37.790629000570092 ], [ -122.485686999666896, 37.790868000919673 ], [ -122.485305000374666, 37.791860000489024 ], [ -122.484541999721671, 37.793203000633774 ], [ -122.483703000331232, 37.794591000243358 ], [ -122.482878999796753, 37.796781000786034 ], [ -122.482528000178803, 37.798498000805303 ], [ -122.481871999862307, 37.799970000395859 ], [ -122.480896000219403, 37.801122000715814 ], [ -122.480041000300474, 37.802693000945631 ], [ -122.479735999774803, 37.804135000976316 ], [ -122.479353999439596, 37.805798000676582 ], [ -122.47920200046552, 37.807316000712611 ], [ -122.478728999865226, 37.808430000998008 ], [ -122.478557000151781, 37.808865000632586 ], [ -122.478469000477304, 37.809086000738077 ], [ -122.478453999516688, 37.809643000631077 ], [ -122.478377999712052, 37.810093000877501 ], [ -122.478317000034579, 37.810261000780493 ], [ -122.478082999962822, 37.810828000284843 ], [ -122.477383000199708, 37.811028000599663 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 53, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.51198299974142, 37.771130000358639 ], [ -122.510774000301708, 37.771265000526448 ], [ -122.509783000447001, 37.77133000048665 ], [ -122.508683000392963, 37.771430000903749 ], [ -122.507582999765859, 37.771430000768007 ], [ -122.506482999903739, 37.771530000462938 ], [ -122.505482999708548, 37.771630000375588 ], [ -122.504382999653075, 37.771630001005455 ], [ -122.503383000010089, 37.771530000776075 ], [ -122.502282999993625, 37.771630000897851 ], [ -122.501283000375935, 37.771630001041196 ], [ -122.500282999975155, 37.771730000961199 ], [ -122.499083000509629, 37.771730000292393 ], [ -122.498083000422056, 37.771830000456546 ], [ -122.49708299995126, 37.771930000234782 ], [ -122.495882999667174, 37.771930000312807 ], [ -122.494882999510082, 37.772030000335072 ], [ -122.493882000115406, 37.772030000965749 ], [ -122.492782000309177, 37.772030000536184 ], [ -122.49168199948646, 37.772130000763823 ], [ -122.490582000290544, 37.772230000633677 ], [ -122.489581999858672, 37.772230000591442 ], [ -122.488381999786554, 37.772330000975465 ], [ -122.487482000511008, 37.772430000923833 ], [ -122.486281999514418, 37.772429000980125 ], [ -122.485181999800162, 37.772429000788016 ], [ -122.484182000492893, 37.772529000959665 ], [ -122.483181999694153, 37.772529000667305 ], [ -122.481982000095513, 37.772629000724699 ], [ -122.480881999873759, 37.772629000938053 ], [ -122.479882000200178, 37.772729000638826 ], [ -122.478781999444578, 37.772829001121643 ], [ -122.477681999813939, 37.772829000297101 ], [ -122.47658200038488, 37.772929000962854 ], [ -122.475482000503987, 37.772929000324751 ], [ -122.474482000336096, 37.772929000992455 ], [ -122.473282000000225, 37.773029000711567 ], [ -122.472181999914554, 37.773029000806631 ], [ -122.471781999590007, 37.773029000260316 ], [ -122.471182000510467, 37.77312900052258 ], [ -122.470081999522492, 37.773229000843344 ], [ -122.468982000023928, 37.7732290008015 ], [ -122.467981999493148, 37.77322900036922 ], [ -122.466881999669042, 37.773329000545303 ], [ -122.465781999598065, 37.773229000374833 ], [ -122.464682000338215, 37.773429000720881 ], [ -122.463481999629224, 37.773529000604768 ], [ -122.462481999613075, 37.773729000295198 ], [ -122.461481999670696, 37.773829000525858 ], [ -122.460381999520266, 37.773929000342491 ], [ -122.459182000453055, 37.774129000504381 ], [ -122.458081999671379, 37.774229000449161 ], [ -122.456282000378124, 37.774429000619605 ], [ -122.455182000457285, 37.77452900050308 ], [ -122.454381999608685, 37.774729000492457 ], [ -122.454282000196741, 37.773729000522316 ], [ -122.45398200051379, 37.772829000247604 ], [ -122.453982000025462, 37.771829000666486 ], [ -122.45288200047743, 37.771929000865178 ], [ -122.452282000083699, 37.772029000386873 ], [ -122.450682000429921, 37.772329000953874 ], [ -122.448881999505758, 37.772529000879473 ], [ -122.44738200051502, 37.772729000647104 ], [ -122.445781999653789, 37.772929000409256 ], [ -122.444082000203963, 37.773229000513119 ], [ -122.442381999464232, 37.773329000579764 ], [ -122.440681999433721, 37.773529000323428 ], [ -122.440482000049613, 37.772629000937727 ], [ -122.44218200001788, 37.772329000472823 ], [ -122.443871999881992, 37.772133000284619 ], [ -122.445361999996919, 37.771939000864286 ], [ -122.447081000150249, 37.771717000726014 ], [ -122.44871100016158, 37.771509000893253 ], [ -122.450282000129832, 37.771329000930642 ], [ -122.452082000047355, 37.771129001101386 ], [ -122.452682000030563, 37.771129000730035 ], [ -122.453782000320047, 37.770929000569858 ], [ -122.453581999649415, 37.770029000909133 ], [ -122.453381999520204, 37.769029000779859 ], [ -122.45318199945055, 37.76812900108709 ], [ -122.452981999819059, 37.7673290009743 ], [ -122.45298200049406, 37.766729000719231 ], [ -122.452781999831103, 37.766229000266506 ], [ -122.454381999536878, 37.766030000709044 ], [ -122.457782000493978, 37.765830000616894 ], [ -122.458881999715629, 37.766130000581732 ], [ -122.459981999802451, 37.766230000941881 ], [ -122.461081999830768, 37.766130000774417 ], [ -122.462182000353693, 37.766030000244285 ], [ -122.463081999647486, 37.766030000519272 ], [ -122.464281999911222, 37.765930000606097 ], [ -122.465181999522073, 37.765830000950025 ], [ -122.466481999670137, 37.765730000668881 ], [ -122.46748200019735, 37.765730000905947 ], [ -122.468381999463489, 37.765730000347453 ], [ -122.469681999461145, 37.765730000929729 ], [ -122.470581999941146, 37.765730000698682 ], [ -122.47168200033073, 37.765630000651463 ], [ -122.472782000078652, 37.765530000236701 ], [ -122.473982000102723, 37.765430000613051 ], [ -122.474982000305502, 37.76543000028078 ], [ -122.476081999597923, 37.765330000578999 ], [ -122.477282000143717, 37.765330000846554 ], [ -122.478281999966399, 37.765230000267984 ], [ -122.479381999458553, 37.765230000563619 ], [ -122.480381999455048, 37.765230000363367 ], [ -122.481581999518468, 37.765130000807709 ], [ -122.482582000106305, 37.765030000666783 ], [ -122.483781999525362, 37.765030000517889 ], [ -122.484681999976473, 37.765030000727762 ], [ -122.485881999982411, 37.76483000040227 ], [ -122.486981999557415, 37.76483000093944 ], [ -122.487881999970085, 37.764830001037083 ], [ -122.488981999636252, 37.764830000931234 ], [ -122.490082000183392, 37.764730000243603 ], [ -122.491081999545983, 37.764730000250658 ], [ -122.492182000134434, 37.764730000917694 ], [ -122.493281999563877, 37.764630000979935 ], [ -122.494281999690315, 37.764530000618464 ], [ -122.495481999530568, 37.764530000274796 ], [ -122.49598199966411, 37.764530000957294 ], [ -122.496581999619309, 37.764530000417075 ], [ -122.497581999753336, 37.764430000874917 ], [ -122.498682000182399, 37.764330000968314 ], [ -122.499781999716433, 37.764330000971803 ], [ -122.500882000434729, 37.764330000626543 ], [ -122.501882999616655, 37.764330000620973 ], [ -122.502982999762907, 37.764230001101062 ], [ -122.503883000278947, 37.764230000646954 ], [ -122.504883000447123, 37.764130000392335 ], [ -122.506183000420023, 37.764130001096866 ], [ -122.50708300046378, 37.764030001125001 ], [ -122.508182999601388, 37.763930000792513 ], [ -122.50918300024459, 37.763930000389884 ], [ -122.509683000009872, 37.763930000609243 ], [ -122.510182999786721, 37.763930000509745 ], [ -122.511783000448347, 37.763730000961161 ], [ -122.51198299974142, 37.771130000358639 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 4, "TAZ1454": 190, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.507583000018144, 37.735331000393359 ], [ -122.505983000144639, 37.735331000778672 ], [ -122.504683000035527, 37.735331001097045 ], [ -122.503483000257091, 37.735331000938174 ], [ -122.502482999915586, 37.735331000935084 ], [ -122.501383000417434, 37.735231000457617 ], [ -122.50058300018155, 37.734931000425718 ], [ -122.499683000295931, 37.734631000506283 ], [ -122.498682999847972, 37.734231000332258 ], [ -122.496083000503063, 37.733631000427884 ], [ -122.497913000378333, 37.731984000499743 ], [ -122.498082999878108, 37.731831000312475 ], [ -122.498482999713488, 37.731331000547058 ], [ -122.498682999913925, 37.731031000619005 ], [ -122.498457999857123, 37.731132000248856 ], [ -122.49821399946272, 37.731231000554459 ], [ -122.498015999859547, 37.731239000440276 ], [ -122.497787000338477, 37.731178000581025 ], [ -122.497483000022356, 37.731131000792985 ], [ -122.496782999817171, 37.729731000764374 ], [ -122.496082999743336, 37.729031000573229 ], [ -122.496021000280805, 37.728885000650855 ], [ -122.495483000202782, 37.728931000348034 ], [ -122.494082999479033, 37.729131000357427 ], [ -122.493283000323473, 37.729231001009893 ], [ -122.491283000095976, 37.728731000494683 ], [ -122.49078300002688, 37.729031001123751 ], [ -122.490183000238673, 37.729431000638172 ], [ -122.489083000072242, 37.730131000286406 ], [ -122.486082999493675, 37.729431000772607 ], [ -122.483883000460523, 37.72793100044715 ], [ -122.482982999431016, 37.726231001015414 ], [ -122.483201999587251, 37.725973000442082 ], [ -122.484082999522514, 37.724931000300714 ], [ -122.484289999829528, 37.724466000445219 ], [ -122.484483000277223, 37.724031000792586 ], [ -122.484783000033815, 37.719631000251148 ], [ -122.484782999422222, 37.718432000642586 ], [ -122.484782999967251, 37.71803200026546 ], [ -122.484883000052832, 37.715232000274703 ], [ -122.484882999629946, 37.714432000854472 ], [ -122.475383000449881, 37.71433200032223 ], [ -122.472583000402778, 37.712632000818935 ], [ -122.472183000508934, 37.712632000816441 ], [ -122.470983000458233, 37.712532000641808 ], [ -122.470946999620523, 37.712255000923896 ], [ -122.470882999862781, 37.710432000262038 ], [ -122.470783000160736, 37.709732000881566 ], [ -122.470783000277507, 37.708632000585055 ], [ -122.470882999455483, 37.708232000614075 ], [ -122.471078000360038, 37.708264001001361 ], [ -122.471482999542005, 37.708332000517707 ], [ -122.471983000279877, 37.70833200094021 ], [ -122.481083000354488, 37.70823200106102 ], [ -122.48378300029178, 37.708332000983326 ], [ -122.484883000215902, 37.708332000615513 ], [ -122.48511699991758, 37.70828500097943 ], [ -122.485382999548619, 37.708232000720706 ], [ -122.485631000176852, 37.708232000402063 ], [ -122.48608300003842, 37.708232001105159 ], [ -122.493582999730151, 37.708232000613691 ], [ -122.497782999605207, 37.708132000548758 ], [ -122.502483999879487, 37.708132000451371 ], [ -122.503083000509662, 37.710232000446645 ], [ -122.504982999835988, 37.717132000969116 ], [ -122.506483000362024, 37.723731000905865 ], [ -122.507583000018144, 37.735331000393359 ] ] ], [ [ [ -123.001109999784475, 37.695192000826182 ], [ -123.002531000260333, 37.69544500034349 ], [ -123.00345299963864, 37.695789000952644 ], [ -123.00368299941421, 37.696247001006739 ], [ -123.003654000160807, 37.696704000290879 ], [ -123.004171999681276, 37.697299000398743 ], [ -123.004661000176071, 37.697391000424332 ], [ -123.005064999765025, 37.697231001048252 ], [ -123.005180999716075, 37.696614000514479 ], [ -123.005324999577439, 37.696568000697155 ], [ -123.005469000322975, 37.696660000740785 ], [ -123.005900000199745, 37.697415000710151 ], [ -123.006274999409314, 37.697529000410526 ], [ -123.00679300045833, 37.697438000722933 ], [ -123.007455999877052, 37.697644000764789 ], [ -123.007685999739564, 37.697622000600042 ], [ -123.008176000275029, 37.697713000818226 ], [ -123.008234000472854, 37.697897001000072 ], [ -123.008117999812399, 37.698377000384824 ], [ -123.006994000500214, 37.698262000604487 ], [ -123.006705999709638, 37.698331001109054 ], [ -123.006445999814389, 37.699040000393758 ], [ -123.006301999758492, 37.699132000351703 ], [ -123.005582000441379, 37.699086000887235 ], [ -123.005552999862502, 37.699475000916316 ], [ -123.005379999982395, 37.699773000568044 ], [ -123.004890000512148, 37.6997490003981 ], [ -123.004803000247207, 37.699955000727876 ], [ -123.004861000326926, 37.700047000425762 ], [ -123.005148999905543, 37.700299000852397 ], [ -123.005235000261109, 37.70064200047198 ], [ -123.005003999522614, 37.701146000588722 ], [ -123.004513999790717, 37.701695000585268 ], [ -123.003823000346713, 37.701512000666 ], [ -123.003765000379332, 37.701397001094001 ], [ -123.003880999584254, 37.700848000860532 ], [ -123.00382300037208, 37.700894000631038 ], [ -123.003420000405683, 37.700710000771871 ], [ -123.003161000210739, 37.700435000482479 ], [ -123.002295999526893, 37.700458000960005 ], [ -123.001776999625946, 37.700732000732359 ], [ -123.001110000354302, 37.70048000077179 ], [ -123.000770999602224, 37.699816000941276 ], [ -123.000354999791142, 37.699702001037792 ], [ -123.000239999789102, 37.699611000632267 ], [ -123.000211000096584, 37.699427001029967 ], [ -123.000124000454932, 37.699382001045343 ], [ -123.00009600048908, 37.699176000691857 ], [ -122.999894000311357, 37.698993000593788 ], [ -122.999893000491937, 37.698512000704817 ], [ -123.000095000029447, 37.698329000604907 ], [ -123.000037000246479, 37.697985001119214 ], [ -122.99951799990329, 37.697253000500851 ], [ -122.999459999721083, 37.696978000682961 ], [ -122.999546000321047, 37.696818000292019 ], [ -122.999921000528104, 37.696818000238189 ], [ -123.000237999699607, 37.69706900061292 ], [ -123.000526000147246, 37.697115000289365 ], [ -123.000497000419799, 37.69688600055202 ], [ -123.000266000296648, 37.696611000814293 ], [ -123.000237000430886, 37.696382000993381 ], [ -123.0006819999154, 37.695880000717132 ], [ -123.00069699965664, 37.695101000521056 ], [ -123.001109999784475, 37.695192000826182 ] ] ], [ [ [ -123.012669000280013, 37.700074000928169 ], [ -123.012006000146002, 37.700256000465593 ], [ -123.011545999457709, 37.69979800094783 ], [ -123.010941000456228, 37.69975200036086 ], [ -123.010680999529683, 37.699638000675868 ], [ -123.010480000175463, 37.699248000651984 ], [ -123.009903999565921, 37.699065000777118 ], [ -123.009212999860438, 37.698698001134424 ], [ -123.008953999637669, 37.698401001040558 ], [ -123.00912700045906, 37.697874000759271 ], [ -123.009529999995678, 37.697577001069462 ], [ -123.009876000247957, 37.697485001131525 ], [ -123.010768999770022, 37.697669001094205 ], [ -123.010912999416533, 37.697577001066875 ], [ -123.011028999992149, 37.697349000828567 ], [ -123.011116000140134, 37.696617001056758 ], [ -123.011259999667487, 37.696548000896158 ], [ -123.011576999500761, 37.696594000557958 ], [ -123.012009000400056, 37.696823000492103 ], [ -123.012526999722255, 37.69748700084611 ], [ -123.012412000080587, 37.697671001006732 ], [ -123.011921999899499, 37.697967000858547 ], [ -123.011950000519178, 37.698287000363798 ], [ -123.012728000310574, 37.698128000742734 ], [ -123.013189000365045, 37.698219000373761 ], [ -123.013447999644981, 37.698471000973875 ], [ -123.013332999503021, 37.698838000297975 ], [ -123.013389999753542, 37.699044000538592 ], [ -123.013763999769509, 37.699433000302456 ], [ -123.013475999892989, 37.700005000717731 ], [ -123.013273999993075, 37.700326001103626 ], [ -123.013101000422509, 37.700326000621949 ], [ -123.012669000280013, 37.700074000928169 ] ] ], [ [ [ -123.106671999706521, 37.771686000421461 ], [ -123.106498000115437, 37.771137000482383 ], [ -123.10664199997187, 37.770748000891153 ], [ -123.107131999605869, 37.770473000286515 ], [ -123.107881999600139, 37.770381001048094 ], [ -123.108026999484508, 37.770541000291985 ], [ -123.107853999970089, 37.770770000617887 ], [ -123.107162000387746, 37.771022000594037 ], [ -123.107046000167927, 37.771137000594095 ], [ -123.107075000210571, 37.771297000849053 ], [ -123.107507999627558, 37.771503000962468 ], [ -123.107508000004927, 37.771755000523875 ], [ -123.107132999508735, 37.772075000427087 ], [ -123.106902999633093, 37.77200700066026 ], [ -123.106671999706521, 37.771686000421461 ] ] ], [ [ [ -123.00359899954627, 37.693248000805319 ], [ -123.004089000030419, 37.693065000783015 ], [ -123.004376999846968, 37.693111001000467 ], [ -123.004521000004445, 37.693248000608847 ], [ -123.004405000463009, 37.693569000870163 ], [ -123.003915000105025, 37.693889000906772 ], [ -123.002705000088469, 37.694003000818924 ], [ -123.002560999781977, 37.693774000444563 ], [ -123.002734000121379, 37.693499000436759 ], [ -123.00359899954627, 37.693248000805319 ] ] ], [ [ [ -123.003041999466689, 37.704098000362308 ], [ -123.002696999659179, 37.703984000642102 ], [ -123.002697000312182, 37.70359500047747 ], [ -123.003100999890435, 37.703206000269198 ], [ -123.003677000005766, 37.70295400093206 ], [ -123.003849999599055, 37.703275000666615 ], [ -123.003705999505158, 37.703618000401264 ], [ -123.003416999506868, 37.703938000347918 ], [ -123.003041999466689, 37.704098000362308 ] ] ], [ [ [ -123.098537000310515, 37.767545000905422 ], [ -123.098362999842621, 37.767042000290523 ], [ -123.098507999634748, 37.766927000740097 ], [ -123.098997999555451, 37.766950000258205 ], [ -123.099545999903242, 37.767545001061123 ], [ -123.099401999865222, 37.767728000621368 ], [ -123.09925799994366, 37.767774000355942 ], [ -123.098537000310515, 37.767545000905422 ] ] ], [ [ [ -123.097612000328539, 37.763653001049306 ], [ -123.097814000487375, 37.763631000746912 ], [ -123.098246999682161, 37.763745000806423 ], [ -123.0986499996893, 37.763630001071128 ], [ -123.09888100049551, 37.763745000540894 ], [ -123.098997000344568, 37.764019000873894 ], [ -123.098880999590634, 37.764088001019395 ], [ -123.09859299977343, 37.764111000789583 ], [ -123.097641000154226, 37.764043000586248 ], [ -123.097497000195105, 37.763837000988289 ], [ -123.097612000328539, 37.763653001049306 ] ] ], [ [ [ -123.100958999542613, 37.76653700049561 ], [ -123.100872000289897, 37.766743000827951 ], [ -123.100440000054107, 37.766926000879245 ], [ -123.099891999758825, 37.766858001077964 ], [ -123.099545999442626, 37.766629000257971 ], [ -123.099833999409796, 37.766469000291693 ], [ -123.100612999829423, 37.766469000265168 ], [ -123.100958999542613, 37.76653700049561 ] ] ], [ [ [ -123.031962999974311, 37.7275540003073 ], [ -123.031848000230539, 37.727302001029855 ], [ -123.032078999893656, 37.726958000977888 ], [ -123.032396000400212, 37.726913000924412 ], [ -123.032625999544393, 37.727119000890355 ], [ -123.032511000507583, 37.727394001062358 ], [ -123.032194000140564, 37.727554000543421 ], [ -123.031962999974311, 37.7275540003073 ] ] ], [ [ [ -123.004312000501031, 37.702107000608315 ], [ -123.004542000156263, 37.702268000275943 ], [ -123.004398000212049, 37.702565000347875 ], [ -123.004109999653011, 37.702634000771475 ], [ -123.003995000241019, 37.702428000852848 ], [ -123.003994999395061, 37.702222000580072 ], [ -123.004081000033622, 37.702130001002409 ], [ -123.004312000501031, 37.702107000608315 ] ] ], [ [ [ -123.005637000379949, 37.702863000392128 ], [ -123.005579000196335, 37.703069000696821 ], [ -123.005262000354563, 37.703184000450612 ], [ -123.005176000516414, 37.703023000486127 ], [ -123.005464000210893, 37.702657001067486 ], [ -123.005637000295238, 37.702772000646839 ], [ -123.005637000379949, 37.702863000392128 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 157, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.41688199999102, 37.709931001085984 ], [ -122.417273000357113, 37.710035000902202 ], [ -122.417481999766835, 37.709531000938931 ], [ -122.41768199971699, 37.709631001000751 ], [ -122.418307999643872, 37.709826000752152 ], [ -122.419081999774207, 37.710231001001858 ], [ -122.419946000223263, 37.708504001094433 ], [ -122.420082000398807, 37.708231000483252 ], [ -122.422382000239452, 37.708231000668128 ], [ -122.423781999764174, 37.708231000911901 ], [ -122.423381999758419, 37.709231000303042 ], [ -122.424581999406598, 37.71003100056064 ], [ -122.422882000417019, 37.710331000782247 ], [ -122.422381999660644, 37.71093100093529 ], [ -122.422282000075427, 37.711131000303773 ], [ -122.421682000338919, 37.71193100113053 ], [ -122.421266000098839, 37.713252000248595 ], [ -122.420951000121377, 37.713724001104261 ], [ -122.420379000440818, 37.71392600055227 ], [ -122.415718999742666, 37.712756000562585 ], [ -122.415881999489457, 37.712431000983287 ], [ -122.416082000135873, 37.711831000796195 ], [ -122.416681999608087, 37.710331000284974 ], [ -122.41688199999102, 37.709931001085984 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 146, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.382280999693705, 37.722431000592408 ], [ -122.381681000261338, 37.723031000889769 ], [ -122.381181000063435, 37.723631001133072 ], [ -122.380580999460577, 37.724330001019027 ], [ -122.380081000298887, 37.724830000490179 ], [ -122.379435999456078, 37.725528000580042 ], [ -122.378880999945821, 37.726130000418756 ], [ -122.378280999651778, 37.726730000854268 ], [ -122.379780999963003, 37.727830000984412 ], [ -122.379381000470843, 37.728330000410352 ], [ -122.378681000165898, 37.729130000458476 ], [ -122.37827800013568, 37.728964000729569 ], [ -122.37768100033972, 37.72863000103537 ], [ -122.376680999813317, 37.728530000840948 ], [ -122.374403000295317, 37.728194000843217 ], [ -122.3735790002616, 37.728856001013177 ], [ -122.373078999558928, 37.729267001029513 ], [ -122.372880999771695, 37.729430000328385 ], [ -122.372281000103726, 37.729930000868031 ], [ -122.371843000130582, 37.730631001031256 ], [ -122.371780999752517, 37.730730000336976 ], [ -122.371181000476412, 37.731130000237634 ], [ -122.370081000294178, 37.732330000685366 ], [ -122.36731100051594, 37.735438000973332 ], [ -122.365981000219918, 37.736930001027034 ], [ -122.35958099981211, 37.731230000255813 ], [ -122.356581000228203, 37.729630001054417 ], [ -122.356878999750762, 37.727927001081042 ], [ -122.35898099983585, 37.715931001085387 ], [ -122.359205000447275, 37.715828001052365 ], [ -122.363004000340851, 37.717979000750582 ], [ -122.364056999516748, 37.716713000642144 ], [ -122.360318999938642, 37.714531000516402 ], [ -122.360487000135379, 37.714340000256037 ], [ -122.364180999690021, 37.716031001095594 ], [ -122.364454000169488, 37.715904000804954 ], [ -122.365155999934331, 37.71586600053584 ], [ -122.365797000028621, 37.715698000518387 ], [ -122.36691000018017, 37.716140000333624 ], [ -122.367490000523205, 37.71683500060481 ], [ -122.368375000319645, 37.717292000420599 ], [ -122.369321000090054, 37.717422000356414 ], [ -122.370251999548941, 37.717720000562153 ], [ -122.370786000264829, 37.717971000371762 ], [ -122.370999999433025, 37.718193000739994 ], [ -122.371809000205104, 37.718208000279546 ], [ -122.372068999899, 37.718208000961425 ], [ -122.372555999395132, 37.718208000737576 ], [ -122.373881000511915, 37.718331000762277 ], [ -122.374006000332827, 37.718368000352115 ], [ -122.374325999566352, 37.718826001090243 ], [ -122.374581000037324, 37.719131000562378 ], [ -122.375381000283298, 37.720131000618053 ], [ -122.375944000218553, 37.720596000284033 ], [ -122.376281000229895, 37.721131000593353 ], [ -122.376554000360329, 37.721534000369452 ], [ -122.376782999844636, 37.722838000353136 ], [ -122.376447000373872, 37.723425000312893 ], [ -122.375653999979733, 37.723944000743586 ], [ -122.375135000205717, 37.724166001064731 ], [ -122.374921000445624, 37.724524000603125 ], [ -122.375303000250554, 37.725043001130018 ], [ -122.375989000255117, 37.725463000275639 ], [ -122.376417000509832, 37.725661000798894 ], [ -122.376388000232325, 37.725567000299584 ], [ -122.37626400002064, 37.725165000623136 ], [ -122.376218000397287, 37.724547000616859 ], [ -122.376919999943468, 37.724013000676884 ], [ -122.377698000066289, 37.723883001087685 ], [ -122.378644000317166, 37.723853000899993 ], [ -122.379621000267193, 37.723647000667896 ], [ -122.379880000298058, 37.723304000892334 ], [ -122.379849999868114, 37.722374000789287 ], [ -122.38017000029312, 37.721717000469077 ], [ -122.380811000111564, 37.721321000593896 ], [ -122.381695999580302, 37.721611000523907 ], [ -122.382280999693705, 37.722431000592408 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 65, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.472585000222978, 37.786289000350479 ], [ -122.472482000216871, 37.786729001077674 ], [ -122.472481999625614, 37.787329000693404 ], [ -122.470999999794813, 37.787527001042193 ], [ -122.467981999838599, 37.787929000272023 ], [ -122.466882000416177, 37.788129001089374 ], [ -122.465681999704827, 37.78842900025905 ], [ -122.464782000036578, 37.788529000716871 ], [ -122.464582000468326, 37.786629000890592 ], [ -122.464481999530889, 37.784829001116428 ], [ -122.464281999438342, 37.782929000547803 ], [ -122.464081999905574, 37.781029000867193 ], [ -122.465182000080148, 37.78102900104242 ], [ -122.466282000522554, 37.780929001000395 ], [ -122.46738200032253, 37.780829000589272 ], [ -122.468481999954037, 37.780829000587929 ], [ -122.469482000001278, 37.780729000810219 ], [ -122.470582000514483, 37.780729001031119 ], [ -122.471680999820123, 37.780642000676188 ], [ -122.472185000274038, 37.780621001004327 ], [ -122.472282000161044, 37.782629000435549 ], [ -122.472481999875171, 37.78442900092486 ], [ -122.472585000222978, 37.786289000350479 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 58, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.4836819994091, 37.780129000498597 ], [ -122.484681999672077, 37.780029000499248 ], [ -122.485881999678782, 37.779929000450885 ], [ -122.486882999665511, 37.779929000498129 ], [ -122.487983000445794, 37.779929000462261 ], [ -122.48908300027378, 37.779829000995328 ], [ -122.49008299964585, 37.779729001080582 ], [ -122.491182999872279, 37.779729000901469 ], [ -122.492183000328836, 37.779729000267572 ], [ -122.49328299950831, 37.779729000307064 ], [ -122.493682999759059, 37.781529000581862 ], [ -122.493082999433597, 37.781629000343571 ], [ -122.493215999618982, 37.782893000952498 ], [ -122.493283000384764, 37.783529000586789 ], [ -122.492482999453898, 37.783529000468405 ], [ -122.491483000025553, 37.78352900080089 ], [ -122.490382999530482, 37.783629000828014 ], [ -122.489183000069474, 37.783629000626036 ], [ -122.488182999423202, 37.783629000880779 ], [ -122.487125000209886, 37.783676000612786 ], [ -122.487282999917852, 37.785629001035907 ], [ -122.486183000264532, 37.785729000467327 ], [ -122.485078999888728, 37.785785000642385 ], [ -122.483983000431863, 37.78582900108168 ], [ -122.483806999758741, 37.783932001052612 ], [ -122.483715000119759, 37.7820610007509 ], [ -122.4836819994091, 37.780129000498597 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 67, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.460381999520266, 37.773929000342491 ], [ -122.461481999670696, 37.773829000525858 ], [ -122.462481999613075, 37.773729000295198 ], [ -122.463481999629224, 37.773529000604768 ], [ -122.463781999664803, 37.775329000887098 ], [ -122.463881999762705, 37.777229000356883 ], [ -122.464081999617235, 37.779029000762002 ], [ -122.464081999905574, 37.781029000867193 ], [ -122.462981999783366, 37.781029000336673 ], [ -122.462082000335229, 37.781029000542503 ], [ -122.460981999750899, 37.78112900100566 ], [ -122.459782000224564, 37.781229000539938 ], [ -122.458681999601936, 37.781229000410939 ], [ -122.458582000176392, 37.779329000908547 ], [ -122.458482000294921, 37.778029000941316 ], [ -122.458405999446299, 37.777462000948816 ], [ -122.458382000207322, 37.77712900111019 ], [ -122.458282000400658, 37.776029000341531 ], [ -122.458274999606743, 37.775640000576431 ], [ -122.458181999454197, 37.775129000950308 ], [ -122.458081999671379, 37.774229000449161 ], [ -122.459182000453055, 37.774129000504381 ], [ -122.460381999520266, 37.773929000342491 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 63, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.47658200038488, 37.772929000962854 ], [ -122.477681999813939, 37.772829000297101 ], [ -122.478781999444578, 37.772829001121643 ], [ -122.478881999731144, 37.774529000583478 ], [ -122.478981999463187, 37.776429000370975 ], [ -122.479182000482382, 37.778329000785135 ], [ -122.479282000506316, 37.780229000941631 ], [ -122.478182000133131, 37.78032900077352 ], [ -122.477081999534221, 37.780329000321615 ], [ -122.475982000115621, 37.780329000420906 ], [ -122.474982000487813, 37.780529000345076 ], [ -122.473882000467768, 37.780529000655712 ], [ -122.472682000139571, 37.780629000975274 ], [ -122.472185000274038, 37.780621001004327 ], [ -122.471982000025278, 37.778729000926106 ], [ -122.47188199995125, 37.776829000966394 ], [ -122.471681999787393, 37.774929000873023 ], [ -122.471781999590007, 37.773029000260316 ], [ -122.472181999914554, 37.773029000806631 ], [ -122.473282000000225, 37.773029000711567 ], [ -122.474482000336096, 37.772929000992455 ], [ -122.475482000503987, 37.772929000324751 ], [ -122.47658200038488, 37.772929000962854 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 61, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.478981999463187, 37.776429000370975 ], [ -122.480082000262541, 37.776429000939856 ], [ -122.481181999983548, 37.776429000247646 ], [ -122.482182000165793, 37.776329000536506 ], [ -122.483281999574046, 37.776229000952668 ], [ -122.484381999872568, 37.776229001024234 ], [ -122.485381999468487, 37.776229000286691 ], [ -122.486482000036148, 37.776129000557916 ], [ -122.487681999620307, 37.776129000876921 ], [ -122.48878200025321, 37.776029000391183 ], [ -122.488882999917536, 37.777929000890879 ], [ -122.48908300027378, 37.779829000995328 ], [ -122.487983000445794, 37.779929000462261 ], [ -122.486882999665511, 37.779929000498129 ], [ -122.485881999678782, 37.779929000450885 ], [ -122.484681999672077, 37.780029000499248 ], [ -122.4836819994091, 37.780129000498597 ], [ -122.482582000391204, 37.780129000937848 ], [ -122.481482000123762, 37.780229000954158 ], [ -122.48038199972504, 37.780229000672314 ], [ -122.479282000506316, 37.780229000941631 ], [ -122.479182000482382, 37.778329000785135 ], [ -122.478981999463187, 37.776429000370975 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 59, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.49708299995126, 37.771930000234782 ], [ -122.498083000422056, 37.771830000456546 ], [ -122.498182999409437, 37.773730000654439 ], [ -122.498382999534144, 37.775529000851897 ], [ -122.498482999959435, 37.777529000602208 ], [ -122.49868299957329, 37.779329000545552 ], [ -122.4986829997911, 37.780529000659449 ], [ -122.498782999426879, 37.781029000629864 ], [ -122.498782999544574, 37.781329000596415 ], [ -122.496582999616919, 37.781429000844966 ], [ -122.495582999444935, 37.78152900087477 ], [ -122.494482999610483, 37.781529000597168 ], [ -122.493682999759059, 37.781529000581862 ], [ -122.49328299950831, 37.779729000307064 ], [ -122.492183000328836, 37.779729000267572 ], [ -122.491182999872279, 37.779729000901469 ], [ -122.49008299964585, 37.779729001080582 ], [ -122.48908300027378, 37.779829000995328 ], [ -122.488882999917536, 37.777929000890879 ], [ -122.48878200025321, 37.776029000391183 ], [ -122.488581999680164, 37.774129000411087 ], [ -122.488381999786554, 37.772330000975465 ], [ -122.489581999858672, 37.772230000591442 ], [ -122.490582000290544, 37.772230000633677 ], [ -122.49168199948646, 37.772130000763823 ], [ -122.492782000309177, 37.772030000536184 ], [ -122.493882000115406, 37.772030000965749 ], [ -122.494882999510082, 37.772030000335072 ], [ -122.495882999667174, 37.771930000312807 ], [ -122.49708299995126, 37.771930000234782 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 55, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.50938300034089, 37.778929001025084 ], [ -122.509282999996259, 37.779829000648647 ], [ -122.509682999515704, 37.780629000541502 ], [ -122.50758300035406, 37.780629000443007 ], [ -122.506082999956135, 37.780729000911762 ], [ -122.506083000032177, 37.780929000957045 ], [ -122.504982999563708, 37.780929000488804 ], [ -122.503983000096653, 37.781029000672113 ], [ -122.502882999633385, 37.781129000428805 ], [ -122.501883000343938, 37.781129000795993 ], [ -122.50098299940413, 37.781229000710162 ], [ -122.499883000007543, 37.781329000380296 ], [ -122.498782999544574, 37.781329000596415 ], [ -122.498782999426879, 37.781029000629864 ], [ -122.4986829997911, 37.780529000659449 ], [ -122.49868299957329, 37.779329000545552 ], [ -122.498482999959435, 37.777529000602208 ], [ -122.499483000295868, 37.777429000963657 ], [ -122.500583000278624, 37.777329000294941 ], [ -122.501582999417082, 37.777329000900778 ], [ -122.502582999737896, 37.777329000234985 ], [ -122.503682999863969, 37.777229000351333 ], [ -122.504683000045929, 37.777229000785773 ], [ -122.505783000488336, 37.777129001113238 ], [ -122.50688300028493, 37.777029001073018 ], [ -122.507982999819802, 37.777029000761445 ], [ -122.509082999801834, 37.776929000899266 ], [ -122.50938300034089, 37.778929001025084 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 2, "TAZ1454": 56, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.49298299949055, 37.787829000514684 ], [ -122.493382999863243, 37.787429001087474 ], [ -122.493382999812354, 37.786629000332276 ], [ -122.493283000384764, 37.783529000586789 ], [ -122.493215999618982, 37.782893000952498 ], [ -122.493082999433597, 37.781629000343571 ], [ -122.493682999759059, 37.781529000581862 ], [ -122.494482999610483, 37.781529000597168 ], [ -122.495582999444935, 37.78152900087477 ], [ -122.496582999616919, 37.781429000844966 ], [ -122.498782999544574, 37.781329000596415 ], [ -122.499883000007543, 37.781329000380296 ], [ -122.50098299940413, 37.781229000710162 ], [ -122.501883000343938, 37.781129000795993 ], [ -122.502882999633385, 37.781129000428805 ], [ -122.503983000096653, 37.781029000672113 ], [ -122.504982999563708, 37.780929000488804 ], [ -122.506083000032177, 37.780929000957045 ], [ -122.506082999956135, 37.780729000911762 ], [ -122.50758300035406, 37.780629000443007 ], [ -122.509682999515704, 37.780629000541502 ], [ -122.510683000004803, 37.782229001131142 ], [ -122.510082999529772, 37.78312900101951 ], [ -122.509682999923598, 37.783529000977055 ], [ -122.509783000303273, 37.784029000594771 ], [ -122.509883000255769, 37.784829000904089 ], [ -122.509283000440476, 37.785329000926033 ], [ -122.507682999622801, 37.786129001094899 ], [ -122.507083000204432, 37.787129001071506 ], [ -122.506835999994323, 37.78723700036938 ], [ -122.506178999946641, 37.787618001133303 ], [ -122.505310000408073, 37.788312000819801 ], [ -122.50390599963697, 37.788473001107008 ], [ -122.502578000258168, 37.788595001032739 ], [ -122.501097999683935, 37.788961000474323 ], [ -122.500213000066736, 37.789121000395212 ], [ -122.498793999492307, 37.788862000844283 ], [ -122.497878999687032, 37.788244001103692 ], [ -122.497069999650677, 37.78772500091236 ], [ -122.495757999786733, 37.787992001047726 ], [ -122.494582999718631, 37.788129000980689 ], [ -122.49298299949055, 37.787829000514684 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 158, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.408881999794943, 37.716831000988414 ], [ -122.407882000189403, 37.716631000919413 ], [ -122.408056000432012, 37.716262000363123 ], [ -122.40818199988459, 37.71603100054655 ], [ -122.408614999469265, 37.716122000350275 ], [ -122.409182000207664, 37.716231000773718 ], [ -122.409482000425896, 37.716331001095483 ], [ -122.410382000254984, 37.716431000575362 ], [ -122.410581999954999, 37.716131000738208 ], [ -122.410868000460184, 37.71565400067017 ], [ -122.411170999808121, 37.714996001128583 ], [ -122.41148200044195, 37.714231000585194 ], [ -122.413681999698937, 37.714831000916838 ], [ -122.4151819997508, 37.71523100100633 ], [ -122.41538199944101, 37.715131000707387 ], [ -122.415482000203056, 37.714731000487433 ], [ -122.415782000112188, 37.714031000307365 ], [ -122.415793999435209, 37.713918000638934 ], [ -122.415181999569157, 37.713831000248888 ], [ -122.41538199951404, 37.713431000281602 ], [ -122.415718999742666, 37.712756000562585 ], [ -122.420379000440818, 37.71392600055227 ], [ -122.420951000121377, 37.713724001104261 ], [ -122.421266000098839, 37.713252000248595 ], [ -122.421682000338919, 37.71193100113053 ], [ -122.422282000075427, 37.711131000303773 ], [ -122.422381999660644, 37.71093100093529 ], [ -122.422882000417019, 37.710331000782247 ], [ -122.424581999406598, 37.71003100056064 ], [ -122.425326000018885, 37.710335000538969 ], [ -122.426782000102378, 37.710931000981304 ], [ -122.426581999669182, 37.711531000780894 ], [ -122.425682000342576, 37.714331000581915 ], [ -122.427482000327331, 37.714931000998483 ], [ -122.427382000211438, 37.7156310004844 ], [ -122.427082000400048, 37.716631000239104 ], [ -122.426482000397058, 37.718531000633334 ], [ -122.425681999561377, 37.719131000694397 ], [ -122.425481999558201, 37.720131000569602 ], [ -122.424581999910302, 37.721531000521743 ], [ -122.424882000131944, 37.721931000709255 ], [ -122.42378200033491, 37.723631000744135 ], [ -122.422882000051686, 37.723831000711826 ], [ -122.422282000209165, 37.724031000589868 ], [ -122.42178200041937, 37.724131000576655 ], [ -122.420882000117018, 37.724331000541788 ], [ -122.419882000120893, 37.724631000607559 ], [ -122.419282000421191, 37.723531000537321 ], [ -122.418181999664469, 37.723631000693565 ], [ -122.417582000117449, 37.722531000910109 ], [ -122.416881999867925, 37.722531000751147 ], [ -122.416681999852955, 37.722131001125639 ], [ -122.415681999539316, 37.722331000232202 ], [ -122.415882000275857, 37.722831000352166 ], [ -122.414981999622384, 37.723331000422696 ], [ -122.414082000338865, 37.723431001043863 ], [ -122.413081999451592, 37.723631000497775 ], [ -122.412681999802899, 37.722431001124875 ], [ -122.411981999709113, 37.721231000426648 ], [ -122.411581999585266, 37.72003100054301 ], [ -122.411182000109349, 37.718931000678893 ], [ -122.410182000277572, 37.719231000863296 ], [ -122.408982000219041, 37.71943100068659 ], [ -122.408082000065306, 37.71973100024352 ], [ -122.407082000285754, 37.719931000417127 ], [ -122.406881999430553, 37.719131000540564 ], [ -122.406981999565687, 37.718331000833629 ], [ -122.407281999934241, 37.717731000270319 ], [ -122.408282000155054, 37.718131000474621 ], [ -122.408881999794943, 37.716831000988414 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 149, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.392681999638697, 37.708331000855253 ], [ -122.393781999754907, 37.708231000678232 ], [ -122.395182000435227, 37.708331000632498 ], [ -122.395782000441926, 37.708331000729316 ], [ -122.4002820004645, 37.708331001013036 ], [ -122.400982000452061, 37.708331001041934 ], [ -122.401481999652731, 37.708331000316505 ], [ -122.40198200034736, 37.708231000276513 ], [ -122.402382000501404, 37.708331000348316 ], [ -122.402682000031717, 37.708331000931366 ], [ -122.402981999572305, 37.70833100075108 ], [ -122.403282000250414, 37.70833100071448 ], [ -122.404682000443714, 37.708331000649615 ], [ -122.405225999527573, 37.708271000565141 ], [ -122.40545300009255, 37.708245000329747 ], [ -122.405582000344594, 37.708231000661165 ], [ -122.404981999610541, 37.709031001076347 ], [ -122.403982000126248, 37.710331000702425 ], [ -122.403581999453792, 37.711131000392811 ], [ -122.403182000092372, 37.71163100084128 ], [ -122.402582000165594, 37.71213100059947 ], [ -122.402274000289054, 37.712169000334121 ], [ -122.401781999574936, 37.712231000865131 ], [ -122.401051000503571, 37.712657000959105 ], [ -122.400581999568189, 37.712931000477361 ], [ -122.400082000280634, 37.713531000666109 ], [ -122.399859000033274, 37.71384400057817 ], [ -122.399082000379934, 37.714931000282718 ], [ -122.398978999999372, 37.715188000725774 ], [ -122.398878999746941, 37.715438000478791 ], [ -122.398837000504813, 37.715543000242171 ], [ -122.398682000339221, 37.715931000918609 ], [ -122.398682000084477, 37.716192000938278 ], [ -122.398682000237244, 37.71743700085031 ], [ -122.398681999528307, 37.717531000489863 ], [ -122.398081999639729, 37.718031000915552 ], [ -122.397381999852982, 37.718731000279995 ], [ -122.396981999731281, 37.719331000993385 ], [ -122.396800999994497, 37.719966000719921 ], [ -122.396782000486141, 37.720031000464019 ], [ -122.395681999440981, 37.719431000313236 ], [ -122.39358199964488, 37.718331000241534 ], [ -122.392682000119478, 37.718031001125787 ], [ -122.3916820003694, 37.717531000768219 ], [ -122.391281999716568, 37.718031000456335 ], [ -122.390580999768403, 37.717531001071904 ], [ -122.389380999957041, 37.71683100056498 ], [ -122.388781000139474, 37.716331000675943 ], [ -122.388381000110058, 37.71613100076268 ], [ -122.386780999393238, 37.717431001031045 ], [ -122.385550000458892, 37.718769000749717 ], [ -122.38448099988166, 37.719931000437754 ], [ -122.383880999952495, 37.720431000984725 ], [ -122.375981000482795, 37.715831001024426 ], [ -122.380322999423171, 37.711769000307022 ], [ -122.380917999438608, 37.711136000817682 ], [ -122.380871999841773, 37.710869000708826 ], [ -122.380673999702722, 37.710502001030434 ], [ -122.380643000125033, 37.710106000504801 ], [ -122.379789000136128, 37.709587001095493 ], [ -122.379481000472282, 37.709331000637391 ], [ -122.378842999947082, 37.709587000807062 ], [ -122.378018999829166, 37.709831000480555 ], [ -122.377484999789758, 37.710182000280312 ], [ -122.377118999428092, 37.710724000903888 ], [ -122.376797999687241, 37.710983000842305 ], [ -122.376447000373702, 37.710670000954536 ], [ -122.375851999876247, 37.710388001103226 ], [ -122.375424999480856, 37.710205000716122 ], [ -122.375303000283424, 37.709869000814123 ], [ -122.375501000407922, 37.709564000800434 ], [ -122.377987999985379, 37.709266000653393 ], [ -122.37981899951815, 37.709221000775528 ], [ -122.382590999948334, 37.709621000981819 ], [ -122.382673000437549, 37.709633000616918 ], [ -122.385893000327414, 37.709724000367608 ], [ -122.387482000521345, 37.708331000387176 ], [ -122.389181999773612, 37.709231000596041 ], [ -122.390073999413644, 37.708503000656783 ], [ -122.390975000356207, 37.709083000661245 ], [ -122.392255999888789, 37.708549000522751 ], [ -122.392681999638697, 37.708331000855253 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 207, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.42138200052112, 37.702932000796636 ], [ -122.424350000350444, 37.704224000715278 ], [ -122.424430999933136, 37.704786001074325 ], [ -122.424782000143637, 37.705832001083493 ], [ -122.424648000509393, 37.706155000859368 ], [ -122.424515000385924, 37.706473000290664 ], [ -122.423781999764174, 37.708231000911901 ], [ -122.422382000239452, 37.708231000668128 ], [ -122.420082000398807, 37.708231000483252 ], [ -122.419182000032791, 37.708231000381872 ], [ -122.418181999776252, 37.70833100110459 ], [ -122.417081999587992, 37.708331001043597 ], [ -122.41608200049474, 37.70833100110039 ], [ -122.415181999854028, 37.708231000235166 ], [ -122.414482000347064, 37.708231000702533 ], [ -122.414181999920856, 37.708231000399898 ], [ -122.413996999784075, 37.708252000339016 ], [ -122.413281999878848, 37.708331000283096 ], [ -122.410370000449632, 37.708283000306906 ], [ -122.407181999398645, 37.708231001093289 ], [ -122.406482000174478, 37.708331000856667 ], [ -122.405582000344594, 37.708231000661165 ], [ -122.406882000222538, 37.70533100069671 ], [ -122.40708200018301, 37.704731000817887 ], [ -122.40798200032971, 37.70503100028013 ], [ -122.408982000157081, 37.705231000262955 ], [ -122.410282000293662, 37.70563100090407 ], [ -122.411453000317636, 37.703193000356258 ], [ -122.411481999531105, 37.703132001120878 ], [ -122.412108999420383, 37.701789000369047 ], [ -122.41215700013808, 37.701685000696223 ], [ -122.411720000200319, 37.701552000420278 ], [ -122.411206000132211, 37.701363000575839 ], [ -122.411433000246191, 37.700903000418897 ], [ -122.411775999495504, 37.699855000466407 ], [ -122.412003000148729, 37.699415000352488 ], [ -122.412155000411374, 37.699488000250724 ], [ -122.41222699962421, 37.699370000901091 ], [ -122.412336999847128, 37.699162000805963 ], [ -122.412103999548606, 37.699119000784123 ], [ -122.412204000056718, 37.698953000422257 ], [ -122.412246000145103, 37.698870000439058 ], [ -122.412386999993956, 37.698612000608129 ], [ -122.413573000438021, 37.698697000615681 ], [ -122.413782000061005, 37.698332000349502 ], [ -122.413811999655849, 37.698242000835634 ], [ -122.413416999638457, 37.698032000964396 ], [ -122.413882000325486, 37.698032000439838 ], [ -122.417535999710921, 37.698563000751292 ], [ -122.419135000410932, 37.698796000561103 ], [ -122.419381999574355, 37.698832000966327 ], [ -122.419327000113739, 37.698941000398563 ], [ -122.419182000108506, 37.699232000796577 ], [ -122.418981999683439, 37.699432000889068 ], [ -122.418669000475433, 37.70026600109189 ], [ -122.418510999641526, 37.700687000262057 ], [ -122.418082000390996, 37.701832000750144 ], [ -122.42138200052112, 37.702932000796636 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 203, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.461582999567312, 37.694232001055248 ], [ -122.461483000526854, 37.692732000549206 ], [ -122.461783000359574, 37.692732001068023 ], [ -122.462382999437239, 37.692832000245645 ], [ -122.463182999562662, 37.692632000770686 ], [ -122.464083000208234, 37.692632000582904 ], [ -122.464883000306713, 37.692632000355239 ], [ -122.464783000296038, 37.693132000293566 ], [ -122.465682999821482, 37.693032000985596 ], [ -122.466683000335237, 37.693132000943201 ], [ -122.467683000477791, 37.693132000990232 ], [ -122.468682999530046, 37.693132000663446 ], [ -122.469476999967441, 37.693119000994031 ], [ -122.470255000442336, 37.693109000330814 ], [ -122.470295000283357, 37.69404700107048 ], [ -122.470583000342941, 37.695432000898776 ], [ -122.471282999812502, 37.700132000528683 ], [ -122.471275000472929, 37.70149000088675 ], [ -122.470496999516939, 37.701490000573614 ], [ -122.469641000446131, 37.701553000331586 ], [ -122.469415999524188, 37.70161600025672 ], [ -122.469182999416859, 37.701732000462577 ], [ -122.468282999731045, 37.701732000487077 ], [ -122.467282999431475, 37.70153200095983 ], [ -122.466282999958196, 37.701432000479002 ], [ -122.465983000395184, 37.70113200047507 ], [ -122.46568300040515, 37.701032000315969 ], [ -122.465083000143039, 37.701132000428323 ], [ -122.464682999641269, 37.700932000698998 ], [ -122.463057000091055, 37.701136000931655 ], [ -122.462983000220987, 37.701432000919951 ], [ -122.462567000156497, 37.702995000626423 ], [ -122.461978999673065, 37.702994000956679 ], [ -122.461984999495513, 37.702106000947992 ], [ -122.46200499979696, 37.701638000447581 ], [ -122.461993000019831, 37.701431000414708 ], [ -122.461989000129961, 37.701054000870215 ], [ -122.461982999872589, 37.700732000990804 ], [ -122.461983000165915, 37.700532000394944 ], [ -122.461982999859359, 37.699932000364164 ], [ -122.461906999413429, 37.699400001030718 ], [ -122.461883000388795, 37.699232000610209 ], [ -122.461883000511776, 37.698732000783487 ], [ -122.461782999562786, 37.697232000721755 ], [ -122.46168300000204, 37.69573200111622 ], [ -122.461782999722956, 37.694832000728987 ], [ -122.461582999567312, 37.694232001055248 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 192, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.472172000086687, 37.704790000571457 ], [ -122.471783000215254, 37.704832000780222 ], [ -122.471485999940072, 37.704866000946936 ], [ -122.471186000227974, 37.704899000862099 ], [ -122.470870000277216, 37.70490500111152 ], [ -122.470877000076328, 37.704754001010272 ], [ -122.471233000230782, 37.702473000552615 ], [ -122.471275000472929, 37.70149000088675 ], [ -122.471282999812502, 37.700132000528683 ], [ -122.471482999888423, 37.701132000996843 ], [ -122.47200600006235, 37.701538000246863 ], [ -122.474470999764776, 37.70268300041819 ], [ -122.476282999572888, 37.702832001082164 ], [ -122.477083000278753, 37.702632000687061 ], [ -122.478482999773433, 37.699432001105649 ], [ -122.479137000243924, 37.697253000419572 ], [ -122.479683000005281, 37.695432000895366 ], [ -122.480282999635236, 37.695332000998683 ], [ -122.48218300031337, 37.695332000824322 ], [ -122.484582999553623, 37.695432001052552 ], [ -122.484583000280594, 37.696232000324194 ], [ -122.484882999755285, 37.696232000697556 ], [ -122.486282999631513, 37.696232000769967 ], [ -122.486284000051711, 37.696522000901624 ], [ -122.486266999501581, 37.697045000424779 ], [ -122.485327000414784, 37.697036000860734 ], [ -122.485882999972262, 37.698332000234728 ], [ -122.486182999894183, 37.699032000339024 ], [ -122.486482999712607, 37.699732000515006 ], [ -122.486752999439659, 37.700204000350773 ], [ -122.485783000341925, 37.700532000572785 ], [ -122.484382999708913, 37.700932000380234 ], [ -122.481683000360192, 37.701732001064869 ], [ -122.481882999844927, 37.701932001071995 ], [ -122.480482999700158, 37.70233200030485 ], [ -122.477583000152762, 37.703232000816215 ], [ -122.475083000259445, 37.704032000953354 ], [ -122.474083000236632, 37.704332000994043 ], [ -122.473286999639569, 37.704573000970541 ], [ -122.472982999966462, 37.704646001047898 ], [ -122.472172000086687, 37.704790000571457 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 196, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.500384000112419, 37.700832000976895 ], [ -122.495984000126796, 37.700832000594133 ], [ -122.495384000136127, 37.700832000479458 ], [ -122.49468400037442, 37.698632000643748 ], [ -122.494583999527237, 37.698432001060475 ], [ -122.494583999497166, 37.698232001023001 ], [ -122.494383999605347, 37.697732001104455 ], [ -122.494383999591733, 37.697033000889924 ], [ -122.494184000024489, 37.692533000903367 ], [ -122.492784000066877, 37.690633000978266 ], [ -122.492483999914782, 37.690333000963776 ], [ -122.492084000435923, 37.690033000348045 ], [ -122.489684000433513, 37.687733000956214 ], [ -122.488784000385678, 37.685033000768655 ], [ -122.488984000376576, 37.683433000354029 ], [ -122.489083999754413, 37.682833000365569 ], [ -122.489083999902547, 37.682433001121815 ], [ -122.489841999664947, 37.67650300062315 ], [ -122.489800999905512, 37.676233000956962 ], [ -122.489689000024896, 37.675696000262867 ], [ -122.489614999876252, 37.675348000761595 ], [ -122.48933900003027, 37.674670000416846 ], [ -122.48891399993984, 37.673785000388818 ], [ -122.48832499984151, 37.672505000993326 ], [ -122.488283999864663, 37.67241100085991 ], [ -122.488056999871034, 37.671886000784774 ], [ -122.48608399994464, 37.66933400050857 ], [ -122.485583999551778, 37.668834001053469 ], [ -122.484791999759352, 37.668205000244349 ], [ -122.484684000514321, 37.668134001049935 ], [ -122.484397000116246, 37.667972000613787 ], [ -122.48418399963883, 37.667834001101966 ], [ -122.482184000069992, 37.666634000829632 ], [ -122.481783999395716, 37.666334000628211 ], [ -122.483783999673662, 37.667134000301694 ], [ -122.483997000103145, 37.667108000531975 ], [ -122.484112999913705, 37.667075000940883 ], [ -122.484222000454409, 37.667021000243828 ], [ -122.484383999420956, 37.666834000781343 ], [ -122.484683999663872, 37.666434001057588 ], [ -122.484883999955969, 37.666034001000995 ], [ -122.485184000478313, 37.665334000582227 ], [ -122.484884000218301, 37.664434000500002 ], [ -122.484833000011903, 37.664241000834132 ], [ -122.485181000098279, 37.664266000844151 ], [ -122.485732000403914, 37.664305000360535 ], [ -122.485711999417248, 37.663768000338777 ], [ -122.485570000111778, 37.663099000816906 ], [ -122.485095000427478, 37.66237300056536 ], [ -122.48508400041824, 37.662134000283082 ], [ -122.485884000272833, 37.661434000657366 ], [ -122.488384000186031, 37.661334000317261 ], [ -122.491438999882661, 37.662193000467497 ], [ -122.491584000112283, 37.662234000746345 ], [ -122.49277399998941, 37.663334000742559 ], [ -122.492984000271477, 37.66353400076764 ], [ -122.493383999707063, 37.664034000451892 ], [ -122.494584999935242, 37.664034000702451 ], [ -122.49558399956527, 37.665334000262142 ], [ -122.495786999966541, 37.665618001058554 ], [ -122.496084000333425, 37.666034000352035 ], [ -122.495683999430682, 37.666334000938249 ], [ -122.495384000408421, 37.673833000850358 ], [ -122.496783999503933, 37.686433000952789 ], [ -122.500367999458987, 37.700770000283079 ], [ -122.500384000112419, 37.700832000976895 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 201, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.461083000424367, 37.690532000262436 ], [ -122.460882999511568, 37.689732000768664 ], [ -122.460683000092843, 37.689333000565419 ], [ -122.46044700038378, 37.689183000981672 ], [ -122.459717999991497, 37.688719001099237 ], [ -122.459583000237004, 37.688633000658704 ], [ -122.459469000079366, 37.688728000872956 ], [ -122.458983000138687, 37.689133001000371 ], [ -122.457583000511661, 37.688433001022261 ], [ -122.457082999855132, 37.68883300045524 ], [ -122.455683000443315, 37.688033000909101 ], [ -122.456083000179149, 37.687533000849534 ], [ -122.456583000376924, 37.686933000941075 ], [ -122.457082999594704, 37.686433000241493 ], [ -122.457583000274496, 37.685733000812924 ], [ -122.457983000418267, 37.685133000705882 ], [ -122.458211999869903, 37.684598000725558 ], [ -122.458283000158644, 37.68443300077417 ], [ -122.458375999426408, 37.684291000955504 ], [ -122.458377000197842, 37.684290000570847 ], [ -122.458538999591511, 37.684067000566372 ], [ -122.459409000335967, 37.685135000712457 ], [ -122.459728999429572, 37.685565000880487 ], [ -122.460335999912445, 37.685468000450342 ], [ -122.460482999493465, 37.685472000754359 ], [ -122.462135000354479, 37.685516000245428 ], [ -122.462871999422276, 37.685493000878942 ], [ -122.464048000240766, 37.685363000627476 ], [ -122.463882999468339, 37.68503300083659 ], [ -122.463583000014538, 37.684333000839061 ], [ -122.463483000000835, 37.683733000306887 ], [ -122.464982999919727, 37.683633001118046 ], [ -122.464082999512812, 37.683033000413481 ], [ -122.46338300023217, 37.682733000829892 ], [ -122.463373999685501, 37.682711000806428 ], [ -122.463182999832327, 37.682233000616996 ], [ -122.465082999768214, 37.682133000326225 ], [ -122.466241999924961, 37.682111000802614 ], [ -122.46973200017139, 37.68204500043614 ], [ -122.470224999874191, 37.682036000860528 ], [ -122.470658999445007, 37.682098000697472 ], [ -122.471183999719159, 37.682133000312874 ], [ -122.471265000180352, 37.683227000837448 ], [ -122.471283999813267, 37.683533000619136 ], [ -122.471279999833001, 37.684634000753221 ], [ -122.471177000279184, 37.686028000477535 ], [ -122.471127000029895, 37.686541000730855 ], [ -122.471000999964744, 37.687010000584472 ], [ -122.470835000051991, 37.687325001016141 ], [ -122.470624000412371, 37.687639000621381 ], [ -122.470472999488038, 37.687868000913134 ], [ -122.470342000519423, 37.688155000264061 ], [ -122.470183000106431, 37.688833000414334 ], [ -122.470255000442336, 37.693109000330814 ], [ -122.469476999967441, 37.693119000994031 ], [ -122.468682999530046, 37.693132000663446 ], [ -122.467683000477791, 37.693132000990232 ], [ -122.466683000335237, 37.693132000943201 ], [ -122.465682999821482, 37.693032000985596 ], [ -122.464783000296038, 37.693132000293566 ], [ -122.464883000306713, 37.692632000355239 ], [ -122.464083000208234, 37.692632000582904 ], [ -122.463182999562662, 37.692632000770686 ], [ -122.462382999437239, 37.692832000245645 ], [ -122.461783000359574, 37.692732001068023 ], [ -122.461483000526854, 37.692732000549206 ], [ -122.461283000251754, 37.691532001120308 ], [ -122.461083000424367, 37.690532000262436 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 547, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.898666000022487, 37.352641000801086 ], [ -121.900265999614547, 37.354740000774903 ], [ -121.901566999422812, 37.356540000914386 ], [ -121.903166999998959, 37.358540001007327 ], [ -121.903566999736938, 37.359140000426621 ], [ -121.904766999504773, 37.360740000239865 ], [ -121.903166999779302, 37.362340000824283 ], [ -121.903053000366342, 37.362499000560035 ], [ -121.902166999583443, 37.363740000365588 ], [ -121.901966999636869, 37.364040000903401 ], [ -121.901567000348095, 37.363940000517793 ], [ -121.899166999402453, 37.363540000460439 ], [ -121.898266999473748, 37.363440001089025 ], [ -121.89636600012048, 37.363340000637095 ], [ -121.895566000422093, 37.36324000079837 ], [ -121.893965999803626, 37.363140000622224 ], [ -121.891565999968208, 37.362840000270864 ], [ -121.889165999396695, 37.362540000881552 ], [ -121.887765999534565, 37.362440000688913 ], [ -121.886065999894342, 37.362240000343554 ], [ -121.885361999721695, 37.362180000880706 ], [ -121.877565999854198, 37.361040000857443 ], [ -121.878766000239281, 37.359540001075167 ], [ -121.879215999645282, 37.359090000562176 ], [ -121.879265999989698, 37.359040000999933 ], [ -121.88046600008505, 37.358440000621144 ], [ -121.881466000144187, 37.358040000983557 ], [ -121.882265999396509, 37.357540000739093 ], [ -121.88316600021669, 37.357140000483746 ], [ -121.884166000377078, 37.356740000243896 ], [ -121.884198000276697, 37.356721000771699 ], [ -121.885166000141439, 37.356140000510315 ], [ -121.886065999429093, 37.355840000828607 ], [ -121.886966000349574, 37.35534000055172 ], [ -121.887865999691016, 37.354940000968611 ], [ -121.888765999666433, 37.354540000759116 ], [ -121.889665999885864, 37.354040000321099 ], [ -121.890765999769329, 37.35354000110604 ], [ -121.891766000248808, 37.353040001019849 ], [ -121.892865999877472, 37.35254000091885 ], [ -121.892965999881, 37.352540000402193 ], [ -121.8931660004382, 37.352440000365554 ], [ -121.89386599952482, 37.352140000494231 ], [ -121.894965999654403, 37.351541000338628 ], [ -121.896066000207895, 37.351141000413122 ], [ -121.897165999842258, 37.350541000611244 ], [ -121.898666000022487, 37.352641000801086 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 542, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.921966999674069, 37.346041000282234 ], [ -121.919566999708522, 37.344941000640745 ], [ -121.918266999515879, 37.344241001097743 ], [ -121.91636700007902, 37.343341000561175 ], [ -121.91556700026824, 37.342541000774403 ], [ -121.91446700018534, 37.341541001054239 ], [ -121.913366999713887, 37.340541001043746 ], [ -121.914667000522201, 37.339741000327834 ], [ -121.915867000345628, 37.338741000444422 ], [ -121.91706699978937, 37.33794100084031 ], [ -121.917467000521114, 37.33764100027895 ], [ -121.919366999470569, 37.337641000923121 ], [ -121.920767000031759, 37.336541000407088 ], [ -121.921667000505124, 37.335841000489999 ], [ -121.922667000088907, 37.335041000884836 ], [ -121.924066999638811, 37.333941000749263 ], [ -121.924967000504409, 37.33474100025046 ], [ -121.925566999807288, 37.335141000619721 ], [ -121.926766999932838, 37.336041000622288 ], [ -121.927867000113068, 37.337041000948268 ], [ -121.928966999904191, 37.338041000982109 ], [ -121.930066999839937, 37.338841000321153 ], [ -121.93046699979196, 37.339141000933871 ], [ -121.92970700012097, 37.339664000734651 ], [ -121.928867000440007, 37.340241001101546 ], [ -121.928772000467163, 37.340320000390079 ], [ -121.928266999993127, 37.340741000881849 ], [ -121.927480000103003, 37.341301000460824 ], [ -121.926300000031759, 37.342157000452936 ], [ -121.925967000176826, 37.342441001101705 ], [ -121.925766999676654, 37.342741000675183 ], [ -121.924566999981593, 37.344241001130285 ], [ -121.923966999706693, 37.34474100090452 ], [ -121.923358999487746, 37.34513600062148 ], [ -121.921966999674069, 37.346041000282234 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 558, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.893966000496818, 37.340541000908964 ], [ -121.893418000311371, 37.339897000796441 ], [ -121.893366000341103, 37.3398410004366 ], [ -121.892866000173598, 37.339141000869574 ], [ -121.891665999965753, 37.337741001007601 ], [ -121.890665999520948, 37.336141000815161 ], [ -121.890266000439865, 37.335741001001416 ], [ -121.889966000491711, 37.335241000885588 ], [ -121.889465999732153, 37.334441000437742 ], [ -121.888930000005388, 37.333759000282797 ], [ -121.888603999660575, 37.333344000956139 ], [ -121.888366000188725, 37.333041000690592 ], [ -121.887266000081141, 37.331541000636356 ], [ -121.886265999626445, 37.330041000633486 ], [ -121.8869659994795, 37.329741000533211 ], [ -121.887765999588026, 37.330441000565621 ], [ -121.888465999699719, 37.330941000381301 ], [ -121.891565999698031, 37.329441001096924 ], [ -121.892865999776376, 37.328741000930926 ], [ -121.891866000077201, 37.328241000707138 ], [ -121.891822000176305, 37.328197000290686 ], [ -121.891266000493289, 37.327641000740812 ], [ -121.890765999836802, 37.326741000487225 ], [ -121.890766000135613, 37.325941000902837 ], [ -121.890866000497269, 37.325541000737466 ], [ -121.890766000232333, 37.325141000310829 ], [ -121.890466000251251, 37.324741000948464 ], [ -121.890365999605478, 37.324241000959972 ], [ -121.891551999496357, 37.32398400052211 ], [ -121.892266000425437, 37.323841000751727 ], [ -121.893180999862551, 37.323657000908931 ], [ -121.894845000259068, 37.323209000352072 ], [ -121.89756599978908, 37.322741000656443 ], [ -121.898498000034749, 37.322290000317871 ], [ -121.900465999837834, 37.321041000335093 ], [ -121.900552000131214, 37.32097000071213 ], [ -121.900692000328704, 37.320854000830174 ], [ -121.900924000035261, 37.320663000534935 ], [ -121.901460000031932, 37.320221000813056 ], [ -121.902244999403024, 37.319573000786512 ], [ -121.902828999409962, 37.319091000938457 ], [ -121.903265999800297, 37.319341000255804 ], [ -121.903265999898949, 37.320241000975933 ], [ -121.902766000308205, 37.321341000992824 ], [ -121.902566000421118, 37.323341000287485 ], [ -121.902234000002707, 37.324060000310354 ], [ -121.900966000303526, 37.325741000748131 ], [ -121.90036599982993, 37.326541000745131 ], [ -121.899466000515559, 37.328241000659354 ], [ -121.8996660004848, 37.329541000953697 ], [ -121.89936599993564, 37.330541000811998 ], [ -121.899365999609699, 37.332141000816797 ], [ -121.89925199958131, 37.33269500099459 ], [ -121.899141000369951, 37.333235000349077 ], [ -121.899165999777722, 37.333841000816385 ], [ -121.899406000350112, 37.334333000913396 ], [ -121.899386999848346, 37.334436000500389 ], [ -121.899466000214758, 37.334541000636008 ], [ -121.899999000253956, 37.335683000532569 ], [ -121.900166000124642, 37.33604100100461 ], [ -121.900217999545461, 37.336088000269321 ], [ -121.900299000108589, 37.336162000366926 ], [ -121.900419999948909, 37.336272000665417 ], [ -121.900475999512608, 37.336323001123752 ], [ -121.900619999708823, 37.336454000963592 ], [ -121.901266000509693, 37.337041000347718 ], [ -121.901300000387565, 37.337085000828111 ], [ -121.901338000245431, 37.337133000770372 ], [ -121.89976599973842, 37.337741000855246 ], [ -121.899200999761533, 37.338023000381597 ], [ -121.898940999507261, 37.338153000287463 ], [ -121.898765999777751, 37.338241000374296 ], [ -121.898542999929504, 37.338339000792651 ], [ -121.897166000457204, 37.338941000946733 ], [ -121.896165999443795, 37.339541000576631 ], [ -121.895459000232691, 37.339893001127734 ], [ -121.895051000134529, 37.340079000886185 ], [ -121.893966000496818, 37.340541000908964 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 556, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.881764999419005, 37.330141000277301 ], [ -121.882865999730242, 37.331641000908824 ], [ -121.883965999889625, 37.333041000827187 ], [ -121.882966000347238, 37.333541000238171 ], [ -121.881865999761871, 37.334041000460083 ], [ -121.880866000130069, 37.334541000773065 ], [ -121.879765000297283, 37.33504100056517 ], [ -121.878664999523949, 37.335641001038773 ], [ -121.877665000364061, 37.336141000906657 ], [ -121.876565000122923, 37.334641000566833 ], [ -121.875465000407246, 37.333241000561451 ], [ -121.876565000508009, 37.332741000531961 ], [ -121.877464999920818, 37.332141000867864 ], [ -121.878664999416955, 37.331741000400889 ], [ -121.879564999500914, 37.331141000690863 ], [ -121.880664999400693, 37.330641000712312 ], [ -121.881764999419005, 37.330141000277301 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 550, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.875465000366987, 37.343441000600997 ], [ -121.876364999635925, 37.343041000697774 ], [ -121.87726499952818, 37.342641001069452 ], [ -121.878166000074685, 37.342141000695506 ], [ -121.87916600023074, 37.34174100092438 ], [ -121.880065999778367, 37.341241000691383 ], [ -121.881065999822056, 37.340741001128436 ], [ -121.882265999626711, 37.342341000843632 ], [ -121.883266000084362, 37.343741000978852 ], [ -121.884366000118149, 37.345141001080123 ], [ -121.886066000510453, 37.347241000821647 ], [ -121.884965999691175, 37.347841001055244 ], [ -121.883965999744603, 37.348341001007711 ], [ -121.882966000089468, 37.348841000486509 ], [ -121.881966000355163, 37.349041000661543 ], [ -121.88116600010629, 37.349440000975704 ], [ -121.880365999737052, 37.349940000373344 ], [ -121.879366000183467, 37.350440000515192 ], [ -121.87846599947693, 37.350840000634449 ], [ -121.877565999392004, 37.351240001028273 ], [ -121.876666000098723, 37.351740000316703 ], [ -121.875766000062498, 37.352140000331964 ], [ -121.874865999518676, 37.352540000610809 ], [ -121.874665999571164, 37.352640001076658 ], [ -121.874466000240631, 37.352740000303427 ], [ -121.873665000358429, 37.350140000329375 ], [ -121.87336500003461, 37.349740000612393 ], [ -121.873864999878421, 37.348340000365845 ], [ -121.873965000371925, 37.346841000412745 ], [ -121.874364999503641, 37.345441000614237 ], [ -121.873965000415367, 37.34414100049834 ], [ -121.874364999929966, 37.343941001016148 ], [ -121.875465000366987, 37.343441000600997 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 554, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.873965000415367, 37.34414100049834 ], [ -121.87335099988924, 37.343527000976927 ], [ -121.872765000226011, 37.342941000369024 ], [ -121.871365000307648, 37.342241000761689 ], [ -121.870664999987625, 37.340641000242009 ], [ -121.870064999425338, 37.339341000463456 ], [ -121.869865000265264, 37.337741000623559 ], [ -121.868365000188007, 37.337141000642134 ], [ -121.86976500029229, 37.335941000682951 ], [ -121.870664999721953, 37.335541000901948 ], [ -121.871665000479723, 37.335041000970406 ], [ -121.872564999441764, 37.334641000943613 ], [ -121.873564999389103, 37.334141000918876 ], [ -121.874465000141186, 37.333741000668205 ], [ -121.875465000407246, 37.333241000561451 ], [ -121.876565000122923, 37.334641000566833 ], [ -121.877665000364061, 37.336141000906657 ], [ -121.878764999659907, 37.337541001085938 ], [ -121.879865999929166, 37.338941000472531 ], [ -121.880065999772185, 37.339341000287149 ], [ -121.880765999537829, 37.340341000635107 ], [ -121.881065999822056, 37.340741001128436 ], [ -121.880065999778367, 37.341241000691383 ], [ -121.87916600023074, 37.34174100092438 ], [ -121.878166000074685, 37.342141000695506 ], [ -121.87726499952818, 37.342641001069452 ], [ -121.876364999635925, 37.343041000697774 ], [ -121.875465000366987, 37.343441000600997 ], [ -121.874364999929966, 37.343941001016148 ], [ -121.873965000415367, 37.34414100049834 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 552, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.86336500015004, 37.342341000540458 ], [ -121.864965000093065, 37.344141000379651 ], [ -121.863764999622632, 37.344841000998237 ], [ -121.863065000129296, 37.345140000641543 ], [ -121.861964999719362, 37.345640001097543 ], [ -121.860265000311273, 37.346440001005071 ], [ -121.859548999491551, 37.346869000862931 ], [ -121.859264999642576, 37.347040000611194 ], [ -121.858964999419342, 37.346740000265719 ], [ -121.857425000344662, 37.345255000244535 ], [ -121.857076999720036, 37.344920001031937 ], [ -121.856165000248239, 37.344040001081844 ], [ -121.855468000309045, 37.342995000789607 ], [ -121.855364999915807, 37.342841000326636 ], [ -121.853321000335185, 37.340873000400059 ], [ -121.852464999508754, 37.339941000753932 ], [ -121.854523000013131, 37.338655000757036 ], [ -121.85486500006219, 37.338441000753811 ], [ -121.855408000281756, 37.33809200091796 ], [ -121.857665000506074, 37.336641001027267 ], [ -121.85786500000097, 37.336741001057625 ], [ -121.85800199999187, 37.336966000262869 ], [ -121.858164999798504, 37.337141000351252 ], [ -121.858559000106311, 37.337535000731961 ], [ -121.85916499999864, 37.338141000801699 ], [ -121.859865000448949, 37.338741000402095 ], [ -121.860626999637404, 37.339766000612912 ], [ -121.861364999454636, 37.340541000784988 ], [ -121.861465000130977, 37.340616000563358 ], [ -121.861764999955383, 37.340841000273997 ], [ -121.862364999808676, 37.341441000817881 ], [ -121.86336500015004, 37.342341000540458 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 555, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.870664999721953, 37.335541000901948 ], [ -121.86976500029229, 37.335941000682951 ], [ -121.868365000188007, 37.337141000642134 ], [ -121.867265000395236, 37.336741001003332 ], [ -121.867064999788738, 37.334641000372578 ], [ -121.867165000424961, 37.331441001103826 ], [ -121.868264999571636, 37.330241000495668 ], [ -121.868064999867016, 37.328741000891291 ], [ -121.868464999793247, 37.32854100058163 ], [ -121.868965000495109, 37.328241000607598 ], [ -121.869965000093217, 37.327741000332708 ], [ -121.871065000083803, 37.327241000233876 ], [ -121.872165000180772, 37.326741000579176 ], [ -121.873064999407148, 37.326241001012704 ], [ -121.87416499992031, 37.325741000512657 ], [ -121.875264999411812, 37.325241000446454 ], [ -121.876265000494428, 37.324641001133358 ], [ -121.877165000022146, 37.324241000455679 ], [ -121.878464999536675, 37.323641000546857 ], [ -121.879564999790063, 37.323141000476021 ], [ -121.88026500035582, 37.322741000668969 ], [ -121.881064999696761, 37.323541000838077 ], [ -121.881565000314779, 37.324141001042854 ], [ -121.882164999842033, 37.324941000289527 ], [ -121.882764999474205, 37.325741000983065 ], [ -121.883264999622213, 37.326341000283627 ], [ -121.883665999905034, 37.326941000771711 ], [ -121.883766000232498, 37.327141000568524 ], [ -121.884465999965343, 37.327741000481687 ], [ -121.885066000505788, 37.328541000281163 ], [ -121.883866000154342, 37.329041000638512 ], [ -121.882865999592795, 37.329641000716968 ], [ -121.881764999419005, 37.330141000277301 ], [ -121.880664999400693, 37.330641000712312 ], [ -121.879564999500914, 37.331141000690863 ], [ -121.878664999416955, 37.331741000400889 ], [ -121.877464999920818, 37.332141000867864 ], [ -121.876565000508009, 37.332741000531961 ], [ -121.875465000407246, 37.333241000561451 ], [ -121.874465000141186, 37.333741000668205 ], [ -121.873564999389103, 37.334141000918876 ], [ -121.872564999441764, 37.334641000943613 ], [ -121.871665000479723, 37.335041000970406 ], [ -121.870664999721953, 37.335541000901948 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 282, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.325379999972498, 37.548236000792535 ], [ -122.324980000142688, 37.547736000281617 ], [ -122.324096000004943, 37.546940000250125 ], [ -122.323979999774039, 37.5468360007809 ], [ -122.323680000526295, 37.546536000410313 ], [ -122.323280000044392, 37.546636000246018 ], [ -122.322279999839523, 37.546236001080899 ], [ -122.32148000032582, 37.545636000959021 ], [ -122.320679999597289, 37.544936000372459 ], [ -122.319980000335178, 37.54453600107319 ], [ -122.318979999507491, 37.543636000612182 ], [ -122.317980000218441, 37.542836001123447 ], [ -122.313979999809078, 37.544036000356101 ], [ -122.313579999789226, 37.543136001026518 ], [ -122.316979999725874, 37.542236000374409 ], [ -122.316579999996677, 37.541836000567891 ], [ -122.315679999546489, 37.541136001014344 ], [ -122.314779999455098, 37.540536000476287 ], [ -122.314279999505032, 37.540036000614073 ], [ -122.313579999626157, 37.539536000730401 ], [ -122.312979999469746, 37.538836000685123 ], [ -122.312479999608172, 37.538036000650301 ], [ -122.314980000383088, 37.536936000523646 ], [ -122.316279999593135, 37.53643600024818 ], [ -122.31827999944629, 37.535536000994441 ], [ -122.319679999510655, 37.535036000329654 ], [ -122.320679999998674, 37.534536000854814 ], [ -122.321179999627049, 37.533037000905097 ], [ -122.322380000152023, 37.532737000903836 ], [ -122.322779999712736, 37.532637000881877 ], [ -122.323580000199499, 37.532537001029063 ], [ -122.32398000051343, 37.532237001008923 ], [ -122.325280000062151, 37.532837000926598 ], [ -122.325779999924492, 37.532937000936492 ], [ -122.326980999482004, 37.533037000343718 ], [ -122.328381000066955, 37.532937000466703 ], [ -122.329280999443796, 37.53263700109148 ], [ -122.329580999911016, 37.53253700037029 ], [ -122.330580999829451, 37.532437000362464 ], [ -122.330381000054686, 37.533537000730583 ], [ -122.330781000348821, 37.538037000561282 ], [ -122.330581000195195, 37.540836000417862 ], [ -122.331281000386454, 37.541736000352778 ], [ -122.331981000000269, 37.542736001107059 ], [ -122.333080999900915, 37.544036000304317 ], [ -122.333549000104583, 37.544662000482852 ], [ -122.332421000454474, 37.545577000258163 ], [ -122.331732000140818, 37.546136001001081 ], [ -122.331480999502105, 37.54613600069262 ], [ -122.331214000258271, 37.54655600026107 ], [ -122.330962999650737, 37.546759000344792 ], [ -122.330436000189039, 37.547187000426447 ], [ -122.329977999551659, 37.547559000713306 ], [ -122.329652999540215, 37.547822000468024 ], [ -122.329366000319496, 37.548050000567194 ], [ -122.329080999521068, 37.547936001116817 ], [ -122.328781000475871, 37.548336000445964 ], [ -122.328580999964061, 37.54853600077 ], [ -122.328468999830918, 37.548514001105232 ], [ -122.328080999956782, 37.548436000734029 ], [ -122.326680999800729, 37.549336000659224 ], [ -122.326180000415647, 37.548936001007291 ], [ -122.325680000084034, 37.548436000919708 ], [ -122.325379999972498, 37.548236000792535 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 291, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.330581000463226, 37.531937000454583 ], [ -122.33078099965816, 37.531237000513102 ], [ -122.331070000163976, 37.530299000938889 ], [ -122.331113999744773, 37.5301550005411 ], [ -122.331254999716549, 37.529697000392034 ], [ -122.33133700038033, 37.529430001056895 ], [ -122.331853999923979, 37.52775100052795 ], [ -122.331950999888221, 37.52743500089445 ], [ -122.331981000376032, 37.527337000439722 ], [ -122.332580999970176, 37.524837000471429 ], [ -122.332680999945339, 37.523337000279831 ], [ -122.332681000342646, 37.522837000454388 ], [ -122.332680999492453, 37.522437000557289 ], [ -122.332593999866845, 37.521570000464905 ], [ -122.332581000462966, 37.521437000791025 ], [ -122.331680999908329, 37.519337000252747 ], [ -122.331480999832749, 37.519037000377985 ], [ -122.329181000117572, 37.516537000903298 ], [ -122.329181000182103, 37.514937000685066 ], [ -122.329381000365601, 37.514537000378802 ], [ -122.329881000231907, 37.512837000763938 ], [ -122.330225000464125, 37.512264000564045 ], [ -122.33048099979888, 37.511837000323233 ], [ -122.330781000177154, 37.511437000830462 ], [ -122.331081000433059, 37.510937000375719 ], [ -122.331680999702456, 37.511337000262579 ], [ -122.332080999419446, 37.511537000794263 ], [ -122.33228100044775, 37.511837000866265 ], [ -122.332816000193162, 37.512171000299446 ], [ -122.333080999915722, 37.512337000266832 ], [ -122.333780999947933, 37.512737000654148 ], [ -122.33388099996219, 37.513237001122214 ], [ -122.33438100026126, 37.514637000470088 ], [ -122.33488100006663, 37.515337000341894 ], [ -122.335981000256012, 37.516937000797427 ], [ -122.336280999631157, 37.517437001032839 ], [ -122.336581000428723, 37.517737000339963 ], [ -122.337381000380475, 37.518737000565196 ], [ -122.337580999596454, 37.519037000463221 ], [ -122.337880999471224, 37.519337000934826 ], [ -122.3382810003082, 37.519837000425426 ], [ -122.339081000190077, 37.520337000471613 ], [ -122.339981000206123, 37.521137000673058 ], [ -122.340280999996736, 37.521337000386623 ], [ -122.341080999545895, 37.524937000538934 ], [ -122.343397000506087, 37.526442000688476 ], [ -122.345080999798157, 37.527037000810026 ], [ -122.3452810001654, 37.527137001059813 ], [ -122.345680999540846, 37.527537000458558 ], [ -122.347181000374789, 37.528837000597363 ], [ -122.3508820000919, 37.531737001066269 ], [ -122.350481999673491, 37.534137000255789 ], [ -122.350181999696787, 37.534437000698532 ], [ -122.350181999410964, 37.534637000427331 ], [ -122.34988199964404, 37.535637000831656 ], [ -122.350681999609677, 37.536837000983624 ], [ -122.350581999822282, 37.539537001074173 ], [ -122.35058200040389, 37.539737000640891 ], [ -122.350481999801957, 37.540337000905403 ], [ -122.350282000454172, 37.54023700051507 ], [ -122.346380999694503, 37.539437000873221 ], [ -122.345480999928498, 37.537537000906873 ], [ -122.344580999873543, 37.534837000463575 ], [ -122.343780999922913, 37.533037000482473 ], [ -122.34188100028193, 37.531637001021949 ], [ -122.337980999683836, 37.534937000990247 ], [ -122.341681000130095, 37.537937000522057 ], [ -122.339180999391786, 37.540137000874751 ], [ -122.335780999577636, 37.537737000552092 ], [ -122.334181000072022, 37.539037000620993 ], [ -122.333381000493091, 37.538537000734543 ], [ -122.332681000279337, 37.539237000911186 ], [ -122.332195000379841, 37.539607000935632 ], [ -122.330581000195195, 37.540836000417862 ], [ -122.330781000348821, 37.538037000561282 ], [ -122.330381000054686, 37.533537000730583 ], [ -122.330580999829451, 37.532437000362464 ], [ -122.330581000463226, 37.531937000454583 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 290, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.326980999482004, 37.533037000343718 ], [ -122.325779999924492, 37.532937000936492 ], [ -122.325280000062151, 37.532837000926598 ], [ -122.32398000051343, 37.532237001008923 ], [ -122.323480000230958, 37.531737000627317 ], [ -122.323080000066781, 37.531037000352313 ], [ -122.32268000049325, 37.530337000476429 ], [ -122.321980000410505, 37.529537000751695 ], [ -122.320680000278742, 37.529037000360567 ], [ -122.319179999735923, 37.529337000267724 ], [ -122.317879999571346, 37.530037000733529 ], [ -122.316079999959612, 37.529637000703516 ], [ -122.315180000237518, 37.529837000733323 ], [ -122.314280000268269, 37.530037001086392 ], [ -122.313280000435341, 37.529937000637801 ], [ -122.313079999436852, 37.529537000300223 ], [ -122.312779999787566, 37.528837000726114 ], [ -122.312680000146756, 37.528237000633595 ], [ -122.312579999914959, 37.52773700108105 ], [ -122.312580000280619, 37.527237000361424 ], [ -122.312580000263452, 37.527145000916192 ], [ -122.312721999877326, 37.52675700038489 ], [ -122.312774000282616, 37.52632700054712 ], [ -122.312798999890589, 37.525856000859136 ], [ -122.312653000418905, 37.525567000869167 ], [ -122.312706000358801, 37.52549600024421 ], [ -122.312709999544523, 37.525489000230884 ], [ -122.312880000147032, 37.525237000576702 ], [ -122.312235000343534, 37.524850001042722 ], [ -122.312180000276015, 37.524437000379223 ], [ -122.311880000299212, 37.524237000835349 ], [ -122.312379999810332, 37.522937000975858 ], [ -122.313079999608249, 37.522037000657285 ], [ -122.31437999971341, 37.520637001022529 ], [ -122.31468000039213, 37.519937000489662 ], [ -122.314779999979137, 37.519237000743097 ], [ -122.314940000311253, 37.519240001109956 ], [ -122.314965000346646, 37.519249000949088 ], [ -122.316073000369343, 37.519252000819868 ], [ -122.320324000066904, 37.519617000475144 ], [ -122.320480000471292, 37.519737000331013 ], [ -122.321379999732585, 37.520837000777746 ], [ -122.323880000292604, 37.520737000550412 ], [ -122.325480000327275, 37.51943700093517 ], [ -122.325379999433153, 37.519037000362751 ], [ -122.325080000321762, 37.51733700064144 ], [ -122.3258800004227, 37.516937000414387 ], [ -122.326080000463719, 37.516337000432088 ], [ -122.326980999644746, 37.515637000838375 ], [ -122.326980999558003, 37.51503700044821 ], [ -122.327029999862333, 37.514998000701588 ], [ -122.328981000404156, 37.513437000683211 ], [ -122.327280999508375, 37.512137000493553 ], [ -122.326580000174914, 37.511637000946003 ], [ -122.328381000498467, 37.511737000945899 ], [ -122.32858100011039, 37.511837000638494 ], [ -122.328780999650277, 37.511837000761474 ], [ -122.330781000177154, 37.511437000830462 ], [ -122.33048099979888, 37.511837000323233 ], [ -122.330225000464125, 37.512264000564045 ], [ -122.329881000231907, 37.512837000763938 ], [ -122.329381000365601, 37.514537000378802 ], [ -122.329181000182103, 37.514937000685066 ], [ -122.329181000117572, 37.516537000903298 ], [ -122.331480999832749, 37.519037000377985 ], [ -122.331680999908329, 37.519337000252747 ], [ -122.332581000462966, 37.521437000791025 ], [ -122.332593999866845, 37.521570000464905 ], [ -122.332680999492453, 37.522437000557289 ], [ -122.332681000342646, 37.522837000454388 ], [ -122.332680999945339, 37.523337000279831 ], [ -122.332580999970176, 37.524837000471429 ], [ -122.331981000376032, 37.527337000439722 ], [ -122.331950999888221, 37.52743500089445 ], [ -122.331853999923979, 37.52775100052795 ], [ -122.33133700038033, 37.529430001056895 ], [ -122.331254999716549, 37.529697000392034 ], [ -122.331113999744773, 37.5301550005411 ], [ -122.331070000163976, 37.530299000938889 ], [ -122.33078099965816, 37.531237000513102 ], [ -122.330581000463226, 37.531937000454583 ], [ -122.330580999829451, 37.532437000362464 ], [ -122.329580999911016, 37.53253700037029 ], [ -122.329280999443796, 37.53263700109148 ], [ -122.328381000066955, 37.532937000466703 ], [ -122.326980999482004, 37.533037000343718 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 285, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.312653000418905, 37.525567000869167 ], [ -122.312798999890589, 37.525856000859136 ], [ -122.312774000282616, 37.52632700054712 ], [ -122.312721999877326, 37.52675700038489 ], [ -122.312580000263452, 37.527145000916192 ], [ -122.312580000280619, 37.527237000361424 ], [ -122.312579999914959, 37.52773700108105 ], [ -122.312680000146756, 37.528237000633595 ], [ -122.312779999787566, 37.528837000726114 ], [ -122.313079999436852, 37.529537000300223 ], [ -122.312380000435141, 37.529837000777384 ], [ -122.311980000398052, 37.530037000507889 ], [ -122.311679999424214, 37.530336000534561 ], [ -122.308279999435939, 37.531636000703173 ], [ -122.306810999438881, 37.53239000023229 ], [ -122.304579999766744, 37.533536000478129 ], [ -122.304180000111671, 37.533036000359751 ], [ -122.303079000287894, 37.53323600043381 ], [ -122.302579000005977, 37.532736000502808 ], [ -122.30227900009784, 37.532236000410727 ], [ -122.30347899996768, 37.531936000725914 ], [ -122.302978999643827, 37.531136000698019 ], [ -122.302278999941208, 37.530036000543213 ], [ -122.30177900034063, 37.529336000392021 ], [ -122.299378999687022, 37.530436000504601 ], [ -122.297879000020288, 37.530936000785807 ], [ -122.297179000289518, 37.529836000423202 ], [ -122.296379000384263, 37.529336001039468 ], [ -122.29567900043277, 37.529036000731089 ], [ -122.2949789995711, 37.528236000630585 ], [ -122.296779000432181, 37.527436001088873 ], [ -122.294478999439718, 37.526736001014491 ], [ -122.295984999999618, 37.526077000721422 ], [ -122.296079000024648, 37.52603600092759 ], [ -122.297178999792422, 37.525536000893453 ], [ -122.301978999980648, 37.523537001101396 ], [ -122.304279000278157, 37.522337000494346 ], [ -122.304979000452491, 37.522037000646044 ], [ -122.305779999783141, 37.521737000853484 ], [ -122.306679999709118, 37.521437000844216 ], [ -122.307279999814924, 37.52103700058624 ], [ -122.307791999771325, 37.521441000667785 ], [ -122.309180000293523, 37.522537001130978 ], [ -122.310479999659364, 37.523437001081248 ], [ -122.311880000299212, 37.524237000835349 ], [ -122.312180000276015, 37.524437000379223 ], [ -122.312235000343534, 37.524850001042722 ], [ -122.312880000147032, 37.525237000576702 ], [ -122.312709999544523, 37.525489000230884 ], [ -122.312706000358801, 37.52549600024421 ], [ -122.312653000418905, 37.525567000869167 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 283, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.302478999900472, 37.537836000484852 ], [ -122.302278999611005, 37.53713600097069 ], [ -122.302179000224641, 37.53663600080619 ], [ -122.301678999481979, 37.536136000881839 ], [ -122.301179000318541, 37.535736001123354 ], [ -122.302378999918346, 37.535036001129804 ], [ -122.305280000301252, 37.534536000522763 ], [ -122.304779999570442, 37.533936000374574 ], [ -122.304579999766744, 37.533536000478129 ], [ -122.306810999438881, 37.53239000023229 ], [ -122.308279999435939, 37.531636000703173 ], [ -122.311679999424214, 37.530336000534561 ], [ -122.311980000398052, 37.530037000507889 ], [ -122.312380000435141, 37.529837000777384 ], [ -122.313079999436852, 37.529537000300223 ], [ -122.313280000435341, 37.529937000637801 ], [ -122.314280000268269, 37.530037001086392 ], [ -122.315180000237518, 37.529837000733323 ], [ -122.316079999959612, 37.529637000703516 ], [ -122.317879999571346, 37.530037000733529 ], [ -122.319179999735923, 37.529337000267724 ], [ -122.320680000278742, 37.529037000360567 ], [ -122.321980000410505, 37.529537000751695 ], [ -122.32268000049325, 37.530337000476429 ], [ -122.323080000066781, 37.531037000352313 ], [ -122.323480000230958, 37.531737000627317 ], [ -122.32398000051343, 37.532237001008923 ], [ -122.323580000199499, 37.532537001029063 ], [ -122.322779999712736, 37.532637000881877 ], [ -122.322380000152023, 37.532737000903836 ], [ -122.321179999627049, 37.533037000905097 ], [ -122.320679999998674, 37.534536000854814 ], [ -122.319679999510655, 37.535036000329654 ], [ -122.31827999944629, 37.535536000994441 ], [ -122.316279999593135, 37.53643600024818 ], [ -122.314980000383088, 37.536936000523646 ], [ -122.312479999608172, 37.538036000650301 ], [ -122.310780000288162, 37.53873600077668 ], [ -122.309480000402843, 37.539236000376057 ], [ -122.308280000106052, 37.539836000380284 ], [ -122.306979999895447, 37.540436000592834 ], [ -122.306680000129333, 37.540436000761055 ], [ -122.305780000263994, 37.540836001104473 ], [ -122.304880000103978, 37.539536000777716 ], [ -122.304380000115771, 37.538836000670472 ], [ -122.303979999424186, 37.538136001086663 ], [ -122.303478999688267, 37.537536000661966 ], [ -122.302478999900472, 37.537836000484852 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 278, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.312080000078751, 37.54943600099682 ], [ -122.312679999908482, 37.549836001052398 ], [ -122.311979999540185, 37.550136000956023 ], [ -122.311279999822318, 37.55073600025365 ], [ -122.310779999559841, 37.551136000539955 ], [ -122.310079999483278, 37.551536001020935 ], [ -122.309779999760977, 37.551636001038936 ], [ -122.309579999726921, 37.551836000372454 ], [ -122.308779999972302, 37.552036000830178 ], [ -122.306680000445184, 37.552536000738179 ], [ -122.306080000150885, 37.55253600108874 ], [ -122.302779999988857, 37.552036001063463 ], [ -122.300478999979575, 37.552136000510487 ], [ -122.30014199962109, 37.552176000524007 ], [ -122.299540000444864, 37.552226000966087 ], [ -122.298948999803287, 37.552288001002076 ], [ -122.298259999861699, 37.552396000577303 ], [ -122.297372000435189, 37.5525390008941 ], [ -122.296702000192553, 37.552669000694188 ], [ -122.296535000472957, 37.552713000759873 ], [ -122.296341999738999, 37.552519000679787 ], [ -122.295922999757551, 37.552103000930281 ], [ -122.294478999752357, 37.550736000763436 ], [ -122.294378999472727, 37.550636000575444 ], [ -122.294278999459564, 37.550536000303794 ], [ -122.294176000397869, 37.550428000642604 ], [ -122.291578999790801, 37.547936000631864 ], [ -122.290271999904647, 37.546371000446534 ], [ -122.29020599989029, 37.546181001100763 ], [ -122.290075999989384, 37.544193000703963 ], [ -122.290089999608966, 37.544089000610661 ], [ -122.290219000276096, 37.543908000678783 ], [ -122.290562999899336, 37.543678000358327 ], [ -122.291000000368442, 37.543234001096963 ], [ -122.291328000212189, 37.542826000916776 ], [ -122.29163499987088, 37.542197000778145 ], [ -122.292330000436891, 37.542831000785434 ], [ -122.292960999595721, 37.542388000701543 ], [ -122.294278999882778, 37.541436000546227 ], [ -122.295279000161855, 37.540736000734356 ], [ -122.298178999467481, 37.538936000927379 ], [ -122.298578999768992, 37.538636000406278 ], [ -122.297378999560564, 37.537536000307867 ], [ -122.297878999433536, 37.537136000801787 ], [ -122.300479000349185, 37.539236000541031 ], [ -122.303179000400348, 37.541836000538467 ], [ -122.304279999740828, 37.542736001063986 ], [ -122.306080000250617, 37.544536000730993 ], [ -122.306279999459434, 37.544736000385626 ], [ -122.306780000461814, 37.545136000844799 ], [ -122.30757999949482, 37.545836000425226 ], [ -122.308480000053351, 37.546436000362014 ], [ -122.309480000246353, 37.547236000304466 ], [ -122.310280000312034, 37.547836001042924 ], [ -122.310980000278448, 37.548436000522109 ], [ -122.311680000458097, 37.548936000925181 ], [ -122.31188000012456, 37.549236000389634 ], [ -122.312080000078751, 37.54943600099682 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 262, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.311879999950264, 37.572935001089633 ], [ -122.310679999408819, 37.573735000855223 ], [ -122.309580000339778, 37.574235001131235 ], [ -122.30667999940043, 37.573735000490892 ], [ -122.3055799998494, 37.574835000390678 ], [ -122.302979999470736, 37.57553500029362 ], [ -122.297001999686429, 37.575121000554773 ], [ -122.297230999477549, 37.571270000795124 ], [ -122.296440999824185, 37.570924000736298 ], [ -122.296092999398766, 37.570772000299797 ], [ -122.295778999687755, 37.570635000745746 ], [ -122.295509000266151, 37.570743000609127 ], [ -122.295452999520052, 37.570697000999864 ], [ -122.294818000003147, 37.570418000289067 ], [ -122.294379000354283, 37.570035000632167 ], [ -122.293779000068355, 37.568535000934929 ], [ -122.29187899953007, 37.568335000756235 ], [ -122.292678999702005, 37.567635000521996 ], [ -122.293559999731642, 37.567635000245922 ], [ -122.293680000369548, 37.567635000812324 ], [ -122.294379000313796, 37.567635000492217 ], [ -122.297778999750975, 37.567635000879989 ], [ -122.297779000094394, 37.567548000958503 ], [ -122.297779000086862, 37.56692900110324 ], [ -122.297779000459045, 37.566460001115715 ], [ -122.297779000382604, 37.565135000255452 ], [ -122.298079000524098, 37.565135000584206 ], [ -122.298278999490108, 37.565135000673543 ], [ -122.298978999855365, 37.565135000594594 ], [ -122.298978999407638, 37.565835000415028 ], [ -122.298978999579489, 37.566435001100523 ], [ -122.298979000455688, 37.56723500072286 ], [ -122.298879000426041, 37.567935000421365 ], [ -122.300979999762006, 37.56793500041794 ], [ -122.302879999836691, 37.567835000323015 ], [ -122.304279999440709, 37.566835000502429 ], [ -122.304880000052322, 37.566535000798638 ], [ -122.306579999907015, 37.567935000522958 ], [ -122.307080000352968, 37.568435000571363 ], [ -122.307980000493444, 37.567935000726976 ], [ -122.308580000190531, 37.567535000275285 ], [ -122.309479999539008, 37.567135000551794 ], [ -122.310180000290046, 37.567035000816936 ], [ -122.310620000188067, 37.566772000347015 ], [ -122.311980000455122, 37.568035000842741 ], [ -122.313079999914009, 37.569135000751459 ], [ -122.313320999742984, 37.569392001026422 ], [ -122.313879999759962, 37.56993500026654 ], [ -122.314386000361282, 37.570511000737802 ], [ -122.314245999417594, 37.570684000896705 ], [ -122.313880000292713, 37.571135000832612 ], [ -122.313379999522851, 37.571635000302244 ], [ -122.313180000071483, 37.571935000329482 ], [ -122.311879999950264, 37.572935001089633 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 264, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.297779000382604, 37.565135000255452 ], [ -122.297779000459045, 37.566460001115715 ], [ -122.297779000086862, 37.56692900110324 ], [ -122.297779000094394, 37.567548000958503 ], [ -122.297778999750975, 37.567635000879989 ], [ -122.294379000313796, 37.567635000492217 ], [ -122.293680000369548, 37.567635000812324 ], [ -122.293559999731642, 37.567635000245922 ], [ -122.292678999702005, 37.567635000521996 ], [ -122.291906000526524, 37.567472000461166 ], [ -122.290778999781594, 37.567235000948791 ], [ -122.287179000453392, 37.56743500100184 ], [ -122.287378999891274, 37.564735000657301 ], [ -122.293279000325526, 37.563235000953966 ], [ -122.293979000000235, 37.562135000772059 ], [ -122.293573000329616, 37.561681001049585 ], [ -122.292278999524811, 37.560235000793639 ], [ -122.292260999735134, 37.560214000741134 ], [ -122.29177899952326, 37.559635001066013 ], [ -122.292039999731202, 37.559189000794838 ], [ -122.293478999979385, 37.556735000500495 ], [ -122.293028000384552, 37.556265000946887 ], [ -122.290978999420005, 37.554135000347486 ], [ -122.290778999578563, 37.553935000385188 ], [ -122.291652999401563, 37.553662000629544 ], [ -122.292379000249781, 37.553435000603514 ], [ -122.292839999647938, 37.553342000572584 ], [ -122.293256000038298, 37.55327000102686 ], [ -122.294282999634817, 37.553099000831317 ], [ -122.295570999400212, 37.552890001019684 ], [ -122.296250999697648, 37.552768000868106 ], [ -122.296535000472957, 37.552713000759873 ], [ -122.296756999789878, 37.552929001020551 ], [ -122.297476999977093, 37.553633000948203 ], [ -122.299279000051314, 37.555435000740403 ], [ -122.299649999571173, 37.555797001002801 ], [ -122.303280000413153, 37.559835000811589 ], [ -122.302379999469068, 37.56033500091722 ], [ -122.299979000442733, 37.561435000246988 ], [ -122.297878999769353, 37.562635000260471 ], [ -122.297779000382604, 37.565135000255452 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 265, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.291906000526524, 37.567472000461166 ], [ -122.292678999702005, 37.567635000521996 ], [ -122.29187899953007, 37.568335000756235 ], [ -122.293779000068355, 37.568535000934929 ], [ -122.294379000354283, 37.570035000632167 ], [ -122.293379000257474, 37.570035000407536 ], [ -122.289979000108417, 37.570035000809085 ], [ -122.288278999716795, 37.570035000334698 ], [ -122.284678999946209, 37.570035000427801 ], [ -122.284879000355545, 37.567435000364632 ], [ -122.284879000113463, 37.565835000533774 ], [ -122.284779000072277, 37.565135000270118 ], [ -122.284779000246573, 37.564835000560102 ], [ -122.284779000349801, 37.563735000590086 ], [ -122.279479000053385, 37.56353500045855 ], [ -122.279587000354596, 37.561267000993247 ], [ -122.279679000432438, 37.559335000569483 ], [ -122.279691999836885, 37.558859000654202 ], [ -122.27973799985098, 37.557207001049569 ], [ -122.279778999647462, 37.555735000441373 ], [ -122.281349999532353, 37.554714000318157 ], [ -122.2817790005017, 37.554435000635827 ], [ -122.28207899947158, 37.554135000677839 ], [ -122.282378999417134, 37.553435000520174 ], [ -122.282679000014468, 37.553735000380463 ], [ -122.284279000250905, 37.553335000705225 ], [ -122.284679000347651, 37.552635000360816 ], [ -122.288679000341844, 37.551735000319766 ], [ -122.290778999578563, 37.553935000385188 ], [ -122.290978999420005, 37.554135000347486 ], [ -122.293028000384552, 37.556265000946887 ], [ -122.293478999979385, 37.556735000500495 ], [ -122.292039999731202, 37.559189000794838 ], [ -122.29177899952326, 37.559635001066013 ], [ -122.292260999735134, 37.560214000741134 ], [ -122.292278999524811, 37.560235000793639 ], [ -122.293573000329616, 37.561681001049585 ], [ -122.293979000000235, 37.562135000772059 ], [ -122.293279000325526, 37.563235000953966 ], [ -122.287378999891274, 37.564735000657301 ], [ -122.287179000453392, 37.56743500100184 ], [ -122.290778999781594, 37.567235000948791 ], [ -122.291906000526524, 37.567472000461166 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 270, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.252477000045872, 37.547535000477971 ], [ -122.254577000389659, 37.54703500084721 ], [ -122.255217000189276, 37.547081000485527 ], [ -122.255978000431369, 37.547135000539662 ], [ -122.257065000295924, 37.547108000613143 ], [ -122.25806700027627, 37.547084000670075 ], [ -122.25906599978299, 37.547060000431536 ], [ -122.260077999818378, 37.547035000611039 ], [ -122.26077799955452, 37.546935000928926 ], [ -122.261029999493985, 37.546918000813399 ], [ -122.261090000507295, 37.546914000306955 ], [ -122.261933000270048, 37.546858000561926 ], [ -122.262277999781517, 37.546835001086727 ], [ -122.263977999675333, 37.546935000680698 ], [ -122.263377999955011, 37.550935000678919 ], [ -122.263454000422854, 37.551266000512314 ], [ -122.263677999802141, 37.55223500084481 ], [ -122.264077999425695, 37.552735000666431 ], [ -122.259177999910108, 37.554235000303684 ], [ -122.258777999557736, 37.5539350011138 ], [ -122.255778000201389, 37.552135000729869 ], [ -122.254276999451164, 37.551235000813406 ], [ -122.251777000165703, 37.550035000912345 ], [ -122.250477000055071, 37.549235000475988 ], [ -122.252477000045872, 37.547535000477971 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 271, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.27273099974424, 37.55030800032668 ], [ -122.274120000445564, 37.551969000651532 ], [ -122.274125999647907, 37.552265000606525 ], [ -122.274231000475595, 37.55246200027824 ], [ -122.274534000232478, 37.552361000610063 ], [ -122.275871000041022, 37.553839000466205 ], [ -122.275578000487869, 37.553935000253396 ], [ -122.275877999793664, 37.554335001064018 ], [ -122.274078000455802, 37.555335000974182 ], [ -122.270177999509528, 37.555435000888323 ], [ -122.266277999753385, 37.553235000485124 ], [ -122.264077999425695, 37.552735000666431 ], [ -122.263677999802141, 37.55223500084481 ], [ -122.263454000422854, 37.551266000512314 ], [ -122.263377999955011, 37.550935000678919 ], [ -122.263977999675333, 37.546935000680698 ], [ -122.262277999781517, 37.546835001086727 ], [ -122.261933000270048, 37.546858000561926 ], [ -122.261090000507295, 37.546914000306955 ], [ -122.261029999493985, 37.546918000813399 ], [ -122.26077799955452, 37.546935000928926 ], [ -122.260678000113515, 37.546335000830659 ], [ -122.260578000223703, 37.546035000842643 ], [ -122.261355999478056, 37.54597000111827 ], [ -122.261778000097536, 37.545935000287777 ], [ -122.262777999883284, 37.545235001131886 ], [ -122.262577999832743, 37.543835000757653 ], [ -122.263277999948613, 37.543535001104608 ], [ -122.264578000281688, 37.542735000680793 ], [ -122.265977999569145, 37.544435000273666 ], [ -122.266878000331189, 37.544735001035036 ], [ -122.267577999470134, 37.544535000371127 ], [ -122.267977999656978, 37.545035001079533 ], [ -122.268090000115862, 37.545054000702301 ], [ -122.268577999520474, 37.545135000473941 ], [ -122.269177999471992, 37.544835000740107 ], [ -122.269478000450675, 37.544735000250625 ], [ -122.269778000278222, 37.544535000630418 ], [ -122.269878000104839, 37.544835000262999 ], [ -122.270477999616872, 37.546635000546985 ], [ -122.270777999743416, 37.547535000743608 ], [ -122.271278000485495, 37.547535000567933 ], [ -122.27227799999514, 37.549335000319566 ], [ -122.272418000145109, 37.549544000590039 ], [ -122.272434999663616, 37.549564000625082 ], [ -122.272554000415909, 37.549705000412857 ], [ -122.272614999756044, 37.549791000829408 ], [ -122.272400000320573, 37.549939000251712 ], [ -122.27273099974424, 37.55030800032668 ] ] ], [ [ [ -122.266054999833855, 37.542330000866109 ], [ -122.266277999549288, 37.542235000943279 ], [ -122.266478000132537, 37.542635000379939 ], [ -122.266277999867299, 37.542835001080704 ], [ -122.266378000104325, 37.54303500082667 ], [ -122.266177999806658, 37.543435000755053 ], [ -122.266577999886195, 37.543435000948463 ], [ -122.266778000321679, 37.543035000334008 ], [ -122.266877999513014, 37.542435000984078 ], [ -122.267178000005771, 37.542135000493474 ], [ -122.267309000073908, 37.542266000420973 ], [ -122.267678000046317, 37.542635000998139 ], [ -122.267577999639215, 37.543035000684142 ], [ -122.267578000170246, 37.543235001028066 ], [ -122.267377999502344, 37.543535001034869 ], [ -122.267778000189637, 37.543435000608383 ], [ -122.267878000301366, 37.54323500111969 ], [ -122.268277999711785, 37.542935000426965 ], [ -122.268377999884819, 37.542135000271166 ], [ -122.268699999998631, 37.542273000998222 ], [ -122.269077999644793, 37.542435000495495 ], [ -122.269077999739295, 37.543035000708933 ], [ -122.268677999676157, 37.543635001021862 ], [ -122.268978000298375, 37.543635001032335 ], [ -122.26957799980481, 37.543035000388137 ], [ -122.269478000116663, 37.542335000563661 ], [ -122.269577999712538, 37.542035000270928 ], [ -122.269718999655041, 37.542123000529635 ], [ -122.270378000116409, 37.542535000638885 ], [ -122.26877800035048, 37.544435000608253 ], [ -122.268177999680546, 37.5442350002795 ], [ -122.266778000133598, 37.544035001021534 ], [ -122.266477999553217, 37.544135000970144 ], [ -122.266078000328093, 37.544035000281227 ], [ -122.26567799940527, 37.543635000488194 ], [ -122.265577999808471, 37.542535000529746 ], [ -122.266054999833855, 37.542330000866109 ] ] ], [ [ [ -122.260577999453602, 37.545635000500013 ], [ -122.260477999722113, 37.545335000399099 ], [ -122.26047800021631, 37.544890000606223 ], [ -122.260477999817908, 37.544735000717679 ], [ -122.261067999849729, 37.544651000319398 ], [ -122.261171999716154, 37.544636000232643 ], [ -122.261178000120381, 37.544635000335077 ], [ -122.261478000090278, 37.544635000488881 ], [ -122.26167800040075, 37.545035000600322 ], [ -122.260977999838531, 37.545635000791954 ], [ -122.260577999453602, 37.545635000500013 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 266, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.272614999756044, 37.549791000829408 ], [ -122.272554000415909, 37.549705000412857 ], [ -122.272434999663616, 37.549564000625082 ], [ -122.272418000145109, 37.549544000590039 ], [ -122.27227799999514, 37.549335000319566 ], [ -122.271278000485495, 37.547535000567933 ], [ -122.272177999592884, 37.547535000309615 ], [ -122.273278000197408, 37.547535000301082 ], [ -122.273777999877254, 37.547535000346841 ], [ -122.274577999415982, 37.547035000536489 ], [ -122.275477999539191, 37.546535000465553 ], [ -122.275741000082476, 37.546506000822916 ], [ -122.276362000320674, 37.546346000418318 ], [ -122.277031999949813, 37.546150000660539 ], [ -122.278414000010045, 37.545896001016438 ], [ -122.278978000378899, 37.545335000408429 ], [ -122.280378999694278, 37.546435000960756 ], [ -122.281178999943648, 37.549035000300286 ], [ -122.283779000453066, 37.548835000343807 ], [ -122.284678999984862, 37.548835000396252 ], [ -122.285278999398329, 37.549835000402155 ], [ -122.284397999425892, 37.550377000672711 ], [ -122.282679000434882, 37.551435000808368 ], [ -122.282679000014468, 37.553735000380463 ], [ -122.282378999417134, 37.553435000520174 ], [ -122.28207899947158, 37.554135000677839 ], [ -122.2817790005017, 37.554435000635827 ], [ -122.281349999532353, 37.554714000318157 ], [ -122.279778999647462, 37.555735000441373 ], [ -122.27973799985098, 37.557207001049569 ], [ -122.279691999836885, 37.558859000654202 ], [ -122.279679000432438, 37.559335000569483 ], [ -122.279587000354596, 37.561267000993247 ], [ -122.279479000053385, 37.56353500045855 ], [ -122.284779000349801, 37.563735000590086 ], [ -122.284779000246573, 37.564835000560102 ], [ -122.284779000072277, 37.565135000270118 ], [ -122.284879000113463, 37.565835000533774 ], [ -122.284879000355545, 37.567435000364632 ], [ -122.284678999946209, 37.570035000427801 ], [ -122.288278999716795, 37.570035000334698 ], [ -122.28837900039548, 37.570535000274113 ], [ -122.288468999999878, 37.575198000429445 ], [ -122.288181000340757, 37.575249000460573 ], [ -122.287560999779302, 37.575548000390945 ], [ -122.286854000468054, 37.575687000619773 ], [ -122.286503000348858, 37.575713000402828 ], [ -122.286140000186279, 37.575723000849706 ], [ -122.284754000220545, 37.575243000908323 ], [ -122.28326000008208, 37.5749180007383 ], [ -122.283153999584727, 37.574843000390565 ], [ -122.283073000287899, 37.574762001066951 ], [ -122.28297199994995, 37.574595000812451 ], [ -122.282770999591278, 37.574380000626121 ], [ -122.282126999817322, 37.573976000554183 ], [ -122.281076999774626, 37.573760001011443 ], [ -122.280437999761205, 37.573587000620492 ], [ -122.280270000246858, 37.573527001066473 ], [ -122.280053999524227, 37.573323000260771 ], [ -122.279981000329514, 37.572947000329556 ], [ -122.280148000352057, 37.570841000591756 ], [ -122.280127999948604, 37.570701000978296 ], [ -122.280022000031792, 37.570621000792379 ], [ -122.279866000023333, 37.570578000963735 ], [ -122.279609999881842, 37.570527000663688 ], [ -122.278363999485592, 37.570578000837195 ], [ -122.276978999404008, 37.570635000281918 ], [ -122.276379000237995, 37.571035000423691 ], [ -122.274777999464618, 37.569835000525217 ], [ -122.271978000400281, 37.570335001041869 ], [ -122.265477999961618, 37.572834000383878 ], [ -122.263077999759403, 37.572834001105008 ], [ -122.263678000300288, 37.572234000352189 ], [ -122.264078000215022, 37.571934000770703 ], [ -122.266287999888917, 37.569761001036213 ], [ -122.269993999785811, 37.566116000542586 ], [ -122.270177999712402, 37.565935000388677 ], [ -122.268577999953166, 37.565035000311497 ], [ -122.268778000481745, 37.562735001109708 ], [ -122.269478000031043, 37.561334000610778 ], [ -122.269777999734984, 37.560735000971896 ], [ -122.268456999414809, 37.559905000672941 ], [ -122.266953999638304, 37.558960000433935 ], [ -122.266793999638509, 37.558859000677138 ], [ -122.266278000106254, 37.558535000532984 ], [ -122.265877999858461, 37.558335000964242 ], [ -122.26537800027927, 37.557935000868454 ], [ -122.263877999953351, 37.557135001036876 ], [ -122.261278000507403, 37.555535000587753 ], [ -122.25947799972522, 37.554435001072989 ], [ -122.259177999910108, 37.554235000303684 ], [ -122.264077999425695, 37.552735000666431 ], [ -122.266277999753385, 37.553235000485124 ], [ -122.270177999509528, 37.555435000888323 ], [ -122.274078000455802, 37.555335000974182 ], [ -122.275877999793664, 37.554335001064018 ], [ -122.276477999691508, 37.553635000763371 ], [ -122.275377999406857, 37.551735000303061 ], [ -122.275477999710532, 37.550535000987111 ], [ -122.274778000377225, 37.549935000537616 ], [ -122.27437799960822, 37.550135001121262 ], [ -122.274778000177747, 37.550835000451876 ], [ -122.274877999989954, 37.551235000240709 ], [ -122.274643999837508, 37.551470000636371 ], [ -122.274577999934564, 37.551535000892372 ], [ -122.272977999633184, 37.550135000394171 ], [ -122.272614999756044, 37.549791000829408 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 272, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.259278000394261, 37.544514001063121 ], [ -122.259777999523422, 37.544494000981871 ], [ -122.259778000476615, 37.544135000736532 ], [ -122.259877999633474, 37.543535000466377 ], [ -122.260578000402148, 37.54273500086326 ], [ -122.260763999592044, 37.542629000559721 ], [ -122.260858000458413, 37.542575001118635 ], [ -122.260917999845972, 37.542541000448708 ], [ -122.26127800000674, 37.542335000235362 ], [ -122.261453000026847, 37.542225001073852 ], [ -122.26207800026539, 37.541835000994553 ], [ -122.26267800048403, 37.541635000947153 ], [ -122.263177999716987, 37.541235000853483 ], [ -122.263978000321345, 37.540535000778092 ], [ -122.264259000291418, 37.540347000712885 ], [ -122.265177999564614, 37.539735000667726 ], [ -122.265425999519465, 37.53951500030044 ], [ -122.266078000414609, 37.538935000548761 ], [ -122.266978000435387, 37.538136001073404 ], [ -122.267578000516011, 37.537536000910592 ], [ -122.268177999490291, 37.537936000279771 ], [ -122.269077999611739, 37.537936000626509 ], [ -122.26967800047828, 37.537936000356041 ], [ -122.269878000015012, 37.537936000485004 ], [ -122.270477999479397, 37.537836000372295 ], [ -122.270478000008154, 37.537636000722344 ], [ -122.270377999398946, 37.536936001018006 ], [ -122.270377999779114, 37.536536000748036 ], [ -122.272977999501038, 37.53643600065714 ], [ -122.274278000172487, 37.536436000476527 ], [ -122.275578000495941, 37.53663600105503 ], [ -122.27677800014385, 37.536936000788934 ], [ -122.277077999769631, 37.536536000399842 ], [ -122.277678000166546, 37.535936000625391 ], [ -122.278175000071812, 37.536488000507937 ], [ -122.278230000246538, 37.536550000235508 ], [ -122.278473999661486, 37.536820000375485 ], [ -122.278577999931372, 37.53693600040851 ], [ -122.278836000238044, 37.536879000780438 ], [ -122.279178000175904, 37.537536000706055 ], [ -122.277377999664765, 37.540736000634546 ], [ -122.278577999645847, 37.545135000320847 ], [ -122.278978000378899, 37.545335000408429 ], [ -122.278414000010045, 37.545896001016438 ], [ -122.277031999949813, 37.546150000660539 ], [ -122.276362000320674, 37.546346000418318 ], [ -122.275741000082476, 37.546506000822916 ], [ -122.275477999539191, 37.546535000465553 ], [ -122.274577999415982, 37.547035000536489 ], [ -122.273777999877254, 37.547535000346841 ], [ -122.273278000197408, 37.547535000301082 ], [ -122.272177999592884, 37.547535000309615 ], [ -122.271278000485495, 37.547535000567933 ], [ -122.270678000352234, 37.541935000496338 ], [ -122.269676999507595, 37.541935000409097 ], [ -122.264977999454672, 37.541935000417837 ], [ -122.262378000067827, 37.54343500028444 ], [ -122.262178000398876, 37.544235001022166 ], [ -122.260578000306012, 37.544435001134318 ], [ -122.260477999817908, 37.544735000717679 ], [ -122.26047800021631, 37.544890000606223 ], [ -122.260477999722113, 37.545335000399099 ], [ -122.260577999453602, 37.545635000500013 ], [ -122.25947800011933, 37.545435001116608 ], [ -122.257877999924062, 37.545535000432857 ], [ -122.256877999469793, 37.544935001121694 ], [ -122.257778000369697, 37.544835000467586 ], [ -122.259277999666779, 37.544635000582112 ], [ -122.259278000394261, 37.544514001063121 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 267, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.254777999645242, 37.560435000420576 ], [ -122.255000000194428, 37.56037900073779 ], [ -122.255387000421166, 37.561068000992833 ], [ -122.256324999568179, 37.56261500036571 ], [ -122.257066999886661, 37.562414000376563 ], [ -122.257805999448266, 37.562147000728594 ], [ -122.259577999548711, 37.563835000936955 ], [ -122.261777999766196, 37.56493500072839 ], [ -122.262551999827068, 37.564976000700099 ], [ -122.265577999766649, 37.565135000519433 ], [ -122.267377999540841, 37.564935000266949 ], [ -122.268577999953166, 37.565035000311497 ], [ -122.270177999712402, 37.565935000388677 ], [ -122.269993999785811, 37.566116000542586 ], [ -122.266287999888917, 37.569761001036213 ], [ -122.264078000215022, 37.571934000770703 ], [ -122.263678000300288, 37.572234000352189 ], [ -122.263077999759403, 37.572834001105008 ], [ -122.262178000086479, 37.572434000576521 ], [ -122.260978000258106, 37.572134000719203 ], [ -122.257077999486583, 37.569434000785044 ], [ -122.252177999556622, 37.566434000658155 ], [ -122.248976999504805, 37.563934000452477 ], [ -122.250076999711254, 37.563634000396128 ], [ -122.250964000451177, 37.563317000615037 ], [ -122.251478000441551, 37.563134000263588 ], [ -122.252477999972172, 37.562735000522665 ], [ -122.252630999682225, 37.562669000738921 ], [ -122.253177999766933, 37.562435000466074 ], [ -122.25349200044883, 37.561545000408266 ], [ -122.25377800028167, 37.560735000850798 ], [ -122.254378000443253, 37.560535001117437 ], [ -122.254777999645242, 37.560435000420576 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 274, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.281911000170425, 37.53784400098035 ], [ -122.286378999881109, 37.542636000578732 ], [ -122.286878999582058, 37.543136000505861 ], [ -122.287532999597161, 37.543551000885856 ], [ -122.287769999487594, 37.543628000965761 ], [ -122.288000999924947, 37.543686001063236 ], [ -122.288262999462916, 37.54371800087857 ], [ -122.288482999411329, 37.543714000722098 ], [ -122.288735000428744, 37.543690001060575 ], [ -122.289006999913937, 37.543710000407941 ], [ -122.289196999802272, 37.543763000311316 ], [ -122.289402999523659, 37.543873000618184 ], [ -122.289536000291534, 37.543959000286115 ], [ -122.289706000057365, 37.543991000348143 ], [ -122.289848999945178, 37.543983000274814 ], [ -122.290219000276096, 37.543908000678783 ], [ -122.290089999608966, 37.544089000610661 ], [ -122.290075999989384, 37.544193000703963 ], [ -122.29020599989029, 37.546181001100763 ], [ -122.290271999904647, 37.546371000446534 ], [ -122.291578999790801, 37.547936000631864 ], [ -122.294176000397869, 37.550428000642604 ], [ -122.294278999459564, 37.550536000303794 ], [ -122.294378999472727, 37.550636000575444 ], [ -122.294478999752357, 37.550736000763436 ], [ -122.295922999757551, 37.552103000930281 ], [ -122.296341999738999, 37.552519000679787 ], [ -122.296535000472957, 37.552713000759873 ], [ -122.296250999697648, 37.552768000868106 ], [ -122.295570999400212, 37.552890001019684 ], [ -122.294282999634817, 37.553099000831317 ], [ -122.293256000038298, 37.55327000102686 ], [ -122.292839999647938, 37.553342000572584 ], [ -122.292379000249781, 37.553435000603514 ], [ -122.291652999401563, 37.553662000629544 ], [ -122.290778999578563, 37.553935000385188 ], [ -122.288679000341844, 37.551735000319766 ], [ -122.284679000347651, 37.552635000360816 ], [ -122.284279000250905, 37.553335000705225 ], [ -122.282679000014468, 37.553735000380463 ], [ -122.282679000434882, 37.551435000808368 ], [ -122.284397999425892, 37.550377000672711 ], [ -122.285278999398329, 37.549835000402155 ], [ -122.284678999984862, 37.548835000396252 ], [ -122.283779000453066, 37.548835000343807 ], [ -122.281178999943648, 37.549035000300286 ], [ -122.280378999694278, 37.546435000960756 ], [ -122.278978000378899, 37.545335000408429 ], [ -122.278577999645847, 37.545135000320847 ], [ -122.277377999664765, 37.540736000634546 ], [ -122.279178000175904, 37.537536000706055 ], [ -122.278836000238044, 37.536879000780438 ], [ -122.278743000516442, 37.536700000328729 ], [ -122.278550999630397, 37.536331000401994 ], [ -122.278105000037769, 37.535473000695902 ], [ -122.277877999690759, 37.535036001088336 ], [ -122.276878000397289, 37.534436000591533 ], [ -122.27747799951112, 37.534436001112006 ], [ -122.277728000282153, 37.534227001128592 ], [ -122.278078000342646, 37.533936000297793 ], [ -122.278437999947954, 37.53429600031086 ], [ -122.278578000407705, 37.534436000472084 ], [ -122.280878000171896, 37.536736001049377 ], [ -122.281911000170425, 37.53784400098035 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 276, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.278437999947954, 37.53429600031086 ], [ -122.278078000342646, 37.533936000297793 ], [ -122.275477999446821, 37.531336000738271 ], [ -122.276377999847242, 37.531336000982741 ], [ -122.276582999903269, 37.531080000996901 ], [ -122.277178000179674, 37.530336000844059 ], [ -122.278478000353431, 37.530436000376781 ], [ -122.278623000234091, 37.53011800080958 ], [ -122.278978000383958, 37.529336000824109 ], [ -122.281277999579146, 37.530036000294643 ], [ -122.285079000137429, 37.530736001086112 ], [ -122.285778999649906, 37.5309360004632 ], [ -122.28717900042227, 37.530036000257915 ], [ -122.28847899988682, 37.530836000485557 ], [ -122.289879000441132, 37.53163600101221 ], [ -122.291079000526054, 37.532436000406797 ], [ -122.289878999461123, 37.533636000555823 ], [ -122.289979000144854, 37.534436000657465 ], [ -122.289751000124667, 37.534512000883801 ], [ -122.289683999456983, 37.533788000293889 ], [ -122.289599000213016, 37.533792001114513 ], [ -122.289378999707253, 37.533802001016362 ], [ -122.287332000488746, 37.533894001095184 ], [ -122.285290999750316, 37.533986001066147 ], [ -122.282848999872954, 37.534096000670033 ], [ -122.279586000271593, 37.534244000257793 ], [ -122.278437999947954, 37.53429600031086 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 275, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.270565999829572, 37.529668000558637 ], [ -122.270047999414174, 37.529613000592882 ], [ -122.270181999842222, 37.529354000409967 ], [ -122.27027799952036, 37.529236000320992 ], [ -122.269175000045081, 37.528388001077815 ], [ -122.269061999704704, 37.528297000657851 ], [ -122.268972999720248, 37.528225000291194 ], [ -122.268799999749916, 37.528085000731345 ], [ -122.266678000397718, 37.526236000643379 ], [ -122.266469000130229, 37.525972000730512 ], [ -122.265986000126418, 37.525328000305343 ], [ -122.265470999548299, 37.524607000765627 ], [ -122.265129000196993, 37.52408100054577 ], [ -122.264765999830075, 37.523788001120387 ], [ -122.262759000099223, 37.521953000417483 ], [ -122.262612999435675, 37.521824000760148 ], [ -122.261528999765417, 37.520884000577908 ], [ -122.261642999696363, 37.520770001091144 ], [ -122.262177000116978, 37.520236000277734 ], [ -122.262308000453928, 37.520061000608926 ], [ -122.264716999947481, 37.522081000644661 ], [ -122.264777999770075, 37.522136000944393 ], [ -122.26687799984866, 37.523836000783021 ], [ -122.268278000236108, 37.524936000463725 ], [ -122.268297999563231, 37.524906000566439 ], [ -122.268477999578607, 37.524636000464874 ], [ -122.269110999706186, 37.524162001009479 ], [ -122.269616999733287, 37.523708000430865 ], [ -122.270078000377907, 37.523236000891963 ], [ -122.270678000126466, 37.52273600051042 ], [ -122.271177999427195, 37.522236000957946 ], [ -122.271478000361071, 37.521836001079031 ], [ -122.270677999538094, 37.521436000699872 ], [ -122.271277999828271, 37.520736000421167 ], [ -122.271978000285173, 37.521236001063315 ], [ -122.272677999835324, 37.520636000331884 ], [ -122.273078000499837, 37.520336000575483 ], [ -122.272377999666489, 37.519936000658141 ], [ -122.272278000381561, 37.520236001002402 ], [ -122.271578000253101, 37.519836000869709 ], [ -122.27207799992766, 37.519336000762038 ], [ -122.272577999509011, 37.519636000549283 ], [ -122.272777999609673, 37.519236000383906 ], [ -122.273886000270039, 37.519616000480937 ], [ -122.273977999939675, 37.519536000258192 ], [ -122.276278000231358, 37.521236000873088 ], [ -122.283078999968609, 37.526636000574442 ], [ -122.287478999572897, 37.529736001073914 ], [ -122.28717900042227, 37.530036000257915 ], [ -122.285778999649906, 37.5309360004632 ], [ -122.285079000137429, 37.530736001086112 ], [ -122.281277999579146, 37.530036000294643 ], [ -122.278978000383958, 37.529336000824109 ], [ -122.278623000234091, 37.53011800080958 ], [ -122.278478000353431, 37.530436000376781 ], [ -122.277178000179674, 37.530336000844059 ], [ -122.276582999903269, 37.531080000996901 ], [ -122.276377999847242, 37.531336000982741 ], [ -122.275477999446821, 37.531336000738271 ], [ -122.278078000342646, 37.533936000297793 ], [ -122.277728000282153, 37.534227001128592 ], [ -122.27747799951112, 37.534436001112006 ], [ -122.276878000397289, 37.534436000591533 ], [ -122.274377999951056, 37.53443600073085 ], [ -122.268521000151523, 37.534636000474066 ], [ -122.265577999889601, 37.534736000806056 ], [ -122.266790000342596, 37.534300000763871 ], [ -122.268077999454277, 37.533836000270398 ], [ -122.268481000385179, 37.532778000398487 ], [ -122.26887800018406, 37.531736000253211 ], [ -122.27077799949052, 37.531636000535983 ], [ -122.27087799981544, 37.530136000978729 ], [ -122.270565999829572, 37.529668000558637 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 289, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.321779999783985, 37.511137001106633 ], [ -122.322680000147642, 37.511237000887704 ], [ -122.323980000393718, 37.511337000742735 ], [ -122.32574000015623, 37.511540000811529 ], [ -122.326580000174914, 37.511637000946003 ], [ -122.327280999508375, 37.512137000493553 ], [ -122.328981000404156, 37.513437000683211 ], [ -122.327029999862333, 37.514998000701588 ], [ -122.326980999558003, 37.51503700044821 ], [ -122.326980999644746, 37.515637000838375 ], [ -122.326080000463719, 37.516337000432088 ], [ -122.3258800004227, 37.516937000414387 ], [ -122.325080000321762, 37.51733700064144 ], [ -122.325379999433153, 37.519037000362751 ], [ -122.325480000327275, 37.51943700093517 ], [ -122.323880000292604, 37.520737000550412 ], [ -122.321379999732585, 37.520837000777746 ], [ -122.320480000471292, 37.519737000331013 ], [ -122.320324000066904, 37.519617000475144 ], [ -122.316073000369343, 37.519252000819868 ], [ -122.314965000346646, 37.519249000949088 ], [ -122.314940000311253, 37.519240001109956 ], [ -122.314779999979137, 37.519237000743097 ], [ -122.31468000039213, 37.519937000489662 ], [ -122.31437999971341, 37.520637001022529 ], [ -122.313079999608249, 37.522037000657285 ], [ -122.312379999810332, 37.522937000975858 ], [ -122.311880000299212, 37.524237000835349 ], [ -122.310479999659364, 37.523437001081248 ], [ -122.309180000293523, 37.522537001130978 ], [ -122.307791999771325, 37.521441000667785 ], [ -122.307279999814924, 37.52103700058624 ], [ -122.306679999709118, 37.521437000844216 ], [ -122.305779999783141, 37.521737000853484 ], [ -122.304979000452491, 37.522037000646044 ], [ -122.304279000278157, 37.522337000494346 ], [ -122.301978999980648, 37.523537001101396 ], [ -122.30177899959186, 37.523237000241529 ], [ -122.301279000261871, 37.522637000795612 ], [ -122.300779000114929, 37.5224370011316 ], [ -122.300178999457898, 37.522337000630422 ], [ -122.299079000369147, 37.521937000363643 ], [ -122.298379000452144, 37.521437001000805 ], [ -122.297979000360243, 37.520837001121109 ], [ -122.297578999994911, 37.520437000394061 ], [ -122.297178999418861, 37.519237000562377 ], [ -122.297179000262545, 37.519037000890457 ], [ -122.296885999710113, 37.518728000690274 ], [ -122.296443000031019, 37.518202000463248 ], [ -122.29621399989216, 37.517866000515454 ], [ -122.296276000311238, 37.517454000443266 ], [ -122.29639799943952, 37.516973000952511 ], [ -122.296579000292269, 37.516737000650814 ], [ -122.296878999502923, 37.516437000872671 ], [ -122.296879000083337, 37.515537000969658 ], [ -122.29507900006061, 37.51363700042851 ], [ -122.294678999533048, 37.512137000281399 ], [ -122.295478999714447, 37.512237000323083 ], [ -122.296279000038268, 37.511937000559854 ], [ -122.297078999800718, 37.511737000702645 ], [ -122.297878999954008, 37.511637000780617 ], [ -122.302178999615094, 37.511637000644996 ], [ -122.304479000098297, 37.512537000485189 ], [ -122.308479999485556, 37.512637000257179 ], [ -122.309380000148792, 37.512837000433443 ], [ -122.310979999839205, 37.51293700071863 ], [ -122.314580000136473, 37.512237000870755 ], [ -122.315879999614836, 37.512037000486956 ], [ -122.318780000119574, 37.511437000719106 ], [ -122.31887999987056, 37.511437000556796 ], [ -122.319180000254661, 37.511437000469698 ], [ -122.320179999607447, 37.511337000578941 ], [ -122.320532999615679, 37.511293000811634 ], [ -122.321779999783985, 37.511137001106633 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 288, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.336564000016182, 37.507468000962248 ], [ -122.334586000297179, 37.508912000735194 ], [ -122.331081000433059, 37.510937000375719 ], [ -122.330781000177154, 37.511437000830462 ], [ -122.328780999650277, 37.511837000761474 ], [ -122.32858100011039, 37.511837000638494 ], [ -122.328381000498467, 37.511737000945899 ], [ -122.326580000174914, 37.511637000946003 ], [ -122.32574000015623, 37.511540000811529 ], [ -122.323980000393718, 37.511337000742735 ], [ -122.322680000147642, 37.511237000887704 ], [ -122.321779999783985, 37.511137001106633 ], [ -122.320532999615679, 37.511293000811634 ], [ -122.320179999607447, 37.511337000578941 ], [ -122.319180000254661, 37.511437000469698 ], [ -122.31887999987056, 37.511437000556796 ], [ -122.318780000119574, 37.511437000719106 ], [ -122.315879999614836, 37.512037000486956 ], [ -122.314580000136473, 37.512237000870755 ], [ -122.310979999839205, 37.51293700071863 ], [ -122.309380000148792, 37.512837000433443 ], [ -122.308479999485556, 37.512637000257179 ], [ -122.304479000098297, 37.512537000485189 ], [ -122.302178999615094, 37.511637000644996 ], [ -122.297878999954008, 37.511637000780617 ], [ -122.297078999800718, 37.511737000702645 ], [ -122.296279000038268, 37.511937000559854 ], [ -122.295478999714447, 37.512237000323083 ], [ -122.294678999533048, 37.512137000281399 ], [ -122.294478999472133, 37.512037001046551 ], [ -122.294178999985206, 37.511837000690889 ], [ -122.293879000432653, 37.510737000898082 ], [ -122.293636999418069, 37.510477000671344 ], [ -122.292821000519083, 37.50960400070754 ], [ -122.292479000495462, 37.509237000699095 ], [ -122.291079000238994, 37.508837000729685 ], [ -122.289579000484153, 37.508237000263414 ], [ -122.289304000255413, 37.508145000303578 ], [ -122.288978999921113, 37.508037000870594 ], [ -122.289169999414753, 37.507683000669111 ], [ -122.287284000201666, 37.506889000372645 ], [ -122.288478999744498, 37.50513700053763 ], [ -122.288509999792637, 37.505089000316147 ], [ -122.288545000108442, 37.505034000878403 ], [ -122.289878999920901, 37.50293700026964 ], [ -122.28737900006351, 37.501737000855933 ], [ -122.286978999868666, 37.501637000802234 ], [ -122.286910999860012, 37.501539000454564 ], [ -122.286749999934557, 37.501409000437739 ], [ -122.286539000393759, 37.50136500050818 ], [ -122.286254999654773, 37.501307001052155 ], [ -122.286500999770908, 37.501209000887563 ], [ -122.286557999816011, 37.501115001045754 ], [ -122.287083000363182, 37.500962000418305 ], [ -122.287636999782166, 37.500836000959893 ], [ -122.288264999621418, 37.500809000920015 ], [ -122.288716000451501, 37.500789000758886 ], [ -122.288846999826646, 37.500738000711891 ], [ -122.288917999611641, 37.500635001103312 ], [ -122.288847000222617, 37.500505000343509 ], [ -122.288786999901873, 37.500427000559498 ], [ -122.288009999860563, 37.499595000928579 ], [ -122.288202000146811, 37.499522000468978 ], [ -122.288372999911715, 37.499471000390692 ], [ -122.288595000210648, 37.499498000762138 ], [ -122.288797000115935, 37.499551000483805 ], [ -122.288988000119843, 37.499652000769608 ], [ -122.28908399947143, 37.499652000790427 ], [ -122.289179999530262, 37.499653000333076 ], [ -122.289381999589551, 37.49962800085649 ], [ -122.289472000291866, 37.499706000533422 ], [ -122.289764999529851, 37.499992001020303 ], [ -122.289925999442147, 37.500149000468525 ], [ -122.290157999502469, 37.500253000737402 ], [ -122.290318999740151, 37.50030600025358 ], [ -122.290437999849146, 37.50033900052761 ], [ -122.290510999809172, 37.500359000969254 ], [ -122.290641999484919, 37.50030800072382 ], [ -122.290712999560014, 37.500153000316985 ], [ -122.290651999816603, 37.499945000267218 ], [ -122.290550999868998, 37.499815000620401 ], [ -122.290389999515, 37.499559000577769 ], [ -122.290320000069556, 37.499431000463659 ], [ -122.2903900005156, 37.499447000800366 ], [ -122.290420000302618, 37.499344000921496 ], [ -122.290491000487378, 37.499292000443887 ], [ -122.290550999664504, 37.499240000553321 ], [ -122.290652000497701, 37.499214001087992 ], [ -122.290752999708104, 37.499214000930422 ], [ -122.290843999969852, 37.499240000454897 ], [ -122.290974999898154, 37.499317000357486 ], [ -122.291136000003348, 37.499291000952738 ], [ -122.291176999443778, 37.499239000296384 ], [ -122.291237000481928, 37.499136000851244 ], [ -122.291274000349205, 37.499062000377172 ], [ -122.291327999887699, 37.49904000063809 ], [ -122.291428999600555, 37.499041000401661 ], [ -122.291630000201422, 37.499154001093935 ], [ -122.291759000270616, 37.499123000243699 ], [ -122.291831999661298, 37.499105000803155 ], [ -122.291983000187102, 37.499048000592857 ], [ -122.292184999482018, 37.498969001002131 ], [ -122.292272000420425, 37.499133000814282 ], [ -122.292585000067319, 37.499017000849605 ], [ -122.292661999911729, 37.498989000950594 ], [ -122.292529000031251, 37.498826000446634 ], [ -122.292368000095195, 37.498668000398062 ], [ -122.292094000281168, 37.498386000451177 ], [ -122.292222999670514, 37.49834700050922 ], [ -122.292828000128409, 37.498297000817033 ], [ -122.293250999765888, 37.498280000997703 ], [ -122.29374299965319, 37.498241001072898 ], [ -122.294158999823807, 37.498173001086258 ], [ -122.294329999496938, 37.49815600024202 ], [ -122.294545999805877, 37.498098000531044 ], [ -122.29477800001213, 37.498020000363923 ], [ -122.294877999723596, 37.497969000483771 ], [ -122.295197999650512, 37.497841000505417 ], [ -122.295303999859044, 37.49782400070157 ], [ -122.295362000214354, 37.497814001000812 ], [ -122.295593999457026, 37.497892001126829 ], [ -122.295885999500314, 37.497944000296989 ], [ -122.296082000301695, 37.497956000821368 ], [ -122.296521000306512, 37.49785800104857 ], [ -122.297045000315791, 37.497469001005953 ], [ -122.297103000169585, 37.49741700027009 ], [ -122.297423000020984, 37.497128000608207 ], [ -122.297611999710853, 37.497004001009188 ], [ -122.29774200047946, 37.496919000594296 ], [ -122.297932000293798, 37.496795001011904 ], [ -122.298110999910193, 37.496635000758332 ], [ -122.298163999978499, 37.496588001114333 ], [ -122.298628000354128, 37.496128000445246 ], [ -122.298979999924924, 37.4962350006099 ], [ -122.299085999500065, 37.496118000762756 ], [ -122.299232000251692, 37.495859000632208 ], [ -122.299201999721461, 37.495665000933023 ], [ -122.299531000140604, 37.494822000800191 ], [ -122.300219999998376, 37.494784001103802 ], [ -122.30074599965991, 37.49458200099437 ], [ -122.30144400002284, 37.49395900095017 ], [ -122.302514999828574, 37.493103000279987 ], [ -122.303103999508394, 37.49365800085392 ], [ -122.303816000340646, 37.49406900082699 ], [ -122.30555400044652, 37.494961000583459 ], [ -122.310153999453405, 37.496846001000506 ], [ -122.311089000203566, 37.497101000698819 ], [ -122.31285099978281, 37.497178000941496 ], [ -122.314881000119399, 37.497455000549962 ], [ -122.316370999489351, 37.497201000869431 ], [ -122.319565999632118, 37.497117000788279 ], [ -122.322122000239503, 37.497455000306999 ], [ -122.32414500036765, 37.498892001060966 ], [ -122.32563599989335, 37.499822000690038 ], [ -122.329257000112165, 37.501091000583472 ], [ -122.332239000503876, 37.502021000252469 ], [ -122.335780999743577, 37.504238000735882 ], [ -122.337891000426779, 37.505343000610459 ], [ -122.338183999479838, 37.505516000975994 ], [ -122.338401000496077, 37.505644000506692 ], [ -122.338456999861407, 37.505679000802708 ], [ -122.33860600018204, 37.50577200094321 ], [ -122.338980000512336, 37.505992000377908 ], [ -122.338672000038258, 37.506116000278404 ], [ -122.33835499989182, 37.506228000662553 ], [ -122.337725000123868, 37.506558001116325 ], [ -122.337279999666407, 37.506876000943429 ], [ -122.336564000016182, 37.507468000962248 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 287, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.275077999750451, 37.518836000840842 ], [ -122.274778000040243, 37.519136000583295 ], [ -122.274578000249392, 37.519236000566842 ], [ -122.274377999919352, 37.519336001105728 ], [ -122.273977999939675, 37.519536000258192 ], [ -122.273886000270039, 37.519616000480937 ], [ -122.272777999609673, 37.519236000383906 ], [ -122.27187799990746, 37.518536000678026 ], [ -122.270712999633389, 37.517565001061037 ], [ -122.269478000392169, 37.516536000700512 ], [ -122.268378000225766, 37.515536000665989 ], [ -122.268478000242297, 37.515436001108114 ], [ -122.269078000460595, 37.514936000771897 ], [ -122.270077999728969, 37.514036000324587 ], [ -122.270578000410239, 37.513636000337144 ], [ -122.271178000355974, 37.513136000773251 ], [ -122.271878000139466, 37.512636000773554 ], [ -122.272678000034176, 37.51213600035554 ], [ -122.273178000174468, 37.51153600027569 ], [ -122.273777999760526, 37.511036000696635 ], [ -122.274378000402905, 37.511836000450714 ], [ -122.274642999532063, 37.511914001005806 ], [ -122.276077999773051, 37.512336000846645 ], [ -122.277877999416191, 37.513436000456451 ], [ -122.278377999532083, 37.514236000243933 ], [ -122.278578000389459, 37.514236000695057 ], [ -122.278977999550634, 37.513936001105769 ], [ -122.27947799967383, 37.51363700049852 ], [ -122.279678000331572, 37.51333700047816 ], [ -122.278878000456231, 37.51223700049654 ], [ -122.279278000241362, 37.51203700050182 ], [ -122.282969999589724, 37.510887000576361 ], [ -122.283106000190088, 37.510845000426073 ], [ -122.28330900000087, 37.510782000590964 ], [ -122.285178000200389, 37.510337000708667 ], [ -122.285336000441674, 37.510400001009721 ], [ -122.286772999779387, 37.510975000415506 ], [ -122.287178999714229, 37.51113700051323 ], [ -122.288978999921113, 37.508037000870594 ], [ -122.289304000255413, 37.508145000303578 ], [ -122.289579000484153, 37.508237000263414 ], [ -122.291079000238994, 37.508837000729685 ], [ -122.292479000495462, 37.509237000699095 ], [ -122.292821000519083, 37.50960400070754 ], [ -122.293636999418069, 37.510477000671344 ], [ -122.293879000432653, 37.510737000898082 ], [ -122.294178999985206, 37.511837000690889 ], [ -122.294478999472133, 37.512037001046551 ], [ -122.294678999533048, 37.512137000281399 ], [ -122.294478999723552, 37.512337000866694 ], [ -122.293878999926363, 37.513037000443887 ], [ -122.293078999779922, 37.513337000930953 ], [ -122.292579000176218, 37.513437000574164 ], [ -122.290679000503872, 37.514037000505446 ], [ -122.289678999455774, 37.514337000556452 ], [ -122.287878999781753, 37.514837000528047 ], [ -122.285778999810191, 37.515537000295325 ], [ -122.284078000423818, 37.516137000533227 ], [ -122.283077999652335, 37.51693600054459 ], [ -122.28277799995827, 37.51723600104647 ], [ -122.280967999860266, 37.517462000955362 ], [ -122.279577999672696, 37.517636000697337 ], [ -122.278989000097965, 37.518267000461812 ], [ -122.27887399994087, 37.518390000783327 ], [ -122.278178000150632, 37.519136000904872 ], [ -122.277777999651178, 37.519636000431944 ], [ -122.276977999840938, 37.519336000808579 ], [ -122.276777999957346, 37.519136000856619 ], [ -122.276377999527398, 37.518836000553982 ], [ -122.27607800023668, 37.518636000501914 ], [ -122.275278000515314, 37.518536000556956 ], [ -122.275077999750451, 37.518836000840842 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 309, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.270578000410239, 37.513636000337144 ], [ -122.270077999728969, 37.514036000324587 ], [ -122.269078000460595, 37.514936000771897 ], [ -122.268478000242297, 37.515436001108114 ], [ -122.267077999601469, 37.514136000611643 ], [ -122.266577999544808, 37.513736000294436 ], [ -122.261977000040815, 37.50983600081311 ], [ -122.260979999676664, 37.508970000450987 ], [ -122.250577000131059, 37.499936000376771 ], [ -122.247177000465058, 37.497037000610263 ], [ -122.247576999951718, 37.496737000303867 ], [ -122.248277000054486, 37.496237000934919 ], [ -122.248677000332322, 37.49603700037914 ], [ -122.24907699991401, 37.495637000348609 ], [ -122.249877000081554, 37.495237000469331 ], [ -122.250577000184336, 37.494737000732719 ], [ -122.251076999897904, 37.494308000828937 ], [ -122.251276999428683, 37.494137000373861 ], [ -122.251977000226006, 37.493637000277147 ], [ -122.252476999784534, 37.493237000566786 ], [ -122.253176999964097, 37.492737000416803 ], [ -122.253977000265778, 37.492037001063395 ], [ -122.254876999519738, 37.491537000592416 ], [ -122.256876999784538, 37.49333700030067 ], [ -122.257776999925866, 37.49273700031182 ], [ -122.258177000245567, 37.493137000941957 ], [ -122.258476999868591, 37.493537000786446 ], [ -122.256476999493088, 37.494337000236584 ], [ -122.257376999591472, 37.495137001068898 ], [ -122.257876999551058, 37.495837000270541 ], [ -122.258476999743479, 37.496337000452783 ], [ -122.259177000279564, 37.496837001020047 ], [ -122.259677000273527, 37.49733700066885 ], [ -122.26087699972453, 37.498737000275945 ], [ -122.263076999728128, 37.501837001022977 ], [ -122.263177000156347, 37.502737000433243 ], [ -122.26507700047334, 37.502837000314393 ], [ -122.265691000386894, 37.502814001047064 ], [ -122.267777999922217, 37.502737001039144 ], [ -122.26777799973209, 37.503237000740612 ], [ -122.266978000217051, 37.503637000605806 ], [ -122.267278000289252, 37.504337000976925 ], [ -122.268677999712338, 37.505137000909599 ], [ -122.269077999882768, 37.505837001003542 ], [ -122.269778000035174, 37.506937001086833 ], [ -122.271277999703187, 37.508337000835773 ], [ -122.27297799944651, 37.5080370007108 ], [ -122.272577999688039, 37.509437000503041 ], [ -122.273377999793652, 37.510736000884137 ], [ -122.273777999760526, 37.511036000696635 ], [ -122.273178000174468, 37.51153600027569 ], [ -122.272678000034176, 37.51213600035554 ], [ -122.271878000139466, 37.512636000773554 ], [ -122.271178000355974, 37.513136000773251 ], [ -122.270578000410239, 37.513636000337144 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 308, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.256176999864095, 37.48873700094105 ], [ -122.256580000454733, 37.488334001079295 ], [ -122.257077000250518, 37.487837000715857 ], [ -122.257376999479362, 37.48763700099903 ], [ -122.257110000331878, 37.487307000657616 ], [ -122.257176999419599, 37.48623700077296 ], [ -122.256277000317965, 37.485437000423254 ], [ -122.257277000250525, 37.484737000494 ], [ -122.257777000209884, 37.485337000846151 ], [ -122.258277000186951, 37.485937000860133 ], [ -122.258471999810993, 37.486084001038805 ], [ -122.258676999927019, 37.486237000833718 ], [ -122.259176999553233, 37.486637000287267 ], [ -122.259976999597043, 37.487437000304965 ], [ -122.260177000277764, 37.487637000363449 ], [ -122.260876999872181, 37.488137000280126 ], [ -122.261676999921121, 37.488937000452538 ], [ -122.262277000056429, 37.489537000836876 ], [ -122.262877000411464, 37.490037000733977 ], [ -122.263676999765849, 37.490737000686373 ], [ -122.264476999503188, 37.49163700083966 ], [ -122.264555999691055, 37.491904000695776 ], [ -122.264976999776465, 37.493337000365273 ], [ -122.266877999865756, 37.495837000942501 ], [ -122.266778000399569, 37.497037000957732 ], [ -122.268078000422079, 37.498837000737396 ], [ -122.268678000186299, 37.500037000633526 ], [ -122.270219999949475, 37.501322000547354 ], [ -122.27122299972406, 37.502427001046215 ], [ -122.27147800044051, 37.502937000555875 ], [ -122.271677999860302, 37.503337000678201 ], [ -122.270777999954305, 37.503337000322162 ], [ -122.269477999564572, 37.503137000623404 ], [ -122.26777799973209, 37.503237000740612 ], [ -122.267777999922217, 37.502737001039144 ], [ -122.265691000386894, 37.502814001047064 ], [ -122.26507700047334, 37.502837000314393 ], [ -122.263177000156347, 37.502737000433243 ], [ -122.263076999728128, 37.501837001022977 ], [ -122.26087699972453, 37.498737000275945 ], [ -122.259677000273527, 37.49733700066885 ], [ -122.259177000279564, 37.496837001020047 ], [ -122.258476999743479, 37.496337000452783 ], [ -122.257876999551058, 37.495837000270541 ], [ -122.257376999591472, 37.495137001068898 ], [ -122.256476999493088, 37.494337000236584 ], [ -122.258476999868591, 37.493537000786446 ], [ -122.258177000245567, 37.493137000941957 ], [ -122.257776999925866, 37.49273700031182 ], [ -122.256876999784538, 37.49333700030067 ], [ -122.254876999519738, 37.491537000592416 ], [ -122.255777000498355, 37.490937000320095 ], [ -122.256176999864095, 37.48873700094105 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 307, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.269778000035174, 37.506937001086833 ], [ -122.269077999882768, 37.505837001003542 ], [ -122.268677999712338, 37.505137000909599 ], [ -122.267278000289252, 37.504337000976925 ], [ -122.266978000217051, 37.503637000605806 ], [ -122.26777799973209, 37.503237000740612 ], [ -122.269477999564572, 37.503137000623404 ], [ -122.270777999954305, 37.503337000322162 ], [ -122.271677999860302, 37.503337000678201 ], [ -122.27147800044051, 37.502937000555875 ], [ -122.27122299972406, 37.502427001046215 ], [ -122.270219999949475, 37.501322000547354 ], [ -122.268678000186299, 37.500037000633526 ], [ -122.268078000422079, 37.498837000737396 ], [ -122.269036000462435, 37.499093000737609 ], [ -122.26931900042419, 37.499285000830454 ], [ -122.269761999807443, 37.49941400096958 ], [ -122.270205999564624, 37.499510000985296 ], [ -122.270527999928476, 37.499573000300202 ], [ -122.270941000476768, 37.499734000598878 ], [ -122.271303999983758, 37.499862000946223 ], [ -122.271505999440635, 37.499958001033015 ], [ -122.272029999408815, 37.499958000985295 ], [ -122.270068000341908, 37.498635000619863 ], [ -122.270164999725907, 37.498512000840286 ], [ -122.27028600018248, 37.498416000392609 ], [ -122.270688999765298, 37.498383000391193 ], [ -122.271183000359585, 37.498447001112488 ], [ -122.27142499959011, 37.498382000598951 ], [ -122.271574000169579, 37.498228000323593 ], [ -122.271788000412144, 37.498092000286476 ], [ -122.272230999467055, 37.498188000940829 ], [ -122.272775999673769, 37.498438000386393 ], [ -122.272957000248226, 37.498541001096036 ], [ -122.273088000380056, 37.49857300023811 ], [ -122.273248999879542, 37.498509000964432 ], [ -122.273451000255577, 37.498283001103474 ], [ -122.273844000021157, 37.497965000992856 ], [ -122.273894000253378, 37.497925000958055 ], [ -122.274135999813112, 37.497925000993462 ], [ -122.274254000105287, 37.498032000355174 ], [ -122.274477999699982, 37.498237000769386 ], [ -122.274901999810439, 37.498539000409366 ], [ -122.275314999872421, 37.4987310008393 ], [ -122.275517000209476, 37.498731000535038 ], [ -122.27571799958163, 37.498699000399469 ], [ -122.276201999493367, 37.498505000787596 ], [ -122.276766999807506, 37.498247000958095 ], [ -122.277102999781476, 37.49814200088754 ], [ -122.277179999822749, 37.498118000466796 ], [ -122.277703999518678, 37.498085000265007 ], [ -122.277946000111527, 37.498049000765619 ], [ -122.278147000469275, 37.497920000595876 ], [ -122.2782849997174, 37.497779000412116 ], [ -122.278418999564863, 37.497517000261773 ], [ -122.278549999585124, 37.497340000409338 ], [ -122.278509999771401, 37.497308000707136 ], [ -122.278267999779999, 37.496987000714711 ], [ -122.278005000363265, 37.496802000728685 ], [ -122.277491999591319, 37.496441000947307 ], [ -122.277491999776657, 37.496280000279711 ], [ -122.27758299943163, 37.496194000318077 ], [ -122.277623000015637, 37.496155001118048 ], [ -122.277693999437417, 37.496087000375788 ], [ -122.277924999805037, 37.495840000928162 ], [ -122.278015999669165, 37.495744001062029 ], [ -122.278025999753709, 37.495668000975542 ], [ -122.277895000406318, 37.495540001065486 ], [ -122.277955999900342, 37.495372001095198 ], [ -122.278744000446039, 37.495562000578033 ], [ -122.278912999714166, 37.495603000793537 ], [ -122.279114999781342, 37.495667000869993 ], [ -122.279563999716885, 37.495918000265519 ], [ -122.279698999789915, 37.495984000925411 ], [ -122.279969999557807, 37.496272000679198 ], [ -122.280416000142537, 37.496745000544905 ], [ -122.280574000276815, 37.49722100061539 ], [ -122.280477999723828, 37.497337000840979 ], [ -122.280351000213244, 37.497675000844382 ], [ -122.280308999440535, 37.497740000789193 ], [ -122.279852000028043, 37.498457000915018 ], [ -122.279852000416582, 37.498534000397228 ], [ -122.27995300012492, 37.498767000790039 ], [ -122.279983999615069, 37.498887000556522 ], [ -122.280012999504351, 37.499000000873998 ], [ -122.280012999644498, 37.499207000897194 ], [ -122.280650999486738, 37.499263001035523 ], [ -122.28135400037506, 37.499365000512377 ], [ -122.281515999475886, 37.499226000256137 ], [ -122.281605999617412, 37.49919900062222 ], [ -122.281829000483114, 37.499178000453803 ], [ -122.281909000440947, 37.49917100109915 ], [ -122.282100000508294, 37.499196000884304 ], [ -122.282261999693432, 37.499392001011998 ], [ -122.282402999683896, 37.499602001083325 ], [ -122.282523999600841, 37.499784000807374 ], [ -122.282855000058433, 37.50015100091106 ], [ -122.283179000334414, 37.500510000498174 ], [ -122.28413499981778, 37.501350001004546 ], [ -122.2844259996495, 37.501468001117942 ], [ -122.284620999676577, 37.502511000804979 ], [ -122.284833000436763, 37.502557000399612 ], [ -122.284894000300511, 37.502738000724612 ], [ -122.285024999810204, 37.502790001084286 ], [ -122.285156000487703, 37.502971000413737 ], [ -122.285347000167221, 37.503205000422035 ], [ -122.285478000022223, 37.503438000843772 ], [ -122.285710000090205, 37.503904001000407 ], [ -122.2858409998029, 37.504085000447262 ], [ -122.286134999808439, 37.504448000804373 ], [ -122.286266000199433, 37.504733000876897 ], [ -122.286194999565652, 37.504966001055855 ], [ -122.286079000332123, 37.505537000455121 ], [ -122.285868000339448, 37.50595900047324 ], [ -122.285757999846055, 37.506177000467922 ], [ -122.285700000137552, 37.506288000401248 ], [ -122.285831999486234, 37.506650000908792 ], [ -122.28589299972937, 37.506780000585451 ], [ -122.286024000118545, 37.506935000406052 ], [ -122.286093999979016, 37.507013000664422 ], [ -122.286053999645702, 37.507168000648413 ], [ -122.287072999522152, 37.506833000824294 ], [ -122.287102999885292, 37.506859000988626 ], [ -122.287479000446027, 37.507237000870958 ], [ -122.288978999921113, 37.508037000870594 ], [ -122.287178999714229, 37.51113700051323 ], [ -122.286772999779387, 37.510975000415506 ], [ -122.285336000441674, 37.510400001009721 ], [ -122.285178000200389, 37.510337000708667 ], [ -122.28330900000087, 37.510782000590964 ], [ -122.283106000190088, 37.510845000426073 ], [ -122.282969999589724, 37.510887000576361 ], [ -122.279278000241362, 37.51203700050182 ], [ -122.278878000456231, 37.51223700049654 ], [ -122.279678000331572, 37.51333700047816 ], [ -122.27947799967383, 37.51363700049852 ], [ -122.278977999550634, 37.513936001105769 ], [ -122.278578000389459, 37.514236000695057 ], [ -122.278377999532083, 37.514236000243933 ], [ -122.277877999416191, 37.513436000456451 ], [ -122.276077999773051, 37.512336000846645 ], [ -122.274642999532063, 37.511914001005806 ], [ -122.274378000402905, 37.511836000450714 ], [ -122.273777999760526, 37.511036000696635 ], [ -122.273377999793652, 37.510736000884137 ], [ -122.272577999688039, 37.509437000503041 ], [ -122.27297799944651, 37.5080370007108 ], [ -122.271277999703187, 37.508337000835773 ], [ -122.269778000035174, 37.506937001086833 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 306, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.268378000170244, 37.492637001057673 ], [ -122.269078000208239, 37.493137001077187 ], [ -122.269878000155344, 37.493437000998888 ], [ -122.2704780001812, 37.493537000632045 ], [ -122.27067800003077, 37.493537000695717 ], [ -122.272021000020544, 37.493635000994722 ], [ -122.272441999935154, 37.493634000916252 ], [ -122.273007000271292, 37.4936320008838 ], [ -122.274503999400636, 37.493538000404101 ], [ -122.275073000443101, 37.493407000495843 ], [ -122.275445999447058, 37.493120000903836 ], [ -122.276001000417892, 37.492730000850557 ], [ -122.276117999784248, 37.492589000539766 ], [ -122.276415999778834, 37.492239000824256 ], [ -122.277269999581662, 37.491614000715401 ], [ -122.277724000362952, 37.491431000239587 ], [ -122.277955999661671, 37.491327000238812 ], [ -122.278084000273836, 37.491295000432785 ], [ -122.278378999669329, 37.491222000696098 ], [ -122.278862999655388, 37.491066000503857 ], [ -122.279023999439971, 37.49096200031719 ], [ -122.279095000370717, 37.490858000564323 ], [ -122.279125000387978, 37.490681000869628 ], [ -122.279154999865924, 37.490422000891357 ], [ -122.279123999399303, 37.490318000607054 ], [ -122.279085000359601, 37.490190000844606 ], [ -122.279085000054778, 37.489828000847822 ], [ -122.279154999980179, 37.489750000663413 ], [ -122.279346999781424, 37.489672001097503 ], [ -122.279532999656155, 37.489612000631816 ], [ -122.279669000094216, 37.48956700083469 ], [ -122.280319999942179, 37.489330000707724 ], [ -122.281171000137405, 37.489020000528562 ], [ -122.282124999867008, 37.488638001041323 ], [ -122.282471000046968, 37.488499000291299 ], [ -122.282995000273132, 37.488213000679927 ], [ -122.283377999565261, 37.488057000600861 ], [ -122.283479000044295, 37.488056000700212 ], [ -122.284164000383399, 37.488003000458775 ], [ -122.284586999873028, 37.488105000598104 ], [ -122.285203000011393, 37.488361000947769 ], [ -122.28562599963027, 37.488334000655975 ], [ -122.286050000358287, 37.488229000253895 ], [ -122.286503000346187, 37.488021000415593 ], [ -122.287189000514672, 37.487631000833396 ], [ -122.288035000259811, 37.487008000720813 ], [ -122.288086999569444, 37.486941000326013 ], [ -122.288452999399865, 37.48625500070542 ], [ -122.288649999519919, 37.486490000979842 ], [ -122.288679000062231, 37.486637001088845 ], [ -122.288680000454207, 37.486696000503599 ], [ -122.288780999686665, 37.486877000353253 ], [ -122.288911999811688, 37.487083000278417 ], [ -122.288974999822244, 37.487572000627061 ], [ -122.288978999913581, 37.487637000347242 ], [ -122.289012999520892, 37.487677000488247 ], [ -122.289013000082591, 37.488169000775706 ], [ -122.289114000017975, 37.488323000364225 ], [ -122.289296999414347, 37.488478000645685 ], [ -122.289730999817081, 37.488845000486485 ], [ -122.289828999903449, 37.48886400061744 ], [ -122.29023099977627, 37.489163000374681 ], [ -122.290555000484858, 37.489405000406443 ], [ -122.290902999914977, 37.489633000512178 ], [ -122.290989000146226, 37.489690000688611 ], [ -122.291597999494044, 37.490089000670167 ], [ -122.292348999603774, 37.490543000408358 ], [ -122.29264099954527, 37.490829000726691 ], [ -122.292932999420316, 37.491244000637209 ], [ -122.293063999563785, 37.491452000490661 ], [ -122.293397000026644, 37.491919000992489 ], [ -122.293719000211624, 37.492127000370125 ], [ -122.294143000057673, 37.492360000693957 ], [ -122.294452999570325, 37.492540000743901 ], [ -122.294834000091967, 37.492547000486759 ], [ -122.295282000339498, 37.492753000343747 ], [ -122.295390999726365, 37.492783000272603 ], [ -122.295899999937149, 37.49292400111694 ], [ -122.295991000141697, 37.492980000815088 ], [ -122.296135000388418, 37.493070000586833 ], [ -122.2966020003376, 37.493325000573527 ], [ -122.296954999445106, 37.493740000361683 ], [ -122.297287000248673, 37.494129000929526 ], [ -122.297447999828663, 37.49433700037968 ], [ -122.297539000339526, 37.494519000376521 ], [ -122.297692999886934, 37.494753000559207 ], [ -122.297736000130769, 37.494867001121705 ], [ -122.297829999695935, 37.49511800080883 ], [ -122.29792500010339, 37.495372000645055 ], [ -122.298018999456872, 37.495573000496982 ], [ -122.29806300040228, 37.495666000922057 ], [ -122.298295000199971, 37.495977000944734 ], [ -122.298556999585884, 37.496106000566321 ], [ -122.298628000354128, 37.496128000445246 ], [ -122.298163999978499, 37.496588001114333 ], [ -122.298110999910193, 37.496635000758332 ], [ -122.297932000293798, 37.496795001011904 ], [ -122.29774200047946, 37.496919000594296 ], [ -122.297611999710853, 37.497004001009188 ], [ -122.297423000020984, 37.497128000608207 ], [ -122.297103000169585, 37.49741700027009 ], [ -122.297045000315791, 37.497469001005953 ], [ -122.296521000306512, 37.49785800104857 ], [ -122.296082000301695, 37.497956000821368 ], [ -122.295885999500314, 37.497944000296989 ], [ -122.295593999457026, 37.497892001126829 ], [ -122.295362000214354, 37.497814001000812 ], [ -122.295303999859044, 37.49782400070157 ], [ -122.295197999650512, 37.497841000505417 ], [ -122.294877999723596, 37.497969000483771 ], [ -122.29477800001213, 37.498020000363923 ], [ -122.294545999805877, 37.498098000531044 ], [ -122.294329999496938, 37.49815600024202 ], [ -122.294158999823807, 37.498173001086258 ], [ -122.29374299965319, 37.498241001072898 ], [ -122.293250999765888, 37.498280000997703 ], [ -122.292828000128409, 37.498297000817033 ], [ -122.292222999670514, 37.49834700050922 ], [ -122.292094000281168, 37.498386000451177 ], [ -122.292368000095195, 37.498668000398062 ], [ -122.292529000031251, 37.498826000446634 ], [ -122.292661999911729, 37.498989000950594 ], [ -122.292585000067319, 37.499017000849605 ], [ -122.292272000420425, 37.499133000814282 ], [ -122.292184999482018, 37.498969001002131 ], [ -122.291983000187102, 37.499048000592857 ], [ -122.291831999661298, 37.499105000803155 ], [ -122.291759000270616, 37.499123000243699 ], [ -122.291630000201422, 37.499154001093935 ], [ -122.291428999600555, 37.499041000401661 ], [ -122.291327999887699, 37.49904000063809 ], [ -122.291274000349205, 37.499062000377172 ], [ -122.291237000481928, 37.499136000851244 ], [ -122.291176999443778, 37.499239000296384 ], [ -122.291136000003348, 37.499291000952738 ], [ -122.290974999898154, 37.499317000357486 ], [ -122.290843999969852, 37.499240000454897 ], [ -122.290752999708104, 37.499214000930422 ], [ -122.290652000497701, 37.499214001087992 ], [ -122.290550999664504, 37.499240000553321 ], [ -122.290491000487378, 37.499292000443887 ], [ -122.290420000302618, 37.499344000921496 ], [ -122.2903900005156, 37.499447000800366 ], [ -122.290320000069556, 37.499431000463659 ], [ -122.290389999515, 37.499559000577769 ], [ -122.290550999868998, 37.499815000620401 ], [ -122.290651999816603, 37.499945000267218 ], [ -122.290712999560014, 37.500153000316985 ], [ -122.290641999484919, 37.50030800072382 ], [ -122.290510999809172, 37.500359000969254 ], [ -122.290437999849146, 37.50033900052761 ], [ -122.290318999740151, 37.50030600025358 ], [ -122.290157999502469, 37.500253000737402 ], [ -122.289925999442147, 37.500149000468525 ], [ -122.289764999529851, 37.499992001020303 ], [ -122.289472000291866, 37.499706000533422 ], [ -122.289381999589551, 37.49962800085649 ], [ -122.289179999530262, 37.499653000333076 ], [ -122.28908399947143, 37.499652000790427 ], [ -122.288988000119843, 37.499652000769608 ], [ -122.288797000115935, 37.499551000483805 ], [ -122.288595000210648, 37.499498000762138 ], [ -122.288372999911715, 37.499471000390692 ], [ -122.288202000146811, 37.499522000468978 ], [ -122.288009999860563, 37.499595000928579 ], [ -122.288786999901873, 37.500427000559498 ], [ -122.288847000222617, 37.500505000343509 ], [ -122.288917999611641, 37.500635001103312 ], [ -122.288846999826646, 37.500738000711891 ], [ -122.288716000451501, 37.500789000758886 ], [ -122.288264999621418, 37.500809000920015 ], [ -122.287636999782166, 37.500836000959893 ], [ -122.287083000363182, 37.500962000418305 ], [ -122.286557999816011, 37.501115001045754 ], [ -122.286500999770908, 37.501209000887563 ], [ -122.286254999654773, 37.501307001052155 ], [ -122.286539000393759, 37.50136500050818 ], [ -122.286749999934557, 37.501409000437739 ], [ -122.286910999860012, 37.501539000454564 ], [ -122.286978999868666, 37.501637000802234 ], [ -122.28737900006351, 37.501737000855933 ], [ -122.289878999920901, 37.50293700026964 ], [ -122.288545000108442, 37.505034000878403 ], [ -122.288509999792637, 37.505089000316147 ], [ -122.288478999744498, 37.50513700053763 ], [ -122.287284000201666, 37.506889000372645 ], [ -122.289169999414753, 37.507683000669111 ], [ -122.288978999921113, 37.508037000870594 ], [ -122.287479000446027, 37.507237000870958 ], [ -122.287102999885292, 37.506859000988626 ], [ -122.287072999522152, 37.506833000824294 ], [ -122.286053999645702, 37.507168000648413 ], [ -122.286093999979016, 37.507013000664422 ], [ -122.286024000118545, 37.506935000406052 ], [ -122.28589299972937, 37.506780000585451 ], [ -122.285831999486234, 37.506650000908792 ], [ -122.285700000137552, 37.506288000401248 ], [ -122.285757999846055, 37.506177000467922 ], [ -122.285868000339448, 37.50595900047324 ], [ -122.286079000332123, 37.505537000455121 ], [ -122.286194999565652, 37.504966001055855 ], [ -122.286266000199433, 37.504733000876897 ], [ -122.286134999808439, 37.504448000804373 ], [ -122.2858409998029, 37.504085000447262 ], [ -122.285710000090205, 37.503904001000407 ], [ -122.285478000022223, 37.503438000843772 ], [ -122.285347000167221, 37.503205000422035 ], [ -122.285156000487703, 37.502971000413737 ], [ -122.285024999810204, 37.502790001084286 ], [ -122.284894000300511, 37.502738000724612 ], [ -122.284833000436763, 37.502557000399612 ], [ -122.284620999676577, 37.502511000804979 ], [ -122.2844259996495, 37.501468001117942 ], [ -122.28413499981778, 37.501350001004546 ], [ -122.283179000334414, 37.500510000498174 ], [ -122.282855000058433, 37.50015100091106 ], [ -122.282523999600841, 37.499784000807374 ], [ -122.282402999683896, 37.499602001083325 ], [ -122.282261999693432, 37.499392001011998 ], [ -122.282100000508294, 37.499196000884304 ], [ -122.281909000440947, 37.49917100109915 ], [ -122.281829000483114, 37.499178000453803 ], [ -122.281605999617412, 37.49919900062222 ], [ -122.281515999475886, 37.499226000256137 ], [ -122.28135400037506, 37.499365000512377 ], [ -122.280650999486738, 37.499263001035523 ], [ -122.280012999644498, 37.499207000897194 ], [ -122.280012999504351, 37.499000000873998 ], [ -122.279983999615069, 37.498887000556522 ], [ -122.27995300012492, 37.498767000790039 ], [ -122.279852000416582, 37.498534000397228 ], [ -122.279852000028043, 37.498457000915018 ], [ -122.280308999440535, 37.497740000789193 ], [ -122.280351000213244, 37.497675000844382 ], [ -122.280477999723828, 37.497337000840979 ], [ -122.280574000276815, 37.49722100061539 ], [ -122.280416000142537, 37.496745000544905 ], [ -122.279969999557807, 37.496272000679198 ], [ -122.279698999789915, 37.495984000925411 ], [ -122.279563999716885, 37.495918000265519 ], [ -122.279114999781342, 37.495667000869993 ], [ -122.278912999714166, 37.495603000793537 ], [ -122.278744000446039, 37.495562000578033 ], [ -122.277955999900342, 37.495372001095198 ], [ -122.277895000406318, 37.495540001065486 ], [ -122.278025999753709, 37.495668000975542 ], [ -122.278015999669165, 37.495744001062029 ], [ -122.277924999805037, 37.495840000928162 ], [ -122.277693999437417, 37.496087000375788 ], [ -122.277623000015637, 37.496155001118048 ], [ -122.27758299943163, 37.496194000318077 ], [ -122.277491999776657, 37.496280000279711 ], [ -122.277491999591319, 37.496441000947307 ], [ -122.278005000363265, 37.496802000728685 ], [ -122.278267999779999, 37.496987000714711 ], [ -122.278509999771401, 37.497308000707136 ], [ -122.278549999585124, 37.497340000409338 ], [ -122.278418999564863, 37.497517000261773 ], [ -122.2782849997174, 37.497779000412116 ], [ -122.278147000469275, 37.497920000595876 ], [ -122.277946000111527, 37.498049000765619 ], [ -122.277703999518678, 37.498085000265007 ], [ -122.277179999822749, 37.498118000466796 ], [ -122.277102999781476, 37.49814200088754 ], [ -122.276766999807506, 37.498247000958095 ], [ -122.276201999493367, 37.498505000787596 ], [ -122.27571799958163, 37.498699000399469 ], [ -122.275517000209476, 37.498731000535038 ], [ -122.275314999872421, 37.4987310008393 ], [ -122.274901999810439, 37.498539000409366 ], [ -122.274477999699982, 37.498237000769386 ], [ -122.274254000105287, 37.498032000355174 ], [ -122.274135999813112, 37.497925000993462 ], [ -122.273894000253378, 37.497925000958055 ], [ -122.273844000021157, 37.497965000992856 ], [ -122.273451000255577, 37.498283001103474 ], [ -122.273248999879542, 37.498509000964432 ], [ -122.273088000380056, 37.49857300023811 ], [ -122.272957000248226, 37.498541001096036 ], [ -122.272775999673769, 37.498438000386393 ], [ -122.272230999467055, 37.498188000940829 ], [ -122.271788000412144, 37.498092000286476 ], [ -122.271574000169579, 37.498228000323593 ], [ -122.27142499959011, 37.498382000598951 ], [ -122.271183000359585, 37.498447001112488 ], [ -122.270688999765298, 37.498383000391193 ], [ -122.27028600018248, 37.498416000392609 ], [ -122.270164999725907, 37.498512000840286 ], [ -122.270068000341908, 37.498635000619863 ], [ -122.272029999408815, 37.499958000985295 ], [ -122.271505999440635, 37.499958001033015 ], [ -122.271303999983758, 37.499862000946223 ], [ -122.270941000476768, 37.499734000598878 ], [ -122.270527999928476, 37.499573000300202 ], [ -122.270205999564624, 37.499510000985296 ], [ -122.269761999807443, 37.49941400096958 ], [ -122.26931900042419, 37.499285000830454 ], [ -122.269036000462435, 37.499093000737609 ], [ -122.268078000422079, 37.498837000737396 ], [ -122.266778000399569, 37.497037000957732 ], [ -122.266877999865756, 37.495837000942501 ], [ -122.264976999776465, 37.493337000365273 ], [ -122.265777999516303, 37.493237000501615 ], [ -122.267677999424151, 37.492737000284855 ], [ -122.268378000170244, 37.492637001057673 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 304, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.255577000078134, 37.481237000987313 ], [ -122.256276999484513, 37.480537001108146 ], [ -122.256547000346586, 37.480375000880954 ], [ -122.256776999989086, 37.480237001020832 ], [ -122.257876999501008, 37.479337000705769 ], [ -122.259077000300309, 37.478337001128601 ], [ -122.259476999647646, 37.478037000391808 ], [ -122.259776999441939, 37.477737000950611 ], [ -122.260277000157757, 37.477237000438976 ], [ -122.260876999761365, 37.47633700095021 ], [ -122.261377000065423, 37.47563700028212 ], [ -122.261576999573535, 37.475337000933379 ], [ -122.262376999416034, 37.474537000589706 ], [ -122.262676999408413, 37.474537000970109 ], [ -122.26417299985134, 37.474487001041581 ], [ -122.268678000440431, 37.474337000865397 ], [ -122.270778000227523, 37.474337000784708 ], [ -122.271778000327814, 37.474337000374803 ], [ -122.273361000112601, 37.474337000867642 ], [ -122.273677999766619, 37.474337000337016 ], [ -122.27487799981121, 37.474438000616516 ], [ -122.276178000009793, 37.473938000457402 ], [ -122.276229000217938, 37.473948000604757 ], [ -122.27777800028548, 37.474238000444451 ], [ -122.279296000443864, 37.474594000628265 ], [ -122.279979000443717, 37.474577000996234 ], [ -122.282097999441547, 37.473729000992016 ], [ -122.283428999420906, 37.473023000446794 ], [ -122.284648999448322, 37.472317000478135 ], [ -122.285879000115642, 37.471438001080429 ], [ -122.287479000440854, 37.469938000621745 ], [ -122.288078999960774, 37.46973800064238 ], [ -122.288872000469496, 37.469532000753745 ], [ -122.290851000054332, 37.468817000851153 ], [ -122.291642000275218, 37.468209000885622 ], [ -122.29242100032809, 37.467629000813147 ], [ -122.292729000167625, 37.467399000404313 ], [ -122.293295000167305, 37.4670440005522 ], [ -122.294415999834769, 37.469433000642326 ], [ -122.295726999414981, 37.472016000829711 ], [ -122.296143999813282, 37.472794000757546 ], [ -122.297879000168862, 37.476038000568749 ], [ -122.298978999590105, 37.478538000241876 ], [ -122.299891999438444, 37.480516000488805 ], [ -122.300778999854813, 37.482438000616533 ], [ -122.301357999927973, 37.484516000253414 ], [ -122.301700999672107, 37.4861000007093 ], [ -122.301822999460612, 37.487457001073729 ], [ -122.301545000416979, 37.490331000517315 ], [ -122.301769000440515, 37.49187400087105 ], [ -122.301910000392098, 37.492309001108367 ], [ -122.302128000501682, 37.492713000727541 ], [ -122.302514999828574, 37.493103000279987 ], [ -122.30144400002284, 37.49395900095017 ], [ -122.30074599965991, 37.49458200099437 ], [ -122.300219999998376, 37.494784001103802 ], [ -122.299531000140604, 37.494822000800191 ], [ -122.299201999721461, 37.495665000933023 ], [ -122.299232000251692, 37.495859000632208 ], [ -122.299085999500065, 37.496118000762756 ], [ -122.298979999924924, 37.4962350006099 ], [ -122.298628000354128, 37.496128000445246 ], [ -122.298556999585884, 37.496106000566321 ], [ -122.298295000199971, 37.495977000944734 ], [ -122.29806300040228, 37.495666000922057 ], [ -122.298018999456872, 37.495573000496982 ], [ -122.29792500010339, 37.495372000645055 ], [ -122.297829999695935, 37.49511800080883 ], [ -122.297736000130769, 37.494867001121705 ], [ -122.297692999886934, 37.494753000559207 ], [ -122.297539000339526, 37.494519000376521 ], [ -122.297447999828663, 37.49433700037968 ], [ -122.297287000248673, 37.494129000929526 ], [ -122.296954999445106, 37.493740000361683 ], [ -122.2966020003376, 37.493325000573527 ], [ -122.296135000388418, 37.493070000586833 ], [ -122.295991000141697, 37.492980000815088 ], [ -122.295899999937149, 37.49292400111694 ], [ -122.295390999726365, 37.492783000272603 ], [ -122.295282000339498, 37.492753000343747 ], [ -122.294834000091967, 37.492547000486759 ], [ -122.294452999570325, 37.492540000743901 ], [ -122.294143000057673, 37.492360000693957 ], [ -122.293719000211624, 37.492127000370125 ], [ -122.293397000026644, 37.491919000992489 ], [ -122.293063999563785, 37.491452000490661 ], [ -122.292932999420316, 37.491244000637209 ], [ -122.29264099954527, 37.490829000726691 ], [ -122.292348999603774, 37.490543000408358 ], [ -122.291597999494044, 37.490089000670167 ], [ -122.290989000146226, 37.489690000688611 ], [ -122.290902999914977, 37.489633000512178 ], [ -122.290555000484858, 37.489405000406443 ], [ -122.29023099977627, 37.489163000374681 ], [ -122.289828999903449, 37.48886400061744 ], [ -122.289730999817081, 37.488845000486485 ], [ -122.289296999414347, 37.488478000645685 ], [ -122.289114000017975, 37.488323000364225 ], [ -122.289013000082591, 37.488169000775706 ], [ -122.289012999520892, 37.487677000488247 ], [ -122.288978999913581, 37.487637000347242 ], [ -122.288974999822244, 37.487572000627061 ], [ -122.288911999811688, 37.487083000278417 ], [ -122.288780999686665, 37.486877000353253 ], [ -122.288680000454207, 37.486696000503599 ], [ -122.288679000062231, 37.486637001088845 ], [ -122.288649999519919, 37.486490000979842 ], [ -122.288452999399865, 37.48625500070542 ], [ -122.288253999874144, 37.485929000315281 ], [ -122.287753000099258, 37.485604000519238 ], [ -122.286775000392197, 37.485266000461095 ], [ -122.285737000097896, 37.485005000627559 ], [ -122.285274000223652, 37.484823000320901 ], [ -122.284920999436508, 37.484589000825657 ], [ -122.28468900046397, 37.484173000328155 ], [ -122.2846100004042, 37.482416001063385 ], [ -122.284061999779865, 37.482697000994044 ], [ -122.283872000159349, 37.482795000780804 ], [ -122.282078000145461, 37.484137000670543 ], [ -122.275977999447036, 37.485737000456169 ], [ -122.273177999714051, 37.486937000390995 ], [ -122.27187799973261, 37.487337000313232 ], [ -122.271877999625232, 37.487437000537405 ], [ -122.270777999944983, 37.487437000347846 ], [ -122.270573999692104, 37.487437001062837 ], [ -122.269377999521751, 37.487437000773127 ], [ -122.26847800017228, 37.48773700055667 ], [ -122.267678000296385, 37.488137000626267 ], [ -122.266377999797626, 37.488937000786805 ], [ -122.265777999569124, 37.489337001067973 ], [ -122.265277999633398, 37.489737000985208 ], [ -122.264576999425557, 37.490237000656428 ], [ -122.263676999765849, 37.490737000686373 ], [ -122.262877000411464, 37.490037000733977 ], [ -122.262277000056429, 37.489537000836876 ], [ -122.261676999921121, 37.488937000452538 ], [ -122.260876999872181, 37.488137000280126 ], [ -122.260177000277764, 37.487637000363449 ], [ -122.259976999597043, 37.487437000304965 ], [ -122.259176999553233, 37.486637000287267 ], [ -122.258676999927019, 37.486237000833718 ], [ -122.258471999810993, 37.486084001038805 ], [ -122.258277000186951, 37.485937000860133 ], [ -122.257777000209884, 37.485337000846151 ], [ -122.257277000250525, 37.484737000494 ], [ -122.256076999477102, 37.483637000773612 ], [ -122.255576999752975, 37.483337000976185 ], [ -122.255377000045925, 37.483137000308055 ], [ -122.255625000321757, 37.482847000929873 ], [ -122.255583000449874, 37.48280300102715 ], [ -122.256177000377548, 37.481837001091215 ], [ -122.256112999924966, 37.481773000718754 ], [ -122.255577000078134, 37.481237000987313 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 302, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.271578000313554, 37.454638000819223 ], [ -122.271307000230962, 37.455070000547124 ], [ -122.271463999472076, 37.455236001106641 ], [ -122.271521000378044, 37.455296000521862 ], [ -122.271277999993458, 37.455538000488133 ], [ -122.271213999854581, 37.455738000308777 ], [ -122.270977999870539, 37.455938000936086 ], [ -122.271093000493977, 37.455938000955818 ], [ -122.272177999441965, 37.455938000253184 ], [ -122.27240399941337, 37.456126001121511 ], [ -122.272778000276446, 37.456438000454412 ], [ -122.273477999710479, 37.456038000869853 ], [ -122.274091000122993, 37.455977001108572 ], [ -122.274477999777204, 37.455938001015831 ], [ -122.274578000523405, 37.45643800039597 ], [ -122.274871999986118, 37.456622000931873 ], [ -122.27538699944526, 37.456974000250476 ], [ -122.275392999485902, 37.456986000716796 ], [ -122.275695000253506, 37.457257001013822 ], [ -122.275799000068702, 37.457350001075156 ], [ -122.276076999729085, 37.457156000567174 ], [ -122.276080000013707, 37.457351000809169 ], [ -122.276079999430735, 37.457938000541169 ], [ -122.276278000396033, 37.457938000999633 ], [ -122.276503999547188, 37.457938000386207 ], [ -122.276512999675887, 37.458067000516515 ], [ -122.276545999769681, 37.458427000599229 ], [ -122.276590999839911, 37.458884000323174 ], [ -122.277578000495325, 37.458638000763386 ], [ -122.279178000342441, 37.459038000834184 ], [ -122.279806999880293, 37.459359000842142 ], [ -122.280009999786714, 37.459393000271902 ], [ -122.280277999809854, 37.459438000588882 ], [ -122.281678999398167, 37.45793800039241 ], [ -122.281379000134152, 37.457538000390265 ], [ -122.280478000469401, 37.457938000307358 ], [ -122.279477999940255, 37.45813800110659 ], [ -122.278978000019677, 37.457538000675697 ], [ -122.279877999455266, 37.456138000947803 ], [ -122.279477999998321, 37.455538000686246 ], [ -122.279078000177392, 37.455338000452976 ], [ -122.278478000175511, 37.454338000917922 ], [ -122.278577999679754, 37.453738000785599 ], [ -122.279786000503691, 37.452469000534691 ], [ -122.280579000413624, 37.451638000255052 ], [ -122.28587899944128, 37.455038001117039 ], [ -122.2861509996021, 37.455387000590328 ], [ -122.286265999537918, 37.455609000409048 ], [ -122.286322999647382, 37.455984000991478 ], [ -122.286376999867997, 37.45643000026574 ], [ -122.286524999435059, 37.456866000460082 ], [ -122.286833000285327, 37.457427000685492 ], [ -122.287179999933386, 37.457803000607662 ], [ -122.287767999890363, 37.458294000435082 ], [ -122.288202999807197, 37.458617000738165 ], [ -122.288693000312918, 37.458841000325009 ], [ -122.289339999575603, 37.459067000337946 ], [ -122.290014000045701, 37.459245000564451 ], [ -122.292278999632387, 37.464538000399543 ], [ -122.293295000167305, 37.4670440005522 ], [ -122.292729000167625, 37.467399000404313 ], [ -122.29242100032809, 37.467629000813147 ], [ -122.291642000275218, 37.468209000885622 ], [ -122.290851000054332, 37.468817000851153 ], [ -122.288872000469496, 37.469532000753745 ], [ -122.288078999960774, 37.46973800064238 ], [ -122.287479000440854, 37.469938000621745 ], [ -122.285879000115642, 37.471438001080429 ], [ -122.284648999448322, 37.472317000478135 ], [ -122.283428999420906, 37.473023000446794 ], [ -122.282097999441547, 37.473729000992016 ], [ -122.279979000443717, 37.474577000996234 ], [ -122.279296000443864, 37.474594000628265 ], [ -122.27777800028548, 37.474238000444451 ], [ -122.276229000217938, 37.473948000604757 ], [ -122.276178000009793, 37.473938000457402 ], [ -122.27487799981121, 37.474438000616516 ], [ -122.273677999766619, 37.474337000337016 ], [ -122.273361000112601, 37.474337000867642 ], [ -122.271778000327814, 37.474337000374803 ], [ -122.270778000227523, 37.474337000784708 ], [ -122.268678000440431, 37.474337000865397 ], [ -122.26417299985134, 37.474487001041581 ], [ -122.262676999408413, 37.474537000970109 ], [ -122.262376999416034, 37.474537000589706 ], [ -122.261576999573535, 37.475337000933379 ], [ -122.261377000065423, 37.47563700028212 ], [ -122.260876999761365, 37.47633700095021 ], [ -122.260277000157757, 37.477237000438976 ], [ -122.259776999441939, 37.477737000950611 ], [ -122.259476999647646, 37.478037000391808 ], [ -122.259077000300309, 37.478337001128601 ], [ -122.258676999551682, 37.477437000436787 ], [ -122.258677000448898, 37.477037000977887 ], [ -122.258777000285789, 37.476437000878391 ], [ -122.259077000425648, 37.475337000367311 ], [ -122.25917699972193, 37.475037000808321 ], [ -122.259476999730083, 37.474537000301041 ], [ -122.2598269998105, 37.474187000451366 ], [ -122.2606769999026, 37.473337000473762 ], [ -122.259777000336129, 37.47253700034868 ], [ -122.259576999421398, 37.47203700077565 ], [ -122.259277000325099, 37.471737000357592 ], [ -122.259377000018532, 37.471137000968795 ], [ -122.259376999459064, 37.471037000541735 ], [ -122.259376999420837, 37.470437000669143 ], [ -122.259377000520928, 37.470237000705254 ], [ -122.25867699989935, 37.468937001116757 ], [ -122.258824000073261, 37.468421000811617 ], [ -122.25887699995765, 37.468237000511039 ], [ -122.259776999812004, 37.467737000772566 ], [ -122.260276999943827, 37.467937000735624 ], [ -122.262778000420539, 37.467637000297373 ], [ -122.262477999584121, 37.467137000476185 ], [ -122.262377999867496, 37.466737000672438 ], [ -122.261676999495577, 37.466737000513767 ], [ -122.260176999422981, 37.46653700051538 ], [ -122.259976999495294, 37.465937000672177 ], [ -122.258877000181414, 37.465637000395759 ], [ -122.25847700005103, 37.464537000890516 ], [ -122.257277000115266, 37.46413700032673 ], [ -122.256977000189622, 37.464537001125613 ], [ -122.256861999712996, 37.464629000944498 ], [ -122.256477000081318, 37.464937001123225 ], [ -122.255577000373648, 37.465037001055265 ], [ -122.254477000070779, 37.464237000640637 ], [ -122.255520999765807, 37.463802000435074 ], [ -122.255676999487093, 37.463737000587528 ], [ -122.255831999856809, 37.463478000695801 ], [ -122.255977000041909, 37.463237000720675 ], [ -122.255817999969707, 37.462124001021984 ], [ -122.255776999966542, 37.461838000544226 ], [ -122.255076999538133, 37.461138000775605 ], [ -122.25579700025925, 37.460942000849734 ], [ -122.25617699970978, 37.460838000428481 ], [ -122.256977000084461, 37.460238000318959 ], [ -122.258076999912859, 37.459438000744989 ], [ -122.258900999592797, 37.459669000775932 ], [ -122.260576999687387, 37.460138001021932 ], [ -122.261278000260162, 37.460738000293631 ], [ -122.261378000224525, 37.461138000467571 ], [ -122.261777999433875, 37.461038000858501 ], [ -122.262478000091122, 37.46073800111995 ], [ -122.26297799942185, 37.458038000938267 ], [ -122.263577999547039, 37.457438000486633 ], [ -122.26537799978955, 37.458238001010024 ], [ -122.266178000023061, 37.457938000337975 ], [ -122.266678000275718, 37.457638000538459 ], [ -122.267177999922922, 37.457338000389385 ], [ -122.267477999926626, 37.456938000782394 ], [ -122.267977999791356, 37.45643800025244 ], [ -122.267907000252151, 37.455943000995134 ], [ -122.26835200029717, 37.455790000246139 ], [ -122.268293000162942, 37.455560000562876 ], [ -122.2685779996159, 37.455438000818191 ], [ -122.268377999618181, 37.454738000550584 ], [ -122.26897799942374, 37.454438000458843 ], [ -122.269878000103532, 37.45413800065846 ], [ -122.270713999905908, 37.454384001006517 ], [ -122.271578000313554, 37.454638000819223 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 319, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.238677000285477, 37.473537000583917 ], [ -122.239077000405658, 37.473037000801817 ], [ -122.239277000271102, 37.472737000690024 ], [ -122.239476999644481, 37.472437001115516 ], [ -122.23997700012734, 37.471537000616621 ], [ -122.240777000329729, 37.472137000653305 ], [ -122.241677000489958, 37.472237001091365 ], [ -122.243876999667606, 37.472337000623995 ], [ -122.245476999874569, 37.472537000869323 ], [ -122.247877000150126, 37.472737000900224 ], [ -122.248276999511788, 37.472537000350286 ], [ -122.248576999459104, 37.472437001012274 ], [ -122.24887699963611, 37.472237000567681 ], [ -122.249176999942804, 37.47193700080318 ], [ -122.249777000307176, 37.471437001073717 ], [ -122.250228000516842, 37.472414000363912 ], [ -122.250377000358583, 37.472737001046013 ], [ -122.250377000041283, 37.472937000824182 ], [ -122.250476999533859, 37.474237000433419 ], [ -122.249876999790288, 37.474537000990601 ], [ -122.250476999796149, 37.475437000525893 ], [ -122.250676999681161, 37.477537000496611 ], [ -122.250877000449179, 37.478037000957997 ], [ -122.251076999442148, 37.478310000603443 ], [ -122.251976999404889, 37.479537000335313 ], [ -122.252777000057364, 37.480437000943198 ], [ -122.253077000326385, 37.480837000577843 ], [ -122.254377000401476, 37.482137000865855 ], [ -122.254677000340848, 37.482437000691363 ], [ -122.254876999738229, 37.482637000746706 ], [ -122.255377000045925, 37.483137000308055 ], [ -122.252977000149102, 37.483737000536607 ], [ -122.251377000157575, 37.485437000324175 ], [ -122.251077000233181, 37.485537000931387 ], [ -122.249877000507766, 37.48593700109641 ], [ -122.246877000444741, 37.488837000485319 ], [ -122.246077000360557, 37.488637000258748 ], [ -122.245276999880716, 37.488037000720055 ], [ -122.245977000468031, 37.487437000372616 ], [ -122.246777000024181, 37.487337001029616 ], [ -122.247376999892097, 37.486937001064597 ], [ -122.245577000091473, 37.486037000904084 ], [ -122.246776999971175, 37.484737000256814 ], [ -122.246576999463528, 37.484337000794469 ], [ -122.245776999994661, 37.483937001061271 ], [ -122.246276999470211, 37.483637000803718 ], [ -122.247077000386327, 37.482937001008501 ], [ -122.245177000412212, 37.481537000937259 ], [ -122.24317699991667, 37.479937000914447 ], [ -122.241276999963219, 37.478337000797026 ], [ -122.241977000462541, 37.477737000383541 ], [ -122.242776999840913, 37.477137000288636 ], [ -122.243677000110623, 37.476637000523397 ], [ -122.241876999802443, 37.476037000352584 ], [ -122.240177000091876, 37.474937000938155 ], [ -122.238677000285477, 37.473537000583917 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 317, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.235376999505078, 37.481137000628756 ], [ -122.236076999760755, 37.480637000762478 ], [ -122.236776999640426, 37.479837000749903 ], [ -122.237577000428928, 37.47933700048295 ], [ -122.236177000049651, 37.478137001004384 ], [ -122.235476999394635, 37.478737001030595 ], [ -122.235076999812861, 37.478537000391562 ], [ -122.234276999854814, 37.477837000891377 ], [ -122.234976999700123, 37.477137000500349 ], [ -122.235677000489886, 37.476537000523734 ], [ -122.236577000153616, 37.475737000278912 ], [ -122.237176999483665, 37.475237000475559 ], [ -122.23777699988527, 37.474537000689558 ], [ -122.238376999516987, 37.473737001071314 ], [ -122.238677000285477, 37.473537000583917 ], [ -122.240177000091876, 37.474937000938155 ], [ -122.241876999802443, 37.476037000352584 ], [ -122.243677000110623, 37.476637000523397 ], [ -122.242776999840913, 37.477137000288636 ], [ -122.241977000462541, 37.477737000383541 ], [ -122.241276999963219, 37.478337000797026 ], [ -122.24317699991667, 37.479937000914447 ], [ -122.245177000412212, 37.481537000937259 ], [ -122.247077000386327, 37.482937001008501 ], [ -122.246276999470211, 37.483637000803718 ], [ -122.245776999994661, 37.483937001061271 ], [ -122.246576999463528, 37.484337000794469 ], [ -122.246776999971175, 37.484737000256814 ], [ -122.245577000091473, 37.486037000904084 ], [ -122.247376999892097, 37.486937001064597 ], [ -122.246777000024181, 37.487337001029616 ], [ -122.245977000468031, 37.487437000372616 ], [ -122.245276999880716, 37.488037000720055 ], [ -122.246077000360557, 37.488637000258748 ], [ -122.246877000444741, 37.488837000485319 ], [ -122.246013000067947, 37.489746000540656 ], [ -122.243077000104634, 37.492837000393386 ], [ -122.242676999687248, 37.493237000939885 ], [ -122.242177000159288, 37.492737000823027 ], [ -122.23867699963786, 37.489737000749507 ], [ -122.23907700003106, 37.489337000908719 ], [ -122.239876999618787, 37.488737000650914 ], [ -122.238176999473879, 37.487137000521102 ], [ -122.236076999845892, 37.48553700034585 ], [ -122.23537700046576, 37.485137001065226 ], [ -122.234275999691889, 37.485137000744672 ], [ -122.23357599940482, 37.484537000649858 ], [ -122.232175999893599, 37.483537000723103 ], [ -122.2328759998869, 37.48293700032923 ], [ -122.233575999781806, 37.48243700026169 ], [ -122.234476999511344, 37.481737000379447 ], [ -122.235376999505078, 37.481137000628756 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 314, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.223175999937297, 37.485637000379654 ], [ -122.223075999897816, 37.485837000700663 ], [ -122.22247599953424, 37.486737000846496 ], [ -122.221920999868956, 37.48756900088717 ], [ -122.221276000351352, 37.488537000412769 ], [ -122.217841999397194, 37.488297001047336 ], [ -122.216437999951651, 37.488174000502582 ], [ -122.215564999976181, 37.488141000793853 ], [ -122.214878000393327, 37.488186000370597 ], [ -122.214584000497553, 37.488272000416337 ], [ -122.21420899969165, 37.488362001060153 ], [ -122.21388699978111, 37.488389000275646 ], [ -122.214189999788999, 37.488703000879561 ], [ -122.215187000199819, 37.48934100065641 ], [ -122.214725000221705, 37.489130000832347 ], [ -122.214196000231482, 37.488930000663544 ], [ -122.212419000226134, 37.488094000820446 ], [ -122.211758000264552, 37.487844000752467 ], [ -122.209701000268126, 37.487397000918541 ], [ -122.208030000188856, 37.487128000617318 ], [ -122.206976000298397, 37.487037000481202 ], [ -122.200276000008401, 37.486337001085005 ], [ -122.199428999906175, 37.486237000821269 ], [ -122.198576000431416, 37.486137000665387 ], [ -122.198775999929595, 37.485737000587669 ], [ -122.199376000130869, 37.485137000669859 ], [ -122.199876000228642, 37.484437001065615 ], [ -122.199476000308223, 37.484337000978549 ], [ -122.200076000430144, 37.483437000436851 ], [ -122.200371000378738, 37.482995000606685 ], [ -122.200875999781545, 37.482237000660298 ], [ -122.201376000479854, 37.4823370005141 ], [ -122.202576000482054, 37.482537000956562 ], [ -122.204275999472202, 37.482937001050388 ], [ -122.206075999847883, 37.483337000721662 ], [ -122.207775999409165, 37.483437000445541 ], [ -122.209276000010064, 37.483737000867663 ], [ -122.210376000096502, 37.484137000827751 ], [ -122.210876000359491, 37.484237001115389 ], [ -122.21147600002304, 37.484337000669541 ], [ -122.212976000301609, 37.484537000267288 ], [ -122.213876000071238, 37.482937000317122 ], [ -122.212676000018575, 37.482737000940162 ], [ -122.211475999881472, 37.4824370002706 ], [ -122.210275999679041, 37.482237000899026 ], [ -122.209775999942551, 37.482137000812706 ], [ -122.20907600031741, 37.481937000247967 ], [ -122.209676000494895, 37.48103700041986 ], [ -122.210676000461092, 37.479537000691394 ], [ -122.211875999911044, 37.477937000314149 ], [ -122.211975999600739, 37.477737000286297 ], [ -122.212576000103397, 37.477037001082927 ], [ -122.212975999872597, 37.477337001070467 ], [ -122.214076000128713, 37.478137001036814 ], [ -122.214306000060233, 37.478252000534887 ], [ -122.215276000230091, 37.478737000560585 ], [ -122.216375999834, 37.479337000717862 ], [ -122.21717599991139, 37.479637000611142 ], [ -122.21787599993911, 37.480037001074635 ], [ -122.218275999766149, 37.48013700112557 ], [ -122.218675999933836, 37.480337000751753 ], [ -122.219375999608289, 37.480637000437163 ], [ -122.220175999696622, 37.48103700082094 ], [ -122.220976000370186, 37.481337000291752 ], [ -122.221775999533918, 37.481637000658928 ], [ -122.222476000019242, 37.481937000957259 ], [ -122.223275999994442, 37.482337001131739 ], [ -122.224175999975117, 37.482737000943679 ], [ -122.224875999996456, 37.483037000574271 ], [ -122.224375999898967, 37.483937000948096 ], [ -122.223775999852876, 37.484737000937059 ], [ -122.223175999937297, 37.485637000379654 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 315, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.236076999845892, 37.48553700034585 ], [ -122.238176999473879, 37.487137000521102 ], [ -122.239876999618787, 37.488737000650914 ], [ -122.23907700003106, 37.489337000908719 ], [ -122.23867699963786, 37.489737000749507 ], [ -122.238276999470912, 37.490137000993784 ], [ -122.237776999848094, 37.490537000941728 ], [ -122.237076999809702, 37.489937001046655 ], [ -122.236477000111009, 37.489437000659819 ], [ -122.235876000013775, 37.488837000678657 ], [ -122.2351759995138, 37.488437000283724 ], [ -122.234575999644036, 37.487737001053027 ], [ -122.233876000324429, 37.487237001079102 ], [ -122.232976000371309, 37.487937000996567 ], [ -122.231875999496225, 37.488637000631222 ], [ -122.230976000156232, 37.489337000310499 ], [ -122.23157599952043, 37.489837000533441 ], [ -122.232176000120049, 37.49043700035373 ], [ -122.232776000071823, 37.491037000711394 ], [ -122.233419000195298, 37.491649000860967 ], [ -122.234057999811526, 37.492251000859902 ], [ -122.234401000416142, 37.492424000634379 ], [ -122.234758999481187, 37.492424001035531 ], [ -122.234930000088525, 37.492461000238279 ], [ -122.235131999874881, 37.492535000993293 ], [ -122.235676000340064, 37.492937001027137 ], [ -122.236275999645954, 37.493437000785342 ], [ -122.236975999819776, 37.493937000784108 ], [ -122.23757599989203, 37.494437000245547 ], [ -122.238177000057703, 37.495037000297216 ], [ -122.238776999876222, 37.495537000851684 ], [ -122.239276999503446, 37.4960370006891 ], [ -122.240076999718838, 37.496637000573891 ], [ -122.237275999676655, 37.496937000376846 ], [ -122.236405999916812, 37.496606001069253 ], [ -122.233948000282552, 37.495824000311586 ], [ -122.232903999614194, 37.495466000682839 ], [ -122.232065999465163, 37.495179000734304 ], [ -122.23170699971979, 37.495072000312916 ], [ -122.230495000271645, 37.49471400077158 ], [ -122.229134000274811, 37.494333000337662 ], [ -122.225576000090172, 37.493337000939441 ], [ -122.22509399985023, 37.49315300040729 ], [ -122.221713999635568, 37.491862000804083 ], [ -122.221510999832148, 37.491785000637115 ], [ -122.220075999419635, 37.491237001000989 ], [ -122.215187000199819, 37.48934100065641 ], [ -122.214189999788999, 37.488703000879561 ], [ -122.21388699978111, 37.488389000275646 ], [ -122.21420899969165, 37.488362001060153 ], [ -122.214584000497553, 37.488272000416337 ], [ -122.214878000393327, 37.488186000370597 ], [ -122.215564999976181, 37.488141000793853 ], [ -122.216437999951651, 37.488174000502582 ], [ -122.217841999397194, 37.488297001047336 ], [ -122.221276000351352, 37.488537000412769 ], [ -122.221920999868956, 37.48756900088717 ], [ -122.22247599953424, 37.486737000846496 ], [ -122.223075999897816, 37.485837000700663 ], [ -122.223175999937297, 37.485637000379654 ], [ -122.223775999852876, 37.484737000937059 ], [ -122.224375999898967, 37.483937000948096 ], [ -122.224875999996456, 37.483037000574271 ], [ -122.225475999436838, 37.483237000300036 ], [ -122.225375999685141, 37.482337000658617 ], [ -122.22547600010499, 37.481837000820157 ], [ -122.225575999650545, 37.481437000890821 ], [ -122.225776000086, 37.480937000867797 ], [ -122.225876000145419, 37.480537000614881 ], [ -122.225475999585356, 37.480537001067695 ], [ -122.226475999787453, 37.479337000519848 ], [ -122.226875999720789, 37.479637000513513 ], [ -122.228176000423261, 37.48053700032451 ], [ -122.228475999790987, 37.480737000388842 ], [ -122.228976000370267, 37.481137000967031 ], [ -122.229175999919548, 37.481337000989541 ], [ -122.229875999853419, 37.481737000905277 ], [ -122.23077600013103, 37.482337000307453 ], [ -122.231875999882803, 37.48333700103413 ], [ -122.232175999893599, 37.483537000723103 ], [ -122.23357599940482, 37.484537000649858 ], [ -122.234275999691889, 37.485137000744672 ], [ -122.23537700046576, 37.485137001065226 ], [ -122.236076999845892, 37.48553700034585 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 313, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.163100999426661, 37.502742000464607 ], [ -122.1632749997394, 37.502437000681901 ], [ -122.163706000059065, 37.499937000837996 ], [ -122.163775000377399, 37.499537000712117 ], [ -122.165175000283611, 37.499537001101324 ], [ -122.165474999417498, 37.498837000884265 ], [ -122.16807499957595, 37.497937000968641 ], [ -122.173274999977266, 37.496337000983303 ], [ -122.176875000433057, 37.498437000248614 ], [ -122.177133000095282, 37.498437000476805 ], [ -122.177367999412951, 37.498437000408167 ], [ -122.177674999979573, 37.498437000878432 ], [ -122.17815999986874, 37.486547001043732 ], [ -122.183875000037617, 37.488237000364968 ], [ -122.184774999652006, 37.488337001071365 ], [ -122.184798999463524, 37.488190000548364 ], [ -122.189157999672545, 37.488086000677249 ], [ -122.189207999760086, 37.487639000963249 ], [ -122.189220999586411, 37.487526000234425 ], [ -122.189253000425595, 37.487243001036383 ], [ -122.189279000218136, 37.48700900101408 ], [ -122.189076000336016, 37.48699200097812 ], [ -122.18844299998031, 37.486941000657602 ], [ -122.188704999507237, 37.486164001083822 ], [ -122.181475000217489, 37.484737001041573 ], [ -122.182474999762803, 37.483537000686781 ], [ -122.189375999666794, 37.484937000829447 ], [ -122.192676000280429, 37.485437000667794 ], [ -122.198576000431416, 37.486137000665387 ], [ -122.199428999906175, 37.486237000821269 ], [ -122.200276000008401, 37.486337001085005 ], [ -122.206976000298397, 37.487037000481202 ], [ -122.208030000188856, 37.487128000617318 ], [ -122.209701000268126, 37.487397000918541 ], [ -122.211758000264552, 37.487844000752467 ], [ -122.212419000226134, 37.488094000820446 ], [ -122.214196000231482, 37.488930000663544 ], [ -122.214725000221705, 37.489130000832347 ], [ -122.215187000199819, 37.48934100065641 ], [ -122.220075999419635, 37.491237001000989 ], [ -122.221510999832148, 37.491785000637115 ], [ -122.221713999635568, 37.491862000804083 ], [ -122.22509399985023, 37.49315300040729 ], [ -122.225576000090172, 37.493337000939441 ], [ -122.229134000274811, 37.494333000337662 ], [ -122.230495000271645, 37.49471400077158 ], [ -122.23170699971979, 37.495072000312916 ], [ -122.232065999465163, 37.495179000734304 ], [ -122.232903999614194, 37.495466000682839 ], [ -122.233948000282552, 37.495824000311586 ], [ -122.236405999916812, 37.496606001069253 ], [ -122.237275999676655, 37.496937000376846 ], [ -122.237686000376158, 37.49723000028812 ], [ -122.238977000225702, 37.498337000511924 ], [ -122.24038699957211, 37.499585000421988 ], [ -122.240783999584693, 37.499937000916098 ], [ -122.241935000428001, 37.500956000625024 ], [ -122.244405000197574, 37.503141000468268 ], [ -122.245076999674168, 37.503736000354607 ], [ -122.245539000303836, 37.50427400080811 ], [ -122.245677000519692, 37.504436000387827 ], [ -122.243977000149613, 37.505836000647221 ], [ -122.24547699965855, 37.507236000736818 ], [ -122.244976999686514, 37.50803600063729 ], [ -122.246177000371816, 37.509636000943615 ], [ -122.247477000448328, 37.513336000667728 ], [ -122.247176999584553, 37.516936000343613 ], [ -122.246245999460115, 37.517826000742076 ], [ -122.245665000356766, 37.519735000720537 ], [ -122.24476300015904, 37.521593000984716 ], [ -122.243860999652455, 37.523450000300414 ], [ -122.24317500008101, 37.524506000496153 ], [ -122.241646999679347, 37.526857000318572 ], [ -122.238242999561066, 37.528801000784078 ], [ -122.23333699941098, 37.530201000235898 ], [ -122.231340000383682, 37.53151400108068 ], [ -122.223718999403175, 37.543668000496012 ], [ -122.223476999577841, 37.541535000286423 ], [ -122.217175999597501, 37.541835000808383 ], [ -122.216276000489458, 37.538235000687187 ], [ -122.206675999428739, 37.539135000727953 ], [ -122.196775999910244, 37.536936000572574 ], [ -122.195450000309378, 37.534538000406492 ], [ -122.194175999516148, 37.532236000500063 ], [ -122.194227999524401, 37.532192000457954 ], [ -122.196674000199167, 37.523586000651406 ], [ -122.196575999537558, 37.523636001021508 ], [ -122.190575999901085, 37.520236000353101 ], [ -122.189776000418377, 37.51983600094384 ], [ -122.184375999559762, 37.517236000389062 ], [ -122.183475999914876, 37.519936000823762 ], [ -122.183375999665074, 37.520036000780244 ], [ -122.182876000104784, 37.520936000253784 ], [ -122.181175999465978, 37.520136001021442 ], [ -122.181175999979615, 37.519936000977452 ], [ -122.181075999449746, 37.518036000878027 ], [ -122.177674999726065, 37.510437000563662 ], [ -122.168174999624966, 37.504637000873942 ], [ -122.167974999666413, 37.504537000859152 ], [ -122.166775000457804, 37.504337000765425 ], [ -122.163100999426661, 37.502742000464607 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 311, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.253577000104528, 37.517836001032471 ], [ -122.253777000192898, 37.51763600103552 ], [ -122.254393999465663, 37.51690100107772 ], [ -122.254557999662367, 37.516769000587338 ], [ -122.254878999715032, 37.516487000866917 ], [ -122.255080000092093, 37.516581000868918 ], [ -122.255229000268912, 37.516660000553649 ], [ -122.256012000047818, 37.517193000590289 ], [ -122.261024000195803, 37.521398000539953 ], [ -122.261528999765417, 37.520884000577908 ], [ -122.262612999435675, 37.521824000760148 ], [ -122.262759000099223, 37.521953000417483 ], [ -122.264765999830075, 37.523788001120387 ], [ -122.265129000196993, 37.52408100054577 ], [ -122.265470999548299, 37.524607000765627 ], [ -122.265986000126418, 37.525328000305343 ], [ -122.266469000130229, 37.525972000730512 ], [ -122.266678000397718, 37.526236000643379 ], [ -122.268799999749916, 37.528085000731345 ], [ -122.268972999720248, 37.528225000291194 ], [ -122.269061999704704, 37.528297000657851 ], [ -122.269175000045081, 37.528388001077815 ], [ -122.27027799952036, 37.529236000320992 ], [ -122.270181999842222, 37.529354000409967 ], [ -122.270047999414174, 37.529613000592882 ], [ -122.270565999829572, 37.529668000558637 ], [ -122.27087799981544, 37.530136000978729 ], [ -122.27077799949052, 37.531636000535983 ], [ -122.26887800018406, 37.531736000253211 ], [ -122.268481000385179, 37.532778000398487 ], [ -122.268077999454277, 37.533836000270398 ], [ -122.266790000342596, 37.534300000763871 ], [ -122.265577999889601, 37.534736000806056 ], [ -122.26533600004899, 37.534678000279904 ], [ -122.26347799966787, 37.534236000520835 ], [ -122.262178000138974, 37.534336000324288 ], [ -122.261477999618663, 37.535636000559641 ], [ -122.261078000014649, 37.535535000551548 ], [ -122.26177799976233, 37.538735000308272 ], [ -122.261878000129613, 37.539435000435851 ], [ -122.261378000512991, 37.53983500057209 ], [ -122.260259000520222, 37.540768000684771 ], [ -122.259577999811498, 37.54133500049992 ], [ -122.259525999780095, 37.541314000371649 ], [ -122.258603999823933, 37.540945000828508 ], [ -122.257578000020146, 37.540535000758453 ], [ -122.257277000070658, 37.540535000701084 ], [ -122.256676999520039, 37.54013500034177 ], [ -122.254176999714119, 37.539135000350448 ], [ -122.250776999476628, 37.539635000560509 ], [ -122.250813999730255, 37.539766000903775 ], [ -122.250177000264713, 37.539235000651914 ], [ -122.2500889995747, 37.539183000509006 ], [ -122.249917000214225, 37.539081000285428 ], [ -122.249097999481492, 37.538624000768245 ], [ -122.248576999611004, 37.538235001096353 ], [ -122.248002000203059, 37.537909000573563 ], [ -122.24784999967261, 37.537802000577564 ], [ -122.245526000063663, 37.536184000712034 ], [ -122.245034999863563, 37.535842000833526 ], [ -122.243176999460772, 37.534535000574394 ], [ -122.2462769994452, 37.531635000998044 ], [ -122.248776999941455, 37.52953600080339 ], [ -122.251477000332599, 37.527136000317704 ], [ -122.250576999641382, 37.526536000422588 ], [ -122.250977000249534, 37.526236000641831 ], [ -122.251376999945521, 37.525836000910473 ], [ -122.251377000054816, 37.525536000713011 ], [ -122.251377000162719, 37.525136001027036 ], [ -122.249177000514777, 37.523236000240303 ], [ -122.248376999768155, 37.522636000858391 ], [ -122.247936000139163, 37.522305000911402 ], [ -122.244966000043661, 37.521647000469777 ], [ -122.24476300015904, 37.521593000984716 ], [ -122.245665000356766, 37.519735000720537 ], [ -122.246245999460115, 37.517826000742076 ], [ -122.247176999584553, 37.516936000343613 ], [ -122.248230000085542, 37.51642700092269 ], [ -122.249977000428316, 37.515036000368767 ], [ -122.252277000428251, 37.516936000873457 ], [ -122.252876999670022, 37.517236000254101 ], [ -122.252948999729156, 37.51728700036017 ], [ -122.253000000082125, 37.517323000837436 ], [ -122.253250999700853, 37.517537000622184 ], [ -122.253577000104528, 37.517836001032471 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 330, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.188675999884651, 37.477537000870122 ], [ -122.189975999473489, 37.478037000412669 ], [ -122.190475999600935, 37.478337000953516 ], [ -122.191375999832957, 37.478537000452327 ], [ -122.19207600026067, 37.478837000969435 ], [ -122.192975999509272, 37.479037000923093 ], [ -122.193375999913187, 37.479337001062319 ], [ -122.193875999548069, 37.479537000894233 ], [ -122.194775999840786, 37.479837000581213 ], [ -122.195576000309956, 37.48013700033286 ], [ -122.196376000326637, 37.480337001108659 ], [ -122.197076000319598, 37.480637000924091 ], [ -122.19807599984162, 37.481037000598484 ], [ -122.199075999866949, 37.481437000848686 ], [ -122.19977599951649, 37.481837000810678 ], [ -122.200875999781545, 37.482237000660298 ], [ -122.200371000378738, 37.482995000606685 ], [ -122.200076000430144, 37.483437000436851 ], [ -122.199476000308223, 37.484337000978549 ], [ -122.199876000228642, 37.484437001065615 ], [ -122.199376000130869, 37.485137000669859 ], [ -122.198775999929595, 37.485737000587669 ], [ -122.198576000431416, 37.486137000665387 ], [ -122.192676000280429, 37.485437000667794 ], [ -122.189375999666794, 37.484937000829447 ], [ -122.182474999762803, 37.483537000686781 ], [ -122.182239000472961, 37.48331600070167 ], [ -122.181934000505862, 37.483044000277808 ], [ -122.181728000395253, 37.482712000819042 ], [ -122.181616999472226, 37.482448000396687 ], [ -122.181513999689926, 37.482050000909886 ], [ -122.182413000231449, 37.48090100090338 ], [ -122.182975000380182, 37.480437001095744 ], [ -122.183201999540088, 37.48051800084675 ], [ -122.18329899948931, 37.480608001075105 ], [ -122.18340999982199, 37.480929001104947 ], [ -122.183651000146241, 37.480341000852334 ], [ -122.18414299998777, 37.479569000438211 ], [ -122.184875999990567, 37.478537000927098 ], [ -122.185367000245165, 37.477805000727479 ], [ -122.188675999884651, 37.477537000870122 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 329, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.192975999509272, 37.479037000923093 ], [ -122.19207600026067, 37.478837000969435 ], [ -122.191375999832957, 37.478537000452327 ], [ -122.190475999600935, 37.478337000953516 ], [ -122.189975999473489, 37.478037000412669 ], [ -122.188675999884651, 37.477537000870122 ], [ -122.196175999866725, 37.476937001110599 ], [ -122.199533000498278, 37.47658000082015 ], [ -122.200876000193745, 37.476437000430778 ], [ -122.20210999986179, 37.476368001046268 ], [ -122.20329899957386, 37.476302000486079 ], [ -122.204475999612114, 37.476237000487757 ], [ -122.205497999650134, 37.476155000823518 ], [ -122.20686900033067, 37.476044000253935 ], [ -122.207230999843716, 37.476015000649646 ], [ -122.208056000489066, 37.475948000978256 ], [ -122.209038000073576, 37.475869000557353 ], [ -122.209201000467004, 37.47585600087455 ], [ -122.21067600035957, 37.475737000955668 ], [ -122.211276000150391, 37.47573700039284 ], [ -122.211844000012235, 37.475879000717271 ], [ -122.212075999515918, 37.47593700041871 ], [ -122.213612999403452, 37.476341000502458 ], [ -122.213976000351821, 37.47643700025796 ], [ -122.216676000306222, 37.477037000695098 ], [ -122.216464000403747, 37.477295000238975 ], [ -122.215276000230091, 37.478737000560585 ], [ -122.214306000060233, 37.478252000534887 ], [ -122.214076000128713, 37.478137001036814 ], [ -122.212975999872597, 37.477337001070467 ], [ -122.212576000103397, 37.477037001082927 ], [ -122.211975999600739, 37.477737000286297 ], [ -122.211875999911044, 37.477937000314149 ], [ -122.210676000461092, 37.479537000691394 ], [ -122.209676000494895, 37.48103700041986 ], [ -122.20907600031741, 37.481937000247967 ], [ -122.209775999942551, 37.482137000812706 ], [ -122.210275999679041, 37.482237000899026 ], [ -122.211475999881472, 37.4824370002706 ], [ -122.212676000018575, 37.482737000940162 ], [ -122.213876000071238, 37.482937000317122 ], [ -122.212976000301609, 37.484537000267288 ], [ -122.21147600002304, 37.484337000669541 ], [ -122.210876000359491, 37.484237001115389 ], [ -122.210376000096502, 37.484137000827751 ], [ -122.209276000010064, 37.483737000867663 ], [ -122.207775999409165, 37.483437000445541 ], [ -122.206075999847883, 37.483337000721662 ], [ -122.204275999472202, 37.482937001050388 ], [ -122.202576000482054, 37.482537000956562 ], [ -122.201376000479854, 37.4823370005141 ], [ -122.200875999781545, 37.482237000660298 ], [ -122.19977599951649, 37.481837000810678 ], [ -122.199075999866949, 37.481437000848686 ], [ -122.19807599984162, 37.481037000598484 ], [ -122.197076000319598, 37.480637000924091 ], [ -122.196376000326637, 37.480337001108659 ], [ -122.195576000309956, 37.48013700033286 ], [ -122.194775999840786, 37.479837000581213 ], [ -122.193875999548069, 37.479537000894233 ], [ -122.193375999913187, 37.479337001062319 ], [ -122.192975999509272, 37.479037000923093 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 328, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.203076000468997, 37.470937001051162 ], [ -122.203975999618763, 37.471537000387656 ], [ -122.204976000088735, 37.472037000521318 ], [ -122.205775999554206, 37.472537000924056 ], [ -122.206575999491619, 37.473037000428327 ], [ -122.207276000425352, 37.473537000561976 ], [ -122.207676000050313, 37.473837000453834 ], [ -122.20787600035338, 37.474037000375631 ], [ -122.208576000472803, 37.474437000859098 ], [ -122.210076000308788, 37.475337000981625 ], [ -122.21067600035957, 37.475737000955668 ], [ -122.209201000467004, 37.47585600087455 ], [ -122.209038000073576, 37.475869000557353 ], [ -122.208056000489066, 37.475948000978256 ], [ -122.207230999843716, 37.476015000649646 ], [ -122.20686900033067, 37.476044000253935 ], [ -122.205497999650134, 37.476155000823518 ], [ -122.204475999612114, 37.476237000487757 ], [ -122.20329899957386, 37.476302000486079 ], [ -122.20210999986179, 37.476368001046268 ], [ -122.200876000193745, 37.476437000430778 ], [ -122.199533000498278, 37.47658000082015 ], [ -122.196175999866725, 37.476937001110599 ], [ -122.188675999884651, 37.477537000870122 ], [ -122.185367000245165, 37.477805000727479 ], [ -122.186332000210484, 37.476493000566435 ], [ -122.186075999595801, 37.476037001039224 ], [ -122.186642000304602, 37.47605500034134 ], [ -122.188476000151198, 37.473038000830527 ], [ -122.189439000150614, 37.471187001092389 ], [ -122.190021000089885, 37.471417000579429 ], [ -122.190876000358926, 37.471738000356602 ], [ -122.191876000240441, 37.472138001001582 ], [ -122.192875999914989, 37.470538000321831 ], [ -122.193775999471654, 37.470738000296834 ], [ -122.194775999938585, 37.47123800083348 ], [ -122.196275999515876, 37.471538000571151 ], [ -122.197475999542405, 37.472137000525038 ], [ -122.198775999825173, 37.470038001058377 ], [ -122.199275999894496, 37.469938000441218 ], [ -122.200075999781888, 37.469938001108929 ], [ -122.200576000026274, 37.46993800046733 ], [ -122.201575999413436, 37.46993800094026 ], [ -122.202275999805877, 37.470437000417334 ], [ -122.203076000468997, 37.470937001051162 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 252, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.379383000235435, 37.554937001036492 ], [ -122.381583000102225, 37.557237000560129 ], [ -122.385333999507409, 37.561362000852306 ], [ -122.386382999818395, 37.562537000756798 ], [ -122.389982999777899, 37.566436000327769 ], [ -122.390146999640237, 37.566600000674782 ], [ -122.390382999901874, 37.566836000553472 ], [ -122.391983000394561, 37.56873600071458 ], [ -122.393082999977125, 37.569836000388747 ], [ -122.393583000135507, 37.570236000785322 ], [ -122.391482999711087, 37.571636000550782 ], [ -122.391083000099286, 37.571336001012419 ], [ -122.391060999757613, 37.571267000621667 ], [ -122.39110199950612, 37.571226000916752 ], [ -122.391143999719432, 37.571087000671852 ], [ -122.391215999411088, 37.570980000454185 ], [ -122.39129900038435, 37.570840001075261 ], [ -122.391412999760149, 37.570709000910242 ], [ -122.391371000115669, 37.570446000623953 ], [ -122.391070999954692, 37.570298000691011 ], [ -122.390730000073077, 37.570224000456378 ], [ -122.390397999989659, 37.570150000644851 ], [ -122.390383000055706, 37.570136001047025 ], [ -122.390336000006769, 37.570076001111204 ], [ -122.390264000018362, 37.570002000370458 ], [ -122.390097999766198, 37.569837000242813 ], [ -122.389900999435596, 37.569542000345756 ], [ -122.389487000425177, 37.569320000926666 ], [ -122.389082999902328, 37.569246000911093 ], [ -122.388711000142024, 37.569213000556893 ], [ -122.388214000113209, 37.569246001100517 ], [ -122.3881830003902, 37.569236000487784 ], [ -122.387683000333496, 37.570436000244364 ], [ -122.386382999460565, 37.570736000457089 ], [ -122.385683000031605, 37.571336000580537 ], [ -122.386170000283443, 37.572230001028487 ], [ -122.386282999409332, 37.572436000826471 ], [ -122.383949000252414, 37.573387000703967 ], [ -122.383583000383496, 37.573536000897633 ], [ -122.383782999862689, 37.57403600089728 ], [ -122.383883000290936, 37.57433600089557 ], [ -122.383282999738256, 37.575036000904376 ], [ -122.382882999985313, 37.574936000449426 ], [ -122.38238299951071, 37.574736000713088 ], [ -122.382254000041726, 37.574718001034881 ], [ -122.38199900046051, 37.575336000692459 ], [ -122.381630999885303, 37.575918000434456 ], [ -122.380593999751994, 37.576453000756146 ], [ -122.3806920002109, 37.576649000554028 ], [ -122.380720000517357, 37.57667600111246 ], [ -122.380841999800154, 37.576761000311492 ], [ -122.380995000368529, 37.576894000642405 ], [ -122.381111999625091, 37.577007000549393 ], [ -122.381172999846854, 37.577080000902541 ], [ -122.381253999899556, 37.577209000932591 ], [ -122.38135099995435, 37.577306000616765 ], [ -122.381473000378065, 37.577419001135013 ], [ -122.381586999555239, 37.57750700056971 ], [ -122.380341999664154, 37.577562000812605 ], [ -122.378782000368574, 37.578136001089838 ], [ -122.378282000333172, 37.577736000815101 ], [ -122.376582000008824, 37.578836000597605 ], [ -122.374282000144603, 37.579736000541622 ], [ -122.372661000485465, 37.580465000604136 ], [ -122.372498999928681, 37.580932000958342 ], [ -122.372357999459638, 37.580941001114702 ], [ -122.372281999454032, 37.580636000742231 ], [ -122.372088000242869, 37.580427000870273 ], [ -122.370725999966609, 37.579603001055006 ], [ -122.370402999886636, 37.579408000683571 ], [ -122.370435000064717, 37.579361000607008 ], [ -122.370634999707761, 37.579062000955936 ], [ -122.370381999993981, 37.578936000883402 ], [ -122.370681999550854, 37.57863600038511 ], [ -122.36973099948824, 37.578197000435551 ], [ -122.369495999779232, 37.578338000442216 ], [ -122.36938499973958, 37.578405000835176 ], [ -122.369148000439083, 37.578227000533964 ], [ -122.368947999992173, 37.578390000727808 ], [ -122.368813999698986, 37.5782840005078 ], [ -122.367781999757852, 37.578736000926995 ], [ -122.36718200027704, 37.579036000402603 ], [ -122.366781999452513, 37.579236000737431 ], [ -122.365981999589209, 37.579736001000818 ], [ -122.365182000007835, 37.5801360010921 ], [ -122.364181999826997, 37.580636000254366 ], [ -122.364086999805224, 37.580541001034248 ], [ -122.363482000335537, 37.579936001112493 ], [ -122.362525000402641, 37.579440000327722 ], [ -122.360781999554305, 37.578536000808448 ], [ -122.360616000369774, 37.578602001048893 ], [ -122.35952900047026, 37.57731800068121 ], [ -122.358382000124365, 37.577936000368695 ], [ -122.357481999675286, 37.57733600062339 ], [ -122.356881999396236, 37.577736000948718 ], [ -122.35718199953385, 37.578136000280182 ], [ -122.35638199999444, 37.578436001047933 ], [ -122.356082000234068, 37.578136000684886 ], [ -122.353382000415422, 37.577136000292228 ], [ -122.353182000085269, 37.576936000457607 ], [ -122.353681999850039, 37.574836000737768 ], [ -122.354208000123322, 37.574639000930844 ], [ -122.354481999685234, 37.574536000860164 ], [ -122.353681999468591, 37.572836000925697 ], [ -122.354881999477669, 37.572136001097839 ], [ -122.353282000182588, 37.570536000436881 ], [ -122.35268200021423, 37.56983600056283 ], [ -122.353082000062258, 37.569536000579461 ], [ -122.35188100035613, 37.568136000877246 ], [ -122.350780999984835, 37.5663360007253 ], [ -122.352982000313744, 37.565336000839501 ], [ -122.355782000008944, 37.564336001052162 ], [ -122.35538199950534, 37.563636000409481 ], [ -122.354881999442327, 37.562836000569405 ], [ -122.353681999897915, 37.560936000945986 ], [ -122.353981999579801, 37.558236000670647 ], [ -122.356282000457313, 37.554536000610724 ], [ -122.358081999597516, 37.553336000832729 ], [ -122.360482000305907, 37.551737000585874 ], [ -122.362182000488374, 37.551437000818098 ], [ -122.362681999546467, 37.550637000375943 ], [ -122.363382000129377, 37.549737000303899 ], [ -122.363352999918447, 37.549715000754802 ], [ -122.36323900048717, 37.549577000371322 ], [ -122.363040000100824, 37.549434000388302 ], [ -122.362877999575943, 37.549367001006331 ], [ -122.362847999931745, 37.549324000919199 ], [ -122.362896000206788, 37.549152000344648 ], [ -122.363003999589651, 37.548828000696254 ], [ -122.363039999591962, 37.548551000748624 ], [ -122.363047000494475, 37.548332000915075 ], [ -122.363034000233611, 37.548227000728509 ], [ -122.36311899952085, 37.548146001094558 ], [ -122.363365000006453, 37.54808400103979 ], [ -122.363545999608846, 37.548075000721951 ], [ -122.363681999650069, 37.548037001122218 ], [ -122.364982000005242, 37.546437000666515 ], [ -122.365682000323673, 37.545637000250423 ], [ -122.366482000092603, 37.54493700096161 ], [ -122.371681999859291, 37.548337000951769 ], [ -122.372306999835487, 37.547691000499277 ], [ -122.372567000421355, 37.547451000288838 ], [ -122.373813999962636, 37.548372000603941 ], [ -122.37418299989578, 37.548637001033661 ], [ -122.377782999429471, 37.552237000682084 ], [ -122.378483000079441, 37.553837000662888 ], [ -122.379383000235435, 37.554937001036492 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 254, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.331732000140818, 37.546136001001081 ], [ -122.332421000454474, 37.545577000258163 ], [ -122.333549000104583, 37.544662000482852 ], [ -122.333080999900915, 37.544036000304317 ], [ -122.331981000000269, 37.542736001107059 ], [ -122.331281000386454, 37.541736000352778 ], [ -122.330581000195195, 37.540836000417862 ], [ -122.332195000379841, 37.539607000935632 ], [ -122.332681000279337, 37.539237000911186 ], [ -122.333381000493091, 37.538537000734543 ], [ -122.334181000072022, 37.539037000620993 ], [ -122.335780999577636, 37.537737000552092 ], [ -122.339180999391786, 37.540137000874751 ], [ -122.341681000130095, 37.537937000522057 ], [ -122.337980999683836, 37.534937000990247 ], [ -122.34188100028193, 37.531637001021949 ], [ -122.343780999922913, 37.533037000482473 ], [ -122.344580999873543, 37.534837000463575 ], [ -122.345480999928498, 37.537537000906873 ], [ -122.346380999694503, 37.539437000873221 ], [ -122.350282000454172, 37.54023700051507 ], [ -122.350481999801957, 37.540337000905403 ], [ -122.35058200040389, 37.539737000640891 ], [ -122.350581999822282, 37.539537001074173 ], [ -122.350681999609677, 37.536837000983624 ], [ -122.34988199964404, 37.535637000831656 ], [ -122.350181999410964, 37.534637000427331 ], [ -122.350181999696787, 37.534437000698532 ], [ -122.350481999673491, 37.534137000255789 ], [ -122.350882000124656, 37.533937000609157 ], [ -122.351681999501622, 37.532537000921216 ], [ -122.355281999914425, 37.530837001066871 ], [ -122.359181999710586, 37.529437000724947 ], [ -122.361282000178647, 37.530937000307041 ], [ -122.362681999430933, 37.530737000782565 ], [ -122.367118000036129, 37.542737000821234 ], [ -122.371042999741476, 37.546185000742405 ], [ -122.372567000421355, 37.547451000288838 ], [ -122.372306999835487, 37.547691000499277 ], [ -122.371681999859291, 37.548337000951769 ], [ -122.366482000092603, 37.54493700096161 ], [ -122.365682000323673, 37.545637000250423 ], [ -122.364982000005242, 37.546437000666515 ], [ -122.363681999650069, 37.548037001122218 ], [ -122.363545999608846, 37.548075000721951 ], [ -122.363365000006453, 37.54808400103979 ], [ -122.36311899952085, 37.548146001094558 ], [ -122.363034000233611, 37.548227000728509 ], [ -122.363047000494475, 37.548332000915075 ], [ -122.363039999591962, 37.548551000748624 ], [ -122.363003999589651, 37.548828000696254 ], [ -122.362896000206788, 37.549152000344648 ], [ -122.362847999931745, 37.549324000919199 ], [ -122.362877999575943, 37.549367001006331 ], [ -122.363040000100824, 37.549434000388302 ], [ -122.36323900048717, 37.549577000371322 ], [ -122.363352999918447, 37.549715000754802 ], [ -122.363382000129377, 37.549737000303899 ], [ -122.362681999546467, 37.550637000375943 ], [ -122.362182000488374, 37.551437000818098 ], [ -122.360482000305907, 37.551737000585874 ], [ -122.358081999597516, 37.553336000832729 ], [ -122.356282000457313, 37.554536000610724 ], [ -122.353981999579801, 37.558236000670647 ], [ -122.353681999897915, 37.560936000945986 ], [ -122.352682000208759, 37.561136000424845 ], [ -122.352082000344197, 37.561536000370829 ], [ -122.346181000006553, 37.563836000335996 ], [ -122.341871999728781, 37.56576200093906 ], [ -122.337680999416477, 37.567636000839059 ], [ -122.337481000134431, 37.567136000932862 ], [ -122.336880999823137, 37.56743600097974 ], [ -122.335981000092673, 37.566636001128735 ], [ -122.333829999597313, 37.565731000328221 ], [ -122.332680999906884, 37.565036000311444 ], [ -122.331824999460281, 37.564078000552705 ], [ -122.330880999913717, 37.56293600078304 ], [ -122.330181000022421, 37.561936000704769 ], [ -122.330358999875088, 37.561693000259289 ], [ -122.331280999789655, 37.560436000379731 ], [ -122.332481000449562, 37.559436000770866 ], [ -122.333180999479268, 37.558836000660257 ], [ -122.333881000012113, 37.558136000524073 ], [ -122.334481000172445, 37.55753600060094 ], [ -122.335169000041475, 37.557020000644698 ], [ -122.335280999803913, 37.556936000640654 ], [ -122.335763000158067, 37.556505000977047 ], [ -122.337181000206115, 37.555236000367394 ], [ -122.337248999486164, 37.555176000248807 ], [ -122.338081000254533, 37.554436000823898 ], [ -122.340281000159649, 37.552336000527525 ], [ -122.340581000093749, 37.552136000858255 ], [ -122.341403000297163, 37.550809000967973 ], [ -122.341181000254679, 37.550536001105371 ], [ -122.341381000254813, 37.549136000834068 ], [ -122.339080999996824, 37.546436000731063 ], [ -122.338578000251232, 37.54618400043779 ], [ -122.338480999945162, 37.54613600037802 ], [ -122.338330999646161, 37.545995000925281 ], [ -122.337780999885993, 37.546436000772033 ], [ -122.336451999701353, 37.547617000291375 ], [ -122.335981000396515, 37.548036001033466 ], [ -122.336180999602135, 37.548236000751956 ], [ -122.332980999576833, 37.551036000281407 ], [ -122.332852000077438, 37.550956001046529 ], [ -122.332789999682205, 37.550917001118357 ], [ -122.331966999842621, 37.551636000657936 ], [ -122.331372999783298, 37.552155000782619 ], [ -122.331152999526836, 37.55199000058068 ], [ -122.331080999692858, 37.551936000656234 ], [ -122.3312379998804, 37.551832000760392 ], [ -122.331680999455244, 37.551536000583212 ], [ -122.332280999681373, 37.550936001124562 ], [ -122.332458999955378, 37.550775001124812 ], [ -122.32917099960666, 37.548412000783337 ], [ -122.328926000484799, 37.548625000280076 ], [ -122.328864999514209, 37.548678000462914 ], [ -122.328688000301881, 37.548589000641009 ], [ -122.328845000473692, 37.548464000755494 ], [ -122.329366000319496, 37.548050000567194 ], [ -122.329652999540215, 37.547822000468024 ], [ -122.329977999551659, 37.547559000713306 ], [ -122.330436000189039, 37.547187000426447 ], [ -122.330962999650737, 37.546759000344792 ], [ -122.331214000258271, 37.54655600026107 ], [ -122.331480999502105, 37.54613600069262 ], [ -122.331732000140818, 37.546136001001081 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 259, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.332780999455395, 37.581835000340469 ], [ -122.332080999951074, 37.582435000312103 ], [ -122.333381000436248, 37.583635000806389 ], [ -122.334780999513811, 37.585035000381673 ], [ -122.334181000178717, 37.585535001089184 ], [ -122.334626999507648, 37.585981000426621 ], [ -122.334887999803001, 37.586242000829529 ], [ -122.335080999586538, 37.586435001048031 ], [ -122.335280999787145, 37.586835001032576 ], [ -122.333281000510922, 37.586535000770603 ], [ -122.330481000514936, 37.585235000579367 ], [ -122.328980999452554, 37.584135000592802 ], [ -122.328571999815225, 37.58377000077499 ], [ -122.325279999510556, 37.580835000610072 ], [ -122.325380000286046, 37.579735000353089 ], [ -122.325879999789393, 37.579335000979661 ], [ -122.326780999648278, 37.57863500071484 ], [ -122.329280999461218, 37.576135000751556 ], [ -122.329880999539441, 37.575535000595245 ], [ -122.330580999773659, 37.574535001116573 ], [ -122.331180999659466, 37.573735000389348 ], [ -122.332780999422255, 37.574535000781623 ], [ -122.334081000509585, 37.575135000986286 ], [ -122.335181000497869, 37.575635000873 ], [ -122.33938099981107, 37.577335000285892 ], [ -122.338981000473098, 37.577635000847131 ], [ -122.337980999839857, 37.578335000257454 ], [ -122.336980999674608, 37.579035000957418 ], [ -122.335981000000928, 37.579735000242913 ], [ -122.335081000290458, 37.580335000899609 ], [ -122.334280999558672, 37.580935000663658 ], [ -122.333581000256615, 37.581435000796944 ], [ -122.332780999455395, 37.581835000340469 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 261, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.310679999408819, 37.573735000855223 ], [ -122.311879999950264, 37.572935001089633 ], [ -122.313180000071483, 37.571935000329482 ], [ -122.313379999522851, 37.571635000302244 ], [ -122.313880000292713, 37.571135000832612 ], [ -122.314245999417594, 37.570684000896705 ], [ -122.314386000361282, 37.570511000737802 ], [ -122.315779999922583, 37.571835000444842 ], [ -122.316179999752762, 37.572135000727265 ], [ -122.317616000296823, 37.57357200105973 ], [ -122.318879999427011, 37.574735000317524 ], [ -122.320380000189516, 37.576135000824152 ], [ -122.321780000362168, 37.577435000833475 ], [ -122.324180000477071, 37.579635000800891 ], [ -122.324779999576393, 37.580235000493516 ], [ -122.325279999510556, 37.580835000610072 ], [ -122.328571999815225, 37.58377000077499 ], [ -122.328980999452554, 37.584135000592802 ], [ -122.330481000514936, 37.585235000579367 ], [ -122.333281000510922, 37.586535000770603 ], [ -122.335280999787145, 37.586835001032576 ], [ -122.335180999878176, 37.587235000400042 ], [ -122.334609000268372, 37.587378000329124 ], [ -122.333980999989706, 37.587535001043157 ], [ -122.333977000433578, 37.587752000720045 ], [ -122.332681000167639, 37.588035000521572 ], [ -122.324227999741098, 37.590828000745859 ], [ -122.321180000112165, 37.591835000563016 ], [ -122.318780000039808, 37.591235000606041 ], [ -122.315279999560516, 37.591334000943526 ], [ -122.315480000412748, 37.590735000980814 ], [ -122.31457999991315, 37.585835000679332 ], [ -122.316280000396503, 37.584835000487587 ], [ -122.316780000455338, 37.585035000984163 ], [ -122.316780000165323, 37.584335000925833 ], [ -122.312942000260705, 37.580989000608412 ], [ -122.312880000064695, 37.580935001118924 ], [ -122.310179999911654, 37.578135000660062 ], [ -122.306580000014463, 37.575935000425567 ], [ -122.3055799998494, 37.574835000390678 ], [ -122.30667999940043, 37.573735000490892 ], [ -122.309580000339778, 37.574235001131235 ], [ -122.310679999408819, 37.573735000855223 ] ] ], [ [ [ -122.288468999999878, 37.575198000429445 ], [ -122.28837900039548, 37.570535000274113 ], [ -122.288278999716795, 37.570035000334698 ], [ -122.289979000108417, 37.570035000809085 ], [ -122.293379000257474, 37.570035000407536 ], [ -122.293368999504224, 37.570159000733177 ], [ -122.293356000216264, 37.570245000716113 ], [ -122.293267999666554, 37.57033600029937 ], [ -122.293100000310133, 37.570357000589112 ], [ -122.292198000039789, 37.570222000562353 ], [ -122.292104000077956, 37.570318000879759 ], [ -122.292095999940912, 37.570404000948905 ], [ -122.292203999481742, 37.570555000736242 ], [ -122.292445999795277, 37.570679000983276 ], [ -122.29344700031163, 37.57122800031965 ], [ -122.293474999852734, 37.571363000855754 ], [ -122.293500999695922, 37.571647000410792 ], [ -122.293406000473425, 37.571738000546475 ], [ -122.290557999774549, 37.574597000882193 ], [ -122.290274999421356, 37.574726000867308 ], [ -122.288935000437689, 37.575115001082416 ], [ -122.288468999999878, 37.575198000429445 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 257, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.322979999396097, 37.567935000973598 ], [ -122.322280000426304, 37.568435000254624 ], [ -122.321479999764733, 37.567635000383625 ], [ -122.320580000082373, 37.566835000951201 ], [ -122.319780000474324, 37.566135000386005 ], [ -122.31918000016509, 37.56553500060491 ], [ -122.3182800004397, 37.5660350008419 ], [ -122.317380000177195, 37.566735000544789 ], [ -122.316279999471107, 37.567335000479034 ], [ -122.315480000261076, 37.568135000313063 ], [ -122.314579999602245, 37.568735000739402 ], [ -122.313680000346352, 37.569035000522362 ], [ -122.313320999742984, 37.569392001026422 ], [ -122.313079999914009, 37.569135000751459 ], [ -122.311980000455122, 37.568035000842741 ], [ -122.310620000188067, 37.566772000347015 ], [ -122.309180000428341, 37.565435000934919 ], [ -122.309379999576265, 37.565335001114384 ], [ -122.310280000050298, 37.564835000386346 ], [ -122.311280000069658, 37.564235001006217 ], [ -122.312279999754466, 37.563535001059599 ], [ -122.313179999476887, 37.562835000241748 ], [ -122.314179999920825, 37.562135001016934 ], [ -122.314979999533449, 37.561535000235665 ], [ -122.315679999958391, 37.561136000975395 ], [ -122.316279999737105, 37.560836000348203 ], [ -122.316679999891832, 37.560536001069387 ], [ -122.31797999942539, 37.561936000304463 ], [ -122.318280000398602, 37.56183600048135 ], [ -122.318780000330406, 37.561436000817579 ], [ -122.318979999679129, 37.56123600064064 ], [ -122.319980000422674, 37.560536000462989 ], [ -122.32057999939633, 37.5611360010436 ], [ -122.321180000025052, 37.561736000365123 ], [ -122.321980000354685, 37.562436000839121 ], [ -122.322679999514079, 37.563036000707072 ], [ -122.323280000255352, 37.562636000449267 ], [ -122.325179999462989, 37.561336000869687 ], [ -122.325679999761036, 37.561936000702616 ], [ -122.326581000420788, 37.562736000948398 ], [ -122.326980999697057, 37.562936000946891 ], [ -122.327380999864943, 37.563336000831022 ], [ -122.327581000416302, 37.563536000263795 ], [ -122.328080999638559, 37.564036000494895 ], [ -122.328681000086618, 37.565136000315086 ], [ -122.328824999544395, 37.565239000453921 ], [ -122.329380999745908, 37.565636000916371 ], [ -122.330680999689008, 37.566736000627309 ], [ -122.329980999842505, 37.567236000854933 ], [ -122.328780999861394, 37.568035000390047 ], [ -122.32748099966544, 37.568835000634024 ], [ -122.326981000485887, 37.569235000597025 ], [ -122.32668100043378, 37.569435000770483 ], [ -122.326280000059867, 37.569735000713784 ], [ -122.325680000493136, 37.569135000665163 ], [ -122.324579999541555, 37.568035000249139 ], [ -122.323880000043786, 37.567435001084739 ], [ -122.323580000180939, 37.567635000644657 ], [ -122.322979999396097, 37.567935000973598 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 255, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.335763000158067, 37.556505000977047 ], [ -122.335280999803913, 37.556936000640654 ], [ -122.335169000041475, 37.557020000644698 ], [ -122.334481000172445, 37.55753600060094 ], [ -122.333881000012113, 37.558136000524073 ], [ -122.333180999479268, 37.558836000660257 ], [ -122.332481000449562, 37.559436000770866 ], [ -122.331280999789655, 37.560436000379731 ], [ -122.329780999852872, 37.559936000339327 ], [ -122.329380999642964, 37.558636000753964 ], [ -122.329380999659108, 37.55813600036408 ], [ -122.327081000378755, 37.556136000330774 ], [ -122.326581000160473, 37.555836000515683 ], [ -122.326280000498713, 37.555536000410967 ], [ -122.325980000413651, 37.554736001050031 ], [ -122.325579999875345, 37.554036000536342 ], [ -122.323679999554358, 37.555536000446168 ], [ -122.32158000049651, 37.557436000842202 ], [ -122.321479999761337, 37.557936000571537 ], [ -122.320379999667495, 37.556936000661018 ], [ -122.319679999503691, 37.556336000359053 ], [ -122.318980000129045, 37.555636001055923 ], [ -122.321680000315894, 37.553736000502923 ], [ -122.322380000086099, 37.553236000314996 ], [ -122.323079999597255, 37.552836000720717 ], [ -122.323680000478305, 37.552436001016915 ], [ -122.323480000508354, 37.5521360007453 ], [ -122.324179999652699, 37.551736000797504 ], [ -122.324880000122477, 37.551236000803513 ], [ -122.325580000213094, 37.550636000717226 ], [ -122.326280000094854, 37.550236000739396 ], [ -122.326981000353641, 37.54973600096568 ], [ -122.326680999800729, 37.549336000659224 ], [ -122.328080999956782, 37.548436000734029 ], [ -122.328468999830918, 37.548514001105232 ], [ -122.328580999964061, 37.54853600077 ], [ -122.328781000475871, 37.548336000445964 ], [ -122.329080999521068, 37.547936001116817 ], [ -122.329366000319496, 37.548050000567194 ], [ -122.328845000473692, 37.548464000755494 ], [ -122.328688000301881, 37.548589000641009 ], [ -122.328864999514209, 37.548678000462914 ], [ -122.328926000484799, 37.548625000280076 ], [ -122.32917099960666, 37.548412000783337 ], [ -122.332458999955378, 37.550775001124812 ], [ -122.332280999681373, 37.550936001124562 ], [ -122.331680999455244, 37.551536000583212 ], [ -122.3312379998804, 37.551832000760392 ], [ -122.331080999692858, 37.551936000656234 ], [ -122.331152999526836, 37.55199000058068 ], [ -122.331372999783298, 37.552155000782619 ], [ -122.331966999842621, 37.551636000657936 ], [ -122.332789999682205, 37.550917001118357 ], [ -122.332852000077438, 37.550956001046529 ], [ -122.332980999576833, 37.551036000281407 ], [ -122.336180999602135, 37.548236000751956 ], [ -122.335981000396515, 37.548036001033466 ], [ -122.336451999701353, 37.547617000291375 ], [ -122.337780999885993, 37.546436000772033 ], [ -122.338330999646161, 37.545995000925281 ], [ -122.338480999945162, 37.54613600037802 ], [ -122.338578000251232, 37.54618400043779 ], [ -122.339080999996824, 37.546436000731063 ], [ -122.341381000254813, 37.549136000834068 ], [ -122.341181000254679, 37.550536001105371 ], [ -122.341403000297163, 37.550809000967973 ], [ -122.340581000093749, 37.552136000858255 ], [ -122.340281000159649, 37.552336000527525 ], [ -122.338081000254533, 37.554436000823898 ], [ -122.337248999486164, 37.555176000248807 ], [ -122.337181000206115, 37.555236000367394 ], [ -122.335763000158067, 37.556505000977047 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 292, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.33488100006663, 37.515337000341894 ], [ -122.33438100026126, 37.514637000470088 ], [ -122.33388099996219, 37.513237001122214 ], [ -122.333780999947933, 37.512737000654148 ], [ -122.333080999915722, 37.512337000266832 ], [ -122.332816000193162, 37.512171000299446 ], [ -122.33228100044775, 37.511837000866265 ], [ -122.332080999419446, 37.511537000794263 ], [ -122.331680999702456, 37.511337000262579 ], [ -122.331081000433059, 37.510937000375719 ], [ -122.334586000297179, 37.508912000735194 ], [ -122.336564000016182, 37.507468000962248 ], [ -122.337279999666407, 37.506876000943429 ], [ -122.337725000123868, 37.506558001116325 ], [ -122.33835499989182, 37.506228000662553 ], [ -122.338672000038258, 37.506116000278404 ], [ -122.338980000512336, 37.505992000377908 ], [ -122.339294999451425, 37.506184000779307 ], [ -122.340649000112862, 37.50704700097468 ], [ -122.346180999768265, 37.511738000753731 ], [ -122.352317999756977, 37.518425000812464 ], [ -122.353321999438421, 37.519522000544825 ], [ -122.35430199949532, 37.520594000350428 ], [ -122.355490000339358, 37.521860000459981 ], [ -122.355865999963953, 37.522237000981647 ], [ -122.356074000041318, 37.522444000499746 ], [ -122.356222999498584, 37.522595000861884 ], [ -122.356403999533399, 37.522777000637035 ], [ -122.356601000077134, 37.522976001102741 ], [ -122.358282000360802, 37.524837000263069 ], [ -122.362482000424706, 37.529837001103623 ], [ -122.362681999430933, 37.530737000782565 ], [ -122.361282000178647, 37.530937000307041 ], [ -122.359181999710586, 37.529437000724947 ], [ -122.355281999914425, 37.530837001066871 ], [ -122.351681999501622, 37.532537000921216 ], [ -122.350882000124656, 37.533937000609157 ], [ -122.350481999673491, 37.534137000255789 ], [ -122.3508820000919, 37.531737001066269 ], [ -122.347181000374789, 37.528837000597363 ], [ -122.345680999540846, 37.527537000458558 ], [ -122.3452810001654, 37.527137001059813 ], [ -122.345080999798157, 37.527037000810026 ], [ -122.343397000506087, 37.526442000688476 ], [ -122.341080999545895, 37.524937000538934 ], [ -122.340280999996736, 37.521337000386623 ], [ -122.339981000206123, 37.521137000673058 ], [ -122.339081000190077, 37.520337000471613 ], [ -122.3382810003082, 37.519837000425426 ], [ -122.337880999471224, 37.519337000934826 ], [ -122.337580999596454, 37.519037000463221 ], [ -122.337381000380475, 37.518737000565196 ], [ -122.336581000428723, 37.517737000339963 ], [ -122.336280999631157, 37.517437001032839 ], [ -122.335981000256012, 37.516937000797427 ], [ -122.33488100006663, 37.515337000341894 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 284, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.294429000238111, 37.534086000384875 ], [ -122.294278999442085, 37.533936001079539 ], [ -122.294078999698485, 37.53373600081396 ], [ -122.293378999756627, 37.533136000834176 ], [ -122.290678999627787, 37.531436001056953 ], [ -122.289679000094537, 37.53083600112155 ], [ -122.288678999721881, 37.53013600032412 ], [ -122.288078999880071, 37.529736000751015 ], [ -122.289778999728398, 37.528836000898579 ], [ -122.290679000124641, 37.528436000697262 ], [ -122.291878999941076, 37.527936000352604 ], [ -122.292678999854004, 37.52763600038849 ], [ -122.293279000371228, 37.527336000680599 ], [ -122.294038999785926, 37.526956001062537 ], [ -122.294278999609958, 37.526836000914244 ], [ -122.294478999439718, 37.526736001014491 ], [ -122.296779000432181, 37.527436001088873 ], [ -122.2949789995711, 37.528236000630585 ], [ -122.29567900043277, 37.529036000731089 ], [ -122.296379000384263, 37.529336001039468 ], [ -122.297179000289518, 37.529836000423202 ], [ -122.297879000020288, 37.530936000785807 ], [ -122.299378999687022, 37.530436000504601 ], [ -122.30177900034063, 37.529336000392021 ], [ -122.302278999941208, 37.530036000543213 ], [ -122.302978999643827, 37.531136000698019 ], [ -122.30347899996768, 37.531936000725914 ], [ -122.30227900009784, 37.532236000410727 ], [ -122.302579000005977, 37.532736000502808 ], [ -122.303079000287894, 37.53323600043381 ], [ -122.304180000111671, 37.533036000359751 ], [ -122.304579999766744, 37.533536000478129 ], [ -122.304779999570442, 37.533936000374574 ], [ -122.305280000301252, 37.534536000522763 ], [ -122.302378999918346, 37.535036001129804 ], [ -122.301179000318541, 37.535736001123354 ], [ -122.301678999481979, 37.536136000881839 ], [ -122.302179000224641, 37.53663600080619 ], [ -122.302278999611005, 37.53713600097069 ], [ -122.302478999900472, 37.537836000484852 ], [ -122.303478999688267, 37.537536000661966 ], [ -122.303979999424186, 37.538136001086663 ], [ -122.304380000115771, 37.538836000670472 ], [ -122.304880000103978, 37.539536000777716 ], [ -122.305780000263994, 37.540836001104473 ], [ -122.304480000063435, 37.541436000576347 ], [ -122.303179000400348, 37.541836000538467 ], [ -122.300479000349185, 37.539236000541031 ], [ -122.297878999433536, 37.537136000801787 ], [ -122.29577899989016, 37.535236000758459 ], [ -122.294978999563597, 37.534636000681985 ], [ -122.294429000238111, 37.534086000384875 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 281, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.312080000078751, 37.54943600099682 ], [ -122.31188000012456, 37.549236000389634 ], [ -122.311680000458097, 37.548936000925181 ], [ -122.310980000278448, 37.548436000522109 ], [ -122.310280000312034, 37.547836001042924 ], [ -122.309480000246353, 37.547236000304466 ], [ -122.308480000053351, 37.546436000362014 ], [ -122.30757999949482, 37.545836000425226 ], [ -122.306780000461814, 37.545136000844799 ], [ -122.306279999459434, 37.544736000385626 ], [ -122.306080000250617, 37.544536000730993 ], [ -122.304279999740828, 37.542736001063986 ], [ -122.303179000400348, 37.541836000538467 ], [ -122.304480000063435, 37.541436000576347 ], [ -122.305780000263994, 37.540836001104473 ], [ -122.306680000129333, 37.540436000761055 ], [ -122.306979999895447, 37.540436000592834 ], [ -122.308280000106052, 37.539836000380284 ], [ -122.309480000402843, 37.539236000376057 ], [ -122.310780000288162, 37.53873600077668 ], [ -122.312479999608172, 37.538036000650301 ], [ -122.312979999469746, 37.538836000685123 ], [ -122.313579999626157, 37.539536000730401 ], [ -122.314279999505032, 37.540036000614073 ], [ -122.314779999455098, 37.540536000476287 ], [ -122.315679999546489, 37.541136001014344 ], [ -122.316579999996677, 37.541836000567891 ], [ -122.316979999725874, 37.542236000374409 ], [ -122.313579999789226, 37.543136001026518 ], [ -122.313979999809078, 37.544036000356101 ], [ -122.317980000218441, 37.542836001123447 ], [ -122.318979999507491, 37.543636000612182 ], [ -122.319980000335178, 37.54453600107319 ], [ -122.320679999597289, 37.544936000372459 ], [ -122.32148000032582, 37.545636000959021 ], [ -122.322279999839523, 37.546236001080899 ], [ -122.323280000044392, 37.546636000246018 ], [ -122.323680000526295, 37.546536000410313 ], [ -122.323979999774039, 37.5468360007809 ], [ -122.323655999763218, 37.546887001011392 ], [ -122.322080000110532, 37.547136000525441 ], [ -122.319249999405372, 37.547824000761594 ], [ -122.318735000292094, 37.547949000410803 ], [ -122.315950999540007, 37.548627000554589 ], [ -122.314680000223177, 37.548936000633496 ], [ -122.314179999801695, 37.549036001049707 ], [ -122.31337999994301, 37.549336000820674 ], [ -122.312679999908482, 37.549836001052398 ], [ -122.312080000078751, 37.54943600099682 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 279, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.304330000190532, 37.560885000352251 ], [ -122.303979999652384, 37.560535000344714 ], [ -122.303780000155598, 37.560335000777464 ], [ -122.303280000413153, 37.559835000811589 ], [ -122.299649999571173, 37.555797001002801 ], [ -122.299279000051314, 37.555435000740403 ], [ -122.297476999977093, 37.553633000948203 ], [ -122.296756999789878, 37.552929001020551 ], [ -122.296535000472957, 37.552713000759873 ], [ -122.296702000192553, 37.552669000694188 ], [ -122.297372000435189, 37.5525390008941 ], [ -122.298259999861699, 37.552396000577303 ], [ -122.298948999803287, 37.552288001002076 ], [ -122.299540000444864, 37.552226000966087 ], [ -122.30014199962109, 37.552176000524007 ], [ -122.300478999979575, 37.552136000510487 ], [ -122.302779999988857, 37.552036001063463 ], [ -122.306080000150885, 37.55253600108874 ], [ -122.306680000445184, 37.552536000738179 ], [ -122.308779999972302, 37.552036000830178 ], [ -122.309579999726921, 37.551836000372454 ], [ -122.309779999760977, 37.551636001038936 ], [ -122.311479999720163, 37.555636000848651 ], [ -122.311680000103507, 37.55573600087903 ], [ -122.315844999417095, 37.559931000296601 ], [ -122.316679999891832, 37.560536001069387 ], [ -122.316279999737105, 37.560836000348203 ], [ -122.315679999958391, 37.561136000975395 ], [ -122.314979999533449, 37.561535000235665 ], [ -122.314179999920825, 37.562135001016934 ], [ -122.313179999476887, 37.562835000241748 ], [ -122.312279999754466, 37.563535001059599 ], [ -122.311280000069658, 37.564235001006217 ], [ -122.310280000050298, 37.564835000386346 ], [ -122.309379999576265, 37.565335001114384 ], [ -122.309180000428341, 37.565435000934919 ], [ -122.306279999977093, 37.562735001018552 ], [ -122.30517999968464, 37.561735000516833 ], [ -122.304679999448496, 37.561235001110127 ], [ -122.304330000190532, 37.560885000352251 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 263, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.309479999539008, 37.567135000551794 ], [ -122.308580000190531, 37.567535000275285 ], [ -122.307980000493444, 37.567935000726976 ], [ -122.307080000352968, 37.568435000571363 ], [ -122.306579999907015, 37.567935000522958 ], [ -122.304880000052322, 37.566535000798638 ], [ -122.304279999440709, 37.566835000502429 ], [ -122.302879999836691, 37.567835000323015 ], [ -122.300979999762006, 37.56793500041794 ], [ -122.298879000426041, 37.567935000421365 ], [ -122.298979000455688, 37.56723500072286 ], [ -122.298978999579489, 37.566435001100523 ], [ -122.298978999407638, 37.565835000415028 ], [ -122.298978999855365, 37.565135000594594 ], [ -122.298278999490108, 37.565135000673543 ], [ -122.298079000524098, 37.565135000584206 ], [ -122.297779000382604, 37.565135000255452 ], [ -122.297878999769353, 37.562635000260471 ], [ -122.299979000442733, 37.561435000246988 ], [ -122.302379999469068, 37.56033500091722 ], [ -122.303280000413153, 37.559835000811589 ], [ -122.303780000155598, 37.560335000777464 ], [ -122.303979999652384, 37.560535000344714 ], [ -122.304330000190532, 37.560885000352251 ], [ -122.304679999448496, 37.561235001110127 ], [ -122.30517999968464, 37.561735000516833 ], [ -122.306279999977093, 37.562735001018552 ], [ -122.309180000428341, 37.565435000934919 ], [ -122.310620000188067, 37.566772000347015 ], [ -122.310180000290046, 37.567035000816936 ], [ -122.309479999539008, 37.567135000551794 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 273, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.260578000223703, 37.546035000842643 ], [ -122.260678000113515, 37.546335000830659 ], [ -122.26077799955452, 37.546935000928926 ], [ -122.260077999818378, 37.547035000611039 ], [ -122.25906599978299, 37.547060000431536 ], [ -122.25806700027627, 37.547084000670075 ], [ -122.257065000295924, 37.547108000613143 ], [ -122.255978000431369, 37.547135000539662 ], [ -122.255217000189276, 37.547081000485527 ], [ -122.254577000389659, 37.54703500084721 ], [ -122.252477000045872, 37.547535000477971 ], [ -122.250477000055071, 37.549235000475988 ], [ -122.250221999946532, 37.549184000698553 ], [ -122.249977000062131, 37.549135000873207 ], [ -122.248976999980741, 37.548835000769735 ], [ -122.252077000171653, 37.544235000879105 ], [ -122.250813999730255, 37.539766000903775 ], [ -122.250776999476628, 37.539635000560509 ], [ -122.254176999714119, 37.539135000350448 ], [ -122.256676999520039, 37.54013500034177 ], [ -122.257277000070658, 37.540535000701084 ], [ -122.257578000020146, 37.540535000758453 ], [ -122.258603999823933, 37.540945000828508 ], [ -122.259525999780095, 37.541314000371649 ], [ -122.259577999811498, 37.54133500049992 ], [ -122.260259000520222, 37.540768000684771 ], [ -122.261378000512991, 37.53983500057209 ], [ -122.261878000129613, 37.539435000435851 ], [ -122.26177799976233, 37.538735000308272 ], [ -122.261078000014649, 37.535535000551548 ], [ -122.261477999618663, 37.535636000559641 ], [ -122.262178000138974, 37.534336000324288 ], [ -122.26347799966787, 37.534236000520835 ], [ -122.26533600004899, 37.534678000279904 ], [ -122.265577999889601, 37.534736000806056 ], [ -122.268521000151523, 37.534636000474066 ], [ -122.274377999951056, 37.53443600073085 ], [ -122.276878000397289, 37.534436000591533 ], [ -122.277877999690759, 37.535036001088336 ], [ -122.278105000037769, 37.535473000695902 ], [ -122.278550999630397, 37.536331000401994 ], [ -122.278743000516442, 37.536700000328729 ], [ -122.278836000238044, 37.536879000780438 ], [ -122.278577999931372, 37.53693600040851 ], [ -122.278473999661486, 37.536820000375485 ], [ -122.278230000246538, 37.536550000235508 ], [ -122.278175000071812, 37.536488000507937 ], [ -122.277678000166546, 37.535936000625391 ], [ -122.277077999769631, 37.536536000399842 ], [ -122.27677800014385, 37.536936000788934 ], [ -122.275578000495941, 37.53663600105503 ], [ -122.274278000172487, 37.536436000476527 ], [ -122.272977999501038, 37.53643600065714 ], [ -122.270377999779114, 37.536536000748036 ], [ -122.270377999398946, 37.536936001018006 ], [ -122.270478000008154, 37.537636000722344 ], [ -122.270477999479397, 37.537836000372295 ], [ -122.269878000015012, 37.537936000485004 ], [ -122.26967800047828, 37.537936000356041 ], [ -122.269077999611739, 37.537936000626509 ], [ -122.268177999490291, 37.537936000279771 ], [ -122.267578000516011, 37.537536000910592 ], [ -122.266978000435387, 37.538136001073404 ], [ -122.266078000414609, 37.538935000548761 ], [ -122.265425999519465, 37.53951500030044 ], [ -122.265177999564614, 37.539735000667726 ], [ -122.264259000291418, 37.540347000712885 ], [ -122.263978000321345, 37.540535000778092 ], [ -122.263177999716987, 37.541235000853483 ], [ -122.26267800048403, 37.541635000947153 ], [ -122.26207800026539, 37.541835000994553 ], [ -122.261453000026847, 37.542225001073852 ], [ -122.26127800000674, 37.542335000235362 ], [ -122.260917999845972, 37.542541000448708 ], [ -122.260858000458413, 37.542575001118635 ], [ -122.260763999592044, 37.542629000559721 ], [ -122.260578000402148, 37.54273500086326 ], [ -122.259877999633474, 37.543535000466377 ], [ -122.259778000476615, 37.544135000736532 ], [ -122.259777999523422, 37.544494000981871 ], [ -122.259278000394261, 37.544514001063121 ], [ -122.259277999866868, 37.544435000386279 ], [ -122.256076999438889, 37.544535000884956 ], [ -122.255506000131462, 37.545011000575819 ], [ -122.255476999484344, 37.545035000671149 ], [ -122.255667999474241, 37.545480000316502 ], [ -122.255851999594256, 37.545909000897581 ], [ -122.256078000374586, 37.546435000292696 ], [ -122.257077999897334, 37.54643500058269 ], [ -122.257777999791401, 37.546035000459142 ], [ -122.260578000223703, 37.546035000842643 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 268, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.257805999448266, 37.562147000728594 ], [ -122.257477999641821, 37.561835000713302 ], [ -122.256478000303062, 37.560035000950265 ], [ -122.25607800030113, 37.557935001085198 ], [ -122.256577999866778, 37.556035000948 ], [ -122.259177999910108, 37.554235000303684 ], [ -122.25947799972522, 37.554435001072989 ], [ -122.261278000507403, 37.555535000587753 ], [ -122.263877999953351, 37.557135001036876 ], [ -122.26537800027927, 37.557935000868454 ], [ -122.265877999858461, 37.558335000964242 ], [ -122.266278000106254, 37.558535000532984 ], [ -122.266793999638509, 37.558859000677138 ], [ -122.266953999638304, 37.558960000433935 ], [ -122.268456999414809, 37.559905000672941 ], [ -122.269777999734984, 37.560735000971896 ], [ -122.269478000031043, 37.561334000610778 ], [ -122.268778000481745, 37.562735001109708 ], [ -122.268577999953166, 37.565035000311497 ], [ -122.267377999540841, 37.564935000266949 ], [ -122.265577999766649, 37.565135000519433 ], [ -122.262551999827068, 37.564976000700099 ], [ -122.261777999766196, 37.56493500072839 ], [ -122.259577999548711, 37.563835000936955 ], [ -122.257805999448266, 37.562147000728594 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 269, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.249977000062131, 37.549135000873207 ], [ -122.250221999946532, 37.549184000698553 ], [ -122.250477000055071, 37.549235000475988 ], [ -122.251777000165703, 37.550035000912345 ], [ -122.254276999451164, 37.551235000813406 ], [ -122.255778000201389, 37.552135000729869 ], [ -122.258777999557736, 37.5539350011138 ], [ -122.259177999910108, 37.554235000303684 ], [ -122.256577999866778, 37.556035000948 ], [ -122.25607800030113, 37.557935001085198 ], [ -122.256478000303062, 37.560035000950265 ], [ -122.257477999641821, 37.561835000713302 ], [ -122.257805999448266, 37.562147000728594 ], [ -122.257066999886661, 37.562414000376563 ], [ -122.256324999568179, 37.56261500036571 ], [ -122.255387000421166, 37.561068000992833 ], [ -122.255000000194428, 37.56037900073779 ], [ -122.254777999645242, 37.560435000420576 ], [ -122.254378000443253, 37.560535001117437 ], [ -122.25377800028167, 37.560735000850798 ], [ -122.25349200044883, 37.561545000408266 ], [ -122.253177999766933, 37.562435000466074 ], [ -122.252630999682225, 37.562669000738921 ], [ -122.252477999972172, 37.562735000522665 ], [ -122.251478000441551, 37.563134000263588 ], [ -122.250964000451177, 37.563317000615037 ], [ -122.250076999711254, 37.563634000396128 ], [ -122.248976999504805, 37.563934000452477 ], [ -122.248544999936925, 37.563324001018245 ], [ -122.243877000418777, 37.556735000851553 ], [ -122.244877000039494, 37.553335000648424 ], [ -122.248955999714326, 37.549976001119219 ], [ -122.249977000062131, 37.549135000873207 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 277, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.298578999768992, 37.538636000406278 ], [ -122.298178999467481, 37.538936000927379 ], [ -122.295279000161855, 37.540736000734356 ], [ -122.294278999882778, 37.541436000546227 ], [ -122.292960999595721, 37.542388000701543 ], [ -122.292330000436891, 37.542831000785434 ], [ -122.29163499987088, 37.542197000778145 ], [ -122.291328000212189, 37.542826000916776 ], [ -122.291000000368442, 37.543234001096963 ], [ -122.290562999899336, 37.543678000358327 ], [ -122.290219000276096, 37.543908000678783 ], [ -122.289848999945178, 37.543983000274814 ], [ -122.289706000057365, 37.543991000348143 ], [ -122.289536000291534, 37.543959000286115 ], [ -122.289402999523659, 37.543873000618184 ], [ -122.289196999802272, 37.543763000311316 ], [ -122.289006999913937, 37.543710000407941 ], [ -122.288735000428744, 37.543690001060575 ], [ -122.288482999411329, 37.543714000722098 ], [ -122.288262999462916, 37.54371800087857 ], [ -122.288000999924947, 37.543686001063236 ], [ -122.287769999487594, 37.543628000965761 ], [ -122.287532999597161, 37.543551000885856 ], [ -122.286878999582058, 37.543136000505861 ], [ -122.286378999881109, 37.542636000578732 ], [ -122.281911000170425, 37.53784400098035 ], [ -122.280878000171896, 37.536736001049377 ], [ -122.278578000407705, 37.534436000472084 ], [ -122.278437999947954, 37.53429600031086 ], [ -122.279586000271593, 37.534244000257793 ], [ -122.282848999872954, 37.534096000670033 ], [ -122.285290999750316, 37.533986001066147 ], [ -122.287332000488746, 37.533894001095184 ], [ -122.289378999707253, 37.533802001016362 ], [ -122.289599000213016, 37.533792001114513 ], [ -122.289683999456983, 37.533788000293889 ], [ -122.289751000124667, 37.534512000883801 ], [ -122.289979000144854, 37.534436000657465 ], [ -122.289878999461123, 37.533636000555823 ], [ -122.291079000526054, 37.532436000406797 ], [ -122.289879000441132, 37.53163600101221 ], [ -122.28847899988682, 37.530836000485557 ], [ -122.28717900042227, 37.530036000257915 ], [ -122.287478999572897, 37.529736001073914 ], [ -122.287678999559461, 37.529536000582894 ], [ -122.288078999880071, 37.529736000751015 ], [ -122.288678999721881, 37.53013600032412 ], [ -122.289679000094537, 37.53083600112155 ], [ -122.290678999627787, 37.531436001056953 ], [ -122.293378999756627, 37.533136000834176 ], [ -122.294078999698485, 37.53373600081396 ], [ -122.294278999442085, 37.533936001079539 ], [ -122.294429000238111, 37.534086000384875 ], [ -122.294978999563597, 37.534636000681985 ], [ -122.29577899989016, 37.535236000758459 ], [ -122.297878999433536, 37.537136000801787 ], [ -122.297378999560564, 37.537536000307867 ], [ -122.298578999768992, 37.538636000406278 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 286, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.293878999926363, 37.513037000443887 ], [ -122.294478999723552, 37.512337000866694 ], [ -122.294678999533048, 37.512137000281399 ], [ -122.29507900006061, 37.51363700042851 ], [ -122.296879000083337, 37.515537000969658 ], [ -122.296878999502923, 37.516437000872671 ], [ -122.296579000292269, 37.516737000650814 ], [ -122.29639799943952, 37.516973000952511 ], [ -122.296276000311238, 37.517454000443266 ], [ -122.29621399989216, 37.517866000515454 ], [ -122.296443000031019, 37.518202000463248 ], [ -122.296885999710113, 37.518728000690274 ], [ -122.297179000262545, 37.519037000890457 ], [ -122.297178999418861, 37.519237000562377 ], [ -122.297578999994911, 37.520437000394061 ], [ -122.297979000360243, 37.520837001121109 ], [ -122.298379000452144, 37.521437001000805 ], [ -122.299079000369147, 37.521937000363643 ], [ -122.300178999457898, 37.522337000630422 ], [ -122.300779000114929, 37.5224370011316 ], [ -122.301279000261871, 37.522637000795612 ], [ -122.30177899959186, 37.523237000241529 ], [ -122.301978999980648, 37.523537001101396 ], [ -122.297178999792422, 37.525536000893453 ], [ -122.296079000024648, 37.52603600092759 ], [ -122.295984999999618, 37.526077000721422 ], [ -122.294478999439718, 37.526736001014491 ], [ -122.294278999609958, 37.526836000914244 ], [ -122.294038999785926, 37.526956001062537 ], [ -122.293279000371228, 37.527336000680599 ], [ -122.292678999854004, 37.52763600038849 ], [ -122.291878999941076, 37.527936000352604 ], [ -122.290679000124641, 37.528436000697262 ], [ -122.289778999728398, 37.528836000898579 ], [ -122.288078999880071, 37.529736000751015 ], [ -122.287678999559461, 37.529536000582894 ], [ -122.287478999572897, 37.529736001073914 ], [ -122.283078999968609, 37.526636000574442 ], [ -122.276278000231358, 37.521236000873088 ], [ -122.273977999939675, 37.519536000258192 ], [ -122.274377999919352, 37.519336001105728 ], [ -122.274578000249392, 37.519236000566842 ], [ -122.274778000040243, 37.519136000583295 ], [ -122.275077999750451, 37.518836000840842 ], [ -122.275278000515314, 37.518536000556956 ], [ -122.27607800023668, 37.518636000501914 ], [ -122.276377999527398, 37.518836000553982 ], [ -122.276777999957346, 37.519136000856619 ], [ -122.276977999840938, 37.519336000808579 ], [ -122.277777999651178, 37.519636000431944 ], [ -122.278178000150632, 37.519136000904872 ], [ -122.27887399994087, 37.518390000783327 ], [ -122.278989000097965, 37.518267000461812 ], [ -122.279577999672696, 37.517636000697337 ], [ -122.280967999860266, 37.517462000955362 ], [ -122.28277799995827, 37.51723600104647 ], [ -122.283077999652335, 37.51693600054459 ], [ -122.284078000423818, 37.516137000533227 ], [ -122.285778999810191, 37.515537000295325 ], [ -122.287878999781753, 37.514837000528047 ], [ -122.289678999455774, 37.514337000556452 ], [ -122.290679000503872, 37.514037000505446 ], [ -122.292579000176218, 37.513437000574164 ], [ -122.293078999779922, 37.513337000930953 ], [ -122.293878999926363, 37.513037000443887 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 310, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.266577999544808, 37.513736000294436 ], [ -122.267077999601469, 37.514136000611643 ], [ -122.268478000242297, 37.515436001108114 ], [ -122.268378000225766, 37.515536000665989 ], [ -122.269478000392169, 37.516536000700512 ], [ -122.270712999633389, 37.517565001061037 ], [ -122.27187799990746, 37.518536000678026 ], [ -122.272777999609673, 37.519236000383906 ], [ -122.272577999509011, 37.519636000549283 ], [ -122.27207799992766, 37.519336000762038 ], [ -122.271578000253101, 37.519836000869709 ], [ -122.272278000381561, 37.520236001002402 ], [ -122.272377999666489, 37.519936000658141 ], [ -122.273078000499837, 37.520336000575483 ], [ -122.272677999835324, 37.520636000331884 ], [ -122.271978000285173, 37.521236001063315 ], [ -122.271277999828271, 37.520736000421167 ], [ -122.270677999538094, 37.521436000699872 ], [ -122.271478000361071, 37.521836001079031 ], [ -122.271177999427195, 37.522236000957946 ], [ -122.270678000126466, 37.52273600051042 ], [ -122.270078000377907, 37.523236000891963 ], [ -122.269616999733287, 37.523708000430865 ], [ -122.269110999706186, 37.524162001009479 ], [ -122.268477999578607, 37.524636000464874 ], [ -122.268297999563231, 37.524906000566439 ], [ -122.268278000236108, 37.524936000463725 ], [ -122.26687799984866, 37.523836000783021 ], [ -122.264777999770075, 37.522136000944393 ], [ -122.264716999947481, 37.522081000644661 ], [ -122.262308000453928, 37.520061000608926 ], [ -122.262177000116978, 37.520236000277734 ], [ -122.261642999696363, 37.520770001091144 ], [ -122.261528999765417, 37.520884000577908 ], [ -122.261024000195803, 37.521398000539953 ], [ -122.256012000047818, 37.517193000590289 ], [ -122.255229000268912, 37.516660000553649 ], [ -122.255080000092093, 37.516581000868918 ], [ -122.254878999715032, 37.516487000866917 ], [ -122.254557999662367, 37.516769000587338 ], [ -122.254393999465663, 37.51690100107772 ], [ -122.253777000192898, 37.51763600103552 ], [ -122.253577000104528, 37.517836001032471 ], [ -122.253250999700853, 37.517537000622184 ], [ -122.253000000082125, 37.517323000837436 ], [ -122.252948999729156, 37.51728700036017 ], [ -122.252876999670022, 37.517236000254101 ], [ -122.252277000428251, 37.516936000873457 ], [ -122.249977000428316, 37.515036000368767 ], [ -122.248230000085542, 37.51642700092269 ], [ -122.247176999584553, 37.516936000343613 ], [ -122.247477000448328, 37.513336000667728 ], [ -122.246177000371816, 37.509636000943615 ], [ -122.244976999686514, 37.50803600063729 ], [ -122.24547699965855, 37.507236000736818 ], [ -122.243977000149613, 37.505836000647221 ], [ -122.245677000519692, 37.504436000387827 ], [ -122.245539000303836, 37.50427400080811 ], [ -122.245076999674168, 37.503736000354607 ], [ -122.244405000197574, 37.503141000468268 ], [ -122.241935000428001, 37.500956000625024 ], [ -122.240783999584693, 37.499937000916098 ], [ -122.24038699957211, 37.499585000421988 ], [ -122.238977000225702, 37.498337000511924 ], [ -122.237686000376158, 37.49723000028812 ], [ -122.237275999676655, 37.496937000376846 ], [ -122.240076999718838, 37.496637000573891 ], [ -122.240277000010792, 37.496937000420026 ], [ -122.242376999759742, 37.495337000344271 ], [ -122.24262799985452, 37.49520000073565 ], [ -122.243476999609385, 37.494737000971348 ], [ -122.242676999482114, 37.493737000689187 ], [ -122.242676999809959, 37.493347000438696 ], [ -122.242676999687248, 37.493237000939885 ], [ -122.244641999916126, 37.494896000335288 ], [ -122.247177000465058, 37.497037000610263 ], [ -122.250577000131059, 37.499936000376771 ], [ -122.260979999676664, 37.508970000450987 ], [ -122.261977000040815, 37.50983600081311 ], [ -122.266577999544808, 37.513736000294436 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 318, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.247576999951718, 37.496737000303867 ], [ -122.247177000465058, 37.497037000610263 ], [ -122.244641999916126, 37.494896000335288 ], [ -122.242676999687248, 37.493237000939885 ], [ -122.243077000104634, 37.492837000393386 ], [ -122.246013000067947, 37.489746000540656 ], [ -122.246877000444741, 37.488837000485319 ], [ -122.249877000507766, 37.48593700109641 ], [ -122.251077000233181, 37.485537000931387 ], [ -122.251377000157575, 37.485437000324175 ], [ -122.252977000149102, 37.483737000536607 ], [ -122.255377000045925, 37.483137000308055 ], [ -122.255576999752975, 37.483337000976185 ], [ -122.256076999477102, 37.483637000773612 ], [ -122.257277000250525, 37.484737000494 ], [ -122.256277000317965, 37.485437000423254 ], [ -122.257176999419599, 37.48623700077296 ], [ -122.257110000331878, 37.487307000657616 ], [ -122.257376999479362, 37.48763700099903 ], [ -122.257077000250518, 37.487837000715857 ], [ -122.256580000454733, 37.488334001079295 ], [ -122.256176999864095, 37.48873700094105 ], [ -122.255777000498355, 37.490937000320095 ], [ -122.254876999519738, 37.491537000592416 ], [ -122.253977000265778, 37.492037001063395 ], [ -122.253176999964097, 37.492737000416803 ], [ -122.252476999784534, 37.493237000566786 ], [ -122.251977000226006, 37.493637000277147 ], [ -122.251276999428683, 37.494137000373861 ], [ -122.251076999897904, 37.494308000828937 ], [ -122.250577000184336, 37.494737000732719 ], [ -122.249877000081554, 37.495237000469331 ], [ -122.24907699991401, 37.495637000348609 ], [ -122.248677000332322, 37.49603700037914 ], [ -122.248277000054486, 37.496237000934919 ], [ -122.247576999951718, 37.496737000303867 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 305, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.268378000170244, 37.492637001057673 ], [ -122.267677999424151, 37.492737000284855 ], [ -122.265777999516303, 37.493237000501615 ], [ -122.264976999776465, 37.493337000365273 ], [ -122.264555999691055, 37.491904000695776 ], [ -122.264476999503188, 37.49163700083966 ], [ -122.263676999765849, 37.490737000686373 ], [ -122.264576999425557, 37.490237000656428 ], [ -122.265277999633398, 37.489737000985208 ], [ -122.265777999569124, 37.489337001067973 ], [ -122.266377999797626, 37.488937000786805 ], [ -122.267678000296385, 37.488137000626267 ], [ -122.26847800017228, 37.48773700055667 ], [ -122.269377999521751, 37.487437000773127 ], [ -122.270573999692104, 37.487437001062837 ], [ -122.270777999944983, 37.487437000347846 ], [ -122.271877999625232, 37.487437000537405 ], [ -122.27187799973261, 37.487337000313232 ], [ -122.273177999714051, 37.486937000390995 ], [ -122.275977999447036, 37.485737000456169 ], [ -122.282078000145461, 37.484137000670543 ], [ -122.283872000159349, 37.482795000780804 ], [ -122.284061999779865, 37.482697000994044 ], [ -122.2846100004042, 37.482416001063385 ], [ -122.28468900046397, 37.484173000328155 ], [ -122.284920999436508, 37.484589000825657 ], [ -122.285274000223652, 37.484823000320901 ], [ -122.285737000097896, 37.485005000627559 ], [ -122.286775000392197, 37.485266000461095 ], [ -122.287753000099258, 37.485604000519238 ], [ -122.288253999874144, 37.485929000315281 ], [ -122.288452999399865, 37.48625500070542 ], [ -122.288086999569444, 37.486941000326013 ], [ -122.288035000259811, 37.487008000720813 ], [ -122.287189000514672, 37.487631000833396 ], [ -122.286503000346187, 37.488021000415593 ], [ -122.286050000358287, 37.488229000253895 ], [ -122.28562599963027, 37.488334000655975 ], [ -122.285203000011393, 37.488361000947769 ], [ -122.284586999873028, 37.488105000598104 ], [ -122.284164000383399, 37.488003000458775 ], [ -122.283479000044295, 37.488056000700212 ], [ -122.283377999565261, 37.488057000600861 ], [ -122.282995000273132, 37.488213000679927 ], [ -122.282471000046968, 37.488499000291299 ], [ -122.282124999867008, 37.488638001041323 ], [ -122.281171000137405, 37.489020000528562 ], [ -122.280319999942179, 37.489330000707724 ], [ -122.279669000094216, 37.48956700083469 ], [ -122.279532999656155, 37.489612000631816 ], [ -122.279346999781424, 37.489672001097503 ], [ -122.279154999980179, 37.489750000663413 ], [ -122.279085000054778, 37.489828000847822 ], [ -122.279085000359601, 37.490190000844606 ], [ -122.279123999399303, 37.490318000607054 ], [ -122.279154999865924, 37.490422000891357 ], [ -122.279125000387978, 37.490681000869628 ], [ -122.279095000370717, 37.490858000564323 ], [ -122.279023999439971, 37.49096200031719 ], [ -122.278862999655388, 37.491066000503857 ], [ -122.278378999669329, 37.491222000696098 ], [ -122.278084000273836, 37.491295000432785 ], [ -122.277955999661671, 37.491327000238812 ], [ -122.277724000362952, 37.491431000239587 ], [ -122.277269999581662, 37.491614000715401 ], [ -122.276415999778834, 37.492239000824256 ], [ -122.276117999784248, 37.492589000539766 ], [ -122.276001000417892, 37.492730000850557 ], [ -122.275445999447058, 37.493120000903836 ], [ -122.275073000443101, 37.493407000495843 ], [ -122.274503999400636, 37.493538000404101 ], [ -122.273007000271292, 37.4936320008838 ], [ -122.272441999935154, 37.493634000916252 ], [ -122.272021000020544, 37.493635000994722 ], [ -122.27067800003077, 37.493537000695717 ], [ -122.2704780001812, 37.493537000632045 ], [ -122.269878000155344, 37.493437000998888 ], [ -122.269078000208239, 37.493137001077187 ], [ -122.268378000170244, 37.492637001057673 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 303, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.262377999867496, 37.466737000672438 ], [ -122.262477999584121, 37.467137000476185 ], [ -122.262778000420539, 37.467637000297373 ], [ -122.260276999943827, 37.467937000735624 ], [ -122.259776999812004, 37.467737000772566 ], [ -122.25887699995765, 37.468237000511039 ], [ -122.258824000073261, 37.468421000811617 ], [ -122.25867699989935, 37.468937001116757 ], [ -122.259377000520928, 37.470237000705254 ], [ -122.259376999420837, 37.470437000669143 ], [ -122.259376999459064, 37.471037000541735 ], [ -122.259377000018532, 37.471137000968795 ], [ -122.259277000325099, 37.471737000357592 ], [ -122.259576999421398, 37.47203700077565 ], [ -122.259777000336129, 37.47253700034868 ], [ -122.2606769999026, 37.473337000473762 ], [ -122.2598269998105, 37.474187000451366 ], [ -122.259476999730083, 37.474537000301041 ], [ -122.25917699972193, 37.475037000808321 ], [ -122.259077000425648, 37.475337000367311 ], [ -122.258777000285789, 37.476437000878391 ], [ -122.258677000448898, 37.477037000977887 ], [ -122.258676999551682, 37.477437000436787 ], [ -122.259077000300309, 37.478337001128601 ], [ -122.257876999501008, 37.479337000705769 ], [ -122.256776999989086, 37.480237001020832 ], [ -122.256547000346586, 37.480375000880954 ], [ -122.256276999484513, 37.480537001108146 ], [ -122.255577000078134, 37.481237000987313 ], [ -122.256112999924966, 37.481773000718754 ], [ -122.256177000377548, 37.481837001091215 ], [ -122.255583000449874, 37.48280300102715 ], [ -122.255625000321757, 37.482847000929873 ], [ -122.255377000045925, 37.483137000308055 ], [ -122.254876999738229, 37.482637000746706 ], [ -122.254677000340848, 37.482437000691363 ], [ -122.254377000401476, 37.482137000865855 ], [ -122.253077000326385, 37.480837000577843 ], [ -122.252777000057364, 37.480437000943198 ], [ -122.251976999404889, 37.479537000335313 ], [ -122.251076999442148, 37.478310000603443 ], [ -122.250877000449179, 37.478037000957997 ], [ -122.250676999681161, 37.477537000496611 ], [ -122.250476999796149, 37.475437000525893 ], [ -122.249876999790288, 37.474537000990601 ], [ -122.250476999533859, 37.474237000433419 ], [ -122.250377000041283, 37.472937000824182 ], [ -122.250377000358583, 37.472737001046013 ], [ -122.250228000516842, 37.472414000363912 ], [ -122.249777000307176, 37.471437001073717 ], [ -122.249176999942804, 37.47193700080318 ], [ -122.24887699963611, 37.472237000567681 ], [ -122.248576999459104, 37.472437001012274 ], [ -122.248276999511788, 37.472537000350286 ], [ -122.247877000150126, 37.472737000900224 ], [ -122.245476999874569, 37.472537000869323 ], [ -122.243876999667606, 37.472337000623995 ], [ -122.241677000489958, 37.472237001091365 ], [ -122.240777000329729, 37.472137000653305 ], [ -122.23997700012734, 37.471537000616621 ], [ -122.240676999735086, 37.470937000669593 ], [ -122.241877000073558, 37.470437000736496 ], [ -122.242776999758149, 37.470037000960993 ], [ -122.24167699954927, 37.469337000745618 ], [ -122.240776999720822, 37.468537000682545 ], [ -122.241477000222687, 37.467837000582918 ], [ -122.242076999560524, 37.467537000797257 ], [ -122.242676999980389, 37.467037000761081 ], [ -122.243077000087766, 37.466737000935268 ], [ -122.244076999571661, 37.465937000510884 ], [ -122.244476999490885, 37.465637000343584 ], [ -122.24507699947317, 37.46543700083803 ], [ -122.246376999842255, 37.46473700085312 ], [ -122.24693100004211, 37.465420000478453 ], [ -122.24716499986944, 37.46566700077225 ], [ -122.247554000342973, 37.46593000063217 ], [ -122.247982999558502, 37.46622300108227 ], [ -122.248376999779069, 37.46603700108956 ], [ -122.248477999405424, 37.465428000852235 ], [ -122.248677000366484, 37.464237000669627 ], [ -122.250076999983435, 37.464864000432527 ], [ -122.251077000098405, 37.465137000355881 ], [ -122.251876999632344, 37.463837000586693 ], [ -122.253776999456335, 37.464837000873928 ], [ -122.254477000070779, 37.464237000640637 ], [ -122.255577000373648, 37.465037001055265 ], [ -122.256477000081318, 37.464937001123225 ], [ -122.256861999712996, 37.464629000944498 ], [ -122.256977000189622, 37.464537001125613 ], [ -122.257277000115266, 37.46413700032673 ], [ -122.25847700005103, 37.464537000890516 ], [ -122.258877000181414, 37.465637000395759 ], [ -122.259976999495294, 37.465937000672177 ], [ -122.260176999422981, 37.46653700051538 ], [ -122.261676999495577, 37.466737000513767 ], [ -122.262377999867496, 37.466737000672438 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 316, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.234575999644036, 37.487737001053027 ], [ -122.2351759995138, 37.488437000283724 ], [ -122.235876000013775, 37.488837000678657 ], [ -122.236477000111009, 37.489437000659819 ], [ -122.237076999809702, 37.489937001046655 ], [ -122.237776999848094, 37.490537000941728 ], [ -122.238276999470912, 37.490137000993784 ], [ -122.23867699963786, 37.489737000749507 ], [ -122.242177000159288, 37.492737000823027 ], [ -122.242676999687248, 37.493237000939885 ], [ -122.242676999809959, 37.493347000438696 ], [ -122.242676999482114, 37.493737000689187 ], [ -122.243476999609385, 37.494737000971348 ], [ -122.24262799985452, 37.49520000073565 ], [ -122.242376999759742, 37.495337000344271 ], [ -122.240277000010792, 37.496937000420026 ], [ -122.240076999718838, 37.496637000573891 ], [ -122.239276999503446, 37.4960370006891 ], [ -122.238776999876222, 37.495537000851684 ], [ -122.238177000057703, 37.495037000297216 ], [ -122.23757599989203, 37.494437000245547 ], [ -122.236975999819776, 37.493937000784108 ], [ -122.236275999645954, 37.493437000785342 ], [ -122.235676000340064, 37.492937001027137 ], [ -122.235131999874881, 37.492535000993293 ], [ -122.234930000088525, 37.492461000238279 ], [ -122.234758999481187, 37.492424001035531 ], [ -122.234401000416142, 37.492424000634379 ], [ -122.234057999811526, 37.492251000859902 ], [ -122.233419000195298, 37.491649000860967 ], [ -122.232776000071823, 37.491037000711394 ], [ -122.232176000120049, 37.49043700035373 ], [ -122.23157599952043, 37.489837000533441 ], [ -122.230976000156232, 37.489337000310499 ], [ -122.231875999496225, 37.488637000631222 ], [ -122.232976000371309, 37.487937000996567 ], [ -122.233876000324429, 37.487237001079102 ], [ -122.234575999644036, 37.487737001053027 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 326, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.225475999436838, 37.483237000300036 ], [ -122.224875999996456, 37.483037000574271 ], [ -122.224175999975117, 37.482737000943679 ], [ -122.223275999994442, 37.482337001131739 ], [ -122.222476000019242, 37.481937000957259 ], [ -122.221775999533918, 37.481637000658928 ], [ -122.220976000370186, 37.481337000291752 ], [ -122.220175999696622, 37.48103700082094 ], [ -122.219375999608289, 37.480637000437163 ], [ -122.218675999933836, 37.480337000751753 ], [ -122.218275999766149, 37.48013700112557 ], [ -122.21787599993911, 37.480037001074635 ], [ -122.21717599991139, 37.479637000611142 ], [ -122.216375999834, 37.479337000717862 ], [ -122.215276000230091, 37.478737000560585 ], [ -122.216464000403747, 37.477295000238975 ], [ -122.216676000306222, 37.477037000695098 ], [ -122.217275999812188, 37.476437000812773 ], [ -122.217976000238892, 37.476837000762018 ], [ -122.219375999964328, 37.477737000923419 ], [ -122.219776000242163, 37.478037000532673 ], [ -122.220075999600112, 37.477537000631052 ], [ -122.220475999716783, 37.477137000927975 ], [ -122.220876000052044, 37.476637000630213 ], [ -122.221476000239292, 37.475637000382946 ], [ -122.221975999531651, 37.47593700073071 ], [ -122.222376000114352, 37.475537000712919 ], [ -122.22256100051149, 37.475360000794119 ], [ -122.222776000125307, 37.475237000324988 ], [ -122.224076000150802, 37.474037000864605 ], [ -122.225275999562058, 37.474837000541989 ], [ -122.22477600008817, 37.475337000855063 ], [ -122.224176000419661, 37.475737000240464 ], [ -122.225675999667772, 37.476937000849077 ], [ -122.226275999557942, 37.477237001129581 ], [ -122.227076000405802, 37.477837000320548 ], [ -122.228076000133257, 37.478637000523428 ], [ -122.229275999658597, 37.479537001058077 ], [ -122.230276000017355, 37.480037000365947 ], [ -122.230976000276101, 37.480637000322069 ], [ -122.231875999623796, 37.481337000528278 ], [ -122.23077600013103, 37.482337000307453 ], [ -122.229875999853419, 37.481737000905277 ], [ -122.229175999919548, 37.481337000989541 ], [ -122.228976000370267, 37.481137000967031 ], [ -122.228475999790987, 37.480737000388842 ], [ -122.228176000423261, 37.48053700032451 ], [ -122.226875999720789, 37.479637000513513 ], [ -122.226475999787453, 37.479337000519848 ], [ -122.225475999585356, 37.480537001067695 ], [ -122.225876000145419, 37.480537000614881 ], [ -122.225776000086, 37.480937000867797 ], [ -122.225575999650545, 37.481437000890821 ], [ -122.22547600010499, 37.481837000820157 ], [ -122.225375999685141, 37.482337000658617 ], [ -122.225475999436838, 37.483237000300036 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 312, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.223718999403175, 37.543668000496012 ], [ -122.231340000383682, 37.53151400108068 ], [ -122.23333699941098, 37.530201000235898 ], [ -122.238242999561066, 37.528801000784078 ], [ -122.241646999679347, 37.526857000318572 ], [ -122.24317500008101, 37.524506000496153 ], [ -122.243860999652455, 37.523450000300414 ], [ -122.24476300015904, 37.521593000984716 ], [ -122.244966000043661, 37.521647000469777 ], [ -122.247936000139163, 37.522305000911402 ], [ -122.248376999768155, 37.522636000858391 ], [ -122.249177000514777, 37.523236000240303 ], [ -122.251377000162719, 37.525136001027036 ], [ -122.251377000054816, 37.525536000713011 ], [ -122.251376999945521, 37.525836000910473 ], [ -122.250977000249534, 37.526236000641831 ], [ -122.250576999641382, 37.526536000422588 ], [ -122.251477000332599, 37.527136000317704 ], [ -122.248776999941455, 37.52953600080339 ], [ -122.2462769994452, 37.531635000998044 ], [ -122.243176999460772, 37.534535000574394 ], [ -122.245034999863563, 37.535842000833526 ], [ -122.245526000063663, 37.536184000712034 ], [ -122.24784999967261, 37.537802000577564 ], [ -122.248002000203059, 37.537909000573563 ], [ -122.248576999611004, 37.538235001096353 ], [ -122.249097999481492, 37.538624000768245 ], [ -122.249917000214225, 37.539081000285428 ], [ -122.2500889995747, 37.539183000509006 ], [ -122.250177000264713, 37.539235000651914 ], [ -122.250813999730255, 37.539766000903775 ], [ -122.252077000171653, 37.544235000879105 ], [ -122.248976999980741, 37.548835000769735 ], [ -122.244182000496906, 37.552272000369349 ], [ -122.243190999811148, 37.552020000693908 ], [ -122.241587000385906, 37.551318000658213 ], [ -122.239420999750195, 37.550499000447388 ], [ -122.237130000154679, 37.550258000586737 ], [ -122.23533700029067, 37.550284000628508 ], [ -122.235043999846539, 37.550303000231708 ], [ -122.234176000356911, 37.550360000235884 ], [ -122.232274000140393, 37.55017500060552 ], [ -122.230725000133305, 37.54966300034458 ], [ -122.229158999635189, 37.548843000611676 ], [ -122.228279000096933, 37.548263000765715 ], [ -122.227189999517307, 37.54744200046904 ], [ -122.22556399939856, 37.546853000611534 ], [ -122.223977000346693, 37.545935000266638 ], [ -122.223718999403175, 37.543668000496012 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 327, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.207076000472298, 37.465638000955828 ], [ -122.207576000252757, 37.46593800087571 ], [ -122.208375999844179, 37.46653800036529 ], [ -122.209049999551283, 37.466959000324437 ], [ -122.209176000372864, 37.467038000571314 ], [ -122.210175999932972, 37.467838000738588 ], [ -122.211275999449754, 37.46853700043048 ], [ -122.212075999797335, 37.469037000853376 ], [ -122.212619999991162, 37.469445000291294 ], [ -122.213275999704265, 37.469937000599778 ], [ -122.2150759997823, 37.471337000427127 ], [ -122.215576000499013, 37.471537000644183 ], [ -122.215776000101627, 37.471737000854027 ], [ -122.216475999880146, 37.472237000887318 ], [ -122.215976000394491, 37.472737000933158 ], [ -122.215676000298629, 37.473337000814745 ], [ -122.215176000485954, 37.473837000926736 ], [ -122.214923999429985, 37.474090000974272 ], [ -122.214875999640398, 37.474137001018335 ], [ -122.214376000413324, 37.474637000335477 ], [ -122.214271000385025, 37.474743001031214 ], [ -122.215176000295088, 37.475237000475829 ], [ -122.216893999636795, 37.476219000439471 ], [ -122.217275999812188, 37.476437000812773 ], [ -122.216676000306222, 37.477037000695098 ], [ -122.213976000351821, 37.47643700025796 ], [ -122.213612999403452, 37.476341000502458 ], [ -122.212075999515918, 37.47593700041871 ], [ -122.211844000012235, 37.475879000717271 ], [ -122.211276000150391, 37.47573700039284 ], [ -122.21067600035957, 37.475737000955668 ], [ -122.210076000308788, 37.475337000981625 ], [ -122.208576000472803, 37.474437000859098 ], [ -122.20787600035338, 37.474037000375631 ], [ -122.207676000050313, 37.473837000453834 ], [ -122.207276000425352, 37.473537000561976 ], [ -122.206575999491619, 37.473037000428327 ], [ -122.205775999554206, 37.472537000924056 ], [ -122.204976000088735, 37.472037000521318 ], [ -122.203975999618763, 37.471537000387656 ], [ -122.203076000468997, 37.470937001051162 ], [ -122.202275999805877, 37.470437000417334 ], [ -122.201575999413436, 37.46993800094026 ], [ -122.200576000026274, 37.46993800046733 ], [ -122.200075999781888, 37.469938001108929 ], [ -122.202275999767693, 37.467538000502522 ], [ -122.203176000054697, 37.467938000389154 ], [ -122.205725999629152, 37.464889000333002 ], [ -122.205975999883179, 37.465038000659014 ], [ -122.207076000472298, 37.465638000955828 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 324, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.223075999695055, 37.468837000944752 ], [ -122.223340000405088, 37.467468000684491 ], [ -122.223576000016365, 37.466737001089555 ], [ -122.223697000263726, 37.466251000363094 ], [ -122.223776000395588, 37.465837001038985 ], [ -122.224207999530677, 37.464386000609061 ], [ -122.226475999578, 37.464837001033032 ], [ -122.228675999968786, 37.465037000896871 ], [ -122.22787600042976, 37.466537000670307 ], [ -122.229957999968676, 37.468024000933269 ], [ -122.230677000299877, 37.468537000846247 ], [ -122.230876999685975, 37.468737000977669 ], [ -122.230676999909022, 37.469037000484413 ], [ -122.23007600019514, 37.469437000687975 ], [ -122.229575999720936, 37.469837001080158 ], [ -122.229276000078258, 37.470137000434129 ], [ -122.228975999492107, 37.470337000545179 ], [ -122.22857599969069, 37.470637000776257 ], [ -122.22807600012527, 37.47103700098139 ], [ -122.227375999768057, 37.471737000813683 ], [ -122.225975999729215, 37.472637001077587 ], [ -122.224476000002539, 37.473737000885045 ], [ -122.224076000150802, 37.474037000864605 ], [ -122.222776000125307, 37.475237000324988 ], [ -122.22256100051149, 37.475360000794119 ], [ -122.222376000114352, 37.475537000712919 ], [ -122.221975999531651, 37.47593700073071 ], [ -122.221476000239292, 37.475637000382946 ], [ -122.221775999908374, 37.475137000375305 ], [ -122.221676000499244, 37.474537000670978 ], [ -122.221776000360379, 37.473837000378019 ], [ -122.221811000122173, 37.473713000688193 ], [ -122.222176000476509, 37.472437000980008 ], [ -122.2222150003943, 37.472029000637995 ], [ -122.222239999479868, 37.471854000603791 ], [ -122.222391999455112, 37.47128500040251 ], [ -122.222875999879349, 37.470037000855697 ], [ -122.222892000386594, 37.469941000600208 ], [ -122.223075999695055, 37.468837000944752 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 325, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.235076999812861, 37.478537000391562 ], [ -122.235476999394635, 37.478737001030595 ], [ -122.236177000049651, 37.478137001004384 ], [ -122.237577000428928, 37.47933700048295 ], [ -122.236776999640426, 37.479837000749903 ], [ -122.236076999760755, 37.480637000762478 ], [ -122.235376999505078, 37.481137000628756 ], [ -122.234476999511344, 37.481737000379447 ], [ -122.233575999781806, 37.48243700026169 ], [ -122.2328759998869, 37.48293700032923 ], [ -122.232175999893599, 37.483537000723103 ], [ -122.231875999882803, 37.48333700103413 ], [ -122.23077600013103, 37.482337000307453 ], [ -122.231875999623796, 37.481337000528278 ], [ -122.230976000276101, 37.480637000322069 ], [ -122.230276000017355, 37.480037000365947 ], [ -122.229275999658597, 37.479537001058077 ], [ -122.228076000133257, 37.478637000523428 ], [ -122.227076000405802, 37.477837000320548 ], [ -122.226275999557942, 37.477237001129581 ], [ -122.225675999667772, 37.476937000849077 ], [ -122.224176000419661, 37.475737000240464 ], [ -122.22477600008817, 37.475337000855063 ], [ -122.225275999562058, 37.474837000541989 ], [ -122.224076000150802, 37.474037000864605 ], [ -122.224476000002539, 37.473737000885045 ], [ -122.225975999729215, 37.472637001077587 ], [ -122.227375999768057, 37.471737000813683 ], [ -122.22807600012527, 37.47103700098139 ], [ -122.22857599969069, 37.470637000776257 ], [ -122.228975999492107, 37.470337000545179 ], [ -122.229276000078258, 37.470137000434129 ], [ -122.229575999720936, 37.469837001080158 ], [ -122.23007600019514, 37.469437000687975 ], [ -122.230676999909022, 37.469037000484413 ], [ -122.230876999685975, 37.468737000977669 ], [ -122.232076999660492, 37.469537000728103 ], [ -122.231776999880452, 37.46993700046653 ], [ -122.233476999888012, 37.471337000612301 ], [ -122.234276999952414, 37.470737000657053 ], [ -122.234328000084247, 37.470802000313135 ], [ -122.235677000376, 37.472537000595835 ], [ -122.23647699987508, 37.471837000887334 ], [ -122.237376999479224, 37.472837000416341 ], [ -122.238376999516987, 37.473737001071314 ], [ -122.23777699988527, 37.474537000689558 ], [ -122.237176999483665, 37.475237000475559 ], [ -122.236577000153616, 37.475737000278912 ], [ -122.235677000489886, 37.476537000523734 ], [ -122.234976999700123, 37.477137000500349 ], [ -122.234276999854814, 37.477837000891377 ], [ -122.235076999812861, 37.478537000391562 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 321, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.241176999894535, 37.45553800079999 ], [ -122.241777000431853, 37.45613800035192 ], [ -122.242276999672143, 37.456638000485171 ], [ -122.243077000262929, 37.457338000778542 ], [ -122.240577000408564, 37.458438000345772 ], [ -122.239877000200579, 37.458338000585726 ], [ -122.23857699948762, 37.460338000371934 ], [ -122.237177000433178, 37.462138000995196 ], [ -122.235477000276973, 37.463137000264204 ], [ -122.234677000517564, 37.462538000628079 ], [ -122.23417699994927, 37.462038000414772 ], [ -122.233376999671435, 37.461538000904952 ], [ -122.232877000186164, 37.461138001022853 ], [ -122.232276999454925, 37.460838000580296 ], [ -122.231176999921075, 37.460038000411288 ], [ -122.230477000318601, 37.459538000912914 ], [ -122.229176999577732, 37.458538000944678 ], [ -122.228176999868907, 37.457738000456786 ], [ -122.22817699972444, 37.457138000385925 ], [ -122.227375999517591, 37.457038000667268 ], [ -122.227376000340868, 37.456738001075756 ], [ -122.227577000252779, 37.456338000795256 ], [ -122.228076999431551, 37.455738000301665 ], [ -122.22827700041114, 37.454938001020047 ], [ -122.228577000398104, 37.454538000867615 ], [ -122.228799000170469, 37.454057001066225 ], [ -122.228995999803573, 37.453630000854609 ], [ -122.229177000398593, 37.453238000889954 ], [ -122.229376999670635, 37.4528380006143 ], [ -122.229476999621923, 37.452638000788518 ], [ -122.229521999995498, 37.45250200067494 ], [ -122.229577000422637, 37.452338000319465 ], [ -122.230077000406965, 37.451438000773351 ], [ -122.23047699945397, 37.450938000940717 ], [ -122.230876999856889, 37.450138000606252 ], [ -122.23097699952757, 37.449638000267029 ], [ -122.231576999777701, 37.448738000912876 ], [ -122.233577000497235, 37.450138000264424 ], [ -122.234177000006923, 37.450538000285199 ], [ -122.236827999631899, 37.452275000467196 ], [ -122.237076999854708, 37.452438000854023 ], [ -122.237977000374798, 37.453038001060257 ], [ -122.238729000318585, 37.453627000949076 ], [ -122.239123000386115, 37.453935000532134 ], [ -122.240277000176405, 37.454838000954958 ], [ -122.241176999894535, 37.45553800079999 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 338, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.161675000520148, 37.470038000701273 ], [ -122.162396000117042, 37.470276001060967 ], [ -122.162974999988847, 37.470438001008624 ], [ -122.163300000024762, 37.470550000279474 ], [ -122.16397499939653, 37.470738001119607 ], [ -122.165275000068746, 37.471038000706145 ], [ -122.166275000047847, 37.471238000501629 ], [ -122.16787500043263, 37.471538000490092 ], [ -122.168474999468572, 37.47193800109298 ], [ -122.169474999969765, 37.472538000269893 ], [ -122.170175000338958, 37.472938001101923 ], [ -122.170307000092521, 37.473009000536372 ], [ -122.170688000311898, 37.47321300090281 ], [ -122.174073999718729, 37.475030000513378 ], [ -122.174275000026427, 37.475138000382813 ], [ -122.177534000320804, 37.475838000277115 ], [ -122.177545999466432, 37.475834000706804 ], [ -122.178574999489712, 37.47593800065701 ], [ -122.179331000333917, 37.475911000440085 ], [ -122.179345999802266, 37.475913001056661 ], [ -122.179353000341507, 37.475943000510604 ], [ -122.180248000058668, 37.475972000496391 ], [ -122.180279999923542, 37.475956000985924 ], [ -122.181774999422032, 37.475937000532078 ], [ -122.184575999436007, 37.476037000295342 ], [ -122.186075999595801, 37.476037001039224 ], [ -122.186332000210484, 37.476493000566435 ], [ -122.185367000245165, 37.477805000727479 ], [ -122.179419000149053, 37.478216000791107 ], [ -122.179075000393226, 37.478237001018108 ], [ -122.176874999944189, 37.478437000605808 ], [ -122.17177499962915, 37.478637000796709 ], [ -122.171491999867087, 37.478457000922681 ], [ -122.171391999574965, 37.478393000859164 ], [ -122.170443000130433, 37.477790000595569 ], [ -122.170264000079044, 37.477676000674599 ], [ -122.170058999875863, 37.477546001039485 ], [ -122.16785599984658, 37.476317000889722 ], [ -122.166274999683282, 37.475338000461115 ], [ -122.161203000331554, 37.472571000800343 ], [ -122.157474999432466, 37.47053800108565 ], [ -122.157205000115141, 37.470382000407888 ], [ -122.156727999446531, 37.470082000279923 ], [ -122.15575799959592, 37.469494000344874 ], [ -122.155457000037842, 37.469307000436288 ], [ -122.155167999442583, 37.469125000593984 ], [ -122.155432000490535, 37.468483000768202 ], [ -122.155975000385482, 37.467338000918744 ], [ -122.156043000297615, 37.467236000883013 ], [ -122.156374999646687, 37.466738000265707 ], [ -122.156509999804769, 37.466864000576301 ], [ -122.156571000033722, 37.467104000279342 ], [ -122.156533999843873, 37.467373000676226 ], [ -122.156558000115652, 37.467757000271931 ], [ -122.156853999892363, 37.469435000469289 ], [ -122.158475000257326, 37.469538000675335 ], [ -122.159474999477169, 37.46953800056712 ], [ -122.160574999628679, 37.469738000871395 ], [ -122.161431000373142, 37.469971001006286 ], [ -122.161675000520148, 37.470038000701273 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 332, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.121228999475505, 37.476745000570517 ], [ -122.122702999408048, 37.476244000270079 ], [ -122.12356099976374, 37.475948000959995 ], [ -122.127774000190215, 37.474238000389256 ], [ -122.129373999812756, 37.473638000826661 ], [ -122.13017399967849, 37.473338000507852 ], [ -122.131473999880853, 37.472838000894306 ], [ -122.133773999608096, 37.471938000585709 ], [ -122.134373999679525, 37.471838000579972 ], [ -122.134774000486559, 37.471738000514399 ], [ -122.13507400041388, 37.47173800040521 ], [ -122.135874000284446, 37.471638000974536 ], [ -122.136774000083363, 37.471638000790776 ], [ -122.139274999800591, 37.471538000786047 ], [ -122.141474999729155, 37.471338000363836 ], [ -122.142974999653362, 37.471238000232987 ], [ -122.144174999407738, 37.47103800083228 ], [ -122.145374999846567, 37.470938000624741 ], [ -122.146275000345327, 37.470738000711073 ], [ -122.147075000100912, 37.470638000989076 ], [ -122.147474999747644, 37.470738000469957 ], [ -122.146975000297942, 37.473038000958717 ], [ -122.146874999866668, 37.473738000411274 ], [ -122.148974999568239, 37.474038000386756 ], [ -122.15137499966238, 37.474238000382655 ], [ -122.152474999913238, 37.474438000482898 ], [ -122.153475000281432, 37.47453800072455 ], [ -122.15317499970466, 37.475138000560861 ], [ -122.152775000505187, 37.476038000806781 ], [ -122.150975000373705, 37.479538000885988 ], [ -122.15047499976319, 37.480438000236731 ], [ -122.150175000275837, 37.480838000612607 ], [ -122.149074999572676, 37.481538001000359 ], [ -122.147974999790634, 37.482238000879796 ], [ -122.147911000125049, 37.4822720003678 ], [ -122.147849000086438, 37.482306000723526 ], [ -122.14457500040244, 37.484338000781186 ], [ -122.141874999455254, 37.486837000511287 ], [ -122.127573999806984, 37.499737000479357 ], [ -122.125374000453135, 37.491437000697552 ], [ -122.124273999489859, 37.487638000799258 ], [ -122.123473999887793, 37.4765380008891 ], [ -122.121374000234567, 37.476938000912924 ], [ -122.121228999475505, 37.476745000570517 ] ] ], [ [ [ -122.121973999562741, 37.472838000634276 ], [ -122.12367400005553, 37.472138000657161 ], [ -122.123373999546345, 37.475938000407872 ], [ -122.121073999476977, 37.47653800082319 ], [ -122.122474000404182, 37.475238001135978 ], [ -122.121973999562741, 37.472838000634276 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 334, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.140275000361086, 37.460638000995154 ], [ -122.139110000411421, 37.459600000940192 ], [ -122.140231999456162, 37.460271000729783 ], [ -122.140874999922843, 37.460638000457557 ], [ -122.141174999622791, 37.460838000527446 ], [ -122.141744999536286, 37.461213000695821 ], [ -122.142875000237837, 37.461838000926335 ], [ -122.143074999557044, 37.461938001037161 ], [ -122.144003000066874, 37.46248900044877 ], [ -122.144466999717864, 37.462765000825769 ], [ -122.146904000425977, 37.464211001051027 ], [ -122.149811000444004, 37.465925000470016 ], [ -122.150374999933121, 37.466238000682729 ], [ -122.150774999545533, 37.466438000494307 ], [ -122.152693000064602, 37.467571000522504 ], [ -122.152974999786494, 37.467738001091519 ], [ -122.154327000348246, 37.468570000932864 ], [ -122.154574999595042, 37.46873800090323 ], [ -122.155167999442583, 37.469125000593984 ], [ -122.155457000037842, 37.469307000436288 ], [ -122.15575799959592, 37.469494000344874 ], [ -122.155966999596444, 37.469699001100118 ], [ -122.156111999897902, 37.469909000255548 ], [ -122.156099999782199, 37.470244000587833 ], [ -122.155952000497649, 37.470522000932114 ], [ -122.155764000473084, 37.470699000730697 ], [ -122.155687000221448, 37.470772000322448 ], [ -122.155151999971125, 37.471265000422349 ], [ -122.154723999835412, 37.472095000468414 ], [ -122.154368000444435, 37.472786000341145 ], [ -122.153769000474952, 37.474024000348464 ], [ -122.153475000281432, 37.47453800072455 ], [ -122.152474999913238, 37.474438000482898 ], [ -122.15137499966238, 37.474238000382655 ], [ -122.148974999568239, 37.474038000386756 ], [ -122.146874999866668, 37.473738000411274 ], [ -122.146975000297942, 37.473038000958717 ], [ -122.147474999747644, 37.470738000469957 ], [ -122.147075000100912, 37.470638000989076 ], [ -122.146275000345327, 37.470738000711073 ], [ -122.145374999846567, 37.470938000624741 ], [ -122.144174999407738, 37.47103800083228 ], [ -122.142974999653362, 37.471238000232987 ], [ -122.141474999729155, 37.471338000363836 ], [ -122.139274999800591, 37.471538000786047 ], [ -122.13947499945111, 37.471138000572871 ], [ -122.139274999924965, 37.471038000726224 ], [ -122.139274999977829, 37.470038000480777 ], [ -122.139175000426079, 37.468538000499038 ], [ -122.139175000327427, 37.466938000634933 ], [ -122.139174999501009, 37.465938000611388 ], [ -122.139275000335914, 37.46553800093033 ], [ -122.13917499941806, 37.46423800029055 ], [ -122.139180000108212, 37.462637000971128 ], [ -122.139174999625055, 37.462438000597039 ], [ -122.139075000193088, 37.46063800103331 ], [ -122.139976000149787, 37.46063800108675 ], [ -122.140104999703638, 37.460638000677932 ], [ -122.140275000361086, 37.460638000995154 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 337, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.16607500036865, 37.457438000506933 ], [ -122.166674999938422, 37.456038001110954 ], [ -122.16747500050441, 37.456238000269764 ], [ -122.168675000042811, 37.457038000592583 ], [ -122.169475000236901, 37.457638001017834 ], [ -122.169925000378882, 37.457848000634449 ], [ -122.171365999690565, 37.458521000653533 ], [ -122.171965999852702, 37.458801001004652 ], [ -122.173974999671927, 37.459738000496344 ], [ -122.17347500008718, 37.460638000357967 ], [ -122.173175000349502, 37.461038001080034 ], [ -122.173078000257178, 37.461271000383576 ], [ -122.171674999783662, 37.464638000630565 ], [ -122.171375000112519, 37.465038000896158 ], [ -122.170875000403257, 37.466138000252357 ], [ -122.169775000085281, 37.467438001132201 ], [ -122.169675000262274, 37.46803800101047 ], [ -122.169241999982233, 37.469186000500208 ], [ -122.16848600004063, 37.470278000744472 ], [ -122.168275000475745, 37.470438000874246 ], [ -122.168174999859104, 37.470638000581637 ], [ -122.168175000000929, 37.470938001050129 ], [ -122.16787500043263, 37.471538000490092 ], [ -122.166275000047847, 37.471238000501629 ], [ -122.165275000068746, 37.471038000706145 ], [ -122.16397499939653, 37.470738001119607 ], [ -122.163300000024762, 37.470550000279474 ], [ -122.162974999988847, 37.470438001008624 ], [ -122.162396000117042, 37.470276001060967 ], [ -122.161675000520148, 37.470038000701273 ], [ -122.161431000373142, 37.469971001006286 ], [ -122.160574999628679, 37.469738000871395 ], [ -122.159474999477169, 37.46953800056712 ], [ -122.158475000257326, 37.469538000675335 ], [ -122.156853999892363, 37.469435000469289 ], [ -122.156558000115652, 37.467757000271931 ], [ -122.156533999843873, 37.467373000676226 ], [ -122.156571000033722, 37.467104000279342 ], [ -122.156509999804769, 37.466864000576301 ], [ -122.156374999646687, 37.466738000265707 ], [ -122.156774999519101, 37.466038001017459 ], [ -122.157274999650724, 37.465138000819536 ], [ -122.157775000240207, 37.463938000425209 ], [ -122.158226999869669, 37.463622000305769 ], [ -122.158774999522564, 37.463238001073485 ], [ -122.159274999970549, 37.462538000661866 ], [ -122.161176000219285, 37.463148000448392 ], [ -122.164575000446149, 37.464238000700675 ], [ -122.165174999962176, 37.463138000895626 ], [ -122.164626999841943, 37.462912000951803 ], [ -122.163474999760879, 37.46243800075959 ], [ -122.1640749999777, 37.461238000832033 ], [ -122.164708000153993, 37.459972000670959 ], [ -122.164774999680787, 37.459838000393098 ], [ -122.165275000394715, 37.459038000809684 ], [ -122.165674999768086, 37.458138000456294 ], [ -122.16607500036865, 37.457438000506933 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 341, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.191509999572276, 37.451222000318637 ], [ -122.19123999949116, 37.451548001077398 ], [ -122.190571000453545, 37.452329000856288 ], [ -122.18957599943127, 37.453538001122752 ], [ -122.189224999657128, 37.453962000577512 ], [ -122.188777999553736, 37.454509000672772 ], [ -122.18839899963163, 37.454990000497482 ], [ -122.187902999790779, 37.455590000665715 ], [ -122.187475999974055, 37.456038000808277 ], [ -122.184900999634536, 37.454709000725472 ], [ -122.184376000057668, 37.454438000264794 ], [ -122.18317599964584, 37.453638000698703 ], [ -122.181874999473294, 37.453038000543046 ], [ -122.181275000203826, 37.453038000489776 ], [ -122.180875000299366, 37.453538000509781 ], [ -122.18057499989078, 37.453738000556889 ], [ -122.17637500033554, 37.450938000884967 ], [ -122.170775000104854, 37.447438000829045 ], [ -122.171274999433209, 37.447238000334828 ], [ -122.171774999689433, 37.446938001042213 ], [ -122.172074999445286, 37.446838000835605 ], [ -122.17387499952082, 37.44503800049268 ], [ -122.174774999759336, 37.4441380009441 ], [ -122.174974999885023, 37.443938000381614 ], [ -122.1752190000865, 37.443368001020751 ], [ -122.175275000226463, 37.443238000609533 ], [ -122.176374999473737, 37.443938000779092 ], [ -122.177474999769117, 37.444438000846425 ], [ -122.178574999881903, 37.445038000971032 ], [ -122.179674999472326, 37.445638000793835 ], [ -122.180775000156018, 37.446338000671581 ], [ -122.181475000078834, 37.445438001086885 ], [ -122.182475999577036, 37.44443800072203 ], [ -122.182775999905189, 37.443838000956795 ], [ -122.183176000269199, 37.443438001002285 ], [ -122.18447600033268, 37.444138000358798 ], [ -122.184575999841059, 37.444538000623105 ], [ -122.185075999574494, 37.444838001055757 ], [ -122.185972999727781, 37.445312001103076 ], [ -122.186685999906473, 37.445688000673215 ], [ -122.187399000435917, 37.446064000461689 ], [ -122.188676000460177, 37.44673800071201 ], [ -122.188486000369352, 37.44697200110398 ], [ -122.188132000059724, 37.44751300057812 ], [ -122.187175999574904, 37.448638000392201 ], [ -122.188976000426734, 37.4497380004238 ], [ -122.189876000132458, 37.450138000479363 ], [ -122.191775999865044, 37.450938000635695 ], [ -122.191509999572276, 37.451222000318637 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 294, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.472387999909415, 37.50054000068436 ], [ -122.472888000115958, 37.50074000038596 ], [ -122.477388000192633, 37.50234000058024 ], [ -122.48101700008749, 37.502956000735587 ], [ -122.481737999521457, 37.502777000245004 ], [ -122.482282999423774, 37.502582001098219 ], [ -122.482343000417771, 37.502234000557756 ], [ -122.482333000167472, 37.501864000267538 ], [ -122.482393999708833, 37.501365000622989 ], [ -122.482534999527402, 37.501286000610044 ], [ -122.483240999575088, 37.501287000914218 ], [ -122.483250999813535, 37.501449000464582 ], [ -122.482715999441837, 37.501440000579507 ], [ -122.482585000399411, 37.501522001061659 ], [ -122.48254500027987, 37.501770000926967 ], [ -122.482524999421869, 37.501965000268761 ], [ -122.482564999499075, 37.502240000961905 ], [ -122.482564999769579, 37.502478000595282 ], [ -122.482564999788792, 37.502608000564642 ], [ -122.482696000188938, 37.502643000734679 ], [ -122.482927999949325, 37.502646000373346 ], [ -122.483119999403954, 37.50264300087067 ], [ -122.483431999784003, 37.502815000591994 ], [ -122.48349299979742, 37.502888000502963 ], [ -122.483583999696265, 37.502949001079159 ], [ -122.48362400025637, 37.503069000493433 ], [ -122.48362400039818, 37.503159000953417 ], [ -122.483615000145605, 37.503217000863337 ], [ -122.486787999587307, 37.503141000619458 ], [ -122.486804000018267, 37.503254001119082 ], [ -122.486988000022762, 37.504540000617297 ], [ -122.48698800043671, 37.505240000373448 ], [ -122.487187999453141, 37.506140000621244 ], [ -122.487488000342339, 37.508140000442125 ], [ -122.488187999461545, 37.50904000104223 ], [ -122.488588000354909, 37.509740000429041 ], [ -122.49388800045044, 37.513840001057083 ], [ -122.502989000276813, 37.519140000793342 ], [ -122.505688999928879, 37.52074000033361 ], [ -122.508389000277731, 37.522240000364278 ], [ -122.505988999622176, 37.521840000577406 ], [ -122.503346999449349, 37.523340001108352 ], [ -122.502289000469943, 37.523940000797104 ], [ -122.495087999672123, 37.529340000388331 ], [ -122.489787999529014, 37.53373900066952 ], [ -122.48548700003235, 37.53733900077286 ], [ -122.482986999510643, 37.538839000776022 ], [ -122.473586999468182, 37.545039000802063 ], [ -122.471886999548005, 37.550838000827213 ], [ -122.471659000230588, 37.551400000305811 ], [ -122.470385999949968, 37.554538000886794 ], [ -122.465185999493599, 37.554838001068937 ], [ -122.464542999431714, 37.554781000463791 ], [ -122.462176999725585, 37.553944000813821 ], [ -122.460539000463129, 37.552789000269286 ], [ -122.45809999954929, 37.552645000704139 ], [ -122.456534999949696, 37.552847000626919 ], [ -122.454388000384398, 37.552905000967506 ], [ -122.452859000202864, 37.552558001077422 ], [ -122.450978000377589, 37.551438000409419 ], [ -122.450717000232771, 37.551230001041972 ], [ -122.450639999946972, 37.551085000777022 ], [ -122.450685999401941, 37.550864000527262 ], [ -122.450442000254483, 37.550673000642014 ], [ -122.450259000201385, 37.550307000892616 ], [ -122.449861999556944, 37.549933000482689 ], [ -122.449816000077078, 37.549453000268244 ], [ -122.449358999555486, 37.548934000756894 ], [ -122.448717999826499, 37.548064000907758 ], [ -122.448335999844204, 37.5468360005855 ], [ -122.447771999955464, 37.545623000710229 ], [ -122.447284000488111, 37.544822000686473 ], [ -122.446809999999772, 37.543914001017313 ], [ -122.445895000357666, 37.543113000318726 ], [ -122.44531499944209, 37.542571000932476 ], [ -122.444383999648835, 37.541839000809006 ], [ -122.443742999711418, 37.541129000665677 ], [ -122.442828000511895, 37.54044200035208 ], [ -122.441867000270236, 37.540336000768527 ], [ -122.441377999810925, 37.539931000726149 ], [ -122.441210999914091, 37.539313000730544 ], [ -122.440951000304182, 37.538924000535907 ], [ -122.44078600018851, 37.538738000951071 ], [ -122.440599000262608, 37.538718000322874 ], [ -122.441076999760028, 37.538627001090994 ], [ -122.441175000271187, 37.53862000082497 ], [ -122.443593000313228, 37.538549000292463 ], [ -122.446414999432832, 37.538798000593296 ], [ -122.449146000064474, 37.538940001035655 ], [ -122.45174400044165, 37.53844300107022 ], [ -122.453043000094951, 37.53631200095603 ], [ -122.454929000313697, 37.532657000789328 ], [ -122.454006999922427, 37.532193000304119 ], [ -122.453865000519713, 37.532037000348005 ], [ -122.453741999838783, 37.531801000348693 ], [ -122.45362500024477, 37.531227000549137 ], [ -122.453425000349014, 37.530578000804489 ], [ -122.452963999902451, 37.529967000753082 ], [ -122.452598000259613, 37.529608001028514 ], [ -122.44985699994281, 37.528221000675543 ], [ -122.449619999818339, 37.528002000984777 ], [ -122.449517000252698, 37.527782000357952 ], [ -122.449407999600183, 37.526310000444958 ], [ -122.449346000353174, 37.52598800089099 ], [ -122.44931800025492, 37.525875000351583 ], [ -122.448897000107095, 37.52537200028253 ], [ -122.448585999818789, 37.525153001039008 ], [ -122.447938999450557, 37.524946000692324 ], [ -122.447831000259342, 37.524903000667628 ], [ -122.447804999993039, 37.524849000791029 ], [ -122.447721000268274, 37.52450600051975 ], [ -122.447692999492844, 37.524409000374717 ], [ -122.447578999880747, 37.524329000400058 ], [ -122.447450999970499, 37.524292000513704 ], [ -122.447046999674967, 37.524213000824815 ], [ -122.446863999847523, 37.524084000468612 ], [ -122.446747999463227, 37.523951000735529 ], [ -122.44671399965118, 37.523843000994219 ], [ -122.446935999543953, 37.52145100102905 ], [ -122.446920999489279, 37.521317000628031 ], [ -122.446820000158866, 37.521092000712862 ], [ -122.446697000304482, 37.520931000928677 ], [ -122.445278999865877, 37.520195001071166 ], [ -122.444988000156243, 37.520013001098391 ], [ -122.44476399944358, 37.519659001112963 ], [ -122.444504999830102, 37.519096000778987 ], [ -122.444400999910101, 37.518729000844125 ], [ -122.442786000313205, 37.517539000754269 ], [ -122.441050999426125, 37.515606000433863 ], [ -122.440749999627826, 37.514866000539698 ], [ -122.440709000350168, 37.514667000337269 ], [ -122.440700000332342, 37.514275000653285 ], [ -122.441896999789861, 37.509558000247011 ], [ -122.441922999588911, 37.509257000527484 ], [ -122.441867000298814, 37.508827000935597 ], [ -122.441879000298272, 37.508688000321882 ], [ -122.44201999973987, 37.508585000820844 ], [ -122.442200999601056, 37.508558000248584 ], [ -122.442328999987339, 37.508563000542459 ], [ -122.442456999890226, 37.508574001010388 ], [ -122.442597999705342, 37.508600000829915 ], [ -122.44280299966816, 37.508872000741086 ], [ -122.443080000277348, 37.509059000476462 ], [ -122.443140000519136, 37.509097000521372 ], [ -122.443315000470307, 37.509117000818833 ], [ -122.443428999490237, 37.509080000235251 ], [ -122.443563000167387, 37.508999000421049 ], [ -122.443704999852812, 37.508870000452191 ], [ -122.443804000206811, 37.508676000387105 ], [ -122.443889999639381, 37.508498000255187 ], [ -122.443936999729061, 37.508316001033862 ], [ -122.443962999593538, 37.508208000569162 ], [ -122.443127000385402, 37.500017000536253 ], [ -122.442880000428815, 37.498524000368398 ], [ -122.443263000028367, 37.497325000818755 ], [ -122.443362999723092, 37.49658900110267 ], [ -122.443531000183967, 37.496347000613689 ], [ -122.443772999731792, 37.496078000270671 ], [ -122.444915999451865, 37.495421000451373 ], [ -122.445858999438443, 37.494818000846038 ], [ -122.446147999760541, 37.49466200091674 ], [ -122.446234999948615, 37.494516000532556 ], [ -122.44632300035137, 37.494371000766343 ], [ -122.446227999946089, 37.494140001096973 ], [ -122.446172999615555, 37.493877000528414 ], [ -122.446435999468463, 37.493506000847766 ], [ -122.446712000312303, 37.493296000483753 ], [ -122.447565999623862, 37.492908000623515 ], [ -122.44891100043715, 37.492201000916104 ], [ -122.448939999674536, 37.49218600060231 ], [ -122.450177000097511, 37.491518000688593 ], [ -122.451842999948624, 37.490704000449114 ], [ -122.451687000485393, 37.490340000678906 ], [ -122.451247000383532, 37.489724000848859 ], [ -122.450799999479969, 37.489096000373451 ], [ -122.449879999489994, 37.48781000037242 ], [ -122.449187000132881, 37.486840000415029 ], [ -122.448740000495903, 37.486190000630536 ], [ -122.447298999744049, 37.484094000615741 ], [ -122.446987000186056, 37.4836400002646 ], [ -122.446786999499949, 37.483240001127044 ], [ -122.450455999965712, 37.48170400027027 ], [ -122.451087000391169, 37.48144000068347 ], [ -122.451387000343331, 37.480740000878093 ], [ -122.452086999621258, 37.48054000084317 ], [ -122.461940000524535, 37.49146700024577 ], [ -122.462187000225953, 37.491740000523066 ], [ -122.467887999941311, 37.4981400003159 ], [ -122.471288000032814, 37.499940000572721 ], [ -122.472387999909415, 37.50054000068436 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 297, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.15517499997037, 37.215444000719152 ], [ -122.157344000188914, 37.215444000489555 ], [ -122.158174999784023, 37.215444000276968 ], [ -122.164973999655032, 37.215344001050966 ], [ -122.171474999857907, 37.215249000552014 ], [ -122.173457999848196, 37.215165001095649 ], [ -122.175441999558942, 37.215287000403258 ], [ -122.176039000203119, 37.215299000692568 ], [ -122.178275999991584, 37.21534400067933 ], [ -122.18007099949979, 37.215286000734068 ], [ -122.180917999467496, 37.215210000959559 ], [ -122.181016999468852, 37.215217000653126 ], [ -122.181071999713438, 37.215254000621897 ], [ -122.181376000333913, 37.215244001043402 ], [ -122.195877000344552, 37.215244001004571 ], [ -122.207276999697498, 37.215244000838638 ], [ -122.208080999698183, 37.215242000433697 ], [ -122.215239000338372, 37.215226000729416 ], [ -122.216277999441587, 37.215244000631046 ], [ -122.216828000284877, 37.215194000686466 ], [ -122.217072999973468, 37.215172000472748 ], [ -122.217262999531584, 37.215155000449109 ], [ -122.217378000419572, 37.215144000882979 ], [ -122.21787900050694, 37.215142001050864 ], [ -122.218777999513634, 37.215244000316375 ], [ -122.219377999520304, 37.215144001039327 ], [ -122.219766999472938, 37.215101000843333 ], [ -122.219877000492176, 37.215089000525801 ], [ -122.220119000207944, 37.215080001097682 ], [ -122.220666999700256, 37.215058000576043 ], [ -122.220853999974452, 37.215051000283538 ], [ -122.221157000131626, 37.215074000839294 ], [ -122.221447000075017, 37.215096000259585 ], [ -122.222659999658291, 37.215188001033447 ], [ -122.223265000485341, 37.215234000907444 ], [ -122.224104000039262, 37.215120000311323 ], [ -122.225598000420547, 37.215301000897483 ], [ -122.225859000445681, 37.21533300091906 ], [ -122.230864000276611, 37.215234000574277 ], [ -122.231290999914862, 37.215173000305107 ], [ -122.232132000034667, 37.215197000659259 ], [ -122.233457999879818, 37.215234000557302 ], [ -122.235289000302046, 37.21512000066496 ], [ -122.235811000330116, 37.215131000880199 ], [ -122.236768999686475, 37.215150001108505 ], [ -122.237647999814428, 37.21514100090436 ], [ -122.240295000476294, 37.21511200076354 ], [ -122.242473000329824, 37.215133000346896 ], [ -122.242578000234161, 37.215134000853332 ], [ -122.242579000316098, 37.215044000868311 ], [ -122.242578999678784, 37.212044000443669 ], [ -122.242671999465216, 37.210835000840632 ], [ -122.242679000358677, 37.210744000756357 ], [ -122.24258400007686, 37.207681001045152 ], [ -122.242751000074676, 37.2048350008535 ], [ -122.242748999717804, 37.204737000619708 ], [ -122.242659000056548, 37.20031900041392 ], [ -122.242659999787421, 37.200036000652155 ], [ -122.242653000070931, 37.199453001006482 ], [ -122.242583999618603, 37.193460000978128 ], [ -122.242579999631317, 37.192967000446473 ], [ -122.242578999820438, 37.1928450005394 ], [ -122.242583999409433, 37.192713001082851 ], [ -122.242659999575679, 37.190035000328628 ], [ -122.245600999519922, 37.189895001123951 ], [ -122.245712000132386, 37.189890000273842 ], [ -122.247778999405369, 37.189845000735318 ], [ -122.248594000249852, 37.189844000806133 ], [ -122.260142000168045, 37.18984300068707 ], [ -122.268880999796295, 37.18984300092113 ], [ -122.271723999478539, 37.189400000897209 ], [ -122.278549999825344, 37.188337000987318 ], [ -122.284281000019604, 37.187445000731493 ], [ -122.286204999543898, 37.187132000284635 ], [ -122.288581000228504, 37.186745000877735 ], [ -122.288667999774461, 37.186746000993054 ], [ -122.301880999488986, 37.186845000583929 ], [ -122.306181999431999, 37.18684500070416 ], [ -122.317681999393599, 37.186945001103823 ], [ -122.317282999957598, 37.184266000629471 ], [ -122.316997000485202, 37.182346000574057 ], [ -122.316982000496822, 37.182245000821588 ], [ -122.316062999944279, 37.175526000720268 ], [ -122.315382000455699, 37.170545001081692 ], [ -122.315360999701639, 37.170462000573544 ], [ -122.315307999630804, 37.170249001022164 ], [ -122.315282000360625, 37.170145000554776 ], [ -122.311781999824603, 37.147546000752044 ], [ -122.311568999881075, 37.147222000266979 ], [ -122.310904999447132, 37.146213000855717 ], [ -122.310114999864652, 37.145012001013285 ], [ -122.309348000320867, 37.143846000577469 ], [ -122.309282000476429, 37.143746001014321 ], [ -122.305882000041152, 37.138546000530525 ], [ -122.305711999850232, 37.138294000903677 ], [ -122.302648000239543, 37.133745000892908 ], [ -122.302581999622006, 37.133646000766092 ], [ -122.299585000214464, 37.129022000586687 ], [ -122.299081999531836, 37.128247000374067 ], [ -122.297581999876911, 37.12604700084767 ], [ -122.293372999491453, 37.119638000665688 ], [ -122.29318200026583, 37.119347000574422 ], [ -122.293179999715363, 37.119348000926095 ], [ -122.29102400014547, 37.116106000322567 ], [ -122.290991000413271, 37.115961001062004 ], [ -122.290982000213262, 37.11594700067868 ], [ -122.289381999872376, 37.11344700110098 ], [ -122.289782000129662, 37.112747001043545 ], [ -122.291781999519657, 37.109047000636473 ], [ -122.292581999446895, 37.107747000720479 ], [ -122.29315400010249, 37.107136000855959 ], [ -122.296754000305683, 37.110862000459882 ], [ -122.296861999739662, 37.110974000869092 ], [ -122.298723999679297, 37.112141000865073 ], [ -122.298861000280709, 37.112141000753773 ], [ -122.299196999604902, 37.112133000570466 ], [ -122.299960000390641, 37.112576000406499 ], [ -122.300295000038602, 37.112744000919939 ], [ -122.301119000360472, 37.113118000810296 ], [ -122.301332999654193, 37.113415000293784 ], [ -122.301608000078801, 37.113461000406879 ], [ -122.301745000433854, 37.113400000541098 ], [ -122.302019999991373, 37.113736000454551 ], [ -122.302569000107994, 37.113964000719854 ], [ -122.303056999935421, 37.114125000643796 ], [ -122.303666999754711, 37.11462100024459 ], [ -122.304156000496107, 37.115124000841732 ], [ -122.304293000051018, 37.115223000529504 ], [ -122.304629000121992, 37.115071000537526 ], [ -122.304902999716703, 37.115399000518529 ], [ -122.305392000227243, 37.115444000938233 ], [ -122.305589999491275, 37.115780001124762 ], [ -122.305666000021816, 37.116055000439943 ], [ -122.305864999972229, 37.116223000848116 ], [ -122.306139000036723, 37.116383000910666 ], [ -122.307176999602916, 37.116612000973376 ], [ -122.307589000242515, 37.1166040002458 ], [ -122.308000999702799, 37.116864000848189 ], [ -122.308275999958425, 37.117054000651024 ], [ -122.308549999727376, 37.117207000233179 ], [ -122.308748999479803, 37.117161000858118 ], [ -122.308962999601988, 37.117092000840337 ], [ -122.310260000463529, 37.117558000287879 ], [ -122.311160999661368, 37.117871000750021 ], [ -122.311846999429918, 37.117939000716468 ], [ -122.312594999677543, 37.117939000710152 ], [ -122.31287000003465, 37.11804600093383 ], [ -122.313143999785112, 37.118100000994062 ], [ -122.313907000512557, 37.118161000327881 ], [ -122.314121000337934, 37.118000000584964 ], [ -122.31404399945329, 37.117718000519879 ], [ -122.314257999554869, 37.117665000830954 ], [ -122.314533000186259, 37.117771000252503 ], [ -122.314594000518071, 37.117665000381415 ], [ -122.314731000239775, 37.117489001107444 ], [ -122.314867999484079, 37.117108000880798 ], [ -122.314867999737913, 37.116886000447877 ], [ -122.315081999606548, 37.116703000962424 ], [ -122.315493999536216, 37.116436001065225 ], [ -122.315630999740193, 37.116337000740309 ], [ -122.315630999672663, 37.116604000371694 ], [ -122.315417999782468, 37.116772000901172 ], [ -122.315357000221809, 37.116940000934434 ], [ -122.315357000247786, 37.117054001039016 ], [ -122.315631000284981, 37.117054001044366 ], [ -122.316103999601069, 37.116986000635123 ], [ -122.316318000378658, 37.116993000304461 ], [ -122.316516000351882, 37.117047000480014 ], [ -122.31665399984891, 37.117207000765546 ], [ -122.316866999672769, 37.117222000880268 ], [ -122.317004999688876, 37.117100000818724 ], [ -122.317278999715427, 37.117092000628865 ], [ -122.317615000024304, 37.117153000670285 ], [ -122.317615000087258, 37.117268000446749 ], [ -122.317828999843755, 37.117146000551585 ], [ -122.318027000088406, 37.116879000644481 ], [ -122.318302000342314, 37.116825000498999 ], [ -122.318576000050882, 37.11704700048525 ], [ -122.318926999805456, 37.116772000377573 ], [ -122.318851000084564, 37.116886001073965 ], [ -122.318987999416962, 37.116772001037553 ], [ -122.319201999994604, 37.116604000706815 ], [ -122.319477000047755, 37.116497000455077 ], [ -122.319538000331221, 37.11633000061795 ], [ -122.319537999729633, 37.116116000988157 ], [ -122.319812000045317, 37.115948000438941 ], [ -122.32008699951021, 37.116009000443029 ], [ -122.320635999442501, 37.116055000524987 ], [ -122.321262000306945, 37.116055001083687 ], [ -122.322009999869991, 37.115895000257318 ], [ -122.322971000104388, 37.115460000852082 ], [ -122.323321999813473, 37.115170000745408 ], [ -122.32351999954281, 37.115177000632499 ], [ -122.323734000002773, 37.115017001024484 ], [ -122.323794999498972, 37.114857001044939 ], [ -122.323871000326434, 37.11472700071473 ], [ -122.32406899991625, 37.114674001042914 ], [ -122.324207000128112, 37.114788001000086 ], [ -122.324557999600017, 37.11477300061965 ], [ -122.324755999741924, 37.1146820009346 ], [ -122.325244000218134, 37.114621001027288 ], [ -122.325382000327295, 37.114399000554457 ], [ -122.325655999954549, 37.114399000781034 ], [ -122.325931000159102, 37.114125000430327 ], [ -122.326831000121516, 37.113690000275838 ], [ -122.327792999766473, 37.113468000575075 ], [ -122.327991000209508, 37.113301000375081 ], [ -122.328265999969247, 37.113018000245511 ], [ -122.328678000031843, 37.112744000610867 ], [ -122.329441000433903, 37.112423000839449 ], [ -122.329578000309951, 37.112469001081742 ], [ -122.329441000402639, 37.112912000725728 ], [ -122.329501999910349, 37.113018000737775 ], [ -122.329440999669728, 37.113186001055283 ], [ -122.329578000174607, 37.113240000402712 ], [ -122.329578000437351, 37.11341500080465 ], [ -122.330187999486199, 37.11472000067419 ], [ -122.330265000508007, 37.115010000555721 ], [ -122.33046300035889, 37.11533800025969 ], [ -122.330737999402203, 37.11549800071986 ], [ -122.33108899978825, 37.115895000416984 ], [ -122.331287000138232, 37.115994000416713 ], [ -122.331287000388897, 37.116215000528427 ], [ -122.331774999475158, 37.116703000897182 ], [ -122.3317749997844, 37.116871000882576 ], [ -122.33218699943437, 37.117100000373668 ], [ -122.332598999746139, 37.117321000242278 ], [ -122.333010999972515, 37.117604000248072 ], [ -122.333011000266268, 37.117489000380225 ], [ -122.333346999689297, 37.11770300059213 ], [ -122.333697999731214, 37.117604000713037 ], [ -122.33403299963652, 37.117657000939552 ], [ -122.334523000242328, 37.117825000380066 ], [ -122.334935000116502, 37.117771000401106 ], [ -122.335620999646338, 37.117543000799358 ], [ -122.335759000322156, 37.11742800076123 ], [ -122.336110000300096, 37.11748900093442 ], [ -122.336247000440537, 37.117443000245281 ], [ -122.336795999482717, 37.117329000360478 ], [ -122.337070999768073, 37.117382000695613 ], [ -122.337268999532796, 37.117657000654411 ], [ -122.33761999946239, 37.117710000869927 ], [ -122.337680999722537, 37.117993000834211 ], [ -122.337818999585693, 37.118382001103946 ], [ -122.337894999606419, 37.118595001109327 ], [ -122.338230999984404, 37.119480000391604 ], [ -122.338306999487244, 37.119572000463698 ], [ -122.338170000083167, 37.119862000298333 ], [ -122.338306999511744, 37.120076000342401 ], [ -122.338855999516284, 37.120854000229571 ], [ -122.339055000277938, 37.12090700030307 ], [ -122.339405999765262, 37.120900000246948 ], [ -122.339405999593154, 37.12106700052162 ], [ -122.338994000087567, 37.121228000468165 ], [ -122.338856000038703, 37.121403001011494 ], [ -122.338581999954016, 37.122135000586148 ], [ -122.33836799978981, 37.122898001084302 ], [ -122.338032000225695, 37.124592000359414 ], [ -122.337696999934408, 37.125279001057152 ], [ -122.337696999533179, 37.125447000853526 ], [ -122.337559000145603, 37.126766000888161 ], [ -122.337498000103352, 37.127652000966975 ], [ -122.337421999413266, 37.128193000894619 ], [ -122.337360999683185, 37.128636000691039 ], [ -122.337285000074118, 37.12948300099027 ], [ -122.337224000108236, 37.130078000307975 ], [ -122.337084999513223, 37.130795000506268 ], [ -122.337223000494092, 37.131405000353467 ], [ -122.337284000032724, 37.131848000446389 ], [ -122.33749799957188, 37.131901000469611 ], [ -122.337497999441936, 37.132283000253949 ], [ -122.337420999835302, 37.133221000495304 ], [ -122.337222999971743, 37.134274000581279 ], [ -122.337634999577247, 37.134663000330988 ], [ -122.337678000397446, 37.135053000420299 ], [ -122.337695999442559, 37.135211000259851 ], [ -122.337695999746117, 37.135654000676347 ], [ -122.337833000451667, 37.135936001075649 ], [ -122.338046999475978, 37.13632500091996 ], [ -122.338521000233527, 37.136485000892613 ], [ -122.338657999547763, 37.136859000480072 ], [ -122.339221999555718, 37.137637000481192 ], [ -122.339969999594899, 37.138255000784184 ], [ -122.340732999451902, 37.138690000718803 ], [ -122.341267000201853, 37.139018001080146 ], [ -122.341816000351926, 37.139407001110555 ], [ -122.342381000475811, 37.139797000489551 ], [ -122.342594999840955, 37.140018000697879 ], [ -122.343006999732253, 37.14039900060407 ], [ -122.343479999885588, 37.141078000823114 ], [ -122.343556000060616, 37.141284000747824 ], [ -122.343616999821094, 37.141620000241211 ], [ -122.343616999977613, 37.142329000474561 ], [ -122.343541000378238, 37.142780000539332 ], [ -122.343677999426831, 37.143283000456655 ], [ -122.343753999908685, 37.143779001084596 ], [ -122.344028999546282, 37.144099000515958 ], [ -122.344502000269927, 37.144267000795054 ], [ -122.344929000146436, 37.144550000388477 ], [ -122.345417999634051, 37.145099001085619 ], [ -122.34581400046109, 37.145488000944141 ], [ -122.346363999718193, 37.145755000895029 ], [ -122.346989000103434, 37.145915001054341 ], [ -122.347599999410406, 37.145816000452456 ], [ -122.348239999762484, 37.145808000650057 ], [ -122.349049000327824, 37.145648000541286 ], [ -122.350147999573551, 37.145320000335893 ], [ -122.350971999648706, 37.145381000955979 ], [ -122.351261999695183, 37.145656000966291 ], [ -122.351947999395733, 37.145488000941683 ], [ -122.352008999402699, 37.145870001054938 ], [ -122.351734999805458, 37.146037000570566 ], [ -122.351398999761088, 37.146152000658212 ], [ -122.351262000483771, 37.146480000450602 ], [ -122.351398999733789, 37.146755000855777 ], [ -122.35194799977414, 37.147029000443148 ], [ -122.352420999405211, 37.146854000860301 ], [ -122.352970999807965, 37.146747000783279 ], [ -122.353382999708799, 37.146747001100223 ], [ -122.35365700009848, 37.14714400054303 ], [ -122.354129999653537, 37.14702200034403 ], [ -122.355045999744135, 37.147807001075336 ], [ -122.355731999829743, 37.147914000588578 ], [ -122.355869999916493, 37.14807400094881 ], [ -122.355731999964576, 37.148135000719627 ], [ -122.355183000414527, 37.148082000724365 ], [ -122.355031000026628, 37.148120000782605 ], [ -122.355106999578524, 37.148410000530589 ], [ -122.355320000200138, 37.148570000343604 ], [ -122.355319999804962, 37.148853000861173 ], [ -122.355641000356997, 37.149059000262959 ], [ -122.355885000509133, 37.149249000474384 ], [ -122.356114000193244, 37.149112000848035 ], [ -122.356342999681118, 37.149181000594389 ], [ -122.35675500047499, 37.149181000965335 ], [ -122.35785299950102, 37.149387001070913 ], [ -122.35814299972948, 37.149471000899631 ], [ -122.358891000277154, 37.149570000666053 ], [ -122.35945599993741, 37.149738000910098 ], [ -122.359851999829061, 37.149738000498473 ], [ -122.359867999923722, 37.149638000336573 ], [ -122.359990000225977, 37.14934900087124 ], [ -122.360264000315226, 37.149349000944817 ], [ -122.360752999598432, 37.150119000818002 ], [ -122.360889999763245, 37.150340000618719 ], [ -122.360675999472974, 37.150455000553464 ], [ -122.36026399993186, 37.150394000412945 ], [ -122.359929000057576, 37.150676000765493 ], [ -122.359653999824658, 37.150768000864787 ], [ -122.359577999734796, 37.151057000588395 ], [ -122.359439999687666, 37.151988000591722 ], [ -122.35951700051838, 37.152766000600714 ], [ -122.359578000425969, 37.153323000560867 ], [ -122.359715000060618, 37.153590000264884 ], [ -122.359851999762427, 37.153873000628202 ], [ -122.359851999883361, 37.154208000265825 ], [ -122.3597149995027, 37.154704000538914 ], [ -122.359653999572529, 37.15487200095491 ], [ -122.359715000304789, 37.155139000986779 ], [ -122.359791000012834, 37.155574000932404 ], [ -122.360065999920891, 37.156413000311986 ], [ -122.360341000329683, 37.157420000775524 ], [ -122.360752999507525, 37.158130000515143 ], [ -122.360752999550087, 37.158344000929425 ], [ -122.360890000511773, 37.158519000968155 ], [ -122.360692000146855, 37.158847000268842 ], [ -122.360965999954558, 37.15912900112189 ], [ -122.361026999741313, 37.159404000270946 ], [ -122.361026999637431, 37.159740001077886 ], [ -122.361026999910976, 37.160335000265881 ], [ -122.36124099970921, 37.161334000931184 ], [ -122.361653000119958, 37.162380000578302 ], [ -122.361713999906215, 37.162997000521145 ], [ -122.361790000364792, 37.163593000954933 ], [ -122.361988999593493, 37.16397400025383 ], [ -122.362262999597206, 37.164485001119687 ], [ -122.362537999708593, 37.164966000812605 ], [ -122.362889000191998, 37.165530000383292 ], [ -122.363438000073771, 37.16730000059853 ], [ -122.363788999482807, 37.16796400071469 ], [ -122.364064000197075, 37.168338000240325 ], [ -122.364673999615263, 37.168674000569681 ], [ -122.364613000091467, 37.168842000443426 ], [ -122.364536999694053, 37.169009000406561 ], [ -122.364888000400327, 37.169727001051122 ], [ -122.365437000040572, 37.170665000777902 ], [ -122.365437000153378, 37.171047000469947 ], [ -122.366063000381871, 37.171329000592166 ], [ -122.366475000130805, 37.171977000725533 ], [ -122.366809999684236, 37.171985001061586 ], [ -122.36688700044246, 37.172160000497954 ], [ -122.366810000013615, 37.172374000983801 ], [ -122.366810000397237, 37.172481000973448 ], [ -122.367084999853589, 37.172817001046376 ], [ -122.36708500007272, 37.173145000368947 ], [ -122.367496999401496, 37.173160001087858 ], [ -122.36784799950334, 37.173267001027263 ], [ -122.368397000438094, 37.173488001118663 ], [ -122.368809000343802, 37.173595000645804 ], [ -122.369298000323298, 37.173595000301347 ], [ -122.369496000108256, 37.173656000842762 ], [ -122.369632999564715, 37.173816001100448 ], [ -122.369633000474508, 37.174083000767936 ], [ -122.369846999987402, 37.174205000755784 ], [ -122.370808999753535, 37.174526000928104 ], [ -122.371022999599063, 37.174861000884682 ], [ -122.37122100012887, 37.175128000349034 ], [ -122.371632999891574, 37.175586000320251 ], [ -122.372121000323617, 37.175975000897004 ], [ -122.372396000333325, 37.175960000913335 ], [ -122.372532999561244, 37.176074001083926 ], [ -122.37286899963739, 37.176128000790044 ], [ -122.372945000175989, 37.17628800064093 ], [ -122.372869000419627, 37.176570000264746 ], [ -122.372869000100465, 37.17685200096868 ], [ -122.373005999454477, 37.177058000306346 ], [ -122.373555999737775, 37.177608000480831 ], [ -122.374257999650482, 37.178325000347293 ], [ -122.37500499948672, 37.178844000869148 ], [ -122.375279999726502, 37.178676000323108 ], [ -122.375493999432607, 37.179004000827746 ], [ -122.375828999484483, 37.178897000263547 ], [ -122.376084999964078, 37.178757000739751 ], [ -122.37639799993255, 37.178837000977175 ], [ -122.376469000120707, 37.179364001127666 ], [ -122.377554000290232, 37.180120000660587 ], [ -122.377839000354953, 37.180532000957648 ], [ -122.378411999672224, 37.180647000231872 ], [ -122.379269999838002, 37.181128000510476 ], [ -122.379526999986297, 37.181037000804452 ], [ -122.380470999512326, 37.180991000543038 ], [ -122.380671999714721, 37.180946000577748 ], [ -122.380843999650949, 37.180694000614103 ], [ -122.381158000278631, 37.180763000943216 ], [ -122.381157999549856, 37.180923000537007 ], [ -122.381357999856078, 37.181129001034478 ], [ -122.381902000296876, 37.18138100094567 ], [ -122.381901999903775, 37.181610000976796 ], [ -122.382501999483907, 37.182114001071653 ], [ -122.382787000387211, 37.182161000501893 ], [ -122.383646999976222, 37.182304001056877 ], [ -122.38416199950818, 37.182390000881647 ], [ -122.385391000356208, 37.183054000474598 ], [ -122.386707999497702, 37.183307001098562 ], [ -122.387680000406917, 37.183216000362513 ], [ -122.388309999451934, 37.182987000435716 ], [ -122.389226000459942, 37.18291900088655 ], [ -122.38982700026493, 37.182965000585227 ], [ -122.390283999742138, 37.183194000615359 ], [ -122.390570000114081, 37.183194000954806 ], [ -122.39059899973077, 37.182988000561636 ], [ -122.390828000479658, 37.182874000733634 ], [ -122.391057000239513, 37.182897000825008 ], [ -122.391428999507795, 37.183103001095574 ], [ -122.39180099999264, 37.18303400071391 ], [ -122.392030000507191, 37.182691000257648 ], [ -122.392401999588969, 37.182531000598416 ], [ -122.392401999863779, 37.182302000479744 ], [ -122.392259000063248, 37.18218700092369 ], [ -122.392259999544592, 37.181935000350968 ], [ -122.392774999891969, 37.181661000707621 ], [ -122.393031999981275, 37.181730001076289 ], [ -122.393317999871968, 37.181615000259882 ], [ -122.393661999883889, 37.181386000557403 ], [ -122.394577999456644, 37.181295000809385 ], [ -122.394806000148563, 37.181387000753304 ], [ -122.39494899973802, 37.18173000048823 ], [ -122.394920999665217, 37.181982000254528 ], [ -122.394347999655068, 37.182348000959301 ], [ -122.394405000089478, 37.182738000614393 ], [ -122.395176999611294, 37.183471001036473 ], [ -122.395836000286494, 37.183814000457531 ], [ -122.396007999765715, 37.183997001025098 ], [ -122.396035999731609, 37.184387000714345 ], [ -122.396149999656316, 37.184616000459862 ], [ -122.396607999856741, 37.184936000228952 ], [ -122.39715200049109, 37.185120000660362 ], [ -122.396722000443461, 37.185990000465075 ], [ -122.396722000187893, 37.186425000364636 ], [ -122.397064999889565, 37.187249000696724 ], [ -122.397321999687662, 37.187683000528573 ], [ -122.397349999690704, 37.189309000283934 ], [ -122.397435000035955, 37.189515000627551 ], [ -122.397377999886245, 37.190156000371289 ], [ -122.397805999779195, 37.191278000733213 ], [ -122.398005999609268, 37.192125001106568 ], [ -122.398429000347235, 37.192537001076559 ], [ -122.398663999979746, 37.192766000460068 ], [ -122.39952300035084, 37.192927000957063 ], [ -122.401610999935883, 37.193844001028687 ], [ -122.402555999804562, 37.194119000247724 ], [ -122.402842000365879, 37.19446200071323 ], [ -122.403271000033811, 37.194554000386624 ], [ -122.403556999938615, 37.195012000628466 ], [ -122.404643999652592, 37.195470000782322 ], [ -122.405072999596783, 37.195791000912699 ], [ -122.405073000240378, 37.195974000423725 ], [ -122.404959000258316, 37.196111000432495 ], [ -122.405130000523258, 37.19682100037631 ], [ -122.405531000371653, 37.197073000280874 ], [ -122.405558999998163, 37.197554000577249 ], [ -122.405702000193827, 37.197714000771512 ], [ -122.405558999429317, 37.198172001071676 ], [ -122.405473000299025, 37.198378000830701 ], [ -122.405614999691466, 37.199752000873715 ], [ -122.405442999707944, 37.200187000376253 ], [ -122.405671999934768, 37.200874000738231 ], [ -122.405671000384189, 37.202064000286626 ], [ -122.405413000449755, 37.202820000599829 ], [ -122.40524199953461, 37.203255000965839 ], [ -122.405527999724939, 37.203667000275544 ], [ -122.405355999812201, 37.20433100056713 ], [ -122.40504100050444, 37.204468000825941 ], [ -122.404724999544143, 37.205269000524922 ], [ -122.405096999822831, 37.20547600058007 ], [ -122.405441999692599, 37.205963000556586 ], [ -122.405583999457917, 37.206163000667125 ], [ -122.405555000472276, 37.206346000367155 ], [ -122.405097000156076, 37.206643000510013 ], [ -122.40510200018322, 37.206667001012704 ], [ -122.405210999711073, 37.207193000457956 ], [ -122.405497000387285, 37.207468000625497 ], [ -122.405782999964487, 37.207582000462502 ], [ -122.40597799977283, 37.207714000331727 ], [ -122.406154999882332, 37.207834000370859 ], [ -122.406927999614297, 37.208018000409986 ], [ -122.406956999808628, 37.20852100046865 ], [ -122.406784000524354, 37.209323000425698 ], [ -122.407070999426452, 37.20957400112313 ], [ -122.407155999757947, 37.209987000905706 ], [ -122.407269000273459, 37.210100000473204 ], [ -122.407499999672055, 37.210330000350154 ], [ -122.40770000031489, 37.210811000340584 ], [ -122.407805000153502, 37.21092600104793 ], [ -122.408014999591444, 37.211155000726158 ], [ -122.407870999404778, 37.212208000407585 ], [ -122.408014000040211, 37.212322001026116 ], [ -122.407956999506112, 37.212528000965214 ], [ -122.407527000338348, 37.212780000851495 ], [ -122.407526999880986, 37.213032000931776 ], [ -122.407870000379859, 37.213856000553349 ], [ -122.407985000423338, 37.21397100057235 ], [ -122.408242000365746, 37.213948000264622 ], [ -122.408470999833142, 37.213788000406048 ], [ -122.408672000499351, 37.213856000394223 ], [ -122.408814999935871, 37.214154000461022 ], [ -122.409244000059729, 37.214200001067773 ], [ -122.409330000374382, 37.214292001116014 ], [ -122.409301000171723, 37.214498000652249 ], [ -122.40901499985452, 37.214841000610896 ], [ -122.408814000218371, 37.214910000969084 ], [ -122.408041999749713, 37.214932000947307 ], [ -122.407869999486877, 37.215093000599929 ], [ -122.407725999874032, 37.2155280006751 ], [ -122.407725999948283, 37.216031000953699 ], [ -122.407927000343847, 37.216146001038112 ], [ -122.407869000109116, 37.216856001064066 ], [ -122.407954999984128, 37.216970000663189 ], [ -122.407925999577785, 37.21749700067663 ], [ -122.407267000087359, 37.21868700059418 ], [ -122.407181000137271, 37.219465000890146 ], [ -122.407696000060426, 37.220038000928902 ], [ -122.407695999941041, 37.220116000560402 ], [ -122.407695999889711, 37.220610000910497 ], [ -122.407729999648183, 37.220649000382906 ], [ -122.40806799998829, 37.221045000500141 ], [ -122.408639999823905, 37.221320001085587 ], [ -122.409068999824925, 37.221710000458927 ], [ -122.409097999740069, 37.221916000598306 ], [ -122.408582999927674, 37.22198400039494 ], [ -122.408867999437618, 37.222877000359262 ], [ -122.409126000280366, 37.223175000306767 ], [ -122.409842000234093, 37.223335000279306 ], [ -122.410013000425735, 37.223450000511818 ], [ -122.41009900039073, 37.22377100044244 ], [ -122.410471000488144, 37.223954000827128 ], [ -122.410441999405776, 37.224458000875423 ], [ -122.410328000476738, 37.22459500077391 ], [ -122.40926899979749, 37.224595001109812 ], [ -122.409011000066513, 37.224823001114927 ], [ -122.408981999785496, 37.225258000664631 ], [ -122.409439999685659, 37.225694000839944 ], [ -122.40952600002494, 37.225923001030182 ], [ -122.409954999945469, 37.226404000998016 ], [ -122.410383999443823, 37.2265180007184 ], [ -122.411243000157327, 37.226312001053309 ], [ -122.411587000111993, 37.226335000709938 ], [ -122.411471999953733, 37.22693000027634 ], [ -122.410670999646214, 37.227022000452969 ], [ -122.410756000202639, 37.227297001064841 ], [ -122.411587000189087, 37.227343000690908 ], [ -122.411700999584468, 37.227572000461649 ], [ -122.411242999859624, 37.227686000911945 ], [ -122.411271000272464, 37.227846000774441 ], [ -122.411986999402956, 37.228419000865898 ], [ -122.411957999539908, 37.228968000398304 ], [ -122.412502000506848, 37.228877000234483 ], [ -122.412816999429452, 37.229358001038733 ], [ -122.413245999461324, 37.229724000679511 ], [ -122.413846999645983, 37.230594000815607 ], [ -122.413876000473621, 37.230984000408071 ], [ -122.414219000103358, 37.231510001086136 ], [ -122.414878000134721, 37.232083000866588 ], [ -122.415106000295523, 37.232518000944616 ], [ -122.415707999775265, 37.23254100070772 ], [ -122.415822000184363, 37.232655000945165 ], [ -122.415821999828367, 37.232839000866988 ], [ -122.415564000442103, 37.23297600097483 ], [ -122.415564000360831, 37.233342000596629 ], [ -122.415879000237837, 37.233800000264374 ], [ -122.416050999475104, 37.234327000673808 ], [ -122.41605099984514, 37.235081000985765 ], [ -122.416164999673825, 37.235287000782321 ], [ -122.416652000037615, 37.23572300029808 ], [ -122.416622999699698, 37.235906000951097 ], [ -122.416337000245889, 37.235997000855576 ], [ -122.416165000473413, 37.236226000447793 ], [ -122.416107000500517, 37.236959000520969 ], [ -122.416593999822638, 37.237279000671727 ], [ -122.416621999983732, 37.237669000595794 ], [ -122.416850999463151, 37.23796600029754 ], [ -122.417481000119494, 37.238447000303651 ], [ -122.417481000020089, 37.23899700027345 ], [ -122.417853000356828, 37.239501000673457 ], [ -122.418025000110802, 37.239913000690713 ], [ -122.418195999616202, 37.240737000974448 ], [ -122.418682999479643, 37.240920000440866 ], [ -122.418797999431192, 37.241401000551157 ], [ -122.419112999831498, 37.241470001083897 ], [ -122.418739999436156, 37.242179000724605 ], [ -122.418511000292028, 37.242958000920616 ], [ -122.418539000339109, 37.244217000873896 ], [ -122.418280999870447, 37.24488100060465 ], [ -122.418281000166886, 37.245156000311681 ], [ -122.418510000212166, 37.245728000730104 ], [ -122.418451999571488, 37.248521000483542 ], [ -122.41726099949895, 37.24994400073404 ], [ -122.417085999602051, 37.250295000515628 ], [ -122.417025000370231, 37.250516001003533 ], [ -122.416979999477988, 37.250745000758918 ], [ -122.416963999719201, 37.251134000678526 ], [ -122.417009999711965, 37.251371000342523 ], [ -122.417101999480963, 37.251500000806764 ], [ -122.417208000253979, 37.251737000990751 ], [ -122.41694900022344, 37.251699000486383 ], [ -122.416704999627541, 37.251684001115557 ], [ -122.416674000299423, 37.251867000436256 ], [ -122.416674000437212, 37.251966000317069 ], [ -122.416750999841753, 37.252157000595311 ], [ -122.416903000029066, 37.252355000833042 ], [ -122.417041000261079, 37.252546000240628 ], [ -122.41688600041914, 37.253144000952261 ], [ -122.416612999704626, 37.25315600036275 ], [ -122.416339000357851, 37.253171000362229 ], [ -122.416078999674582, 37.253400000572192 ], [ -122.416018000157251, 37.253606000346075 ], [ -122.415927000012672, 37.253705001125056 ], [ -122.415743999834035, 37.253698000339412 ], [ -122.41553000006904, 37.253827000558189 ], [ -122.41549899949473, 37.254079001012727 ], [ -122.415499000242136, 37.254339001106075 ], [ -122.415621999971791, 37.254354000760294 ], [ -122.415636999729031, 37.254499000524284 ], [ -122.415468999546675, 37.254483000832359 ], [ -122.415483999713672, 37.254659000368967 ], [ -122.415637000473723, 37.254743000901975 ], [ -122.415575999529494, 37.254941000537144 ], [ -122.415376999487151, 37.254812000693271 ], [ -122.415057000083323, 37.254903000332114 ], [ -122.414889000434115, 37.255079000699638 ], [ -122.414720999954369, 37.255391000944016 ], [ -122.414507999412493, 37.256009000859855 ], [ -122.414462000068454, 37.256322000526183 ], [ -122.414491999664719, 37.256688001030113 ], [ -122.414586000274028, 37.256944000318093 ], [ -122.413881999820944, 37.25814600071476 ], [ -122.413867000163194, 37.259038000524271 ], [ -122.413943000104666, 37.259359000534168 ], [ -122.414126000435473, 37.259481000871766 ], [ -122.414507999442336, 37.259481000334098 ], [ -122.414781999759597, 37.259511000300513 ], [ -122.414674999416775, 37.259710000507383 ], [ -122.414522999688629, 37.259740000798224 ], [ -122.414064999447717, 37.259763001041463 ], [ -122.413698999780024, 37.259885000572666 ], [ -122.413638000008859, 37.260213000266866 ], [ -122.414385999714796, 37.261344000366236 ], [ -122.413272000203861, 37.262471000731296 ], [ -122.413150000282116, 37.262738000786847 ], [ -122.413089000361708, 37.263143000373667 ], [ -122.413210999843656, 37.263356000559149 ], [ -122.413408999949155, 37.263639000565455 ], [ -122.413118999615875, 37.26438600098021 ], [ -122.412982000261096, 37.264539000640362 ], [ -122.412829000404528, 37.264875000272376 ], [ -122.4128289994201, 37.265317000368114 ], [ -122.412904999770348, 37.265638000715668 ], [ -122.412859999723167, 37.265844001095466 ], [ -122.412920999816819, 37.266073000590971 ], [ -122.412981999476386, 37.266279001088812 ], [ -122.413012000253275, 37.266683000330666 ], [ -122.413085999702773, 37.26684400024034 ], [ -122.412950999587196, 37.267003000331329 ], [ -122.412768000007446, 37.267125000813742 ], [ -122.412523999910178, 37.267072000924273 ], [ -122.412478000231388, 37.26690400062575 ], [ -122.412417000292422, 37.266553000563434 ], [ -122.41224900041145, 37.266393001057885 ], [ -122.412051000371761, 37.266340000508698 ], [ -122.411786000024662, 37.266444000700616 ], [ -122.411761000142036, 37.266149000403288 ], [ -122.411745999864252, 37.266050001064066 ], [ -122.411685999618527, 37.265844000393834 ], [ -122.411285999468788, 37.266444000510404 ], [ -122.411364000116023, 37.266515000514786 ], [ -122.411440999592756, 37.266729000937126 ], [ -122.411485999504819, 37.266944000520652 ], [ -122.411547000500235, 37.267011000257256 ], [ -122.411563000431144, 37.267164000506476 ], [ -122.411563000312754, 37.267362000609729 ], [ -122.411516999410438, 37.267576000666814 ], [ -122.411485999422226, 37.267797000644094 ], [ -122.410478999720013, 37.271695000345069 ], [ -122.410281000273812, 37.273565000282765 ], [ -122.410250000412518, 37.273961000640647 ], [ -122.410189000291879, 37.274274000387543 ], [ -122.410051999740304, 37.274823000507482 ], [ -122.409883999513312, 37.275220000738521 ], [ -122.409685999492922, 37.275594000913983 ], [ -122.40960999993662, 37.275823000829128 ], [ -122.409671000246036, 37.275937000723445 ], [ -122.409777000425123, 37.275991000522112 ], [ -122.409914999735875, 37.276090001089401 ], [ -122.409837999422422, 37.276784000555836 ], [ -122.409762000349218, 37.276899001094911 ], [ -122.409654999474171, 37.276975000767322 ], [ -122.409532999717754, 37.277173000484076 ], [ -122.409563999500037, 37.277257000403253 ], [ -122.409624999702544, 37.277410000644018 ], [ -122.409594000308459, 37.277662000258111 ], [ -122.409532999548958, 37.277784000795151 ], [ -122.409396000359379, 37.277929000538116 ], [ -122.40910600023571, 37.278341000897335 ], [ -122.409029999940714, 37.278562000499385 ], [ -122.409059999922874, 37.278699000736012 ], [ -122.409120999787234, 37.278875001003698 ], [ -122.409121000009364, 37.279035000902091 ], [ -122.40892299944548, 37.279645000774906 ], [ -122.408816000125455, 37.279881000417951 ], [ -122.408847000382806, 37.280148001057718 ], [ -122.408923000298799, 37.280323000941586 ], [ -122.408968999972558, 37.28053700094101 ], [ -122.408891999789901, 37.280758000779464 ], [ -122.408739999930077, 37.280995000562768 ], [ -122.408725000175281, 37.281178000988703 ], [ -122.408708999731672, 37.28137600089913 ], [ -122.408648000155736, 37.281483000910214 ], [ -122.408557000277199, 37.281597000796637 ], [ -122.408479999781491, 37.281750000576146 ], [ -122.408648000253237, 37.28236000097332 ], [ -122.408739999688834, 37.28249800048841 ], [ -122.40872499958644, 37.282681000865431 ], [ -122.408586999731739, 37.2829100010755 ], [ -122.408617999605056, 37.282994000265496 ], [ -122.408511000239159, 37.283200000422276 ], [ -122.408388999733404, 37.283482000745174 ], [ -122.408479999723539, 37.283673000595122 ], [ -122.40843500008576, 37.283947001010453 ], [ -122.408252000476779, 37.284359000745184 ], [ -122.40818899972075, 37.285427001084422 ], [ -122.408158999602122, 37.285649000498275 ], [ -122.408220000419988, 37.285961000431094 ], [ -122.408143999872308, 37.286167000974537 ], [ -122.408022000234936, 37.286366001102365 ], [ -122.407990999695159, 37.286534000586357 ], [ -122.407930000262965, 37.286747000445885 ], [ -122.407784999635552, 37.286943000813501 ], [ -122.407716000093458, 37.287106000282478 ], [ -122.407761999495079, 37.287251000293629 ], [ -122.407823000289795, 37.287495000671839 ], [ -122.40782300034644, 37.287777000243466 ], [ -122.407639999847206, 37.288182000355206 ], [ -122.407593999767556, 37.288426000693441 ], [ -122.407579000109024, 37.28867000112934 ], [ -122.407563999439915, 37.288838000286589 ], [ -122.407487999915745, 37.290943000283235 ], [ -122.407503000275483, 37.291104000658386 ], [ -122.407441999795083, 37.291249000449405 ], [ -122.407289000438467, 37.291340000837899 ], [ -122.407151999654218, 37.291340000654081 ], [ -122.406892000183888, 37.291340000570109 ], [ -122.40663299964605, 37.291325000458478 ], [ -122.4064850004861, 37.291443000635034 ], [ -122.406571999428493, 37.291493000445463 ], [ -122.406724999655481, 37.291546000944216 ], [ -122.406923000465142, 37.291592000335257 ], [ -122.407136999466573, 37.291683000982005 ], [ -122.407258999463835, 37.291798000547345 ], [ -122.40725899994618, 37.291981000740265 ], [ -122.407045000485795, 37.294346000412546 ], [ -122.407014999502991, 37.294537000541077 ], [ -122.407076000453969, 37.294697000943763 ], [ -122.407213000508094, 37.2949180010257 ], [ -122.407303999481258, 37.295063001065408 ], [ -122.407349999749073, 37.295323000664531 ], [ -122.407335000201897, 37.295422000386289 ], [ -122.407213000398556, 37.295605000626566 ], [ -122.407076000485191, 37.295735000771785 ], [ -122.406953999830648, 37.295948000619283 ], [ -122.406983999514452, 37.29609300078382 ], [ -122.407059999752192, 37.296276000330188 ], [ -122.407044999933248, 37.296475000530329 ], [ -122.406985000248071, 37.2965430005478 ], [ -122.406876999648603, 37.296749000867443 ], [ -122.406785999782656, 37.296887001096628 ], [ -122.406633000253748, 37.297024000872156 ], [ -122.406496000222035, 37.297184001088084 ], [ -122.406450000131187, 37.297245000563628 ], [ -122.406327999428413, 37.297421000560725 ], [ -122.406185000317876, 37.297743000501242 ], [ -122.406190999630795, 37.297901000953715 ], [ -122.406159999453607, 37.299549000727957 ], [ -122.406281999590803, 37.299854000380265 ], [ -122.406220999618455, 37.300091000883356 ], [ -122.406160000419405, 37.300266000536809 ], [ -122.406098999438001, 37.300785000787421 ], [ -122.406098999876917, 37.300991000410967 ], [ -122.406145000370188, 37.301090000404486 ], [ -122.406190999974783, 37.301411000450869 ], [ -122.40609899981358, 37.301571000487776 ], [ -122.405991999981012, 37.30183100041711 ], [ -122.405717999491813, 37.304417000960207 ], [ -122.405625999716037, 37.304760000317756 ], [ -122.405625999549002, 37.304875000626637 ], [ -122.405702000059236, 37.305042000339597 ], [ -122.405855000329566, 37.305218001122668 ], [ -122.405885000464323, 37.305443000930154 ], [ -122.405808999895086, 37.305859000798982 ], [ -122.40565700023258, 37.306515000718456 ], [ -122.405289999902848, 37.307797000595883 ], [ -122.405213999598303, 37.308079000305391 ], [ -122.405167999654608, 37.308354000979783 ], [ -122.404969999441377, 37.310406000412378 ], [ -122.404985000111736, 37.310635000880893 ], [ -122.405031000514072, 37.310803001097945 ], [ -122.405061000056619, 37.311138001116831 ], [ -122.404938999807285, 37.311604000961374 ], [ -122.404802000115879, 37.311856001016395 ], [ -122.404726000351118, 37.312130000433299 ], [ -122.404664999540486, 37.312435000771302 ], [ -122.404665000395141, 37.312741001132125 ], [ -122.404756000356016, 37.312931000666687 ], [ -122.404848000414674, 37.313107000381329 ], [ -122.40486300025735, 37.313351000658933 ], [ -122.404694999685034, 37.313526000859461 ], [ -122.404451000253616, 37.314724000639238 ], [ -122.404496999928213, 37.314823001064212 ], [ -122.404542999550841, 37.314907000671781 ], [ -122.404548999911981, 37.314989000734911 ], [ -122.404558000310018, 37.315098000562649 ], [ -122.404374999796104, 37.315258000581693 ], [ -122.404206999452782, 37.315281000895531 ], [ -122.404184999702451, 37.316643000544993 ], [ -122.404145999455793, 37.317013000697365 ], [ -122.403962999979527, 37.317433000814333 ], [ -122.403902000069237, 37.317974001059433 ], [ -122.404023999872521, 37.318363001002488 ], [ -122.404099999761385, 37.318943000805682 ], [ -122.403672999915003, 37.31978200060334 ], [ -122.403429000413084, 37.320576000628598 ], [ -122.402884999874331, 37.321543001042933 ], [ -122.403260999545353, 37.321446001069127 ], [ -122.403658000339362, 37.322178000248996 ], [ -122.403626999497504, 37.322788000348872 ], [ -122.403825000379129, 37.323376000659962 ], [ -122.403871000214053, 37.323757000821651 ], [ -122.403763999742296, 37.323857000776073 ], [ -122.403734000304041, 37.324009000834558 ], [ -122.403978000474311, 37.324101000994609 ], [ -122.404009000486369, 37.324650000505358 ], [ -122.403763999558791, 37.324764000455147 ], [ -122.40333700010639, 37.324925000550756 ], [ -122.403084999459537, 37.32514300110175 ], [ -122.403108000427821, 37.325245001053773 ], [ -122.403230000257892, 37.325680000606589 ], [ -122.403047000293355, 37.325955000779402 ], [ -122.403185000399489, 37.326542000560977 ], [ -122.403169000499346, 37.326962000830299 ], [ -122.402863999676143, 37.327252000692383 ], [ -122.402803000286951, 37.328015000278135 ], [ -122.402711999877084, 37.328593000532386 ], [ -122.402437000483857, 37.330295000457888 ], [ -122.402222999747565, 37.331042000382404 ], [ -122.402223000076773, 37.331645000630829 ], [ -122.402132000294756, 37.33257600087699 ], [ -122.401932999559946, 37.333720000702719 ], [ -122.401642999940563, 37.33480400098761 ], [ -122.401642999426286, 37.33582600040117 ], [ -122.40141500024248, 37.336230000522932 ], [ -122.401322999454379, 37.337009000272204 ], [ -122.401307999726214, 37.337787000503518 ], [ -122.401261999405662, 37.338168000255187 ], [ -122.401155000455461, 37.339030001020269 ], [ -122.40106400026491, 37.340068000888436 ], [ -122.401124999556515, 37.341136000823148 ], [ -122.401246999427968, 37.341739001000228 ], [ -122.401293000043353, 37.342044000428459 ], [ -122.401184999423023, 37.342342000907479 ], [ -122.401261999762809, 37.34346300034035 ], [ -122.401201000104564, 37.344234000247639 ], [ -122.401140000142789, 37.34506500109427 ], [ -122.401322999742334, 37.345454000871875 ], [ -122.401459999982009, 37.345470000396219 ], [ -122.401642999724103, 37.345515000790613 ], [ -122.401765999426686, 37.345637000507011 ], [ -122.401810999643942, 37.346049000574496 ], [ -122.401552000279935, 37.346461000859726 ], [ -122.401337999450192, 37.346736000836636 ], [ -122.401476000276759, 37.347202000727094 ], [ -122.402085999711019, 37.347644001014068 ], [ -122.402360999543717, 37.348079000682446 ], [ -122.402207999403885, 37.348590000508032 ], [ -122.401673999674799, 37.348521000939556 ], [ -122.40109399969738, 37.348682001125795 ], [ -122.400986999466994, 37.349239000462468 ], [ -122.40101799949386, 37.349750000875396 ], [ -122.400834999499239, 37.350543001077924 ], [ -122.400972000482952, 37.351482000624188 ], [ -122.401003000286948, 37.351932001119529 ], [ -122.400804000270512, 37.352428000354251 ], [ -122.400742999391525, 37.352588001079248 ], [ -122.400881000012333, 37.353389000318664 ], [ -122.400774000396169, 37.354213000943581 ], [ -122.400452999396009, 37.355006001115235 ], [ -122.400362000235461, 37.355464000238278 ], [ -122.400468999548991, 37.356029001116973 ], [ -122.400117999964834, 37.356403000515954 ], [ -122.399885000464209, 37.356642000951005 ], [ -122.400362000310778, 37.356677001115436 ], [ -122.400591000440684, 37.356921000431555 ], [ -122.400574999580584, 37.357394000802799 ], [ -122.400559999484514, 37.35827200040729 ], [ -122.40084999976051, 37.359225000967932 ], [ -122.401170000018467, 37.359920000590776 ], [ -122.401642999671111, 37.360645000449907 ], [ -122.402375999806395, 37.361140000606191 ], [ -122.403413000261651, 37.361682000677042 ], [ -122.403992999671246, 37.361835000865383 ], [ -122.404497000266289, 37.362025001032045 ], [ -122.405259999654447, 37.362148000864565 ], [ -122.405779000104317, 37.362003001126354 ], [ -122.406022999888094, 37.362544000584265 ], [ -122.406327999671205, 37.362788000750577 ], [ -122.406694000022284, 37.362918000994092 ], [ -122.40731999986383, 37.362849000603568 ], [ -122.40732000043603, 37.363033000946807 ], [ -122.407471999872243, 37.363177000860418 ], [ -122.407564000429176, 37.363666000500842 ], [ -122.408295999669065, 37.364017000403415 ], [ -122.408326999398057, 37.364223000607339 ], [ -122.407929999805532, 37.364421001081354 ], [ -122.407639999434807, 37.3647570002558 ], [ -122.407670999526147, 37.365031000294522 ], [ -122.407990999786207, 37.365283000638414 ], [ -122.408219999457629, 37.365611000321827 ], [ -122.408921999936112, 37.366130000312914 ], [ -122.40916599989481, 37.366435000625167 ], [ -122.408876000243552, 37.366672000267592 ], [ -122.408494999704104, 37.3669540004175 ], [ -122.40846399951694, 37.367473000860421 ], [ -122.408510000076618, 37.367931000977237 ], [ -122.408632000121855, 37.368053000888239 ], [ -122.40898300026457, 37.367938000374579 ], [ -122.408998000098933, 37.368083000959537 ], [ -122.408601000171231, 37.368327000606222 ], [ -122.408356999521857, 37.368808000949322 ], [ -122.408372999559177, 37.369350000500994 ], [ -122.408417999487753, 37.370670000843091 ], [ -122.408662999626429, 37.371288000883801 ], [ -122.408846000223619, 37.371883001114178 ], [ -122.408890999535117, 37.37238600043181 ], [ -122.409105000170726, 37.372905000771972 ], [ -122.409028999729401, 37.373286001103388 ], [ -122.408860999630036, 37.373767000499669 ], [ -122.408984999785858, 37.374042000934587 ], [ -122.40904399959058, 37.374324001012866 ], [ -122.409150999644922, 37.374561000947736 ], [ -122.409257999678672, 37.374805000842088 ], [ -122.409384999432817, 37.37494200026579 ], [ -122.407484999434189, 37.376842000803734 ], [ -122.40738499943329, 37.377542000598318 ], [ -122.406384999653596, 37.377742000777438 ], [ -122.404684999865694, 37.381841001105244 ], [ -122.402084999964572, 37.382741000614338 ], [ -122.401185000500334, 37.382441000597197 ], [ -122.400784999518436, 37.382841000586097 ], [ -122.397284999717456, 37.388241000643511 ], [ -122.393883999610182, 37.392041000672926 ], [ -122.39178399967841, 37.39564100099355 ], [ -122.392084000257924, 37.392541000988146 ], [ -122.386484000391732, 37.392841000595588 ], [ -122.38718399957915, 37.392141000726909 ], [ -122.385983999465864, 37.391641000917545 ], [ -122.386184000214058, 37.391041000641295 ], [ -122.383883999622611, 37.390541000735389 ], [ -122.383184000180691, 37.390041000541736 ], [ -122.381183999493501, 37.391041000744757 ], [ -122.380084000339124, 37.390741000602539 ], [ -122.378783999966387, 37.391241001044278 ], [ -122.378784000177802, 37.393041000920547 ], [ -122.37328800002139, 37.397834001121481 ], [ -122.369382999998976, 37.401241000962017 ], [ -122.369283000009091, 37.40194100028566 ], [ -122.36848299983599, 37.40204100111368 ], [ -122.366482999822935, 37.398841000236231 ], [ -122.366582999944626, 37.396841000854373 ], [ -122.363382999974775, 37.398841000984717 ], [ -122.357683000014674, 37.404540000769877 ], [ -122.355182000066876, 37.405140000358301 ], [ -122.354482000029392, 37.405740000270988 ], [ -122.352982000111155, 37.406040000596391 ], [ -122.350682000492171, 37.408340000751799 ], [ -122.351081999566944, 37.412640001085329 ], [ -122.351682000350124, 37.413140000760073 ], [ -122.350981999463642, 37.413640000279955 ], [ -122.350982000124262, 37.414240000802693 ], [ -122.350582000152173, 37.414740000294955 ], [ -122.352682000332479, 37.41664000106185 ], [ -122.350581999971453, 37.416440000358271 ], [ -122.350682000315004, 37.417640001116219 ], [ -122.351681999586432, 37.41874000032513 ], [ -122.350882000010273, 37.418840000858829 ], [ -122.350682000176789, 37.41984000031519 ], [ -122.350233999390895, 37.419657001026081 ], [ -122.348482000247245, 37.418940000577628 ], [ -122.347781999778107, 37.420040000935408 ], [ -122.346681999561085, 37.419840000359088 ], [ -122.346981999912771, 37.421540000415696 ], [ -122.348781999464364, 37.421740000458904 ], [ -122.348081999786999, 37.423240000771322 ], [ -122.346281999547017, 37.423640001125065 ], [ -122.344381999632787, 37.423040000957528 ], [ -122.343481999839071, 37.421940000633974 ], [ -122.342281999767252, 37.422940001008243 ], [ -122.341082000421821, 37.422640000411278 ], [ -122.3390819994857, 37.422840000391581 ], [ -122.337681000449365, 37.422040000240671 ], [ -122.33488099960644, 37.421040000380792 ], [ -122.331780999640287, 37.421040000749365 ], [ -122.329981000137266, 37.420140000762402 ], [ -122.329881000211529, 37.42104000056819 ], [ -122.328280999759372, 37.421540000272614 ], [ -122.328880999583632, 37.422740000736596 ], [ -122.327081000339234, 37.421840000986506 ], [ -122.325980999909348, 37.421440000272618 ], [ -122.325080999804825, 37.423440001003655 ], [ -122.32318099952947, 37.42154000041883 ], [ -122.322080999426845, 37.421440000779306 ], [ -122.321081000090501, 37.420040000739299 ], [ -122.32028100039183, 37.420140000332204 ], [ -122.320081000270079, 37.421339001112194 ], [ -122.320580999933597, 37.424039000821168 ], [ -122.318781000030114, 37.425139000710431 ], [ -122.315879999396941, 37.424339000329084 ], [ -122.311880000191266, 37.425939001070297 ], [ -122.313180000314318, 37.425239000403408 ], [ -122.313289999779613, 37.425186000379348 ], [ -122.315879999666649, 37.423939000518835 ], [ -122.318880999441674, 37.424139000915289 ], [ -122.319481000214608, 37.423639001068508 ], [ -122.318700999998072, 37.420830000459326 ], [ -122.318501999711231, 37.420113000721543 ], [ -122.318481000215158, 37.42003900042053 ], [ -122.31898099980198, 37.418440000829797 ], [ -122.318880999453171, 37.417740000861613 ], [ -122.317880999546261, 37.417040000311538 ], [ -122.310279999830911, 37.413440001110359 ], [ -122.309691000043003, 37.413413000838482 ], [ -122.308759000270143, 37.413371000381851 ], [ -122.308079999517361, 37.413339000470252 ], [ -122.306579999730204, 37.411840000852393 ], [ -122.306079999513912, 37.411340000756056 ], [ -122.307280000139016, 37.40784000023443 ], [ -122.302879999677074, 37.405540001122105 ], [ -122.300434000469693, 37.403855000768971 ], [ -122.298380000198065, 37.402440000576767 ], [ -122.296380000060907, 37.400940000816952 ], [ -122.294979999813137, 37.399940000488428 ], [ -122.293379000286734, 37.398940000261739 ], [ -122.293479000254436, 37.398640001065736 ], [ -122.294280000199493, 37.396840000249973 ], [ -122.292778999863671, 37.395740000741384 ], [ -122.291879000220661, 37.395240000469727 ], [ -122.292279000194483, 37.393840000911034 ], [ -122.289778999930604, 37.39194000081195 ], [ -122.290014999646516, 37.39178000074596 ], [ -122.290259999882707, 37.391426000271068 ], [ -122.290192999467493, 37.391142000743521 ], [ -122.289880999582579, 37.390929000748805 ], [ -122.289479000290683, 37.390740000642559 ], [ -122.286436999885325, 37.389694000567701 ], [ -122.286279000513076, 37.389640000790045 ], [ -122.28487900021554, 37.389840001054097 ], [ -122.283379000249127, 37.389040000333956 ], [ -122.282679000508523, 37.388040001046875 ], [ -122.279978999608687, 37.387440001068342 ], [ -122.278078999495122, 37.387740000609156 ], [ -122.275979000294569, 37.387540001108682 ], [ -122.272879000186975, 37.387740000616027 ], [ -122.270878000051027, 37.387040000561086 ], [ -122.270078000336383, 37.386340000366445 ], [ -122.268577999983009, 37.385840001081434 ], [ -122.267977999547924, 37.384440000535193 ], [ -122.266378000392208, 37.383440000932239 ], [ -122.266152000093413, 37.38219300062012 ], [ -122.265923000035684, 37.380935000598051 ], [ -122.265777999780155, 37.380140000313524 ], [ -122.266777999795053, 37.374740000999402 ], [ -122.266678000148772, 37.374040000978063 ], [ -122.265678000450535, 37.367440000828836 ], [ -122.265006999506639, 37.364756000830262 ], [ -122.264478000112177, 37.3626400009544 ], [ -122.260578000039231, 37.362940000707709 ], [ -122.260577999737492, 37.360640000258563 ], [ -122.261277999982227, 37.359440000373851 ], [ -122.263978000124808, 37.359540000681328 ], [ -122.265578000422522, 37.357740000718088 ], [ -122.264377999476878, 37.357740000832678 ], [ -122.264178000018561, 37.358640001005732 ], [ -122.263671000031849, 37.35889300041196 ], [ -122.263177999860517, 37.359140000593356 ], [ -122.260778000388541, 37.358440000241245 ], [ -122.25947800014066, 37.360140000852489 ], [ -122.259378000317099, 37.361340000409456 ], [ -122.254577999496291, 37.359540000791448 ], [ -122.253377999713322, 37.359940000900714 ], [ -122.254178000370075, 37.361240000585362 ], [ -122.25257799976815, 37.363040000531406 ], [ -122.256877999452669, 37.363140000419648 ], [ -122.256477999397745, 37.36504000065235 ], [ -122.257577999612423, 37.365240000535451 ], [ -122.257177999457824, 37.367540000244844 ], [ -122.257178000323336, 37.36854000080573 ], [ -122.254078000172996, 37.370340000763022 ], [ -122.252777999886291, 37.371940000916929 ], [ -122.251078000323588, 37.370368001091677 ], [ -122.247477999522317, 37.36704000082311 ], [ -122.247677999440995, 37.364940000401511 ], [ -122.246778000068304, 37.36314000082951 ], [ -122.247163999887064, 37.361633000332837 ], [ -122.247744999555906, 37.359370000596869 ], [ -122.247777999614087, 37.359240000722771 ], [ -122.242276999912249, 37.353940000415122 ], [ -122.240876999485195, 37.352540000415736 ], [ -122.237176999511789, 37.349940000972964 ], [ -122.231276999691474, 37.34834000070439 ], [ -122.228076999848824, 37.344641000895848 ], [ -122.224769000298849, 37.343092000915298 ], [ -122.220920000272343, 37.341289000949395 ], [ -122.220176999694687, 37.340941000433645 ], [ -122.217477000462026, 37.339641000871474 ], [ -122.217076999477882, 37.33734100028871 ], [ -122.216977000083261, 37.335041000528108 ], [ -122.211376999802582, 37.330941000636244 ], [ -122.211009999581464, 37.330703000645542 ], [ -122.207579000382069, 37.328479000634516 ], [ -122.202276000078527, 37.325041000981663 ], [ -122.192576000289264, 37.318741000654164 ], [ -122.192787000248828, 37.31865100075315 ], [ -122.193062000393809, 37.318277000471141 ], [ -122.192665000504292, 37.318010000665957 ], [ -122.191643000449702, 37.317911000475398 ], [ -122.190671999761932, 37.317867000308972 ], [ -122.190482999935156, 37.317858000721387 ], [ -122.190375000346293, 37.317828000616672 ], [ -122.18991999963616, 37.317701000338118 ], [ -122.189628999726736, 37.317621000455382 ], [ -122.189408999824749, 37.317447001008432 ], [ -122.189185999561886, 37.317270000662347 ], [ -122.18888099998955, 37.316797001036392 ], [ -122.18857599969067, 37.31654100105029 ], [ -122.1876449994773, 37.315920001025667 ], [ -122.187294000471127, 37.315775000298402 ], [ -122.186913000474931, 37.315683000291109 ], [ -122.186592000343168, 37.315546000474022 ], [ -122.186379000374885, 37.315272000396455 ], [ -122.186332999471219, 37.314966000476304 ], [ -122.186281999981873, 37.314864000410644 ], [ -122.186164999839022, 37.314631000897535 ], [ -122.186057999875999, 37.314341000666609 ], [ -122.186175999986645, 37.314041000530388 ], [ -122.186348000124951, 37.313837000709064 ], [ -122.186393999887358, 37.313677000989536 ], [ -122.186287000067992, 37.3134400006277 ], [ -122.186013000033583, 37.313196000710498 ], [ -122.185890000157158, 37.312998000399944 ], [ -122.185874999882842, 37.312822000977199 ], [ -122.185876000063743, 37.312541000962888 ], [ -122.1857989997185, 37.312204001109464 ], [ -122.185570000200656, 37.311670000688906 ], [ -122.185143000210061, 37.311092000756034 ], [ -122.184562999982532, 37.310527001024099 ], [ -122.18384599970652, 37.310039000610558 ], [ -122.183190000434138, 37.309795000788533 ], [ -122.182319999815746, 37.309528000384631 ], [ -122.181755000268922, 37.309566000626148 ], [ -122.181160000456032, 37.309795001133907 ], [ -122.180733000420219, 37.310138000883754 ], [ -122.180336000014847, 37.310657000323445 ], [ -122.179710999979633, 37.31131300023717 ], [ -122.178963000470674, 37.311755000762055 ], [ -122.178382999910795, 37.312007000395205 ], [ -122.177619999706792, 37.312381000529939 ], [ -122.176990000100901, 37.312626000865933 ], [ -122.176856999822192, 37.312678000626292 ], [ -122.176184999903299, 37.312777000657974 ], [ -122.175874999623275, 37.312741001012085 ], [ -122.175436999584704, 37.312800000972487 ], [ -122.17447599954923, 37.31277000108291 ], [ -122.174274999592782, 37.31274200103379 ], [ -122.173773999976461, 37.31264000043624 ], [ -122.173011000273533, 37.312434000263011 ], [ -122.17208000028873, 37.312244000894523 ], [ -122.171470000008853, 37.312175000420652 ], [ -122.171179999473949, 37.312114001028768 ], [ -122.170813999486228, 37.311977000289872 ], [ -122.170600000052943, 37.311732000815617 ], [ -122.17060000051471, 37.31148800081484 ], [ -122.170477999648071, 37.311229000430195 ], [ -122.170097000331552, 37.310893000486075 ], [ -122.169562999798771, 37.310519001058843 ], [ -122.169195999798589, 37.310283000732603 ], [ -122.168891000034094, 37.309978000379978 ], [ -122.168775000471584, 37.309542000411589 ], [ -122.168830000323055, 37.309047000769219 ], [ -122.168616999527984, 37.308513000962087 ], [ -122.168234999749274, 37.307803000291692 ], [ -122.167868999567531, 37.30742900031327 ], [ -122.167548000492459, 37.307101000838578 ], [ -122.167289000433044, 37.306720000814749 ], [ -122.16702999967309, 37.306201000346356 ], [ -122.166587000134982, 37.305614000363242 ], [ -122.166174999548176, 37.305423000952288 ], [ -122.165595000398483, 37.305507001109135 ], [ -122.164970000394248, 37.305530000610283 ], [ -122.164694999911092, 37.305484000828969 ], [ -122.164314000001781, 37.305217001078027 ], [ -122.163886000293843, 37.304851000393256 ], [ -122.163505000386863, 37.304675000434358 ], [ -122.162874999628869, 37.304542001094269 ], [ -122.162675000370825, 37.304442000537826 ], [ -122.162330000472622, 37.304413000989676 ], [ -122.162269000438911, 37.304408001041644 ], [ -122.162070000426851, 37.304233000776073 ], [ -122.162177000302265, 37.304050000402071 ], [ -122.16237500029662, 37.303642000291369 ], [ -122.162604999997129, 37.303294000659413 ], [ -122.162665999823275, 37.303043000263933 ], [ -122.162665999695605, 37.302737001037173 ], [ -122.16280299961528, 37.302364000466021 ], [ -122.163075000062932, 37.302042000433815 ], [ -122.163168999643489, 37.301967000460643 ], [ -122.163535000227867, 37.301662000439997 ], [ -122.163626999462508, 37.301479000777654 ], [ -122.163627000474534, 37.30125700025075 ], [ -122.163352000013646, 37.301082000351762 ], [ -122.162879000066155, 37.300960000780556 ], [ -122.162671999515482, 37.300904000699163 ], [ -122.162775000341881, 37.300803000653275 ], [ -122.162726999579718, 37.300731000243076 ], [ -122.162954999922178, 37.300510000507586 ], [ -122.163352000304144, 37.300128000611487 ], [ -122.163779000079174, 37.299487000293546 ], [ -122.16390199964907, 37.299220000619883 ], [ -122.164038999701688, 37.298839000465755 ], [ -122.164297999910673, 37.298595000359164 ], [ -122.16483200001413, 37.298267000238333 ], [ -122.165137999647214, 37.297992000924111 ], [ -122.165274999436846, 37.297642001002188 ], [ -122.165305000201457, 37.297267000292571 ], [ -122.165260000411706, 37.296489000739697 ], [ -122.16537500028474, 37.296342000287886 ], [ -122.16542700000501, 37.296161000995625 ], [ -122.165747999831169, 37.295856000797684 ], [ -122.166080000312718, 37.295651000640717 ], [ -122.166290999584845, 37.295526000317516 ], [ -122.166532000397382, 37.29536000105405 ], [ -122.166703000160652, 37.295282000675478 ], [ -122.166838000052977, 37.295237000954657 ], [ -122.166542000348258, 37.295171000510408 ], [ -122.166291000402524, 37.295084000676148 ], [ -122.166089999730843, 37.295028001082073 ], [ -122.165736999472202, 37.294872000574273 ], [ -122.165641000354853, 37.294864001087191 ], [ -122.163874999962275, 37.294142001066952 ], [ -122.163657000010957, 37.294032000428238 ], [ -122.163428999556302, 37.293941000839581 ], [ -122.163180000170826, 37.29384500025342 ], [ -122.163067000337094, 37.294020000384883 ], [ -122.163291000026788, 37.294139000557784 ], [ -122.163372000151682, 37.294200000271218 ], [ -122.163365000165214, 37.294372001130832 ], [ -122.163114000119748, 37.294198000432218 ], [ -122.162853000456366, 37.294040000841882 ], [ -122.162652000023655, 37.293941000868919 ], [ -122.162510999790229, 37.293829001006401 ], [ -122.162310000177712, 37.293694000550268 ], [ -122.161963999753894, 37.293567000363232 ], [ -122.161841999764093, 37.293536000860513 ], [ -122.16170600005573, 37.293421000533463 ], [ -122.161460000268448, 37.293277000579586 ], [ -122.161193000474739, 37.293036000626763 ], [ -122.160635999806189, 37.293193000733631 ], [ -122.160575000106249, 37.293242000266225 ], [ -122.160147999542701, 37.293391000936566 ], [ -122.160727999849129, 37.293376000779787 ], [ -122.160941999398005, 37.293394000602596 ], [ -122.160298999792218, 37.293526000952838 ], [ -122.159644999472064, 37.293597000446262 ], [ -122.159273000168014, 37.293421000307475 ], [ -122.159082000507226, 37.293334000402638 ], [ -122.158790999606509, 37.293245000501635 ], [ -122.158428999976366, 37.293077000867044 ], [ -122.158226000004674, 37.29289100037343 ], [ -122.158068000404825, 37.292835000979643 ], [ -122.15674499973872, 37.291911000374277 ], [ -122.15398300041953, 37.290172000357707 ], [ -122.153387999868343, 37.289699000615926 ], [ -122.153143999567135, 37.289363000904096 ], [ -122.152875000215161, 37.288942000807523 ], [ -122.152701999927316, 37.288425000731394 ], [ -122.152549000477279, 37.287807000557741 ], [ -122.152487999950054, 37.287196000984025 ], [ -122.152487999392562, 37.28661600096995 ], [ -122.15248699992992, 37.286340000670521 ], [ -122.152514000161247, 37.285586000883754 ], [ -122.152474999975979, 37.282042000817903 ], [ -122.152474999674567, 37.281442000634442 ], [ -122.152475000455127, 37.273143000802541 ], [ -122.152475000254171, 37.271843000970513 ], [ -122.152574999490994, 37.259943000666176 ], [ -122.152670000445411, 37.249975000449915 ], [ -122.152677000166165, 37.249943000235106 ], [ -122.152675000378252, 37.248943000389026 ], [ -122.152674999929772, 37.248879000714616 ], [ -122.152674999868864, 37.247643000734499 ], [ -122.152675000025823, 37.244543000230763 ], [ -122.152663999493512, 37.24441800028432 ], [ -122.152374999519296, 37.241143000972578 ], [ -122.152175000200643, 37.2398880006468 ], [ -122.152156000200463, 37.239769000561445 ], [ -122.151710999411065, 37.233535000360995 ], [ -122.151453999624849, 37.229936000257624 ], [ -122.15146600037157, 37.229815001005704 ], [ -122.15164699940415, 37.228044000850083 ], [ -122.151668000211615, 37.227838000832854 ], [ -122.152275000002206, 37.225144000749438 ], [ -122.152974999859239, 37.222444000973987 ], [ -122.152875000041732, 37.220044000939652 ], [ -122.15287500040661, 37.216244000828944 ], [ -122.152853000367799, 37.216068000714372 ], [ -122.152774999445398, 37.215444000970152 ], [ -122.155034000072249, 37.21544400084823 ], [ -122.15517499997037, 37.215444000719152 ] ] ], [ [ [ -122.335132999856071, 37.107502000384102 ], [ -122.335484000331093, 37.107388000788475 ], [ -122.335407999718029, 37.1072890002321 ], [ -122.335408000517731, 37.107182001068949 ], [ -122.335758999942186, 37.107121000844145 ], [ -122.335957000388674, 37.107182000489104 ], [ -122.336033000365831, 37.107609000349882 ], [ -122.336171000272486, 37.107731000970205 ], [ -122.336444999669467, 37.107884000410941 ], [ -122.336719999528285, 37.10783800054304 ], [ -122.336917999817544, 37.10770800062987 ], [ -122.337056000213622, 37.107556000434087 ], [ -122.337192999739244, 37.107502000282949 ], [ -122.337330000156911, 37.107502000748575 ], [ -122.337544000364034, 37.10744100109337 ], [ -122.33774200001524, 37.107670000760486 ], [ -122.337879999441043, 37.10777700083824 ], [ -122.338017000366236, 37.107777000514886 ], [ -122.337880000310378, 37.108044000289013 ], [ -122.337681000130956, 37.108227000927329 ], [ -122.337681000247869, 37.108334000991867 ], [ -122.33787999976964, 37.108212000569331 ], [ -122.338154000145948, 37.108105000595195 ], [ -122.338016999416126, 37.108494000934648 ], [ -122.337681000297607, 37.108555000562021 ], [ -122.337681000407485, 37.10866200062069 ], [ -122.337819000225622, 37.108670000716963 ], [ -122.337818999408626, 37.108883000259141 ], [ -122.337956000226569, 37.108876000566468 ], [ -122.338093000180208, 37.108754000641021 ], [ -122.338231000044885, 37.108754000245916 ], [ -122.338505000464906, 37.108815000650267 ], [ -122.338642999763593, 37.108937001095349 ], [ -122.338916999454824, 37.109043000730175 ], [ -122.339054999620984, 37.109211000547475 ], [ -122.33856600028345, 37.109265000255718 ], [ -122.338642999870586, 37.109478000243669 ], [ -122.338367999753757, 37.109661000795789 ], [ -122.338092999883173, 37.109707000843201 ], [ -122.337818999926057, 37.109661000747032 ], [ -122.337605000465786, 37.109661000656075 ], [ -122.337406999515409, 37.109486000661157 ], [ -122.337329999859648, 37.109257000762817 ], [ -122.337269000489215, 37.109051000474082 ], [ -122.336918000099388, 37.108982001088627 ], [ -122.33664399948502, 37.108822000590216 ], [ -122.33650599949884, 37.108830000951535 ], [ -122.336231999532856, 37.108883000837274 ], [ -122.336093999453965, 37.108883000706072 ], [ -122.335957000336748, 37.108769001120976 ], [ -122.335895999430562, 37.108654001042652 ], [ -122.335820000401597, 37.108364001046176 ], [ -122.335682000484667, 37.108219000555401 ], [ -122.335407999878967, 37.108166000861623 ], [ -122.335407999973626, 37.108052000459821 ], [ -122.335208999677832, 37.107838000700205 ], [ -122.335208999651798, 37.107731000642005 ], [ -122.335132999856071, 37.107502000384102 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 336, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.165274999829677, 37.455238001125693 ], [ -122.166674999938422, 37.456038001110954 ], [ -122.16607500036865, 37.457438000506933 ], [ -122.165674999768086, 37.458138000456294 ], [ -122.165275000394715, 37.459038000809684 ], [ -122.164774999680787, 37.459838000393098 ], [ -122.164708000153993, 37.459972000670959 ], [ -122.1640749999777, 37.461238000832033 ], [ -122.163474999760879, 37.46243800075959 ], [ -122.164626999841943, 37.462912000951803 ], [ -122.165174999962176, 37.463138000895626 ], [ -122.164575000446149, 37.464238000700675 ], [ -122.161176000219285, 37.463148000448392 ], [ -122.159274999970549, 37.462538000661866 ], [ -122.158774999522564, 37.463238001073485 ], [ -122.158226999869669, 37.463622000305769 ], [ -122.157775000240207, 37.463938000425209 ], [ -122.157274999650724, 37.465138000819536 ], [ -122.156774999519101, 37.466038001017459 ], [ -122.156374999646687, 37.466738000265707 ], [ -122.156043000297615, 37.467236000883013 ], [ -122.155975000385482, 37.467338000918744 ], [ -122.155432000490535, 37.468483000768202 ], [ -122.155167999442583, 37.469125000593984 ], [ -122.154574999595042, 37.46873800090323 ], [ -122.154327000348246, 37.468570000932864 ], [ -122.152974999786494, 37.467738001091519 ], [ -122.152693000064602, 37.467571000522504 ], [ -122.150774999545533, 37.466438000494307 ], [ -122.150856000204712, 37.466191000947553 ], [ -122.15107500007008, 37.465638000750189 ], [ -122.15117500030793, 37.465138000724977 ], [ -122.151274999761682, 37.464838000245742 ], [ -122.15157500035572, 37.463838001047797 ], [ -122.151575000122108, 37.463038000316388 ], [ -122.151875000191509, 37.461638000419278 ], [ -122.152274999550414, 37.460638000819465 ], [ -122.152374999948051, 37.460238001018084 ], [ -122.152398999804191, 37.460140000272993 ], [ -122.152574999689662, 37.459438001057883 ], [ -122.152675000107635, 37.458938000959591 ], [ -122.152874999716403, 37.458138000284109 ], [ -122.153775000012601, 37.456738000725387 ], [ -122.153517000202029, 37.456600000774039 ], [ -122.153650000139351, 37.456450000232579 ], [ -122.154014000063583, 37.456038000305824 ], [ -122.15435000022967, 37.455802000589074 ], [ -122.154639000066695, 37.455779000956923 ], [ -122.155433000365932, 37.455764000442976 ], [ -122.155437000356429, 37.455760000907595 ], [ -122.155445999962126, 37.455754000958891 ], [ -122.155511000427865, 37.455708001011274 ], [ -122.15561600025201, 37.455634000748717 ], [ -122.15560100034476, 37.455443000737404 ], [ -122.155618999710967, 37.455310000285657 ], [ -122.15544799995962, 37.455085000707392 ], [ -122.155433999645581, 37.455073001056697 ], [ -122.155280000387592, 37.454642000705306 ], [ -122.155447999540826, 37.454284000810546 ], [ -122.155737999826627, 37.454093000655305 ], [ -122.156027999976416, 37.454085000456203 ], [ -122.156471000259302, 37.454207000745804 ], [ -122.156791000208173, 37.454177000891832 ], [ -122.156943999910339, 37.454024000735409 ], [ -122.157111000118178, 37.453757000383042 ], [ -122.157474999580643, 37.453538000533122 ], [ -122.15777499959944, 37.453538000993298 ], [ -122.157995999748096, 37.453582000493647 ], [ -122.158475000441541, 37.453638000688684 ], [ -122.158590999673279, 37.453803000925788 ], [ -122.158744000377951, 37.45413100106235 ], [ -122.15892700028229, 37.454459000885365 ], [ -122.159277999613423, 37.454627000442422 ], [ -122.159775000031772, 37.454638001061461 ], [ -122.16025500006684, 37.454574001091679 ], [ -122.160392000395134, 37.454391000359536 ], [ -122.160417000229103, 37.454315000533121 ], [ -122.160501999819886, 37.45405200059421 ], [ -122.160777000458793, 37.453625000385671 ], [ -122.161169999636812, 37.453574000858488 ], [ -122.16163100022834, 37.453640000670156 ], [ -122.162089000434165, 37.453808001037174 ], [ -122.162374999647099, 37.453938001092247 ], [ -122.162775000505107, 37.454038000986429 ], [ -122.163974999780422, 37.454638000948826 ], [ -122.165274999829677, 37.455238001125693 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 340, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.193475999941839, 37.459038000359506 ], [ -122.194476000509667, 37.459338000508623 ], [ -122.195633999821425, 37.459879000728023 ], [ -122.195335999392839, 37.46023000071169 ], [ -122.195326000072995, 37.460260000735644 ], [ -122.19389000009015, 37.462015001102998 ], [ -122.19377600044966, 37.46213800111893 ], [ -122.193276000405518, 37.46185700111419 ], [ -122.192175999473235, 37.461238000299765 ], [ -122.190776000221319, 37.462838000449956 ], [ -122.189278999943056, 37.464336000840412 ], [ -122.18887599983168, 37.464738000984148 ], [ -122.188576000060479, 37.464438000581097 ], [ -122.188056000066823, 37.464178000425477 ], [ -122.186175999608665, 37.463238000854425 ], [ -122.186383000214192, 37.462908000500128 ], [ -122.187366999468679, 37.461696000485198 ], [ -122.188476000094923, 37.46023800065349 ], [ -122.187776000143245, 37.460038000589769 ], [ -122.186775999416724, 37.459738000635383 ], [ -122.185076000173311, 37.45883800082516 ], [ -122.183675999407001, 37.458038000793458 ], [ -122.183311000293017, 37.457878000518349 ], [ -122.180295000145108, 37.461320000400448 ], [ -122.179274999985822, 37.46073800079926 ], [ -122.17947500024421, 37.460338000338432 ], [ -122.178328999768141, 37.459806000523528 ], [ -122.176674999679719, 37.459038000754582 ], [ -122.176374999745534, 37.459438000809939 ], [ -122.175274999867099, 37.460538001087272 ], [ -122.173974999671927, 37.459738000496344 ], [ -122.171965999852702, 37.458801001004652 ], [ -122.171365999690565, 37.458521000653533 ], [ -122.169925000378882, 37.457848000634449 ], [ -122.169475000236901, 37.457638001017834 ], [ -122.168675000042811, 37.457038000592583 ], [ -122.16747500050441, 37.456238000269764 ], [ -122.166674999938422, 37.456038001110954 ], [ -122.165274999829677, 37.455238001125693 ], [ -122.163974999780422, 37.454638000948826 ], [ -122.162775000505107, 37.454038000986429 ], [ -122.162374999647099, 37.453938001092247 ], [ -122.162623999862575, 37.453850000460442 ], [ -122.162796000232916, 37.453531000656547 ], [ -122.162988000412952, 37.453126000354438 ], [ -122.163032000483511, 37.453071000735243 ], [ -122.163382999951892, 37.452689000563559 ], [ -122.163731999879204, 37.452403000426578 ], [ -122.163950999514881, 37.452346001051581 ], [ -122.16427500046413, 37.452438000410417 ], [ -122.164633999775489, 37.452750000509951 ], [ -122.164775000327893, 37.452838000718288 ], [ -122.164975000083956, 37.452838000759506 ], [ -122.165168000394402, 37.452750001013058 ], [ -122.165175000214006, 37.452438000818987 ], [ -122.165351000297392, 37.451537000998378 ], [ -122.165747999417746, 37.450767001091101 ], [ -122.16627499953367, 37.450638001000257 ], [ -122.166495999717313, 37.450774000632144 ], [ -122.167174999422286, 37.45083000047719 ], [ -122.16727499952836, 37.45083800067475 ], [ -122.16762499940404, 37.450538000630004 ], [ -122.167686000414051, 37.450156000402309 ], [ -122.16761000025798, 37.449415000345546 ], [ -122.167608999960891, 37.449401000752296 ], [ -122.167625000224575, 37.448730001111116 ], [ -122.167883999869844, 37.448318001036341 ], [ -122.168775000161006, 37.447538000483128 ], [ -122.168974999419035, 37.447538000890127 ], [ -122.169138000338833, 37.447807001057221 ], [ -122.16923899941051, 37.447847000909931 ], [ -122.169441000004241, 37.447804000389176 ], [ -122.169980000490114, 37.447608000274911 ], [ -122.170775000104854, 37.447438000829045 ], [ -122.17637500033554, 37.450938000884967 ], [ -122.18057499989078, 37.453738000556889 ], [ -122.180875000299366, 37.453538000509781 ], [ -122.181275000203826, 37.453038000489776 ], [ -122.181874999473294, 37.453038000543046 ], [ -122.18317599964584, 37.453638000698703 ], [ -122.184376000057668, 37.454438000264794 ], [ -122.184900999634536, 37.454709000725472 ], [ -122.187475999974055, 37.456038000808277 ], [ -122.190898000294027, 37.457440000529388 ], [ -122.192076000231239, 37.458038000751259 ], [ -122.192576000488287, 37.458538000448847 ], [ -122.193475999941839, 37.459038000359506 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 343, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.191776000012268, 37.442938000553973 ], [ -122.192175999809763, 37.442538000457645 ], [ -122.19267600025897, 37.441938000580663 ], [ -122.193176000397969, 37.441238000681587 ], [ -122.193775999528384, 37.440638000721265 ], [ -122.193975999487321, 37.440238000777008 ], [ -122.194875999745889, 37.439238000425028 ], [ -122.195075999528854, 37.438938000842732 ], [ -122.195475999817489, 37.438438000270757 ], [ -122.19627600035723, 37.438738000637301 ], [ -122.19707599939197, 37.439038001001805 ], [ -122.197576000106551, 37.439438000835615 ], [ -122.197876000499278, 37.439638000394261 ], [ -122.198475999936051, 37.439938000260717 ], [ -122.19917600018178, 37.440338001060034 ], [ -122.199415999852988, 37.440458000720078 ], [ -122.2001759999021, 37.440838000800326 ], [ -122.199375999761344, 37.441638000394342 ], [ -122.199075999414418, 37.442138000316277 ], [ -122.197776000072608, 37.443638001010854 ], [ -122.197176000183418, 37.444338000770294 ], [ -122.196680999874602, 37.445004000934077 ], [ -122.195975999731488, 37.445838001105734 ], [ -122.195390000413084, 37.446724000270223 ], [ -122.194939999617674, 37.447306001101133 ], [ -122.192976000429553, 37.449638000703786 ], [ -122.192176000097717, 37.450538000380348 ], [ -122.191775999865044, 37.450938000635695 ], [ -122.189876000132458, 37.450138000479363 ], [ -122.188976000426734, 37.4497380004238 ], [ -122.187175999574904, 37.448638000392201 ], [ -122.188132000059724, 37.44751300057812 ], [ -122.188486000369352, 37.44697200110398 ], [ -122.188676000460177, 37.44673800071201 ], [ -122.187399000435917, 37.446064000461689 ], [ -122.186685999906473, 37.445688000673215 ], [ -122.185972999727781, 37.445312001103076 ], [ -122.185075999574494, 37.444838001055757 ], [ -122.184575999841059, 37.444538000623105 ], [ -122.18447600033268, 37.444138000358798 ], [ -122.183176000269199, 37.443438001002285 ], [ -122.182775999905189, 37.443838000956795 ], [ -122.182475999577036, 37.44443800072203 ], [ -122.181475000078834, 37.445438001086885 ], [ -122.180775000156018, 37.446338000671581 ], [ -122.179674999472326, 37.445638000793835 ], [ -122.178574999881903, 37.445038000971032 ], [ -122.177474999769117, 37.444438000846425 ], [ -122.176374999473737, 37.443938000779092 ], [ -122.175275000226463, 37.443238000609533 ], [ -122.175419999555189, 37.442767001070514 ], [ -122.175595999558183, 37.442194000752323 ], [ -122.175675000207477, 37.44193800026062 ], [ -122.176134999797711, 37.441764000301767 ], [ -122.176228999814271, 37.441729000774224 ], [ -122.17662899986091, 37.441734000905349 ], [ -122.176952999609952, 37.441424000768286 ], [ -122.177475000229833, 37.441138000859411 ], [ -122.177893999553575, 37.441077000380986 ], [ -122.178625000110628, 37.441025000269967 ], [ -122.178855000352982, 37.441009000485849 ], [ -122.179342999578267, 37.441070000726469 ], [ -122.179664000423401, 37.441039000869118 ], [ -122.179674999670212, 37.440838001046075 ], [ -122.179775000207201, 37.440738000612328 ], [ -122.179574999625871, 37.440038001093725 ], [ -122.179974999730277, 37.439638000888515 ], [ -122.180575000083294, 37.439838000717977 ], [ -122.181175000297898, 37.440138000664483 ], [ -122.182475999418827, 37.440738000566199 ], [ -122.184476000486285, 37.441838000505015 ], [ -122.185075999907255, 37.441038000960475 ], [ -122.185625999537763, 37.440488000552413 ], [ -122.186176000092871, 37.43993800110637 ], [ -122.191776000012268, 37.442938000553973 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 344, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.193975999487321, 37.440238000777008 ], [ -122.193775999528384, 37.440638000721265 ], [ -122.193176000397969, 37.441238000681587 ], [ -122.19267600025897, 37.441938000580663 ], [ -122.192175999809763, 37.442538000457645 ], [ -122.191776000012268, 37.442938000553973 ], [ -122.186176000092871, 37.43993800110637 ], [ -122.185625999537763, 37.440488000552413 ], [ -122.185075999907255, 37.441038000960475 ], [ -122.184476000486285, 37.441838000505015 ], [ -122.182475999418827, 37.440738000566199 ], [ -122.181175000297898, 37.440138000664483 ], [ -122.180575000083294, 37.439838000717977 ], [ -122.179974999730277, 37.439638000888515 ], [ -122.180474999761259, 37.439138000913609 ], [ -122.181067999396163, 37.439269000803087 ], [ -122.181524999576666, 37.439490000588449 ], [ -122.181975999970234, 37.43953800031376 ], [ -122.182122000194624, 37.439490000622179 ], [ -122.182517999765466, 37.439025000878118 ], [ -122.182731999687164, 37.438277000427043 ], [ -122.18283899987162, 37.43775100096785 ], [ -122.183007000447887, 37.437270000299243 ], [ -122.183295999566766, 37.437003000772478 ], [ -122.183419000304312, 37.436744000704238 ], [ -122.1833730002312, 37.43639300098431 ], [ -122.183276000140538, 37.436138000687606 ], [ -122.183356999979409, 37.435933000661727 ], [ -122.183475999524759, 37.435638000760804 ], [ -122.183638000097773, 37.435149000393743 ], [ -122.183675999470722, 37.435038000795302 ], [ -122.184775999508176, 37.433839000750247 ], [ -122.185264999753144, 37.43364700062417 ], [ -122.185859999533989, 37.433517000786786 ], [ -122.186592000130645, 37.433365000492358 ], [ -122.187157000278859, 37.433228000455152 ], [ -122.187475999690363, 37.433139000282679 ], [ -122.187675999468553, 37.433039000690194 ], [ -122.18797599962268, 37.433039000682129 ], [ -122.188376000414692, 37.432139000493088 ], [ -122.188676000210393, 37.431839000388401 ], [ -122.188975999649386, 37.431739000778528 ], [ -122.18938499952128, 37.431625000935242 ], [ -122.189887999959822, 37.431503000883374 ], [ -122.190361000415166, 37.431297000672863 ], [ -122.190376000081798, 37.431239000369644 ], [ -122.190575999633396, 37.431039000538306 ], [ -122.190604999969935, 37.430977000326294 ], [ -122.190498999719907, 37.430557000820258 ], [ -122.190376000311147, 37.43023900091363 ], [ -122.190275999909403, 37.429939000716189 ], [ -122.19007600024969, 37.428939000881599 ], [ -122.189876000234548, 37.428339000689078 ], [ -122.189834999952737, 37.428189000297287 ], [ -122.190475999558771, 37.428439000975551 ], [ -122.191275999642983, 37.428739000818702 ], [ -122.19207599961635, 37.429239000276326 ], [ -122.194375999490234, 37.430439000982034 ], [ -122.195176000317744, 37.430739000649105 ], [ -122.19587600040677, 37.43123900107036 ], [ -122.196075999754399, 37.432238000523093 ], [ -122.196804000075389, 37.432157000239783 ], [ -122.196976000374477, 37.432138001112563 ], [ -122.19716499968132, 37.432327000906845 ], [ -122.197275999953149, 37.432438000262842 ], [ -122.197575999511145, 37.432138000846223 ], [ -122.198876000165882, 37.432838000544081 ], [ -122.199776000453426, 37.433238000411023 ], [ -122.200176000024697, 37.433338000825309 ], [ -122.200976000121628, 37.433738000786079 ], [ -122.201776000177048, 37.434238000535238 ], [ -122.202076000362737, 37.434438000373071 ], [ -122.202676000451618, 37.434738000691667 ], [ -122.203575999672907, 37.435138000535666 ], [ -122.204476000092484, 37.43563800053947 ], [ -122.203933000424243, 37.436182000698508 ], [ -122.203776000241106, 37.436338000405605 ], [ -122.203376000003971, 37.436938000471699 ], [ -122.203176000270517, 37.437138001126186 ], [ -122.202775999869544, 37.437538000476714 ], [ -122.202375999747346, 37.438038000854533 ], [ -122.202258999703943, 37.43818500068523 ], [ -122.201975999908257, 37.438538000714459 ], [ -122.201776000049009, 37.438738000709741 ], [ -122.201576000342584, 37.439038000957765 ], [ -122.200939000318598, 37.439905000536399 ], [ -122.2001759999021, 37.440838000800326 ], [ -122.199415999852988, 37.440458000720078 ], [ -122.19917600018178, 37.440338001060034 ], [ -122.198475999936051, 37.439938000260717 ], [ -122.197876000499278, 37.439638000394261 ], [ -122.197576000106551, 37.439438000835615 ], [ -122.19707599939197, 37.439038001001805 ], [ -122.19627600035723, 37.438738000637301 ], [ -122.195475999817489, 37.438438000270757 ], [ -122.195075999528854, 37.438938000842732 ], [ -122.194875999745889, 37.439238000425028 ], [ -122.193975999487321, 37.440238000777008 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 345, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.203933000424243, 37.436182000698508 ], [ -122.204476000092484, 37.43563800053947 ], [ -122.203575999672907, 37.435138000535666 ], [ -122.202676000451618, 37.434738000691667 ], [ -122.202076000362737, 37.434438000373071 ], [ -122.201776000177048, 37.434238000535238 ], [ -122.200976000121628, 37.433738000786079 ], [ -122.200176000024697, 37.433338000825309 ], [ -122.199776000453426, 37.433238000411023 ], [ -122.198876000165882, 37.432838000544081 ], [ -122.197575999511145, 37.432138000846223 ], [ -122.197275999953149, 37.432438000262842 ], [ -122.19716499968132, 37.432327000906845 ], [ -122.196976000374477, 37.432138001112563 ], [ -122.196804000075389, 37.432157000239783 ], [ -122.196075999754399, 37.432238000523093 ], [ -122.19587600040677, 37.43123900107036 ], [ -122.195176000317744, 37.430739000649105 ], [ -122.194375999490234, 37.430439000982034 ], [ -122.19207599961635, 37.429239000276326 ], [ -122.191275999642983, 37.428739000818702 ], [ -122.190475999558771, 37.428439000975551 ], [ -122.190821999975242, 37.427939000461642 ], [ -122.191376000305723, 37.427139001034547 ], [ -122.191875999795343, 37.42623900028476 ], [ -122.192476000310734, 37.425639000398519 ], [ -122.192575999459166, 37.425539000405017 ], [ -122.193050999604509, 37.425262000266024 ], [ -122.193776000081428, 37.424839000386122 ], [ -122.194676000316534, 37.424239000436096 ], [ -122.19557599970851, 37.423639000707787 ], [ -122.197276000024814, 37.424339000357435 ], [ -122.197392000509296, 37.424804001108711 ], [ -122.197475999555607, 37.42513900109013 ], [ -122.198076000258069, 37.425839000948983 ], [ -122.199575999751005, 37.426739000285032 ], [ -122.200676000383226, 37.427639000314755 ], [ -122.200675999647217, 37.428539000997688 ], [ -122.201087000243916, 37.428770000727098 ], [ -122.202275999670519, 37.429439000501269 ], [ -122.202976000407162, 37.429839000751656 ], [ -122.203774000199175, 37.429222000822875 ], [ -122.2043299994412, 37.428961000716676 ], [ -122.204375999496662, 37.428939000923712 ], [ -122.204575999815916, 37.429339000766731 ], [ -122.204658000051751, 37.429394000669269 ], [ -122.204875999489985, 37.429539000808802 ], [ -122.205275999541641, 37.429838000342286 ], [ -122.205675999980002, 37.430038000956273 ], [ -122.205975999899337, 37.429838000503942 ], [ -122.206076000422613, 37.429738000824365 ], [ -122.208275999606897, 37.430138000484227 ], [ -122.208555999656852, 37.43027800100198 ], [ -122.208875999705668, 37.430438001041004 ], [ -122.209876000272814, 37.429938000468084 ], [ -122.210675999733937, 37.429638000600427 ], [ -122.211776000026546, 37.429638000350032 ], [ -122.212012999413375, 37.430824000460326 ], [ -122.212076000039232, 37.431138000850652 ], [ -122.212091999913397, 37.431143000959125 ], [ -122.212278999563992, 37.431147000959761 ], [ -122.212431999939625, 37.431193000800221 ], [ -122.212600000476144, 37.431269001008943 ], [ -122.212732999466709, 37.431331000567234 ], [ -122.212824999711259, 37.431363000266956 ], [ -122.212983999711739, 37.431400000564835 ], [ -122.213127999404833, 37.431404000442505 ], [ -122.213255000404516, 37.431386000306389 ], [ -122.213326999610686, 37.431340000252831 ], [ -122.213385000437924, 37.43126200084123 ], [ -122.213401999864715, 37.431239000529011 ], [ -122.213421000500418, 37.431210000593694 ], [ -122.213429000459982, 37.431168001122231 ], [ -122.213430999489589, 37.431123000766284 ], [ -122.213407000268845, 37.431053000485157 ], [ -122.21334899963486, 37.430988000873995 ], [ -122.213266999669571, 37.430966001072534 ], [ -122.213179000373657, 37.430955001072853 ], [ -122.213075000186791, 37.430931000602214 ], [ -122.212993000427957, 37.430905000399811 ], [ -122.212941000003568, 37.430881000806188 ], [ -122.212910999969452, 37.430855000662874 ], [ -122.212886000158846, 37.430803000879294 ], [ -122.212877999673154, 37.430774000592969 ], [ -122.212850000017923, 37.43069600107458 ], [ -122.212836999951406, 37.430657000308997 ], [ -122.212807000282751, 37.430600000745677 ], [ -122.213589000237974, 37.43038600108288 ], [ -122.213941999468304, 37.43026100026924 ], [ -122.214366000091843, 37.430050000637834 ], [ -122.21456400014614, 37.42989500079112 ], [ -122.214976000306976, 37.429538000621768 ], [ -122.215776000096966, 37.428538000635221 ], [ -122.215875999718975, 37.427938000821477 ], [ -122.21667599955093, 37.42783800055485 ], [ -122.216880000485418, 37.427813001134638 ], [ -122.216899999652313, 37.428087000575481 ], [ -122.216731000160564, 37.428575000448042 ], [ -122.216775999807822, 37.429038000375527 ], [ -122.21397599945854, 37.431938000543134 ], [ -122.214675999721308, 37.432438001029837 ], [ -122.212975999906007, 37.433338000273174 ], [ -122.212625000061536, 37.434567000967775 ], [ -122.212576000104846, 37.434738000347352 ], [ -122.213376000290467, 37.435238000325221 ], [ -122.212275999551593, 37.436738000637959 ], [ -122.211075999688063, 37.438238000506566 ], [ -122.210375999520565, 37.437938001121566 ], [ -122.209595999597028, 37.43859800084887 ], [ -122.207937000476647, 37.440002000463402 ], [ -122.207776000476002, 37.440138000991546 ], [ -122.207075999464621, 37.439838001054589 ], [ -122.206772999829695, 37.440202001072677 ], [ -122.206576000107376, 37.440438000507719 ], [ -122.205575999965518, 37.439938000630725 ], [ -122.205576000390536, 37.440638000368395 ], [ -122.204075999861629, 37.439238000620684 ], [ -122.203176000104449, 37.438838000999674 ], [ -122.202975999441335, 37.439338000338161 ], [ -122.201776000049009, 37.438738000709741 ], [ -122.201975999908257, 37.438538000714459 ], [ -122.202258999703943, 37.43818500068523 ], [ -122.202375999747346, 37.438038000854533 ], [ -122.202775999869544, 37.437538000476714 ], [ -122.203176000270517, 37.437138001126186 ], [ -122.203376000003971, 37.436938000471699 ], [ -122.203776000241106, 37.436338000405605 ], [ -122.203933000424243, 37.436182000698508 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 346, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.190976000249705, 37.424139000389104 ], [ -122.190776000358994, 37.423939000806875 ], [ -122.190253999875424, 37.423454000978737 ], [ -122.190075999913518, 37.423339000826218 ], [ -122.189780999722259, 37.423111000611463 ], [ -122.189275999698026, 37.422839000329532 ], [ -122.188275999444684, 37.421939000732827 ], [ -122.188271999528155, 37.4219160004385 ], [ -122.188176000034247, 37.421239000626471 ], [ -122.188107999670223, 37.42085300070795 ], [ -122.187876000429199, 37.419539000913879 ], [ -122.188025999749996, 37.419389000256778 ], [ -122.188575999610393, 37.418839000384096 ], [ -122.189275999529656, 37.418639000794201 ], [ -122.1897359994271, 37.418602001045137 ], [ -122.190269999529761, 37.418442000891119 ], [ -122.190299999891067, 37.418137000235461 ], [ -122.190250999987867, 37.418045000365467 ], [ -122.190025999539742, 37.417618000246541 ], [ -122.189775999965505, 37.417339000375215 ], [ -122.18977600034107, 37.417239000392662 ], [ -122.18923200023653, 37.417000000678129 ], [ -122.188439000489751, 37.416801000460836 ], [ -122.188176000461382, 37.416739000336037 ], [ -122.187276000512753, 37.416439000618965 ], [ -122.187176000028032, 37.416239000852485 ], [ -122.187532000151364, 37.414903000757008 ], [ -122.187575999999808, 37.41473900041192 ], [ -122.188920999513257, 37.414457000611101 ], [ -122.191876000051451, 37.41383900069512 ], [ -122.191896999437574, 37.413817000624157 ], [ -122.192076000466287, 37.413639001112479 ], [ -122.192375999652469, 37.413339001071925 ], [ -122.193076000454653, 37.412539000550311 ], [ -122.194176000271014, 37.412439000555963 ], [ -122.196273000038886, 37.412739000244542 ], [ -122.196975999440127, 37.412839000426914 ], [ -122.199175999812027, 37.410539000274611 ], [ -122.20647600042463, 37.412439000646422 ], [ -122.211875999518867, 37.416439000982798 ], [ -122.215476000196261, 37.418539000501298 ], [ -122.217133999784963, 37.418908001099943 ], [ -122.21781199963371, 37.419007000931941 ], [ -122.21823899967336, 37.419026000338086 ], [ -122.218665999423678, 37.419006000993825 ], [ -122.219152999437824, 37.418970000760673 ], [ -122.219580000321997, 37.418931001119404 ], [ -122.22017700027024, 37.41893900055635 ], [ -122.220573999927879, 37.419004000787872 ], [ -122.221177000473645, 37.419139000795624 ], [ -122.221512000028724, 37.419310000903714 ], [ -122.2221489999135, 37.419626000533285 ], [ -122.222718000315297, 37.419929000952493 ], [ -122.225276999798083, 37.421439000881215 ], [ -122.228676999866408, 37.424339000275857 ], [ -122.227277000129774, 37.424339001113403 ], [ -122.224892000005042, 37.42354400058106 ], [ -122.224876999943461, 37.423539000646521 ], [ -122.224346000292499, 37.423981000426011 ], [ -122.224277000220695, 37.424039000614641 ], [ -122.223277000363097, 37.425139000413083 ], [ -122.220101999975469, 37.428389000318909 ], [ -122.219348999888041, 37.42916000033415 ], [ -122.219176000030231, 37.429338000246418 ], [ -122.218576000390598, 37.428238000553776 ], [ -122.217776000106014, 37.428138001080271 ], [ -122.217673000249192, 37.428230000403587 ], [ -122.216775999807822, 37.429038000375527 ], [ -122.216731000160564, 37.428575000448042 ], [ -122.216899999652313, 37.428087000575481 ], [ -122.216880000485418, 37.427813001134638 ], [ -122.21667599955093, 37.42783800055485 ], [ -122.215875999718975, 37.427938000821477 ], [ -122.215776000096966, 37.428538000635221 ], [ -122.214976000306976, 37.429538000621768 ], [ -122.21456400014614, 37.42989500079112 ], [ -122.214366000091843, 37.430050000637834 ], [ -122.213941999468304, 37.43026100026924 ], [ -122.213589000237974, 37.43038600108288 ], [ -122.212807000282751, 37.430600000745677 ], [ -122.212836999951406, 37.430657000308997 ], [ -122.212850000017923, 37.43069600107458 ], [ -122.212877999673154, 37.430774000592969 ], [ -122.212886000158846, 37.430803000879294 ], [ -122.212910999969452, 37.430855000662874 ], [ -122.212941000003568, 37.430881000806188 ], [ -122.212993000427957, 37.430905000399811 ], [ -122.213075000186791, 37.430931000602214 ], [ -122.213179000373657, 37.430955001072853 ], [ -122.213266999669571, 37.430966001072534 ], [ -122.21334899963486, 37.430988000873995 ], [ -122.213407000268845, 37.431053000485157 ], [ -122.213430999489589, 37.431123000766284 ], [ -122.213429000459982, 37.431168001122231 ], [ -122.213421000500418, 37.431210000593694 ], [ -122.213401999864715, 37.431239000529011 ], [ -122.213385000437924, 37.43126200084123 ], [ -122.213326999610686, 37.431340000252831 ], [ -122.213255000404516, 37.431386000306389 ], [ -122.213127999404833, 37.431404000442505 ], [ -122.212983999711739, 37.431400000564835 ], [ -122.212824999711259, 37.431363000266956 ], [ -122.212732999466709, 37.431331000567234 ], [ -122.212600000476144, 37.431269001008943 ], [ -122.212431999939625, 37.431193000800221 ], [ -122.212278999563992, 37.431147000959761 ], [ -122.212091999913397, 37.431143000959125 ], [ -122.212076000039232, 37.431138000850652 ], [ -122.212012999413375, 37.430824000460326 ], [ -122.211776000026546, 37.429638000350032 ], [ -122.210675999733937, 37.429638000600427 ], [ -122.209876000272814, 37.429938000468084 ], [ -122.208875999705668, 37.430438001041004 ], [ -122.208555999656852, 37.43027800100198 ], [ -122.208275999606897, 37.430138000484227 ], [ -122.206076000422613, 37.429738000824365 ], [ -122.205975999899337, 37.429838000503942 ], [ -122.205675999980002, 37.430038000956273 ], [ -122.205275999541641, 37.429838000342286 ], [ -122.204875999489985, 37.429539000808802 ], [ -122.204658000051751, 37.429394000669269 ], [ -122.204575999815916, 37.429339000766731 ], [ -122.204375999496662, 37.428939000923712 ], [ -122.2043299994412, 37.428961000716676 ], [ -122.203774000199175, 37.429222000822875 ], [ -122.202976000407162, 37.429839000751656 ], [ -122.202275999670519, 37.429439000501269 ], [ -122.201087000243916, 37.428770000727098 ], [ -122.200675999647217, 37.428539000997688 ], [ -122.200676000383226, 37.427639000314755 ], [ -122.199575999751005, 37.426739000285032 ], [ -122.198076000258069, 37.425839000948983 ], [ -122.197475999555607, 37.42513900109013 ], [ -122.197392000509296, 37.424804001108711 ], [ -122.197276000024814, 37.424339000357435 ], [ -122.19557599970851, 37.423639000707787 ], [ -122.194676000316534, 37.424239000436096 ], [ -122.193776000081428, 37.424839000386122 ], [ -122.193050999604509, 37.425262000266024 ], [ -122.192575999459166, 37.425539000405017 ], [ -122.192476000310734, 37.425639000398519 ], [ -122.191875999795343, 37.42623900028476 ], [ -122.191376000305723, 37.427139001034547 ], [ -122.190821999975242, 37.427939000461642 ], [ -122.190475999558771, 37.428439000975551 ], [ -122.189834999952737, 37.428189000297287 ], [ -122.189576000470453, 37.427239000501665 ], [ -122.190875999638621, 37.425739000610882 ], [ -122.191078000328432, 37.425591000781225 ], [ -122.191230999901649, 37.425392001115966 ], [ -122.19129199939529, 37.425072000487589 ], [ -122.191154999418941, 37.424670000960695 ], [ -122.191139000423078, 37.424622000718799 ], [ -122.190976000079203, 37.424339001044153 ], [ -122.190976000249705, 37.424139000389104 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 298, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.188276000499911, 37.321141000550178 ], [ -122.188376000516442, 37.321041000820117 ], [ -122.188682999438939, 37.320955000953511 ], [ -122.18972000042011, 37.320437000328425 ], [ -122.190529000361934, 37.319933000298164 ], [ -122.19135300034128, 37.319483000896405 ], [ -122.192161999846036, 37.319094000763187 ], [ -122.192576000289264, 37.318741000654164 ], [ -122.202276000078527, 37.325041000981663 ], [ -122.207579000382069, 37.328479000634516 ], [ -122.211009999581464, 37.330703000645542 ], [ -122.211376999802582, 37.330941000636244 ], [ -122.216977000083261, 37.335041000528108 ], [ -122.217076999477882, 37.33734100028871 ], [ -122.217477000462026, 37.339641000871474 ], [ -122.220176999694687, 37.340941000433645 ], [ -122.220920000272343, 37.341289000949395 ], [ -122.224769000298849, 37.343092000915298 ], [ -122.228076999848824, 37.344641000895848 ], [ -122.231276999691474, 37.34834000070439 ], [ -122.237176999511789, 37.349940000972964 ], [ -122.240876999485195, 37.352540000415736 ], [ -122.242276999912249, 37.353940000415122 ], [ -122.247777999614087, 37.359240000722771 ], [ -122.247744999555906, 37.359370000596869 ], [ -122.247163999887064, 37.361633000332837 ], [ -122.246778000068304, 37.36314000082951 ], [ -122.247677999440995, 37.364940000401511 ], [ -122.247477999522317, 37.36704000082311 ], [ -122.251078000323588, 37.370368001091677 ], [ -122.252777999886291, 37.371940000916929 ], [ -122.253878000192529, 37.372740000743583 ], [ -122.25257800042705, 37.374040000872547 ], [ -122.251077999938971, 37.375425000341309 ], [ -122.249978000170145, 37.376440000675771 ], [ -122.249278000343935, 37.378740000243603 ], [ -122.24867799984068, 37.379340000481598 ], [ -122.247977000116705, 37.37934000025885 ], [ -122.247376999586976, 37.380140001109829 ], [ -122.247776999886611, 37.380440000876284 ], [ -122.247176999631805, 37.381140000471298 ], [ -122.246977000203415, 37.38293900077656 ], [ -122.245677000472256, 37.383939000828043 ], [ -122.245477000010993, 37.384739001084412 ], [ -122.245076999559458, 37.384839000803261 ], [ -122.244477000121819, 37.385039000526952 ], [ -122.242477000127678, 37.386839001026665 ], [ -122.241277000316856, 37.387739000842636 ], [ -122.240477000183432, 37.388439000298753 ], [ -122.239276999893534, 37.389439000838316 ], [ -122.238476999663305, 37.388439000521728 ], [ -122.238010999992625, 37.387766000385561 ], [ -122.23757700021153, 37.38713900023884 ], [ -122.235276999475474, 37.384240001004187 ], [ -122.233976999850881, 37.386739000741095 ], [ -122.233577000392657, 37.386439000676994 ], [ -122.230176999965522, 37.382540000843292 ], [ -122.229477000137265, 37.382440001050981 ], [ -122.228277000252319, 37.381740000464063 ], [ -122.227576999491916, 37.381340000505325 ], [ -122.226177000431903, 37.38034000095697 ], [ -122.224770000013649, 37.381155000246913 ], [ -122.224277000286065, 37.381440000677244 ], [ -122.226277000192042, 37.382440000875356 ], [ -122.227576999563155, 37.383040000758335 ], [ -122.228277000155529, 37.383440000677076 ], [ -122.227877000502872, 37.384240000825464 ], [ -122.226677000495826, 37.385040001095831 ], [ -122.227276999733959, 37.387139000381644 ], [ -122.228376999855882, 37.387539000655742 ], [ -122.229577000219706, 37.389939000308125 ], [ -122.234277000354055, 37.394339000510946 ], [ -122.234377000337275, 37.39743900040591 ], [ -122.235376999596667, 37.397239000230833 ], [ -122.235276999720114, 37.398039000988888 ], [ -122.236376999529583, 37.397939000665779 ], [ -122.236477000480889, 37.39913900099782 ], [ -122.23717699969076, 37.399339000975431 ], [ -122.237177000202834, 37.39963900092102 ], [ -122.237276999687623, 37.399839000924977 ], [ -122.237542000140536, 37.399935000564334 ], [ -122.238376999713978, 37.400239000359782 ], [ -122.238677000067568, 37.40043900109017 ], [ -122.241676999694405, 37.400939000309073 ], [ -122.245076999921196, 37.402139000903254 ], [ -122.244577000145966, 37.40403900081732 ], [ -122.245576999666824, 37.407839000849151 ], [ -122.24227699989639, 37.410139000249991 ], [ -122.241277000459561, 37.411139000620658 ], [ -122.240877000105755, 37.411639001061886 ], [ -122.242586999599126, 37.416051000253304 ], [ -122.24397699971226, 37.419639000305303 ], [ -122.240277000372032, 37.42133900033474 ], [ -122.237776999483984, 37.420039000383049 ], [ -122.23684700030816, 37.421093000493016 ], [ -122.233277000422035, 37.42513800085554 ], [ -122.230877000487041, 37.424339000742314 ], [ -122.229977000227763, 37.424239001075037 ], [ -122.229477000296072, 37.424239000475154 ], [ -122.228676999866408, 37.424339000275857 ], [ -122.225276999798083, 37.421439000881215 ], [ -122.222718000315297, 37.419929000952493 ], [ -122.2221489999135, 37.419626000533285 ], [ -122.221512000028724, 37.419310000903714 ], [ -122.221177000473645, 37.419139000795624 ], [ -122.220573999927879, 37.419004000787872 ], [ -122.22017700027024, 37.41893900055635 ], [ -122.219580000321997, 37.418931001119404 ], [ -122.219152999437824, 37.418970000760673 ], [ -122.218665999423678, 37.419006000993825 ], [ -122.21823899967336, 37.419026000338086 ], [ -122.21781199963371, 37.419007000931941 ], [ -122.217133999784963, 37.418908001099943 ], [ -122.215476000196261, 37.418539000501298 ], [ -122.211875999518867, 37.416439000982798 ], [ -122.20647600042463, 37.412439000646422 ], [ -122.199175999812027, 37.410539000274611 ], [ -122.196975999440127, 37.412839000426914 ], [ -122.196273000038886, 37.412739000244542 ], [ -122.194176000271014, 37.412439000555963 ], [ -122.193076000454653, 37.412539000550311 ], [ -122.193376000096407, 37.411639000899548 ], [ -122.193550000507742, 37.411491000835554 ], [ -122.193732999420277, 37.411102000352436 ], [ -122.193676000284128, 37.410739000321385 ], [ -122.193676000498087, 37.410539000982141 ], [ -122.193776000153605, 37.410239000268 ], [ -122.193885999568877, 37.409721000565916 ], [ -122.193875999397292, 37.409539000701173 ], [ -122.193932000494925, 37.409271000806847 ], [ -122.194038999866052, 37.408821000419124 ], [ -122.194200000475931, 37.408537000444561 ], [ -122.194282999719221, 37.408394000667485 ], [ -122.194438999448465, 37.40818800035057 ], [ -122.194450999541871, 37.408173000607817 ], [ -122.194481000434891, 37.407776000347212 ], [ -122.194267999887145, 37.407173001111033 ], [ -122.194039000007763, 37.406609000473523 ], [ -122.193778999582008, 37.406021000237835 ], [ -122.193575999452975, 37.405639000460155 ], [ -122.19348900046127, 37.405434000773496 ], [ -122.193321000373388, 37.405083000816326 ], [ -122.19298599973969, 37.404526000257377 ], [ -122.19281799965762, 37.404213000792112 ], [ -122.192635000464961, 37.403816000281374 ], [ -122.192573999688562, 37.403191000485066 ], [ -122.192620000152402, 37.402687000414801 ], [ -122.192542999577526, 37.402329000540554 ], [ -122.19242099967704, 37.401932000649687 ], [ -122.192238000163428, 37.401367000695565 ], [ -122.192237999963638, 37.400978000693328 ], [ -122.192342999786888, 37.40054300057335 ], [ -122.192345000130445, 37.400536000769776 ], [ -122.192330000345805, 37.400002000405969 ], [ -122.192055000493028, 37.399345000828227 ], [ -122.191779999648617, 37.398872000253107 ], [ -122.191643000016882, 37.398514000477832 ], [ -122.191688999596394, 37.398048000761705 ], [ -122.191876000098773, 37.397539001013882 ], [ -122.191918000038839, 37.396889001073454 ], [ -122.191765000353797, 37.396210001057746 ], [ -122.19144499967355, 37.395470000561204 ], [ -122.19118499948263, 37.394959000520714 ], [ -122.190910999461877, 37.394798000922627 ], [ -122.190513999745946, 37.394562000283123 ], [ -122.190276000164474, 37.394139000685009 ], [ -122.190102000090079, 37.39400500095573 ], [ -122.190076000047483, 37.393539000510565 ], [ -122.190102000345618, 37.393379000781934 ], [ -122.190162999674072, 37.392853000500899 ], [ -122.190239000325491, 37.392578000726729 ], [ -122.190192999760782, 37.391976000434639 ], [ -122.18993400016231, 37.391450000271682 ], [ -122.189872999554836, 37.391313000266962 ], [ -122.189826999778802, 37.391023000801638 ], [ -122.189827000404577, 37.390817000510118 ], [ -122.189887999842853, 37.390596000382871 ], [ -122.190026000016474, 37.390313000376985 ], [ -122.190253999468695, 37.390283000831964 ], [ -122.190453000294667, 37.390222001055911 ], [ -122.190452999982966, 37.38977200086272 ], [ -122.190276000396892, 37.389440000754327 ], [ -122.190208999393519, 37.389237000992068 ], [ -122.190131999476606, 37.388932000633339 ], [ -122.19019299997683, 37.388703000706535 ], [ -122.190513999712735, 37.388566000708543 ], [ -122.190675999934129, 37.388540000301738 ], [ -122.190788999857858, 37.388597000483671 ], [ -122.190911000383778, 37.388398001124713 ], [ -122.190926000024632, 37.38789500069344 ], [ -122.190850000203, 37.387429000331785 ], [ -122.190681999813833, 37.387071000374021 ], [ -122.190681999412803, 37.386781000376253 ], [ -122.190742999874246, 37.386315000926977 ], [ -122.190850000485256, 37.386018000344706 ], [ -122.190864999646948, 37.385743000612017 ], [ -122.190636000322328, 37.385377000861638 ], [ -122.190437999793176, 37.385141000662301 ], [ -122.19047600026822, 37.384840000933458 ], [ -122.190681999870094, 37.384370000364669 ], [ -122.190818999510256, 37.38413300036769 ], [ -122.191276999958831, 37.383851000697611 ], [ -122.191675999946412, 37.383640000828123 ], [ -122.192116000273586, 37.383386000872569 ], [ -122.192665000284663, 37.382951000279867 ], [ -122.19303199996574, 37.38255400049777 ], [ -122.193075999979527, 37.382440000971741 ], [ -122.193245000183083, 37.382157000907569 ], [ -122.193641999518874, 37.381753001027953 ], [ -122.193992999595253, 37.381440000446197 ], [ -122.19428300051797, 37.381005000390893 ], [ -122.194526999531845, 37.380395000633328 ], [ -122.194786000251753, 37.379731000923314 ], [ -122.195091999936452, 37.379388000543067 ], [ -122.195533999398322, 37.378930000458311 ], [ -122.195762999972288, 37.378709001039532 ], [ -122.195915000001392, 37.378381000678246 ], [ -122.195945999712251, 37.378083000434955 ], [ -122.196038000336131, 37.377778000282483 ], [ -122.196266000141875, 37.377565000717873 ], [ -122.196616999646793, 37.377282001017328 ], [ -122.196738999525522, 37.376939000726736 ], [ -122.19678499951317, 37.376527000443737 ], [ -122.196874999732387, 37.376225001004869 ], [ -122.196892000462682, 37.37616800074791 ], [ -122.197276000216277, 37.375640000292051 ], [ -122.197392999404173, 37.375535000603897 ], [ -122.197701000248586, 37.375260000934794 ], [ -122.198275999456484, 37.374940000319306 ], [ -122.19884499949994, 37.37471900063337 ], [ -122.199089000415825, 37.374497000969086 ], [ -122.199302999947207, 37.37424600093776 ], [ -122.199376000151091, 37.374040001115418 ], [ -122.19907400011212, 37.373178000447908 ], [ -122.199195999501654, 37.372659000816697 ], [ -122.199376000420756, 37.372540000251931 ], [ -122.19945000041281, 37.372461000990469 ], [ -122.20077599993715, 37.371040000274213 ], [ -122.201041999850318, 37.370202001098072 ], [ -122.201119000045523, 37.369332000807312 ], [ -122.201133999622769, 37.368714000285635 ], [ -122.20134800006258, 37.36811200074213 ], [ -122.201347999409577, 37.367288000264146 ], [ -122.201041999631869, 37.36654000098892 ], [ -122.201226000145823, 37.365708000546924 ], [ -122.201575999809648, 37.365037000745431 ], [ -122.201957999787197, 37.36446500072757 ], [ -122.202475999762498, 37.363440000277301 ], [ -122.20237599943772, 37.362340000295831 ], [ -122.202355000054069, 37.362187000784402 ], [ -122.202294000178838, 37.36174100074183 ], [ -122.202263000240265, 37.360993000651533 ], [ -122.202277999697785, 37.360528000331897 ], [ -122.202111000401757, 37.359910000580335 ], [ -122.201820999829067, 37.359170000986659 ], [ -122.201453999432289, 37.358300000615714 ], [ -122.201180000424458, 37.357591000730423 ], [ -122.200539000149362, 37.357087000943565 ], [ -122.199836999505436, 37.356118000675082 ], [ -122.199638999814567, 37.355531000792055 ], [ -122.199271999810748, 37.355134001058062 ], [ -122.19841799970628, 37.354531000984089 ], [ -122.198276000231019, 37.354440000323201 ], [ -122.197898999439985, 37.354081000407518 ], [ -122.197685000222748, 37.353578000485541 ], [ -122.197395999727206, 37.353074000929283 ], [ -122.197175999738548, 37.352740000523191 ], [ -122.196906999470869, 37.352517001010014 ], [ -122.195976000241842, 37.351240000586834 ], [ -122.195518999877592, 37.350725000590629 ], [ -122.195519000024319, 37.350062000932084 ], [ -122.195775999930504, 37.349741000882901 ], [ -122.195549000260257, 37.348955000317865 ], [ -122.195575999632752, 37.348341000258316 ], [ -122.195575999642656, 37.348041000350499 ], [ -122.19535100004218, 37.347506000970995 ], [ -122.195075999930467, 37.34714100112673 ], [ -122.194968999780812, 37.346956000372572 ], [ -122.194358999631376, 37.346239001049888 ], [ -122.193946999683533, 37.34562900064256 ], [ -122.193488999515168, 37.345041000294479 ], [ -122.192939999727599, 37.344500001059664 ], [ -122.19214699958286, 37.343981000421124 ], [ -122.191306999514424, 37.343371001111592 ], [ -122.191094000403808, 37.343149000248474 ], [ -122.190589999470248, 37.342386000903311 ], [ -122.189567999850411, 37.341303000892999 ], [ -122.18860699982524, 37.340571000676881 ], [ -122.187660000292723, 37.339953000847594 ], [ -122.18669900010832, 37.339358001038377 ], [ -122.186379000046458, 37.3391130003535 ], [ -122.18567599949931, 37.338541000749281 ], [ -122.185645999782437, 37.338099000888036 ], [ -122.185767999521133, 37.337671000775018 ], [ -122.185631000029801, 37.337336000289632 ], [ -122.185416999948529, 37.337000000762977 ], [ -122.184868000037753, 37.336146001064172 ], [ -122.184242999977371, 37.335467000726965 ], [ -122.183978000257767, 37.33509300036981 ], [ -122.183891999888857, 37.334971001065263 ], [ -122.183373000199978, 37.334162001013851 ], [ -122.182793000083848, 37.333246000482426 ], [ -122.182533999642786, 37.332796000688511 ], [ -122.182075999499233, 37.332422000825581 ], [ -122.181388999683804, 37.332079000265807 ], [ -122.180900999835401, 37.331446001077822 ], [ -122.180290000004518, 37.330835001004324 ], [ -122.17940099971436, 37.329967000814605 ], [ -122.175075000135521, 37.325741000432252 ], [ -122.175655999774975, 37.325636000469792 ], [ -122.178546000448264, 37.325158000568138 ], [ -122.178615999466132, 37.325256001098722 ], [ -122.179082999904097, 37.325916000969137 ], [ -122.179279999585006, 37.3261950008703 ], [ -122.179391000420864, 37.326207000940151 ], [ -122.179630999601358, 37.326528000290303 ], [ -122.180473000310187, 37.326220000559815 ], [ -122.180990999871113, 37.326068000331766 ], [ -122.181146999626719, 37.326022000697627 ], [ -122.181236999707863, 37.325969001117286 ], [ -122.181481999811012, 37.32612900095711 ], [ -122.181870000427793, 37.326350000510629 ], [ -122.182465999690478, 37.326480000834422 ], [ -122.182275999558186, 37.326541000351142 ], [ -122.181611999693388, 37.326449000950262 ], [ -122.183037999813934, 37.327314000554502 ], [ -122.184052000239689, 37.325869000934752 ], [ -122.184608999767377, 37.325075000430665 ], [ -122.185020999600027, 37.324434000997591 ], [ -122.185433000188709, 37.323786000899339 ], [ -122.185457999822361, 37.323737000608908 ], [ -122.185776000015309, 37.323141001032866 ], [ -122.186118999401629, 37.322489000936415 ], [ -122.186515999604723, 37.322031000533563 ], [ -122.187340000038574, 37.32153500103356 ], [ -122.188276000499911, 37.321141000550178 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 300, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.267644000195645, 37.455465000371646 ], [ -122.267278000366943, 37.455038000939801 ], [ -122.266989999450715, 37.454404000559933 ], [ -122.266823999724679, 37.454039000341922 ], [ -122.266778000058764, 37.453938000322793 ], [ -122.267378000129, 37.453038001012054 ], [ -122.268077999638336, 37.4527380006108 ], [ -122.268684999701122, 37.452198000933251 ], [ -122.268978000427467, 37.451938000826097 ], [ -122.266948000434894, 37.450831000604481 ], [ -122.266676999551535, 37.450683000596428 ], [ -122.265678000407704, 37.450138000929549 ], [ -122.261478000484786, 37.448586000838013 ], [ -122.261426999407192, 37.44856700064144 ], [ -122.261078000467307, 37.448438000263252 ], [ -122.260977999813349, 37.447338000513064 ], [ -122.260978000081394, 37.447168000454681 ], [ -122.26089700015558, 37.447286000472964 ], [ -122.260796000400902, 37.447352000559697 ], [ -122.260665000154503, 37.447430001006886 ], [ -122.260494000359856, 37.447481000614005 ], [ -122.26029999995032, 37.447502000436678 ], [ -122.260041000297591, 37.447717000821335 ], [ -122.259823999642833, 37.44795600084877 ], [ -122.258777000117405, 37.447538001076062 ], [ -122.258376999572576, 37.447438000240304 ], [ -122.258176999672344, 37.447371001118036 ], [ -122.258077000018105, 37.447338000332032 ], [ -122.257814000371809, 37.447239000882035 ], [ -122.257428000268476, 37.447094000796454 ], [ -122.256476999684551, 37.446738000351289 ], [ -122.255976999439895, 37.447238000739695 ], [ -122.255276999835203, 37.447938000497949 ], [ -122.251217000503559, 37.451406000906154 ], [ -122.251077000249751, 37.451526000654958 ], [ -122.250664999623694, 37.451877000916021 ], [ -122.250477000390219, 37.452038001015325 ], [ -122.246776999993799, 37.455338000464124 ], [ -122.246047000284662, 37.454702000719244 ], [ -122.24519400035544, 37.453959000854248 ], [ -122.243676999533662, 37.452638000661835 ], [ -122.243259000016451, 37.453102000397038 ], [ -122.242776999737131, 37.453638000524592 ], [ -122.242176999687942, 37.453738000252571 ], [ -122.24123699986238, 37.45392300047957 ], [ -122.241066999802726, 37.453956000726123 ], [ -122.240277000176405, 37.454838000954958 ], [ -122.239123000386115, 37.453935000532134 ], [ -122.238729000318585, 37.453627000949076 ], [ -122.237977000374798, 37.453038001060257 ], [ -122.237076999854708, 37.452438000854023 ], [ -122.236827999631899, 37.452275000467196 ], [ -122.234177000006923, 37.450538000285199 ], [ -122.233577000497235, 37.450138000264424 ], [ -122.231576999777701, 37.448738000912876 ], [ -122.232377000484831, 37.44753800032926 ], [ -122.232577000285957, 37.447238001081374 ], [ -122.233976999675392, 37.444838000439596 ], [ -122.232077000492453, 37.443938000827004 ], [ -122.229887000265052, 37.442965000678377 ], [ -122.228476999413132, 37.442338000512976 ], [ -122.227776999623231, 37.442038000250029 ], [ -122.227177000487785, 37.442638000889886 ], [ -122.22597699957791, 37.444438000325682 ], [ -122.225880999536258, 37.444380000415414 ], [ -122.22547399959123, 37.444135000476415 ], [ -122.224877000393192, 37.443838000677935 ], [ -122.226177000231601, 37.442138000783032 ], [ -122.226610000029552, 37.441603000699523 ], [ -122.227876999987458, 37.440038000758008 ], [ -122.228005999736737, 37.439972000788664 ], [ -122.228212000061376, 37.439822000644931 ], [ -122.228417000089081, 37.439722000744148 ], [ -122.228575000441452, 37.439671000519517 ], [ -122.228716999510212, 37.439646000689592 ], [ -122.22885899959887, 37.43963400092958 ], [ -122.229065000298505, 37.439634000879728 ], [ -122.229253999730417, 37.439646001103526 ], [ -122.229443999814805, 37.439684000807823 ], [ -122.229711999976658, 37.439734000849988 ], [ -122.229933000286806, 37.439797000767101 ], [ -122.230677000203841, 37.440038000755848 ], [ -122.231176999647957, 37.439338000341941 ], [ -122.23100399978955, 37.438387000328575 ], [ -122.230776999522021, 37.437138000399351 ], [ -122.229976999928567, 37.436538000647182 ], [ -122.231176999575339, 37.434638000489954 ], [ -122.230877000445901, 37.43423800033483 ], [ -122.231576999810017, 37.433438000670641 ], [ -122.232077000466646, 37.43383800071323 ], [ -122.232877000147127, 37.432938001102208 ], [ -122.232776999761782, 37.431638000917452 ], [ -122.232776999837427, 37.431338000853138 ], [ -122.228576999845728, 37.429438000780735 ], [ -122.227977000446415, 37.429638000850936 ], [ -122.226677000502249, 37.43013800099142 ], [ -122.2259169995707, 37.429812000401768 ], [ -122.225277000197451, 37.429538001048691 ], [ -122.226076999752109, 37.428938001095538 ], [ -122.226377000098552, 37.428738000823159 ], [ -122.224576999839869, 37.428038000513396 ], [ -122.224777000423657, 37.427638000746377 ], [ -122.225677000080694, 37.426738000866713 ], [ -122.225877000196576, 37.426538001033641 ], [ -122.226276999613489, 37.425938001068985 ], [ -122.226776999544299, 37.426238001060831 ], [ -122.227477000112643, 37.425538001132942 ], [ -122.228676999866408, 37.424339000275857 ], [ -122.229477000296072, 37.424239000475154 ], [ -122.229977000227763, 37.424239001075037 ], [ -122.230877000487041, 37.424339000742314 ], [ -122.233277000422035, 37.42513800085554 ], [ -122.23684700030816, 37.421093000493016 ], [ -122.237776999483984, 37.420039000383049 ], [ -122.240277000372032, 37.42133900033474 ], [ -122.24397699971226, 37.419639000305303 ], [ -122.244576999833328, 37.421339000928675 ], [ -122.24537699971377, 37.423338000745481 ], [ -122.248976999664194, 37.42513800030094 ], [ -122.250577000239915, 37.425938000240627 ], [ -122.249976999451789, 37.429038000880382 ], [ -122.251077000415577, 37.429038000746722 ], [ -122.253076999477614, 37.429038000477938 ], [ -122.254376999734674, 37.429138000379211 ], [ -122.254677000265588, 37.429638000482434 ], [ -122.256977000032379, 37.432338000558147 ], [ -122.257577999977826, 37.433038000471399 ], [ -122.258077999472647, 37.433738000629724 ], [ -122.25887799982965, 37.434338000609415 ], [ -122.2591779997, 37.434738000667984 ], [ -122.259677999519681, 37.435138000825297 ], [ -122.260478000311778, 37.435938001010058 ], [ -122.261178000201042, 37.436638000642482 ], [ -122.261577999917975, 37.436938000257506 ], [ -122.262077999889115, 37.437338001053398 ], [ -122.263478000388659, 37.438738000555318 ], [ -122.264378000083667, 37.439338000457113 ], [ -122.264768000090882, 37.439728000462864 ], [ -122.267692000417853, 37.442882000685913 ], [ -122.268333999859905, 37.443387000968798 ], [ -122.268777999695942, 37.443738000292136 ], [ -122.269977999404674, 37.444638000665762 ], [ -122.270161000045064, 37.444943000483129 ], [ -122.271123000104666, 37.445977001113505 ], [ -122.271454999399239, 37.446209000232749 ], [ -122.271960999665296, 37.446471000333709 ], [ -122.273365999508243, 37.44700800100744 ], [ -122.273617999947618, 37.447105000978276 ], [ -122.274024999500966, 37.447316000664237 ], [ -122.275043999736823, 37.447860000930085 ], [ -122.277378000127158, 37.449538001026141 ], [ -122.278478000425167, 37.450338000340807 ], [ -122.279477999577395, 37.450938000849263 ], [ -122.280579000413624, 37.451638000255052 ], [ -122.279786000503691, 37.452469000534691 ], [ -122.278577999679754, 37.453738000785599 ], [ -122.278478000175511, 37.454338000917922 ], [ -122.279078000177392, 37.455338000452976 ], [ -122.279477999998321, 37.455538000686246 ], [ -122.279877999455266, 37.456138000947803 ], [ -122.278978000019677, 37.457538000675697 ], [ -122.279477999940255, 37.45813800110659 ], [ -122.280478000469401, 37.457938000307358 ], [ -122.281379000134152, 37.457538000390265 ], [ -122.281678999398167, 37.45793800039241 ], [ -122.280277999809854, 37.459438000588882 ], [ -122.280009999786714, 37.459393000271902 ], [ -122.279806999880293, 37.459359000842142 ], [ -122.279178000342441, 37.459038000834184 ], [ -122.277578000495325, 37.458638000763386 ], [ -122.276590999839911, 37.458884000323174 ], [ -122.276545999769681, 37.458427000599229 ], [ -122.276512999675887, 37.458067000516515 ], [ -122.276503999547188, 37.457938000386207 ], [ -122.276278000396033, 37.457938000999633 ], [ -122.276079999430735, 37.457938000541169 ], [ -122.276080000013707, 37.457351000809169 ], [ -122.276076999729085, 37.457156000567174 ], [ -122.275799000068702, 37.457350001075156 ], [ -122.275695000253506, 37.457257001013822 ], [ -122.275392999485902, 37.456986000716796 ], [ -122.27538699944526, 37.456974000250476 ], [ -122.274871999986118, 37.456622000931873 ], [ -122.274578000523405, 37.45643800039597 ], [ -122.274477999777204, 37.455938001015831 ], [ -122.274091000122993, 37.455977001108572 ], [ -122.273477999710479, 37.456038000869853 ], [ -122.272778000276446, 37.456438000454412 ], [ -122.27240399941337, 37.456126001121511 ], [ -122.272177999441965, 37.455938000253184 ], [ -122.271093000493977, 37.455938000955818 ], [ -122.270977999870539, 37.455938000936086 ], [ -122.271213999854581, 37.455738000308777 ], [ -122.271277999993458, 37.455538000488133 ], [ -122.271521000378044, 37.455296000521862 ], [ -122.271463999472076, 37.455236001106641 ], [ -122.271307000230962, 37.455070000547124 ], [ -122.271578000313554, 37.454638000819223 ], [ -122.270713999905908, 37.454384001006517 ], [ -122.269878000103532, 37.45413800065846 ], [ -122.26897799942374, 37.454438000458843 ], [ -122.268377999618181, 37.454738000550584 ], [ -122.2685779996159, 37.455438000818191 ], [ -122.268293000162942, 37.455560000562876 ], [ -122.26835200029717, 37.455790000246139 ], [ -122.267907000252151, 37.455943000995134 ], [ -122.267878000486093, 37.455738000341299 ], [ -122.267644000195645, 37.455465000371646 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 533, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.916566999950774, 37.315459000310234 ], [ -121.916266999603195, 37.315342000310338 ], [ -121.915166000212224, 37.315042000260497 ], [ -121.915165999763204, 37.314742000661134 ], [ -121.915265999528543, 37.314242001115566 ], [ -121.914965999662471, 37.313342000684777 ], [ -121.915066000030791, 37.313142000881662 ], [ -121.917966999821687, 37.310642001066199 ], [ -121.922266999886062, 37.306542000696368 ], [ -121.927867000146463, 37.301542000387698 ], [ -121.929481999717908, 37.300088001104591 ], [ -121.931866999784162, 37.297942000527414 ], [ -121.931967000408505, 37.298442000734212 ], [ -121.931867000379526, 37.298942000334641 ], [ -121.931966999584205, 37.299242000522916 ], [ -121.931966999763986, 37.300542000871431 ], [ -121.931966999853785, 37.300849000628865 ], [ -121.931967000184059, 37.301442000329487 ], [ -121.932066999629768, 37.304042000952109 ], [ -121.932067000335238, 37.304142000848017 ], [ -121.932067000429811, 37.305142000555733 ], [ -121.932067000349249, 37.305642000797818 ], [ -121.932067000187701, 37.306142000998257 ], [ -121.932067000167095, 37.307085000541143 ], [ -121.932067000445414, 37.308242000320604 ], [ -121.932066999862755, 37.308742000304669 ], [ -121.932067000327393, 37.309242000257335 ], [ -121.932067999492006, 37.310317000778248 ], [ -121.932066999602668, 37.310642000970589 ], [ -121.931941000416202, 37.314112000971477 ], [ -121.931867000105441, 37.316142001075242 ], [ -121.931967000284132, 37.316542000264342 ], [ -121.931966999624962, 37.316842001108981 ], [ -121.926766999740067, 37.316442000965466 ], [ -121.925567000269197, 37.316542001021617 ], [ -121.923766999526762, 37.316442000371993 ], [ -121.922858999965598, 37.316442000595728 ], [ -121.922066999560016, 37.316442000603601 ], [ -121.921667000461767, 37.316542000528727 ], [ -121.92001899940837, 37.316542000828314 ], [ -121.919656000101455, 37.316542000365665 ], [ -121.919367000272828, 37.316542000438865 ], [ -121.919247000343191, 37.316497000472793 ], [ -121.918566999693581, 37.316242000771219 ], [ -121.916566999950774, 37.315459000310234 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 531, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.913766000406454, 37.300942000863337 ], [ -121.913766000130337, 37.299642000877718 ], [ -121.913766000053087, 37.299163000692332 ], [ -121.913765999859194, 37.298842000609788 ], [ -121.913765999988428, 37.298542000259161 ], [ -121.913766000505333, 37.298042000245765 ], [ -121.91376599979877, 37.297542001081688 ], [ -121.913765999955942, 37.297432000722161 ], [ -121.913765999492213, 37.297016000514901 ], [ -121.913766000010952, 37.296442000990496 ], [ -121.91375400044663, 37.29563500111599 ], [ -121.913765999824463, 37.295342000698049 ], [ -121.913760000227271, 37.295280000944906 ], [ -121.913717000067464, 37.294849000361246 ], [ -121.913665999935802, 37.294342000695281 ], [ -121.914865999578083, 37.294342000581729 ], [ -121.914950000251096, 37.294342001007692 ], [ -121.915519999967813, 37.294342000475368 ], [ -121.915690000517799, 37.294342000628852 ], [ -121.91596599954643, 37.29434200075427 ], [ -121.918365999451169, 37.294342000290797 ], [ -121.918865999672775, 37.294342000941128 ], [ -121.919465999761528, 37.294342000372737 ], [ -121.920065999874055, 37.29434200036706 ], [ -121.920466000332539, 37.294342001079862 ], [ -121.921066000506059, 37.294342000509957 ], [ -121.921490000242116, 37.294342001129053 ], [ -121.921866000392555, 37.294342001022542 ], [ -121.922766000206352, 37.294342000540581 ], [ -121.923766999543687, 37.29434200046402 ], [ -121.92466699949577, 37.2943420008449 ], [ -121.925566999526652, 37.294342000689426 ], [ -121.9264669996235, 37.294342000898823 ], [ -121.927867000419383, 37.294342001042018 ], [ -121.928867000440675, 37.294242001018183 ], [ -121.929866999400659, 37.294242000657512 ], [ -121.931866999828003, 37.294242000740638 ], [ -121.931866999535387, 37.2970420005637 ], [ -121.929761999549811, 37.297898000640785 ], [ -121.929141999628342, 37.298150000274617 ], [ -121.928452000381526, 37.298431000283024 ], [ -121.927231999902745, 37.298927000998347 ], [ -121.926569000437098, 37.299197001058786 ], [ -121.925967000485102, 37.299442000286192 ], [ -121.923866999862668, 37.299342000765328 ], [ -121.923467000241203, 37.299242000674134 ], [ -121.922842999456734, 37.299709001046153 ], [ -121.921675999689356, 37.3006560008184 ], [ -121.921191000174957, 37.300674000739406 ], [ -121.919968000290041, 37.300760000452108 ], [ -121.919421999483788, 37.30109900075297 ], [ -121.919037999634426, 37.301337000746265 ], [ -121.918915999530938, 37.301330000435179 ], [ -121.918872000201944, 37.301363000847736 ], [ -121.918686999813062, 37.301505000807879 ], [ -121.918570000086305, 37.301608001096163 ], [ -121.91855000018019, 37.301626000437956 ], [ -121.918427999973886, 37.301734000662854 ], [ -121.91832099964698, 37.301879000535997 ], [ -121.918218999432241, 37.302007000511843 ], [ -121.918016000009558, 37.302260000618176 ], [ -121.917916000166329, 37.302364000233617 ], [ -121.917466000187147, 37.302942000410255 ], [ -121.917366000207039, 37.303442001131039 ], [ -121.915765999433404, 37.30434200059215 ], [ -121.913865999613563, 37.307042000960394 ], [ -121.913865999753313, 37.306542000731852 ], [ -121.913866000263596, 37.304418000256895 ], [ -121.913865999738292, 37.303842000407478 ], [ -121.913866000452046, 37.302642000789128 ], [ -121.913866000208458, 37.302242000859643 ], [ -121.913876999630759, 37.30184500061398 ], [ -121.913865999940654, 37.301542000696344 ], [ -121.913766000406454, 37.300942000863337 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 529, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.905265999778877, 37.294442000277257 ], [ -121.905166000185133, 37.293342001095304 ], [ -121.904917000218234, 37.292989000282873 ], [ -121.904544999792279, 37.292462000591733 ], [ -121.903965999884974, 37.291642000442458 ], [ -121.903566000482968, 37.291042000857743 ], [ -121.903165999440404, 37.290442000791074 ], [ -121.903673000157539, 37.290214000258835 ], [ -121.904070000387662, 37.290069000533549 ], [ -121.904619000379753, 37.289817000458044 ], [ -121.905061000199879, 37.289619000475248 ], [ -121.905665999794266, 37.289442000599998 ], [ -121.906566000269535, 37.289042000756822 ], [ -121.90756600033518, 37.288642000369592 ], [ -121.90846600000684, 37.288142000361745 ], [ -121.90866599996987, 37.288142000554366 ], [ -121.909265999512783, 37.287742001094095 ], [ -121.909333999694809, 37.287708000391355 ], [ -121.909865999526104, 37.287442000295762 ], [ -121.910166000222461, 37.287342000532334 ], [ -121.910866000399309, 37.287442000414082 ], [ -121.911222999982471, 37.287353000727009 ], [ -121.911665999427797, 37.287242000930682 ], [ -121.911804000139767, 37.287131000603999 ], [ -121.912165999688469, 37.286842000767109 ], [ -121.912962999537712, 37.286557000369413 ], [ -121.913565999481904, 37.286342000583645 ], [ -121.914490999547468, 37.285911000313014 ], [ -121.916165999555204, 37.285542000866926 ], [ -121.916965999876581, 37.284942001055967 ], [ -121.918666000394424, 37.28404200097949 ], [ -121.9193660003844, 37.28394200075936 ], [ -121.920305999781675, 37.283942000284974 ], [ -121.920365999766645, 37.283942000480813 ], [ -121.921784999926047, 37.282836000304002 ], [ -121.922466000206313, 37.282242000971934 ], [ -121.922547999453244, 37.28298100034268 ], [ -121.922565999665395, 37.283142000539819 ], [ -121.922765999808959, 37.284742000641273 ], [ -121.922766000145259, 37.285642000795349 ], [ -121.922766000348759, 37.286142000423339 ], [ -121.922746000279801, 37.286542000853999 ], [ -121.92276600027337, 37.287042000367833 ], [ -121.922745000375315, 37.287337000746668 ], [ -121.922766000320294, 37.288142000321827 ], [ -121.922765999926995, 37.288542000580144 ], [ -121.922766000111594, 37.289342001027109 ], [ -121.922766000099912, 37.290142000466396 ], [ -121.922765999555381, 37.290642000621311 ], [ -121.92276599996336, 37.291042000723486 ], [ -121.922766000319044, 37.291442000799051 ], [ -121.922765999494445, 37.291842000837725 ], [ -121.922774999828462, 37.29250700111632 ], [ -121.922765999944417, 37.292642000855771 ], [ -121.922766000024268, 37.292842000843663 ], [ -121.922766000206352, 37.294342000540581 ], [ -121.921866000392555, 37.294342001022542 ], [ -121.921490000242116, 37.294342001129053 ], [ -121.921066000506059, 37.294342000509957 ], [ -121.920466000332539, 37.294342001079862 ], [ -121.920065999874055, 37.29434200036706 ], [ -121.919465999761528, 37.294342000372737 ], [ -121.918865999672775, 37.294342000941128 ], [ -121.918365999451169, 37.294342000290797 ], [ -121.91596599954643, 37.29434200075427 ], [ -121.915690000517799, 37.294342000628852 ], [ -121.915519999967813, 37.294342000475368 ], [ -121.914950000251096, 37.294342001007692 ], [ -121.914865999578083, 37.294342000581729 ], [ -121.913665999935802, 37.294342000695281 ], [ -121.911182000490555, 37.294463000648719 ], [ -121.911100999484603, 37.294467001020564 ], [ -121.909565999665645, 37.294542000717435 ], [ -121.90916599963569, 37.294442000259068 ], [ -121.908265999843607, 37.294042000665563 ], [ -121.907282999944627, 37.294173000761958 ], [ -121.906792000143568, 37.294238000303416 ], [ -121.906090999505707, 37.294332000372528 ], [ -121.905265999778877, 37.294442000277257 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 521, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.935566999388726, 37.262243001109901 ], [ -121.936583000373446, 37.26285200048045 ], [ -121.936946999976939, 37.263071000548081 ], [ -121.937256999807573, 37.263257000849954 ], [ -121.938067000237155, 37.263743000538462 ], [ -121.93886699971074, 37.264243000551858 ], [ -121.939866999892629, 37.265043000817329 ], [ -121.940366999981038, 37.265443000948991 ], [ -121.941266999534619, 37.266143000447656 ], [ -121.941967000063912, 37.266743000687384 ], [ -121.942667000361197, 37.267343000403891 ], [ -121.94346700042118, 37.267843001029341 ], [ -121.94446699940022, 37.268643000431297 ], [ -121.94646700015096, 37.269943000240524 ], [ -121.946067000459919, 37.272443001062982 ], [ -121.945576999410335, 37.272443000777386 ], [ -121.945467000329131, 37.272443000665433 ], [ -121.945458000266967, 37.272529000400311 ], [ -121.945266999497207, 37.274343000455204 ], [ -121.945566999416329, 37.275043000495529 ], [ -121.943967000266966, 37.275543000504044 ], [ -121.943266999723178, 37.275943000650408 ], [ -121.939566999640107, 37.278243000881886 ], [ -121.939266999988988, 37.27844300050684 ], [ -121.938667000293577, 37.278743000665187 ], [ -121.938442999608199, 37.278872000827477 ], [ -121.93821199954786, 37.278978000892238 ], [ -121.937752999670366, 37.27901700084459 ], [ -121.935866999409271, 37.279143000287355 ], [ -121.935767000293325, 37.278843000680737 ], [ -121.935167000517765, 37.277643000441081 ], [ -121.934967000323923, 37.277843000850559 ], [ -121.933575999863606, 37.279060000957877 ], [ -121.933481000367465, 37.279144000690508 ], [ -121.933411999837617, 37.279204000703629 ], [ -121.932567000251638, 37.279942000430999 ], [ -121.931866999876831, 37.279942000473653 ], [ -121.931967000221988, 37.27914200097856 ], [ -121.932066999912379, 37.278343000880945 ], [ -121.932163999465089, 37.27803300107702 ], [ -121.932567000145568, 37.276743000775632 ], [ -121.933167000208385, 37.275943000888461 ], [ -121.933566999707367, 37.275043001095305 ], [ -121.933867000397569, 37.27464300063825 ], [ -121.932967000453289, 37.272443000866971 ], [ -121.932767000070527, 37.271943000278021 ], [ -121.93206599957108, 37.27014300055626 ], [ -121.931665999923709, 37.269143000271619 ], [ -121.931566000323045, 37.268643000398136 ], [ -121.931566000042451, 37.267143000451945 ], [ -121.931765999591349, 37.266443001012931 ], [ -121.931565999510894, 37.26594300076821 ], [ -121.931466000323852, 37.264443000749878 ], [ -121.931466000353794, 37.261643000522994 ], [ -121.932566000128944, 37.261743000626993 ], [ -121.933966000074463, 37.261843000914261 ], [ -121.935566999388726, 37.262243001109901 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 522, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.93206599957108, 37.27014300055626 ], [ -121.932767000070527, 37.271943000278021 ], [ -121.932967000453289, 37.272443000866971 ], [ -121.933867000397569, 37.27464300063825 ], [ -121.933566999707367, 37.275043001095305 ], [ -121.933167000208385, 37.275943000888461 ], [ -121.932567000145568, 37.276743000775632 ], [ -121.932163999465089, 37.27803300107702 ], [ -121.932066999912379, 37.278343000880945 ], [ -121.931967000221988, 37.27914200097856 ], [ -121.931866999876831, 37.279942000473653 ], [ -121.931467000108157, 37.27984200068056 ], [ -121.930967000508787, 37.279742000467806 ], [ -121.93016699953202, 37.280342001010304 ], [ -121.930166999631226, 37.280442000370257 ], [ -121.929666999508029, 37.280642000825637 ], [ -121.927266000214374, 37.281442000823169 ], [ -121.92586600040984, 37.28054200045792 ], [ -121.924463999865267, 37.280454000288266 ], [ -121.924266000090014, 37.280442000274569 ], [ -121.923566000469293, 37.280542000960331 ], [ -121.923365999511347, 37.281142001100271 ], [ -121.923265999941819, 37.28164200093304 ], [ -121.922466000206313, 37.282242000971934 ], [ -121.922466000211728, 37.281542000695886 ], [ -121.922566000089077, 37.280842000297717 ], [ -121.923366000489651, 37.279142000619977 ], [ -121.923566000070636, 37.278242000432265 ], [ -121.923266000324148, 37.27654300098893 ], [ -121.922665999502058, 37.275843000993675 ], [ -121.922165999897885, 37.275143000912067 ], [ -121.921565999637878, 37.274343000451658 ], [ -121.921166000191633, 37.273643000370278 ], [ -121.920965999538595, 37.272943000561305 ], [ -121.92096600000427, 37.272243001121574 ], [ -121.920965999714056, 37.271443000368713 ], [ -121.921065999856324, 37.270143000736169 ], [ -121.921065999729663, 37.269843000585716 ], [ -121.921166000428926, 37.269543000569122 ], [ -121.921866000370571, 37.268443000487849 ], [ -121.922266000155489, 37.267243000259377 ], [ -121.922666000477847, 37.267243000688609 ], [ -121.92256599989129, 37.26644300031338 ], [ -121.922465999637069, 37.264543000305416 ], [ -121.922465999958789, 37.262543000864156 ], [ -121.922366000290467, 37.261643001075228 ], [ -121.923265999805309, 37.261643000500101 ], [ -121.923865999883205, 37.261643001125137 ], [ -121.92436599942458, 37.261643000519321 ], [ -121.924966000156701, 37.261743000600397 ], [ -121.925365999675833, 37.261643001093113 ], [ -121.925995999869457, 37.261688000464403 ], [ -121.92632300000966, 37.261711000271283 ], [ -121.92676599977645, 37.261743000853471 ], [ -121.927036000079369, 37.261743001102246 ], [ -121.927665999691982, 37.261743001079971 ], [ -121.928666000440714, 37.261743000823195 ], [ -121.931466000353794, 37.261643000522994 ], [ -121.931466000323852, 37.264443000749878 ], [ -121.931565999510894, 37.26594300076821 ], [ -121.931765999591349, 37.266443001012931 ], [ -121.931566000042451, 37.267143000451945 ], [ -121.931566000323045, 37.268643000398136 ], [ -121.931665999923709, 37.269143000271619 ], [ -121.93206599957108, 37.27014300055626 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 685, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.911176999635458, 37.249965001068134 ], [ -121.9113530000742, 37.25028200029459 ], [ -121.911664999815287, 37.250843000389551 ], [ -121.911124999417368, 37.250968000689348 ], [ -121.909064999564123, 37.251443000709564 ], [ -121.908445999654575, 37.251586000942893 ], [ -121.908126999525408, 37.251667000446815 ], [ -121.907358999950347, 37.251894000303821 ], [ -121.906418000325857, 37.25214100109843 ], [ -121.90626499970918, 37.252243000820904 ], [ -121.906073000075565, 37.252282000881515 ], [ -121.905947000347098, 37.252307000392442 ], [ -121.905731999674146, 37.252350000304247 ], [ -121.905281000200475, 37.252510000251213 ], [ -121.904768000170961, 37.25262900072935 ], [ -121.904698000087279, 37.252637000800675 ], [ -121.90389400051258, 37.252845000314004 ], [ -121.903640999996639, 37.252937000353441 ], [ -121.902818999571693, 37.253271000864999 ], [ -121.902084999701074, 37.253581000883017 ], [ -121.901465000229607, 37.253843000343352 ], [ -121.90036499944523, 37.254443000782778 ], [ -121.899764999517913, 37.254643000301023 ], [ -121.898965999472338, 37.255073001045112 ], [ -121.898464999560744, 37.255343001029303 ], [ -121.897465000266024, 37.253643000509975 ], [ -121.895908000095375, 37.251119000674542 ], [ -121.89546200046945, 37.250396001005285 ], [ -121.895182000224224, 37.249943000722261 ], [ -121.894564999487457, 37.248943000361727 ], [ -121.892365000395898, 37.246143000854708 ], [ -121.891965000304353, 37.245543000431759 ], [ -121.894465000076565, 37.244343000337885 ], [ -121.896464999419862, 37.243443000773794 ], [ -121.898665000417353, 37.242443000675678 ], [ -121.898964999515769, 37.242243000702487 ], [ -121.900065000405618, 37.241743000752308 ], [ -121.900559000121191, 37.241455000566333 ], [ -121.901484000080757, 37.241134000394148 ], [ -121.901663000039761, 37.241061000260679 ], [ -121.902482000081903, 37.240532000392612 ], [ -121.902672000455766, 37.240405000945415 ], [ -121.903665000410811, 37.239743000262429 ], [ -121.903765000042895, 37.239743000414919 ], [ -121.90436500009227, 37.240643000355824 ], [ -121.905365000279318, 37.241943001103365 ], [ -121.905865000148125, 37.242743001084982 ], [ -121.906364999979445, 37.243443000974146 ], [ -121.906865000115516, 37.244043000794733 ], [ -121.908165000466781, 37.245843001130211 ], [ -121.909165000408038, 37.247043000509294 ], [ -121.909165000277042, 37.247360001127738 ], [ -121.909159000240081, 37.247451000451562 ], [ -121.90914800021207, 37.247605000313257 ], [ -121.909170000151931, 37.247675000804691 ], [ -121.909914000347456, 37.248497000797862 ], [ -121.911158000276856, 37.249943000786679 ], [ -121.911176999635458, 37.249965001068134 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 686, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.898464999560744, 37.255343001029303 ], [ -121.896764999537837, 37.256243000880445 ], [ -121.895664999497228, 37.256743000742098 ], [ -121.894664999863053, 37.257343000369374 ], [ -121.894264999506802, 37.257443000608475 ], [ -121.894064999615352, 37.257643000686819 ], [ -121.893464999481509, 37.257843000319887 ], [ -121.892465000507485, 37.258443000866308 ], [ -121.891464999606313, 37.258843000359398 ], [ -121.890365000078617, 37.259443000974535 ], [ -121.88906499987101, 37.259743000383118 ], [ -121.889050000373587, 37.259747000462745 ], [ -121.888264999872632, 37.259943000956383 ], [ -121.88695999946782, 37.260286000608751 ], [ -121.886364999969516, 37.260443000830286 ], [ -121.885164999777103, 37.26084300110449 ], [ -121.882164999760249, 37.261643000971333 ], [ -121.880889999814741, 37.261971000673363 ], [ -121.880445000422938, 37.262087000721934 ], [ -121.879900000331403, 37.262230000408039 ], [ -121.879163999723275, 37.262443000402321 ], [ -121.878990000316321, 37.262485001036268 ], [ -121.878691999536045, 37.262558000855982 ], [ -121.878250000010127, 37.262680000604981 ], [ -121.876764000376028, 37.26314300088724 ], [ -121.876510000220463, 37.262306000498896 ], [ -121.8763649996135, 37.261980000819953 ], [ -121.876365000452893, 37.261747001112539 ], [ -121.87635499950548, 37.261463000557569 ], [ -121.876311999758812, 37.260773000641287 ], [ -121.876193999558708, 37.260080001047939 ], [ -121.876204999771033, 37.259804001009975 ], [ -121.876163999652917, 37.259043001052369 ], [ -121.877104999820617, 37.258896000936126 ], [ -121.878172999765994, 37.258583000521156 ], [ -121.878436999918222, 37.258488000306926 ], [ -121.87856399980636, 37.258443000747803 ], [ -121.87937699988403, 37.258262001054014 ], [ -121.879463999941706, 37.258243001001247 ], [ -121.880035000308609, 37.258148001109994 ], [ -121.88043199943715, 37.258064000915184 ], [ -121.881149000059864, 37.257935000674202 ], [ -121.881535000147593, 37.257752000385103 ], [ -121.881764999506672, 37.257643000568017 ], [ -121.882630000444607, 37.258186000910001 ], [ -121.882691000483049, 37.258064001036466 ], [ -121.882659999688826, 37.257996000285253 ], [ -121.881773999633978, 37.256012000694476 ], [ -121.881561000165505, 37.25564600058938 ], [ -121.881164000044379, 37.254746000579551 ], [ -121.880902000257933, 37.253892000723098 ], [ -121.880978000120194, 37.253878000817117 ], [ -121.881055999849906, 37.253859001002461 ], [ -121.882858000191348, 37.253422000736528 ], [ -121.885170000493403, 37.252891000959728 ], [ -121.887353000088609, 37.252376000894209 ], [ -121.889099000433163, 37.251866000491283 ], [ -121.890856000301028, 37.251444000243637 ], [ -121.892001000329046, 37.251169000370538 ], [ -121.892632999618002, 37.251030000831335 ], [ -121.89546200046945, 37.250396001005285 ], [ -121.895908000095375, 37.251119000674542 ], [ -121.897465000266024, 37.253643000509975 ], [ -121.898464999560744, 37.255343001029303 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 681, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.890064999880394, 37.279942000851868 ], [ -121.889065000250042, 37.280342000967423 ], [ -121.888864999421514, 37.280442001015835 ], [ -121.888065000225779, 37.280742000640934 ], [ -121.887165000352951, 37.281042001050608 ], [ -121.886264999629589, 37.281442000703649 ], [ -121.883564999412741, 37.282442000801908 ], [ -121.882764999912823, 37.282742000254004 ], [ -121.882364999982073, 37.282942000978274 ], [ -121.882965000232844, 37.28414200027062 ], [ -121.88286500037411, 37.284742000591962 ], [ -121.88186500015307, 37.282942000717831 ], [ -121.881665000108569, 37.282242000949466 ], [ -121.880964999609574, 37.281242000978899 ], [ -121.878264999817148, 37.279242000532413 ], [ -121.878081000521206, 37.278630000298428 ], [ -121.877665000330964, 37.277242001103396 ], [ -121.877465000054357, 37.276842000711582 ], [ -121.877065000260728, 37.275842000977221 ], [ -121.87726499964495, 37.275742000979854 ], [ -121.877964999462307, 37.275642000235756 ], [ -121.878964999800928, 37.275342000653254 ], [ -121.879764999408835, 37.275142000752453 ], [ -121.880264999770418, 37.275042000621809 ], [ -121.881364999591753, 37.27474200085026 ], [ -121.881864999754484, 37.274642001128008 ], [ -121.882764999745831, 37.274342000679773 ], [ -121.883764999930534, 37.274143000326497 ], [ -121.886064999707045, 37.273543000757293 ], [ -121.886865000231666, 37.273343000313631 ], [ -121.887664999937584, 37.273143000727302 ], [ -121.888465000251401, 37.272743001088344 ], [ -121.889364999642822, 37.272543000505799 ], [ -121.891964999636784, 37.271943000314209 ], [ -121.892665000499989, 37.271743000444573 ], [ -121.895064999761132, 37.270743000788151 ], [ -121.895464999980391, 37.271743000553649 ], [ -121.895865000306287, 37.272743000680073 ], [ -121.896064999554739, 37.27334300071707 ], [ -121.896164999763769, 37.273643000600408 ], [ -121.896964999970265, 37.274343000838392 ], [ -121.897465000147278, 37.275043000434621 ], [ -121.897964999835196, 37.275642000946235 ], [ -121.898464999558939, 37.276442000836838 ], [ -121.897565000501729, 37.276642000952947 ], [ -121.896664999841775, 37.277042000516268 ], [ -121.895764999592885, 37.27754200035902 ], [ -121.894764999673129, 37.277942000553416 ], [ -121.893865000326571, 37.27834200107344 ], [ -121.892965000502898, 37.2787420009615 ], [ -121.892164999425546, 37.279242000550731 ], [ -121.891065000244737, 37.279542000304964 ], [ -121.8904650002832, 37.279842000709593 ], [ -121.890064999880394, 37.279942000851868 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 579, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.852263999812365, 37.324741001065313 ], [ -121.851064000134514, 37.323541000532067 ], [ -121.850931999586706, 37.323453001073347 ], [ -121.850857999628957, 37.323404000893277 ], [ -121.850764000276044, 37.323341000498722 ], [ -121.850559999865155, 37.322958000300716 ], [ -121.849963999687219, 37.321841000309881 ], [ -121.851613000104948, 37.320871000399734 ], [ -121.852163999779407, 37.321541000382183 ], [ -121.852864000091103, 37.322241000789099 ], [ -121.85296400017549, 37.322241000473035 ], [ -121.853081999761159, 37.322159000687556 ], [ -121.852953999402615, 37.322207000305163 ], [ -121.852664000493775, 37.321241000609533 ], [ -121.852093000253461, 37.32058900072262 ], [ -121.851963999711259, 37.320441000981944 ], [ -121.852464000016155, 37.319041000336419 ], [ -121.854063999858042, 37.317841000832601 ], [ -121.854563999688139, 37.317041000442835 ], [ -121.85396400015695, 37.31634100041223 ], [ -121.854145000477345, 37.316266001063951 ], [ -121.854768000196259, 37.316893001035389 ], [ -121.854838999555952, 37.316968000638475 ], [ -121.854908999586016, 37.317094000427694 ], [ -121.854919000358734, 37.317239000373107 ], [ -121.85492899960515, 37.317333000316694 ], [ -121.854929000090223, 37.317447000813125 ], [ -121.854964000101944, 37.317541000239494 ], [ -121.855763999440597, 37.317041000266954 ], [ -121.856663999892007, 37.31654100029386 ], [ -121.857964000078923, 37.317841000926322 ], [ -121.858563999985364, 37.318541000672475 ], [ -121.86001500035654, 37.319991000794708 ], [ -121.861865000112942, 37.321841000721733 ], [ -121.86586500046414, 37.325841000984141 ], [ -121.8661649998527, 37.326941000240502 ], [ -121.866665000108668, 37.326741000719842 ], [ -121.868064999867016, 37.328741000891291 ], [ -121.868264999571636, 37.330241000495668 ], [ -121.86536499938785, 37.331841001027577 ], [ -121.864148999707837, 37.332589001125832 ], [ -121.862765000122479, 37.333441000377228 ], [ -121.86166500008575, 37.334041000745849 ], [ -121.857665000506074, 37.336641001027267 ], [ -121.857265000168979, 37.336241000762435 ], [ -121.856464999680711, 37.33544100069328 ], [ -121.854265000078755, 37.333241000858187 ], [ -121.853864999441996, 37.332741000320382 ], [ -121.854565000472547, 37.332341000697376 ], [ -121.855865000178099, 37.331441000887487 ], [ -121.856272000123397, 37.331115001018333 ], [ -121.856365000070952, 37.331041001054103 ], [ -121.856865000276073, 37.330641000849212 ], [ -121.857665000247025, 37.330241000488066 ], [ -121.856618000200967, 37.329166000510433 ], [ -121.856433000255791, 37.328973001118435 ], [ -121.856065000039763, 37.32858900105802 ], [ -121.856065000091291, 37.328582000312942 ], [ -121.855883999872077, 37.328391000965773 ], [ -121.855441000305703, 37.327885000391348 ], [ -121.855064000328483, 37.327489000682277 ], [ -121.854891000039871, 37.327331000664614 ], [ -121.854595000124348, 37.327062000578195 ], [ -121.854495000001847, 37.326972001130486 ], [ -121.854264000173117, 37.326741001121512 ], [ -121.853264000250562, 37.325941000705392 ], [ -121.853064000001581, 37.325741000441674 ], [ -121.852263999812365, 37.324741001065313 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 564, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.880864999478803, 37.292142000696046 ], [ -121.880465000124758, 37.292242001005377 ], [ -121.879365000227082, 37.292411000770137 ], [ -121.878205000102184, 37.292525000622547 ], [ -121.877610999736319, 37.292653000446272 ], [ -121.877464999784891, 37.292642000993766 ], [ -121.875264999403896, 37.292942000881304 ], [ -121.874764999908336, 37.29304200036291 ], [ -121.873264999926192, 37.293742000412145 ], [ -121.872691000381693, 37.294507000241886 ], [ -121.872298000251163, 37.295031000750889 ], [ -121.872315000098723, 37.294063000666569 ], [ -121.872296000480588, 37.293812000594841 ], [ -121.87228900046415, 37.293720000563411 ], [ -121.872176999581086, 37.292759000332488 ], [ -121.872161000508811, 37.292709000423265 ], [ -121.871908999424207, 37.291926000254776 ], [ -121.871697999730898, 37.29136800090928 ], [ -121.8716030004949, 37.291115000641632 ], [ -121.871140000341924, 37.290298000498815 ], [ -121.870798999490347, 37.289842000248932 ], [ -121.868863000147158, 37.287977000799081 ], [ -121.868049000043484, 37.28719400070343 ], [ -121.867733000445725, 37.286890000371606 ], [ -121.867415999684198, 37.286585000834812 ], [ -121.866909000009784, 37.284969001066067 ], [ -121.866120000281569, 37.282796001028871 ], [ -121.866005999407562, 37.282482000732877 ], [ -121.865870000291622, 37.282107000514344 ], [ -121.865732000422298, 37.281774001106719 ], [ -121.865668000477356, 37.281620000992852 ], [ -121.865168999942355, 37.280417000934214 ], [ -121.864896999869856, 37.279760000724742 ], [ -121.864819000168112, 37.279572000238055 ], [ -121.863088999900157, 37.275372001075119 ], [ -121.862660999584122, 37.274407000773294 ], [ -121.866102999883225, 37.274781000870881 ], [ -121.866664000067146, 37.274842000672848 ], [ -121.868664000357882, 37.275242000308857 ], [ -121.869463999481766, 37.275342001120691 ], [ -121.870563999791145, 37.275542001092425 ], [ -121.873164000354208, 37.275842000805923 ], [ -121.877065000260728, 37.275842000977221 ], [ -121.877465000054357, 37.276842000711582 ], [ -121.877665000330964, 37.277242001103396 ], [ -121.878081000521206, 37.278630000298428 ], [ -121.878264999817148, 37.279242000532413 ], [ -121.880964999609574, 37.281242000978899 ], [ -121.881665000108569, 37.282242000949466 ], [ -121.88186500015307, 37.282942000717831 ], [ -121.88286500037411, 37.284742000591962 ], [ -121.882650000324801, 37.285764000511897 ], [ -121.882440000194705, 37.286762000742058 ], [ -121.882065000034245, 37.288542000712816 ], [ -121.880864999478803, 37.292142000696046 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 561, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.874165000310711, 37.316441000927981 ], [ -121.875265000060637, 37.317541000393362 ], [ -121.876058999433496, 37.318303000822375 ], [ -121.87648300033112, 37.318784000417132 ], [ -121.877764999561023, 37.320141000764124 ], [ -121.878765000163227, 37.321141000735736 ], [ -121.879564999683225, 37.321941001120194 ], [ -121.88026500035582, 37.322741000668969 ], [ -121.879564999790063, 37.323141000476021 ], [ -121.878464999536675, 37.323641000546857 ], [ -121.877165000022146, 37.324241000455679 ], [ -121.876265000494428, 37.324641001133358 ], [ -121.875264999411812, 37.325241000446454 ], [ -121.87416499992031, 37.325741000512657 ], [ -121.873064999407148, 37.326241001012704 ], [ -121.872165000180772, 37.326741000579176 ], [ -121.871065000083803, 37.327241000233876 ], [ -121.869965000093217, 37.327741000332708 ], [ -121.868965000495109, 37.328241000607598 ], [ -121.868464999793247, 37.32854100058163 ], [ -121.868064999867016, 37.328741000891291 ], [ -121.866665000108668, 37.326741000719842 ], [ -121.8661649998527, 37.326941000240502 ], [ -121.86586500046414, 37.325841000984141 ], [ -121.861865000112942, 37.321841000721733 ], [ -121.862264999497214, 37.321641000280316 ], [ -121.865764999990972, 37.319941000696126 ], [ -121.868864999695163, 37.318441000655532 ], [ -121.87156499960038, 37.317641000721039 ], [ -121.87176499986009, 37.3175410007143 ], [ -121.872573999424162, 37.317106000732394 ], [ -121.874165000310711, 37.316441000927981 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 562, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.880165000327366, 37.312341001084008 ], [ -121.880596999460337, 37.312053001096771 ], [ -121.881065000339973, 37.311741000808688 ], [ -121.881864999619012, 37.311242000257266 ], [ -121.882289000460176, 37.310933000749515 ], [ -121.882964999800151, 37.310442000567186 ], [ -121.887365000390659, 37.316041000345464 ], [ -121.887064999989661, 37.316241000523057 ], [ -121.886864999725958, 37.316441000634697 ], [ -121.886165000107127, 37.316741000729955 ], [ -121.885865000513178, 37.316841000341086 ], [ -121.88516499941592, 37.31744100031375 ], [ -121.884165000475789, 37.317941000893988 ], [ -121.883264999426828, 37.318441000246224 ], [ -121.882364999758167, 37.319041000857375 ], [ -121.881965000314651, 37.319241000422309 ], [ -121.88096500048357, 37.319841000602096 ], [ -121.880664999761564, 37.319941000350923 ], [ -121.879865000312634, 37.320441000897361 ], [ -121.878765000163227, 37.321141000735736 ], [ -121.877764999561023, 37.320141000764124 ], [ -121.87648300033112, 37.318784000417132 ], [ -121.876058999433496, 37.318303000822375 ], [ -121.875265000060637, 37.317541000393362 ], [ -121.874165000310711, 37.316441000927981 ], [ -121.874964999404696, 37.315841000629895 ], [ -121.875164999408511, 37.315741001087368 ], [ -121.87566500040181, 37.315341001035677 ], [ -121.876264999980023, 37.31504100045543 ], [ -121.877065000112026, 37.314441000931495 ], [ -121.87806499983175, 37.313641001067239 ], [ -121.878364999794201, 37.313441000285721 ], [ -121.879265000225658, 37.312841000486792 ], [ -121.880165000327366, 37.312341001084008 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 568, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.835763000339526, 37.295842000864511 ], [ -121.835448000022666, 37.295478000902904 ], [ -121.835162999880808, 37.295142001028523 ], [ -121.834163000177128, 37.294342000778201 ], [ -121.833163000451279, 37.293342001013023 ], [ -121.833963000257469, 37.292342001094163 ], [ -121.833997999944799, 37.292177000793842 ], [ -121.834131999783267, 37.291542000527848 ], [ -121.834362999469263, 37.290442000588833 ], [ -121.834423000373889, 37.289821000763581 ], [ -121.834436000056499, 37.289686000394255 ], [ -121.834441000064146, 37.289634000352642 ], [ -121.834436000479002, 37.289108000583418 ], [ -121.834432000255177, 37.288634000415506 ], [ -121.834414000036318, 37.286578001029483 ], [ -121.834400999638206, 37.285166000377139 ], [ -121.834397999974087, 37.284840000524525 ], [ -121.834395000298287, 37.284514000654688 ], [ -121.834462999880202, 37.284142001051713 ], [ -121.834563000307909, 37.282542000392979 ], [ -121.83596300019282, 37.280642000489927 ], [ -121.83696299991314, 37.279642000434336 ], [ -121.838163000501964, 37.280742000588006 ], [ -121.839163000437438, 37.281742000876676 ], [ -121.839763000509095, 37.282442000375767 ], [ -121.841262999680609, 37.284042000689723 ], [ -121.84190999976181, 37.284579000420074 ], [ -121.842292999578405, 37.284896000813028 ], [ -121.842650000226755, 37.285193000763947 ], [ -121.842970000362527, 37.285468001024732 ], [ -121.844981000482463, 37.287364001052524 ], [ -121.845064000252336, 37.287442000839235 ], [ -121.846541999600362, 37.288847000231357 ], [ -121.846650999749968, 37.288950000672124 ], [ -121.847064000315683, 37.289342000859875 ], [ -121.848163999763898, 37.290442001069898 ], [ -121.845123000461726, 37.292525000341371 ], [ -121.844436000061151, 37.29299100055028 ], [ -121.844190000025606, 37.293166000904868 ], [ -121.844084000232499, 37.293241000725175 ], [ -121.843856000315881, 37.293403000257925 ], [ -121.84346599969156, 37.293668000712131 ], [ -121.843060000425936, 37.293944000344126 ], [ -121.842696999414201, 37.294189000726419 ], [ -121.842165000242503, 37.294547000935204 ], [ -121.84146400005595, 37.295042000619063 ], [ -121.841232000343993, 37.295203000382259 ], [ -121.840804999913644, 37.295502000681147 ], [ -121.840637000446605, 37.295646000256269 ], [ -121.83918600034734, 37.296630000642452 ], [ -121.838998999701317, 37.296778000906713 ], [ -121.838896000057616, 37.296859000430771 ], [ -121.838585000171022, 37.297058000239609 ], [ -121.838347000134632, 37.297210000253436 ], [ -121.837862999693925, 37.297742000915562 ], [ -121.836806000424147, 37.296798000997448 ], [ -121.836462999523775, 37.296442001078091 ], [ -121.835763000339526, 37.295842000864511 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 572, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.819563000471192, 37.284442000732973 ], [ -121.820062999414773, 37.284442000254536 ], [ -121.821729999937887, 37.284438000994399 ], [ -121.821831000465977, 37.28446900062076 ], [ -121.822063000010758, 37.284542000793174 ], [ -121.822464000413774, 37.284567000631057 ], [ -121.823588999565715, 37.284637001103228 ], [ -121.824364000091663, 37.284685001123322 ], [ -121.825157999718883, 37.284735000885775 ], [ -121.82526299962683, 37.28474200102864 ], [ -121.826124999980763, 37.28571700048446 ], [ -121.82638399988835, 37.286010000696955 ], [ -121.827163000030538, 37.28684200071713 ], [ -121.827463000341609, 37.287242001043353 ], [ -121.827713999905683, 37.287543000576093 ], [ -121.827962999625655, 37.287842000410407 ], [ -121.828462999429263, 37.288342000273822 ], [ -121.829100000055732, 37.289095000982037 ], [ -121.829563000033673, 37.289642000503726 ], [ -121.829840999720219, 37.289951000619816 ], [ -121.830463000203579, 37.290642000567722 ], [ -121.830597999746445, 37.29082200072795 ], [ -121.830762999927686, 37.291042000620884 ], [ -121.831160999520748, 37.291423000263485 ], [ -121.833163000451279, 37.293342001013023 ], [ -121.824965000020356, 37.298324000388888 ], [ -121.824762999490403, 37.298542000572709 ], [ -121.823162999939001, 37.297842000563847 ], [ -121.821662999870043, 37.296642000968419 ], [ -121.820462999490886, 37.294842000866616 ], [ -121.820362999562391, 37.294542000349757 ], [ -121.818463000115784, 37.290242000503035 ], [ -121.818062999919505, 37.289642000436636 ], [ -121.816663000352008, 37.288542000645364 ], [ -121.81506300002539, 37.288642000869281 ], [ -121.813961999995058, 37.289042001085647 ], [ -121.812961999665418, 37.289142001006951 ], [ -121.812363999821955, 37.288886000412816 ], [ -121.81226200034655, 37.288842000586584 ], [ -121.813161999930728, 37.285142000668678 ], [ -121.813761999471993, 37.284142000987877 ], [ -121.813901999901674, 37.284165000378671 ], [ -121.814013999672909, 37.284184000965638 ], [ -121.814361999611435, 37.28424200112503 ], [ -121.815562000323666, 37.284242000336803 ], [ -121.817262999739114, 37.284342000662541 ], [ -121.818863000263079, 37.284342000648941 ], [ -121.819563000471192, 37.284442000732973 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 574, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.839563999542875, 37.299342000644074 ], [ -121.840196000406138, 37.300065000399137 ], [ -121.840263999889117, 37.300142001062596 ], [ -121.840863999958174, 37.300742000299437 ], [ -121.841024999683938, 37.300930000245131 ], [ -121.841463999670211, 37.301442001017328 ], [ -121.84168900001319, 37.301630001085407 ], [ -121.842064000195265, 37.301942000489269 ], [ -121.842139999850687, 37.302056000260201 ], [ -121.84226400023752, 37.302242000548937 ], [ -121.842418000103052, 37.302385000645835 ], [ -121.842768999451863, 37.302711000726227 ], [ -121.84366399948189, 37.303542000483219 ], [ -121.844038000445934, 37.30393700070001 ], [ -121.845143000214193, 37.305103000986811 ], [ -121.845464000012782, 37.305442000598887 ], [ -121.84565700004805, 37.305610000911344 ], [ -121.846008000298156, 37.306029000554744 ], [ -121.846755999903749, 37.30682200090169 ], [ -121.846879000127373, 37.306941000271955 ], [ -121.847000000158872, 37.307058000666522 ], [ -121.84796399947858, 37.308041000839381 ], [ -121.846585000386085, 37.308867000570714 ], [ -121.846278999606909, 37.309042000975722 ], [ -121.845452999871398, 37.309563000762708 ], [ -121.844486999605294, 37.310208000378282 ], [ -121.844163999924035, 37.3104410002992 ], [ -121.842964000412522, 37.309241000244164 ], [ -121.841863999781808, 37.308941000581832 ], [ -121.840932999661163, 37.308941000976645 ], [ -121.840864000289258, 37.308941001092258 ], [ -121.840863000522972, 37.308941000312053 ], [ -121.840648999684774, 37.308893000904781 ], [ -121.839963999404944, 37.308741000326215 ], [ -121.839079999962223, 37.307928000721802 ], [ -121.838835999802555, 37.307631000608978 ], [ -121.838347999577053, 37.306440000986093 ], [ -121.838763999390792, 37.304242001026623 ], [ -121.838263999905024, 37.30354200069219 ], [ -121.83686300039713, 37.301742000898479 ], [ -121.835762999590798, 37.301542000926908 ], [ -121.834463000491496, 37.301342000435646 ], [ -121.832578999459272, 37.300475000400425 ], [ -121.830462999520165, 37.29964200041001 ], [ -121.827763000391101, 37.29924200087288 ], [ -121.825178999420757, 37.298575000400426 ], [ -121.824762999490403, 37.298542000572709 ], [ -121.824965000020356, 37.298324000388888 ], [ -121.833163000451279, 37.293342001013023 ], [ -121.834163000177128, 37.294342000778201 ], [ -121.835162999880808, 37.295142001028523 ], [ -121.835448000022666, 37.295478000902904 ], [ -121.835763000339526, 37.295842000864511 ], [ -121.836462999523775, 37.296442001078091 ], [ -121.836806000424147, 37.296798000997448 ], [ -121.837862999693925, 37.297742000915562 ], [ -121.838852000315399, 37.298671000932657 ], [ -121.839563999542875, 37.299342000644074 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 569, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.831160999520748, 37.291423000263485 ], [ -121.830762999927686, 37.291042000620884 ], [ -121.830597999746445, 37.29082200072795 ], [ -121.830463000203579, 37.290642000567722 ], [ -121.829840999720219, 37.289951000619816 ], [ -121.829563000033673, 37.289642000503726 ], [ -121.829100000055732, 37.289095000982037 ], [ -121.828462999429263, 37.288342000273822 ], [ -121.827962999625655, 37.287842000410407 ], [ -121.827713999905683, 37.287543000576093 ], [ -121.827463000341609, 37.287242001043353 ], [ -121.827163000030538, 37.28684200071713 ], [ -121.82638399988835, 37.286010000696955 ], [ -121.826124999980763, 37.28571700048446 ], [ -121.82526299962683, 37.28474200102864 ], [ -121.825062999819977, 37.284542000267606 ], [ -121.824263000411733, 37.283542000792458 ], [ -121.823662999922988, 37.282842000396968 ], [ -121.823462999567838, 37.282442000245474 ], [ -121.825377999493952, 37.282540000695526 ], [ -121.827362999700483, 37.282642000533635 ], [ -121.827663000114754, 37.282542000504655 ], [ -121.829063000134695, 37.282942000941375 ], [ -121.831763000279921, 37.283542000585875 ], [ -121.83356299982934, 37.283742000360036 ], [ -121.834462999880202, 37.284142001051713 ], [ -121.834395000298287, 37.284514000654688 ], [ -121.834397999974087, 37.284840000524525 ], [ -121.834400999638206, 37.285166000377139 ], [ -121.834414000036318, 37.286578001029483 ], [ -121.834432000255177, 37.288634000415506 ], [ -121.834436000479002, 37.289108000583418 ], [ -121.834441000064146, 37.289634000352642 ], [ -121.834436000056499, 37.289686000394255 ], [ -121.834423000373889, 37.289821000763581 ], [ -121.834362999469263, 37.290442000588833 ], [ -121.834131999783267, 37.291542000527848 ], [ -121.833997999944799, 37.292177000793842 ], [ -121.833963000257469, 37.292342001094163 ], [ -121.833163000451279, 37.293342001013023 ], [ -121.831160999520748, 37.291423000263485 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 582, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.81626299945502, 37.312441001113996 ], [ -121.815779000135251, 37.312109000917346 ], [ -121.81556299987929, 37.311941000672135 ], [ -121.814863000503181, 37.311441000623191 ], [ -121.814363000144255, 37.310941000568846 ], [ -121.814063000145197, 37.310641000428923 ], [ -121.813663000053268, 37.310241000564396 ], [ -121.812363000138916, 37.308741000814507 ], [ -121.81096299998201, 37.307141000867517 ], [ -121.811262999492655, 37.306941000788882 ], [ -121.812962999566068, 37.305841000868966 ], [ -121.813654000302378, 37.305446000349136 ], [ -121.814195000125594, 37.305087000304681 ], [ -121.814655000072378, 37.304849000417619 ], [ -121.81606300015163, 37.303941000389806 ], [ -121.816512000014413, 37.303671000705293 ], [ -121.816933999482785, 37.303413000255681 ], [ -121.81966299955937, 37.306241000804157 ], [ -121.820262999715965, 37.30664100091515 ], [ -121.821363000063769, 37.307741001102137 ], [ -121.821662999888289, 37.308141000733997 ], [ -121.822141999713168, 37.308722000448014 ], [ -121.822812999595243, 37.30940100087868 ], [ -121.82491899956041, 37.311401000580219 ], [ -121.825528999500051, 37.312049000931317 ], [ -121.826013000017795, 37.312564000319888 ], [ -121.826426999945795, 37.313004001116695 ], [ -121.827044999754861, 37.313662000422944 ], [ -121.82724900025454, 37.313879000441986 ], [ -121.828970000154555, 37.315710000702012 ], [ -121.829402999519445, 37.316171001102688 ], [ -121.829562999525464, 37.316341001063307 ], [ -121.831263999899733, 37.318241000627694 ], [ -121.83166399949917, 37.31854100037323 ], [ -121.831064000171182, 37.319041000377631 ], [ -121.829262999563213, 37.320341000389362 ], [ -121.828762999844429, 37.320641000713309 ], [ -121.82746299972176, 37.32164100110063 ], [ -121.826163000275869, 37.322541000792853 ], [ -121.824962999535188, 37.321141000521905 ], [ -121.82433900031792, 37.320517001087246 ], [ -121.823662999837879, 37.319841000237432 ], [ -121.822662999944328, 37.318841000935549 ], [ -121.822263000517836, 37.318341000750543 ], [ -121.821063000472819, 37.317141000653734 ], [ -121.820562999498478, 37.316541000988025 ], [ -121.819963000294152, 37.315941000626694 ], [ -121.819363000372178, 37.315341000830593 ], [ -121.818862999724431, 37.314741000300167 ], [ -121.818362999911315, 37.314241000852185 ], [ -121.818125000153984, 37.313976001063992 ], [ -121.817462999897273, 37.313241000911809 ], [ -121.81626299945502, 37.312441001113996 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 647, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.779442000265504, 37.339139000585945 ], [ -121.779004999776916, 37.338948000587528 ], [ -121.775052000479945, 37.33595700112393 ], [ -121.774913000426565, 37.3358390008352 ], [ -121.774803000223983, 37.335746000972691 ], [ -121.774147999646829, 37.335193000721794 ], [ -121.772535000393461, 37.333829000994818 ], [ -121.772431000444897, 37.333584000262732 ], [ -121.772398999453486, 37.33342400086736 ], [ -121.772362000434114, 37.333240001071964 ], [ -121.772162000476399, 37.332440000658451 ], [ -121.772131000278506, 37.332378000410486 ], [ -121.772017000243451, 37.332150001062054 ], [ -121.771961999865255, 37.332040000604792 ], [ -121.771861999772142, 37.331840000449617 ], [ -121.771675999658655, 37.331898001042774 ], [ -121.770151999798557, 37.332183000289781 ], [ -121.770088000522804, 37.331850000309025 ], [ -121.769997999902287, 37.331618000553711 ], [ -121.769836999851961, 37.331412000612879 ], [ -121.769505000242006, 37.331076000452185 ], [ -121.769380000247068, 37.33091000071294 ], [ -121.76831899999199, 37.331285000665609 ], [ -121.768093000060503, 37.331365000810138 ], [ -121.768207000397538, 37.331482000644989 ], [ -121.767723999544643, 37.331634000451245 ], [ -121.76759400011909, 37.331453000819309 ], [ -121.767010000088789, 37.331528000666232 ], [ -121.766863999624817, 37.331597000365662 ], [ -121.766687999712929, 37.331578000599656 ], [ -121.766335999425309, 37.331705000759783 ], [ -121.766135000227393, 37.331781000829693 ], [ -121.765914000258348, 37.331857001021376 ], [ -121.765683000321246, 37.3319590009663 ], [ -121.765521999578425, 37.332087000795383 ], [ -121.765320000017809, 37.33229200090981 ], [ -121.765099000138306, 37.332471000670864 ], [ -121.764716999653245, 37.332090000566239 ], [ -121.765460999871408, 37.330940000263176 ], [ -121.766043000512127, 37.330358000597791 ], [ -121.766260999666329, 37.33014000106094 ], [ -121.766205000258736, 37.329952000278467 ], [ -121.766140000327837, 37.329732000972747 ], [ -121.766171000031463, 37.328778000460183 ], [ -121.766249999896885, 37.328331000449339 ], [ -121.7663040001501, 37.328028000460698 ], [ -121.766339000488799, 37.327832001035944 ], [ -121.767146999502529, 37.32736800064098 ], [ -121.768702999441771, 37.326633000991023 ], [ -121.76960399980176, 37.326208000471169 ], [ -121.770137999502069, 37.325933000701163 ], [ -121.773081000366915, 37.325741000607856 ], [ -121.773984000286617, 37.325682000732264 ], [ -121.774335000398608, 37.325636000921392 ], [ -121.77586200022094, 37.32544100036155 ], [ -121.776661999524606, 37.325441001017445 ], [ -121.778761999610651, 37.325241001062921 ], [ -121.780877999931008, 37.325054000624689 ], [ -121.782162000084128, 37.32494100037659 ], [ -121.782461999982971, 37.324941001034901 ], [ -121.782462000254014, 37.325539000694363 ], [ -121.782462000459731, 37.325841000609628 ], [ -121.782561999607651, 37.326841000639583 ], [ -121.782561999502931, 37.327741000841897 ], [ -121.782661999769701, 37.328541000716939 ], [ -121.782661999538917, 37.328741000517766 ], [ -121.78266199971479, 37.32904100111358 ], [ -121.782606000267123, 37.329336000777829 ], [ -121.782636000515396, 37.329565000669291 ], [ -121.78263599958413, 37.329679001033902 ], [ -121.782636000384642, 37.329771000646815 ], [ -121.78260600023863, 37.330144001024088 ], [ -121.782574999453772, 37.330380000279121 ], [ -121.78257500004139, 37.330563000788416 ], [ -121.782606000185197, 37.330716001085143 ], [ -121.782650999895282, 37.33090700073199 ], [ -121.78286200051339, 37.331740000934303 ], [ -121.783061999995553, 37.332440000554001 ], [ -121.783361999935266, 37.333140000746113 ], [ -121.783479999754618, 37.333612001049694 ], [ -121.783561999823107, 37.333940001056334 ], [ -121.78376200036989, 37.334540000430962 ], [ -121.784006999560376, 37.335192000477029 ], [ -121.784061999769008, 37.335340000325061 ], [ -121.784329999582127, 37.336331001088062 ], [ -121.784561999499061, 37.336740000903923 ], [ -121.78458799959806, 37.336900000366469 ], [ -121.784666000503805, 37.337369000587096 ], [ -121.78526200043909, 37.338840000969206 ], [ -121.784446999754849, 37.338960001051291 ], [ -121.782520000184007, 37.339243000671026 ], [ -121.781861999531912, 37.339340000238813 ], [ -121.780862999528964, 37.339473000441387 ], [ -121.780362000045002, 37.339540000625647 ], [ -121.779984000046554, 37.339375000476466 ], [ -121.779442000265504, 37.339139000585945 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 654, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.768560999791376, 37.295442000378493 ], [ -121.769060999748078, 37.296142000871242 ], [ -121.769864999681417, 37.297258000453056 ], [ -121.770861000300016, 37.298641000580659 ], [ -121.771151000233431, 37.298943000972685 ], [ -121.768860999555514, 37.299341000490763 ], [ -121.767061000087594, 37.29854100085111 ], [ -121.765736000488658, 37.298026000311005 ], [ -121.765261000489346, 37.297841000370845 ], [ -121.763463999602848, 37.297753000341594 ], [ -121.761160999648425, 37.297641000330152 ], [ -121.760738999453991, 37.297641001098377 ], [ -121.760660999704314, 37.297641000860672 ], [ -121.758761000329855, 37.298741000444615 ], [ -121.758361000220191, 37.299041000323001 ], [ -121.757732999921529, 37.299385000240136 ], [ -121.756560999675628, 37.298841000245815 ], [ -121.755760999621046, 37.298841000957843 ], [ -121.753259999612652, 37.296841000537782 ], [ -121.751109000052864, 37.29676400025614 ], [ -121.75045999967665, 37.296741000846211 ], [ -121.746445000028572, 37.295007000903404 ], [ -121.746059999405517, 37.294841000826374 ], [ -121.745259999946427, 37.293741000280384 ], [ -121.744028999998747, 37.293501000833736 ], [ -121.740089000246769, 37.292828000962118 ], [ -121.735059999977778, 37.291941000918548 ], [ -121.734612999852075, 37.291781000767905 ], [ -121.722758999520451, 37.287541001055089 ], [ -121.715159000188365, 37.288941000514399 ], [ -121.716959000213421, 37.285541000969808 ], [ -121.716958999617873, 37.285041000407809 ], [ -121.727558999485851, 37.264042000681883 ], [ -121.729659000508491, 37.264642000790801 ], [ -121.730551000476368, 37.264543000472671 ], [ -121.730558999415393, 37.264542001035778 ], [ -121.733459000400288, 37.266642000761379 ], [ -121.734707000504159, 37.267116000328741 ], [ -121.73515599997188, 37.267286000654018 ], [ -121.736191999566216, 37.267679000375743 ], [ -121.737560000308292, 37.268755000899546 ], [ -121.737882000472538, 37.268862000776828 ], [ -121.738293999526022, 37.269141000690588 ], [ -121.738757999618016, 37.269521000748348 ], [ -121.739021999574376, 37.269816000900278 ], [ -121.739510000482966, 37.270001000259384 ], [ -121.740153000057248, 37.270458000795045 ], [ -121.741259999716192, 37.271242000927586 ], [ -121.742859999573881, 37.272142001090415 ], [ -121.744359999543576, 37.272942001110479 ], [ -121.745874999681064, 37.273736000339824 ], [ -121.746460000119981, 37.274042001080801 ], [ -121.746488999494744, 37.274100000466618 ], [ -121.746859999692333, 37.27484200090953 ], [ -121.74811699967178, 37.27627000088421 ], [ -121.748871000497715, 37.277127000582382 ], [ -121.748923999591156, 37.277188000344317 ], [ -121.749060000467594, 37.277342000901456 ], [ -121.749305999854542, 37.277424000778439 ], [ -121.751517999564342, 37.278165000485927 ], [ -121.754141999498103, 37.278960001107791 ], [ -121.754269000485579, 37.279000000975586 ], [ -121.755660000095546, 37.279442000466162 ], [ -121.756660000479101, 37.279542000302882 ], [ -121.758245000015279, 37.280877000526623 ], [ -121.758305999573579, 37.280928000343103 ], [ -121.758559999805186, 37.281142000956251 ], [ -121.758774000068598, 37.281485000914934 ], [ -121.759560000045283, 37.282742000838084 ], [ -121.760059999995974, 37.2831420004525 ], [ -121.760690999511823, 37.283563001012844 ], [ -121.760959999749389, 37.28374200028744 ], [ -121.761789000493778, 37.284689000423406 ], [ -121.762299999443599, 37.285272000818338 ], [ -121.762583000218356, 37.285595000786202 ], [ -121.763060999959421, 37.286142000256987 ], [ -121.763275999573281, 37.286464000313792 ], [ -121.763382000291642, 37.286623000675377 ], [ -121.763461000123641, 37.286742000261754 ], [ -121.764061000476872, 37.287342001080887 ], [ -121.764050000046382, 37.287772000681976 ], [ -121.764159000363009, 37.287833000724262 ], [ -121.764747999494148, 37.288162000838355 ], [ -121.765189000463309, 37.288408000526857 ], [ -121.765461000289335, 37.289042000733062 ], [ -121.765660999437856, 37.289942000804388 ], [ -121.765744000285082, 37.2900310006398 ], [ -121.765393000212086, 37.290336000651116 ], [ -121.765445000295244, 37.29064700062321 ], [ -121.765561000173108, 37.291342000964669 ], [ -121.76572799941097, 37.291556000803027 ], [ -121.765963999458947, 37.291860000591676 ], [ -121.766082000187339, 37.292012000316603 ], [ -121.766260999603176, 37.292242000764652 ], [ -121.766660999848128, 37.292842000615266 ], [ -121.767461000216045, 37.293942000424899 ], [ -121.767860000112918, 37.294474000244776 ], [ -121.768060999911839, 37.294742000468396 ], [ -121.768560999791376, 37.295442000378493 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 645, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.799962999999707, 37.33334000085253 ], [ -121.800153999860726, 37.334020000456938 ], [ -121.800465999628301, 37.33477200075027 ], [ -121.80094799953487, 37.335935000755939 ], [ -121.800656999428142, 37.335958000379733 ], [ -121.799634000430075, 37.336039000285389 ], [ -121.799315000076888, 37.336064000975334 ], [ -121.79838399965783, 37.336240001012364 ], [ -121.797762999581323, 37.336440000682984 ], [ -121.796963000366233, 37.336540000317314 ], [ -121.794361999671722, 37.336940001116695 ], [ -121.794345999830455, 37.336945000915037 ], [ -121.793761999997244, 37.337140000774369 ], [ -121.792661999482121, 37.337640000971099 ], [ -121.791962000089384, 37.337940000809525 ], [ -121.791062000012857, 37.338240000492128 ], [ -121.790161999956396, 37.338240001014327 ], [ -121.788462000227256, 37.338440000344079 ], [ -121.78526200043909, 37.338840000969206 ], [ -121.784666000503805, 37.337369000587096 ], [ -121.78458799959806, 37.336900000366469 ], [ -121.784561999499061, 37.336740000903923 ], [ -121.784329999582127, 37.336331001088062 ], [ -121.784061999769008, 37.335340000325061 ], [ -121.784006999560376, 37.335192000477029 ], [ -121.78376200036989, 37.334540000430962 ], [ -121.783561999823107, 37.333940001056334 ], [ -121.783479999754618, 37.333612001049694 ], [ -121.783361999935266, 37.333140000746113 ], [ -121.783061999995553, 37.332440000554001 ], [ -121.78286200051339, 37.331740000934303 ], [ -121.784261999845128, 37.331440000754448 ], [ -121.785077999832637, 37.331326000853828 ], [ -121.785596999941703, 37.331219000404644 ], [ -121.786817000007247, 37.330968000672954 ], [ -121.787472999542629, 37.330869000900861 ], [ -121.78946199991951, 37.330441001094528 ], [ -121.790174000443102, 37.330313000781651 ], [ -121.790943999733642, 37.330159000323725 ], [ -121.791693000502562, 37.330010000911074 ], [ -121.792813999570058, 37.329786000874392 ], [ -121.794562000104023, 37.329441000564572 ], [ -121.794972999992979, 37.329373000292186 ], [ -121.795115000231192, 37.329349000886417 ], [ -121.795898000350419, 37.329219000328216 ], [ -121.796362000479249, 37.329141000677268 ], [ -121.796918000166357, 37.329031000760942 ], [ -121.797839000451063, 37.328918000895669 ], [ -121.798535999743137, 37.328833000578989 ], [ -121.798551000231981, 37.329199000457258 ], [ -121.799062999726488, 37.330441000335838 ], [ -121.799126999943738, 37.330646000841448 ], [ -121.799200999714131, 37.33088300031536 ], [ -121.799489999712776, 37.331807000607448 ], [ -121.799562999648927, 37.332041000838984 ], [ -121.799762999459162, 37.3327410003766 ], [ -121.799962999999707, 37.33334000085253 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 585, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.8332640004746, 37.32754100034402 ], [ -121.833963999787898, 37.327041000634509 ], [ -121.836264000217284, 37.329241000276319 ], [ -121.836763999488497, 37.329841000511202 ], [ -121.837564000171795, 37.329341000253947 ], [ -121.838964000442203, 37.328441000351148 ], [ -121.839764000381379, 37.328041000667888 ], [ -121.842264000301896, 37.330641000896605 ], [ -121.845464000019675, 37.334141000505539 ], [ -121.844664000480051, 37.334641000658067 ], [ -121.845563999606114, 37.335841000825447 ], [ -121.846664000410385, 37.336941000521811 ], [ -121.846163999732298, 37.337741000347059 ], [ -121.845763999572483, 37.337641000596733 ], [ -121.845264000486353, 37.337841000642122 ], [ -121.845764000329353, 37.338341000409265 ], [ -121.84316400010141, 37.340141000356112 ], [ -121.841464000069664, 37.338241000772342 ], [ -121.84016400041277, 37.33694100107293 ], [ -121.839764000336842, 37.336441000536212 ], [ -121.837564000273005, 37.334241000945546 ], [ -121.837064000389248, 37.33374100100351 ], [ -121.834564000462407, 37.331341000685072 ], [ -121.831863999823184, 37.328541000511841 ], [ -121.832563999677049, 37.327941000800188 ], [ -121.8332640004746, 37.32754100034402 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 581, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.841976000513327, 37.32922000109911 ], [ -121.846163999918758, 37.333541000657213 ], [ -121.848864000498423, 37.336241000276942 ], [ -121.848564000162227, 37.336441000915016 ], [ -121.847975000384807, 37.336855000287052 ], [ -121.846964000295316, 37.337541000622899 ], [ -121.845764000329353, 37.338341000409265 ], [ -121.845264000486353, 37.337841000642122 ], [ -121.845763999572483, 37.337641000596733 ], [ -121.846163999732298, 37.337741000347059 ], [ -121.846664000410385, 37.336941000521811 ], [ -121.845563999606114, 37.335841000825447 ], [ -121.844664000480051, 37.334641000658067 ], [ -121.845464000019675, 37.334141000505539 ], [ -121.842264000301896, 37.330641000896605 ], [ -121.839764000381379, 37.328041000667888 ], [ -121.838964000442203, 37.328441000351148 ], [ -121.837564000171795, 37.329341000253947 ], [ -121.836763999488497, 37.329841000511202 ], [ -121.836264000217284, 37.329241000276319 ], [ -121.833963999787898, 37.327041000634509 ], [ -121.8332640004746, 37.32754100034402 ], [ -121.832563999677049, 37.327941000800188 ], [ -121.831863999823184, 37.328541000511841 ], [ -121.830363999462449, 37.327041000706785 ], [ -121.830132000191995, 37.326809000500788 ], [ -121.829364000059059, 37.326041001126292 ], [ -121.829214000277517, 37.325861000434102 ], [ -121.82786300009262, 37.324241000946955 ], [ -121.826163000275869, 37.322541000792853 ], [ -121.82746299972176, 37.32164100110063 ], [ -121.828762999844429, 37.320641000713309 ], [ -121.829262999563213, 37.320341000389362 ], [ -121.831064000171182, 37.319041000377631 ], [ -121.83166399949917, 37.31854100037323 ], [ -121.83216399941044, 37.319141000505731 ], [ -121.8335639997741, 37.320541000779926 ], [ -121.834473000035857, 37.321479000440014 ], [ -121.835513000149362, 37.32255200055436 ], [ -121.836181000228535, 37.323242000403837 ], [ -121.836608999419212, 37.323683001090671 ], [ -121.837299000479533, 37.324395000971961 ], [ -121.837743000015436, 37.32485300092592 ], [ -121.838046000435369, 37.325166000690352 ], [ -121.838527999989012, 37.325663000702235 ], [ -121.83916899943307, 37.326324000928686 ], [ -121.839611000264995, 37.326780000334004 ], [ -121.840201999950324, 37.327390000465321 ], [ -121.840797999708769, 37.328004000837623 ], [ -121.841158999557194, 37.32837700093642 ], [ -121.84153199976231, 37.328762000760044 ], [ -121.841976000513327, 37.32922000109911 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 586, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.825776999719452, 37.335258001069533 ], [ -121.825437000416755, 37.334913000278021 ], [ -121.824828000068834, 37.334280000667015 ], [ -121.824110000498095, 37.333593000387602 ], [ -121.825063000171596, 37.333141000432875 ], [ -121.826163999715334, 37.332441000547028 ], [ -121.826463999722804, 37.33224100102953 ], [ -121.828364000353886, 37.330941000620001 ], [ -121.829863999932186, 37.329841000575748 ], [ -121.830464000246863, 37.329541000813542 ], [ -121.831063999755116, 37.329041000828873 ], [ -121.831863999823184, 37.328541000511841 ], [ -121.834564000462407, 37.331341000685072 ], [ -121.837064000389248, 37.33374100100351 ], [ -121.837564000273005, 37.334241000945546 ], [ -121.839764000336842, 37.336441000536212 ], [ -121.84016400041277, 37.33694100107293 ], [ -121.841464000069664, 37.338241000772342 ], [ -121.84316400010141, 37.340141000356112 ], [ -121.840564000065868, 37.341840000483515 ], [ -121.839077999481916, 37.342893000966406 ], [ -121.838164000170224, 37.343540000861388 ], [ -121.837763999538581, 37.343740000711158 ], [ -121.836263999908496, 37.342140000543175 ], [ -121.836048999845886, 37.34196400025079 ], [ -121.835399999956707, 37.341432000775185 ], [ -121.833163999784588, 37.33904000086298 ], [ -121.832563999721245, 37.338541000423298 ], [ -121.830964000403114, 37.336941000855759 ], [ -121.829763999619971, 37.335741000301333 ], [ -121.829464000515472, 37.335141000686839 ], [ -121.828964000081271, 37.335441000433235 ], [ -121.828382000267695, 37.335857000685301 ], [ -121.827863999635383, 37.335341000663384 ], [ -121.826974999690975, 37.334501000564508 ], [ -121.826663999691789, 37.334706000951634 ], [ -121.825776999719452, 37.335258001069533 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 587, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.829763999619971, 37.335741000301333 ], [ -121.830964000403114, 37.336941000855759 ], [ -121.832563999721245, 37.338541000423298 ], [ -121.833163999784588, 37.33904000086298 ], [ -121.835399999956707, 37.341432000775185 ], [ -121.836048999845886, 37.34196400025079 ], [ -121.836263999908496, 37.342140000543175 ], [ -121.837763999538581, 37.343740000711158 ], [ -121.835564000031695, 37.345240000728268 ], [ -121.834963999555114, 37.345640000649816 ], [ -121.834464000494634, 37.344940000773192 ], [ -121.832663999920285, 37.343240000526208 ], [ -121.830464000393349, 37.340840000800043 ], [ -121.829863999541061, 37.340340000756761 ], [ -121.829505999694291, 37.339959000781157 ], [ -121.828363999630952, 37.338740000316598 ], [ -121.82696399955465, 37.337441001058288 ], [ -121.826664000423236, 37.336941001122092 ], [ -121.828264000208378, 37.33594100060867 ], [ -121.828382000267695, 37.335857000685301 ], [ -121.828964000081271, 37.335441000433235 ], [ -121.829464000515472, 37.335141000686839 ], [ -121.829763999619971, 37.335741000301333 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 641, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.806663000282938, 37.351540000428798 ], [ -121.805862999938583, 37.352040000262086 ], [ -121.804362999628893, 37.353940001091594 ], [ -121.804263000433821, 37.354640000262698 ], [ -121.804363000459489, 37.355440000992928 ], [ -121.802362999770125, 37.355540000819893 ], [ -121.801862999938137, 37.355540000531114 ], [ -121.801862999956072, 37.354540000301157 ], [ -121.801863000079607, 37.353840000765956 ], [ -121.801863000389545, 37.353340000536562 ], [ -121.800763000041897, 37.352840000938791 ], [ -121.800062999762758, 37.352540000431659 ], [ -121.799662999645932, 37.35234000108742 ], [ -121.798762999955173, 37.351640000468521 ], [ -121.798162999507241, 37.351240000566335 ], [ -121.797262999441742, 37.350640000907852 ], [ -121.796355000106402, 37.34999600082616 ], [ -121.796062999997289, 37.349740000408737 ], [ -121.795362999450774, 37.349240000828829 ], [ -121.794862999848249, 37.349040000709017 ], [ -121.794625000376584, 37.348905000671188 ], [ -121.794141999438693, 37.348630001079037 ], [ -121.793959999443629, 37.348510000998161 ], [ -121.793287999907136, 37.348065000275902 ], [ -121.792662000205439, 37.347646001065321 ], [ -121.79199000013125, 37.347196000507843 ], [ -121.791510000140349, 37.346881000639833 ], [ -121.791302999623156, 37.346745001027038 ], [ -121.790662000105669, 37.346440000419065 ], [ -121.791262000215468, 37.346140000578039 ], [ -121.791471000423272, 37.345914000595364 ], [ -121.79209699956921, 37.345563000335396 ], [ -121.792706999866468, 37.345273000837075 ], [ -121.792729999758294, 37.345291000936221 ], [ -121.793127000036037, 37.345065000346487 ], [ -121.793592999503105, 37.34481500099875 ], [ -121.794663000110759, 37.344340000913029 ], [ -121.796262999853909, 37.343540000387968 ], [ -121.797040999686658, 37.34402900032493 ], [ -121.797880999627466, 37.344586000265323 ], [ -121.798006000078715, 37.344668000644511 ], [ -121.798185999641291, 37.344785000713969 ], [ -121.798362999634307, 37.344940001074882 ], [ -121.799712000264478, 37.34586000050183 ], [ -121.800563000161077, 37.346440000631375 ], [ -121.801362999512378, 37.346940000638114 ], [ -121.802063000129223, 37.347440001071256 ], [ -121.802662999721363, 37.347840000277635 ], [ -121.805363000079026, 37.346440000539936 ], [ -121.808762999729112, 37.344640000231472 ], [ -121.808863000492011, 37.344740000371786 ], [ -121.810662999828338, 37.346740000729568 ], [ -121.811363000036309, 37.347440000391416 ], [ -121.811863000244031, 37.348040000843817 ], [ -121.811062999539772, 37.348540000610427 ], [ -121.810363000185689, 37.348840000490235 ], [ -121.809162999507279, 37.349640000935416 ], [ -121.808862999817833, 37.350240000376843 ], [ -121.808262999843265, 37.350840000668128 ], [ -121.807362999980896, 37.351240000346188 ], [ -121.806663000282938, 37.351540000428798 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 640, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.821328999553245, 37.343066000655448 ], [ -121.82171899972785, 37.343642000704428 ], [ -121.821902999857784, 37.34391400097067 ], [ -121.821802000018735, 37.343962000856067 ], [ -121.821162999786793, 37.344240000779884 ], [ -121.81985200023226, 37.344764000453736 ], [ -121.819663000328759, 37.344840000297154 ], [ -121.818972999834244, 37.344495000850486 ], [ -121.818862999886278, 37.344440000622555 ], [ -121.818562999997297, 37.344040000712802 ], [ -121.818124999829664, 37.344235000613125 ], [ -121.8176629994922, 37.344440000896846 ], [ -121.816862999989098, 37.344840000234576 ], [ -121.817462999662041, 37.345340000612325 ], [ -121.816863000428071, 37.345740000829913 ], [ -121.81636300027327, 37.346140000840755 ], [ -121.815763000397695, 37.346440000802261 ], [ -121.81466300042014, 37.346940000396771 ], [ -121.813863000084567, 37.347340000590435 ], [ -121.813062999726242, 37.347640000801448 ], [ -121.8124630005141, 37.347040001005468 ], [ -121.811363000036309, 37.347440000391416 ], [ -121.810662999828338, 37.346740000729568 ], [ -121.808863000492011, 37.344740000371786 ], [ -121.808762999729112, 37.344640000231472 ], [ -121.808345999618922, 37.344171000488018 ], [ -121.807963000084953, 37.343740000743523 ], [ -121.807662999615715, 37.343540000421228 ], [ -121.807162999822566, 37.34294000026226 ], [ -121.806471000154701, 37.342282000331075 ], [ -121.805984999860314, 37.341668000756016 ], [ -121.805962999496657, 37.341640000327658 ], [ -121.806762999681752, 37.341440000664775 ], [ -121.807662999794687, 37.341140000429611 ], [ -121.807832000367782, 37.341079000338148 ], [ -121.808763000046213, 37.340740000276732 ], [ -121.809363000297125, 37.34064000112469 ], [ -121.809662999433726, 37.340540000856336 ], [ -121.810062999898889, 37.340340000834985 ], [ -121.811758999722827, 37.339814000398718 ], [ -121.812962999785654, 37.339440000457913 ], [ -121.814462999917552, 37.338940000344245 ], [ -121.816462999651733, 37.338340000996702 ], [ -121.817262999912288, 37.33804000085042 ], [ -121.817814999498054, 37.338668000322535 ], [ -121.820163000311481, 37.341340000259507 ], [ -121.820351999638021, 37.34162000083726 ], [ -121.820769999499788, 37.342239000467117 ], [ -121.821328999553245, 37.343066000655448 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 591, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.848163999404136, 37.345040000258493 ], [ -121.848765000406473, 37.345740000470094 ], [ -121.848904999617233, 37.345904001039735 ], [ -121.849364999741923, 37.346440000500934 ], [ -121.849978999718786, 37.346977000683324 ], [ -121.850164999479347, 37.347140000336871 ], [ -121.850893999745807, 37.347926000607181 ], [ -121.85146500042471, 37.348540000607898 ], [ -121.852081999874372, 37.349080000674526 ], [ -121.852152000050395, 37.349140000883338 ], [ -121.852316000184445, 37.349281000954406 ], [ -121.85274299966747, 37.349649000446341 ], [ -121.852965000484389, 37.349840000752749 ], [ -121.853564999582844, 37.350540000236293 ], [ -121.854364999866576, 37.35124000061623 ], [ -121.855065000238667, 37.351940001115402 ], [ -121.85576499943511, 37.352740000386945 ], [ -121.854064999975193, 37.353740000949486 ], [ -121.853520999655814, 37.353940000559952 ], [ -121.852356999663073, 37.354367000770466 ], [ -121.851935999590296, 37.354601000619326 ], [ -121.851865000312429, 37.35464000107654 ], [ -121.851365000262462, 37.354840000440397 ], [ -121.850251000464752, 37.355336000459367 ], [ -121.850203000286115, 37.355372000278372 ], [ -121.85015899998119, 37.355405000544195 ], [ -121.84976499971593, 37.355640000423001 ], [ -121.849365000472872, 37.355840001046651 ], [ -121.84706499972296, 37.356940000632306 ], [ -121.8453649996069, 37.357740000960504 ], [ -121.843864999905463, 37.35854000102308 ], [ -121.843064000017009, 37.358940001026177 ], [ -121.842663999450153, 37.359040000255305 ], [ -121.841964000408396, 37.359440000324724 ], [ -121.841664000029027, 37.359540000878717 ], [ -121.841463999915064, 37.359640000510808 ], [ -121.838964000186124, 37.355540000754857 ], [ -121.838764000261008, 37.354340001132037 ], [ -121.838763999939133, 37.354173000919459 ], [ -121.838763999498369, 37.353240000730437 ], [ -121.839564000107799, 37.351540000488981 ], [ -121.839849999473245, 37.350896000732298 ], [ -121.840458000075245, 37.349528000876653 ], [ -121.841163999604447, 37.347940001098749 ], [ -121.841480000372542, 37.347688000869418 ], [ -121.841714000258222, 37.347500000524832 ], [ -121.843664000346777, 37.345940000995803 ], [ -121.844164000057077, 37.345540000746581 ], [ -121.844763999964741, 37.345140000646325 ], [ -121.845282000332205, 37.344794000357894 ], [ -121.8468639995383, 37.343740000996583 ], [ -121.847063999713754, 37.343840000289781 ], [ -121.847463999518794, 37.344340000485836 ], [ -121.848163999404136, 37.345040000258493 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 594, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.85930899982138, 37.356184000808312 ], [ -121.859465000301242, 37.356340000497809 ], [ -121.860215000282523, 37.357139000849664 ], [ -121.860965000455792, 37.357940001034869 ], [ -121.858164999516447, 37.359940000321615 ], [ -121.857482999754026, 37.360395000398682 ], [ -121.856211000321323, 37.361243000761434 ], [ -121.855765000471735, 37.361540001023961 ], [ -121.855676999736019, 37.361599000380501 ], [ -121.855465000461578, 37.361740000647551 ], [ -121.85488100003559, 37.362105001119616 ], [ -121.855041999752189, 37.362233000717985 ], [ -121.854187999637716, 37.362538000626841 ], [ -121.852865000188046, 37.363540001116426 ], [ -121.852365000383671, 37.363140000384263 ], [ -121.852165000142833, 37.362840000923327 ], [ -121.851564999715308, 37.362240000554571 ], [ -121.851264999653537, 37.361940001035627 ], [ -121.850664999874979, 37.361340000624949 ], [ -121.850264999624429, 37.360940001063916 ], [ -121.84986500019987, 37.360540001062667 ], [ -121.849615000446121, 37.360290000488135 ], [ -121.849065000427672, 37.359740000607992 ], [ -121.848465000341406, 37.359140000778034 ], [ -121.848065000417478, 37.358340000825216 ], [ -121.84706499972296, 37.356940000632306 ], [ -121.849365000472872, 37.355840001046651 ], [ -121.84976499971593, 37.355640000423001 ], [ -121.85015899998119, 37.355405000544195 ], [ -121.850203000286115, 37.355372000278372 ], [ -121.850251000464752, 37.355336000459367 ], [ -121.851365000262462, 37.354840000440397 ], [ -121.851865000312429, 37.35464000107654 ], [ -121.851935999590296, 37.354601000619326 ], [ -121.852356999663073, 37.354367000770466 ], [ -121.853520999655814, 37.353940000559952 ], [ -121.854064999975193, 37.353740000949486 ], [ -121.85576499943511, 37.352740000386945 ], [ -121.856964999802486, 37.353940000883796 ], [ -121.8581650004555, 37.355040000758372 ], [ -121.85930899982138, 37.356184000808312 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 597, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.857467999771302, 37.364377000974223 ], [ -121.855804999692609, 37.36272900028397 ], [ -121.855041999752189, 37.362233000717985 ], [ -121.85488100003559, 37.362105001119616 ], [ -121.855465000461578, 37.361740000647551 ], [ -121.855676999736019, 37.361599000380501 ], [ -121.855765000471735, 37.361540001023961 ], [ -121.856211000321323, 37.361243000761434 ], [ -121.857482999754026, 37.360395000398682 ], [ -121.858164999516447, 37.359940000321615 ], [ -121.860965000455792, 37.357940001034869 ], [ -121.861964999729793, 37.35894000093046 ], [ -121.862413999643579, 37.359416001122604 ], [ -121.862996999661959, 37.360033000233159 ], [ -121.863665000318193, 37.360740000852829 ], [ -121.864864999691363, 37.361940000676128 ], [ -121.865364999409053, 37.362440000546719 ], [ -121.866913000193691, 37.363950000711583 ], [ -121.86746000018924, 37.364543000695285 ], [ -121.867465000452768, 37.364540000244766 ], [ -121.869066000404771, 37.366340000274114 ], [ -121.869155999537981, 37.36641200097251 ], [ -121.869565999818676, 37.366740000327376 ], [ -121.869217999477939, 37.366979000593773 ], [ -121.868439999644451, 37.367520000373361 ], [ -121.867843999714154, 37.367886000811232 ], [ -121.867080999759125, 37.368413001119762 ], [ -121.866455999606785, 37.368817001003549 ], [ -121.865815999590112, 37.369288000759759 ], [ -121.865065000194733, 37.369840000534168 ], [ -121.8632209998012, 37.370992000794104 ], [ -121.862443000288764, 37.370534000559047 ], [ -121.862360999755325, 37.370443000316889 ], [ -121.862228999670663, 37.370297000580088 ], [ -121.861130000383767, 37.369077000559379 ], [ -121.860580999412903, 37.368634000332833 ], [ -121.860308000024574, 37.368488000907 ], [ -121.859747999474138, 37.367956000738936 ], [ -121.858756999555354, 37.367026001098161 ], [ -121.858665000508068, 37.36694000068924 ], [ -121.858365000106517, 37.365540000852647 ], [ -121.857964999663722, 37.364940000970662 ], [ -121.857565000491419, 37.36454000071101 ], [ -121.857467999771302, 37.364377000974223 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 632, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.839165000515692, 37.372940000508976 ], [ -121.839360999495511, 37.372775000319166 ], [ -121.8401649999619, 37.372098000300923 ], [ -121.840524000212937, 37.371845001060819 ], [ -121.840807999552851, 37.37164500057537 ], [ -121.840906999847078, 37.371575000561101 ], [ -121.841644999828986, 37.371053000615973 ], [ -121.841865000346914, 37.370740000888425 ], [ -121.843064999631068, 37.369940001047993 ], [ -121.843565000320936, 37.369540000641884 ], [ -121.844465000153889, 37.368940001070918 ], [ -121.845884999889051, 37.368284001034503 ], [ -121.846365000162905, 37.368040000642203 ], [ -121.846565000387073, 37.367840000298955 ], [ -121.848065000279234, 37.369640000492765 ], [ -121.848565000157279, 37.37024000082851 ], [ -121.849064999889265, 37.370740000992178 ], [ -121.850264999802235, 37.371840000688373 ], [ -121.850351000245809, 37.371969000734772 ], [ -121.850664999785621, 37.37244000053591 ], [ -121.851931000316128, 37.373830000249491 ], [ -121.85294300023817, 37.374940001001555 ], [ -121.854765000065768, 37.376940000347879 ], [ -121.854854999884168, 37.377021000849801 ], [ -121.853516000373716, 37.377683000324822 ], [ -121.853318999940029, 37.377830001041794 ], [ -121.852753000232681, 37.378271000371512 ], [ -121.852370000294485, 37.378569000298072 ], [ -121.852234000189767, 37.378673000681466 ], [ -121.852120000319388, 37.378729001039623 ], [ -121.852052999570176, 37.37877700030532 ], [ -121.852009000235498, 37.378809000569085 ], [ -121.851394999800362, 37.37924600027975 ], [ -121.851064999591003, 37.379439001048276 ], [ -121.850776999803159, 37.379487000888645 ], [ -121.849864999782483, 37.37963900098552 ], [ -121.849580000212129, 37.37966300104376 ], [ -121.84873999947402, 37.379887000320899 ], [ -121.848664000350709, 37.379907001036571 ], [ -121.847988999634993, 37.380230000683561 ], [ -121.847585999958937, 37.380423000580443 ], [ -121.84701100012937, 37.380787001047437 ], [ -121.846678000005497, 37.380998000390903 ], [ -121.845965000450448, 37.381639000281467 ], [ -121.845265000005554, 37.382139000469863 ], [ -121.84466500037388, 37.38263900097698 ], [ -121.843765000345996, 37.383239000491983 ], [ -121.843164999952748, 37.383739000367044 ], [ -121.842665000063818, 37.384039000610372 ], [ -121.842142999460833, 37.383343000317097 ], [ -121.84206499957773, 37.383239000231825 ], [ -121.841864999744004, 37.383039000958185 ], [ -121.841564999724525, 37.382739000961777 ], [ -121.84142699973863, 37.382518000613743 ], [ -121.841311999666857, 37.38233400087946 ], [ -121.841064999684022, 37.381939000788762 ], [ -121.840865000253061, 37.381739000729176 ], [ -121.840681000076515, 37.381555000874236 ], [ -121.840565000252155, 37.381439000900102 ], [ -121.839965000500911, 37.380739000260007 ], [ -121.83916499993245, 37.37963900070325 ], [ -121.83886500041001, 37.379239000551777 ], [ -121.838565000057301, 37.378939001055947 ], [ -121.837798999956519, 37.377854000805158 ], [ -121.837365000182302, 37.377239000914543 ], [ -121.836865000402, 37.376539000511976 ], [ -121.83676400010178, 37.376339001001234 ], [ -121.83660799989957, 37.376118000884198 ], [ -121.836501999684657, 37.375980000845253 ], [ -121.835864000507755, 37.375139000598459 ], [ -121.836173000431828, 37.374939000762204 ], [ -121.837563999620073, 37.374040000728982 ], [ -121.83796499966401, 37.373740000283718 ], [ -121.838974999558516, 37.37286800043092 ], [ -121.839165000515692, 37.372940000508976 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 589, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.830279999483366, 37.355155000367738 ], [ -121.830269000184416, 37.355141001054882 ], [ -121.829619999674691, 37.35429900094239 ], [ -121.829448000280536, 37.354023000693672 ], [ -121.82936399952392, 37.353840000633738 ], [ -121.828012000352288, 37.351705000402248 ], [ -121.82746400029211, 37.35084000085876 ], [ -121.829064000042308, 37.349640001008638 ], [ -121.830563999848451, 37.348640000768505 ], [ -121.831170999780753, 37.348235000302218 ], [ -121.832963999524921, 37.347040000793619 ], [ -121.833563999642124, 37.347840000663901 ], [ -121.834663999976641, 37.349040000855837 ], [ -121.835021999601153, 37.349416000734664 ], [ -121.836663999703617, 37.351140000862912 ], [ -121.837064000112306, 37.351440001076419 ], [ -121.837764000083524, 37.352240001057829 ], [ -121.838763999498369, 37.353240000730437 ], [ -121.838763999939133, 37.354173000919459 ], [ -121.838764000261008, 37.354340001132037 ], [ -121.838964000186124, 37.355540000754857 ], [ -121.841463999915064, 37.359640000510808 ], [ -121.841164000346524, 37.359740000691758 ], [ -121.840686000083863, 37.360057000499154 ], [ -121.840320999450611, 37.360326000535515 ], [ -121.840042000328992, 37.36043300073846 ], [ -121.839664000509401, 37.360440000740894 ], [ -121.83915999968562, 37.360692000520132 ], [ -121.838463999988917, 37.361040000718404 ], [ -121.837177999572759, 37.361659001089542 ], [ -121.835764000251842, 37.362340000345533 ], [ -121.835264000469309, 37.361940000915553 ], [ -121.834263999825808, 37.360940000491887 ], [ -121.834063999716548, 37.360640000597733 ], [ -121.833863999423698, 37.360240000476168 ], [ -121.83354100035119, 37.359746000503712 ], [ -121.833363999799346, 37.359640000480937 ], [ -121.833281000361495, 37.3595070004625 ], [ -121.832864000316945, 37.358840000380546 ], [ -121.832564000365551, 37.358540000734358 ], [ -121.832518999721273, 37.358450000444726 ], [ -121.832463999818359, 37.358340000776522 ], [ -121.832482000241953, 37.358331001038849 ], [ -121.832421999493434, 37.358239000387066 ], [ -121.832229000432676, 37.357945000886723 ], [ -121.831864000504993, 37.357440000779448 ], [ -121.831364000203436, 37.356740000487186 ], [ -121.831064000425542, 37.356340000720955 ], [ -121.830928999452169, 37.356171000278252 ], [ -121.830663999939475, 37.355840000412009 ], [ -121.830563999938875, 37.355640000629037 ], [ -121.830367999930672, 37.355237001042845 ], [ -121.830279999483366, 37.355155000367738 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 627, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.862680000466128, 37.384542000969141 ], [ -121.862839000105296, 37.384708000789509 ], [ -121.862351999844549, 37.385181000613173 ], [ -121.862210999649491, 37.385319000559505 ], [ -121.861965999397015, 37.385539000847693 ], [ -121.86136599974337, 37.386139000532921 ], [ -121.861065999931441, 37.386539000700907 ], [ -121.860864999719766, 37.386739000837281 ], [ -121.859164999756857, 37.387839000906624 ], [ -121.858509000143826, 37.38833100055988 ], [ -121.857741000212215, 37.388907000674287 ], [ -121.857165000411229, 37.389339001003009 ], [ -121.856565000185824, 37.389839001087601 ], [ -121.857765000088236, 37.39153900105395 ], [ -121.857965000074955, 37.391739000641429 ], [ -121.858064999950017, 37.39203900084965 ], [ -121.858200999502401, 37.39207800092025 ], [ -121.858233000073952, 37.392133000292489 ], [ -121.858465000049449, 37.392539000963716 ], [ -121.858677000242366, 37.392846000995362 ], [ -121.85887700009998, 37.393137000586805 ], [ -121.859091999428415, 37.393449000580418 ], [ -121.859566000193595, 37.394139000486504 ], [ -121.8589040004195, 37.394398000657446 ], [ -121.858731999506816, 37.394468000284171 ], [ -121.858066000287025, 37.3947390007446 ], [ -121.857978999427928, 37.394783000958704 ], [ -121.857264999674925, 37.395139000509822 ], [ -121.856365000114323, 37.395639000251627 ], [ -121.855765000229994, 37.395839000461123 ], [ -121.854765000175149, 37.396339000643678 ], [ -121.854465000251693, 37.396439000631368 ], [ -121.853364999540219, 37.396939000505967 ], [ -121.852865000444339, 37.397239000570693 ], [ -121.852565000068083, 37.397339001081896 ], [ -121.850265000476753, 37.398439000996191 ], [ -121.848664999685596, 37.399139000591646 ], [ -121.846964999710863, 37.399739000525514 ], [ -121.846664999641945, 37.398539000377085 ], [ -121.84626500024153, 37.397739000834797 ], [ -121.845664999531508, 37.396639000541597 ], [ -121.844864999813325, 37.395039000287305 ], [ -121.844765000429717, 37.394739001118488 ], [ -121.844664999781997, 37.394539000371722 ], [ -121.844464999902655, 37.394339001098395 ], [ -121.84406499993618, 37.393339000404808 ], [ -121.843665000315937, 37.392639000235981 ], [ -121.843353999922684, 37.392177000550149 ], [ -121.843138000446416, 37.391656000768435 ], [ -121.84296500043115, 37.391239000927982 ], [ -121.842665000462659, 37.390739000416325 ], [ -121.842565000269929, 37.390539000547626 ], [ -121.844065000157826, 37.389839000896437 ], [ -121.846464999760357, 37.38903900072318 ], [ -121.848209000427516, 37.388480000302806 ], [ -121.848601999836163, 37.388591000313788 ], [ -121.848740000011631, 37.388630000952737 ], [ -121.849044999951644, 37.388630000349103 ], [ -121.849564999493211, 37.38873900024555 ], [ -121.849899999570511, 37.38866000064349 ], [ -121.849965000234107, 37.388539000350136 ], [ -121.850865000403388, 37.387839000616296 ], [ -121.852065000319001, 37.386839001069902 ], [ -121.852565000147848, 37.386539000725506 ], [ -121.852764999445711, 37.386339000628695 ], [ -121.853264999440256, 37.385439000248944 ], [ -121.853573999847086, 37.384975000682992 ], [ -121.853664999535425, 37.384839000577543 ], [ -121.853727999516494, 37.384797000646067 ], [ -121.855465000108964, 37.383639000989163 ], [ -121.856564999755889, 37.382839000577782 ], [ -121.855865000443742, 37.382139000474019 ], [ -121.855665000448042, 37.382139000310197 ], [ -121.855760999897498, 37.382067000328881 ], [ -121.857264999551035, 37.380939000460657 ], [ -121.857347999983133, 37.380439000587479 ], [ -121.857365000437127, 37.380339001043701 ], [ -121.857265000121672, 37.380139000476895 ], [ -121.857864999546493, 37.379839000463839 ], [ -121.858020999705289, 37.379990000253507 ], [ -121.859250999428568, 37.381177000231709 ], [ -121.859549999807996, 37.381466000383632 ], [ -121.859914000038415, 37.381817000363291 ], [ -121.860331000107976, 37.382219000267362 ], [ -121.860390999887613, 37.382277000933584 ], [ -121.860538999725549, 37.382420000255294 ], [ -121.860652999983088, 37.382531000607642 ], [ -121.86076500039762, 37.382639000860507 ], [ -121.861065000290139, 37.382939000432891 ], [ -121.862165999450923, 37.384039000483263 ], [ -121.862396999974948, 37.384258001022005 ], [ -121.862515000510413, 37.384370000697416 ], [ -121.862680000466128, 37.384542000969141 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 601, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.879365999999479, 37.369340000922548 ], [ -121.880766000473628, 37.367840001017889 ], [ -121.887265999487198, 37.37134000036869 ], [ -121.888309999448481, 37.372274001080953 ], [ -121.889166000279033, 37.373040000596838 ], [ -121.88962400030627, 37.374338001113017 ], [ -121.889666000215868, 37.37445700111423 ], [ -121.889766000374607, 37.374740001106694 ], [ -121.889915999396607, 37.37494000079419 ], [ -121.890680000155157, 37.37595800043038 ], [ -121.890950000063071, 37.376319000657581 ], [ -121.891265999926333, 37.376740000269095 ], [ -121.895766999453514, 37.377540000844775 ], [ -121.895467000208527, 37.381240001111415 ], [ -121.896049999674801, 37.382738000882533 ], [ -121.895921999583891, 37.382703001046714 ], [ -121.895647999891452, 37.382649001098926 ], [ -121.895265999779056, 37.382596000653116 ], [ -121.894899999644679, 37.382657000384128 ], [ -121.894595000118855, 37.382680000900166 ], [ -121.894273999495979, 37.382726001021233 ], [ -121.89393900002824, 37.38281000051542 ], [ -121.893679000407104, 37.382924000636855 ], [ -121.893495999766728, 37.382985000867215 ], [ -121.89332799984858, 37.383069000987788 ], [ -121.893129999749434, 37.38318300056131 ], [ -121.892823999843671, 37.383279001060558 ], [ -121.892237000140909, 37.383628000293896 ], [ -121.891890999906764, 37.383834000769063 ], [ -121.890366999754434, 37.384740000269602 ], [ -121.890022999659337, 37.384950000564295 ], [ -121.888972999829818, 37.385590000514163 ], [ -121.888457000264779, 37.385905001130915 ], [ -121.887353999951401, 37.38657700037222 ], [ -121.887134000074752, 37.386711000629226 ], [ -121.886265999966184, 37.387240000744455 ], [ -121.885218000353802, 37.386130000376156 ], [ -121.884565999673285, 37.385440000421347 ], [ -121.884531000470901, 37.385402000601474 ], [ -121.884242999751166, 37.385088000570619 ], [ -121.884017000252243, 37.384842000661649 ], [ -121.883932000304299, 37.384749000450185 ], [ -121.8834659994411, 37.384240000944615 ], [ -121.883413000374858, 37.384182000469693 ], [ -121.882961999975151, 37.383688001001275 ], [ -121.882483000145584, 37.383163000440284 ], [ -121.882340999555481, 37.38300800076729 ], [ -121.88185299946386, 37.38273300082605 ], [ -121.880065999415805, 37.381140000743976 ], [ -121.879768999720781, 37.380831000773711 ], [ -121.878983999938995, 37.380017000829845 ], [ -121.878666000395043, 37.379840000237621 ], [ -121.87806599986834, 37.379240000238354 ], [ -121.876722999873309, 37.377801001052759 ], [ -121.876666000457675, 37.377740000461642 ], [ -121.876478999547871, 37.377490000450564 ], [ -121.875962999694451, 37.376801000925482 ], [ -121.875497000184382, 37.376179000675748 ], [ -121.875428999634124, 37.376088001048728 ], [ -121.874666000056493, 37.375218000276909 ], [ -121.874414000193383, 37.374940000237565 ], [ -121.874070999873808, 37.374562000331814 ], [ -121.873936000201439, 37.374439000706531 ], [ -121.873166000178571, 37.373740000566286 ], [ -121.874065999508659, 37.3731400009856 ], [ -121.874194000131112, 37.373047000761296 ], [ -121.875090999459189, 37.37239200092246 ], [ -121.875165999433833, 37.372340000352274 ], [ -121.875566000435199, 37.372040000471046 ], [ -121.875965999694799, 37.371640000897067 ], [ -121.876741000478731, 37.370969000583429 ], [ -121.876965999886437, 37.370740000439731 ], [ -121.877665999811242, 37.370340000611591 ], [ -121.879365999999479, 37.369340000922548 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 626, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.857264999674925, 37.395139000509822 ], [ -121.857978999427928, 37.394783000958704 ], [ -121.858066000287025, 37.3947390007446 ], [ -121.858731999506816, 37.394468000284171 ], [ -121.8589040004195, 37.394398000657446 ], [ -121.859566000193595, 37.394139000486504 ], [ -121.860066000252743, 37.394739001129182 ], [ -121.860666000294714, 37.395639000294842 ], [ -121.86086599966545, 37.395939000828633 ], [ -121.860965999647746, 37.396067000274961 ], [ -121.8615660002487, 37.396839000710401 ], [ -121.862266000160389, 37.397839000468686 ], [ -121.862565999855548, 37.398339000423086 ], [ -121.863026999583766, 37.398944000551609 ], [ -121.86416600028204, 37.400439000417968 ], [ -121.86426600051027, 37.400639001107088 ], [ -121.863366000486636, 37.401139000398288 ], [ -121.862866000458212, 37.401539000665231 ], [ -121.862065999940469, 37.402139001097495 ], [ -121.861466000005322, 37.402639001107524 ], [ -121.86016600026619, 37.403839000793369 ], [ -121.858965999541624, 37.405139000240567 ], [ -121.858365999733195, 37.405939001006082 ], [ -121.857065999647389, 37.406339001092014 ], [ -121.856465999885373, 37.406639000572035 ], [ -121.85466600000224, 37.407339000746553 ], [ -121.853765999675545, 37.40773900089691 ], [ -121.851865000094293, 37.405439000260422 ], [ -121.851165000426889, 37.405739001132019 ], [ -121.851064999519423, 37.406139000858779 ], [ -121.852866000426431, 37.408239000604162 ], [ -121.851964999772107, 37.408539000397127 ], [ -121.850664999703667, 37.40913900085507 ], [ -121.850329000118393, 37.409277000451205 ], [ -121.849769000175726, 37.4095060004488 ], [ -121.848464999558942, 37.41003900090621 ], [ -121.848065000033571, 37.409539000638809 ], [ -121.847164999567312, 37.408439000498575 ], [ -121.846765000060088, 37.407539000689702 ], [ -121.846865000299729, 37.407239000496695 ], [ -121.846956000515462, 37.407149000427921 ], [ -121.847264999666095, 37.406839000846283 ], [ -121.848765000102645, 37.406039001076238 ], [ -121.849665000066864, 37.405739000379619 ], [ -121.849565000036648, 37.405439001048293 ], [ -121.849264999555785, 37.404739001102421 ], [ -121.848664999487497, 37.403239000390187 ], [ -121.848164999902096, 37.402439000795042 ], [ -121.84802300009575, 37.401745001089559 ], [ -121.847886000268346, 37.401340000284236 ], [ -121.847837999743163, 37.401146000875585 ], [ -121.847702999581443, 37.400600000271758 ], [ -121.847364999501025, 37.400439000915668 ], [ -121.846964999710863, 37.399739000525514 ], [ -121.848664999685596, 37.399139000591646 ], [ -121.850265000476753, 37.398439000996191 ], [ -121.852565000068083, 37.397339001081896 ], [ -121.852865000444339, 37.397239000570693 ], [ -121.853364999540219, 37.396939000505967 ], [ -121.854465000251693, 37.396439000631368 ], [ -121.854765000175149, 37.396339000643678 ], [ -121.855765000229994, 37.395839000461123 ], [ -121.856365000114323, 37.395639000251627 ], [ -121.857264999674925, 37.395139000509822 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 624, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.873365999480484, 37.407739000660143 ], [ -121.872565999844198, 37.408139000664569 ], [ -121.871665999959461, 37.408539000677621 ], [ -121.870365999943786, 37.409139000823814 ], [ -121.870265999990721, 37.408839000548298 ], [ -121.8698660003149, 37.408439000346263 ], [ -121.869566000267866, 37.407839000762998 ], [ -121.86866600031675, 37.406639000346054 ], [ -121.868365999881249, 37.406339000530565 ], [ -121.868065999861031, 37.405839001041649 ], [ -121.867666000490317, 37.40533900113661 ], [ -121.867165999614556, 37.404639000852825 ], [ -121.866865999409896, 37.40413900098271 ], [ -121.86646600048222, 37.403739000986128 ], [ -121.864465999661107, 37.400839000491665 ], [ -121.86440399997052, 37.400777000637888 ], [ -121.86426600051027, 37.400639001107088 ], [ -121.864765999869647, 37.400139000645218 ], [ -121.865866000415522, 37.399639001072373 ], [ -121.867366000054929, 37.398839000751167 ], [ -121.86826599995149, 37.39843900066721 ], [ -121.870066000419286, 37.39773900091312 ], [ -121.871766000132425, 37.396639000394359 ], [ -121.873080999761427, 37.39747500059169 ], [ -121.873639999723011, 37.397807000492094 ], [ -121.874365999812184, 37.398239000238746 ], [ -121.874769000503377, 37.398504000384477 ], [ -121.874966000262688, 37.398639000689371 ], [ -121.875191999937229, 37.399146001107916 ], [ -121.876666000306756, 37.402639000884143 ], [ -121.877565999410166, 37.404439000433044 ], [ -121.8776039995509, 37.404543000371206 ], [ -121.877965999546475, 37.40553900074115 ], [ -121.874066000438532, 37.407339000918462 ], [ -121.873365999480484, 37.407739000660143 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 560, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.8869659994795, 37.329741000533211 ], [ -121.886265999626445, 37.330041000633486 ], [ -121.885066000505788, 37.328541000281163 ], [ -121.884465999965343, 37.327741000481687 ], [ -121.883766000232498, 37.327141000568524 ], [ -121.883665999905034, 37.326941000771711 ], [ -121.883264999622213, 37.326341000283627 ], [ -121.882764999474205, 37.325741000983065 ], [ -121.882164999842033, 37.324941000289527 ], [ -121.881565000314779, 37.324141001042854 ], [ -121.881064999696761, 37.323541000838077 ], [ -121.88026500035582, 37.322741000668969 ], [ -121.879564999683225, 37.321941001120194 ], [ -121.878765000163227, 37.321141000735736 ], [ -121.879865000312634, 37.320441000897361 ], [ -121.880664999761564, 37.319941000350923 ], [ -121.88096500048357, 37.319841000602096 ], [ -121.881965000314651, 37.319241000422309 ], [ -121.882364999758167, 37.319041000857375 ], [ -121.883264999426828, 37.318441000246224 ], [ -121.884165000475789, 37.317941000893988 ], [ -121.88516499941592, 37.31744100031375 ], [ -121.885865000513178, 37.316841000341086 ], [ -121.886165000107127, 37.316741000729955 ], [ -121.886864999725958, 37.316441000634697 ], [ -121.887064999989661, 37.316241000523057 ], [ -121.887365000390659, 37.316041000345464 ], [ -121.887498999418241, 37.315962000580427 ], [ -121.889065999543476, 37.315041000314537 ], [ -121.889665999438449, 37.31474100076467 ], [ -121.888966000136563, 37.315841000558841 ], [ -121.888756000103726, 37.316178000762605 ], [ -121.888466000499236, 37.316641000400423 ], [ -121.888266000371303, 37.31694100037592 ], [ -121.888966000059199, 37.318541000388144 ], [ -121.889166000080365, 37.320041000465878 ], [ -121.889765999941289, 37.32184100030976 ], [ -121.889821999970906, 37.322031000985604 ], [ -121.890266000296393, 37.323541000666552 ], [ -121.890266000151485, 37.323841000964507 ], [ -121.890365999605478, 37.324241000959972 ], [ -121.890466000251251, 37.324741000948464 ], [ -121.890766000232333, 37.325141000310829 ], [ -121.890866000497269, 37.325541000737466 ], [ -121.890766000135613, 37.325941000902837 ], [ -121.890765999836802, 37.326741000487225 ], [ -121.891266000493289, 37.327641000740812 ], [ -121.891822000176305, 37.328197000290686 ], [ -121.891866000077201, 37.328241000707138 ], [ -121.892865999776376, 37.328741000930926 ], [ -121.891565999698031, 37.329441001096924 ], [ -121.888465999699719, 37.330941000381301 ], [ -121.887765999588026, 37.330441000565621 ], [ -121.8869659994795, 37.329741000533211 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 559, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.900692000328704, 37.320854000830174 ], [ -121.900552000131214, 37.32097000071213 ], [ -121.900465999837834, 37.321041000335093 ], [ -121.898498000034749, 37.322290000317871 ], [ -121.89756599978908, 37.322741000656443 ], [ -121.894845000259068, 37.323209000352072 ], [ -121.893180999862551, 37.323657000908931 ], [ -121.892266000425437, 37.323841000751727 ], [ -121.891551999496357, 37.32398400052211 ], [ -121.890365999605478, 37.324241000959972 ], [ -121.890266000151485, 37.323841000964507 ], [ -121.890266000296393, 37.323541000666552 ], [ -121.889821999970906, 37.322031000985604 ], [ -121.889765999941289, 37.32184100030976 ], [ -121.889166000080365, 37.320041000465878 ], [ -121.888966000059199, 37.318541000388144 ], [ -121.888266000371303, 37.31694100037592 ], [ -121.888466000499236, 37.316641000400423 ], [ -121.888756000103726, 37.316178000762605 ], [ -121.888966000136563, 37.315841000558841 ], [ -121.889665999438449, 37.31474100076467 ], [ -121.890065999735086, 37.314441000605314 ], [ -121.890504000321243, 37.314178000662658 ], [ -121.890950000139242, 37.313910000344436 ], [ -121.891065999798442, 37.313841000385345 ], [ -121.891590000139189, 37.313508000360805 ], [ -121.892166000069452, 37.313142000575553 ], [ -121.89266600044877, 37.312942000449326 ], [ -121.893565999848249, 37.312442000334229 ], [ -121.894066000044859, 37.312142001097818 ], [ -121.894965999789974, 37.311642000956532 ], [ -121.895929999563762, 37.311148000932249 ], [ -121.896145999509159, 37.31102600111064 ], [ -121.89636600048739, 37.310842000933818 ], [ -121.897466000043948, 37.310242000315597 ], [ -121.898265999703739, 37.309842000439026 ], [ -121.898512999717568, 37.309683000459131 ], [ -121.899065999915649, 37.309442000481546 ], [ -121.89951600028769, 37.309284000886407 ], [ -121.900266000294764, 37.308942001041224 ], [ -121.901366000334548, 37.308442000980769 ], [ -121.901865999771871, 37.30924200105963 ], [ -121.902665999793328, 37.310242000758421 ], [ -121.902966000048366, 37.310642000819172 ], [ -121.903266000502157, 37.310942000593791 ], [ -121.903698000454327, 37.311518000507192 ], [ -121.903866000122051, 37.311742000492593 ], [ -121.904041999647831, 37.311953000234205 ], [ -121.904366000082433, 37.312342000802175 ], [ -121.903866000370471, 37.313342000647708 ], [ -121.903810999814667, 37.314222001053693 ], [ -121.903765999866849, 37.314942000533634 ], [ -121.901966000307155, 37.317741001085061 ], [ -121.902566000185686, 37.318941000918301 ], [ -121.902828999409962, 37.319091000938457 ], [ -121.902244999403024, 37.319573000786512 ], [ -121.901460000031932, 37.320221000813056 ], [ -121.900924000035261, 37.320663000534935 ], [ -121.900692000328704, 37.320854000830174 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 537, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.912088000309538, 37.310864000249786 ], [ -121.912751000269395, 37.310790000796956 ], [ -121.913084999939827, 37.310745001051089 ], [ -121.913148999947921, 37.310732001028931 ], [ -121.913865999791724, 37.310642001051015 ], [ -121.91397199996571, 37.310766000446975 ], [ -121.914465999743399, 37.311342000626013 ], [ -121.914166000060462, 37.312842001114191 ], [ -121.913856999828866, 37.313615001028012 ], [ -121.915018000482732, 37.312632000336883 ], [ -121.915066000466226, 37.31274200070056 ], [ -121.915066000030791, 37.313142000881662 ], [ -121.914965999662471, 37.313342000684777 ], [ -121.915265999528543, 37.314242001115566 ], [ -121.915165999763204, 37.314742000661134 ], [ -121.915166000212224, 37.315042000260497 ], [ -121.914965999568579, 37.315342000233116 ], [ -121.914765999456108, 37.315942000288999 ], [ -121.914366000303872, 37.316442000667628 ], [ -121.913987000330891, 37.317350000639124 ], [ -121.913865999715298, 37.317641000773193 ], [ -121.913865999530827, 37.317753000868692 ], [ -121.913865999594108, 37.318941000550531 ], [ -121.913866999939572, 37.320023000409719 ], [ -121.91386699971828, 37.320115000387489 ], [ -121.913867000084622, 37.320641000777869 ], [ -121.913866999871559, 37.320721001063852 ], [ -121.913866999872781, 37.321141000755738 ], [ -121.913874999484037, 37.321541000775937 ], [ -121.913867000407407, 37.321741001043087 ], [ -121.913867000330441, 37.322141000597099 ], [ -121.913809999590825, 37.322483000427376 ], [ -121.91376700050661, 37.322741000311382 ], [ -121.913767000329898, 37.322838000940102 ], [ -121.913767000233022, 37.323041000376378 ], [ -121.913773999853802, 37.323260000845579 ], [ -121.913771000071094, 37.323525000954298 ], [ -121.913767000472177, 37.324141001101239 ], [ -121.913766999660353, 37.324301000674389 ], [ -121.913767000026169, 37.324449000579051 ], [ -121.913766999688193, 37.324941000757995 ], [ -121.913767000362313, 37.325441000388402 ], [ -121.913866999444849, 37.325741000813458 ], [ -121.912766999414728, 37.325841000863171 ], [ -121.911666999962421, 37.32594100058116 ], [ -121.911022000167449, 37.325997000867979 ], [ -121.910191999882343, 37.326069000675773 ], [ -121.909366000373637, 37.326141000882245 ], [ -121.908965999905561, 37.32614100026619 ], [ -121.908466000454126, 37.326141000533546 ], [ -121.908166000121071, 37.326141000394323 ], [ -121.90805700044352, 37.32615500100426 ], [ -121.907521999939746, 37.326222000530684 ], [ -121.907366000356717, 37.326241000731699 ], [ -121.906496999824725, 37.32624100037021 ], [ -121.906266000078716, 37.326241000390127 ], [ -121.904965999463187, 37.326241001051336 ], [ -121.904466000166991, 37.326341000814388 ], [ -121.903665999720715, 37.326341000227842 ], [ -121.903166000338487, 37.326441000785927 ], [ -121.902866000081502, 37.326441000715782 ], [ -121.900966000512, 37.326441000946488 ], [ -121.90036599982993, 37.326541000745131 ], [ -121.900966000303526, 37.325741000748131 ], [ -121.902234000002707, 37.324060000310354 ], [ -121.902566000421118, 37.323341000287485 ], [ -121.902766000308205, 37.321341000992824 ], [ -121.903265999898949, 37.320241000975933 ], [ -121.903265999800297, 37.319341000255804 ], [ -121.902828999409962, 37.319091000938457 ], [ -121.902566000185686, 37.318941000918301 ], [ -121.901966000307155, 37.317741001085061 ], [ -121.903765999866849, 37.314942000533634 ], [ -121.903810999814667, 37.314222001053693 ], [ -121.903866000370471, 37.313342000647708 ], [ -121.904366000082433, 37.312342000802175 ], [ -121.905565999794106, 37.311742000647506 ], [ -121.906865999841003, 37.311842000261258 ], [ -121.907365999440316, 37.311142000252858 ], [ -121.907765999459201, 37.311042000772972 ], [ -121.908365999669172, 37.311042000608104 ], [ -121.90896599990306, 37.311042001005433 ], [ -121.90926600004201, 37.311042000513723 ], [ -121.909797999441821, 37.31101200109768 ], [ -121.911066000132635, 37.310942000914771 ], [ -121.912088000309538, 37.310864000249786 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 536, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.922866999756579, 37.32334100046333 ], [ -121.922282999915041, 37.323341000253819 ], [ -121.922167000373904, 37.323341000848252 ], [ -121.921666999724977, 37.323341000250757 ], [ -121.920567000328688, 37.323441001082983 ], [ -121.919967000197062, 37.323441000288682 ], [ -121.918867000017855, 37.323441000241665 ], [ -121.917766999936745, 37.323441000781287 ], [ -121.917166999936967, 37.323441001106886 ], [ -121.916466999697519, 37.323541000528415 ], [ -121.916206999657831, 37.323512000444424 ], [ -121.915567000108041, 37.323441000916766 ], [ -121.913771000071094, 37.323525000954298 ], [ -121.913773999853802, 37.323260000845579 ], [ -121.913767000233022, 37.323041000376378 ], [ -121.913767000329898, 37.322838000940102 ], [ -121.91376700050661, 37.322741000311382 ], [ -121.913809999590825, 37.322483000427376 ], [ -121.913867000330441, 37.322141000597099 ], [ -121.913867000407407, 37.321741001043087 ], [ -121.913874999484037, 37.321541000775937 ], [ -121.913866999872781, 37.321141000755738 ], [ -121.913866999871559, 37.320721001063852 ], [ -121.913867000084622, 37.320641000777869 ], [ -121.91386699971828, 37.320115000387489 ], [ -121.913866999939572, 37.320023000409719 ], [ -121.913865999594108, 37.318941000550531 ], [ -121.913865999530827, 37.317753000868692 ], [ -121.913865999715298, 37.317641000773193 ], [ -121.913987000330891, 37.317350000639124 ], [ -121.914366000303872, 37.316442000667628 ], [ -121.914765999456108, 37.315942000288999 ], [ -121.914965999568579, 37.315342000233116 ], [ -121.915166000212224, 37.315042000260497 ], [ -121.916266999603195, 37.315342000310338 ], [ -121.916566999950774, 37.315459000310234 ], [ -121.918566999693581, 37.316242000771219 ], [ -121.919247000343191, 37.316497000472793 ], [ -121.919367000272828, 37.316542000438865 ], [ -121.919656000101455, 37.316542000365665 ], [ -121.92001899940837, 37.316542000828314 ], [ -121.921667000461767, 37.316542000528727 ], [ -121.922066999560016, 37.316442000603601 ], [ -121.922858999965598, 37.316442000595728 ], [ -121.923766999526762, 37.316442000371993 ], [ -121.925567000269197, 37.316542001021617 ], [ -121.926766999740067, 37.316442000965466 ], [ -121.931966999624962, 37.316842001108981 ], [ -121.932067000031395, 37.317242001080736 ], [ -121.932066999974182, 37.317629000457288 ], [ -121.932067000121521, 37.318142000789933 ], [ -121.932067000052058, 37.31964200091025 ], [ -121.931066999520851, 37.319742001038975 ], [ -121.930266999461907, 37.319742000578309 ], [ -121.929766999724961, 37.319742001038101 ], [ -121.92936400044556, 37.319750000545014 ], [ -121.928867000046964, 37.31974200050395 ], [ -121.928666999498759, 37.319742000551308 ], [ -121.927567000031218, 37.31974100105824 ], [ -121.926767000230598, 37.319741000362392 ], [ -121.925967000472866, 37.319841001046392 ], [ -121.925667000293842, 37.319741000821523 ], [ -121.924866999814512, 37.319641000315883 ], [ -121.923991999906193, 37.319641000576254 ], [ -121.923767000397731, 37.319641000245028 ], [ -121.923679999925184, 37.319641000236537 ], [ -121.922867000122451, 37.31964100092906 ], [ -121.922774000470795, 37.322524001039248 ], [ -121.922766999933899, 37.322741000691821 ], [ -121.922815000030468, 37.323029000275881 ], [ -121.922849000105131, 37.323233000751493 ], [ -121.922866999756579, 37.32334100046333 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 534, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.931967000184059, 37.301442000329487 ], [ -121.931966999853785, 37.300849000628865 ], [ -121.931966999763986, 37.300542000871431 ], [ -121.931966999584205, 37.299242000522916 ], [ -121.931867000379526, 37.298942000334641 ], [ -121.931967000408505, 37.298442000734212 ], [ -121.931866999784162, 37.297942000527414 ], [ -121.931866999626195, 37.297742000545995 ], [ -121.931866999535387, 37.2970420005637 ], [ -121.931866999828003, 37.294242000740638 ], [ -121.933066999800886, 37.294242000783591 ], [ -121.934147000340715, 37.294242000425719 ], [ -121.934667000336106, 37.29424200084096 ], [ -121.935066999658716, 37.294242000847092 ], [ -121.935766999636243, 37.294242000768833 ], [ -121.935967000441437, 37.294242000894421 ], [ -121.937667000114388, 37.294242000414926 ], [ -121.938666999835064, 37.294242000491948 ], [ -121.938867000169424, 37.294642000643648 ], [ -121.939766999393555, 37.296642000734892 ], [ -121.940066999897851, 37.297242000629808 ], [ -121.940381999870084, 37.29808100064237 ], [ -121.940666999652976, 37.298842000960647 ], [ -121.940766999941587, 37.29914200026311 ], [ -121.940768000311095, 37.299445000948488 ], [ -121.940766999699733, 37.299842000543329 ], [ -121.940867000075968, 37.301442000884748 ], [ -121.940866999406111, 37.303139001089484 ], [ -121.940867000377963, 37.305042001063519 ], [ -121.940867000030579, 37.30544200084892 ], [ -121.940866999768502, 37.309742000525254 ], [ -121.940666999411718, 37.313042000592517 ], [ -121.940466999693655, 37.31514200026762 ], [ -121.940467000138398, 37.316042000944606 ], [ -121.940467000469511, 37.317042000338077 ], [ -121.937567000282783, 37.317142000878924 ], [ -121.93606699998729, 37.317142000489959 ], [ -121.934966999818684, 37.317142000253718 ], [ -121.934633000114388, 37.317098000759458 ], [ -121.933145999488389, 37.31690400109175 ], [ -121.932667000247378, 37.31684200092716 ], [ -121.932542000295456, 37.316842000878587 ], [ -121.931966999624962, 37.316842001108981 ], [ -121.931967000284132, 37.316542000264342 ], [ -121.931867000105441, 37.316142001075242 ], [ -121.931941000416202, 37.314112000971477 ], [ -121.932066999602668, 37.310642000970589 ], [ -121.932067999492006, 37.310317000778248 ], [ -121.932067000327393, 37.309242000257335 ], [ -121.932066999862755, 37.308742000304669 ], [ -121.932067000445414, 37.308242000320604 ], [ -121.932067000167095, 37.307085000541143 ], [ -121.932067000187701, 37.306142000998257 ], [ -121.932067000349249, 37.305642000797818 ], [ -121.932067000429811, 37.305142000555733 ], [ -121.932067000335238, 37.304142000848017 ], [ -121.932066999629768, 37.304042000952109 ], [ -121.931967000184059, 37.301442000329487 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 532, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.919421999483788, 37.30109900075297 ], [ -121.919968000290041, 37.300760000452108 ], [ -121.921191000174957, 37.300674000739406 ], [ -121.921675999689356, 37.3006560008184 ], [ -121.922842999456734, 37.299709001046153 ], [ -121.923467000241203, 37.299242000674134 ], [ -121.923866999862668, 37.299342000765328 ], [ -121.925967000485102, 37.299442000286192 ], [ -121.926569000437098, 37.299197001058786 ], [ -121.927231999902745, 37.298927000998347 ], [ -121.928452000381526, 37.298431000283024 ], [ -121.929141999628342, 37.298150000274617 ], [ -121.929761999549811, 37.297898000640785 ], [ -121.931866999535387, 37.2970420005637 ], [ -121.931866999626195, 37.297742000545995 ], [ -121.931866999784162, 37.297942000527414 ], [ -121.929481999717908, 37.300088001104591 ], [ -121.927867000146463, 37.301542000387698 ], [ -121.922266999886062, 37.306542000696368 ], [ -121.917966999821687, 37.310642001066199 ], [ -121.915066000030791, 37.313142000881662 ], [ -121.915066000466226, 37.31274200070056 ], [ -121.915018000482732, 37.312632000336883 ], [ -121.913856999828866, 37.313615001028012 ], [ -121.914166000060462, 37.312842001114191 ], [ -121.914465999743399, 37.311342000626013 ], [ -121.91397199996571, 37.310766000446975 ], [ -121.913865999791724, 37.310642001051015 ], [ -121.913966000255158, 37.309842000691098 ], [ -121.913865999730689, 37.309342000411206 ], [ -121.913866000059272, 37.308698000294839 ], [ -121.913866000375322, 37.308142000968779 ], [ -121.913865999996275, 37.307242000323328 ], [ -121.913865999613563, 37.307042000960394 ], [ -121.915765999433404, 37.30434200059215 ], [ -121.917366000207039, 37.303442001131039 ], [ -121.917466000187147, 37.302942000410255 ], [ -121.917916000166329, 37.302364000233617 ], [ -121.918016000009558, 37.302260000618176 ], [ -121.918218999432241, 37.302007000511843 ], [ -121.91832099964698, 37.301879000535997 ], [ -121.918427999973886, 37.301734000662854 ], [ -121.91855000018019, 37.301626000437956 ], [ -121.918570000086305, 37.301608001096163 ], [ -121.918686999813062, 37.301505000807879 ], [ -121.918872000201944, 37.301363000847736 ], [ -121.918915999530938, 37.301330000435179 ], [ -121.919037999634426, 37.301337000746265 ], [ -121.919421999483788, 37.30109900075297 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 528, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.913765999492213, 37.297016000514901 ], [ -121.913765999955942, 37.297432000722161 ], [ -121.91376599979877, 37.297542001081688 ], [ -121.913766000505333, 37.298042000245765 ], [ -121.913765999988428, 37.298542000259161 ], [ -121.913765999859194, 37.298842000609788 ], [ -121.913766000053087, 37.299163000692332 ], [ -121.913766000130337, 37.299642000877718 ], [ -121.913766000406454, 37.300942000863337 ], [ -121.913865999940654, 37.301542000696344 ], [ -121.913876999630759, 37.30184500061398 ], [ -121.913866000208458, 37.302242000859643 ], [ -121.913866000452046, 37.302642000789128 ], [ -121.913865999738292, 37.303842000407478 ], [ -121.913866000263596, 37.304418000256895 ], [ -121.913865999753313, 37.306542000731852 ], [ -121.913865999613563, 37.307042000960394 ], [ -121.913865999996275, 37.307242000323328 ], [ -121.913866000375322, 37.308142000968779 ], [ -121.913866000059272, 37.308698000294839 ], [ -121.913865999730689, 37.309342000411206 ], [ -121.913966000255158, 37.309842000691098 ], [ -121.913865999791724, 37.310642001051015 ], [ -121.913148999947921, 37.310732001028931 ], [ -121.913084999939827, 37.310745001051089 ], [ -121.912751000269395, 37.310790000796956 ], [ -121.912088000309538, 37.310864000249786 ], [ -121.911066000132635, 37.310942000914771 ], [ -121.909797999441821, 37.31101200109768 ], [ -121.90926600004201, 37.311042000513723 ], [ -121.90896599990306, 37.311042001005433 ], [ -121.908365999669172, 37.311042000608104 ], [ -121.907765999459201, 37.311042000772972 ], [ -121.907365999440316, 37.311142000252858 ], [ -121.906865999841003, 37.311842000261258 ], [ -121.905565999794106, 37.311742000647506 ], [ -121.904366000082433, 37.312342000802175 ], [ -121.904041999647831, 37.311953000234205 ], [ -121.903866000122051, 37.311742000492593 ], [ -121.903698000454327, 37.311518000507192 ], [ -121.903266000502157, 37.310942000593791 ], [ -121.902966000048366, 37.310642000819172 ], [ -121.902665999793328, 37.310242000758421 ], [ -121.901865999771871, 37.30924200105963 ], [ -121.901366000334548, 37.308442000980769 ], [ -121.900065999864026, 37.306742000783082 ], [ -121.899644999952343, 37.306312000636481 ], [ -121.898765999585109, 37.305042000647227 ], [ -121.897465999562087, 37.303642000254349 ], [ -121.898966000294678, 37.302842001133165 ], [ -121.899766000426496, 37.302542000493659 ], [ -121.90088099973164, 37.301984000623484 ], [ -121.901365999398749, 37.301742000614944 ], [ -121.90156600041071, 37.301642000785634 ], [ -121.902366000301683, 37.301242000700327 ], [ -121.903269000362229, 37.301192000417764 ], [ -121.9041660000766, 37.301142000764543 ], [ -121.905866000329169, 37.301042000703838 ], [ -121.905766000050249, 37.300142000733977 ], [ -121.905666000504709, 37.299342000305138 ], [ -121.90556599942893, 37.298242000441391 ], [ -121.905465999501573, 37.296942000786288 ], [ -121.905466000285628, 37.296242000550642 ], [ -121.905365999707513, 37.295942001064631 ], [ -121.905265999815683, 37.295142000713611 ], [ -121.905265999778877, 37.294442000277257 ], [ -121.906090999505707, 37.294332000372528 ], [ -121.906792000143568, 37.294238000303416 ], [ -121.907282999944627, 37.294173000761958 ], [ -121.908265999843607, 37.294042000665563 ], [ -121.90916599963569, 37.294442000259068 ], [ -121.909565999665645, 37.294542000717435 ], [ -121.911100999484603, 37.294467001020564 ], [ -121.911182000490555, 37.294463000648719 ], [ -121.913665999935802, 37.294342000695281 ], [ -121.913717000067464, 37.294849000361246 ], [ -121.913760000227271, 37.295280000944906 ], [ -121.913765999824463, 37.295342000698049 ], [ -121.91375400044663, 37.29563500111599 ], [ -121.913766000010952, 37.296442000990496 ], [ -121.913765999492213, 37.297016000514901 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 527, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.878965000094553, 37.303942000752599 ], [ -121.880143999544813, 37.303812000831719 ], [ -121.880385000442018, 37.303820000353788 ], [ -121.880476000375893, 37.303820000516481 ], [ -121.880552000186967, 37.303841000787202 ], [ -121.880616000507175, 37.303823000534884 ], [ -121.880665000489358, 37.303842000311846 ], [ -121.881864999750363, 37.303842000671381 ], [ -121.8822649995288, 37.303842001090807 ], [ -121.881864999770514, 37.302442001061351 ], [ -121.881765000079653, 37.301542000979239 ], [ -121.8820650000862, 37.3015420007115 ], [ -121.882565000286846, 37.301742000857232 ], [ -121.883765000231392, 37.301742000647572 ], [ -121.884764999714506, 37.30174200093429 ], [ -121.885864999600585, 37.301742000503779 ], [ -121.886694000272826, 37.301339000852316 ], [ -121.887483000164323, 37.301013000285877 ], [ -121.888488999979188, 37.30053400030571 ], [ -121.889185000421065, 37.300226000715881 ], [ -121.889554999521664, 37.30005900053991 ], [ -121.89019400036014, 37.299753000969694 ], [ -121.890960000239232, 37.299426000471655 ], [ -121.891864999634137, 37.299042000764544 ], [ -121.893465000382818, 37.29844200029482 ], [ -121.896766000329848, 37.297042000732439 ], [ -121.897565999632832, 37.296642001095876 ], [ -121.898165999768409, 37.296342000473466 ], [ -121.899166000191784, 37.295942000415238 ], [ -121.899865999935912, 37.295642000921482 ], [ -121.900265999703606, 37.295442001072431 ], [ -121.900665999616592, 37.295242000752729 ], [ -121.901765999716886, 37.294842000568288 ], [ -121.90356599953374, 37.294042001044659 ], [ -121.904066000331099, 37.29374200081417 ], [ -121.905166000185133, 37.293342001095304 ], [ -121.905265999778877, 37.294442000277257 ], [ -121.905265999815683, 37.295142000713611 ], [ -121.905365999707513, 37.295942001064631 ], [ -121.905466000285628, 37.296242000550642 ], [ -121.905465999501573, 37.296942000786288 ], [ -121.90556599942893, 37.298242000441391 ], [ -121.905666000504709, 37.299342000305138 ], [ -121.905766000050249, 37.300142000733977 ], [ -121.905866000329169, 37.301042000703838 ], [ -121.9041660000766, 37.301142000764543 ], [ -121.903269000362229, 37.301192000417764 ], [ -121.902366000301683, 37.301242000700327 ], [ -121.90156600041071, 37.301642000785634 ], [ -121.901365999398749, 37.301742000614944 ], [ -121.90088099973164, 37.301984000623484 ], [ -121.899766000426496, 37.302542000493659 ], [ -121.898966000294678, 37.302842001133165 ], [ -121.897465999562087, 37.303642000254349 ], [ -121.898765999585109, 37.305042000647227 ], [ -121.899644999952343, 37.306312000636481 ], [ -121.900065999864026, 37.306742000783082 ], [ -121.901366000334548, 37.308442000980769 ], [ -121.900266000294764, 37.308942001041224 ], [ -121.89951600028769, 37.309284000886407 ], [ -121.899065999915649, 37.309442000481546 ], [ -121.898512999717568, 37.309683000459131 ], [ -121.898265999703739, 37.309842000439026 ], [ -121.897466000043948, 37.310242000315597 ], [ -121.89636600048739, 37.310842000933818 ], [ -121.896145999509159, 37.31102600111064 ], [ -121.895929999563762, 37.311148000932249 ], [ -121.894965999789974, 37.311642000956532 ], [ -121.894066000044859, 37.312142001097818 ], [ -121.893565999848249, 37.312442000334229 ], [ -121.89266600044877, 37.312942000449326 ], [ -121.892166000069452, 37.313142000575553 ], [ -121.891590000139189, 37.313508000360805 ], [ -121.891065999798442, 37.313841000385345 ], [ -121.890950000139242, 37.313910000344436 ], [ -121.890504000321243, 37.314178000662658 ], [ -121.890065999735086, 37.314441000605314 ], [ -121.889665999438449, 37.31474100076467 ], [ -121.889065999543476, 37.315041000314537 ], [ -121.887498999418241, 37.315962000580427 ], [ -121.887365000390659, 37.316041000345464 ], [ -121.882964999800151, 37.310442000567186 ], [ -121.880964999433502, 37.308042000357332 ], [ -121.879264999534342, 37.305942000233301 ], [ -121.878764999855051, 37.305242000914511 ], [ -121.87888799993739, 37.304445000828217 ], [ -121.878965000094553, 37.303942000752599 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 526, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.890764999819297, 37.288742000974629 ], [ -121.891416999652719, 37.288446000520267 ], [ -121.891864999942598, 37.288242000407827 ], [ -121.892865000492506, 37.287942001006797 ], [ -121.893864999946615, 37.287642000285075 ], [ -121.894965000373745, 37.287242001041449 ], [ -121.896064999518956, 37.286742000614019 ], [ -121.897064999864511, 37.286442000541669 ], [ -121.89826499980569, 37.286042000786416 ], [ -121.899065999592509, 37.28574200045562 ], [ -121.899965999480699, 37.285442000845386 ], [ -121.900666000385755, 37.285142000840558 ], [ -121.900865999537331, 37.285042000713233 ], [ -121.901465999753611, 37.284842000934958 ], [ -121.901566000384932, 37.284842000656951 ], [ -121.902365999801773, 37.284542000915359 ], [ -121.903365999912651, 37.284142000328004 ], [ -121.904265999940506, 37.283842001036518 ], [ -121.904766000122706, 37.284542001130724 ], [ -121.90536600028372, 37.285342000971319 ], [ -121.905965999462126, 37.286342000346856 ], [ -121.906065999427383, 37.286442000728513 ], [ -121.906566000474371, 37.287242000307472 ], [ -121.906880999763857, 37.287714000480989 ], [ -121.906890000320615, 37.287728000532034 ], [ -121.906965999925688, 37.287842000963316 ], [ -121.90756600033518, 37.288642000369592 ], [ -121.906566000269535, 37.289042000756822 ], [ -121.905665999794266, 37.289442000599998 ], [ -121.905061000199879, 37.289619000475248 ], [ -121.904619000379753, 37.289817000458044 ], [ -121.904070000387662, 37.290069000533549 ], [ -121.903673000157539, 37.290214000258835 ], [ -121.903165999440404, 37.290442000791074 ], [ -121.903566000482968, 37.291042000857743 ], [ -121.903965999884974, 37.291642000442458 ], [ -121.904544999792279, 37.292462000591733 ], [ -121.904917000218234, 37.292989000282873 ], [ -121.905166000185133, 37.293342001095304 ], [ -121.904066000331099, 37.29374200081417 ], [ -121.90356599953374, 37.294042001044659 ], [ -121.901765999716886, 37.294842000568288 ], [ -121.900665999616592, 37.295242000752729 ], [ -121.900265999703606, 37.295442001072431 ], [ -121.899865999935912, 37.295642000921482 ], [ -121.899166000191784, 37.295942000415238 ], [ -121.898165999768409, 37.296342000473466 ], [ -121.897565999632832, 37.296642001095876 ], [ -121.896766000329848, 37.297042000732439 ], [ -121.893465000382818, 37.29844200029482 ], [ -121.891864999634137, 37.299042000764544 ], [ -121.890960000239232, 37.299426000471655 ], [ -121.89019400036014, 37.299753000969694 ], [ -121.889554999521664, 37.30005900053991 ], [ -121.889185000421065, 37.300226000715881 ], [ -121.888488999979188, 37.30053400030571 ], [ -121.887483000164323, 37.301013000285877 ], [ -121.886694000272826, 37.301339000852316 ], [ -121.885864999600585, 37.301742000503779 ], [ -121.884764999714506, 37.30174200093429 ], [ -121.883765000231392, 37.301742000647572 ], [ -121.882565000286846, 37.301742000857232 ], [ -121.8820650000862, 37.3015420007115 ], [ -121.881765000079653, 37.301542000979239 ], [ -121.881356999841302, 37.301304000924048 ], [ -121.88056500047179, 37.300842000811059 ], [ -121.881164999603044, 37.298942000563315 ], [ -121.881064999634958, 37.297742000857085 ], [ -121.880964999434696, 37.297542000840949 ], [ -121.880765000096659, 37.296742000561508 ], [ -121.880865000264961, 37.296442000292167 ], [ -121.881277000113499, 37.296098001010549 ], [ -121.881465000004653, 37.295942000938304 ], [ -121.880765000147164, 37.293442000960653 ], [ -121.880864999478803, 37.292142000696046 ], [ -121.881165000468457, 37.292142000659538 ], [ -121.88176500036765, 37.291942000813201 ], [ -121.88446500017119, 37.290942000775289 ], [ -121.88776500042492, 37.289742000730115 ], [ -121.889664999511751, 37.289142000429862 ], [ -121.890764999819297, 37.288742000974629 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 530, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.922746000279801, 37.286542000853999 ], [ -121.922766000348759, 37.286142000423339 ], [ -121.922766000145259, 37.285642000795349 ], [ -121.922765999808959, 37.284742000641273 ], [ -121.922565999665395, 37.283142000539819 ], [ -121.922547999453244, 37.28298100034268 ], [ -121.922466000206313, 37.282242000971934 ], [ -121.923265999941819, 37.28164200093304 ], [ -121.923365999511347, 37.281142001100271 ], [ -121.923566000469293, 37.280542000960331 ], [ -121.924266000090014, 37.280442000274569 ], [ -121.924463999865267, 37.280454000288266 ], [ -121.92586600040984, 37.28054200045792 ], [ -121.927266000214374, 37.281442000823169 ], [ -121.929666999508029, 37.280642000825637 ], [ -121.930166999631226, 37.280442000370257 ], [ -121.93016699953202, 37.280342001010304 ], [ -121.930967000508787, 37.279742000467806 ], [ -121.931467000108157, 37.27984200068056 ], [ -121.931866999876831, 37.279942000473653 ], [ -121.932567000251638, 37.279942000430999 ], [ -121.933411999837617, 37.279204000703629 ], [ -121.933481000367465, 37.279144000690508 ], [ -121.933575999863606, 37.279060000957877 ], [ -121.934967000323923, 37.277843000850559 ], [ -121.935167000517765, 37.277643000441081 ], [ -121.935767000293325, 37.278843000680737 ], [ -121.935866999409271, 37.279143000287355 ], [ -121.937752999670366, 37.27901700084459 ], [ -121.93821199954786, 37.278978000892238 ], [ -121.938442999608199, 37.278872000827477 ], [ -121.938667000293577, 37.278743000665187 ], [ -121.939266999988988, 37.27844300050684 ], [ -121.939566999640107, 37.278243000881886 ], [ -121.943266999723178, 37.275943000650408 ], [ -121.943967000266966, 37.275543000504044 ], [ -121.945566999416329, 37.275043000495529 ], [ -121.945266999497207, 37.274343000455204 ], [ -121.945458000266967, 37.272529000400311 ], [ -121.945467000329131, 37.272443000665433 ], [ -121.945576999410335, 37.272443000777386 ], [ -121.946067000459919, 37.272443001062982 ], [ -121.94646700015096, 37.269943000240524 ], [ -121.947067000100432, 37.270643000345657 ], [ -121.947367000513566, 37.27094300032843 ], [ -121.947130999739329, 37.271968001007131 ], [ -121.946970999921362, 37.272661000321243 ], [ -121.94694999995545, 37.272752000534517 ], [ -121.94683599979993, 37.273247000430864 ], [ -121.946767000429745, 37.273543000759425 ], [ -121.946566999591099, 37.274443000381488 ], [ -121.946524999419054, 37.274685000528585 ], [ -121.946491000125278, 37.274880001033239 ], [ -121.94616699956201, 37.276743000451923 ], [ -121.944467000295646, 37.279943001119534 ], [ -121.940167000488373, 37.283442000914953 ], [ -121.937067000504669, 37.286942000947093 ], [ -121.936767000259678, 37.289742000322228 ], [ -121.936860000042003, 37.290206000811487 ], [ -121.936967000171279, 37.290742000258014 ], [ -121.937828000237843, 37.292464000675004 ], [ -121.937867000275318, 37.292542000776017 ], [ -121.937967000006921, 37.292642000566254 ], [ -121.93846700043504, 37.29384200089963 ], [ -121.938666999835064, 37.294242000491948 ], [ -121.937667000114388, 37.294242000414926 ], [ -121.935967000441437, 37.294242000894421 ], [ -121.935766999636243, 37.294242000768833 ], [ -121.935066999658716, 37.294242000847092 ], [ -121.934667000336106, 37.29424200084096 ], [ -121.934147000340715, 37.294242000425719 ], [ -121.933066999800886, 37.294242000783591 ], [ -121.931866999828003, 37.294242000740638 ], [ -121.929866999400659, 37.294242000657512 ], [ -121.928867000440675, 37.294242001018183 ], [ -121.927867000419383, 37.294342001042018 ], [ -121.9264669996235, 37.294342000898823 ], [ -121.925566999526652, 37.294342000689426 ], [ -121.92466699949577, 37.2943420008449 ], [ -121.923766999543687, 37.29434200046402 ], [ -121.922766000206352, 37.294342000540581 ], [ -121.922766000024268, 37.292842000843663 ], [ -121.922765999944417, 37.292642000855771 ], [ -121.922774999828462, 37.29250700111632 ], [ -121.922765999494445, 37.291842000837725 ], [ -121.922766000319044, 37.291442000799051 ], [ -121.92276599996336, 37.291042000723486 ], [ -121.922765999555381, 37.290642000621311 ], [ -121.922766000099912, 37.290142000466396 ], [ -121.922766000111594, 37.289342001027109 ], [ -121.922765999926995, 37.288542000580144 ], [ -121.922766000320294, 37.288142000321827 ], [ -121.922745000375315, 37.287337000746668 ], [ -121.92276600027337, 37.287042000367833 ], [ -121.922746000279801, 37.286542000853999 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 519, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.942856000247517, 37.250536000564395 ], [ -121.943255000148696, 37.250496000501691 ], [ -121.94379399954758, 37.250526000494624 ], [ -121.94390199988797, 37.250519000359894 ], [ -121.943984999607451, 37.250513000291562 ], [ -121.944899999658219, 37.250835000967356 ], [ -121.945201000232387, 37.250834000907702 ], [ -121.94526499978069, 37.250836000627793 ], [ -121.947734000506642, 37.250895000709178 ], [ -121.948531000070119, 37.250922000718049 ], [ -121.949166999916713, 37.250943001104588 ], [ -121.948867000121012, 37.250443000653242 ], [ -121.948767000279673, 37.250143000612468 ], [ -121.949499999548237, 37.249943000448951 ], [ -121.950967000209516, 37.249543000695304 ], [ -121.95109999952156, 37.249943001110147 ], [ -121.951166999763572, 37.250143000732145 ], [ -121.951767000274586, 37.252543000447027 ], [ -121.952166999823305, 37.253643000660418 ], [ -121.952128999826414, 37.253681000235126 ], [ -121.951667000440978, 37.254143000886174 ], [ -121.954667000018347, 37.255643000561669 ], [ -121.955433000113302, 37.255986000729699 ], [ -121.95476700011416, 37.257143000507519 ], [ -121.954510000382371, 37.257447000965897 ], [ -121.953860000066982, 37.258217001038311 ], [ -121.95029599944823, 37.263222000685367 ], [ -121.950066999531174, 37.263543000943393 ], [ -121.950047000419687, 37.26359000085759 ], [ -121.949776999847799, 37.264229000607372 ], [ -121.949769999793801, 37.264245000775134 ], [ -121.948166999433155, 37.268043000610824 ], [ -121.947667000327712, 37.269943001113354 ], [ -121.947367000513566, 37.27094300032843 ], [ -121.947067000100432, 37.270643000345657 ], [ -121.94646700015096, 37.269943000240524 ], [ -121.94446699940022, 37.268643000431297 ], [ -121.94346700042118, 37.267843001029341 ], [ -121.942667000361197, 37.267343000403891 ], [ -121.941967000063912, 37.266743000687384 ], [ -121.941266999534619, 37.266143000447656 ], [ -121.940366999981038, 37.265443000948991 ], [ -121.939866999892629, 37.265043000817329 ], [ -121.93886699971074, 37.264243000551858 ], [ -121.938067000237155, 37.263743000538462 ], [ -121.937256999807573, 37.263257000849954 ], [ -121.936946999976939, 37.263071000548081 ], [ -121.936583000373446, 37.26285200048045 ], [ -121.935566999388726, 37.262243001109901 ], [ -121.933966000074463, 37.261843000914261 ], [ -121.932566000128944, 37.261743000626993 ], [ -121.931466000353794, 37.261643000522994 ], [ -121.931465999756242, 37.260143000673594 ], [ -121.931463999677192, 37.259307000816179 ], [ -121.931412000297428, 37.258623000394486 ], [ -121.931411000276938, 37.257746001020323 ], [ -121.9313660001675, 37.256943000943195 ], [ -121.931466000189218, 37.25624300026341 ], [ -121.931365999726751, 37.255643000408902 ], [ -121.93156599996108, 37.253943000953193 ], [ -121.931365999531749, 37.253443000475201 ], [ -121.931366000177604, 37.251256001008969 ], [ -121.931365999864212, 37.250797001128994 ], [ -121.931365999573586, 37.250543000790721 ], [ -121.931645999788316, 37.250520001127455 ], [ -121.932565999546824, 37.250443000554995 ], [ -121.934066000465293, 37.25044300055913 ], [ -121.93526599998637, 37.250443000745193 ], [ -121.936466000015969, 37.250543000390017 ], [ -121.937466000013202, 37.250543000504152 ], [ -121.938565999656547, 37.25054300087313 ], [ -121.93956699998877, 37.250543000316419 ], [ -121.940426999491876, 37.250543000434007 ], [ -121.940567000257346, 37.250543000372375 ], [ -121.941067000418144, 37.250543000837702 ], [ -121.942167000408247, 37.250543001093249 ], [ -121.942856000247517, 37.250536000564395 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 299, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.233976999850881, 37.386739000741095 ], [ -122.235276999475474, 37.384240001004187 ], [ -122.23757700021153, 37.38713900023884 ], [ -122.238010999992625, 37.387766000385561 ], [ -122.238476999663305, 37.388439000521728 ], [ -122.239276999893534, 37.389439000838316 ], [ -122.240477000183432, 37.388439000298753 ], [ -122.241277000316856, 37.387739000842636 ], [ -122.242477000127678, 37.386839001026665 ], [ -122.244477000121819, 37.385039000526952 ], [ -122.245076999559458, 37.384839000803261 ], [ -122.245477000010993, 37.384739001084412 ], [ -122.245677000472256, 37.383939000828043 ], [ -122.246977000203415, 37.38293900077656 ], [ -122.247176999631805, 37.381140000471298 ], [ -122.247776999886611, 37.380440000876284 ], [ -122.247376999586976, 37.380140001109829 ], [ -122.247977000116705, 37.37934000025885 ], [ -122.24867799984068, 37.379340000481598 ], [ -122.249278000343935, 37.378740000243603 ], [ -122.249978000170145, 37.376440000675771 ], [ -122.251077999938971, 37.375425000341309 ], [ -122.25257800042705, 37.374040000872547 ], [ -122.253878000192529, 37.372740000743583 ], [ -122.252777999886291, 37.371940000916929 ], [ -122.254078000172996, 37.370340000763022 ], [ -122.257178000323336, 37.36854000080573 ], [ -122.257177999457824, 37.367540000244844 ], [ -122.257577999612423, 37.365240000535451 ], [ -122.256477999397745, 37.36504000065235 ], [ -122.256877999452669, 37.363140000419648 ], [ -122.25257799976815, 37.363040000531406 ], [ -122.254178000370075, 37.361240000585362 ], [ -122.253377999713322, 37.359940000900714 ], [ -122.254577999496291, 37.359540000791448 ], [ -122.259378000317099, 37.361340000409456 ], [ -122.25947800014066, 37.360140000852489 ], [ -122.260778000388541, 37.358440000241245 ], [ -122.263177999860517, 37.359140000593356 ], [ -122.263671000031849, 37.35889300041196 ], [ -122.264178000018561, 37.358640001005732 ], [ -122.264377999476878, 37.357740000832678 ], [ -122.265578000422522, 37.357740000718088 ], [ -122.263978000124808, 37.359540000681328 ], [ -122.261277999982227, 37.359440000373851 ], [ -122.260577999737492, 37.360640000258563 ], [ -122.260578000039231, 37.362940000707709 ], [ -122.264478000112177, 37.3626400009544 ], [ -122.265006999506639, 37.364756000830262 ], [ -122.265678000450535, 37.367440000828836 ], [ -122.266678000148772, 37.374040000978063 ], [ -122.266777999795053, 37.374740000999402 ], [ -122.265777999780155, 37.380140000313524 ], [ -122.265923000035684, 37.380935000598051 ], [ -122.266152000093413, 37.38219300062012 ], [ -122.266378000392208, 37.383440000932239 ], [ -122.267977999547924, 37.384440000535193 ], [ -122.268577999983009, 37.385840001081434 ], [ -122.270078000336383, 37.386340000366445 ], [ -122.270878000051027, 37.387040000561086 ], [ -122.272879000186975, 37.387740000616027 ], [ -122.275979000294569, 37.387540001108682 ], [ -122.278078999495122, 37.387740000609156 ], [ -122.279978999608687, 37.387440001068342 ], [ -122.282679000508523, 37.388040001046875 ], [ -122.283379000249127, 37.389040000333956 ], [ -122.28487900021554, 37.389840001054097 ], [ -122.286279000513076, 37.389640000790045 ], [ -122.286436999885325, 37.389694000567701 ], [ -122.289479000290683, 37.390740000642559 ], [ -122.289880999582579, 37.390929000748805 ], [ -122.290192999467493, 37.391142000743521 ], [ -122.290259999882707, 37.391426000271068 ], [ -122.290014999646516, 37.39178000074596 ], [ -122.289778999930604, 37.39194000081195 ], [ -122.292279000194483, 37.393840000911034 ], [ -122.291879000220661, 37.395240000469727 ], [ -122.292778999863671, 37.395740000741384 ], [ -122.294280000199493, 37.396840000249973 ], [ -122.293479000254436, 37.398640001065736 ], [ -122.293379000286734, 37.398940000261739 ], [ -122.294979999813137, 37.399940000488428 ], [ -122.296380000060907, 37.400940000816952 ], [ -122.298380000198065, 37.402440000576767 ], [ -122.300434000469693, 37.403855000768971 ], [ -122.302879999677074, 37.405540001122105 ], [ -122.307280000139016, 37.40784000023443 ], [ -122.306079999513912, 37.411340000756056 ], [ -122.306579999730204, 37.411840000852393 ], [ -122.308079999517361, 37.413339000470252 ], [ -122.308759000270143, 37.413371000381851 ], [ -122.309691000043003, 37.413413000838482 ], [ -122.310279999830911, 37.413440001110359 ], [ -122.317880999546261, 37.417040000311538 ], [ -122.318880999453171, 37.417740000861613 ], [ -122.31898099980198, 37.418440000829797 ], [ -122.318481000215158, 37.42003900042053 ], [ -122.318501999711231, 37.420113000721543 ], [ -122.318700999998072, 37.420830000459326 ], [ -122.319481000214608, 37.423639001068508 ], [ -122.318880999441674, 37.424139000915289 ], [ -122.315879999666649, 37.423939000518835 ], [ -122.313289999779613, 37.425186000379348 ], [ -122.313180000314318, 37.425239000403408 ], [ -122.311880000191266, 37.425939001070297 ], [ -122.310980000170176, 37.427639000401349 ], [ -122.31218000045024, 37.429439000521839 ], [ -122.313279999883889, 37.43033900029458 ], [ -122.316480000220864, 37.43343900079487 ], [ -122.316782999917123, 37.433793000425872 ], [ -122.317079999571348, 37.434139001090251 ], [ -122.318198999614594, 37.434316001030375 ], [ -122.31898100045558, 37.434439001081849 ], [ -122.320081000493559, 37.434639000851085 ], [ -122.321399999843706, 37.436727000443071 ], [ -122.322481000010242, 37.438439000544257 ], [ -122.322856999840113, 37.43893500109607 ], [ -122.325281000401958, 37.442139000305012 ], [ -122.325763000329133, 37.442514000500779 ], [ -122.326180999823151, 37.442839000534683 ], [ -122.326513000046234, 37.443066000951539 ], [ -122.326771999999195, 37.443243000878979 ], [ -122.327707999560701, 37.443884000476693 ], [ -122.329980999942947, 37.445439000681425 ], [ -122.334081000061559, 37.447339000420833 ], [ -122.334380999538183, 37.447539001030684 ], [ -122.333791000101982, 37.447867000783596 ], [ -122.333480999749781, 37.448039000580479 ], [ -122.33298199945132, 37.448312001045153 ], [ -122.329633999793828, 37.450307000333595 ], [ -122.327133999413491, 37.451766001111451 ], [ -122.32463500019756, 37.452642001071638 ], [ -122.321694000250687, 37.454276000260002 ], [ -122.319635999514503, 37.455327000419395 ], [ -122.316253999533984, 37.455385000535614 ], [ -122.3122849997809, 37.454393000882654 ], [ -122.309638000506368, 37.454743000713684 ], [ -122.307211999711754, 37.454860000552785 ], [ -122.306779999839151, 37.455038000779197 ], [ -122.306035000183726, 37.454934000475284 ], [ -122.303367999870801, 37.454562000236471 ], [ -122.302479999926064, 37.454438000514244 ], [ -122.298478999671943, 37.454538000660456 ], [ -122.299478999932674, 37.457938000859983 ], [ -122.297078999640419, 37.459738000679231 ], [ -122.298678999467512, 37.462138000443424 ], [ -122.297479000206209, 37.463138000981274 ], [ -122.296030000233841, 37.464642000664604 ], [ -122.294245999884637, 37.466548000830812 ], [ -122.2941030003186, 37.466622000480648 ], [ -122.293295000167305, 37.4670440005522 ], [ -122.292278999632387, 37.464538000399543 ], [ -122.290014000045701, 37.459245000564451 ], [ -122.289339999575603, 37.459067000337946 ], [ -122.288693000312918, 37.458841000325009 ], [ -122.288202999807197, 37.458617000738165 ], [ -122.287767999890363, 37.458294000435082 ], [ -122.287179999933386, 37.457803000607662 ], [ -122.286833000285327, 37.457427000685492 ], [ -122.286524999435059, 37.456866000460082 ], [ -122.286376999867997, 37.45643000026574 ], [ -122.286322999647382, 37.455984000991478 ], [ -122.286265999537918, 37.455609000409048 ], [ -122.2861509996021, 37.455387000590328 ], [ -122.28587899944128, 37.455038001117039 ], [ -122.280579000413624, 37.451638000255052 ], [ -122.279477999577395, 37.450938000849263 ], [ -122.278478000425167, 37.450338000340807 ], [ -122.277378000127158, 37.449538001026141 ], [ -122.275043999736823, 37.447860000930085 ], [ -122.274024999500966, 37.447316000664237 ], [ -122.273617999947618, 37.447105000978276 ], [ -122.273365999508243, 37.44700800100744 ], [ -122.271960999665296, 37.446471000333709 ], [ -122.271454999399239, 37.446209000232749 ], [ -122.271123000104666, 37.445977001113505 ], [ -122.270161000045064, 37.444943000483129 ], [ -122.269977999404674, 37.444638000665762 ], [ -122.268777999695942, 37.443738000292136 ], [ -122.268333999859905, 37.443387000968798 ], [ -122.267692000417853, 37.442882000685913 ], [ -122.264768000090882, 37.439728000462864 ], [ -122.264378000083667, 37.439338000457113 ], [ -122.263478000388659, 37.438738000555318 ], [ -122.262077999889115, 37.437338001053398 ], [ -122.261577999917975, 37.436938000257506 ], [ -122.261178000201042, 37.436638000642482 ], [ -122.260478000311778, 37.435938001010058 ], [ -122.259677999519681, 37.435138000825297 ], [ -122.2591779997, 37.434738000667984 ], [ -122.25887799982965, 37.434338000609415 ], [ -122.258077999472647, 37.433738000629724 ], [ -122.257577999977826, 37.433038000471399 ], [ -122.256977000032379, 37.432338000558147 ], [ -122.254677000265588, 37.429638000482434 ], [ -122.254376999734674, 37.429138000379211 ], [ -122.253076999477614, 37.429038000477938 ], [ -122.251077000415577, 37.429038000746722 ], [ -122.249976999451789, 37.429038000880382 ], [ -122.250577000239915, 37.425938000240627 ], [ -122.248976999664194, 37.42513800030094 ], [ -122.24537699971377, 37.423338000745481 ], [ -122.244576999833328, 37.421339000928675 ], [ -122.24397699971226, 37.419639000305303 ], [ -122.242586999599126, 37.416051000253304 ], [ -122.240877000105755, 37.411639001061886 ], [ -122.241277000459561, 37.411139000620658 ], [ -122.24227699989639, 37.410139000249991 ], [ -122.245576999666824, 37.407839000849151 ], [ -122.244577000145966, 37.40403900081732 ], [ -122.245076999921196, 37.402139000903254 ], [ -122.241676999694405, 37.400939000309073 ], [ -122.238677000067568, 37.40043900109017 ], [ -122.238376999713978, 37.400239000359782 ], [ -122.237542000140536, 37.399935000564334 ], [ -122.237276999687623, 37.399839000924977 ], [ -122.237177000202834, 37.39963900092102 ], [ -122.23717699969076, 37.399339000975431 ], [ -122.236477000480889, 37.39913900099782 ], [ -122.236376999529583, 37.397939000665779 ], [ -122.235276999720114, 37.398039000988888 ], [ -122.235376999596667, 37.397239000230833 ], [ -122.234377000337275, 37.39743900040591 ], [ -122.234277000354055, 37.394339000510946 ], [ -122.229577000219706, 37.389939000308125 ], [ -122.228376999855882, 37.387539000655742 ], [ -122.227276999733959, 37.387139000381644 ], [ -122.226677000495826, 37.385040001095831 ], [ -122.227877000502872, 37.384240000825464 ], [ -122.228277000155529, 37.383440000677076 ], [ -122.227576999563155, 37.383040000758335 ], [ -122.226277000192042, 37.382440000875356 ], [ -122.224277000286065, 37.381440000677244 ], [ -122.224770000013649, 37.381155000246913 ], [ -122.226177000431903, 37.38034000095697 ], [ -122.227576999491916, 37.381340000505325 ], [ -122.228277000252319, 37.381740000464063 ], [ -122.229477000137265, 37.382440001050981 ], [ -122.230176999965522, 37.382540000843292 ], [ -122.233577000392657, 37.386439000676994 ], [ -122.233976999850881, 37.386739000741095 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 295, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.452086999621258, 37.48054000084317 ], [ -122.451387000343331, 37.480740000878093 ], [ -122.451087000391169, 37.48144000068347 ], [ -122.450455999965712, 37.48170400027027 ], [ -122.446786999499949, 37.483240001127044 ], [ -122.446987000186056, 37.4836400002646 ], [ -122.447298999744049, 37.484094000615741 ], [ -122.448740000495903, 37.486190000630536 ], [ -122.449187000132881, 37.486840000415029 ], [ -122.449879999489994, 37.48781000037242 ], [ -122.450799999479969, 37.489096000373451 ], [ -122.451247000383532, 37.489724000848859 ], [ -122.451687000485393, 37.490340000678906 ], [ -122.451842999948624, 37.490704000449114 ], [ -122.450177000097511, 37.491518000688593 ], [ -122.448939999674536, 37.49218600060231 ], [ -122.44891100043715, 37.492201000916104 ], [ -122.447565999623862, 37.492908000623515 ], [ -122.446712000312303, 37.493296000483753 ], [ -122.446435999468463, 37.493506000847766 ], [ -122.446172999615555, 37.493877000528414 ], [ -122.446227999946089, 37.494140001096973 ], [ -122.44632300035137, 37.494371000766343 ], [ -122.446234999948615, 37.494516000532556 ], [ -122.446147999760541, 37.49466200091674 ], [ -122.445858999438443, 37.494818000846038 ], [ -122.444915999451865, 37.495421000451373 ], [ -122.443772999731792, 37.496078000270671 ], [ -122.443531000183967, 37.496347000613689 ], [ -122.443362999723092, 37.49658900110267 ], [ -122.443263000028367, 37.497325000818755 ], [ -122.442880000428815, 37.498524000368398 ], [ -122.443127000385402, 37.500017000536253 ], [ -122.443962999593538, 37.508208000569162 ], [ -122.443936999729061, 37.508316001033862 ], [ -122.443889999639381, 37.508498000255187 ], [ -122.443804000206811, 37.508676000387105 ], [ -122.443704999852812, 37.508870000452191 ], [ -122.443563000167387, 37.508999000421049 ], [ -122.443428999490237, 37.509080000235251 ], [ -122.443315000470307, 37.509117000818833 ], [ -122.443140000519136, 37.509097000521372 ], [ -122.443080000277348, 37.509059000476462 ], [ -122.44280299966816, 37.508872000741086 ], [ -122.442597999705342, 37.508600000829915 ], [ -122.442456999890226, 37.508574001010388 ], [ -122.442328999987339, 37.508563000542459 ], [ -122.442200999601056, 37.508558000248584 ], [ -122.44201999973987, 37.508585000820844 ], [ -122.441879000298272, 37.508688000321882 ], [ -122.441867000298814, 37.508827000935597 ], [ -122.441922999588911, 37.509257000527484 ], [ -122.441896999789861, 37.509558000247011 ], [ -122.440700000332342, 37.514275000653285 ], [ -122.440709000350168, 37.514667000337269 ], [ -122.440749999627826, 37.514866000539698 ], [ -122.441050999426125, 37.515606000433863 ], [ -122.442786000313205, 37.517539000754269 ], [ -122.444400999910101, 37.518729000844125 ], [ -122.444504999830102, 37.519096000778987 ], [ -122.44476399944358, 37.519659001112963 ], [ -122.444988000156243, 37.520013001098391 ], [ -122.445278999865877, 37.520195001071166 ], [ -122.446697000304482, 37.520931000928677 ], [ -122.446820000158866, 37.521092000712862 ], [ -122.446920999489279, 37.521317000628031 ], [ -122.446935999543953, 37.52145100102905 ], [ -122.44671399965118, 37.523843000994219 ], [ -122.446747999463227, 37.523951000735529 ], [ -122.446863999847523, 37.524084000468612 ], [ -122.447046999674967, 37.524213000824815 ], [ -122.447450999970499, 37.524292000513704 ], [ -122.447578999880747, 37.524329000400058 ], [ -122.447692999492844, 37.524409000374717 ], [ -122.447721000268274, 37.52450600051975 ], [ -122.447804999993039, 37.524849000791029 ], [ -122.447831000259342, 37.524903000667628 ], [ -122.447938999450557, 37.524946000692324 ], [ -122.448585999818789, 37.525153001039008 ], [ -122.448897000107095, 37.52537200028253 ], [ -122.44931800025492, 37.525875000351583 ], [ -122.449346000353174, 37.52598800089099 ], [ -122.449407999600183, 37.526310000444958 ], [ -122.449517000252698, 37.527782000357952 ], [ -122.449619999818339, 37.528002000984777 ], [ -122.44985699994281, 37.528221000675543 ], [ -122.452598000259613, 37.529608001028514 ], [ -122.452963999902451, 37.529967000753082 ], [ -122.453425000349014, 37.530578000804489 ], [ -122.45362500024477, 37.531227000549137 ], [ -122.453741999838783, 37.531801000348693 ], [ -122.453865000519713, 37.532037000348005 ], [ -122.454006999922427, 37.532193000304119 ], [ -122.454929000313697, 37.532657000789328 ], [ -122.453043000094951, 37.53631200095603 ], [ -122.45174400044165, 37.53844300107022 ], [ -122.449146000064474, 37.538940001035655 ], [ -122.446414999432832, 37.538798000593296 ], [ -122.443593000313228, 37.538549000292463 ], [ -122.441175000271187, 37.53862000082497 ], [ -122.441076999760028, 37.538627001090994 ], [ -122.440599000262608, 37.538718000322874 ], [ -122.44078600018851, 37.538738000951071 ], [ -122.440951000304182, 37.538924000535907 ], [ -122.441210999914091, 37.539313000730544 ], [ -122.441377999810925, 37.539931000726149 ], [ -122.441867000270236, 37.540336000768527 ], [ -122.442828000511895, 37.54044200035208 ], [ -122.443742999711418, 37.541129000665677 ], [ -122.444383999648835, 37.541839000809006 ], [ -122.44531499944209, 37.542571000932476 ], [ -122.445895000357666, 37.543113000318726 ], [ -122.446809999999772, 37.543914001017313 ], [ -122.447284000488111, 37.544822000686473 ], [ -122.447771999955464, 37.545623000710229 ], [ -122.448335999844204, 37.5468360005855 ], [ -122.448717999826499, 37.548064000907758 ], [ -122.449358999555486, 37.548934000756894 ], [ -122.449816000077078, 37.549453000268244 ], [ -122.449861999556944, 37.549933000482689 ], [ -122.450259000201385, 37.550307000892616 ], [ -122.450442000254483, 37.550673000642014 ], [ -122.450685999401941, 37.550864000527262 ], [ -122.450639999946972, 37.551085000777022 ], [ -122.450717000232771, 37.551230001041972 ], [ -122.450978000377589, 37.551438000409419 ], [ -122.452859000202864, 37.552558001077422 ], [ -122.454388000384398, 37.552905000967506 ], [ -122.456534999949696, 37.552847000626919 ], [ -122.45809999954929, 37.552645000704139 ], [ -122.460539000463129, 37.552789000269286 ], [ -122.462176999725585, 37.553944000813821 ], [ -122.464542999431714, 37.554781000463791 ], [ -122.465185999493599, 37.554838001068937 ], [ -122.469285999580762, 37.559138000468863 ], [ -122.468185999708098, 37.560738000787325 ], [ -122.460586000172455, 37.565138000902444 ], [ -122.459785999639536, 37.566037000667734 ], [ -122.459486000294177, 37.566037000283863 ], [ -122.459486000119128, 37.567637000385673 ], [ -122.459406999858288, 37.570084000551994 ], [ -122.45938599944769, 37.570737000407604 ], [ -122.450585000074597, 37.570537000963618 ], [ -122.450485000351293, 37.577737000713967 ], [ -122.450584999405507, 37.578037000828502 ], [ -122.459584999760395, 37.578137000455207 ], [ -122.459384999754789, 37.584737000500986 ], [ -122.462784999755897, 37.584837000254986 ], [ -122.461280999704456, 37.585574000838243 ], [ -122.459743000433946, 37.586328000650447 ], [ -122.452873000462532, 37.589696000570719 ], [ -122.451167999579127, 37.590532000751963 ], [ -122.450576999658111, 37.59082200078462 ], [ -122.450380999977128, 37.590918000557089 ], [ -122.447284999685095, 37.592436000911967 ], [ -122.44338499941118, 37.594436001053708 ], [ -122.450068000014838, 37.615586001088602 ], [ -122.45008399975903, 37.61563500029294 ], [ -122.451583999949634, 37.616835000397103 ], [ -122.450983999504999, 37.617235000351194 ], [ -122.44998400000965, 37.61813500112509 ], [ -122.449083999630147, 37.618935000625974 ], [ -122.446040999918537, 37.621978000656576 ], [ -122.445904000207221, 37.622115000602825 ], [ -122.445784000456797, 37.622235000796103 ], [ -122.445244000443509, 37.621681000856192 ], [ -122.44188399965158, 37.618235000841132 ], [ -122.438092999703585, 37.614333001032854 ], [ -122.437454000173105, 37.613676000676328 ], [ -122.429157000384023, 37.605135000275396 ], [ -122.427695999652187, 37.603727000906318 ], [ -122.425957000017064, 37.602138000808885 ], [ -122.423183999935844, 37.59963600106196 ], [ -122.422683999619579, 37.5991360005846 ], [ -122.420583999403263, 37.597036001019006 ], [ -122.419883999737863, 37.596436000664447 ], [ -122.41898400008958, 37.595636000362525 ], [ -122.415184000156387, 37.59243600106992 ], [ -122.414384000179439, 37.591736000462632 ], [ -122.413883999688792, 37.591336000399849 ], [ -122.412483999734533, 37.59003600110676 ], [ -122.412183999914078, 37.589736000533463 ], [ -122.410483999739327, 37.588236000496735 ], [ -122.409082999669337, 37.586836000483579 ], [ -122.408783000159531, 37.586536001112094 ], [ -122.406831999618248, 37.584638000508598 ], [ -122.406627999805394, 37.584440000568712 ], [ -122.406451999934902, 37.584268000555056 ], [ -122.406266000100132, 37.584087000559244 ], [ -122.405082999833539, 37.582936000787065 ], [ -122.403948000143004, 37.581278000580987 ], [ -122.402781000218368, 37.579269000696407 ], [ -122.40148300042722, 37.576536000293942 ], [ -122.400573000041547, 37.575065000803129 ], [ -122.396282999537831, 37.568136000527666 ], [ -122.394782999591996, 37.566936000707315 ], [ -122.392206999947916, 37.565444001027451 ], [ -122.38788300018156, 37.56293700087614 ], [ -122.377782999429471, 37.552237000682084 ], [ -122.37418299989578, 37.548637001033661 ], [ -122.373813999962636, 37.548372000603941 ], [ -122.372567000421355, 37.547451000288838 ], [ -122.371042999741476, 37.546185000742405 ], [ -122.367118000036129, 37.542737000821234 ], [ -122.362681999430933, 37.530737000782565 ], [ -122.362482000424706, 37.529837001103623 ], [ -122.358282000360802, 37.524837000263069 ], [ -122.356601000077134, 37.522976001102741 ], [ -122.356403999533399, 37.522777000637035 ], [ -122.356222999498584, 37.522595000861884 ], [ -122.356074000041318, 37.522444000499746 ], [ -122.355865999963953, 37.522237000981647 ], [ -122.355490000339358, 37.521860000459981 ], [ -122.35430199949532, 37.520594000350428 ], [ -122.353321999438421, 37.519522000544825 ], [ -122.352317999756977, 37.518425000812464 ], [ -122.346180999768265, 37.511738000753731 ], [ -122.340649000112862, 37.50704700097468 ], [ -122.339880999571378, 37.506254000441508 ], [ -122.340707999734235, 37.506341000844742 ], [ -122.341323000388115, 37.506439000633428 ], [ -122.341631000161271, 37.506538000454817 ], [ -122.34368099988977, 37.507838000538925 ], [ -122.343580999609443, 37.508638000454418 ], [ -122.346381000163262, 37.511338000797601 ], [ -122.347581999824413, 37.512038000305438 ], [ -122.349681999394264, 37.511738000838555 ], [ -122.350781999589344, 37.511138000715263 ], [ -122.351981999758678, 37.509638000928383 ], [ -122.352981999550991, 37.508538000247832 ], [ -122.354082000090003, 37.507338001020507 ], [ -122.357682000140088, 37.506738000348811 ], [ -122.357882000436589, 37.505938000402175 ], [ -122.358210999905879, 37.504763000669357 ], [ -122.35858199966755, 37.503438000487947 ], [ -122.357381999507552, 37.499838000425591 ], [ -122.358013999423662, 37.498116000259927 ], [ -122.36085700030786, 37.497386000869056 ], [ -122.361375999887343, 37.496373000615293 ], [ -122.365333999899235, 37.496733000232602 ], [ -122.366983000381566, 37.495839000748461 ], [ -122.3672829993954, 37.495419000975325 ], [ -122.367483000254538, 37.495139000387432 ], [ -122.367582999831569, 37.494939000936711 ], [ -122.367082999870988, 37.492739000677496 ], [ -122.368483000108426, 37.490139000305682 ], [ -122.367583000259927, 37.48753900112537 ], [ -122.36888299952443, 37.486539000424933 ], [ -122.370082999410755, 37.48713900068207 ], [ -122.373482999651955, 37.492339001043568 ], [ -122.3761830004741, 37.494039000946238 ], [ -122.382583000055902, 37.493639000722801 ], [ -122.383482999764055, 37.493339000998553 ], [ -122.383882999908835, 37.49323900045249 ], [ -122.384333999479281, 37.493033001001258 ], [ -122.386666000493236, 37.491967000616377 ], [ -122.388221999488735, 37.491256000499007 ], [ -122.389654999871354, 37.49060100075728 ], [ -122.39000000032064, 37.490443000391039 ], [ -122.3907460000421, 37.490102000605454 ], [ -122.390884000100257, 37.490039000836802 ], [ -122.391954000334295, 37.489367000356474 ], [ -122.393945999616349, 37.488116000368066 ], [ -122.3951840003716, 37.487339001069302 ], [ -122.395730000400889, 37.487006000408861 ], [ -122.396281000083917, 37.486670000491998 ], [ -122.398128999729295, 37.485545001103411 ], [ -122.400586999749478, 37.484048000996452 ], [ -122.401471999503897, 37.483509000543513 ], [ -122.402220000015902, 37.483054000743316 ], [ -122.40388399950595, 37.482040000403657 ], [ -122.404369000235562, 37.481919000274317 ], [ -122.405484999666939, 37.481640000669643 ], [ -122.406185000456929, 37.48144000089026 ], [ -122.407077999423493, 37.48120900082786 ], [ -122.409660999464492, 37.480541000480855 ], [ -122.410580999416382, 37.480303000633732 ], [ -122.411555000443968, 37.480051000379333 ], [ -122.411763999686045, 37.479997000628927 ], [ -122.41198499975124, 37.479940001027195 ], [ -122.412884999677672, 37.479640000932939 ], [ -122.41426399981394, 37.478979000801147 ], [ -122.414970000373202, 37.478641000432162 ], [ -122.415320000084634, 37.478473000983719 ], [ -122.417684999822725, 37.477340000295172 ], [ -122.41828500025251, 37.476740000528707 ], [ -122.418997999631543, 37.476027001122695 ], [ -122.419789000453576, 37.475236000921385 ], [ -122.419984999626308, 37.475040001099345 ], [ -122.420599999926793, 37.473910000935781 ], [ -122.420945999609529, 37.473275000780959 ], [ -122.421570999552372, 37.472764000932465 ], [ -122.421890999762752, 37.47243100064798 ], [ -122.422135999717483, 37.472177000956513 ], [ -122.422485000325437, 37.471640001055583 ], [ -122.42296000010839, 37.471017000244629 ], [ -122.423455999476275, 37.470534000761425 ], [ -122.423509000135567, 37.470483000860661 ], [ -122.423885000471316, 37.470240000305139 ], [ -122.425515000171188, 37.469688000232395 ], [ -122.426123999517685, 37.469482000965108 ], [ -122.428770000479687, 37.468587000622186 ], [ -122.430386000370419, 37.468040000317842 ], [ -122.431486000020698, 37.467840000451943 ], [ -122.433285999453844, 37.467940000682042 ], [ -122.433985999875176, 37.468040000530117 ], [ -122.433985999784056, 37.467640000377841 ], [ -122.43418599942089, 37.4667400009766 ], [ -122.434313999707342, 37.466301000587265 ], [ -122.434483000352586, 37.465722000457511 ], [ -122.434705999500366, 37.464957000320034 ], [ -122.434885999940846, 37.464340000243723 ], [ -122.436090999460461, 37.464510000895942 ], [ -122.438485999695231, 37.464740001109725 ], [ -122.44058599949976, 37.464940000620324 ], [ -122.442085999759442, 37.465240001127938 ], [ -122.44274199946345, 37.465326001004613 ], [ -122.444387000236617, 37.465540001024941 ], [ -122.444646999558202, 37.465540000994558 ], [ -122.444987000069602, 37.465541000816671 ], [ -122.445787000167698, 37.465641001107841 ], [ -122.447487000270883, 37.465641000319806 ], [ -122.452086999621258, 37.48054000084317 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 293, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.517099999856129, 37.586739001006968 ], [ -122.514714000261336, 37.586145000532831 ], [ -122.514432000049567, 37.585885000617409 ], [ -122.514197999712579, 37.585588000870445 ], [ -122.514126999607441, 37.585198000310683 ], [ -122.51406400039312, 37.584871000605965 ], [ -122.513528000110014, 37.585112000984225 ], [ -122.512435999984149, 37.585211000515301 ], [ -122.511021999682868, 37.585171000330853 ], [ -122.509756000483179, 37.585014000397976 ], [ -122.510512000024249, 37.584925000551927 ], [ -122.512299999624972, 37.584764000584222 ], [ -122.513475999960292, 37.584465001109649 ], [ -122.513598999813183, 37.584387000839421 ], [ -122.513712000471855, 37.58431600055566 ], [ -122.513743000243181, 37.584192000384348 ], [ -122.513633000005825, 37.584118001011127 ], [ -122.513350999409212, 37.58413000106502 ], [ -122.512190000377444, 37.584155000965175 ], [ -122.511689000213508, 37.583944000307064 ], [ -122.51154700010926, 37.583509000362753 ], [ -122.511955000224631, 37.582975000340127 ], [ -122.51253500025328, 37.58273800049124 ], [ -122.512879999395267, 37.582552000712653 ], [ -122.512926999708569, 37.582254000680628 ], [ -122.512707999521709, 37.582043000349366 ], [ -122.512299999670674, 37.581869000593969 ], [ -122.512159000307676, 37.581620000767813 ], [ -122.512300000330981, 37.581372000361249 ], [ -122.512534999911111, 37.58109900068407 ], [ -122.51305299949324, 37.58097400023658 ], [ -122.513256999679754, 37.580651000641822 ], [ -122.513210000501061, 37.58041500031613 ], [ -122.512912000292275, 37.580341000867875 ], [ -122.512692000397564, 37.580005000372857 ], [ -122.512801999400907, 37.579645000738218 ], [ -122.513022000362312, 37.579260000814848 ], [ -122.51306900043005, 37.578999000812274 ], [ -122.512940999638886, 37.578577000559861 ], [ -122.512846999951037, 37.578055000892057 ], [ -122.512563999612155, 37.577346000870293 ], [ -122.512233999788847, 37.576860000928484 ], [ -122.511056000096701, 37.576487000564725 ], [ -122.510208000112641, 37.576188000341688 ], [ -122.509736999448691, 37.575778001095621 ], [ -122.509595999905159, 37.574957000746409 ], [ -122.509125000073141, 37.574061000960818 ], [ -122.50832400009763, 37.573874000986677 ], [ -122.507617000272205, 37.574135000991852 ], [ -122.506580000258566, 37.573986000469638 ], [ -122.505496999534316, 37.573613000986299 ], [ -122.504224999507755, 37.573127001049777 ], [ -122.502717000445685, 37.572866000806947 ], [ -122.502575999477955, 37.572717000924165 ], [ -122.502340000084459, 37.572381000916891 ], [ -122.501916000414923, 37.572194000387242 ], [ -122.50121000044814, 37.572269000430012 ], [ -122.50054100048817, 37.572386000518954 ], [ -122.500361000221076, 37.572344000409224 ], [ -122.499890000497274, 37.572269000536309 ], [ -122.499512999786489, 37.571970000759521 ], [ -122.499115000138602, 37.571647000651389 ], [ -122.498534999622834, 37.571347001052274 ], [ -122.498193999865649, 37.570962001036527 ], [ -122.497581999713546, 37.57051400107396 ], [ -122.497063999418501, 37.570328000852363 ], [ -122.496587000183737, 37.570338000737543 ], [ -122.496309999703399, 37.57032800042613 ], [ -122.495744000455659, 37.570402000347173 ], [ -122.495179000054378, 37.570477000513712 ], [ -122.494425000352635, 37.570291000536471 ], [ -122.494000999945968, 37.569768000867789 ], [ -122.493808999529591, 37.569343000302339 ], [ -122.49384699959532, 37.568079000567614 ], [ -122.492570999949237, 37.566594000260736 ], [ -122.490530000416527, 37.566121000909398 ], [ -122.487637999724598, 37.565919000449647 ], [ -122.486607999495632, 37.565730000235853 ], [ -122.485425999773412, 37.565514000279521 ], [ -122.483725000015895, 37.564704000895212 ], [ -122.482397999410324, 37.563249000575617 ], [ -122.48151400040733, 37.562612000754349 ], [ -122.480067999539912, 37.562139000433298 ], [ -122.478791999672197, 37.562139000387532 ], [ -122.477887000319669, 37.56213800040387 ], [ -122.477686999434013, 37.563538000616852 ], [ -122.467585999626266, 37.563438001114747 ], [ -122.467685999928278, 37.565238000724655 ], [ -122.467585999426419, 37.566238000266942 ], [ -122.46568599992446, 37.566138000930685 ], [ -122.460086000126537, 37.566037000294408 ], [ -122.459785999639536, 37.566037000667734 ], [ -122.460586000172455, 37.565138000902444 ], [ -122.468185999708098, 37.560738000787325 ], [ -122.469285999580762, 37.559138000468863 ], [ -122.465185999493599, 37.554838001068937 ], [ -122.470385999949968, 37.554538000886794 ], [ -122.471659000230588, 37.551400000305811 ], [ -122.471886999548005, 37.550838000827213 ], [ -122.473586999468182, 37.545039000802063 ], [ -122.482986999510643, 37.538839000776022 ], [ -122.48548700003235, 37.53733900077286 ], [ -122.489787999529014, 37.53373900066952 ], [ -122.495087999672123, 37.529340000388331 ], [ -122.502289000469943, 37.523940000797104 ], [ -122.503346999449349, 37.523340001108352 ], [ -122.505988999622176, 37.521840000577406 ], [ -122.508389000277731, 37.522240000364278 ], [ -122.505688999928879, 37.52074000033361 ], [ -122.502989000276813, 37.519140000793342 ], [ -122.49388800045044, 37.513840001057083 ], [ -122.488588000354909, 37.509740000429041 ], [ -122.488187999461545, 37.50904000104223 ], [ -122.487488000342339, 37.508140000442125 ], [ -122.487187999453141, 37.506140000621244 ], [ -122.48698800043671, 37.505240000373448 ], [ -122.486988000022762, 37.504540000617297 ], [ -122.486804000018267, 37.503254001119082 ], [ -122.486787999587307, 37.503141000619458 ], [ -122.487140000451134, 37.503053000337779 ], [ -122.49228899953134, 37.501766000384137 ], [ -122.491025000147502, 37.499993000327734 ], [ -122.491176999574961, 37.499896000274518 ], [ -122.492518000021292, 37.501653000577392 ], [ -122.495889000040876, 37.49934100104003 ], [ -122.494988999752294, 37.495641000970267 ], [ -122.493388999709197, 37.492841000385965 ], [ -122.487989000270403, 37.494441000433866 ], [ -122.487889000194073, 37.494041000330107 ], [ -122.493789000192237, 37.492341000814157 ], [ -122.495488999435253, 37.495141000594089 ], [ -122.499288999881628, 37.495341000817042 ], [ -122.500088999788105, 37.498341001026333 ], [ -122.499989000181714, 37.498741000651805 ], [ -122.499588999956856, 37.501341001026411 ], [ -122.50679899978077, 37.508493000989205 ], [ -122.510738000190173, 37.512400000988123 ], [ -122.511235999960519, 37.512893000817378 ], [ -122.511816000153374, 37.51346900083638 ], [ -122.512089000192262, 37.513740000274538 ], [ -122.515389000482983, 37.519140000361155 ], [ -122.516689000459749, 37.521340000962496 ], [ -122.51778899984815, 37.524040000774662 ], [ -122.516888999764561, 37.525640000943916 ], [ -122.516914000062826, 37.525701000513763 ], [ -122.517711999983817, 37.527774000295132 ], [ -122.516985999682348, 37.529237000772468 ], [ -122.517516000074025, 37.531001001044856 ], [ -122.517848999445107, 37.532110001057326 ], [ -122.519533000306254, 37.537302000919397 ], [ -122.518688999613289, 37.537139001078273 ], [ -122.518289000059042, 37.537439000540495 ], [ -122.518258999895096, 37.538175001109167 ], [ -122.518234000018396, 37.53879100059045 ], [ -122.518199999923254, 37.53965500102121 ], [ -122.518189000364515, 37.539939001092961 ], [ -122.517288999541137, 37.542439000299872 ], [ -122.517261999869348, 37.542657000847541 ], [ -122.517210999698619, 37.543063000950319 ], [ -122.517188999876566, 37.543239000881343 ], [ -122.516589000210999, 37.544939000961051 ], [ -122.514788999523006, 37.546139000842409 ], [ -122.513687999918716, 37.552239000794046 ], [ -122.515487999917411, 37.558338000671178 ], [ -122.515287999652287, 37.562238000448652 ], [ -122.514687999811201, 37.566738000796462 ], [ -122.517687999879499, 37.567938000589528 ], [ -122.519303000302486, 37.572110000257801 ], [ -122.520087999696472, 37.574138000491295 ], [ -122.518087999990797, 37.576138000620531 ], [ -122.516987999905993, 37.581737000912732 ], [ -122.517099999856129, 37.586739001006968 ] ] ], [ [ [ -122.477388000192633, 37.50234000058024 ], [ -122.472888000115958, 37.50074000038596 ], [ -122.472387999909415, 37.50054000068436 ], [ -122.474488000419882, 37.499240001056869 ], [ -122.474988000315022, 37.498940001116729 ], [ -122.479987999758862, 37.496341000520829 ], [ -122.485887999910759, 37.494641000795937 ], [ -122.48608800011182, 37.494941001072817 ], [ -122.480187999993632, 37.496641000727571 ], [ -122.475387999895162, 37.49924000112555 ], [ -122.474788000243521, 37.499540000746897 ], [ -122.475788000000236, 37.500640000286175 ], [ -122.477887999665086, 37.501340000396098 ], [ -122.477388000192633, 37.50234000058024 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 6, "TAZ1454": 296, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.447487000270883, 37.465641000319806 ], [ -122.445787000167698, 37.465641001107841 ], [ -122.444987000069602, 37.465541000816671 ], [ -122.444646999558202, 37.465540000994558 ], [ -122.444387000236617, 37.465540001024941 ], [ -122.44274199946345, 37.465326001004613 ], [ -122.442085999759442, 37.465240001127938 ], [ -122.44058599949976, 37.464940000620324 ], [ -122.438485999695231, 37.464740001109725 ], [ -122.436090999460461, 37.464510000895942 ], [ -122.434885999940846, 37.464340000243723 ], [ -122.434705999500366, 37.464957000320034 ], [ -122.434483000352586, 37.465722000457511 ], [ -122.434313999707342, 37.466301000587265 ], [ -122.43418599942089, 37.4667400009766 ], [ -122.433985999784056, 37.467640000377841 ], [ -122.433985999875176, 37.468040000530117 ], [ -122.433285999453844, 37.467940000682042 ], [ -122.431486000020698, 37.467840000451943 ], [ -122.430386000370419, 37.468040000317842 ], [ -122.428770000479687, 37.468587000622186 ], [ -122.426123999517685, 37.469482000965108 ], [ -122.425515000171188, 37.469688000232395 ], [ -122.423885000471316, 37.470240000305139 ], [ -122.423509000135567, 37.470483000860661 ], [ -122.423455999476275, 37.470534000761425 ], [ -122.42296000010839, 37.471017000244629 ], [ -122.422485000325437, 37.471640001055583 ], [ -122.422135999717483, 37.472177000956513 ], [ -122.421890999762752, 37.47243100064798 ], [ -122.421570999552372, 37.472764000932465 ], [ -122.420945999609529, 37.473275000780959 ], [ -122.420599999926793, 37.473910000935781 ], [ -122.419984999626308, 37.475040001099345 ], [ -122.419789000453576, 37.475236000921385 ], [ -122.418997999631543, 37.476027001122695 ], [ -122.41828500025251, 37.476740000528707 ], [ -122.417684999822725, 37.477340000295172 ], [ -122.415320000084634, 37.478473000983719 ], [ -122.414970000373202, 37.478641000432162 ], [ -122.41426399981394, 37.478979000801147 ], [ -122.412884999677672, 37.479640000932939 ], [ -122.41198499975124, 37.479940001027195 ], [ -122.411763999686045, 37.479997000628927 ], [ -122.411555000443968, 37.480051000379333 ], [ -122.410580999416382, 37.480303000633732 ], [ -122.409660999464492, 37.480541000480855 ], [ -122.407077999423493, 37.48120900082786 ], [ -122.406185000456929, 37.48144000089026 ], [ -122.405484999666939, 37.481640000669643 ], [ -122.404369000235562, 37.481919000274317 ], [ -122.40388399950595, 37.482040000403657 ], [ -122.402220000015902, 37.483054000743316 ], [ -122.401471999503897, 37.483509000543513 ], [ -122.400586999749478, 37.484048000996452 ], [ -122.398128999729295, 37.485545001103411 ], [ -122.396281000083917, 37.486670000491998 ], [ -122.395730000400889, 37.487006000408861 ], [ -122.3951840003716, 37.487339001069302 ], [ -122.393945999616349, 37.488116000368066 ], [ -122.391954000334295, 37.489367000356474 ], [ -122.390884000100257, 37.490039000836802 ], [ -122.3907460000421, 37.490102000605454 ], [ -122.39000000032064, 37.490443000391039 ], [ -122.389654999871354, 37.49060100075728 ], [ -122.388221999488735, 37.491256000499007 ], [ -122.386666000493236, 37.491967000616377 ], [ -122.384333999479281, 37.493033001001258 ], [ -122.383882999908835, 37.49323900045249 ], [ -122.383482999764055, 37.493339000998553 ], [ -122.382583000055902, 37.493639000722801 ], [ -122.3761830004741, 37.494039000946238 ], [ -122.373482999651955, 37.492339001043568 ], [ -122.370082999410755, 37.48713900068207 ], [ -122.36888299952443, 37.486539000424933 ], [ -122.367583000259927, 37.48753900112537 ], [ -122.368483000108426, 37.490139000305682 ], [ -122.367082999870988, 37.492739000677496 ], [ -122.367582999831569, 37.494939000936711 ], [ -122.367483000254538, 37.495139000387432 ], [ -122.3672829993954, 37.495419000975325 ], [ -122.366983000381566, 37.495839000748461 ], [ -122.365333999899235, 37.496733000232602 ], [ -122.361375999887343, 37.496373000615293 ], [ -122.36085700030786, 37.497386000869056 ], [ -122.358013999423662, 37.498116000259927 ], [ -122.357381999507552, 37.499838000425591 ], [ -122.35858199966755, 37.503438000487947 ], [ -122.358210999905879, 37.504763000669357 ], [ -122.357882000436589, 37.505938000402175 ], [ -122.357682000140088, 37.506738000348811 ], [ -122.354082000090003, 37.507338001020507 ], [ -122.352981999550991, 37.508538000247832 ], [ -122.351882000181092, 37.509538000895766 ], [ -122.351981999758678, 37.509638000928383 ], [ -122.350781999589344, 37.511138000715263 ], [ -122.349681999394264, 37.511738000838555 ], [ -122.347581999824413, 37.512038000305438 ], [ -122.346381000163262, 37.511338000797601 ], [ -122.343580999609443, 37.508638000454418 ], [ -122.34368099988977, 37.507838000538925 ], [ -122.341631000161271, 37.506538000454817 ], [ -122.341323000388115, 37.506439000633428 ], [ -122.340707999734235, 37.506341000844742 ], [ -122.339880999571378, 37.506254000441508 ], [ -122.340649000112862, 37.50704700097468 ], [ -122.339294999451425, 37.506184000779307 ], [ -122.338980000512336, 37.505992000377908 ], [ -122.33860600018204, 37.50577200094321 ], [ -122.338456999861407, 37.505679000802708 ], [ -122.338401000496077, 37.505644000506692 ], [ -122.338183999479838, 37.505516000975994 ], [ -122.337891000426779, 37.505343000610459 ], [ -122.335780999743577, 37.504238000735882 ], [ -122.332239000503876, 37.502021000252469 ], [ -122.329257000112165, 37.501091000583472 ], [ -122.32563599989335, 37.499822000690038 ], [ -122.32414500036765, 37.498892001060966 ], [ -122.322122000239503, 37.497455000306999 ], [ -122.319565999632118, 37.497117000788279 ], [ -122.316370999489351, 37.497201000869431 ], [ -122.314881000119399, 37.497455000549962 ], [ -122.31285099978281, 37.497178000941496 ], [ -122.311089000203566, 37.497101000698819 ], [ -122.310153999453405, 37.496846001000506 ], [ -122.30555400044652, 37.494961000583459 ], [ -122.303816000340646, 37.49406900082699 ], [ -122.303103999508394, 37.49365800085392 ], [ -122.302514999828574, 37.493103000279987 ], [ -122.302128000501682, 37.492713000727541 ], [ -122.301910000392098, 37.492309001108367 ], [ -122.301769000440515, 37.49187400087105 ], [ -122.301545000416979, 37.490331000517315 ], [ -122.301822999460612, 37.487457001073729 ], [ -122.301700999672107, 37.4861000007093 ], [ -122.301357999927973, 37.484516000253414 ], [ -122.300778999854813, 37.482438000616533 ], [ -122.299891999438444, 37.480516000488805 ], [ -122.298978999590105, 37.478538000241876 ], [ -122.297879000168862, 37.476038000568749 ], [ -122.296143999813282, 37.472794000757546 ], [ -122.295726999414981, 37.472016000829711 ], [ -122.294415999834769, 37.469433000642326 ], [ -122.293295000167305, 37.4670440005522 ], [ -122.2941030003186, 37.466622000480648 ], [ -122.294245999884637, 37.466548000830812 ], [ -122.296030000233841, 37.464642000664604 ], [ -122.297479000206209, 37.463138000981274 ], [ -122.298678999467512, 37.462138000443424 ], [ -122.297078999640419, 37.459738000679231 ], [ -122.299478999932674, 37.457938000859983 ], [ -122.298478999671943, 37.454538000660456 ], [ -122.302479999926064, 37.454438000514244 ], [ -122.303367999870801, 37.454562000236471 ], [ -122.306035000183726, 37.454934000475284 ], [ -122.306779999839151, 37.455038000779197 ], [ -122.307211999711754, 37.454860000552785 ], [ -122.309638000506368, 37.454743000713684 ], [ -122.3122849997809, 37.454393000882654 ], [ -122.316253999533984, 37.455385000535614 ], [ -122.319635999514503, 37.455327000419395 ], [ -122.321694000250687, 37.454276000260002 ], [ -122.32463500019756, 37.452642001071638 ], [ -122.327133999413491, 37.451766001111451 ], [ -122.329633999793828, 37.450307000333595 ], [ -122.33298199945132, 37.448312001045153 ], [ -122.333480999749781, 37.448039000580479 ], [ -122.333791000101982, 37.447867000783596 ], [ -122.334380999538183, 37.447539001030684 ], [ -122.334081000061559, 37.447339000420833 ], [ -122.329980999942947, 37.445439000681425 ], [ -122.327707999560701, 37.443884000476693 ], [ -122.326771999999195, 37.443243000878979 ], [ -122.326513000046234, 37.443066000951539 ], [ -122.326180999823151, 37.442839000534683 ], [ -122.325763000329133, 37.442514000500779 ], [ -122.325281000401958, 37.442139000305012 ], [ -122.322856999840113, 37.43893500109607 ], [ -122.322481000010242, 37.438439000544257 ], [ -122.321399999843706, 37.436727000443071 ], [ -122.320081000493559, 37.434639000851085 ], [ -122.31898100045558, 37.434439001081849 ], [ -122.318198999614594, 37.434316001030375 ], [ -122.317079999571348, 37.434139001090251 ], [ -122.316782999917123, 37.433793000425872 ], [ -122.316480000220864, 37.43343900079487 ], [ -122.313279999883889, 37.43033900029458 ], [ -122.31218000045024, 37.429439000521839 ], [ -122.310980000170176, 37.427639000401349 ], [ -122.311880000191266, 37.425939001070297 ], [ -122.315879999396941, 37.424339000329084 ], [ -122.318781000030114, 37.425139000710431 ], [ -122.320580999933597, 37.424039000821168 ], [ -122.320081000270079, 37.421339001112194 ], [ -122.32028100039183, 37.420140000332204 ], [ -122.321081000090501, 37.420040000739299 ], [ -122.322080999426845, 37.421440000779306 ], [ -122.32318099952947, 37.42154000041883 ], [ -122.325080999804825, 37.423440001003655 ], [ -122.325980999909348, 37.421440000272618 ], [ -122.327081000339234, 37.421840000986506 ], [ -122.328880999583632, 37.422740000736596 ], [ -122.328280999759372, 37.421540000272614 ], [ -122.329881000211529, 37.42104000056819 ], [ -122.329981000137266, 37.420140000762402 ], [ -122.331780999640287, 37.421040000749365 ], [ -122.33488099960644, 37.421040000380792 ], [ -122.337681000449365, 37.422040000240671 ], [ -122.3390819994857, 37.422840000391581 ], [ -122.341082000421821, 37.422640000411278 ], [ -122.342281999767252, 37.422940001008243 ], [ -122.343481999839071, 37.421940000633974 ], [ -122.344381999632787, 37.423040000957528 ], [ -122.346281999547017, 37.423640001125065 ], [ -122.348081999786999, 37.423240000771322 ], [ -122.348781999464364, 37.421740000458904 ], [ -122.346981999912771, 37.421540000415696 ], [ -122.346681999561085, 37.419840000359088 ], [ -122.347781999778107, 37.420040000935408 ], [ -122.348482000247245, 37.418940000577628 ], [ -122.350233999390895, 37.419657001026081 ], [ -122.350682000176789, 37.41984000031519 ], [ -122.350882000010273, 37.418840000858829 ], [ -122.351681999586432, 37.41874000032513 ], [ -122.350682000315004, 37.417640001116219 ], [ -122.350581999971453, 37.416440000358271 ], [ -122.352682000332479, 37.41664000106185 ], [ -122.350582000152173, 37.414740000294955 ], [ -122.350982000124262, 37.414240000802693 ], [ -122.350981999463642, 37.413640000279955 ], [ -122.351682000350124, 37.413140000760073 ], [ -122.351081999566944, 37.412640001085329 ], [ -122.350682000492171, 37.408340000751799 ], [ -122.352982000111155, 37.406040000596391 ], [ -122.354482000029392, 37.405740000270988 ], [ -122.355182000066876, 37.405140000358301 ], [ -122.357683000014674, 37.404540000769877 ], [ -122.363382999974775, 37.398841000984717 ], [ -122.366582999944626, 37.396841000854373 ], [ -122.366482999822935, 37.398841000236231 ], [ -122.36848299983599, 37.40204100111368 ], [ -122.369283000009091, 37.40194100028566 ], [ -122.369382999998976, 37.401241000962017 ], [ -122.37328800002139, 37.397834001121481 ], [ -122.378784000177802, 37.393041000920547 ], [ -122.378783999966387, 37.391241001044278 ], [ -122.380084000339124, 37.390741000602539 ], [ -122.381183999493501, 37.391041000744757 ], [ -122.383184000180691, 37.390041000541736 ], [ -122.383883999622611, 37.390541000735389 ], [ -122.386184000214058, 37.391041000641295 ], [ -122.385983999465864, 37.391641000917545 ], [ -122.38718399957915, 37.392141000726909 ], [ -122.386484000391732, 37.392841000595588 ], [ -122.392084000257924, 37.392541000988146 ], [ -122.39178399967841, 37.39564100099355 ], [ -122.393883999610182, 37.392041000672926 ], [ -122.397284999717456, 37.388241000643511 ], [ -122.400784999518436, 37.382841000586097 ], [ -122.401185000500334, 37.382441000597197 ], [ -122.402084999964572, 37.382741000614338 ], [ -122.404684999865694, 37.381841001105244 ], [ -122.406384999653596, 37.377742000777438 ], [ -122.40738499943329, 37.377542000598318 ], [ -122.407484999434189, 37.376842000803734 ], [ -122.409384999432817, 37.37494200026579 ], [ -122.411184999470251, 37.376242000551855 ], [ -122.410585000345321, 37.377442001074407 ], [ -122.412084999583243, 37.378442000479822 ], [ -122.412784999477964, 37.377842000241117 ], [ -122.413384999693434, 37.378742000621202 ], [ -122.413985000280391, 37.378542000565602 ], [ -122.414884999646858, 37.379042000900057 ], [ -122.416185000219258, 37.382042000951927 ], [ -122.415784999772058, 37.382042000473255 ], [ -122.416284999642343, 37.383042000992397 ], [ -122.415785000207549, 37.384742001001257 ], [ -122.416985000059185, 37.3848420003279 ], [ -122.419485999544236, 37.387842000930142 ], [ -122.420386000299885, 37.388342000608738 ], [ -122.423286000068501, 37.392542000939613 ], [ -122.422485999709252, 37.392841000376144 ], [ -122.42248599965798, 37.395941000740201 ], [ -122.423386000457342, 37.396241001074429 ], [ -122.423086000403018, 37.398841000392423 ], [ -122.423929000247483, 37.400995000348139 ], [ -122.423985999602024, 37.401141000686039 ], [ -122.424186000114304, 37.401241000232694 ], [ -122.426685999833865, 37.403741001052268 ], [ -122.427786000306085, 37.405741000639274 ], [ -122.428086000399148, 37.407141000242333 ], [ -122.427786000285295, 37.409641000299125 ], [ -122.428585999926113, 37.409741000485141 ], [ -122.429006000400165, 37.410052000796824 ], [ -122.430885999482015, 37.411441000386745 ], [ -122.431786000229849, 37.410941001048819 ], [ -122.431085999629644, 37.411741000966195 ], [ -122.431785999522589, 37.411741000748009 ], [ -122.4323859994782, 37.41434100074337 ], [ -122.433985999971384, 37.41544100105282 ], [ -122.435686000292819, 37.419741000283423 ], [ -122.435786000281666, 37.422341000776512 ], [ -122.437885999744822, 37.424841000440111 ], [ -122.439886000268388, 37.429341000549108 ], [ -122.442240999429515, 37.433430001050255 ], [ -122.443687000201535, 37.435941000665245 ], [ -122.443724000432965, 37.436310000840891 ], [ -122.443986999505896, 37.438941000495518 ], [ -122.444687000135161, 37.447041001129065 ], [ -122.445260999458853, 37.453440000487682 ], [ -122.445444000400812, 37.455484000341563 ], [ -122.445520000090056, 37.456332000776413 ], [ -122.445986999458952, 37.461541000709786 ], [ -122.447487000270883, 37.465641000319806 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 546, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.893866000111871, 37.346341000372092 ], [ -121.894865999841869, 37.345841000629818 ], [ -121.895966000488329, 37.345341000907752 ], [ -121.89706600011921, 37.344841000718844 ], [ -121.896965999691218, 37.344641000627966 ], [ -121.89646600029586, 37.344041000898002 ], [ -121.896265999989836, 37.343741000331569 ], [ -121.895965999658898, 37.343341001010302 ], [ -121.894965999698584, 37.342141000848088 ], [ -121.894745999855004, 37.341704000945107 ], [ -121.893966000496818, 37.340541000908964 ], [ -121.895051000134529, 37.340079000886185 ], [ -121.895459000232691, 37.339893001127734 ], [ -121.896165999443795, 37.339541000576631 ], [ -121.897166000457204, 37.338941000946733 ], [ -121.898542999929504, 37.338339000792651 ], [ -121.898765999777751, 37.338241000374296 ], [ -121.898940999507261, 37.338153000287463 ], [ -121.899200999761533, 37.338023000381597 ], [ -121.89976599973842, 37.337741000855246 ], [ -121.901338000245431, 37.337133000770372 ], [ -121.902276999517639, 37.338328000782617 ], [ -121.902366000426113, 37.338441001089372 ], [ -121.902665999415419, 37.339241000645892 ], [ -121.902766000315538, 37.339441000657537 ], [ -121.902366000443138, 37.341341000369205 ], [ -121.901265999801808, 37.341741000339162 ], [ -121.90156599965043, 37.342141000882641 ], [ -121.901591000136534, 37.342187000705039 ], [ -121.901822999900546, 37.342544000454907 ], [ -121.901964000295948, 37.343084000929636 ], [ -121.902043999860879, 37.343484000328914 ], [ -121.902277000504611, 37.344092000968708 ], [ -121.902766000329834, 37.344741000486231 ], [ -121.903265999793589, 37.345241001054966 ], [ -121.903661000117879, 37.345693000453743 ], [ -121.904324999516604, 37.346629000474159 ], [ -121.904441000214931, 37.346795000527756 ], [ -121.904966999441029, 37.346441000977684 ], [ -121.906366999803865, 37.347141000620354 ], [ -121.907866999648547, 37.347941001124148 ], [ -121.908766999653551, 37.348941000978549 ], [ -121.909967000193049, 37.350041000706767 ], [ -121.911766999785414, 37.353281000826904 ], [ -121.911966999443521, 37.353641000405752 ], [ -121.911667000022618, 37.354041000410277 ], [ -121.90916699959466, 37.356340001025515 ], [ -121.908066999932203, 37.357440000577078 ], [ -121.907267000338692, 37.358240000776654 ], [ -121.906867000243935, 37.358740000241944 ], [ -121.90546699954443, 37.36004000045132 ], [ -121.904766999504773, 37.360740000239865 ], [ -121.903566999736938, 37.359140000426621 ], [ -121.903166999998959, 37.358540001007327 ], [ -121.901566999422812, 37.356540000914386 ], [ -121.900265999614547, 37.354740000774903 ], [ -121.898666000022487, 37.352641000801086 ], [ -121.897165999842258, 37.350541000611244 ], [ -121.895466000236794, 37.348441000351549 ], [ -121.893866000111871, 37.346341000372092 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 541, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.940267999954031, 37.326841000542068 ], [ -121.940967999521732, 37.326941000997678 ], [ -121.940679000076187, 37.329250000665915 ], [ -121.94056800036121, 37.330141000431524 ], [ -121.939368000435351, 37.331941000869008 ], [ -121.937667999494764, 37.333441000569707 ], [ -121.937467999981365, 37.333641000660251 ], [ -121.936468000188725, 37.334341001131492 ], [ -121.936167000390043, 37.334541000385393 ], [ -121.935966999930187, 37.334841000874754 ], [ -121.935667000349312, 37.334941000286662 ], [ -121.935166999481282, 37.335341000709803 ], [ -121.933267000034945, 37.336741000406157 ], [ -121.932933000078393, 37.337075001095677 ], [ -121.93226699956918, 37.337741000357475 ], [ -121.93046699979196, 37.339141000933871 ], [ -121.930066999839937, 37.338841000321153 ], [ -121.928966999904191, 37.338041000982109 ], [ -121.927867000113068, 37.337041000948268 ], [ -121.926766999932838, 37.336041000622288 ], [ -121.925566999807288, 37.335141000619721 ], [ -121.924967000504409, 37.33474100025046 ], [ -121.924066999638811, 37.333941000749263 ], [ -121.922766999450801, 37.33274100053525 ], [ -121.921811999698576, 37.33199100106129 ], [ -121.92136700048124, 37.331641000316878 ], [ -121.920666999540316, 37.331141000891542 ], [ -121.91996700035439, 37.330541000713225 ], [ -121.919166999387258, 37.329841001066072 ], [ -121.918667000449318, 37.329541000270829 ], [ -121.918266999962057, 37.329141001119226 ], [ -121.917467000082468, 37.328441000841963 ], [ -121.91706699963963, 37.32814100061249 ], [ -121.91666700009921, 37.32784100084757 ], [ -121.916167000255214, 37.327441000979533 ], [ -121.915767000073131, 37.327141000883088 ], [ -121.91546699965086, 37.326841000395959 ], [ -121.915166999467388, 37.326641000327484 ], [ -121.914466999453438, 37.326041001065491 ], [ -121.914267000428637, 37.325941000725855 ], [ -121.913866999444849, 37.325741000813458 ], [ -121.913767000362313, 37.325441000388402 ], [ -121.913766999688193, 37.324941000757995 ], [ -121.913767000026169, 37.324449000579051 ], [ -121.913766999660353, 37.324301000674389 ], [ -121.913767000472177, 37.324141001101239 ], [ -121.913771000071094, 37.323525000954298 ], [ -121.915567000108041, 37.323441000916766 ], [ -121.916206999657831, 37.323512000444424 ], [ -121.916466999697519, 37.323541000528415 ], [ -121.917166999936967, 37.323441001106886 ], [ -121.917766999936745, 37.323441000781287 ], [ -121.918867000017855, 37.323441000241665 ], [ -121.919967000197062, 37.323441000288682 ], [ -121.920567000328688, 37.323441001082983 ], [ -121.921666999724977, 37.323341000250757 ], [ -121.922167000373904, 37.323341000848252 ], [ -121.922282999915041, 37.323341000253819 ], [ -121.922866999756579, 37.32334100046333 ], [ -121.923866999429862, 37.323441000603879 ], [ -121.925067000333712, 37.323341000633562 ], [ -121.926066999725322, 37.323441001118461 ], [ -121.926867000399994, 37.323341000977571 ], [ -121.926867000139694, 37.323841000404634 ], [ -121.926766999846208, 37.32424100086817 ], [ -121.926766999622444, 37.325341000827592 ], [ -121.926767000308075, 37.326132000364261 ], [ -121.926766999807782, 37.326312001048763 ], [ -121.926767000121202, 37.326841000296859 ], [ -121.927366999439911, 37.326841001017407 ], [ -121.928766999611568, 37.326941000280307 ], [ -121.929366999833604, 37.326941000782959 ], [ -121.929966999535509, 37.326841000541364 ], [ -121.93026699984641, 37.326841000381911 ], [ -121.931067000464182, 37.326941000850205 ], [ -121.931549000121763, 37.32694100030367 ], [ -121.932066999557165, 37.326941000969278 ], [ -121.93376699950845, 37.326841000546722 ], [ -121.934467000226249, 37.326941000674779 ], [ -121.93596700042238, 37.32684100054351 ], [ -121.937066999908353, 37.326841000510179 ], [ -121.938166999643627, 37.326941000634292 ], [ -121.938566999741241, 37.326941000762851 ], [ -121.940267999954031, 37.326841000542068 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 540, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.918266999962057, 37.329141001119226 ], [ -121.918667000449318, 37.329541000270829 ], [ -121.919166999387258, 37.329841001066072 ], [ -121.91996700035439, 37.330541000713225 ], [ -121.920666999540316, 37.331141000891542 ], [ -121.92136700048124, 37.331641000316878 ], [ -121.921811999698576, 37.33199100106129 ], [ -121.922766999450801, 37.33274100053525 ], [ -121.924066999638811, 37.333941000749263 ], [ -121.922667000088907, 37.335041000884836 ], [ -121.921667000505124, 37.335841000489999 ], [ -121.920767000031759, 37.336541000407088 ], [ -121.919366999470569, 37.337641000923121 ], [ -121.917467000521114, 37.33764100027895 ], [ -121.91706699978937, 37.33794100084031 ], [ -121.915867000345628, 37.338741000444422 ], [ -121.914667000522201, 37.339741000327834 ], [ -121.913366999713887, 37.340541001043746 ], [ -121.912667000095325, 37.339741000670315 ], [ -121.911767000111823, 37.338941000630093 ], [ -121.910966999970157, 37.338241000475506 ], [ -121.91026700051971, 37.337641000435781 ], [ -121.909366999894672, 37.336841001115474 ], [ -121.907866000011609, 37.33544100094889 ], [ -121.90596600051299, 37.333741000501696 ], [ -121.905565999454396, 37.333441000503001 ], [ -121.904066000325614, 37.331941001084466 ], [ -121.904865999413886, 37.331841001057832 ], [ -121.905765999443631, 37.331741000309606 ], [ -121.906666000504842, 37.33174100093256 ], [ -121.907366000133649, 37.33174100087713 ], [ -121.908465999480867, 37.331741000530442 ], [ -121.90916600043775, 37.331641000510864 ], [ -121.909967000177829, 37.331541000371139 ], [ -121.911967000469645, 37.331541000974433 ], [ -121.911966999537924, 37.330741000489049 ], [ -121.911866999631442, 37.329741000986765 ], [ -121.911867000236541, 37.329441000402241 ], [ -121.9117669998042, 37.328741000353688 ], [ -121.911766999387012, 37.328241001083647 ], [ -121.911666999964353, 37.327941000838678 ], [ -121.911767000467023, 37.327141000400928 ], [ -121.911666999962421, 37.32594100058116 ], [ -121.912766999414728, 37.325841000863171 ], [ -121.913866999444849, 37.325741000813458 ], [ -121.914267000428637, 37.325941000725855 ], [ -121.914466999453438, 37.326041001065491 ], [ -121.915166999467388, 37.326641000327484 ], [ -121.91546699965086, 37.326841000395959 ], [ -121.915767000073131, 37.327141000883088 ], [ -121.916167000255214, 37.327441000979533 ], [ -121.91666700009921, 37.32784100084757 ], [ -121.91706699963963, 37.32814100061249 ], [ -121.917467000082468, 37.328441000841963 ], [ -121.918266999962057, 37.329141001119226 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 557, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.885365999691174, 37.338741000402763 ], [ -121.884870999760039, 37.338966000869199 ], [ -121.884266000117023, 37.339241000492216 ], [ -121.883165999516279, 37.339741001015355 ], [ -121.882165999552981, 37.340241000578708 ], [ -121.881065999822056, 37.340741001128436 ], [ -121.880765999537829, 37.340341000635107 ], [ -121.880065999772185, 37.339341000287149 ], [ -121.879865999929166, 37.338941000472531 ], [ -121.878764999659907, 37.337541001085938 ], [ -121.877665000364061, 37.336141000906657 ], [ -121.878664999523949, 37.335641001038773 ], [ -121.879765000297283, 37.33504100056517 ], [ -121.880866000130069, 37.334541000773065 ], [ -121.881865999761871, 37.334041000460083 ], [ -121.882966000347238, 37.333541000238171 ], [ -121.883965999889625, 37.333041000827187 ], [ -121.882865999730242, 37.331641000908824 ], [ -121.881764999419005, 37.330141000277301 ], [ -121.882865999592795, 37.329641000716968 ], [ -121.883866000154342, 37.329041000638512 ], [ -121.885066000505788, 37.328541000281163 ], [ -121.886265999626445, 37.330041000633486 ], [ -121.887266000081141, 37.331541000636356 ], [ -121.888366000188725, 37.333041000690592 ], [ -121.888603999660575, 37.333344000956139 ], [ -121.888930000005388, 37.333759000282797 ], [ -121.889465999732153, 37.334441000437742 ], [ -121.889966000491711, 37.335241000885588 ], [ -121.890266000439865, 37.335741001001416 ], [ -121.890665999520948, 37.336141000815161 ], [ -121.88956600042016, 37.336741000325461 ], [ -121.888466000232398, 37.337241000370149 ], [ -121.887465999659327, 37.337741000349666 ], [ -121.886366000407733, 37.338141000594895 ], [ -121.885365999691174, 37.338741000402763 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 549, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.889166000280127, 37.345841000947985 ], [ -121.888165999595685, 37.346241000279399 ], [ -121.886966000445952, 37.346841000631024 ], [ -121.886066000510453, 37.347241000821647 ], [ -121.884366000118149, 37.345141001080123 ], [ -121.883266000084362, 37.343741000978852 ], [ -121.882265999626711, 37.342341000843632 ], [ -121.881065999822056, 37.340741001128436 ], [ -121.882165999552981, 37.340241000578708 ], [ -121.883165999516279, 37.339741001015355 ], [ -121.884266000117023, 37.339241000492216 ], [ -121.884870999760039, 37.338966000869199 ], [ -121.885365999691174, 37.338741000402763 ], [ -121.886366000407733, 37.338141000594895 ], [ -121.887465999659327, 37.337741000349666 ], [ -121.888466000232398, 37.337241000370149 ], [ -121.88956600042016, 37.336741000325461 ], [ -121.890665999520948, 37.336141000815161 ], [ -121.891665999965753, 37.337741001007601 ], [ -121.892866000173598, 37.339141000869574 ], [ -121.893366000341103, 37.3398410004366 ], [ -121.893418000311371, 37.339897000796441 ], [ -121.893966000496818, 37.340541000908964 ], [ -121.894745999855004, 37.341704000945107 ], [ -121.894965999698584, 37.342141000848088 ], [ -121.893965999537556, 37.342641000267868 ], [ -121.893366000482374, 37.342841001040604 ], [ -121.892966000262049, 37.343241000829536 ], [ -121.892265999828666, 37.344241000257718 ], [ -121.891266000057016, 37.344741000702932 ], [ -121.8901660001289, 37.345241000772774 ], [ -121.889166000280127, 37.345841000947985 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 548, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.888765999666433, 37.354540000759116 ], [ -121.887865999691016, 37.354940000968611 ], [ -121.886966000349574, 37.35534000055172 ], [ -121.886065999429093, 37.355840000828607 ], [ -121.885166000141439, 37.356140000510315 ], [ -121.884198000276697, 37.356721000771699 ], [ -121.884166000377078, 37.356740000243896 ], [ -121.88316600021669, 37.357140000483746 ], [ -121.882265999396509, 37.357540000739093 ], [ -121.881466000144187, 37.358040000983557 ], [ -121.88046600008505, 37.358440000621144 ], [ -121.879265999989698, 37.359040000999933 ], [ -121.879215999645282, 37.359090000562176 ], [ -121.878766000239281, 37.359540001075167 ], [ -121.877565999854198, 37.361040000857443 ], [ -121.876766000040007, 37.360840000920959 ], [ -121.873965999926881, 37.359840000714641 ], [ -121.874165999669088, 37.356140000923766 ], [ -121.874249999666233, 37.355182001085481 ], [ -121.874380000179585, 37.35371100067411 ], [ -121.874466000240631, 37.352740000303427 ], [ -121.874665999571164, 37.352640001076658 ], [ -121.874865999518676, 37.352540000610809 ], [ -121.875766000062498, 37.352140000331964 ], [ -121.876666000098723, 37.351740000316703 ], [ -121.877565999392004, 37.351240001028273 ], [ -121.87846599947693, 37.350840000634449 ], [ -121.879366000183467, 37.350440000515192 ], [ -121.880365999737052, 37.349940000373344 ], [ -121.88116600010629, 37.349440000975704 ], [ -121.881966000355163, 37.349041000661543 ], [ -121.882966000089468, 37.348841000486509 ], [ -121.883965999744603, 37.348341001007711 ], [ -121.884965999691175, 37.347841001055244 ], [ -121.886066000510453, 37.347241000821647 ], [ -121.886966000445952, 37.346841000631024 ], [ -121.888165999595685, 37.346241000279399 ], [ -121.889166000280127, 37.345841000947985 ], [ -121.8901660001289, 37.345241000772774 ], [ -121.891266000057016, 37.344741000702932 ], [ -121.892265999828666, 37.344241000257718 ], [ -121.892966000262049, 37.343241000829536 ], [ -121.893366000482374, 37.342841001040604 ], [ -121.893965999537556, 37.342641000267868 ], [ -121.894965999698584, 37.342141000848088 ], [ -121.895965999658898, 37.343341001010302 ], [ -121.896265999989836, 37.343741000331569 ], [ -121.89646600029586, 37.344041000898002 ], [ -121.896965999691218, 37.344641000627966 ], [ -121.89706600011921, 37.344841000718844 ], [ -121.895966000488329, 37.345341000907752 ], [ -121.894865999841869, 37.345841000629818 ], [ -121.893866000111871, 37.346341000372092 ], [ -121.895466000236794, 37.348441000351549 ], [ -121.897165999842258, 37.350541000611244 ], [ -121.896066000207895, 37.351141000413122 ], [ -121.894965999654403, 37.351541000338628 ], [ -121.89386599952482, 37.352140000494231 ], [ -121.8931660004382, 37.352440000365554 ], [ -121.892965999881, 37.352540000402193 ], [ -121.892865999877472, 37.35254000091885 ], [ -121.891766000248808, 37.353040001019849 ], [ -121.890765999769329, 37.35354000110604 ], [ -121.889665999885864, 37.354040000321099 ], [ -121.888765999666433, 37.354540000759116 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 551, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.86846500044615, 37.341941000855456 ], [ -121.869264999397217, 37.341441001049553 ], [ -121.870165000336215, 37.340941000876875 ], [ -121.870664999987625, 37.340641000242009 ], [ -121.871365000307648, 37.342241000761689 ], [ -121.872765000226011, 37.342941000369024 ], [ -121.87335099988924, 37.343527000976927 ], [ -121.873965000415367, 37.34414100049834 ], [ -121.874364999503641, 37.345441000614237 ], [ -121.873965000371925, 37.346841000412745 ], [ -121.873864999878421, 37.348340000365845 ], [ -121.87336500003461, 37.349740000612393 ], [ -121.873665000358429, 37.350140000329375 ], [ -121.874466000240631, 37.352740000303427 ], [ -121.874380000179585, 37.35371100067411 ], [ -121.874249999666233, 37.355182001085481 ], [ -121.874165999669088, 37.356140000923766 ], [ -121.873965999926881, 37.359840000714641 ], [ -121.872189000390634, 37.358836000760363 ], [ -121.871666000017612, 37.358540000752654 ], [ -121.869264999966177, 37.356640000474634 ], [ -121.868064999813811, 37.355440001101755 ], [ -121.867364999593647, 37.354640000901284 ], [ -121.866765000522307, 37.354240000462099 ], [ -121.866364999459336, 37.353840000487459 ], [ -121.865064999578465, 37.352740000443482 ], [ -121.863875000355335, 37.351613000257331 ], [ -121.863361999402073, 37.351127000979076 ], [ -121.863164999967026, 37.35094000089056 ], [ -121.862072999951209, 37.349939001036681 ], [ -121.861964999660429, 37.349840000502404 ], [ -121.861235999412727, 37.349020000663458 ], [ -121.861165000319389, 37.348940000786307 ], [ -121.860864999787651, 37.34864000073911 ], [ -121.860710999862661, 37.348469000289626 ], [ -121.860590999945643, 37.348336000565396 ], [ -121.859965000394226, 37.347640000237433 ], [ -121.859264999642576, 37.347040000611194 ], [ -121.859548999491551, 37.346869000862931 ], [ -121.860265000311273, 37.346440001005071 ], [ -121.861964999719362, 37.345640001097543 ], [ -121.863065000129296, 37.345140000641543 ], [ -121.863764999622632, 37.344841000998237 ], [ -121.864965000093065, 37.344141000379651 ], [ -121.865864999799058, 37.343641001115827 ], [ -121.866665000288052, 37.343141000369698 ], [ -121.867564999648394, 37.342541000955002 ], [ -121.86846500044615, 37.341941000855456 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 553, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.870165000336215, 37.340941000876875 ], [ -121.869264999397217, 37.341441001049553 ], [ -121.86846500044615, 37.341941000855456 ], [ -121.867564999648394, 37.342541000955002 ], [ -121.866665000288052, 37.343141000369698 ], [ -121.865864999799058, 37.343641001115827 ], [ -121.864965000093065, 37.344141000379651 ], [ -121.86336500015004, 37.342341000540458 ], [ -121.862364999808676, 37.341441000817881 ], [ -121.861764999955383, 37.340841000273997 ], [ -121.861465000130977, 37.340616000563358 ], [ -121.861364999454636, 37.340541000784988 ], [ -121.860626999637404, 37.339766000612912 ], [ -121.859865000448949, 37.338741000402095 ], [ -121.85916499999864, 37.338141000801699 ], [ -121.858559000106311, 37.337535000731961 ], [ -121.858164999798504, 37.337141000351252 ], [ -121.85800199999187, 37.336966000262869 ], [ -121.85786500000097, 37.336741001057625 ], [ -121.857665000506074, 37.336641001027267 ], [ -121.86166500008575, 37.334041000745849 ], [ -121.862765000122479, 37.333441000377228 ], [ -121.864148999707837, 37.332589001125832 ], [ -121.86536499938785, 37.331841001027577 ], [ -121.868264999571636, 37.330241000495668 ], [ -121.867165000424961, 37.331441001103826 ], [ -121.867064999788738, 37.334641000372578 ], [ -121.867265000395236, 37.336741001003332 ], [ -121.868365000188007, 37.337141000642134 ], [ -121.869865000265264, 37.337741000623559 ], [ -121.870064999425338, 37.339341000463456 ], [ -121.870664999987625, 37.340641000242009 ], [ -121.870165000336215, 37.340941000876875 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 535, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.929966999535509, 37.326841000541364 ], [ -121.929366999833604, 37.326941000782959 ], [ -121.928766999611568, 37.326941000280307 ], [ -121.927366999439911, 37.326841001017407 ], [ -121.926767000121202, 37.326841000296859 ], [ -121.926766999807782, 37.326312001048763 ], [ -121.926767000308075, 37.326132000364261 ], [ -121.926766999622444, 37.325341000827592 ], [ -121.926766999846208, 37.32424100086817 ], [ -121.926867000139694, 37.323841000404634 ], [ -121.926867000399994, 37.323341000977571 ], [ -121.926066999725322, 37.323441001118461 ], [ -121.925067000333712, 37.323341000633562 ], [ -121.923866999429862, 37.323441000603879 ], [ -121.922866999756579, 37.32334100046333 ], [ -121.922849000105131, 37.323233000751493 ], [ -121.922815000030468, 37.323029000275881 ], [ -121.922766999933899, 37.322741000691821 ], [ -121.922774000470795, 37.322524001039248 ], [ -121.922867000122451, 37.31964100092906 ], [ -121.923679999925184, 37.319641000236537 ], [ -121.923767000397731, 37.319641000245028 ], [ -121.923991999906193, 37.319641000576254 ], [ -121.924866999814512, 37.319641000315883 ], [ -121.925667000293842, 37.319741000821523 ], [ -121.925967000472866, 37.319841001046392 ], [ -121.926767000230598, 37.319741000362392 ], [ -121.927567000031218, 37.31974100105824 ], [ -121.928666999498759, 37.319742000551308 ], [ -121.928867000046964, 37.31974200050395 ], [ -121.92936400044556, 37.319750000545014 ], [ -121.929766999724961, 37.319742001038101 ], [ -121.930266999461907, 37.319742000578309 ], [ -121.931066999520851, 37.319742001038975 ], [ -121.932067000052058, 37.31964200091025 ], [ -121.932067000121521, 37.318142000789933 ], [ -121.932066999974182, 37.317629000457288 ], [ -121.932067000031395, 37.317242001080736 ], [ -121.931966999624962, 37.316842001108981 ], [ -121.932542000295456, 37.316842000878587 ], [ -121.932667000247378, 37.31684200092716 ], [ -121.933145999488389, 37.31690400109175 ], [ -121.934633000114388, 37.317098000759458 ], [ -121.934966999818684, 37.317142000253718 ], [ -121.93606699998729, 37.317142000489959 ], [ -121.937567000282783, 37.317142000878924 ], [ -121.940467000469511, 37.317042000338077 ], [ -121.940366999663951, 37.317542000395214 ], [ -121.940267000130234, 37.318442001049306 ], [ -121.940359999463041, 37.319657000734239 ], [ -121.940366999570401, 37.319742000622064 ], [ -121.940566999822423, 37.322441000630519 ], [ -121.940668000133243, 37.323141000327851 ], [ -121.940967999521732, 37.326941000997678 ], [ -121.940267999954031, 37.326841000542068 ], [ -121.938566999741241, 37.326941000762851 ], [ -121.938166999643627, 37.326941000634292 ], [ -121.937066999908353, 37.326841000510179 ], [ -121.93596700042238, 37.32684100054351 ], [ -121.934467000226249, 37.326941000674779 ], [ -121.93376699950845, 37.326841000546722 ], [ -121.932066999557165, 37.326941000969278 ], [ -121.931549000121763, 37.32694100030367 ], [ -121.931067000464182, 37.326941000850205 ], [ -121.93026699984641, 37.326841000381911 ], [ -121.929966999535509, 37.326841000541364 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 323, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.215576000499013, 37.471537000644183 ], [ -122.2150759997823, 37.471337000427127 ], [ -122.213275999704265, 37.469937000599778 ], [ -122.212619999991162, 37.469445000291294 ], [ -122.212075999797335, 37.469037000853376 ], [ -122.212715000498463, 37.46830300027429 ], [ -122.213082000284473, 37.467938000950298 ], [ -122.21306899979767, 37.467654001064673 ], [ -122.213891000479975, 37.466738000555729 ], [ -122.214779000492371, 37.465843000591718 ], [ -122.215776000158158, 37.464838000764985 ], [ -122.21597599976441, 37.464638000626621 ], [ -122.216216999764754, 37.464665000369152 ], [ -122.216876000159687, 37.46473800027438 ], [ -122.217775999739089, 37.463738000767179 ], [ -122.218376000274262, 37.463238000952408 ], [ -122.21837599947483, 37.463038000334166 ], [ -122.218533000005351, 37.462448000775957 ], [ -122.21878700005162, 37.462519000428649 ], [ -122.21886699989993, 37.462544000953692 ], [ -122.218918000193355, 37.462550000360658 ], [ -122.218968000209358, 37.462544000667179 ], [ -122.2190789996218, 37.462565000238484 ], [ -122.219068999498077, 37.462488000287998 ], [ -122.219088999662745, 37.462410000703592 ], [ -122.219210000148578, 37.462025000650563 ], [ -122.219819999864086, 37.46229300096865 ], [ -122.220460000256878, 37.462574000647876 ], [ -122.22058799946079, 37.462381000546465 ], [ -122.221319000013693, 37.462721000586257 ], [ -122.221480000094559, 37.462796001004641 ], [ -122.221685999713728, 37.462892000726804 ], [ -122.22307599958404, 37.463538000759634 ], [ -122.223776000298813, 37.463938001036475 ], [ -122.224285000449484, 37.463940000542152 ], [ -122.224207999530677, 37.464386000609061 ], [ -122.223776000395588, 37.465837001038985 ], [ -122.223697000263726, 37.466251000363094 ], [ -122.223576000016365, 37.466737001089555 ], [ -122.223340000405088, 37.467468000684491 ], [ -122.223075999695055, 37.468837000944752 ], [ -122.222892000386594, 37.469941000600208 ], [ -122.222875999879349, 37.470037000855697 ], [ -122.222391999455112, 37.47128500040251 ], [ -122.222239999479868, 37.471854000603791 ], [ -122.2222150003943, 37.472029000637995 ], [ -122.222176000476509, 37.472437000980008 ], [ -122.221811000122173, 37.473713000688193 ], [ -122.221776000360379, 37.473837000378019 ], [ -122.221676000499244, 37.474537000670978 ], [ -122.221775999908374, 37.475137000375305 ], [ -122.221476000239292, 37.475637000382946 ], [ -122.220876000052044, 37.476637000630213 ], [ -122.220475999716783, 37.477137000927975 ], [ -122.220075999600112, 37.477537000631052 ], [ -122.219776000242163, 37.478037000532673 ], [ -122.219375999964328, 37.477737000923419 ], [ -122.217976000238892, 37.476837000762018 ], [ -122.217275999812188, 37.476437000812773 ], [ -122.216893999636795, 37.476219000439471 ], [ -122.215176000295088, 37.475237000475829 ], [ -122.214271000385025, 37.474743001031214 ], [ -122.214376000413324, 37.474637000335477 ], [ -122.214875999640398, 37.474137001018335 ], [ -122.214923999429985, 37.474090000974272 ], [ -122.215176000485954, 37.473837000926736 ], [ -122.215676000298629, 37.473337000814745 ], [ -122.215976000394491, 37.472737000933158 ], [ -122.216475999880146, 37.472237000887318 ], [ -122.215776000101627, 37.471737000854027 ], [ -122.215576000499013, 37.471537000644183 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 320, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.229957999968676, 37.468024000933269 ], [ -122.22787600042976, 37.466537000670307 ], [ -122.228675999968786, 37.465037000896871 ], [ -122.226475999578, 37.464837001033032 ], [ -122.224207999530677, 37.464386000609061 ], [ -122.224285000449484, 37.463940000542152 ], [ -122.224694000346219, 37.462237000384739 ], [ -122.22477300006598, 37.46168100035586 ], [ -122.225175999471233, 37.461038000433547 ], [ -122.225975999493301, 37.459638000837472 ], [ -122.226375999610724, 37.458838001111339 ], [ -122.226775999712302, 37.4579380003415 ], [ -122.227375999517591, 37.457038000667268 ], [ -122.22817699972444, 37.457138000385925 ], [ -122.228176999868907, 37.457738000456786 ], [ -122.229176999577732, 37.458538000944678 ], [ -122.230477000318601, 37.459538000912914 ], [ -122.231176999921075, 37.460038000411288 ], [ -122.232276999454925, 37.460838000580296 ], [ -122.232877000186164, 37.461138001022853 ], [ -122.233376999671435, 37.461538000904952 ], [ -122.23417699994927, 37.462038000414772 ], [ -122.234677000517564, 37.462538000628079 ], [ -122.235477000276973, 37.463137000264204 ], [ -122.235876999869376, 37.463337000592055 ], [ -122.236576999404761, 37.463837000557092 ], [ -122.237377000443971, 37.463137000496673 ], [ -122.238577000235495, 37.464237001020983 ], [ -122.2395769996848, 37.464937000549163 ], [ -122.239977000047574, 37.465337000463037 ], [ -122.240477000316744, 37.46563700057014 ], [ -122.239977000338854, 37.466037000541355 ], [ -122.239777000099807, 37.466337000462346 ], [ -122.239476999527923, 37.46643700104422 ], [ -122.240976999511105, 37.467537001124725 ], [ -122.241477000222687, 37.467837000582918 ], [ -122.240776999720822, 37.468537000682545 ], [ -122.24167699954927, 37.469337000745618 ], [ -122.242776999758149, 37.470037000960993 ], [ -122.241877000073558, 37.470437000736496 ], [ -122.240676999735086, 37.470937000669593 ], [ -122.23997700012734, 37.471537000616621 ], [ -122.239476999644481, 37.472437001115516 ], [ -122.239277000271102, 37.472737000690024 ], [ -122.239077000405658, 37.473037000801817 ], [ -122.238677000285477, 37.473537000583917 ], [ -122.238376999516987, 37.473737001071314 ], [ -122.237376999479224, 37.472837000416341 ], [ -122.23647699987508, 37.471837000887334 ], [ -122.235677000376, 37.472537000595835 ], [ -122.234328000084247, 37.470802000313135 ], [ -122.234276999952414, 37.470737000657053 ], [ -122.233476999888012, 37.471337000612301 ], [ -122.231776999880452, 37.46993700046653 ], [ -122.232076999660492, 37.469537000728103 ], [ -122.230876999685975, 37.468737000977669 ], [ -122.230677000299877, 37.468537000846247 ], [ -122.229957999968676, 37.468024000933269 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 301, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.261426999407192, 37.44856700064144 ], [ -122.261478000484786, 37.448586000838013 ], [ -122.265678000407704, 37.450138000929549 ], [ -122.266676999551535, 37.450683000596428 ], [ -122.266948000434894, 37.450831000604481 ], [ -122.268978000427467, 37.451938000826097 ], [ -122.268684999701122, 37.452198000933251 ], [ -122.268077999638336, 37.4527380006108 ], [ -122.267378000129, 37.453038001012054 ], [ -122.266778000058764, 37.453938000322793 ], [ -122.266823999724679, 37.454039000341922 ], [ -122.266989999450715, 37.454404000559933 ], [ -122.267278000366943, 37.455038000939801 ], [ -122.267644000195645, 37.455465000371646 ], [ -122.267878000486093, 37.455738000341299 ], [ -122.267907000252151, 37.455943000995134 ], [ -122.267977999791356, 37.45643800025244 ], [ -122.267477999926626, 37.456938000782394 ], [ -122.267177999922922, 37.457338000389385 ], [ -122.266678000275718, 37.457638000538459 ], [ -122.266178000023061, 37.457938000337975 ], [ -122.26537799978955, 37.458238001010024 ], [ -122.263577999547039, 37.457438000486633 ], [ -122.26297799942185, 37.458038000938267 ], [ -122.262478000091122, 37.46073800111995 ], [ -122.261777999433875, 37.461038000858501 ], [ -122.261378000224525, 37.461138000467571 ], [ -122.261278000260162, 37.460738000293631 ], [ -122.260576999687387, 37.460138001021932 ], [ -122.258900999592797, 37.459669000775932 ], [ -122.258076999912859, 37.459438000744989 ], [ -122.256977000084461, 37.460238000318959 ], [ -122.25617699970978, 37.460838000428481 ], [ -122.25579700025925, 37.460942000849734 ], [ -122.255076999538133, 37.461138000775605 ], [ -122.255776999966542, 37.461838000544226 ], [ -122.255817999969707, 37.462124001021984 ], [ -122.255977000041909, 37.463237000720675 ], [ -122.255831999856809, 37.463478000695801 ], [ -122.255676999487093, 37.463737000587528 ], [ -122.255520999765807, 37.463802000435074 ], [ -122.254477000070779, 37.464237000640637 ], [ -122.253776999456335, 37.464837000873928 ], [ -122.251876999632344, 37.463837000586693 ], [ -122.251077000098405, 37.465137000355881 ], [ -122.250076999983435, 37.464864000432527 ], [ -122.248677000366484, 37.464237000669627 ], [ -122.248477999405424, 37.465428000852235 ], [ -122.248376999779069, 37.46603700108956 ], [ -122.247982999558502, 37.46622300108227 ], [ -122.247554000342973, 37.46593000063217 ], [ -122.24716499986944, 37.46566700077225 ], [ -122.24693100004211, 37.465420000478453 ], [ -122.246376999842255, 37.46473700085312 ], [ -122.24507699947317, 37.46543700083803 ], [ -122.244476999490885, 37.465637000343584 ], [ -122.244076999571661, 37.465937000510884 ], [ -122.243077000087766, 37.466737000935268 ], [ -122.242676999980389, 37.467037000761081 ], [ -122.242076999560524, 37.467537000797257 ], [ -122.241477000222687, 37.467837000582918 ], [ -122.240976999511105, 37.467537001124725 ], [ -122.239476999527923, 37.46643700104422 ], [ -122.239777000099807, 37.466337000462346 ], [ -122.239977000338854, 37.466037000541355 ], [ -122.240477000316744, 37.46563700057014 ], [ -122.239977000047574, 37.465337000463037 ], [ -122.2395769996848, 37.464937000549163 ], [ -122.238577000235495, 37.464237001020983 ], [ -122.237377000443971, 37.463137000496673 ], [ -122.236576999404761, 37.463837000557092 ], [ -122.235876999869376, 37.463337000592055 ], [ -122.235477000276973, 37.463137000264204 ], [ -122.237177000433178, 37.462138000995196 ], [ -122.23857699948762, 37.460338000371934 ], [ -122.239877000200579, 37.458338000585726 ], [ -122.240577000408564, 37.458438000345772 ], [ -122.243077000262929, 37.457338000778542 ], [ -122.242276999672143, 37.456638000485171 ], [ -122.241777000431853, 37.45613800035192 ], [ -122.241176999894535, 37.45553800079999 ], [ -122.240277000176405, 37.454838000954958 ], [ -122.241066999802726, 37.453956000726123 ], [ -122.24123699986238, 37.45392300047957 ], [ -122.242176999687942, 37.453738000252571 ], [ -122.242776999737131, 37.453638000524592 ], [ -122.243259000016451, 37.453102000397038 ], [ -122.243676999533662, 37.452638000661835 ], [ -122.24519400035544, 37.453959000854248 ], [ -122.246047000284662, 37.454702000719244 ], [ -122.246776999993799, 37.455338000464124 ], [ -122.250477000390219, 37.452038001015325 ], [ -122.250664999623694, 37.451877000916021 ], [ -122.251077000249751, 37.451526000654958 ], [ -122.251217000503559, 37.451406000906154 ], [ -122.255276999835203, 37.447938000497949 ], [ -122.255976999439895, 37.447238000739695 ], [ -122.256476999684551, 37.446738000351289 ], [ -122.257428000268476, 37.447094000796454 ], [ -122.257814000371809, 37.447239000882035 ], [ -122.258077000018105, 37.447338000332032 ], [ -122.258176999672344, 37.447371001118036 ], [ -122.258376999572576, 37.447438000240304 ], [ -122.258777000117405, 37.447538001076062 ], [ -122.259823999642833, 37.44795600084877 ], [ -122.260041000297591, 37.447717000821335 ], [ -122.26029999995032, 37.447502000436678 ], [ -122.260494000359856, 37.447481000614005 ], [ -122.260665000154503, 37.447430001006886 ], [ -122.260796000400902, 37.447352000559697 ], [ -122.26089700015558, 37.447286000472964 ], [ -122.260978000081394, 37.447168000454681 ], [ -122.260977999813349, 37.447338000513064 ], [ -122.261078000467307, 37.448438000263252 ], [ -122.261426999407192, 37.44856700064144 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 322, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.220608999451642, 37.45890300036924 ], [ -122.220747999592803, 37.45860100090799 ], [ -122.220906000349842, 37.458570000574227 ], [ -122.221176000011837, 37.458138000610404 ], [ -122.221427999569713, 37.457847000549705 ], [ -122.221775999956137, 37.457338000406097 ], [ -122.22113599966049, 37.456835000449949 ], [ -122.220376000516993, 37.456238000273487 ], [ -122.220475999732997, 37.455738000676554 ], [ -122.218975999561394, 37.454938000669877 ], [ -122.218675999795366, 37.454738000554769 ], [ -122.217476000289551, 37.453638001028111 ], [ -122.21787599993705, 37.453138000321026 ], [ -122.218275999933496, 37.452438000836203 ], [ -122.218475999529801, 37.452038000293847 ], [ -122.218976000405661, 37.451538000747938 ], [ -122.219875999583749, 37.450538001097428 ], [ -122.220042000381284, 37.450269000259816 ], [ -122.220676000179523, 37.449238000281895 ], [ -122.221083999551482, 37.448785000459019 ], [ -122.221575999584644, 37.448238000586102 ], [ -122.221776000218796, 37.447938000941264 ], [ -122.222375999680452, 37.447138000423493 ], [ -122.222876000300658, 37.446638000815817 ], [ -122.223714999730944, 37.445412000420113 ], [ -122.22417599972546, 37.444738000334148 ], [ -122.224877000393192, 37.443838000677935 ], [ -122.22547399959123, 37.444135000476415 ], [ -122.225880999536258, 37.444380000415414 ], [ -122.22597699957791, 37.444438000325682 ], [ -122.227177000487785, 37.442638000889886 ], [ -122.227776999623231, 37.442038000250029 ], [ -122.228476999413132, 37.442338000512976 ], [ -122.229887000265052, 37.442965000678377 ], [ -122.232077000492453, 37.443938000827004 ], [ -122.233976999675392, 37.444838000439596 ], [ -122.232577000285957, 37.447238001081374 ], [ -122.232377000484831, 37.44753800032926 ], [ -122.231576999777701, 37.448738000912876 ], [ -122.23097699952757, 37.449638000267029 ], [ -122.230876999856889, 37.450138000606252 ], [ -122.23047699945397, 37.450938000940717 ], [ -122.230077000406965, 37.451438000773351 ], [ -122.229577000422637, 37.452338000319465 ], [ -122.229521999995498, 37.45250200067494 ], [ -122.229476999621923, 37.452638000788518 ], [ -122.229376999670635, 37.4528380006143 ], [ -122.229177000398593, 37.453238000889954 ], [ -122.228995999803573, 37.453630000854609 ], [ -122.228799000170469, 37.454057001066225 ], [ -122.228577000398104, 37.454538000867615 ], [ -122.22827700041114, 37.454938001020047 ], [ -122.228076999431551, 37.455738000301665 ], [ -122.227577000252779, 37.456338000795256 ], [ -122.227376000340868, 37.456738001075756 ], [ -122.227375999517591, 37.457038000667268 ], [ -122.226775999712302, 37.4579380003415 ], [ -122.226375999610724, 37.458838001111339 ], [ -122.225975999493301, 37.459638000837472 ], [ -122.225175999471233, 37.461038000433547 ], [ -122.22477300006598, 37.46168100035586 ], [ -122.224694000346219, 37.462237000384739 ], [ -122.224285000449484, 37.463940000542152 ], [ -122.223776000298813, 37.463938001036475 ], [ -122.22307599958404, 37.463538000759634 ], [ -122.221685999713728, 37.462892000726804 ], [ -122.221480000094559, 37.462796001004641 ], [ -122.221319000013693, 37.462721000586257 ], [ -122.22058799946079, 37.462381000546465 ], [ -122.220460000256878, 37.462574000647876 ], [ -122.219819999864086, 37.46229300096865 ], [ -122.219210000148578, 37.462025000650563 ], [ -122.219088999662745, 37.462410000703592 ], [ -122.219068999498077, 37.462488000287998 ], [ -122.2190789996218, 37.462565000238484 ], [ -122.218968000209358, 37.462544000667179 ], [ -122.218918000193355, 37.462550000360658 ], [ -122.21886699989993, 37.462544000953692 ], [ -122.21878700005162, 37.462519000428649 ], [ -122.218533000005351, 37.462448000775957 ], [ -122.218775999671337, 37.461538000610069 ], [ -122.219689999789111, 37.460287000685199 ], [ -122.220449000050863, 37.45924800067862 ], [ -122.220608999451642, 37.45890300036924 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 342, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.20231999960248, 37.463283000871741 ], [ -122.201195000090152, 37.462757000914685 ], [ -122.199975999700101, 37.462038000531024 ], [ -122.199661999686924, 37.461903000917161 ], [ -122.198120999996263, 37.461207000946892 ], [ -122.198119000234826, 37.461206000398981 ], [ -122.19714299978375, 37.460776000438734 ], [ -122.1963839997061, 37.460367000613182 ], [ -122.196172999991319, 37.460209001103102 ], [ -122.195633999821425, 37.459879000728023 ], [ -122.194476000509667, 37.459338000508623 ], [ -122.193475999941839, 37.459038000359506 ], [ -122.192576000488287, 37.458538000448847 ], [ -122.192076000231239, 37.458038000751259 ], [ -122.190898000294027, 37.457440000529388 ], [ -122.187475999974055, 37.456038000808277 ], [ -122.187902999790779, 37.455590000665715 ], [ -122.18839899963163, 37.454990000497482 ], [ -122.188777999553736, 37.454509000672772 ], [ -122.189224999657128, 37.453962000577512 ], [ -122.18957599943127, 37.453538001122752 ], [ -122.190571000453545, 37.452329000856288 ], [ -122.19123999949116, 37.451548001077398 ], [ -122.191509999572276, 37.451222000318637 ], [ -122.191775999865044, 37.450938000635695 ], [ -122.192176000097717, 37.450538000380348 ], [ -122.192976000429553, 37.449638000703786 ], [ -122.194939999617674, 37.447306001101133 ], [ -122.195390000413084, 37.446724000270223 ], [ -122.195975999731488, 37.445838001105734 ], [ -122.196680999874602, 37.445004000934077 ], [ -122.197176000183418, 37.444338000770294 ], [ -122.197776000072608, 37.443638001010854 ], [ -122.199075999414418, 37.442138000316277 ], [ -122.199375999761344, 37.441638000394342 ], [ -122.2001759999021, 37.440838000800326 ], [ -122.200939000318598, 37.439905000536399 ], [ -122.201576000342584, 37.439038000957765 ], [ -122.201776000049009, 37.438738000709741 ], [ -122.202975999441335, 37.439338000338161 ], [ -122.203176000104449, 37.438838000999674 ], [ -122.204075999861629, 37.439238000620684 ], [ -122.205576000390536, 37.440638000368395 ], [ -122.205575999965518, 37.439938000630725 ], [ -122.206576000107376, 37.440438000507719 ], [ -122.206772999829695, 37.440202001072677 ], [ -122.207075999464621, 37.439838001054589 ], [ -122.207776000476002, 37.440138000991546 ], [ -122.207937000476647, 37.440002000463402 ], [ -122.209595999597028, 37.43859800084887 ], [ -122.210375999520565, 37.437938001121566 ], [ -122.211075999688063, 37.438238000506566 ], [ -122.212275999551593, 37.436738000637959 ], [ -122.213376000290467, 37.435238000325221 ], [ -122.212576000104846, 37.434738000347352 ], [ -122.212625000061536, 37.434567000967775 ], [ -122.212975999906007, 37.433338000273174 ], [ -122.214675999721308, 37.432438001029837 ], [ -122.21397599945854, 37.431938000543134 ], [ -122.216775999807822, 37.429038000375527 ], [ -122.217673000249192, 37.428230000403587 ], [ -122.217776000106014, 37.428138001080271 ], [ -122.218576000390598, 37.428238000553776 ], [ -122.219176000030231, 37.429338000246418 ], [ -122.219348999888041, 37.42916000033415 ], [ -122.220101999975469, 37.428389000318909 ], [ -122.223277000363097, 37.425139000413083 ], [ -122.224277000220695, 37.424039000614641 ], [ -122.224346000292499, 37.423981000426011 ], [ -122.224876999943461, 37.423539000646521 ], [ -122.224892000005042, 37.42354400058106 ], [ -122.227277000129774, 37.424339001113403 ], [ -122.228676999866408, 37.424339000275857 ], [ -122.227477000112643, 37.425538001132942 ], [ -122.226776999544299, 37.426238001060831 ], [ -122.226276999613489, 37.425938001068985 ], [ -122.225877000196576, 37.426538001033641 ], [ -122.225677000080694, 37.426738000866713 ], [ -122.224777000423657, 37.427638000746377 ], [ -122.224576999839869, 37.428038000513396 ], [ -122.226377000098552, 37.428738000823159 ], [ -122.226076999752109, 37.428938001095538 ], [ -122.225277000197451, 37.429538001048691 ], [ -122.2259169995707, 37.429812000401768 ], [ -122.226677000502249, 37.43013800099142 ], [ -122.227977000446415, 37.429638000850936 ], [ -122.228576999845728, 37.429438000780735 ], [ -122.232776999837427, 37.431338000853138 ], [ -122.232776999761782, 37.431638000917452 ], [ -122.232877000147127, 37.432938001102208 ], [ -122.232077000466646, 37.43383800071323 ], [ -122.231576999810017, 37.433438000670641 ], [ -122.230877000445901, 37.43423800033483 ], [ -122.231176999575339, 37.434638000489954 ], [ -122.229976999928567, 37.436538000647182 ], [ -122.230776999522021, 37.437138000399351 ], [ -122.23100399978955, 37.438387000328575 ], [ -122.231176999647957, 37.439338000341941 ], [ -122.230677000203841, 37.440038000755848 ], [ -122.229933000286806, 37.439797000767101 ], [ -122.229711999976658, 37.439734000849988 ], [ -122.229443999814805, 37.439684000807823 ], [ -122.229253999730417, 37.439646001103526 ], [ -122.229065000298505, 37.439634000879728 ], [ -122.22885899959887, 37.43963400092958 ], [ -122.228716999510212, 37.439646000689592 ], [ -122.228575000441452, 37.439671000519517 ], [ -122.228417000089081, 37.439722000744148 ], [ -122.228212000061376, 37.439822000644931 ], [ -122.228005999736737, 37.439972000788664 ], [ -122.227876999987458, 37.440038000758008 ], [ -122.226610000029552, 37.441603000699523 ], [ -122.226177000231601, 37.442138000783032 ], [ -122.224877000393192, 37.443838000677935 ], [ -122.22417599972546, 37.444738000334148 ], [ -122.223714999730944, 37.445412000420113 ], [ -122.222876000300658, 37.446638000815817 ], [ -122.222375999680452, 37.447138000423493 ], [ -122.221776000218796, 37.447938000941264 ], [ -122.221575999584644, 37.448238000586102 ], [ -122.221083999551482, 37.448785000459019 ], [ -122.220676000179523, 37.449238000281895 ], [ -122.220042000381284, 37.450269000259816 ], [ -122.219875999583749, 37.450538001097428 ], [ -122.218976000405661, 37.451538000747938 ], [ -122.218475999529801, 37.452038000293847 ], [ -122.218275999933496, 37.452438000836203 ], [ -122.21787599993705, 37.453138000321026 ], [ -122.217476000289551, 37.453638001028111 ], [ -122.218675999795366, 37.454738000554769 ], [ -122.218975999561394, 37.454938000669877 ], [ -122.220475999732997, 37.455738000676554 ], [ -122.220376000516993, 37.456238000273487 ], [ -122.22113599966049, 37.456835000449949 ], [ -122.221775999956137, 37.457338000406097 ], [ -122.221427999569713, 37.457847000549705 ], [ -122.221176000011837, 37.458138000610404 ], [ -122.220906000349842, 37.458570000574227 ], [ -122.220747999592803, 37.45860100090799 ], [ -122.220608999451642, 37.45890300036924 ], [ -122.220449000050863, 37.45924800067862 ], [ -122.219689999789111, 37.460287000685199 ], [ -122.218775999671337, 37.461538000610069 ], [ -122.218533000005351, 37.462448000775957 ], [ -122.21837599947483, 37.463038000334166 ], [ -122.218376000274262, 37.463238000952408 ], [ -122.217775999739089, 37.463738000767179 ], [ -122.216876000159687, 37.46473800027438 ], [ -122.216216999764754, 37.464665000369152 ], [ -122.21597599976441, 37.464638000626621 ], [ -122.215776000158158, 37.464838000764985 ], [ -122.214779000492371, 37.465843000591718 ], [ -122.213891000479975, 37.466738000555729 ], [ -122.21306899979767, 37.467654001064673 ], [ -122.213082000284473, 37.467938000950298 ], [ -122.212715000498463, 37.46830300027429 ], [ -122.212075999797335, 37.469037000853376 ], [ -122.211275999449754, 37.46853700043048 ], [ -122.210175999932972, 37.467838000738588 ], [ -122.209176000372864, 37.467038000571314 ], [ -122.209049999551283, 37.466959000324437 ], [ -122.208375999844179, 37.46653800036529 ], [ -122.207576000252757, 37.46593800087571 ], [ -122.207076000472298, 37.465638000955828 ], [ -122.205975999883179, 37.465038000659014 ], [ -122.205725999629152, 37.464889000333002 ], [ -122.205476000043745, 37.464738000290737 ], [ -122.204403999781519, 37.464243000585448 ], [ -122.202875999520373, 37.463538000392184 ], [ -122.20231999960248, 37.463283000871741 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 339, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.187776000143245, 37.460038000589769 ], [ -122.188476000094923, 37.46023800065349 ], [ -122.187366999468679, 37.461696000485198 ], [ -122.186383000214192, 37.462908000500128 ], [ -122.186175999608665, 37.463238000854425 ], [ -122.188056000066823, 37.464178000425477 ], [ -122.188576000060479, 37.464438000581097 ], [ -122.18887599983168, 37.464738000984148 ], [ -122.189278999943056, 37.464336000840412 ], [ -122.190776000221319, 37.462838000449956 ], [ -122.192175999473235, 37.461238000299765 ], [ -122.193276000405518, 37.46185700111419 ], [ -122.19377600044966, 37.46213800111893 ], [ -122.19389000009015, 37.462015001102998 ], [ -122.195326000072995, 37.460260000735644 ], [ -122.195335999392839, 37.46023000071169 ], [ -122.195633999821425, 37.459879000728023 ], [ -122.196172999991319, 37.460209001103102 ], [ -122.1963839997061, 37.460367000613182 ], [ -122.19714299978375, 37.460776000438734 ], [ -122.198119000234826, 37.461206000398981 ], [ -122.198120999996263, 37.461207000946892 ], [ -122.199661999686924, 37.461903000917161 ], [ -122.199975999700101, 37.462038000531024 ], [ -122.201195000090152, 37.462757000914685 ], [ -122.20231999960248, 37.463283000871741 ], [ -122.202875999520373, 37.463538000392184 ], [ -122.204403999781519, 37.464243000585448 ], [ -122.205476000043745, 37.464738000290737 ], [ -122.205725999629152, 37.464889000333002 ], [ -122.203176000054697, 37.467938000389154 ], [ -122.202275999767693, 37.467538000502522 ], [ -122.200075999781888, 37.469938001108929 ], [ -122.199275999894496, 37.469938000441218 ], [ -122.198775999825173, 37.470038001058377 ], [ -122.197475999542405, 37.472137000525038 ], [ -122.196275999515876, 37.471538000571151 ], [ -122.194775999938585, 37.47123800083348 ], [ -122.193775999471654, 37.470738000296834 ], [ -122.192875999914989, 37.470538000321831 ], [ -122.191876000240441, 37.472138001001582 ], [ -122.190876000358926, 37.471738000356602 ], [ -122.190021000089885, 37.471417000579429 ], [ -122.189439000150614, 37.471187001092389 ], [ -122.188476000151198, 37.473038000830527 ], [ -122.186642000304602, 37.47605500034134 ], [ -122.186075999595801, 37.476037001039224 ], [ -122.184575999436007, 37.476037000295342 ], [ -122.181774999422032, 37.475937000532078 ], [ -122.180279999923542, 37.475956000985924 ], [ -122.180248000058668, 37.475972000496391 ], [ -122.179353000341507, 37.475943000510604 ], [ -122.179345999802266, 37.475913001056661 ], [ -122.179331000333917, 37.475911000440085 ], [ -122.178574999489712, 37.47593800065701 ], [ -122.177545999466432, 37.475834000706804 ], [ -122.177534000320804, 37.475838000277115 ], [ -122.174275000026427, 37.475138000382813 ], [ -122.174073999718729, 37.475030000513378 ], [ -122.170688000311898, 37.47321300090281 ], [ -122.170307000092521, 37.473009000536372 ], [ -122.170175000338958, 37.472938001101923 ], [ -122.169474999969765, 37.472538000269893 ], [ -122.168474999468572, 37.47193800109298 ], [ -122.16787500043263, 37.471538000490092 ], [ -122.168175000000929, 37.470938001050129 ], [ -122.168174999859104, 37.470638000581637 ], [ -122.168275000475745, 37.470438000874246 ], [ -122.16848600004063, 37.470278000744472 ], [ -122.169241999982233, 37.469186000500208 ], [ -122.169675000262274, 37.46803800101047 ], [ -122.169775000085281, 37.467438001132201 ], [ -122.170875000403257, 37.466138000252357 ], [ -122.171375000112519, 37.465038000896158 ], [ -122.171674999783662, 37.464638000630565 ], [ -122.173078000257178, 37.461271000383576 ], [ -122.173175000349502, 37.461038001080034 ], [ -122.17347500008718, 37.460638000357967 ], [ -122.173974999671927, 37.459738000496344 ], [ -122.175274999867099, 37.460538001087272 ], [ -122.176374999745534, 37.459438000809939 ], [ -122.176674999679719, 37.459038000754582 ], [ -122.178328999768141, 37.459806000523528 ], [ -122.17947500024421, 37.460338000338432 ], [ -122.179274999985822, 37.46073800079926 ], [ -122.180295000145108, 37.461320000400448 ], [ -122.183311000293017, 37.457878000518349 ], [ -122.183675999407001, 37.458038000793458 ], [ -122.185076000173311, 37.45883800082516 ], [ -122.186775999416724, 37.459738000635383 ], [ -122.187776000143245, 37.460038000589769 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 331, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.127573999806984, 37.499737000479357 ], [ -122.141874999455254, 37.486837000511287 ], [ -122.14457500040244, 37.484338000781186 ], [ -122.147849000086438, 37.482306000723526 ], [ -122.147911000125049, 37.4822720003678 ], [ -122.147974999790634, 37.482238000879796 ], [ -122.149074999572676, 37.481538001000359 ], [ -122.150175000275837, 37.480838000612607 ], [ -122.15047499976319, 37.480438000236731 ], [ -122.150975000373705, 37.479538000885988 ], [ -122.152775000505187, 37.476038000806781 ], [ -122.15317499970466, 37.475138000560861 ], [ -122.153475000281432, 37.47453800072455 ], [ -122.153769000474952, 37.474024000348464 ], [ -122.154368000444435, 37.472786000341145 ], [ -122.154723999835412, 37.472095000468414 ], [ -122.155151999971125, 37.471265000422349 ], [ -122.155687000221448, 37.470772000322448 ], [ -122.155764000473084, 37.470699000730697 ], [ -122.155952000497649, 37.470522000932114 ], [ -122.156099999782199, 37.470244000587833 ], [ -122.156111999897902, 37.469909000255548 ], [ -122.155966999596444, 37.469699001100118 ], [ -122.15575799959592, 37.469494000344874 ], [ -122.156727999446531, 37.470082000279923 ], [ -122.157205000115141, 37.470382000407888 ], [ -122.157474999432466, 37.47053800108565 ], [ -122.161203000331554, 37.472571000800343 ], [ -122.166274999683282, 37.475338000461115 ], [ -122.16785599984658, 37.476317000889722 ], [ -122.170058999875863, 37.477546001039485 ], [ -122.170264000079044, 37.477676000674599 ], [ -122.170443000130433, 37.477790000595569 ], [ -122.171391999574965, 37.478393000859164 ], [ -122.171491999867087, 37.478457000922681 ], [ -122.17177499962915, 37.478637000796709 ], [ -122.176874999944189, 37.478437000605808 ], [ -122.179075000393226, 37.478237001018108 ], [ -122.179419000149053, 37.478216000791107 ], [ -122.185367000245165, 37.477805000727479 ], [ -122.184875999990567, 37.478537000927098 ], [ -122.18414299998777, 37.479569000438211 ], [ -122.183651000146241, 37.480341000852334 ], [ -122.18340999982199, 37.480929001104947 ], [ -122.18329899948931, 37.480608001075105 ], [ -122.183201999540088, 37.48051800084675 ], [ -122.182975000380182, 37.480437001095744 ], [ -122.182413000231449, 37.48090100090338 ], [ -122.181513999689926, 37.482050000909886 ], [ -122.181616999472226, 37.482448000396687 ], [ -122.181728000395253, 37.482712000819042 ], [ -122.181934000505862, 37.483044000277808 ], [ -122.182239000472961, 37.48331600070167 ], [ -122.182474999762803, 37.483537000686781 ], [ -122.181475000217489, 37.484737001041573 ], [ -122.188704999507237, 37.486164001083822 ], [ -122.18844299998031, 37.486941000657602 ], [ -122.189076000336016, 37.48699200097812 ], [ -122.189279000218136, 37.48700900101408 ], [ -122.189253000425595, 37.487243001036383 ], [ -122.189220999586411, 37.487526000234425 ], [ -122.189207999760086, 37.487639000963249 ], [ -122.189157999672545, 37.488086000677249 ], [ -122.184798999463524, 37.488190000548364 ], [ -122.184774999652006, 37.488337001071365 ], [ -122.183875000037617, 37.488237000364968 ], [ -122.17815999986874, 37.486547001043732 ], [ -122.177674999979573, 37.498437000878432 ], [ -122.177367999412951, 37.498437000408167 ], [ -122.177133000095282, 37.498437000476805 ], [ -122.176875000433057, 37.498437000248614 ], [ -122.173274999977266, 37.496337000983303 ], [ -122.16807499957595, 37.497937000968641 ], [ -122.165474999417498, 37.498837000884265 ], [ -122.165175000283611, 37.499537001101324 ], [ -122.163775000377399, 37.499537000712117 ], [ -122.163706000059065, 37.499937000837996 ], [ -122.1632749997394, 37.502437000681901 ], [ -122.163100999426661, 37.502742000464607 ], [ -122.15788699940434, 37.500550000648481 ], [ -122.139375000322772, 37.507837000500295 ], [ -122.13267499969561, 37.505337000780493 ], [ -122.127755999907095, 37.499937000637644 ], [ -122.127573999806984, 37.499737000479357 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 333, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.136621000228928, 37.458232001072091 ], [ -122.138783999939434, 37.459445000543262 ], [ -122.139110000411421, 37.459600000940192 ], [ -122.140275000361086, 37.460638000995154 ], [ -122.140104999703638, 37.460638000677932 ], [ -122.139976000149787, 37.46063800108675 ], [ -122.139075000193088, 37.46063800103331 ], [ -122.139174999625055, 37.462438000597039 ], [ -122.139180000108212, 37.462637000971128 ], [ -122.13917499941806, 37.46423800029055 ], [ -122.139275000335914, 37.46553800093033 ], [ -122.139174999501009, 37.465938000611388 ], [ -122.139175000327427, 37.466938000634933 ], [ -122.139175000426079, 37.468538000499038 ], [ -122.139274999977829, 37.470038000480777 ], [ -122.139274999924965, 37.471038000726224 ], [ -122.13947499945111, 37.471138000572871 ], [ -122.139274999800591, 37.471538000786047 ], [ -122.136774000083363, 37.471638000790776 ], [ -122.135874000284446, 37.471638000974536 ], [ -122.13507400041388, 37.47173800040521 ], [ -122.134774000486559, 37.471738000514399 ], [ -122.134373999679525, 37.471838000579972 ], [ -122.133773999608096, 37.471938000585709 ], [ -122.131473999880853, 37.472838000894306 ], [ -122.13017399967849, 37.473338000507852 ], [ -122.129373999812756, 37.473638000826661 ], [ -122.127774000190215, 37.474238000389256 ], [ -122.12356099976374, 37.475948000959995 ], [ -122.122702999408048, 37.476244000270079 ], [ -122.121228999475505, 37.476745000570517 ], [ -122.121073999476977, 37.47653800082319 ], [ -122.123373999546345, 37.475938000407872 ], [ -122.12367400005553, 37.472138000657161 ], [ -122.121973999562741, 37.472838000634276 ], [ -122.120473999428526, 37.47023800100412 ], [ -122.117773999845184, 37.468838001034136 ], [ -122.115973999787741, 37.466538000585821 ], [ -122.115715999689272, 37.466366000930982 ], [ -122.11537399965087, 37.466138000522854 ], [ -122.11591300000579, 37.465774000646306 ], [ -122.123160000494494, 37.460889000543368 ], [ -122.123281999719822, 37.460807000956478 ], [ -122.1222749998784, 37.457328000901668 ], [ -122.122174000229293, 37.456838000373587 ], [ -122.122137000355963, 37.456534000931683 ], [ -122.122014999945392, 37.456046001123092 ], [ -122.121974000004172, 37.45593800102354 ], [ -122.121725000097896, 37.455665000680291 ], [ -122.121512000464378, 37.455016000692325 ], [ -122.121574000461436, 37.454838000537556 ], [ -122.121587999603094, 37.454749000263106 ], [ -122.121846999745443, 37.454276000693554 ], [ -122.121974000474182, 37.454138001010605 ], [ -122.122137000263336, 37.453895000426051 ], [ -122.122273999824728, 37.453838001124389 ], [ -122.122975999909286, 37.453139000449426 ], [ -122.123831000143852, 37.452750000526748 ], [ -122.124474000265934, 37.452838000891191 ], [ -122.124773999449317, 37.452938000254079 ], [ -122.125189000282347, 37.453147000962765 ], [ -122.125374000256443, 37.453338000935702 ], [ -122.125525000490882, 37.453498000506052 ], [ -122.126173999969922, 37.453838001061641 ], [ -122.126439999970387, 37.453826000410466 ], [ -122.126874000075105, 37.453738000580081 ], [ -122.127142000188215, 37.453452000254984 ], [ -122.127446999456808, 37.453094000736556 ], [ -122.127545999726252, 37.45291600099398 ], [ -122.127629999401094, 37.452765001124902 ], [ -122.127696999572038, 37.452469000493387 ], [ -122.128569999576527, 37.453138000296157 ], [ -122.129874000276956, 37.454138001129714 ], [ -122.134359999831275, 37.456890000733807 ], [ -122.135564000013105, 37.457587000254485 ], [ -122.136621000228928, 37.458232001072091 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 7, "TAZ1454": 335, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.14927500009361, 37.457138001009213 ], [ -122.149939999947406, 37.457252000969909 ], [ -122.150916000366948, 37.457213000400401 ], [ -122.151074999938643, 37.457238000499224 ], [ -122.151359000433743, 37.457160000748196 ], [ -122.15147499990816, 37.457238000778105 ], [ -122.151740000279474, 37.457267000515294 ], [ -122.151831999669909, 37.45754100072898 ], [ -122.152060999593743, 37.457732000974332 ], [ -122.152475000165268, 37.457738000363904 ], [ -122.15260999968973, 37.457580000603826 ], [ -122.152974999902128, 37.457238000804949 ], [ -122.153097999811862, 37.457076000802751 ], [ -122.153517000202029, 37.456600000774039 ], [ -122.153775000012601, 37.456738000725387 ], [ -122.152874999716403, 37.458138000284109 ], [ -122.152675000107635, 37.458938000959591 ], [ -122.152574999689662, 37.459438001057883 ], [ -122.152398999804191, 37.460140000272993 ], [ -122.152374999948051, 37.460238001018084 ], [ -122.152274999550414, 37.460638000819465 ], [ -122.151875000191509, 37.461638000419278 ], [ -122.151575000122108, 37.463038000316388 ], [ -122.15157500035572, 37.463838001047797 ], [ -122.151274999761682, 37.464838000245742 ], [ -122.15117500030793, 37.465138000724977 ], [ -122.15107500007008, 37.465638000750189 ], [ -122.150856000204712, 37.466191000947553 ], [ -122.150774999545533, 37.466438000494307 ], [ -122.150374999933121, 37.466238000682729 ], [ -122.149811000444004, 37.465925000470016 ], [ -122.146904000425977, 37.464211001051027 ], [ -122.144466999717864, 37.462765000825769 ], [ -122.144003000066874, 37.46248900044877 ], [ -122.143074999557044, 37.461938001037161 ], [ -122.142875000237837, 37.461838000926335 ], [ -122.141744999536286, 37.461213000695821 ], [ -122.141174999622791, 37.460838000527446 ], [ -122.140874999922843, 37.460638000457557 ], [ -122.140231999456162, 37.460271000729783 ], [ -122.139110000411421, 37.459600000940192 ], [ -122.138783999939434, 37.459445000543262 ], [ -122.136621000228928, 37.458232001072091 ], [ -122.135564000013105, 37.457587000254485 ], [ -122.134359999831275, 37.456890000733807 ], [ -122.129874000276956, 37.454138001129714 ], [ -122.128569999576527, 37.453138000296157 ], [ -122.127696999572038, 37.452469000493387 ], [ -122.127773999842773, 37.452138000419581 ], [ -122.12792000048259, 37.452018000942751 ], [ -122.128373999721404, 37.45193800103322 ], [ -122.128560999538763, 37.452048000505222 ], [ -122.128728999496218, 37.45247600068533 ], [ -122.129141000365308, 37.452834000396571 ], [ -122.129797000334662, 37.453040000704938 ], [ -122.130374000308606, 37.453138000795711 ], [ -122.130941999834477, 37.453185000397482 ], [ -122.131273999529114, 37.4533380005834 ], [ -122.131354000313522, 37.453635000974323 ], [ -122.131574000021601, 37.453838000330137 ], [ -122.131888000498904, 37.453872000551712 ], [ -122.132558999839446, 37.454070000767999 ], [ -122.133200000480713, 37.45421500060592 ], [ -122.133673999473615, 37.45423800048475 ], [ -122.133779999688144, 37.454200000687628 ], [ -122.13420700036724, 37.454093000616382 ], [ -122.134512000137562, 37.45398600057927 ], [ -122.135397000324119, 37.453895000916717 ], [ -122.135574000357963, 37.454038001003063 ], [ -122.136130000524972, 37.454230000253162 ], [ -122.13677399958523, 37.454438000486675 ], [ -122.136907999916929, 37.454490000879545 ], [ -122.137761999679014, 37.454604000981583 ], [ -122.138448999433365, 37.454795000897157 ], [ -122.139014000085339, 37.455123000569692 ], [ -122.139502999741538, 37.455657000380867 ], [ -122.13953199953032, 37.455718001072285 ], [ -122.139875000423032, 37.456438000730948 ], [ -122.140234999718459, 37.4562320010874 ], [ -122.14077000000448, 37.456257000937207 ], [ -122.140816999933648, 37.456310000241842 ], [ -122.141088000194969, 37.456614000737936 ], [ -122.141139999572758, 37.456673000461898 ], [ -122.141055999954361, 37.457151000485112 ], [ -122.140774999957955, 37.457338000676884 ], [ -122.141379999897026, 37.457625000911477 ], [ -122.141774999647168, 37.457838000322795 ], [ -122.142315999877894, 37.457953001103931 ], [ -122.143230999469452, 37.458197001093417 ], [ -122.144391000454206, 37.458182000517866 ], [ -122.144974999528372, 37.458238000878346 ], [ -122.145240000005643, 37.45809800097193 ], [ -122.145468999449008, 37.45794600099142 ], [ -122.145621999785092, 37.457595000678438 ], [ -122.145651999868221, 37.457274000998119 ], [ -122.145957000511999, 37.456901001110808 ], [ -122.146383999505801, 37.456702000734779 ], [ -122.146975000130183, 37.456602000548727 ], [ -122.147101999429609, 37.456580000480152 ], [ -122.147422000495808, 37.456626000637144 ], [ -122.147834000356596, 37.456817000606939 ], [ -122.148248000444497, 37.456937000933138 ], [ -122.148627000088652, 37.457046000893421 ], [ -122.14927500009361, 37.457138001009213 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 648, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.787046000505484, 37.318266000409338 ], [ -121.786786000410927, 37.31832700082969 ], [ -121.786541999841987, 37.318350001116578 ], [ -121.786298000266456, 37.31837300090907 ], [ -121.786100000164453, 37.318373000349368 ], [ -121.785688000193872, 37.318510000888395 ], [ -121.785520000509067, 37.318609000404585 ], [ -121.785336999400926, 37.318678000492596 ], [ -121.785062000134801, 37.318747000239306 ], [ -121.784115999590924, 37.318892000953966 ], [ -121.783947999939613, 37.318960001126001 ], [ -121.783704000123379, 37.319075000722982 ], [ -121.783536000233212, 37.319067001115684 ], [ -121.783245999723405, 37.319334001056831 ], [ -121.782681999729292, 37.319487000271984 ], [ -121.782238999668238, 37.319616001121382 ], [ -121.782026000524851, 37.319754000299405 ], [ -121.781857999514855, 37.319838000737256 ], [ -121.781690000247877, 37.319952000239219 ], [ -121.78139900003849, 37.32012800041737 ], [ -121.781318999932523, 37.320140000670612 ], [ -121.781217999444053, 37.320219001040726 ], [ -121.781097999844434, 37.320283001086416 ], [ -121.780966999979682, 37.320340000532831 ], [ -121.780816000353965, 37.320400000708595 ], [ -121.780689999514607, 37.320448001007179 ], [ -121.780234000433367, 37.320459000242103 ], [ -121.780830000033106, 37.320979000519237 ], [ -121.781276000346622, 37.321440000500452 ], [ -121.781598999734769, 37.321753000434583 ], [ -121.781827000438412, 37.322088001041102 ], [ -121.781995000016906, 37.322401001040056 ], [ -121.782132999944679, 37.322691000771442 ], [ -121.782269999811177, 37.322981000858938 ], [ -121.782360999996371, 37.323248001095642 ], [ -121.782452999869705, 37.323484000967206 ], [ -121.782499000417403, 37.323751000364616 ], [ -121.782505999493168, 37.323851000261641 ], [ -121.782513999503479, 37.323965001043703 ], [ -121.782545000449616, 37.324186000334791 ], [ -121.782513999538764, 37.324461000759875 ], [ -121.782468000436751, 37.324697000904543 ], [ -121.782461999982971, 37.324941001034901 ], [ -121.782162000084128, 37.32494100037659 ], [ -121.780877999931008, 37.325054000624689 ], [ -121.778761999610651, 37.325241001062921 ], [ -121.776661999524606, 37.325441001017445 ], [ -121.77586200022094, 37.32544100036155 ], [ -121.774335000398608, 37.325636000921392 ], [ -121.773984000286617, 37.325682000732264 ], [ -121.773081000366915, 37.325741000607856 ], [ -121.770137999502069, 37.325933000701163 ], [ -121.76960399980176, 37.326208000471169 ], [ -121.768702999441771, 37.326633000991023 ], [ -121.767146999502529, 37.32736800064098 ], [ -121.766339000488799, 37.327832001035944 ], [ -121.7663040001501, 37.328028000460698 ], [ -121.766249999896885, 37.328331000449339 ], [ -121.766171000031463, 37.328778000460183 ], [ -121.766140000327837, 37.329732000972747 ], [ -121.766205000258736, 37.329952000278467 ], [ -121.766260999666329, 37.33014000106094 ], [ -121.766043000512127, 37.330358000597791 ], [ -121.765460999871408, 37.330940000263176 ], [ -121.764716999653245, 37.332090000566239 ], [ -121.765099000138306, 37.332471000670864 ], [ -121.765320000017809, 37.33229200090981 ], [ -121.765521999578425, 37.332087000795383 ], [ -121.765683000321246, 37.3319590009663 ], [ -121.765914000258348, 37.331857001021376 ], [ -121.766135000227393, 37.331781000829693 ], [ -121.766335999425309, 37.331705000759783 ], [ -121.766687999712929, 37.331578000599656 ], [ -121.766863999624817, 37.331597000365662 ], [ -121.767010000088789, 37.331528000666232 ], [ -121.76759400011909, 37.331453000819309 ], [ -121.767723999544643, 37.331634000451245 ], [ -121.768207000397538, 37.331482000644989 ], [ -121.768093000060503, 37.331365000810138 ], [ -121.76831899999199, 37.331285000665609 ], [ -121.769380000247068, 37.33091000071294 ], [ -121.769505000242006, 37.331076000452185 ], [ -121.769836999851961, 37.331412000612879 ], [ -121.769997999902287, 37.331618000553711 ], [ -121.770088000522804, 37.331850000309025 ], [ -121.770151999798557, 37.332183000289781 ], [ -121.771675999658655, 37.331898001042774 ], [ -121.770281000051725, 37.332334001083311 ], [ -121.769890000288086, 37.332456000591456 ], [ -121.768660999459925, 37.332840000268789 ], [ -121.767960999907274, 37.332940000918946 ], [ -121.767460999732833, 37.333040001057675 ], [ -121.765161000513331, 37.334240001069404 ], [ -121.764660999873428, 37.335440000403189 ], [ -121.759758000378142, 37.336404000846848 ], [ -121.752727999711212, 37.333241000620589 ], [ -121.75294200035448, 37.333066001060637 ], [ -121.753552000264349, 37.333234000523611 ], [ -121.751949999877596, 37.331639000323236 ], [ -121.751538000335984, 37.331334000966059 ], [ -121.750790000178725, 37.331166000535262 ], [ -121.748061000325592, 37.330740001072733 ], [ -121.747061000205818, 37.328040000384568 ], [ -121.74556099977967, 37.329540000646674 ], [ -121.744360999992338, 37.327940000250329 ], [ -121.745560999559856, 37.326840000559194 ], [ -121.743539999426972, 37.324263000227177 ], [ -121.742659999880004, 37.323140000547809 ], [ -121.744259999747882, 37.324040000925763 ], [ -121.744659999868546, 37.322340000979018 ], [ -121.746560999982208, 37.323640000428718 ], [ -121.747445000074464, 37.323179000553417 ], [ -121.748184999543582, 37.322794000635966 ], [ -121.748861000316566, 37.322441000787499 ], [ -121.750960999988308, 37.322441000682559 ], [ -121.753960999579121, 37.322841000999901 ], [ -121.754180999460587, 37.322181001112455 ], [ -121.754460999979102, 37.321341000854297 ], [ -121.755598999467708, 37.320772000899559 ], [ -121.755661000488644, 37.320741000746878 ], [ -121.756961000503111, 37.321141001029687 ], [ -121.756861000148461, 37.321641001001005 ], [ -121.758860999677452, 37.322041000322074 ], [ -121.758761000471509, 37.320741000557931 ], [ -121.757860999863823, 37.31944100107561 ], [ -121.758446000066741, 37.319051000738121 ], [ -121.758703999533196, 37.319099000945563 ], [ -121.760279999614966, 37.31874300031501 ], [ -121.761409999666029, 37.318487000827218 ], [ -121.761496999500849, 37.318480000515102 ], [ -121.763630999792383, 37.318296000597414 ], [ -121.763747000152307, 37.318286000971213 ], [ -121.764270000209919, 37.318241000403418 ], [ -121.764339999618201, 37.318235000287416 ], [ -121.764889000218957, 37.318151000807326 ], [ -121.768733999784658, 37.317533000267524 ], [ -121.769123999916857, 37.317478000655449 ], [ -121.769984000286982, 37.317357000992864 ], [ -121.770242000290807, 37.317321001006334 ], [ -121.771431000344847, 37.317154000272517 ], [ -121.772747000495869, 37.316969000942947 ], [ -121.77551900012152, 37.316533000456424 ], [ -121.776171000449352, 37.316430000954924 ], [ -121.776820000160029, 37.316328000660008 ], [ -121.777858999509704, 37.316164000898738 ], [ -121.779386000182768, 37.3159240005049 ], [ -121.779662000290344, 37.315841000258679 ], [ -121.781267999766939, 37.315655000849915 ], [ -121.781446000420985, 37.315634000541365 ], [ -121.781689999668046, 37.315557000575701 ], [ -121.782667000380897, 37.315428000453778 ], [ -121.78356700041104, 37.31529000112458 ], [ -121.784512999476235, 37.315145000766542 ], [ -121.785505000497437, 37.314985000704951 ], [ -121.786497000055164, 37.314856001101816 ], [ -121.787487999591463, 37.314711000324273 ], [ -121.787549000027852, 37.314901000764891 ], [ -121.787626000387249, 37.314955000443049 ], [ -121.787687000012866, 37.315077000937329 ], [ -121.787809000267288, 37.315207000240235 ], [ -121.787899999796906, 37.315367000245011 ], [ -121.787946000020639, 37.315489001073018 ], [ -121.788006999646996, 37.315619000799096 ], [ -121.788053000432015, 37.315832000961827 ], [ -121.788220999675445, 37.316549000502071 ], [ -121.788465000233572, 37.317648000930653 ], [ -121.788311999934095, 37.317747000322832 ], [ -121.788113999988511, 37.317862000685409 ], [ -121.787945999432381, 37.317930000273378 ], [ -121.787733000291894, 37.318014000656845 ], [ -121.787472999639107, 37.31812900100109 ], [ -121.787197999478593, 37.318220000250186 ], [ -121.787046000505484, 37.318266000409338 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 652, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.786045000195614, 37.311019000939957 ], [ -121.785614999943149, 37.310793000980453 ], [ -121.785494999944177, 37.310690000686762 ], [ -121.785414999901164, 37.310529000345262 ], [ -121.785381000384191, 37.310470001056181 ], [ -121.785336999431209, 37.310431000803781 ], [ -121.785270999871514, 37.310403000905467 ], [ -121.784939999649126, 37.310263000485968 ], [ -121.783909999601789, 37.309785000611789 ], [ -121.782956999969485, 37.309370000730937 ], [ -121.782562000273032, 37.309041001043887 ], [ -121.780461999833392, 37.308341000339766 ], [ -121.779828000448518, 37.30814200093166 ], [ -121.779167999911323, 37.30744800079863 ], [ -121.777935000442241, 37.306150000994506 ], [ -121.777934999441328, 37.305830000457213 ], [ -121.777160999856065, 37.304941000816889 ], [ -121.776381999667976, 37.304162000915497 ], [ -121.775960999703358, 37.303741000769534 ], [ -121.775809999668596, 37.303572001003666 ], [ -121.775748999555375, 37.303505000536454 ], [ -121.775509000336712, 37.3032390010775 ], [ -121.775060999465637, 37.30274100064738 ], [ -121.774761000094983, 37.30244100098129 ], [ -121.773860999986468, 37.301547000353217 ], [ -121.773540999819303, 37.301229000583952 ], [ -121.77123700031342, 37.299032001053412 ], [ -121.771151000233431, 37.298943000972685 ], [ -121.771374000286954, 37.298880000724772 ], [ -121.771634000190105, 37.298735000576613 ], [ -121.771724999551367, 37.298902000245612 ], [ -121.772161000469481, 37.299123001065539 ], [ -121.772692000178637, 37.299350000655522 ], [ -121.773270000152863, 37.299481000968363 ], [ -121.773456999957219, 37.299632000563385 ], [ -121.77357100006968, 37.299933000866488 ], [ -121.773671000399901, 37.300073000702398 ], [ -121.774012999675861, 37.300289000575717 ], [ -121.77440800046007, 37.300639001086275 ], [ -121.774447000286187, 37.300742000233171 ], [ -121.774593000200582, 37.300759000865021 ], [ -121.774864999932859, 37.300754000774653 ], [ -121.774960999413736, 37.300841000666814 ], [ -121.775180999476078, 37.301184000508393 ], [ -121.775206999917145, 37.301224000769736 ], [ -121.775466999670996, 37.30162800046871 ], [ -121.77554100002736, 37.301629000555423 ], [ -121.775733000402639, 37.301630001045211 ], [ -121.776242000401069, 37.301634000490267 ], [ -121.777217999637514, 37.301733000854476 ], [ -121.778180000099226, 37.301718001035312 ], [ -121.778760999515711, 37.301841000825718 ], [ -121.78006100017609, 37.302941000443518 ], [ -121.780160999673654, 37.303541001021891 ], [ -121.781462000247842, 37.303341000884046 ], [ -121.781662000066831, 37.304041000923256 ], [ -121.78266199950744, 37.303841000504804 ], [ -121.784362000478183, 37.305541000662643 ], [ -121.787661999771302, 37.306041000879354 ], [ -121.788161999457742, 37.307841000319534 ], [ -121.789162000219818, 37.307641000312898 ], [ -121.789661999773799, 37.307541000268102 ], [ -121.790296000197614, 37.307440000276785 ], [ -121.790158999457248, 37.306746000954661 ], [ -121.790921999520819, 37.306616000657314 ], [ -121.791837000001138, 37.306494001075222 ], [ -121.793058000303361, 37.306318000551094 ], [ -121.793226000135149, 37.306265000696065 ], [ -121.793454999678815, 37.306242000962115 ], [ -121.79363800018757, 37.306211001117759 ], [ -121.793775000459163, 37.306242000544586 ], [ -121.793928000203337, 37.306272001057785 ], [ -121.794110999712004, 37.306311000554011 ], [ -121.794248000269974, 37.306349001068966 ], [ -121.794370000365106, 37.30638700091805 ], [ -121.794735999637226, 37.306532000488517 ], [ -121.794507999839539, 37.306358000980389 ], [ -121.794345999458614, 37.306277000765476 ], [ -121.794167000451282, 37.306040000258413 ], [ -121.794025000353315, 37.305862000803444 ], [ -121.793952999529651, 37.305604000293037 ], [ -121.793927000431367, 37.305453001028944 ], [ -121.793994000022138, 37.305319000732872 ], [ -121.794197000502393, 37.305072000503714 ], [ -121.794344999446139, 37.30477100069438 ], [ -121.794325000183264, 37.304588000951007 ], [ -121.794204999670939, 37.304389001011486 ], [ -121.793950000473188, 37.304087000478305 ], [ -121.793896999978756, 37.304017000980458 ], [ -121.79385699949303, 37.303926001076135 ], [ -121.793883999907479, 37.303866000766043 ], [ -121.793977999471423, 37.303743000713425 ], [ -121.794078999418602, 37.303630001118378 ], [ -121.794080000505176, 37.303544000647967 ], [ -121.794107999618888, 37.303227000553854 ], [ -121.794053999872219, 37.303092000484014 ], [ -121.794961999814745, 37.303641001010334 ], [ -121.795362000051412, 37.303841000513614 ], [ -121.795861999576942, 37.303941000955376 ], [ -121.796110000139279, 37.304289001088719 ], [ -121.796662000280492, 37.30454100064685 ], [ -121.796862000328659, 37.304941000796845 ], [ -121.796961999436789, 37.305141000731894 ], [ -121.797162000116842, 37.3054410008478 ], [ -121.797498000228174, 37.305912001118777 ], [ -121.79766199976504, 37.306141000770296 ], [ -121.797962000196748, 37.306441000659852 ], [ -121.798761999722302, 37.307341000955589 ], [ -121.799161999570629, 37.307641000727983 ], [ -121.799461999397238, 37.30794100042759 ], [ -121.800062000493796, 37.308341000373296 ], [ -121.800092000019021, 37.309004000779268 ], [ -121.800351999672557, 37.309340000531463 ], [ -121.800656999876864, 37.309866001032447 ], [ -121.801041999558691, 37.310480000965427 ], [ -121.801678000330085, 37.311492000600111 ], [ -121.802188999716634, 37.312305000290301 ], [ -121.802270999715049, 37.312435000874274 ], [ -121.802324000352087, 37.312519000786963 ], [ -121.802261999786495, 37.312441001045215 ], [ -121.802161999640063, 37.312441000948333 ], [ -121.801562000177398, 37.312641001104993 ], [ -121.80056199955753, 37.312641000316823 ], [ -121.800062999932834, 37.312777000986792 ], [ -121.799461999702416, 37.312941000488294 ], [ -121.798661999902251, 37.313041000326386 ], [ -121.798275999689835, 37.313086000943571 ], [ -121.797329999514474, 37.313208000499834 ], [ -121.796361999565079, 37.313341000294372 ], [ -121.794761999712662, 37.31354100023723 ], [ -121.79456800016186, 37.313627000339302 ], [ -121.793861999587662, 37.313741000966594 ], [ -121.791769000502043, 37.314040000830445 ], [ -121.790677000318325, 37.312582000743781 ], [ -121.790341999574295, 37.31259000087767 ], [ -121.789517999410663, 37.312506000954507 ], [ -121.789273999655819, 37.312429000516353 ], [ -121.789068999504536, 37.312359001037287 ], [ -121.788983999454274, 37.312330000238376 ], [ -121.788572000349816, 37.312170000328869 ], [ -121.788390000079204, 37.312089000838178 ], [ -121.788129000413889, 37.311972000907126 ], [ -121.787915999618349, 37.311880000480571 ], [ -121.787777999558074, 37.311789000624721 ], [ -121.787610000521227, 37.311644000322815 ], [ -121.787463999861103, 37.311547000819139 ], [ -121.787455999860313, 37.311540001042431 ], [ -121.786964999796211, 37.31143500063331 ], [ -121.786764000488162, 37.311381000955727 ], [ -121.786327000250338, 37.311161000523441 ], [ -121.786181000232176, 37.311087000784944 ], [ -121.786045000195614, 37.311019000939957 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 655, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.80686200029642, 37.297142000883234 ], [ -121.806662000306773, 37.297542000445375 ], [ -121.806161999916284, 37.297942000246117 ], [ -121.805362000135219, 37.298542000387897 ], [ -121.805162000273086, 37.29864200082833 ], [ -121.804162000065133, 37.299342000847133 ], [ -121.802762000260159, 37.299742000355572 ], [ -121.801862000143089, 37.299842001030122 ], [ -121.800861999485463, 37.299942000970823 ], [ -121.800613000414558, 37.299906000712873 ], [ -121.800991999510742, 37.301565000480942 ], [ -121.8013360005056, 37.303071000714567 ], [ -121.80179000050066, 37.305060000738003 ], [ -121.801062000300632, 37.305141000881747 ], [ -121.798962000280781, 37.305241000516716 ], [ -121.79796199986724, 37.306141000315243 ], [ -121.79766199976504, 37.306141000770296 ], [ -121.797498000228174, 37.305912001118777 ], [ -121.797162000116842, 37.3054410008478 ], [ -121.796961999436789, 37.305141000731894 ], [ -121.796862000328659, 37.304941000796845 ], [ -121.796662000280492, 37.30454100064685 ], [ -121.796110000139279, 37.304289001088719 ], [ -121.795861999576942, 37.303941000955376 ], [ -121.795362000051412, 37.303841000513614 ], [ -121.794961999814745, 37.303641001010334 ], [ -121.794053999872219, 37.303092000484014 ], [ -121.794107999618888, 37.303227000553854 ], [ -121.794080000505176, 37.303544000647967 ], [ -121.794078999418602, 37.303630001118378 ], [ -121.793977999471423, 37.303743000713425 ], [ -121.793883999907479, 37.303866000766043 ], [ -121.79385699949303, 37.303926001076135 ], [ -121.793896999978756, 37.304017000980458 ], [ -121.793950000473188, 37.304087000478305 ], [ -121.794204999670939, 37.304389001011486 ], [ -121.794325000183264, 37.304588000951007 ], [ -121.794344999446139, 37.30477100069438 ], [ -121.794197000502393, 37.305072000503714 ], [ -121.793994000022138, 37.305319000732872 ], [ -121.793927000431367, 37.305453001028944 ], [ -121.793952999529651, 37.305604000293037 ], [ -121.794025000353315, 37.305862000803444 ], [ -121.794167000451282, 37.306040000258413 ], [ -121.794345999458614, 37.306277000765476 ], [ -121.794507999839539, 37.306358000980389 ], [ -121.794735999637226, 37.306532000488517 ], [ -121.794370000365106, 37.30638700091805 ], [ -121.794248000269974, 37.306349001068966 ], [ -121.794110999712004, 37.306311000554011 ], [ -121.793928000203337, 37.306272001057785 ], [ -121.793775000459163, 37.306242000544586 ], [ -121.79363800018757, 37.306211001117759 ], [ -121.793454999678815, 37.306242000962115 ], [ -121.793226000135149, 37.306265000696065 ], [ -121.793058000303361, 37.306318000551094 ], [ -121.791837000001138, 37.306494001075222 ], [ -121.790921999520819, 37.306616000657314 ], [ -121.790158999457248, 37.306746000954661 ], [ -121.790296000197614, 37.307440000276785 ], [ -121.789661999773799, 37.307541000268102 ], [ -121.789162000219818, 37.307641000312898 ], [ -121.788161999457742, 37.307841000319534 ], [ -121.787661999771302, 37.306041000879354 ], [ -121.784362000478183, 37.305541000662643 ], [ -121.78266199950744, 37.303841000504804 ], [ -121.781662000066831, 37.304041000923256 ], [ -121.781462000247842, 37.303341000884046 ], [ -121.780160999673654, 37.303541001021891 ], [ -121.78006100017609, 37.302941000443518 ], [ -121.778760999515711, 37.301841000825718 ], [ -121.778180000099226, 37.301718001035312 ], [ -121.777217999637514, 37.301733000854476 ], [ -121.776242000401069, 37.301634000490267 ], [ -121.775733000402639, 37.301630001045211 ], [ -121.77554100002736, 37.301629000555423 ], [ -121.775466999670996, 37.30162800046871 ], [ -121.775206999917145, 37.301224000769736 ], [ -121.775180999476078, 37.301184000508393 ], [ -121.774960999413736, 37.300841000666814 ], [ -121.774864999932859, 37.300754000774653 ], [ -121.774593000200582, 37.300759000865021 ], [ -121.774447000286187, 37.300742000233171 ], [ -121.77440800046007, 37.300639001086275 ], [ -121.774012999675861, 37.300289000575717 ], [ -121.773671000399901, 37.300073000702398 ], [ -121.77357100006968, 37.299933000866488 ], [ -121.773456999957219, 37.299632000563385 ], [ -121.773270000152863, 37.299481000968363 ], [ -121.772692000178637, 37.299350000655522 ], [ -121.772161000469481, 37.299123001065539 ], [ -121.771724999551367, 37.298902000245612 ], [ -121.771634000190105, 37.298735000576613 ], [ -121.771374000286954, 37.298880000724772 ], [ -121.771151000233431, 37.298943000972685 ], [ -121.770861000300016, 37.298641000580659 ], [ -121.769864999681417, 37.297258000453056 ], [ -121.769060999748078, 37.296142000871242 ], [ -121.768560999791376, 37.295442000378493 ], [ -121.768060999911839, 37.294742000468396 ], [ -121.767860000112918, 37.294474000244776 ], [ -121.767461000216045, 37.293942000424899 ], [ -121.766660999848128, 37.292842000615266 ], [ -121.766260999603176, 37.292242000764652 ], [ -121.766082000187339, 37.292012000316603 ], [ -121.765963999458947, 37.291860000591676 ], [ -121.76572799941097, 37.291556000803027 ], [ -121.765561000173108, 37.291342000964669 ], [ -121.765445000295244, 37.29064700062321 ], [ -121.765393000212086, 37.290336000651116 ], [ -121.765744000285082, 37.2900310006398 ], [ -121.765660999437856, 37.289942000804388 ], [ -121.765461000289335, 37.289042000733062 ], [ -121.765189000463309, 37.288408000526857 ], [ -121.764747999494148, 37.288162000838355 ], [ -121.764159000363009, 37.287833000724262 ], [ -121.764050000046382, 37.287772000681976 ], [ -121.764061000476872, 37.287342001080887 ], [ -121.763461000123641, 37.286742000261754 ], [ -121.763382000291642, 37.286623000675377 ], [ -121.763275999573281, 37.286464000313792 ], [ -121.763060999959421, 37.286142000256987 ], [ -121.762583000218356, 37.285595000786202 ], [ -121.762299999443599, 37.285272000818338 ], [ -121.761789000493778, 37.284689000423406 ], [ -121.760959999749389, 37.28374200028744 ], [ -121.760690999511823, 37.283563001012844 ], [ -121.760059999995974, 37.2831420004525 ], [ -121.759560000045283, 37.282742000838084 ], [ -121.758774000068598, 37.281485000914934 ], [ -121.758559999805186, 37.281142000956251 ], [ -121.758305999573579, 37.280928000343103 ], [ -121.758245000015279, 37.280877000526623 ], [ -121.756660000479101, 37.279542000302882 ], [ -121.755660000095546, 37.279442000466162 ], [ -121.754269000485579, 37.279000000975586 ], [ -121.754141999498103, 37.278960001107791 ], [ -121.751517999564342, 37.278165000485927 ], [ -121.749305999854542, 37.277424000778439 ], [ -121.749060000467594, 37.277342000901456 ], [ -121.748923999591156, 37.277188000344317 ], [ -121.748871000497715, 37.277127000582382 ], [ -121.74811699967178, 37.27627000088421 ], [ -121.746859999692333, 37.27484200090953 ], [ -121.746488999494744, 37.274100000466618 ], [ -121.746460000119981, 37.274042001080801 ], [ -121.745874999681064, 37.273736000339824 ], [ -121.744359999543576, 37.272942001110479 ], [ -121.742859999573881, 37.272142001090415 ], [ -121.741259999716192, 37.271242000927586 ], [ -121.740153000057248, 37.270458000795045 ], [ -121.739510000482966, 37.270001000259384 ], [ -121.739021999574376, 37.269816000900278 ], [ -121.738757999618016, 37.269521000748348 ], [ -121.738293999526022, 37.269141000690588 ], [ -121.737882000472538, 37.268862000776828 ], [ -121.737560000308292, 37.268755000899546 ], [ -121.736191999566216, 37.267679000375743 ], [ -121.73515599997188, 37.267286000654018 ], [ -121.734707000504159, 37.267116000328741 ], [ -121.733459000400288, 37.266642000761379 ], [ -121.730558999415393, 37.264542001035778 ], [ -121.730551000476368, 37.264543000472671 ], [ -121.729659000508491, 37.264642000790801 ], [ -121.727558999485851, 37.264042000681883 ], [ -121.727758999425291, 37.263742000387452 ], [ -121.728480000115724, 37.261909000798028 ], [ -121.731202999732105, 37.254108000315867 ], [ -121.731958999817152, 37.251943001058322 ], [ -121.733358999560735, 37.248143001002894 ], [ -121.738558999490948, 37.252843000339276 ], [ -121.745860000337444, 37.258343000369514 ], [ -121.762596000232804, 37.268344000537169 ], [ -121.763790999487227, 37.26905800102292 ], [ -121.764489999586587, 37.269476000677173 ], [ -121.765719999593273, 37.270211000578001 ], [ -121.766654000172878, 37.270769001091573 ], [ -121.766711999580735, 37.270803000253245 ], [ -121.769835999478133, 37.272671001090316 ], [ -121.771402999923239, 37.2736080007558 ], [ -121.772045999419134, 37.273992000702492 ], [ -121.772986999857451, 37.27455400094879 ], [ -121.773707999707199, 37.274985000751442 ], [ -121.775781000122208, 37.276224000790066 ], [ -121.788242999804012, 37.283671000683121 ], [ -121.788360999865816, 37.283742000835716 ], [ -121.790561999706156, 37.281642000859115 ], [ -121.792862000125695, 37.28154200029168 ], [ -121.794662000172991, 37.281442000861034 ], [ -121.799961999715848, 37.284142000589249 ], [ -121.804839000258241, 37.284725001040357 ], [ -121.809161999460684, 37.285242000939235 ], [ -121.809387000127884, 37.285242000424894 ], [ -121.80946200034812, 37.285242000458766 ], [ -121.809561999722206, 37.285542000315196 ], [ -121.809861999633085, 37.290042001025583 ], [ -121.809904000040433, 37.293639000569236 ], [ -121.809934000362958, 37.293854001071729 ], [ -121.810010000436421, 37.294753000692197 ], [ -121.810034000021361, 37.294874000728932 ], [ -121.809525999858238, 37.295262000924964 ], [ -121.809205999591072, 37.295512000986946 ], [ -121.809015999489588, 37.295681000360027 ], [ -121.808541999415155, 37.296150000685408 ], [ -121.807561999990639, 37.296442000530718 ], [ -121.80686200029642, 37.297142000883234 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 588, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.826664000423236, 37.336941001122092 ], [ -121.82696399955465, 37.337441001058288 ], [ -121.828363999630952, 37.338740000316598 ], [ -121.829505999694291, 37.339959000781157 ], [ -121.829863999541061, 37.340340000756761 ], [ -121.830464000393349, 37.340840000800043 ], [ -121.832663999920285, 37.343240000526208 ], [ -121.834464000494634, 37.344940000773192 ], [ -121.834963999555114, 37.345640000649816 ], [ -121.834264000123881, 37.346140000876645 ], [ -121.832963999524921, 37.347040000793619 ], [ -121.831170999780753, 37.348235000302218 ], [ -121.830563999848451, 37.348640000768505 ], [ -121.829064000042308, 37.349640001008638 ], [ -121.82746400029211, 37.35084000085876 ], [ -121.824953999851914, 37.347807000643719 ], [ -121.824382999443586, 37.347118000753042 ], [ -121.824263000378508, 37.346973001129633 ], [ -121.823313000003409, 37.345825000442566 ], [ -121.822663999956717, 37.345040000586515 ], [ -121.822580999512567, 37.344917000555753 ], [ -121.822122000186297, 37.344238000746095 ], [ -121.821902999857784, 37.34391400097067 ], [ -121.82171899972785, 37.343642000704428 ], [ -121.821328999553245, 37.343066000655448 ], [ -121.820769999499788, 37.342239000467117 ], [ -121.820351999638021, 37.34162000083726 ], [ -121.820163000311481, 37.341340000259507 ], [ -121.821049999922195, 37.340730000909353 ], [ -121.821762999699104, 37.340240000388143 ], [ -121.82209499986817, 37.339964000339201 ], [ -121.822963000193667, 37.339440000387569 ], [ -121.823564000056919, 37.339040000696542 ], [ -121.824464000016505, 37.338440001124169 ], [ -121.824492999846655, 37.338422001098785 ], [ -121.825264000276661, 37.337940000383071 ], [ -121.825963999481829, 37.337441000860402 ], [ -121.826463999702852, 37.337041000364692 ], [ -121.826664000423236, 37.336941001122092 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 638, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.8169700000185, 37.357863000874865 ], [ -121.816393000382192, 37.358231000799719 ], [ -121.816064000331906, 37.358440000710132 ], [ -121.815863999533775, 37.358640000729622 ], [ -121.815463000007867, 37.358840001071243 ], [ -121.814562999959932, 37.35904000110375 ], [ -121.814163000323703, 37.35934000040757 ], [ -121.813731000193144, 37.359642001001745 ], [ -121.813639000472833, 37.359707001061814 ], [ -121.813162999487872, 37.360040000380053 ], [ -121.812717999803283, 37.360295000835173 ], [ -121.812463000053029, 37.360440000280128 ], [ -121.812163000304423, 37.360740000709718 ], [ -121.811762999681036, 37.360440000881759 ], [ -121.811862999605125, 37.360340000860766 ], [ -121.810463000087609, 37.359140001115037 ], [ -121.810162999642117, 37.358840000250076 ], [ -121.809862999717055, 37.358640001018209 ], [ -121.80926300003533, 37.357940000332214 ], [ -121.808862999941113, 37.357740000355243 ], [ -121.808150000241412, 37.357228000537738 ], [ -121.807462999967839, 37.357040000668491 ], [ -121.807263000486245, 37.356940000532902 ], [ -121.806262999487515, 37.356340000502236 ], [ -121.805363000366896, 37.356040000749445 ], [ -121.804962999395173, 37.355440000641849 ], [ -121.804363000459489, 37.355440000992928 ], [ -121.804263000433821, 37.354640000262698 ], [ -121.804362999628893, 37.353940001091594 ], [ -121.805862999938583, 37.352040000262086 ], [ -121.806663000282938, 37.351540000428798 ], [ -121.807362999980896, 37.351240000346188 ], [ -121.808262999843265, 37.350840000668128 ], [ -121.808862999817833, 37.350240000376843 ], [ -121.809162999507279, 37.349640000935416 ], [ -121.810363000185689, 37.348840000490235 ], [ -121.811062999539772, 37.348540000610427 ], [ -121.811863000244031, 37.348040000843817 ], [ -121.813663000042482, 37.349840000965173 ], [ -121.814362999803095, 37.350640000803139 ], [ -121.814563000445943, 37.350840000560503 ], [ -121.814762999873096, 37.351040000869901 ], [ -121.814962999652053, 37.351140000994214 ], [ -121.815262999668136, 37.351540000631545 ], [ -121.815463000520083, 37.351740000676656 ], [ -121.815863000467772, 37.352240000483256 ], [ -121.816262999879257, 37.352640000892052 ], [ -121.816362999788737, 37.352840000848474 ], [ -121.816389999951994, 37.35280300071836 ], [ -121.816863000437351, 37.353340001080255 ], [ -121.817362999757194, 37.353840000994339 ], [ -121.817864000306059, 37.354440000523674 ], [ -121.818364000429497, 37.355040000553196 ], [ -121.818864000433891, 37.355540000451164 ], [ -121.819264000195517, 37.355940000652595 ], [ -121.819464000241723, 37.356240000964135 ], [ -121.817564000282502, 37.357440000781921 ], [ -121.817163999690607, 37.35774000054078 ], [ -121.8169700000185, 37.357863000874865 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 639, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.811863000244031, 37.348040000843817 ], [ -121.811363000036309, 37.347440000391416 ], [ -121.8124630005141, 37.347040001005468 ], [ -121.813062999726242, 37.347640000801448 ], [ -121.813863000084567, 37.347340000590435 ], [ -121.81466300042014, 37.346940000396771 ], [ -121.815763000397695, 37.346440000802261 ], [ -121.81636300027327, 37.346140000840755 ], [ -121.816863000428071, 37.345740000829913 ], [ -121.817462999662041, 37.345340000612325 ], [ -121.816862999989098, 37.344840000234576 ], [ -121.8176629994922, 37.344440000896846 ], [ -121.818124999829664, 37.344235000613125 ], [ -121.818562999997297, 37.344040000712802 ], [ -121.818862999886278, 37.344440000622555 ], [ -121.818972999834244, 37.344495000850486 ], [ -121.819663000328759, 37.344840000297154 ], [ -121.81985200023226, 37.344764000453736 ], [ -121.821162999786793, 37.344240000779884 ], [ -121.821802000018735, 37.343962000856067 ], [ -121.821902999857784, 37.34391400097067 ], [ -121.822122000186297, 37.344238000746095 ], [ -121.822580999512567, 37.344917000555753 ], [ -121.822663999956717, 37.345040000586515 ], [ -121.823313000003409, 37.345825000442566 ], [ -121.824263000378508, 37.346973001129633 ], [ -121.824382999443586, 37.347118000753042 ], [ -121.824953999851914, 37.347807000643719 ], [ -121.82746400029211, 37.35084000085876 ], [ -121.827325999889794, 37.350909000307361 ], [ -121.826664000121141, 37.351240001077414 ], [ -121.826475999738648, 37.351372001041817 ], [ -121.826069000059704, 37.351656000457865 ], [ -121.825664000245752, 37.351940000266659 ], [ -121.82466399975543, 37.352640000693704 ], [ -121.822934999527305, 37.35388800041661 ], [ -121.822863999879687, 37.353940000485622 ], [ -121.822591999913357, 37.354158000236971 ], [ -121.822363999404061, 37.354340000839613 ], [ -121.820263999977385, 37.35564000030864 ], [ -121.819464000241723, 37.356240000964135 ], [ -121.819264000195517, 37.355940000652595 ], [ -121.818864000433891, 37.355540000451164 ], [ -121.818364000429497, 37.355040000553196 ], [ -121.817864000306059, 37.354440000523674 ], [ -121.817362999757194, 37.353840000994339 ], [ -121.816863000437351, 37.353340001080255 ], [ -121.816389999951994, 37.35280300071836 ], [ -121.816362999788737, 37.352840000848474 ], [ -121.816262999879257, 37.352640000892052 ], [ -121.815863000467772, 37.352240000483256 ], [ -121.815463000520083, 37.351740000676656 ], [ -121.815262999668136, 37.351540000631545 ], [ -121.814962999652053, 37.351140000994214 ], [ -121.814762999873096, 37.351040000869901 ], [ -121.814563000445943, 37.350840000560503 ], [ -121.814362999803095, 37.350640000803139 ], [ -121.813663000042482, 37.349840000965173 ], [ -121.811863000244031, 37.348040000843817 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 593, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.872189000390634, 37.358836000760363 ], [ -121.873965999926881, 37.359840000714641 ], [ -121.876766000040007, 37.360840000920959 ], [ -121.877565999854198, 37.361040000857443 ], [ -121.876331000066131, 37.362080000771734 ], [ -121.875522999697836, 37.362736000666153 ], [ -121.874665999709549, 37.363340000765277 ], [ -121.873603999535234, 37.364209000536079 ], [ -121.87356599984858, 37.364240000778004 ], [ -121.871865999754974, 37.36524000108075 ], [ -121.871859999937129, 37.365244000783555 ], [ -121.869565999818676, 37.366740000327376 ], [ -121.869155999537981, 37.36641200097251 ], [ -121.869066000404771, 37.366340000274114 ], [ -121.867465000452768, 37.364540000244766 ], [ -121.86746000018924, 37.364543000695285 ], [ -121.866913000193691, 37.363950000711583 ], [ -121.865364999409053, 37.362440000546719 ], [ -121.864864999691363, 37.361940000676128 ], [ -121.863665000318193, 37.360740000852829 ], [ -121.862996999661959, 37.360033000233159 ], [ -121.862413999643579, 37.359416001122604 ], [ -121.861964999729793, 37.35894000093046 ], [ -121.860965000455792, 37.357940001034869 ], [ -121.860215000282523, 37.357139000849664 ], [ -121.859465000301242, 37.356340000497809 ], [ -121.85930899982138, 37.356184000808312 ], [ -121.8581650004555, 37.355040000758372 ], [ -121.856964999802486, 37.353940000883796 ], [ -121.85576499943511, 37.352740000386945 ], [ -121.857365000095584, 37.3519400008784 ], [ -121.85926500014773, 37.351040001080236 ], [ -121.860864999423313, 37.350340000631888 ], [ -121.861164999995964, 37.350240000347618 ], [ -121.861565000321221, 37.350040000666333 ], [ -121.861884000340311, 37.349881001072532 ], [ -121.861964999660429, 37.349840000502404 ], [ -121.862072999951209, 37.349939001036681 ], [ -121.863164999967026, 37.35094000089056 ], [ -121.863361999402073, 37.351127000979076 ], [ -121.863875000355335, 37.351613000257331 ], [ -121.865064999578465, 37.352740000443482 ], [ -121.866364999459336, 37.353840000487459 ], [ -121.866765000522307, 37.354240000462099 ], [ -121.867364999593647, 37.354640000901284 ], [ -121.868064999813811, 37.355440001101755 ], [ -121.869264999966177, 37.356640000474634 ], [ -121.871666000017612, 37.358540000752654 ], [ -121.872189000390634, 37.358836000760363 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 592, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.852316000184445, 37.349281000954406 ], [ -121.852152000050395, 37.349140000883338 ], [ -121.852081999874372, 37.349080000674526 ], [ -121.85146500042471, 37.348540000607898 ], [ -121.850893999745807, 37.347926000607181 ], [ -121.850164999479347, 37.347140000336871 ], [ -121.849978999718786, 37.346977000683324 ], [ -121.849364999741923, 37.346440000500934 ], [ -121.848904999617233, 37.345904001039735 ], [ -121.848765000406473, 37.345740000470094 ], [ -121.848163999404136, 37.345040000258493 ], [ -121.847463999518794, 37.344340000485836 ], [ -121.847063999713754, 37.343840000289781 ], [ -121.8468639995383, 37.343740000996583 ], [ -121.846663999766406, 37.343540001095306 ], [ -121.845763999809165, 37.342740000342062 ], [ -121.844963999562523, 37.341840000914353 ], [ -121.84316400010141, 37.340141000356112 ], [ -121.845764000329353, 37.338341000409265 ], [ -121.846964000295316, 37.337541000622899 ], [ -121.847975000384807, 37.336855000287052 ], [ -121.848564000162227, 37.336441000915016 ], [ -121.848864000498423, 37.336241000276942 ], [ -121.851564999771639, 37.339141000291505 ], [ -121.851837999986486, 37.339384000642767 ], [ -121.852464999508754, 37.339941000753932 ], [ -121.853321000335185, 37.340873000400059 ], [ -121.855364999915807, 37.342841000326636 ], [ -121.855468000309045, 37.342995000789607 ], [ -121.856165000248239, 37.344040001081844 ], [ -121.857076999720036, 37.344920001031937 ], [ -121.857425000344662, 37.345255000244535 ], [ -121.858964999419342, 37.346740000265719 ], [ -121.859264999642576, 37.347040000611194 ], [ -121.859965000394226, 37.347640000237433 ], [ -121.860590999945643, 37.348336000565396 ], [ -121.860710999862661, 37.348469000289626 ], [ -121.860864999787651, 37.34864000073911 ], [ -121.861165000319389, 37.348940000786307 ], [ -121.861235999412727, 37.349020000663458 ], [ -121.861964999660429, 37.349840000502404 ], [ -121.861884000340311, 37.349881001072532 ], [ -121.861565000321221, 37.350040000666333 ], [ -121.861164999995964, 37.350240000347618 ], [ -121.860864999423313, 37.350340000631888 ], [ -121.85926500014773, 37.351040001080236 ], [ -121.857365000095584, 37.3519400008784 ], [ -121.85576499943511, 37.352740000386945 ], [ -121.855065000238667, 37.351940001115402 ], [ -121.854364999866576, 37.35124000061623 ], [ -121.853564999582844, 37.350540000236293 ], [ -121.852965000484389, 37.349840000752749 ], [ -121.85274299966747, 37.349649000446341 ], [ -121.852316000184445, 37.349281000954406 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 590, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.839564000107799, 37.351540000488981 ], [ -121.838763999498369, 37.353240000730437 ], [ -121.837764000083524, 37.352240001057829 ], [ -121.837064000112306, 37.351440001076419 ], [ -121.836663999703617, 37.351140000862912 ], [ -121.835021999601153, 37.349416000734664 ], [ -121.834663999976641, 37.349040000855837 ], [ -121.833563999642124, 37.347840000663901 ], [ -121.832963999524921, 37.347040000793619 ], [ -121.834264000123881, 37.346140000876645 ], [ -121.834963999555114, 37.345640000649816 ], [ -121.835564000031695, 37.345240000728268 ], [ -121.837763999538581, 37.343740000711158 ], [ -121.838164000170224, 37.343540000861388 ], [ -121.839077999481916, 37.342893000966406 ], [ -121.840564000065868, 37.341840000483515 ], [ -121.84316400010141, 37.340141000356112 ], [ -121.844963999562523, 37.341840000914353 ], [ -121.845763999809165, 37.342740000342062 ], [ -121.846663999766406, 37.343540001095306 ], [ -121.8468639995383, 37.343740000996583 ], [ -121.845282000332205, 37.344794000357894 ], [ -121.844763999964741, 37.345140000646325 ], [ -121.844164000057077, 37.345540000746581 ], [ -121.843664000346777, 37.345940000995803 ], [ -121.841714000258222, 37.347500000524832 ], [ -121.841480000372542, 37.347688000869418 ], [ -121.841163999604447, 37.347940001098749 ], [ -121.840458000075245, 37.349528000876653 ], [ -121.839849999473245, 37.350896000732298 ], [ -121.839564000107799, 37.351540000488981 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 595, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.846723999746544, 37.367731000894082 ], [ -121.846565000387073, 37.367840000298955 ], [ -121.846365000162905, 37.368040000642203 ], [ -121.845884999889051, 37.368284001034503 ], [ -121.844465000153889, 37.368940001070918 ], [ -121.843565000320936, 37.369540000641884 ], [ -121.843064999631068, 37.369940001047993 ], [ -121.84236499953164, 37.369240000561639 ], [ -121.842321999817742, 37.369154000320584 ], [ -121.842265000068878, 37.369040000855229 ], [ -121.841964999449573, 37.368840000488149 ], [ -121.841665000490949, 37.368440000635424 ], [ -121.840665000000698, 37.367540000852294 ], [ -121.840063999910441, 37.366840000918536 ], [ -121.838963999860823, 37.365740000452746 ], [ -121.838763999523962, 37.365640000997161 ], [ -121.838444999851092, 37.365321000737268 ], [ -121.838222000026789, 37.365098000522934 ], [ -121.837964000268812, 37.364840000451323 ], [ -121.837475000101747, 37.364281000698114 ], [ -121.837263999832146, 37.364040000638703 ], [ -121.836164000390923, 37.36284000048024 ], [ -121.835764000251842, 37.362340000345533 ], [ -121.837177999572759, 37.361659001089542 ], [ -121.838463999988917, 37.361040000718404 ], [ -121.83915999968562, 37.360692000520132 ], [ -121.839664000509401, 37.360440000740894 ], [ -121.840042000328992, 37.36043300073846 ], [ -121.840320999450611, 37.360326000535515 ], [ -121.840686000083863, 37.360057000499154 ], [ -121.841164000346524, 37.359740000691758 ], [ -121.841463999915064, 37.359640000510808 ], [ -121.841664000029027, 37.359540000878717 ], [ -121.841964000408396, 37.359440000324724 ], [ -121.842663999450153, 37.359040000255305 ], [ -121.843064000017009, 37.358940001026177 ], [ -121.843864999905463, 37.35854000102308 ], [ -121.8453649996069, 37.357740000960504 ], [ -121.84706499972296, 37.356940000632306 ], [ -121.848065000417478, 37.358340000825216 ], [ -121.848465000341406, 37.359140000778034 ], [ -121.849065000427672, 37.359740000607992 ], [ -121.849615000446121, 37.360290000488135 ], [ -121.84986500019987, 37.360540001062667 ], [ -121.850264999624429, 37.360940001063916 ], [ -121.850664999874979, 37.361340000624949 ], [ -121.851264999653537, 37.361940001035627 ], [ -121.851564999715308, 37.362240000554571 ], [ -121.852165000142833, 37.362840000923327 ], [ -121.852365000383671, 37.363140000384263 ], [ -121.852865000188046, 37.363540001116426 ], [ -121.852264999938853, 37.364040000735777 ], [ -121.851425999666844, 37.36450700106495 ], [ -121.850365000161929, 37.365340000275332 ], [ -121.848657000392535, 37.366432000840007 ], [ -121.84710000018805, 37.367480001036419 ], [ -121.847096000228333, 37.367480000799787 ], [ -121.846723999746544, 37.367731000894082 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 596, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.857364999575267, 37.37514000097498 ], [ -121.855365000058086, 37.37654000032682 ], [ -121.854765000065768, 37.376940000347879 ], [ -121.85294300023817, 37.374940001001555 ], [ -121.851931000316128, 37.373830000249491 ], [ -121.850664999785621, 37.37244000053591 ], [ -121.850351000245809, 37.371969000734772 ], [ -121.850264999802235, 37.371840000688373 ], [ -121.849064999889265, 37.370740000992178 ], [ -121.848565000157279, 37.37024000082851 ], [ -121.848065000279234, 37.369640000492765 ], [ -121.846565000387073, 37.367840000298955 ], [ -121.846723999746544, 37.367731000894082 ], [ -121.847096000228333, 37.367480000799787 ], [ -121.84710000018805, 37.367480001036419 ], [ -121.848657000392535, 37.366432000840007 ], [ -121.850365000161929, 37.365340000275332 ], [ -121.851425999666844, 37.36450700106495 ], [ -121.852264999938853, 37.364040000735777 ], [ -121.852865000188046, 37.363540001116426 ], [ -121.854187999637716, 37.362538000626841 ], [ -121.855041999752189, 37.362233000717985 ], [ -121.855804999692609, 37.36272900028397 ], [ -121.857467999771302, 37.364377000974223 ], [ -121.857565000491419, 37.36454000071101 ], [ -121.857964999663722, 37.364940000970662 ], [ -121.858365000106517, 37.365540000852647 ], [ -121.858665000508068, 37.36694000068924 ], [ -121.858756999555354, 37.367026001098161 ], [ -121.859747999474138, 37.367956000738936 ], [ -121.860308000024574, 37.368488000907 ], [ -121.860580999412903, 37.368634000332833 ], [ -121.861130000383767, 37.369077000559379 ], [ -121.862228999670663, 37.370297000580088 ], [ -121.862360999755325, 37.370443000316889 ], [ -121.862443000288764, 37.370534000559047 ], [ -121.8632209998012, 37.370992000794104 ], [ -121.861865000213356, 37.372040000260149 ], [ -121.860976000150529, 37.372623000552053 ], [ -121.858964999731498, 37.37394000077218 ], [ -121.857632000189895, 37.374940000303717 ], [ -121.857364999575267, 37.37514000097498 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 630, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.843065000297202, 37.384639000681339 ], [ -121.84316500005275, 37.384839000268833 ], [ -121.843359000066869, 37.385097000884279 ], [ -121.843465000025972, 37.385239000281366 ], [ -121.843720999807346, 37.385778000451509 ], [ -121.843865000381285, 37.386039000346138 ], [ -121.843787999726928, 37.386809000927052 ], [ -121.843765000060202, 37.38703900048985 ], [ -121.843164999913796, 37.387639000274248 ], [ -121.842264999984735, 37.388139000485481 ], [ -121.84225299948605, 37.388319000353697 ], [ -121.842164999729306, 37.389639000717168 ], [ -121.842198000018513, 37.389713000769561 ], [ -121.842565000269929, 37.390539000547626 ], [ -121.841564999846881, 37.390739000937543 ], [ -121.84106500049613, 37.390839001106336 ], [ -121.838464999698672, 37.391539000516403 ], [ -121.836564999422578, 37.391739000616724 ], [ -121.835621000364583, 37.392022000578343 ], [ -121.835564999838752, 37.392039000746429 ], [ -121.83540699967125, 37.392138000988055 ], [ -121.835290000465264, 37.392211000340318 ], [ -121.834765000070618, 37.392539001001225 ], [ -121.834464999581996, 37.392639000673 ], [ -121.834165000042859, 37.392239000964864 ], [ -121.833865000267878, 37.391839000489497 ], [ -121.833364999700578, 37.391139000899557 ], [ -121.833164999614212, 37.390839000412434 ], [ -121.832665000472872, 37.390039000268963 ], [ -121.832440999481605, 37.389703000261065 ], [ -121.832264999503963, 37.389439001056523 ], [ -121.83176400017517, 37.388739000999401 ], [ -121.831063999961358, 37.387739001000881 ], [ -121.830863999682052, 37.387439001088339 ], [ -121.830663999784221, 37.387239000254525 ], [ -121.830563999856921, 37.387039000293967 ], [ -121.829964000232522, 37.386039000260851 ], [ -121.828963999517356, 37.384739000287475 ], [ -121.82877199974692, 37.384429000922999 ], [ -121.827160000248938, 37.381818000671117 ], [ -121.826971000171284, 37.381512000274583 ], [ -121.82686400034477, 37.381339001070678 ], [ -121.82699199955141, 37.381275000740608 ], [ -121.827064000063075, 37.381239000896883 ], [ -121.827663999856853, 37.380839000630864 ], [ -121.827949999749791, 37.380601000894558 ], [ -121.828263999652691, 37.380339000447272 ], [ -121.829064000285044, 37.379739000712775 ], [ -121.829563999874694, 37.37943900028629 ], [ -121.830363999508151, 37.378939000977127 ], [ -121.830864000495538, 37.378539000801467 ], [ -121.831263999818972, 37.378339000721439 ], [ -121.831663999952255, 37.378039000601547 ], [ -121.831771000343664, 37.377766000340344 ], [ -121.832137999474512, 37.378162000267317 ], [ -121.832397000068354, 37.378048000801485 ], [ -121.832064000262307, 37.377739000895204 ], [ -121.832320999977128, 37.377506000999468 ], [ -121.832963999667228, 37.377139000891539 ], [ -121.833479999922218, 37.3765910009718 ], [ -121.833763999659126, 37.37653900096889 ], [ -121.833964000009288, 37.376439000609899 ], [ -121.834768000174876, 37.37592700086136 ], [ -121.835063999514759, 37.375739000663131 ], [ -121.83516399974387, 37.37563900093599 ], [ -121.83536400035095, 37.375539000870013 ], [ -121.835576999897043, 37.375368000408336 ], [ -121.835864000507755, 37.375139000598459 ], [ -121.836501999684657, 37.375980000845253 ], [ -121.83660799989957, 37.376118000884198 ], [ -121.83676400010178, 37.376339001001234 ], [ -121.836865000402, 37.376539000511976 ], [ -121.837365000182302, 37.377239000914543 ], [ -121.837798999956519, 37.377854000805158 ], [ -121.838565000057301, 37.378939001055947 ], [ -121.83886500041001, 37.379239000551777 ], [ -121.83916499993245, 37.37963900070325 ], [ -121.839965000500911, 37.380739000260007 ], [ -121.840565000252155, 37.381439000900102 ], [ -121.840681000076515, 37.381555000874236 ], [ -121.840865000253061, 37.381739000729176 ], [ -121.841064999684022, 37.381939000788762 ], [ -121.841311999666857, 37.38233400087946 ], [ -121.84142699973863, 37.382518000613743 ], [ -121.841564999724525, 37.382739000961777 ], [ -121.841864999744004, 37.383039000958185 ], [ -121.84206499957773, 37.383239000231825 ], [ -121.842142999460833, 37.383343000317097 ], [ -121.842665000063818, 37.384039000610372 ], [ -121.843065000297202, 37.384639000681339 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 631, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.847988999634993, 37.380230000683561 ], [ -121.848664000350709, 37.379907001036571 ], [ -121.84873999947402, 37.379887000320899 ], [ -121.849580000212129, 37.37966300104376 ], [ -121.849864999782483, 37.37963900098552 ], [ -121.850776999803159, 37.379487000888645 ], [ -121.851064999591003, 37.379439001048276 ], [ -121.851394999800362, 37.37924600027975 ], [ -121.852009000235498, 37.378809000569085 ], [ -121.852052999570176, 37.37877700030532 ], [ -121.852120000319388, 37.378729001039623 ], [ -121.852234000189767, 37.378673000681466 ], [ -121.852370000294485, 37.378569000298072 ], [ -121.852753000232681, 37.378271000371512 ], [ -121.853318999940029, 37.377830001041794 ], [ -121.853516000373716, 37.377683000324822 ], [ -121.854854999884168, 37.377021000849801 ], [ -121.855865000113823, 37.377940000762955 ], [ -121.857864999546493, 37.379839000463839 ], [ -121.857265000121672, 37.380139000476895 ], [ -121.857365000437127, 37.380339001043701 ], [ -121.857347999983133, 37.380439000587479 ], [ -121.857264999551035, 37.380939000460657 ], [ -121.855760999897498, 37.382067000328881 ], [ -121.855665000448042, 37.382139000310197 ], [ -121.855865000443742, 37.382139000474019 ], [ -121.856564999755889, 37.382839000577782 ], [ -121.855465000108964, 37.383639000989163 ], [ -121.853727999516494, 37.384797000646067 ], [ -121.853664999535425, 37.384839000577543 ], [ -121.853573999847086, 37.384975000682992 ], [ -121.853264999440256, 37.385439000248944 ], [ -121.852764999445711, 37.386339000628695 ], [ -121.852565000147848, 37.386539000725506 ], [ -121.852065000319001, 37.386839001069902 ], [ -121.850865000403388, 37.387839000616296 ], [ -121.849965000234107, 37.388539000350136 ], [ -121.849899999570511, 37.38866000064349 ], [ -121.849564999493211, 37.38873900024555 ], [ -121.849044999951644, 37.388630000349103 ], [ -121.848740000011631, 37.388630000952737 ], [ -121.848601999836163, 37.388591000313788 ], [ -121.848209000427516, 37.388480000302806 ], [ -121.846464999760357, 37.38903900072318 ], [ -121.844065000157826, 37.389839000896437 ], [ -121.842565000269929, 37.390539000547626 ], [ -121.842198000018513, 37.389713000769561 ], [ -121.842164999729306, 37.389639000717168 ], [ -121.84225299948605, 37.388319000353697 ], [ -121.842264999984735, 37.388139000485481 ], [ -121.843164999913796, 37.387639000274248 ], [ -121.843765000060202, 37.38703900048985 ], [ -121.843787999726928, 37.386809000927052 ], [ -121.843865000381285, 37.386039000346138 ], [ -121.843720999807346, 37.385778000451509 ], [ -121.843465000025972, 37.385239000281366 ], [ -121.843359000066869, 37.385097000884279 ], [ -121.84316500005275, 37.384839000268833 ], [ -121.843065000297202, 37.384639000681339 ], [ -121.842665000063818, 37.384039000610372 ], [ -121.843164999952748, 37.383739000367044 ], [ -121.843765000345996, 37.383239000491983 ], [ -121.84466500037388, 37.38263900097698 ], [ -121.845265000005554, 37.382139000469863 ], [ -121.845965000450448, 37.381639000281467 ], [ -121.846678000005497, 37.380998000390903 ], [ -121.84701100012937, 37.380787001047437 ], [ -121.847585999958937, 37.380423000580443 ], [ -121.847988999634993, 37.380230000683561 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 633, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.837263999832146, 37.364040000638703 ], [ -121.837475000101747, 37.364281000698114 ], [ -121.837964000268812, 37.364840000451323 ], [ -121.838222000026789, 37.365098000522934 ], [ -121.838444999851092, 37.365321000737268 ], [ -121.838763999523962, 37.365640000997161 ], [ -121.838963999860823, 37.365740000452746 ], [ -121.840063999910441, 37.366840000918536 ], [ -121.840665000000698, 37.367540000852294 ], [ -121.841665000490949, 37.368440000635424 ], [ -121.841964999449573, 37.368840000488149 ], [ -121.842265000068878, 37.369040000855229 ], [ -121.842321999817742, 37.369154000320584 ], [ -121.84236499953164, 37.369240000561639 ], [ -121.843064999631068, 37.369940001047993 ], [ -121.841865000346914, 37.370740000888425 ], [ -121.841644999828986, 37.371053000615973 ], [ -121.840906999847078, 37.371575000561101 ], [ -121.840807999552851, 37.37164500057537 ], [ -121.840524000212937, 37.371845001060819 ], [ -121.8401649999619, 37.372098000300923 ], [ -121.839360999495511, 37.372775000319166 ], [ -121.839165000515692, 37.372940000508976 ], [ -121.838974999558516, 37.37286800043092 ], [ -121.83796499966401, 37.373740000283718 ], [ -121.837563999620073, 37.374040000728982 ], [ -121.836173000431828, 37.374939000762204 ], [ -121.835864000507755, 37.375139000598459 ], [ -121.835576999897043, 37.375368000408336 ], [ -121.83536400035095, 37.375539000870013 ], [ -121.83516399974387, 37.37563900093599 ], [ -121.835063999514759, 37.375739000663131 ], [ -121.834768000174876, 37.37592700086136 ], [ -121.833964000009288, 37.376439000609899 ], [ -121.833763999659126, 37.37653900096889 ], [ -121.833479999922218, 37.3765910009718 ], [ -121.832963999667228, 37.377139000891539 ], [ -121.832320999977128, 37.377506000999468 ], [ -121.832064000262307, 37.377739000895204 ], [ -121.832397000068354, 37.378048000801485 ], [ -121.832137999474512, 37.378162000267317 ], [ -121.831771000343664, 37.377766000340344 ], [ -121.831663999952255, 37.378039000601547 ], [ -121.831263999818972, 37.378339000721439 ], [ -121.830864000495538, 37.378539000801467 ], [ -121.830363999508151, 37.378939000977127 ], [ -121.829563999874694, 37.37943900028629 ], [ -121.829064000285044, 37.379739000712775 ], [ -121.828263999652691, 37.380339000447272 ], [ -121.827964000296291, 37.380139000924871 ], [ -121.827801999466956, 37.379950000372908 ], [ -121.826763999973807, 37.37873900087218 ], [ -121.826463999629752, 37.378539000258947 ], [ -121.825964000454135, 37.377939000951969 ], [ -121.825464000270046, 37.377439000847808 ], [ -121.824063999760284, 37.376939000595669 ], [ -121.823664000279109, 37.376739000737722 ], [ -121.821563999866697, 37.376039000897784 ], [ -121.821663999444411, 37.375839000587 ], [ -121.822243000377952, 37.374939000747666 ], [ -121.822563999643947, 37.37443900077313 ], [ -121.822864000142673, 37.373839000382276 ], [ -121.823363999940682, 37.373139000462643 ], [ -121.823863999991488, 37.372339000494506 ], [ -121.824163999403822, 37.371739000961462 ], [ -121.824364000476379, 37.371439000426442 ], [ -121.824863999834818, 37.370640000833525 ], [ -121.825164000003127, 37.370140000845382 ], [ -121.82556400011859, 37.369440000584135 ], [ -121.825764000281566, 37.369240000743744 ], [ -121.826263999479906, 37.368340000876977 ], [ -121.826363999554246, 37.368140000689074 ], [ -121.826563999498347, 37.36764000033201 ], [ -121.827063999540442, 37.367040000355345 ], [ -121.827463999827671, 37.366340000280907 ], [ -121.828264000479152, 37.365840000617688 ], [ -121.831241999453965, 37.364396000863749 ], [ -121.831564000136993, 37.364240000966021 ], [ -121.831618999447059, 37.364156000669162 ], [ -121.831963999923516, 37.364140000912776 ], [ -121.832262000290612, 37.364005000271 ], [ -121.833063999989477, 37.36364000046089 ], [ -121.833433000179937, 37.36345600029594 ], [ -121.834064000170642, 37.363140000704149 ], [ -121.834364000039272, 37.363040000734273 ], [ -121.835163999962134, 37.362640000254935 ], [ -121.835764000251842, 37.362340000345533 ], [ -121.836164000390923, 37.36284000048024 ], [ -121.837263999832146, 37.364040000638703 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 634, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.830367999930672, 37.355237001042845 ], [ -121.830563999938875, 37.355640000629037 ], [ -121.830663999939475, 37.355840000412009 ], [ -121.830928999452169, 37.356171000278252 ], [ -121.831064000425542, 37.356340000720955 ], [ -121.831364000203436, 37.356740000487186 ], [ -121.831864000504993, 37.357440000779448 ], [ -121.832229000432676, 37.357945000886723 ], [ -121.832421999493434, 37.358239000387066 ], [ -121.832482000241953, 37.358331001038849 ], [ -121.832463999818359, 37.358340000776522 ], [ -121.832518999721273, 37.358450000444726 ], [ -121.832564000365551, 37.358540000734358 ], [ -121.832864000316945, 37.358840000380546 ], [ -121.833281000361495, 37.3595070004625 ], [ -121.833363999799346, 37.359640000480937 ], [ -121.83354100035119, 37.359746000503712 ], [ -121.833863999423698, 37.360240000476168 ], [ -121.834063999716548, 37.360640000597733 ], [ -121.834263999825808, 37.360940000491887 ], [ -121.835264000469309, 37.361940000915553 ], [ -121.835764000251842, 37.362340000345533 ], [ -121.835163999962134, 37.362640000254935 ], [ -121.834364000039272, 37.363040000734273 ], [ -121.834064000170642, 37.363140000704149 ], [ -121.833433000179937, 37.36345600029594 ], [ -121.833063999989477, 37.36364000046089 ], [ -121.832262000290612, 37.364005000271 ], [ -121.831963999923516, 37.364140000912776 ], [ -121.831618999447059, 37.364156000669162 ], [ -121.831564000136993, 37.364240000966021 ], [ -121.831241999453965, 37.364396000863749 ], [ -121.828264000479152, 37.365840000617688 ], [ -121.827764000472598, 37.365140000320039 ], [ -121.827163999534449, 37.36454000105973 ], [ -121.826464000090809, 37.363640000540151 ], [ -121.825963999915601, 37.36324000090611 ], [ -121.825684000107387, 37.362960000328449 ], [ -121.825063999539708, 37.362340000292647 ], [ -121.824963999521657, 37.362140000535241 ], [ -121.824564000474936, 37.361740000646115 ], [ -121.824499999484203, 37.361676000527339 ], [ -121.824263999994372, 37.361440000958872 ], [ -121.823807999709345, 37.360919000580637 ], [ -121.823626000247899, 37.360711000510761 ], [ -121.823572000474314, 37.36065000077302 ], [ -121.822863999784971, 37.359840000647615 ], [ -121.822363999479037, 37.359340000490079 ], [ -121.821663999619034, 37.358540001085146 ], [ -121.821394000520868, 37.358250000436449 ], [ -121.820263999566706, 37.357040000471748 ], [ -121.819464000241723, 37.356240000964135 ], [ -121.820263999977385, 37.35564000030864 ], [ -121.822363999404061, 37.354340000839613 ], [ -121.822591999913357, 37.354158000236971 ], [ -121.822863999879687, 37.353940000485622 ], [ -121.822934999527305, 37.35388800041661 ], [ -121.82466399975543, 37.352640000693704 ], [ -121.825664000245752, 37.351940000266659 ], [ -121.826069000059704, 37.351656000457865 ], [ -121.826475999738648, 37.351372001041817 ], [ -121.826664000121141, 37.351240001077414 ], [ -121.827325999889794, 37.350909000307361 ], [ -121.82746400029211, 37.35084000085876 ], [ -121.828012000352288, 37.351705000402248 ], [ -121.82936399952392, 37.353840000633738 ], [ -121.829448000280536, 37.354023000693672 ], [ -121.829619999674691, 37.35429900094239 ], [ -121.830269000184416, 37.355141001054882 ], [ -121.830279999483366, 37.355155000367738 ], [ -121.830367999930672, 37.355237001042845 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 635, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.816764000343667, 37.368040000826866 ], [ -121.81706400046879, 37.367740000875592 ], [ -121.817664000076334, 37.367440001041039 ], [ -121.817963999424563, 37.36724000105044 ], [ -121.818464000147699, 37.366940000731191 ], [ -121.818864000297864, 37.366640000937736 ], [ -121.819522000183198, 37.366170000987161 ], [ -121.819564000351804, 37.366140001017918 ], [ -121.819804999767939, 37.366002000623688 ], [ -121.820106999515303, 37.365829001038982 ], [ -121.820263999414294, 37.365740001009513 ], [ -121.8211639995273, 37.365040000411909 ], [ -121.821364000094022, 37.364940000356533 ], [ -121.822164000058123, 37.364340000868481 ], [ -121.822363999689571, 37.364240000880407 ], [ -121.8230750001958, 37.363740000854065 ], [ -121.82496800009865, 37.362407001065925 ], [ -121.825063999539708, 37.362340000292647 ], [ -121.825684000107387, 37.362960000328449 ], [ -121.825963999915601, 37.36324000090611 ], [ -121.826464000090809, 37.363640000540151 ], [ -121.827163999534449, 37.36454000105973 ], [ -121.827764000472598, 37.365140000320039 ], [ -121.828264000479152, 37.365840000617688 ], [ -121.827463999827671, 37.366340000280907 ], [ -121.827063999540442, 37.367040000355345 ], [ -121.826563999498347, 37.36764000033201 ], [ -121.826363999554246, 37.368140000689074 ], [ -121.826263999479906, 37.368340000876977 ], [ -121.825764000281566, 37.369240000743744 ], [ -121.82556400011859, 37.369440000584135 ], [ -121.825164000003127, 37.370140000845382 ], [ -121.824863999834818, 37.370640000833525 ], [ -121.824364000476379, 37.371439000426442 ], [ -121.824163999403822, 37.371739000961462 ], [ -121.823863999991488, 37.372339000494506 ], [ -121.823363999940682, 37.373139000462643 ], [ -121.822864000142673, 37.373839000382276 ], [ -121.822563999643947, 37.37443900077313 ], [ -121.822243000377952, 37.374939000747666 ], [ -121.821663999444411, 37.375839000587 ], [ -121.820163999766692, 37.375139000845131 ], [ -121.819697000267837, 37.374939000568354 ], [ -121.819463999514028, 37.374839000667869 ], [ -121.818118999574978, 37.37429900053305 ], [ -121.817682999571417, 37.374124000545251 ], [ -121.817536000389708, 37.374065000340956 ], [ -121.817394000334119, 37.374008000437598 ], [ -121.816986000104805, 37.373844001084358 ], [ -121.816745000273514, 37.373734000249151 ], [ -121.816443000367784, 37.3735960004595 ], [ -121.815990999831229, 37.373389000780371 ], [ -121.815914999518469, 37.373354000808952 ], [ -121.815663999474324, 37.373239000699307 ], [ -121.815432000051587, 37.37315500072134 ], [ -121.814564000119219, 37.372839000769687 ], [ -121.813764000334501, 37.372439000713079 ], [ -121.81126399998908, 37.371439000410788 ], [ -121.811963999558884, 37.370739000688239 ], [ -121.813163999937984, 37.370239000590715 ], [ -121.813963999584473, 37.369939000722155 ], [ -121.814664000226585, 37.369339000348234 ], [ -121.816213000231713, 37.368381000632844 ], [ -121.816764000343667, 37.368040000826866 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 636, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.817664000076334, 37.367440001041039 ], [ -121.81706400046879, 37.367740000875592 ], [ -121.816764000343667, 37.368040000826866 ], [ -121.816213000231713, 37.368381000632844 ], [ -121.814664000226585, 37.369339000348234 ], [ -121.813963999584473, 37.369939000722155 ], [ -121.813163999937984, 37.370239000590715 ], [ -121.811963999558884, 37.370739000688239 ], [ -121.81126399998908, 37.371439000410788 ], [ -121.81006299962948, 37.370839000923468 ], [ -121.809592000296576, 37.370456000244346 ], [ -121.809339999396499, 37.370251000974058 ], [ -121.809186999405483, 37.370142000594399 ], [ -121.808614000385958, 37.369733001032685 ], [ -121.808114000487777, 37.369376000580431 ], [ -121.808062999745232, 37.369339000522977 ], [ -121.80766299970648, 37.368939001061023 ], [ -121.807372999780213, 37.36879400032587 ], [ -121.807076999880621, 37.368646000910701 ], [ -121.806863000064368, 37.368539000583766 ], [ -121.805363000009535, 37.367939000304759 ], [ -121.805062999476149, 37.367639000337633 ], [ -121.805563000390634, 37.367039000610539 ], [ -121.805863000334327, 37.366340001105939 ], [ -121.805962999653673, 37.366140000448347 ], [ -121.807562999544302, 37.364340000963182 ], [ -121.807963000356438, 37.364140000769169 ], [ -121.808462999832102, 37.363940000846931 ], [ -121.809563000020106, 37.363640000326072 ], [ -121.81126300024917, 37.363640000650847 ], [ -121.812163000109805, 37.362740000987415 ], [ -121.812363000402854, 37.362540000296264 ], [ -121.812263000175307, 37.361440000383887 ], [ -121.812233999702102, 37.361237000398617 ], [ -121.812163000304423, 37.360740000709718 ], [ -121.812463000053029, 37.360440000280128 ], [ -121.812717999803283, 37.360295000835173 ], [ -121.813162999487872, 37.360040000380053 ], [ -121.813639000472833, 37.359707001061814 ], [ -121.813731000193144, 37.359642001001745 ], [ -121.814163000323703, 37.35934000040757 ], [ -121.814562999959932, 37.35904000110375 ], [ -121.815463000007867, 37.358840001071243 ], [ -121.815863999533775, 37.358640000729622 ], [ -121.816064000331906, 37.358440000710132 ], [ -121.816393000382192, 37.358231000799719 ], [ -121.8169700000185, 37.357863000874865 ], [ -121.817163999690607, 37.35774000054078 ], [ -121.817564000282502, 37.357440000781921 ], [ -121.819464000241723, 37.356240000964135 ], [ -121.820263999566706, 37.357040000471748 ], [ -121.821394000520868, 37.358250000436449 ], [ -121.821663999619034, 37.358540001085146 ], [ -121.822363999479037, 37.359340000490079 ], [ -121.822863999784971, 37.359840000647615 ], [ -121.823572000474314, 37.36065000077302 ], [ -121.823626000247899, 37.360711000510761 ], [ -121.823807999709345, 37.360919000580637 ], [ -121.824263999994372, 37.361440000958872 ], [ -121.824499999484203, 37.361676000527339 ], [ -121.824564000474936, 37.361740000646115 ], [ -121.824963999521657, 37.362140000535241 ], [ -121.825063999539708, 37.362340000292647 ], [ -121.82496800009865, 37.362407001065925 ], [ -121.8230750001958, 37.363740000854065 ], [ -121.822363999689571, 37.364240000880407 ], [ -121.822164000058123, 37.364340000868481 ], [ -121.821364000094022, 37.364940000356533 ], [ -121.8211639995273, 37.365040000411909 ], [ -121.820263999414294, 37.365740001009513 ], [ -121.820106999515303, 37.365829001038982 ], [ -121.819804999767939, 37.366002000623688 ], [ -121.819564000351804, 37.366140001017918 ], [ -121.819522000183198, 37.366170000987161 ], [ -121.818864000297864, 37.366640000937736 ], [ -121.818464000147699, 37.366940000731191 ], [ -121.817963999424563, 37.36724000105044 ], [ -121.817664000076334, 37.367440001041039 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 629, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.809339999396499, 37.370251000974058 ], [ -121.809592000296576, 37.370456000244346 ], [ -121.81006299962948, 37.370839000923468 ], [ -121.81126399998908, 37.371439000410788 ], [ -121.813764000334501, 37.372439000713079 ], [ -121.814564000119219, 37.372839000769687 ], [ -121.815432000051587, 37.37315500072134 ], [ -121.815663999474324, 37.373239000699307 ], [ -121.815914999518469, 37.373354000808952 ], [ -121.815990999831229, 37.373389000780371 ], [ -121.816443000367784, 37.3735960004595 ], [ -121.816745000273514, 37.373734000249151 ], [ -121.816986000104805, 37.373844001084358 ], [ -121.817394000334119, 37.374008000437598 ], [ -121.817536000389708, 37.374065000340956 ], [ -121.817682999571417, 37.374124000545251 ], [ -121.818118999574978, 37.37429900053305 ], [ -121.819463999514028, 37.374839000667869 ], [ -121.819697000267837, 37.374939000568354 ], [ -121.820163999766692, 37.375139000845131 ], [ -121.821663999444411, 37.375839000587 ], [ -121.821563999866697, 37.376039000897784 ], [ -121.823664000279109, 37.376739000737722 ], [ -121.824063999760284, 37.376939000595669 ], [ -121.825464000270046, 37.377439000847808 ], [ -121.825964000454135, 37.377939000951969 ], [ -121.826463999629752, 37.378539000258947 ], [ -121.826763999973807, 37.37873900087218 ], [ -121.827801999466956, 37.379950000372908 ], [ -121.827964000296291, 37.380139000924871 ], [ -121.828263999652691, 37.380339000447272 ], [ -121.827949999749791, 37.380601000894558 ], [ -121.827663999856853, 37.380839000630864 ], [ -121.827064000063075, 37.381239000896883 ], [ -121.82699199955141, 37.381275000740608 ], [ -121.82686400034477, 37.381339001070678 ], [ -121.826971000171284, 37.381512000274583 ], [ -121.827160000248938, 37.381818000671117 ], [ -121.82877199974692, 37.384429000922999 ], [ -121.828963999517356, 37.384739000287475 ], [ -121.829964000232522, 37.386039000260851 ], [ -121.830563999856921, 37.387039000293967 ], [ -121.830663999784221, 37.387239000254525 ], [ -121.830863999682052, 37.387439001088339 ], [ -121.831063999961358, 37.387739001000881 ], [ -121.83176400017517, 37.388739000999401 ], [ -121.832264999503963, 37.389439001056523 ], [ -121.832440999481605, 37.389703000261065 ], [ -121.832665000472872, 37.390039000268963 ], [ -121.833164999614212, 37.390839000412434 ], [ -121.833364999700578, 37.391139000899557 ], [ -121.833865000267878, 37.391839000489497 ], [ -121.834165000042859, 37.392239000964864 ], [ -121.834464999581996, 37.392639000673 ], [ -121.833465000150667, 37.393039001125189 ], [ -121.832964999808482, 37.393339000628139 ], [ -121.832264999923012, 37.393739000593499 ], [ -121.830764999728146, 37.393739000493049 ], [ -121.829803000517401, 37.393940000306088 ], [ -121.829497999516249, 37.394054000366523 ], [ -121.829436999534025, 37.394329000649932 ], [ -121.828767999882032, 37.394808000855882 ], [ -121.828764999896421, 37.394810000938911 ], [ -121.828536999720285, 37.395008001119969 ], [ -121.828264000010563, 37.395239000640274 ], [ -121.827934999814943, 37.395223001081447 ], [ -121.827464000228602, 37.395199000997472 ], [ -121.826264000014419, 37.395139000849227 ], [ -121.826264000135552, 37.395914000816212 ], [ -121.826263999953937, 37.396139000437273 ], [ -121.82616400000974, 37.397239000440401 ], [ -121.82466399998512, 37.396739000317346 ], [ -121.824263999988801, 37.396439000455288 ], [ -121.821564000174178, 37.395239000654016 ], [ -121.82066400005543, 37.394539000612141 ], [ -121.819863999642095, 37.394939000661154 ], [ -121.818563999624217, 37.393939000307832 ], [ -121.81486399954251, 37.393939000571791 ], [ -121.812264000327673, 37.394639000308779 ], [ -121.811864000389832, 37.394539000315305 ], [ -121.813364000213198, 37.39343900108868 ], [ -121.81676400001794, 37.392539000331254 ], [ -121.817363999962666, 37.392139000945889 ], [ -121.817863999947789, 37.390439001019772 ], [ -121.818063999695497, 37.38983900040261 ], [ -121.817864000040942, 37.389439000403698 ], [ -121.815664000451747, 37.388639000985876 ], [ -121.815064000014502, 37.388539000393621 ], [ -121.814667999483717, 37.386955000400455 ], [ -121.814663999650094, 37.386939000403117 ], [ -121.816464000294644, 37.384139000629027 ], [ -121.817263999989237, 37.38293900033554 ], [ -121.815863999756147, 37.381539000759197 ], [ -121.816864000081779, 37.380939000571161 ], [ -121.817264000428054, 37.380739000542512 ], [ -121.814864000362633, 37.377839000814284 ], [ -121.81426399996252, 37.37733900074776 ], [ -121.812763999737612, 37.376539000965579 ], [ -121.813063999698443, 37.375739000361399 ], [ -121.811394000317648, 37.375071000623002 ], [ -121.81106399942891, 37.374939000620572 ], [ -121.810999999729034, 37.374901000443074 ], [ -121.810744000379856, 37.374747001125321 ], [ -121.810564000155111, 37.374639000967143 ], [ -121.810404999967162, 37.374569001131334 ], [ -121.810150000264258, 37.374665001046026 ], [ -121.809645999519034, 37.374706000494434 ], [ -121.809003000132705, 37.374398000240845 ], [ -121.808276000354368, 37.373514000573827 ], [ -121.808103999789409, 37.373363000747318 ], [ -121.80735400015503, 37.372491001009806 ], [ -121.806807999744791, 37.371903000499763 ], [ -121.806384999563463, 37.371664000852071 ], [ -121.806162999414042, 37.371539000879501 ], [ -121.806063000147532, 37.371417000706671 ], [ -121.806006999596065, 37.371348000596569 ], [ -121.805262999529589, 37.370439000656688 ], [ -121.804663000225077, 37.369939000829646 ], [ -121.804862999433027, 37.369839001068542 ], [ -121.806709999745834, 37.368639000331896 ], [ -121.806863000064368, 37.368539000583766 ], [ -121.807076999880621, 37.368646000910701 ], [ -121.807372999780213, 37.36879400032587 ], [ -121.80766299970648, 37.368939001061023 ], [ -121.808062999745232, 37.369339000522977 ], [ -121.808114000487777, 37.369376000580431 ], [ -121.808614000385958, 37.369733001032685 ], [ -121.809186999405483, 37.370142000594399 ], [ -121.809339999396499, 37.370251000974058 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 637, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.783221999881832, 37.353173000261883 ], [ -121.786262000509666, 37.354140000575335 ], [ -121.788961999407292, 37.354040000966194 ], [ -121.790149000301327, 37.353766000922121 ], [ -121.790263000003264, 37.353740000718723 ], [ -121.79046299973902, 37.354240000668625 ], [ -121.790556000241082, 37.353963000557847 ], [ -121.790877000216014, 37.354138000472645 ], [ -121.791044999690158, 37.354230000966901 ], [ -121.7912740001359, 37.354321000435597 ], [ -121.791487000106315, 37.35436000107056 ], [ -121.791655000038745, 37.354360000488349 ], [ -121.791864999654265, 37.354346001004437 ], [ -121.791962999420662, 37.354340000412762 ], [ -121.793757999848822, 37.35434000077715 ], [ -121.794063000456291, 37.354340000435528 ], [ -121.794368000509223, 37.354289000820749 ], [ -121.79466299944248, 37.354240000411096 ], [ -121.79498500038747, 37.3542400005826 ], [ -121.795563000167419, 37.354240000395201 ], [ -121.798362999503823, 37.35554000057558 ], [ -121.798762999945581, 37.35564000108991 ], [ -121.799363000154017, 37.355640000340678 ], [ -121.79979899962683, 37.355606000623723 ], [ -121.800662999745512, 37.355540000938873 ], [ -121.801862999938137, 37.355540000531114 ], [ -121.802362999770125, 37.355540000819893 ], [ -121.804363000459489, 37.355440000992928 ], [ -121.804962999395173, 37.355440000641849 ], [ -121.805363000366896, 37.356040000749445 ], [ -121.806262999487515, 37.356340000502236 ], [ -121.807263000486245, 37.356940000532902 ], [ -121.807462999967839, 37.357040000668491 ], [ -121.808150000241412, 37.357228000537738 ], [ -121.808862999941113, 37.357740000355243 ], [ -121.80926300003533, 37.357940000332214 ], [ -121.809862999717055, 37.358640001018209 ], [ -121.810162999642117, 37.358840000250076 ], [ -121.810463000087609, 37.359140001115037 ], [ -121.811862999605125, 37.360340000860766 ], [ -121.811762999681036, 37.360440000881759 ], [ -121.812163000304423, 37.360740000709718 ], [ -121.812233999702102, 37.361237000398617 ], [ -121.812263000175307, 37.361440000383887 ], [ -121.812363000402854, 37.362540000296264 ], [ -121.812163000109805, 37.362740000987415 ], [ -121.81126300024917, 37.363640000650847 ], [ -121.809563000020106, 37.363640000326072 ], [ -121.808462999832102, 37.363940000846931 ], [ -121.807963000356438, 37.364140000769169 ], [ -121.807562999544302, 37.364340000963182 ], [ -121.805962999653673, 37.366140000448347 ], [ -121.805863000334327, 37.366340001105939 ], [ -121.805563000390634, 37.367039000610539 ], [ -121.805062999476149, 37.367639000337633 ], [ -121.805363000009535, 37.367939000304759 ], [ -121.806863000064368, 37.368539000583766 ], [ -121.806709999745834, 37.368639000331896 ], [ -121.804862999433027, 37.369839001068542 ], [ -121.804663000225077, 37.369939000829646 ], [ -121.805262999529589, 37.370439000656688 ], [ -121.806006999596065, 37.371348000596569 ], [ -121.806063000147532, 37.371417000706671 ], [ -121.806162999414042, 37.371539000879501 ], [ -121.806384999563463, 37.371664000852071 ], [ -121.806807999744791, 37.371903000499763 ], [ -121.80735400015503, 37.372491001009806 ], [ -121.808103999789409, 37.373363000747318 ], [ -121.808276000354368, 37.373514000573827 ], [ -121.809003000132705, 37.374398000240845 ], [ -121.809645999519034, 37.374706000494434 ], [ -121.810150000264258, 37.374665001046026 ], [ -121.810404999967162, 37.374569001131334 ], [ -121.810564000155111, 37.374639000967143 ], [ -121.810744000379856, 37.374747001125321 ], [ -121.810999999729034, 37.374901000443074 ], [ -121.81106399942891, 37.374939000620572 ], [ -121.811394000317648, 37.375071000623002 ], [ -121.813063999698443, 37.375739000361399 ], [ -121.812763999737612, 37.376539000965579 ], [ -121.81426399996252, 37.37733900074776 ], [ -121.814864000362633, 37.377839000814284 ], [ -121.817264000428054, 37.380739000542512 ], [ -121.816864000081779, 37.380939000571161 ], [ -121.815863999756147, 37.381539000759197 ], [ -121.817263999989237, 37.38293900033554 ], [ -121.816464000294644, 37.384139000629027 ], [ -121.814663999650094, 37.386939000403117 ], [ -121.814667999483717, 37.386955000400455 ], [ -121.815064000014502, 37.388539000393621 ], [ -121.815664000451747, 37.388639000985876 ], [ -121.817864000040942, 37.389439000403698 ], [ -121.818063999695497, 37.38983900040261 ], [ -121.817863999947789, 37.390439001019772 ], [ -121.817363999962666, 37.392139000945889 ], [ -121.81676400001794, 37.392539000331254 ], [ -121.813364000213198, 37.39343900108868 ], [ -121.811864000389832, 37.394539000315305 ], [ -121.812264000327673, 37.394639000308779 ], [ -121.811064000035685, 37.395239000859391 ], [ -121.809564000416771, 37.396839000540943 ], [ -121.807564000438958, 37.396839000500755 ], [ -121.804963999917632, 37.396439000369234 ], [ -121.798462999731044, 37.397139000798212 ], [ -121.797863000009627, 37.397538000656716 ], [ -121.797162999860262, 37.400038000352787 ], [ -121.79456399978595, 37.403368000544127 ], [ -121.793962999499286, 37.404138000463149 ], [ -121.792262999903414, 37.403638000434313 ], [ -121.791263000166083, 37.402038000966712 ], [ -121.790463000433675, 37.40213800083216 ], [ -121.789063000055108, 37.40123800039877 ], [ -121.786763000235567, 37.401038000878884 ], [ -121.786262999700256, 37.399338000905104 ], [ -121.786962999782503, 37.398638000985208 ], [ -121.784962999681781, 37.395838001033098 ], [ -121.78436299962091, 37.395338000659727 ], [ -121.783963000504954, 37.392239000635257 ], [ -121.78396299979886, 37.39133900068223 ], [ -121.78316300048418, 37.386939000378106 ], [ -121.781163000455052, 37.385639000826465 ], [ -121.779563000038181, 37.38443900027039 ], [ -121.77616200036276, 37.384939000695695 ], [ -121.774562000218978, 37.38383900043943 ], [ -121.772261999495939, 37.382939000359272 ], [ -121.769361999486989, 37.378939000249858 ], [ -121.768361999778762, 37.378639000457476 ], [ -121.767661999498799, 37.376639001015498 ], [ -121.766762000159673, 37.375239001030678 ], [ -121.765661999650447, 37.374939001096152 ], [ -121.764462000226629, 37.373239000502707 ], [ -121.745360999744292, 37.360339000402384 ], [ -121.749562000248446, 37.361621001076259 ], [ -121.754504999487764, 37.363130000653463 ], [ -121.754860999416096, 37.363239000414033 ], [ -121.758160999488283, 37.363039000416407 ], [ -121.759855000100856, 37.362972000440678 ], [ -121.760487000231322, 37.363200001111281 ], [ -121.760546999748641, 37.363222000508564 ], [ -121.760761999518309, 37.363239000259476 ], [ -121.762011000436473, 37.364420000539901 ], [ -121.769962000355449, 37.371939000691974 ], [ -121.771061999864244, 37.37193900024878 ], [ -121.772361999765536, 37.373339000882133 ], [ -121.77176199979958, 37.374039000310468 ], [ -121.772714999651186, 37.374939000553148 ], [ -121.775361999446062, 37.377439000880585 ], [ -121.781163000498935, 37.378639000853106 ], [ -121.78406299970608, 37.377939001003924 ], [ -121.781662999656319, 37.37753900066577 ], [ -121.779561999826882, 37.376439000626554 ], [ -121.777962000157999, 37.376639000669734 ], [ -121.77506200033676, 37.375039000600268 ], [ -121.775048999906389, 37.374939000252922 ], [ -121.774761999743831, 37.372739000568707 ], [ -121.774762999876856, 37.372455000509298 ], [ -121.774261999985029, 37.37153900057934 ], [ -121.775362000083192, 37.370639000248545 ], [ -121.775361999477482, 37.369839000682703 ], [ -121.774762000215446, 37.369539000287602 ], [ -121.774761999594858, 37.368439000391781 ], [ -121.772361999573562, 37.365739000607988 ], [ -121.772931999911165, 37.365703000632053 ], [ -121.773817000496351, 37.365894000252673 ], [ -121.779248999428148, 37.367832000225881 ], [ -121.779400000113071, 37.367623000357931 ], [ -121.780499999423881, 37.366100000895898 ], [ -121.781447000453397, 37.365738000411376 ], [ -121.781736000503642, 37.365627000681904 ], [ -121.780713000164965, 37.363720000943651 ], [ -121.778962000121197, 37.360740000281346 ], [ -121.778162000435046, 37.360240000347936 ], [ -121.779362000107909, 37.359540000793707 ], [ -121.7783619997643, 37.357940000671135 ], [ -121.777463000505321, 37.354443000301032 ], [ -121.777661999626986, 37.353840000333243 ], [ -121.77771999998987, 37.353825000336656 ], [ -121.781144999937638, 37.352928000856217 ], [ -121.781861999865384, 37.352740000548614 ], [ -121.783221999881832, 37.353173000261883 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 628, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.828767999882032, 37.394808000855882 ], [ -121.829436999534025, 37.394329000649932 ], [ -121.829497999516249, 37.394054000366523 ], [ -121.829803000517401, 37.393940000306088 ], [ -121.830764999728146, 37.393739000493049 ], [ -121.832264999923012, 37.393739000593499 ], [ -121.832964999808482, 37.393339000628139 ], [ -121.833465000150667, 37.393039001125189 ], [ -121.834464999581996, 37.392639000673 ], [ -121.834765000070618, 37.392539001001225 ], [ -121.835290000465264, 37.392211000340318 ], [ -121.83540699967125, 37.392138000988055 ], [ -121.835564999838752, 37.392039000746429 ], [ -121.835621000364583, 37.392022000578343 ], [ -121.836564999422578, 37.391739000616724 ], [ -121.838464999698672, 37.391539000516403 ], [ -121.84106500049613, 37.390839001106336 ], [ -121.841564999846881, 37.390739000937543 ], [ -121.842565000269929, 37.390539000547626 ], [ -121.842665000462659, 37.390739000416325 ], [ -121.84296500043115, 37.391239000927982 ], [ -121.843138000446416, 37.391656000768435 ], [ -121.843353999922684, 37.392177000550149 ], [ -121.843665000315937, 37.392639000235981 ], [ -121.84406499993618, 37.393339000404808 ], [ -121.844464999902655, 37.394339001098395 ], [ -121.844664999781997, 37.394539000371722 ], [ -121.844765000429717, 37.394739001118488 ], [ -121.844864999813325, 37.395039000287305 ], [ -121.845664999531508, 37.396639000541597 ], [ -121.84626500024153, 37.397739000834797 ], [ -121.846664999641945, 37.398539000377085 ], [ -121.846964999710863, 37.399739000525514 ], [ -121.847364999501025, 37.400439000915668 ], [ -121.847702999581443, 37.400600000271758 ], [ -121.847837999743163, 37.401146000875585 ], [ -121.847886000268346, 37.401340000284236 ], [ -121.84802300009575, 37.401745001089559 ], [ -121.848164999902096, 37.402439000795042 ], [ -121.848664999487497, 37.403239000390187 ], [ -121.849264999555785, 37.404739001102421 ], [ -121.849565000036648, 37.405439001048293 ], [ -121.849665000066864, 37.405739000379619 ], [ -121.848765000102645, 37.406039001076238 ], [ -121.847264999666095, 37.406839000846283 ], [ -121.846956000515462, 37.407149000427921 ], [ -121.846865000299729, 37.407239000496695 ], [ -121.846765000060088, 37.407539000689702 ], [ -121.847164999567312, 37.408439000498575 ], [ -121.848065000033571, 37.409539000638809 ], [ -121.848464999558942, 37.41003900090621 ], [ -121.850665000448572, 37.411639000450968 ], [ -121.85096500008153, 37.411939000429371 ], [ -121.851230999849946, 37.412381000417987 ], [ -121.851434000267602, 37.412719000404145 ], [ -121.851565999621826, 37.412939001005682 ], [ -121.851778000317381, 37.413292000368088 ], [ -121.851866000173843, 37.413439000687561 ], [ -121.851893000368804, 37.413574000350025 ], [ -121.851965999805998, 37.413938001109251 ], [ -121.852165999692545, 37.414738000626485 ], [ -121.852265999475947, 37.414938000996202 ], [ -121.852865999526031, 37.415838000318956 ], [ -121.853065999588935, 37.416038000554089 ], [ -121.854365999638418, 37.41693800040057 ], [ -121.855365999815277, 37.418338001067589 ], [ -121.854865999879152, 37.420138000703332 ], [ -121.854665999699861, 37.421038000837783 ], [ -121.851865999746579, 37.422038000958594 ], [ -121.851339000371979, 37.421804000555362 ], [ -121.850966000071352, 37.42163800051317 ], [ -121.850266000172553, 37.420438000375846 ], [ -121.848465999716083, 37.41983800082037 ], [ -121.848365000015448, 37.418938000564602 ], [ -121.847665000023881, 37.418538000968944 ], [ -121.845664999796327, 37.419538000231569 ], [ -121.844265000014246, 37.41943800067272 ], [ -121.8426649995573, 37.42003800066373 ], [ -121.8420650005109, 37.42093800109906 ], [ -121.839864999412413, 37.421338000982182 ], [ -121.834064999406905, 37.422938000743684 ], [ -121.831464999566805, 37.423138000471795 ], [ -121.830664999396319, 37.424838000552306 ], [ -121.831165000029273, 37.426738000910696 ], [ -121.828065000001544, 37.432038000239807 ], [ -121.82686499985202, 37.431638000999143 ], [ -121.825565000355567, 37.432038000979112 ], [ -121.823564999607427, 37.433238000525009 ], [ -121.820365000499606, 37.435538000280765 ], [ -121.816788000523957, 37.43397000032418 ], [ -121.816116999468747, 37.434024000494396 ], [ -121.814942000129165, 37.433833000609567 ], [ -121.813628999661546, 37.433482000294916 ], [ -121.813400000218934, 37.433398000706426 ], [ -121.812957000122438, 37.43371100097513 ], [ -121.812682999427409, 37.433970000905028 ], [ -121.812347000042749, 37.434275000950024 ], [ -121.811798000436085, 37.434626000393393 ], [ -121.811308999622142, 37.434900001076706 ], [ -121.810638000160566, 37.434992000573118 ], [ -121.809981999394083, 37.435083000781518 ], [ -121.809539000085707, 37.435114000254039 ], [ -121.809096999668554, 37.435243001111409 ], [ -121.806868999616214, 37.432696000661622 ], [ -121.806380999854142, 37.432124000758712 ], [ -121.806263999983173, 37.432138001027518 ], [ -121.797252000260201, 37.421977001064555 ], [ -121.796663999832546, 37.421338000648753 ], [ -121.793058999706744, 37.417147000537973 ], [ -121.791396000332838, 37.415194000960376 ], [ -121.790714000472434, 37.41443100040555 ], [ -121.790363000387515, 37.414038000849764 ], [ -121.782463000294157, 37.404938000444446 ], [ -121.782263000491582, 37.404838000452614 ], [ -121.784163000030262, 37.403838000771671 ], [ -121.786963000174055, 37.404338000879491 ], [ -121.789562999475294, 37.40533800084296 ], [ -121.791462999976829, 37.405238000945182 ], [ -121.792262999903414, 37.403638000434313 ], [ -121.793962999499286, 37.404138000463149 ], [ -121.79456399978595, 37.403368000544127 ], [ -121.797162999860262, 37.400038000352787 ], [ -121.797863000009627, 37.397538000656716 ], [ -121.798462999731044, 37.397139000798212 ], [ -121.804963999917632, 37.396439000369234 ], [ -121.807564000438958, 37.396839000500755 ], [ -121.809564000416771, 37.396839000540943 ], [ -121.811064000035685, 37.395239000859391 ], [ -121.812264000327673, 37.394639000308779 ], [ -121.81486399954251, 37.393939000571791 ], [ -121.818563999624217, 37.393939000307832 ], [ -121.819863999642095, 37.394939000661154 ], [ -121.82066400005543, 37.394539000612141 ], [ -121.821564000174178, 37.395239000654016 ], [ -121.824263999988801, 37.396439000455288 ], [ -121.82466399998512, 37.396739000317346 ], [ -121.82616400000974, 37.397239000440401 ], [ -121.826263999953937, 37.396139000437273 ], [ -121.826264000135552, 37.395914000816212 ], [ -121.826264000014419, 37.395139000849227 ], [ -121.827464000228602, 37.395199000997472 ], [ -121.827934999814943, 37.395223001081447 ], [ -121.828264000010563, 37.395239000640274 ], [ -121.828536999720285, 37.395008001119969 ], [ -121.828764999896421, 37.394810000938911 ], [ -121.828767999882032, 37.394808000855882 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 605, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.886366999554639, 37.405939000371994 ], [ -121.884767000469012, 37.404939000863791 ], [ -121.883867000506143, 37.404339000260869 ], [ -121.883267000184588, 37.403939000575946 ], [ -121.882448000077233, 37.403431001076505 ], [ -121.880418000073078, 37.404331000979376 ], [ -121.879765999892996, 37.404539000961726 ], [ -121.879240999495892, 37.404831000745666 ], [ -121.877965999546475, 37.40553900074115 ], [ -121.8776039995509, 37.404543000371206 ], [ -121.877565999410166, 37.404439000433044 ], [ -121.876666000306756, 37.402639000884143 ], [ -121.875191999937229, 37.399146001107916 ], [ -121.874966000262688, 37.398639000689371 ], [ -121.874766000223389, 37.398239000626774 ], [ -121.874050999439604, 37.397030000289952 ], [ -121.873465999834139, 37.396039000292276 ], [ -121.873265999664042, 37.395639000326284 ], [ -121.87386599978791, 37.395239000798377 ], [ -121.874166000283921, 37.395039000320857 ], [ -121.874637000081208, 37.394702000303397 ], [ -121.874865999444197, 37.394539000763189 ], [ -121.875565999435892, 37.394039000568625 ], [ -121.876099000423523, 37.39370000098053 ], [ -121.876665999778965, 37.393339000343765 ], [ -121.876934999824371, 37.393160000340046 ], [ -121.877083000147593, 37.393061000688071 ], [ -121.877330999888741, 37.392896000880825 ], [ -121.877456999787157, 37.392812001012956 ], [ -121.877549999946069, 37.392750000337834 ], [ -121.878065999845077, 37.392239000239542 ], [ -121.878365999805808, 37.391939000778272 ], [ -121.87866599993076, 37.3917390003135 ], [ -121.878965999985937, 37.39143900107856 ], [ -121.879265999914793, 37.391039000346062 ], [ -121.879790000292701, 37.390475001091929 ], [ -121.880362999530632, 37.389858000547605 ], [ -121.880566000456071, 37.389639001118191 ], [ -121.881366000509971, 37.388839000591915 ], [ -121.88156600009286, 37.388639000927867 ], [ -121.881883000279757, 37.388279000364932 ], [ -121.882465999651956, 37.38773900034856 ], [ -121.882604000103939, 37.387587000412665 ], [ -121.882853000412211, 37.387315001136059 ], [ -121.88378599991286, 37.386294000617966 ], [ -121.884493999588372, 37.385519000455204 ], [ -121.884565999673285, 37.385440000421347 ], [ -121.885218000353802, 37.386130000376156 ], [ -121.886265999966184, 37.387240000744455 ], [ -121.887134000074752, 37.386711000629226 ], [ -121.887353999951401, 37.38657700037222 ], [ -121.888457000264779, 37.385905001130915 ], [ -121.888972999829818, 37.385590000514163 ], [ -121.890022999659337, 37.384950000564295 ], [ -121.890366999754434, 37.384740000269602 ], [ -121.891890999906764, 37.383834000769063 ], [ -121.892237000140909, 37.383628000293896 ], [ -121.892823999843671, 37.383279001060558 ], [ -121.893129999749434, 37.38318300056131 ], [ -121.89332799984858, 37.383069000987788 ], [ -121.893495999766728, 37.382985000867215 ], [ -121.893679000407104, 37.382924000636855 ], [ -121.89393900002824, 37.38281000051542 ], [ -121.894273999495979, 37.382726001021233 ], [ -121.894595000118855, 37.382680000900166 ], [ -121.894899999644679, 37.382657000384128 ], [ -121.895265999779056, 37.382596000653116 ], [ -121.895647999891452, 37.382649001098926 ], [ -121.895921999583891, 37.382703001046714 ], [ -121.896049999674801, 37.382738000882533 ], [ -121.896167000141475, 37.383040001049586 ], [ -121.896785999735755, 37.38379600105236 ], [ -121.897066999855767, 37.38414000045438 ], [ -121.89713599955202, 37.384233000738845 ], [ -121.897256000117565, 37.384392000438993 ], [ -121.897329000177166, 37.384489001109195 ], [ -121.897684000519348, 37.384962000250603 ], [ -121.898393999739937, 37.385909000295435 ], [ -121.898563999927404, 37.386136000964335 ], [ -121.899466999911056, 37.387340000247299 ], [ -121.899677000477993, 37.387639001073097 ], [ -121.90016699943574, 37.388340000733663 ], [ -121.900226999685231, 37.388440000922969 ], [ -121.900301000155281, 37.388564000568621 ], [ -121.900766999966336, 37.38934000031098 ], [ -121.900912000126013, 37.389592000861988 ], [ -121.901079999936414, 37.390630000964492 ], [ -121.901266999407085, 37.391440000488323 ], [ -121.901767000093784, 37.393739001072213 ], [ -121.902166999652366, 37.395739000354894 ], [ -121.902366999540448, 37.396539000812183 ], [ -121.902466999879422, 37.396939000438344 ], [ -121.902514000241709, 37.397034000670246 ], [ -121.902566999580472, 37.397139001034695 ], [ -121.902620999830773, 37.39763000079148 ], [ -121.902635999574301, 37.397770000711851 ], [ -121.902849999619889, 37.39886800080496 ], [ -121.902865000440087, 37.399296000811781 ], [ -121.902866999699725, 37.400239000330131 ], [ -121.902923000211544, 37.40153000086918 ], [ -121.90296700003104, 37.402539000870583 ], [ -121.902967000231754, 37.404339001112589 ], [ -121.900666999965495, 37.404139000234679 ], [ -121.89916699988612, 37.40403900091237 ], [ -121.898164999872321, 37.403881000933005 ], [ -121.895667000250597, 37.403739000836538 ], [ -121.893002000481445, 37.403473000877909 ], [ -121.891666999696838, 37.403339000895443 ], [ -121.891618999532653, 37.403758000581178 ], [ -121.891673000277777, 37.404262000741518 ], [ -121.889332000452001, 37.405588000301883 ], [ -121.889081999678169, 37.405730000334977 ], [ -121.888866999476051, 37.40593900063601 ], [ -121.888354000118071, 37.4065090005722 ], [ -121.887967000388898, 37.406939000892088 ], [ -121.886366999554639, 37.405939000371994 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 623, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.865465999771999, 37.411339000807764 ], [ -121.86510199959082, 37.411514000620947 ], [ -121.864253000281238, 37.411921001037257 ], [ -121.863892999904863, 37.412094000288796 ], [ -121.862965999760561, 37.412539000792691 ], [ -121.862865999519627, 37.412839000327217 ], [ -121.86186600005685, 37.413339000296311 ], [ -121.861565999722799, 37.413439000500176 ], [ -121.860865999721725, 37.413839000675523 ], [ -121.860166000382179, 37.414139000986417 ], [ -121.858865999850636, 37.414839000894005 ], [ -121.85796599963291, 37.41523900053113 ], [ -121.857765999598641, 37.415439000833381 ], [ -121.856766000239702, 37.415838000552114 ], [ -121.856265999721742, 37.416038000586568 ], [ -121.855765999947479, 37.416238000290249 ], [ -121.854646000427849, 37.416798000471495 ], [ -121.854365999638418, 37.41693800040057 ], [ -121.853065999588935, 37.416038000554089 ], [ -121.852865999526031, 37.415838000318956 ], [ -121.852265999475947, 37.414938000996202 ], [ -121.852165999692545, 37.414738000626485 ], [ -121.851965999805998, 37.413938001109251 ], [ -121.851893000368804, 37.413574000350025 ], [ -121.851866000173843, 37.413439000687561 ], [ -121.851778000317381, 37.413292000368088 ], [ -121.851565999621826, 37.412939001005682 ], [ -121.851434000267602, 37.412719000404145 ], [ -121.851230999849946, 37.412381000417987 ], [ -121.85096500008153, 37.411939000429371 ], [ -121.850665000448572, 37.411639000450968 ], [ -121.848464999558942, 37.41003900090621 ], [ -121.849769000175726, 37.4095060004488 ], [ -121.850329000118393, 37.409277000451205 ], [ -121.850664999703667, 37.40913900085507 ], [ -121.851964999772107, 37.408539000397127 ], [ -121.852866000426431, 37.408239000604162 ], [ -121.851064999519423, 37.406139000858779 ], [ -121.851165000426889, 37.405739001132019 ], [ -121.851865000094293, 37.405439000260422 ], [ -121.853765999675545, 37.40773900089691 ], [ -121.85466600000224, 37.407339000746553 ], [ -121.856465999885373, 37.406639000572035 ], [ -121.857065999647389, 37.406339001092014 ], [ -121.858365999733195, 37.405939001006082 ], [ -121.858965999541624, 37.405139000240567 ], [ -121.86016600026619, 37.403839000793369 ], [ -121.861466000005322, 37.402639001107524 ], [ -121.862065999940469, 37.402139001097495 ], [ -121.862866000458212, 37.401539000665231 ], [ -121.863366000486636, 37.401139000398288 ], [ -121.86426600051027, 37.400639001107088 ], [ -121.86440399997052, 37.400777000637888 ], [ -121.864465999661107, 37.400839000491665 ], [ -121.86646600048222, 37.403739000986128 ], [ -121.866865999409896, 37.40413900098271 ], [ -121.867165999614556, 37.404639000852825 ], [ -121.867666000490317, 37.40533900113661 ], [ -121.868065999861031, 37.405839001041649 ], [ -121.868365999881249, 37.406339000530565 ], [ -121.86866600031675, 37.406639000346054 ], [ -121.869566000267866, 37.407839000762998 ], [ -121.8698660003149, 37.408439000346263 ], [ -121.870265999990721, 37.408839000548298 ], [ -121.870365999943786, 37.409139000823814 ], [ -121.868232000055528, 37.410177000310107 ], [ -121.86756999954423, 37.410499000331818 ], [ -121.867089999688602, 37.410733000532773 ], [ -121.86666599984423, 37.410939000320425 ], [ -121.865666000332979, 37.41123900090119 ], [ -121.865465999771999, 37.411339000807764 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 599, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.87386599978791, 37.395239000798377 ], [ -121.873265999664042, 37.395639000326284 ], [ -121.871366000327328, 37.393039000904714 ], [ -121.871140999636637, 37.392814001018621 ], [ -121.869465999634059, 37.391139000300775 ], [ -121.867721000254818, 37.389436000493404 ], [ -121.866724000199611, 37.388462000319741 ], [ -121.866415000239385, 37.388160000828016 ], [ -121.866047999605712, 37.387802000363571 ], [ -121.865266000115071, 37.387039000277859 ], [ -121.863282000345663, 37.385145000424153 ], [ -121.863207999429477, 37.385074000928661 ], [ -121.863065999848601, 37.384939000709558 ], [ -121.862839000105296, 37.384708000789509 ], [ -121.863262000069668, 37.384264000677057 ], [ -121.863665999636922, 37.383839000457336 ], [ -121.864665999676433, 37.382739001098578 ], [ -121.864713999717537, 37.382691000638054 ], [ -121.865165999743368, 37.382239000260249 ], [ -121.865265999851587, 37.38203900036811 ], [ -121.865846000158641, 37.381383000816172 ], [ -121.866228000302812, 37.380986000420322 ], [ -121.866465999516805, 37.380940001057674 ], [ -121.867032000331491, 37.380261000597919 ], [ -121.867466000099895, 37.379740000504036 ], [ -121.867783000487989, 37.379441000362853 ], [ -121.868755000404789, 37.378523000555795 ], [ -121.869265999873548, 37.378040000496306 ], [ -121.86987699948979, 37.378228001014037 ], [ -121.870565999778634, 37.378440000653434 ], [ -121.871265999395135, 37.379040000532974 ], [ -121.871266000467585, 37.379140000468695 ], [ -121.871266000041089, 37.379740000884631 ], [ -121.871366000151383, 37.380640000936559 ], [ -121.871765999470469, 37.381040000517572 ], [ -121.871430000081276, 37.381400001131219 ], [ -121.870997999944862, 37.38186300038516 ], [ -121.870366000015721, 37.3825400003753 ], [ -121.871865999556761, 37.384039000344089 ], [ -121.872565999880081, 37.384739000371184 ], [ -121.873266000415271, 37.385239001087193 ], [ -121.873765999971283, 37.385839000867769 ], [ -121.874266000335382, 37.386339000505757 ], [ -121.874665999810162, 37.386639000298445 ], [ -121.874865999573458, 37.386839000507628 ], [ -121.875889999909631, 37.3878630010622 ], [ -121.876065999943208, 37.388039000998198 ], [ -121.876391000252283, 37.388358000619377 ], [ -121.876818000177011, 37.388800000423267 ], [ -121.87723099947759, 37.389254000451423 ], [ -121.877623999661196, 37.38964500038297 ], [ -121.878249999554853, 37.390249001082339 ], [ -121.879265999914793, 37.391039000346062 ], [ -121.878965999985937, 37.39143900107856 ], [ -121.87866599993076, 37.3917390003135 ], [ -121.878365999805808, 37.391939000778272 ], [ -121.878065999845077, 37.392239000239542 ], [ -121.877549999946069, 37.392750000337834 ], [ -121.877456999787157, 37.392812001012956 ], [ -121.877330999888741, 37.392896000880825 ], [ -121.877083000147593, 37.393061000688071 ], [ -121.876934999824371, 37.393160000340046 ], [ -121.876665999778965, 37.393339000343765 ], [ -121.876099000423523, 37.39370000098053 ], [ -121.875565999435892, 37.394039000568625 ], [ -121.874865999444197, 37.394539000763189 ], [ -121.874637000081208, 37.394702000303397 ], [ -121.874166000283921, 37.395039000320857 ], [ -121.87386599978791, 37.395239000798377 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 600, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.869265999873548, 37.378040000496306 ], [ -121.869736999492815, 37.377347000471026 ], [ -121.869972000295789, 37.37707200085444 ], [ -121.870237999524491, 37.376760000396835 ], [ -121.870485000438549, 37.376470000701204 ], [ -121.871265999433504, 37.375840000254897 ], [ -121.871485999737672, 37.375589000287384 ], [ -121.871658000019565, 37.375393000407456 ], [ -121.871965999956984, 37.375040000820576 ], [ -121.872066000255387, 37.374940001063408 ], [ -121.872465999923492, 37.374540000238397 ], [ -121.873166000178571, 37.373740000566286 ], [ -121.873936000201439, 37.374439000706531 ], [ -121.874070999873808, 37.374562000331814 ], [ -121.874414000193383, 37.374940000237565 ], [ -121.874666000056493, 37.375218000276909 ], [ -121.875428999634124, 37.376088001048728 ], [ -121.875497000184382, 37.376179000675748 ], [ -121.875962999694451, 37.376801000925482 ], [ -121.876478999547871, 37.377490000450564 ], [ -121.876666000457675, 37.377740000461642 ], [ -121.876722999873309, 37.377801001052759 ], [ -121.87806599986834, 37.379240000238354 ], [ -121.878666000395043, 37.379840000237621 ], [ -121.878983999938995, 37.380017000829845 ], [ -121.879768999720781, 37.380831000773711 ], [ -121.880065999415805, 37.381140000743976 ], [ -121.88185299946386, 37.38273300082605 ], [ -121.882340999555481, 37.38300800076729 ], [ -121.882483000145584, 37.383163000440284 ], [ -121.882961999975151, 37.383688001001275 ], [ -121.883413000374858, 37.384182000469693 ], [ -121.8834659994411, 37.384240000944615 ], [ -121.883932000304299, 37.384749000450185 ], [ -121.884017000252243, 37.384842000661649 ], [ -121.884242999751166, 37.385088000570619 ], [ -121.884531000470901, 37.385402000601474 ], [ -121.884565999673285, 37.385440000421347 ], [ -121.884493999588372, 37.385519000455204 ], [ -121.88378599991286, 37.386294000617966 ], [ -121.882853000412211, 37.387315001136059 ], [ -121.882604000103939, 37.387587000412665 ], [ -121.882465999651956, 37.38773900034856 ], [ -121.881883000279757, 37.388279000364932 ], [ -121.88156600009286, 37.388639000927867 ], [ -121.881366000509971, 37.388839000591915 ], [ -121.880566000456071, 37.389639001118191 ], [ -121.880362999530632, 37.389858000547605 ], [ -121.879790000292701, 37.390475001091929 ], [ -121.879265999914793, 37.391039000346062 ], [ -121.878249999554853, 37.390249001082339 ], [ -121.877623999661196, 37.38964500038297 ], [ -121.87723099947759, 37.389254000451423 ], [ -121.876818000177011, 37.388800000423267 ], [ -121.876391000252283, 37.388358000619377 ], [ -121.876065999943208, 37.388039000998198 ], [ -121.875889999909631, 37.3878630010622 ], [ -121.874865999573458, 37.386839000507628 ], [ -121.874665999810162, 37.386639000298445 ], [ -121.874266000335382, 37.386339000505757 ], [ -121.873765999971283, 37.385839000867769 ], [ -121.873266000415271, 37.385239001087193 ], [ -121.872565999880081, 37.384739000371184 ], [ -121.871865999556761, 37.384039000344089 ], [ -121.870366000015721, 37.3825400003753 ], [ -121.870997999944862, 37.38186300038516 ], [ -121.871430000081276, 37.381400001131219 ], [ -121.871765999470469, 37.381040000517572 ], [ -121.871366000151383, 37.380640000936559 ], [ -121.871266000041089, 37.379740000884631 ], [ -121.871266000467585, 37.379140000468695 ], [ -121.871265999395135, 37.379040000532974 ], [ -121.870565999778634, 37.378440000653434 ], [ -121.86987699948979, 37.378228001014037 ], [ -121.869265999873548, 37.378040000496306 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 621, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.884767000469012, 37.404939000863791 ], [ -121.886366999554639, 37.405939000371994 ], [ -121.887967000388898, 37.406939000892088 ], [ -121.889366999605471, 37.4077390009613 ], [ -121.884266999923142, 37.4093390005212 ], [ -121.884367000471073, 37.409739000577083 ], [ -121.882867000449309, 37.410339000551623 ], [ -121.883066999943523, 37.410539001105633 ], [ -121.883167000072092, 37.410839000744794 ], [ -121.881166999774592, 37.411539000842367 ], [ -121.881743999868448, 37.412610000283088 ], [ -121.881867000348819, 37.412839000423091 ], [ -121.882130999692862, 37.413323000956218 ], [ -121.881067000245793, 37.413645000597661 ], [ -121.880766999982427, 37.413739000854342 ], [ -121.880954999547583, 37.414168000562213 ], [ -121.880618999895106, 37.41426700093578 ], [ -121.879782999840501, 37.414529000615595 ], [ -121.87880600040117, 37.414828000735483 ], [ -121.878065999745317, 37.415039000735234 ], [ -121.877647000476102, 37.415159000874198 ], [ -121.87736600011803, 37.415239001123844 ], [ -121.875165999562554, 37.415939000293243 ], [ -121.87426600008277, 37.413939000947032 ], [ -121.874066000439569, 37.41363900073916 ], [ -121.872866000284219, 37.411939000700784 ], [ -121.872166000315758, 37.411339000511248 ], [ -121.871665999631915, 37.410739000780787 ], [ -121.870365999943786, 37.409139000823814 ], [ -121.871665999959461, 37.408539000677621 ], [ -121.872565999844198, 37.408139000664569 ], [ -121.873365999480484, 37.407739000660143 ], [ -121.874066000438532, 37.407339000918462 ], [ -121.877965999546475, 37.40553900074115 ], [ -121.879240999495892, 37.404831000745666 ], [ -121.879765999892996, 37.404539000961726 ], [ -121.880418000073078, 37.404331000979376 ], [ -121.882448000077233, 37.403431001076505 ], [ -121.883267000184588, 37.403939000575946 ], [ -121.883867000506143, 37.404339000260869 ], [ -121.884767000469012, 37.404939000863791 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 616, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.88156699953683, 37.436038000751807 ], [ -121.882567000027549, 37.435838000232302 ], [ -121.883807000333491, 37.435572001125713 ], [ -121.884066999941297, 37.435538001071571 ], [ -121.885266999708776, 37.435238000917828 ], [ -121.885477000385848, 37.43520300068004 ], [ -121.885664999675669, 37.435165000305659 ], [ -121.887673000479538, 37.434770000512913 ], [ -121.887841999788648, 37.434717000844302 ], [ -121.88827600006114, 37.434580000287461 ], [ -121.888467000007552, 37.434538001011028 ], [ -121.888582999693895, 37.435187000827966 ], [ -121.889504999870027, 37.440336001105997 ], [ -121.890066999785688, 37.443738000455667 ], [ -121.890066999644247, 37.443827000555139 ], [ -121.890139999739063, 37.444175000412898 ], [ -121.890189000370427, 37.44441100082161 ], [ -121.889499000190227, 37.444618001004031 ], [ -121.889664999988014, 37.443805000314484 ], [ -121.888867000363831, 37.441038000975439 ], [ -121.888166999589941, 37.441238000863429 ], [ -121.887266999525067, 37.4414380010518 ], [ -121.886301000479506, 37.44162600032503 ], [ -121.885298000433252, 37.44185400065011 ], [ -121.884660999689785, 37.442012000383478 ], [ -121.884231000277211, 37.442096000562245 ], [ -121.882366999793234, 37.442538001088558 ], [ -121.881767000433086, 37.442638000943177 ], [ -121.879870000017021, 37.443095001043517 ], [ -121.879629000178909, 37.44316400094695 ], [ -121.879366999809776, 37.443238000993112 ], [ -121.878467000407028, 37.443438000462422 ], [ -121.877964000142143, 37.443589000908794 ], [ -121.877258000439525, 37.443750000808251 ], [ -121.876554999849915, 37.44390800101349 ], [ -121.875966999814949, 37.444038000459244 ], [ -121.8756399998246, 37.443329000932934 ], [ -121.875367000116938, 37.442738000878343 ], [ -121.873366999865993, 37.43923800044962 ], [ -121.872766999739937, 37.438338000239277 ], [ -121.872667000453689, 37.438138000273767 ], [ -121.873591000381637, 37.437896000849399 ], [ -121.874121999661199, 37.437739000438071 ], [ -121.87596699950501, 37.437238000549229 ], [ -121.879367000392477, 37.436538000790868 ], [ -121.880923000253389, 37.436206000426154 ], [ -121.88156699953683, 37.436038000751807 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 619, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.862524000370556, 37.421573000981276 ], [ -121.864116999532257, 37.420850000906889 ], [ -121.864856999788685, 37.420514000444406 ], [ -121.865466000281884, 37.420238000665208 ], [ -121.866047000056938, 37.419984001014726 ], [ -121.867065999558676, 37.419538000635711 ], [ -121.867966000417539, 37.419139000976088 ], [ -121.868687000332642, 37.420461000970576 ], [ -121.868723000386879, 37.42053500059766 ], [ -121.868965999879279, 37.421038000802959 ], [ -121.869265999846064, 37.421638000945563 ], [ -121.870152999634257, 37.424077000643209 ], [ -121.870389000137052, 37.424726000729763 ], [ -121.870532000228664, 37.424937000848281 ], [ -121.870910999518145, 37.425034000691824 ], [ -121.875671999457765, 37.423955000373702 ], [ -121.877413999813498, 37.422964000882814 ], [ -121.877766999389465, 37.423438000883863 ], [ -121.878366999791822, 37.424038000457877 ], [ -121.8788669998481, 37.424638000335158 ], [ -121.879366999779776, 37.425138000646051 ], [ -121.879866999525092, 37.425638000646302 ], [ -121.880367000468027, 37.4262380004904 ], [ -121.880867000475646, 37.426738000772914 ], [ -121.880266999615372, 37.427138000783138 ], [ -121.879567000124013, 37.427538000702313 ], [ -121.878667000151054, 37.428138000261995 ], [ -121.878167000227705, 37.428338000479719 ], [ -121.87596700020552, 37.428838000491588 ], [ -121.87376699950876, 37.429338000755003 ], [ -121.873267000438759, 37.429438000770325 ], [ -121.872365999843794, 37.429638000661228 ], [ -121.871545999472417, 37.429916000289559 ], [ -121.869353999966208, 37.430356000776179 ], [ -121.868989999772765, 37.430446000621224 ], [ -121.867891000015931, 37.430667000301241 ], [ -121.864065999656802, 37.431338000308699 ], [ -121.863865999450596, 37.43083800093963 ], [ -121.863666000216881, 37.430238000394326 ], [ -121.863522999798946, 37.429605000923537 ], [ -121.863366000494054, 37.429038000851776 ], [ -121.863183999834661, 37.42837100077881 ], [ -121.862956999842922, 37.427511000848192 ], [ -121.862765999461999, 37.426938000678305 ], [ -121.862362000034551, 37.425228000428547 ], [ -121.862257999472618, 37.424661000337316 ], [ -121.862220999763522, 37.424463000261305 ], [ -121.862205999753385, 37.424380000990951 ], [ -121.862213999745052, 37.424258000781748 ], [ -121.862293000056525, 37.423700000641283 ], [ -121.862280000226775, 37.423538000894787 ], [ -121.862247000152422, 37.423392001051063 ], [ -121.86199699951446, 37.422982000578443 ], [ -121.861446999540775, 37.422022001117838 ], [ -121.861666000490956, 37.421938000758487 ], [ -121.862524000370556, 37.421573000981276 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 614, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.897213000219665, 37.446787000693291 ], [ -121.898104999589236, 37.446727000313253 ], [ -121.899970000174704, 37.446578001129502 ], [ -121.900467999670965, 37.446538000812616 ], [ -121.901187999834775, 37.446505000263045 ], [ -121.902743999927011, 37.446414001088371 ], [ -121.904391999572979, 37.446330000356163 ], [ -121.904534999601509, 37.446254000777486 ], [ -121.90500299954148, 37.446007000849214 ], [ -121.905231000467865, 37.445887000808902 ], [ -121.905809999597764, 37.445417000753395 ], [ -121.906989000117065, 37.444315000445833 ], [ -121.907797999787718, 37.444854000812583 ], [ -121.908793000433732, 37.445728000590073 ], [ -121.908967999966507, 37.446038000745958 ], [ -121.908975000300359, 37.446099000818428 ], [ -121.909005000090161, 37.446367000383837 ], [ -121.909356999779419, 37.446875000715195 ], [ -121.90940199943806, 37.447282000464895 ], [ -121.909846999860946, 37.448960000935379 ], [ -121.909846999707923, 37.449119000323115 ], [ -121.909913999439652, 37.449438001109399 ], [ -121.910047999685347, 37.449950000912615 ], [ -121.910158999802192, 37.450144000608134 ], [ -121.910293000338214, 37.450798000338992 ], [ -121.910339000437205, 37.451043000759313 ], [ -121.910451000136405, 37.451640000879479 ], [ -121.910603999398916, 37.452459000818074 ], [ -121.90990100050972, 37.452659001106738 ], [ -121.909301000387373, 37.452830000273536 ], [ -121.90856800032779, 37.45303800069253 ], [ -121.905970999399869, 37.453749000276233 ], [ -121.902867999601895, 37.454553001063893 ], [ -121.90240799999664, 37.45474500024099 ], [ -121.90196799980987, 37.454938000951088 ], [ -121.901968000498556, 37.455138000682538 ], [ -121.902168000153736, 37.455438000884904 ], [ -121.902468000225909, 37.456138000629373 ], [ -121.901468000120758, 37.456538000423137 ], [ -121.90206799983801, 37.457238000922658 ], [ -121.902467999864655, 37.457838000525854 ], [ -121.902968000175576, 37.458438000635745 ], [ -121.903667999899852, 37.45913800108935 ], [ -121.904068000212135, 37.45993800025483 ], [ -121.901467999534859, 37.460738001001403 ], [ -121.900561000508404, 37.461091000899721 ], [ -121.898881999949595, 37.459086000851428 ], [ -121.898644999819794, 37.458797000863939 ], [ -121.897367999695476, 37.457238000473353 ], [ -121.895488000227644, 37.454938000939009 ], [ -121.894444999990355, 37.453738000291452 ], [ -121.892872999476666, 37.451639001060357 ], [ -121.891476999962819, 37.450205000812844 ], [ -121.891276999498814, 37.449808000421783 ], [ -121.890902000456151, 37.448438000306716 ], [ -121.890721999411326, 37.447045000382289 ], [ -121.891107000259325, 37.446984000861868 ], [ -121.891620999836775, 37.446964001070157 ], [ -121.891671000514478, 37.446963000849806 ], [ -121.893467000265005, 37.44693800045777 ], [ -121.897213000219665, 37.446787000693291 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 612, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.910737999850653, 37.453784001084763 ], [ -121.910715999838104, 37.453325001014548 ], [ -121.910693999928796, 37.452883000913147 ], [ -121.910603999398916, 37.452459000818074 ], [ -121.910451000136405, 37.451640000879479 ], [ -121.910339000437205, 37.451043000759313 ], [ -121.910293000338214, 37.450798000338992 ], [ -121.910158999802192, 37.450144000608134 ], [ -121.910047999685347, 37.449950000912615 ], [ -121.909913999439652, 37.449438001109399 ], [ -121.909846999707923, 37.449119000323115 ], [ -121.909846999860946, 37.448960000935379 ], [ -121.90940199943806, 37.447282000464895 ], [ -121.909356999779419, 37.446875000715195 ], [ -121.909005000090161, 37.446367000383837 ], [ -121.909368000103981, 37.446238000316214 ], [ -121.910668000439159, 37.44603800088818 ], [ -121.910932000039082, 37.445972000439646 ], [ -121.911003000270242, 37.445940000362086 ], [ -121.911154000415181, 37.44587100038558 ], [ -121.911311000223236, 37.445727000656397 ], [ -121.911467999481317, 37.445638000896267 ], [ -121.912568000132111, 37.445638000456867 ], [ -121.914275000465253, 37.445733000858908 ], [ -121.914368000442579, 37.445738000459194 ], [ -121.914382999414215, 37.445318001071271 ], [ -121.914482000180101, 37.442496000597721 ], [ -121.914511000176716, 37.441658000302816 ], [ -121.914590999976951, 37.439957001007222 ], [ -121.915094999573981, 37.439940000286505 ], [ -121.91526799967086, 37.439938000953298 ], [ -121.915404000009403, 37.439941000417441 ], [ -121.915467999849085, 37.439943001026762 ], [ -121.915529000517907, 37.439944000640835 ], [ -121.919167999768035, 37.440038000653153 ], [ -121.91999500007303, 37.44003300084097 ], [ -121.920080000111511, 37.440331000446569 ], [ -121.92016800039157, 37.440638001070937 ], [ -121.922668999446074, 37.453738000480648 ], [ -121.922668999488863, 37.45383100080133 ], [ -121.922669000043072, 37.454438000894683 ], [ -121.923369000186668, 37.455038000441718 ], [ -121.922969000450323, 37.455338000474029 ], [ -121.922959999853262, 37.455342000569331 ], [ -121.922568999692146, 37.455538000876857 ], [ -121.921231000091765, 37.456258001035749 ], [ -121.919387000360288, 37.457251001079676 ], [ -121.917367999695173, 37.458338000710668 ], [ -121.916967999688126, 37.45853800078342 ], [ -121.916596999541696, 37.458768000272045 ], [ -121.916247999914432, 37.458874000606535 ], [ -121.915995999774609, 37.458983000707967 ], [ -121.915663000088983, 37.45918700082558 ], [ -121.915360999555745, 37.459395000721919 ], [ -121.914857000465247, 37.459746000461635 ], [ -121.914473999925534, 37.459984000330365 ], [ -121.913899999785045, 37.46030400050234 ], [ -121.913608000356589, 37.460450000518264 ], [ -121.913356000148354, 37.460579000822491 ], [ -121.912811999871579, 37.460895000997063 ], [ -121.912467999781725, 37.460938000613687 ], [ -121.912267999450663, 37.460438000896886 ], [ -121.912155999974175, 37.46019500057546 ], [ -121.911946999527132, 37.45974200110556 ], [ -121.912141999754809, 37.459032000754291 ], [ -121.911962999819622, 37.458750001112286 ], [ -121.911740999845179, 37.45809600111388 ], [ -121.91149599964379, 37.457477001059701 ], [ -121.910850000093362, 37.454332000662504 ], [ -121.910737999850653, 37.453784001084763 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 402, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.058587999654137, 37.425363000292258 ], [ -122.058509999562432, 37.425629000786223 ], [ -122.0582659999112, 37.426456000521028 ], [ -122.058271999856416, 37.426639000783737 ], [ -122.059527000120866, 37.426806000926248 ], [ -122.059772000398283, 37.426839000469897 ], [ -122.059768999473008, 37.427085000741378 ], [ -122.059673000421427, 37.434039000962976 ], [ -122.054471999828138, 37.435739000375605 ], [ -122.052271999542469, 37.431639000693878 ], [ -122.05107200043534, 37.429639000919963 ], [ -122.049172000229206, 37.42613900086554 ], [ -122.043571999821069, 37.42723900085128 ], [ -122.041134999529717, 37.427012000684933 ], [ -122.041046999624982, 37.427004000318838 ], [ -122.034971999450761, 37.426439000612575 ], [ -122.034671999530843, 37.426439000823407 ], [ -122.037372000341264, 37.419140000496107 ], [ -122.037406999532479, 37.417790000489639 ], [ -122.03740700022604, 37.416554000425599 ], [ -122.037360999542599, 37.412457000523695 ], [ -122.037371999902078, 37.411840000364172 ], [ -122.037364999998601, 37.411446000845046 ], [ -122.037295999757191, 37.407658000239827 ], [ -122.037272000314388, 37.406340000910845 ], [ -122.037272000441931, 37.401640000984798 ], [ -122.037272000232662, 37.401440000867126 ], [ -122.03737200050854, 37.400840000801821 ], [ -122.03887199941029, 37.40124000026163 ], [ -122.047072000188606, 37.403040000267545 ], [ -122.047872000453296, 37.403240000292854 ], [ -122.050157999465853, 37.403781000795476 ], [ -122.051672000164814, 37.404140000774568 ], [ -122.051871999822865, 37.404140000447228 ], [ -122.055771999932688, 37.405040000835868 ], [ -122.056921000288114, 37.405216000725936 ], [ -122.057064000331934, 37.405238000351929 ], [ -122.058461999650788, 37.405452000591559 ], [ -122.060173000191611, 37.405713000469383 ], [ -122.062215999522792, 37.406343000757055 ], [ -122.063586000177594, 37.406766000900738 ], [ -122.064472000308072, 37.40704000027629 ], [ -122.064871999525536, 37.407140000396325 ], [ -122.064875000371345, 37.407370000648818 ], [ -122.063971999839467, 37.409840001014373 ], [ -122.063871999542442, 37.41034000029584 ], [ -122.064272000192119, 37.411740000284482 ], [ -122.064353999752385, 37.41183200095707 ], [ -122.064261999673974, 37.411977000985601 ], [ -122.064271999655134, 37.413740000975103 ], [ -122.064261999808707, 37.41398300097439 ], [ -122.064351999418975, 37.417127000707204 ], [ -122.064273000077293, 37.417140001078906 ], [ -122.0642729999918, 37.419039000421456 ], [ -122.062372000201677, 37.419039000652305 ], [ -122.062136000175727, 37.419039000606972 ], [ -122.060971999915921, 37.419039000530674 ], [ -122.060154000127497, 37.421342000984062 ], [ -122.059474999726604, 37.423255001094951 ], [ -122.05910500022388, 37.424297000781458 ], [ -122.058771999452915, 37.424739000838485 ], [ -122.058587999654137, 37.425363000292258 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 421, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.013070999466706, 37.395540000927376 ], [ -122.012470999553017, 37.397140000901807 ], [ -122.012270999604894, 37.397740000940075 ], [ -122.012271000231991, 37.397940000789838 ], [ -122.012070999815691, 37.398540000384493 ], [ -122.010970999995052, 37.401740000793971 ], [ -122.010482999937906, 37.403204001007452 ], [ -122.010071000167443, 37.404440000691459 ], [ -122.010171000126164, 37.406440000734442 ], [ -122.011271000378002, 37.406240000381125 ], [ -122.010270999724312, 37.406640001016903 ], [ -122.006155999626898, 37.407559001122493 ], [ -122.004862000314063, 37.407801000867693 ], [ -122.000370999767981, 37.408640000685686 ], [ -122.000071000084162, 37.408740000561892 ], [ -121.999370999980783, 37.409140000876299 ], [ -121.998671000459481, 37.409240000812382 ], [ -121.997870999575383, 37.409340000711069 ], [ -121.996070999780756, 37.409640000853877 ], [ -121.995870999553816, 37.409740000902367 ], [ -121.995871000319326, 37.409540000814417 ], [ -121.996070999698333, 37.406240000946212 ], [ -121.996070999596228, 37.40494000079692 ], [ -121.996070999723884, 37.403140000965919 ], [ -121.99607100036809, 37.400140000969223 ], [ -121.995934000287647, 37.399527000763086 ], [ -121.99586999950462, 37.399240000644603 ], [ -121.996169999590762, 37.399240000938477 ], [ -121.99640499992644, 37.39919000093326 ], [ -121.997232999695242, 37.39914200107674 ], [ -121.997270999556008, 37.3991400005945 ], [ -121.998270999426254, 37.399140000268403 ], [ -121.99927099942542, 37.399040000699017 ], [ -122.004270999563303, 37.398940000342208 ], [ -122.007470999478528, 37.399240000377119 ], [ -122.008370999413955, 37.399540000369136 ], [ -122.009171000155789, 37.397040000544322 ], [ -122.008170999674448, 37.396940000509069 ], [ -122.008376999965606, 37.396184000460529 ], [ -122.009865000472189, 37.396448000625576 ], [ -122.009981999389439, 37.396092001018609 ], [ -122.01034899948101, 37.39497900033269 ], [ -122.01035799968038, 37.394945000237669 ], [ -122.010570999418562, 37.395040001077462 ], [ -122.012753000506535, 37.395456000442579 ], [ -122.013070999466706, 37.395540000927376 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 414, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.955549999664598, 37.388956000622692 ], [ -121.955385999580926, 37.389032000746013 ], [ -121.955169000106011, 37.389140000535896 ], [ -121.952069000020117, 37.390540000462153 ], [ -121.950369000106107, 37.391840000245345 ], [ -121.949469000514654, 37.392240001129039 ], [ -121.947468999720158, 37.393040000937567 ], [ -121.94260000028487, 37.395174001008513 ], [ -121.942051000523307, 37.39541300024613 ], [ -121.941150000123656, 37.395833000922877 ], [ -121.941106999841892, 37.395845000260024 ], [ -121.941068000088364, 37.395740000683006 ], [ -121.941168000216464, 37.395440000413316 ], [ -121.93956799942579, 37.389440000670753 ], [ -121.93976799973629, 37.389340001051586 ], [ -121.936567999624501, 37.386840000980683 ], [ -121.936384999844179, 37.386670000410078 ], [ -121.936287999424351, 37.386428000612838 ], [ -121.936292999986463, 37.386186000791263 ], [ -121.936270000107058, 37.385982000260725 ], [ -121.936199999584957, 37.385788000914602 ], [ -121.936110999768445, 37.385508001101201 ], [ -121.936118000229214, 37.385046000518585 ], [ -121.93612699977929, 37.384590001001527 ], [ -121.93628699947925, 37.384291000230242 ], [ -121.936452000225884, 37.384062001051504 ], [ -121.936598000495181, 37.383945001118825 ], [ -121.936942000064292, 37.383670000987443 ], [ -121.937168000498374, 37.383540001072113 ], [ -121.938668000455664, 37.381840000822727 ], [ -121.938667999896509, 37.381189000794777 ], [ -121.938668000378328, 37.380540000788848 ], [ -121.939667999922094, 37.379940000378589 ], [ -121.940967999527885, 37.378540000699431 ], [ -121.941068000446975, 37.378340000989212 ], [ -121.941667999772221, 37.377340000941828 ], [ -121.942055999727572, 37.376585000229312 ], [ -121.942268000474698, 37.376640000283473 ], [ -121.944367999436125, 37.377140000283632 ], [ -121.944968000465451, 37.37714000084295 ], [ -121.948168999758522, 37.377840000794535 ], [ -121.94886900026944, 37.377940000940981 ], [ -121.950669000072978, 37.378340000613029 ], [ -121.961969000029796, 37.381240000603924 ], [ -121.962268999626332, 37.381440000428107 ], [ -121.963568999593022, 37.381740000860965 ], [ -121.963902000264099, 37.381856000977656 ], [ -121.96405499975441, 37.381917000615665 ], [ -121.963794999959404, 37.382356000623211 ], [ -121.963768999965481, 37.382440000821013 ], [ -121.96376799970939, 37.38244300074701 ], [ -121.963669000362756, 37.382640001033451 ], [ -121.963068999750888, 37.383640000793825 ], [ -121.962869000250308, 37.383940000970455 ], [ -121.96146899985014, 37.386240000414404 ], [ -121.96076899983953, 37.386540001073925 ], [ -121.958917000078159, 37.387397000713975 ], [ -121.955549999664598, 37.388956000622692 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 443, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.98416999941729, 37.36634100064358 ], [ -121.986870000518394, 37.366741000634377 ], [ -121.987469999893221, 37.366741000378113 ], [ -121.988070000419199, 37.366741000692294 ], [ -121.989969999404579, 37.36664100070152 ], [ -121.990669999614596, 37.366641000833795 ], [ -121.993270000106335, 37.366641000834896 ], [ -121.994569999427242, 37.366641001019296 ], [ -121.996370000422147, 37.366541000682084 ], [ -121.996469999557547, 37.366541001070146 ], [ -121.996770000000652, 37.369941000598928 ], [ -121.996969999530364, 37.370341000796813 ], [ -121.99637000038166, 37.370341000416396 ], [ -121.995764000115244, 37.370337000825067 ], [ -121.990269999534462, 37.370341001041851 ], [ -121.987569999999678, 37.370241001057089 ], [ -121.985738999545319, 37.370222000488376 ], [ -121.982670000074009, 37.370239000320076 ], [ -121.982270000212807, 37.370241001089887 ], [ -121.982145000173944, 37.370236000847605 ], [ -121.977368999695685, 37.370041000888648 ], [ -121.977268999457479, 37.370041000531074 ], [ -121.977269000031683, 37.36964100104548 ], [ -121.976669000410197, 37.367541001085009 ], [ -121.97646899980289, 37.367041000278171 ], [ -121.976068999535102, 37.364841001069749 ], [ -121.975868999582502, 37.363841000902191 ], [ -121.975769000163126, 37.362941000316027 ], [ -121.977169000225686, 37.36294100101469 ], [ -121.978169000036132, 37.363041000336295 ], [ -121.980269000016548, 37.363041000779845 ], [ -121.980868999600162, 37.363241000965971 ], [ -121.98146999950346, 37.363541000662657 ], [ -121.98187000010968, 37.364241000507874 ], [ -121.982370000393402, 37.365041000674189 ], [ -121.98416999941729, 37.36634100064358 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 437, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.968669000080553, 37.355541000686586 ], [ -121.968668999684027, 37.358741000984537 ], [ -121.968774999964182, 37.360668000434949 ], [ -121.968799999996421, 37.361120000707828 ], [ -121.968568999477895, 37.361441001076592 ], [ -121.96746899969412, 37.363341000593898 ], [ -121.96636900045371, 37.366141000434233 ], [ -121.960650000140319, 37.363628000353032 ], [ -121.959883999622505, 37.363291000673215 ], [ -121.959768999998957, 37.363241000999736 ], [ -121.95976900012829, 37.360830000834994 ], [ -121.959769000106661, 37.36074100079064 ], [ -121.959919999542009, 37.359335001002371 ], [ -121.959768999445444, 37.358741000239704 ], [ -121.959768999737818, 37.357041000435231 ], [ -121.959768999566222, 37.355541000528703 ], [ -121.959769000058031, 37.353141000999578 ], [ -121.959769000297271, 37.352141000466808 ], [ -121.962069000511264, 37.352141000640742 ], [ -121.965168999647318, 37.352141000268553 ], [ -121.968668999782224, 37.352041000459536 ], [ -121.96866899988774, 37.353341000855579 ], [ -121.968669000080553, 37.355541000686586 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 444, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.986702999556059, 37.362564000857446 ], [ -121.986770000328249, 37.362541000956107 ], [ -121.986664999792112, 37.362357001097678 ], [ -121.986570000277339, 37.36184100056434 ], [ -121.984670000060618, 37.358041000897749 ], [ -121.984270000101844, 37.356841000824758 ], [ -121.984168999896482, 37.353941000874336 ], [ -121.984187000222192, 37.352041000342005 ], [ -121.984483000254102, 37.352041001092999 ], [ -121.986969999982435, 37.352041000949356 ], [ -121.988969999616771, 37.352041000689965 ], [ -121.993170000250657, 37.352041000466478 ], [ -121.995269999980152, 37.352041000292523 ], [ -121.995569999477837, 37.352041000953513 ], [ -121.996269999866982, 37.352041000450576 ], [ -121.996369999769129, 37.354441000849967 ], [ -121.996370000269835, 37.355041000265246 ], [ -121.996404000278389, 37.358297001068337 ], [ -121.99637699984585, 37.359379000300173 ], [ -121.996371999944969, 37.359564000798137 ], [ -121.996369999999402, 37.359641000692989 ], [ -121.996369999736615, 37.360441000410674 ], [ -121.996370000039093, 37.361541000307128 ], [ -121.996369999526976, 37.363741000395507 ], [ -121.996398999440501, 37.364553001078512 ], [ -121.996469999557547, 37.366541001070146 ], [ -121.996370000422147, 37.366541000682084 ], [ -121.994569999427242, 37.366641001019296 ], [ -121.993270000106335, 37.366641000834896 ], [ -121.990669999614596, 37.366641000833795 ], [ -121.989969999404579, 37.36664100070152 ], [ -121.988070000419199, 37.366741000692294 ], [ -121.987469999893221, 37.366741000378113 ], [ -121.986702999556059, 37.362564000857446 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 439, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.968986000316121, 37.345149000952766 ], [ -121.970227999609236, 37.342043000227683 ], [ -121.97046899965359, 37.34144100097113 ], [ -121.970069000189142, 37.340341000758897 ], [ -121.970508999457749, 37.340211000654691 ], [ -121.971280000255376, 37.33998200063521 ], [ -121.972768999984552, 37.339541000597272 ], [ -121.977068999542055, 37.338241000584993 ], [ -121.977868999986129, 37.340041000412022 ], [ -121.977869000053019, 37.341641000659983 ], [ -121.977868999722361, 37.346341001095453 ], [ -121.977769000206948, 37.347141000706095 ], [ -121.977869000236581, 37.348041001056266 ], [ -121.977769000249253, 37.348741000879386 ], [ -121.977868999854778, 37.34974100053514 ], [ -121.977969000154701, 37.350541000929859 ], [ -121.977969000281746, 37.35204100074413 ], [ -121.974468999528014, 37.352041000617604 ], [ -121.973929000309866, 37.352047000336597 ], [ -121.973839999666609, 37.352048000306112 ], [ -121.973569000336113, 37.352041000691671 ], [ -121.972068999949911, 37.352041000900741 ], [ -121.97086899978585, 37.352041000348642 ], [ -121.97036899974465, 37.352041000730999 ], [ -121.968668999782224, 37.352041000459536 ], [ -121.968770000060545, 37.351370000915111 ], [ -121.968668999965473, 37.345941000521947 ], [ -121.968986000316121, 37.345149000952766 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 436, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.956667999802832, 37.350341000419654 ], [ -121.956267999753749, 37.349741000646702 ], [ -121.95586799999198, 37.34904100104864 ], [ -121.955568000157783, 37.348541000281571 ], [ -121.954868000141758, 37.348141000560155 ], [ -121.954368000524198, 37.347241000433819 ], [ -121.95216800019189, 37.348041001101237 ], [ -121.951667999700291, 37.347141000562978 ], [ -121.951067999862389, 37.346141000517591 ], [ -121.953368000261349, 37.345441000871624 ], [ -121.95286799973303, 37.344441001128125 ], [ -121.953468000251235, 37.34424100041052 ], [ -121.953968000427508, 37.344041001111357 ], [ -121.954568000509184, 37.343841001065975 ], [ -121.954968000081337, 37.34374100094054 ], [ -121.957268000341372, 37.343641000564695 ], [ -121.959667999470966, 37.343441000771719 ], [ -121.960200000486083, 37.343316000920993 ], [ -121.961369000089476, 37.343041000290789 ], [ -121.962369000451389, 37.342741000314497 ], [ -121.963569000061085, 37.342441001065012 ], [ -121.964568999651817, 37.342141000369821 ], [ -121.964958000380022, 37.342011001021397 ], [ -121.965843999712149, 37.341716000340533 ], [ -121.966517999910124, 37.341491000397639 ], [ -121.966969000441054, 37.341341000522291 ], [ -121.96765199971685, 37.341121000336315 ], [ -121.970069000189142, 37.340341000758897 ], [ -121.97046899965359, 37.34144100097113 ], [ -121.970227999609236, 37.342043000227683 ], [ -121.968986000316121, 37.345149000952766 ], [ -121.968668999965473, 37.345941000521947 ], [ -121.968770000060545, 37.351370000915111 ], [ -121.968668999782224, 37.352041000459536 ], [ -121.965168999647318, 37.352141000268553 ], [ -121.962069000511264, 37.352141000640742 ], [ -121.959769000297271, 37.352141000466808 ], [ -121.959569000196154, 37.352141000844824 ], [ -121.957668999450163, 37.352141001086558 ], [ -121.956968000294481, 37.350841001050732 ], [ -121.956667999802832, 37.350341000419654 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 466, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.943368000046704, 37.323241000909221 ], [ -121.944468000372382, 37.323341000796532 ], [ -121.945768000462053, 37.323241000372619 ], [ -121.946167999967869, 37.323242000401812 ], [ -121.946868000387397, 37.32334200099212 ], [ -121.950167999673369, 37.32314200090245 ], [ -121.950168000330777, 37.324841001057749 ], [ -121.950164000223978, 37.325541000422497 ], [ -121.950188000064145, 37.326929001029455 ], [ -121.950168000362709, 37.327241000748089 ], [ -121.95016799973601, 37.327941001075345 ], [ -121.950167000018141, 37.328376000244567 ], [ -121.950163999701246, 37.328541000439515 ], [ -121.950187000121772, 37.329512000703069 ], [ -121.950167000127038, 37.329737000860796 ], [ -121.950168000003586, 37.32984100054653 ], [ -121.950268000153017, 37.331241000951366 ], [ -121.950167999806212, 37.332541000623145 ], [ -121.950168000021378, 37.332841000259606 ], [ -121.950168000255331, 37.33324100035243 ], [ -121.950267999566464, 37.333641000845482 ], [ -121.950167999407228, 37.333941000891315 ], [ -121.95026799999826, 37.33464100090454 ], [ -121.950267999747382, 37.336441000589026 ], [ -121.950167999696959, 37.337341001118737 ], [ -121.950267999560154, 37.33814100025495 ], [ -121.943768000441324, 37.338141000941818 ], [ -121.943668000119203, 37.33784100026903 ], [ -121.943667999480596, 37.337641000483167 ], [ -121.94136800049796, 37.337641000397099 ], [ -121.940568000199207, 37.33774100108549 ], [ -121.939668000006748, 37.337841000518736 ], [ -121.938067999668121, 37.337841000770482 ], [ -121.935591999641304, 37.337841001000513 ], [ -121.935572000431534, 37.337531000930525 ], [ -121.935123999439512, 37.337541000370301 ], [ -121.93492699999419, 37.337546000541622 ], [ -121.934649000308724, 37.337801000357032 ], [ -121.934183000048591, 37.33776500048468 ], [ -121.933867000355917, 37.337741001064551 ], [ -121.932666999583873, 37.337841000328311 ], [ -121.932466999640354, 37.337941000424259 ], [ -121.932259000363246, 37.338264000293989 ], [ -121.931566999879436, 37.339341000479287 ], [ -121.931267000187546, 37.339741000827303 ], [ -121.930818999533074, 37.339405000933873 ], [ -121.93046699979196, 37.339141000933871 ], [ -121.93226699956918, 37.337741000357475 ], [ -121.932933000078393, 37.337075001095677 ], [ -121.933267000034945, 37.336741000406157 ], [ -121.935166999481282, 37.335341000709803 ], [ -121.935667000349312, 37.334941000286662 ], [ -121.935966999930187, 37.334841000874754 ], [ -121.936167000390043, 37.334541000385393 ], [ -121.936468000188725, 37.334341001131492 ], [ -121.937467999981365, 37.333641000660251 ], [ -121.937667999494764, 37.333441000569707 ], [ -121.939368000435351, 37.331941000869008 ], [ -121.94056800036121, 37.330141000431524 ], [ -121.940679000076187, 37.329250000665915 ], [ -121.940967999521732, 37.326941000997678 ], [ -121.940668000133243, 37.323141000327851 ], [ -121.940967999541087, 37.323141000863146 ], [ -121.94146799971098, 37.323141000976072 ], [ -121.943068000169674, 37.323241001046448 ], [ -121.943368000046704, 37.323241000909221 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 461, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.975069000070349, 37.329941000736056 ], [ -121.975569000513929, 37.32984100045676 ], [ -121.977768999669507, 37.329842000904684 ], [ -121.97926900048698, 37.329842000441914 ], [ -121.981169000355806, 37.329842000237583 ], [ -121.982068999953142, 37.32994200095181 ], [ -121.98296900013402, 37.329942000346136 ], [ -121.98376899976941, 37.330042000968767 ], [ -121.984668999755542, 37.330142000863226 ], [ -121.985468999815595, 37.330142000915806 ], [ -121.985869000513972, 37.330242000639792 ], [ -121.986368999990091, 37.330242000514545 ], [ -121.987668999486061, 37.330742001122459 ], [ -121.988769000145027, 37.331042000818734 ], [ -121.990069000175353, 37.3314420004765 ], [ -121.990368999996136, 37.331442000307902 ], [ -121.991169000373787, 37.331342000709832 ], [ -121.992068999872885, 37.331342000359861 ], [ -121.994569999987206, 37.331242000536193 ], [ -121.995869999670163, 37.331242000703519 ], [ -121.995869999504649, 37.33257000094855 ], [ -121.995870000006263, 37.334642000992275 ], [ -121.99586999957063, 37.335341000838042 ], [ -121.995969999458936, 37.337741000734098 ], [ -121.992970000230841, 37.337741000530684 ], [ -121.989989999559612, 37.337741000328947 ], [ -121.987768999975657, 37.337741000619999 ], [ -121.986569000102321, 37.337741000367224 ], [ -121.985568999918073, 37.337741000467403 ], [ -121.984069000361742, 37.337741000543275 ], [ -121.98286899972166, 37.337741000597902 ], [ -121.981569000003987, 37.337741001046318 ], [ -121.981269000186387, 37.337741000369476 ], [ -121.980666000143927, 37.33778100088535 ], [ -121.980240999623703, 37.337810000422458 ], [ -121.980025999922105, 37.337824000800772 ], [ -121.979768999688503, 37.337841000624337 ], [ -121.97959300013332, 37.337806000977679 ], [ -121.97926899964564, 37.337741000730709 ], [ -121.978906999657013, 37.337781001054367 ], [ -121.978369000422745, 37.33784100028015 ], [ -121.977068999542055, 37.338241000584993 ], [ -121.976469000242133, 37.337341000709173 ], [ -121.976068999894935, 37.336741000271694 ], [ -121.975568999754287, 37.336141000557767 ], [ -121.97516899991075, 37.33544100091013 ], [ -121.974769000482723, 37.334841000531753 ], [ -121.974469000033721, 37.334141000623539 ], [ -121.974269000287677, 37.333341001015597 ], [ -121.974268999649453, 37.332641000773542 ], [ -121.974269000435712, 37.332041000256119 ], [ -121.975068999703581, 37.33064100042477 ], [ -121.975069000070349, 37.329941000736056 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 462, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.981169000355806, 37.329842000237583 ], [ -121.97926900048698, 37.329842000441914 ], [ -121.977768999669507, 37.329842000904684 ], [ -121.975569000513929, 37.32984100045676 ], [ -121.975069000070349, 37.329941000736056 ], [ -121.974868999488152, 37.32914200031491 ], [ -121.974789000311461, 37.328583001059307 ], [ -121.974768999898828, 37.328442001046298 ], [ -121.974769000209605, 37.327642000353457 ], [ -121.974968999735552, 37.326742001097564 ], [ -121.975268999844985, 37.324742000484576 ], [ -121.975569000306962, 37.323042000919848 ], [ -121.977268999899508, 37.323042000641514 ], [ -121.978968999734022, 37.323042000268423 ], [ -121.981668999578218, 37.322942000249434 ], [ -121.982668999615981, 37.322942000351922 ], [ -121.984269000301396, 37.322942000422316 ], [ -121.985268999418452, 37.322942001069272 ], [ -121.987469000050595, 37.322942000516854 ], [ -121.988168999617557, 37.322942000317319 ], [ -121.98956899998646, 37.322942001021183 ], [ -121.990568999549183, 37.322942001030071 ], [ -121.99186900023237, 37.322942001031983 ], [ -121.992169000155101, 37.322942000596079 ], [ -121.992768999582836, 37.322842000948413 ], [ -121.995868999720969, 37.322842000443821 ], [ -121.996270000318589, 37.322842000361248 ], [ -121.996569999944469, 37.322842000475717 ], [ -121.996369999786083, 37.324142001069973 ], [ -121.996169999881388, 37.325042000670926 ], [ -121.995970000018488, 37.32804200090407 ], [ -121.995870000427942, 37.328542000561924 ], [ -121.995969999690402, 37.329342000338038 ], [ -121.995869999670163, 37.331242000703519 ], [ -121.994569999987206, 37.331242000536193 ], [ -121.992068999872885, 37.331342000359861 ], [ -121.991169000373787, 37.331342000709832 ], [ -121.990368999996136, 37.331442000307902 ], [ -121.990069000175353, 37.3314420004765 ], [ -121.988769000145027, 37.331042000818734 ], [ -121.987668999486061, 37.330742001122459 ], [ -121.986368999990091, 37.330242000514545 ], [ -121.985869000513972, 37.330242000639792 ], [ -121.985468999815595, 37.330142000915806 ], [ -121.984668999755542, 37.330142000863226 ], [ -121.98376899976941, 37.330042000968767 ], [ -121.98296900013402, 37.329942000346136 ], [ -121.982068999953142, 37.32994200095181 ], [ -121.981169000355806, 37.329842000237583 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 477, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.981368999719365, 37.308342000708002 ], [ -121.982169000145788, 37.308442000251091 ], [ -121.983069000042462, 37.308442000883403 ], [ -121.983268999783689, 37.308442000592784 ], [ -121.983969000013602, 37.308442000978694 ], [ -121.984268999651135, 37.30844200038721 ], [ -121.985068999822587, 37.308442000808824 ], [ -121.987969000206277, 37.308442000586652 ], [ -121.989668999900033, 37.308442000314798 ], [ -121.990168999521828, 37.308442000355015 ], [ -121.993068999993454, 37.308442000399054 ], [ -121.993869000185597, 37.309542000849568 ], [ -121.996269000518154, 37.309542000451899 ], [ -121.996255000372685, 37.309640000903073 ], [ -121.996169000266235, 37.310242000901354 ], [ -121.99606899946572, 37.311342000627128 ], [ -121.996069000224594, 37.311925001053083 ], [ -121.996068999507514, 37.315042001123196 ], [ -121.996069000343951, 37.315642000803969 ], [ -121.996068999444702, 37.316142001080131 ], [ -121.996168999418629, 37.318642000339686 ], [ -121.996168999907241, 37.318942000914511 ], [ -121.996168999718236, 37.320442000840487 ], [ -121.996168999879174, 37.32094200073562 ], [ -121.993069000044699, 37.319342000995618 ], [ -121.992268999389935, 37.31894200106553 ], [ -121.991566000007921, 37.318726000801618 ], [ -121.990969000441396, 37.318542000801465 ], [ -121.990769000352103, 37.318519000494106 ], [ -121.988368999816501, 37.31824200062632 ], [ -121.987908999828988, 37.318235000386508 ], [ -121.987722999554691, 37.318232000422512 ], [ -121.98632299979279, 37.318211000242407 ], [ -121.986169000406306, 37.318209000283531 ], [ -121.985960000012156, 37.318206000571898 ], [ -121.985268999872559, 37.318196000604068 ], [ -121.984498999839417, 37.318184000822683 ], [ -121.98166900029203, 37.318142000941336 ], [ -121.978869000017482, 37.318042000718989 ], [ -121.977569000157175, 37.317842000687605 ], [ -121.975169000279223, 37.317142001049078 ], [ -121.97525799973036, 37.317027000798049 ], [ -121.975869000300492, 37.316242000686408 ], [ -121.97606900044471, 37.315942000779273 ], [ -121.976168999870524, 37.315742000646729 ], [ -121.97706900025257, 37.314242000988976 ], [ -121.977269000171503, 37.31344200100412 ], [ -121.97746900029486, 37.311942000455382 ], [ -121.977469000264023, 37.311242000278924 ], [ -121.977469000068965, 37.310542000922027 ], [ -121.977569000405694, 37.309742000991193 ], [ -121.977868999682983, 37.307942000397617 ], [ -121.979469000292141, 37.308142000762118 ], [ -121.980369000052235, 37.308242000513545 ], [ -121.981368999719365, 37.308342000708002 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 520, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.92632300000966, 37.261711000271283 ], [ -121.925995999869457, 37.261688000464403 ], [ -121.925365999675833, 37.261643001093113 ], [ -121.924966000156701, 37.261743000600397 ], [ -121.92436599942458, 37.261643000519321 ], [ -121.923865999883205, 37.261643001125137 ], [ -121.923265999805309, 37.261643000500101 ], [ -121.922366000290467, 37.261643001075228 ], [ -121.922166000020525, 37.261543000574143 ], [ -121.920565999954803, 37.261543001027178 ], [ -121.919065999759781, 37.260943000472082 ], [ -121.918566000327161, 37.260443000654583 ], [ -121.918165999871732, 37.259743000329273 ], [ -121.917265999951042, 37.25854300050937 ], [ -121.917014999980992, 37.258242001115349 ], [ -121.916765999770121, 37.257943000675006 ], [ -121.916366000495714, 37.257243000501312 ], [ -121.9158660000504, 37.25664300044614 ], [ -121.915365999540953, 37.256043000976717 ], [ -121.913965999864061, 37.254143000831419 ], [ -121.91376600016433, 37.253743000805251 ], [ -121.911664999815287, 37.250843000389551 ], [ -121.913166000396117, 37.250843000499628 ], [ -121.917366000209682, 37.250843000647983 ], [ -121.917866000208392, 37.250843000889176 ], [ -121.921366000155246, 37.250743000454285 ], [ -121.922265999532442, 37.250743000304681 ], [ -121.923166000103535, 37.250743000533127 ], [ -121.924166000452232, 37.250743000369248 ], [ -121.924966000343233, 37.250743000280565 ], [ -121.925665999444476, 37.250743000492093 ], [ -121.925865999998919, 37.250743000700844 ], [ -121.926866000508639, 37.250643000444711 ], [ -121.929933999445453, 37.250575000854845 ], [ -121.931230999877343, 37.251192000732892 ], [ -121.931366000177604, 37.251256001008969 ], [ -121.931365999531749, 37.253443000475201 ], [ -121.93156599996108, 37.253943000953193 ], [ -121.931365999726751, 37.255643000408902 ], [ -121.931466000189218, 37.25624300026341 ], [ -121.9313660001675, 37.256943000943195 ], [ -121.931411000276938, 37.257746001020323 ], [ -121.931412000297428, 37.258623000394486 ], [ -121.931463999677192, 37.259307000816179 ], [ -121.931465999756242, 37.260143000673594 ], [ -121.931466000353794, 37.261643000522994 ], [ -121.928666000440714, 37.261743000823195 ], [ -121.927665999691982, 37.261743001079971 ], [ -121.927036000079369, 37.261743001102246 ], [ -121.92676599977645, 37.261743000853471 ], [ -121.92632300000966, 37.261711000271283 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 523, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.921784999926047, 37.282836000304002 ], [ -121.920365999766645, 37.283942000480813 ], [ -121.920305999781675, 37.283942000284974 ], [ -121.9193660003844, 37.28394200075936 ], [ -121.918666000394424, 37.28404200097949 ], [ -121.916965999876581, 37.284942001055967 ], [ -121.916165999555204, 37.285542000866926 ], [ -121.914490999547468, 37.285911000313014 ], [ -121.913565999481904, 37.286342000583645 ], [ -121.913565999631871, 37.286197000378792 ], [ -121.913565999739149, 37.285042000230717 ], [ -121.91356599942209, 37.283942000613017 ], [ -121.91356599942651, 37.283742000497973 ], [ -121.913565999889116, 37.283042000949401 ], [ -121.913566000476877, 37.281842000891416 ], [ -121.913466000465391, 37.281642000345983 ], [ -121.912866000014773, 37.280842001055071 ], [ -121.912466000434463, 37.280242000664209 ], [ -121.911865999644618, 37.27924200053743 ], [ -121.911066000325064, 37.278142000675068 ], [ -121.910166000055, 37.276942001119359 ], [ -121.909865999715251, 37.276543000240721 ], [ -121.908965999785835, 37.275343000518276 ], [ -121.908465999397748, 37.27444300071587 ], [ -121.907665999484408, 37.27344300038542 ], [ -121.906866000233833, 37.27214300038321 ], [ -121.905765999841151, 37.270643000544041 ], [ -121.90536600047507, 37.269343000533212 ], [ -121.904864999696429, 37.267943000905468 ], [ -121.906865999716828, 37.267443000523265 ], [ -121.907566000240436, 37.267143000762182 ], [ -121.908366000410524, 37.266743000238094 ], [ -121.909065999800049, 37.266443000488685 ], [ -121.909965999703189, 37.266143000463096 ], [ -121.910866000232247, 37.265943001072841 ], [ -121.911665999416712, 37.265643000820894 ], [ -121.912565999753966, 37.265443001032011 ], [ -121.913465999907189, 37.265243000667553 ], [ -121.915165999543476, 37.264643000470969 ], [ -121.916766000135624, 37.263443000958333 ], [ -121.920565999954803, 37.261543001027178 ], [ -121.922166000020525, 37.261543000574143 ], [ -121.922366000290467, 37.261643001075228 ], [ -121.922465999958789, 37.262543000864156 ], [ -121.922465999637069, 37.264543000305416 ], [ -121.92256599989129, 37.26644300031338 ], [ -121.922666000477847, 37.267243000688609 ], [ -121.922266000155489, 37.267243000259377 ], [ -121.921866000370571, 37.268443000487849 ], [ -121.921166000428926, 37.269543000569122 ], [ -121.921065999729663, 37.269843000585716 ], [ -121.921065999856324, 37.270143000736169 ], [ -121.920965999714056, 37.271443000368713 ], [ -121.92096600000427, 37.272243001121574 ], [ -121.920965999538595, 37.272943000561305 ], [ -121.921166000191633, 37.273643000370278 ], [ -121.921565999637878, 37.274343000451658 ], [ -121.922165999897885, 37.275143000912067 ], [ -121.922665999502058, 37.275843000993675 ], [ -121.923266000324148, 37.27654300098893 ], [ -121.923566000070636, 37.278242000432265 ], [ -121.923366000489651, 37.279142000619977 ], [ -121.922566000089077, 37.280842000297717 ], [ -121.922466000211728, 37.281542000695886 ], [ -121.922466000206313, 37.282242000971934 ], [ -121.921784999926047, 37.282836000304002 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 524, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.897465000147278, 37.275043000434621 ], [ -121.896964999970265, 37.274343000838392 ], [ -121.896164999763769, 37.273643000600408 ], [ -121.896064999554739, 37.27334300071707 ], [ -121.895865000306287, 37.272743000680073 ], [ -121.895464999980391, 37.271743000553649 ], [ -121.895064999761132, 37.270743000788151 ], [ -121.897765000188585, 37.269943000446972 ], [ -121.898465000111401, 37.269743001113866 ], [ -121.899664999438698, 37.269343000431007 ], [ -121.900564999663899, 37.269043000428653 ], [ -121.901364999513206, 37.268843000361194 ], [ -121.902265000299153, 37.268643001049199 ], [ -121.903064999417609, 37.268443000225915 ], [ -121.903864999972839, 37.268243000281721 ], [ -121.904864999696429, 37.267943000905468 ], [ -121.90536600047507, 37.269343000533212 ], [ -121.905765999841151, 37.270643000544041 ], [ -121.906866000233833, 37.27214300038321 ], [ -121.907665999484408, 37.27344300038542 ], [ -121.908465999397748, 37.27444300071587 ], [ -121.908965999785835, 37.275343000518276 ], [ -121.909865999715251, 37.276543000240721 ], [ -121.910166000055, 37.276942001119359 ], [ -121.911066000325064, 37.278142000675068 ], [ -121.911865999644618, 37.27924200053743 ], [ -121.912466000434463, 37.280242000664209 ], [ -121.912866000014773, 37.280842001055071 ], [ -121.913466000465391, 37.281642000345983 ], [ -121.913566000476877, 37.281842000891416 ], [ -121.913565999889116, 37.283042000949401 ], [ -121.91356599942651, 37.283742000497973 ], [ -121.91356599942209, 37.283942000613017 ], [ -121.913565999739149, 37.285042000230717 ], [ -121.913565999631871, 37.286197000378792 ], [ -121.913565999481904, 37.286342000583645 ], [ -121.912962999537712, 37.286557000369413 ], [ -121.912165999688469, 37.286842000767109 ], [ -121.911804000139767, 37.287131000603999 ], [ -121.911665999427797, 37.287242000930682 ], [ -121.911222999982471, 37.287353000727009 ], [ -121.910866000399309, 37.287442000414082 ], [ -121.910166000222461, 37.287342000532334 ], [ -121.909865999526104, 37.287442000295762 ], [ -121.909333999694809, 37.287708000391355 ], [ -121.909265999512783, 37.287742001094095 ], [ -121.90866599996987, 37.288142000554366 ], [ -121.90846600000684, 37.288142000361745 ], [ -121.90756600033518, 37.288642000369592 ], [ -121.906965999925688, 37.287842000963316 ], [ -121.906890000320615, 37.287728000532034 ], [ -121.906880999763857, 37.287714000480989 ], [ -121.906566000474371, 37.287242000307472 ], [ -121.906065999427383, 37.286442000728513 ], [ -121.905965999462126, 37.286342000346856 ], [ -121.90536600028372, 37.285342000971319 ], [ -121.904766000122706, 37.284542001130724 ], [ -121.904265999940506, 37.283842001036518 ], [ -121.903566000404467, 37.282842000400422 ], [ -121.902266000209124, 37.281042001000564 ], [ -121.901666000218114, 37.280342000666202 ], [ -121.900765000085229, 37.279142000909232 ], [ -121.900264999487376, 37.278542000932653 ], [ -121.899865000468736, 37.277942000846259 ], [ -121.899265000488782, 37.277242000920467 ], [ -121.898965000357876, 37.276842000244123 ], [ -121.898464999558939, 37.276442000836838 ], [ -121.897964999835196, 37.275642000946235 ], [ -121.897465000147278, 37.275043000434621 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 683, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.894664999671789, 37.269343000899134 ], [ -121.894064999943296, 37.268043000651076 ], [ -121.892765000266721, 37.26514300033606 ], [ -121.892464999599994, 37.264343000246392 ], [ -121.892164999422761, 37.2636430004369 ], [ -121.891865000491734, 37.263143000240319 ], [ -121.891564999849024, 37.262343000432544 ], [ -121.891465000160821, 37.262043000848585 ], [ -121.891404000308029, 37.261921000538919 ], [ -121.891164999688741, 37.261443000390187 ], [ -121.890865000354069, 37.260643000498526 ], [ -121.890564999516627, 37.259943000914227 ], [ -121.890365000078617, 37.259443000974535 ], [ -121.891464999606313, 37.258843000359398 ], [ -121.892465000507485, 37.258443000866308 ], [ -121.893464999481509, 37.257843000319887 ], [ -121.894064999615352, 37.257643000686819 ], [ -121.894264999506802, 37.257443000608475 ], [ -121.894664999863053, 37.257343000369374 ], [ -121.895664999497228, 37.256743000742098 ], [ -121.896764999537837, 37.256243000880445 ], [ -121.898464999560744, 37.255343001029303 ], [ -121.899164999856779, 37.256443000264561 ], [ -121.899465000092945, 37.257043001059138 ], [ -121.899765000292447, 37.257443000340743 ], [ -121.900264999913702, 37.258143000260432 ], [ -121.900664999799659, 37.259043000393845 ], [ -121.901164999945777, 37.259743000969223 ], [ -121.901364999704057, 37.260143000823312 ], [ -121.901664999436065, 37.261043000475581 ], [ -121.90196500031486, 37.26174300047181 ], [ -121.902264999825277, 37.262443000554143 ], [ -121.902565000222523, 37.263143000743426 ], [ -121.902765000462438, 37.263843000797827 ], [ -121.903165000152285, 37.264643000787459 ], [ -121.903465000214737, 37.265343000359692 ], [ -121.904565000135889, 37.267143000270138 ], [ -121.904864999696429, 37.267943000905468 ], [ -121.903864999972839, 37.268243000281721 ], [ -121.903064999417609, 37.268443000225915 ], [ -121.902265000299153, 37.268643001049199 ], [ -121.901364999513206, 37.268843000361194 ], [ -121.900564999663899, 37.269043000428653 ], [ -121.899664999438698, 37.269343000431007 ], [ -121.898465000111401, 37.269743001113866 ], [ -121.897765000188585, 37.269943000446972 ], [ -121.895064999761132, 37.270743000788151 ], [ -121.894765000216879, 37.26994300064144 ], [ -121.894664999671789, 37.269343000899134 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 684, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.898965999472338, 37.255073001045112 ], [ -121.899764999517913, 37.254643000301023 ], [ -121.90036499944523, 37.254443000782778 ], [ -121.901465000229607, 37.253843000343352 ], [ -121.902084999701074, 37.253581000883017 ], [ -121.902818999571693, 37.253271000864999 ], [ -121.903640999996639, 37.252937000353441 ], [ -121.90389400051258, 37.252845000314004 ], [ -121.904698000087279, 37.252637000800675 ], [ -121.904768000170961, 37.25262900072935 ], [ -121.905281000200475, 37.252510000251213 ], [ -121.905731999674146, 37.252350000304247 ], [ -121.905947000347098, 37.252307000392442 ], [ -121.906073000075565, 37.252282000881515 ], [ -121.90626499970918, 37.252243000820904 ], [ -121.906418000325857, 37.25214100109843 ], [ -121.907358999950347, 37.251894000303821 ], [ -121.908126999525408, 37.251667000446815 ], [ -121.908445999654575, 37.251586000942893 ], [ -121.909064999564123, 37.251443000709564 ], [ -121.911124999417368, 37.250968000689348 ], [ -121.911664999815287, 37.250843000389551 ], [ -121.91376600016433, 37.253743000805251 ], [ -121.913965999864061, 37.254143000831419 ], [ -121.915365999540953, 37.256043000976717 ], [ -121.9158660000504, 37.25664300044614 ], [ -121.916366000495714, 37.257243000501312 ], [ -121.916765999770121, 37.257943000675006 ], [ -121.917014999980992, 37.258242001115349 ], [ -121.917265999951042, 37.25854300050937 ], [ -121.918165999871732, 37.259743000329273 ], [ -121.918566000327161, 37.260443000654583 ], [ -121.919065999759781, 37.260943000472082 ], [ -121.920565999954803, 37.261543001027178 ], [ -121.916766000135624, 37.263443000958333 ], [ -121.915165999543476, 37.264643000470969 ], [ -121.913465999907189, 37.265243000667553 ], [ -121.912565999753966, 37.265443001032011 ], [ -121.911665999416712, 37.265643000820894 ], [ -121.910866000232247, 37.265943001072841 ], [ -121.909965999703189, 37.266143000463096 ], [ -121.909065999800049, 37.266443000488685 ], [ -121.908366000410524, 37.266743000238094 ], [ -121.907566000240436, 37.267143000762182 ], [ -121.906865999716828, 37.267443000523265 ], [ -121.904864999696429, 37.267943000905468 ], [ -121.904565000135889, 37.267143000270138 ], [ -121.903465000214737, 37.265343000359692 ], [ -121.903165000152285, 37.264643000787459 ], [ -121.902765000462438, 37.263843000797827 ], [ -121.902565000222523, 37.263143000743426 ], [ -121.902264999825277, 37.262443000554143 ], [ -121.90196500031486, 37.26174300047181 ], [ -121.901664999436065, 37.261043000475581 ], [ -121.901364999704057, 37.260143000823312 ], [ -121.901164999945777, 37.259743000969223 ], [ -121.900664999799659, 37.259043000393845 ], [ -121.900264999913702, 37.258143000260432 ], [ -121.899765000292447, 37.257443000340743 ], [ -121.899465000092945, 37.257043001059138 ], [ -121.899164999856779, 37.256443000264561 ], [ -121.898464999560744, 37.255343001029303 ], [ -121.898965999472338, 37.255073001045112 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 687, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.876163999652917, 37.259043001052369 ], [ -121.875863000432105, 37.256195001102405 ], [ -121.875802999926051, 37.255634000820464 ], [ -121.875763000320177, 37.255253000356504 ], [ -121.875714000512048, 37.254794001061008 ], [ -121.875674999551848, 37.25444100075724 ], [ -121.875569000209111, 37.253488001059281 ], [ -121.875550000070092, 37.253313000508065 ], [ -121.875463999503893, 37.252543000256765 ], [ -121.875264000219389, 37.250943000351967 ], [ -121.874938999781065, 37.249329000991246 ], [ -121.874963999815847, 37.248943000295263 ], [ -121.874939999880283, 37.248823000671337 ], [ -121.87486399982356, 37.248443000463674 ], [ -121.874727999960385, 37.247288000934383 ], [ -121.874664000427188, 37.246743001036002 ], [ -121.874463999951288, 37.245543000705958 ], [ -121.874763999483051, 37.245443000845079 ], [ -121.875364000417278, 37.249443000881087 ], [ -121.876064000393455, 37.24903500076185 ], [ -121.876564000359025, 37.248743001021907 ], [ -121.877864000054942, 37.247943000639587 ], [ -121.878591000439727, 37.249943000380938 ], [ -121.878663999843525, 37.250143001030857 ], [ -121.879063999436724, 37.250043000991042 ], [ -121.87931400006957, 37.249943000396335 ], [ -121.880064000238264, 37.249643000798095 ], [ -121.880763999637239, 37.249243001125507 ], [ -121.88186399946747, 37.248643000821652 ], [ -121.882263999558276, 37.248443000327725 ], [ -121.882965000094643, 37.248074000895322 ], [ -121.884165000435516, 37.247443000634831 ], [ -121.885164999438643, 37.246943000494447 ], [ -121.886064999436925, 37.246443001032326 ], [ -121.886574000446899, 37.246160000887805 ], [ -121.886964999938314, 37.245943000917663 ], [ -121.887465000010238, 37.245943000473027 ], [ -121.888520999448261, 37.246070000446196 ], [ -121.889965000470767, 37.246243000398344 ], [ -121.891965000304353, 37.245543000431759 ], [ -121.892365000395898, 37.246143000854708 ], [ -121.894564999487457, 37.248943000361727 ], [ -121.895182000224224, 37.249943000722261 ], [ -121.89546200046945, 37.250396001005285 ], [ -121.892632999618002, 37.251030000831335 ], [ -121.892001000329046, 37.251169000370538 ], [ -121.890856000301028, 37.251444000243637 ], [ -121.889099000433163, 37.251866000491283 ], [ -121.887353000088609, 37.252376000894209 ], [ -121.885170000493403, 37.252891000959728 ], [ -121.882858000191348, 37.253422000736528 ], [ -121.881055999849906, 37.253859001002461 ], [ -121.880978000120194, 37.253878000817117 ], [ -121.880902000257933, 37.253892000723098 ], [ -121.881164000044379, 37.254746000579551 ], [ -121.881561000165505, 37.25564600058938 ], [ -121.881773999633978, 37.256012000694476 ], [ -121.882659999688826, 37.257996000285253 ], [ -121.882691000483049, 37.258064001036466 ], [ -121.882630000444607, 37.258186000910001 ], [ -121.881764999506672, 37.257643000568017 ], [ -121.881535000147593, 37.257752000385103 ], [ -121.881149000059864, 37.257935000674202 ], [ -121.88043199943715, 37.258064000915184 ], [ -121.880035000308609, 37.258148001109994 ], [ -121.879463999941706, 37.258243001001247 ], [ -121.87937699988403, 37.258262001054014 ], [ -121.87856399980636, 37.258443000747803 ], [ -121.878436999918222, 37.258488000306926 ], [ -121.878172999765994, 37.258583000521156 ], [ -121.877104999820617, 37.258896000936126 ], [ -121.876163999652917, 37.259043001052369 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 525, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.882065000034245, 37.288542000712816 ], [ -121.882440000194705, 37.286762000742058 ], [ -121.882650000324801, 37.285764000511897 ], [ -121.88286500037411, 37.284742000591962 ], [ -121.882965000232844, 37.28414200027062 ], [ -121.882364999982073, 37.282942000978274 ], [ -121.882764999912823, 37.282742000254004 ], [ -121.883564999412741, 37.282442000801908 ], [ -121.886264999629589, 37.281442000703649 ], [ -121.887165000352951, 37.281042001050608 ], [ -121.888065000225779, 37.280742000640934 ], [ -121.888864999421514, 37.280442001015835 ], [ -121.889065000250042, 37.280342000967423 ], [ -121.890064999880394, 37.279942000851868 ], [ -121.8904650002832, 37.279842000709593 ], [ -121.891065000244737, 37.279542000304964 ], [ -121.892164999425546, 37.279242000550731 ], [ -121.892965000502898, 37.2787420009615 ], [ -121.893865000326571, 37.27834200107344 ], [ -121.894764999673129, 37.277942000553416 ], [ -121.895764999592885, 37.27754200035902 ], [ -121.896664999841775, 37.277042000516268 ], [ -121.897565000501729, 37.276642000952947 ], [ -121.898464999558939, 37.276442000836838 ], [ -121.898965000357876, 37.276842000244123 ], [ -121.899265000488782, 37.277242000920467 ], [ -121.899865000468736, 37.277942000846259 ], [ -121.900264999487376, 37.278542000932653 ], [ -121.900765000085229, 37.279142000909232 ], [ -121.901666000218114, 37.280342000666202 ], [ -121.902266000209124, 37.281042001000564 ], [ -121.903566000404467, 37.282842000400422 ], [ -121.904265999940506, 37.283842001036518 ], [ -121.903365999912651, 37.284142000328004 ], [ -121.902365999801773, 37.284542000915359 ], [ -121.901566000384932, 37.284842000656951 ], [ -121.901465999753611, 37.284842000934958 ], [ -121.900865999537331, 37.285042000713233 ], [ -121.900666000385755, 37.285142000840558 ], [ -121.899965999480699, 37.285442000845386 ], [ -121.899065999592509, 37.28574200045562 ], [ -121.89826499980569, 37.286042000786416 ], [ -121.897064999864511, 37.286442000541669 ], [ -121.896064999518956, 37.286742000614019 ], [ -121.894965000373745, 37.287242001041449 ], [ -121.893864999946615, 37.287642000285075 ], [ -121.892865000492506, 37.287942001006797 ], [ -121.891864999942598, 37.288242000407827 ], [ -121.891416999652719, 37.288446000520267 ], [ -121.890764999819297, 37.288742000974629 ], [ -121.889664999511751, 37.289142000429862 ], [ -121.88776500042492, 37.289742000730115 ], [ -121.88446500017119, 37.290942000775289 ], [ -121.88176500036765, 37.291942000813201 ], [ -121.881165000468457, 37.292142000659538 ], [ -121.880864999478803, 37.292142000696046 ], [ -121.882065000034245, 37.288542000712816 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 682, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.877378000049788, 37.266039000721932 ], [ -121.877363999535092, 37.265943000643908 ], [ -121.877075000210539, 37.265473000294413 ], [ -121.876604000201127, 37.264707001128066 ], [ -121.876231000283283, 37.264102000418518 ], [ -121.875763999921517, 37.26334300060342 ], [ -121.876764000376028, 37.26314300088724 ], [ -121.878250000010127, 37.262680000604981 ], [ -121.878691999536045, 37.262558000855982 ], [ -121.878990000316321, 37.262485001036268 ], [ -121.879163999723275, 37.262443000402321 ], [ -121.879900000331403, 37.262230000408039 ], [ -121.880445000422938, 37.262087000721934 ], [ -121.880889999814741, 37.261971000673363 ], [ -121.882164999760249, 37.261643000971333 ], [ -121.885164999777103, 37.26084300110449 ], [ -121.886364999969516, 37.260443000830286 ], [ -121.88695999946782, 37.260286000608751 ], [ -121.888264999872632, 37.259943000956383 ], [ -121.889050000373587, 37.259747000462745 ], [ -121.88906499987101, 37.259743000383118 ], [ -121.890365000078617, 37.259443000974535 ], [ -121.890564999516627, 37.259943000914227 ], [ -121.890865000354069, 37.260643000498526 ], [ -121.891164999688741, 37.261443000390187 ], [ -121.891404000308029, 37.261921000538919 ], [ -121.891465000160821, 37.262043000848585 ], [ -121.891564999849024, 37.262343000432544 ], [ -121.891865000491734, 37.263143000240319 ], [ -121.892164999422761, 37.2636430004369 ], [ -121.892464999599994, 37.264343000246392 ], [ -121.892765000266721, 37.26514300033606 ], [ -121.894064999943296, 37.268043000651076 ], [ -121.894664999671789, 37.269343000899134 ], [ -121.894765000216879, 37.26994300064144 ], [ -121.895064999761132, 37.270743000788151 ], [ -121.892665000499989, 37.271743000444573 ], [ -121.891964999636784, 37.271943000314209 ], [ -121.889364999642822, 37.272543000505799 ], [ -121.888465000251401, 37.272743001088344 ], [ -121.887664999937584, 37.273143000727302 ], [ -121.886865000231666, 37.273343000313631 ], [ -121.886064999707045, 37.273543000757293 ], [ -121.883764999930534, 37.274143000326497 ], [ -121.882764999745831, 37.274342000679773 ], [ -121.881864999754484, 37.274642001128008 ], [ -121.881364999591753, 37.27474200085026 ], [ -121.880264999770418, 37.275042000621809 ], [ -121.879764999408835, 37.275142000752453 ], [ -121.878964999800928, 37.275342000653254 ], [ -121.877964999462307, 37.275642000235756 ], [ -121.87726499964495, 37.275742000979854 ], [ -121.877065000260728, 37.275842000977221 ], [ -121.876365000045226, 37.274342000366794 ], [ -121.876541999901875, 37.274155000799119 ], [ -121.878165000471157, 37.272443000578185 ], [ -121.878464999886504, 37.271843000935696 ], [ -121.878064999772207, 37.270643000351036 ], [ -121.877787999919775, 37.268787000601982 ], [ -121.877378000049788, 37.266039000721932 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 563, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.844163999924035, 37.3104410002992 ], [ -121.844486999605294, 37.310208000378282 ], [ -121.845452999871398, 37.309563000762708 ], [ -121.846278999606909, 37.309042000975722 ], [ -121.846585000386085, 37.308867000570714 ], [ -121.84796399947858, 37.308041000839381 ], [ -121.851163999451188, 37.305642000619351 ], [ -121.851663999968792, 37.305442000918887 ], [ -121.853064000158952, 37.304542000235806 ], [ -121.854264000156547, 37.303642000468443 ], [ -121.856663999804368, 37.301942000510458 ], [ -121.857864000437246, 37.30114200037994 ], [ -121.858564000056077, 37.30074200075034 ], [ -121.86006399984673, 37.302342000389011 ], [ -121.861463999773719, 37.303542000772659 ], [ -121.864063999888415, 37.301742000384188 ], [ -121.866665000409952, 37.299942000609242 ], [ -121.868164999735114, 37.299042000908003 ], [ -121.869164999749202, 37.298342000830004 ], [ -121.871164999904252, 37.296542000270748 ], [ -121.871774000419293, 37.295730000341273 ], [ -121.872298000251163, 37.295031000750889 ], [ -121.872691000381693, 37.294507000241886 ], [ -121.873264999926192, 37.293742000412145 ], [ -121.874764999908336, 37.29304200036291 ], [ -121.875264999403896, 37.292942000881304 ], [ -121.877464999784891, 37.292642000993766 ], [ -121.877610999736319, 37.292653000446272 ], [ -121.878205000102184, 37.292525000622547 ], [ -121.879365000227082, 37.292411000770137 ], [ -121.880465000124758, 37.292242001005377 ], [ -121.880864999478803, 37.292142000696046 ], [ -121.880765000147164, 37.293442000960653 ], [ -121.881465000004653, 37.295942000938304 ], [ -121.881277000113499, 37.296098001010549 ], [ -121.880865000264961, 37.296442000292167 ], [ -121.880765000096659, 37.296742000561508 ], [ -121.880964999434696, 37.297542000840949 ], [ -121.881064999634958, 37.297742000857085 ], [ -121.881164999603044, 37.298942000563315 ], [ -121.88056500047179, 37.300842000811059 ], [ -121.881356999841302, 37.301304000924048 ], [ -121.881765000079653, 37.301542000979239 ], [ -121.881864999770514, 37.302442001061351 ], [ -121.8822649995288, 37.303842001090807 ], [ -121.881864999750363, 37.303842000671381 ], [ -121.880665000489358, 37.303842000311846 ], [ -121.880616000507175, 37.303823000534884 ], [ -121.880552000186967, 37.303841000787202 ], [ -121.880476000375893, 37.303820000516481 ], [ -121.880385000442018, 37.303820000353788 ], [ -121.880143999544813, 37.303812000831719 ], [ -121.878965000094553, 37.303942000752599 ], [ -121.87888799993739, 37.304445000828217 ], [ -121.878764999855051, 37.305242000914511 ], [ -121.879264999534342, 37.305942000233301 ], [ -121.880964999433502, 37.308042000357332 ], [ -121.882964999800151, 37.310442000567186 ], [ -121.882289000460176, 37.310933000749515 ], [ -121.881864999619012, 37.311242000257266 ], [ -121.881065000339973, 37.311741000808688 ], [ -121.880596999460337, 37.312053001096771 ], [ -121.880165000327366, 37.312341001084008 ], [ -121.879265000225658, 37.312841000486792 ], [ -121.878364999794201, 37.313441000285721 ], [ -121.87806499983175, 37.313641001067239 ], [ -121.877065000112026, 37.314441000931495 ], [ -121.876264999980023, 37.31504100045543 ], [ -121.87566500040181, 37.315341001035677 ], [ -121.875164999408511, 37.315741001087368 ], [ -121.874964999404696, 37.315841000629895 ], [ -121.874165000310711, 37.316441000927981 ], [ -121.872573999424162, 37.317106000732394 ], [ -121.87176499986009, 37.3175410007143 ], [ -121.87156499960038, 37.317641000721039 ], [ -121.868864999695163, 37.318441000655532 ], [ -121.865764999990972, 37.319941000696126 ], [ -121.862264999497214, 37.321641000280316 ], [ -121.861865000112942, 37.321841000721733 ], [ -121.86001500035654, 37.319991000794708 ], [ -121.858563999985364, 37.318541000672475 ], [ -121.857964000078923, 37.317841000926322 ], [ -121.856663999892007, 37.31654100029386 ], [ -121.855763999440597, 37.317041000266954 ], [ -121.854964000101944, 37.317541000239494 ], [ -121.854929000090223, 37.317447000813125 ], [ -121.85492899960515, 37.317333000316694 ], [ -121.854919000358734, 37.317239000373107 ], [ -121.854908999586016, 37.317094000427694 ], [ -121.854838999555952, 37.316968000638475 ], [ -121.854768000196259, 37.316893001035389 ], [ -121.854145000477345, 37.316266001063951 ], [ -121.85396400015695, 37.31634100041223 ], [ -121.854563999688139, 37.317041000442835 ], [ -121.854063999858042, 37.317841000832601 ], [ -121.852464000016155, 37.319041000336419 ], [ -121.851963999711259, 37.320441000981944 ], [ -121.852093000253461, 37.32058900072262 ], [ -121.852664000493775, 37.321241000609533 ], [ -121.852953999402615, 37.322207000305163 ], [ -121.853081999761159, 37.322159000687556 ], [ -121.85296400017549, 37.322241000473035 ], [ -121.852864000091103, 37.322241000789099 ], [ -121.852163999779407, 37.321541000382183 ], [ -121.851613000104948, 37.320871000399734 ], [ -121.849963999687219, 37.321841000309881 ], [ -121.848163999446683, 37.320641000935446 ], [ -121.847748000173993, 37.320249000458659 ], [ -121.847615000327281, 37.32014200074611 ], [ -121.84736399957815, 37.319941001082505 ], [ -121.846986000082254, 37.31956300097427 ], [ -121.84692800047128, 37.319505001111629 ], [ -121.846664000336247, 37.319241000831667 ], [ -121.846214999921941, 37.318736000598363 ], [ -121.846064000375264, 37.31856600074304 ], [ -121.845863999742363, 37.318341000331692 ], [ -121.845563999987533, 37.317941000243749 ], [ -121.84543399978206, 37.317822000703231 ], [ -121.845116999991149, 37.3175320005518 ], [ -121.84450400050838, 37.316970000768286 ], [ -121.84436399990642, 37.316841001111804 ], [ -121.844095999493589, 37.316573000939613 ], [ -121.843507999690473, 37.315985000267418 ], [ -121.843364000490894, 37.315841000714414 ], [ -121.842085999571552, 37.31448200032542 ], [ -121.841751000128454, 37.314215000355588 ], [ -121.840363999471307, 37.312841000299898 ], [ -121.841118999913292, 37.312422000281451 ], [ -121.841264000180999, 37.312341000363503 ], [ -121.842165000170112, 37.311758000968169 ], [ -121.842963999669209, 37.31124100057739 ], [ -121.844163999924035, 37.3104410002992 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 578, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.854891000039871, 37.327331000664614 ], [ -121.855064000328483, 37.327489000682277 ], [ -121.855441000305703, 37.327885000391348 ], [ -121.855883999872077, 37.328391000965773 ], [ -121.856065000091291, 37.328582000312942 ], [ -121.856065000039763, 37.32858900105802 ], [ -121.856433000255791, 37.328973001118435 ], [ -121.856618000200967, 37.329166000510433 ], [ -121.857665000247025, 37.330241000488066 ], [ -121.856865000276073, 37.330641000849212 ], [ -121.856365000070952, 37.331041001054103 ], [ -121.856272000123397, 37.331115001018333 ], [ -121.855865000178099, 37.331441000887487 ], [ -121.854565000472547, 37.332341000697376 ], [ -121.853864999441996, 37.332741000320382 ], [ -121.852363999785894, 37.331341000935041 ], [ -121.852285999883037, 37.33126300085717 ], [ -121.852179000160646, 37.3311560007376 ], [ -121.85196399982938, 37.330941000820211 ], [ -121.851744000005525, 37.330704000651743 ], [ -121.851302999872544, 37.330230001091913 ], [ -121.851211000008661, 37.330130000464059 ], [ -121.850664000200794, 37.329641001046909 ], [ -121.850595999810764, 37.329573000973234 ], [ -121.850064000414008, 37.329041000783334 ], [ -121.849263999620817, 37.328041000606007 ], [ -121.848863999629188, 37.327741000500041 ], [ -121.848263999621011, 37.327141001039287 ], [ -121.847864000293811, 37.326641000960038 ], [ -121.847063999763549, 37.325941001126161 ], [ -121.846064000368216, 37.324841000819582 ], [ -121.845789999814272, 37.324635000938436 ], [ -121.84566400051213, 37.324541000761847 ], [ -121.845264000243489, 37.32404100090136 ], [ -121.844964000432668, 37.323841000688503 ], [ -121.843364000287039, 37.322141000770422 ], [ -121.842763999926987, 37.321641001119694 ], [ -121.842264000353751, 37.321141000859207 ], [ -121.841643999738906, 37.320311000473303 ], [ -121.841246999962436, 37.319914000469716 ], [ -121.840655999530171, 37.319269000537474 ], [ -121.84059099952006, 37.3191970005226 ], [ -121.840063999893161, 37.318841001080955 ], [ -121.839563999803218, 37.318441000867722 ], [ -121.839463999966185, 37.318141000652894 ], [ -121.83916400024053, 37.31784100051312 ], [ -121.838663999551002, 37.31734100038593 ], [ -121.83839400019481, 37.316908000947443 ], [ -121.837844000037819, 37.316282000478516 ], [ -121.837356000228041, 37.315809000732244 ], [ -121.836664000038141, 37.315241000730936 ], [ -121.838739000474774, 37.31385800086484 ], [ -121.840363999471307, 37.312841000299898 ], [ -121.841751000128454, 37.314215000355588 ], [ -121.842085999571552, 37.31448200032542 ], [ -121.843364000490894, 37.315841000714414 ], [ -121.843507999690473, 37.315985000267418 ], [ -121.844095999493589, 37.316573000939613 ], [ -121.84436399990642, 37.316841001111804 ], [ -121.84450400050838, 37.316970000768286 ], [ -121.845116999991149, 37.3175320005518 ], [ -121.84543399978206, 37.317822000703231 ], [ -121.845563999987533, 37.317941000243749 ], [ -121.845863999742363, 37.318341000331692 ], [ -121.846064000375264, 37.31856600074304 ], [ -121.846214999921941, 37.318736000598363 ], [ -121.846664000336247, 37.319241000831667 ], [ -121.84692800047128, 37.319505001111629 ], [ -121.846986000082254, 37.31956300097427 ], [ -121.84736399957815, 37.319941001082505 ], [ -121.847615000327281, 37.32014200074611 ], [ -121.847748000173993, 37.320249000458659 ], [ -121.848163999446683, 37.320641000935446 ], [ -121.849963999687219, 37.321841000309881 ], [ -121.850559999865155, 37.322958000300716 ], [ -121.850764000276044, 37.323341000498722 ], [ -121.850857999628957, 37.323404000893277 ], [ -121.850931999586706, 37.323453001073347 ], [ -121.851064000134514, 37.323541000532067 ], [ -121.852263999812365, 37.324741001065313 ], [ -121.853064000001581, 37.325741000441674 ], [ -121.853264000250562, 37.325941000705392 ], [ -121.854264000173117, 37.326741001121512 ], [ -121.854495000001847, 37.326972001130486 ], [ -121.854595000124348, 37.327062000578195 ], [ -121.854891000039871, 37.327331000664614 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 580, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.848863999629188, 37.327741000500041 ], [ -121.849263999620817, 37.328041000606007 ], [ -121.850064000414008, 37.329041000783334 ], [ -121.850595999810764, 37.329573000973234 ], [ -121.850664000200794, 37.329641001046909 ], [ -121.851211000008661, 37.330130000464059 ], [ -121.851302999872544, 37.330230001091913 ], [ -121.851744000005525, 37.330704000651743 ], [ -121.85196399982938, 37.330941000820211 ], [ -121.852179000160646, 37.3311560007376 ], [ -121.852285999883037, 37.33126300085717 ], [ -121.852363999785894, 37.331341000935041 ], [ -121.853864999441996, 37.332741000320382 ], [ -121.854265000078755, 37.333241000858187 ], [ -121.856464999680711, 37.33544100069328 ], [ -121.857265000168979, 37.336241000762435 ], [ -121.857665000506074, 37.336641001027267 ], [ -121.855408000281756, 37.33809200091796 ], [ -121.85486500006219, 37.338441000753811 ], [ -121.854523000013131, 37.338655000757036 ], [ -121.852464999508754, 37.339941000753932 ], [ -121.851837999986486, 37.339384000642767 ], [ -121.851564999771639, 37.339141000291505 ], [ -121.848864000498423, 37.336241000276942 ], [ -121.846163999918758, 37.333541000657213 ], [ -121.841976000513327, 37.32922000109911 ], [ -121.842263999742599, 37.328941000301512 ], [ -121.843564000377398, 37.328141000243562 ], [ -121.843963999696498, 37.328541000584643 ], [ -121.843064000340476, 37.329141000967375 ], [ -121.843564000254801, 37.329841000359757 ], [ -121.845763999402436, 37.328441000774298 ], [ -121.846064000145859, 37.328641000764748 ], [ -121.846663999955922, 37.328241000618632 ], [ -121.847163999465323, 37.327841000911327 ], [ -121.848263999621011, 37.327141001039287 ], [ -121.848863999629188, 37.327741000500041 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 577, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.84566400051213, 37.324541000761847 ], [ -121.845789999814272, 37.324635000938436 ], [ -121.846064000368216, 37.324841000819582 ], [ -121.847063999763549, 37.325941001126161 ], [ -121.847864000293811, 37.326641000960038 ], [ -121.848263999621011, 37.327141001039287 ], [ -121.847163999465323, 37.327841000911327 ], [ -121.846663999955922, 37.328241000618632 ], [ -121.846064000145859, 37.328641000764748 ], [ -121.845763999402436, 37.328441000774298 ], [ -121.843564000254801, 37.329841000359757 ], [ -121.843064000340476, 37.329141000967375 ], [ -121.843963999696498, 37.328541000584643 ], [ -121.843564000377398, 37.328141000243562 ], [ -121.842263999742599, 37.328941000301512 ], [ -121.841976000513327, 37.32922000109911 ], [ -121.84153199976231, 37.328762000760044 ], [ -121.841158999557194, 37.32837700093642 ], [ -121.840797999708769, 37.328004000837623 ], [ -121.840201999950324, 37.327390000465321 ], [ -121.839611000264995, 37.326780000334004 ], [ -121.83916899943307, 37.326324000928686 ], [ -121.838527999989012, 37.325663000702235 ], [ -121.838046000435369, 37.325166000690352 ], [ -121.837743000015436, 37.32485300092592 ], [ -121.837299000479533, 37.324395000971961 ], [ -121.836608999419212, 37.323683001090671 ], [ -121.836181000228535, 37.323242000403837 ], [ -121.835513000149362, 37.32255200055436 ], [ -121.834473000035857, 37.321479000440014 ], [ -121.8335639997741, 37.320541000779926 ], [ -121.83216399941044, 37.319141000505731 ], [ -121.83166399949917, 37.31854100037323 ], [ -121.832563999732287, 37.318041000395034 ], [ -121.833764000450344, 37.317141000238152 ], [ -121.834664000453145, 37.31664100106979 ], [ -121.834941999986981, 37.316446000850121 ], [ -121.836664000038141, 37.315241000730936 ], [ -121.837356000228041, 37.315809000732244 ], [ -121.837844000037819, 37.316282000478516 ], [ -121.83839400019481, 37.316908000947443 ], [ -121.838663999551002, 37.31734100038593 ], [ -121.83916400024053, 37.31784100051312 ], [ -121.839463999966185, 37.318141000652894 ], [ -121.839563999803218, 37.318441000867722 ], [ -121.840063999893161, 37.318841001080955 ], [ -121.84059099952006, 37.3191970005226 ], [ -121.840655999530171, 37.319269000537474 ], [ -121.841246999962436, 37.319914000469716 ], [ -121.841643999738906, 37.320311000473303 ], [ -121.842264000353751, 37.321141000859207 ], [ -121.842763999926987, 37.321641001119694 ], [ -121.843364000287039, 37.322141000770422 ], [ -121.844964000432668, 37.323841000688503 ], [ -121.845264000243489, 37.32404100090136 ], [ -121.84566400051213, 37.324541000761847 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 566, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.868049000043484, 37.28719400070343 ], [ -121.868863000147158, 37.287977000799081 ], [ -121.870798999490347, 37.289842000248932 ], [ -121.871140000341924, 37.290298000498815 ], [ -121.8716030004949, 37.291115000641632 ], [ -121.871697999730898, 37.29136800090928 ], [ -121.871908999424207, 37.291926000254776 ], [ -121.872161000508811, 37.292709000423265 ], [ -121.872176999581086, 37.292759000332488 ], [ -121.87228900046415, 37.293720000563411 ], [ -121.872296000480588, 37.293812000594841 ], [ -121.872315000098723, 37.294063000666569 ], [ -121.872298000251163, 37.295031000750889 ], [ -121.871774000419293, 37.295730000341273 ], [ -121.871164999904252, 37.296542000270748 ], [ -121.869164999749202, 37.298342000830004 ], [ -121.868164999735114, 37.299042000908003 ], [ -121.866665000409952, 37.299942000609242 ], [ -121.864063999888415, 37.301742000384188 ], [ -121.861463999773719, 37.303542000772659 ], [ -121.86006399984673, 37.302342000389011 ], [ -121.858564000056077, 37.30074200075034 ], [ -121.857348999687375, 37.299464000356856 ], [ -121.857227999981845, 37.299337000896244 ], [ -121.856374999542908, 37.298553000875764 ], [ -121.854887000379691, 37.297065000245446 ], [ -121.854466999809958, 37.296645000556808 ], [ -121.854334000086169, 37.296512000680366 ], [ -121.853873999769419, 37.296052000948777 ], [ -121.853803999519315, 37.295982001105671 ], [ -121.853477999841118, 37.295656000585467 ], [ -121.85256399951939, 37.294742000687179 ], [ -121.851963999624544, 37.294142000398239 ], [ -121.850063999427192, 37.292242000944064 ], [ -121.849463999417239, 37.291742000875871 ], [ -121.848964000125576, 37.291242000561482 ], [ -121.848163999763898, 37.290442001069898 ], [ -121.847064000315683, 37.289342000859875 ], [ -121.846650999749968, 37.288950000672124 ], [ -121.846541999600362, 37.288847000231357 ], [ -121.845064000252336, 37.287442000839235 ], [ -121.844981000482463, 37.287364001052524 ], [ -121.842970000362527, 37.285468001024732 ], [ -121.842650000226755, 37.285193000763947 ], [ -121.842292999578405, 37.284896000813028 ], [ -121.84190999976181, 37.284579000420074 ], [ -121.841262999680609, 37.284042000689723 ], [ -121.839763000509095, 37.282442000375767 ], [ -121.839163000437438, 37.281742000876676 ], [ -121.838163000501964, 37.280742000588006 ], [ -121.83696299991314, 37.279642000434336 ], [ -121.837463000257642, 37.279542000689368 ], [ -121.841563000042541, 37.277142000958357 ], [ -121.842563000060466, 37.278142001018772 ], [ -121.842863999621727, 37.279113000484976 ], [ -121.843137999542989, 37.279731000531278 ], [ -121.844161000150109, 37.280723000560982 ], [ -121.844618999390661, 37.281110001055978 ], [ -121.844662999452893, 37.281090000541219 ], [ -121.844670000213497, 37.281093000971545 ], [ -121.846863999808832, 37.282142000786799 ], [ -121.847163999609791, 37.282142001048904 ], [ -121.848652999765832, 37.280254000289531 ], [ -121.849595000141164, 37.280254000271242 ], [ -121.853213999668938, 37.280269000698645 ], [ -121.854195000212684, 37.280250000713515 ], [ -121.856342999539606, 37.280254001016822 ], [ -121.856720000060548, 37.280254000806806 ], [ -121.857559999630439, 37.280248000948184 ], [ -121.858756000042646, 37.280239000703396 ], [ -121.859020000350441, 37.280258001004299 ], [ -121.85922300047126, 37.280271001086447 ], [ -121.860612999899502, 37.280358000654317 ], [ -121.860732000283804, 37.28036500042171 ], [ -121.861083999629699, 37.280387000952871 ], [ -121.861363999629404, 37.280442000374805 ], [ -121.862045000396321, 37.280433000445264 ], [ -121.86384200040618, 37.280011000307312 ], [ -121.864563999526766, 37.279842000797707 ], [ -121.864896999869856, 37.279760000724742 ], [ -121.865168999942355, 37.280417000934214 ], [ -121.865668000477356, 37.281620000992852 ], [ -121.865732000422298, 37.281774001106719 ], [ -121.865870000291622, 37.282107000514344 ], [ -121.866005999407562, 37.282482000732877 ], [ -121.866120000281569, 37.282796001028871 ], [ -121.866909000009784, 37.284969001066067 ], [ -121.867415999684198, 37.286585000834812 ], [ -121.867733000445725, 37.286890000371606 ], [ -121.868049000043484, 37.28719400070343 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 565, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.858756000042646, 37.280239000703396 ], [ -121.857559999630439, 37.280248000948184 ], [ -121.856720000060548, 37.280254000806806 ], [ -121.856342999539606, 37.280254001016822 ], [ -121.854195000212684, 37.280250000713515 ], [ -121.853213999668938, 37.280269000698645 ], [ -121.849595000141164, 37.280254000271242 ], [ -121.848652999765832, 37.280254000289531 ], [ -121.847163999609791, 37.282142001048904 ], [ -121.846863999808832, 37.282142000786799 ], [ -121.844670000213497, 37.281093000971545 ], [ -121.844662999452893, 37.281090000541219 ], [ -121.844618999390661, 37.281110001055978 ], [ -121.844161000150109, 37.280723000560982 ], [ -121.843137999542989, 37.279731000531278 ], [ -121.842863999621727, 37.279113000484976 ], [ -121.842563000060466, 37.278142001018772 ], [ -121.841563000042541, 37.277142000958357 ], [ -121.844162999797547, 37.275642000356626 ], [ -121.845662999687448, 37.274942000628748 ], [ -121.846772999505177, 37.274791000677531 ], [ -121.850063999519506, 37.27434200112485 ], [ -121.851763999502751, 37.274342000618432 ], [ -121.852163999865937, 37.27434200077068 ], [ -121.854863999626474, 37.27434200065445 ], [ -121.855482000178824, 37.274318000645991 ], [ -121.856485000420648, 37.274280000413654 ], [ -121.85705099948035, 37.274258000989207 ], [ -121.857372000048699, 37.27424600064802 ], [ -121.860064000279351, 37.274142000289004 ], [ -121.862064000440611, 37.274342000802108 ], [ -121.862660999584122, 37.274407000773294 ], [ -121.863088999900157, 37.275372001075119 ], [ -121.864819000168112, 37.279572000238055 ], [ -121.864896999869856, 37.279760000724742 ], [ -121.864563999526766, 37.279842000797707 ], [ -121.86384200040618, 37.280011000307312 ], [ -121.862045000396321, 37.280433000445264 ], [ -121.861363999629404, 37.280442000374805 ], [ -121.861083999629699, 37.280387000952871 ], [ -121.860732000283804, 37.28036500042171 ], [ -121.860612999899502, 37.280358000654317 ], [ -121.85922300047126, 37.280271001086447 ], [ -121.859020000350441, 37.280258001004299 ], [ -121.858756000042646, 37.280239000703396 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 573, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.812363999821955, 37.288886000412816 ], [ -121.812961999665418, 37.289142001006951 ], [ -121.813961999995058, 37.289042001085647 ], [ -121.81506300002539, 37.288642000869281 ], [ -121.816663000352008, 37.288542000645364 ], [ -121.818062999919505, 37.289642000436636 ], [ -121.818463000115784, 37.290242000503035 ], [ -121.820362999562391, 37.294542000349757 ], [ -121.820462999490886, 37.294842000866616 ], [ -121.821662999870043, 37.296642000968419 ], [ -121.823162999939001, 37.297842000563847 ], [ -121.824762999490403, 37.298542000572709 ], [ -121.823962999870716, 37.299042000517446 ], [ -121.821362999706196, 37.300542000664187 ], [ -121.819662999529939, 37.301642000531878 ], [ -121.817963000270893, 37.30274100106584 ], [ -121.817304999561571, 37.303151000357225 ], [ -121.816933999482785, 37.303413000255681 ], [ -121.814520999549529, 37.300902001040242 ], [ -121.813190000258416, 37.299514000847999 ], [ -121.812162999710523, 37.298442000912274 ], [ -121.811962999780263, 37.298142000287335 ], [ -121.811230999532924, 37.297301001117646 ], [ -121.811162000031572, 37.297184001040925 ], [ -121.810399000288896, 37.295890000650218 ], [ -121.810277999841702, 37.295684000313052 ], [ -121.810180000327833, 37.295517000690722 ], [ -121.810147999629336, 37.295463001104771 ], [ -121.810074999600346, 37.295079000461186 ], [ -121.810034000021361, 37.294874000728932 ], [ -121.810010000436421, 37.294753000692197 ], [ -121.809934000362958, 37.293854001071729 ], [ -121.809904000040433, 37.293639000569236 ], [ -121.809861999633085, 37.290042001025583 ], [ -121.809561999722206, 37.285542000315196 ], [ -121.809761999685207, 37.285342000973039 ], [ -121.811662000280535, 37.284442001011783 ], [ -121.811962000046876, 37.284342000462267 ], [ -121.81215799958494, 37.284314000625585 ], [ -121.813361999455353, 37.284142000429128 ], [ -121.813761999471993, 37.284142000987877 ], [ -121.813161999930728, 37.285142000668678 ], [ -121.81226200034655, 37.288842000586584 ], [ -121.812363999821955, 37.288886000412816 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 571, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.805951999850265, 37.277297000264042 ], [ -121.808453999811533, 37.277602000707518 ], [ -121.808715000197537, 37.277691000489263 ], [ -121.808861999993781, 37.277586000936161 ], [ -121.810758999908913, 37.277169001052407 ], [ -121.811162000504936, 37.277242000836743 ], [ -121.812961999960194, 37.276542000574239 ], [ -121.813362000082122, 37.277142000329292 ], [ -121.814162000318206, 37.2769420010655 ], [ -121.816661999543001, 37.276842000493993 ], [ -121.817462000386115, 37.276842000821986 ], [ -121.817561999512421, 37.276442000411414 ], [ -121.818461999590198, 37.276442000495912 ], [ -121.819462999447751, 37.276542000834333 ], [ -121.821163000135712, 37.276942000472104 ], [ -121.822562999953448, 37.277942000963122 ], [ -121.822562999672087, 37.278942000291259 ], [ -121.823362999522146, 37.278942000530847 ], [ -121.823363000079283, 37.27964200101696 ], [ -121.823462999753914, 37.280542000761557 ], [ -121.823462999567838, 37.282442000245474 ], [ -121.823662999922988, 37.282842000396968 ], [ -121.824263000411733, 37.283542000792458 ], [ -121.825062999819977, 37.284542000267606 ], [ -121.82526299962683, 37.28474200102864 ], [ -121.825157999718883, 37.284735000885775 ], [ -121.824364000091663, 37.284685001123322 ], [ -121.823588999565715, 37.284637001103228 ], [ -121.822464000413774, 37.284567000631057 ], [ -121.822063000010758, 37.284542000793174 ], [ -121.821831000465977, 37.28446900062076 ], [ -121.821729999937887, 37.284438000994399 ], [ -121.820062999414773, 37.284442000254536 ], [ -121.819563000471192, 37.284442000732973 ], [ -121.818863000263079, 37.284342000648941 ], [ -121.817262999739114, 37.284342000662541 ], [ -121.815562000323666, 37.284242000336803 ], [ -121.814361999611435, 37.28424200112503 ], [ -121.814013999672909, 37.284184000965638 ], [ -121.813901999901674, 37.284165000378671 ], [ -121.813761999471993, 37.284142000987877 ], [ -121.813361999455353, 37.284142000429128 ], [ -121.81215799958494, 37.284314000625585 ], [ -121.811962000046876, 37.284342000462267 ], [ -121.811662000280535, 37.284442001011783 ], [ -121.809761999685207, 37.285342000973039 ], [ -121.809561999722206, 37.285542000315196 ], [ -121.80946200034812, 37.285242000458766 ], [ -121.808662000210077, 37.281942000860013 ], [ -121.808536000175025, 37.281765000387935 ], [ -121.807662000278697, 37.280542000715329 ], [ -121.806762000005975, 37.279242000693465 ], [ -121.806699000406454, 37.27916600025447 ], [ -121.806531000488206, 37.278837000826741 ], [ -121.805562000161331, 37.27714200025811 ], [ -121.805951999850265, 37.277297000264042 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 576, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.827862999455803, 37.308541000903411 ], [ -121.828462999741262, 37.308141000302172 ], [ -121.829162999788537, 37.307541000442335 ], [ -121.829762999827494, 37.307141000283082 ], [ -121.830662999748029, 37.306641000335375 ], [ -121.831363000181113, 37.306141000446772 ], [ -121.832562999490008, 37.305541000938909 ], [ -121.833063000370956, 37.30594100097133 ], [ -121.833663000049853, 37.306541000932796 ], [ -121.833762999607472, 37.306641000327154 ], [ -121.83416300041867, 37.307041000692848 ], [ -121.834363000149722, 37.307241000363476 ], [ -121.834862999536526, 37.307741000770022 ], [ -121.83596399986817, 37.308441000590513 ], [ -121.836463999626545, 37.308941000578088 ], [ -121.837164000152498, 37.309641000635231 ], [ -121.83796400024157, 37.30984100061395 ], [ -121.838164000198788, 37.309941000363132 ], [ -121.838364000197416, 37.309941000835657 ], [ -121.839164000268013, 37.309941000246155 ], [ -121.841063999875644, 37.312041000742845 ], [ -121.841264000180999, 37.312341000363503 ], [ -121.841118999913292, 37.312422000281451 ], [ -121.840363999471307, 37.312841000299898 ], [ -121.838739000474774, 37.31385800086484 ], [ -121.836664000038141, 37.315241000730936 ], [ -121.834941999986981, 37.316446000850121 ], [ -121.834664000453145, 37.31664100106979 ], [ -121.833764000450344, 37.317141000238152 ], [ -121.832563999732287, 37.318041000395034 ], [ -121.83166399949917, 37.31854100037323 ], [ -121.831263999899733, 37.318241000627694 ], [ -121.829562999525464, 37.316341001063307 ], [ -121.829402999519445, 37.316171001102688 ], [ -121.828970000154555, 37.315710000702012 ], [ -121.82724900025454, 37.313879000441986 ], [ -121.827044999754861, 37.313662000422944 ], [ -121.826426999945795, 37.313004001116695 ], [ -121.826013000017795, 37.312564000319888 ], [ -121.825528999500051, 37.312049000931317 ], [ -121.82491899956041, 37.311401000580219 ], [ -121.824862999723138, 37.31134100074906 ], [ -121.825262999872137, 37.310941000726785 ], [ -121.826062999624142, 37.310441001017914 ], [ -121.825462999669554, 37.310041000390839 ], [ -121.826463000139526, 37.309441001107572 ], [ -121.827862999455803, 37.308541000903411 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 575, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.832562999490008, 37.305541000938909 ], [ -121.831363000181113, 37.306141000446772 ], [ -121.830662999748029, 37.306641000335375 ], [ -121.829762999827494, 37.307141000283082 ], [ -121.829162999788537, 37.307541000442335 ], [ -121.828462999741262, 37.308141000302172 ], [ -121.827862999455803, 37.308541000903411 ], [ -121.826463000139526, 37.309441001107572 ], [ -121.825462999669554, 37.310041000390839 ], [ -121.826062999624142, 37.310441001017914 ], [ -121.825262999872137, 37.310941000726785 ], [ -121.824862999723138, 37.31134100074906 ], [ -121.82491899956041, 37.311401000580219 ], [ -121.822812999595243, 37.30940100087868 ], [ -121.822141999713168, 37.308722000448014 ], [ -121.821662999888289, 37.308141000733997 ], [ -121.821363000063769, 37.307741001102137 ], [ -121.820262999715965, 37.30664100091515 ], [ -121.81966299955937, 37.306241000804157 ], [ -121.816933999482785, 37.303413000255681 ], [ -121.817304999561571, 37.303151000357225 ], [ -121.817963000270893, 37.30274100106584 ], [ -121.819662999529939, 37.301642000531878 ], [ -121.821362999706196, 37.300542000664187 ], [ -121.823962999870716, 37.299042000517446 ], [ -121.824762999490403, 37.298542000572709 ], [ -121.825178999420757, 37.298575000400426 ], [ -121.827763000391101, 37.29924200087288 ], [ -121.830462999520165, 37.29964200041001 ], [ -121.832578999459272, 37.300475000400425 ], [ -121.834463000491496, 37.301342000435646 ], [ -121.835762999590798, 37.301542000926908 ], [ -121.83686300039713, 37.301742000898479 ], [ -121.838263999905024, 37.30354200069219 ], [ -121.838763999390792, 37.304242001026623 ], [ -121.838347999577053, 37.306440000986093 ], [ -121.838835999802555, 37.307631000608978 ], [ -121.839079999962223, 37.307928000721802 ], [ -121.839963999404944, 37.308741000326215 ], [ -121.840648999684774, 37.308893000904781 ], [ -121.840863000522972, 37.308941000312053 ], [ -121.840864000289258, 37.308941001092258 ], [ -121.840932999661163, 37.308941000976645 ], [ -121.841863999781808, 37.308941000581832 ], [ -121.842964000412522, 37.309241000244164 ], [ -121.844163999924035, 37.3104410002992 ], [ -121.842963999669209, 37.31124100057739 ], [ -121.842165000170112, 37.311758000968169 ], [ -121.841264000180999, 37.312341000363503 ], [ -121.841063999875644, 37.312041000742845 ], [ -121.839164000268013, 37.309941000246155 ], [ -121.838364000197416, 37.309941000835657 ], [ -121.838164000198788, 37.309941000363132 ], [ -121.83796400024157, 37.30984100061395 ], [ -121.837164000152498, 37.309641000635231 ], [ -121.836463999626545, 37.308941000578088 ], [ -121.83596399986817, 37.308441000590513 ], [ -121.834862999536526, 37.307741000770022 ], [ -121.834363000149722, 37.307241000363476 ], [ -121.83416300041867, 37.307041000692848 ], [ -121.833762999607472, 37.306641000327154 ], [ -121.833663000049853, 37.306541000932796 ], [ -121.833063000370956, 37.30594100097133 ], [ -121.832562999490008, 37.305541000938909 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 567, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.858564000056077, 37.30074200075034 ], [ -121.857864000437246, 37.30114200037994 ], [ -121.856663999804368, 37.301942000510458 ], [ -121.854264000156547, 37.303642000468443 ], [ -121.853064000158952, 37.304542000235806 ], [ -121.851663999968792, 37.305442000918887 ], [ -121.851163999451188, 37.305642000619351 ], [ -121.84796399947858, 37.308041000839381 ], [ -121.847000000158872, 37.307058000666522 ], [ -121.846879000127373, 37.306941000271955 ], [ -121.846755999903749, 37.30682200090169 ], [ -121.846008000298156, 37.306029000554744 ], [ -121.84565700004805, 37.305610000911344 ], [ -121.845464000012782, 37.305442000598887 ], [ -121.845143000214193, 37.305103000986811 ], [ -121.844038000445934, 37.30393700070001 ], [ -121.84366399948189, 37.303542000483219 ], [ -121.842768999451863, 37.302711000726227 ], [ -121.842418000103052, 37.302385000645835 ], [ -121.84226400023752, 37.302242000548937 ], [ -121.842139999850687, 37.302056000260201 ], [ -121.842064000195265, 37.301942000489269 ], [ -121.84168900001319, 37.301630001085407 ], [ -121.841463999670211, 37.301442001017328 ], [ -121.841024999683938, 37.300930000245131 ], [ -121.840863999958174, 37.300742000299437 ], [ -121.840263999889117, 37.300142001062596 ], [ -121.840196000406138, 37.300065000399137 ], [ -121.839563999542875, 37.299342000644074 ], [ -121.838852000315399, 37.298671000932657 ], [ -121.837862999693925, 37.297742000915562 ], [ -121.838347000134632, 37.297210000253436 ], [ -121.838585000171022, 37.297058000239609 ], [ -121.838896000057616, 37.296859000430771 ], [ -121.838998999701317, 37.296778000906713 ], [ -121.83918600034734, 37.296630000642452 ], [ -121.840637000446605, 37.295646000256269 ], [ -121.840804999913644, 37.295502000681147 ], [ -121.841232000343993, 37.295203000382259 ], [ -121.84146400005595, 37.295042000619063 ], [ -121.842165000242503, 37.294547000935204 ], [ -121.842696999414201, 37.294189000726419 ], [ -121.843060000425936, 37.293944000344126 ], [ -121.84346599969156, 37.293668000712131 ], [ -121.843856000315881, 37.293403000257925 ], [ -121.844084000232499, 37.293241000725175 ], [ -121.844190000025606, 37.293166000904868 ], [ -121.844436000061151, 37.29299100055028 ], [ -121.845123000461726, 37.292525000341371 ], [ -121.848163999763898, 37.290442001069898 ], [ -121.848964000125576, 37.291242000561482 ], [ -121.849463999417239, 37.291742000875871 ], [ -121.850063999427192, 37.292242000944064 ], [ -121.851963999624544, 37.294142000398239 ], [ -121.85256399951939, 37.294742000687179 ], [ -121.853477999841118, 37.295656000585467 ], [ -121.853803999519315, 37.295982001105671 ], [ -121.853873999769419, 37.296052000948777 ], [ -121.854334000086169, 37.296512000680366 ], [ -121.854466999809958, 37.296645000556808 ], [ -121.854887000379691, 37.297065000245446 ], [ -121.856374999542908, 37.298553000875764 ], [ -121.857227999981845, 37.299337000896244 ], [ -121.857348999687375, 37.299464000356856 ], [ -121.858564000056077, 37.30074200075034 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 570, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.823362999522146, 37.278942000530847 ], [ -121.823463000016773, 37.278342000960023 ], [ -121.824001999501519, 37.278312000234656 ], [ -121.824226000208085, 37.27830000050546 ], [ -121.824387999955931, 37.278291000768029 ], [ -121.827062999404717, 37.27814200075187 ], [ -121.829863000047624, 37.278142001020093 ], [ -121.830136999877297, 37.278142000921939 ], [ -121.830462999651573, 37.27814200024153 ], [ -121.830680000453015, 37.278142000812451 ], [ -121.831162999401514, 37.278142000597327 ], [ -121.831462999789764, 37.278142000903323 ], [ -121.832162999614582, 37.278142000751615 ], [ -121.832663000321062, 37.278142000819926 ], [ -121.832962999627611, 37.278142000917292 ], [ -121.835463000240168, 37.278242000483061 ], [ -121.836162999898988, 37.278942000623474 ], [ -121.836563000166208, 37.279242000591417 ], [ -121.83696299991314, 37.279642000434336 ], [ -121.83596300019282, 37.280642000489927 ], [ -121.834563000307909, 37.282542000392979 ], [ -121.834462999880202, 37.284142001051713 ], [ -121.83356299982934, 37.283742000360036 ], [ -121.831763000279921, 37.283542000585875 ], [ -121.829063000134695, 37.282942000941375 ], [ -121.827663000114754, 37.282542000504655 ], [ -121.827362999700483, 37.282642000533635 ], [ -121.825377999493952, 37.282540000695526 ], [ -121.823462999567838, 37.282442000245474 ], [ -121.823462999753914, 37.280542000761557 ], [ -121.823363000079283, 37.27964200101696 ], [ -121.823362999522146, 37.278942000530847 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 583, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.813463000490785, 37.331041000458242 ], [ -121.812862999940918, 37.331541001044961 ], [ -121.812462999945552, 37.331741000406083 ], [ -121.811335999464205, 37.330174000382122 ], [ -121.811140999877296, 37.329969000409307 ], [ -121.811063000434629, 37.329841000405054 ], [ -121.810908000416845, 37.329649000973681 ], [ -121.808562999478596, 37.326741000741862 ], [ -121.807462999886141, 37.324241000355272 ], [ -121.807363000196972, 37.323941000287718 ], [ -121.807363000325395, 37.322441000412354 ], [ -121.807311000076979, 37.320852000269184 ], [ -121.807539000503155, 37.318732000402314 ], [ -121.807641000170776, 37.317837000462021 ], [ -121.807646999388922, 37.31772000089159 ], [ -121.807701999899521, 37.316040000379822 ], [ -121.807758999849185, 37.314322000874284 ], [ -121.807758999764161, 37.314013000719832 ], [ -121.807762999976347, 37.313941000297319 ], [ -121.807863000070128, 37.311641000766066 ], [ -121.81096299998201, 37.307141000867517 ], [ -121.812363000138916, 37.308741000814507 ], [ -121.813663000053268, 37.310241000564396 ], [ -121.814063000145197, 37.310641000428923 ], [ -121.814363000144255, 37.310941000568846 ], [ -121.814863000503181, 37.311441000623191 ], [ -121.81556299987929, 37.311941000672135 ], [ -121.815779000135251, 37.312109000917346 ], [ -121.81626299945502, 37.312441001113996 ], [ -121.817462999897273, 37.313241000911809 ], [ -121.818125000153984, 37.313976001063992 ], [ -121.818362999911315, 37.314241000852185 ], [ -121.818862999724431, 37.314741000300167 ], [ -121.819363000372178, 37.315341000830593 ], [ -121.819963000294152, 37.315941000626694 ], [ -121.820562999498478, 37.316541000988025 ], [ -121.821063000472819, 37.317141000653734 ], [ -121.822263000517836, 37.318341000750543 ], [ -121.822662999944328, 37.318841000935549 ], [ -121.823662999837879, 37.319841000237432 ], [ -121.82433900031792, 37.320517001087246 ], [ -121.824962999535188, 37.321141000521905 ], [ -121.826163000275869, 37.322541000792853 ], [ -121.823963000452295, 37.324041001134454 ], [ -121.822963000198328, 37.324741001012974 ], [ -121.82146299981315, 37.32574100063642 ], [ -121.820570000136712, 37.326124000708013 ], [ -121.817762999582655, 37.328241000893669 ], [ -121.815462999579438, 37.329841001077376 ], [ -121.815304000522417, 37.329936000295078 ], [ -121.813463000490785, 37.331041000458242 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 584, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.823963000452295, 37.324041001134454 ], [ -121.826163000275869, 37.322541000792853 ], [ -121.82786300009262, 37.324241000946955 ], [ -121.829214000277517, 37.325861000434102 ], [ -121.829364000059059, 37.326041001126292 ], [ -121.830132000191995, 37.326809000500788 ], [ -121.830363999462449, 37.327041000706785 ], [ -121.831863999823184, 37.328541000511841 ], [ -121.831063999755116, 37.329041000828873 ], [ -121.830464000246863, 37.329541000813542 ], [ -121.829863999932186, 37.329841000575748 ], [ -121.828364000353886, 37.330941000620001 ], [ -121.826463999722804, 37.33224100102953 ], [ -121.826163999715334, 37.332441000547028 ], [ -121.825063000171596, 37.333141000432875 ], [ -121.824110000498095, 37.333593000387602 ], [ -121.824828000068834, 37.334280000667015 ], [ -121.825437000416755, 37.334913000278021 ], [ -121.825776999719452, 37.335258001069533 ], [ -121.826663999691789, 37.334706000951634 ], [ -121.826974999690975, 37.334501000564508 ], [ -121.827863999635383, 37.335341000663384 ], [ -121.828382000267695, 37.335857000685301 ], [ -121.828264000208378, 37.33594100060867 ], [ -121.826664000423236, 37.336941001122092 ], [ -121.826463999702852, 37.337041000364692 ], [ -121.825963999481829, 37.337441000860402 ], [ -121.825264000276661, 37.337940000383071 ], [ -121.824492999846655, 37.338422001098785 ], [ -121.824464000016505, 37.338440001124169 ], [ -121.823564000056919, 37.339040000696542 ], [ -121.822963000193667, 37.339440000387569 ], [ -121.82209499986817, 37.339964000339201 ], [ -121.821762999699104, 37.340240000388143 ], [ -121.821049999922195, 37.340730000909353 ], [ -121.820163000311481, 37.341340000259507 ], [ -121.817814999498054, 37.338668000322535 ], [ -121.817262999912288, 37.33804000085042 ], [ -121.815494999750598, 37.335664001036648 ], [ -121.81500800026059, 37.335011000519629 ], [ -121.813841000311371, 37.333441000883411 ], [ -121.813762999492226, 37.333341001000598 ], [ -121.812955000470993, 37.332346000332684 ], [ -121.812539000223012, 37.331834001085042 ], [ -121.812462999945552, 37.331741000406083 ], [ -121.812862999940918, 37.331541001044961 ], [ -121.813463000490785, 37.331041000458242 ], [ -121.815304000522417, 37.329936000295078 ], [ -121.815462999579438, 37.329841001077376 ], [ -121.817762999582655, 37.328241000893669 ], [ -121.820570000136712, 37.326124000708013 ], [ -121.82146299981315, 37.32574100063642 ], [ -121.822963000198328, 37.324741001012974 ], [ -121.823963000452295, 37.324041001134454 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 642, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.780713000164965, 37.363720000943651 ], [ -121.781736000503642, 37.365627000681904 ], [ -121.781447000453397, 37.365738000411376 ], [ -121.780499999423881, 37.366100000895898 ], [ -121.779400000113071, 37.367623000357931 ], [ -121.779248999428148, 37.367832000225881 ], [ -121.773817000496351, 37.365894000252673 ], [ -121.772931999911165, 37.365703000632053 ], [ -121.772361999573562, 37.365739000607988 ], [ -121.774761999594858, 37.368439000391781 ], [ -121.774762000215446, 37.369539000287602 ], [ -121.775361999477482, 37.369839000682703 ], [ -121.775362000083192, 37.370639000248545 ], [ -121.774261999985029, 37.37153900057934 ], [ -121.774762999876856, 37.372455000509298 ], [ -121.774761999743831, 37.372739000568707 ], [ -121.775048999906389, 37.374939000252922 ], [ -121.77506200033676, 37.375039000600268 ], [ -121.777962000157999, 37.376639000669734 ], [ -121.779561999826882, 37.376439000626554 ], [ -121.781662999656319, 37.37753900066577 ], [ -121.78406299970608, 37.377939001003924 ], [ -121.781163000498935, 37.378639000853106 ], [ -121.775361999446062, 37.377439000880585 ], [ -121.772714999651186, 37.374939000553148 ], [ -121.77176199979958, 37.374039000310468 ], [ -121.772361999765536, 37.373339000882133 ], [ -121.771061999864244, 37.37193900024878 ], [ -121.769962000355449, 37.371939000691974 ], [ -121.762011000436473, 37.364420000539901 ], [ -121.760761999518309, 37.363239000259476 ], [ -121.760546999748641, 37.363222000508564 ], [ -121.760487000231322, 37.363200001111281 ], [ -121.759855000100856, 37.362972000440678 ], [ -121.758160999488283, 37.363039000416407 ], [ -121.754860999416096, 37.363239000414033 ], [ -121.754504999487764, 37.363130000653463 ], [ -121.749562000248446, 37.361621001076259 ], [ -121.745360999744292, 37.360339000402384 ], [ -121.744318000330409, 37.358589000475618 ], [ -121.742261000064374, 37.355139000246993 ], [ -121.741060999484077, 37.35353900100548 ], [ -121.739388000437756, 37.350745000442465 ], [ -121.732560000020442, 37.339340000582013 ], [ -121.732860000223269, 37.338740000544149 ], [ -121.732540000324548, 37.337865000834661 ], [ -121.732624000156079, 37.337251000882567 ], [ -121.732764999537352, 37.336221000972984 ], [ -121.732920999680886, 37.33508800110144 ], [ -121.733134999977267, 37.334035000543722 ], [ -121.734100999440244, 37.333258000864937 ], [ -121.734690999765292, 37.332784000453827 ], [ -121.741938999630392, 37.332044000466645 ], [ -121.743343999524527, 37.331632000382122 ], [ -121.742760000122601, 37.328940001057447 ], [ -121.743122000453965, 37.329222000428466 ], [ -121.743309999877098, 37.329368000298118 ], [ -121.744561000440683, 37.330340001040305 ], [ -121.744656000044955, 37.330228000700487 ], [ -121.744801999909768, 37.330117001092738 ], [ -121.745120000420883, 37.329875000694969 ], [ -121.745248000017455, 37.329778001100451 ], [ -121.74556099977967, 37.329540000646674 ], [ -121.747061000205818, 37.328040000384568 ], [ -121.748061000325592, 37.330740001072733 ], [ -121.750790000178725, 37.331166000535262 ], [ -121.751538000335984, 37.331334000966059 ], [ -121.751949999877596, 37.331639000323236 ], [ -121.753552000264349, 37.333234000523611 ], [ -121.75294200035448, 37.333066001060637 ], [ -121.752727999711212, 37.333241000620589 ], [ -121.759758000378142, 37.336404000846848 ], [ -121.764660999873428, 37.335440000403189 ], [ -121.765161000513331, 37.334240001069404 ], [ -121.767460999732833, 37.333040001057675 ], [ -121.767960999907274, 37.332940000918946 ], [ -121.768660999459925, 37.332840000268789 ], [ -121.769890000288086, 37.332456000591456 ], [ -121.770281000051725, 37.332334001083311 ], [ -121.771675999658655, 37.331898001042774 ], [ -121.771861999772142, 37.331840000449617 ], [ -121.771961999865255, 37.332040000604792 ], [ -121.772017000243451, 37.332150001062054 ], [ -121.772131000278506, 37.332378000410486 ], [ -121.772162000476399, 37.332440000658451 ], [ -121.772362000434114, 37.333240001071964 ], [ -121.772398999453486, 37.33342400086736 ], [ -121.772431000444897, 37.333584000262732 ], [ -121.772535000393461, 37.333829000994818 ], [ -121.774147999646829, 37.335193000721794 ], [ -121.774803000223983, 37.335746000972691 ], [ -121.774913000426565, 37.3358390008352 ], [ -121.775052000479945, 37.33595700112393 ], [ -121.779004999776916, 37.338948000587528 ], [ -121.779442000265504, 37.339139000585945 ], [ -121.779984000046554, 37.339375000476466 ], [ -121.780362000045002, 37.339540000625647 ], [ -121.780862999528964, 37.339473000441387 ], [ -121.781861999531912, 37.339340000238813 ], [ -121.782520000184007, 37.339243000671026 ], [ -121.784446999754849, 37.338960001051291 ], [ -121.78526200043909, 37.338840000969206 ], [ -121.786762000070837, 37.339840000343628 ], [ -121.787182999580182, 37.340191000641632 ], [ -121.787361999880389, 37.340340000691008 ], [ -121.787661999996288, 37.340540000754459 ], [ -121.788494999669211, 37.341145000364719 ], [ -121.789272999834694, 37.341670000885792 ], [ -121.789391999995672, 37.34175000110109 ], [ -121.790561999899708, 37.34254000098273 ], [ -121.790762000180877, 37.342640000324657 ], [ -121.790962000483901, 37.34434000061561 ], [ -121.790462000124762, 37.344940000544838 ], [ -121.790662000105669, 37.346440000419065 ], [ -121.791302999623156, 37.346745001027038 ], [ -121.791510000140349, 37.346881000639833 ], [ -121.79199000013125, 37.347196000507843 ], [ -121.792662000205439, 37.347646001065321 ], [ -121.793287999907136, 37.348065000275902 ], [ -121.793959999443629, 37.348510000998161 ], [ -121.794141999438693, 37.348630001079037 ], [ -121.794625000376584, 37.348905000671188 ], [ -121.794862999848249, 37.349040000709017 ], [ -121.795362999450774, 37.349240000828829 ], [ -121.796062999997289, 37.349740000408737 ], [ -121.796355000106402, 37.34999600082616 ], [ -121.797262999441742, 37.350640000907852 ], [ -121.798162999507241, 37.351240000566335 ], [ -121.798762999955173, 37.351640000468521 ], [ -121.799662999645932, 37.35234000108742 ], [ -121.800062999762758, 37.352540000431659 ], [ -121.800763000041897, 37.352840000938791 ], [ -121.801863000389545, 37.353340000536562 ], [ -121.801863000079607, 37.353840000765956 ], [ -121.801862999956072, 37.354540000301157 ], [ -121.801862999938137, 37.355540000531114 ], [ -121.800662999745512, 37.355540000938873 ], [ -121.79979899962683, 37.355606000623723 ], [ -121.799363000154017, 37.355640000340678 ], [ -121.798762999945581, 37.35564000108991 ], [ -121.798362999503823, 37.35554000057558 ], [ -121.795563000167419, 37.354240000395201 ], [ -121.79498500038747, 37.3542400005826 ], [ -121.79466299944248, 37.354240000411096 ], [ -121.794368000509223, 37.354289000820749 ], [ -121.794063000456291, 37.354340000435528 ], [ -121.793757999848822, 37.35434000077715 ], [ -121.791962999420662, 37.354340000412762 ], [ -121.791864999654265, 37.354346001004437 ], [ -121.791655000038745, 37.354360000488349 ], [ -121.791487000106315, 37.35436000107056 ], [ -121.7912740001359, 37.354321000435597 ], [ -121.791044999690158, 37.354230000966901 ], [ -121.790877000216014, 37.354138000472645 ], [ -121.790556000241082, 37.353963000557847 ], [ -121.79046299973902, 37.354240000668625 ], [ -121.790263000003264, 37.353740000718723 ], [ -121.790149000301327, 37.353766000922121 ], [ -121.788961999407292, 37.354040000966194 ], [ -121.786262000509666, 37.354140000575335 ], [ -121.783221999881832, 37.353173000261883 ], [ -121.781861999865384, 37.352740000548614 ], [ -121.781144999937638, 37.352928000856217 ], [ -121.77771999998987, 37.353825000336656 ], [ -121.777661999626986, 37.353840000333243 ], [ -121.777463000505321, 37.354443000301032 ], [ -121.7783619997643, 37.357940000671135 ], [ -121.779362000107909, 37.359540000793707 ], [ -121.778162000435046, 37.360240000347936 ], [ -121.778962000121197, 37.360740000281346 ], [ -121.780713000164965, 37.363720000943651 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 650, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.80024100028902, 37.325608000725602 ], [ -121.799940000463906, 37.32554400107486 ], [ -121.799319000168836, 37.325427000400374 ], [ -121.799216999673462, 37.32540800056379 ], [ -121.797262000160899, 37.325041000647253 ], [ -121.796704999973898, 37.323416000385158 ], [ -121.79636199957713, 37.322641000805881 ], [ -121.796262000093108, 37.32204100111111 ], [ -121.795961999491894, 37.321441000421672 ], [ -121.795562000511268, 37.320141001095188 ], [ -121.795162000013605, 37.319341001125927 ], [ -121.794161999767283, 37.317841000591763 ], [ -121.793072999751246, 37.31606100051799 ], [ -121.791762000274502, 37.314041001042582 ], [ -121.791769000502043, 37.314040000830445 ], [ -121.793861999587662, 37.313741000966594 ], [ -121.79456800016186, 37.313627000339302 ], [ -121.794761999712662, 37.31354100023723 ], [ -121.796361999565079, 37.313341000294372 ], [ -121.797329999514474, 37.313208000499834 ], [ -121.798275999689835, 37.313086000943571 ], [ -121.798661999902251, 37.313041000326386 ], [ -121.799461999702416, 37.312941000488294 ], [ -121.800062999932834, 37.312777000986792 ], [ -121.80056199955753, 37.312641000316823 ], [ -121.801562000177398, 37.312641001104993 ], [ -121.802161999640063, 37.312441000948333 ], [ -121.802261999786495, 37.312441001045215 ], [ -121.802324000352087, 37.312519000786963 ], [ -121.802270999715049, 37.312435000874274 ], [ -121.802656999731482, 37.312233000319189 ], [ -121.803112000003509, 37.31216300047025 ], [ -121.803899999427813, 37.312041000548767 ], [ -121.804619999557417, 37.311930000624265 ], [ -121.805077999530482, 37.311772001038825 ], [ -121.805155000081811, 37.31176100077375 ], [ -121.805973999727357, 37.31164400051378 ], [ -121.806335999654848, 37.311592000428696 ], [ -121.807863000070128, 37.311641000766066 ], [ -121.807762999976347, 37.313941000297319 ], [ -121.807758999764161, 37.314013000719832 ], [ -121.807758999849185, 37.314322000874284 ], [ -121.807701999899521, 37.316040000379822 ], [ -121.807646999388922, 37.31772000089159 ], [ -121.807641000170776, 37.317837000462021 ], [ -121.807539000503155, 37.318732000402314 ], [ -121.807311000076979, 37.320852000269184 ], [ -121.807363000325395, 37.322441000412354 ], [ -121.807363000196972, 37.323941000287718 ], [ -121.807462999886141, 37.324241000355272 ], [ -121.807100999497919, 37.32430100094048 ], [ -121.80686299961377, 37.324341000982706 ], [ -121.806462999511197, 37.324441000972847 ], [ -121.805462999579021, 37.324641000304418 ], [ -121.804910999849554, 37.324764001031546 ], [ -121.804562999724851, 37.324841001123687 ], [ -121.804051000428686, 37.324955000996987 ], [ -121.803662999699895, 37.325041000458491 ], [ -121.802762999609342, 37.325341000265873 ], [ -121.802700999567008, 37.325349000467099 ], [ -121.801962999493739, 37.325441000561227 ], [ -121.801762999656276, 37.325541000569856 ], [ -121.800841000456927, 37.325735000418334 ], [ -121.80024100028902, 37.325608000725602 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 651, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.800613000414558, 37.299906000712873 ], [ -121.800861999485463, 37.299942000970823 ], [ -121.801862000143089, 37.299842001030122 ], [ -121.802762000260159, 37.299742000355572 ], [ -121.804162000065133, 37.299342000847133 ], [ -121.805162000273086, 37.29864200082833 ], [ -121.805362000135219, 37.298542000387897 ], [ -121.806161999916284, 37.297942000246117 ], [ -121.806662000306773, 37.297542000445375 ], [ -121.80686200029642, 37.297142000883234 ], [ -121.807561999990639, 37.296442000530718 ], [ -121.808541999415155, 37.296150000685408 ], [ -121.809015999489588, 37.295681000360027 ], [ -121.809205999591072, 37.295512000986946 ], [ -121.809525999858238, 37.295262000924964 ], [ -121.810034000021361, 37.294874000728932 ], [ -121.810074999600346, 37.295079000461186 ], [ -121.810147999629336, 37.295463001104771 ], [ -121.810180000327833, 37.295517000690722 ], [ -121.810277999841702, 37.295684000313052 ], [ -121.810399000288896, 37.295890000650218 ], [ -121.811162000031572, 37.297184001040925 ], [ -121.811230999532924, 37.297301001117646 ], [ -121.811962999780263, 37.298142000287335 ], [ -121.812162999710523, 37.298442000912274 ], [ -121.813190000258416, 37.299514000847999 ], [ -121.814520999549529, 37.300902001040242 ], [ -121.816933999482785, 37.303413000255681 ], [ -121.816512000014413, 37.303671000705293 ], [ -121.81606300015163, 37.303941000389806 ], [ -121.814655000072378, 37.304849000417619 ], [ -121.814195000125594, 37.305087000304681 ], [ -121.813654000302378, 37.305446000349136 ], [ -121.812962999566068, 37.305841000868966 ], [ -121.811262999492655, 37.306941000788882 ], [ -121.81096299998201, 37.307141000867517 ], [ -121.807863000070128, 37.311641000766066 ], [ -121.806335999654848, 37.311592000428696 ], [ -121.805973999727357, 37.31164400051378 ], [ -121.805155000081811, 37.31176100077375 ], [ -121.805077999530482, 37.311772001038825 ], [ -121.804619999557417, 37.311930000624265 ], [ -121.803899999427813, 37.312041000548767 ], [ -121.803112000003509, 37.31216300047025 ], [ -121.802656999731482, 37.312233000319189 ], [ -121.802270999715049, 37.312435000874274 ], [ -121.802188999716634, 37.312305000290301 ], [ -121.801678000330085, 37.311492000600111 ], [ -121.801041999558691, 37.310480000965427 ], [ -121.800656999876864, 37.309866001032447 ], [ -121.800351999672557, 37.309340000531463 ], [ -121.800092000019021, 37.309004000779268 ], [ -121.800062000493796, 37.308341000373296 ], [ -121.799461999397238, 37.30794100042759 ], [ -121.799161999570629, 37.307641000727983 ], [ -121.798761999722302, 37.307341000955589 ], [ -121.797962000196748, 37.306441000659852 ], [ -121.79766199976504, 37.306141000770296 ], [ -121.79796199986724, 37.306141000315243 ], [ -121.798962000280781, 37.305241000516716 ], [ -121.801062000300632, 37.305141000881747 ], [ -121.80179000050066, 37.305060000738003 ], [ -121.8013360005056, 37.303071000714567 ], [ -121.800991999510742, 37.301565000480942 ], [ -121.800613000414558, 37.299906000712873 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 653, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.744028999998747, 37.293501000833736 ], [ -121.745259999946427, 37.293741000280384 ], [ -121.746059999405517, 37.294841000826374 ], [ -121.746445000028572, 37.295007000903404 ], [ -121.75045999967665, 37.296741000846211 ], [ -121.751109000052864, 37.29676400025614 ], [ -121.753259999612652, 37.296841000537782 ], [ -121.755760999621046, 37.298841000957843 ], [ -121.756560999675628, 37.298841000245815 ], [ -121.757732999921529, 37.299385000240136 ], [ -121.758361000220191, 37.299041000323001 ], [ -121.758761000329855, 37.298741000444615 ], [ -121.760660999704314, 37.297641000860672 ], [ -121.760738999453991, 37.297641001098377 ], [ -121.761160999648425, 37.297641000330152 ], [ -121.763463999602848, 37.297753000341594 ], [ -121.765261000489346, 37.297841000370845 ], [ -121.765736000488658, 37.298026000311005 ], [ -121.767061000087594, 37.29854100085111 ], [ -121.768860999555514, 37.299341000490763 ], [ -121.771151000233431, 37.298943000972685 ], [ -121.77123700031342, 37.299032001053412 ], [ -121.773540999819303, 37.301229000583952 ], [ -121.773860999986468, 37.301547000353217 ], [ -121.774761000094983, 37.30244100098129 ], [ -121.775060999465637, 37.30274100064738 ], [ -121.775509000336712, 37.3032390010775 ], [ -121.775748999555375, 37.303505000536454 ], [ -121.775809999668596, 37.303572001003666 ], [ -121.775960999703358, 37.303741000769534 ], [ -121.776381999667976, 37.304162000915497 ], [ -121.777160999856065, 37.304941000816889 ], [ -121.777934999441328, 37.305830000457213 ], [ -121.777935000442241, 37.306150000994506 ], [ -121.779167999911323, 37.30744800079863 ], [ -121.779828000448518, 37.30814200093166 ], [ -121.780461999833392, 37.308341000339766 ], [ -121.782562000273032, 37.309041001043887 ], [ -121.782956999969485, 37.309370000730937 ], [ -121.783909999601789, 37.309785000611789 ], [ -121.784939999649126, 37.310263000485968 ], [ -121.785270999871514, 37.310403000905467 ], [ -121.785336999431209, 37.310431000803781 ], [ -121.785381000384191, 37.310470001056181 ], [ -121.785414999901164, 37.310529000345262 ], [ -121.785494999944177, 37.310690000686762 ], [ -121.785614999943149, 37.310793000980453 ], [ -121.786045000195614, 37.311019000939957 ], [ -121.786181000232176, 37.311087000784944 ], [ -121.786327000250338, 37.311161000523441 ], [ -121.786764000488162, 37.311381000955727 ], [ -121.786964999796211, 37.31143500063331 ], [ -121.787455999860313, 37.311540001042431 ], [ -121.787463999861103, 37.311547000819139 ], [ -121.787610000521227, 37.311644000322815 ], [ -121.787777999558074, 37.311789000624721 ], [ -121.787915999618349, 37.311880000480571 ], [ -121.788129000413889, 37.311972000907126 ], [ -121.788390000079204, 37.312089000838178 ], [ -121.788572000349816, 37.312170000328869 ], [ -121.788983999454274, 37.312330000238376 ], [ -121.789068999504536, 37.312359001037287 ], [ -121.789273999655819, 37.312429000516353 ], [ -121.789517999410663, 37.312506000954507 ], [ -121.790341999574295, 37.31259000087767 ], [ -121.790677000318325, 37.312582000743781 ], [ -121.791769000502043, 37.314040000830445 ], [ -121.791762000274502, 37.314041001042582 ], [ -121.789711000153687, 37.314334000904182 ], [ -121.789662000469335, 37.314341000642841 ], [ -121.789503999551314, 37.314372000229049 ], [ -121.788801000358887, 37.3145120004137 ], [ -121.788426999535858, 37.314572000692003 ], [ -121.788037999896602, 37.314634000354658 ], [ -121.787487999591463, 37.314711000324273 ], [ -121.786497000055164, 37.314856001101816 ], [ -121.785505000497437, 37.314985000704951 ], [ -121.784512999476235, 37.315145000766542 ], [ -121.78356700041104, 37.31529000112458 ], [ -121.782667000380897, 37.315428000453778 ], [ -121.781689999668046, 37.315557000575701 ], [ -121.781446000420985, 37.315634000541365 ], [ -121.781267999766939, 37.315655000849915 ], [ -121.779662000290344, 37.315841000258679 ], [ -121.779386000182768, 37.3159240005049 ], [ -121.777858999509704, 37.316164000898738 ], [ -121.776820000160029, 37.316328000660008 ], [ -121.776171000449352, 37.316430000954924 ], [ -121.77551900012152, 37.316533000456424 ], [ -121.772747000495869, 37.316969000942947 ], [ -121.771431000344847, 37.317154000272517 ], [ -121.770242000290807, 37.317321001006334 ], [ -121.769984000286982, 37.317357000992864 ], [ -121.769123999916857, 37.317478000655449 ], [ -121.768733999784658, 37.317533000267524 ], [ -121.764889000218957, 37.318151000807326 ], [ -121.764339999618201, 37.318235000287416 ], [ -121.764270000209919, 37.318241000403418 ], [ -121.763747000152307, 37.318286000971213 ], [ -121.763630999792383, 37.318296000597414 ], [ -121.761496999500849, 37.318480000515102 ], [ -121.761409999666029, 37.318487000827218 ], [ -121.760279999614966, 37.31874300031501 ], [ -121.758703999533196, 37.319099000945563 ], [ -121.758446000066741, 37.319051000738121 ], [ -121.757860999863823, 37.31944100107561 ], [ -121.758761000471509, 37.320741000557931 ], [ -121.758860999677452, 37.322041000322074 ], [ -121.756861000148461, 37.321641001001005 ], [ -121.756961000503111, 37.321141001029687 ], [ -121.755661000488644, 37.320741000746878 ], [ -121.755598999467708, 37.320772000899559 ], [ -121.754460999979102, 37.321341000854297 ], [ -121.754180999460587, 37.322181001112455 ], [ -121.753960999579121, 37.322841000999901 ], [ -121.750960999988308, 37.322441000682559 ], [ -121.748861000316566, 37.322441000787499 ], [ -121.748184999543582, 37.322794000635966 ], [ -121.747445000074464, 37.323179000553417 ], [ -121.746560999982208, 37.323640000428718 ], [ -121.744659999868546, 37.322340000979018 ], [ -121.744259999747882, 37.324040000925763 ], [ -121.742659999880004, 37.323140000547809 ], [ -121.743539999426972, 37.324263000227177 ], [ -121.745560999559856, 37.326840000559194 ], [ -121.744360999992338, 37.327940000250329 ], [ -121.74556099977967, 37.329540000646674 ], [ -121.745248000017455, 37.329778001100451 ], [ -121.745120000420883, 37.329875000694969 ], [ -121.744801999909768, 37.330117001092738 ], [ -121.744656000044955, 37.330228000700487 ], [ -121.744561000440683, 37.330340001040305 ], [ -121.743309999877098, 37.329368000298118 ], [ -121.743122000453965, 37.329222000428466 ], [ -121.742760000122601, 37.328940001057447 ], [ -121.743343999524527, 37.331632000382122 ], [ -121.741938999630392, 37.332044000466645 ], [ -121.734690999765292, 37.332784000453827 ], [ -121.734100999440244, 37.333258000864937 ], [ -121.733134999977267, 37.334035000543722 ], [ -121.732920999680886, 37.33508800110144 ], [ -121.732764999537352, 37.336221000972984 ], [ -121.732624000156079, 37.337251000882567 ], [ -121.732540000324548, 37.337865000834661 ], [ -121.732860000223269, 37.338740000544149 ], [ -121.732560000020442, 37.339340000582013 ], [ -121.732232999416851, 37.338931000527239 ], [ -121.71758399986868, 37.313412000844494 ], [ -121.715877000115412, 37.310438000318399 ], [ -121.714475999882879, 37.307998000451015 ], [ -121.712180999695036, 37.304001000474081 ], [ -121.711557999423903, 37.302916000303647 ], [ -121.710642000525894, 37.301535000288986 ], [ -121.711091999540585, 37.299309000463595 ], [ -121.711292999877273, 37.298505001095997 ], [ -121.711959000209959, 37.295841000590052 ], [ -121.715159000188365, 37.288941000514399 ], [ -121.722758999520451, 37.287541001055089 ], [ -121.734612999852075, 37.291781000767905 ], [ -121.735059999977778, 37.291941000918548 ], [ -121.740089000246769, 37.292828000962118 ], [ -121.744028999998747, 37.293501000833736 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 644, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.811063000434629, 37.329841000405054 ], [ -121.811140999877296, 37.329969000409307 ], [ -121.811335999464205, 37.330174000382122 ], [ -121.812462999945552, 37.331741000406083 ], [ -121.812539000223012, 37.331834001085042 ], [ -121.812955000470993, 37.332346000332684 ], [ -121.813762999492226, 37.333341001000598 ], [ -121.813841000311371, 37.333441000883411 ], [ -121.81500800026059, 37.335011000519629 ], [ -121.815494999750598, 37.335664001036648 ], [ -121.817262999912288, 37.33804000085042 ], [ -121.816462999651733, 37.338340000996702 ], [ -121.814462999917552, 37.338940000344245 ], [ -121.812962999785654, 37.339440000457913 ], [ -121.811758999722827, 37.339814000398718 ], [ -121.810062999898889, 37.340340000834985 ], [ -121.809662999433726, 37.340540000856336 ], [ -121.809363000297125, 37.34064000112469 ], [ -121.808763000046213, 37.340740000276732 ], [ -121.807832000367782, 37.341079000338148 ], [ -121.807662999794687, 37.341140000429611 ], [ -121.806762999681752, 37.341440000664775 ], [ -121.805962999496657, 37.341640000327658 ], [ -121.805984999860314, 37.341668000756016 ], [ -121.805536999501939, 37.341173000872772 ], [ -121.804962999804644, 37.340539000998447 ], [ -121.804538000015583, 37.340069000288914 ], [ -121.803938000344218, 37.339406000713879 ], [ -121.80094799953487, 37.335935000755939 ], [ -121.800465999628301, 37.33477200075027 ], [ -121.800153999860726, 37.334020000456938 ], [ -121.799962999999707, 37.33334000085253 ], [ -121.799762999459162, 37.3327410003766 ], [ -121.799562999648927, 37.332041000838984 ], [ -121.799489999712776, 37.331807000607448 ], [ -121.799200999714131, 37.33088300031536 ], [ -121.799126999943738, 37.330646000841448 ], [ -121.799062999726488, 37.330441000335838 ], [ -121.798551000231981, 37.329199000457258 ], [ -121.798535999743137, 37.328833000578989 ], [ -121.797861999513145, 37.327141000445721 ], [ -121.797861999952929, 37.326941000295903 ], [ -121.797795000167184, 37.326729000289831 ], [ -121.797498000420049, 37.325788000431835 ], [ -121.797262000160899, 37.325041000647253 ], [ -121.799216999673462, 37.32540800056379 ], [ -121.799319000168836, 37.325427000400374 ], [ -121.799940000463906, 37.32554400107486 ], [ -121.80024100028902, 37.325608000725602 ], [ -121.800841000456927, 37.325735000418334 ], [ -121.801762999656276, 37.325541000569856 ], [ -121.801962999493739, 37.325441000561227 ], [ -121.802700999567008, 37.325349000467099 ], [ -121.802762999609342, 37.325341000265873 ], [ -121.803662999699895, 37.325041000458491 ], [ -121.804051000428686, 37.324955000996987 ], [ -121.804562999724851, 37.324841001123687 ], [ -121.804910999849554, 37.324764001031546 ], [ -121.805462999579021, 37.324641000304418 ], [ -121.806462999511197, 37.324441000972847 ], [ -121.80686299961377, 37.324341000982706 ], [ -121.807100999497919, 37.32430100094048 ], [ -121.807462999886141, 37.324241000355272 ], [ -121.808562999478596, 37.326741000741862 ], [ -121.810908000416845, 37.329649000973681 ], [ -121.811063000434629, 37.329841000405054 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 643, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.790561999899708, 37.34254000098273 ], [ -121.789391999995672, 37.34175000110109 ], [ -121.789272999834694, 37.341670000885792 ], [ -121.788494999669211, 37.341145000364719 ], [ -121.787661999996288, 37.340540000754459 ], [ -121.787361999880389, 37.340340000691008 ], [ -121.787182999580182, 37.340191000641632 ], [ -121.786762000070837, 37.339840000343628 ], [ -121.78526200043909, 37.338840000969206 ], [ -121.788462000227256, 37.338440000344079 ], [ -121.790161999956396, 37.338240001014327 ], [ -121.791062000012857, 37.338240000492128 ], [ -121.791962000089384, 37.337940000809525 ], [ -121.792661999482121, 37.337640000971099 ], [ -121.793761999997244, 37.337140000774369 ], [ -121.794345999830455, 37.336945000915037 ], [ -121.794361999671722, 37.336940001116695 ], [ -121.796963000366233, 37.336540000317314 ], [ -121.797762999581323, 37.336440000682984 ], [ -121.79838399965783, 37.336240001012364 ], [ -121.799315000076888, 37.336064000975334 ], [ -121.799634000430075, 37.336039000285389 ], [ -121.800656999428142, 37.335958000379733 ], [ -121.80094799953487, 37.335935000755939 ], [ -121.803938000344218, 37.339406000713879 ], [ -121.804538000015583, 37.340069000288914 ], [ -121.804962999804644, 37.340539000998447 ], [ -121.805536999501939, 37.341173000872772 ], [ -121.805984999860314, 37.341668000756016 ], [ -121.806471000154701, 37.342282000331075 ], [ -121.807162999822566, 37.34294000026226 ], [ -121.807662999615715, 37.343540000421228 ], [ -121.807963000084953, 37.343740000743523 ], [ -121.808345999618922, 37.344171000488018 ], [ -121.808762999729112, 37.344640000231472 ], [ -121.805363000079026, 37.346440000539936 ], [ -121.802662999721363, 37.347840000277635 ], [ -121.802063000129223, 37.347440001071256 ], [ -121.801362999512378, 37.346940000638114 ], [ -121.800563000161077, 37.346440000631375 ], [ -121.799712000264478, 37.34586000050183 ], [ -121.798362999634307, 37.344940001074882 ], [ -121.798185999641291, 37.344785000713969 ], [ -121.798006000078715, 37.344668000644511 ], [ -121.797880999627466, 37.344586000265323 ], [ -121.797040999686658, 37.34402900032493 ], [ -121.796262999853909, 37.343540000387968 ], [ -121.794663000110759, 37.344340000913029 ], [ -121.793592999503105, 37.34481500099875 ], [ -121.793127000036037, 37.345065000346487 ], [ -121.792729999758294, 37.345291000936221 ], [ -121.792706999866468, 37.345273000837075 ], [ -121.79209699956921, 37.345563000335396 ], [ -121.791471000423272, 37.345914000595364 ], [ -121.791262000215468, 37.346140000578039 ], [ -121.790662000105669, 37.346440000419065 ], [ -121.790462000124762, 37.344940000544838 ], [ -121.790962000483901, 37.34434000061561 ], [ -121.790762000180877, 37.342640000324657 ], [ -121.790561999899708, 37.34254000098273 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 646, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.782561999607651, 37.326841000639583 ], [ -121.782462000459731, 37.325841000609628 ], [ -121.782462000254014, 37.325539000694363 ], [ -121.782461999982971, 37.324941001034901 ], [ -121.783145000115397, 37.324957000795926 ], [ -121.783275999435986, 37.324960000264049 ], [ -121.784115999772268, 37.324980001112763 ], [ -121.784461999988977, 37.324941000703518 ], [ -121.78494899980042, 37.324921001036927 ], [ -121.785652000084625, 37.324891000789286 ], [ -121.786861999542367, 37.324841001076912 ], [ -121.787862000299384, 37.324841000829394 ], [ -121.78896199954805, 37.324841000869192 ], [ -121.791262000216207, 37.324841000524465 ], [ -121.79216199958951, 37.32484100035235 ], [ -121.792861999901859, 37.324841000699053 ], [ -121.793761999409611, 37.32484100097048 ], [ -121.794405999579041, 37.324841000767648 ], [ -121.794461999839314, 37.324841000861099 ], [ -121.795261999902337, 37.324841000937404 ], [ -121.797262000160899, 37.325041000647253 ], [ -121.797498000420049, 37.325788000431835 ], [ -121.797795000167184, 37.326729000289831 ], [ -121.797861999952929, 37.326941000295903 ], [ -121.797861999513145, 37.327141000445721 ], [ -121.798535999743137, 37.328833000578989 ], [ -121.797839000451063, 37.328918000895669 ], [ -121.796918000166357, 37.329031000760942 ], [ -121.796362000479249, 37.329141000677268 ], [ -121.795898000350419, 37.329219000328216 ], [ -121.795115000231192, 37.329349000886417 ], [ -121.794972999992979, 37.329373000292186 ], [ -121.794562000104023, 37.329441000564572 ], [ -121.792813999570058, 37.329786000874392 ], [ -121.791693000502562, 37.330010000911074 ], [ -121.790943999733642, 37.330159000323725 ], [ -121.790174000443102, 37.330313000781651 ], [ -121.78946199991951, 37.330441001094528 ], [ -121.787472999542629, 37.330869000900861 ], [ -121.786817000007247, 37.330968000672954 ], [ -121.785596999941703, 37.331219000404644 ], [ -121.785077999832637, 37.331326000853828 ], [ -121.784261999845128, 37.331440000754448 ], [ -121.78286200051339, 37.331740000934303 ], [ -121.782650999895282, 37.33090700073199 ], [ -121.782606000185197, 37.330716001085143 ], [ -121.78257500004139, 37.330563000788416 ], [ -121.782574999453772, 37.330380000279121 ], [ -121.78260600023863, 37.330144001024088 ], [ -121.782636000384642, 37.329771000646815 ], [ -121.78263599958413, 37.329679001033902 ], [ -121.782636000515396, 37.329565000669291 ], [ -121.782606000267123, 37.329336000777829 ], [ -121.78266199971479, 37.32904100111358 ], [ -121.782661999538917, 37.328741000517766 ], [ -121.782661999769701, 37.328541000716939 ], [ -121.782561999502931, 37.327741000841897 ], [ -121.782561999607651, 37.326841000639583 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 649, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.788465000233572, 37.317648000930653 ], [ -121.788220999675445, 37.316549000502071 ], [ -121.788053000432015, 37.315832000961827 ], [ -121.788006999646996, 37.315619000799096 ], [ -121.787946000020639, 37.315489001073018 ], [ -121.787899999796906, 37.315367000245011 ], [ -121.787809000267288, 37.315207000240235 ], [ -121.787687000012866, 37.315077000937329 ], [ -121.787626000387249, 37.314955000443049 ], [ -121.787549000027852, 37.314901000764891 ], [ -121.787487999591463, 37.314711000324273 ], [ -121.788037999896602, 37.314634000354658 ], [ -121.788426999535858, 37.314572000692003 ], [ -121.788801000358887, 37.3145120004137 ], [ -121.789503999551314, 37.314372000229049 ], [ -121.789662000469335, 37.314341000642841 ], [ -121.789711000153687, 37.314334000904182 ], [ -121.791762000274502, 37.314041001042582 ], [ -121.793072999751246, 37.31606100051799 ], [ -121.794161999767283, 37.317841000591763 ], [ -121.795162000013605, 37.319341001125927 ], [ -121.795562000511268, 37.320141001095188 ], [ -121.795961999491894, 37.321441000421672 ], [ -121.796262000093108, 37.32204100111111 ], [ -121.79636199957713, 37.322641000805881 ], [ -121.796704999973898, 37.323416000385158 ], [ -121.797262000160899, 37.325041000647253 ], [ -121.795261999902337, 37.324841000937404 ], [ -121.794461999839314, 37.324841000861099 ], [ -121.794405999579041, 37.324841000767648 ], [ -121.793761999409611, 37.32484100097048 ], [ -121.792861999901859, 37.324841000699053 ], [ -121.79216199958951, 37.32484100035235 ], [ -121.791262000216207, 37.324841000524465 ], [ -121.78896199954805, 37.324841000869192 ], [ -121.787862000299384, 37.324841000829394 ], [ -121.786861999542367, 37.324841001076912 ], [ -121.785652000084625, 37.324891000789286 ], [ -121.78494899980042, 37.324921001036927 ], [ -121.784461999988977, 37.324941000703518 ], [ -121.784115999772268, 37.324980001112763 ], [ -121.783275999435986, 37.324960000264049 ], [ -121.783145000115397, 37.324957000795926 ], [ -121.782461999982971, 37.324941001034901 ], [ -121.782468000436751, 37.324697000904543 ], [ -121.782513999538764, 37.324461000759875 ], [ -121.782545000449616, 37.324186000334791 ], [ -121.782513999503479, 37.323965001043703 ], [ -121.782505999493168, 37.323851000261641 ], [ -121.782499000417403, 37.323751000364616 ], [ -121.782452999869705, 37.323484000967206 ], [ -121.782360999996371, 37.323248001095642 ], [ -121.782269999811177, 37.322981000858938 ], [ -121.782132999944679, 37.322691000771442 ], [ -121.781995000016906, 37.322401001040056 ], [ -121.781827000438412, 37.322088001041102 ], [ -121.781598999734769, 37.321753000434583 ], [ -121.781276000346622, 37.321440000500452 ], [ -121.780830000033106, 37.320979000519237 ], [ -121.780234000433367, 37.320459000242103 ], [ -121.780689999514607, 37.320448001007179 ], [ -121.780816000353965, 37.320400000708595 ], [ -121.780966999979682, 37.320340000532831 ], [ -121.781097999844434, 37.320283001086416 ], [ -121.781217999444053, 37.320219001040726 ], [ -121.781318999932523, 37.320140000670612 ], [ -121.78139900003849, 37.32012800041737 ], [ -121.781690000247877, 37.319952000239219 ], [ -121.781857999514855, 37.319838000737256 ], [ -121.782026000524851, 37.319754000299405 ], [ -121.782238999668238, 37.319616001121382 ], [ -121.782681999729292, 37.319487000271984 ], [ -121.783245999723405, 37.319334001056831 ], [ -121.783536000233212, 37.319067001115684 ], [ -121.783704000123379, 37.319075000722982 ], [ -121.783947999939613, 37.318960001126001 ], [ -121.784115999590924, 37.318892000953966 ], [ -121.785062000134801, 37.318747000239306 ], [ -121.785336999400926, 37.318678000492596 ], [ -121.785520000509067, 37.318609000404585 ], [ -121.785688000193872, 37.318510000888395 ], [ -121.786100000164453, 37.318373000349368 ], [ -121.786298000266456, 37.31837300090907 ], [ -121.786541999841987, 37.318350001116578 ], [ -121.786786000410927, 37.31832700082969 ], [ -121.787046000505484, 37.318266000409338 ], [ -121.787197999478593, 37.318220000250186 ], [ -121.787472999639107, 37.31812900100109 ], [ -121.787733000291894, 37.318014000656845 ], [ -121.787945999432381, 37.317930000273378 ], [ -121.788113999988511, 37.317862000685409 ], [ -121.788311999934095, 37.317747000322832 ], [ -121.788465000233572, 37.317648000930653 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 487, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.050071000234794, 37.332141000771323 ], [ -122.050070999590204, 37.331341001124095 ], [ -122.050771000145886, 37.331241000951913 ], [ -122.050770999920573, 37.33061700060729 ], [ -122.050770999618351, 37.329441000339102 ], [ -122.050370999400201, 37.327742000920182 ], [ -122.048270999808452, 37.324342000785016 ], [ -122.046970999623213, 37.324342000395369 ], [ -122.046471000250861, 37.324242000452792 ], [ -122.046071000305233, 37.322742000727935 ], [ -122.047665000106306, 37.322799000946787 ], [ -122.048871000288258, 37.322842000804329 ], [ -122.049571000107321, 37.322842000475568 ], [ -122.050470999442311, 37.322842000400804 ], [ -122.050670999626902, 37.322742000300991 ], [ -122.051570999464232, 37.322842000531125 ], [ -122.052470999503271, 37.322742000897399 ], [ -122.053170999713785, 37.322742000894976 ], [ -122.054373999506822, 37.326003000943231 ], [ -122.0544960001845, 37.326217000791608 ], [ -122.054846999697162, 37.326537000316392 ], [ -122.055640999393518, 37.328001000665367 ], [ -122.056250999479502, 37.328337000785282 ], [ -122.057672000444924, 37.32954100084303 ], [ -122.0578609995992, 37.329674000972261 ], [ -122.061071999584982, 37.331941000289135 ], [ -122.063772000445269, 37.332841001023667 ], [ -122.065572000310226, 37.333141000752725 ], [ -122.067271999535762, 37.333341000914317 ], [ -122.06857200011477, 37.333441000434441 ], [ -122.06847200031055, 37.333541000497668 ], [ -122.06847200033765, 37.333741000627356 ], [ -122.068572000243194, 37.334341000537158 ], [ -122.068503999433204, 37.334679000693747 ], [ -122.0684720002902, 37.33484100077051 ], [ -122.068472000243844, 37.335041000856755 ], [ -122.0684409998821, 37.335203000666326 ], [ -122.068414000291057, 37.335336000963075 ], [ -122.068371999731454, 37.335541000934327 ], [ -122.068371999930406, 37.335561000311429 ], [ -122.068371999923528, 37.336641000744386 ], [ -122.068872000130185, 37.337441001016288 ], [ -122.071172000038672, 37.33934100074115 ], [ -122.072972000361659, 37.340741000703296 ], [ -122.072471999632086, 37.341041000949801 ], [ -122.071571999633363, 37.340441000599924 ], [ -122.07097200028079, 37.339941000355928 ], [ -122.070271999937347, 37.339341000354509 ], [ -122.06827199951762, 37.337841001039045 ], [ -122.067572000276684, 37.337341000863496 ], [ -122.065471999575209, 37.337341001115178 ], [ -122.063672000437009, 37.337309000704536 ], [ -122.063179999871608, 37.337300000330302 ], [ -122.062987000220645, 37.337316000565643 ], [ -122.062671999552478, 37.337341000241906 ], [ -122.061847000271172, 37.337312000671005 ], [ -122.061071999472517, 37.337341000755494 ], [ -122.06052199998976, 37.337341000472243 ], [ -122.060421999573549, 37.337341000387745 ], [ -122.059799999939813, 37.337343000969263 ], [ -122.059757000340184, 37.337344000445903 ], [ -122.059271999901995, 37.337341001040919 ], [ -122.058772000131768, 37.337341000816274 ], [ -122.05837199965535, 37.337341000371289 ], [ -122.055271999530319, 37.337241000978345 ], [ -122.053471999770849, 37.337241000436585 ], [ -122.052571999977772, 37.33724100070976 ], [ -122.051970999600087, 37.337241001087413 ], [ -122.051370999427292, 37.337241001023244 ], [ -122.050970999706124, 37.337241000794897 ], [ -122.050370999575392, 37.337241001066133 ], [ -122.046271000404417, 37.337441000755327 ], [ -122.045171000122949, 37.337441000565285 ], [ -122.044471000497524, 37.337441001103763 ], [ -122.043970999656182, 37.337541000752005 ], [ -122.043571000084285, 37.337441000465482 ], [ -122.041670999505982, 37.337541000811562 ], [ -122.039971000155958, 37.337441000646301 ], [ -122.039176000507425, 37.337454000459743 ], [ -122.037270999435933, 37.337241000318997 ], [ -122.037174000004114, 37.337247000831006 ], [ -122.033770999962741, 37.337441000421414 ], [ -122.032571000411721, 37.337441000959238 ], [ -122.032655000045139, 37.33639300099086 ], [ -122.032770999737366, 37.334941000822269 ], [ -122.032571000391698, 37.334241000806152 ], [ -122.035170999468605, 37.334241000274218 ], [ -122.040580000237341, 37.334272000902331 ], [ -122.041670999476139, 37.334341000233856 ], [ -122.043971000227444, 37.334341000507692 ], [ -122.045171000468088, 37.334241000869454 ], [ -122.047371000180831, 37.333933000684134 ], [ -122.047371000083359, 37.333241000464717 ], [ -122.047371000405974, 37.332541000608771 ], [ -122.048370999942705, 37.332341000465675 ], [ -122.049271000228885, 37.332241000786489 ], [ -122.050071000234794, 37.332141000771323 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 491, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.044271000084635, 37.315442000888602 ], [ -122.0433710002998, 37.315442000274643 ], [ -122.041671000357454, 37.315442000660596 ], [ -122.039770999501158, 37.315442000540017 ], [ -122.039182000415337, 37.315442000994828 ], [ -122.038671000026625, 37.315442000382795 ], [ -122.037871000054224, 37.315442000560161 ], [ -122.037271000112909, 37.3154420002978 ], [ -122.036271000260129, 37.315442000909925 ], [ -122.035370999904998, 37.315442000718939 ], [ -122.034270999674959, 37.315442001103293 ], [ -122.032770999734822, 37.315442000469275 ], [ -122.032570999829829, 37.315442000510707 ], [ -122.032570999501047, 37.315042001048013 ], [ -122.032571000265236, 37.314642000666566 ], [ -122.032570999874565, 37.313142000326977 ], [ -122.032570999714906, 37.312842000394241 ], [ -122.032471000284815, 37.312442000684911 ], [ -122.032470999656766, 37.312242000405213 ], [ -122.032471000394438, 37.309084000367996 ], [ -122.032471000335576, 37.308242000747867 ], [ -122.0330880004759, 37.308135001045819 ], [ -122.033392999794131, 37.308188000614521 ], [ -122.0342710005078, 37.308442000862478 ], [ -122.034270999832714, 37.309142000974262 ], [ -122.03427099963163, 37.309742000365119 ], [ -122.034770999736622, 37.310242000852469 ], [ -122.034870999806202, 37.31004200039218 ], [ -122.037871000125008, 37.310042001123549 ], [ -122.037871000166476, 37.310342000417343 ], [ -122.039170999525837, 37.31024200046415 ], [ -122.040041000124404, 37.309977000751879 ], [ -122.040374000508876, 37.309876000941458 ], [ -122.040839999776736, 37.309734000926895 ], [ -122.041028999900703, 37.309677001004069 ], [ -122.041470999465801, 37.309542000462059 ], [ -122.041670999493434, 37.30944200079955 ], [ -122.041797000280852, 37.309370000922648 ], [ -122.04199300015199, 37.309258000932076 ], [ -122.042211999484152, 37.309133000745035 ], [ -122.042503000113626, 37.308967001130085 ], [ -122.042661999887741, 37.308876000708018 ], [ -122.0444709996532, 37.307842000459118 ], [ -122.046170999814677, 37.307142000275007 ], [ -122.046670999558756, 37.308142000874575 ], [ -122.048331999578778, 37.312245000450758 ], [ -122.048370999497209, 37.312342000506554 ], [ -122.048522000368379, 37.312644001106165 ], [ -122.048770999465347, 37.313142000909551 ], [ -122.048816999942446, 37.313248000399746 ], [ -122.049770999689954, 37.315442000486037 ], [ -122.048471000333265, 37.315442000359148 ], [ -122.048170999543999, 37.315442000442907 ], [ -122.047771000379157, 37.315442000888567 ], [ -122.04763099965021, 37.315449000825765 ], [ -122.047206999837471, 37.315471000412685 ], [ -122.045870999677902, 37.315542000236015 ], [ -122.045270999434791, 37.315442000246811 ], [ -122.044271000084635, 37.315442000888602 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 480, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.002277000270666, 37.295035001083122 ], [ -122.002368999954172, 37.294942000813037 ], [ -122.003446000402235, 37.293057000325852 ], [ -122.003569000504541, 37.292842000296112 ], [ -122.004868999602593, 37.293042000716859 ], [ -122.00516899948272, 37.29304200083201 ], [ -122.006469000188645, 37.293042000363172 ], [ -122.007405999963837, 37.293109000971143 ], [ -122.007870000481958, 37.293142001083233 ], [ -122.007769999873744, 37.294242000557368 ], [ -122.007569999656681, 37.295942000747019 ], [ -122.007469999722488, 37.296342000308776 ], [ -122.007469999778948, 37.296642000452287 ], [ -122.007370000172941, 37.297842000427885 ], [ -122.007307999912939, 37.298458000641453 ], [ -122.007292999441503, 37.298609000633057 ], [ -122.007270000221411, 37.298842000649287 ], [ -122.007170000061137, 37.299342000331883 ], [ -122.00666999956178, 37.300742000461121 ], [ -122.005769999642439, 37.30324200066417 ], [ -122.005169999739891, 37.304742000809284 ], [ -122.005069999654708, 37.304942000241674 ], [ -122.005069999540865, 37.305242000802799 ], [ -122.004969999616733, 37.305442001031267 ], [ -122.004670000455036, 37.306342000752473 ], [ -122.004470000045842, 37.306842000785977 ], [ -122.004269999509773, 37.30744200086648 ], [ -122.003969999492853, 37.308142000259529 ], [ -122.00346999994909, 37.309642000752497 ], [ -122.003170000312693, 37.310242000986349 ], [ -122.001069999698913, 37.310021001047808 ], [ -121.999368999609416, 37.309842000580645 ], [ -121.998368999914433, 37.309742000869356 ], [ -121.997885000004686, 37.309685000446215 ], [ -121.997817000043952, 37.309677000962878 ], [ -121.996668999484172, 37.309542000900464 ], [ -121.996869000340752, 37.30784200033716 ], [ -121.996769000421452, 37.30594200054896 ], [ -121.996168999942967, 37.30474200096149 ], [ -121.996469000103758, 37.303542001101384 ], [ -121.996369000503094, 37.302542000323108 ], [ -121.997260999408041, 37.301493000490595 ], [ -121.998068999860052, 37.300542000333053 ], [ -121.998243999827992, 37.298261000296982 ], [ -121.998268999918523, 37.297942000476205 ], [ -121.999869000277911, 37.296842000797731 ], [ -122.000668999602354, 37.296642001041981 ], [ -122.001068999926943, 37.296242000939934 ], [ -122.002277000270666, 37.295035001083122 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 482, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.01517000031383, 37.293442000552339 ], [ -122.016269999883519, 37.29344200097276 ], [ -122.018070000324101, 37.293442000751902 ], [ -122.018569999925404, 37.293442000934164 ], [ -122.02047000017923, 37.293442001119537 ], [ -122.022870000518935, 37.293642000420242 ], [ -122.023870000521384, 37.29364200048969 ], [ -122.0238700003232, 37.295942001055444 ], [ -122.023869999460473, 37.296642001126706 ], [ -122.023870000232463, 37.297442000995183 ], [ -122.02387000019948, 37.299442000640354 ], [ -122.023870000295943, 37.300042000496653 ], [ -122.023870000250966, 37.300842000812395 ], [ -122.023769999692391, 37.30314200030115 ], [ -122.023870000432581, 37.304042001025671 ], [ -122.024169999881366, 37.304642000410489 ], [ -122.024170000298071, 37.305242000671925 ], [ -122.024169999595074, 37.306142000942103 ], [ -122.023869999848529, 37.308242000996117 ], [ -122.023670000338512, 37.308942000981979 ], [ -122.023370000458542, 37.30974200054024 ], [ -122.021169999612425, 37.309142000864057 ], [ -122.020869999974963, 37.309042000726805 ], [ -122.020469999481008, 37.309042000989294 ], [ -122.019469999709045, 37.309842000450153 ], [ -122.017769999447395, 37.309942000241243 ], [ -122.017369999921229, 37.309942000817387 ], [ -122.015569999418702, 37.310042001114056 ], [ -122.013670000234598, 37.310242000882837 ], [ -122.014070000463761, 37.30934200037089 ], [ -122.014870000092344, 37.307042001068744 ], [ -122.014969999915749, 37.306742000850306 ], [ -122.015270000342682, 37.305542000601122 ], [ -122.015270000430021, 37.304842001128591 ], [ -122.015270000382785, 37.304142000673046 ], [ -122.015269999822181, 37.303342000435819 ], [ -122.015269999665122, 37.301042000644642 ], [ -122.015269999939818, 37.300342000655831 ], [ -122.015269999587716, 37.299542000821951 ], [ -122.015270000050165, 37.298942000432881 ], [ -122.015170000332787, 37.297542000624176 ], [ -122.015169999498539, 37.296542000810575 ], [ -122.015169999533512, 37.294842001122838 ], [ -122.015170000054454, 37.294042000579374 ], [ -122.01517000031383, 37.293442000552339 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 485, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.032670999691987, 37.322642000786928 ], [ -122.032670999673741, 37.324442000869411 ], [ -122.032415999592359, 37.32644600105796 ], [ -122.032550000019569, 37.33012700051539 ], [ -122.032475999755647, 37.330230001097739 ], [ -122.032570999806964, 37.331841000256453 ], [ -122.032570999809025, 37.333341000482818 ], [ -122.032571000224024, 37.333741000544109 ], [ -122.032571000391698, 37.334241000806152 ], [ -122.032770999737366, 37.334941000822269 ], [ -122.032655000045139, 37.33639300099086 ], [ -122.032571000411721, 37.337441000959238 ], [ -122.030570999979247, 37.33754100108748 ], [ -122.029170999396328, 37.337541000939147 ], [ -122.02897100020482, 37.337441000713639 ], [ -122.02767099967123, 37.337541000617563 ], [ -122.027071000504833, 37.337541000756467 ], [ -122.026370999825318, 37.337541000512978 ], [ -122.025748000123173, 37.337541000235248 ], [ -122.02567100030862, 37.337541000642709 ], [ -122.02517100051584, 37.337541000772951 ], [ -122.024787999684222, 37.337543000789097 ], [ -122.023471000471943, 37.337541000721245 ], [ -122.022370999575031, 37.337541000278371 ], [ -122.021671000271908, 37.337541001071578 ], [ -122.019769999800801, 37.33754100068883 ], [ -122.018569999995563, 37.337541000668665 ], [ -122.016670000156338, 37.337541001122645 ], [ -122.0156700000516, 37.337641000714079 ], [ -122.014470000178775, 37.337641000545673 ], [ -122.014769999684304, 37.334441000791749 ], [ -122.014770000219002, 37.332574000281767 ], [ -122.014769999457954, 37.33234200097916 ], [ -122.014670000258505, 37.331742000284876 ], [ -122.014669999727573, 37.331342000659689 ], [ -122.014669999538697, 37.330642000582515 ], [ -122.014670000116951, 37.330142000741517 ], [ -122.014670000435089, 37.329842000276116 ], [ -122.014669999765133, 37.329342000358956 ], [ -122.014670000219269, 37.3287420002343 ], [ -122.01457000045896, 37.328042000745533 ], [ -122.014569999447829, 37.325542000949589 ], [ -122.014469999976569, 37.32284200043788 ], [ -122.015270000179399, 37.322842000355486 ], [ -122.019970000158807, 37.322542000727729 ], [ -122.021750000482825, 37.322542000270893 ], [ -122.023570000029153, 37.322542000276542 ], [ -122.02647099944862, 37.322542000615798 ], [ -122.02776299980016, 37.322628000419442 ], [ -122.027881999961437, 37.322636000694288 ], [ -122.027970999548543, 37.322642000341077 ], [ -122.032670999691987, 37.322642000786928 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 459, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.012569999573145, 37.337641000909542 ], [ -122.012917000034903, 37.337641000688727 ], [ -122.013547000016871, 37.337641000743645 ], [ -122.014470000178775, 37.337641000545673 ], [ -122.014469999911952, 37.338241000685642 ], [ -122.014469999501301, 37.341041000562967 ], [ -122.014383000038848, 37.344428000988486 ], [ -122.014375000129931, 37.344748000937045 ], [ -122.014370000336697, 37.344941000637661 ], [ -122.014270000476429, 37.345241000847437 ], [ -122.014369999392741, 37.346541000746541 ], [ -122.014369999857252, 37.348041000590172 ], [ -122.014469999607783, 37.349941000636257 ], [ -122.014424999762326, 37.350584000486123 ], [ -122.014430000240523, 37.351939000560684 ], [ -122.012934000165487, 37.351948000876199 ], [ -122.012645999747406, 37.352004000413757 ], [ -122.012493000271832, 37.352074000425084 ], [ -122.012380999542955, 37.352131000727901 ], [ -122.012302000506935, 37.352117001062496 ], [ -122.011746999674926, 37.352022001086951 ], [ -122.011269999658055, 37.35194100048934 ], [ -122.010269999876158, 37.351941001000142 ], [ -122.00985100004587, 37.351960001123324 ], [ -122.009211000237855, 37.351955000741434 ], [ -122.008270000344055, 37.352041000731731 ], [ -122.005369999423792, 37.35204100075984 ], [ -122.005045999810434, 37.352047000959381 ], [ -122.003169999954139, 37.352041000997296 ], [ -122.001734000019724, 37.352041001077154 ], [ -122.001670000441692, 37.352041000841524 ], [ -122.001170000268687, 37.352041000764771 ], [ -122.001070000009307, 37.352041000854349 ], [ -122.000469999610587, 37.352041000527137 ], [ -121.999069999540126, 37.35204100025009 ], [ -121.997269999839872, 37.352041000264833 ], [ -121.996870000065229, 37.352041000454399 ], [ -121.996269999866982, 37.352041000450576 ], [ -121.996269999422637, 37.351841000252286 ], [ -121.996170000379678, 37.350641000323009 ], [ -121.99617599988305, 37.350470000643611 ], [ -121.99606699957468, 37.349343000268362 ], [ -121.99596999972826, 37.348341001044723 ], [ -121.995970000225938, 37.347341000328733 ], [ -121.995970000332548, 37.346941000536368 ], [ -121.995969999840398, 37.346241000605396 ], [ -121.995970000327887, 37.345541000602253 ], [ -121.995970000146599, 37.344941000272875 ], [ -121.995969999584815, 37.343941000792107 ], [ -121.995969999754138, 37.343441000993948 ], [ -121.995969999631328, 37.342241000765497 ], [ -121.995969999782943, 37.341141001026571 ], [ -121.99587000019865, 37.339441000525049 ], [ -121.995970000157541, 37.338241001007752 ], [ -121.995969999458936, 37.337741000734098 ], [ -122.000370000450147, 37.3376410004863 ], [ -122.001069999473046, 37.337641000483998 ], [ -122.002870000201341, 37.337641000924101 ], [ -122.005870000131679, 37.337641000557213 ], [ -122.007469999636996, 37.337641000548665 ], [ -122.012569999573145, 37.337641000909542 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 454, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.052571999977772, 37.33724100070976 ], [ -122.053471999770849, 37.337241000436585 ], [ -122.055271999530319, 37.337241000978345 ], [ -122.05837199965535, 37.337341000371289 ], [ -122.058772000131768, 37.337341000816274 ], [ -122.059271999901995, 37.337341001040919 ], [ -122.059757000340184, 37.337344000445903 ], [ -122.059799999939813, 37.337343000969263 ], [ -122.060421999573549, 37.337341000387745 ], [ -122.06052199998976, 37.337341000472243 ], [ -122.061071999472517, 37.337341000755494 ], [ -122.061847000271172, 37.337312000671005 ], [ -122.062671999552478, 37.337341000241906 ], [ -122.062814000300193, 37.337910000545619 ], [ -122.06317199986411, 37.339341000949759 ], [ -122.064072000071235, 37.340141000730206 ], [ -122.06547199963083, 37.342141001004897 ], [ -122.065572000336033, 37.343641001069528 ], [ -122.064513000436236, 37.344604000812907 ], [ -122.064471999951721, 37.34464100091629 ], [ -122.06397199993458, 37.346241000841857 ], [ -122.065357000295393, 37.347441001130868 ], [ -122.065471999736985, 37.347541000507114 ], [ -122.065010999569566, 37.348241000845398 ], [ -122.063564000253436, 37.350441000341753 ], [ -122.06297200002912, 37.351341000977229 ], [ -122.063221999697703, 37.351653000263866 ], [ -122.063372000240648, 37.351841000712341 ], [ -122.062472000455244, 37.351841000507505 ], [ -122.061771999404471, 37.351841000810893 ], [ -122.061562999575173, 37.351845000682843 ], [ -122.061071999526661, 37.351841000585445 ], [ -122.060571999467001, 37.351841001105512 ], [ -122.060272000356193, 37.35184100041014 ], [ -122.059671999880734, 37.351841000323752 ], [ -122.058772000511752, 37.351941000947008 ], [ -122.055171999434279, 37.351841000912934 ], [ -122.051571999528278, 37.35184100049959 ], [ -122.050671999422391, 37.351841000622336 ], [ -122.050572000451112, 37.349341000447026 ], [ -122.05017199980243, 37.347841000608383 ], [ -122.049949999532785, 37.347387000730279 ], [ -122.050327999819416, 37.344648001091592 ], [ -122.050371000055961, 37.340741000360815 ], [ -122.050370999575392, 37.337241001066133 ], [ -122.050970999706124, 37.337241000794897 ], [ -122.051370999427292, 37.337241001023244 ], [ -122.051970999600087, 37.337241001087413 ], [ -122.052571999977772, 37.33724100070976 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 598, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.874665999709549, 37.363340000765277 ], [ -121.876368999890559, 37.364916000859623 ], [ -121.877365999849943, 37.365840000455734 ], [ -121.877443000469114, 37.365933000752158 ], [ -121.878420000135662, 37.366506000579875 ], [ -121.880766000473628, 37.367840001017889 ], [ -121.879365999999479, 37.369340000922548 ], [ -121.877665999811242, 37.370340000611591 ], [ -121.876965999886437, 37.370740000439731 ], [ -121.876741000478731, 37.370969000583429 ], [ -121.875965999694799, 37.371640000897067 ], [ -121.875566000435199, 37.372040000471046 ], [ -121.875165999433833, 37.372340000352274 ], [ -121.875090999459189, 37.37239200092246 ], [ -121.874194000131112, 37.373047000761296 ], [ -121.874065999508659, 37.3731400009856 ], [ -121.873166000178571, 37.373740000566286 ], [ -121.872465999923492, 37.374540000238397 ], [ -121.872066000255387, 37.374940001063408 ], [ -121.871965999956984, 37.375040000820576 ], [ -121.871658000019565, 37.375393000407456 ], [ -121.871485999737672, 37.375589000287384 ], [ -121.871265999433504, 37.375840000254897 ], [ -121.870485000438549, 37.376470000701204 ], [ -121.870237999524491, 37.376760000396835 ], [ -121.869972000295789, 37.37707200085444 ], [ -121.869736999492815, 37.377347000471026 ], [ -121.869265999873548, 37.378040000496306 ], [ -121.868755000404789, 37.378523000555795 ], [ -121.867783000487989, 37.379441000362853 ], [ -121.867466000099895, 37.379740000504036 ], [ -121.867032000331491, 37.380261000597919 ], [ -121.866465999516805, 37.380940001057674 ], [ -121.866228000302812, 37.380986000420322 ], [ -121.865846000158641, 37.381383000816172 ], [ -121.865265999851587, 37.38203900036811 ], [ -121.865165999743368, 37.382239000260249 ], [ -121.864713999717537, 37.382691000638054 ], [ -121.864665999676433, 37.382739001098578 ], [ -121.863665999636922, 37.383839000457336 ], [ -121.863262000069668, 37.384264000677057 ], [ -121.862839000105296, 37.384708000789509 ], [ -121.862680000466128, 37.384542000969141 ], [ -121.862515000510413, 37.384370000697416 ], [ -121.862396999974948, 37.384258001022005 ], [ -121.862165999450923, 37.384039000483263 ], [ -121.861065000290139, 37.382939000432891 ], [ -121.86076500039762, 37.382639000860507 ], [ -121.860652999983088, 37.382531000607642 ], [ -121.860538999725549, 37.382420000255294 ], [ -121.860390999887613, 37.382277000933584 ], [ -121.860331000107976, 37.382219000267362 ], [ -121.859914000038415, 37.381817000363291 ], [ -121.859549999807996, 37.381466000383632 ], [ -121.859250999428568, 37.381177000231709 ], [ -121.858020999705289, 37.379990000253507 ], [ -121.857864999546493, 37.379839000463839 ], [ -121.855865000113823, 37.377940000762955 ], [ -121.854854999884168, 37.377021000849801 ], [ -121.854765000065768, 37.376940000347879 ], [ -121.855365000058086, 37.37654000032682 ], [ -121.857364999575267, 37.37514000097498 ], [ -121.857632000189895, 37.374940000303717 ], [ -121.858964999731498, 37.37394000077218 ], [ -121.860976000150529, 37.372623000552053 ], [ -121.861865000213356, 37.372040000260149 ], [ -121.8632209998012, 37.370992000794104 ], [ -121.865065000194733, 37.369840000534168 ], [ -121.865815999590112, 37.369288000759759 ], [ -121.866455999606785, 37.368817001003549 ], [ -121.867080999759125, 37.368413001119762 ], [ -121.867843999714154, 37.367886000811232 ], [ -121.868439999644451, 37.367520000373361 ], [ -121.869217999477939, 37.366979000593773 ], [ -121.869565999818676, 37.366740000327376 ], [ -121.871859999937129, 37.365244000783555 ], [ -121.871865999754974, 37.36524000108075 ], [ -121.87356599984858, 37.364240000778004 ], [ -121.873603999535234, 37.364209000536079 ], [ -121.874665999709549, 37.363340000765277 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 625, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.86826599995149, 37.39843900066721 ], [ -121.867366000054929, 37.398839000751167 ], [ -121.865866000415522, 37.399639001072373 ], [ -121.864765999869647, 37.400139000645218 ], [ -121.86426600051027, 37.400639001107088 ], [ -121.86416600028204, 37.400439000417968 ], [ -121.863026999583766, 37.398944000551609 ], [ -121.862565999855548, 37.398339000423086 ], [ -121.862266000160389, 37.397839000468686 ], [ -121.8615660002487, 37.396839000710401 ], [ -121.860965999647746, 37.396067000274961 ], [ -121.86086599966545, 37.395939000828633 ], [ -121.860666000294714, 37.395639000294842 ], [ -121.860066000252743, 37.394739001129182 ], [ -121.859566000193595, 37.394139000486504 ], [ -121.859091999428415, 37.393449000580418 ], [ -121.85887700009998, 37.393137000586805 ], [ -121.858677000242366, 37.392846000995362 ], [ -121.858465000049449, 37.392539000963716 ], [ -121.858233000073952, 37.392133000292489 ], [ -121.858200999502401, 37.39207800092025 ], [ -121.858064999950017, 37.39203900084965 ], [ -121.857965000074955, 37.391739000641429 ], [ -121.857765000088236, 37.39153900105395 ], [ -121.856565000185824, 37.389839001087601 ], [ -121.857165000411229, 37.389339001003009 ], [ -121.857741000212215, 37.388907000674287 ], [ -121.858509000143826, 37.38833100055988 ], [ -121.859164999756857, 37.387839000906624 ], [ -121.860864999719766, 37.386739000837281 ], [ -121.861065999931441, 37.386539000700907 ], [ -121.86136599974337, 37.386139000532921 ], [ -121.861965999397015, 37.385539000847693 ], [ -121.862210999649491, 37.385319000559505 ], [ -121.862351999844549, 37.385181000613173 ], [ -121.862839000105296, 37.384708000789509 ], [ -121.863065999848601, 37.384939000709558 ], [ -121.863207999429477, 37.385074000928661 ], [ -121.863282000345663, 37.385145000424153 ], [ -121.865266000115071, 37.387039000277859 ], [ -121.866047999605712, 37.387802000363571 ], [ -121.866415000239385, 37.388160000828016 ], [ -121.866724000199611, 37.388462000319741 ], [ -121.867721000254818, 37.389436000493404 ], [ -121.869465999634059, 37.391139000300775 ], [ -121.871140999636637, 37.392814001018621 ], [ -121.871366000327328, 37.393039000904714 ], [ -121.873265999664042, 37.395639000326284 ], [ -121.873465999834139, 37.396039000292276 ], [ -121.874050999439604, 37.397030000289952 ], [ -121.874766000223389, 37.398239000626774 ], [ -121.874966000262688, 37.398639000689371 ], [ -121.874769000503377, 37.398504000384477 ], [ -121.874365999812184, 37.398239000238746 ], [ -121.873639999723011, 37.397807000492094 ], [ -121.873080999761427, 37.39747500059169 ], [ -121.871766000132425, 37.396639000394359 ], [ -121.870066000419286, 37.39773900091312 ], [ -121.86826599995149, 37.39843900066721 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 622, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.860865999721725, 37.413839000675523 ], [ -121.861565999722799, 37.413439000500176 ], [ -121.86186600005685, 37.413339000296311 ], [ -121.862865999519627, 37.412839000327217 ], [ -121.862965999760561, 37.412539000792691 ], [ -121.863892999904863, 37.412094000288796 ], [ -121.864253000281238, 37.411921001037257 ], [ -121.86510199959082, 37.411514000620947 ], [ -121.865465999771999, 37.411339000807764 ], [ -121.865666000332979, 37.41123900090119 ], [ -121.86666599984423, 37.410939000320425 ], [ -121.867089999688602, 37.410733000532773 ], [ -121.86756999954423, 37.410499000331818 ], [ -121.868232000055528, 37.410177000310107 ], [ -121.870365999943786, 37.409139000823814 ], [ -121.871665999631915, 37.410739000780787 ], [ -121.872166000315758, 37.411339000511248 ], [ -121.872866000284219, 37.411939000700784 ], [ -121.874066000439569, 37.41363900073916 ], [ -121.87426600008277, 37.413939000947032 ], [ -121.875165999562554, 37.415939000293243 ], [ -121.87196599942942, 37.417239000337482 ], [ -121.870366000415885, 37.418039001113492 ], [ -121.869066000230291, 37.418639001057528 ], [ -121.867966000417539, 37.419139000976088 ], [ -121.867065999558676, 37.419538000635711 ], [ -121.866047000056938, 37.419984001014726 ], [ -121.865466000281884, 37.420238000665208 ], [ -121.864856999788685, 37.420514000444406 ], [ -121.864116999532257, 37.420850000906889 ], [ -121.862524000370556, 37.421573000981276 ], [ -121.861666000490956, 37.421938000758487 ], [ -121.861446999540775, 37.422022001117838 ], [ -121.860365999488465, 37.422438000981728 ], [ -121.858966000306665, 37.421838001123135 ], [ -121.858865999981901, 37.421738001067538 ], [ -121.857565999721018, 37.421038000949856 ], [ -121.857166000436237, 37.420738000957748 ], [ -121.856447000148904, 37.420031000250113 ], [ -121.856166000164023, 37.419438000326771 ], [ -121.855965999443669, 37.419038000747996 ], [ -121.855365999815277, 37.418338001067589 ], [ -121.854365999638418, 37.41693800040057 ], [ -121.854646000427849, 37.416798000471495 ], [ -121.855765999947479, 37.416238000290249 ], [ -121.856265999721742, 37.416038000586568 ], [ -121.856766000239702, 37.415838000552114 ], [ -121.857765999598641, 37.415439000833381 ], [ -121.85796599963291, 37.41523900053113 ], [ -121.858865999850636, 37.414839000894005 ], [ -121.860166000382179, 37.414139000986417 ], [ -121.860865999721725, 37.413839000675523 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 610, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.903628999461219, 37.439723000466032 ], [ -121.902734999581995, 37.439330000560219 ], [ -121.902242999919608, 37.438968001084646 ], [ -121.901900000485128, 37.438403000629435 ], [ -121.901689000524755, 37.437942000352628 ], [ -121.901425000182442, 37.437502001119505 ], [ -121.901372999515516, 37.436058001031633 ], [ -121.901319999515081, 37.4359530006219 ], [ -121.90130900045628, 37.435622001072915 ], [ -121.901287999789886, 37.435298001117381 ], [ -121.901276000066602, 37.435112000471527 ], [ -121.901257000370407, 37.434835001066951 ], [ -121.901160999469653, 37.434153000965878 ], [ -121.901126999937205, 37.434028000756655 ], [ -121.901081000256653, 37.433842000306456 ], [ -121.900933000165821, 37.433664000704745 ], [ -121.900788000122475, 37.433430001050944 ], [ -121.900601000230083, 37.433173000605755 ], [ -121.900400000257733, 37.432908000974535 ], [ -121.900225000425181, 37.432496000240484 ], [ -121.900067999554565, 37.432138000667848 ], [ -121.902267999969098, 37.431639001085955 ], [ -121.903068000013576, 37.431639000572588 ], [ -121.90376799994506, 37.431639000974329 ], [ -121.90524199951426, 37.431639000579388 ], [ -121.905940000519095, 37.431576000616658 ], [ -121.906868000361825, 37.434738001002692 ], [ -121.907168000405051, 37.436238000811251 ], [ -121.908923000070857, 37.441446000562287 ], [ -121.909159999481503, 37.441921000356338 ], [ -121.9092720004098, 37.442143000264288 ], [ -121.909304000391884, 37.442206000396162 ], [ -121.908981000144948, 37.442480000260353 ], [ -121.908282999715325, 37.443072000361418 ], [ -121.906989000117065, 37.444315000445833 ], [ -121.906747999412474, 37.444119001090115 ], [ -121.906588999888015, 37.444006001095254 ], [ -121.90653200029378, 37.443966000781025 ], [ -121.906312999835549, 37.443823000523466 ], [ -121.906248000097577, 37.443773000567653 ], [ -121.905947999496817, 37.443560000615918 ], [ -121.905780999446435, 37.443469000898226 ], [ -121.905674999722734, 37.443249000230921 ], [ -121.905504000460624, 37.44285200050949 ], [ -121.905365000472827, 37.441380000359217 ], [ -121.90518100044666, 37.440847001113895 ], [ -121.904771999883195, 37.440360000931946 ], [ -121.904347999894171, 37.440063000859809 ], [ -121.903628999461219, 37.439723000466032 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 609, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.893622000498169, 37.433424000418235 ], [ -121.894535000295505, 37.433208000729365 ], [ -121.897340999914405, 37.432719000643786 ], [ -121.898429000041091, 37.432455001064284 ], [ -121.900067999554565, 37.432138000667848 ], [ -121.900225000425181, 37.432496000240484 ], [ -121.900400000257733, 37.432908000974535 ], [ -121.900601000230083, 37.433173000605755 ], [ -121.900788000122475, 37.433430001050944 ], [ -121.900933000165821, 37.433664000704745 ], [ -121.901081000256653, 37.433842000306456 ], [ -121.901126999937205, 37.434028000756655 ], [ -121.901160999469653, 37.434153000965878 ], [ -121.901257000370407, 37.434835001066951 ], [ -121.901276000066602, 37.435112000471527 ], [ -121.901287999789886, 37.435298001117381 ], [ -121.90130900045628, 37.435622001072915 ], [ -121.901319999515081, 37.4359530006219 ], [ -121.901372999515516, 37.436058001031633 ], [ -121.901425000182442, 37.437502001119505 ], [ -121.901689000524755, 37.437942000352628 ], [ -121.901900000485128, 37.438403000629435 ], [ -121.902242999919608, 37.438968001084646 ], [ -121.902734999581995, 37.439330000560219 ], [ -121.903628999461219, 37.439723000466032 ], [ -121.904347999894171, 37.440063000859809 ], [ -121.904771999883195, 37.440360000931946 ], [ -121.90518100044666, 37.440847001113895 ], [ -121.905365000472827, 37.441380000359217 ], [ -121.905504000460624, 37.44285200050949 ], [ -121.905674999722734, 37.443249000230921 ], [ -121.905780999446435, 37.443469000898226 ], [ -121.905947999496817, 37.443560000615918 ], [ -121.906248000097577, 37.443773000567653 ], [ -121.906312999835549, 37.443823000523466 ], [ -121.90653200029378, 37.443966000781025 ], [ -121.906588999888015, 37.444006001095254 ], [ -121.906747999412474, 37.444119001090115 ], [ -121.906989000117065, 37.444315000445833 ], [ -121.905809999597764, 37.445417000753395 ], [ -121.905231000467865, 37.445887000808902 ], [ -121.90500299954148, 37.446007000849214 ], [ -121.904534999601509, 37.446254000777486 ], [ -121.904391999572979, 37.446330000356163 ], [ -121.902743999927011, 37.446414001088371 ], [ -121.901187999834775, 37.446505000263045 ], [ -121.900467999670965, 37.446538000812616 ], [ -121.899970000174704, 37.446578001129502 ], [ -121.898104999589236, 37.446727000313253 ], [ -121.897213000219665, 37.446787000693291 ], [ -121.893467000265005, 37.44693800045777 ], [ -121.891671000514478, 37.446963000849806 ], [ -121.891620999836775, 37.446964001070157 ], [ -121.891107000259325, 37.446984000861868 ], [ -121.890721999411326, 37.447045000382289 ], [ -121.890352999642829, 37.445086000631036 ], [ -121.890249999453573, 37.444669000885945 ], [ -121.890189000370427, 37.44441100082161 ], [ -121.890139999739063, 37.444175000412898 ], [ -121.890066999644247, 37.443827000555139 ], [ -121.890066999785688, 37.443738000455667 ], [ -121.889504999870027, 37.440336001105997 ], [ -121.888582999693895, 37.435187000827966 ], [ -121.888467000007552, 37.434538001011028 ], [ -121.888719000282506, 37.434482000458225 ], [ -121.889651999649928, 37.434274000753973 ], [ -121.890684000275414, 37.434134000937235 ], [ -121.890945999850899, 37.434074001019113 ], [ -121.892049999871219, 37.433841001070988 ], [ -121.892674999478587, 37.433616000961422 ], [ -121.892947000377035, 37.433543001129628 ], [ -121.892966999954993, 37.433538000387301 ], [ -121.893567000177967, 37.433438000610472 ], [ -121.893622000498169, 37.433424000418235 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 620, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.868965999879279, 37.421038000802959 ], [ -121.868723000386879, 37.42053500059766 ], [ -121.868687000332642, 37.420461000970576 ], [ -121.867966000417539, 37.419139000976088 ], [ -121.869066000230291, 37.418639001057528 ], [ -121.870366000415885, 37.418039001113492 ], [ -121.87196599942942, 37.417239000337482 ], [ -121.875165999562554, 37.415939000293243 ], [ -121.87736600011803, 37.415239001123844 ], [ -121.877647000476102, 37.415159000874198 ], [ -121.878065999745317, 37.415039000735234 ], [ -121.87880600040117, 37.414828000735483 ], [ -121.879782999840501, 37.414529000615595 ], [ -121.880618999895106, 37.41426700093578 ], [ -121.880954999547583, 37.414168000562213 ], [ -121.881867000074735, 37.417339001117881 ], [ -121.883791000063354, 37.425280000965955 ], [ -121.883394999782723, 37.425435000756281 ], [ -121.882019999687543, 37.426100000344086 ], [ -121.880867000475646, 37.426738000772914 ], [ -121.880367000468027, 37.4262380004904 ], [ -121.879866999525092, 37.425638000646302 ], [ -121.879366999779776, 37.425138000646051 ], [ -121.8788669998481, 37.424638000335158 ], [ -121.878366999791822, 37.424038000457877 ], [ -121.877766999389465, 37.423438000883863 ], [ -121.877413999813498, 37.422964000882814 ], [ -121.875671999457765, 37.423955000373702 ], [ -121.870910999518145, 37.425034000691824 ], [ -121.870532000228664, 37.424937000848281 ], [ -121.870389000137052, 37.424726000729763 ], [ -121.870152999634257, 37.424077000643209 ], [ -121.869265999846064, 37.421638000945563 ], [ -121.868965999879279, 37.421038000802959 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 471, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.964167999725973, 37.316342000720596 ], [ -121.965236999395998, 37.316326000877815 ], [ -121.970667999958039, 37.316242000772512 ], [ -121.972468999451124, 37.316442000746129 ], [ -121.975169000279223, 37.317142001049078 ], [ -121.974868999608319, 37.31744200098619 ], [ -121.974469000265017, 37.317942000612746 ], [ -121.974168999957826, 37.318342000519898 ], [ -121.973896999672903, 37.318488000643342 ], [ -121.973769000112753, 37.318842000345903 ], [ -121.973269000489822, 37.319442000829696 ], [ -121.972968999886476, 37.319742000236801 ], [ -121.971912999857494, 37.320914000443196 ], [ -121.971847999493662, 37.320988000236291 ], [ -121.971269000231871, 37.321642000479955 ], [ -121.970168999832495, 37.323042000634238 ], [ -121.968569000030641, 37.323042000912295 ], [ -121.966567999760557, 37.323042001068046 ], [ -121.96636799997907, 37.323042000818631 ], [ -121.965568000221367, 37.323142000805923 ], [ -121.964268000062518, 37.323142001052368 ], [ -121.964068000439582, 37.323042000665978 ], [ -121.963468000045538, 37.323142000481681 ], [ -121.962368000101748, 37.323142000326882 ], [ -121.960067999410484, 37.323142000780393 ], [ -121.958667999902232, 37.323142000603582 ], [ -121.957668000356662, 37.323142000376329 ], [ -121.955568000451692, 37.323142000403841 ], [ -121.95450099973192, 37.323177000715646 ], [ -121.953625999617174, 37.323208000253672 ], [ -121.95236799955731, 37.323242000429914 ], [ -121.950167999673369, 37.32314200090245 ], [ -121.95015699961445, 37.322644000252268 ], [ -121.950166999469118, 37.322227000340852 ], [ -121.950168000157632, 37.321842000619597 ], [ -121.950163999582031, 37.320452000452647 ], [ -121.950167999884329, 37.319938000254623 ], [ -121.950179000059691, 37.319146000779817 ], [ -121.950188000082264, 37.318526000542739 ], [ -121.950167999673809, 37.318046000825078 ], [ -121.950168000053637, 37.317842000980917 ], [ -121.950167999407014, 37.317650000847351 ], [ -121.950167999539786, 37.317342000950092 ], [ -121.950188000189357, 37.316842000773391 ], [ -121.953367999410389, 37.316842000712377 ], [ -121.954968000392498, 37.316442001095126 ], [ -121.955968000066008, 37.316442001046973 ], [ -121.95646799967372, 37.31642900031558 ], [ -121.957510000454974, 37.316403001130205 ], [ -121.959967999568491, 37.316342001119871 ], [ -121.964167999725973, 37.316342000720596 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 470, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.9644539997865, 37.3041260010013 ], [ -121.964067999835223, 37.306442000547605 ], [ -121.963568000119878, 37.308642000713007 ], [ -121.963267999932839, 37.310342000447569 ], [ -121.963268000103014, 37.310542000556104 ], [ -121.963668000076325, 37.313142000848558 ], [ -121.963698000323035, 37.313340000312138 ], [ -121.963714999458219, 37.313452001124496 ], [ -121.964067999536638, 37.315742000654588 ], [ -121.964167999725973, 37.316342000720596 ], [ -121.959967999568491, 37.316342001119871 ], [ -121.957510000454974, 37.316403001130205 ], [ -121.95646799967372, 37.31642900031558 ], [ -121.955968000066008, 37.316442001046973 ], [ -121.954968000392498, 37.316442001095126 ], [ -121.953367999410389, 37.316842000712377 ], [ -121.950188000189357, 37.316842000773391 ], [ -121.950168000388175, 37.315942000486075 ], [ -121.950167999674719, 37.315642000916384 ], [ -121.95018000012351, 37.315239000980668 ], [ -121.950168000123654, 37.314642000466691 ], [ -121.950067999985535, 37.313542000511589 ], [ -121.950068000007292, 37.312942000238323 ], [ -121.950252999686199, 37.311740000313399 ], [ -121.950267999964268, 37.311642001072542 ], [ -121.950267999583488, 37.311342000390667 ], [ -121.950268000057619, 37.31114200053527 ], [ -121.95026799999296, 37.310142000237043 ], [ -121.950267999931384, 37.308942000744828 ], [ -121.950268000252649, 37.308742000809474 ], [ -121.950167999420586, 37.308242000710472 ], [ -121.950268000412777, 37.306842001071367 ], [ -121.95016799953838, 37.306342000832728 ], [ -121.950167999826462, 37.305642000730955 ], [ -121.950168000079486, 37.304142000239516 ], [ -121.950167999864632, 37.303442000782525 ], [ -121.95016800049693, 37.301442001130383 ], [ -121.952414999408191, 37.301338000634779 ], [ -121.952917000087325, 37.301336000563722 ], [ -121.954667999797678, 37.301342001090291 ], [ -121.955467999468453, 37.301342001104217 ], [ -121.956868000442455, 37.301342000518488 ], [ -121.957867999948846, 37.301342000247381 ], [ -121.958667999837814, 37.301342000256426 ], [ -121.959180000318327, 37.301389000787701 ], [ -121.959768000161418, 37.301442000512843 ], [ -121.96136799988551, 37.301242000611936 ], [ -121.961988000374745, 37.301174000638426 ], [ -121.962556999433389, 37.301109000704855 ], [ -121.963153999989345, 37.301044000902841 ], [ -121.963296999460482, 37.301029000437545 ], [ -121.963967999609309, 37.300942000853333 ], [ -121.964076999968512, 37.301617001048392 ], [ -121.964105999618809, 37.301798000511525 ], [ -121.964146999602264, 37.302053000992061 ], [ -121.964192999489157, 37.302340001036811 ], [ -121.964293999979247, 37.302965001094016 ], [ -121.964426000438579, 37.303783000495457 ], [ -121.964468000328822, 37.304042000755317 ], [ -121.9644539997865, 37.3041260010013 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 473, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.976868999678928, 37.300742000268528 ], [ -121.97836899963275, 37.300642000924888 ], [ -121.979769000481156, 37.300642000555996 ], [ -121.98196899969706, 37.300542000494033 ], [ -121.980168999598135, 37.302742000521448 ], [ -121.979768999891533, 37.303342000462678 ], [ -121.979268999979951, 37.304242000809815 ], [ -121.978969000300594, 37.304842000433403 ], [ -121.978769000333457, 37.305142000640856 ], [ -121.978368999929017, 37.305942000474502 ], [ -121.978069000335253, 37.306842000983693 ], [ -121.978069000457666, 37.307042000553814 ], [ -121.977868999682983, 37.307942000397617 ], [ -121.977168999919513, 37.307942000905022 ], [ -121.975968999952045, 37.307942000633439 ], [ -121.974869000361863, 37.307942000961333 ], [ -121.974268999983778, 37.308042000779359 ], [ -121.973968999942841, 37.308042000354178 ], [ -121.973567999728587, 37.308042001045045 ], [ -121.973068000071137, 37.30804200025942 ], [ -121.972168000032994, 37.308042001085418 ], [ -121.971268000082361, 37.308042000473137 ], [ -121.970768000445403, 37.308142000937906 ], [ -121.969996000481416, 37.308142000628941 ], [ -121.968868000202434, 37.308142000657305 ], [ -121.967968000423426, 37.308142001071921 ], [ -121.967014000477818, 37.308349000251795 ], [ -121.96606799981295, 37.308442000320007 ], [ -121.964938999461964, 37.308654000944465 ], [ -121.964526999620475, 37.308707000702817 ], [ -121.964067999972116, 37.308642001117995 ], [ -121.963568000119878, 37.308642000713007 ], [ -121.964067999835223, 37.306442000547605 ], [ -121.9644539997865, 37.3041260010013 ], [ -121.964468000328822, 37.304042000755317 ], [ -121.964426000438579, 37.303783000495457 ], [ -121.964293999979247, 37.302965001094016 ], [ -121.964192999489157, 37.302340001036811 ], [ -121.964146999602264, 37.302053000992061 ], [ -121.964105999618809, 37.301798000511525 ], [ -121.964076999968512, 37.301617001048392 ], [ -121.963967999609309, 37.300942000853333 ], [ -121.96466800025722, 37.300942000537219 ], [ -121.965467999754452, 37.300942000501522 ], [ -121.966268000433956, 37.300942000474528 ], [ -121.967167999989741, 37.300942000727389 ], [ -121.968567999443948, 37.300942000432507 ], [ -121.969467999596588, 37.300842000958156 ], [ -121.969967999951265, 37.300842000438621 ], [ -121.97036800047195, 37.300842000306282 ], [ -121.972667999479086, 37.300842000756269 ], [ -121.974267999453716, 37.300742000341693 ], [ -121.974768000469794, 37.300742000268365 ], [ -121.975768000296611, 37.300742000973905 ], [ -121.976868999678928, 37.300742000268528 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 468, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.940066999897851, 37.297242000629808 ], [ -121.939766999393555, 37.296642000734892 ], [ -121.938867000169424, 37.294642000643648 ], [ -121.938666999835064, 37.294242000491948 ], [ -121.939226999534256, 37.294242000663523 ], [ -121.939267000161649, 37.294242000451412 ], [ -121.940067000268542, 37.294242000468266 ], [ -121.940766999419537, 37.294242000543839 ], [ -121.941366999852917, 37.294242000670458 ], [ -121.942666999581604, 37.294242001011071 ], [ -121.94366699974637, 37.294242000292357 ], [ -121.947320999513053, 37.294166000707655 ], [ -121.948466999468096, 37.294142001026025 ], [ -121.950067000017157, 37.294142001015558 ], [ -121.950067000208875, 37.294642000234241 ], [ -121.950067000284903, 37.295042001021201 ], [ -121.950067000308493, 37.295142000312524 ], [ -121.950067000320843, 37.295542001066202 ], [ -121.95006700030919, 37.29584200071271 ], [ -121.95006700018736, 37.296442000862029 ], [ -121.950067000129621, 37.296642000297652 ], [ -121.95006800049967, 37.297442000542347 ], [ -121.950068000297918, 37.297742000995243 ], [ -121.950067999820988, 37.29834200095484 ], [ -121.95006799944349, 37.298742000594174 ], [ -121.95016800049693, 37.301442001130383 ], [ -121.950167999864632, 37.303442000782525 ], [ -121.950168000079486, 37.304142000239516 ], [ -121.950167999826462, 37.305642000730955 ], [ -121.95016799953838, 37.306342000832728 ], [ -121.950268000412777, 37.306842001071367 ], [ -121.950167999420586, 37.308242000710472 ], [ -121.950268000252649, 37.308742000809474 ], [ -121.950267999931384, 37.308942000744828 ], [ -121.949867999780679, 37.309142001069972 ], [ -121.949367999472585, 37.30914200101077 ], [ -121.945767999692734, 37.309142000592587 ], [ -121.944666999496761, 37.309242000302881 ], [ -121.943667000376934, 37.309342000884229 ], [ -121.942667000017877, 37.309242000401689 ], [ -121.941667000385863, 37.309442001065875 ], [ -121.940866999768502, 37.309742000525254 ], [ -121.940867000030579, 37.30544200084892 ], [ -121.940867000377963, 37.305042001063519 ], [ -121.940866999406111, 37.303139001089484 ], [ -121.940867000075968, 37.301442000884748 ], [ -121.940766999699733, 37.299842000543329 ], [ -121.940768000311095, 37.299445000948488 ], [ -121.940766999941587, 37.29914200026311 ], [ -121.940666999652976, 37.298842000960647 ], [ -121.940381999870084, 37.29808100064237 ], [ -121.940066999897851, 37.297242000629808 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 504, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.955767000129711, 37.259743000940347 ], [ -121.957167000364961, 37.260543000240304 ], [ -121.95809400001076, 37.260799001129719 ], [ -121.961412999459981, 37.261717001079354 ], [ -121.961867000457062, 37.261843000694398 ], [ -121.960967000372946, 37.262843001065477 ], [ -121.960266999940501, 37.2636430007827 ], [ -121.958466999923274, 37.266043000706823 ], [ -121.956924999825475, 37.26817300058358 ], [ -121.956366999698105, 37.268943000317947 ], [ -121.956166999879372, 37.269143000407425 ], [ -121.955509000307899, 37.26998800056564 ], [ -121.955466999577681, 37.270043000597958 ], [ -121.954066999887374, 37.272043000772584 ], [ -121.953767000070698, 37.272643000491044 ], [ -121.953677999465327, 37.272732001093196 ], [ -121.953600999709664, 37.272809000633075 ], [ -121.952967000246474, 37.273443000973487 ], [ -121.952466999921512, 37.274043000889563 ], [ -121.951966999464432, 37.274643000384081 ], [ -121.951466999990373, 37.275243000368278 ], [ -121.951066999672705, 37.275843000991408 ], [ -121.949866999690428, 37.277343000831188 ], [ -121.949867000176184, 37.278643000644394 ], [ -121.94996699986379, 37.280443000777716 ], [ -121.949967000512061, 37.281542000414234 ], [ -121.94996700001073, 37.281742000331988 ], [ -121.949966999841251, 37.28244200045733 ], [ -121.949967000410467, 37.282642000355132 ], [ -121.949967000040346, 37.283342000375569 ], [ -121.949966999669243, 37.28364200061543 ], [ -121.949966999743154, 37.284142000688142 ], [ -121.949966999947293, 37.284742001082968 ], [ -121.949967000024159, 37.285942000791501 ], [ -121.949967000335434, 37.286842001096495 ], [ -121.950040000419961, 37.28947000027685 ], [ -121.950066999580613, 37.290442000306207 ], [ -121.95006699990968, 37.291442001110575 ], [ -121.950067000017157, 37.294142001015558 ], [ -121.948466999468096, 37.294142001026025 ], [ -121.947320999513053, 37.294166000707655 ], [ -121.94366699974637, 37.294242000292357 ], [ -121.942666999581604, 37.294242001011071 ], [ -121.941366999852917, 37.294242000670458 ], [ -121.940766999419537, 37.294242000543839 ], [ -121.940067000268542, 37.294242000468266 ], [ -121.939267000161649, 37.294242000451412 ], [ -121.939226999534256, 37.294242000663523 ], [ -121.938666999835064, 37.294242000491948 ], [ -121.93846700043504, 37.29384200089963 ], [ -121.937967000006921, 37.292642000566254 ], [ -121.937867000275318, 37.292542000776017 ], [ -121.937828000237843, 37.292464000675004 ], [ -121.936967000171279, 37.290742000258014 ], [ -121.936860000042003, 37.290206000811487 ], [ -121.936767000259678, 37.289742000322228 ], [ -121.937067000504669, 37.286942000947093 ], [ -121.940167000488373, 37.283442000914953 ], [ -121.944467000295646, 37.279943001119534 ], [ -121.94616699956201, 37.276743000451923 ], [ -121.946491000125278, 37.274880001033239 ], [ -121.946524999419054, 37.274685000528585 ], [ -121.946566999591099, 37.274443000381488 ], [ -121.946767000429745, 37.273543000759425 ], [ -121.94683599979993, 37.273247000430864 ], [ -121.94694999995545, 37.272752000534517 ], [ -121.946970999921362, 37.272661000321243 ], [ -121.947130999739329, 37.271968001007131 ], [ -121.947367000513566, 37.27094300032843 ], [ -121.947667000327712, 37.269943001113354 ], [ -121.948166999433155, 37.268043000610824 ], [ -121.949769999793801, 37.264245000775134 ], [ -121.949776999847799, 37.264229000607372 ], [ -121.950047000419687, 37.26359000085759 ], [ -121.950066999531174, 37.263543000943393 ], [ -121.95029599944823, 37.263222000685367 ], [ -121.953860000066982, 37.258217001038311 ], [ -121.953636999606402, 37.258542000634918 ], [ -121.954913000120285, 37.259253000662802 ], [ -121.955767000129711, 37.259743000940347 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 503, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.960168000262712, 37.290442000346978 ], [ -121.960468000062832, 37.294142000555162 ], [ -121.95936799988462, 37.294142000442996 ], [ -121.958467999603272, 37.294142000855203 ], [ -121.956167999843117, 37.294142000557414 ], [ -121.955167999938752, 37.294142000589787 ], [ -121.954567999579652, 37.294142001055206 ], [ -121.954068000253244, 37.29414200077975 ], [ -121.952368000433978, 37.294142000783992 ], [ -121.950067000017157, 37.294142001015558 ], [ -121.95006699990968, 37.291442001110575 ], [ -121.950066999580613, 37.290442000306207 ], [ -121.950040000419961, 37.28947000027685 ], [ -121.949967000335434, 37.286842001096495 ], [ -121.949967000024159, 37.285942000791501 ], [ -121.949966999947293, 37.284742001082968 ], [ -121.949966999743154, 37.284142000688142 ], [ -121.949966999669243, 37.28364200061543 ], [ -121.949967000040346, 37.283342000375569 ], [ -121.949967000410467, 37.282642000355132 ], [ -121.949966999841251, 37.28244200045733 ], [ -121.94996700001073, 37.281742000331988 ], [ -121.949967000512061, 37.281542000414234 ], [ -121.94996699986379, 37.280443000777716 ], [ -121.949867000176184, 37.278643000644394 ], [ -121.949866999690428, 37.277343000831188 ], [ -121.951066999672705, 37.275843000991408 ], [ -121.951466999990373, 37.275243000368278 ], [ -121.951966999464432, 37.274643000384081 ], [ -121.952466999921512, 37.274043000889563 ], [ -121.952866999950956, 37.274143000979606 ], [ -121.953466999981032, 37.274243000561249 ], [ -121.954267000415783, 37.275043000538027 ], [ -121.954966999964171, 37.275443000613457 ], [ -121.955054000200022, 37.275792000339933 ], [ -121.955066999592489, 37.275843000508239 ], [ -121.955967000032246, 37.277743000619395 ], [ -121.957218000177264, 37.279129000361181 ], [ -121.957567999734792, 37.279443000325422 ], [ -121.95763399977146, 37.279539000466002 ], [ -121.957873999764956, 37.279884001116457 ], [ -121.958078999838051, 37.280257000402003 ], [ -121.960268000185508, 37.284242001005552 ], [ -121.960367999408703, 37.286642000294371 ], [ -121.960168000262712, 37.290442000346978 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 501, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.970567999455056, 37.286142000553255 ], [ -121.968267999798798, 37.286342000960886 ], [ -121.96806800018436, 37.286342000600257 ], [ -121.967523000233783, 37.286441000435929 ], [ -121.966968000287721, 37.286542000723379 ], [ -121.966568000038109, 37.286542000661704 ], [ -121.965668000153414, 37.286642001006804 ], [ -121.965367999601057, 37.286642000940219 ], [ -121.964267999891334, 37.286642001118999 ], [ -121.963868000333221, 37.286642000945811 ], [ -121.962967999960796, 37.286642001008147 ], [ -121.962867999799997, 37.286642000891895 ], [ -121.961768000333137, 37.286642000364743 ], [ -121.960568000164088, 37.28654200064522 ], [ -121.960367999408703, 37.286642000294371 ], [ -121.960268000185508, 37.284242001005552 ], [ -121.960767999677856, 37.284242000798926 ], [ -121.960768000203871, 37.283842000746894 ], [ -121.962715000347032, 37.280453000909333 ], [ -121.963182000260431, 37.279641000680876 ], [ -121.963468000256242, 37.279143000688592 ], [ -121.964668000504744, 37.2786430002514 ], [ -121.965327999697379, 37.278186000904171 ], [ -121.965968000208733, 37.27774300059631 ], [ -121.967268000326413, 37.277543000672168 ], [ -121.967591000240205, 37.277404000869936 ], [ -121.968751000201635, 37.276948000792871 ], [ -121.970048999860481, 37.277011000687047 ], [ -121.970594999761573, 37.277035000717731 ], [ -121.970768000243837, 37.277043000334778 ], [ -121.971767999539082, 37.27734300061141 ], [ -121.973668000454254, 37.277343000782864 ], [ -121.974967999481279, 37.277343000386999 ], [ -121.976467999945754, 37.27744300072284 ], [ -121.976967999574811, 37.278043000903004 ], [ -121.977167999790254, 37.278343000802536 ], [ -121.977267999655155, 37.278943001028686 ], [ -121.977367999870324, 37.279543001124416 ], [ -121.977667999634292, 37.281643000747891 ], [ -121.976667999813117, 37.281643000574064 ], [ -121.976668000363958, 37.283443000987631 ], [ -121.976767999410157, 37.284143000842818 ], [ -121.976768000268152, 37.285842000357654 ], [ -121.974767999404619, 37.2859420005217 ], [ -121.974167999519494, 37.286042000396328 ], [ -121.972768000341034, 37.286042001111745 ], [ -121.971567999663336, 37.286142000382597 ], [ -121.970567999455056, 37.286142000553255 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 499, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.981468000491375, 37.285742000391814 ], [ -121.979968000137021, 37.285742000899091 ], [ -121.976768000268152, 37.285842000357654 ], [ -121.976767999410157, 37.284143000842818 ], [ -121.976668000363958, 37.283443000987631 ], [ -121.976667999813117, 37.281643000574064 ], [ -121.977667999634292, 37.281643000747891 ], [ -121.977367999870324, 37.279543001124416 ], [ -121.977267999655155, 37.278943001028686 ], [ -121.977167999790254, 37.278343000802536 ], [ -121.976967999574811, 37.278043000903004 ], [ -121.976467999945754, 37.27744300072284 ], [ -121.977045999954598, 37.276913001081112 ], [ -121.977668000422128, 37.276343001129817 ], [ -121.978767999949113, 37.27494300096987 ], [ -121.980867999987709, 37.274343000411065 ], [ -121.982167999527846, 37.273443000723802 ], [ -121.982667999686186, 37.273343000447774 ], [ -121.983967999887881, 37.273143000934212 ], [ -121.985568000031293, 37.272343000596756 ], [ -121.989268999608669, 37.272643000878737 ], [ -121.990869000088011, 37.271643000461431 ], [ -121.990968999653234, 37.270443000760899 ], [ -121.9908939997201, 37.269843000240861 ], [ -121.990868999598788, 37.269643000645161 ], [ -121.990916999422552, 37.269402001040298 ], [ -121.99096900048724, 37.269143001013539 ], [ -121.993969000216595, 37.270343000811444 ], [ -121.994003999477187, 37.270761000398629 ], [ -121.994069000286629, 37.271543000431691 ], [ -121.994069000524135, 37.271613000376291 ], [ -121.994069000326959, 37.272243000723158 ], [ -121.994369000366362, 37.273143000947726 ], [ -121.994368999826364, 37.276043000935779 ], [ -121.992829999772695, 37.2761430010734 ], [ -121.989768999710819, 37.276343000681599 ], [ -121.989368999855998, 37.277143000811996 ], [ -121.989368999836358, 37.277943000993496 ], [ -121.989768999816434, 37.278543000614981 ], [ -121.989868999872783, 37.279243000607309 ], [ -121.989868999956954, 37.279943000673136 ], [ -121.993868999870088, 37.279943000503877 ], [ -121.994468999963544, 37.279943001030581 ], [ -121.994469000130081, 37.280343000669887 ], [ -121.994468999600144, 37.280443000570749 ], [ -121.994569000496114, 37.281343000958472 ], [ -121.994568999905056, 37.282243000803717 ], [ -121.99456899984061, 37.282743001063139 ], [ -121.994569000023859, 37.282943000796671 ], [ -121.994568999546928, 37.283043000656122 ], [ -121.99456899971527, 37.284143000850577 ], [ -121.994669000137179, 37.284743000240198 ], [ -121.994668999926546, 37.28534300102524 ], [ -121.994669000215907, 37.285543000675936 ], [ -121.994668999618114, 37.285943000849002 ], [ -121.99466899940407, 37.286743001124648 ], [ -121.995668999419891, 37.286743001020135 ], [ -121.996868999483667, 37.285643000443812 ], [ -121.998769000235072, 37.283743000646595 ], [ -121.998934000298902, 37.283853000588323 ], [ -121.999668999427172, 37.284343000485599 ], [ -121.998369000004288, 37.285543000341818 ], [ -121.996869000305622, 37.287143000553883 ], [ -121.996366000510108, 37.287594000750481 ], [ -121.995869000048131, 37.288042000329483 ], [ -121.994868999472899, 37.289042000663045 ], [ -121.994768999971697, 37.289142001119572 ], [ -121.992368999942826, 37.291442000349114 ], [ -121.989868999899656, 37.28964200102773 ], [ -121.987369000092485, 37.287742000749226 ], [ -121.984569000422852, 37.286142001088962 ], [ -121.98446899962353, 37.286142000299115 ], [ -121.984068999574163, 37.286042001102601 ], [ -121.983269000457, 37.28584200047905 ], [ -121.982668999705425, 37.285742000829757 ], [ -121.981468000491375, 37.285742000391814 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 500, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.973668000454254, 37.277343000782864 ], [ -121.971767999539082, 37.27734300061141 ], [ -121.970768000243837, 37.277043000334778 ], [ -121.970868000456008, 37.276643000935493 ], [ -121.97126799991203, 37.27584300049768 ], [ -121.971268000188743, 37.275443000438734 ], [ -121.971308999938628, 37.274696000599754 ], [ -121.971375999417461, 37.274322001107677 ], [ -121.971468000081856, 37.273843000984158 ], [ -121.97161800008962, 37.273043000442087 ], [ -121.971768000098237, 37.272243000486135 ], [ -121.971767999671584, 37.271943000925241 ], [ -121.9720680001776, 37.270843000284444 ], [ -121.972267999891912, 37.269843001080396 ], [ -121.972568000367588, 37.269043001132616 ], [ -121.972568000256459, 37.268343000826263 ], [ -121.972868000157462, 37.26734300088377 ], [ -121.97296800040732, 37.26684300077676 ], [ -121.973168000014169, 37.265943001020482 ], [ -121.973267999819825, 37.265743000431655 ], [ -121.973768000480277, 37.265143000537861 ], [ -121.974671000470465, 37.265053001005768 ], [ -121.974725999995457, 37.265047001059877 ], [ -121.974767999601838, 37.265043000399267 ], [ -121.974837999656003, 37.265037000515015 ], [ -121.975667999779546, 37.264943000884116 ], [ -121.976368000337686, 37.264943000434251 ], [ -121.976939000210123, 37.264891000890636 ], [ -121.977467999978259, 37.264843001119154 ], [ -121.97906799991496, 37.264843000679186 ], [ -121.980983999816189, 37.264783000231972 ], [ -121.981675000411386, 37.264762000893214 ], [ -121.982068000393554, 37.264943000990002 ], [ -121.98458799992018, 37.266095000804768 ], [ -121.985567999581619, 37.266543000833799 ], [ -121.985991000167729, 37.266719000910975 ], [ -121.986767999768347, 37.267043000891867 ], [ -121.99096900048724, 37.269143001013539 ], [ -121.990916999422552, 37.269402001040298 ], [ -121.990868999598788, 37.269643000645161 ], [ -121.9908939997201, 37.269843000240861 ], [ -121.990968999653234, 37.270443000760899 ], [ -121.990869000088011, 37.271643000461431 ], [ -121.989268999608669, 37.272643000878737 ], [ -121.985568000031293, 37.272343000596756 ], [ -121.983967999887881, 37.273143000934212 ], [ -121.982667999686186, 37.273343000447774 ], [ -121.982167999527846, 37.273443000723802 ], [ -121.980867999987709, 37.274343000411065 ], [ -121.978767999949113, 37.27494300096987 ], [ -121.977668000422128, 37.276343001129817 ], [ -121.977045999954598, 37.276913001081112 ], [ -121.976467999945754, 37.27744300072284 ], [ -121.974967999481279, 37.277343000386999 ], [ -121.973668000454254, 37.277343000782864 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 505, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.972568000367588, 37.269043001132616 ], [ -121.972267999891912, 37.269843001080396 ], [ -121.9720680001776, 37.270843000284444 ], [ -121.971767999671584, 37.271943000925241 ], [ -121.971768000098237, 37.272243000486135 ], [ -121.97161800008962, 37.273043000442087 ], [ -121.971468000081856, 37.273843000984158 ], [ -121.971375999417461, 37.274322001107677 ], [ -121.971308999938628, 37.274696000599754 ], [ -121.971268000188743, 37.275443000438734 ], [ -121.97126799991203, 37.27584300049768 ], [ -121.970868000456008, 37.276643000935493 ], [ -121.970768000243837, 37.277043000334778 ], [ -121.970594999761573, 37.277035000717731 ], [ -121.970048999860481, 37.277011000687047 ], [ -121.968751000201635, 37.276948000792871 ], [ -121.967591000240205, 37.277404000869936 ], [ -121.967268000326413, 37.277543000672168 ], [ -121.965968000208733, 37.27774300059631 ], [ -121.965327999697379, 37.278186000904171 ], [ -121.964668000504744, 37.2786430002514 ], [ -121.963468000256242, 37.279143000688592 ], [ -121.963182000260431, 37.279641000680876 ], [ -121.962715000347032, 37.280453000909333 ], [ -121.960768000203871, 37.283842000746894 ], [ -121.960767999677856, 37.284242000798926 ], [ -121.960268000185508, 37.284242001005552 ], [ -121.958078999838051, 37.280257000402003 ], [ -121.957873999764956, 37.279884001116457 ], [ -121.95763399977146, 37.279539000466002 ], [ -121.957567999734792, 37.279443000325422 ], [ -121.957218000177264, 37.279129000361181 ], [ -121.955967000032246, 37.277743000619395 ], [ -121.955066999592489, 37.275843000508239 ], [ -121.955054000200022, 37.275792000339933 ], [ -121.954966999964171, 37.275443000613457 ], [ -121.954267000415783, 37.275043000538027 ], [ -121.953466999981032, 37.274243000561249 ], [ -121.952866999950956, 37.274143000979606 ], [ -121.952466999921512, 37.274043000889563 ], [ -121.952967000246474, 37.273443000973487 ], [ -121.953600999709664, 37.272809000633075 ], [ -121.953677999465327, 37.272732001093196 ], [ -121.953767000070698, 37.272643000491044 ], [ -121.954066999887374, 37.272043000772584 ], [ -121.955466999577681, 37.270043000597958 ], [ -121.955509000307899, 37.26998800056564 ], [ -121.956166999879372, 37.269143000407425 ], [ -121.956366999698105, 37.268943000317947 ], [ -121.957566999687359, 37.268943000746965 ], [ -121.958182999797913, 37.268899000228409 ], [ -121.958967000369995, 37.268843000499636 ], [ -121.961467999635985, 37.26884300051973 ], [ -121.961967999921796, 37.268843000903836 ], [ -121.964167999989144, 37.26894300076215 ], [ -121.966167999874287, 37.268943000783715 ], [ -121.966867999687565, 37.268943000871708 ], [ -121.967468000207759, 37.268943000747903 ], [ -121.969067999858225, 37.268943000853362 ], [ -121.969368000167464, 37.268943001003166 ], [ -121.970268000026167, 37.268943000485663 ], [ -121.971268000442578, 37.268943000500968 ], [ -121.972568000367588, 37.269043001132616 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 518, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.962766999463398, 37.244943000369588 ], [ -121.962158000118706, 37.245690000436106 ], [ -121.961323999688531, 37.246714000698297 ], [ -121.961073000390911, 37.247022000720889 ], [ -121.960566999771075, 37.247643000778147 ], [ -121.960142999823475, 37.248244000886743 ], [ -121.959903999903105, 37.248583000664119 ], [ -121.959652999815603, 37.248937000458653 ], [ -121.959635000015709, 37.248962000293076 ], [ -121.959367000443223, 37.249343000979422 ], [ -121.959166999552068, 37.249643000962124 ], [ -121.959017000476734, 37.249943000354961 ], [ -121.958481000481484, 37.25101400025568 ], [ -121.958466999431593, 37.251043001078621 ], [ -121.958319000006142, 37.251450000922112 ], [ -121.958067000039705, 37.252143000427679 ], [ -121.957414999956953, 37.253143001108391 ], [ -121.957266999449715, 37.253443000297921 ], [ -121.957236000469436, 37.253488000990139 ], [ -121.95686600022988, 37.254067001107991 ], [ -121.956462999895834, 37.254891000853256 ], [ -121.955598999806114, 37.255699000943011 ], [ -121.955433000113302, 37.255986000729699 ], [ -121.954667000018347, 37.255643000561669 ], [ -121.951667000440978, 37.254143000886174 ], [ -121.952128999826414, 37.253681000235126 ], [ -121.952166999823305, 37.253643000660418 ], [ -121.951767000274586, 37.252543000447027 ], [ -121.951166999763572, 37.250143000732145 ], [ -121.95109999952156, 37.249943001110147 ], [ -121.950967000209516, 37.249543000695304 ], [ -121.950867000440383, 37.249043000435826 ], [ -121.950667000326135, 37.248443000714964 ], [ -121.950366999451774, 37.247443000800111 ], [ -121.950067000336176, 37.246143000660716 ], [ -121.949948000029892, 37.24578600098279 ], [ -121.949867000169519, 37.24554300029574 ], [ -121.949666999673624, 37.244943000453119 ], [ -121.949641000150564, 37.24485600083748 ], [ -121.949489999482481, 37.244342000979245 ], [ -121.949167000152443, 37.243243000307864 ], [ -121.948967000061458, 37.243343000977454 ], [ -121.947966999581979, 37.243543000640145 ], [ -121.946466999491946, 37.243543001044451 ], [ -121.946167000185397, 37.243543000292782 ], [ -121.946053000359242, 37.243000000420487 ], [ -121.94576699942921, 37.241643000450978 ], [ -121.945766999437097, 37.241243000824809 ], [ -121.945366999813942, 37.240043001073069 ], [ -121.94536699948938, 37.239643000451778 ], [ -121.945295999899088, 37.239595000417474 ], [ -121.945025000221946, 37.239411000812538 ], [ -121.945166999446471, 37.239143001044063 ], [ -121.945066999967494, 37.238843001125517 ], [ -121.944866999950975, 37.237944000976 ], [ -121.944767000239011, 37.237744000945874 ], [ -121.944267000116767, 37.236944000757759 ], [ -121.944166999824475, 37.236344000310844 ], [ -121.944776999444599, 37.236344000789657 ], [ -121.945867000117801, 37.236344000583351 ], [ -121.946577000138191, 37.236166000518935 ], [ -121.946666999885167, 37.236144001089841 ], [ -121.946847999606078, 37.236096000744446 ], [ -121.948167000029443, 37.235744000726363 ], [ -121.948628000356365, 37.235629000870951 ], [ -121.949558999637574, 37.235396001006706 ], [ -121.949767000097168, 37.235344001068349 ], [ -121.951266999571999, 37.234744000239125 ], [ -121.951866999908702, 37.234644000534601 ], [ -121.952767000471155, 37.234844000371368 ], [ -121.952966999907588, 37.234744001069217 ], [ -121.95506700035412, 37.234744000679349 ], [ -121.957767000516114, 37.234744000417827 ], [ -121.960966999936744, 37.23524400035037 ], [ -121.963067999679154, 37.235544000522999 ], [ -121.963493999604736, 37.234586001031978 ], [ -121.963868000136074, 37.233744000589482 ], [ -121.964167999535931, 37.233444000942406 ], [ -121.964190000039466, 37.233356000879645 ], [ -121.964212999591624, 37.233266000401471 ], [ -121.964267999652861, 37.233044000510368 ], [ -121.965167999687921, 37.233544000335165 ], [ -121.966168000437193, 37.234144000666085 ], [ -121.968066000071332, 37.23529900046524 ], [ -121.968467999388594, 37.235544001051259 ], [ -121.969668000400674, 37.23464400031343 ], [ -121.970867999527826, 37.234344000704887 ], [ -121.968967999723787, 37.238344000707457 ], [ -121.968068000312883, 37.239943000736524 ], [ -121.966468000416981, 37.24154300069037 ], [ -121.963667000284161, 37.243843000542277 ], [ -121.962766999463398, 37.244943000369588 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 517, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.949867000169519, 37.24554300029574 ], [ -121.949948000029892, 37.24578600098279 ], [ -121.950067000336176, 37.246143000660716 ], [ -121.950366999451774, 37.247443000800111 ], [ -121.950667000326135, 37.248443000714964 ], [ -121.950867000440383, 37.249043000435826 ], [ -121.950967000209516, 37.249543000695304 ], [ -121.949499999548237, 37.249943000448951 ], [ -121.948767000279673, 37.250143000612468 ], [ -121.948867000121012, 37.250443000653242 ], [ -121.949166999916713, 37.250943001104588 ], [ -121.948531000070119, 37.250922000718049 ], [ -121.947734000506642, 37.250895000709178 ], [ -121.94526499978069, 37.250836000627793 ], [ -121.945201000232387, 37.250834000907702 ], [ -121.944899999658219, 37.250835000967356 ], [ -121.943984999607451, 37.250513000291562 ], [ -121.94390199988797, 37.250519000359894 ], [ -121.94379399954758, 37.250526000494624 ], [ -121.943255000148696, 37.250496000501691 ], [ -121.942856000247517, 37.250536000564395 ], [ -121.942167000408247, 37.250543001093249 ], [ -121.941067000418144, 37.250543000837702 ], [ -121.940567000257346, 37.250543000372375 ], [ -121.940426999491876, 37.250543000434007 ], [ -121.93956699998877, 37.250543000316419 ], [ -121.938565999656547, 37.25054300087313 ], [ -121.937466000013202, 37.250543000504152 ], [ -121.936466000015969, 37.250543000390017 ], [ -121.93526599998637, 37.250443000745193 ], [ -121.934066000465293, 37.25044300055913 ], [ -121.932565999546824, 37.250443000554995 ], [ -121.931645999788316, 37.250520001127455 ], [ -121.931365999573586, 37.250543000790721 ], [ -121.931365999864212, 37.250797001128994 ], [ -121.931366000177604, 37.251256001008969 ], [ -121.931230999877343, 37.251192000732892 ], [ -121.929933999445453, 37.250575000854845 ], [ -121.926866000508639, 37.250643000444711 ], [ -121.925865999998919, 37.250743000700844 ], [ -121.925665999444476, 37.250743000492093 ], [ -121.924966000343233, 37.250743000280565 ], [ -121.924166000452232, 37.250743000369248 ], [ -121.923166000103535, 37.250743000533127 ], [ -121.922265999532442, 37.250743000304681 ], [ -121.922265999796778, 37.250332000979206 ], [ -121.922265999782582, 37.250133001024864 ], [ -121.922266000108266, 37.249943000263769 ], [ -121.922266000345942, 37.248043000413418 ], [ -121.922366000260723, 37.247743000786755 ], [ -121.922565999589239, 37.246943000640009 ], [ -121.922666000237299, 37.243443000331091 ], [ -121.923565999675972, 37.243443000531315 ], [ -121.924966000199021, 37.243443000773894 ], [ -121.925365999905623, 37.243443000244298 ], [ -121.926297999942079, 37.243443000596152 ], [ -121.926465999991322, 37.243443000614349 ], [ -121.92736599988055, 37.243343000829569 ], [ -121.927665999792865, 37.24337000089492 ], [ -121.928466000020876, 37.243443000579873 ], [ -121.92936599967878, 37.2433430008914 ], [ -121.92945799942261, 37.24334300077485 ], [ -121.929772000408192, 37.243343000972274 ], [ -121.930465999829181, 37.243343001035171 ], [ -121.931265999698397, 37.243343001108265 ], [ -121.931123000243289, 37.242371000292195 ], [ -121.931165999855892, 37.242243000914627 ], [ -121.931165999710601, 37.240143000735699 ], [ -121.933265999446235, 37.240143000498243 ], [ -121.933166000045972, 37.243343000574427 ], [ -121.933865999955287, 37.243343000515381 ], [ -121.936465999669494, 37.243343000493887 ], [ -121.937367000191799, 37.243343000285925 ], [ -121.937666999606151, 37.243343000802739 ], [ -121.940542999682378, 37.243343000382303 ], [ -121.941066999614051, 37.24334300075104 ], [ -121.941828999398822, 37.243311000363221 ], [ -121.943466999651633, 37.243243000474529 ], [ -121.944050000043362, 37.243271000292964 ], [ -121.945566999976819, 37.243343000806135 ], [ -121.946167000185397, 37.243543000292782 ], [ -121.946466999491946, 37.243543001044451 ], [ -121.947966999581979, 37.243543000640145 ], [ -121.948967000061458, 37.243343000977454 ], [ -121.949167000152443, 37.243243000307864 ], [ -121.949489999482481, 37.244342000979245 ], [ -121.949641000150564, 37.24485600083748 ], [ -121.949666999673624, 37.244943000453119 ], [ -121.949867000169519, 37.24554300029574 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 516, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.931165999855892, 37.242243000914627 ], [ -121.931123000243289, 37.242371000292195 ], [ -121.931265999698397, 37.243343001108265 ], [ -121.930465999829181, 37.243343001035171 ], [ -121.929772000408192, 37.243343000972274 ], [ -121.92945799942261, 37.24334300077485 ], [ -121.92936599967878, 37.2433430008914 ], [ -121.928466000020876, 37.243443000579873 ], [ -121.927665999792865, 37.24337000089492 ], [ -121.92736599988055, 37.243343000829569 ], [ -121.926465999991322, 37.243443000614349 ], [ -121.926297999942079, 37.243443000596152 ], [ -121.925365999905623, 37.243443000244298 ], [ -121.924966000199021, 37.243443000773894 ], [ -121.923565999675972, 37.243443000531315 ], [ -121.922666000237299, 37.243443000331091 ], [ -121.922665999867618, 37.242543000290247 ], [ -121.922866000492149, 37.240143000728686 ], [ -121.922765999410927, 37.238843000965062 ], [ -121.922666000359385, 37.237144000509737 ], [ -121.92276600041896, 37.23614400072934 ], [ -121.925165999647049, 37.23624400054829 ], [ -121.925565999621739, 37.236244000893329 ], [ -121.926317000373288, 37.23620000113273 ], [ -121.931166000222362, 37.236144000725872 ], [ -121.931365999493096, 37.236144000386034 ], [ -121.933865999629731, 37.236144000610125 ], [ -121.934265999575615, 37.236244000513999 ], [ -121.934566000040945, 37.236044000359065 ], [ -121.938366999658669, 37.23604400097755 ], [ -121.940266999411733, 37.236044000617987 ], [ -121.940666999995102, 37.236044000409798 ], [ -121.942466999399286, 37.236044000294235 ], [ -121.943082000135036, 37.236139000395482 ], [ -121.943766999451469, 37.236244000420804 ], [ -121.944166999824475, 37.236344000310844 ], [ -121.944267000116767, 37.236944000757759 ], [ -121.944767000239011, 37.237744000945874 ], [ -121.944866999950975, 37.237944000976 ], [ -121.945066999967494, 37.238843001125517 ], [ -121.945166999446471, 37.239143001044063 ], [ -121.945025000221946, 37.239411000812538 ], [ -121.945295999899088, 37.239595000417474 ], [ -121.94536699948938, 37.239643000451778 ], [ -121.945366999813942, 37.240043001073069 ], [ -121.945766999437097, 37.241243000824809 ], [ -121.94576699942921, 37.241643000450978 ], [ -121.946053000359242, 37.243000000420487 ], [ -121.946167000185397, 37.243543000292782 ], [ -121.945566999976819, 37.243343000806135 ], [ -121.944050000043362, 37.243271000292964 ], [ -121.943466999651633, 37.243243000474529 ], [ -121.941828999398822, 37.243311000363221 ], [ -121.941066999614051, 37.24334300075104 ], [ -121.940542999682378, 37.243343000382303 ], [ -121.937666999606151, 37.243343000802739 ], [ -121.937367000191799, 37.243343000285925 ], [ -121.936465999669494, 37.243343000493887 ], [ -121.933865999955287, 37.243343000515381 ], [ -121.933166000045972, 37.243343000574427 ], [ -121.933265999446235, 37.240143000498243 ], [ -121.931165999710601, 37.240143000735699 ], [ -121.931165999855892, 37.242243000914627 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 514, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.943466999704384, 37.216844000648308 ], [ -121.945767000213536, 37.217244001126488 ], [ -121.947767000030552, 37.217044001028178 ], [ -121.949267000308467, 37.217344000411707 ], [ -121.950966999785933, 37.21814400036488 ], [ -121.95216700035013, 37.218244000391152 ], [ -121.952567000131111, 37.218544000713514 ], [ -121.952582000283499, 37.218552000522479 ], [ -121.953666999887915, 37.219144000835115 ], [ -121.953616000410364, 37.219926000560505 ], [ -121.95366700010976, 37.220544000475243 ], [ -121.953681000183479, 37.220668001059664 ], [ -121.953766999725616, 37.221444000898082 ], [ -121.95486700031725, 37.222944000925558 ], [ -121.95566700035819, 37.223744001032458 ], [ -121.957166999799966, 37.224444000458043 ], [ -121.957868000129196, 37.224644000557205 ], [ -121.959168000027233, 37.224444000987937 ], [ -121.959596999699585, 37.224778000488875 ], [ -121.96006799974154, 37.225144000792639 ], [ -121.96046799947986, 37.225544000281246 ], [ -121.961568000233157, 37.225844000635838 ], [ -121.963267999714049, 37.226344000924911 ], [ -121.963915000099746, 37.226409000324466 ], [ -121.964267999703296, 37.226444001111687 ], [ -121.963952999950138, 37.226803000983381 ], [ -121.963568000057023, 37.227244000484546 ], [ -121.963108000485292, 37.227835000318549 ], [ -121.962868000009294, 37.22814400051891 ], [ -121.962439999959187, 37.228828000681567 ], [ -121.962367999867908, 37.228944000548175 ], [ -121.962302000077869, 37.229065000555948 ], [ -121.962247999904363, 37.229165001047633 ], [ -121.962186000259393, 37.229280000477679 ], [ -121.962056999413491, 37.229519000620058 ], [ -121.961067999822959, 37.231344000328384 ], [ -121.960667999858543, 37.232244000392576 ], [ -121.961067999869726, 37.232344000931491 ], [ -121.961768000056352, 37.232344001061115 ], [ -121.962368000009079, 37.232444001002996 ], [ -121.962867999895735, 37.232444000536155 ], [ -121.963167999774953, 37.232544000571409 ], [ -121.963567999813876, 37.232744000329198 ], [ -121.964368000404505, 37.232744000401482 ], [ -121.964267999652861, 37.233044000510368 ], [ -121.964212999591624, 37.233266000401471 ], [ -121.964190000039466, 37.233356000879645 ], [ -121.964167999535931, 37.233444000942406 ], [ -121.963868000136074, 37.233744000589482 ], [ -121.963493999604736, 37.234586001031978 ], [ -121.963067999679154, 37.235544000522999 ], [ -121.960966999936744, 37.23524400035037 ], [ -121.957767000516114, 37.234744000417827 ], [ -121.95506700035412, 37.234744000679349 ], [ -121.952966999907588, 37.234744001069217 ], [ -121.952767000471155, 37.234844000371368 ], [ -121.951866999908702, 37.234644000534601 ], [ -121.951266999571999, 37.234744000239125 ], [ -121.949767000097168, 37.235344001068349 ], [ -121.949558999637574, 37.235396001006706 ], [ -121.948628000356365, 37.235629000870951 ], [ -121.948167000029443, 37.235744000726363 ], [ -121.946847999606078, 37.236096000744446 ], [ -121.946666999885167, 37.236144001089841 ], [ -121.946577000138191, 37.236166000518935 ], [ -121.945867000117801, 37.236344000583351 ], [ -121.944776999444599, 37.236344000789657 ], [ -121.944166999824475, 37.236344000310844 ], [ -121.943766999451469, 37.236244000420804 ], [ -121.943082000135036, 37.236139000395482 ], [ -121.942466999399286, 37.236044000294235 ], [ -121.940666999995102, 37.236044000409798 ], [ -121.940266999411733, 37.236044000617987 ], [ -121.938366999658669, 37.23604400097755 ], [ -121.934566000040945, 37.236044000359065 ], [ -121.934265999575615, 37.236244000513999 ], [ -121.933865999629731, 37.236144000610125 ], [ -121.931365999493096, 37.236144000386034 ], [ -121.931166000222362, 37.236144000725872 ], [ -121.926317000373288, 37.23620000113273 ], [ -121.925565999621739, 37.236244000893329 ], [ -121.925165999647049, 37.23624400054829 ], [ -121.92276600041896, 37.23614400072934 ], [ -121.920866000480785, 37.236244000488291 ], [ -121.920066000275895, 37.236144000940101 ], [ -121.918866000431379, 37.236244000478095 ], [ -121.917966000190063, 37.236244000263348 ], [ -121.917223000401862, 37.236238000806381 ], [ -121.917066000010664, 37.236144000452029 ], [ -121.916665999737532, 37.236144000228656 ], [ -121.915765999728862, 37.236144000423117 ], [ -121.914628999439003, 37.236283000382741 ], [ -121.913966000343606, 37.23624400095828 ], [ -121.913066000500152, 37.236244000447726 ], [ -121.91146600019259, 37.236244000465767 ], [ -121.910966000160585, 37.236144000970931 ], [ -121.907866000012092, 37.236344001090004 ], [ -121.905864999849939, 37.236244000355782 ], [ -121.904864999994857, 37.236244000433942 ], [ -121.903564999613323, 37.23634400054231 ], [ -121.903564999516803, 37.235244000381549 ], [ -121.90366499997431, 37.234644000491727 ], [ -121.903564999540123, 37.23434400067778 ], [ -121.903564999859398, 37.234044001050506 ], [ -121.903564999457117, 37.23391700084737 ], [ -121.903564999621693, 37.233636001022859 ], [ -121.903564999586635, 37.233544000730262 ], [ -121.903564999579913, 37.23244400096938 ], [ -121.903564999932215, 37.231244001090445 ], [ -121.903865000185533, 37.230244001071839 ], [ -121.904365000151756, 37.229344001032644 ], [ -121.904365000198169, 37.228744000323964 ], [ -121.903865000045542, 37.227044001130274 ], [ -121.903465000207106, 37.226544000815217 ], [ -121.903464999417253, 37.226344000803451 ], [ -121.903864999670844, 37.226144001096223 ], [ -121.905306000344709, 37.225584000622888 ], [ -121.905666000334762, 37.22544400105479 ], [ -121.905655999749499, 37.225309000571968 ], [ -121.905566000184976, 37.224144001105579 ], [ -121.905749000030923, 37.223845000627229 ], [ -121.906624000075979, 37.222413001092981 ], [ -121.906666000167931, 37.222344000897252 ], [ -121.907166000489795, 37.221944000472256 ], [ -121.907241000481264, 37.221873000686038 ], [ -121.907927999970354, 37.221219000562705 ], [ -121.909266000055524, 37.219944000566684 ], [ -121.908766000250864, 37.218244000352271 ], [ -121.9090989994545, 37.218114000449859 ], [ -121.912365999753021, 37.21684400108424 ], [ -121.912566000212991, 37.21704400110378 ], [ -121.913565999700111, 37.217944000393373 ], [ -121.91536600051316, 37.21774400065835 ], [ -121.915497999796486, 37.217881000251523 ], [ -121.91715900032834, 37.218661000449863 ], [ -121.917741000479367, 37.218934000804403 ], [ -121.919005999612651, 37.21939400067567 ], [ -121.920329999457323, 37.21969200056644 ], [ -121.920834000226947, 37.219773000291944 ], [ -121.921528999990855, 37.219884000570005 ], [ -121.921667999436821, 37.219906000390061 ], [ -121.922721999544464, 37.220074000448676 ], [ -121.923026999547588, 37.22012300098843 ], [ -121.923408000032666, 37.220207000356204 ], [ -121.9237170002407, 37.220226001060119 ], [ -121.924266000011045, 37.220144000865126 ], [ -121.928567000171981, 37.217744000866247 ], [ -121.928514999941171, 37.217698000570074 ], [ -121.929613999733107, 37.217508000606387 ], [ -121.930667000228809, 37.217744001129013 ], [ -121.933416000084591, 37.218088001012859 ], [ -121.933866999895884, 37.218144000353654 ], [ -121.933966999442248, 37.218444000359142 ], [ -121.933286999826819, 37.218444000612855 ], [ -121.933115999647185, 37.21844400074491 ], [ -121.932166999420971, 37.21844400109692 ], [ -121.93306699977289, 37.219544000757345 ], [ -121.936052000512589, 37.219203001103878 ], [ -121.93650599958255, 37.21915100110715 ], [ -121.936567000075271, 37.219144000810459 ], [ -121.937567000314814, 37.21844400061967 ], [ -121.938266999867167, 37.218644000928279 ], [ -121.938767000207733, 37.21824400071862 ], [ -121.939167000345449, 37.218744000891 ], [ -121.942567000288122, 37.218444000399025 ], [ -121.943367000041675, 37.21804400061756 ], [ -121.943466999704384, 37.216844000648308 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 511, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.987185999735615, 37.205515001094739 ], [ -121.98706399953268, 37.205186000332887 ], [ -121.986963000108545, 37.204852000653744 ], [ -121.986993999963701, 37.204595000245938 ], [ -121.987076000433788, 37.204451000394826 ], [ -121.987579999772819, 37.204026000312332 ], [ -121.987895999987174, 37.203573000490465 ], [ -121.987974000479824, 37.203295000917215 ], [ -121.987970999887878, 37.203090001066812 ], [ -121.987906999560437, 37.202832000233009 ], [ -121.987665999945989, 37.202443000823791 ], [ -121.987851999680387, 37.202493000382844 ], [ -121.988059999712817, 37.202560000929829 ], [ -121.988490000485996, 37.20256400084984 ], [ -121.988616999814937, 37.202566001073464 ], [ -121.988814999889613, 37.202358000350706 ], [ -121.989013000415156, 37.201489000912019 ], [ -121.989419000438517, 37.201463000355133 ], [ -121.991269000437242, 37.201344000998326 ], [ -121.99156900009686, 37.200544000400228 ], [ -121.991668999853601, 37.19884400100679 ], [ -121.99316899972861, 37.198144000339767 ], [ -121.992168999778954, 37.20344400027497 ], [ -121.995268999883066, 37.201944000478612 ], [ -122.004770000137583, 37.207244000274038 ], [ -122.007270000002322, 37.211744000691695 ], [ -122.010270000369445, 37.21324400057371 ], [ -122.024669999595261, 37.215844000238654 ], [ -122.021370000466291, 37.218944000380347 ], [ -122.022569999669201, 37.219744000327729 ], [ -122.022469999409523, 37.220244000863737 ], [ -122.021670000430163, 37.219544000614988 ], [ -122.01889199997737, 37.2221530011279 ], [ -122.018369999774109, 37.222644000942168 ], [ -122.012369999834618, 37.225044000734783 ], [ -122.011669999904313, 37.226144000567345 ], [ -122.011262999652232, 37.229114000375574 ], [ -122.010944999682337, 37.231439000802958 ], [ -122.010274000429504, 37.231500000587175 ], [ -122.009136000156801, 37.232136000954824 ], [ -122.007868999864542, 37.232844000752188 ], [ -122.00656899978911, 37.234144000605355 ], [ -122.005868999621654, 37.234944000883587 ], [ -122.005269000469113, 37.237144000545555 ], [ -122.00576899993149, 37.240044000263175 ], [ -122.005368999454163, 37.240244000797738 ], [ -122.004868999459447, 37.240144000427115 ], [ -122.004169000106828, 37.240344000914192 ], [ -122.004168999677688, 37.240743000243221 ], [ -122.003468999406763, 37.241443000533266 ], [ -122.002268999867752, 37.241243001037944 ], [ -122.00104999999644, 37.240993000524938 ], [ -121.998368999978325, 37.240444000311825 ], [ -121.997368999632371, 37.23994400065888 ], [ -121.996469000165931, 37.239344000380981 ], [ -121.995579999785505, 37.238908000568927 ], [ -121.995269000456815, 37.23854400052663 ], [ -121.994468999881462, 37.237844000997548 ], [ -121.992768999462584, 37.236444000518283 ], [ -121.99216900048846, 37.236044001011962 ], [ -121.991468999676087, 37.235344000358872 ], [ -121.991169000391935, 37.23514400085908 ], [ -121.988368999693435, 37.233244000607385 ], [ -121.988068999971674, 37.233044000494012 ], [ -121.986567999414973, 37.23224400109347 ], [ -121.984568000131077, 37.231044001067886 ], [ -121.983468000117398, 37.23044400079975 ], [ -121.98326799976951, 37.230244000553817 ], [ -121.982867999525297, 37.23004400032579 ], [ -121.982168000231127, 37.229644000890111 ], [ -121.981867999536149, 37.229444000453533 ], [ -121.980867999594381, 37.228844000288753 ], [ -121.980468000079114, 37.228544000374434 ], [ -121.979568000436586, 37.228044000817995 ], [ -121.978668000280692, 37.227544000759522 ], [ -121.977768000064174, 37.227144000843445 ], [ -121.976967999785288, 37.226844000564604 ], [ -121.976267999972137, 37.226544000404402 ], [ -121.975567999740548, 37.226444000996239 ], [ -121.975068000333565, 37.226344000649348 ], [ -121.974567999681611, 37.226944000735486 ], [ -121.973567999414655, 37.22864400077647 ], [ -121.970867999527826, 37.234344000704887 ], [ -121.969668000400674, 37.23464400031343 ], [ -121.968467999388594, 37.235544001051259 ], [ -121.968066000071332, 37.23529900046524 ], [ -121.966168000437193, 37.234144000666085 ], [ -121.965167999687921, 37.233544000335165 ], [ -121.964267999652861, 37.233044000510368 ], [ -121.964368000404505, 37.232744000401482 ], [ -121.963567999813876, 37.232744000329198 ], [ -121.963167999774953, 37.232544000571409 ], [ -121.962867999895735, 37.232444000536155 ], [ -121.962368000009079, 37.232444001002996 ], [ -121.961768000056352, 37.232344001061115 ], [ -121.961067999869726, 37.232344000931491 ], [ -121.960667999858543, 37.232244000392576 ], [ -121.961067999822959, 37.231344000328384 ], [ -121.962056999413491, 37.229519000620058 ], [ -121.962186000259393, 37.229280000477679 ], [ -121.962247999904363, 37.229165001047633 ], [ -121.962302000077869, 37.229065000555948 ], [ -121.962367999867908, 37.228944000548175 ], [ -121.962439999959187, 37.228828000681567 ], [ -121.962868000009294, 37.22814400051891 ], [ -121.963108000485292, 37.227835000318549 ], [ -121.963568000057023, 37.227244000484546 ], [ -121.963952999950138, 37.226803000983381 ], [ -121.964267999703296, 37.226444001111687 ], [ -121.964384999581981, 37.226467000593594 ], [ -121.964564000385607, 37.22650300079389 ], [ -121.964767999702403, 37.226544001017274 ], [ -121.965568000512789, 37.226744000858844 ], [ -121.966267999844177, 37.226844000725606 ], [ -121.966868000466832, 37.227044000797093 ], [ -121.967667999817806, 37.227244000910673 ], [ -121.968168000346097, 37.226544000946916 ], [ -121.968967999848388, 37.225644000315597 ], [ -121.969768000409161, 37.224744000342099 ], [ -121.969867999464398, 37.224544000978106 ], [ -121.970068000408574, 37.224344000531431 ], [ -121.971468000302536, 37.2226440008629 ], [ -121.97236800027774, 37.221944000475261 ], [ -121.97336799989678, 37.22124400095538 ], [ -121.973767999663835, 37.220644000420954 ], [ -121.970203000214482, 37.217049000674535 ], [ -121.970402000285119, 37.215959000734109 ], [ -121.970368000450947, 37.215644000615562 ], [ -121.97106799964196, 37.214044000705151 ], [ -121.97127899986809, 37.213768000386366 ], [ -121.972192000494019, 37.212574000697742 ], [ -121.972367999821955, 37.212344000730802 ], [ -121.972867999441831, 37.212544000314843 ], [ -121.972475999686822, 37.209703000713986 ], [ -121.972467999414505, 37.209644000529075 ], [ -121.973468000041677, 37.209544000389414 ], [ -121.976967999643179, 37.207244000917306 ], [ -121.977213000138661, 37.207380000297512 ], [ -121.978768999422726, 37.208244000850591 ], [ -121.979968999642452, 37.208244000552448 ], [ -121.981169000013139, 37.210044000926516 ], [ -121.978068000444651, 37.212144001034702 ], [ -121.980468999479811, 37.213744000953696 ], [ -121.981069000462227, 37.213444000341198 ], [ -121.981268999546842, 37.214044000860142 ], [ -121.98206899965551, 37.214144000823779 ], [ -121.982069000499735, 37.213744000867848 ], [ -121.982468999487082, 37.21404400104764 ], [ -121.982607000430718, 37.213973001094928 ], [ -121.982815999412878, 37.21391100071699 ], [ -121.983159000101054, 37.21386100030545 ], [ -121.983415999495961, 37.213783000574516 ], [ -121.983638000513224, 37.21366700097505 ], [ -121.983787999607486, 37.213551000638567 ], [ -121.984394999993555, 37.212934000808225 ], [ -121.984987000471889, 37.212478000303108 ], [ -121.985088999583084, 37.212377000375064 ], [ -121.98524000000441, 37.212164001037536 ], [ -121.985324999900755, 37.211891000502973 ], [ -121.985595000229083, 37.210922000615696 ], [ -121.985970999917043, 37.21007700070659 ], [ -121.98625899947632, 37.209764000871353 ], [ -121.986361000263656, 37.209673000513824 ], [ -121.986355999399521, 37.209561000909119 ], [ -121.986252999840247, 37.209275000760897 ], [ -121.986194999645932, 37.209113000858416 ], [ -121.986193000315794, 37.20889300099811 ], [ -121.986238999438328, 37.20858700093823 ], [ -121.986282999603091, 37.208293000839049 ], [ -121.986854999902548, 37.20693400023449 ], [ -121.986940999892425, 37.20661900098964 ], [ -121.987056999562085, 37.206196000576547 ], [ -121.98717600043291, 37.20576200097674 ], [ -121.987185999735615, 37.205515001094739 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 513, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.912365999753021, 37.21684400108424 ], [ -121.912965999785044, 37.21564400104009 ], [ -121.912165999693485, 37.213844000569523 ], [ -121.9123660002207, 37.213644000717565 ], [ -121.912370999794746, 37.2135720004135 ], [ -121.912465999862675, 37.212144000437988 ], [ -121.915966000496724, 37.20914400097017 ], [ -121.917166000426946, 37.20774400041816 ], [ -121.91908000023534, 37.20716100070625 ], [ -121.919465999424574, 37.207044000760291 ], [ -121.924366999910632, 37.200244000286361 ], [ -121.927267000500493, 37.197944000398074 ], [ -121.928367000249438, 37.194445000905375 ], [ -121.929567000354069, 37.191745000332354 ], [ -121.941175000251334, 37.195737001107666 ], [ -121.944766999483093, 37.19684500046403 ], [ -121.955668000140847, 37.197744000280416 ], [ -121.960068000455621, 37.199944000276915 ], [ -121.963968000500813, 37.201444000956414 ], [ -121.97216800018154, 37.203344000700767 ], [ -121.978739999445153, 37.201528000882718 ], [ -121.979353999602239, 37.201036000720357 ], [ -121.979768999880989, 37.201244001006472 ], [ -121.983669000175126, 37.199244000488726 ], [ -121.985468999822743, 37.201244001123648 ], [ -121.986097000138329, 37.200985000641964 ], [ -121.987169000293932, 37.200544000949442 ], [ -121.988169000351519, 37.201544000999021 ], [ -121.989013000415156, 37.201489000912019 ], [ -121.988814999889613, 37.202358000350706 ], [ -121.988616999814937, 37.202566001073464 ], [ -121.988490000485996, 37.20256400084984 ], [ -121.988059999712817, 37.202560000929829 ], [ -121.987851999680387, 37.202493000382844 ], [ -121.987665999945989, 37.202443000823791 ], [ -121.987906999560437, 37.202832000233009 ], [ -121.987970999887878, 37.203090001066812 ], [ -121.987974000479824, 37.203295000917215 ], [ -121.987895999987174, 37.203573000490465 ], [ -121.987579999772819, 37.204026000312332 ], [ -121.987076000433788, 37.204451000394826 ], [ -121.986993999963701, 37.204595000245938 ], [ -121.986963000108545, 37.204852000653744 ], [ -121.98706399953268, 37.205186000332887 ], [ -121.987185999735615, 37.205515001094739 ], [ -121.98717600043291, 37.20576200097674 ], [ -121.987056999562085, 37.206196000576547 ], [ -121.986940999892425, 37.20661900098964 ], [ -121.986854999902548, 37.20693400023449 ], [ -121.986282999603091, 37.208293000839049 ], [ -121.986238999438328, 37.20858700093823 ], [ -121.986193000315794, 37.20889300099811 ], [ -121.986194999645932, 37.209113000858416 ], [ -121.986252999840247, 37.209275000760897 ], [ -121.986355999399521, 37.209561000909119 ], [ -121.986361000263656, 37.209673000513824 ], [ -121.98625899947632, 37.209764000871353 ], [ -121.985970999917043, 37.21007700070659 ], [ -121.985595000229083, 37.210922000615696 ], [ -121.985324999900755, 37.211891000502973 ], [ -121.98524000000441, 37.212164001037536 ], [ -121.985088999583084, 37.212377000375064 ], [ -121.984987000471889, 37.212478000303108 ], [ -121.984394999993555, 37.212934000808225 ], [ -121.983787999607486, 37.213551000638567 ], [ -121.983638000513224, 37.21366700097505 ], [ -121.983415999495961, 37.213783000574516 ], [ -121.983159000101054, 37.21386100030545 ], [ -121.982815999412878, 37.21391100071699 ], [ -121.982607000430718, 37.213973001094928 ], [ -121.982468999487082, 37.21404400104764 ], [ -121.982069000499735, 37.213744000867848 ], [ -121.98206899965551, 37.214144000823779 ], [ -121.981268999546842, 37.214044000860142 ], [ -121.981069000462227, 37.213444000341198 ], [ -121.980468999479811, 37.213744000953696 ], [ -121.978068000444651, 37.212144001034702 ], [ -121.981169000013139, 37.210044000926516 ], [ -121.979968999642452, 37.208244000552448 ], [ -121.978768999422726, 37.208244000850591 ], [ -121.977213000138661, 37.207380000297512 ], [ -121.976967999643179, 37.207244000917306 ], [ -121.973468000041677, 37.209544000389414 ], [ -121.972467999414505, 37.209644000529075 ], [ -121.972475999686822, 37.209703000713986 ], [ -121.972867999441831, 37.212544000314843 ], [ -121.972367999821955, 37.212344000730802 ], [ -121.972192000494019, 37.212574000697742 ], [ -121.97127899986809, 37.213768000386366 ], [ -121.97106799964196, 37.214044000705151 ], [ -121.970368000450947, 37.215644000615562 ], [ -121.970402000285119, 37.215959000734109 ], [ -121.970203000214482, 37.217049000674535 ], [ -121.973767999663835, 37.220644000420954 ], [ -121.97336799989678, 37.22124400095538 ], [ -121.97236800027774, 37.221944000475261 ], [ -121.971468000302536, 37.2226440008629 ], [ -121.970068000408574, 37.224344000531431 ], [ -121.969867999464398, 37.224544000978106 ], [ -121.969768000409161, 37.224744000342099 ], [ -121.968967999848388, 37.225644000315597 ], [ -121.968168000346097, 37.226544000946916 ], [ -121.967667999817806, 37.227244000910673 ], [ -121.966868000466832, 37.227044000797093 ], [ -121.966267999844177, 37.226844000725606 ], [ -121.965568000512789, 37.226744000858844 ], [ -121.964767999702403, 37.226544001017274 ], [ -121.964564000385607, 37.22650300079389 ], [ -121.964384999581981, 37.226467000593594 ], [ -121.964267999703296, 37.226444001111687 ], [ -121.963915000099746, 37.226409000324466 ], [ -121.963267999714049, 37.226344000924911 ], [ -121.961568000233157, 37.225844000635838 ], [ -121.96046799947986, 37.225544000281246 ], [ -121.96006799974154, 37.225144000792639 ], [ -121.959596999699585, 37.224778000488875 ], [ -121.959168000027233, 37.224444000987937 ], [ -121.957868000129196, 37.224644000557205 ], [ -121.957166999799966, 37.224444000458043 ], [ -121.95566700035819, 37.223744001032458 ], [ -121.95486700031725, 37.222944000925558 ], [ -121.953766999725616, 37.221444000898082 ], [ -121.953681000183479, 37.220668001059664 ], [ -121.95366700010976, 37.220544000475243 ], [ -121.953616000410364, 37.219926000560505 ], [ -121.953666999887915, 37.219144000835115 ], [ -121.952582000283499, 37.218552000522479 ], [ -121.952567000131111, 37.218544000713514 ], [ -121.95216700035013, 37.218244000391152 ], [ -121.950966999785933, 37.21814400036488 ], [ -121.949267000308467, 37.217344000411707 ], [ -121.947767000030552, 37.217044001028178 ], [ -121.945767000213536, 37.217244001126488 ], [ -121.943466999704384, 37.216844000648308 ], [ -121.943367000041675, 37.21804400061756 ], [ -121.942567000288122, 37.218444000399025 ], [ -121.939167000345449, 37.218744000891 ], [ -121.938767000207733, 37.21824400071862 ], [ -121.938266999867167, 37.218644000928279 ], [ -121.937567000314814, 37.21844400061967 ], [ -121.936567000075271, 37.219144000810459 ], [ -121.93650599958255, 37.21915100110715 ], [ -121.936052000512589, 37.219203001103878 ], [ -121.93306699977289, 37.219544000757345 ], [ -121.932166999420971, 37.21844400109692 ], [ -121.933115999647185, 37.21844400074491 ], [ -121.933286999826819, 37.218444000612855 ], [ -121.933966999442248, 37.218444000359142 ], [ -121.933866999895884, 37.218144000353654 ], [ -121.933416000084591, 37.218088001012859 ], [ -121.930667000228809, 37.217744001129013 ], [ -121.929613999733107, 37.217508000606387 ], [ -121.928514999941171, 37.217698000570074 ], [ -121.928567000171981, 37.217744000866247 ], [ -121.924266000011045, 37.220144000865126 ], [ -121.9237170002407, 37.220226001060119 ], [ -121.923408000032666, 37.220207000356204 ], [ -121.923026999547588, 37.22012300098843 ], [ -121.922721999544464, 37.220074000448676 ], [ -121.921667999436821, 37.219906000390061 ], [ -121.921528999990855, 37.219884000570005 ], [ -121.920834000226947, 37.219773000291944 ], [ -121.920329999457323, 37.21969200056644 ], [ -121.919005999612651, 37.21939400067567 ], [ -121.917741000479367, 37.218934000804403 ], [ -121.91715900032834, 37.218661000449863 ], [ -121.915497999796486, 37.217881000251523 ], [ -121.91536600051316, 37.21774400065835 ], [ -121.913565999700111, 37.217944000393373 ], [ -121.912566000212991, 37.21704400110378 ], [ -121.912365999753021, 37.21684400108424 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 508, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.975467999942893, 37.243243000778691 ], [ -121.975368000052626, 37.243543000935752 ], [ -121.975268000470791, 37.243843000991163 ], [ -121.974767999531963, 37.244643001030418 ], [ -121.974566999599674, 37.244804000404898 ], [ -121.974497000404043, 37.244959000690997 ], [ -121.974425999721731, 37.245114000367685 ], [ -121.974368000321277, 37.245243000927239 ], [ -121.974256000381416, 37.245355000787171 ], [ -121.974163999910431, 37.245448000844561 ], [ -121.973968000447854, 37.2456430005643 ], [ -121.973710999726691, 37.245863000619416 ], [ -121.973268000145325, 37.246243000537561 ], [ -121.972568000205356, 37.246743000477473 ], [ -121.972167999655497, 37.24714300102702 ], [ -121.971767999573672, 37.247443000821448 ], [ -121.971368000432904, 37.247943000631466 ], [ -121.971268000216071, 37.248243000552755 ], [ -121.970568000424294, 37.249143000903636 ], [ -121.969874999934618, 37.249943000788619 ], [ -121.969267999805282, 37.250643000433783 ], [ -121.968514000015716, 37.251687000397574 ], [ -121.968173999906668, 37.252158000799881 ], [ -121.967967999659962, 37.252443000748045 ], [ -121.967668000101426, 37.252743000590904 ], [ -121.967568000167759, 37.252943000493666 ], [ -121.966677999718016, 37.254242000513209 ], [ -121.965367999678278, 37.256443001059914 ], [ -121.964066999984297, 37.258643000970316 ], [ -121.963766999576407, 37.259143000267578 ], [ -121.961867000457062, 37.261843000694398 ], [ -121.961412999459981, 37.261717001079354 ], [ -121.95809400001076, 37.260799001129719 ], [ -121.957167000364961, 37.260543000240304 ], [ -121.955767000129711, 37.259743000940347 ], [ -121.954913000120285, 37.259253000662802 ], [ -121.953636999606402, 37.258542000634918 ], [ -121.953860000066982, 37.258217001038311 ], [ -121.954510000382371, 37.257447000965897 ], [ -121.95476700011416, 37.257143000507519 ], [ -121.955433000113302, 37.255986000729699 ], [ -121.955598999806114, 37.255699000943011 ], [ -121.956462999895834, 37.254891000853256 ], [ -121.95686600022988, 37.254067001107991 ], [ -121.957236000469436, 37.253488000990139 ], [ -121.957266999449715, 37.253443000297921 ], [ -121.957414999956953, 37.253143001108391 ], [ -121.958067000039705, 37.252143000427679 ], [ -121.958319000006142, 37.251450000922112 ], [ -121.958466999431593, 37.251043001078621 ], [ -121.958481000481484, 37.25101400025568 ], [ -121.959017000476734, 37.249943000354961 ], [ -121.959166999552068, 37.249643000962124 ], [ -121.959367000443223, 37.249343000979422 ], [ -121.959635000015709, 37.248962000293076 ], [ -121.959652999815603, 37.248937000458653 ], [ -121.959903999903105, 37.248583000664119 ], [ -121.960142999823475, 37.248244000886743 ], [ -121.960566999771075, 37.247643000778147 ], [ -121.961073000390911, 37.247022000720889 ], [ -121.961323999688531, 37.246714000698297 ], [ -121.962158000118706, 37.245690000436106 ], [ -121.962467000509307, 37.245943000633936 ], [ -121.962966999537144, 37.246343000227931 ], [ -121.963367000113692, 37.245943000358494 ], [ -121.9657670004095, 37.246843000332923 ], [ -121.966267999566099, 37.247043000691001 ], [ -121.969067999448498, 37.245343000378206 ], [ -121.969667999924965, 37.244843000937763 ], [ -121.970367999728055, 37.239643000510235 ], [ -121.972567999733215, 37.238244000576685 ], [ -121.972968000112033, 37.238144000842993 ], [ -121.971368000349344, 37.240143000891315 ], [ -121.971400999841237, 37.240506000380492 ], [ -121.971468000111798, 37.241243001041639 ], [ -121.97236799942651, 37.241643001008114 ], [ -121.973680999826087, 37.239893000263848 ], [ -121.974167999734405, 37.239244000284117 ], [ -121.976968000296196, 37.239544000750548 ], [ -121.976868000296179, 37.239943000527141 ], [ -121.976768000170892, 37.24044300111732 ], [ -121.976666999402966, 37.240899000787877 ], [ -121.976567999572268, 37.241343000595698 ], [ -121.976368000152348, 37.241543000485983 ], [ -121.97606800015447, 37.242043000871597 ], [ -121.975804999759745, 37.242569000424879 ], [ -121.975467999942893, 37.243243000778691 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 510, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.982567999883187, 37.233944001111432 ], [ -121.982665000069488, 37.233837001029173 ], [ -121.982770999509086, 37.23372000086524 ], [ -121.982937999470863, 37.233832000837616 ], [ -121.983089000443471, 37.233677000288196 ], [ -121.982914999454593, 37.233559000373504 ], [ -121.983016000098431, 37.23344700110605 ], [ -121.983468000187997, 37.232944000800224 ], [ -121.984568000131077, 37.231044001067886 ], [ -121.986567999414973, 37.23224400109347 ], [ -121.988068999971674, 37.233044000494012 ], [ -121.988368999693435, 37.233244000607385 ], [ -121.991169000391935, 37.23514400085908 ], [ -121.991468999676087, 37.235344000358872 ], [ -121.99216900048846, 37.236044001011962 ], [ -121.992768999462584, 37.236444000518283 ], [ -121.994468999881462, 37.237844000997548 ], [ -121.995269000456815, 37.23854400052663 ], [ -121.995579999785505, 37.238908000568927 ], [ -121.996469000165931, 37.239344000380981 ], [ -121.997368999632371, 37.23994400065888 ], [ -121.998368999978325, 37.240444000311825 ], [ -122.00104999999644, 37.240993000524938 ], [ -122.002268999867752, 37.241243001037944 ], [ -122.003468999406763, 37.241443000533266 ], [ -122.002769000482246, 37.241743000424925 ], [ -122.001869000523428, 37.241743000442298 ], [ -122.000268999392659, 37.24234300108435 ], [ -121.998568999798081, 37.242643000531942 ], [ -121.997869000427997, 37.243043000585857 ], [ -121.997344999412931, 37.243904000985658 ], [ -121.996468999446989, 37.245343001088678 ], [ -121.99630700030049, 37.245690000458332 ], [ -121.995768999644596, 37.246843000762162 ], [ -121.996168999698213, 37.247843000959676 ], [ -121.995664999470762, 37.249943000307475 ], [ -121.995569000285798, 37.25034300061796 ], [ -121.995269000256215, 37.250843000852782 ], [ -121.994268000027787, 37.250643000272618 ], [ -121.992267999875324, 37.250343001117102 ], [ -121.991568000430206, 37.250443000396231 ], [ -121.990268000433048, 37.250343000904635 ], [ -121.988567999514828, 37.250143001020732 ], [ -121.988268000018977, 37.250143000444034 ], [ -121.986568000232097, 37.250043001082183 ], [ -121.986260000060881, 37.250043000848528 ], [ -121.985367999540415, 37.250043000964546 ], [ -121.98406800021155, 37.250343000533093 ], [ -121.982668000180311, 37.250943000832457 ], [ -121.98196800006599, 37.252443001091578 ], [ -121.980948999698739, 37.249943000953742 ], [ -121.980868, 37.249743000834378 ], [ -121.980267999881804, 37.249443000483595 ], [ -121.979668000097462, 37.24954300098063 ], [ -121.979668000150511, 37.249943000319021 ], [ -121.979668000420759, 37.252443000546734 ], [ -121.978467999477161, 37.252243000973991 ], [ -121.978268000304283, 37.251143000450504 ], [ -121.977567999965032, 37.251143000332149 ], [ -121.977134000360508, 37.250003000487517 ], [ -121.97711099987832, 37.249943000645096 ], [ -121.976767999430365, 37.249043000843734 ], [ -121.974468000513241, 37.248943000615107 ], [ -121.974567999686613, 37.249543001118354 ], [ -121.973900999561593, 37.249943000256224 ], [ -121.973567999728942, 37.250143000472193 ], [ -121.973768000338552, 37.251243000565999 ], [ -121.973168000514008, 37.251343000387145 ], [ -121.971667999711329, 37.251243000777237 ], [ -121.971268000011904, 37.251243000674357 ], [ -121.970367999811884, 37.251143000943202 ], [ -121.969267999805282, 37.250643000433783 ], [ -121.969874999934618, 37.249943000788619 ], [ -121.970568000424294, 37.249143000903636 ], [ -121.971268000216071, 37.248243000552755 ], [ -121.971368000432904, 37.247943000631466 ], [ -121.971767999573672, 37.247443000821448 ], [ -121.972167999655497, 37.24714300102702 ], [ -121.972568000205356, 37.246743000477473 ], [ -121.973268000145325, 37.246243000537561 ], [ -121.973710999726691, 37.245863000619416 ], [ -121.973968000447854, 37.2456430005643 ], [ -121.974163999910431, 37.245448000844561 ], [ -121.974256000381416, 37.245355000787171 ], [ -121.974368000321277, 37.245243000927239 ], [ -121.974425999721731, 37.245114000367685 ], [ -121.974497000404043, 37.244959000690997 ], [ -121.974566999599674, 37.244804000404898 ], [ -121.974767999531963, 37.244643001030418 ], [ -121.975268000470791, 37.243843000991163 ], [ -121.975368000052626, 37.243543000935752 ], [ -121.975467999942893, 37.243243000778691 ], [ -121.975804999759745, 37.242569000424879 ], [ -121.97606800015447, 37.242043000871597 ], [ -121.976368000152348, 37.241543000485983 ], [ -121.976567999572268, 37.241343000595698 ], [ -121.976666999402966, 37.240899000787877 ], [ -121.976768000170892, 37.24044300111732 ], [ -121.976868000296179, 37.239943000527141 ], [ -121.976968000296196, 37.239544000750548 ], [ -121.976968000351405, 37.238844000407362 ], [ -121.977068000168117, 37.238344000394001 ], [ -121.977667999743588, 37.238344001086233 ], [ -121.977968000290218, 37.237944000257102 ], [ -121.978767999953931, 37.238144000744022 ], [ -121.978967999613999, 37.237744001051411 ], [ -121.979368000362882, 37.237744000827519 ], [ -121.979567999408204, 37.237444000549523 ], [ -121.979938000468408, 37.237036000545949 ], [ -121.981068000078949, 37.237244000756611 ], [ -121.98206799966735, 37.237344001101903 ], [ -121.982567999780898, 37.237444001075033 ], [ -121.982867999635616, 37.237544000972612 ], [ -121.982868000151555, 37.238044000812373 ], [ -121.983447999772181, 37.238210000999516 ], [ -121.983568000025684, 37.238244000477749 ], [ -121.98336799987581, 37.238844000931806 ], [ -121.982668000485717, 37.238744000567237 ], [ -121.982667999891035, 37.239044001125293 ], [ -121.982068000149212, 37.239044000501082 ], [ -121.981967999624146, 37.239344000326838 ], [ -121.982568000267491, 37.239444001058544 ], [ -121.982568000000882, 37.239844000252305 ], [ -121.981967999568482, 37.239744000410262 ], [ -121.981894000258748, 37.239930000525995 ], [ -121.981767999654707, 37.240243000539451 ], [ -121.981568000482511, 37.240743000797806 ], [ -121.981968000210443, 37.240843000443654 ], [ -121.982468000125422, 37.241043000476502 ], [ -121.983167999747366, 37.241043000763383 ], [ -121.983367999561267, 37.24024300086834 ], [ -121.984468000093685, 37.240443001006021 ], [ -121.98456800026797, 37.240044000902735 ], [ -121.985263999875855, 37.240091000445119 ], [ -121.985568000072362, 37.240243000717022 ], [ -121.986168000177074, 37.238244000990143 ], [ -121.984767999854043, 37.238044000393153 ], [ -121.984968000032822, 37.237244000852897 ], [ -121.984368000437556, 37.237544000939813 ], [ -121.983968000149858, 37.237444000421547 ], [ -121.984268000209937, 37.236944000823854 ], [ -121.983968000377985, 37.23674400032899 ], [ -121.984668000417699, 37.236144000846323 ], [ -121.985267999731064, 37.236344000967634 ], [ -121.986068000331258, 37.235444000974212 ], [ -121.984567999856694, 37.23454400057603 ], [ -121.983868000213576, 37.235344000832974 ], [ -121.982867999839684, 37.234744000417912 ], [ -121.982468000349357, 37.234344000433431 ], [ -121.982567999883187, 37.233944001111432 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 497, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.008003000314332, 37.276309000497818 ], [ -122.007799999906339, 37.276512000748617 ], [ -122.005404000488952, 37.275379000528311 ], [ -122.004567999594613, 37.275217000659502 ], [ -122.00331999978323, 37.274975000752633 ], [ -121.997997999980939, 37.272477000993014 ], [ -121.997452999867818, 37.272243000937806 ], [ -121.994003999477187, 37.270761000398629 ], [ -121.993969000216595, 37.270343000811444 ], [ -121.99096900048724, 37.269143001013539 ], [ -121.990868999482629, 37.268583000721001 ], [ -121.990469000280058, 37.266343001029142 ], [ -121.990517000207547, 37.266268000383697 ], [ -121.991499000321767, 37.264751000399983 ], [ -121.991569000111738, 37.264643000253955 ], [ -121.992068999793247, 37.262843001119279 ], [ -121.991968999971547, 37.26234300057633 ], [ -121.991997000228167, 37.261867000763345 ], [ -121.992169000127831, 37.258943000759764 ], [ -121.992669000449311, 37.258343000233943 ], [ -121.992768999826325, 37.257843000677553 ], [ -121.993069000343894, 37.256443000612329 ], [ -121.992768000457062, 37.25504300043675 ], [ -121.99286799944332, 37.254143001015279 ], [ -121.993268000151289, 37.253043000252724 ], [ -121.994969000018955, 37.251943000745058 ], [ -121.995769000213969, 37.250843000997364 ], [ -121.995569000285798, 37.25034300061796 ], [ -121.995664999470762, 37.249943000307475 ], [ -121.996168999698213, 37.247843000959676 ], [ -121.995768999644596, 37.246843000762162 ], [ -121.99630700030049, 37.245690000458332 ], [ -121.996468999446989, 37.245343001088678 ], [ -121.997344999412931, 37.243904000985658 ], [ -121.997869000427997, 37.243043000585857 ], [ -121.998568999798081, 37.242643000531942 ], [ -122.000268999392659, 37.24234300108435 ], [ -122.001869000523428, 37.241743000442298 ], [ -122.002769000482246, 37.241743000424925 ], [ -122.003468999406763, 37.241443000533266 ], [ -122.007168999982852, 37.24254300087933 ], [ -122.008669000306355, 37.243043000488115 ], [ -122.009968999726368, 37.243743000410319 ], [ -122.013668999883009, 37.245543000326002 ], [ -122.017069000432556, 37.248043000770394 ], [ -122.019569000146049, 37.249743000541557 ], [ -122.019768999695273, 37.24994300101914 ], [ -122.020169000290068, 37.250243000363461 ], [ -122.020970000274986, 37.250943000269622 ], [ -122.021769999427448, 37.25144300061632 ], [ -122.025269999796308, 37.253643000344461 ], [ -122.026369999930907, 37.254143001015962 ], [ -122.02707000024489, 37.254543000813008 ], [ -122.02746999981575, 37.254843000810702 ], [ -122.027769999835002, 37.255243000960178 ], [ -122.028147999823517, 37.255495000382822 ], [ -122.028669999790012, 37.255843000527328 ], [ -122.029369999859114, 37.256343000881323 ], [ -122.03082199949425, 37.257553000314758 ], [ -122.031169999510183, 37.257843000429787 ], [ -122.031470000224019, 37.258043000874693 ], [ -122.03227000019767, 37.258743001092142 ], [ -122.032570000371209, 37.259043001121739 ], [ -122.032169999873048, 37.259243000382121 ], [ -122.030369999433134, 37.259543000784539 ], [ -122.029969999828992, 37.259643001030405 ], [ -122.029069999514391, 37.26014300096314 ], [ -122.026769999555654, 37.261650000423039 ], [ -122.026669999779756, 37.261843000369936 ], [ -122.02617000006947, 37.262243000576831 ], [ -122.025669999994037, 37.262543000863239 ], [ -122.0231700000909, 37.264243000588223 ], [ -122.022227999644642, 37.265186000606768 ], [ -122.022070000389945, 37.265343000826675 ], [ -122.021270000238104, 37.266043000853507 ], [ -122.020970000000744, 37.266443000357476 ], [ -122.019570000162972, 37.268043000689289 ], [ -122.018649999844428, 37.268675000705571 ], [ -122.018293000385043, 37.268920000234317 ], [ -122.017970000018764, 37.269143000742851 ], [ -122.01706999992011, 37.269743000582274 ], [ -122.01426900026361, 37.271343000968315 ], [ -122.014004999759578, 37.271569001037285 ], [ -122.013569000329696, 37.271943001125976 ], [ -122.013511999840276, 37.271981000907196 ], [ -122.012668999439626, 37.272543001048234 ], [ -122.01126899981351, 37.273643000924473 ], [ -122.008880000033813, 37.275501000467457 ], [ -122.008569000188402, 37.275743000266708 ], [ -122.00831899964875, 37.27599300062451 ], [ -122.008003000314332, 37.276309000497818 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 496, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.031318000406799, 37.217965000439428 ], [ -122.032869999559097, 37.218644001072555 ], [ -122.033570000198807, 37.219144000279805 ], [ -122.034270999836025, 37.2195440004798 ], [ -122.034695999485038, 37.220054000918715 ], [ -122.034863000130642, 37.22025400062013 ], [ -122.035770999687557, 37.221344000864867 ], [ -122.036870999579492, 37.223844001090455 ], [ -122.040070999718623, 37.226244000259364 ], [ -122.0390709999335, 37.229244000591372 ], [ -122.03937099987769, 37.230144000805915 ], [ -122.038070000191468, 37.230944001073553 ], [ -122.039271000230301, 37.231644000796884 ], [ -122.040271000280143, 37.231644000680454 ], [ -122.041070999851257, 37.232944001043869 ], [ -122.042971000380831, 37.232844000249969 ], [ -122.044571000460721, 37.231744000403843 ], [ -122.045570999990545, 37.23134400062073 ], [ -122.046871000357399, 37.232344001076093 ], [ -122.048770999405093, 37.236744000536007 ], [ -122.048471000388204, 37.23944300089849 ], [ -122.05127099966063, 37.241843000293002 ], [ -122.053370999830378, 37.244543001044676 ], [ -122.05507100049995, 37.245543000560716 ], [ -122.053570999558048, 37.250543000933746 ], [ -122.0491710003636, 37.251843001074235 ], [ -122.047570999798538, 37.251943000737541 ], [ -122.046570999858645, 37.252343000981469 ], [ -122.045570000193507, 37.252143000706944 ], [ -122.043831000481887, 37.252557000610786 ], [ -122.043470000342651, 37.252643000337002 ], [ -122.042870000384511, 37.252943000319355 ], [ -122.042770000402911, 37.253743000897316 ], [ -122.042770000029719, 37.254043000379404 ], [ -122.041170000437177, 37.254043000783163 ], [ -122.03966999955199, 37.254543001001586 ], [ -122.039370000261869, 37.254743000523654 ], [ -122.038270000321717, 37.256343000841696 ], [ -122.0362699996667, 37.257543000304331 ], [ -122.035211000271474, 37.258014000849251 ], [ -122.034469999397331, 37.258343000661149 ], [ -122.033669999670423, 37.25944300039847 ], [ -122.032170000395709, 37.260043000290132 ], [ -122.032169999873048, 37.259243000382121 ], [ -122.032570000371209, 37.259043001121739 ], [ -122.03227000019767, 37.258743001092142 ], [ -122.031470000224019, 37.258043000874693 ], [ -122.031169999510183, 37.257843000429787 ], [ -122.03082199949425, 37.257553000314758 ], [ -122.029369999859114, 37.256343000881323 ], [ -122.028669999790012, 37.255843000527328 ], [ -122.028147999823517, 37.255495000382822 ], [ -122.027769999835002, 37.255243000960178 ], [ -122.02746999981575, 37.254843000810702 ], [ -122.02707000024489, 37.254543000813008 ], [ -122.026369999930907, 37.254143001015962 ], [ -122.025269999796308, 37.253643000344461 ], [ -122.021769999427448, 37.25144300061632 ], [ -122.020970000274986, 37.250943000269622 ], [ -122.020169000290068, 37.250243000363461 ], [ -122.019768999695273, 37.24994300101914 ], [ -122.019569000146049, 37.249743000541557 ], [ -122.017069000432556, 37.248043000770394 ], [ -122.013668999883009, 37.245543000326002 ], [ -122.009968999726368, 37.243743000410319 ], [ -122.008669000306355, 37.243043000488115 ], [ -122.007168999982852, 37.24254300087933 ], [ -122.003468999406763, 37.241443000533266 ], [ -122.004168999677688, 37.240743000243221 ], [ -122.004169000106828, 37.240344000914192 ], [ -122.004868999459447, 37.240144000427115 ], [ -122.005368999454163, 37.240244000797738 ], [ -122.00576899993149, 37.240044000263175 ], [ -122.005269000469113, 37.237144000545555 ], [ -122.005868999621654, 37.234944000883587 ], [ -122.00656899978911, 37.234144000605355 ], [ -122.007868999864542, 37.232844000752188 ], [ -122.009136000156801, 37.232136000954824 ], [ -122.010274000429504, 37.231500000587175 ], [ -122.010944999682337, 37.231439000802958 ], [ -122.011262999652232, 37.229114000375574 ], [ -122.011669999904313, 37.226144000567345 ], [ -122.012369999834618, 37.225044000734783 ], [ -122.018369999774109, 37.222644000942168 ], [ -122.01889199997737, 37.2221530011279 ], [ -122.021670000430163, 37.219544000614988 ], [ -122.022469999409523, 37.220244000863737 ], [ -122.022569999669201, 37.219744000327729 ], [ -122.021370000466291, 37.218944000380347 ], [ -122.024669999595261, 37.215844000238654 ], [ -122.025070000520614, 37.214844000310976 ], [ -122.026069999564058, 37.215444000903453 ], [ -122.026368999961818, 37.215477000514511 ], [ -122.026970000158258, 37.215544001010464 ], [ -122.028770000453989, 37.217444000777469 ], [ -122.028862999631485, 37.217428000508512 ], [ -122.029094999647882, 37.217387000766401 ], [ -122.030360000193241, 37.217163000309434 ], [ -122.030469999455661, 37.217144000265584 ], [ -122.031269999527424, 37.217944000600689 ], [ -122.031318000406799, 37.217965000439428 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 498, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.989368999855998, 37.277143000811996 ], [ -121.989768999710819, 37.276343000681599 ], [ -121.992829999772695, 37.2761430010734 ], [ -121.994368999826364, 37.276043000935779 ], [ -121.994369000366362, 37.273143000947726 ], [ -121.994069000326959, 37.272243000723158 ], [ -121.994069000524135, 37.271613000376291 ], [ -121.994069000286629, 37.271543000431691 ], [ -121.994003999477187, 37.270761000398629 ], [ -121.997452999867818, 37.272243000937806 ], [ -121.997997999980939, 37.272477000993014 ], [ -122.00331999978323, 37.274975000752633 ], [ -122.004567999594613, 37.275217000659502 ], [ -122.005404000488952, 37.275379000528311 ], [ -122.007799999906339, 37.276512000748617 ], [ -122.008047999774931, 37.276629000556454 ], [ -122.009034999959709, 37.277235000334414 ], [ -122.010417999437337, 37.27808400037528 ], [ -122.010243999700251, 37.27818200030854 ], [ -122.009068999606001, 37.278843000762137 ], [ -122.009069000134986, 37.279343000996889 ], [ -122.008568999601351, 37.279718000793125 ], [ -122.007469000050676, 37.280543000665205 ], [ -122.006668999580825, 37.282143001037625 ], [ -122.005868999888548, 37.285043000817645 ], [ -122.006000000429296, 37.285371001094298 ], [ -122.006042000070551, 37.285477000764374 ], [ -122.006268999550727, 37.286043000539678 ], [ -122.005069000185699, 37.286743000301684 ], [ -122.004860999683174, 37.287315000536196 ], [ -122.004668999962789, 37.287842000966421 ], [ -122.004168999870117, 37.288442000898542 ], [ -122.004168999630849, 37.28914200072613 ], [ -122.003669000026719, 37.289442000657665 ], [ -122.003650999635866, 37.289710000783003 ], [ -122.003665000077689, 37.290042001101426 ], [ -122.003668999455101, 37.290142000338967 ], [ -122.002869000338478, 37.291242000370367 ], [ -122.003669000208035, 37.292542000975878 ], [ -122.003569000504541, 37.292842000296112 ], [ -122.002869000477986, 37.292842000503633 ], [ -122.001169000290332, 37.29264200111799 ], [ -122.001069000186561, 37.292629000451782 ], [ -121.998169000431773, 37.292242000654966 ], [ -121.997568999482453, 37.292242000249651 ], [ -121.994769000391415, 37.291842000468179 ], [ -121.992669000178481, 37.291642000891294 ], [ -121.992368999942826, 37.291442000349114 ], [ -121.994768999971697, 37.289142001119572 ], [ -121.994868999472899, 37.289042000663045 ], [ -121.995869000048131, 37.288042000329483 ], [ -121.996366000510108, 37.287594000750481 ], [ -121.996869000305622, 37.287143000553883 ], [ -121.998369000004288, 37.285543000341818 ], [ -121.999668999427172, 37.284343000485599 ], [ -121.998934000298902, 37.283853000588323 ], [ -121.998769000235072, 37.283743000646595 ], [ -121.996868999483667, 37.285643000443812 ], [ -121.995668999419891, 37.286743001020135 ], [ -121.99466899940407, 37.286743001124648 ], [ -121.994668999618114, 37.285943000849002 ], [ -121.994669000215907, 37.285543000675936 ], [ -121.994668999926546, 37.28534300102524 ], [ -121.994669000137179, 37.284743000240198 ], [ -121.99456899971527, 37.284143000850577 ], [ -121.994568999546928, 37.283043000656122 ], [ -121.994569000023859, 37.282943000796671 ], [ -121.99456899984061, 37.282743001063139 ], [ -121.994568999905056, 37.282243000803717 ], [ -121.994569000496114, 37.281343000958472 ], [ -121.994468999600144, 37.280443000570749 ], [ -121.994469000130081, 37.280343000669887 ], [ -121.994468999963544, 37.279943001030581 ], [ -121.993868999870088, 37.279943000503877 ], [ -121.989868999956954, 37.279943000673136 ], [ -121.989868999872783, 37.279243000607309 ], [ -121.989768999816434, 37.278543000614981 ], [ -121.989368999836358, 37.277943000993496 ], [ -121.989368999855998, 37.277143000811996 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 495, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.043890000174301, 37.293495000277879 ], [ -122.043579000191954, 37.29353400066276 ], [ -122.04333500005221, 37.293567000625806 ], [ -122.042770999516378, 37.293642001023024 ], [ -122.042227999496788, 37.293654001059608 ], [ -122.041571000442289, 37.293642000539997 ], [ -122.040662999552296, 37.293577000708595 ], [ -122.040170999611618, 37.293542001048074 ], [ -122.0386710004733, 37.291742001021291 ], [ -122.036570999497059, 37.289942000877325 ], [ -122.035669999881122, 37.289442000717031 ], [ -122.0335240004501, 37.288404001012331 ], [ -122.032733000039244, 37.288021000469413 ], [ -122.03257000035012, 37.287942000365 ], [ -122.032569999767162, 37.287337000828728 ], [ -122.032569999995957, 37.287242000600727 ], [ -122.032537000463691, 37.286490000798565 ], [ -122.032569999777792, 37.285642000584026 ], [ -122.032570000455664, 37.284316000729 ], [ -122.032570000017174, 37.283643000941076 ], [ -122.032570000462371, 37.283243000292927 ], [ -122.032569999471576, 37.281643001019866 ], [ -122.032569999938914, 37.280443000397185 ], [ -122.032569999665199, 37.279143001101382 ], [ -122.032542999641507, 37.278655000855323 ], [ -122.032469999731418, 37.277343000428182 ], [ -122.032470000055127, 37.274843000564616 ], [ -122.032469999856502, 37.274043000785227 ], [ -122.032370000329067, 37.271643000978649 ], [ -122.032269999980514, 37.269943001087633 ], [ -122.032269999425253, 37.269043000276469 ], [ -122.032227000325022, 37.268355000977799 ], [ -122.032170000186682, 37.267443000942194 ], [ -122.032170000478786, 37.264743000641381 ], [ -122.032018999880449, 37.264481000292626 ], [ -122.032170000156157, 37.264043000931885 ], [ -122.032169999845124, 37.262943000969649 ], [ -122.032169999953581, 37.262543000771942 ], [ -122.032169999453217, 37.260443000645523 ], [ -122.032169999930332, 37.260243000471156 ], [ -122.032170000395709, 37.260043000290132 ], [ -122.033669999670423, 37.25944300039847 ], [ -122.034469999397331, 37.258343000661149 ], [ -122.035211000271474, 37.258014000849251 ], [ -122.0362699996667, 37.257543000304331 ], [ -122.038270000321717, 37.256343000841696 ], [ -122.039370000261869, 37.254743000523654 ], [ -122.03966999955199, 37.254543001001586 ], [ -122.041170000437177, 37.254043000783163 ], [ -122.042770000029719, 37.254043000379404 ], [ -122.042770000402911, 37.253743000897316 ], [ -122.042870000384511, 37.252943000319355 ], [ -122.043470000342651, 37.252643000337002 ], [ -122.043831000481887, 37.252557000610786 ], [ -122.045570000193507, 37.252143000706944 ], [ -122.046570999858645, 37.252343000981469 ], [ -122.047570999798538, 37.251943000737541 ], [ -122.0491710003636, 37.251843001074235 ], [ -122.051771000202692, 37.252043001039929 ], [ -122.052970999576289, 37.250943000234948 ], [ -122.053671000361902, 37.250843000633253 ], [ -122.054145000059734, 37.251265000294154 ], [ -122.054570999937326, 37.251643001020184 ], [ -122.056236000074904, 37.25200300080472 ], [ -122.058271000080836, 37.252443000680188 ], [ -122.059271000153416, 37.252043000393222 ], [ -122.061770999599631, 37.252043000331128 ], [ -122.064271000485235, 37.251943000633062 ], [ -122.066670999484273, 37.255643000528586 ], [ -122.069271000256109, 37.258343000521492 ], [ -122.070671999872957, 37.258643000335198 ], [ -122.072372000111656, 37.258843000348335 ], [ -122.075220000380725, 37.261003000386083 ], [ -122.075272000121899, 37.261043001114977 ], [ -122.077571999594326, 37.260343000554833 ], [ -122.080372000457089, 37.258843000761431 ], [ -122.081971999660951, 37.258343000766494 ], [ -122.082471999627131, 37.258343000904716 ], [ -122.083771999578843, 37.258643000597345 ], [ -122.083472000138698, 37.261943000743422 ], [ -122.08237200020578, 37.263143001126188 ], [ -122.081971999966868, 37.263543000597707 ], [ -122.079572000275164, 37.265143001079338 ], [ -122.079117999911091, 37.265446000564921 ], [ -122.067914000378522, 37.265404000469537 ], [ -122.067896999412227, 37.267557000322597 ], [ -122.067846999774531, 37.274070000566184 ], [ -122.067839000470926, 37.275119000412964 ], [ -122.06857199959957, 37.274943000327589 ], [ -122.06941600031648, 37.275393000257004 ], [ -122.070072000206935, 37.275743000472772 ], [ -122.070189000388567, 37.276299000609662 ], [ -122.070471999752073, 37.27764300091895 ], [ -122.071371999888527, 37.278243000705601 ], [ -122.070971999397131, 37.277343000919757 ], [ -122.071771999458051, 37.277343000819897 ], [ -122.071771999475544, 37.278743000493726 ], [ -122.071071999865126, 37.278943000416355 ], [ -122.072771999483507, 37.279543000614545 ], [ -122.072672000346145, 37.280343000264864 ], [ -122.072972000200991, 37.281042000764607 ], [ -122.07437199998148, 37.280942000509668 ], [ -122.075272000054085, 37.282542001117356 ], [ -122.075972000434149, 37.282942000406869 ], [ -122.075371999746253, 37.283742000528747 ], [ -122.077371999968634, 37.284342000415904 ], [ -122.077672000043933, 37.285042001116871 ], [ -122.078571999448073, 37.285942000858178 ], [ -122.068771999432968, 37.289142001042364 ], [ -122.067845999910375, 37.289223000522824 ], [ -122.066472000103573, 37.289342000392857 ], [ -122.065872000087609, 37.287642000917323 ], [ -122.06507199991394, 37.287242000563559 ], [ -122.065971999790463, 37.286342000286368 ], [ -122.063770999675114, 37.286042000589617 ], [ -122.060271000098538, 37.285642000984595 ], [ -122.057771000265419, 37.28604200111883 ], [ -122.055271000293189, 37.285742000255993 ], [ -122.051487999837079, 37.285566000739784 ], [ -122.050971000226298, 37.285542000280238 ], [ -122.050571000132422, 37.285942000460985 ], [ -122.050531999613327, 37.285747000633485 ], [ -122.05047099961665, 37.285442000943227 ], [ -122.049840000394411, 37.285232000723937 ], [ -122.049270999436544, 37.285042000734393 ], [ -122.048779000348489, 37.285817001089057 ], [ -122.048453000200638, 37.286330000760877 ], [ -122.048438000035006, 37.286513000763527 ], [ -122.04854499989014, 37.287437001089714 ], [ -122.048070999949772, 37.288142000280551 ], [ -122.044970999470451, 37.291142000233279 ], [ -122.044271000507806, 37.293442001027252 ], [ -122.04412199975566, 37.293464000619998 ], [ -122.043890000174301, 37.293495000277879 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 490, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.036271000260129, 37.315442000909925 ], [ -122.037271000112909, 37.3154420002978 ], [ -122.037871000054224, 37.315442000560161 ], [ -122.038671000026625, 37.315442000382795 ], [ -122.039182000415337, 37.315442000994828 ], [ -122.039770999501158, 37.315442000540017 ], [ -122.041671000357454, 37.315442000660596 ], [ -122.0433710002998, 37.315442000274643 ], [ -122.044271000084635, 37.315442000888602 ], [ -122.045270999434791, 37.315442000246811 ], [ -122.045870999677902, 37.315542000236015 ], [ -122.047206999837471, 37.315471000412685 ], [ -122.04763099965021, 37.315449000825765 ], [ -122.047771000379157, 37.315442000888567 ], [ -122.048170999543999, 37.315442000442907 ], [ -122.048471000333265, 37.315442000359148 ], [ -122.049770999689954, 37.315442000486037 ], [ -122.050670999922545, 37.315442001085415 ], [ -122.051901999481927, 37.315536000481664 ], [ -122.05287100007574, 37.315542000355656 ], [ -122.053424999862884, 37.315535000618091 ], [ -122.053539000422418, 37.315533000234545 ], [ -122.055639999667875, 37.315505000969033 ], [ -122.055854000072983, 37.315536000274747 ], [ -122.056387999563739, 37.31550500046437 ], [ -122.056983000347159, 37.315505000932852 ], [ -122.057044000035063, 37.315505000326887 ], [ -122.057126999719117, 37.315501000788352 ], [ -122.057342000212913, 37.315492001117065 ], [ -122.057455999659155, 37.315488000431571 ], [ -122.057661999927817, 37.315480001106465 ], [ -122.057677000507397, 37.31547900107666 ], [ -122.058138999812456, 37.315460000253864 ], [ -122.05840400000325, 37.315449000810105 ], [ -122.058571999960094, 37.315442000870817 ], [ -122.058657000172886, 37.31544200109726 ], [ -122.058752000354488, 37.315442000588355 ], [ -122.059171999774335, 37.315442000354516 ], [ -122.059169999493946, 37.314867000872468 ], [ -122.059171999859132, 37.314742000510464 ], [ -122.059172000170278, 37.31444200094105 ], [ -122.059293000426948, 37.314321000497905 ], [ -122.059372000521563, 37.314242000354724 ], [ -122.05977199946193, 37.313942000693025 ], [ -122.060771999425938, 37.313542000969882 ], [ -122.061352999793954, 37.313357000533301 ], [ -122.061530999970273, 37.313300000475607 ], [ -122.06229399941671, 37.313079000577233 ], [ -122.06277199984946, 37.313042000881971 ], [ -122.064071999512365, 37.312942000529944 ], [ -122.064372000284422, 37.314142000498961 ], [ -122.063972000385377, 37.314942000836602 ], [ -122.062572000470396, 37.315342000481159 ], [ -122.06158399962726, 37.314848001106796 ], [ -122.061172000521623, 37.314642000278148 ], [ -122.061217000074933, 37.315051000845578 ], [ -122.061272000457137, 37.315542001041585 ], [ -122.061272000497141, 37.316442000596005 ], [ -122.062372000048015, 37.317342001092193 ], [ -122.062271999652552, 37.318542000634288 ], [ -122.062472000000966, 37.319042000872955 ], [ -122.061571999637565, 37.320042000315759 ], [ -122.061381000506827, 37.320329000406936 ], [ -122.061121999435287, 37.320717000788754 ], [ -122.06089400024949, 37.321058000858002 ], [ -122.06057200001996, 37.321542000586135 ], [ -122.060809000338139, 37.321809000443288 ], [ -122.060865000069967, 37.32187100072376 ], [ -122.06137200028698, 37.322442000968813 ], [ -122.06177200050962, 37.322842000604808 ], [ -122.061829000199552, 37.32312700066241 ], [ -122.061852000175506, 37.323242000248619 ], [ -122.061872000491292, 37.323342000826969 ], [ -122.061812999403941, 37.323638000657262 ], [ -122.061771999423712, 37.323842000629675 ], [ -122.061771999970077, 37.324554000290568 ], [ -122.061771999892528, 37.324742000792988 ], [ -122.060871999936339, 37.32514200078716 ], [ -122.060503000123546, 37.326064000998507 ], [ -122.06027200040036, 37.326642001068578 ], [ -122.060472000129309, 37.328341000260131 ], [ -122.060415000065191, 37.328441000626249 ], [ -122.060071999802517, 37.329041000559158 ], [ -122.061171999543802, 37.330141000644339 ], [ -122.061572000148516, 37.331041000526739 ], [ -122.062871999810923, 37.331641001009032 ], [ -122.063772000445269, 37.332841001023667 ], [ -122.061071999584982, 37.331941000289135 ], [ -122.0578609995992, 37.329674000972261 ], [ -122.057672000444924, 37.32954100084303 ], [ -122.056250999479502, 37.328337000785282 ], [ -122.055640999393518, 37.328001000665367 ], [ -122.054846999697162, 37.326537000316392 ], [ -122.0544960001845, 37.326217000791608 ], [ -122.054373999506822, 37.326003000943231 ], [ -122.053170999713785, 37.322742000894976 ], [ -122.052470999503271, 37.322742000897399 ], [ -122.051570999464232, 37.322842000531125 ], [ -122.050670999626902, 37.322742000300991 ], [ -122.050470999442311, 37.322842000400804 ], [ -122.049571000107321, 37.322842000475568 ], [ -122.048871000288258, 37.322842000804329 ], [ -122.047665000106306, 37.322799000946787 ], [ -122.046071000305233, 37.322742000727935 ], [ -122.04470000003316, 37.322867000426541 ], [ -122.04177099963367, 37.322642001083736 ], [ -122.04067099957841, 37.322742000453999 ], [ -122.037771000212601, 37.322642000866608 ], [ -122.035170999937208, 37.322742000957412 ], [ -122.035012000412394, 37.32273500047468 ], [ -122.034808000027368, 37.322727000833247 ], [ -122.032670999691987, 37.322642000786928 ], [ -122.032670999544507, 37.321442001035244 ], [ -122.032571000104682, 37.320842001011201 ], [ -122.032671000182376, 37.319942000568368 ], [ -122.032671000238963, 37.319042000828915 ], [ -122.032571000206389, 37.318042000418053 ], [ -122.032570999653458, 37.316042001001946 ], [ -122.032571000178123, 37.315542001050453 ], [ -122.032570999829829, 37.315442000510707 ], [ -122.032770999734822, 37.315442000469275 ], [ -122.034270999674959, 37.315442001103293 ], [ -122.035370999904998, 37.315442000718939 ], [ -122.036271000260129, 37.315442000909925 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 489, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.053424999862884, 37.315535000618091 ], [ -122.05287100007574, 37.315542000355656 ], [ -122.051901999481927, 37.315536000481664 ], [ -122.050670999922545, 37.315442001085415 ], [ -122.049770999689954, 37.315442000486037 ], [ -122.048816999942446, 37.313248000399746 ], [ -122.048770999465347, 37.313142000909551 ], [ -122.048522000368379, 37.312644001106165 ], [ -122.048370999497209, 37.312342000506554 ], [ -122.048331999578778, 37.312245000450758 ], [ -122.046670999558756, 37.308142000874575 ], [ -122.046170999814677, 37.307142000275007 ], [ -122.044170999826036, 37.302442000656058 ], [ -122.043698999651326, 37.301551000774303 ], [ -122.043647999996878, 37.301454000350013 ], [ -122.043568999565906, 37.301305001097248 ], [ -122.043271000372329, 37.300742001074418 ], [ -122.043082999903717, 37.300178000512886 ], [ -122.043035999644957, 37.300037000544421 ], [ -122.042770999515398, 37.299242000859536 ], [ -122.042715999758656, 37.299105000293416 ], [ -122.042676000045304, 37.299005000334105 ], [ -122.042571000144576, 37.298742001010915 ], [ -122.042490000441788, 37.298556000972376 ], [ -122.041774000305679, 37.29691000042807 ], [ -122.041570999963994, 37.296442000836805 ], [ -122.040352999805393, 37.293919000612775 ], [ -122.040170999611618, 37.293542001048074 ], [ -122.040662999552296, 37.293577000708595 ], [ -122.041571000442289, 37.293642000539997 ], [ -122.042227999496788, 37.293654001059608 ], [ -122.042770999516378, 37.293642001023024 ], [ -122.04333500005221, 37.293567000625806 ], [ -122.043579000191954, 37.29353400066276 ], [ -122.043890000174301, 37.293495000277879 ], [ -122.04412199975566, 37.293464000619998 ], [ -122.044271000507806, 37.293442001027252 ], [ -122.044970999470451, 37.291142000233279 ], [ -122.048070999949772, 37.288142000280551 ], [ -122.04854499989014, 37.287437001089714 ], [ -122.048438000035006, 37.286513000763527 ], [ -122.048453000200638, 37.286330000760877 ], [ -122.048779000348489, 37.285817001089057 ], [ -122.049270999436544, 37.285042000734393 ], [ -122.049840000394411, 37.285232000723937 ], [ -122.05047099961665, 37.285442000943227 ], [ -122.050531999613327, 37.285747000633485 ], [ -122.050571000132422, 37.285942000460985 ], [ -122.050971000226298, 37.285542000280238 ], [ -122.051487999837079, 37.285566000739784 ], [ -122.055271000293189, 37.285742000255993 ], [ -122.057771000265419, 37.28604200111883 ], [ -122.060271000098538, 37.285642000984595 ], [ -122.063770999675114, 37.286042000589617 ], [ -122.065971999790463, 37.286342000286368 ], [ -122.06507199991394, 37.287242000563559 ], [ -122.065872000087609, 37.287642000917323 ], [ -122.066472000103573, 37.289342000392857 ], [ -122.067845999910375, 37.289223000522824 ], [ -122.068771999432968, 37.289142001042364 ], [ -122.078571999448073, 37.285942000858178 ], [ -122.078171999599689, 37.286742000560523 ], [ -122.077871999924653, 37.287942000887973 ], [ -122.079872000459645, 37.28824200078013 ], [ -122.080971999930853, 37.291842000533478 ], [ -122.080571999670354, 37.294442000619057 ], [ -122.081572000392114, 37.295342000280677 ], [ -122.078671999640449, 37.29584200101845 ], [ -122.07597199974137, 37.297642000348901 ], [ -122.075371999656454, 37.298042000473188 ], [ -122.075566000289342, 37.300278000275213 ], [ -122.075572000323788, 37.300342000844843 ], [ -122.075271999480421, 37.300742000538179 ], [ -122.075244000503233, 37.3009530005614 ], [ -122.075072000131485, 37.302242000763698 ], [ -122.074471999862695, 37.304342000252255 ], [ -122.074372000132342, 37.305542000282351 ], [ -122.073272000276631, 37.305942000443949 ], [ -122.072472000449011, 37.306642000606345 ], [ -122.071772000254597, 37.305542001079495 ], [ -122.070371999932661, 37.306942001013567 ], [ -122.069172000176678, 37.306942000718081 ], [ -122.068343999685993, 37.30583800071642 ], [ -122.068272000034625, 37.305742000991231 ], [ -122.065372000453223, 37.308842000739723 ], [ -122.064072000507039, 37.308242000580243 ], [ -122.063271999536553, 37.310942000930844 ], [ -122.063410999470648, 37.311043001089139 ], [ -122.064371999948392, 37.311742000510826 ], [ -122.064071999512365, 37.312942000529944 ], [ -122.06277199984946, 37.313042000881971 ], [ -122.06229399941671, 37.313079000577233 ], [ -122.061530999970273, 37.313300000475607 ], [ -122.061352999793954, 37.313357000533301 ], [ -122.060771999425938, 37.313542000969882 ], [ -122.05977199946193, 37.313942000693025 ], [ -122.059372000521563, 37.314242000354724 ], [ -122.059293000426948, 37.314321000497905 ], [ -122.059172000170278, 37.31444200094105 ], [ -122.059171999859132, 37.314742000510464 ], [ -122.059169999493946, 37.314867000872468 ], [ -122.059171999774335, 37.315442000354516 ], [ -122.058752000354488, 37.315442000588355 ], [ -122.058657000172886, 37.31544200109726 ], [ -122.058571999960094, 37.315442000870817 ], [ -122.05840400000325, 37.315449000810105 ], [ -122.058138999812456, 37.315460000253864 ], [ -122.057677000507397, 37.31547900107666 ], [ -122.057661999927817, 37.315480001106465 ], [ -122.057455999659155, 37.315488000431571 ], [ -122.057342000212913, 37.315492001117065 ], [ -122.057126999719117, 37.315501000788352 ], [ -122.057044000035063, 37.315505000326887 ], [ -122.056983000347159, 37.315505000932852 ], [ -122.056387999563739, 37.31550500046437 ], [ -122.055854000072983, 37.315536000274747 ], [ -122.055639999667875, 37.315505000969033 ], [ -122.053539000422418, 37.315533000234545 ], [ -122.053424999862884, 37.315535000618091 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 488, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.075566000289342, 37.300278000275213 ], [ -122.075371999656454, 37.298042000473188 ], [ -122.07597199974137, 37.297642000348901 ], [ -122.078671999640449, 37.29584200101845 ], [ -122.081572000392114, 37.295342000280677 ], [ -122.08417200004908, 37.295442000620923 ], [ -122.084172000268126, 37.295742000801717 ], [ -122.086131999919559, 37.296640001128267 ], [ -122.086571999969109, 37.296842000629766 ], [ -122.087154999466847, 37.298066000566749 ], [ -122.087454000428025, 37.298694001072221 ], [ -122.087571999852202, 37.298942000755389 ], [ -122.088136999651084, 37.299208000615955 ], [ -122.090973000057673, 37.300542001113278 ], [ -122.096272999449241, 37.300842001016619 ], [ -122.093672999843704, 37.306042000329597 ], [ -122.08792699989904, 37.313088000800441 ], [ -122.0873999997428, 37.313734000792735 ], [ -122.087063999690955, 37.314147001066317 ], [ -122.08617199966217, 37.315242001091484 ], [ -122.081371999867017, 37.320542000954774 ], [ -122.079471999448202, 37.322342000471373 ], [ -122.078871999728662, 37.323042000896677 ], [ -122.076772000320744, 37.323142001094169 ], [ -122.076636000280061, 37.323226000485015 ], [ -122.074671999627412, 37.324442000596513 ], [ -122.073447999422854, 37.325590001067113 ], [ -122.073267999419727, 37.325843000677438 ], [ -122.072350000048644, 37.327131001099538 ], [ -122.071672000300765, 37.328741000286264 ], [ -122.071971999442255, 37.331141000431231 ], [ -122.071915999621552, 37.331336000524594 ], [ -122.071771999756464, 37.33184100023805 ], [ -122.070572000096547, 37.333441000817331 ], [ -122.069272000020092, 37.333441000358533 ], [ -122.06857200011477, 37.333441000434441 ], [ -122.067271999535762, 37.333341000914317 ], [ -122.065572000310226, 37.333141000752725 ], [ -122.063772000445269, 37.332841001023667 ], [ -122.062871999810923, 37.331641001009032 ], [ -122.061572000148516, 37.331041000526739 ], [ -122.061171999543802, 37.330141000644339 ], [ -122.060071999802517, 37.329041000559158 ], [ -122.060415000065191, 37.328441000626249 ], [ -122.060472000129309, 37.328341000260131 ], [ -122.06027200040036, 37.326642001068578 ], [ -122.060503000123546, 37.326064000998507 ], [ -122.060871999936339, 37.32514200078716 ], [ -122.061771999892528, 37.324742000792988 ], [ -122.061771999970077, 37.324554000290568 ], [ -122.061771999423712, 37.323842000629675 ], [ -122.061812999403941, 37.323638000657262 ], [ -122.061872000491292, 37.323342000826969 ], [ -122.061852000175506, 37.323242000248619 ], [ -122.061829000199552, 37.32312700066241 ], [ -122.06177200050962, 37.322842000604808 ], [ -122.06137200028698, 37.322442000968813 ], [ -122.060865000069967, 37.32187100072376 ], [ -122.060809000338139, 37.321809000443288 ], [ -122.06057200001996, 37.321542000586135 ], [ -122.06089400024949, 37.321058000858002 ], [ -122.061121999435287, 37.320717000788754 ], [ -122.061381000506827, 37.320329000406936 ], [ -122.061571999637565, 37.320042000315759 ], [ -122.062472000000966, 37.319042000872955 ], [ -122.062271999652552, 37.318542000634288 ], [ -122.062372000048015, 37.317342001092193 ], [ -122.061272000497141, 37.316442000596005 ], [ -122.061272000457137, 37.315542001041585 ], [ -122.061217000074933, 37.315051000845578 ], [ -122.061172000521623, 37.314642000278148 ], [ -122.06158399962726, 37.314848001106796 ], [ -122.062572000470396, 37.315342000481159 ], [ -122.063972000385377, 37.314942000836602 ], [ -122.064372000284422, 37.314142000498961 ], [ -122.064071999512365, 37.312942000529944 ], [ -122.064371999948392, 37.311742000510826 ], [ -122.063410999470648, 37.311043001089139 ], [ -122.063271999536553, 37.310942000930844 ], [ -122.064072000507039, 37.308242000580243 ], [ -122.065372000453223, 37.308842000739723 ], [ -122.068272000034625, 37.305742000991231 ], [ -122.068343999685993, 37.30583800071642 ], [ -122.069172000176678, 37.306942000718081 ], [ -122.070371999932661, 37.306942001013567 ], [ -122.071772000254597, 37.305542001079495 ], [ -122.072472000449011, 37.306642000606345 ], [ -122.073272000276631, 37.305942000443949 ], [ -122.074372000132342, 37.305542000282351 ], [ -122.074471999862695, 37.304342000252255 ], [ -122.075072000131485, 37.302242000763698 ], [ -122.075244000503233, 37.3009530005614 ], [ -122.075271999480421, 37.300742000538179 ], [ -122.075572000323788, 37.300342000844843 ], [ -122.075566000289342, 37.300278000275213 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 486, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.032571000391698, 37.334241000806152 ], [ -122.032571000224024, 37.333741000544109 ], [ -122.032570999809025, 37.333341000482818 ], [ -122.032570999806964, 37.331841000256453 ], [ -122.032475999755647, 37.330230001097739 ], [ -122.032550000019569, 37.33012700051539 ], [ -122.032415999592359, 37.32644600105796 ], [ -122.032670999673741, 37.324442000869411 ], [ -122.032670999691987, 37.322642000786928 ], [ -122.034808000027368, 37.322727000833247 ], [ -122.035012000412394, 37.32273500047468 ], [ -122.035170999937208, 37.322742000957412 ], [ -122.037771000212601, 37.322642000866608 ], [ -122.04067099957841, 37.322742000453999 ], [ -122.04177099963367, 37.322642001083736 ], [ -122.04470000003316, 37.322867000426541 ], [ -122.046071000305233, 37.322742000727935 ], [ -122.046471000250861, 37.324242000452792 ], [ -122.046970999623213, 37.324342000395369 ], [ -122.048270999808452, 37.324342000785016 ], [ -122.050370999400201, 37.327742000920182 ], [ -122.050770999618351, 37.329441000339102 ], [ -122.050770999920573, 37.33061700060729 ], [ -122.050771000145886, 37.331241000951913 ], [ -122.050070999590204, 37.331341001124095 ], [ -122.050071000234794, 37.332141000771323 ], [ -122.049271000228885, 37.332241000786489 ], [ -122.048370999942705, 37.332341000465675 ], [ -122.047371000405974, 37.332541000608771 ], [ -122.047371000083359, 37.333241000464717 ], [ -122.047371000180831, 37.333933000684134 ], [ -122.045171000468088, 37.334241000869454 ], [ -122.043971000227444, 37.334341000507692 ], [ -122.041670999476139, 37.334341000233856 ], [ -122.040580000237341, 37.334272000902331 ], [ -122.035170999468605, 37.334241000274218 ], [ -122.032571000391698, 37.334241000806152 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 492, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.032470999509471, 37.302842000804986 ], [ -122.032471000389904, 37.302242000823497 ], [ -122.032469999966636, 37.301942000289273 ], [ -122.032470000407486, 37.30187600072891 ], [ -122.032470000488502, 37.301715000260664 ], [ -122.032469999481279, 37.301520000384201 ], [ -122.032470000364583, 37.300942000731361 ], [ -122.032469999997247, 37.300542000317002 ], [ -122.032470000280057, 37.298942001114661 ], [ -122.032431000096139, 37.298049000297368 ], [ -122.032470000194834, 37.297842000233345 ], [ -122.032469999829331, 37.297642000376626 ], [ -122.03247000050618, 37.2968420009014 ], [ -122.032470000208562, 37.295942000455852 ], [ -122.032370000489223, 37.295742000505598 ], [ -122.032369999584816, 37.295442000613825 ], [ -122.032369999579714, 37.293842000980341 ], [ -122.033256999569446, 37.293800001058997 ], [ -122.034469999705465, 37.293742000796939 ], [ -122.035271000354797, 37.293642000648497 ], [ -122.036971000375502, 37.293442000924436 ], [ -122.03965600004598, 37.293531000827613 ], [ -122.039971000070537, 37.293542000426427 ], [ -122.040170999611618, 37.293542001048074 ], [ -122.040352999805393, 37.293919000612775 ], [ -122.041570999963994, 37.296442000836805 ], [ -122.041774000305679, 37.29691000042807 ], [ -122.042490000441788, 37.298556000972376 ], [ -122.042571000144576, 37.298742001010915 ], [ -122.042676000045304, 37.299005000334105 ], [ -122.042715999758656, 37.299105000293416 ], [ -122.042770999515398, 37.299242000859536 ], [ -122.043035999644957, 37.300037000544421 ], [ -122.043082999903717, 37.300178000512886 ], [ -122.043271000372329, 37.300742001074418 ], [ -122.043568999565906, 37.301305001097248 ], [ -122.043647999996878, 37.301454000350013 ], [ -122.043698999651326, 37.301551000774303 ], [ -122.044170999826036, 37.302442000656058 ], [ -122.046170999814677, 37.307142000275007 ], [ -122.0444709996532, 37.307842000459118 ], [ -122.042661999887741, 37.308876000708018 ], [ -122.042503000113626, 37.308967001130085 ], [ -122.042211999484152, 37.309133000745035 ], [ -122.04199300015199, 37.309258000932076 ], [ -122.041797000280852, 37.309370000922648 ], [ -122.041670999493434, 37.30944200079955 ], [ -122.041470999465801, 37.309542000462059 ], [ -122.041028999900703, 37.309677001004069 ], [ -122.040839999776736, 37.309734000926895 ], [ -122.040374000508876, 37.309876000941458 ], [ -122.040041000124404, 37.309977000751879 ], [ -122.039170999525837, 37.31024200046415 ], [ -122.037871000166476, 37.310342000417343 ], [ -122.037871000125008, 37.310042001123549 ], [ -122.034870999806202, 37.31004200039218 ], [ -122.034770999736622, 37.310242000852469 ], [ -122.03427099963163, 37.309742000365119 ], [ -122.034270999832714, 37.309142000974262 ], [ -122.0342710005078, 37.308442000862478 ], [ -122.033392999794131, 37.308188000614521 ], [ -122.0330880004759, 37.308135001045819 ], [ -122.032471000335576, 37.308242000747867 ], [ -122.032470999435205, 37.306041000733984 ], [ -122.0324709996612, 37.305942000555035 ], [ -122.032470999680669, 37.304242000249104 ], [ -122.032470999679362, 37.303642000398661 ], [ -122.032470999509471, 37.302842000804986 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 481, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.005069999540865, 37.305242000802799 ], [ -122.005069999654708, 37.304942000241674 ], [ -122.005169999739891, 37.304742000809284 ], [ -122.005769999642439, 37.30324200066417 ], [ -122.00666999956178, 37.300742000461121 ], [ -122.007170000061137, 37.299342000331883 ], [ -122.007270000221411, 37.298842000649287 ], [ -122.007292999441503, 37.298609000633057 ], [ -122.007307999912939, 37.298458000641453 ], [ -122.007370000172941, 37.297842000427885 ], [ -122.007469999778948, 37.296642000452287 ], [ -122.007469999722488, 37.296342000308776 ], [ -122.007569999656681, 37.295942000747019 ], [ -122.007769999873744, 37.294242000557368 ], [ -122.007870000481958, 37.293142001083233 ], [ -122.009769999452431, 37.2931420008779 ], [ -122.01106999972103, 37.293242001070951 ], [ -122.012070000253004, 37.2932420007932 ], [ -122.01517000031383, 37.293442000552339 ], [ -122.015170000054454, 37.294042000579374 ], [ -122.015169999533512, 37.294842001122838 ], [ -122.015169999498539, 37.296542000810575 ], [ -122.015170000332787, 37.297542000624176 ], [ -122.015270000050165, 37.298942000432881 ], [ -122.015269999587716, 37.299542000821951 ], [ -122.015269999939818, 37.300342000655831 ], [ -122.015269999665122, 37.301042000644642 ], [ -122.015269999822181, 37.303342000435819 ], [ -122.015270000382785, 37.304142000673046 ], [ -122.015270000430021, 37.304842001128591 ], [ -122.015270000342682, 37.305542000601122 ], [ -122.014969999915749, 37.306742000850306 ], [ -122.014870000092344, 37.307042001068744 ], [ -122.014070000463761, 37.30934200037089 ], [ -122.013670000234598, 37.310242000882837 ], [ -122.010669999393173, 37.310442001096305 ], [ -122.008169999662542, 37.310542001093253 ], [ -122.007869999504024, 37.310642000467595 ], [ -122.006270000212254, 37.310442000454039 ], [ -122.004769999390732, 37.31034200099586 ], [ -122.004069999541755, 37.310242000610643 ], [ -122.003170000312693, 37.310242000986349 ], [ -122.00346999994909, 37.309642000752497 ], [ -122.003969999492853, 37.308142000259529 ], [ -122.004269999509773, 37.30744200086648 ], [ -122.004470000045842, 37.306842000785977 ], [ -122.004670000455036, 37.306342000752473 ], [ -122.004969999616733, 37.305442001031267 ], [ -122.005069999540865, 37.305242000802799 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 483, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.024169999881366, 37.304642000410489 ], [ -122.023870000432581, 37.304042001025671 ], [ -122.023769999692391, 37.30314200030115 ], [ -122.023870000250966, 37.300842000812395 ], [ -122.023870000295943, 37.300042000496653 ], [ -122.02387000019948, 37.299442000640354 ], [ -122.023870000232463, 37.297442000995183 ], [ -122.023869999460473, 37.296642001126706 ], [ -122.0238700003232, 37.295942001055444 ], [ -122.023870000521384, 37.29364200048969 ], [ -122.02478499999728, 37.293663001057588 ], [ -122.025816999907775, 37.293686000561578 ], [ -122.028270000398862, 37.293742000398147 ], [ -122.029269999905253, 37.293842000767782 ], [ -122.030348000069182, 37.293849000853982 ], [ -122.031073000312233, 37.293853000695258 ], [ -122.031470000409527, 37.293942000580437 ], [ -122.032369999579714, 37.293842000980341 ], [ -122.032369999584816, 37.295442000613825 ], [ -122.032370000489223, 37.295742000505598 ], [ -122.032470000208562, 37.295942000455852 ], [ -122.03247000050618, 37.2968420009014 ], [ -122.032469999829331, 37.297642000376626 ], [ -122.032470000194834, 37.297842000233345 ], [ -122.032431000096139, 37.298049000297368 ], [ -122.032470000280057, 37.298942001114661 ], [ -122.032469999997247, 37.300542000317002 ], [ -122.032470000364583, 37.300942000731361 ], [ -122.032469999481279, 37.301520000384201 ], [ -122.032470000488502, 37.301715000260664 ], [ -122.032470000407486, 37.30187600072891 ], [ -122.032469999966636, 37.301942000289273 ], [ -122.032471000389904, 37.302242000823497 ], [ -122.032470999509471, 37.302842000804986 ], [ -122.032470999679362, 37.303642000398661 ], [ -122.032470999680669, 37.304242000249104 ], [ -122.0324709996612, 37.305942000555035 ], [ -122.032470999435205, 37.306041000733984 ], [ -122.032471000335576, 37.308242000747867 ], [ -122.032471000394438, 37.309084000367996 ], [ -122.032470999656766, 37.312242000405213 ], [ -122.032471000284815, 37.312442000684911 ], [ -122.030771000048716, 37.31194200058259 ], [ -122.029169999794803, 37.311442000632965 ], [ -122.028270000103092, 37.311142000875279 ], [ -122.027969999927407, 37.311042000640214 ], [ -122.026669999552666, 37.310642000674058 ], [ -122.026569999797246, 37.310642001027418 ], [ -122.023370000458542, 37.30974200054024 ], [ -122.023670000338512, 37.308942000981979 ], [ -122.023869999848529, 37.308242000996117 ], [ -122.024169999595074, 37.306142000942103 ], [ -122.024170000298071, 37.305242000671925 ], [ -122.024169999881366, 37.304642000410489 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 484, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.032670999544507, 37.321442001035244 ], [ -122.032670999691987, 37.322642000786928 ], [ -122.027970999548543, 37.322642000341077 ], [ -122.027881999961437, 37.322636000694288 ], [ -122.02776299980016, 37.322628000419442 ], [ -122.02647099944862, 37.322542000615798 ], [ -122.023570000029153, 37.322542000276542 ], [ -122.021750000482825, 37.322542000270893 ], [ -122.019970000158807, 37.322542000727729 ], [ -122.015270000179399, 37.322842000355486 ], [ -122.014469999976569, 37.32284200043788 ], [ -122.014369999788244, 37.321642000524747 ], [ -122.014370000106737, 37.321042000555131 ], [ -122.014369999394034, 37.320342001107655 ], [ -122.014269999697504, 37.319542001060803 ], [ -122.013769999730968, 37.318642000334584 ], [ -122.013370000519529, 37.317642000830169 ], [ -122.013370000035422, 37.317442001026954 ], [ -122.013469999749901, 37.316042000477431 ], [ -122.013470000333925, 37.315537000546875 ], [ -122.013469999721636, 37.314142000252374 ], [ -122.013569999943684, 37.31304200101156 ], [ -122.013670000234598, 37.310242000882837 ], [ -122.015569999418702, 37.310042001114056 ], [ -122.017369999921229, 37.309942000817387 ], [ -122.017769999447395, 37.309942000241243 ], [ -122.019469999709045, 37.309842000450153 ], [ -122.020469999481008, 37.309042000989294 ], [ -122.020869999974963, 37.309042000726805 ], [ -122.021169999612425, 37.309142000864057 ], [ -122.023370000458542, 37.30974200054024 ], [ -122.026569999797246, 37.310642001027418 ], [ -122.026669999552666, 37.310642000674058 ], [ -122.027969999927407, 37.311042000640214 ], [ -122.028270000103092, 37.311142000875279 ], [ -122.029169999794803, 37.311442000632965 ], [ -122.030771000048716, 37.31194200058259 ], [ -122.032471000284815, 37.312442000684911 ], [ -122.032570999714906, 37.312842000394241 ], [ -122.032570999874565, 37.313142000326977 ], [ -122.032571000265236, 37.314642000666566 ], [ -122.032570999501047, 37.315042001048013 ], [ -122.032570999829829, 37.315442000510707 ], [ -122.032571000178123, 37.315542001050453 ], [ -122.032570999653458, 37.316042001001946 ], [ -122.032571000206389, 37.318042000418053 ], [ -122.032671000238963, 37.319042000828915 ], [ -122.032671000182376, 37.319942000568368 ], [ -122.032571000104682, 37.320842001011201 ], [ -122.032670999544507, 37.321442001035244 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 479, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.010669999720974, 37.322842000405885 ], [ -122.008270000149892, 37.322842001060486 ], [ -122.006669999581618, 37.322842000275024 ], [ -122.005570000072723, 37.32284200082087 ], [ -122.004569999485767, 37.322842000543616 ], [ -122.004500999511677, 37.322860000589316 ], [ -122.003951000436601, 37.322849000909152 ], [ -122.003512999510974, 37.322853000465763 ], [ -122.002269999902225, 37.322842000556093 ], [ -122.001469999405316, 37.322842001044712 ], [ -122.001069999743621, 37.32284200106767 ], [ -122.000169999423733, 37.322842001121877 ], [ -121.998669999796093, 37.322842000724286 ], [ -121.996969999460859, 37.322842000346242 ], [ -121.996569999944469, 37.322842000475717 ], [ -121.996368999454717, 37.322242000227014 ], [ -121.996168999746104, 37.321642000877283 ], [ -121.996168999879174, 37.32094200073562 ], [ -121.996168999718236, 37.320442000840487 ], [ -121.996168999907241, 37.318942000914511 ], [ -121.996168999418629, 37.318642000339686 ], [ -121.996068999444702, 37.316142001080131 ], [ -121.996069000343951, 37.315642000803969 ], [ -121.996068999507514, 37.315042001123196 ], [ -121.996069000224594, 37.311925001053083 ], [ -121.99606899946572, 37.311342000627128 ], [ -121.996169000266235, 37.310242000901354 ], [ -121.996255000372685, 37.309640000903073 ], [ -121.996269000518154, 37.309542000451899 ], [ -121.996668999484172, 37.309542000900464 ], [ -121.997817000043952, 37.309677000962878 ], [ -121.997885000004686, 37.309685000446215 ], [ -121.998368999914433, 37.309742000869356 ], [ -121.999368999609416, 37.309842000580645 ], [ -122.001069999698913, 37.310021001047808 ], [ -122.003170000312693, 37.310242000986349 ], [ -122.004069999541755, 37.310242000610643 ], [ -122.004769999390732, 37.31034200099586 ], [ -122.006270000212254, 37.310442000454039 ], [ -122.007869999504024, 37.310642000467595 ], [ -122.008169999662542, 37.310542001093253 ], [ -122.010669999393173, 37.310442001096305 ], [ -122.013670000234598, 37.310242000882837 ], [ -122.013569999943684, 37.31304200101156 ], [ -122.013469999721636, 37.314142000252374 ], [ -122.013470000333925, 37.315537000546875 ], [ -122.013469999749901, 37.316042000477431 ], [ -122.013370000035422, 37.317442001026954 ], [ -122.013370000519529, 37.317642000830169 ], [ -122.013769999730968, 37.318642000334584 ], [ -122.014269999697504, 37.319542001060803 ], [ -122.014369999394034, 37.320342001107655 ], [ -122.014370000106737, 37.321042000555131 ], [ -122.014369999788244, 37.321642000524747 ], [ -122.014469999976569, 37.32284200043788 ], [ -122.011169999685748, 37.322842000600353 ], [ -122.010669999720974, 37.322842000405885 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 460, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.99586999957063, 37.335341000838042 ], [ -121.995870000006263, 37.334642000992275 ], [ -121.995869999504649, 37.33257000094855 ], [ -121.995869999670163, 37.331242000703519 ], [ -121.995969999690402, 37.329342000338038 ], [ -121.995870000427942, 37.328542000561924 ], [ -121.995970000018488, 37.32804200090407 ], [ -121.996169999881388, 37.325042000670926 ], [ -121.996369999786083, 37.324142001069973 ], [ -121.996569999944469, 37.322842000475717 ], [ -121.996969999460859, 37.322842000346242 ], [ -121.998669999796093, 37.322842000724286 ], [ -122.000169999423733, 37.322842001121877 ], [ -122.001069999743621, 37.32284200106767 ], [ -122.001469999405316, 37.322842001044712 ], [ -122.002269999902225, 37.322842000556093 ], [ -122.003512999510974, 37.322853000465763 ], [ -122.003951000436601, 37.322849000909152 ], [ -122.004500999511677, 37.322860000589316 ], [ -122.004569999485767, 37.322842000543616 ], [ -122.005570000072723, 37.32284200082087 ], [ -122.006669999581618, 37.322842000275024 ], [ -122.008270000149892, 37.322842001060486 ], [ -122.010669999720974, 37.322842000405885 ], [ -122.011169999685748, 37.322842000600353 ], [ -122.014469999976569, 37.32284200043788 ], [ -122.014569999447829, 37.325542000949589 ], [ -122.01457000045896, 37.328042000745533 ], [ -122.014670000219269, 37.3287420002343 ], [ -122.014669999765133, 37.329342000358956 ], [ -122.014670000435089, 37.329842000276116 ], [ -122.014670000116951, 37.330142000741517 ], [ -122.014669999538697, 37.330642000582515 ], [ -122.014669999727573, 37.331342000659689 ], [ -122.014670000258505, 37.331742000284876 ], [ -122.014769999457954, 37.33234200097916 ], [ -122.014770000219002, 37.332574000281767 ], [ -122.014769999684304, 37.334441000791749 ], [ -122.014470000178775, 37.337641000545673 ], [ -122.013547000016871, 37.337641000743645 ], [ -122.012917000034903, 37.337641000688727 ], [ -122.012569999573145, 37.337641000909542 ], [ -122.007469999636996, 37.337641000548665 ], [ -122.005870000131679, 37.337641000557213 ], [ -122.002870000201341, 37.337641000924101 ], [ -122.001069999473046, 37.337641000483998 ], [ -122.000370000450147, 37.3376410004863 ], [ -121.995969999458936, 37.337741000734098 ], [ -121.99586999957063, 37.335341000838042 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 457, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.022871000117874, 37.342541000378198 ], [ -122.022871000466907, 37.340941000831364 ], [ -122.022971000119824, 37.340241000805563 ], [ -122.022971000376515, 37.339541000391698 ], [ -122.022970999824267, 37.338941000867777 ], [ -122.022970999668544, 37.338441000470652 ], [ -122.021070999957303, 37.338341001117819 ], [ -122.019569999775811, 37.338341000543863 ], [ -122.018570000240672, 37.338341001122501 ], [ -122.018569999995563, 37.337541000668665 ], [ -122.019769999800801, 37.33754100068883 ], [ -122.021671000271908, 37.337541001071578 ], [ -122.022370999575031, 37.337541000278371 ], [ -122.023471000471943, 37.337541000721245 ], [ -122.024787999684222, 37.337543000789097 ], [ -122.02517100051584, 37.337541000772951 ], [ -122.02567100030862, 37.337541000642709 ], [ -122.025748000123173, 37.337541000235248 ], [ -122.026370999825318, 37.337541000512978 ], [ -122.027071000504833, 37.337541000756467 ], [ -122.02767099967123, 37.337541000617563 ], [ -122.02897100020482, 37.337441000713639 ], [ -122.029170999396328, 37.337541000939147 ], [ -122.030570999979247, 37.33754100108748 ], [ -122.032571000411721, 37.337441000959238 ], [ -122.032570999421296, 37.338141000337373 ], [ -122.032613000513663, 37.338731000787412 ], [ -122.032648999858864, 37.339078000335263 ], [ -122.032644999836378, 37.339355000590487 ], [ -122.032633999772855, 37.339543000395835 ], [ -122.032644000485007, 37.339640000575905 ], [ -122.032527999931574, 37.340714001076343 ], [ -122.032470999814649, 37.341241000721219 ], [ -122.032470999928236, 37.342041000666256 ], [ -122.032771000309467, 37.342541000948756 ], [ -122.032770999501125, 37.34354100089071 ], [ -122.03277100000011, 37.34434100055482 ], [ -122.032770999765617, 37.344441000615667 ], [ -122.032712000283738, 37.344735000264372 ], [ -122.032681999546341, 37.344885001095832 ], [ -122.032470999463797, 37.345941000571109 ], [ -122.032471000352984, 37.346029000860817 ], [ -122.0323829997307, 37.346430000958861 ], [ -122.032282000136547, 37.347053000402013 ], [ -122.032171000128542, 37.347841000251805 ], [ -122.032371000385339, 37.35184100109683 ], [ -122.027570999838915, 37.351841000409571 ], [ -122.026171000255459, 37.351941000919076 ], [ -122.023798999475844, 37.351941000817249 ], [ -122.023278999701162, 37.351941000376691 ], [ -122.022571000322799, 37.351941000929017 ], [ -122.0209710001849, 37.351941000605429 ], [ -122.020271000471354, 37.351941000419423 ], [ -122.0202710001318, 37.34844100051204 ], [ -122.021071000237754, 37.348441000682485 ], [ -122.020870999937713, 37.347741000888838 ], [ -122.020971000011315, 37.346541000250603 ], [ -122.021370999593131, 37.346541000382985 ], [ -122.021771000310721, 37.34654100097449 ], [ -122.021971000116409, 37.3465410007583 ], [ -122.021870999791673, 37.345441001000935 ], [ -122.02197099983141, 37.344741000630798 ], [ -122.021871000146774, 37.343341000592872 ], [ -122.022870999439277, 37.343241000437487 ], [ -122.022871000117874, 37.342541000378198 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 458, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.0202710001318, 37.34844100051204 ], [ -122.020271000471354, 37.351941000419423 ], [ -122.019070999435016, 37.351941000491095 ], [ -122.018270999554645, 37.351941000991246 ], [ -122.017070999844421, 37.351941000608058 ], [ -122.016871000468115, 37.351941000566882 ], [ -122.015470000040906, 37.351941000471101 ], [ -122.015082000055983, 37.351941000804743 ], [ -122.014430000240523, 37.351939000560684 ], [ -122.014424999762326, 37.350584000486123 ], [ -122.014469999607783, 37.349941000636257 ], [ -122.014369999857252, 37.348041000590172 ], [ -122.014369999392741, 37.346541000746541 ], [ -122.014270000476429, 37.345241000847437 ], [ -122.014370000336697, 37.344941000637661 ], [ -122.014375000129931, 37.344748000937045 ], [ -122.014383000038848, 37.344428000988486 ], [ -122.014469999501301, 37.341041000562967 ], [ -122.014469999911952, 37.338241000685642 ], [ -122.014470000178775, 37.337641000545673 ], [ -122.0156700000516, 37.337641000714079 ], [ -122.016670000156338, 37.337541001122645 ], [ -122.018569999995563, 37.337541000668665 ], [ -122.018570000240672, 37.338341001122501 ], [ -122.019569999775811, 37.338341000543863 ], [ -122.021070999957303, 37.338341001117819 ], [ -122.022970999668544, 37.338441000470652 ], [ -122.022970999824267, 37.338941000867777 ], [ -122.022971000376515, 37.339541000391698 ], [ -122.022971000119824, 37.340241000805563 ], [ -122.022871000466907, 37.340941000831364 ], [ -122.022871000117874, 37.342541000378198 ], [ -122.022870999439277, 37.343241000437487 ], [ -122.021871000146774, 37.343341000592872 ], [ -122.02197099983141, 37.344741000630798 ], [ -122.021870999791673, 37.345441001000935 ], [ -122.021971000116409, 37.3465410007583 ], [ -122.021771000310721, 37.34654100097449 ], [ -122.021370999593131, 37.346541000382985 ], [ -122.020971000011315, 37.346541000250603 ], [ -122.020870999937713, 37.347741000888838 ], [ -122.021071000237754, 37.348441000682485 ], [ -122.0202710001318, 37.34844100051204 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 455, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.044270999743929, 37.351841000492257 ], [ -122.042371000290558, 37.351841000707289 ], [ -122.04147099989197, 37.351741001098503 ], [ -122.041471000273148, 37.350241000770296 ], [ -122.041371000215435, 37.347841000323712 ], [ -122.041870999960167, 37.346141000863703 ], [ -122.041970999658872, 37.344441000236522 ], [ -122.041570999709137, 37.342741000682601 ], [ -122.041570999832999, 37.34174100081632 ], [ -122.041670999505982, 37.337541000811562 ], [ -122.043571000084285, 37.337441000465482 ], [ -122.043970999656182, 37.337541000752005 ], [ -122.044471000497524, 37.337441001103763 ], [ -122.045171000122949, 37.337441000565285 ], [ -122.046271000404417, 37.337441000755327 ], [ -122.050370999575392, 37.337241001066133 ], [ -122.050371000055961, 37.340741000360815 ], [ -122.050327999819416, 37.344648001091592 ], [ -122.049949999532785, 37.347387000730279 ], [ -122.05017199980243, 37.347841000608383 ], [ -122.050572000451112, 37.349341000447026 ], [ -122.050671999422391, 37.351841000622336 ], [ -122.048472000178833, 37.351841000937931 ], [ -122.047972000005871, 37.351941000518849 ], [ -122.047880999414687, 37.351941000861075 ], [ -122.04773999971313, 37.351941000628869 ], [ -122.047270999569363, 37.35194100067698 ], [ -122.046835999422157, 37.351901000258692 ], [ -122.046639999581373, 37.351883000690812 ], [ -122.046170999475791, 37.35184100039821 ], [ -122.044948000487736, 37.351841001003713 ], [ -122.044270999743929, 37.351841000492257 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 451, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.033671000172617, 37.358941000916779 ], [ -122.036971000321316, 37.358941000674506 ], [ -122.038754000222639, 37.359022000284881 ], [ -122.039171000436539, 37.35904100089855 ], [ -122.03974999962108, 37.359064000501135 ], [ -122.040649000272552, 37.359100000289921 ], [ -122.041670999510629, 37.359141000925327 ], [ -122.045871999600422, 37.359141000568293 ], [ -122.046571999852873, 37.359141001031283 ], [ -122.047671999603367, 37.359241000784699 ], [ -122.050372000521094, 37.359341000289312 ], [ -122.050471999936946, 37.362541000412001 ], [ -122.050371999623593, 37.364541001037203 ], [ -122.050372000338925, 37.365241000977541 ], [ -122.050071999907402, 37.367941001085427 ], [ -122.04937200002486, 37.370341000366778 ], [ -122.048772000445837, 37.371641000354749 ], [ -122.041270999992122, 37.369941000302418 ], [ -122.0371710001792, 37.369041000838706 ], [ -122.037110000321505, 37.36902800064297 ], [ -122.035770999634252, 37.368741000607521 ], [ -122.03527100007669, 37.36864100107352 ], [ -122.034070999513148, 37.368241000760641 ], [ -122.033069999506111, 37.367779000702562 ], [ -122.032987999632837, 37.367741000734945 ], [ -122.032771000029598, 37.367641000422573 ], [ -122.032470999989258, 37.367441000668414 ], [ -122.03247100022736, 37.366466000999409 ], [ -122.032471000157614, 37.365941000764522 ], [ -122.032470999436441, 37.364943001018972 ], [ -122.032470999492148, 37.364862000919558 ], [ -122.032471000494397, 37.364741000576267 ], [ -122.03237099990568, 37.363241000333716 ], [ -122.032470999631016, 37.36294100073949 ], [ -122.032370999871659, 37.362641000906876 ], [ -122.0324709999432, 37.362141000846755 ], [ -122.032471000059857, 37.361541000406412 ], [ -122.032471000046982, 37.360841001018365 ], [ -122.032370999931075, 37.360141001006184 ], [ -122.032470999705239, 37.359641000718177 ], [ -122.032476999751594, 37.359312000627355 ], [ -122.032370999806218, 37.358941000578866 ], [ -122.033671000172617, 37.358941000916779 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 448, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.01457100036923, 37.366441000707354 ], [ -122.014370999804228, 37.366441000703063 ], [ -122.014570999458698, 37.365741001064968 ], [ -122.014470999986372, 37.364241000674859 ], [ -122.014470999761059, 37.361941000627567 ], [ -122.014470999452243, 37.359341000701612 ], [ -122.014396000053409, 37.359076000892628 ], [ -122.014471000132602, 37.358741000844397 ], [ -122.014470999492218, 37.358241000607642 ], [ -122.014470999906152, 37.357741000338564 ], [ -122.014471000041382, 37.357541000940252 ], [ -122.014471000299523, 37.357141000321064 ], [ -122.014471000498034, 37.356741000576427 ], [ -122.014271000090261, 37.356241001072732 ], [ -122.014304000073523, 37.356111000813137 ], [ -122.014370999880711, 37.355841000863165 ], [ -122.014270999832306, 37.355541000278173 ], [ -122.014440000016407, 37.355204000900386 ], [ -122.014470999696613, 37.355141000420062 ], [ -122.014369999639342, 37.353841000332849 ], [ -122.014369999830635, 37.353331000989044 ], [ -122.014370000125439, 37.353241000837471 ], [ -122.014370000450228, 37.352741001061865 ], [ -122.014769999800762, 37.352941000746362 ], [ -122.015371000043544, 37.353441000680093 ], [ -122.01797100051931, 37.355541000858743 ], [ -122.022768999753922, 37.35965400079408 ], [ -122.024970999775107, 37.361541000914016 ], [ -122.027770999432846, 37.363741000352043 ], [ -122.029371000105257, 37.365141000686208 ], [ -122.032470999989258, 37.367441000668414 ], [ -122.032070999537027, 37.367941000632882 ], [ -122.031071000089497, 37.367841000367385 ], [ -122.028970999479014, 37.367641000759001 ], [ -122.028509999873748, 37.367468000337837 ], [ -122.026071000104167, 37.367441000887709 ], [ -122.023766999604035, 37.367194000826856 ], [ -122.023271000096813, 37.367141000926921 ], [ -122.021371000284717, 37.366841000629663 ], [ -122.019812999779674, 37.366749000282852 ], [ -122.019670999401484, 37.366741000988192 ], [ -122.01940600051411, 37.366700000903712 ], [ -122.018370999608649, 37.366541000897008 ], [ -122.017370999703274, 37.366541000804858 ], [ -122.016071000197073, 37.366441000284681 ], [ -122.015570999850141, 37.366441001034367 ], [ -122.015470999565323, 37.366441000568251 ], [ -122.01457100036923, 37.366441000707354 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 394, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.036370999808469, 37.371441001111847 ], [ -122.036770999442936, 37.370141000331543 ], [ -122.037148000492024, 37.369103000628165 ], [ -122.0371710001792, 37.369041000838706 ], [ -122.041270999992122, 37.369941000302418 ], [ -122.048772000445837, 37.371641000354749 ], [ -122.048371999861544, 37.37284100049186 ], [ -122.048171999715336, 37.373441000838724 ], [ -122.047672000220189, 37.374941000793605 ], [ -122.047572000287957, 37.375540000594967 ], [ -122.047271999833839, 37.37614000036011 ], [ -122.047172000329581, 37.376740001083043 ], [ -122.046571999595514, 37.378640000998324 ], [ -122.045871999682944, 37.380340000568005 ], [ -122.045771999672525, 37.380940000491485 ], [ -122.04547199972663, 37.381540000359024 ], [ -122.045071999606733, 37.382940000238371 ], [ -122.044972000045831, 37.383140001109851 ], [ -122.040771999863836, 37.381840000658293 ], [ -122.034171000363628, 37.379640001043455 ], [ -122.033770999613409, 37.379540000403921 ], [ -122.033870999717934, 37.379140001030258 ], [ -122.034171000441148, 37.378340000281455 ], [ -122.034671000224691, 37.376641000989046 ], [ -122.034771000410899, 37.376241000613028 ], [ -122.035170999605214, 37.374941000272784 ], [ -122.035471000000712, 37.373941000805118 ], [ -122.035771000216698, 37.373141000493504 ], [ -122.036370999808469, 37.371441001111847 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 450, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.0371710001792, 37.369041000838706 ], [ -122.037148000492024, 37.369103000628165 ], [ -122.036770999442936, 37.370141000331543 ], [ -122.036370999808469, 37.371441001111847 ], [ -122.035771000216698, 37.373141000493504 ], [ -122.035471000000712, 37.373941000805118 ], [ -122.035170999605214, 37.374941000272784 ], [ -122.034771000410899, 37.376241000613028 ], [ -122.034671000224691, 37.376641000989046 ], [ -122.034171000441148, 37.378340000281455 ], [ -122.033870999717934, 37.379140001030258 ], [ -122.033770999613409, 37.379540000403921 ], [ -122.028670999717136, 37.377841000311754 ], [ -122.025370999686686, 37.376741000658491 ], [ -122.02507099945818, 37.376641000727737 ], [ -122.020671000137199, 37.375141000780552 ], [ -122.02075100002719, 37.374941000930583 ], [ -122.021070999748645, 37.374141000899542 ], [ -122.021271000512357, 37.373341000993456 ], [ -122.021470999966112, 37.372641001018344 ], [ -122.021671000134305, 37.372241000968501 ], [ -122.021870999500209, 37.371541001051035 ], [ -122.022571000385568, 37.369541000923448 ], [ -122.023271000096813, 37.367141000926921 ], [ -122.023766999604035, 37.367194000826856 ], [ -122.026071000104167, 37.367441000887709 ], [ -122.028509999873748, 37.367468000337837 ], [ -122.028970999479014, 37.367641000759001 ], [ -122.031071000089497, 37.367841000367385 ], [ -122.032070999537027, 37.367941000632882 ], [ -122.032470999989258, 37.367441000668414 ], [ -122.032771000029598, 37.367641000422573 ], [ -122.032987999632837, 37.367741000734945 ], [ -122.033069999506111, 37.367779000702562 ], [ -122.034070999513148, 37.368241000760641 ], [ -122.03527100007669, 37.36864100107352 ], [ -122.035770999634252, 37.368741000607521 ], [ -122.037110000321505, 37.36902800064297 ], [ -122.0371710001792, 37.369041000838706 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 425, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.031318000496512, 37.386838000901498 ], [ -122.030770999571374, 37.389640001093007 ], [ -122.029670999659487, 37.389240001065488 ], [ -122.027270999564564, 37.388440000916994 ], [ -122.026471000297022, 37.388140000840899 ], [ -122.026071000106, 37.388040001126583 ], [ -122.02547099962355, 37.387940000471531 ], [ -122.022771000409762, 37.387040000612458 ], [ -122.021571000008564, 37.386640000383508 ], [ -122.021370999568816, 37.386540000905448 ], [ -122.02067099968319, 37.386240000633926 ], [ -122.018871000373096, 37.385640000865777 ], [ -122.017571000036725, 37.385140000960945 ], [ -122.017870999617571, 37.384140000780711 ], [ -122.018171000204987, 37.383340000955499 ], [ -122.018771000105588, 37.381540000803454 ], [ -122.018970999963045, 37.380441000330187 ], [ -122.019970999644755, 37.381040000799175 ], [ -122.021170999406422, 37.38174000070611 ], [ -122.023071000054856, 37.382240000848199 ], [ -122.026970999972264, 37.383040000280346 ], [ -122.027950999531015, 37.383241000510488 ], [ -122.029719000217071, 37.383604000785979 ], [ -122.030871000194807, 37.383840000333016 ], [ -122.031702999612662, 37.384062000928225 ], [ -122.031932999487097, 37.384123000945017 ], [ -122.032150999412124, 37.384181000852372 ], [ -122.032370999705336, 37.384240001002624 ], [ -122.032179000359818, 37.384697000654484 ], [ -122.031652999971442, 37.38595300075815 ], [ -122.03157099966873, 37.386640000599961 ], [ -122.031318000496512, 37.386838000901498 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 391, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.053171999640483, 37.38384000029528 ], [ -122.057272000407949, 37.384740000986035 ], [ -122.057871999993381, 37.383040000715475 ], [ -122.058172000013471, 37.381240000330067 ], [ -122.058503000328287, 37.380230000732936 ], [ -122.060172000312676, 37.37514000099678 ], [ -122.059838999472575, 37.374940000958787 ], [ -122.059672000506112, 37.374840001132029 ], [ -122.059371999854022, 37.374740000551974 ], [ -122.058372000472062, 37.374440000296751 ], [ -122.060371999993393, 37.370941000891108 ], [ -122.060699000319232, 37.37045100029939 ], [ -122.061529999510412, 37.369204000934836 ], [ -122.062171999598547, 37.368241000870832 ], [ -122.062772000265696, 37.367441000574495 ], [ -122.06297199963771, 37.366441000591685 ], [ -122.06387199954186, 37.367041000300958 ], [ -122.063987999695897, 37.367239000586721 ], [ -122.06588899968807, 37.370462001036962 ], [ -122.067387999808503, 37.373019000568817 ], [ -122.067577000027072, 37.373342000356274 ], [ -122.067669000285449, 37.373862000398148 ], [ -122.067871999546654, 37.376040000294601 ], [ -122.067972000207945, 37.377740000855958 ], [ -122.067972000470249, 37.378140000882169 ], [ -122.068071999842644, 37.378640000964204 ], [ -122.068071999405007, 37.379040000928505 ], [ -122.068071999798633, 37.379640000383056 ], [ -122.068364999853401, 37.382565000949342 ], [ -122.068372000188717, 37.382640000898213 ], [ -122.068471999422414, 37.383640000593743 ], [ -122.068471999953516, 37.384240000513287 ], [ -122.068472000180918, 37.384540000450464 ], [ -122.067178999971986, 37.385025000771904 ], [ -122.066871999825366, 37.385140000461604 ], [ -122.06529800038065, 37.385587001117223 ], [ -122.065045999773105, 37.38561400088787 ], [ -122.063871999991306, 37.385740001045903 ], [ -122.063727999570517, 37.385773000573572 ], [ -122.061471999755611, 37.38604000036409 ], [ -122.06087199980027, 37.386140000797539 ], [ -122.060271999409181, 37.38624000087556 ], [ -122.05817199987959, 37.387140000361541 ], [ -122.057871999554052, 37.387340000875412 ], [ -122.057771999501753, 37.387440000422998 ], [ -122.05247199949622, 37.385772000863923 ], [ -122.052371999846272, 37.385740001039558 ], [ -122.052472000339392, 37.385540001118713 ], [ -122.052672000144113, 37.385440000515885 ], [ -122.053171999640483, 37.38384000029528 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 618, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.872667000453689, 37.438138000273767 ], [ -121.8710670004441, 37.438538000908402 ], [ -121.868366000122691, 37.438938000777647 ], [ -121.867165999742625, 37.440038000599962 ], [ -121.866066000480842, 37.440638000272131 ], [ -121.862465999579086, 37.444238000440194 ], [ -121.862183999917164, 37.444278000548593 ], [ -121.860365999546474, 37.444206000326098 ], [ -121.85978400019431, 37.444206000843806 ], [ -121.859250999511886, 37.444513000561301 ], [ -121.859008999959443, 37.444975000616431 ], [ -121.858366000269456, 37.445238000304229 ], [ -121.858144999958853, 37.445748000559526 ], [ -121.857931999612958, 37.445947000592192 ], [ -121.857665999865532, 37.446038000985766 ], [ -121.856299999439685, 37.445857000374822 ], [ -121.855400999571984, 37.446047000490566 ], [ -121.85468200040107, 37.446428000913137 ], [ -121.853961999444167, 37.446570001120996 ], [ -121.852943000289187, 37.446570000469954 ], [ -121.851625000426054, 37.446978000906043 ], [ -121.84918400029035, 37.447734001058478 ], [ -121.847352999827308, 37.448732000656243 ], [ -121.847083000515426, 37.448750000868259 ], [ -121.846627999874357, 37.448519000794086 ], [ -121.8462469997298, 37.448170000560971 ], [ -121.845984999787035, 37.447955000554266 ], [ -121.845858000324526, 37.447914000969078 ], [ -121.845621000007469, 37.447854000274845 ], [ -121.845393000366613, 37.447780001117394 ], [ -121.845214999937468, 37.447639000595061 ], [ -121.84505500016337, 37.447511000706882 ], [ -121.844928000469395, 37.447424000927292 ], [ -121.844540999632301, 37.447121000665106 ], [ -121.844362000028241, 37.446958000332899 ], [ -121.844284000080506, 37.446808000400587 ], [ -121.844395000423759, 37.44656100026716 ], [ -121.844628000455813, 37.44610200024016 ], [ -121.844706000209726, 37.445873001101482 ], [ -121.844516999966999, 37.445556000780947 ], [ -121.844205999742698, 37.445168001073036 ], [ -121.843895000066013, 37.445097000785104 ], [ -121.843540000350018, 37.445071000486813 ], [ -121.843066000339221, 37.444938000405784 ], [ -121.84076600019489, 37.444438000757607 ], [ -121.837165000044976, 37.442738000805484 ], [ -121.836520999872988, 37.442241000922806 ], [ -121.835681999837945, 37.441575000357801 ], [ -121.835321999404016, 37.440434000481154 ], [ -121.835501999400407, 37.439768001050432 ], [ -121.835981999969817, 37.439482000408709 ], [ -121.835844000401778, 37.439091001098319 ], [ -121.835382000478475, 37.438721000872469 ], [ -121.834123999805811, 37.43815000098796 ], [ -121.832985000398608, 37.438103001034371 ], [ -121.83178600025812, 37.4383410004449 ], [ -121.83028799943061, 37.439007000658854 ], [ -121.828070000087479, 37.439720000286506 ], [ -121.825664999603589, 37.440037000503828 ], [ -121.821595000299737, 37.438791001050689 ], [ -121.820252000157055, 37.438127001097797 ], [ -121.820145000351047, 37.438086000606276 ], [ -121.819779000078768, 37.43794400078697 ], [ -121.81959599941375, 37.437631000334491 ], [ -121.820365000499606, 37.435538000280765 ], [ -121.823564999607427, 37.433238000525009 ], [ -121.825565000355567, 37.432038000979112 ], [ -121.82686499985202, 37.431638000999143 ], [ -121.828065000001544, 37.432038000239807 ], [ -121.831165000029273, 37.426738000910696 ], [ -121.830664999396319, 37.424838000552306 ], [ -121.831464999566805, 37.423138000471795 ], [ -121.834064999406905, 37.422938000743684 ], [ -121.839864999412413, 37.421338000982182 ], [ -121.8420650005109, 37.42093800109906 ], [ -121.8426649995573, 37.42003800066373 ], [ -121.844265000014246, 37.41943800067272 ], [ -121.845664999796327, 37.419538000231569 ], [ -121.847665000023881, 37.418538000968944 ], [ -121.848365000015448, 37.418938000564602 ], [ -121.848465999716083, 37.41983800082037 ], [ -121.850266000172553, 37.420438000375846 ], [ -121.850966000071352, 37.42163800051317 ], [ -121.851339000371979, 37.421804000555362 ], [ -121.851865999746579, 37.422038000958594 ], [ -121.854665999699861, 37.421038000837783 ], [ -121.854865999879152, 37.420138000703332 ], [ -121.855365999815277, 37.418338001067589 ], [ -121.855965999443669, 37.419038000747996 ], [ -121.856166000164023, 37.419438000326771 ], [ -121.856447000148904, 37.420031000250113 ], [ -121.857166000436237, 37.420738000957748 ], [ -121.857565999721018, 37.421038000949856 ], [ -121.858865999981901, 37.421738001067538 ], [ -121.858966000306665, 37.421838001123135 ], [ -121.860365999488465, 37.422438000981728 ], [ -121.861446999540775, 37.422022001117838 ], [ -121.86199699951446, 37.422982000578443 ], [ -121.862247000152422, 37.423392001051063 ], [ -121.862280000226775, 37.423538000894787 ], [ -121.862293000056525, 37.423700000641283 ], [ -121.862213999745052, 37.424258000781748 ], [ -121.862205999753385, 37.424380000990951 ], [ -121.862220999763522, 37.424463000261305 ], [ -121.862257999472618, 37.424661000337316 ], [ -121.862362000034551, 37.425228000428547 ], [ -121.862765999461999, 37.426938000678305 ], [ -121.862956999842922, 37.427511000848192 ], [ -121.863183999834661, 37.42837100077881 ], [ -121.863366000494054, 37.429038000851776 ], [ -121.863522999798946, 37.429605000923537 ], [ -121.863666000216881, 37.430238000394326 ], [ -121.863865999450596, 37.43083800093963 ], [ -121.864065999656802, 37.431338000308699 ], [ -121.867891000015931, 37.430667000301241 ], [ -121.868989999772765, 37.430446000621224 ], [ -121.869353999966208, 37.430356000776179 ], [ -121.871545999472417, 37.429916000289559 ], [ -121.872365999843794, 37.429638000661228 ], [ -121.873267000438759, 37.429438000770325 ], [ -121.873520999910568, 37.430009000649655 ], [ -121.873666999596296, 37.430338000775187 ], [ -121.874167000167333, 37.432238000998424 ], [ -121.874866999609495, 37.434138000982749 ], [ -121.875567000481851, 37.436038000991559 ], [ -121.875667000091468, 37.436438000277143 ], [ -121.875766999569734, 37.436838000359302 ], [ -121.87596699950501, 37.437238000549229 ], [ -121.874121999661199, 37.437739000438071 ], [ -121.873591000381637, 37.437896000849399 ], [ -121.872667000453689, 37.438138000273767 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 617, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.885266999708776, 37.435238000917828 ], [ -121.884066999941297, 37.435538001071571 ], [ -121.883807000333491, 37.435572001125713 ], [ -121.882567000027549, 37.435838000232302 ], [ -121.88156699953683, 37.436038000751807 ], [ -121.880923000253389, 37.436206000426154 ], [ -121.879367000392477, 37.436538000790868 ], [ -121.87596699950501, 37.437238000549229 ], [ -121.875766999569734, 37.436838000359302 ], [ -121.875667000091468, 37.436438000277143 ], [ -121.875567000481851, 37.436038000991559 ], [ -121.874866999609495, 37.434138000982749 ], [ -121.874167000167333, 37.432238000998424 ], [ -121.873666999596296, 37.430338000775187 ], [ -121.873520999910568, 37.430009000649655 ], [ -121.873267000438759, 37.429438000770325 ], [ -121.87376699950876, 37.429338000755003 ], [ -121.87596700020552, 37.428838000491588 ], [ -121.878167000227705, 37.428338000479719 ], [ -121.878667000151054, 37.428138000261995 ], [ -121.879567000124013, 37.427538000702313 ], [ -121.880266999615372, 37.427138000783138 ], [ -121.880867000475646, 37.426738000772914 ], [ -121.882019999687543, 37.426100000344086 ], [ -121.883394999782723, 37.425435000756281 ], [ -121.883791000063354, 37.425280000965955 ], [ -121.8844669998265, 37.427438000384967 ], [ -121.885658000126753, 37.429397000318495 ], [ -121.885964999714105, 37.429902000492838 ], [ -121.887566999443806, 37.432538000582781 ], [ -121.887766999868077, 37.432838000258883 ], [ -121.887867000014623, 37.433038000467178 ], [ -121.888248999503176, 37.43399400039565 ], [ -121.888467000007552, 37.434538001011028 ], [ -121.88827600006114, 37.434580000287461 ], [ -121.887841999788648, 37.434717000844302 ], [ -121.887673000479538, 37.434770000512913 ], [ -121.885664999675669, 37.435165000305659 ], [ -121.885477000385848, 37.43520300068004 ], [ -121.885266999708776, 37.435238000917828 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 615, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.857393999555413, 37.484554000992709 ], [ -121.855766999518224, 37.484537000398831 ], [ -121.855547999963136, 37.483034001115477 ], [ -121.852143999510119, 37.480631000422257 ], [ -121.851850000339311, 37.480297000409415 ], [ -121.851614999682127, 37.479865000971493 ], [ -121.848374999985438, 37.471269000864694 ], [ -121.8468110001822, 37.466544000509579 ], [ -121.846726000185171, 37.466290000712227 ], [ -121.846649000257756, 37.466141000253479 ], [ -121.846605999517649, 37.466096001016197 ], [ -121.846465999959008, 37.466037000931323 ], [ -121.845166000275896, 37.465637000354697 ], [ -121.845060999583723, 37.465577000417021 ], [ -121.845017999522412, 37.465391001112337 ], [ -121.844975000441693, 37.464950001036463 ], [ -121.845165999583344, 37.462837001103139 ], [ -121.845038999420098, 37.462591000661028 ], [ -121.844740000279799, 37.462388000776016 ], [ -121.843765999818686, 37.462037000705905 ], [ -121.843444000455136, 37.461857000518791 ], [ -121.843288999823045, 37.461675000268656 ], [ -121.842465999671006, 37.460237000445943 ], [ -121.842411000364848, 37.460047000543199 ], [ -121.842389999598879, 37.459829000562131 ], [ -121.842407000386586, 37.459708000263092 ], [ -121.84270200019877, 37.459107000679751 ], [ -121.842720000289603, 37.45901700034873 ], [ -121.842705000271891, 37.458975000427913 ], [ -121.842666000086197, 37.458937000762106 ], [ -121.842166000170778, 37.458537000497344 ], [ -121.841975999825081, 37.458278000580165 ], [ -121.841948999423792, 37.458219000241975 ], [ -121.841928999811046, 37.458176000325054 ], [ -121.841937000225158, 37.458109000348543 ], [ -121.842003999824911, 37.458057000675637 ], [ -121.842231999521459, 37.457921000487794 ], [ -121.843373999801926, 37.45723700061275 ], [ -121.843464000361138, 37.457129000580444 ], [ -121.843500000423148, 37.457056000398659 ], [ -121.843505999851885, 37.45698000080808 ], [ -121.843501000192489, 37.456951000415309 ], [ -121.843465999985241, 37.456837000772232 ], [ -121.84334200002192, 37.456716000959531 ], [ -121.843070000397404, 37.456461000503268 ], [ -121.843029999677512, 37.45643400083901 ], [ -121.843002999674965, 37.45641400106085 ], [ -121.842898999417898, 37.456338000574554 ], [ -121.842451000441315, 37.45599600077081 ], [ -121.841053999429761, 37.455331000969295 ], [ -121.840952999744005, 37.455226001036877 ], [ -121.840909000496609, 37.455099000886555 ], [ -121.840880000291079, 37.455030000298855 ], [ -121.840865999711355, 37.454837001030334 ], [ -121.840918999642128, 37.454712000579164 ], [ -121.840982000263622, 37.45456300036264 ], [ -121.841097999764003, 37.454431000629008 ], [ -121.841565999497561, 37.454237000563637 ], [ -121.841685999948041, 37.454125001108054 ], [ -121.841694000257021, 37.453958000865221 ], [ -121.84133999958496, 37.452732000573292 ], [ -121.841265999952412, 37.452237000708791 ], [ -121.841206999776134, 37.452120000642722 ], [ -121.841104999757917, 37.452051000761344 ], [ -121.840066000423022, 37.451837000726179 ], [ -121.839943999612643, 37.45177300056497 ], [ -121.839929000121913, 37.451710000286333 ], [ -121.8399579997388, 37.451647001108746 ], [ -121.840132000001873, 37.451422000499036 ], [ -121.841066000437152, 37.450037000894433 ], [ -121.84169599991111, 37.450195000699367 ], [ -121.841983999536382, 37.450379000607271 ], [ -121.842166000012, 37.450402000289429 ], [ -121.842306000014673, 37.450379000971161 ], [ -121.842195000380471, 37.449739000510526 ], [ -121.842041999482504, 37.449515000940806 ], [ -121.840190000398735, 37.448001001033028 ], [ -121.839865999849962, 37.44763700096037 ], [ -121.83964800012474, 37.44739900071518 ], [ -121.839548999681156, 37.447218000422453 ], [ -121.839558999477063, 37.446966000410349 ], [ -121.84076600019489, 37.444438000757607 ], [ -121.843066000339221, 37.444938000405784 ], [ -121.843540000350018, 37.445071000486813 ], [ -121.843895000066013, 37.445097000785104 ], [ -121.844205999742698, 37.445168001073036 ], [ -121.844516999966999, 37.445556000780947 ], [ -121.844706000209726, 37.445873001101482 ], [ -121.844628000455813, 37.44610200024016 ], [ -121.844395000423759, 37.44656100026716 ], [ -121.844284000080506, 37.446808000400587 ], [ -121.844362000028241, 37.446958000332899 ], [ -121.844540999632301, 37.447121000665106 ], [ -121.844928000469395, 37.447424000927292 ], [ -121.84505500016337, 37.447511000706882 ], [ -121.845214999937468, 37.447639000595061 ], [ -121.845393000366613, 37.447780001117394 ], [ -121.845621000007469, 37.447854000274845 ], [ -121.845858000324526, 37.447914000969078 ], [ -121.845984999787035, 37.447955000554266 ], [ -121.8462469997298, 37.448170000560971 ], [ -121.846627999874357, 37.448519000794086 ], [ -121.847083000515426, 37.448750000868259 ], [ -121.847352999827308, 37.448732000656243 ], [ -121.84918400029035, 37.447734001058478 ], [ -121.851625000426054, 37.446978000906043 ], [ -121.852943000289187, 37.446570000469954 ], [ -121.853961999444167, 37.446570001120996 ], [ -121.85468200040107, 37.446428000913137 ], [ -121.855400999571984, 37.446047000490566 ], [ -121.856299999439685, 37.445857000374822 ], [ -121.857665999865532, 37.446038000985766 ], [ -121.857931999612958, 37.445947000592192 ], [ -121.858144999958853, 37.445748000559526 ], [ -121.858366000269456, 37.445238000304229 ], [ -121.859008999959443, 37.444975000616431 ], [ -121.859250999511886, 37.444513000561301 ], [ -121.85978400019431, 37.444206000843806 ], [ -121.860365999546474, 37.444206000326098 ], [ -121.862183999917164, 37.444278000548593 ], [ -121.862465999579086, 37.444238000440194 ], [ -121.866066000480842, 37.440638000272131 ], [ -121.867165999742625, 37.440038000599962 ], [ -121.868366000122691, 37.438938000777647 ], [ -121.8710670004441, 37.438538000908402 ], [ -121.872667000453689, 37.438138000273767 ], [ -121.872766999739937, 37.438338000239277 ], [ -121.873366999865993, 37.43923800044962 ], [ -121.875367000116938, 37.442738000878343 ], [ -121.8756399998246, 37.443329000932934 ], [ -121.875966999814949, 37.444038000459244 ], [ -121.876554999849915, 37.44390800101349 ], [ -121.877258000439525, 37.443750000808251 ], [ -121.877964000142143, 37.443589000908794 ], [ -121.878467000407028, 37.443438000462422 ], [ -121.879366999809776, 37.443238000993112 ], [ -121.879629000178909, 37.44316400094695 ], [ -121.879870000017021, 37.443095001043517 ], [ -121.881767000433086, 37.442638000943177 ], [ -121.882366999793234, 37.442538001088558 ], [ -121.884231000277211, 37.442096000562245 ], [ -121.884660999689785, 37.442012000383478 ], [ -121.885298000433252, 37.44185400065011 ], [ -121.886301000479506, 37.44162600032503 ], [ -121.887266999525067, 37.4414380010518 ], [ -121.888166999589941, 37.441238000863429 ], [ -121.888867000363831, 37.441038000975439 ], [ -121.889664999988014, 37.443805000314484 ], [ -121.889499000190227, 37.444618001004031 ], [ -121.890189000370427, 37.44441100082161 ], [ -121.890249999453573, 37.444669000885945 ], [ -121.890352999642829, 37.445086000631036 ], [ -121.890721999411326, 37.447045000382289 ], [ -121.890902000456151, 37.448438000306716 ], [ -121.891276999498814, 37.449808000421783 ], [ -121.891476999962819, 37.450205000812844 ], [ -121.892872999476666, 37.451639001060357 ], [ -121.894444999990355, 37.453738000291452 ], [ -121.895488000227644, 37.454938000939009 ], [ -121.897367999695476, 37.457238000473353 ], [ -121.898644999819794, 37.458797000863939 ], [ -121.898881999949595, 37.459086000851428 ], [ -121.900561000508404, 37.461091000899721 ], [ -121.902367999907128, 37.463338000297774 ], [ -121.90351499967683, 37.464633001004742 ], [ -121.903232000143532, 37.464702000346591 ], [ -121.902677999971303, 37.464836001063276 ], [ -121.902438000408353, 37.464872000894559 ], [ -121.901996000342336, 37.464964000273739 ], [ -121.90143099960666, 37.46523800079089 ], [ -121.900438999459382, 37.465635000306001 ], [ -121.899704000282924, 37.465730000982148 ], [ -121.899504000341892, 37.465830001072675 ], [ -121.899223000099212, 37.466092000854779 ], [ -121.898535999426855, 37.466573000689941 ], [ -121.898048000127901, 37.466840000742536 ], [ -121.896803999531599, 37.467230000435435 ], [ -121.895706000363816, 37.467711000328336 ], [ -121.894836000107546, 37.467833000441523 ], [ -121.894226000097419, 37.467871000314055 ], [ -121.894068000030558, 37.467837000716578 ], [ -121.893417000208288, 37.467840000760638 ], [ -121.892914000299882, 37.467802000937198 ], [ -121.892440999457662, 37.467901000735885 ], [ -121.891876000023061, 37.468077000601916 ], [ -121.891463999945032, 37.468061000375457 ], [ -121.891143999909389, 37.468039000357898 ], [ -121.890912999559802, 37.468136000739392 ], [ -121.890654999577407, 37.468244000234833 ], [ -121.890259000298315, 37.4686560006094 ], [ -121.889968999470227, 37.46916800086133 ], [ -121.889667999610154, 37.469937000458998 ], [ -121.889022999472218, 37.470686000303132 ], [ -121.888443000303624, 37.470877000939637 ], [ -121.887938999928267, 37.470968000723651 ], [ -121.88722200033672, 37.471159000956121 ], [ -121.886519999634857, 37.47146400092106 ], [ -121.885667999706953, 37.471737000922538 ], [ -121.8849330002313, 37.4716400004869 ], [ -121.884749000430702, 37.471548000472673 ], [ -121.884352999604943, 37.471296000519466 ], [ -121.883970999479587, 37.471022000331772 ], [ -121.883573999989451, 37.470945000664535 ], [ -121.883299999551127, 37.47102200105067 ], [ -121.8828670003642, 37.470937001084884 ], [ -121.882560999872112, 37.470782000478131 ], [ -121.88253699979208, 37.47077000036483 ], [ -121.882262000428199, 37.470770000320158 ], [ -121.881895999445078, 37.470861000735432 ], [ -121.881422999556406, 37.471075000497137 ], [ -121.88093499945542, 37.471273001038526 ], [ -121.880306999754652, 37.471579000974835 ], [ -121.880278000016474, 37.471594000910684 ], [ -121.879927000363793, 37.471868001021527 ], [ -121.879545999805998, 37.472235000959174 ], [ -121.879225999620331, 37.472563001091245 ], [ -121.878904999422303, 37.47319600029229 ], [ -121.878871000277314, 37.473249000987906 ], [ -121.878661000400342, 37.473577000428449 ], [ -121.878356000429008, 37.47394400107769 ], [ -121.877897999997927, 37.47428700030413 ], [ -121.877638999996464, 37.47470700028078 ], [ -121.877501000410078, 37.475088000707906 ], [ -121.877288000371536, 37.475424000736552 ], [ -121.876867000192718, 37.475437000967311 ], [ -121.876776000073562, 37.475422000364752 ], [ -121.876574000471351, 37.475178000966046 ], [ -121.876261999796114, 37.474924000330468 ], [ -121.875778999617083, 37.474999000386767 ], [ -121.87520499965764, 37.47521500067672 ], [ -121.874611999726383, 37.475767000501655 ], [ -121.874289999776181, 37.476362000537257 ], [ -121.874067000195666, 37.477191000436754 ], [ -121.87366700028609, 37.477737000966862 ], [ -121.873075999553578, 37.478079000434377 ], [ -121.872359000362323, 37.478376000775889 ], [ -121.871566000324449, 37.478857000784622 ], [ -121.870757000221843, 37.479475000495015 ], [ -121.870559000057966, 37.479841001108234 ], [ -121.870466999858294, 37.480237000544989 ], [ -121.870115999676244, 37.48058900089007 ], [ -121.86990200014948, 37.480932000522159 ], [ -121.869840999612776, 37.481321000591841 ], [ -121.869674000201812, 37.481749000719375 ], [ -121.869630000471176, 37.481789000479694 ], [ -121.869367000224514, 37.482037000272861 ], [ -121.86776700003125, 37.483037000992866 ], [ -121.866996999876662, 37.483529000324559 ], [ -121.865292000019778, 37.484620001034372 ], [ -121.865266999843328, 37.484637000498282 ], [ -121.863844000239538, 37.484621000635542 ], [ -121.859061000430316, 37.484571000475277 ], [ -121.857393999555413, 37.484554000992709 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 613, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.904616999932784, 37.464300000800272 ], [ -121.90351499967683, 37.464633001004742 ], [ -121.902367999907128, 37.463338000297774 ], [ -121.900561000508404, 37.461091000899721 ], [ -121.901467999534859, 37.460738001001403 ], [ -121.904068000212135, 37.45993800025483 ], [ -121.903667999899852, 37.45913800108935 ], [ -121.902968000175576, 37.458438000635745 ], [ -121.902467999864655, 37.457838000525854 ], [ -121.90206799983801, 37.457238000922658 ], [ -121.901468000120758, 37.456538000423137 ], [ -121.902468000225909, 37.456138000629373 ], [ -121.902168000153736, 37.455438000884904 ], [ -121.901968000498556, 37.455138000682538 ], [ -121.90196799980987, 37.454938000951088 ], [ -121.90240799999664, 37.45474500024099 ], [ -121.902867999601895, 37.454553001063893 ], [ -121.905970999399869, 37.453749000276233 ], [ -121.90856800032779, 37.45303800069253 ], [ -121.909301000387373, 37.452830000273536 ], [ -121.90990100050972, 37.452659001106738 ], [ -121.910603999398916, 37.452459000818074 ], [ -121.910693999928796, 37.452883000913147 ], [ -121.910715999838104, 37.453325001014548 ], [ -121.910737999850653, 37.453784001084763 ], [ -121.910850000093362, 37.454332000662504 ], [ -121.91149599964379, 37.457477001059701 ], [ -121.911740999845179, 37.45809600111388 ], [ -121.911962999819622, 37.458750001112286 ], [ -121.912141999754809, 37.459032000754291 ], [ -121.911946999527132, 37.45974200110556 ], [ -121.912155999974175, 37.46019500057546 ], [ -121.912267999450663, 37.460438000896886 ], [ -121.912467999781725, 37.460938000613687 ], [ -121.912262999533439, 37.461035000368476 ], [ -121.91142000017571, 37.46154700067428 ], [ -121.911410999539314, 37.461535000370795 ], [ -121.911291000363263, 37.461559000422589 ], [ -121.911169999899926, 37.46160900079883 ], [ -121.911058999434232, 37.461671000675452 ], [ -121.911094999586936, 37.461742000298479 ], [ -121.910767999499242, 37.461938000884537 ], [ -121.908785999904723, 37.463025000458977 ], [ -121.908581000115248, 37.463043000319466 ], [ -121.908318999823365, 37.463140001097024 ], [ -121.908087000004315, 37.463210000697906 ], [ -121.907600999395669, 37.463411000783914 ], [ -121.907467999703613, 37.463438000730775 ], [ -121.90738799990153, 37.463471000455236 ], [ -121.907310999868329, 37.463286000834607 ], [ -121.907068999521172, 37.463364000780878 ], [ -121.90710899982092, 37.46358800045185 ], [ -121.90701100047788, 37.463629000375477 ], [ -121.906834999984184, 37.463720000895449 ], [ -121.906354000224127, 37.46383100108504 ], [ -121.906001000427125, 37.46392700113671 ], [ -121.90556800024666, 37.464098000530392 ], [ -121.905166999606394, 37.464133000373216 ], [ -121.905062000349119, 37.464165000732983 ], [ -121.904616999932784, 37.464300000800272 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 606, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.90746700026547, 37.403139000869132 ], [ -121.907766999526146, 37.402839000720618 ], [ -121.909067000496933, 37.401639001075075 ], [ -121.909267000101835, 37.40193900104466 ], [ -121.909467000474393, 37.40293900076977 ], [ -121.909667000179923, 37.40393900092333 ], [ -121.910091000426661, 37.405382000463923 ], [ -121.910815000333699, 37.407850000361393 ], [ -121.91110699995015, 37.408847000863403 ], [ -121.912052000395732, 37.412067000614861 ], [ -121.911968000393514, 37.412439000726629 ], [ -121.912067999569231, 37.413039001047778 ], [ -121.912384000012651, 37.413965000438523 ], [ -121.912723000356891, 37.414954000268104 ], [ -121.912868999941963, 37.415384000774786 ], [ -121.913215999806596, 37.416397000395698 ], [ -121.911223000264883, 37.416769000624193 ], [ -121.910918999736055, 37.416828000351863 ], [ -121.910136999468364, 37.416779000842908 ], [ -121.909078000229954, 37.416706000969128 ], [ -121.906172000419431, 37.415990000454244 ], [ -121.905387999993621, 37.415618000561444 ], [ -121.905256999976515, 37.415603000615981 ], [ -121.904989999489956, 37.415571000775032 ], [ -121.902775000192804, 37.415072000519153 ], [ -121.902084999901632, 37.414722000236452 ], [ -121.901742999593679, 37.414548000356483 ], [ -121.901186999829719, 37.414266000779023 ], [ -121.900172000412212, 37.413299000455552 ], [ -121.899767000013355, 37.412839000677423 ], [ -121.899066000414109, 37.412434000847504 ], [ -121.896516999743895, 37.411335001040534 ], [ -121.894779000419717, 37.410489000432264 ], [ -121.894266999834386, 37.41023900049904 ], [ -121.890167000401235, 37.408239000400073 ], [ -121.889366999605471, 37.4077390009613 ], [ -121.887967000388898, 37.406939000892088 ], [ -121.888354000118071, 37.4065090005722 ], [ -121.888866999476051, 37.40593900063601 ], [ -121.889081999678169, 37.405730000334977 ], [ -121.889332000452001, 37.405588000301883 ], [ -121.891673000277777, 37.404262000741518 ], [ -121.891618999532653, 37.403758000581178 ], [ -121.891666999696838, 37.403339000895443 ], [ -121.893002000481445, 37.403473000877909 ], [ -121.895667000250597, 37.403739000836538 ], [ -121.898164999872321, 37.403881000933005 ], [ -121.89916699988612, 37.40403900091237 ], [ -121.900666999965495, 37.404139000234679 ], [ -121.902967000231754, 37.404339001112589 ], [ -121.904667000233403, 37.404539000763812 ], [ -121.904966999930764, 37.404539001042814 ], [ -121.905822000352472, 37.404306000546882 ], [ -121.906067000348884, 37.404239000897093 ], [ -121.906561999774908, 37.403850001022668 ], [ -121.90746700026547, 37.403139000869132 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 611, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.908975000300359, 37.446099000818428 ], [ -121.908967999966507, 37.446038000745958 ], [ -121.908793000433732, 37.445728000590073 ], [ -121.907797999787718, 37.444854000812583 ], [ -121.906989000117065, 37.444315000445833 ], [ -121.908282999715325, 37.443072000361418 ], [ -121.908981000144948, 37.442480000260353 ], [ -121.909304000391884, 37.442206000396162 ], [ -121.9092720004098, 37.442143000264288 ], [ -121.909159999481503, 37.441921000356338 ], [ -121.908923000070857, 37.441446000562287 ], [ -121.907168000405051, 37.436238000811251 ], [ -121.906868000361825, 37.434738001002692 ], [ -121.905940000519095, 37.431576000616658 ], [ -121.906368000135501, 37.431539000514242 ], [ -121.907268000031209, 37.431339000286954 ], [ -121.907828000317082, 37.431119000545159 ], [ -121.908187999795231, 37.430884000329023 ], [ -121.908483999978287, 37.430649001059315 ], [ -121.908667999749099, 37.430439001078845 ], [ -121.908968000177538, 37.429939001056056 ], [ -121.909867999879324, 37.429139000328668 ], [ -121.910168000173712, 37.427739000915714 ], [ -121.910667999803763, 37.427239000492435 ], [ -121.912668000293337, 37.42683900082389 ], [ -121.914267999695127, 37.426439000753092 ], [ -121.914767999737592, 37.426239001110751 ], [ -121.915668000002768, 37.426039001062435 ], [ -121.915967999567002, 37.425839000997797 ], [ -121.916667999396765, 37.425839000331095 ], [ -121.916867999431062, 37.426439000884024 ], [ -121.917067999628856, 37.427139000612165 ], [ -121.917967999926034, 37.43013900065138 ], [ -121.919167999402958, 37.435239000383767 ], [ -121.919967999494546, 37.43993800049595 ], [ -121.91999500007303, 37.44003300084097 ], [ -121.919167999768035, 37.440038000653153 ], [ -121.915529000517907, 37.439944000640835 ], [ -121.915467999849085, 37.439943001026762 ], [ -121.915404000009403, 37.439941000417441 ], [ -121.91526799967086, 37.439938000953298 ], [ -121.915094999573981, 37.439940000286505 ], [ -121.914590999976951, 37.439957001007222 ], [ -121.914511000176716, 37.441658000302816 ], [ -121.914482000180101, 37.442496000597721 ], [ -121.914382999414215, 37.445318001071271 ], [ -121.914368000442579, 37.445738000459194 ], [ -121.914275000465253, 37.445733000858908 ], [ -121.912568000132111, 37.445638000456867 ], [ -121.911467999481317, 37.445638000896267 ], [ -121.911311000223236, 37.445727000656397 ], [ -121.911154000415181, 37.44587100038558 ], [ -121.911003000270242, 37.445940000362086 ], [ -121.910932000039082, 37.445972000439646 ], [ -121.910668000439159, 37.44603800088818 ], [ -121.909368000103981, 37.446238000316214 ], [ -121.909005000090161, 37.446367000383837 ], [ -121.908975000300359, 37.446099000818428 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 401, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.089859000067108, 37.450422000656161 ], [ -122.090816000028838, 37.452704000303662 ], [ -122.090872999930056, 37.452839000475429 ], [ -122.087715000480401, 37.45150600043781 ], [ -122.086372999665329, 37.450939000753401 ], [ -122.084773000086187, 37.450939001119181 ], [ -122.082772999930086, 37.451039000430967 ], [ -122.082772999926505, 37.45193900023348 ], [ -122.080373000333765, 37.451839000917623 ], [ -122.077973000200515, 37.448239000485977 ], [ -122.077373000152491, 37.450039000770154 ], [ -122.073472999808914, 37.449039000896164 ], [ -122.067473000057504, 37.45033900033782 ], [ -122.063972999506476, 37.445539000304436 ], [ -122.059773000046221, 37.446039000715992 ], [ -122.060006000140874, 37.443622000646002 ], [ -122.059673000421427, 37.434039000962976 ], [ -122.059768999473008, 37.427085000741378 ], [ -122.059772000398283, 37.426839000469897 ], [ -122.059527000120866, 37.426806000926248 ], [ -122.058271999856416, 37.426639000783737 ], [ -122.0582659999112, 37.426456000521028 ], [ -122.058509999562432, 37.425629000786223 ], [ -122.058587999654137, 37.425363000292258 ], [ -122.058771999452915, 37.424739000838485 ], [ -122.05910500022388, 37.424297000781458 ], [ -122.059474999726604, 37.423255001094951 ], [ -122.060154000127497, 37.421342000984062 ], [ -122.060971999915921, 37.419039000530674 ], [ -122.062136000175727, 37.419039000606972 ], [ -122.062372000201677, 37.419039000652305 ], [ -122.0642729999918, 37.419039000421456 ], [ -122.064273000077293, 37.417140001078906 ], [ -122.064351999418975, 37.417127000707204 ], [ -122.064261999808707, 37.41398300097439 ], [ -122.064271999655134, 37.413740000975103 ], [ -122.064261999673974, 37.411977000985601 ], [ -122.064353999752385, 37.41183200095707 ], [ -122.064272000192119, 37.411740000284482 ], [ -122.063871999542442, 37.41034000029584 ], [ -122.063971999839467, 37.409840001014373 ], [ -122.064875000371345, 37.407370000648818 ], [ -122.064871999525536, 37.407140000396325 ], [ -122.066319999969835, 37.407450000583403 ], [ -122.066573999767115, 37.407518000369343 ], [ -122.066825000063488, 37.407585000675589 ], [ -122.068872999850825, 37.40814000112249 ], [ -122.069205000222468, 37.408235001086133 ], [ -122.069573000474577, 37.408340000894682 ], [ -122.07017300030067, 37.408640000744008 ], [ -122.072372999867284, 37.409440000700208 ], [ -122.073972999404091, 37.410140000679256 ], [ -122.075872999899218, 37.410940001086161 ], [ -122.076373000376549, 37.411040000475353 ], [ -122.077873000200398, 37.411740000299446 ], [ -122.078472999541574, 37.4119400003447 ], [ -122.078673000043082, 37.412040000959237 ], [ -122.080673000077738, 37.412940000944957 ], [ -122.080885000373684, 37.413031001039379 ], [ -122.082072999479024, 37.413539000324434 ], [ -122.082873000140509, 37.414039001011822 ], [ -122.083872999779942, 37.414639000758086 ], [ -122.085721999772616, 37.415914000972002 ], [ -122.086772999785325, 37.416639000238483 ], [ -122.086873000354814, 37.41693900080611 ], [ -122.087172999622155, 37.417039000538914 ], [ -122.087262000341056, 37.417102000723148 ], [ -122.090573000384026, 37.41943900084808 ], [ -122.091073000137484, 37.41993900026818 ], [ -122.092273000333876, 37.420739000620379 ], [ -122.09257299956316, 37.420939000381033 ], [ -122.093172999401162, 37.421339000338811 ], [ -122.094172999424217, 37.422239001072775 ], [ -122.097672999834018, 37.424739000631092 ], [ -122.099072999771693, 37.426039000877616 ], [ -122.101310000186075, 37.428110001117851 ], [ -122.101420999535492, 37.428208000437998 ], [ -122.101873999565456, 37.428639000626063 ], [ -122.102473999467193, 37.429239000509178 ], [ -122.10327400030674, 37.42993900063545 ], [ -122.105318000137729, 37.431886000681324 ], [ -122.105374000064131, 37.431939001087898 ], [ -122.105574000129195, 37.432039000497831 ], [ -122.110573999780769, 37.436839000524579 ], [ -122.113673999820634, 37.439739000519197 ], [ -122.118573999455108, 37.444539000261578 ], [ -122.119174000081273, 37.445139000799571 ], [ -122.121073999793879, 37.446839000497903 ], [ -122.122974000134008, 37.448738000504093 ], [ -122.124273999479726, 37.449938000741504 ], [ -122.125173999608549, 37.450638000353294 ], [ -122.127696999572038, 37.452469000493387 ], [ -122.127629999401094, 37.452765001124902 ], [ -122.127545999726252, 37.45291600099398 ], [ -122.127446999456808, 37.453094000736556 ], [ -122.127142000188215, 37.453452000254984 ], [ -122.126874000075105, 37.453738000580081 ], [ -122.126439999970387, 37.453826000410466 ], [ -122.126173999969922, 37.453838001061641 ], [ -122.125525000490882, 37.453498000506052 ], [ -122.125374000256443, 37.453338000935702 ], [ -122.125189000282347, 37.453147000962765 ], [ -122.124773999449317, 37.452938000254079 ], [ -122.124474000265934, 37.452838000891191 ], [ -122.123831000143852, 37.452750000526748 ], [ -122.122975999909286, 37.453139000449426 ], [ -122.122273999824728, 37.453838001124389 ], [ -122.122137000263336, 37.453895000426051 ], [ -122.121974000474182, 37.454138001010605 ], [ -122.121846999745443, 37.454276000693554 ], [ -122.121587999603094, 37.454749000263106 ], [ -122.121574000461436, 37.454838000537556 ], [ -122.121512000464378, 37.455016000692325 ], [ -122.121725000097896, 37.455665000680291 ], [ -122.121974000004172, 37.45593800102354 ], [ -122.122014999945392, 37.456046001123092 ], [ -122.122137000355963, 37.456534000931683 ], [ -122.122174000229293, 37.456838000373587 ], [ -122.1222749998784, 37.457328000901668 ], [ -122.123281999719822, 37.460807000956478 ], [ -122.123160000494494, 37.460889000543368 ], [ -122.11591300000579, 37.465774000646306 ], [ -122.11537399965087, 37.466138000522854 ], [ -122.115311999673935, 37.466179000845372 ], [ -122.114953999595386, 37.465533000278327 ], [ -122.114801000480639, 37.465136000250929 ], [ -122.11284800009409, 37.46352700062679 ], [ -122.112084999987644, 37.463672000494277 ], [ -122.110757999399439, 37.463092000924817 ], [ -122.109247000077744, 37.46342700028427 ], [ -122.109174000225494, 37.463338001112163 ], [ -122.10627400032557, 37.46123800077671 ], [ -122.10508799970556, 37.461743000610426 ], [ -122.10157400033485, 37.463238000280434 ], [ -122.101074000260837, 37.459238000360351 ], [ -122.101571999693718, 37.458293000708288 ], [ -122.103870000183676, 37.456349000490519 ], [ -122.10447399960438, 37.455838000345338 ], [ -122.106273999937983, 37.456538000348523 ], [ -122.105520999820143, 37.458609000241822 ], [ -122.105474000390529, 37.458738000870397 ], [ -122.108174000092845, 37.45963800091014 ], [ -122.111973999689809, 37.457138000383893 ], [ -122.112073999675985, 37.455838000309285 ], [ -122.11047400034019, 37.455638000831996 ], [ -122.109773999479842, 37.456538000615566 ], [ -122.110474000162668, 37.457638000994592 ], [ -122.109374000252643, 37.4582380005278 ], [ -122.108074000503095, 37.458438000444453 ], [ -122.107874000452782, 37.457838000746811 ], [ -122.106373999654366, 37.458938000876024 ], [ -122.105673999921237, 37.458538000273798 ], [ -122.108573999393485, 37.455838000747498 ], [ -122.108873999477282, 37.454338000927663 ], [ -122.107574000023249, 37.4519380010898 ], [ -122.105774000096886, 37.451239000652677 ], [ -122.108173999487065, 37.454638000377756 ], [ -122.104173999418848, 37.45513800112797 ], [ -122.103574000368411, 37.45423800050397 ], [ -122.103174000413446, 37.454438000634831 ], [ -122.103773999528187, 37.45513800030232 ], [ -122.102174000371903, 37.45533800080004 ], [ -122.101273999667356, 37.456638000506146 ], [ -122.096373999880029, 37.453939000796709 ], [ -122.092073000242962, 37.452839000837386 ], [ -122.091335999462316, 37.451622000864106 ], [ -122.090813999941048, 37.450762000980625 ], [ -122.090564000395688, 37.450349000335855 ], [ -122.090073000183864, 37.449539000675912 ], [ -122.090273000481133, 37.448039000374649 ], [ -122.090273000027707, 37.447871000530107 ], [ -122.090273000443389, 37.446939000986859 ], [ -122.089873000287312, 37.447439000509242 ], [ -122.089673000430736, 37.446839000503523 ], [ -122.08985600022595, 37.446016000245905 ], [ -122.089872999680892, 37.445939000365698 ], [ -122.089826999637964, 37.445868000488908 ], [ -122.089288999549609, 37.445036001116279 ], [ -122.088772999436102, 37.444239000455475 ], [ -122.089272999634218, 37.445039000981588 ], [ -122.089210000018497, 37.446560001132305 ], [ -122.089172999757011, 37.447439000359672 ], [ -122.089372999558236, 37.448739000680696 ], [ -122.089573000381904, 37.449739000567114 ], [ -122.089662000346038, 37.449951000965754 ], [ -122.089859000067108, 37.450422000656161 ] ] ], [ [ [ -122.099874000147807, 37.457538000530299 ], [ -122.098786999984128, 37.457786000986857 ], [ -122.096373999444936, 37.458338000718122 ], [ -122.093649999587157, 37.45452700061022 ], [ -122.0933730002982, 37.454139000508889 ], [ -122.098073999851479, 37.455038000385002 ], [ -122.099874000147807, 37.457538000530299 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 422, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.012270999604894, 37.397740000940075 ], [ -122.012470999553017, 37.397140000901807 ], [ -122.013070999466706, 37.395540000927376 ], [ -122.013471000150432, 37.395640000481173 ], [ -122.015271000177577, 37.396040000696054 ], [ -122.015670999710878, 37.396140000932739 ], [ -122.0179710003476, 37.396640000715884 ], [ -122.02287100030172, 37.397740000828499 ], [ -122.024770999474271, 37.398240000921973 ], [ -122.027370999564596, 37.398740000369607 ], [ -122.027571000301194, 37.398740000525606 ], [ -122.028171000174055, 37.39894000080951 ], [ -122.028870999902807, 37.399040001018008 ], [ -122.030370999406742, 37.399440000746402 ], [ -122.030597999920786, 37.399484001089974 ], [ -122.033471999988663, 37.400040000968247 ], [ -122.035671999581112, 37.400540000795466 ], [ -122.035871999556377, 37.400640000510649 ], [ -122.03507199970079, 37.400940000925843 ], [ -122.032899999703147, 37.401638001121697 ], [ -122.032272000388119, 37.401840000321393 ], [ -122.029370999704355, 37.4026400005678 ], [ -122.026970999824385, 37.403140000308561 ], [ -122.023770999417366, 37.403640000848959 ], [ -122.020571000139725, 37.404140000998552 ], [ -122.016519999981497, 37.405055000665797 ], [ -122.011271000378002, 37.406240000381125 ], [ -122.010171000126164, 37.406440000734442 ], [ -122.010071000167443, 37.404440000691459 ], [ -122.010482999937906, 37.403204001007452 ], [ -122.010970999995052, 37.401740000793971 ], [ -122.012070999815691, 37.398540000384493 ], [ -122.012271000231991, 37.397940000789838 ], [ -122.012270999604894, 37.397740000940075 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 420, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.996185000456876, 37.390986000442581 ], [ -121.996769999739826, 37.391140000376069 ], [ -121.998370000158531, 37.391740001040532 ], [ -121.998870000292186, 37.391840000959007 ], [ -122.00018500025179, 37.392166000576267 ], [ -122.003061000190385, 37.392953000801121 ], [ -122.008974999741852, 37.394566000320815 ], [ -122.01035799968038, 37.394945000237669 ], [ -122.01034899948101, 37.39497900033269 ], [ -122.009981999389439, 37.396092001018609 ], [ -122.009865000472189, 37.396448000625576 ], [ -122.008376999965606, 37.396184000460529 ], [ -122.008170999674448, 37.396940000509069 ], [ -122.009171000155789, 37.397040000544322 ], [ -122.008370999413955, 37.399540000369136 ], [ -122.007470999478528, 37.399240000377119 ], [ -122.004270999563303, 37.398940000342208 ], [ -121.99927099942542, 37.399040000699017 ], [ -121.998270999426254, 37.399140000268403 ], [ -121.997270999556008, 37.3991400005945 ], [ -121.997232999695242, 37.39914200107674 ], [ -121.99640499992644, 37.39919000093326 ], [ -121.996169999590762, 37.399240000938477 ], [ -121.996169999997477, 37.398817000413267 ], [ -121.996170000450476, 37.39594000043293 ], [ -121.996169999787199, 37.395040001042048 ], [ -121.996170000408853, 37.393540000574276 ], [ -121.996169999624712, 37.392740000704954 ], [ -121.996170000339703, 37.391440000371837 ], [ -121.996185000456876, 37.390986000442581 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 413, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.956010000301532, 37.389985000962994 ], [ -121.956468999500956, 37.39064000053434 ], [ -121.956869000509585, 37.391240000611361 ], [ -121.959168999421664, 37.394640000507131 ], [ -121.960968999986221, 37.397440000581518 ], [ -121.960668999556404, 37.397540000624545 ], [ -121.960208000226615, 37.397734000276984 ], [ -121.960014000295871, 37.39790100105408 ], [ -121.959804999985607, 37.398105000352594 ], [ -121.959624999416121, 37.398234000436055 ], [ -121.954747999712779, 37.400138000639103 ], [ -121.953900999652589, 37.400443001092086 ], [ -121.953809000043407, 37.400541000270195 ], [ -121.953670000277711, 37.400675000353033 ], [ -121.952146000039292, 37.401335001048174 ], [ -121.951930999672939, 37.401494001045059 ], [ -121.951608000423292, 37.401824000981122 ], [ -121.951279000376772, 37.401543000235449 ], [ -121.95116299951151, 37.401443000281361 ], [ -121.951059000160896, 37.401351000645249 ], [ -121.949752000176929, 37.400584000998464 ], [ -121.947863999472489, 37.39967800031706 ], [ -121.947351000290709, 37.39999400066651 ], [ -121.946836999871664, 37.400115000793754 ], [ -121.946547000246255, 37.400180000671959 ], [ -121.946038999430741, 37.400292000396362 ], [ -121.945198000436775, 37.400477000655663 ], [ -121.944969000267832, 37.400340000410665 ], [ -121.942168999494598, 37.400640001120621 ], [ -121.942147000462029, 37.400542000654227 ], [ -121.941969000217298, 37.39974000060937 ], [ -121.94275899946993, 37.398950000602987 ], [ -121.94276899952753, 37.398940000408587 ], [ -121.942702999489427, 37.3987190006671 ], [ -121.942168999945039, 37.396940000739477 ], [ -121.941368999648802, 37.396540000539112 ], [ -121.941106999841892, 37.395845000260024 ], [ -121.941150000123656, 37.395833000922877 ], [ -121.942051000523307, 37.39541300024613 ], [ -121.94260000028487, 37.395174001008513 ], [ -121.947468999720158, 37.393040000937567 ], [ -121.949469000514654, 37.392240001129039 ], [ -121.950369000106107, 37.391840000245345 ], [ -121.952069000020117, 37.390540000462153 ], [ -121.955169000106011, 37.389140000535896 ], [ -121.955385999580926, 37.389032000746013 ], [ -121.955684999785177, 37.389514000925672 ], [ -121.955769000428418, 37.389640000749253 ], [ -121.956010000301532, 37.389985000962994 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 543, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.939268000085733, 37.34594100023812 ], [ -121.939768000164648, 37.346841000996996 ], [ -121.940267999538932, 37.347841000628691 ], [ -121.941968000017852, 37.347341000372417 ], [ -121.942467999568066, 37.348241000589191 ], [ -121.943367999497099, 37.349041000266595 ], [ -121.943968000214795, 37.35004100054892 ], [ -121.94236800039873, 37.350641000359957 ], [ -121.940767999488216, 37.351141000725761 ], [ -121.939767999526367, 37.35154100031248 ], [ -121.938367999589971, 37.351941000951719 ], [ -121.938197000476009, 37.351998000489267 ], [ -121.938852000200342, 37.352498001120694 ], [ -121.93920199990913, 37.352766000790886 ], [ -121.940687999777708, 37.353901001089085 ], [ -121.940922999902043, 37.354049000389146 ], [ -121.941035999401365, 37.354101000481599 ], [ -121.941367999531678, 37.354241000744231 ], [ -121.941543000124341, 37.354334000547773 ], [ -121.942125000314704, 37.354591000650899 ], [ -121.94263400028872, 37.354827001011714 ], [ -121.943151000024244, 37.354979001043731 ], [ -121.943368000221554, 37.355141000261973 ], [ -121.942768000136937, 37.355641001052895 ], [ -121.942668000319642, 37.355841000473738 ], [ -121.941968000165943, 37.355541000615879 ], [ -121.941267999960999, 37.355241000240156 ], [ -121.937768000285914, 37.353741000528899 ], [ -121.931867999983282, 37.350841000328906 ], [ -121.923767000215605, 37.346941000237472 ], [ -121.921966999674069, 37.346041000282234 ], [ -121.923358999487746, 37.34513600062148 ], [ -121.923966999706693, 37.34474100090452 ], [ -121.924566999981593, 37.344241001130285 ], [ -121.925766999676654, 37.342741000675183 ], [ -121.925967000176826, 37.342441001101705 ], [ -121.926300000031759, 37.342157000452936 ], [ -121.927480000103003, 37.341301000460824 ], [ -121.928266999993127, 37.340741000881849 ], [ -121.928772000467163, 37.340320000390079 ], [ -121.928867000440007, 37.340241001101546 ], [ -121.92970700012097, 37.339664000734651 ], [ -121.93046699979196, 37.339141000933871 ], [ -121.930818999533074, 37.339405000933873 ], [ -121.931267000187546, 37.339741000827303 ], [ -121.931831999667125, 37.340220000937769 ], [ -121.93221700002421, 37.340545000649101 ], [ -121.93256700041357, 37.340841000558171 ], [ -121.932866999467606, 37.3411410010495 ], [ -121.933767999730122, 37.341841000321104 ], [ -121.934568000047747, 37.342341000324325 ], [ -121.935067999934489, 37.342941000597015 ], [ -121.935667999828368, 37.343441000620146 ], [ -121.936467999843728, 37.344041000624344 ], [ -121.936968000169301, 37.343841000472615 ], [ -121.937968000132159, 37.343541000256216 ], [ -121.938267999722143, 37.34424100051185 ], [ -121.938568000215568, 37.344941000871884 ], [ -121.93879599944357, 37.345267000400668 ], [ -121.939268000085733, 37.34594100023812 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 438, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.977968999538703, 37.353441000710951 ], [ -121.977968999406968, 37.353805000433859 ], [ -121.977969000439359, 37.354160001059 ], [ -121.977969000095044, 37.35554100097395 ], [ -121.977969000078701, 37.356941001044362 ], [ -121.977668999774608, 37.358141000700279 ], [ -121.976168999413105, 37.360441000498618 ], [ -121.975769000163126, 37.362941000316027 ], [ -121.975868999582502, 37.363841000902191 ], [ -121.976068999535102, 37.364841001069749 ], [ -121.97646899980289, 37.367041000278171 ], [ -121.976669000410197, 37.367541001085009 ], [ -121.977269000031683, 37.36964100104548 ], [ -121.977268999457479, 37.370041000531074 ], [ -121.97476899967144, 37.369541000721 ], [ -121.968869000225666, 37.36714100080431 ], [ -121.96636900045371, 37.366141000434233 ], [ -121.96746899969412, 37.363341000593898 ], [ -121.968568999477895, 37.361441001076592 ], [ -121.968799999996421, 37.361120000707828 ], [ -121.968774999964182, 37.360668000434949 ], [ -121.968668999684027, 37.358741000984537 ], [ -121.968669000080553, 37.355541000686586 ], [ -121.96866899988774, 37.353341000855579 ], [ -121.968668999782224, 37.352041000459536 ], [ -121.97036899974465, 37.352041000730999 ], [ -121.97086899978585, 37.352041000348642 ], [ -121.972068999949911, 37.352041000900741 ], [ -121.973569000336113, 37.352041000691671 ], [ -121.973839999666609, 37.352048000306112 ], [ -121.973929000309866, 37.352047000336597 ], [ -121.974468999528014, 37.352041000617604 ], [ -121.977969000281746, 37.35204100074413 ], [ -121.97796899950221, 37.352733000372922 ], [ -121.977968999764698, 37.353300000591112 ], [ -121.977968999538703, 37.353441000710951 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 442, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.976168999413105, 37.360441000498618 ], [ -121.977668999774608, 37.358141000700279 ], [ -121.977969000078701, 37.356941001044362 ], [ -121.977969000095044, 37.35554100097395 ], [ -121.977969000439359, 37.354160001059 ], [ -121.977968999406968, 37.353805000433859 ], [ -121.977968999538703, 37.353441000710951 ], [ -121.977968999764698, 37.353300000591112 ], [ -121.97796899950221, 37.352733000372922 ], [ -121.977969000281746, 37.35204100074413 ], [ -121.980669000177627, 37.352041000306315 ], [ -121.983969000225457, 37.35204100097797 ], [ -121.984187000222192, 37.352041000342005 ], [ -121.984168999896482, 37.353941000874336 ], [ -121.984270000101844, 37.356841000824758 ], [ -121.984670000060618, 37.358041000897749 ], [ -121.986570000277339, 37.36184100056434 ], [ -121.986664999792112, 37.362357001097678 ], [ -121.986770000328249, 37.362541000956107 ], [ -121.986702999556059, 37.362564000857446 ], [ -121.987469999893221, 37.366741000378113 ], [ -121.986870000518394, 37.366741000634377 ], [ -121.98416999941729, 37.36634100064358 ], [ -121.982370000393402, 37.365041000674189 ], [ -121.98187000010968, 37.364241000507874 ], [ -121.98146999950346, 37.363541000662657 ], [ -121.980868999600162, 37.363241000965971 ], [ -121.980269000016548, 37.363041000779845 ], [ -121.978169000036132, 37.363041000336295 ], [ -121.977169000225686, 37.36294100101469 ], [ -121.975769000163126, 37.362941000316027 ], [ -121.976168999413105, 37.360441000498618 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 441, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.989769999649553, 37.344841000926102 ], [ -121.990669999879856, 37.344841000507756 ], [ -121.994370000371887, 37.34474100108487 ], [ -121.994869999826463, 37.344941000270552 ], [ -121.995970000146599, 37.344941000272875 ], [ -121.995970000327887, 37.345541000602253 ], [ -121.995969999840398, 37.346241000605396 ], [ -121.995970000332548, 37.346941000536368 ], [ -121.995970000225938, 37.347341000328733 ], [ -121.99596999972826, 37.348341001044723 ], [ -121.99606699957468, 37.349343000268362 ], [ -121.99617599988305, 37.350470000643611 ], [ -121.996170000379678, 37.350641000323009 ], [ -121.996269999422637, 37.351841000252286 ], [ -121.996269999866982, 37.352041000450576 ], [ -121.995569999477837, 37.352041000953513 ], [ -121.995269999980152, 37.352041000292523 ], [ -121.993170000250657, 37.352041000466478 ], [ -121.988969999616771, 37.352041000689965 ], [ -121.986969999982435, 37.352041000949356 ], [ -121.984483000254102, 37.352041001092999 ], [ -121.984187000222192, 37.352041000342005 ], [ -121.983969000225457, 37.35204100097797 ], [ -121.980669000177627, 37.352041000306315 ], [ -121.977969000281746, 37.35204100074413 ], [ -121.977969000154701, 37.350541000929859 ], [ -121.977868999854778, 37.34974100053514 ], [ -121.977769000249253, 37.348741000879386 ], [ -121.977869000236581, 37.348041001056266 ], [ -121.977769000206948, 37.347141000706095 ], [ -121.977868999722361, 37.346341001095453 ], [ -121.982069000466709, 37.34624100056746 ], [ -121.983969000406304, 37.346141000682429 ], [ -121.985168999683466, 37.345441000802161 ], [ -121.987368999598885, 37.344941000550619 ], [ -121.988670000217425, 37.34484100095618 ], [ -121.988970000256415, 37.34484100106301 ], [ -121.989769999649553, 37.344841000926102 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 440, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.97926899964564, 37.337741000730709 ], [ -121.97959300013332, 37.337806000977679 ], [ -121.979768999688503, 37.337841000624337 ], [ -121.980025999922105, 37.337824000800772 ], [ -121.980240999623703, 37.337810000422458 ], [ -121.980666000143927, 37.33778100088535 ], [ -121.981269000186387, 37.337741000369476 ], [ -121.981569000003987, 37.337741001046318 ], [ -121.98286899972166, 37.337741000597902 ], [ -121.984069000361742, 37.337741000543275 ], [ -121.985568999918073, 37.337741000467403 ], [ -121.986569000102321, 37.337741000367224 ], [ -121.987768999975657, 37.337741000619999 ], [ -121.989989999559612, 37.337741000328947 ], [ -121.992970000230841, 37.337741000530684 ], [ -121.995969999458936, 37.337741000734098 ], [ -121.995970000157541, 37.338241001007752 ], [ -121.99587000019865, 37.339441000525049 ], [ -121.995969999782943, 37.341141001026571 ], [ -121.995969999631328, 37.342241000765497 ], [ -121.995969999754138, 37.343441000993948 ], [ -121.995969999584815, 37.343941000792107 ], [ -121.995970000146599, 37.344941000272875 ], [ -121.994869999826463, 37.344941000270552 ], [ -121.994370000371887, 37.34474100108487 ], [ -121.990669999879856, 37.344841000507756 ], [ -121.989769999649553, 37.344841000926102 ], [ -121.988970000256415, 37.34484100106301 ], [ -121.988670000217425, 37.34484100095618 ], [ -121.987368999598885, 37.344941000550619 ], [ -121.985168999683466, 37.345441000802161 ], [ -121.983969000406304, 37.346141000682429 ], [ -121.982069000466709, 37.34624100056746 ], [ -121.977868999722361, 37.346341001095453 ], [ -121.977869000053019, 37.341641000659983 ], [ -121.977868999986129, 37.340041000412022 ], [ -121.977068999542055, 37.338241000584993 ], [ -121.978369000422745, 37.33784100028015 ], [ -121.978906999657013, 37.337781001054367 ], [ -121.97926899964564, 37.337741000730709 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 545, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.938367999589971, 37.351941000951719 ], [ -121.939767999526367, 37.35154100031248 ], [ -121.940767999488216, 37.351141000725761 ], [ -121.94236800039873, 37.350641000359957 ], [ -121.943968000214795, 37.35004100054892 ], [ -121.943367999497099, 37.349041000266595 ], [ -121.942467999568066, 37.348241000589191 ], [ -121.941968000017852, 37.347341000372417 ], [ -121.940267999538932, 37.347841000628691 ], [ -121.939768000164648, 37.346841000996996 ], [ -121.941367999890247, 37.346241000451165 ], [ -121.942568000393265, 37.345941000863796 ], [ -121.943668000092686, 37.345541000796231 ], [ -121.944867999711093, 37.345041000670548 ], [ -121.946068000272732, 37.344641001100271 ], [ -121.947267999467968, 37.344241000949758 ], [ -121.947767999964611, 37.345141001130159 ], [ -121.9483679995176, 37.346041000378158 ], [ -121.948867999781257, 37.346941000308334 ], [ -121.949368000096456, 37.347941000996343 ], [ -121.949968000086429, 37.34894100030769 ], [ -121.950868000304382, 37.349741001066022 ], [ -121.949668000417091, 37.350241001076334 ], [ -121.950168000013718, 37.351141000571658 ], [ -121.95136799977854, 37.350741000331816 ], [ -121.95186799973996, 37.351541000647984 ], [ -121.953068000464327, 37.351141000299386 ], [ -121.954168000238994, 37.350641001056836 ], [ -121.954768000033653, 37.351741000658116 ], [ -121.954967999687725, 37.35214100109603 ], [ -121.955468000014747, 37.353141001116711 ], [ -121.954151000251471, 37.353331000711805 ], [ -121.953616999889675, 37.35339200062127 ], [ -121.951768000494965, 37.353941000857773 ], [ -121.950567999995755, 37.354341001022199 ], [ -121.94926800035536, 37.354741001052517 ], [ -121.948168000519857, 37.355141000559641 ], [ -121.946867999934668, 37.355641001088451 ], [ -121.945268000335247, 37.356141001065005 ], [ -121.945168000375844, 37.355141001012896 ], [ -121.943368000221554, 37.355141000261973 ], [ -121.943151000024244, 37.354979001043731 ], [ -121.94263400028872, 37.354827001011714 ], [ -121.942125000314704, 37.354591000650899 ], [ -121.941543000124341, 37.354334000547773 ], [ -121.941367999531678, 37.354241000744231 ], [ -121.941035999401365, 37.354101000481599 ], [ -121.940922999902043, 37.354049000389146 ], [ -121.940687999777708, 37.353901001089085 ], [ -121.93920199990913, 37.352766000790886 ], [ -121.938852000200342, 37.352498001120694 ], [ -121.938197000476009, 37.351998000489267 ], [ -121.938367999589971, 37.351941000951719 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 544, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.942568000393265, 37.345941000863796 ], [ -121.941367999890247, 37.346241000451165 ], [ -121.939768000164648, 37.346841000996996 ], [ -121.939268000085733, 37.34594100023812 ], [ -121.93879599944357, 37.345267000400668 ], [ -121.938568000215568, 37.344941000871884 ], [ -121.938267999722143, 37.34424100051185 ], [ -121.937968000132159, 37.343541000256216 ], [ -121.936968000169301, 37.343841000472615 ], [ -121.936467999843728, 37.344041000624344 ], [ -121.935667999828368, 37.343441000620146 ], [ -121.935067999934489, 37.342941000597015 ], [ -121.934568000047747, 37.342341000324325 ], [ -121.933767999730122, 37.341841000321104 ], [ -121.932866999467606, 37.3411410010495 ], [ -121.93256700041357, 37.340841000558171 ], [ -121.93221700002421, 37.340545000649101 ], [ -121.931831999667125, 37.340220000937769 ], [ -121.931267000187546, 37.339741000827303 ], [ -121.931566999879436, 37.339341000479287 ], [ -121.932259000363246, 37.338264000293989 ], [ -121.932466999640354, 37.337941000424259 ], [ -121.932666999583873, 37.337841000328311 ], [ -121.933867000355917, 37.337741001064551 ], [ -121.934183000048591, 37.33776500048468 ], [ -121.934649000308724, 37.337801000357032 ], [ -121.93492699999419, 37.337546000541622 ], [ -121.935123999439512, 37.337541000370301 ], [ -121.935572000431534, 37.337531000930525 ], [ -121.935591999641304, 37.337841001000513 ], [ -121.938067999668121, 37.337841000770482 ], [ -121.939668000006748, 37.337841000518736 ], [ -121.940568000199207, 37.33774100108549 ], [ -121.94136800049796, 37.337641000397099 ], [ -121.943667999480596, 37.337641000483167 ], [ -121.943668000119203, 37.33784100026903 ], [ -121.943768000441324, 37.338141000941818 ], [ -121.950267999560154, 37.33814100025495 ], [ -121.950267999662614, 37.339341000319465 ], [ -121.951033999586897, 37.341027000805504 ], [ -121.951267999994172, 37.341541000346588 ], [ -121.951967999630341, 37.342641001118899 ], [ -121.952368000151495, 37.343541000422427 ], [ -121.95286799973303, 37.344441001128125 ], [ -121.953368000261349, 37.345441000871624 ], [ -121.951067999862389, 37.346141000517591 ], [ -121.951667999700291, 37.347141000562978 ], [ -121.95216800019189, 37.348041001101237 ], [ -121.954368000524198, 37.347241000433819 ], [ -121.954868000141758, 37.348141000560155 ], [ -121.955568000157783, 37.348541000281571 ], [ -121.95586799999198, 37.34904100104864 ], [ -121.956267999753749, 37.349741000646702 ], [ -121.956667999802832, 37.350341000419654 ], [ -121.956968000294481, 37.350841001050732 ], [ -121.957668999450163, 37.352141001086558 ], [ -121.956267999869723, 37.352141000808061 ], [ -121.954967999687725, 37.35214100109603 ], [ -121.954768000033653, 37.351741000658116 ], [ -121.954168000238994, 37.350641001056836 ], [ -121.953068000464327, 37.351141000299386 ], [ -121.95186799973996, 37.351541000647984 ], [ -121.95136799977854, 37.350741000331816 ], [ -121.950168000013718, 37.351141000571658 ], [ -121.949668000417091, 37.350241001076334 ], [ -121.950868000304382, 37.349741001066022 ], [ -121.949968000086429, 37.34894100030769 ], [ -121.949368000096456, 37.347941000996343 ], [ -121.948867999781257, 37.346941000308334 ], [ -121.9483679995176, 37.346041000378158 ], [ -121.947767999964611, 37.345141001130159 ], [ -121.947267999467968, 37.344241000949758 ], [ -121.946068000272732, 37.344641001100271 ], [ -121.944867999711093, 37.345041000670548 ], [ -121.943668000092686, 37.345541000796231 ], [ -121.942568000393265, 37.345941000863796 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 465, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.95026799999826, 37.33464100090454 ], [ -121.950167999407228, 37.333941000891315 ], [ -121.950267999566464, 37.333641000845482 ], [ -121.950168000255331, 37.33324100035243 ], [ -121.950168000021378, 37.332841000259606 ], [ -121.950167999806212, 37.332541000623145 ], [ -121.950268000153017, 37.331241000951366 ], [ -121.950168000003586, 37.32984100054653 ], [ -121.950167000127038, 37.329737000860796 ], [ -121.950187000121772, 37.329512000703069 ], [ -121.950163999701246, 37.328541000439515 ], [ -121.950167000018141, 37.328376000244567 ], [ -121.95016799973601, 37.327941001075345 ], [ -121.950168000362709, 37.327241000748089 ], [ -121.950188000064145, 37.326929001029455 ], [ -121.950164000223978, 37.325541000422497 ], [ -121.950168000330777, 37.324841001057749 ], [ -121.950167999673369, 37.32314200090245 ], [ -121.95236799955731, 37.323242000429914 ], [ -121.953625999617174, 37.323208000253672 ], [ -121.95450099973192, 37.323177000715646 ], [ -121.955568000451692, 37.323142000403841 ], [ -121.957668000356662, 37.323142000376329 ], [ -121.958667999902232, 37.323142000603582 ], [ -121.960067999410484, 37.323142000780393 ], [ -121.962368000101748, 37.323142000326882 ], [ -121.963468000045538, 37.323142000481681 ], [ -121.964068000439582, 37.323042000665978 ], [ -121.964268000062518, 37.323142001052368 ], [ -121.965568000221367, 37.323142000805923 ], [ -121.96636799997907, 37.323042000818631 ], [ -121.966567999760557, 37.323042001068046 ], [ -121.968569000030641, 37.323042000912295 ], [ -121.970168999832495, 37.323042000634238 ], [ -121.968769000503201, 37.324642000938212 ], [ -121.967569000227911, 37.326242000506561 ], [ -121.966267999517498, 37.327641000564803 ], [ -121.9644679995302, 37.329841000906157 ], [ -121.96316800018387, 37.331341000396641 ], [ -121.962267999801895, 37.332441000978278 ], [ -121.962231999702595, 37.332483001001286 ], [ -121.96016800038727, 37.334941000982077 ], [ -121.959267999921352, 37.336141000566329 ], [ -121.958768000054519, 37.336641000995108 ], [ -121.957167999908648, 37.338641000371041 ], [ -121.955967999639611, 37.340041000952105 ], [ -121.953868000333628, 37.340641000742664 ], [ -121.953447999581641, 37.340781000766881 ], [ -121.952968000367576, 37.340941001026678 ], [ -121.951267999994172, 37.341541000346588 ], [ -121.951033999586897, 37.341027000805504 ], [ -121.950267999662614, 37.339341000319465 ], [ -121.950267999560154, 37.33814100025495 ], [ -121.950167999696959, 37.337341001118737 ], [ -121.950267999747382, 37.336441000589026 ], [ -121.95026799999826, 37.33464100090454 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 464, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.967914000252989, 37.330941000755885 ], [ -121.967880999900956, 37.331594000282891 ], [ -121.967844999915499, 37.332311000283163 ], [ -121.967809000068755, 37.333029000687041 ], [ -121.967809, 37.33370800077715 ], [ -121.967968999947104, 37.334841001128119 ], [ -121.968768999755795, 37.337741000504543 ], [ -121.968797999781387, 37.337798000649244 ], [ -121.970069000189142, 37.340341000758897 ], [ -121.96765199971685, 37.341121000336315 ], [ -121.966969000441054, 37.341341000522291 ], [ -121.966517999910124, 37.341491000397639 ], [ -121.965843999712149, 37.341716000340533 ], [ -121.964958000380022, 37.342011001021397 ], [ -121.964568999651817, 37.342141000369821 ], [ -121.963569000061085, 37.342441001065012 ], [ -121.962369000451389, 37.342741000314497 ], [ -121.961369000089476, 37.343041000290789 ], [ -121.960200000486083, 37.343316000920993 ], [ -121.959667999470966, 37.343441000771719 ], [ -121.957268000341372, 37.343641000564695 ], [ -121.954968000081337, 37.34374100094054 ], [ -121.954568000509184, 37.343841001065975 ], [ -121.953968000427508, 37.344041001111357 ], [ -121.953468000251235, 37.34424100041052 ], [ -121.95286799973303, 37.344441001128125 ], [ -121.952368000151495, 37.343541000422427 ], [ -121.951967999630341, 37.342641001118899 ], [ -121.951267999994172, 37.341541000346588 ], [ -121.952968000367576, 37.340941001026678 ], [ -121.953447999581641, 37.340781000766881 ], [ -121.953868000333628, 37.340641000742664 ], [ -121.955967999639611, 37.340041000952105 ], [ -121.957167999908648, 37.338641000371041 ], [ -121.958768000054519, 37.336641000995108 ], [ -121.959267999921352, 37.336141000566329 ], [ -121.96016800038727, 37.334941000982077 ], [ -121.962231999702595, 37.332483001001286 ], [ -121.962267999801895, 37.332441000978278 ], [ -121.96316800018387, 37.331341000396641 ], [ -121.9644679995302, 37.329841000906157 ], [ -121.966267999517498, 37.327641000564803 ], [ -121.96766900039583, 37.329041001039677 ], [ -121.967968999724462, 37.329841000896117 ], [ -121.967944000417887, 37.33034100070148 ], [ -121.967914000252989, 37.330941000755885 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 463, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.972768999984552, 37.339541000597272 ], [ -121.971280000255376, 37.33998200063521 ], [ -121.970508999457749, 37.340211000654691 ], [ -121.970069000189142, 37.340341000758897 ], [ -121.968797999781387, 37.337798000649244 ], [ -121.968768999755795, 37.337741000504543 ], [ -121.967968999947104, 37.334841001128119 ], [ -121.967809, 37.33370800077715 ], [ -121.967809000068755, 37.333029000687041 ], [ -121.967844999915499, 37.332311000283163 ], [ -121.967880999900956, 37.331594000282891 ], [ -121.967914000252989, 37.330941000755885 ], [ -121.967944000417887, 37.33034100070148 ], [ -121.967968999724462, 37.329841000896117 ], [ -121.96766900039583, 37.329041001039677 ], [ -121.966267999517498, 37.327641000564803 ], [ -121.967569000227911, 37.326242000506561 ], [ -121.968769000503201, 37.324642000938212 ], [ -121.970168999832495, 37.323042000634238 ], [ -121.97136900010085, 37.323042000872746 ], [ -121.971868999785073, 37.323042000454848 ], [ -121.973119000194288, 37.323042000989673 ], [ -121.973269000126862, 37.32304200030935 ], [ -121.973768999877194, 37.323042000873791 ], [ -121.974969000513369, 37.32304200064619 ], [ -121.975569000306962, 37.323042000919848 ], [ -121.975268999844985, 37.324742000484576 ], [ -121.974968999735552, 37.326742001097564 ], [ -121.974769000209605, 37.327642000353457 ], [ -121.974768999898828, 37.328442001046298 ], [ -121.974789000311461, 37.328583001059307 ], [ -121.974868999488152, 37.32914200031491 ], [ -121.975069000070349, 37.329941000736056 ], [ -121.975068999703581, 37.33064100042477 ], [ -121.974269000435712, 37.332041000256119 ], [ -121.974268999649453, 37.332641000773542 ], [ -121.974269000287677, 37.333341001015597 ], [ -121.974469000033721, 37.334141000623539 ], [ -121.974769000482723, 37.334841000531753 ], [ -121.97516899991075, 37.33544100091013 ], [ -121.975568999754287, 37.336141000557767 ], [ -121.976068999894935, 37.336741000271694 ], [ -121.976469000242133, 37.337341000709173 ], [ -121.977068999542055, 37.338241000584993 ], [ -121.972768999984552, 37.339541000597272 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 476, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.986268999728964, 37.296742001085107 ], [ -121.987268999670448, 37.295842000821366 ], [ -121.988369000515135, 37.294942000291798 ], [ -121.9895690004969, 37.293942000633656 ], [ -121.992368999942826, 37.291442000349114 ], [ -121.992669000178481, 37.291642000891294 ], [ -121.994769000391415, 37.291842000468179 ], [ -121.997568999482453, 37.292242000249651 ], [ -121.998169000431773, 37.292242000654966 ], [ -122.001069000186561, 37.292629000451782 ], [ -122.001169000290332, 37.29264200111799 ], [ -122.002869000477986, 37.292842000503633 ], [ -122.003569000504541, 37.292842000296112 ], [ -122.003446000402235, 37.293057000325852 ], [ -122.002368999954172, 37.294942000813037 ], [ -122.002277000270666, 37.295035001083122 ], [ -122.001068999926943, 37.296242000939934 ], [ -122.000668999602354, 37.296642001041981 ], [ -121.999869000277911, 37.296842000797731 ], [ -121.998268999918523, 37.297942000476205 ], [ -121.998243999827992, 37.298261000296982 ], [ -121.998068999860052, 37.300542000333053 ], [ -121.997260999408041, 37.301493000490595 ], [ -121.996369000503094, 37.302542000323108 ], [ -121.996469000103758, 37.303542001101384 ], [ -121.996168999942967, 37.30474200096149 ], [ -121.996769000421452, 37.30594200054896 ], [ -121.996869000340752, 37.30784200033716 ], [ -121.996668999484172, 37.309542000900464 ], [ -121.996269000518154, 37.309542000451899 ], [ -121.993869000185597, 37.309542000849568 ], [ -121.993068999993454, 37.308442000399054 ], [ -121.990168999521828, 37.308442000355015 ], [ -121.989668999900033, 37.308442000314798 ], [ -121.987969000206277, 37.308442000586652 ], [ -121.985068999822587, 37.308442000808824 ], [ -121.984268999651135, 37.30844200038721 ], [ -121.983969000013602, 37.308442000978694 ], [ -121.983268999783689, 37.308442000592784 ], [ -121.983069000042462, 37.308442000883403 ], [ -121.982169000145788, 37.308442000251091 ], [ -121.981368999719365, 37.308342000708002 ], [ -121.980369000052235, 37.308242000513545 ], [ -121.979469000292141, 37.308142000762118 ], [ -121.977868999682983, 37.307942000397617 ], [ -121.978069000457666, 37.307042000553814 ], [ -121.978069000335253, 37.306842000983693 ], [ -121.978368999929017, 37.305942000474502 ], [ -121.978769000333457, 37.305142000640856 ], [ -121.978969000300594, 37.304842000433403 ], [ -121.979268999979951, 37.304242000809815 ], [ -121.979768999891533, 37.303342000462678 ], [ -121.980168999598135, 37.302742000521448 ], [ -121.98196899969706, 37.300542000494033 ], [ -121.98276899944041, 37.29974200023495 ], [ -121.983068999586806, 37.299442000380779 ], [ -121.983868999705152, 37.298842000442939 ], [ -121.984168999803643, 37.29844200088575 ], [ -121.984769000516749, 37.297942000678269 ], [ -121.985869000017786, 37.29714200109499 ], [ -121.986268999728964, 37.296742001085107 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 478, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.984498999839417, 37.318184000822683 ], [ -121.985268999872559, 37.318196000604068 ], [ -121.985960000012156, 37.318206000571898 ], [ -121.986169000406306, 37.318209000283531 ], [ -121.98632299979279, 37.318211000242407 ], [ -121.987722999554691, 37.318232000422512 ], [ -121.987908999828988, 37.318235000386508 ], [ -121.988368999816501, 37.31824200062632 ], [ -121.990769000352103, 37.318519000494106 ], [ -121.990969000441396, 37.318542000801465 ], [ -121.991566000007921, 37.318726000801618 ], [ -121.992268999389935, 37.31894200106553 ], [ -121.993069000044699, 37.319342000995618 ], [ -121.996168999879174, 37.32094200073562 ], [ -121.996168999746104, 37.321642000877283 ], [ -121.996368999454717, 37.322242000227014 ], [ -121.996569999944469, 37.322842000475717 ], [ -121.996270000318589, 37.322842000361248 ], [ -121.995868999720969, 37.322842000443821 ], [ -121.992768999582836, 37.322842000948413 ], [ -121.992169000155101, 37.322942000596079 ], [ -121.99186900023237, 37.322942001031983 ], [ -121.990568999549183, 37.322942001030071 ], [ -121.98956899998646, 37.322942001021183 ], [ -121.988168999617557, 37.322942000317319 ], [ -121.987469000050595, 37.322942000516854 ], [ -121.985268999418452, 37.322942001069272 ], [ -121.984269000301396, 37.322942000422316 ], [ -121.982668999615981, 37.322942000351922 ], [ -121.981668999578218, 37.322942000249434 ], [ -121.978968999734022, 37.323042000268423 ], [ -121.977268999899508, 37.323042000641514 ], [ -121.975569000306962, 37.323042000919848 ], [ -121.974969000513369, 37.32304200064619 ], [ -121.973768999877194, 37.323042000873791 ], [ -121.973269000126862, 37.32304200030935 ], [ -121.973119000194288, 37.323042000989673 ], [ -121.971868999785073, 37.323042000454848 ], [ -121.97136900010085, 37.323042000872746 ], [ -121.970168999832495, 37.323042000634238 ], [ -121.971269000231871, 37.321642000479955 ], [ -121.971847999493662, 37.320988000236291 ], [ -121.971912999857494, 37.320914000443196 ], [ -121.972968999886476, 37.319742000236801 ], [ -121.973269000489822, 37.319442000829696 ], [ -121.973769000112753, 37.318842000345903 ], [ -121.973896999672903, 37.318488000643342 ], [ -121.974168999957826, 37.318342000519898 ], [ -121.974469000265017, 37.317942000612746 ], [ -121.974868999608319, 37.31744200098619 ], [ -121.975169000279223, 37.317142001049078 ], [ -121.977569000157175, 37.317842000687605 ], [ -121.978869000017482, 37.318042000718989 ], [ -121.98166900029203, 37.318142000941336 ], [ -121.984498999839417, 37.318184000822683 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 472, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.971268000082361, 37.308042000473137 ], [ -121.972168000032994, 37.308042001085418 ], [ -121.973068000071137, 37.30804200025942 ], [ -121.973567999728587, 37.308042001045045 ], [ -121.973968999942841, 37.308042000354178 ], [ -121.974268999983778, 37.308042000779359 ], [ -121.974869000361863, 37.307942000961333 ], [ -121.975968999952045, 37.307942000633439 ], [ -121.977168999919513, 37.307942000905022 ], [ -121.977868999682983, 37.307942000397617 ], [ -121.977569000405694, 37.309742000991193 ], [ -121.977469000068965, 37.310542000922027 ], [ -121.977469000264023, 37.311242000278924 ], [ -121.97746900029486, 37.311942000455382 ], [ -121.977269000171503, 37.31344200100412 ], [ -121.97706900025257, 37.314242000988976 ], [ -121.976168999870524, 37.315742000646729 ], [ -121.97606900044471, 37.315942000779273 ], [ -121.975869000300492, 37.316242000686408 ], [ -121.97525799973036, 37.317027000798049 ], [ -121.975169000279223, 37.317142001049078 ], [ -121.972468999451124, 37.316442000746129 ], [ -121.970667999958039, 37.316242000772512 ], [ -121.965236999395998, 37.316326000877815 ], [ -121.964167999725973, 37.316342000720596 ], [ -121.964067999536638, 37.315742000654588 ], [ -121.963714999458219, 37.313452001124496 ], [ -121.963698000323035, 37.313340000312138 ], [ -121.963668000076325, 37.313142000848558 ], [ -121.963268000103014, 37.310542000556104 ], [ -121.963267999932839, 37.310342000447569 ], [ -121.963568000119878, 37.308642000713007 ], [ -121.964067999972116, 37.308642001117995 ], [ -121.964526999620475, 37.308707000702817 ], [ -121.964938999461964, 37.308654000944465 ], [ -121.96606799981295, 37.308442000320007 ], [ -121.967014000477818, 37.308349000251795 ], [ -121.967968000423426, 37.308142001071921 ], [ -121.968868000202434, 37.308142000657305 ], [ -121.969996000481416, 37.308142000628941 ], [ -121.970768000445403, 37.308142000937906 ], [ -121.971268000082361, 37.308042000473137 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 467, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.945767999692734, 37.309142000592587 ], [ -121.949367999472585, 37.30914200101077 ], [ -121.949867999780679, 37.309142001069972 ], [ -121.950267999931384, 37.308942000744828 ], [ -121.95026799999296, 37.310142000237043 ], [ -121.950268000057619, 37.31114200053527 ], [ -121.950267999583488, 37.311342000390667 ], [ -121.950267999964268, 37.311642001072542 ], [ -121.950252999686199, 37.311740000313399 ], [ -121.950068000007292, 37.312942000238323 ], [ -121.950067999985535, 37.313542000511589 ], [ -121.950168000123654, 37.314642000466691 ], [ -121.95018000012351, 37.315239000980668 ], [ -121.950167999674719, 37.315642000916384 ], [ -121.950168000388175, 37.315942000486075 ], [ -121.950188000189357, 37.316842000773391 ], [ -121.950167999539786, 37.317342000950092 ], [ -121.950167999407014, 37.317650000847351 ], [ -121.950168000053637, 37.317842000980917 ], [ -121.950167999673809, 37.318046000825078 ], [ -121.950188000082264, 37.318526000542739 ], [ -121.950179000059691, 37.319146000779817 ], [ -121.950167999884329, 37.319938000254623 ], [ -121.950163999582031, 37.320452000452647 ], [ -121.950168000157632, 37.321842000619597 ], [ -121.950166999469118, 37.322227000340852 ], [ -121.95015699961445, 37.322644000252268 ], [ -121.950167999673369, 37.32314200090245 ], [ -121.946868000387397, 37.32334200099212 ], [ -121.946167999967869, 37.323242000401812 ], [ -121.945768000462053, 37.323241000372619 ], [ -121.944468000372382, 37.323341000796532 ], [ -121.943368000046704, 37.323241000909221 ], [ -121.943068000169674, 37.323241001046448 ], [ -121.94146799971098, 37.323141000976072 ], [ -121.940967999541087, 37.323141000863146 ], [ -121.940668000133243, 37.323141000327851 ], [ -121.940566999822423, 37.322441000630519 ], [ -121.940366999570401, 37.319742000622064 ], [ -121.940359999463041, 37.319657000734239 ], [ -121.940267000130234, 37.318442001049306 ], [ -121.940366999663951, 37.317542000395214 ], [ -121.940467000469511, 37.317042000338077 ], [ -121.940467000138398, 37.316042000944606 ], [ -121.940466999693655, 37.31514200026762 ], [ -121.940666999411718, 37.313042000592517 ], [ -121.940866999768502, 37.309742000525254 ], [ -121.941667000385863, 37.309442001065875 ], [ -121.942667000017877, 37.309242000401689 ], [ -121.943667000376934, 37.309342000884229 ], [ -121.944666999496761, 37.309242000302881 ], [ -121.945767999692734, 37.309142000592587 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 469, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.960967999672462, 37.29524200043403 ], [ -121.961121000074755, 37.295586000330545 ], [ -121.961189999753415, 37.295742001055658 ], [ -121.961280000149685, 37.295943000687195 ], [ -121.961367999936527, 37.296142000602401 ], [ -121.962067999540196, 37.297442000820354 ], [ -121.962207999841155, 37.297996000768698 ], [ -121.963967999609309, 37.300942000853333 ], [ -121.963296999460482, 37.301029000437545 ], [ -121.963153999989345, 37.301044000902841 ], [ -121.962556999433389, 37.301109000704855 ], [ -121.961988000374745, 37.301174000638426 ], [ -121.96136799988551, 37.301242000611936 ], [ -121.959768000161418, 37.301442000512843 ], [ -121.959180000318327, 37.301389000787701 ], [ -121.958667999837814, 37.301342000256426 ], [ -121.957867999948846, 37.301342000247381 ], [ -121.956868000442455, 37.301342000518488 ], [ -121.955467999468453, 37.301342001104217 ], [ -121.954667999797678, 37.301342001090291 ], [ -121.952917000087325, 37.301336000563722 ], [ -121.952414999408191, 37.301338000634779 ], [ -121.95016800049693, 37.301442001130383 ], [ -121.95006799944349, 37.298742000594174 ], [ -121.950067999820988, 37.29834200095484 ], [ -121.950068000297918, 37.297742000995243 ], [ -121.95006800049967, 37.297442000542347 ], [ -121.950067000129621, 37.296642000297652 ], [ -121.95006700018736, 37.296442000862029 ], [ -121.95006700030919, 37.29584200071271 ], [ -121.950067000320843, 37.295542001066202 ], [ -121.950067000308493, 37.295142000312524 ], [ -121.950067000284903, 37.295042001021201 ], [ -121.950067000208875, 37.294642000234241 ], [ -121.950067000017157, 37.294142001015558 ], [ -121.952368000433978, 37.294142000783992 ], [ -121.954068000253244, 37.29414200077975 ], [ -121.954567999579652, 37.294142001055206 ], [ -121.955167999938752, 37.294142000589787 ], [ -121.956167999843117, 37.294142000557414 ], [ -121.958467999603272, 37.294142000855203 ], [ -121.95936799988462, 37.294142000442996 ], [ -121.960468000062832, 37.294142000555162 ], [ -121.960967999672462, 37.29524200043403 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 475, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.979769000481156, 37.300642000555996 ], [ -121.97836899963275, 37.300642000924888 ], [ -121.976868999678928, 37.300742000268528 ], [ -121.976869000123926, 37.299942000308995 ], [ -121.97686800030435, 37.29904200025635 ], [ -121.976868000160579, 37.297442000678792 ], [ -121.976867999796909, 37.296642000279384 ], [ -121.976867999736072, 37.295940000969118 ], [ -121.976868000350493, 37.29584200068431 ], [ -121.976868000268524, 37.294542000659298 ], [ -121.976867999732889, 37.293642000336824 ], [ -121.976768000351967, 37.290442000523555 ], [ -121.976767999856861, 37.289742000620002 ], [ -121.976767999800117, 37.289142000255588 ], [ -121.976767999688036, 37.288742000880568 ], [ -121.97676799941685, 37.287242000963829 ], [ -121.976768000268152, 37.285842000357654 ], [ -121.979968000137021, 37.285742000899091 ], [ -121.981468000491375, 37.285742000391814 ], [ -121.982668999705425, 37.285742000829757 ], [ -121.983269000457, 37.28584200047905 ], [ -121.984068999574163, 37.286042001102601 ], [ -121.98446899962353, 37.286142000299115 ], [ -121.984569000422852, 37.286142001088962 ], [ -121.987369000092485, 37.287742000749226 ], [ -121.989868999899656, 37.28964200102773 ], [ -121.992368999942826, 37.291442000349114 ], [ -121.9895690004969, 37.293942000633656 ], [ -121.988369000515135, 37.294942000291798 ], [ -121.987268999670448, 37.295842000821366 ], [ -121.986268999728964, 37.296742001085107 ], [ -121.985869000017786, 37.29714200109499 ], [ -121.984769000516749, 37.297942000678269 ], [ -121.984168999803643, 37.29844200088575 ], [ -121.983868999705152, 37.298842000442939 ], [ -121.983068999586806, 37.299442000380779 ], [ -121.98276899944041, 37.29974200023495 ], [ -121.98196899969706, 37.300542000494033 ], [ -121.979769000481156, 37.300642000555996 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 474, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.96466800025722, 37.300942000537219 ], [ -121.963967999609309, 37.300942000853333 ], [ -121.962207999841155, 37.297996000768698 ], [ -121.962067999540196, 37.297442000820354 ], [ -121.961367999936527, 37.296142000602401 ], [ -121.961280000149685, 37.295943000687195 ], [ -121.961189999753415, 37.295742001055658 ], [ -121.961121000074755, 37.295586000330545 ], [ -121.960967999672462, 37.29524200043403 ], [ -121.960468000062832, 37.294142000555162 ], [ -121.960867999740614, 37.294142000760928 ], [ -121.962968000342812, 37.294042000311862 ], [ -121.965667999553773, 37.293942000749382 ], [ -121.968568000435852, 37.293842000813292 ], [ -121.970767999511267, 37.293842000843178 ], [ -121.970867999732931, 37.293742000262768 ], [ -121.971868000174325, 37.293742000902043 ], [ -121.972968000200609, 37.293742001032882 ], [ -121.974768000220678, 37.293642000312424 ], [ -121.976867999732889, 37.293642000336824 ], [ -121.976868000268524, 37.294542000659298 ], [ -121.976868000350493, 37.29584200068431 ], [ -121.976867999736072, 37.295940000969118 ], [ -121.976867999796909, 37.296642000279384 ], [ -121.976868000160579, 37.297442000678792 ], [ -121.97686800030435, 37.29904200025635 ], [ -121.976869000123926, 37.299942000308995 ], [ -121.976868999678928, 37.300742000268528 ], [ -121.975768000296611, 37.300742000973905 ], [ -121.974768000469794, 37.300742000268365 ], [ -121.974267999453716, 37.300742000341693 ], [ -121.972667999479086, 37.300842000756269 ], [ -121.97036800047195, 37.300842000306282 ], [ -121.969967999951265, 37.300842000438621 ], [ -121.969467999596588, 37.300842000958156 ], [ -121.968567999443948, 37.300942000432507 ], [ -121.967167999989741, 37.300942000727389 ], [ -121.966268000433956, 37.300942000474528 ], [ -121.965467999754452, 37.300942000501522 ], [ -121.96466800025722, 37.300942000537219 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 502, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.960468000062832, 37.294142000555162 ], [ -121.960168000262712, 37.290442000346978 ], [ -121.960367999408703, 37.286642000294371 ], [ -121.960568000164088, 37.28654200064522 ], [ -121.961768000333137, 37.286642000364743 ], [ -121.962867999799997, 37.286642000891895 ], [ -121.962967999960796, 37.286642001008147 ], [ -121.963868000333221, 37.286642000945811 ], [ -121.964267999891334, 37.286642001118999 ], [ -121.965367999601057, 37.286642000940219 ], [ -121.965668000153414, 37.286642001006804 ], [ -121.966568000038109, 37.286542000661704 ], [ -121.966968000287721, 37.286542000723379 ], [ -121.967523000233783, 37.286441000435929 ], [ -121.96806800018436, 37.286342000600257 ], [ -121.968267999798798, 37.286342000960886 ], [ -121.970567999455056, 37.286142000553255 ], [ -121.971567999663336, 37.286142000382597 ], [ -121.972768000341034, 37.286042001111745 ], [ -121.974167999519494, 37.286042000396328 ], [ -121.974767999404619, 37.2859420005217 ], [ -121.976768000268152, 37.285842000357654 ], [ -121.97676799941685, 37.287242000963829 ], [ -121.976767999688036, 37.288742000880568 ], [ -121.976767999800117, 37.289142000255588 ], [ -121.976767999856861, 37.289742000620002 ], [ -121.976768000351967, 37.290442000523555 ], [ -121.976867999732889, 37.293642000336824 ], [ -121.974768000220678, 37.293642000312424 ], [ -121.972968000200609, 37.293742001032882 ], [ -121.971868000174325, 37.293742000902043 ], [ -121.970867999732931, 37.293742000262768 ], [ -121.970767999511267, 37.293842000843178 ], [ -121.968568000435852, 37.293842000813292 ], [ -121.965667999553773, 37.293942000749382 ], [ -121.962968000342812, 37.294042000311862 ], [ -121.960867999740614, 37.294142000760928 ], [ -121.960468000062832, 37.294142000555162 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 506, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.963766999576407, 37.259143000267578 ], [ -121.964066999984297, 37.258643000970316 ], [ -121.96682599944306, 37.259255000364135 ], [ -121.967991999408511, 37.259514000922351 ], [ -121.970421000309159, 37.260059000463926 ], [ -121.972757999933521, 37.261100001119956 ], [ -121.973616999830284, 37.261483000499332 ], [ -121.977773999810481, 37.263336000526564 ], [ -121.978412000324141, 37.263631000822265 ], [ -121.978968000436225, 37.263843000438513 ], [ -121.980983999816189, 37.264783000231972 ], [ -121.97906799991496, 37.264843000679186 ], [ -121.977467999978259, 37.264843001119154 ], [ -121.976939000210123, 37.264891000890636 ], [ -121.976368000337686, 37.264943000434251 ], [ -121.975667999779546, 37.264943000884116 ], [ -121.974837999656003, 37.265037000515015 ], [ -121.974767999601838, 37.265043000399267 ], [ -121.974725999995457, 37.265047001059877 ], [ -121.974671000470465, 37.265053001005768 ], [ -121.973768000480277, 37.265143000537861 ], [ -121.973267999819825, 37.265743000431655 ], [ -121.973168000014169, 37.265943001020482 ], [ -121.97296800040732, 37.26684300077676 ], [ -121.972868000157462, 37.26734300088377 ], [ -121.972568000256459, 37.268343000826263 ], [ -121.972568000367588, 37.269043001132616 ], [ -121.971268000442578, 37.268943000500968 ], [ -121.970268000026167, 37.268943000485663 ], [ -121.969368000167464, 37.268943001003166 ], [ -121.969067999858225, 37.268943000853362 ], [ -121.967468000207759, 37.268943000747903 ], [ -121.966867999687565, 37.268943000871708 ], [ -121.966167999874287, 37.268943000783715 ], [ -121.964167999989144, 37.26894300076215 ], [ -121.961967999921796, 37.268843000903836 ], [ -121.961467999635985, 37.26884300051973 ], [ -121.958967000369995, 37.268843000499636 ], [ -121.958182999797913, 37.268899000228409 ], [ -121.957566999687359, 37.268943000746965 ], [ -121.956366999698105, 37.268943000317947 ], [ -121.956924999825475, 37.26817300058358 ], [ -121.958466999923274, 37.266043000706823 ], [ -121.960266999940501, 37.2636430007827 ], [ -121.960967000372946, 37.262843001065477 ], [ -121.961867000457062, 37.261843000694398 ], [ -121.963766999576407, 37.259143000267578 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 515, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.918866000431379, 37.236244000478095 ], [ -121.920066000275895, 37.236144000940101 ], [ -121.920866000480785, 37.236244000488291 ], [ -121.92276600041896, 37.23614400072934 ], [ -121.922666000359385, 37.237144000509737 ], [ -121.922765999410927, 37.238843000965062 ], [ -121.922866000492149, 37.240143000728686 ], [ -121.922665999867618, 37.242543000290247 ], [ -121.922666000237299, 37.243443000331091 ], [ -121.922565999589239, 37.246943000640009 ], [ -121.922366000260723, 37.247743000786755 ], [ -121.922266000345942, 37.248043000413418 ], [ -121.922266000108266, 37.249943000263769 ], [ -121.922265999782582, 37.250133001024864 ], [ -121.922265999796778, 37.250332000979206 ], [ -121.922265999532442, 37.250743000304681 ], [ -121.921366000155246, 37.250743000454285 ], [ -121.917866000208392, 37.250843000889176 ], [ -121.917366000209682, 37.250843000647983 ], [ -121.913166000396117, 37.250843000499628 ], [ -121.911664999815287, 37.250843000389551 ], [ -121.9113530000742, 37.25028200029459 ], [ -121.911176999635458, 37.249965001068134 ], [ -121.911158000276856, 37.249943000786679 ], [ -121.909914000347456, 37.248497000797862 ], [ -121.909170000151931, 37.247675000804691 ], [ -121.90914800021207, 37.247605000313257 ], [ -121.909159000240081, 37.247451000451562 ], [ -121.909165000277042, 37.247360001127738 ], [ -121.909165000408038, 37.247043000509294 ], [ -121.908165000466781, 37.245843001130211 ], [ -121.906865000115516, 37.244043000794733 ], [ -121.906364999979445, 37.243443000974146 ], [ -121.905865000148125, 37.242743001084982 ], [ -121.905365000279318, 37.241943001103365 ], [ -121.90436500009227, 37.240643000355824 ], [ -121.903765000042895, 37.239743000414919 ], [ -121.903764999549381, 37.239394000301857 ], [ -121.903765000156383, 37.239143000756954 ], [ -121.903473000030118, 37.238182000521149 ], [ -121.903427999897431, 37.237213000781551 ], [ -121.903367000180054, 37.236779000514233 ], [ -121.903564999613323, 37.23634400054231 ], [ -121.904864999994857, 37.236244000433942 ], [ -121.905864999849939, 37.236244000355782 ], [ -121.907866000012092, 37.236344001090004 ], [ -121.910966000160585, 37.236144000970931 ], [ -121.91146600019259, 37.236244000465767 ], [ -121.913066000500152, 37.236244000447726 ], [ -121.913966000343606, 37.23624400095828 ], [ -121.914628999439003, 37.236283000382741 ], [ -121.915765999728862, 37.236144000423117 ], [ -121.916665999737532, 37.236144000228656 ], [ -121.917066000010664, 37.236144000452029 ], [ -121.917223000401862, 37.236238000806381 ], [ -121.917966000190063, 37.236244000263348 ], [ -121.918866000431379, 37.236244000478095 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 509, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.984567999856694, 37.23454400057603 ], [ -121.986068000331258, 37.235444000974212 ], [ -121.985267999731064, 37.236344000967634 ], [ -121.984668000417699, 37.236144000846323 ], [ -121.983968000377985, 37.23674400032899 ], [ -121.984268000209937, 37.236944000823854 ], [ -121.983968000149858, 37.237444000421547 ], [ -121.984368000437556, 37.237544000939813 ], [ -121.984968000032822, 37.237244000852897 ], [ -121.984767999854043, 37.238044000393153 ], [ -121.986168000177074, 37.238244000990143 ], [ -121.985568000072362, 37.240243000717022 ], [ -121.985263999875855, 37.240091000445119 ], [ -121.98456800026797, 37.240044000902735 ], [ -121.984468000093685, 37.240443001006021 ], [ -121.983367999561267, 37.24024300086834 ], [ -121.983167999747366, 37.241043000763383 ], [ -121.982468000125422, 37.241043000476502 ], [ -121.981968000210443, 37.240843000443654 ], [ -121.981568000482511, 37.240743000797806 ], [ -121.981767999654707, 37.240243000539451 ], [ -121.981894000258748, 37.239930000525995 ], [ -121.981967999568482, 37.239744000410262 ], [ -121.982568000000882, 37.239844000252305 ], [ -121.982568000267491, 37.239444001058544 ], [ -121.981967999624146, 37.239344000326838 ], [ -121.982068000149212, 37.239044000501082 ], [ -121.982667999891035, 37.239044001125293 ], [ -121.982668000485717, 37.238744000567237 ], [ -121.98336799987581, 37.238844000931806 ], [ -121.983568000025684, 37.238244000477749 ], [ -121.983447999772181, 37.238210000999516 ], [ -121.982868000151555, 37.238044000812373 ], [ -121.982867999635616, 37.237544000972612 ], [ -121.982567999780898, 37.237444001075033 ], [ -121.98206799966735, 37.237344001101903 ], [ -121.981068000078949, 37.237244000756611 ], [ -121.979938000468408, 37.237036000545949 ], [ -121.979567999408204, 37.237444000549523 ], [ -121.979368000362882, 37.237744000827519 ], [ -121.978967999613999, 37.237744001051411 ], [ -121.978767999953931, 37.238144000744022 ], [ -121.977968000290218, 37.237944000257102 ], [ -121.977667999743588, 37.238344001086233 ], [ -121.977068000168117, 37.238344000394001 ], [ -121.976968000351405, 37.238844000407362 ], [ -121.976968000296196, 37.239544000750548 ], [ -121.974167999734405, 37.239244000284117 ], [ -121.973680999826087, 37.239893000263848 ], [ -121.97236799942651, 37.241643001008114 ], [ -121.971468000111798, 37.241243001041639 ], [ -121.971400999841237, 37.240506000380492 ], [ -121.971368000349344, 37.240143000891315 ], [ -121.972968000112033, 37.238144000842993 ], [ -121.972567999733215, 37.238244000576685 ], [ -121.970367999728055, 37.239643000510235 ], [ -121.969667999924965, 37.244843000937763 ], [ -121.969067999448498, 37.245343000378206 ], [ -121.966267999566099, 37.247043000691001 ], [ -121.9657670004095, 37.246843000332923 ], [ -121.963367000113692, 37.245943000358494 ], [ -121.962966999537144, 37.246343000227931 ], [ -121.962467000509307, 37.245943000633936 ], [ -121.962158000118706, 37.245690000436106 ], [ -121.962766999463398, 37.244943000369588 ], [ -121.963667000284161, 37.243843000542277 ], [ -121.966468000416981, 37.24154300069037 ], [ -121.968068000312883, 37.239943000736524 ], [ -121.968967999723787, 37.238344000707457 ], [ -121.970867999527826, 37.234344000704887 ], [ -121.973567999414655, 37.22864400077647 ], [ -121.974567999681611, 37.226944000735486 ], [ -121.975068000333565, 37.226344000649348 ], [ -121.975567999740548, 37.226444000996239 ], [ -121.976267999972137, 37.226544000404402 ], [ -121.976967999785288, 37.226844000564604 ], [ -121.977768000064174, 37.227144000843445 ], [ -121.978668000280692, 37.227544000759522 ], [ -121.979568000436586, 37.228044000817995 ], [ -121.980468000079114, 37.228544000374434 ], [ -121.980867999594381, 37.228844000288753 ], [ -121.981867999536149, 37.229444000453533 ], [ -121.982168000231127, 37.229644000890111 ], [ -121.982867999525297, 37.23004400032579 ], [ -121.98326799976951, 37.230244000553817 ], [ -121.983468000117398, 37.23044400079975 ], [ -121.984568000131077, 37.231044001067886 ], [ -121.983468000187997, 37.232944000800224 ], [ -121.983016000098431, 37.23344700110605 ], [ -121.982914999454593, 37.233559000373504 ], [ -121.983089000443471, 37.233677000288196 ], [ -121.982937999470863, 37.233832000837616 ], [ -121.982770999509086, 37.23372000086524 ], [ -121.982665000069488, 37.233837001029173 ], [ -121.982567999883187, 37.233944001111432 ], [ -121.982468000349357, 37.234344000433431 ], [ -121.982867999839684, 37.234744000417912 ], [ -121.983868000213576, 37.235344000832974 ], [ -121.984567999856694, 37.23454400057603 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 507, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.986767999768347, 37.267043000891867 ], [ -121.985991000167729, 37.266719000910975 ], [ -121.985567999581619, 37.266543000833799 ], [ -121.98458799992018, 37.266095000804768 ], [ -121.982068000393554, 37.264943000990002 ], [ -121.981675000411386, 37.264762000893214 ], [ -121.980983999816189, 37.264783000231972 ], [ -121.978968000436225, 37.263843000438513 ], [ -121.978412000324141, 37.263631000822265 ], [ -121.977773999810481, 37.263336000526564 ], [ -121.973616999830284, 37.261483000499332 ], [ -121.972757999933521, 37.261100001119956 ], [ -121.970421000309159, 37.260059000463926 ], [ -121.967991999408511, 37.259514000922351 ], [ -121.96682599944306, 37.259255000364135 ], [ -121.964066999984297, 37.258643000970316 ], [ -121.965367999678278, 37.256443001059914 ], [ -121.966677999718016, 37.254242000513209 ], [ -121.967568000167759, 37.252943000493666 ], [ -121.967668000101426, 37.252743000590904 ], [ -121.967967999659962, 37.252443000748045 ], [ -121.968173999906668, 37.252158000799881 ], [ -121.968514000015716, 37.251687000397574 ], [ -121.969267999805282, 37.250643000433783 ], [ -121.970367999811884, 37.251143000943202 ], [ -121.971268000011904, 37.251243000674357 ], [ -121.971667999711329, 37.251243000777237 ], [ -121.973168000514008, 37.251343000387145 ], [ -121.973768000338552, 37.251243000565999 ], [ -121.973567999728942, 37.250143000472193 ], [ -121.973900999561593, 37.249943000256224 ], [ -121.974567999686613, 37.249543001118354 ], [ -121.974468000513241, 37.248943000615107 ], [ -121.976767999430365, 37.249043000843734 ], [ -121.97711099987832, 37.249943000645096 ], [ -121.977134000360508, 37.250003000487517 ], [ -121.977567999965032, 37.251143000332149 ], [ -121.978268000304283, 37.251143000450504 ], [ -121.978467999477161, 37.252243000973991 ], [ -121.979668000420759, 37.252443000546734 ], [ -121.979668000150511, 37.249943000319021 ], [ -121.979668000097462, 37.24954300098063 ], [ -121.980267999881804, 37.249443000483595 ], [ -121.980868, 37.249743000834378 ], [ -121.980948999698739, 37.249943000953742 ], [ -121.98196800006599, 37.252443001091578 ], [ -121.982668000180311, 37.250943000832457 ], [ -121.98406800021155, 37.250343000533093 ], [ -121.985367999540415, 37.250043000964546 ], [ -121.986260000060881, 37.250043000848528 ], [ -121.986568000232097, 37.250043001082183 ], [ -121.988268000018977, 37.250143000444034 ], [ -121.988567999514828, 37.250143001020732 ], [ -121.990268000433048, 37.250343000904635 ], [ -121.991568000430206, 37.250443000396231 ], [ -121.992267999875324, 37.250343001117102 ], [ -121.994268000027787, 37.250643000272618 ], [ -121.995269000256215, 37.250843000852782 ], [ -121.995569000285798, 37.25034300061796 ], [ -121.995769000213969, 37.250843000997364 ], [ -121.994969000018955, 37.251943000745058 ], [ -121.993268000151289, 37.253043000252724 ], [ -121.99286799944332, 37.254143001015279 ], [ -121.992768000457062, 37.25504300043675 ], [ -121.993069000343894, 37.256443000612329 ], [ -121.992768999826325, 37.257843000677553 ], [ -121.992669000449311, 37.258343000233943 ], [ -121.992169000127831, 37.258943000759764 ], [ -121.991997000228167, 37.261867000763345 ], [ -121.991968999971547, 37.26234300057633 ], [ -121.992068999793247, 37.262843001119279 ], [ -121.991569000111738, 37.264643000253955 ], [ -121.991499000321767, 37.264751000399983 ], [ -121.990517000207547, 37.266268000383697 ], [ -121.990469000280058, 37.266343001029142 ], [ -121.990868999482629, 37.268583000721001 ], [ -121.99096900048724, 37.269143001013539 ], [ -121.986767999768347, 37.267043000891867 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 493, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.029309000122069, 37.28645400034523 ], [ -122.030590000387178, 37.287038000613585 ], [ -122.031512000302726, 37.287459001010077 ], [ -122.03257000035012, 37.287942000365 ], [ -122.032733000039244, 37.288021000469413 ], [ -122.0335240004501, 37.288404001012331 ], [ -122.035669999881122, 37.289442000717031 ], [ -122.036570999497059, 37.289942000877325 ], [ -122.0386710004733, 37.291742001021291 ], [ -122.040170999611618, 37.293542001048074 ], [ -122.039971000070537, 37.293542000426427 ], [ -122.03965600004598, 37.293531000827613 ], [ -122.036971000375502, 37.293442000924436 ], [ -122.035271000354797, 37.293642000648497 ], [ -122.034469999705465, 37.293742000796939 ], [ -122.033256999569446, 37.293800001058997 ], [ -122.032369999579714, 37.293842000980341 ], [ -122.031470000409527, 37.293942000580437 ], [ -122.031073000312233, 37.293853000695258 ], [ -122.030348000069182, 37.293849000853982 ], [ -122.029269999905253, 37.293842000767782 ], [ -122.028270000398862, 37.293742000398147 ], [ -122.025816999907775, 37.293686000561578 ], [ -122.02478499999728, 37.293663001057588 ], [ -122.023870000521384, 37.29364200048969 ], [ -122.022870000518935, 37.293642000420242 ], [ -122.02047000017923, 37.293442001119537 ], [ -122.018569999925404, 37.293442000934164 ], [ -122.018070000324101, 37.293442000751902 ], [ -122.016269999883519, 37.29344200097276 ], [ -122.01517000031383, 37.293442000552339 ], [ -122.012070000253004, 37.2932420007932 ], [ -122.01106999972103, 37.293242001070951 ], [ -122.009769999452431, 37.2931420008779 ], [ -122.007870000481958, 37.293142001083233 ], [ -122.007405999963837, 37.293109000971143 ], [ -122.006469000188645, 37.293042000363172 ], [ -122.00516899948272, 37.29304200083201 ], [ -122.004868999602593, 37.293042000716859 ], [ -122.003569000504541, 37.292842000296112 ], [ -122.003669000208035, 37.292542000975878 ], [ -122.002869000338478, 37.291242000370367 ], [ -122.003668999455101, 37.290142000338967 ], [ -122.003665000077689, 37.290042001101426 ], [ -122.003650999635866, 37.289710000783003 ], [ -122.003669000026719, 37.289442000657665 ], [ -122.004168999630849, 37.28914200072613 ], [ -122.004168999870117, 37.288442000898542 ], [ -122.004668999962789, 37.287842000966421 ], [ -122.004860999683174, 37.287315000536196 ], [ -122.005069000185699, 37.286743000301684 ], [ -122.006268999550727, 37.286043000539678 ], [ -122.006042000070551, 37.285477000764374 ], [ -122.006000000429296, 37.285371001094298 ], [ -122.005868999888548, 37.285043000817645 ], [ -122.006668999580825, 37.282143001037625 ], [ -122.007469000050676, 37.280543000665205 ], [ -122.008568999601351, 37.279718000793125 ], [ -122.009069000134986, 37.279343000996889 ], [ -122.009068999606001, 37.278843000762137 ], [ -122.010243999700251, 37.27818200030854 ], [ -122.010417999437337, 37.27808400037528 ], [ -122.010668999714525, 37.277943000622329 ], [ -122.01456999973739, 37.279743000258847 ], [ -122.016576999574355, 37.280655000443637 ], [ -122.017570000171574, 37.281106000417459 ], [ -122.017841000030714, 37.28122900072281 ], [ -122.019300999903749, 37.281893000384208 ], [ -122.021169999542096, 37.282743000537636 ], [ -122.022973000224283, 37.283565000710411 ], [ -122.023423999658121, 37.283771000597369 ], [ -122.023720000207618, 37.283906000748019 ], [ -122.024809999556226, 37.284403000499836 ], [ -122.02800399971494, 37.285859000745823 ], [ -122.029309000122069, 37.28645400034523 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 494, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.012668999439626, 37.272543001048234 ], [ -122.013511999840276, 37.271981000907196 ], [ -122.013569000329696, 37.271943001125976 ], [ -122.014004999759578, 37.271569001037285 ], [ -122.01426900026361, 37.271343000968315 ], [ -122.01706999992011, 37.269743000582274 ], [ -122.017970000018764, 37.269143000742851 ], [ -122.018293000385043, 37.268920000234317 ], [ -122.018649999844428, 37.268675000705571 ], [ -122.019570000162972, 37.268043000689289 ], [ -122.020970000000744, 37.266443000357476 ], [ -122.021270000238104, 37.266043000853507 ], [ -122.022070000389945, 37.265343000826675 ], [ -122.022227999644642, 37.265186000606768 ], [ -122.0231700000909, 37.264243000588223 ], [ -122.025669999994037, 37.262543000863239 ], [ -122.02617000006947, 37.262243000576831 ], [ -122.026669999779756, 37.261843000369936 ], [ -122.026769999555654, 37.261650000423039 ], [ -122.029069999514391, 37.26014300096314 ], [ -122.029969999828992, 37.259643001030405 ], [ -122.030369999433134, 37.259543000784539 ], [ -122.032169999873048, 37.259243000382121 ], [ -122.032170000395709, 37.260043000290132 ], [ -122.032169999930332, 37.260243000471156 ], [ -122.032169999453217, 37.260443000645523 ], [ -122.032169999953581, 37.262543000771942 ], [ -122.032169999845124, 37.262943000969649 ], [ -122.032170000156157, 37.264043000931885 ], [ -122.032018999880449, 37.264481000292626 ], [ -122.032170000478786, 37.264743000641381 ], [ -122.032170000186682, 37.267443000942194 ], [ -122.032227000325022, 37.268355000977799 ], [ -122.032269999425253, 37.269043000276469 ], [ -122.032269999980514, 37.269943001087633 ], [ -122.032370000329067, 37.271643000978649 ], [ -122.032469999856502, 37.274043000785227 ], [ -122.032470000055127, 37.274843000564616 ], [ -122.032469999731418, 37.277343000428182 ], [ -122.032542999641507, 37.278655000855323 ], [ -122.032569999665199, 37.279143001101382 ], [ -122.032569999938914, 37.280443000397185 ], [ -122.032569999471576, 37.281643001019866 ], [ -122.032570000462371, 37.283243000292927 ], [ -122.032570000017174, 37.283643000941076 ], [ -122.032570000455664, 37.284316000729 ], [ -122.032569999777792, 37.285642000584026 ], [ -122.032537000463691, 37.286490000798565 ], [ -122.032569999995957, 37.287242000600727 ], [ -122.032569999767162, 37.287337000828728 ], [ -122.03257000035012, 37.287942000365 ], [ -122.031512000302726, 37.287459001010077 ], [ -122.030590000387178, 37.287038000613585 ], [ -122.029309000122069, 37.28645400034523 ], [ -122.02800399971494, 37.285859000745823 ], [ -122.024809999556226, 37.284403000499836 ], [ -122.023720000207618, 37.283906000748019 ], [ -122.023423999658121, 37.283771000597369 ], [ -122.022973000224283, 37.283565000710411 ], [ -122.021169999542096, 37.282743000537636 ], [ -122.019300999903749, 37.281893000384208 ], [ -122.017841000030714, 37.28122900072281 ], [ -122.017570000171574, 37.281106000417459 ], [ -122.016576999574355, 37.280655000443637 ], [ -122.01456999973739, 37.279743000258847 ], [ -122.010668999714525, 37.277943000622329 ], [ -122.010417999437337, 37.27808400037528 ], [ -122.009034999959709, 37.277235000334414 ], [ -122.008047999774931, 37.276629000556454 ], [ -122.007799999906339, 37.276512000748617 ], [ -122.008003000314332, 37.276309000497818 ], [ -122.00831899964875, 37.27599300062451 ], [ -122.008569000188402, 37.275743000266708 ], [ -122.008880000033813, 37.275501000467457 ], [ -122.01126899981351, 37.273643000924473 ], [ -122.012668999439626, 37.272543001048234 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 424, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.014262000415286, 37.392119001064493 ], [ -122.014496999748872, 37.391373000767501 ], [ -122.014571000024247, 37.391140000745317 ], [ -122.014871000203627, 37.390240000607506 ], [ -122.015170999749429, 37.389340000428199 ], [ -122.015471000441636, 37.388640000423692 ], [ -122.015671000445067, 37.387940000875005 ], [ -122.015970999668426, 37.38724000026825 ], [ -122.016171000053504, 37.386540000566832 ], [ -122.016348999560378, 37.386067000588831 ], [ -122.016671000480599, 37.385740000487296 ], [ -122.017571000036725, 37.385140000960945 ], [ -122.018871000373096, 37.385640000865777 ], [ -122.02067099968319, 37.386240000633926 ], [ -122.021370999568816, 37.386540000905448 ], [ -122.021571000008564, 37.386640000383508 ], [ -122.022771000409762, 37.387040000612458 ], [ -122.02547099962355, 37.387940000471531 ], [ -122.026071000106, 37.388040001126583 ], [ -122.026471000297022, 37.388140000840899 ], [ -122.027270999564564, 37.388440000916994 ], [ -122.029670999659487, 37.389240001065488 ], [ -122.030770999571374, 37.389640001093007 ], [ -122.030070999734278, 37.392040000729871 ], [ -122.029470999474739, 37.393840000344987 ], [ -122.028870999913423, 37.395740000813142 ], [ -122.028570999932441, 37.396840000618056 ], [ -122.028271000282032, 37.398340000489789 ], [ -122.028171000174055, 37.39894000080951 ], [ -122.027571000301194, 37.398740000525606 ], [ -122.027370999564596, 37.398740000369607 ], [ -122.024770999474271, 37.398240000921973 ], [ -122.02287100030172, 37.397740000828499 ], [ -122.0179710003476, 37.396640000715884 ], [ -122.015670999710878, 37.396140000932739 ], [ -122.015271000177577, 37.396040000696054 ], [ -122.013471000150432, 37.395640000481173 ], [ -122.013070999466706, 37.395540000927376 ], [ -122.013371000480205, 37.394840000924795 ], [ -122.013570999477921, 37.394040000448086 ], [ -122.013771000392936, 37.393640000445927 ], [ -122.01397100048122, 37.393040000934526 ], [ -122.014262000415286, 37.392119001064493 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 393, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.047572000287957, 37.375540000594967 ], [ -122.047672000220189, 37.374941000793605 ], [ -122.048171999715336, 37.373441000838724 ], [ -122.048371999861544, 37.37284100049186 ], [ -122.048772000445837, 37.371641000354749 ], [ -122.053072000296936, 37.372641000399128 ], [ -122.056672000302086, 37.373640000487562 ], [ -122.056115000159835, 37.374940001126035 ], [ -122.056071999925834, 37.375040001068591 ], [ -122.055971999856538, 37.375640000739047 ], [ -122.055371999710047, 37.37714000044577 ], [ -122.054971999581042, 37.378440000308991 ], [ -122.054272000415139, 37.38044000102466 ], [ -122.054071999446194, 37.381240000980291 ], [ -122.053371999606156, 37.383340001041667 ], [ -122.053171999640483, 37.38384000029528 ], [ -122.052672000144113, 37.385440000515885 ], [ -122.052472000339392, 37.385540001118713 ], [ -122.045671999536907, 37.383440000450562 ], [ -122.044972000045831, 37.383140001109851 ], [ -122.045071999606733, 37.382940000238371 ], [ -122.04547199972663, 37.381540000359024 ], [ -122.045771999672525, 37.380940000491485 ], [ -122.045871999682944, 37.380340000568005 ], [ -122.046571999595514, 37.378640000998324 ], [ -122.047172000329581, 37.376740001083043 ], [ -122.047271999833839, 37.37614000036011 ], [ -122.047572000287957, 37.375540000594967 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 377, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.070072999621289, 37.403740000541298 ], [ -122.069972999943928, 37.402840001023392 ], [ -122.069872999505108, 37.401140000642989 ], [ -122.069772999622742, 37.399240000848721 ], [ -122.069197999779931, 37.396729001103814 ], [ -122.068971999408973, 37.395740000803222 ], [ -122.068671999677605, 37.394240000811159 ], [ -122.068671999486412, 37.393940000448694 ], [ -122.068672000430425, 37.392798000833061 ], [ -122.06868299947088, 37.391571000931137 ], [ -122.06867199972821, 37.391340000606007 ], [ -122.069472000209061, 37.39164000093627 ], [ -122.069972000141831, 37.39184000037509 ], [ -122.072285000111407, 37.392738000902952 ], [ -122.073050999669235, 37.393035000867741 ], [ -122.078472999507625, 37.395140000351077 ], [ -122.082672999395314, 37.397240000662372 ], [ -122.082672999530089, 37.397340000234429 ], [ -122.081973000218369, 37.398040001106104 ], [ -122.081641000273848, 37.398787000303017 ], [ -122.081572999809268, 37.398940001100698 ], [ -122.08137299955159, 37.399240000777255 ], [ -122.081173000266347, 37.39964000052246 ], [ -122.080872999695202, 37.400040000400026 ], [ -122.080573000413665, 37.400440000383377 ], [ -122.079461000247576, 37.401090000987381 ], [ -122.079172999502845, 37.401740001053831 ], [ -122.078372999915061, 37.40314000094088 ], [ -122.078373000394606, 37.403740000273828 ], [ -122.078372999492274, 37.404440000761085 ], [ -122.078372999890306, 37.40684000081432 ], [ -122.078373000250906, 37.408640001131694 ], [ -122.078373000372096, 37.409840000444106 ], [ -122.078372999492103, 37.410140000227955 ], [ -122.078372999585909, 37.410840000884313 ], [ -122.078372999421333, 37.411240000835058 ], [ -122.078472999541574, 37.4119400003447 ], [ -122.077873000200398, 37.411740000299446 ], [ -122.076373000376549, 37.411040000475353 ], [ -122.075872999899218, 37.410940001086161 ], [ -122.073972999404091, 37.410140000679256 ], [ -122.072372999867284, 37.409440000700208 ], [ -122.07017300030067, 37.408640000744008 ], [ -122.070072999444676, 37.405440000418203 ], [ -122.070072999621289, 37.403740000541298 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 376, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.091172999747485, 37.400640000288199 ], [ -122.091087000130798, 37.400859000434714 ], [ -122.090272999563297, 37.4029400007432 ], [ -122.089573000022881, 37.404640000601304 ], [ -122.08908700041367, 37.405773000444469 ], [ -122.088673000183562, 37.406740000525637 ], [ -122.087873000394239, 37.408940001039859 ], [ -122.087272999598198, 37.410140000596044 ], [ -122.086773000478104, 37.412240001010737 ], [ -122.086572999492873, 37.414039000977098 ], [ -122.086672999398758, 37.415639000931094 ], [ -122.086772999785325, 37.416639000238483 ], [ -122.085721999772616, 37.415914000972002 ], [ -122.083872999779942, 37.414639000758086 ], [ -122.082873000140509, 37.414039001011822 ], [ -122.082072999479024, 37.413539000324434 ], [ -122.080885000373684, 37.413031001039379 ], [ -122.080673000077738, 37.412940000944957 ], [ -122.078673000043082, 37.412040000959237 ], [ -122.078472999541574, 37.4119400003447 ], [ -122.078372999421333, 37.411240000835058 ], [ -122.078372999585909, 37.410840000884313 ], [ -122.078372999492103, 37.410140000227955 ], [ -122.078373000372096, 37.409840000444106 ], [ -122.078373000250906, 37.408640001131694 ], [ -122.078372999890306, 37.40684000081432 ], [ -122.078372999492274, 37.404440000761085 ], [ -122.078373000394606, 37.403740000273828 ], [ -122.078372999915061, 37.40314000094088 ], [ -122.079172999502845, 37.401740001053831 ], [ -122.079461000247576, 37.401090000987381 ], [ -122.080573000413665, 37.400440000383377 ], [ -122.080872999695202, 37.400040000400026 ], [ -122.081173000266347, 37.39964000052246 ], [ -122.08137299955159, 37.399240000777255 ], [ -122.081572999809268, 37.398940001100698 ], [ -122.081641000273848, 37.398787000303017 ], [ -122.081973000218369, 37.398040001106104 ], [ -122.082672999530089, 37.397340000234429 ], [ -122.082672999395314, 37.397240000662372 ], [ -122.08367299982541, 37.397240000569809 ], [ -122.085976999451574, 37.398210000667909 ], [ -122.086237999606013, 37.398320000918261 ], [ -122.087333000348437, 37.398781001080891 ], [ -122.089203000159245, 37.399568000490504 ], [ -122.091273000515713, 37.400440000917982 ], [ -122.091172999747485, 37.400640000288199 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 374, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.094172999424217, 37.422239001072775 ], [ -122.093172999401162, 37.421339000338811 ], [ -122.09257299956316, 37.420939000381033 ], [ -122.092273000333876, 37.420739000620379 ], [ -122.091073000137484, 37.41993900026818 ], [ -122.090573000384026, 37.41943900084808 ], [ -122.087262000341056, 37.417102000723148 ], [ -122.087172999622155, 37.417039000538914 ], [ -122.086873000354814, 37.41693900080611 ], [ -122.086772999785325, 37.416639000238483 ], [ -122.086672999398758, 37.415639000931094 ], [ -122.086572999492873, 37.414039000977098 ], [ -122.086773000478104, 37.412240001010737 ], [ -122.087272999598198, 37.410140000596044 ], [ -122.088772999697099, 37.410540000576489 ], [ -122.090103000101436, 37.411020000312867 ], [ -122.092372999608983, 37.41183900080604 ], [ -122.094464999861799, 37.411916000966066 ], [ -122.095072999951199, 37.411939000824511 ], [ -122.097972999688167, 37.412139001030461 ], [ -122.098973000101111, 37.412539001050405 ], [ -122.099273000027523, 37.412839000561235 ], [ -122.099672999979745, 37.413439000286544 ], [ -122.100173000356506, 37.414039000904459 ], [ -122.100672999747189, 37.414539000868096 ], [ -122.101073000089031, 37.415039000894971 ], [ -122.102072999528119, 37.415539000338001 ], [ -122.103473999928028, 37.41623900074007 ], [ -122.102174000324169, 37.419439000558192 ], [ -122.101974000422132, 37.421139000508568 ], [ -122.101773999992531, 37.421839000313938 ], [ -122.101673999684763, 37.42273900112432 ], [ -122.101537000139999, 37.424744000607433 ], [ -122.101553999587367, 37.4253240009024 ], [ -122.10163700022872, 37.425693000382523 ], [ -122.10177400029427, 37.426139000443001 ], [ -122.101821000070387, 37.426431000675862 ], [ -122.101808000020881, 37.426747000364259 ], [ -122.101746000394201, 37.427023000794946 ], [ -122.101420999535492, 37.428208000437998 ], [ -122.101310000186075, 37.428110001117851 ], [ -122.099072999771693, 37.426039000877616 ], [ -122.097672999834018, 37.424739000631092 ], [ -122.094172999424217, 37.422239001072775 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 380, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.101873000416063, 37.395640000296169 ], [ -122.101473000282979, 37.396640000589279 ], [ -122.100073000011903, 37.398840000350049 ], [ -122.099759999662453, 37.399362001094197 ], [ -122.09947299969005, 37.399840000255331 ], [ -122.0985730002118, 37.401240000624952 ], [ -122.097872999418342, 37.402540000573723 ], [ -122.097673000238061, 37.402740000433603 ], [ -122.097572999684061, 37.402940000713777 ], [ -122.093451000052085, 37.401305000288062 ], [ -122.091838999622766, 37.400670000543826 ], [ -122.09197299973215, 37.400440000634411 ], [ -122.09267300034054, 37.399240000986573 ], [ -122.094173000405533, 37.396640000559621 ], [ -122.094772999781156, 37.395740000813184 ], [ -122.095073000356038, 37.395040000932354 ], [ -122.095573000295445, 37.394140000239389 ], [ -122.096372999679474, 37.393040000475239 ], [ -122.098272999983408, 37.394040001127728 ], [ -122.101270999861612, 37.39537800041515 ], [ -122.101873000416063, 37.395640000296169 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 372, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.10837400035912, 37.4081390009014 ], [ -122.107957999727802, 37.407882000625357 ], [ -122.107735999833281, 37.407745000894664 ], [ -122.107683000088329, 37.407712000789203 ], [ -122.107602999720442, 37.40766300066246 ], [ -122.107480000264317, 37.407586000766578 ], [ -122.107364999756854, 37.407515001046768 ], [ -122.104172999995498, 37.405540000313906 ], [ -122.10207299949154, 37.404740000697529 ], [ -122.101555999641675, 37.404533001125323 ], [ -122.097572999684061, 37.402940000713777 ], [ -122.097673000238061, 37.402740000433603 ], [ -122.097872999418342, 37.402540000573723 ], [ -122.0985730002118, 37.401240000624952 ], [ -122.09947299969005, 37.399840000255331 ], [ -122.099759999662453, 37.399362001094197 ], [ -122.100073000011903, 37.398840000350049 ], [ -122.101473000282979, 37.396640000589279 ], [ -122.101873000416063, 37.395640000296169 ], [ -122.103373000092247, 37.39624000085842 ], [ -122.104573000110477, 37.39694000096295 ], [ -122.106374000065827, 37.397640000808778 ], [ -122.106708000284868, 37.397788000428719 ], [ -122.108219999987938, 37.398418000373823 ], [ -122.109123999593024, 37.398839000649325 ], [ -122.109629000503645, 37.399071000278077 ], [ -122.109973999820426, 37.39924000025195 ], [ -122.110731999553579, 37.399601001033972 ], [ -122.110866000483981, 37.399665000791025 ], [ -122.112074000159041, 37.40024000083794 ], [ -122.112874000246563, 37.400740000882273 ], [ -122.113674000230588, 37.401140000302142 ], [ -122.112473999611737, 37.403040000995972 ], [ -122.111374000200954, 37.404840000592436 ], [ -122.110873999729833, 37.405740000466821 ], [ -122.110384000407876, 37.406599000466734 ], [ -122.110173999664624, 37.406840000995103 ], [ -122.109473999443722, 37.407240000795049 ], [ -122.1085180003072, 37.407980000435451 ], [ -122.10837400035912, 37.4081390009014 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 378, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.069972000141831, 37.39184000037509 ], [ -122.069472000209061, 37.39164000093627 ], [ -122.06867199972821, 37.391340000606007 ], [ -122.068711000332769, 37.390943000949278 ], [ -122.069383999657546, 37.391165000845916 ], [ -122.06997199947952, 37.391340000714933 ], [ -122.071873000064599, 37.39194000069439 ], [ -122.072473000251009, 37.390940000648229 ], [ -122.073273000141398, 37.389740000961545 ], [ -122.07560200004832, 37.390605000553691 ], [ -122.076772999777873, 37.391040000509932 ], [ -122.077273000449935, 37.390240000731403 ], [ -122.077473000425755, 37.390040000844664 ], [ -122.077672999515869, 37.389640000381554 ], [ -122.078173000207258, 37.388740000433202 ], [ -122.078373000509742, 37.388540000743788 ], [ -122.079372999657494, 37.386740001103682 ], [ -122.079872999858353, 37.386040000896166 ], [ -122.080172999781595, 37.385540000795856 ], [ -122.080572999745016, 37.384940000721748 ], [ -122.081073000241958, 37.384240000511952 ], [ -122.081472999772416, 37.384440000837778 ], [ -122.082073000233933, 37.384740001061218 ], [ -122.082372999961407, 37.38484000104588 ], [ -122.083172999771648, 37.385240000606217 ], [ -122.083973000093678, 37.385740000859627 ], [ -122.087072999625605, 37.38724000089848 ], [ -122.088173000055761, 37.387740000978766 ], [ -122.08757300024763, 37.388640000778281 ], [ -122.087273000076181, 37.389240000414844 ], [ -122.086672999796946, 37.390240000419723 ], [ -122.086472999863076, 37.390440000675504 ], [ -122.085773000067036, 37.391740001006823 ], [ -122.084972999459666, 37.392940000252139 ], [ -122.084273000500048, 37.394240000812346 ], [ -122.083472999590555, 37.395540000451838 ], [ -122.083188000284551, 37.396146000726283 ], [ -122.082993999871547, 37.396559000996135 ], [ -122.082672999395314, 37.397240000662372 ], [ -122.078472999507625, 37.395140000351077 ], [ -122.073050999669235, 37.393035000867741 ], [ -122.072285000111407, 37.392738000902952 ], [ -122.069972000141831, 37.39184000037509 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 381, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.086973000352003, 37.377140000868735 ], [ -122.08697300037592, 37.376664000651537 ], [ -122.0869729999485, 37.374940000979166 ], [ -122.086972999500205, 37.374340001113708 ], [ -122.086972999533302, 37.373940000271588 ], [ -122.086872999808094, 37.373440000693385 ], [ -122.088873000447933, 37.37314000036131 ], [ -122.089583999541773, 37.373128000468114 ], [ -122.090573000263333, 37.373140000420648 ], [ -122.091473000047102, 37.373140000894665 ], [ -122.092372999896952, 37.373140000827881 ], [ -122.095473000314243, 37.37324000100994 ], [ -122.095973000323113, 37.373540000822629 ], [ -122.095972999582301, 37.3739400010491 ], [ -122.095972999807714, 37.374940000614139 ], [ -122.095973000065868, 37.376040000936335 ], [ -122.095972999563827, 37.37624000096924 ], [ -122.095972999954725, 37.376740001035145 ], [ -122.0953729994458, 37.376740000717916 ], [ -122.093372999666968, 37.376840000507272 ], [ -122.093373000192145, 37.379440000535624 ], [ -122.094372999877635, 37.379440000553807 ], [ -122.096072999525006, 37.379540000697567 ], [ -122.096072999786585, 37.379940000537921 ], [ -122.096072999673069, 37.380940000918599 ], [ -122.095972999921216, 37.381640000365813 ], [ -122.09357300035677, 37.381440000893726 ], [ -122.092172999399338, 37.381440001069095 ], [ -122.088873000225192, 37.381440000486769 ], [ -122.08947299949466, 37.381840001058833 ], [ -122.089972999673662, 37.383040000477408 ], [ -122.089473000017065, 37.384540000730638 ], [ -122.090272999989537, 37.38444000105396 ], [ -122.09047300045998, 37.384040000648788 ], [ -122.090959000344, 37.384003001024873 ], [ -122.090972999450642, 37.384440000463847 ], [ -122.091773000001197, 37.384440000388828 ], [ -122.091773000321638, 37.383940001118589 ], [ -122.092373000285647, 37.384040000951885 ], [ -122.092372999597202, 37.38444000037908 ], [ -122.095972999985364, 37.384440000391002 ], [ -122.096072999716839, 37.385440001040891 ], [ -122.096073000020638, 37.386240000814595 ], [ -122.096072999848261, 37.386840000797712 ], [ -122.096073000427879, 37.387240001059148 ], [ -122.096073000455689, 37.388140000414225 ], [ -122.096072999868355, 37.388640000394098 ], [ -122.096773000266552, 37.388640000836503 ], [ -122.09736599999006, 37.388626000787951 ], [ -122.099724999740616, 37.388566000549659 ], [ -122.10107300001016, 37.3885400008255 ], [ -122.102173000083866, 37.388540000766419 ], [ -122.102773000061944, 37.388540000434809 ], [ -122.103373000059406, 37.388540000663568 ], [ -122.104172999722863, 37.388540000735794 ], [ -122.104263000008217, 37.388540001117427 ], [ -122.106067000302872, 37.388542000329338 ], [ -122.105620000149884, 37.389198000688715 ], [ -122.105105000323519, 37.389923000683048 ], [ -122.103998000172098, 37.391559000262603 ], [ -122.102816999789653, 37.393202000471085 ], [ -122.101270999861612, 37.39537800041515 ], [ -122.098272999983408, 37.394040001127728 ], [ -122.096372999679474, 37.393040000475239 ], [ -122.095872999484214, 37.392540000404786 ], [ -122.095273000188612, 37.391840000660928 ], [ -122.094673000376005, 37.391340000972072 ], [ -122.093372999971876, 37.390240000254231 ], [ -122.092573000017154, 37.389940000715946 ], [ -122.091472999531959, 37.38934000109159 ], [ -122.090373000067032, 37.38884000096013 ], [ -122.08927299942512, 37.388340000538584 ], [ -122.088173000055761, 37.387740000978766 ], [ -122.087072999625605, 37.38724000089848 ], [ -122.083973000093678, 37.385740000859627 ], [ -122.084572999759104, 37.38454000070157 ], [ -122.085073000315404, 37.383940000242063 ], [ -122.085373000065019, 37.38344000095357 ], [ -122.085457999731688, 37.382985000453793 ], [ -122.08577300004734, 37.382640000241025 ], [ -122.086572999590985, 37.381740000542017 ], [ -122.086972999545409, 37.38104000070355 ], [ -122.087073000134538, 37.380840000549235 ], [ -122.086972999911453, 37.380240000782074 ], [ -122.087073000025313, 37.379840000811399 ], [ -122.086973000100258, 37.37944000075349 ], [ -122.086972999991147, 37.378940000342169 ], [ -122.086972999480935, 37.378240000956055 ], [ -122.086973000352003, 37.377140000868735 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 383, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.078072999741437, 37.372440000355276 ], [ -122.078073000070745, 37.37134000083816 ], [ -122.078072999856033, 37.370361000879612 ], [ -122.078072999994788, 37.369733000350877 ], [ -122.078072999719836, 37.36964000028339 ], [ -122.078073000130004, 37.36754100056433 ], [ -122.078073000453472, 37.366941000368293 ], [ -122.078072999977891, 37.366653000897124 ], [ -122.078073000324039, 37.366151000555952 ], [ -122.078073000015976, 37.365937000584644 ], [ -122.078073000209457, 37.365841000749292 ], [ -122.078073000233402, 37.365641000633744 ], [ -122.078073000019572, 37.365458000989108 ], [ -122.078073000206274, 37.364841001005921 ], [ -122.078573000241718, 37.364841000886877 ], [ -122.079573000369024, 37.36484100061584 ], [ -122.080372999842155, 37.364841000794726 ], [ -122.082360000174177, 37.364660000582276 ], [ -122.083672999963184, 37.36454100077259 ], [ -122.084572999676936, 37.364741000263699 ], [ -122.085072999826593, 37.364941000847757 ], [ -122.086872999780553, 37.364641000555437 ], [ -122.086873000149623, 37.365741001112866 ], [ -122.088172999768474, 37.365641000376705 ], [ -122.088555000093692, 37.365689000974157 ], [ -122.088972999561648, 37.365741000246729 ], [ -122.088972999768984, 37.366841000773661 ], [ -122.089673000342472, 37.366741000545709 ], [ -122.090873000264608, 37.366841000248968 ], [ -122.091972999893642, 37.366841000502241 ], [ -122.093072999615515, 37.366841000437887 ], [ -122.094173000154925, 37.366840000456492 ], [ -122.095072999430442, 37.366840001049923 ], [ -122.095873000287582, 37.366740000873662 ], [ -122.095872999903463, 37.368840000533986 ], [ -122.095873000360299, 37.370540000846994 ], [ -122.095933999714703, 37.371828000900628 ], [ -122.095973000124772, 37.372640001103413 ], [ -122.095973000323113, 37.373540000822629 ], [ -122.095473000314243, 37.37324000100994 ], [ -122.092372999896952, 37.373140000827881 ], [ -122.091473000047102, 37.373140000894665 ], [ -122.090573000263333, 37.373140000420648 ], [ -122.089583999541773, 37.373128000468114 ], [ -122.088873000447933, 37.37314000036131 ], [ -122.086872999808094, 37.373440000693385 ], [ -122.086472999746604, 37.373340000484298 ], [ -122.085172999730887, 37.373340000590545 ], [ -122.083273000315458, 37.373440000524383 ], [ -122.082572999618776, 37.373440000250127 ], [ -122.081473000365932, 37.373440000344978 ], [ -122.080672999831918, 37.373440000778778 ], [ -122.079772999432578, 37.373440000994918 ], [ -122.078972999733068, 37.373340000810522 ], [ -122.078173000418573, 37.373340000568483 ], [ -122.07807300039282, 37.37294000097733 ], [ -122.078072999741437, 37.372440000355276 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 389, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.063253000210707, 37.363575000556551 ], [ -122.063744000158579, 37.36356900050226 ], [ -122.065079000278772, 37.363577001087961 ], [ -122.06507199950525, 37.363541000587972 ], [ -122.065172000240352, 37.36314100054588 ], [ -122.06477200038546, 37.363141000236368 ], [ -122.063871999892584, 37.363141000895524 ], [ -122.0639719994291, 37.361041000704923 ], [ -122.064771999394324, 37.361041000751236 ], [ -122.065271999678686, 37.361041000850825 ], [ -122.065971999430474, 37.36104100103865 ], [ -122.066701999463916, 37.361079000635016 ], [ -122.067872000133221, 37.361141000687262 ], [ -122.068872000265955, 37.361041000436302 ], [ -122.069972000452481, 37.36114100035519 ], [ -122.070572000029699, 37.361041000796192 ], [ -122.07087200019366, 37.361241000975816 ], [ -122.072172000433341, 37.361141000907672 ], [ -122.073171999703689, 37.36104100030704 ], [ -122.073971999981552, 37.361141000410335 ], [ -122.074272000300226, 37.361141000821362 ], [ -122.074678999526753, 37.361185000882379 ], [ -122.075281000193684, 37.361161000853578 ], [ -122.07577199976626, 37.361141000456563 ], [ -122.076472000183927, 37.361041000567447 ], [ -122.078071999406717, 37.361041000966985 ], [ -122.078071999867888, 37.361441000597836 ], [ -122.0780730005023, 37.362141000245558 ], [ -122.078073000346279, 37.362641000810221 ], [ -122.078073000346535, 37.362647000239889 ], [ -122.078073000470681, 37.363729000349586 ], [ -122.078073000011202, 37.364041000369753 ], [ -122.078073000206274, 37.364841001005921 ], [ -122.078073000019572, 37.365458000989108 ], [ -122.078073000233402, 37.365641000633744 ], [ -122.078073000209457, 37.365841000749292 ], [ -122.078073000015976, 37.365937000584644 ], [ -122.078073000324039, 37.366151000555952 ], [ -122.078072999977891, 37.366653000897124 ], [ -122.078073000453472, 37.366941000368293 ], [ -122.078073000130004, 37.36754100056433 ], [ -122.078072999719836, 37.36964000028339 ], [ -122.078072999994788, 37.369733000350877 ], [ -122.078072999856033, 37.370361000879612 ], [ -122.078073000070745, 37.37134000083816 ], [ -122.078072999741437, 37.372440000355276 ], [ -122.07807300039282, 37.37294000097733 ], [ -122.078173000418573, 37.373340000568483 ], [ -122.078072999560291, 37.374040001101243 ], [ -122.078102999959413, 37.374940000742569 ], [ -122.07817300014905, 37.37704000056759 ], [ -122.078273000041577, 37.379140000927755 ], [ -122.078272999954763, 37.379640000998336 ], [ -122.078272999494345, 37.380340000664596 ], [ -122.078273000308855, 37.380540000304215 ], [ -122.07827300042544, 37.381440000375854 ], [ -122.078272999439847, 37.38274000033433 ], [ -122.077973000051159, 37.38254000102814 ], [ -122.07657300035045, 37.381840000915268 ], [ -122.075072999642828, 37.381140000765747 ], [ -122.073471999511042, 37.380240001119397 ], [ -122.072172000246098, 37.379740001132127 ], [ -122.069771999680427, 37.378740000441667 ], [ -122.068972000093609, 37.378540000255676 ], [ -122.068672000329286, 37.378340000875234 ], [ -122.067972000470249, 37.378140000882169 ], [ -122.067972000207945, 37.377740000855958 ], [ -122.067871999546654, 37.376040000294601 ], [ -122.067669000285449, 37.373862000398148 ], [ -122.067577000027072, 37.373342000356274 ], [ -122.067387999808503, 37.373019000568817 ], [ -122.06588899968807, 37.370462001036962 ], [ -122.063987999695897, 37.367239000586721 ], [ -122.06387199954186, 37.367041000300958 ], [ -122.063452000239508, 37.366368000816912 ], [ -122.063253000210707, 37.363575000556551 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 388, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.095773000340643, 37.358841000489264 ], [ -122.095773000161287, 37.359241000784607 ], [ -122.09581900048174, 37.359655001082565 ], [ -122.095872999486758, 37.360141000778619 ], [ -122.095873000214752, 37.360441000721622 ], [ -122.095872999393606, 37.361241001076657 ], [ -122.095872999515663, 37.36264100100469 ], [ -122.095873000470121, 37.363441001082414 ], [ -122.095873000229332, 37.364041000613305 ], [ -122.095872999747499, 37.364841000494941 ], [ -122.095873000287582, 37.366740000873662 ], [ -122.095072999430442, 37.366840001049923 ], [ -122.094173000154925, 37.366840000456492 ], [ -122.093072999615515, 37.366841000437887 ], [ -122.091972999893642, 37.366841000502241 ], [ -122.090873000264608, 37.366841000248968 ], [ -122.089673000342472, 37.366741000545709 ], [ -122.088972999768984, 37.366841000773661 ], [ -122.088972999561648, 37.365741000246729 ], [ -122.088555000093692, 37.365689000974157 ], [ -122.088172999768474, 37.365641000376705 ], [ -122.086873000149623, 37.365741001112866 ], [ -122.086872999780553, 37.364641000555437 ], [ -122.085072999826593, 37.364941000847757 ], [ -122.084572999676936, 37.364741000263699 ], [ -122.083672999963184, 37.36454100077259 ], [ -122.082360000174177, 37.364660000582276 ], [ -122.080372999842155, 37.364841000794726 ], [ -122.079573000369024, 37.36484100061584 ], [ -122.078573000241718, 37.364841000886877 ], [ -122.078073000206274, 37.364841001005921 ], [ -122.078073000011202, 37.364041000369753 ], [ -122.078073000470681, 37.363729000349586 ], [ -122.078073000346535, 37.362647000239889 ], [ -122.078073000346279, 37.362641000810221 ], [ -122.0780730005023, 37.362141000245558 ], [ -122.078071999867888, 37.361441000597836 ], [ -122.078071999406717, 37.361041000966985 ], [ -122.076472000183927, 37.361041000567447 ], [ -122.07577199976626, 37.361141000456563 ], [ -122.075281000193684, 37.361161000853578 ], [ -122.074678999526753, 37.361185000882379 ], [ -122.074272000300226, 37.361141000821362 ], [ -122.073971999981552, 37.361141000410335 ], [ -122.073171999703689, 37.36104100030704 ], [ -122.072172000433341, 37.361141000907672 ], [ -122.07087200019366, 37.361241000975816 ], [ -122.070572000029699, 37.361041000796192 ], [ -122.069972000452481, 37.36114100035519 ], [ -122.068872000265955, 37.361041000436302 ], [ -122.067872000133221, 37.361141000687262 ], [ -122.066701999463916, 37.361079000635016 ], [ -122.065971999430474, 37.36104100103865 ], [ -122.065271999678686, 37.361041000850825 ], [ -122.064771999394324, 37.361041000751236 ], [ -122.0639719994291, 37.361041000704923 ], [ -122.063871999892584, 37.363141000895524 ], [ -122.06477200038546, 37.363141000236368 ], [ -122.065172000240352, 37.36314100054588 ], [ -122.06507199950525, 37.363541000587972 ], [ -122.065079000278772, 37.363577001087961 ], [ -122.063744000158579, 37.36356900050226 ], [ -122.063253000210707, 37.363575000556551 ], [ -122.063072000370852, 37.361041000837901 ], [ -122.063027999504882, 37.360644000708938 ], [ -122.062918999530766, 37.359660000278829 ], [ -122.062872000156474, 37.359241000291277 ], [ -122.062861000072161, 37.359041000462767 ], [ -122.06282100044784, 37.358272000671867 ], [ -122.062778999877906, 37.357474000904752 ], [ -122.06277199985368, 37.357341000782718 ], [ -122.062415999974988, 37.356541000827796 ], [ -122.062372000018016, 37.356441000774055 ], [ -122.061872000341509, 37.354241000651506 ], [ -122.061772000342458, 37.353641000804849 ], [ -122.061071999526661, 37.351841000585445 ], [ -122.061562999575173, 37.351845000682843 ], [ -122.061771999404471, 37.351841000810893 ], [ -122.062472000455244, 37.351841000507505 ], [ -122.063372000240648, 37.351841000712341 ], [ -122.065971999470975, 37.351841000784255 ], [ -122.067206999631679, 37.351728000389308 ], [ -122.067471999605786, 37.351941000306908 ], [ -122.068871999651165, 37.351841000862869 ], [ -122.069771999873495, 37.351841001036703 ], [ -122.070571999623667, 37.351841000945782 ], [ -122.071471999965354, 37.351841000801556 ], [ -122.072671999761226, 37.351841000765631 ], [ -122.073172000276216, 37.351841000466457 ], [ -122.073972000225865, 37.351841000811625 ], [ -122.074271999654073, 37.351841001006171 ], [ -122.075072000029152, 37.351941000486761 ], [ -122.076167999552695, 37.351941000795243 ], [ -122.077972000394396, 37.351941000966846 ], [ -122.079143000431017, 37.351912000960603 ], [ -122.081292000345442, 37.35185800074391 ], [ -122.08257299987811, 37.351941000924612 ], [ -122.083572999940458, 37.35204100044281 ], [ -122.084473000156521, 37.352041000515939 ], [ -122.085573000001617, 37.352041000514212 ], [ -122.085373000316537, 37.350841000375134 ], [ -122.086872999526719, 37.352041000265181 ], [ -122.08757300033723, 37.352341000269035 ], [ -122.095773000340643, 37.358841000489264 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 384, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.104673000022686, 37.365640000390918 ], [ -122.105272999911122, 37.365940000667393 ], [ -122.105672999859749, 37.36614000066897 ], [ -122.106790000144059, 37.365018000859841 ], [ -122.107572999840087, 37.364540000307251 ], [ -122.108063000125043, 37.364051000595005 ], [ -122.108167999492579, 37.363947000454715 ], [ -122.108373000398686, 37.363741001080186 ], [ -122.108672999937667, 37.363441000742093 ], [ -122.107873000219811, 37.362941000328966 ], [ -122.107873000012106, 37.362241000729 ], [ -122.109172999837384, 37.36124100065058 ], [ -122.109473000223517, 37.361441000813223 ], [ -122.110273000055543, 37.361784000823576 ], [ -122.110873000332234, 37.362041000548743 ], [ -122.111474000519621, 37.362441000830543 ], [ -122.112467999939284, 37.363710000360747 ], [ -122.112704000032466, 37.364012001057596 ], [ -122.113273999754512, 37.364740001098369 ], [ -122.113349999661892, 37.364765000392516 ], [ -122.11442399970403, 37.365123000354608 ], [ -122.114474000005288, 37.365140000287631 ], [ -122.114560999666409, 37.3651730005001 ], [ -122.114744999945117, 37.365242000499251 ], [ -122.115273999832851, 37.365440000625696 ], [ -122.114173999758023, 37.366540000814048 ], [ -122.113673999433161, 37.367140000883118 ], [ -122.113374000215842, 37.367340000848031 ], [ -122.112974000158388, 37.367940001119436 ], [ -122.112774000288141, 37.36814000044199 ], [ -122.112273999436653, 37.368740000619965 ], [ -122.111674000348586, 37.369340001054304 ], [ -122.111173999556982, 37.36994000087828 ], [ -122.110973999672723, 37.37014000064071 ], [ -122.11087400038376, 37.370340001069238 ], [ -122.110573999606189, 37.370640000228789 ], [ -122.109773000096979, 37.371540000938722 ], [ -122.108972999992645, 37.372440000810094 ], [ -122.107673000391074, 37.37384000085904 ], [ -122.106929000104884, 37.374584000887445 ], [ -122.106847999430158, 37.374639001077526 ], [ -122.106172999652472, 37.375440000773587 ], [ -122.105273000082306, 37.376540000351 ], [ -122.104572999475621, 37.377240000854599 ], [ -122.104172999867288, 37.377640000249066 ], [ -122.103572999755883, 37.37824000031037 ], [ -122.102772999904701, 37.37914000061086 ], [ -122.102072999672217, 37.379740001076421 ], [ -122.100472999976489, 37.381440001085835 ], [ -122.099872999994759, 37.382240000490825 ], [ -122.09927299955082, 37.382740000484453 ], [ -122.098473000140132, 37.38364000112513 ], [ -122.098173000045307, 37.383940000955342 ], [ -122.097272999522332, 37.384940000999855 ], [ -122.096073000020638, 37.386240000814595 ], [ -122.096072999716839, 37.385440001040891 ], [ -122.095972999985364, 37.384440000391002 ], [ -122.092372999597202, 37.38444000037908 ], [ -122.092373000285647, 37.384040000951885 ], [ -122.091773000321638, 37.383940001118589 ], [ -122.091773000001197, 37.384440000388828 ], [ -122.090972999450642, 37.384440000463847 ], [ -122.090959000344, 37.384003001024873 ], [ -122.09047300045998, 37.384040000648788 ], [ -122.090272999989537, 37.38444000105396 ], [ -122.089473000017065, 37.384540000730638 ], [ -122.089972999673662, 37.383040000477408 ], [ -122.08947299949466, 37.381840001058833 ], [ -122.088873000225192, 37.381440000486769 ], [ -122.092172999399338, 37.381440001069095 ], [ -122.09357300035677, 37.381440000893726 ], [ -122.095972999921216, 37.381640000365813 ], [ -122.096072999673069, 37.380940000918599 ], [ -122.096072999786585, 37.379940000537921 ], [ -122.096072999525006, 37.379540000697567 ], [ -122.094372999877635, 37.379440000553807 ], [ -122.093373000192145, 37.379440000535624 ], [ -122.093372999666968, 37.376840000507272 ], [ -122.0953729994458, 37.376740000717916 ], [ -122.095972999954725, 37.376740001035145 ], [ -122.095972999563827, 37.37624000096924 ], [ -122.095973000065868, 37.376040000936335 ], [ -122.095972999807714, 37.374940000614139 ], [ -122.095972999582301, 37.3739400010491 ], [ -122.095973000323113, 37.373540000822629 ], [ -122.095973000124772, 37.372640001103413 ], [ -122.095933999714703, 37.371828000900628 ], [ -122.095873000360299, 37.370540000846994 ], [ -122.095872999903463, 37.368840000533986 ], [ -122.095873000287582, 37.366740000873662 ], [ -122.095872999747499, 37.364841000494941 ], [ -122.095873000229332, 37.364041000613305 ], [ -122.095873000470121, 37.363441001082414 ], [ -122.095872999515663, 37.36264100100469 ], [ -122.095872999393606, 37.361241001076657 ], [ -122.095873000214752, 37.360441000721622 ], [ -122.095872999486758, 37.360141000778619 ], [ -122.09581900048174, 37.359655001082565 ], [ -122.095773000161287, 37.359241000784607 ], [ -122.095773000340643, 37.358841000489264 ], [ -122.097172999438797, 37.359841000766743 ], [ -122.097373000278196, 37.360041000920297 ], [ -122.09903499961186, 37.361242000967685 ], [ -122.099172999962903, 37.361341000897646 ], [ -122.104673000022686, 37.365640000390918 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 370, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.104572999475621, 37.377240000854599 ], [ -122.105273000082306, 37.376540000351 ], [ -122.106172999652472, 37.375440000773587 ], [ -122.106847999430158, 37.374639001077526 ], [ -122.106929000104884, 37.374584000887445 ], [ -122.107673000391074, 37.37384000085904 ], [ -122.108972999992645, 37.372440000810094 ], [ -122.109773000096979, 37.371540000938722 ], [ -122.110573999606189, 37.370640000228789 ], [ -122.11087400038376, 37.370340001069238 ], [ -122.110973999672723, 37.37014000064071 ], [ -122.111173999556982, 37.36994000087828 ], [ -122.111674000348586, 37.369340001054304 ], [ -122.112273999436653, 37.368740000619965 ], [ -122.112774000288141, 37.36814000044199 ], [ -122.112974000158388, 37.367940001119436 ], [ -122.113374000215842, 37.367340000848031 ], [ -122.113673999433161, 37.367140000883118 ], [ -122.114173999758023, 37.366540000814048 ], [ -122.115273999832851, 37.365440000625696 ], [ -122.116273999603948, 37.364540000537737 ], [ -122.116774000199968, 37.364840000394388 ], [ -122.116973999726326, 37.365040000926584 ], [ -122.117473999839618, 37.365240001079925 ], [ -122.117674000080527, 37.365540000787398 ], [ -122.117274000228889, 37.36654000023389 ], [ -122.117695999743603, 37.368481000508183 ], [ -122.117774000106238, 37.368840000312709 ], [ -122.117646000466593, 37.369992000663707 ], [ -122.117573999431144, 37.370640000516232 ], [ -122.11813100011139, 37.370985001031634 ], [ -122.118204000065504, 37.371030000324055 ], [ -122.118424999847448, 37.3718350003222 ], [ -122.118651000417969, 37.372660000365968 ], [ -122.118743000268537, 37.37299400084661 ], [ -122.119573999845073, 37.373640001022579 ], [ -122.119610999981148, 37.374940000805843 ], [ -122.119674000008217, 37.377140000780599 ], [ -122.120431999534986, 37.378353000745705 ], [ -122.12067399980215, 37.378740000776979 ], [ -122.123873999519418, 37.380740000602792 ], [ -122.123473999903979, 37.381040000486095 ], [ -122.122873999599122, 37.381240000998432 ], [ -122.122174000054869, 37.38124000044629 ], [ -122.121773999520357, 37.381240000453111 ], [ -122.121473999411762, 37.381240000248262 ], [ -122.121074000022631, 37.381240000599348 ], [ -122.120673999520704, 37.381240000490195 ], [ -122.120274000154367, 37.381240000838872 ], [ -122.119873999675221, 37.381240000727338 ], [ -122.119005999463141, 37.381236000718097 ], [ -122.118362000388331, 37.381262000521993 ], [ -122.117573999678754, 37.38124000043365 ], [ -122.116015000428547, 37.381244000668332 ], [ -122.115185000362715, 37.381242000787879 ], [ -122.114573999749837, 37.381240000880069 ], [ -122.114173999437625, 37.381240000413428 ], [ -122.114174000173918, 37.383240000501765 ], [ -122.114174000163274, 37.384040000710037 ], [ -122.114174000510488, 37.384940000820421 ], [ -122.112673999401551, 37.384940000816592 ], [ -122.111473999532038, 37.384940000999194 ], [ -122.10727300000859, 37.384940000472469 ], [ -122.106673000296411, 37.384940000365731 ], [ -122.105573000503782, 37.384940001122168 ], [ -122.104472999683637, 37.384940000649493 ], [ -122.103772999405862, 37.384940000921375 ], [ -122.103373000073603, 37.384940000767287 ], [ -122.102672999854022, 37.384940000835954 ], [ -122.102172999887514, 37.384940000280352 ], [ -122.101473000327047, 37.385040000371774 ], [ -122.101073000458157, 37.384940000631758 ], [ -122.099972999990996, 37.384940000655234 ], [ -122.097272999522332, 37.384940000999855 ], [ -122.098173000045307, 37.383940000955342 ], [ -122.098473000140132, 37.38364000112513 ], [ -122.09927299955082, 37.382740000484453 ], [ -122.099872999994759, 37.382240000490825 ], [ -122.100472999976489, 37.381440001085835 ], [ -122.102072999672217, 37.379740001076421 ], [ -122.102772999904701, 37.37914000061086 ], [ -122.103572999755883, 37.37824000031037 ], [ -122.104172999867288, 37.377640000249066 ], [ -122.104572999475621, 37.377240000854599 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 371, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.114174000090301, 37.398640000329564 ], [ -122.114173999892699, 37.400140000414432 ], [ -122.113974000136338, 37.40064000039667 ], [ -122.113674000230588, 37.401140000302142 ], [ -122.112874000246563, 37.400740000882273 ], [ -122.112074000159041, 37.40024000083794 ], [ -122.110866000483981, 37.399665000791025 ], [ -122.110731999553579, 37.399601001033972 ], [ -122.109973999820426, 37.39924000025195 ], [ -122.109629000503645, 37.399071000278077 ], [ -122.109123999593024, 37.398839000649325 ], [ -122.108219999987938, 37.398418000373823 ], [ -122.106708000284868, 37.397788000428719 ], [ -122.106374000065827, 37.397640000808778 ], [ -122.104573000110477, 37.39694000096295 ], [ -122.103373000092247, 37.39624000085842 ], [ -122.101873000416063, 37.395640000296169 ], [ -122.101270999861612, 37.39537800041515 ], [ -122.102816999789653, 37.393202000471085 ], [ -122.103998000172098, 37.391559000262603 ], [ -122.105105000323519, 37.389923000683048 ], [ -122.105620000149884, 37.389198000688715 ], [ -122.106067000302872, 37.388542000329338 ], [ -122.104263000008217, 37.388540001117427 ], [ -122.104172999722863, 37.388540000735794 ], [ -122.103373000059406, 37.388540000663568 ], [ -122.102773000061944, 37.388540000434809 ], [ -122.102173000083866, 37.388540000766419 ], [ -122.10107300001016, 37.3885400008255 ], [ -122.099724999740616, 37.388566000549659 ], [ -122.09736599999006, 37.388626000787951 ], [ -122.096773000266552, 37.388640000836503 ], [ -122.096072999868355, 37.388640000394098 ], [ -122.096073000455689, 37.388140000414225 ], [ -122.096073000427879, 37.387240001059148 ], [ -122.096072999848261, 37.386840000797712 ], [ -122.096073000020638, 37.386240000814595 ], [ -122.097272999522332, 37.384940000999855 ], [ -122.099972999990996, 37.384940000655234 ], [ -122.101073000458157, 37.384940000631758 ], [ -122.101473000327047, 37.385040000371774 ], [ -122.102172999887514, 37.384940000280352 ], [ -122.102672999854022, 37.384940000835954 ], [ -122.103373000073603, 37.384940000767287 ], [ -122.103772999405862, 37.384940000921375 ], [ -122.104472999683637, 37.384940000649493 ], [ -122.105573000503782, 37.384940001122168 ], [ -122.106673000296411, 37.384940000365731 ], [ -122.10727300000859, 37.384940000472469 ], [ -122.111473999532038, 37.384940000999194 ], [ -122.112673999401551, 37.384940000816592 ], [ -122.114174000510488, 37.384940000820421 ], [ -122.114173999510555, 37.385840000786679 ], [ -122.114173999422462, 37.386740000625728 ], [ -122.114174000377375, 37.386940000579052 ], [ -122.114174000023255, 37.387840000252304 ], [ -122.114074000120368, 37.388640000598592 ], [ -122.11407399957794, 37.388840000476392 ], [ -122.1141739997705, 37.389640001002768 ], [ -122.114173999835501, 37.389940000776065 ], [ -122.114173999874865, 37.390840000906785 ], [ -122.114174000243537, 37.390940000815604 ], [ -122.114173999787283, 37.391440000317722 ], [ -122.114174000479039, 37.391640001014885 ], [ -122.114173999928752, 37.392140000458355 ], [ -122.114174000430296, 37.392640000769674 ], [ -122.114209999543718, 37.39385100039182 ], [ -122.114174000104555, 37.394440000991132 ], [ -122.114173999425958, 37.395040000941528 ], [ -122.114174000019958, 37.395740000668496 ], [ -122.114173999988552, 37.396740000646282 ], [ -122.114210000251276, 37.397524000241567 ], [ -122.114174000394826, 37.398140000520741 ], [ -122.114174000090301, 37.398640000329564 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 367, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.120974000380031, 37.407339000904884 ], [ -122.120073999947962, 37.406339000618516 ], [ -122.123673999433663, 37.402340000601839 ], [ -122.124039000049692, 37.401829000479182 ], [ -122.124673999551462, 37.400940001094156 ], [ -122.130074000422624, 37.400540000796525 ], [ -122.131573999782532, 37.399940000543864 ], [ -122.133173999825701, 37.399340000387504 ], [ -122.134173999453992, 37.398940000817362 ], [ -122.135073999707103, 37.398640000260336 ], [ -122.135574000285345, 37.398940000739699 ], [ -122.136273999626312, 37.399340000937329 ], [ -122.136073999672618, 37.399740000495633 ], [ -122.133574000453692, 37.404839000863561 ], [ -122.13388199959229, 37.405524000748414 ], [ -122.134474000289472, 37.406839001049782 ], [ -122.134174000072065, 37.406939000768162 ], [ -122.134174000455971, 37.407439000559684 ], [ -122.134174000527537, 37.408339000255772 ], [ -122.134374000142927, 37.408639000273013 ], [ -122.13487399973225, 37.408739000427637 ], [ -122.13517400040476, 37.408939000976389 ], [ -122.135674000317522, 37.409339000630084 ], [ -122.135873999676861, 37.409439000404888 ], [ -122.136674000160795, 37.409839000660291 ], [ -122.13737399947054, 37.410239000492268 ], [ -122.138073999433942, 37.410639000702567 ], [ -122.138573999875064, 37.410839000345277 ], [ -122.139573999705817, 37.411239000510264 ], [ -122.14017399996834, 37.412339000466147 ], [ -122.140014000414865, 37.412552000894394 ], [ -122.139873999971798, 37.412739001051037 ], [ -122.137673999598633, 37.415639000994922 ], [ -122.13687400016012, 37.416539000323006 ], [ -122.136574000288903, 37.416639000380741 ], [ -122.136174000050048, 37.416839000518102 ], [ -122.136273999777472, 37.417039000363296 ], [ -122.134573999841436, 37.419039000623222 ], [ -122.133973999438766, 37.418739000984608 ], [ -122.133374000438963, 37.418439001024474 ], [ -122.132974000001767, 37.418239000858655 ], [ -122.132574000188711, 37.417939000662194 ], [ -122.131773999704521, 37.417539000797028 ], [ -122.131274000519994, 37.41733900042238 ], [ -122.13017399941657, 37.416739001105547 ], [ -122.129573999900089, 37.416439000842949 ], [ -122.12867399955438, 37.415939000360687 ], [ -122.128174000062302, 37.41573900043597 ], [ -122.126873999584362, 37.414639000836395 ], [ -122.125573999628529, 37.413039000579353 ], [ -122.124773999434709, 37.412039000792255 ], [ -122.124273999860279, 37.411539000853786 ], [ -122.12337400035004, 37.410439001011582 ], [ -122.120974000380031, 37.407339000904884 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 366, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.12337400035004, 37.410439001011582 ], [ -122.124273999860279, 37.411539000853786 ], [ -122.124773999434709, 37.412039000792255 ], [ -122.125573999628529, 37.413039000579353 ], [ -122.126873999584362, 37.414639000836395 ], [ -122.128174000062302, 37.41573900043597 ], [ -122.12867399955438, 37.415939000360687 ], [ -122.129573999900089, 37.416439000842949 ], [ -122.13017399941657, 37.416739001105547 ], [ -122.131274000519994, 37.41733900042238 ], [ -122.131773999704521, 37.417539000797028 ], [ -122.132574000188711, 37.417939000662194 ], [ -122.132974000001767, 37.418239000858655 ], [ -122.133374000438963, 37.418439001024474 ], [ -122.133973999438766, 37.418739000984608 ], [ -122.134573999841436, 37.419039000623222 ], [ -122.134873999572761, 37.419139000410034 ], [ -122.135673999606425, 37.41963900057285 ], [ -122.135874000098013, 37.419739000328569 ], [ -122.136273999678423, 37.419839001038866 ], [ -122.137173999675795, 37.420439001097868 ], [ -122.138173999805744, 37.420939000961425 ], [ -122.138574000194978, 37.421139000711207 ], [ -122.139474000449525, 37.421539000379518 ], [ -122.139674000427235, 37.42173900050836 ], [ -122.140373999457339, 37.422039000895815 ], [ -122.141174999968143, 37.422439000479855 ], [ -122.14187500041362, 37.422839000603297 ], [ -122.142275000416959, 37.423039000483783 ], [ -122.141075000024287, 37.424339000991068 ], [ -122.140373999995276, 37.425039000906636 ], [ -122.140194000474807, 37.425219000388793 ], [ -122.140174000215524, 37.425239001012478 ], [ -122.140273999482304, 37.42573900035643 ], [ -122.140173999485881, 37.426739000831326 ], [ -122.140174000281661, 37.427939000968699 ], [ -122.139773999685289, 37.427672001121863 ], [ -122.138674000040979, 37.426939000849771 ], [ -122.136574000027025, 37.425739001097675 ], [ -122.135614999537168, 37.425145000908302 ], [ -122.134473999846435, 37.424439000700772 ], [ -122.133674000359306, 37.423939000703463 ], [ -122.1316499996083, 37.422696000308598 ], [ -122.126673999607604, 37.419639000467633 ], [ -122.123373999802752, 37.417539000672519 ], [ -122.118773999678311, 37.414539000262067 ], [ -122.115673999901787, 37.412539000870254 ], [ -122.116332999489629, 37.411779000936562 ], [ -122.11697400010155, 37.411039000729389 ], [ -122.117196999418013, 37.410404000664037 ], [ -122.117314000427285, 37.410209000567235 ], [ -122.117959999986496, 37.40913000097617 ], [ -122.117874000250879, 37.409039000551196 ], [ -122.117674000039798, 37.408439001099474 ], [ -122.120073999947962, 37.406339000618516 ], [ -122.120974000380031, 37.407339000904884 ], [ -122.12337400035004, 37.410439001011582 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 363, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.118473999757299, 37.414739000737995 ], [ -122.118773999678311, 37.414539000262067 ], [ -122.123373999802752, 37.417539000672519 ], [ -122.126673999607604, 37.419639000467633 ], [ -122.126573999725636, 37.419939001102925 ], [ -122.12647399975252, 37.420939000848747 ], [ -122.125773999553928, 37.421539000338754 ], [ -122.124874000333349, 37.422039001059538 ], [ -122.124073999527027, 37.422639000703519 ], [ -122.123273999451953, 37.423239001119796 ], [ -122.122756000441356, 37.423527000946557 ], [ -122.121473999708272, 37.42423900100917 ], [ -122.12007399954058, 37.425139000950871 ], [ -122.118274000472312, 37.42633900049934 ], [ -122.117773999460184, 37.425939000352415 ], [ -122.116273999879297, 37.425039000653896 ], [ -122.1147739999941, 37.42413900090034 ], [ -122.112273999643293, 37.422639000289685 ], [ -122.111473999557106, 37.421639000797875 ], [ -122.111240999916632, 37.421334000810411 ], [ -122.110173999485482, 37.419939000558344 ], [ -122.111674000409309, 37.419139001071869 ], [ -122.112774000155483, 37.418539001017983 ], [ -122.114374000003878, 37.417739000682992 ], [ -122.115173999595598, 37.417339000394257 ], [ -122.116473999707381, 37.41653900036232 ], [ -122.117573999691601, 37.415639000579922 ], [ -122.118473999757299, 37.414739000737995 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 360, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.124073999527027, 37.422639000703519 ], [ -122.124874000333349, 37.422039001059538 ], [ -122.125773999553928, 37.421539000338754 ], [ -122.12647399975252, 37.420939000848747 ], [ -122.126573999725636, 37.419939001102925 ], [ -122.126673999607604, 37.419639000467633 ], [ -122.1316499996083, 37.422696000308598 ], [ -122.133674000359306, 37.423939000703463 ], [ -122.134473999846435, 37.424439000700772 ], [ -122.135614999537168, 37.425145000908302 ], [ -122.136574000027025, 37.425739001097675 ], [ -122.138674000040979, 37.426939000849771 ], [ -122.139773999685289, 37.427672001121863 ], [ -122.140174000281661, 37.427939000968699 ], [ -122.140174000379517, 37.4281390008179 ], [ -122.140174000466914, 37.428339000660394 ], [ -122.140074000292969, 37.428639000788174 ], [ -122.139573999909786, 37.429239000389835 ], [ -122.139301000157246, 37.429580001076225 ], [ -122.139174000304209, 37.429739001072065 ], [ -122.138573999695865, 37.430339000734463 ], [ -122.13807400010414, 37.430839000602937 ], [ -122.13747400012717, 37.43133900049294 ], [ -122.136773999979269, 37.431939000962743 ], [ -122.136094999643873, 37.432741000768125 ], [ -122.135674000095605, 37.433239000456396 ], [ -122.135133999965575, 37.43371900043693 ], [ -122.134773999783533, 37.434039001114286 ], [ -122.134573999535263, 37.434339000484599 ], [ -122.133568999945012, 37.43534400090445 ], [ -122.133274000516806, 37.435639000291609 ], [ -122.131773999923467, 37.434739000276871 ], [ -122.130774000239199, 37.434139000540462 ], [ -122.129773999921227, 37.433439000260954 ], [ -122.128773999526402, 37.432839000765675 ], [ -122.127474000138903, 37.432139000257685 ], [ -122.126974000021661, 37.431739001106259 ], [ -122.12637400030691, 37.431339000778969 ], [ -122.126174000120557, 37.431239000367754 ], [ -122.125874000184282, 37.431039000811055 ], [ -122.124673999434549, 37.430239000387111 ], [ -122.123774000482427, 37.429839001130979 ], [ -122.122574000474046, 37.429039001081037 ], [ -122.121674000519334, 37.428439000728112 ], [ -122.121274000331169, 37.428239000838467 ], [ -122.120673999989037, 37.42783900048596 ], [ -122.119673999650288, 37.427139000576332 ], [ -122.118274000472312, 37.42633900049934 ], [ -122.12007399954058, 37.425139000950871 ], [ -122.121473999708272, 37.42423900100917 ], [ -122.122756000441356, 37.423527000946557 ], [ -122.123273999451953, 37.423239001119796 ], [ -122.124073999527027, 37.422639000703519 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 358, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.139799000172673, 37.447536000363407 ], [ -122.139775000160085, 37.448638001063237 ], [ -122.139774999802285, 37.449438000351385 ], [ -122.139647000271935, 37.449694000425431 ], [ -122.13957499964468, 37.449838001012566 ], [ -122.139374999593073, 37.450238000397057 ], [ -122.139226999554268, 37.450466000873909 ], [ -122.138875000183361, 37.451038000406818 ], [ -122.138473999646664, 37.451738000653719 ], [ -122.137874000022592, 37.452638000711083 ], [ -122.137173999899318, 37.45353800112008 ], [ -122.13677399958523, 37.454438000486675 ], [ -122.136130000524972, 37.454230000253162 ], [ -122.135574000357963, 37.454038001003063 ], [ -122.135397000324119, 37.453895000916717 ], [ -122.134512000137562, 37.45398600057927 ], [ -122.13420700036724, 37.454093000616382 ], [ -122.133779999688144, 37.454200000687628 ], [ -122.133673999473615, 37.45423800048475 ], [ -122.133200000480713, 37.45421500060592 ], [ -122.132558999839446, 37.454070000767999 ], [ -122.131888000498904, 37.453872000551712 ], [ -122.131574000021601, 37.453838000330137 ], [ -122.131354000313522, 37.453635000974323 ], [ -122.131273999529114, 37.4533380005834 ], [ -122.130941999834477, 37.453185000397482 ], [ -122.130374000308606, 37.453138000795711 ], [ -122.129797000334662, 37.453040000704938 ], [ -122.129141000365308, 37.452834000396571 ], [ -122.128728999496218, 37.45247600068533 ], [ -122.128560999538763, 37.452048000505222 ], [ -122.128373999721404, 37.45193800103322 ], [ -122.12792000048259, 37.452018000942751 ], [ -122.127773999842773, 37.452138000419581 ], [ -122.127696999572038, 37.452469000493387 ], [ -122.125173999608549, 37.450638000353294 ], [ -122.124273999479726, 37.449938000741504 ], [ -122.122974000134008, 37.448738000504093 ], [ -122.121073999793879, 37.446839000497903 ], [ -122.121574000247747, 37.446639000954463 ], [ -122.123174000175609, 37.445739000586663 ], [ -122.124174000176126, 37.44463900042453 ], [ -122.124874000248738, 37.444039000390525 ], [ -122.125774000350034, 37.443139001002379 ], [ -122.126374000033209, 37.442539001066727 ], [ -122.127573999946833, 37.441239000674962 ], [ -122.128474000330144, 37.440439000779335 ], [ -122.128711999600554, 37.440186000255409 ], [ -122.130073999448896, 37.438739000395472 ], [ -122.130773999921828, 37.438039001101181 ], [ -122.132511999912637, 37.436371000333772 ], [ -122.133274000516806, 37.435639000291609 ], [ -122.133430000024674, 37.435756000881028 ], [ -122.13407400012683, 37.436239001060464 ], [ -122.135673999575943, 37.437139001124621 ], [ -122.136374000004736, 37.43763900025791 ], [ -122.137173999999732, 37.438139000628901 ], [ -122.137874000341284, 37.438539000624097 ], [ -122.139574000451063, 37.43963900087941 ], [ -122.140875000090034, 37.440439000500866 ], [ -122.142074999738128, 37.441139000672962 ], [ -122.143274999534839, 37.44193900057823 ], [ -122.141874999476627, 37.442339000894741 ], [ -122.140874999701808, 37.442539001086075 ], [ -122.139774999877474, 37.442939000723229 ], [ -122.139775000169877, 37.444438001017815 ], [ -122.139774999739586, 37.444839000997888 ], [ -122.139775000129958, 37.445538001119004 ], [ -122.139774999735408, 37.445938000529686 ], [ -122.139774999615085, 37.44653800095147 ], [ -122.139799000172673, 37.447536000363407 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 357, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.141088000194969, 37.456614000737936 ], [ -122.140816999933648, 37.456310000241842 ], [ -122.14077000000448, 37.456257000937207 ], [ -122.140234999718459, 37.4562320010874 ], [ -122.139875000423032, 37.456438000730948 ], [ -122.13953199953032, 37.455718001072285 ], [ -122.139502999741538, 37.455657000380867 ], [ -122.139014000085339, 37.455123000569692 ], [ -122.138448999433365, 37.454795000897157 ], [ -122.137761999679014, 37.454604000981583 ], [ -122.136907999916929, 37.454490000879545 ], [ -122.13677399958523, 37.454438000486675 ], [ -122.137173999899318, 37.45353800112008 ], [ -122.137874000022592, 37.452638000711083 ], [ -122.138473999646664, 37.451738000653719 ], [ -122.138875000183361, 37.451038000406818 ], [ -122.139226999554268, 37.450466000873909 ], [ -122.139374999593073, 37.450238000397057 ], [ -122.13957499964468, 37.449838001012566 ], [ -122.139647000271935, 37.449694000425431 ], [ -122.139774999802285, 37.449438000351385 ], [ -122.139775000160085, 37.448638001063237 ], [ -122.139799000172673, 37.447536000363407 ], [ -122.139774999615085, 37.44653800095147 ], [ -122.139774999735408, 37.445938000529686 ], [ -122.139775000129958, 37.445538001119004 ], [ -122.139774999739586, 37.444839000997888 ], [ -122.139775000169877, 37.444438001017815 ], [ -122.139774999877474, 37.442939000723229 ], [ -122.140874999701808, 37.442539001086075 ], [ -122.141874999476627, 37.442339000894741 ], [ -122.143274999534839, 37.44193900057823 ], [ -122.145774999727081, 37.443538000310113 ], [ -122.146975000177505, 37.444338000583656 ], [ -122.148274999806219, 37.445138000947914 ], [ -122.149475000313672, 37.445938001126002 ], [ -122.150774999785753, 37.446638000952127 ], [ -122.151974999905917, 37.447438001035479 ], [ -122.153274999982955, 37.44823800060886 ], [ -122.154574999438196, 37.449038000331321 ], [ -122.155674999834801, 37.449838001031758 ], [ -122.156975000427877, 37.450638000554065 ], [ -122.158275000390702, 37.45143800112573 ], [ -122.159574999743981, 37.452238000943957 ], [ -122.160774999489576, 37.453038001071683 ], [ -122.161562999921969, 37.453479000706665 ], [ -122.162374999647099, 37.453938001092247 ], [ -122.162089000434165, 37.453808001037174 ], [ -122.16163100022834, 37.453640000670156 ], [ -122.161169999636812, 37.453574000858488 ], [ -122.160777000458793, 37.453625000385671 ], [ -122.160501999819886, 37.45405200059421 ], [ -122.160417000229103, 37.454315000533121 ], [ -122.160392000395134, 37.454391000359536 ], [ -122.16025500006684, 37.454574001091679 ], [ -122.159775000031772, 37.454638001061461 ], [ -122.159277999613423, 37.454627000442422 ], [ -122.15892700028229, 37.454459000885365 ], [ -122.158744000377951, 37.45413100106235 ], [ -122.158590999673279, 37.453803000925788 ], [ -122.158475000441541, 37.453638000688684 ], [ -122.157995999748096, 37.453582000493647 ], [ -122.15777499959944, 37.453538000993298 ], [ -122.157474999580643, 37.453538000533122 ], [ -122.157111000118178, 37.453757000383042 ], [ -122.156943999910339, 37.454024000735409 ], [ -122.156791000208173, 37.454177000891832 ], [ -122.156471000259302, 37.454207000745804 ], [ -122.156027999976416, 37.454085000456203 ], [ -122.155737999826627, 37.454093000655305 ], [ -122.155447999540826, 37.454284000810546 ], [ -122.155280000387592, 37.454642000705306 ], [ -122.155433999645581, 37.455073001056697 ], [ -122.15544799995962, 37.455085000707392 ], [ -122.155618999710967, 37.455310000285657 ], [ -122.15560100034476, 37.455443000737404 ], [ -122.15561600025201, 37.455634000748717 ], [ -122.155511000427865, 37.455708001011274 ], [ -122.155445999962126, 37.455754000958891 ], [ -122.155437000356429, 37.455760000907595 ], [ -122.155433000365932, 37.455764000442976 ], [ -122.154639000066695, 37.455779000956923 ], [ -122.15435000022967, 37.455802000589074 ], [ -122.154014000063583, 37.456038000305824 ], [ -122.153650000139351, 37.456450000232579 ], [ -122.153517000202029, 37.456600000774039 ], [ -122.153097999811862, 37.457076000802751 ], [ -122.152974999902128, 37.457238000804949 ], [ -122.15260999968973, 37.457580000603826 ], [ -122.152475000165268, 37.457738000363904 ], [ -122.152060999593743, 37.457732000974332 ], [ -122.151831999669909, 37.45754100072898 ], [ -122.151740000279474, 37.457267000515294 ], [ -122.15147499990816, 37.457238000778105 ], [ -122.151359000433743, 37.457160000748196 ], [ -122.151074999938643, 37.457238000499224 ], [ -122.150916000366948, 37.457213000400401 ], [ -122.149939999947406, 37.457252000969909 ], [ -122.14927500009361, 37.457138001009213 ], [ -122.148627000088652, 37.457046000893421 ], [ -122.148248000444497, 37.456937000933138 ], [ -122.147834000356596, 37.456817000606939 ], [ -122.147422000495808, 37.456626000637144 ], [ -122.147101999429609, 37.456580000480152 ], [ -122.146975000130183, 37.456602000548727 ], [ -122.146383999505801, 37.456702000734779 ], [ -122.145957000511999, 37.456901001110808 ], [ -122.145651999868221, 37.457274000998119 ], [ -122.145621999785092, 37.457595000678438 ], [ -122.145468999449008, 37.45794600099142 ], [ -122.145240000005643, 37.45809800097193 ], [ -122.144974999528372, 37.458238000878346 ], [ -122.144391000454206, 37.458182000517866 ], [ -122.143230999469452, 37.458197001093417 ], [ -122.142315999877894, 37.457953001103931 ], [ -122.141774999647168, 37.457838000322795 ], [ -122.141379999897026, 37.457625000911477 ], [ -122.140774999957955, 37.457338000676884 ], [ -122.141055999954361, 37.457151000485112 ], [ -122.141139999572758, 37.456673000461898 ], [ -122.141088000194969, 37.456614000737936 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 359, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.143274999534839, 37.44193900057823 ], [ -122.142074999738128, 37.441139000672962 ], [ -122.140875000090034, 37.440439000500866 ], [ -122.139574000451063, 37.43963900087941 ], [ -122.137874000341284, 37.438539000624097 ], [ -122.137173999999732, 37.438139000628901 ], [ -122.136374000004736, 37.43763900025791 ], [ -122.135673999575943, 37.437139001124621 ], [ -122.13407400012683, 37.436239001060464 ], [ -122.133430000024674, 37.435756000881028 ], [ -122.133274000516806, 37.435639000291609 ], [ -122.133568999945012, 37.43534400090445 ], [ -122.134573999535263, 37.434339000484599 ], [ -122.134773999783533, 37.434039001114286 ], [ -122.135133999965575, 37.43371900043693 ], [ -122.135674000095605, 37.433239000456396 ], [ -122.136094999643873, 37.432741000768125 ], [ -122.136773999979269, 37.431939000962743 ], [ -122.13747400012717, 37.43133900049294 ], [ -122.13807400010414, 37.430839000602937 ], [ -122.138573999695865, 37.430339000734463 ], [ -122.139174000304209, 37.429739001072065 ], [ -122.139301000157246, 37.429580001076225 ], [ -122.139573999909786, 37.429239000389835 ], [ -122.140074000292969, 37.428639000788174 ], [ -122.140174000466914, 37.428339000660394 ], [ -122.140174000379517, 37.4281390008179 ], [ -122.140174000281661, 37.427939000968699 ], [ -122.140677000337632, 37.428236000748569 ], [ -122.14140399975453, 37.428665000686294 ], [ -122.142375000053605, 37.429239000455738 ], [ -122.144390000090652, 37.430533000610929 ], [ -122.146962999702055, 37.432185000368158 ], [ -122.150586999563771, 37.434512000663375 ], [ -122.15187499965505, 37.435339001058516 ], [ -122.15647499980382, 37.438139000916642 ], [ -122.155974999528183, 37.438239001067942 ], [ -122.155175000325784, 37.438639000333993 ], [ -122.154575000128318, 37.438839001066825 ], [ -122.153975000115949, 37.438939000246393 ], [ -122.151874999935544, 37.439539001011951 ], [ -122.149675000513795, 37.440139001048216 ], [ -122.147575000104666, 37.440839000854787 ], [ -122.146575000428186, 37.441139001045919 ], [ -122.146075000058147, 37.441239000549018 ], [ -122.145375000100046, 37.44133900035898 ], [ -122.144374999414893, 37.441739000926091 ], [ -122.143274999534839, 37.44193900057823 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 355, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.16697499966925, 37.437838000649279 ], [ -122.168009999521132, 37.434650001118939 ], [ -122.168112000012371, 37.434310000931475 ], [ -122.168774999966899, 37.432339000366404 ], [ -122.169275000036478, 37.431039000810514 ], [ -122.169774999982806, 37.43063900092919 ], [ -122.170375000447223, 37.429139000681857 ], [ -122.170374999918593, 37.429014001101422 ], [ -122.170613999900709, 37.428846000496328 ], [ -122.171550000514998, 37.429050000274138 ], [ -122.172774999786483, 37.429339000375116 ], [ -122.173874999963857, 37.426039001080774 ], [ -122.173075000056997, 37.42593900044043 ], [ -122.173375000024478, 37.424939000278592 ], [ -122.173674999665664, 37.423939000949701 ], [ -122.173475000469963, 37.422939000239161 ], [ -122.173474999955332, 37.422539001086527 ], [ -122.17007500020317, 37.422539000256215 ], [ -122.169275000231835, 37.422539000850676 ], [ -122.168475000355542, 37.421139001069321 ], [ -122.168849999618729, 37.420905000515042 ], [ -122.169274999738903, 37.420639000551645 ], [ -122.169675000048215, 37.420239000330284 ], [ -122.173874999485676, 37.418839000521942 ], [ -122.176874999471352, 37.420039001095873 ], [ -122.182676000112423, 37.421939000277774 ], [ -122.182754000485389, 37.421942000255385 ], [ -122.185376000367057, 37.422039001104082 ], [ -122.186375999467955, 37.422339000569089 ], [ -122.189876000105954, 37.424239001094655 ], [ -122.190976000249705, 37.424139000389104 ], [ -122.190976000079203, 37.424339001044153 ], [ -122.191139000423078, 37.424622000718799 ], [ -122.191154999418941, 37.424670000960695 ], [ -122.19129199939529, 37.425072000487589 ], [ -122.191230999901649, 37.425392001115966 ], [ -122.191078000328432, 37.425591000781225 ], [ -122.190875999638621, 37.425739000610882 ], [ -122.189576000470453, 37.427239000501665 ], [ -122.189834999952737, 37.428189000297287 ], [ -122.189876000234548, 37.428339000689078 ], [ -122.19007600024969, 37.428939000881599 ], [ -122.190275999909403, 37.429939000716189 ], [ -122.190376000311147, 37.43023900091363 ], [ -122.190498999719907, 37.430557000820258 ], [ -122.190604999969935, 37.430977000326294 ], [ -122.190575999633396, 37.431039000538306 ], [ -122.190376000081798, 37.431239000369644 ], [ -122.190361000415166, 37.431297000672863 ], [ -122.189887999959822, 37.431503000883374 ], [ -122.18938499952128, 37.431625000935242 ], [ -122.188975999649386, 37.431739000778528 ], [ -122.188676000210393, 37.431839000388401 ], [ -122.188376000414692, 37.432139000493088 ], [ -122.18797599962268, 37.433039000682129 ], [ -122.187675999468553, 37.433039000690194 ], [ -122.187475999690363, 37.433139000282679 ], [ -122.187157000278859, 37.433228000455152 ], [ -122.186592000130645, 37.433365000492358 ], [ -122.185859999533989, 37.433517000786786 ], [ -122.185264999753144, 37.43364700062417 ], [ -122.184775999508176, 37.433839000750247 ], [ -122.183675999470722, 37.435038000795302 ], [ -122.183638000097773, 37.435149000393743 ], [ -122.183475999524759, 37.435638000760804 ], [ -122.183356999979409, 37.435933000661727 ], [ -122.183276000140538, 37.436138000687606 ], [ -122.1833730002312, 37.43639300098431 ], [ -122.183419000304312, 37.436744000704238 ], [ -122.183295999566766, 37.437003000772478 ], [ -122.183007000447887, 37.437270000299243 ], [ -122.18283899987162, 37.43775100096785 ], [ -122.182731999687164, 37.438277000427043 ], [ -122.182517999765466, 37.439025000878118 ], [ -122.182122000194624, 37.439490000622179 ], [ -122.181975999970234, 37.43953800031376 ], [ -122.181524999576666, 37.439490000588449 ], [ -122.181067999396163, 37.439269000803087 ], [ -122.180474999761259, 37.439138000913609 ], [ -122.179974999730277, 37.439638000888515 ], [ -122.179574999625871, 37.440038001093725 ], [ -122.179775000207201, 37.440738000612328 ], [ -122.179674999670212, 37.440838001046075 ], [ -122.179664000423401, 37.441039000869118 ], [ -122.179342999578267, 37.441070000726469 ], [ -122.178855000352982, 37.441009000485849 ], [ -122.178625000110628, 37.441025000269967 ], [ -122.177893999553575, 37.441077000380986 ], [ -122.177475000229833, 37.441138000859411 ], [ -122.176952999609952, 37.441424000768286 ], [ -122.17662899986091, 37.441734000905349 ], [ -122.176228999814271, 37.441729000774224 ], [ -122.176134999797711, 37.441764000301767 ], [ -122.175675000207477, 37.44193800026062 ], [ -122.175595999558183, 37.442194000752323 ], [ -122.175419999555189, 37.442767001070514 ], [ -122.175275000226463, 37.443238000609533 ], [ -122.1752190000865, 37.443368001020751 ], [ -122.174974999885023, 37.443938000381614 ], [ -122.174774999759336, 37.4441380009441 ], [ -122.17387499952082, 37.44503800049268 ], [ -122.172074999445286, 37.446838000835605 ], [ -122.171774999689433, 37.446938001042213 ], [ -122.171274999433209, 37.447238000334828 ], [ -122.170775000104854, 37.447438000829045 ], [ -122.169774999730478, 37.446638000424535 ], [ -122.168274999609736, 37.445538000904179 ], [ -122.168214999955424, 37.445491000476814 ], [ -122.167375000120003, 37.444838000966378 ], [ -122.164574999979678, 37.442938001014618 ], [ -122.160693000348942, 37.440848000349014 ], [ -122.160675000361593, 37.440838000934896 ], [ -122.158300000354828, 37.439312000982859 ], [ -122.15647499980382, 37.438139000916642 ], [ -122.160374999563189, 37.437239000301801 ], [ -122.160774999908696, 37.437639000642903 ], [ -122.161875000243043, 37.438639000307035 ], [ -122.163075000501621, 37.43963800062739 ], [ -122.163507000434365, 37.439992000638917 ], [ -122.164175000441418, 37.440538001052637 ], [ -122.164278999749712, 37.440634001115242 ], [ -122.164637999853369, 37.440727000409439 ], [ -122.165170999609813, 37.441031000894007 ], [ -122.16534599984962, 37.441133000653487 ], [ -122.165675000208708, 37.44153800102746 ], [ -122.165775000157296, 37.441238001073501 ], [ -122.166174999810863, 37.440338000370041 ], [ -122.16697499966925, 37.437838000649279 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 354, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.170374999918593, 37.429014001101422 ], [ -122.170375000447223, 37.429139000681857 ], [ -122.169774999982806, 37.43063900092919 ], [ -122.169275000036478, 37.431039000810514 ], [ -122.168774999966899, 37.432339000366404 ], [ -122.168112000012371, 37.434310000931475 ], [ -122.168009999521132, 37.434650001118939 ], [ -122.16697499966925, 37.437838000649279 ], [ -122.166174999810863, 37.440338000370041 ], [ -122.165775000157296, 37.441238001073501 ], [ -122.165675000208708, 37.44153800102746 ], [ -122.16534599984962, 37.441133000653487 ], [ -122.165170999609813, 37.441031000894007 ], [ -122.164637999853369, 37.440727000409439 ], [ -122.164278999749712, 37.440634001115242 ], [ -122.164175000441418, 37.440538001052637 ], [ -122.163507000434365, 37.439992000638917 ], [ -122.163075000501621, 37.43963800062739 ], [ -122.161875000243043, 37.438639000307035 ], [ -122.160774999908696, 37.437639000642903 ], [ -122.160374999563189, 37.437239000301801 ], [ -122.157283000399104, 37.434368000702726 ], [ -122.154775000046627, 37.432339000862996 ], [ -122.153574999673651, 37.431239000915077 ], [ -122.152774999915749, 37.430539000921861 ], [ -122.151975000283841, 37.429839000916957 ], [ -122.152575000517217, 37.42963900103755 ], [ -122.153975000323072, 37.429939000896653 ], [ -122.154475000112072, 37.42963900069811 ], [ -122.156975000517846, 37.427939000726127 ], [ -122.158575000069817, 37.426839000562339 ], [ -122.159051999990282, 37.426437001069374 ], [ -122.159532999408057, 37.426525000468772 ], [ -122.160037999805155, 37.425696000940086 ], [ -122.160382000338714, 37.42504000054435 ], [ -122.160662999877772, 37.424295001027637 ], [ -122.160761999613754, 37.423969000523648 ], [ -122.161207999582658, 37.423072000360321 ], [ -122.161615999514325, 37.422537000646301 ], [ -122.161799999410931, 37.422413000297233 ], [ -122.16265299982895, 37.422170000903307 ], [ -122.163719999551475, 37.422198000549066 ], [ -122.1643020000147, 37.422321000488814 ], [ -122.164850999457201, 37.422634000430101 ], [ -122.165100999747281, 37.422745000514197 ], [ -122.165384999410591, 37.422812000811192 ], [ -122.165682999748341, 37.422812000707211 ], [ -122.166174999413272, 37.422739000491042 ], [ -122.16680799988643, 37.422571000715315 ], [ -122.16730700043675, 37.422304000853913 ], [ -122.167779000088274, 37.421972000550397 ], [ -122.168475000355542, 37.421139001069321 ], [ -122.169275000231835, 37.422539000850676 ], [ -122.17007500020317, 37.422539000256215 ], [ -122.173474999955332, 37.422539001086527 ], [ -122.173475000469963, 37.422939000239161 ], [ -122.173674999665664, 37.423939000949701 ], [ -122.173375000024478, 37.424939000278592 ], [ -122.173075000056997, 37.42593900044043 ], [ -122.173874999963857, 37.426039001080774 ], [ -122.172774999786483, 37.429339000375116 ], [ -122.171550000514998, 37.429050000274138 ], [ -122.170613999900709, 37.428846000496328 ], [ -122.170374999918593, 37.429014001101422 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 352, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.156575000037208, 37.419039000425308 ], [ -122.158274999830013, 37.419939000795779 ], [ -122.161615999514325, 37.422537000646301 ], [ -122.161207999582658, 37.423072000360321 ], [ -122.160761999613754, 37.423969000523648 ], [ -122.159774999634649, 37.423839000334652 ], [ -122.159464000335078, 37.423735000472298 ], [ -122.158574999876848, 37.423439000828672 ], [ -122.157475000251466, 37.423039000711199 ], [ -122.156774999774797, 37.422739000300304 ], [ -122.155275000227832, 37.421939000572962 ], [ -122.154574999573995, 37.42163900069302 ], [ -122.154674999624135, 37.421239000533816 ], [ -122.155375000293105, 37.420439000479242 ], [ -122.155974999589219, 37.419739000237627 ], [ -122.156575000037208, 37.419039000425308 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 368, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.141294000241714, 37.39531300054076 ], [ -122.140071000264328, 37.39598600045742 ], [ -122.137974000229704, 37.397140000548525 ], [ -122.135773999934599, 37.398240000368922 ], [ -122.135073999707103, 37.398640000260336 ], [ -122.134173999453992, 37.398940000817362 ], [ -122.133173999825701, 37.399340000387504 ], [ -122.131573999782532, 37.399940000543864 ], [ -122.130074000422624, 37.400540000796525 ], [ -122.124673999551462, 37.400940001094156 ], [ -122.124973999652369, 37.400240000249283 ], [ -122.12567400009145, 37.398140000931086 ], [ -122.125774999785989, 37.398067000739211 ], [ -122.128174000484123, 37.39634000079635 ], [ -122.128274000082442, 37.395640000440501 ], [ -122.129973999542727, 37.395840000806963 ], [ -122.127873999871895, 37.394240000843553 ], [ -122.127831999829311, 37.394140000264478 ], [ -122.127803999949933, 37.394073000603925 ], [ -122.127540999654656, 37.393440000774568 ], [ -122.127373999986418, 37.393040000731972 ], [ -122.128274000057658, 37.391840001099879 ], [ -122.128171999633025, 37.391693000528591 ], [ -122.126674000455935, 37.389540000513414 ], [ -122.126274000442876, 37.389140001022007 ], [ -122.126173999750236, 37.388140000892605 ], [ -122.125685999535136, 37.388253000248554 ], [ -122.124874000146121, 37.388440000873814 ], [ -122.124273999821014, 37.387640000506323 ], [ -122.123374000075941, 37.386140000346053 ], [ -122.124073999502698, 37.384640000232906 ], [ -122.125273999953691, 37.383140000418265 ], [ -122.125170999440243, 37.382964000308448 ], [ -122.124320000023346, 37.381504000638337 ], [ -122.123873999519418, 37.380740000602792 ], [ -122.12067399980215, 37.378740000776979 ], [ -122.120431999534986, 37.378353000745705 ], [ -122.119674000008217, 37.377140000780599 ], [ -122.119610999981148, 37.374940000805843 ], [ -122.119573999845073, 37.373640001022579 ], [ -122.118743000268537, 37.37299400084661 ], [ -122.118651000417969, 37.372660000365968 ], [ -122.118424999847448, 37.3718350003222 ], [ -122.118204000065504, 37.371030000324055 ], [ -122.11813100011139, 37.370985001031634 ], [ -122.117573999431144, 37.370640000516232 ], [ -122.117646000466593, 37.369992000663707 ], [ -122.117774000106238, 37.368840000312709 ], [ -122.117695999743603, 37.368481000508183 ], [ -122.117274000228889, 37.36654000023389 ], [ -122.117674000080527, 37.365540000787398 ], [ -122.117473999839618, 37.365240001079925 ], [ -122.116973999726326, 37.365040000926584 ], [ -122.116774000199968, 37.364840000394388 ], [ -122.116273999603948, 37.364540000537737 ], [ -122.115273999832851, 37.365440000625696 ], [ -122.114744999945117, 37.365242000499251 ], [ -122.114560999666409, 37.3651730005001 ], [ -122.114474000005288, 37.365140000287631 ], [ -122.11442399970403, 37.365123000354608 ], [ -122.113349999661892, 37.364765000392516 ], [ -122.113273999754512, 37.364740001098369 ], [ -122.112704000032466, 37.364012001057596 ], [ -122.112467999939284, 37.363710000360747 ], [ -122.111474000519621, 37.362441000830543 ], [ -122.110873000332234, 37.362041000548743 ], [ -122.110273000055543, 37.361784000823576 ], [ -122.109473000223517, 37.361441000813223 ], [ -122.109172999837384, 37.36124100065058 ], [ -122.108472999703253, 37.360741001109616 ], [ -122.10792300014576, 37.360441001102444 ], [ -122.107373000457571, 37.360141000347831 ], [ -122.10617300046917, 37.359041000729782 ], [ -122.105973000193146, 37.358841000895758 ], [ -122.103672999955677, 37.357041000257873 ], [ -122.102373000215039, 37.355841000653349 ], [ -122.103172999805849, 37.355241000419831 ], [ -122.104272999960912, 37.354441000855296 ], [ -122.105172999571323, 37.353941000843605 ], [ -122.105460000031016, 37.353750000359859 ], [ -122.106072999986822, 37.353341000624724 ], [ -122.106272999985478, 37.353241000785388 ], [ -122.106672999521706, 37.353041000976255 ], [ -122.107173000191935, 37.352741000630203 ], [ -122.107572999656099, 37.353041001077735 ], [ -122.108072999459097, 37.353341000731611 ], [ -122.109373000503368, 37.354141000533382 ], [ -122.113573999703462, 37.355641000301333 ], [ -122.116773999642362, 37.358541000442109 ], [ -122.118974000221243, 37.360641000264472 ], [ -122.119473999427541, 37.361241000933767 ], [ -122.119974000115405, 37.36164100042614 ], [ -122.121273999827324, 37.362840000729868 ], [ -122.121873999464768, 37.363540000836011 ], [ -122.122173999966577, 37.363740000479659 ], [ -122.125274000028625, 37.364740001119713 ], [ -122.126073999894714, 37.364840000787581 ], [ -122.129010999525448, 37.365207000349109 ], [ -122.132473999992158, 37.365640001037228 ], [ -122.13557400047624, 37.365940000534977 ], [ -122.136959999872474, 37.366927000967429 ], [ -122.137747000277358, 37.367488000511564 ], [ -122.139844999829506, 37.368983001114593 ], [ -122.14109899941252, 37.369876000644673 ], [ -122.142874000228005, 37.371140000393446 ], [ -122.143074000246997, 37.371240000763422 ], [ -122.147087999769084, 37.37494000031456 ], [ -122.15077499951154, 37.37834000044262 ], [ -122.151874999840231, 37.380240001028326 ], [ -122.154174999923512, 37.386940000712627 ], [ -122.152875000381258, 37.387140000849016 ], [ -122.152175000317229, 37.387540000993049 ], [ -122.151774999920804, 37.387940000460681 ], [ -122.151274999924567, 37.389940000513512 ], [ -122.150175000106188, 37.391840000663002 ], [ -122.148974999946972, 37.392240001067144 ], [ -122.148174999547038, 37.392740000795357 ], [ -122.145875000467271, 37.393440000965676 ], [ -122.143275000024644, 37.394240001062748 ], [ -122.141273999697731, 37.395340000518779 ], [ -122.141294000241714, 37.39531300054076 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 10, "TAZ1454": 512, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.901843999862919, 37.111541000802603 ], [ -121.902202000410114, 37.111882000562389 ], [ -121.902461999490129, 37.112014001116719 ], [ -121.902762999899409, 37.112139000983028 ], [ -121.902873000246089, 37.112006000843905 ], [ -121.903033000084761, 37.111741000861734 ], [ -121.903157999498021, 37.111226000698657 ], [ -121.902946000507285, 37.111277000669453 ], [ -121.903207000367502, 37.11025600046505 ], [ -121.903757999626066, 37.11000700094781 ], [ -121.904680000073512, 37.110786000597678 ], [ -121.904920999491594, 37.111123000671469 ], [ -121.90507100011007, 37.111500000517971 ], [ -121.905024999993273, 37.112169000504323 ], [ -121.905946000192642, 37.113137000587066 ], [ -121.910746000506194, 37.113537000946479 ], [ -121.92474699984534, 37.121736000670921 ], [ -121.930067999753717, 37.123446000447927 ], [ -121.931622999546107, 37.122384000534574 ], [ -121.933967999809482, 37.123246000702451 ], [ -121.941769999808045, 37.125885000453458 ], [ -121.944849999646266, 37.126928000938378 ], [ -121.947267999863428, 37.127746000463063 ], [ -121.951578000044123, 37.128492000624753 ], [ -121.951848999548716, 37.128558000553106 ], [ -121.953255999921396, 37.128898000306258 ], [ -121.953869000060152, 37.129046000624506 ], [ -121.954668999929325, 37.129146000698029 ], [ -121.955523999395908, 37.129242001055943 ], [ -121.956386000039089, 37.129604000728406 ], [ -121.957257999671327, 37.130058000581833 ], [ -121.957685999903063, 37.130344000310188 ], [ -121.959167999867191, 37.131336000581356 ], [ -121.959554000373487, 37.131595000666287 ], [ -121.960368999927596, 37.131846000819102 ], [ -121.96099399964109, 37.131911001014949 ], [ -121.962026999738612, 37.132338000699605 ], [ -121.962868999428096, 37.132843000754143 ], [ -121.963411000291202, 37.133604000761785 ], [ -121.963566999666355, 37.133655000436775 ], [ -121.96423800049277, 37.133884000245679 ], [ -121.966099999501466, 37.135555000488992 ], [ -121.967768999812833, 37.136746000461244 ], [ -121.969322000082073, 37.138105000946403 ], [ -121.970211000430922, 37.139447000692741 ], [ -121.970822000457915, 37.14022500024015 ], [ -121.971613999862186, 37.140862001089118 ], [ -121.972204999571346, 37.141225000462462 ], [ -121.973277999458574, 37.141567000427365 ], [ -121.973368999789429, 37.14164600070211 ], [ -121.976119000232686, 37.141398000868136 ], [ -121.97708100031177, 37.141311000684247 ], [ -121.977100000391218, 37.141309000446384 ], [ -121.977774999785737, 37.141743000431042 ], [ -121.978269999541993, 37.141046000500872 ], [ -121.979969999598012, 37.140846000650953 ], [ -121.981069999770753, 37.141146000467266 ], [ -121.981870000266667, 37.140946000806572 ], [ -121.983469999704951, 37.14134600106626 ], [ -121.984786000112067, 37.141921000917264 ], [ -121.985017999526576, 37.142023000825205 ], [ -121.985070000340102, 37.142046000529142 ], [ -121.985052999809938, 37.142318000392272 ], [ -121.985494000490704, 37.142277000761283 ], [ -121.985569999910041, 37.143546001094933 ], [ -121.98572399989844, 37.14415200069508 ], [ -121.987291000356223, 37.144622000372863 ], [ -121.987370000449204, 37.144646000453591 ], [ -121.987692999815962, 37.143060000819794 ], [ -121.988303999845485, 37.143123001056452 ], [ -121.988570000473047, 37.143046001046642 ], [ -121.988811999509082, 37.142980000751812 ], [ -121.989476999904895, 37.143108000968404 ], [ -121.990970000008772, 37.143546000766698 ], [ -121.992011999771719, 37.144013000614208 ], [ -121.992243999778978, 37.144259000389376 ], [ -121.992523999955779, 37.14513000023323 ], [ -121.992574000085966, 37.145377000307334 ], [ -121.993106000314015, 37.145727000493437 ], [ -121.993265999436971, 37.147118000561704 ], [ -121.993274999517539, 37.147205000934477 ], [ -121.993344999744195, 37.147896000413091 ], [ -121.993569999413012, 37.14834600023255 ], [ -121.99396999953413, 37.149046000873781 ], [ -121.996570000439903, 37.151546000662229 ], [ -121.997369999983917, 37.15194600040568 ], [ -121.998122999790922, 37.153431000238356 ], [ -121.999163999438949, 37.155484000619083 ], [ -121.999192999568621, 37.155537000702076 ], [ -121.999294000489826, 37.155723001039902 ], [ -121.999344999817694, 37.155893000510723 ], [ -121.999644999911041, 37.156889000990382 ], [ -121.999926000454167, 37.15773800071387 ], [ -122.000095999505604, 37.158233001067288 ], [ -122.000226000095694, 37.15882500026575 ], [ -122.000507000219372, 37.159117000693932 ], [ -122.00066699983671, 37.159188000716661 ], [ -122.000938000360506, 37.159223000494684 ], [ -122.001177999504421, 37.159250000898993 ], [ -122.001418999613435, 37.159401000564799 ], [ -122.001518999985549, 37.159560000462932 ], [ -122.001759999793705, 37.159684000361082 ], [ -122.002010000083871, 37.159790001073482 ], [ -122.002371000033236, 37.159755000675837 ], [ -122.002911999985713, 37.159685000697024 ], [ -122.003087000208126, 37.159775000411628 ], [ -122.003142999790043, 37.159801000427031 ], [ -122.003433000315056, 37.159978001130213 ], [ -122.004144999390761, 37.159987000940646 ], [ -122.004515999700246, 37.159979000509217 ], [ -122.004976999984947, 37.159829001060153 ], [ -122.005588000227121, 37.159618001100718 ], [ -122.006168999461678, 37.159495000637982 ], [ -122.006579999638774, 37.159628000610915 ], [ -122.006710000435845, 37.159699000617906 ], [ -122.006679999626314, 37.159894001031766 ], [ -122.006550000141715, 37.160114000341949 ], [ -122.006379999636479, 37.160291000808471 ], [ -122.006450000455303, 37.160459000432105 ], [ -122.007492000128821, 37.160911001124305 ], [ -122.008533999625641, 37.16118600101327 ], [ -122.008945000098848, 37.160824000906899 ], [ -122.010158999681551, 37.161049001070296 ], [ -122.010750000004208, 37.161306000454594 ], [ -122.010769999870035, 37.161108000438169 ], [ -122.011261999647388, 37.161367000227955 ], [ -122.012973999441314, 37.16148300055977 ], [ -122.012653999573502, 37.162099000847768 ], [ -122.013328000380085, 37.162453000625625 ], [ -122.014236000159642, 37.16305700096126 ], [ -122.014067000104347, 37.163325000825992 ], [ -122.014147000082986, 37.163458000967935 ], [ -122.014477999670106, 37.163627000618106 ], [ -122.015109000182449, 37.163992000902589 ], [ -122.015230000217869, 37.164477000698938 ], [ -122.015320000501092, 37.164654000264775 ], [ -122.015470000148028, 37.165008000507413 ], [ -122.015791000254637, 37.16545100100884 ], [ -122.016082000256119, 37.165769000336546 ], [ -122.01640200023698, 37.165910001037332 ], [ -122.016872999479787, 37.165834000477773 ], [ -122.017164000471183, 37.165703001007238 ], [ -122.017484000138239, 37.165443000264858 ], [ -122.017236999615974, 37.16542100080062 ], [ -122.017905999488931, 37.164477000318627 ], [ -122.019241999439259, 37.165598000904112 ], [ -122.019578999574449, 37.165924000844605 ], [ -122.019799999655348, 37.16611900068817 ], [ -122.01999000029997, 37.166243000604787 ], [ -122.020341000180451, 37.166156001018898 ], [ -122.020620999397408, 37.166016000930995 ], [ -122.021149000381271, 37.165766001024359 ], [ -122.022072999901013, 37.165848000599944 ], [ -122.022636000381752, 37.166165000614079 ], [ -122.023066999913425, 37.166334000727886 ], [ -122.023447999593841, 37.16649400066197 ], [ -122.023707999996034, 37.166601000883851 ], [ -122.024092000122323, 37.166129000588874 ], [ -122.024491999560084, 37.166209000964145 ], [ -122.025323999522541, 37.165810001084154 ], [ -122.025374000250267, 37.165786001120317 ], [ -122.025965999511257, 37.166058000662545 ], [ -122.026170999630821, 37.16654500055013 ], [ -122.025852999847771, 37.167923001002656 ], [ -122.025594999785582, 37.169042000278644 ], [ -122.026526999984171, 37.169465000402468 ], [ -122.026927999662135, 37.169841001073763 ], [ -122.027311999420249, 37.170554000995025 ], [ -122.027671000297005, 37.170845001115289 ], [ -122.02677099948103, 37.171645000353379 ], [ -122.026103000274347, 37.172182000852807 ], [ -122.025833000092362, 37.172401000996175 ], [ -122.02553199969249, 37.172727000899783 ], [ -122.025421999990613, 37.17305300097032 ], [ -122.025372000384962, 37.173371000756262 ], [ -122.025382000066386, 37.173786000399666 ], [ -122.025472000496094, 37.174078000292369 ], [ -122.0256709996967, 37.174145000502264 ], [ -122.026971000378566, 37.173645000652428 ], [ -122.026971000445911, 37.174029000707918 ], [ -122.027660000344824, 37.174066000628066 ], [ -122.027749999868959, 37.174456000577592 ], [ -122.02760900008812, 37.175159000514213 ], [ -122.026971000419991, 37.175798000410794 ], [ -122.026971000364725, 37.175500000310898 ], [ -122.026621999522192, 37.175711000707864 ], [ -122.02653399951997, 37.175945000883118 ], [ -122.026532000367723, 37.176108000963353 ], [ -122.026971000153196, 37.176304000404883 ], [ -122.028451999624238, 37.176692000609577 ], [ -122.028933000099869, 37.17693800058224 ], [ -122.029262999530346, 37.178017001080484 ], [ -122.029083000313761, 37.178264000754631 ], [ -122.028993000417927, 37.178733000535061 ], [ -122.029674000152738, 37.179355000478935 ], [ -122.031768999967625, 37.18043000065758 ], [ -122.031880000000527, 37.1805470010137 ], [ -122.03197999945634, 37.181210000974637 ], [ -122.031681000007453, 37.182133000229861 ], [ -122.032071000289164, 37.182545000859278 ], [ -122.032737000482427, 37.184945000281637 ], [ -122.033070999847681, 37.186145000626254 ], [ -122.031770999763083, 37.186945000271834 ], [ -122.031970999899769, 37.18824500045524 ], [ -122.030771000058863, 37.189745000852994 ], [ -122.032071000010006, 37.191045000746101 ], [ -122.034845999468388, 37.191950000351177 ], [ -122.035179999650182, 37.192059000813622 ], [ -122.036671000396737, 37.192545000383546 ], [ -122.037026000160694, 37.192770000835964 ], [ -122.040150999800005, 37.194752000930208 ], [ -122.040771000319566, 37.19514500072836 ], [ -122.043475999524617, 37.199201000305983 ], [ -122.044370999975413, 37.200544000985595 ], [ -122.042206999963327, 37.201022001088177 ], [ -122.035739000039044, 37.202452000349105 ], [ -122.034870999832947, 37.202644000488675 ], [ -122.032520999648696, 37.203651000948966 ], [ -122.032070999710129, 37.203844000597762 ], [ -122.031347999717397, 37.204553000359873 ], [ -122.028688000443466, 37.207196000418463 ], [ -122.03017099994571, 37.207844001084034 ], [ -122.029959000017001, 37.210580001024077 ], [ -122.029352000251137, 37.214371000879119 ], [ -122.029086999566161, 37.216029000413897 ], [ -122.028935000505584, 37.216978000821612 ], [ -122.028907000342016, 37.217153000310461 ], [ -122.028862999631485, 37.217428000508512 ], [ -122.028770000453989, 37.217444000777469 ], [ -122.026970000158258, 37.215544001010464 ], [ -122.026368999961818, 37.215477000514511 ], [ -122.026069999564058, 37.215444000903453 ], [ -122.025070000520614, 37.214844000310976 ], [ -122.024669999595261, 37.215844000238654 ], [ -122.010270000369445, 37.21324400057371 ], [ -122.007270000002322, 37.211744000691695 ], [ -122.004770000137583, 37.207244000274038 ], [ -121.995268999883066, 37.201944000478612 ], [ -121.992168999778954, 37.20344400027497 ], [ -121.99316899972861, 37.198144000339767 ], [ -121.991668999853601, 37.19884400100679 ], [ -121.99156900009686, 37.200544000400228 ], [ -121.991269000437242, 37.201344000998326 ], [ -121.989419000438517, 37.201463000355133 ], [ -121.989013000415156, 37.201489000912019 ], [ -121.988169000351519, 37.201544000999021 ], [ -121.987169000293932, 37.200544000949442 ], [ -121.986097000138329, 37.200985000641964 ], [ -121.985468999822743, 37.201244001123648 ], [ -121.983669000175126, 37.199244000488726 ], [ -121.979768999880989, 37.201244001006472 ], [ -121.979353999602239, 37.201036000720357 ], [ -121.978739999445153, 37.201528000882718 ], [ -121.97216800018154, 37.203344000700767 ], [ -121.963968000500813, 37.201444000956414 ], [ -121.960068000455621, 37.199944000276915 ], [ -121.955668000140847, 37.197744000280416 ], [ -121.944766999483093, 37.19684500046403 ], [ -121.941175000251334, 37.195737001107666 ], [ -121.929567000354069, 37.191745000332354 ], [ -121.928367000249438, 37.194445000905375 ], [ -121.927267000500493, 37.197944000398074 ], [ -121.924366999910632, 37.200244000286361 ], [ -121.919465999424574, 37.207044000760291 ], [ -121.91908000023534, 37.20716100070625 ], [ -121.917166000426946, 37.20774400041816 ], [ -121.915966000496724, 37.20914400097017 ], [ -121.912465999862675, 37.212144000437988 ], [ -121.912370999794746, 37.2135720004135 ], [ -121.9123660002207, 37.213644000717565 ], [ -121.912165999693485, 37.213844000569523 ], [ -121.911053000030833, 37.213363000684367 ], [ -121.909168999774892, 37.21254800062146 ], [ -121.908466000110465, 37.212244000886066 ], [ -121.906766000057388, 37.211044001108696 ], [ -121.904965999982238, 37.211044000518243 ], [ -121.90436599964336, 37.211044000547012 ], [ -121.903238999483989, 37.210158000875936 ], [ -121.900114000458117, 37.207703000942658 ], [ -121.89876600004898, 37.206644001116658 ], [ -121.896964999977612, 37.206544000743776 ], [ -121.896186000513069, 37.205245000268626 ], [ -121.896065000141661, 37.205044000928169 ], [ -121.896016000496132, 37.205033000956455 ], [ -121.892064999867969, 37.204144000737102 ], [ -121.890764999634257, 37.203444000362872 ], [ -121.882969999882178, 37.199697001118032 ], [ -121.882761000116645, 37.199597001070181 ], [ -121.882702999956848, 37.199569001098524 ], [ -121.882621000222542, 37.199530000682827 ], [ -121.876064999425381, 37.19637900099903 ], [ -121.874465999825858, 37.195611000573535 ], [ -121.872664999787474, 37.194745000618838 ], [ -121.87264800046573, 37.194621001080762 ], [ -121.872746000005435, 37.194123000594097 ], [ -121.873124000136755, 37.193684001065733 ], [ -121.873313999922985, 37.193218001114573 ], [ -121.873436000270956, 37.192955000723039 ], [ -121.873437999489866, 37.192703000440908 ], [ -121.873273000193976, 37.191983000784099 ], [ -121.87259099987952, 37.190043000873274 ], [ -121.872063999444109, 37.187922000755755 ], [ -121.87126499973634, 37.184545000510489 ], [ -121.872469000223987, 37.182653001007395 ], [ -121.873365000215131, 37.181245000321745 ], [ -121.863772999948665, 37.179916000994233 ], [ -121.863263999521834, 37.179845000370669 ], [ -121.863463000040355, 37.179724000916693 ], [ -121.866065000449922, 37.17814500107535 ], [ -121.863552999599861, 37.175441001004216 ], [ -121.863464000034696, 37.175345000700013 ], [ -121.854663999729851, 37.165445001041093 ], [ -121.851363999758021, 37.165245000783194 ], [ -121.845964000304974, 37.162445000506828 ], [ -121.842664000306513, 37.160746000800465 ], [ -121.842063999427097, 37.161545000570754 ], [ -121.84036399943146, 37.162645000476786 ], [ -121.838464000109951, 37.16294500103411 ], [ -121.837140000219151, 37.162472000388334 ], [ -121.837063999965594, 37.162445000391592 ], [ -121.837047999484682, 37.162455000868427 ], [ -121.8364639995944, 37.162345000319945 ], [ -121.831438000114517, 37.162444000501374 ], [ -121.831363000034472, 37.162445000482371 ], [ -121.830970000057704, 37.161944001035039 ], [ -121.830956000482445, 37.161927001044404 ], [ -121.830262999977563, 37.161046000866207 ], [ -121.82896299963528, 37.159046000237652 ], [ -121.823991000263078, 37.153079000268519 ], [ -121.82146300021644, 37.150046001036351 ], [ -121.823406999534768, 37.146158000811845 ], [ -121.823462999553058, 37.146046001046336 ], [ -121.821563000246684, 37.144346000549461 ], [ -121.817063000410187, 37.142546000600127 ], [ -121.822263000426446, 37.140446001100464 ], [ -121.82366300020486, 37.138546000251928 ], [ -121.824063000368142, 37.134746000798586 ], [ -121.826463000318498, 37.127546000570206 ], [ -121.829264000429603, 37.1251460004476 ], [ -121.829231999773597, 37.124947000288607 ], [ -121.828863999757374, 37.122647000533341 ], [ -121.829463999458312, 37.117347000339613 ], [ -121.832664000292695, 37.112247000644459 ], [ -121.83797699990501, 37.111434001006998 ], [ -121.841163999879214, 37.110947000904808 ], [ -121.844264000335357, 37.110947000295532 ], [ -121.845663999958234, 37.108247000641626 ], [ -121.841964000195034, 37.109447000474162 ], [ -121.844564000227763, 37.106547000736967 ], [ -121.847764999453346, 37.10614700059422 ], [ -121.848165000284268, 37.105947000457455 ], [ -121.848264999665744, 37.105447001106086 ], [ -121.842763999842973, 37.101547000941231 ], [ -121.842981999478297, 37.100603000776509 ], [ -121.843664000174996, 37.09764700053357 ], [ -121.84546500039707, 37.09744700072735 ], [ -121.846935000081544, 37.097806000326138 ], [ -121.847450999868968, 37.098415000789771 ], [ -121.84799199996138, 37.098813000418858 ], [ -121.848584000119331, 37.099088000502277 ], [ -121.849044999873556, 37.099301000249859 ], [ -121.849586000181461, 37.099354001096401 ], [ -121.850247000303767, 37.099258000828918 ], [ -121.850366999889062, 37.099249000470458 ], [ -121.851029000181398, 37.099197000884395 ], [ -121.85137999954695, 37.09933000093551 ], [ -121.851589999646833, 37.099357000590217 ], [ -121.851800999960076, 37.099198000276708 ], [ -121.852365000390463, 37.098847000756251 ], [ -121.854864999656073, 37.098447000640952 ], [ -121.855523999551224, 37.098687000741016 ], [ -121.855601999964037, 37.098715000480809 ], [ -121.857064999994535, 37.099247000917579 ], [ -121.860184999489405, 37.099416000715564 ], [ -121.860765000493117, 37.099447001062828 ], [ -121.861773999594362, 37.099559000766583 ], [ -121.86085299954533, 37.101339000371127 ], [ -121.860879999711273, 37.101912001103663 ], [ -121.860007999939882, 37.104174000796164 ], [ -121.860964999780336, 37.103747000991739 ], [ -121.861148000453895, 37.103717000685023 ], [ -121.864325999439259, 37.103193000404808 ], [ -121.866305000401127, 37.102867000369031 ], [ -121.870065999566009, 37.102247000939919 ], [ -121.874303999546115, 37.103860001041575 ], [ -121.875912999601994, 37.104472000711411 ], [ -121.880179999547778, 37.106096000574539 ], [ -121.882050999630366, 37.106808000313393 ], [ -121.884842999959019, 37.107838000549584 ], [ -121.88629999977212, 37.106346000476393 ], [ -121.886811000354271, 37.105824000510545 ], [ -121.887766000033679, 37.104847000237676 ], [ -121.887915000402018, 37.105391000925501 ], [ -121.888184000499095, 37.10532900028759 ], [ -121.888794999465105, 37.105005000738565 ], [ -121.889462999974882, 37.104733000742371 ], [ -121.889923999491018, 37.104641000873521 ], [ -121.890438999971934, 37.104883000973203 ], [ -121.890765999735095, 37.105159000581352 ], [ -121.890867000365631, 37.105256001092684 ], [ -121.890996000153706, 37.105380001071545 ], [ -121.890935999907313, 37.105523000896298 ], [ -121.890366000221519, 37.105862000284247 ], [ -121.890365999669015, 37.106097000963437 ], [ -121.88968399997178, 37.106573000498123 ], [ -121.89063600037629, 37.107352000989074 ], [ -121.891138999407602, 37.106902000714463 ], [ -121.891704999784693, 37.107015000771298 ], [ -121.891865999679709, 37.107047000287395 ], [ -121.892292000379584, 37.106946001027538 ], [ -121.892697000002087, 37.106865000417343 ], [ -121.893468999841389, 37.107222000501793 ], [ -121.893709999757249, 37.107352000393355 ], [ -121.893959999654811, 37.107652000285178 ], [ -121.894030999701926, 37.107908000266058 ], [ -121.894031000000311, 37.108447000493911 ], [ -121.894382000499931, 37.108087000859975 ], [ -121.894641999577914, 37.108004000472405 ], [ -121.894833999628517, 37.108071000761925 ], [ -121.894893999763127, 37.108216000858619 ], [ -121.895003999910344, 37.108594000559656 ], [ -121.895676000322865, 37.108621000866428 ], [ -121.896198000175161, 37.109153000963019 ], [ -121.896268000099369, 37.109366000757937 ], [ -121.896026999615373, 37.109769000340705 ], [ -121.895967000371769, 37.11006900057027 ], [ -121.895723000423985, 37.110015000606488 ], [ -121.895595999526748, 37.110284000916344 ], [ -121.895596000235884, 37.110405000396419 ], [ -121.895778000379863, 37.110521000597394 ], [ -121.896304999780838, 37.110144000273486 ], [ -121.896499000373552, 37.110187001039648 ], [ -121.896639999816713, 37.110620000589442 ], [ -121.896729999395745, 37.1108490009238 ], [ -121.897200999862875, 37.110682000962179 ], [ -121.897701999634137, 37.110612000654804 ], [ -121.898145000273345, 37.110722000270592 ], [ -121.898257000282086, 37.110577000400724 ], [ -121.899192000053901, 37.110888000588339 ], [ -121.900088999814429, 37.110302000752569 ], [ -121.900224999629586, 37.111231001098957 ], [ -121.900372999930738, 37.111280001071137 ], [ -121.90038800047796, 37.111676000343699 ], [ -121.900487999691222, 37.111791001104173 ], [ -121.900607999470381, 37.111888001003265 ], [ -121.900888999973688, 37.111818000287656 ], [ -121.901215000052773, 37.111560000416858 ], [ -121.901266000106915, 37.11157700079572 ], [ -121.901321999550973, 37.111274000618366 ], [ -121.901872999706953, 37.111325000284523 ], [ -121.901843999862919, 37.111541000802603 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 688, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.874563999508624, 37.243743000484017 ], [ -121.874563999932661, 37.243489000260112 ], [ -121.874563999694089, 37.243343000846011 ], [ -121.876064000077591, 37.243422000868264 ], [ -121.876463999559135, 37.243443000511732 ], [ -121.87726400050019, 37.243043000784269 ], [ -121.879064000487105, 37.24224300087397 ], [ -121.8799640004558, 37.241443000917371 ], [ -121.880546000292455, 37.241073001062972 ], [ -121.881064000144946, 37.240743000666093 ], [ -121.881341999581906, 37.240619000788598 ], [ -121.881965000276338, 37.240343000922699 ], [ -121.882164999653256, 37.24024300038166 ], [ -121.882764999502101, 37.240143000405865 ], [ -121.883169000350591, 37.239930000329238 ], [ -121.884080000096688, 37.239451000465749 ], [ -121.884665000047789, 37.239143001128255 ], [ -121.885964999418363, 37.23844300035784 ], [ -121.887620000280307, 37.237585000441641 ], [ -121.888664999655248, 37.237043000595484 ], [ -121.888943999628211, 37.236738000498789 ], [ -121.889550999889423, 37.236078000469206 ], [ -121.889765000095764, 37.235844001017661 ], [ -121.891771000173819, 37.234567000417378 ], [ -121.891964999502591, 37.2344440007397 ], [ -121.892364999808464, 37.234244000998977 ], [ -121.893765000338135, 37.233644000803459 ], [ -121.894133000254683, 37.233138000922906 ], [ -121.89536499965179, 37.231444000947249 ], [ -121.896064999604178, 37.230844000995994 ], [ -121.89676499966356, 37.230244000376786 ], [ -121.897571000431299, 37.229662000980667 ], [ -121.898564999859801, 37.228944001109205 ], [ -121.899235999712886, 37.228646000447029 ], [ -121.899465000362071, 37.22854400070235 ], [ -121.90001699950578, 37.228150000348606 ], [ -121.900164999773253, 37.228044000995496 ], [ -121.900865000051212, 37.227544000658717 ], [ -121.901442000412459, 37.227118000895118 ], [ -121.903164999480396, 37.225844000560826 ], [ -121.903464999417253, 37.226344000803451 ], [ -121.903465000207106, 37.226544000815217 ], [ -121.903865000045542, 37.227044001130274 ], [ -121.904365000198169, 37.228744000323964 ], [ -121.904365000151756, 37.229344001032644 ], [ -121.903865000185533, 37.230244001071839 ], [ -121.903564999932215, 37.231244001090445 ], [ -121.903564999579913, 37.23244400096938 ], [ -121.903564999586635, 37.233544000730262 ], [ -121.903564999621693, 37.233636001022859 ], [ -121.903564999457117, 37.23391700084737 ], [ -121.903564999859398, 37.234044001050506 ], [ -121.903564999540123, 37.23434400067778 ], [ -121.90366499997431, 37.234644000491727 ], [ -121.903564999516803, 37.235244000381549 ], [ -121.903564999613323, 37.23634400054231 ], [ -121.903367000180054, 37.236779000514233 ], [ -121.903427999897431, 37.237213000781551 ], [ -121.903473000030118, 37.238182000521149 ], [ -121.903765000156383, 37.239143000756954 ], [ -121.903764999549381, 37.239394000301857 ], [ -121.903765000042895, 37.239743000414919 ], [ -121.903665000410811, 37.239743000262429 ], [ -121.902672000455766, 37.240405000945415 ], [ -121.902482000081903, 37.240532000392612 ], [ -121.901663000039761, 37.241061000260679 ], [ -121.901484000080757, 37.241134000394148 ], [ -121.900559000121191, 37.241455000566333 ], [ -121.900065000405618, 37.241743000752308 ], [ -121.898964999515769, 37.242243000702487 ], [ -121.898665000417353, 37.242443000675678 ], [ -121.896464999419862, 37.243443000773794 ], [ -121.894465000076565, 37.244343000337885 ], [ -121.891965000304353, 37.245543000431759 ], [ -121.889965000470767, 37.246243000398344 ], [ -121.888520999448261, 37.246070000446196 ], [ -121.887465000010238, 37.245943000473027 ], [ -121.886964999938314, 37.245943000917663 ], [ -121.886574000446899, 37.246160000887805 ], [ -121.886064999436925, 37.246443001032326 ], [ -121.885164999438643, 37.246943000494447 ], [ -121.884165000435516, 37.247443000634831 ], [ -121.882965000094643, 37.248074000895322 ], [ -121.882263999558276, 37.248443000327725 ], [ -121.88186399946747, 37.248643000821652 ], [ -121.880763999637239, 37.249243001125507 ], [ -121.880064000238264, 37.249643000798095 ], [ -121.87931400006957, 37.249943000396335 ], [ -121.879063999436724, 37.250043000991042 ], [ -121.878663999843525, 37.250143001030857 ], [ -121.878591000439727, 37.249943000380938 ], [ -121.877864000054942, 37.247943000639587 ], [ -121.876564000359025, 37.248743001021907 ], [ -121.876064000393455, 37.24903500076185 ], [ -121.875364000417278, 37.249443000881087 ], [ -121.874763999483051, 37.245443000845079 ], [ -121.874463999951288, 37.245543000705958 ], [ -121.874563999508624, 37.243743000484017 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 693, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.847313000112294, 37.220851000452399 ], [ -121.846562999829501, 37.220744000530651 ], [ -121.845207999548876, 37.220245000593572 ], [ -121.845070999986575, 37.220194000611961 ], [ -121.844662999798317, 37.220044000756623 ], [ -121.841562999971629, 37.216444000560351 ], [ -121.84209499968965, 37.215540001058599 ], [ -121.842563000261379, 37.214744000958454 ], [ -121.843063000329309, 37.213444001075118 ], [ -121.843363000061217, 37.212744000572329 ], [ -121.843763000511856, 37.212044001107998 ], [ -121.843963000410852, 37.211344000541295 ], [ -121.844663000446189, 37.210444000326213 ], [ -121.846062999867371, 37.209344000314026 ], [ -121.846187999809217, 37.209466000527563 ], [ -121.846623999447615, 37.209890000321749 ], [ -121.849098000464153, 37.212298000782269 ], [ -121.849864000235925, 37.213044001052857 ], [ -121.85126400024599, 37.2140440010036 ], [ -121.851818999714055, 37.214397000859741 ], [ -121.852363999440925, 37.214744000923147 ], [ -121.852559000077164, 37.214887001127991 ], [ -121.853864000166652, 37.215844000689785 ], [ -121.854619999952376, 37.216385000492423 ], [ -121.85792499945795, 37.218751000575459 ], [ -121.85857200024104, 37.219182000941601 ], [ -121.859149000185482, 37.21956700034508 ], [ -121.859563999716201, 37.219844000728287 ], [ -121.862263999496932, 37.221844000633574 ], [ -121.863163999491107, 37.222544001018775 ], [ -121.863964000249823, 37.223244000724712 ], [ -121.867064000030808, 37.225644000773613 ], [ -121.868726000279608, 37.226937000498964 ], [ -121.868863999672385, 37.227044000573351 ], [ -121.869320000342015, 37.227695000584518 ], [ -121.86956400014833, 37.228044000605145 ], [ -121.869731000265361, 37.228407000658429 ], [ -121.869770999581377, 37.228494000488119 ], [ -121.870163999495375, 37.229344000401269 ], [ -121.869763999666205, 37.229344000582103 ], [ -121.869064000349923, 37.229244000488507 ], [ -121.868663999964667, 37.229244000556186 ], [ -121.867763999797759, 37.229144000875834 ], [ -121.8667640000169, 37.229044000997199 ], [ -121.865863999491097, 37.229044000935957 ], [ -121.864864000373373, 37.229044000868733 ], [ -121.86266399985827, 37.22804400027497 ], [ -121.861663999596644, 37.228044000298624 ], [ -121.860563999548603, 37.227244001081779 ], [ -121.859863999526482, 37.227544000995053 ], [ -121.859055000347936, 37.225739000994466 ], [ -121.858950999389464, 37.225507001060485 ], [ -121.858564000025297, 37.2246440003087 ], [ -121.859964000222092, 37.224544000240904 ], [ -121.859664000097354, 37.223844000551026 ], [ -121.858044999985125, 37.223844000549938 ], [ -121.85796399959672, 37.223844000924956 ], [ -121.856663999668854, 37.22344400112609 ], [ -121.855863999929653, 37.223244000254518 ], [ -121.855165000176342, 37.223069000687666 ], [ -121.855063999941322, 37.223044000307453 ], [ -121.853863999894088, 37.222844000262683 ], [ -121.852141999973384, 37.222360001113628 ], [ -121.85119400006684, 37.222142000572042 ], [ -121.850448000434483, 37.221971000701686 ], [ -121.850111999443925, 37.221872000755532 ], [ -121.849263000389769, 37.221744000407313 ], [ -121.848762999897659, 37.221544001002677 ], [ -121.847963000001059, 37.220944000950766 ], [ -121.847397999525384, 37.220863000999422 ], [ -121.847313000112294, 37.220851000452399 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 695, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.850863999439881, 37.207944000813555 ], [ -121.84996399972664, 37.207944000653271 ], [ -121.8487640000141, 37.208044001008965 ], [ -121.848712999474216, 37.208054000741384 ], [ -121.848263999861388, 37.208144000889519 ], [ -121.848015000119332, 37.208152000893897 ], [ -121.846755999905042, 37.208192000944209 ], [ -121.846465999465124, 37.208184000403271 ], [ -121.845602999706472, 37.208282000763631 ], [ -121.845062999571724, 37.208344000522068 ], [ -121.844600999871361, 37.20791900045505 ], [ -121.842263000365861, 37.205544000685961 ], [ -121.841730999805506, 37.204994000230606 ], [ -121.840529000266457, 37.20375200100468 ], [ -121.839949000298191, 37.203035000595875 ], [ -121.839856999878876, 37.202949001053049 ], [ -121.839387999438799, 37.20250600028988 ], [ -121.838987999783413, 37.202127001013835 ], [ -121.838743999497751, 37.201936000941537 ], [ -121.838663000202502, 37.201844000699353 ], [ -121.837363000120945, 37.200844000421796 ], [ -121.836662999808951, 37.200444000361642 ], [ -121.836134000154971, 37.199945000689681 ], [ -121.835447999463113, 37.199639000691754 ], [ -121.834303000420803, 37.198716000615605 ], [ -121.833682999880622, 37.198405001034729 ], [ -121.833163000183191, 37.198144000307416 ], [ -121.832959000350399, 37.198093000683656 ], [ -121.832763000452033, 37.198044000343863 ], [ -121.831389000177737, 37.197260000379579 ], [ -121.831370999972805, 37.197237000311652 ], [ -121.831052999529447, 37.196840000763885 ], [ -121.830800999639621, 37.196731000638444 ], [ -121.830289999976642, 37.196505000385628 ], [ -121.829527999835676, 37.19605200048818 ], [ -121.827146999575305, 37.194636000548094 ], [ -121.82704800015965, 37.194566000314062 ], [ -121.825316000305847, 37.19335400028082 ], [ -121.824860000269439, 37.193019000347903 ], [ -121.823262999885813, 37.191845000477613 ], [ -121.820662999722202, 37.190145000824685 ], [ -121.81836300022745, 37.188545000442097 ], [ -121.816163000121776, 37.183445000333826 ], [ -121.816463000142761, 37.180145001076653 ], [ -121.821063000385976, 37.178245000388621 ], [ -121.824062999914446, 37.174845001008748 ], [ -121.824463000266604, 37.174445000406301 ], [ -121.82416299948224, 37.174245000476603 ], [ -121.823963000321697, 37.174045000948084 ], [ -121.823862999755747, 37.173845000488726 ], [ -121.825062999466226, 37.172545000547615 ], [ -121.825162999618755, 37.17094500086916 ], [ -121.826863000479591, 37.169645000568607 ], [ -121.82796299942747, 37.168745000629791 ], [ -121.828362999632446, 37.16854500097228 ], [ -121.829262999743051, 37.165045000804895 ], [ -121.829962999695141, 37.164445000526243 ], [ -121.830662999643295, 37.163345000572043 ], [ -121.831244999643928, 37.16341600061569 ], [ -121.833962999859466, 37.163745000507326 ], [ -121.836064000432032, 37.163045000234142 ], [ -121.837047999484682, 37.162455000868427 ], [ -121.837063999965594, 37.162445000391592 ], [ -121.837140000219151, 37.162472000388334 ], [ -121.838464000109951, 37.16294500103411 ], [ -121.84036399943146, 37.162645000476786 ], [ -121.842063999427097, 37.161545000570754 ], [ -121.842664000306513, 37.160746000800465 ], [ -121.845964000304974, 37.162445000506828 ], [ -121.851363999758021, 37.165245000783194 ], [ -121.854663999729851, 37.165445001041093 ], [ -121.863464000034696, 37.175345000700013 ], [ -121.863552999599861, 37.175441001004216 ], [ -121.866065000449922, 37.17814500107535 ], [ -121.863463000040355, 37.179724000916693 ], [ -121.863263999521834, 37.179845000370669 ], [ -121.863772999948665, 37.179916000994233 ], [ -121.873365000215131, 37.181245000321745 ], [ -121.872469000223987, 37.182653001007395 ], [ -121.87126499973634, 37.184545000510489 ], [ -121.872063999444109, 37.187922000755755 ], [ -121.87259099987952, 37.190043000873274 ], [ -121.873273000193976, 37.191983000784099 ], [ -121.873437999489866, 37.192703000440908 ], [ -121.873436000270956, 37.192955000723039 ], [ -121.873313999922985, 37.193218001114573 ], [ -121.873124000136755, 37.193684001065733 ], [ -121.872746000005435, 37.194123000594097 ], [ -121.87264800046573, 37.194621001080762 ], [ -121.872664999787474, 37.194745000618838 ], [ -121.874465999825858, 37.195611000573535 ], [ -121.876064999425381, 37.19637900099903 ], [ -121.882621000222542, 37.199530000682827 ], [ -121.882702999956848, 37.199569001098524 ], [ -121.882761000116645, 37.199597001070181 ], [ -121.882969999882178, 37.199697001118032 ], [ -121.890764999634257, 37.203444000362872 ], [ -121.892064999867969, 37.204144000737102 ], [ -121.896016000496132, 37.205033000956455 ], [ -121.896065000141661, 37.205044000928169 ], [ -121.896186000513069, 37.205245000268626 ], [ -121.896964999977612, 37.206544000743776 ], [ -121.89876600004898, 37.206644001116658 ], [ -121.900114000458117, 37.207703000942658 ], [ -121.903238999483989, 37.210158000875936 ], [ -121.90436599964336, 37.211044000547012 ], [ -121.904965999982238, 37.211044000518243 ], [ -121.906766000057388, 37.211044001108696 ], [ -121.908466000110465, 37.212244000886066 ], [ -121.909168999774892, 37.21254800062146 ], [ -121.911053000030833, 37.213363000684367 ], [ -121.912165999693485, 37.213844000569523 ], [ -121.912965999785044, 37.21564400104009 ], [ -121.912365999753021, 37.21684400108424 ], [ -121.9090989994545, 37.218114000449859 ], [ -121.908766000250864, 37.218244000352271 ], [ -121.909266000055524, 37.219944000566684 ], [ -121.907927999970354, 37.221219000562705 ], [ -121.907241000481264, 37.221873000686038 ], [ -121.907166000489795, 37.221944000472256 ], [ -121.906666000167931, 37.222344000897252 ], [ -121.906624000075979, 37.222413001092981 ], [ -121.905749000030923, 37.223845000627229 ], [ -121.905566000184976, 37.224144001105579 ], [ -121.905655999749499, 37.225309000571968 ], [ -121.905666000334762, 37.22544400105479 ], [ -121.905306000344709, 37.225584000622888 ], [ -121.903864999670844, 37.226144001096223 ], [ -121.903464999417253, 37.226344000803451 ], [ -121.903164999480396, 37.225844000560826 ], [ -121.90296499958518, 37.225444000261184 ], [ -121.902364999879765, 37.225144001057927 ], [ -121.901665000218713, 37.224844000726669 ], [ -121.900664999760806, 37.224444000576412 ], [ -121.899864999632427, 37.224244000547003 ], [ -121.898864999859612, 37.224044000604763 ], [ -121.897964999803492, 37.223844000759684 ], [ -121.894665000354266, 37.222478000264367 ], [ -121.893769999760764, 37.222108001039729 ], [ -121.892165000238904, 37.221444000825947 ], [ -121.890893000276776, 37.221164000755145 ], [ -121.887164999918838, 37.220344000708899 ], [ -121.885864999474052, 37.220344000470703 ], [ -121.885564999781678, 37.22064400069651 ], [ -121.885165000437311, 37.220844000820122 ], [ -121.884764999661272, 37.22114400037777 ], [ -121.884265000110659, 37.221444001109766 ], [ -121.883764999989793, 37.221744000583769 ], [ -121.883365000212692, 37.221944000821608 ], [ -121.883064999962812, 37.222244000825157 ], [ -121.882864999563225, 37.221844000478882 ], [ -121.880230999898316, 37.219242000453086 ], [ -121.880111999909019, 37.219125000529459 ], [ -121.878540999800961, 37.217935000791151 ], [ -121.878357000467616, 37.217576000392746 ], [ -121.878235000315982, 37.217393000316903 ], [ -121.878098000073038, 37.217179000758001 ], [ -121.877960999623255, 37.21659200076143 ], [ -121.877839000301037, 37.216294000757493 ], [ -121.877686000116142, 37.216088001033675 ], [ -121.877593000039852, 37.21602900070674 ], [ -121.877518000242262, 37.215982000399883 ], [ -121.877182999666303, 37.215867000881438 ], [ -121.876946999859058, 37.215829000765048 ], [ -121.876511000477947, 37.215760000807116 ], [ -121.876064999444537, 37.215667001085642 ], [ -121.875672000469507, 37.215585001039152 ], [ -121.875352000305227, 37.215478000454382 ], [ -121.875138000408043, 37.215295000568155 ], [ -121.874893999740664, 37.215120000629952 ], [ -121.874065000355202, 37.20914400029114 ], [ -121.873364999594727, 37.208544000354841 ], [ -121.873165000012165, 37.20664400086028 ], [ -121.872265000125878, 37.206344000748011 ], [ -121.873765000270964, 37.205644000357282 ], [ -121.873065000141679, 37.205144000430231 ], [ -121.872365000336416, 37.204844001039611 ], [ -121.869263999615754, 37.205144000491828 ], [ -121.868764000417002, 37.205744000920745 ], [ -121.863863999464357, 37.204244000270144 ], [ -121.863464000036146, 37.205344000686573 ], [ -121.86186400035929, 37.205244001020745 ], [ -121.861164000012565, 37.205244000494304 ], [ -121.860534000088521, 37.205232000601917 ], [ -121.860198999774099, 37.205186000481525 ], [ -121.859756000355006, 37.20516300095202 ], [ -121.859236999453572, 37.205003000622142 ], [ -121.858230000139926, 37.204766001113235 ], [ -121.857863999926138, 37.204744000836627 ], [ -121.857874000249879, 37.20483900089183 ], [ -121.858064000448536, 37.206644000577221 ], [ -121.858090999750573, 37.206746000412714 ], [ -121.858563999861559, 37.208544000286821 ], [ -121.857663999467093, 37.209644000292244 ], [ -121.857663999956216, 37.210444000869025 ], [ -121.856520999780912, 37.210336000933857 ], [ -121.855605999687043, 37.210321000921887 ], [ -121.854507000301737, 37.210305000422359 ], [ -121.853563999849285, 37.210344001055617 ], [ -121.853763999531139, 37.209544000361646 ], [ -121.85386399984101, 37.208544000863633 ], [ -121.853764000190608, 37.2082440008014 ], [ -121.853863999734472, 37.207644000482439 ], [ -121.852751000220948, 37.207737000752601 ], [ -121.852664000475286, 37.20774400078637 ], [ -121.850863999439881, 37.207944000813555 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 696, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.832862999463231, 37.212944001105605 ], [ -121.833815000244186, 37.212617000301471 ], [ -121.834044000473028, 37.212533001084289 ], [ -121.834436999834551, 37.212594000228158 ], [ -121.834762999817016, 37.212644000319479 ], [ -121.835263000483849, 37.212744000274064 ], [ -121.836162999514571, 37.212844000421384 ], [ -121.836862999673357, 37.213544000424939 ], [ -121.837562999687535, 37.214144000320751 ], [ -121.839271000131703, 37.215126000496163 ], [ -121.839980999663481, 37.215534000756556 ], [ -121.841562999971629, 37.216444000560351 ], [ -121.844662999798317, 37.220044000756623 ], [ -121.845070999986575, 37.220194000611961 ], [ -121.845207999548876, 37.220245000593572 ], [ -121.846562999829501, 37.220744000530651 ], [ -121.847313000112294, 37.220851000452399 ], [ -121.847397999525384, 37.220863000999422 ], [ -121.847963000001059, 37.220944000950766 ], [ -121.848762999897659, 37.221544001002677 ], [ -121.849263000389769, 37.221744000407313 ], [ -121.850111999443925, 37.221872000755532 ], [ -121.850448000434483, 37.221971000701686 ], [ -121.85119400006684, 37.222142000572042 ], [ -121.852141999973384, 37.222360001113628 ], [ -121.853863999894088, 37.222844000262683 ], [ -121.855063999941322, 37.223044000307453 ], [ -121.855165000176342, 37.223069000687666 ], [ -121.855863999929653, 37.223244000254518 ], [ -121.856663999668854, 37.22344400112609 ], [ -121.85796399959672, 37.223844000924956 ], [ -121.858044999985125, 37.223844000549938 ], [ -121.859664000097354, 37.223844000551026 ], [ -121.859964000222092, 37.224544000240904 ], [ -121.858564000025297, 37.2246440003087 ], [ -121.858950999389464, 37.225507001060485 ], [ -121.859055000347936, 37.225739000994466 ], [ -121.859863999526482, 37.227544000995053 ], [ -121.860563999548603, 37.227244001081779 ], [ -121.861663999596644, 37.228044000298624 ], [ -121.86266399985827, 37.22804400027497 ], [ -121.864864000373373, 37.229044000868733 ], [ -121.865863999491097, 37.229044000935957 ], [ -121.8667640000169, 37.229044000997199 ], [ -121.867763999797759, 37.229144000875834 ], [ -121.868663999964667, 37.229244000556186 ], [ -121.869064000349923, 37.229244000488507 ], [ -121.869763999666205, 37.229344000582103 ], [ -121.870163999495375, 37.229344000401269 ], [ -121.870264000164454, 37.229744000317709 ], [ -121.87056399954983, 37.230244001092132 ], [ -121.870963999855746, 37.231144000368928 ], [ -121.870964000347598, 37.231544000673885 ], [ -121.871255999920692, 37.232362000778814 ], [ -121.871463999632851, 37.232944000458083 ], [ -121.871551000172389, 37.233178000634069 ], [ -121.871551000145161, 37.233735000624968 ], [ -121.872262000435114, 37.234637000425941 ], [ -121.872375000500696, 37.234780001100305 ], [ -121.872544999395075, 37.235121000811702 ], [ -121.872624999496054, 37.235283000472442 ], [ -121.87291299975746, 37.235862000432903 ], [ -121.873030999883539, 37.236099000410192 ], [ -121.873153000035543, 37.236343000435141 ], [ -121.873197000297978, 37.236567000552206 ], [ -121.873214000415857, 37.236656000346343 ], [ -121.873243000045832, 37.236789000627212 ], [ -121.873325999724969, 37.237242000777911 ], [ -121.873563999628146, 37.238543000862144 ], [ -121.874030999536899, 37.239684001013742 ], [ -121.874239999536115, 37.240195000342055 ], [ -121.874464000040675, 37.240743000254632 ], [ -121.874563999883264, 37.242743000437954 ], [ -121.874563999694089, 37.243343000846011 ], [ -121.874099000405693, 37.243401000960198 ], [ -121.873474000487789, 37.243424000582451 ], [ -121.872970000227966, 37.243507001129068 ], [ -121.87269500013457, 37.243599000620293 ], [ -121.872641000483895, 37.243611000945023 ], [ -121.872528000434414, 37.243637000886949 ], [ -121.872282999597218, 37.243729000242574 ], [ -121.872085000505436, 37.243866000996221 ], [ -121.871948000055511, 37.243950000414131 ], [ -121.871596999985044, 37.244202000783055 ], [ -121.870924999442764, 37.244499000802307 ], [ -121.870299999831474, 37.244713000360768 ], [ -121.869784999771724, 37.24475400067621 ], [ -121.869627999473792, 37.244766000647395 ], [ -121.869110000170622, 37.244766000851399 ], [ -121.868454000407894, 37.24463700082282 ], [ -121.868011000521591, 37.244492000294727 ], [ -121.866864000197012, 37.244202000708725 ], [ -121.86640900016819, 37.244087000954799 ], [ -121.865827000467959, 37.243878000800727 ], [ -121.864394999570479, 37.243363000980921 ], [ -121.863891000015869, 37.243187000843356 ], [ -121.863830000251042, 37.243164000546109 ], [ -121.863547000101605, 37.243047000511545 ], [ -121.863388000187669, 37.242981001057835 ], [ -121.863234999879637, 37.242806000979662 ], [ -121.863174000158068, 37.242775000794254 ], [ -121.862990999975622, 37.24266100110237 ], [ -121.862896999409926, 37.242364000467262 ], [ -121.862940999791817, 37.242213000268741 ], [ -121.862958000477846, 37.242154001086128 ], [ -121.863097999845877, 37.241678000563276 ], [ -121.863275000211516, 37.24103700087219 ], [ -121.863309000400534, 37.240913001122706 ], [ -121.863128000294907, 37.240761000643275 ], [ -121.862063999813586, 37.240043000873094 ], [ -121.861364000289839, 37.239743001063246 ], [ -121.859668000007446, 37.238494000986485 ], [ -121.858549999531434, 37.238251001024992 ], [ -121.857434999499162, 37.23799000044427 ], [ -121.857163999423591, 37.237943000480186 ], [ -121.856064000064947, 37.237843000817151 ], [ -121.854864000475175, 37.237843000328098 ], [ -121.853351000488715, 37.237927000280379 ], [ -121.85306299958539, 37.237943000684517 ], [ -121.852922999400562, 37.237923000836105 ], [ -121.852362999429715, 37.237843000699954 ], [ -121.851863000407633, 37.237843001070715 ], [ -121.851063000227128, 37.237843001039479 ], [ -121.851162999793459, 37.237643000975325 ], [ -121.850463000317376, 37.23674300049975 ], [ -121.84996300002652, 37.23654300051134 ], [ -121.849662999581426, 37.236043001095538 ], [ -121.849807999881719, 37.235705000626901 ], [ -121.849562999456111, 37.235343000356934 ], [ -121.849362999656904, 37.23524300104215 ], [ -121.848295999748586, 37.234895000864803 ], [ -121.847362999915532, 37.234544000595555 ], [ -121.846262999422649, 37.234244000777039 ], [ -121.844963000317406, 37.233444000242727 ], [ -121.844663000220137, 37.23314400045065 ], [ -121.843762999638074, 37.232344000384394 ], [ -121.84086300028676, 37.231844000346527 ], [ -121.840962999457972, 37.231244000661292 ], [ -121.840183999474334, 37.230939001000408 ], [ -121.838662999820784, 37.230344000835565 ], [ -121.838042000352303, 37.230172000530395 ], [ -121.836364000164707, 37.2298630003854 ], [ -121.836262999773808, 37.229844000531678 ], [ -121.834563000119388, 37.228844000650888 ], [ -121.833762999900458, 37.226344001093672 ], [ -121.831662999866253, 37.226344000908696 ], [ -121.831163000209173, 37.227544000855211 ], [ -121.830549999923733, 37.227609000987677 ], [ -121.830262999729172, 37.227644000856863 ], [ -121.829479999745587, 37.227419000687732 ], [ -121.828863000134589, 37.22704400091537 ], [ -121.82869999968338, 37.226935001061825 ], [ -121.828562999458953, 37.22684400050646 ], [ -121.828283999658296, 37.226669000776269 ], [ -121.827974000031944, 37.226475000336443 ], [ -121.827762999963014, 37.226344000619882 ], [ -121.827638000346653, 37.226244000563 ], [ -121.827363000157845, 37.226025000652832 ], [ -121.827181000272489, 37.225879000948346 ], [ -121.826762999810413, 37.225544000966096 ], [ -121.826563000334772, 37.225644000731506 ], [ -121.825563000356723, 37.225744000862235 ], [ -121.825462999485623, 37.22604400110994 ], [ -121.826363000193879, 37.226944000550212 ], [ -121.825662999732359, 37.22834400086419 ], [ -121.824363000002137, 37.228144000913971 ], [ -121.82366200047727, 37.228462001119183 ], [ -121.823262000034887, 37.228644000268581 ], [ -121.823162000463228, 37.228608000528105 ], [ -121.82186199988567, 37.22814400092517 ], [ -121.820661999697364, 37.229244001022792 ], [ -121.818461999776574, 37.227844000350977 ], [ -121.816016000495281, 37.226947000260502 ], [ -121.815461999578417, 37.226744000750195 ], [ -121.812238999688105, 37.225990001052352 ], [ -121.810761999709058, 37.225644000425277 ], [ -121.807762000433101, 37.224944000675059 ], [ -121.806361999848605, 37.224244001002987 ], [ -121.804455000517422, 37.223710000774744 ], [ -121.803861999915355, 37.223544000371042 ], [ -121.802676999547401, 37.224255000831882 ], [ -121.800361999631733, 37.225644000309828 ], [ -121.798361999743264, 37.225944000402606 ], [ -121.797437000261723, 37.226083000673732 ], [ -121.796661000455444, 37.225844000564081 ], [ -121.791761000334319, 37.225744000342999 ], [ -121.791587000307672, 37.225050000981668 ], [ -121.791161000465095, 37.223344000440399 ], [ -121.79086099939407, 37.222844001081747 ], [ -121.790661000125155, 37.222644000654249 ], [ -121.789461000316464, 37.222444000722341 ], [ -121.788901000097312, 37.222364000732348 ], [ -121.788761000227723, 37.222344001000053 ], [ -121.787460999502557, 37.221844000364463 ], [ -121.786261000183515, 37.22124400110696 ], [ -121.785461000104959, 37.220344000923035 ], [ -121.782960999928363, 37.219744000582978 ], [ -121.782406000183784, 37.21940700112269 ], [ -121.782460999582852, 37.219844000562929 ], [ -121.782491999412017, 37.220029000458723 ], [ -121.782561000092542, 37.220444001089291 ], [ -121.78246100025207, 37.220744001013493 ], [ -121.779388000132059, 37.223932000339126 ], [ -121.779119000361248, 37.224207001069381 ], [ -121.779063000089792, 37.224290000809248 ], [ -121.779024999824472, 37.224348000492981 ], [ -121.776128999681433, 37.223005000424557 ], [ -121.773218999621506, 37.221830000919347 ], [ -121.772380000147606, 37.221491000329515 ], [ -121.77130699962008, 37.221058000480106 ], [ -121.771273999599671, 37.221004000538862 ], [ -121.771282000095937, 37.220762000816116 ], [ -121.771326000092955, 37.219433000877984 ], [ -121.771356000439837, 37.218526000719869 ], [ -121.771027000241062, 37.218283000949882 ], [ -121.770810000024966, 37.21711800092546 ], [ -121.770535000323889, 37.216539001085998 ], [ -121.77093200024801, 37.216333000911582 ], [ -121.771660999538724, 37.215544000759117 ], [ -121.771661000123544, 37.215344001128415 ], [ -121.772160999701896, 37.214844000376068 ], [ -121.771861000134365, 37.214744000517882 ], [ -121.772761000247129, 37.213144000664535 ], [ -121.775660999674926, 37.212244000323196 ], [ -121.77646099973623, 37.211344000236288 ], [ -121.776360999400524, 37.210344000666126 ], [ -121.777561000310783, 37.208644000995584 ], [ -121.7790039994008, 37.207634000938519 ], [ -121.779561000258141, 37.207244000493219 ], [ -121.779760999501065, 37.205144000507104 ], [ -121.779061000091204, 37.204044000561701 ], [ -121.77866100016567, 37.203344000714218 ], [ -121.778573999432737, 37.202815000654155 ], [ -121.77847400019877, 37.202212000274564 ], [ -121.778413999829269, 37.2018520007056 ], [ -121.778208999919016, 37.201084000864235 ], [ -121.777689999710731, 37.200057000781321 ], [ -121.777060999790507, 37.198644000448731 ], [ -121.777189000109544, 37.198090000372474 ], [ -121.777361000423937, 37.197345000594908 ], [ -121.777283999815282, 37.197107001030808 ], [ -121.776673999557914, 37.195214000700545 ], [ -121.776360999895473, 37.194245000282741 ], [ -121.769961000024438, 37.192045000994021 ], [ -121.768661000222949, 37.192145001128331 ], [ -121.766660999665064, 37.191745000259239 ], [ -121.764934999657953, 37.190638000619693 ], [ -121.764507000311895, 37.19048500110037 ], [ -121.762966000360834, 37.189081000610294 ], [ -121.763010999587522, 37.188715000353845 ], [ -121.763514999925178, 37.188227000682993 ], [ -121.763575999729852, 37.188006000835735 ], [ -121.76328600033905, 37.187319000355501 ], [ -121.762903999809765, 37.187296000375561 ], [ -121.76186699996515, 37.187296000934538 ], [ -121.761302000330673, 37.187113000295795 ], [ -121.76081400029291, 37.186724000471564 ], [ -121.760310000067037, 37.186182000693648 ], [ -121.759260000468032, 37.184845000858843 ], [ -121.759760000039691, 37.184545000813117 ], [ -121.761560000084259, 37.182245000415882 ], [ -121.761259999708642, 37.181645000941522 ], [ -121.761760000247548, 37.1809450009115 ], [ -121.763461000260548, 37.180545000345425 ], [ -121.765661000225407, 37.180845000976021 ], [ -121.76406099956499, 37.177745000315369 ], [ -121.765560999572671, 37.179345000611519 ], [ -121.765960999558459, 37.179745000349428 ], [ -121.766161000045486, 37.179345000832846 ], [ -121.766561000447467, 37.179645000933526 ], [ -121.767260999847508, 37.178245000431602 ], [ -121.767874999924004, 37.178501000953048 ], [ -121.769661000439797, 37.179245000918847 ], [ -121.769860999540029, 37.180145000792344 ], [ -121.770187000300254, 37.179982000765492 ], [ -121.770661000341846, 37.179745000851362 ], [ -121.773461000209849, 37.181645000542794 ], [ -121.773380999917478, 37.181886000589365 ], [ -121.773255000263305, 37.182263000825117 ], [ -121.772960999567204, 37.183145000395214 ], [ -121.773441999758887, 37.183173000278366 ], [ -121.77466099980613, 37.183245000880902 ], [ -121.776960999902599, 37.184045000239259 ], [ -121.776627000130105, 37.183460001056417 ], [ -121.776161000167193, 37.182645000403788 ], [ -121.779271000473827, 37.183423000874043 ], [ -121.782853000112354, 37.181378001031796 ], [ -121.782660999982184, 37.179845000614975 ], [ -121.777061000312187, 37.178345000569777 ], [ -121.785361000326361, 37.179045000934501 ], [ -121.784860999781728, 37.175545000566999 ], [ -121.78376100029611, 37.175745000682646 ], [ -121.786121999459112, 37.173768001112101 ], [ -121.788062000219512, 37.172145000832792 ], [ -121.790061999969154, 37.172345000263277 ], [ -121.794861999764123, 37.172145000544553 ], [ -121.796461999992843, 37.172145000842811 ], [ -121.796773000196396, 37.171712001015059 ], [ -121.797125000042271, 37.171222000655511 ], [ -121.799261999503472, 37.168245000235629 ], [ -121.803362000095134, 37.16594500099594 ], [ -121.802462000224921, 37.164545000799784 ], [ -121.800761999523743, 37.159946000952154 ], [ -121.805862000124193, 37.152846000835964 ], [ -121.81176300033043, 37.15284600048976 ], [ -121.814062999925696, 37.152046000986807 ], [ -121.814637999575439, 37.150227000769767 ], [ -121.817044999533877, 37.142603001055477 ], [ -121.817063000410187, 37.142546000600127 ], [ -121.821563000246684, 37.144346000549461 ], [ -121.823462999553058, 37.146046001046336 ], [ -121.823406999534768, 37.146158000811845 ], [ -121.82146300021644, 37.150046001036351 ], [ -121.823991000263078, 37.153079000268519 ], [ -121.82896299963528, 37.159046000237652 ], [ -121.830262999977563, 37.161046000866207 ], [ -121.830956000482445, 37.161927001044404 ], [ -121.830970000057704, 37.161944001035039 ], [ -121.831363000034472, 37.162445000482371 ], [ -121.831438000114517, 37.162444000501374 ], [ -121.8364639995944, 37.162345000319945 ], [ -121.837047999484682, 37.162455000868427 ], [ -121.836064000432032, 37.163045000234142 ], [ -121.833962999859466, 37.163745000507326 ], [ -121.831244999643928, 37.16341600061569 ], [ -121.830662999643295, 37.163345000572043 ], [ -121.829962999695141, 37.164445000526243 ], [ -121.829262999743051, 37.165045000804895 ], [ -121.828362999632446, 37.16854500097228 ], [ -121.82796299942747, 37.168745000629791 ], [ -121.826863000479591, 37.169645000568607 ], [ -121.825162999618755, 37.17094500086916 ], [ -121.825062999466226, 37.172545000547615 ], [ -121.823862999755747, 37.173845000488726 ], [ -121.823963000321697, 37.174045000948084 ], [ -121.82416299948224, 37.174245000476603 ], [ -121.824463000266604, 37.174445000406301 ], [ -121.824062999914446, 37.174845001008748 ], [ -121.821063000385976, 37.178245000388621 ], [ -121.816463000142761, 37.180145001076653 ], [ -121.816163000121776, 37.183445000333826 ], [ -121.81836300022745, 37.188545000442097 ], [ -121.820662999722202, 37.190145000824685 ], [ -121.823262999885813, 37.191845000477613 ], [ -121.824860000269439, 37.193019000347903 ], [ -121.822870000455893, 37.194382000718612 ], [ -121.82486300019427, 37.196545000544177 ], [ -121.826011000225392, 37.199085000937536 ], [ -121.826262999481713, 37.199644000483488 ], [ -121.828167999856504, 37.20091400085029 ], [ -121.828574000230589, 37.201185000821468 ], [ -121.828903000487585, 37.201404000267686 ], [ -121.829263000359447, 37.201644000458437 ], [ -121.828753000124635, 37.201729000951723 ], [ -121.828663000363846, 37.201744001077628 ], [ -121.828655000270984, 37.20175200086431 ], [ -121.828653999982819, 37.201753000496865 ], [ -121.828812999930065, 37.201897000416729 ], [ -121.828344999766699, 37.202160000557363 ], [ -121.828170000213603, 37.202331000798623 ], [ -121.827974000051583, 37.202523001095962 ], [ -121.827811000030323, 37.202885000707745 ], [ -121.827707999512896, 37.203094001120476 ], [ -121.827612000076158, 37.203327000956165 ], [ -121.827557999994625, 37.203734000484062 ], [ -121.827421000152881, 37.204770000420503 ], [ -121.827219999841844, 37.205064000966338 ], [ -121.826771000103463, 37.205720000956369 ], [ -121.826719999996087, 37.205751001021618 ], [ -121.826078999773486, 37.206163000742436 ], [ -121.825942000422287, 37.206224000737819 ], [ -121.824430999833353, 37.207154000248572 ], [ -121.824979999944233, 37.207818000409056 ], [ -121.825468999684418, 37.208444001114451 ], [ -121.826094000136081, 37.209184000671733 ], [ -121.826703999949714, 37.20977100025366 ], [ -121.827222999990582, 37.210221000265214 ], [ -121.827665999664191, 37.210603000730593 ], [ -121.828262999581568, 37.210944000658408 ], [ -121.828863000489051, 37.211444000982958 ], [ -121.829762999950972, 37.212244000512008 ], [ -121.831262999715193, 37.212944000428202 ], [ -121.832862999463231, 37.212944001105605 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 694, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.845062999571724, 37.208344000522068 ], [ -121.845487999956489, 37.208851000958362 ], [ -121.846062999867371, 37.209344000314026 ], [ -121.844663000446189, 37.210444000326213 ], [ -121.843963000410852, 37.211344000541295 ], [ -121.843763000511856, 37.212044001107998 ], [ -121.843363000061217, 37.212744000572329 ], [ -121.843063000329309, 37.213444001075118 ], [ -121.842563000261379, 37.214744000958454 ], [ -121.84209499968965, 37.215540001058599 ], [ -121.841562999971629, 37.216444000560351 ], [ -121.839980999663481, 37.215534000756556 ], [ -121.839271000131703, 37.215126000496163 ], [ -121.837562999687535, 37.214144000320751 ], [ -121.836862999673357, 37.213544000424939 ], [ -121.836162999514571, 37.212844000421384 ], [ -121.835263000483849, 37.212744000274064 ], [ -121.834762999817016, 37.212644000319479 ], [ -121.834436999834551, 37.212594000228158 ], [ -121.834044000473028, 37.212533001084289 ], [ -121.833815000244186, 37.212617000301471 ], [ -121.832862999463231, 37.212944001105605 ], [ -121.831262999715193, 37.212944000428202 ], [ -121.829762999950972, 37.212244000512008 ], [ -121.828863000489051, 37.211444000982958 ], [ -121.828262999581568, 37.210944000658408 ], [ -121.827665999664191, 37.210603000730593 ], [ -121.827222999990582, 37.210221000265214 ], [ -121.826703999949714, 37.20977100025366 ], [ -121.826094000136081, 37.209184000671733 ], [ -121.825468999684418, 37.208444001114451 ], [ -121.824979999944233, 37.207818000409056 ], [ -121.824430999833353, 37.207154000248572 ], [ -121.825942000422287, 37.206224000737819 ], [ -121.826078999773486, 37.206163000742436 ], [ -121.826719999996087, 37.205751001021618 ], [ -121.826771000103463, 37.205720000956369 ], [ -121.827219999841844, 37.205064000966338 ], [ -121.827421000152881, 37.204770000420503 ], [ -121.827557999994625, 37.203734000484062 ], [ -121.827612000076158, 37.203327000956165 ], [ -121.827707999512896, 37.203094001120476 ], [ -121.827811000030323, 37.202885000707745 ], [ -121.827974000051583, 37.202523001095962 ], [ -121.828170000213603, 37.202331000798623 ], [ -121.828344999766699, 37.202160000557363 ], [ -121.828812999930065, 37.201897000416729 ], [ -121.828653999982819, 37.201753000496865 ], [ -121.828655000270984, 37.20175200086431 ], [ -121.828663000363846, 37.201744001077628 ], [ -121.828753000124635, 37.201729000951723 ], [ -121.829263000359447, 37.201644000458437 ], [ -121.828903000487585, 37.201404000267686 ], [ -121.828574000230589, 37.201185000821468 ], [ -121.828167999856504, 37.20091400085029 ], [ -121.826262999481713, 37.199644000483488 ], [ -121.826011000225392, 37.199085000937536 ], [ -121.82486300019427, 37.196545000544177 ], [ -121.822870000455893, 37.194382000718612 ], [ -121.824860000269439, 37.193019000347903 ], [ -121.825316000305847, 37.19335400028082 ], [ -121.82704800015965, 37.194566000314062 ], [ -121.827146999575305, 37.194636000548094 ], [ -121.829527999835676, 37.19605200048818 ], [ -121.830289999976642, 37.196505000385628 ], [ -121.830800999639621, 37.196731000638444 ], [ -121.831052999529447, 37.196840000763885 ], [ -121.831370999972805, 37.197237000311652 ], [ -121.831389000177737, 37.197260000379579 ], [ -121.832763000452033, 37.198044000343863 ], [ -121.832959000350399, 37.198093000683656 ], [ -121.833163000183191, 37.198144000307416 ], [ -121.833682999880622, 37.198405001034729 ], [ -121.834303000420803, 37.198716000615605 ], [ -121.835447999463113, 37.199639000691754 ], [ -121.836134000154971, 37.199945000689681 ], [ -121.836662999808951, 37.200444000361642 ], [ -121.837363000120945, 37.200844000421796 ], [ -121.838663000202502, 37.201844000699353 ], [ -121.838743999497751, 37.201936000941537 ], [ -121.838987999783413, 37.202127001013835 ], [ -121.839387999438799, 37.20250600028988 ], [ -121.839856999878876, 37.202949001053049 ], [ -121.839949000298191, 37.203035000595875 ], [ -121.840529000266457, 37.20375200100468 ], [ -121.841730999805506, 37.204994000230606 ], [ -121.842263000365861, 37.205544000685961 ], [ -121.844600999871361, 37.20791900045505 ], [ -121.845062999571724, 37.208344000522068 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 690, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.870163999495375, 37.229344000401269 ], [ -121.869770999581377, 37.228494000488119 ], [ -121.869731000265361, 37.228407000658429 ], [ -121.86956400014833, 37.228044000605145 ], [ -121.869320000342015, 37.227695000584518 ], [ -121.868863999672385, 37.227044000573351 ], [ -121.868726000279608, 37.226937000498964 ], [ -121.867064000030808, 37.225644000773613 ], [ -121.863964000249823, 37.223244000724712 ], [ -121.863163999491107, 37.222544001018775 ], [ -121.862263999496932, 37.221844000633574 ], [ -121.865064000281805, 37.22034400077068 ], [ -121.865630999686758, 37.22058700047085 ], [ -121.865763999635021, 37.220644001011991 ], [ -121.866963999417933, 37.221044000770746 ], [ -121.867164000459738, 37.221044000478265 ], [ -121.869463999600768, 37.222344000780119 ], [ -121.871563999793239, 37.222244000430635 ], [ -121.872463999976333, 37.222244000749555 ], [ -121.872663999772726, 37.222244001090772 ], [ -121.873464000146029, 37.222244000890676 ], [ -121.874364000501799, 37.22224400028712 ], [ -121.875264000440808, 37.22214400023514 ], [ -121.876063999713836, 37.222055000876104 ], [ -121.876164000323072, 37.222044000533074 ], [ -121.876183999664107, 37.222046000253819 ], [ -121.877164999830399, 37.222144000341494 ], [ -121.878165000052661, 37.222244000264098 ], [ -121.879264999444217, 37.222144001025853 ], [ -121.880165000220998, 37.222144000483389 ], [ -121.88084799978698, 37.222144000421061 ], [ -121.881264999633444, 37.222144000529227 ], [ -121.883064999962812, 37.222244000825157 ], [ -121.884064999398561, 37.223844000540744 ], [ -121.884365000257887, 37.224144000931588 ], [ -121.884564999731566, 37.224544000485494 ], [ -121.884764999935584, 37.225544000607613 ], [ -121.884365000350712, 37.228044000759731 ], [ -121.884289999515104, 37.228982000386026 ], [ -121.884164999806046, 37.230544001048017 ], [ -121.884164999692075, 37.232244000328173 ], [ -121.884217000074642, 37.23249900050547 ], [ -121.884287000161635, 37.233409001070477 ], [ -121.884320000175606, 37.233469001033924 ], [ -121.884365000220285, 37.233544000927331 ], [ -121.884864999726531, 37.234244000759155 ], [ -121.885565000090295, 37.234844000986769 ], [ -121.886064999875103, 37.235544000247764 ], [ -121.886057000055018, 37.235624001002023 ], [ -121.885964999822036, 37.236543000458518 ], [ -121.885764999542502, 37.237343000752048 ], [ -121.885964999418363, 37.23844300035784 ], [ -121.884665000047789, 37.239143001128255 ], [ -121.884080000096688, 37.239451000465749 ], [ -121.883169000350591, 37.239930000329238 ], [ -121.882764999502101, 37.240143000405865 ], [ -121.882164999653256, 37.24024300038166 ], [ -121.881965000276338, 37.240343000922699 ], [ -121.881341999581906, 37.240619000788598 ], [ -121.881064000144946, 37.240743000666093 ], [ -121.880546000292455, 37.241073001062972 ], [ -121.8799640004558, 37.241443000917371 ], [ -121.879064000487105, 37.24224300087397 ], [ -121.87726400050019, 37.243043000784269 ], [ -121.876463999559135, 37.243443000511732 ], [ -121.876064000077591, 37.243422000868264 ], [ -121.874563999694089, 37.243343000846011 ], [ -121.874563999883264, 37.242743000437954 ], [ -121.874464000040675, 37.240743000254632 ], [ -121.874239999536115, 37.240195000342055 ], [ -121.874030999536899, 37.239684001013742 ], [ -121.873563999628146, 37.238543000862144 ], [ -121.873325999724969, 37.237242000777911 ], [ -121.873243000045832, 37.236789000627212 ], [ -121.873214000415857, 37.236656000346343 ], [ -121.873197000297978, 37.236567000552206 ], [ -121.873153000035543, 37.236343000435141 ], [ -121.873030999883539, 37.236099000410192 ], [ -121.87291299975746, 37.235862000432903 ], [ -121.872624999496054, 37.235283000472442 ], [ -121.872544999395075, 37.235121000811702 ], [ -121.872375000500696, 37.234780001100305 ], [ -121.872262000435114, 37.234637000425941 ], [ -121.871551000145161, 37.233735000624968 ], [ -121.871551000172389, 37.233178000634069 ], [ -121.871463999632851, 37.232944000458083 ], [ -121.871255999920692, 37.232362000778814 ], [ -121.870964000347598, 37.231544000673885 ], [ -121.870963999855746, 37.231144000368928 ], [ -121.87056399954983, 37.230244001092132 ], [ -121.870264000164454, 37.229744000317709 ], [ -121.870163999495375, 37.229344000401269 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 656, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.725583000382045, 37.241454000959479 ], [ -121.720413000432984, 37.23700600041002 ], [ -121.719758999681048, 37.236443000519508 ], [ -121.72395899974255, 37.237343000541138 ], [ -121.724408000467577, 37.237357000701159 ], [ -121.727058999890417, 37.237443000321491 ], [ -121.729059000431803, 37.235143000690343 ], [ -121.736158999667154, 37.234943000652763 ], [ -121.736337000372387, 37.234968001065504 ], [ -121.736858999714144, 37.235043000652958 ], [ -121.737559000196541, 37.234443000634251 ], [ -121.739758999872109, 37.234843000264839 ], [ -121.741058999821888, 37.234443000333556 ], [ -121.741158999724163, 37.233843001080714 ], [ -121.741758999454873, 37.233943000455589 ], [ -121.742959000511561, 37.232743000853773 ], [ -121.744959999515743, 37.232543001023828 ], [ -121.746259999528718, 37.23194300059594 ], [ -121.746760000451459, 37.231143000948528 ], [ -121.746582000191353, 37.230016001120049 ], [ -121.74647900026936, 37.229365000797948 ], [ -121.74654699977674, 37.229333000714199 ], [ -121.746744999497253, 37.229112000653402 ], [ -121.747325000423515, 37.229440000675169 ], [ -121.747611000201417, 37.229646000774032 ], [ -121.748286999695594, 37.23013400046414 ], [ -121.749188000519808, 37.230710000559775 ], [ -121.750131999923212, 37.231313000575419 ], [ -121.75140199963073, 37.232125001004313 ], [ -121.751450999970714, 37.232156000424318 ], [ -121.755732999923424, 37.234891001052716 ], [ -121.757247000242756, 37.235858000559318 ], [ -121.75766700025963, 37.236127000940066 ], [ -121.757759999905176, 37.236143000350978 ], [ -121.759944000080452, 37.237732000872434 ], [ -121.763048999483686, 37.239903000342807 ], [ -121.763240000250619, 37.240036000416666 ], [ -121.763315000229724, 37.240095001062301 ], [ -121.764064999942065, 37.240462001104184 ], [ -121.764367999414247, 37.240600000940724 ], [ -121.764704999678543, 37.240753000772528 ], [ -121.764919000213212, 37.240860000723764 ], [ -121.765139999670041, 37.240949000322459 ], [ -121.765832999979537, 37.241227000296867 ], [ -121.766001999919183, 37.241295001037585 ], [ -121.766764999995942, 37.24163100048068 ], [ -121.767053000047284, 37.24175100045052 ], [ -121.767711999412228, 37.242025000287043 ], [ -121.769332999665835, 37.242698000427012 ], [ -121.76983200013639, 37.242905000961827 ], [ -121.771999000447749, 37.243782001019085 ], [ -121.772472000072227, 37.243965000896985 ], [ -121.773416000091629, 37.24439300070312 ], [ -121.774959999853678, 37.245094000398538 ], [ -121.775213000289497, 37.245223000657433 ], [ -121.776773000069639, 37.246021000548431 ], [ -121.781258999408294, 37.248314000962907 ], [ -121.782073000251145, 37.248730000365356 ], [ -121.782914999861433, 37.249160000587153 ], [ -121.783868999575603, 37.249648000736897 ], [ -121.785011999471223, 37.250232000592973 ], [ -121.786206999982895, 37.250843000688334 ], [ -121.787706999420934, 37.251610001117641 ], [ -121.788240999809389, 37.251883000389391 ], [ -121.788775999451133, 37.252157000779533 ], [ -121.792096000281873, 37.253853000469114 ], [ -121.794190000330133, 37.255313001008439 ], [ -121.795182000313488, 37.255983000837489 ], [ -121.795752000144986, 37.256368001097613 ], [ -121.796803999719586, 37.25707800026386 ], [ -121.797830000472587, 37.256966000263311 ], [ -121.798095999939179, 37.256911000268914 ], [ -121.798455999986246, 37.256866000614849 ], [ -121.7986609995734, 37.256843000987679 ], [ -121.798685000446497, 37.256923000528396 ], [ -121.798689000060236, 37.256936000730278 ], [ -121.798962000014399, 37.257843000832423 ], [ -121.799362000466957, 37.258943000994783 ], [ -121.799558000471677, 37.259567000466191 ], [ -121.799747000451148, 37.26007000077955 ], [ -121.79976600006411, 37.260120001112668 ], [ -121.799888999583786, 37.260447000499006 ], [ -121.799958999594665, 37.260633000628978 ], [ -121.800254999467299, 37.261421000910893 ], [ -121.800335999892056, 37.261635000952829 ], [ -121.801142999530498, 37.264256000816765 ], [ -121.801170000014409, 37.264343000308756 ], [ -121.801356999910496, 37.26495100101203 ], [ -121.801384999749388, 37.265043000438538 ], [ -121.801717999737164, 37.266124000749947 ], [ -121.80181599982312, 37.2664410003974 ], [ -121.80216199961437, 37.267643000909153 ], [ -121.805562000161331, 37.27714200025811 ], [ -121.806531000488206, 37.278837000826741 ], [ -121.806699000406454, 37.27916600025447 ], [ -121.806762000005975, 37.279242000693465 ], [ -121.807662000278697, 37.280542000715329 ], [ -121.808536000175025, 37.281765000387935 ], [ -121.808662000210077, 37.281942000860013 ], [ -121.80946200034812, 37.285242000458766 ], [ -121.809387000127884, 37.285242000424894 ], [ -121.809161999460684, 37.285242000939235 ], [ -121.804839000258241, 37.284725001040357 ], [ -121.799961999715848, 37.284142000589249 ], [ -121.794662000172991, 37.281442000861034 ], [ -121.792862000125695, 37.28154200029168 ], [ -121.790561999706156, 37.281642000859115 ], [ -121.788360999865816, 37.283742000835716 ], [ -121.788242999804012, 37.283671000683121 ], [ -121.775781000122208, 37.276224000790066 ], [ -121.773707999707199, 37.274985000751442 ], [ -121.772986999857451, 37.27455400094879 ], [ -121.772045999419134, 37.273992000702492 ], [ -121.771402999923239, 37.2736080007558 ], [ -121.769835999478133, 37.272671001090316 ], [ -121.766711999580735, 37.270803000253245 ], [ -121.766654000172878, 37.270769001091573 ], [ -121.765719999593273, 37.270211000578001 ], [ -121.764489999586587, 37.269476000677173 ], [ -121.763790999487227, 37.26905800102292 ], [ -121.762596000232804, 37.268344000537169 ], [ -121.745860000337444, 37.258343000369514 ], [ -121.738558999490948, 37.252843000339276 ], [ -121.733358999560735, 37.248143001002894 ], [ -121.725583000382045, 37.241454000959479 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 657, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.775213000289497, 37.245223000657433 ], [ -121.774959999853678, 37.245094000398538 ], [ -121.773416000091629, 37.24439300070312 ], [ -121.772472000072227, 37.243965000896985 ], [ -121.771999000447749, 37.243782001019085 ], [ -121.76983200013639, 37.242905000961827 ], [ -121.769332999665835, 37.242698000427012 ], [ -121.767711999412228, 37.242025000287043 ], [ -121.767053000047284, 37.24175100045052 ], [ -121.766764999995942, 37.24163100048068 ], [ -121.766001999919183, 37.241295001037585 ], [ -121.765832999979537, 37.241227000296867 ], [ -121.765139999670041, 37.240949000322459 ], [ -121.764919000213212, 37.240860000723764 ], [ -121.764704999678543, 37.240753000772528 ], [ -121.764367999414247, 37.240600000940724 ], [ -121.764064999942065, 37.240462001104184 ], [ -121.763315000229724, 37.240095001062301 ], [ -121.763240000250619, 37.240036000416666 ], [ -121.763048999483686, 37.239903000342807 ], [ -121.759944000080452, 37.237732000872434 ], [ -121.757759999905176, 37.236143000350978 ], [ -121.75766700025963, 37.236127000940066 ], [ -121.757247000242756, 37.235858000559318 ], [ -121.755732999923424, 37.234891001052716 ], [ -121.751450999970714, 37.232156000424318 ], [ -121.75140199963073, 37.232125001004313 ], [ -121.750131999923212, 37.231313000575419 ], [ -121.749188000519808, 37.230710000559775 ], [ -121.748286999695594, 37.23013400046414 ], [ -121.747611000201417, 37.229646000774032 ], [ -121.747325000423515, 37.229440000675169 ], [ -121.746744999497253, 37.229112000653402 ], [ -121.747469999510812, 37.228728000754266 ], [ -121.749084999548998, 37.22787300070194 ], [ -121.749338999568764, 37.227739001056449 ], [ -121.749781999439222, 37.227479001078649 ], [ -121.750059999970532, 37.22714400065265 ], [ -121.750859999805598, 37.226744000684199 ], [ -121.751393000209944, 37.226513001125745 ], [ -121.751616000369367, 37.226629000817049 ], [ -121.758378999713884, 37.230146001052447 ], [ -121.765541999925077, 37.233870000736182 ], [ -121.766447999683436, 37.234341000835464 ], [ -121.768760000508095, 37.235543000533369 ], [ -121.771189999729245, 37.23712900084422 ], [ -121.77141900017439, 37.237273000997078 ], [ -121.771785000189126, 37.237502000518965 ], [ -121.772396000356437, 37.237885000449182 ], [ -121.772946000117855, 37.238220000928393 ], [ -121.773205000513016, 37.238014000342496 ], [ -121.774360999820928, 37.238643000676618 ], [ -121.774436999485275, 37.238685000707214 ], [ -121.774987999826735, 37.238991000258096 ], [ -121.775260999860251, 37.239143000660562 ], [ -121.775754000005989, 37.239409000479746 ], [ -121.776225999556345, 37.239815000760501 ], [ -121.776732000376612, 37.24012900074856 ], [ -121.776561000423513, 37.240243000769269 ], [ -121.777076000158004, 37.240562001037574 ], [ -121.777508999448017, 37.240830000407946 ], [ -121.77781200000787, 37.241028000500322 ], [ -121.778744000097532, 37.24163800070604 ], [ -121.780743000516722, 37.242802000352064 ], [ -121.781405000463863, 37.243187000767598 ], [ -121.781954000028264, 37.243506000899281 ], [ -121.782741999498825, 37.243965001120102 ], [ -121.785701999759027, 37.245743000732126 ], [ -121.785850999416041, 37.245833000886144 ], [ -121.786361000351334, 37.246143000834067 ], [ -121.786691999925992, 37.24634100036409 ], [ -121.787719000476571, 37.24695400045939 ], [ -121.790035999448648, 37.248337000472816 ], [ -121.790334000206741, 37.248507001005066 ], [ -121.790827999758733, 37.248788000361635 ], [ -121.792248000203998, 37.249596000523994 ], [ -121.793927999765444, 37.250635000744943 ], [ -121.794226000400414, 37.250819000341465 ], [ -121.796360999695622, 37.252043000249586 ], [ -121.796946999867018, 37.252374000724046 ], [ -121.797196999655569, 37.252515001008604 ], [ -121.797861000478477, 37.254243000757803 ], [ -121.797960999763433, 37.254443001012433 ], [ -121.7986609995734, 37.256843000987679 ], [ -121.798455999986246, 37.256866000614849 ], [ -121.798095999939179, 37.256911000268914 ], [ -121.797830000472587, 37.256966000263311 ], [ -121.796803999719586, 37.25707800026386 ], [ -121.795752000144986, 37.256368001097613 ], [ -121.795182000313488, 37.255983000837489 ], [ -121.794190000330133, 37.255313001008439 ], [ -121.792096000281873, 37.253853000469114 ], [ -121.788775999451133, 37.252157000779533 ], [ -121.788240999809389, 37.251883000389391 ], [ -121.787706999420934, 37.251610001117641 ], [ -121.786206999982895, 37.250843000688334 ], [ -121.785011999471223, 37.250232000592973 ], [ -121.783868999575603, 37.249648000736897 ], [ -121.782914999861433, 37.249160000587153 ], [ -121.782073000251145, 37.248730000365356 ], [ -121.781258999408294, 37.248314000962907 ], [ -121.776773000069639, 37.246021000548431 ], [ -121.775213000289497, 37.245223000657433 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 392, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.054971999581042, 37.378440000308991 ], [ -122.055371999710047, 37.37714000044577 ], [ -122.055971999856538, 37.375640000739047 ], [ -122.056071999925834, 37.375040001068591 ], [ -122.056115000159835, 37.374940001126035 ], [ -122.056672000302086, 37.373640000487562 ], [ -122.057971999615575, 37.374140000771057 ], [ -122.058372000472062, 37.374440000296751 ], [ -122.059371999854022, 37.374740000551974 ], [ -122.059672000506112, 37.374840001132029 ], [ -122.059838999472575, 37.374940000958787 ], [ -122.060172000312676, 37.37514000099678 ], [ -122.058503000328287, 37.380230000732936 ], [ -122.058172000013471, 37.381240000330067 ], [ -122.057871999993381, 37.383040000715475 ], [ -122.057272000407949, 37.384740000986035 ], [ -122.053171999640483, 37.38384000029528 ], [ -122.053371999606156, 37.383340001041667 ], [ -122.054071999446194, 37.381240000980291 ], [ -122.054272000415139, 37.38044000102466 ], [ -122.054971999581042, 37.378440000308991 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 373, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.094464999861799, 37.411916000966066 ], [ -122.092372999608983, 37.41183900080604 ], [ -122.092872999944404, 37.410940000905185 ], [ -122.093372999489375, 37.410140000326805 ], [ -122.093706000385183, 37.409521001131345 ], [ -122.094072999873376, 37.408840000629127 ], [ -122.094373000514594, 37.408440000986992 ], [ -122.094944000250109, 37.407370001095586 ], [ -122.095172999445779, 37.406940000450668 ], [ -122.097372999750519, 37.403140000938237 ], [ -122.097572999684061, 37.402940000713777 ], [ -122.101555999641675, 37.404533001125323 ], [ -122.10207299949154, 37.404740000697529 ], [ -122.104172999995498, 37.405540000313906 ], [ -122.107364999756854, 37.407515001046768 ], [ -122.107480000264317, 37.407586000766578 ], [ -122.107602999720442, 37.40766300066246 ], [ -122.107683000088329, 37.407712000789203 ], [ -122.107735999833281, 37.407745000894664 ], [ -122.107957999727802, 37.407882000625357 ], [ -122.10837400035912, 37.4081390009014 ], [ -122.108260000117681, 37.408303001029275 ], [ -122.108215000172393, 37.408375000485464 ], [ -122.107962999642652, 37.408714000479094 ], [ -122.107373999576964, 37.409539001110097 ], [ -122.106412999525233, 37.410773000432307 ], [ -122.106305999444885, 37.410909000516995 ], [ -122.105865999697443, 37.412078000604417 ], [ -122.105745999877044, 37.412486000767835 ], [ -122.105661000415054, 37.412649000749809 ], [ -122.104465000446794, 37.414382001035364 ], [ -122.103873999495931, 37.415239000940517 ], [ -122.103473999928028, 37.41623900074007 ], [ -122.102072999528119, 37.415539000338001 ], [ -122.101073000089031, 37.415039000894971 ], [ -122.100672999747189, 37.414539000868096 ], [ -122.100173000356506, 37.414039000904459 ], [ -122.099672999979745, 37.413439000286544 ], [ -122.099273000027523, 37.412839000561235 ], [ -122.098973000101111, 37.412539001050405 ], [ -122.097972999688167, 37.412139001030461 ], [ -122.095072999951199, 37.411939000824511 ], [ -122.094464999861799, 37.411916000966066 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 375, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.090103000101436, 37.411020000312867 ], [ -122.088772999697099, 37.410540000576489 ], [ -122.087272999598198, 37.410140000596044 ], [ -122.087873000394239, 37.408940001039859 ], [ -122.088673000183562, 37.406740000525637 ], [ -122.08908700041367, 37.405773000444469 ], [ -122.089573000022881, 37.404640000601304 ], [ -122.090272999563297, 37.4029400007432 ], [ -122.091087000130798, 37.400859000434714 ], [ -122.091172999747485, 37.400640000288199 ], [ -122.091273000515713, 37.400440000917982 ], [ -122.091838999622766, 37.400670000543826 ], [ -122.093451000052085, 37.401305000288062 ], [ -122.097572999684061, 37.402940000713777 ], [ -122.097372999750519, 37.403140000938237 ], [ -122.095172999445779, 37.406940000450668 ], [ -122.094944000250109, 37.407370001095586 ], [ -122.094373000514594, 37.408440000986992 ], [ -122.094072999873376, 37.408840000629127 ], [ -122.093706000385183, 37.409521001131345 ], [ -122.093372999489375, 37.410140000326805 ], [ -122.092872999944404, 37.410940000905185 ], [ -122.092372999608983, 37.41183900080604 ], [ -122.090103000101436, 37.411020000312867 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 365, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.10837400035912, 37.4081390009014 ], [ -122.1085180003072, 37.407980000435451 ], [ -122.109473999443722, 37.407240000795049 ], [ -122.110173999664624, 37.406840000995103 ], [ -122.110384000407876, 37.406599000466734 ], [ -122.110873999729833, 37.405740000466821 ], [ -122.111374000200954, 37.404840000592436 ], [ -122.112473999611737, 37.403040000995972 ], [ -122.113674000230588, 37.401140000302142 ], [ -122.116873999659362, 37.403340000960291 ], [ -122.117665000374046, 37.404044001134032 ], [ -122.117773999690883, 37.404140001027017 ], [ -122.117861999503404, 37.404228000563855 ], [ -122.118081999910856, 37.404448000927786 ], [ -122.118173999644711, 37.404540000528861 ], [ -122.119374000373455, 37.405739000309858 ], [ -122.120073999947962, 37.406339000618516 ], [ -122.117674000039798, 37.408439001099474 ], [ -122.117874000250879, 37.409039000551196 ], [ -122.117959999986496, 37.40913000097617 ], [ -122.117314000427285, 37.410209000567235 ], [ -122.117196999418013, 37.410404000664037 ], [ -122.11697400010155, 37.411039000729389 ], [ -122.116332999489629, 37.411779000936562 ], [ -122.115673999901787, 37.412539000870254 ], [ -122.111453000239777, 37.40998900066252 ], [ -122.110873999746346, 37.409639000763462 ], [ -122.10837400035912, 37.4081390009014 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 379, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.086672999796946, 37.390240000419723 ], [ -122.087273000076181, 37.389240000414844 ], [ -122.08757300024763, 37.388640000778281 ], [ -122.088173000055761, 37.387740000978766 ], [ -122.08927299942512, 37.388340000538584 ], [ -122.090373000067032, 37.38884000096013 ], [ -122.091472999531959, 37.38934000109159 ], [ -122.092573000017154, 37.389940000715946 ], [ -122.093372999971876, 37.390240000254231 ], [ -122.094673000376005, 37.391340000972072 ], [ -122.095273000188612, 37.391840000660928 ], [ -122.095872999484214, 37.392540000404786 ], [ -122.096372999679474, 37.393040000475239 ], [ -122.095573000295445, 37.394140000239389 ], [ -122.095073000356038, 37.395040000932354 ], [ -122.094772999781156, 37.395740000813184 ], [ -122.094173000405533, 37.396640000559621 ], [ -122.09267300034054, 37.399240000986573 ], [ -122.09197299973215, 37.400440000634411 ], [ -122.091838999622766, 37.400670000543826 ], [ -122.091273000515713, 37.400440000917982 ], [ -122.089203000159245, 37.399568000490504 ], [ -122.087333000348437, 37.398781001080891 ], [ -122.086237999606013, 37.398320000918261 ], [ -122.085976999451574, 37.398210000667909 ], [ -122.08367299982541, 37.397240000569809 ], [ -122.082672999395314, 37.397240000662372 ], [ -122.082993999871547, 37.396559000996135 ], [ -122.083188000284551, 37.396146000726283 ], [ -122.083472999590555, 37.395540000451838 ], [ -122.084273000500048, 37.394240000812346 ], [ -122.084972999459666, 37.392940000252139 ], [ -122.085773000067036, 37.391740001006823 ], [ -122.086472999863076, 37.390440000675504 ], [ -122.086672999796946, 37.390240000419723 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 390, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.072473000251009, 37.390940000648229 ], [ -122.071873000064599, 37.39194000069439 ], [ -122.06997199947952, 37.391340000714933 ], [ -122.069383999657546, 37.391165000845916 ], [ -122.068711000332769, 37.390943000949278 ], [ -122.068772000004245, 37.389140000575686 ], [ -122.068772000248458, 37.388040000350387 ], [ -122.068572000111672, 37.386240000958622 ], [ -122.068571999904066, 37.385945000905885 ], [ -122.068572000106954, 37.38514000112275 ], [ -122.068472000382897, 37.384840000372591 ], [ -122.068472000180918, 37.384540000450464 ], [ -122.068471999953516, 37.384240000513287 ], [ -122.068471999422414, 37.383640000593743 ], [ -122.068372000188717, 37.382640000898213 ], [ -122.068364999853401, 37.382565000949342 ], [ -122.068071999798633, 37.379640000383056 ], [ -122.068071999405007, 37.379040000928505 ], [ -122.068071999842644, 37.378640000964204 ], [ -122.067972000470249, 37.378140000882169 ], [ -122.068672000329286, 37.378340000875234 ], [ -122.068972000093609, 37.378540000255676 ], [ -122.069771999680427, 37.378740000441667 ], [ -122.072172000246098, 37.379740001132127 ], [ -122.073471999511042, 37.380240001119397 ], [ -122.075072999642828, 37.381140000765747 ], [ -122.07657300035045, 37.381840000915268 ], [ -122.077973000051159, 37.38254000102814 ], [ -122.078272999439847, 37.38274000033433 ], [ -122.078972999813033, 37.383040000655555 ], [ -122.080673000465666, 37.38394000086295 ], [ -122.081073000241958, 37.384240000511952 ], [ -122.080572999745016, 37.384940000721748 ], [ -122.080172999781595, 37.385540000795856 ], [ -122.079872999858353, 37.386040000896166 ], [ -122.079372999657494, 37.386740001103682 ], [ -122.078373000509742, 37.388540000743788 ], [ -122.078173000207258, 37.388740000433202 ], [ -122.077672999515869, 37.389640000381554 ], [ -122.077473000425755, 37.390040000844664 ], [ -122.077273000449935, 37.390240000731403 ], [ -122.076772999777873, 37.391040000509932 ], [ -122.07560200004832, 37.390605000553691 ], [ -122.073273000141398, 37.389740000961545 ], [ -122.072473000251009, 37.390940000648229 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 382, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.085073000315404, 37.383940000242063 ], [ -122.084572999759104, 37.38454000070157 ], [ -122.083973000093678, 37.385740000859627 ], [ -122.083172999771648, 37.385240000606217 ], [ -122.082372999961407, 37.38484000104588 ], [ -122.082073000233933, 37.384740001061218 ], [ -122.081472999772416, 37.384440000837778 ], [ -122.081073000241958, 37.384240000511952 ], [ -122.080673000465666, 37.38394000086295 ], [ -122.078972999813033, 37.383040000655555 ], [ -122.078272999439847, 37.38274000033433 ], [ -122.07827300042544, 37.381440000375854 ], [ -122.078273000308855, 37.380540000304215 ], [ -122.078272999494345, 37.380340000664596 ], [ -122.078272999954763, 37.379640000998336 ], [ -122.078273000041577, 37.379140000927755 ], [ -122.07817300014905, 37.37704000056759 ], [ -122.078102999959413, 37.374940000742569 ], [ -122.078072999560291, 37.374040001101243 ], [ -122.078173000418573, 37.373340000568483 ], [ -122.078972999733068, 37.373340000810522 ], [ -122.079772999432578, 37.373440000994918 ], [ -122.080672999831918, 37.373440000778778 ], [ -122.081473000365932, 37.373440000344978 ], [ -122.082572999618776, 37.373440000250127 ], [ -122.083273000315458, 37.373440000524383 ], [ -122.085172999730887, 37.373340000590545 ], [ -122.086472999746604, 37.373340000484298 ], [ -122.086872999808094, 37.373440000693385 ], [ -122.086972999533302, 37.373940000271588 ], [ -122.086972999500205, 37.374340001113708 ], [ -122.0869729999485, 37.374940000979166 ], [ -122.08697300037592, 37.376664000651537 ], [ -122.086973000352003, 37.377140000868735 ], [ -122.086972999480935, 37.378240000956055 ], [ -122.086972999991147, 37.378940000342169 ], [ -122.086973000100258, 37.37944000075349 ], [ -122.087073000025313, 37.379840000811399 ], [ -122.086972999911453, 37.380240000782074 ], [ -122.087073000134538, 37.380840000549235 ], [ -122.086972999545409, 37.38104000070355 ], [ -122.086572999590985, 37.381740000542017 ], [ -122.08577300004734, 37.382640000241025 ], [ -122.085457999731688, 37.382985000453793 ], [ -122.085373000065019, 37.38344000095357 ], [ -122.085073000315404, 37.383940000242063 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 387, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.081292000345442, 37.35185800074391 ], [ -122.079143000431017, 37.351912000960603 ], [ -122.077972000394396, 37.351941000966846 ], [ -122.076167999552695, 37.351941000795243 ], [ -122.075072000029152, 37.351941000486761 ], [ -122.074271999654073, 37.351841001006171 ], [ -122.073972000225865, 37.351841000811625 ], [ -122.073172000276216, 37.351841000466457 ], [ -122.072671999761226, 37.351841000765631 ], [ -122.071471999965354, 37.351841000801556 ], [ -122.070571999623667, 37.351841000945782 ], [ -122.069771999873495, 37.351841001036703 ], [ -122.068871999651165, 37.351841000862869 ], [ -122.067471999605786, 37.351941000306908 ], [ -122.067206999631679, 37.351728000389308 ], [ -122.065971999470975, 37.351841000784255 ], [ -122.063372000240648, 37.351841000712341 ], [ -122.063221999697703, 37.351653000263866 ], [ -122.06297200002912, 37.351341000977229 ], [ -122.063564000253436, 37.350441000341753 ], [ -122.065010999569566, 37.348241000845398 ], [ -122.065471999736985, 37.347541000507114 ], [ -122.065357000295393, 37.347441001130868 ], [ -122.06397199993458, 37.346241000841857 ], [ -122.064471999951721, 37.34464100091629 ], [ -122.064513000436236, 37.344604000812907 ], [ -122.065572000336033, 37.343641001069528 ], [ -122.06547199963083, 37.342141001004897 ], [ -122.064072000071235, 37.340141000730206 ], [ -122.06317199986411, 37.339341000949759 ], [ -122.062814000300193, 37.337910000545619 ], [ -122.062671999552478, 37.337341000241906 ], [ -122.062987000220645, 37.337316000565643 ], [ -122.063179999871608, 37.337300000330302 ], [ -122.063672000437009, 37.337309000704536 ], [ -122.065471999575209, 37.337341001115178 ], [ -122.067572000276684, 37.337341000863496 ], [ -122.06827199951762, 37.337841001039045 ], [ -122.070271999937347, 37.339341000354509 ], [ -122.07097200028079, 37.339941000355928 ], [ -122.071571999633363, 37.340441000599924 ], [ -122.072471999632086, 37.341041000949801 ], [ -122.072972000361659, 37.340741000703296 ], [ -122.07557200037219, 37.342841000376644 ], [ -122.076271999585003, 37.343241000697944 ], [ -122.078372000195458, 37.34504100099295 ], [ -122.078371999869887, 37.345241000889459 ], [ -122.08257299988469, 37.348841001049557 ], [ -122.084342000234585, 37.350105000892455 ], [ -122.085373000316537, 37.350841000375134 ], [ -122.085573000001617, 37.352041000514212 ], [ -122.084473000156521, 37.352041000515939 ], [ -122.083572999940458, 37.35204100044281 ], [ -122.08257299987811, 37.351941000924612 ], [ -122.081292000345442, 37.35185800074391 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 386, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.085772999530548, 37.349941000317187 ], [ -122.085373000316537, 37.350841000375134 ], [ -122.084342000234585, 37.350105000892455 ], [ -122.08257299988469, 37.348841001049557 ], [ -122.078371999869887, 37.345241000889459 ], [ -122.078372000195458, 37.34504100099295 ], [ -122.076271999585003, 37.343241000697944 ], [ -122.07557200037219, 37.342841000376644 ], [ -122.072972000361659, 37.340741000703296 ], [ -122.071172000038672, 37.33934100074115 ], [ -122.068872000130185, 37.337441001016288 ], [ -122.068371999923528, 37.336641000744386 ], [ -122.068371999930406, 37.335561000311429 ], [ -122.068371999731454, 37.335541000934327 ], [ -122.068414000291057, 37.335336000963075 ], [ -122.0684409998821, 37.335203000666326 ], [ -122.068472000243844, 37.335041000856755 ], [ -122.0684720002902, 37.33484100077051 ], [ -122.068503999433204, 37.334679000693747 ], [ -122.068572000243194, 37.334341000537158 ], [ -122.06847200033765, 37.333741000627356 ], [ -122.072172000347351, 37.333841000582389 ], [ -122.074972000454551, 37.333441000698684 ], [ -122.075272000070839, 37.333441000647156 ], [ -122.076091000134099, 37.333400000460678 ], [ -122.076680999618716, 37.333378001089095 ], [ -122.077533000244117, 37.333608001053307 ], [ -122.082772000065447, 37.336741000847212 ], [ -122.088136000185315, 37.339422001128675 ], [ -122.089772999802022, 37.340241000409677 ], [ -122.089939999593511, 37.340338000731464 ], [ -122.090125000473805, 37.340445001059479 ], [ -122.091673000455827, 37.341341000398927 ], [ -122.091173000498273, 37.341841000960819 ], [ -122.091112000119338, 37.342086000732564 ], [ -122.090923000008189, 37.342841000843158 ], [ -122.09067300051332, 37.343841000903915 ], [ -122.090272999462385, 37.344641000411642 ], [ -122.088972999536608, 37.345241001077788 ], [ -122.08857299988918, 37.34574100033921 ], [ -122.087844000193542, 37.34610500097876 ], [ -122.087773000039959, 37.346141000907529 ], [ -122.087621000441302, 37.346445001098466 ], [ -122.087372999607297, 37.346941000884208 ], [ -122.086872999657842, 37.347341000940382 ], [ -122.085872999976829, 37.348541000664206 ], [ -122.08586499981935, 37.34864900099592 ], [ -122.085772999530548, 37.349941000317187 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 369, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.114173999422462, 37.386740000625728 ], [ -122.114173999510555, 37.385840000786679 ], [ -122.114174000510488, 37.384940000820421 ], [ -122.114174000163274, 37.384040000710037 ], [ -122.114174000173918, 37.383240000501765 ], [ -122.114173999437625, 37.381240000413428 ], [ -122.114573999749837, 37.381240000880069 ], [ -122.115185000362715, 37.381242000787879 ], [ -122.116015000428547, 37.381244000668332 ], [ -122.117573999678754, 37.38124000043365 ], [ -122.118362000388331, 37.381262000521993 ], [ -122.119005999463141, 37.381236000718097 ], [ -122.119873999675221, 37.381240000727338 ], [ -122.120274000154367, 37.381240000838872 ], [ -122.120673999520704, 37.381240000490195 ], [ -122.121074000022631, 37.381240000599348 ], [ -122.121473999411762, 37.381240000248262 ], [ -122.121773999520357, 37.381240000453111 ], [ -122.122174000054869, 37.38124000044629 ], [ -122.122873999599122, 37.381240000998432 ], [ -122.123473999903979, 37.381040000486095 ], [ -122.123873999519418, 37.380740000602792 ], [ -122.124320000023346, 37.381504000638337 ], [ -122.125170999440243, 37.382964000308448 ], [ -122.125273999953691, 37.383140000418265 ], [ -122.124073999502698, 37.384640000232906 ], [ -122.123374000075941, 37.386140000346053 ], [ -122.124273999821014, 37.387640000506323 ], [ -122.124874000146121, 37.388440000873814 ], [ -122.125685999535136, 37.388253000248554 ], [ -122.126173999750236, 37.388140000892605 ], [ -122.126274000442876, 37.389140001022007 ], [ -122.126674000455935, 37.389540000513414 ], [ -122.128171999633025, 37.391693000528591 ], [ -122.128274000057658, 37.391840001099879 ], [ -122.127373999986418, 37.393040000731972 ], [ -122.127540999654656, 37.393440000774568 ], [ -122.127803999949933, 37.394073000603925 ], [ -122.127831999829311, 37.394140000264478 ], [ -122.127873999871895, 37.394240000843553 ], [ -122.129973999542727, 37.395840000806963 ], [ -122.128274000082442, 37.395640000440501 ], [ -122.128174000484123, 37.39634000079635 ], [ -122.125774999785989, 37.398067000739211 ], [ -122.12567400009145, 37.398140000931086 ], [ -122.124973999652369, 37.400240000249283 ], [ -122.124673999551462, 37.400940001094156 ], [ -122.124039000049692, 37.401829000479182 ], [ -122.123673999433663, 37.402340000601839 ], [ -122.120073999947962, 37.406339000618516 ], [ -122.119374000373455, 37.405739000309858 ], [ -122.118173999644711, 37.404540000528861 ], [ -122.118081999910856, 37.404448000927786 ], [ -122.117861999503404, 37.404228000563855 ], [ -122.117773999690883, 37.404140001027017 ], [ -122.117665000374046, 37.404044001134032 ], [ -122.116873999659362, 37.403340000960291 ], [ -122.113674000230588, 37.401140000302142 ], [ -122.113974000136338, 37.40064000039667 ], [ -122.114173999892699, 37.400140000414432 ], [ -122.114174000090301, 37.398640000329564 ], [ -122.114174000394826, 37.398140000520741 ], [ -122.114210000251276, 37.397524000241567 ], [ -122.114173999988552, 37.396740000646282 ], [ -122.114174000019958, 37.395740000668496 ], [ -122.114173999425958, 37.395040000941528 ], [ -122.114174000104555, 37.394440000991132 ], [ -122.114209999543718, 37.39385100039182 ], [ -122.114174000430296, 37.392640000769674 ], [ -122.114173999928752, 37.392140000458355 ], [ -122.114174000479039, 37.391640001014885 ], [ -122.114173999787283, 37.391440000317722 ], [ -122.114174000243537, 37.390940000815604 ], [ -122.114173999874865, 37.390840000906785 ], [ -122.114173999835501, 37.389940000776065 ], [ -122.1141739997705, 37.389640001002768 ], [ -122.11407399957794, 37.388840000476392 ], [ -122.114074000120368, 37.388640000598592 ], [ -122.114174000023255, 37.387840000252304 ], [ -122.114174000377375, 37.386940000579052 ], [ -122.114173999422462, 37.386740000625728 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 362, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.105318000137729, 37.431886000681324 ], [ -122.10327400030674, 37.42993900063545 ], [ -122.102473999467193, 37.429239000509178 ], [ -122.101873999565456, 37.428639000626063 ], [ -122.101420999535492, 37.428208000437998 ], [ -122.101746000394201, 37.427023000794946 ], [ -122.101808000020881, 37.426747000364259 ], [ -122.101821000070387, 37.426431000675862 ], [ -122.10177400029427, 37.426139000443001 ], [ -122.10163700022872, 37.425693000382523 ], [ -122.101553999587367, 37.4253240009024 ], [ -122.101537000139999, 37.424744000607433 ], [ -122.101673999684763, 37.42273900112432 ], [ -122.101773999992531, 37.421839000313938 ], [ -122.101974000422132, 37.421139000508568 ], [ -122.102174000324169, 37.419439000558192 ], [ -122.103473999928028, 37.41623900074007 ], [ -122.105073999771591, 37.417039000738392 ], [ -122.10597400047476, 37.417539000708352 ], [ -122.110173999485482, 37.419939000558344 ], [ -122.111240999916632, 37.421334000810411 ], [ -122.111473999557106, 37.421639000797875 ], [ -122.112273999643293, 37.422639000289685 ], [ -122.1147739999941, 37.42413900090034 ], [ -122.116273999879297, 37.425039000653896 ], [ -122.117773999460184, 37.425939000352415 ], [ -122.118274000472312, 37.42633900049934 ], [ -122.119673999650288, 37.427139000576332 ], [ -122.120673999989037, 37.42783900048596 ], [ -122.121274000331169, 37.428239000838467 ], [ -122.121674000519334, 37.428439000728112 ], [ -122.122574000474046, 37.429039001081037 ], [ -122.120774000422799, 37.430139000482441 ], [ -122.120474000093466, 37.430439000904094 ], [ -122.119573999484601, 37.430939000323832 ], [ -122.119073999908537, 37.431339000917845 ], [ -122.118473999780065, 37.431739000795332 ], [ -122.11767399950277, 37.432139001008501 ], [ -122.117273999542022, 37.432439001003743 ], [ -122.116474000153005, 37.432939000319031 ], [ -122.115573999415489, 37.433439000312809 ], [ -122.115073999487876, 37.433939000839693 ], [ -122.113473999867651, 37.434939000542364 ], [ -122.112374000467838, 37.435639000678187 ], [ -122.111774000234831, 37.436039001030188 ], [ -122.110873999928103, 37.4365390006623 ], [ -122.110573999780769, 37.436839000524579 ], [ -122.105574000129195, 37.432039000497831 ], [ -122.105374000064131, 37.431939001087898 ], [ -122.105318000137729, 37.431886000681324 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 364, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.103473999928028, 37.41623900074007 ], [ -122.103873999495931, 37.415239000940517 ], [ -122.104465000446794, 37.414382001035364 ], [ -122.105661000415054, 37.412649000749809 ], [ -122.105745999877044, 37.412486000767835 ], [ -122.105865999697443, 37.412078000604417 ], [ -122.106305999444885, 37.410909000516995 ], [ -122.106412999525233, 37.410773000432307 ], [ -122.107373999576964, 37.409539001110097 ], [ -122.107962999642652, 37.408714000479094 ], [ -122.108215000172393, 37.408375000485464 ], [ -122.108260000117681, 37.408303001029275 ], [ -122.10837400035912, 37.4081390009014 ], [ -122.110873999746346, 37.409639000763462 ], [ -122.111453000239777, 37.40998900066252 ], [ -122.115673999901787, 37.412539000870254 ], [ -122.118773999678311, 37.414539000262067 ], [ -122.118473999757299, 37.414739000737995 ], [ -122.117573999691601, 37.415639000579922 ], [ -122.116473999707381, 37.41653900036232 ], [ -122.115173999595598, 37.417339000394257 ], [ -122.114374000003878, 37.417739000682992 ], [ -122.112774000155483, 37.418539001017983 ], [ -122.111674000409309, 37.419139001071869 ], [ -122.110173999485482, 37.419939000558344 ], [ -122.10597400047476, 37.417539000708352 ], [ -122.105073999771591, 37.417039000738392 ], [ -122.103473999928028, 37.41623900074007 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 361, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.121073999793879, 37.446839000497903 ], [ -122.119174000081273, 37.445139000799571 ], [ -122.118573999455108, 37.444539000261578 ], [ -122.113673999820634, 37.439739000519197 ], [ -122.110573999780769, 37.436839000524579 ], [ -122.110873999928103, 37.4365390006623 ], [ -122.111774000234831, 37.436039001030188 ], [ -122.112374000467838, 37.435639000678187 ], [ -122.113473999867651, 37.434939000542364 ], [ -122.115073999487876, 37.433939000839693 ], [ -122.115573999415489, 37.433439000312809 ], [ -122.116474000153005, 37.432939000319031 ], [ -122.117273999542022, 37.432439001003743 ], [ -122.11767399950277, 37.432139001008501 ], [ -122.118473999780065, 37.431739000795332 ], [ -122.119073999908537, 37.431339000917845 ], [ -122.119573999484601, 37.430939000323832 ], [ -122.120474000093466, 37.430439000904094 ], [ -122.120774000422799, 37.430139000482441 ], [ -122.122574000474046, 37.429039001081037 ], [ -122.123774000482427, 37.429839001130979 ], [ -122.124673999434549, 37.430239000387111 ], [ -122.125874000184282, 37.431039000811055 ], [ -122.126174000120557, 37.431239000367754 ], [ -122.12637400030691, 37.431339000778969 ], [ -122.126974000021661, 37.431739001106259 ], [ -122.127474000138903, 37.432139000257685 ], [ -122.128773999526402, 37.432839000765675 ], [ -122.129773999921227, 37.433439000260954 ], [ -122.130774000239199, 37.434139000540462 ], [ -122.131773999923467, 37.434739000276871 ], [ -122.133274000516806, 37.435639000291609 ], [ -122.132511999912637, 37.436371000333772 ], [ -122.130773999921828, 37.438039001101181 ], [ -122.130073999448896, 37.438739000395472 ], [ -122.128711999600554, 37.440186000255409 ], [ -122.128474000330144, 37.440439000779335 ], [ -122.127573999946833, 37.441239000674962 ], [ -122.126374000033209, 37.442539001066727 ], [ -122.125774000350034, 37.443139001002379 ], [ -122.124874000248738, 37.444039000390525 ], [ -122.124174000176126, 37.44463900042453 ], [ -122.123174000175609, 37.445739000586663 ], [ -122.121574000247747, 37.446639000954463 ], [ -122.121073999793879, 37.446839000497903 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 356, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.164574999979678, 37.442938001014618 ], [ -122.167375000120003, 37.444838000966378 ], [ -122.168214999955424, 37.445491000476814 ], [ -122.168274999609736, 37.445538000904179 ], [ -122.169774999730478, 37.446638000424535 ], [ -122.170775000104854, 37.447438000829045 ], [ -122.169980000490114, 37.447608000274911 ], [ -122.169441000004241, 37.447804000389176 ], [ -122.16923899941051, 37.447847000909931 ], [ -122.169138000338833, 37.447807001057221 ], [ -122.168974999419035, 37.447538000890127 ], [ -122.168775000161006, 37.447538000483128 ], [ -122.167883999869844, 37.448318001036341 ], [ -122.167625000224575, 37.448730001111116 ], [ -122.167608999960891, 37.449401000752296 ], [ -122.16761000025798, 37.449415000345546 ], [ -122.167686000414051, 37.450156000402309 ], [ -122.16762499940404, 37.450538000630004 ], [ -122.16727499952836, 37.45083800067475 ], [ -122.167174999422286, 37.45083000047719 ], [ -122.166495999717313, 37.450774000632144 ], [ -122.16627499953367, 37.450638001000257 ], [ -122.165747999417746, 37.450767001091101 ], [ -122.165351000297392, 37.451537000998378 ], [ -122.165175000214006, 37.452438000818987 ], [ -122.165168000394402, 37.452750001013058 ], [ -122.164975000083956, 37.452838000759506 ], [ -122.164775000327893, 37.452838000718288 ], [ -122.164633999775489, 37.452750000509951 ], [ -122.16427500046413, 37.452438000410417 ], [ -122.163950999514881, 37.452346001051581 ], [ -122.163731999879204, 37.452403000426578 ], [ -122.163382999951892, 37.452689000563559 ], [ -122.163032000483511, 37.453071000735243 ], [ -122.162988000412952, 37.453126000354438 ], [ -122.162796000232916, 37.453531000656547 ], [ -122.162623999862575, 37.453850000460442 ], [ -122.162374999647099, 37.453938001092247 ], [ -122.161562999921969, 37.453479000706665 ], [ -122.160774999489576, 37.453038001071683 ], [ -122.159574999743981, 37.452238000943957 ], [ -122.158275000390702, 37.45143800112573 ], [ -122.156975000427877, 37.450638000554065 ], [ -122.155674999834801, 37.449838001031758 ], [ -122.154574999438196, 37.449038000331321 ], [ -122.153274999982955, 37.44823800060886 ], [ -122.151974999905917, 37.447438001035479 ], [ -122.150774999785753, 37.446638000952127 ], [ -122.149475000313672, 37.445938001126002 ], [ -122.148274999806219, 37.445138000947914 ], [ -122.146975000177505, 37.444338000583656 ], [ -122.145774999727081, 37.443538000310113 ], [ -122.143274999534839, 37.44193900057823 ], [ -122.144374999414893, 37.441739000926091 ], [ -122.145375000100046, 37.44133900035898 ], [ -122.146075000058147, 37.441239000549018 ], [ -122.146575000428186, 37.441139001045919 ], [ -122.147575000104666, 37.440839000854787 ], [ -122.149675000513795, 37.440139001048216 ], [ -122.151874999935544, 37.439539001011951 ], [ -122.153975000115949, 37.438939000246393 ], [ -122.154575000128318, 37.438839001066825 ], [ -122.155175000325784, 37.438639000333993 ], [ -122.155974999528183, 37.438239001067942 ], [ -122.15647499980382, 37.438139000916642 ], [ -122.158300000354828, 37.439312000982859 ], [ -122.160675000361593, 37.440838000934896 ], [ -122.160693000348942, 37.440848000349014 ], [ -122.164574999979678, 37.442938001014618 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 353, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.154274999890404, 37.421839001122564 ], [ -122.154574999573995, 37.42163900069302 ], [ -122.155275000227832, 37.421939000572962 ], [ -122.156774999774797, 37.422739000300304 ], [ -122.157475000251466, 37.423039000711199 ], [ -122.158574999876848, 37.423439000828672 ], [ -122.159464000335078, 37.423735000472298 ], [ -122.159774999634649, 37.423839000334652 ], [ -122.160761999613754, 37.423969000523648 ], [ -122.160662999877772, 37.424295001027637 ], [ -122.160382000338714, 37.42504000054435 ], [ -122.160037999805155, 37.425696000940086 ], [ -122.159532999408057, 37.426525000468772 ], [ -122.159051999990282, 37.426437001069374 ], [ -122.158575000069817, 37.426839000562339 ], [ -122.156975000517846, 37.427939000726127 ], [ -122.154475000112072, 37.42963900069811 ], [ -122.153975000323072, 37.429939000896653 ], [ -122.152575000517217, 37.42963900103755 ], [ -122.151975000283841, 37.429839000916957 ], [ -122.151074999926735, 37.429039000681975 ], [ -122.150174999400321, 37.428239000794541 ], [ -122.149474999603186, 37.427539000602437 ], [ -122.150675000373411, 37.426039000581518 ], [ -122.15137499982194, 37.425239000957347 ], [ -122.152075000213884, 37.424539001132104 ], [ -122.152575000350865, 37.423939000674878 ], [ -122.153174999918846, 37.423239000911067 ], [ -122.153675000479737, 37.42253900043471 ], [ -122.154274999890404, 37.421839001122564 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 385, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.085373000316537, 37.350841000375134 ], [ -122.085772999530548, 37.349941000317187 ], [ -122.08586499981935, 37.34864900099592 ], [ -122.085872999976829, 37.348541000664206 ], [ -122.086872999657842, 37.347341000940382 ], [ -122.087372999607297, 37.346941000884208 ], [ -122.087621000441302, 37.346445001098466 ], [ -122.087773000039959, 37.346141000907529 ], [ -122.087844000193542, 37.34610500097876 ], [ -122.08857299988918, 37.34574100033921 ], [ -122.088972999536608, 37.345241001077788 ], [ -122.090272999462385, 37.344641000411642 ], [ -122.09067300051332, 37.343841000903915 ], [ -122.090923000008189, 37.342841000843158 ], [ -122.091112000119338, 37.342086000732564 ], [ -122.091173000498273, 37.341841000960819 ], [ -122.091673000455827, 37.341341000398927 ], [ -122.094273000135075, 37.343541000643548 ], [ -122.096815000306876, 37.344971000525682 ], [ -122.100672999542127, 37.347141000759194 ], [ -122.104352999571489, 37.350429000296614 ], [ -122.105372999526011, 37.351341000561703 ], [ -122.106773000506649, 37.352441000633284 ], [ -122.107173000191935, 37.352741000630203 ], [ -122.106672999521706, 37.353041000976255 ], [ -122.106272999985478, 37.353241000785388 ], [ -122.106072999986822, 37.353341000624724 ], [ -122.105460000031016, 37.353750000359859 ], [ -122.105172999571323, 37.353941000843605 ], [ -122.104272999960912, 37.354441000855296 ], [ -122.103172999805849, 37.355241000419831 ], [ -122.102373000215039, 37.355841000653349 ], [ -122.103672999955677, 37.357041000257873 ], [ -122.105973000193146, 37.358841000895758 ], [ -122.10617300046917, 37.359041000729782 ], [ -122.107373000457571, 37.360141000347831 ], [ -122.10792300014576, 37.360441001102444 ], [ -122.108472999703253, 37.360741001109616 ], [ -122.109172999837384, 37.36124100065058 ], [ -122.107873000012106, 37.362241000729 ], [ -122.107873000219811, 37.362941000328966 ], [ -122.108672999937667, 37.363441000742093 ], [ -122.108373000398686, 37.363741001080186 ], [ -122.108167999492579, 37.363947000454715 ], [ -122.108063000125043, 37.364051000595005 ], [ -122.107572999840087, 37.364540000307251 ], [ -122.106790000144059, 37.365018000859841 ], [ -122.105672999859749, 37.36614000066897 ], [ -122.105272999911122, 37.365940000667393 ], [ -122.104673000022686, 37.365640000390918 ], [ -122.099172999962903, 37.361341000897646 ], [ -122.09903499961186, 37.361242000967685 ], [ -122.097373000278196, 37.360041000920297 ], [ -122.097172999438797, 37.359841000766743 ], [ -122.095773000340643, 37.358841000489264 ], [ -122.08757300033723, 37.352341000269035 ], [ -122.086872999526719, 37.352041000265181 ], [ -122.085373000316537, 37.350841000375134 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 692, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.85857200024104, 37.219182000941601 ], [ -121.85792499945795, 37.218751000575459 ], [ -121.854619999952376, 37.216385000492423 ], [ -121.853864000166652, 37.215844000689785 ], [ -121.852559000077164, 37.214887001127991 ], [ -121.852363999440925, 37.214744000923147 ], [ -121.851818999714055, 37.214397000859741 ], [ -121.85126400024599, 37.2140440010036 ], [ -121.849864000235925, 37.213044001052857 ], [ -121.849098000464153, 37.212298000782269 ], [ -121.846623999447615, 37.209890000321749 ], [ -121.846187999809217, 37.209466000527563 ], [ -121.846062999867371, 37.209344000314026 ], [ -121.845487999956489, 37.208851000958362 ], [ -121.845062999571724, 37.208344000522068 ], [ -121.845602999706472, 37.208282000763631 ], [ -121.846465999465124, 37.208184000403271 ], [ -121.846755999905042, 37.208192000944209 ], [ -121.848015000119332, 37.208152000893897 ], [ -121.848263999861388, 37.208144000889519 ], [ -121.848712999474216, 37.208054000741384 ], [ -121.8487640000141, 37.208044001008965 ], [ -121.84996399972664, 37.207944000653271 ], [ -121.850863999439881, 37.207944000813555 ], [ -121.852664000475286, 37.20774400078637 ], [ -121.852751000220948, 37.207737000752601 ], [ -121.853863999734472, 37.207644000482439 ], [ -121.853764000190608, 37.2082440008014 ], [ -121.85386399984101, 37.208544000863633 ], [ -121.853763999531139, 37.209544000361646 ], [ -121.853563999849285, 37.210344001055617 ], [ -121.854507000301737, 37.210305000422359 ], [ -121.855605999687043, 37.210321000921887 ], [ -121.856520999780912, 37.210336000933857 ], [ -121.857663999956216, 37.210444000869025 ], [ -121.858764000151822, 37.210344000719701 ], [ -121.859817000371351, 37.210298000912971 ], [ -121.860164000077489, 37.210244000672304 ], [ -121.860664000260485, 37.211044000725231 ], [ -121.861163999398215, 37.212244000718371 ], [ -121.862163999421867, 37.213044000400068 ], [ -121.863163999593567, 37.213944000531974 ], [ -121.86536399960697, 37.214544000907466 ], [ -121.867164000506563, 37.213844000272793 ], [ -121.867163999995384, 37.215344000893417 ], [ -121.86716399967905, 37.217844001119751 ], [ -121.867164000267309, 37.218744000237997 ], [ -121.867163999423369, 37.219644001013521 ], [ -121.867163999450213, 37.220444000998818 ], [ -121.867164000485644, 37.220944000721175 ], [ -121.867164000459738, 37.221044000478265 ], [ -121.866963999417933, 37.221044000770746 ], [ -121.865763999635021, 37.220644001011991 ], [ -121.865630999686758, 37.22058700047085 ], [ -121.865064000281805, 37.22034400077068 ], [ -121.862263999496932, 37.221844000633574 ], [ -121.859563999716201, 37.219844000728287 ], [ -121.859149000185482, 37.21956700034508 ], [ -121.85857200024104, 37.219182000941601 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 691, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.857663999956216, 37.210444000869025 ], [ -121.857663999467093, 37.209644000292244 ], [ -121.858563999861559, 37.208544000286821 ], [ -121.858090999750573, 37.206746000412714 ], [ -121.858064000448536, 37.206644000577221 ], [ -121.857874000249879, 37.20483900089183 ], [ -121.857863999926138, 37.204744000836627 ], [ -121.858230000139926, 37.204766001113235 ], [ -121.859236999453572, 37.205003000622142 ], [ -121.859756000355006, 37.20516300095202 ], [ -121.860198999774099, 37.205186000481525 ], [ -121.860534000088521, 37.205232000601917 ], [ -121.861164000012565, 37.205244000494304 ], [ -121.86186400035929, 37.205244001020745 ], [ -121.863464000036146, 37.205344000686573 ], [ -121.863863999464357, 37.204244000270144 ], [ -121.868764000417002, 37.205744000920745 ], [ -121.869263999615754, 37.205144000491828 ], [ -121.872365000336416, 37.204844001039611 ], [ -121.873065000141679, 37.205144000430231 ], [ -121.873765000270964, 37.205644000357282 ], [ -121.872265000125878, 37.206344000748011 ], [ -121.873165000012165, 37.20664400086028 ], [ -121.873364999594727, 37.208544000354841 ], [ -121.874065000355202, 37.20914400029114 ], [ -121.874893999740664, 37.215120000629952 ], [ -121.875138000408043, 37.215295000568155 ], [ -121.875352000305227, 37.215478000454382 ], [ -121.875672000469507, 37.215585001039152 ], [ -121.876064999444537, 37.215667001085642 ], [ -121.876511000477947, 37.215760000807116 ], [ -121.876946999859058, 37.215829000765048 ], [ -121.877182999666303, 37.215867000881438 ], [ -121.877518000242262, 37.215982000399883 ], [ -121.877593000039852, 37.21602900070674 ], [ -121.877686000116142, 37.216088001033675 ], [ -121.877839000301037, 37.216294000757493 ], [ -121.877960999623255, 37.21659200076143 ], [ -121.878098000073038, 37.217179000758001 ], [ -121.878235000315982, 37.217393000316903 ], [ -121.878357000467616, 37.217576000392746 ], [ -121.878540999800961, 37.217935000791151 ], [ -121.880111999909019, 37.219125000529459 ], [ -121.880230999898316, 37.219242000453086 ], [ -121.882864999563225, 37.221844000478882 ], [ -121.883064999962812, 37.222244000825157 ], [ -121.881264999633444, 37.222144000529227 ], [ -121.88084799978698, 37.222144000421061 ], [ -121.880165000220998, 37.222144000483389 ], [ -121.879264999444217, 37.222144001025853 ], [ -121.878165000052661, 37.222244000264098 ], [ -121.877164999830399, 37.222144000341494 ], [ -121.876183999664107, 37.222046000253819 ], [ -121.876164000323072, 37.222044000533074 ], [ -121.876063999713836, 37.222055000876104 ], [ -121.875264000440808, 37.22214400023514 ], [ -121.874364000501799, 37.22224400028712 ], [ -121.873464000146029, 37.222244000890676 ], [ -121.872663999772726, 37.222244001090772 ], [ -121.872463999976333, 37.222244000749555 ], [ -121.871563999793239, 37.222244000430635 ], [ -121.869463999600768, 37.222344000780119 ], [ -121.867164000459738, 37.221044000478265 ], [ -121.867164000485644, 37.220944000721175 ], [ -121.867163999450213, 37.220444000998818 ], [ -121.867163999423369, 37.219644001013521 ], [ -121.867164000267309, 37.218744000237997 ], [ -121.86716399967905, 37.217844001119751 ], [ -121.867163999995384, 37.215344000893417 ], [ -121.867164000506563, 37.213844000272793 ], [ -121.86536399960697, 37.214544000907466 ], [ -121.863163999593567, 37.213944000531974 ], [ -121.862163999421867, 37.213044000400068 ], [ -121.861163999398215, 37.212244000718371 ], [ -121.860664000260485, 37.211044000725231 ], [ -121.860164000077489, 37.210244000672304 ], [ -121.859817000371351, 37.210298000912971 ], [ -121.858764000151822, 37.210344000719701 ], [ -121.857663999956216, 37.210444000869025 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 689, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.894665000354266, 37.222478000264367 ], [ -121.897964999803492, 37.223844000759684 ], [ -121.898864999859612, 37.224044000604763 ], [ -121.899864999632427, 37.224244000547003 ], [ -121.900664999760806, 37.224444000576412 ], [ -121.901665000218713, 37.224844000726669 ], [ -121.902364999879765, 37.225144001057927 ], [ -121.90296499958518, 37.225444000261184 ], [ -121.903164999480396, 37.225844000560826 ], [ -121.901442000412459, 37.227118000895118 ], [ -121.900865000051212, 37.227544000658717 ], [ -121.900164999773253, 37.228044000995496 ], [ -121.90001699950578, 37.228150000348606 ], [ -121.899465000362071, 37.22854400070235 ], [ -121.899235999712886, 37.228646000447029 ], [ -121.898564999859801, 37.228944001109205 ], [ -121.897571000431299, 37.229662000980667 ], [ -121.89676499966356, 37.230244000376786 ], [ -121.896064999604178, 37.230844000995994 ], [ -121.89536499965179, 37.231444000947249 ], [ -121.894133000254683, 37.233138000922906 ], [ -121.893765000338135, 37.233644000803459 ], [ -121.892364999808464, 37.234244000998977 ], [ -121.891964999502591, 37.2344440007397 ], [ -121.891771000173819, 37.234567000417378 ], [ -121.889765000095764, 37.235844001017661 ], [ -121.889550999889423, 37.236078000469206 ], [ -121.888943999628211, 37.236738000498789 ], [ -121.888664999655248, 37.237043000595484 ], [ -121.887620000280307, 37.237585000441641 ], [ -121.885964999418363, 37.23844300035784 ], [ -121.885764999542502, 37.237343000752048 ], [ -121.885964999822036, 37.236543000458518 ], [ -121.886057000055018, 37.235624001002023 ], [ -121.886064999875103, 37.235544000247764 ], [ -121.885565000090295, 37.234844000986769 ], [ -121.884864999726531, 37.234244000759155 ], [ -121.884365000220285, 37.233544000927331 ], [ -121.884320000175606, 37.233469001033924 ], [ -121.884287000161635, 37.233409001070477 ], [ -121.884217000074642, 37.23249900050547 ], [ -121.884164999692075, 37.232244000328173 ], [ -121.884164999806046, 37.230544001048017 ], [ -121.884289999515104, 37.228982000386026 ], [ -121.884365000350712, 37.228044000759731 ], [ -121.884764999935584, 37.225544000607613 ], [ -121.884564999731566, 37.224544000485494 ], [ -121.884365000257887, 37.224144000931588 ], [ -121.884064999398561, 37.223844000540744 ], [ -121.883064999962812, 37.222244000825157 ], [ -121.883365000212692, 37.221944000821608 ], [ -121.883764999989793, 37.221744000583769 ], [ -121.884265000110659, 37.221444001109766 ], [ -121.884764999661272, 37.22114400037777 ], [ -121.885165000437311, 37.220844000820122 ], [ -121.885564999781678, 37.22064400069651 ], [ -121.885864999474052, 37.220344000470703 ], [ -121.887164999918838, 37.220344000708899 ], [ -121.890893000276776, 37.221164000755145 ], [ -121.892165000238904, 37.221444000825947 ], [ -121.893769999760764, 37.222108001039729 ], [ -121.894665000354266, 37.222478000264367 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 680, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.854863999626474, 37.27434200065445 ], [ -121.852163999865937, 37.27434200077068 ], [ -121.85197899989096, 37.272181001083887 ], [ -121.851928000398402, 37.271586000261905 ], [ -121.851905000397949, 37.271314000358068 ], [ -121.851859000284591, 37.270771001005173 ], [ -121.85179000018644, 37.26966200095363 ], [ -121.851747000144456, 37.268978000291675 ], [ -121.851716000150631, 37.268473000333721 ], [ -121.851688999874014, 37.268047000389018 ], [ -121.851664000253876, 37.267643001124995 ], [ -121.852221999830377, 37.266248000551094 ], [ -121.85226399974708, 37.266143000769873 ], [ -121.853263999956042, 37.266143000822353 ], [ -121.854764000402142, 37.266043000570939 ], [ -121.855863999667548, 37.26604300052 ], [ -121.856964000165163, 37.266043001071793 ], [ -121.859064000317559, 37.266143000858868 ], [ -121.859282999501943, 37.266159000376256 ], [ -121.860463999871158, 37.266243000712819 ], [ -121.86146400014691, 37.266043000239669 ], [ -121.863464000287863, 37.265843000638839 ], [ -121.863964000226687, 37.265743000450534 ], [ -121.864363999522382, 37.265743000491561 ], [ -121.865263999825501, 37.265643000701935 ], [ -121.866064000081337, 37.265743000487852 ], [ -121.867400999583069, 37.26551800094164 ], [ -121.868544999626138, 37.26510600063326 ], [ -121.868964000328461, 37.265043000639189 ], [ -121.86956400026807, 37.264943000986392 ], [ -121.870364000120162, 37.264743000618338 ], [ -121.872163999679032, 37.264243000838675 ], [ -121.872864000136204, 37.264043000540156 ], [ -121.87376399960543, 37.263843000722829 ], [ -121.87417300050366, 37.263741000760632 ], [ -121.874563999490434, 37.263643000609775 ], [ -121.875763999921517, 37.26334300060342 ], [ -121.876231000283283, 37.264102000418518 ], [ -121.876604000201127, 37.264707001128066 ], [ -121.877075000210539, 37.265473000294413 ], [ -121.877363999535092, 37.265943000643908 ], [ -121.877378000049788, 37.266039000721932 ], [ -121.877787999919775, 37.268787000601982 ], [ -121.878064999772207, 37.270643000351036 ], [ -121.878464999886504, 37.271843000935696 ], [ -121.878165000471157, 37.272443000578185 ], [ -121.876541999901875, 37.274155000799119 ], [ -121.876365000045226, 37.274342000366794 ], [ -121.877065000260728, 37.275842000977221 ], [ -121.873164000354208, 37.275842000805923 ], [ -121.870563999791145, 37.275542001092425 ], [ -121.869463999481766, 37.275342001120691 ], [ -121.868664000357882, 37.275242000308857 ], [ -121.866664000067146, 37.274842000672848 ], [ -121.866102999883225, 37.274781000870881 ], [ -121.862660999584122, 37.274407000773294 ], [ -121.862064000440611, 37.274342000802108 ], [ -121.860064000279351, 37.274142000289004 ], [ -121.857372000048699, 37.27424600064802 ], [ -121.85705099948035, 37.274258000989207 ], [ -121.856485000420648, 37.274280000413654 ], [ -121.855482000178824, 37.274318000645991 ], [ -121.854863999626474, 37.27434200065445 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 675, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.840863000114282, 37.233744000891292 ], [ -121.840762999392197, 37.232444000761888 ], [ -121.84086300028676, 37.231844000346527 ], [ -121.843762999638074, 37.232344000384394 ], [ -121.844663000220137, 37.23314400045065 ], [ -121.844963000317406, 37.233444000242727 ], [ -121.846262999422649, 37.234244000777039 ], [ -121.847362999915532, 37.234544000595555 ], [ -121.848295999748586, 37.234895000864803 ], [ -121.849362999656904, 37.23524300104215 ], [ -121.849562999456111, 37.235343000356934 ], [ -121.849807999881719, 37.235705000626901 ], [ -121.849662999581426, 37.236043001095538 ], [ -121.84996300002652, 37.23654300051134 ], [ -121.850463000317376, 37.23674300049975 ], [ -121.851162999793459, 37.237643000975325 ], [ -121.851063000227128, 37.237843001039479 ], [ -121.850763000335959, 37.238843000620776 ], [ -121.850163000300796, 37.24034300044773 ], [ -121.849662999450217, 37.241643000796934 ], [ -121.849363000129514, 37.242743000622902 ], [ -121.849063000363159, 37.243343000622396 ], [ -121.848863000401934, 37.243943000377286 ], [ -121.848662999890621, 37.244443000506365 ], [ -121.848462999604521, 37.245143000423766 ], [ -121.848113000306654, 37.245941000841349 ], [ -121.848063000505761, 37.246243000545022 ], [ -121.847663000171849, 37.247543000915691 ], [ -121.847462999599912, 37.247943000367165 ], [ -121.847362999439156, 37.248343000461475 ], [ -121.847063000022175, 37.249143000912888 ], [ -121.846863000365531, 37.24974300100893 ], [ -121.846562999883687, 37.250543000824237 ], [ -121.845961000520887, 37.250543000425523 ], [ -121.844963000096627, 37.250543001107111 ], [ -121.84436299997013, 37.250543000366569 ], [ -121.843362999438838, 37.250543000481706 ], [ -121.84312099999967, 37.250573001009414 ], [ -121.842563000002656, 37.250643000574641 ], [ -121.841643000081405, 37.250643000263665 ], [ -121.841562999446197, 37.25064300079373 ], [ -121.841163000180188, 37.250543000935984 ], [ -121.840862999906321, 37.25064300070504 ], [ -121.839862999565, 37.250743000901878 ], [ -121.839863000400342, 37.250243000400651 ], [ -121.839763000437529, 37.248243000518343 ], [ -121.839763000179929, 37.24724300086276 ], [ -121.839762999736308, 37.245243001065177 ], [ -121.839662999804503, 37.243143000404892 ], [ -121.83966300027609, 37.242243000893758 ], [ -121.839662999466228, 37.241443000404651 ], [ -121.839662999824455, 37.240843000880446 ], [ -121.839662999686269, 37.240743000801892 ], [ -121.839662999910487, 37.24014300030683 ], [ -121.839663000452759, 37.238143000936574 ], [ -121.839662999982821, 37.237943000688283 ], [ -121.839662999934475, 37.237043000412228 ], [ -121.839362999996652, 37.237043000444686 ], [ -121.840263000295892, 37.235943000897592 ], [ -121.840562999630848, 37.235443000407727 ], [ -121.840663000420022, 37.235143001035269 ], [ -121.840662999884671, 37.234544000436607 ], [ -121.840863000114282, 37.233744000891292 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 669, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.818362000002836, 37.265043001070431 ], [ -121.819119000374783, 37.265525000939206 ], [ -121.819162999406942, 37.265553000457487 ], [ -121.820562000310048, 37.26644300038631 ], [ -121.821472000085421, 37.267050001008386 ], [ -121.822361999774643, 37.267643000535344 ], [ -121.820361999964945, 37.269042001031309 ], [ -121.81936199997763, 37.269142000588793 ], [ -121.818461999914817, 37.26914200077556 ], [ -121.817961999667205, 37.269142000623305 ], [ -121.816462000184174, 37.269142001022388 ], [ -121.814961999807238, 37.269142000424061 ], [ -121.813762000056869, 37.269042000231224 ], [ -121.811961999987915, 37.269042000525637 ], [ -121.808728999710212, 37.269179000951482 ], [ -121.808562999800543, 37.26916200099555 ], [ -121.808362000258896, 37.269142000310147 ], [ -121.807961999618854, 37.268842000356685 ], [ -121.807661999758579, 37.26774300097329 ], [ -121.807362000288805, 37.26664300110513 ], [ -121.806448000089219, 37.266302000308052 ], [ -121.80615699971149, 37.266306000838256 ], [ -121.805962000456574, 37.266222000424428 ], [ -121.805961999748831, 37.266043000480366 ], [ -121.803462000383306, 37.266143000308098 ], [ -121.802462000449935, 37.266143000313221 ], [ -121.801717999737164, 37.266124000749947 ], [ -121.801384999749388, 37.265043000438538 ], [ -121.801356999910496, 37.26495100101203 ], [ -121.801170000014409, 37.264343000308756 ], [ -121.801142999530498, 37.264256000816765 ], [ -121.800335999892056, 37.261635000952829 ], [ -121.800254999467299, 37.261421000910893 ], [ -121.799958999594665, 37.260633000628978 ], [ -121.799888999583786, 37.260447000499006 ], [ -121.79976600006411, 37.260120001112668 ], [ -121.799747000451148, 37.26007000077955 ], [ -121.799558000471677, 37.259567000466191 ], [ -121.799362000466957, 37.258943000994783 ], [ -121.798962000014399, 37.257843000832423 ], [ -121.798689000060236, 37.256936000730278 ], [ -121.798685000446497, 37.256923000528396 ], [ -121.7986609995734, 37.256843000987679 ], [ -121.797960999763433, 37.254443001012433 ], [ -121.797861000478477, 37.254243000757803 ], [ -121.797196999655569, 37.252515001008604 ], [ -121.800961999711532, 37.254643000747343 ], [ -121.80159899943871, 37.254986000607211 ], [ -121.802262000274794, 37.255343000314738 ], [ -121.803761999516496, 37.25634300059113 ], [ -121.804161999756673, 37.256543000833432 ], [ -121.804662000266092, 37.256843000341348 ], [ -121.805966999498324, 37.257538000256737 ], [ -121.808461999659684, 37.259243000923945 ], [ -121.810361999610436, 37.260243000989313 ], [ -121.81366199966061, 37.262243000404609 ], [ -121.815414000003727, 37.263287000844386 ], [ -121.818362000002836, 37.265043001070431 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 668, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.830662999674473, 37.270942000933879 ], [ -121.829162999914587, 37.272142000779148 ], [ -121.828963000451282, 37.272242000265706 ], [ -121.826833999971583, 37.270752000928368 ], [ -121.825962999549787, 37.270142000243595 ], [ -121.825297999646054, 37.269680000637806 ], [ -121.822361999774643, 37.267643000535344 ], [ -121.821472000085421, 37.267050001008386 ], [ -121.820562000310048, 37.26644300038631 ], [ -121.819162999406942, 37.265553000457487 ], [ -121.819119000374783, 37.265525000939206 ], [ -121.818362000002836, 37.265043001070431 ], [ -121.815414000003727, 37.263287000844386 ], [ -121.81366199966061, 37.262243000404609 ], [ -121.810361999610436, 37.260243000989313 ], [ -121.808461999659684, 37.259243000923945 ], [ -121.808661999814191, 37.259043000296238 ], [ -121.80921300044092, 37.259043000637192 ], [ -121.810361999669993, 37.259043000818096 ], [ -121.811562000143837, 37.259043000697787 ], [ -121.811962000267016, 37.258943000541635 ], [ -121.812761999623589, 37.259043001017652 ], [ -121.813762000245944, 37.259043000712261 ], [ -121.814561999557554, 37.258943000780583 ], [ -121.815386999749634, 37.259035000934773 ], [ -121.815461999823626, 37.25904300097455 ], [ -121.816462000324663, 37.258943000826832 ], [ -121.817361999450355, 37.25894300053055 ], [ -121.817430000119842, 37.258943001110708 ], [ -121.817537000097033, 37.258943000913071 ], [ -121.819461999583865, 37.258943000582946 ], [ -121.820962000106348, 37.258943000342136 ], [ -121.821661999591598, 37.258943000625699 ], [ -121.822962000382702, 37.258943000485274 ], [ -121.823662000239764, 37.258843001029646 ], [ -121.825133000165437, 37.258847000645758 ], [ -121.825332000116177, 37.258844000828667 ], [ -121.825461999700082, 37.258843000343347 ], [ -121.825762000004033, 37.258843001026165 ], [ -121.826162999926439, 37.258843001049804 ], [ -121.826524000350474, 37.258843000725165 ], [ -121.827163000324475, 37.258843001048326 ], [ -121.828289999610888, 37.258796000227797 ], [ -121.828847999835304, 37.258773001124204 ], [ -121.829087000257275, 37.258763000508388 ], [ -121.829563000426376, 37.258743000580907 ], [ -121.830808999991632, 37.258728001019009 ], [ -121.830832000332876, 37.259041000342648 ], [ -121.830928000417529, 37.260360001134046 ], [ -121.830963000020859, 37.260843000395269 ], [ -121.831062999971437, 37.261643000891347 ], [ -121.831062999513847, 37.262343000244961 ], [ -121.831063000287045, 37.264743000280973 ], [ -121.831063000088704, 37.265043000892838 ], [ -121.83116300036454, 37.266543000599334 ], [ -121.831249000260968, 37.266620000438451 ], [ -121.831300000179894, 37.266794000667936 ], [ -121.831369999419664, 37.267084000426379 ], [ -121.831439999658741, 37.267335000456434 ], [ -121.831540999518637, 37.267490000609698 ], [ -121.831591000009354, 37.267529000794532 ], [ -121.831706999474278, 37.267732000718368 ], [ -121.831740000275758, 37.26784600038458 ], [ -121.831980999399974, 37.268160000228235 ], [ -121.832292999829249, 37.2683830009899 ], [ -121.832704999734659, 37.268593000810945 ], [ -121.833478999627204, 37.268887001051887 ], [ -121.834262999779156, 37.269143000914966 ], [ -121.83236299943232, 37.269843000396563 ], [ -121.832143000312286, 37.269930000786545 ], [ -121.831863000424605, 37.270042000737128 ], [ -121.831694999457511, 37.270177001105779 ], [ -121.831363000169006, 37.270442000266044 ], [ -121.8310630001112, 37.270642000757711 ], [ -121.830662999674473, 37.270942000933879 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 667, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.830778999765414, 37.257309000266659 ], [ -121.830964999789785, 37.257831000801076 ], [ -121.831004999882609, 37.257943000425954 ], [ -121.831038000502772, 37.258034000602436 ], [ -121.830808999991632, 37.258728001019009 ], [ -121.829563000426376, 37.258743000580907 ], [ -121.829087000257275, 37.258763000508388 ], [ -121.828847999835304, 37.258773001124204 ], [ -121.828289999610888, 37.258796000227797 ], [ -121.827163000324475, 37.258843001048326 ], [ -121.826524000350474, 37.258843000725165 ], [ -121.826162999926439, 37.258843001049804 ], [ -121.825762000004033, 37.258843001026165 ], [ -121.825461999700082, 37.258843000343347 ], [ -121.825332000116177, 37.258844000828667 ], [ -121.825133000165437, 37.258847000645758 ], [ -121.823662000239764, 37.258843001029646 ], [ -121.822962000382702, 37.258943000485274 ], [ -121.821661999591598, 37.258943000625699 ], [ -121.820962000106348, 37.258943000342136 ], [ -121.819461999583865, 37.258943000582946 ], [ -121.819166000099827, 37.25864700093215 ], [ -121.818662000301288, 37.258143000456151 ], [ -121.81806199972597, 37.257643000466949 ], [ -121.817562000233508, 37.256943001111189 ], [ -121.817562000459432, 37.256543000888207 ], [ -121.817462000294711, 37.251543000298874 ], [ -121.818661999841694, 37.251543000306704 ], [ -121.81946200036657, 37.251543000470654 ], [ -121.82036199945334, 37.251443000429461 ], [ -121.822061999685019, 37.251543000811999 ], [ -121.823062000124352, 37.251543000508825 ], [ -121.823261999763417, 37.251543001052177 ], [ -121.825562000218042, 37.251443000861478 ], [ -121.828662999873373, 37.251443000909227 ], [ -121.830862999598494, 37.25134300064547 ], [ -121.830863000048069, 37.253243000574358 ], [ -121.830863000268067, 37.253747000619477 ], [ -121.830863000255675, 37.25484300062768 ], [ -121.830862999634746, 37.255543000738676 ], [ -121.830922999559363, 37.255966000800164 ], [ -121.830963000449088, 37.256243000412312 ], [ -121.83096500016137, 37.257315000474819 ], [ -121.830778999765414, 37.257309000266659 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 673, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.838376999533068, 37.266335000613154 ], [ -121.838408000152256, 37.266523000654615 ], [ -121.837564999922748, 37.26646400099574 ], [ -121.83746199997745, 37.266457000919921 ], [ -121.837567999427449, 37.266501000320247 ], [ -121.837570000174338, 37.266531000750469 ], [ -121.836765000346389, 37.266506000706869 ], [ -121.83676300007771, 37.266443000859816 ], [ -121.835962999530423, 37.26654300076067 ], [ -121.831398000015355, 37.266543000666111 ], [ -121.83116300036454, 37.266543000599334 ], [ -121.831063000088704, 37.265043000892838 ], [ -121.831063000287045, 37.264743000280973 ], [ -121.831062999513847, 37.262343000244961 ], [ -121.831062999971437, 37.261643000891347 ], [ -121.830963000020859, 37.260843000395269 ], [ -121.830928000417529, 37.260360001134046 ], [ -121.830832000332876, 37.259041000342648 ], [ -121.830808999991632, 37.258728001019009 ], [ -121.831038000502772, 37.258034000602436 ], [ -121.831004999882609, 37.257943000425954 ], [ -121.830964999789785, 37.257831000801076 ], [ -121.830778999765414, 37.257309000266659 ], [ -121.83096500016137, 37.257315000474819 ], [ -121.830963000449088, 37.256243000412312 ], [ -121.830922999559363, 37.255966000800164 ], [ -121.830862999634746, 37.255543000738676 ], [ -121.830863000255675, 37.25484300062768 ], [ -121.830863000268067, 37.253747000619477 ], [ -121.830863000048069, 37.253243000574358 ], [ -121.830862999598494, 37.25134300064547 ], [ -121.835663000026443, 37.251343000592684 ], [ -121.837409000150032, 37.251281000922091 ], [ -121.839563000198297, 37.252343000383171 ], [ -121.842563000168099, 37.253743000791289 ], [ -121.84296299951329, 37.255543000319996 ], [ -121.84297800026701, 37.255628000433241 ], [ -121.843263000241265, 37.257243001004873 ], [ -121.846063000048332, 37.259943000352962 ], [ -121.84796299999941, 37.262143000260878 ], [ -121.847663000031659, 37.262443001100323 ], [ -121.846063000470707, 37.263043000524064 ], [ -121.84526300020201, 37.263443000805488 ], [ -121.846663000271249, 37.266043000514408 ], [ -121.8462399994865, 37.26606300049761 ], [ -121.84533199974048, 37.266107000716019 ], [ -121.844725000139732, 37.266136000385607 ], [ -121.84103199999663, 37.266296000750565 ], [ -121.841028000036715, 37.266431000448847 ], [ -121.839186000315806, 37.266403000898542 ], [ -121.839199000449341, 37.266504000544643 ], [ -121.838376999533068, 37.266335000613154 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 665, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.826808999439265, 37.245286001056755 ], [ -121.827891999474531, 37.245970000412768 ], [ -121.827977000114061, 37.246024001048085 ], [ -121.829030000311178, 37.246703000638256 ], [ -121.830285000289237, 37.247513000348988 ], [ -121.830807000233008, 37.247795001090473 ], [ -121.830862999598494, 37.25134300064547 ], [ -121.828662999873373, 37.251443000909227 ], [ -121.825562000218042, 37.251443000861478 ], [ -121.823261999763417, 37.251543001052177 ], [ -121.823062000124352, 37.251543000508825 ], [ -121.822061999685019, 37.251543000811999 ], [ -121.82036199945334, 37.251443000429461 ], [ -121.81946200036657, 37.251543000470654 ], [ -121.818661999841694, 37.251543000306704 ], [ -121.817462000294711, 37.251543000298874 ], [ -121.814561999519739, 37.251543000577499 ], [ -121.812837999499976, 37.251543000347553 ], [ -121.812562000399282, 37.251543000530624 ], [ -121.81166199956148, 37.25154300100732 ], [ -121.809462000503359, 37.251543000528997 ], [ -121.809061999484783, 37.251543001116424 ], [ -121.808862000116719, 37.251543000914616 ], [ -121.807062000313309, 37.251543000958947 ], [ -121.805677000516184, 37.251465000805766 ], [ -121.804061999470179, 37.251543000872182 ], [ -121.804062000311319, 37.249643000873647 ], [ -121.804013999818181, 37.248062000593841 ], [ -121.80406200013438, 37.246243000396433 ], [ -121.804062000291168, 37.245843000908273 ], [ -121.803936999832928, 37.24291200035988 ], [ -121.804044000453317, 37.242333001089044 ], [ -121.804001000029572, 37.242078000315608 ], [ -121.805827000365852, 37.242405001045128 ], [ -121.807731999513933, 37.242534000992954 ], [ -121.810863999520535, 37.242603000335627 ], [ -121.812361999835019, 37.242695000364129 ], [ -121.813058000141808, 37.242737000785006 ], [ -121.814278999545692, 37.242812000388675 ], [ -121.814546000055913, 37.242828000446224 ], [ -121.814931999629437, 37.242844000318115 ], [ -121.816657999706678, 37.242917000953 ], [ -121.817354999505866, 37.242947000819839 ], [ -121.817424999874945, 37.242950000246196 ], [ -121.817961000358949, 37.242949000658555 ], [ -121.819163999596611, 37.242946000477787 ], [ -121.81946399961943, 37.242945000835185 ], [ -121.820062000219536, 37.242952000998379 ], [ -121.820663999964083, 37.242959001018718 ], [ -121.822762999997806, 37.243379001048496 ], [ -121.824304000271397, 37.243882000613226 ], [ -121.825329000077971, 37.244365000486546 ], [ -121.825415000497486, 37.244406000913798 ], [ -121.826808999439265, 37.245286001056755 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 659, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.766495999811937, 37.226660000894292 ], [ -121.766759999791816, 37.226044000358975 ], [ -121.767160000475172, 37.224744000741119 ], [ -121.767194999650911, 37.224550001105357 ], [ -121.767360000363325, 37.223644001003166 ], [ -121.772460999873886, 37.224744000754313 ], [ -121.772960999503866, 37.224044000238536 ], [ -121.773461000042872, 37.223544000490442 ], [ -121.773960999904304, 37.222944000615378 ], [ -121.774261000396464, 37.222444000543597 ], [ -121.774761000152012, 37.222644000405076 ], [ -121.775377999638408, 37.222901000990333 ], [ -121.775960999790001, 37.223144000475216 ], [ -121.776361000370969, 37.223344001038264 ], [ -121.777017999673518, 37.223607000233685 ], [ -121.777360999671643, 37.22374400086742 ], [ -121.778160999831471, 37.224144000259116 ], [ -121.778960999986339, 37.224444000846177 ], [ -121.778360999520061, 37.225044000769785 ], [ -121.778060999625538, 37.225344000897621 ], [ -121.777752000068901, 37.225679000625313 ], [ -121.777159999439021, 37.226320000889181 ], [ -121.776860999665615, 37.226644000376652 ], [ -121.776233999700779, 37.227313000753149 ], [ -121.775360999900627, 37.22824400080961 ], [ -121.774061000012807, 37.229644000473236 ], [ -121.772351000442626, 37.231767000811942 ], [ -121.772351000380112, 37.232110000272058 ], [ -121.772366000223556, 37.232431000903929 ], [ -121.772487999982999, 37.232736000417759 ], [ -121.772427000255888, 37.233055000825651 ], [ -121.772457000167634, 37.233467000513841 ], [ -121.772685999546979, 37.234123000978634 ], [ -121.773067999442901, 37.235054000510594 ], [ -121.773250999667738, 37.23566400040454 ], [ -121.773419000462923, 37.23645800054895 ], [ -121.773479999995857, 37.236954000551464 ], [ -121.773479999420331, 37.237373000771363 ], [ -121.77338800007368, 37.237686000911786 ], [ -121.773205000513016, 37.238014000342496 ], [ -121.772946000117855, 37.238220000928393 ], [ -121.772396000356437, 37.237885000449182 ], [ -121.771785000189126, 37.237502000518965 ], [ -121.77141900017439, 37.237273000997078 ], [ -121.771189999729245, 37.23712900084422 ], [ -121.768760000508095, 37.235543000533369 ], [ -121.768959999829335, 37.235343000745083 ], [ -121.769259999637072, 37.235043000410229 ], [ -121.768459999875418, 37.234143000431196 ], [ -121.768160000012756, 37.234143000348837 ], [ -121.767760000199999, 37.234143000858907 ], [ -121.767059999549289, 37.233743001047216 ], [ -121.764759999405058, 37.23234400061822 ], [ -121.763937999757189, 37.231828000242714 ], [ -121.764559999542101, 37.230944000745431 ], [ -121.764688000020627, 37.23063300084219 ], [ -121.76502800006233, 37.229807000374045 ], [ -121.765259999601426, 37.229244001093853 ], [ -121.765628999632909, 37.228598000753401 ], [ -121.76566000014806, 37.228544000341486 ], [ -121.765759999687631, 37.22834400070321 ], [ -121.76585999981323, 37.228144000976052 ], [ -121.766196000518917, 37.227360000311783 ], [ -121.766495999811937, 37.226660000894292 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 700, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.671556999475072, 37.150545000676665 ], [ -121.674856999757878, 37.153745000409394 ], [ -121.67625700023126, 37.154945000634271 ], [ -121.676957000271102, 37.155845000686526 ], [ -121.679856999966958, 37.15854500062693 ], [ -121.67345699984422, 37.163044001114017 ], [ -121.672503000041232, 37.163712000614439 ], [ -121.672457000103392, 37.163744000611388 ], [ -121.669502000500316, 37.165739000552072 ], [ -121.669045000430415, 37.16604700099613 ], [ -121.668433000107356, 37.166417000450913 ], [ -121.668389000322691, 37.166444000777709 ], [ -121.667839000309499, 37.166803000645558 ], [ -121.662955999545204, 37.162461000391751 ], [ -121.659270000255745, 37.158847000373378 ], [ -121.658987999932307, 37.158570000320424 ], [ -121.657915999866134, 37.157683000959139 ], [ -121.656425000363498, 37.156449000493211 ], [ -121.655539999398556, 37.15556400082572 ], [ -121.654715999664631, 37.154771000369827 ], [ -121.653022000105722, 37.153192000231428 ], [ -121.652756000322753, 37.152744000661784 ], [ -121.652456000395134, 37.152344001118543 ], [ -121.650156000100509, 37.150144000976105 ], [ -121.648381999946722, 37.148351000921203 ], [ -121.645380999823232, 37.145317000904413 ], [ -121.641069999946367, 37.141112000366995 ], [ -121.640953999744312, 37.141026000777302 ], [ -121.640843999459833, 37.140938000380295 ], [ -121.640071999684309, 37.140203000569798 ], [ -121.638855999906482, 37.139045000635164 ], [ -121.637856999578958, 37.137910000941552 ], [ -121.636655999950023, 37.136545000409967 ], [ -121.635556000447906, 37.134645000892164 ], [ -121.633754999582791, 37.131945000243832 ], [ -121.633700000185883, 37.131779000465862 ], [ -121.633654999782394, 37.131645000381155 ], [ -121.633561000044352, 37.131551000762975 ], [ -121.633454999710708, 37.131445000905785 ], [ -121.632154999546515, 37.129145001029926 ], [ -121.631955000331445, 37.128745000538174 ], [ -121.631255000428808, 37.127645001079621 ], [ -121.62947700012225, 37.124945000637375 ], [ -121.628554999464242, 37.123545000331191 ], [ -121.62795500032658, 37.12224500034646 ], [ -121.627754999886662, 37.121945000537963 ], [ -121.626154999951609, 37.119445000965555 ], [ -121.626054999582323, 37.119291000272106 ], [ -121.624854999875197, 37.117445000829974 ], [ -121.624555000035684, 37.117045000245284 ], [ -121.624482999400158, 37.116940000722842 ], [ -121.623454999676923, 37.115445000564279 ], [ -121.619454999780231, 37.111645001096932 ], [ -121.620655000453922, 37.111145000452169 ], [ -121.624155000495762, 37.109945000382289 ], [ -121.625719000187971, 37.10939600078634 ], [ -121.626317999832352, 37.109185000915318 ], [ -121.628481999467851, 37.108425001006573 ], [ -121.628754999914236, 37.108345000898296 ], [ -121.627855000460698, 37.107445000823269 ], [ -121.6271549999434, 37.106745000874227 ], [ -121.626054999475457, 37.105645001042284 ], [ -121.625654999960119, 37.105245000320991 ], [ -121.624224999897621, 37.103848000706179 ], [ -121.623022000214803, 37.102674000390259 ], [ -121.62125499971097, 37.100946000925482 ], [ -121.621144999426193, 37.10082800057738 ], [ -121.616255000157267, 37.095546000611442 ], [ -121.616954999971313, 37.095546000923086 ], [ -121.617664999736874, 37.096088000940767 ], [ -121.620754999608081, 37.098446000716521 ], [ -121.623271999826542, 37.100031001107894 ], [ -121.623454999919758, 37.10014600102128 ], [ -121.625752999706052, 37.101444000468078 ], [ -121.626054999950398, 37.101662000931249 ], [ -121.627554999511489, 37.102746000993278 ], [ -121.62908799958447, 37.103648000554657 ], [ -121.630299999507272, 37.104361000301445 ], [ -121.630844000235356, 37.104681000233057 ], [ -121.630954999868678, 37.104746000769616 ], [ -121.631133999748812, 37.104865000650072 ], [ -121.631380000019718, 37.105029000602734 ], [ -121.631654999954705, 37.105213000558685 ], [ -121.632275000414595, 37.105626000578752 ], [ -121.634254999785171, 37.106946000461811 ], [ -121.635655999729522, 37.107846000320471 ], [ -121.636156000213361, 37.108146000414521 ], [ -121.638455999777506, 37.109446000687541 ], [ -121.64094299972335, 37.111023000887108 ], [ -121.640658000476222, 37.111685000948036 ], [ -121.640471000431816, 37.111840000782529 ], [ -121.640097000130169, 37.112112001058925 ], [ -121.638000000061211, 37.112796000448945 ], [ -121.63730699973452, 37.113163000362931 ], [ -121.637161000149476, 37.113339000833051 ], [ -121.637036000249921, 37.11351400048985 ], [ -121.636947000512251, 37.113700000371821 ], [ -121.636941999673226, 37.113851001063047 ], [ -121.637030999862574, 37.114250000827603 ], [ -121.637257000304629, 37.11471400029248 ], [ -121.637624000457123, 37.115062001085938 ], [ -121.638799000013918, 37.11468200064273 ], [ -121.641027000180941, 37.113838000793287 ], [ -121.64128899952658, 37.114344000356049 ], [ -121.64175599987837, 37.115245000654227 ], [ -121.643254000302008, 37.117892000565028 ], [ -121.643657999626654, 37.118578000982367 ], [ -121.644152000257648, 37.119402000381697 ], [ -121.64495600007325, 37.119845001018895 ], [ -121.64615599987988, 37.121945000970221 ], [ -121.646956000463149, 37.123145000802637 ], [ -121.647956000475148, 37.124845000531842 ], [ -121.648010999590767, 37.124945000477162 ], [ -121.648556000501571, 37.125945001098714 ], [ -121.647855999838896, 37.126245000949233 ], [ -121.647255999416927, 37.12644500049187 ], [ -121.652656000199627, 37.131745000255577 ], [ -121.654856000180146, 37.133845001086748 ], [ -121.662656999662673, 37.141345000525043 ], [ -121.662825999779486, 37.141796000913835 ], [ -121.663556999948668, 37.143745000838656 ], [ -121.665057000349819, 37.144845000976552 ], [ -121.666157999984065, 37.145810000376088 ], [ -121.671556999475072, 37.150545000676665 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 701, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.643198999757402, 37.113261000583336 ], [ -121.642197000076848, 37.113439000300424 ], [ -121.641027000180941, 37.113838000793287 ], [ -121.638799000013918, 37.11468200064273 ], [ -121.637624000457123, 37.115062001085938 ], [ -121.637257000304629, 37.11471400029248 ], [ -121.637030999862574, 37.114250000827603 ], [ -121.636941999673226, 37.113851001063047 ], [ -121.636947000512251, 37.113700000371821 ], [ -121.637036000249921, 37.11351400048985 ], [ -121.637161000149476, 37.113339000833051 ], [ -121.63730699973452, 37.113163000362931 ], [ -121.638000000061211, 37.112796000448945 ], [ -121.640097000130169, 37.112112001058925 ], [ -121.640471000431816, 37.111840000782529 ], [ -121.640658000476222, 37.111685000948036 ], [ -121.64094299972335, 37.111023000887108 ], [ -121.638455999777506, 37.109446000687541 ], [ -121.636156000213361, 37.108146000414521 ], [ -121.635655999729522, 37.107846000320471 ], [ -121.634254999785171, 37.106946000461811 ], [ -121.632275000414595, 37.105626000578752 ], [ -121.631654999954705, 37.105213000558685 ], [ -121.631380000019718, 37.105029000602734 ], [ -121.631133999748812, 37.104865000650072 ], [ -121.630954999868678, 37.104746000769616 ], [ -121.630844000235356, 37.104681000233057 ], [ -121.630299999507272, 37.104361000301445 ], [ -121.62908799958447, 37.103648000554657 ], [ -121.627554999511489, 37.102746000993278 ], [ -121.626054999950398, 37.101662000931249 ], [ -121.625752999706052, 37.101444000468078 ], [ -121.623454999919758, 37.10014600102128 ], [ -121.623271999826542, 37.100031001107894 ], [ -121.620754999608081, 37.098446000716521 ], [ -121.617664999736874, 37.096088000940767 ], [ -121.616954999971313, 37.095546000923086 ], [ -121.616631999477178, 37.095070000484938 ], [ -121.615054999621009, 37.092746000307635 ], [ -121.615962000391164, 37.092366000939862 ], [ -121.618154999771122, 37.091446001059907 ], [ -121.619803000023254, 37.090808001116791 ], [ -121.62009499969966, 37.090695000264859 ], [ -121.621254999737943, 37.090246000831947 ], [ -121.622978000424368, 37.089568000336897 ], [ -121.624633000117726, 37.088917000703596 ], [ -121.626055000322197, 37.088357000357711 ], [ -121.62735499982017, 37.087846000564376 ], [ -121.626854999829959, 37.087146000466618 ], [ -121.630354999397568, 37.088646000818514 ], [ -121.630877000484688, 37.088726000234843 ], [ -121.634274999976597, 37.088492000530067 ], [ -121.635651999541054, 37.088788000603806 ], [ -121.635842000474753, 37.088829001003077 ], [ -121.636746000212966, 37.08911600068447 ], [ -121.637429999439291, 37.089651001081585 ], [ -121.638154999483504, 37.090219000342628 ], [ -121.638955999590863, 37.090846000778733 ], [ -121.639650999756995, 37.091496001090114 ], [ -121.640135000063708, 37.091978000641561 ], [ -121.640632000235485, 37.092364001101913 ], [ -121.641411999718812, 37.092685000609833 ], [ -121.64211000034318, 37.092899000248266 ], [ -121.642889999802748, 37.093028000587204 ], [ -121.643797000372885, 37.093087000490847 ], [ -121.645092000432555, 37.093326000960516 ], [ -121.645748999496575, 37.093533001122175 ], [ -121.646255999844684, 37.093946000737517 ], [ -121.64645600017829, 37.09424600039506 ], [ -121.648579999815453, 37.097046001078617 ], [ -121.648656000371815, 37.097146000619013 ], [ -121.648930999711013, 37.097586000920472 ], [ -121.64915599955377, 37.097946000448374 ], [ -121.649755999652953, 37.098646000960606 ], [ -121.650224999722013, 37.099383000579508 ], [ -121.65045600031408, 37.099746000775511 ], [ -121.650738999952992, 37.100242001035937 ], [ -121.650896000060229, 37.100516000773979 ], [ -121.651256000287688, 37.101146000368367 ], [ -121.652258000481368, 37.102005000525054 ], [ -121.652655999758238, 37.10234600059897 ], [ -121.652873000446704, 37.102496000916631 ], [ -121.653639000036819, 37.103025000834144 ], [ -121.654839000334832, 37.103854000551301 ], [ -121.655510999471574, 37.104318000228766 ], [ -121.65589099998715, 37.104580000344555 ], [ -121.656132999787403, 37.104747001081954 ], [ -121.65621000006999, 37.104800000370076 ], [ -121.656256999459131, 37.104833000934754 ], [ -121.656569999862214, 37.105049000270192 ], [ -121.656856000169668, 37.105246000516004 ], [ -121.657756000326302, 37.106046000241378 ], [ -121.657455999516586, 37.106346000689157 ], [ -121.656255999775297, 37.106946000750959 ], [ -121.648511000041651, 37.11114100054585 ], [ -121.647530999531213, 37.111648000764475 ], [ -121.647402000288736, 37.111714000959083 ], [ -121.647180000493023, 37.111837000662788 ], [ -121.645804999599363, 37.112583000344117 ], [ -121.644955999574009, 37.113046000896624 ], [ -121.64447700033206, 37.113268000921131 ], [ -121.643198999757402, 37.113261000583336 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 456, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.032644000485007, 37.339640000575905 ], [ -122.032633999772855, 37.339543000395835 ], [ -122.032644999836378, 37.339355000590487 ], [ -122.032648999858864, 37.339078000335263 ], [ -122.032613000513663, 37.338731000787412 ], [ -122.032570999421296, 37.338141000337373 ], [ -122.032571000411721, 37.337441000959238 ], [ -122.033770999962741, 37.337441000421414 ], [ -122.037174000004114, 37.337247000831006 ], [ -122.037270999435933, 37.337241000318997 ], [ -122.039176000507425, 37.337454000459743 ], [ -122.039971000155958, 37.337441000646301 ], [ -122.041670999505982, 37.337541000811562 ], [ -122.041570999832999, 37.34174100081632 ], [ -122.041570999709137, 37.342741000682601 ], [ -122.041970999658872, 37.344441000236522 ], [ -122.041870999960167, 37.346141000863703 ], [ -122.041371000215435, 37.347841000323712 ], [ -122.041471000273148, 37.350241000770296 ], [ -122.04147099989197, 37.351741001098503 ], [ -122.04007099990811, 37.351841000438739 ], [ -122.038971000011344, 37.351841000841162 ], [ -122.038671000269133, 37.351841000324129 ], [ -122.03812699972768, 37.35184100081414 ], [ -122.037971000505763, 37.351841000361347 ], [ -122.037670999644376, 37.351841000903704 ], [ -122.036570999962407, 37.351841000615579 ], [ -122.036171000000934, 37.351841000349566 ], [ -122.035570999509829, 37.351841000563866 ], [ -122.033957000012535, 37.351782000515492 ], [ -122.033220000402608, 37.351809000235441 ], [ -122.032707000374117, 37.351828000787165 ], [ -122.032371000385339, 37.35184100109683 ], [ -122.032171000128542, 37.347841000251805 ], [ -122.032282000136547, 37.347053000402013 ], [ -122.0323829997307, 37.346430000958861 ], [ -122.032471000352984, 37.346029000860817 ], [ -122.032470999463797, 37.345941000571109 ], [ -122.032681999546341, 37.344885001095832 ], [ -122.032712000283738, 37.344735000264372 ], [ -122.032770999765617, 37.344441000615667 ], [ -122.03277100000011, 37.34434100055482 ], [ -122.032770999501125, 37.34354100089071 ], [ -122.032771000309467, 37.342541000948756 ], [ -122.032470999928236, 37.342041000666256 ], [ -122.032470999814649, 37.341241000721219 ], [ -122.032527999931574, 37.340714001076343 ], [ -122.032644000485007, 37.339640000575905 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 453, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.050371999483133, 37.358441000633825 ], [ -122.050472000516322, 37.357541000582238 ], [ -122.050771999528706, 37.355641000997956 ], [ -122.050672000311494, 37.35464100040128 ], [ -122.050671999422391, 37.351841000622336 ], [ -122.051571999528278, 37.35184100049959 ], [ -122.055171999434279, 37.351841000912934 ], [ -122.058772000511752, 37.351941000947008 ], [ -122.059671999880734, 37.351841000323752 ], [ -122.060272000356193, 37.35184100041014 ], [ -122.060571999467001, 37.351841001105512 ], [ -122.061071999526661, 37.351841000585445 ], [ -122.061772000342458, 37.353641000804849 ], [ -122.061872000341509, 37.354241000651506 ], [ -122.062372000018016, 37.356441000774055 ], [ -122.062415999974988, 37.356541000827796 ], [ -122.06277199985368, 37.357341000782718 ], [ -122.062778999877906, 37.357474000904752 ], [ -122.06282100044784, 37.358272000671867 ], [ -122.062861000072161, 37.359041000462767 ], [ -122.062872000156474, 37.359241000291277 ], [ -122.062918999530766, 37.359660000278829 ], [ -122.063027999504882, 37.360644000708938 ], [ -122.063072000370852, 37.361041000837901 ], [ -122.063253000210707, 37.363575000556551 ], [ -122.063452000239508, 37.366368000816912 ], [ -122.06387199954186, 37.367041000300958 ], [ -122.06297199963771, 37.366441000591685 ], [ -122.062772000265696, 37.367441000574495 ], [ -122.062171999598547, 37.368241000870832 ], [ -122.061529999510412, 37.369204000934836 ], [ -122.060699000319232, 37.37045100029939 ], [ -122.060371999993393, 37.370941000891108 ], [ -122.058372000472062, 37.374440000296751 ], [ -122.057971999615575, 37.374140000771057 ], [ -122.056672000302086, 37.373640000487562 ], [ -122.053072000296936, 37.372641000399128 ], [ -122.048772000445837, 37.371641000354749 ], [ -122.04937200002486, 37.370341000366778 ], [ -122.050071999907402, 37.367941001085427 ], [ -122.050372000338925, 37.365241000977541 ], [ -122.050371999623593, 37.364541001037203 ], [ -122.050471999936946, 37.362541000412001 ], [ -122.050372000521094, 37.359341000289312 ], [ -122.050371999483133, 37.358441000633825 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 452, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.040649000272552, 37.359100000289921 ], [ -122.03974999962108, 37.359064000501135 ], [ -122.039171000436539, 37.35904100089855 ], [ -122.038754000222639, 37.359022000284881 ], [ -122.036971000321316, 37.358941000674506 ], [ -122.033671000172617, 37.358941000916779 ], [ -122.032370999806218, 37.358941000578866 ], [ -122.032371000074193, 37.356961000395899 ], [ -122.0323710005148, 37.356441000963095 ], [ -122.032470999827751, 37.355541000843552 ], [ -122.03244399951474, 37.354525001114993 ], [ -122.032371000385339, 37.35184100109683 ], [ -122.032707000374117, 37.351828000787165 ], [ -122.033220000402608, 37.351809000235441 ], [ -122.033957000012535, 37.351782000515492 ], [ -122.035570999509829, 37.351841000563866 ], [ -122.036171000000934, 37.351841000349566 ], [ -122.036570999962407, 37.351841000615579 ], [ -122.037670999644376, 37.351841000903704 ], [ -122.037971000505763, 37.351841000361347 ], [ -122.03812699972768, 37.35184100081414 ], [ -122.038671000269133, 37.351841000324129 ], [ -122.038971000011344, 37.351841000841162 ], [ -122.04007099990811, 37.351841000438739 ], [ -122.04147099989197, 37.351741001098503 ], [ -122.042371000290558, 37.351841000707289 ], [ -122.044270999743929, 37.351841000492257 ], [ -122.044948000487736, 37.351841001003713 ], [ -122.046170999475791, 37.35184100039821 ], [ -122.046639999581373, 37.351883000690812 ], [ -122.046835999422157, 37.351901000258692 ], [ -122.047270999569363, 37.35194100067698 ], [ -122.04773999971313, 37.351941000628869 ], [ -122.047880999414687, 37.351941000861075 ], [ -122.047972000005871, 37.351941000518849 ], [ -122.048472000178833, 37.351841000937931 ], [ -122.050671999422391, 37.351841000622336 ], [ -122.050672000311494, 37.35464100040128 ], [ -122.050771999528706, 37.355641000997956 ], [ -122.050472000516322, 37.357541000582238 ], [ -122.050371999483133, 37.358441000633825 ], [ -122.050372000521094, 37.359341000289312 ], [ -122.047671999603367, 37.359241000784699 ], [ -122.046571999852873, 37.359141001031283 ], [ -122.045871999600422, 37.359141000568293 ], [ -122.041670999510629, 37.359141000925327 ], [ -122.040649000272552, 37.359100000289921 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 449, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.0323710005148, 37.356441000963095 ], [ -122.032371000074193, 37.356961000395899 ], [ -122.032370999806218, 37.358941000578866 ], [ -122.032476999751594, 37.359312000627355 ], [ -122.032470999705239, 37.359641000718177 ], [ -122.032370999931075, 37.360141001006184 ], [ -122.032471000046982, 37.360841001018365 ], [ -122.032471000059857, 37.361541000406412 ], [ -122.0324709999432, 37.362141000846755 ], [ -122.032370999871659, 37.362641000906876 ], [ -122.032470999631016, 37.36294100073949 ], [ -122.03237099990568, 37.363241000333716 ], [ -122.032471000494397, 37.364741000576267 ], [ -122.032470999492148, 37.364862000919558 ], [ -122.032470999436441, 37.364943001018972 ], [ -122.032471000157614, 37.365941000764522 ], [ -122.03247100022736, 37.366466000999409 ], [ -122.032470999989258, 37.367441000668414 ], [ -122.029371000105257, 37.365141000686208 ], [ -122.027770999432846, 37.363741000352043 ], [ -122.024970999775107, 37.361541000914016 ], [ -122.022768999753922, 37.35965400079408 ], [ -122.01797100051931, 37.355541000858743 ], [ -122.015371000043544, 37.353441000680093 ], [ -122.014769999800762, 37.352941000746362 ], [ -122.014370000450228, 37.352741001061865 ], [ -122.014420999702111, 37.352335000231228 ], [ -122.014430000240523, 37.351939000560684 ], [ -122.015082000055983, 37.351941000804743 ], [ -122.015470000040906, 37.351941000471101 ], [ -122.016871000468115, 37.351941000566882 ], [ -122.017070999844421, 37.351941000608058 ], [ -122.018270999554645, 37.351941000991246 ], [ -122.019070999435016, 37.351941000491095 ], [ -122.020271000471354, 37.351941000419423 ], [ -122.0209710001849, 37.351941000605429 ], [ -122.022571000322799, 37.351941000929017 ], [ -122.023278999701162, 37.351941000376691 ], [ -122.023798999475844, 37.351941000817249 ], [ -122.026171000255459, 37.351941000919076 ], [ -122.027570999838915, 37.351841000409571 ], [ -122.032371000385339, 37.35184100109683 ], [ -122.03244399951474, 37.354525001114993 ], [ -122.032470999827751, 37.355541000843552 ], [ -122.0323710005148, 37.356441000963095 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 447, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.010269999876158, 37.351941001000142 ], [ -122.011269999658055, 37.35194100048934 ], [ -122.011746999674926, 37.352022001086951 ], [ -122.012302000506935, 37.352117001062496 ], [ -122.012380999542955, 37.352131000727901 ], [ -122.012493000271832, 37.352074000425084 ], [ -122.012645999747406, 37.352004000413757 ], [ -122.012934000165487, 37.351948000876199 ], [ -122.014430000240523, 37.351939000560684 ], [ -122.014420999702111, 37.352335000231228 ], [ -122.014370000450228, 37.352741001061865 ], [ -122.014370000125439, 37.353241000837471 ], [ -122.014369999830635, 37.353331000989044 ], [ -122.014369999639342, 37.353841000332849 ], [ -122.014470999696613, 37.355141000420062 ], [ -122.014440000016407, 37.355204000900386 ], [ -122.014270999832306, 37.355541000278173 ], [ -122.014370999880711, 37.355841000863165 ], [ -122.014304000073523, 37.356111000813137 ], [ -122.014271000090261, 37.356241001072732 ], [ -122.014471000498034, 37.356741000576427 ], [ -122.014471000299523, 37.357141000321064 ], [ -122.014471000041382, 37.357541000940252 ], [ -122.014470999906152, 37.357741000338564 ], [ -122.014470999492218, 37.358241000607642 ], [ -122.014471000132602, 37.358741000844397 ], [ -122.014396000053409, 37.359076000892628 ], [ -122.014470999452243, 37.359341000701612 ], [ -122.014470999761059, 37.361941000627567 ], [ -122.014470999986372, 37.364241000674859 ], [ -122.014570999458698, 37.365741001064968 ], [ -122.014370999804228, 37.366441000703063 ], [ -122.013671000115679, 37.366441000296369 ], [ -122.011770999527116, 37.36644100056624 ], [ -122.008570000058938, 37.366441001104349 ], [ -122.008676999781187, 37.365639000452617 ], [ -122.008770000197487, 37.364941000966972 ], [ -122.008969999616014, 37.364441000995747 ], [ -122.008970000424426, 37.362741000407617 ], [ -122.005469999608962, 37.362741000876497 ], [ -122.005469999522433, 37.36144100036023 ], [ -122.00547000050301, 37.360641001091835 ], [ -122.005470000043275, 37.360141000472616 ], [ -122.005469999581052, 37.359341001021129 ], [ -122.005369999433967, 37.358241000891674 ], [ -122.005370000147352, 37.357241001042105 ], [ -122.00537699963364, 37.355345000977202 ], [ -122.005361000300468, 37.354918000246371 ], [ -122.005331000080531, 37.354635000837277 ], [ -122.005333999690109, 37.354525000638986 ], [ -122.005360999722924, 37.354284000453383 ], [ -122.005361000427925, 37.353788000431145 ], [ -122.005331000245576, 37.353239000914513 ], [ -122.005366999776442, 37.353148001092606 ], [ -122.005369999574526, 37.353141000271506 ], [ -122.005369999423792, 37.35204100075984 ], [ -122.008270000344055, 37.352041000731731 ], [ -122.009211000237855, 37.351955000741434 ], [ -122.00985100004587, 37.351960001123324 ], [ -122.010269999876158, 37.351941001000142 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 445, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.996369999999402, 37.359641000692989 ], [ -121.996371999944969, 37.359564000798137 ], [ -121.99637699984585, 37.359379000300173 ], [ -121.996404000278389, 37.358297001068337 ], [ -121.996370000269835, 37.355041000265246 ], [ -121.996369999769129, 37.354441000849967 ], [ -121.996269999866982, 37.352041000450576 ], [ -121.996870000065229, 37.352041000454399 ], [ -121.997269999839872, 37.352041000264833 ], [ -121.999069999540126, 37.35204100025009 ], [ -122.000469999610587, 37.352041000527137 ], [ -122.001070000009307, 37.352041000854349 ], [ -122.001170000268687, 37.352041000764771 ], [ -122.001670000441692, 37.352041000841524 ], [ -122.001734000019724, 37.352041001077154 ], [ -122.003169999954139, 37.352041000997296 ], [ -122.005045999810434, 37.352047000959381 ], [ -122.005369999423792, 37.35204100075984 ], [ -122.005369999574526, 37.353141000271506 ], [ -122.005366999776442, 37.353148001092606 ], [ -122.005331000245576, 37.353239000914513 ], [ -122.005361000427925, 37.353788000431145 ], [ -122.005360999722924, 37.354284000453383 ], [ -122.005333999690109, 37.354525000638986 ], [ -122.005331000080531, 37.354635000837277 ], [ -122.005361000300468, 37.354918000246371 ], [ -122.00537699963364, 37.355345000977202 ], [ -122.005370000147352, 37.357241001042105 ], [ -122.005369999433967, 37.358241000891674 ], [ -122.005469999581052, 37.359341001021129 ], [ -122.005470000043275, 37.360141000472616 ], [ -122.00547000050301, 37.360641001091835 ], [ -122.005469999522433, 37.36144100036023 ], [ -122.005469999608962, 37.362741000876497 ], [ -122.008970000424426, 37.362741000407617 ], [ -122.008969999616014, 37.364441000995747 ], [ -122.008770000197487, 37.364941000966972 ], [ -122.008676999781187, 37.365639000452617 ], [ -122.008570000058938, 37.366441001104349 ], [ -122.008370000195953, 37.366541000375157 ], [ -122.005949999693868, 37.366541000431887 ], [ -122.003813999643, 37.366541000859087 ], [ -122.003369999814296, 37.36654100076381 ], [ -122.002721999519622, 37.366545000745717 ], [ -122.002269999660328, 37.366541000973612 ], [ -122.001942000074408, 37.366541000599796 ], [ -122.00156999971702, 37.366541001024252 ], [ -122.001317999398182, 37.366552000613289 ], [ -122.001070000223763, 37.366548000733864 ], [ -122.000670000335987, 37.366541000798762 ], [ -122.000585000274924, 37.366560000487546 ], [ -121.999870000192985, 37.366541000249264 ], [ -121.998069999477806, 37.366541000400055 ], [ -121.996469999557547, 37.366541001070146 ], [ -121.996398999440501, 37.364553001078512 ], [ -121.996369999526976, 37.363741000395507 ], [ -121.996370000039093, 37.361541000307128 ], [ -121.996369999736615, 37.360441000410674 ], [ -121.996369999999402, 37.359641000692989 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 446, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.016071000197073, 37.366441000284681 ], [ -122.017370999703274, 37.366541000804858 ], [ -122.018370999608649, 37.366541000897008 ], [ -122.01940600051411, 37.366700000903712 ], [ -122.019670999401484, 37.366741000988192 ], [ -122.019812999779674, 37.366749000282852 ], [ -122.021371000284717, 37.366841000629663 ], [ -122.023271000096813, 37.367141000926921 ], [ -122.022571000385568, 37.369541000923448 ], [ -122.021870999500209, 37.371541001051035 ], [ -122.021671000134305, 37.372241000968501 ], [ -122.021470999966112, 37.372641001018344 ], [ -122.021271000512357, 37.373341000993456 ], [ -122.021070999748645, 37.374141000899542 ], [ -122.02075100002719, 37.374941000930583 ], [ -122.020671000137199, 37.375141000780552 ], [ -122.019914999839997, 37.374896000578559 ], [ -122.017401999980834, 37.373991000531468 ], [ -122.014171000091196, 37.373341000732971 ], [ -122.011259000322013, 37.372833000367564 ], [ -122.001070000027809, 37.371056000638184 ], [ -121.996969999530364, 37.370341000796813 ], [ -121.996770000000652, 37.369941000598928 ], [ -121.996469999557547, 37.366541001070146 ], [ -121.998069999477806, 37.366541000400055 ], [ -121.999870000192985, 37.366541000249264 ], [ -122.000585000274924, 37.366560000487546 ], [ -122.000670000335987, 37.366541000798762 ], [ -122.001070000223763, 37.366548000733864 ], [ -122.001317999398182, 37.366552000613289 ], [ -122.00156999971702, 37.366541001024252 ], [ -122.001942000074408, 37.366541000599796 ], [ -122.002269999660328, 37.366541000973612 ], [ -122.002721999519622, 37.366545000745717 ], [ -122.003369999814296, 37.36654100076381 ], [ -122.003813999643, 37.366541000859087 ], [ -122.005949999693868, 37.366541000431887 ], [ -122.008370000195953, 37.366541000375157 ], [ -122.008570000058938, 37.366441001104349 ], [ -122.011770999527116, 37.36644100056624 ], [ -122.013671000115679, 37.366441000296369 ], [ -122.014370999804228, 37.366441000703063 ], [ -122.01457100036923, 37.366441000707354 ], [ -122.015470999565323, 37.366441000568251 ], [ -122.015570999850141, 37.366441001034367 ], [ -122.016071000197073, 37.366441000284681 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 423, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.996169999891166, 37.389140000474249 ], [ -121.996170000201872, 37.38884000066178 ], [ -121.996170000412519, 37.388795000915366 ], [ -121.996169999820509, 37.388440000882056 ], [ -121.997869999729119, 37.388440001094871 ], [ -121.999470000462694, 37.388340000573244 ], [ -122.000670999949321, 37.388340000468034 ], [ -122.003370999497562, 37.388240000646945 ], [ -122.004270999810117, 37.388240000822165 ], [ -122.005771000109903, 37.388240000306808 ], [ -122.006670999517553, 37.388140001094023 ], [ -122.007571000012959, 37.388140000475268 ], [ -122.008470999427203, 37.388140001107409 ], [ -122.009371000054813, 37.388140000305647 ], [ -122.012071000027035, 37.388140000937454 ], [ -122.012852999536378, 37.388140000783267 ], [ -122.013070999501181, 37.388140000706578 ], [ -122.013571000468446, 37.388240000675218 ], [ -122.014470999523027, 37.388440000890114 ], [ -122.015471000441636, 37.388640000423692 ], [ -122.015170999749429, 37.389340000428199 ], [ -122.014871000203627, 37.390240000607506 ], [ -122.014571000024247, 37.391140000745317 ], [ -122.014496999748872, 37.391373000767501 ], [ -122.014262000415286, 37.392119001064493 ], [ -122.01397100048122, 37.393040000934526 ], [ -122.013771000392936, 37.393640000445927 ], [ -122.013570999477921, 37.394040000448086 ], [ -122.013371000480205, 37.394840000924795 ], [ -122.013070999466706, 37.395540000927376 ], [ -122.012753000506535, 37.395456000442579 ], [ -122.010570999418562, 37.395040001077462 ], [ -122.01035799968038, 37.394945000237669 ], [ -122.008974999741852, 37.394566000320815 ], [ -122.003061000190385, 37.392953000801121 ], [ -122.00018500025179, 37.392166000576267 ], [ -121.998870000292186, 37.391840000959007 ], [ -121.998370000158531, 37.391740001040532 ], [ -121.996769999739826, 37.391140000376069 ], [ -121.996185000456876, 37.390986000442581 ], [ -121.996169999572857, 37.390540000314473 ], [ -121.996169999891166, 37.389140000474249 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 710, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.599654000201397, 37.014448000250475 ], [ -121.599453999820156, 37.015448001024083 ], [ -121.599454000256628, 37.015556000878874 ], [ -121.599453999927348, 37.016048000567082 ], [ -121.599453999699165, 37.017148001077985 ], [ -121.599254000069223, 37.018048000822304 ], [ -121.599153999456405, 37.01894800082335 ], [ -121.599053999960574, 37.019448000875052 ], [ -121.599054000345959, 37.019941000759566 ], [ -121.599054000123118, 37.02024800030798 ], [ -121.598954000507845, 37.020848000287373 ], [ -121.598853999839434, 37.021632001121723 ], [ -121.598785000127961, 37.022173000284972 ], [ -121.598777999764124, 37.022224000659115 ], [ -121.598620000291774, 37.02346700035951 ], [ -121.598557999804342, 37.023954000903657 ], [ -121.598437000353982, 37.024898001052506 ], [ -121.598354000464894, 37.025548000275215 ], [ -121.598253999408584, 37.027748000442593 ], [ -121.598123000383836, 37.028842000901989 ], [ -121.59795400015922, 37.030247000970618 ], [ -121.597654000136458, 37.032947000837929 ], [ -121.59755400013573, 37.034747000689606 ], [ -121.59745399954727, 37.035547001112995 ], [ -121.590455999436827, 37.03692900111497 ], [ -121.589352999579845, 37.03714700054514 ], [ -121.587852999754162, 37.034947000419031 ], [ -121.587054999504218, 37.03343100055092 ], [ -121.586853000378397, 37.033047000305842 ], [ -121.585053000405225, 37.030547000541411 ], [ -121.587652999644035, 37.02974700039897 ], [ -121.587099000022462, 37.028147000525827 ], [ -121.586785999779124, 37.027241000420297 ], [ -121.586753000275792, 37.027147000817862 ], [ -121.586753000392534, 37.026616000765912 ], [ -121.586753000503009, 37.025047000933789 ], [ -121.586753000074708, 37.024647000312925 ], [ -121.586753000071269, 37.024271000269771 ], [ -121.586753000310395, 37.023566000807371 ], [ -121.586753000447388, 37.023048000817909 ], [ -121.586753000051985, 37.022048000261087 ], [ -121.586753000335136, 37.02104800045506 ], [ -121.586852999454266, 37.020448000834399 ], [ -121.586652999563469, 37.019748000930221 ], [ -121.586752999449203, 37.018848000305319 ], [ -121.586752999467805, 37.017848000889792 ], [ -121.586653000205231, 37.017048001036699 ], [ -121.586652999800179, 37.016248000571977 ], [ -121.586653000227869, 37.015448000916997 ], [ -121.586752999650216, 37.013448000315968 ], [ -121.587802999520179, 37.013517000655803 ], [ -121.588505000161632, 37.013509000726152 ], [ -121.589329000188812, 37.013563000783805 ], [ -121.591552999951347, 37.013548000255575 ], [ -121.592350999425449, 37.013555000724764 ], [ -121.592775000389153, 37.013523000876233 ], [ -121.593753999637897, 37.013448000346166 ], [ -121.598053999511905, 37.013448000957908 ], [ -121.599653999984909, 37.013148000506945 ], [ -121.599654000201397, 37.014448000250475 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 660, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.787060999851363, 37.232844001056478 ], [ -121.78696899956671, 37.233194000355326 ], [ -121.786770000088737, 37.233353000900003 ], [ -121.786434999983243, 37.233460000901133 ], [ -121.786159999504946, 37.233734001114371 ], [ -121.784468000264866, 37.235501001095244 ], [ -121.785460999562432, 37.23604300104077 ], [ -121.78596100030191, 37.236343000566087 ], [ -121.787381000493227, 37.237358000960249 ], [ -121.788067000287541, 37.23776300112047 ], [ -121.789134999774248, 37.238251000774156 ], [ -121.78989799964053, 37.23860900072409 ], [ -121.78971499997381, 37.238960000724937 ], [ -121.789624000102762, 37.23936500079413 ], [ -121.789654000258395, 37.239708000637087 ], [ -121.789706999839666, 37.239956000494928 ], [ -121.789730000220331, 37.240067000947164 ], [ -121.789822000406573, 37.240242000483619 ], [ -121.789944000068232, 37.240250000276966 ], [ -121.7901269999644, 37.240433000640429 ], [ -121.790251000310562, 37.240619000633572 ], [ -121.790295000498517, 37.240685001007421 ], [ -121.790478000362725, 37.240929000727022 ], [ -121.790599999546743, 37.241158000538107 ], [ -121.79059999943064, 37.241394000617476 ], [ -121.790570000027202, 37.241722000808181 ], [ -121.79047800009856, 37.241921000706128 ], [ -121.78680099998725, 37.245796000521771 ], [ -121.786225000298984, 37.245454000328543 ], [ -121.786046000212565, 37.245635000578119 ], [ -121.785850999416041, 37.245833000886144 ], [ -121.785701999759027, 37.245743000732126 ], [ -121.782741999498825, 37.243965001120102 ], [ -121.781954000028264, 37.243506000899281 ], [ -121.781405000463863, 37.243187000767598 ], [ -121.780743000516722, 37.242802000352064 ], [ -121.778744000097532, 37.24163800070604 ], [ -121.77781200000787, 37.241028000500322 ], [ -121.777508999448017, 37.240830000407946 ], [ -121.777076000158004, 37.240562001037574 ], [ -121.776561000423513, 37.240243000769269 ], [ -121.776732000376612, 37.24012900074856 ], [ -121.776225999556345, 37.239815000760501 ], [ -121.775754000005989, 37.239409000479746 ], [ -121.775260999860251, 37.239143000660562 ], [ -121.774987999826735, 37.238991000258096 ], [ -121.774436999485275, 37.238685000707214 ], [ -121.774360999820928, 37.238643000676618 ], [ -121.773205000513016, 37.238014000342496 ], [ -121.77338800007368, 37.237686000911786 ], [ -121.773479999420331, 37.237373000771363 ], [ -121.773479999995857, 37.236954000551464 ], [ -121.773419000462923, 37.23645800054895 ], [ -121.773250999667738, 37.23566400040454 ], [ -121.773067999442901, 37.235054000510594 ], [ -121.772685999546979, 37.234123000978634 ], [ -121.772457000167634, 37.233467000513841 ], [ -121.772427000255888, 37.233055000825651 ], [ -121.772487999982999, 37.232736000417759 ], [ -121.772366000223556, 37.232431000903929 ], [ -121.772351000380112, 37.232110000272058 ], [ -121.772351000442626, 37.231767000811942 ], [ -121.774061000012807, 37.229644000473236 ], [ -121.775360999900627, 37.22824400080961 ], [ -121.776233999700779, 37.227313000753149 ], [ -121.776860999665615, 37.226644000376652 ], [ -121.777159999439021, 37.226320000889181 ], [ -121.777752000068901, 37.225679000625313 ], [ -121.778060999625538, 37.225344000897621 ], [ -121.778360999520061, 37.225044000769785 ], [ -121.778960999986339, 37.224444000846177 ], [ -121.779024999824472, 37.224348000492981 ], [ -121.779063000089792, 37.224290000809248 ], [ -121.779119000361248, 37.224207001069381 ], [ -121.779388000132059, 37.223932000339126 ], [ -121.78246100025207, 37.220744001013493 ], [ -121.782561000092542, 37.220444001089291 ], [ -121.782491999412017, 37.220029000458723 ], [ -121.782460999582852, 37.219844000562929 ], [ -121.782406000183784, 37.21940700112269 ], [ -121.782960999928363, 37.219744000582978 ], [ -121.785461000104959, 37.220344000923035 ], [ -121.786261000183515, 37.22124400110696 ], [ -121.787460999502557, 37.221844000364463 ], [ -121.788761000227723, 37.222344001000053 ], [ -121.788901000097312, 37.222364000732348 ], [ -121.78856100023782, 37.223044000415825 ], [ -121.788461000466711, 37.223244001070157 ], [ -121.788707999542439, 37.223385001027538 ], [ -121.788880999477286, 37.223484000430744 ], [ -121.789024999691151, 37.223567000545202 ], [ -121.78908999963619, 37.223604000604624 ], [ -121.790560999533838, 37.224444000246002 ], [ -121.7907610000604, 37.225044000264901 ], [ -121.790361000490506, 37.22734400066215 ], [ -121.790360999658546, 37.227644000989883 ], [ -121.790414999705476, 37.228508000911134 ], [ -121.790460999668355, 37.229244000669162 ], [ -121.78996100010464, 37.229444000914071 ], [ -121.789760999763033, 37.229544001083603 ], [ -121.78848599992476, 37.231058000272952 ], [ -121.78816100026728, 37.231444000707434 ], [ -121.787761000353257, 37.232144001132383 ], [ -121.787060999851363, 37.232844001056478 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 661, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.792248000203998, 37.249596000523994 ], [ -121.790827999758733, 37.248788000361635 ], [ -121.790334000206741, 37.248507001005066 ], [ -121.790035999448648, 37.248337000472816 ], [ -121.787719000476571, 37.24695400045939 ], [ -121.786691999925992, 37.24634100036409 ], [ -121.786361000351334, 37.246143000834067 ], [ -121.785850999416041, 37.245833000886144 ], [ -121.786046000212565, 37.245635000578119 ], [ -121.786225000298984, 37.245454000328543 ], [ -121.78680099998725, 37.245796000521771 ], [ -121.79047800009856, 37.241921000706128 ], [ -121.790570000027202, 37.241722000808181 ], [ -121.79059999943064, 37.241394000617476 ], [ -121.790599999546743, 37.241158000538107 ], [ -121.790478000362725, 37.240929000727022 ], [ -121.790295000498517, 37.240685001007421 ], [ -121.790251000310562, 37.240619000633572 ], [ -121.7901269999644, 37.240433000640429 ], [ -121.789944000068232, 37.240250000276966 ], [ -121.789822000406573, 37.240242000483619 ], [ -121.789730000220331, 37.240067000947164 ], [ -121.789706999839666, 37.239956000494928 ], [ -121.789654000258395, 37.239708000637087 ], [ -121.789624000102762, 37.23936500079413 ], [ -121.78971499997381, 37.238960000724937 ], [ -121.78989799964053, 37.23860900072409 ], [ -121.789134999774248, 37.238251000774156 ], [ -121.788067000287541, 37.23776300112047 ], [ -121.787381000493227, 37.237358000960249 ], [ -121.78596100030191, 37.236343000566087 ], [ -121.785460999562432, 37.23604300104077 ], [ -121.784468000264866, 37.235501001095244 ], [ -121.786159999504946, 37.233734001114371 ], [ -121.786434999983243, 37.233460000901133 ], [ -121.786770000088737, 37.233353000900003 ], [ -121.78696899956671, 37.233194000355326 ], [ -121.787060999851363, 37.232844001056478 ], [ -121.787761000353257, 37.232144001132383 ], [ -121.78816100026728, 37.231444000707434 ], [ -121.78848599992476, 37.231058000272952 ], [ -121.789760999763033, 37.229544001083603 ], [ -121.78996100010464, 37.229444000914071 ], [ -121.790460999668355, 37.229244000669162 ], [ -121.790414999705476, 37.228508000911134 ], [ -121.790360999658546, 37.227644000989883 ], [ -121.790361000490506, 37.22734400066215 ], [ -121.7907610000604, 37.225044000264901 ], [ -121.790560999533838, 37.224444000246002 ], [ -121.78908999963619, 37.223604000604624 ], [ -121.789024999691151, 37.223567000545202 ], [ -121.788880999477286, 37.223484000430744 ], [ -121.788707999542439, 37.223385001027538 ], [ -121.788461000466711, 37.223244001070157 ], [ -121.78856100023782, 37.223044000415825 ], [ -121.788901000097312, 37.222364000732348 ], [ -121.789461000316464, 37.222444000722341 ], [ -121.790661000125155, 37.222644000654249 ], [ -121.79086099939407, 37.222844001081747 ], [ -121.791161000465095, 37.223344000440399 ], [ -121.791587000307672, 37.225050000981668 ], [ -121.791761000334319, 37.225744000342999 ], [ -121.796661000455444, 37.225844000564081 ], [ -121.797437000261723, 37.226083000673732 ], [ -121.798361999743264, 37.225944000402606 ], [ -121.800361999631733, 37.225644000309828 ], [ -121.802676999547401, 37.224255000831882 ], [ -121.803861999915355, 37.223544000371042 ], [ -121.803861999697503, 37.223944000393551 ], [ -121.803761999413069, 37.224844000665357 ], [ -121.803663000248534, 37.225648000243879 ], [ -121.803662000500978, 37.226144000592043 ], [ -121.803759000233057, 37.226387000699532 ], [ -121.803862000357014, 37.226644000790863 ], [ -121.803861999396162, 37.226991000918382 ], [ -121.803861999618192, 37.227544000350889 ], [ -121.803761999993327, 37.228644000825632 ], [ -121.803862000500246, 37.228944000327687 ], [ -121.803762000022772, 37.230144000433086 ], [ -121.803762000248227, 37.230744000717017 ], [ -121.803862000339663, 37.231344000691635 ], [ -121.803862000305983, 37.232244000475276 ], [ -121.803761999858125, 37.233144000355558 ], [ -121.803762000259837, 37.233644000505755 ], [ -121.803800000488636, 37.235367001004882 ], [ -121.803861000062241, 37.235756000728479 ], [ -121.803861999698057, 37.236943001014083 ], [ -121.803862000023059, 37.23824300088684 ], [ -121.803914999548709, 37.238877000327662 ], [ -121.803962000070584, 37.239443000477507 ], [ -121.803900000152012, 37.239718000842281 ], [ -121.804053000215674, 37.2409050007562 ], [ -121.803965000100234, 37.241131000494704 ], [ -121.803962000253378, 37.241294000641226 ], [ -121.803961999444141, 37.241506000691153 ], [ -121.803961999608106, 37.241725000651691 ], [ -121.803961999518009, 37.241843000386666 ], [ -121.804001000029572, 37.242078000315608 ], [ -121.804044000453317, 37.242333001089044 ], [ -121.803936999832928, 37.24291200035988 ], [ -121.804062000291168, 37.245843000908273 ], [ -121.80406200013438, 37.246243000396433 ], [ -121.804013999818181, 37.248062000593841 ], [ -121.804062000311319, 37.249643000873647 ], [ -121.804061999470179, 37.251543000872182 ], [ -121.803161999519858, 37.253343000446641 ], [ -121.802909000010828, 37.253703000256024 ], [ -121.802361000242385, 37.254408001112729 ], [ -121.802324000507468, 37.254575000494036 ], [ -121.802315999444403, 37.254688000349596 ], [ -121.802375999713476, 37.254801000398672 ], [ -121.802562000141577, 37.255043000862429 ], [ -121.802362000500878, 37.255243000287678 ], [ -121.802262000274794, 37.255343000314738 ], [ -121.80159899943871, 37.254986000607211 ], [ -121.800961999711532, 37.254643000747343 ], [ -121.797196999655569, 37.252515001008604 ], [ -121.796946999867018, 37.252374000724046 ], [ -121.796360999695622, 37.252043000249586 ], [ -121.794226000400414, 37.250819000341465 ], [ -121.793927999765444, 37.250635000744943 ], [ -121.792248000203998, 37.249596000523994 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 658, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.767760000199999, 37.234143000858907 ], [ -121.768160000012756, 37.234143000348837 ], [ -121.768459999875418, 37.234143000431196 ], [ -121.769259999637072, 37.235043000410229 ], [ -121.768959999829335, 37.235343000745083 ], [ -121.768760000508095, 37.235543000533369 ], [ -121.766447999683436, 37.234341000835464 ], [ -121.765541999925077, 37.233870000736182 ], [ -121.758378999713884, 37.230146001052447 ], [ -121.751616000369367, 37.226629000817049 ], [ -121.751393000209944, 37.226513001125745 ], [ -121.751259999414913, 37.226444001005753 ], [ -121.746560000477004, 37.22284400050583 ], [ -121.746960000516438, 37.222744000525019 ], [ -121.748378000349007, 37.22213300062883 ], [ -121.750164999986637, 37.221773000995825 ], [ -121.751063999659394, 37.221645000638482 ], [ -121.75621700042241, 37.220208000239012 ], [ -121.759738999850171, 37.219226000801591 ], [ -121.759674999611534, 37.219059000367047 ], [ -121.759623999723999, 37.218927000368815 ], [ -121.759776000240635, 37.218698001094722 ], [ -121.760173000213797, 37.218438000403715 ], [ -121.760402000104222, 37.218431000989163 ], [ -121.760721999831063, 37.218660000930718 ], [ -121.760997000474518, 37.218530000937562 ], [ -121.760722000496898, 37.218179000450824 ], [ -121.760829000040786, 37.218095000850795 ], [ -121.761318000175365, 37.218225000685806 ], [ -121.762035000076224, 37.21839300083392 ], [ -121.762242999412564, 37.21853800057508 ], [ -121.762858999911089, 37.218965001102156 ], [ -121.763183000487743, 37.219249000726791 ], [ -121.763469000172861, 37.219499000270602 ], [ -121.763682999598103, 37.219529000678207 ], [ -121.76380500007879, 37.219354000296434 ], [ -121.763744000260658, 37.218927000257025 ], [ -121.763911999885607, 37.218522000387658 ], [ -121.764056999848933, 37.218040000998023 ], [ -121.764078999702605, 37.217965000970551 ], [ -121.764186000005722, 37.217515000323544 ], [ -121.764186000005395, 37.217370000563612 ], [ -121.764186000304619, 37.216455000977696 ], [ -121.764311000287933, 37.216185000669242 ], [ -121.764384999672117, 37.216185000285144 ], [ -121.76447799941873, 37.216234000945903 ], [ -121.764551999499304, 37.21634100100804 ], [ -121.764611000282045, 37.21660500090001 ], [ -121.764656999902627, 37.216750000994665 ], [ -121.764725000429848, 37.216793000877331 ], [ -121.764824999416135, 37.216809000920939 ], [ -121.764885999389648, 37.216772001106762 ], [ -121.764963999573624, 37.216752000501316 ], [ -121.765148000310589, 37.216668000398982 ], [ -121.765315000362492, 37.216714000710823 ], [ -121.765726999865407, 37.216996000398964 ], [ -121.765909999603878, 37.216958000962322 ], [ -121.766093999911533, 37.21679000046786 ], [ -121.766321999896306, 37.216653000383367 ], [ -121.766474999632592, 37.21662300073335 ], [ -121.766596999949627, 37.216531000233651 ], [ -121.766749999978501, 37.216264001064872 ], [ -121.766887000318732, 37.216149000681618 ], [ -121.767085000423634, 37.216043000644426 ], [ -121.767420999914521, 37.21591300039038 ], [ -121.767513000010155, 37.215821000356925 ], [ -121.767817999805814, 37.215440000889011 ], [ -121.76813800037408, 37.215066000597353 ], [ -121.768367999746644, 37.21492900103771 ], [ -121.769283999899955, 37.215692001100727 ], [ -121.769298999742844, 37.215867000671693 ], [ -121.769374999869811, 37.216066000803487 ], [ -121.769466999838599, 37.216180000921725 ], [ -121.769847999636141, 37.21646200049198 ], [ -121.769878999953832, 37.216508000392558 ], [ -121.769924999446218, 37.2167290006591 ], [ -121.769986000312329, 37.216844000683842 ], [ -121.770108000063715, 37.216890000989153 ], [ -121.770259999555606, 37.216874000299732 ], [ -121.77038200019156, 37.217050000769035 ], [ -121.770474000408541, 37.217050000505566 ], [ -121.770595999756694, 37.216966000770782 ], [ -121.770810000024966, 37.21711800092546 ], [ -121.771027000241062, 37.218283000949882 ], [ -121.771356000439837, 37.218526000719869 ], [ -121.771326000092955, 37.219433000877984 ], [ -121.771282000095937, 37.220762000816116 ], [ -121.771273999599671, 37.221004000538862 ], [ -121.77130699962008, 37.221058000480106 ], [ -121.772380000147606, 37.221491000329515 ], [ -121.773218999621506, 37.221830000919347 ], [ -121.776128999681433, 37.223005000424557 ], [ -121.779024999824472, 37.224348000492981 ], [ -121.778960999986339, 37.224444000846177 ], [ -121.778160999831471, 37.224144000259116 ], [ -121.777360999671643, 37.22374400086742 ], [ -121.777017999673518, 37.223607000233685 ], [ -121.776361000370969, 37.223344001038264 ], [ -121.775960999790001, 37.223144000475216 ], [ -121.775377999638408, 37.222901000990333 ], [ -121.774761000152012, 37.222644000405076 ], [ -121.774261000396464, 37.222444000543597 ], [ -121.773960999904304, 37.222944000615378 ], [ -121.773461000042872, 37.223544000490442 ], [ -121.772960999503866, 37.224044000238536 ], [ -121.772460999873886, 37.224744000754313 ], [ -121.767360000363325, 37.223644001003166 ], [ -121.767194999650911, 37.224550001105357 ], [ -121.767160000475172, 37.224744000741119 ], [ -121.766759999791816, 37.226044000358975 ], [ -121.766495999811937, 37.226660000894292 ], [ -121.766196000518917, 37.227360000311783 ], [ -121.76585999981323, 37.228144000976052 ], [ -121.765759999687631, 37.22834400070321 ], [ -121.76566000014806, 37.228544000341486 ], [ -121.765628999632909, 37.228598000753401 ], [ -121.765259999601426, 37.229244001093853 ], [ -121.76502800006233, 37.229807000374045 ], [ -121.764688000020627, 37.23063300084219 ], [ -121.764559999542101, 37.230944000745431 ], [ -121.763937999757189, 37.231828000242714 ], [ -121.764759999405058, 37.23234400061822 ], [ -121.767059999549289, 37.233743001047216 ], [ -121.767760000199999, 37.234143000858907 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 697, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.733259999635692, 37.126846000764758 ], [ -121.736360000490606, 37.135746000491231 ], [ -121.735560000158586, 37.139246000983285 ], [ -121.737359999597189, 37.143146000728414 ], [ -121.737898999459688, 37.144195000984901 ], [ -121.739259999941055, 37.146846000998863 ], [ -121.739344999605294, 37.14693800036595 ], [ -121.74158799971643, 37.148814001005285 ], [ -121.745997999925052, 37.150454000503998 ], [ -121.747859999391693, 37.151146001001308 ], [ -121.748035999586349, 37.151232000779409 ], [ -121.748436999886934, 37.151662000796293 ], [ -121.748798000219836, 37.15207100086382 ], [ -121.749160000353044, 37.152692000593767 ], [ -121.749441000482236, 37.153100001011012 ], [ -121.749671000117715, 37.153797000525557 ], [ -121.749992999708212, 37.155945000806689 ], [ -121.750153000092496, 37.156739000683267 ], [ -121.750263000178805, 37.157533000244925 ], [ -121.750283999794576, 37.158016000266208 ], [ -121.750324000442021, 37.15865400025428 ], [ -121.75039399976491, 37.159138000954719 ], [ -121.750514000406582, 37.159526000375919 ], [ -121.75117099969124, 37.161044000731785 ], [ -121.755359999899909, 37.164046000735993 ], [ -121.755660000005207, 37.168245000817606 ], [ -121.756617999802543, 37.169419000432164 ], [ -121.758760000086369, 37.172045000656709 ], [ -121.75925999988894, 37.174645000574856 ], [ -121.759332000150494, 37.175441000847975 ], [ -121.759360000029261, 37.175745000546556 ], [ -121.759760000354163, 37.177845000318491 ], [ -121.75985999945965, 37.178645000313743 ], [ -121.760659999975957, 37.181145000615714 ], [ -121.761259999708642, 37.181645000941522 ], [ -121.761560000084259, 37.182245000415882 ], [ -121.759760000039691, 37.184545000813117 ], [ -121.759260000468032, 37.184845000858843 ], [ -121.760310000067037, 37.186182000693648 ], [ -121.76081400029291, 37.186724000471564 ], [ -121.761302000330673, 37.187113000295795 ], [ -121.76186699996515, 37.187296000934538 ], [ -121.762903999809765, 37.187296000375561 ], [ -121.76328600033905, 37.187319000355501 ], [ -121.763575999729852, 37.188006000835735 ], [ -121.763514999925178, 37.188227000682993 ], [ -121.763010999587522, 37.188715000353845 ], [ -121.762966000360834, 37.189081000610294 ], [ -121.764507000311895, 37.19048500110037 ], [ -121.764934999657953, 37.190638000619693 ], [ -121.766660999665064, 37.191745000259239 ], [ -121.768661000222949, 37.192145001128331 ], [ -121.769961000024438, 37.192045000994021 ], [ -121.776360999895473, 37.194245000282741 ], [ -121.776673999557914, 37.195214000700545 ], [ -121.777283999815282, 37.197107001030808 ], [ -121.777361000423937, 37.197345000594908 ], [ -121.777189000109544, 37.198090000372474 ], [ -121.777060999790507, 37.198644000448731 ], [ -121.777689999710731, 37.200057000781321 ], [ -121.778208999919016, 37.201084000864235 ], [ -121.778413999829269, 37.2018520007056 ], [ -121.77847400019877, 37.202212000274564 ], [ -121.778573999432737, 37.202815000654155 ], [ -121.77866100016567, 37.203344000714218 ], [ -121.779061000091204, 37.204044000561701 ], [ -121.779760999501065, 37.205144000507104 ], [ -121.779561000258141, 37.207244000493219 ], [ -121.7790039994008, 37.207634000938519 ], [ -121.777561000310783, 37.208644000995584 ], [ -121.776360999400524, 37.210344000666126 ], [ -121.77646099973623, 37.211344000236288 ], [ -121.775660999674926, 37.212244000323196 ], [ -121.772761000247129, 37.213144000664535 ], [ -121.771861000134365, 37.214744000517882 ], [ -121.772160999701896, 37.214844000376068 ], [ -121.771661000123544, 37.215344001128415 ], [ -121.771660999538724, 37.215544000759117 ], [ -121.77093200024801, 37.216333000911582 ], [ -121.770535000323889, 37.216539001085998 ], [ -121.770810000024966, 37.21711800092546 ], [ -121.770595999756694, 37.216966000770782 ], [ -121.770474000408541, 37.217050000505566 ], [ -121.77038200019156, 37.217050000769035 ], [ -121.770259999555606, 37.216874000299732 ], [ -121.770108000063715, 37.216890000989153 ], [ -121.769986000312329, 37.216844000683842 ], [ -121.769924999446218, 37.2167290006591 ], [ -121.769878999953832, 37.216508000392558 ], [ -121.769847999636141, 37.21646200049198 ], [ -121.769466999838599, 37.216180000921725 ], [ -121.769374999869811, 37.216066000803487 ], [ -121.769298999742844, 37.215867000671693 ], [ -121.769283999899955, 37.215692001100727 ], [ -121.768367999746644, 37.21492900103771 ], [ -121.76813800037408, 37.215066000597353 ], [ -121.767817999805814, 37.215440000889011 ], [ -121.767513000010155, 37.215821000356925 ], [ -121.767420999914521, 37.21591300039038 ], [ -121.767085000423634, 37.216043000644426 ], [ -121.766887000318732, 37.216149000681618 ], [ -121.766749999978501, 37.216264001064872 ], [ -121.766596999949627, 37.216531000233651 ], [ -121.766474999632592, 37.21662300073335 ], [ -121.766321999896306, 37.216653000383367 ], [ -121.766093999911533, 37.21679000046786 ], [ -121.765909999603878, 37.216958000962322 ], [ -121.765726999865407, 37.216996000398964 ], [ -121.765315000362492, 37.216714000710823 ], [ -121.765148000310589, 37.216668000398982 ], [ -121.764963999573624, 37.216752000501316 ], [ -121.764885999389648, 37.216772001106762 ], [ -121.764824999416135, 37.216809000920939 ], [ -121.764725000429848, 37.216793000877331 ], [ -121.764656999902627, 37.216750000994665 ], [ -121.764611000282045, 37.21660500090001 ], [ -121.764551999499304, 37.21634100100804 ], [ -121.76447799941873, 37.216234000945903 ], [ -121.764384999672117, 37.216185000285144 ], [ -121.764311000287933, 37.216185000669242 ], [ -121.764186000304619, 37.216455000977696 ], [ -121.764186000005395, 37.217370000563612 ], [ -121.764186000005722, 37.217515000323544 ], [ -121.764078999702605, 37.217965000970551 ], [ -121.764056999848933, 37.218040000998023 ], [ -121.763911999885607, 37.218522000387658 ], [ -121.763744000260658, 37.218927000257025 ], [ -121.76380500007879, 37.219354000296434 ], [ -121.763682999598103, 37.219529000678207 ], [ -121.763469000172861, 37.219499000270602 ], [ -121.763183000487743, 37.219249000726791 ], [ -121.762858999911089, 37.218965001102156 ], [ -121.762242999412564, 37.21853800057508 ], [ -121.762035000076224, 37.21839300083392 ], [ -121.761318000175365, 37.218225000685806 ], [ -121.760829000040786, 37.218095000850795 ], [ -121.760722000496898, 37.218179000450824 ], [ -121.760997000474518, 37.218530000937562 ], [ -121.760721999831063, 37.218660000930718 ], [ -121.760402000104222, 37.218431000989163 ], [ -121.760173000213797, 37.218438000403715 ], [ -121.759776000240635, 37.218698001094722 ], [ -121.759623999723999, 37.218927000368815 ], [ -121.759674999611534, 37.219059000367047 ], [ -121.759738999850171, 37.219226000801591 ], [ -121.75621700042241, 37.220208000239012 ], [ -121.751063999659394, 37.221645000638482 ], [ -121.750164999986637, 37.221773000995825 ], [ -121.748378000349007, 37.22213300062883 ], [ -121.746960000516438, 37.222744000525019 ], [ -121.746560000477004, 37.22284400050583 ], [ -121.751259999414913, 37.226444001005753 ], [ -121.751393000209944, 37.226513001125745 ], [ -121.750859999805598, 37.226744000684199 ], [ -121.750059999970532, 37.22714400065265 ], [ -121.749781999439222, 37.227479001078649 ], [ -121.749338999568764, 37.227739001056449 ], [ -121.749084999548998, 37.22787300070194 ], [ -121.747469999510812, 37.228728000754266 ], [ -121.746744999497253, 37.229112000653402 ], [ -121.74654699977674, 37.229333000714199 ], [ -121.74647900026936, 37.229365000797948 ], [ -121.746582000191353, 37.230016001120049 ], [ -121.746760000451459, 37.231143000948528 ], [ -121.746259999528718, 37.23194300059594 ], [ -121.744959999515743, 37.232543001023828 ], [ -121.742959000511561, 37.232743000853773 ], [ -121.741758999454873, 37.233943000455589 ], [ -121.741158999724163, 37.233843001080714 ], [ -121.741058999821888, 37.234443000333556 ], [ -121.739758999872109, 37.234843000264839 ], [ -121.737559000196541, 37.234443000634251 ], [ -121.736858999714144, 37.235043000652958 ], [ -121.736337000372387, 37.234968001065504 ], [ -121.736158999667154, 37.234943000652763 ], [ -121.729059000431803, 37.235143000690343 ], [ -121.727058999890417, 37.237443000321491 ], [ -121.724408000467577, 37.237357000701159 ], [ -121.72395899974255, 37.237343000541138 ], [ -121.719758999681048, 37.236443000519508 ], [ -121.719734000159136, 37.23645000047312 ], [ -121.71862099956445, 37.235587001024051 ], [ -121.716180000040453, 37.233696000304469 ], [ -121.70115799945323, 37.22054300067331 ], [ -121.683827000468085, 37.205764001114822 ], [ -121.681457000216398, 37.20374300026878 ], [ -121.680956999419976, 37.203443000776119 ], [ -121.678465000260061, 37.201342000576759 ], [ -121.677110999495582, 37.200201000399801 ], [ -121.674044999896594, 37.19761800081077 ], [ -121.673956999879479, 37.197543000644536 ], [ -121.673443000332469, 37.197105000589076 ], [ -121.671219999747777, 37.195210000811208 ], [ -121.652255999973391, 37.17904400054762 ], [ -121.638555999834537, 37.174144000368521 ], [ -121.637655999461401, 37.172744000915138 ], [ -121.63805599942495, 37.171544000414478 ], [ -121.636915999834287, 37.167554000310531 ], [ -121.636888999604807, 37.167460000876453 ], [ -121.636855999611186, 37.16734400081026 ], [ -121.637355999835165, 37.166244001002347 ], [ -121.638355999928578, 37.166044000599221 ], [ -121.639237999425802, 37.165739000414938 ], [ -121.64355600018969, 37.164244000899913 ], [ -121.645556000513949, 37.164944000804248 ], [ -121.645956000001831, 37.165544000291156 ], [ -121.64825599956697, 37.166544000769889 ], [ -121.64967999947676, 37.168126000765945 ], [ -121.649776000040433, 37.168233000647092 ], [ -121.650055999757043, 37.168544001025282 ], [ -121.65275599961312, 37.168344000429755 ], [ -121.655556000500439, 37.164744001028424 ], [ -121.658055999551166, 37.164844000921583 ], [ -121.659055999627469, 37.165444000769952 ], [ -121.659856000055171, 37.164844000377819 ], [ -121.662195999732674, 37.163090000871776 ], [ -121.662621000272068, 37.162645000950192 ], [ -121.662955999545204, 37.162461000391751 ], [ -121.667839000309499, 37.166803000645558 ], [ -121.668389000322691, 37.166444000777709 ], [ -121.668433000107356, 37.166417000450913 ], [ -121.669045000430415, 37.16604700099613 ], [ -121.669502000500316, 37.165739000552072 ], [ -121.672457000103392, 37.163744000611388 ], [ -121.672503000041232, 37.163712000614439 ], [ -121.67345699984422, 37.163044001114017 ], [ -121.679856999966958, 37.15854500062693 ], [ -121.680116999554059, 37.158377000365569 ], [ -121.682756999805761, 37.156628000620543 ], [ -121.686957999410751, 37.153845000306561 ], [ -121.688774999407713, 37.151850000444675 ], [ -121.691338999483008, 37.15063700080723 ], [ -121.695857999962925, 37.145245000979152 ], [ -121.699158000122964, 37.14524500108309 ], [ -121.697857999504365, 37.144045000491282 ], [ -121.698158000099014, 37.141245000276776 ], [ -121.697958000169081, 37.139345000353998 ], [ -121.700058000018615, 37.136146000660574 ], [ -121.699958000381613, 37.13384600056861 ], [ -121.701057999468361, 37.131346000441035 ], [ -121.702261999904408, 37.130382000720317 ], [ -121.703440999433383, 37.129439000502757 ], [ -121.704058000486683, 37.128946000750283 ], [ -121.70625799963851, 37.126146000227173 ], [ -121.707639000067616, 37.12494600099199 ], [ -121.708040999985016, 37.124596000520157 ], [ -121.708423000333568, 37.124264000833037 ], [ -121.708558999842722, 37.124146000886952 ], [ -121.713158999742177, 37.12354600103216 ], [ -121.713491000327622, 37.123712000486599 ], [ -121.7149589999227, 37.124446000467046 ], [ -121.715758999561189, 37.124946000308952 ], [ -121.716558999554124, 37.125446001107939 ], [ -121.719658999886434, 37.127046000833005 ], [ -121.723758999451377, 37.127246001100993 ], [ -121.728559000322775, 37.12614600034734 ], [ -121.732560000305384, 37.126546000271681 ], [ -121.733259999635692, 37.126846000764758 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 703, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.705157999670391, 37.125746000943622 ], [ -121.70625799963851, 37.126146000227173 ], [ -121.704058000486683, 37.128946000750283 ], [ -121.703440999433383, 37.129439000502757 ], [ -121.702261999904408, 37.130382000720317 ], [ -121.701057999468361, 37.131346000441035 ], [ -121.699958000381613, 37.13384600056861 ], [ -121.700058000018615, 37.136146000660574 ], [ -121.697958000169081, 37.139345000353998 ], [ -121.698158000099014, 37.141245000276776 ], [ -121.697857999504365, 37.144045000491282 ], [ -121.699158000122964, 37.14524500108309 ], [ -121.695857999962925, 37.145245000979152 ], [ -121.691338999483008, 37.15063700080723 ], [ -121.688774999407713, 37.151850000444675 ], [ -121.686957999410751, 37.153845000306561 ], [ -121.682756999805761, 37.156628000620543 ], [ -121.680116999554059, 37.158377000365569 ], [ -121.679856999966958, 37.15854500062693 ], [ -121.676957000271102, 37.155845000686526 ], [ -121.67625700023126, 37.154945000634271 ], [ -121.674856999757878, 37.153745000409394 ], [ -121.671556999475072, 37.150545000676665 ], [ -121.666157999984065, 37.145810000376088 ], [ -121.665057000349819, 37.144845000976552 ], [ -121.663556999948668, 37.143745000838656 ], [ -121.662825999779486, 37.141796000913835 ], [ -121.662656999662673, 37.141345000525043 ], [ -121.662996000226556, 37.141691000257303 ], [ -121.663557000315009, 37.141345001061772 ], [ -121.664589000339873, 37.140650001054993 ], [ -121.665519999422173, 37.139979000586465 ], [ -121.666017999971245, 37.139704000852888 ], [ -121.66651100028362, 37.139375000234125 ], [ -121.667457000428442, 37.138745000525766 ], [ -121.668067999610358, 37.138287001088131 ], [ -121.668657000084266, 37.137845000922134 ], [ -121.67015699985005, 37.136845000488584 ], [ -121.670856000212581, 37.136415000803218 ], [ -121.671456999883745, 37.136045000419102 ], [ -121.671590000443871, 37.135960000699804 ], [ -121.672455999885941, 37.135345001094294 ], [ -121.672905999609327, 37.135026000415664 ], [ -121.673064999884573, 37.134919000478362 ], [ -121.671742999419422, 37.13307800033391 ], [ -121.671398999549041, 37.132599001007101 ], [ -121.671333000395066, 37.132379000805166 ], [ -121.671354000364545, 37.132111000642865 ], [ -121.671403999951778, 37.1317300006843 ], [ -121.672031000041713, 37.129013000898645 ], [ -121.672949999538588, 37.125031000673765 ], [ -121.673123000068998, 37.123302000513462 ], [ -121.673269999870385, 37.122240001107805 ], [ -121.6732829995223, 37.12145100032722 ], [ -121.67330999986855, 37.120253000737378 ], [ -121.673277999831484, 37.119029000678395 ], [ -121.673280000342231, 37.118712000830868 ], [ -121.67325400038473, 37.118616000869174 ], [ -121.673262999429298, 37.1172630008044 ], [ -121.673100000267226, 37.117450001126521 ], [ -121.672979000082123, 37.117541000758614 ], [ -121.67262199995227, 37.117840000874892 ], [ -121.672479000117704, 37.118000000511287 ], [ -121.672177000009938, 37.118015000369248 ], [ -121.671787999546154, 37.11793300024128 ], [ -121.671654000235804, 37.117900000767115 ], [ -121.671682000416141, 37.117847000972333 ], [ -121.671897000302394, 37.117713001071124 ], [ -121.672099000348709, 37.117558000411115 ], [ -121.672234000288412, 37.117484000384742 ], [ -121.672268000276432, 37.11739800040106 ], [ -121.672228000150341, 37.117333000664111 ], [ -121.672135000142774, 37.117253000819943 ], [ -121.672054000069707, 37.1172360005949 ], [ -121.67179300037111, 37.117273000367213 ], [ -121.671705000418797, 37.117283000991414 ], [ -121.671397999771813, 37.117158000617216 ], [ -121.671272000458643, 37.116852000341375 ], [ -121.670946000032359, 37.116550000559009 ], [ -121.670583000118782, 37.116446001041872 ], [ -121.670281999914181, 37.116407000630169 ], [ -121.669349999784529, 37.116366000852103 ], [ -121.668026000052365, 37.116462000299045 ], [ -121.667174000046572, 37.116534000445832 ], [ -121.665941999442055, 37.116659000786171 ], [ -121.664312000489844, 37.116769000907354 ], [ -121.66175700026281, 37.117246000266988 ], [ -121.661657000484439, 37.115646000516627 ], [ -121.661656999571107, 37.110046000247451 ], [ -121.661656999919089, 37.108546000393083 ], [ -121.662056999965941, 37.104946000634179 ], [ -121.661721999686605, 37.105058000969812 ], [ -121.661456999917206, 37.105146000621538 ], [ -121.657756000326302, 37.106046000241378 ], [ -121.656856000169668, 37.105246000516004 ], [ -121.656569999862214, 37.105049000270192 ], [ -121.656256999459131, 37.104833000934754 ], [ -121.65621000006999, 37.104800000370076 ], [ -121.656132999787403, 37.104747001081954 ], [ -121.65589099998715, 37.104580000344555 ], [ -121.655510999471574, 37.104318000228766 ], [ -121.654839000334832, 37.103854000551301 ], [ -121.653639000036819, 37.103025000834144 ], [ -121.652873000446704, 37.102496000916631 ], [ -121.652655999758238, 37.10234600059897 ], [ -121.652258000481368, 37.102005000525054 ], [ -121.651256000287688, 37.101146000368367 ], [ -121.650896000060229, 37.100516000773979 ], [ -121.650738999952992, 37.100242001035937 ], [ -121.65045600031408, 37.099746000775511 ], [ -121.650224999722013, 37.099383000579508 ], [ -121.649755999652953, 37.098646000960606 ], [ -121.64915599955377, 37.097946000448374 ], [ -121.648930999711013, 37.097586000920472 ], [ -121.648656000371815, 37.097146000619013 ], [ -121.648579999815453, 37.097046001078617 ], [ -121.64645600017829, 37.09424600039506 ], [ -121.646255999844684, 37.093946000737517 ], [ -121.645748999496575, 37.093533001122175 ], [ -121.645092000432555, 37.093326000960516 ], [ -121.643797000372885, 37.093087000490847 ], [ -121.642889999802748, 37.093028000587204 ], [ -121.64211000034318, 37.092899000248266 ], [ -121.641411999718812, 37.092685000609833 ], [ -121.640632000235485, 37.092364001101913 ], [ -121.640135000063708, 37.091978000641561 ], [ -121.639650999756995, 37.091496001090114 ], [ -121.638955999590863, 37.090846000778733 ], [ -121.639756000183269, 37.091046000632332 ], [ -121.640355999578333, 37.091046000441011 ], [ -121.64421500007289, 37.090564000978056 ], [ -121.644356000131125, 37.090546000450956 ], [ -121.644605999744059, 37.090510000851637 ], [ -121.645055999541199, 37.090446000651376 ], [ -121.645101999691988, 37.090416000844819 ], [ -121.651763999451461, 37.086054000920505 ], [ -121.653455999953806, 37.08494600081216 ], [ -121.65425599984863, 37.084847000451319 ], [ -121.661557000463134, 37.089546000563324 ], [ -121.66247899947615, 37.090484000225231 ], [ -121.663184000002602, 37.091112000973837 ], [ -121.665131000168287, 37.091673000972321 ], [ -121.666042000444222, 37.092070000803965 ], [ -121.666954000010463, 37.09230100112498 ], [ -121.667492000429874, 37.092599000471225 ], [ -121.668320999900075, 37.094185000359943 ], [ -121.668652000305613, 37.094482000739681 ], [ -121.669397999838509, 37.094681000307354 ], [ -121.671054999839782, 37.095672000263583 ], [ -121.671344999464509, 37.096036000554875 ], [ -121.671303999858893, 37.096763000332871 ], [ -121.671856999693404, 37.098846000688141 ], [ -121.67325700004686, 37.103046000253386 ], [ -121.676357000196134, 37.106046000418644 ], [ -121.677215999746196, 37.106665000646352 ], [ -121.677257000099573, 37.106746000999756 ], [ -121.677462000260732, 37.106843000362396 ], [ -121.678856999556274, 37.10784600040941 ], [ -121.680254999632126, 37.109244001057633 ], [ -121.68425799988367, 37.113246000839261 ], [ -121.684451999679638, 37.113325000269612 ], [ -121.687877000417004, 37.114711000950457 ], [ -121.68845800010628, 37.114946001019419 ], [ -121.687957999870292, 37.115946000689988 ], [ -121.687857999865898, 37.116446000664908 ], [ -121.692827000182305, 37.116836000570956 ], [ -121.692946999472426, 37.116859000574472 ], [ -121.69421500017441, 37.117621000701305 ], [ -121.69449999979166, 37.118257000507604 ], [ -121.694926999818463, 37.118302000363308 ], [ -121.696310000195055, 37.118312000432255 ], [ -121.697803000228163, 37.118665000617476 ], [ -121.699597999876417, 37.118733000478151 ], [ -121.700764999445823, 37.118870000829538 ], [ -121.701391999499478, 37.119369001031039 ], [ -121.705157999670391, 37.125746000943622 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 702, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.661456999917206, 37.105146000621538 ], [ -121.661721999686605, 37.105058000969812 ], [ -121.662056999965941, 37.104946000634179 ], [ -121.661656999919089, 37.108546000393083 ], [ -121.661656999571107, 37.110046000247451 ], [ -121.661657000484439, 37.115646000516627 ], [ -121.66175700026281, 37.117246000266988 ], [ -121.664312000489844, 37.116769000907354 ], [ -121.665941999442055, 37.116659000786171 ], [ -121.667174000046572, 37.116534000445832 ], [ -121.668026000052365, 37.116462000299045 ], [ -121.669349999784529, 37.116366000852103 ], [ -121.670281999914181, 37.116407000630169 ], [ -121.670583000118782, 37.116446001041872 ], [ -121.670946000032359, 37.116550000559009 ], [ -121.671272000458643, 37.116852000341375 ], [ -121.671397999771813, 37.117158000617216 ], [ -121.671705000418797, 37.117283000991414 ], [ -121.67179300037111, 37.117273000367213 ], [ -121.672054000069707, 37.1172360005949 ], [ -121.672135000142774, 37.117253000819943 ], [ -121.672228000150341, 37.117333000664111 ], [ -121.672268000276432, 37.11739800040106 ], [ -121.672234000288412, 37.117484000384742 ], [ -121.672099000348709, 37.117558000411115 ], [ -121.671897000302394, 37.117713001071124 ], [ -121.671682000416141, 37.117847000972333 ], [ -121.671654000235804, 37.117900000767115 ], [ -121.671787999546154, 37.11793300024128 ], [ -121.672177000009938, 37.118015000369248 ], [ -121.672479000117704, 37.118000000511287 ], [ -121.67262199995227, 37.117840000874892 ], [ -121.672979000082123, 37.117541000758614 ], [ -121.673100000267226, 37.117450001126521 ], [ -121.673262999429298, 37.1172630008044 ], [ -121.67325400038473, 37.118616000869174 ], [ -121.673280000342231, 37.118712000830868 ], [ -121.673277999831484, 37.119029000678395 ], [ -121.67330999986855, 37.120253000737378 ], [ -121.6732829995223, 37.12145100032722 ], [ -121.673269999870385, 37.122240001107805 ], [ -121.673123000068998, 37.123302000513462 ], [ -121.672949999538588, 37.125031000673765 ], [ -121.672031000041713, 37.129013000898645 ], [ -121.671403999951778, 37.1317300006843 ], [ -121.671354000364545, 37.132111000642865 ], [ -121.671333000395066, 37.132379000805166 ], [ -121.671398999549041, 37.132599001007101 ], [ -121.671742999419422, 37.13307800033391 ], [ -121.673064999884573, 37.134919000478362 ], [ -121.672905999609327, 37.135026000415664 ], [ -121.672455999885941, 37.135345001094294 ], [ -121.671590000443871, 37.135960000699804 ], [ -121.671456999883745, 37.136045000419102 ], [ -121.670856000212581, 37.136415000803218 ], [ -121.67015699985005, 37.136845000488584 ], [ -121.668657000084266, 37.137845000922134 ], [ -121.668067999610358, 37.138287001088131 ], [ -121.667457000428442, 37.138745000525766 ], [ -121.66651100028362, 37.139375000234125 ], [ -121.666017999971245, 37.139704000852888 ], [ -121.665519999422173, 37.139979000586465 ], [ -121.664589000339873, 37.140650001054993 ], [ -121.663557000315009, 37.141345001061772 ], [ -121.662996000226556, 37.141691000257303 ], [ -121.662656999662673, 37.141345000525043 ], [ -121.654856000180146, 37.133845001086748 ], [ -121.652656000199627, 37.131745000255577 ], [ -121.647255999416927, 37.12644500049187 ], [ -121.647855999838896, 37.126245000949233 ], [ -121.648556000501571, 37.125945001098714 ], [ -121.648010999590767, 37.124945000477162 ], [ -121.647956000475148, 37.124845000531842 ], [ -121.646956000463149, 37.123145000802637 ], [ -121.64615599987988, 37.121945000970221 ], [ -121.64495600007325, 37.119845001018895 ], [ -121.644152000257648, 37.119402000381697 ], [ -121.643657999626654, 37.118578000982367 ], [ -121.643254000302008, 37.117892000565028 ], [ -121.64175599987837, 37.115245000654227 ], [ -121.64128899952658, 37.114344000356049 ], [ -121.641027000180941, 37.113838000793287 ], [ -121.642197000076848, 37.113439000300424 ], [ -121.643198999757402, 37.113261000583336 ], [ -121.64447700033206, 37.113268000921131 ], [ -121.644955999574009, 37.113046000896624 ], [ -121.645804999599363, 37.112583000344117 ], [ -121.647180000493023, 37.111837000662788 ], [ -121.647402000288736, 37.111714000959083 ], [ -121.647530999531213, 37.111648000764475 ], [ -121.648511000041651, 37.11114100054585 ], [ -121.656255999775297, 37.106946000750959 ], [ -121.657455999516586, 37.106346000689157 ], [ -121.657756000326302, 37.106046000241378 ], [ -121.661456999917206, 37.105146000621538 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 704, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.733459999480303, 36.992650000343197 ], [ -121.733030999907058, 36.992626000464782 ], [ -121.732462000097485, 36.9926520008745 ], [ -121.732245000078422, 36.992688000990569 ], [ -121.732061999851553, 36.992652000933894 ], [ -121.731262999525171, 36.99265200048697 ], [ -121.730642999609003, 36.992900001014277 ], [ -121.730093999814741, 36.993290000956748 ], [ -121.729754000274554, 36.993525000876161 ], [ -121.729623999484033, 36.993824000513449 ], [ -121.729623999814478, 36.99451400044741 ], [ -121.728984000027339, 36.995334000501195 ], [ -121.728774999970739, 36.99598500075183 ], [ -121.728346000202933, 36.996820000573123 ], [ -121.728959999424262, 36.997250000929988 ], [ -121.729623999905499, 36.997872000340294 ], [ -121.718762000361977, 37.007557000447065 ], [ -121.721481000224912, 37.0085070004397 ], [ -121.721761999941307, 37.008607000627727 ], [ -121.722649999663147, 37.008924000295835 ], [ -121.726565999605, 37.012054000824222 ], [ -121.727814999994223, 37.009862000404262 ], [ -121.736185999518611, 37.015342000857629 ], [ -121.731313000437552, 37.022417000534624 ], [ -121.730438999797357, 37.022218000405303 ], [ -121.730814000013964, 37.020324000549302 ], [ -121.728690000362477, 37.019926000652106 ], [ -121.728315000382111, 37.02092200098155 ], [ -121.726040999888937, 37.020679000918484 ], [ -121.72616000038731, 37.020949000928582 ], [ -121.734683000312685, 37.024917001101514 ], [ -121.737880000195716, 37.026406000666327 ], [ -121.738555999600393, 37.026721000419649 ], [ -121.739243000016714, 37.027041000519695 ], [ -121.739259999777403, 37.02704900061498 ], [ -121.74465999965463, 37.03384900095692 ], [ -121.746361000259398, 37.034749000772216 ], [ -121.747760999437261, 37.037749000577996 ], [ -121.754361000109839, 37.046049000559726 ], [ -121.755382999467955, 37.048161000499555 ], [ -121.755861000361691, 37.049149000399098 ], [ -121.757760999501784, 37.049849000630708 ], [ -121.75846099951292, 37.049049000986258 ], [ -121.760760999813158, 37.047949000259116 ], [ -121.763061000015625, 37.048349000666619 ], [ -121.765060999503547, 37.049549000905408 ], [ -121.763661000387629, 37.050649000533568 ], [ -121.764760999420815, 37.052549000475459 ], [ -121.77196199972353, 37.052849001063009 ], [ -121.776462000124695, 37.054949000802289 ], [ -121.77915799990123, 37.056059000939214 ], [ -121.781561999835148, 37.057049000781475 ], [ -121.785168999945128, 37.060895000558368 ], [ -121.792233999809937, 37.063932000453853 ], [ -121.794435000502105, 37.063132000456264 ], [ -121.800134999501452, 37.067432000648978 ], [ -121.802917000180159, 37.067790000806106 ], [ -121.803573999589162, 37.068347001042753 ], [ -121.803964999707318, 37.06849700044728 ], [ -121.804365999477184, 37.068542000463793 ], [ -121.805277999758829, 37.068481000561292 ], [ -121.806020000077169, 37.068189000483514 ], [ -121.807135000016075, 37.068332000707635 ], [ -121.807734999865843, 37.068732000289287 ], [ -121.807746999777663, 37.068745000719467 ], [ -121.809316999539661, 37.069555001110558 ], [ -121.810279000276921, 37.069868000629938 ], [ -121.810420000024394, 37.070076001047134 ], [ -121.811091000325931, 37.0710400007681 ], [ -121.811150999724006, 37.07120900047866 ], [ -121.811362000119203, 37.071925000894232 ], [ -121.811362000341887, 37.072185000817989 ], [ -121.811376000340701, 37.072860000452934 ], [ -121.810505000449794, 37.071872000388112 ], [ -121.81031900047914, 37.072702000598234 ], [ -121.810298999454034, 37.073294000969007 ], [ -121.810509000399378, 37.073913000725334 ], [ -121.81093000040876, 37.07444300089881 ], [ -121.811215999575865, 37.07468700023167 ], [ -121.811521999787274, 37.074948001005509 ], [ -121.812494000268913, 37.075576000247345 ], [ -121.813405999878086, 37.07603700046031 ], [ -121.814530999954712, 37.076440000254216 ], [ -121.814708000133066, 37.076640000516917 ], [ -121.815111000223851, 37.076535000577678 ], [ -121.816613999472963, 37.077525000767181 ], [ -121.81656400018656, 37.078917000231726 ], [ -121.816414000188587, 37.079034001102322 ], [ -121.815221999471618, 37.080085000290794 ], [ -121.815115000059976, 37.079997000584505 ], [ -121.815289999712718, 37.081367000485599 ], [ -121.815910999408075, 37.081915000955398 ], [ -121.816371999862227, 37.08234900045349 ], [ -121.816953000059485, 37.08280900038875 ], [ -121.818195999426223, 37.083155000549027 ], [ -121.818355999489043, 37.083323000981487 ], [ -121.818677000474281, 37.083862000469203 ], [ -121.818938000254164, 37.084340001098191 ], [ -121.819228000226659, 37.084800000961792 ], [ -121.819920000439211, 37.085684000762129 ], [ -121.820571999847914, 37.086489000380368 ], [ -121.820952999980392, 37.086737000283563 ], [ -121.821544000308009, 37.08694100052243 ], [ -121.821754999460012, 37.087206001037273 ], [ -121.821864999693346, 37.08745300049187 ], [ -121.821944999980346, 37.087798000587398 ], [ -121.822235999762398, 37.088161000404291 ], [ -121.823006999831037, 37.088277000313013 ], [ -121.823779000159064, 37.0883660007839 ], [ -121.824560999813485, 37.088270000236811 ], [ -121.825111999452247, 37.088377000990832 ], [ -121.825622999696222, 37.088368000506819 ], [ -121.826272999521294, 37.088104000367338 ], [ -121.827154999574347, 37.088176000407138 ], [ -121.82775799950474, 37.089006000557475 ], [ -121.828974999879009, 37.088324000571106 ], [ -121.829263999876744, 37.088348000541707 ], [ -121.829314000117392, 37.088358001014434 ], [ -121.829526000020266, 37.088287001090578 ], [ -121.829968000128403, 37.088429000837152 ], [ -121.83042899992995, 37.088492000305209 ], [ -121.831290999436831, 37.088166000604218 ], [ -121.831731999514432, 37.088243000899062 ], [ -121.832022000047075, 37.088619001106963 ], [ -121.832111000378063, 37.089208000632603 ], [ -121.832099999826681, 37.089197000938498 ], [ -121.831986999931402, 37.089957000504896 ], [ -121.832197000183726, 37.090240000351784 ], [ -121.832637999466641, 37.090603000877493 ], [ -121.833189000088694, 37.090966000599408 ], [ -121.833919000020416, 37.091091000740569 ], [ -121.83416399986983, 37.091347000720575 ], [ -121.835164000462797, 37.091047000574029 ], [ -121.835664000037127, 37.091847000414525 ], [ -121.836744000077374, 37.091847001093207 ], [ -121.837636000054729, 37.09119400092316 ], [ -121.838263999767932, 37.091847000430214 ], [ -121.838467999401985, 37.091869000502548 ], [ -121.838677999415154, 37.091920000437511 ], [ -121.838749000361943, 37.092115000444288 ], [ -121.838778999514815, 37.092310000891295 ], [ -121.838617999440714, 37.092493001053391 ], [ -121.838538000316447, 37.092597000855335 ], [ -121.83838900051056, 37.092660000617599 ], [ -121.838463999936124, 37.093147000732145 ], [ -121.839895000028491, 37.093568001023861 ], [ -121.8400219994667, 37.093322000942571 ], [ -121.840272000191078, 37.093373000894502 ], [ -121.840362999652243, 37.093516000335072 ], [ -121.840391000037783, 37.093789000482403 ], [ -121.840619999427943, 37.09393200077416 ], [ -121.840889999412951, 37.094101000566354 ], [ -121.840836000426876, 37.09424500051842 ], [ -121.840926000289755, 37.094643000356506 ], [ -121.841035999951615, 37.094767000977441 ], [ -121.841417000307914, 37.094829000262187 ], [ -121.841763999959781, 37.094647000331037 ], [ -121.842457999565568, 37.094647000840062 ], [ -121.84251800008154, 37.094526000595913 ], [ -121.842767999867291, 37.094356000854731 ], [ -121.843299999890078, 37.094290000962076 ], [ -121.843910999796719, 37.094588000893815 ], [ -121.844000999570753, 37.094860000266941 ], [ -121.843970999511981, 37.094926000533157 ], [ -121.84390100036822, 37.09520900064156 ], [ -121.8439050003619, 37.09527100036528 ], [ -121.843672000316673, 37.095583000979886 ], [ -121.843452, 37.095786000793368 ], [ -121.843350999903336, 37.095945000245884 ], [ -121.843441999438141, 37.096166000762899 ], [ -121.843496000346178, 37.09616600107892 ], [ -121.843831999915992, 37.096166000430053 ], [ -121.843963999519133, 37.09614700105606 ], [ -121.844014000107606, 37.096161001094082 ], [ -121.843893000467801, 37.096679000568521 ], [ -121.843933000467118, 37.096873001114034 ], [ -121.844202999674806, 37.096891000908876 ], [ -121.844553999690746, 37.096821001038705 ], [ -121.845021000359992, 37.096449000350596 ], [ -121.845364999884737, 37.096547000792832 ], [ -121.84546500039707, 37.09744700072735 ], [ -121.843664000174996, 37.09764700053357 ], [ -121.842981999478297, 37.100603000776509 ], [ -121.842763999842973, 37.101547000941231 ], [ -121.848264999665744, 37.105447001106086 ], [ -121.848165000284268, 37.105947000457455 ], [ -121.847764999453346, 37.10614700059422 ], [ -121.844564000227763, 37.106547000736967 ], [ -121.841964000195034, 37.109447000474162 ], [ -121.845663999958234, 37.108247000641626 ], [ -121.844264000335357, 37.110947000295532 ], [ -121.841163999879214, 37.110947000904808 ], [ -121.83797699990501, 37.111434001006998 ], [ -121.832664000292695, 37.112247000644459 ], [ -121.829463999458312, 37.117347000339613 ], [ -121.828863999757374, 37.122647000533341 ], [ -121.829231999773597, 37.124947000288607 ], [ -121.829264000429603, 37.1251460004476 ], [ -121.826463000318498, 37.127546000570206 ], [ -121.824063000368142, 37.134746000798586 ], [ -121.82366300020486, 37.138546000251928 ], [ -121.822263000426446, 37.140446001100464 ], [ -121.817063000410187, 37.142546000600127 ], [ -121.817044999533877, 37.142603001055477 ], [ -121.814637999575439, 37.150227000769767 ], [ -121.814062999925696, 37.152046000986807 ], [ -121.81176300033043, 37.15284600048976 ], [ -121.805862000124193, 37.152846000835964 ], [ -121.800761999523743, 37.159946000952154 ], [ -121.802462000224921, 37.164545000799784 ], [ -121.803362000095134, 37.16594500099594 ], [ -121.799261999503472, 37.168245000235629 ], [ -121.797125000042271, 37.171222000655511 ], [ -121.796773000196396, 37.171712001015059 ], [ -121.796461999992843, 37.172145000842811 ], [ -121.794861999764123, 37.172145000544553 ], [ -121.790061999969154, 37.172345000263277 ], [ -121.788062000219512, 37.172145000832792 ], [ -121.786121999459112, 37.173768001112101 ], [ -121.78376100029611, 37.175745000682646 ], [ -121.784860999781728, 37.175545000566999 ], [ -121.785361000326361, 37.179045000934501 ], [ -121.777061000312187, 37.178345000569777 ], [ -121.782660999982184, 37.179845000614975 ], [ -121.782853000112354, 37.181378001031796 ], [ -121.779271000473827, 37.183423000874043 ], [ -121.776161000167193, 37.182645000403788 ], [ -121.776627000130105, 37.183460001056417 ], [ -121.776960999902599, 37.184045000239259 ], [ -121.77466099980613, 37.183245000880902 ], [ -121.773441999758887, 37.183173000278366 ], [ -121.772960999567204, 37.183145000395214 ], [ -121.773255000263305, 37.182263000825117 ], [ -121.773380999917478, 37.181886000589365 ], [ -121.773461000209849, 37.181645000542794 ], [ -121.770661000341846, 37.179745000851362 ], [ -121.770187000300254, 37.179982000765492 ], [ -121.769860999540029, 37.180145000792344 ], [ -121.769661000439797, 37.179245000918847 ], [ -121.767874999924004, 37.178501000953048 ], [ -121.767260999847508, 37.178245000431602 ], [ -121.766561000447467, 37.179645000933526 ], [ -121.766161000045486, 37.179345000832846 ], [ -121.765960999558459, 37.179745000349428 ], [ -121.765560999572671, 37.179345000611519 ], [ -121.76406099956499, 37.177745000315369 ], [ -121.765661000225407, 37.180845000976021 ], [ -121.763461000260548, 37.180545000345425 ], [ -121.761760000247548, 37.1809450009115 ], [ -121.761259999708642, 37.181645000941522 ], [ -121.760659999975957, 37.181145000615714 ], [ -121.75985999945965, 37.178645000313743 ], [ -121.759760000354163, 37.177845000318491 ], [ -121.759360000029261, 37.175745000546556 ], [ -121.759332000150494, 37.175441000847975 ], [ -121.75925999988894, 37.174645000574856 ], [ -121.758760000086369, 37.172045000656709 ], [ -121.756617999802543, 37.169419000432164 ], [ -121.755660000005207, 37.168245000817606 ], [ -121.755359999899909, 37.164046000735993 ], [ -121.75117099969124, 37.161044000731785 ], [ -121.750514000406582, 37.159526000375919 ], [ -121.75039399976491, 37.159138000954719 ], [ -121.750324000442021, 37.15865400025428 ], [ -121.750283999794576, 37.158016000266208 ], [ -121.750263000178805, 37.157533000244925 ], [ -121.750153000092496, 37.156739000683267 ], [ -121.749992999708212, 37.155945000806689 ], [ -121.749671000117715, 37.153797000525557 ], [ -121.749441000482236, 37.153100001011012 ], [ -121.749160000353044, 37.152692000593767 ], [ -121.748798000219836, 37.15207100086382 ], [ -121.748436999886934, 37.151662000796293 ], [ -121.748035999586349, 37.151232000779409 ], [ -121.747859999391693, 37.151146001001308 ], [ -121.745997999925052, 37.150454000503998 ], [ -121.74158799971643, 37.148814001005285 ], [ -121.739344999605294, 37.14693800036595 ], [ -121.739259999941055, 37.146846000998863 ], [ -121.737898999459688, 37.144195000984901 ], [ -121.737359999597189, 37.143146000728414 ], [ -121.735560000158586, 37.139246000983285 ], [ -121.736360000490606, 37.135746000491231 ], [ -121.733259999635692, 37.126846000764758 ], [ -121.732560000305384, 37.126546000271681 ], [ -121.728559000322775, 37.12614600034734 ], [ -121.723758999451377, 37.127246001100993 ], [ -121.719658999886434, 37.127046000833005 ], [ -121.716558999554124, 37.125446001107939 ], [ -121.715758999561189, 37.124946000308952 ], [ -121.7149589999227, 37.124446000467046 ], [ -121.713491000327622, 37.123712000486599 ], [ -121.713158999742177, 37.12354600103216 ], [ -121.708558999842722, 37.124146000886952 ], [ -121.708423000333568, 37.124264000833037 ], [ -121.708040999985016, 37.124596000520157 ], [ -121.707639000067616, 37.12494600099199 ], [ -121.70625799963851, 37.126146000227173 ], [ -121.705157999670391, 37.125746000943622 ], [ -121.701391999499478, 37.119369001031039 ], [ -121.700764999445823, 37.118870000829538 ], [ -121.699597999876417, 37.118733000478151 ], [ -121.697803000228163, 37.118665000617476 ], [ -121.696310000195055, 37.118312000432255 ], [ -121.694926999818463, 37.118302000363308 ], [ -121.69449999979166, 37.118257000507604 ], [ -121.69421500017441, 37.117621000701305 ], [ -121.692946999472426, 37.116859000574472 ], [ -121.692827000182305, 37.116836000570956 ], [ -121.687857999865898, 37.116446000664908 ], [ -121.687957999870292, 37.115946000689988 ], [ -121.68845800010628, 37.114946001019419 ], [ -121.687877000417004, 37.114711000950457 ], [ -121.684451999679638, 37.113325000269612 ], [ -121.68425799988367, 37.113246000839261 ], [ -121.680254999632126, 37.109244001057633 ], [ -121.678856999556274, 37.10784600040941 ], [ -121.677462000260732, 37.106843000362396 ], [ -121.677257000099573, 37.106746000999756 ], [ -121.677215999746196, 37.106665000646352 ], [ -121.676357000196134, 37.106046000418644 ], [ -121.67325700004686, 37.103046000253386 ], [ -121.671856999693404, 37.098846000688141 ], [ -121.671303999858893, 37.096763000332871 ], [ -121.671344999464509, 37.096036000554875 ], [ -121.671054999839782, 37.095672000263583 ], [ -121.669397999838509, 37.094681000307354 ], [ -121.668652000305613, 37.094482000739681 ], [ -121.668320999900075, 37.094185000359943 ], [ -121.667492000429874, 37.092599000471225 ], [ -121.666954000010463, 37.09230100112498 ], [ -121.666042000444222, 37.092070000803965 ], [ -121.665131000168287, 37.091673000972321 ], [ -121.663184000002602, 37.091112000973837 ], [ -121.66247899947615, 37.090484000225231 ], [ -121.661557000463134, 37.089546000563324 ], [ -121.65425599984863, 37.084847000451319 ], [ -121.653455999953806, 37.08494600081216 ], [ -121.653556000356588, 37.08394700088472 ], [ -121.653576999798588, 37.08273800038252 ], [ -121.653891999943042, 37.08189800103974 ], [ -121.654400999600867, 37.081038000776076 ], [ -121.654456000086967, 37.08084700068656 ], [ -121.655955999687222, 37.079047000892103 ], [ -121.656318000365246, 37.078244000583723 ], [ -121.657142000284807, 37.076542000365201 ], [ -121.657202999809982, 37.076084000928688 ], [ -121.657655999780957, 37.074847000391742 ], [ -121.658156000494841, 37.074047000449511 ], [ -121.658698999406241, 37.072430000786987 ], [ -121.659858999495938, 37.06950800101631 ], [ -121.6605569998367, 37.06794700102035 ], [ -121.660656999601585, 37.067247000227887 ], [ -121.66165699943727, 37.065147001059223 ], [ -121.662590000416472, 37.061706000709542 ], [ -121.663257000127416, 37.059247000459607 ], [ -121.660700000173392, 37.054133000556007 ], [ -121.660118000469495, 37.054006000549442 ], [ -121.658134999905542, 37.051542000688308 ], [ -121.658056999553011, 37.051448000781463 ], [ -121.657047999747263, 37.050624000245072 ], [ -121.656955999678672, 37.050548000955978 ], [ -121.654255999550656, 37.047848000404819 ], [ -121.653556000305443, 37.045848000767769 ], [ -121.653456000096327, 37.045348000416773 ], [ -121.656340999483675, 37.03032400037079 ], [ -121.654060000265275, 37.029966000625699 ], [ -121.652686000261284, 37.030103000792053 ], [ -121.650442999617908, 37.02965300078062 ], [ -121.649893999716781, 37.029699000693441 ], [ -121.64900899989658, 37.029706001053157 ], [ -121.646216999803258, 37.029844000496787 ], [ -121.64555999952853, 37.029737000697317 ], [ -121.64453800034957, 37.029439000241844 ], [ -121.644448999880254, 37.029430000879408 ], [ -121.644455999892827, 37.029348000435093 ], [ -121.644362000031748, 37.028034000958598 ], [ -121.643638000514201, 37.027936000424006 ], [ -121.642556000056842, 37.027948000671778 ], [ -121.642538999570604, 37.027948000858416 ], [ -121.640255999836583, 37.02794800044714 ], [ -121.637556000055255, 37.0279480004437 ], [ -121.637320999441172, 37.027082000986731 ], [ -121.637641000334185, 37.024442000318167 ], [ -121.637624999409198, 37.024348000346329 ], [ -121.637320999668134, 37.022542000903265 ], [ -121.63732100048847, 37.021955000681949 ], [ -121.637304999724051, 37.021883000350059 ], [ -121.63199400024898, 37.01966600102714 ], [ -121.630239999735551, 37.018941000723579 ], [ -121.628955000382561, 37.017448000777854 ], [ -121.628950000314759, 37.015642001067768 ], [ -121.628850000239254, 37.015340001064061 ], [ -121.628689999539006, 37.015072000361869 ], [ -121.628259999751975, 37.014643000986403 ], [ -121.627951999832149, 37.014166000452086 ], [ -121.627736999975909, 37.012907000322187 ], [ -121.627596000162569, 37.012593001049687 ], [ -121.627323000342017, 37.011956000462568 ], [ -121.626554999739383, 37.011648000741154 ], [ -121.62605499959713, 37.01165500022983 ], [ -121.625509000483163, 37.011663000737194 ], [ -121.620125999498171, 37.011862000732734 ], [ -121.618797999743791, 37.0118880008677 ], [ -121.616628999823334, 37.011930000749508 ], [ -121.616079000361452, 37.011938000415249 ], [ -121.615576000415544, 37.011930000368103 ], [ -121.613468999998162, 37.01206000108882 ], [ -121.613378000070725, 37.009771000872149 ], [ -121.613354999875725, 37.008898000395114 ], [ -121.612054000022695, 37.008448000408627 ], [ -121.613454000220671, 37.003648000806088 ], [ -121.612006000161074, 36.999949000687216 ], [ -121.611653999941069, 36.999049000515342 ], [ -121.613455000208333, 36.992749000573191 ], [ -121.616155000125062, 36.989749001019689 ], [ -121.617139999476862, 36.982376000244322 ], [ -121.61831199967358, 36.98069600094702 ], [ -121.621138999400401, 36.977456000391093 ], [ -121.621048999874219, 36.977096000910514 ], [ -121.620455000287052, 36.976850000694228 ], [ -121.609854000221091, 36.972450000387717 ], [ -121.603454000343206, 36.969950001049639 ], [ -121.600654000214149, 36.966650000931594 ], [ -121.598454000361656, 36.965650000362963 ], [ -121.597554000007037, 36.964550000390503 ], [ -121.597154000089674, 36.964150000734591 ], [ -121.593154000479728, 36.961850000298092 ], [ -121.592754000050903, 36.960650000404748 ], [ -121.592853999885833, 36.958950000844666 ], [ -121.584352999551243, 36.957150000948857 ], [ -121.582653000302841, 36.958350000768199 ], [ -121.580652999716193, 36.95585000042874 ], [ -121.58015300041761, 36.952850000653278 ], [ -121.572253000424865, 36.947750001003236 ], [ -121.568352999851044, 36.948350001050301 ], [ -121.56535299949978, 36.945850000620091 ], [ -121.556951999647367, 36.944250000705573 ], [ -121.555551999455474, 36.943950000812308 ], [ -121.552352000413705, 36.94295000033874 ], [ -121.550752000264467, 36.933251000816341 ], [ -121.548051999819393, 36.930051000581507 ], [ -121.547852000100349, 36.929651000352031 ], [ -121.54725200045209, 36.928951000648304 ], [ -121.547548000256597, 36.917563000409423 ], [ -121.547603999864705, 36.91753900108526 ], [ -121.548013000253562, 36.917272000473822 ], [ -121.549859999655794, 36.916555000642667 ], [ -121.552952000069737, 36.91535200080996 ], [ -121.558253000077059, 36.911152000333992 ], [ -121.559776999693582, 36.901797000348459 ], [ -121.560453000326305, 36.897652000962964 ], [ -121.560499999578198, 36.897655000601517 ], [ -121.562743000292159, 36.897790000808754 ], [ -121.569370000260747, 36.898187000474785 ], [ -121.571153000388762, 36.897452001053182 ], [ -121.575047999832805, 36.894155000679966 ], [ -121.579949000250394, 36.899454000235671 ], [ -121.58144899960655, 36.900554000843528 ], [ -121.581437999974355, 36.901227000435703 ], [ -121.58117000013884, 36.918237000520364 ], [ -121.58115400026972, 36.919252000414659 ], [ -121.590153999962439, 36.919252000708042 ], [ -121.590321000330292, 36.925022001126898 ], [ -121.590353999607075, 36.92615100061834 ], [ -121.607155000175524, 36.926051000507755 ], [ -121.621120000060571, 36.937477000875091 ], [ -121.624754999833613, 36.940451001082408 ], [ -121.624755000091312, 36.939951000581459 ], [ -121.624355000456077, 36.939251001008202 ], [ -121.623954999523335, 36.937651000558894 ], [ -121.626054999911617, 36.939845001085082 ], [ -121.626054999440029, 36.939797000819112 ], [ -121.630402000311292, 36.940532000236907 ], [ -121.630454999566993, 36.940551000557306 ], [ -121.631556000032731, 36.939651000414877 ], [ -121.63185600006193, 36.939251000368984 ], [ -121.637056000279102, 36.939051000842831 ], [ -121.63775599984379, 36.938551000385843 ], [ -121.638855999807916, 36.937651000861401 ], [ -121.639456000176793, 36.937751001085211 ], [ -121.639655999771691, 36.937851000270292 ], [ -121.640355999654943, 36.937551000655745 ], [ -121.642256000241147, 36.936351000738519 ], [ -121.641855999824841, 36.934951000303144 ], [ -121.641967999589156, 36.934934000227109 ], [ -121.641024999891982, 36.932224000902103 ], [ -121.645790999420157, 36.932330000584081 ], [ -121.646809000232068, 36.933876000399749 ], [ -121.648855999997068, 36.937251000451006 ], [ -121.653056000125204, 36.941751000646178 ], [ -121.653756000345666, 36.943851000290231 ], [ -121.654056000265683, 36.944751001077719 ], [ -121.652855999632536, 36.945751001039568 ], [ -121.652156000153425, 36.947451000830867 ], [ -121.653456000196527, 36.947651000474337 ], [ -121.653555999682411, 36.95035100091804 ], [ -121.654756999595563, 36.950951001037367 ], [ -121.657556999973949, 36.950651000255242 ], [ -121.658356999866697, 36.950551000584639 ], [ -121.658956999768463, 36.950651000474153 ], [ -121.66155699957568, 36.951751001055172 ], [ -121.663256999556978, 36.951851000794527 ], [ -121.663307000466972, 36.953507000449903 ], [ -121.664329999676539, 36.95514000077285 ], [ -121.663256999751198, 36.957251000986325 ], [ -121.662856999630534, 36.959151000568809 ], [ -121.663957000506713, 36.960651001010383 ], [ -121.664256999623092, 36.963151000834465 ], [ -121.664787000343466, 36.963714000341803 ], [ -121.666129999624417, 36.964340000266667 ], [ -121.66993000016943, 36.96364100079294 ], [ -121.671756999485879, 36.964451000805035 ], [ -121.672256999971566, 36.964351000636697 ], [ -121.672456999508853, 36.96485100040713 ], [ -121.672656999565604, 36.965451000800662 ], [ -121.673957000201682, 36.965351000810166 ], [ -121.674756999457799, 36.965351001117213 ], [ -121.676092999458248, 36.965968000840142 ], [ -121.677234999659802, 36.965547000433894 ], [ -121.677161999754446, 36.966461000443267 ], [ -121.677357000044651, 36.966551000977041 ], [ -121.677357000023989, 36.966851000383215 ], [ -121.6782580003823, 36.96785000054728 ], [ -121.682157999737086, 36.967451000347971 ], [ -121.683657999542305, 36.967051000927391 ], [ -121.685658000281762, 36.967251001021666 ], [ -121.686657999663169, 36.967451000361237 ], [ -121.687758000360887, 36.96695100098168 ], [ -121.689558000449935, 36.967351000982291 ], [ -121.690157999796213, 36.967351000934102 ], [ -121.690290000272199, 36.967483000834676 ], [ -121.691774000171264, 36.967843000943596 ], [ -121.692352999807341, 36.967998000780391 ], [ -121.693302999985335, 36.968230001084784 ], [ -121.694032000061853, 36.9689570006041 ], [ -121.694721000431954, 36.969437000788858 ], [ -121.695211000367649, 36.969917000315903 ], [ -121.69583099950006, 36.970450000447194 ], [ -121.696590000291451, 36.97112400080465 ], [ -121.697148999546059, 36.971488000223644 ], [ -121.697829000150278, 36.972098000982584 ], [ -121.698129000379112, 36.972605000873706 ], [ -121.698258000361761, 36.973385000553463 ], [ -121.698308000349058, 36.974048000625565 ], [ -121.698427999621245, 36.974984000789085 ], [ -121.698118999867262, 36.975948000513789 ], [ -121.697898999595637, 36.976756000805864 ], [ -121.697679000192991, 36.977745000645342 ], [ -121.697288999747499, 36.97848800062463 ], [ -121.696919999563136, 36.979100000333197 ], [ -121.696197000343361, 36.979778000535781 ], [ -121.696221999408777, 36.980560000402015 ], [ -121.696658000042291, 36.981350000252021 ], [ -121.695257999703429, 36.982750000932654 ], [ -121.695357999566681, 36.985150001071105 ], [ -121.699657999812942, 36.986250000557177 ], [ -121.701159000144699, 36.986150000994087 ], [ -121.70524399998645, 36.986245000653604 ], [ -121.705509000147998, 36.98936000080603 ], [ -121.707299000059564, 36.989719000276551 ], [ -121.708488999939973, 36.990033000798171 ], [ -121.709810000497768, 36.9906030004081 ], [ -121.709862999845654, 36.9897560009329 ], [ -121.710699000412731, 36.989725000654488 ], [ -121.711359000163213, 36.990550001022889 ], [ -121.710958999979653, 36.991750000434344 ], [ -121.710358999805479, 36.992250000710094 ], [ -121.710859000518866, 36.992950000356096 ], [ -121.714659000090819, 36.992950000846335 ], [ -121.717220999499219, 36.994387000860634 ], [ -121.717612999669512, 36.994607000578689 ], [ -121.717741000051078, 36.995003000891835 ], [ -121.717810999729252, 36.995268000545074 ], [ -121.717878000157754, 36.995561000692931 ], [ -121.718759000403054, 36.995250000738487 ], [ -121.730470999508626, 36.990822000569509 ], [ -121.731612000360116, 36.990056000373777 ], [ -121.731875999788045, 36.989868000316726 ], [ -121.732311999460649, 36.989664000259786 ], [ -121.732628999811297, 36.989715001118135 ], [ -121.733351000072034, 36.989830000852905 ], [ -121.734439999653077, 36.989294000899918 ], [ -121.734622999608689, 36.98930200028137 ], [ -121.734957999879924, 36.989260000900131 ], [ -121.735798000166696, 36.989479001062122 ], [ -121.736389999898989, 36.98922000082014 ], [ -121.73846000023407, 36.989950000237052 ], [ -121.736860000505899, 36.990250000983686 ], [ -121.736198000443991, 36.990605000912332 ], [ -121.735349000301539, 36.990919000980071 ], [ -121.734852999804474, 36.991050000567448 ], [ -121.734999000332238, 36.991780000450973 ], [ -121.734770000477965, 36.992209001085442 ], [ -121.734534000382226, 36.992385000358304 ], [ -121.734109999476331, 36.99270400050213 ], [ -121.733459999480303, 36.992650000343197 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 698, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.620654999696413, 37.170843000806506 ], [ -121.611654999822491, 37.162143001096119 ], [ -121.590653999946625, 37.152943000481415 ], [ -121.585453999426264, 37.153843000338696 ], [ -121.581452999422424, 37.153143000686633 ], [ -121.581552999607851, 37.152543000246887 ], [ -121.58475299988558, 37.152343000405416 ], [ -121.585927000346317, 37.15246600113224 ], [ -121.586370999844789, 37.152326001000645 ], [ -121.586710000165525, 37.151973000292351 ], [ -121.587122999395248, 37.151961000715986 ], [ -121.587284999530439, 37.151797000854813 ], [ -121.587609999761597, 37.151573000536828 ], [ -121.588465000295955, 37.151808000814782 ], [ -121.588657000095751, 37.15177300087916 ], [ -121.588996000411612, 37.151385000552942 ], [ -121.589305000134289, 37.151362000578573 ], [ -121.589659000088361, 37.151703001072619 ], [ -121.590101999649463, 37.15166700100189 ], [ -121.590455999513168, 37.151397000557402 ], [ -121.590602999651196, 37.150962000287358 ], [ -121.590868000181544, 37.150257000668631 ], [ -121.590721000119004, 37.149940000609611 ], [ -121.590823999645991, 37.149622000402466 ], [ -121.591192999494723, 37.149211000846854 ], [ -121.591576000124192, 37.148659000390992 ], [ -121.591693999857, 37.148189000647911 ], [ -121.592032999554718, 37.147707000552067 ], [ -121.592019000486687, 37.147413000799318 ], [ -121.592210000511969, 37.147248000856983 ], [ -121.592520000382535, 37.14722500059689 ], [ -121.592932999401683, 37.147107001117107 ], [ -121.593242999752221, 37.14670800053397 ], [ -121.593966000427642, 37.144513000368448 ], [ -121.594554000240009, 37.143744000321043 ], [ -121.595054000222689, 37.143444001017834 ], [ -121.595481000405215, 37.143088000812831 ], [ -121.59565399993248, 37.14294400031774 ], [ -121.59612499956387, 37.142576000288805 ], [ -121.597253999833569, 37.141244000775181 ], [ -121.597592000512918, 37.141126000901401 ], [ -121.597742000283574, 37.14109900031071 ], [ -121.597908999724922, 37.141206000302496 ], [ -121.597975999488185, 37.141565001115715 ], [ -121.598258999957864, 37.14164500027465 ], [ -121.598776000260159, 37.141618000497594 ], [ -121.599210000446419, 37.141911000872419 ], [ -121.59965999982478, 37.142044000309106 ], [ -121.600226999850278, 37.142097000964462 ], [ -121.600611000379317, 37.142230000522289 ], [ -121.600944000261251, 37.142137000329782 ], [ -121.601010999496523, 37.141884000546881 ], [ -121.600826999687428, 37.141711000374933 ], [ -121.600561000164319, 37.141591000758211 ], [ -121.600661000501091, 37.141458000616147 ], [ -121.60092800009852, 37.141485000821362 ], [ -121.601294000365982, 37.141685000977624 ], [ -121.601644999390459, 37.141804000940844 ], [ -121.601860999521904, 37.141791000262216 ], [ -121.602060999610117, 37.141645000431247 ], [ -121.603194999738847, 37.141738001124978 ], [ -121.603579000421234, 37.141871001014536 ], [ -121.603811999482076, 37.141778000522471 ], [ -121.603779000483286, 37.14151200066248 ], [ -121.603044999909486, 37.141299000819082 ], [ -121.603212000336569, 37.141086000379914 ], [ -121.60394600020841, 37.141312001122081 ], [ -121.604329000331305, 37.141498000495879 ], [ -121.604463000207843, 37.141698000406649 ], [ -121.604529999484186, 37.142124000377599 ], [ -121.604653999915399, 37.142244000337492 ], [ -121.604880000381513, 37.14223000054232 ], [ -121.605147000065969, 37.142070000263779 ], [ -121.605597000212171, 37.141911000780631 ], [ -121.60679699945608, 37.141778000365086 ], [ -121.607030999832688, 37.141671001021223 ], [ -121.607154000144789, 37.141444000800284 ], [ -121.607858000444409, 37.141236000418964 ], [ -121.609138999924582, 37.140857000381395 ], [ -121.609770999428832, 37.140664000923131 ], [ -121.610967999897795, 37.140238000564153 ], [ -121.611398000204446, 37.140119000441501 ], [ -121.611641000482976, 37.140025001026181 ], [ -121.611880999447877, 37.139945000861822 ], [ -121.612321999876556, 37.139742000553575 ], [ -121.612835000109342, 37.139541000468377 ], [ -121.613087000435925, 37.139442000848895 ], [ -121.614355000088381, 37.138944000988225 ], [ -121.614639000104361, 37.138815000270704 ], [ -121.615454999678036, 37.138444000499533 ], [ -121.615574999818222, 37.138380000385268 ], [ -121.617134000421643, 37.137707000243211 ], [ -121.618538000190611, 37.1370420009643 ], [ -121.61856799987352, 37.137077000356797 ], [ -121.619520000138976, 37.136683000895687 ], [ -121.62031800007216, 37.136438000605843 ], [ -121.62072000033659, 37.136318000338207 ], [ -121.621299000020244, 37.136145000623166 ], [ -121.6223629998386, 37.135769000906251 ], [ -121.623125999585525, 37.135487000535853 ], [ -121.623552000505214, 37.135346001095819 ], [ -121.623918000413383, 37.1352240006999 ], [ -121.624837999451486, 37.134872000369484 ], [ -121.626536000226025, 37.134264000309429 ], [ -121.626843999995373, 37.134154000638297 ], [ -121.628455000022328, 37.133545000773971 ], [ -121.628955999731645, 37.133378000976158 ], [ -121.629203000366061, 37.133296001114502 ], [ -121.630554999846822, 37.132845000342314 ], [ -121.631155000045098, 37.132545000240597 ], [ -121.631707000079714, 37.132346000996876 ], [ -121.632250999890417, 37.132150000269355 ], [ -121.633654999782394, 37.131645000381155 ], [ -121.633700000185883, 37.131779000465862 ], [ -121.633754999582791, 37.131945000243832 ], [ -121.635556000447906, 37.134645000892164 ], [ -121.636655999950023, 37.136545000409967 ], [ -121.637856999578958, 37.137910000941552 ], [ -121.638855999906482, 37.139045000635164 ], [ -121.640071999684309, 37.140203000569798 ], [ -121.640843999459833, 37.140938000380295 ], [ -121.640953999744312, 37.141026000777302 ], [ -121.641069999946367, 37.141112000366995 ], [ -121.645380999823232, 37.145317000904413 ], [ -121.648381999946722, 37.148351000921203 ], [ -121.650156000100509, 37.150144000976105 ], [ -121.652456000395134, 37.152344001118543 ], [ -121.652756000322753, 37.152744000661784 ], [ -121.653022000105722, 37.153192000231428 ], [ -121.654715999664631, 37.154771000369827 ], [ -121.655539999398556, 37.15556400082572 ], [ -121.656425000363498, 37.156449000493211 ], [ -121.657915999866134, 37.157683000959139 ], [ -121.658987999932307, 37.158570000320424 ], [ -121.659270000255745, 37.158847000373378 ], [ -121.662955999545204, 37.162461000391751 ], [ -121.662621000272068, 37.162645000950192 ], [ -121.662195999732674, 37.163090000871776 ], [ -121.659856000055171, 37.164844000377819 ], [ -121.659055999627469, 37.165444000769952 ], [ -121.658055999551166, 37.164844000921583 ], [ -121.655556000500439, 37.164744001028424 ], [ -121.65275599961312, 37.168344000429755 ], [ -121.650055999757043, 37.168544001025282 ], [ -121.649776000040433, 37.168233000647092 ], [ -121.64967999947676, 37.168126000765945 ], [ -121.64825599956697, 37.166544000769889 ], [ -121.645956000001831, 37.165544000291156 ], [ -121.646255999830771, 37.165144000640439 ], [ -121.646066999953646, 37.165018001117147 ], [ -121.645656000369087, 37.164744000609041 ], [ -121.645155999651891, 37.164144000469811 ], [ -121.642155999672013, 37.163944000693675 ], [ -121.641155999879828, 37.164144000229079 ], [ -121.640728000361818, 37.164215000794528 ], [ -121.640555999878018, 37.164244000530417 ], [ -121.640416000077238, 37.164261000710695 ], [ -121.637355999741715, 37.164644000588879 ], [ -121.634555000349906, 37.164544000243978 ], [ -121.634349999642467, 37.164550000317632 ], [ -121.634039999392826, 37.164559000694858 ], [ -121.631054999943174, 37.164644000763559 ], [ -121.631754999646844, 37.16534400047113 ], [ -121.632455000102141, 37.165444000458891 ], [ -121.633754999800544, 37.166144000604106 ], [ -121.6332550003699, 37.166444000909046 ], [ -121.63305499985465, 37.167144000300581 ], [ -121.630354999417222, 37.166944000628142 ], [ -121.629654999967528, 37.166144000940001 ], [ -121.627654999392973, 37.166744000807334 ], [ -121.627054999699425, 37.165944000387 ], [ -121.625919999431872, 37.167477000857382 ], [ -121.625054999735227, 37.168643000680362 ], [ -121.622155000009556, 37.169243000882396 ], [ -121.620654999696413, 37.170843000806506 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1260, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.024976999824261, 38.253913000662514 ], [ -122.029977000183635, 38.251213000821451 ], [ -122.033677000350934, 38.249113000822611 ], [ -122.034177000360486, 38.248813000747347 ], [ -122.037524999460686, 38.246761000660435 ], [ -122.03814599951005, 38.246405000459028 ], [ -122.039071999401514, 38.245873000492089 ], [ -122.038976999914013, 38.247013000411492 ], [ -122.038976999971908, 38.248113000455938 ], [ -122.038876999999488, 38.249213000526879 ], [ -122.037576999714616, 38.249213001134798 ], [ -122.036576999680619, 38.249213000259253 ], [ -122.035576999697525, 38.24921300077385 ], [ -122.034442999520991, 38.249456000534146 ], [ -122.034208000489954, 38.249716000406373 ], [ -122.034343999607799, 38.250596000570063 ], [ -122.034376999854203, 38.250813000514775 ], [ -122.0343769996867, 38.251513000637402 ], [ -122.0343770004135, 38.252113000298728 ], [ -122.034376999880152, 38.252713000791104 ], [ -122.034277000264524, 38.254113000396991 ], [ -122.034276999591725, 38.254813001028332 ], [ -122.034277000521058, 38.255013000816795 ], [ -122.034277000164323, 38.256913000653185 ], [ -122.034176999475505, 38.258213000667702 ], [ -122.032477000501984, 38.258213000744355 ], [ -122.0318769995704, 38.258213000551251 ], [ -122.030576999540756, 38.25821300028614 ], [ -122.029976999828705, 38.258213000298753 ], [ -122.029077000208162, 38.258113000620845 ], [ -122.027676999445021, 38.258213000744817 ], [ -122.026877000059372, 38.258113000797401 ], [ -122.024876999806153, 38.258113000629606 ], [ -122.02407699998983, 38.258213000966649 ], [ -122.022977000166492, 38.258113000570035 ], [ -122.021876999944666, 38.258113000886127 ], [ -122.02127699939517, 38.258213000754502 ], [ -122.02107699984802, 38.258233000426486 ], [ -122.019877000387353, 38.258113001095531 ], [ -122.019576999431948, 38.257113001018851 ], [ -122.020776999748648, 38.256413000874367 ], [ -122.021277000186075, 38.256113000795786 ], [ -122.022077000028816, 38.255613000432419 ], [ -122.024976999824261, 38.253913000662514 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1251, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.010529000221979, 38.092899000300669 ], [ -122.011039999710732, 38.093240000432033 ], [ -122.011473000396265, 38.093797001056224 ], [ -122.012181000343261, 38.094447000775851 ], [ -122.013595999455021, 38.095098001035446 ], [ -122.015130000232688, 38.095965000426524 ], [ -122.014893999604624, 38.096708000397655 ], [ -122.014618999521346, 38.097451000773333 ], [ -122.015170000118729, 38.098628000316104 ], [ -122.015719999591454, 38.099464000896049 ], [ -122.016034999700153, 38.100022000307732 ], [ -122.016702999573894, 38.10061000076783 ], [ -122.015760000257572, 38.101106000644862 ], [ -122.014855000331423, 38.101570001023234 ], [ -122.014343999928059, 38.101787000969956 ], [ -122.013753999690195, 38.102035000711332 ], [ -122.013124000133004, 38.102097001116881 ], [ -122.0126130001034, 38.101818000303211 ], [ -122.012456000484264, 38.1014460008277 ], [ -122.011590999843818, 38.10181800057147 ], [ -122.011078999962834, 38.102314000544112 ], [ -122.010332000210084, 38.102685000376333 ], [ -122.009033999499195, 38.102902001012154 ], [ -122.008641000108909, 38.103398000596535 ], [ -122.007736000392583, 38.103552000494922 ], [ -122.006989000353727, 38.103738000827704 ], [ -122.006319999435021, 38.103893000882266 ], [ -122.007342999953963, 38.104481000644377 ], [ -122.006242000481535, 38.104481000482423 ], [ -122.004864999660342, 38.103800000833516 ], [ -122.003292000109525, 38.103676001129458 ], [ -122.000960999580926, 38.104156000332779 ], [ -122.000157999583379, 38.104275000855026 ], [ -121.999856000298038, 38.10478900100486 ], [ -121.999755999572244, 38.105541000273057 ], [ -121.999254000507975, 38.105502000647085 ], [ -121.998852000227274, 38.105145001083656 ], [ -121.99774700043227, 38.104948000317528 ], [ -121.996892999617231, 38.105066000806289 ], [ -121.995839000469815, 38.105304001129319 ], [ -121.995085999491465, 38.105462000598209 ], [ -121.994684000231942, 38.105502000410397 ], [ -121.994231999559588, 38.105502000959589 ], [ -121.993973000515098, 38.104817001098304 ], [ -121.993773000457139, 38.104817000756157 ], [ -121.993856000290705, 38.105073000528648 ], [ -121.993840000462981, 38.105302000269702 ], [ -121.993764000336824, 38.105378000786949 ], [ -121.993596000476941, 38.105432000735703 ], [ -121.993382999555777, 38.105432001010684 ], [ -121.993169000061528, 38.105447000696593 ], [ -121.992849000328093, 38.105630000925245 ], [ -121.992512999969676, 38.105790000400205 ], [ -121.992345000172392, 38.105874000831683 ], [ -121.992069999939915, 38.106072000248574 ], [ -121.991810999898433, 38.106324000723447 ], [ -121.99158199974606, 38.106416000503707 ], [ -121.991444999429547, 38.106454000537397 ], [ -121.991322999900163, 38.106477000983027 ], [ -121.991230999438386, 38.106530000701646 ], [ -121.991215999656646, 38.106614000861434 ], [ -121.991185000131551, 38.106706000932725 ], [ -121.991093999779167, 38.106790000966804 ], [ -121.990941000323303, 38.106912000971725 ], [ -121.990972000071622, 38.10698800110611 ], [ -121.991077999481448, 38.107026001045412 ], [ -121.991245999570921, 38.107018000425214 ], [ -121.991322999760342, 38.107102000983048 ], [ -121.991428999951722, 38.107224000679473 ], [ -121.991414000260491, 38.107362000446543 ], [ -121.991230999720287, 38.10772800088764 ], [ -121.991123999559775, 38.108071000624065 ], [ -121.991292000428899, 38.108193001091074 ], [ -121.991612999515212, 38.10823900084538 ], [ -121.991994000326017, 38.108430000398201 ], [ -121.992359999778216, 38.108453000633219 ], [ -121.992832999803696, 38.108544000837014 ], [ -121.993108000412377, 38.108605000763383 ], [ -121.993321999468591, 38.108727000509923 ], [ -121.993383000495726, 38.108880000336256 ], [ -121.993351999847192, 38.109017000747876 ], [ -121.99330599939772, 38.109132000433362 ], [ -121.993173000099844, 38.109417000741125 ], [ -121.992832999970403, 38.109521000582639 ], [ -121.992512999831547, 38.109513000856232 ], [ -121.992284000143627, 38.109551000535113 ], [ -121.992039999406273, 38.109696000514667 ], [ -121.991718999877406, 38.10998600112223 ], [ -121.991505999398996, 38.110169000911711 ], [ -121.991306999700697, 38.110330000490841 ], [ -121.991230999888884, 38.110505000415444 ], [ -121.990987000451724, 38.110719000657667 ], [ -121.990560000114272, 38.110787000947042 ], [ -121.990101999811571, 38.110917000728811 ], [ -121.989750999769655, 38.111146000724844 ], [ -121.989491999926386, 38.11142100076642 ], [ -121.989155999914502, 38.11154300037191 ], [ -121.988789999463421, 38.11164900064945 ], [ -121.988453999953251, 38.111756000715665 ], [ -121.988270999582994, 38.1118020004226 ], [ -121.988087999878545, 38.111871000368886 ], [ -121.987972999475502, 38.111917000385276 ], [ -121.987935000030475, 38.11182500081631 ], [ -121.987920000384321, 38.111680001036291 ], [ -121.987673000081244, 38.111517000886998 ], [ -121.987629999845211, 38.111657001034665 ], [ -121.987691000392047, 38.111810000984043 ], [ -121.987736999673217, 38.111917000385155 ], [ -121.987690999993362, 38.112061000535604 ], [ -121.987400999791944, 38.112138000533541 ], [ -121.987202999381836, 38.112115001106773 ], [ -121.98703499977627, 38.11212300038175 ], [ -121.986745000303372, 38.112107000823762 ], [ -121.98631800047616, 38.112176000409384 ], [ -121.985935999808689, 38.112229000537191 ], [ -121.985570000018299, 38.112267000377038 ], [ -121.985203999793811, 38.112420000736478 ], [ -121.98485300036775, 38.112588000902988 ], [ -121.984746000001309, 38.11280200096845 ], [ -121.984303999785396, 38.113076000780914 ], [ -121.984074999474416, 38.113198000502337 ], [ -121.983922000391161, 38.113358000834943 ], [ -121.98387299996412, 38.113517000707105 ], [ -121.98372400000207, 38.113732000987028 ], [ -121.983723999938888, 38.114068000685236 ], [ -121.983830999612962, 38.114503000483772 ], [ -121.986347999907892, 38.119561000297381 ], [ -121.986440000472157, 38.119851000380777 ], [ -121.986867000341917, 38.12050000051682 ], [ -121.987431999413729, 38.12143000036513 ], [ -121.988074000241397, 38.122338000946286 ], [ -121.988515999392774, 38.123269000581068 ], [ -121.988943000016533, 38.124146000629715 ], [ -121.989234000411884, 38.124823000695159 ], [ -121.989273999641739, 38.124917000520774 ], [ -121.989961000108252, 38.126541000447773 ], [ -121.991963000054696, 38.128403000466307 ], [ -121.993297000160766, 38.129214000735622 ], [ -121.995602000229056, 38.131744001033589 ], [ -121.996754000113285, 38.132364000980957 ], [ -121.996935999804649, 38.133414000597746 ], [ -121.997725000130785, 38.134082000659397 ], [ -122.000150999870769, 38.135705000529505 ], [ -122.001000000118708, 38.136421000714563 ], [ -122.002576999543564, 38.136135001125758 ], [ -122.003305000134887, 38.13594400107803 ], [ -122.004153999395072, 38.13551400058796 ], [ -122.005912999635783, 38.134798000251294 ], [ -122.007247000258459, 38.134703000542522 ], [ -122.008459999539568, 38.134464001078754 ], [ -122.010158000495991, 38.134369000487588 ], [ -122.014523999589912, 38.133496000551489 ], [ -122.014674000174068, 38.133501000856576 ], [ -122.015393999958704, 38.133373000866953 ], [ -122.016291000501283, 38.133245000870744 ], [ -122.016994999407544, 38.133245000414135 ], [ -122.017571000471818, 38.133213001093466 ], [ -122.018131000438927, 38.133293000802212 ], [ -122.019074999603674, 38.133549000460683 ], [ -122.019651000252495, 38.133645000961749 ], [ -122.02024300003464, 38.133661000333802 ], [ -122.021010999569199, 38.133565000574805 ], [ -122.021603000511632, 38.1333410006375 ], [ -122.02198700033496, 38.133453000467306 ], [ -122.022290999581031, 38.133613000933913 ], [ -122.023042999600818, 38.133965000706731 ], [ -122.02369900005462, 38.134285000551678 ], [ -122.024674999820618, 38.134573000748276 ], [ -122.025539000262626, 38.134733000918892 ], [ -122.026530999945081, 38.134877000591949 ], [ -122.026947000226926, 38.134893000834275 ], [ -122.027411000356992, 38.134973001035576 ], [ -122.028227000381591, 38.134909000346795 ], [ -122.029139000321564, 38.134765000496451 ], [ -122.030114999440002, 38.1344130006811 ], [ -122.030819000363778, 38.134157000857137 ], [ -122.031379000325288, 38.134029001040808 ], [ -122.03217899989167, 38.134029000938149 ], [ -122.032995000049027, 38.134061000315839 ], [ -122.033843000485987, 38.134285000269557 ], [ -122.035266999550601, 38.134669000712051 ], [ -122.035651000245082, 38.134749000768295 ], [ -122.036418999991639, 38.134813000767934 ], [ -122.036931000237473, 38.134781000625672 ], [ -122.037586999793206, 38.134797000243331 ], [ -122.038898999891543, 38.134653000877066 ], [ -122.040803000161944, 38.134205000420522 ], [ -122.041827000291562, 38.133885000464097 ], [ -122.041938999583749, 38.133805000762003 ], [ -122.042082999661645, 38.133517000853921 ], [ -122.042115000168096, 38.133325000439257 ], [ -122.042083000486272, 38.132941000793082 ], [ -122.041874999878729, 38.132413000390422 ], [ -122.041842999772783, 38.132205000976356 ], [ -122.042019000229928, 38.132045001060419 ], [ -122.042274999935117, 38.131869000955625 ], [ -122.042514999609594, 38.131757000266902 ], [ -122.042658999984482, 38.131741000842652 ], [ -122.043027000362713, 38.131821000488884 ], [ -122.043634999703286, 38.132029000606856 ], [ -122.044290999435376, 38.132317000938286 ], [ -122.04537899969155, 38.132749000787094 ], [ -122.04614699978552, 38.133037000614813 ], [ -122.04717100044563, 38.133213000618944 ], [ -122.047442999719991, 38.133309000495487 ], [ -122.04773100046306, 38.133389000883831 ], [ -122.048275000128768, 38.133453000672858 ], [ -122.04891500049861, 38.133421001073494 ], [ -122.049650999476, 38.133341000514527 ], [ -122.050515000492084, 38.133149001079722 ], [ -122.051602999519631, 38.132989000968308 ], [ -122.052259000125758, 38.132749000660127 ], [ -122.052707000190026, 38.132573000890503 ], [ -122.053298999609183, 38.132509000863202 ], [ -122.053860000066067, 38.132541000611212 ], [ -122.054516000209446, 38.132589000553516 ], [ -122.054916000023582, 38.13252500052036 ], [ -122.055459999895916, 38.132653001056077 ], [ -122.0560199996319, 38.132861000977861 ], [ -122.056643999536405, 38.133389001000637 ], [ -122.057476000112828, 38.134029000316673 ], [ -122.058074000095601, 38.134640001020344 ], [ -122.06205199953736, 38.13279700056362 ], [ -122.062019999567937, 38.132573000336407 ], [ -122.061908000004408, 38.132397000288037 ], [ -122.061811999702385, 38.132077000602798 ], [ -122.061844000432487, 38.131725000835758 ], [ -122.061764000240473, 38.131373000533806 ], [ -122.061619999899278, 38.131101000361269 ], [ -122.061540000021097, 38.130925000509826 ], [ -122.061635999414236, 38.130733001015763 ], [ -122.061603999434922, 38.130445000786324 ], [ -122.061459999636256, 38.130189001024405 ], [ -122.061412000193883, 38.129997001055756 ], [ -122.061396000477956, 38.129805000803799 ], [ -122.061428000479467, 38.129517000849184 ], [ -122.061443999935193, 38.129245000738734 ], [ -122.061347999836414, 38.129005001012473 ], [ -122.061379999611361, 38.12871700103004 ], [ -122.06142799969443, 38.128429000891046 ], [ -122.06141199994191, 38.128077000525018 ], [ -122.061443999619883, 38.127661000773749 ], [ -122.06155600018586, 38.127341000477465 ], [ -122.061555999887389, 38.127085001045479 ], [ -122.061443999594189, 38.126845000575614 ], [ -122.061475999744047, 38.12665300070595 ], [ -122.061540000023385, 38.126461000518404 ], [ -122.061491999946014, 38.12622100034384 ], [ -122.061427999661376, 38.126077000534899 ], [ -122.061459999840295, 38.125933000772299 ], [ -122.061651999499588, 38.125709000688715 ], [ -122.061908000072464, 38.125517000772213 ], [ -122.062052000099214, 38.125357000495242 ], [ -122.062163999854704, 38.125117000889759 ], [ -122.062192999825811, 38.124917000814392 ], [ -122.062196000506773, 38.124893000366541 ], [ -122.06208399973643, 38.124077000510944 ], [ -122.062788000395813, 38.123389000831402 ], [ -122.063603999453647, 38.122893000703641 ], [ -122.064515999685923, 38.122637000415494 ], [ -122.064899000366196, 38.122563000736214 ], [ -122.064180000066742, 38.118816001072979 ], [ -122.064756000135844, 38.119021001009706 ], [ -122.067059999602705, 38.119549000538974 ], [ -122.06803599957837, 38.119885000744731 ], [ -122.068980000277904, 38.119949001003 ], [ -122.070600999652584, 38.120111000278889 ], [ -122.071379999959746, 38.120189000517605 ], [ -122.073204000212826, 38.12070100071918 ], [ -122.074740000373652, 38.121213001059679 ], [ -122.07563599945955, 38.12151700078811 ], [ -122.07776400032057, 38.122349000339824 ], [ -122.07858000052461, 38.122957000442362 ], [ -122.07917200026553, 38.1234530009976 ], [ -122.080052000238993, 38.124461000937586 ], [ -122.080068000161319, 38.124893000950038 ], [ -122.080103999799675, 38.124917000869132 ], [ -122.08081999969933, 38.125389000510722 ], [ -122.081636000112681, 38.126029000524852 ], [ -122.081875999920541, 38.1266210004177 ], [ -122.081844000057941, 38.127309000523589 ], [ -122.081380000080173, 38.131965000994278 ], [ -122.081363999936457, 38.132973000494545 ], [ -122.081779999610092, 38.135533000743209 ], [ -122.082355999841681, 38.136141000307987 ], [ -122.083322999975323, 38.136234001135783 ], [ -122.083523999605234, 38.13625300049177 ], [ -122.083971999978061, 38.136333000587342 ], [ -122.084691999788959, 38.136141000827465 ], [ -122.085171999690957, 38.135965001100253 ], [ -122.085619999547546, 38.135693000582926 ], [ -122.085843999740987, 38.135517000316675 ], [ -122.086083999563343, 38.135309000239772 ], [ -122.086515999963567, 38.135181001040536 ], [ -122.087140000100021, 38.135277001013755 ], [ -122.087971999714199, 38.135469000817181 ], [ -122.088563999982426, 38.135485001095397 ], [ -122.08978099980709, 38.135677000754868 ], [ -122.09125300049358, 38.136077001052783 ], [ -122.092836999763094, 38.136557000453607 ], [ -122.093908999973365, 38.136973001087597 ], [ -122.094485000236702, 38.137261000688753 ], [ -122.095125000256331, 38.137581000644616 ], [ -122.095428999951707, 38.137709000525028 ], [ -122.095540999401976, 38.13822100051857 ], [ -122.095476999595419, 38.138573000486353 ], [ -122.095413000040068, 38.13881300038355 ], [ -122.09526899986345, 38.1390850008912 ], [ -122.094964999593429, 38.139501000872187 ], [ -122.094516999954621, 38.14001300059283 ], [ -122.093749000059333, 38.140765000856327 ], [ -122.093477000398025, 38.140973001079352 ], [ -122.093221000310876, 38.141181000707391 ], [ -122.09214900025512, 38.142173001051205 ], [ -122.091060999668699, 38.14295700078786 ], [ -122.090213000527683, 38.143773000509221 ], [ -122.088949000244526, 38.144845000644537 ], [ -122.087828999398297, 38.145885000884384 ], [ -122.086740999770797, 38.14700500048481 ], [ -122.086228999668393, 38.147629000390907 ], [ -122.085524999720008, 38.148333000486602 ], [ -122.084853000059837, 38.149197001088012 ], [ -122.084533000331135, 38.149645000821785 ], [ -122.084452999970779, 38.150109000391069 ], [ -122.08438900032067, 38.150525001130703 ], [ -122.084389000376646, 38.150701000551685 ], [ -122.084581000235062, 38.151021000588408 ], [ -122.085045000123188, 38.151453000498933 ], [ -122.085477000133068, 38.151789000847039 ], [ -122.085733000076019, 38.151901001038368 ], [ -122.086836999798251, 38.152061000929066 ], [ -122.087924999991202, 38.152269000497363 ], [ -122.088565000140036, 38.152397000741026 ], [ -122.089556999913398, 38.15266900052552 ], [ -122.07867699977453, 38.173132001018452 ], [ -122.075380999618019, 38.179340001006402 ], [ -122.075268999658519, 38.179596000558675 ], [ -122.071093000396488, 38.187419001108701 ], [ -122.069316999412194, 38.190715001001344 ], [ -122.069189000149905, 38.191035000746666 ], [ -122.068309000049354, 38.192667000648889 ], [ -122.061829000258001, 38.205211000765424 ], [ -122.061653000237897, 38.20545100109284 ], [ -122.056053000030943, 38.21607400038878 ], [ -122.051977000473187, 38.223614000733718 ], [ -122.046077000374183, 38.234414000863822 ], [ -122.045726999450082, 38.235027000924596 ], [ -122.045376999404994, 38.235640000757805 ], [ -122.045276999692874, 38.235814000480111 ], [ -122.044493000448995, 38.237621000883223 ], [ -122.043933000202301, 38.238740000366704 ], [ -122.042415999589025, 38.241633000658602 ], [ -122.041251000317516, 38.243387001058387 ], [ -122.040877000060433, 38.243513001017803 ], [ -122.040377000145526, 38.24361300025673 ], [ -122.039286999501712, 38.243869001048914 ], [ -122.037696999953553, 38.244243000284882 ], [ -122.037445999772757, 38.244302000540408 ], [ -122.036542999886322, 38.244514000339926 ], [ -122.034998999659081, 38.244877000390133 ], [ -122.034528999781472, 38.244926000323815 ], [ -122.034151000435685, 38.244946000845459 ], [ -122.033857000268284, 38.244946000564887 ], [ -122.03352100036777, 38.244939000840205 ], [ -122.032818999656797, 38.244870001114208 ], [ -122.031276999735582, 38.244613000829084 ], [ -122.029577000224066, 38.244413000980714 ], [ -122.025075999516389, 38.243913000606462 ], [ -122.024273999439629, 38.243830000859901 ], [ -122.023963000016451, 38.243810000384343 ], [ -122.023382999734167, 38.243777001099758 ], [ -122.020076000326412, 38.243713001073104 ], [ -122.014737000078895, 38.243535000507983 ], [ -122.01407600024649, 38.24351300096302 ], [ -122.010309999858151, 38.243513000981565 ], [ -122.009576000147391, 38.243513000903853 ], [ -122.00634999964204, 38.243538000304852 ], [ -122.005645999428779, 38.24354300070474 ], [ -122.005427999891566, 38.243545000681941 ], [ -122.004484999670765, 38.243517000621154 ], [ -122.000976000063318, 38.24341300101721 ], [ -121.999192999987898, 38.243334000806314 ], [ -121.996617999963291, 38.243298000583806 ], [ -121.994376000470695, 38.243313000497139 ], [ -121.99335999977464, 38.24332100027145 ], [ -121.991298999971846, 38.243337000847134 ], [ -121.988274999464849, 38.243413001066635 ], [ -121.978722999772174, 38.243353000920521 ], [ -121.977920999506239, 38.243341000750469 ], [ -121.974007999962737, 38.243281000649475 ], [ -121.971503000394733, 38.243243001057962 ], [ -121.969941999807205, 38.243219000915403 ], [ -121.969575000361147, 38.243213000593521 ], [ -121.96377499980116, 38.24311300049937 ], [ -121.96187400043533, 38.24161300039588 ], [ -121.960574000511684, 38.240313000482885 ], [ -121.960674000244254, 38.237413000729866 ], [ -121.959374000381658, 38.23741300107833 ], [ -121.958173999693472, 38.237513000681552 ], [ -121.957853999695089, 38.237746001123135 ], [ -121.951719999466889, 38.2398060005616 ], [ -121.951746000141711, 38.241289000353028 ], [ -121.951874000206104, 38.24211300090036 ], [ -121.951874000255216, 38.243113000384369 ], [ -121.941574000339855, 38.243213000979004 ], [ -121.941673999782225, 38.246613000463697 ], [ -121.939474000482463, 38.246613000898343 ], [ -121.939374000357176, 38.247613000637948 ], [ -121.934974000087607, 38.249613000531731 ], [ -121.934973999594078, 38.250213000526706 ], [ -121.923773000093561, 38.250313000832541 ], [ -121.923573000321497, 38.257213000727177 ], [ -121.921472999909497, 38.25731300088826 ], [ -121.91537299986733, 38.261713000627161 ], [ -121.915248999749949, 38.249897000532194 ], [ -121.915344999921956, 38.242825000952656 ], [ -121.913889000496283, 38.242777000932158 ], [ -121.913617000014881, 38.242649000834305 ], [ -121.912897000065854, 38.242377000454972 ], [ -121.912416999602499, 38.242009000381877 ], [ -121.912241000259087, 38.241865000711861 ], [ -121.911680999890436, 38.241321000510375 ], [ -121.91075300038986, 38.23975300031158 ], [ -121.909632999416715, 38.237945000661362 ], [ -121.908961000013932, 38.236937000787186 ], [ -121.908177000241125, 38.235641001002982 ], [ -121.906544999618234, 38.233097000646147 ], [ -121.903567999762075, 38.22833000084114 ], [ -121.915437999933559, 38.228374000435515 ], [ -121.920944999484334, 38.228394000809004 ], [ -121.921361000095715, 38.228090000500721 ], [ -121.921361000030217, 38.227578001000857 ], [ -121.921089000230893, 38.226890000858795 ], [ -121.920641000116518, 38.226474001119222 ], [ -121.920401000295769, 38.226138000887438 ], [ -121.920384999622044, 38.22575400089066 ], [ -121.920240999683884, 38.225354001068887 ], [ -121.919873000175016, 38.225226000993729 ], [ -121.91950499968047, 38.225098000661156 ], [ -121.919185000303003, 38.225082001115723 ], [ -121.919056999727275, 38.225050000703241 ], [ -121.919040999778815, 38.22493800054859 ], [ -121.919025000180795, 38.224810001079746 ], [ -121.919072999827947, 38.224618000769745 ], [ -121.919169000393183, 38.224570001010534 ], [ -121.919424999861803, 38.22449000039088 ], [ -121.919536999956051, 38.224426000511258 ], [ -121.919728999821913, 38.224218000416279 ], [ -121.919808999854766, 38.22389800055938 ], [ -121.91990499972141, 38.223594000283661 ], [ -121.919857000439677, 38.223242000743944 ], [ -121.91977700024799, 38.222922000892574 ], [ -121.919584999825716, 38.222394000881415 ], [ -121.919552999508781, 38.222154000385373 ], [ -121.919536999888635, 38.221994000480294 ], [ -121.919473000253049, 38.221770000300715 ], [ -121.919408999919241, 38.221626000291025 ], [ -121.919281000098451, 38.221482000382366 ], [ -121.919105000494994, 38.221322000587314 ], [ -121.918912999729045, 38.221194000495657 ], [ -121.918689000080178, 38.220986000684135 ], [ -121.91852899986749, 38.22090600074236 ], [ -121.918352999677367, 38.220794000489612 ], [ -121.918177000015845, 38.220682000879982 ], [ -121.91780899991862, 38.220298000699415 ], [ -121.917776999881141, 38.220010000802361 ], [ -121.91816100014654, 38.219802000513447 ], [ -121.918608999710315, 38.21959400100306 ], [ -121.919073000194729, 38.219370000889612 ], [ -121.919184999739002, 38.219290001014542 ], [ -121.919249000153158, 38.21911400110266 ], [ -121.919248999595212, 38.218842000786054 ], [ -121.919008999588968, 38.218570001090605 ], [ -121.918737000354966, 38.218442001110731 ], [ -121.918417000084375, 38.218314000699166 ], [ -121.91817699975428, 38.218218000945583 ], [ -121.917873000388695, 38.218106000764379 ], [ -121.917568999889369, 38.217866000643703 ], [ -121.917265000300247, 38.217514000828189 ], [ -121.917345000217182, 38.217066000453528 ], [ -121.917729000437447, 38.216410001134079 ], [ -121.918385000310749, 38.21556200071867 ], [ -121.918896999853715, 38.214634001032536 ], [ -121.919457000291203, 38.213898000305967 ], [ -121.920049000523861, 38.213370000572482 ], [ -121.920656999918734, 38.212890000521462 ], [ -121.921009000227869, 38.212618000677111 ], [ -121.921041000003584, 38.212314000781085 ], [ -121.921169000035377, 38.211946000810904 ], [ -121.921233000246701, 38.211770000439415 ], [ -121.921264999567413, 38.21108200066012 ], [ -121.921136999658827, 38.210394000260301 ], [ -121.921009000008524, 38.209914000292883 ], [ -121.920976999805418, 38.209322000340372 ], [ -121.921104999826966, 38.208842001119315 ], [ -121.921168999813659, 38.208682000935994 ], [ -121.921377000496065, 38.208298000935407 ], [ -121.921776999486354, 38.207786000242251 ], [ -121.922048999556509, 38.207386000731212 ], [ -121.922369000405311, 38.206810000287469 ], [ -121.922609000269816, 38.206202000427588 ], [ -121.922769000485175, 38.205946000915802 ], [ -121.92284899942274, 38.205242000341869 ], [ -121.922705000384752, 38.204554001056543 ], [ -121.922480999735157, 38.203946000394524 ], [ -121.922160999411261, 38.203354000445842 ], [ -121.921745000524467, 38.202506000256918 ], [ -121.921424999929329, 38.20181800106522 ], [ -121.921216999904971, 38.201402000385372 ], [ -121.921073000425807, 38.200874000693432 ], [ -121.920976999937096, 38.200570000716169 ], [ -121.920816999442607, 38.200074001047319 ], [ -121.920752999814894, 38.199755000404167 ], [ -121.920576000031303, 38.199275000274021 ], [ -121.920511999403772, 38.198923000335419 ], [ -121.920912000037092, 38.198603000487658 ], [ -121.921344999916229, 38.198315001112121 ], [ -121.922112999527428, 38.197899000932786 ], [ -121.923152999476855, 38.197355000327846 ], [ -121.924481000352998, 38.196651000976424 ], [ -121.92590499953792, 38.195867000742858 ], [ -121.927201000306553, 38.19501900087392 ], [ -121.92792099944235, 38.194331000393241 ], [ -121.928145000084641, 38.194139000763855 ], [ -121.928176999721757, 38.194107000302758 ], [ -121.928688999782381, 38.193675000501813 ], [ -121.928912999457481, 38.193435001128812 ], [ -121.929233000281201, 38.192859000717966 ], [ -121.929425000113426, 38.192587000724139 ], [ -121.929713000197253, 38.191931001094588 ], [ -121.929953000403202, 38.191291000593694 ], [ -121.930272999430358, 38.18996300093221 ], [ -121.930353000156344, 38.188827000393104 ], [ -121.930240999607605, 38.187739000555204 ], [ -121.930192999964916, 38.187415000429382 ], [ -121.930131999964189, 38.187415000640385 ], [ -121.929607999691328, 38.187415001026309 ], [ -121.929585999668575, 38.187322000540291 ], [ -121.928890999557154, 38.185732000933477 ], [ -121.927635000010412, 38.184188000872226 ], [ -121.925302000261951, 38.183038000647784 ], [ -121.922024000182049, 38.181645000599303 ], [ -121.91972599994449, 38.180707000812305 ], [ -121.918617999923512, 38.180169000380502 ], [ -121.918529000385803, 38.179940000641814 ], [ -121.91824799977654, 38.179217000562105 ], [ -121.918252000345035, 38.178405001042961 ], [ -121.919975999430079, 38.176867000946437 ], [ -121.922283999551567, 38.175580000391129 ], [ -121.924496000491857, 38.174755000549681 ], [ -121.927983999595014, 38.173138000234985 ], [ -121.93003600050659, 38.171463000864541 ], [ -121.9318420004563, 38.169851000257637 ], [ -121.933003000073441, 38.168737000455948 ], [ -121.933652000300484, 38.168265000493996 ], [ -121.934105000005644, 38.167937000377506 ], [ -121.933627999409353, 38.167336000578977 ], [ -121.932072000499346, 38.165061000308874 ], [ -121.928305000074161, 38.160566000529329 ], [ -121.924918999715103, 38.157401000475289 ], [ -121.921564999481163, 38.155039000683956 ], [ -121.920374000152947, 38.153821000732719 ], [ -121.920297000192974, 38.153743000821812 ], [ -121.917668000229909, 38.151226000750682 ], [ -121.915164000106373, 38.149531001128999 ], [ -121.912202000490623, 38.148065000918876 ], [ -121.910363000341519, 38.146703000799526 ], [ -121.909911000494802, 38.145927000661644 ], [ -121.908949999818986, 38.14391200092367 ], [ -121.908607999435205, 38.142037000802645 ], [ -121.908686999691255, 38.13996900029089 ], [ -121.909943000203739, 38.138587000552249 ], [ -121.911829000102671, 38.137374000891086 ], [ -121.913718999850815, 38.135145000825645 ], [ -121.914896999467018, 38.132784000783658 ], [ -121.915358000262245, 38.131502001075802 ], [ -121.915495999554196, 38.129333000565573 ], [ -121.915026999799224, 38.126941000805047 ], [ -121.914557000447388, 38.124917000945814 ], [ -121.914537999497327, 38.124444000311335 ], [ -121.914415999468162, 38.123918000770004 ], [ -121.914263999450085, 38.123132000389781 ], [ -121.914020000202967, 38.12243700105666 ], [ -121.913607999654729, 38.121667000752012 ], [ -121.913058000246565, 38.120950000693135 ], [ -121.912508999911836, 38.120454000307745 ], [ -121.911770999875074, 38.120017000570812 ], [ -121.910814999474638, 38.11963700049396 ], [ -121.909731999898256, 38.119218001054854 ], [ -121.908313000441424, 38.118859001039453 ], [ -121.906923999907107, 38.118752000702436 ], [ -121.905169999910314, 38.118829000371122 ], [ -121.904223000385059, 38.119119000389226 ], [ -121.903186000072566, 38.119637000462689 ], [ -121.903070999963717, 38.11971700060527 ], [ -121.902147999687514, 38.120454000684511 ], [ -121.900973000295238, 38.121598000543557 ], [ -121.900194999459742, 38.122880000925008 ], [ -121.899157999554262, 38.124230000932677 ], [ -121.89864599999693, 38.124917000912184 ], [ -121.897764000265582, 38.125467000932204 ], [ -121.896861999546459, 38.126019000867089 ], [ -121.895798000365588, 38.126404000638779 ], [ -121.894641000072141, 38.126622000810535 ], [ -121.893845999724761, 38.126694000245109 ], [ -121.892680000469596, 38.126488000892984 ], [ -121.891489999654198, 38.126162000832956 ], [ -121.89052200016377, 38.125697000910854 ], [ -121.889835000137964, 38.125253000812002 ], [ -121.88953300002953, 38.124917000244395 ], [ -121.889210000355419, 38.1235820010845 ], [ -121.888890000077595, 38.122449000342812 ], [ -121.888506999571106, 38.120978000672658 ], [ -121.888761999823885, 38.119249000978193 ], [ -121.888917999425999, 38.118867000970418 ], [ -121.889406000386643, 38.11770000065588 ], [ -121.889879000309747, 38.116883000859829 ], [ -121.89027600020556, 38.116082000734892 ], [ -121.890626999819332, 38.114625000670529 ], [ -121.890794999549215, 38.113580000891545 ], [ -121.890825000047968, 38.112397000759145 ], [ -121.890627000406667, 38.111222000887494 ], [ -121.89030599988989, 38.110009000863585 ], [ -121.890092999950781, 38.109246000686561 ], [ -121.889864000237878, 38.108179000991221 ], [ -121.889710999975577, 38.107485001090637 ], [ -121.889512999587708, 38.106684000301833 ], [ -121.88946699944448, 38.105936000914255 ], [ -121.889497999760621, 38.105455000371308 ], [ -121.889570000179489, 38.104718000893904 ], [ -121.88993999971089, 38.10393000097767 ], [ -121.890810000415129, 38.103060000918845 ], [ -121.892106999901031, 38.10222800061004 ], [ -121.893160000419556, 38.101580000301816 ], [ -121.894044999631788, 38.100847000778309 ], [ -121.894370000042827, 38.100518000773292 ], [ -121.894670000135079, 38.100161000319865 ], [ -121.89517400051993, 38.099581000988415 ], [ -121.895540000326775, 38.098871000557843 ], [ -121.895814999447154, 38.098078000668018 ], [ -121.895860999720824, 38.09748300075546 ], [ -121.895586000185418, 38.096933000811759 ], [ -121.894970000498077, 38.096518000703917 ], [ -121.893464999711298, 38.0960790010678 ], [ -121.892121999748326, 38.095728000431805 ], [ -121.890901999948781, 38.095415000693571 ], [ -121.889832999441879, 38.09511800071629 ], [ -121.888825999405455, 38.094744000933339 ], [ -121.887635999965966, 38.094164000822495 ], [ -121.88691899954496, 38.093592000584366 ], [ -121.886400000116424, 38.093180000630056 ], [ -121.886003000314574, 38.092684001057364 ], [ -121.885769999498223, 38.092318000291336 ], [ -121.885438999528645, 38.091738000497642 ], [ -121.88495099949003, 38.091173000764528 ], [ -121.88443199951459, 38.09043300030639 ], [ -121.884126999888949, 38.089846000370038 ], [ -121.88374500049207, 38.089342000999231 ], [ -121.883195999914264, 38.088785000486439 ], [ -121.882798999872222, 38.088121000678498 ], [ -121.882692000469788, 38.087793000783861 ], [ -121.882569999737655, 38.087418001103437 ], [ -121.88241799974459, 38.087130000595572 ], [ -121.882250000021997, 38.086016000713514 ], [ -121.882418000243987, 38.085192000297532 ], [ -121.882722999697975, 38.08445200047489 ], [ -121.883256999500816, 38.08352100087653 ], [ -121.88400499956326, 38.082857000883401 ], [ -121.884281999445605, 38.082216000912851 ], [ -121.884492999785408, 38.0817280011129 ], [ -121.884996000286847, 38.080957000670992 ], [ -121.885134000127749, 38.080286000274981 ], [ -121.885170000219247, 38.080018000459447 ], [ -121.885133999410911, 38.079325000968637 ], [ -121.884783000270588, 38.078348000540736 ], [ -121.884095999851795, 38.077624000695671 ], [ -121.883470999626084, 38.076991000697596 ], [ -121.882692000131399, 38.076053000322958 ], [ -121.881593999679566, 38.075175000790992 ], [ -121.880418000212387, 38.074313001058471 ], [ -121.879968999492846, 38.074119000513214 ], [ -121.879258000130676, 38.073649000652544 ], [ -121.877992000236759, 38.073138000968342 ], [ -121.877228999698161, 38.072795000304026 ], [ -121.876068999885447, 38.072419000289493 ], [ -121.875468999430495, 38.072239000923396 ], [ -121.874172999484841, 38.071935000943448 ], [ -121.872973000347656, 38.071695000295051 ], [ -121.871756999778157, 38.071503000405912 ], [ -121.870620999765435, 38.071391000738764 ], [ -121.86958100004756, 38.071391000887616 ], [ -121.867980999820631, 38.071279000687234 ], [ -121.866621000199231, 38.071199001012836 ], [ -121.865372999563576, 38.07111900082041 ], [ -121.865349000420764, 38.071114000671784 ], [ -121.861596999710315, 38.069887000541634 ], [ -121.862285999429872, 38.06844600049034 ], [ -121.862542000509194, 38.067950000968573 ], [ -121.862622000518897, 38.066958000873463 ], [ -121.862461999550916, 38.066030000729953 ], [ -121.862534000318817, 38.065898000394434 ], [ -121.862534000274977, 38.065677000887185 ], [ -121.862640999901004, 38.064929000359676 ], [ -121.863113999567261, 38.063472000878185 ], [ -121.863648000153248, 38.062381000993234 ], [ -121.864471999515104, 38.060985000872947 ], [ -121.865188999462873, 38.059909000387968 ], [ -121.866364000386483, 38.058314000610302 ], [ -121.867402000060878, 38.056895000460003 ], [ -121.86854599947371, 38.055545000468889 ], [ -121.869400999837111, 38.054599000628315 ], [ -121.869468999917373, 38.054519001020047 ], [ -121.871095000343786, 38.0530270002847 ], [ -121.872696999864644, 38.051845000575547 ], [ -121.874574000138793, 38.050769000313196 ], [ -121.87472599984126, 38.050677000586781 ], [ -121.875031000323759, 38.050555001011858 ], [ -121.876069000388867, 38.050119000916787 ], [ -121.876069000385797, 38.058989000709246 ], [ -121.876068999723174, 38.059119000809176 ], [ -121.87669499944235, 38.058818000869493 ], [ -121.877014999725233, 38.05867300053886 ], [ -121.877334999865425, 38.058444000237159 ], [ -121.877685999432757, 38.058307000645065 ], [ -121.877991999829248, 38.058131000996426 ], [ -121.878143999970703, 38.058063000635279 ], [ -121.878663000093496, 38.057757000542267 ], [ -121.878998999680206, 38.057643000398542 ], [ -121.879395000278748, 38.05748300072284 ], [ -121.879822999483395, 38.057262000559071 ], [ -121.879968999778768, 38.0570190010286 ], [ -121.880051999602713, 38.05691800053566 ], [ -121.880174000058574, 38.056766000915303 ], [ -121.880341000152228, 38.056575000611197 ], [ -121.880554999529508, 38.056430000860054 ], [ -121.880768999928435, 38.056399000326202 ], [ -121.881119999697844, 38.056300001017966 ], [ -121.881363999937534, 38.056239000617246 ], [ -121.881760999829254, 38.056048000617039 ], [ -121.882268999413071, 38.055819000552873 ], [ -121.882355999574315, 38.055812000595274 ], [ -121.882523000132466, 38.055781000540655 ], [ -121.882920000004603, 38.055736001047144 ], [ -121.883362999502296, 38.055781000652509 ], [ -121.883729000118606, 38.055781001135955 ], [ -121.88412600033719, 38.055789000391201 ], [ -121.884537999785508, 38.055827000538549 ], [ -121.884969000271695, 38.055919000655479 ], [ -121.885148000481465, 38.055957000588933 ], [ -121.885285000446459, 38.055904000265393 ], [ -121.885423000156024, 38.055850000773219 ], [ -121.885682000318084, 38.055705001044657 ], [ -121.88589600027737, 38.055537000835059 ], [ -121.886292000511219, 38.055324000993359 ], [ -121.886581999894275, 38.055232001106965 ], [ -121.886903000397638, 38.055041000841342 ], [ -121.887223000308396, 38.054904000642381 ], [ -121.887681000152028, 38.054736000646599 ], [ -121.887986000224473, 38.054660001051538 ], [ -121.888443999591289, 38.054568000562313 ], [ -121.888901999904945, 38.05445400080955 ], [ -121.889168999986282, 38.054419000435757 ], [ -121.891602999985807, 38.054492001029281 ], [ -121.891726000180611, 38.054523000953218 ], [ -121.891969999528214, 38.054519000816136 ], [ -121.891710000467228, 38.054370000560795 ], [ -121.89143600017853, 38.054362001080179 ], [ -121.89109999990707, 38.054294000849382 ], [ -121.89087100011777, 38.054263000449744 ], [ -121.89026999991664, 38.054219000609464 ], [ -121.890000000161905, 38.054202000617515 ], [ -121.889770999864908, 38.054195000815191 ], [ -121.889465999977716, 38.054256000319278 ], [ -121.888703000078735, 38.054339000268818 ], [ -121.888321999695023, 38.054370000499958 ], [ -121.88797100038316, 38.054462000810013 ], [ -121.887634999514248, 38.054576000694802 ], [ -121.887207999887053, 38.054721000562729 ], [ -121.886857000147415, 38.054881000605718 ], [ -121.886520999528699, 38.054980000639127 ], [ -121.886093999926359, 38.055125000927966 ], [ -121.885849999940461, 38.055194000705512 ], [ -121.885467999658218, 38.055347001070352 ], [ -121.884969000293452, 38.055519000578172 ], [ -121.884934000125639, 38.055514001015645 ], [ -121.884506999792208, 38.055537000924339 ], [ -121.884247999952066, 38.055499000371938 ], [ -121.883911999687214, 38.055537000581232 ], [ -121.883683000057417, 38.055583000736767 ], [ -121.883255999736605, 38.055598000293372 ], [ -121.882950999606237, 38.055598000402384 ], [ -121.882669000387693, 38.055619000966331 ], [ -121.882569000078192, 38.05561400102517 ], [ -121.882400999913116, 38.05561400070799 ], [ -121.882188000131876, 38.055621001117686 ], [ -121.881836999956448, 38.055667000836586 ], [ -121.881623000020468, 38.055743000440501 ], [ -121.88133299966249, 38.055896001051181 ], [ -121.881027999761528, 38.056026000894825 ], [ -121.880707999801032, 38.056209000492707 ], [ -121.880494000457745, 38.056277000421986 ], [ -121.880371999732645, 38.056338000426756 ], [ -121.880036000110067, 38.05636900040431 ], [ -121.879968999530888, 38.056319001063287 ], [ -121.880264999780167, 38.056109000831306 ], [ -121.88064700003261, 38.055942000509873 ], [ -121.880951999775476, 38.055827000986945 ], [ -121.881271999779258, 38.055728000753874 ], [ -121.881531999537728, 38.055537000623858 ], [ -121.881837000109954, 38.055438000299048 ], [ -121.882249000116147, 38.055362000712911 ], [ -121.88282900038061, 38.055400001064214 ], [ -121.883087999925849, 38.05541500058586 ], [ -121.883392999654163, 38.055408001083109 ], [ -121.883728999914183, 38.055308000646804 ], [ -121.884202000194321, 38.055247000561337 ], [ -121.884538000051577, 38.055247000296767 ], [ -121.884827999782004, 38.055156000623448 ], [ -121.885177999754859, 38.054919000647153 ], [ -121.88555999947539, 38.054812000500959 ], [ -121.885668999546553, 38.054719000338295 ], [ -121.885757999807026, 38.05459900038155 ], [ -121.886047999641306, 38.054439000507386 ], [ -121.886230999818494, 38.054332000983727 ], [ -121.886337999592385, 38.05418700038782 ], [ -121.886551999972525, 38.054317000357443 ], [ -121.886749999686415, 38.054210000613288 ], [ -121.88697899971676, 38.05401900107082 ], [ -121.887406000233582, 38.053874001103651 ], [ -121.887788000229136, 38.053897000297844 ], [ -121.888107999457347, 38.053821000788318 ], [ -121.888443999596376, 38.053607000549391 ], [ -121.888870999736312, 38.053721000963549 ], [ -121.889283000409719, 38.053790000639346 ], [ -121.889816999914601, 38.053546000367646 ], [ -121.890030999770588, 38.053538000559215 ], [ -121.890275000164138, 38.053531000997836 ], [ -121.890365999925166, 38.053386000610303 ], [ -121.890533999953561, 38.053332000675738 ], [ -121.890656999778457, 38.053409001038304 ], [ -121.890916999438474, 38.053432000238594 ], [ -121.891297999624229, 38.053401000562737 ], [ -121.891710000324181, 38.053485001000894 ], [ -121.892014999973156, 38.053691000864404 ], [ -121.892365999662019, 38.053653000682125 ], [ -121.892769999512012, 38.053719000843145 ], [ -121.893023000329478, 38.053752000829988 ], [ -121.893205999447474, 38.053821000906048 ], [ -121.893327999685667, 38.054111000973705 ], [ -121.893372999906902, 38.054339000605054 ], [ -121.893465000142598, 38.054492000722298 ], [ -121.893586999676558, 38.054507000368034 ], [ -121.893678999600084, 38.054347000258353 ], [ -121.893708999922808, 38.054240000715296 ], [ -121.893877000388883, 38.054469000979488 ], [ -121.894030000299367, 38.054599000939511 ], [ -121.894365000372488, 38.054828000904898 ], [ -121.894898999580789, 38.055133000868409 ], [ -121.895539999504265, 38.055667000732882 ], [ -121.896028000519919, 38.05613200043571 ], [ -121.896363999386892, 38.056453000962421 ], [ -121.896776000439246, 38.056804000651972 ], [ -121.897158000026138, 38.057117000473021 ], [ -121.897870000406655, 38.057619000984957 ], [ -121.898164999469046, 38.05768900029495 ], [ -121.898667999504298, 38.057895000427479 ], [ -121.899202000399754, 38.058009000811879 ], [ -121.899630000464015, 38.058116000565136 ], [ -121.900179000107087, 38.058299000752115 ], [ -121.900849999710729, 38.058353001087582 ], [ -121.901490999488843, 38.058383001059461 ], [ -121.901795999896677, 38.058368000407626 ], [ -121.90243700046662, 38.058482000798108 ], [ -121.902848999430006, 38.058505000597272 ], [ -121.903246000182648, 38.058574000736108 ], [ -121.903977999531094, 38.058703000345048 ], [ -121.904589000467666, 38.058711000906158 ], [ -121.905569999862408, 38.059019000241292 ], [ -121.905671999545476, 38.059032000474716 ], [ -121.905915999842634, 38.059184000640101 ], [ -121.906115000287656, 38.059245000457999 ], [ -121.906312999389442, 38.059268000606444 ], [ -121.906435000348949, 38.059337001059113 ], [ -121.906664000149775, 38.059512000374994 ], [ -121.907091000069386, 38.059878000251366 ], [ -121.907610000016049, 38.0603060010992 ], [ -121.908170000276883, 38.061119000458113 ], [ -121.908235999619123, 38.061282000948765 ], [ -121.908494999719991, 38.061679000467031 ], [ -121.908770000080295, 38.061938000354466 ], [ -121.908983000346041, 38.062251000520959 ], [ -121.909196999595892, 38.062373000585147 ], [ -121.909516999534262, 38.062953000332428 ], [ -121.909822000167921, 38.063396000339331 ], [ -121.910234000020878, 38.063922001021979 ], [ -121.910677000222776, 38.064731000459012 ], [ -121.910970000316553, 38.065319000360255 ], [ -121.910951999911191, 38.065425000599888 ], [ -121.911073999859241, 38.065929000693401 ], [ -121.911241999815346, 38.066600000334923 ], [ -121.911332999399008, 38.067248000563431 ], [ -121.911302999685063, 38.067935000351667 ], [ -121.911378999930747, 38.068576000325763 ], [ -121.91143999984952, 38.06952200037837 ], [ -121.911269999526723, 38.069619000547426 ], [ -121.911149999733539, 38.070491000969199 ], [ -121.91116999960505, 38.070919000273385 ], [ -121.911164999755272, 38.071086000533235 ], [ -121.911134999950292, 38.071246000850465 ], [ -121.911104000369448, 38.071376000438576 ], [ -121.911042999389565, 38.071483000872547 ], [ -121.910936000493805, 38.071628000272263 ], [ -121.910890999973347, 38.071826001054056 ], [ -121.910691999538628, 38.072040000844183 ], [ -121.910630999582807, 38.072154000982465 ], [ -121.910585000399678, 38.072261000524669 ], [ -121.910493999719748, 38.072436000449343 ], [ -121.910417999508255, 38.07261200095774 ], [ -121.910326000437578, 38.072650000388641 ], [ -121.910387000029644, 38.072902000950677 ], [ -121.910279999983928, 38.073047000589824 ], [ -121.910219000202133, 38.073131000934794 ], [ -121.910188999973343, 38.073215000326051 ], [ -121.910158000194201, 38.073398000587126 ], [ -121.910005999969641, 38.073497000652139 ], [ -121.909974999961179, 38.073611001073893 ], [ -121.91003599999658, 38.073711000576083 ], [ -121.910021000492179, 38.073794000776218 ], [ -121.910050999491517, 38.073955000603057 ], [ -121.910036000113806, 38.074084000951615 ], [ -121.91000600022393, 38.07417600058259 ], [ -121.909837999668483, 38.074260000481765 ], [ -121.909760999474088, 38.074344000838551 ], [ -121.909731000059566, 38.074489000465881 ], [ -121.909821999959632, 38.074626000272914 ], [ -121.909837999401944, 38.074794000864621 ], [ -121.909654999994316, 38.074893000358614 ], [ -121.909304000387394, 38.074969000880365 ], [ -121.90912099969529, 38.075038000880809 ], [ -121.908969999722075, 38.075119000278882 ], [ -121.908952999470273, 38.07503000101611 ], [ -121.90906000010078, 38.074931001007137 ], [ -121.909287999403233, 38.074779000969109 ], [ -121.909426000367304, 38.074420000580481 ], [ -121.909456000169016, 38.07404600068211 ], [ -121.909563000082599, 38.073688000262152 ], [ -121.90966999969983, 38.073299000689133 ], [ -121.909761000210324, 38.073024000832014 ], [ -121.909990000376411, 38.072688000782129 ], [ -121.910111999602037, 38.072459000791135 ], [ -121.910310999870262, 38.072085000462621 ], [ -121.910402000252063, 38.07178000046931 ], [ -121.910523999932153, 38.071559000307793 ], [ -121.910616000252404, 38.071300000542799 ], [ -121.910469999687493, 38.07121900092698 ], [ -121.909070000470308, 38.074319001136821 ], [ -121.908769999569628, 38.074919000525313 ], [ -121.908510000452978, 38.074969001132054 ], [ -121.907885000301903, 38.075046000379814 ], [ -121.907288999787042, 38.075023000420522 ], [ -121.906999999895447, 38.07510700032509 ], [ -121.906831999502757, 38.075313001079621 ], [ -121.90684699976164, 38.075595000325791 ], [ -121.906861999850605, 38.075793000505755 ], [ -121.906800999881199, 38.076114000432817 ], [ -121.906815999781813, 38.076366001014719 ], [ -121.906908000389436, 38.076564000944749 ], [ -121.907044999862165, 38.076891000825292 ], [ -121.90721300039128, 38.076998000892011 ], [ -121.907319999876862, 38.077181000960088 ], [ -121.907472999690555, 38.077326000688402 ], [ -121.907762999591426, 38.077631000659167 ], [ -121.907975999978689, 38.077890000781451 ], [ -121.907970000411936, 38.078118000713793 ], [ -121.90794599940169, 38.078203000584175 ], [ -121.907778000523251, 38.078272000822345 ], [ -121.907472999880881, 38.07841700027511 ], [ -121.90716699952138, 38.078539000841829 ], [ -121.906693999420128, 38.078730000456581 ], [ -121.90629799988686, 38.078951000551136 ], [ -121.906144999473526, 38.079042000251455 ], [ -121.905870000127834, 38.079018000594019 ], [ -121.905970000168253, 38.079718000378868 ], [ -121.909639000196066, 38.082903000508409 ], [ -121.909871000015116, 38.08311800102252 ], [ -121.910281000010855, 38.083223000238867 ], [ -121.910724000361398, 38.083262000768698 ], [ -121.910936999971028, 38.083216000317925 ], [ -121.911170999564263, 38.083218001129836 ], [ -121.911272999501136, 38.083246000464143 ], [ -121.911348999580866, 38.083345000796015 ], [ -121.91147099968336, 38.083551000382805 ], [ -121.911547999545419, 38.083857000747642 ], [ -121.911609000115774, 38.084177000493476 ], [ -121.911654000439171, 38.08436000085203 ], [ -121.911868000480496, 38.084520000315806 ], [ -121.912219000318075, 38.084490000697109 ], [ -121.91237200035151, 38.084414000598379 ], [ -121.912188999590711, 38.084314000530163 ], [ -121.912004999581399, 38.084322000672401 ], [ -121.911883000132605, 38.084055000472645 ], [ -121.911745999489014, 38.083757001027436 ], [ -121.911684999568763, 38.083551000719424 ], [ -121.911624000125215, 38.08328400099176 ], [ -121.911501999604852, 38.083178001110291 ], [ -121.911370999975901, 38.083018000272453 ], [ -121.911394999911323, 38.082926000731561 ], [ -121.911487000383829, 38.082811000642749 ], [ -121.911653999558112, 38.082712000843706 ], [ -121.911868000359561, 38.082636000338972 ], [ -121.912066000329332, 38.082636000511577 ], [ -121.912265000121579, 38.082613000997412 ], [ -121.912417000116633, 38.082598000848876 ], [ -121.912493999500157, 38.082651000599313 ], [ -121.912631000017015, 38.082842000644028 ], [ -121.912859999657144, 38.082994000746581 ], [ -121.913164999598052, 38.083078001068728 ], [ -121.913409000027499, 38.082987001034134 ], [ -121.913698999542888, 38.083017000573285 ], [ -121.913989000013132, 38.083071000279169 ], [ -121.914172000047586, 38.083025000580101 ], [ -121.914583999780419, 38.082972000918197 ], [ -121.915071999958244, 38.083010001080062 ], [ -121.915393000404919, 38.082964000952522 ], [ -121.915607000048766, 38.082903001030076 ], [ -121.915729000057993, 38.08281100093987 ], [ -121.915865999749613, 38.082788000922477 ], [ -121.916063999993085, 38.082804000353832 ], [ -121.916339000305541, 38.082834001022874 ], [ -121.916735999696868, 38.082842000882522 ], [ -121.917131999985841, 38.082735000286213 ], [ -121.917376999404098, 38.082575000557448 ], [ -121.917529000204496, 38.082438000353832 ], [ -121.917742999873951, 38.082460000581072 ], [ -121.917772999930662, 38.082598000533217 ], [ -121.917742999777843, 38.082712000374634 ], [ -121.917818999540216, 38.082804000260303 ], [ -121.91820100041005, 38.082811000866357 ], [ -121.918535999606618, 38.082773000532022 ], [ -121.918856999508421, 38.082659000577124 ], [ -121.919171000260917, 38.082618000574598 ], [ -121.919359999646517, 38.083063000348808 ], [ -121.919435999935587, 38.083170000316727 ], [ -121.919528000417046, 38.083269001058788 ], [ -121.919665000074772, 38.08332300113176 ], [ -121.919833000316302, 38.083323000811568 ], [ -121.919986000252536, 38.08324600025896 ], [ -121.920076999510215, 38.083124000472708 ], [ -121.919971000274103, 38.083018000451204 ], [ -121.919787000020122, 38.083071000831957 ], [ -121.919695999393369, 38.083078000541043 ], [ -121.919588999738153, 38.083048000537573 ], [ -121.919467000334834, 38.08291800077577 ], [ -121.919421000511861, 38.082788000412968 ], [ -121.919420999963947, 38.082651000429287 ], [ -121.919573999595471, 38.082430000490795 ], [ -121.920000999984552, 38.082216000758081 ], [ -121.920367000348875, 38.08203300041027 ], [ -121.920642000031464, 38.081934000298176 ], [ -121.922171000168674, 38.081618000758041 ], [ -121.920471000353146, 38.082518000360579 ], [ -121.920571000206039, 38.082618000260368 ], [ -121.922571000375925, 38.081718000552328 ], [ -121.922609999575442, 38.081484000839581 ], [ -121.922549000179558, 38.081369000430279 ], [ -121.922702000134521, 38.081247001016074 ], [ -121.923099000262198, 38.081125000835158 ], [ -121.923204999615336, 38.081110000424879 ], [ -121.923571999789601, 38.081102000852042 ], [ -121.924090000261629, 38.08101800055222 ], [ -121.924517999505184, 38.080881000657527 ], [ -121.924945000218784, 38.080729000644801 ], [ -121.925219999608927, 38.080881001088038 ], [ -121.925508999644563, 38.081034000406561 ], [ -121.925967000441361, 38.08082000088411 ], [ -121.926440000164106, 38.080675000280536 ], [ -121.926913000285396, 38.080690001104259 ], [ -121.927233999454046, 38.080774001115891 ], [ -121.927356000229707, 38.080851000953082 ], [ -121.927464999972415, 38.08083900087199 ], [ -121.927569000161824, 38.080828000500944 ], [ -121.927753000345803, 38.080690000964566 ], [ -121.928087999581109, 38.080553000973147 ], [ -121.928409000182654, 38.080439000875096 ], [ -121.928670999909684, 38.080518000508498 ], [ -121.928698999520677, 38.080538001026639 ], [ -121.928759999602391, 38.080622001083498 ], [ -121.92875999983859, 38.080805000476609 ], [ -121.928744000032921, 38.080950001047093 ], [ -121.928789999864634, 38.081087000518686 ], [ -121.928912000193989, 38.081148000842404 ], [ -121.929034000515344, 38.081179000580022 ], [ -121.929216999875322, 38.081232001030557 ], [ -121.929385000202998, 38.081285000633798 ], [ -121.929553000341556, 38.081308000436806 ], [ -121.929705999636226, 38.081385000831098 ], [ -121.929614000336784, 38.081507000910094 ], [ -121.929570999463948, 38.081618000613474 ], [ -121.929671000491552, 38.082018001042556 ], [ -121.93007099997476, 38.081918000241387 ], [ -121.930040999391835, 38.081705000325549 ], [ -121.930025999620653, 38.081621000712175 ], [ -121.929979999453138, 38.081484000817042 ], [ -121.929950000460451, 38.081377001067999 ], [ -121.929871000113451, 38.081218000580918 ], [ -121.929965000005097, 38.081148001103642 ], [ -121.93008699956178, 38.081133000476065 ], [ -121.930209000472189, 38.081110000331321 ], [ -121.93040799958824, 38.081095000959721 ], [ -121.930544999841899, 38.081064000596193 ], [ -121.930774000110432, 38.080919000345531 ], [ -121.931094000476321, 38.080835000490637 ], [ -121.931262000142638, 38.080858000547877 ], [ -121.931491000205199, 38.080881000778582 ], [ -121.931612999748552, 38.080835000421082 ], [ -121.931734999433118, 38.08069800085913 ], [ -121.931870999840712, 38.0806180002593 ], [ -121.932054999720194, 38.080584000604603 ], [ -121.932300000337193, 38.080545000576713 ], [ -121.93246699966447, 38.080507001119983 ], [ -121.93259000050584, 38.080446000486958 ], [ -121.932803000091965, 38.080332000445317 ], [ -121.932970999412689, 38.080210000270618 ], [ -121.933077999467002, 38.080103000544014 ], [ -121.933184999500696, 38.079958000834552 ], [ -121.933336999587411, 38.079844000281618 ], [ -121.933489999543738, 38.07986600031083 ], [ -121.93361199967292, 38.07998100077873 ], [ -121.933779999409566, 38.080156000367751 ], [ -121.933916999889021, 38.080057001098304 ], [ -121.934130999616443, 38.080111000637899 ], [ -121.934221999646724, 38.079988001019402 ], [ -121.93429900049388, 38.079836000443116 ], [ -121.934543000332425, 38.079630000365114 ], [ -121.934711000143835, 38.079706001021975 ], [ -121.935031000401096, 38.079760000874593 ], [ -121.935457999754291, 38.079775001000122 ], [ -121.935732999727918, 38.079691000750039 ], [ -121.935946000282968, 38.079584000303782 ], [ -121.936236000213526, 38.079599000739215 ], [ -121.936404000044661, 38.079653000612431 ], [ -121.936647999884514, 38.079775000707151 ], [ -121.936861999466032, 38.079805000659718 ], [ -121.937137000261416, 38.079889000924325 ], [ -121.937258999571114, 38.080103000672082 ], [ -121.937242999652469, 38.080271000360973 ], [ -121.937198000147646, 38.080439000932785 ], [ -121.937270999535144, 38.080518000525473 ], [ -121.937305000102626, 38.080584000301286 ], [ -121.93744200035178, 38.080629000662654 ], [ -121.93757899968881, 38.080645000750565 ], [ -121.93777799945741, 38.080530000790262 ], [ -121.937807999681269, 38.08043900066442 ], [ -121.937778000092152, 38.080355000675389 ], [ -121.937838999528978, 38.080187000291438 ], [ -121.937970999965557, 38.080118001124475 ], [ -121.938159000473561, 38.0800880007058 ], [ -121.938295999750437, 38.080103000478061 ], [ -121.93841799999565, 38.080118000682255 ], [ -121.938586000408208, 38.080088000953126 ], [ -121.938738999823187, 38.080050000385796 ], [ -121.939013999753683, 38.079927000278303 ], [ -121.939333999726045, 38.079775000921956 ], [ -121.939502000228629, 38.07969100025187 ], [ -121.939685000431638, 38.079592001049633 ], [ -121.939791999939629, 38.079577000969572 ], [ -121.939899000080302, 38.079638000605193 ], [ -121.940070999973585, 38.079718000579248 ], [ -121.940050999419157, 38.079592000699549 ], [ -121.940065999400758, 38.079447001124443 ], [ -121.940126999542201, 38.079317000306986 ], [ -121.940233999942279, 38.079241000262932 ], [ -121.940371999406963, 38.079172001094129 ], [ -121.940493999537438, 38.079111001122818 ], [ -121.940768000100434, 38.078951000927241 ], [ -121.94102799942894, 38.078791000986747 ], [ -121.941317999477434, 38.078684000530053 ], [ -121.941577000478247, 38.078592000692794 ], [ -121.941713999959887, 38.078501000644508 ], [ -121.941770999991448, 38.078418000468481 ], [ -121.941912999648949, 38.078280000438113 ], [ -121.942324999485493, 38.077982000879125 ], [ -121.942874000216648, 38.077845000719229 ], [ -121.943454000421681, 38.077921001108358 ], [ -121.943652000470763, 38.07794400081449 ], [ -121.943743999507461, 38.077906000491858 ], [ -121.943927000515401, 38.077806000532796 ], [ -121.944186000379716, 38.077700000412321 ], [ -121.944445999961289, 38.077654000709387 ], [ -121.944689999852287, 38.077677000870075 ], [ -121.9450569995835, 38.077692000422338 ], [ -121.945255000153338, 38.07766900078731 ], [ -121.945376999843987, 38.07751700097225 ], [ -121.945682999500931, 38.077341000825015 ], [ -121.945895999746071, 38.07731800038782 ], [ -121.945987999960295, 38.077333000301593 ], [ -121.946216999738283, 38.077395000954951 ], [ -121.946338999965135, 38.077440000652324 ], [ -121.946322999604632, 38.077349000355142 ], [ -121.946262000154647, 38.077127000397283 ], [ -121.946415000362094, 38.076929000501806 ], [ -121.946705000280417, 38.076906000346895 ], [ -121.946780999556424, 38.076983000419233 ], [ -121.946964000230196, 38.076853000558586 ], [ -121.94719299998836, 38.076815000267928 ], [ -121.947392000513489, 38.076899000449174 ], [ -121.947604999509252, 38.077089000792469 ], [ -121.94781900004709, 38.077250000559388 ], [ -121.94807199947148, 38.077518001039088 ], [ -121.948260999882621, 38.077562000568598 ], [ -121.948367999398471, 38.077570000436943 ], [ -121.948581999839888, 38.077532001114669 ], [ -121.94879500033916, 38.077456000624103 ], [ -121.948933000506671, 38.077395000652636 ], [ -121.949252999975826, 38.077250001009688 ], [ -121.949496999919035, 38.077204000250646 ], [ -121.949589000519097, 38.077234000319081 ], [ -121.949672000398763, 38.077318000669862 ], [ -121.949618999629166, 38.077463000848695 ], [ -121.949421000366598, 38.077547000279417 ], [ -121.949131000042343, 38.077662000440633 ], [ -121.948994000417841, 38.077707000837435 ], [ -121.94882600035659, 38.077730000257915 ], [ -121.948581999816682, 38.077829000704895 ], [ -121.94845999940037, 38.077906000762653 ], [ -121.948231000380503, 38.077990001061266 ], [ -121.948048000273744, 38.078035000498758 ], [ -121.947865000496165, 38.078058000353074 ], [ -121.947727000147466, 38.078051000396556 ], [ -121.947471999533633, 38.078118000586166 ], [ -121.947711999785056, 38.078173000490011 ], [ -121.947895000459923, 38.078165000242706 ], [ -121.948093000275037, 38.078135000386936 ], [ -121.948277000152189, 38.078119000958935 ], [ -121.94839900020213, 38.07810400108832 ], [ -121.94858199951851, 38.078028001099398 ], [ -121.948810999399441, 38.077944001024441 ], [ -121.94891699959733, 38.077898000790213 ], [ -121.949115999822823, 38.07782200067853 ], [ -121.94925300051888, 38.077761000411861 ], [ -121.949496999676924, 38.077677000616454 ], [ -121.949619000052735, 38.077616001012366 ], [ -121.949772000334633, 38.077618001127838 ], [ -121.949725999710225, 38.077692001018434 ], [ -121.949573999553905, 38.077768000512521 ], [ -121.949390000507563, 38.077921000594934 ], [ -121.949191999681673, 38.078112000393297 ], [ -121.949039999791935, 38.078272000284926 ], [ -121.948932999636725, 38.078402000889056 ], [ -121.94879500000836, 38.078531000399799 ], [ -121.948734000441689, 38.078592000492606 ], [ -121.948627999895308, 38.078669000541829 ], [ -121.948472000456022, 38.078718000366038 ], [ -121.948383000488448, 38.078745000941183 ], [ -121.948321999828536, 38.078814001123263 ], [ -121.948184999899638, 38.078905000801051 ], [ -121.948093000183619, 38.078981000922191 ], [ -121.947971000203694, 38.079050001031305 ], [ -121.947879999573587, 38.079058000468194 ], [ -121.947742999985138, 38.078959000873198 ], [ -121.947665999929683, 38.078905000253975 ], [ -121.947620000491085, 38.078836000269305 ], [ -121.947558999396037, 38.078684000396464 ], [ -121.947452999874486, 38.078691000887225 ], [ -121.947571999828796, 38.078918000617534 ], [ -121.947271999486205, 38.078818001111607 ], [ -121.94737599945509, 38.078959000913244 ], [ -121.947497999570729, 38.079142001055004 ], [ -121.947651000085514, 38.07937100044424 ], [ -121.947864999793012, 38.079584000805156 ], [ -121.947926000002539, 38.079676000374725 ], [ -121.948016999513527, 38.079821000982612 ], [ -121.948092999822975, 38.079988000834376 ], [ -121.948246000192697, 38.080111000878574 ], [ -121.948371999486042, 38.080118000997686 ], [ -121.948535999585602, 38.080072001053779 ], [ -121.948673000160596, 38.079981000999844 ], [ -121.948765000148114, 38.079920000699381 ], [ -121.948887000103895, 38.079836000424073 ], [ -121.948994000109067, 38.079744000734728 ], [ -121.949072000440353, 38.07961800093976 ], [ -121.949238000373512, 38.079401001069428 ], [ -121.949298999847713, 38.079248001121776 ], [ -121.949375000408352, 38.079142000698056 ], [ -121.949466999631696, 38.079065000988891 ], [ -121.949573999641814, 38.078928000871784 ], [ -121.949664999629576, 38.078829000881754 ], [ -121.949817999435766, 38.078722000317654 ], [ -121.949970000003717, 38.078615000535059 ], [ -121.950184000353943, 38.078379000990751 ], [ -121.950351999597132, 38.078203000380796 ], [ -121.950503999863372, 38.078058000841466 ], [ -121.950763999765755, 38.077784000985289 ], [ -121.950900999433145, 38.077600000938098 ], [ -121.950993000305942, 38.077471001073853 ], [ -121.951068999984273, 38.077227000474394 ], [ -121.951115000102462, 38.07701300026006 ], [ -121.951130000398749, 38.076815000667516 ], [ -121.951098999668858, 38.076693000468488 ], [ -121.951071999897934, 38.076618000577952 ], [ -121.950900999398087, 38.076670000695295 ], [ -121.950778999690954, 38.07673800070399 ], [ -121.950595999750959, 38.076738000645761 ], [ -121.95051999995944, 38.076693000696388 ], [ -121.950366999451745, 38.076754001058376 ], [ -121.950198999712015, 38.076853000564526 ], [ -121.950077000454058, 38.076952000749145 ], [ -121.949969999658776, 38.076914000997924 ], [ -121.949985999595143, 38.076845000703145 ], [ -121.949879000135923, 38.076761000608812 ], [ -121.949771999408398, 38.076718000590375 ], [ -121.949725999822348, 38.076639000322508 ], [ -121.949832999909944, 38.07653200042428 ], [ -121.949969999769905, 38.076342000959393 ], [ -121.950169000236642, 38.076105000295797 ], [ -121.950366999908809, 38.07589900026661 ], [ -121.950642000124802, 38.075808000989632 ], [ -121.950764000444153, 38.07580800070636 ], [ -121.950855000426742, 38.075617000945719 ], [ -121.950886000300187, 38.075449000516933 ], [ -121.950901000235817, 38.075365000790683 ], [ -121.950931999856479, 38.075297000338608 ], [ -121.951071999590511, 38.075219001103271 ], [ -121.951130000090387, 38.075259000385877 ], [ -121.951237000454853, 38.075365000482961 ], [ -121.951283000194252, 38.075449000271938 ], [ -121.951236999512972, 38.075602000955918 ], [ -121.951190999575431, 38.075670000998102 ], [ -121.951282999650431, 38.075754000345526 ], [ -121.951389000508371, 38.075739000563601 ], [ -121.951603000318329, 38.075792000383139 ], [ -121.951756000276475, 38.075892000735067 ], [ -121.951847000106739, 38.076059000503157 ], [ -121.952030000008762, 38.076120000960309 ], [ -121.952136999561105, 38.076036000421468 ], [ -121.952273999974736, 38.075983000507456 ], [ -121.952473000228906, 38.076021000836278 ], [ -121.952670999703471, 38.076159000920832 ], [ -121.95282399956082, 38.076265000355974 ], [ -121.952991999470981, 38.076349000536396 ], [ -121.953219999857239, 38.076471000469816 ], [ -121.953495000475755, 38.076509000988906 ], [ -121.953647999675781, 38.076479001045755 ], [ -121.953770000148282, 38.076517000316485 ], [ -121.953872000380869, 38.076618000282977 ], [ -121.953983000178766, 38.07667000043449 ], [ -121.954182000139653, 38.076624000327655 ], [ -121.954364999745707, 38.076616000779417 ], [ -121.954517000520667, 38.076700000630616 ], [ -121.954716000049174, 38.07681500108059 ], [ -121.954868000345897, 38.076891001051834 ], [ -121.954974999668735, 38.076899000307812 ], [ -121.955143000068503, 38.076906000725586 ], [ -121.95534099989105, 38.076921000240716 ], [ -121.955479000485767, 38.076944000911233 ], [ -121.955569999629361, 38.07704400039006 ], [ -121.95566200046018, 38.07715800048112 ], [ -121.955813999902915, 38.077044000296681 ], [ -121.955966999765309, 38.077028000840969 ], [ -121.956104000054793, 38.077044000958189 ], [ -121.956303000215527, 38.077250000746751 ], [ -121.956424999829636, 38.077501000394427 ], [ -121.956470999542844, 38.077745001050737 ], [ -121.956471999584764, 38.078018000608161 ], [ -121.956471000104614, 38.078157001081031 ], [ -121.956317999660868, 38.078112000617772 ], [ -121.956225999687604, 38.078112000938269 ], [ -121.956089000091197, 38.078272000872275 ], [ -121.954364999664335, 38.080629000895215 ], [ -121.954228000461839, 38.080805000987333 ], [ -121.954044000287155, 38.081026000629087 ], [ -121.953892000324046, 38.081224000373041 ], [ -121.953754000024944, 38.081400000884216 ], [ -121.953616999594104, 38.081621000987042 ], [ -121.953373000314272, 38.081903001091128 ], [ -121.953235999719041, 38.08207900085138 ], [ -121.953097999468596, 38.082277000743922 ], [ -121.953022000463534, 38.082575000319828 ], [ -121.952945999757844, 38.082743000316547 ], [ -121.952838999664891, 38.083040000717595 ], [ -121.952747000328301, 38.083277000295837 ], [ -121.952670999594091, 38.083513000508319 ], [ -121.952548999515926, 38.083742000771807 ], [ -121.952412000428836, 38.083941000966149 ], [ -121.952319999653412, 38.084085001121885 ], [ -121.952168000021089, 38.08422300108338 ], [ -121.951954000493231, 38.084314000654608 ], [ -121.951831999696594, 38.084360000509143 ], [ -121.95167199961449, 38.084418001028247 ], [ -121.951709999858366, 38.084513000934592 ], [ -121.951755999930654, 38.084597000450181 ], [ -121.951816999534444, 38.08474900076309 ], [ -121.951871999699847, 38.084818000955302 ], [ -121.95198400014867, 38.084818000419261 ], [ -121.952168000169735, 38.084742000322137 ], [ -121.952366000339694, 38.084574000836412 ], [ -121.952519000076066, 38.084345000459656 ], [ -121.95265600049666, 38.084002000828413 ], [ -121.952701999441928, 38.083841000385441 ], [ -121.952854000314332, 38.0835290007699 ], [ -121.953006999805609, 38.08322300037981 ], [ -121.95312900036447, 38.082918000669999 ], [ -121.953236000298816, 38.082712000993482 ], [ -121.953388000310682, 38.082445000460012 ], [ -121.953494999991889, 38.082209000910566 ], [ -121.953709000262236, 38.081858000319066 ], [ -121.953846000296849, 38.081636000638539 ], [ -121.954029000405484, 38.081415000550791 ], [ -121.954136000421556, 38.081255001132824 ], [ -121.954502000091182, 38.080973000676707 ], [ -121.954672000448042, 38.080818000752402 ], [ -121.954898999642126, 38.080774000598048 ], [ -121.955174000359165, 38.080637000513221 ], [ -121.955432999409382, 38.080576000724299 ], [ -121.955722999832957, 38.080439001088806 ], [ -121.955936999589952, 38.080339001016547 ], [ -121.956317999929567, 38.080240000794532 ], [ -121.956714999853176, 38.080164000465778 ], [ -121.957111000304977, 38.080103001000218 ], [ -121.957417000312574, 38.080072000778912 ], [ -121.957736999715891, 38.080080000785706 ], [ -121.958134000066607, 38.080057000378012 ], [ -121.95840799959214, 38.080111001061226 ], [ -121.958671999713488, 38.080118001065998 ], [ -121.958743999623792, 38.080210000634061 ], [ -121.958805000340291, 38.080286000293327 ], [ -121.95888100018162, 38.080431000289714 ], [ -121.958958000369833, 38.080523000765631 ], [ -121.95906500026102, 38.080622001009871 ], [ -121.959278000489064, 38.080652000906845 ], [ -121.95953799945373, 38.080645000603567 ], [ -121.959671999895576, 38.080618000629933 ], [ -121.960728000051148, 38.08065200065522 ], [ -121.962543999886847, 38.080767000711738 ], [ -121.96439000017503, 38.080843000642993 ], [ -121.964871999992525, 38.080718000250933 ], [ -121.964972000366316, 38.080518000519838 ], [ -121.96497000005418, 38.080225000806536 ], [ -121.964970000332556, 38.079988000258666 ], [ -121.964831999648069, 38.079821000310297 ], [ -121.964672000435939, 38.079718000969557 ], [ -121.963748999888665, 38.079157000306587 ], [ -121.963489999924533, 38.078859000556825 ], [ -121.963471999898658, 38.078718001060615 ], [ -121.96361200024144, 38.07868400086172 ], [ -121.964085000421093, 38.078615000410949 ], [ -121.964671999973987, 38.078518000474702 ], [ -121.96483199941737, 38.078417000906789 ], [ -121.964972000414406, 38.078318000580339 ], [ -121.965061000020313, 38.078058000901649 ], [ -121.965228999457082, 38.077921000802299 ], [ -121.965372000324024, 38.077818000547232 ], [ -121.966472000258477, 38.077218000991422 ], [ -121.966671999430517, 38.077018000350982 ], [ -121.966662999825743, 38.076853001005503 ], [ -121.966871999812497, 38.076618000975991 ], [ -121.966998999892382, 38.076441000271942 ], [ -121.967271999512505, 38.076218000625659 ], [ -121.96727200017142, 38.075918000298323 ], [ -121.967197000249797, 38.0757620002531 ], [ -121.967426000148308, 38.075670000318972 ], [ -121.967564000239776, 38.0756020009145 ], [ -121.967686000233329, 38.075563000688497 ], [ -121.967837999953716, 38.075472000741222 ], [ -121.968067000267254, 38.075319000712447 ], [ -121.968204999557059, 38.075151000404588 ], [ -121.968463999922477, 38.074892000998204 ], [ -121.968632000374427, 38.074793000418389 ], [ -121.968814999484209, 38.074732000540834 ], [ -121.968972000498354, 38.074719000520446 ], [ -121.968800000349816, 38.074634001124736 ], [ -121.968510000044503, 38.074641000267142 ], [ -121.968171999688423, 38.074619000641604 ], [ -121.968265999652203, 38.074458000499803 ], [ -121.968417999759424, 38.074367000673398 ], [ -121.968494000342886, 38.074290000435418 ], [ -121.968555999589256, 38.074184000525229 ], [ -121.968707999657269, 38.074100000270725 ], [ -121.968890999871618, 38.07410700087847 ], [ -121.969090000168833, 38.074344000960799 ], [ -121.969271999879027, 38.07441900092239 ], [ -121.969363999661283, 38.074397000922694 ], [ -121.9695610001868, 38.074387000549407 ], [ -121.969668999690526, 38.074382001057934 ], [ -121.969958999954997, 38.074405000537418 ], [ -121.970097000404436, 38.074382000806125 ], [ -121.970294999930047, 38.074344000917051 ], [ -121.970660999916603, 38.074252000769512 ], [ -121.970965999577444, 38.074153000739045 ], [ -121.971286999586496, 38.074054000277791 ], [ -121.971667999868913, 38.073978000978606 ], [ -121.971760000136371, 38.073947001082779 ], [ -121.972018999880987, 38.073878001069659 ], [ -121.972572000179824, 38.073919000298368 ], [ -121.973681999553165, 38.074184000869067 ], [ -121.973971999399964, 38.074336000765591 ], [ -121.974155000008537, 38.074512000696735 ], [ -121.974338999916668, 38.074709000829912 ], [ -121.974383999411472, 38.075022000706745 ], [ -121.974415000430028, 38.07535700031211 ], [ -121.974461000147329, 38.075647001014481 ], [ -121.974567000316952, 38.076021001118605 ], [ -121.974812000003141, 38.076281000624746 ], [ -121.975072000441031, 38.076518000937817 ], [ -121.975132000168372, 38.076624000324585 ], [ -121.975315000366592, 38.07689900090849 ], [ -121.975452000071627, 38.077105001130803 ], [ -121.975741999635304, 38.077707000955044 ], [ -121.975819000049867, 38.07790600054124 ], [ -121.975833999752282, 38.078249001129038 ], [ -121.975864000399326, 38.078623000906603 ], [ -121.975895000498269, 38.078768000794149 ], [ -121.975986999664272, 38.079111000888126 ], [ -121.976153999894919, 38.079599001047903 ], [ -121.976215000386702, 38.079935000366326 ], [ -121.976429999383683, 38.08049200102338 ], [ -121.976522000267224, 38.080744000349362 ], [ -121.97659800018485, 38.080965000792901 ], [ -121.976628000156936, 38.081102000414582 ], [ -121.976689000077386, 38.081163000505477 ], [ -121.976811999422466, 38.081270000898655 ], [ -121.976972999886272, 38.081318000476692 ], [ -121.977146999521196, 38.081400000612739 ], [ -121.977330000024224, 38.081377001122895 ], [ -121.977635999884725, 38.081293001108364 ], [ -121.977879999988559, 38.081202000931313 ], [ -121.978046999990724, 38.081133000502284 ], [ -121.97824599967052, 38.081087001105409 ], [ -121.978581999723659, 38.08104100080223 ], [ -121.978902000078875, 38.08090400079999 ], [ -121.979374999648101, 38.080736000347621 ], [ -121.979786999410521, 38.08065200050811 ], [ -121.980123000223045, 38.08056100032077 ], [ -121.980427999492818, 38.080515000540792 ], [ -121.980673000124554, 38.080618000295289 ], [ -121.980900999970231, 38.080629001011317 ], [ -121.981084000138836, 38.080668000279871 ], [ -121.981251999578006, 38.080751000395644 ], [ -121.981573000106536, 38.080918000987957 ], [ -121.981359000344924, 38.080553001051911 ], [ -121.981267000195615, 38.080484001055531 ], [ -121.981145000368585, 38.080446000512879 ], [ -121.981038000332845, 38.080423000420453 ], [ -121.980870000479982, 38.080416000933546 ], [ -121.980550000049362, 38.080385001094847 ], [ -121.980320999946784, 38.080385000608771 ], [ -121.979969999960588, 38.08037800068054 ], [ -121.979771999554728, 38.080393000820663 ], [ -121.979467000451976, 38.080423000934282 ], [ -121.979237999626363, 38.080462000525586 ], [ -121.97914599970899, 38.080530000444469 ], [ -121.979070000196671, 38.080561000874496 ], [ -121.978826000160211, 38.080713000581625 ], [ -121.978474999807247, 38.080820000708911 ], [ -121.978337000276511, 38.080881000306555 ], [ -121.978230999510572, 38.080935000433819 ], [ -121.978046999519819, 38.080957000376046 ], [ -121.977909999560779, 38.080912000364187 ], [ -121.977848999418555, 38.080858000852153 ], [ -121.977772999558155, 38.080721000641468 ], [ -121.977802999646556, 38.080591000452372 ], [ -121.977863999729578, 38.080263000941066 ], [ -121.977985999387499, 38.079866000997811 ], [ -121.978032000495176, 38.079729001139341 ], [ -121.9780730001752, 38.079618000988276 ], [ -121.978170000475444, 38.079386001100609 ], [ -121.978292000015813, 38.079279001000558 ], [ -121.978550999665273, 38.079073000451146 ], [ -121.978765000480692, 38.078981000380089 ], [ -121.979055000130401, 38.078897000823602 ], [ -121.979389999676442, 38.078821000570962 ], [ -121.979618999827878, 38.07886700050291 ], [ -121.980015999508751, 38.079042000426895 ], [ -121.980413000447612, 38.079248000895127 ], [ -121.981273000457449, 38.079718000802814 ], [ -121.981312999664993, 38.079798000331486 ], [ -121.981572000120451, 38.080103000777775 ], [ -121.981771000118883, 38.08037800111039 ], [ -121.981953999900682, 38.080828001083972 ], [ -121.982182999812835, 38.081285000786657 ], [ -121.98225900004519, 38.081469000716474 ], [ -121.982372999781475, 38.081618000933958 ], [ -121.982090999651589, 38.081614000311959 ], [ -121.981873000491376, 38.081518000372803 ], [ -121.981922999403096, 38.081804000529722 ], [ -121.982030000066388, 38.082079000901601 ], [ -121.982151999951682, 38.082285000341436 ], [ -121.982259000033025, 38.082521000999435 ], [ -121.982273999626358, 38.08274300069921 ], [ -121.982366000490913, 38.083033000894211 ], [ -121.982518000002159, 38.083246001021209 ], [ -121.982792999585968, 38.083422000839079 ], [ -121.983082999758651, 38.083689000343369 ], [ -121.983373000287415, 38.083994000939803 ], [ -121.983723999607207, 38.084307000579457 ], [ -121.984473000419626, 38.085018000773239 ], [ -121.984548000273293, 38.085054001051219 ], [ -121.985067000394068, 38.085360000981652 ], [ -121.985570000333681, 38.085588000340465 ], [ -121.986333000256167, 38.085810000615481 ], [ -121.987232999390315, 38.08594700084565 ], [ -121.988149000001172, 38.086107001020451 ], [ -121.988834999724787, 38.086130000838558 ], [ -121.989980000278891, 38.086329000879793 ], [ -121.990727999428842, 38.086290000615158 ], [ -121.991032999726556, 38.086252000820032 ], [ -121.991367999765032, 38.08610700080235 ], [ -121.991917999451687, 38.085833001070149 ], [ -121.992161999828852, 38.08568800033909 ], [ -121.992473000260603, 38.085518000794828 ], [ -121.992619999955693, 38.085558001019393 ], [ -121.99286400051858, 38.085657000504696 ], [ -121.993321999985241, 38.085878001132343 ], [ -121.993688000493165, 38.086123000859224 ], [ -122.001072999405508, 38.08891800069874 ], [ -122.001848999395847, 38.08907600112714 ], [ -122.002964000131328, 38.089502001111093 ], [ -122.003809000474376, 38.090088000438406 ], [ -122.004452000187257, 38.090381000621711 ], [ -122.005803999875283, 38.090434000247924 ], [ -122.0063439998506, 38.090833000653653 ], [ -122.006615000303697, 38.090940000263643 ], [ -122.006953000436965, 38.090940000297905 ], [ -122.007357999487937, 38.091446000661634 ], [ -122.007695999917445, 38.091712000537662 ], [ -122.008136000484356, 38.091659001124192 ], [ -122.008677000124351, 38.091579001058967 ], [ -122.008709999860287, 38.091925000914983 ], [ -122.008879000424372, 38.092191000923727 ], [ -122.009622999663861, 38.092590000776262 ], [ -122.010529000221979, 38.092899000300669 ] ] ], [ [ [ -122.001455999805273, 38.083834000375241 ], [ -122.001155999651573, 38.083780000542646 ], [ -122.000829000026044, 38.083803000683503 ], [ -122.000553999742237, 38.083658000579554 ], [ -122.000324999608083, 38.083506000966885 ], [ -122.00012700017308, 38.083338000839035 ], [ -122.000073000214527, 38.083218000346136 ], [ -122.000233999640173, 38.083033001039595 ], [ -122.000233999402269, 38.082941000236914 ], [ -122.000172999394891, 38.082781000693046 ], [ -122.000112000483682, 38.082598000472025 ], [ -122.000096000024854, 38.082422000947439 ], [ -122.000095999688597, 38.082308000764769 ], [ -122.000111999917181, 38.082048000875936 ], [ -122.000080999804467, 38.08185000050679 ], [ -122.000111999789041, 38.081614000388619 ], [ -122.000111999884595, 38.081400000827621 ], [ -122.000249000043794, 38.08099600031629 ], [ -122.000356000001347, 38.080675000477747 ], [ -122.000463000094285, 38.080370000314595 ], [ -122.000569000369865, 38.080080000857585 ], [ -122.000629999946298, 38.079882000679405 ], [ -122.000673000132196, 38.079618000664389 ], [ -122.000645999604032, 38.079363000907321 ], [ -122.000692000506561, 38.079149000397912 ], [ -122.000798000251592, 38.078905001090241 ], [ -122.001072999933015, 38.078718000990676 ], [ -122.001259999553255, 38.078633000598913 ], [ -122.001983000375915, 38.07842100113875 ], [ -122.002941999785122, 38.078103000844145 ], [ -122.002959999940273, 38.078108000458386 ], [ -122.003156999951415, 38.078113000882652 ], [ -122.003503999561374, 38.077980000904439 ], [ -122.004280999538366, 38.077427000240469 ], [ -122.005336000475708, 38.076854000346387 ], [ -122.005531000212727, 38.076369000655482 ], [ -122.005474000150542, 38.076184000906522 ], [ -122.005329000175891, 38.075833000357228 ], [ -122.004979000197864, 38.075702001132889 ], [ -122.004839999989287, 38.075734000804836 ], [ -122.004652000422695, 38.075907000641394 ], [ -122.004620000374075, 38.075986000453213 ], [ -122.004921999812638, 38.076198001112303 ], [ -122.004734000076468, 38.076342000785822 ], [ -122.004278999868546, 38.076135000397535 ], [ -122.00389000044801, 38.075713000529866 ], [ -122.003405999677469, 38.07539200026433 ], [ -122.003745999735244, 38.075273000412707 ], [ -122.004408000299065, 38.075185000868629 ], [ -122.005409999392953, 38.075024000565399 ], [ -122.005498999859242, 38.075116000369242 ], [ -122.005368000479976, 38.075443001001673 ], [ -122.005334999786314, 38.075551000941147 ], [ -122.005521000462039, 38.075468000382862 ], [ -122.006298999845541, 38.075056000573511 ], [ -122.007340000511675, 38.074539000611509 ], [ -122.008844000498968, 38.07395200031258 ], [ -122.01050700014639, 38.073279000359591 ], [ -122.012101000167533, 38.072986001106479 ], [ -122.013089999744054, 38.072869000315109 ], [ -122.013627999797478, 38.072358000382799 ], [ -122.014100000141411, 38.072074000924829 ], [ -122.014806999482829, 38.072137000339879 ], [ -122.015587999887671, 38.072280000801925 ], [ -122.016026999957106, 38.072576001067034 ], [ -122.016641000328818, 38.072652000770539 ], [ -122.016435999699297, 38.073234001109817 ], [ -122.016063999618993, 38.073823000768925 ], [ -122.016898999746488, 38.073240000264441 ], [ -122.017508000177969, 38.072570000724021 ], [ -122.018007000246399, 38.072431001035859 ], [ -122.018439999501268, 38.072442000382594 ], [ -122.018863000285663, 38.072697000257115 ], [ -122.019378000405581, 38.072557000854985 ], [ -122.019733999806789, 38.072977000281682 ], [ -122.020223000138913, 38.072684000932902 ], [ -122.020950000212196, 38.072696000633542 ], [ -122.022090000263418, 38.072824000702788 ], [ -122.022985000488504, 38.073332000842747 ], [ -122.023780999504254, 38.073596000986655 ], [ -122.024338000297817, 38.073656000920785 ], [ -122.024484000348096, 38.073869000569225 ], [ -122.024223000138136, 38.074204001111205 ], [ -122.023543999943271, 38.074993000724554 ], [ -122.023056999589883, 38.075625001007353 ], [ -122.022815999775716, 38.076306000782928 ], [ -122.022592000001367, 38.077004000972657 ], [ -122.022565999685213, 38.07730700097715 ], [ -122.022802999944133, 38.077138000981165 ], [ -122.02306499958577, 38.077167000379312 ], [ -122.02319899963075, 38.076837000790682 ], [ -122.023208000004814, 38.076579000947625 ], [ -122.023229999964244, 38.076849000798305 ], [ -122.023463999427037, 38.077209000803741 ], [ -122.02385900016084, 38.077395000267892 ], [ -122.024182999987829, 38.077877000969202 ], [ -122.024510000395907, 38.078270000549715 ], [ -122.024621000364945, 38.078630000975664 ], [ -122.024701999612972, 38.078966000856902 ], [ -122.024705999843945, 38.079310001007826 ], [ -122.024432000052983, 38.079686000467831 ], [ -122.023959000304032, 38.080000000963153 ], [ -122.023360999658053, 38.08044600086702 ], [ -122.023587000313739, 38.080623000895038 ], [ -122.024053999954901, 38.080928000896073 ], [ -122.025008000192997, 38.081468001095431 ], [ -122.025629000151739, 38.081800000332628 ], [ -122.025978999589469, 38.081946000776021 ], [ -122.025861000113849, 38.082294000408147 ], [ -122.025727999393965, 38.082630000710161 ], [ -122.025629999413724, 38.082875000264458 ], [ -122.02605500015288, 38.083042000408817 ], [ -122.026384999731235, 38.083337000878146 ], [ -122.026419999672129, 38.083741000276973 ], [ -122.02605899951466, 38.083465000805589 ], [ -122.025699999775867, 38.083685000261724 ], [ -122.025967000173807, 38.084047000855989 ], [ -122.026806999670455, 38.084219001069513 ], [ -122.02740900047624, 38.084114000684522 ], [ -122.027770999561369, 38.084361000396939 ], [ -122.028350999996803, 38.084508000647176 ], [ -122.029199999900186, 38.084376000423909 ], [ -122.029488999715994, 38.083994000832604 ], [ -122.030213000295461, 38.083537000752301 ], [ -122.030469000179451, 38.083237001063452 ], [ -122.03036900019498, 38.08303300086969 ], [ -122.031205999434221, 38.082534000488295 ], [ -122.032421000018729, 38.081984000692842 ], [ -122.033176000206183, 38.081403000411591 ], [ -122.033794000416933, 38.081176000541937 ], [ -122.034208999865314, 38.081327000974717 ], [ -122.034772999585115, 38.081317000397412 ], [ -122.035504999810982, 38.081067000598445 ], [ -122.036035000402393, 38.081163000728374 ], [ -122.036556999731019, 38.081441000933637 ], [ -122.037203999554649, 38.081744000692943 ], [ -122.038018999941087, 38.082208001104945 ], [ -122.038388999901315, 38.08210300054477 ], [ -122.038630999551515, 38.082030000443865 ], [ -122.038739000126597, 38.082096000814872 ], [ -122.038799000234803, 38.082491000632501 ], [ -122.038225999409235, 38.082819000361965 ], [ -122.037640000479186, 38.083153000356404 ], [ -122.037892999751691, 38.083473001121448 ], [ -122.038036999561555, 38.083756000670924 ], [ -122.038000999498621, 38.084183000410341 ], [ -122.038459999989698, 38.084469000407736 ], [ -122.038592999546353, 38.084671000750987 ], [ -122.038441000007055, 38.084867000249545 ], [ -122.038155999610495, 38.085178000514951 ], [ -122.037437999925288, 38.085721001024382 ], [ -122.037215999725476, 38.086093000290255 ], [ -122.037372000450048, 38.08647100097658 ], [ -122.037594999882316, 38.086734000535081 ], [ -122.037684999566451, 38.087157001069471 ], [ -122.037902999795136, 38.08753100069405 ], [ -122.038029999666762, 38.087828000561224 ], [ -122.038457999860384, 38.088066000525309 ], [ -122.038941000093715, 38.088182001010537 ], [ -122.039318000279778, 38.088252000372663 ], [ -122.039365999465062, 38.088552000241869 ], [ -122.039513999774968, 38.088768000372674 ], [ -122.039868000194602, 38.089026000918864 ], [ -122.039966000152063, 38.089315001089112 ], [ -122.040420999710093, 38.089272000592842 ], [ -122.040836000174608, 38.08908600102243 ], [ -122.041281999902665, 38.089018000664176 ], [ -122.041336000402922, 38.089304000979361 ], [ -122.041185000075444, 38.089376000595777 ], [ -122.040529999999663, 38.089722000338611 ], [ -122.040071999614639, 38.09010000037788 ], [ -122.039805000318751, 38.09058500072365 ], [ -122.039761000306953, 38.090804000724724 ], [ -122.039682000083317, 38.091118000642425 ], [ -122.039538000348657, 38.09113400054266 ], [ -122.039217999912424, 38.091070000661247 ], [ -122.039057999399162, 38.090638000621666 ], [ -122.038610000129026, 38.090254000587372 ], [ -122.038033999406153, 38.089950000940121 ], [ -122.037537999595543, 38.090030000349692 ], [ -122.037026000018002, 38.089870000963714 ], [ -122.036353999763719, 38.089470000577116 ], [ -122.035793999720724, 38.088814000973649 ], [ -122.035410000100597, 38.088974001008395 ], [ -122.035314000083488, 38.089262000815026 ], [ -122.034897999893488, 38.089470000824079 ], [ -122.034498000491197, 38.089180000778889 ], [ -122.033999000412336, 38.089196001029983 ], [ -122.033627999747864, 38.088987000629103 ], [ -122.03330499962081, 38.088729000300383 ], [ -122.032574999755369, 38.088547000961029 ], [ -122.03211499950865, 38.088119000331645 ], [ -122.031604999485054, 38.087918000721871 ], [ -122.031267999750128, 38.087577000905178 ], [ -122.03084700039544, 38.087608000289933 ], [ -122.029985999638072, 38.08782800081854 ], [ -122.029459000035459, 38.087615001118657 ], [ -122.028972999775789, 38.087856000412003 ], [ -122.028582999447366, 38.087963001090557 ], [ -122.028039999549506, 38.087811000544683 ], [ -122.027679999955964, 38.087976000859449 ], [ -122.026979999929836, 38.087926000541991 ], [ -122.026635000154599, 38.088074000887936 ], [ -122.026506000459648, 38.088492000384363 ], [ -122.026412999865997, 38.088569001014115 ], [ -122.026288999577574, 38.088529001027602 ], [ -122.026183999780301, 38.088104000504813 ], [ -122.02592099969219, 38.08798100065389 ], [ -122.02565700042291, 38.088025000746413 ], [ -122.025486999694365, 38.087841000583914 ], [ -122.025051000198005, 38.087883000472829 ], [ -122.024599999720223, 38.0878680002577 ], [ -122.024698999735534, 38.087427001041007 ], [ -122.024242999505873, 38.087730001021235 ], [ -122.023262000517931, 38.087972000485991 ], [ -122.022591999674177, 38.087978000532132 ], [ -122.021629999831177, 38.087744000512615 ], [ -122.020789999969637, 38.087841001010965 ], [ -122.019604999921214, 38.088089000589719 ], [ -122.019139000195494, 38.088061000715342 ], [ -122.018641999401765, 38.087961001027111 ], [ -122.017524000437078, 38.087845001024078 ], [ -122.016916000127736, 38.087827000256667 ], [ -122.016310000429655, 38.087838000717916 ], [ -122.015440000240929, 38.08771100038507 ], [ -122.015036999466005, 38.08757900108666 ], [ -122.014197999531447, 38.087431000980537 ], [ -122.013422000258274, 38.08725600075541 ], [ -122.012023999499917, 38.087065000292547 ], [ -122.010876000123758, 38.086725000582405 ], [ -122.009091999911846, 38.086171001045173 ], [ -122.007291000271763, 38.0857740006741 ], [ -122.004688000271827, 38.08484100085623 ], [ -122.003122999484631, 38.084252000355768 ], [ -122.002069000343838, 38.083943000380984 ], [ -122.001455999805273, 38.083834000375241 ] ] ], [ [ [ -121.92547100034038, 38.052119000852109 ], [ -121.925525000046321, 38.051944000739802 ], [ -121.925524999907722, 38.051845000933952 ], [ -121.925692999494899, 38.051768000369648 ], [ -121.925860000507257, 38.051692000730867 ], [ -121.925921000160272, 38.051623001070325 ], [ -121.926012999834285, 38.051517001080946 ], [ -121.92618099958338, 38.051364000631558 ], [ -121.926363999637189, 38.051265000681767 ], [ -121.926593000212193, 38.05117300051387 ], [ -121.926761000313391, 38.051196000412865 ], [ -121.926913000420683, 38.051227000345634 ], [ -121.927156999940024, 38.051326000512745 ], [ -121.927370999431119, 38.051448001034352 ], [ -121.927676000269372, 38.051623000798585 ], [ -121.927828999549419, 38.051547000387295 ], [ -121.928026999872856, 38.051486000425044 ], [ -121.928241000483098, 38.051478000366089 ], [ -121.928438999398736, 38.051471000422211 ], [ -121.928571000273678, 38.051419000594755 ], [ -121.929567999592322, 38.051913000390989 ], [ -121.929690000452496, 38.052005000913681 ], [ -121.9297510002054, 38.052218000254022 ], [ -121.929628999559228, 38.052363000785789 ], [ -121.929660000362659, 38.052447000523948 ], [ -121.929781999941738, 38.052463000850658 ], [ -121.929949999419236, 38.052508000971351 ], [ -121.930118000369433, 38.052615001032386 ], [ -121.930255000310822, 38.052669000460156 ], [ -121.930453000328725, 38.052646000975017 ], [ -121.930636000226272, 38.052577000389114 ], [ -121.930865000025321, 38.052516000998892 ], [ -121.931093999466739, 38.052455000255065 ], [ -121.93121599947014, 38.05246300055903 ], [ -121.931354000031533, 38.052424000338206 ], [ -121.931551999440501, 38.052386000487324 ], [ -121.931673999417171, 38.052386000873994 ], [ -121.931827000064217, 38.052501000401136 ], [ -121.931903000273905, 38.052623000277499 ], [ -121.932054999899989, 38.052730000884566 ], [ -121.932192999856227, 38.05276000071273 ], [ -121.932451999596779, 38.05283600028114 ], [ -121.932756999718649, 38.052890000322925 ], [ -121.932971000512595, 38.052943000482379 ], [ -121.933123999530252, 38.053004000282513 ], [ -121.933370999844399, 38.053119001102537 ], [ -121.933413999945998, 38.053165000555396 ], [ -121.933398000258308, 38.053271000276325 ], [ -121.933504999555623, 38.053340000675334 ], [ -121.933611999781292, 38.053508000828131 ], [ -121.933687999513808, 38.053660001056812 ], [ -121.933733999548977, 38.053760000399457 ], [ -121.933840999920989, 38.05386600107019 ], [ -121.933719000074248, 38.054004000478947 ], [ -121.933748999597043, 38.054080000536764 ], [ -121.933840999650343, 38.054248000483589 ], [ -121.933763999720057, 38.054278001085642 ], [ -121.933641999947426, 38.054393000659573 ], [ -121.933749000178096, 38.054607001052261 ], [ -121.933870999823583, 38.054719000343525 ], [ -121.933931999728614, 38.054751000722561 ], [ -121.934069999495449, 38.054919000408809 ], [ -121.933993000177949, 38.055125000538624 ], [ -121.933673000222356, 38.055293000718692 ], [ -121.933275999858608, 38.055484000318579 ], [ -121.932802999579366, 38.055743000414793 ], [ -121.932665999588849, 38.055987001005931 ], [ -121.932573999570621, 38.056239000374958 ], [ -121.932471000454484, 38.056419000363341 ], [ -121.932344999646617, 38.056521000496041 ], [ -121.932101000184275, 38.056583001049709 ], [ -121.931749999458305, 38.056598000346796 ], [ -121.93155200000858, 38.056537000664008 ], [ -121.931429999664843, 38.056445000288257 ], [ -121.931353999460327, 38.056392000255144 ], [ -121.930925999837228, 38.056438000933085 ], [ -121.930591000266887, 38.056384000729572 ], [ -121.930362000025397, 38.05633800026726 ], [ -121.929873000098965, 38.05624700094738 ], [ -121.929523000458246, 38.056140000517253 ], [ -121.929324000243525, 38.055919001081186 ], [ -121.92959899975753, 38.055987000945521 ], [ -121.929873000357162, 38.056087000530958 ], [ -121.930240000370532, 38.056132000407544 ], [ -121.93077400049286, 38.056209000296207 ], [ -121.931261999714991, 38.05624700087445 ], [ -121.931506000293012, 38.056277000989745 ], [ -121.931749999504845, 38.056277000898874 ], [ -121.931871000240108, 38.056219000629888 ], [ -121.932009999460377, 38.056201000538366 ], [ -121.932161999755394, 38.056109001041129 ], [ -121.932360999763105, 38.055911000429738 ], [ -121.93239100028137, 38.055713000266515 ], [ -121.932543999794063, 38.055484000490246 ], [ -121.932589999993439, 38.05527800102476 ], [ -121.932803000184791, 38.055011000470486 ], [ -121.932909999635413, 38.054805000422434 ], [ -121.933016999523574, 38.054614000570758 ], [ -121.933123999995303, 38.054385000576325 ], [ -121.933169000507647, 38.054179000771995 ], [ -121.93332199947541, 38.053775000864306 ], [ -121.933306999570462, 38.053615000299068 ], [ -121.933171000361767, 38.053419000893655 ], [ -121.933153999917209, 38.053310000661163 ], [ -121.93301700013663, 38.053241000692665 ], [ -121.932894999978018, 38.053180000996555 ], [ -121.932650999794888, 38.053165000508727 ], [ -121.932222999685621, 38.053058000971319 ], [ -121.931918000406753, 38.053012000793913 ], [ -121.931566999700536, 38.052966000764805 ], [ -121.931170000306167, 38.052913000536371 ], [ -121.930742999573056, 38.05289800097659 ], [ -121.93039200044683, 38.052905000506435 ], [ -121.930025999777001, 38.052890000959216 ], [ -121.929690000098546, 38.05289800102657 ], [ -121.929570999864083, 38.052919000538473 ], [ -121.929706000442991, 38.053012000841932 ], [ -121.929888999824399, 38.052997000347574 ], [ -121.930040999730551, 38.05306500041867 ], [ -121.930270000010282, 38.053081000869788 ], [ -121.930422999549037, 38.053065001011738 ], [ -121.930773999578363, 38.053050001061067 ], [ -121.931139999952904, 38.053027000940617 ], [ -121.931491000283259, 38.053088000741276 ], [ -121.931856999820553, 38.053187000660692 ], [ -121.932299999814774, 38.053248000408963 ], [ -121.932726999551946, 38.053325000794899 ], [ -121.932970999896128, 38.053419000563473 ], [ -121.933124000320277, 38.053546000269151 ], [ -121.933168999551725, 38.053622000535526 ], [ -121.933154000467411, 38.053714000360024 ], [ -121.933093000109551, 38.053844000858547 ], [ -121.933002000414447, 38.054019000276199 ], [ -121.932878999996475, 38.05425600035516 ], [ -121.932848999530847, 38.054355000880996 ], [ -121.932650999589683, 38.05444600050982 ], [ -121.932528999431028, 38.054637000789 ], [ -121.932360999740212, 38.054988000872143 ], [ -121.932132000366863, 38.055476000597224 ], [ -121.931970999726857, 38.055819001116681 ], [ -121.931780999846708, 38.05591100110432 ], [ -121.931581999823536, 38.055926000548354 ], [ -121.929271000120465, 38.055719001044913 ], [ -121.928958000422654, 38.055644000274405 ], [ -121.928698999967736, 38.055667000876603 ], [ -121.92842400027142, 38.055667000417948 ], [ -121.928118999588804, 38.055720000915649 ], [ -121.927768000174837, 38.055766001029447 ], [ -121.927432000089794, 38.055858000328215 ], [ -121.927070999898902, 38.05581900097917 ], [ -121.926516999470493, 38.055926000393669 ], [ -121.926288000026005, 38.055903000753091 ], [ -121.926044000367938, 38.05591100065395 ], [ -121.92569300038825, 38.055942000570127 ], [ -121.92534200033765, 38.055980000290575 ], [ -121.924913999775058, 38.05609400036515 ], [ -121.924570999998053, 38.056219000332845 ], [ -121.924273999654062, 38.056300000741494 ], [ -121.924167000321859, 38.056392000828481 ], [ -121.923952999722658, 38.056491000872249 ], [ -121.923770000368819, 38.056590000498396 ], [ -121.923586999847387, 38.05671200043998 ], [ -121.923250999909314, 38.056918000320401 ], [ -121.923143999528406, 38.057017000296987 ], [ -121.922961000056304, 38.057109000490541 ], [ -121.922731999808235, 38.057162001097716 ], [ -121.922519000255875, 38.057216000515069 ], [ -121.922365999480675, 38.057284000706439 ], [ -121.922214000505079, 38.057338000968599 ], [ -121.921846999975827, 38.057468000919748 ], [ -121.921494999857245, 38.057544000626201 ], [ -121.921190000155391, 38.057513000780126 ], [ -121.92096999957046, 38.057419000479236 ], [ -121.919270000442623, 38.055319000474057 ], [ -121.918969999810187, 38.055619000586404 ], [ -121.918993000390259, 38.055667000514354 ], [ -121.919068999704677, 38.055728000703375 ], [ -121.919312999613993, 38.055804000281356 ], [ -121.919511999789151, 38.055903000875574 ], [ -121.919572999853784, 38.05613200046492 ], [ -121.919724999468144, 38.056499001025117 ], [ -121.919909000206502, 38.056850000988589 ], [ -121.919969999718205, 38.057277000593658 ], [ -121.919863000271235, 38.057551000794987 ], [ -121.919670000177902, 38.057919000393376 ], [ -121.919541999557026, 38.05799400039983 ], [ -121.919358999644217, 38.058093000279641 ], [ -121.919191000421293, 38.058169001122344 ], [ -121.918917000138052, 38.058330000769409 ], [ -121.918569999943074, 38.058619000255973 ], [ -121.918473999713314, 38.058848000338905 ], [ -121.918351999735222, 38.05901600112886 ], [ -121.918260999900156, 38.059161000812189 ], [ -121.918183999863814, 38.059383000710504 ], [ -121.917909999940917, 38.05988600030522 ], [ -121.917756999788764, 38.06025200083036 ], [ -121.91761999981378, 38.060725000593557 ], [ -121.917512999841648, 38.061145000460968 ], [ -121.917470000281483, 38.061419000946572 ], [ -121.918471000172573, 38.069019000675802 ], [ -121.918475000015192, 38.069301000492644 ], [ -121.918322999736631, 38.06946900055619 ], [ -121.918071000451064, 38.069719000284884 ], [ -121.917910999817551, 38.069781000656484 ], [ -121.917650999599175, 38.069949000338667 ], [ -121.917543999842096, 38.069995001021631 ], [ -121.917224000360591, 38.070026001122642 ], [ -121.917071000077854, 38.069919000268712 ], [ -121.91684200002733, 38.06995700050026 ], [ -121.916583000516979, 38.069903000903544 ], [ -121.91636899968438, 38.069926000352858 ], [ -121.916201999657034, 38.069987001061463 ], [ -121.916110000501774, 38.07008700048705 ], [ -121.915956999404997, 38.070392001033753 ], [ -121.915866000450251, 38.070628000307622 ], [ -121.915606999795486, 38.07076600053454 ], [ -121.915238999922963, 38.070781000486448 ], [ -121.914857999647822, 38.070811000250984 ], [ -121.914400000115307, 38.070758000714648 ], [ -121.913835999781313, 38.07066600095601 ], [ -121.913469999939196, 38.070519000652546 ], [ -121.913133999485851, 38.070338000698811 ], [ -121.912934999799532, 38.068675000778761 ], [ -121.912919999645624, 38.068332000514204 ], [ -121.912920000115022, 38.067790000925939 ], [ -121.912858999530073, 38.067271000861751 ], [ -121.912812999661114, 38.066882001032347 ], [ -121.912629999972964, 38.066348000262693 ], [ -121.91250799980611, 38.065974000294489 ], [ -121.912218000407407, 38.065517000262815 ], [ -121.912127000316929, 38.065295000734451 ], [ -121.911851999573756, 38.064845000655474 ], [ -121.911592000252881, 38.064395000955727 ], [ -121.911408999490376, 38.064113000384964 ], [ -121.911347999506972, 38.063823000992834 ], [ -121.911271999672806, 38.063655000566627 ], [ -121.910951999468566, 38.063182000879159 ], [ -121.910370000238331, 38.062419000936806 ], [ -121.910355999913904, 38.062244000655291 ], [ -121.910310999427637, 38.061778000546163 ], [ -121.910250000514537, 38.061519000508106 ], [ -121.910157999480901, 38.061404000753186 ], [ -121.909654999908739, 38.061252000592134 ], [ -121.909425999568768, 38.0611910005506 ], [ -121.909242999655234, 38.061046000523689 ], [ -121.909043999776301, 38.060794000558126 ], [ -121.908921999444715, 38.060588000644849 ], [ -121.908647999568387, 38.06023700086422 ], [ -121.908296999785719, 38.059917000829593 ], [ -121.90814400041377, 38.059779001007172 ], [ -121.90770099959397, 38.059520000276869 ], [ -121.907427000132472, 38.059459000836313 ], [ -121.907243999738455, 38.059306000986226 ], [ -121.907121999885234, 38.059184000287566 ], [ -121.906923000036883, 38.059062000766431 ], [ -121.906359000171676, 38.058894000812344 ], [ -121.906070000218349, 38.058819000257273 ], [ -121.905570000118658, 38.058719000512497 ], [ -121.905474000355426, 38.058627000997319 ], [ -121.905199000118898, 38.058574000899206 ], [ -121.904694999984031, 38.058536000720096 ], [ -121.903933000483065, 38.058429000887877 ], [ -121.903382999445157, 38.058314000266748 ], [ -121.902681000307339, 38.058299001057229 ], [ -121.901780999798632, 38.058162000602621 ], [ -121.901140000308033, 38.058093001025611 ], [ -121.900591000291357, 38.058009000315586 ], [ -121.899969999656989, 38.057819000590833 ], [ -121.899796999408892, 38.057834001103565 ], [ -121.899339999772209, 38.057658000871449 ], [ -121.89897300015744, 38.05750600027703 ], [ -121.898638000380501, 38.057307000380284 ], [ -121.897844000065462, 38.056933000366264 ], [ -121.897157999530663, 38.056468000748644 ], [ -121.896425000505104, 38.055835000774863 ], [ -121.895829999763137, 38.05529300042388 ], [ -121.895250000299754, 38.054683000642065 ], [ -121.892969999732117, 38.052819001107572 ], [ -121.893343000395959, 38.052699000278409 ], [ -121.893754999719917, 38.052676000887779 ], [ -121.894074999409511, 38.052470000831732 ], [ -121.894517999633024, 38.052325001011091 ], [ -121.89480800024694, 38.052035000469466 ], [ -121.895188999869475, 38.051929000323106 ], [ -121.895570999572428, 38.051799001060942 ], [ -121.89583000033582, 38.051524000719944 ], [ -121.896349000136098, 38.051219001137497 ], [ -121.896883000021205, 38.050944000836317 ], [ -121.897569999724297, 38.050639000555456 ], [ -121.898087999988647, 38.050387000243312 ], [ -121.898577000273377, 38.050242000697921 ], [ -121.898805999879528, 38.050288000731889 ], [ -121.899270000031763, 38.050419001027436 ], [ -121.899384999780224, 38.050433000800481 ], [ -121.899269999922765, 38.050819001005948 ], [ -121.898369999404281, 38.051019000507132 ], [ -121.897570000498206, 38.051419000902996 ], [ -121.89723400028376, 38.051494001107898 ], [ -121.896868000429379, 38.051646000263773 ], [ -121.896769999782322, 38.05171900030733 ], [ -121.896369999550316, 38.051819000676055 ], [ -121.896165999407842, 38.051997000802118 ], [ -121.895844999775946, 38.05218800056646 ], [ -121.895524999609933, 38.052447000277425 ], [ -121.8951589994941, 38.052783000461417 ], [ -121.894929999451833, 38.053088000615674 ], [ -121.894669999939566, 38.053319000778735 ], [ -121.894870000257995, 38.053419000421883 ], [ -121.897669999488031, 38.051519000536658 ], [ -121.897904999441835, 38.051318000337147 ], [ -121.898241000324759, 38.051211000523374 ], [ -121.898469999517118, 38.051089000747936 ], [ -121.89885099983529, 38.051021000330934 ], [ -121.899269999848244, 38.051019000985143 ], [ -121.899415999991476, 38.050975000516111 ], [ -121.899645000371592, 38.050990000720525 ], [ -121.899935000025877, 38.051066000551273 ], [ -121.900069999486931, 38.051219000609052 ], [ -121.904070000253739, 38.050819000891593 ], [ -121.90403900044754, 38.050716000885629 ], [ -121.903947999778879, 38.050700000676613 ], [ -121.903291999980453, 38.050723000931747 ], [ -121.902696999457021, 38.050761000383858 ], [ -121.902055999978558, 38.050792000707951 ], [ -121.90162799954642, 38.050822000482171 ], [ -121.901033000339055, 38.050914001137855 ], [ -121.900576000355599, 38.050891000579362 ], [ -121.900254999428356, 38.05091400029616 ], [ -121.899770000382873, 38.050919000284274 ], [ -121.89961399991418, 38.050784000253493 ], [ -121.899583999582717, 38.050685000967199 ], [ -121.899569999649302, 38.050419000836939 ], [ -121.905030999830714, 38.050220000648515 ], [ -121.905672000127723, 38.050235000598157 ], [ -121.906084000156795, 38.050403000531766 ], [ -121.906389000531789, 38.05060900031075 ], [ -121.906892999910127, 38.05062400045172 ], [ -121.907578999942231, 38.050502000561607 ], [ -121.907961000300887, 38.050426001124769 ], [ -121.908373000073126, 38.050525000242203 ], [ -121.908709000417801, 38.050532000981725 ], [ -121.90910500032011, 38.050448000388563 ], [ -121.909547999990735, 38.050426001073809 ], [ -121.910021000012705, 38.050334000282966 ], [ -121.910462999619583, 38.050258001095493 ], [ -121.910996999465695, 38.050304000391542 ], [ -121.911256999420686, 38.050304000819068 ], [ -121.911408999699532, 38.050265000507636 ], [ -121.911592000072801, 38.050372000892487 ], [ -121.91191299993443, 38.050441000568156 ], [ -121.912309999594953, 38.050342000820308 ], [ -121.912600000475152, 38.050342001010165 ], [ -121.913056999553902, 38.050426000487981 ], [ -121.913377999972766, 38.050426000622849 ], [ -121.913668000451949, 38.050342000529817 ], [ -121.914018999618222, 38.050357000664668 ], [ -121.914171000342634, 38.05017400067559 ], [ -121.914277999887275, 38.050143000340341 ], [ -121.914569999645721, 38.050319000755913 ], [ -121.914669999723998, 38.050919001090897 ], [ -121.914826999532607, 38.051013001091832 ], [ -121.915040999435988, 38.051120000234036 ], [ -121.915169999584421, 38.05111900086662 ], [ -121.914770000501875, 38.050319000816884 ], [ -121.914970000226688, 38.050319000526997 ], [ -121.915470000166053, 38.051119000663206 ], [ -121.915769999994922, 38.051019000467413 ], [ -121.915770000281384, 38.050319000480222 ], [ -121.91589499968164, 38.050334001026194 ], [ -121.916078999679982, 38.05031100026153 ], [ -121.91642900019238, 38.05045600093186 ], [ -121.91650599961541, 38.050365001127382 ], [ -121.916536000321045, 38.050273000279972 ], [ -121.916734999590872, 38.050204000300774 ], [ -121.91706999976094, 38.050319000836119 ], [ -121.917238000504938, 38.050342000812094 ], [ -121.917344999423619, 38.050342000439841 ], [ -121.917513000302321, 38.050365000925851 ], [ -121.917665000126632, 38.050456000441002 ], [ -121.917772000342524, 38.05055500036012 ], [ -121.917894000205308, 38.05068500044348 ], [ -121.918138000112307, 38.050769000952542 ], [ -121.918351999588921, 38.050830000944124 ], [ -121.918469999867312, 38.050819001076263 ], [ -121.918469999637779, 38.051019000462503 ], [ -121.918260999565433, 38.05100500056259 ], [ -121.917955000384751, 38.050914001015407 ], [ -121.917725999392701, 38.050822000906095 ], [ -121.917451999637649, 38.050799000578685 ], [ -121.917253000256352, 38.05078400049053 ], [ -121.916765000380877, 38.050860000569671 ], [ -121.916369999929699, 38.050919000593794 ], [ -121.916322999952058, 38.050967000990958 ], [ -121.916200999402307, 38.051166000765399 ], [ -121.916109000436123, 38.051265000260322 ], [ -121.915865000221075, 38.051356000709639 ], [ -121.915711999398638, 38.051486000555073 ], [ -121.915669999445981, 38.05161900066674 ], [ -121.915969999545553, 38.051819000318837 ], [ -121.918869999854877, 38.055319000761045 ], [ -121.919070000162037, 38.055219000709862 ], [ -121.915969999793873, 38.051619000999111 ], [ -121.916062999673144, 38.051547000375336 ], [ -121.916108999749156, 38.051486000353428 ], [ -121.916262000446253, 38.051364000319801 ], [ -121.916445000131361, 38.05115800049321 ], [ -121.916569999744453, 38.051019000423537 ], [ -121.916734999739106, 38.051143001010558 ], [ -121.916734999433984, 38.051227000465168 ], [ -121.916871999907713, 38.051288000975951 ], [ -121.917116000061242, 38.051379000857125 ], [ -121.917330000079488, 38.051356000552104 ], [ -121.91754299955933, 38.051349000324571 ], [ -121.917741999799929, 38.051356000503709 ], [ -121.918093000496839, 38.051303000534972 ], [ -121.918366999704489, 38.051311000884432 ], [ -121.918763999773262, 38.051349000734092 ], [ -121.919053999628971, 38.051448000993375 ], [ -121.919283000159837, 38.051463000810287 ], [ -121.919633999775144, 38.051425001024263 ], [ -121.919970000316866, 38.051379000824717 ], [ -121.920382000341604, 38.051326001121595 ], [ -121.92077800002761, 38.051280000823212 ], [ -121.921113999870343, 38.051272000966669 ], [ -121.921480000224847, 38.051356000371861 ], [ -121.921678999624035, 38.05141700088739 ], [ -121.921967999821831, 38.051433001020371 ], [ -121.922213000398585, 38.051417000308632 ], [ -121.922640000492834, 38.051517000935618 ], [ -121.923051999594136, 38.051646000675483 ], [ -121.923188999901924, 38.051745001088918 ], [ -121.923387999492135, 38.051799000567136 ], [ -121.923707999542316, 38.051791000868597 ], [ -121.923967000315727, 38.051807000780947 ], [ -121.924226999722976, 38.051868000239196 ], [ -121.924578999696209, 38.051936000900604 ], [ -121.924883999646809, 38.051974000824352 ], [ -121.925052000135949, 38.052112000946863 ], [ -121.925356999769235, 38.052196000916545 ], [ -121.92547100034038, 38.052119000852109 ] ] ], [ [ [ -122.022419000017678, 38.07175900061074 ], [ -122.022409999600555, 38.071763000282346 ], [ -122.022751999462415, 38.071515000462696 ], [ -122.023123999724163, 38.071282000612385 ], [ -122.023393999666737, 38.071310000419999 ], [ -122.023915999740041, 38.071176000916957 ], [ -122.024719000462227, 38.070824000626352 ], [ -122.025156000487229, 38.070571000522548 ], [ -122.025687999594382, 38.07025900030272 ], [ -122.02649099942046, 38.069713000464851 ], [ -122.026995000129475, 38.069414000726979 ], [ -122.027424000217152, 38.069114000534093 ], [ -122.027722999990587, 38.068935000994472 ], [ -122.0280889996166, 38.068691000687792 ], [ -122.028452000491797, 38.068499000779013 ], [ -122.028668999936386, 38.068454000716756 ], [ -122.028794000328574, 38.068411000562349 ], [ -122.028972999516483, 38.068225001067994 ], [ -122.029062000396877, 38.067960000631189 ], [ -122.029371000268767, 38.06794900090987 ], [ -122.029507000086895, 38.068015000370856 ], [ -122.029451999573539, 38.068198000673647 ], [ -122.029472999852572, 38.06842300037188 ], [ -122.02979299993001, 38.068527000436568 ], [ -122.03062299945293, 38.068664000348868 ], [ -122.030932000246267, 38.06868900051176 ], [ -122.031848000186585, 38.068688000562304 ], [ -122.032547000511826, 38.068708000859772 ], [ -122.033155999607061, 38.068684000317326 ], [ -122.03348099953385, 38.068749001133803 ], [ -122.033570999454213, 38.068848000747955 ], [ -122.03392800034149, 38.068895000575147 ], [ -122.034259999689183, 38.069177000787064 ], [ -122.034674999454495, 38.069401000646586 ], [ -122.03554700019329, 38.069483000315856 ], [ -122.036185999955592, 38.069563000938359 ], [ -122.037269000125036, 38.069501000561431 ], [ -122.038306999903554, 38.069362000519476 ], [ -122.039398999414857, 38.069550001022549 ], [ -122.040114000102321, 38.069754000444782 ], [ -122.040909999650196, 38.069896000850683 ], [ -122.041862999758735, 38.070047000539482 ], [ -122.042887999920268, 38.070499000254841 ], [ -122.043265000197394, 38.070475000880748 ], [ -122.043643999903125, 38.07037500073578 ], [ -122.044023999726164, 38.070253000802154 ], [ -122.044277000290791, 38.070243000672029 ], [ -122.044396999591868, 38.070393000650618 ], [ -122.044407999781654, 38.070609000473688 ], [ -122.04470300012018, 38.070769001014263 ], [ -122.044888999915102, 38.070879000580078 ], [ -122.044868999589085, 38.071116000756476 ], [ -122.045589999537171, 38.071201000405338 ], [ -122.046109999455624, 38.071072000425417 ], [ -122.046740000338261, 38.07097000049545 ], [ -122.047038000308476, 38.070982001109279 ], [ -122.047088999965155, 38.071004000445889 ], [ -122.047111000061747, 38.071321000259708 ], [ -122.046843999974541, 38.071672000299166 ], [ -122.046477000516447, 38.071849000838689 ], [ -122.045746999548996, 38.071965000305454 ], [ -122.045367000395345, 38.071960000887792 ], [ -122.045114999635672, 38.072054000620319 ], [ -122.045164000309072, 38.072273001103824 ], [ -122.044817000498028, 38.072549000624427 ], [ -122.044740999493541, 38.072968000600653 ], [ -122.044989999392385, 38.073599001063997 ], [ -122.045060999601802, 38.074011000593778 ], [ -122.04429500023663, 38.074074000570207 ], [ -122.042959999806286, 38.073805001068536 ], [ -122.042152999753881, 38.073743000649095 ], [ -122.040969999532692, 38.073824000377677 ], [ -122.040795999685002, 38.073947000342145 ], [ -122.040386999901429, 38.074123000763841 ], [ -122.039755999770492, 38.074236000315551 ], [ -122.03896800042692, 38.074610001084196 ], [ -122.037834000329099, 38.074964000878765 ], [ -122.037093000332504, 38.075059000461188 ], [ -122.036100000249476, 38.075254000434789 ], [ -122.035706000110437, 38.075147000357454 ], [ -122.035108000490041, 38.074982000758574 ], [ -122.033379000495856, 38.074549000600065 ], [ -122.031904000346827, 38.07419400049924 ], [ -122.03081199955146, 38.073683000625842 ], [ -122.030177000477423, 38.07323400052185 ], [ -122.029590000435277, 38.072909000341149 ], [ -122.028480000506377, 38.072477000335269 ], [ -122.027192999551346, 38.072095000532975 ], [ -122.02608100037412, 38.071856000491998 ], [ -122.025244999805906, 38.071761000594307 ], [ -122.024620999525766, 38.07175400109594 ], [ -122.024258999500205, 38.071712000981755 ], [ -122.023537999817862, 38.071905000874267 ], [ -122.022860999692966, 38.071826000734561 ], [ -122.022575000367766, 38.071800000786034 ], [ -122.022419000017678, 38.07175900061074 ] ] ], [ [ [ -121.981144999797152, 38.077448000725653 ], [ -121.9810529997647, 38.077364000250441 ], [ -121.980873000136526, 38.077218000689413 ], [ -121.980702999737971, 38.077143001039566 ], [ -121.980686999965187, 38.076990000520667 ], [ -121.980794000407599, 38.076807000943163 ], [ -121.980962000296103, 38.076632000631712 ], [ -121.981251999504352, 38.076471000490407 ], [ -121.981372999990512, 38.076418000870845 ], [ -121.981588000130742, 38.07643300078697 ], [ -121.98186200044205, 38.076357000983812 ], [ -121.982030000268111, 38.07643300094022 ], [ -121.982304999934016, 38.076563000663455 ], [ -121.982731999612795, 38.076792000518829 ], [ -121.983234999851518, 38.076967000477161 ], [ -121.983448999508809, 38.076998000740907 ], [ -121.983631999411401, 38.076998000998877 ], [ -121.983753999944057, 38.076975000973015 ], [ -121.983892000102884, 38.076929000624332 ], [ -121.984029000052928, 38.076906001123945 ], [ -121.984226999428614, 38.076883000602599 ], [ -121.984410000138951, 38.076914000643626 ], [ -121.984578000379614, 38.076944001088059 ], [ -121.984807000446821, 38.077005001124917 ], [ -121.985036000195933, 38.076998000954895 ], [ -121.985173000185554, 38.076891000574058 ], [ -121.985448000306008, 38.076700000493545 ], [ -121.98553999980399, 38.076632000941899 ], [ -121.985691999404537, 38.076609001000158 ], [ -121.985737999528126, 38.076754000831095 ], [ -121.985706999657438, 38.076899000299072 ], [ -121.985722999532541, 38.077044000752998 ], [ -121.9858139996185, 38.077158000398775 ], [ -121.985872999772113, 38.077218000676893 ], [ -121.985997000522858, 38.077234000694105 ], [ -121.9861190004669, 38.077204000947631 ], [ -121.986272000426027, 38.077250000926867 ], [ -121.986425000309183, 38.077242000868104 ], [ -121.98656199989729, 38.077173000716819 ], [ -121.986744999868606, 38.077089001082136 ], [ -121.986973000283839, 38.077118000432229 ], [ -121.986958999450891, 38.077227000572528 ], [ -121.986912999759497, 38.077372000834039 ], [ -121.986959000367349, 38.077478000655439 ], [ -121.987035000033515, 38.077539000372141 ], [ -121.987034999855837, 38.077631000262251 ], [ -121.9869740000223, 38.077738000966413 ], [ -121.987095999643259, 38.077806000579557 ], [ -121.987202999692784, 38.077761000799825 ], [ -121.987263999832265, 38.077700000374577 ], [ -121.987386000372908, 38.077646000994946 ], [ -121.987522999473597, 38.07762300102187 ], [ -121.987705999452444, 38.077616000387906 ], [ -121.987874000467656, 38.077623000895862 ], [ -121.988041999494612, 38.077776000884803 ], [ -121.988134000113476, 38.077883001088928 ], [ -121.98833199938899, 38.077959000727738 ], [ -121.988499999651197, 38.077898000571558 ], [ -121.988774000026567, 38.077906000435483 ], [ -121.989073000150981, 38.07811800043212 ], [ -121.989246999404003, 38.078142000279939 ], [ -121.989369999912981, 38.078051000554893 ], [ -121.989431000014235, 38.077929000993137 ], [ -121.989568000188811, 38.077776000483688 ], [ -121.989643999672637, 38.077608000485974 ], [ -121.989843000315616, 38.077494000482368 ], [ -121.990178000520942, 38.077486000683685 ], [ -121.99054399981037, 38.07739500025118 ], [ -121.990742999597217, 38.077517000337053 ], [ -121.990574999941231, 38.077715000962854 ], [ -121.990392000268301, 38.077852000633932 ], [ -121.990162999461504, 38.078035000778797 ], [ -121.990009999641373, 38.07819600090486 ], [ -121.989858000326393, 38.078310000531232 ], [ -121.989628999753677, 38.078440001049493 ], [ -121.989372999981455, 38.078618000804134 ], [ -121.989308000216823, 38.078745000268398 ], [ -121.989263000286741, 38.07886700037205 ], [ -121.989369999906415, 38.078997000379076 ], [ -121.989415000058372, 38.079081000278769 ], [ -121.989553000165472, 38.079142000698958 ], [ -121.989705000131593, 38.079210000512028 ], [ -121.989918999455597, 38.079218000996761 ], [ -121.990102000422084, 38.079218001129746 ], [ -121.990360999979103, 38.079195000797178 ], [ -121.990604999643423, 38.079149001084254 ], [ -121.991001999558904, 38.079103000618169 ], [ -121.991291999890834, 38.079096001022499 ], [ -121.991372999774313, 38.079118000773832 ], [ -121.991475000003788, 38.079256000475866 ], [ -121.991474999540856, 38.079371001017506 ], [ -121.991506000062259, 38.079515001067882 ], [ -121.991582000329188, 38.079699000546015 ], [ -121.991535999815966, 38.079828001005609 ], [ -121.991521000037352, 38.079927001010404 ], [ -121.991657999694809, 38.080019000384866 ], [ -121.991841000006715, 38.080027000860923 ], [ -121.992009000071747, 38.080011001137748 ], [ -121.992173000430711, 38.080018000866311 ], [ -121.99229900037561, 38.080034000588277 ], [ -121.992374999738885, 38.08008000106171 ], [ -121.992405999876681, 38.080172000889455 ], [ -121.992374999789874, 38.080271000801851 ], [ -121.992283999569452, 38.080393000559773 ], [ -121.99217699967447, 38.080545000625477 ], [ -121.992116000338967, 38.080675001020815 ], [ -121.99205499957165, 38.080782000722991 ], [ -121.99207000046114, 38.080896000651109 ], [ -121.992100999752921, 38.080980001098951 ], [ -121.992073000387649, 38.081118000940997 ], [ -121.991872000369568, 38.081087000768434 ], [ -121.991688999715336, 38.081034000319399 ], [ -121.991428999796085, 38.081057000361348 ], [ -121.991201000162391, 38.081186000347095 ], [ -121.991001999891083, 38.08125500073762 ], [ -121.99085000042345, 38.08129300058016 ], [ -121.990667000166852, 38.081255000648682 ], [ -121.99048299998519, 38.081270000294481 ], [ -121.990208999716728, 38.081369000903756 ], [ -121.990025999737313, 38.081499000807732 ], [ -121.989827000212074, 38.081652000512577 ], [ -121.989475999997538, 38.081881000649688 ], [ -121.989339000377186, 38.081972000762889 ], [ -121.989293000039282, 38.08210200064827 ], [ -121.989308000398765, 38.082201000581037 ], [ -121.989472999949612, 38.082218000275731 ], [ -121.989491999965921, 38.082323000810639 ], [ -121.989445999781807, 38.082521000470287 ], [ -121.989263000028345, 38.082773000460783 ], [ -121.9888349998416, 38.083139000305671 ], [ -121.98842300039982, 38.083368000410061 ], [ -121.987980999547318, 38.083544000824631 ], [ -121.987706000120866, 38.08362000068211 ], [ -121.987573000486265, 38.083618000510079 ], [ -121.987416000401339, 38.08349800089858 ], [ -121.987203000510107, 38.083246000927993 ], [ -121.986821000012483, 38.082941000577762 ], [ -121.986333000176884, 38.082392000448714 ], [ -121.985996999994924, 38.082003000887561 ], [ -121.985433000336357, 38.081339000444181 ], [ -121.985005000454407, 38.080828000888943 ], [ -121.984609000466321, 38.080400000500681 ], [ -121.984165999524805, 38.080004000305394 ], [ -121.983967999931465, 38.07982800069766 ], [ -121.983814999606267, 38.07963000029352 ], [ -121.98377300045108, 38.079318000614862 ], [ -121.983525000523741, 38.079317000326483 ], [ -121.983311999707738, 38.079203000683137 ], [ -121.983128999818703, 38.079020000593829 ], [ -121.982945999860405, 38.078836000739209 ], [ -121.982793000156576, 38.078722000312567 ], [ -121.982640000346123, 38.07858500085127 ], [ -121.982503000357568, 38.078432000253621 ], [ -121.982288999782, 38.078302000241464 ], [ -121.982076000085527, 38.078196000516471 ], [ -121.981954000253594, 38.07808900070647 ], [ -121.981831999975768, 38.077906000693645 ], [ -121.981510999982078, 38.077814000491948 ], [ -121.981298000334533, 38.077715001123977 ], [ -121.981221000171274, 38.077616000729272 ], [ -121.981144999797152, 38.077448000725653 ] ] ], [ [ [ -122.020979999938902, 38.096104000642676 ], [ -122.021452999552395, 38.096264001008031 ], [ -122.022364999942909, 38.096290000598927 ], [ -122.022871999925073, 38.096424000598823 ], [ -122.023176999999876, 38.097036000745703 ], [ -122.02341300028165, 38.097275000349569 ], [ -122.023616000068614, 38.09732900098448 ], [ -122.023919999860766, 38.097409000353139 ], [ -122.023988000195118, 38.097755001035985 ], [ -122.024089000530211, 38.097941000431014 ], [ -122.024257999453113, 38.097968001093562 ], [ -122.024461000360645, 38.097808000925809 ], [ -122.024629999597494, 38.097781000348078 ], [ -122.024561999864375, 38.098207000688369 ], [ -122.024123000282799, 38.098527000901441 ], [ -122.023683999601801, 38.098713000773849 ], [ -122.022500999548654, 38.098713001105637 ], [ -122.021824999605087, 38.099192000751579 ], [ -122.021587999494969, 38.099405000962889 ], [ -122.020979999545304, 38.099751000354388 ], [ -122.020439000193022, 38.099698000825846 ], [ -122.019931999403028, 38.09951200029419 ], [ -122.018984999514856, 38.100257000943479 ], [ -122.018139999725136, 38.100177000592268 ], [ -122.01739699964287, 38.099645000704044 ], [ -122.016551999926975, 38.098766000308075 ], [ -122.016111999616996, 38.098314000648244 ], [ -122.015572000385887, 38.097568000757533 ], [ -122.01563900006613, 38.096796000357365 ], [ -122.015943000342489, 38.096370000260066 ], [ -122.01597699970938, 38.096024000337628 ], [ -122.01624800010373, 38.095652000377548 ], [ -122.016652999886887, 38.095625000561064 ], [ -122.017498000108944, 38.095758000890264 ], [ -122.018680999500646, 38.095625001021432 ], [ -122.019966000407507, 38.095918000742337 ], [ -122.02054000012528, 38.096077000495761 ], [ -122.020979999938902, 38.096104000642676 ] ] ], [ [ [ -121.9610720005264, 38.076718000590098 ], [ -121.961322999731451, 38.076906000518349 ], [ -121.96141399948749, 38.076975000894684 ], [ -121.961704000310647, 38.077120000340422 ], [ -121.961872000345551, 38.077218000396307 ], [ -121.962085999824666, 38.077097000834506 ], [ -121.962237999914137, 38.076929000654552 ], [ -121.962498000331664, 38.076662000599981 ], [ -121.962574000115993, 38.076532000386948 ], [ -121.962772000183904, 38.076242000594995 ], [ -121.962986000438704, 38.075892000815358 ], [ -121.963168999676029, 38.075556000987866 ], [ -121.963271999540424, 38.075418000236731 ], [ -121.963336999549725, 38.075342000447776 ], [ -121.963612000016269, 38.075106000391706 ], [ -121.963946999872249, 38.074953000476491 ], [ -121.9642530001761, 38.074961000698025 ], [ -121.964404999804032, 38.074991000661491 ], [ -121.964572999871066, 38.074999000571154 ], [ -121.964770999577098, 38.074900000383728 ], [ -121.965077000177189, 38.074763001088613 ], [ -121.965411999606289, 38.074695000394541 ], [ -121.96582399991982, 38.074802001108623 ], [ -121.966007000433351, 38.075029000535316 ], [ -121.966205999742286, 38.07515900084249 ], [ -121.966495999898257, 38.075190001100083 ], [ -121.966847000118676, 38.075090000514109 ], [ -121.967044999812586, 38.075274000311715 ], [ -121.966983999985175, 38.075441000693843 ], [ -121.966801000366956, 38.075624000750679 ], [ -121.966678999792578, 38.075777000970042 ], [ -121.966772000230989, 38.075818000586366 ], [ -121.966861999668495, 38.075998000378462 ], [ -121.966876999579284, 38.076082001008174 ], [ -121.966771999674819, 38.076218001013714 ], [ -121.966618000024184, 38.076372000471878 ], [ -121.966601999506295, 38.076471000987532 ], [ -121.96646500008579, 38.076632000972516 ], [ -121.966495999564401, 38.076799000807547 ], [ -121.966418999951358, 38.076937000534834 ], [ -121.966297000394576, 38.077074000555115 ], [ -121.96612899972142, 38.077204000457705 ], [ -121.965977000267841, 38.077280000559547 ], [ -121.965869999568312, 38.07735600080693 ], [ -121.965732999780002, 38.077425001048979 ], [ -121.965594999840874, 38.077494000436694 ], [ -121.965397000392258, 38.077547000717033 ], [ -121.96524400002032, 38.077608000678815 ], [ -121.965168000255233, 38.077669000785008 ], [ -121.965072000314137, 38.077718000405881 ], [ -121.965015000433979, 38.077791001048659 ], [ -121.96493900029769, 38.077929000453331 ], [ -121.964893000277144, 38.078035000476554 ], [ -121.964848000158014, 38.078127000374472 ], [ -121.964571999661345, 38.078318000728714 ], [ -121.964496999547308, 38.078363000425966 ], [ -121.964359000142551, 38.078386000731697 ], [ -121.964253000333699, 38.078417000251648 ], [ -121.964007999973433, 38.078417000918897 ], [ -121.96380999957411, 38.078432000309064 ], [ -121.963657000280762, 38.078470000285783 ], [ -121.963458999801773, 38.078524000342334 ], [ -121.963245000176286, 38.078646000941156 ], [ -121.963271999602057, 38.07871800054852 ], [ -121.963276000110866, 38.078836000338526 ], [ -121.963305999773794, 38.078928000635784 ], [ -121.963367999779933, 38.079027001071488 ], [ -121.963490000300808, 38.079165001131706 ], [ -121.963657000049622, 38.079317000361669 ], [ -121.963810000289556, 38.079416000936988 ], [ -121.964085000220066, 38.079607000447197 ], [ -121.964298000042973, 38.079706000253211 ], [ -121.964512000372892, 38.079805000379508 ], [ -121.964756000404336, 38.080019000642295 ], [ -121.964786999582216, 38.080164000596895 ], [ -121.964787000052127, 38.080294000271017 ], [ -121.964672000505345, 38.080518000264092 ], [ -121.964633999932417, 38.080584000483441 ], [ -121.96446599960278, 38.08062200088974 ], [ -121.964314000048915, 38.080637000884238 ], [ -121.959826999908557, 38.08044600084493 ], [ -121.95967200041747, 38.080418000675365 ], [ -121.959797000352083, 38.080324000970904 ], [ -121.959903999452209, 38.080278000565066 ], [ -121.960132999933478, 38.080309000309107 ], [ -121.960316000463806, 38.080248000336269 ], [ -121.960498999542651, 38.080187000964443 ], [ -121.960804000017347, 38.080095000542912 ], [ -121.961018000379809, 38.080011000831192 ], [ -121.96133799993531, 38.079889000402126 ], [ -121.961474999712451, 38.079760000672493 ], [ -121.96167199988524, 38.07961800059477 ], [ -121.961658999905765, 38.079538000539593 ], [ -121.961658999872085, 38.079424000633878 ], [ -121.961612999917236, 38.079302000404205 ], [ -121.961536000245317, 38.079187001044559 ], [ -121.961430000019362, 38.079103000412026 ], [ -121.961154999685661, 38.078966000746263 ], [ -121.960956999631406, 38.078852000542902 ], [ -121.960788999656913, 38.07876800088809 ], [ -121.960666999975587, 38.078691000425657 ], [ -121.960589999932793, 38.078562000548573 ], [ -121.960589999983526, 38.078432000883545 ], [ -121.960672000390531, 38.078318000719541 ], [ -121.960498999931644, 38.078112000340731 ], [ -121.960453000452759, 38.07790600027549 ], [ -121.960483999974258, 38.077822000237916 ], [ -121.960575000121551, 38.077684000346608 ], [ -121.960605999799881, 38.077616000928302 ], [ -121.960727999887439, 38.077379000552042 ], [ -121.960774000469627, 38.077257000627682 ], [ -121.960818999658585, 38.076990000863631 ], [ -121.9610720005264, 38.076718000590098 ] ] ], [ [ [ -121.920269999460984, 38.056919000362001 ], [ -121.920870000410062, 38.057619000876649 ], [ -121.921190000338072, 38.057757000449833 ], [ -121.921663999927134, 38.057727001093347 ], [ -121.922335999865325, 38.057513000848779 ], [ -121.922930999961693, 38.057330000467822 ], [ -121.923738999483533, 38.056995000979825 ], [ -121.923907000280991, 38.056872000992897 ], [ -121.924486999852192, 38.056491000983563 ], [ -121.924944999387719, 38.05630800104349 ], [ -121.925447999700026, 38.056254000959008 ], [ -121.925844999607321, 38.056224000779721 ], [ -121.926332999478163, 38.05614000072881 ], [ -121.92717099968668, 38.056019001079044 ], [ -121.927691000414413, 38.055926001044597 ], [ -121.928026999589306, 38.055949000526816 ], [ -121.928070999655489, 38.056019000313832 ], [ -121.927737000130406, 38.056171000956297 ], [ -121.927233999688454, 38.056277000860447 ], [ -121.926379000270018, 38.056483000505402 ], [ -121.925646999658113, 38.056598000402026 ], [ -121.925189000433377, 38.05662800087763 ], [ -121.924730999610475, 38.056750001120584 ], [ -121.924059999613874, 38.057101000599438 ], [ -121.923388999726512, 38.057361000427321 ], [ -121.922655999442, 38.057590000348 ], [ -121.922076000075691, 38.057857001100999 ], [ -121.921633999450677, 38.058055000692384 ], [ -121.921189999518973, 38.058086000773301 ], [ -121.920731999657079, 38.058169000277786 ], [ -121.920060999672828, 38.058436000703352 ], [ -121.919695000145353, 38.05852000094805 ], [ -121.919573000343519, 38.058620000710974 ], [ -121.91947000020464, 38.058719000696492 ], [ -121.919558000083512, 38.058932000822892 ], [ -121.919374000422224, 38.059154001135752 ], [ -121.918961999436448, 38.05935200049678 ], [ -121.918855999928411, 38.059520000259241 ], [ -121.918824999609441, 38.060275000878903 ], [ -121.918824999590811, 38.060695000297102 ], [ -121.918672999565118, 38.06103800067951 ], [ -121.918717999422199, 38.06123600111404 ], [ -121.918916999727614, 38.061511000792706 ], [ -121.919237000464619, 38.061778000402178 ], [ -121.918978000349057, 38.061984000857748 ], [ -121.918855999809026, 38.062099000939199 ], [ -121.918825000452458, 38.062457000754499 ], [ -121.918886000398984, 38.062724000418406 ], [ -121.918748999552008, 38.063121000525413 ], [ -121.918672999638943, 38.063411000336068 ], [ -121.918566000511689, 38.063579000403216 ], [ -121.918657000088089, 38.063769001037237 ], [ -121.918689000285752, 38.064204001082018 ], [ -121.918596999414447, 38.064258000539915 ], [ -121.918825999890473, 38.064677000856115 ], [ -121.918887000285125, 38.065166000465801 ], [ -121.918947999453778, 38.065448000242711 ], [ -121.919009000105845, 38.065806000748026 ], [ -121.919024000452509, 38.065967000328563 ], [ -121.918994000122453, 38.066066000595534 ], [ -121.919161999696868, 38.06619600050756 ], [ -121.919329999701048, 38.066409000874017 ], [ -121.919283999456169, 38.066661001060851 ], [ -121.919405999762574, 38.067065000976619 ], [ -121.91939100034142, 38.067142000270515 ], [ -121.919298999918098, 38.067241000996198 ], [ -121.919299000058416, 38.067508000805127 ], [ -121.919467000000566, 38.067638000276034 ], [ -121.919833000077759, 38.067775000713155 ], [ -121.920122999904123, 38.068156000305962 ], [ -121.919681000225268, 38.068317000404733 ], [ -121.919420999782787, 38.068408000289772 ], [ -121.919314000494367, 38.068576000865882 ], [ -121.919375000457251, 38.068774001064867 ], [ -121.919558999733525, 38.069140000371625 ], [ -121.919528000446235, 38.069232000612963 ], [ -121.919650000220614, 38.069461000849529 ], [ -121.919542999501971, 38.069636000619916 ], [ -121.919371000432108, 38.069719000633846 ], [ -121.919176999694443, 38.069758000469328 ], [ -121.919086000300069, 38.069827000666223 ], [ -121.918887000069788, 38.069888001081658 ], [ -121.918597000473667, 38.070064000279139 ], [ -121.918277000083521, 38.070232000785843 ], [ -121.917940999960436, 38.07038400027875 ], [ -121.917575000131123, 38.07051400080195 ], [ -121.917315999973809, 38.070613000950992 ], [ -121.91714800035237, 38.070598000309275 ], [ -121.917071000452879, 38.070419000258163 ], [ -121.917270000175535, 38.070300000916497 ], [ -121.917636000362577, 38.070140000851843 ], [ -121.918261999722546, 38.069850000864214 ], [ -121.918521000241853, 38.069606000726921 ], [ -121.918670999576534, 38.069019000690915 ], [ -121.917664999959982, 38.061275000278599 ], [ -121.917771999977703, 38.060863000600683 ], [ -121.917954999708641, 38.060100000798514 ], [ -121.918061999811371, 38.059886000893634 ], [ -121.918336999752512, 38.059421001094641 ], [ -121.918580999827242, 38.059032001004951 ], [ -121.918718000333641, 38.058803000418713 ], [ -121.919007999514392, 38.058589000357941 ], [ -121.919297999891455, 38.058360001102763 ], [ -121.919648999543739, 38.05815400094712 ], [ -121.919769999577241, 38.058119000309659 ], [ -121.920269999460984, 38.056919000362001 ] ] ], [ [ [ -121.973471999871947, 38.071219000464382 ], [ -121.973576000190818, 38.071170000635291 ], [ -121.973789000286246, 38.07112400107485 ], [ -121.973972000240224, 38.071124000977903 ], [ -121.974185999663604, 38.071162000865641 ], [ -121.974322999478332, 38.071208001052696 ], [ -121.974490999626269, 38.071254000319485 ], [ -121.974628999946717, 38.071246000925782 ], [ -121.974918000126465, 38.071223000617877 ], [ -121.97511700052894, 38.071216000445865 ], [ -121.975268999446925, 38.071216001052733 ], [ -121.975590000310078, 38.071155000467868 ], [ -121.975819000253708, 38.071124000904895 ], [ -121.976169999853738, 38.071048000287774 ], [ -121.976551000185736, 38.070994000597388 ], [ -121.976718999426936, 38.071002001118281 ], [ -121.977071999991779, 38.071219000736377 ], [ -121.977252999748245, 38.071269000784717 ], [ -121.977512000418997, 38.071391000983986 ], [ -121.977772000031536, 38.071506000326508 ], [ -121.978045999885907, 38.071574001083505 ], [ -121.978214000101218, 38.071727000680511 ], [ -121.978152999610799, 38.071887000838295 ], [ -121.978214000378287, 38.072070000736851 ], [ -121.978503999852762, 38.072139001128676 ], [ -121.978442999623525, 38.072314000837814 ], [ -121.978572000180321, 38.072419000410214 ], [ -121.978503999625232, 38.072520000324346 ], [ -121.978564999620289, 38.072597001088276 ], [ -121.978671999484121, 38.072673001059172 ], [ -121.978824999613906, 38.072757000841364 ], [ -121.978947000025912, 38.072894000937296 ], [ -121.979129999497204, 38.073093001059661 ], [ -121.978930999557747, 38.073138000852872 ], [ -121.978794000505673, 38.073085000653755 ], [ -121.978703000238497, 38.073123000318134 ], [ -121.978763999777385, 38.073337000891023 ], [ -121.978686999389197, 38.073390000833619 ], [ -121.978657000242023, 38.073527000497599 ], [ -121.978839999887427, 38.073642000604558 ], [ -121.97876399952527, 38.073764000415686 ], [ -121.978412999865171, 38.073909000721414 ], [ -121.978183999486774, 38.074046000583145 ], [ -121.978001000459429, 38.074161000527234 ], [ -121.977725999502653, 38.07430600083071 ], [ -121.97745099965023, 38.074503000457874 ], [ -121.977372000451467, 38.074618000316981 ], [ -121.977360000243294, 38.0747700006131 ], [ -121.97742099982581, 38.074884000703527 ], [ -121.97758899954961, 38.074984000797187 ], [ -121.977817999982975, 38.075151000682233 ], [ -121.978015999869285, 38.07522000056322 ], [ -121.978213999799252, 38.075403000238602 ], [ -121.978229999427398, 38.075548000762161 ], [ -121.978137999449572, 38.075678001036614 ], [ -121.977969999442948, 38.075907000733217 ], [ -121.97778700000687, 38.076036001097449 ], [ -121.977672000321647, 38.076018000579303 ], [ -121.977543000033236, 38.076014000626557 ], [ -121.977421000264243, 38.076014000782763 ], [ -121.977328999795674, 38.075975001000998 ], [ -121.977176999515947, 38.075876000481138 ], [ -121.977024000071069, 38.075762000682609 ], [ -121.976917000377796, 38.075579000887522 ], [ -121.976855999957436, 38.075365000347929 ], [ -121.976779999430491, 38.075106000751184 ], [ -121.976734000392099, 38.074999001131125 ], [ -121.976673000427922, 38.074823000526742 ], [ -121.976572000184447, 38.074518000804098 ], [ -121.976399000440551, 38.074222000977286 ], [ -121.976109000393549, 38.073909000733494 ], [ -121.975834000198475, 38.073619000456659 ], [ -121.975375999527728, 38.073268000474997 ], [ -121.974842000030264, 38.072963000393791 ], [ -121.974307999541239, 38.072665000551176 ], [ -121.973820000337327, 38.072375001065218 ], [ -121.973605999478522, 38.072261000391208 ], [ -121.973453999391211, 38.072177000777209 ], [ -121.973271999468452, 38.072019000904156 ], [ -121.97296500013492, 38.071902001037962 ], [ -121.972751999763332, 38.071750000298969 ], [ -121.972721000323716, 38.071628001018716 ], [ -121.972857999615201, 38.071567000914513 ], [ -121.973026000352533, 38.071490000499963 ], [ -121.973240000274302, 38.071315000303876 ], [ -121.973471999871947, 38.071219000464382 ] ] ], [ [ [ -121.910370999834953, 38.083018001098132 ], [ -121.908464000505163, 38.081087000779732 ], [ -121.908494999573122, 38.080996000515327 ], [ -121.908358000198874, 38.080790000884484 ], [ -121.908112999843439, 38.080721000608882 ], [ -121.906495999917425, 38.079851000869624 ], [ -121.906388999571845, 38.079798001000704 ], [ -121.906281999412442, 38.079714000249574 ], [ -121.906175999470165, 38.079599000714211 ], [ -121.906114999948684, 38.079500000586968 ], [ -121.906114999526665, 38.079401000479614 ], [ -121.90611499961949, 38.079325000873382 ], [ -121.906160000341444, 38.079226000575979 ], [ -121.906389000430053, 38.079111000713297 ], [ -121.906663999736338, 38.079027001082245 ], [ -121.906969000082, 38.078951000762892 ], [ -121.907182999703025, 38.078829000485605 ], [ -121.907442000090441, 38.078676001036698 ], [ -121.907700999582175, 38.078478000364925 ], [ -121.907900000141481, 38.078379000437153 ], [ -121.908112999432888, 38.078363000911587 ], [ -121.908297000173619, 38.078295000522552 ], [ -121.908342000028227, 38.078211000457181 ], [ -121.908311999892646, 38.07807400028809 ], [ -121.908235999566912, 38.077913000863909 ], [ -121.908082999655406, 38.077738000798242 ], [ -121.907914999715715, 38.077562000453462 ], [ -121.907838999517864, 38.077425000750168 ], [ -121.907778000422923, 38.077265001122257 ], [ -121.907807999975432, 38.07715000071731 ], [ -121.907869000247246, 38.077044000684161 ], [ -121.907960999685159, 38.077021000759558 ], [ -121.908098000451858, 38.077059001062196 ], [ -121.90828100013961, 38.077044000415761 ], [ -121.908555999864518, 38.077120000376183 ], [ -121.908738999554416, 38.077135000349571 ], [ -121.908830999740928, 38.077059000609196 ], [ -121.909074999847206, 38.076975000305822 ], [ -121.909169999688658, 38.077018000659933 ], [ -121.909273000503703, 38.077044000331185 ], [ -121.909243000170719, 38.077150000448313 ], [ -121.909090000389753, 38.077272000361098 ], [ -121.908967999800353, 38.07741000096982 ], [ -121.908845999560569, 38.077616000800496 ], [ -121.908769999455615, 38.077806000779525 ], [ -121.908769999404413, 38.077951001044475 ], [ -121.908845999548532, 38.078295001106589 ], [ -121.908922000134638, 38.078585000704607 ], [ -121.909121000525815, 38.07887500024259 ], [ -121.909287999686157, 38.079081000808777 ], [ -121.909425999412534, 38.079332000314373 ], [ -121.909487000218576, 38.079569000881989 ], [ -121.909487000326962, 38.079790000737603 ], [ -121.909578000368114, 38.079889000840858 ], [ -121.909745999568571, 38.080011001097176 ], [ -121.909882999574009, 38.080156000646895 ], [ -121.909974999593345, 38.080294000890618 ], [ -121.910173000246502, 38.080339000345653 ], [ -121.910402000136344, 38.080462000678153 ], [ -121.910386999633602, 38.080660000618941 ], [ -121.910432999472135, 38.080843000874729 ], [ -121.910478999672918, 38.081018000820372 ], [ -121.910676999731976, 38.081179000497855 ], [ -121.910768999902274, 38.081423001041379 ], [ -121.91087099971206, 38.081618001042948 ], [ -121.910936999928367, 38.081751001007632 ], [ -121.910922000095326, 38.081888000688721 ], [ -121.910998000448942, 38.082003000940738 ], [ -121.911104999938033, 38.082117000526317 ], [ -121.911119999698641, 38.082209000910694 ], [ -121.911243000045147, 38.082354000717892 ], [ -121.911348999751709, 38.082392001129591 ], [ -121.911409999512912, 38.082499000642358 ], [ -121.911379999746202, 38.082621000898762 ], [ -121.911303999966734, 38.082750000276981 ], [ -121.91118099950927, 38.082933000688939 ], [ -121.911075000095366, 38.083025000995818 ], [ -121.910937000373863, 38.083086000360261 ], [ -121.910678000237738, 38.083109001090548 ], [ -121.910524999541551, 38.08308600072273 ], [ -121.910370999834953, 38.083018001098132 ] ] ], [ [ [ -121.911869999973575, 38.071419000705404 ], [ -121.911852000312123, 38.070781000540251 ], [ -121.911805999805466, 38.070201000789496 ], [ -121.91180599976704, 38.069415000601779 ], [ -121.911913000234705, 38.068675000748918 ], [ -121.911989000228871, 38.06799600074558 ], [ -121.911974000283237, 38.067386000705838 ], [ -121.911927999424535, 38.066684000671174 ], [ -121.911881999428886, 38.066005001109588 ], [ -121.911715000067389, 38.065532000592675 ], [ -121.911516000129197, 38.065143000985898 ], [ -121.91128700014211, 38.064792000622809 ], [ -121.911150000464914, 38.064555000248184 ], [ -121.910935999693891, 38.064220000885754 ], [ -121.910814000371801, 38.063960000653182 ], [ -121.910676999624343, 38.063670000437519 ], [ -121.91049399972222, 38.063373000899269 ], [ -121.910478999898544, 38.063243000259206 ], [ -121.910669999969144, 38.06321900062958 ], [ -121.911042999517292, 38.06362400054914 ], [ -121.911165000250733, 38.063891000509877 ], [ -121.911408999728067, 38.064395000414024 ], [ -121.91156200046845, 38.064754000929767 ], [ -121.911715000106071, 38.065051000374602 ], [ -121.91180599988391, 38.065288000467646 ], [ -121.911943000417111, 38.06548600069349 ], [ -121.912019999509042, 38.06560800067335 ], [ -121.91229400029718, 38.066012000766762 ], [ -121.912476999893812, 38.066760000713089 ], [ -121.912569000497825, 38.067363000451245 ], [ -121.912721999399082, 38.067935000267795 ], [ -121.912766999396709, 38.068317000797414 ], [ -121.912736999768157, 38.068736000929817 ], [ -121.912767000146786, 38.069125000465242 ], [ -121.91278300046028, 38.069461001009969 ], [ -121.912812999878099, 38.069835000242918 ], [ -121.91294999961552, 38.070247000438137 ], [ -121.91304200025057, 38.070437000916947 ], [ -121.913103000125261, 38.070506000739279 ], [ -121.913169999955514, 38.070619000475062 ], [ -121.913575999902974, 38.070842000844621 ], [ -121.913942000496746, 38.070888000672092 ], [ -121.914476000263974, 38.070979000931459 ], [ -121.914811999506952, 38.070994000368195 ], [ -121.915239000094573, 38.070964000880153 ], [ -121.915515000513722, 38.070918001020182 ], [ -121.915835000487206, 38.070895000510852 ], [ -121.916019000214206, 38.070880000526472 ], [ -121.916140999481783, 38.07087200068392 ], [ -121.916263000279358, 38.070888000752426 ], [ -121.916370999764155, 38.071119000306624 ], [ -121.916201999633032, 38.071269000727774 ], [ -121.915713000487258, 38.071330000341604 ], [ -121.91510200012317, 38.071559001114586 ], [ -121.914704999473145, 38.071635000634522 ], [ -121.914293000104067, 38.071696000601676 ], [ -121.913743999927803, 38.071818000449476 ], [ -121.913438999929269, 38.071681000735666 ], [ -121.913073000420056, 38.071750001132543 ], [ -121.912644999520808, 38.071803001118838 ], [ -121.9124319995897, 38.071811000574797 ], [ -121.912218000279466, 38.071750000497076 ], [ -121.912035000368036, 38.071689000421138 ], [ -121.911867000104962, 38.071574000576064 ], [ -121.911869999973575, 38.071419000705404 ] ] ], [ [ [ -121.956872000112682, 38.079818000711725 ], [ -121.95659300012133, 38.079912000819746 ], [ -121.956347999836865, 38.080027001034026 ], [ -121.955998000056283, 38.080164000946482 ], [ -121.955829999762798, 38.080202000702215 ], [ -121.955737999800661, 38.08023300062974 ], [ -121.955601000493559, 38.080217000970954 ], [ -121.955472000361524, 38.080118000319715 ], [ -121.955325999728515, 38.080156001130192 ], [ -121.955280000045661, 38.080027000354363 ], [ -121.955310999818352, 38.079905000903366 ], [ -121.955448000388174, 38.079706000726937 ], [ -121.955509000149561, 38.079546000253551 ], [ -121.955615999761449, 38.07936300061624 ], [ -121.955691999708947, 38.079172000853077 ], [ -121.955798999417496, 38.078951001078387 ], [ -121.955905999438457, 38.07876000083084 ], [ -121.955997999503751, 38.078585000347474 ], [ -121.956211000370288, 38.078470000484089 ], [ -121.956393999966295, 38.078524000534614 ], [ -121.956577000358436, 38.078577000831011 ], [ -121.956883000009142, 38.078661000411245 ], [ -121.957171999575849, 38.078806000300887 ], [ -121.957461999969382, 38.078936000882848 ], [ -121.957798000035922, 38.079042000384831 ], [ -121.957950999541779, 38.079119001117178 ], [ -121.958088000473026, 38.079241000304002 ], [ -121.9582720003757, 38.079418000581207 ], [ -121.958255999498888, 38.079485000349713 ], [ -121.958271000079392, 38.079599000718133 ], [ -121.958088000202423, 38.07969900055619 ], [ -121.957874000089404, 38.079760000642302 ], [ -121.957538999580336, 38.079783000436272 ], [ -121.957203000417195, 38.079790000582243 ], [ -121.956872000112682, 38.079818000711725 ] ] ], [ [ [ -121.975971999919182, 38.07761800053467 ], [ -121.976169999908137, 38.077631000269193 ], [ -121.976322000525684, 38.077768000297908 ], [ -121.976459999709206, 38.077860000773313 ], [ -121.976626999541992, 38.077990000409635 ], [ -121.976795000499237, 38.078104000643023 ], [ -121.977070000111837, 38.078226000514569 ], [ -121.977329999811943, 38.078310000771751 ], [ -121.977473000384848, 38.078418000998667 ], [ -121.977589999540385, 38.078608000666513 ], [ -121.977529000525806, 38.078783000584146 ], [ -121.97745199946894, 38.078928000334415 ], [ -121.977330000137528, 38.079203000301121 ], [ -121.977224000474962, 38.079462000815674 ], [ -121.977177999426104, 38.079699000483792 ], [ -121.977147000140306, 38.08001100056137 ], [ -121.977224000339589, 38.080240000660837 ], [ -121.977284999901102, 38.080500000297477 ], [ -121.977329999486756, 38.08077400025396 ], [ -121.977376000496065, 38.08103400087947 ], [ -121.977330000107429, 38.081118001058691 ], [ -121.977173000448261, 38.081218001037819 ], [ -121.97702500046455, 38.081148001110677 ], [ -121.976978999774673, 38.081041000754823 ], [ -121.976917999873976, 38.080889000520045 ], [ -121.976902999579309, 38.080744000542829 ], [ -121.976873000487203, 38.080584000368994 ], [ -121.976827000342354, 38.080477000852817 ], [ -121.976795999933159, 38.080301000280969 ], [ -121.976674000149202, 38.080050000758767 ], [ -121.976583000298177, 38.07986600091489 ], [ -121.976460000413596, 38.079630000850592 ], [ -121.976398999951229, 38.079493000607393 ], [ -121.976429000171393, 38.079233000949955 ], [ -121.976429000024353, 38.0790880008513 ], [ -121.976307000374106, 38.078897000275916 ], [ -121.976215000369066, 38.078775000544397 ], [ -121.976153999405113, 38.07859200070687 ], [ -121.976062999871274, 38.078310001055904 ], [ -121.976016999807683, 38.078074000850691 ], [ -121.975956000151967, 38.077890000526537 ], [ -121.975956000237076, 38.077700000425757 ], [ -121.975971999919182, 38.07761800053467 ] ] ], [ [ [ -121.95867200044259, 38.079718000243894 ], [ -121.95860700043977, 38.079615000817931 ], [ -121.958636999949775, 38.079546000825168 ], [ -121.958729000204016, 38.079508000472011 ], [ -121.958820000417688, 38.079470001099331 ], [ -121.958942000028102, 38.079454000716488 ], [ -121.959110000514727, 38.079462000378918 ], [ -121.959263000224041, 38.07943900031951 ], [ -121.959415999840132, 38.079409001014994 ], [ -121.9595529998047, 38.079378000970898 ], [ -121.959736000311253, 38.079332000349481 ], [ -121.959903999601508, 38.079302000703066 ], [ -121.960087000103741, 38.079203001097987 ], [ -121.960208999747138, 38.079126000634851 ], [ -121.960346000145449, 38.079035000379307 ], [ -121.960484000380518, 38.078989000608871 ], [ -121.960671999956929, 38.079018000840144 ], [ -121.960834999562067, 38.079073000439088 ], [ -121.960956999773657, 38.079119000709625 ], [ -121.96109400019121, 38.079226000648596 ], [ -121.96120099983996, 38.079340001046447 ], [ -121.961277000515921, 38.079538000683968 ], [ -121.961272000136262, 38.079618000291276 ], [ -121.961186000135214, 38.079706000710232 ], [ -121.961093999418154, 38.079813000268011 ], [ -121.960972000199817, 38.079874000995126 ], [ -121.960803999901501, 38.079897000403882 ], [ -121.960697000363709, 38.079927000986309 ], [ -121.960605999665688, 38.079950000637034 ], [ -121.960391999970625, 38.080118000750559 ], [ -121.960040999878359, 38.080126001046494 ], [ -121.959750999779473, 38.080103000431166 ], [ -121.959399999888007, 38.080027000376546 ], [ -121.959109999735361, 38.07995000028076 ], [ -121.958912000129104, 38.079889000487292 ], [ -121.95867200044259, 38.079718000243894 ] ] ], [ [ [ -121.918770000447736, 38.050819000551527 ], [ -121.918779000419249, 38.050761000914534 ], [ -121.918886000081372, 38.050677000572399 ], [ -121.919084999534647, 38.050609000598151 ], [ -121.91929800051922, 38.050555000954105 ], [ -121.919496999472017, 38.050548000928067 ], [ -121.919695000319138, 38.050563000655529 ], [ -121.919909000479521, 38.050586000502321 ], [ -121.920030999642123, 38.050586000335137 ], [ -121.920269999885221, 38.050619000501918 ], [ -121.920412000046511, 38.050601001078725 ], [ -121.920716999445759, 38.050616000328567 ], [ -121.920839000529682, 38.050647000311905 ], [ -121.920977000112259, 38.050662000356695 ], [ -121.921067999821631, 38.050685000866956 ], [ -121.921189999392311, 38.050769000797281 ], [ -121.921189999655297, 38.050845000855539 ], [ -121.92112899960631, 38.051013000531924 ], [ -121.921082999423561, 38.051074000746539 ], [ -121.920970000271964, 38.051119000788262 ], [ -121.920869999817697, 38.051089000524257 ], [ -121.920731999836633, 38.051051000616127 ], [ -121.920579999490883, 38.051021000292138 ], [ -121.920426999586354, 38.05099000102642 ], [ -121.920336000340811, 38.050990000655439 ], [ -121.920183000107642, 38.051028000259038 ], [ -121.920092000072501, 38.051059000659109 ], [ -121.919954000504021, 38.051105001126771 ], [ -121.919755999588773, 38.05115000029636 ], [ -121.91957299959347, 38.051166000724464 ], [ -121.919359000216929, 38.05120400091473 ], [ -121.91919099965061, 38.051227000711179 ], [ -121.919068999431659, 38.051227000891487 ], [ -121.918886000250239, 38.051211000713856 ], [ -121.918749000343055, 38.051051000980117 ], [ -121.918733999954796, 38.050960000552429 ], [ -121.918770000447736, 38.050819000551527 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1261, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.020076000326412, 38.243713001073104 ], [ -122.023382999734167, 38.243777001099758 ], [ -122.023963000016451, 38.243810000384343 ], [ -122.024273999439629, 38.243830000859901 ], [ -122.025075999516389, 38.243913000606462 ], [ -122.029577000224066, 38.244413000980714 ], [ -122.031276999735582, 38.244613000829084 ], [ -122.032818999656797, 38.244870001114208 ], [ -122.03352100036777, 38.244939000840205 ], [ -122.033857000268284, 38.244946000564887 ], [ -122.034151000435685, 38.244946000845459 ], [ -122.034528999781472, 38.244926000323815 ], [ -122.034998999659081, 38.244877000390133 ], [ -122.036542999886322, 38.244514000339926 ], [ -122.037445999772757, 38.244302000540408 ], [ -122.037696999953553, 38.244243000284882 ], [ -122.039286999501712, 38.243869001048914 ], [ -122.040377000145526, 38.24361300025673 ], [ -122.040376999430023, 38.243739001094987 ], [ -122.04037699950959, 38.24382800043859 ], [ -122.040376999833086, 38.244073000519279 ], [ -122.040377000168249, 38.244213000948385 ], [ -122.040376999541721, 38.244713001023179 ], [ -122.040184999626007, 38.244935000720396 ], [ -122.03966599966769, 38.245580000790333 ], [ -122.039594999500522, 38.245638001008956 ], [ -122.039071999401514, 38.245873000492089 ], [ -122.03814599951005, 38.246405000459028 ], [ -122.037524999460686, 38.246761000660435 ], [ -122.034177000360486, 38.248813000747347 ], [ -122.033677000350934, 38.249113000822611 ], [ -122.029977000183635, 38.251213000821451 ], [ -122.024976999824261, 38.253913000662514 ], [ -122.022077000028816, 38.255613000432419 ], [ -122.021277000186075, 38.256113000795786 ], [ -122.020776999748648, 38.256413000874367 ], [ -122.019576999431948, 38.257113001018851 ], [ -122.019276999513281, 38.256913000835915 ], [ -122.019777000394413, 38.256613000919899 ], [ -122.019776000411184, 38.254046000893254 ], [ -122.019775999498592, 38.25351300052624 ], [ -122.019796000379884, 38.253225000721635 ], [ -122.019975999417596, 38.252813000976914 ], [ -122.020019000170549, 38.252197000360439 ], [ -122.020126000356072, 38.250662000999071 ], [ -122.020275999646827, 38.248513000712727 ], [ -122.020236000298112, 38.247595000525443 ], [ -122.020175999525634, 38.246213000878889 ], [ -122.020076000326412, 38.243713001073104 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1254, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.009203999450222, 38.244361000616315 ], [ -122.009163999607921, 38.244683000660373 ], [ -122.008946000364872, 38.245094000854365 ], [ -122.008666999559807, 38.245484000568943 ], [ -122.008217000108772, 38.246221000546655 ], [ -122.007742999969111, 38.246834000524025 ], [ -122.007434000037961, 38.24731400065393 ], [ -122.007278000062556, 38.247526000765404 ], [ -122.006971999765554, 38.247943000855862 ], [ -122.006860999933437, 38.248255001109094 ], [ -122.006821999450068, 38.248366000531114 ], [ -122.006652000163086, 38.24869800035092 ], [ -122.006301000208637, 38.249323000360839 ], [ -122.006052000056442, 38.249897000732773 ], [ -122.005795999908486, 38.250553000832895 ], [ -122.005620000298009, 38.250825000836691 ], [ -122.004980000269526, 38.250889000375047 ], [ -122.00416399983483, 38.250985000384873 ], [ -122.003332000414687, 38.251177000888568 ], [ -122.002467999431346, 38.251641000648043 ], [ -122.001972000478872, 38.252009001114629 ], [ -122.001667999545134, 38.252489000813299 ], [ -122.001492000282113, 38.252873000617058 ], [ -122.001028000211889, 38.253193000852193 ], [ -121.998175999421932, 38.253313000661784 ], [ -121.993076000376959, 38.253213001063358 ], [ -121.990378000229342, 38.253159000683304 ], [ -121.988344000051029, 38.253118000570083 ], [ -121.988076000150855, 38.253113000538008 ], [ -121.988087000351783, 38.25274900063922 ], [ -121.988091999804794, 38.252582000291817 ], [ -121.988211000375728, 38.248617000734185 ], [ -121.98824300036901, 38.245801000260528 ], [ -121.988274999464849, 38.243413001066635 ], [ -121.991298999971846, 38.243337000847134 ], [ -121.99335999977464, 38.24332100027145 ], [ -121.994376000470695, 38.243313000497139 ], [ -121.996617999963291, 38.243298000583806 ], [ -121.999192999987898, 38.243334000806314 ], [ -122.000976000063318, 38.24341300101721 ], [ -122.004484999670765, 38.243517000621154 ], [ -122.005427999891566, 38.243545000681941 ], [ -122.005645999428779, 38.24354300070474 ], [ -122.00634999964204, 38.243538000304852 ], [ -122.009576000147391, 38.243513000903853 ], [ -122.010309999858151, 38.243513000981565 ], [ -122.00996499949936, 38.243740000497112 ], [ -122.00927300011459, 38.244265000244184 ], [ -122.009203999450222, 38.244361000616315 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1252, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.955375000082014, 38.28321200077751 ], [ -121.953281000298176, 38.283172000855366 ], [ -121.952774999830496, 38.283120000252296 ], [ -121.952762000487539, 38.282692000876871 ], [ -121.951671999812774, 38.282731000484567 ], [ -121.951546000068831, 38.281999000358503 ], [ -121.950975000001819, 38.282012000356566 ], [ -121.942373999831574, 38.282012000500856 ], [ -121.942073999651413, 38.283612000967864 ], [ -121.942175000025117, 38.284712000704467 ], [ -121.941979999799685, 38.284716000933777 ], [ -121.937574000356634, 38.284812000939652 ], [ -121.935574000066083, 38.28471200076843 ], [ -121.932774000373655, 38.284812000263621 ], [ -121.932773999480958, 38.284352000380792 ], [ -121.932774000276652, 38.283812000999951 ], [ -121.930073999456567, 38.283812000548892 ], [ -121.930073999994164, 38.279312000505101 ], [ -121.928994000504304, 38.279240000407611 ], [ -121.927234000025649, 38.279240000276246 ], [ -121.926305999473101, 38.279240000269439 ], [ -121.914874000353535, 38.279212000507783 ], [ -121.914848999447926, 38.274888000842246 ], [ -121.914773000091316, 38.273512000310909 ], [ -121.906473000307855, 38.279612000252669 ], [ -121.905673000143551, 38.280112001117764 ], [ -121.897317999884763, 38.285823000348174 ], [ -121.896544000014146, 38.286490000842505 ], [ -121.895873000262199, 38.285712001085493 ], [ -121.892072999931173, 38.282312000661364 ], [ -121.914772999481073, 38.265012000419532 ], [ -121.914672999818379, 38.262313000880873 ], [ -121.913773000178423, 38.261613000745228 ], [ -121.914373000515852, 38.261113001001071 ], [ -121.91537299986733, 38.261713000627161 ], [ -121.921472999909497, 38.25731300088826 ], [ -121.923573000321497, 38.257213000727177 ], [ -121.923773000093561, 38.250313000832541 ], [ -121.934973999594078, 38.250213000526706 ], [ -121.934974000087607, 38.249613000531731 ], [ -121.939374000357176, 38.247613000637948 ], [ -121.939474000482463, 38.246613000898343 ], [ -121.941673999782225, 38.246613000463697 ], [ -121.941574000339855, 38.243213000979004 ], [ -121.951874000255216, 38.243113000384369 ], [ -121.951874000206104, 38.24211300090036 ], [ -121.951746000141711, 38.241289000353028 ], [ -121.951719999466889, 38.2398060005616 ], [ -121.957853999695089, 38.237746001123135 ], [ -121.958173999693472, 38.237513000681552 ], [ -121.959374000381658, 38.23741300107833 ], [ -121.960674000244254, 38.237413000729866 ], [ -121.960574000511684, 38.240313000482885 ], [ -121.96187400043533, 38.24161300039588 ], [ -121.96377499980116, 38.24311300049937 ], [ -121.969575000361147, 38.243213000593521 ], [ -121.969391000095953, 38.250091001058038 ], [ -121.969275000425483, 38.254413000330061 ], [ -121.973975000405417, 38.254413000285609 ], [ -121.973974999556674, 38.258013000762865 ], [ -121.975175000044942, 38.258013000963203 ], [ -121.975115999733077, 38.26149200074984 ], [ -121.975059000102235, 38.264840000873605 ], [ -121.974875000510195, 38.267312000951414 ], [ -121.974875000066248, 38.272612000447545 ], [ -121.97083499998574, 38.272632000352026 ], [ -121.970375000306888, 38.272612000278968 ], [ -121.969775000092341, 38.272512000360059 ], [ -121.969475000426712, 38.27251200085162 ], [ -121.968175000460263, 38.272512000711316 ], [ -121.965442999866411, 38.272584000694472 ], [ -121.960249999992797, 38.272382000878238 ], [ -121.96027499998101, 38.272712000667333 ], [ -121.960210999794455, 38.273224000251041 ], [ -121.960075000259266, 38.274312000900466 ], [ -121.960074999519577, 38.276912000492416 ], [ -121.959875000021356, 38.278912000441913 ], [ -121.957974999845945, 38.283212000298981 ], [ -121.955375000082014, 38.28321200077751 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1271, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.970375999657023, 38.325523000922438 ], [ -121.970376000139879, 38.326105000613353 ], [ -121.970376000335392, 38.330011000471707 ], [ -121.970376000047963, 38.333411001072342 ], [ -121.970376000452262, 38.335511000731394 ], [ -121.96767599967562, 38.335411001027943 ], [ -121.965075999951551, 38.335511000513925 ], [ -121.964532000289481, 38.335527000655603 ], [ -121.964214999530626, 38.335520000540988 ], [ -121.963027999796324, 38.335495000517447 ], [ -121.962275999825465, 38.33541100053359 ], [ -121.958654000428552, 38.335485000639551 ], [ -121.957375999661409, 38.335511000417 ], [ -121.955375999577484, 38.335411000351051 ], [ -121.953076000266762, 38.335411001068266 ], [ -121.950708000370696, 38.335415001116893 ], [ -121.949175999925089, 38.335411000309328 ], [ -121.94574700021208, 38.335431000650722 ], [ -121.944238000173115, 38.335420000960646 ], [ -121.94389599999451, 38.335407000901192 ], [ -121.942875000151432, 38.335411001053046 ], [ -121.942786999556802, 38.33541100076193 ], [ -121.942575000405611, 38.33541100071109 ], [ -121.9370080000473, 38.335475000284049 ], [ -121.935169999832965, 38.335496001059894 ], [ -121.933875000471787, 38.335511001104443 ], [ -121.933822000131158, 38.336302000761272 ], [ -121.933775000228124, 38.337011000421036 ], [ -121.933374999816834, 38.336911000778137 ], [ -121.921174999408024, 38.337211000722078 ], [ -121.915274000145104, 38.337311000992038 ], [ -121.905973999778567, 38.337211000937373 ], [ -121.896874000423267, 38.337111000339632 ], [ -121.896874000253334, 38.329733000342429 ], [ -121.896873999449369, 38.321397000676605 ], [ -121.896872999820673, 38.315411000291228 ], [ -121.915274000098719, 38.315611000761827 ], [ -121.915474000439588, 38.308311000516902 ], [ -121.933875000507186, 38.308711000319875 ], [ -121.933474000190756, 38.301512001002465 ], [ -121.947474999597731, 38.301512001047143 ], [ -121.947075000142831, 38.304511001057925 ], [ -121.947275000315855, 38.304611000836474 ], [ -121.947474999612851, 38.30491100074704 ], [ -121.947475000043084, 38.305011000537633 ], [ -121.947374999717255, 38.306211000758324 ], [ -121.949075000384852, 38.307111000690675 ], [ -121.949575000140726, 38.307911000478221 ], [ -121.950174999897555, 38.30871100100326 ], [ -121.953674999464653, 38.308911001084859 ], [ -121.960275999653675, 38.313511000483885 ], [ -121.961676000450879, 38.314711001063834 ], [ -121.963476000003894, 38.31511100094928 ], [ -121.964575999870718, 38.315611000971053 ], [ -121.964694000194143, 38.315670001090758 ], [ -121.965375999737503, 38.316011000742584 ], [ -121.966875999794112, 38.317911000423948 ], [ -121.969276000459033, 38.319011000776925 ], [ -121.969876000502495, 38.319311000355832 ], [ -121.970476000003558, 38.31931100042199 ], [ -121.970375999756101, 38.321111000407321 ], [ -121.970375999402222, 38.322727000649969 ], [ -121.970375999657023, 38.325523000922438 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1276, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.953076000282536, 38.346012000819627 ], [ -121.953075999597871, 38.345410000708377 ], [ -121.952975999525933, 38.344210000949339 ], [ -121.953076000491919, 38.342610001053814 ], [ -121.953076000321616, 38.342310000721902 ], [ -121.953172000101489, 38.339799000937823 ], [ -121.953171999932692, 38.336951000578935 ], [ -121.953076000266762, 38.335411001068266 ], [ -121.955375999577484, 38.335411000351051 ], [ -121.957375999661409, 38.335511000417 ], [ -121.958654000428552, 38.335485000639551 ], [ -121.962275999825465, 38.33541100053359 ], [ -121.9622229994674, 38.338462001008025 ], [ -121.962207999903768, 38.339311001060935 ], [ -121.962191000188625, 38.340274000818248 ], [ -121.962176000115363, 38.341111001084855 ], [ -121.961476000214219, 38.3417110004291 ], [ -121.960380999809416, 38.342648000885326 ], [ -121.960076000397791, 38.342910000297373 ], [ -121.957876000001832, 38.344610000535312 ], [ -121.957676000470741, 38.346410000803999 ], [ -121.958675999752941, 38.351810000572762 ], [ -121.95697599992026, 38.351810000464994 ], [ -121.953076000135951, 38.351710000397517 ], [ -121.953075999515917, 38.350410000808395 ], [ -121.953076000423593, 38.347510000738694 ], [ -121.953076000227014, 38.346410000343774 ], [ -121.953076000282536, 38.346012000819627 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1272, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.970876000208008, 38.315811000539057 ], [ -121.974075999780908, 38.315911000807503 ], [ -121.976576000210898, 38.31581100109986 ], [ -121.976594000114176, 38.315811000455071 ], [ -121.987603999800712, 38.315823001015694 ], [ -121.989970999516387, 38.315825000974513 ], [ -121.99007700010597, 38.316111000335212 ], [ -121.992676999495146, 38.320811000496974 ], [ -121.996276999699603, 38.325111001052491 ], [ -121.994676999884774, 38.326111000618745 ], [ -121.993477000149568, 38.326611000942137 ], [ -121.992176999717444, 38.327711000340344 ], [ -121.990076999679957, 38.328111000759634 ], [ -121.988677000394347, 38.330911000522484 ], [ -121.986977000409226, 38.331011000638576 ], [ -121.986976999698513, 38.331494000291677 ], [ -121.986977000062566, 38.333211000559949 ], [ -121.987014000303262, 38.333472000294961 ], [ -121.986986999605222, 38.333472000464724 ], [ -121.984976999740468, 38.333411000583197 ], [ -121.983210000049652, 38.333411000626022 ], [ -121.980276999705254, 38.333411000794548 ], [ -121.979964999877907, 38.333410000503868 ], [ -121.979477000348496, 38.333411000592868 ], [ -121.976475999749169, 38.333411000588974 ], [ -121.973128000486668, 38.333411000275326 ], [ -121.972262000465946, 38.333411001011129 ], [ -121.970376000047963, 38.333411001072342 ], [ -121.970376000335392, 38.330011000471707 ], [ -121.970376000139879, 38.326105000613353 ], [ -121.970375999657023, 38.325523000922438 ], [ -121.970375999402222, 38.322727000649969 ], [ -121.970375999756101, 38.321111000407321 ], [ -121.970476000003558, 38.31931100042199 ], [ -121.970876000208008, 38.315811000539057 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1281, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.97607700051222, 38.353910001048398 ], [ -121.976876999443235, 38.354110000591007 ], [ -121.978276999645232, 38.354410000630402 ], [ -121.978076999901148, 38.354610000718544 ], [ -121.977737999381731, 38.355013000988649 ], [ -121.977485000409217, 38.355308000446513 ], [ -121.977241000026723, 38.355554001076207 ], [ -121.976906999597674, 38.355860001032596 ], [ -121.97667700037178, 38.356010000433457 ], [ -121.969875000037234, 38.361131000656279 ], [ -121.968742000313284, 38.361925001107181 ], [ -121.967707999659368, 38.362561000323794 ], [ -121.966237999902091, 38.363465000801128 ], [ -121.965519999786636, 38.36390700100084 ], [ -121.96454399970095, 38.364556000332627 ], [ -121.964077000199623, 38.364910000734646 ], [ -121.963677000067122, 38.364710000449122 ], [ -121.962776000509763, 38.364010000403766 ], [ -121.960376000381828, 38.362110000679124 ], [ -121.960194999398468, 38.360382000970425 ], [ -121.959943999629104, 38.357979000531984 ], [ -121.959676000184075, 38.355410000771592 ], [ -121.958676000421264, 38.352710000484393 ], [ -121.958675999796426, 38.352010000563773 ], [ -121.958675999752941, 38.351810000572762 ], [ -121.957676000470741, 38.346410000803999 ], [ -121.958580000290297, 38.346406000527807 ], [ -121.962575999795504, 38.346410000716141 ], [ -121.965075999518078, 38.34641000110264 ], [ -121.965876000317195, 38.346410000319047 ], [ -121.968676000217982, 38.346510001125537 ], [ -121.970775999392856, 38.346510000985916 ], [ -121.972177000333204, 38.346510000486454 ], [ -121.974077000448219, 38.346310000717978 ], [ -121.976077000446736, 38.349010000987796 ], [ -121.976052000322241, 38.352246000285298 ], [ -121.97607700051222, 38.353910001048398 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1275, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.96767599967562, 38.335411001027943 ], [ -121.970376000452262, 38.335511000731394 ], [ -121.970275999614202, 38.337211000754223 ], [ -121.970376000251036, 38.338511000645298 ], [ -121.9701759994675, 38.340911000351213 ], [ -121.970376000071397, 38.341111000747851 ], [ -121.970775999664951, 38.341610000420218 ], [ -121.974077000448219, 38.346310000717978 ], [ -121.972177000333204, 38.346510000486454 ], [ -121.970775999392856, 38.346510000985916 ], [ -121.968676000217982, 38.346510001125537 ], [ -121.965876000317195, 38.346410000319047 ], [ -121.965075999518078, 38.34641000110264 ], [ -121.962575999795504, 38.346410000716141 ], [ -121.958580000290297, 38.346406000527807 ], [ -121.957676000470741, 38.346410000803999 ], [ -121.957876000001832, 38.344610000535312 ], [ -121.960076000397791, 38.342910000297373 ], [ -121.960380999809416, 38.342648000885326 ], [ -121.961476000214219, 38.3417110004291 ], [ -121.962176000115363, 38.341111001084855 ], [ -121.962191000188625, 38.340274000818248 ], [ -121.962207999903768, 38.339311001060935 ], [ -121.9622229994674, 38.338462001008025 ], [ -121.962275999825465, 38.33541100053359 ], [ -121.963027999796324, 38.335495000517447 ], [ -121.964214999530626, 38.335520000540988 ], [ -121.964532000289481, 38.335527000655603 ], [ -121.965075999951551, 38.335511000513925 ], [ -121.96767599967562, 38.335411001027943 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1285, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.994440999521316, 38.368890001132222 ], [ -121.994705999645177, 38.36889000101533 ], [ -121.995298000518659, 38.368890000444893 ], [ -121.997634999954414, 38.368948000983252 ], [ -121.99837900018197, 38.368967001088144 ], [ -121.998787999960882, 38.36896900059768 ], [ -121.999379000089448, 38.368967000843952 ], [ -122.000981000166007, 38.369018001084868 ], [ -122.001525000191307, 38.369022001132855 ], [ -122.001583000176524, 38.369026000776401 ], [ -122.004674999576821, 38.369018000403656 ], [ -122.00467799977524, 38.368010001059609 ], [ -122.004622999860715, 38.36696700029011 ], [ -122.004577999982061, 38.366110000427831 ], [ -122.004677999918641, 38.36461000076882 ], [ -122.004678000313589, 38.362710000966601 ], [ -122.004778000503705, 38.362010000776948 ], [ -122.004678000137162, 38.36141000070571 ], [ -122.004677999413346, 38.360610001093832 ], [ -122.004678000347383, 38.359910000683755 ], [ -122.004577999884035, 38.359310000336365 ], [ -122.004977999719557, 38.359310000921191 ], [ -122.004677999861855, 38.356910000413798 ], [ -122.004377999644461, 38.356110000774272 ], [ -122.005277999592067, 38.355910000754527 ], [ -122.00807799966141, 38.355310000322405 ], [ -122.009378000480396, 38.355210000788148 ], [ -122.010777999613381, 38.357110001137762 ], [ -122.01117799999102, 38.357910000768783 ], [ -122.0136779996173, 38.358910000424466 ], [ -122.015378000153618, 38.359410000528769 ], [ -122.01597799995173, 38.359610000696762 ], [ -122.016033999744039, 38.359627000571031 ], [ -122.017277999919941, 38.360010000982712 ], [ -122.0180780005212, 38.36021000033675 ], [ -122.019077999426244, 38.360278000265374 ], [ -122.02107799969653, 38.360410000264757 ], [ -122.021077999691997, 38.361410000482479 ], [ -122.021978000311748, 38.361810000414138 ], [ -122.022977999496462, 38.361810001087377 ], [ -122.024024000160779, 38.370370001017555 ], [ -122.02407799967844, 38.370810000444557 ], [ -122.024779000382992, 38.372410000904424 ], [ -122.024579000208249, 38.374010000581876 ], [ -122.024984000459767, 38.37491000098575 ], [ -122.025479000364498, 38.376010000261871 ], [ -122.028178999914147, 38.380210000282602 ], [ -122.024378999868787, 38.380110000952229 ], [ -122.015765999611148, 38.37997400110266 ], [ -122.013378000070702, 38.380010001122336 ], [ -122.009477999830779, 38.379910000935347 ], [ -122.008678000407784, 38.379310000653092 ], [ -122.004378000167904, 38.379210001051149 ], [ -122.004177999838404, 38.379210000974027 ], [ -122.003959999907025, 38.379210000820244 ], [ -122.001000999897471, 38.379210000679365 ], [ -122.000477999386746, 38.379210000662923 ], [ -121.998278000398415, 38.379310000519865 ], [ -121.997978000193058, 38.379310000432092 ], [ -121.996578000164575, 38.377210000897428 ], [ -121.995428000318398, 38.374910000354475 ], [ -121.995146999506957, 38.374348000729697 ], [ -121.994177999720335, 38.372410000808379 ], [ -121.993877999401093, 38.37171000086898 ], [ -121.993066000354801, 38.369816000525049 ], [ -121.99279499997624, 38.369183000458257 ], [ -121.992677999556406, 38.368910001041364 ], [ -121.99374699985421, 38.368890000600878 ], [ -121.994440999521316, 38.368890001132222 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1288, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.850473999980352, 38.416509001009956 ], [ -121.851173999585782, 38.416509000358353 ], [ -121.859573999406322, 38.416609000624362 ], [ -121.859332000478716, 38.438117000862029 ], [ -121.859273999471071, 38.443308000435465 ], [ -121.858374000071819, 38.444208000948009 ], [ -121.858484000265676, 38.444363000722134 ], [ -121.858674000346326, 38.44450800073448 ], [ -121.858881000165695, 38.444516000924665 ], [ -121.859124000258518, 38.444516000981402 ], [ -121.859656000324591, 38.444439000758727 ], [ -121.859887000499356, 38.444376000746203 ], [ -121.860349999753637, 38.444231000456639 ], [ -121.860788999770946, 38.444067000578677 ], [ -121.861376999745247, 38.443806000402745 ], [ -121.860571000390209, 38.444343000336282 ], [ -121.859282999680033, 38.445202000345333 ], [ -121.858818000373503, 38.445573001032841 ], [ -121.858777000473907, 38.445606000311258 ], [ -121.858526000053772, 38.445806000736887 ], [ -121.858401000099789, 38.445914000438627 ], [ -121.858274999674165, 38.446007000920545 ], [ -121.857273999396654, 38.446808001042136 ], [ -121.855374000188291, 38.448208000614684 ], [ -121.85025800044852, 38.452354001035559 ], [ -121.850188999682103, 38.452410000766399 ], [ -121.850152000145428, 38.452440001035463 ], [ -121.849574000094805, 38.452908000436061 ], [ -121.844635000117208, 38.456592000596586 ], [ -121.843673999568821, 38.457308001016258 ], [ -121.843424999432543, 38.457516000328141 ], [ -121.843381999621073, 38.457551001075387 ], [ -121.843074000370777, 38.45780800077754 ], [ -121.843036000221957, 38.45783700026481 ], [ -121.842825999718031, 38.458001000440312 ], [ -121.842021999672895, 38.458631000935782 ], [ -121.841339000389098, 38.459133000775417 ], [ -121.840781000301348, 38.459544000785208 ], [ -121.840329999566521, 38.459842000803036 ], [ -121.839788000243175, 38.460229001024501 ], [ -121.837373999776901, 38.462208000805077 ], [ -121.836708999707767, 38.462732000619305 ], [ -121.83357099983283, 38.46520300102253 ], [ -121.830831000190059, 38.467362000272765 ], [ -121.830773999707091, 38.467407001047363 ], [ -121.830712999717264, 38.467454000327564 ], [ -121.824578000457223, 38.472163000943276 ], [ -121.82372999977629, 38.472835000611404 ], [ -121.823659000378512, 38.472694000954142 ], [ -121.823634000085391, 38.472643000268675 ], [ -121.822897000079777, 38.471731000507702 ], [ -121.822401000381802, 38.471123000726358 ], [ -121.822400999813198, 38.470291000772505 ], [ -121.822393000169996, 38.467316000530516 ], [ -121.822372999951781, 38.459608000741603 ], [ -121.822372999718425, 38.458284000455464 ], [ -121.82237300019824, 38.456208000830728 ], [ -121.822372999895038, 38.455108000715015 ], [ -121.822972999455004, 38.454208000456319 ], [ -121.823649000158113, 38.45342800108989 ], [ -121.824073000106594, 38.452908001015594 ], [ -121.824704999527142, 38.452900000971113 ], [ -121.82517300006738, 38.452908000728002 ], [ -121.826373000341761, 38.452908000676196 ], [ -121.827473000509258, 38.452908000414446 ], [ -121.830673000180795, 38.452908001109591 ], [ -121.831673000478304, 38.452908000464369 ], [ -121.831672999844685, 38.452108000910982 ], [ -121.831672999518005, 38.451508000502663 ], [ -121.831673000194982, 38.450908000946455 ], [ -121.83167299963327, 38.45070800077302 ], [ -121.831672999885654, 38.450208000327237 ], [ -121.831673000034911, 38.449708000740614 ], [ -121.831672999413357, 38.449008000881662 ], [ -121.831772999474282, 38.448208000430853 ], [ -121.831772999767054, 38.447608000541123 ], [ -121.831772999966603, 38.446608000891196 ], [ -121.831772999811804, 38.445608001073701 ], [ -121.831873000183009, 38.444908000243302 ], [ -121.831872999860977, 38.444208000725951 ], [ -121.831772999481785, 38.443508000742717 ], [ -121.831872999586935, 38.442708000334981 ], [ -121.831873000092415, 38.441708000777354 ], [ -121.831673000228577, 38.439508000733959 ], [ -121.831072999502197, 38.439208000914249 ], [ -121.830966999653185, 38.439152001109477 ], [ -121.830770000415754, 38.439049000493199 ], [ -121.836272999792982, 38.432908000591034 ], [ -121.839703999750753, 38.428977001075928 ], [ -121.841072999438381, 38.427408000515044 ], [ -121.850473999980352, 38.416509001009956 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1290, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.693641999600032, 38.313732001038716 ], [ -121.693292000005599, 38.313738000510575 ], [ -121.692460000193194, 38.313752000585005 ], [ -121.692163000319013, 38.313749000744778 ], [ -121.684954999848443, 38.313674001046529 ], [ -121.675719999740892, 38.313578000514546 ], [ -121.667802999517576, 38.313496001120356 ], [ -121.667394999892466, 38.31350300098714 ], [ -121.666875000309375, 38.313512000354905 ], [ -121.666646999554374, 38.313509001046739 ], [ -121.656010999841982, 38.313384000623969 ], [ -121.655757000494901, 38.313409000994689 ], [ -121.655355000194945, 38.313448000814056 ], [ -121.655197000078729, 38.313443000761168 ], [ -121.654458000320304, 38.313420000921226 ], [ -121.653438000245657, 38.313388000967933 ], [ -121.653306999579158, 38.313384000480056 ], [ -121.652111999788374, 38.313362001129185 ], [ -121.651594999876806, 38.313352000875462 ], [ -121.650768000428045, 38.313366000412117 ], [ -121.648715000292199, 38.313400000324911 ], [ -121.630634000440111, 38.313160001051727 ], [ -121.63051699968652, 38.313160001037794 ], [ -121.616846000355423, 38.313144000891491 ], [ -121.616745999932732, 38.313144001088361 ], [ -121.616603999824406, 38.313111001099038 ], [ -121.616396999741866, 38.313063000854108 ], [ -121.616330000322677, 38.313048000574376 ], [ -121.594463999610937, 38.313094000873193 ], [ -121.594225999467383, 38.313095000754942 ], [ -121.593709000146774, 38.313097000385731 ], [ -121.593173000227694, 38.313080000966053 ], [ -121.592890000466014, 38.313064000995432 ], [ -121.594634000401967, 38.312424000534463 ], [ -121.595082000274658, 38.31208800087682 ], [ -121.595562000041483, 38.311784000531972 ], [ -121.596345999469833, 38.311368000487889 ], [ -121.597082000438647, 38.311064000726972 ], [ -121.597801999738024, 38.310728000553766 ], [ -121.598185999457215, 38.310424000331196 ], [ -121.598409999485625, 38.310216000794753 ], [ -121.59850599939999, 38.310104000488458 ], [ -121.598633999672131, 38.309928000426922 ], [ -121.598665999913194, 38.309688000422355 ], [ -121.598569999769794, 38.309304000771931 ], [ -121.598362000421972, 38.309032000276893 ], [ -121.598121999457447, 38.308696000833891 ], [ -121.597865999630883, 38.308296000712431 ], [ -121.597673999548832, 38.307864001108143 ], [ -121.597561999932594, 38.307432000791778 ], [ -121.597578000290554, 38.307176000285551 ], [ -121.597801999636729, 38.306728000467032 ], [ -121.598122000118465, 38.306376000489848 ], [ -121.598713999690588, 38.305832001020782 ], [ -121.599210000269309, 38.305432000466084 ], [ -121.599513999887108, 38.305032000515055 ], [ -121.599722000085251, 38.304584000346296 ], [ -121.599818000289133, 38.304088000500833 ], [ -121.599785999641725, 38.303528000824485 ], [ -121.599721999496921, 38.303080000752999 ], [ -121.599721999461707, 38.30250400046959 ], [ -121.599786000392982, 38.301944000481477 ], [ -121.599946000518571, 38.301528000638051 ], [ -121.600266000310143, 38.301048000467929 ], [ -121.600633999801076, 38.300616000299911 ], [ -121.601066000242909, 38.300248000862666 ], [ -121.601641999813054, 38.299816000761751 ], [ -121.602217999929451, 38.299400000932216 ], [ -121.60273000040462, 38.299032000503601 ], [ -121.603274000031433, 38.298632000296919 ], [ -121.603689999936577, 38.298248000836303 ], [ -121.604106000421666, 38.297816001119841 ], [ -121.604506000009209, 38.297400001018467 ], [ -121.60480999973268, 38.296920001078014 ], [ -121.605002000162671, 38.296600000553845 ], [ -121.605130000036084, 38.296216000856489 ], [ -121.605177999727573, 38.296088000956047 ], [ -121.60521000041814, 38.295816001070236 ], [ -121.605258000517182, 38.295352000837994 ], [ -121.605002000163935, 38.29444000078707 ], [ -121.604698000342808, 38.293608001109192 ], [ -121.604505999897157, 38.292809000670083 ], [ -121.604266000309934, 38.292121000486866 ], [ -121.604122000114003, 38.291561000795561 ], [ -121.60404200004605, 38.291049000765575 ], [ -121.603977999660088, 38.290569001012187 ], [ -121.603945999445457, 38.290009001070288 ], [ -121.603945999893213, 38.289513000935621 ], [ -121.604073999582553, 38.288953000898957 ], [ -121.604266000157693, 38.288377001114434 ], [ -121.604457999857019, 38.287913000855923 ], [ -121.604682000410804, 38.287465001100081 ], [ -121.605001999482383, 38.286857001096138 ], [ -121.605290000399904, 38.28652100051908 ], [ -121.605337999546848, 38.286377000690273 ], [ -121.605450000239671, 38.286121000275415 ], [ -121.605417999635989, 38.285705000361396 ], [ -121.604954000445318, 38.284905000632641 ], [ -121.604378000134446, 38.284265000938859 ], [ -121.60362599983668, 38.283593000397019 ], [ -121.603017999919203, 38.282985000761776 ], [ -121.602521999733966, 38.282585000754644 ], [ -121.60212199955545, 38.282201000508529 ], [ -121.601768999776823, 38.281753001044606 ], [ -121.601448999574586, 38.281305001034411 ], [ -121.601192999450376, 38.280777001040917 ], [ -121.60103299981958, 38.280201001124006 ], [ -121.600824999393808, 38.279401000619565 ], [ -121.600776999637532, 38.278889000802735 ], [ -121.600729000445, 38.278377000935741 ], [ -121.600905000204122, 38.277609000460281 ], [ -121.601065000443299, 38.27696900046822 ], [ -121.60132100013162, 38.276233000721895 ], [ -121.601512999521134, 38.275721000885234 ], [ -121.601864999400291, 38.275065000483593 ], [ -121.602248999945502, 38.274345000454836 ], [ -121.6026969994724, 38.273769001065098 ], [ -121.603113000087546, 38.273129000588561 ], [ -121.60333699947995, 38.272681000250884 ], [ -121.603577000244513, 38.272201000467305 ], [ -121.603800999606719, 38.271689000559647 ], [ -121.603896999470464, 38.271209001084337 ], [ -121.603977000158054, 38.270969000450378 ], [ -121.603993000250838, 38.270697000399522 ], [ -121.604008999740458, 38.270105001062625 ], [ -121.603896999832614, 38.269577001019393 ], [ -121.603720999412062, 38.269081000845453 ], [ -121.603241000159855, 38.268185000324614 ], [ -121.602904999538779, 38.267609000705029 ], [ -121.602568999744918, 38.266953000947254 ], [ -121.60232899973397, 38.266281000650565 ], [ -121.602056999943215, 38.265657000506899 ], [ -121.601864999808981, 38.265033000540249 ], [ -121.601672999821417, 38.264393000563238 ], [ -121.601545000043842, 38.263993001018505 ], [ -121.601465000218369, 38.263401000812422 ], [ -121.60132099945335, 38.262665000269259 ], [ -121.601192999571211, 38.261865000544582 ], [ -121.601064999434016, 38.261177000964466 ], [ -121.600968999897461, 38.260457000434222 ], [ -121.600809000119213, 38.259801000320117 ], [ -121.600664999617067, 38.259289000350542 ], [ -121.600536999516592, 38.258874001026612 ], [ -121.600329000523814, 38.258266000687016 ], [ -121.600248999808315, 38.25781800078552 ], [ -121.600248999877323, 38.257434000493525 ], [ -121.600296999942358, 38.256810000910257 ], [ -121.600425000200261, 38.256138000353459 ], [ -121.600521000021601, 38.255594001031696 ], [ -121.600616999546702, 38.255018000404355 ], [ -121.600681000328194, 38.254570000287707 ], [ -121.600745000145906, 38.2542180008938 ], [ -121.601048999624538, 38.253754000516373 ], [ -121.601240999999092, 38.253386000556794 ], [ -121.601672999881316, 38.252938000983178 ], [ -121.601992999928129, 38.252426000345828 ], [ -121.602088999561531, 38.252010000431568 ], [ -121.6021479994522, 38.249914000784635 ], [ -121.602150000432857, 38.249825000735484 ], [ -121.602169000473722, 38.24916200111128 ], [ -121.601961000006369, 38.247786000918325 ], [ -121.601806000346556, 38.246394001128692 ], [ -121.601800999470669, 38.246346000999544 ], [ -121.601804000050024, 38.246037001086663 ], [ -121.601805999629207, 38.245878001129483 ], [ -121.601817000002569, 38.244714000662896 ], [ -121.6020249998937, 38.243018000466478 ], [ -121.60212100032453, 38.241674000903309 ], [ -121.602537000350907, 38.240106000478619 ], [ -121.602952999773052, 38.238618000287609 ], [ -121.603208999878689, 38.237194000543205 ], [ -121.603097000126439, 38.236426000459844 ], [ -121.60300099962538, 38.235178000321071 ], [ -121.602697000020484, 38.234042000779219 ], [ -121.602488999650461, 38.23271400035302 ], [ -121.602537000518026, 38.231386000255569 ], [ -121.602648999614274, 38.230634000326397 ], [ -121.602761000068384, 38.230218000338866 ], [ -121.602681000276874, 38.229130000266736 ], [ -121.602793000161725, 38.227418001095891 ], [ -121.602729000217266, 38.225803001069949 ], [ -121.60237699975859, 38.224235001059171 ], [ -121.601992999725795, 38.222651000878002 ], [ -121.602057000124105, 38.221643000986148 ], [ -121.602440999941606, 38.220411001137428 ], [ -121.603305000512634, 38.219259000853938 ], [ -121.6043610002843, 38.217579000580429 ], [ -121.605288999685783, 38.216171001075729 ], [ -121.606329000122315, 38.215051000552904 ], [ -121.606383999920737, 38.214989000822364 ], [ -121.607144999670268, 38.214123001067875 ], [ -121.607976999626999, 38.212875001003617 ], [ -121.608681000371888, 38.211531000662006 ], [ -121.609544999851735, 38.209963000333381 ], [ -121.610409000526957, 38.208379000380582 ], [ -121.61095299954917, 38.20697100083656 ], [ -121.611304999512313, 38.206299000734646 ], [ -121.611289000031633, 38.205227000682143 ], [ -121.611224999539047, 38.204267000901822 ], [ -121.611160999858157, 38.202955001053013 ], [ -121.611368999635729, 38.201931000507656 ], [ -121.612009000517162, 38.200267000407479 ], [ -121.612680999936444, 38.198955000542028 ], [ -121.613497000239335, 38.197547000345537 ], [ -121.614472999516707, 38.196475000429999 ], [ -121.615416999609408, 38.195691000448861 ], [ -121.616681000183632, 38.195227000448128 ], [ -121.618025000146574, 38.194763000258831 ], [ -121.619992999798185, 38.194091000241002 ], [ -121.6213850003152, 38.193579000418026 ], [ -121.622808999498261, 38.193275000808839 ], [ -121.623832999596388, 38.193195000656956 ], [ -121.625017000309057, 38.193227000275009 ], [ -121.625785000510461, 38.193291000478105 ], [ -121.626065000078015, 38.193376000359997 ], [ -121.626153000210095, 38.193403001004143 ], [ -121.631876000443597, 38.194369000311085 ], [ -121.632297000427968, 38.194251000510349 ], [ -121.632578999539106, 38.194156000899412 ], [ -121.633305000286356, 38.193912000626007 ], [ -121.633366000378018, 38.193891000892023 ], [ -121.633510999428495, 38.193842000873666 ], [ -121.635049000473884, 38.19332300053982 ], [ -121.635138999510275, 38.193285000673953 ], [ -121.63618500049067, 38.192567000846978 ], [ -121.637627000475916, 38.191924000292445 ], [ -121.638759999815022, 38.19134400057888 ], [ -121.639738000260579, 38.190891000617945 ], [ -121.641017999853432, 38.190571000247225 ], [ -121.642136999591202, 38.190027000311744 ], [ -121.643801000010541, 38.188748000430159 ], [ -121.645273000053464, 38.187084000835377 ], [ -121.645832999747341, 38.186508000747097 ], [ -121.646568999862509, 38.186044000618622 ], [ -121.648425000124035, 38.185292000947967 ], [ -121.652297000373622, 38.184060000902456 ], [ -121.653087999670504, 38.183885000589768 ], [ -121.653087999959681, 38.183883000824899 ], [ -121.654009000123068, 38.183446001052651 ], [ -121.655109999477872, 38.183106000432431 ], [ -121.65670199990079, 38.183086001037957 ], [ -121.657001000161173, 38.183020000273011 ], [ -121.660504999902145, 38.182460000673622 ], [ -121.662329000078785, 38.182092000685053 ], [ -121.662904999848905, 38.181884000779448 ], [ -121.664568999644814, 38.180588000578183 ], [ -121.6647590002204, 38.18037200082793 ], [ -121.665752999448586, 38.179244000720864 ], [ -121.666344999923325, 38.178572001050647 ], [ -121.666920999684464, 38.177660000637353 ], [ -121.666984999438668, 38.177036000537086 ], [ -121.6672089995551, 38.176620000623082 ], [ -121.6672729993806, 38.176364000907654 ], [ -121.668169000289808, 38.175196000267015 ], [ -121.669960999495572, 38.173612000676385 ], [ -121.671064999578334, 38.172940000668589 ], [ -121.671624999706964, 38.172476001085158 ], [ -121.671699999657108, 38.172381000941513 ], [ -121.673193999413115, 38.170508000861282 ], [ -121.674761999710512, 38.16850800046214 ], [ -121.67620299968786, 38.166773000585977 ], [ -121.676650000327371, 38.166236001057683 ], [ -121.677993999746491, 38.164908000964154 ], [ -121.679146000407869, 38.163852000584825 ], [ -121.679537999743687, 38.163507000369833 ], [ -121.680330000117394, 38.162812000287715 ], [ -121.681929999639465, 38.161980001069793 ], [ -121.682480000453083, 38.161731000822535 ], [ -121.683449999658379, 38.16129200067779 ], [ -121.684569999859974, 38.160764000444999 ], [ -121.685017999866602, 38.160316000421481 ], [ -121.685353999923578, 38.159964000527857 ], [ -121.685449999597736, 38.159852000584451 ], [ -121.68564199956181, 38.159644000517702 ], [ -121.685753999872844, 38.158204001132646 ], [ -121.685690000252578, 38.156172000852727 ], [ -121.685881999864492, 38.154572001080709 ], [ -121.686566999934158, 38.152986000377091 ], [ -121.68704999940384, 38.151869000315941 ], [ -121.687241999842442, 38.150365001057892 ], [ -121.687449000005657, 38.148141000523935 ], [ -121.687705000456262, 38.146829000352199 ], [ -121.688232999694137, 38.145421000905849 ], [ -121.689112999934594, 38.143997000564383 ], [ -121.68999300052748, 38.141933000272083 ], [ -121.690633000142313, 38.139917001093607 ], [ -121.691080999583264, 38.138029001105245 ], [ -121.69152900022371, 38.136045000600177 ], [ -121.691785000035622, 38.13433300098589 ], [ -121.692088999537319, 38.133133000323539 ], [ -121.692984999947626, 38.131373001101309 ], [ -121.694536999760118, 38.128013000649176 ], [ -121.695784999730051, 38.125517000291403 ], [ -121.696166000336362, 38.12491700073025 ], [ -121.696841000214988, 38.123853000873282 ], [ -121.698392999984492, 38.121293000714125 ], [ -121.699912999391643, 38.119182000978377 ], [ -121.701544999618349, 38.117358000301266 ], [ -121.703721000233145, 38.115022000272511 ], [ -121.705160999679279, 38.113806000702908 ], [ -121.705769000225871, 38.1129900002406 ], [ -121.706488999983279, 38.111854000622351 ], [ -121.707208999920837, 38.109838000256644 ], [ -121.707417000466123, 38.107838000564172 ], [ -121.707785000502099, 38.105134001068414 ], [ -121.708009000189136, 38.101550000871065 ], [ -121.708120999630538, 38.097246000512691 ], [ -121.70839300020485, 38.093566000893432 ], [ -121.708440999691007, 38.091470000259854 ], [ -121.708952999750736, 38.090030000520279 ], [ -121.709416999464239, 38.0887980008212 ], [ -121.710024999802968, 38.087694000574523 ], [ -121.710888999506778, 38.086495000652796 ], [ -121.712137000389902, 38.085519001115401 ], [ -121.713929000163731, 38.08454300061765 ], [ -121.71581699991215, 38.084175001123761 ], [ -121.717961000243491, 38.083679000735685 ], [ -121.719848999749189, 38.083503001087898 ], [ -121.722280999606937, 38.083119000369237 ], [ -121.724744999841633, 38.082767000526999 ], [ -121.727449000507534, 38.082367000365288 ], [ -121.729353000320472, 38.082351000638916 ], [ -121.7318169998927, 38.082639000406182 ], [ -121.734889000025376, 38.083743000925828 ], [ -121.738073000053816, 38.085550000457424 ], [ -121.740409999968762, 38.086654000473693 ], [ -121.741402000484413, 38.087134000472531 ], [ -121.74169000013562, 38.087214000869146 ], [ -121.742345999446172, 38.087342000822133 ], [ -121.743162000187624, 38.087230000338145 ], [ -121.744906000389392, 38.086446000620889 ], [ -121.749114000289069, 38.084014001058492 ], [ -121.754018999457401, 38.08151500027887 ], [ -121.755674000120052, 38.080671000280368 ], [ -121.761338000311468, 38.078287000831885 ], [ -121.7668259998526, 38.0759510007546 ], [ -121.773353999645011, 38.072655000472373 ], [ -121.776985999643344, 38.070623000296322 ], [ -121.781257999587211, 38.068383000338059 ], [ -121.787178999871102, 38.065487000696812 ], [ -121.792618999576462, 38.062719000380042 ], [ -121.796394999434909, 38.060847000847431 ], [ -121.798489999491935, 38.060111000421173 ], [ -121.798762999825328, 38.060015000564185 ], [ -121.800122999853116, 38.059647000815353 ], [ -121.801642999801999, 38.05950300047482 ], [ -121.80524300036322, 38.059647000986004 ], [ -121.81081100043383, 38.060767000375144 ], [ -121.817611000324774, 38.062767000740521 ], [ -121.823467999464427, 38.064671000385374 ], [ -121.827916000528674, 38.066223000285262 ], [ -121.828908000129289, 38.066943000680141 ], [ -121.83220400002628, 38.069439001072709 ], [ -121.834027999951076, 38.071391000492127 ], [ -121.836059999965954, 38.073215000971715 ], [ -121.83761200014888, 38.074383000707833 ], [ -121.839307999666644, 38.075455000656262 ], [ -121.841739999546775, 38.076431000984186 ], [ -121.842443999536329, 38.076735000587341 ], [ -121.842667999984045, 38.076735000634876 ], [ -121.843227999874202, 38.076655000854124 ], [ -121.84378799943525, 38.076431001045478 ], [ -121.844763999514996, 38.075983000880179 ], [ -121.844860000118558, 38.075919000751846 ], [ -121.846636000189065, 38.075119001107247 ], [ -121.848540999953755, 38.074223000504887 ], [ -121.849837000471098, 38.073855000425723 ], [ -121.85076499956169, 38.073567000710227 ], [ -121.852909000175572, 38.072847001073768 ], [ -121.854796999596289, 38.072543000344425 ], [ -121.857613000447316, 38.071967000255235 ], [ -121.858540999668904, 38.071375000541181 ], [ -121.859596999624301, 38.071135001034683 ], [ -121.860477000045648, 38.070607000734874 ], [ -121.861100999710189, 38.070063000864316 ], [ -121.861596999710315, 38.069887000541634 ], [ -121.865349000420764, 38.071114000671784 ], [ -121.865372999563576, 38.07111900082041 ], [ -121.866621000199231, 38.071199001012836 ], [ -121.867980999820631, 38.071279000687234 ], [ -121.86958100004756, 38.071391000887616 ], [ -121.870620999765435, 38.071391000738764 ], [ -121.871756999778157, 38.071503000405912 ], [ -121.872973000347656, 38.071695000295051 ], [ -121.874172999484841, 38.071935000943448 ], [ -121.875468999430495, 38.072239000923396 ], [ -121.876068999885447, 38.072419000289493 ], [ -121.877228999698161, 38.072795000304026 ], [ -121.877992000236759, 38.073138000968342 ], [ -121.879258000130676, 38.073649000652544 ], [ -121.879968999492846, 38.074119000513214 ], [ -121.880418000212387, 38.074313001058471 ], [ -121.881593999679566, 38.075175000790992 ], [ -121.882692000131399, 38.076053000322958 ], [ -121.883470999626084, 38.076991000697596 ], [ -121.884095999851795, 38.077624000695671 ], [ -121.884783000270588, 38.078348000540736 ], [ -121.885133999410911, 38.079325000968637 ], [ -121.885170000219247, 38.080018000459447 ], [ -121.885134000127749, 38.080286000274981 ], [ -121.884996000286847, 38.080957000670992 ], [ -121.884492999785408, 38.0817280011129 ], [ -121.884281999445605, 38.082216000912851 ], [ -121.88400499956326, 38.082857000883401 ], [ -121.883256999500816, 38.08352100087653 ], [ -121.882722999697975, 38.08445200047489 ], [ -121.882418000243987, 38.085192000297532 ], [ -121.882250000021997, 38.086016000713514 ], [ -121.88241799974459, 38.087130000595572 ], [ -121.882569999737655, 38.087418001103437 ], [ -121.882692000469788, 38.087793000783861 ], [ -121.882798999872222, 38.088121000678498 ], [ -121.883195999914264, 38.088785000486439 ], [ -121.88374500049207, 38.089342000999231 ], [ -121.884126999888949, 38.089846000370038 ], [ -121.88443199951459, 38.09043300030639 ], [ -121.88495099949003, 38.091173000764528 ], [ -121.885438999528645, 38.091738000497642 ], [ -121.885769999498223, 38.092318000291336 ], [ -121.886003000314574, 38.092684001057364 ], [ -121.886400000116424, 38.093180000630056 ], [ -121.88691899954496, 38.093592000584366 ], [ -121.887635999965966, 38.094164000822495 ], [ -121.888825999405455, 38.094744000933339 ], [ -121.889832999441879, 38.09511800071629 ], [ -121.890901999948781, 38.095415000693571 ], [ -121.892121999748326, 38.095728000431805 ], [ -121.893464999711298, 38.0960790010678 ], [ -121.894970000498077, 38.096518000703917 ], [ -121.895586000185418, 38.096933000811759 ], [ -121.895860999720824, 38.09748300075546 ], [ -121.895814999447154, 38.098078000668018 ], [ -121.895540000326775, 38.098871000557843 ], [ -121.89517400051993, 38.099581000988415 ], [ -121.894670000135079, 38.100161000319865 ], [ -121.894370000042827, 38.100518000773292 ], [ -121.894044999631788, 38.100847000778309 ], [ -121.893160000419556, 38.101580000301816 ], [ -121.892106999901031, 38.10222800061004 ], [ -121.890810000415129, 38.103060000918845 ], [ -121.88993999971089, 38.10393000097767 ], [ -121.889570000179489, 38.104718000893904 ], [ -121.889497999760621, 38.105455000371308 ], [ -121.88946699944448, 38.105936000914255 ], [ -121.889512999587708, 38.106684000301833 ], [ -121.889710999975577, 38.107485001090637 ], [ -121.889864000237878, 38.108179000991221 ], [ -121.890092999950781, 38.109246000686561 ], [ -121.89030599988989, 38.110009000863585 ], [ -121.890627000406667, 38.111222000887494 ], [ -121.890825000047968, 38.112397000759145 ], [ -121.890794999549215, 38.113580000891545 ], [ -121.890626999819332, 38.114625000670529 ], [ -121.89027600020556, 38.116082000734892 ], [ -121.889879000309747, 38.116883000859829 ], [ -121.889406000386643, 38.11770000065588 ], [ -121.888917999425999, 38.118867000970418 ], [ -121.888761999823885, 38.119249000978193 ], [ -121.888506999571106, 38.120978000672658 ], [ -121.888890000077595, 38.122449000342812 ], [ -121.889210000355419, 38.1235820010845 ], [ -121.88953300002953, 38.124917000244395 ], [ -121.889835000137964, 38.125253000812002 ], [ -121.89052200016377, 38.125697000910854 ], [ -121.891489999654198, 38.126162000832956 ], [ -121.892680000469596, 38.126488000892984 ], [ -121.893845999724761, 38.126694000245109 ], [ -121.894641000072141, 38.126622000810535 ], [ -121.895798000365588, 38.126404000638779 ], [ -121.896861999546459, 38.126019000867089 ], [ -121.897764000265582, 38.125467000932204 ], [ -121.89864599999693, 38.124917000912184 ], [ -121.899157999554262, 38.124230000932677 ], [ -121.900194999459742, 38.122880000925008 ], [ -121.900973000295238, 38.121598000543557 ], [ -121.902147999687514, 38.120454000684511 ], [ -121.903070999963717, 38.11971700060527 ], [ -121.903186000072566, 38.119637000462689 ], [ -121.904223000385059, 38.119119000389226 ], [ -121.905169999910314, 38.118829000371122 ], [ -121.906923999907107, 38.118752000702436 ], [ -121.908313000441424, 38.118859001039453 ], [ -121.909731999898256, 38.119218001054854 ], [ -121.910814999474638, 38.11963700049396 ], [ -121.911770999875074, 38.120017000570812 ], [ -121.912508999911836, 38.120454000307745 ], [ -121.913058000246565, 38.120950000693135 ], [ -121.913607999654729, 38.121667000752012 ], [ -121.914020000202967, 38.12243700105666 ], [ -121.914263999450085, 38.123132000389781 ], [ -121.914415999468162, 38.123918000770004 ], [ -121.914537999497327, 38.124444000311335 ], [ -121.914557000447388, 38.124917000945814 ], [ -121.915026999799224, 38.126941000805047 ], [ -121.915495999554196, 38.129333000565573 ], [ -121.915358000262245, 38.131502001075802 ], [ -121.914896999467018, 38.132784000783658 ], [ -121.913718999850815, 38.135145000825645 ], [ -121.911829000102671, 38.137374000891086 ], [ -121.909943000203739, 38.138587000552249 ], [ -121.908686999691255, 38.13996900029089 ], [ -121.908607999435205, 38.142037000802645 ], [ -121.908949999818986, 38.14391200092367 ], [ -121.909911000494802, 38.145927000661644 ], [ -121.910363000341519, 38.146703000799526 ], [ -121.912202000490623, 38.148065000918876 ], [ -121.915164000106373, 38.149531001128999 ], [ -121.917668000229909, 38.151226000750682 ], [ -121.920297000192974, 38.153743000821812 ], [ -121.920374000152947, 38.153821000732719 ], [ -121.921564999481163, 38.155039000683956 ], [ -121.924918999715103, 38.157401000475289 ], [ -121.928305000074161, 38.160566000529329 ], [ -121.932072000499346, 38.165061000308874 ], [ -121.933627999409353, 38.167336000578977 ], [ -121.934105000005644, 38.167937000377506 ], [ -121.933652000300484, 38.168265000493996 ], [ -121.933003000073441, 38.168737000455948 ], [ -121.9318420004563, 38.169851000257637 ], [ -121.93003600050659, 38.171463000864541 ], [ -121.927983999595014, 38.173138000234985 ], [ -121.924496000491857, 38.174755000549681 ], [ -121.922283999551567, 38.175580000391129 ], [ -121.919975999430079, 38.176867000946437 ], [ -121.918252000345035, 38.178405001042961 ], [ -121.91824799977654, 38.179217000562105 ], [ -121.918529000385803, 38.179940000641814 ], [ -121.918617999923512, 38.180169000380502 ], [ -121.91972599994449, 38.180707000812305 ], [ -121.922024000182049, 38.181645000599303 ], [ -121.925302000261951, 38.183038000647784 ], [ -121.927635000010412, 38.184188000872226 ], [ -121.928890999557154, 38.185732000933477 ], [ -121.929585999668575, 38.187322000540291 ], [ -121.929607999691328, 38.187415001026309 ], [ -121.930131999964189, 38.187415000640385 ], [ -121.930192999964916, 38.187415000429382 ], [ -121.930240999607605, 38.187739000555204 ], [ -121.930353000156344, 38.188827000393104 ], [ -121.930272999430358, 38.18996300093221 ], [ -121.929953000403202, 38.191291000593694 ], [ -121.929713000197253, 38.191931001094588 ], [ -121.929425000113426, 38.192587000724139 ], [ -121.929233000281201, 38.192859000717966 ], [ -121.928912999457481, 38.193435001128812 ], [ -121.928688999782381, 38.193675000501813 ], [ -121.928176999721757, 38.194107000302758 ], [ -121.928145000084641, 38.194139000763855 ], [ -121.92792099944235, 38.194331000393241 ], [ -121.927201000306553, 38.19501900087392 ], [ -121.92590499953792, 38.195867000742858 ], [ -121.924481000352998, 38.196651000976424 ], [ -121.923152999476855, 38.197355000327846 ], [ -121.922112999527428, 38.197899000932786 ], [ -121.921344999916229, 38.198315001112121 ], [ -121.920912000037092, 38.198603000487658 ], [ -121.920511999403772, 38.198923000335419 ], [ -121.920576000031303, 38.199275000274021 ], [ -121.920752999814894, 38.199755000404167 ], [ -121.920816999442607, 38.200074001047319 ], [ -121.920976999937096, 38.200570000716169 ], [ -121.921073000425807, 38.200874000693432 ], [ -121.921216999904971, 38.201402000385372 ], [ -121.921424999929329, 38.20181800106522 ], [ -121.921745000524467, 38.202506000256918 ], [ -121.922160999411261, 38.203354000445842 ], [ -121.922480999735157, 38.203946000394524 ], [ -121.922705000384752, 38.204554001056543 ], [ -121.92284899942274, 38.205242000341869 ], [ -121.922769000485175, 38.205946000915802 ], [ -121.922609000269816, 38.206202000427588 ], [ -121.922369000405311, 38.206810000287469 ], [ -121.922048999556509, 38.207386000731212 ], [ -121.921776999486354, 38.207786000242251 ], [ -121.921377000496065, 38.208298000935407 ], [ -121.921168999813659, 38.208682000935994 ], [ -121.921104999826966, 38.208842001119315 ], [ -121.920976999805418, 38.209322000340372 ], [ -121.921009000008524, 38.209914000292883 ], [ -121.921136999658827, 38.210394000260301 ], [ -121.921264999567413, 38.21108200066012 ], [ -121.921233000246701, 38.211770000439415 ], [ -121.921169000035377, 38.211946000810904 ], [ -121.921041000003584, 38.212314000781085 ], [ -121.921009000227869, 38.212618000677111 ], [ -121.920656999918734, 38.212890000521462 ], [ -121.920049000523861, 38.213370000572482 ], [ -121.919457000291203, 38.213898000305967 ], [ -121.918896999853715, 38.214634001032536 ], [ -121.918385000310749, 38.21556200071867 ], [ -121.917729000437447, 38.216410001134079 ], [ -121.917345000217182, 38.217066000453528 ], [ -121.917265000300247, 38.217514000828189 ], [ -121.917568999889369, 38.217866000643703 ], [ -121.917873000388695, 38.218106000764379 ], [ -121.91817699975428, 38.218218000945583 ], [ -121.918417000084375, 38.218314000699166 ], [ -121.918737000354966, 38.218442001110731 ], [ -121.919008999588968, 38.218570001090605 ], [ -121.919248999595212, 38.218842000786054 ], [ -121.919249000153158, 38.21911400110266 ], [ -121.919184999739002, 38.219290001014542 ], [ -121.919073000194729, 38.219370000889612 ], [ -121.918608999710315, 38.21959400100306 ], [ -121.91816100014654, 38.219802000513447 ], [ -121.917776999881141, 38.220010000802361 ], [ -121.91780899991862, 38.220298000699415 ], [ -121.918177000015845, 38.220682000879982 ], [ -121.918352999677367, 38.220794000489612 ], [ -121.91852899986749, 38.22090600074236 ], [ -121.918689000080178, 38.220986000684135 ], [ -121.918912999729045, 38.221194000495657 ], [ -121.919105000494994, 38.221322000587314 ], [ -121.919281000098451, 38.221482000382366 ], [ -121.919408999919241, 38.221626000291025 ], [ -121.919473000253049, 38.221770000300715 ], [ -121.919536999888635, 38.221994000480294 ], [ -121.919552999508781, 38.222154000385373 ], [ -121.919584999825716, 38.222394000881415 ], [ -121.91977700024799, 38.222922000892574 ], [ -121.919857000439677, 38.223242000743944 ], [ -121.91990499972141, 38.223594000283661 ], [ -121.919808999854766, 38.22389800055938 ], [ -121.919728999821913, 38.224218000416279 ], [ -121.919536999956051, 38.224426000511258 ], [ -121.919424999861803, 38.22449000039088 ], [ -121.919169000393183, 38.224570001010534 ], [ -121.919072999827947, 38.224618000769745 ], [ -121.919025000180795, 38.224810001079746 ], [ -121.919040999778815, 38.22493800054859 ], [ -121.919056999727275, 38.225050000703241 ], [ -121.919185000303003, 38.225082001115723 ], [ -121.91950499968047, 38.225098000661156 ], [ -121.919873000175016, 38.225226000993729 ], [ -121.920240999683884, 38.225354001068887 ], [ -121.920384999622044, 38.22575400089066 ], [ -121.920401000295769, 38.226138000887438 ], [ -121.920641000116518, 38.226474001119222 ], [ -121.921089000230893, 38.226890000858795 ], [ -121.921361000030217, 38.227578001000857 ], [ -121.921361000095715, 38.228090000500721 ], [ -121.920944999484334, 38.228394000809004 ], [ -121.915437999933559, 38.228374000435515 ], [ -121.903567999762075, 38.22833000084114 ], [ -121.906544999618234, 38.233097000646147 ], [ -121.908177000241125, 38.235641001002982 ], [ -121.908961000013932, 38.236937000787186 ], [ -121.909632999416715, 38.237945000661362 ], [ -121.91075300038986, 38.23975300031158 ], [ -121.911680999890436, 38.241321000510375 ], [ -121.912241000259087, 38.241865000711861 ], [ -121.912416999602499, 38.242009000381877 ], [ -121.912897000065854, 38.242377000454972 ], [ -121.913617000014881, 38.242649000834305 ], [ -121.913889000496283, 38.242777000932158 ], [ -121.915344999921956, 38.242825000952656 ], [ -121.915248999749949, 38.249897000532194 ], [ -121.91537299986733, 38.261713000627161 ], [ -121.914373000515852, 38.261113001001071 ], [ -121.913773000178423, 38.261613000745228 ], [ -121.914672999818379, 38.262313000880873 ], [ -121.914772999481073, 38.265012000419532 ], [ -121.892072999931173, 38.282312000661364 ], [ -121.895873000262199, 38.285712001085493 ], [ -121.896544000014146, 38.286490000842505 ], [ -121.897317999884763, 38.285823000348174 ], [ -121.905673000143551, 38.280112001117764 ], [ -121.906473000307855, 38.279612000252669 ], [ -121.914773000091316, 38.273512000310909 ], [ -121.914848999447926, 38.274888000842246 ], [ -121.914874000353535, 38.279212000507783 ], [ -121.914574000025013, 38.286712000605085 ], [ -121.915474000439588, 38.308311000516902 ], [ -121.915274000098719, 38.315611000761827 ], [ -121.896872999820673, 38.315411000291228 ], [ -121.886224999410899, 38.315383000363411 ], [ -121.876072999799675, 38.315356000303765 ], [ -121.875233999721345, 38.315364001125104 ], [ -121.872709000334467, 38.315389000951214 ], [ -121.869175999583248, 38.315368000639204 ], [ -121.855873999821839, 38.315257001006572 ], [ -121.851011000005784, 38.315216000532367 ], [ -121.846076000057138, 38.31517400077206 ], [ -121.844652999709766, 38.315163000389433 ], [ -121.841231999684069, 38.315134000988699 ], [ -121.832769999997524, 38.315064000561115 ], [ -121.824000000368002, 38.314991000800823 ], [ -121.822954999828738, 38.315060000559576 ], [ -121.82307000018929, 38.307507000455807 ], [ -121.809233999901465, 38.307361000823427 ], [ -121.797188000434446, 38.307235000730742 ], [ -121.79686800047952, 38.307232000684458 ], [ -121.796257999946974, 38.307048000587841 ], [ -121.795676999641557, 38.306591001044815 ], [ -121.794282999631591, 38.307025000670627 ], [ -121.793768000104947, 38.307051000267045 ], [ -121.792046000490572, 38.307139000758347 ], [ -121.786352999507997, 38.307138000854522 ], [ -121.776994999515566, 38.3070150009233 ], [ -121.772858000036067, 38.306960001006814 ], [ -121.763303000508756, 38.306836000999098 ], [ -121.759784999921962, 38.306791000637894 ], [ -121.758438000327644, 38.306775001108946 ], [ -121.758409000178489, 38.306739000554785 ], [ -121.757684000159571, 38.305594000380495 ], [ -121.756928999686039, 38.304976000260105 ], [ -121.75669699961874, 38.304609000329783 ], [ -121.756624000102818, 38.303133000516489 ], [ -121.75661100031904, 38.302870000721384 ], [ -121.754926999483956, 38.300694001049692 ], [ -121.754172999695712, 38.299984000811627 ], [ -121.75414400039439, 38.299801000947092 ], [ -121.753186000230741, 38.299480000529684 ], [ -121.751068000078988, 38.29921700089114 ], [ -121.750426000434686, 38.299097000275687 ], [ -121.749354999707691, 38.298684001066249 ], [ -121.748636000497953, 38.297840000399574 ], [ -121.748460000436964, 38.297128000759294 ], [ -121.748347999535042, 38.297096001049162 ], [ -121.748203999890677, 38.297064000392886 ], [ -121.74785200044397, 38.296984000469273 ], [ -121.74734000006336, 38.296872000844736 ], [ -121.74717999963444, 38.296840001083226 ], [ -121.747228000058129, 38.296840000979891 ], [ -121.746956000367675, 38.296744000457778 ], [ -121.746603999830612, 38.296632000804287 ], [ -121.746251999943894, 38.296488000515112 ], [ -121.745932000139035, 38.296360000450868 ], [ -121.745675999671448, 38.296248000611158 ], [ -121.745516000088259, 38.296184000810442 ], [ -121.74513200038848, 38.296056000788063 ], [ -121.744604000520766, 38.295768000597704 ], [ -121.744395999412063, 38.295640000921495 ], [ -121.744427999918798, 38.295640001012806 ], [ -121.744107999967227, 38.295528000297146 ], [ -121.74369200027084, 38.29533600073826 ], [ -121.743211999916753, 38.295144000700574 ], [ -121.742956000238024, 38.294984000986787 ], [ -121.742955999751572, 38.29500000077617 ], [ -121.742748000233902, 38.294840000423669 ], [ -121.742571999978708, 38.294728000571382 ], [ -121.742315999841082, 38.294536000774713 ], [ -121.741979999454372, 38.294280000302983 ], [ -121.741836000333493, 38.294120000719836 ], [ -121.741804000498647, 38.294120000833843 ], [ -121.741803999695733, 38.294088000333502 ], [ -121.741628000027063, 38.293960001085125 ], [ -121.74135599949949, 38.293768000579263 ], [ -121.741035999857445, 38.293576000666611 ], [ -121.740619999943078, 38.29338400108491 ], [ -121.740332000366521, 38.293272000251058 ], [ -121.740331999389454, 38.29330400073232 ], [ -121.740124000380206, 38.293240000835169 ], [ -121.739939999724925, 38.293163000908066 ], [ -121.739739999506455, 38.293080000775497 ], [ -121.739451999981995, 38.293000000986211 ], [ -121.738860000242468, 38.292888000578117 ], [ -121.73820400006278, 38.292744000380786 ], [ -121.737643999465163, 38.292616000325353 ], [ -121.737644000455688, 38.292584000749628 ], [ -121.737436000184701, 38.292520000597811 ], [ -121.736827999939408, 38.292328000821513 ], [ -121.736412000386466, 38.292200000884549 ], [ -121.735884000479572, 38.292008000960656 ], [ -121.735259999860972, 38.291784000413088 ], [ -121.734603999870387, 38.291512000755432 ], [ -121.73413999946095, 38.291400001059877 ], [ -121.734044000464223, 38.291368000928252 ], [ -121.733788000223882, 38.291368000850817 ], [ -121.733484000071996, 38.291352000356568 ], [ -121.733052000341843, 38.291320001082809 ], [ -121.732603999690667, 38.291320000844934 ], [ -121.731867999399782, 38.291288000646006 ], [ -121.731339999896889, 38.291272000552908 ], [ -121.730508000083162, 38.291288000953138 ], [ -121.729595999974222, 38.291208000887202 ], [ -121.728972000422317, 38.291192000277043 ], [ -121.728939999622654, 38.291192000482901 ], [ -121.728764000125906, 38.291160000592328 ], [ -121.728092000170577, 38.291016000419404 ], [ -121.727740000271808, 38.290920000965173 ], [ -121.727227999812797, 38.290808000400332 ], [ -121.727260000430661, 38.290808000658629 ], [ -121.726971999794813, 38.290696000496339 ], [ -121.726700000365696, 38.290552000729697 ], [ -121.726315999997993, 38.290392001086666 ], [ -121.725963999802019, 38.290200000332327 ], [ -121.72572400042111, 38.290024000246319 ], [ -121.72551600036995, 38.289864001073155 ], [ -121.725227999802115, 38.289624001094516 ], [ -121.724844000042694, 38.2892560003882 ], [ -121.724635999524637, 38.289096000557429 ], [ -121.724523999651964, 38.289016000486981 ], [ -121.724348000239331, 38.288840000459324 ], [ -121.724012000148079, 38.288552000652004 ], [ -121.723692000474671, 38.288216000694938 ], [ -121.723227999783163, 38.287800000851597 ], [ -121.722987999841749, 38.287560000553029 ], [ -121.722956000044576, 38.287528000478311 ], [ -121.722635999821279, 38.28722400081525 ], [ -121.722395999870656, 38.287048000252689 ], [ -121.721867999433883, 38.286808000363095 ], [ -121.721708999680374, 38.286794000778336 ], [ -121.721249000257913, 38.286707001123418 ], [ -121.721169000467597, 38.286714000933301 ], [ -121.720988999876923, 38.286693000761197 ], [ -121.720770000122158, 38.286668000894693 ], [ -121.72007100027524, 38.286619000511962 ], [ -121.719671000236033, 38.286637000284067 ], [ -121.719028999496246, 38.28672100106219 ], [ -121.718889000297722, 38.286736000964382 ], [ -121.718226999750996, 38.286771000942849 ], [ -121.717857999832788, 38.286839000697896 ], [ -121.717153999423914, 38.287264000772069 ], [ -121.71704500000169, 38.287997000519979 ], [ -121.717249000267032, 38.288837000927295 ], [ -121.717140000022113, 38.289686000250327 ], [ -121.717180000270275, 38.289896000994702 ], [ -121.717116000510217, 38.289960000378095 ], [ -121.716972000335375, 38.290296000363242 ], [ -121.716828000374448, 38.290504001099777 ], [ -121.716620000038759, 38.290872000241379 ], [ -121.716491999420185, 38.291112000280087 ], [ -121.716443999466989, 38.291176000412655 ], [ -121.71641199985082, 38.291176000816989 ], [ -121.71637999958601, 38.291256000936031 ], [ -121.716172000455927, 38.291480000438241 ], [ -121.716059999897979, 38.291640000528311 ], [ -121.715996000322406, 38.291720000833848 ], [ -121.715423999514911, 38.29198500051767 ], [ -121.712519999902426, 38.292011000627745 ], [ -121.712216999469121, 38.292172000497303 ], [ -121.712220000172394, 38.293880000534649 ], [ -121.712139999519479, 38.314440000273557 ], [ -121.69446599965967, 38.314378000477525 ], [ -121.694316999851978, 38.314377000481024 ], [ -121.694320999571332, 38.314217000514184 ], [ -121.694331999516493, 38.313720000284597 ], [ -121.693641999600032, 38.313732001038716 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1324, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.408222999988766, 38.156046000357385 ], [ -122.408094999726998, 38.155150000366021 ], [ -122.407774999982848, 38.15383800068566 ], [ -122.407183000136513, 38.152734000565879 ], [ -122.406702999975693, 38.15206200024808 ], [ -122.406366000016689, 38.151726000295028 ], [ -122.406302000291547, 38.151422000692165 ], [ -122.405917999749917, 38.151246000508571 ], [ -122.40556600038164, 38.150718000971239 ], [ -122.405565999688733, 38.15038200039092 ], [ -122.405405999582044, 38.150190000922741 ], [ -122.405374000371282, 38.149806000588882 ], [ -122.405309999693728, 38.149518000347591 ], [ -122.405533999399097, 38.149246000714008 ], [ -122.404925999871281, 38.148526001099647 ], [ -122.404541999442984, 38.147790000326268 ], [ -122.404622000434713, 38.147598000411016 ], [ -122.4046060001656, 38.14731000055783 ], [ -122.404846000368281, 38.147006000325675 ], [ -122.40506999962426, 38.146846000499764 ], [ -122.40507000013146, 38.146542000604462 ], [ -122.405310000107278, 38.14630200025443 ], [ -122.405549999611566, 38.145710000360943 ], [ -122.405742000516554, 38.145214000409986 ], [ -122.405853999567171, 38.144894001014229 ], [ -122.405885999893499, 38.144430000632767 ], [ -122.406269999488444, 38.143758000886187 ], [ -122.406365999983407, 38.143518000272287 ], [ -122.406733999643066, 38.142526000796231 ], [ -122.406989999584667, 38.14169400067447 ], [ -122.407406000443814, 38.140846000530161 ], [ -122.407757999842843, 38.14079800031331 ], [ -122.407774000340467, 38.140158000242494 ], [ -122.408029999932765, 38.139918000743577 ], [ -122.408094000502388, 38.139646000352315 ], [ -122.408830000499705, 38.139358000520907 ], [ -122.408958000420185, 38.139054000814966 ], [ -122.409117999616271, 38.139022000910678 ], [ -122.408990000388911, 38.138830000242926 ], [ -122.409037999898047, 38.138782001045684 ], [ -122.409374000228624, 38.138590000887852 ], [ -122.409565999769001, 38.138462000720985 ], [ -122.409534000191883, 38.138110000747183 ], [ -122.409934000249464, 38.138142000996304 ], [ -122.410030000133588, 38.137998000830727 ], [ -122.409917999393173, 38.13774200028891 ], [ -122.410077999948655, 38.137582000688454 ], [ -122.410157999987291, 38.137262000903867 ], [ -122.410557999881107, 38.137038000433755 ], [ -122.410590000250721, 38.136702000958806 ], [ -122.410910000243689, 38.136510000729245 ], [ -122.411390000207106, 38.136254001036164 ], [ -122.411358000280444, 38.13606200077961 ], [ -122.411741999963297, 38.135838000738111 ], [ -122.412253999715105, 38.135550000828864 ], [ -122.412445999874549, 38.135310001045831 ], [ -122.412733999496297, 38.135230000850683 ], [ -122.412990000385975, 38.13491000089823 ], [ -122.413198000478701, 38.13463800042404 ], [ -122.413854000173416, 38.134446000892865 ], [ -122.414061999901733, 38.13422200075761 ], [ -122.414494000400623, 38.134062000431008 ], [ -122.414749999628967, 38.133662000858521 ], [ -122.414973999489774, 38.133374001118959 ], [ -122.415422000010977, 38.133262000524212 ], [ -122.415678000452559, 38.13302200104998 ], [ -122.41606200041474, 38.132846000318111 ], [ -122.416110000343906, 38.132622000421108 ], [ -122.416414000056065, 38.132414000924655 ], [ -122.41654199986101, 38.132302001071132 ], [ -122.416926000168004, 38.132142001123839 ], [ -122.417790000183899, 38.131486000981177 ], [ -122.418029999810173, 38.131390000283233 ], [ -122.418973999634829, 38.130718000901219 ], [ -122.419389999424368, 38.130542000521658 ], [ -122.420126000487954, 38.129998000349403 ], [ -122.420542000064557, 38.129918000656708 ], [ -122.420862999881706, 38.130062000547412 ], [ -122.42095900048183, 38.12998200037174 ], [ -122.421054999650465, 38.129694000343854 ], [ -122.421455000119082, 38.129726000933438 ], [ -122.421647000472802, 38.129582000467821 ], [ -122.421855000464745, 38.128959000613584 ], [ -122.422062999480275, 38.1288310007224 ], [ -122.422254999693749, 38.128687001032048 ], [ -122.422335000457025, 38.128207000730548 ], [ -122.422542999626316, 38.127919000294732 ], [ -122.422574999552737, 38.127695000862545 ], [ -122.422863000150116, 38.127663001016529 ], [ -122.423007000357856, 38.12764700082792 ], [ -122.423406999872455, 38.12735900077481 ], [ -122.423727000119058, 38.1273270008422 ], [ -122.424302999629916, 38.127247001018354 ], [ -122.424527000195852, 38.126975000661304 ], [ -122.42470299985699, 38.126959001019898 ], [ -122.424910999784132, 38.126703000925112 ], [ -122.425167000187088, 38.126687001042569 ], [ -122.425326999527201, 38.126383000346898 ], [ -122.425486999400945, 38.126191000766475 ], [ -122.42580699998777, 38.126319000291417 ], [ -122.426607000318683, 38.125999000372062 ], [ -122.426895000310481, 38.125871001023434 ], [ -122.427070999736813, 38.126079000541964 ], [ -122.427342999857615, 38.125839000912485 ], [ -122.427678999930492, 38.12561500067725 ], [ -122.428255000273509, 38.12569500100139 ], [ -122.42886299984815, 38.125551000817204 ], [ -122.429193999574409, 38.124919000332696 ], [ -122.429218000108804, 38.124858000696413 ], [ -122.429530000227487, 38.12491900113443 ], [ -122.429599999896098, 38.124759000549261 ], [ -122.429645000194256, 38.124629000464921 ], [ -122.42969100007673, 38.124484001033622 ], [ -122.42975200027503, 38.124377000322433 ], [ -122.429812999968107, 38.124263000388012 ], [ -122.429888999802159, 38.124148000714051 ], [ -122.429950999936466, 38.124057000310721 ], [ -122.430041999556082, 38.123973000961833 ], [ -122.430148999468358, 38.123881000256354 ], [ -122.430256000257998, 38.12380500043033 ], [ -122.430347000207206, 38.123752000590009 ], [ -122.430499999774852, 38.12365300080107 ], [ -122.430758999715195, 38.123485000265504 ], [ -122.431003000367838, 38.123317000408115 ], [ -122.431293000325098, 38.123134000432891 ], [ -122.431598000268394, 38.122951001106948 ], [ -122.432026000181708, 38.122706000454798 ], [ -122.432499000412733, 38.122439000438703 ], [ -122.433062999990753, 38.122119001027784 ], [ -122.433581999411146, 38.121875000640792 ], [ -122.433765000456447, 38.12179100027118 ], [ -122.433933000097653, 38.121768000364987 ], [ -122.434070000424214, 38.121776000266479 ], [ -122.434140000517871, 38.121798001052277 ], [ -122.434237999873446, 38.121829000536295 ], [ -122.434360000446731, 38.121905000987574 ], [ -122.434437000202038, 38.121974000894667 ], [ -122.434497999544462, 38.122081001096625 ], [ -122.434528000027314, 38.122157001008659 ], [ -122.434604000423022, 38.122287000526818 ], [ -122.434635000499043, 38.122363000713847 ], [ -122.435122999459907, 38.123187000402908 ], [ -122.435474000213844, 38.123836000823566 ], [ -122.435795000271852, 38.12444600092811 ], [ -122.436008000425943, 38.124797001113585 ], [ -122.436147000353373, 38.124919000514353 ], [ -122.436304999727682, 38.1256420007903 ], [ -122.43638300032616, 38.125999000990596 ], [ -122.436287000485194, 38.126415000968493 ], [ -122.435662999565579, 38.127375000464411 ], [ -122.435567000355249, 38.128559001076454 ], [ -122.436014999681603, 38.129454000966298 ], [ -122.436702999629972, 38.130302000328903 ], [ -122.437246999590471, 38.130910000734808 ], [ -122.437630999792191, 38.13172600045344 ], [ -122.437966999875982, 38.132654000293435 ], [ -122.438335000296021, 38.133294000598177 ], [ -122.438991000223808, 38.133998000359604 ], [ -122.440030999592778, 38.135086000994377 ], [ -122.440702999910712, 38.135838000801883 ], [ -122.440990999717741, 38.136702000715061 ], [ -122.440831000073658, 38.137950000585612 ], [ -122.440319000234524, 38.138590000862649 ], [ -122.438670999430016, 38.139438000843967 ], [ -122.437870999767512, 38.139758000806097 ], [ -122.435535000030455, 38.140350000616408 ], [ -122.433439000512678, 38.140894000297735 ], [ -122.432047000226149, 38.141230001058275 ], [ -122.431038999998549, 38.141806000515139 ], [ -122.430638999538672, 38.142398000922441 ], [ -122.430111000099942, 38.142926000720998 ], [ -122.430079000150201, 38.143342001030149 ], [ -122.431070999993793, 38.144238000267684 ], [ -122.431854999485054, 38.14455800113253 ], [ -122.433263000413902, 38.145070001044374 ], [ -122.434223000297109, 38.145806001070277 ], [ -122.435007000523711, 38.146382000990876 ], [ -122.43614300016128, 38.147182000829474 ], [ -122.43750299938668, 38.148094001005312 ], [ -122.438064000374993, 38.149006000335476 ], [ -122.438512000421468, 38.149774001022386 ], [ -122.438768000028986, 38.149982000753326 ], [ -122.439151999780435, 38.14972600079517 ], [ -122.440304000415296, 38.14916600064489 ], [ -122.440895999689729, 38.149278001102537 ], [ -122.442463999818159, 38.149870000728235 ], [ -122.443504000333505, 38.150254000534638 ], [ -122.44433600049399, 38.15095800067018 ], [ -122.4456960003739, 38.152206000693894 ], [ -122.446831999898663, 38.151710000927139 ], [ -122.447551999785148, 38.152862000665301 ], [ -122.447824000487728, 38.153838000278242 ], [ -122.448127999985587, 38.155534000797125 ], [ -122.448143999499507, 38.157086000921829 ], [ -122.448095999912113, 38.157886000398229 ], [ -122.448191999442813, 38.159438000890226 ], [ -122.448143999587501, 38.160558000692369 ], [ -122.447856000332365, 38.161486000746983 ], [ -122.447680000219819, 38.161822001059704 ], [ -122.446944000167676, 38.162670000814209 ], [ -122.445935999786144, 38.163790000338174 ], [ -122.445460999705105, 38.164373000764627 ], [ -122.445231999740429, 38.164654001109554 ], [ -122.444671999495782, 38.165598000607162 ], [ -122.445871999892631, 38.166093000470006 ], [ -122.446527999859882, 38.166381000297271 ], [ -122.446976000343398, 38.166749000268773 ], [ -122.448127999733714, 38.167501000550288 ], [ -122.449408000402983, 38.168365000941513 ], [ -122.451296999742198, 38.169917001093886 ], [ -122.451585000114477, 38.170061000490044 ], [ -122.455680999737041, 38.170221000783648 ], [ -122.456225000141771, 38.17036500079363 ], [ -122.45667299979776, 38.170269000811921 ], [ -122.457425000234991, 38.170093000984345 ], [ -122.457344999820691, 38.17057300071167 ], [ -122.456481000081112, 38.172013000505082 ], [ -122.454848999422879, 38.173821000435332 ], [ -122.453697000517138, 38.175213000586119 ], [ -122.452785000358375, 38.175805000850488 ], [ -122.451376999563976, 38.176157001013969 ], [ -122.449664999677552, 38.176397000507464 ], [ -122.456353000182915, 38.180365000471696 ], [ -122.459777000199821, 38.180541000537545 ], [ -122.460097000467911, 38.180717000785144 ], [ -122.46016099988735, 38.180829000793715 ], [ -122.460513000151053, 38.180989001074956 ], [ -122.460977000529766, 38.180925000725217 ], [ -122.461249000197498, 38.18142100065841 ], [ -122.46158500003682, 38.181949000371766 ], [ -122.461905000049072, 38.182221000703187 ], [ -122.462177000517812, 38.182669000410989 ], [ -122.462480999667875, 38.183277001085258 ], [ -122.462673000471966, 38.183901000308111 ], [ -122.462592999457797, 38.184525001014464 ], [ -122.462881000305131, 38.184637000658995 ], [ -122.463056999411762, 38.184845000777372 ], [ -122.463360999971783, 38.18490900051826 ], [ -122.463521000259732, 38.185181000436437 ], [ -122.463681000230821, 38.185677000921388 ], [ -122.463777000438242, 38.185821000708856 ], [ -122.463968999691289, 38.185757000735016 ], [ -122.464128999748596, 38.185581000919548 ], [ -122.464256999524707, 38.18548500052372 ], [ -122.464641000523216, 38.185277000843023 ], [ -122.465360999537054, 38.185133000545349 ], [ -122.465985000463206, 38.185261000606062 ], [ -122.466192999576734, 38.185501000824615 ], [ -122.466752999494574, 38.186045000504357 ], [ -122.467329999846058, 38.18662100056288 ], [ -122.468370000354213, 38.186845000277955 ], [ -122.46989000014635, 38.187085000267338 ], [ -122.472721999518129, 38.187117000768822 ], [ -122.473522000350982, 38.187005000436336 ], [ -122.474737999644745, 38.186701000563431 ], [ -122.475810000014391, 38.18658900059696 ], [ -122.476865999465559, 38.18625300067913 ], [ -122.477521999806896, 38.186301000358938 ], [ -122.478081999610481, 38.186525000678984 ], [ -122.478161999412563, 38.186573000955228 ], [ -122.478482000223849, 38.186349000521439 ], [ -122.478801999611605, 38.186173000805049 ], [ -122.479329999609902, 38.185869000349982 ], [ -122.480577999514381, 38.185901001097101 ], [ -122.481922000086897, 38.186093000604878 ], [ -122.482722000524376, 38.186413000710658 ], [ -122.48312199943831, 38.186509000767671 ], [ -122.483473999901619, 38.186701000645989 ], [ -122.483857999699737, 38.187117000451387 ], [ -122.48435400028157, 38.187453000935925 ], [ -122.484913999806651, 38.187805000632835 ], [ -122.485729999669914, 38.188237000394508 ], [ -122.486529999424121, 38.188589000547942 ], [ -122.487425999589064, 38.188765000528015 ], [ -122.488737999723767, 38.189069000953424 ], [ -122.489058000172292, 38.189021000748056 ], [ -122.489473999617644, 38.189133000977378 ], [ -122.490513999532141, 38.18964500091014 ], [ -122.491987000159725, 38.189805000836728 ], [ -122.492914999589388, 38.189821000736181 ], [ -122.493538999573616, 38.189677000704584 ], [ -122.493842999640208, 38.18991700108873 ], [ -122.494194999463645, 38.190333000351465 ], [ -122.49465899950907, 38.190525000300404 ], [ -122.495506999479517, 38.190701000644225 ], [ -122.496130999889814, 38.190973000460076 ], [ -122.496674999400369, 38.19167700099112 ], [ -122.49712300045519, 38.191837000258751 ], [ -122.49734100028806, 38.191831000406189 ], [ -122.497468999999171, 38.19206300070767 ], [ -122.498078999419945, 38.192433000891747 ], [ -122.498373000351819, 38.192532000832934 ], [ -122.498534000001598, 38.192679000549468 ], [ -122.498608999845032, 38.192733000327749 ], [ -122.499526000275694, 38.193789001011652 ], [ -122.500669999797779, 38.194670000503102 ], [ -122.500846999778744, 38.194800000761262 ], [ -122.500913999465169, 38.194822000344487 ], [ -122.501090999714435, 38.194817000808889 ], [ -122.501289000272251, 38.194741000356949 ], [ -122.501471999597143, 38.194680000301091 ], [ -122.501716999810697, 38.19455000098587 ], [ -122.50188400029549, 38.194467000417205 ], [ -122.502128999605873, 38.194428000548292 ], [ -122.502327000404577, 38.194428000920013 ], [ -122.503441000055702, 38.194535000665766 ], [ -122.503700000482283, 38.19459600107691 ], [ -122.503882999918247, 38.194673000574561 ], [ -122.504126999529575, 38.194810000526964 ], [ -122.504509000529296, 38.195313000466676 ], [ -122.504752999774738, 38.195519000761635 ], [ -122.505226000486203, 38.195741000483281 ], [ -122.505347999869414, 38.19581700069147 ], [ -122.505501000162113, 38.195924001024586 ], [ -122.505760000273014, 38.196168000594589 ], [ -122.505942999554875, 38.196359000729743 ], [ -122.506248000291905, 38.196557000914879 ], [ -122.506401000236721, 38.196565000258559 ], [ -122.506522999611818, 38.196649000555574 ], [ -122.506675999654661, 38.196710000358927 ], [ -122.506828000281914, 38.196778000294024 ], [ -122.507087999714329, 38.196832001014407 ], [ -122.507362000218706, 38.196870000501669 ], [ -122.507622000064856, 38.19693100096633 ], [ -122.507865999817, 38.197053000810314 ], [ -122.508186000118357, 38.197259000661077 ], [ -122.508461000000295, 38.197457001000032 ], [ -122.508659000163661, 38.197640000695202 ], [ -122.508766000360794, 38.197823000574566 ], [ -122.508872999768343, 38.198106000531844 ], [ -122.509117000494186, 38.198472000839438 ], [ -122.509514000003634, 38.198968001044975 ], [ -122.509743000250637, 38.199212000718084 ], [ -122.510001999778481, 38.199433000833785 ], [ -122.510230999417459, 38.19960100060851 ], [ -122.510383999846496, 38.199693000428198 ], [ -122.510658000405016, 38.199990001092985 ], [ -122.510918000524157, 38.200227000556112 ], [ -122.512245999460006, 38.20130200051036 ], [ -122.512367999579283, 38.201379000996901 ], [ -122.512566999585644, 38.20145500073248 ], [ -122.513039999511776, 38.201653001030344 ], [ -122.514733000005194, 38.202256000278162 ], [ -122.514854999552895, 38.202332000491126 ], [ -122.514946999798411, 38.202416000516934 ], [ -122.51520599999327, 38.202554000993288 ], [ -122.515495999593966, 38.202783001086281 ], [ -122.515801000229686, 38.203065000918542 ], [ -122.516121999611869, 38.203492000586095 ], [ -122.516595000228762, 38.20398800053286 ], [ -122.516824000297191, 38.204286000961829 ], [ -122.517144000177524, 38.204667001024298 ], [ -122.517448999509412, 38.205110000481106 ], [ -122.517677999397463, 38.205528000752658 ], [ -122.517892000021419, 38.205780000667417 ], [ -122.51842599994076, 38.206688000704311 ], [ -122.518486999824972, 38.20685600069578 ], [ -122.518761999491673, 38.207321001077112 ], [ -122.518852999988297, 38.207550000608983 ], [ -122.518944999911398, 38.207840000792842 ], [ -122.520454999547297, 38.211967001028711 ], [ -122.520515999477055, 38.212128000731923 ], [ -122.520562000122055, 38.212288000942266 ], [ -122.520729999640139, 38.212532000965297 ], [ -122.520805999960103, 38.212639000273747 ], [ -122.520805999438949, 38.21277600105951 ], [ -122.520684000143504, 38.212990000451292 ], [ -122.520576999550656, 38.213165000797268 ], [ -122.520425000444988, 38.213310000273616 ], [ -122.520027999887759, 38.213623000428569 ], [ -122.51987600034613, 38.213814000759292 ], [ -122.519814999843689, 38.213966000254814 ], [ -122.51981499967637, 38.214119000890257 ], [ -122.519860000155617, 38.214294000331087 ], [ -122.521126999829036, 38.217216000676949 ], [ -122.521249000282523, 38.217308000320806 ], [ -122.521417000476745, 38.217483000460319 ], [ -122.521690999449561, 38.217667000479445 ], [ -122.521997000136054, 38.217834001031413 ], [ -122.522134000246666, 38.217895001081892 ], [ -122.522302000033051, 38.218018000577842 ], [ -122.522622000204848, 38.218300000866662 ], [ -122.522881999428279, 38.218483000258317 ], [ -122.52333900030608, 38.218727000806055 ], [ -122.524025999701692, 38.219185000248011 ], [ -122.524330999638224, 38.219421001075659 ], [ -122.524818999971785, 38.219734000306524 ], [ -122.526438000163409, 38.220871000896857 ], [ -122.52704799959993, 38.221466000590887 ], [ -122.527246999693389, 38.221664000822969 ], [ -122.527444999862354, 38.221817000949144 ], [ -122.52758199962777, 38.221908000800283 ], [ -122.527673999985552, 38.221977001105344 ], [ -122.527750000219257, 38.222191001041899 ], [ -122.527872000346036, 38.222336000699627 ], [ -122.528116000343545, 38.222694000630355 ], [ -122.528253999637371, 38.222885000834381 ], [ -122.52843699949868, 38.223076000509721 ], [ -122.528573999820836, 38.223373000256082 ], [ -122.528649999804756, 38.223511000895236 ], [ -122.52872699985943, 38.223587000509184 ], [ -122.528802999950059, 38.223724000660248 ], [ -122.528864000239636, 38.223862000424297 ], [ -122.528940000125615, 38.224045001097487 ], [ -122.52897099971544, 38.224579000655133 ], [ -122.529000999927362, 38.224655000731339 ], [ -122.52904700019964, 38.224747000866074 ], [ -122.529138999479244, 38.22484600074857 ], [ -122.52921500005057, 38.224968001136787 ], [ -122.529245000333248, 38.22522700049165 ], [ -122.52919999993469, 38.225586000739909 ], [ -122.529244999509899, 38.225693000749246 ], [ -122.529337000011154, 38.22582200031411 ], [ -122.529412999406816, 38.226082000555763 ], [ -122.529504999487941, 38.226349000879338 ], [ -122.52951999967668, 38.226463000380342 ], [ -122.529565999543991, 38.226547000809248 ], [ -122.529595999679515, 38.22666900040722 ], [ -122.529641999660697, 38.226761000281151 ], [ -122.529687999954916, 38.226837000282586 ], [ -122.529763999604157, 38.226936000430889 ], [ -122.52976400020853, 38.227058000560902 ], [ -122.52979500018462, 38.227409000372866 ], [ -122.529810000254059, 38.227554000940444 ], [ -122.529885999904252, 38.227730000909226 ], [ -122.529932000336672, 38.227837001025563 ], [ -122.530024000228622, 38.227920000325696 ], [ -122.530145999990694, 38.228096000435308 ], [ -122.530145999484887, 38.228287000966162 ], [ -122.530207000425037, 38.228355000935011 ], [ -122.530282999982887, 38.228470000577566 ], [ -122.530313999990469, 38.228577000888109 ], [ -122.530374999788322, 38.228722000660298 ], [ -122.530420000054292, 38.228798000859655 ], [ -122.530497000162711, 38.228889000529961 ], [ -122.530573000027346, 38.228973000664411 ], [ -122.530648999647909, 38.229080000587281 ], [ -122.530709999443374, 38.229164001033901 ], [ -122.530756000036405, 38.229309001010641 ], [ -122.530802000465357, 38.22954600031678 ], [ -122.530816999468101, 38.229622000291997 ], [ -122.530847999560834, 38.229721000971004 ], [ -122.530908999746714, 38.229820000770957 ], [ -122.530939000382105, 38.229935000880715 ], [ -122.530984999931235, 38.230057000911167 ], [ -122.531031000319501, 38.230278000254344 ], [ -122.531046000499671, 38.230369000558866 ], [ -122.531076999650949, 38.230446000811753 ], [ -122.531121999946237, 38.230560000920214 ], [ -122.531192999832754, 38.23151600054414 ], [ -122.529792999895463, 38.233016000459919 ], [ -122.527353000140806, 38.235649000854778 ], [ -122.527230999712629, 38.235741000826536 ], [ -122.527048000022759, 38.23579400038566 ], [ -122.526788999826181, 38.235870000402372 ], [ -122.526545000507355, 38.235908000719689 ], [ -122.526293000492998, 38.235916000893006 ], [ -122.525492999608062, 38.235916000344403 ], [ -122.524423999666595, 38.236015000719178 ], [ -122.524026999868994, 38.236015001065631 ], [ -122.523783000502974, 38.236038000698109 ], [ -122.523553999409359, 38.236061000323147 ], [ -122.523263999428053, 38.236145000451508 ], [ -122.522958999448122, 38.236244000523421 ], [ -122.522744999688584, 38.236336000371175 ], [ -122.52137199958031, 38.236931000765495 ], [ -122.521249999533268, 38.236984000261302 ], [ -122.521127999432665, 38.236999000389204 ], [ -122.517526999521039, 38.237137000643301 ], [ -122.517205999443433, 38.237175001124953 ], [ -122.516885999698502, 38.237183000564762 ], [ -122.516595999876586, 38.237183000666384 ], [ -122.516351999755628, 38.237190000328255 ], [ -122.516123000063757, 38.237190000965036 ], [ -122.515679999938143, 38.237167000810921 ], [ -122.515191999421816, 38.237122000259959 ], [ -122.514550999933022, 38.237038000730699 ], [ -122.513482999713389, 38.236923001086865 ], [ -122.511879999710303, 38.236801000392013 ], [ -122.511407000498664, 38.236778000847814 ], [ -122.51116299975223, 38.236740000430466 ], [ -122.510476000210062, 38.236610001071632 ], [ -122.510278000480085, 38.236572000503891 ], [ -122.510018000300093, 38.236557001040886 ], [ -122.509835000317466, 38.236565000647118 ], [ -122.509692000132631, 38.236516001049139 ], [ -122.509301000234899, 38.236626000728307 ], [ -122.508859000480143, 38.236687000363901 ], [ -122.508492999606048, 38.23674000082103 ], [ -122.508141999800074, 38.236847000755176 ], [ -122.507943000294446, 38.236961000670789 ], [ -122.507714000396859, 38.237083000949916 ], [ -122.507500999883618, 38.237251000800498 ], [ -122.50746000001763, 38.237284000900424 ], [ -122.507256999914873, 38.237450000944428 ], [ -122.507088999623775, 38.237633000915416 ], [ -122.506935999549867, 38.237816000567463 ], [ -122.506691999667652, 38.238016000792889 ], [ -122.506187999410301, 38.23866300069048 ], [ -122.506004999687477, 38.23895300029114 ], [ -122.505882999457413, 38.239220000678628 ], [ -122.505806999848247, 38.239379001034237 ], [ -122.505775999827591, 38.239554000477995 ], [ -122.505792000246089, 38.239715000510664 ], [ -122.505989999685113, 38.241431000826793 ], [ -122.505991999909028, 38.241615001106133 ], [ -122.505685000213205, 38.24239200103019 ], [ -122.50537999975387, 38.242904001058974 ], [ -122.505211999635932, 38.24320900052269 ], [ -122.505074999912068, 38.243346000571236 ], [ -122.504890999986912, 38.243529000889588 ], [ -122.504693000366927, 38.24368200068205 ], [ -122.504510000233466, 38.243773001057392 ], [ -122.504402999458179, 38.243827000659692 ], [ -122.503792000047298, 38.244315000580571 ], [ -122.50109200047747, 38.246456000870204 ], [ -122.500819999573352, 38.24669900027277 ], [ -122.500324000053382, 38.247611000503362 ], [ -122.499988000164691, 38.248187000845029 ], [ -122.499523999411963, 38.248715000279496 ], [ -122.498611999957987, 38.249115000709381 ], [ -122.496835999786995, 38.249707000528552 ], [ -122.496205999805852, 38.249915000326055 ], [ -122.493491999612488, 38.250715000345451 ], [ -122.489592000305208, 38.252015001125152 ], [ -122.489830999392723, 38.252471000329002 ], [ -122.492318000146, 38.257071000622865 ], [ -122.492292000245044, 38.25731500037903 ], [ -122.49221100035524, 38.257575000717694 ], [ -122.492028000240978, 38.257773001067186 ], [ -122.491647000406545, 38.257903001032489 ], [ -122.490591999502811, 38.25821500080103 ], [ -122.48969200043723, 38.258615000934398 ], [ -122.489291999597484, 38.258715001070392 ], [ -122.48729199977366, 38.259315001042467 ], [ -122.487105999733643, 38.259374000937754 ], [ -122.483491999619019, 38.2605150009799 ], [ -122.47429100000933, 38.263515000846667 ], [ -122.470291000327535, 38.264815000569811 ], [ -122.46959499979657, 38.265031000359322 ], [ -122.467391000320632, 38.265715000877265 ], [ -122.466972000397107, 38.265807000292156 ], [ -122.461890999871059, 38.265315000865492 ], [ -122.456791000410462, 38.26491500038702 ], [ -122.456191000513712, 38.264815000950627 ], [ -122.453191000052072, 38.264515000548919 ], [ -122.451690000068879, 38.264415001053038 ], [ -122.451190000496283, 38.267415001100836 ], [ -122.451090000283116, 38.26811500069843 ], [ -122.450290000303497, 38.273815000729471 ], [ -122.450189999566504, 38.274615001020763 ], [ -122.449893999838437, 38.276453000435744 ], [ -122.449605999608323, 38.278244000433645 ], [ -122.449581999600667, 38.278396000501218 ], [ -122.449289999604801, 38.280214000316171 ], [ -122.445390000407755, 38.279814000849839 ], [ -122.443690000244544, 38.27961400081562 ], [ -122.44109000011936, 38.279314000781959 ], [ -122.437389999818535, 38.278914000490204 ], [ -122.436889999491072, 38.282514000447129 ], [ -122.436289999802909, 38.286214000578013 ], [ -122.436261000109837, 38.286384001022213 ], [ -122.435690000171874, 38.289714000245034 ], [ -122.435489999705709, 38.289714000571088 ], [ -122.434789999544066, 38.289614000684317 ], [ -122.434489999989708, 38.289514000400338 ], [ -122.43439400038443, 38.289831000395658 ], [ -122.434165000506397, 38.290159001046781 ], [ -122.433889999670654, 38.290514001062263 ], [ -122.433448000076069, 38.291517000241782 ], [ -122.433089999774566, 38.292214000825929 ], [ -122.432890000066891, 38.292614000699629 ], [ -122.43073700007433, 38.292171000376719 ], [ -122.42949000004019, 38.29191400031219 ], [ -122.425389000389359, 38.291014000965156 ], [ -122.424688999424234, 38.292614000689902 ], [ -122.423727000080888, 38.294966000936093 ], [ -122.423787999422117, 38.2952170004138 ], [ -122.424017000156738, 38.29575900050331 ], [ -122.423985999809787, 38.295919000246101 ], [ -122.423818000039873, 38.295950000495679 ], [ -122.423193000151414, 38.295767000486457 ], [ -122.422842000492864, 38.295751000398646 ], [ -122.422674000181203, 38.295706000665994 ], [ -122.422444999968562, 38.295553000248304 ], [ -122.422201000462067, 38.29547700082567 ], [ -122.421942000387844, 38.295454000640362 ], [ -122.421621000353639, 38.295431000643305 ], [ -122.421437999439775, 38.29550000065386 ], [ -122.4212240004222, 38.295477000911461 ], [ -122.420935000122768, 38.295355000465001 ], [ -122.420659999638772, 38.295240000735454 ], [ -122.420416000022499, 38.295240000451741 ], [ -122.420247999738493, 38.295378000876504 ], [ -122.42003399950589, 38.295591000529946 ], [ -122.41976000030418, 38.295645000287941 ], [ -122.419164999981675, 38.295629000554733 ], [ -122.418936000321096, 38.295698000509589 ], [ -122.418340999888784, 38.296057000800957 ], [ -122.417806999866386, 38.296514000804109 ], [ -122.417500999927725, 38.297010000492712 ], [ -122.417424999941105, 38.297430000694497 ], [ -122.41751699965441, 38.297651001049573 ], [ -122.417488999919868, 38.297814000564792 ], [ -122.416788999908974, 38.29811400023933 ], [ -122.416798999725259, 38.298368000342705 ], [ -122.416754000203227, 38.298834000740662 ], [ -122.416571000158967, 38.29986400036772 ], [ -122.416220000481474, 38.300283001029477 ], [ -122.415975000222517, 38.300894000685524 ], [ -122.415730999982955, 38.301199001094119 ], [ -122.415227999394347, 38.301359000483373 ], [ -122.414785000162951, 38.301489000317183 ], [ -122.414418999821919, 38.301779001069256 ], [ -122.41437299984409, 38.301954000779396 ], [ -122.413670999712096, 38.302404000557928 ], [ -122.413519000333892, 38.302633000908919 ], [ -122.413188999955352, 38.302914000466373 ], [ -122.412989000440774, 38.303014000914473 ], [ -122.412755999459051, 38.303289001120866 ], [ -122.412541999561583, 38.303541001028286 ], [ -122.412435000322873, 38.304876000998327 ], [ -122.411092999516242, 38.305807000370741 ], [ -122.410269000367663, 38.305601000935368 ], [ -122.409536000173929, 38.305700000768589 ], [ -122.408499000277942, 38.305204000549743 ], [ -122.407690000058594, 38.304983000868944 ], [ -122.407063999622949, 38.305013000885914 ], [ -122.406698000524585, 38.305029000975864 ], [ -122.406388999451096, 38.304914000537408 ], [ -122.405553000002072, 38.304288000853063 ], [ -122.405126000071022, 38.303968000573072 ], [ -122.40517200049068, 38.303602001135921 ], [ -122.404905000462307, 38.303345000764523 ], [ -122.404118999662629, 38.302587000339109 ], [ -122.403828999830822, 38.302130000902928 ], [ -122.403478999757652, 38.301267000550702 ], [ -122.403189000341854, 38.300814000932348 ], [ -122.402789000246912, 38.300514000684537 ], [ -122.403289000487945, 38.30011400068279 ], [ -122.403539999513143, 38.299925000882034 ], [ -122.403692000267355, 38.299627000665765 ], [ -122.403722999772683, 38.29939800095223 ], [ -122.403600999532983, 38.299230000251306 ], [ -122.403588999825686, 38.299114001084149 ], [ -122.403088999725682, 38.298514001130371 ], [ -122.402883000031679, 38.298292000244111 ], [ -122.402623999649293, 38.297987000452984 ], [ -122.402379999569902, 38.296972000599276 ], [ -122.402136000386363, 38.296293000463059 ], [ -122.401968000437634, 38.295904001139078 ], [ -122.401769999640138, 38.295675000380569 ], [ -122.401692999625226, 38.295202001086722 ], [ -122.40195299979419, 38.294729000632742 ], [ -122.402243000042901, 38.294279000485794 ], [ -122.402409999932217, 38.293974000666786 ], [ -122.402258000084956, 38.293600000334813 ], [ -122.401449000472198, 38.29172300061304 ], [ -122.401342000149469, 38.29157800041245 ], [ -122.401406999399924, 38.291373000420435 ], [ -122.401433999509422, 38.291288000441995 ], [ -122.401571000320601, 38.290846000753099 ], [ -122.40154099969287, 38.290685000924348 ], [ -122.401357999535122, 38.290533000646974 ], [ -122.400915000046922, 38.289747001110086 ], [ -122.400823000528021, 38.289549000633066 ], [ -122.401036999900455, 38.289320000267068 ], [ -122.401098000300152, 38.289099001069779 ], [ -122.401326999419027, 38.288709000964893 ], [ -122.401524999990713, 38.288320000337201 ], [ -122.401480000252604, 38.288023000678464 ], [ -122.40135799968219, 38.287382000837141 ], [ -122.401250999845715, 38.287092000885991 ], [ -122.401234999745924, 38.286886000705778 ], [ -122.401280999495299, 38.286619000555056 ], [ -122.401342000119342, 38.286344000958451 ], [ -122.401753999838562, 38.285093000853017 ], [ -122.401907000305741, 38.284689000398828 ], [ -122.402028999628641, 38.284437000775547 ], [ -122.402211999658419, 38.284254000351204 ], [ -122.402487000432131, 38.284086000631035 ], [ -122.402715999463112, 38.283903000242617 ], [ -122.402867999794069, 38.283613000453443 ], [ -122.402883000228314, 38.283338000978844 ], [ -122.403005999976386, 38.283117000629225 ], [ -122.403219000364487, 38.282919000564448 ], [ -122.403616000198056, 38.282827000637617 ], [ -122.403936000112935, 38.282804000585962 ], [ -122.404302999697862, 38.282583000833014 ], [ -122.404588999912903, 38.28221400080816 ], [ -122.404759999615592, 38.281820000397801 ], [ -122.404591999857956, 38.281423000971749 ], [ -122.404241000186943, 38.281057000249426 ], [ -122.403966999669663, 38.280767000601315 ], [ -122.403494000100196, 38.280416000699311 ], [ -122.403127999434162, 38.280096000516494 ], [ -122.402777999505503, 38.279467001019704 ], [ -122.402745999686132, 38.279409000438179 ], [ -122.402319000036215, 38.278707000383548 ], [ -122.401967999570772, 38.278112000495938 ], [ -122.40175399974666, 38.277648000614867 ], [ -122.401555999772029, 38.277205000509191 ], [ -122.401509999898138, 38.2767700006913 ], [ -122.401449000258737, 38.276343000281123 ], [ -122.401204999456127, 38.276030000634492 ], [ -122.400975999996035, 38.275794000257036 ], [ -122.400822999806493, 38.275428000333953 ], [ -122.400639999410004, 38.274985000347492 ], [ -122.400366000370823, 38.274550000339943 ], [ -122.399999000169558, 38.274138000430597 ], [ -122.399616999916219, 38.273955000637095 ], [ -122.399159000321262, 38.273734000954612 ], [ -122.398823999721202, 38.273558000322012 ], [ -122.398548999821486, 38.273307000811357 ], [ -122.398075999956944, 38.272834001022126 ], [ -122.397663999741582, 38.272513000464158 ], [ -122.397188000138698, 38.272215000877544 ], [ -122.396992999535072, 38.27209400106085 ], [ -122.396717999900986, 38.272101000494402 ], [ -122.3961990002542, 38.272216000799297 ], [ -122.395634999831671, 38.272239000431746 ], [ -122.395009000326866, 38.27223900078355 ], [ -122.394428999432762, 38.272147000881702 ], [ -122.39413900016045, 38.272155001040581 ], [ -122.393971000250673, 38.272261001140109 ], [ -122.393819000452183, 38.27242900039051 ], [ -122.393787999774318, 38.272628000815978 ], [ -122.393848999928039, 38.272918000309943 ], [ -122.393864000419867, 38.273131000250686 ], [ -122.393680999694709, 38.273307000731897 ], [ -122.393345999586927, 38.273383000749511 ], [ -122.392903000092687, 38.273353000940027 ], [ -122.391941999505732, 38.273375000446904 ], [ -122.39171300046597, 38.273429000660848 ], [ -122.391332000207825, 38.273703000404382 ], [ -122.391118000077256, 38.273803000633869 ], [ -122.390630000029333, 38.273970000489612 ], [ -122.390248000343789, 38.274146001004539 ], [ -122.389850999759204, 38.274268000418679 ], [ -122.389134000194957, 38.274375000924017 ], [ -122.388615000498703, 38.274360000340458 ], [ -122.388188000273232, 38.274215000813378 ], [ -122.387868000285494, 38.273894000517849 ], [ -122.387623999550414, 38.273642000791106 ], [ -122.387242000262873, 38.273253000472515 ], [ -122.387211999550175, 38.27282600045217 ], [ -122.387502000497122, 38.272353000405033 ], [ -122.387852999720195, 38.272094000915544 ], [ -122.388265000253682, 38.271811000355385 ], [ -122.388386999726777, 38.271460001041611 ], [ -122.388326000009172, 38.271163000612333 ], [ -122.388219000525254, 38.270903000289458 ], [ -122.388005000003304, 38.270598000953008 ], [ -122.387653999537733, 38.270347000384625 ], [ -122.387380000237926, 38.270202000481341 ], [ -122.387364000188043, 38.269904000650406 ], [ -122.387653999600886, 38.269637000965957 ], [ -122.388173000506342, 38.269355000530531 ], [ -122.388646000023471, 38.269103000898312 ], [ -122.389012000098219, 38.268699001132575 ], [ -122.389256000026677, 38.268210000468699 ], [ -122.389272000225787, 38.267867000950211 ], [ -122.389088000521454, 38.267417000985304 ], [ -122.38899700046008, 38.266990000606867 ], [ -122.389011999995375, 38.26648600068031 ], [ -122.389165000272129, 38.266013000742497 ], [ -122.389287000122664, 38.265693000859628 ], [ -122.389485000185132, 38.265296000735056 ], [ -122.389516000195655, 38.264960000552499 ], [ -122.389210999647858, 38.264670000310943 ], [ -122.389073000177774, 38.264388000354288 ], [ -122.389179999485776, 38.264098000282445 ], [ -122.389347999685953, 38.263724000496708 ], [ -122.389438999703813, 38.2633500008669 ], [ -122.389408999861374, 38.262969000734209 ], [ -122.389287000146936, 38.262526000612965 ], [ -122.389348000428399, 38.262168000423031 ], [ -122.389394000392443, 38.261886001003603 ], [ -122.38957700011801, 38.261512000372477 ], [ -122.38977499986153, 38.261268000772773 ], [ -122.389866999407943, 38.260947000424196 ], [ -122.389897000407032, 38.260695000873497 ], [ -122.389744999609405, 38.260474001123399 ], [ -122.389194999778951, 38.260116000450459 ], [ -122.388843999450856, 38.259871000885241 ], [ -122.388584999797288, 38.259513000277991 ], [ -122.388402000020236, 38.259101000990945 ], [ -122.388233999465825, 38.258719000698228 ], [ -122.388158000477276, 38.258345000705184 ], [ -122.387669000255983, 38.258040000848055 ], [ -122.387104999784484, 38.257728000279045 ], [ -122.386571000465608, 38.257430000455045 ], [ -122.386159000251439, 38.257186000551442 ], [ -122.385777000227151, 38.256865000318975 ], [ -122.38558800009983, 38.256715001069395 ], [ -122.38545700032212, 38.256514000475057 ], [ -122.385274000188431, 38.256194000902525 ], [ -122.384907999882486, 38.255134000296103 ], [ -122.384709000279955, 38.254813000266282 ], [ -122.38434300048911, 38.254500001075307 ], [ -122.383839000141691, 38.254256000561767 ], [ -122.383335999491521, 38.254142000499812 ], [ -122.382847999923982, 38.254096000826046 ], [ -122.382488000290692, 38.254115000446149 ], [ -122.382129999759272, 38.253989001101225 ], [ -122.381947000363738, 38.253775000862518 ], [ -122.381824999595779, 38.25349300057367 ], [ -122.381749000372722, 38.253241000508474 ], [ -122.381307000191498, 38.253089000559598 ], [ -122.380771999432483, 38.252837000685872 ], [ -122.380451999761817, 38.252540001031541 ], [ -122.380116000092713, 38.252120000532848 ], [ -122.379810999696787, 38.251571000936352 ], [ -122.37944499991498, 38.251098000289225 ], [ -122.378988000111534, 38.250715000454541 ], [ -122.378789000355596, 38.250495001134055 ], [ -122.378528999719052, 38.250205000956676 ], [ -122.378361999851464, 38.250068000533759 ], [ -122.378026000255062, 38.250075001013109 ], [ -122.37772100033456, 38.250098000581346 ], [ -122.377522000308588, 38.250068001017894 ], [ -122.377286999538626, 38.249915000959845 ], [ -122.377187000269529, 38.248415000365839 ], [ -122.373787000233335, 38.247415000906095 ], [ -122.374586999941826, 38.244515000998895 ], [ -122.370487000517272, 38.245215000406489 ], [ -122.370386999790341, 38.246915000714786 ], [ -122.36678699962799, 38.247015001016891 ], [ -122.357686000382841, 38.225116000776566 ], [ -122.35888600006389, 38.22281600031247 ], [ -122.357986000050559, 38.214216000705477 ], [ -122.357186000152225, 38.211816000443918 ], [ -122.358386000121953, 38.209516001049636 ], [ -122.356586000332697, 38.208216000939345 ], [ -122.351786000530268, 38.202517000509417 ], [ -122.349785000054851, 38.201117001014495 ], [ -122.349084999440066, 38.193617000853642 ], [ -122.350384999652249, 38.192317000354905 ], [ -122.3580860003688, 38.197417000535395 ], [ -122.360186000530973, 38.195617000463251 ], [ -122.357185999390168, 38.191917001088797 ], [ -122.356585000411243, 38.183517000509447 ], [ -122.358885000365319, 38.181417000510841 ], [ -122.367086000432906, 38.183017000592834 ], [ -122.368386000524083, 38.181317000833239 ], [ -122.36538499961614, 38.166818001099699 ], [ -122.367584999829333, 38.158718000253828 ], [ -122.368140999831155, 38.158366000332755 ], [ -122.371584999423618, 38.157518000818854 ], [ -122.376062000071244, 38.158823000649512 ], [ -122.380253999852258, 38.160046000482922 ], [ -122.380986000359457, 38.160418001097042 ], [ -122.391186000240964, 38.161418000736717 ], [ -122.406886999675081, 38.15881800104593 ], [ -122.407086999837901, 38.159118001029313 ], [ -122.408353999993309, 38.158100000798747 ], [ -122.408271000063436, 38.157662000278705 ], [ -122.408222999988766, 38.156046000357385 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1322, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.565745021676292, 38.322325004209638 ], [ -122.566066016237954, 38.322332000980531 ], [ -122.566280013593854, 38.322439004398383 ], [ -122.566493979690904, 38.32281398370808 ], [ -122.56652399560906, 38.323034016938848 ], [ -122.566492992114263, 38.323399993563342 ], [ -122.566477986599821, 38.323750996985645 ], [ -122.566477999191022, 38.324049002778473 ], [ -122.566447009392334, 38.324255010326638 ], [ -122.566507989482844, 38.324476002872103 ], [ -122.566539019519865, 38.324765991037211 ], [ -122.566493985058742, 38.324914000136104 ], [ -122.566424004723316, 38.325011011359273 ], [ -122.56638601596795, 38.325063994436086 ], [ -122.566141990731225, 38.32528498565479 ], [ -122.565694010619723, 38.325713983662951 ], [ -122.565303013923469, 38.325497999243467 ], [ -122.564784014157581, 38.325276997225735 ], [ -122.564494013663577, 38.324979992143398 ], [ -122.564173989956032, 38.324696991758962 ], [ -122.564036984407991, 38.324239986432225 ], [ -122.563944988369968, 38.323766989415823 ], [ -122.563793982394458, 38.323514011937263 ], [ -122.563685992319577, 38.323323999041271 ], [ -122.564142984748912, 38.322882016362762 ], [ -122.564371994999092, 38.323033999932214 ], [ -122.564783982172685, 38.322958009184227 ], [ -122.56512001569746, 38.322767004040074 ], [ -122.565334012322168, 38.322470002730462 ], [ -122.56541699232433, 38.322410990696923 ], [ -122.565516980317724, 38.322340001681852 ], [ -122.565745021676292, 38.322325004209638 ] ], [ [ -122.501091995946041, 38.247015013154069 ], [ -122.50062501706995, 38.24772398877937 ], [ -122.500324011609919, 38.247611002636681 ], [ -122.499988019875374, 38.248187001323295 ], [ -122.499524004791681, 38.248714996979103 ], [ -122.49861197897205, 38.249115009068859 ], [ -122.49683598367632, 38.249707016569204 ], [ -122.496206018063432, 38.249915014768 ], [ -122.493492007798423, 38.250715014744344 ], [ -122.489591995894614, 38.25201498831958 ], [ -122.489831004009034, 38.252471014374649 ], [ -122.492317990578428, 38.257070989653926 ], [ -122.492292004409308, 38.257314987103719 ], [ -122.492210989639389, 38.257575011035634 ], [ -122.492027983707288, 38.257772985111231 ], [ -122.491646989404799, 38.257903001097489 ], [ -122.49059200945446, 38.258214987438258 ], [ -122.489692004543173, 38.258615016498673 ], [ -122.48929201290828, 38.258715018139263 ], [ -122.487292005586724, 38.259314987098612 ], [ -122.487105985186247, 38.259373987073886 ], [ -122.483492011779305, 38.260514998780323 ], [ -122.474291003821207, 38.263515017142389 ], [ -122.470291016143619, 38.264814987009949 ], [ -122.469595013286948, 38.265030992252818 ], [ -122.467391021837869, 38.265714999172452 ], [ -122.467536993619277, 38.265990011759648 ], [ -122.467720007235059, 38.266219003645197 ], [ -122.468086013313126, 38.266661989252626 ], [ -122.468207993979291, 38.267074014444638 ], [ -122.468268997183856, 38.267508012533689 ], [ -122.46845200642251, 38.26795900389665 ], [ -122.468498014244105, 38.268385998556766 ], [ -122.468758007842112, 38.268813011646117 ], [ -122.468925012430404, 38.26906498814968 ], [ -122.469095013846385, 38.269525002341993 ], [ -122.469154014365401, 38.269682986182069 ], [ -122.469261010436639, 38.270056991679745 ], [ -122.469398015248501, 38.270560017026128 ], [ -122.469383013741648, 38.270933998689642 ], [ -122.469382982217439, 38.271459991317329 ], [ -122.469322001505986, 38.271849994322721 ], [ -122.469108990710652, 38.272132005722355 ], [ -122.468880011013823, 38.272399017663574 ], [ -122.468559017647976, 38.272833996243321 ], [ -122.468345987390464, 38.273123997560383 ], [ -122.468239020470506, 38.273536005623797 ], [ -122.468315007544518, 38.273893993912104 ], [ -122.468605009083305, 38.274427989039623 ], [ -122.468986995346881, 38.274817004609162 ], [ -122.469397989019782, 38.275191012110284 ], [ -122.46982602186786, 38.27554999236721 ], [ -122.470314003015488, 38.275809014119822 ], [ -122.470482007453356, 38.276000018264142 ], [ -122.470740994857977, 38.276250998837384 ], [ -122.471244993103312, 38.276464006101037 ], [ -122.471611001140673, 38.276700997887936 ], [ -122.471790999168988, 38.276913986637261 ], [ -122.471916017106636, 38.277028999624392 ], [ -122.472083988719604, 38.277281010919872 ], [ -122.472191017936098, 38.277653992551492 ], [ -122.472281987346278, 38.278074005613725 ], [ -122.472403999033673, 38.27839498676461 ], [ -122.472740001802009, 38.278707001915166 ], [ -122.473198002457437, 38.278898002389745 ], [ -122.473777987925033, 38.279179988901767 ], [ -122.474113010278217, 38.279363006003422 ], [ -122.47460198396081, 38.279775013560581 ], [ -122.475060020346774, 38.280309991172992 ], [ -122.475365005471943, 38.28075201141219 ], [ -122.475547982525029, 38.281155992615531 ], [ -122.475639009785723, 38.281682989935888 ], [ -122.475563001302064, 38.282011003522776 ], [ -122.475490978303526, 38.282114007063051 ], [ -122.475319019972844, 38.282270004267382 ], [ -122.474990994013382, 38.282613999579013 ], [ -122.474810005672637, 38.282776996528646 ], [ -122.474753995039947, 38.282826982746762 ], [ -122.474280980736239, 38.283276996754658 ], [ -122.473975998217497, 38.283681996334636 ], [ -122.473700995344657, 38.284048017279154 ], [ -122.473396006512914, 38.284520995301015 ], [ -122.473243995677166, 38.285055000070521 ], [ -122.473304997406046, 38.285451994326756 ], [ -122.473503019769794, 38.28582601643906 ], [ -122.473747011586298, 38.286427982782797 ], [ -122.474052013154605, 38.286932001344944 ], [ -122.474173996473866, 38.287389996281036 ], [ -122.474178001194787, 38.287454016130837 ], [ -122.474204990337526, 38.287954006699465 ], [ -122.474219993286297, 38.288450000592952 ], [ -122.474358009202888, 38.288976997603555 ], [ -122.474648018494165, 38.289548997668739 ], [ -122.474906997205778, 38.28981598667319 ], [ -122.475303989840413, 38.290190015796341 ], [ -122.47576099416905, 38.290518017761777 ], [ -122.476142996051848, 38.290754010410886 ], [ -122.476493993503212, 38.290990990011252 ], [ -122.47690597820737, 38.291220002641019 ], [ -122.477257004604439, 38.291410017217167 ], [ -122.477531015910614, 38.291570010348273 ], [ -122.477637996023532, 38.291806990869141 ], [ -122.477669020043535, 38.292028002309756 ], [ -122.477608000583771, 38.292265009229205 ], [ -122.477501006091614, 38.29254701398127 ], [ -122.477286997531607, 38.292883003273609 ], [ -122.477073978095163, 38.293112009976703 ], [ -122.476981998368004, 38.293454984976201 ], [ -122.476990994060017, 38.293713989624678 ], [ -122.476990983806701, 38.293814991380685 ], [ -122.476990987954807, 38.293913986540908 ], [ -122.477088995794162, 38.293919985753568 ], [ -122.477409004437106, 38.294026990098253 ], [ -122.477791021749482, 38.294313988737237 ], [ -122.478890986461224, 38.293913992622947 ], [ -122.479492022140448, 38.293713988373732 ], [ -122.479946980860035, 38.293577018571689 ], [ -122.480185980045206, 38.293506014119046 ], [ -122.480491999231347, 38.293414007237367 ], [ -122.480656990437467, 38.293354009927036 ], [ -122.481591980431261, 38.293013985731143 ], [ -122.482259000182353, 38.292792009522607 ], [ -122.483211016926674, 38.292474015129706 ], [ -122.483607007102179, 38.292342016764131 ], [ -122.484592003901554, 38.292014017361261 ], [ -122.484891992825865, 38.291914016224084 ], [ -122.486530014162867, 38.291328985899419 ], [ -122.487691990949315, 38.290914005036292 ], [ -122.487953986635077, 38.290898989948289 ], [ -122.488292020234866, 38.290913983404629 ], [ -122.488243997958989, 38.291258004145142 ], [ -122.488228998306198, 38.291631987165943 ], [ -122.488304991380701, 38.292081986464702 ], [ -122.488405994011316, 38.292272003496912 ], [ -122.48851897879517, 38.292486011775715 ], [ -122.488830007134155, 38.293065989440628 ], [ -122.48939197726753, 38.294114011835958 ], [ -122.489892013786559, 38.295014008651563 ], [ -122.49039198864736, 38.296013983845683 ], [ -122.490991981468383, 38.29691398746909 ], [ -122.49149198397933, 38.297913993051637 ], [ -122.492091996355128, 38.299013987802375 ], [ -122.492560978769731, 38.2997640077932 ], [ -122.492591991575864, 38.299813991535018 ], [ -122.492691981781348, 38.300114014414568 ], [ -122.49299201680968, 38.300613983480638 ], [ -122.493522014286214, 38.3017409865978 ], [ -122.493791978876743, 38.302314013838554 ], [ -122.494792010852109, 38.304513994265641 ], [ -122.495391992233834, 38.305614006250103 ], [ -122.49589200157736, 38.306514011224479 ], [ -122.496091982386915, 38.306913983653892 ], [ -122.496392001993115, 38.307513994633105 ], [ -122.496491994724337, 38.307713998052343 ], [ -122.496593006776365, 38.307966988486548 ], [ -122.496692005711779, 38.308213985426903 ], [ -122.496891995251346, 38.308613991642616 ], [ -122.497492016592446, 38.309614011787005 ], [ -122.497791994664368, 38.310313999458245 ], [ -122.497818018004011, 38.310363009867409 ], [ -122.498892001825183, 38.312414002668582 ], [ -122.499391986022076, 38.314013011207898 ], [ -122.500291980674078, 38.316512984016761 ], [ -122.501092015936166, 38.318212996418467 ], [ -122.501150982513494, 38.318346003077465 ], [ -122.501378013143949, 38.318857010000634 ], [ -122.501891984750117, 38.320013018408019 ], [ -122.501991981799904, 38.32041301304303 ], [ -122.501091997100843, 38.320713002259154 ], [ -122.501029017081549, 38.320734983527629 ], [ -122.499692015340116, 38.321212996453589 ], [ -122.498792011187788, 38.321513003050718 ], [ -122.49559198860058, 38.322613010680818 ], [ -122.494792006744873, 38.322912994086856 ], [ -122.494850994746855, 38.323337989000372 ], [ -122.49505001668517, 38.323811007121108 ], [ -122.49538498592598, 38.324200013749895 ], [ -122.495781982180645, 38.324421994903382 ], [ -122.499200013873661, 38.325558004408492 ], [ -122.499627019413836, 38.325824986250922 ], [ -122.499917012710355, 38.326214984946397 ], [ -122.500084985048005, 38.326764009042037 ], [ -122.50026801570057, 38.327495983670318 ], [ -122.500390013331312, 38.327725014930053 ], [ -122.501091994893159, 38.328112998070587 ], [ -122.50136700539997, 38.328480997022481 ], [ -122.501457997015237, 38.328480996599161 ], [ -122.50162601783768, 38.328548986229741 ], [ -122.501991978394955, 38.328656013019071 ], [ -122.502296991070693, 38.328754999877269 ], [ -122.502755009980874, 38.328824006965597 ], [ -122.502953991434453, 38.328992000711963 ], [ -122.502998984427478, 38.329190004653427 ], [ -122.503030009644263, 38.32945698511935 ], [ -122.503030002872535, 38.329830996114453 ], [ -122.503014990661896, 38.330151010438996 ], [ -122.502938014700604, 38.330486991344422 ], [ -122.502893016126862, 38.330800013674747 ], [ -122.502907995318509, 38.331113008569567 ], [ -122.502992005608291, 38.331212992908519 ], [ -122.503288994593433, 38.331493984817087 ], [ -122.503685993632715, 38.331738012237025 ], [ -122.504143987491531, 38.33213501263176 ], [ -122.504403009273759, 38.332532015470285 ], [ -122.504495005036276, 38.33308099332838 ], [ -122.504418010450337, 38.333393986541523 ], [ -122.504173999954261, 38.333791010504385 ], [ -122.503990983965295, 38.334111018419584 ], [ -122.503578990920403, 38.334569008465422 ], [ -122.503136992770195, 38.33490400682102 ], [ -122.502983984867896, 38.335011013275953 ], [ -122.502800998495644, 38.335332005092809 ], [ -122.502618014101955, 38.335743999763118 ], [ -122.502511002476226, 38.33611801413236 ], [ -122.502591986139819, 38.336413017727189 ], [ -122.502602998528985, 38.33684199373134 ], [ -122.502815977488723, 38.337254012746115 ], [ -122.503166977910865, 38.337620991393059 ], [ -122.503533011778728, 38.337888017198168 ], [ -122.503944989218397, 38.338070992310243 ], [ -122.50455601913599, 38.338192988335749 ], [ -122.505074996786504, 38.338291991564482 ], [ -122.505516996788813, 38.338306987317416 ], [ -122.505817011890045, 38.3383389853186 ], [ -122.506096978282969, 38.338368011364331 ], [ -122.506630979663768, 38.338558989418893 ], [ -122.506758992668537, 38.338657994339911 ], [ -122.506936005206981, 38.338795014566934 ], [ -122.507088985607254, 38.339107990220398 ], [ -122.507210980457756, 38.339481985324085 ], [ -122.507391994449193, 38.339913012739785 ], [ -122.507545987294776, 38.339878983272769 ], [ -122.507713997343942, 38.339840999156458 ], [ -122.507928012923855, 38.339841017262927 ], [ -122.508248019794635, 38.33987900726131 ], [ -122.50839198713048, 38.339912984546224 ], [ -122.508644983614715, 38.339885987032687 ], [ -122.508827993064699, 38.33986401171093 ], [ -122.509210001297532, 38.33974901444585 ], [ -122.50980499215801, 38.33953499659512 ], [ -122.509920990185506, 38.33948098515544 ], [ -122.51087899296752, 38.339177017529721 ], [ -122.511309007099143, 38.339040985415785 ], [ -122.51199200018857, 38.338812994947084 ], [ -122.512292011272052, 38.338712995425681 ], [ -122.512692010122763, 38.338612988210592 ], [ -122.512991988745753, 38.339912991595128 ], [ -122.513188998679922, 38.3405839938439 ], [ -122.513585984036922, 38.34193199417642 ], [ -122.513759982654747, 38.34252298608159 ], [ -122.513992016190699, 38.343313016800678 ], [ -122.514053011665496, 38.3434699990421 ], [ -122.514244984600694, 38.343961014015008 ], [ -122.514259992037665, 38.344089994248293 ], [ -122.514306018886401, 38.344273000706131 ], [ -122.514291989258751, 38.344513000559381 ], [ -122.514292002755241, 38.345013006924219 ], [ -122.514290985981631, 38.345760987851151 ], [ -122.514306015099791, 38.345860009298228 ], [ -122.514321019982106, 38.346042992818255 ], [ -122.514336990797517, 38.346241998272262 ], [ -122.514366999245524, 38.346393993751505 ], [ -122.514443020316079, 38.346630986824593 ], [ -122.514520019305309, 38.346822007122299 ], [ -122.514656999353633, 38.34702799101656 ], [ -122.51481002032547, 38.347194999592908 ], [ -122.515792015809893, 38.348013016265455 ], [ -122.516136985133613, 38.347751992481555 ], [ -122.516197988106526, 38.347599985761242 ], [ -122.516273979668, 38.347325001942885 ], [ -122.516441999096884, 38.346668994589642 ], [ -122.516487978542543, 38.346524001791309 ], [ -122.516625011158865, 38.346326014666445 ], [ -122.516892008964348, 38.346213017918622 ], [ -122.517393015373457, 38.346612994745868 ], [ -122.518992997015602, 38.345512992753271 ], [ -122.518853980468577, 38.345235012745889 ], [ -122.518793010081396, 38.345112990970136 ], [ -122.518762981391021, 38.344982999159804 ], [ -122.518808006916842, 38.344907001868521 ], [ -122.51889298040372, 38.344813003051932 ], [ -122.520257988043184, 38.345882996675108 ], [ -122.52051698462634, 38.346196001043495 ], [ -122.520806997626764, 38.34652398778212 ], [ -122.521066991628274, 38.346821997969883 ], [ -122.521235005265453, 38.347104001374035 ], [ -122.521293007109591, 38.347413014803585 ], [ -122.521066978424955, 38.347272014085014 ], [ -122.520914004493704, 38.347211013883395 ], [ -122.520793002209814, 38.347012988311704 ], [ -122.520093009979135, 38.347512983394772 ], [ -122.519792983108232, 38.347713017910323 ], [ -122.520992980691886, 38.348713009573899 ], [ -122.521592994894377, 38.349412996208216 ], [ -122.520392997324251, 38.350213004289138 ], [ -122.519692994779149, 38.349613004635394 ], [ -122.518493000492896, 38.348612999841471 ], [ -122.517993012182856, 38.34891299821026 ], [ -122.517291998749883, 38.34941300732401 ], [ -122.519190012941209, 38.351169998589413 ], [ -122.519393013589422, 38.351312985522341 ], [ -122.519433994267999, 38.351491005305839 ], [ -122.519648014462717, 38.351772988086623 ], [ -122.519815981894681, 38.351941001790472 ], [ -122.519968017532861, 38.352070999862732 ], [ -122.520104994554245, 38.352139011855137 ], [ -122.520334006983774, 38.352215990042936 ], [ -122.520685011265542, 38.352254002559604 ], [ -122.520989986124235, 38.352269013655921 ], [ -122.521392989449254, 38.352313009957456 ], [ -122.521738000367051, 38.352338004497092 ], [ -122.522043014026423, 38.352422013320613 ], [ -122.522347993290467, 38.352559003588716 ], [ -122.522637998332655, 38.352688996868999 ], [ -122.522792985717587, 38.352813018574416 ], [ -122.52303499887671, 38.352932993566746 ], [ -122.523278995942192, 38.353145985714519 ], [ -122.523593008894125, 38.353412983500142 ], [ -122.523790013507366, 38.353600014141001 ], [ -122.523859017649542, 38.353664999742435 ], [ -122.524102995405215, 38.35390900501055 ], [ -122.524268000217845, 38.354128996937611 ], [ -122.524408019981863, 38.354313999899091 ], [ -122.524592985998765, 38.354613000198299 ], [ -122.524775020738275, 38.354450988953133 ], [ -122.524896994799875, 38.354366993082749 ], [ -122.525049015418674, 38.354214012886914 ], [ -122.525125998428152, 38.354145993269924 ], [ -122.525308979789287, 38.354091991594998 ], [ -122.525537982364312, 38.354138015062013 ], [ -122.525674985614231, 38.354175991442361 ], [ -122.525934019129423, 38.354175982864973 ], [ -122.526194016425094, 38.354130986600609 ], [ -122.526423007890131, 38.354069001708908 ], [ -122.526636003825487, 38.353978013915594 ], [ -122.527001978590832, 38.353902006253584 ], [ -122.527262011600655, 38.353810010104354 ], [ -122.527492996392127, 38.353612987698661 ], [ -122.528635011674254, 38.352437009801271 ], [ -122.528802988409865, 38.352337986500999 ], [ -122.529046993627048, 38.352200015603252 ], [ -122.529382996390083, 38.352063011930966 ], [ -122.52973401850997, 38.351933002762614 ], [ -122.530191997926153, 38.351758007634196 ], [ -122.530450998506367, 38.35165100320269 ], [ -122.530756007686477, 38.351529009286153 ], [ -122.531137989341971, 38.351353002205038 ], [ -122.531503988727991, 38.351201009727305 ], [ -122.531884983771164, 38.351017990605115 ], [ -122.532342989624638, 38.350864989789166 ], [ -122.533193005925312, 38.350712985134102 ], [ -122.533472010157141, 38.350713004170146 ], [ -122.533792985565796, 38.350735016062309 ], [ -122.53406701457385, 38.350758002285126 ], [ -122.53444901963941, 38.350758005773301 ], [ -122.535241986246362, 38.350697009186142 ], [ -122.535928994734746, 38.350727999134364 ], [ -122.536326007172903, 38.350674017352674 ], [ -122.53713397804043, 38.35054501744527 ], [ -122.537515985835697, 38.350446016549128 ], [ -122.537622983091097, 38.350415001093232 ], [ -122.537760021851412, 38.350383998353479 ], [ -122.53798900341026, 38.350284991055823 ], [ -122.538125978685201, 38.350277996948485 ], [ -122.538493015284246, 38.350213011621669 ], [ -122.538691003944322, 38.350002987507622 ], [ -122.538797000683601, 38.3499039875893 ], [ -122.538981006878785, 38.349811983108928 ], [ -122.539178999046598, 38.349727989466956 ], [ -122.539362003196999, 38.349666995411894 ], [ -122.539575998753008, 38.349582993551905 ], [ -122.539850020232905, 38.349522004030632 ], [ -122.540383980283849, 38.349498997495161 ], [ -122.540751007548764, 38.349385000686276 ], [ -122.540856990030889, 38.349315992876043 ], [ -122.541101988952832, 38.349072000545974 ], [ -122.541376020460788, 38.348774997981053 ], [ -122.542093000038165, 38.347913006685587 ], [ -122.54227599283152, 38.347874010683306 ], [ -122.542565995835005, 38.347737000687701 ], [ -122.54285600617817, 38.347683987435467 ], [ -122.543222991524615, 38.347539002882847 ], [ -122.543635007203889, 38.347363001427865 ], [ -122.544001014933528, 38.347295002411975 ], [ -122.544229994546058, 38.347278994551012 ], [ -122.544687020236211, 38.347089012187332 ], [ -122.545054008894482, 38.346920998276076 ], [ -122.545419981645495, 38.346714993830524 ], [ -122.545693980090647, 38.346554996004024 ], [ -122.546137016043559, 38.346349006197116 ], [ -122.546395996847721, 38.346180992415384 ], [ -122.546746987828342, 38.345982001896559 ], [ -122.547113979207438, 38.345775996045937 ], [ -122.547509983927952, 38.345554998343147 ], [ -122.547906983647579, 38.345302988127592 ], [ -122.548411007270303, 38.345006010387536 ], [ -122.549372019983579, 38.344562999733967 ], [ -122.549616003532392, 38.344418015157778 ], [ -122.549936014752646, 38.344295993464584 ], [ -122.550271981646361, 38.344166991221485 ], [ -122.550654014360887, 38.344128005962105 ], [ -122.551157992914312, 38.34406699070955 ], [ -122.551630985118734, 38.34402898405628 ], [ -122.551981996276908, 38.344112985367367 ], [ -122.552440015188338, 38.344219995257298 ], [ -122.552851987656922, 38.344356997893144 ], [ -122.553172012219704, 38.344471998105647 ], [ -122.554057017811175, 38.344762000542438 ], [ -122.554514980703189, 38.34494500824659 ], [ -122.554682979753935, 38.345081992672327 ], [ -122.554834985151842, 38.345181001090168 ], [ -122.555156010824405, 38.345264984682998 ], [ -122.55541498094712, 38.345219004229605 ], [ -122.555582985197262, 38.345157998292564 ], [ -122.555782010128127, 38.345089998355029 ], [ -122.555994993949753, 38.344998006380045 ], [ -122.556117005493661, 38.344914013121411 ], [ -122.556269986709836, 38.344846014075372 ], [ -122.55658998456623, 38.344754003447939 ], [ -122.556789021652236, 38.34464699544656 ], [ -122.556972008295844, 38.344532991215218 ], [ -122.557184996755296, 38.344403011612542 ], [ -122.557338003500632, 38.344234995765561 ], [ -122.557581994912198, 38.343961005935824 ], [ -122.557689002612335, 38.343792992084559 ], [ -122.557840980361902, 38.343610009836141 ], [ -122.558040014403232, 38.343281986863744 ], [ -122.558101019631351, 38.343144004548328 ], [ -122.558313988047743, 38.342847013403542 ], [ -122.558528018169866, 38.342418995299447 ], [ -122.558726001227853, 38.342160002839044 ], [ -122.559061986853436, 38.341832000429598 ], [ -122.559275993405848, 38.341686988515583 ], [ -122.559534983544069, 38.341458006785452 ], [ -122.559656980616538, 38.341167993872972 ], [ -122.559702981678811, 38.340915997843204 ], [ -122.559694018966994, 38.340713011111369 ], [ -122.559566012175878, 38.340283002122241 ], [ -122.559276011725856, 38.34002400551018 ], [ -122.558993991675422, 38.339812986517984 ], [ -122.562941979434441, 38.339121003969069 ], [ -122.563059985067525, 38.33899400390257 ], [ -122.563547990222048, 38.338413998552866 ], [ -122.563793988763507, 38.337812989488256 ], [ -122.566023997014597, 38.336767983171868 ], [ -122.567694010722107, 38.336012997191688 ], [ -122.568446016437235, 38.3356899854505 ], [ -122.569224009937372, 38.335354989208561 ], [ -122.569864983781216, 38.334705990143533 ], [ -122.569994999630509, 38.334230010587412 ], [ -122.570047998209034, 38.334034996491987 ], [ -122.570154988353792, 38.333332990404315 ], [ -122.570003011519077, 38.332775992405679 ], [ -122.569499021609545, 38.332325991307684 ], [ -122.569194018523532, 38.332162015706778 ], [ -122.568889017024816, 38.331998004112528 ], [ -122.568294003482123, 38.331712983102797 ], [ -122.567790004180068, 38.331403017751214 ], [ -122.56734798530681, 38.330974992050926 ], [ -122.566829009993498, 38.330472011878889 ], [ -122.566706999910906, 38.330029006393616 ], [ -122.566675984326324, 38.329540993688838 ], [ -122.566693996150448, 38.329113009610495 ], [ -122.566594005015915, 38.32891299582743 ], [ -122.566569019073128, 38.328800988609451 ], [ -122.566675989081403, 38.328586988900859 ], [ -122.566793982590596, 38.328412986834564 ], [ -122.567632990269985, 38.32813201830556 ], [ -122.568094983848866, 38.327978011336768 ], [ -122.568355013050393, 38.327801995927047 ], [ -122.568812982256702, 38.3274289996859 ], [ -122.569254988117507, 38.327253017464841 ], [ -122.56978900239568, 38.327169008269188 ], [ -122.570384012183098, 38.327191995162501 ], [ -122.57320698382, 38.327528013440229 ], [ -122.573494020998083, 38.327614005942863 ], [ -122.57426002182946, 38.326009987538647 ], [ -122.57453498826554, 38.324910986830609 ], [ -122.574640978798087, 38.323789017719569 ], [ -122.574657003912847, 38.322775011031922 ], [ -122.574350977823357, 38.32210300912471 ], [ -122.573954999260252, 38.321630007415209 ], [ -122.573650006260664, 38.32075301160927 ], [ -122.573451018033197, 38.319502000680039 ], [ -122.57355799958664, 38.318586016663886 ], [ -122.573558000511113, 38.317556003359137 ], [ -122.573344008289595, 38.316853986583375 ], [ -122.572672990246858, 38.316220995848973 ], [ -122.571634997525052, 38.315664005915423 ], [ -122.570506001699869, 38.31506900475874 ], [ -122.569147997244571, 38.314236999825873 ], [ -122.567989004180319, 38.313230006483316 ], [ -122.567607001047861, 38.312863985651134 ], [ -122.567193986685041, 38.312514008017288 ], [ -122.567134016494833, 38.312161987864435 ], [ -122.567134002731507, 38.31179600150783 ], [ -122.56722598181446, 38.311476014854577 ], [ -122.567409005579577, 38.310850014029739 ], [ -122.56756099231292, 38.309965004219521 ], [ -122.56766800908656, 38.309339004219495 ], [ -122.567760008528367, 38.308706013418373 ], [ -122.567836004055877, 38.308141999645173 ], [ -122.567866020183672, 38.307668996194842 ], [ -122.567653004420279, 38.306967006845007 ], [ -122.567348006786602, 38.306249011779741 ], [ -122.567012005236236, 38.305464012728351 ], [ -122.5667529788835, 38.304860987752832 ], [ -122.566599979581241, 38.304181995204793 ], [ -122.566356013886733, 38.303571983965455 ], [ -122.566219003118462, 38.303044992874284 ], [ -122.565974016616124, 38.302435012168161 ], [ -122.565822003020102, 38.301855017309016 ], [ -122.565363979496794, 38.30119101719562 ], [ -122.564890991960027, 38.300558010190464 ], [ -122.564310980174923, 38.299909008149726 ], [ -122.563762019916908, 38.299290993104847 ], [ -122.56315101517076, 38.298665985133717 ], [ -122.562678021546162, 38.298025012750159 ], [ -122.562433982982398, 38.297369015339925 ], [ -122.562159981615125, 38.296681995880022 ], [ -122.561916012112974, 38.295912004957586 ], [ -122.561686996041772, 38.295568010062951 ], [ -122.560816988030695, 38.29498099318954 ], [ -122.559764015810359, 38.294447005649445 ], [ -122.558954991511357, 38.293973985116942 ], [ -122.55829900433713, 38.29356201684368 ], [ -122.557994009048343, 38.293213996875963 ], [ -122.557689018750878, 38.292402014215803 ], [ -122.557581981572795, 38.291814995703277 ], [ -122.557613000069296, 38.291319008847644 ], [ -122.557674005400557, 38.290746987352016 ], [ -122.557964020317186, 38.290190016332183 ], [ -122.558390992769233, 38.289586984384179 ], [ -122.558863987418633, 38.288876996081576 ], [ -122.559383022254451, 38.288122996830737 ], [ -122.560114987205807, 38.287565989342127 ], [ -122.561031021584711, 38.286917993091819 ], [ -122.562037990471296, 38.286216008251159 ], [ -122.562678013651791, 38.285841987239884 ], [ -122.562794011759493, 38.285715013817871 ], [ -122.563013989789724, 38.285521010639528 ], [ -122.563060012279834, 38.285383989388365 ], [ -122.562861997629923, 38.285163011250766 ], [ -122.562480005515454, 38.284980001582149 ], [ -122.561763007209152, 38.284681993459309 ], [ -122.561305014587759, 38.284430011706391 ], [ -122.560938985451799, 38.284186011768867 ], [ -122.560649002513713, 38.283797005718185 ], [ -122.560297983882975, 38.283308985829592 ], [ -122.559917000591895, 38.282820993287835 ], [ -122.559565983823802, 38.282385989435447 ], [ -122.559076987899203, 38.282064986948981 ], [ -122.558649997427807, 38.281889998351978 ], [ -122.558070019996407, 38.281615013970985 ], [ -122.557536004492718, 38.281317985892365 ], [ -122.556972001384324, 38.280943990277045 ], [ -122.556315998260814, 38.280584993323771 ], [ -122.555797016387118, 38.280066013267096 ], [ -122.555263014873319, 38.279609004657154 ], [ -122.554728999024817, 38.279075000832698 ], [ -122.554056990873178, 38.278548003961923 ], [ -122.553462020603945, 38.278051994949834 ], [ -122.552561992743264, 38.277510990087464 ], [ -122.551981981578777, 38.27709100236374 ], [ -122.551386980466461, 38.276625998011944 ], [ -122.550960012400495, 38.276267001568911 ], [ -122.550471021071573, 38.275450984581227 ], [ -122.550136002171541, 38.274992989578664 ], [ -122.549693019736637, 38.274488989164631 ], [ -122.549174017677345, 38.27415399457329 ], [ -122.548412020136283, 38.273763988228112 ], [ -122.547556981339241, 38.273436000996696 ], [ -122.546840004251337, 38.273177014044578 ], [ -122.546335995101032, 38.272826011418218 ], [ -122.54610701513937, 38.272643011736669 ], [ -122.54593997876816, 38.271979002459595 ], [ -122.545756015463297, 38.271322989237191 ], [ -122.545603978105319, 38.270925995057297 ], [ -122.544962980648179, 38.270583010630176 ], [ -122.544367982500333, 38.270369015521908 ], [ -122.543863999741532, 38.270133016223191 ], [ -122.543513010820135, 38.269904017323753 ], [ -122.543071021591075, 38.269439002390769 ], [ -122.54247598707525, 38.268919983498485 ], [ -122.541789001459705, 38.268439010926741 ], [ -122.540949981721539, 38.267935999933421 ], [ -122.540247984514792, 38.267516004642964 ], [ -122.539649008488865, 38.267238002937482 ], [ -122.539408980432512, 38.26712701090927 ], [ -122.538661011347742, 38.266791000251466 ], [ -122.53795902055252, 38.266402006671427 ], [ -122.537334007450497, 38.266035984297218 ], [ -122.536676990302794, 38.265662016763457 ], [ -122.536080983365125, 38.265357006486873 ], [ -122.535638990037356, 38.265220001467625 ], [ -122.535180999664917, 38.265036003451797 ], [ -122.534861013150262, 38.264868991397442 ], [ -122.534417980034746, 38.264434004421055 ], [ -122.534020999792531, 38.26414399590125 ], [ -122.533654996280575, 38.263548989297611 ], [ -122.533532996576866, 38.263075985774634 ], [ -122.53301400619506, 38.262602987115173 ], [ -122.532220999121293, 38.262373989875762 ], [ -122.530984979447013, 38.26213001565597 ], [ -122.52985597977009, 38.26183998692855 ], [ -122.528544011652258, 38.261625994028257 ], [ -122.527307977855557, 38.261518998083886 ], [ -122.526133020192191, 38.261489017418988 ], [ -122.525263003778505, 38.261428011478387 ], [ -122.524774995972692, 38.261329011784682 ], [ -122.524256017189956, 38.260947014046351 ], [ -122.523432020443806, 38.260328994923185 ], [ -122.522806017939331, 38.259832985393757 ], [ -122.522043016176937, 38.259367993288635 ], [ -122.520959992589866, 38.259016985957452 ], [ -122.520013998337916, 38.25873500252743 ], [ -122.519022014174453, 38.258169987649751 ], [ -122.518411990419736, 38.25774298631142 ], [ -122.517992992563322, 38.257414987964751 ], [ -122.517328018465193, 38.256644015549206 ], [ -122.516749009852674, 38.255744015663417 ], [ -122.516168989522498, 38.254790004463445 ], [ -122.515618980773638, 38.253782990086059 ], [ -122.515009013484686, 38.25273798564934 ], [ -122.51441398309521, 38.251685013005748 ], [ -122.51392598526796, 38.250571012918869 ], [ -122.51339298401723, 38.249915015047414 ], [ -122.51288798177184, 38.249586993619737 ], [ -122.512033986099439, 38.249236009280402 ], [ -122.511285984893902, 38.249090986039121 ], [ -122.51026399412163, 38.248816000475763 ], [ -122.509454994238993, 38.248594985393503 ], [ -122.508524006323739, 38.248458015971046 ], [ -122.50741002021995, 38.248237011759976 ], [ -122.506815002792138, 38.248121998107969 ], [ -122.506402999209357, 38.248076013507209 ], [ -122.505319998660156, 38.24738200189757 ], [ -122.504709002713611, 38.247221988843151 ], [ -122.503656014133696, 38.247062005206587 ], [ -122.502693977658538, 38.247077013595352 ], [ -122.501779007759126, 38.247030992693986 ], [ -122.501290013480514, 38.247069014090229 ], [ -122.501091995946041, 38.247015013154069 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1321, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.496891999406671, 38.308614000672783 ], [ -122.497492000295708, 38.309614001071346 ], [ -122.497791999586028, 38.310314001056483 ], [ -122.497818000266463, 38.310363000722802 ], [ -122.498891999979676, 38.312414000745576 ], [ -122.499391999394319, 38.314013000337511 ], [ -122.500291999720361, 38.31651300065807 ], [ -122.50109200038915, 38.318213001140151 ], [ -122.5011510004732, 38.318346001013431 ], [ -122.501377999763889, 38.318857001044066 ], [ -122.501892000097797, 38.320013001068141 ], [ -122.50199199975836, 38.32041300078366 ], [ -122.50109199997344, 38.320713000412582 ], [ -122.501029000231298, 38.320735000973642 ], [ -122.499692000153729, 38.321213000613341 ], [ -122.498792000480265, 38.321513000526572 ], [ -122.495591999608521, 38.322613000814613 ], [ -122.494792000407244, 38.32291300064982 ], [ -122.494484999712157, 38.322385000471215 ], [ -122.494073000524423, 38.321767001043526 ], [ -122.493034999594315, 38.320744000251189 ], [ -122.492134999953095, 38.319546000659045 ], [ -122.491829999780649, 38.31802100066222 ], [ -122.491585999632505, 38.317784000515957 ], [ -122.490318999541827, 38.316968000473601 ], [ -122.489816000039767, 38.316449000735595 ], [ -122.4898310002758, 38.31592300094934 ], [ -122.489691999601433, 38.315213000556426 ], [ -122.489007000182468, 38.314832000597988 ], [ -122.488735999766931, 38.314670000914319 ], [ -122.488319999794697, 38.314420000802123 ], [ -122.487695000530806, 38.313855000452406 ], [ -122.487391999967286, 38.313513000551019 ], [ -122.487007999474869, 38.313092000399699 ], [ -122.486839999803408, 38.312703000659603 ], [ -122.486891999627687, 38.312514000658098 ], [ -122.486791999553276, 38.31211400039335 ], [ -122.486793999785405, 38.312054000509562 ], [ -122.486809999525562, 38.311498000375039 ], [ -122.486687999697892, 38.311086001110972 ], [ -122.48645899953577, 38.310842000909211 ], [ -122.486137999493181, 38.310407000735026 ], [ -122.485909999602612, 38.30996500095295 ], [ -122.485863000102199, 38.309892000497342 ], [ -122.485756999587423, 38.30972800064329 ], [ -122.485760000174409, 38.309703000953121 ], [ -122.485786999832087, 38.309431000755104 ], [ -122.485832999740012, 38.309004000384277 ], [ -122.48593999960184, 38.308477000512056 ], [ -122.48594000023904, 38.308217000790187 ], [ -122.485940000402067, 38.30818700050996 ], [ -122.485864000253699, 38.307981000386931 ], [ -122.485527999719977, 38.307852000763027 ], [ -122.485116000371789, 38.307722000598403 ], [ -122.484812999642116, 38.307644000416317 ], [ -122.484612999590283, 38.307592000238301 ], [ -122.484200999675494, 38.307562000505193 ], [ -122.483911000136871, 38.307287000313671 ], [ -122.483696999892047, 38.306982001093509 ], [ -122.483560000205713, 38.306707001024677 ], [ -122.483468000058664, 38.30654700087382 ], [ -122.483459999871187, 38.306411000934446 ], [ -122.483438000260932, 38.306066000780277 ], [ -122.483453000255494, 38.305624000554076 ], [ -122.483560000315563, 38.305334001118133 ], [ -122.48365099990815, 38.305059000680238 ], [ -122.48363599941591, 38.30476900029079 ], [ -122.483482999952926, 38.304449000361423 ], [ -122.48346799971381, 38.304251000659043 ], [ -122.483514000004831, 38.303976000389966 ], [ -122.483621000524366, 38.303541000255159 ], [ -122.483681999915873, 38.303198001053239 ], [ -122.483681999879437, 38.302915000702946 ], [ -122.483692000038346, 38.302714000851424 ], [ -122.483692000351454, 38.302414000485129 ], [ -122.483742999637215, 38.302069000586876 ], [ -122.483804000148538, 38.301733001128426 ], [ -122.483892000122964, 38.301314000397788 ], [ -122.483986999654164, 38.300863000460929 ], [ -122.484077999783167, 38.300443000633152 ], [ -122.484124000220845, 38.300192000731869 ], [ -122.484138999909106, 38.299871000718518 ], [ -122.483940999904405, 38.29947500033893 ], [ -122.483590000045055, 38.299238000761164 ], [ -122.483147999948883, 38.299070000663633 ], [ -122.482766000114211, 38.299047000972124 ], [ -122.482537000053654, 38.298979000424005 ], [ -122.482307999493614, 38.29876500109193 ], [ -122.482110000482891, 38.298445000576805 ], [ -122.481790000181974, 38.298040000658006 ], [ -122.481499999495938, 38.297643001134638 ], [ -122.481195000479815, 38.297346000540188 ], [ -122.480706000485611, 38.297087001002112 ], [ -122.480141999684733, 38.297033001008629 ], [ -122.47965199976025, 38.297094000687594 ], [ -122.479149000391644, 38.29723200074794 ], [ -122.478676000079616, 38.297430001036517 ], [ -122.478249000189521, 38.297628000325588 ], [ -122.47780600049667, 38.297712000755254 ], [ -122.477455000146279, 38.297605000457409 ], [ -122.477225999794371, 38.297346000631222 ], [ -122.477134999460105, 38.29704100090472 ], [ -122.47702799960507, 38.296751001131781 ], [ -122.476904000307044, 38.296564000665398 ], [ -122.476845000505151, 38.296476000481711 ], [ -122.476555000362282, 38.296102000871031 ], [ -122.476371999531082, 38.295790001025964 ], [ -122.476294999981377, 38.295614001066099 ], [ -122.47639099956227, 38.295514000384522 ], [ -122.476479000438417, 38.295164000780659 ], [ -122.476707000149844, 38.294798000558693 ], [ -122.476813999971213, 38.29441600050081 ], [ -122.476921000165234, 38.294004000877372 ], [ -122.476990999429432, 38.293914001011821 ], [ -122.477089000192464, 38.293920000305576 ], [ -122.477408999930404, 38.294027000611372 ], [ -122.477790999651447, 38.294314000523926 ], [ -122.47889099983955, 38.293914000793507 ], [ -122.479492000110312, 38.293714000724314 ], [ -122.47994699999596, 38.293577001138743 ], [ -122.480185999506702, 38.293506001137352 ], [ -122.480492000067301, 38.29341400025649 ], [ -122.480657000149662, 38.293354001014002 ], [ -122.48159200048255, 38.293014000295855 ], [ -122.482258999743721, 38.292792000846283 ], [ -122.483210999516743, 38.292474000971197 ], [ -122.483607000285929, 38.292342000342884 ], [ -122.484591999443538, 38.292014000950445 ], [ -122.484892000082965, 38.291914000653293 ], [ -122.486530000482034, 38.291329000315649 ], [ -122.487691999415304, 38.290914000398089 ], [ -122.487954000212454, 38.290899000371773 ], [ -122.488292000458003, 38.290914000892492 ], [ -122.48824399984008, 38.291258000886373 ], [ -122.488229000424781, 38.291632000975376 ], [ -122.488304999498297, 38.292082000919898 ], [ -122.488405999751322, 38.292272000311293 ], [ -122.4885190003871, 38.292486000491728 ], [ -122.488830000125006, 38.293066000337596 ], [ -122.489391999499887, 38.294114001005212 ], [ -122.489892000049821, 38.295014000424388 ], [ -122.490391999537451, 38.296014000565862 ], [ -122.490992000104185, 38.296914000448879 ], [ -122.491492000005536, 38.297914001063226 ], [ -122.492091999551477, 38.299014000940446 ], [ -122.492560999907681, 38.299764000336793 ], [ -122.492592000160869, 38.299814000697161 ], [ -122.492691999892187, 38.300114000298422 ], [ -122.492991999679433, 38.300614000473743 ], [ -122.493522000103653, 38.301741001125322 ], [ -122.493792000057169, 38.302314000355089 ], [ -122.494791999443734, 38.30451400041251 ], [ -122.495392000351444, 38.305614000483303 ], [ -122.495892000362034, 38.306514000911378 ], [ -122.496091999710245, 38.306914000851769 ], [ -122.496392000519421, 38.307514000991745 ], [ -122.496492000354422, 38.307714000554924 ], [ -122.496593000045038, 38.307967000511674 ], [ -122.496692000246952, 38.308214000386485 ], [ -122.496891999406671, 38.308614000672783 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1318, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.627695000210394, 38.392012000684765 ], [ -122.62720899984491, 38.392963000672147 ], [ -122.626689999444011, 38.393619000844147 ], [ -122.626385000011638, 38.394176000926358 ], [ -122.626094999781571, 38.394612000885949 ], [ -122.624694999455201, 38.396312000449853 ], [ -122.623895000045962, 38.397512000456061 ], [ -122.622394999682868, 38.399412000806628 ], [ -122.620695000147663, 38.399112000984907 ], [ -122.614995000121283, 38.39791200105239 ], [ -122.612395999677275, 38.397402000897131 ], [ -122.610104000205851, 38.396953000654925 ], [ -122.609951000185859, 38.396900000739571 ], [ -122.60986000035463, 38.396785000905936 ], [ -122.609194999656324, 38.395812000504151 ], [ -122.608393000009883, 38.394574000396254 ], [ -122.608120000528842, 38.394153000290515 ], [ -122.60802899964375, 38.394047000420954 ], [ -122.607782999390551, 38.393831000301006 ], [ -122.6069110003492, 38.393068000990631 ], [ -122.606181999635552, 38.392429001098463 ], [ -122.605846999896102, 38.392116000934529 ], [ -122.605600000050472, 38.391856000441607 ], [ -122.605190000035435, 38.391422000814508 ], [ -122.604328999876927, 38.390470000728847 ], [ -122.602389000115579, 38.388326000991746 ], [ -122.601193000462189, 38.387005001138277 ], [ -122.601095000316491, 38.386912000999153 ], [ -122.600825999826313, 38.386730000295636 ], [ -122.600627999533145, 38.386608001138441 ], [ -122.600413999606801, 38.386425000836283 ], [ -122.600276999752765, 38.386280000637214 ], [ -122.600047999491338, 38.386059000608519 ], [ -122.599880000382115, 38.385868001065298 ], [ -122.599697000009826, 38.385654000343266 ], [ -122.599590000317491, 38.385463000473102 ], [ -122.599423000399668, 38.385318000426778 ], [ -122.599331000392795, 38.385227001093369 ], [ -122.599208999944025, 38.385166000959849 ], [ -122.599101999615272, 38.385113000807657 ], [ -122.5989500000329, 38.385105000727556 ], [ -122.598812000324003, 38.385097000597725 ], [ -122.598674999975628, 38.385105000481694 ], [ -122.598537999783986, 38.385143001105682 ], [ -122.598294999525592, 38.385212001038596 ], [ -122.597804999625126, 38.385364000625387 ], [ -122.597682999940901, 38.385357000345913 ], [ -122.597546000162694, 38.385334000356316 ], [ -122.597210000010122, 38.385196000663178 ], [ -122.596553999402985, 38.384922000998948 ], [ -122.596233999687215, 38.384784000399044 ], [ -122.596065999587594, 38.384739001133205 ], [ -122.595897999808528, 38.384716000545126 ], [ -122.595698999763727, 38.384723000951375 ], [ -122.595516000044952, 38.384754000891107 ], [ -122.595333000191502, 38.384830000540269 ], [ -122.595164999392253, 38.38491400050993 ], [ -122.594891000362367, 38.385059001135055 ], [ -122.5946469998688, 38.385273000833095 ], [ -122.594402000448241, 38.385502001058939 ], [ -122.594295999733674, 38.38570800046412 ], [ -122.594194999531041, 38.385812001064032 ], [ -122.593761999833788, 38.386326000456549 ], [ -122.593440999773321, 38.386631000509382 ], [ -122.593089000268549, 38.386928000934248 ], [ -122.592676999881135, 38.387188001098629 ], [ -122.592464000149647, 38.387333000621652 ], [ -122.592113000457132, 38.387584000309126 ], [ -122.591837999540772, 38.387676000882955 ], [ -122.591562999444605, 38.387783000801093 ], [ -122.591476999533569, 38.387786000514168 ], [ -122.591365000522615, 38.387790000920774 ], [ -122.590712000474866, 38.387767000954625 ], [ -122.590099000451914, 38.387745000599232 ], [ -122.589686999557799, 38.387714000862552 ], [ -122.589458000047557, 38.387706001012184 ], [ -122.589137000304447, 38.387661000245856 ], [ -122.588144999804996, 38.387462000244561 ], [ -122.587840000316959, 38.387417000772025 ], [ -122.587519999565814, 38.387409000687008 ], [ -122.587137999828869, 38.387394000572122 ], [ -122.586756999652536, 38.38743900088722 ], [ -122.58639099986668, 38.387516000412518 ], [ -122.585901999863353, 38.387592001095577 ], [ -122.585474999527378, 38.387699000326649 ], [ -122.585123999417561, 38.387783000975318 ], [ -122.582164000332497, 38.388485000587025 ], [ -122.581935000161423, 38.388485000626147 ], [ -122.581706000333085, 38.388508000373811 ], [ -122.581461999398172, 38.38852300091839 ], [ -122.581095999644106, 38.388477000955959 ], [ -122.580791000381296, 38.388431000816247 ], [ -122.579293999649465, 38.388112000837218 ], [ -122.578257999954474, 38.387905000666272 ], [ -122.577921999772798, 38.387844000508473 ], [ -122.5777079995447, 38.38782900035563 ], [ -122.575831999585603, 38.387920001121188 ], [ -122.575480999477932, 38.387951000687423 ], [ -122.575236000417235, 38.387996000845803 ], [ -122.574961999709259, 38.388111000696462 ], [ -122.574626000272161, 38.38830900032459 ], [ -122.57435099947682, 38.388378001115704 ], [ -122.574061999752359, 38.388416000544495 ], [ -122.573802000040914, 38.388416000929283 ], [ -122.573527000201025, 38.388393000992004 ], [ -122.573359999955642, 38.38835500060992 ], [ -122.573238000084544, 38.388302000722497 ], [ -122.573009000398685, 38.388118001053485 ], [ -122.572550999695125, 38.387851000591574 ], [ -122.572199999700146, 38.387737000430313 ], [ -122.571910000136995, 38.387623000296934 ], [ -122.571605000284279, 38.387523001028384 ], [ -122.571329999728334, 38.387424001081072 ], [ -122.57123899958421, 38.387386000696281 ], [ -122.571116999454475, 38.3872950002674 ], [ -122.570704999449234, 38.387035000264241 ], [ -122.570521000346204, 38.386966000854081 ], [ -122.570292999941088, 38.386913000630997 ], [ -122.569942000373629, 38.386867001019418 ], [ -122.569667000324429, 38.386852000316942 ], [ -122.569366000329453, 38.386843000245342 ], [ -122.565515000121707, 38.386725000730344 ], [ -122.565093999776323, 38.386712000347885 ], [ -122.564753999584113, 38.3867150003571 ], [ -122.564654000498322, 38.386728000498998 ], [ -122.564525000406746, 38.38674500060673 ], [ -122.564371999405864, 38.38682100106719 ], [ -122.564188999765406, 38.386905000824406 ], [ -122.564051999742176, 38.386944001099714 ], [ -122.56395999962632, 38.386997000599003 ], [ -122.563808000148668, 38.387050000290053 ], [ -122.563715999864911, 38.387066000729277 ], [ -122.563547999685198, 38.387050000469486 ], [ -122.563395999852048, 38.387027000272091 ], [ -122.563089999904321, 38.386966000864632 ], [ -122.562758000270932, 38.386867000891087 ], [ -122.562372999703214, 38.386753000418018 ], [ -122.562068000382013, 38.386669001030413 ], [ -122.561930999472949, 38.386608000765413 ], [ -122.561823999568858, 38.38652400058298 ], [ -122.561671000082896, 38.386348000750644 ], [ -122.561580000358461, 38.386142001030706 ], [ -122.561472999733496, 38.385998000599066 ], [ -122.561093999712313, 38.385712000744952 ], [ -122.561033999671665, 38.385675000717754 ], [ -122.56076399975899, 38.385510000754039 ], [ -122.560511999932899, 38.385357000764991 ], [ -122.560193999788623, 38.385112000763286 ], [ -122.55953500035956, 38.384418000648715 ], [ -122.559290999535392, 38.384243000340966 ], [ -122.55895500024333, 38.384067000950608 ], [ -122.558528000402006, 38.383861000428944 ], [ -122.558114999487046, 38.383724001121251 ], [ -122.557627000517101, 38.383564001101171 ], [ -122.556909999748314, 38.383381000541441 ], [ -122.556558999460009, 38.383281000951541 ], [ -122.5563150002383, 38.383205000298055 ], [ -122.555963999755917, 38.382992000657993 ], [ -122.555612999508284, 38.382740000361451 ], [ -122.555216000167832, 38.382381000506292 ], [ -122.554987000451703, 38.38215200077429 ], [ -122.554773000455, 38.381992000363056 ], [ -122.554544999977239, 38.381916000906806 ], [ -122.554208999718526, 38.381763000669139 ], [ -122.55309899950646, 38.381283000676298 ], [ -122.552393000000166, 38.380977000824252 ], [ -122.551993000047304, 38.380812000583404 ], [ -122.551919999652753, 38.381160000888094 ], [ -122.551904999771395, 38.381351000541947 ], [ -122.551873999859382, 38.381618000606714 ], [ -122.551905000301446, 38.381847000484228 ], [ -122.551889999591083, 38.381939000561225 ], [ -122.551904999626743, 38.382137001117812 ], [ -122.551890000276501, 38.382267000437942 ], [ -122.551904999810915, 38.382389000696328 ], [ -122.55192000041751, 38.38251900112671 ], [ -122.551950999959018, 38.382648001057994 ], [ -122.551965999964381, 38.382839000869943 ], [ -122.552026999483687, 38.382969000428574 ], [ -122.552134000044731, 38.383320000981804 ], [ -122.552164000077269, 38.383396000507858 ], [ -122.552255999900183, 38.38358700058798 ], [ -122.552331999951676, 38.383732000470843 ], [ -122.552392999534931, 38.383899000498602 ], [ -122.552591000230024, 38.384395000852898 ], [ -122.552590999455418, 38.384594001128427 ], [ -122.552546000282746, 38.384723000977395 ], [ -122.552468999732028, 38.384899000962676 ], [ -122.552407999511857, 38.384990000820785 ], [ -122.552240000083643, 38.385158000868536 ], [ -122.55198100007253, 38.385334000960562 ], [ -122.551675999777046, 38.385502001029913 ], [ -122.551447000268567, 38.38566900057485 ], [ -122.551279000338113, 38.385807001065295 ], [ -122.551203000486055, 38.385868000586974 ], [ -122.551034999882475, 38.386028000502336 ], [ -122.550927999819336, 38.386196000617232 ], [ -122.55085200017119, 38.386402000563407 ], [ -122.550806000032438, 38.386776000840698 ], [ -122.550820999887051, 38.387470000817125 ], [ -122.550836999707883, 38.387768000452809 ], [ -122.550898000312387, 38.387920000275855 ], [ -122.551049999994035, 38.388134000433155 ], [ -122.551110999983791, 38.38829400029946 ], [ -122.551614999741446, 38.388653000376479 ], [ -122.551950999844493, 38.388958001124564 ], [ -122.552102999838439, 38.389103000398869 ], [ -122.552285999801569, 38.389385000242839 ], [ -122.552423999740085, 38.389728000342608 ], [ -122.552468999546733, 38.389927001014421 ], [ -122.552408000049354, 38.390064001044067 ], [ -122.552349000130135, 38.39039000066704 ], [ -122.552210000453385, 38.391163000722152 ], [ -122.552088000085675, 38.39143000060443 ], [ -122.551995999609645, 38.39157500104065 ], [ -122.551859000460652, 38.391788000615449 ], [ -122.551614999653921, 38.392330000500444 ], [ -122.551370999558117, 38.392635000656391 ], [ -122.551171999953127, 38.393039000725167 ], [ -122.551094999425814, 38.393218000604193 ], [ -122.551003999597938, 38.393429000605501 ], [ -122.550989000400008, 38.393627000435536 ], [ -122.550958999656743, 38.393848000580846 ], [ -122.551049999961819, 38.394115000298761 ], [ -122.55118800047434, 38.394428000777673 ], [ -122.551293999737254, 38.394603000496886 ], [ -122.551325000452181, 38.39469500063727 ], [ -122.551347000071971, 38.394818000827534 ], [ -122.551370999905544, 38.394947000897368 ], [ -122.551416000384535, 38.395054000468569 ], [ -122.551630000161254, 38.395260000629349 ], [ -122.551752000381001, 38.395359000619507 ], [ -122.551992999781433, 38.395512000606772 ], [ -122.55210299944568, 38.396076000610385 ], [ -122.552316999547529, 38.396747000630256 ], [ -122.552393000086639, 38.397190001135293 ], [ -122.552437000467421, 38.39733300030062 ], [ -122.552453999488236, 38.397388001026336 ], [ -122.552438999904695, 38.397526001126984 ], [ -122.552439000209219, 38.397640000363197 ], [ -122.552439000454555, 38.397960001019463 ], [ -122.552546000117147, 38.398220000326297 ], [ -122.552692999982753, 38.398512000474206 ], [ -122.552729000459408, 38.398678000609436 ], [ -122.552819999568484, 38.398884000429561 ], [ -122.552880999990563, 38.39910400068873 ], [ -122.552881000043669, 38.399302001016146 ], [ -122.552865999546214, 38.399707000810899 ], [ -122.552941999628217, 38.400065001086709 ], [ -122.552972999635827, 38.400370000945465 ], [ -122.553093000291923, 38.400711000607544 ], [ -122.553400000404508, 38.401225000279219 ], [ -122.553536999945734, 38.401744000558644 ], [ -122.553614000433271, 38.402224000690438 ], [ -122.553583000011429, 38.402522000477376 ], [ -122.553491999507315, 38.402850000467538 ], [ -122.553384999498576, 38.403117000599025 ], [ -122.553278000087644, 38.40333800046789 ], [ -122.553141000445493, 38.40357500060162 ], [ -122.552911999761818, 38.403826000721345 ], [ -122.552607000455424, 38.40401700078727 ], [ -122.552347000119255, 38.404162000542804 ], [ -122.552041999906606, 38.404292000846439 ], [ -122.551721999984537, 38.404475000591631 ], [ -122.551507999390324, 38.404643000522697 ], [ -122.551293999808493, 38.404902000882878 ], [ -122.551192999451843, 38.405211000749425 ], [ -122.551202999697324, 38.405360001001029 ], [ -122.5516759994578, 38.405612001012564 ], [ -122.552591000327695, 38.406069000856426 ], [ -122.552649999968253, 38.406099000601351 ], [ -122.553431000220058, 38.406489001076103 ], [ -122.553812000126328, 38.406817000552131 ], [ -122.554026000314522, 38.407000000465615 ], [ -122.554086999498992, 38.407168000259702 ], [ -122.554162999947877, 38.407313000242645 ], [ -122.554162999466769, 38.407435000332462 ], [ -122.553979999756208, 38.408000000482716 ], [ -122.55391899963648, 38.408427001106695 ], [ -122.553843000021544, 38.408686000272233 ], [ -122.553721000283133, 38.40894600032474 ], [ -122.553582999567496, 38.409083001069021 ], [ -122.553536999950055, 38.409213000880008 ], [ -122.553567999901404, 38.409465001135814 ], [ -122.553662000219745, 38.410085000602244 ], [ -122.553675000406358, 38.410174000580383 ], [ -122.553766000131205, 38.410578001060109 ], [ -122.553792999529904, 38.410911000282582 ], [ -122.553674999703375, 38.411585000907806 ], [ -122.55362899956873, 38.412020000685338 ], [ -122.553693000015755, 38.412311000606337 ], [ -122.55378200011593, 38.412615001135308 ], [ -122.554254999681731, 38.413233000391017 ], [ -122.554789000014168, 38.413974000833612 ], [ -122.555109000365846, 38.414469000728985 ], [ -122.555393000342136, 38.414911000298538 ], [ -122.555703999403775, 38.415202000285881 ], [ -122.55603999969658, 38.415423000874902 ], [ -122.556314999449938, 38.415583000328432 ], [ -122.5567420004204, 38.415812001033245 ], [ -122.557061999867884, 38.415957000484958 ], [ -122.557351999869852, 38.416079001087333 ], [ -122.558175999456452, 38.416278000390918 ], [ -122.558592999906082, 38.416411001075154 ], [ -122.558892999677497, 38.416514000864353 ], [ -122.559213999663626, 38.416682000937548 ], [ -122.559458000242003, 38.416796000726293 ], [ -122.55980899996419, 38.416957000406661 ], [ -122.560114000514588, 38.417063000691904 ], [ -122.560296999922059, 38.417178000822709 ], [ -122.56054100043221, 38.417292001057902 ], [ -122.560662999545769, 38.417376000620578 ], [ -122.56078500041771, 38.417529001043725 ], [ -122.560830999675545, 38.417605000242311 ], [ -122.560967999416675, 38.417758000798862 ], [ -122.561091000191439, 38.41792600093617 ], [ -122.561242999740102, 38.418124000258508 ], [ -122.561349999432181, 38.418276000340768 ], [ -122.561518000052175, 38.418589000723323 ], [ -122.561715999983591, 38.418811000658309 ], [ -122.561898999557158, 38.418933000744687 ], [ -122.56197500050574, 38.41897400102016 ], [ -122.562081999992387, 38.419032000525753 ], [ -122.562356999558205, 38.419116000346882 ], [ -122.56263199993424, 38.419207001099792 ], [ -122.562860999471084, 38.419261000400212 ], [ -122.563180999864855, 38.41935200098083 ], [ -122.563470999983451, 38.419398001009604 ], [ -122.563607999689395, 38.419459001073221 ], [ -122.563851999553222, 38.419528001017042 ], [ -122.564112000318929, 38.41962700027829 ], [ -122.5644169997815, 38.419734000519512 ], [ -122.564523999397565, 38.419894000510077 ], [ -122.564631000043079, 38.420077000422872 ], [ -122.564693000342928, 38.420211000523352 ], [ -122.564722000123865, 38.420428001086968 ], [ -122.564752999790358, 38.420550000723551 ], [ -122.564736999661477, 38.420664000513625 ], [ -122.564737000327668, 38.420779000600632 ], [ -122.564752999574438, 38.420916000285906 ], [ -122.564706999729239, 38.4210080007336 ], [ -122.564676000008575, 38.421191000713279 ], [ -122.564523999730426, 38.421366000705284 ], [ -122.564324999796384, 38.42161800077676 ], [ -122.564187999754765, 38.421717000398253 ], [ -122.563912999810938, 38.421870000268463 ], [ -122.563516999401287, 38.422000000385488 ], [ -122.563212000522341, 38.422198000985453 ], [ -122.563074000120096, 38.422320000977436 ], [ -122.562966999868877, 38.42246500106554 ], [ -122.562707999497604, 38.422846000334204 ], [ -122.562571000438226, 38.422991000755069 ], [ -122.562388000375392, 38.423182000488602 ], [ -122.56215900038093, 38.423365000991225 ], [ -122.561730999461631, 38.423548000496098 ], [ -122.561503000316534, 38.423655000963592 ], [ -122.561350000168773, 38.423739000547997 ], [ -122.561045000349267, 38.423892000271636 ], [ -122.560891999485463, 38.423968000934067 ], [ -122.560754999807855, 38.424052001106574 ], [ -122.56060199941615, 38.424090000603755 ], [ -122.560449999386876, 38.424082000947699 ], [ -122.560267000147135, 38.42404400037136 ], [ -122.560068000487462, 38.42406000084739 ], [ -122.559793999836174, 38.424174000776475 ], [ -122.559692999455194, 38.424311000401843 ], [ -122.559580000525017, 38.424372001045533 ], [ -122.559503999922811, 38.424533001076256 ], [ -122.559457999831153, 38.424861000574531 ], [ -122.559579999515918, 38.4249830010613 ], [ -122.559641000077235, 38.425074001019254 ], [ -122.559641000145021, 38.425227000875218 ], [ -122.559580000472735, 38.425349000293942 ], [ -122.559580000504923, 38.425608000547307 ], [ -122.559670999994154, 38.425929000500581 ], [ -122.559748000425799, 38.426150000866429 ], [ -122.559748000172064, 38.42634800032431 ], [ -122.55991599948463, 38.426547000291301 ], [ -122.560021999687464, 38.426654000711771 ], [ -122.560052999933475, 38.426860000396772 ], [ -122.559976999547843, 38.427218000643478 ], [ -122.559946000196987, 38.427333000438253 ], [ -122.559869999505892, 38.427531001029749 ], [ -122.559792999813752, 38.427711000487086 ], [ -122.55968699944296, 38.427821000566034 ], [ -122.559609999587536, 38.427966001090461 ], [ -122.559580000044448, 38.428096000796465 ], [ -122.55965600035131, 38.428256000251473 ], [ -122.559763000132051, 38.428431000629182 ], [ -122.559793999728996, 38.428515000644985 ], [ -122.5597779999285, 38.428660000578539 ], [ -122.55960999967553, 38.428866000589416 ], [ -122.559397000460592, 38.429049000617916 ], [ -122.559121999850106, 38.429301000359892 ], [ -122.558892999659719, 38.429484000535837 ], [ -122.558694999906919, 38.429660000988086 ], [ -122.558497000417006, 38.429804000661299 ], [ -122.558313000200044, 38.429927000315551 ], [ -122.558207000357484, 38.430033000301208 ], [ -122.557962999899644, 38.43022400076201 ], [ -122.55788599953668, 38.430354001114452 ], [ -122.557718000058799, 38.430613000742618 ], [ -122.557595999687209, 38.430728000609392 ], [ -122.557427999793433, 38.430751000674185 ], [ -122.557291000088682, 38.430766000350395 ], [ -122.55716899985417, 38.430857000345981 ], [ -122.557092999403139, 38.43093400063325 ], [ -122.557062000403391, 38.431101000728958 ], [ -122.556848999758529, 38.431445000315648 ], [ -122.556666000154451, 38.431727001095489 ], [ -122.55651299970036, 38.431895000269577 ], [ -122.556344999411408, 38.432055000922496 ], [ -122.556009000481311, 38.43228400108265 ], [ -122.555693000125288, 38.432411000626423 ], [ -122.554606000215216, 38.433001000664959 ], [ -122.554392000235211, 38.433123000445718 ], [ -122.554193999895375, 38.433177000788952 ], [ -122.554026000118114, 38.433238000274969 ], [ -122.55378200043836, 38.433314001093336 ], [ -122.55359799979027, 38.433345000602657 ], [ -122.553431000108631, 38.433383000378718 ], [ -122.553192999859263, 38.433411000580378 ], [ -122.551592999454371, 38.433611000896221 ], [ -122.551263999533219, 38.433840000603212 ], [ -122.550790999888207, 38.434214000271531 ], [ -122.550408999884908, 38.43458000100275 ], [ -122.550012999390873, 38.43492400026593 ], [ -122.549659999807346, 38.435121001061532 ], [ -122.549493999639338, 38.435214000292831 ], [ -122.549296000345151, 38.435350000329898 ], [ -122.549204000514763, 38.435465000360217 ], [ -122.548959999450062, 38.435716001018399 ], [ -122.54860900017168, 38.435999000381806 ], [ -122.548365000297764, 38.436121000554202 ], [ -122.548059999970206, 38.436258000927175 ], [ -122.547906999947642, 38.43640300044158 ], [ -122.54777000047271, 38.436449000700748 ], [ -122.547677999543666, 38.436525000261533 ], [ -122.547555999433825, 38.436609000276214 ], [ -122.547393000205119, 38.436710000968127 ], [ -122.54725099971381, 38.43680000030902 ], [ -122.54717499971926, 38.436868000811842 ], [ -122.547021999618863, 38.436983000362133 ], [ -122.546824000444204, 38.437105000271472 ], [ -122.54665599956563, 38.437235000645053 ], [ -122.546492999919664, 38.437410000731298 ], [ -122.545800999405643, 38.438379000877056 ], [ -122.544581000406737, 38.438730000787977 ], [ -122.543893999534532, 38.439600000330536 ], [ -122.543511999538111, 38.440187000346008 ], [ -122.543024000136626, 38.440591000321568 ], [ -122.542916999736306, 38.441118000463248 ], [ -122.542582000031771, 38.442285000939023 ], [ -122.541407000098289, 38.442583001077423 ], [ -122.540566999444337, 38.442339000388507 ], [ -122.540247000492471, 38.441980000630807 ], [ -122.538793000034502, 38.441910001094392 ], [ -122.537394000036173, 38.441446000999107 ], [ -122.534997999785972, 38.44194900031016 ], [ -122.533471000530184, 38.442728000576132 ], [ -122.532791999571472, 38.443010000668181 ], [ -122.531991999750446, 38.442910000463762 ], [ -122.531303999469557, 38.442934000321976 ], [ -122.530892000254426, 38.442810000849335 ], [ -122.530525999885839, 38.442651000808887 ], [ -122.529885000329472, 38.442674000956814 ], [ -122.529183000290999, 38.442270001107339 ], [ -122.528222000515896, 38.441812000927754 ], [ -122.526834000317635, 38.441316000856332 ], [ -122.525888000215531, 38.440790000356458 ], [ -122.523323999780587, 38.439867000459984 ], [ -122.522744000008274, 38.438379000661719 ], [ -122.521629999388239, 38.437944000705279 ], [ -122.517938000285923, 38.437715000993144 ], [ -122.517266000424883, 38.437616000930092 ], [ -122.516792000397999, 38.437410000387956 ], [ -122.516592000382204, 38.437210000579626 ], [ -122.516441999630288, 38.437036000452515 ], [ -122.516183000137886, 38.436914000872598 ], [ -122.515891999419992, 38.436910000728339 ], [ -122.515634000115185, 38.436899000456592 ], [ -122.515527000153511, 38.436960000274937 ], [ -122.515191999924767, 38.437310000395023 ], [ -122.514992000271292, 38.437410000718891 ], [ -122.514992000504975, 38.437710000854572 ], [ -122.514549999867981, 38.437639000475805 ], [ -122.514192000252663, 38.437410000501664 ], [ -122.513939999583727, 38.4372880006608 ], [ -122.513390999647939, 38.437196000715012 ], [ -122.513223000197286, 38.437151000999961 ], [ -122.513070000508364, 38.4370970007555 ], [ -122.512947999767562, 38.437006000896233 ], [ -122.512886999466076, 38.436639000473733 ], [ -122.512826000065516, 38.436556000896758 ], [ -122.51271900007437, 38.436464000625783 ], [ -122.512628000473143, 38.43642600094006 ], [ -122.511787999701312, 38.436342000426393 ], [ -122.51159000001897, 38.43632700100315 ], [ -122.511482999599579, 38.436319000982628 ], [ -122.511376000350609, 38.436311000869296 ], [ -122.511223999554716, 38.436266001014758 ], [ -122.511117000394009, 38.436144000530909 ], [ -122.511055999807127, 38.435945000992781 ], [ -122.510780999454894, 38.435594000486113 ], [ -122.51069200028391, 38.435410000835368 ], [ -122.510522000222636, 38.435373000699705 ], [ -122.510414999982956, 38.435335000948747 ], [ -122.510292999917212, 38.435312000429022 ], [ -122.510186000418955, 38.435327000952249 ], [ -122.509895999919806, 38.435434000927238 ], [ -122.509743999723668, 38.435472001094404 ], [ -122.509560999896962, 38.435487000279203 ], [ -122.509439000032927, 38.435487000592161 ], [ -122.50933199990223, 38.435457000844664 ], [ -122.509240000378568, 38.435426000390251 ], [ -122.509148999422848, 38.435411000619702 ], [ -122.509027000136868, 38.435449000253143 ], [ -122.508874000013577, 38.435564000348911 ], [ -122.508766999654583, 38.43567000069131 ], [ -122.508630000297742, 38.435709000458907 ], [ -122.508462000464291, 38.435762001086957 ], [ -122.508324999696754, 38.435777001126908 ], [ -122.50779199954188, 38.435910000759378 ], [ -122.507592000523857, 38.435899001099955 ], [ -122.507347999623477, 38.435945000924264 ], [ -122.507257000089666, 38.435922000504377 ], [ -122.507149999622399, 38.435884000480343 ], [ -122.507028000278154, 38.435869000259231 ], [ -122.506890000450142, 38.435876000637521 ], [ -122.506768000335029, 38.435930000786492 ], [ -122.506692000126492, 38.435999000534451 ], [ -122.506508999737619, 38.436273000586915 ], [ -122.506433000299722, 38.4363110010665 ], [ -122.504692999786769, 38.436433000621349 ], [ -122.504510000032198, 38.436479000915305 ], [ -122.50438800027321, 38.436525000291404 ], [ -122.504327000320245, 38.436594000651759 ], [ -122.504192000217216, 38.436810000501616 ], [ -122.503533000061864, 38.436777000645698 ], [ -122.502740000077466, 38.436769000493598 ], [ -122.502160000373607, 38.436830000421672 ], [ -122.501717999692218, 38.436914000294216 ], [ -122.501397000067698, 38.436998000635981 ], [ -122.501184000501425, 38.437067000450369 ], [ -122.501091999601698, 38.436501000878181 ], [ -122.500100000218779, 38.436490000446646 ], [ -122.499821000441557, 38.436786000802705 ], [ -122.49989600036885, 38.437308000850571 ], [ -122.499929999746101, 38.437566000627129 ], [ -122.498930999605449, 38.438754000346741 ], [ -122.498745999880882, 38.439174000587442 ], [ -122.498520999799666, 38.439620000584029 ], [ -122.497937999955113, 38.440088001041794 ], [ -122.497364999838354, 38.440260000664949 ], [ -122.496920000462481, 38.440604000406154 ], [ -122.496728000276306, 38.440905000654112 ], [ -122.496728000262365, 38.441190000613631 ], [ -122.49644700035094, 38.442981000638447 ], [ -122.496379000236985, 38.44340000081052 ], [ -122.495989000160918, 38.443788000596278 ], [ -122.496063999703537, 38.443944000635227 ], [ -122.496610999887196, 38.444266000687563 ], [ -122.496843000310065, 38.444487000543674 ], [ -122.496992999977337, 38.444680000510296 ], [ -122.496993000011742, 38.444890000396761 ], [ -122.496473000302984, 38.446735000249852 ], [ -122.495802999489797, 38.448278000556151 ], [ -122.495343999401925, 38.45099900105054 ], [ -122.495091000067831, 38.452661000374732 ], [ -122.495275999457334, 38.4535430010068 ], [ -122.49547999969792, 38.453914000264085 ], [ -122.496846000302014, 38.455634000553118 ], [ -122.493691000238215, 38.456510000250063 ], [ -122.492691000064497, 38.455810000310123 ], [ -122.492091000186349, 38.454510000878983 ], [ -122.488391000293618, 38.454310000359548 ], [ -122.487990999809227, 38.453910000269119 ], [ -122.485391000295522, 38.452910000488707 ], [ -122.482990999764908, 38.452710000681627 ], [ -122.479954999861604, 38.448726000356679 ], [ -122.4800029997823, 38.443030001071001 ], [ -122.483042999760855, 38.440390000584536 ], [ -122.484195000075431, 38.438006000453079 ], [ -122.485507000064032, 38.437478000841843 ], [ -122.4862749999632, 38.435622000869877 ], [ -122.486739000060425, 38.433462000902423 ], [ -122.487107000077685, 38.431718000843269 ], [ -122.488138999928822, 38.432366000719249 ], [ -122.491391000389669, 38.434410000756849 ], [ -122.493271000126455, 38.432195000872042 ], [ -122.494190999452385, 38.431110000847667 ], [ -122.493490999683246, 38.429210000251025 ], [ -122.49632400005197, 38.426070001074869 ], [ -122.496544999428579, 38.425798001098599 ], [ -122.497591999500713, 38.424510001137413 ], [ -122.497475000302899, 38.424306000249828 ], [ -122.497192000139108, 38.423811000699025 ], [ -122.495492000003381, 38.423511000920954 ], [ -122.475590999703641, 38.409111000487627 ], [ -122.475391000250511, 38.406511001125033 ], [ -122.472390999407097, 38.405511000558377 ], [ -122.471575999771247, 38.40523900103419 ], [ -122.470590999499805, 38.404911000516016 ], [ -122.470791000295804, 38.402811000950031 ], [ -122.468738999442422, 38.400647000243467 ], [ -122.468091000304639, 38.400011000725613 ], [ -122.470191000285823, 38.397511000412251 ], [ -122.468515000322583, 38.394871000481629 ], [ -122.465890999743948, 38.3904110003675 ], [ -122.460491000362225, 38.388111000587742 ], [ -122.459538000488479, 38.387495000583584 ], [ -122.45399000041084, 38.383912000864811 ], [ -122.454290000236355, 38.382812000507137 ], [ -122.453521999488132, 38.382392000809062 ], [ -122.453570000096448, 38.382040000983281 ], [ -122.453554000208442, 38.381736001083908 ], [ -122.453170000035328, 38.381144000346531 ], [ -122.452866000405535, 38.380664000662954 ], [ -122.452673999585514, 38.380200000699368 ], [ -122.452498000067493, 38.379976000252817 ], [ -122.452497999497851, 38.379754000426679 ], [ -122.452498000443498, 38.379528000975689 ], [ -122.45284999939868, 38.379080000319036 ], [ -122.453442000111991, 38.37893600049501 ], [ -122.454274000408759, 38.378808000618669 ], [ -122.454499999444877, 38.378974000444657 ], [ -122.454754000046734, 38.379160001119871 ], [ -122.455217999604073, 38.379416001009361 ], [ -122.455523000350851, 38.37920800095668 ], [ -122.455875000347433, 38.378888000755957 ], [ -122.456643000502169, 38.379048000618027 ], [ -122.457410999958711, 38.379480000554388 ], [ -122.458114999704122, 38.379752000360178 ], [ -122.458435000369434, 38.379672000471487 ], [ -122.458722999956777, 38.379512000958719 ], [ -122.458819000176817, 38.379336001059713 ], [ -122.458866999867553, 38.378904000894984 ], [ -122.458754999989424, 38.378376001079481 ], [ -122.458947000059766, 38.377496000898454 ], [ -122.4593309994778, 38.377320000914047 ], [ -122.459651000503683, 38.377192000323888 ], [ -122.459874999442874, 38.376936001132314 ], [ -122.45997100052027, 38.37664800074073 ], [ -122.460002999957027, 38.376328000454819 ], [ -122.460051000064311, 38.376200000960829 ], [ -122.460002999522715, 38.376008000552616 ], [ -122.459906999772585, 38.375864000734772 ], [ -122.460018999498402, 38.375704000742573 ], [ -122.460322999806621, 38.375304000356202 ], [ -122.46049900052833, 38.374912000642283 ], [ -122.460206999559887, 38.374912000266654 ], [ -122.460425999588693, 38.374805000426932 ], [ -122.460593999961063, 38.374668000840842 ], [ -122.460732000204914, 38.374561000820179 ], [ -122.460890999748841, 38.374412001067249 ], [ -122.460502999593089, 38.373684000664369 ], [ -122.460390999643863, 38.373612001089704 ], [ -122.46039600023127, 38.373417000292093 ], [ -122.460243000458618, 38.37289800065772 ], [ -122.460213000484273, 38.372562000915437 ], [ -122.460212999700232, 38.370197000964055 ], [ -122.460390999622945, 38.369612000540606 ], [ -122.460533000260838, 38.368984000770254 ], [ -122.460670000358022, 38.368137001027804 ], [ -122.460929999394267, 38.367565001080308 ], [ -122.461876000345967, 38.366649000378416 ], [ -122.461997999956722, 38.366253000800064 ], [ -122.462593000065581, 38.365597000252009 ], [ -122.463356000094905, 38.364727001102331 ], [ -122.464026999698007, 38.364040000773251 ], [ -122.465126000337705, 38.363300000287374 ], [ -122.466559999823701, 38.362522000639153 ], [ -122.467338999699905, 38.36204900047511 ], [ -122.467536999556188, 38.361881000290801 ], [ -122.467812000180928, 38.360584000300975 ], [ -122.467873000390071, 38.3599350009302 ], [ -122.468178000146878, 38.359340000460826 ], [ -122.468330000072669, 38.358898000503075 ], [ -122.468239000327699, 38.358318000504134 ], [ -122.468254000083334, 38.357990000679528 ], [ -122.468528999655248, 38.357517000766762 ], [ -122.469154000281321, 38.356083000919632 ], [ -122.469582000033427, 38.355480000488903 ], [ -122.469855999530509, 38.354931000375686 ], [ -122.469993999450423, 38.35460300101343 ], [ -122.469887000267448, 38.354099000261861 ], [ -122.469871999406678, 38.353740000931076 ], [ -122.47026799973078, 38.352405001011732 ], [ -122.470176999480245, 38.351780000892511 ], [ -122.470207000118521, 38.351093000443747 ], [ -122.470299000084452, 38.350338000321322 ], [ -122.470421000116403, 38.349834001132585 ], [ -122.470497000345176, 38.349347000293463 ], [ -122.47038999977373, 38.348828000429876 ], [ -122.470633999796448, 38.348019000561649 ], [ -122.470832999495357, 38.347516000796823 ], [ -122.471213999628006, 38.347195000702804 ], [ -122.471596000488276, 38.346890000645551 ], [ -122.471840000526868, 38.346478000517095 ], [ -122.472023000335682, 38.346066000985019 ], [ -122.472374000023194, 38.34581400052901 ], [ -122.472847000435792, 38.345586001068675 ], [ -122.473075999885992, 38.345380001102406 ], [ -122.4731369995893, 38.344991000554003 ], [ -122.472999999994727, 38.344655001027107 ], [ -122.472800999426653, 38.344311000876431 ], [ -122.472663999600329, 38.343968001085464 ], [ -122.472541999726303, 38.343655001081608 ], [ -122.472690999464547, 38.343213000465525 ], [ -122.473258999782956, 38.342702000823046 ], [ -122.473884999501323, 38.34245000038689 ], [ -122.47423599993499, 38.342297000401885 ], [ -122.474448999397296, 38.342007000758009 ], [ -122.474769999914813, 38.34177900054366 ], [ -122.475136000394301, 38.341695000895136 ], [ -122.47556300000609, 38.341809000672647 ], [ -122.476051000065141, 38.341901000298165 ], [ -122.476463000447637, 38.341801000635989 ], [ -122.476906000145178, 38.341504000332968 ], [ -122.477089000357395, 38.341313000768288 ], [ -122.479300999937507, 38.340802000706049 ], [ -122.479866000213775, 38.340756000314471 ], [ -122.480186000224705, 38.34088600113661 ], [ -122.48044600010472, 38.341306000370125 ], [ -122.480658999684508, 38.341771001009619 ], [ -122.480781999590647, 38.341962000547269 ], [ -122.481880000234952, 38.342030000624867 ], [ -122.482123999414, 38.342030000551397 ], [ -122.482291999926133, 38.34216800039848 ], [ -122.48265799971071, 38.342473000774248 ], [ -122.483101000184689, 38.34258000061719 ], [ -122.483558999392457, 38.342526000841993 ], [ -122.483925000528316, 38.342267001082561 ], [ -122.48418399977443, 38.342137000993297 ], [ -122.484444999881461, 38.342129000365787 ], [ -122.48482600045476, 38.342206000381857 ], [ -122.48517700029997, 38.342412000936172 ], [ -122.485635000264622, 38.34244200109633 ], [ -122.486016000182289, 38.342297001141233 ], [ -122.486428000277002, 38.341923000951994 ], [ -122.487648999680147, 38.341374000435444 ], [ -122.487862999765639, 38.341107000697235 ], [ -122.488107000360401, 38.340794000292831 ], [ -122.488289999665099, 38.340573001043118 ], [ -122.488670999865477, 38.34039000105679 ], [ -122.489068000207141, 38.340009000955938 ], [ -122.489525999464675, 38.339314000902554 ], [ -122.489724000099486, 38.33915400036895 ], [ -122.490092000385232, 38.339013000409516 ], [ -122.491005999791682, 38.338750000683561 ], [ -122.49189099973961, 38.338475000768085 ], [ -122.492683999735092, 38.338391000259698 ], [ -122.493324999921356, 38.338330000451144 ], [ -122.493692000213585, 38.338313000349103 ], [ -122.493814000363614, 38.338475000341973 ], [ -122.49431700044714, 38.339154001105413 ], [ -122.494813999612475, 38.339825000628515 ], [ -122.494882000237837, 38.339917000864318 ], [ -122.49496100021662, 38.340034000772548 ], [ -122.495491999440603, 38.340813001111627 ], [ -122.497391999680929, 38.343113000338626 ], [ -122.501091999563513, 38.342113000267439 ], [ -122.501747999582534, 38.341870000626535 ], [ -122.501863999850443, 38.341832001020528 ], [ -122.502236000455639, 38.341710000429309 ], [ -122.502491999975206, 38.341613000560727 ], [ -122.502998999684678, 38.341450000974966 ], [ -122.503518000398543, 38.341191000547497 ], [ -122.504192000348468, 38.340913001017306 ], [ -122.504539999869422, 38.340726000353961 ], [ -122.504592000334213, 38.340713000804783 ], [ -122.505059000160827, 38.340466000791125 ], [ -122.505319000471061, 38.34035900073404 ], [ -122.505491999745146, 38.340213000240581 ], [ -122.505775999757191, 38.340153000364005 ], [ -122.506142999598282, 38.340031000476067 ], [ -122.506493999873641, 38.339963000492112 ], [ -122.506691999522801, 38.339913000589476 ], [ -122.507073000150854, 38.339879000494712 ], [ -122.50739199953766, 38.339913000594557 ], [ -122.507546000194267, 38.339879000506627 ], [ -122.50771399940723, 38.339841000742261 ], [ -122.507927999950468, 38.339841000366739 ], [ -122.50824800009751, 38.339879001095419 ], [ -122.508391999750586, 38.339913000821277 ], [ -122.50864500025915, 38.339886000451898 ], [ -122.508827999930517, 38.3398640010939 ], [ -122.509210000100325, 38.339749001091377 ], [ -122.509805000068454, 38.339535000740042 ], [ -122.509920999520347, 38.339481000796994 ], [ -122.510878999447073, 38.339177000489698 ], [ -122.511308999631765, 38.339041000480279 ], [ -122.511991999791334, 38.338813000859773 ], [ -122.512291999934675, 38.338713001067575 ], [ -122.512691999455285, 38.338613000614501 ], [ -122.512992000270543, 38.339913000711611 ], [ -122.513189000209564, 38.340584000384169 ], [ -122.513585999657053, 38.341932000549818 ], [ -122.513759999579278, 38.342523000627772 ], [ -122.513992000349276, 38.343313000681881 ], [ -122.514052999424081, 38.343470000737518 ], [ -122.514244999920848, 38.343961001123297 ], [ -122.514260000150259, 38.344090000365213 ], [ -122.514305999503449, 38.344273000794836 ], [ -122.514292000058248, 38.34451300060411 ], [ -122.514292000220749, 38.345013000886766 ], [ -122.514290999841748, 38.345761000863746 ], [ -122.514305999421154, 38.345860000840602 ], [ -122.514320999973819, 38.346043000790125 ], [ -122.51433700036489, 38.346242000790262 ], [ -122.514367000340982, 38.346394001078529 ], [ -122.514443000194007, 38.346631001104605 ], [ -122.514519999962616, 38.34682200107158 ], [ -122.51465700000459, 38.34702800065115 ], [ -122.514809999862109, 38.347195000691094 ], [ -122.515791999388483, 38.348013001102061 ], [ -122.516136999597734, 38.347752000821274 ], [ -122.516198000381067, 38.347600000682149 ], [ -122.516274000420097, 38.347325000451356 ], [ -122.516441999411811, 38.346669001012231 ], [ -122.516487999576754, 38.346524000864143 ], [ -122.516625000524186, 38.346326000540905 ], [ -122.516892000352797, 38.346213000703465 ], [ -122.517392999528198, 38.346613000538632 ], [ -122.518992999679369, 38.345513000931575 ], [ -122.518854000359951, 38.345235000717238 ], [ -122.518793000505042, 38.345113000619051 ], [ -122.518762999549409, 38.344983000417194 ], [ -122.518807999630326, 38.344907000543103 ], [ -122.518892999517149, 38.344813000482986 ], [ -122.520257999818213, 38.345883000666163 ], [ -122.520516999863048, 38.346196000711515 ], [ -122.520806999615559, 38.346524000745411 ], [ -122.521067000263557, 38.346822000877829 ], [ -122.521234999616638, 38.347104001125665 ], [ -122.521293000478039, 38.347413000863803 ], [ -122.521066999611719, 38.347272000878398 ], [ -122.520913999859658, 38.347211000740316 ], [ -122.52079299969418, 38.347013001031293 ], [ -122.520092999493073, 38.347513000813159 ], [ -122.519792999885837, 38.347713000912002 ], [ -122.520992999774094, 38.348713001033836 ], [ -122.52159299979958, 38.349413000790697 ], [ -122.520393000351731, 38.35021300075293 ], [ -122.519693000315229, 38.349613000320915 ], [ -122.518493000201929, 38.348613000572527 ], [ -122.517992999579263, 38.348913000467853 ], [ -122.517292000438317, 38.349413000797064 ], [ -122.519189999909585, 38.351170000620073 ], [ -122.519393000327597, 38.351313000732524 ], [ -122.519433999518128, 38.351491000990187 ], [ -122.519648000359297, 38.351773000758712 ], [ -122.519815999495989, 38.351941001017643 ], [ -122.519967999928923, 38.352071001029856 ], [ -122.520104999777843, 38.35213900072381 ], [ -122.520333999618856, 38.352216000489584 ], [ -122.520685000478608, 38.352254000431422 ], [ -122.520990000016681, 38.352269000419547 ], [ -122.521393000094321, 38.352313001044955 ], [ -122.521738000032002, 38.352338001059785 ], [ -122.522042999802323, 38.352422000870732 ], [ -122.522348000030391, 38.352559001137777 ], [ -122.522637999736233, 38.352689000986558 ], [ -122.52279300006704, 38.352813001058863 ], [ -122.523034999972396, 38.352933001006342 ], [ -122.523279000348793, 38.353146000940683 ], [ -122.523593000197749, 38.353413000700812 ], [ -122.523790000288557, 38.353600001019508 ], [ -122.523858999686169, 38.353665001134011 ], [ -122.524103000011479, 38.353909000692092 ], [ -122.524267999408536, 38.354129000370257 ], [ -122.524408000374606, 38.354314001058754 ], [ -122.524593000371169, 38.354613001045138 ], [ -122.524774999561501, 38.354451000414294 ], [ -122.524897000255777, 38.354367001046924 ], [ -122.525049000262314, 38.354214000658928 ], [ -122.525126000313449, 38.35414600031838 ], [ -122.525308999615675, 38.354092000687544 ], [ -122.525537999411299, 38.354138000655006 ], [ -122.525675000359129, 38.354176000964877 ], [ -122.525934000489386, 38.354176000250909 ], [ -122.526194000021647, 38.354131001066634 ], [ -122.526423000100365, 38.354069000607225 ], [ -122.526635999622471, 38.35397800026756 ], [ -122.527001999587426, 38.353902000423957 ], [ -122.527261999787584, 38.353810000706474 ], [ -122.527493000315403, 38.353613000388002 ], [ -122.528634999859051, 38.352437000741482 ], [ -122.52880299940324, 38.352338000964821 ], [ -122.52904700037432, 38.352200000929059 ], [ -122.529383000255038, 38.352063000512125 ], [ -122.529733999926677, 38.351933000547653 ], [ -122.530192000329876, 38.351758000940933 ], [ -122.530450999594564, 38.351651000841329 ], [ -122.530756000448179, 38.351529000357559 ], [ -122.531137999866218, 38.351353000726284 ], [ -122.531504000088731, 38.351201000535077 ], [ -122.531884999584065, 38.351018000919723 ], [ -122.532342999781903, 38.350865000869739 ], [ -122.533193000032611, 38.350713000544197 ], [ -122.53347199973706, 38.350713000580086 ], [ -122.533793000468535, 38.35073500102596 ], [ -122.534067000421018, 38.350758000764394 ], [ -122.53444899971781, 38.350758000343156 ], [ -122.535241999459387, 38.350697001071133 ], [ -122.535929000160678, 38.350728000732978 ], [ -122.536325999483566, 38.350674000536877 ], [ -122.537133999606937, 38.350545000463377 ], [ -122.537516000312749, 38.350446000834715 ], [ -122.537622999402998, 38.350415000537957 ], [ -122.537760000022757, 38.350384000351525 ], [ -122.537988999558181, 38.350285000672521 ], [ -122.538125999547503, 38.350278000691908 ], [ -122.538493000117896, 38.350213000747232 ], [ -122.538691000143501, 38.350003000335185 ], [ -122.538796999955565, 38.349904000879569 ], [ -122.538980999901639, 38.349812000542812 ], [ -122.539179000045948, 38.349728001074205 ], [ -122.53936200044798, 38.349667000301544 ], [ -122.539576000065992, 38.34958300082323 ], [ -122.539850000370294, 38.349522000573074 ], [ -122.54038400007461, 38.349499001008667 ], [ -122.540750999753925, 38.349385000430424 ], [ -122.540856999850121, 38.349316001025556 ], [ -122.541101999539194, 38.349072000474749 ], [ -122.541375999558241, 38.348775000659323 ], [ -122.542093000004215, 38.347913000714804 ], [ -122.542276000261552, 38.347874000686126 ], [ -122.54256599948198, 38.347737000814583 ], [ -122.542855999445777, 38.347684000251746 ], [ -122.543222999980287, 38.347539000381076 ], [ -122.543635000197455, 38.347363000949983 ], [ -122.544000999783364, 38.347295000325296 ], [ -122.544229999943667, 38.347279000655305 ], [ -122.544687000210601, 38.347089000562548 ], [ -122.545053999508085, 38.34692100094334 ], [ -122.545419999842892, 38.346715000434976 ], [ -122.545693999801614, 38.346555000755522 ], [ -122.546136999627578, 38.346349000669868 ], [ -122.546396000230175, 38.346181000539531 ], [ -122.546747000423551, 38.345982000762397 ], [ -122.547113999420347, 38.345776000573835 ], [ -122.547509999860395, 38.345555001108302 ], [ -122.547906999660697, 38.345303000919202 ], [ -122.548411000395362, 38.345006000278545 ], [ -122.549371999523828, 38.344563000443912 ], [ -122.54961600047514, 38.344418000670025 ], [ -122.549935999690206, 38.34429600039131 ], [ -122.550272000185487, 38.34416700036121 ], [ -122.550654000019463, 38.344128000387109 ], [ -122.551158000078729, 38.344067000312549 ], [ -122.551631000250751, 38.34402900061793 ], [ -122.551981999403367, 38.344113000305938 ], [ -122.55243999970844, 38.344220000323965 ], [ -122.552851999439753, 38.344357000867085 ], [ -122.553171999471076, 38.344472000986073 ], [ -122.554056999499835, 38.344762000810782 ], [ -122.554515000346484, 38.344945000717082 ], [ -122.554683000376613, 38.345082000411097 ], [ -122.554834999671996, 38.345181000919979 ], [ -122.555155999425864, 38.345265000692933 ], [ -122.555414999778179, 38.345219000865065 ], [ -122.55558300013071, 38.345158000714896 ], [ -122.555782000243454, 38.345090000739631 ], [ -122.555995000136633, 38.344998000489134 ], [ -122.556117000419093, 38.344914000822946 ], [ -122.556269999593823, 38.344846000718327 ], [ -122.556590000104762, 38.344754000465038 ], [ -122.556789000091939, 38.344647000716144 ], [ -122.556971999440862, 38.34453300070102 ], [ -122.557184999826362, 38.344403000584066 ], [ -122.557338000182938, 38.344235000315528 ], [ -122.557581999879261, 38.343961000659824 ], [ -122.55768900041673, 38.34379300030001 ], [ -122.557841000084551, 38.343610000898195 ], [ -122.558040000228033, 38.343282000948371 ], [ -122.558100999699107, 38.343144000924617 ], [ -122.558313999926327, 38.342847000605722 ], [ -122.558527999470414, 38.342419000692765 ], [ -122.558726000170466, 38.342160000300346 ], [ -122.559061999513446, 38.341832000251884 ], [ -122.559276000268667, 38.341687000820663 ], [ -122.559534999459842, 38.341458000423948 ], [ -122.559656999741875, 38.341168000760341 ], [ -122.559702999468797, 38.340916000839002 ], [ -122.559694000506539, 38.340713000734247 ], [ -122.559566000099863, 38.340283000387082 ], [ -122.55927600045365, 38.340024000961662 ], [ -122.558993999885203, 38.339813000743263 ], [ -122.562941999763709, 38.339121000890529 ], [ -122.563059999745704, 38.338994001028261 ], [ -122.563547999718963, 38.338414001010264 ], [ -122.563793999424064, 38.337813000624294 ], [ -122.566024000200713, 38.336768000532366 ], [ -122.567694000333788, 38.336013000364041 ], [ -122.568446000399547, 38.335690000656108 ], [ -122.569223999500167, 38.335355000660925 ], [ -122.56986499973506, 38.334706001129504 ], [ -122.569994999832133, 38.334230000674602 ], [ -122.570048000044011, 38.334035000610584 ], [ -122.570154999519232, 38.333333000865736 ], [ -122.570002999955875, 38.332776000868677 ], [ -122.569499000317833, 38.332326000298174 ], [ -122.569193999520508, 38.332162000484999 ], [ -122.568889000096732, 38.331998000783329 ], [ -122.568293999516442, 38.331713000662241 ], [ -122.567789999702597, 38.331403001061894 ], [ -122.567347999771869, 38.330975000665994 ], [ -122.566829000475622, 38.330472001085276 ], [ -122.566706999872949, 38.330029000760796 ], [ -122.566675999585982, 38.329541000898757 ], [ -122.566694000495119, 38.329113000501557 ], [ -122.567041999999361, 38.329274000471855 ], [ -122.567256000057839, 38.329510000467778 ], [ -122.567271000258245, 38.329785000463154 ], [ -122.567209999920223, 38.330281000702435 ], [ -122.567454000319188, 38.330640000458295 ], [ -122.56779000005038, 38.330884000759752 ], [ -122.568140999561521, 38.331197000560529 ], [ -122.568919000368808, 38.331692000960906 ], [ -122.569031000453748, 38.33174200112974 ], [ -122.56959100015284, 38.331990000529494 ], [ -122.570110000203996, 38.332349000542138 ], [ -122.570293000216125, 38.332768000991798 ], [ -122.570459999982006, 38.332967000255586 ], [ -122.570918000239132, 38.332982000654169 ], [ -122.571468000496409, 38.333470000560176 ], [ -122.571620000418974, 38.333874000843437 ], [ -122.571773000082416, 38.334554000758196 ], [ -122.571864000379065, 38.334897000581627 ], [ -122.572169000247868, 38.334889000375419 ], [ -122.572693999600503, 38.334713000294897 ], [ -122.572977999966412, 38.334622000850317 ], [ -122.573193999561965, 38.3346130006558 ], [ -122.573328999686183, 38.334935000335555 ], [ -122.573527000271127, 38.335393000555072 ], [ -122.573526999715369, 38.336194000700146 ], [ -122.573507000494544, 38.336449001085406 ], [ -122.573465999713235, 38.336972000245034 ], [ -122.573253000301008, 38.337621000317519 ], [ -122.573024000426173, 38.33822300099267 ], [ -122.573039000512694, 38.338788001055626 ], [ -122.573299000119661, 38.339803000974584 ], [ -122.573618999785069, 38.340321000633828 ], [ -122.57468700023874, 38.341443001095115 ], [ -122.575603000141115, 38.342259000797213 ], [ -122.576578999929708, 38.343220000881608 ], [ -122.577356999612448, 38.344075001054151 ], [ -122.578502000369241, 38.345052000467753 ], [ -122.579372000116024, 38.346028000703434 ], [ -122.580240999978059, 38.347028000488386 ], [ -122.580775000112865, 38.34797400064047 ], [ -122.580974000141765, 38.349034000541998 ], [ -122.58095899947817, 38.349591000308358 ], [ -122.581081000110487, 38.349873000483903 ], [ -122.581494000399672, 38.350013000653064 ], [ -122.582011000007583, 38.350156000820689 ], [ -122.58270700030964, 38.350264000291453 ], [ -122.585657999496519, 38.350720000717274 ], [ -122.586054999874918, 38.351002000979911 ], [ -122.586237999430907, 38.351247001083458 ], [ -122.586481999423782, 38.351407001081505 ], [ -122.586772999895018, 38.351384001028926 ], [ -122.587718999549509, 38.351247000323767 ], [ -122.588359999692742, 38.350827000527516 ], [ -122.588679999847315, 38.350384000575453 ], [ -122.589077000264055, 38.35027000069239 ], [ -122.590099999396585, 38.350423000709505 ], [ -122.591137000177042, 38.350491000495772 ], [ -122.591900000407279, 38.350667001142583 ], [ -122.592540999455139, 38.350705000989279 ], [ -122.592831000184503, 38.350659001031147 ], [ -122.593350000205177, 38.350919001027393 ], [ -122.594174000320166, 38.351270001120781 ], [ -122.594798999410855, 38.351468000842758 ], [ -122.595394000119882, 38.351857000590392 ], [ -122.595699000482099, 38.352155000880963 ], [ -122.596523000355134, 38.352299000618352 ], [ -122.596935000176558, 38.35243700084051 ], [ -122.59734700033826, 38.352841000520534 ], [ -122.597591999797999, 38.353398000821215 ], [ -122.598065000183169, 38.353947000735594 ], [ -122.598507000352285, 38.354375000626426 ], [ -122.598629000378665, 38.354901000484148 ], [ -122.598889000415468, 38.355290000471122 ], [ -122.599422999482371, 38.355847000868295 ], [ -122.59952899964442, 38.356244000622617 ], [ -122.599621000212011, 38.356877000813789 ], [ -122.59948400008318, 38.357510000241653 ], [ -122.599526999666338, 38.357920000311424 ], [ -122.599575000209086, 38.35837200030322 ], [ -122.599651999550147, 38.359181000622158 ], [ -122.599758000175555, 38.359616000303113 ], [ -122.60007900034978, 38.359990000952138 ], [ -122.600231000088172, 38.360356000293677 ], [ -122.600383999558943, 38.360753000611325 ], [ -122.600978999591277, 38.361241000503405 ], [ -122.601543999754767, 38.361813000826388 ], [ -122.601665999813221, 38.362317000628167 ], [ -122.601910000095245, 38.362729000708335 ], [ -122.602229999982342, 38.3629730004414 ], [ -122.602749000277029, 38.363141000729364 ], [ -122.603969999734062, 38.3638500005125 ], [ -122.604777999453063, 38.364346001082119 ], [ -122.605969000027557, 38.364857000533853 ], [ -122.606776999568169, 38.365178001088275 ], [ -122.607861000178005, 38.365300000794242 ], [ -122.608684999560936, 38.365445001070569 ], [ -122.60924499947464, 38.365619000761413 ], [ -122.60981400039951, 38.365796000886562 ], [ -122.610438999532292, 38.36584200054677 ], [ -122.61080599983282, 38.36602500082661 ], [ -122.611355000322192, 38.366277000346116 ], [ -122.611720999794201, 38.366330000292592 ], [ -122.61204199968013, 38.366360000449951 ], [ -122.612453000151859, 38.366497000944008 ], [ -122.612682999805557, 38.366574000414978 ], [ -122.61338399979833, 38.366864000698158 ], [ -122.613780999956276, 38.36692500111527 ], [ -122.614436999913934, 38.366933001071807 ], [ -122.615047999662877, 38.367162000352458 ], [ -122.615444000155549, 38.367512000604108 ], [ -122.615594999936789, 38.367813000580838 ], [ -122.615855999805277, 38.367810000560837 ], [ -122.616604000166703, 38.367841000767356 ], [ -122.617443000312633, 38.367619001014873 ], [ -122.617961999774749, 38.367268001006842 ], [ -122.618832000240289, 38.367055000927827 ], [ -122.619930000214993, 38.366978000946339 ], [ -122.620533000002908, 38.367006000528995 ], [ -122.62107499994373, 38.367032001029308 ], [ -122.621899000222626, 38.367169001103107 ], [ -122.622539999897995, 38.367627000909039 ], [ -122.623272000518497, 38.368146000908702 ], [ -122.623547000350072, 38.368611000824181 ], [ -122.623794999388949, 38.368913001016956 ], [ -122.62385200052428, 38.369672000425815 ], [ -122.623795000274086, 38.370213000793221 ], [ -122.623837000067923, 38.370633000789446 ], [ -122.623776000486245, 38.371556000901542 ], [ -122.623805999642471, 38.372258000780825 ], [ -122.623866999626784, 38.373044000763343 ], [ -122.623995000126513, 38.37351300037642 ], [ -122.624004999929227, 38.373715000349144 ], [ -122.624232999968328, 38.374150000655803 ], [ -122.624495000134118, 38.374413001004513 ], [ -122.62467600039696, 38.374669000292307 ], [ -122.624695000026151, 38.37491300096471 ], [ -122.624905000470804, 38.37552300035351 ], [ -122.624980999900998, 38.375737000282655 ], [ -122.624895000439238, 38.376013001011131 ], [ -122.625026999701831, 38.376294000675827 ], [ -122.625194999469954, 38.376584000482161 ], [ -122.625468999673799, 38.377179000488063 ], [ -122.625595999582302, 38.377449001135297 ], [ -122.626095000509949, 38.378513001090809 ], [ -122.626337999832941, 38.378891000757953 ], [ -122.626461999804647, 38.379085000259657 ], [ -122.627041999985963, 38.379513000251549 ], [ -122.627590999671895, 38.380001000818133 ], [ -122.628217000402969, 38.380336001059298 ], [ -122.628495999924624, 38.380512000251983 ], [ -122.628873000050362, 38.380687000480293 ], [ -122.629163000403736, 38.381077000420106 ], [ -122.629361000263629, 38.381817000371242 ], [ -122.629995999640101, 38.383012000741566 ], [ -122.630096000241522, 38.385012001083545 ], [ -122.630491000112301, 38.385792001007026 ], [ -122.63055199983711, 38.386608000381528 ], [ -122.630490999723108, 38.387188000380739 ], [ -122.630395999457392, 38.387412000740277 ], [ -122.630368000029094, 38.387531000466403 ], [ -122.629695999434347, 38.388612000887278 ], [ -122.628796000399205, 38.390212000558343 ], [ -122.628654999489569, 38.390469000773443 ], [ -122.62819499973422, 38.391312000840962 ], [ -122.627695000210394, 38.392012000684765 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1325, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.491400999588805, 38.109958000711849 ], [ -122.492237999854723, 38.110202000744728 ], [ -122.493352000417346, 38.110553000767915 ], [ -122.494481000117531, 38.110744001005763 ], [ -122.495534000154862, 38.110896000770509 ], [ -122.496740000277697, 38.111011000730585 ], [ -122.497884999614925, 38.11112500032317 ], [ -122.499059999976012, 38.111346000353691 ], [ -122.49995999959954, 38.111545000272343 ], [ -122.500555000221027, 38.111781000934364 ], [ -122.50108900015961, 38.112119000652967 ], [ -122.501589000260793, 38.112319000796688 ], [ -122.501898000104688, 38.11242200087208 ], [ -122.502798000020235, 38.112987000612094 ], [ -122.503972999909791, 38.11391700061408 ], [ -122.504843000469023, 38.114680000936062 ], [ -122.505548999866619, 38.115379000786199 ], [ -122.505589000383011, 38.115419000492409 ], [ -122.506033000203857, 38.115825000336905 ], [ -122.506857000474696, 38.116656000766724 ], [ -122.507924999649376, 38.118098001079439 ], [ -122.508839999608369, 38.119792000446267 ], [ -122.509710000112321, 38.121478000485027 ], [ -122.51045800043056, 38.123027000803148 ], [ -122.510899999540939, 38.124415000643822 ], [ -122.511290000512446, 38.124919000268491 ], [ -122.511373999660393, 38.125827000688162 ], [ -122.511512000072855, 38.127147000649728 ], [ -122.511832000490145, 38.128444001128166 ], [ -122.512473000011497, 38.130305000981224 ], [ -122.513143999873947, 38.132235001013115 ], [ -122.514013999908613, 38.133783001131327 ], [ -122.515005999489034, 38.135202000501948 ], [ -122.515290000115201, 38.135618000824195 ], [ -122.515952000483196, 38.136454000780638 ], [ -122.516897999854621, 38.137537000473337 ], [ -122.517920000406122, 38.138643000810383 ], [ -122.519019000000668, 38.139742000916236 ], [ -122.520102000526549, 38.140696000718407 ], [ -122.521094000373466, 38.141512000567992 ], [ -122.522125000293642, 38.142327000645821 ], [ -122.5222229999804, 38.142405000541622 ], [ -122.523964000060516, 38.143511000491472 ], [ -122.526039000308188, 38.144556000594818 ], [ -122.527580000516764, 38.145266000970153 ], [ -122.529549000440937, 38.146105000953874 ], [ -122.53156300048083, 38.147150000632351 ], [ -122.533256999404713, 38.148119000838058 ], [ -122.534827999980124, 38.149202000894171 ], [ -122.536384999979148, 38.150431000784813 ], [ -122.537696999431134, 38.151514000441473 ], [ -122.538764999557401, 38.152529000735456 ], [ -122.540107999648697, 38.153864000604266 ], [ -122.541496999968857, 38.155184000831895 ], [ -122.542764000088908, 38.156694000585887 ], [ -122.543710000281891, 38.158068000642551 ], [ -122.544473000201378, 38.158716000634556 ], [ -122.544554000182998, 38.158732000280253 ], [ -122.544992000144276, 38.158818000830038 ], [ -122.545375999550188, 38.158733000381829 ], [ -122.545501000415129, 38.158705000796935 ], [ -122.545692999391321, 38.158663000542283 ], [ -122.546273000035114, 38.158365000887535 ], [ -122.546838000226273, 38.157969000651704 ], [ -122.547600999890534, 38.157473000637175 ], [ -122.548531999891765, 38.157221000408718 ], [ -122.549614999513338, 38.157290000433647 ], [ -122.550682999495294, 38.157633000599091 ], [ -122.551092000364775, 38.1577180004601 ], [ -122.551750999745849, 38.15796100041419 ], [ -122.551870999397224, 38.15798900082163 ], [ -122.552972000005198, 38.15825100088297 ], [ -122.553796000442432, 38.158457000526568 ], [ -122.554802999966356, 38.158655000979834 ], [ -122.555917000322481, 38.158991000778386 ], [ -122.557138000390864, 38.159578000332516 ], [ -122.557916000075608, 38.160158000355963 ], [ -122.5581900002163, 38.160593001121654 ], [ -122.558372999734218, 38.161188001128323 ], [ -122.558435000496047, 38.161974000319361 ], [ -122.558266999907204, 38.162821000500216 ], [ -122.55799200052661, 38.163530000724464 ], [ -122.557365999520243, 38.164377000634019 ], [ -122.556832000424293, 38.164858000829661 ], [ -122.555993000007476, 38.165468001007966 ], [ -122.555077999950953, 38.165918000671816 ], [ -122.553492000147202, 38.166618000688629 ], [ -122.553322999651655, 38.166727000542885 ], [ -122.552956999609506, 38.167032000400198 ], [ -122.551965000289982, 38.168146000365887 ], [ -122.551980000435719, 38.169001000383744 ], [ -122.552091999512982, 38.169118000750203 ], [ -122.552148000334924, 38.169214000867242 ], [ -122.552650999978582, 38.169664000663332 ], [ -122.553291999692888, 38.169977000443339 ], [ -122.554238000196221, 38.170122000556574 ], [ -122.555581000296115, 38.16995400055194 ], [ -122.55628299939508, 38.16971000073557 ], [ -122.557580000080137, 38.16897800071181 ], [ -122.55892500025432, 38.168688000892033 ], [ -122.559242999392794, 38.168619000359698 ], [ -122.560938000158416, 38.168749000454149 ], [ -122.561990999400166, 38.168955000885035 ], [ -122.563193000498501, 38.169318000927589 ], [ -122.564005000156556, 38.170237000794963 ], [ -122.564263999911333, 38.170694001120005 ], [ -122.564157999472428, 38.171679000319259 ], [ -122.564096999705555, 38.172823000267989 ], [ -122.563993000020375, 38.173518000773548 ], [ -122.564462999962288, 38.175081000477988 ], [ -122.564592999676222, 38.175118000587382 ], [ -122.564951000044772, 38.175417000853727 ], [ -122.565729000037649, 38.175722000782265 ], [ -122.566721000104465, 38.175936000448452 ], [ -122.567620999791302, 38.176332000710076 ], [ -122.568384000036218, 38.176836001011139 ], [ -122.568492999444274, 38.177018000314114 ], [ -122.568460999976878, 38.177279001117071 ], [ -122.568170999629302, 38.177759000580025 ], [ -122.567437999624985, 38.178362000314479 ], [ -122.566462000015605, 38.17913100034275 ], [ -122.566293000035557, 38.179417001011331 ], [ -122.566095000181605, 38.180032000581967 ], [ -122.565606999388635, 38.180757000800305 ], [ -122.565194999862442, 38.181817000455609 ], [ -122.565092999609377, 38.182217001118062 ], [ -122.565148999941343, 38.182595000517743 ], [ -122.565423999846857, 38.182939000476885 ], [ -122.565744000427827, 38.183183000654147 ], [ -122.566766999786438, 38.183572000489356 ], [ -122.567881000444586, 38.183801001070044 ], [ -122.568004999927794, 38.183896000847184 ], [ -122.568293000523525, 38.18411700066531 ], [ -122.568505999762934, 38.184175000686906 ], [ -122.568934000224615, 38.184525000808428 ], [ -122.569117000147855, 38.184754001063688 ], [ -122.569573999555004, 38.185288001014612 ], [ -122.569757999820609, 38.1859830007241 ], [ -122.570200000144254, 38.18673800038583 ], [ -122.570592999568603, 38.187117001114892 ], [ -122.570734000329281, 38.187142001077213 ], [ -122.571939999871702, 38.18715000074468 ], [ -122.572381999620845, 38.187081000610938 ], [ -122.572503999627244, 38.187066000938131 ], [ -122.572779000390909, 38.186898000240795 ], [ -122.573037999397286, 38.18666200047408 ], [ -122.573159999745315, 38.186402001054461 ], [ -122.57319300034257, 38.186317001044863 ], [ -122.573176000299426, 38.186143000559497 ], [ -122.573175999599712, 38.185876000925042 ], [ -122.572412999943197, 38.18525800089116 ], [ -122.571650000297922, 38.184915000490882 ], [ -122.57119299953861, 38.184717000252867 ], [ -122.570931999995352, 38.184594000597073 ], [ -122.570643000465083, 38.184403000987146 ], [ -122.57053599997144, 38.184159000286201 ], [ -122.570565999409851, 38.183770000969254 ], [ -122.570693000294781, 38.183517000705393 ], [ -122.570901999550642, 38.183526000314032 ], [ -122.571692999506439, 38.183517000642567 ], [ -122.573236999952329, 38.18329700104966 ], [ -122.573618000506585, 38.18334300091621 ], [ -122.574349999544296, 38.183526000653266 ], [ -122.574892999589935, 38.183917000237187 ], [ -122.574929999723679, 38.18398400105692 ], [ -122.575037000066999, 38.184602000903908 ], [ -122.574946000305204, 38.184976000869959 ], [ -122.574456999859692, 38.18559400065913 ], [ -122.574292999900223, 38.185717000773025 ], [ -122.574228000125345, 38.185945000846708 ], [ -122.574564000137002, 38.18608900102263 ], [ -122.5750519995172, 38.186120000348268 ], [ -122.575494999474344, 38.186234001024097 ], [ -122.577143999708142, 38.18660800034332 ], [ -122.578181000105275, 38.186875000495242 ], [ -122.579082000276955, 38.187089000507775 ], [ -122.579539000192938, 38.187036001037775 ], [ -122.579693999811369, 38.186817001115728 ], [ -122.579554999564351, 38.186463000415138 ], [ -122.579569999881286, 38.186089000610806 ], [ -122.579794000104741, 38.18571700074672 ], [ -122.580012000348873, 38.185578000436941 ], [ -122.580272000476825, 38.185571000865167 ], [ -122.580793999983939, 38.185717000751104 ], [ -122.580867000228054, 38.185845000825339 ], [ -122.580989000005985, 38.185945000660745 ], [ -122.581293999571812, 38.185975000929602 ], [ -122.581569000015861, 38.186021000749093 ], [ -122.581659999793928, 38.186181000462511 ], [ -122.581874000502111, 38.186334001004568 ], [ -122.581980999566426, 38.18639500042832 ], [ -122.582041999681735, 38.186654000508746 ], [ -122.582071999457511, 38.187127000590813 ], [ -122.58199399955862, 38.187317000511001 ], [ -122.581934999779349, 38.187600000979742 ], [ -122.581874000109138, 38.187715000272362 ], [ -122.581934999464622, 38.18783700051506 ], [ -122.582041999443135, 38.187936000408847 ], [ -122.582117999425165, 38.188020000241352 ], [ -122.58219799988845, 38.188017000754606 ], [ -122.582335999822632, 38.18797300033583 ], [ -122.582458000375851, 38.187874000528211 ], [ -122.58264100046604, 38.187691000513148 ], [ -122.582762999579117, 38.187485000621969 ], [ -122.582897999826031, 38.187317000451969 ], [ -122.582936000398092, 38.187265000505079 ], [ -122.583009999655872, 38.187162001067108 ], [ -122.583126000530029, 38.187041000320413 ], [ -122.583300000282534, 38.186975000736197 ], [ -122.583489999937242, 38.186993000594661 ], [ -122.5837089995578, 38.187041000315737 ], [ -122.583867999995832, 38.187193000992252 ], [ -122.583911000400519, 38.187317000311246 ], [ -122.583964000357014, 38.187646000374777 ], [ -122.584071000097524, 38.187776000714798 ], [ -122.58425400049218, 38.187951000287129 ], [ -122.584513999874204, 38.188073000651443 ], [ -122.584712000406867, 38.188050000797396 ], [ -122.584956000176703, 38.187966000412366 ], [ -122.585200000011511, 38.187928000499738 ], [ -122.585593999712955, 38.187817000640145 ], [ -122.585856999403958, 38.187913001095914 ], [ -122.586257000232862, 38.187766000596113 ], [ -122.586501000338728, 38.187858000484134 ], [ -122.586622999943046, 38.18784300055782 ], [ -122.586806000093276, 38.187721000918117 ], [ -122.586866999710836, 38.187545000265196 ], [ -122.586893999429606, 38.187317000982731 ], [ -122.587015999841853, 38.187150000277441 ], [ -122.58741300012916, 38.186837000989435 ], [ -122.587901000181063, 38.186570000795307 ], [ -122.588390000225232, 38.186440001053647 ], [ -122.58869500032344, 38.186456000926633 ], [ -122.58893900021107, 38.186547000778624 ], [ -122.589093999464993, 38.186517000636833 ], [ -122.589244000269446, 38.186593001130852 ], [ -122.589502999935831, 38.186532000513466 ], [ -122.589792999516106, 38.186410000677107 ], [ -122.589960999540295, 38.186204000694687 ], [ -122.590067999490088, 38.186059000819611 ], [ -122.590194000029371, 38.185917000745619 ], [ -122.590403999870929, 38.185937000522543 ], [ -122.590493999760696, 38.185917001025913 ], [ -122.590816000497696, 38.185952000878324 ], [ -122.591196999405781, 38.18605100066921 ], [ -122.591494000151897, 38.186217001100246 ], [ -122.591807999882633, 38.18664600037696 ], [ -122.591716000110324, 38.186944000706625 ], [ -122.591609000283228, 38.187165000460567 ], [ -122.59159400017117, 38.187317000951452 ], [ -122.591456999699034, 38.18763100042014 ], [ -122.591883999690324, 38.18805000104215 ], [ -122.592417999760059, 38.188607000499211 ], [ -122.592600999557433, 38.188775000550109 ], [ -122.592814999831532, 38.188783000674015 ], [ -122.59322700003915, 38.188668000899007 ], [ -122.594014999756453, 38.188507000636442 ], [ -122.594548999656524, 38.18842300028161 ], [ -122.594929999863453, 38.188385000703839 ], [ -122.595051999812668, 38.188225000706986 ], [ -122.595219999859538, 38.188164000781747 ], [ -122.595293999504776, 38.188117000318371 ], [ -122.595287000260242, 38.188004001082994 ], [ -122.595714000224092, 38.187745001041129 ], [ -122.595988000434232, 38.187608000624159 ], [ -122.596578000196772, 38.187400000534602 ], [ -122.596914000346629, 38.187438000509701 ], [ -122.597386999941236, 38.18754500085268 ], [ -122.597554999597421, 38.187499000777272 ], [ -122.597859999492584, 38.187370000828516 ], [ -122.597993999786993, 38.18721700103039 ], [ -122.598597999780878, 38.186913000850154 ], [ -122.599071000361263, 38.186608000546798 ], [ -122.599818000310862, 38.186136000498536 ], [ -122.600593999646492, 38.185618000434665 ], [ -122.600993999745683, 38.185418000771712 ], [ -122.601039000449092, 38.185968001107334 ], [ -122.601115000181821, 38.186700000899137 ], [ -122.601093999674802, 38.187217000888339 ], [ -122.600994000149498, 38.188017000744388 ], [ -122.601085000114097, 38.189530001081089 ], [ -122.601070000171148, 38.189706000497168 ], [ -122.601039000209013, 38.190042000425123 ], [ -122.600993000463887, 38.190400000372478 ], [ -122.600947999994261, 38.190652000708951 ], [ -122.600855999419949, 38.191010001033327 ], [ -122.600394000493964, 38.192517000301685 ], [ -122.600016999811501, 38.193841000495659 ], [ -122.599723999831923, 38.194851000885073 ], [ -122.599011000216464, 38.197297000982211 ], [ -122.598949999671817, 38.19750300054023 ], [ -122.598796999918051, 38.197900000386696 ], [ -122.598750999919091, 38.19802200100132 ], [ -122.598246000380058, 38.201947000751623 ], [ -122.598094999886214, 38.203117000566998 ], [ -122.598080000241637, 38.203912000761775 ], [ -122.598080000393935, 38.20427800065243 ], [ -122.59810999949481, 38.204682000916392 ], [ -122.598156000090469, 38.204896000538398 ], [ -122.598187000276113, 38.205102000644459 ], [ -122.598294999796607, 38.20531700097267 ], [ -122.598460999579203, 38.205789000847396 ], [ -122.600694999456792, 38.210617000720951 ], [ -122.603394999885211, 38.216517000729333 ], [ -122.603878000351898, 38.217599000511257 ], [ -122.604366000346602, 38.218354000454219 ], [ -122.604495000426525, 38.21851700106275 ], [ -122.60467300010805, 38.218718001080738 ], [ -122.604848000437656, 38.218895000320153 ], [ -122.605118999506018, 38.21921600063709 ], [ -122.605378999446103, 38.219459000606619 ], [ -122.605676999915559, 38.219696000944275 ], [ -122.605874000197474, 38.21988200032775 ], [ -122.606340999495714, 38.220217000517323 ], [ -122.608695000089853, 38.221817000446414 ], [ -122.610695000112528, 38.223117000389706 ], [ -122.611340000173257, 38.223519001091361 ], [ -122.612095000022023, 38.224017000711306 ], [ -122.612571999578861, 38.224372000576366 ], [ -122.612980999630381, 38.224745000302001 ], [ -122.613373999680249, 38.225101000576224 ], [ -122.613562999601228, 38.225321000834811 ], [ -122.614194999737066, 38.226043000432576 ], [ -122.614273000339182, 38.22615700088577 ], [ -122.614481000271894, 38.226507000743531 ], [ -122.614711000495234, 38.226952001124573 ], [ -122.615202000456037, 38.227899000704333 ], [ -122.615299999644975, 38.228120001134727 ], [ -122.615495999741441, 38.228516001030137 ], [ -122.615509999442196, 38.228570001124808 ], [ -122.615542000357834, 38.228699000922632 ], [ -122.615595999418417, 38.228916000506509 ], [ -122.61771799991152, 38.232832000555106 ], [ -122.617795999878368, 38.233016000405328 ], [ -122.617939000525936, 38.233401000248271 ], [ -122.617296000201549, 38.233316000450749 ], [ -122.61709599985916, 38.233216000748556 ], [ -122.616595999397234, 38.23311600079591 ], [ -122.615537000485347, 38.232979000481443 ], [ -122.615201000293126, 38.232948000477371 ], [ -122.61491099978376, 38.232918000317134 ], [ -122.61459099980074, 38.232918000865318 ], [ -122.614459000348162, 38.232923000993047 ], [ -122.614407999935651, 38.232925000965494 ], [ -122.61402600037836, 38.232918000859627 ], [ -122.613599000190675, 38.232948000873584 ], [ -122.613140999434023, 38.232994000684307 ], [ -122.612595999441709, 38.233016000622968 ], [ -122.612195999780226, 38.233116000859503 ], [ -122.610094999878839, 38.233216000632581 ], [ -122.609599999872572, 38.233262000692058 ], [ -122.604695000304062, 38.233716000475383 ], [ -122.603694999997927, 38.234816000269916 ], [ -122.602495000020909, 38.236116000532753 ], [ -122.601965999617462, 38.23667100089466 ], [ -122.601461000052907, 38.237218000610234 ], [ -122.600971999448575, 38.237737001127044 ], [ -122.600394999975236, 38.238416000477578 ], [ -122.600095000497689, 38.2387160009742 ], [ -122.598694999485801, 38.240316000794678 ], [ -122.595795000299958, 38.243416000244437 ], [ -122.595843000364397, 38.243444000569802 ], [ -122.597283999930028, 38.244278000491128 ], [ -122.597695000283323, 38.244516000962008 ], [ -122.599795000160924, 38.245716001069582 ], [ -122.600195000276898, 38.245916001034779 ], [ -122.60089499948873, 38.246316001119489 ], [ -122.604595999818599, 38.248316000582733 ], [ -122.605095999725535, 38.248616000376117 ], [ -122.605978999793066, 38.249095000472742 ], [ -122.606214000236889, 38.249222000712429 ], [ -122.606884000336933, 38.249585000630219 ], [ -122.607496000240502, 38.249916000458931 ], [ -122.608143999980015, 38.250305000757685 ], [ -122.609995999742949, 38.251416000820178 ], [ -122.61033700026438, 38.251611000664745 ], [ -122.610696000214531, 38.251816000874967 ], [ -122.61099600018099, 38.252016000786639 ], [ -122.610822000162742, 38.252205001059721 ], [ -122.609509999805042, 38.253380000994476 ], [ -122.608258000404703, 38.254730000908495 ], [ -122.607996000400263, 38.2550160006843 ], [ -122.607557000346318, 38.255577000914862 ], [ -122.60700699995968, 38.256218000849643 ], [ -122.6065959996033, 38.25671600031265 ], [ -122.606510000308816, 38.256810000285896 ], [ -122.605527000136135, 38.257884001056276 ], [ -122.603616999846153, 38.259971000606136 ], [ -122.603366999754826, 38.260244000951111 ], [ -122.602917000423204, 38.260734000918262 ], [ -122.601710999668867, 38.262069000292442 ], [ -122.600872000425326, 38.262908000288554 ], [ -122.6002159994393, 38.263656000840299 ], [ -122.600094999809912, 38.263815000629116 ], [ -122.608596000159949, 38.268615000533956 ], [ -122.613443999903552, 38.271394000700433 ], [ -122.615958000297141, 38.272835000354156 ], [ -122.616795999472671, 38.273315000721993 ], [ -122.619195999626058, 38.274615000549879 ], [ -122.62089599957153, 38.275615001089783 ], [ -122.623896000516666, 38.277315000816408 ], [ -122.626096000053806, 38.278515000951366 ], [ -122.626896000212255, 38.278915001042982 ], [ -122.628596000109212, 38.279915000539837 ], [ -122.63169599954459, 38.281615000518805 ], [ -122.63592299942276, 38.28395100103652 ], [ -122.637636000378762, 38.284898000282922 ], [ -122.639295999443348, 38.285815001133649 ], [ -122.646397000416783, 38.289815000599738 ], [ -122.651797000144256, 38.292815000549446 ], [ -122.654328000404249, 38.294221000541285 ], [ -122.654497000279306, 38.294315000320218 ], [ -122.657386000508708, 38.295933000863648 ], [ -122.659496999395671, 38.297115001109333 ], [ -122.655297000266032, 38.303115000355668 ], [ -122.652697000025853, 38.306615000590675 ], [ -122.652232000086741, 38.307242000948953 ], [ -122.648396999500548, 38.312414000614773 ], [ -122.647195999487508, 38.314214001129045 ], [ -122.650198999480295, 38.314214000751861 ], [ -122.65139699964864, 38.314214001106777 ], [ -122.660296999600789, 38.314114000256538 ], [ -122.662097000293102, 38.314214000656321 ], [ -122.660886999454164, 38.315344000999147 ], [ -122.660444999566479, 38.316046000467615 ], [ -122.659396999584558, 38.316614000522023 ], [ -122.658994999803014, 38.316854000957093 ], [ -122.658292999530985, 38.316725000623848 ], [ -122.657881000063682, 38.316732000904672 ], [ -122.657529999989833, 38.317221001043606 ], [ -122.65546999973958, 38.318113000764221 ], [ -122.654692000422315, 38.318655000715324 ], [ -122.652189999761973, 38.319181000797748 ], [ -122.648327999825895, 38.319372001114878 ], [ -122.647610999541698, 38.319601001097595 ], [ -122.646481999645871, 38.319792000486643 ], [ -122.644802999945867, 38.319219000934197 ], [ -122.64350599950032, 38.319326001067623 ], [ -122.64292600043548, 38.319166000338932 ], [ -122.642712999437293, 38.318510001094658 ], [ -122.641919000412969, 38.317533001054038 ], [ -122.640667999640115, 38.317579001028591 ], [ -122.640134000153836, 38.317739000738506 ], [ -122.639295000354991, 38.318739000964193 ], [ -122.638439999811851, 38.319074000615245 ], [ -122.637479000058278, 38.319372000515976 ], [ -122.637098000170354, 38.31978400054993 ], [ -122.63503800043128, 38.320974001043197 ], [ -122.634777999890588, 38.321249000689726 ], [ -122.634564999926198, 38.321966000683453 ], [ -122.633541999480599, 38.322401000701305 ], [ -122.633196000256177, 38.322314000702917 ], [ -122.631008999949287, 38.322065000262825 ], [ -122.629177999710606, 38.322233001067367 ], [ -122.62849600020138, 38.321814000463604 ], [ -122.627194999749662, 38.321119001058804 ], [ -122.626095999976229, 38.320614000866065 ], [ -122.625745000004656, 38.320593001034325 ], [ -122.625096000278845, 38.32071400028935 ], [ -122.624646000069518, 38.320959000467383 ], [ -122.624311000369588, 38.321287000749294 ], [ -122.624067000006264, 38.321417000906123 ], [ -122.623896000118336, 38.321414000433421 ], [ -122.623502000090411, 38.321508000608567 ], [ -122.623075000029218, 38.321485000400166 ], [ -122.622845999523619, 38.321707001117574 ], [ -122.622570999951037, 38.321844001100203 ], [ -122.621854000465902, 38.321745000747484 ], [ -122.620633000512981, 38.321722000288496 ], [ -122.620342999887725, 38.321836001051778 ], [ -122.620083999751671, 38.322149000657056 ], [ -122.61991599979693, 38.322439000358536 ], [ -122.618664999692214, 38.323828000348691 ], [ -122.61820700038389, 38.324270001132525 ], [ -122.61779499942881, 38.324560000728461 ], [ -122.61739800022994, 38.324652000424543 ], [ -122.617100999737147, 38.324714000510561 ], [ -122.615032000195527, 38.325147000756075 ], [ -122.61462000023333, 38.32520100068664 ], [ -122.614346000521167, 38.325064000915908 ], [ -122.614208000092006, 38.325117001131161 ], [ -122.614071000187977, 38.325224001081395 ], [ -122.613766000103624, 38.325292001053391 ], [ -122.613444999959299, 38.325254000994541 ], [ -122.613323000481756, 38.325369001101734 ], [ -122.6131099997083, 38.325285001107666 ], [ -122.612758999596352, 38.325399000762523 ], [ -122.612530000017614, 38.325529001050846 ], [ -122.612286000039703, 38.325834000893472 ], [ -122.612041999735496, 38.326208000561792 ], [ -122.611903999673089, 38.326322000842666 ], [ -122.610729000499589, 38.3265210009885 ], [ -122.610333000037045, 38.326582000965878 ], [ -122.609981999996862, 38.326773000980261 ], [ -122.609325999617155, 38.327215000261909 ], [ -122.608868000061761, 38.327429000447701 ], [ -122.607310999821109, 38.327772000454488 ], [ -122.606166999803349, 38.327909000447974 ], [ -122.605601999565025, 38.327917000991874 ], [ -122.605144999653845, 38.328085000846222 ], [ -122.6045189998691, 38.328031000345263 ], [ -122.603802000007917, 38.327978000424743 ], [ -122.602993000324929, 38.328008000260311 ], [ -122.60241300042928, 38.328138000563271 ], [ -122.602032000521277, 38.328276000450337 ], [ -122.601345000120261, 38.328367000917545 ], [ -122.600413999917478, 38.328199000493491 ], [ -122.599590000228957, 38.327970001097647 ], [ -122.598582999826448, 38.327917000841765 ], [ -122.597881000087739, 38.328146000587957 ], [ -122.597392999944759, 38.328466000355668 ], [ -122.596767999424927, 38.328451000685448 ], [ -122.596279000532576, 38.32847400052637 ], [ -122.595515999740712, 38.328642000438265 ], [ -122.594891000148479, 38.328893000846833 ], [ -122.594694999656696, 38.32911400112836 ], [ -122.594859999476412, 38.329595001085956 ], [ -122.595272000145386, 38.330313001051202 ], [ -122.595791000083665, 38.330763000705254 ], [ -122.596493000002624, 38.331129001046278 ], [ -122.597027000001432, 38.331426001081041 ], [ -122.597103000061907, 38.331625000469209 ], [ -122.596798000117872, 38.332861000966666 ], [ -122.596629999803156, 38.33309700067845 ], [ -122.596141999544159, 38.333235000697478 ], [ -122.595195999548707, 38.33322700054795 ], [ -122.594021000098422, 38.333303000927721 ], [ -122.593242999921387, 38.333441000305527 ], [ -122.592860999670108, 38.333608000844599 ], [ -122.592799999796583, 38.334012000327547 ], [ -122.592769999894202, 38.335301000320186 ], [ -122.592525999648686, 38.33556800107219 ], [ -122.592343000393612, 38.335660001041191 ], [ -122.591930999975688, 38.33588900084257 ], [ -122.591503000085723, 38.335843000704166 ], [ -122.59019499998513, 38.335313000473256 ], [ -122.589641999461534, 38.335065000416506 ], [ -122.588864000116246, 38.334851000387111 ], [ -122.588619000133292, 38.334424000367939 ], [ -122.588451999995769, 38.334279000848973 ], [ -122.587750000291351, 38.333791000418906 ], [ -122.586346000023468, 38.332898000390003 ], [ -122.585751000073586, 38.332654001108651 ], [ -122.585399999823551, 38.332631000504819 ], [ -122.584361999905198, 38.332501000518008 ], [ -122.583694999727712, 38.332413000464342 ], [ -122.583004000060868, 38.331982001015994 ], [ -122.582026999503441, 38.331213001060142 ], [ -122.581432000147757, 38.330320000694293 ], [ -122.581064999805449, 38.330000000597067 ], [ -122.580348000520317, 38.329672000870438 ], [ -122.579692000281014, 38.329244000895301 ], [ -122.579050999760284, 38.328535000423464 ], [ -122.578288000074181, 38.327841000424939 ], [ -122.577845999977782, 38.32746700062777 ], [ -122.57738800036114, 38.327352000296038 ], [ -122.576624999648175, 38.327337000689319 ], [ -122.576136999656853, 38.327207000593198 ], [ -122.575450000066184, 38.327230000850228 ], [ -122.574886000137724, 38.32744400076816 ], [ -122.574274999574385, 38.327688000667798 ], [ -122.573924000514367, 38.327871000417467 ], [ -122.573493999791111, 38.327614000796302 ], [ -122.574260000371169, 38.326010000979252 ], [ -122.574535000485412, 38.324911000280778 ], [ -122.574641000274411, 38.323789001068278 ], [ -122.57465700003965, 38.322775000878977 ], [ -122.574350999678828, 38.322103000923931 ], [ -122.573955000155152, 38.321630001109817 ], [ -122.573650000032259, 38.320753000771802 ], [ -122.573450999803384, 38.319502000332101 ], [ -122.573557999607189, 38.318586000948677 ], [ -122.573557999811001, 38.317556000821867 ], [ -122.573343999553728, 38.316854001084018 ], [ -122.572672999582991, 38.316221000896093 ], [ -122.571634999412041, 38.315664001134493 ], [ -122.570506000221471, 38.31506900086675 ], [ -122.569147999598769, 38.314237000679434 ], [ -122.567989000285124, 38.313230000272959 ], [ -122.567606999744569, 38.312864000460401 ], [ -122.567193999953005, 38.312514000912685 ], [ -122.567133999688124, 38.312162000982994 ], [ -122.567133999803829, 38.311796000933754 ], [ -122.56722599955738, 38.311476000556588 ], [ -122.567408999508615, 38.310850001052067 ], [ -122.567560999626949, 38.309965000472552 ], [ -122.567667999815455, 38.30933900046773 ], [ -122.567759999952202, 38.308706000994761 ], [ -122.567836000404469, 38.308142000589285 ], [ -122.567866000427259, 38.307669000628238 ], [ -122.567653000526789, 38.306967000409337 ], [ -122.567348000205271, 38.306249000546337 ], [ -122.567012000445104, 38.305464000994576 ], [ -122.566752999538792, 38.304861000333787 ], [ -122.566599999919447, 38.304182000969 ], [ -122.566356000276684, 38.303572000757022 ], [ -122.566218999928424, 38.303045000410343 ], [ -122.565973999598711, 38.302435001008725 ], [ -122.565822000332489, 38.30185500051352 ], [ -122.565364000040631, 38.301191000317218 ], [ -122.564890999877036, 38.300558001094799 ], [ -122.564311000521471, 38.299909000339461 ], [ -122.563762000356405, 38.299291000974257 ], [ -122.563151000209999, 38.298666000737015 ], [ -122.562678000030061, 38.298025001122838 ], [ -122.562434000298651, 38.297369000252445 ], [ -122.562160000099368, 38.296682000511524 ], [ -122.561915999558494, 38.295912000798801 ], [ -122.561686999886078, 38.295568000726938 ], [ -122.560816999994515, 38.294981000444238 ], [ -122.559764000113901, 38.29444700108435 ], [ -122.558954999635716, 38.293974000806507 ], [ -122.558299000431049, 38.293562000944654 ], [ -122.557994000091696, 38.293214000616175 ], [ -122.557689000324089, 38.292402000346101 ], [ -122.557582000483976, 38.291815000393449 ], [ -122.55761299940454, 38.291319000621328 ], [ -122.557673999459183, 38.290747000679204 ], [ -122.557963999615581, 38.290190000538821 ], [ -122.558391000103441, 38.289587000634086 ], [ -122.558863999614061, 38.288877000295678 ], [ -122.559383000289145, 38.288123000972803 ], [ -122.560115000073239, 38.28756600059954 ], [ -122.561030999811166, 38.286918001065168 ], [ -122.56203799951966, 38.286216000962355 ], [ -122.562678000349365, 38.285842000821553 ], [ -122.562793999475829, 38.28571500053512 ], [ -122.563014000138736, 38.285521000933407 ], [ -122.56306000049112, 38.285384000835258 ], [ -122.562861999620225, 38.285163001119223 ], [ -122.562479999517393, 38.284980000771199 ], [ -122.561762999802895, 38.284682001035861 ], [ -122.561305000433379, 38.284430000613277 ], [ -122.560939000169213, 38.284186000558435 ], [ -122.560649000115632, 38.283797000470756 ], [ -122.560298000016118, 38.283309000535212 ], [ -122.5599169999049, 38.2828210005515 ], [ -122.559566000122686, 38.282386000311519 ], [ -122.559076999604798, 38.282065001074862 ], [ -122.558650000058506, 38.281890000558654 ], [ -122.558069999779988, 38.28161500105216 ], [ -122.55753599990058, 38.2813180007455 ], [ -122.556971999605324, 38.280944000803579 ], [ -122.556316, 38.280585001103553 ], [ -122.555796999597348, 38.280066001036772 ], [ -122.555262999393335, 38.279609000317578 ], [ -122.554729000527118, 38.279075000556766 ], [ -122.55405700032324, 38.278548001068806 ], [ -122.553462000132939, 38.278052000561019 ], [ -122.552561999895545, 38.277511000647976 ], [ -122.551981999451328, 38.277091000967452 ], [ -122.551387000243196, 38.276626000678625 ], [ -122.55095999975704, 38.276267000900923 ], [ -122.55047099960899, 38.275451000439695 ], [ -122.550135999958485, 38.2749930008357 ], [ -122.549692999584963, 38.274489001028734 ], [ -122.54917400013592, 38.274154000307639 ], [ -122.548412000053986, 38.273764000430255 ], [ -122.547556999630231, 38.273436001123549 ], [ -122.546839999405634, 38.2731770004509 ], [ -122.546335999886111, 38.272826000283857 ], [ -122.546106999416651, 38.272643000804628 ], [ -122.545940000216234, 38.271979000402148 ], [ -122.545756000457558, 38.271323000895222 ], [ -122.545604000007586, 38.270926000324259 ], [ -122.544963000499649, 38.270583001018828 ], [ -122.544367999671664, 38.270369000323811 ], [ -122.543864000268485, 38.270133000509837 ], [ -122.54351300020636, 38.269904000778482 ], [ -122.543071000238768, 38.269439000674119 ], [ -122.542476000325408, 38.26892000112435 ], [ -122.54178899973796, 38.268439000668387 ], [ -122.540950000221187, 38.267936000738068 ], [ -122.540247999900615, 38.267516000703999 ], [ -122.539648999641514, 38.267238001043957 ], [ -122.539409000146222, 38.267127000453392 ], [ -122.538660999984586, 38.266791000770063 ], [ -122.537959000086389, 38.266402000563787 ], [ -122.537333999490244, 38.266036000262893 ], [ -122.536676999621619, 38.265662000634222 ], [ -122.536080999406238, 38.265357000579563 ], [ -122.535639000185057, 38.265220001057159 ], [ -122.53518100032548, 38.265036000694359 ], [ -122.534861000446469, 38.264869000528485 ], [ -122.534417999422359, 38.264434000273411 ], [ -122.534020999975908, 38.264144000746157 ], [ -122.533654999425551, 38.263549000237688 ], [ -122.533532999693719, 38.263076001108153 ], [ -122.533013999821449, 38.262603000664782 ], [ -122.532220999694886, 38.262374000692965 ], [ -122.530984999975004, 38.262130000754858 ], [ -122.529856000041661, 38.261840000753715 ], [ -122.528544000390852, 38.26162600102397 ], [ -122.527307999912964, 38.26151900082013 ], [ -122.526133000010418, 38.261489000889824 ], [ -122.525262999992293, 38.261428000479192 ], [ -122.524775000186196, 38.261329001043165 ], [ -122.524255999629958, 38.260947000907137 ], [ -122.523431999401438, 38.260329000921125 ], [ -122.522806000052398, 38.259833000473158 ], [ -122.522042999843293, 38.259368000263066 ], [ -122.520960000495293, 38.259017000522256 ], [ -122.520014000422137, 38.258735000620824 ], [ -122.519021999942609, 38.258170000884746 ], [ -122.518412000037472, 38.257743001108743 ], [ -122.517992999411334, 38.257415000272317 ], [ -122.517328000347931, 38.256644000604183 ], [ -122.516748999596004, 38.255744000356373 ], [ -122.516168999549848, 38.254790000449191 ], [ -122.51561900020701, 38.253783000305262 ], [ -122.515009000454057, 38.252738000916622 ], [ -122.514413999750687, 38.251685000457265 ], [ -122.513926000279653, 38.250571000476299 ], [ -122.513392999399912, 38.2499150005223 ], [ -122.512888000512376, 38.249587000400538 ], [ -122.512034000229221, 38.249236000552017 ], [ -122.511285999510051, 38.249091000688885 ], [ -122.510264000122561, 38.248816000331828 ], [ -122.509454999777503, 38.248595000906789 ], [ -122.508524000281653, 38.248458001018889 ], [ -122.507410000082587, 38.248237000409901 ], [ -122.506814999843911, 38.248122001024619 ], [ -122.506403000081519, 38.248076000724488 ], [ -122.505320000381602, 38.247382000834612 ], [ -122.504708999703809, 38.247222000828245 ], [ -122.50365599951968, 38.247062001032845 ], [ -122.502693999388782, 38.247077000675731 ], [ -122.501779000130497, 38.247031001110756 ], [ -122.501289999429716, 38.247069000680838 ], [ -122.50109199988573, 38.247015001060369 ], [ -122.500625000274056, 38.247724000762055 ], [ -122.500324000053382, 38.247611000503362 ], [ -122.500819999573352, 38.24669900027277 ], [ -122.50109200047747, 38.246456000870204 ], [ -122.503792000047298, 38.244315000580571 ], [ -122.504402999458179, 38.243827000659692 ], [ -122.504510000233466, 38.243773001057392 ], [ -122.504693000366927, 38.24368200068205 ], [ -122.504890999986912, 38.243529000889588 ], [ -122.505074999912068, 38.243346000571236 ], [ -122.505211999635932, 38.24320900052269 ], [ -122.50537999975387, 38.242904001058974 ], [ -122.505685000213205, 38.24239200103019 ], [ -122.505991999909028, 38.241615001106133 ], [ -122.505989999685113, 38.241431000826793 ], [ -122.505792000246089, 38.239715000510664 ], [ -122.505775999827591, 38.239554000477995 ], [ -122.505806999848247, 38.239379001034237 ], [ -122.505882999457413, 38.239220000678628 ], [ -122.506004999687477, 38.23895300029114 ], [ -122.506187999410301, 38.23866300069048 ], [ -122.506691999667652, 38.238016000792889 ], [ -122.506935999549867, 38.237816000567463 ], [ -122.507088999623775, 38.237633000915416 ], [ -122.507256999914873, 38.237450000944428 ], [ -122.50746000001763, 38.237284000900424 ], [ -122.507500999883618, 38.237251000800498 ], [ -122.507714000396859, 38.237083000949916 ], [ -122.507943000294446, 38.236961000670789 ], [ -122.508141999800074, 38.236847000755176 ], [ -122.508492999606048, 38.23674000082103 ], [ -122.508859000480143, 38.236687000363901 ], [ -122.509301000234899, 38.236626000728307 ], [ -122.509692000132631, 38.236516001049139 ], [ -122.509835000317466, 38.236565000647118 ], [ -122.510018000300093, 38.236557001040886 ], [ -122.510278000480085, 38.236572000503891 ], [ -122.510476000210062, 38.236610001071632 ], [ -122.51116299975223, 38.236740000430466 ], [ -122.511407000498664, 38.236778000847814 ], [ -122.511879999710303, 38.236801000392013 ], [ -122.513482999713389, 38.236923001086865 ], [ -122.514550999933022, 38.237038000730699 ], [ -122.515191999421816, 38.237122000259959 ], [ -122.515679999938143, 38.237167000810921 ], [ -122.516123000063757, 38.237190000965036 ], [ -122.516351999755628, 38.237190000328255 ], [ -122.516595999876586, 38.237183000666384 ], [ -122.516885999698502, 38.237183000564762 ], [ -122.517205999443433, 38.237175001124953 ], [ -122.517526999521039, 38.237137000643301 ], [ -122.521127999432665, 38.236999000389204 ], [ -122.521249999533268, 38.236984000261302 ], [ -122.52137199958031, 38.236931000765495 ], [ -122.522744999688584, 38.236336000371175 ], [ -122.522958999448122, 38.236244000523421 ], [ -122.523263999428053, 38.236145000451508 ], [ -122.523553999409359, 38.236061000323147 ], [ -122.523783000502974, 38.236038000698109 ], [ -122.524026999868994, 38.236015001065631 ], [ -122.524423999666595, 38.236015000719178 ], [ -122.525492999608062, 38.235916000344403 ], [ -122.526293000492998, 38.235916000893006 ], [ -122.526545000507355, 38.235908000719689 ], [ -122.526788999826181, 38.235870000402372 ], [ -122.527048000022759, 38.23579400038566 ], [ -122.527230999712629, 38.235741000826536 ], [ -122.527353000140806, 38.235649000854778 ], [ -122.529792999895463, 38.233016000459919 ], [ -122.531192999832754, 38.23151600054414 ], [ -122.531121999946237, 38.230560000920214 ], [ -122.531076999650949, 38.230446000811753 ], [ -122.531046000499671, 38.230369000558866 ], [ -122.531031000319501, 38.230278000254344 ], [ -122.530984999931235, 38.230057000911167 ], [ -122.530939000382105, 38.229935000880715 ], [ -122.530908999746714, 38.229820000770957 ], [ -122.530847999560834, 38.229721000971004 ], [ -122.530816999468101, 38.229622000291997 ], [ -122.530802000465357, 38.22954600031678 ], [ -122.530756000036405, 38.229309001010641 ], [ -122.530709999443374, 38.229164001033901 ], [ -122.530648999647909, 38.229080000587281 ], [ -122.530573000027346, 38.228973000664411 ], [ -122.530497000162711, 38.228889000529961 ], [ -122.530420000054292, 38.228798000859655 ], [ -122.530374999788322, 38.228722000660298 ], [ -122.530313999990469, 38.228577000888109 ], [ -122.530282999982887, 38.228470000577566 ], [ -122.530207000425037, 38.228355000935011 ], [ -122.530145999484887, 38.228287000966162 ], [ -122.530145999990694, 38.228096000435308 ], [ -122.530024000228622, 38.227920000325696 ], [ -122.529932000336672, 38.227837001025563 ], [ -122.529885999904252, 38.227730000909226 ], [ -122.529810000254059, 38.227554000940444 ], [ -122.52979500018462, 38.227409000372866 ], [ -122.52976400020853, 38.227058000560902 ], [ -122.529763999604157, 38.226936000430889 ], [ -122.529687999954916, 38.226837000282586 ], [ -122.529641999660697, 38.226761000281151 ], [ -122.529595999679515, 38.22666900040722 ], [ -122.529565999543991, 38.226547000809248 ], [ -122.52951999967668, 38.226463000380342 ], [ -122.529504999487941, 38.226349000879338 ], [ -122.529412999406816, 38.226082000555763 ], [ -122.529337000011154, 38.22582200031411 ], [ -122.529244999509899, 38.225693000749246 ], [ -122.52919999993469, 38.225586000739909 ], [ -122.529245000333248, 38.22522700049165 ], [ -122.52921500005057, 38.224968001136787 ], [ -122.529138999479244, 38.22484600074857 ], [ -122.52904700019964, 38.224747000866074 ], [ -122.529000999927362, 38.224655000731339 ], [ -122.52897099971544, 38.224579000655133 ], [ -122.528940000125615, 38.224045001097487 ], [ -122.528864000239636, 38.223862000424297 ], [ -122.528802999950059, 38.223724000660248 ], [ -122.52872699985943, 38.223587000509184 ], [ -122.528649999804756, 38.223511000895236 ], [ -122.528573999820836, 38.223373000256082 ], [ -122.52843699949868, 38.223076000509721 ], [ -122.528253999637371, 38.222885000834381 ], [ -122.528116000343545, 38.222694000630355 ], [ -122.527872000346036, 38.222336000699627 ], [ -122.527750000219257, 38.222191001041899 ], [ -122.527673999985552, 38.221977001105344 ], [ -122.52758199962777, 38.221908000800283 ], [ -122.527444999862354, 38.221817000949144 ], [ -122.527246999693389, 38.221664000822969 ], [ -122.52704799959993, 38.221466000590887 ], [ -122.526438000163409, 38.220871000896857 ], [ -122.524818999971785, 38.219734000306524 ], [ -122.524330999638224, 38.219421001075659 ], [ -122.524025999701692, 38.219185000248011 ], [ -122.52333900030608, 38.218727000806055 ], [ -122.522881999428279, 38.218483000258317 ], [ -122.522622000204848, 38.218300000866662 ], [ -122.522302000033051, 38.218018000577842 ], [ -122.522134000246666, 38.217895001081892 ], [ -122.521997000136054, 38.217834001031413 ], [ -122.521690999449561, 38.217667000479445 ], [ -122.521417000476745, 38.217483000460319 ], [ -122.521249000282523, 38.217308000320806 ], [ -122.521126999829036, 38.217216000676949 ], [ -122.519860000155617, 38.214294000331087 ], [ -122.51981499967637, 38.214119000890257 ], [ -122.519814999843689, 38.213966000254814 ], [ -122.51987600034613, 38.213814000759292 ], [ -122.520027999887759, 38.213623000428569 ], [ -122.520425000444988, 38.213310000273616 ], [ -122.520576999550656, 38.213165000797268 ], [ -122.520684000143504, 38.212990000451292 ], [ -122.520805999438949, 38.21277600105951 ], [ -122.520805999960103, 38.212639000273747 ], [ -122.520729999640139, 38.212532000965297 ], [ -122.520562000122055, 38.212288000942266 ], [ -122.520515999477055, 38.212128000731923 ], [ -122.520454999547297, 38.211967001028711 ], [ -122.518944999911398, 38.207840000792842 ], [ -122.518852999988297, 38.207550000608983 ], [ -122.518761999491673, 38.207321001077112 ], [ -122.518486999824972, 38.20685600069578 ], [ -122.51842599994076, 38.206688000704311 ], [ -122.517892000021419, 38.205780000667417 ], [ -122.517677999397463, 38.205528000752658 ], [ -122.517448999509412, 38.205110000481106 ], [ -122.517144000177524, 38.204667001024298 ], [ -122.516824000297191, 38.204286000961829 ], [ -122.516595000228762, 38.20398800053286 ], [ -122.516121999611869, 38.203492000586095 ], [ -122.515801000229686, 38.203065000918542 ], [ -122.515495999593966, 38.202783001086281 ], [ -122.51520599999327, 38.202554000993288 ], [ -122.514946999798411, 38.202416000516934 ], [ -122.514854999552895, 38.202332000491126 ], [ -122.514733000005194, 38.202256000278162 ], [ -122.513039999511776, 38.201653001030344 ], [ -122.512566999585644, 38.20145500073248 ], [ -122.512367999579283, 38.201379000996901 ], [ -122.512245999460006, 38.20130200051036 ], [ -122.510918000524157, 38.200227000556112 ], [ -122.510658000405016, 38.199990001092985 ], [ -122.510383999846496, 38.199693000428198 ], [ -122.510230999417459, 38.19960100060851 ], [ -122.510001999778481, 38.199433000833785 ], [ -122.509743000250637, 38.199212000718084 ], [ -122.509514000003634, 38.198968001044975 ], [ -122.509117000494186, 38.198472000839438 ], [ -122.508872999768343, 38.198106000531844 ], [ -122.508766000360794, 38.197823000574566 ], [ -122.508659000163661, 38.197640000695202 ], [ -122.508461000000295, 38.197457001000032 ], [ -122.508186000118357, 38.197259000661077 ], [ -122.507865999817, 38.197053000810314 ], [ -122.507622000064856, 38.19693100096633 ], [ -122.507362000218706, 38.196870000501669 ], [ -122.507087999714329, 38.196832001014407 ], [ -122.506828000281914, 38.196778000294024 ], [ -122.506675999654661, 38.196710000358927 ], [ -122.506522999611818, 38.196649000555574 ], [ -122.506401000236721, 38.196565000258559 ], [ -122.506248000291905, 38.196557000914879 ], [ -122.505942999554875, 38.196359000729743 ], [ -122.505760000273014, 38.196168000594589 ], [ -122.505501000162113, 38.195924001024586 ], [ -122.505347999869414, 38.19581700069147 ], [ -122.505226000486203, 38.195741000483281 ], [ -122.504752999774738, 38.195519000761635 ], [ -122.504509000529296, 38.195313000466676 ], [ -122.504126999529575, 38.194810000526964 ], [ -122.503882999918247, 38.194673000574561 ], [ -122.503700000482283, 38.19459600107691 ], [ -122.503441000055702, 38.194535000665766 ], [ -122.502327000404577, 38.194428000920013 ], [ -122.502128999605873, 38.194428000548292 ], [ -122.50188400029549, 38.194467000417205 ], [ -122.501716999810697, 38.19455000098587 ], [ -122.501471999597143, 38.194680000301091 ], [ -122.501289000272251, 38.194741000356949 ], [ -122.501090999714435, 38.194817000808889 ], [ -122.500913999465169, 38.194822000344487 ], [ -122.500846999778744, 38.194800000761262 ], [ -122.500669999797779, 38.194670000503102 ], [ -122.499526000275694, 38.193789001011652 ], [ -122.498608999845032, 38.192733000327749 ], [ -122.498534000001598, 38.192679000549468 ], [ -122.498373000351819, 38.192532000832934 ], [ -122.498078999419945, 38.192433000891747 ], [ -122.497468999999171, 38.19206300070767 ], [ -122.49734100028806, 38.191831000406189 ], [ -122.49712300045519, 38.191837000258751 ], [ -122.496674999400369, 38.19167700099112 ], [ -122.496130999889814, 38.190973000460076 ], [ -122.495506999479517, 38.190701000644225 ], [ -122.49465899950907, 38.190525000300404 ], [ -122.494194999463645, 38.190333000351465 ], [ -122.493842999640208, 38.18991700108873 ], [ -122.493538999573616, 38.189677000704584 ], [ -122.492914999589388, 38.189821000736181 ], [ -122.491987000159725, 38.189805000836728 ], [ -122.490513999532141, 38.18964500091014 ], [ -122.489473999617644, 38.189133000977378 ], [ -122.489058000172292, 38.189021000748056 ], [ -122.488737999723767, 38.189069000953424 ], [ -122.487425999589064, 38.188765000528015 ], [ -122.486529999424121, 38.188589000547942 ], [ -122.485729999669914, 38.188237000394508 ], [ -122.484913999806651, 38.187805000632835 ], [ -122.48435400028157, 38.187453000935925 ], [ -122.483857999699737, 38.187117000451387 ], [ -122.483473999901619, 38.186701000645989 ], [ -122.48312199943831, 38.186509000767671 ], [ -122.482722000524376, 38.186413000710658 ], [ -122.481922000086897, 38.186093000604878 ], [ -122.480577999514381, 38.185901001097101 ], [ -122.479329999609902, 38.185869000349982 ], [ -122.478801999611605, 38.186173000805049 ], [ -122.478482000223849, 38.186349000521439 ], [ -122.478161999412563, 38.186573000955228 ], [ -122.478081999610481, 38.186525000678984 ], [ -122.477521999806896, 38.186301000358938 ], [ -122.476865999465559, 38.18625300067913 ], [ -122.475810000014391, 38.18658900059696 ], [ -122.474737999644745, 38.186701000563431 ], [ -122.473522000350982, 38.187005000436336 ], [ -122.472721999518129, 38.187117000768822 ], [ -122.46989000014635, 38.187085000267338 ], [ -122.468370000354213, 38.186845000277955 ], [ -122.467329999846058, 38.18662100056288 ], [ -122.466752999494574, 38.186045000504357 ], [ -122.466192999576734, 38.185501000824615 ], [ -122.465985000463206, 38.185261000606062 ], [ -122.465360999537054, 38.185133000545349 ], [ -122.464641000523216, 38.185277000843023 ], [ -122.464256999524707, 38.18548500052372 ], [ -122.464128999748596, 38.185581000919548 ], [ -122.463968999691289, 38.185757000735016 ], [ -122.463777000438242, 38.185821000708856 ], [ -122.463681000230821, 38.185677000921388 ], [ -122.463521000259732, 38.185181000436437 ], [ -122.463360999971783, 38.18490900051826 ], [ -122.463056999411762, 38.184845000777372 ], [ -122.462881000305131, 38.184637000658995 ], [ -122.462592999457797, 38.184525001014464 ], [ -122.462673000471966, 38.183901000308111 ], [ -122.462480999667875, 38.183277001085258 ], [ -122.462177000517812, 38.182669000410989 ], [ -122.461905000049072, 38.182221000703187 ], [ -122.46158500003682, 38.181949000371766 ], [ -122.461249000197498, 38.18142100065841 ], [ -122.460977000529766, 38.180925000725217 ], [ -122.460513000151053, 38.180989001074956 ], [ -122.46016099988735, 38.180829000793715 ], [ -122.460097000467911, 38.180717000785144 ], [ -122.459777000199821, 38.180541000537545 ], [ -122.456353000182915, 38.180365000471696 ], [ -122.449664999677552, 38.176397000507464 ], [ -122.451376999563976, 38.176157001013969 ], [ -122.452785000358375, 38.175805000850488 ], [ -122.453697000517138, 38.175213000586119 ], [ -122.454848999422879, 38.173821000435332 ], [ -122.456481000081112, 38.172013000505082 ], [ -122.457344999820691, 38.17057300071167 ], [ -122.457425000234991, 38.170093000984345 ], [ -122.45667299979776, 38.170269000811921 ], [ -122.456225000141771, 38.17036500079363 ], [ -122.455680999737041, 38.170221000783648 ], [ -122.451585000114477, 38.170061000490044 ], [ -122.451296999742198, 38.169917001093886 ], [ -122.449408000402983, 38.168365000941513 ], [ -122.448127999733714, 38.167501000550288 ], [ -122.446976000343398, 38.166749000268773 ], [ -122.446527999859882, 38.166381000297271 ], [ -122.445871999892631, 38.166093000470006 ], [ -122.444671999495782, 38.165598000607162 ], [ -122.445231999740429, 38.164654001109554 ], [ -122.445460999705105, 38.164373000764627 ], [ -122.445935999786144, 38.163790000338174 ], [ -122.446944000167676, 38.162670000814209 ], [ -122.447680000219819, 38.161822001059704 ], [ -122.447856000332365, 38.161486000746983 ], [ -122.448143999587501, 38.160558000692369 ], [ -122.448191999442813, 38.159438000890226 ], [ -122.448095999912113, 38.157886000398229 ], [ -122.448143999499507, 38.157086000921829 ], [ -122.448127999985587, 38.155534000797125 ], [ -122.447824000487728, 38.153838000278242 ], [ -122.447551999785148, 38.152862000665301 ], [ -122.446831999898663, 38.151710000927139 ], [ -122.4456960003739, 38.152206000693894 ], [ -122.44433600049399, 38.15095800067018 ], [ -122.443504000333505, 38.150254000534638 ], [ -122.442463999818159, 38.149870000728235 ], [ -122.440895999689729, 38.149278001102537 ], [ -122.440304000415296, 38.14916600064489 ], [ -122.439151999780435, 38.14972600079517 ], [ -122.438768000028986, 38.149982000753326 ], [ -122.438512000421468, 38.149774001022386 ], [ -122.438064000374993, 38.149006000335476 ], [ -122.43750299938668, 38.148094001005312 ], [ -122.43614300016128, 38.147182000829474 ], [ -122.435007000523711, 38.146382000990876 ], [ -122.434223000297109, 38.145806001070277 ], [ -122.433263000413902, 38.145070001044374 ], [ -122.431854999485054, 38.14455800113253 ], [ -122.431070999993793, 38.144238000267684 ], [ -122.430079000150201, 38.143342001030149 ], [ -122.430111000099942, 38.142926000720998 ], [ -122.430638999538672, 38.142398000922441 ], [ -122.431038999998549, 38.141806000515139 ], [ -122.432047000226149, 38.141230001058275 ], [ -122.433439000512678, 38.140894000297735 ], [ -122.435535000030455, 38.140350000616408 ], [ -122.437870999767512, 38.139758000806097 ], [ -122.438670999430016, 38.139438000843967 ], [ -122.440319000234524, 38.138590000862649 ], [ -122.440831000073658, 38.137950000585612 ], [ -122.440990999717741, 38.136702000715061 ], [ -122.440702999910712, 38.135838000801883 ], [ -122.440030999592778, 38.135086000994377 ], [ -122.438991000223808, 38.133998000359604 ], [ -122.438335000296021, 38.133294000598177 ], [ -122.437966999875982, 38.132654000293435 ], [ -122.437630999792191, 38.13172600045344 ], [ -122.437246999590471, 38.130910000734808 ], [ -122.436702999629972, 38.130302000328903 ], [ -122.436014999681603, 38.129454000966298 ], [ -122.435567000355249, 38.128559001076454 ], [ -122.435662999565579, 38.127375000464411 ], [ -122.436287000485194, 38.126415000968493 ], [ -122.43638300032616, 38.125999000990596 ], [ -122.436304999727682, 38.1256420007903 ], [ -122.436147000353373, 38.124919000514353 ], [ -122.436008000425943, 38.124797001113585 ], [ -122.435795000271852, 38.12444600092811 ], [ -122.435474000213844, 38.123836000823566 ], [ -122.435122999459907, 38.123187000402908 ], [ -122.434635000499043, 38.122363000713847 ], [ -122.434604000423022, 38.122287000526818 ], [ -122.434528000027314, 38.122157001008659 ], [ -122.434497999544462, 38.122081001096625 ], [ -122.434437000202038, 38.121974000894667 ], [ -122.434360000446731, 38.121905000987574 ], [ -122.434237999873446, 38.121829000536295 ], [ -122.434140000517871, 38.121798001052277 ], [ -122.434070000424214, 38.121776000266479 ], [ -122.433933000097653, 38.121768000364987 ], [ -122.433765000456447, 38.12179100027118 ], [ -122.433581999411146, 38.121875000640792 ], [ -122.433062999990753, 38.122119001027784 ], [ -122.432499000412733, 38.122439000438703 ], [ -122.432026000181708, 38.122706000454798 ], [ -122.431598000268394, 38.122951001106948 ], [ -122.431293000325098, 38.123134000432891 ], [ -122.431003000367838, 38.123317000408115 ], [ -122.430758999715195, 38.123485000265504 ], [ -122.430499999774852, 38.12365300080107 ], [ -122.430347000207206, 38.123752000590009 ], [ -122.430256000257998, 38.12380500043033 ], [ -122.430148999468358, 38.123881000256354 ], [ -122.430041999556082, 38.123973000961833 ], [ -122.429950999936466, 38.124057000310721 ], [ -122.429888999802159, 38.124148000714051 ], [ -122.429812999968107, 38.124263000388012 ], [ -122.42975200027503, 38.124377000322433 ], [ -122.42969100007673, 38.124484001033622 ], [ -122.429645000194256, 38.124629000464921 ], [ -122.429599999896098, 38.124759000549261 ], [ -122.429530000227487, 38.12491900113443 ], [ -122.429218000108804, 38.124858000696413 ], [ -122.429202999718328, 38.124774000673348 ], [ -122.429203000393926, 38.124652000702511 ], [ -122.429233000343871, 38.124560000724863 ], [ -122.429248999857379, 38.124438000969654 ], [ -122.429294000044962, 38.124362000917046 ], [ -122.429355000049583, 38.124263000896875 ], [ -122.429416000277541, 38.124194001091723 ], [ -122.429492999801127, 38.124072001034122 ], [ -122.429539000424867, 38.123981000658439 ], [ -122.429569000304838, 38.123881000996214 ], [ -122.429644999677663, 38.12379700031687 ], [ -122.429706000384769, 38.123706000592897 ], [ -122.429797999884386, 38.123614000386254 ], [ -122.429874000034275, 38.12356900069522 ], [ -122.429965999718419, 38.123523000680784 ], [ -122.430102999833181, 38.123447000542548 ], [ -122.430195000362687, 38.123401000350995 ], [ -122.430270999830768, 38.12335500089906 ], [ -122.430362999731074, 38.123286000407234 ], [ -122.430439000010196, 38.123187000430327 ], [ -122.430484999720548, 38.123126000816683 ], [ -122.430606999730315, 38.123088001109593 ], [ -122.430697999971073, 38.123057000755331 ], [ -122.430897000219176, 38.123004001059385 ], [ -122.431048999795948, 38.122943000943017 ], [ -122.431247999702137, 38.12283600072665 ], [ -122.431384999481622, 38.122760000877371 ], [ -122.431521999461779, 38.12269100095768 ], [ -122.431628999697722, 38.122592000586508 ], [ -122.431736000141555, 38.122500001108115 ], [ -122.43181199975777, 38.122424000387497 ], [ -122.431873000304279, 38.122363000666034 ], [ -122.431949000009737, 38.122279000265763 ], [ -122.432102000025225, 38.122218000905768 ], [ -122.432239000187664, 38.122218000650442 ], [ -122.432330999442485, 38.12218800064344 ], [ -122.432437999733821, 38.122134000365335 ], [ -122.43259000022465, 38.122043000682368 ], [ -122.432697000341562, 38.121944001122216 ], [ -122.432789000385327, 38.121837000651361 ], [ -122.432864999962462, 38.121768001129617 ], [ -122.432957000074509, 38.121722000550655 ], [ -122.433079000018253, 38.121707001132748 ], [ -122.433261999493752, 38.121692000254924 ], [ -122.433384000463718, 38.12164600076116 ], [ -122.43347500023846, 38.121585000674699 ], [ -122.433535999568235, 38.121501000795831 ], [ -122.433520999431792, 38.121417000363458 ], [ -122.4335670003952, 38.121318000562795 ], [ -122.433643000365706, 38.121203001080062 ], [ -122.433735000055648, 38.121173000866079 ], [ -122.433841999398865, 38.1211120009974 ], [ -122.433964000350969, 38.121028001032151 ], [ -122.434069999470225, 38.120944000463346 ], [ -122.434254000281555, 38.120906000875657 ], [ -122.434376000334581, 38.120952001044792 ], [ -122.434513000524788, 38.120944000341431 ], [ -122.434649999643739, 38.120982000729185 ], [ -122.434756999682861, 38.121051000597191 ], [ -122.434864000191922, 38.121043000246857 ], [ -122.43495500021848, 38.120990000396993 ], [ -122.435015999588956, 38.120914001128895 ], [ -122.435108000337351, 38.120814000708442 ], [ -122.435245000505091, 38.120791000365877 ], [ -122.435413000264489, 38.120822000984802 ], [ -122.435474000347355, 38.120898000935533 ], [ -122.435626999633456, 38.120906001090177 ], [ -122.435717999870349, 38.120868000332422 ], [ -122.43579499967602, 38.120807000584861 ], [ -122.43585600044716, 38.120708000702329 ], [ -122.435901000472782, 38.120616000660021 ], [ -122.43596199956788, 38.120524000804402 ], [ -122.436039000252151, 38.120433000620913 ], [ -122.436114999818116, 38.120387000950025 ], [ -122.436237000448259, 38.12035700035895 ], [ -122.436373999433769, 38.120357000672577 ], [ -122.436526999601568, 38.120341000878064 ], [ -122.436663999749527, 38.120311000582646 ], [ -122.436785999871816, 38.120273000725668 ], [ -122.436878000233875, 38.120242000345272 ], [ -122.436985000428209, 38.120219001071973 ], [ -122.437106999541086, 38.120212000651286 ], [ -122.437289999876228, 38.120196000295401 ], [ -122.437397000188369, 38.120174001046415 ], [ -122.437504000050268, 38.120158000491429 ], [ -122.437640999636201, 38.120143000541887 ], [ -122.437855000124557, 38.120082000816062 ], [ -122.437960999649164, 38.120021000496472 ], [ -122.438006999968707, 38.11994500089704 ], [ -122.438037999648145, 38.119845001042499 ], [ -122.438052999704539, 38.119754000349857 ], [ -122.438143999747211, 38.119586000682013 ], [ -122.438296999653375, 38.119456000743959 ], [ -122.438358000311041, 38.119395000304841 ], [ -122.438449999913743, 38.119266000937579 ], [ -122.438541000281447, 38.119121001133628 ], [ -122.438556, 38.119014000269615 ], [ -122.438556000240155, 38.118869000842608 ], [ -122.438586999856085, 38.118724000841631 ], [ -122.438632999887062, 38.118617000287117 ], [ -122.43872400024064, 38.118541000894467 ], [ -122.438877000023467, 38.118434000359116 ], [ -122.439013999625729, 38.118358000518967 ], [ -122.439151999744766, 38.118266000692678 ], [ -122.439258000225806, 38.118175000689604 ], [ -122.439304000248015, 38.118045000566511 ], [ -122.439349999758932, 38.117961000806929 ], [ -122.439441000248564, 38.117900000541809 ], [ -122.439533000493398, 38.117854001065027 ], [ -122.439640000433386, 38.117793000361011 ], [ -122.439746999658496, 38.117747001053473 ], [ -122.439930000434401, 38.117663000881436 ], [ -122.44006699983818, 38.117610000891716 ], [ -122.440203999659872, 38.117549000243947 ], [ -122.440310999728027, 38.117488000725736 ], [ -122.44040299982683, 38.117480000454123 ], [ -122.440571000081491, 38.117473001016393 ], [ -122.440738000066872, 38.117473000280924 ], [ -122.440937000182643, 38.11745000087879 ], [ -122.44110499957975, 38.11741900097649 ], [ -122.441256999623022, 38.117358001054669 ], [ -122.441364000077414, 38.1172670002762 ], [ -122.44154699977345, 38.117213000566132 ], [ -122.441669000333604, 38.117160000404724 ], [ -122.441822000447289, 38.117122001092973 ], [ -122.441958999693625, 38.117084000385653 ], [ -122.442066000316672, 38.117015000562354 ], [ -122.442127000384389, 38.116939001126923 ], [ -122.442219000047601, 38.116878000729308 ], [ -122.442355999739519, 38.116801001058747 ], [ -122.442478000139374, 38.116733000348717 ], [ -122.442585000050599, 38.116641000741801 ], [ -122.442691999618106, 38.1165340004315 ], [ -122.442814000020121, 38.116412000262699 ], [ -122.442919999591268, 38.116305000403607 ], [ -122.443011999927094, 38.116229000576702 ], [ -122.44316500008533, 38.116160000598569 ], [ -122.443286999931743, 38.11613000074226 ], [ -122.443423999960345, 38.116115000323106 ], [ -122.443592000457869, 38.116077000353641 ], [ -122.443698999780096, 38.116038001125439 ], [ -122.44382100035206, 38.116008000716107 ], [ -122.443986999857032, 38.116019000432004 ], [ -122.444064999405597, 38.11600000051984 ], [ -122.444156000402472, 38.116015000889703 ], [ -122.444232999644115, 38.11606100055468 ], [ -122.444323999546469, 38.116115001098656 ], [ -122.444400999579287, 38.116168000758769 ], [ -122.44449200002154, 38.116206001071404 ], [ -122.444660000122383, 38.11623700108975 ], [ -122.444858000118259, 38.116267000726133 ], [ -122.445010999926268, 38.116305000665264 ], [ -122.445147999749565, 38.116344000950832 ], [ -122.445300999979352, 38.116366000411055 ], [ -122.445469000298047, 38.116412000780194 ], [ -122.445652000494761, 38.116473001089659 ], [ -122.445743000125162, 38.116504000328881 ], [ -122.445941999869035, 38.116519000450118 ], [ -122.446032999967969, 38.116511000960635 ], [ -122.446232000182363, 38.116519000491309 ], [ -122.446323000106716, 38.11655000108582 ], [ -122.446400000065651, 38.11658800063541 ], [ -122.446491000362997, 38.11665600060919 ], [ -122.446613000325925, 38.116695000620361 ], [ -122.446719999937486, 38.116710000458561 ], [ -122.446856999830146, 38.116717000348892 ], [ -122.446994999883003, 38.116695000374342 ], [ -122.447116999722041, 38.116756000568309 ], [ -122.447161999830627, 38.116824000745176 ], [ -122.447253999539655, 38.116946000335759 ], [ -122.447330000141136, 38.117015000688781 ], [ -122.447407000139933, 38.117061000982005 ], [ -122.447497999653322, 38.117091000264281 ], [ -122.447605000164103, 38.117129000407736 ], [ -122.447757999807521, 38.117152000675169 ], [ -122.447848999597042, 38.117137000579909 ], [ -122.447955999847665, 38.117114000290741 ], [ -122.448063000519511, 38.117107000910558 ], [ -122.448199999986898, 38.117183000751098 ], [ -122.448276000048082, 38.117236000386939 ], [ -122.448413999952393, 38.117274000262377 ], [ -122.448565999676362, 38.117297001092886 ], [ -122.4487039995185, 38.117305000321416 ], [ -122.448855999812977, 38.117290000872082 ], [ -122.448978000139732, 38.117274000723192 ], [ -122.449084999995463, 38.117236000602247 ], [ -122.449191999472163, 38.117183000678331 ], [ -122.44929900013264, 38.117152000466824 ], [ -122.449450999595499, 38.117129000640546 ], [ -122.449649999962304, 38.117114000489643 ], [ -122.449847999521751, 38.11703000100313 ], [ -122.44992399950263, 38.116977000346701 ], [ -122.450062000276915, 38.116901000360315 ], [ -122.450183999886704, 38.116862000546497 ], [ -122.450306000197941, 38.116862000922396 ], [ -122.450427999878684, 38.116870000770824 ], [ -122.450549999587594, 38.116878000492775 ], [ -122.450656999718447, 38.116878000650466 ], [ -122.450732999617387, 38.116801000659684 ], [ -122.450778999495171, 38.116725000476372 ], [ -122.450855000166655, 38.116618000996297 ], [ -122.451022999510798, 38.116519001079169 ], [ -122.451220999728818, 38.116504000796418 ], [ -122.451251999449795, 38.116611001034379 ], [ -122.451266999408247, 38.116740000247354 ], [ -122.451281999510314, 38.116817000237702 ], [ -122.451343000333921, 38.116977000485115 ], [ -122.451327999563674, 38.117053000556417 ], [ -122.451281999503138, 38.117137000552773 ], [ -122.45126700036883, 38.117221001124854 ], [ -122.451298000454145, 38.117328000439208 ], [ -122.451374000379047, 38.117419000690695 ], [ -122.451450000178895, 38.117480000582816 ], [ -122.451526000438548, 38.117580000738606 ], [ -122.451571999768888, 38.117686001100815 ], [ -122.451603000488547, 38.117793000331133 ], [ -122.451618000007613, 38.117915000273626 ], [ -122.451617999501423, 38.11802200079385 ], [ -122.451602999919388, 38.118152000902207 ], [ -122.451542000077538, 38.118281000371006 ], [ -122.451464999504196, 38.118411000304299 ], [ -122.451404000228237, 38.1185330004975 ], [ -122.451359000136435, 38.118663001067816 ], [ -122.451342999390874, 38.118777000857094 ], [ -122.45132799987708, 38.118854000409392 ], [ -122.451359000273342, 38.118976000283098 ], [ -122.45141999986329, 38.119037000431383 ], [ -122.451571999756183, 38.119067001085305 ], [ -122.451740000518782, 38.119067001108583 ], [ -122.451847000281234, 38.119060000991013 ], [ -122.452015000054729, 38.119067000716726 ], [ -122.45210600006854, 38.119105000540642 ], [ -122.452166999493201, 38.11918200040158 ], [ -122.452197999412846, 38.119258000549834 ], [ -122.452243999606921, 38.119395000428256 ], [ -122.452304999389511, 38.119525000715875 ], [ -122.452381000365634, 38.119662000695726 ], [ -122.452471999733973, 38.119807000725999 ], [ -122.452534000309129, 38.119868000450744 ], [ -122.452671000373769, 38.11992200068314 ], [ -122.452777999487608, 38.119929000819418 ], [ -122.45293000040553, 38.119952000525231 ], [ -122.453082999919843, 38.120021000573885 ], [ -122.453205000426905, 38.120074000254341 ], [ -122.453296000094923, 38.120166000951208 ], [ -122.453434000480883, 38.120166000448322 ], [ -122.453616999463932, 38.120105000781045 ], [ -122.453707999947682, 38.120044000274014 ], [ -122.453754000238874, 38.119960000268506 ], [ -122.453861000312756, 38.119960001125911 ], [ -122.453968000242952, 38.119983000282041 ], [ -122.454090000064156, 38.119983000346259 ], [ -122.454226999890494, 38.119952000771498 ], [ -122.454410000156358, 38.119906000469825 ], [ -122.454502000043846, 38.119853000879878 ], [ -122.45467000015563, 38.119784000619717 ], [ -122.454853000152312, 38.119716000724075 ], [ -122.455004999609415, 38.119639000939252 ], [ -122.455157999813594, 38.119563000589949 ], [ -122.455265000260525, 38.11949500086363 ], [ -122.455786999423282, 38.119219000412109 ], [ -122.456240999485985, 38.119021000776037 ], [ -122.457187000504675, 38.118648000746994 ], [ -122.458164000450452, 38.11832700094979 ], [ -122.459630000508255, 38.117999000689046 ], [ -122.460941999542712, 38.117663000591243 ], [ -122.462193000089471, 38.117557000751901 ], [ -122.463123999974485, 38.117473000894833 ], [ -122.464313999690361, 38.117168001034784 ], [ -122.465366999547328, 38.116962000309599 ], [ -122.466389999441844, 38.116847000365013 ], [ -122.4680529998829, 38.116740001134943 ], [ -122.470631000288407, 38.116557000434554 ], [ -122.472890000383842, 38.116435000517463 ], [ -122.475300999830367, 38.11599300091293 ], [ -122.476963999457269, 38.115810000787107 ], [ -122.478763999593383, 38.115527000385839 ], [ -122.479648999660299, 38.115497000691029 ], [ -122.481006999468846, 38.115031000391788 ], [ -122.482548999621258, 38.114757000598573 ], [ -122.483997999698275, 38.114413000868304 ], [ -122.485874999505498, 38.113780001029127 ], [ -122.48755299944591, 38.11313200027935 ], [ -122.489170999686181, 38.112674000248354 ], [ -122.490895000369846, 38.112109001100542 ], [ -122.491400999588805, 38.109958000711849 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 713, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.52788000010942, 37.052593000507102 ], [ -121.52843600042678, 37.051602000436354 ], [ -121.528916999772264, 37.050746000365855 ], [ -121.531974000113493, 37.04793200098225 ], [ -121.532274000243149, 37.047656000817398 ], [ -121.532885000306919, 37.047046000432282 ], [ -121.534197000046305, 37.045848000739809 ], [ -121.537750999912106, 37.043246000555619 ], [ -121.540238999908226, 37.042377000869116 ], [ -121.542150999935828, 37.041646000932694 ], [ -121.543066999840022, 37.043358000441764 ], [ -121.543154000116743, 37.043521001111792 ], [ -121.54503100045585, 37.046825000939037 ], [ -121.545626000362816, 37.047832000889592 ], [ -121.545951999633743, 37.048446000575538 ], [ -121.547060999743422, 37.050311000716455 ], [ -121.547884999913194, 37.051753000228885 ], [ -121.548235999759541, 37.052539000560309 ], [ -121.549089999663764, 37.05399600041401 ], [ -121.549651999997621, 37.055246000732105 ], [ -121.551252000391912, 37.057946000660742 ], [ -121.55415199971452, 37.063246000355001 ], [ -121.554205000110102, 37.063349000634659 ], [ -121.556162000237762, 37.06718600063202 ], [ -121.556703999722316, 37.068248000256851 ], [ -121.554598999711956, 37.069049000231473 ], [ -121.554445999998649, 37.069179000671426 ], [ -121.55383599950656, 37.069804000842595 ], [ -121.554323999615804, 37.070689000748487 ], [ -121.554360999966605, 37.070851000396878 ], [ -121.55444599990318, 37.071224000578347 ], [ -121.55439999943647, 37.071666000543914 ], [ -121.554172000157578, 37.072200001004269 ], [ -121.553514999708682, 37.072993000527262 ], [ -121.553112999521503, 37.073197000228795 ], [ -121.552630000383488, 37.073443000881817 ], [ -121.55087600006074, 37.074106000476128 ], [ -121.550326000508974, 37.074190000252081 ], [ -121.549288999953347, 37.074198000371211 ], [ -121.54851100032738, 37.073717000235504 ], [ -121.555926000355583, 37.083414001074274 ], [ -121.556038999936035, 37.083366000242989 ], [ -121.55664299973472, 37.083109001002647 ], [ -121.557635000481667, 37.082735000353026 ], [ -121.560106999621141, 37.081858000591616 ], [ -121.563738999557572, 37.080736000785159 ], [ -121.566792000263433, 37.079409000768131 ], [ -121.567752999881932, 37.079145000462411 ], [ -121.568774000107695, 37.078813000900638 ], [ -121.570101999842052, 37.078380000679964 ], [ -121.572352999676255, 37.077646001030551 ], [ -121.574221000431677, 37.076907000524081 ], [ -121.577153000106208, 37.075746000755856 ], [ -121.579952999769233, 37.074746000907972 ], [ -121.582352999571583, 37.073846000525457 ], [ -121.584953000241299, 37.073046000365785 ], [ -121.587252999408491, 37.072246000659128 ], [ -121.587853000278372, 37.072046000695437 ], [ -121.589853999820818, 37.071346000952147 ], [ -121.591008000213279, 37.070873000744207 ], [ -121.593154000016924, 37.070146000493594 ], [ -121.596153999555312, 37.06914600083185 ], [ -121.59775399994669, 37.06854600062718 ], [ -121.600154000023863, 37.067746000606178 ], [ -121.600554000167577, 37.067646000587558 ], [ -121.604554000226898, 37.074346000307351 ], [ -121.609589999987762, 37.072478000925571 ], [ -121.610754000241258, 37.072046000672813 ], [ -121.613755000454034, 37.070946001084522 ], [ -121.616771999720186, 37.069778000801627 ], [ -121.616854999923405, 37.069746000707163 ], [ -121.617054999677549, 37.070046000888659 ], [ -121.618209999929377, 37.072043000865165 ], [ -121.619683999837321, 37.074592000790936 ], [ -121.622954999712036, 37.080246000583692 ], [ -121.616654999572347, 37.08254600077408 ], [ -121.613655000496237, 37.083646000467212 ], [ -121.610854000223867, 37.078746000438805 ], [ -121.607753999415223, 37.079946000278483 ], [ -121.610154000252393, 37.084046000795531 ], [ -121.610254000083927, 37.084346000675687 ], [ -121.610553999857729, 37.084746000796912 ], [ -121.610154000392569, 37.084946000419123 ], [ -121.609653999897432, 37.085146000632733 ], [ -121.608654000117255, 37.083546000869902 ], [ -121.607754000130441, 37.081946000416785 ], [ -121.606653999676567, 37.082346000902696 ], [ -121.605454000481956, 37.082646001113474 ], [ -121.606353999579284, 37.084346000578165 ], [ -121.6071540001697, 37.085946000994909 ], [ -121.607825999687819, 37.087156000383978 ], [ -121.608154000278589, 37.087746000358678 ], [ -121.609054000276046, 37.089346000587206 ], [ -121.609617999705335, 37.090431000748765 ], [ -121.611653999884652, 37.094346000384945 ], [ -121.616255000157267, 37.095546000611442 ], [ -121.621144999426193, 37.10082800057738 ], [ -121.62125499971097, 37.100946000925482 ], [ -121.623022000214803, 37.102674000390259 ], [ -121.624224999897621, 37.103848000706179 ], [ -121.625654999960119, 37.105245000320991 ], [ -121.626054999475457, 37.105645001042284 ], [ -121.6271549999434, 37.106745000874227 ], [ -121.627855000460698, 37.107445000823269 ], [ -121.628754999914236, 37.108345000898296 ], [ -121.628481999467851, 37.108425001006573 ], [ -121.626317999832352, 37.109185000915318 ], [ -121.625719000187971, 37.10939600078634 ], [ -121.624155000495762, 37.109945000382289 ], [ -121.620655000453922, 37.111145000452169 ], [ -121.619454999780231, 37.111645001096932 ], [ -121.616155000503682, 37.112645000313698 ], [ -121.614813999638002, 37.113109000880122 ], [ -121.612727000013265, 37.113831001129071 ], [ -121.610953999840561, 37.114445000588468 ], [ -121.605754000485064, 37.116245000661813 ], [ -121.602854000406282, 37.117345000651795 ], [ -121.60255100040834, 37.117437001095425 ], [ -121.600553999637256, 37.118045000532007 ], [ -121.595454000456016, 37.119945001129103 ], [ -121.600854000353081, 37.129144000508859 ], [ -121.599354000125089, 37.129744000509007 ], [ -121.598754000468404, 37.129944000808237 ], [ -121.595954000067195, 37.130944001005098 ], [ -121.597204999472623, 37.133185000603191 ], [ -121.59174100008731, 37.135354000542932 ], [ -121.591909000089828, 37.134690000594709 ], [ -121.590749000026037, 37.135003000478633 ], [ -121.590627000173257, 37.135614001122171 ], [ -121.590468000397962, 37.135701000243387 ], [ -121.590281000292066, 37.136142000256882 ], [ -121.59018000011632, 37.136336000982936 ], [ -121.590130000025624, 37.136452000903049 ], [ -121.58997699946211, 37.136790000424398 ], [ -121.589653999465483, 37.137344001037789 ], [ -121.589487999531528, 37.13784800040326 ], [ -121.589369999538789, 37.137402001015872 ], [ -121.589307000435227, 37.137163000723362 ], [ -121.588906000111436, 37.137241000355566 ], [ -121.588853000444175, 37.137507000440564 ], [ -121.588441999815871, 37.137590000858857 ], [ -121.588358000507526, 37.137607000269227 ], [ -121.588303999448087, 37.137345000618652 ], [ -121.587978999701249, 37.13768400048351 ], [ -121.587865999643753, 37.13770700040088 ], [ -121.587340999709483, 37.137640001058067 ], [ -121.58702200045235, 37.137600001069323 ], [ -121.586667999699202, 37.138069000683394 ], [ -121.585168000449315, 37.137523000412287 ], [ -121.583084999836956, 37.136766000930734 ], [ -121.583148999754513, 37.1372050008247 ], [ -121.583190999504438, 37.137490000373333 ], [ -121.583346999403631, 37.137956001015262 ], [ -121.583667999491311, 37.140351000657503 ], [ -121.584003000208583, 37.142472000877056 ], [ -121.584156000264429, 37.14462400024501 ], [ -121.584155999790653, 37.147549000670146 ], [ -121.58415599945161, 37.14785900034245 ], [ -121.584048999664546, 37.150780000521856 ], [ -121.584170999454273, 37.151039000384621 ], [ -121.585195000243303, 37.151978000661579 ], [ -121.585927000346317, 37.15246600113224 ], [ -121.58475299988558, 37.152343000405416 ], [ -121.581552999607851, 37.152543000246887 ], [ -121.581452999422424, 37.153143000686633 ], [ -121.580052999614011, 37.152843000728218 ], [ -121.579053000311248, 37.151943000390439 ], [ -121.578152999801091, 37.148643000420712 ], [ -121.574652999619914, 37.145143000354544 ], [ -121.572653000445897, 37.143544000803232 ], [ -121.570053000277653, 37.141144001083198 ], [ -121.565752999869943, 37.137944000821463 ], [ -121.564152999724342, 37.137544000839362 ], [ -121.563653000395092, 37.135444000346943 ], [ -121.559352000517435, 37.13224400054299 ], [ -121.557852000322129, 37.128444000531829 ], [ -121.554451999791269, 37.126044000323851 ], [ -121.554251999535708, 37.124544001067946 ], [ -121.553052000311013, 37.123544001094508 ], [ -121.552952000459669, 37.121344001097697 ], [ -121.548852000436099, 37.119144000885875 ], [ -121.548629999792269, 37.118157000864286 ], [ -121.547252000008513, 37.112044000559791 ], [ -121.545251999597426, 37.108844000563401 ], [ -121.534850999806025, 37.087545000439256 ], [ -121.529150999805424, 37.083545000973444 ], [ -121.526550999698102, 37.081945000753173 ], [ -121.525651000196916, 37.081245000780804 ], [ -121.524050999816026, 37.079445000899341 ], [ -121.522550999413156, 37.07844500062069 ], [ -121.51504999960332, 37.076345000877687 ], [ -121.514920999481021, 37.076345000629409 ], [ -121.51204999995862, 37.076345000790283 ], [ -121.507049999676383, 37.074645000279588 ], [ -121.50704999950942, 37.074145000414724 ], [ -121.514250000104028, 37.075945000393595 ], [ -121.51430799998154, 37.075892000424354 ], [ -121.514571000347118, 37.075656000812842 ], [ -121.515249999426601, 37.075045000536761 ], [ -121.51634999991748, 37.07444500037623 ], [ -121.519470999977017, 37.070795001123031 ], [ -121.519638999702934, 37.070528000578747 ], [ -121.522524000156153, 37.067538000825536 ], [ -121.522030000240306, 37.065052000523416 ], [ -121.521746999592793, 37.063631000816109 ], [ -121.521302000422565, 37.061396000596986 ], [ -121.520875000168871, 37.060638000428838 ], [ -121.51975000050497, 37.058645000481 ], [ -121.521050000517874, 37.059445000534581 ], [ -121.522438000391588, 37.056902000304312 ], [ -121.522850999825096, 37.056146000972028 ], [ -121.52722299962636, 37.053386000889567 ], [ -121.52788000010942, 37.052593000507102 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 711, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.63199400024898, 37.01966600102714 ], [ -121.637304999724051, 37.021883000350059 ], [ -121.63732100048847, 37.021955000681949 ], [ -121.637320999668134, 37.022542000903265 ], [ -121.637624999409198, 37.024348000346329 ], [ -121.637641000334185, 37.024442000318167 ], [ -121.637320999441172, 37.027082000986731 ], [ -121.637556000055255, 37.0279480004437 ], [ -121.640255999836583, 37.02794800044714 ], [ -121.642538999570604, 37.027948000858416 ], [ -121.642556000056842, 37.027948000671778 ], [ -121.643638000514201, 37.027936000424006 ], [ -121.644362000031748, 37.028034000958598 ], [ -121.644455999892827, 37.029348000435093 ], [ -121.644448999880254, 37.029430000879408 ], [ -121.64453800034957, 37.029439000241844 ], [ -121.64555999952853, 37.029737000697317 ], [ -121.646216999803258, 37.029844000496787 ], [ -121.64900899989658, 37.029706001053157 ], [ -121.649893999716781, 37.029699000693441 ], [ -121.650442999617908, 37.02965300078062 ], [ -121.652686000261284, 37.030103000792053 ], [ -121.654060000265275, 37.029966000625699 ], [ -121.656340999483675, 37.03032400037079 ], [ -121.653456000096327, 37.045348000416773 ], [ -121.652956000466034, 37.045448000876718 ], [ -121.650256000072318, 37.046248000701674 ], [ -121.649618999847263, 37.046216000299829 ], [ -121.646873000256704, 37.046155000462051 ], [ -121.644949999808659, 37.046094000312223 ], [ -121.642431999993903, 37.045965000702445 ], [ -121.64144099983406, 37.045942000516796 ], [ -121.641071999699477, 37.045868000955331 ], [ -121.635841000287044, 37.044819000941125 ], [ -121.634755000251914, 37.04444700027797 ], [ -121.632755000380641, 37.044847000510963 ], [ -121.631907999823497, 37.043529000942193 ], [ -121.631478999977134, 37.043391000254559 ], [ -121.628088000239799, 37.042301000588239 ], [ -121.626500999974738, 37.041760000729781 ], [ -121.626055000286158, 37.041603001080354 ], [ -121.623054999674579, 37.040547000735216 ], [ -121.622046000348917, 37.040531000624618 ], [ -121.62105499994432, 37.040147000946874 ], [ -121.619978999622802, 37.040428000846283 ], [ -121.618755000008093, 37.040747000804181 ], [ -121.616654999628921, 37.040947000324842 ], [ -121.615455000130311, 37.04284700074637 ], [ -121.612902999424008, 37.042076000931083 ], [ -121.611626999403668, 37.041691001102414 ], [ -121.607067999484045, 37.040313000801355 ], [ -121.606285000468475, 37.040077000603809 ], [ -121.605530999773009, 37.039849000434351 ], [ -121.603853999632449, 37.039342000704124 ], [ -121.602413000029401, 37.038906001060312 ], [ -121.60045300039279, 37.038314000779096 ], [ -121.598491999735842, 37.037721001044602 ], [ -121.5973599995353, 37.037379000784192 ], [ -121.597253999428233, 37.037347001070572 ], [ -121.59745399954727, 37.035547001112995 ], [ -121.59755400013573, 37.034747000689606 ], [ -121.597654000136458, 37.032947000837929 ], [ -121.59795400015922, 37.030247000970618 ], [ -121.598123000383836, 37.028842000901989 ], [ -121.598253999408584, 37.027748000442593 ], [ -121.598354000464894, 37.025548000275215 ], [ -121.598437000353982, 37.024898001052506 ], [ -121.598557999804342, 37.023954000903657 ], [ -121.598620000291774, 37.02346700035951 ], [ -121.598777999764124, 37.022224000659115 ], [ -121.598785000127961, 37.022173000284972 ], [ -121.598853999839434, 37.021632001121723 ], [ -121.598954000507845, 37.020848000287373 ], [ -121.599054000123118, 37.02024800030798 ], [ -121.599054000345959, 37.019941000759566 ], [ -121.599053999960574, 37.019448000875052 ], [ -121.599153999456405, 37.01894800082335 ], [ -121.599254000069223, 37.018048000822304 ], [ -121.599453999699165, 37.017148001077985 ], [ -121.599453999927348, 37.016048000567082 ], [ -121.599454000256628, 37.015556000878874 ], [ -121.599453999820156, 37.015448001024083 ], [ -121.599654000201397, 37.014448000250475 ], [ -121.599653999984909, 37.013148000506945 ], [ -121.603092999782334, 37.012533000351198 ], [ -121.605354000350104, 37.012148001125794 ], [ -121.606648000244547, 37.011953000243338 ], [ -121.607807999504516, 37.011854000525432 ], [ -121.610453999794871, 37.011748000866675 ], [ -121.610936000189383, 37.011861000649674 ], [ -121.613468999998162, 37.01206000108882 ], [ -121.615576000415544, 37.011930000368103 ], [ -121.616079000361452, 37.011938000415249 ], [ -121.616628999823334, 37.011930000749508 ], [ -121.618797999743791, 37.0118880008677 ], [ -121.620125999498171, 37.011862000732734 ], [ -121.625509000483163, 37.011663000737194 ], [ -121.62605499959713, 37.01165500022983 ], [ -121.626554999739383, 37.011648000741154 ], [ -121.627323000342017, 37.011956000462568 ], [ -121.627596000162569, 37.012593001049687 ], [ -121.627736999975909, 37.012907000322187 ], [ -121.627951999832149, 37.014166000452086 ], [ -121.628259999751975, 37.014643000986403 ], [ -121.628689999539006, 37.015072000361869 ], [ -121.628850000239254, 37.015340001064061 ], [ -121.628950000314759, 37.015642001067768 ], [ -121.628955000382561, 37.017448000777854 ], [ -121.630239999735551, 37.018941000723579 ], [ -121.63199400024898, 37.01966600102714 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 709, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.586653000205231, 37.017048001036699 ], [ -121.586752999467805, 37.017848000889792 ], [ -121.586752999449203, 37.018848000305319 ], [ -121.586652999563469, 37.019748000930221 ], [ -121.586852999454266, 37.020448000834399 ], [ -121.586753000335136, 37.02104800045506 ], [ -121.586753000051985, 37.022048000261087 ], [ -121.586753000447388, 37.023048000817909 ], [ -121.586753000310395, 37.023566000807371 ], [ -121.586753000071269, 37.024271000269771 ], [ -121.586753000074708, 37.024647000312925 ], [ -121.586753000503009, 37.025047000933789 ], [ -121.586753000392534, 37.026616000765912 ], [ -121.586753000275792, 37.027147000817862 ], [ -121.586785999779124, 37.027241000420297 ], [ -121.587099000022462, 37.028147000525827 ], [ -121.587652999644035, 37.02974700039897 ], [ -121.585053000405225, 37.030547000541411 ], [ -121.586853000378397, 37.033047000305842 ], [ -121.587054999504218, 37.03343100055092 ], [ -121.587852999754162, 37.034947000419031 ], [ -121.589352999579845, 37.03714700054514 ], [ -121.588198999960866, 37.037556000456149 ], [ -121.587553000512415, 37.037647000865022 ], [ -121.584452999941192, 37.038147000809474 ], [ -121.58355299984153, 37.035947000988202 ], [ -121.582752999476796, 37.034547000378595 ], [ -121.581353000298208, 37.031847001056164 ], [ -121.580151000309442, 37.029620000744089 ], [ -121.579165999433457, 37.027966000382008 ], [ -121.578402999930631, 37.026371000679561 ], [ -121.578353000379934, 37.026147000799753 ], [ -121.578052999957634, 37.025547000558703 ], [ -121.577624999876917, 37.024960000462109 ], [ -121.577151999951639, 37.023595000926726 ], [ -121.57665300001824, 37.022747000957374 ], [ -121.576153000326457, 37.021947000650265 ], [ -121.575152999652602, 37.019847000665578 ], [ -121.574952999685081, 37.01944700051142 ], [ -121.57445300008547, 37.018048000498673 ], [ -121.574052999651627, 37.017048000313324 ], [ -121.57275300029454, 37.014548000504426 ], [ -121.573653000428365, 37.014248000979414 ], [ -121.574852999440225, 37.013848000765172 ], [ -121.576053000122599, 37.013648000865125 ], [ -121.577252999831174, 37.013248000470021 ], [ -121.578853000173297, 37.013448001125369 ], [ -121.580053000307643, 37.013448000297707 ], [ -121.580353000357462, 37.013448000672462 ], [ -121.581252999611038, 37.013348000793542 ], [ -121.581653000342698, 37.013348000986035 ], [ -121.586752999650216, 37.013448000315968 ], [ -121.586653000227869, 37.015448000916997 ], [ -121.586652999800179, 37.016248000571977 ], [ -121.586653000205231, 37.017048001036699 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 705, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.555552000240183, 36.975949000607116 ], [ -121.55545200050517, 36.975649000468188 ], [ -121.553251999931717, 36.968849000497706 ], [ -121.552252000056029, 36.96604900096812 ], [ -121.551752000490652, 36.964249000956528 ], [ -121.551651999970986, 36.96384900047174 ], [ -121.551451999693612, 36.963149000591805 ], [ -121.551052000137133, 36.96184900109909 ], [ -121.550951999541965, 36.960450000803462 ], [ -121.551052000068381, 36.959450001049071 ], [ -121.5525399996842, 36.950324000632037 ], [ -121.552551999658675, 36.950250000224564 ], [ -121.552352000413705, 36.94295000033874 ], [ -121.555551999455474, 36.943950000812308 ], [ -121.556951999647367, 36.944250000705573 ], [ -121.56535299949978, 36.945850000620091 ], [ -121.568352999851044, 36.948350001050301 ], [ -121.572253000424865, 36.947750001003236 ], [ -121.58015300041761, 36.952850000653278 ], [ -121.580652999716193, 36.95585000042874 ], [ -121.582653000302841, 36.958350000768199 ], [ -121.584352999551243, 36.957150000948857 ], [ -121.592853999885833, 36.958950000844666 ], [ -121.592754000050903, 36.960650000404748 ], [ -121.593154000479728, 36.961850000298092 ], [ -121.597154000089674, 36.964150000734591 ], [ -121.597554000007037, 36.964550000390503 ], [ -121.598454000361656, 36.965650000362963 ], [ -121.600654000214149, 36.966650000931594 ], [ -121.603454000343206, 36.969950001049639 ], [ -121.609854000221091, 36.972450000387717 ], [ -121.620455000287052, 36.976850000694228 ], [ -121.621048999874219, 36.977096000910514 ], [ -121.621138999400401, 36.977456000391093 ], [ -121.61831199967358, 36.98069600094702 ], [ -121.617139999476862, 36.982376000244322 ], [ -121.616155000125062, 36.989749001019689 ], [ -121.613455000208333, 36.992749000573191 ], [ -121.611653999941069, 36.999049000515342 ], [ -121.612006000161074, 36.999949000687216 ], [ -121.613454000220671, 37.003648000806088 ], [ -121.612054000022695, 37.008448000408627 ], [ -121.613354999875725, 37.008898000395114 ], [ -121.613378000070725, 37.009771000872149 ], [ -121.613468999998162, 37.01206000108882 ], [ -121.610936000189383, 37.011861000649674 ], [ -121.610453999794871, 37.011748000866675 ], [ -121.607807999504516, 37.011854000525432 ], [ -121.606648000244547, 37.011953000243338 ], [ -121.605354000350104, 37.012148001125794 ], [ -121.603092999782334, 37.012533000351198 ], [ -121.599653999984909, 37.013148000506945 ], [ -121.598053999511905, 37.013448000957908 ], [ -121.593753999637897, 37.013448000346166 ], [ -121.592775000389153, 37.013523000876233 ], [ -121.592350999425449, 37.013555000724764 ], [ -121.591552999951347, 37.013548000255575 ], [ -121.589329000188812, 37.013563000783805 ], [ -121.588505000161632, 37.013509000726152 ], [ -121.587802999520179, 37.013517000655803 ], [ -121.586752999650216, 37.013448000315968 ], [ -121.586652999910243, 37.012548000730945 ], [ -121.587119999696327, 37.011801000851868 ], [ -121.587152999661214, 37.011748000513592 ], [ -121.587253000303605, 37.01074800073102 ], [ -121.587253000418627, 37.010048000487039 ], [ -121.587252999881215, 37.008448000271777 ], [ -121.58705300035561, 37.006148001015575 ], [ -121.587086000267163, 37.005697000725142 ], [ -121.587146999672925, 37.004682001113622 ], [ -121.587193000128963, 37.003789001110853 ], [ -121.58746699939789, 37.003126000839856 ], [ -121.587756999840195, 37.002653000884777 ], [ -121.588078000040895, 37.002149000524305 ], [ -121.588305999817734, 37.001844000842226 ], [ -121.588520000115892, 37.001272000808022 ], [ -121.586522999493184, 36.999948000893376 ], [ -121.585711999409057, 36.99941000088279 ], [ -121.585765999827458, 36.999344000962076 ], [ -121.584853000026385, 36.999148001065429 ], [ -121.580753000419321, 36.995648000936143 ], [ -121.578952999836289, 36.996348001075702 ], [ -121.577852999435777, 36.996748001071786 ], [ -121.577715000357742, 36.996793000232394 ], [ -121.577378000173965, 36.996872000278373 ], [ -121.576114999919625, 36.997167001116686 ], [ -121.574130999713034, 36.997838000243462 ], [ -121.574102000473275, 36.997845000656824 ], [ -121.572741999583656, 36.998182000409372 ], [ -121.571537000054647, 36.998571000393916 ], [ -121.571031999465234, 36.998800000444248 ], [ -121.570651999452082, 36.998848000908353 ], [ -121.570574000136233, 36.998881000547485 ], [ -121.570391999858956, 36.99893700037881 ], [ -121.569842000118271, 36.999105000464958 ], [ -121.569551999960368, 36.999248000554914 ], [ -121.568151999821268, 36.999648000442285 ], [ -121.567251999956355, 36.999948000870212 ], [ -121.566952000326552, 37.000048000382776 ], [ -121.565851999914557, 37.000348000375631 ], [ -121.565702000067063, 36.999948000844583 ], [ -121.56525199946546, 36.998748001035835 ], [ -121.564352000079595, 36.996648000858819 ], [ -121.562838000244469, 36.993225000709586 ], [ -121.562051999716715, 36.991448000593095 ], [ -121.561052000142524, 36.989448000729752 ], [ -121.560452000288265, 36.988048000816164 ], [ -121.559811999970577, 36.987932000674718 ], [ -121.559559000480164, 36.987856000979605 ], [ -121.559153999803655, 36.987734000404657 ], [ -121.558955999836414, 36.987665000993942 ], [ -121.558351999503444, 36.987348001083241 ], [ -121.557970999658423, 36.987106000816453 ], [ -121.557622000189184, 36.986719000697683 ], [ -121.55735199983711, 36.986248000703 ], [ -121.557226999460781, 36.985813000226088 ], [ -121.557215000378875, 36.985558000485682 ], [ -121.557253999741079, 36.985156000411095 ], [ -121.557451999877969, 36.984649000237496 ], [ -121.557552000175647, 36.983849000581685 ], [ -121.557561999514775, 36.983801000885116 ], [ -121.55775200038407, 36.982849000335335 ], [ -121.557711999409975, 36.982174000468014 ], [ -121.557651999521852, 36.981149000391838 ], [ -121.556351999400832, 36.977949000855766 ], [ -121.555552000240183, 36.975949000607116 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 707, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.575152999652602, 37.019847000665578 ], [ -121.576153000326457, 37.021947000650265 ], [ -121.57665300001824, 37.022747000957374 ], [ -121.577151999951639, 37.023595000926726 ], [ -121.577624999876917, 37.024960000462109 ], [ -121.578052999957634, 37.025547000558703 ], [ -121.578353000379934, 37.026147000799753 ], [ -121.578402999930631, 37.026371000679561 ], [ -121.579165999433457, 37.027966000382008 ], [ -121.580151000309442, 37.029620000744089 ], [ -121.579752999994056, 37.029747000681247 ], [ -121.574552999433493, 37.03144700064562 ], [ -121.572513000048858, 37.032061000614227 ], [ -121.571953000433766, 37.032247000868018 ], [ -121.569451999670974, 37.027347000667177 ], [ -121.568852000233292, 37.026347000268011 ], [ -121.568351999735754, 37.025247000499981 ], [ -121.567751999603999, 37.024047000464478 ], [ -121.567709000463182, 37.023962000410997 ], [ -121.5675869994446, 37.023718001008348 ], [ -121.567451999644788, 37.02344700109203 ], [ -121.567135000478856, 37.022795000731456 ], [ -121.567116999850455, 37.022761000321857 ], [ -121.56692099994541, 37.022441000601702 ], [ -121.566861999445294, 37.022342000813168 ], [ -121.566796999784799, 37.022240000907274 ], [ -121.56505200042227, 37.0191470005554 ], [ -121.56401299957929, 37.017224000954343 ], [ -121.563825999561914, 37.016975000716599 ], [ -121.562852000245712, 37.014847000252857 ], [ -121.559863000432543, 37.009642000976108 ], [ -121.55980399956789, 37.009539001006786 ], [ -121.559752000443382, 37.009448001099678 ], [ -121.55956199941609, 37.009258000555711 ], [ -121.559351999943132, 37.009048000857547 ], [ -121.558551999610998, 37.00734800035395 ], [ -121.558252000251599, 37.006848000713852 ], [ -121.55805199957976, 37.006248000550961 ], [ -121.557352000220149, 37.004648000686998 ], [ -121.557135999530061, 37.003785000312178 ], [ -121.55695199982388, 37.003048000756259 ], [ -121.556951999887843, 37.002619000633835 ], [ -121.556952000339351, 37.002248000498817 ], [ -121.557052000007772, 37.0004480006587 ], [ -121.557152000276972, 36.999948000770893 ], [ -121.557251999717352, 36.998648000889645 ], [ -121.557289999957376, 36.997550000621651 ], [ -121.557292999785616, 36.997450001028938 ], [ -121.557349000165104, 36.995846000685233 ], [ -121.557352000208965, 36.995748000290874 ], [ -121.557751999730229, 36.991448000462157 ], [ -121.557952000353467, 36.9904480003458 ], [ -121.558051999473449, 36.989248000439787 ], [ -121.558063000272966, 36.989194000807466 ], [ -121.558151999659927, 36.988748000426618 ], [ -121.558351999503444, 36.987348001083241 ], [ -121.558955999836414, 36.987665000993942 ], [ -121.559153999803655, 36.987734000404657 ], [ -121.559559000480164, 36.987856000979605 ], [ -121.559811999970577, 36.987932000674718 ], [ -121.560452000288265, 36.988048000816164 ], [ -121.561052000142524, 36.989448000729752 ], [ -121.562051999716715, 36.991448000593095 ], [ -121.562838000244469, 36.993225000709586 ], [ -121.564352000079595, 36.996648000858819 ], [ -121.56525199946546, 36.998748001035835 ], [ -121.565702000067063, 36.999948000844583 ], [ -121.565851999914557, 37.000348000375631 ], [ -121.566952000326552, 37.000048000382776 ], [ -121.567751999839842, 37.001448001082231 ], [ -121.568352000063399, 37.002948000335977 ], [ -121.569151999611847, 37.00494800070495 ], [ -121.570551999878774, 37.004448000961304 ], [ -121.571752999707627, 37.004148000892783 ], [ -121.572553000229419, 37.00574800029387 ], [ -121.573016999500638, 37.006856000698811 ], [ -121.573252999984817, 37.007248000597599 ], [ -121.573408999530741, 37.00762700056702 ], [ -121.573952999456736, 37.008948000326129 ], [ -121.574752999577001, 37.010448000766608 ], [ -121.575352999534914, 37.012148000426478 ], [ -121.576053000122599, 37.013648000865125 ], [ -121.574852999440225, 37.013848000765172 ], [ -121.573653000428365, 37.014248000979414 ], [ -121.57275300029454, 37.014548000504426 ], [ -121.574052999651627, 37.017048000313324 ], [ -121.57445300008547, 37.018048000498673 ], [ -121.574952999685081, 37.01944700051142 ], [ -121.575152999652602, 37.019847000665578 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 706, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.51430799998154, 37.075892000424354 ], [ -121.514250000104028, 37.075945000393595 ], [ -121.50704999950942, 37.074145000414724 ], [ -121.507049999676383, 37.074645000279588 ], [ -121.50175000046589, 37.072745000937502 ], [ -121.498650000435362, 37.07624500101258 ], [ -121.494748999980004, 37.077645000884878 ], [ -121.489048999481369, 37.076845001017752 ], [ -121.489349000013661, 37.074945000397165 ], [ -121.488473000046611, 37.072901000497772 ], [ -121.48814900048707, 37.072145000416825 ], [ -121.487201000021329, 37.07251300081257 ], [ -121.483249000170886, 37.074045000698845 ], [ -121.478048999558084, 37.072445000773079 ], [ -121.477649000481222, 37.07224500036029 ], [ -121.475508000387393, 37.068945000962749 ], [ -121.472848000140516, 37.064845000253719 ], [ -121.472265999797486, 37.062748000589544 ], [ -121.471847999685977, 37.061245000857006 ], [ -121.467148000423947, 37.053245001069946 ], [ -121.466267999482639, 37.051666000948046 ], [ -121.463747999705717, 37.047145000707211 ], [ -121.46123799947199, 37.045177001001655 ], [ -121.458682000150432, 37.043173000333326 ], [ -121.457639000321109, 37.041530000557579 ], [ -121.457593000348922, 37.041341000345149 ], [ -121.456492000108113, 37.03679400083702 ], [ -121.455823999666833, 37.034038001111995 ], [ -121.455746999921431, 37.033946000606562 ], [ -121.45761199944566, 37.033427000485005 ], [ -121.457734000092586, 37.033398000295485 ], [ -121.457807000306772, 37.033380000285973 ], [ -121.45784699941008, 37.033346000459694 ], [ -121.457872999806455, 37.033286000450872 ], [ -121.45787399968512, 37.033227000429498 ], [ -121.457855000386701, 37.032751000624408 ], [ -121.458706000042028, 37.020090000663473 ], [ -121.458733999391498, 37.019927001118361 ], [ -121.458744999496503, 37.019885000519487 ], [ -121.458769999718655, 37.019835000233137 ], [ -121.458807000407461, 37.019781000603032 ], [ -121.458846999554666, 37.019746000695697 ], [ -121.464452999588872, 37.016231000328737 ], [ -121.464726999456957, 37.016025000922539 ], [ -121.464940000078002, 37.015843000648175 ], [ -121.465106999599982, 37.01557600062295 ], [ -121.465247999393171, 37.015346000696098 ], [ -121.468091000274171, 37.007638000248598 ], [ -121.468265999665576, 37.007117000890716 ], [ -121.468307999700016, 37.007021000985638 ], [ -121.468383999579828, 37.006891001042739 ], [ -121.468447000105257, 37.006849000855588 ], [ -121.468531000512272, 37.006842000770121 ], [ -121.468647999840186, 37.006838000745653 ], [ -121.468748000302725, 37.00684700048442 ], [ -121.47406799972434, 37.00778700033743 ], [ -121.474624999804249, 37.007838000876667 ], [ -121.474767000030099, 37.007800000796379 ], [ -121.474876999843644, 37.00773700034739 ], [ -121.474948000065368, 37.007547000884969 ], [ -121.474710000455303, 37.004395000264751 ], [ -121.474713999927957, 37.00433000099153 ], [ -121.474718000102015, 37.004286000558899 ], [ -121.47474799950551, 37.004247000612004 ], [ -121.475648999658944, 37.003869000369228 ], [ -121.475980000286938, 37.003730000588625 ], [ -121.476310999864992, 37.003579001034204 ], [ -121.476424000316442, 37.003552000679562 ], [ -121.476531999579692, 37.003554001065318 ], [ -121.476629999981512, 37.003597000867607 ], [ -121.476720999597759, 37.003667000912628 ], [ -121.476948000289624, 37.003860001123172 ], [ -121.477244999653422, 37.004225000454774 ], [ -121.483519999927736, 37.012509000923735 ], [ -121.483776999929091, 37.012833000254524 ], [ -121.484034999417247, 37.013078000972854 ], [ -121.484248000088016, 37.01314700042095 ], [ -121.485314999513193, 37.013232000415975 ], [ -121.486749000141288, 37.013347000806128 ], [ -121.4954219996511, 37.016636000245896 ], [ -121.492748999805784, 37.012047000607886 ], [ -121.491049000282686, 37.010047000477599 ], [ -121.488604999522693, 37.007039000484184 ], [ -121.488424000064143, 37.006730000930702 ], [ -121.486892999872424, 37.003567000332374 ], [ -121.486068000116845, 37.001236000666665 ], [ -121.48167300044517, 36.993962000895358 ], [ -121.475147999865598, 36.983848000618593 ], [ -121.471717000085818, 36.979274000811579 ], [ -121.471247999768323, 36.978648000854633 ], [ -121.470701000364485, 36.977918000607801 ], [ -121.470648000162043, 36.977848000698927 ], [ -121.471447999902779, 36.978048000661772 ], [ -121.471518999472082, 36.978069000794029 ], [ -121.472039000325154, 36.97822000034131 ], [ -121.472482000181671, 36.978349000593091 ], [ -121.47252600041142, 36.978362001047593 ], [ -121.48894900034756, 36.983148000231928 ], [ -121.489448999522395, 36.982648000505009 ], [ -121.489931000396282, 36.982218000726213 ], [ -121.499649000293999, 36.973548001063861 ], [ -121.501049999569915, 36.972282000483098 ], [ -121.501749999666345, 36.971649000939337 ], [ -121.505750000153824, 36.963849000834237 ], [ -121.507849999544263, 36.963649000441272 ], [ -121.50884999987332, 36.962449001051262 ], [ -121.509607999516817, 36.959888000844472 ], [ -121.509735999646679, 36.959837000476284 ], [ -121.512207999919298, 36.958853000692869 ], [ -121.512349999491875, 36.958749000520179 ], [ -121.510149999434304, 36.956349000494605 ], [ -121.510349999942179, 36.953550000436017 ], [ -121.5118500003029, 36.952650000278815 ], [ -121.511650000298445, 36.949050000950322 ], [ -121.511669000311173, 36.948945001081754 ], [ -121.511849999819461, 36.947950000602262 ], [ -121.513749999431056, 36.945050000606095 ], [ -121.527517999735593, 36.935536000546861 ], [ -121.534150999897463, 36.930951000863665 ], [ -121.540551999548015, 36.925351000989046 ], [ -121.540552000469035, 36.920251000627992 ], [ -121.545250999549992, 36.918371000696929 ], [ -121.547552000496182, 36.917451000411553 ], [ -121.548013000253562, 36.917272000473822 ], [ -121.547603999864705, 36.91753900108526 ], [ -121.547548000256597, 36.917563000409423 ], [ -121.54725200045209, 36.928951000648304 ], [ -121.547852000100349, 36.929651000352031 ], [ -121.548051999819393, 36.930051000581507 ], [ -121.550752000264467, 36.933251000816341 ], [ -121.552352000413705, 36.94295000033874 ], [ -121.552551999658675, 36.950250000224564 ], [ -121.5525399996842, 36.950324000632037 ], [ -121.551052000068381, 36.959450001049071 ], [ -121.550951999541965, 36.960450000803462 ], [ -121.551052000137133, 36.96184900109909 ], [ -121.551451999693612, 36.963149000591805 ], [ -121.551651999970986, 36.96384900047174 ], [ -121.551752000490652, 36.964249000956528 ], [ -121.552252000056029, 36.96604900096812 ], [ -121.553251999931717, 36.968849000497706 ], [ -121.55545200050517, 36.975649000468188 ], [ -121.555552000240183, 36.975949000607116 ], [ -121.556351999400832, 36.977949000855766 ], [ -121.557651999521852, 36.981149000391838 ], [ -121.557711999409975, 36.982174000468014 ], [ -121.55775200038407, 36.982849000335335 ], [ -121.557561999514775, 36.983801000885116 ], [ -121.557552000175647, 36.983849000581685 ], [ -121.557451999877969, 36.984649000237496 ], [ -121.557253999741079, 36.985156000411095 ], [ -121.557215000378875, 36.985558000485682 ], [ -121.557226999460781, 36.985813000226088 ], [ -121.55735199983711, 36.986248000703 ], [ -121.557622000189184, 36.986719000697683 ], [ -121.557970999658423, 36.987106000816453 ], [ -121.558351999503444, 36.987348001083241 ], [ -121.558151999659927, 36.988748000426618 ], [ -121.558063000272966, 36.989194000807466 ], [ -121.558051999473449, 36.989248000439787 ], [ -121.557952000353467, 36.9904480003458 ], [ -121.557751999730229, 36.991448000462157 ], [ -121.557352000208965, 36.995748000290874 ], [ -121.557349000165104, 36.995846000685233 ], [ -121.557292999785616, 36.997450001028938 ], [ -121.557289999957376, 36.997550000621651 ], [ -121.557251999717352, 36.998648000889645 ], [ -121.557152000276972, 36.999948000770893 ], [ -121.557052000007772, 37.0004480006587 ], [ -121.556952000339351, 37.002248000498817 ], [ -121.556951999887843, 37.002619000633835 ], [ -121.55695199982388, 37.003048000756259 ], [ -121.557135999530061, 37.003785000312178 ], [ -121.557352000220149, 37.004648000686998 ], [ -121.55805199957976, 37.006248000550961 ], [ -121.558252000251599, 37.006848000713852 ], [ -121.558551999610998, 37.00734800035395 ], [ -121.559351999943132, 37.009048000857547 ], [ -121.55956199941609, 37.009258000555711 ], [ -121.559752000443382, 37.009448001099678 ], [ -121.55980399956789, 37.009539001006786 ], [ -121.559863000432543, 37.009642000976108 ], [ -121.562852000245712, 37.014847000252857 ], [ -121.563825999561914, 37.016975000716599 ], [ -121.56401299957929, 37.017224000954343 ], [ -121.56505200042227, 37.0191470005554 ], [ -121.566796999784799, 37.022240000907274 ], [ -121.566861999445294, 37.022342000813168 ], [ -121.56692099994541, 37.022441000601702 ], [ -121.567116999850455, 37.022761000321857 ], [ -121.567135000478856, 37.022795000731456 ], [ -121.567451999644788, 37.02344700109203 ], [ -121.5675869994446, 37.023718001008348 ], [ -121.567709000463182, 37.023962000410997 ], [ -121.567751999603999, 37.024047000464478 ], [ -121.568351999735754, 37.025247000499981 ], [ -121.568852000233292, 37.026347000268011 ], [ -121.569451999670974, 37.027347000667177 ], [ -121.571953000433766, 37.032247000868018 ], [ -121.572513000048858, 37.032061000614227 ], [ -121.574552999433493, 37.03144700064562 ], [ -121.579752999994056, 37.029747000681247 ], [ -121.580151000309442, 37.029620000744089 ], [ -121.581353000298208, 37.031847001056164 ], [ -121.582752999476796, 37.034547000378595 ], [ -121.58355299984153, 37.035947000988202 ], [ -121.584452999941192, 37.038147000809474 ], [ -121.586352999500932, 37.041447001056902 ], [ -121.585952999799616, 37.041547000620653 ], [ -121.585025999990066, 37.041920000489235 ], [ -121.58225299962352, 37.042647000513796 ], [ -121.579211999451118, 37.043537000232895 ], [ -121.578722999770633, 37.043634000996327 ], [ -121.578328999494985, 37.043713000644999 ], [ -121.577652999753468, 37.043847000866855 ], [ -121.577605000076758, 37.043861000301426 ], [ -121.57680200047993, 37.044097001064529 ], [ -121.575952999463198, 37.044347001054241 ], [ -121.57634099939321, 37.042951000914719 ], [ -121.576452999688627, 37.042547000974174 ], [ -121.575787999612999, 37.041217000262108 ], [ -121.573952999507938, 37.037547000428106 ], [ -121.571652999706615, 37.032347000718168 ], [ -121.570752999434575, 37.032747000704553 ], [ -121.567049999828058, 37.034098000743882 ], [ -121.558152000081819, 37.037347001003823 ], [ -121.55927599977862, 37.039159000869873 ], [ -121.560855000019274, 37.041706000612692 ], [ -121.561351999582101, 37.043047000480605 ], [ -121.560452000226306, 37.043447001063363 ], [ -121.562252000433091, 37.047846000781668 ], [ -121.559051999756917, 37.04864600067117 ], [ -121.556752000237395, 37.049446000783291 ], [ -121.556807000056679, 37.04954800045509 ], [ -121.554780999717963, 37.050224000275776 ], [ -121.552828999828236, 37.05087600043862 ], [ -121.552568000350718, 37.050970000860318 ], [ -121.548235999759541, 37.052539000560309 ], [ -121.547884999913194, 37.051753000228885 ], [ -121.547060999743422, 37.050311000716455 ], [ -121.545951999633743, 37.048446000575538 ], [ -121.545626000362816, 37.047832000889592 ], [ -121.54503100045585, 37.046825000939037 ], [ -121.543154000116743, 37.043521001111792 ], [ -121.543066999840022, 37.043358000441764 ], [ -121.542150999935828, 37.041646000932694 ], [ -121.540238999908226, 37.042377000869116 ], [ -121.537750999912106, 37.043246000555619 ], [ -121.534197000046305, 37.045848000739809 ], [ -121.532885000306919, 37.047046000432282 ], [ -121.532274000243149, 37.047656000817398 ], [ -121.531974000113493, 37.04793200098225 ], [ -121.528916999772264, 37.050746000365855 ], [ -121.52843600042678, 37.051602000436354 ], [ -121.52788000010942, 37.052593000507102 ], [ -121.52722299962636, 37.053386000889567 ], [ -121.522850999825096, 37.056146000972028 ], [ -121.522438000391588, 37.056902000304312 ], [ -121.521050000517874, 37.059445000534581 ], [ -121.51975000050497, 37.058645000481 ], [ -121.520875000168871, 37.060638000428838 ], [ -121.521302000422565, 37.061396000596986 ], [ -121.521746999592793, 37.063631000816109 ], [ -121.522030000240306, 37.065052000523416 ], [ -121.522524000156153, 37.067538000825536 ], [ -121.519638999702934, 37.070528000578747 ], [ -121.519470999977017, 37.070795001123031 ], [ -121.51634999991748, 37.07444500037623 ], [ -121.515249999426601, 37.075045000536761 ], [ -121.514571000347118, 37.075656000812842 ], [ -121.51430799998154, 37.075892000424354 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1246, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.219923000336337, 38.122129000657075 ], [ -122.220690999958336, 38.122172000837566 ], [ -122.221353000024408, 38.122257001071119 ], [ -122.222421999439931, 38.122623000371703 ], [ -122.222530000071259, 38.122702000557524 ], [ -122.222990000334789, 38.122933001030979 ], [ -122.223330000206929, 38.123103001032746 ], [ -122.223980000009462, 38.123219000324255 ], [ -122.224683000116485, 38.12324600028446 ], [ -122.226076999666773, 38.123380000930233 ], [ -122.226755999558037, 38.123304000306298 ], [ -122.227773999828912, 38.123506000344101 ], [ -122.229680000134465, 38.123119000789544 ], [ -122.229380000113125, 38.124119000419356 ], [ -122.229279999564682, 38.124419000932008 ], [ -122.229089000391753, 38.124723000596461 ], [ -122.227680000264201, 38.127018000408832 ], [ -122.226370000447957, 38.129018000525946 ], [ -122.226042000283755, 38.129518000458383 ], [ -122.225779999879734, 38.129918000893788 ], [ -122.22358899996722, 38.133378000905267 ], [ -122.221480000394138, 38.136718000985368 ], [ -122.221080000412201, 38.137418000748596 ], [ -122.220747999789936, 38.137863001105885 ], [ -122.220307999589807, 38.138526000484774 ], [ -122.220034999852089, 38.138980000857686 ], [ -122.219794000523493, 38.139341000574284 ], [ -122.219300999764528, 38.140072000875229 ], [ -122.2191519997764, 38.140292001066008 ], [ -122.217579999968066, 38.142618000769261 ], [ -122.217180999786322, 38.143544000645441 ], [ -122.216469999752235, 38.145193000591007 ], [ -122.216289000417987, 38.145938000668714 ], [ -122.216244000162177, 38.146541000770014 ], [ -122.216131000244161, 38.150069000964059 ], [ -122.215951000169738, 38.151009001135087 ], [ -122.215702000116622, 38.15168300046119 ], [ -122.215204999875397, 38.15303000083771 ], [ -122.214910999557148, 38.153793001072124 ], [ -122.21468499945135, 38.154130000857883 ], [ -122.214079999869838, 38.154918000418235 ], [ -122.213463999690433, 38.154894000583532 ], [ -122.201980000528636, 38.155017000661751 ], [ -122.196631000101192, 38.155017000352167 ], [ -122.195380000478877, 38.15501700090168 ], [ -122.194179999954585, 38.155417000478458 ], [ -122.195085999446036, 38.157369000600461 ], [ -122.19548000015925, 38.158217000948419 ], [ -122.19511200033881, 38.158585000835863 ], [ -122.193599999547487, 38.16009700031487 ], [ -122.193180000079451, 38.160517000960496 ], [ -122.190079999925359, 38.16091700054325 ], [ -122.186003999490083, 38.159602000524544 ], [ -122.183878999519507, 38.15891700039537 ], [ -122.183755999601715, 38.158626000973356 ], [ -122.18307900025853, 38.157017000366302 ], [ -122.180779000109936, 38.155917000915977 ], [ -122.179485000433246, 38.154623000875802 ], [ -122.178978999887633, 38.154117000338857 ], [ -122.178862000106747, 38.153793000712191 ], [ -122.178674000408307, 38.153271000381572 ], [ -122.178505999717999, 38.152803000669429 ], [ -122.178332999416156, 38.152321000930087 ], [ -122.17807899988, 38.151617001019432 ], [ -122.177382999931623, 38.151357000335935 ], [ -122.176779000522828, 38.150817000986471 ], [ -122.176594000362556, 38.150448000857601 ], [ -122.17597899955544, 38.149217000815511 ], [ -122.174879000205195, 38.148017000707092 ], [ -122.172966999722817, 38.144375000679169 ], [ -122.172779000349109, 38.144018000300314 ], [ -122.171779000522776, 38.142318000581618 ], [ -122.171378999421336, 38.141818000950451 ], [ -122.171178999481683, 38.138718000290147 ], [ -122.169578999595259, 38.134218000726285 ], [ -122.16773900030536, 38.132128000349198 ], [ -122.167379000104305, 38.131718000861291 ], [ -122.166577999770894, 38.12691800066559 ], [ -122.166078000357899, 38.125918000440393 ], [ -122.166987000193387, 38.124918001048457 ], [ -122.167078000235705, 38.124818000335004 ], [ -122.167277999785341, 38.11961800035224 ], [ -122.165377999952852, 38.113118000255305 ], [ -122.166177999658061, 38.112418000421144 ], [ -122.166428999964083, 38.111263000305499 ], [ -122.166365999897707, 38.10924200104882 ], [ -122.166111999386075, 38.108419000899573 ], [ -122.165605000147991, 38.106873000457654 ], [ -122.165097999435531, 38.106000001082883 ], [ -122.16455900042385, 38.104953000861464 ], [ -122.164273999529115, 38.104154000598264 ], [ -122.164051999569452, 38.103306000679169 ], [ -122.16382999959697, 38.102833000914956 ], [ -122.163398999818568, 38.102322000380497 ], [ -122.16336600036, 38.102271000639853 ], [ -122.163061999457653, 38.101983001105218 ], [ -122.162934000020485, 38.101743000868915 ], [ -122.162949999486926, 38.101423000331664 ], [ -122.162978000475178, 38.101119000467278 ], [ -122.164178000313385, 38.100219000269547 ], [ -122.169777999815167, 38.10191900063964 ], [ -122.172077999873949, 38.103619000993206 ], [ -122.179404000523462, 38.107759000493125 ], [ -122.179526999818421, 38.107829000780995 ], [ -122.183578999767278, 38.110119000861552 ], [ -122.186379000163626, 38.113319000380599 ], [ -122.188105000181565, 38.114519000949798 ], [ -122.188679000382791, 38.114918000630787 ], [ -122.189972999721689, 38.114918000876187 ], [ -122.193852999797585, 38.115846000550626 ], [ -122.194212000333692, 38.115941001108453 ], [ -122.196398000474247, 38.114431000512077 ], [ -122.198886999822122, 38.112287000932149 ], [ -122.199879000506584, 38.11351900062963 ], [ -122.200374000391875, 38.114133000973688 ], [ -122.201551000420778, 38.115385000427125 ], [ -122.201825999484413, 38.115742000790462 ], [ -122.202907999434174, 38.117126000707593 ], [ -122.203386999532114, 38.11810000058945 ], [ -122.203979000309474, 38.118572000455011 ], [ -122.205455000394593, 38.118824000569802 ], [ -122.20701999990159, 38.119071000589997 ], [ -122.20827099966769, 38.119728000747664 ], [ -122.208820000233345, 38.120998000933945 ], [ -122.209158000208092, 38.120509000437579 ], [ -122.209783999837043, 38.119975001114817 ], [ -122.210409000301127, 38.119934000306259 ], [ -122.211431999721682, 38.120762000381141 ], [ -122.212169999950831, 38.121339001019038 ], [ -122.212444999651083, 38.121434000884292 ], [ -122.213432000109293, 38.121838001072767 ], [ -122.215191999466157, 38.122670000306705 ], [ -122.215800000145634, 38.122734000878076 ], [ -122.216632000077524, 38.122734001004552 ], [ -122.217881000279121, 38.122571000607294 ], [ -122.218901999602096, 38.122190000568544 ], [ -122.219464000042876, 38.122089000610003 ], [ -122.219923000336337, 38.122129000657075 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1231, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.22828000020202, 38.100719001113561 ], [ -122.229479999834979, 38.100719000355973 ], [ -122.22957999958993, 38.102219000648837 ], [ -122.229579999774202, 38.104019000614329 ], [ -122.229589999909791, 38.104812000561992 ], [ -122.229579999800819, 38.105619000928101 ], [ -122.229634999930369, 38.10702700051025 ], [ -122.229687000149653, 38.109490001118047 ], [ -122.229375999444457, 38.109470000586569 ], [ -122.228579999480232, 38.109419000439267 ], [ -122.228180000074047, 38.109419000597946 ], [ -122.227779999541198, 38.109419000288455 ], [ -122.226480000482354, 38.109319000332199 ], [ -122.22568000000804, 38.109419000672965 ], [ -122.224779999798983, 38.109419000544172 ], [ -122.222080000363306, 38.109319000801243 ], [ -122.221080000182894, 38.109319000535677 ], [ -122.217780000375768, 38.10921900085421 ], [ -122.217445000050716, 38.109228000552363 ], [ -122.217679999493768, 38.108719000296531 ], [ -122.21777999946201, 38.1080190003807 ], [ -122.21778000000792, 38.107419000961443 ], [ -122.217780000478058, 38.106819000580131 ], [ -122.217779999581523, 38.106119000650295 ], [ -122.217779999529895, 38.104510000724972 ], [ -122.21777999942303, 38.103919000869254 ], [ -122.217780000113976, 38.103119001080643 ], [ -122.217478999924268, 38.101619000886821 ], [ -122.217678999893778, 38.099819000264873 ], [ -122.217878999528992, 38.09981900054914 ], [ -122.220379999989575, 38.099819000518359 ], [ -122.222980000426659, 38.099819000829122 ], [ -122.223880000231347, 38.09981900073474 ], [ -122.224579999658872, 38.099919000322039 ], [ -122.226580000301325, 38.100519000658061 ], [ -122.22828000020202, 38.100719001113561 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1227, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.220480000414838, 38.096419000642555 ], [ -122.220480000299176, 38.096219000421364 ], [ -122.220179000060895, 38.096019001057527 ], [ -122.218578999397735, 38.095119000515254 ], [ -122.21797899992329, 38.094919000336454 ], [ -122.21447899994368, 38.094019000540008 ], [ -122.215978999419193, 38.091619001120648 ], [ -122.216492999847844, 38.09172200105376 ], [ -122.217978999854154, 38.092019001128655 ], [ -122.218478999697254, 38.092119000776272 ], [ -122.219178999432856, 38.091319000533318 ], [ -122.21926199994104, 38.091208000893303 ], [ -122.21977900004093, 38.090519000763386 ], [ -122.22057899970892, 38.089619000773837 ], [ -122.221014999664817, 38.088965000482574 ], [ -122.221178999909256, 38.088719000921202 ], [ -122.2254799996754, 38.089719001002145 ], [ -122.226738999895645, 38.090047000518545 ], [ -122.227046999807925, 38.090138000704805 ], [ -122.227492000071564, 38.090294000860531 ], [ -122.228054999428693, 38.090552000964841 ], [ -122.228479999571562, 38.090719001022208 ], [ -122.229149999838739, 38.091049000361572 ], [ -122.229984999503884, 38.091394000725678 ], [ -122.230211999652511, 38.091466000493675 ], [ -122.230179999982582, 38.091575000595839 ], [ -122.23004899952403, 38.092023000377957 ], [ -122.229780000106658, 38.093119000812784 ], [ -122.229594999855962, 38.094320000397914 ], [ -122.229579999482098, 38.094419000537954 ], [ -122.229565000158971, 38.09484900039309 ], [ -122.229547000384457, 38.095239000837893 ], [ -122.229552999677949, 38.096232000379899 ], [ -122.229479999565982, 38.098919000306083 ], [ -122.229479999834979, 38.100719000355973 ], [ -122.22828000020202, 38.100719001113561 ], [ -122.226580000301325, 38.100519000658061 ], [ -122.224579999658872, 38.099919000322039 ], [ -122.223880000231347, 38.09981900073474 ], [ -122.222980000426659, 38.099819000829122 ], [ -122.220379999989575, 38.099819000518359 ], [ -122.217878999528992, 38.09981900054914 ], [ -122.217678999893778, 38.099819000264873 ], [ -122.217578999704685, 38.098519000297848 ], [ -122.217979000426169, 38.098419000335696 ], [ -122.220379999724514, 38.098419000539387 ], [ -122.220380000406095, 38.09731900097529 ], [ -122.220437000311293, 38.096804001000528 ], [ -122.220480000414838, 38.096419000642555 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1219, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.196578999730846, 38.090619000822791 ], [ -122.195319000118644, 38.087791000908169 ], [ -122.193578999759865, 38.083619000381894 ], [ -122.192678999733488, 38.081719000630166 ], [ -122.191832000046432, 38.081133000836978 ], [ -122.191521999401004, 38.080918000940883 ], [ -122.191378999800733, 38.08081900099144 ], [ -122.192178999918809, 38.07961900087188 ], [ -122.192302000033379, 38.079700000414817 ], [ -122.192650999898845, 38.079930000848307 ], [ -122.194205000046509, 38.080957000322208 ], [ -122.196763999874292, 38.082647000448738 ], [ -122.197668999577999, 38.08320700085978 ], [ -122.197736999574857, 38.083260001110986 ], [ -122.197839000285725, 38.083343000995335 ], [ -122.197946000434598, 38.083410000669652 ], [ -122.198049999459798, 38.083460001007481 ], [ -122.198148999569696, 38.083493001002829 ], [ -122.198345000211546, 38.083531000405372 ], [ -122.200455000029592, 38.083847000320112 ], [ -122.200835999630456, 38.083909000911298 ], [ -122.201383000166331, 38.083999000350211 ], [ -122.201767000167578, 38.08406300108102 ], [ -122.208724999521237, 38.085408001091686 ], [ -122.2089400001895, 38.085439000777782 ], [ -122.209578999399909, 38.085519000645021 ], [ -122.2105879997671, 38.085705000526765 ], [ -122.211562000407795, 38.085858000783645 ], [ -122.212506999489307, 38.08606500108607 ], [ -122.212180000249177, 38.086073000719338 ], [ -122.211974000154498, 38.086095000788291 ], [ -122.21179599960972, 38.086120001121927 ], [ -122.211604999742818, 38.086159000607722 ], [ -122.211378999581854, 38.086219000300915 ], [ -122.210688000024234, 38.086268001100009 ], [ -122.210068000245514, 38.086459000255346 ], [ -122.20957900028192, 38.087119000481671 ], [ -122.208179000071041, 38.089019000909857 ], [ -122.208279000089888, 38.089119000268148 ], [ -122.207778999660604, 38.090419000824497 ], [ -122.207979000246965, 38.091719001020955 ], [ -122.208178999873169, 38.092619001128 ], [ -122.20827900038492, 38.093219000479031 ], [ -122.208278999567739, 38.094519001073344 ], [ -122.20847900025953, 38.096119001105158 ], [ -122.208878999443201, 38.096819000861998 ], [ -122.209079000337297, 38.09751900054075 ], [ -122.209078999480738, 38.098219001115119 ], [ -122.208979000139749, 38.100019000242796 ], [ -122.208178999828988, 38.100019000424574 ], [ -122.207078999462368, 38.10001900067963 ], [ -122.20627900038393, 38.100019000548819 ], [ -122.204779000401587, 38.099919000633555 ], [ -122.202878999614768, 38.099519000942195 ], [ -122.202278999431101, 38.099419000467286 ], [ -122.201478999502768, 38.099719000404981 ], [ -122.200678999666621, 38.100119000643126 ], [ -122.200079000240081, 38.100319000888391 ], [ -122.198955000481334, 38.098504000332923 ], [ -122.198779000112125, 38.098219000980365 ], [ -122.198478999423429, 38.097719000565178 ], [ -122.197979000176261, 38.097219000724621 ], [ -122.19757899975815, 38.096719000325912 ], [ -122.197569000429866, 38.096581000548028 ], [ -122.197470999395421, 38.095248000338934 ], [ -122.197461000480587, 38.095115000680018 ], [ -122.197279000507422, 38.092619001041193 ], [ -122.19685500018528, 38.091567000330606 ], [ -122.196578999730846, 38.090619000822791 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1221, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.230980000195927, 38.090219000916271 ], [ -122.230637000013587, 38.091132000581744 ], [ -122.230471999666278, 38.091537001041367 ], [ -122.230211999652511, 38.091466000493675 ], [ -122.229984999503884, 38.091394000725678 ], [ -122.229149999838739, 38.091049000361572 ], [ -122.228479999571562, 38.090719001022208 ], [ -122.228054999428693, 38.090552000964841 ], [ -122.227492000071564, 38.090294000860531 ], [ -122.227046999807925, 38.090138000704805 ], [ -122.226738999895645, 38.090047000518545 ], [ -122.2254799996754, 38.089719001002145 ], [ -122.221178999909256, 38.088719000921202 ], [ -122.220119000011167, 38.088489000956727 ], [ -122.219409000130341, 38.088305000795359 ], [ -122.218711000105827, 38.08806100109863 ], [ -122.217931000442491, 38.087742000591248 ], [ -122.217913000178285, 38.087734001110697 ], [ -122.214903999571504, 38.086701000319565 ], [ -122.212506999489307, 38.08606500108607 ], [ -122.212100999827328, 38.085791000639063 ], [ -122.211919000023656, 38.085659000747683 ], [ -122.211674000489865, 38.085459000870983 ], [ -122.211525999773627, 38.085277000528677 ], [ -122.211278999881884, 38.084919000677544 ], [ -122.212102999954766, 38.083663000777989 ], [ -122.212379000067457, 38.083419000740321 ], [ -122.212778999727902, 38.082820001088017 ], [ -122.213247999908177, 38.082163001022224 ], [ -122.213278999569496, 38.082120000497419 ], [ -122.214078999860078, 38.081120000317213 ], [ -122.214978999403129, 38.079920001134667 ], [ -122.215779000509002, 38.080120000400719 ], [ -122.218678999550576, 38.080320000708312 ], [ -122.219663000190721, 38.080443000946318 ], [ -122.219988999726155, 38.080016000757041 ], [ -122.220524000464508, 38.079317000355154 ], [ -122.222184999479737, 38.077143000331134 ], [ -122.224443999906057, 38.074188001086384 ], [ -122.227336000146636, 38.070405001114118 ], [ -122.227619999693047, 38.070097000445315 ], [ -122.227779000049622, 38.070520000479071 ], [ -122.231232000527498, 38.075256000390098 ], [ -122.231579999944302, 38.076020000346261 ], [ -122.231831000027199, 38.076521000724533 ], [ -122.231985999404699, 38.076829000464244 ], [ -122.232329999444076, 38.077693000805425 ], [ -122.232479999500612, 38.07822000093865 ], [ -122.232560000521516, 38.078685000425786 ], [ -122.233053999967524, 38.081545001041519 ], [ -122.233179999764872, 38.08372000047617 ], [ -122.233000000056833, 38.084844000785736 ], [ -122.232801999683588, 38.085325000892297 ], [ -122.231779999406939, 38.087719000253223 ], [ -122.231579999454567, 38.088219000550389 ], [ -122.231379999843782, 38.088819000304241 ], [ -122.231279999704597, 38.089419000442255 ], [ -122.231064999686211, 38.089992000679267 ], [ -122.230980000195927, 38.090219000916271 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1220, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.200678000383078, 38.061620000604869 ], [ -122.201279000149128, 38.062920000520116 ], [ -122.201178999490466, 38.064620000236403 ], [ -122.203178999917924, 38.064120000914208 ], [ -122.203479000090525, 38.065420000471519 ], [ -122.204378999727155, 38.066320000834565 ], [ -122.205014999526469, 38.066832000594289 ], [ -122.205378999833826, 38.067520000932198 ], [ -122.2070789996733, 38.067920000356224 ], [ -122.207978999756406, 38.067020000807517 ], [ -122.20877900051704, 38.066920000369414 ], [ -122.209479000467454, 38.065720000374512 ], [ -122.21207900005011, 38.066320000464664 ], [ -122.212479000229806, 38.066320000963906 ], [ -122.21197900031612, 38.066420000691764 ], [ -122.212078999702257, 38.066820001008239 ], [ -122.212479000083746, 38.068120000971696 ], [ -122.213978999508072, 38.067420000529502 ], [ -122.214081999999124, 38.067228001020105 ], [ -122.214679000270223, 38.066120000735665 ], [ -122.219978999655709, 38.065420000490398 ], [ -122.220796000106205, 38.065361000357854 ], [ -122.225479000324412, 38.065020000655522 ], [ -122.226179000501773, 38.065120000739149 ], [ -122.226278999552306, 38.065720000605495 ], [ -122.226878999873804, 38.068120000440693 ], [ -122.227619999693047, 38.070097000445315 ], [ -122.227336000146636, 38.070405001114118 ], [ -122.224443999906057, 38.074188001086384 ], [ -122.222184999479737, 38.077143000331134 ], [ -122.220524000464508, 38.079317000355154 ], [ -122.219988999726155, 38.080016000757041 ], [ -122.219663000190721, 38.080443000946318 ], [ -122.218678999550576, 38.080320000708312 ], [ -122.215779000509002, 38.080120000400719 ], [ -122.214978999403129, 38.079920001134667 ], [ -122.214078999860078, 38.081120000317213 ], [ -122.213278999569496, 38.082120000497419 ], [ -122.213247999908177, 38.082163001022224 ], [ -122.212778999727902, 38.082820001088017 ], [ -122.212379000067457, 38.083419000740321 ], [ -122.212102999954766, 38.083663000777989 ], [ -122.211278999881884, 38.084919000677544 ], [ -122.211525999773627, 38.085277000528677 ], [ -122.211674000489865, 38.085459000870983 ], [ -122.211919000023656, 38.085659000747683 ], [ -122.212100999827328, 38.085791000639063 ], [ -122.212506999489307, 38.08606500108607 ], [ -122.211562000407795, 38.085858000783645 ], [ -122.2105879997671, 38.085705000526765 ], [ -122.209578999399909, 38.085519000645021 ], [ -122.2089400001895, 38.085439000777782 ], [ -122.208724999521237, 38.085408001091686 ], [ -122.201767000167578, 38.08406300108102 ], [ -122.201383000166331, 38.083999000350211 ], [ -122.200835999630456, 38.083909000911298 ], [ -122.200455000029592, 38.083847000320112 ], [ -122.198345000211546, 38.083531000405372 ], [ -122.198148999569696, 38.083493001002829 ], [ -122.198049999459798, 38.083460001007481 ], [ -122.197946000434598, 38.083410000669652 ], [ -122.197839000285725, 38.083343000995335 ], [ -122.197736999574857, 38.083260001110986 ], [ -122.197668999577999, 38.08320700085978 ], [ -122.196763999874292, 38.082647000448738 ], [ -122.194205000046509, 38.080957000322208 ], [ -122.192650999898845, 38.079930000848307 ], [ -122.192302000033379, 38.079700000414817 ], [ -122.192178999918809, 38.07961900087188 ], [ -122.192676000503653, 38.078948000745513 ], [ -122.192735000286817, 38.078017000893034 ], [ -122.191999999584795, 38.0774350006091 ], [ -122.192378000492724, 38.076820001141556 ], [ -122.197054999736125, 38.078107000900829 ], [ -122.197527999558218, 38.071917001054203 ], [ -122.195877999655835, 38.067420000968141 ], [ -122.192977999904784, 38.061420000345031 ], [ -122.194177999658137, 38.059920000751717 ], [ -122.19507800008688, 38.06042000075864 ], [ -122.196778000343485, 38.060520000562882 ], [ -122.200678000383078, 38.061620000604869 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1222, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.247480000122479, 38.085520000869522 ], [ -122.247180000095668, 38.085620000873469 ], [ -122.246880000392991, 38.085720001009747 ], [ -122.245879999776321, 38.086420000288129 ], [ -122.245180000114274, 38.086820000525428 ], [ -122.244280000043545, 38.087320001059702 ], [ -122.243310000501623, 38.08786600100801 ], [ -122.242182000143771, 38.086594000996456 ], [ -122.240880000083564, 38.0851200010447 ], [ -122.239383999889299, 38.083453001008017 ], [ -122.238479999488334, 38.082520000716855 ], [ -122.234580000245771, 38.07852000070541 ], [ -122.233679999924533, 38.077520000519648 ], [ -122.233179999804548, 38.076920000488926 ], [ -122.232179999772697, 38.076020000481819 ], [ -122.231232000527498, 38.075256000390098 ], [ -122.227779000049622, 38.070520000479071 ], [ -122.227619999693047, 38.070097000445315 ], [ -122.226878999873804, 38.068120000440693 ], [ -122.226278999552306, 38.065720000605495 ], [ -122.226179000501773, 38.065120000739149 ], [ -122.22787899991701, 38.065520000684252 ], [ -122.229779000173878, 38.066120000338429 ], [ -122.230378999989469, 38.066720000720089 ], [ -122.230400000054516, 38.066777000528823 ], [ -122.230778999410262, 38.067820000669442 ], [ -122.232478999674782, 38.068820000311511 ], [ -122.235079999464403, 38.069720000644118 ], [ -122.238080000439567, 38.072320000401056 ], [ -122.239380000129515, 38.073220001046998 ], [ -122.240086000185627, 38.07282800032651 ], [ -122.24117999944329, 38.072220000554978 ], [ -122.240144000450456, 38.072890000763124 ], [ -122.239480000018489, 38.073320000339258 ], [ -122.239761999897496, 38.074026000502613 ], [ -122.239880000128736, 38.074320001118849 ], [ -122.23928000039902, 38.07522000094616 ], [ -122.241179999640281, 38.077620000650413 ], [ -122.241242000383522, 38.077928000639275 ], [ -122.241280000048647, 38.078120000519817 ], [ -122.242135999885832, 38.078544000760367 ], [ -122.243720000203567, 38.07945600088977 ], [ -122.243880000055398, 38.079620000550626 ], [ -122.245880000097657, 38.079720000429575 ], [ -122.246579999527668, 38.080820000944364 ], [ -122.245580000089248, 38.081320001114484 ], [ -122.246480000246308, 38.08322000079616 ], [ -122.247480000323975, 38.082720000420323 ], [ -122.247480000122479, 38.085520000869522 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1238, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.279781999615381, 38.113419000319169 ], [ -122.278399999792029, 38.111644000924215 ], [ -122.278352999780367, 38.111679000913377 ], [ -122.278317000304, 38.111633000510395 ], [ -122.278363000196507, 38.111596000814927 ], [ -122.277085999443997, 38.109954000697712 ], [ -122.276981000354255, 38.109819000785016 ], [ -122.27380599956642, 38.106174001070066 ], [ -122.27103500036344, 38.102992000781157 ], [ -122.270021000411674, 38.101828000763867 ], [ -122.268880999617139, 38.100519000541588 ], [ -122.26348100022669, 38.094619000274207 ], [ -122.261507999728522, 38.092752000294212 ], [ -122.255979999892972, 38.0875200004607 ], [ -122.248485999916156, 38.0778610006778 ], [ -122.246980000119464, 38.075920000625651 ], [ -122.247329000006872, 38.076188000578469 ], [ -122.248279999427908, 38.076920000449618 ], [ -122.251980000300264, 38.070620001084571 ], [ -122.253680000333887, 38.072820000820954 ], [ -122.256279999779167, 38.073020000745963 ], [ -122.259079999909247, 38.069020000236989 ], [ -122.270381000433048, 38.067620000581393 ], [ -122.270978999675918, 38.067529000389257 ], [ -122.271181000254046, 38.06802000070072 ], [ -122.269680999518201, 38.069020000962048 ], [ -122.270480999605908, 38.07232000103167 ], [ -122.273280999612197, 38.075820000846669 ], [ -122.277381000396204, 38.079020000822212 ], [ -122.281081000519251, 38.080920000894274 ], [ -122.28257900018373, 38.082421000732417 ], [ -122.28437899989747, 38.085021000309652 ], [ -122.288078999599946, 38.088621001033204 ], [ -122.295980000064532, 38.099220000459368 ], [ -122.302379999851098, 38.10442000079663 ], [ -122.301681999851567, 38.105419000306426 ], [ -122.308474000171969, 38.110543000330274 ], [ -122.311594999628127, 38.113311000860094 ], [ -122.332649000272468, 38.12491900102512 ], [ -122.346971999617125, 38.132814000418612 ], [ -122.353484000437902, 38.135918000403962 ], [ -122.403486000132347, 38.152818000988624 ], [ -122.406086999584687, 38.155918000321265 ], [ -122.404386999733404, 38.155918001087095 ], [ -122.384585999846635, 38.15571800088243 ], [ -122.380510000452233, 38.155822000643198 ], [ -122.36668499970385, 38.155618000924932 ], [ -122.365685000334906, 38.155618001042463 ], [ -122.362428999873657, 38.155618001056574 ], [ -122.361885000420259, 38.155618000963315 ], [ -122.351785000084476, 38.155518000905282 ], [ -122.351362999400877, 38.15555900054607 ], [ -122.350956999933729, 38.155598000697445 ], [ -122.349984999948617, 38.155518000568556 ], [ -122.339383999563736, 38.155418000420546 ], [ -122.337098000361493, 38.155418000584945 ], [ -122.33495000014463, 38.155418000532663 ], [ -122.334384000472667, 38.155418000819715 ], [ -122.312983000524724, 38.155318000417068 ], [ -122.298482999477613, 38.155218000331843 ], [ -122.293683000162517, 38.155218000305268 ], [ -122.29196299972503, 38.155134000810627 ], [ -122.291962999757317, 38.154334001053641 ], [ -122.292314999840031, 38.153774000406941 ], [ -122.292123000077964, 38.152638001068951 ], [ -122.289882000035277, 38.150590000819086 ], [ -122.289710999575689, 38.150564000377621 ], [ -122.289581999757033, 38.150545000500827 ], [ -122.287280000132881, 38.148445001047712 ], [ -122.282896000300227, 38.146079001119347 ], [ -122.279012999977979, 38.141051000364115 ], [ -122.278995999895528, 38.140936000901981 ], [ -122.278260999461281, 38.135826000336841 ], [ -122.278762000056219, 38.131192000801519 ], [ -122.280515999447985, 38.127149000639029 ], [ -122.281526999769838, 38.123572000869054 ], [ -122.281493000060507, 38.121084000639293 ], [ -122.281181999673876, 38.119719000359993 ], [ -122.283082000223914, 38.118919000669528 ], [ -122.28305099949911, 38.118867001055158 ], [ -122.283019000132043, 38.118814000352423 ], [ -122.282318233524776, 38.117649266740365 ], [ -122.281189490192929, 38.115750587626792 ], [ -122.279781999615381, 38.113419000319169 ] ] ], [ [ [ -122.271977000377532, 38.112086000896547 ], [ -122.271840000333981, 38.112142000370163 ], [ -122.271814999733124, 38.112048000414518 ], [ -122.271780999812648, 38.111919000301938 ], [ -122.271394999919366, 38.111773000250054 ], [ -122.271378000153916, 38.111756000794898 ], [ -122.271336999536985, 38.11175100050751 ], [ -122.270952999912851, 38.111605000596569 ], [ -122.271734999602373, 38.111613000361416 ], [ -122.273833000416772, 38.110614000657627 ], [ -122.274080999831483, 38.110919000365776 ], [ -122.274193999614155, 38.111061000936459 ], [ -122.271955000127605, 38.111990000749067 ], [ -122.271977000377532, 38.112086000896547 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1232, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.241280000049827, 38.100919000529672 ], [ -122.242280000342291, 38.101019001117564 ], [ -122.2431799998797, 38.101019001033848 ], [ -122.24328000028045, 38.102019000416398 ], [ -122.243280000368756, 38.102919000286931 ], [ -122.243279999978299, 38.104719000518187 ], [ -122.24327999999457, 38.10601900029917 ], [ -122.243279999975272, 38.106519001109902 ], [ -122.243180000480777, 38.106819000259506 ], [ -122.243079999771453, 38.107619000912088 ], [ -122.243080000495553, 38.108119000686678 ], [ -122.243165000242968, 38.108591000747126 ], [ -122.243180000414782, 38.108819000267857 ], [ -122.243179999671298, 38.109619000439295 ], [ -122.242080000279387, 38.109619000682095 ], [ -122.241180000204352, 38.109619000917291 ], [ -122.240580000184806, 38.109619000548179 ], [ -122.240179999415261, 38.109619000998009 ], [ -122.239080000208546, 38.109619001089108 ], [ -122.238080000321006, 38.109519000885733 ], [ -122.236379999936716, 38.109419000520589 ], [ -122.234779999813142, 38.109519000488916 ], [ -122.232979999482367, 38.109519000280507 ], [ -122.231376999824164, 38.109517000697224 ], [ -122.231279999903791, 38.109519000448891 ], [ -122.2309800004587, 38.109519001055823 ], [ -122.230456000144983, 38.109510000363237 ], [ -122.229979999880413, 38.109497000333121 ], [ -122.229687000149653, 38.109490001118047 ], [ -122.229634999930369, 38.10702700051025 ], [ -122.229579999800819, 38.105619000928101 ], [ -122.229589999909791, 38.104812000561992 ], [ -122.229579999774202, 38.104019000614329 ], [ -122.22957999958993, 38.102219000648837 ], [ -122.229479999834979, 38.100719000355973 ], [ -122.230279999821676, 38.100819000794878 ], [ -122.230880000514887, 38.10081900030481 ], [ -122.23168000032048, 38.100819000585254 ], [ -122.232580000290781, 38.100819000586363 ], [ -122.233380000171579, 38.100819001007167 ], [ -122.234280000179595, 38.100919000264277 ], [ -122.235280000474347, 38.100819000680502 ], [ -122.236080000480342, 38.100819000741176 ], [ -122.236979999733293, 38.10091900095432 ], [ -122.237880000058311, 38.100919000916683 ], [ -122.238479999545333, 38.100919000361039 ], [ -122.239880000310734, 38.100919000679191 ], [ -122.240280000383663, 38.100919001052326 ], [ -122.241280000049827, 38.100919000529672 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1242, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.237779999440562, 38.117619001024757 ], [ -122.237880000081617, 38.117219000556062 ], [ -122.238779999730426, 38.117219000747468 ], [ -122.239780000500133, 38.117319000709301 ], [ -122.241979999719163, 38.116719000387583 ], [ -122.242480000001564, 38.116819001047894 ], [ -122.242880000169293, 38.116819001033655 ], [ -122.243079999623163, 38.115519000846291 ], [ -122.243080000269302, 38.114719000568883 ], [ -122.243080000469121, 38.113319000495132 ], [ -122.246780000266114, 38.113419000610641 ], [ -122.248281000215314, 38.119619000419064 ], [ -122.248480999787745, 38.12041900096002 ], [ -122.248881000143228, 38.122219000433176 ], [ -122.249329000035218, 38.124812000366298 ], [ -122.249346999610793, 38.124919000292401 ], [ -122.249881000282272, 38.128019000547539 ], [ -122.249381000149029, 38.12811900097109 ], [ -122.246981000220956, 38.128619001072558 ], [ -122.244181000148316, 38.128819000313001 ], [ -122.244181000394818, 38.128919000463256 ], [ -122.243681000337347, 38.128719000447219 ], [ -122.24308100030828, 38.128619000354917 ], [ -122.242181000470808, 38.128818000894867 ], [ -122.240980999583257, 38.129018000885218 ], [ -122.239380000264816, 38.129218001044862 ], [ -122.237680000430643, 38.129618000448012 ], [ -122.23697999953032, 38.129818000946351 ], [ -122.235880000062622, 38.129918000557232 ], [ -122.235380000161499, 38.130018000700261 ], [ -122.234980000004626, 38.130018001015792 ], [ -122.234480000074996, 38.129718000614254 ], [ -122.232880000442393, 38.129718000402036 ], [ -122.232479999465752, 38.12961800024592 ], [ -122.231380000234239, 38.12901800048116 ], [ -122.22937999991143, 38.129018000649594 ], [ -122.229279999838667, 38.130818000671312 ], [ -122.229179999668659, 38.133618000882421 ], [ -122.228179999585748, 38.131918000305951 ], [ -122.226379999403449, 38.13141800031957 ], [ -122.225779999478888, 38.132118001105006 ], [ -122.224979999801107, 38.132818000551396 ], [ -122.224579999981117, 38.133618000263887 ], [ -122.222263999611869, 38.136782001028422 ], [ -122.221480000394138, 38.136718000985368 ], [ -122.22358899996722, 38.133378000905267 ], [ -122.225779999879734, 38.129918000893788 ], [ -122.226042000283755, 38.129518000458383 ], [ -122.226370000447957, 38.129018000525946 ], [ -122.227680000264201, 38.127018000408832 ], [ -122.229089000391753, 38.124723000596461 ], [ -122.229279999564682, 38.124419000932008 ], [ -122.229380000113125, 38.124119000419356 ], [ -122.229680000134465, 38.123119000789544 ], [ -122.230080000366087, 38.121319000682789 ], [ -122.23047999954774, 38.122019001079479 ], [ -122.231044000442537, 38.121715000447686 ], [ -122.231711999990537, 38.121355001123469 ], [ -122.231779999640395, 38.121319000983583 ], [ -122.232880000031116, 38.120919000623118 ], [ -122.233579999565805, 38.120719000517042 ], [ -122.234679999437972, 38.120319000302523 ], [ -122.235380000212217, 38.119819000383117 ], [ -122.236580000377671, 38.119519000609699 ], [ -122.23767999996366, 38.118019000483301 ], [ -122.237779999440562, 38.117619001024757 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1234, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.24318000036547, 38.110519000964352 ], [ -122.243179999671298, 38.109619000439295 ], [ -122.243180000414782, 38.108819000267857 ], [ -122.243165000242968, 38.108591000747126 ], [ -122.243080000495553, 38.108119000686678 ], [ -122.243079999771453, 38.107619000912088 ], [ -122.243180000480777, 38.106819000259506 ], [ -122.243279999975272, 38.106519001109902 ], [ -122.24327999999457, 38.10601900029917 ], [ -122.243279999978299, 38.104719000518187 ], [ -122.244980000460828, 38.104619000528899 ], [ -122.246380000499897, 38.104619000276301 ], [ -122.247980000015858, 38.104619000927372 ], [ -122.249580000399092, 38.105019001046209 ], [ -122.251580000299171, 38.105119000940881 ], [ -122.253281000486325, 38.105119000449804 ], [ -122.254942999550551, 38.105173000728072 ], [ -122.254960999744867, 38.105992000958295 ], [ -122.254977999984746, 38.107042000868624 ], [ -122.254989000442137, 38.108006000842174 ], [ -122.254940000270565, 38.108959000701368 ], [ -122.254864999509735, 38.109956000576339 ], [ -122.254834000221038, 38.110391000953975 ], [ -122.254762000207407, 38.111057000458374 ], [ -122.254721999858191, 38.11147200066727 ], [ -122.254672000399054, 38.112048000582149 ], [ -122.254619999860509, 38.112530000411205 ], [ -122.254564999903295, 38.113104001009205 ], [ -122.254554000172462, 38.113162000832482 ], [ -122.254529999686724, 38.113344001045284 ], [ -122.254380999616799, 38.114019000666246 ], [ -122.254292999856446, 38.11445800089195 ], [ -122.254268999459981, 38.114629000301498 ], [ -122.254271000150197, 38.114674000897715 ], [ -122.254280999738057, 38.114719000893835 ], [ -122.25431599979791, 38.114798000756323 ], [ -122.254357000362006, 38.114855000327083 ], [ -122.25440499969838, 38.114903001116936 ], [ -122.254460999668055, 38.114956000542008 ], [ -122.254501999590971, 38.11501600033187 ], [ -122.254531999409082, 38.115088000804299 ], [ -122.254554999442519, 38.115158001133963 ], [ -122.254656000485596, 38.115759000524129 ], [ -122.254680999639135, 38.116019000520772 ], [ -122.25509599980316, 38.119915001058594 ], [ -122.252880999707898, 38.119819000918227 ], [ -122.252080999464965, 38.119719000528391 ], [ -122.251080999891045, 38.119619000590482 ], [ -122.248581000196339, 38.119619000861903 ], [ -122.248281000215314, 38.119619000419064 ], [ -122.246780000266114, 38.113419000610641 ], [ -122.243080000469121, 38.113319000495132 ], [ -122.243080000507462, 38.111619000606169 ], [ -122.24318000036547, 38.110519000964352 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 699, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.612835000109342, 37.139541000468377 ], [ -121.612321999876556, 37.139742000553575 ], [ -121.611880999447877, 37.139945000861822 ], [ -121.611641000482976, 37.140025001026181 ], [ -121.611398000204446, 37.140119000441501 ], [ -121.610967999897795, 37.140238000564153 ], [ -121.609770999428832, 37.140664000923131 ], [ -121.609138999924582, 37.140857000381395 ], [ -121.607858000444409, 37.141236000418964 ], [ -121.607154000144789, 37.141444000800284 ], [ -121.607030999832688, 37.141671001021223 ], [ -121.60679699945608, 37.141778000365086 ], [ -121.605597000212171, 37.141911000780631 ], [ -121.605147000065969, 37.142070000263779 ], [ -121.604880000381513, 37.14223000054232 ], [ -121.604653999915399, 37.142244000337492 ], [ -121.604529999484186, 37.142124000377599 ], [ -121.604463000207843, 37.141698000406649 ], [ -121.604329000331305, 37.141498000495879 ], [ -121.60394600020841, 37.141312001122081 ], [ -121.603212000336569, 37.141086000379914 ], [ -121.603044999909486, 37.141299000819082 ], [ -121.603779000483286, 37.14151200066248 ], [ -121.603811999482076, 37.141778000522471 ], [ -121.603579000421234, 37.141871001014536 ], [ -121.603194999738847, 37.141738001124978 ], [ -121.602060999610117, 37.141645000431247 ], [ -121.601860999521904, 37.141791000262216 ], [ -121.601644999390459, 37.141804000940844 ], [ -121.601294000365982, 37.141685000977624 ], [ -121.60092800009852, 37.141485000821362 ], [ -121.600661000501091, 37.141458000616147 ], [ -121.600561000164319, 37.141591000758211 ], [ -121.600826999687428, 37.141711000374933 ], [ -121.601010999496523, 37.141884000546881 ], [ -121.600944000261251, 37.142137000329782 ], [ -121.600611000379317, 37.142230000522289 ], [ -121.600226999850278, 37.142097000964462 ], [ -121.59965999982478, 37.142044000309106 ], [ -121.599210000446419, 37.141911000872419 ], [ -121.598776000260159, 37.141618000497594 ], [ -121.598258999957864, 37.14164500027465 ], [ -121.597975999488185, 37.141565001115715 ], [ -121.597908999724922, 37.141206000302496 ], [ -121.597742000283574, 37.14109900031071 ], [ -121.597592000512918, 37.141126000901401 ], [ -121.597253999833569, 37.141244000775181 ], [ -121.59612499956387, 37.142576000288805 ], [ -121.59565399993248, 37.14294400031774 ], [ -121.595481000405215, 37.143088000812831 ], [ -121.595054000222689, 37.143444001017834 ], [ -121.594554000240009, 37.143744000321043 ], [ -121.593966000427642, 37.144513000368448 ], [ -121.593242999752221, 37.14670800053397 ], [ -121.592932999401683, 37.147107001117107 ], [ -121.592520000382535, 37.14722500059689 ], [ -121.592210000511969, 37.147248000856983 ], [ -121.592019000486687, 37.147413000799318 ], [ -121.592032999554718, 37.147707000552067 ], [ -121.591693999857, 37.148189000647911 ], [ -121.591576000124192, 37.148659000390992 ], [ -121.591192999494723, 37.149211000846854 ], [ -121.590823999645991, 37.149622000402466 ], [ -121.590721000119004, 37.149940000609611 ], [ -121.590868000181544, 37.150257000668631 ], [ -121.590602999651196, 37.150962000287358 ], [ -121.590455999513168, 37.151397000557402 ], [ -121.590101999649463, 37.15166700100189 ], [ -121.589659000088361, 37.151703001072619 ], [ -121.589305000134289, 37.151362000578573 ], [ -121.588996000411612, 37.151385000552942 ], [ -121.588657000095751, 37.15177300087916 ], [ -121.588465000295955, 37.151808000814782 ], [ -121.587609999761597, 37.151573000536828 ], [ -121.587284999530439, 37.151797000854813 ], [ -121.587122999395248, 37.151961000715986 ], [ -121.586710000165525, 37.151973000292351 ], [ -121.586370999844789, 37.152326001000645 ], [ -121.585927000346317, 37.15246600113224 ], [ -121.585195000243303, 37.151978000661579 ], [ -121.584170999454273, 37.151039000384621 ], [ -121.584048999664546, 37.150780000521856 ], [ -121.58415599945161, 37.14785900034245 ], [ -121.584155999790653, 37.147549000670146 ], [ -121.584156000264429, 37.14462400024501 ], [ -121.584003000208583, 37.142472000877056 ], [ -121.583667999491311, 37.140351000657503 ], [ -121.583346999403631, 37.137956001015262 ], [ -121.583190999504438, 37.137490000373333 ], [ -121.583148999754513, 37.1372050008247 ], [ -121.583084999836956, 37.136766000930734 ], [ -121.585168000449315, 37.137523000412287 ], [ -121.586667999699202, 37.138069000683394 ], [ -121.58702200045235, 37.137600001069323 ], [ -121.587340999709483, 37.137640001058067 ], [ -121.587865999643753, 37.13770700040088 ], [ -121.587978999701249, 37.13768400048351 ], [ -121.588303999448087, 37.137345000618652 ], [ -121.588358000507526, 37.137607000269227 ], [ -121.588441999815871, 37.137590000858857 ], [ -121.588853000444175, 37.137507000440564 ], [ -121.588906000111436, 37.137241000355566 ], [ -121.589307000435227, 37.137163000723362 ], [ -121.589369999538789, 37.137402001015872 ], [ -121.589487999531528, 37.13784800040326 ], [ -121.589653999465483, 37.137344001037789 ], [ -121.58997699946211, 37.136790000424398 ], [ -121.590130000025624, 37.136452000903049 ], [ -121.59018000011632, 37.136336000982936 ], [ -121.590281000292066, 37.136142000256882 ], [ -121.590468000397962, 37.135701000243387 ], [ -121.590627000173257, 37.135614001122171 ], [ -121.590749000026037, 37.135003000478633 ], [ -121.591909000089828, 37.134690000594709 ], [ -121.59174100008731, 37.135354000542932 ], [ -121.597204999472623, 37.133185000603191 ], [ -121.595954000067195, 37.130944001005098 ], [ -121.598754000468404, 37.129944000808237 ], [ -121.599354000125089, 37.129744000509007 ], [ -121.600854000353081, 37.129144000508859 ], [ -121.595454000456016, 37.119945001129103 ], [ -121.600553999637256, 37.118045000532007 ], [ -121.60255100040834, 37.117437001095425 ], [ -121.602854000406282, 37.117345000651795 ], [ -121.605754000485064, 37.116245000661813 ], [ -121.610953999840561, 37.114445000588468 ], [ -121.612727000013265, 37.113831001129071 ], [ -121.614813999638002, 37.113109000880122 ], [ -121.616155000503682, 37.112645000313698 ], [ -121.619454999780231, 37.111645001096932 ], [ -121.623454999676923, 37.115445000564279 ], [ -121.624482999400158, 37.116940000722842 ], [ -121.624555000035684, 37.117045000245284 ], [ -121.624854999875197, 37.117445000829974 ], [ -121.626054999582323, 37.119291000272106 ], [ -121.626154999951609, 37.119445000965555 ], [ -121.627754999886662, 37.121945000537963 ], [ -121.62795500032658, 37.12224500034646 ], [ -121.628554999464242, 37.123545000331191 ], [ -121.62947700012225, 37.124945000637375 ], [ -121.631255000428808, 37.127645001079621 ], [ -121.631955000331445, 37.128745000538174 ], [ -121.632154999546515, 37.129145001029926 ], [ -121.633454999710708, 37.131445000905785 ], [ -121.633561000044352, 37.131551000762975 ], [ -121.633654999782394, 37.131645000381155 ], [ -121.632250999890417, 37.132150000269355 ], [ -121.631707000079714, 37.132346000996876 ], [ -121.631155000045098, 37.132545000240597 ], [ -121.630554999846822, 37.132845000342314 ], [ -121.629203000366061, 37.133296001114502 ], [ -121.628955999731645, 37.133378000976158 ], [ -121.628455000022328, 37.133545000773971 ], [ -121.626843999995373, 37.134154000638297 ], [ -121.626536000226025, 37.134264000309429 ], [ -121.624837999451486, 37.134872000369484 ], [ -121.623918000413383, 37.1352240006999 ], [ -121.623552000505214, 37.135346001095819 ], [ -121.623125999585525, 37.135487000535853 ], [ -121.6223629998386, 37.135769000906251 ], [ -121.621299000020244, 37.136145000623166 ], [ -121.62072000033659, 37.136318000338207 ], [ -121.62031800007216, 37.136438000605843 ], [ -121.619520000138976, 37.136683000895687 ], [ -121.61856799987352, 37.137077000356797 ], [ -121.618538000190611, 37.1370420009643 ], [ -121.617134000421643, 37.137707000243211 ], [ -121.615574999818222, 37.138380000385268 ], [ -121.615454999678036, 37.138444000499533 ], [ -121.614639000104361, 37.138815000270704 ], [ -121.614355000088381, 37.138944000988225 ], [ -121.613087000435925, 37.139442000848895 ], [ -121.612835000109342, 37.139541000468377 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 712, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.616631999477178, 37.095070000484938 ], [ -121.616954999971313, 37.095546000923086 ], [ -121.616255000157267, 37.095546000611442 ], [ -121.611653999884652, 37.094346000384945 ], [ -121.609617999705335, 37.090431000748765 ], [ -121.609054000276046, 37.089346000587206 ], [ -121.608154000278589, 37.087746000358678 ], [ -121.607825999687819, 37.087156000383978 ], [ -121.6071540001697, 37.085946000994909 ], [ -121.606353999579284, 37.084346000578165 ], [ -121.605454000481956, 37.082646001113474 ], [ -121.606653999676567, 37.082346000902696 ], [ -121.607754000130441, 37.081946000416785 ], [ -121.608654000117255, 37.083546000869902 ], [ -121.609653999897432, 37.085146000632733 ], [ -121.610154000392569, 37.084946000419123 ], [ -121.610553999857729, 37.084746000796912 ], [ -121.610254000083927, 37.084346000675687 ], [ -121.610154000252393, 37.084046000795531 ], [ -121.607753999415223, 37.079946000278483 ], [ -121.610854000223867, 37.078746000438805 ], [ -121.613655000496237, 37.083646000467212 ], [ -121.616654999572347, 37.08254600077408 ], [ -121.622954999712036, 37.080246000583692 ], [ -121.619683999837321, 37.074592000790936 ], [ -121.618209999929377, 37.072043000865165 ], [ -121.617054999677549, 37.070046000888659 ], [ -121.616854999923405, 37.069746000707163 ], [ -121.616771999720186, 37.069778000801627 ], [ -121.613755000454034, 37.070946001084522 ], [ -121.610754000241258, 37.072046000672813 ], [ -121.609589999987762, 37.072478000925571 ], [ -121.604554000226898, 37.074346000307351 ], [ -121.600554000167577, 37.067646000587558 ], [ -121.600154000023863, 37.067746000606178 ], [ -121.59775399994669, 37.06854600062718 ], [ -121.596153999555312, 37.06914600083185 ], [ -121.593154000016924, 37.070146000493594 ], [ -121.591008000213279, 37.070873000744207 ], [ -121.589853999820818, 37.071346000952147 ], [ -121.587853000278372, 37.072046000695437 ], [ -121.587252999408491, 37.072246000659128 ], [ -121.584953000241299, 37.073046000365785 ], [ -121.582352999571583, 37.073846000525457 ], [ -121.579952999769233, 37.074746000907972 ], [ -121.577153000106208, 37.075746000755856 ], [ -121.574221000431677, 37.076907000524081 ], [ -121.572352999676255, 37.077646001030551 ], [ -121.570101999842052, 37.078380000679964 ], [ -121.568774000107695, 37.078813000900638 ], [ -121.567752999881932, 37.079145000462411 ], [ -121.566792000263433, 37.079409000768131 ], [ -121.563738999557572, 37.080736000785159 ], [ -121.560106999621141, 37.081858000591616 ], [ -121.557635000481667, 37.082735000353026 ], [ -121.55664299973472, 37.083109001002647 ], [ -121.556038999936035, 37.083366000242989 ], [ -121.555926000355583, 37.083414001074274 ], [ -121.54851100032738, 37.073717000235504 ], [ -121.549288999953347, 37.074198000371211 ], [ -121.550326000508974, 37.074190000252081 ], [ -121.55087600006074, 37.074106000476128 ], [ -121.552630000383488, 37.073443000881817 ], [ -121.553112999521503, 37.073197000228795 ], [ -121.553514999708682, 37.072993000527262 ], [ -121.554172000157578, 37.072200001004269 ], [ -121.55439999943647, 37.071666000543914 ], [ -121.55444599990318, 37.071224000578347 ], [ -121.554360999966605, 37.070851000396878 ], [ -121.554323999615804, 37.070689000748487 ], [ -121.55383599950656, 37.069804000842595 ], [ -121.554445999998649, 37.069179000671426 ], [ -121.554598999711956, 37.069049000231473 ], [ -121.556703999722316, 37.068248000256851 ], [ -121.556162000237762, 37.06718600063202 ], [ -121.554205000110102, 37.063349000634659 ], [ -121.55415199971452, 37.063246000355001 ], [ -121.551252000391912, 37.057946000660742 ], [ -121.549651999997621, 37.055246000732105 ], [ -121.549089999663764, 37.05399600041401 ], [ -121.548235999759541, 37.052539000560309 ], [ -121.552568000350718, 37.050970000860318 ], [ -121.552828999828236, 37.05087600043862 ], [ -121.554780999717963, 37.050224000275776 ], [ -121.556807000056679, 37.04954800045509 ], [ -121.556752000237395, 37.049446000783291 ], [ -121.559051999756917, 37.04864600067117 ], [ -121.562252000433091, 37.047846000781668 ], [ -121.560452000226306, 37.043447001063363 ], [ -121.561351999582101, 37.043047000480605 ], [ -121.560855000019274, 37.041706000612692 ], [ -121.55927599977862, 37.039159000869873 ], [ -121.558152000081819, 37.037347001003823 ], [ -121.567049999828058, 37.034098000743882 ], [ -121.570752999434575, 37.032747000704553 ], [ -121.571652999706615, 37.032347000718168 ], [ -121.573952999507938, 37.037547000428106 ], [ -121.575787999612999, 37.041217000262108 ], [ -121.576452999688627, 37.042547000974174 ], [ -121.57634099939321, 37.042951000914719 ], [ -121.575952999463198, 37.044347001054241 ], [ -121.57680200047993, 37.044097001064529 ], [ -121.577605000076758, 37.043861000301426 ], [ -121.577652999753468, 37.043847000866855 ], [ -121.578328999494985, 37.043713000644999 ], [ -121.578722999770633, 37.043634000996327 ], [ -121.579211999451118, 37.043537000232895 ], [ -121.58225299962352, 37.042647000513796 ], [ -121.585025999990066, 37.041920000489235 ], [ -121.585952999799616, 37.041547000620653 ], [ -121.586352999500932, 37.041447001056902 ], [ -121.584452999941192, 37.038147000809474 ], [ -121.587553000512415, 37.037647000865022 ], [ -121.588198999960866, 37.037556000456149 ], [ -121.589352999579845, 37.03714700054514 ], [ -121.590455999436827, 37.03692900111497 ], [ -121.59745399954727, 37.035547001112995 ], [ -121.597253999428233, 37.037347001070572 ], [ -121.5973599995353, 37.037379000784192 ], [ -121.598491999735842, 37.037721001044602 ], [ -121.60045300039279, 37.038314000779096 ], [ -121.602413000029401, 37.038906001060312 ], [ -121.603853999632449, 37.039342000704124 ], [ -121.605530999773009, 37.039849000434351 ], [ -121.606285000468475, 37.040077000603809 ], [ -121.607067999484045, 37.040313000801355 ], [ -121.611626999403668, 37.041691001102414 ], [ -121.612902999424008, 37.042076000931083 ], [ -121.615455000130311, 37.04284700074637 ], [ -121.616654999628921, 37.040947000324842 ], [ -121.618755000008093, 37.040747000804181 ], [ -121.619978999622802, 37.040428000846283 ], [ -121.62105499994432, 37.040147000946874 ], [ -121.622046000348917, 37.040531000624618 ], [ -121.623054999674579, 37.040547000735216 ], [ -121.626055000286158, 37.041603001080354 ], [ -121.626500999974738, 37.041760000729781 ], [ -121.628088000239799, 37.042301000588239 ], [ -121.631478999977134, 37.043391000254559 ], [ -121.631907999823497, 37.043529000942193 ], [ -121.632755000380641, 37.044847000510963 ], [ -121.634755000251914, 37.04444700027797 ], [ -121.635841000287044, 37.044819000941125 ], [ -121.641071999699477, 37.045868000955331 ], [ -121.64144099983406, 37.045942000516796 ], [ -121.642431999993903, 37.045965000702445 ], [ -121.644949999808659, 37.046094000312223 ], [ -121.646873000256704, 37.046155000462051 ], [ -121.649618999847263, 37.046216000299829 ], [ -121.650256000072318, 37.046248000701674 ], [ -121.652956000466034, 37.045448000876718 ], [ -121.653456000096327, 37.045348000416773 ], [ -121.653556000305443, 37.045848000767769 ], [ -121.654255999550656, 37.047848000404819 ], [ -121.656955999678672, 37.050548000955978 ], [ -121.657047999747263, 37.050624000245072 ], [ -121.658056999553011, 37.051448000781463 ], [ -121.658134999905542, 37.051542000688308 ], [ -121.660118000469495, 37.054006000549442 ], [ -121.660700000173392, 37.054133000556007 ], [ -121.663257000127416, 37.059247000459607 ], [ -121.662590000416472, 37.061706000709542 ], [ -121.66165699943727, 37.065147001059223 ], [ -121.660656999601585, 37.067247000227887 ], [ -121.6605569998367, 37.06794700102035 ], [ -121.659858999495938, 37.06950800101631 ], [ -121.658698999406241, 37.072430000786987 ], [ -121.658156000494841, 37.074047000449511 ], [ -121.657655999780957, 37.074847000391742 ], [ -121.657202999809982, 37.076084000928688 ], [ -121.657142000284807, 37.076542000365201 ], [ -121.656318000365246, 37.078244000583723 ], [ -121.655955999687222, 37.079047000892103 ], [ -121.654456000086967, 37.08084700068656 ], [ -121.654400999600867, 37.081038000776076 ], [ -121.653891999943042, 37.08189800103974 ], [ -121.653576999798588, 37.08273800038252 ], [ -121.653556000356588, 37.08394700088472 ], [ -121.653455999953806, 37.08494600081216 ], [ -121.651763999451461, 37.086054000920505 ], [ -121.645101999691988, 37.090416000844819 ], [ -121.645055999541199, 37.090446000651376 ], [ -121.644605999744059, 37.090510000851637 ], [ -121.644356000131125, 37.090546000450956 ], [ -121.64421500007289, 37.090564000978056 ], [ -121.640355999578333, 37.091046000441011 ], [ -121.639756000183269, 37.091046000632332 ], [ -121.638955999590863, 37.090846000778733 ], [ -121.638154999483504, 37.090219000342628 ], [ -121.637429999439291, 37.089651001081585 ], [ -121.636746000212966, 37.08911600068447 ], [ -121.635842000474753, 37.088829001003077 ], [ -121.635651999541054, 37.088788000603806 ], [ -121.634274999976597, 37.088492000530067 ], [ -121.630877000484688, 37.088726000234843 ], [ -121.630354999397568, 37.088646000818514 ], [ -121.626854999829959, 37.087146000466618 ], [ -121.62735499982017, 37.087846000564376 ], [ -121.626055000322197, 37.088357000357711 ], [ -121.624633000117726, 37.088917000703596 ], [ -121.622978000424368, 37.089568000336897 ], [ -121.621254999737943, 37.090246000831947 ], [ -121.62009499969966, 37.090695000264859 ], [ -121.619803000023254, 37.090808001116791 ], [ -121.618154999771122, 37.091446001059907 ], [ -121.615962000391164, 37.092366000939862 ], [ -121.615054999621009, 37.092746000307635 ], [ -121.616631999477178, 37.095070000484938 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 708, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.568151999821268, 36.999648000442285 ], [ -121.569551999960368, 36.999248000554914 ], [ -121.569842000118271, 36.999105000464958 ], [ -121.570391999858956, 36.99893700037881 ], [ -121.570574000136233, 36.998881000547485 ], [ -121.570651999452082, 36.998848000908353 ], [ -121.571031999465234, 36.998800000444248 ], [ -121.571537000054647, 36.998571000393916 ], [ -121.572741999583656, 36.998182000409372 ], [ -121.574102000473275, 36.997845000656824 ], [ -121.574130999713034, 36.997838000243462 ], [ -121.576114999919625, 36.997167001116686 ], [ -121.577378000173965, 36.996872000278373 ], [ -121.577715000357742, 36.996793000232394 ], [ -121.577852999435777, 36.996748001071786 ], [ -121.578952999836289, 36.996348001075702 ], [ -121.580753000419321, 36.995648000936143 ], [ -121.584853000026385, 36.999148001065429 ], [ -121.585765999827458, 36.999344000962076 ], [ -121.585711999409057, 36.99941000088279 ], [ -121.586522999493184, 36.999948000893376 ], [ -121.588520000115892, 37.001272000808022 ], [ -121.588305999817734, 37.001844000842226 ], [ -121.588078000040895, 37.002149000524305 ], [ -121.587756999840195, 37.002653000884777 ], [ -121.58746699939789, 37.003126000839856 ], [ -121.587193000128963, 37.003789001110853 ], [ -121.587146999672925, 37.004682001113622 ], [ -121.587086000267163, 37.005697000725142 ], [ -121.58705300035561, 37.006148001015575 ], [ -121.587252999881215, 37.008448000271777 ], [ -121.587253000418627, 37.010048000487039 ], [ -121.587253000303605, 37.01074800073102 ], [ -121.587152999661214, 37.011748000513592 ], [ -121.587119999696327, 37.011801000851868 ], [ -121.586652999910243, 37.012548000730945 ], [ -121.586752999650216, 37.013448000315968 ], [ -121.581653000342698, 37.013348000986035 ], [ -121.581252999611038, 37.013348000793542 ], [ -121.580353000357462, 37.013448000672462 ], [ -121.580053000307643, 37.013448000297707 ], [ -121.578853000173297, 37.013448001125369 ], [ -121.577252999831174, 37.013248000470021 ], [ -121.576053000122599, 37.013648000865125 ], [ -121.575352999534914, 37.012148000426478 ], [ -121.574752999577001, 37.010448000766608 ], [ -121.573952999456736, 37.008948000326129 ], [ -121.573408999530741, 37.00762700056702 ], [ -121.573252999984817, 37.007248000597599 ], [ -121.573016999500638, 37.006856000698811 ], [ -121.572553000229419, 37.00574800029387 ], [ -121.571752999707627, 37.004148000892783 ], [ -121.570551999878774, 37.004448000961304 ], [ -121.569151999611847, 37.00494800070495 ], [ -121.568352000063399, 37.002948000335977 ], [ -121.567751999839842, 37.001448001082231 ], [ -121.566952000326552, 37.000048000382776 ], [ -121.567251999956355, 36.999948000870212 ], [ -121.568151999821268, 36.999648000442285 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 14, "TAZ1454": 714, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.468932999958895, 37.453875000857572 ], [ -121.468347000293832, 37.453697001024885 ], [ -121.467228000240183, 37.453356000822488 ], [ -121.467179000208006, 37.453341000415286 ], [ -121.465332000131284, 37.454549001049735 ], [ -121.464686999889935, 37.454483000394347 ], [ -121.464021999618538, 37.453838000833805 ], [ -121.464051999544921, 37.452477000576671 ], [ -121.463651999800661, 37.451940001057061 ], [ -121.462916999586128, 37.451489000528881 ], [ -121.462655000227002, 37.448438000429881 ], [ -121.463475999654094, 37.445692000695693 ], [ -121.462151000235849, 37.442334000824047 ], [ -121.461850999840635, 37.440734000676194 ], [ -121.461869000233904, 37.440443001067443 ], [ -121.461951000107376, 37.439134000498271 ], [ -121.461860000379716, 37.438799000608917 ], [ -121.462311999937569, 37.43798300068039 ], [ -121.464138999452445, 37.437603000571499 ], [ -121.464186000522929, 37.437570000482886 ], [ -121.464430999985439, 37.437398000405864 ], [ -121.464950999719505, 37.437034000285195 ], [ -121.465589000205298, 37.435929000338156 ], [ -121.465908000176412, 37.435598000304552 ], [ -121.466582000374387, 37.434792000239518 ], [ -121.466959999662393, 37.434274000273376 ], [ -121.467281999481173, 37.433967000584545 ], [ -121.467443000015763, 37.433712000525894 ], [ -121.467520000477379, 37.433447000804492 ], [ -121.468244000330657, 37.432861000869188 ], [ -121.468605999492794, 37.432361000307253 ], [ -121.469250999901007, 37.431672000697311 ], [ -121.469936000267808, 37.430872001046147 ], [ -121.47032799961022, 37.430120000593696 ], [ -121.47045900039376, 37.429441001113716 ], [ -121.470520000327895, 37.42859200032651 ], [ -121.47037899965008, 37.428142000357063 ], [ -121.470337999803959, 37.427709000494865 ], [ -121.468953999530541, 37.425903000451164 ], [ -121.468787999931465, 37.425653000589556 ], [ -121.468757999819502, 37.425285000574583 ], [ -121.468858000288918, 37.424994000463187 ], [ -121.469150000148034, 37.424733001106077 ], [ -121.469723999843495, 37.424550000324814 ], [ -121.47030799996908, 37.42443400032996 ], [ -121.470963000410464, 37.424310000411879 ], [ -121.471517000055087, 37.424262000934853 ], [ -121.471940000384251, 37.424243000581292 ], [ -121.472148000081191, 37.424175000280577 ], [ -121.472204000267467, 37.424131001105138 ], [ -121.472605999826982, 37.423345000747709 ], [ -121.472327999605142, 37.422981001044072 ], [ -121.466251000323837, 37.415034000885484 ], [ -121.463550999616274, 37.415934000824009 ], [ -121.456350999674896, 37.406735001114122 ], [ -121.455651000240195, 37.401035000839165 ], [ -121.45825100021743, 37.398135000922785 ], [ -121.456651000352807, 37.395535000277384 ], [ -121.451550000382511, 37.394635001103993 ], [ -121.450449999740187, 37.392535000876279 ], [ -121.448163000112402, 37.391677000560989 ], [ -121.446719999969247, 37.392703000551656 ], [ -121.445856999719098, 37.393024000478995 ], [ -121.445244999799229, 37.393346000559141 ], [ -121.44458300010217, 37.393361001132547 ], [ -121.442744000429087, 37.392763000921072 ], [ -121.442424999439638, 37.392989000902624 ], [ -121.442108999817108, 37.393213000819472 ], [ -121.440249999771709, 37.394535000905812 ], [ -121.438956999490955, 37.394620000544862 ], [ -121.437689999619053, 37.395743001032628 ], [ -121.436084999762699, 37.396130000381063 ], [ -121.434911000018658, 37.395888000935386 ], [ -121.433546000045197, 37.395373000851656 ], [ -121.432193000086528, 37.394408000502175 ], [ -121.431549999884894, 37.394235000656941 ], [ -121.424050000389855, 37.393635001042632 ], [ -121.419450000368627, 37.390735000992045 ], [ -121.416666000433779, 37.390178000945433 ], [ -121.414764000045935, 37.390197000422837 ], [ -121.413949000100914, 37.389635000576718 ], [ -121.412549000435135, 37.389435001126394 ], [ -121.412155999532331, 37.387272000718745 ], [ -121.412113999507113, 37.387240000460146 ], [ -121.410628999634952, 37.386108000595556 ], [ -121.410140999615791, 37.383980001073063 ], [ -121.410024999993766, 37.383472000451199 ], [ -121.409953999490625, 37.383162000544331 ], [ -121.410072999590085, 37.382893000424012 ], [ -121.410082999759709, 37.382628000777807 ], [ -121.410072999954778, 37.382398000650142 ], [ -121.409840999479982, 37.382106000992913 ], [ -121.409692999903456, 37.38201300056221 ], [ -121.409741000451362, 37.382223000237111 ], [ -121.409345999897397, 37.381320001076347 ], [ -121.409075000413097, 37.380672000904617 ], [ -121.409716999442054, 37.379891000684928 ], [ -121.410318999624593, 37.379092000925759 ], [ -121.411051000397052, 37.378379000591814 ], [ -121.411385999991396, 37.378361000410365 ], [ -121.411593999930659, 37.378100000759758 ], [ -121.412366999407581, 37.377879000952767 ], [ -121.412805999832372, 37.377616001125702 ], [ -121.41307099980142, 37.377458000359816 ], [ -121.41368500035604, 37.37699300091851 ], [ -121.414078000196028, 37.376650000317554 ], [ -121.414489999878626, 37.376317000628582 ], [ -121.415032999772222, 37.376142000281256 ], [ -121.415476000141453, 37.37601200099769 ], [ -121.415849000482297, 37.375916000874696 ], [ -121.415798000107003, 37.375687000827448 ], [ -121.415698000351512, 37.375404001118781 ], [ -121.415989000469111, 37.374858000418826 ], [ -121.416140000267688, 37.374717000401425 ], [ -121.416310999501107, 37.374453000719456 ], [ -121.416361999509959, 37.374179000788999 ], [ -121.416129000096092, 37.373709000380153 ], [ -121.41765000009498, 37.369836000349565 ], [ -121.418213000472974, 37.36741000100124 ], [ -121.418696000119226, 37.366932001025688 ], [ -121.419017999533594, 37.36631600052398 ], [ -121.419210000188954, 37.365601000611981 ], [ -121.419250000043576, 37.365081000810285 ], [ -121.41929000049295, 37.36471900087404 ], [ -121.419289999725393, 37.364445000523091 ], [ -121.419651999926955, 37.364332000760641 ], [ -121.420426999469797, 37.364229000346533 ], [ -121.421172000082549, 37.364065001047095 ], [ -121.421655000308988, 37.363828000452507 ], [ -121.422127999463328, 37.363469000983642 ], [ -121.422499999772086, 37.36309100038293 ], [ -121.422631000039132, 37.36266800092563 ], [ -121.422681000198082, 37.362103000430295 ], [ -121.422742000172974, 37.360955001085074 ], [ -121.423650000059951, 37.358837001026053 ], [ -121.42215299973212, 37.356025000293073 ], [ -121.421044000043679, 37.355382000673693 ], [ -121.421023999919072, 37.355127000783867 ], [ -121.42122799981118, 37.354287000969961 ], [ -121.420898999575485, 37.353669000407848 ], [ -121.419810000148743, 37.352807000428285 ], [ -121.419409000097176, 37.35198900099121 ], [ -121.419549000404217, 37.351120000868129 ], [ -121.420459999883349, 37.350467000716236 ], [ -121.420487000105666, 37.34993700043092 ], [ -121.42049800019484, 37.34971700070485 ], [ -121.420595999513196, 37.347765000842955 ], [ -121.420142000049722, 37.347273001119859 ], [ -121.419820999939674, 37.346540001062117 ], [ -121.419951999480702, 37.346063001114231 ], [ -121.420703000232038, 37.34567900085294 ], [ -121.420734000469935, 37.345062000620267 ], [ -121.420750000065027, 37.344737000303098 ], [ -121.409149999904528, 37.330637000298601 ], [ -121.411150000273267, 37.327537001038515 ], [ -121.410356999944824, 37.325431001108996 ], [ -121.41021799959762, 37.325061000504071 ], [ -121.411938999888747, 37.324445000510032 ], [ -121.409397999527798, 37.321464000831511 ], [ -121.408332999781862, 37.317620000717369 ], [ -121.408142000237078, 37.315809000703091 ], [ -121.407700000095005, 37.314059001117784 ], [ -121.407479999484465, 37.313114000912194 ], [ -121.407097999713599, 37.312769000756134 ], [ -121.406747000159115, 37.312684000858773 ], [ -121.406772000231456, 37.31280300024703 ], [ -121.406333999415352, 37.312762000734999 ], [ -121.406204000021859, 37.311826000423181 ], [ -121.405752999881784, 37.310990000534531 ], [ -121.406203999437764, 37.310531000448641 ], [ -121.40751900028431, 37.30983700053266 ], [ -121.408942000255081, 37.309877000709314 ], [ -121.411314999841437, 37.308031000400078 ], [ -121.412772000299753, 37.307434000828501 ], [ -121.413545000256534, 37.306985000863335 ], [ -121.414007000442297, 37.306765000868381 ], [ -121.414257999627665, 37.3065090005923 ], [ -121.414748000244799, 37.305360000582752 ], [ -121.414891999828114, 37.305248000502473 ], [ -121.416730999894583, 37.30381800103158 ], [ -121.41774400043316, 37.303539001086179 ], [ -121.4181150004503, 37.303416000842077 ], [ -121.418366000115341, 37.303275000657607 ], [ -121.418677999481559, 37.302913000478235 ], [ -121.418837999850751, 37.302560000287407 ], [ -121.419061999472603, 37.302006000527108 ], [ -121.422749999535881, 37.2991380007877 ], [ -121.423049999486963, 37.29663800091447 ], [ -121.423040999756509, 37.295865000964653 ], [ -121.423451999641458, 37.295287000702011 ], [ -121.424666000235447, 37.295138001006912 ], [ -121.426062999912531, 37.295936000585108 ], [ -121.42584599982672, 37.295986000857134 ], [ -121.425650000299484, 37.296032000735785 ], [ -121.424589000236693, 37.296279000599689 ], [ -121.425375999708223, 37.296309000995429 ], [ -121.425767000001514, 37.296336000674515 ], [ -121.426008000395001, 37.296327000284101 ], [ -121.426332000298615, 37.296208000989395 ], [ -121.426631000387005, 37.296099000965 ], [ -121.42724400024818, 37.29591400104465 ], [ -121.428529000422316, 37.295669000470987 ], [ -121.430357000215125, 37.295249000638393 ], [ -121.431391000404091, 37.294994000833974 ], [ -121.432032000467004, 37.294544000302544 ], [ -121.432743999717104, 37.294378000347841 ], [ -121.432778999566878, 37.294370000625882 ], [ -121.433665999985038, 37.293580000254046 ], [ -121.434016999743704, 37.292934000662008 ], [ -121.435471999410638, 37.292359000792096 ], [ -121.436815999776456, 37.291971000839077 ], [ -121.437537999882309, 37.292365001072177 ], [ -121.438501999487457, 37.293168001108356 ], [ -121.439756000335663, 37.2934610004421 ], [ -121.441119999871887, 37.293857000576189 ], [ -121.441973000103317, 37.294796000457211 ], [ -121.442785999922833, 37.296309000676828 ], [ -121.443549999621794, 37.296638000323625 ], [ -121.449649999805416, 37.293938000976794 ], [ -121.448658000223844, 37.290301001011706 ], [ -121.448815000120476, 37.290177000990973 ], [ -121.448917999723704, 37.290095000641131 ], [ -121.449279999724524, 37.289704000405813 ], [ -121.449461000463913, 37.289355000867303 ], [ -121.449850999710975, 37.28904700047552 ], [ -121.449876000504631, 37.289029000723147 ], [ -121.450907999729125, 37.288450000232778 ], [ -121.451346999977972, 37.288265000826456 ], [ -121.451657999664889, 37.288080000613839 ], [ -121.452148999772319, 37.287628000948047 ], [ -121.452613999641031, 37.287155000237178 ], [ -121.452949999474257, 37.286785000353071 ], [ -121.45297299975482, 37.286735000665686 ], [ -121.453155999739138, 37.286332000231276 ], [ -121.453310999565304, 37.285777000529421 ], [ -121.453544000245586, 37.285202000389063 ], [ -121.453698999417824, 37.284708000777606 ], [ -121.454009000431867, 37.284050000706813 ], [ -121.455150000128071, 37.283839000519457 ], [ -121.455891000142174, 37.28391600095069 ], [ -121.458051000446574, 37.284139000821618 ], [ -121.458373000115088, 37.283687000376389 ], [ -121.459018999839586, 37.282784000620374 ], [ -121.45905100013637, 37.282739001070389 ], [ -121.459068000252515, 37.282319000881138 ], [ -121.458565999468931, 37.281660000755316 ], [ -121.458153999728864, 37.281360000232247 ], [ -121.457620000039981, 37.28108400112928 ], [ -121.457504000261494, 37.280949000416179 ], [ -121.456578999782693, 37.279880000523953 ], [ -121.455886000073065, 37.27907800062556 ], [ -121.455722000119778, 37.278889000692018 ], [ -121.455526000282347, 37.278662000910202 ], [ -121.455445999420917, 37.278570000917142 ], [ -121.454999999616433, 37.278493000991368 ], [ -121.45396600030773, 37.277184000328916 ], [ -121.453950000311977, 37.276839000526266 ], [ -121.45397700004871, 37.276427000923924 ], [ -121.453996999536841, 37.27612700069033 ], [ -121.454121999636087, 37.274224000908134 ], [ -121.454126999894925, 37.274146000801608 ], [ -121.454138000177281, 37.273979000499892 ], [ -121.454186000004569, 37.273243000521319 ], [ -121.454262999925916, 37.272063001114581 ], [ -121.454270999653573, 37.271948000677135 ], [ -121.454289999406015, 37.271654000666459 ], [ -121.454476999866316, 37.268795000254961 ], [ -121.454502999385994, 37.268402001012376 ], [ -121.454540000270796, 37.267840000317456 ], [ -121.454606000277394, 37.26684000069033 ], [ -121.454661999951284, 37.265991000846732 ], [ -121.454742999480331, 37.264759000956722 ], [ -121.454768000479675, 37.264377000603893 ], [ -121.454848999549654, 37.263141000255828 ], [ -121.45523699985435, 37.263048000602431 ], [ -121.455927999484558, 37.26288300061529 ], [ -121.456636999612769, 37.262114000581242 ], [ -121.457254999738012, 37.260943000635827 ], [ -121.456325999434682, 37.259241000617777 ], [ -121.456182999650849, 37.25835700032858 ], [ -121.456194999767149, 37.258133000589297 ], [ -121.455953999501119, 37.257540000358105 ], [ -121.455274000087158, 37.256666000924852 ], [ -121.455296999772742, 37.256318000273716 ], [ -121.455130999408269, 37.255914000440235 ], [ -121.455019999618997, 37.255550000258864 ], [ -121.455404000143503, 37.254692000664278 ], [ -121.455388000137077, 37.254935000248793 ], [ -121.455833999855088, 37.254130000571564 ], [ -121.455973999868291, 37.253919000768093 ], [ -121.456023999398909, 37.253486000921015 ], [ -121.455525999648046, 37.252847000624278 ], [ -121.455600999648212, 37.251711000277098 ], [ -121.455618999603146, 37.25143700060719 ], [ -121.455661999968399, 37.250783000392545 ], [ -121.455749999867507, 37.249440000608097 ], [ -121.455168000441034, 37.248984000440238 ], [ -121.454737999965019, 37.24853400055629 ], [ -121.453952000304625, 37.248048000862049 ], [ -121.452619999799552, 37.246378000689461 ], [ -121.45263299961546, 37.245364000866566 ], [ -121.452162999567705, 37.24474900110112 ], [ -121.451831000063095, 37.244315000422489 ], [ -121.4513950000742, 37.244113001127872 ], [ -121.451114000482278, 37.243841000386638 ], [ -121.451003000202505, 37.24355000096336 ], [ -121.450990000055143, 37.243215000642785 ], [ -121.450481999920186, 37.242550000328293 ], [ -121.449396999409032, 37.24113200065392 ], [ -121.449074000054154, 37.240710000349246 ], [ -121.448797000130199, 37.240347000911235 ], [ -121.448711000295717, 37.240234000811711 ], [ -121.448145000050275, 37.239494000782152 ], [ -121.448235999557923, 37.239265000729361 ], [ -121.44835499949501, 37.238964000801502 ], [ -121.448593000407371, 37.238359000946112 ], [ -121.448793999596319, 37.237912000689711 ], [ -121.448834000419041, 37.237616000333311 ], [ -121.448744000452322, 37.237277001048376 ], [ -121.448492999900566, 37.237020000238644 ], [ -121.447939999522077, 37.236769000836659 ], [ -121.447568999786526, 37.236478000968233 ], [ -121.446705000185318, 37.23617400039187 ], [ -121.44664699992795, 37.236103000684139 ], [ -121.446483999872115, 37.236068000906478 ], [ -121.446082999596129, 37.235967000686813 ], [ -121.445751000435607, 37.235410001000162 ], [ -121.445199000042749, 37.234508000270402 ], [ -121.444696999420941, 37.234092000656922 ], [ -121.443953999584323, 37.233671000429233 ], [ -121.443452000101644, 37.233358000880351 ], [ -121.442261999746663, 37.231802000855645 ], [ -121.44174599982172, 37.231127000366186 ], [ -121.43975400028198, 37.230651000366279 ], [ -121.43947600022031, 37.230359000774882 ], [ -121.439013999702809, 37.230033000847598 ], [ -121.437712999907404, 37.229750001050434 ], [ -121.436566999539039, 37.229567000643428 ], [ -121.43610400033711, 37.229365000246517 ], [ -121.435738999908608, 37.228692000748055 ], [ -121.435431999865031, 37.228317000232693 ], [ -121.434937999714961, 37.228115000305891 ], [ -121.434741000298871, 37.227512000886797 ], [ -121.434675999674965, 37.227480001090605 ], [ -121.434073999649129, 37.226449000985141 ], [ -121.433879999510353, 37.226329000762604 ], [ -121.43295000014443, 37.226650000906112 ], [ -121.432872000193768, 37.227343000833642 ], [ -121.432649999872751, 37.227377001102319 ], [ -121.431559000362057, 37.227816000745115 ], [ -121.430974999878288, 37.227559000697966 ], [ -121.430756000279189, 37.227463000576002 ], [ -121.430018999656326, 37.226712000477207 ], [ -121.429786999893054, 37.226333001092343 ], [ -121.429469999856664, 37.225813000297101 ], [ -121.428947000306664, 37.225387000366453 ], [ -121.428451000318404, 37.225334000562938 ], [ -121.427831999933673, 37.225205000673441 ], [ -121.427588999957905, 37.224657000991925 ], [ -121.426398000357054, 37.223496000330229 ], [ -121.425925000480817, 37.223601000924056 ], [ -121.42508799997826, 37.223545000278449 ], [ -121.424223000018159, 37.223166001129123 ], [ -121.423421000277798, 37.22273800074835 ], [ -121.422711000079218, 37.222360000649722 ], [ -121.422219000181443, 37.221934000318313 ], [ -121.421822000133588, 37.221310001054142 ], [ -121.421671999827439, 37.220837000740076 ], [ -121.421495000169756, 37.219966000976555 ], [ -121.421594000426083, 37.219395000652455 ], [ -121.42172299940114, 37.218899001120157 ], [ -121.421893999516413, 37.218208000564786 ], [ -121.42136199949681, 37.216012000343731 ], [ -121.421074999891843, 37.214826000706523 ], [ -121.419046999505795, 37.213761000989308 ], [ -121.418368999574568, 37.213211000369583 ], [ -121.417817999544653, 37.212511001035516 ], [ -121.417234999543979, 37.211885000469714 ], [ -121.416868999839153, 37.21126200093471 ], [ -121.416791999629879, 37.209795001018485 ], [ -121.41692899994662, 37.208554000840699 ], [ -121.416849000409087, 37.207261000276532 ], [ -121.416861999675646, 37.20604400067495 ], [ -121.416502000389187, 37.204923000641244 ], [ -121.416233000091921, 37.20390200086176 ], [ -121.41620700036016, 37.203430000416766 ], [ -121.415721000274729, 37.202408000833877 ], [ -121.415860000027507, 37.2010170009289 ], [ -121.415775000316032, 37.200296000439074 ], [ -121.415657000003591, 37.199649001018102 ], [ -121.415323000113972, 37.199001000773762 ], [ -121.414585999410676, 37.19825000099344 ], [ -121.413755000433127, 37.197648000322644 ], [ -121.413142000283315, 37.196873000776762 ], [ -121.412593000010034, 37.195950000299014 ], [ -121.41200900028295, 37.195448001106783 ], [ -121.411703999527575, 37.194924000848111 ], [ -121.411617999856588, 37.19427800054136 ], [ -121.411717999416055, 37.193608001045973 ], [ -121.411412999737465, 37.193084000896292 ], [ -121.410891999790962, 37.192508001041674 ], [ -121.410463000051067, 37.192008000743051 ], [ -121.410315999838915, 37.191262000401885 ], [ -121.410355999918792, 37.190368000961328 ], [ -121.410208999893428, 37.189596000871063 ], [ -121.41040199962552, 37.188952000483631 ], [ -121.410811999514095, 37.1883340003764 ], [ -121.411193999395337, 37.187392000545628 ], [ -121.411481000067283, 37.186649000474105 ], [ -121.411581999775791, 37.18595400107597 ], [ -121.411524999545819, 37.185407000450162 ], [ -121.411003000375132, 37.184956000667214 ], [ -121.410357000387762, 37.184380000613139 ], [ -121.409460000308542, 37.184150000531645 ], [ -121.409031000421038, 37.183600000510893 ], [ -121.408793999798448, 37.182505000728739 ], [ -121.408867000067843, 37.18151200035944 ], [ -121.408904999548923, 37.180842001100544 ], [ -121.409404000391731, 37.180622000400724 ], [ -121.409874000111614, 37.180128000553502 ], [ -121.410229000252102, 37.178914000609694 ], [ -121.410447999461212, 37.178741000597597 ], [ -121.410886999416363, 37.178247000447797 ], [ -121.411139999885734, 37.177852000948263 ], [ -121.411174000171997, 37.17752900060291 ], [ -121.411086999705276, 37.176957000606855 ], [ -121.410687999642363, 37.176532001032406 ], [ -121.410351000114829, 37.176107001099687 ], [ -121.410076000490903, 37.175757000297978 ], [ -121.410205999700452, 37.175186000950326 ], [ -121.410431000125342, 37.174467001014946 ], [ -121.411024999563509, 37.173975001019834 ], [ -121.411651999454747, 37.173358000670355 ], [ -121.412523999696845, 37.173091000793605 ], [ -121.413083999407533, 37.172946000639556 ], [ -121.413394999728354, 37.172899000801159 ], [ -121.41339700045755, 37.172675000281757 ], [ -121.413401000232483, 37.172328000503391 ], [ -121.413156999524517, 37.171953000895016 ], [ -121.41220099959088, 37.171325000457635 ], [ -121.4106549995536, 37.170842000680437 ], [ -121.408862999688495, 37.170108001035402 ], [ -121.407726999677337, 37.169006000640813 ], [ -121.407650000054929, 37.167465000424642 ], [ -121.407766000184807, 37.165230000983854 ], [ -121.407600999904261, 37.163241000662396 ], [ -121.4074900000996, 37.162818000443316 ], [ -121.407183999539882, 37.161648001058808 ], [ -121.406859000423324, 37.159981000690138 ], [ -121.406529999859856, 37.158835000550262 ], [ -121.406011999838896, 37.157887000554815 ], [ -121.405337999510692, 37.15703800032172 ], [ -121.405033000333461, 37.156563000255233 ], [ -121.404636000034827, 37.15598900041153 ], [ -121.404015999968095, 37.155910000572 ], [ -121.403241000371992, 37.155830000297733 ], [ -121.402467000320314, 37.155625000265758 ], [ -121.401787999811845, 37.155297000343616 ], [ -121.401140999579184, 37.154920000697686 ], [ -121.401021000291053, 37.154472000887033 ], [ -121.400687999637057, 37.153699000275147 ], [ -121.400514000356907, 37.15255500069933 ], [ -121.40015300039785, 37.151484000674031 ], [ -121.400003999810963, 37.150863000989439 ], [ -121.399451000473391, 37.150386000513755 ], [ -121.399169999670249, 37.150223001007632 ], [ -121.399019000074119, 37.150135000762262 ], [ -121.398583999520937, 37.150231001071027 ], [ -121.398084000132499, 37.150550000890782 ], [ -121.397462999518567, 37.150595001044188 ], [ -121.396566999562097, 37.150216000596522 ], [ -121.395580000156059, 37.149613000998976 ], [ -121.395052999432352, 37.149215000710463 ], [ -121.394749000010975, 37.148986000765262 ], [ -121.393979000045633, 37.148483000946221 ], [ -121.393423999882231, 37.148131000629924 ], [ -121.392988999603261, 37.148153000728506 ], [ -121.392645000114882, 37.148423000700397 ], [ -121.392355999417276, 37.149341000535408 ], [ -121.392005000072714, 37.150256000368444 ], [ -121.391131000260245, 37.150747000979436 ], [ -121.390290999481408, 37.150964000470857 ], [ -121.388516999792245, 37.151424000529431 ], [ -121.387149999794033, 37.151612000817103 ], [ -121.38606099979765, 37.151903000500596 ], [ -121.385315999990183, 37.151972000298166 ], [ -121.384759000035189, 37.151818000677402 ], [ -121.384233999548059, 37.151566000533769 ], [ -121.383550999402644, 37.151487000279943 ], [ -121.383201000189402, 37.152354000701983 ], [ -121.382748000018296, 37.154090000279879 ], [ -121.382300999845782, 37.155279000826972 ], [ -121.382294000500238, 37.155950001083951 ], [ -121.382288000444461, 37.156496000780471 ], [ -121.382005000187419, 37.156892000431725 ], [ -121.381630000264963, 37.157138000493198 ], [ -121.381686000278549, 37.15763500110112 ], [ -121.382055999545486, 37.158010000383833 ], [ -121.382548000031576, 37.158436000560123 ], [ -121.383347000190341, 37.159138001132092 ], [ -121.383957000358365, 37.160161000929897 ], [ -121.384073000316562, 37.160957000835076 ], [ -121.384155000424798, 37.162001000290289 ], [ -121.383559999636589, 37.162469000268665 ], [ -121.383245000264708, 37.162988000689033 ], [ -121.383919000346822, 37.16376400072734 ], [ -121.384219000431642, 37.16471000093739 ], [ -121.384551999803605, 37.16550700060116 ], [ -121.384266000213046, 37.166201000751677 ], [ -121.383797000317756, 37.166545000808064 ], [ -121.383165999430688, 37.167485000376047 ], [ -121.382914000184698, 37.167881000607771 ], [ -121.38198100044923, 37.168097000656047 ], [ -121.380989000225952, 37.167991000993489 ], [ -121.380182999912392, 37.167935000646182 ], [ -121.379654000080976, 37.168006000309937 ], [ -121.379211999545717, 37.168773000257062 ], [ -121.37864400015637, 37.169638000470819 ], [ -121.378173000303946, 37.170082001094137 ], [ -121.37706600002042, 37.171731000511741 ], [ -121.376313000394774, 37.172478000681302 ], [ -121.375289999592241, 37.173106001113723 ], [ -121.37405299974121, 37.173040000815867 ], [ -121.373888999702288, 37.17318200030185 ], [ -121.373429000143872, 37.17370500028256 ], [ -121.372210000141109, 37.176962000371383 ], [ -121.36671599941684, 37.179538000309314 ], [ -121.365656999791312, 37.179953001072548 ], [ -121.365036000224492, 37.179998000440285 ], [ -121.36453599978465, 37.180318001016936 ], [ -121.364313999459583, 37.180813000950863 ], [ -121.364245999709169, 37.181359000904415 ], [ -121.3641139999649, 37.182079000941535 ], [ -121.363673999434909, 37.1826470010501 ], [ -121.363169999666653, 37.183509000990597 ], [ -121.362437000113175, 37.183831000850788 ], [ -121.360941999710988, 37.184321000517087 ], [ -121.359557999552251, 37.184453000280705 ], [ -121.358875999882315, 37.183906000484527 ], [ -121.357080000443176, 37.183390000452867 ], [ -121.35456099974833, 37.183893000403565 ], [ -121.353858999925421, 37.183040001039352 ], [ -121.352816000493704, 37.182713000325016 ], [ -121.351759999527602, 37.18195100051517 ], [ -121.351609999695924, 37.181962000332504 ], [ -121.350154999638363, 37.181703000489613 ], [ -121.348703000007418, 37.181121000234178 ], [ -121.347499000417812, 37.180417001063695 ], [ -121.346665999535958, 37.179914000449848 ], [ -121.345962999994256, 37.178915000399876 ], [ -121.345687999749302, 37.178565000899503 ], [ -121.345195999690262, 37.178089000709917 ], [ -121.344670999518186, 37.177886000392689 ], [ -121.344240000285822, 37.177535001008714 ], [ -121.343758999643129, 37.177040000271013 ], [ -121.343657000401379, 37.176935000603414 ], [ -121.343292999621866, 37.176087000332529 ], [ -121.343208999460145, 37.175267001072704 ], [ -121.343060000109617, 37.174669000953912 ], [ -121.342381999872174, 37.174192000859222 ], [ -121.340244999929908, 37.173879000263348 ], [ -121.338293999595592, 37.173517000886257 ], [ -121.337213999811624, 37.172962000718769 ], [ -121.336286999382708, 37.172508001050481 ], [ -121.335212000491978, 37.171481001115815 ], [ -121.334565999642905, 37.170955001023344 ], [ -121.334348999762938, 37.170803000990446 ], [ -121.333772000016779, 37.171213000702402 ], [ -121.332547999656683, 37.171277000722306 ], [ -121.332106999657512, 37.170986000380829 ], [ -121.331878000265704, 37.170011000336444 ], [ -121.328409000361319, 37.16595000036061 ], [ -121.327727999786532, 37.166035000655405 ], [ -121.326918999983093, 37.1662780003536 ], [ -121.326014999954836, 37.166718000448768 ], [ -121.325237999743806, 37.166837000921987 ], [ -121.324492999804448, 37.166782000710114 ], [ -121.323844000391233, 37.166578000753518 ], [ -121.323233000183166, 37.166430000952111 ], [ -121.32151599970031, 37.167227000788721 ], [ -121.320259999598207, 37.167574000741602 ], [ -121.319101999868266, 37.167651000895994 ], [ -121.318907999720082, 37.167684000528794 ], [ -121.318070999704176, 37.167261000791811 ], [ -121.317871000312721, 37.167293000532865 ], [ -121.317640999518815, 37.167330000696069 ], [ -121.316248999787064, 37.167554000228954 ], [ -121.314033999708116, 37.167910000578225 ], [ -121.314065999978425, 37.168958001039236 ], [ -121.314065999496265, 37.169401000728584 ], [ -121.313764999736634, 37.169758000898241 ], [ -121.312882000452746, 37.170147000989971 ], [ -121.311644000247654, 37.170041000324339 ], [ -121.308329999670818, 37.16802900031481 ], [ -121.306044000184215, 37.166641000473248 ], [ -121.305582000380824, 37.16661000061945 ], [ -121.302618999745775, 37.168160000590014 ], [ -121.300672000382377, 37.166273001001642 ], [ -121.300307999596441, 37.166248000951541 ], [ -121.299655000481124, 37.166003000423288 ], [ -121.299384000034223, 37.165860000715625 ], [ -121.299132999819037, 37.165789001122221 ], [ -121.298551999847859, 37.165963000530098 ], [ -121.297729999424874, 37.166429000731377 ], [ -121.297079000285862, 37.166913000799184 ], [ -121.296538000329264, 37.167308000938199 ], [ -121.296360000100449, 37.167498000595273 ], [ -121.297095999568924, 37.167079000384035 ], [ -121.295585999954497, 37.168905001102488 ], [ -121.294452000377149, 37.169515000771185 ], [ -121.29252499980079, 37.170480000813555 ], [ -121.291520000243395, 37.170337001021103 ], [ -121.291419999799501, 37.170745000406164 ], [ -121.291005999519655, 37.171143000250758 ], [ -121.290785000333159, 37.171558000586749 ], [ -121.290654999549389, 37.172132000877227 ], [ -121.290615000449762, 37.17300700060418 ], [ -121.290744000430038, 37.173507001006499 ], [ -121.290820999853111, 37.173193000516044 ], [ -121.291089999795901, 37.174867001001928 ], [ -121.290959000155325, 37.175427000404873 ], [ -121.290206999696636, 37.175986001027574 ], [ -121.289072999866093, 37.176577000523757 ], [ -121.287727999645242, 37.177367000339281 ], [ -121.287477999711683, 37.179189001083387 ], [ -121.287177000428983, 37.179732000569153 ], [ -121.286816000031621, 37.180309000249245 ], [ -121.286063000159245, 37.181139000357767 ], [ -121.285401000158615, 37.180984000508985 ], [ -121.284296999818864, 37.180895000384275 ], [ -121.284286999527737, 37.181898000312223 ], [ -121.28409699983311, 37.182509000950617 ], [ -121.283404000128712, 37.183169001085382 ], [ -121.282271000335086, 37.183675000444715 ], [ -121.281107000489513, 37.18360300092305 ], [ -121.280193999599035, 37.183072000303426 ], [ -121.279360999709127, 37.181983000795071 ], [ -121.278497999832865, 37.180858000335078 ], [ -121.277775999760877, 37.179631000735831 ], [ -121.276542000167396, 37.17937200099081 ], [ -121.275377999877776, 37.178739000921489 ], [ -121.274656000029182, 37.177275000811036 ], [ -121.27385300008558, 37.175606000325246 ], [ -121.273561999881665, 37.1740410005496 ], [ -121.273101000226134, 37.173325000929815 ], [ -121.271735000431065, 37.172454000245523 ], [ -121.27063100014999, 37.171974000647403 ], [ -121.269507999517018, 37.171171001108235 ], [ -121.268442999748018, 37.169496000749561 ], [ -121.268284000287522, 37.169246000727199 ], [ -121.267159999878686, 37.167134000234384 ], [ -121.266016000040551, 37.16566800071142 ], [ -121.264601999640462, 37.163895000535376 ], [ -121.263457999481545, 37.161987000819984 ], [ -121.262545000464215, 37.160212001018046 ], [ -121.262498000385349, 37.16016700087178 ], [ -121.262443000340369, 37.159880000918953 ], [ -121.262293000338715, 37.159473000299549 ], [ -121.262092999460165, 37.159323000692126 ], [ -121.261871999794465, 37.159250000373028 ], [ -121.261460999515151, 37.159328000590868 ], [ -121.26091999974939, 37.159335000768358 ], [ -121.260748999499839, 37.159193000977375 ], [ -121.259858000425112, 37.158845000825742 ], [ -121.258774999848413, 37.158867000947026 ], [ -121.257712999724589, 37.158969000582438 ], [ -121.25686100022088, 37.158921001108304 ], [ -121.255637999895313, 37.158872000677306 ], [ -121.254967000469406, 37.158481001072012 ], [ -121.25451600027867, 37.158674001054763 ], [ -121.253733000344681, 37.158582000715029 ], [ -121.252160000355488, 37.158417000658446 ], [ -121.250686999670833, 37.158225000308214 ], [ -121.249523999606595, 37.157911000227152 ], [ -121.24876300021802, 37.157661000678395 ], [ -121.247539999767312, 37.157753000655106 ], [ -121.24712699961627, 37.157988000697635 ], [ -121.245722000121418, 37.157831000589248 ], [ -121.244905999451234, 37.158421000652588 ], [ -121.24384199956431, 37.158570000475343 ], [ -121.243159999650786, 37.158262000613533 ], [ -121.242479999714519, 37.157469001019408 ], [ -121.241916000253028, 37.157406000797387 ], [ -121.240335999767538, 37.157230000336803 ], [ -121.239307000066106, 37.15773900091979 ], [ -121.238494999528299, 37.157770000753537 ], [ -121.237712000474076, 37.157580000676589 ], [ -121.237110000339243, 37.157204001052314 ], [ -121.236628999588959, 37.156675000629718 ], [ -121.236378000160698, 37.1560790006844 ], [ -121.236437999983465, 37.155281000694082 ], [ -121.236619000492908, 37.154550000839471 ], [ -121.236557999454789, 37.154040000996524 ], [ -121.235986000122338, 37.153528000397785 ], [ -121.235495000044367, 37.152898000655462 ], [ -121.235585000467481, 37.152116000442909 ], [ -121.236007999965096, 37.150372000279418 ], [ -121.236078000240227, 37.150549000254607 ], [ -121.236168000512052, 37.150778000282124 ], [ -121.236174999670425, 37.150609001034873 ], [ -121.236174999510169, 37.150273000531833 ], [ -121.236145000066628, 37.149724000834766 ], [ -121.235985000195868, 37.149087000277383 ], [ -121.235804999710638, 37.14852000066071 ], [ -121.235514000420807, 37.148165000992954 ], [ -121.234978999418303, 37.147763000903844 ], [ -121.233315999765807, 37.143549000946734 ], [ -121.233308999825169, 37.143001001082965 ], [ -121.233098999951025, 37.142231000760951 ], [ -121.232788000027881, 37.141442000381744 ], [ -121.232440000306326, 37.140354001082606 ], [ -121.232297000030911, 37.139893000408897 ], [ -121.232236999522058, 37.139859000428281 ], [ -121.231748000421447, 37.139576000957554 ], [ -121.231340000244515, 37.138542000589311 ], [ -121.229605000366078, 37.137100000935597 ], [ -121.228323999779704, 37.136037000631688 ], [ -121.227379999524786, 37.13522300039984 ], [ -121.226804000133271, 37.134774000324803 ], [ -121.226046999603184, 37.134145000686537 ], [ -121.225230000034315, 37.133466000995249 ], [ -121.224840000346134, 37.133142001025725 ], [ -121.224401999904856, 37.132471000392719 ], [ -121.224128000105651, 37.132148000634423 ], [ -121.223913000382367, 37.131933000922707 ], [ -121.223524000185748, 37.131750000904034 ], [ -121.22313600015724, 37.13162900091924 ], [ -121.222863000216677, 37.131337001020199 ], [ -121.222780000174993, 37.131101000816336 ], [ -121.222683000449791, 37.130828000253381 ], [ -121.222710999669758, 37.13049900063799 ], [ -121.222716999583042, 37.130426000242402 ], [ -121.222848000161221, 37.129977000723812 ], [ -121.223112999984465, 37.129496000384009 ], [ -121.22326399967784, 37.129248000862319 ], [ -121.223282000071052, 37.129062000803764 ], [ -121.223140999581688, 37.128568000721778 ], [ -121.222399999620819, 37.1279400004343 ], [ -121.22216399991143, 37.127586000661722 ], [ -121.222014999603118, 37.127212000621157 ], [ -121.22190599974995, 37.126938000929876 ], [ -121.221869999735276, 37.126699000801096 ], [ -121.221923999406684, 37.1264020009449 ], [ -121.221877999967319, 37.126269001055135 ], [ -121.221752999453486, 37.125906000635332 ], [ -121.221251999443254, 37.12538200040548 ], [ -121.220670999561207, 37.124708000620622 ], [ -121.219939000480906, 37.124175000712498 ], [ -121.219076999651946, 37.123836001005479 ], [ -121.218438999784183, 37.123642000751218 ], [ -121.217338999540914, 37.123042000735801 ], [ -121.218935999991885, 37.120406001069703 ], [ -121.219498000001337, 37.120008000624409 ], [ -121.219769000176456, 37.119478001111197 ], [ -121.219863000088537, 37.11887700108619 ], [ -121.221339000286619, 37.116442000452388 ], [ -121.221713000061143, 37.116068001086497 ], [ -121.222704999638353, 37.115767000345933 ], [ -121.223307000076929, 37.115495000233317 ], [ -121.223788000334068, 37.115081000861281 ], [ -121.224097999750043, 37.114286000383949 ], [ -121.224381999912609, 37.113399000609924 ], [ -121.226539000028595, 37.111242001096805 ], [ -121.226873999723921, 37.110786000338535 ], [ -121.226834000455085, 37.110114000767318 ], [ -121.226603999911063, 37.109538000557713 ], [ -121.225984000108994, 37.108802000400679 ], [ -121.225539000266622, 37.106842000833062 ], [ -121.227650999822188, 37.105635000313733 ], [ -121.22870300031984, 37.10542200069451 ], [ -121.229279000139584, 37.105330000478801 ], [ -121.230020999958754, 37.105121000522807 ], [ -121.230561999496558, 37.104875001023949 ], [ -121.230913000071126, 37.104532000243253 ], [ -121.23074300046531, 37.103894000496609 ], [ -121.230381999689754, 37.103353000832819 ], [ -121.230068000210224, 37.102798000609937 ], [ -121.230138999498095, 37.102442000725603 ], [ -121.230138999408709, 37.101342000495649 ], [ -121.230051999619249, 37.100842000749132 ], [ -121.229739000285434, 37.099042000482932 ], [ -121.230439000470895, 37.096942000300906 ], [ -121.230787999915449, 37.096787000511206 ], [ -121.23120400021439, 37.09698900065596 ], [ -121.231635000461068, 37.097097001049562 ], [ -121.231974999929918, 37.097125000717043 ], [ -121.232266000006859, 37.096913000636228 ], [ -121.232716999692499, 37.096553000608829 ], [ -121.233098000157526, 37.096094001098336 ], [ -121.233503999835278, 37.095581000327009 ], [ -121.238375000199767, 37.0934160010993 ], [ -121.238999999832757, 37.093447000993564 ], [ -121.239731999493827, 37.093291000415725 ], [ -121.240242999669718, 37.093125000275279 ], [ -121.240814000133227, 37.093003000701984 ], [ -121.241304999916224, 37.0931290009365 ], [ -121.242046999513164, 37.093158000624378 ], [ -121.242618000489188, 37.093063001053821 ], [ -121.243018999693746, 37.092711001073262 ], [ -121.243199999922183, 37.092119001104969 ], [ -121.243350000254296, 37.091704000860929 ], [ -121.243643999976072, 37.090739000491396 ], [ -121.2439889996771, 37.090393001045221 ], [ -121.24440900041408, 37.089973000276174 ], [ -121.244762999704889, 37.089906000642429 ], [ -121.244993000313897, 37.089765000827441 ], [ -121.245383999468345, 37.089501000841153 ], [ -121.245484000294255, 37.089148000660323 ], [ -121.245204000355542, 37.088881000419839 ], [ -121.244832999764611, 37.08876500041616 ], [ -121.243680999804781, 37.087010000585835 ], [ -121.243158999699418, 37.086088000752234 ], [ -121.242427999954302, 37.085457000903652 ], [ -121.241977000315075, 37.085128000299726 ], [ -121.24125500049216, 37.085090000647867 ], [ -121.240673999470161, 37.085256001083081 ], [ -121.240162999405229, 37.086144000550199 ], [ -121.235493000039796, 37.086234000969178 ], [ -121.235071000376365, 37.085773000527901 ], [ -121.234580000419456, 37.085453000866657 ], [ -121.234288999730438, 37.085089000611177 ], [ -121.233868000501218, 37.084858000482576 ], [ -121.233173999399384, 37.084845000678214 ], [ -121.231038000505706, 37.083243000400252 ], [ -121.230879999946751, 37.08313700108161 ], [ -121.230500999713129, 37.082616000391781 ], [ -121.230170000382003, 37.08236700092997 ], [ -121.229799999780937, 37.082109000916752 ], [ -121.229509000370527, 37.081816000821156 ], [ -121.229288000437265, 37.081515000777763 ], [ -121.22872699944017, 37.081221000893315 ], [ -121.228156000001405, 37.08100600038285 ], [ -121.227612000087191, 37.080941000495301 ], [ -121.224637999442265, 37.078943001018658 ], [ -121.223437999830693, 37.075343000281883 ], [ -121.223244999898625, 37.074310000632259 ], [ -121.222924999549761, 37.073814000891517 ], [ -121.222404000314754, 37.073432000990422 ], [ -121.221862000052852, 37.073058000316607 ], [ -121.221081000108484, 37.072843000474002 ], [ -121.220981999657852, 37.07282400089349 ], [ -121.219549999941904, 37.072546000580537 ], [ -121.216837999715565, 37.07059300093961 ], [ -121.216541000322948, 37.070022000364617 ], [ -121.215798999430831, 37.069223000577942 ], [ -121.214114999450629, 37.068898000357208 ], [ -121.213222999667323, 37.06878900049778 ], [ -121.212820000085316, 37.068925001109669 ], [ -121.212447000291689, 37.068845000823885 ], [ -121.209637000205731, 37.068243000771652 ], [ -121.210116000472397, 37.067787000253361 ], [ -121.210346999594336, 37.067461000685796 ], [ -121.21047700010169, 37.067099000435185 ], [ -121.210185999787711, 37.066518000897958 ], [ -121.210319000296408, 37.066101000238284 ], [ -121.210337000334391, 37.066044000757678 ], [ -121.209607999854782, 37.064878000802821 ], [ -121.209552000165417, 37.064788000262233 ], [ -121.20933699964975, 37.064444000404464 ], [ -121.209309000515688, 37.063743000641843 ], [ -121.209049000150827, 37.063337000887373 ], [ -121.208228000268676, 37.062013001011877 ], [ -121.208177999616112, 37.061665000715784 ], [ -121.208197999454001, 37.061289000675806 ], [ -121.208377999401506, 37.060932000307524 ], [ -121.208668999917577, 37.060546001121253 ], [ -121.208829000436893, 37.060151000502046 ], [ -121.208958999842238, 37.058683001089463 ], [ -121.209858999627386, 37.0580190003366 ], [ -121.210569999913474, 37.057315000479747 ], [ -121.21083000003398, 37.056562000717477 ], [ -121.210959999931447, 37.056234001119634 ], [ -121.211619999781348, 37.055955000928641 ], [ -121.21180000007584, 37.055666000631589 ], [ -121.212119999994229, 37.055299001042961 ], [ -121.212590999468574, 37.055068000665685 ], [ -121.213060999842781, 37.055098000996189 ], [ -121.21371399992384, 37.055307000585415 ], [ -121.214422000285353, 37.055534001041018 ], [ -121.214682000445109, 37.055805000677708 ], [ -121.214912000276911, 37.055931000931047 ], [ -121.215147000067461, 37.055945000351031 ], [ -121.217183999433274, 37.056745001107359 ], [ -121.218735000427031, 37.05713900030581 ], [ -121.220716000300982, 37.057299000545299 ], [ -121.221825999767219, 37.057347001086548 ], [ -121.223386999482614, 37.057507000285966 ], [ -121.224517999662098, 37.056237000278941 ], [ -121.223155999838298, 37.05523000040705 ], [ -121.223777999410672, 37.054866000330065 ], [ -121.224437999739692, 37.054147000632433 ], [ -121.224917999638961, 37.053527000284809 ], [ -121.225358000409912, 37.052905000488813 ], [ -121.225807999784877, 37.052071000439319 ], [ -121.225111000398613, 37.044372000817837 ], [ -121.224726999472622, 37.041689000886173 ], [ -121.224566999764775, 37.040166000539877 ], [ -121.224506999615613, 37.039743000323867 ], [ -121.230629999784782, 37.038274000749908 ], [ -121.23093699978449, 37.038245000280739 ], [ -121.231268000416193, 37.038120000570785 ], [ -121.236138000456208, 37.036945000459731 ], [ -121.238437999664129, 37.034345000860306 ], [ -121.238741000276065, 37.034345000733254 ], [ -121.238851000373074, 37.034033000783751 ], [ -121.238620999930845, 37.033255000539178 ], [ -121.238720999807967, 37.032901000266115 ], [ -121.238971000144801, 37.03259300031992 ], [ -121.239512000095786, 37.032253001078047 ], [ -121.240313000179981, 37.03190600095153 ], [ -121.240633999702098, 37.031777000913678 ], [ -121.241104000472404, 37.031714000342497 ], [ -121.242246000026526, 37.031940000776395 ], [ -121.242776999738581, 37.03207500092261 ], [ -121.242997000441875, 37.032151000750552 ], [ -121.243538000224333, 37.031908001032114 ], [ -121.244540000033595, 37.031995000286557 ], [ -121.245200999768073, 37.032240000661879 ], [ -121.245884000425818, 37.032621000371002 ], [ -121.247388999843125, 37.03337900032006 ], [ -121.248646999397536, 37.03368000103179 ], [ -121.248460999647861, 37.033488000760656 ], [ -121.248088999856236, 37.032576000877441 ], [ -121.247679000009001, 37.031727000551442 ], [ -121.24749899962049, 37.031100000673504 ], [ -121.247799000000441, 37.030075000595701 ], [ -121.247779000159824, 37.029801000859095 ], [ -121.247228999994064, 37.029270000957794 ], [ -121.246929000488436, 37.028881001086305 ], [ -121.246799000182435, 37.028545000523827 ], [ -121.246968999884857, 37.028253000546947 ], [ -121.247128999822593, 37.027865000576973 ], [ -121.246998999892682, 37.027476000671733 ], [ -121.246508999445211, 37.026530000670434 ], [ -121.245989000013111, 37.025575000656268 ], [ -121.245148000244555, 37.024566000443151 ], [ -121.244367999753777, 37.023390000621973 ], [ -121.243718000232064, 37.023027001111508 ], [ -121.243548000457764, 37.022939001117045 ], [ -121.243378000336492, 37.022205000858122 ], [ -121.242966999627967, 37.021648000350609 ], [ -121.242409000404763, 37.021411001040747 ], [ -121.241681999497089, 37.02119000042309 ], [ -121.240822000008635, 37.020216000429564 ], [ -121.240757000480016, 37.019631000652431 ], [ -121.240426999464489, 37.019030000278441 ], [ -121.240236999888083, 37.018667000359514 ], [ -121.23997700039375, 37.018437000929936 ], [ -121.239164999536882, 37.018341000292992 ], [ -121.237764000129104, 37.016756000365163 ], [ -121.23744600011274, 37.015836001112824 ], [ -121.236925999478586, 37.015111000923376 ], [ -121.236456000373721, 37.014474000527258 ], [ -121.23567599988111, 37.013616000267518 ], [ -121.23535600028363, 37.013316000564608 ], [ -121.234594000175065, 37.013169000430608 ], [ -121.233336999436077, 37.011746000582306 ], [ -121.235410999500971, 37.010561000982882 ], [ -121.235912999882487, 37.010464000740292 ], [ -121.236686000059635, 37.010490000751879 ], [ -121.237215999539714, 37.010270001045264 ], [ -121.237826000306754, 37.009961000745882 ], [ -121.238065999386251, 37.009599000927757 ], [ -121.23818599969789, 37.009254000579681 ], [ -121.238166000311452, 37.009086000721993 ], [ -121.237865999725756, 37.008989000512301 ], [ -121.23744599962906, 37.008865000710564 ], [ -121.236622000158135, 37.008702000308311 ], [ -121.236337000062889, 37.008346000503259 ], [ -121.236976000424121, 37.006584000284661 ], [ -121.236525999721707, 37.00621300088963 ], [ -121.235503999828353, 37.005771000925463 ], [ -121.235236999609867, 37.004946000301445 ], [ -121.234794000241635, 37.003764000359901 ], [ -121.23503599980215, 37.003083000846757 ], [ -121.235175999808689, 37.002641001031627 ], [ -121.234946000114348, 37.002155000486219 ], [ -121.234626000382647, 37.001598000832111 ], [ -121.233912999907787, 37.001415001061403 ], [ -121.233136999996233, 36.999346000847765 ], [ -121.235736999794852, 36.998346000834992 ], [ -121.240137000023608, 36.99784600037777 ], [ -121.241236999608887, 36.997540000483539 ], [ -121.241517000161252, 36.997381000344653 ], [ -121.241676999972327, 36.997036000498362 ], [ -121.24197699986064, 36.99645400071617 ], [ -121.242146999759839, 36.995817000751074 ], [ -121.242153999953629, 36.995258000478664 ], [ -121.242915000127496, 36.994282001012124 ], [ -121.244386999495831, 36.99384000094139 ], [ -121.244727000013924, 36.993478000553928 ], [ -121.245136999471612, 36.992922000787679 ], [ -121.245132000354445, 36.991437000576312 ], [ -121.245437000060832, 36.991046001060695 ], [ -121.246008000405183, 36.989751000758282 ], [ -121.246638000418201, 36.987048000706565 ], [ -121.246568000442053, 36.985228000249258 ], [ -121.245886999821948, 36.983035000583335 ], [ -121.244806999449168, 36.981611000725259 ], [ -121.243876999833063, 36.980090000691789 ], [ -121.242656999604122, 36.979232000721147 ], [ -121.241977000267184, 36.978613000393857 ], [ -121.240966999604026, 36.97748900047128 ], [ -121.239467000443028, 36.976171000415704 ], [ -121.239206999406008, 36.975260000240155 ], [ -121.237355999682606, 36.973120000919053 ], [ -121.23632599953001, 36.972332001085661 ], [ -121.234085999596289, 36.970881000932721 ], [ -121.233616000216799, 36.970465000255416 ], [ -121.232875999965202, 36.969572000245542 ], [ -121.232126000007398, 36.968890000849242 ], [ -121.2311459997171, 36.968465001005747 ], [ -121.230245000445777, 36.968287000992376 ], [ -121.22934499978571, 36.967650000755825 ], [ -121.22843499957736, 36.967561000465992 ], [ -121.227284999486372, 36.967418000644003 ], [ -121.226085000419758, 36.967435000543752 ], [ -121.224103000003311, 36.967431000227904 ], [ -121.223036000033019, 36.966847001081547 ], [ -121.222506000253347, 36.966498000887093 ], [ -121.221872999871479, 36.965531001032403 ], [ -121.221502999466153, 36.964621000633301 ], [ -121.220762999958936, 36.96362100030408 ], [ -121.219702999546413, 36.962966000711084 ], [ -121.217942999625478, 36.962337000585066 ], [ -121.216522999958528, 36.962070000660148 ], [ -121.215942999789377, 36.961760000427219 ], [ -121.215406000241316, 36.961248000396964 ], [ -121.22103600022632, 36.961248000820568 ], [ -121.267937999855633, 36.960948000548157 ], [ -121.268086999982856, 36.960947000895899 ], [ -121.33884199941896, 36.960548000963037 ], [ -121.33890500002525, 36.960548001009748 ], [ -121.344642000032792, 36.960548000418498 ], [ -121.34468299970726, 36.960548000669782 ], [ -121.344719000431709, 36.960637001097986 ], [ -121.344712000392065, 36.960548000346073 ], [ -121.351441999484862, 36.960548000726504 ], [ -121.351491999747566, 36.96054600094795 ], [ -121.35364299984019, 36.960448001008125 ], [ -121.353698999681967, 36.96044800066305 ], [ -121.370342999390445, 36.960549000923031 ], [ -121.370391999719146, 36.960549000265964 ], [ -121.372143000209817, 36.960549001037364 ], [ -121.372209000030267, 36.960549001087422 ], [ -121.37307699979867, 36.960549000269694 ], [ -121.377529000303156, 36.960549000358085 ], [ -121.377543999397588, 36.960549000745033 ], [ -121.379243999728956, 36.960549000968356 ], [ -121.379367000487406, 36.960549000976734 ], [ -121.381343999573943, 36.960549000844544 ], [ -121.381456999476427, 36.960549000230714 ], [ -121.383444000030977, 36.960549000507967 ], [ -121.383524000056354, 36.960638001101117 ], [ -121.399452000349129, 36.96066400061234 ], [ -121.416058000489571, 36.960692000876314 ], [ -121.41825300029663, 36.960640001119103 ], [ -121.41824599968588, 36.960549000991094 ], [ -121.418285999839142, 36.960583000277033 ], [ -121.418901999521168, 36.961105000643073 ], [ -121.420832999813527, 36.962741000799831 ], [ -121.431346000027517, 36.971648000256387 ], [ -121.431432999788271, 36.971715000969979 ], [ -121.434445999569817, 36.974048000882867 ], [ -121.436746000341572, 36.978048000265112 ], [ -121.436802000016385, 36.978082000403795 ], [ -121.443881000139768, 36.981468001058964 ], [ -121.44401800033512, 36.981534000515978 ], [ -121.447346000506514, 36.98295500061375 ], [ -121.448919000174499, 36.985618000954204 ], [ -121.449746999402024, 36.98614800104005 ], [ -121.449389000420595, 36.986685000627205 ], [ -121.449116000000913, 36.988216000378976 ], [ -121.450247000328858, 36.988747000574499 ], [ -121.452147000086626, 36.988847000626045 ], [ -121.452546999963587, 36.987848000233789 ], [ -121.453346999498422, 36.987948001118269 ], [ -121.454346999456831, 36.987648001120697 ], [ -121.456646999774691, 36.98664800022425 ], [ -121.456946999481275, 36.98744800099508 ], [ -121.457547000104213, 36.987548000614005 ], [ -121.458792999857266, 36.986651000285896 ], [ -121.460046999945462, 36.985748000702948 ], [ -121.462147999683779, 36.985448001010575 ], [ -121.463048000333828, 36.985548000809167 ], [ -121.465948000036832, 36.982148000333936 ], [ -121.463561000459109, 36.978294001030115 ], [ -121.467938999607924, 36.97677200064841 ], [ -121.469026000206824, 36.97734300024441 ], [ -121.469299000445531, 36.977487000259792 ], [ -121.469993999403584, 36.977701000542119 ], [ -121.470148000015399, 36.977748001068164 ], [ -121.470648000162043, 36.977848000698927 ], [ -121.470701000364485, 36.977918000607801 ], [ -121.471247999768323, 36.978648000854633 ], [ -121.471717000085818, 36.979274000811579 ], [ -121.475147999865598, 36.983848000618593 ], [ -121.48167300044517, 36.993962000895358 ], [ -121.486068000116845, 37.001236000666665 ], [ -121.486892999872424, 37.003567000332374 ], [ -121.488424000064143, 37.006730000930702 ], [ -121.488604999522693, 37.007039000484184 ], [ -121.491049000282686, 37.010047000477599 ], [ -121.492748999805784, 37.012047000607886 ], [ -121.4954219996511, 37.016636000245896 ], [ -121.486749000141288, 37.013347000806128 ], [ -121.485314999513193, 37.013232000415975 ], [ -121.484248000088016, 37.01314700042095 ], [ -121.484034999417247, 37.013078000972854 ], [ -121.483776999929091, 37.012833000254524 ], [ -121.483519999927736, 37.012509000923735 ], [ -121.477244999653422, 37.004225000454774 ], [ -121.476948000289624, 37.003860001123172 ], [ -121.476720999597759, 37.003667000912628 ], [ -121.476629999981512, 37.003597000867607 ], [ -121.476531999579692, 37.003554001065318 ], [ -121.476424000316442, 37.003552000679562 ], [ -121.476310999864992, 37.003579001034204 ], [ -121.475980000286938, 37.003730000588625 ], [ -121.475648999658944, 37.003869000369228 ], [ -121.47474799950551, 37.004247000612004 ], [ -121.474718000102015, 37.004286000558899 ], [ -121.474713999927957, 37.00433000099153 ], [ -121.474710000455303, 37.004395000264751 ], [ -121.474948000065368, 37.007547000884969 ], [ -121.474876999843644, 37.00773700034739 ], [ -121.474767000030099, 37.007800000796379 ], [ -121.474624999804249, 37.007838000876667 ], [ -121.47406799972434, 37.00778700033743 ], [ -121.468748000302725, 37.00684700048442 ], [ -121.468647999840186, 37.006838000745653 ], [ -121.468531000512272, 37.006842000770121 ], [ -121.468447000105257, 37.006849000855588 ], [ -121.468383999579828, 37.006891001042739 ], [ -121.468307999700016, 37.007021000985638 ], [ -121.468265999665576, 37.007117000890716 ], [ -121.468091000274171, 37.007638000248598 ], [ -121.465247999393171, 37.015346000696098 ], [ -121.465106999599982, 37.01557600062295 ], [ -121.464940000078002, 37.015843000648175 ], [ -121.464726999456957, 37.016025000922539 ], [ -121.464452999588872, 37.016231000328737 ], [ -121.458846999554666, 37.019746000695697 ], [ -121.458807000407461, 37.019781000603032 ], [ -121.458769999718655, 37.019835000233137 ], [ -121.458744999496503, 37.019885000519487 ], [ -121.458733999391498, 37.019927001118361 ], [ -121.458706000042028, 37.020090000663473 ], [ -121.457855000386701, 37.032751000624408 ], [ -121.45787399968512, 37.033227000429498 ], [ -121.457872999806455, 37.033286000450872 ], [ -121.45784699941008, 37.033346000459694 ], [ -121.457807000306772, 37.033380000285973 ], [ -121.457734000092586, 37.033398000295485 ], [ -121.45761199944566, 37.033427000485005 ], [ -121.455746999921431, 37.033946000606562 ], [ -121.455823999666833, 37.034038001111995 ], [ -121.456492000108113, 37.03679400083702 ], [ -121.457593000348922, 37.041341000345149 ], [ -121.457639000321109, 37.041530000557579 ], [ -121.458682000150432, 37.043173000333326 ], [ -121.46123799947199, 37.045177001001655 ], [ -121.463747999705717, 37.047145000707211 ], [ -121.466267999482639, 37.051666000948046 ], [ -121.467148000423947, 37.053245001069946 ], [ -121.471847999685977, 37.061245000857006 ], [ -121.472265999797486, 37.062748000589544 ], [ -121.472848000140516, 37.064845000253719 ], [ -121.475508000387393, 37.068945000962749 ], [ -121.477649000481222, 37.07224500036029 ], [ -121.478048999558084, 37.072445000773079 ], [ -121.483249000170886, 37.074045000698845 ], [ -121.487201000021329, 37.07251300081257 ], [ -121.48814900048707, 37.072145000416825 ], [ -121.488473000046611, 37.072901000497772 ], [ -121.489349000013661, 37.074945000397165 ], [ -121.489048999481369, 37.076845001017752 ], [ -121.494748999980004, 37.077645000884878 ], [ -121.498650000435362, 37.07624500101258 ], [ -121.50175000046589, 37.072745000937502 ], [ -121.507049999676383, 37.074645000279588 ], [ -121.51204999995862, 37.076345000790283 ], [ -121.514920999481021, 37.076345000629409 ], [ -121.51504999960332, 37.076345000877687 ], [ -121.522550999413156, 37.07844500062069 ], [ -121.524050999816026, 37.079445000899341 ], [ -121.525651000196916, 37.081245000780804 ], [ -121.526550999698102, 37.081945000753173 ], [ -121.529150999805424, 37.083545000973444 ], [ -121.534850999806025, 37.087545000439256 ], [ -121.545251999597426, 37.108844000563401 ], [ -121.547252000008513, 37.112044000559791 ], [ -121.548629999792269, 37.118157000864286 ], [ -121.548852000436099, 37.119144000885875 ], [ -121.552952000459669, 37.121344001097697 ], [ -121.553052000311013, 37.123544001094508 ], [ -121.554251999535708, 37.124544001067946 ], [ -121.554451999791269, 37.126044000323851 ], [ -121.557852000322129, 37.128444000531829 ], [ -121.559352000517435, 37.13224400054299 ], [ -121.563653000395092, 37.135444000346943 ], [ -121.564152999724342, 37.137544000839362 ], [ -121.565752999869943, 37.137944000821463 ], [ -121.570053000277653, 37.141144001083198 ], [ -121.572653000445897, 37.143544000803232 ], [ -121.574652999619914, 37.145143000354544 ], [ -121.578152999801091, 37.148643000420712 ], [ -121.579053000311248, 37.151943000390439 ], [ -121.580052999614011, 37.152843000728218 ], [ -121.581452999422424, 37.153143000686633 ], [ -121.585453999426264, 37.153843000338696 ], [ -121.590653999946625, 37.152943000481415 ], [ -121.611654999822491, 37.162143001096119 ], [ -121.620654999696413, 37.170843000806506 ], [ -121.622155000009556, 37.169243000882396 ], [ -121.625054999735227, 37.168643000680362 ], [ -121.625919999431872, 37.167477000857382 ], [ -121.627054999699425, 37.165944000387 ], [ -121.627654999392973, 37.166744000807334 ], [ -121.629654999967528, 37.166144000940001 ], [ -121.630354999417222, 37.166944000628142 ], [ -121.63305499985465, 37.167144000300581 ], [ -121.6332550003699, 37.166444000909046 ], [ -121.633754999800544, 37.166144000604106 ], [ -121.632455000102141, 37.165444000458891 ], [ -121.631754999646844, 37.16534400047113 ], [ -121.631054999943174, 37.164644000763559 ], [ -121.634039999392826, 37.164559000694858 ], [ -121.634349999642467, 37.164550000317632 ], [ -121.634555000349906, 37.164544000243978 ], [ -121.637355999741715, 37.164644000588879 ], [ -121.640416000077238, 37.164261000710695 ], [ -121.640555999878018, 37.164244000530417 ], [ -121.640728000361818, 37.164215000794528 ], [ -121.641155999879828, 37.164144000229079 ], [ -121.642155999672013, 37.163944000693675 ], [ -121.645155999651891, 37.164144000469811 ], [ -121.645656000369087, 37.164744000609041 ], [ -121.646066999953646, 37.165018001117147 ], [ -121.646255999830771, 37.165144000640439 ], [ -121.645956000001831, 37.165544000291156 ], [ -121.645556000513949, 37.164944000804248 ], [ -121.64355600018969, 37.164244000899913 ], [ -121.639237999425802, 37.165739000414938 ], [ -121.638355999928578, 37.166044000599221 ], [ -121.637355999835165, 37.166244001002347 ], [ -121.636855999611186, 37.16734400081026 ], [ -121.636888999604807, 37.167460000876453 ], [ -121.636915999834287, 37.167554000310531 ], [ -121.63805599942495, 37.171544000414478 ], [ -121.637655999461401, 37.172744000915138 ], [ -121.638555999834537, 37.174144000368521 ], [ -121.652255999973391, 37.17904400054762 ], [ -121.671219999747777, 37.195210000811208 ], [ -121.673443000332469, 37.197105000589076 ], [ -121.673956999879479, 37.197543000644536 ], [ -121.674044999896594, 37.19761800081077 ], [ -121.677110999495582, 37.200201000399801 ], [ -121.678465000260061, 37.201342000576759 ], [ -121.680956999419976, 37.203443000776119 ], [ -121.681457000216398, 37.20374300026878 ], [ -121.683827000468085, 37.205764001114822 ], [ -121.70115799945323, 37.22054300067331 ], [ -121.716180000040453, 37.233696000304469 ], [ -121.71862099956445, 37.235587001024051 ], [ -121.719734000159136, 37.23645000047312 ], [ -121.719758999681048, 37.236443000519508 ], [ -121.720413000432984, 37.23700600041002 ], [ -121.725583000382045, 37.241454000959479 ], [ -121.733358999560735, 37.248143001002894 ], [ -121.731958999817152, 37.251943001058322 ], [ -121.731202999732105, 37.254108000315867 ], [ -121.728480000115724, 37.261909000798028 ], [ -121.727758999425291, 37.263742000387452 ], [ -121.727558999485851, 37.264042000681883 ], [ -121.716958999617873, 37.285041000407809 ], [ -121.716959000213421, 37.285541000969808 ], [ -121.715159000188365, 37.288941000514399 ], [ -121.711959000209959, 37.295841000590052 ], [ -121.711292999877273, 37.298505001095997 ], [ -121.711091999540585, 37.299309000463595 ], [ -121.710642000525894, 37.301535000288986 ], [ -121.711557999423903, 37.302916000303647 ], [ -121.712180999695036, 37.304001000474081 ], [ -121.714475999882879, 37.307998000451015 ], [ -121.715877000115412, 37.310438000318399 ], [ -121.71758399986868, 37.313412000844494 ], [ -121.732232999416851, 37.338931000527239 ], [ -121.732560000020442, 37.339340000582013 ], [ -121.739388000437756, 37.350745000442465 ], [ -121.741060999484077, 37.35353900100548 ], [ -121.742261000064374, 37.355139000246993 ], [ -121.744318000330409, 37.358589000475618 ], [ -121.745360999744292, 37.360339000402384 ], [ -121.764462000226629, 37.373239000502707 ], [ -121.765661999650447, 37.374939001096152 ], [ -121.766762000159673, 37.375239001030678 ], [ -121.767661999498799, 37.376639001015498 ], [ -121.768361999778762, 37.378639000457476 ], [ -121.769361999486989, 37.378939000249858 ], [ -121.772261999495939, 37.382939000359272 ], [ -121.774562000218978, 37.38383900043943 ], [ -121.77616200036276, 37.384939000695695 ], [ -121.779563000038181, 37.38443900027039 ], [ -121.781163000455052, 37.385639000826465 ], [ -121.78316300048418, 37.386939000378106 ], [ -121.78396299979886, 37.39133900068223 ], [ -121.783963000504954, 37.392239000635257 ], [ -121.78436299962091, 37.395338000659727 ], [ -121.784962999681781, 37.395838001033098 ], [ -121.786962999782503, 37.398638000985208 ], [ -121.786262999700256, 37.399338000905104 ], [ -121.786763000235567, 37.401038000878884 ], [ -121.789063000055108, 37.40123800039877 ], [ -121.790463000433675, 37.40213800083216 ], [ -121.791263000166083, 37.402038000966712 ], [ -121.792262999903414, 37.403638000434313 ], [ -121.791462999976829, 37.405238000945182 ], [ -121.789562999475294, 37.40533800084296 ], [ -121.786963000174055, 37.404338000879491 ], [ -121.784163000030262, 37.403838000771671 ], [ -121.782263000491582, 37.404838000452614 ], [ -121.782463000294157, 37.404938000444446 ], [ -121.790363000387515, 37.414038000849764 ], [ -121.790714000472434, 37.41443100040555 ], [ -121.791396000332838, 37.415194000960376 ], [ -121.793058999706744, 37.417147000537973 ], [ -121.796663999832546, 37.421338000648753 ], [ -121.797252000260201, 37.421977001064555 ], [ -121.806263999983173, 37.432138001027518 ], [ -121.806380999854142, 37.432124000758712 ], [ -121.806868999616214, 37.432696000661622 ], [ -121.809096999668554, 37.435243001111409 ], [ -121.809539000085707, 37.435114000254039 ], [ -121.809981999394083, 37.435083000781518 ], [ -121.810638000160566, 37.434992000573118 ], [ -121.811308999622142, 37.434900001076706 ], [ -121.811798000436085, 37.434626000393393 ], [ -121.812347000042749, 37.434275000950024 ], [ -121.812682999427409, 37.433970000905028 ], [ -121.812957000122438, 37.43371100097513 ], [ -121.813400000218934, 37.433398000706426 ], [ -121.813628999661546, 37.433482000294916 ], [ -121.814942000129165, 37.433833000609567 ], [ -121.816116999468747, 37.434024000494396 ], [ -121.816788000523957, 37.43397000032418 ], [ -121.820365000499606, 37.435538000280765 ], [ -121.81959599941375, 37.437631000334491 ], [ -121.819779000078768, 37.43794400078697 ], [ -121.820145000351047, 37.438086000606276 ], [ -121.820252000157055, 37.438127001097797 ], [ -121.821595000299737, 37.438791001050689 ], [ -121.825664999603589, 37.440037000503828 ], [ -121.828070000087479, 37.439720000286506 ], [ -121.83028799943061, 37.439007000658854 ], [ -121.83178600025812, 37.4383410004449 ], [ -121.832985000398608, 37.438103001034371 ], [ -121.834123999805811, 37.43815000098796 ], [ -121.835382000478475, 37.438721000872469 ], [ -121.835844000401778, 37.439091001098319 ], [ -121.835981999969817, 37.439482000408709 ], [ -121.835501999400407, 37.439768001050432 ], [ -121.835321999404016, 37.440434000481154 ], [ -121.835681999837945, 37.441575000357801 ], [ -121.836520999872988, 37.442241000922806 ], [ -121.837165000044976, 37.442738000805484 ], [ -121.84076600019489, 37.444438000757607 ], [ -121.839558999477063, 37.446966000410349 ], [ -121.839548999681156, 37.447218000422453 ], [ -121.83964800012474, 37.44739900071518 ], [ -121.839865999849962, 37.44763700096037 ], [ -121.840190000398735, 37.448001001033028 ], [ -121.842041999482504, 37.449515000940806 ], [ -121.842195000380471, 37.449739000510526 ], [ -121.842306000014673, 37.450379000971161 ], [ -121.842166000012, 37.450402000289429 ], [ -121.841983999536382, 37.450379000607271 ], [ -121.84169599991111, 37.450195000699367 ], [ -121.841066000437152, 37.450037000894433 ], [ -121.840132000001873, 37.451422000499036 ], [ -121.8399579997388, 37.451647001108746 ], [ -121.839929000121913, 37.451710000286333 ], [ -121.839943999612643, 37.45177300056497 ], [ -121.840066000423022, 37.451837000726179 ], [ -121.841104999757917, 37.452051000761344 ], [ -121.841206999776134, 37.452120000642722 ], [ -121.841265999952412, 37.452237000708791 ], [ -121.84133999958496, 37.452732000573292 ], [ -121.841694000257021, 37.453958000865221 ], [ -121.841685999948041, 37.454125001108054 ], [ -121.841565999497561, 37.454237000563637 ], [ -121.841097999764003, 37.454431000629008 ], [ -121.840982000263622, 37.45456300036264 ], [ -121.840918999642128, 37.454712000579164 ], [ -121.840865999711355, 37.454837001030334 ], [ -121.840880000291079, 37.455030000298855 ], [ -121.840909000496609, 37.455099000886555 ], [ -121.840952999744005, 37.455226001036877 ], [ -121.841053999429761, 37.455331000969295 ], [ -121.842451000441315, 37.45599600077081 ], [ -121.842898999417898, 37.456338000574554 ], [ -121.843002999674965, 37.45641400106085 ], [ -121.843029999677512, 37.45643400083901 ], [ -121.843070000397404, 37.456461000503268 ], [ -121.84334200002192, 37.456716000959531 ], [ -121.843465999985241, 37.456837000772232 ], [ -121.843501000192489, 37.456951000415309 ], [ -121.843505999851885, 37.45698000080808 ], [ -121.843500000423148, 37.457056000398659 ], [ -121.843464000361138, 37.457129000580444 ], [ -121.843373999801926, 37.45723700061275 ], [ -121.842231999521459, 37.457921000487794 ], [ -121.842003999824911, 37.458057000675637 ], [ -121.841937000225158, 37.458109000348543 ], [ -121.841928999811046, 37.458176000325054 ], [ -121.841948999423792, 37.458219000241975 ], [ -121.841975999825081, 37.458278000580165 ], [ -121.842166000170778, 37.458537000497344 ], [ -121.842666000086197, 37.458937000762106 ], [ -121.842705000271891, 37.458975000427913 ], [ -121.842720000289603, 37.45901700034873 ], [ -121.84270200019877, 37.459107000679751 ], [ -121.842407000386586, 37.459708000263092 ], [ -121.842389999598879, 37.459829000562131 ], [ -121.842411000364848, 37.460047000543199 ], [ -121.842465999671006, 37.460237000445943 ], [ -121.843288999823045, 37.461675000268656 ], [ -121.843444000455136, 37.461857000518791 ], [ -121.843765999818686, 37.462037000705905 ], [ -121.844740000279799, 37.462388000776016 ], [ -121.845038999420098, 37.462591000661028 ], [ -121.845165999583344, 37.462837001103139 ], [ -121.844975000441693, 37.464950001036463 ], [ -121.845017999522412, 37.465391001112337 ], [ -121.845060999583723, 37.465577000417021 ], [ -121.845166000275896, 37.465637000354697 ], [ -121.846465999959008, 37.466037000931323 ], [ -121.846605999517649, 37.466096001016197 ], [ -121.846649000257756, 37.466141000253479 ], [ -121.846726000185171, 37.466290000712227 ], [ -121.8468110001822, 37.466544000509579 ], [ -121.848374999985438, 37.471269000864694 ], [ -121.851614999682127, 37.479865000971493 ], [ -121.851850000339311, 37.480297000409415 ], [ -121.852143999510119, 37.480631000422257 ], [ -121.855547999963136, 37.483034001115477 ], [ -121.855766999518224, 37.484537000398831 ], [ -121.850565999588994, 37.484436000359054 ], [ -121.846265999656936, 37.484436000229969 ], [ -121.837875999453246, 37.48437300043723 ], [ -121.83286599949659, 37.484336000283811 ], [ -121.831366000038457, 37.484236000844795 ], [ -121.826165999515624, 37.484236000929698 ], [ -121.82386599952622, 37.484236000937265 ], [ -121.819624000402953, 37.484191001022921 ], [ -121.800732000244594, 37.483991000558866 ], [ -121.79589899978123, 37.483979000865475 ], [ -121.787347000521279, 37.484293000431883 ], [ -121.786346000126088, 37.484330001038714 ], [ -121.78626400004228, 37.484236000336104 ], [ -121.771188999905675, 37.484090000579066 ], [ -121.771124000094702, 37.484088000400227 ], [ -121.770993999964546, 37.484087000406959 ], [ -121.769843000492074, 37.484076000806283 ], [ -121.765663000357989, 37.484035000841722 ], [ -121.741400000223479, 37.483941000960236 ], [ -121.7412810004476, 37.483940000735942 ], [ -121.741162999761556, 37.483935001100548 ], [ -121.714960999674318, 37.483635000884817 ], [ -121.712555999504971, 37.483558000509333 ], [ -121.690138000333988, 37.482838000440559 ], [ -121.690060000416238, 37.482835000335825 ], [ -121.688887000011647, 37.482829000307667 ], [ -121.67085899956345, 37.482735001025617 ], [ -121.661736999904946, 37.482833001024972 ], [ -121.661659000122199, 37.482834001087156 ], [ -121.63550099999793, 37.482735000277593 ], [ -121.635358000414271, 37.482734000958907 ], [ -121.634986999439633, 37.482733000677079 ], [ -121.629184000330412, 37.482670000305689 ], [ -121.625261000473827, 37.482628000986431 ], [ -121.624409000062414, 37.482633000999627 ], [ -121.624158000075511, 37.482634000343701 ], [ -121.620643999649118, 37.482634001006673 ], [ -121.620556999662512, 37.482634000866696 ], [ -121.608634999449549, 37.482634000962562 ], [ -121.608557000075479, 37.482634000652197 ], [ -121.586587000330326, 37.482535000590026 ], [ -121.564427999764945, 37.482433000241421 ], [ -121.564354999950851, 37.482433000844253 ], [ -121.559836999904832, 37.482531001072154 ], [ -121.559754999674155, 37.482533000832959 ], [ -121.533039999557658, 37.482433000857618 ], [ -121.532954000458943, 37.482433000868348 ], [ -121.532720000455342, 37.482433000277403 ], [ -121.532457000012428, 37.482432000823295 ], [ -121.532386000060072, 37.482432001095717 ], [ -121.501051999916598, 37.482380000950933 ], [ -121.487615999764145, 37.48235700105419 ], [ -121.485828999870307, 37.482354000317784 ], [ -121.47295199990333, 37.482333000465871 ], [ -121.472648000488604, 37.482170000439133 ], [ -121.472974999479817, 37.480676000237395 ], [ -121.473720999691011, 37.48007800088056 ], [ -121.474526999989308, 37.479344000422437 ], [ -121.47532299940427, 37.47952800094113 ], [ -121.476341999488355, 37.480294000474913 ], [ -121.477699999952918, 37.480279000411862 ], [ -121.478432000200286, 37.479942000394864 ], [ -121.478884999556186, 37.479714000242218 ], [ -121.47930800000367, 37.479301000693326 ], [ -121.479719999745512, 37.478985000471113 ], [ -121.480143000499837, 37.478607001084391 ], [ -121.480595999507614, 37.478212001046543 ], [ -121.480968000258201, 37.47786900111312 ], [ -121.481235999760855, 37.477350000649217 ], [ -121.481731999476253, 37.47678200062299 ], [ -121.482041000490213, 37.476429000579913 ], [ -121.482584000125044, 37.475907000362454 ], [ -121.483409999846842, 37.475423000763534 ], [ -121.484268000055067, 37.475526000878787 ], [ -121.485204999387449, 37.475557000787845 ], [ -121.485929000435718, 37.475533000521558 ], [ -121.486774999850098, 37.475652000455213 ], [ -121.486463000005358, 37.474926000548891 ], [ -121.486251999859206, 37.474333001068103 ], [ -121.48425200001185, 37.46603300076125 ], [ -121.483102000090412, 37.465160000978727 ], [ -121.479674000277754, 37.464073000313107 ], [ -121.477714000358688, 37.463419000474914 ], [ -121.477197999667453, 37.463248000730275 ], [ -121.475848999672607, 37.462602000774687 ], [ -121.475032999712866, 37.462054001125388 ], [ -121.474509000400545, 37.461526000532373 ], [ -121.474016000141546, 37.460930001028579 ], [ -121.473452000040211, 37.460169000727554 ], [ -121.473371000198057, 37.459810000999639 ], [ -121.47337100021376, 37.458977001026831 ], [ -121.473162999761598, 37.457260000302973 ], [ -121.473089000260458, 37.456764001035346 ], [ -121.472676000507505, 37.456381000315062 ], [ -121.472534000192255, 37.456397000240635 ], [ -121.472053999591722, 37.456297000294533 ], [ -121.469554000253396, 37.455743000395671 ], [ -121.468932999958895, 37.453875000857572 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1230, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.219923000336337, 38.122129000657075 ], [ -122.219464000042876, 38.122089000610003 ], [ -122.218901999602096, 38.122190000568544 ], [ -122.217881000279121, 38.122571000607294 ], [ -122.216632000077524, 38.122734001004552 ], [ -122.215800000145634, 38.122734000878076 ], [ -122.215191999466157, 38.122670000306705 ], [ -122.213432000109293, 38.121838001072767 ], [ -122.212444999651083, 38.121434000884292 ], [ -122.212169999950831, 38.121339001019038 ], [ -122.211431999721682, 38.120762000381141 ], [ -122.210409000301127, 38.119934000306259 ], [ -122.209783999837043, 38.119975001114817 ], [ -122.209158000208092, 38.120509000437579 ], [ -122.208820000233345, 38.120998000933945 ], [ -122.20827099966769, 38.119728000747664 ], [ -122.20701999990159, 38.119071000589997 ], [ -122.205455000394593, 38.118824000569802 ], [ -122.203979000309474, 38.118572000455011 ], [ -122.203386999532114, 38.11810000058945 ], [ -122.202907999434174, 38.117126000707593 ], [ -122.201825999484413, 38.115742000790462 ], [ -122.201551000420778, 38.115385000427125 ], [ -122.200374000391875, 38.114133000973688 ], [ -122.199879000506584, 38.11351900062963 ], [ -122.198886999822122, 38.112287000932149 ], [ -122.199379000114703, 38.111719000842434 ], [ -122.20170200047005, 38.111494000686861 ], [ -122.202538999466299, 38.111357000477433 ], [ -122.203400999562177, 38.108788000635393 ], [ -122.204378999940559, 38.10908800045781 ], [ -122.204976000406134, 38.109402000401225 ], [ -122.205464999384816, 38.109673000968705 ], [ -122.205936000125376, 38.109730000779997 ], [ -122.206229999853448, 38.109671000585507 ], [ -122.206490000095869, 38.109520000909775 ], [ -122.206804999832542, 38.109231000886659 ], [ -122.207329000009693, 38.108939000407716 ], [ -122.207818999690701, 38.108902000335256 ], [ -122.207871999600002, 38.108892000480608 ], [ -122.208736000242354, 38.108912000936101 ], [ -122.209050000265322, 38.108917001019002 ], [ -122.209339999936887, 38.108902000381306 ], [ -122.209973000000872, 38.108902000960576 ], [ -122.210371999690196, 38.108860000914476 ], [ -122.210779000089829, 38.108819000470852 ], [ -122.212678999866554, 38.108819000637517 ], [ -122.213974999937221, 38.108817000994442 ], [ -122.215179999638949, 38.108819000846417 ], [ -122.216080000009669, 38.108919000918164 ], [ -122.217445000050716, 38.109228000552363 ], [ -122.217780000375768, 38.10921900085421 ], [ -122.221080000182894, 38.109319000535677 ], [ -122.222080000363306, 38.109319000801243 ], [ -122.224779999798983, 38.109419000544172 ], [ -122.22568000000804, 38.109419000672965 ], [ -122.226480000482354, 38.109319000332199 ], [ -122.227779999541198, 38.109419000288455 ], [ -122.228180000074047, 38.109419000597946 ], [ -122.228579999480232, 38.109419000439267 ], [ -122.229375999444457, 38.109470000586569 ], [ -122.229687000149653, 38.109490001118047 ], [ -122.229679999391536, 38.109719000697702 ], [ -122.229779999958907, 38.112419001077519 ], [ -122.22978000032721, 38.112819000640023 ], [ -122.229871000506279, 38.116450000293824 ], [ -122.229879999867933, 38.116819000516742 ], [ -122.230052000171355, 38.120268000739358 ], [ -122.230080000366087, 38.121319000682789 ], [ -122.229680000134465, 38.123119000789544 ], [ -122.227773999828912, 38.123506000344101 ], [ -122.226755999558037, 38.123304000306298 ], [ -122.226076999666773, 38.123380000930233 ], [ -122.224683000116485, 38.12324600028446 ], [ -122.223980000009462, 38.123219000324255 ], [ -122.223330000206929, 38.123103001032746 ], [ -122.222990000334789, 38.122933001030979 ], [ -122.222530000071259, 38.122702000557524 ], [ -122.222421999439931, 38.122623000371703 ], [ -122.221353000024408, 38.122257001071119 ], [ -122.220690999958336, 38.122172000837566 ], [ -122.219923000336337, 38.122129000657075 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1229, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.201478999502768, 38.099719000404981 ], [ -122.202278999431101, 38.099419000467286 ], [ -122.202878999614768, 38.099519000942195 ], [ -122.204779000401587, 38.099919000633555 ], [ -122.20627900038393, 38.100019000548819 ], [ -122.207078999462368, 38.10001900067963 ], [ -122.208178999828988, 38.100019000424574 ], [ -122.208979000139749, 38.100019000242796 ], [ -122.209779000478434, 38.100019000922188 ], [ -122.210678999770437, 38.100019001025572 ], [ -122.211078999981041, 38.100019000764526 ], [ -122.211679000307853, 38.100019000973809 ], [ -122.213479000402089, 38.100119000791075 ], [ -122.214278999768382, 38.100119000566288 ], [ -122.215179000523676, 38.100119000458228 ], [ -122.21577899953175, 38.100119000451159 ], [ -122.216679000437196, 38.10001900099406 ], [ -122.217678999893778, 38.099819000264873 ], [ -122.217478999924268, 38.101619000886821 ], [ -122.217780000113976, 38.103119001080643 ], [ -122.21777999942303, 38.103919000869254 ], [ -122.217779999529895, 38.104510000724972 ], [ -122.217779999581523, 38.106119000650295 ], [ -122.217780000478058, 38.106819000580131 ], [ -122.21778000000792, 38.107419000961443 ], [ -122.21777999946201, 38.1080190003807 ], [ -122.217679999493768, 38.108719000296531 ], [ -122.217445000050716, 38.109228000552363 ], [ -122.216080000009669, 38.108919000918164 ], [ -122.215179999638949, 38.108819000846417 ], [ -122.213974999937221, 38.108817000994442 ], [ -122.212678999866554, 38.108819000637517 ], [ -122.210779000089829, 38.108819000470852 ], [ -122.210371999690196, 38.108860000914476 ], [ -122.209973000000872, 38.108902000960576 ], [ -122.209339999936887, 38.108902000381306 ], [ -122.209050000265322, 38.108917001019002 ], [ -122.208736000242354, 38.108912000936101 ], [ -122.207871999600002, 38.108892000480608 ], [ -122.207818999690701, 38.108902000335256 ], [ -122.207329000009693, 38.108939000407716 ], [ -122.206804999832542, 38.109231000886659 ], [ -122.206490000095869, 38.109520000909775 ], [ -122.206229999853448, 38.109671000585507 ], [ -122.205936000125376, 38.109730000779997 ], [ -122.205464999384816, 38.109673000968705 ], [ -122.204976000406134, 38.109402000401225 ], [ -122.204378999940559, 38.10908800045781 ], [ -122.203400999562177, 38.108788000635393 ], [ -122.203728999525481, 38.10786200076479 ], [ -122.203572000129242, 38.10682200064236 ], [ -122.203919000056871, 38.105978000283336 ], [ -122.204478999954262, 38.105919000254325 ], [ -122.20417900003477, 38.105719000356046 ], [ -122.202159000400954, 38.103058000277642 ], [ -122.200079000240081, 38.100319000888391 ], [ -122.200678999666621, 38.100119000643126 ], [ -122.201478999502768, 38.099719000404981 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1228, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.220437000311293, 38.096804001000528 ], [ -122.220380000406095, 38.09731900097529 ], [ -122.220379999724514, 38.098419000539387 ], [ -122.217979000426169, 38.098419000335696 ], [ -122.217578999704685, 38.098519000297848 ], [ -122.217678999893778, 38.099819000264873 ], [ -122.216679000437196, 38.10001900099406 ], [ -122.21577899953175, 38.100119000451159 ], [ -122.215179000523676, 38.100119000458228 ], [ -122.214278999768382, 38.100119000566288 ], [ -122.213479000402089, 38.100119000791075 ], [ -122.211679000307853, 38.100019000973809 ], [ -122.211078999981041, 38.100019000764526 ], [ -122.210678999770437, 38.100019001025572 ], [ -122.209779000478434, 38.100019000922188 ], [ -122.208979000139749, 38.100019000242796 ], [ -122.209078999480738, 38.098219001115119 ], [ -122.209079000337297, 38.09751900054075 ], [ -122.208878999443201, 38.096819000861998 ], [ -122.20847900025953, 38.096119001105158 ], [ -122.208278999567739, 38.094519001073344 ], [ -122.20827900038492, 38.093219000479031 ], [ -122.208178999873169, 38.092619001128 ], [ -122.207979000246965, 38.091719001020955 ], [ -122.207778999660604, 38.090419000824497 ], [ -122.208279000089888, 38.089119000268148 ], [ -122.208179000071041, 38.089019000909857 ], [ -122.20957900028192, 38.087119000481671 ], [ -122.210068000245514, 38.086459000255346 ], [ -122.210688000024234, 38.086268001100009 ], [ -122.211378999581854, 38.086219000300915 ], [ -122.211604999742818, 38.086159000607722 ], [ -122.21179599960972, 38.086120001121927 ], [ -122.211974000154498, 38.086095000788291 ], [ -122.212180000249177, 38.086073000719338 ], [ -122.212506999489307, 38.08606500108607 ], [ -122.214903999571504, 38.086701000319565 ], [ -122.217913000178285, 38.087734001110697 ], [ -122.217931000442491, 38.087742000591248 ], [ -122.218711000105827, 38.08806100109863 ], [ -122.219409000130341, 38.088305000795359 ], [ -122.220119000011167, 38.088489000956727 ], [ -122.221178999909256, 38.088719000921202 ], [ -122.221014999664817, 38.088965000482574 ], [ -122.22057899970892, 38.089619000773837 ], [ -122.21977900004093, 38.090519000763386 ], [ -122.21926199994104, 38.091208000893303 ], [ -122.219178999432856, 38.091319000533318 ], [ -122.218478999697254, 38.092119000776272 ], [ -122.217978999854154, 38.092019001128655 ], [ -122.216492999847844, 38.09172200105376 ], [ -122.215978999419193, 38.091619001120648 ], [ -122.21447899994368, 38.094019000540008 ], [ -122.21797899992329, 38.094919000336454 ], [ -122.218578999397735, 38.095119000515254 ], [ -122.220179000060895, 38.096019001057527 ], [ -122.220480000299176, 38.096219000421364 ], [ -122.220480000414838, 38.096419000642555 ], [ -122.220437000311293, 38.096804001000528 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1223, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.25968100040545, 38.097619000489118 ], [ -122.2592809997616, 38.097519000593756 ], [ -122.25698099995212, 38.097419000488856 ], [ -122.255280000048799, 38.097419000294195 ], [ -122.2535800003904, 38.097319000924493 ], [ -122.251979999921545, 38.097319000571332 ], [ -122.249979999766452, 38.097219000999615 ], [ -122.248180000188015, 38.097119000795445 ], [ -122.246679999719561, 38.097119000275185 ], [ -122.246479999817566, 38.097219001075111 ], [ -122.245751999606682, 38.097167000855066 ], [ -122.245115000222611, 38.097038000650556 ], [ -122.243496000204559, 38.095451001015881 ], [ -122.242903000154001, 38.095248000482322 ], [ -122.241896000170698, 38.095093000744818 ], [ -122.24148199955394, 38.094797000718387 ], [ -122.240936000288883, 38.094383000411113 ], [ -122.240007999398756, 38.094047000709814 ], [ -122.238359999686125, 38.093695000302958 ], [ -122.23488000002736, 38.092719000343166 ], [ -122.234210999959842, 38.092522000671011 ], [ -122.233179999478395, 38.092219000884725 ], [ -122.232779999846954, 38.092119001071161 ], [ -122.231423000162067, 38.091771000428693 ], [ -122.230471999666278, 38.091537001041367 ], [ -122.230637000013587, 38.091132000581744 ], [ -122.230980000195927, 38.090219000916271 ], [ -122.231064999686211, 38.089992000679267 ], [ -122.231279999704597, 38.089419000442255 ], [ -122.231379999843782, 38.088819000304241 ], [ -122.231579999454567, 38.088219000550389 ], [ -122.231779999406939, 38.087719000253223 ], [ -122.232801999683588, 38.085325000892297 ], [ -122.233000000056833, 38.084844000785736 ], [ -122.233179999764872, 38.08372000047617 ], [ -122.233053999967524, 38.081545001041519 ], [ -122.232560000521516, 38.078685000425786 ], [ -122.232479999500612, 38.07822000093865 ], [ -122.232329999444076, 38.077693000805425 ], [ -122.231985999404699, 38.076829000464244 ], [ -122.231831000027199, 38.076521000724533 ], [ -122.231579999944302, 38.076020000346261 ], [ -122.231232000527498, 38.075256000390098 ], [ -122.232179999772697, 38.076020000481819 ], [ -122.233179999804548, 38.076920000488926 ], [ -122.233679999924533, 38.077520000519648 ], [ -122.234580000245771, 38.07852000070541 ], [ -122.238479999488334, 38.082520000716855 ], [ -122.239383999889299, 38.083453001008017 ], [ -122.240880000083564, 38.0851200010447 ], [ -122.242182000143771, 38.086594000996456 ], [ -122.243310000501623, 38.08786600100801 ], [ -122.244280000043545, 38.087320001059702 ], [ -122.245180000114274, 38.086820000525428 ], [ -122.245879999776321, 38.086420000288129 ], [ -122.246880000392991, 38.085720001009747 ], [ -122.247180000095668, 38.085620000873469 ], [ -122.247480000122479, 38.085520000869522 ], [ -122.248080000270292, 38.088520000371794 ], [ -122.250080000313034, 38.087620000284737 ], [ -122.25968100040545, 38.097619000489118 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1224, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.266781000172969, 38.105119000518357 ], [ -122.265880999770161, 38.105019000282532 ], [ -122.264881000520361, 38.104919001137205 ], [ -122.263181000112141, 38.105019000785589 ], [ -122.261481000494285, 38.105019000411041 ], [ -122.259981000487272, 38.105019000536949 ], [ -122.258180999574989, 38.1052190006221 ], [ -122.256481000339335, 38.105219000879032 ], [ -122.254942999550551, 38.105173000728072 ], [ -122.253281000486325, 38.105119000449804 ], [ -122.253481000415917, 38.103819000762186 ], [ -122.253480999678786, 38.102919000516899 ], [ -122.253480999609224, 38.102219000535804 ], [ -122.253580000339824, 38.101219001065211 ], [ -122.253580000102602, 38.100219000646824 ], [ -122.253579999689137, 38.099319000756466 ], [ -122.253580000152979, 38.098319000925073 ], [ -122.253580000160738, 38.097836000445767 ], [ -122.2535800003904, 38.097319000924493 ], [ -122.255280000048799, 38.097419000294195 ], [ -122.25698099995212, 38.097419000488856 ], [ -122.2592809997616, 38.097519000593756 ], [ -122.25968100040545, 38.097619000489118 ], [ -122.262080999921011, 38.099119000601526 ], [ -122.266781000172969, 38.105119000518357 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1225, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.246479999817566, 38.097219001075111 ], [ -122.246679999719561, 38.097119000275185 ], [ -122.248180000188015, 38.097119000795445 ], [ -122.249979999766452, 38.097219000999615 ], [ -122.251979999921545, 38.097319000571332 ], [ -122.2535800003904, 38.097319000924493 ], [ -122.253580000160738, 38.097836000445767 ], [ -122.253580000152979, 38.098319000925073 ], [ -122.253579999689137, 38.099319000756466 ], [ -122.253580000102602, 38.100219000646824 ], [ -122.253580000339824, 38.101219001065211 ], [ -122.253480999609224, 38.102219000535804 ], [ -122.253480999678786, 38.102919000516899 ], [ -122.253481000415917, 38.103819000762186 ], [ -122.253281000486325, 38.105119000449804 ], [ -122.251580000299171, 38.105119000940881 ], [ -122.249580000399092, 38.105019001046209 ], [ -122.247980000015858, 38.104619000927372 ], [ -122.246380000499897, 38.104619000276301 ], [ -122.244980000460828, 38.104619000528899 ], [ -122.243279999978299, 38.104719000518187 ], [ -122.243280000368756, 38.102919000286931 ], [ -122.24328000028045, 38.102019000416398 ], [ -122.2431799998797, 38.101019001033848 ], [ -122.242979999469085, 38.100019000678067 ], [ -122.242980000180793, 38.09911900039009 ], [ -122.243279999774401, 38.099019000766958 ], [ -122.244080000433229, 38.09851900069075 ], [ -122.245579999554991, 38.097719000297772 ], [ -122.245683999498269, 38.097661000708491 ], [ -122.246479999817566, 38.097219001075111 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1226, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.245579999554991, 38.097719000297772 ], [ -122.244080000433229, 38.09851900069075 ], [ -122.243279999774401, 38.099019000766958 ], [ -122.242980000180793, 38.09911900039009 ], [ -122.242979999469085, 38.100019000678067 ], [ -122.2431799998797, 38.101019001033848 ], [ -122.242280000342291, 38.101019001117564 ], [ -122.241280000049827, 38.100919000529672 ], [ -122.240280000383663, 38.100919001052326 ], [ -122.239880000310734, 38.100919000679191 ], [ -122.238479999545333, 38.100919000361039 ], [ -122.237880000058311, 38.100919000916683 ], [ -122.236979999733293, 38.10091900095432 ], [ -122.236080000480342, 38.100819000741176 ], [ -122.235280000474347, 38.100819000680502 ], [ -122.234280000179595, 38.100919000264277 ], [ -122.233380000171579, 38.100819001007167 ], [ -122.232580000290781, 38.100819000586363 ], [ -122.23168000032048, 38.100819000585254 ], [ -122.230880000514887, 38.10081900030481 ], [ -122.230279999821676, 38.100819000794878 ], [ -122.229479999834979, 38.100719000355973 ], [ -122.229479999565982, 38.098919000306083 ], [ -122.229552999677949, 38.096232000379899 ], [ -122.229547000384457, 38.095239000837893 ], [ -122.229565000158971, 38.09484900039309 ], [ -122.229579999482098, 38.094419000537954 ], [ -122.229594999855962, 38.094320000397914 ], [ -122.229780000106658, 38.093119000812784 ], [ -122.23004899952403, 38.092023000377957 ], [ -122.230179999982582, 38.091575000595839 ], [ -122.230211999652511, 38.091466000493675 ], [ -122.230471999666278, 38.091537001041367 ], [ -122.231423000162067, 38.091771000428693 ], [ -122.232779999846954, 38.092119001071161 ], [ -122.233179999478395, 38.092219000884725 ], [ -122.234210999959842, 38.092522000671011 ], [ -122.23488000002736, 38.092719000343166 ], [ -122.238359999686125, 38.093695000302958 ], [ -122.240007999398756, 38.094047000709814 ], [ -122.240936000288883, 38.094383000411113 ], [ -122.24148199955394, 38.094797000718387 ], [ -122.241896000170698, 38.095093000744818 ], [ -122.242903000154001, 38.095248000482322 ], [ -122.243496000204559, 38.095451001015881 ], [ -122.245115000222611, 38.097038000650556 ], [ -122.245751999606682, 38.097167000855066 ], [ -122.246479999817566, 38.097219001075111 ], [ -122.245683999498269, 38.097661000708491 ], [ -122.245579999554991, 38.097719000297772 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1233, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.232880000031116, 38.120919000623118 ], [ -122.231779999640395, 38.121319000983583 ], [ -122.231711999990537, 38.121355001123469 ], [ -122.231044000442537, 38.121715000447686 ], [ -122.23047999954774, 38.122019001079479 ], [ -122.230080000366087, 38.121319000682789 ], [ -122.230052000171355, 38.120268000739358 ], [ -122.229879999867933, 38.116819000516742 ], [ -122.229871000506279, 38.116450000293824 ], [ -122.22978000032721, 38.112819000640023 ], [ -122.229779999958907, 38.112419001077519 ], [ -122.229679999391536, 38.109719000697702 ], [ -122.229687000149653, 38.109490001118047 ], [ -122.229979999880413, 38.109497000333121 ], [ -122.230456000144983, 38.109510000363237 ], [ -122.2309800004587, 38.109519001055823 ], [ -122.231279999903791, 38.109519000448891 ], [ -122.231376999824164, 38.109517000697224 ], [ -122.232979999482367, 38.109519000280507 ], [ -122.234779999813142, 38.109519000488916 ], [ -122.236379999936716, 38.109419000520589 ], [ -122.238080000321006, 38.109519000885733 ], [ -122.239080000208546, 38.109619001089108 ], [ -122.240179999415261, 38.109619000998009 ], [ -122.240580000184806, 38.109619000548179 ], [ -122.241180000204352, 38.109619000917291 ], [ -122.242080000279387, 38.109619000682095 ], [ -122.243179999671298, 38.109619000439295 ], [ -122.24318000036547, 38.110519000964352 ], [ -122.243080000507462, 38.111619000606169 ], [ -122.243080000469121, 38.113319000495132 ], [ -122.243080000269302, 38.114719000568883 ], [ -122.243079999623163, 38.115519000846291 ], [ -122.242880000169293, 38.116819001033655 ], [ -122.242480000001564, 38.116819001047894 ], [ -122.241979999719163, 38.116719000387583 ], [ -122.239780000500133, 38.117319000709301 ], [ -122.238779999730426, 38.117219000747468 ], [ -122.237880000081617, 38.117219000556062 ], [ -122.237779999440562, 38.117619001024757 ], [ -122.23767999996366, 38.118019000483301 ], [ -122.236580000377671, 38.119519000609699 ], [ -122.235380000212217, 38.119819000383117 ], [ -122.234679999437972, 38.120319000302523 ], [ -122.233579999565805, 38.120719000517042 ], [ -122.232880000031116, 38.120919000623118 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1235, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.270952999912851, 38.111605000596569 ], [ -122.271336999536985, 38.11175100050751 ], [ -122.271378000153916, 38.111756000794898 ], [ -122.271394999919366, 38.111773000250054 ], [ -122.271780999812648, 38.111919000301938 ], [ -122.269468999900752, 38.111830000880772 ], [ -122.269180999760721, 38.111819000756633 ], [ -122.268654000081881, 38.11166700084955 ], [ -122.265248000055564, 38.110685001093024 ], [ -122.265096000338559, 38.110641001075088 ], [ -122.26398100006368, 38.110319000315414 ], [ -122.263381000293535, 38.110119000790583 ], [ -122.262980999640348, 38.110019000794246 ], [ -122.262981000229573, 38.110179000622573 ], [ -122.262911000185483, 38.110172000353799 ], [ -122.261481000338392, 38.110519000817995 ], [ -122.259880999935262, 38.111119001093755 ], [ -122.258080999864703, 38.112119000246423 ], [ -122.257985999915675, 38.112196001023889 ], [ -122.255881000159562, 38.113919001122035 ], [ -122.255444999772408, 38.114605000688769 ], [ -122.255181000265907, 38.115019001010403 ], [ -122.254656000485596, 38.115759000524129 ], [ -122.254554999442519, 38.115158001133963 ], [ -122.254531999409082, 38.115088000804299 ], [ -122.254501999590971, 38.11501600033187 ], [ -122.254460999668055, 38.114956000542008 ], [ -122.25440499969838, 38.114903001116936 ], [ -122.254357000362006, 38.114855000327083 ], [ -122.25431599979791, 38.114798000756323 ], [ -122.254280999738057, 38.114719000893835 ], [ -122.254271000150197, 38.114674000897715 ], [ -122.254268999459981, 38.114629000301498 ], [ -122.254292999856446, 38.11445800089195 ], [ -122.254380999616799, 38.114019000666246 ], [ -122.254529999686724, 38.113344001045284 ], [ -122.254554000172462, 38.113162000832482 ], [ -122.254564999903295, 38.113104001009205 ], [ -122.254619999860509, 38.112530000411205 ], [ -122.254672000399054, 38.112048000582149 ], [ -122.254721999858191, 38.11147200066727 ], [ -122.254762000207407, 38.111057000458374 ], [ -122.254834000221038, 38.110391000953975 ], [ -122.254864999509735, 38.109956000576339 ], [ -122.254940000270565, 38.108959000701368 ], [ -122.254989000442137, 38.108006000842174 ], [ -122.254977999984746, 38.107042000868624 ], [ -122.254960999744867, 38.105992000958295 ], [ -122.254942999550551, 38.105173000728072 ], [ -122.256481000339335, 38.105219000879032 ], [ -122.258180999574989, 38.1052190006221 ], [ -122.259981000487272, 38.105019000536949 ], [ -122.261481000494285, 38.105019000411041 ], [ -122.263181000112141, 38.105019000785589 ], [ -122.264881000520361, 38.104919001137205 ], [ -122.265880999770161, 38.105019000282532 ], [ -122.266781000172969, 38.105119000518357 ], [ -122.268880999404345, 38.110819000407638 ], [ -122.270952999912851, 38.111605000596569 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1237, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.271381000029336, 38.123819001063474 ], [ -122.270380999449799, 38.124819000687445 ], [ -122.270285999487442, 38.124919000402315 ], [ -122.26962500037321, 38.125615000562341 ], [ -122.269080999457884, 38.126019000613034 ], [ -122.267880999538889, 38.126019000478585 ], [ -122.266081000513395, 38.125619000802963 ], [ -122.265031000271904, 38.124919000575659 ], [ -122.264881000074979, 38.124819000805687 ], [ -122.264344999837235, 38.124283000465212 ], [ -122.264080999518313, 38.124019000305537 ], [ -122.262581000342948, 38.122419000455892 ], [ -122.261880999465518, 38.121419000722128 ], [ -122.262180999416685, 38.121119000484846 ], [ -122.263081000409954, 38.120219000441537 ], [ -122.264381000139608, 38.119119000364563 ], [ -122.266331999641793, 38.120289000724839 ], [ -122.266381000455425, 38.120319000332948 ], [ -122.268881000145342, 38.121519000330906 ], [ -122.269081000053589, 38.121419000697315 ], [ -122.270081000085412, 38.120519001069788 ], [ -122.270281000418123, 38.120119000760965 ], [ -122.270280999490495, 38.119819000336804 ], [ -122.270381000111456, 38.119619000483183 ], [ -122.27068099955882, 38.11881900032536 ], [ -122.272181000151704, 38.118519000262879 ], [ -122.272980999483337, 38.118719000396183 ], [ -122.273880999796603, 38.118819000778522 ], [ -122.275480999508261, 38.120319001112051 ], [ -122.275513999623698, 38.120518000566953 ], [ -122.275681000406976, 38.121519000580832 ], [ -122.275881999415617, 38.121719000424577 ], [ -122.275480999544897, 38.121819000638688 ], [ -122.272680999664331, 38.122919000487784 ], [ -122.271381000029336, 38.123819001063474 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1239, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.29196299972503, 38.155134000810627 ], [ -122.290383000393106, 38.155218000312551 ], [ -122.276981999409031, 38.155218000553035 ], [ -122.272481999843762, 38.155218000730962 ], [ -122.271081999866297, 38.155218000944423 ], [ -122.265581999904313, 38.155118000793884 ], [ -122.265382000445769, 38.154918000362272 ], [ -122.265361000345138, 38.15426200071574 ], [ -122.265382000501859, 38.153618000669098 ], [ -122.265403999411717, 38.15291000100779 ], [ -122.265361000199462, 38.152301000662469 ], [ -122.265446999673415, 38.151524000459105 ], [ -122.26548200037638, 38.150818000603124 ], [ -122.26548200021027, 38.15001800047721 ], [ -122.265481999414703, 38.149418000983985 ], [ -122.265482000486443, 38.148718000610103 ], [ -122.265473000128992, 38.148144000729324 ], [ -122.265510000011915, 38.147662000521109 ], [ -122.265472999725773, 38.146960000297241 ], [ -122.265231000465022, 38.146141000870202 ], [ -122.26619900013263, 38.146331001136701 ], [ -122.266826000375559, 38.146094000852436 ], [ -122.268481999610628, 38.145318000877857 ], [ -122.269957000183666, 38.144460000407094 ], [ -122.271320000354876, 38.143687000707956 ], [ -122.275252999928966, 38.141457000481736 ], [ -122.278292000215373, 38.141037000369465 ], [ -122.278995999895528, 38.140936000901981 ], [ -122.279012999977979, 38.141051000364115 ], [ -122.282896000300227, 38.146079001119347 ], [ -122.287280000132881, 38.148445001047712 ], [ -122.289581999757033, 38.150545000500827 ], [ -122.289710999575689, 38.150564000377621 ], [ -122.289882000035277, 38.150590000819086 ], [ -122.292123000077964, 38.152638001068951 ], [ -122.292314999840031, 38.153774000406941 ], [ -122.291962999757317, 38.154334001053641 ], [ -122.29196299972503, 38.155134000810627 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1244, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.244631000171921, 38.155063000935797 ], [ -122.238591999803319, 38.155019000389728 ], [ -122.238480999456414, 38.155018000427688 ], [ -122.238281000500919, 38.154518001048608 ], [ -122.238236999657701, 38.154248000310503 ], [ -122.237869999999262, 38.151970000332881 ], [ -122.237781000507908, 38.151418000739923 ], [ -122.237480999839306, 38.149118000397976 ], [ -122.236834999903166, 38.147987000383957 ], [ -122.23668099983108, 38.147718000897612 ], [ -122.235980999968035, 38.146618000398988 ], [ -122.234781000358979, 38.144418000905027 ], [ -122.233679999530935, 38.142418000712283 ], [ -122.233370000325252, 38.141886001139838 ], [ -122.232979999913795, 38.141218000789102 ], [ -122.233551999412796, 38.141251000862873 ], [ -122.242161999879599, 38.141748001064528 ], [ -122.243380999923346, 38.141818000797038 ], [ -122.244280999597507, 38.141818000621043 ], [ -122.249180999537316, 38.141918000603532 ], [ -122.249680999707962, 38.141818000741317 ], [ -122.251480999636996, 38.141518000657854 ], [ -122.251736999509234, 38.14286200087799 ], [ -122.251980999709758, 38.145818001130316 ], [ -122.252425000146744, 38.150126001064592 ], [ -122.252881000164209, 38.153818000354612 ], [ -122.252980999425773, 38.155018000982537 ], [ -122.252180999489411, 38.155118000737545 ], [ -122.247061999786936, 38.155081000284511 ], [ -122.245622999462, 38.155070000586939 ], [ -122.244631000171921, 38.155063000935797 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1245, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.238281000500919, 38.154518001048608 ], [ -122.238480999456414, 38.155018000427688 ], [ -122.236338999986245, 38.154970000689296 ], [ -122.235113000296749, 38.154942000441082 ], [ -122.233272999897608, 38.154958000828671 ], [ -122.229643000259429, 38.154950000612672 ], [ -122.214079999869838, 38.154918000418235 ], [ -122.21468499945135, 38.154130000857883 ], [ -122.214910999557148, 38.153793001072124 ], [ -122.215204999875397, 38.15303000083771 ], [ -122.215702000116622, 38.15168300046119 ], [ -122.215951000169738, 38.151009001135087 ], [ -122.216131000244161, 38.150069000964059 ], [ -122.216244000162177, 38.146541000770014 ], [ -122.216289000417987, 38.145938000668714 ], [ -122.216469999752235, 38.145193000591007 ], [ -122.217180999786322, 38.143544000645441 ], [ -122.217579999968066, 38.142618000769261 ], [ -122.218276999495373, 38.142117000923413 ], [ -122.218808999512291, 38.141834000235079 ], [ -122.219370000508945, 38.141574000442077 ], [ -122.220131999489709, 38.141393000411369 ], [ -122.221051999821199, 38.141307000272938 ], [ -122.222879999505636, 38.141118000536714 ], [ -122.224780000468414, 38.141118000439448 ], [ -122.225679999734695, 38.141118000376707 ], [ -122.228880000152841, 38.141218000450273 ], [ -122.23243499953972, 38.141218000555817 ], [ -122.232979999913795, 38.141218000789102 ], [ -122.233370000325252, 38.141886001139838 ], [ -122.233679999530935, 38.142418000712283 ], [ -122.234781000358979, 38.144418000905027 ], [ -122.235980999968035, 38.146618000398988 ], [ -122.23668099983108, 38.147718000897612 ], [ -122.236834999903166, 38.147987000383957 ], [ -122.237480999839306, 38.149118000397976 ], [ -122.237781000507908, 38.151418000739923 ], [ -122.237869999999262, 38.151970000332881 ], [ -122.238236999657701, 38.154248000310503 ], [ -122.238281000500919, 38.154518001048608 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1216, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.181996000016042, 38.069161000733878 ], [ -122.183878000197652, 38.070120000587302 ], [ -122.184722000289838, 38.070558000269386 ], [ -122.184816999566578, 38.070618000696747 ], [ -122.18490400036778, 38.070693001075149 ], [ -122.185477999734218, 38.071420000483428 ], [ -122.185736000153085, 38.071747000536725 ], [ -122.189103999622489, 38.076123000237295 ], [ -122.1894780001642, 38.076620000485995 ], [ -122.191178000441852, 38.078419000472628 ], [ -122.191922999695919, 38.07937600073987 ], [ -122.192025999680396, 38.07949300071472 ], [ -122.192105999500029, 38.079563000599514 ], [ -122.192178999918809, 38.07961900087188 ], [ -122.191378999800733, 38.08081900099144 ], [ -122.190917999944858, 38.081103000597956 ], [ -122.190197999961256, 38.081231000940868 ], [ -122.188854000227039, 38.080975000550858 ], [ -122.188277999770236, 38.081055000615848 ], [ -122.187525999610287, 38.081551000349258 ], [ -122.186773999539909, 38.082383000335078 ], [ -122.186518000183256, 38.082831000910055 ], [ -122.186373999972844, 38.083023000625047 ], [ -122.185910000160447, 38.083791000291093 ], [ -122.185525999592002, 38.084895000480628 ], [ -122.185253999505278, 38.085599000340885 ], [ -122.185173999756273, 38.08612700095653 ], [ -122.184933999984665, 38.087231000301109 ], [ -122.184630000427589, 38.087615000518284 ], [ -122.184037999850375, 38.08793500047566 ], [ -122.182741999436743, 38.088559001077741 ], [ -122.181989999811904, 38.088911000621586 ], [ -122.181190000237066, 38.089055001088234 ], [ -122.180422000104528, 38.089103000492706 ], [ -122.17896499944861, 38.089030000432537 ], [ -122.175489000504825, 38.088857000621026 ], [ -122.174965999564265, 38.088831000351895 ], [ -122.174918999514617, 38.088775000811061 ], [ -122.173935000248491, 38.087606001067833 ], [ -122.173526000194727, 38.087119000447203 ], [ -122.173502999484356, 38.086607000300823 ], [ -122.172595999648607, 38.086354000269438 ], [ -122.17193999947304, 38.086381000950269 ], [ -122.171469999914024, 38.086401000863177 ], [ -122.170521999640869, 38.086727001059842 ], [ -122.169632999472796, 38.086914000935344 ], [ -122.168211000397349, 38.086867000861034 ], [ -122.168104999505886, 38.086779001031736 ], [ -122.16720400022129, 38.086027000261616 ], [ -122.166493000382644, 38.085234000358049 ], [ -122.167461999763901, 38.084713000382891 ], [ -122.167629999860281, 38.084616000649561 ], [ -122.168342000163733, 38.084204000778229 ], [ -122.168541000031993, 38.083938000524874 ], [ -122.168678000226933, 38.083755000353747 ], [ -122.169014000170023, 38.083368000704901 ], [ -122.169589999892253, 38.083183000910019 ], [ -122.169941999758038, 38.083087000470272 ], [ -122.170191999660318, 38.082926000401621 ], [ -122.170390000133381, 38.082799000247327 ], [ -122.170981999809825, 38.08222300080751 ], [ -122.171737999817424, 38.080387000499563 ], [ -122.171765999494738, 38.080319000778964 ], [ -122.172070000038119, 38.079295000982711 ], [ -122.172598000117759, 38.078527000918072 ], [ -122.172877999418972, 38.07801900112878 ], [ -122.173277999589047, 38.077819000784544 ], [ -122.173978000149447, 38.077619000922617 ], [ -122.175178000443452, 38.077519000990101 ], [ -122.176478000224478, 38.076519000788593 ], [ -122.176978000152985, 38.076319000750487 ], [ -122.179178000212914, 38.074720000375635 ], [ -122.179677999599491, 38.074420000628606 ], [ -122.179977999434541, 38.072120000563402 ], [ -122.179345000423737, 38.071682000300129 ], [ -122.178678000192122, 38.071220000995183 ], [ -122.17797800041447, 38.070120000887719 ], [ -122.179377999387313, 38.069620001095444 ], [ -122.179578000088085, 38.068320000241904 ], [ -122.181188999479389, 38.068857000269581 ], [ -122.181996000016042, 38.069161000733878 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1214, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.156795000318553, 38.061614000795764 ], [ -122.156972000002995, 38.061706000883035 ], [ -122.15713799942489, 38.061774000661252 ], [ -122.157327999481453, 38.06183400058292 ], [ -122.15759799942289, 38.061924000534532 ], [ -122.158451000423668, 38.062205000686134 ], [ -122.164577999661958, 38.064220000455222 ], [ -122.164501999866445, 38.06492800044736 ], [ -122.164377999459916, 38.065620000607083 ], [ -122.163177999874037, 38.066120000519319 ], [ -122.162721000342557, 38.066519000947793 ], [ -122.162378000037322, 38.066820001002611 ], [ -122.162077999888581, 38.067120000678365 ], [ -122.16367799999972, 38.067220001048724 ], [ -122.165377999773668, 38.068520000746624 ], [ -122.166177999476744, 38.069020001068665 ], [ -122.165877999569304, 38.069620000707459 ], [ -122.165778000507871, 38.069920000482469 ], [ -122.16557800041042, 38.070420000842503 ], [ -122.165377999812833, 38.070920000804527 ], [ -122.165277999437976, 38.0714200004631 ], [ -122.165277999888801, 38.071720000604302 ], [ -122.164677999921963, 38.07271900110419 ], [ -122.164278000493496, 38.073519000380045 ], [ -122.162978000027465, 38.074219000825252 ], [ -122.162077999820625, 38.074419001074297 ], [ -122.159878000466378, 38.074719001033152 ], [ -122.157690000081018, 38.074922000374961 ], [ -122.156698999839605, 38.075138000991579 ], [ -122.155342000045692, 38.075446000442838 ], [ -122.154298999846176, 38.075619001078763 ], [ -122.153628999931456, 38.07591300048729 ], [ -122.151094000136538, 38.076859001124497 ], [ -122.150572999964282, 38.07742600086172 ], [ -122.150282999681878, 38.077616000427795 ], [ -122.149355000190894, 38.078819000553011 ], [ -122.14926100019008, 38.079031000702798 ], [ -122.148698000466652, 38.080555000269456 ], [ -122.147654999959542, 38.080320000679357 ], [ -122.145958000203279, 38.079773000825931 ], [ -122.145489999679825, 38.079408000552682 ], [ -122.145238999820123, 38.078861000588702 ], [ -122.145403000349702, 38.077408000537311 ], [ -122.144534999765895, 38.076085001131943 ], [ -122.144374000515413, 38.075883000842751 ], [ -122.144002000482132, 38.075414001072197 ], [ -122.145473999936598, 38.073163000316505 ], [ -122.145769999888373, 38.072749000570937 ], [ -122.146076999542984, 38.072319000673481 ], [ -122.146677000372961, 38.062620000995253 ], [ -122.14707699996805, 38.061720000605234 ], [ -122.147685000071547, 38.060720000440554 ], [ -122.147877000411526, 38.060320000830693 ], [ -122.148404999636668, 38.059600000348041 ], [ -122.149276999693086, 38.058420000464508 ], [ -122.149577000431904, 38.057920000920554 ], [ -122.150077000075626, 38.057420000367458 ], [ -122.151700999667739, 38.058557000281233 ], [ -122.151946999595452, 38.058699001118875 ], [ -122.15559699970045, 38.060913000679015 ], [ -122.156795000318553, 38.061614000795764 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1267, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.051878000412188, 38.273113000563825 ], [ -122.051569999556577, 38.273148000999861 ], [ -122.051466000289395, 38.273158001020988 ], [ -122.05105699953161, 38.273195000735178 ], [ -122.049777999767826, 38.273313000742625 ], [ -122.050287999580405, 38.272714001067307 ], [ -122.050778000375118, 38.272140001114664 ], [ -122.05207799953196, 38.270613000674985 ], [ -122.052378000363689, 38.270313000950289 ], [ -122.05327800051505, 38.269413000595485 ], [ -122.053916000035443, 38.268645000306364 ], [ -122.060677999986694, 38.260513000740282 ], [ -122.062678000464842, 38.258113000730425 ], [ -122.063484000525193, 38.258181000550444 ], [ -122.06427799977628, 38.258213000766702 ], [ -122.06453500043007, 38.258239000774623 ], [ -122.065278000517409, 38.258313000953407 ], [ -122.068041000275386, 38.258105000538286 ], [ -122.06917799958228, 38.259513000679711 ], [ -122.071087999718529, 38.261344000729068 ], [ -122.071973000357531, 38.262269000747182 ], [ -122.072778000470251, 38.263113000858937 ], [ -122.075302000411853, 38.265673000573805 ], [ -122.075974000008642, 38.266345001137879 ], [ -122.076377999899918, 38.266913000922415 ], [ -122.076501999720236, 38.267209000786458 ], [ -122.076878000067254, 38.269313000948095 ], [ -122.076177999673746, 38.269313000647742 ], [ -122.07608799947144, 38.269317000863587 ], [ -122.074405999646686, 38.269385000830248 ], [ -122.073052000150554, 38.269419000486458 ], [ -122.06934499959479, 38.269465000259515 ], [ -122.068931000261173, 38.269486000918207 ], [ -122.067977999694136, 38.269413000561478 ], [ -122.067798000216001, 38.269417000442168 ], [ -122.067466000226375, 38.269436000508293 ], [ -122.067375000267461, 38.269435000538323 ], [ -122.066377999870966, 38.26941300069933 ], [ -122.065878000388864, 38.269413000832891 ], [ -122.065153000088273, 38.269413000657238 ], [ -122.064579000246937, 38.269413000428372 ], [ -122.063357000218033, 38.269413001039922 ], [ -122.061829999651366, 38.269465000464677 ], [ -122.061177999926812, 38.269413000249365 ], [ -122.060077999516523, 38.269513000419565 ], [ -122.058977999784886, 38.269713000441712 ], [ -122.05814600025316, 38.269951000398109 ], [ -122.057577999760952, 38.270113001096782 ], [ -122.05612699941932, 38.27067100097014 ], [ -122.05497800002469, 38.271113000755207 ], [ -122.054077999588699, 38.272113000570393 ], [ -122.051878000412188, 38.273113000563825 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1269, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.045977000313997, 38.272813000448906 ], [ -122.048505999557946, 38.273146000673108 ], [ -122.049777999767826, 38.273313000742625 ], [ -122.048826999585671, 38.274464000648209 ], [ -122.047878000407721, 38.275613000798394 ], [ -122.04417800047932, 38.27991200030484 ], [ -122.041076999534397, 38.283412001051047 ], [ -122.035102000238652, 38.29082800028457 ], [ -122.034821000343015, 38.291217000820438 ], [ -122.034584000066843, 38.291572000323178 ], [ -122.03443300030861, 38.291894000873114 ], [ -122.034315999871566, 38.292240001073338 ], [ -122.034047999825162, 38.292897000884217 ], [ -122.033977000168008, 38.295112000416395 ], [ -122.033902999417322, 38.295843000543016 ], [ -122.033838999701999, 38.296472000546338 ], [ -122.03377799949233, 38.296912000860708 ], [ -122.03377799977838, 38.298099000917929 ], [ -122.033777999404421, 38.298912000541058 ], [ -122.033777999810312, 38.30151400037159 ], [ -122.033778000093804, 38.305512000728946 ], [ -122.033501999896515, 38.308747001121709 ], [ -122.032777999408168, 38.313111000813606 ], [ -122.032459000022541, 38.31396100074096 ], [ -122.031927000327755, 38.315379000249685 ], [ -122.031577999921836, 38.316311000575759 ], [ -122.025678000522831, 38.323011000295459 ], [ -122.024977999672814, 38.32371100034446 ], [ -122.023876999828815, 38.325176000628254 ], [ -122.02298799988678, 38.324673000246719 ], [ -122.022528000379111, 38.324385000493713 ], [ -122.021977999701051, 38.324111000315824 ], [ -122.020677999821942, 38.324211000620437 ], [ -122.019237999439056, 38.324263000658675 ], [ -122.017188999485512, 38.324230000518604 ], [ -122.00987699972211, 38.324111000679927 ], [ -122.010776999955581, 38.315711000250168 ], [ -122.009477000406335, 38.315711000598903 ], [ -122.009477000361855, 38.310511000646507 ], [ -122.010477000143325, 38.309811000525414 ], [ -122.011776999854348, 38.309011000623933 ], [ -122.012077000253612, 38.308011000687145 ], [ -122.012276999555354, 38.30661100033511 ], [ -122.013177000257684, 38.305212000628998 ], [ -122.012876999761886, 38.304112000346393 ], [ -122.013895999812888, 38.303015000573978 ], [ -122.014177000383924, 38.30271200035061 ], [ -122.014877000481775, 38.301612001043807 ], [ -122.016030999870381, 38.301627000704435 ], [ -122.016771000225617, 38.301636000594115 ], [ -122.016731000384155, 38.301159000454547 ], [ -122.01673099992, 38.300231001038817 ], [ -122.017471000197347, 38.299225000952873 ], [ -122.017611999392813, 38.299023000733797 ], [ -122.018060000347475, 38.298337000336808 ], [ -122.018512000207124, 38.297465000424218 ], [ -122.018630999928021, 38.296919001028755 ], [ -122.018716000478662, 38.296214000738502 ], [ -122.018872000414419, 38.295649001077059 ], [ -122.018998000522728, 38.295240000880803 ], [ -122.019738000495678, 38.294621000685154 ], [ -122.020378000091199, 38.294118000308409 ], [ -122.020508000268805, 38.293405000891298 ], [ -122.020691999643915, 38.293459000387593 ], [ -122.021678999514535, 38.293647000263334 ], [ -122.022731000070209, 38.293668000392159 ], [ -122.023804000177236, 38.293623000500972 ], [ -122.02420999984659, 38.293623000683297 ], [ -122.02478799938973, 38.293624000508487 ], [ -122.024853000252961, 38.292856000637997 ], [ -122.024692999435715, 38.290280000588638 ], [ -122.024679000281367, 38.289172001008119 ], [ -122.024677000160281, 38.289012000709413 ], [ -122.024677000504113, 38.28858600091273 ], [ -122.024676999915769, 38.287426001034426 ], [ -122.024676999552796, 38.287144000890159 ], [ -122.024695999659968, 38.286863000433513 ], [ -122.024756999932976, 38.285960000455781 ], [ -122.024804999542894, 38.285720000265087 ], [ -122.024677000261804, 38.285212000685448 ], [ -122.02467699987524, 38.285096000730107 ], [ -122.024677000480551, 38.284392000884566 ], [ -122.024677000357073, 38.283720000416885 ], [ -122.024676999454655, 38.283208000818931 ], [ -122.024677000480864, 38.282712000478618 ], [ -122.02467699986353, 38.280612000433898 ], [ -122.024732000238131, 38.280172000858428 ], [ -122.02477700042536, 38.279812001077261 ], [ -122.024777000471133, 38.279012000329097 ], [ -122.024676999578986, 38.278312000792965 ], [ -122.024821000127986, 38.276776000710008 ], [ -122.024676999819889, 38.276112001102859 ], [ -122.024676999577608, 38.275612000567236 ], [ -122.024676999554487, 38.27491200101197 ], [ -122.024676999525909, 38.274112000519466 ], [ -122.024676999856482, 38.272712000982281 ], [ -122.026277000259157, 38.272612000464626 ], [ -122.027776999527788, 38.27271200023894 ], [ -122.030877000277499, 38.272713000838721 ], [ -122.032676999774552, 38.272713000327926 ], [ -122.033277000310449, 38.272813000671803 ], [ -122.033977000277943, 38.272813000303614 ], [ -122.034577000485655, 38.272713001124444 ], [ -122.036777000466998, 38.27281300031747 ], [ -122.041777000489418, 38.272713000981014 ], [ -122.042473000479859, 38.272755000534666 ], [ -122.043093999455579, 38.272793001111175 ], [ -122.043839999467224, 38.272838000360728 ], [ -122.045077000084845, 38.272913000419884 ], [ -122.045977000313997, 38.272813000448906 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1266, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.06078899946084, 38.249313000733643 ], [ -122.061877000496153, 38.249313000397777 ], [ -122.063478000045322, 38.249313000778308 ], [ -122.065177999781369, 38.249313001056883 ], [ -122.065677999748431, 38.249313000533206 ], [ -122.066178000081266, 38.249413000334911 ], [ -122.067978000035652, 38.249614000421118 ], [ -122.068278000156454, 38.249614000780284 ], [ -122.068878000422558, 38.24961400099987 ], [ -122.069677999864084, 38.249714001086858 ], [ -122.068951000208173, 38.250493000918219 ], [ -122.066578000106077, 38.253713000859854 ], [ -122.064978000190408, 38.255813000605237 ], [ -122.064400999883404, 38.256390000817106 ], [ -122.063663000201132, 38.257128001075706 ], [ -122.062678000464842, 38.258113000730425 ], [ -122.061681000078437, 38.258047000994566 ], [ -122.06142800005864, 38.258030001108381 ], [ -122.061178000460359, 38.258013000349827 ], [ -122.060801000318008, 38.25806400088657 ], [ -122.058578000099686, 38.258113000846365 ], [ -122.056676999729603, 38.258013001001707 ], [ -122.05497700012323, 38.258113000438939 ], [ -122.051277000334721, 38.258013000738352 ], [ -122.049776999555533, 38.258113000548867 ], [ -122.049777000487339, 38.256913001110661 ], [ -122.04977699947122, 38.256713000270317 ], [ -122.04977700027365, 38.256213000871114 ], [ -122.049677000517121, 38.254413000530725 ], [ -122.049677000483783, 38.253413000400919 ], [ -122.049776999543752, 38.25151300063591 ], [ -122.049677000359154, 38.250313000294192 ], [ -122.049677000338477, 38.249713000728711 ], [ -122.052276999701249, 38.249613000364462 ], [ -122.054976999730087, 38.249313000335178 ], [ -122.055476999943025, 38.249213000350309 ], [ -122.05597700012224, 38.249313000296148 ], [ -122.05697700025604, 38.249213001054329 ], [ -122.060476999863354, 38.249313000518015 ], [ -122.06078899946084, 38.249313000733643 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1263, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.047077000306189, 38.251513000592638 ], [ -122.048377000134124, 38.25151300036088 ], [ -122.049776999543752, 38.25151300063591 ], [ -122.049677000483783, 38.253413000400919 ], [ -122.049677000517121, 38.254413000530725 ], [ -122.04977700027365, 38.256213000871114 ], [ -122.04977699947122, 38.256713000270317 ], [ -122.049777000487339, 38.256913001110661 ], [ -122.049776999555533, 38.258113000548867 ], [ -122.04727700045926, 38.258113001113465 ], [ -122.046176999542169, 38.258113000370663 ], [ -122.045577000000179, 38.258113000869322 ], [ -122.044977000487648, 38.258113001003174 ], [ -122.044576999686115, 38.258113000880407 ], [ -122.043777000396261, 38.258113001068125 ], [ -122.042977000019931, 38.258113000297541 ], [ -122.042615999958912, 38.258158000396939 ], [ -122.042177000012643, 38.258213000724524 ], [ -122.041576999821118, 38.25821300058228 ], [ -122.040376999503025, 38.258213001005466 ], [ -122.038976999891645, 38.258113000241281 ], [ -122.038376999502034, 38.258113000857989 ], [ -122.03797700002464, 38.258113000772305 ], [ -122.035276999830486, 38.258113000988352 ], [ -122.034176999475505, 38.258213000667702 ], [ -122.034277000164323, 38.256913000653185 ], [ -122.034277000521058, 38.255013000816795 ], [ -122.034276999591725, 38.254813001028332 ], [ -122.034277000264524, 38.254113000396991 ], [ -122.034376999880152, 38.252713000791104 ], [ -122.0343770004135, 38.252113000298728 ], [ -122.0343769996867, 38.251513000637402 ], [ -122.034376999854203, 38.250813000514775 ], [ -122.034343999607799, 38.250596000570063 ], [ -122.034208000489954, 38.249716000406373 ], [ -122.034442999520991, 38.249456000534146 ], [ -122.035576999697525, 38.24921300077385 ], [ -122.036576999680619, 38.249213000259253 ], [ -122.037576999714616, 38.249213001134798 ], [ -122.038876999999488, 38.249213000526879 ], [ -122.038963999813788, 38.250289000288802 ], [ -122.038878000482796, 38.251473000297125 ], [ -122.040377000312688, 38.251413000978879 ], [ -122.041016999568399, 38.251429000698934 ], [ -122.041542999542628, 38.251421000910184 ], [ -122.043076999812214, 38.251513000650981 ], [ -122.043377000381369, 38.251513000740388 ], [ -122.044476999599254, 38.251413000621753 ], [ -122.045677000383648, 38.251413000961684 ], [ -122.047077000306189, 38.251513000592638 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1265, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.045050999853231, 38.268442000317137 ], [ -122.045020999809879, 38.267807000350174 ], [ -122.045081000253816, 38.266158001087661 ], [ -122.045111000131243, 38.265357000572024 ], [ -122.045090999690359, 38.264449000351227 ], [ -122.044976999773084, 38.263813000887168 ], [ -122.044976999631132, 38.26321300105694 ], [ -122.045076999949273, 38.262713000628231 ], [ -122.044976999889499, 38.261613000922026 ], [ -122.044976999555431, 38.261213000593287 ], [ -122.044977000317928, 38.260813000246898 ], [ -122.045076999433448, 38.259513000538163 ], [ -122.044977000487648, 38.258113001003174 ], [ -122.045577000000179, 38.258113000869322 ], [ -122.046176999542169, 38.258113000370663 ], [ -122.04727700045926, 38.258113001113465 ], [ -122.049776999555533, 38.258113000548867 ], [ -122.051277000334721, 38.258013000738352 ], [ -122.05497700012323, 38.258113000438939 ], [ -122.056676999729603, 38.258013001001707 ], [ -122.058578000099686, 38.258113000846365 ], [ -122.060801000318008, 38.25806400088657 ], [ -122.061178000460359, 38.258013000349827 ], [ -122.06142800005864, 38.258030001108381 ], [ -122.061681000078437, 38.258047000994566 ], [ -122.062678000464842, 38.258113000730425 ], [ -122.060677999986694, 38.260513000740282 ], [ -122.053916000035443, 38.268645000306364 ], [ -122.05327800051505, 38.269413000595485 ], [ -122.052378000363689, 38.270313000950289 ], [ -122.05207799953196, 38.270613000674985 ], [ -122.050778000375118, 38.272140001114664 ], [ -122.050287999580405, 38.272714001067307 ], [ -122.049777999767826, 38.273313000742625 ], [ -122.048505999557946, 38.273146000673108 ], [ -122.045977000313997, 38.272813000448906 ], [ -122.045077000084845, 38.272913000419884 ], [ -122.043839999467224, 38.272838000360728 ], [ -122.043093999455579, 38.272793001111175 ], [ -122.043111999592128, 38.272594000256582 ], [ -122.043125000369784, 38.272441000973835 ], [ -122.043877000080357, 38.272413000631119 ], [ -122.044977000185114, 38.27231300045495 ], [ -122.045080999483687, 38.270421000822132 ], [ -122.045050999853231, 38.268442000317137 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 674, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.830663000350597, 37.233444000801754 ], [ -121.830563000504043, 37.232844000456602 ], [ -121.830563000345023, 37.23254400099227 ], [ -121.830563000244112, 37.2318440009862 ], [ -121.830563000247437, 37.230144000256701 ], [ -121.830562999746974, 37.229344000700578 ], [ -121.830463000084663, 37.228944000284699 ], [ -121.830463000220888, 37.228544000449418 ], [ -121.83046299946956, 37.228044000384386 ], [ -121.830262999729172, 37.227644000856863 ], [ -121.830549999923733, 37.227609000987677 ], [ -121.831163000209173, 37.227544000855211 ], [ -121.831662999866253, 37.226344000908696 ], [ -121.833762999900458, 37.226344001093672 ], [ -121.834563000119388, 37.228844000650888 ], [ -121.836262999773808, 37.229844000531678 ], [ -121.836364000164707, 37.2298630003854 ], [ -121.838042000352303, 37.230172000530395 ], [ -121.838662999820784, 37.230344000835565 ], [ -121.840183999474334, 37.230939001000408 ], [ -121.840962999457972, 37.231244000661292 ], [ -121.84086300028676, 37.231844000346527 ], [ -121.840762999392197, 37.232444000761888 ], [ -121.840863000114282, 37.233744000891292 ], [ -121.840662999884671, 37.234544000436607 ], [ -121.840663000420022, 37.235143001035269 ], [ -121.840562999630848, 37.235443000407727 ], [ -121.840263000295892, 37.235943000897592 ], [ -121.839362999996652, 37.237043000444686 ], [ -121.839662999934475, 37.237043000412228 ], [ -121.839662999982821, 37.237943000688283 ], [ -121.839663000452759, 37.238143000936574 ], [ -121.839662999910487, 37.24014300030683 ], [ -121.839662999686269, 37.240743000801892 ], [ -121.839662999824455, 37.240843000880446 ], [ -121.839662999466228, 37.241443000404651 ], [ -121.83966300027609, 37.242243000893758 ], [ -121.839662999804503, 37.243143000404892 ], [ -121.839762999736308, 37.245243001065177 ], [ -121.839763000179929, 37.24724300086276 ], [ -121.839763000437529, 37.248243000518343 ], [ -121.839863000400342, 37.250243000400651 ], [ -121.839862999565, 37.250743000901878 ], [ -121.838463000017541, 37.251243000293336 ], [ -121.837409000150032, 37.251281000922091 ], [ -121.835663000026443, 37.251343000592684 ], [ -121.830862999598494, 37.25134300064547 ], [ -121.830807000233008, 37.247795001090473 ], [ -121.830767999630794, 37.245341000399954 ], [ -121.830763000366602, 37.245043000950105 ], [ -121.830663000407213, 37.244443000798697 ], [ -121.830662999445039, 37.244043001049363 ], [ -121.830662999600193, 37.243443000491069 ], [ -121.830662999613764, 37.242843000774364 ], [ -121.830663000091121, 37.242343000970379 ], [ -121.830663000398943, 37.241643000271786 ], [ -121.830663000360431, 37.240743000411364 ], [ -121.830662999421548, 37.238943000287748 ], [ -121.830662999919625, 37.238543001097227 ], [ -121.830562999543361, 37.237143000852448 ], [ -121.830563000025435, 37.233944000760744 ], [ -121.830663000350597, 37.233444000801754 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 676, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.872641000483895, 37.243611000945023 ], [ -121.87269500013457, 37.243599000620293 ], [ -121.872970000227966, 37.243507001129068 ], [ -121.873474000487789, 37.243424000582451 ], [ -121.874099000405693, 37.243401000960198 ], [ -121.874563999694089, 37.243343000846011 ], [ -121.874563999932661, 37.243489000260112 ], [ -121.874563999508624, 37.243743000484017 ], [ -121.874463999951288, 37.245543000705958 ], [ -121.874664000427188, 37.246743001036002 ], [ -121.874727999960385, 37.247288000934383 ], [ -121.87486399982356, 37.248443000463674 ], [ -121.874939999880283, 37.248823000671337 ], [ -121.874963999815847, 37.248943000295263 ], [ -121.874938999781065, 37.249329000991246 ], [ -121.875264000219389, 37.250943000351967 ], [ -121.872463999468266, 37.250643001043507 ], [ -121.871963999467937, 37.250643000994557 ], [ -121.870263999869451, 37.250443000301544 ], [ -121.869792999519348, 37.250423000781147 ], [ -121.867964000278917, 37.2503430006226 ], [ -121.866464000162807, 37.250343000240889 ], [ -121.865763999496934, 37.250343000521333 ], [ -121.86436399944013, 37.250343000391418 ], [ -121.863463999408864, 37.250343001027034 ], [ -121.863064000436296, 37.250343000324492 ], [ -121.861463999452553, 37.250443000297913 ], [ -121.861163999874279, 37.250443000230057 ], [ -121.858863999992053, 37.250443000555286 ], [ -121.858263999855438, 37.250443000890201 ], [ -121.855763000065053, 37.250343000674512 ], [ -121.854363000195775, 37.250343000319702 ], [ -121.852262999818066, 37.250543000357411 ], [ -121.849863000058036, 37.250543000998242 ], [ -121.849511000204657, 37.25054300072636 ], [ -121.849362999520636, 37.250543001009135 ], [ -121.848063000037385, 37.250543001085013 ], [ -121.846562999883687, 37.250543000824237 ], [ -121.846863000365531, 37.24974300100893 ], [ -121.847063000022175, 37.249143000912888 ], [ -121.847362999439156, 37.248343000461475 ], [ -121.847462999599912, 37.247943000367165 ], [ -121.847663000171849, 37.247543000915691 ], [ -121.848063000505761, 37.246243000545022 ], [ -121.848113000306654, 37.245941000841349 ], [ -121.848462999604521, 37.245143000423766 ], [ -121.848662999890621, 37.244443000506365 ], [ -121.848863000401934, 37.243943000377286 ], [ -121.849063000363159, 37.243343000622396 ], [ -121.849363000129514, 37.242743000622902 ], [ -121.849662999450217, 37.241643000796934 ], [ -121.850163000300796, 37.24034300044773 ], [ -121.850763000335959, 37.238843000620776 ], [ -121.851063000227128, 37.237843001039479 ], [ -121.851863000407633, 37.237843001070715 ], [ -121.852362999429715, 37.237843000699954 ], [ -121.852922999400562, 37.237923000836105 ], [ -121.85306299958539, 37.237943000684517 ], [ -121.853351000488715, 37.237927000280379 ], [ -121.854864000475175, 37.237843000328098 ], [ -121.856064000064947, 37.237843000817151 ], [ -121.857163999423591, 37.237943000480186 ], [ -121.857434999499162, 37.23799000044427 ], [ -121.858549999531434, 37.238251001024992 ], [ -121.859668000007446, 37.238494000986485 ], [ -121.861364000289839, 37.239743001063246 ], [ -121.862063999813586, 37.240043000873094 ], [ -121.863128000294907, 37.240761000643275 ], [ -121.863309000400534, 37.240913001122706 ], [ -121.863275000211516, 37.24103700087219 ], [ -121.863097999845877, 37.241678000563276 ], [ -121.862958000477846, 37.242154001086128 ], [ -121.862940999791817, 37.242213000268741 ], [ -121.862896999409926, 37.242364000467262 ], [ -121.862990999975622, 37.24266100110237 ], [ -121.863174000158068, 37.242775000794254 ], [ -121.863234999879637, 37.242806000979662 ], [ -121.863388000187669, 37.242981001057835 ], [ -121.863547000101605, 37.243047000511545 ], [ -121.863830000251042, 37.243164000546109 ], [ -121.863891000015869, 37.243187000843356 ], [ -121.864394999570479, 37.243363000980921 ], [ -121.865827000467959, 37.243878000800727 ], [ -121.86640900016819, 37.244087000954799 ], [ -121.866864000197012, 37.244202000708725 ], [ -121.868011000521591, 37.244492000294727 ], [ -121.868454000407894, 37.24463700082282 ], [ -121.869110000170622, 37.244766000851399 ], [ -121.869627999473792, 37.244766000647395 ], [ -121.869784999771724, 37.24475400067621 ], [ -121.870299999831474, 37.244713000360768 ], [ -121.870924999442764, 37.244499000802307 ], [ -121.871596999985044, 37.244202000783055 ], [ -121.871948000055511, 37.243950000414131 ], [ -121.872085000505436, 37.243866000996221 ], [ -121.872282999597218, 37.243729000242574 ], [ -121.872528000434414, 37.243637000886949 ], [ -121.872641000483895, 37.243611000945023 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 670, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.825962999549787, 37.270142000243595 ], [ -121.826833999971583, 37.270752000928368 ], [ -121.828963000451282, 37.272242000265706 ], [ -121.830061000084982, 37.273231001010515 ], [ -121.831149999545019, 37.273911000831404 ], [ -121.831342999582731, 37.274032001080933 ], [ -121.832593999792081, 37.275565001116931 ], [ -121.833162999641587, 37.275842001114519 ], [ -121.83386300020301, 37.276542000408455 ], [ -121.83417999986257, 37.27687900048516 ], [ -121.835463000240168, 37.278242000483061 ], [ -121.832962999627611, 37.278142000917292 ], [ -121.832663000321062, 37.278142000819926 ], [ -121.832162999614582, 37.278142000751615 ], [ -121.831462999789764, 37.278142000903323 ], [ -121.831162999401514, 37.278142000597327 ], [ -121.830680000453015, 37.278142000812451 ], [ -121.830462999651573, 37.27814200024153 ], [ -121.830136999877297, 37.278142000921939 ], [ -121.829863000047624, 37.278142001020093 ], [ -121.827062999404717, 37.27814200075187 ], [ -121.824387999955931, 37.278291000768029 ], [ -121.824226000208085, 37.27830000050546 ], [ -121.824001999501519, 37.278312000234656 ], [ -121.823463000016773, 37.278342000960023 ], [ -121.823362999522146, 37.278942000530847 ], [ -121.822562999672087, 37.278942000291259 ], [ -121.822562999953448, 37.277942000963122 ], [ -121.821163000135712, 37.276942000472104 ], [ -121.819462999447751, 37.276542000834333 ], [ -121.818461999590198, 37.276442000495912 ], [ -121.817561999512421, 37.276442000411414 ], [ -121.817462000386115, 37.276842000821986 ], [ -121.816661999543001, 37.276842000493993 ], [ -121.814162000318206, 37.2769420010655 ], [ -121.813362000082122, 37.277142000329292 ], [ -121.812961999960194, 37.276542000574239 ], [ -121.811162000504936, 37.277242000836743 ], [ -121.810758999908913, 37.277169001052407 ], [ -121.808861999993781, 37.277586000936161 ], [ -121.808715000197537, 37.277691000489263 ], [ -121.808453999811533, 37.277602000707518 ], [ -121.805951999850265, 37.277297000264042 ], [ -121.805562000161331, 37.27714200025811 ], [ -121.80216199961437, 37.267643000909153 ], [ -121.80181599982312, 37.2664410003974 ], [ -121.801717999737164, 37.266124000749947 ], [ -121.802462000449935, 37.266143000313221 ], [ -121.803462000383306, 37.266143000308098 ], [ -121.805961999748831, 37.266043000480366 ], [ -121.805962000456574, 37.266222000424428 ], [ -121.80615699971149, 37.266306000838256 ], [ -121.806448000089219, 37.266302000308052 ], [ -121.807362000288805, 37.26664300110513 ], [ -121.807661999758579, 37.26774300097329 ], [ -121.807961999618854, 37.268842000356685 ], [ -121.808362000258896, 37.269142000310147 ], [ -121.808562999800543, 37.26916200099555 ], [ -121.808728999710212, 37.269179000951482 ], [ -121.811961999987915, 37.269042000525637 ], [ -121.813762000056869, 37.269042000231224 ], [ -121.814961999807238, 37.269142000424061 ], [ -121.816462000184174, 37.269142001022388 ], [ -121.817961999667205, 37.269142000623305 ], [ -121.818461999914817, 37.26914200077556 ], [ -121.81936199997763, 37.269142000588793 ], [ -121.820361999964945, 37.269042001031309 ], [ -121.822361999774643, 37.267643000535344 ], [ -121.825297999646054, 37.269680000637806 ], [ -121.825962999549787, 37.270142000243595 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 672, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.845662999687448, 37.274942000628748 ], [ -121.844162999797547, 37.275642000356626 ], [ -121.841563000042541, 37.277142000958357 ], [ -121.840833999870966, 37.276301000521102 ], [ -121.840263000117304, 37.275642000612493 ], [ -121.840196999915207, 37.275511000505517 ], [ -121.839765999417139, 37.275260001015454 ], [ -121.839091000001602, 37.274585000958389 ], [ -121.838744000414877, 37.274238000239016 ], [ -121.838194000311447, 37.273849000600173 ], [ -121.838063000366589, 37.27334200071418 ], [ -121.838963000261032, 37.273342000521311 ], [ -121.839863000226956, 37.273342000694235 ], [ -121.84011099951995, 37.272751001000159 ], [ -121.841162999704224, 37.270243000421495 ], [ -121.841280999951209, 37.270007000791338 ], [ -121.841362999772727, 37.269843001104654 ], [ -121.841354999967777, 37.269787001106415 ], [ -121.841344999669815, 37.269717000651269 ], [ -121.841262999601625, 37.269143001031658 ], [ -121.841234999405444, 37.269073001026278 ], [ -121.841063000244475, 37.268448000479268 ], [ -121.841032000028591, 37.267555001087125 ], [ -121.84102200037573, 37.26706700103724 ], [ -121.841017000002552, 37.266823000992467 ], [ -121.841028000036715, 37.266431000448847 ], [ -121.84103199999663, 37.266296000750565 ], [ -121.844725000139732, 37.266136000385607 ], [ -121.84533199974048, 37.266107000716019 ], [ -121.8462399994865, 37.26606300049761 ], [ -121.846663000271249, 37.266043000514408 ], [ -121.847462999621769, 37.266043000865992 ], [ -121.848262999506744, 37.266143000970295 ], [ -121.849462999777145, 37.266143000393058 ], [ -121.850163000169374, 37.266143001123858 ], [ -121.850863999832029, 37.266143001104645 ], [ -121.851763999684934, 37.266143000279058 ], [ -121.85226399974708, 37.266143000769873 ], [ -121.852221999830377, 37.266248000551094 ], [ -121.851664000253876, 37.267643001124995 ], [ -121.851688999874014, 37.268047000389018 ], [ -121.851716000150631, 37.268473000333721 ], [ -121.851747000144456, 37.268978000291675 ], [ -121.85179000018644, 37.26966200095363 ], [ -121.851859000284591, 37.270771001005173 ], [ -121.851905000397949, 37.271314000358068 ], [ -121.851928000398402, 37.271586000261905 ], [ -121.85197899989096, 37.272181001083887 ], [ -121.852163999865937, 37.27434200077068 ], [ -121.851763999502751, 37.274342000618432 ], [ -121.850063999519506, 37.27434200112485 ], [ -121.846772999505177, 37.274791000677531 ], [ -121.845662999687448, 37.274942000628748 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 671, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.839186000315806, 37.266403000898542 ], [ -121.841028000036715, 37.266431000448847 ], [ -121.841017000002552, 37.266823000992467 ], [ -121.84102200037573, 37.26706700103724 ], [ -121.841032000028591, 37.267555001087125 ], [ -121.841063000244475, 37.268448000479268 ], [ -121.841234999405444, 37.269073001026278 ], [ -121.841262999601625, 37.269143001031658 ], [ -121.841344999669815, 37.269717000651269 ], [ -121.841354999967777, 37.269787001106415 ], [ -121.841362999772727, 37.269843001104654 ], [ -121.841280999951209, 37.270007000791338 ], [ -121.841162999704224, 37.270243000421495 ], [ -121.84011099951995, 37.272751001000159 ], [ -121.839863000226956, 37.273342000694235 ], [ -121.838963000261032, 37.273342000521311 ], [ -121.838063000366589, 37.27334200071418 ], [ -121.838194000311447, 37.273849000600173 ], [ -121.838744000414877, 37.274238000239016 ], [ -121.839091000001602, 37.274585000958389 ], [ -121.839765999417139, 37.275260001015454 ], [ -121.840196999915207, 37.275511000505517 ], [ -121.840263000117304, 37.275642000612493 ], [ -121.840833999870966, 37.276301000521102 ], [ -121.841563000042541, 37.277142000958357 ], [ -121.837463000257642, 37.279542000689368 ], [ -121.83696299991314, 37.279642000434336 ], [ -121.836563000166208, 37.279242000591417 ], [ -121.836162999898988, 37.278942000623474 ], [ -121.835463000240168, 37.278242000483061 ], [ -121.83417999986257, 37.27687900048516 ], [ -121.83386300020301, 37.276542000408455 ], [ -121.833162999641587, 37.275842001114519 ], [ -121.832593999792081, 37.275565001116931 ], [ -121.831342999582731, 37.274032001080933 ], [ -121.831149999545019, 37.273911000831404 ], [ -121.830061000084982, 37.273231001010515 ], [ -121.828963000451282, 37.272242000265706 ], [ -121.829162999914587, 37.272142000779148 ], [ -121.830662999674473, 37.270942000933879 ], [ -121.8310630001112, 37.270642000757711 ], [ -121.831363000169006, 37.270442000266044 ], [ -121.831694999457511, 37.270177001105779 ], [ -121.831863000424605, 37.270042000737128 ], [ -121.832143000312286, 37.269930000786545 ], [ -121.83236299943232, 37.269843000396563 ], [ -121.834262999779156, 37.269143000914966 ], [ -121.833478999627204, 37.268887001051887 ], [ -121.832704999734659, 37.268593000810945 ], [ -121.832292999829249, 37.2683830009899 ], [ -121.831980999399974, 37.268160000228235 ], [ -121.831740000275758, 37.26784600038458 ], [ -121.831706999474278, 37.267732000718368 ], [ -121.831591000009354, 37.267529000794532 ], [ -121.831540999518637, 37.267490000609698 ], [ -121.831439999658741, 37.267335000456434 ], [ -121.831369999419664, 37.267084000426379 ], [ -121.831300000179894, 37.266794000667936 ], [ -121.831249000260968, 37.266620000438451 ], [ -121.83116300036454, 37.266543000599334 ], [ -121.831398000015355, 37.266543000666111 ], [ -121.835962999530423, 37.26654300076067 ], [ -121.83676300007771, 37.266443000859816 ], [ -121.836765000346389, 37.266506000706869 ], [ -121.837570000174338, 37.266531000750469 ], [ -121.837567999427449, 37.266501000320247 ], [ -121.83746199997745, 37.266457000919921 ], [ -121.837564999922748, 37.26646400099574 ], [ -121.838408000152256, 37.266523000654615 ], [ -121.838376999533068, 37.266335000613154 ], [ -121.839199000449341, 37.266504000544643 ], [ -121.839186000315806, 37.266403000898542 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 666, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.802562000141577, 37.255043000862429 ], [ -121.802375999713476, 37.254801000398672 ], [ -121.802315999444403, 37.254688000349596 ], [ -121.802324000507468, 37.254575000494036 ], [ -121.802361000242385, 37.254408001112729 ], [ -121.802909000010828, 37.253703000256024 ], [ -121.803161999519858, 37.253343000446641 ], [ -121.804061999470179, 37.251543000872182 ], [ -121.805677000516184, 37.251465000805766 ], [ -121.807062000313309, 37.251543000958947 ], [ -121.808862000116719, 37.251543000914616 ], [ -121.809061999484783, 37.251543001116424 ], [ -121.809462000503359, 37.251543000528997 ], [ -121.81166199956148, 37.25154300100732 ], [ -121.812562000399282, 37.251543000530624 ], [ -121.812837999499976, 37.251543000347553 ], [ -121.814561999519739, 37.251543000577499 ], [ -121.817462000294711, 37.251543000298874 ], [ -121.817562000459432, 37.256543000888207 ], [ -121.817562000233508, 37.256943001111189 ], [ -121.81806199972597, 37.257643000466949 ], [ -121.818662000301288, 37.258143000456151 ], [ -121.819166000099827, 37.25864700093215 ], [ -121.819461999583865, 37.258943000582946 ], [ -121.817537000097033, 37.258943000913071 ], [ -121.817430000119842, 37.258943001110708 ], [ -121.817361999450355, 37.25894300053055 ], [ -121.816462000324663, 37.258943000826832 ], [ -121.815461999823626, 37.25904300097455 ], [ -121.815386999749634, 37.259035000934773 ], [ -121.814561999557554, 37.258943000780583 ], [ -121.813762000245944, 37.259043000712261 ], [ -121.812761999623589, 37.259043001017652 ], [ -121.811962000267016, 37.258943000541635 ], [ -121.811562000143837, 37.259043000697787 ], [ -121.810361999669993, 37.259043000818096 ], [ -121.80921300044092, 37.259043000637192 ], [ -121.808661999814191, 37.259043000296238 ], [ -121.808461999659684, 37.259243000923945 ], [ -121.805966999498324, 37.257538000256737 ], [ -121.804662000266092, 37.256843000341348 ], [ -121.804161999756673, 37.256543000833432 ], [ -121.803761999516496, 37.25634300059113 ], [ -121.802262000274794, 37.255343000314738 ], [ -121.802362000500878, 37.255243000287678 ], [ -121.802562000141577, 37.255043000862429 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 679, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.87417300050366, 37.263741000760632 ], [ -121.87376399960543, 37.263843000722829 ], [ -121.872864000136204, 37.264043000540156 ], [ -121.872163999679032, 37.264243000838675 ], [ -121.870364000120162, 37.264743000618338 ], [ -121.86956400026807, 37.264943000986392 ], [ -121.868964000328461, 37.265043000639189 ], [ -121.868544999626138, 37.26510600063326 ], [ -121.867400999583069, 37.26551800094164 ], [ -121.866064000081337, 37.265743000487852 ], [ -121.865263999825501, 37.265643000701935 ], [ -121.864363999522382, 37.265743000491561 ], [ -121.863964000226687, 37.265743000450534 ], [ -121.863464000287863, 37.265843000638839 ], [ -121.86146400014691, 37.266043000239669 ], [ -121.860463999871158, 37.266243000712819 ], [ -121.859282999501943, 37.266159000376256 ], [ -121.859202999822202, 37.263543000811836 ], [ -121.859121999937756, 37.260921000976133 ], [ -121.859107999831167, 37.260456000284186 ], [ -121.859084000410945, 37.259689000574433 ], [ -121.859070000421553, 37.25921900087279 ], [ -121.859009999976621, 37.257282001080576 ], [ -121.858973000012526, 37.256812000351353 ], [ -121.858942999810694, 37.256429000997919 ], [ -121.860922999936889, 37.256499000286006 ], [ -121.861601999416663, 37.256523000563021 ], [ -121.864412999569836, 37.256330000620551 ], [ -121.865161000263626, 37.256258000708129 ], [ -121.866032999987652, 37.256175001098974 ], [ -121.867296999539988, 37.256100000632784 ], [ -121.867433000000389, 37.256085000732966 ], [ -121.871443999509722, 37.255638001016216 ], [ -121.87271599957549, 37.255386000430398 ], [ -121.875150000324069, 37.254905000828813 ], [ -121.875714000512048, 37.254794001061008 ], [ -121.875763000320177, 37.255253000356504 ], [ -121.875802999926051, 37.255634000820464 ], [ -121.875863000432105, 37.256195001102405 ], [ -121.876163999652917, 37.259043001052369 ], [ -121.876204999771033, 37.259804001009975 ], [ -121.876193999558708, 37.260080001047939 ], [ -121.876311999758812, 37.260773000641287 ], [ -121.87635499950548, 37.261463000557569 ], [ -121.876365000452893, 37.261747001112539 ], [ -121.8763649996135, 37.261980000819953 ], [ -121.876510000220463, 37.262306000498896 ], [ -121.876764000376028, 37.26314300088724 ], [ -121.875763999921517, 37.26334300060342 ], [ -121.874563999490434, 37.263643000609775 ], [ -121.87417300050366, 37.263741000760632 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 678, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.8514149999327, 37.255517000513358 ], [ -121.852927000505048, 37.255865001028297 ], [ -121.854183000052416, 37.255998000441764 ], [ -121.854972000094975, 37.256082000566963 ], [ -121.857127000278894, 37.256311000803613 ], [ -121.858176999977019, 37.256422000462301 ], [ -121.858434999855547, 37.256424000897454 ], [ -121.858942999810694, 37.256429000997919 ], [ -121.858973000012526, 37.256812000351353 ], [ -121.859009999976621, 37.257282001080576 ], [ -121.859070000421553, 37.25921900087279 ], [ -121.859084000410945, 37.259689000574433 ], [ -121.859107999831167, 37.260456000284186 ], [ -121.859121999937756, 37.260921000976133 ], [ -121.859202999822202, 37.263543000811836 ], [ -121.859282999501943, 37.266159000376256 ], [ -121.859064000317559, 37.266143000858868 ], [ -121.856964000165163, 37.266043001071793 ], [ -121.855863999667548, 37.26604300052 ], [ -121.854764000402142, 37.266043000570939 ], [ -121.853263999956042, 37.266143000822353 ], [ -121.85226399974708, 37.266143000769873 ], [ -121.851763999684934, 37.266143000279058 ], [ -121.850863999832029, 37.266143001104645 ], [ -121.850163000169374, 37.266143001123858 ], [ -121.849462999777145, 37.266143000393058 ], [ -121.848262999506744, 37.266143000970295 ], [ -121.847462999621769, 37.266043000865992 ], [ -121.846663000271249, 37.266043000514408 ], [ -121.84526300020201, 37.263443000805488 ], [ -121.846063000470707, 37.263043000524064 ], [ -121.847663000031659, 37.262443001100323 ], [ -121.84796299999941, 37.262143000260878 ], [ -121.846063000048332, 37.259943000352962 ], [ -121.843263000241265, 37.257243001004873 ], [ -121.84297800026701, 37.255628000433241 ], [ -121.84296299951329, 37.255543000319996 ], [ -121.842563000168099, 37.253743000791289 ], [ -121.842962999642438, 37.253943000405037 ], [ -121.846263000200636, 37.255043001070732 ], [ -121.846769000085473, 37.255112000316807 ], [ -121.846938000316612, 37.255135000431579 ], [ -121.847703999950767, 37.255140000496446 ], [ -121.848162999688498, 37.255143000610325 ], [ -121.850122000396581, 37.255220000262682 ], [ -121.850442999841931, 37.255294001073672 ], [ -121.8514149999327, 37.255517000513358 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 677, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.858434999855547, 37.256424000897454 ], [ -121.858176999977019, 37.256422000462301 ], [ -121.857127000278894, 37.256311000803613 ], [ -121.854972000094975, 37.256082000566963 ], [ -121.854183000052416, 37.255998000441764 ], [ -121.852927000505048, 37.255865001028297 ], [ -121.8514149999327, 37.255517000513358 ], [ -121.850442999841931, 37.255294001073672 ], [ -121.850122000396581, 37.255220000262682 ], [ -121.848162999688498, 37.255143000610325 ], [ -121.847703999950767, 37.255140000496446 ], [ -121.846938000316612, 37.255135000431579 ], [ -121.846769000085473, 37.255112000316807 ], [ -121.846263000200636, 37.255043001070732 ], [ -121.842962999642438, 37.253943000405037 ], [ -121.842563000168099, 37.253743000791289 ], [ -121.839563000198297, 37.252343000383171 ], [ -121.837409000150032, 37.251281000922091 ], [ -121.838463000017541, 37.251243000293336 ], [ -121.839862999565, 37.250743000901878 ], [ -121.840862999906321, 37.25064300070504 ], [ -121.841163000180188, 37.250543000935984 ], [ -121.841562999446197, 37.25064300079373 ], [ -121.841643000081405, 37.250643000263665 ], [ -121.842563000002656, 37.250643000574641 ], [ -121.84312099999967, 37.250573001009414 ], [ -121.843362999438838, 37.250543000481706 ], [ -121.84436299997013, 37.250543000366569 ], [ -121.844963000096627, 37.250543001107111 ], [ -121.845961000520887, 37.250543000425523 ], [ -121.846562999883687, 37.250543000824237 ], [ -121.848063000037385, 37.250543001085013 ], [ -121.849362999520636, 37.250543001009135 ], [ -121.849511000204657, 37.25054300072636 ], [ -121.849863000058036, 37.250543000998242 ], [ -121.852262999818066, 37.250543000357411 ], [ -121.854363000195775, 37.250343000319702 ], [ -121.855763000065053, 37.250343000674512 ], [ -121.858263999855438, 37.250443000890201 ], [ -121.858863999992053, 37.250443000555286 ], [ -121.861163999874279, 37.250443000230057 ], [ -121.861463999452553, 37.250443000297913 ], [ -121.863064000436296, 37.250343000324492 ], [ -121.863463999408864, 37.250343001027034 ], [ -121.86436399944013, 37.250343000391418 ], [ -121.865763999496934, 37.250343000521333 ], [ -121.866464000162807, 37.250343000240889 ], [ -121.867964000278917, 37.2503430006226 ], [ -121.869792999519348, 37.250423000781147 ], [ -121.870263999869451, 37.250443000301544 ], [ -121.871963999467937, 37.250643000994557 ], [ -121.872463999468266, 37.250643001043507 ], [ -121.875264000219389, 37.250943000351967 ], [ -121.875463999503893, 37.252543000256765 ], [ -121.875550000070092, 37.253313000508065 ], [ -121.875569000209111, 37.253488001059281 ], [ -121.875674999551848, 37.25444100075724 ], [ -121.875714000512048, 37.254794001061008 ], [ -121.875150000324069, 37.254905000828813 ], [ -121.87271599957549, 37.255386000430398 ], [ -121.871443999509722, 37.255638001016216 ], [ -121.867433000000389, 37.256085000732966 ], [ -121.867296999539988, 37.256100000632784 ], [ -121.866032999987652, 37.256175001098974 ], [ -121.865161000263626, 37.256258000708129 ], [ -121.864412999569836, 37.256330000620551 ], [ -121.861601999416663, 37.256523000563021 ], [ -121.860922999936889, 37.256499000286006 ], [ -121.858942999810694, 37.256429000997919 ], [ -121.858434999855547, 37.256424000897454 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 664, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.818262000392608, 37.237143000280547 ], [ -121.81866199959201, 37.237243000401428 ], [ -121.819162000040151, 37.237343000493489 ], [ -121.819961999402082, 37.237443000612501 ], [ -121.82096199960823, 37.237543000410383 ], [ -121.821762000206633, 37.237643001024267 ], [ -121.824162000271158, 37.237643000302938 ], [ -121.825062000164166, 37.237543000903621 ], [ -121.826262000030695, 37.237443000645143 ], [ -121.830562999543361, 37.237143000852448 ], [ -121.830662999919625, 37.238543001097227 ], [ -121.830662999421548, 37.238943000287748 ], [ -121.830663000360431, 37.240743000411364 ], [ -121.830663000398943, 37.241643000271786 ], [ -121.830663000091121, 37.242343000970379 ], [ -121.830662999613764, 37.242843000774364 ], [ -121.830662999600193, 37.243443000491069 ], [ -121.830662999445039, 37.244043001049363 ], [ -121.830663000407213, 37.244443000798697 ], [ -121.830763000366602, 37.245043000950105 ], [ -121.830767999630794, 37.245341000399954 ], [ -121.830807000233008, 37.247795001090473 ], [ -121.830285000289237, 37.247513000348988 ], [ -121.829030000311178, 37.246703000638256 ], [ -121.827977000114061, 37.246024001048085 ], [ -121.827891999474531, 37.245970000412768 ], [ -121.826808999439265, 37.245286001056755 ], [ -121.825415000497486, 37.244406000913798 ], [ -121.825329000077971, 37.244365000486546 ], [ -121.824304000271397, 37.243882000613226 ], [ -121.822762999997806, 37.243379001048496 ], [ -121.820663999964083, 37.242959001018718 ], [ -121.820062000219536, 37.242952000998379 ], [ -121.81946399961943, 37.242945000835185 ], [ -121.819163999596611, 37.242946000477787 ], [ -121.817961000358949, 37.242949000658555 ], [ -121.817424999874945, 37.242950000246196 ], [ -121.817354999505866, 37.242947000819839 ], [ -121.816657999706678, 37.242917000953 ], [ -121.814931999629437, 37.242844000318115 ], [ -121.814546000055913, 37.242828000446224 ], [ -121.814278999545692, 37.242812000388675 ], [ -121.813058000141808, 37.242737000785006 ], [ -121.812361999835019, 37.242695000364129 ], [ -121.810863999520535, 37.242603000335627 ], [ -121.807731999513933, 37.242534000992954 ], [ -121.805827000365852, 37.242405001045128 ], [ -121.804001000029572, 37.242078000315608 ], [ -121.803961999518009, 37.241843000386666 ], [ -121.803961999608106, 37.241725000651691 ], [ -121.803961999444141, 37.241506000691153 ], [ -121.803962000253378, 37.241294000641226 ], [ -121.803965000100234, 37.241131000494704 ], [ -121.804053000215674, 37.2409050007562 ], [ -121.803900000152012, 37.239718000842281 ], [ -121.803962000070584, 37.239443000477507 ], [ -121.803914999548709, 37.238877000327662 ], [ -121.803862000023059, 37.23824300088684 ], [ -121.803861999698057, 37.236943001014083 ], [ -121.806161999770467, 37.236943000261704 ], [ -121.80696200049222, 37.236943000856215 ], [ -121.807962000372498, 37.236943000519958 ], [ -121.808061999916674, 37.236943000377707 ], [ -121.808861999663989, 37.236943000739217 ], [ -121.809061999895079, 37.236943000663672 ], [ -121.809661999474031, 37.236943001102233 ], [ -121.810562000047469, 37.23694300102671 ], [ -121.811362000001296, 37.236943000717098 ], [ -121.812461999890914, 37.236943000813504 ], [ -121.813262000314083, 37.23704300107066 ], [ -121.814062000151125, 37.236943000653802 ], [ -121.815062000047988, 37.23704300062365 ], [ -121.815962000024797, 37.237043000952269 ], [ -121.816661999446495, 37.237043000477009 ], [ -121.817662000453794, 37.237043001133429 ], [ -121.818262000392608, 37.237143000280547 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 663, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.830563000247437, 37.230144000256701 ], [ -121.830563000244112, 37.2318440009862 ], [ -121.830563000345023, 37.23254400099227 ], [ -121.830563000504043, 37.232844000456602 ], [ -121.830663000350597, 37.233444000801754 ], [ -121.830563000025435, 37.233944000760744 ], [ -121.830562999543361, 37.237143000852448 ], [ -121.826262000030695, 37.237443000645143 ], [ -121.825062000164166, 37.237543000903621 ], [ -121.824162000271158, 37.237643000302938 ], [ -121.821762000206633, 37.237643001024267 ], [ -121.82096199960823, 37.237543000410383 ], [ -121.819961999402082, 37.237443000612501 ], [ -121.819162000040151, 37.237343000493489 ], [ -121.81866199959201, 37.237243000401428 ], [ -121.818262000392608, 37.237143000280547 ], [ -121.817662000453794, 37.237043001133429 ], [ -121.816661999446495, 37.237043000477009 ], [ -121.81676200002974, 37.235543000365119 ], [ -121.816762000258464, 37.235143000588444 ], [ -121.816761999416528, 37.234343000944328 ], [ -121.816961999457803, 37.233744000784128 ], [ -121.817562000516432, 37.232944000783696 ], [ -121.817762000224477, 37.232344000356591 ], [ -121.817962000093218, 37.230244000910488 ], [ -121.817861999760382, 37.22964400110434 ], [ -121.817061999858296, 37.229344000721468 ], [ -121.816461999689963, 37.229144000295534 ], [ -121.816561999819825, 37.228344000616033 ], [ -121.816261999668498, 37.227944000711162 ], [ -121.816016000495281, 37.226947000260502 ], [ -121.818461999776574, 37.227844000350977 ], [ -121.820661999697364, 37.229244001022792 ], [ -121.82186199988567, 37.22814400092517 ], [ -121.823162000463228, 37.228608000528105 ], [ -121.823262000034887, 37.228644000268581 ], [ -121.82366200047727, 37.228462001119183 ], [ -121.824363000002137, 37.228144000913971 ], [ -121.825662999732359, 37.22834400086419 ], [ -121.826363000193879, 37.226944000550212 ], [ -121.825462999485623, 37.22604400110994 ], [ -121.825563000356723, 37.225744000862235 ], [ -121.826563000334772, 37.225644000731506 ], [ -121.826762999810413, 37.225544000966096 ], [ -121.827181000272489, 37.225879000948346 ], [ -121.827363000157845, 37.226025000652832 ], [ -121.827638000346653, 37.226244000563 ], [ -121.827762999963014, 37.226344000619882 ], [ -121.827974000031944, 37.226475000336443 ], [ -121.828283999658296, 37.226669000776269 ], [ -121.828562999458953, 37.22684400050646 ], [ -121.82869999968338, 37.226935001061825 ], [ -121.828863000134589, 37.22704400091537 ], [ -121.829479999745587, 37.227419000687732 ], [ -121.830262999729172, 37.227644000856863 ], [ -121.83046299946956, 37.228044000384386 ], [ -121.830463000220888, 37.228544000449418 ], [ -121.830463000084663, 37.228944000284699 ], [ -121.830562999746974, 37.229344000700578 ], [ -121.830563000247437, 37.230144000256701 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 13, "TAZ1454": 662, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.807962000372498, 37.236943000519958 ], [ -121.80696200049222, 37.236943000856215 ], [ -121.806161999770467, 37.236943000261704 ], [ -121.803861999698057, 37.236943001014083 ], [ -121.803861000062241, 37.235756000728479 ], [ -121.803800000488636, 37.235367001004882 ], [ -121.803762000259837, 37.233644000505755 ], [ -121.803761999858125, 37.233144000355558 ], [ -121.803862000305983, 37.232244000475276 ], [ -121.803862000339663, 37.231344000691635 ], [ -121.803762000248227, 37.230744000717017 ], [ -121.803762000022772, 37.230144000433086 ], [ -121.803862000500246, 37.228944000327687 ], [ -121.803761999993327, 37.228644000825632 ], [ -121.803861999618192, 37.227544000350889 ], [ -121.803861999396162, 37.226991000918382 ], [ -121.803862000357014, 37.226644000790863 ], [ -121.803759000233057, 37.226387000699532 ], [ -121.803662000500978, 37.226144000592043 ], [ -121.803663000248534, 37.225648000243879 ], [ -121.803761999413069, 37.224844000665357 ], [ -121.803861999697503, 37.223944000393551 ], [ -121.803861999915355, 37.223544000371042 ], [ -121.804455000517422, 37.223710000774744 ], [ -121.806361999848605, 37.224244001002987 ], [ -121.807762000433101, 37.224944000675059 ], [ -121.810761999709058, 37.225644000425277 ], [ -121.812238999688105, 37.225990001052352 ], [ -121.815461999578417, 37.226744000750195 ], [ -121.816016000495281, 37.226947000260502 ], [ -121.816261999668498, 37.227944000711162 ], [ -121.816561999819825, 37.228344000616033 ], [ -121.816461999689963, 37.229144000295534 ], [ -121.817061999858296, 37.229344000721468 ], [ -121.817861999760382, 37.22964400110434 ], [ -121.817962000093218, 37.230244000910488 ], [ -121.817762000224477, 37.232344000356591 ], [ -121.817562000516432, 37.232944000783696 ], [ -121.816961999457803, 37.233744000784128 ], [ -121.816761999416528, 37.234343000944328 ], [ -121.816762000258464, 37.235143000588444 ], [ -121.81676200002974, 37.235543000365119 ], [ -121.816661999446495, 37.237043000477009 ], [ -121.815962000024797, 37.237043000952269 ], [ -121.815062000047988, 37.23704300062365 ], [ -121.814062000151125, 37.236943000653802 ], [ -121.813262000314083, 37.23704300107066 ], [ -121.812461999890914, 37.236943000813504 ], [ -121.811362000001296, 37.236943000717098 ], [ -121.810562000047469, 37.23694300102671 ], [ -121.809661999474031, 37.236943001102233 ], [ -121.809061999895079, 37.236943000663672 ], [ -121.808861999663989, 37.236943000739217 ], [ -121.808061999916674, 37.236943000377707 ], [ -121.807962000372498, 37.236943000519958 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1334, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.614495999580498, 38.242716000709841 ], [ -122.615096000234701, 38.243116000673872 ], [ -122.616495999927196, 38.243816000914727 ], [ -122.617196000188628, 38.244216000491519 ], [ -122.617795999583208, 38.244516000382461 ], [ -122.617896000115735, 38.244616000386451 ], [ -122.617196000344606, 38.24541600086522 ], [ -122.616295999882794, 38.24651600033107 ], [ -122.61489599997708, 38.248116000656736 ], [ -122.614395999996404, 38.248716000740608 ], [ -122.613296000415033, 38.249916000985245 ], [ -122.61298200006533, 38.250185001051562 ], [ -122.611895999625943, 38.251116001055294 ], [ -122.611798999669858, 38.251175000277499 ], [ -122.611585000328986, 38.251236000548346 ], [ -122.611296000023685, 38.251316000858758 ], [ -122.611004999643001, 38.25147200044384 ], [ -122.610696000214531, 38.251816000874967 ], [ -122.61033700026438, 38.251611000664745 ], [ -122.609995999742949, 38.251416000820178 ], [ -122.608143999980015, 38.250305000757685 ], [ -122.607496000240502, 38.249916000458931 ], [ -122.606884000336933, 38.249585000630219 ], [ -122.606214000236889, 38.249222000712429 ], [ -122.605978999793066, 38.249095000472742 ], [ -122.605095999725535, 38.248616000376117 ], [ -122.604595999818599, 38.248316000582733 ], [ -122.60089499948873, 38.246316001119489 ], [ -122.600195000276898, 38.245916001034779 ], [ -122.599795000160924, 38.245716001069582 ], [ -122.597695000283323, 38.244516000962008 ], [ -122.597283999930028, 38.244278000491128 ], [ -122.595843000364397, 38.243444000569802 ], [ -122.595795000299958, 38.243416000244437 ], [ -122.598694999485801, 38.240316000794678 ], [ -122.600095000497689, 38.2387160009742 ], [ -122.600394999975236, 38.238416000477578 ], [ -122.600971999448575, 38.237737001127044 ], [ -122.601461000052907, 38.237218000610234 ], [ -122.601965999617462, 38.23667100089466 ], [ -122.602495000020909, 38.236116000532753 ], [ -122.603894999561476, 38.236816000889405 ], [ -122.605038000141803, 38.237451000654474 ], [ -122.605695000325312, 38.23781600092564 ], [ -122.607194999885081, 38.2387160008631 ], [ -122.61019600032499, 38.240416000655394 ], [ -122.611587999583776, 38.241140000783112 ], [ -122.612695999840369, 38.24171600080841 ], [ -122.614495999580498, 38.242716000709841 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1335, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.620295999705561, 38.241716000565297 ], [ -122.62069599981001, 38.2412160007881 ], [ -122.62149599950861, 38.240216000586862 ], [ -122.622757999626316, 38.242664001119529 ], [ -122.622982999951546, 38.243046000704588 ], [ -122.623301999627401, 38.243508000739709 ], [ -122.624345000143691, 38.244589001025481 ], [ -122.626095999757268, 38.246016000829599 ], [ -122.627395999747705, 38.246816000929527 ], [ -122.627808999403754, 38.247048001042195 ], [ -122.630595999899995, 38.248416000317015 ], [ -122.633395999647817, 38.249916000307138 ], [ -122.634195999670837, 38.25031600071263 ], [ -122.633970000048649, 38.250435000605073 ], [ -122.632199999451728, 38.252541000944724 ], [ -122.632096000240224, 38.252716000802145 ], [ -122.630033000065225, 38.25496700085219 ], [ -122.628895999539097, 38.256116000257329 ], [ -122.628568000052937, 38.256424000762728 ], [ -122.6273119999735, 38.25777400104203 ], [ -122.62724000030758, 38.257851001018906 ], [ -122.627149000078674, 38.258400000517007 ], [ -122.626695999391131, 38.259216001004127 ], [ -122.626522999745191, 38.25946800028931 ], [ -122.626296000230056, 38.259616000260436 ], [ -122.626188000377084, 38.25977800034314 ], [ -122.626095999434867, 38.259716000760669 ], [ -122.625776000131538, 38.259918000695521 ], [ -122.625701000095447, 38.259982000473293 ], [ -122.625561999474002, 38.260101000895361 ], [ -122.625287000288822, 38.260040001014524 ], [ -122.6249969994048, 38.259834000733008 ], [ -122.624895999521996, 38.259916000397766 ], [ -122.624799000487826, 38.259857000293856 ], [ -122.62449799959785, 38.259634000362823 ], [ -122.624355999595693, 38.259529000512913 ], [ -122.623396000016228, 38.259016000620441 ], [ -122.622096000181998, 38.258316000303743 ], [ -122.621477999485919, 38.257973000592763 ], [ -122.621195999559077, 38.257816000295854 ], [ -122.620495999477228, 38.257416000866399 ], [ -122.619195999942576, 38.25671600078951 ], [ -122.618595999868148, 38.25731600062543 ], [ -122.617878999897982, 38.258127000843011 ], [ -122.616659000464182, 38.259506001050426 ], [ -122.616295999396911, 38.259916000640466 ], [ -122.616095999692419, 38.260116000658257 ], [ -122.615405000221827, 38.260884000718171 ], [ -122.615245999559974, 38.261060000968264 ], [ -122.615196000013967, 38.261116000810901 ], [ -122.612351999925437, 38.264347000910391 ], [ -122.611889999641917, 38.264872000606573 ], [ -122.61096099960784, 38.265928000800521 ], [ -122.608596000159949, 38.268615000533956 ], [ -122.600094999809912, 38.263815000629116 ], [ -122.6002159994393, 38.263656000840299 ], [ -122.600872000425326, 38.262908000288554 ], [ -122.601710999668867, 38.262069000292442 ], [ -122.602917000423204, 38.260734000918262 ], [ -122.603366999754826, 38.260244000951111 ], [ -122.603616999846153, 38.259971000606136 ], [ -122.605527000136135, 38.257884001056276 ], [ -122.606510000308816, 38.256810000285896 ], [ -122.6065959996033, 38.25671600031265 ], [ -122.60700699995968, 38.256218000849643 ], [ -122.607557000346318, 38.255577000914862 ], [ -122.607996000400263, 38.2550160006843 ], [ -122.608258000404703, 38.254730000908495 ], [ -122.609509999805042, 38.253380000994476 ], [ -122.610822000162742, 38.252205001059721 ], [ -122.61099600018099, 38.252016000786639 ], [ -122.610696000214531, 38.251816000874967 ], [ -122.611004999643001, 38.25147200044384 ], [ -122.611296000023685, 38.251316000858758 ], [ -122.611585000328986, 38.251236000548346 ], [ -122.611798999669858, 38.251175000277499 ], [ -122.611895999625943, 38.251116001055294 ], [ -122.61298200006533, 38.250185001051562 ], [ -122.613296000415033, 38.249916000985245 ], [ -122.614395999996404, 38.248716000740608 ], [ -122.61489599997708, 38.248116000656736 ], [ -122.616295999882794, 38.24651600033107 ], [ -122.617196000344606, 38.24541600086522 ], [ -122.617896000115735, 38.244616000386451 ], [ -122.617795999583208, 38.244516000382461 ], [ -122.61819600029439, 38.244016000418611 ], [ -122.618596000069928, 38.243516000837346 ], [ -122.619096000446874, 38.242916001115113 ], [ -122.619595999425584, 38.242416000761885 ], [ -122.620295999705561, 38.241716000565297 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1336, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.615405000221827, 38.260884000718171 ], [ -122.616095999692419, 38.260116000658257 ], [ -122.616295999396911, 38.259916000640466 ], [ -122.616659000464182, 38.259506001050426 ], [ -122.617878999897982, 38.258127000843011 ], [ -122.618595999868148, 38.25731600062543 ], [ -122.619195999942576, 38.25671600078951 ], [ -122.620495999477228, 38.257416000866399 ], [ -122.621195999559077, 38.257816000295854 ], [ -122.621477999485919, 38.257973000592763 ], [ -122.622096000181998, 38.258316000303743 ], [ -122.623396000016228, 38.259016000620441 ], [ -122.624355999595693, 38.259529000512913 ], [ -122.62449799959785, 38.259634000362823 ], [ -122.624799000487826, 38.259857000293856 ], [ -122.624895999521996, 38.259916000397766 ], [ -122.6249969994048, 38.259834000733008 ], [ -122.625287000288822, 38.260040001014524 ], [ -122.625561999474002, 38.260101000895361 ], [ -122.625701000095447, 38.259982000473293 ], [ -122.625776000131538, 38.259918000695521 ], [ -122.626095999434867, 38.259716000760669 ], [ -122.626188000377084, 38.25977800034314 ], [ -122.626296000230056, 38.259616000260436 ], [ -122.626522999745191, 38.25946800028931 ], [ -122.626695999391131, 38.259216001004127 ], [ -122.627149000078674, 38.258400000517007 ], [ -122.62724000030758, 38.257851001018906 ], [ -122.6273119999735, 38.25777400104203 ], [ -122.628568000052937, 38.256424000762728 ], [ -122.628895999539097, 38.256116000257329 ], [ -122.630033000065225, 38.25496700085219 ], [ -122.632096000240224, 38.252716000802145 ], [ -122.632199999451728, 38.252541000944724 ], [ -122.633970000048649, 38.250435000605073 ], [ -122.634195999670837, 38.25031600071263 ], [ -122.636777999828752, 38.25157900071693 ], [ -122.640297000382773, 38.253416000959632 ], [ -122.643065000226258, 38.254837000906583 ], [ -122.643396999916774, 38.25501600103722 ], [ -122.643797000474294, 38.255216001113091 ], [ -122.644194000372195, 38.255417001022529 ], [ -122.647107999873867, 38.257027000492791 ], [ -122.653516000096417, 38.260682000449947 ], [ -122.654035999590121, 38.260979000954649 ], [ -122.656138000283732, 38.262168000555178 ], [ -122.657718999510848, 38.263076000894273 ], [ -122.658368000142318, 38.263436000335439 ], [ -122.659096999653954, 38.263816001039842 ], [ -122.65929800025134, 38.263946000975118 ], [ -122.659925999960763, 38.264351000287668 ], [ -122.6613450004307, 38.265144000390151 ], [ -122.66264199978491, 38.265984000250867 ], [ -122.663755999441918, 38.266876000461927 ], [ -122.665159999731429, 38.268112000346335 ], [ -122.66686800048663, 38.26973700030517 ], [ -122.667860000077667, 38.270470001061035 ], [ -122.66849699971867, 38.270916000766462 ], [ -122.669697000440109, 38.271916001117532 ], [ -122.669997000237842, 38.272116000469794 ], [ -122.669896999533094, 38.27251600066392 ], [ -122.669696999607467, 38.273216000431177 ], [ -122.669697000252668, 38.273416000995461 ], [ -122.669596999861881, 38.274016000480643 ], [ -122.669596999468197, 38.274116000747753 ], [ -122.669297000195328, 38.275516000928285 ], [ -122.668986000403123, 38.276898000855056 ], [ -122.668631999597793, 38.278471000409695 ], [ -122.668397000266282, 38.279515000325745 ], [ -122.667814999630608, 38.282296001094863 ], [ -122.667496999653395, 38.28381500051524 ], [ -122.667310999875639, 38.284774001120361 ], [ -122.667021000471237, 38.286063000694377 ], [ -122.666896999869877, 38.286915000468198 ], [ -122.666684999735963, 38.287635001017939 ], [ -122.666517999972626, 38.288489000406265 ], [ -122.666507999464585, 38.288883000397597 ], [ -122.666497000477762, 38.289315001092596 ], [ -122.666464999930398, 38.290555000848727 ], [ -122.66641299943339, 38.292595000759867 ], [ -122.666396999961762, 38.293215000313914 ], [ -122.666397000292775, 38.293415001081641 ], [ -122.666396999698776, 38.296015000514124 ], [ -122.666396999977252, 38.296215000285038 ], [ -122.666396999456666, 38.29711500096731 ], [ -122.665196999909824, 38.297215000662227 ], [ -122.662696999499005, 38.297115000594978 ], [ -122.662464999586689, 38.297115001129576 ], [ -122.661288000271597, 38.297115001012052 ], [ -122.659496999395671, 38.297115001109333 ], [ -122.657386000508708, 38.295933000863648 ], [ -122.654497000279306, 38.294315000320218 ], [ -122.654328000404249, 38.294221000541285 ], [ -122.651797000144256, 38.292815000549446 ], [ -122.646397000416783, 38.289815000599738 ], [ -122.639295999443348, 38.285815001133649 ], [ -122.637636000378762, 38.284898000282922 ], [ -122.63592299942276, 38.28395100103652 ], [ -122.63169599954459, 38.281615000518805 ], [ -122.628596000109212, 38.279915000539837 ], [ -122.626896000212255, 38.278915001042982 ], [ -122.626096000053806, 38.278515000951366 ], [ -122.623896000516666, 38.277315000816408 ], [ -122.62089599957153, 38.275615001089783 ], [ -122.619195999626058, 38.274615000549879 ], [ -122.616795999472671, 38.273315000721993 ], [ -122.615958000297141, 38.272835000354156 ], [ -122.613443999903552, 38.271394000700433 ], [ -122.608596000159949, 38.268615000533956 ], [ -122.61096099960784, 38.265928000800521 ], [ -122.611889999641917, 38.264872000606573 ], [ -122.612351999925437, 38.264347000910391 ], [ -122.615196000013967, 38.261116000810901 ], [ -122.615245999559974, 38.261060000968264 ], [ -122.615405000221827, 38.260884000718171 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1339, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.68713499963485, 38.324778000366834 ], [ -122.68708199986429, 38.324693000311711 ], [ -122.686581999843156, 38.323890000555629 ], [ -122.686070000188067, 38.323067000451054 ], [ -122.685539000128003, 38.322214000762948 ], [ -122.684796000469788, 38.32102000102126 ], [ -122.683298000024848, 38.31861400084663 ], [ -122.680997000475202, 38.314215000329291 ], [ -122.683098000381889, 38.314215000517379 ], [ -122.684897999611621, 38.314215001122804 ], [ -122.694297999447187, 38.314215000317837 ], [ -122.69639799968958, 38.316015000837638 ], [ -122.697397999460776, 38.316915000265126 ], [ -122.698698000295735, 38.318015000618999 ], [ -122.698844999744225, 38.318147000366935 ], [ -122.698967999651714, 38.31825800077182 ], [ -122.699697999798971, 38.318915000945502 ], [ -122.699997999430323, 38.319015000363585 ], [ -122.700069999710877, 38.319082000484521 ], [ -122.700424999628851, 38.31941500041389 ], [ -122.700474000081442, 38.319462000745808 ], [ -122.701598000206943, 38.320515000744322 ], [ -122.701997999458357, 38.321015000640372 ], [ -122.702405000350339, 38.321589000407258 ], [ -122.70419800026545, 38.324114000885565 ], [ -122.704298000263378, 38.324314000582788 ], [ -122.705198000083485, 38.325214000338818 ], [ -122.703997999748054, 38.327014000880396 ], [ -122.703378000372325, 38.327070000997296 ], [ -122.702898000266003, 38.327114001109585 ], [ -122.703585999466696, 38.327643000604176 ], [ -122.7035949995837, 38.327658001004096 ], [ -122.704185000384015, 38.328079000986307 ], [ -122.700385000463925, 38.329594000279556 ], [ -122.697728000312608, 38.330654001104939 ], [ -122.697597999419884, 38.330414001129377 ], [ -122.697554000162768, 38.330326000915314 ], [ -122.696926000044925, 38.329457001077103 ], [ -122.696698000109791, 38.329514000675147 ], [ -122.696011999400696, 38.329943000250211 ], [ -122.695898000382059, 38.330014000616217 ], [ -122.6954980005045, 38.330114000363295 ], [ -122.694097999783622, 38.330814000883493 ], [ -122.693703000284401, 38.33096200105161 ], [ -122.693297999645807, 38.331114000452082 ], [ -122.692698000231303, 38.331354000759774 ], [ -122.692298000330652, 38.331514001052319 ], [ -122.691397999450388, 38.331814000968528 ], [ -122.689798000166959, 38.328914001095789 ], [ -122.689397999459828, 38.32841400088008 ], [ -122.688379999882784, 38.326779000770038 ], [ -122.68713499963485, 38.324778000366834 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1338, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.704098000290983, 38.307815001059488 ], [ -122.704797999951055, 38.307515000799675 ], [ -122.706069000189032, 38.305608000624829 ], [ -122.706340999839171, 38.305201000421199 ], [ -122.706398000505203, 38.305115000751272 ], [ -122.707212000475252, 38.304518000630885 ], [ -122.707347999893514, 38.304419000771937 ], [ -122.707842999445305, 38.304056001007396 ], [ -122.707897999604398, 38.30401500085226 ], [ -122.708297999583664, 38.303615000938372 ], [ -122.712752999416836, 38.309069000497502 ], [ -122.713526999606714, 38.310015000524601 ], [ -122.714349000512598, 38.311200001082462 ], [ -122.714719999509796, 38.312365000684942 ], [ -122.715091999693755, 38.314091001057704 ], [ -122.715145000073932, 38.314922000958624 ], [ -122.715027999686541, 38.3157870007254 ], [ -122.714497999673071, 38.318015000458686 ], [ -122.714298000331084, 38.31901500073787 ], [ -122.71390899963572, 38.321315000919363 ], [ -122.71319799987468, 38.32551400062777 ], [ -122.712953999500527, 38.327222000659233 ], [ -122.712811999516887, 38.328214000532874 ], [ -122.71279800036487, 38.328314000840784 ], [ -122.712818000428939, 38.32871700090994 ], [ -122.712794999868464, 38.331303000634946 ], [ -122.712784000382754, 38.333792000634475 ], [ -122.712818000226534, 38.334312000619661 ], [ -122.712798000019433, 38.3370140005431 ], [ -122.712098000151244, 38.335914000642063 ], [ -122.710514999453906, 38.335281000769989 ], [ -122.710097999850973, 38.335114000937452 ], [ -122.709991999516504, 38.335014000902945 ], [ -122.709901999750556, 38.334929000865699 ], [ -122.709504999452875, 38.334554000803507 ], [ -122.708297999409652, 38.33341400024716 ], [ -122.707097999534923, 38.333914000884349 ], [ -122.705798000128667, 38.332214000737885 ], [ -122.706007999598711, 38.331793000265947 ], [ -122.706198000050463, 38.331414000969545 ], [ -122.706497999423704, 38.331514000763882 ], [ -122.706198000440352, 38.33001400057767 ], [ -122.705198000015869, 38.329014000825723 ], [ -122.70442900043173, 38.328304000664566 ], [ -122.704185000384015, 38.328079000986307 ], [ -122.7035949995837, 38.327658001004096 ], [ -122.703585999466696, 38.327643000604176 ], [ -122.702898000266003, 38.327114001109585 ], [ -122.703378000372325, 38.327070000997296 ], [ -122.703997999748054, 38.327014000880396 ], [ -122.705198000083485, 38.325214000338818 ], [ -122.704298000263378, 38.324314000582788 ], [ -122.70419800026545, 38.324114000885565 ], [ -122.702405000350339, 38.321589000407258 ], [ -122.701997999458357, 38.321015000640372 ], [ -122.701598000206943, 38.320515000744322 ], [ -122.700474000081442, 38.319462000745808 ], [ -122.700424999628851, 38.31941500041389 ], [ -122.700069999710877, 38.319082000484521 ], [ -122.699997999430323, 38.319015000363585 ], [ -122.699697999798971, 38.318915000945502 ], [ -122.698967999651714, 38.31825800077182 ], [ -122.698844999744225, 38.318147000366935 ], [ -122.698698000295735, 38.318015000618999 ], [ -122.697397999460776, 38.316915000265126 ], [ -122.69639799968958, 38.316015000837638 ], [ -122.694297999447187, 38.314215000317837 ], [ -122.695804999735714, 38.313036000852868 ], [ -122.696597999672079, 38.312415000281504 ], [ -122.697375999924915, 38.311817000248425 ], [ -122.697897999754829, 38.311415000741626 ], [ -122.698248999697569, 38.311123000567243 ], [ -122.698516000109834, 38.310900000436668 ], [ -122.69949999990223, 38.310080000282959 ], [ -122.699951999912386, 38.309704000350102 ], [ -122.700298000015351, 38.309415000296497 ], [ -122.700939000299527, 38.30915900073397 ], [ -122.701798000529834, 38.308815000746179 ], [ -122.704098000290983, 38.307815001059488 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1343, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.704755000463393, 38.336032000374431 ], [ -122.704301999547354, 38.336056000826218 ], [ -122.703986999734653, 38.336109000913702 ], [ -122.70369799970581, 38.336314000627354 ], [ -122.701498000503292, 38.338914000752212 ], [ -122.700498000165751, 38.339714000840061 ], [ -122.697576999943607, 38.341083000849828 ], [ -122.697298000013163, 38.34121400096415 ], [ -122.694982999737803, 38.337478000752412 ], [ -122.69359499956532, 38.335238000580588 ], [ -122.692898000119698, 38.334114000495731 ], [ -122.692692000416898, 38.333702000866687 ], [ -122.692663999912114, 38.333647000784886 ], [ -122.692498000174524, 38.333314000676999 ], [ -122.692097999435163, 38.332914000282059 ], [ -122.691397999450388, 38.331814000968528 ], [ -122.692298000330652, 38.331514001052319 ], [ -122.692698000231303, 38.331354000759774 ], [ -122.693297999645807, 38.331114000452082 ], [ -122.693703000284401, 38.33096200105161 ], [ -122.694097999783622, 38.330814000883493 ], [ -122.6954980005045, 38.330114000363295 ], [ -122.695898000382059, 38.330014000616217 ], [ -122.696011999400696, 38.329943000250211 ], [ -122.696698000109791, 38.329514000675147 ], [ -122.696926000044925, 38.329457001077103 ], [ -122.697554000162768, 38.330326000915314 ], [ -122.697597999419884, 38.330414001129377 ], [ -122.697728000312608, 38.330654001104939 ], [ -122.700385000463925, 38.329594000279556 ], [ -122.704185000384015, 38.328079000986307 ], [ -122.70442900043173, 38.328304000664566 ], [ -122.705198000015869, 38.329014000825723 ], [ -122.706198000440352, 38.33001400057767 ], [ -122.706497999423704, 38.331514000763882 ], [ -122.706198000050463, 38.331414000969545 ], [ -122.706007999598711, 38.331793000265947 ], [ -122.705798000128667, 38.332214000737885 ], [ -122.707097999534923, 38.333914000884349 ], [ -122.708297999409652, 38.33341400024716 ], [ -122.709504999452875, 38.334554000803507 ], [ -122.709901999750556, 38.334929000865699 ], [ -122.709991999516504, 38.335014000902945 ], [ -122.710097999850973, 38.335114000937452 ], [ -122.710514999453906, 38.335281000769989 ], [ -122.712098000151244, 38.335914000642063 ], [ -122.711697999901403, 38.336414000462192 ], [ -122.711262000207299, 38.336164001141476 ], [ -122.710925000459085, 38.336058000358257 ], [ -122.71051999949843, 38.336023000450879 ], [ -122.70938499942659, 38.336014000974792 ], [ -122.707698000238167, 38.336014000933218 ], [ -122.704755000463393, 38.336032000374431 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1345, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.696322999934139, 38.350714000509711 ], [ -122.695797999540986, 38.350714000585604 ], [ -122.694697999827468, 38.350714000507004 ], [ -122.694198000068894, 38.3507140008291 ], [ -122.692264999770131, 38.350714000730456 ], [ -122.692090000034398, 38.350714000969944 ], [ -122.691497999872666, 38.350714000510564 ], [ -122.691271000505552, 38.350710000927975 ], [ -122.690170999514379, 38.35069100094276 ], [ -122.689903000225456, 38.350687000325443 ], [ -122.68919699985716, 38.350675000434599 ], [ -122.688139999693092, 38.350657001103286 ], [ -122.687227000357709, 38.35064100044864 ], [ -122.687081999830482, 38.35063900039173 ], [ -122.685895999768817, 38.350619000784064 ], [ -122.68539299966973, 38.350604000466397 ], [ -122.685399999862781, 38.349310000966121 ], [ -122.685397000416387, 38.34801400065151 ], [ -122.685397000481359, 38.347314000990131 ], [ -122.685393000427013, 38.345635000292063 ], [ -122.685371999782291, 38.344506000873096 ], [ -122.685396999991084, 38.343414000443914 ], [ -122.687897999587889, 38.343363000749392 ], [ -122.68899199941977, 38.343341000737198 ], [ -122.692764000090548, 38.34326400080797 ], [ -122.695197999529753, 38.343214000972559 ], [ -122.698497999754835, 38.343114000655461 ], [ -122.699741999448136, 38.345161000463008 ], [ -122.701099000022026, 38.347393000428198 ], [ -122.701598000113592, 38.348214000967445 ], [ -122.703197999954099, 38.350714000494946 ], [ -122.702798000304739, 38.350714000358785 ], [ -122.701098000398048, 38.350714000776009 ], [ -122.700273000515239, 38.350714001121688 ], [ -122.698397999799909, 38.350714000718611 ], [ -122.697236000319592, 38.350714001052971 ], [ -122.696322999934139, 38.350714000509711 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1342, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.691397999450388, 38.331814000968528 ], [ -122.692097999435163, 38.332914000282059 ], [ -122.692498000174524, 38.333314000676999 ], [ -122.692663999912114, 38.333647000784886 ], [ -122.692692000416898, 38.333702000866687 ], [ -122.692898000119698, 38.334114000495731 ], [ -122.69359499956532, 38.335238000580588 ], [ -122.694982999737803, 38.337478000752412 ], [ -122.697298000013163, 38.34121400096415 ], [ -122.698497999754835, 38.343114000655461 ], [ -122.695197999529753, 38.343214000972559 ], [ -122.692764000090548, 38.34326400080797 ], [ -122.68899199941977, 38.343341000737198 ], [ -122.687897999587889, 38.343363000749392 ], [ -122.685396999991084, 38.343414000443914 ], [ -122.684482999779462, 38.343371001033077 ], [ -122.681096999528322, 38.343214000845151 ], [ -122.680496999852735, 38.3432140006976 ], [ -122.677197000062435, 38.343214000882966 ], [ -122.675797000007989, 38.343114000563737 ], [ -122.672496999387917, 38.343114000971866 ], [ -122.666797000330661, 38.342314001100085 ], [ -122.66669700013243, 38.341414000743576 ], [ -122.666696999887407, 38.33751400065556 ], [ -122.666696999844021, 38.336214000350779 ], [ -122.668696999465908, 38.336214000433053 ], [ -122.671074000432256, 38.33616100077851 ], [ -122.673197000177339, 38.336114001064217 ], [ -122.674696999770291, 38.336114000488458 ], [ -122.677121999535615, 38.336120000796605 ], [ -122.67722100001771, 38.33611900077458 ], [ -122.67848699982784, 38.336117000658071 ], [ -122.680407999491635, 38.336114000565509 ], [ -122.680478999788519, 38.336114000263755 ], [ -122.681734999593672, 38.336115001135809 ], [ -122.682975999610079, 38.336115000810942 ], [ -122.683997000438765, 38.336114000925868 ], [ -122.685403000030888, 38.336114000323875 ], [ -122.685977000006773, 38.335568000472847 ], [ -122.686293000356656, 38.335317000496296 ], [ -122.686892000405535, 38.334891000244419 ], [ -122.687797999515155, 38.334314000538107 ], [ -122.68939799954272, 38.333214001057648 ], [ -122.689481999546445, 38.333155000595305 ], [ -122.690397999978472, 38.332514000378168 ], [ -122.691397999450388, 38.331814000968528 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1340, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.689481999546445, 38.333155000595305 ], [ -122.68939799954272, 38.333214001057648 ], [ -122.687797999515155, 38.334314000538107 ], [ -122.686892000405535, 38.334891000244419 ], [ -122.686293000356656, 38.335317000496296 ], [ -122.685977000006773, 38.335568000472847 ], [ -122.685403000030888, 38.336114000323875 ], [ -122.683997000438765, 38.336114000925868 ], [ -122.682975999610079, 38.336115000810942 ], [ -122.681734999593672, 38.336115001135809 ], [ -122.680478999788519, 38.336114000263755 ], [ -122.680407999491635, 38.336114000565509 ], [ -122.67848699982784, 38.336117000658071 ], [ -122.67722100001771, 38.33611900077458 ], [ -122.677121999535615, 38.336120000796605 ], [ -122.674696999770291, 38.336114000488458 ], [ -122.673197000177339, 38.336114001064217 ], [ -122.671074000432256, 38.33616100077851 ], [ -122.668696999465908, 38.336214000433053 ], [ -122.666696999844021, 38.336214000350779 ], [ -122.666697000458271, 38.334714000405732 ], [ -122.666697000042745, 38.333414000380877 ], [ -122.666696999428865, 38.332414000580911 ], [ -122.666697000517047, 38.330014000553312 ], [ -122.666697000268613, 38.328814000619815 ], [ -122.66667800045866, 38.328096000462764 ], [ -122.666634999489233, 38.326485000739702 ], [ -122.666497000462442, 38.321314000382088 ], [ -122.666397000240735, 38.314214000887567 ], [ -122.680496999962656, 38.314215000319997 ], [ -122.680997000475202, 38.314215000329291 ], [ -122.683298000024848, 38.31861400084663 ], [ -122.684796000469788, 38.32102000102126 ], [ -122.685539000128003, 38.322214000762948 ], [ -122.686070000188067, 38.323067000451054 ], [ -122.686581999843156, 38.323890000555629 ], [ -122.68708199986429, 38.324693000311711 ], [ -122.68713499963485, 38.324778000366834 ], [ -122.688379999882784, 38.326779000770038 ], [ -122.689397999459828, 38.32841400088008 ], [ -122.689798000166959, 38.328914001095789 ], [ -122.691397999450388, 38.331814000968528 ], [ -122.690397999978472, 38.332514000378168 ], [ -122.689481999546445, 38.333155000595305 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1351, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.661896000090138, 38.441711000809605 ], [ -122.661695999978647, 38.441411000933613 ], [ -122.660996000435688, 38.440411000894862 ], [ -122.660196000157896, 38.439111000882527 ], [ -122.659395999851867, 38.43771100041873 ], [ -122.659195999593194, 38.437311000449071 ], [ -122.658393999868593, 38.435440000765809 ], [ -122.658296000473428, 38.435211000895357 ], [ -122.659096000217033, 38.434711000304468 ], [ -122.659295999468682, 38.434011000974188 ], [ -122.659396000010133, 38.433411001025434 ], [ -122.659696000003123, 38.432911000855455 ], [ -122.65989599953383, 38.432511001022235 ], [ -122.659645000043994, 38.431319001096632 ], [ -122.659495999637159, 38.430611000581592 ], [ -122.659896000476294, 38.430111000873978 ], [ -122.661296000146322, 38.429611000484307 ], [ -122.662095999405409, 38.429411000447182 ], [ -122.662696000043795, 38.428911000687876 ], [ -122.664496000423142, 38.430111000379235 ], [ -122.665096000386526, 38.431211000329114 ], [ -122.665396000259506, 38.430811000907681 ], [ -122.665895999693149, 38.431711000726651 ], [ -122.666395999435139, 38.431511000714799 ], [ -122.666768000128343, 38.431697000313825 ], [ -122.667995999659666, 38.432311000260654 ], [ -122.669195999737568, 38.432711001016244 ], [ -122.669545999589729, 38.432361000289376 ], [ -122.669895999486982, 38.43201100029313 ], [ -122.670896000448394, 38.432611001042851 ], [ -122.671495999985183, 38.432411000536241 ], [ -122.671942000089871, 38.433006000743312 ], [ -122.672096000395584, 38.433211000586716 ], [ -122.673802000515735, 38.433116000465851 ], [ -122.673897000278231, 38.433111000847269 ], [ -122.674697000329587, 38.434211000370482 ], [ -122.677097000226865, 38.434111000530642 ], [ -122.677577999948213, 38.43428700030416 ], [ -122.681197000105215, 38.435611000326247 ], [ -122.681496999424368, 38.435911000342813 ], [ -122.681701999602467, 38.436320000938188 ], [ -122.681796999773738, 38.436511000283183 ], [ -122.682397000478034, 38.436611000674183 ], [ -122.682396999801625, 38.437311000441838 ], [ -122.681897000437033, 38.437411000733228 ], [ -122.681136999591175, 38.437411000719464 ], [ -122.678996999390122, 38.437411000530282 ], [ -122.678168000484476, 38.43740200083009 ], [ -122.677272999401737, 38.437614000679922 ], [ -122.676545000472942, 38.437793000617432 ], [ -122.675966999950447, 38.437953000443244 ], [ -122.675547000338156, 38.438070000737405 ], [ -122.674996999676267, 38.438311000971559 ], [ -122.674097000279602, 38.438611000929619 ], [ -122.673096000237834, 38.439011000778535 ], [ -122.672495999960333, 38.439111000891444 ], [ -122.671496000015566, 38.439411000464219 ], [ -122.669395999828609, 38.440211000320424 ], [ -122.668695999704326, 38.440411000789993 ], [ -122.668395999413448, 38.440511000368957 ], [ -122.667795999802181, 38.440811000947512 ], [ -122.666496000471597, 38.441211000907892 ], [ -122.66549599977958, 38.441611000551667 ], [ -122.664696000469831, 38.44201100084031 ], [ -122.662895999924487, 38.443011001037419 ], [ -122.661896000090138, 38.441711000809605 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1353, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.648636999862944, 38.441289000864877 ], [ -122.648495999881135, 38.441811000620312 ], [ -122.648555000419037, 38.441868000298861 ], [ -122.648667000274727, 38.442127001078561 ], [ -122.64883100009321, 38.442257000433138 ], [ -122.648870999496097, 38.442386000791181 ], [ -122.64911599943548, 38.442614000263085 ], [ -122.649510999403873, 38.44285400070229 ], [ -122.649565999651017, 38.442940000808733 ], [ -122.649963999488094, 38.443394001076278 ], [ -122.650045000107326, 38.443556000819449 ], [ -122.650012000368591, 38.443685000814391 ], [ -122.649963999774684, 38.443877000678604 ], [ -122.649841000219624, 38.44394000050147 ], [ -122.649789999937497, 38.444294000535201 ], [ -122.649561999928991, 38.444590000637362 ], [ -122.649362999991453, 38.444839000243334 ], [ -122.648529999651359, 38.445594000451067 ], [ -122.648150999945628, 38.445875000838619 ], [ -122.64791599957249, 38.446048000990785 ], [ -122.64822800048492, 38.447183000287502 ], [ -122.648471000514633, 38.448039000938266 ], [ -122.649796000065436, 38.450611000890653 ], [ -122.64959599953491, 38.4508110002661 ], [ -122.650095999812649, 38.454311000721013 ], [ -122.649961000172439, 38.454402000623254 ], [ -122.649777999889665, 38.454501000284843 ], [ -122.649471999565208, 38.454707000822694 ], [ -122.649091000527761, 38.454890000416547 ], [ -122.648739999965457, 38.455012000672198 ], [ -122.648602999976319, 38.455020000909158 ], [ -122.648313000532752, 38.454959000740587 ], [ -122.648007999546806, 38.454859000622086 ], [ -122.647695999460481, 38.454811000461611 ], [ -122.646795999905052, 38.456511000385227 ], [ -122.648295999890749, 38.456211000969496 ], [ -122.648195999697506, 38.45651100028563 ], [ -122.648495999439575, 38.457710000378995 ], [ -122.648222999875884, 38.457655000824204 ], [ -122.647995999474162, 38.457610000848319 ], [ -122.646895999836076, 38.457311001015761 ], [ -122.646792000171459, 38.457285001081281 ], [ -122.646721999484441, 38.457267000930614 ], [ -122.646596000217784, 38.45723600032818 ], [ -122.646496000479843, 38.45721100082995 ], [ -122.63849499999202, 38.457010000594337 ], [ -122.638095000221782, 38.456910000582042 ], [ -122.637894999848356, 38.45671000039107 ], [ -122.637295000413616, 38.455910000864591 ], [ -122.636295000447433, 38.455910001020889 ], [ -122.630394999903757, 38.456910000717585 ], [ -122.629895000487153, 38.457110000756167 ], [ -122.627695000375383, 38.458610000960299 ], [ -122.626095000020257, 38.460210000876081 ], [ -122.623446000172791, 38.462953000304772 ], [ -122.623294999490682, 38.463110000260727 ], [ -122.622995000138388, 38.464810000299146 ], [ -122.62169499942793, 38.465610000640574 ], [ -122.621595000212722, 38.466310001000657 ], [ -122.621694999727666, 38.46691000055732 ], [ -122.618894999627585, 38.469310000312568 ], [ -122.617259000334954, 38.471523000706334 ], [ -122.617194999901102, 38.471610001050735 ], [ -122.616294999519084, 38.472610000939945 ], [ -122.61349499980912, 38.473910001116252 ], [ -122.611594999402598, 38.47321000055544 ], [ -122.608293999451163, 38.473810000624297 ], [ -122.608293999767824, 38.475210000351538 ], [ -122.595643000473729, 38.478394000651832 ], [ -122.593593999524458, 38.478910000676471 ], [ -122.592733000109462, 38.478982001032477 ], [ -122.587593999747938, 38.479410000791496 ], [ -122.584793999934618, 38.479610000625087 ], [ -122.583894000201767, 38.478810000635917 ], [ -122.582973000367559, 38.478784000496972 ], [ -122.583109999389734, 38.477602000251593 ], [ -122.582851000301986, 38.477152000242768 ], [ -122.581080999739783, 38.477457000819165 ], [ -122.58065300031447, 38.478639000870189 ], [ -122.579813999689847, 38.4790360003487 ], [ -122.578684999719471, 38.478975000329449 ], [ -122.578196999554478, 38.479554000495071 ], [ -122.578653999980688, 38.480202000631103 ], [ -122.578577999671822, 38.480561001104483 ], [ -122.577234999420853, 38.480546000620912 ], [ -122.576854000157212, 38.480462001060367 ], [ -122.575845999992737, 38.480790000883999 ], [ -122.575392999874751, 38.480609000821097 ], [ -122.5745029994101, 38.480134000315161 ], [ -122.572107000266371, 38.48073600113036 ], [ -122.571908999437909, 38.481507001102869 ], [ -122.571023999512576, 38.484658000695603 ], [ -122.570826000371383, 38.485161001097175 ], [ -122.571008999600011, 38.486809000280182 ], [ -122.570230999452392, 38.487824001024023 ], [ -122.569741999614237, 38.488679000566762 ], [ -122.569292999865027, 38.488909000741501 ], [ -122.568978999956514, 38.489037000646938 ], [ -122.567957000121424, 38.490082000907435 ], [ -122.567893000327729, 38.490209001070376 ], [ -122.566706000232301, 38.491150000972738 ], [ -122.565210000171092, 38.49179900042698 ], [ -122.564829000143803, 38.492592000620121 ], [ -122.564737000279777, 38.493401000494046 ], [ -122.564092999723428, 38.494409000282239 ], [ -122.563943999749995, 38.494973001033202 ], [ -122.564263999953027, 38.495568000495439 ], [ -122.563119999404449, 38.49643000044226 ], [ -122.562524999914245, 38.497368000330667 ], [ -122.562570999623745, 38.497933000278728 ], [ -122.563317999623038, 38.498292000827384 ], [ -122.563195999645131, 38.498704000535625 ], [ -122.562937000180085, 38.499215001119246 ], [ -122.562993000260406, 38.500009000524436 ], [ -122.562921999573916, 38.500367000521486 ], [ -122.561701000327261, 38.503777000691763 ], [ -122.561364999929836, 38.504708001088112 ], [ -122.561654999869589, 38.505570001076663 ], [ -122.561547999479558, 38.506318000845262 ], [ -122.561425999775736, 38.507454000805446 ], [ -122.56180800053319, 38.507981000458336 ], [ -122.562432999741375, 38.508446001035864 ], [ -122.563104999765272, 38.508751000515225 ], [ -122.563714999819538, 38.509118000640377 ], [ -122.565592000509071, 38.509965000951802 ], [ -122.565760000160751, 38.510308001017485 ], [ -122.566155999908958, 38.510781001057559 ], [ -122.566308999955083, 38.510956000586468 ], [ -122.566248000141968, 38.51118500078357 ], [ -122.565621999445185, 38.511468000348465 ], [ -122.563287999792024, 38.512116001139582 ], [ -122.563073999950618, 38.512314000668205 ], [ -122.562800000163804, 38.51239800046735 ], [ -122.562128000011015, 38.512513000608251 ], [ -122.561379999514472, 38.512955001094497 ], [ -122.561152000236589, 38.512925001045019 ], [ -122.56070900043845, 38.513039000769972 ], [ -122.560494999823121, 38.513314000790004 ], [ -122.56006800052883, 38.513413000791999 ], [ -122.558389999955324, 38.514350000512941 ], [ -122.558085000097904, 38.51477000093643 ], [ -122.557444000187374, 38.515579000561978 ], [ -122.556405999565584, 38.516258000546976 ], [ -122.556024999554737, 38.516578000968273 ], [ -122.555892999875994, 38.516708001140429 ], [ -122.555734999414838, 38.516929000756008 ], [ -122.555078999921548, 38.517395000323923 ], [ -122.55315600053072, 38.517890000487178 ], [ -122.552484999836707, 38.517723000859675 ], [ -122.55062300024305, 38.518074000707855 ], [ -122.54801400010075, 38.519828000277194 ], [ -122.546392999637263, 38.521208000452489 ], [ -122.545861999764881, 38.520957001127869 ], [ -122.545007999464815, 38.520782000486705 ], [ -122.543892999443969, 38.519966000328289 ], [ -122.544335999563458, 38.519172000991809 ], [ -122.543496000461175, 38.518661000293399 ], [ -122.543557000484995, 38.518013000446594 ], [ -122.545282000455416, 38.516891000412969 ], [ -122.545298000505525, 38.516456000896518 ], [ -122.542871000354936, 38.515747000497306 ], [ -122.542168999491224, 38.514167000252606 ], [ -122.542367000288394, 38.513198000749597 ], [ -122.546320000043423, 38.512603001085267 ], [ -122.548807000086867, 38.511627000430941 ], [ -122.548426000343568, 38.510917000991618 ], [ -122.547219999700332, 38.510338001105559 ], [ -122.546106000415435, 38.508675000908475 ], [ -122.546396000333871, 38.507889000962237 ], [ -122.545527000429274, 38.506798000387853 ], [ -122.543160000395829, 38.507493001062592 ], [ -122.542657000375058, 38.507157000675797 ], [ -122.542962000104055, 38.506257000290177 ], [ -122.542392000339277, 38.505709000779049 ], [ -122.541557999706697, 38.505013000321291 ], [ -122.541237999496957, 38.504174000813151 ], [ -122.540062999639986, 38.503960000692757 ], [ -122.539591999919921, 38.503409000262145 ], [ -122.539506000217031, 38.503331000731919 ], [ -122.53879600038249, 38.502694000370056 ], [ -122.536050000260843, 38.502137000291313 ], [ -122.535561999420338, 38.501725000259562 ], [ -122.53560699951062, 38.501397000912768 ], [ -122.536491999464431, 38.500763000711459 ], [ -122.537192000511538, 38.499909001127008 ], [ -122.537498999871374, 38.499070001083439 ], [ -122.537819999627786, 38.498200000668305 ], [ -122.538201000130982, 38.497902001020954 ], [ -122.538644000080581, 38.498070000594957 ], [ -122.53931499944099, 38.498467000843583 ], [ -122.539895000045348, 38.498475000742424 ], [ -122.540338000468196, 38.498597000830571 ], [ -122.540491999562533, 38.498609000883377 ], [ -122.541252999730858, 38.498917001080109 ], [ -122.542030999555664, 38.499016000895146 ], [ -122.542839999560115, 38.498841001030719 ], [ -122.543405000112145, 38.498536000797621 ], [ -122.543922999975848, 38.498086000777072 ], [ -122.54442800041852, 38.497185001022594 ], [ -122.544703000478918, 38.496628000622167 ], [ -122.544901000178896, 38.496285001093881 ], [ -122.544733000042029, 38.495675000563018 ], [ -122.544488999697819, 38.495293000718029 ], [ -122.544015999664992, 38.49472900061194 ], [ -122.543405000288175, 38.494279000525964 ], [ -122.54289199972861, 38.493909000514186 ], [ -122.542397999711099, 38.49337800056616 ], [ -122.541726000125763, 38.492562000936502 ], [ -122.540977999815595, 38.491677000486796 ], [ -122.540749999422644, 38.490693000783892 ], [ -122.540459999952844, 38.489754000604272 ], [ -122.540413999804713, 38.489113000816651 ], [ -122.540535999534669, 38.488312000781718 ], [ -122.540002000437582, 38.48783900102854 ], [ -122.539492000209833, 38.487609000358617 ], [ -122.538787000173357, 38.486945000926312 ], [ -122.538223000091222, 38.486541000258818 ], [ -122.538008999674972, 38.485953001056927 ], [ -122.538008999678738, 38.48535100094908 ], [ -122.537810999736152, 38.48493900104679 ], [ -122.537438000411953, 38.484620000404171 ], [ -122.537164000425221, 38.484047001081308 ], [ -122.536797999769803, 38.483605001104792 ], [ -122.536552999393294, 38.482804000941279 ], [ -122.536080000387557, 38.482339000880913 ], [ -122.535287000321773, 38.481888000780927 ], [ -122.534340999988601, 38.481270000539766 ], [ -122.533531999973491, 38.480729000468742 ], [ -122.532617000425873, 38.479783001031159 ], [ -122.531869000192174, 38.479104000779195 ], [ -122.531395999907801, 38.478539000555841 ], [ -122.531060000433172, 38.47778400057274 ], [ -122.530862000381248, 38.477250000798726 ], [ -122.531335000487815, 38.476342000384761 ], [ -122.530994999624042, 38.475746000631638 ], [ -122.530846999943307, 38.475487000472747 ], [ -122.530480000425896, 38.474831001115447 ], [ -122.530053000045811, 38.474343000460138 ], [ -122.529625999690396, 38.473130000768521 ], [ -122.530023000119158, 38.472573000613082 ], [ -122.5296259996272, 38.471566000668005 ], [ -122.529778999693292, 38.470933000820622 ], [ -122.529686999733087, 38.469803000890813 ], [ -122.529591999388444, 38.469609000632119 ], [ -122.524803999918888, 38.470261000947168 ], [ -122.52431599950404, 38.4705280010999 ], [ -122.523705999699558, 38.470246000419522 ], [ -122.522636999483666, 38.470185000947396 ], [ -122.522012000031168, 38.470757000249577 ], [ -122.521330999793022, 38.471030000797299 ], [ -122.520992000452395, 38.471109000386903 ], [ -122.520317999512784, 38.47129100049704 ], [ -122.518761999645022, 38.470582001019075 ], [ -122.517175000450791, 38.47024600104114 ], [ -122.516244000462251, 38.470872000713108 ], [ -122.51552699964725, 38.47033000042039 ], [ -122.514595999980628, 38.469826000932002 ], [ -122.513817999402534, 38.469254001032347 ], [ -122.513252999491513, 38.46874300088777 ], [ -122.512521000252875, 38.468201000896542 ], [ -122.512291999903553, 38.468009001051499 ], [ -122.511116999592886, 38.467148000340508 ], [ -122.510491999542836, 38.467209000610751 ], [ -122.509727999582736, 38.467164000413788 ], [ -122.508798000506644, 38.467003000257911 ], [ -122.508292000116029, 38.466209000922284 ], [ -122.507057999387101, 38.465623001007835 ], [ -122.50673800001114, 38.465127000257873 ], [ -122.505990000002654, 38.464737001027721 ], [ -122.505821999627017, 38.464493000706767 ], [ -122.50609199963651, 38.464109000546088 ], [ -122.506707000319224, 38.4640580003203 ], [ -122.507652999686869, 38.464524000896745 ], [ -122.507988999422381, 38.464493000442353 ], [ -122.508191999543513, 38.46430900093678 ], [ -122.509992000418265, 38.462310000513014 ], [ -122.51004899951846, 38.462160000667872 ], [ -122.509347000276222, 38.461092000317016 ], [ -122.508843000322557, 38.460802000962239 ], [ -122.50856899976597, 38.459184000807582 ], [ -122.509378000493484, 38.458910000278841 ], [ -122.509727999979603, 38.458254000755112 ], [ -122.509468999664534, 38.457872000483057 ], [ -122.509192000197956, 38.457710001089517 ], [ -122.508705999484818, 38.457643001139722 ], [ -122.508081000130488, 38.457780000666041 ], [ -122.507691999623233, 38.457510001114265 ], [ -122.507286999649907, 38.457254000900228 ], [ -122.506142999530681, 38.457147000309824 ], [ -122.505090000271807, 38.457056000915962 ], [ -122.504449000316654, 38.457094000969214 ], [ -122.504066999692952, 38.457140001025586 ], [ -122.503502999549141, 38.456804000740661 ], [ -122.502984000255339, 38.45640700085815 ], [ -122.502342999747711, 38.456178000846606 ], [ -122.501549999525338, 38.455919000985382 ], [ -122.501090999993849, 38.456150000694215 ], [ -122.499491000059038, 38.455710000782254 ], [ -122.497291000233957, 38.455510000665825 ], [ -122.496846000302014, 38.455634000553118 ], [ -122.49547999969792, 38.453914000264085 ], [ -122.495275999457334, 38.4535430010068 ], [ -122.495091000067831, 38.452661000374732 ], [ -122.495343999401925, 38.45099900105054 ], [ -122.495802999489797, 38.448278000556151 ], [ -122.496473000302984, 38.446735000249852 ], [ -122.496993000011742, 38.444890000396761 ], [ -122.496992999977337, 38.444680000510296 ], [ -122.496843000310065, 38.444487000543674 ], [ -122.496610999887196, 38.444266000687563 ], [ -122.496063999703537, 38.443944000635227 ], [ -122.495989000160918, 38.443788000596278 ], [ -122.496379000236985, 38.44340000081052 ], [ -122.49644700035094, 38.442981000638447 ], [ -122.496728000262365, 38.441190000613631 ], [ -122.496728000276306, 38.440905000654112 ], [ -122.496920000462481, 38.440604000406154 ], [ -122.497364999838354, 38.440260000664949 ], [ -122.497937999955113, 38.440088001041794 ], [ -122.498520999799666, 38.439620000584029 ], [ -122.498745999880882, 38.439174000587442 ], [ -122.498930999605449, 38.438754000346741 ], [ -122.499929999746101, 38.437566000627129 ], [ -122.49989600036885, 38.437308000850571 ], [ -122.499821000441557, 38.436786000802705 ], [ -122.500100000218779, 38.436490000446646 ], [ -122.501091999601698, 38.436501000878181 ], [ -122.501184000501425, 38.437067000450369 ], [ -122.501397000067698, 38.436998000635981 ], [ -122.501717999692218, 38.436914000294216 ], [ -122.502160000373607, 38.436830000421672 ], [ -122.502740000077466, 38.436769000493598 ], [ -122.503533000061864, 38.436777000645698 ], [ -122.504192000217216, 38.436810000501616 ], [ -122.504327000320245, 38.436594000651759 ], [ -122.50438800027321, 38.436525000291404 ], [ -122.504510000032198, 38.436479000915305 ], [ -122.504692999786769, 38.436433000621349 ], [ -122.506433000299722, 38.4363110010665 ], [ -122.506508999737619, 38.436273000586915 ], [ -122.506692000126492, 38.435999000534451 ], [ -122.506768000335029, 38.435930000786492 ], [ -122.506890000450142, 38.435876000637521 ], [ -122.507028000278154, 38.435869000259231 ], [ -122.507149999622399, 38.435884000480343 ], [ -122.507257000089666, 38.435922000504377 ], [ -122.507347999623477, 38.435945000924264 ], [ -122.507592000523857, 38.435899001099955 ], [ -122.50779199954188, 38.435910000759378 ], [ -122.508324999696754, 38.435777001126908 ], [ -122.508462000464291, 38.435762001086957 ], [ -122.508630000297742, 38.435709000458907 ], [ -122.508766999654583, 38.43567000069131 ], [ -122.508874000013577, 38.435564000348911 ], [ -122.509027000136868, 38.435449000253143 ], [ -122.509148999422848, 38.435411000619702 ], [ -122.509240000378568, 38.435426000390251 ], [ -122.50933199990223, 38.435457000844664 ], [ -122.509439000032927, 38.435487000592161 ], [ -122.509560999896962, 38.435487000279203 ], [ -122.509743999723668, 38.435472001094404 ], [ -122.509895999919806, 38.435434000927238 ], [ -122.510186000418955, 38.435327000952249 ], [ -122.510292999917212, 38.435312000429022 ], [ -122.510414999982956, 38.435335000948747 ], [ -122.510522000222636, 38.435373000699705 ], [ -122.51069200028391, 38.435410000835368 ], [ -122.510780999454894, 38.435594000486113 ], [ -122.511055999807127, 38.435945000992781 ], [ -122.511117000394009, 38.436144000530909 ], [ -122.511223999554716, 38.436266001014758 ], [ -122.511376000350609, 38.436311000869296 ], [ -122.511482999599579, 38.436319000982628 ], [ -122.51159000001897, 38.43632700100315 ], [ -122.511787999701312, 38.436342000426393 ], [ -122.512628000473143, 38.43642600094006 ], [ -122.51271900007437, 38.436464000625783 ], [ -122.512826000065516, 38.436556000896758 ], [ -122.512886999466076, 38.436639000473733 ], [ -122.512947999767562, 38.437006000896233 ], [ -122.513070000508364, 38.4370970007555 ], [ -122.513223000197286, 38.437151000999961 ], [ -122.513390999647939, 38.437196000715012 ], [ -122.513939999583727, 38.4372880006608 ], [ -122.514192000252663, 38.437410000501664 ], [ -122.514549999867981, 38.437639000475805 ], [ -122.514992000504975, 38.437710000854572 ], [ -122.514992000271292, 38.437410000718891 ], [ -122.515191999924767, 38.437310000395023 ], [ -122.515527000153511, 38.436960000274937 ], [ -122.515634000115185, 38.436899000456592 ], [ -122.515891999419992, 38.436910000728339 ], [ -122.516183000137886, 38.436914000872598 ], [ -122.516441999630288, 38.437036000452515 ], [ -122.516592000382204, 38.437210000579626 ], [ -122.516792000397999, 38.437410000387956 ], [ -122.517266000424883, 38.437616000930092 ], [ -122.517938000285923, 38.437715000993144 ], [ -122.521629999388239, 38.437944000705279 ], [ -122.522744000008274, 38.438379000661719 ], [ -122.523323999780587, 38.439867000459984 ], [ -122.525888000215531, 38.440790000356458 ], [ -122.526834000317635, 38.441316000856332 ], [ -122.528222000515896, 38.441812000927754 ], [ -122.529183000290999, 38.442270001107339 ], [ -122.529885000329472, 38.442674000956814 ], [ -122.530525999885839, 38.442651000808887 ], [ -122.530892000254426, 38.442810000849335 ], [ -122.531303999469557, 38.442934000321976 ], [ -122.531991999750446, 38.442910000463762 ], [ -122.532791999571472, 38.443010000668181 ], [ -122.533471000530184, 38.442728000576132 ], [ -122.534997999785972, 38.44194900031016 ], [ -122.537394000036173, 38.441446000999107 ], [ -122.538793000034502, 38.441910001094392 ], [ -122.540247000492471, 38.441980000630807 ], [ -122.540566999444337, 38.442339000388507 ], [ -122.541407000098289, 38.442583001077423 ], [ -122.542582000031771, 38.442285000939023 ], [ -122.542916999736306, 38.441118000463248 ], [ -122.543024000136626, 38.440591000321568 ], [ -122.543511999538111, 38.440187000346008 ], [ -122.543893999534532, 38.439600000330536 ], [ -122.544581000406737, 38.438730000787977 ], [ -122.545800999405643, 38.438379000877056 ], [ -122.546492999919664, 38.437410000731298 ], [ -122.54665599956563, 38.437235000645053 ], [ -122.546824000444204, 38.437105000271472 ], [ -122.547021999618863, 38.436983000362133 ], [ -122.54717499971926, 38.436868000811842 ], [ -122.54725099971381, 38.43680000030902 ], [ -122.547393000205119, 38.436710000968127 ], [ -122.547555999433825, 38.436609000276214 ], [ -122.547677999543666, 38.436525000261533 ], [ -122.54777000047271, 38.436449000700748 ], [ -122.547906999947642, 38.43640300044158 ], [ -122.548059999970206, 38.436258000927175 ], [ -122.548365000297764, 38.436121000554202 ], [ -122.54860900017168, 38.435999000381806 ], [ -122.548959999450062, 38.435716001018399 ], [ -122.549204000514763, 38.435465000360217 ], [ -122.549296000345151, 38.435350000329898 ], [ -122.549493999639338, 38.435214000292831 ], [ -122.549659999807346, 38.435121001061532 ], [ -122.550012999390873, 38.43492400026593 ], [ -122.550408999884908, 38.43458000100275 ], [ -122.550790999888207, 38.434214000271531 ], [ -122.551263999533219, 38.433840000603212 ], [ -122.551592999454371, 38.433611000896221 ], [ -122.553192999859263, 38.433411000580378 ], [ -122.553431000108631, 38.433383000378718 ], [ -122.55359799979027, 38.433345000602657 ], [ -122.55378200043836, 38.433314001093336 ], [ -122.554026000118114, 38.433238000274969 ], [ -122.554193999895375, 38.433177000788952 ], [ -122.554392000235211, 38.433123000445718 ], [ -122.554606000215216, 38.433001000664959 ], [ -122.555693000125288, 38.432411000626423 ], [ -122.556009000481311, 38.43228400108265 ], [ -122.556344999411408, 38.432055000922496 ], [ -122.55651299970036, 38.431895000269577 ], [ -122.556666000154451, 38.431727001095489 ], [ -122.556848999758529, 38.431445000315648 ], [ -122.557062000403391, 38.431101000728958 ], [ -122.557092999403139, 38.43093400063325 ], [ -122.55716899985417, 38.430857000345981 ], [ -122.557291000088682, 38.430766000350395 ], [ -122.557427999793433, 38.430751000674185 ], [ -122.557595999687209, 38.430728000609392 ], [ -122.557718000058799, 38.430613000742618 ], [ -122.55788599953668, 38.430354001114452 ], [ -122.557962999899644, 38.43022400076201 ], [ -122.558207000357484, 38.430033000301208 ], [ -122.558313000200044, 38.429927000315551 ], [ -122.558497000417006, 38.429804000661299 ], [ -122.558694999906919, 38.429660000988086 ], [ -122.558892999659719, 38.429484000535837 ], [ -122.559121999850106, 38.429301000359892 ], [ -122.559397000460592, 38.429049000617916 ], [ -122.55960999967553, 38.428866000589416 ], [ -122.5597779999285, 38.428660000578539 ], [ -122.559793999728996, 38.428515000644985 ], [ -122.559763000132051, 38.428431000629182 ], [ -122.55965600035131, 38.428256000251473 ], [ -122.559580000044448, 38.428096000796465 ], [ -122.559609999587536, 38.427966001090461 ], [ -122.55968699944296, 38.427821000566034 ], [ -122.559792999813752, 38.427711000487086 ], [ -122.559869999505892, 38.427531001029749 ], [ -122.559946000196987, 38.427333000438253 ], [ -122.559976999547843, 38.427218000643478 ], [ -122.560052999933475, 38.426860000396772 ], [ -122.560021999687464, 38.426654000711771 ], [ -122.55991599948463, 38.426547000291301 ], [ -122.559748000172064, 38.42634800032431 ], [ -122.559748000425799, 38.426150000866429 ], [ -122.559670999994154, 38.425929000500581 ], [ -122.559580000504923, 38.425608000547307 ], [ -122.559580000472735, 38.425349000293942 ], [ -122.559641000145021, 38.425227000875218 ], [ -122.559641000077235, 38.425074001019254 ], [ -122.559579999515918, 38.4249830010613 ], [ -122.559457999831153, 38.424861000574531 ], [ -122.559503999922811, 38.424533001076256 ], [ -122.559580000525017, 38.424372001045533 ], [ -122.559692999455194, 38.424311000401843 ], [ -122.559793999836174, 38.424174000776475 ], [ -122.560068000487462, 38.42406000084739 ], [ -122.560267000147135, 38.42404400037136 ], [ -122.560449999386876, 38.424082000947699 ], [ -122.56060199941615, 38.424090000603755 ], [ -122.560754999807855, 38.424052001106574 ], [ -122.560891999485463, 38.423968000934067 ], [ -122.561045000349267, 38.423892000271636 ], [ -122.561350000168773, 38.423739000547997 ], [ -122.561503000316534, 38.423655000963592 ], [ -122.561730999461631, 38.423548000496098 ], [ -122.56215900038093, 38.423365000991225 ], [ -122.562388000375392, 38.423182000488602 ], [ -122.562571000438226, 38.422991000755069 ], [ -122.562707999497604, 38.422846000334204 ], [ -122.562966999868877, 38.42246500106554 ], [ -122.563074000120096, 38.422320000977436 ], [ -122.563212000522341, 38.422198000985453 ], [ -122.563516999401287, 38.422000000385488 ], [ -122.563912999810938, 38.421870000268463 ], [ -122.564187999754765, 38.421717000398253 ], [ -122.564324999796384, 38.42161800077676 ], [ -122.564523999730426, 38.421366000705284 ], [ -122.564676000008575, 38.421191000713279 ], [ -122.564706999729239, 38.4210080007336 ], [ -122.564752999574438, 38.420916000285906 ], [ -122.564737000327668, 38.420779000600632 ], [ -122.564736999661477, 38.420664000513625 ], [ -122.564752999790358, 38.420550000723551 ], [ -122.564722000123865, 38.420428001086968 ], [ -122.564693000342928, 38.420211000523352 ], [ -122.564631000043079, 38.420077000422872 ], [ -122.564523999397565, 38.419894000510077 ], [ -122.5644169997815, 38.419734000519512 ], [ -122.564112000318929, 38.41962700027829 ], [ -122.563851999553222, 38.419528001017042 ], [ -122.563607999689395, 38.419459001073221 ], [ -122.563470999983451, 38.419398001009604 ], [ -122.563180999864855, 38.41935200098083 ], [ -122.562860999471084, 38.419261000400212 ], [ -122.56263199993424, 38.419207001099792 ], [ -122.562356999558205, 38.419116000346882 ], [ -122.562081999992387, 38.419032000525753 ], [ -122.56197500050574, 38.41897400102016 ], [ -122.561898999557158, 38.418933000744687 ], [ -122.561715999983591, 38.418811000658309 ], [ -122.561518000052175, 38.418589000723323 ], [ -122.561349999432181, 38.418276000340768 ], [ -122.561242999740102, 38.418124000258508 ], [ -122.561091000191439, 38.41792600093617 ], [ -122.560967999416675, 38.417758000798862 ], [ -122.560830999675545, 38.417605000242311 ], [ -122.56078500041771, 38.417529001043725 ], [ -122.560662999545769, 38.417376000620578 ], [ -122.56054100043221, 38.417292001057902 ], [ -122.560296999922059, 38.417178000822709 ], [ -122.560114000514588, 38.417063000691904 ], [ -122.55980899996419, 38.416957000406661 ], [ -122.559458000242003, 38.416796000726293 ], [ -122.559213999663626, 38.416682000937548 ], [ -122.558892999677497, 38.416514000864353 ], [ -122.558592999906082, 38.416411001075154 ], [ -122.558175999456452, 38.416278000390918 ], [ -122.557351999869852, 38.416079001087333 ], [ -122.557061999867884, 38.415957000484958 ], [ -122.5567420004204, 38.415812001033245 ], [ -122.556314999449938, 38.415583000328432 ], [ -122.55603999969658, 38.415423000874902 ], [ -122.555703999403775, 38.415202000285881 ], [ -122.555393000342136, 38.414911000298538 ], [ -122.555109000365846, 38.414469000728985 ], [ -122.554789000014168, 38.413974000833612 ], [ -122.554254999681731, 38.413233000391017 ], [ -122.55378200011593, 38.412615001135308 ], [ -122.553693000015755, 38.412311000606337 ], [ -122.55362899956873, 38.412020000685338 ], [ -122.553674999703375, 38.411585000907806 ], [ -122.553792999529904, 38.410911000282582 ], [ -122.553766000131205, 38.410578001060109 ], [ -122.553675000406358, 38.410174000580383 ], [ -122.553662000219745, 38.410085000602244 ], [ -122.553567999901404, 38.409465001135814 ], [ -122.553536999950055, 38.409213000880008 ], [ -122.553582999567496, 38.409083001069021 ], [ -122.553721000283133, 38.40894600032474 ], [ -122.553843000021544, 38.408686000272233 ], [ -122.55391899963648, 38.408427001106695 ], [ -122.553979999756208, 38.408000000482716 ], [ -122.554162999466769, 38.407435000332462 ], [ -122.554162999947877, 38.407313000242645 ], [ -122.554086999498992, 38.407168000259702 ], [ -122.554026000314522, 38.407000000465615 ], [ -122.553812000126328, 38.406817000552131 ], [ -122.553431000220058, 38.406489001076103 ], [ -122.552649999968253, 38.406099000601351 ], [ -122.552591000327695, 38.406069000856426 ], [ -122.5516759994578, 38.405612001012564 ], [ -122.551202999697324, 38.405360001001029 ], [ -122.551192999451843, 38.405211000749425 ], [ -122.551293999808493, 38.404902000882878 ], [ -122.551507999390324, 38.404643000522697 ], [ -122.551721999984537, 38.404475000591631 ], [ -122.552041999906606, 38.404292000846439 ], [ -122.552347000119255, 38.404162000542804 ], [ -122.552607000455424, 38.40401700078727 ], [ -122.552911999761818, 38.403826000721345 ], [ -122.553141000445493, 38.40357500060162 ], [ -122.553278000087644, 38.40333800046789 ], [ -122.553384999498576, 38.403117000599025 ], [ -122.553491999507315, 38.402850000467538 ], [ -122.553583000011429, 38.402522000477376 ], [ -122.553614000433271, 38.402224000690438 ], [ -122.553536999945734, 38.401744000558644 ], [ -122.553400000404508, 38.401225000279219 ], [ -122.553093000291923, 38.400711000607544 ], [ -122.552972999635827, 38.400370000945465 ], [ -122.552941999628217, 38.400065001086709 ], [ -122.552865999546214, 38.399707000810899 ], [ -122.552881000043669, 38.399302001016146 ], [ -122.552880999990563, 38.39910400068873 ], [ -122.552819999568484, 38.398884000429561 ], [ -122.552729000459408, 38.398678000609436 ], [ -122.552692999982753, 38.398512000474206 ], [ -122.552546000117147, 38.398220000326297 ], [ -122.552439000454555, 38.397960001019463 ], [ -122.552439000209219, 38.397640000363197 ], [ -122.552438999904695, 38.397526001126984 ], [ -122.552453999488236, 38.397388001026336 ], [ -122.552437000467421, 38.39733300030062 ], [ -122.552393000086639, 38.397190001135293 ], [ -122.552316999547529, 38.396747000630256 ], [ -122.55210299944568, 38.396076000610385 ], [ -122.551992999781433, 38.395512000606772 ], [ -122.551752000381001, 38.395359000619507 ], [ -122.551630000161254, 38.395260000629349 ], [ -122.551416000384535, 38.395054000468569 ], [ -122.551370999905544, 38.394947000897368 ], [ -122.551347000071971, 38.394818000827534 ], [ -122.551325000452181, 38.39469500063727 ], [ -122.551293999737254, 38.394603000496886 ], [ -122.55118800047434, 38.394428000777673 ], [ -122.551049999961819, 38.394115000298761 ], [ -122.550958999656743, 38.393848000580846 ], [ -122.550989000400008, 38.393627000435536 ], [ -122.551003999597938, 38.393429000605501 ], [ -122.551094999425814, 38.393218000604193 ], [ -122.551171999953127, 38.393039000725167 ], [ -122.551370999558117, 38.392635000656391 ], [ -122.551614999653921, 38.392330000500444 ], [ -122.551859000460652, 38.391788000615449 ], [ -122.551995999609645, 38.39157500104065 ], [ -122.552088000085675, 38.39143000060443 ], [ -122.552210000453385, 38.391163000722152 ], [ -122.552349000130135, 38.39039000066704 ], [ -122.552408000049354, 38.390064001044067 ], [ -122.552468999546733, 38.389927001014421 ], [ -122.552423999740085, 38.389728000342608 ], [ -122.552285999801569, 38.389385000242839 ], [ -122.552102999838439, 38.389103000398869 ], [ -122.551950999844493, 38.388958001124564 ], [ -122.551614999741446, 38.388653000376479 ], [ -122.551110999983791, 38.38829400029946 ], [ -122.551049999994035, 38.388134000433155 ], [ -122.550898000312387, 38.387920000275855 ], [ -122.550836999707883, 38.387768000452809 ], [ -122.550820999887051, 38.387470000817125 ], [ -122.550806000032438, 38.386776000840698 ], [ -122.55085200017119, 38.386402000563407 ], [ -122.550927999819336, 38.386196000617232 ], [ -122.551034999882475, 38.386028000502336 ], [ -122.551203000486055, 38.385868000586974 ], [ -122.551279000338113, 38.385807001065295 ], [ -122.551447000268567, 38.38566900057485 ], [ -122.551675999777046, 38.385502001029913 ], [ -122.55198100007253, 38.385334000960562 ], [ -122.552240000083643, 38.385158000868536 ], [ -122.552407999511857, 38.384990000820785 ], [ -122.552468999732028, 38.384899000962676 ], [ -122.552546000282746, 38.384723000977395 ], [ -122.552590999455418, 38.384594001128427 ], [ -122.552591000230024, 38.384395000852898 ], [ -122.552392999534931, 38.383899000498602 ], [ -122.552331999951676, 38.383732000470843 ], [ -122.552255999900183, 38.38358700058798 ], [ -122.552164000077269, 38.383396000507858 ], [ -122.552134000044731, 38.383320000981804 ], [ -122.552026999483687, 38.382969000428574 ], [ -122.551965999964381, 38.382839000869943 ], [ -122.551950999959018, 38.382648001057994 ], [ -122.55192000041751, 38.38251900112671 ], [ -122.551904999810915, 38.382389000696328 ], [ -122.551890000276501, 38.382267000437942 ], [ -122.551904999626743, 38.382137001117812 ], [ -122.551889999591083, 38.381939000561225 ], [ -122.551905000301446, 38.381847000484228 ], [ -122.551873999859382, 38.381618000606714 ], [ -122.551904999771395, 38.381351000541947 ], [ -122.551919999652753, 38.381160000888094 ], [ -122.551993000047304, 38.380812000583404 ], [ -122.552393000000166, 38.380977000824252 ], [ -122.55309899950646, 38.381283000676298 ], [ -122.554208999718526, 38.381763000669139 ], [ -122.554544999977239, 38.381916000906806 ], [ -122.554773000455, 38.381992000363056 ], [ -122.554987000451703, 38.38215200077429 ], [ -122.555216000167832, 38.382381000506292 ], [ -122.555612999508284, 38.382740000361451 ], [ -122.555963999755917, 38.382992000657993 ], [ -122.5563150002383, 38.383205000298055 ], [ -122.556558999460009, 38.383281000951541 ], [ -122.556909999748314, 38.383381000541441 ], [ -122.557627000517101, 38.383564001101171 ], [ -122.558114999487046, 38.383724001121251 ], [ -122.558528000402006, 38.383861000428944 ], [ -122.55895500024333, 38.384067000950608 ], [ -122.559290999535392, 38.384243000340966 ], [ -122.55953500035956, 38.384418000648715 ], [ -122.560193999788623, 38.385112000763286 ], [ -122.560511999932899, 38.385357000764991 ], [ -122.56076399975899, 38.385510000754039 ], [ -122.561033999671665, 38.385675000717754 ], [ -122.561093999712313, 38.385712000744952 ], [ -122.561472999733496, 38.385998000599066 ], [ -122.561580000358461, 38.386142001030706 ], [ -122.561671000082896, 38.386348000750644 ], [ -122.561823999568858, 38.38652400058298 ], [ -122.561930999472949, 38.386608000765413 ], [ -122.562068000382013, 38.386669001030413 ], [ -122.562372999703214, 38.386753000418018 ], [ -122.562758000270932, 38.386867000891087 ], [ -122.563089999904321, 38.386966000864632 ], [ -122.563395999852048, 38.387027000272091 ], [ -122.563547999685198, 38.387050000469486 ], [ -122.563715999864911, 38.387066000729277 ], [ -122.563808000148668, 38.387050000290053 ], [ -122.56395999962632, 38.386997000599003 ], [ -122.564051999742176, 38.386944001099714 ], [ -122.564188999765406, 38.386905000824406 ], [ -122.564371999405864, 38.38682100106719 ], [ -122.564525000406746, 38.38674500060673 ], [ -122.564654000498322, 38.386728000498998 ], [ -122.564753999584113, 38.3867150003571 ], [ -122.565093999776323, 38.386712000347885 ], [ -122.565180999642294, 38.386890000389073 ], [ -122.565293999703442, 38.387012000965491 ], [ -122.565654000036204, 38.3869740005469 ], [ -122.565994000200021, 38.386912001071764 ], [ -122.566156999458471, 38.387005000666726 ], [ -122.566325000107554, 38.387035000416098 ], [ -122.566614999723427, 38.387150000293296 ], [ -122.566904999967235, 38.387295000315966 ], [ -122.567347999854562, 38.387417000990212 ], [ -122.567499999441438, 38.387470000530548 ], [ -122.567805000447521, 38.38764500045567 ], [ -122.568018999645773, 38.387745000536555 ], [ -122.568323999715631, 38.387836000484761 ], [ -122.568598999414775, 38.387943000427747 ], [ -122.568949999650201, 38.388164001112081 ], [ -122.56925499982114, 38.388363000464231 ], [ -122.569635999755249, 38.388584000270079 ], [ -122.569820000017032, 38.388698000994516 ], [ -122.569986999537804, 38.388775000586264 ], [ -122.570154999971152, 38.388859000715541 ], [ -122.570369000257287, 38.388965000460765 ], [ -122.570582999549856, 38.389110000291637 ], [ -122.571467999879303, 38.389980000307283 ], [ -122.571741999889014, 38.390201000374113 ], [ -122.571925000139373, 38.390300000459995 ], [ -122.572107999771106, 38.390392000449602 ], [ -122.572443999814112, 38.390545000699809 ], [ -122.572641999388949, 38.390613000893062 ], [ -122.57305399946047, 38.390774000833389 ], [ -122.573206999520536, 38.39083500038263 ], [ -122.573343999627596, 38.390888000812694 ], [ -122.573527000357274, 38.390987001099916 ], [ -122.57360399962073, 38.391071000418535 ], [ -122.573848000179666, 38.391185000346013 ], [ -122.574045999453816, 38.391285000631356 ], [ -122.574274999717559, 38.391506000660293 ], [ -122.574488999455738, 38.391659000707619 ], [ -122.574611000510799, 38.391735000319777 ], [ -122.574747999998166, 38.39179600107213 ], [ -122.574915999747191, 38.391849000365944 ], [ -122.575038000291016, 38.391926000790839 ], [ -122.575571999731437, 38.392460000963212 ], [ -122.575740000258961, 38.392544000278043 ], [ -122.57586200028868, 38.392643000516024 ], [ -122.575968999779164, 38.392681001100613 ], [ -122.576136999523655, 38.392750000773781 ], [ -122.576366000395907, 38.392856000525775 ], [ -122.576610000287161, 38.393009000558266 ], [ -122.576732000096982, 38.393085000654288 ], [ -122.576961000166008, 38.393184000334884 ], [ -122.577051999462213, 38.393184000662998 ], [ -122.57717399978884, 38.393169001027267 ], [ -122.577388000192656, 38.39323800080389 ], [ -122.577631999545773, 38.393322001009402 ], [ -122.577814999612372, 38.393383000791296 ], [ -122.577982999704275, 38.393421001127273 ], [ -122.578120000430701, 38.393444000540214 ], [ -122.578303000428164, 38.393459001096929 ], [ -122.578487000203481, 38.393474000457054 ], [ -122.578623999572883, 38.393459000976463 ], [ -122.578792000322196, 38.393451000790805 ], [ -122.578989999846044, 38.393459000293241 ], [ -122.579341000359832, 38.393573000824404 ], [ -122.579661999831345, 38.393558000597736 ], [ -122.579859999484967, 38.393589000567722 ], [ -122.580119000205201, 38.393581001067751 ], [ -122.580256999904563, 38.393573000363638 ], [ -122.580591999427156, 38.39362700035754 ], [ -122.580774999964646, 38.393604000559456 ], [ -122.580896999474106, 38.393581000487359 ], [ -122.581095999510268, 38.393558000613083 ], [ -122.581308999404612, 38.393543001003671 ], [ -122.581446999975228, 38.393566001002782 ], [ -122.581629999844225, 38.393581000872736 ], [ -122.582027000410662, 38.393657000620294 ], [ -122.583490999494188, 38.393902000320132 ], [ -122.58379699992912, 38.393993000514882 ], [ -122.584314999988095, 38.394115000574878 ], [ -122.584651000516189, 38.39423700068027 ], [ -122.584788000490121, 38.394283000546785 ], [ -122.584864999938816, 38.39432900046436 ], [ -122.584987000175289, 38.394390001018571 ], [ -122.58503300029308, 38.394489001090875 ], [ -122.58510899994036, 38.394596000247496 ], [ -122.585185000486163, 38.394665001057035 ], [ -122.585261000222502, 38.394748000523265 ], [ -122.585398999432883, 38.394825000802413 ], [ -122.585550999637206, 38.394909000660427 ], [ -122.585796000209996, 38.39500000074306 ], [ -122.586084999850158, 38.395069000904286 ], [ -122.586481999759087, 38.395115000952281 ], [ -122.58729100041198, 38.395321000567264 ], [ -122.587733000354774, 38.395443000901359 ], [ -122.588298000363551, 38.395679000254539 ], [ -122.588480999684975, 38.395786000773668 ], [ -122.588892999802908, 38.396068001010605 ], [ -122.589259000104562, 38.39632800106353 ], [ -122.589579999936518, 38.396572000704467 ], [ -122.590250999812156, 38.396892000683792 ], [ -122.591294000216365, 38.39741200075877 ], [ -122.591443000352314, 38.397503000331973 ], [ -122.591437999496478, 38.399039001065908 ], [ -122.600662999763784, 38.40248700096604 ], [ -122.610895000289815, 38.406312000609802 ], [ -122.620830999909685, 38.410007001009355 ], [ -122.621364999460667, 38.410251001132487 ], [ -122.621868000267995, 38.410564000934563 ], [ -122.622708000189078, 38.411167000418516 ], [ -122.624004999570843, 38.412296000930738 ], [ -122.62476700001173, 38.413097000529689 ], [ -122.624890000483163, 38.413311000990078 ], [ -122.625072999465175, 38.413608001138854 ], [ -122.625195000231102, 38.413852000643132 ], [ -122.625331999579601, 38.414058001077869 ], [ -122.625485000443589, 38.414280000501698 ], [ -122.626095000428592, 38.414912000419434 ], [ -122.630275999407431, 38.420214000379595 ], [ -122.629049000310104, 38.420215000471146 ], [ -122.633876000412542, 38.426157000395648 ], [ -122.633984000522503, 38.426028000945465 ], [ -122.634410999610665, 38.425585000675845 ], [ -122.635067000408455, 38.42525000062485 ], [ -122.636060000358768, 38.425158000866396 ], [ -122.636609000046192, 38.425128000484676 ], [ -122.637479000221148, 38.425090000384891 ], [ -122.638119999719876, 38.425318000387314 ], [ -122.63829600026115, 38.42551100025473 ], [ -122.638944000343599, 38.425860000777163 ], [ -122.639080999477486, 38.426699001046813 ], [ -122.638912999983702, 38.427317000837164 ], [ -122.639035000082288, 38.428057000783589 ], [ -122.640148999778688, 38.428935000446728 ], [ -122.641294000441135, 38.429728001075333 ], [ -122.6419960004215, 38.431101000298611 ], [ -122.642240000222515, 38.431880000825906 ], [ -122.643063999653251, 38.432566001110139 ], [ -122.643506000221521, 38.433345000659614 ], [ -122.643934000331456, 38.433665001013665 ], [ -122.644879999868209, 38.433810000248712 ], [ -122.646207000431758, 38.434329000601494 ], [ -122.646403000432173, 38.43456400110918 ], [ -122.646894000088537, 38.4351530008501 ], [ -122.647152999856587, 38.436038000353442 ], [ -122.647247000468013, 38.436936001027789 ], [ -122.647339999718355, 38.437382000337337 ], [ -122.647380999875892, 38.437511000708668 ], [ -122.647626000219844, 38.437835000364522 ], [ -122.647820000483634, 38.438126000409575 ], [ -122.648023999693393, 38.438354000728474 ], [ -122.648146999497428, 38.438773000584781 ], [ -122.648177000225843, 38.438967000453523 ], [ -122.648135999707733, 38.439288000425343 ], [ -122.648198000524445, 38.440319001105628 ], [ -122.648237999649865, 38.440577000303001 ], [ -122.648292999493634, 38.440644000648348 ], [ -122.64839599980057, 38.440772000674251 ], [ -122.648476000324479, 38.440823000917405 ], [ -122.648605999568275, 38.440967000867559 ], [ -122.648636999862944, 38.441289000864877 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1359, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.679197000283281, 38.449311000565579 ], [ -122.678696999978357, 38.448511000267388 ], [ -122.678096999825712, 38.447811000661417 ], [ -122.677597000134028, 38.447011000909882 ], [ -122.677097000352376, 38.446411000842083 ], [ -122.676497000204847, 38.445811001017674 ], [ -122.67539700043622, 38.444211001100513 ], [ -122.674996999692695, 38.44371100035837 ], [ -122.678896999864904, 38.443311000872306 ], [ -122.680697000200226, 38.442011001099175 ], [ -122.682697000472231, 38.441611000918023 ], [ -122.685297000381397, 38.441111000412434 ], [ -122.687196999993191, 38.44111100050165 ], [ -122.686996999493644, 38.440611000911098 ], [ -122.686996999763807, 38.438711000932543 ], [ -122.687096999636367, 38.438311000411105 ], [ -122.687097000003234, 38.437711000912465 ], [ -122.687096999848166, 38.437311000911116 ], [ -122.687117999487583, 38.437183000886144 ], [ -122.687175000222311, 38.436844000681788 ], [ -122.687196999680893, 38.436711000630559 ], [ -122.69019700003571, 38.435911000766922 ], [ -122.691636999495444, 38.435431000682996 ], [ -122.692596999629799, 38.435111000672208 ], [ -122.696096999918311, 38.434311000945868 ], [ -122.697987000301453, 38.434034000864273 ], [ -122.69929699965229, 38.433811000341016 ], [ -122.699497000143609, 38.434311000348522 ], [ -122.699696999988873, 38.434611000275105 ], [ -122.699797000297991, 38.434811000256182 ], [ -122.700496999644301, 38.436011000608097 ], [ -122.700996999662252, 38.436711000583514 ], [ -122.701397000183235, 38.437311001065979 ], [ -122.701396999614261, 38.43761100093424 ], [ -122.701997000401221, 38.438311000728007 ], [ -122.702197000278503, 38.43871100095955 ], [ -122.702796999895114, 38.440211001009878 ], [ -122.702096999754758, 38.440411001094212 ], [ -122.701596999891947, 38.440611000892318 ], [ -122.701297000401865, 38.440711000964356 ], [ -122.700796999987347, 38.440811000737824 ], [ -122.701596999406647, 38.442811000451925 ], [ -122.702696999964459, 38.442811001023081 ], [ -122.702396999998413, 38.444011001078394 ], [ -122.700096999761357, 38.444911000498827 ], [ -122.699796999981004, 38.446211000704196 ], [ -122.698996999481707, 38.447311000505501 ], [ -122.698096999539842, 38.447611000478453 ], [ -122.698068000245556, 38.448072000702346 ], [ -122.697996999977477, 38.449211000629624 ], [ -122.696496999684683, 38.450511000461475 ], [ -122.695974000525851, 38.450421000772522 ], [ -122.692959999903749, 38.44990000051844 ], [ -122.688397000476954, 38.449111000930607 ], [ -122.687896999406789, 38.446411000726854 ], [ -122.686196999486384, 38.446811000803137 ], [ -122.682596999573647, 38.447911000830665 ], [ -122.679197000283281, 38.449311000565579 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1366, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.679835000518494, 38.473749000441906 ], [ -122.679892999630098, 38.472767000672675 ], [ -122.679895999527929, 38.472710000774867 ], [ -122.679934000367311, 38.472289000623462 ], [ -122.679948999665385, 38.472123001016179 ], [ -122.67997999963508, 38.471782000486208 ], [ -122.679995999643609, 38.47161000060418 ], [ -122.680096000032393, 38.471210000328618 ], [ -122.680096000369076, 38.470910000515353 ], [ -122.680114000299881, 38.47074500037656 ], [ -122.68017399965251, 38.470203000839817 ], [ -122.680195999805264, 38.47001000094275 ], [ -122.680216000068086, 38.469868000709994 ], [ -122.680295999718794, 38.469310000483205 ], [ -122.680295999567292, 38.468810000319223 ], [ -122.680455999454949, 38.467480000574547 ], [ -122.680493000462363, 38.467173000813325 ], [ -122.680501999816855, 38.467099000466924 ], [ -122.680535000049005, 38.466826000711556 ], [ -122.680596999881018, 38.466310000686633 ], [ -122.680596999915679, 38.466113000487347 ], [ -122.680597000170479, 38.465661000568282 ], [ -122.6805969999415, 38.465410000435661 ], [ -122.680696999803175, 38.464711000317905 ], [ -122.680797000402706, 38.463911000822122 ], [ -122.680957000209048, 38.463710000588584 ], [ -122.681283999513496, 38.463302001067696 ], [ -122.681596999479765, 38.46291100093498 ], [ -122.681822999468707, 38.46240200094055 ], [ -122.681924000234517, 38.462174000875407 ], [ -122.682397000024494, 38.461111000542004 ], [ -122.682466999798038, 38.460953000763773 ], [ -122.68279699959794, 38.460211000767437 ], [ -122.683696999416568, 38.459311000405165 ], [ -122.683697000420821, 38.458211001096196 ], [ -122.683596999673043, 38.457411000667179 ], [ -122.683306999444369, 38.457089001058613 ], [ -122.682303999528088, 38.455975000872712 ], [ -122.681796999848771, 38.455411000836371 ], [ -122.680896999640311, 38.454311000793226 ], [ -122.680296999853553, 38.45481100042619 ], [ -122.678497000177714, 38.453011000516391 ], [ -122.677096999906283, 38.452511000807441 ], [ -122.678096999522211, 38.450911000766276 ], [ -122.679774000194953, 38.451079000360153 ], [ -122.680097000400494, 38.451111000833421 ], [ -122.683022000393393, 38.449616000869696 ], [ -122.684596999396518, 38.448811000905202 ], [ -122.686696999442631, 38.449511000768673 ], [ -122.688397000476954, 38.449111000930607 ], [ -122.68839700048062, 38.449511001038772 ], [ -122.687497000136133, 38.449911000490061 ], [ -122.686497000003016, 38.450711000341279 ], [ -122.684397000266088, 38.450211000599168 ], [ -122.684396999831037, 38.450711000591305 ], [ -122.684696999999673, 38.451011000777996 ], [ -122.68539700020871, 38.451511000622297 ], [ -122.685597000381151, 38.453311000671121 ], [ -122.68519699960089, 38.453611000714226 ], [ -122.685396999667873, 38.453811000678485 ], [ -122.687197000131206, 38.454311001021189 ], [ -122.686696999793895, 38.455311000857343 ], [ -122.686297000090619, 38.455411001107997 ], [ -122.68739700009813, 38.456411000543575 ], [ -122.689197000242032, 38.456811000801615 ], [ -122.689197000384809, 38.457911000508751 ], [ -122.689896999789426, 38.461011000746417 ], [ -122.690023000335074, 38.461313000922601 ], [ -122.690396999729387, 38.462211000699611 ], [ -122.690697000399894, 38.463111000982515 ], [ -122.690997000101376, 38.4637110010149 ], [ -122.690797000038998, 38.464511000583869 ], [ -122.68969700007402, 38.466011000404336 ], [ -122.688296999595366, 38.468510000341979 ], [ -122.688997000216887, 38.468310000331982 ], [ -122.689597000044543, 38.468310000985738 ], [ -122.689896999732198, 38.468510000920197 ], [ -122.691197000103386, 38.469010000647252 ], [ -122.6921969999363, 38.467810000674937 ], [ -122.692346000089657, 38.467562000976287 ], [ -122.692496999635026, 38.467311000771751 ], [ -122.692651000201906, 38.467080000790105 ], [ -122.692732000165506, 38.466958000380956 ], [ -122.692886999588154, 38.46672600054135 ], [ -122.693119000513391, 38.466378000424058 ], [ -122.693213999446158, 38.466236000515941 ], [ -122.693697000157357, 38.465511001036162 ], [ -122.693791999916016, 38.465352001010423 ], [ -122.693997000173894, 38.465011000321695 ], [ -122.694085000051729, 38.464901000672796 ], [ -122.694396999544523, 38.464511001037096 ], [ -122.694537000412183, 38.464558000453465 ], [ -122.694997000235659, 38.464711000583961 ], [ -122.695396999522373, 38.464911000824863 ], [ -122.696097000215175, 38.46521100032399 ], [ -122.696186000122452, 38.464901000335843 ], [ -122.696232999637132, 38.464662000882491 ], [ -122.696256000124407, 38.464459000422295 ], [ -122.696326999906404, 38.464330000628451 ], [ -122.696445000315677, 38.464219000895461 ], [ -122.696686999483305, 38.464179000878673 ], [ -122.696845000071903, 38.464256000549085 ], [ -122.696996999568981, 38.464411000920514 ], [ -122.698596999429512, 38.466011000639355 ], [ -122.699397000401802, 38.466211000851182 ], [ -122.69919699950232, 38.466611001124051 ], [ -122.698696999610434, 38.468511000899994 ], [ -122.69879699988914, 38.46911000095718 ], [ -122.69889699957416, 38.470010000313522 ], [ -122.699196999452752, 38.470310000449984 ], [ -122.700497000243914, 38.470810000608424 ], [ -122.700696999885352, 38.471410000659603 ], [ -122.701396999910642, 38.471510000478055 ], [ -122.701997000049886, 38.471510000748026 ], [ -122.702296999909336, 38.471610000758723 ], [ -122.702696999415068, 38.47161000091004 ], [ -122.703396999579198, 38.471710000497261 ], [ -122.704097000157162, 38.469011001042695 ], [ -122.704996999536817, 38.468811000325474 ], [ -122.707396999798803, 38.468311000507725 ], [ -122.710397000447486, 38.468511000618349 ], [ -122.711796999554039, 38.467911000249472 ], [ -122.712596999969477, 38.467611000754374 ], [ -122.71379699982586, 38.466511000304436 ], [ -122.714396999485828, 38.465611001028897 ], [ -122.715197999820248, 38.465411000267757 ], [ -122.71629799948316, 38.465211001093024 ], [ -122.718698000516127, 38.465111000971085 ], [ -122.719297999779087, 38.464911000322815 ], [ -122.721297999575654, 38.468511000548382 ], [ -122.721798000368111, 38.469111000660817 ], [ -122.721997999834755, 38.469411000665367 ], [ -122.722997999483681, 38.470311000574377 ], [ -122.725997999581281, 38.47291100103417 ], [ -122.726797999724852, 38.473411000648277 ], [ -122.727198000095512, 38.473711000945571 ], [ -122.727498000064585, 38.473911001018685 ], [ -122.728097999677857, 38.474411000328182 ], [ -122.729298000469953, 38.475011000879057 ], [ -122.729498000051194, 38.475111001122954 ], [ -122.730097999821211, 38.475411000703716 ], [ -122.730597999957354, 38.475611001023253 ], [ -122.733011999464239, 38.47976300090432 ], [ -122.733098000454774, 38.479910001027541 ], [ -122.733694000397549, 38.481010001117021 ], [ -122.733865000004087, 38.481326001095589 ], [ -122.734018999724071, 38.48161100101516 ], [ -122.734251000310337, 38.482038000786865 ], [ -122.734397999575137, 38.482310000512008 ], [ -122.734398000525516, 38.482510000524201 ], [ -122.735045000159175, 38.485007000282934 ], [ -122.735097999398121, 38.485210000350349 ], [ -122.735697999464023, 38.48731000041866 ], [ -122.736897999840053, 38.488310001117107 ], [ -122.737097999587363, 38.488410000838272 ], [ -122.737997999575171, 38.489110000278131 ], [ -122.741997999939628, 38.492110000465281 ], [ -122.741897999835061, 38.49581000109599 ], [ -122.74069800036807, 38.497510000344235 ], [ -122.740697999903574, 38.498410000353807 ], [ -122.740698000518904, 38.499310001128592 ], [ -122.740498000173687, 38.499910000798906 ], [ -122.740398000467053, 38.500210000482348 ], [ -122.738598000491791, 38.501410000975916 ], [ -122.735662000377843, 38.50311500106622 ], [ -122.73549800007963, 38.503210000485211 ], [ -122.735339999649568, 38.503295000784121 ], [ -122.731398000131122, 38.505410001126016 ], [ -122.729497999674436, 38.504910000517626 ], [ -122.727498000457516, 38.505410001087284 ], [ -122.724697999912166, 38.506110001142027 ], [ -122.724297999655931, 38.506610000284539 ], [ -122.719798000075428, 38.507510000642441 ], [ -122.718596999632425, 38.507810000378541 ], [ -122.718397000079364, 38.507810000892611 ], [ -122.717797000453771, 38.508110000346129 ], [ -122.717197000371598, 38.508810001109808 ], [ -122.716797000209567, 38.511010000463195 ], [ -122.716596999841911, 38.511010000592378 ], [ -122.711196999710012, 38.510910000337702 ], [ -122.710796999571684, 38.510910000955775 ], [ -122.709196999431398, 38.511010000500441 ], [ -122.707497000344489, 38.511110000621549 ], [ -122.705647999488434, 38.511151000553696 ], [ -122.704755999749153, 38.511171000596086 ], [ -122.704497000106755, 38.5112100005325 ], [ -122.704696999632944, 38.510410001036291 ], [ -122.704297000281102, 38.508810000365443 ], [ -122.704240000449047, 38.508806001058851 ], [ -122.702696999999844, 38.508710000528637 ], [ -122.702196999675778, 38.507110000650556 ], [ -122.701996999840318, 38.504610000400447 ], [ -122.702296999492049, 38.503610000716023 ], [ -122.701696999436066, 38.502210001002524 ], [ -122.699697000324974, 38.501910000527019 ], [ -122.694096999792563, 38.50141000085042 ], [ -122.692197000333593, 38.500610000720854 ], [ -122.688997000206001, 38.501110000729291 ], [ -122.687496999879215, 38.500810001121096 ], [ -122.686196000050856, 38.500910000353954 ], [ -122.686296000490557, 38.50021000024293 ], [ -122.686296000041963, 38.49991000097021 ], [ -122.685925000036207, 38.498610000696068 ], [ -122.68549599957025, 38.497110000751803 ], [ -122.68399600027071, 38.496610001096712 ], [ -122.683396000173275, 38.496410000898656 ], [ -122.682395999623211, 38.494510001003093 ], [ -122.680853999448388, 38.49177600113925 ], [ -122.680195999446042, 38.490610001072071 ], [ -122.679496000519293, 38.489210000700318 ], [ -122.676995999405676, 38.486910000385294 ], [ -122.677195999452579, 38.485110000604706 ], [ -122.676995999604216, 38.484810000827153 ], [ -122.676993999656801, 38.484742000661122 ], [ -122.676988999553018, 38.484612000542484 ], [ -122.676961000042056, 38.483851001036712 ], [ -122.676951000436247, 38.483594000891763 ], [ -122.676928000531404, 38.482983001110362 ], [ -122.676895999760404, 38.482110000270417 ], [ -122.67694900016852, 38.482099000254358 ], [ -122.677395999775712, 38.482010000967982 ], [ -122.677595000466184, 38.48145300107317 ], [ -122.677792999857743, 38.480899000868945 ], [ -122.677895999804434, 38.480610000255879 ], [ -122.677988000039647, 38.480058000801975 ], [ -122.678095999684857, 38.479410001123128 ], [ -122.678796000332156, 38.478510000355428 ], [ -122.678860999976365, 38.478336001107962 ], [ -122.679032000288586, 38.477881001142798 ], [ -122.679154999786689, 38.477553000880413 ], [ -122.679392999939367, 38.476918000620188 ], [ -122.679412000024854, 38.476867000684976 ], [ -122.679551000405638, 38.476496000878775 ], [ -122.679695999667942, 38.476110000364244 ], [ -122.679724999406716, 38.475610000770558 ], [ -122.679738000186205, 38.475392000303437 ], [ -122.679835000518494, 38.473749000441906 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1355, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.654995999411227, 38.477610001050472 ], [ -122.654596000320836, 38.476710000404658 ], [ -122.654396000452124, 38.474310001043705 ], [ -122.654195999701059, 38.473110000421805 ], [ -122.654195999659407, 38.472810000884714 ], [ -122.654095999858313, 38.472010000309432 ], [ -122.654995999441539, 38.471810001107713 ], [ -122.655195999602924, 38.472810000646632 ], [ -122.655496000028933, 38.474510000313842 ], [ -122.656295999617655, 38.474310000839267 ], [ -122.657196000093421, 38.474010000642096 ], [ -122.657796000476665, 38.473810000258489 ], [ -122.658295999876174, 38.473610000735128 ], [ -122.659195999432285, 38.473310000424782 ], [ -122.659896000383981, 38.4731100007468 ], [ -122.660896000396633, 38.472710000472148 ], [ -122.661196000525706, 38.473410000255598 ], [ -122.662396000410553, 38.47301000038896 ], [ -122.663571999818785, 38.472598000705126 ], [ -122.6643959999694, 38.472310000359037 ], [ -122.665095999877252, 38.472110001072274 ], [ -122.664895999780967, 38.471810000839561 ], [ -122.665572999462, 38.471584000449823 ], [ -122.665699999398115, 38.471542000473349 ], [ -122.665913000024531, 38.471471000358036 ], [ -122.666095999742922, 38.471410000733016 ], [ -122.666196999504422, 38.471374000286751 ], [ -122.666352999600861, 38.471318000761549 ], [ -122.667151999640737, 38.471033000882485 ], [ -122.667495999435801, 38.470910000459106 ], [ -122.667567999602355, 38.470891000826398 ], [ -122.668936000169552, 38.470526000678788 ], [ -122.668995999678543, 38.470510000639187 ], [ -122.66919399950126, 38.470765000605994 ], [ -122.669378999577106, 38.471002000542761 ], [ -122.669563999734223, 38.471240000527622 ], [ -122.669695999820135, 38.471410001089076 ], [ -122.669896000398211, 38.471710000389756 ], [ -122.669995999806304, 38.47191000105704 ], [ -122.670595999652036, 38.473010000867887 ], [ -122.671081000499456, 38.47381800040003 ], [ -122.67115199976098, 38.473937000417884 ], [ -122.67119599948343, 38.474010000566565 ], [ -122.671277999528002, 38.474144000539702 ], [ -122.67229600028169, 38.475810000829505 ], [ -122.672241999826483, 38.476518000661564 ], [ -122.672195999585057, 38.477110000584311 ], [ -122.672195999564735, 38.477510000439551 ], [ -122.672200000463619, 38.477586001024541 ], [ -122.672270000022493, 38.478773000713133 ], [ -122.672296000148464, 38.479210000392008 ], [ -122.672295999847464, 38.480363000305076 ], [ -122.672295999587945, 38.482110000844536 ], [ -122.668395999449842, 38.48211000025946 ], [ -122.667995999540182, 38.482110000945539 ], [ -122.667695999899038, 38.48211000101513 ], [ -122.667635999477923, 38.483969000878211 ], [ -122.667595999954798, 38.485210000416039 ], [ -122.667595999557719, 38.485910000454304 ], [ -122.659796000156931, 38.48611000054067 ], [ -122.659295999918271, 38.484510000562643 ], [ -122.659033000098702, 38.483808000570193 ], [ -122.658996000460249, 38.483710000524319 ], [ -122.658828999441198, 38.483412000750455 ], [ -122.658666000320849, 38.483121000384912 ], [ -122.658463999500455, 38.482761001027164 ], [ -122.65839500005913, 38.482638000672807 ], [ -122.658112000106883, 38.482132000590163 ], [ -122.657595999544071, 38.481210000694738 ], [ -122.656896000003883, 38.480310000734647 ], [ -122.655995999767384, 38.479010000935311 ], [ -122.655855000256537, 38.47878400065688 ], [ -122.655495999522998, 38.478210000382219 ], [ -122.654995999411227, 38.477610001050472 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1354, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.669797000259678, 38.584108001005156 ], [ -122.669112000507724, 38.584045000489468 ], [ -122.668195999626491, 38.58408300082273 ], [ -122.667066999485172, 38.584144000549124 ], [ -122.666197000216329, 38.58428100077365 ], [ -122.665997000308664, 38.584308000516693 ], [ -122.664838999410321, 38.584472000971438 ], [ -122.664045999888273, 38.584732000884259 ], [ -122.663434999824048, 38.585029001131723 ], [ -122.662474000002248, 38.585128000453508 ], [ -122.661177000440219, 38.584686000286318 ], [ -122.660996999552637, 38.584608000510002 ], [ -122.660505999705421, 38.58445700036949 ], [ -122.659832999407755, 38.584396000845409 ], [ -122.659709999885422, 38.584379000907575 ], [ -122.659559999698345, 38.584359000628645 ], [ -122.658993999718305, 38.584281000885809 ], [ -122.658184999450526, 38.584297001135198 ], [ -122.657636000096829, 38.584343000435595 ], [ -122.657145000098865, 38.584276001138164 ], [ -122.656567999546198, 38.584198000700511 ], [ -122.655881000484612, 38.583923000565598 ], [ -122.655561000065433, 38.583721000569994 ], [ -122.655423000508051, 38.58363300078863 ], [ -122.655296000124963, 38.583608000735751 ], [ -122.654798000109864, 38.583282000457466 ], [ -122.654186999451255, 38.582794000392518 ], [ -122.65377500012859, 38.582252000457558 ], [ -122.652967000431872, 38.581565000897335 ], [ -122.652081999670386, 38.581367000437048 ], [ -122.651104999401369, 38.581146000818215 ], [ -122.650341999760911, 38.581039000385026 ], [ -122.649853999989276, 38.581039000576219 ], [ -122.649095999984567, 38.581108000786351 ], [ -122.648297999717883, 38.581024000495376 ], [ -122.647656000075486, 38.580929000355368 ], [ -122.646954999596318, 38.580825000536798 ], [ -122.645474999390203, 38.581062000912468 ], [ -122.644345999861017, 38.581375000336919 ], [ -122.643476000232695, 38.582016000681875 ], [ -122.64266700030673, 38.58258000045214 ], [ -122.641645000487657, 38.582923001021776 ], [ -122.640316999737479, 38.583015000463526 ], [ -122.639035000011248, 38.582885000769124 ], [ -122.637861000254816, 38.582939000347444 ], [ -122.636456999977014, 38.582946000263938 ], [ -122.635769999768499, 38.582870000563872 ], [ -122.635395999984951, 38.582908000297145 ], [ -122.635099000518949, 38.582862000512364 ], [ -122.634896000127128, 38.582908000749697 ], [ -122.634595000243124, 38.582099000279769 ], [ -122.633954000379973, 38.581405000296137 ], [ -122.633114999468575, 38.580459001041319 ], [ -122.632137999663428, 38.580040000821498 ], [ -122.631405000404882, 38.579765000859013 ], [ -122.630992999586823, 38.57945200044081 ], [ -122.630495000034855, 38.579008000427521 ], [ -122.630794999603211, 38.577560000290497 ], [ -122.631191000440808, 38.576980001048909 ], [ -122.63132900032214, 38.576767000805582 ], [ -122.631602999841235, 38.57621000090991 ], [ -122.631206999662268, 38.575569000370756 ], [ -122.631404999415864, 38.574920000535379 ], [ -122.631923999970539, 38.574020001092322 ], [ -122.631816999937499, 38.573387000527255 ], [ -122.632274999927887, 38.57238000103186 ], [ -122.63216799978602, 38.57159400065661 ], [ -122.632092000054001, 38.570884000915513 ], [ -122.632075999796385, 38.569877000667674 ], [ -122.631831999499582, 38.569366000360212 ], [ -122.631694999402967, 38.56930800084865 ], [ -122.631451000068537, 38.569084000690466 ], [ -122.630977999631497, 38.569152000998464 ], [ -122.630717999940686, 38.569229000419114 ], [ -122.630594999727577, 38.569208001019888 ], [ -122.630337000051966, 38.569404001002155 ], [ -122.62993999967523, 38.569686000366119 ], [ -122.629594999792857, 38.569908000747709 ], [ -122.6294370000832, 38.570015000979026 ], [ -122.629054999746302, 38.570228000405912 ], [ -122.628795000497078, 38.570308001026575 ], [ -122.627742999983909, 38.570205000341161 ], [ -122.627495000201549, 38.570208000934457 ], [ -122.626919000284232, 38.570137000482752 ], [ -122.62679499986281, 38.57010800027961 ], [ -122.626353999613968, 38.569992000703031 ], [ -122.62609499972946, 38.569908000323728 ], [ -122.624737000351928, 38.568458000609176 ], [ -122.62276899941682, 38.567825000796766 ], [ -122.622035999428377, 38.566719001049563 ], [ -122.62040300005259, 38.565742000753659 ], [ -122.620281000064779, 38.565330000704364 ], [ -122.620677999999501, 38.56361300033717 ], [ -122.621441000411167, 38.563331000537154 ], [ -122.620995000433268, 38.56240800043706 ], [ -122.620846000330332, 38.560318000392471 ], [ -122.617495000471123, 38.559508000296589 ], [ -122.617213999758661, 38.559410001010228 ], [ -122.615032000513366, 38.558532000739724 ], [ -122.613490999627899, 38.558853000431405 ], [ -122.611079999726812, 38.558418001009336 ], [ -122.607600999734601, 38.55952400084292 ], [ -122.605495999834389, 38.558845001014532 ], [ -122.603281999510614, 38.558784000446956 ], [ -122.602693999689265, 38.557508000900405 ], [ -122.601526999431968, 38.557106000904064 ], [ -122.601053999839195, 38.556167001140096 ], [ -122.600229999840238, 38.555656001139234 ], [ -122.59827699954657, 38.555816000634159 ], [ -122.596979999675028, 38.55525900028551 ], [ -122.596064999571823, 38.555282000458561 ], [ -122.594798000289884, 38.554596000642007 ], [ -122.59354700024609, 38.553779000998091 ], [ -122.589427000098553, 38.552101000884527 ], [ -122.587656999483841, 38.552604000266101 ], [ -122.587427999771734, 38.551826000659453 ], [ -122.586329999902702, 38.551582000499018 ], [ -122.585795999388552, 38.550697000581579 ], [ -122.586100999957623, 38.549804000594634 ], [ -122.585078000176907, 38.549133000260078 ], [ -122.582148999579715, 38.549400000314357 ], [ -122.582285999828116, 38.548523000617315 ], [ -122.581393999544616, 38.547408000363724 ], [ -122.579707000074961, 38.546508000795136 ], [ -122.579494000149865, 38.546108000577121 ], [ -122.577193999394538, 38.54230800094232 ], [ -122.576212999637235, 38.542015001092189 ], [ -122.575235000335539, 38.540840001141014 ], [ -122.573998999418691, 38.540359000410774 ], [ -122.573617999676927, 38.538444000893762 ], [ -122.572320999981599, 38.53738400047601 ], [ -122.572374999741797, 38.537011001111878 ], [ -122.572473999531127, 38.536323000457401 ], [ -122.570855999981688, 38.53494200061003 ], [ -122.570809999725228, 38.533737000626225 ], [ -122.569818999463919, 38.533103000968978 ], [ -122.570092999460542, 38.53212700043612 ], [ -122.569849000033969, 38.529991000633444 ], [ -122.569472999447896, 38.529659000839921 ], [ -122.568673999868082, 38.528953000562595 ], [ -122.568506000160667, 38.528926000687676 ], [ -122.566628999615219, 38.528625000947187 ], [ -122.566354999838808, 38.527168000470823 ], [ -122.566488999450371, 38.526943000331372 ], [ -122.566889000504716, 38.526268000553003 ], [ -122.566645000400953, 38.525543000863372 ], [ -122.565058000143623, 38.52550500069519 ], [ -122.563608000047552, 38.525367001009336 ], [ -122.562693000491308, 38.526208000321731 ], [ -122.56189899939902, 38.526786000947098 ], [ -122.559426999560685, 38.526313000425404 ], [ -122.558593000137392, 38.525808000334855 ], [ -122.557139000456743, 38.525489000701306 ], [ -122.554422000052767, 38.52622900067518 ], [ -122.552697999886206, 38.525528000501467 ], [ -122.552108999482996, 38.524426000317142 ], [ -122.55199299968146, 38.524208000748274 ], [ -122.551049999929717, 38.522781000939993 ], [ -122.550623000045675, 38.522132000818516 ], [ -122.549051000377233, 38.522201000804344 ], [ -122.547175000220022, 38.521858000913703 ], [ -122.546392999637263, 38.521208000452489 ], [ -122.54801400010075, 38.519828000277194 ], [ -122.55062300024305, 38.518074000707855 ], [ -122.552484999836707, 38.517723000859675 ], [ -122.55315600053072, 38.517890000487178 ], [ -122.555078999921548, 38.517395000323923 ], [ -122.555734999414838, 38.516929000756008 ], [ -122.555892999875994, 38.516708001140429 ], [ -122.556024999554737, 38.516578000968273 ], [ -122.556405999565584, 38.516258000546976 ], [ -122.557444000187374, 38.515579000561978 ], [ -122.558085000097904, 38.51477000093643 ], [ -122.558389999955324, 38.514350000512941 ], [ -122.56006800052883, 38.513413000791999 ], [ -122.560494999823121, 38.513314000790004 ], [ -122.56070900043845, 38.513039000769972 ], [ -122.561152000236589, 38.512925001045019 ], [ -122.561379999514472, 38.512955001094497 ], [ -122.562128000011015, 38.512513000608251 ], [ -122.562800000163804, 38.51239800046735 ], [ -122.563073999950618, 38.512314000668205 ], [ -122.563287999792024, 38.512116001139582 ], [ -122.565621999445185, 38.511468000348465 ], [ -122.566248000141968, 38.51118500078357 ], [ -122.566308999955083, 38.510956000586468 ], [ -122.566155999908958, 38.510781001057559 ], [ -122.565760000160751, 38.510308001017485 ], [ -122.565592000509071, 38.509965000951802 ], [ -122.563714999819538, 38.509118000640377 ], [ -122.563104999765272, 38.508751000515225 ], [ -122.562432999741375, 38.508446001035864 ], [ -122.56180800053319, 38.507981000458336 ], [ -122.561425999775736, 38.507454000805446 ], [ -122.561547999479558, 38.506318000845262 ], [ -122.561654999869589, 38.505570001076663 ], [ -122.561364999929836, 38.504708001088112 ], [ -122.561701000327261, 38.503777000691763 ], [ -122.562921999573916, 38.500367000521486 ], [ -122.562993000260406, 38.500009000524436 ], [ -122.562937000180085, 38.499215001119246 ], [ -122.563195999645131, 38.498704000535625 ], [ -122.563317999623038, 38.498292000827384 ], [ -122.562570999623745, 38.497933000278728 ], [ -122.562524999914245, 38.497368000330667 ], [ -122.563119999404449, 38.49643000044226 ], [ -122.564263999953027, 38.495568000495439 ], [ -122.563943999749995, 38.494973001033202 ], [ -122.564092999723428, 38.494409000282239 ], [ -122.564737000279777, 38.493401000494046 ], [ -122.564829000143803, 38.492592000620121 ], [ -122.565210000171092, 38.49179900042698 ], [ -122.566706000232301, 38.491150000972738 ], [ -122.567893000327729, 38.490209001070376 ], [ -122.567957000121424, 38.490082000907435 ], [ -122.568978999956514, 38.489037000646938 ], [ -122.569292999865027, 38.488909000741501 ], [ -122.569741999614237, 38.488679000566762 ], [ -122.570230999452392, 38.487824001024023 ], [ -122.571008999600011, 38.486809000280182 ], [ -122.570826000371383, 38.485161001097175 ], [ -122.571023999512576, 38.484658000695603 ], [ -122.571908999437909, 38.481507001102869 ], [ -122.572107000266371, 38.48073600113036 ], [ -122.5745029994101, 38.480134000315161 ], [ -122.575392999874751, 38.480609000821097 ], [ -122.575845999992737, 38.480790000883999 ], [ -122.576854000157212, 38.480462001060367 ], [ -122.577234999420853, 38.480546000620912 ], [ -122.578577999671822, 38.480561001104483 ], [ -122.578653999980688, 38.480202000631103 ], [ -122.578196999554478, 38.479554000495071 ], [ -122.578684999719471, 38.478975000329449 ], [ -122.579813999689847, 38.4790360003487 ], [ -122.58065300031447, 38.478639000870189 ], [ -122.581080999739783, 38.477457000819165 ], [ -122.582851000301986, 38.477152000242768 ], [ -122.583109999389734, 38.477602000251593 ], [ -122.582973000367559, 38.478784000496972 ], [ -122.583894000201767, 38.478810000635917 ], [ -122.584793999934618, 38.479610000625087 ], [ -122.587593999747938, 38.479410000791496 ], [ -122.592733000109462, 38.478982001032477 ], [ -122.593593999524458, 38.478910000676471 ], [ -122.595643000473729, 38.478394000651832 ], [ -122.608293999767824, 38.475210000351538 ], [ -122.608293999451163, 38.473810000624297 ], [ -122.611594999402598, 38.47321000055544 ], [ -122.61349499980912, 38.473910001116252 ], [ -122.616294999519084, 38.472610000939945 ], [ -122.617194999901102, 38.471610001050735 ], [ -122.617259000334954, 38.471523000706334 ], [ -122.618894999627585, 38.469310000312568 ], [ -122.621694999727666, 38.46691000055732 ], [ -122.621595000212722, 38.466310001000657 ], [ -122.62169499942793, 38.465610000640574 ], [ -122.622995000138388, 38.464810000299146 ], [ -122.623294999490682, 38.463110000260727 ], [ -122.623446000172791, 38.462953000304772 ], [ -122.626095000020257, 38.460210000876081 ], [ -122.627695000375383, 38.458610000960299 ], [ -122.629895000487153, 38.457110000756167 ], [ -122.630394999903757, 38.456910000717585 ], [ -122.636295000447433, 38.455910001020889 ], [ -122.636995000038198, 38.45661000031928 ], [ -122.634205999475299, 38.458149001084173 ], [ -122.637094999403473, 38.459210001051119 ], [ -122.63739500049725, 38.459310000519032 ], [ -122.63786099943016, 38.459582001064248 ], [ -122.638249999578065, 38.459809000473413 ], [ -122.638594999423887, 38.460010000694936 ], [ -122.638989999966014, 38.460208000628199 ], [ -122.639395000405074, 38.460410000759985 ], [ -122.639574000331336, 38.460544000794656 ], [ -122.639794999753605, 38.460710000258224 ], [ -122.640071000245854, 38.460861000840133 ], [ -122.640894999578293, 38.461310000332844 ], [ -122.641188999589204, 38.461428000485135 ], [ -122.641395000282685, 38.461510001008094 ], [ -122.641694999655527, 38.461610000263043 ], [ -122.642097999537938, 38.461731000839663 ], [ -122.642695000257675, 38.461910001047862 ], [ -122.642867000490668, 38.46197900069869 ], [ -122.643112999642014, 38.462077000429041 ], [ -122.644221999544982, 38.462520000500852 ], [ -122.645442999836419, 38.463009000837872 ], [ -122.645822000320848, 38.46316000031802 ], [ -122.646695999906555, 38.463510000805165 ], [ -122.646836999462323, 38.463533000460579 ], [ -122.647295999636427, 38.463610000539788 ], [ -122.649430999993044, 38.4642500004826 ], [ -122.651295999815588, 38.464810000890608 ], [ -122.652744000046425, 38.464882001110105 ], [ -122.653296000230966, 38.464910001032358 ], [ -122.653496000043319, 38.467010000773904 ], [ -122.653695999780126, 38.469010000732624 ], [ -122.653966000316714, 38.471083001116014 ], [ -122.653996000038404, 38.47131000091963 ], [ -122.654095999858313, 38.472010000309432 ], [ -122.654195999659407, 38.472810000884714 ], [ -122.654195999701059, 38.473110000421805 ], [ -122.654396000452124, 38.474310001043705 ], [ -122.654596000320836, 38.476710000404658 ], [ -122.654995999411227, 38.477610001050472 ], [ -122.655495999522998, 38.478210000382219 ], [ -122.655855000256537, 38.47878400065688 ], [ -122.655995999767384, 38.479010000935311 ], [ -122.656896000003883, 38.480310000734647 ], [ -122.657595999544071, 38.481210000694738 ], [ -122.658112000106883, 38.482132000590163 ], [ -122.65839500005913, 38.482638000672807 ], [ -122.658463999500455, 38.482761001027164 ], [ -122.658666000320849, 38.483121000384912 ], [ -122.658828999441198, 38.483412000750455 ], [ -122.658996000460249, 38.483710000524319 ], [ -122.659033000098702, 38.483808000570193 ], [ -122.659295999918271, 38.484510000562643 ], [ -122.659796000156931, 38.48611000054067 ], [ -122.667595999557719, 38.485910000454304 ], [ -122.667595999954798, 38.485210000416039 ], [ -122.667635999477923, 38.483969000878211 ], [ -122.667695999899038, 38.48211000101513 ], [ -122.667995999540182, 38.482110000945539 ], [ -122.668395999449842, 38.48211000025946 ], [ -122.672295999587945, 38.482110000844536 ], [ -122.672465000280454, 38.482110000381745 ], [ -122.672596000407538, 38.482110000712666 ], [ -122.673195999757965, 38.482110000841118 ], [ -122.673396000308003, 38.482110000803893 ], [ -122.673456000474701, 38.482110000455805 ], [ -122.67482499990858, 38.482110000281821 ], [ -122.674875999820941, 38.482110000356407 ], [ -122.675511000444317, 38.482110001055972 ], [ -122.675731999687386, 38.482110001125044 ], [ -122.675801000110539, 38.482110001058928 ], [ -122.676895999760404, 38.482110000270417 ], [ -122.676928000531404, 38.482983001110362 ], [ -122.676951000436247, 38.483594000891763 ], [ -122.676961000042056, 38.483851001036712 ], [ -122.676988999553018, 38.484612000542484 ], [ -122.676993999656801, 38.484742000661122 ], [ -122.676995999604216, 38.484810000827153 ], [ -122.677195999452579, 38.485110000604706 ], [ -122.676995999405676, 38.486910000385294 ], [ -122.679496000519293, 38.489210000700318 ], [ -122.680195999446042, 38.490610001072071 ], [ -122.680853999448388, 38.49177600113925 ], [ -122.682395999623211, 38.494510001003093 ], [ -122.683396000173275, 38.496410000898656 ], [ -122.68399600027071, 38.496610001096712 ], [ -122.68549599957025, 38.497110000751803 ], [ -122.685925000036207, 38.498610000696068 ], [ -122.686296000041963, 38.49991000097021 ], [ -122.686296000490557, 38.50021000024293 ], [ -122.686196000050856, 38.500910000353954 ], [ -122.687496999879215, 38.500810001121096 ], [ -122.688997000206001, 38.501110000729291 ], [ -122.692197000333593, 38.500610000720854 ], [ -122.694096999792563, 38.50141000085042 ], [ -122.699697000324974, 38.501910000527019 ], [ -122.701696999436066, 38.502210001002524 ], [ -122.702296999492049, 38.503610000716023 ], [ -122.701996999840318, 38.504610000400447 ], [ -122.702196999675778, 38.507110000650556 ], [ -122.702696999999844, 38.508710000528637 ], [ -122.704240000449047, 38.508806001058851 ], [ -122.704297000281102, 38.508810000365443 ], [ -122.704696999632944, 38.510410001036291 ], [ -122.704497000106755, 38.5112100005325 ], [ -122.704755999749153, 38.511171000596086 ], [ -122.705647999488434, 38.511151000553696 ], [ -122.707497000344489, 38.511110000621549 ], [ -122.709196999431398, 38.511010000500441 ], [ -122.710796999571684, 38.510910000955775 ], [ -122.711196999710012, 38.510910000337702 ], [ -122.716596999841911, 38.511010000592378 ], [ -122.716797000209567, 38.511010000463195 ], [ -122.717197000371598, 38.508810001109808 ], [ -122.717797000453771, 38.508110000346129 ], [ -122.718397000079364, 38.507810000892611 ], [ -122.718596999632425, 38.507810000378541 ], [ -122.719798000075428, 38.507510000642441 ], [ -122.718696999747522, 38.508410000816625 ], [ -122.718097000207251, 38.509210000726014 ], [ -122.719397999445576, 38.511810001081315 ], [ -122.719147999986092, 38.512449000428639 ], [ -122.718498000450765, 38.514110000966717 ], [ -122.718583999863668, 38.514277000599222 ], [ -122.720298000209922, 38.517610000266735 ], [ -122.718198000388284, 38.521509000289107 ], [ -122.71959099958282, 38.523877000742573 ], [ -122.720426000504546, 38.525296000778617 ], [ -122.721639999390888, 38.527359000644594 ], [ -122.721892999734948, 38.527790000838699 ], [ -122.722198000526745, 38.52830900046105 ], [ -122.724598000239908, 38.529209000662874 ], [ -122.725055999801526, 38.529914000950455 ], [ -122.725898000305065, 38.531209000994984 ], [ -122.725198000409904, 38.534009000444641 ], [ -122.725697999900731, 38.536209001047204 ], [ -122.723916999677584, 38.537322001115562 ], [ -122.721698000225203, 38.538709001032153 ], [ -122.721252000139756, 38.539849001122349 ], [ -122.720798000226324, 38.541009000448611 ], [ -122.720697999621265, 38.54150900058508 ], [ -122.720198000171692, 38.542709000978228 ], [ -122.720240000526914, 38.543571001074113 ], [ -122.720498000203179, 38.548909001101421 ], [ -122.719998000122104, 38.54950900068021 ], [ -122.719914000255017, 38.549533000657021 ], [ -122.719298000288816, 38.549709001040874 ], [ -122.718443999602101, 38.549607000647676 ], [ -122.716903000234666, 38.549538000500498 ], [ -122.715300999926228, 38.549737000881109 ], [ -122.713790000300449, 38.549897000403263 ], [ -122.71319800048299, 38.549809001048558 ], [ -122.709852999977613, 38.548653000541535 ], [ -122.709060000344408, 38.548867000447366 ], [ -122.705383000011054, 38.550553000722694 ], [ -122.701934000228761, 38.55148400113913 ], [ -122.697310000216405, 38.554490000528176 ], [ -122.696752000102137, 38.555132000980301 ], [ -122.696648000292484, 38.555251001075618 ], [ -122.69648599943379, 38.555436000718636 ], [ -122.694997000480512, 38.556709000923298 ], [ -122.69347999976155, 38.557870000961259 ], [ -122.693098000426033, 38.558640001130847 ], [ -122.693004999437761, 38.558700000770962 ], [ -122.691846999816974, 38.559456001139871 ], [ -122.691191000019259, 38.559922000267747 ], [ -122.691008000131944, 38.5612110004408 ], [ -122.692096999387829, 38.562509000412582 ], [ -122.692198000040733, 38.562775000289392 ], [ -122.691907999585368, 38.563073000657475 ], [ -122.691098999579381, 38.563363000887101 ], [ -122.690687000465687, 38.563462000294564 ], [ -122.690382000271882, 38.563584000556915 ], [ -122.69007700036488, 38.563935000400193 ], [ -122.689345000265774, 38.563943000370919 ], [ -122.688413999524158, 38.563950000329044 ], [ -122.68720799949422, 38.564194000397663 ], [ -122.686812000218609, 38.564087001030892 ], [ -122.686033999801992, 38.563836001003622 ], [ -122.685197000353995, 38.563808000445 ], [ -122.684552999609679, 38.563797000689426 ], [ -122.684202000234677, 38.563835000589009 ], [ -122.683881999629691, 38.564079001054751 ], [ -122.683774999994242, 38.564315000397976 ], [ -122.683805999610414, 38.565055000835109 ], [ -122.683866999565609, 38.565841001026456 ], [ -122.683928000531424, 38.566604000667766 ], [ -122.683729000168711, 38.567504000379792 ], [ -122.683469999888203, 38.567787000624314 ], [ -122.682692000265902, 38.568100000482808 ], [ -122.682370999529979, 38.568306001128789 ], [ -122.682005000193826, 38.56877900043358 ], [ -122.681868000110512, 38.569038000539912 ], [ -122.681669999560469, 38.56943500105357 ], [ -122.68145600018056, 38.569778001072294 ], [ -122.681134999941662, 38.570091000323309 ], [ -122.680617000026302, 38.57030400050305 ], [ -122.679837999623516, 38.570152000338084 ], [ -122.678815999985218, 38.570365000801644 ], [ -122.67838899972385, 38.570091000317809 ], [ -122.678206000441392, 38.569870001020767 ], [ -122.678007000338496, 38.569694000248568 ], [ -122.677885000462311, 38.569648000837745 ], [ -122.677696999434048, 38.569708000667305 ], [ -122.677579999744367, 38.569809000271242 ], [ -122.677442999391616, 38.569976000729824 ], [ -122.677167999462796, 38.570312000856916 ], [ -122.676827000429881, 38.570571000826746 ], [ -122.676755999841603, 38.570625001082995 ], [ -122.676314000019758, 38.571060000485694 ], [ -122.675840999550843, 38.57141800042681 ], [ -122.675443999803747, 38.57144900104646 ], [ -122.675000999748747, 38.571487001091647 ], [ -122.674650000369724, 38.571510000617351 ], [ -122.674162000459859, 38.57170800098929 ], [ -122.67397899951672, 38.571800000382197 ], [ -122.673825999532838, 38.571952001082479 ], [ -122.673841999670373, 38.572471000875822 ], [ -122.674101000401066, 38.573051000954891 ], [ -122.6742299999393, 38.573377000891881 ], [ -122.6743300004497, 38.573631000756201 ], [ -122.674512999541776, 38.574096000910117 ], [ -122.674788000052445, 38.574173000347741 ], [ -122.675397999915702, 38.574646000424607 ], [ -122.675383000413206, 38.574974000388664 ], [ -122.675275999965223, 38.575271000764623 ], [ -122.674895000171333, 38.57593500033186 ], [ -122.674788000495838, 38.576393001031306 ], [ -122.674863999454061, 38.576538000428009 ], [ -122.675092999876171, 38.576705001053355 ], [ -122.675184999868733, 38.576759001130753 ], [ -122.675337000228126, 38.577034000712295 ], [ -122.675184999948343, 38.577484000393774 ], [ -122.675053999805286, 38.577771000828122 ], [ -122.674924999500888, 38.578056000588099 ], [ -122.674726999831577, 38.578605000863242 ], [ -122.674925000517703, 38.579040000269771 ], [ -122.675261000139329, 38.57949000058565 ], [ -122.675657999392243, 38.579917000973325 ], [ -122.675871000003369, 38.580131000871972 ], [ -122.676296999709947, 38.580508000726041 ], [ -122.676755999937512, 38.580841000877378 ], [ -122.677016000249139, 38.581153000284644 ], [ -122.677015999582522, 38.581672000674892 ], [ -122.676955000197907, 38.582107000618102 ], [ -122.676997000461796, 38.582308000578529 ], [ -122.675916999739542, 38.582222000503748 ], [ -122.674665999955579, 38.58223700089399 ], [ -122.67332299979374, 38.582290000503875 ], [ -122.672362000431107, 38.582458001085378 ], [ -122.671896999680158, 38.583008000325258 ], [ -122.671919000424751, 38.583335000899723 ], [ -122.671796999643433, 38.583508000465969 ], [ -122.67173600036179, 38.583656000575054 ], [ -122.67088199956234, 38.583931000579376 ], [ -122.670087999585022, 38.584030000245356 ], [ -122.669797000259678, 38.584108001005156 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1367, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.747757000011234, 38.504046001046106 ], [ -122.748298000186793, 38.504210001082214 ], [ -122.749997999455431, 38.506010000405468 ], [ -122.750498000514341, 38.506010000535241 ], [ -122.751098000511732, 38.506110000294996 ], [ -122.753497999567429, 38.506210000798767 ], [ -122.756998999808573, 38.50721000024933 ], [ -122.758998999838695, 38.506510000343447 ], [ -122.759299000006237, 38.508310000369768 ], [ -122.760198999772086, 38.508910000396057 ], [ -122.761000999561759, 38.509469000248302 ], [ -122.761978999760501, 38.510150000397097 ], [ -122.76349899944563, 38.511210000440144 ], [ -122.764640000086686, 38.511179000289992 ], [ -122.767198999893068, 38.511110000607893 ], [ -122.76795799941074, 38.511110001011971 ], [ -122.769698999921715, 38.511110000439245 ], [ -122.769975000382686, 38.511110000344225 ], [ -122.773198999668537, 38.51111000066399 ], [ -122.773798999907825, 38.51111000034512 ], [ -122.77422400027109, 38.511110000362564 ], [ -122.774600000026282, 38.511110000967676 ], [ -122.775355000058525, 38.511134000823553 ], [ -122.775591000451783, 38.511134000878357 ], [ -122.77595600047681, 38.511415000278554 ], [ -122.776199999482216, 38.511610001037823 ], [ -122.777397999962275, 38.512548000329659 ], [ -122.778499999946817, 38.513410000484299 ], [ -122.779334999898978, 38.514270000377607 ], [ -122.782302000140461, 38.51737500081483 ], [ -122.782376000423426, 38.517453001000362 ], [ -122.783646999589777, 38.51877800070698 ], [ -122.787800000020937, 38.523110000525662 ], [ -122.789114000453367, 38.524412000892539 ], [ -122.790300000161508, 38.525717000566019 ], [ -122.789099999847608, 38.525710000553723 ], [ -122.787851000339089, 38.52570900065723 ], [ -122.787464999926314, 38.525709000933553 ], [ -122.786901999876704, 38.525706000474528 ], [ -122.786288999975199, 38.525702000352794 ], [ -122.783730999526568, 38.525667000797014 ], [ -122.779299999936725, 38.525610000519386 ], [ -122.778999999729891, 38.525710000460684 ], [ -122.778460000389117, 38.525706000677275 ], [ -122.776740000504191, 38.525694000338177 ], [ -122.775378999922054, 38.52568400042032 ], [ -122.774698999396989, 38.525679000898293 ], [ -122.767713999953273, 38.5256290002445 ], [ -122.764999000471562, 38.525610000954323 ], [ -122.764998999469242, 38.52621000044531 ], [ -122.764998999971908, 38.527884000806218 ], [ -122.764999000361456, 38.529710000919216 ], [ -122.765099000346098, 38.531210000422661 ], [ -122.76760000029671, 38.536210000847468 ], [ -122.772099999459343, 38.540110001016231 ], [ -122.7742000004788, 38.540210000340238 ], [ -122.774279000217234, 38.541444000737371 ], [ -122.774356999711742, 38.542671001040425 ], [ -122.77450000032394, 38.544910000568848 ], [ -122.772200000357415, 38.546410000652585 ], [ -122.77199999992051, 38.546710000733761 ], [ -122.770299999629572, 38.546210000713415 ], [ -122.769900000265068, 38.546010000453379 ], [ -122.769699999778311, 38.545310000488001 ], [ -122.767699999751315, 38.544910000645132 ], [ -122.762399999856541, 38.547709000330769 ], [ -122.762499999715772, 38.548909001109593 ], [ -122.762034000093564, 38.549287001098634 ], [ -122.759536000060507, 38.551312000276397 ], [ -122.758798999397385, 38.551909000315035 ], [ -122.758399000423779, 38.552209000759781 ], [ -122.757998999751152, 38.553109000985657 ], [ -122.752598999732143, 38.554609000563204 ], [ -122.751298999920735, 38.5547090003409 ], [ -122.75016400036499, 38.554487000252664 ], [ -122.748781999445228, 38.554352000419023 ], [ -122.747313000353273, 38.554284001015297 ], [ -122.746145999442916, 38.554487001008809 ], [ -122.745152999471358, 38.554961000286212 ], [ -122.743986000356557, 38.555603000379932 ], [ -122.742171999752586, 38.555806000339082 ], [ -122.740531000472131, 38.555738001010397 ], [ -122.739105000337219, 38.555536000427658 ], [ -122.737766000417849, 38.555434000868871 ], [ -122.736893000055517, 38.55533600098412 ], [ -122.736493999400054, 38.555732000282816 ], [ -122.736586000339926, 38.556076000663452 ], [ -122.735533000142055, 38.556069000739207 ], [ -122.734727000117871, 38.556452000400085 ], [ -122.733262000423622, 38.557148000807437 ], [ -122.733099999577234, 38.556990000534029 ], [ -122.732107000468957, 38.556787000489727 ], [ -122.731098000324863, 38.55650900049276 ], [ -122.72989799947139, 38.556009000652075 ], [ -122.729698000173386, 38.555809000275374 ], [ -122.729586999563324, 38.555698000608189 ], [ -122.728798000366837, 38.554909000587308 ], [ -122.728512999888423, 38.554639000393173 ], [ -122.72798699982512, 38.554139000873512 ], [ -122.727325000132851, 38.553510000479136 ], [ -122.726798000007975, 38.553009000989753 ], [ -122.722498000262291, 38.549209000960914 ], [ -122.719998000122104, 38.54950900068021 ], [ -122.720498000203179, 38.548909001101421 ], [ -122.720240000526914, 38.543571001074113 ], [ -122.720198000171692, 38.542709000978228 ], [ -122.720697999621265, 38.54150900058508 ], [ -122.720798000226324, 38.541009000448611 ], [ -122.721252000139756, 38.539849001122349 ], [ -122.721698000225203, 38.538709001032153 ], [ -122.723916999677584, 38.537322001115562 ], [ -122.725697999900731, 38.536209001047204 ], [ -122.725198000409904, 38.534009000444641 ], [ -122.725898000305065, 38.531209000994984 ], [ -122.725055999801526, 38.529914000950455 ], [ -122.724598000239908, 38.529209000662874 ], [ -122.722198000526745, 38.52830900046105 ], [ -122.721892999734948, 38.527790000838699 ], [ -122.721639999390888, 38.527359000644594 ], [ -122.720426000504546, 38.525296000778617 ], [ -122.71959099958282, 38.523877000742573 ], [ -122.718198000388284, 38.521509000289107 ], [ -122.720298000209922, 38.517610000266735 ], [ -122.718583999863668, 38.514277000599222 ], [ -122.718498000450765, 38.514110000966717 ], [ -122.719147999986092, 38.512449000428639 ], [ -122.719397999445576, 38.511810001081315 ], [ -122.718097000207251, 38.509210000726014 ], [ -122.718696999747522, 38.508410000816625 ], [ -122.719798000075428, 38.507510000642441 ], [ -122.724297999655931, 38.506610000284539 ], [ -122.724697999912166, 38.506110001142027 ], [ -122.727498000457516, 38.505410001087284 ], [ -122.729497999674436, 38.504910000517626 ], [ -122.731398000131122, 38.505410001126016 ], [ -122.735339999649568, 38.503295000784121 ], [ -122.73549800007963, 38.503210000485211 ], [ -122.736198000363473, 38.503610000763409 ], [ -122.739997999644004, 38.503810001090955 ], [ -122.742217000294602, 38.503311000765649 ], [ -122.743401000431035, 38.503044001000212 ], [ -122.74399800045839, 38.5029100006183 ], [ -122.747757000011234, 38.504046001046106 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 430, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.94886900026944, 37.377940000940981 ], [ -121.948168999758522, 37.377840000794535 ], [ -121.947372999864982, 37.376082001048225 ], [ -121.946855999689106, 37.37494000029794 ], [ -121.946267999396994, 37.373640000450294 ], [ -121.948012999906425, 37.373834000861763 ], [ -121.948946000067707, 37.373938000814917 ], [ -121.950768999446893, 37.374140000707087 ], [ -121.959768999743474, 37.374040001030963 ], [ -121.960352999685199, 37.374047000581093 ], [ -121.960849999670614, 37.374053000253866 ], [ -121.962477000511328, 37.37407300112671 ], [ -121.963811000351612, 37.374089000272868 ], [ -121.965969000046115, 37.374040000563276 ], [ -121.966268999488619, 37.374040000400576 ], [ -121.966469000243833, 37.37404000078039 ], [ -121.968568999957526, 37.374040000943957 ], [ -121.968869000459378, 37.374140000460692 ], [ -121.970869000004555, 37.374140000878754 ], [ -121.972049999875281, 37.374140000727117 ], [ -121.972168999898983, 37.374140000314327 ], [ -121.973868999886292, 37.374141000759998 ], [ -121.975169000117091, 37.37414100055998 ], [ -121.97636900017784, 37.374541000302379 ], [ -121.976569000078442, 37.374641000736503 ], [ -121.977094000472121, 37.374941000284849 ], [ -121.977269999927984, 37.375041001050398 ], [ -121.977969999781209, 37.375441000303006 ], [ -121.977870000383547, 37.376440000850401 ], [ -121.977869999426431, 37.379940000550747 ], [ -121.977969999982477, 37.380840000761687 ], [ -121.978069999871636, 37.381640000854063 ], [ -121.978070000085765, 37.383640000549306 ], [ -121.978069999928479, 37.383840000300928 ], [ -121.978053000067888, 37.384219001122304 ], [ -121.977969999732821, 37.384646000525571 ], [ -121.977896000175633, 37.384896000963707 ], [ -121.977803999799917, 37.385068000970755 ], [ -121.97722600035047, 37.385520000781014 ], [ -121.976766000264476, 37.38541100076629 ], [ -121.975606999847088, 37.385172000460003 ], [ -121.972568999399201, 37.384340000789173 ], [ -121.969269000205756, 37.383240000656635 ], [ -121.968969000168713, 37.383240000986 ], [ -121.966568999634205, 37.382540001081324 ], [ -121.964569000220621, 37.382040000583892 ], [ -121.9640550000899, 37.381932000812405 ], [ -121.96405499975441, 37.381917000615665 ], [ -121.963902000264099, 37.381856000977656 ], [ -121.963568999593022, 37.381740000860965 ], [ -121.962268999626332, 37.381440000428107 ], [ -121.961969000029796, 37.381240000603924 ], [ -121.950669000072978, 37.378340000613029 ], [ -121.94886900026944, 37.377940000940981 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 433, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.956267999869723, 37.352141000808061 ], [ -121.957668999450163, 37.352141001086558 ], [ -121.959569000196154, 37.352141000844824 ], [ -121.959769000297271, 37.352141000466808 ], [ -121.959769000058031, 37.353141000999578 ], [ -121.959768999566222, 37.355541000528703 ], [ -121.959768999737818, 37.357041000435231 ], [ -121.959768999445444, 37.358741000239704 ], [ -121.959919999542009, 37.359335001002371 ], [ -121.959769000106661, 37.36074100079064 ], [ -121.95976900012829, 37.360830000834994 ], [ -121.959768999998957, 37.363241000999736 ], [ -121.952667999439655, 37.360141000996336 ], [ -121.947768000354571, 37.357941000491451 ], [ -121.943700999784539, 37.356266000458 ], [ -121.942668000319642, 37.355841000473738 ], [ -121.942768000136937, 37.355641001052895 ], [ -121.943368000221554, 37.355141000261973 ], [ -121.945168000375844, 37.355141001012896 ], [ -121.945268000335247, 37.356141001065005 ], [ -121.946867999934668, 37.355641001088451 ], [ -121.948168000519857, 37.355141000559641 ], [ -121.94926800035536, 37.354741001052517 ], [ -121.950567999995755, 37.354341001022199 ], [ -121.951768000494965, 37.353941000857773 ], [ -121.953616999889675, 37.35339200062127 ], [ -121.954151000251471, 37.353331000711805 ], [ -121.955468000014747, 37.353141001116711 ], [ -121.954967999687725, 37.35214100109603 ], [ -121.956267999869723, 37.352141000808061 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 435, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.909666999686294, 37.369140000287224 ], [ -121.909619999401798, 37.369102000769054 ], [ -121.909167000240842, 37.368740000790424 ], [ -121.908566999647164, 37.368340001115911 ], [ -121.904166999397802, 37.364940000839582 ], [ -121.902466999680001, 37.364140000512819 ], [ -121.901966999636869, 37.364040000903401 ], [ -121.902166999583443, 37.363740000365588 ], [ -121.903053000366342, 37.362499000560035 ], [ -121.903166999779302, 37.362340000824283 ], [ -121.904766999504773, 37.360740000239865 ], [ -121.90546699954443, 37.36004000045132 ], [ -121.906867000243935, 37.358740000241944 ], [ -121.907267000338692, 37.358240000776654 ], [ -121.908066999932203, 37.357440000577078 ], [ -121.90916699959466, 37.356340001025515 ], [ -121.911667000022618, 37.354041000410277 ], [ -121.916792999907273, 37.360967000471462 ], [ -121.918629999631975, 37.363449000917896 ], [ -121.919066999388107, 37.364040001052558 ], [ -121.921166999690172, 37.366140000428246 ], [ -121.924468000074299, 37.367940000959415 ], [ -121.924868000440398, 37.368240001027345 ], [ -121.92608299979922, 37.369556000708513 ], [ -121.927267999792008, 37.370840001076267 ], [ -121.927767999926928, 37.373540000979048 ], [ -121.923768000340388, 37.372740000496023 ], [ -121.922967999487142, 37.372540000952156 ], [ -121.922785999624438, 37.37251500026732 ], [ -121.922641000184527, 37.372495000842207 ], [ -121.917266999438169, 37.37164000076428 ], [ -121.916966999620996, 37.371540000566419 ], [ -121.91655600025355, 37.371463000838496 ], [ -121.91536700032006, 37.371240000382258 ], [ -121.91466399981573, 37.37098100057127 ], [ -121.909666999686294, 37.369140000287224 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 602, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.893183000342987, 37.370365000333365 ], [ -121.893407999825996, 37.370972000877735 ], [ -121.893765999443531, 37.371940000343514 ], [ -121.894065999679555, 37.372640000279908 ], [ -121.894367000161793, 37.373640000427486 ], [ -121.894949000124399, 37.374940000869536 ], [ -121.895035000299259, 37.375133001073834 ], [ -121.89521999969449, 37.375546000721911 ], [ -121.895411999442587, 37.376335000413384 ], [ -121.895413999712133, 37.376338000733789 ], [ -121.895590999537873, 37.376745000516578 ], [ -121.895666999879595, 37.376940000652233 ], [ -121.895766999453514, 37.377540000844775 ], [ -121.891265999926333, 37.376740000269095 ], [ -121.890950000063071, 37.376319000657581 ], [ -121.890680000155157, 37.37595800043038 ], [ -121.889915999396607, 37.37494000079419 ], [ -121.889766000374607, 37.374740001106694 ], [ -121.889666000215868, 37.37445700111423 ], [ -121.88962400030627, 37.374338001113017 ], [ -121.889166000279033, 37.373040000596838 ], [ -121.888309999448481, 37.372274001080953 ], [ -121.887265999487198, 37.37134000036869 ], [ -121.880766000473628, 37.367840001017889 ], [ -121.878420000135662, 37.366506000579875 ], [ -121.877443000469114, 37.365933000752158 ], [ -121.877365999849943, 37.365840000455734 ], [ -121.876368999890559, 37.364916000859623 ], [ -121.874665999709549, 37.363340000765277 ], [ -121.875522999697836, 37.362736000666153 ], [ -121.876331000066131, 37.362080000771734 ], [ -121.877565999854198, 37.361040000857443 ], [ -121.885361999721695, 37.362180000880706 ], [ -121.886065999894342, 37.362240000343554 ], [ -121.887765999534565, 37.362440000688913 ], [ -121.889165999396695, 37.362540000881552 ], [ -121.891565999968208, 37.362840000270864 ], [ -121.891665999719748, 37.363240000628679 ], [ -121.891666000217825, 37.363840001012925 ], [ -121.891817999665619, 37.364551000998503 ], [ -121.892094999512778, 37.366270000956966 ], [ -121.892103999632582, 37.36632700052877 ], [ -121.892117000293354, 37.36640500099459 ], [ -121.892204999579732, 37.366947001122227 ], [ -121.89226599959305, 37.367340000662963 ], [ -121.892365999738274, 37.368040001101235 ], [ -121.892511000241399, 37.368349000623574 ], [ -121.892640999479241, 37.368627000250434 ], [ -121.892722999397023, 37.369012001103641 ], [ -121.892717999878769, 37.369144000887708 ], [ -121.892766000240655, 37.369240000658756 ], [ -121.893054000026581, 37.37001700077424 ], [ -121.893183000342987, 37.370365000333365 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 608, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.880954999547583, 37.414168000562213 ], [ -121.880766999982427, 37.413739000854342 ], [ -121.881067000245793, 37.413645000597661 ], [ -121.882130999692862, 37.413323000956218 ], [ -121.881867000348819, 37.412839000423091 ], [ -121.881743999868448, 37.412610000283088 ], [ -121.881166999774592, 37.411539000842367 ], [ -121.883167000072092, 37.410839000744794 ], [ -121.883066999943523, 37.410539001105633 ], [ -121.882867000449309, 37.410339000551623 ], [ -121.884367000471073, 37.409739000577083 ], [ -121.884266999923142, 37.4093390005212 ], [ -121.889366999605471, 37.4077390009613 ], [ -121.890167000401235, 37.408239000400073 ], [ -121.891767000164592, 37.41093900072601 ], [ -121.893367000290354, 37.414039000640287 ], [ -121.902868000065155, 37.431339001119589 ], [ -121.903068000013576, 37.431639000572588 ], [ -121.902267999969098, 37.431639001085955 ], [ -121.900067999554565, 37.432138000667848 ], [ -121.898429000041091, 37.432455001064284 ], [ -121.897340999914405, 37.432719000643786 ], [ -121.894535000295505, 37.433208000729365 ], [ -121.893622000498169, 37.433424000418235 ], [ -121.893567000177967, 37.433438000610472 ], [ -121.892966999954993, 37.433538000387301 ], [ -121.892947000377035, 37.433543001129628 ], [ -121.892674999478587, 37.433616000961422 ], [ -121.892049999871219, 37.433841001070988 ], [ -121.890945999850899, 37.434074001019113 ], [ -121.890684000275414, 37.434134000937235 ], [ -121.889651999649928, 37.434274000753973 ], [ -121.888719000282506, 37.434482000458225 ], [ -121.888467000007552, 37.434538001011028 ], [ -121.888248999503176, 37.43399400039565 ], [ -121.887867000014623, 37.433038000467178 ], [ -121.887766999868077, 37.432838000258883 ], [ -121.887566999443806, 37.432538000582781 ], [ -121.885964999714105, 37.429902000492838 ], [ -121.885658000126753, 37.429397000318495 ], [ -121.8844669998265, 37.427438000384967 ], [ -121.883791000063354, 37.425280000965955 ], [ -121.881867000074735, 37.417339001117881 ], [ -121.880954999547583, 37.414168000562213 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 769, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.067973000432673, 37.56533500058238 ], [ -122.062628000497241, 37.571595000242915 ], [ -122.062373000043166, 37.571435000811654 ], [ -122.059473000130751, 37.569935000530307 ], [ -122.059172999992981, 37.569835000976525 ], [ -122.058872999851616, 37.568435000367735 ], [ -122.055472999506151, 37.566335000415904 ], [ -122.055410999951036, 37.566321000688617 ], [ -122.055235000525485, 37.56628100025754 ], [ -122.052024999431126, 37.566264000517151 ], [ -122.05133100047297, 37.566336000664691 ], [ -122.050716000353574, 37.566399000456506 ], [ -122.049982999971661, 37.56647500087989 ], [ -122.049143999398325, 37.566562000810329 ], [ -122.049016000047118, 37.56658500085107 ], [ -122.046009999978381, 37.566974000312783 ], [ -122.044286000318095, 37.567478000435671 ], [ -122.042473000318125, 37.567235000554959 ], [ -122.041334999959673, 37.566035000341749 ], [ -122.040690999565129, 37.565353000717302 ], [ -122.040674999815792, 37.565348000845162 ], [ -122.03993999963869, 37.564507000414189 ], [ -122.039372999494546, 37.563935000833169 ], [ -122.038872999539549, 37.563435000998282 ], [ -122.039073000135588, 37.56313500101804 ], [ -122.040087999497047, 37.561769000341535 ], [ -122.040361000092261, 37.561355000798486 ], [ -122.042876999470693, 37.558247001091608 ], [ -122.043372999809421, 37.557635000593706 ], [ -122.045372999402574, 37.556336000635085 ], [ -122.049472999811684, 37.553836000356341 ], [ -122.052472999687495, 37.551936001087604 ], [ -122.052629999610176, 37.551842000654496 ], [ -122.055472999922557, 37.550136000284319 ], [ -122.065913999682323, 37.543727000935476 ], [ -122.066873000076754, 37.543136000296904 ], [ -122.069274999638964, 37.541624001074247 ], [ -122.071072999852149, 37.540136000322875 ], [ -122.075073000353925, 37.536936001089323 ], [ -122.07837299997577, 37.533736000585925 ], [ -122.090973999770057, 37.531736000737233 ], [ -122.102573999866664, 37.521837000640758 ], [ -122.103873999734603, 37.519937000557086 ], [ -122.1098739998654, 37.511637000531081 ], [ -122.11137400030006, 37.510537000639829 ], [ -122.110473999419511, 37.512337001075934 ], [ -122.110174000520814, 37.519137000787879 ], [ -122.110274000373622, 37.519937000677544 ], [ -122.112174000024282, 37.5299360005815 ], [ -122.121673999850074, 37.547036000940096 ], [ -122.129575000507529, 37.564235000523183 ], [ -122.124574999976886, 37.57033500050855 ], [ -122.114474000392676, 37.570435000240494 ], [ -122.108573999636619, 37.568635000435997 ], [ -122.107873999459443, 37.561235000514664 ], [ -122.103074000450292, 37.563335000756972 ], [ -122.101974000104278, 37.564335001025484 ], [ -122.099373999982888, 37.562635000661167 ], [ -122.098273999913957, 37.564735001017652 ], [ -122.096473999843937, 37.564735000659326 ], [ -122.094974000327454, 37.56393500045786 ], [ -122.094773999409568, 37.563635000462682 ], [ -122.093274000327966, 37.561535000727559 ], [ -122.091573999599845, 37.561935000313632 ], [ -122.091173999753266, 37.562835000677268 ], [ -122.090973999867145, 37.563135000893901 ], [ -122.072073000054502, 37.564961000419515 ], [ -122.070273000240533, 37.565135000703108 ], [ -122.068573000232959, 37.56533500054941 ], [ -122.067973000432673, 37.56533500058238 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1135, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.056272999784952, 37.916923000366161 ], [ -122.057572999859786, 37.916923000533856 ], [ -122.057972999834803, 37.917023000758441 ], [ -122.05927300001477, 37.917123000891067 ], [ -122.06017300036703, 37.91692300104004 ], [ -122.061473999683813, 37.916923000332034 ], [ -122.062373999967647, 37.916923000394092 ], [ -122.062174000031945, 37.91782300042879 ], [ -122.061973999878433, 37.91912300096773 ], [ -122.061774000401314, 37.919523001014916 ], [ -122.061474000212726, 37.920523000366977 ], [ -122.061273999409607, 37.921023000991234 ], [ -122.061074000395777, 37.921523000332911 ], [ -122.060373000405619, 37.921523001057039 ], [ -122.058272999981426, 37.921723000730907 ], [ -122.056873000098591, 37.921723000460894 ], [ -122.05635800016772, 37.922135000727927 ], [ -122.055873000091097, 37.922523000578778 ], [ -122.055472999547888, 37.922423000369783 ], [ -122.053272999547346, 37.922223000499137 ], [ -122.052273000026261, 37.922223000288483 ], [ -122.051273000258277, 37.922723000720815 ], [ -122.050873000493553, 37.923023000661644 ], [ -122.050672999391253, 37.923223000826297 ], [ -122.049773000492507, 37.92312300044334 ], [ -122.047573000166011, 37.923123000485397 ], [ -122.046902999945502, 37.923381001064648 ], [ -122.04648999961897, 37.923540000299099 ], [ -122.046272999751082, 37.923623000877363 ], [ -122.04547299971955, 37.923923000460896 ], [ -122.04416399962733, 37.924484000563893 ], [ -122.044073000080516, 37.92452300108296 ], [ -122.043073000437801, 37.924923000997651 ], [ -122.041573000041069, 37.92552300098918 ], [ -122.041492999702726, 37.925683000796823 ], [ -122.041272999790323, 37.926123000414854 ], [ -122.040973000522499, 37.926523000852598 ], [ -122.040473000328205, 37.926823000656405 ], [ -122.040072999930132, 37.926323000542567 ], [ -122.03947299948365, 37.925623000718574 ], [ -122.03897300035338, 37.925123000687748 ], [ -122.038298000457743, 37.924387001134519 ], [ -122.038237999792884, 37.924322000532655 ], [ -122.037872999802303, 37.923923000405921 ], [ -122.037488000396507, 37.923461000792393 ], [ -122.037372999881086, 37.923323000304784 ], [ -122.036972999999037, 37.92292300085127 ], [ -122.036772999401506, 37.922723000607888 ], [ -122.036672999501533, 37.92262300081228 ], [ -122.036633999546169, 37.922591000982251 ], [ -122.036507999392128, 37.922486000639431 ], [ -122.036072999684905, 37.922123000710314 ], [ -122.034577999722231, 37.920960000250375 ], [ -122.034273000417585, 37.920723000558588 ], [ -122.035572999636571, 37.920023001009064 ], [ -122.03687299963336, 37.91952300053368 ], [ -122.037272999431295, 37.919423000589603 ], [ -122.038331000416562, 37.918253000560846 ], [ -122.039173000198133, 37.917323000486846 ], [ -122.04087299969396, 37.915423000793972 ], [ -122.041672999765751, 37.91462300061746 ], [ -122.043673000024611, 37.913023000732395 ], [ -122.04687300046524, 37.911023000945512 ], [ -122.049073000417437, 37.909424000424039 ], [ -122.050273000241035, 37.909224000984558 ], [ -122.05157299974627, 37.909024000256593 ], [ -122.052372999659866, 37.908824000630233 ], [ -122.05337299999114, 37.908524001115183 ], [ -122.05487300048668, 37.908024000704309 ], [ -122.056373000093103, 37.907524000843217 ], [ -122.056546000188547, 37.907466001060115 ], [ -122.057872999959514, 37.907024000640156 ], [ -122.058373000227931, 37.911123001127812 ], [ -122.056728000507718, 37.91566600036905 ], [ -122.056272999784952, 37.916923000366161 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1202, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.899469000253006, 38.008821000862611 ], [ -121.900669000075411, 38.007921001137561 ], [ -121.901468999680219, 38.00842100100369 ], [ -121.90036900051814, 38.009421000245638 ], [ -121.899568999516347, 38.010121001010006 ], [ -121.898869000213097, 38.010721001060702 ], [ -121.898369000220612, 38.011421000438951 ], [ -121.897669000199713, 38.012521000639509 ], [ -121.89976900018641, 38.013021000355231 ], [ -121.899569000304083, 38.013621000668252 ], [ -121.899368999521712, 38.014321000245246 ], [ -121.899068999488122, 38.015121000958878 ], [ -121.898869000474008, 38.01572000033039 ], [ -121.897569000081816, 38.019020000815111 ], [ -121.896769000127577, 38.018820000569008 ], [ -121.89616899977743, 38.018620000853836 ], [ -121.895568999879075, 38.018520000388214 ], [ -121.893268999432209, 38.017920000798128 ], [ -121.891968999999008, 38.017520000934923 ], [ -121.891764000211552, 38.017446000677054 ], [ -121.890244999794888, 38.016970000757858 ], [ -121.890009000426275, 38.016903000441509 ], [ -121.889838999944757, 38.016806000297542 ], [ -121.889791999801801, 38.016680000297967 ], [ -121.88987700016628, 38.016397000449054 ], [ -121.889933000302548, 38.016182000638658 ], [ -121.889915000120652, 38.01607000044978 ], [ -121.889791999411813, 38.016003000342643 ], [ -121.889468999657325, 38.015920000438328 ], [ -121.89086899943598, 38.012521000969819 ], [ -121.891769000401609, 38.010121000711791 ], [ -121.892269000295954, 38.008721000911677 ], [ -121.892768999881255, 38.007521000748106 ], [ -121.895868999515415, 38.008421000519839 ], [ -121.898969000489473, 38.00922100111606 ], [ -121.899469000253006, 38.008821000862611 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 348, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.152175000317229, 37.387540000993049 ], [ -122.152875000381258, 37.387140000849016 ], [ -122.154174999923512, 37.386940000712627 ], [ -122.157663999714188, 37.388135001054309 ], [ -122.159974999851997, 37.388140000861483 ], [ -122.163975000082132, 37.387940000732236 ], [ -122.164174999642967, 37.388240000350983 ], [ -122.16357500019177, 37.389640000800867 ], [ -122.163574999979772, 37.390040000966067 ], [ -122.163575000229969, 37.390540000462863 ], [ -122.163394000052747, 37.391089000782301 ], [ -122.163273000358103, 37.391569000980134 ], [ -122.163175000387355, 37.391840001023063 ], [ -122.162775000506031, 37.393040000572547 ], [ -122.162674999828809, 37.393640000346402 ], [ -122.16257500011892, 37.39444000034586 ], [ -122.162674999433733, 37.395240000593262 ], [ -122.162374999897651, 37.395640000899625 ], [ -122.161974999700419, 37.396340000601526 ], [ -122.161774999542331, 37.397240001101942 ], [ -122.1605749996924, 37.39863900038047 ], [ -122.159175000186124, 37.401839000311426 ], [ -122.158875000256003, 37.403339000303383 ], [ -122.157975000304532, 37.403939000863261 ], [ -122.157074999989391, 37.404839000674393 ], [ -122.156375000341953, 37.40573900104571 ], [ -122.156074999658955, 37.406339000386879 ], [ -122.155774999737687, 37.405939000401709 ], [ -122.153440999491082, 37.405434001014832 ], [ -122.152075000428482, 37.40513900077336 ], [ -122.14957500035193, 37.405039000501141 ], [ -122.146475000138253, 37.404639000919353 ], [ -122.145874999529951, 37.404539000745118 ], [ -122.145475000284833, 37.404339000281567 ], [ -122.144874999744786, 37.404039000649853 ], [ -122.136273999626312, 37.399340000937329 ], [ -122.135574000285345, 37.398940000739699 ], [ -122.135073999707103, 37.398640000260336 ], [ -122.135773999934599, 37.398240000368922 ], [ -122.137974000229704, 37.397140000548525 ], [ -122.140071000264328, 37.39598600045742 ], [ -122.141294000241714, 37.39531300054076 ], [ -122.141273999697731, 37.395340000518779 ], [ -122.143275000024644, 37.394240001062748 ], [ -122.145875000467271, 37.393440000965676 ], [ -122.148174999547038, 37.392740000795357 ], [ -122.148974999946972, 37.392240001067144 ], [ -122.150175000106188, 37.391840000663002 ], [ -122.151274999924567, 37.389940000513512 ], [ -122.151774999920804, 37.387940000460681 ], [ -122.152175000317229, 37.387540000993049 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 349, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.133574000453692, 37.404839000863561 ], [ -122.136073999672618, 37.399740000495633 ], [ -122.136273999626312, 37.399340000937329 ], [ -122.144874999744786, 37.404039000649853 ], [ -122.145475000284833, 37.404339000281567 ], [ -122.145874999529951, 37.404539000745118 ], [ -122.146475000138253, 37.404639000919353 ], [ -122.14957500035193, 37.405039000501141 ], [ -122.152075000428482, 37.40513900077336 ], [ -122.153440999491082, 37.405434001014832 ], [ -122.155774999737687, 37.405939000401709 ], [ -122.156074999658955, 37.406339000386879 ], [ -122.155774999985596, 37.406739000828097 ], [ -122.153475000018432, 37.409239001032873 ], [ -122.151575000184195, 37.411839000956313 ], [ -122.149775000000673, 37.413939000301262 ], [ -122.149371999583451, 37.414575000453993 ], [ -122.14707500002821, 37.417239000565615 ], [ -122.150675000231374, 37.419039000758097 ], [ -122.150175000279376, 37.419739000647098 ], [ -122.149474999596805, 37.420439000728877 ], [ -122.148974999926438, 37.42123900033117 ], [ -122.148474999725977, 37.421839001093851 ], [ -122.147975000523815, 37.422439000548948 ], [ -122.147374999958672, 37.423139000823596 ], [ -122.146774999423513, 37.423839000617555 ], [ -122.145974999892289, 37.424939000983557 ], [ -122.144975000013503, 37.424339000648033 ], [ -122.143975000501612, 37.423939000930169 ], [ -122.142974999863199, 37.423439000413701 ], [ -122.142675000283759, 37.423239000816544 ], [ -122.142275000416959, 37.423039000483783 ], [ -122.14187500041362, 37.422839000603297 ], [ -122.141174999968143, 37.422439000479855 ], [ -122.140373999457339, 37.422039000895815 ], [ -122.139674000427235, 37.42173900050836 ], [ -122.139474000449525, 37.421539000379518 ], [ -122.138574000194978, 37.421139000711207 ], [ -122.138173999805744, 37.420939000961425 ], [ -122.137173999675795, 37.420439001097868 ], [ -122.136273999678423, 37.419839001038866 ], [ -122.135874000098013, 37.419739000328569 ], [ -122.135673999606425, 37.41963900057285 ], [ -122.134873999572761, 37.419139000410034 ], [ -122.134573999841436, 37.419039000623222 ], [ -122.136273999777472, 37.417039000363296 ], [ -122.136174000050048, 37.416839000518102 ], [ -122.136574000288903, 37.416639000380741 ], [ -122.13687400016012, 37.416539000323006 ], [ -122.137673999598633, 37.415639000994922 ], [ -122.139873999971798, 37.412739001051037 ], [ -122.140014000414865, 37.412552000894394 ], [ -122.14017399996834, 37.412339000466147 ], [ -122.139573999705817, 37.411239000510264 ], [ -122.138573999875064, 37.410839000345277 ], [ -122.138073999433942, 37.410639000702567 ], [ -122.13737399947054, 37.410239000492268 ], [ -122.136674000160795, 37.409839000660291 ], [ -122.135873999676861, 37.409439000404888 ], [ -122.135674000317522, 37.409339000630084 ], [ -122.13517400040476, 37.408939000976389 ], [ -122.13487399973225, 37.408739000427637 ], [ -122.134374000142927, 37.408639000273013 ], [ -122.134174000527537, 37.408339000255772 ], [ -122.134174000455971, 37.407439000559684 ], [ -122.134174000072065, 37.406939000768162 ], [ -122.134474000289472, 37.406839001049782 ], [ -122.13388199959229, 37.405524000748414 ], [ -122.133574000453692, 37.404839000863561 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 350, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.158274999830013, 37.419939000795779 ], [ -122.156575000037208, 37.419039000425308 ], [ -122.15707500043105, 37.418439000745202 ], [ -122.155174999678451, 37.417239000505049 ], [ -122.153075000120737, 37.416139000689355 ], [ -122.152474999684188, 37.416939000792205 ], [ -122.151874999841482, 37.417639000660259 ], [ -122.151275000398755, 37.418439000661891 ], [ -122.150675000231374, 37.419039000758097 ], [ -122.14707500002821, 37.417239000565615 ], [ -122.149371999583451, 37.414575000453993 ], [ -122.149775000000673, 37.413939000301262 ], [ -122.151575000184195, 37.411839000956313 ], [ -122.153475000018432, 37.409239001032873 ], [ -122.155774999985596, 37.406739000828097 ], [ -122.156074999658955, 37.406339000386879 ], [ -122.156374999557627, 37.406439000680578 ], [ -122.161174999696399, 37.410139000779374 ], [ -122.165374999503669, 37.412439000568 ], [ -122.168874999982251, 37.413239000293089 ], [ -122.172271000464804, 37.416126000967154 ], [ -122.172861000462149, 37.416326000330734 ], [ -122.173796999990472, 37.416752000953934 ], [ -122.174149999495114, 37.416947000472149 ], [ -122.174622999520309, 37.417336000738366 ], [ -122.175338000223604, 37.418253001081418 ], [ -122.17592399966739, 37.419231001054655 ], [ -122.176874999471352, 37.420039001095873 ], [ -122.173874999485676, 37.418839000521942 ], [ -122.169675000048215, 37.420239000330284 ], [ -122.169274999738903, 37.420639000551645 ], [ -122.168849999618729, 37.420905000515042 ], [ -122.168475000355542, 37.421139001069321 ], [ -122.167779000088274, 37.421972000550397 ], [ -122.16730700043675, 37.422304000853913 ], [ -122.16680799988643, 37.422571000715315 ], [ -122.166174999413272, 37.422739000491042 ], [ -122.165682999748341, 37.422812000707211 ], [ -122.165384999410591, 37.422812000811192 ], [ -122.165100999747281, 37.422745000514197 ], [ -122.164850999457201, 37.422634000430101 ], [ -122.1643020000147, 37.422321000488814 ], [ -122.163719999551475, 37.422198000549066 ], [ -122.16265299982895, 37.422170000903307 ], [ -122.161799999410931, 37.422413000297233 ], [ -122.161615999514325, 37.422537000646301 ], [ -122.158274999830013, 37.419939000795779 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 351, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.155375000293105, 37.420439000479242 ], [ -122.154674999624135, 37.421239000533816 ], [ -122.154574999573995, 37.42163900069302 ], [ -122.154274999890404, 37.421839001122564 ], [ -122.153675000479737, 37.42253900043471 ], [ -122.153174999918846, 37.423239000911067 ], [ -122.152575000350865, 37.423939000674878 ], [ -122.152075000213884, 37.424539001132104 ], [ -122.15137499982194, 37.425239000957347 ], [ -122.150675000373411, 37.426039000581518 ], [ -122.149474999603186, 37.427539000602437 ], [ -122.150174999400321, 37.428239000794541 ], [ -122.151074999926735, 37.429039000681975 ], [ -122.151975000283841, 37.429839000916957 ], [ -122.152774999915749, 37.430539000921861 ], [ -122.153574999673651, 37.431239000915077 ], [ -122.154775000046627, 37.432339000862996 ], [ -122.157283000399104, 37.434368000702726 ], [ -122.160374999563189, 37.437239000301801 ], [ -122.15647499980382, 37.438139000916642 ], [ -122.15187499965505, 37.435339001058516 ], [ -122.150586999563771, 37.434512000663375 ], [ -122.146962999702055, 37.432185000368158 ], [ -122.144390000090652, 37.430533000610929 ], [ -122.142375000053605, 37.429239000455738 ], [ -122.14140399975453, 37.428665000686294 ], [ -122.140677000337632, 37.428236000748569 ], [ -122.140174000281661, 37.427939000968699 ], [ -122.140173999485881, 37.426739000831326 ], [ -122.140273999482304, 37.42573900035643 ], [ -122.140174000215524, 37.425239001012478 ], [ -122.140194000474807, 37.425219000388793 ], [ -122.140373999995276, 37.425039000906636 ], [ -122.141075000024287, 37.424339000991068 ], [ -122.142275000416959, 37.423039000483783 ], [ -122.142675000283759, 37.423239000816544 ], [ -122.142974999863199, 37.423439000413701 ], [ -122.143975000501612, 37.423939000930169 ], [ -122.144975000013503, 37.424339000648033 ], [ -122.145974999892289, 37.424939000983557 ], [ -122.146774999423513, 37.423839000617555 ], [ -122.147374999958672, 37.423139000823596 ], [ -122.147975000523815, 37.422439000548948 ], [ -122.148474999725977, 37.421839001093851 ], [ -122.148974999926438, 37.42123900033117 ], [ -122.149474999596805, 37.420439000728877 ], [ -122.150175000279376, 37.419739000647098 ], [ -122.150675000231374, 37.419039000758097 ], [ -122.151275000398755, 37.418439000661891 ], [ -122.151874999841482, 37.417639000660259 ], [ -122.152474999684188, 37.416939000792205 ], [ -122.153075000120737, 37.416139000689355 ], [ -122.155174999678451, 37.417239000505049 ], [ -122.15707500043105, 37.418439000745202 ], [ -122.156575000037208, 37.419039000425308 ], [ -122.155974999589219, 37.419739000237627 ], [ -122.155375000293105, 37.420439000479242 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 396, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.03737200050854, 37.400840000801821 ], [ -122.036372000304283, 37.40074000094063 ], [ -122.035871999556377, 37.400640000510649 ], [ -122.035671999581112, 37.400540000795466 ], [ -122.033471999988663, 37.400040000968247 ], [ -122.030597999920786, 37.399484001089974 ], [ -122.030370999406742, 37.399440000746402 ], [ -122.028870999902807, 37.399040001018008 ], [ -122.028171000174055, 37.39894000080951 ], [ -122.028271000282032, 37.398340000489789 ], [ -122.028570999932441, 37.396840000618056 ], [ -122.028870999913423, 37.395740000813142 ], [ -122.029470999474739, 37.393840000344987 ], [ -122.030070999734278, 37.392040000729871 ], [ -122.030770999571374, 37.389640001093007 ], [ -122.031370999393445, 37.38974000107455 ], [ -122.034470999903448, 37.390640000458802 ], [ -122.03577200031944, 37.391140001006725 ], [ -122.036771999822122, 37.391540000601267 ], [ -122.038672000484695, 37.392140000256674 ], [ -122.039871999683214, 37.392540000626916 ], [ -122.041572000266299, 37.393040000521133 ], [ -122.042372000491014, 37.393340000676766 ], [ -122.043271999538675, 37.393740000852432 ], [ -122.043817999608592, 37.393896001125796 ], [ -122.044672000447946, 37.394140000680395 ], [ -122.046971999420151, 37.394740000683271 ], [ -122.046771999776567, 37.395040000797835 ], [ -122.045172000027307, 37.39964000046443 ], [ -122.046771999635439, 37.399940000591258 ], [ -122.046271999799004, 37.401140000914722 ], [ -122.047571999629255, 37.40144000089515 ], [ -122.047072000188606, 37.403040000267545 ], [ -122.03887199941029, 37.40124000026163 ], [ -122.03737200050854, 37.400840000801821 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 398, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.068672000430425, 37.392798000833061 ], [ -122.068671999486412, 37.393940000448694 ], [ -122.068671999677605, 37.394240000811159 ], [ -122.068971999408973, 37.395740000803222 ], [ -122.069197999779931, 37.396729001103814 ], [ -122.069772999622742, 37.399240000848721 ], [ -122.068772999468024, 37.398940000262705 ], [ -122.066671999533511, 37.398740000825875 ], [ -122.065172000318626, 37.39844000041586 ], [ -122.062971999761672, 37.39794000066987 ], [ -122.059872000415197, 37.397140000991016 ], [ -122.060750999419596, 37.394746001044581 ], [ -122.061346999518335, 37.393171000399853 ], [ -122.061771999769249, 37.392040000685732 ], [ -122.061898000514631, 37.391781000266391 ], [ -122.061977999872624, 37.391686000674063 ], [ -122.062064000301021, 37.391612000537172 ], [ -122.062211000049956, 37.391527000930274 ], [ -122.062343999859038, 37.391427000697171 ], [ -122.06242299964093, 37.391332000978309 ], [ -122.062489999761567, 37.3912000002328 ], [ -122.063294999894168, 37.389500000967971 ], [ -122.063347999465051, 37.389362000237576 ], [ -122.063447000145828, 37.389067000454361 ], [ -122.063659999884948, 37.387953000381209 ], [ -122.063272000153049, 37.386940000347742 ], [ -122.063871999991306, 37.385740001045903 ], [ -122.065045999773105, 37.38561400088787 ], [ -122.06529800038065, 37.385587001117223 ], [ -122.066871999825366, 37.385140000461604 ], [ -122.067178999971986, 37.385025000771904 ], [ -122.068472000180918, 37.384540000450464 ], [ -122.068472000382897, 37.384840000372591 ], [ -122.068572000106954, 37.38514000112275 ], [ -122.068571999904066, 37.385945000905885 ], [ -122.068572000111672, 37.386240000958622 ], [ -122.068772000248458, 37.388040000350387 ], [ -122.068772000004245, 37.389140000575686 ], [ -122.068711000332769, 37.390943000949278 ], [ -122.06867199972821, 37.391340000606007 ], [ -122.06868299947088, 37.391571000931137 ], [ -122.068672000430425, 37.392798000833061 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1368, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.758774999550468, 38.496050000388308 ], [ -122.758999000236344, 38.496070000687297 ], [ -122.759495000337637, 38.496079000454465 ], [ -122.760525999970596, 38.496108000625838 ], [ -122.768998999944444, 38.496310000784611 ], [ -122.770098999430303, 38.496410000669776 ], [ -122.771098999820126, 38.496310000655839 ], [ -122.772499000159002, 38.496310000380589 ], [ -122.773598999872661, 38.496310000461115 ], [ -122.779299999915096, 38.496310000418717 ], [ -122.787699999921415, 38.493211000345838 ], [ -122.792488999893123, 38.49136300040157 ], [ -122.793399999801821, 38.491011000950103 ], [ -122.795379999980639, 38.49074700108816 ], [ -122.796400000430481, 38.490611001058902 ], [ -122.805601000436027, 38.489111000368126 ], [ -122.80620100052549, 38.488811001015151 ], [ -122.80890100034793, 38.487711000650286 ], [ -122.810495000070318, 38.48704300074052 ], [ -122.816300999993487, 38.484611000618798 ], [ -122.819801999478486, 38.484011001088128 ], [ -122.825502000209099, 38.483211000906678 ], [ -122.83000199962828, 38.482811000769608 ], [ -122.825602000439488, 38.485211000701064 ], [ -122.825601999876937, 38.486011000516413 ], [ -122.825702000422751, 38.493811001026934 ], [ -122.825701999575045, 38.494511001081193 ], [ -122.825802000137358, 38.495111000745595 ], [ -122.827001999798114, 38.496211000785891 ], [ -122.826601999488858, 38.497411001079733 ], [ -122.825701999965133, 38.498511000821139 ], [ -122.825502000351761, 38.499911001120282 ], [ -122.825502000498275, 38.500411000774562 ], [ -122.825624000029947, 38.503298000853782 ], [ -122.825764999665424, 38.507561000241516 ], [ -122.825833999716153, 38.510902000714651 ], [ -122.821301999774846, 38.510909000409775 ], [ -122.82120200035186, 38.510911000771948 ], [ -122.821301999503447, 38.51451100096606 ], [ -122.821096000397802, 38.518222000552861 ], [ -122.820902000205251, 38.521710000857567 ], [ -122.817101999623148, 38.52181000048661 ], [ -122.816702000107512, 38.522110001117312 ], [ -122.816701999749711, 38.523600000592005 ], [ -122.816702000281424, 38.525010000345262 ], [ -122.813501000070886, 38.525110000702099 ], [ -122.813200999809226, 38.525510000441891 ], [ -122.80740099940671, 38.525510000440917 ], [ -122.804444000078533, 38.525622000619457 ], [ -122.802988000229789, 38.525677000305649 ], [ -122.802747000362473, 38.525686000492882 ], [ -122.802100999928868, 38.525710001043052 ], [ -122.799961000394305, 38.525720001002576 ], [ -122.797920000422565, 38.525720000461661 ], [ -122.797583000072592, 38.525711001122907 ], [ -122.795066000009442, 38.525720000681901 ], [ -122.794834999527779, 38.525714000579477 ], [ -122.793469000450571, 38.525680001126581 ], [ -122.791948000230335, 38.525709000461859 ], [ -122.790300000161508, 38.525717000566019 ], [ -122.789114000453367, 38.524412000892539 ], [ -122.787800000020937, 38.523110000525662 ], [ -122.783646999589777, 38.51877800070698 ], [ -122.782376000423426, 38.517453001000362 ], [ -122.782302000140461, 38.51737500081483 ], [ -122.779334999898978, 38.514270000377607 ], [ -122.778499999946817, 38.513410000484299 ], [ -122.777397999962275, 38.512548000329659 ], [ -122.776199999482216, 38.511610001037823 ], [ -122.77595600047681, 38.511415000278554 ], [ -122.775591000451783, 38.511134000878357 ], [ -122.775355000058525, 38.511134000823553 ], [ -122.774600000026282, 38.511110000967676 ], [ -122.77422400027109, 38.511110000362564 ], [ -122.773798999907825, 38.51111000034512 ], [ -122.773198999668537, 38.51111000066399 ], [ -122.769975000382686, 38.511110000344225 ], [ -122.769698999921715, 38.511110000439245 ], [ -122.76795799941074, 38.511110001011971 ], [ -122.767198999893068, 38.511110000607893 ], [ -122.764640000086686, 38.511179000289992 ], [ -122.76349899944563, 38.511210000440144 ], [ -122.761978999760501, 38.510150000397097 ], [ -122.761000999561759, 38.509469000248302 ], [ -122.760198999772086, 38.508910000396057 ], [ -122.759299000006237, 38.508310000369768 ], [ -122.758998999838695, 38.506510000343447 ], [ -122.756998999808573, 38.50721000024933 ], [ -122.753497999567429, 38.506210000798767 ], [ -122.751098000511732, 38.506110000294996 ], [ -122.750498000514341, 38.506010000535241 ], [ -122.749997999455431, 38.506010000405468 ], [ -122.748298000186793, 38.504210001082214 ], [ -122.747757000011234, 38.504046001046106 ], [ -122.74399800045839, 38.5029100006183 ], [ -122.743401000431035, 38.503044001000212 ], [ -122.742217000294602, 38.503311000765649 ], [ -122.739997999644004, 38.503810001090955 ], [ -122.736198000363473, 38.503610000763409 ], [ -122.73549800007963, 38.503210000485211 ], [ -122.735662000377843, 38.50311500106622 ], [ -122.738598000491791, 38.501410000975916 ], [ -122.740398000467053, 38.500210000482348 ], [ -122.740498000173687, 38.499910000798906 ], [ -122.740698000518904, 38.499310001128592 ], [ -122.740697999903574, 38.498410000353807 ], [ -122.74069800036807, 38.497510000344235 ], [ -122.741897999835061, 38.49581000109599 ], [ -122.741997999939628, 38.492110000465281 ], [ -122.737997999575171, 38.489110000278131 ], [ -122.737097999587363, 38.488410000838272 ], [ -122.736897999840053, 38.488310001117107 ], [ -122.735697999464023, 38.48731000041866 ], [ -122.735097999398121, 38.485210000350349 ], [ -122.735045000159175, 38.485007000282934 ], [ -122.734398000525516, 38.482510000524201 ], [ -122.734397999575137, 38.482310000512008 ], [ -122.734251000310337, 38.482038000786865 ], [ -122.734018999724071, 38.48161100101516 ], [ -122.733865000004087, 38.481326001095589 ], [ -122.733694000397549, 38.481010001117021 ], [ -122.733098000454774, 38.479910001027541 ], [ -122.733011999464239, 38.47976300090432 ], [ -122.730597999957354, 38.475611001023253 ], [ -122.730598000485713, 38.475211000554445 ], [ -122.730544000250418, 38.475115000642433 ], [ -122.730497999441681, 38.474511000809997 ], [ -122.730397999985499, 38.473011000593644 ], [ -122.730998000509345, 38.474511000986752 ], [ -122.731797999753383, 38.476510000640161 ], [ -122.73269800019969, 38.478510001088857 ], [ -122.733403999470241, 38.479452000677682 ], [ -122.733597999933494, 38.479710000871819 ], [ -122.734097999434368, 38.480110000667111 ], [ -122.734998000193116, 38.480910001028022 ], [ -122.735097999819402, 38.481010000588441 ], [ -122.736198000031891, 38.48201000038943 ], [ -122.737255000508057, 38.482789000450943 ], [ -122.738097999611981, 38.483410000338424 ], [ -122.738347999580455, 38.483585000611406 ], [ -122.739219999500975, 38.484196000501278 ], [ -122.745762000526398, 38.48877500039238 ], [ -122.751098000212451, 38.492510000580339 ], [ -122.751397999526489, 38.492710000269568 ], [ -122.754441999774841, 38.494802000265956 ], [ -122.756198999568539, 38.496010000656923 ], [ -122.757757999582552, 38.496068001141246 ], [ -122.758774999550468, 38.496050000388308 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 400, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.058794000326813, 37.399974001123582 ], [ -122.058972000188362, 37.399440000876055 ], [ -122.059472000036422, 37.398040000580295 ], [ -122.059539000349574, 37.397890000855398 ], [ -122.059872000415197, 37.397140000991016 ], [ -122.062971999761672, 37.39794000066987 ], [ -122.065172000318626, 37.39844000041586 ], [ -122.066671999533511, 37.398740000825875 ], [ -122.068772999468024, 37.398940000262705 ], [ -122.069772999622742, 37.399240000848721 ], [ -122.069872999505108, 37.401140000642989 ], [ -122.069972999943928, 37.402840001023392 ], [ -122.070072999621289, 37.403740000541298 ], [ -122.070072999444676, 37.405440000418203 ], [ -122.07017300030067, 37.408640000744008 ], [ -122.069573000474577, 37.408340000894682 ], [ -122.069205000222468, 37.408235001086133 ], [ -122.068872999850825, 37.40814000112249 ], [ -122.066825000063488, 37.407585000675589 ], [ -122.066573999767115, 37.407518000369343 ], [ -122.066319999969835, 37.407450000583403 ], [ -122.064871999525536, 37.407140000396325 ], [ -122.064472000308072, 37.40704000027629 ], [ -122.063586000177594, 37.406766000900738 ], [ -122.062215999522792, 37.406343000757055 ], [ -122.060173000191611, 37.405713000469383 ], [ -122.058461999650788, 37.405452000591559 ], [ -122.057064000331934, 37.405238000351929 ], [ -122.056921000288114, 37.405216000725936 ], [ -122.056972000205079, 37.405040000943849 ], [ -122.057271999537463, 37.404140000764123 ], [ -122.057772000093777, 37.402940000484385 ], [ -122.058172000235913, 37.401840000905366 ], [ -122.058471999894692, 37.400940000657833 ], [ -122.058794000326813, 37.399974001123582 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1236, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.276082000103386, 38.121719001002091 ], [ -122.275881999415617, 38.121719000424577 ], [ -122.275681000406976, 38.121519000580832 ], [ -122.275513999623698, 38.120518000566953 ], [ -122.275480999508261, 38.120319001112051 ], [ -122.273880999796603, 38.118819000778522 ], [ -122.272980999483337, 38.118719000396183 ], [ -122.272181000151704, 38.118519000262879 ], [ -122.27068099955882, 38.11881900032536 ], [ -122.270381000111456, 38.119619000483183 ], [ -122.270280999490495, 38.119819000336804 ], [ -122.270281000418123, 38.120119000760965 ], [ -122.270081000085412, 38.120519001069788 ], [ -122.269081000053589, 38.121419000697315 ], [ -122.268881000145342, 38.121519000330906 ], [ -122.266381000455425, 38.120319000332948 ], [ -122.266331999641793, 38.120289000724839 ], [ -122.264381000139608, 38.119119000364563 ], [ -122.263081000409954, 38.120219000441537 ], [ -122.262180999416685, 38.121119000484846 ], [ -122.261880999465518, 38.121419000722128 ], [ -122.260181000380911, 38.119619000292921 ], [ -122.259643000157311, 38.119928000878637 ], [ -122.25509599980316, 38.119915001058594 ], [ -122.254680999639135, 38.116019000520772 ], [ -122.254656000485596, 38.115759000524129 ], [ -122.255181000265907, 38.115019001010403 ], [ -122.255444999772408, 38.114605000688769 ], [ -122.255881000159562, 38.113919001122035 ], [ -122.257985999915675, 38.112196001023889 ], [ -122.258080999864703, 38.112119000246423 ], [ -122.259880999935262, 38.111119001093755 ], [ -122.261481000338392, 38.110519000817995 ], [ -122.262911000185483, 38.110172000353799 ], [ -122.262981000229573, 38.110179000622573 ], [ -122.262980999640348, 38.110019000794246 ], [ -122.263381000293535, 38.110119000790583 ], [ -122.26398100006368, 38.110319000315414 ], [ -122.265096000338559, 38.110641001075088 ], [ -122.265248000055564, 38.110685001093024 ], [ -122.268654000081881, 38.11166700084955 ], [ -122.269180999760721, 38.111819000756633 ], [ -122.269468999900752, 38.111830000880772 ], [ -122.271780999812648, 38.111919000301938 ], [ -122.271814999733124, 38.112048000414518 ], [ -122.271840000333981, 38.112142000370163 ], [ -122.27218100045657, 38.11341900092583 ], [ -122.274980999497885, 38.117519000582291 ], [ -122.273780999488054, 38.118519000387465 ], [ -122.276281000152792, 38.118119000590681 ], [ -122.276082000103386, 38.121719001002091 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1241, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.264344999837235, 38.124283000465212 ], [ -122.264881000074979, 38.124819000805687 ], [ -122.265031000271904, 38.124919000575659 ], [ -122.266081000513395, 38.125619000802963 ], [ -122.267880999538889, 38.126019000478585 ], [ -122.269080999457884, 38.126019000613034 ], [ -122.267681000201279, 38.127219000486598 ], [ -122.263980999937502, 38.13051900060411 ], [ -122.262601000484821, 38.131694000750223 ], [ -122.261281000244367, 38.132818001079563 ], [ -122.256180999949834, 38.13731800045813 ], [ -122.254347000319598, 38.139014000744716 ], [ -122.252181000097252, 38.141018000973915 ], [ -122.251480999636996, 38.141518000657854 ], [ -122.250781000437556, 38.136218000748372 ], [ -122.250258999606388, 38.131169000490097 ], [ -122.250180999612951, 38.130419000356859 ], [ -122.250116999654651, 38.129910000297244 ], [ -122.249881000282272, 38.128019000547539 ], [ -122.249346999610793, 38.124919000292401 ], [ -122.249329000035218, 38.124812000366298 ], [ -122.248881000143228, 38.122219000433176 ], [ -122.248480999787745, 38.12041900096002 ], [ -122.248281000215314, 38.119619000419064 ], [ -122.248581000196339, 38.119619000861903 ], [ -122.251080999891045, 38.119619000590482 ], [ -122.252080999464965, 38.119719000528391 ], [ -122.252880999707898, 38.119819000918227 ], [ -122.25509599980316, 38.119915001058594 ], [ -122.259643000157311, 38.119928000878637 ], [ -122.260181000380911, 38.119619000292921 ], [ -122.261880999465518, 38.121419000722128 ], [ -122.262581000342948, 38.122419000455892 ], [ -122.264080999518313, 38.124019000305537 ], [ -122.264344999837235, 38.124283000465212 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1240, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.26548200021027, 38.15001800047721 ], [ -122.26548200037638, 38.150818000603124 ], [ -122.265446999673415, 38.151524000459105 ], [ -122.265361000199462, 38.152301000662469 ], [ -122.265403999411717, 38.15291000100779 ], [ -122.265382000501859, 38.153618000669098 ], [ -122.265361000345138, 38.15426200071574 ], [ -122.265382000445769, 38.154918000362272 ], [ -122.265581999904313, 38.155118000793884 ], [ -122.264290000186534, 38.155118000516516 ], [ -122.261880999674801, 38.155118001007466 ], [ -122.258880999638563, 38.154918000835544 ], [ -122.256280999438218, 38.154918000480698 ], [ -122.253880999392933, 38.154918001123363 ], [ -122.252980999425773, 38.155018000982537 ], [ -122.252881000164209, 38.153818000354612 ], [ -122.252425000146744, 38.150126001064592 ], [ -122.251980999709758, 38.145818001130316 ], [ -122.251736999509234, 38.14286200087799 ], [ -122.251480999636996, 38.141518000657854 ], [ -122.252181000097252, 38.141018000973915 ], [ -122.254347000319598, 38.139014000744716 ], [ -122.256180999949834, 38.13731800045813 ], [ -122.261281000244367, 38.132818001079563 ], [ -122.262601000484821, 38.131694000750223 ], [ -122.263980999937502, 38.13051900060411 ], [ -122.267681000201279, 38.127219000486598 ], [ -122.269080999457884, 38.126019000613034 ], [ -122.26962500037321, 38.125615000562341 ], [ -122.270285999487442, 38.124919000402315 ], [ -122.270380999449799, 38.124819000687445 ], [ -122.271381000029336, 38.123819001063474 ], [ -122.272680999664331, 38.122919000487784 ], [ -122.275480999544897, 38.121819000638688 ], [ -122.275881999415617, 38.121719000424577 ], [ -122.276082000103386, 38.121719001002091 ], [ -122.281181999673876, 38.119719000359993 ], [ -122.281493000060507, 38.121084000639293 ], [ -122.281526999769838, 38.123572000869054 ], [ -122.280515999447985, 38.127149000639029 ], [ -122.278762000056219, 38.131192000801519 ], [ -122.278260999461281, 38.135826000336841 ], [ -122.278995999895528, 38.140936000901981 ], [ -122.278292000215373, 38.141037000369465 ], [ -122.275252999928966, 38.141457000481736 ], [ -122.271320000354876, 38.143687000707956 ], [ -122.269957000183666, 38.144460000407094 ], [ -122.268481999610628, 38.145318000877857 ], [ -122.266826000375559, 38.146094000852436 ], [ -122.26619900013263, 38.146331001136701 ], [ -122.265231000465022, 38.146141000870202 ], [ -122.265472999725773, 38.146960000297241 ], [ -122.265510000011915, 38.147662000521109 ], [ -122.265473000128992, 38.148144000729324 ], [ -122.265482000486443, 38.148718000610103 ], [ -122.265481999414703, 38.149418000983985 ], [ -122.26548200021027, 38.15001800047721 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1243, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.221051999821199, 38.141307000272938 ], [ -122.220131999489709, 38.141393000411369 ], [ -122.219370000508945, 38.141574000442077 ], [ -122.218808999512291, 38.141834000235079 ], [ -122.218276999495373, 38.142117000923413 ], [ -122.217579999968066, 38.142618000769261 ], [ -122.2191519997764, 38.140292001066008 ], [ -122.219300999764528, 38.140072000875229 ], [ -122.219794000523493, 38.139341000574284 ], [ -122.220034999852089, 38.138980000857686 ], [ -122.220307999589807, 38.138526000484774 ], [ -122.220747999789936, 38.137863001105885 ], [ -122.221080000412201, 38.137418000748596 ], [ -122.221480000394138, 38.136718000985368 ], [ -122.222263999611869, 38.136782001028422 ], [ -122.224579999981117, 38.133618000263887 ], [ -122.224979999801107, 38.132818000551396 ], [ -122.225779999478888, 38.132118001105006 ], [ -122.226379999403449, 38.13141800031957 ], [ -122.228179999585748, 38.131918000305951 ], [ -122.229179999668659, 38.133618000882421 ], [ -122.229279999838667, 38.130818000671312 ], [ -122.22937999991143, 38.129018000649594 ], [ -122.231380000234239, 38.12901800048116 ], [ -122.232479999465752, 38.12961800024592 ], [ -122.232880000442393, 38.129718000402036 ], [ -122.234480000074996, 38.129718000614254 ], [ -122.234980000004626, 38.130018001015792 ], [ -122.235380000161499, 38.130018000700261 ], [ -122.235880000062622, 38.129918000557232 ], [ -122.23697999953032, 38.129818000946351 ], [ -122.237680000430643, 38.129618000448012 ], [ -122.239380000264816, 38.129218001044862 ], [ -122.240980999583257, 38.129018000885218 ], [ -122.242181000470808, 38.128818000894867 ], [ -122.24308100030828, 38.128619000354917 ], [ -122.243681000337347, 38.128719000447219 ], [ -122.244181000394818, 38.128919000463256 ], [ -122.244181000148316, 38.128819000313001 ], [ -122.246981000220956, 38.128619001072558 ], [ -122.249381000149029, 38.12811900097109 ], [ -122.249881000282272, 38.128019000547539 ], [ -122.250116999654651, 38.129910000297244 ], [ -122.250180999612951, 38.130419000356859 ], [ -122.250258999606388, 38.131169000490097 ], [ -122.250781000437556, 38.136218000748372 ], [ -122.251480999636996, 38.141518000657854 ], [ -122.249680999707962, 38.141818000741317 ], [ -122.249180999537316, 38.141918000603532 ], [ -122.244280999597507, 38.141818000621043 ], [ -122.243380999923346, 38.141818000797038 ], [ -122.242161999879599, 38.141748001064528 ], [ -122.233551999412796, 38.141251000862873 ], [ -122.232979999913795, 38.141218000789102 ], [ -122.23243499953972, 38.141218000555817 ], [ -122.228880000152841, 38.141218000450273 ], [ -122.225679999734695, 38.141118000376707 ], [ -122.224780000468414, 38.141118000439448 ], [ -122.222879999505636, 38.141118000536714 ], [ -122.221051999821199, 38.141307000272938 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1212, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.192977999904784, 38.061420000345031 ], [ -122.195877999655835, 38.067420000968141 ], [ -122.197527999558218, 38.071917001054203 ], [ -122.197054999736125, 38.078107000900829 ], [ -122.192378000492724, 38.076820001141556 ], [ -122.191999999584795, 38.0774350006091 ], [ -122.192735000286817, 38.078017000893034 ], [ -122.192676000503653, 38.078948000745513 ], [ -122.192178999918809, 38.07961900087188 ], [ -122.192105999500029, 38.079563000599514 ], [ -122.192025999680396, 38.07949300071472 ], [ -122.191922999695919, 38.07937600073987 ], [ -122.191178000441852, 38.078419000472628 ], [ -122.1894780001642, 38.076620000485995 ], [ -122.189103999622489, 38.076123000237295 ], [ -122.185736000153085, 38.071747000536725 ], [ -122.185477999734218, 38.071420000483428 ], [ -122.18490400036778, 38.070693001075149 ], [ -122.183735999713647, 38.06937500053526 ], [ -122.18360500033252, 38.069250001050435 ], [ -122.182178000356146, 38.068020000364214 ], [ -122.180981999813596, 38.067120000533905 ], [ -122.180378000038289, 38.066720001039009 ], [ -122.179177999718831, 38.066120000687619 ], [ -122.17792599954511, 38.065296000800906 ], [ -122.177415000023757, 38.064992000395947 ], [ -122.175277999982782, 38.063720000351942 ], [ -122.173678000434364, 38.062920000872836 ], [ -122.173377999775212, 38.062820000375211 ], [ -122.171477999962491, 38.061720000504685 ], [ -122.170016000242484, 38.060770001137548 ], [ -122.169956999642238, 38.060731000749961 ], [ -122.169478000482968, 38.060420000732542 ], [ -122.167990000090484, 38.059616000818693 ], [ -122.167677999492469, 38.059420000726426 ], [ -122.166677999811185, 38.058720000302188 ], [ -122.165776999728763, 38.05822000092455 ], [ -122.163576999513765, 38.057220000678882 ], [ -122.16147700041131, 38.056320000421628 ], [ -122.159477000296917, 38.05532000102383 ], [ -122.157477000140972, 38.054420001001489 ], [ -122.155376999773949, 38.053520001070318 ], [ -122.153477000505475, 38.052520000972478 ], [ -122.151376999813735, 38.051520000958419 ], [ -122.149377000249117, 38.050720000440592 ], [ -122.147376999850792, 38.049920001124676 ], [ -122.147977000364065, 38.049020000287015 ], [ -122.148577000472969, 38.048220000718551 ], [ -122.149077000048521, 38.047420000497297 ], [ -122.149577000040807, 38.046520000633421 ], [ -122.150277000464698, 38.04572000057864 ], [ -122.150776999388569, 38.04492000073391 ], [ -122.15177699979796, 38.043520000782337 ], [ -122.152477000181051, 38.042620000351896 ], [ -122.156325000016878, 38.043152001128689 ], [ -122.156357000326508, 38.043360000870031 ], [ -122.154980999781245, 38.04331200088599 ], [ -122.153989000335258, 38.043328000368589 ], [ -122.153332999578197, 38.043360001107956 ], [ -122.153061000337516, 38.043376000269667 ], [ -122.152852999764534, 38.04350400078188 ], [ -122.152724999506475, 38.0436320007422 ], [ -122.152436999951533, 38.043984000583741 ], [ -122.152100999822139, 38.04443200078952 ], [ -122.151828999448867, 38.044848001119867 ], [ -122.155668999958692, 38.0465760008911 ], [ -122.156405000512294, 38.045808001011466 ], [ -122.157060999613137, 38.046064000446428 ], [ -122.157461000465247, 38.046144000540316 ], [ -122.157877000307323, 38.045552000658297 ], [ -122.158100999716169, 38.045120001111655 ], [ -122.158084999962895, 38.044896001055868 ], [ -122.157892999808581, 38.044672000289701 ], [ -122.157620999989376, 38.044448000969666 ], [ -122.157536999484407, 38.04416800043564 ], [ -122.157525000439719, 38.044128000360978 ], [ -122.157477000336002, 38.043744000959585 ], [ -122.157381000020592, 38.043600000884268 ], [ -122.15746099945558, 38.043248000601835 ], [ -122.158476999548071, 38.043220000945077 ], [ -122.159077000072031, 38.042920000380256 ], [ -122.160077000032857, 38.04332000058411 ], [ -122.161177000169715, 38.042920000485935 ], [ -122.162576999536327, 38.043520000747037 ], [ -122.165276999769659, 38.044020000614928 ], [ -122.165176999992497, 38.044520000797661 ], [ -122.161976999836668, 38.044520000648632 ], [ -122.16167700026152, 38.045420000916458 ], [ -122.161277000298668, 38.046420000739751 ], [ -122.160877000122028, 38.047320000663774 ], [ -122.160776999883439, 38.048220000716107 ], [ -122.160841999549106, 38.049004000457046 ], [ -122.16127900021938, 38.049403000907979 ], [ -122.161472999624479, 38.049579000266249 ], [ -122.161646999804091, 38.050057001021045 ], [ -122.162735999951437, 38.050679000380327 ], [ -122.163505999482268, 38.051357000822648 ], [ -122.163577000356895, 38.051420000246573 ], [ -122.163576999952241, 38.051720000450707 ], [ -122.163076999891359, 38.05262000113661 ], [ -122.163577000474064, 38.053520000479729 ], [ -122.163762000332611, 38.053579000896612 ], [ -122.166076999617289, 38.054320000733647 ], [ -122.166976999727126, 38.053620001109174 ], [ -122.167279000431833, 38.053724000303376 ], [ -122.168767999422741, 38.054237000984152 ], [ -122.169878000016624, 38.054620000500194 ], [ -122.169562000249087, 38.054904000949392 ], [ -122.168878000316354, 38.055520000294138 ], [ -122.170078000022073, 38.056320000345174 ], [ -122.170778000431895, 38.056220000858893 ], [ -122.17257800007755, 38.05642000031682 ], [ -122.172989999744814, 38.05724500077541 ], [ -122.173077999558657, 38.057420000789392 ], [ -122.173577999733581, 38.05752000062396 ], [ -122.174677999632593, 38.057820000381334 ], [ -122.175278000370994, 38.058620000448599 ], [ -122.174277999989897, 38.059020000545409 ], [ -122.174677999987239, 38.060220000689753 ], [ -122.174877999809908, 38.060720000647734 ], [ -122.176178000417352, 38.061420000488035 ], [ -122.176777999527644, 38.06112000092628 ], [ -122.17667799999893, 38.061820000663609 ], [ -122.178778000423591, 38.062120000503228 ], [ -122.179278000359048, 38.06202000053954 ], [ -122.179177999539291, 38.062420000645822 ], [ -122.180777999426724, 38.06392000104988 ], [ -122.181577999542554, 38.063920000963805 ], [ -122.182877999541986, 38.065220000529713 ], [ -122.182678000404906, 38.066120001013587 ], [ -122.185178000334702, 38.068720000386193 ], [ -122.187978000256322, 38.070920000981943 ], [ -122.190277999948506, 38.070420000648184 ], [ -122.192977999904784, 38.061420000345031 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1211, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.127375999958801, 38.047620000529562 ], [ -122.128775999467322, 38.045420000329401 ], [ -122.129975999704143, 38.04432000087283 ], [ -122.130097000511952, 38.044290000322377 ], [ -122.13502199978609, 38.043081000705385 ], [ -122.135676000332467, 38.042920001134519 ], [ -122.136075999869533, 38.043120000718204 ], [ -122.140676999565827, 38.042220000820272 ], [ -122.146476999539146, 38.042320000627633 ], [ -122.152477000181051, 38.042620000351896 ], [ -122.15177699979796, 38.043520000782337 ], [ -122.150776999388569, 38.04492000073391 ], [ -122.150277000464698, 38.04572000057864 ], [ -122.149577000040807, 38.046520000633421 ], [ -122.149077000048521, 38.047420000497297 ], [ -122.148577000472969, 38.048220000718551 ], [ -122.147977000364065, 38.049020000287015 ], [ -122.147376999850792, 38.049920001124676 ], [ -122.149377000249117, 38.050720000440592 ], [ -122.151376999813735, 38.051520000958419 ], [ -122.153477000505475, 38.052520000972478 ], [ -122.152777000066536, 38.053420000987877 ], [ -122.152276999724648, 38.054320000774055 ], [ -122.151676999781714, 38.055020000413883 ], [ -122.151492999842048, 38.055248000915832 ], [ -122.151377000432333, 38.0555200002836 ], [ -122.151176999810986, 38.0559200005778 ], [ -122.150276999910034, 38.056720000590552 ], [ -122.150077000075626, 38.057420000367458 ], [ -122.149577000431904, 38.057920000920554 ], [ -122.149276999693086, 38.058420000464508 ], [ -122.148404999636668, 38.059600000348041 ], [ -122.147877000411526, 38.060320000830693 ], [ -122.147685000071547, 38.060720000440554 ], [ -122.14707699996805, 38.061720000605234 ], [ -122.146677000372961, 38.062620000995253 ], [ -122.146076999542984, 38.072319000673481 ], [ -122.145769999888373, 38.072749000570937 ], [ -122.145473999936598, 38.073163000316505 ], [ -122.144002000482132, 38.075414001072197 ], [ -122.141161000499679, 38.079053000857584 ], [ -122.141051999578693, 38.079198000878435 ], [ -122.139770999684586, 38.080922000427385 ], [ -122.139259999710021, 38.081075001100317 ], [ -122.135977000484516, 38.082219000403086 ], [ -122.135077000286003, 38.082119001026172 ], [ -122.134277000132343, 38.082219001129886 ], [ -122.133576999481377, 38.083919000860782 ], [ -122.135877000082132, 38.091119000392119 ], [ -122.135277000423045, 38.093619001013479 ], [ -122.1375770001262, 38.095519000377131 ], [ -122.14397700048373, 38.095119000669754 ], [ -122.144269999866395, 38.095226000811174 ], [ -122.145054999810711, 38.09551200054154 ], [ -122.152477999951103, 38.098219000779245 ], [ -122.157578000246303, 38.098719000364007 ], [ -122.160877999650623, 38.100419000627319 ], [ -122.16392799969212, 38.107027000920283 ], [ -122.162886000248633, 38.10868600038993 ], [ -122.162838000164385, 38.109582000247663 ], [ -122.162821999895925, 38.110222000823001 ], [ -122.162838000093572, 38.110974000548957 ], [ -122.162806000326825, 38.111294000993652 ], [ -122.162950000061443, 38.111870000903856 ], [ -122.162966000502152, 38.112798000931718 ], [ -122.163125999699815, 38.11302200082352 ], [ -122.163173999597362, 38.11335800047835 ], [ -122.163158000513832, 38.113790000469066 ], [ -122.163461999688295, 38.114254000777905 ], [ -122.163525999821331, 38.115006001036186 ], [ -122.163397999618624, 38.115934000809609 ], [ -122.163173999432431, 38.116766000427866 ], [ -122.163302000040417, 38.117342000837787 ], [ -122.163349999729746, 38.118174000656367 ], [ -122.163494000085961, 38.119022000668835 ], [ -122.163445999710106, 38.119742000718666 ], [ -122.163157999937482, 38.120334000263767 ], [ -122.162598000260019, 38.120750000593141 ], [ -122.161909999530707, 38.121198000488569 ], [ -122.161333999864553, 38.121342000999597 ], [ -122.160470000376208, 38.121486000241532 ], [ -122.159926000127655, 38.12148600027335 ], [ -122.15935000027109, 38.121390000387649 ], [ -122.159046000016289, 38.121582000302887 ], [ -122.158197999779944, 38.122030000817169 ], [ -122.157750000134726, 38.122062000590958 ], [ -122.156005999803568, 38.12171000111919 ], [ -122.155478000354691, 38.121342000659176 ], [ -122.154965999549987, 38.120702000939858 ], [ -122.154757999518409, 38.12031800055194 ], [ -122.15461400020763, 38.120206000958497 ], [ -122.154102000359558, 38.120958000968663 ], [ -122.153766000118338, 38.120990000675704 ], [ -122.152278000062481, 38.120718000945509 ], [ -122.151605999786952, 38.120846000986504 ], [ -122.150982000317796, 38.121198000395687 ], [ -122.150517999709848, 38.121278000700457 ], [ -122.150134000498184, 38.121054000436715 ], [ -122.149829999892376, 38.120702000495193 ], [ -122.149333999950642, 38.120558001005882 ], [ -122.148630000313162, 38.120558000452135 ], [ -122.148454000252897, 38.120990000485712 ], [ -122.148502000515364, 38.12137400044179 ], [ -122.148342000513026, 38.121646000599078 ], [ -122.148470000116021, 38.121998000369821 ], [ -122.148406000323035, 38.122990000747158 ], [ -122.148278000363845, 38.12412600050537 ], [ -122.148149999520399, 38.12430200069749 ], [ -122.147989999518231, 38.124270000599694 ], [ -122.147733999944407, 38.123502000749902 ], [ -122.147669999707773, 38.123086001123902 ], [ -122.147638000063949, 38.122686000945784 ], [ -122.147734000023647, 38.122254000542334 ], [ -122.147717999798374, 38.121758001077943 ], [ -122.147446000433888, 38.121246000744271 ], [ -122.146966000313498, 38.120862000656004 ], [ -122.145078000174635, 38.120526001030676 ], [ -122.144693999682474, 38.120334000752621 ], [ -122.143814000337755, 38.119726000748194 ], [ -122.143461999768263, 38.119390000330775 ], [ -122.14259799980772, 38.118990000426116 ], [ -122.14178200042376, 38.118478000744133 ], [ -122.141125999481474, 38.118030001102689 ], [ -122.140677999770688, 38.117950000919215 ], [ -122.140422000107293, 38.118158000706153 ], [ -122.140165999829804, 38.118782000387974 ], [ -122.14018200014128, 38.119070001125941 ], [ -122.140501999956342, 38.119694000574739 ], [ -122.141125999875769, 38.120110000711676 ], [ -122.141397999922901, 38.120494000612752 ], [ -122.141446000039394, 38.120910000288156 ], [ -122.141510000444796, 38.121710000307601 ], [ -122.140982000481102, 38.122254000525032 ], [ -122.140021999787564, 38.122894000805459 ], [ -122.139142000092946, 38.12319800071311 ], [ -122.138453999765431, 38.123342000690897 ], [ -122.13789400040946, 38.124158000558218 ], [ -122.137174000452021, 38.124318000384193 ], [ -122.136469999900413, 38.124526001108627 ], [ -122.135541999684989, 38.124862000920373 ], [ -122.135417999577044, 38.124918000262625 ], [ -122.134550000302241, 38.125310000976839 ], [ -122.133670000442621, 38.125742000435011 ], [ -122.133093999865309, 38.126254001024193 ], [ -122.132614000116163, 38.126254000599538 ], [ -122.132086000232761, 38.126478000604578 ], [ -122.131861999726851, 38.126766000375888 ], [ -122.131686000335776, 38.12735800038422 ], [ -122.131541999387807, 38.127822001108292 ], [ -122.131813999413737, 38.128398000507993 ], [ -122.132245999792545, 38.12907000040714 ], [ -122.132421999734404, 38.129742000853113 ], [ -122.132278000507171, 38.13035000055811 ], [ -122.132422000012738, 38.13118200045151 ], [ -122.131669999941096, 38.131982001062063 ], [ -122.131301999411392, 38.132686000299934 ], [ -122.131333999759818, 38.133390000915092 ], [ -122.131782000501161, 38.133758000818702 ], [ -122.13237399995721, 38.134158000641165 ], [ -122.132566000410861, 38.13449400030018 ], [ -122.132166000173228, 38.134702000951044 ], [ -122.132150000453848, 38.134942000409318 ], [ -122.13240599953923, 38.13522900110182 ], [ -122.13227799991877, 38.135837000310723 ], [ -122.132469999516459, 38.136301001067523 ], [ -122.132374000280947, 38.136765000583139 ], [ -122.131925999795314, 38.136717000597244 ], [ -122.131478000361412, 38.136637001139363 ], [ -122.130614000291686, 38.136429000262254 ], [ -122.130005999927079, 38.136573001119807 ], [ -122.129750000224206, 38.136893000290144 ], [ -122.129366000159663, 38.137773000634482 ], [ -122.128837999411957, 38.138397000420568 ], [ -122.128182000450082, 38.138653000956218 ], [ -122.127254000409522, 38.139037000404144 ], [ -122.126517999426156, 38.139757000724316 ], [ -122.126326000489158, 38.140573000483016 ], [ -122.126054000235698, 38.141389000291291 ], [ -122.125541999503184, 38.141661000634151 ], [ -122.12509400023508, 38.141933000509027 ], [ -122.124871999892434, 38.142165001123161 ], [ -122.124757999796003, 38.142285000258667 ], [ -122.124422000318432, 38.142701000780207 ], [ -122.124086000231529, 38.143021000809114 ], [ -122.123686000178964, 38.14324500055411 ], [ -122.122917999481828, 38.143213000493837 ], [ -122.122502000340759, 38.143229000580561 ], [ -122.122053000443458, 38.143245000366832 ], [ -122.121669000179637, 38.143181000851854 ], [ -122.120916999820309, 38.142989000712269 ], [ -122.12066100037724, 38.143037000652903 ], [ -122.120244999943452, 38.143165000964544 ], [ -122.119348999581021, 38.143597000399012 ], [ -122.118517000084253, 38.143965001081845 ], [ -122.117780999386625, 38.144077000761861 ], [ -122.117540999566742, 38.144157000891241 ], [ -122.117316999702496, 38.144461001047937 ], [ -122.117060999756134, 38.144669000521809 ], [ -122.116804999990592, 38.144701000360719 ], [ -122.116309000136937, 38.144573000962374 ], [ -122.115205000177312, 38.144253000403019 ], [ -122.113268999849808, 38.143517001135017 ], [ -122.111076999917785, 38.142781000282916 ], [ -122.109940999787568, 38.142301000884792 ], [ -122.10933299963726, 38.142237001044933 ], [ -122.109350000364785, 38.142115000845969 ], [ -122.10973199999269, 38.140429000492816 ], [ -122.110029999853438, 38.139285000973324 ], [ -122.110254999793426, 38.137848000531186 ], [ -122.110366999454541, 38.136381000889394 ], [ -122.110329000410772, 38.135560000608201 ], [ -122.110029999782455, 38.134650000753496 ], [ -122.108350000071098, 38.13154100065541 ], [ -122.107976999650219, 38.130720000834216 ], [ -122.107604000247093, 38.129752000589264 ], [ -122.107342000507018, 38.128549000570786 ], [ -122.106884999776781, 38.124910000483382 ], [ -122.106868, 38.124918000462877 ], [ -122.106501000461122, 38.125086000872386 ], [ -122.101156999821384, 38.125614000721768 ], [ -122.101268999630179, 38.128605000867672 ], [ -122.101028999963575, 38.129597000829641 ], [ -122.100660999962443, 38.130733000496214 ], [ -122.100132999419586, 38.132317000430731 ], [ -122.096293000338989, 38.139437000463246 ], [ -122.09493099992936, 38.142095001064142 ], [ -122.089673999478507, 38.152358000234976 ], [ -122.08962100023156, 38.152461000330554 ], [ -122.089556999913398, 38.15266900052552 ], [ -122.088565000140036, 38.152397000741026 ], [ -122.087924999991202, 38.152269000497363 ], [ -122.086836999798251, 38.152061000929066 ], [ -122.085733000076019, 38.151901001038368 ], [ -122.085477000133068, 38.151789000847039 ], [ -122.085045000123188, 38.151453000498933 ], [ -122.084581000235062, 38.151021000588408 ], [ -122.084389000376646, 38.150701000551685 ], [ -122.08438900032067, 38.150525001130703 ], [ -122.084452999970779, 38.150109000391069 ], [ -122.084533000331135, 38.149645000821785 ], [ -122.084853000059837, 38.149197001088012 ], [ -122.085524999720008, 38.148333000486602 ], [ -122.086228999668393, 38.147629000390907 ], [ -122.086740999770797, 38.14700500048481 ], [ -122.087828999398297, 38.145885000884384 ], [ -122.088949000244526, 38.144845000644537 ], [ -122.090213000527683, 38.143773000509221 ], [ -122.091060999668699, 38.14295700078786 ], [ -122.09214900025512, 38.142173001051205 ], [ -122.093221000310876, 38.141181000707391 ], [ -122.093477000398025, 38.140973001079352 ], [ -122.093749000059333, 38.140765000856327 ], [ -122.094516999954621, 38.14001300059283 ], [ -122.094964999593429, 38.139501000872187 ], [ -122.09526899986345, 38.1390850008912 ], [ -122.095413000040068, 38.13881300038355 ], [ -122.095476999595419, 38.138573000486353 ], [ -122.095540999401976, 38.13822100051857 ], [ -122.095428999951707, 38.137709000525028 ], [ -122.095125000256331, 38.137581000644616 ], [ -122.094485000236702, 38.137261000688753 ], [ -122.093908999973365, 38.136973001087597 ], [ -122.092836999763094, 38.136557000453607 ], [ -122.09125300049358, 38.136077001052783 ], [ -122.08978099980709, 38.135677000754868 ], [ -122.088563999982426, 38.135485001095397 ], [ -122.087971999714199, 38.135469000817181 ], [ -122.087140000100021, 38.135277001013755 ], [ -122.086515999963567, 38.135181001040536 ], [ -122.086083999563343, 38.135309000239772 ], [ -122.085843999740987, 38.135517000316675 ], [ -122.085619999547546, 38.135693000582926 ], [ -122.085171999690957, 38.135965001100253 ], [ -122.084691999788959, 38.136141000827465 ], [ -122.083971999978061, 38.136333000587342 ], [ -122.083523999605234, 38.13625300049177 ], [ -122.083322999975323, 38.136234001135783 ], [ -122.082355999841681, 38.136141000307987 ], [ -122.081779999610092, 38.135533000743209 ], [ -122.081363999936457, 38.132973000494545 ], [ -122.081380000080173, 38.131965000994278 ], [ -122.081844000057941, 38.127309000523589 ], [ -122.081875999920541, 38.1266210004177 ], [ -122.081636000112681, 38.126029000524852 ], [ -122.08081999969933, 38.125389000510722 ], [ -122.080103999799675, 38.124917000869132 ], [ -122.080068000161319, 38.124893000950038 ], [ -122.080052000238993, 38.124461000937586 ], [ -122.07917200026553, 38.1234530009976 ], [ -122.07858000052461, 38.122957000442362 ], [ -122.07776400032057, 38.122349000339824 ], [ -122.07563599945955, 38.12151700078811 ], [ -122.074740000373652, 38.121213001059679 ], [ -122.073204000212826, 38.12070100071918 ], [ -122.071379999959746, 38.120189000517605 ], [ -122.070600999652584, 38.120111000278889 ], [ -122.068980000277904, 38.119949001003 ], [ -122.06803599957837, 38.119885000744731 ], [ -122.067059999602705, 38.119549000538974 ], [ -122.064756000135844, 38.119021001009706 ], [ -122.064180000066742, 38.118816001072979 ], [ -122.065668000294295, 38.116926000332548 ], [ -122.065555999591851, 38.115742000576766 ], [ -122.065683999784198, 38.113054000622547 ], [ -122.065891999732358, 38.112142000594403 ], [ -122.066163999476899, 38.112062001013406 ], [ -122.066483999502793, 38.112110001065219 ], [ -122.066643999495966, 38.112014001026409 ], [ -122.066355999779148, 38.111902000626948 ], [ -122.065955999685514, 38.111710000642042 ], [ -122.065971999976639, 38.111486001073835 ], [ -122.06622799939197, 38.110174000407149 ], [ -122.066962999580085, 38.107934000761468 ], [ -122.067502000257718, 38.106733000302491 ], [ -122.068615000412947, 38.105585000530169 ], [ -122.06939600046347, 38.104738001020984 ], [ -122.07092600037339, 38.103536000309887 ], [ -122.072656000116822, 38.102552001075196 ], [ -122.072739999887219, 38.10247800031815 ], [ -122.074115999978602, 38.101246000911203 ], [ -122.079252000309083, 38.096862000341432 ], [ -122.082867999531828, 38.094078000494299 ], [ -122.091508000253086, 38.086991000728744 ], [ -122.102076000356988, 38.078819000738527 ], [ -122.119075999694047, 38.062820000307731 ], [ -122.121974000409281, 38.058857000554319 ], [ -122.123976000254459, 38.056120000507299 ], [ -122.12470700016317, 38.054293000837234 ], [ -122.127375999958801, 38.047620000529562 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1218, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.189972999721689, 38.114918000876187 ], [ -122.188679000382791, 38.114918000630787 ], [ -122.18997899943318, 38.112719000993913 ], [ -122.191862999816237, 38.107473000590275 ], [ -122.190374999506929, 38.107031000836557 ], [ -122.189299000365523, 38.107084000356217 ], [ -122.189248999393058, 38.107098000562296 ], [ -122.188911999757238, 38.10704900059708 ], [ -122.188323999476651, 38.106903000921136 ], [ -122.187643000127963, 38.106684001043064 ], [ -122.187396000096683, 38.106489000623974 ], [ -122.187055999756396, 38.10624500047934 ], [ -122.186622999521532, 38.105855000771761 ], [ -122.186097000423544, 38.10536800063462 ], [ -122.185633000130551, 38.104978000621955 ], [ -122.185416999668718, 38.104613000443862 ], [ -122.185324000303268, 38.104204001064538 ], [ -122.185022999730364, 38.103683000628116 ], [ -122.184860000390046, 38.103401000998872 ], [ -122.184952999555307, 38.103108001073579 ], [ -122.185092000046382, 38.102670000397026 ], [ -122.185834000014069, 38.102158000259379 ], [ -122.185994999523402, 38.10180300028162 ], [ -122.186065999588976, 38.101647000463714 ], [ -122.185787999664939, 38.101172000621787 ], [ -122.186111999612436, 38.100697000572609 ], [ -122.189184999622626, 38.099972000954949 ], [ -122.189024999745598, 38.099758000990157 ], [ -122.188962000222162, 38.099582000282197 ], [ -122.188932000235909, 38.099497000623934 ], [ -122.188855000500425, 38.099279000356923 ], [ -122.188791000381372, 38.0983030007678 ], [ -122.188423000062883, 38.097487001086364 ], [ -122.187991000063406, 38.097679000821756 ], [ -122.18766299984884, 38.097737000477004 ], [ -122.187295999745302, 38.097893000312268 ], [ -122.187097999542701, 38.098093000346026 ], [ -122.18685699968016, 38.098261000896585 ], [ -122.186617000387258, 38.098216000327781 ], [ -122.186517999399513, 38.097993001079843 ], [ -122.186630999464541, 38.097570000626497 ], [ -122.186757999696212, 38.097225000349567 ], [ -122.186715999604417, 38.096735001107362 ], [ -122.186744000196484, 38.096434000571392 ], [ -122.187126000366575, 38.096066000695401 ], [ -122.187409000076585, 38.095855000949385 ], [ -122.187702999746122, 38.095599000357666 ], [ -122.187656999807615, 38.095479000398008 ], [ -122.187442000039354, 38.095470000986957 ], [ -122.18724000046015, 38.095337001118239 ], [ -122.187290000398363, 38.095018000386901 ], [ -122.187514999554693, 38.094812000371029 ], [ -122.187931999550315, 38.094340000722276 ], [ -122.188386999761761, 38.093928000711699 ], [ -122.188806999886509, 38.093567000763542 ], [ -122.189015000145602, 38.093647000595425 ], [ -122.189174999745632, 38.093759000430047 ], [ -122.189238999750955, 38.093967000786073 ], [ -122.189463000059973, 38.093903000639479 ], [ -122.189675999840077, 38.093887000688348 ], [ -122.189895000396632, 38.093871000263618 ], [ -122.190342999720457, 38.093871000307175 ], [ -122.191222999647479, 38.094127000782379 ], [ -122.191510999655563, 38.094415001030242 ], [ -122.191862999852518, 38.094655001056495 ], [ -122.19256700000588, 38.09492700028013 ], [ -122.19330300031298, 38.095055000855979 ], [ -122.193353000210124, 38.095063000258818 ], [ -122.193701000459356, 38.095116000419139 ], [ -122.194135000498576, 38.095183000942747 ], [ -122.194518999973681, 38.095359000852405 ], [ -122.194790999946235, 38.09558300072208 ], [ -122.195031000255, 38.095903000409301 ], [ -122.195047000495194, 38.096175000264758 ], [ -122.195078999892104, 38.096399000780288 ], [ -122.195097000292876, 38.096492000986991 ], [ -122.195191000172514, 38.096975000341182 ], [ -122.195479000160859, 38.097319001050153 ], [ -122.197979000176261, 38.097219000724621 ], [ -122.198478999423429, 38.097719000565178 ], [ -122.198779000112125, 38.098219000980365 ], [ -122.198955000481334, 38.098504000332923 ], [ -122.200079000240081, 38.100319000888391 ], [ -122.202159000400954, 38.103058000277642 ], [ -122.20417900003477, 38.105719000356046 ], [ -122.204478999954262, 38.105919000254325 ], [ -122.203919000056871, 38.105978000283336 ], [ -122.203572000129242, 38.10682200064236 ], [ -122.203728999525481, 38.10786200076479 ], [ -122.203400999562177, 38.108788000635393 ], [ -122.202538999466299, 38.111357000477433 ], [ -122.20170200047005, 38.111494000686861 ], [ -122.199379000114703, 38.111719000842434 ], [ -122.198886999822122, 38.112287000932149 ], [ -122.196398000474247, 38.114431000512077 ], [ -122.194212000333692, 38.115941001108453 ], [ -122.193852999797585, 38.115846000550626 ], [ -122.189972999721689, 38.114918000876187 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1360, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.69929699965229, 38.433811000341016 ], [ -122.704497000034777, 38.432612000465873 ], [ -122.705697000035372, 38.43231200111201 ], [ -122.70999800026901, 38.431212000703702 ], [ -122.711297999856484, 38.430912001123559 ], [ -122.712557999868949, 38.430914000826121 ], [ -122.714544999706078, 38.431028001114576 ], [ -122.71474499983249, 38.431036000706399 ], [ -122.715097999509254, 38.431112000561022 ], [ -122.715315000135917, 38.431188000691634 ], [ -122.715498000324942, 38.431712000473546 ], [ -122.717098000320249, 38.435912000907599 ], [ -122.716798000362644, 38.436012000250301 ], [ -122.716152999667798, 38.436203000692714 ], [ -122.715597999614417, 38.436411000369439 ], [ -122.712498000334975, 38.437211000924776 ], [ -122.711898000035319, 38.436611000854285 ], [ -122.710698000221356, 38.437211000285686 ], [ -122.709897999464857, 38.437911000744307 ], [ -122.709760999759808, 38.437971000871741 ], [ -122.708296999791926, 38.438611000579527 ], [ -122.705297000373861, 38.439511000618893 ], [ -122.704197000064738, 38.439811000874698 ], [ -122.702796999895114, 38.440211001009878 ], [ -122.702197000278503, 38.43871100095955 ], [ -122.701997000401221, 38.438311000728007 ], [ -122.701396999614261, 38.43761100093424 ], [ -122.701397000183235, 38.437311001065979 ], [ -122.700996999662252, 38.436711000583514 ], [ -122.700496999644301, 38.436011000608097 ], [ -122.699797000297991, 38.434811000256182 ], [ -122.699696999988873, 38.434611000275105 ], [ -122.699497000143609, 38.434311000348522 ], [ -122.69929699965229, 38.433811000341016 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1364, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.709477000485123, 38.459879001007948 ], [ -122.709142000114014, 38.459454000512778 ], [ -122.708764999490938, 38.458977000778951 ], [ -122.708397000414365, 38.458511000827464 ], [ -122.707897000014071, 38.457911000378331 ], [ -122.707896999433515, 38.457611000605219 ], [ -122.706196999945277, 38.455911001071108 ], [ -122.705496999696507, 38.455211000397611 ], [ -122.703896999800079, 38.453711001055311 ], [ -122.703896999701712, 38.452911001121876 ], [ -122.705297000495364, 38.452911000805265 ], [ -122.705596999770378, 38.452911000683009 ], [ -122.706196999470478, 38.452911000840537 ], [ -122.707896999855564, 38.45301100038089 ], [ -122.709396999556873, 38.453111000275449 ], [ -122.709396999459287, 38.452511001107766 ], [ -122.709452999413529, 38.451327001101284 ], [ -122.709497000161903, 38.450411000530885 ], [ -122.710696999975383, 38.450311000971652 ], [ -122.712198000486964, 38.450311000733208 ], [ -122.713297999389823, 38.450311001078717 ], [ -122.714497999675856, 38.450411000559136 ], [ -122.715798000446043, 38.450411000481331 ], [ -122.717398000176019, 38.450511000753146 ], [ -122.71739799939111, 38.451311000329092 ], [ -122.717298000250736, 38.452611000260376 ], [ -122.717298000447443, 38.453211000414079 ], [ -122.717197999421131, 38.454611000725862 ], [ -122.717198000080998, 38.455011000699066 ], [ -122.717197999417337, 38.456411000382978 ], [ -122.717098000226969, 38.457211001061445 ], [ -122.717197999593026, 38.457511000802775 ], [ -122.716997999788063, 38.458711001062397 ], [ -122.71709799962548, 38.459011000815764 ], [ -122.716998000403862, 38.460911000823444 ], [ -122.718198000165515, 38.463011000477891 ], [ -122.719098000446365, 38.464711000747613 ], [ -122.719297999779087, 38.464911000322815 ], [ -122.718698000516127, 38.465111000971085 ], [ -122.71629799948316, 38.465211001093024 ], [ -122.715197999820248, 38.465411000267757 ], [ -122.714396999485828, 38.465611001028897 ], [ -122.714396999628107, 38.465411000518699 ], [ -122.714297000286578, 38.464411000972532 ], [ -122.713197000339633, 38.463211000903719 ], [ -122.712196999676692, 38.462511000973194 ], [ -122.71059700038505, 38.460911000958617 ], [ -122.709897000222441, 38.460411000671783 ], [ -122.709477000485123, 38.459879001007948 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1357, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.649430999993044, 38.4642500004826 ], [ -122.647295999636427, 38.463610000539788 ], [ -122.646836999462323, 38.463533000460579 ], [ -122.646695999906555, 38.463510000805165 ], [ -122.645822000320848, 38.46316000031802 ], [ -122.645442999836419, 38.463009000837872 ], [ -122.644221999544982, 38.462520000500852 ], [ -122.643112999642014, 38.462077000429041 ], [ -122.642867000490668, 38.46197900069869 ], [ -122.642695000257675, 38.461910001047862 ], [ -122.642097999537938, 38.461731000839663 ], [ -122.641694999655527, 38.461610000263043 ], [ -122.641395000282685, 38.461510001008094 ], [ -122.641188999589204, 38.461428000485135 ], [ -122.640894999578293, 38.461310000332844 ], [ -122.640071000245854, 38.460861000840133 ], [ -122.639794999753605, 38.460710000258224 ], [ -122.639574000331336, 38.460544000794656 ], [ -122.639395000405074, 38.460410000759985 ], [ -122.638989999966014, 38.460208000628199 ], [ -122.638594999423887, 38.460010000694936 ], [ -122.638249999578065, 38.459809000473413 ], [ -122.63786099943016, 38.459582001064248 ], [ -122.63739500049725, 38.459310000519032 ], [ -122.637094999403473, 38.459210001051119 ], [ -122.634205999475299, 38.458149001084173 ], [ -122.636995000038198, 38.45661000031928 ], [ -122.636295000447433, 38.455910001020889 ], [ -122.637295000413616, 38.455910000864591 ], [ -122.637894999848356, 38.45671000039107 ], [ -122.638095000221782, 38.456910000582042 ], [ -122.640094999833011, 38.458010000936476 ], [ -122.640305999826239, 38.458127000337313 ], [ -122.642994999488508, 38.459610000868381 ], [ -122.644495999886203, 38.459710001090059 ], [ -122.645098999838169, 38.460273000682264 ], [ -122.64568200017807, 38.460817000318428 ], [ -122.645995999944347, 38.461110000897499 ], [ -122.646195999881783, 38.461010000605974 ], [ -122.647395999668959, 38.460510000384787 ], [ -122.648407000160745, 38.460332000861499 ], [ -122.648497000505216, 38.460316000379287 ], [ -122.649095999454232, 38.460210000732964 ], [ -122.64953599969482, 38.460411000939452 ], [ -122.650409000419216, 38.460810000588928 ], [ -122.652596000240891, 38.46181000028696 ], [ -122.655096000045063, 38.463010000829655 ], [ -122.656496000088964, 38.462710000829908 ], [ -122.657728999925908, 38.462392001003032 ], [ -122.658719999768152, 38.462136000828842 ], [ -122.659596000385946, 38.461910000284568 ], [ -122.661195999779352, 38.461510000665726 ], [ -122.662496000460166, 38.461610000902539 ], [ -122.663995999945584, 38.461910000345569 ], [ -122.664338999575364, 38.46191000033766 ], [ -122.664573999944736, 38.461910001086444 ], [ -122.665895999712049, 38.461910000694949 ], [ -122.666095999452551, 38.461910000408935 ], [ -122.666599000530866, 38.461548000667612 ], [ -122.667440000478237, 38.460941000712211 ], [ -122.667896000092981, 38.460611001045748 ], [ -122.668196000097623, 38.460311000941545 ], [ -122.669161999752291, 38.459667000517108 ], [ -122.669995999414354, 38.459111000739064 ], [ -122.670395999562402, 38.458811000756 ], [ -122.670896000066136, 38.458411001123132 ], [ -122.671095999526386, 38.458311000561416 ], [ -122.672095999883382, 38.457611001016915 ], [ -122.673053999426628, 38.4580900007916 ], [ -122.674095999839508, 38.458611000479031 ], [ -122.673396000197499, 38.458911000922576 ], [ -122.671895999741096, 38.459911000421464 ], [ -122.671495999681596, 38.46021100096403 ], [ -122.670695999927844, 38.460811000594127 ], [ -122.669696000120837, 38.461511000329246 ], [ -122.668895999700482, 38.462111001002356 ], [ -122.668449999393204, 38.462288000988323 ], [ -122.66780800036608, 38.462545000619471 ], [ -122.667600999663151, 38.46262700086529 ], [ -122.667526999495578, 38.462657000524544 ], [ -122.667159000213516, 38.462804000953007 ], [ -122.666981999469229, 38.462875000377672 ], [ -122.665588999991343, 38.463433000515856 ], [ -122.665095000094368, 38.463630000909376 ], [ -122.664895999779446, 38.463710000498288 ], [ -122.66509599979031, 38.464410000890027 ], [ -122.665095999521313, 38.464910000353719 ], [ -122.66529600042513, 38.465010000257543 ], [ -122.665348000284197, 38.465141000704755 ], [ -122.665390000150495, 38.465245001006423 ], [ -122.665495999719127, 38.465510000426953 ], [ -122.665768000503633, 38.466081000581617 ], [ -122.665786000464777, 38.466119000284067 ], [ -122.665848999513855, 38.466402000998798 ], [ -122.66599599944918, 38.466619001006606 ], [ -122.666341999456904, 38.467888000375062 ], [ -122.6665289997445, 38.468443000503946 ], [ -122.666595999653609, 38.46861000057806 ], [ -122.666675000166549, 38.468868000627985 ], [ -122.666892999869503, 38.469576000916454 ], [ -122.66699599993602, 38.46991000075176 ], [ -122.668195999989592, 38.470210000682371 ], [ -122.668995999678543, 38.470510000639187 ], [ -122.668936000169552, 38.470526000678788 ], [ -122.667567999602355, 38.470891000826398 ], [ -122.667495999435801, 38.470910000459106 ], [ -122.667151999640737, 38.471033000882485 ], [ -122.666352999600861, 38.471318000761549 ], [ -122.666196999504422, 38.471374000286751 ], [ -122.666095999742922, 38.471410000733016 ], [ -122.665913000024531, 38.471471000358036 ], [ -122.665699999398115, 38.471542000473349 ], [ -122.665572999462, 38.471584000449823 ], [ -122.664895999780967, 38.471810000839561 ], [ -122.665095999877252, 38.472110001072274 ], [ -122.6643959999694, 38.472310000359037 ], [ -122.663571999818785, 38.472598000705126 ], [ -122.662396000410553, 38.47301000038896 ], [ -122.661196000525706, 38.473410000255598 ], [ -122.660896000396633, 38.472710000472148 ], [ -122.659896000383981, 38.4731100007468 ], [ -122.659195999432285, 38.473310000424782 ], [ -122.658295999876174, 38.473610000735128 ], [ -122.657796000476665, 38.473810000258489 ], [ -122.657196000093421, 38.474010000642096 ], [ -122.656295999617655, 38.474310000839267 ], [ -122.655496000028933, 38.474510000313842 ], [ -122.655195999602924, 38.472810000646632 ], [ -122.654995999441539, 38.471810001107713 ], [ -122.654095999858313, 38.472010000309432 ], [ -122.653996000038404, 38.47131000091963 ], [ -122.653966000316714, 38.471083001116014 ], [ -122.653695999780126, 38.469010000732624 ], [ -122.653496000043319, 38.467010000773904 ], [ -122.653296000230966, 38.464910001032358 ], [ -122.652744000046425, 38.464882001110105 ], [ -122.651295999815588, 38.464810000890608 ], [ -122.649430999993044, 38.4642500004826 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1369, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.749278999751155, 38.469854000914182 ], [ -122.750798000066126, 38.471611000325453 ], [ -122.751097999499393, 38.471911000251247 ], [ -122.753099000347106, 38.474311000972058 ], [ -122.757990999662013, 38.479845000491565 ], [ -122.758023999454664, 38.479883000773349 ], [ -122.758481999647117, 38.48040000107801 ], [ -122.759645000003985, 38.481708001015221 ], [ -122.760409000257766, 38.482567000973226 ], [ -122.766342999830655, 38.489268000808863 ], [ -122.767707999565403, 38.490810000894129 ], [ -122.770098999410564, 38.493510000907214 ], [ -122.770898999960778, 38.494510000822132 ], [ -122.772499000159002, 38.496310000380589 ], [ -122.771098999820126, 38.496310000655839 ], [ -122.770098999430303, 38.496410000669776 ], [ -122.768998999944444, 38.496310000784611 ], [ -122.760525999970596, 38.496108000625838 ], [ -122.759495000337637, 38.496079000454465 ], [ -122.758999000236344, 38.496070000687297 ], [ -122.758774999550468, 38.496050000388308 ], [ -122.757757999582552, 38.496068001141246 ], [ -122.756198999568539, 38.496010000656923 ], [ -122.754441999774841, 38.494802000265956 ], [ -122.751397999526489, 38.492710000269568 ], [ -122.751098000212451, 38.492510000580339 ], [ -122.745762000526398, 38.48877500039238 ], [ -122.739219999500975, 38.484196000501278 ], [ -122.738347999580455, 38.483585000611406 ], [ -122.738097999611981, 38.483410000338424 ], [ -122.737255000508057, 38.482789000450943 ], [ -122.736198000031891, 38.48201000038943 ], [ -122.735097999819402, 38.481010000588441 ], [ -122.734998000193116, 38.480910001028022 ], [ -122.734097999434368, 38.480110000667111 ], [ -122.733597999933494, 38.479710000871819 ], [ -122.733403999470241, 38.479452000677682 ], [ -122.73269800019969, 38.478510001088857 ], [ -122.731797999753383, 38.476510000640161 ], [ -122.730998000509345, 38.474511000986752 ], [ -122.732198000472437, 38.476011000401435 ], [ -122.732798000448525, 38.476011000676031 ], [ -122.731297999795729, 38.474011000724836 ], [ -122.730598000362022, 38.472411001004922 ], [ -122.731998000262323, 38.472111001101972 ], [ -122.732298000139792, 38.472111000311159 ], [ -122.733397999558392, 38.472011001022132 ], [ -122.736498000256276, 38.472011000763501 ], [ -122.737897999778568, 38.472011000704491 ], [ -122.739598000516636, 38.471411001098318 ], [ -122.742397999751731, 38.469411000259903 ], [ -122.742646999690749, 38.469322000931108 ], [ -122.743797999967057, 38.46891100093255 ], [ -122.74469800031828, 38.46871100056579 ], [ -122.747598000450182, 38.46791100089591 ], [ -122.749278999751155, 38.469854000914182 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1373, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.726098000202484, 38.459911000668171 ], [ -122.726697999674812, 38.45991100045935 ], [ -122.728097999994873, 38.459911000943322 ], [ -122.731197999621088, 38.45911100102424 ], [ -122.732597999898729, 38.45871100107501 ], [ -122.733298000232551, 38.458211000777645 ], [ -122.735097999992263, 38.457011000368453 ], [ -122.736497999483774, 38.456211000440845 ], [ -122.73709800003985, 38.455811000963578 ], [ -122.740697999957519, 38.459911000463769 ], [ -122.741777000294221, 38.461235000315511 ], [ -122.742897999629079, 38.462611000350819 ], [ -122.743049999916281, 38.462781000481584 ], [ -122.743199999815943, 38.462949000732692 ], [ -122.744662000008844, 38.464586000935917 ], [ -122.745397999696522, 38.465411000888622 ], [ -122.747598000450182, 38.46791100089591 ], [ -122.74469800031828, 38.46871100056579 ], [ -122.743797999967057, 38.46891100093255 ], [ -122.742646999690749, 38.469322000931108 ], [ -122.742397999751731, 38.469411000259903 ], [ -122.739598000516636, 38.471411001098318 ], [ -122.737897999778568, 38.472011000704491 ], [ -122.736498000256276, 38.472011000763501 ], [ -122.733397999558392, 38.472011001022132 ], [ -122.732298000139792, 38.472111000311159 ], [ -122.731998000262323, 38.472111001101972 ], [ -122.730598000362022, 38.472411001004922 ], [ -122.731297999795729, 38.474011000724836 ], [ -122.732798000448525, 38.476011000676031 ], [ -122.732198000472437, 38.476011000401435 ], [ -122.730998000509345, 38.474511000986752 ], [ -122.730397999985499, 38.473011000593644 ], [ -122.72949799999509, 38.471111000341217 ], [ -122.729397999991306, 38.470811000882243 ], [ -122.728597999930869, 38.469111000963053 ], [ -122.727790000307181, 38.467111000580474 ], [ -122.726498000304431, 38.463911000665391 ], [ -122.726398000453202, 38.463311000521067 ], [ -122.726098000202484, 38.459911000668171 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1372, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.755498999951158, 38.459311001063419 ], [ -122.753898999730481, 38.459911000785937 ], [ -122.752698999459113, 38.460211000873201 ], [ -122.752020000192203, 38.460770001086942 ], [ -122.75171999940234, 38.461017000351745 ], [ -122.751550999544421, 38.461156000890369 ], [ -122.751521999748817, 38.461180000983518 ], [ -122.751076999882272, 38.461547000732352 ], [ -122.750998999504475, 38.461611000729462 ], [ -122.750099000159082, 38.462811000475405 ], [ -122.74974700028362, 38.463005000254682 ], [ -122.747928999817162, 38.46401100076374 ], [ -122.746543000356183, 38.464778000815123 ], [ -122.745397999696522, 38.465411000888622 ], [ -122.744662000008844, 38.464586000935917 ], [ -122.743199999815943, 38.462949000732692 ], [ -122.743049999916281, 38.462781000481584 ], [ -122.742897999629079, 38.462611000350819 ], [ -122.741777000294221, 38.461235000315511 ], [ -122.740697999957519, 38.459911000463769 ], [ -122.73709800003985, 38.455811000963578 ], [ -122.737350999629683, 38.455661001057479 ], [ -122.739184999973901, 38.454578000471372 ], [ -122.739297999621812, 38.454511000378545 ], [ -122.741497999653546, 38.453111000381739 ], [ -122.744497999567372, 38.452811000855625 ], [ -122.744643999572375, 38.45279500078658 ], [ -122.745644000165157, 38.452684000972965 ], [ -122.746297999937624, 38.452611000819026 ], [ -122.746780000027755, 38.452611000804374 ], [ -122.7468700004261, 38.45261100061645 ], [ -122.747066000275026, 38.452611000326186 ], [ -122.747238000396678, 38.452611001107755 ], [ -122.747398999456394, 38.452611000450325 ], [ -122.747665999602262, 38.45260000053068 ], [ -122.749898999486561, 38.452511000353475 ], [ -122.749956000044918, 38.452511000347819 ], [ -122.750607000150737, 38.452511000864291 ], [ -122.750732000029146, 38.452511001006037 ], [ -122.751488999915424, 38.45256700029551 ], [ -122.751595999945039, 38.45258000106525 ], [ -122.751841999442263, 38.45261100065683 ], [ -122.752566999529577, 38.452611000995695 ], [ -122.754299000253738, 38.452611000435752 ], [ -122.754754000285601, 38.45261100111555 ], [ -122.755131000349536, 38.452611001061292 ], [ -122.755528000380082, 38.452611000971679 ], [ -122.756621999916746, 38.452611000264099 ], [ -122.756756999390092, 38.452611000329426 ], [ -122.757098999814332, 38.452611000583488 ], [ -122.757698999899787, 38.45261100105072 ], [ -122.758487999599197, 38.452577000384885 ], [ -122.759757999813473, 38.452522000935552 ], [ -122.759999000529163, 38.452511000704291 ], [ -122.760399000434745, 38.45251100106853 ], [ -122.760357000359207, 38.452570000861989 ], [ -122.759898999524594, 38.453211001126441 ], [ -122.759899000418088, 38.453689001055089 ], [ -122.759898999396313, 38.453967000773766 ], [ -122.759898999483937, 38.454411000378393 ], [ -122.759598999871955, 38.454711000970178 ], [ -122.759199000153004, 38.455811000343928 ], [ -122.756824000196971, 38.458368000331923 ], [ -122.756599000291203, 38.458611000640971 ], [ -122.755498999951158, 38.459311001063419 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1376, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.724598000400078, 38.445611001069317 ], [ -122.723898000384892, 38.44571100038582 ], [ -122.722897999457714, 38.444211001051841 ], [ -122.722297999466591, 38.44341100028192 ], [ -122.721497999505019, 38.442311000872621 ], [ -122.721297999450186, 38.442011000535565 ], [ -122.719597999764545, 38.439611000874493 ], [ -122.719477000386263, 38.439442001102627 ], [ -122.719097999481662, 38.438911001015654 ], [ -122.718698000160927, 38.438211001137674 ], [ -122.71829099996134, 38.437533000700931 ], [ -122.718098000474214, 38.437211001023428 ], [ -122.717710999987005, 38.436744000623747 ], [ -122.717098000320249, 38.435912000907599 ], [ -122.7172980003822, 38.435412000730167 ], [ -122.719498000100856, 38.434812000835059 ], [ -122.721197999403941, 38.434912000874824 ], [ -122.72139800049726, 38.434912000705452 ], [ -122.722197999935716, 38.435212000325933 ], [ -122.72231100000927, 38.435302000890047 ], [ -122.722596999693792, 38.435531000708174 ], [ -122.722697999758211, 38.435612000837054 ], [ -122.723009000114487, 38.436109000662029 ], [ -122.723697999713863, 38.437212000607659 ], [ -122.723972999620983, 38.437120000562068 ], [ -122.724597999651166, 38.436912000484838 ], [ -122.725998000479521, 38.436312000992224 ], [ -122.726687999767805, 38.436437000271006 ], [ -122.727098000234221, 38.436512001011728 ], [ -122.728137999437237, 38.43651200047222 ], [ -122.728798000285011, 38.436512000458116 ], [ -122.729467000383252, 38.436325000726129 ], [ -122.730677000378421, 38.435986000970786 ], [ -122.731298000140626, 38.435812000394442 ], [ -122.733297999741723, 38.435712000770643 ], [ -122.734698000261929, 38.435712001064005 ], [ -122.73609799969779, 38.437112000247119 ], [ -122.736398000128929, 38.437412000566709 ], [ -122.737387999571538, 38.437721000688896 ], [ -122.737832999467145, 38.437860001022941 ], [ -122.738944000404103, 38.438208000310453 ], [ -122.739195000450081, 38.438286001097445 ], [ -122.740155999779788, 38.438586001101761 ], [ -122.741005999756354, 38.43885200083934 ], [ -122.741198000089341, 38.438912001122191 ], [ -122.742797999946177, 38.438512000741127 ], [ -122.74319800028762, 38.439112000338021 ], [ -122.744499000418315, 38.440012001004298 ], [ -122.745924000417986, 38.440885000465485 ], [ -122.749398999574424, 38.443012000956131 ], [ -122.750598999806897, 38.443711000474252 ], [ -122.75099899989047, 38.4452110003066 ], [ -122.750618000059049, 38.445204000458304 ], [ -122.747932999578097, 38.44515100059489 ], [ -122.747375000072594, 38.445140000816806 ], [ -122.745898999889562, 38.445111001038178 ], [ -122.745599000207065, 38.445211000966438 ], [ -122.745329000235927, 38.445211001135711 ], [ -122.744297999907786, 38.44521100069354 ], [ -122.743998000201785, 38.445211000817238 ], [ -122.74359800030183, 38.445111001081308 ], [ -122.742698000352178, 38.445211000285347 ], [ -122.742297999608724, 38.445211000823079 ], [ -122.741698000257117, 38.445111000671659 ], [ -122.739298000533282, 38.445311000294424 ], [ -122.738734000314679, 38.44531100037058 ], [ -122.738198000200342, 38.445311000816169 ], [ -122.736801999943566, 38.445372000537581 ], [ -122.73589799956072, 38.445411000761254 ], [ -122.734097999884909, 38.445511000803144 ], [ -122.733398000098603, 38.44551100083887 ], [ -122.732706000176464, 38.445534000537386 ], [ -122.730397999730741, 38.445611000404249 ], [ -122.729598000196006, 38.445711001019973 ], [ -122.728197999990911, 38.445811000981479 ], [ -122.726598000520596, 38.445711000436432 ], [ -122.724598000400078, 38.445611001069317 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1378, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.739698999730834, 38.413812000737224 ], [ -122.739850000000473, 38.415084001032078 ], [ -122.739940999777616, 38.415848001078409 ], [ -122.740024000433266, 38.416540000669592 ], [ -122.740082000350952, 38.417032000998631 ], [ -122.740198999672756, 38.418012000430416 ], [ -122.740141999755025, 38.418469000756211 ], [ -122.740099000434299, 38.418812000269504 ], [ -122.740185000009106, 38.418985000540232 ], [ -122.740298999422194, 38.41921200101028 ], [ -122.740299000057846, 38.419407000507931 ], [ -122.740298999779839, 38.419712000607575 ], [ -122.740338999624001, 38.420114000559472 ], [ -122.740398999763954, 38.420712000426001 ], [ -122.740493000075247, 38.421522000790304 ], [ -122.740534000192739, 38.421880000558836 ], [ -122.74055099999849, 38.422031000246236 ], [ -122.740628000463744, 38.422695000641454 ], [ -122.740699000132423, 38.423312000586229 ], [ -122.740698999939667, 38.4235120008317 ], [ -122.74079899992654, 38.424112001045536 ], [ -122.740799000067454, 38.424512000575668 ], [ -122.740898999754549, 38.425012000959427 ], [ -122.741016000282201, 38.425892000447163 ], [ -122.741085999607591, 38.42642000101997 ], [ -122.741188999480997, 38.426809000485754 ], [ -122.741198000503033, 38.426812000705716 ], [ -122.741242999776219, 38.427247001051548 ], [ -122.741484999658837, 38.429607000910643 ], [ -122.741498000236888, 38.429712000295524 ], [ -122.741598000081581, 38.430512001024461 ], [ -122.734598000309617, 38.431812001106984 ], [ -122.732753999573347, 38.432103000814202 ], [ -122.732698000463245, 38.432112000660943 ], [ -122.730097999519003, 38.432512000729957 ], [ -122.728697999972454, 38.432712000426754 ], [ -122.728538999405515, 38.432732000702927 ], [ -122.726052999813888, 38.433051001076436 ], [ -122.724797999830372, 38.43321200068268 ], [ -122.722497999698533, 38.433412000935988 ], [ -122.721397999694389, 38.433312000438548 ], [ -122.720897999965047, 38.433212000777843 ], [ -122.720310999730557, 38.433036000494077 ], [ -122.719898000293867, 38.432912000993653 ], [ -122.718491999661708, 38.432396000256858 ], [ -122.718309999648653, 38.432329000526906 ], [ -122.717089999553778, 38.431882001113223 ], [ -122.716898000124701, 38.431812001017569 ], [ -122.715797999397978, 38.431412000881046 ], [ -122.715315000135917, 38.431188000691634 ], [ -122.715218999430633, 38.430404000641694 ], [ -122.715097999656123, 38.429412000838283 ], [ -122.715086000271683, 38.429136000557861 ], [ -122.715045999775356, 38.428210000984627 ], [ -122.71501899950141, 38.427148000663536 ], [ -122.71502899987162, 38.427018000318832 ], [ -122.715050000251438, 38.42681000074144 ], [ -122.714978999521023, 38.426278000879684 ], [ -122.714938999973214, 38.425917000283938 ], [ -122.714892000136942, 38.425326000692188 ], [ -122.714899999582698, 38.424838000322012 ], [ -122.715067999409627, 38.423504000801231 ], [ -122.715181999978171, 38.421963001093545 ], [ -122.71609799942685, 38.42131200043157 ], [ -122.716398000417499, 38.420812000273187 ], [ -122.717197999641598, 38.420712000668537 ], [ -122.717297999760618, 38.422112001081793 ], [ -122.717198000532647, 38.4230120008271 ], [ -122.717298000421337, 38.423912000816856 ], [ -122.716498000374415, 38.424012000996939 ], [ -122.715698000424581, 38.42411200111848 ], [ -122.716097999809662, 38.426012000655263 ], [ -122.716698000415079, 38.426012000791495 ], [ -122.716897999829953, 38.426812000364372 ], [ -122.7177979999977, 38.426712000472691 ], [ -122.718697999988592, 38.426612000873092 ], [ -122.720598000527303, 38.426512000870133 ], [ -122.721198000256607, 38.426412000917296 ], [ -122.721381000148767, 38.426379000807472 ], [ -122.723161999491197, 38.42600800051305 ], [ -122.724422999874847, 38.425748000482024 ], [ -122.724598000013572, 38.425712000693196 ], [ -122.72459100004599, 38.425598000375729 ], [ -122.724527999404572, 38.424593000383872 ], [ -122.724514999595883, 38.424306000824615 ], [ -122.724505000419967, 38.424218000898385 ], [ -122.724498000124214, 38.424112000696589 ], [ -122.725308999735887, 38.423842001134737 ], [ -122.725397999956996, 38.423812000736191 ], [ -122.727783000446564, 38.423262000912949 ], [ -122.727998000484021, 38.423212001015386 ], [ -122.727984999554437, 38.423090000282471 ], [ -122.727839999967316, 38.421708000989298 ], [ -122.727798000078081, 38.421312000780397 ], [ -122.727497999467147, 38.419012000766067 ], [ -122.727397999532911, 38.41831200082067 ], [ -122.727397999957418, 38.417612000835128 ], [ -122.727297999589481, 38.416812000880981 ], [ -122.727197999589066, 38.416212000279714 ], [ -122.726998000398012, 38.415312000712163 ], [ -122.72691099959853, 38.414186000950671 ], [ -122.728797999571597, 38.414112000459198 ], [ -122.729597999871771, 38.414212000306193 ], [ -122.731798000376102, 38.414112000604668 ], [ -122.733397999443937, 38.413512000383847 ], [ -122.73510700000908, 38.413106000454597 ], [ -122.736279999980042, 38.412828000872544 ], [ -122.739299000176558, 38.412112001058759 ], [ -122.739812000053917, 38.412142000930821 ], [ -122.740998999580242, 38.412212001045745 ], [ -122.740098999883855, 38.413312000632629 ], [ -122.739918000145934, 38.41353800106819 ], [ -122.739698999730834, 38.413812000737224 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1384, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.829085999816314, 38.425556000509935 ], [ -122.828838000121252, 38.425341000445435 ], [ -122.828674999846356, 38.425172000931838 ], [ -122.828321000472116, 38.424800000287732 ], [ -122.827302000412999, 38.423213000780549 ], [ -122.823602000508089, 38.420513000309754 ], [ -122.824502000440475, 38.416813000441273 ], [ -122.822302000242772, 38.415713001049433 ], [ -122.820001999683498, 38.416013000401584 ], [ -122.815101999925545, 38.41241300062967 ], [ -122.816901999888287, 38.410013001122763 ], [ -122.81770200048193, 38.409613000749601 ], [ -122.818302000111871, 38.409013000359145 ], [ -122.818101999512194, 38.407913000542123 ], [ -122.817701999986681, 38.406413000800789 ], [ -122.817401999424476, 38.405613000850046 ], [ -122.816496999833859, 38.404708000591789 ], [ -122.815402000122447, 38.403613000327958 ], [ -122.81830200001906, 38.403013000387269 ], [ -122.819002000379825, 38.402913000888638 ], [ -122.820302000270999, 38.402613000847403 ], [ -122.821598999960258, 38.402397000492932 ], [ -122.822101999660759, 38.402313000975951 ], [ -122.822601999585942, 38.402313000839811 ], [ -122.822702000523762, 38.401813000826003 ], [ -122.822302000494602, 38.401013000242827 ], [ -122.822202000427268, 38.400813000543721 ], [ -122.8220019996498, 38.400413000869619 ], [ -122.82160199964234, 38.399513001121107 ], [ -122.822502000453099, 38.399213000540982 ], [ -122.822602000304087, 38.399413000938488 ], [ -122.823702000420525, 38.39911300074791 ], [ -122.824002000459231, 38.39891300052804 ], [ -122.824501999909558, 38.399813000473685 ], [ -122.825101999896461, 38.400913000887776 ], [ -122.825502000382343, 38.401613000796594 ], [ -122.827402000193175, 38.400913000840717 ], [ -122.828001999707112, 38.400213000936013 ], [ -122.82840299995118, 38.399513000513245 ], [ -122.829302999428421, 38.398513001083366 ], [ -122.831203000331357, 38.39821300039398 ], [ -122.83190299947448, 38.39821300055484 ], [ -122.832802999554431, 38.398313001040663 ], [ -122.834802999746529, 38.398113000996354 ], [ -122.837302999766607, 38.398213001115799 ], [ -122.839402999859544, 38.398113000291886 ], [ -122.840502999721664, 38.398113000767381 ], [ -122.842702999726612, 38.39801300113762 ], [ -122.843502999875966, 38.397913001028819 ], [ -122.843903000406968, 38.397913000858161 ], [ -122.844286000334108, 38.397873000969327 ], [ -122.846702999983236, 38.397614000663182 ], [ -122.848103000380192, 38.397514000660273 ], [ -122.848799999597531, 38.399082000272003 ], [ -122.848902999905917, 38.399314000989243 ], [ -122.850603999471332, 38.403313001065257 ], [ -122.852003999841401, 38.404113000327023 ], [ -122.854503999868015, 38.405513000614107 ], [ -122.855184000305769, 38.40553300102188 ], [ -122.857904000128087, 38.405613001053659 ], [ -122.858319999469956, 38.406184001093109 ], [ -122.858531000242138, 38.406475000744649 ], [ -122.85870400038948, 38.406713000817852 ], [ -122.861803999855653, 38.411013000292904 ], [ -122.866104000292509, 38.41011300083337 ], [ -122.870003999731054, 38.41611300110344 ], [ -122.870704000528377, 38.416758001080971 ], [ -122.871303999633156, 38.417213000687312 ], [ -122.874804999414636, 38.419913000531558 ], [ -122.870680000146621, 38.421509001021313 ], [ -122.870394000060017, 38.421610000753134 ], [ -122.868203999776483, 38.42241300074496 ], [ -122.864003999503936, 38.42351300049085 ], [ -122.862804000244424, 38.4236130003626 ], [ -122.858803999743998, 38.424813000336691 ], [ -122.849103000370789, 38.425713000740217 ], [ -122.848302999721255, 38.425713000723938 ], [ -122.842502999686744, 38.427313000753728 ], [ -122.841402999826201, 38.427813000311396 ], [ -122.840947000231992, 38.427815000357107 ], [ -122.840335999825783, 38.427647000673986 ], [ -122.840222000215519, 38.42757300085924 ], [ -122.839573000007306, 38.427151000443224 ], [ -122.838896999613127, 38.426630000446437 ], [ -122.838642999557038, 38.426434000773327 ], [ -122.83850300001815, 38.426313000712675 ], [ -122.838353000252937, 38.426297000865247 ], [ -122.838001999832613, 38.426221000863137 ], [ -122.836773000269488, 38.426200000326425 ], [ -122.835758999484767, 38.426183000554921 ], [ -122.835422999717352, 38.426251000536766 ], [ -122.834476999948407, 38.426656001044577 ], [ -122.834309000193358, 38.426694000746437 ], [ -122.834110999963343, 38.426694000915347 ], [ -122.833226000141494, 38.426595000820797 ], [ -122.832103000005489, 38.426413000298879 ], [ -122.829605999723995, 38.425858000720872 ], [ -122.82929399985909, 38.425788001045305 ], [ -122.829085999816314, 38.425556000509935 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1390, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -123.030228000410077, 38.503709000974766 ], [ -123.029848999457244, 38.503640000421072 ], [ -123.028568000431278, 38.503365000387049 ], [ -123.02830600031551, 38.503251001141905 ], [ -123.027373999518574, 38.503159000707448 ], [ -123.026266999949286, 38.502815000934426 ], [ -123.02504300004702, 38.502678000856662 ], [ -123.024490000096336, 38.502013000334678 ], [ -123.02387900044495, 38.501739001024703 ], [ -123.02303400024131, 38.501784001085731 ], [ -123.023033999559374, 38.501555001123762 ], [ -123.023354999844983, 38.500594000436024 ], [ -123.023239000153552, 38.500389000271639 ], [ -123.022976999404321, 38.49991300062463 ], [ -123.022162000415364, 38.499424000855377 ], [ -123.02181200016885, 38.499138000787347 ], [ -123.021550000514665, 38.499000000554872 ], [ -123.021448000131684, 38.49898300076854 ], [ -123.021142000416944, 38.498932000875946 ], [ -123.021005999444967, 38.498945001013865 ], [ -123.020704999924121, 38.498977000815671 ], [ -123.019510999636836, 38.499068000326943 ], [ -123.018899000109741, 38.49890800105991 ], [ -123.018433000499286, 38.4986790004494 ], [ -123.017849999633199, 38.498518000689103 ], [ -123.016510000457544, 38.498449000287863 ], [ -123.016044000470558, 38.498357000707095 ], [ -123.015637000368059, 38.498174000408689 ], [ -123.014851000175284, 38.497304001030734 ], [ -123.014267999417768, 38.496983000887013 ], [ -123.013570000116033, 38.496800000511875 ], [ -123.012667000108721, 38.496822001139769 ], [ -123.011938000273673, 38.496959000881155 ], [ -123.010569999725931, 38.496272000257896 ], [ -123.009697000423301, 38.495493000915161 ], [ -123.009084999552542, 38.495630001122727 ], [ -123.008444000082704, 38.495309000712503 ], [ -123.008060000251461, 38.495521000445507 ], [ -123.007851999559321, 38.4956540003719 ], [ -123.00765699997342, 38.495798001093171 ], [ -123.007028000059904, 38.495262000410975 ], [ -123.006686999985504, 38.495246000400037 ], [ -123.005339999955709, 38.496107000797934 ], [ -123.005297999582453, 38.496132000568728 ], [ -123.005064999921842, 38.496384001013539 ], [ -123.004961999999551, 38.496447000251358 ], [ -123.004712999940651, 38.496598000756521 ], [ -123.004947000413836, 38.497940000663917 ], [ -123.004858999478088, 38.498467000540884 ], [ -123.004597000162079, 38.49892400102263 ], [ -123.004042999432585, 38.499313000376667 ], [ -123.003197999963092, 38.499454000561748 ], [ -123.001110000346657, 38.49945400111109 ], [ -123.000698000489322, 38.499356000969613 ], [ -123.000270999580053, 38.499348000864664 ], [ -122.999920000008444, 38.499265000322723 ], [ -122.999355000213811, 38.49911200051892 ], [ -122.998909999755199, 38.499013000758787 ], [ -122.998408999775677, 38.499028001125318 ], [ -122.997845000522943, 38.499142000978644 ], [ -122.997219000461897, 38.499387000603249 ], [ -122.99660900046824, 38.499669000243728 ], [ -122.996210000419126, 38.499913000458953 ], [ -122.996074999987542, 38.499821001086332 ], [ -122.995708000169287, 38.49983700096594 ], [ -122.995341999463079, 38.499829000431788 ], [ -122.994929999837211, 38.499776001006374 ], [ -122.994686000193141, 38.49963800095103 ], [ -122.994510000097705, 38.499413000477958 ], [ -122.99453299969781, 38.499226000730964 ], [ -122.994533000297139, 38.499036000664738 ], [ -122.994310000464338, 38.498813001061713 ], [ -122.994244000439224, 38.498677000256322 ], [ -122.99412100025144, 38.498402000640063 ], [ -122.994109999445868, 38.498313000770274 ], [ -122.993892999573887, 38.498105000441768 ], [ -122.993541999531871, 38.497830000697491 ], [ -122.993022999603141, 38.49758600075436 ], [ -122.99250400020486, 38.497426000604811 ], [ -122.992044999642786, 38.497311000729894 ], [ -122.991495999594136, 38.497098000910718 ], [ -122.990991999915693, 38.497067000241621 ], [ -122.990609000133119, 38.497113000538377 ], [ -122.990640999943636, 38.496632001120084 ], [ -122.990687000290478, 38.496274000400362 ], [ -122.990518999476222, 38.495930000891676 ], [ -122.99045799968242, 38.49577800084689 ], [ -122.990309000474596, 38.495613000720546 ], [ -122.990168000423608, 38.495381000337154 ], [ -122.990077000163637, 38.495175000433825 ], [ -122.990106999931598, 38.494832001002457 ], [ -122.990198999556668, 38.49440500099729 ], [ -122.990214000020288, 38.494099000476496 ], [ -122.990336000195484, 38.493642000497488 ], [ -122.990488999410559, 38.493199000533799 ], [ -122.990686999789304, 38.492795000360168 ], [ -122.99082499978158, 38.492451000683623 ], [ -122.990886000491741, 38.492261000653727 ], [ -122.991449999872131, 38.491940000928878 ], [ -122.991608999486445, 38.491913000332048 ], [ -122.991893999502622, 38.491711000603274 ], [ -122.992367000211402, 38.491376000549053 ], [ -122.992610999867253, 38.4910630010109 ], [ -122.992748000444848, 38.490773000574222 ], [ -122.992778999468371, 38.490475000604611 ], [ -122.992840000477131, 38.490109000404836 ], [ -122.992657000012017, 38.489819000756995 ], [ -122.992596000229938, 38.489438000324526 ], [ -122.992748000492028, 38.489148000754227 ], [ -122.992977000498044, 38.488698000342048 ], [ -122.993083999779159, 38.488354000405259 ], [ -122.993068999844439, 38.488255001069888 ], [ -122.992823999982988, 38.487866000351957 ], [ -122.992686999826262, 38.487279000848545 ], [ -122.992443000065236, 38.486851001052557 ], [ -122.99218399969827, 38.486340000507894 ], [ -122.991954999799347, 38.486028000539449 ], [ -122.991680000509149, 38.485837000311932 ], [ -122.991390000422342, 38.485417000436158 ], [ -122.991131000199871, 38.484998000710213 ], [ -122.990732999621343, 38.484631000410424 ], [ -122.990534999401689, 38.48447900090936 ], [ -122.990439000525981, 38.484383001053466 ], [ -122.990335999602934, 38.484280000799487 ], [ -122.990199000272156, 38.484013000729803 ], [ -122.989970000241158, 38.483701000361982 ], [ -122.989608999999277, 38.483513000565139 ], [ -122.988947999445358, 38.48360900063053 ], [ -122.988581999715223, 38.483662000258825 ], [ -122.988292000270576, 38.483807000642344 ], [ -122.98806299946186, 38.48376900030761 ], [ -122.987651000127329, 38.483502000430697 ], [ -122.987116999429475, 38.483273000814862 ], [ -122.986491000253906, 38.483182000342858 ], [ -122.985742999997598, 38.483205000835063 ], [ -122.985071999564781, 38.483327000416047 ], [ -122.98435500035994, 38.48341800081738 ], [ -122.983621999515847, 38.483548001003882 ], [ -122.983362999803802, 38.483556000643716 ], [ -122.983058000497905, 38.483739001013184 ], [ -122.982431999994077, 38.483861000971565 ], [ -122.981958999647944, 38.4838760010051 ], [ -122.981532000107919, 38.484067000256161 ], [ -122.981134999939457, 38.484036000968281 ], [ -122.980493999929934, 38.483937001100117 ], [ -122.980332000384948, 38.483935000349604 ], [ -122.979930000098946, 38.483929000361357 ], [ -122.979319000438849, 38.484158001078129 ], [ -122.978709000160777, 38.484387000582558 ], [ -122.978521000220411, 38.484481000878908 ], [ -122.978128999457311, 38.484677000367761 ], [ -122.977641000487154, 38.484914000871726 ], [ -122.977076000023715, 38.485081000414105 ], [ -122.976619000390087, 38.485188000598988 ], [ -122.976068999987902, 38.485295000763543 ], [ -122.975581000135477, 38.485295000984294 ], [ -122.975230000060847, 38.48534800075489 ], [ -122.974925000100555, 38.48532600028183 ], [ -122.974390999966502, 38.485074000487224 ], [ -122.973918000487032, 38.484990001087766 ], [ -122.973291999713851, 38.485051000276627 ], [ -122.972682000524827, 38.485234000970578 ], [ -122.97243999942161, 38.485324000921707 ], [ -122.972269999888411, 38.48538700080789 ], [ -122.972055999930177, 38.485806000610076 ], [ -122.971843000373539, 38.486005000998375 ], [ -122.971537000344341, 38.486020000767112 ], [ -122.971455000331602, 38.485997000727735 ], [ -122.971019000267006, 38.485875000710131 ], [ -122.970651999600037, 38.485692000501373 ], [ -122.970362999428588, 38.485616000355286 ], [ -122.969995999900945, 38.485631000476666 ], [ -122.969538999436708, 38.485745000703247 ], [ -122.969049000158378, 38.485791000954002 ], [ -122.968636999946071, 38.485791000412689 ], [ -122.968301999653505, 38.485829000998322 ], [ -122.968163999523625, 38.485844000348116 ], [ -122.967721999614753, 38.485921000872125 ], [ -122.967187999439773, 38.486089000326466 ], [ -122.966775999507504, 38.486272000290356 ], [ -122.966210999466171, 38.486401000819662 ], [ -122.966089999820156, 38.486396001059447 ], [ -122.965814000415705, 38.486386000258157 ], [ -122.965310999825746, 38.486241000975333 ], [ -122.964959999771537, 38.486089000298875 ], [ -122.9645020005253, 38.486104001008741 ], [ -122.96412099972018, 38.486142000918782 ], [ -122.963663000210161, 38.486241000608423 ], [ -122.963311999742942, 38.486264001056007 ], [ -122.963037000322359, 38.486233001119921 ], [ -122.962778000309996, 38.486058000459217 ], [ -122.96236600027035, 38.485982000918654 ], [ -122.962167999569232, 38.485951001124135 ], [ -122.961808000503865, 38.485913000819629 ], [ -122.961953999647193, 38.485562000686606 ], [ -122.962137000485768, 38.485120000389038 ], [ -122.962168000021563, 38.484700000813696 ], [ -122.962137000291349, 38.48449800049876 ], [ -122.962106999394322, 38.484296000491781 ], [ -122.961877999441825, 38.483792000760076 ], [ -122.961695000292281, 38.483502001108455 ], [ -122.96172500006945, 38.483144000333517 ], [ -122.961816999446583, 38.482785000480121 ], [ -122.961710000386304, 38.48241900079843 ], [ -122.961283000480137, 38.482304000502779 ], [ -122.960656999429219, 38.482182000729772 ], [ -122.960153000046901, 38.482030000751877 ], [ -122.959711000290056, 38.481709000527559 ], [ -122.959497000206923, 38.48122900045955 ], [ -122.959313999801637, 38.480778001047206 ], [ -122.958826000324336, 38.480450000612095 ], [ -122.958382999655328, 38.480168000472503 ], [ -122.958108999464301, 38.47982500091274 ], [ -122.958032000131567, 38.479565000444026 ], [ -122.95807999944536, 38.47933100063829 ], [ -122.958109000084903, 38.479192001122442 ], [ -122.958215999827544, 38.478810000268503 ], [ -122.958230999983215, 38.478314000512185 ], [ -122.957712000017807, 38.477856000905732 ], [ -122.957101999704292, 38.477628000270272 ], [ -122.956278000449814, 38.477444000677586 ], [ -122.955853999576249, 38.477367000338987 ], [ -122.955652000255071, 38.477330000301059 ], [ -122.954903999400671, 38.477025000826515 ], [ -122.954247999494669, 38.476765000531422 ], [ -122.954063000034424, 38.476670000288721 ], [ -122.953745000128549, 38.476506000639027 ], [ -122.953469999718493, 38.476323000637592 ], [ -122.953104000497589, 38.476277000788969 ], [ -122.953018999475375, 38.476230000727142 ], [ -122.95280800005709, 38.47611300108197 ], [ -122.952768000352222, 38.475873000878565 ], [ -122.952555000327962, 38.475377000481167 ], [ -122.952203999640801, 38.474492000766098 ], [ -122.95186799960868, 38.473744000930893 ], [ -122.951623999482322, 38.473233000484335 ], [ -122.951308000225509, 38.472813000624846 ], [ -122.950768999415331, 38.472302000600031 ], [ -122.950625000194464, 38.47207900048106 ], [ -122.950220000145222, 38.471455001060242 ], [ -122.949655000443158, 38.470837000322099 ], [ -122.949076000028313, 38.470349000351391 ], [ -122.948693999762057, 38.46980000029469 ], [ -122.948404000006249, 38.469189000573039 ], [ -122.94828199940838, 38.468480001132512 ], [ -122.948495999864832, 38.467877000424913 ], [ -122.948513999976811, 38.467784000846898 ], [ -122.948632999425186, 38.467168000314423 ], [ -122.948706000345723, 38.466692000818377 ], [ -122.948739999926005, 38.466466001015476 ], [ -122.949076000432854, 38.466161000494367 ], [ -122.949228000496944, 38.465764000544873 ], [ -122.949308000459013, 38.465513000845789 ], [ -122.949289000353346, 38.465108000442036 ], [ -122.949333999988468, 38.464794000290873 ], [ -122.949381000507515, 38.464467000894224 ], [ -122.949380999707117, 38.46398600077373 ], [ -122.949167000024318, 38.46363500065906 ], [ -122.948861999811925, 38.463147000451606 ], [ -122.94860300020008, 38.462666000440031 ], [ -122.947930999663853, 38.462415000879879 ], [ -122.947320999923775, 38.462338001125858 ], [ -122.947167999522719, 38.462430000736838 ], [ -122.947350999405032, 38.462498000763283 ], [ -122.947885000447741, 38.462659000715767 ], [ -122.947977000252379, 38.462941000484335 ], [ -122.947549999695141, 38.463071001045094 ], [ -122.947000000010902, 38.462994000337758 ], [ -122.946465999452855, 38.462903000322768 ], [ -122.94597799962618, 38.462735000945102 ], [ -122.945763999864255, 38.462483000631529 ], [ -122.9456580002105, 38.462010000922142 ], [ -122.945413000216064, 38.461575000277435 ], [ -122.945047000137905, 38.461407000594079 ], [ -122.944861999729653, 38.461483000879831 ], [ -122.944435999630414, 38.461659000520896 ], [ -122.944054000176678, 38.462018000388156 ], [ -122.943780000376904, 38.462407001063994 ], [ -122.943672999487788, 38.462659000713707 ], [ -122.94297100007114, 38.462849000287207 ], [ -122.9421780003766, 38.462971000687901 ], [ -122.941536999767834, 38.462971000702844 ], [ -122.940865000054529, 38.462987000729051 ], [ -122.94010700023081, 38.463113000771642 ], [ -122.939949999471764, 38.4630330003382 ], [ -122.939538000508392, 38.462956001008067 ], [ -122.938744000296381, 38.46280400087435 ], [ -122.937904999844079, 38.462567001013241 ], [ -122.937264000437011, 38.462231000615631 ], [ -122.936806999752434, 38.461913000597306 ], [ -122.936592999874023, 38.461720000721492 ], [ -122.935815000408837, 38.461125000647868 ], [ -122.93567699984348, 38.46075100112246 ], [ -122.935605999937707, 38.460595000771868 ], [ -122.935403000089892, 38.46014900100468 ], [ -122.935188999692883, 38.459622000403435 ], [ -122.934944999979209, 38.459103000858313 ], [ -122.93499700017027, 38.458733000821113 ], [ -122.935020999492096, 38.458562000567561 ], [ -122.934968999787657, 38.458370000289875 ], [ -122.934868999403761, 38.457997000351007 ], [ -122.934706999718458, 38.457813001046112 ], [ -122.934547999810349, 38.457608000268777 ], [ -122.933983999801427, 38.457280000442204 ], [ -122.933150999639309, 38.456883000550349 ], [ -122.932992000313234, 38.456807000902138 ], [ -122.932274999516636, 38.456586000732102 ], [ -122.93164900003903, 38.456242000369606 ], [ -122.931221999435479, 38.455807000320512 ], [ -122.930881999582468, 38.455522000389664 ], [ -122.93065699940945, 38.45533400097375 ], [ -122.930138000139564, 38.454724000333449 ], [ -122.929970999818707, 38.454297000887145 ], [ -122.929986000205517, 38.453763000975918 ], [ -122.92989400042859, 38.452985001090383 ], [ -122.929527999466941, 38.452321000422856 ], [ -122.928887000158639, 38.45175600043661 ], [ -122.928185000334096, 38.451215000474868 ], [ -122.927391999955077, 38.450604000689346 ], [ -122.927071000433202, 38.449948000275235 ], [ -122.926873000105488, 38.449818001067477 ], [ -122.926429999466492, 38.449528000243973 ], [ -122.92580500035308, 38.449048000834146 ], [ -122.925529999733001, 38.448529000798196 ], [ -122.925575999512759, 38.447964000611634 ], [ -122.925707000168913, 38.447413000672476 ], [ -122.926155999606095, 38.447499000528595 ], [ -122.926476000389556, 38.447537000772357 ], [ -122.926933999391395, 38.447362000691754 ], [ -122.927162999925287, 38.447125000481961 ], [ -122.927422000433722, 38.446744000571279 ], [ -122.927620999965995, 38.446332000660853 ], [ -122.927910999970734, 38.445706001044378 ], [ -122.928185000178331, 38.445378000390633 ], [ -122.928414000014982, 38.445050000432083 ], [ -122.928703999808704, 38.444638000947258 ], [ -122.928811000519033, 38.444279000460078 ], [ -122.928735000511935, 38.443677000480093 ], [ -122.928779999717051, 38.443234000825932 ], [ -122.929026000435911, 38.442998000278628 ], [ -122.929161999692568, 38.442868001140837 ], [ -122.929589000210996, 38.442509000889316 ], [ -122.929695999925883, 38.44231100092842 ], [ -122.929772000405947, 38.442082000986204 ], [ -122.929559000235813, 38.441876000725607 ], [ -122.929223000158814, 38.44167800078921 ], [ -122.928978999528837, 38.441541000810439 ], [ -122.929208000178633, 38.44142600107751 ], [ -122.929620000352216, 38.441388000502371 ], [ -122.929908999701823, 38.44136500060845 ], [ -122.930076999394842, 38.440991001046697 ], [ -122.929970999474463, 38.440640000998002 ], [ -122.929742000360079, 38.440282000356142 ], [ -122.929390999501592, 38.440076000718321 ], [ -122.928933000075048, 38.440038000488009 ], [ -122.928707000021618, 38.440013000288538 ], [ -122.928398999654718, 38.440068000630383 ], [ -122.928063000247249, 38.440068000317197 ], [ -122.9278039998308, 38.439824000962801 ], [ -122.927696999743333, 38.439458000936717 ], [ -122.927910999845295, 38.439145000420829 ], [ -122.928399000153263, 38.438817000571191 ], [ -122.928657999635348, 38.438420000676132 ], [ -122.928840999836737, 38.437939000678291 ], [ -122.928934000370106, 38.437413000939031 ], [ -122.929002999838261, 38.437338000668419 ], [ -122.928886999791033, 38.436468000884076 ], [ -122.929526999835545, 38.435072000515532 ], [ -122.929555999949272, 38.43383600055121 ], [ -122.929468999452482, 38.433790000262164 ], [ -122.92944000019115, 38.433492000595209 ], [ -122.929527000097451, 38.433240000660952 ], [ -122.930138999565713, 38.43237100031331 ], [ -122.930953000371019, 38.43207300029578 ], [ -122.931243999945139, 38.431798000861377 ], [ -122.931303000466627, 38.431409000742633 ], [ -122.931156999490099, 38.431249001069837 ], [ -122.931128000398175, 38.429555000874359 ], [ -122.93354700006698, 38.429562000471996 ], [ -122.937534000267789, 38.429574000642596 ], [ -122.938045000028239, 38.429576000458965 ], [ -122.939102000533239, 38.429579000427843 ], [ -122.939294000306703, 38.429663000372621 ], [ -122.939447000034065, 38.429730000800909 ], [ -122.939625999549691, 38.429808000343826 ], [ -122.940003999782093, 38.42973900031933 ], [ -122.940207999560599, 38.429579000378546 ], [ -122.94036399983986, 38.429580000920168 ], [ -122.94124700027659, 38.429586000285227 ], [ -122.943351000188173, 38.429602001071316 ], [ -122.944419000390837, 38.429624000356725 ], [ -122.945592000012738, 38.429648000669204 ], [ -122.945969999594496, 38.429831000514412 ], [ -122.946552000230923, 38.429739001015193 ], [ -122.947221999757375, 38.429510000901622 ], [ -122.947832999589494, 38.428617000300086 ], [ -122.948064999657944, 38.428480001045941 ], [ -122.948268999937085, 38.428503000388901 ], [ -122.948501999732571, 38.428686001004927 ], [ -122.94864799985055, 38.42925800068349 ], [ -122.94925900039587, 38.429739000343545 ], [ -122.949694999870673, 38.42996800091764 ], [ -122.949957000341328, 38.430013000344204 ], [ -122.950539000533468, 38.429693000270007 ], [ -122.950858999802094, 38.429670000478794 ], [ -122.951222000351095, 38.429649000412581 ], [ -122.951645000387259, 38.429624000931526 ], [ -122.951877999706127, 38.429624000410726 ], [ -122.952430999536261, 38.429418000943869 ], [ -122.952895999634762, 38.429006000517035 ], [ -122.953001000231154, 38.428822001034717 ], [ -122.953303000360719, 38.428296000725481 ], [ -122.953360999793617, 38.427793001110309 ], [ -122.953098999968802, 38.427083000484046 ], [ -122.953273999889547, 38.42706000085316 ], [ -122.953215999472746, 38.426396000741612 ], [ -122.953303000118311, 38.426213000385879 ], [ -122.954146999789018, 38.426213001101615 ], [ -122.954357999914009, 38.426027000466632 ], [ -122.954669999915808, 38.425755000464591 ], [ -122.955194000099013, 38.425572001075771 ], [ -122.956009000445917, 38.425480001025264 ], [ -122.956765999937431, 38.4255030008053 ], [ -122.958046000511374, 38.426006000480299 ], [ -122.958335000520123, 38.426025000457336 ], [ -122.958395000294971, 38.426029000679257 ], [ -122.958772999431517, 38.425777000517911 ], [ -122.958860999459475, 38.425228000994288 ], [ -122.959442999609323, 38.425480000567546 ], [ -122.959763000254327, 38.425800000490156 ], [ -122.959908000206454, 38.426143000312891 ], [ -122.959821000422167, 38.426578000514617 ], [ -122.959560000474411, 38.427540000943928 ], [ -122.959646999909438, 38.427792000583047 ], [ -122.960054000500719, 38.428204000327987 ], [ -122.961015000308109, 38.428776000989394 ], [ -122.96188799999905, 38.430103000532164 ], [ -122.962130000326184, 38.430305000869772 ], [ -122.96232500037695, 38.430469000823479 ], [ -122.962558000013786, 38.430538001088287 ], [ -122.963112000030605, 38.430401000623291 ], [ -122.963431999813608, 38.430423000651466 ], [ -122.964276000473674, 38.430767000312436 ], [ -122.965615000403261, 38.431682000407136 ], [ -122.966603999925027, 38.432208000729005 ], [ -122.966999999446458, 38.432491000637725 ], [ -122.9675650003134, 38.43289500108223 ], [ -122.968146999549589, 38.433032000673606 ], [ -122.969748000392713, 38.433215001044942 ], [ -122.969822999646851, 38.433234001046294 ], [ -122.970824999403391, 38.4334890008736 ], [ -122.971244999985316, 38.433662000761394 ], [ -122.971436000271552, 38.433741000936962 ], [ -122.971931000240176, 38.434198001049836 ], [ -122.973066999588895, 38.435938000277083 ], [ -122.973271000532463, 38.436625000484341 ], [ -122.973358000088936, 38.436693000431482 ], [ -122.973357999723248, 38.436853000815603 ], [ -122.973444999672978, 38.436899000947484 ], [ -122.973444999997582, 38.437042000660902 ], [ -122.974397999825925, 38.437086000457441 ], [ -122.974689999752684, 38.437414000800416 ], [ -122.974832999678142, 38.438009000744103 ], [ -122.975015999450733, 38.438406000493622 ], [ -122.975109000174555, 38.43861400080673 ], [ -122.975244999819736, 38.438757000449215 ], [ -122.975551000062111, 38.438932000981922 ], [ -122.975916999798827, 38.439138000687997 ], [ -122.976236999723895, 38.439352000890082 ], [ -122.976466000228214, 38.439550000594274 ], [ -122.97658799944837, 38.439924000745719 ], [ -122.976694999972722, 38.440214000248247 ], [ -122.976801999720706, 38.440527000631178 ], [ -122.976923999713676, 38.440794000970747 ], [ -122.977061000398635, 38.441122000622556 ], [ -122.977167999733396, 38.441351000419459 ], [ -122.977183000054666, 38.441480000659908 ], [ -122.976893000043034, 38.441686001036288 ], [ -122.976450999931629, 38.441969000383544 ], [ -122.976114999924448, 38.442236000484719 ], [ -122.975946999932134, 38.442434000620018 ], [ -122.9759470003155, 38.442678001033265 ], [ -122.976008999413338, 38.442814000909109 ], [ -122.976024000302345, 38.442884000977166 ], [ -122.976236999687131, 38.44302900048671 ], [ -122.976908999967222, 38.443449000541307 ], [ -122.97713199992144, 38.443561000345255 ], [ -122.97741200046498, 38.443701000868089 ], [ -122.977976999866499, 38.443868000257389 ], [ -122.978479999453455, 38.443991000523908 ], [ -122.979090999575945, 38.444311000662772 ], [ -122.979425999956192, 38.444525000954513 ], [ -122.979792000245823, 38.444578000599215 ], [ -122.980066999617975, 38.444677000928579 ], [ -122.98024999959577, 38.444929000838272 ], [ -122.980432999541094, 38.445432000538425 ], [ -122.980570999971178, 38.445692000644613 ], [ -122.980800000009282, 38.445852000680794 ], [ -122.981008999755744, 38.445814000495751 ], [ -122.98116600000678, 38.445852000601455 ], [ -122.981485999561656, 38.445661000778443 ], [ -122.981790999798221, 38.445349000656549 ], [ -122.98201999978599, 38.4449060009484 ], [ -122.982279999875615, 38.444357001064013 ], [ -122.982615000291105, 38.443861000833472 ], [ -122.983104000203554, 38.443373000425858 ], [ -122.983682999515992, 38.443067000532487 ], [ -122.984720999901015, 38.443022000982729 ], [ -122.985331000331783, 38.443106000709392 ], [ -122.985971999917268, 38.44315100060188 ], [ -122.986476999453927, 38.442999000421835 ], [ -122.987118000215858, 38.442617000546818 ], [ -122.987788999541564, 38.442297000733454 ], [ -122.988609999619229, 38.442214000665821 ], [ -122.989436999810408, 38.442282000528238 ], [ -122.989970999713464, 38.442465000904633 ], [ -122.990458999725348, 38.44251800105922 ], [ -122.991054000231145, 38.442640000439624 ], [ -122.991649999682423, 38.442762000472335 ], [ -122.992183999406421, 38.442755000568368 ], [ -122.992717999551488, 38.442777000451258 ], [ -122.993358999579698, 38.442823000847689 ], [ -122.993754999973987, 38.443106000866528 ], [ -122.993968999540456, 38.443426000780967 ], [ -122.994121000451941, 38.443579000809343 ], [ -122.994503000246056, 38.443800000718262 ], [ -122.994961000042167, 38.443945000841097 ], [ -122.995463999972372, 38.444074000631701 ], [ -122.995810000148452, 38.444214000272325 ], [ -122.995983000459958, 38.444258000365743 ], [ -122.996410000150433, 38.444387000668264 ], [ -122.996914000248125, 38.444708000411651 ], [ -122.997295000352835, 38.445021000458688 ], [ -122.99753899993155, 38.445356000675872 ], [ -122.997615999619043, 38.445677001118632 ], [ -122.997752999674844, 38.445906000575256 ], [ -122.998027999898525, 38.446050000872191 ], [ -122.998469999580408, 38.446287000748718 ], [ -122.99876000039356, 38.446607000818254 ], [ -122.998927999747281, 38.446844001131872 ], [ -122.998897000151544, 38.447058000325946 ], [ -122.99880599941622, 38.447180000448952 ], [ -122.9989590004745, 38.447416001086843 ], [ -122.999247999568581, 38.447508000852054 ], [ -122.999737000451148, 38.447935000620554 ], [ -123.00011799998137, 38.448286000311505 ], [ -123.000453999828551, 38.448484000445717 ], [ -123.000609999492113, 38.448514000482241 ], [ -123.000712999721443, 38.448736000360803 ], [ -123.000697999429192, 38.448950000764846 ], [ -123.00062200039973, 38.449179000517681 ], [ -123.000483999544073, 38.449468001063558 ], [ -123.000377999451999, 38.449827000953306 ], [ -123.0003620002107, 38.450132001138968 ], [ -123.000310000430858, 38.450414000453314 ], [ -123.000351999419181, 38.450489000819836 ], [ -123.001110000183189, 38.45009600078361 ], [ -123.001506999898027, 38.449877000611686 ], [ -123.001565999919563, 38.449845001093742 ], [ -123.001697000457469, 38.449593000816257 ], [ -123.001697000148312, 38.449433000776935 ], [ -123.001697000285716, 38.449341000549566 ], [ -123.001522999926522, 38.448860000630972 ], [ -123.001110000026642, 38.448814000647239 ], [ -123.00097300038712, 38.448706000450173 ], [ -123.000819999879383, 38.448225001061473 ], [ -123.000637000213459, 38.447576000469333 ], [ -123.00059100030704, 38.44687400079237 ], [ -123.000239999499556, 38.446211000585066 ], [ -123.000152000531173, 38.446069000694237 ], [ -122.999809999645194, 38.445514000571301 ], [ -122.999429000239573, 38.445150000493655 ], [ -122.999324999463312, 38.445051000759726 ], [ -122.998730000052234, 38.444708000821763 ], [ -122.99799699956661, 38.444341000539289 ], [ -122.99756700006786, 38.444231001004987 ], [ -122.998566999616187, 38.443578000385457 ], [ -122.998710000419322, 38.443522001029848 ], [ -122.998710000318511, 38.443077000250121 ], [ -122.998211000528968, 38.442772000400481 ], [ -122.9977409997704, 38.442615000334619 ], [ -122.997139999892312, 38.443040000724366 ], [ -122.996588999546944, 38.443374000402805 ], [ -122.995966999598963, 38.443211000996598 ], [ -122.995814000119282, 38.442655000343159 ], [ -122.995079999630747, 38.439244001062555 ], [ -122.995497999454898, 38.438858000871086 ], [ -122.996028000492686, 38.438878001037999 ], [ -122.996426000107249, 38.438918001093029 ], [ -122.99668099960067, 38.438648000539629 ], [ -122.996792999864994, 38.437751000625653 ], [ -122.996303000042417, 38.43756900050073 ], [ -122.99598699996892, 38.437735000722789 ], [ -122.995630000023667, 38.437605001007071 ], [ -122.995712000140102, 38.437237000571095 ], [ -122.996761999749253, 38.436640000352192 ], [ -122.997781999798235, 38.43679200090115 ], [ -122.998709999614405, 38.436678001097405 ], [ -122.9991279999374, 38.436938000513315 ], [ -122.999229999422809, 38.437383000672732 ], [ -122.99938299987609, 38.43744200102207 ], [ -122.999751000182684, 38.437178000909498 ], [ -123.000035999462412, 38.43720500089978 ], [ -122.999994999595273, 38.437695001079661 ], [ -122.999679000174453, 38.438205000704492 ], [ -122.999066999880426, 38.438371000819878 ], [ -122.999087999428937, 38.438849000383669 ], [ -122.999790999944295, 38.439477000754771 ], [ -123.000882999638492, 38.440113001013785 ], [ -123.001463999763203, 38.439940001073417 ], [ -123.001738999719365, 38.439515000695089 ], [ -123.001412999744943, 38.439068000577315 ], [ -123.001473999583609, 38.438242000577645 ], [ -123.001891999586917, 38.437940000297004 ], [ -123.002830000263046, 38.437704000762146 ], [ -123.00377899948856, 38.437009000631598 ], [ -123.00387099972545, 38.436474000242683 ], [ -123.004472000026979, 38.436185000841526 ], [ -123.004767999682386, 38.436289001104093 ], [ -123.005115000224677, 38.436361000485185 ], [ -123.006441000024182, 38.436016001063116 ], [ -123.006624000416139, 38.435571000325496 ], [ -123.007012000055695, 38.435353000751441 ], [ -123.00735899987707, 38.434966000615844 ], [ -123.007215999481033, 38.434398001034296 ], [ -123.007277000428559, 38.433927000906017 ], [ -123.007643999723328, 38.43366300024347 ], [ -123.008103000388502, 38.433567000842203 ], [ -123.008623000197176, 38.433788000450328 ], [ -123.00913399992794, 38.433738000621602 ], [ -123.010265999539669, 38.433141000600685 ], [ -123.011693999704477, 38.432750000819915 ], [ -123.013383000038985, 38.430942000845533 ], [ -123.014256000159222, 38.43066700033647 ], [ -123.01492500030372, 38.430988000511086 ], [ -123.01608199957181, 38.431167000790943 ], [ -123.015990999636912, 38.434162000311737 ], [ -123.01637799962819, 38.434262000658038 ], [ -123.018008000429347, 38.434377000910864 ], [ -123.019463000272864, 38.434698000248737 ], [ -123.020918000491733, 38.434928000332086 ], [ -123.021354000036325, 38.435088000532453 ], [ -123.021907000291833, 38.435501001049794 ], [ -123.022604999612909, 38.436210001129929 ], [ -123.022808000200854, 38.437103000568854 ], [ -123.023070000035787, 38.437538001009095 ], [ -123.023168999756948, 38.437621000303416 ], [ -123.023563999946163, 38.437951000625169 ], [ -123.024408000017459, 38.43820300075042 ], [ -123.025223000203752, 38.438317000433159 ], [ -123.026677999472355, 38.438341000404563 ], [ -123.027842999461924, 38.43815800110724 ], [ -123.028279000507538, 38.438227000639955 ], [ -123.029618000432521, 38.438227000598346 ], [ -123.031772000090797, 38.437678000978067 ], [ -123.032296000316222, 38.437633000276541 ], [ -123.033722000487657, 38.437954000690787 ], [ -123.034507000278552, 38.43827400085415 ], [ -123.035001999949372, 38.438709000300996 ], [ -123.035408999451946, 38.439327000324703 ], [ -123.036048999642517, 38.440632000294073 ], [ -123.036573000461075, 38.441296000745005 ], [ -123.037585999957486, 38.442813000844978 ], [ -123.038346999646407, 38.443952000352375 ], [ -123.038870000301131, 38.446310000997563 ], [ -123.039189999890013, 38.44713400080655 ], [ -123.039714000355531, 38.448073000356295 ], [ -123.040819999820556, 38.448600000343184 ], [ -123.041694000230024, 38.449126001072635 ], [ -123.04218800003494, 38.449333000487592 ], [ -123.042508999853297, 38.449333000726469 ], [ -123.043527000109947, 38.449379001092474 ], [ -123.046613000001088, 38.450524000919664 ], [ -123.047020000023309, 38.450547000566772 ], [ -123.04812600042429, 38.450364000262695 ], [ -123.049087000449234, 38.450341000789066 ], [ -123.049621000090838, 38.45038600090917 ], [ -123.049522999873219, 38.450524000318012 ], [ -123.049523000047969, 38.450759000788977 ], [ -123.049522999731792, 38.451669000951696 ], [ -123.048970000446573, 38.453065001020136 ], [ -123.048619999753612, 38.453683000780487 ], [ -123.048707999514789, 38.454278001075949 ], [ -123.048969000033793, 38.454208000867744 ], [ -123.04960999949212, 38.454035000675908 ], [ -123.049989000303228, 38.453933000820541 ], [ -123.049987999649886, 38.455446000817496 ], [ -123.050162999777427, 38.456155000325474 ], [ -123.051151999524578, 38.457506001074179 ], [ -123.051851000258466, 38.458010000897687 ], [ -123.053072999826213, 38.46016100111612 ], [ -123.053597000061146, 38.461031000379904 ], [ -123.053743000201081, 38.462175001096135 ], [ -123.05356799993686, 38.462999000616989 ], [ -123.05286899986433, 38.464373000494895 ], [ -123.052316000116619, 38.464853000640879 ], [ -123.051559000358495, 38.465242001061412 ], [ -123.050102999970747, 38.465586000559469 ], [ -123.049693000171132, 38.465716001080722 ], [ -123.049527000186316, 38.466507000272038 ], [ -123.049212000029996, 38.467012000789268 ], [ -123.048946000416763, 38.467377000977287 ], [ -123.048606999438249, 38.467845000404985 ], [ -123.046783999597068, 38.469359000829833 ], [ -123.04607300023271, 38.470377000614448 ], [ -123.046108000479592, 38.471133001055868 ], [ -123.045647000437611, 38.471010000489976 ], [ -123.045501000445654, 38.472132000784583 ], [ -123.045938000279207, 38.473139000816133 ], [ -123.047246999942359, 38.475062000700994 ], [ -123.04788800033019, 38.475749001100887 ], [ -123.048731999943797, 38.476322000761641 ], [ -123.049226999392545, 38.476894000521099 ], [ -123.049605999999642, 38.47767200049293 ], [ -123.049837999452464, 38.478473000424216 ], [ -123.050013999879582, 38.478812000813718 ], [ -123.050676000457528, 38.478731000672681 ], [ -123.05155599941898, 38.480397000381757 ], [ -123.052778999477525, 38.481427000596405 ], [ -123.053098999579504, 38.481541000365873 ], [ -123.054119000337678, 38.48151800046341 ], [ -123.054759000450261, 38.481747000260043 ], [ -123.056331999641415, 38.482572000443952 ], [ -123.056710000379525, 38.483052001032277 ], [ -123.056972000292063, 38.483716000316889 ], [ -123.057380000304136, 38.484311000759469 ], [ -123.057846000340589, 38.484769000790514 ], [ -123.060116999632086, 38.485868000384166 ], [ -123.061106999605215, 38.486761000440268 ], [ -123.061160999636414, 38.48685800066248 ], [ -123.061398999402115, 38.487287000440155 ], [ -123.061573000218615, 38.48792800088097 ], [ -123.061514999607795, 38.488890000536685 ], [ -123.061077999480844, 38.489714000610888 ], [ -123.060378999758967, 38.490080001046692 ], [ -123.059942000100335, 38.490515001066932 ], [ -123.059797000502698, 38.491042000783033 ], [ -123.059855000128962, 38.491499000341108 ], [ -123.060029999437972, 38.491797000898345 ], [ -123.060466999432933, 38.492118000382931 ], [ -123.061107000200451, 38.492346000747489 ], [ -123.061689999910001, 38.492392000423457 ], [ -123.061857000440341, 38.492336001026466 ], [ -123.062651000519992, 38.492072000928374 ], [ -123.064106999742279, 38.491431000453865 ], [ -123.064893999984221, 38.491225001009219 ], [ -123.065476000450445, 38.491293000871558 ], [ -123.065767000188274, 38.491408000401648 ], [ -123.066466000311564, 38.492209000606415 ], [ -123.068068000321304, 38.493537000804139 ], [ -123.069232999574638, 38.494223000554626 ], [ -123.069496000017125, 38.494635000483484 ], [ -123.069583000070764, 38.495002000542392 ], [ -123.069506000342514, 38.495272000295984 ], [ -123.069466999551622, 38.495414000622787 ], [ -123.069088000045639, 38.496123000392352 ], [ -123.068534999758285, 38.496764000608238 ], [ -123.068360000516449, 38.49708500061903 ], [ -123.068447000243552, 38.497657000348063 ], [ -123.068796999856929, 38.49820700036193 ], [ -123.069205000012104, 38.499913000471835 ], [ -123.068943000393674, 38.500875000500102 ], [ -123.068563999443015, 38.501768000306498 ], [ -123.068535000180916, 38.502638000999902 ], [ -123.069116999567186, 38.503348000917647 ], [ -123.070369999492854, 38.504675000861567 ], [ -123.070341000200855, 38.505545000660831 ], [ -123.070020999949406, 38.506072000382872 ], [ -123.069685000182616, 38.506323000852994 ], [ -123.069904000493196, 38.506667000797528 ], [ -123.068855999426319, 38.507766000509008 ], [ -123.068710000167385, 38.508201001082405 ], [ -123.06873899969905, 38.508773001070814 ], [ -123.06897199962728, 38.509460000877247 ], [ -123.069437999445555, 38.509756000554638 ], [ -123.070219999647932, 38.509980000798059 ], [ -123.071914999890282, 38.510466000320328 ], [ -123.072789000318863, 38.510878000610624 ], [ -123.073313000210575, 38.511015000313087 ], [ -123.074206999754026, 38.511015000507435 ], [ -123.074681999879132, 38.511015000470238 ], [ -123.07500300046766, 38.511129000409674 ], [ -123.075381999981289, 38.511198000725983 ], [ -123.075877000067692, 38.511518000321352 ], [ -123.07628499958065, 38.512251001097376 ], [ -123.076373000340098, 38.512937000451359 ], [ -123.07669299944132, 38.51396800084428 ], [ -123.077130999958129, 38.514334000342991 ], [ -123.078384000189843, 38.515043000574941 ], [ -123.078500999602284, 38.515272000900573 ], [ -123.078558999598243, 38.517287000690771 ], [ -123.078676000368574, 38.517584000659618 ], [ -123.078908999766227, 38.51776700042435 ], [ -123.080046000494846, 38.517996000380052 ], [ -123.081385999506978, 38.517881000704882 ], [ -123.082114000493746, 38.51792700034229 ], [ -123.082375999988173, 38.518019001111064 ], [ -123.082930000123639, 38.518408000408478 ], [ -123.084678999727501, 38.520078000940224 ], [ -123.084969999519672, 38.520490000752247 ], [ -123.08491199998123, 38.52090200105367 ], [ -123.084649999467231, 38.521383000446804 ], [ -123.084300000076212, 38.521749000682838 ], [ -123.084154999557214, 38.522322001090664 ], [ -123.08441699952057, 38.523031000246768 ], [ -123.085059000337708, 38.523604000322202 ], [ -123.085437000127726, 38.523809000756849 ], [ -123.086137000238892, 38.523947001076436 ], [ -123.087856000259094, 38.524038000588931 ], [ -123.08817599943319, 38.52412900027565 ], [ -123.088643000039852, 38.524473000565024 ], [ -123.088700999750344, 38.524679000957384 ], [ -123.088873000358262, 38.524814000518134 ], [ -123.088934000391646, 38.524862000358475 ], [ -123.089080000449528, 38.525388000720312 ], [ -123.089050999404535, 38.525571000617681 ], [ -123.088603999964278, 38.52575600099032 ], [ -123.08849799975539, 38.525800000658577 ], [ -123.087711000442695, 38.526007000248562 ], [ -123.087245000232258, 38.526098000963337 ], [ -123.086748999585325, 38.526442000353931 ], [ -123.086603999540046, 38.526716000325081 ], [ -123.086575000281258, 38.527586000788304 ], [ -123.086400000048215, 38.52852500090853 ], [ -123.086430000186567, 38.529326000668163 ], [ -123.086691999613294, 38.529944000678221 ], [ -123.086780000517564, 38.529990000748207 ], [ -123.086779999633421, 38.530677000702255 ], [ -123.086634000052513, 38.530997000715551 ], [ -123.085614999734304, 38.531821000967653 ], [ -123.085381999678262, 38.532096000746144 ], [ -123.085322999645797, 38.53230200038314 ], [ -123.08503200020246, 38.532417000708108 ], [ -123.085032000305205, 38.532691000315261 ], [ -123.085464999682415, 38.533354000975166 ], [ -123.085585999928739, 38.533538000475666 ], [ -123.086286000456653, 38.534454000383725 ], [ -123.086490000441472, 38.534774001117583 ], [ -123.08675200045333, 38.534980000846119 ], [ -123.087946999582044, 38.535552000569986 ], [ -123.088501000376169, 38.535987000530191 ], [ -123.088822000004868, 38.536651000322813 ], [ -123.089230000524722, 38.536971000737601 ], [ -123.089259000097712, 38.537154000269268 ], [ -123.089726000358837, 38.537543000808419 ], [ -123.089463000204162, 38.537612001096157 ], [ -123.08938899942811, 38.537745000961877 ], [ -123.089055999582158, 38.538345000700097 ], [ -123.089231000261435, 38.538436001105715 ], [ -123.089231000360257, 38.538711000763129 ], [ -123.088676999807419, 38.538780000787845 ], [ -123.088384999998141, 38.538688001081809 ], [ -123.088239999949451, 38.538482000841967 ], [ -123.088006000424755, 38.538368000357423 ], [ -123.08745300014624, 38.538482001013662 ], [ -123.08663700051261, 38.538002000322138 ], [ -123.086083000317885, 38.538116000661823 ], [ -123.084859000078907, 38.537750001093038 ], [ -123.084480000289801, 38.537270000313306 ], [ -123.083868000508772, 38.537201000471896 ], [ -123.083604999419691, 38.536926000469748 ], [ -123.0835469999666, 38.535873001094245 ], [ -123.082817999580726, 38.535324000620321 ], [ -123.08278899985622, 38.535141000330078 ], [ -123.082585000325636, 38.535095000770646 ], [ -123.081884999739273, 38.535301001026625 ], [ -123.081886000188163, 38.535805000525727 ], [ -123.082059999917618, 38.536011001035213 ], [ -123.08200199968195, 38.536652000963777 ], [ -123.081914999573115, 38.536721000603869 ], [ -123.081506999564851, 38.53658300049851 ], [ -123.081477999655547, 38.536377001114197 ], [ -123.081274000241805, 38.536103001061939 ], [ -123.08106999954893, 38.535530000782799 ], [ -123.080399000004178, 38.53502700033814 ], [ -123.080223999793461, 38.53454600085675 ], [ -123.079611999458365, 38.534455000979676 ], [ -123.077660000168962, 38.534615001035576 ], [ -123.076960000356266, 38.534249000695389 ], [ -123.076260999442923, 38.534203000791109 ], [ -123.07593999973281, 38.534341000448492 ], [ -123.074016000534897, 38.53443300028929 ], [ -123.073346000371572, 38.534570000800613 ], [ -123.072617000164442, 38.53514200096582 ], [ -123.072531999709739, 38.535547000384206 ], [ -123.07250099958874, 38.535692000416844 ], [ -123.072163999409213, 38.535831000839956 ], [ -123.071888999829739, 38.535944000259946 ], [ -123.071794000485013, 38.53649900035844 ], [ -123.071771999675065, 38.536630000711192 ], [ -123.071568000385199, 38.536974001007763 ], [ -123.071217999530617, 38.537111000539042 ], [ -123.069353000340442, 38.537020000467926 ], [ -123.069411000123367, 38.536745000578371 ], [ -123.069789999671627, 38.536608000874153 ], [ -123.069790000163167, 38.536447001102438 ], [ -123.069324000443672, 38.536264000311839 ], [ -123.068595000246177, 38.536310001005845 ], [ -123.068129000401782, 38.536585000703617 ], [ -123.067982999478815, 38.537271000658997 ], [ -123.067720999559583, 38.537340001106678 ], [ -123.067634000331125, 38.537271000902962 ], [ -123.067604999986685, 38.536287000317095 ], [ -123.067837999766425, 38.536012000932736 ], [ -123.068945000238159, 38.535303000833132 ], [ -123.069031999869793, 38.535005000476893 ], [ -123.068886999837133, 38.534891001117487 ], [ -123.068390999560194, 38.534937001120582 ], [ -123.066847000337248, 38.535532000266578 ], [ -123.066525999555054, 38.536081000346392 ], [ -123.065738999815906, 38.535944000817381 ], [ -123.065331000392575, 38.535944000269112 ], [ -123.065098000021507, 38.535806001089618 ], [ -123.065186000363013, 38.534708000278975 ], [ -123.065477000340678, 38.534227000415392 ], [ -123.064836000128409, 38.534319000909314 ], [ -123.063582999586828, 38.535188000582608 ], [ -123.063554000275317, 38.535829001004231 ], [ -123.062942000216978, 38.536264001010444 ], [ -123.062674000245707, 38.536330000492875 ], [ -123.061834000359994, 38.53653900089094 ], [ -123.061484000068418, 38.536859001122217 ], [ -123.061222000015903, 38.536928000552066 ], [ -123.060726999448619, 38.536859000552916 ], [ -123.060027000179133, 38.536951000766472 ], [ -123.059006999997351, 38.536951001048543 ], [ -123.058278999754194, 38.536585000586776 ], [ -123.057346000048895, 38.536401000345819 ], [ -123.056471999807542, 38.536401000670978 ], [ -123.055364000478093, 38.536264001075182 ], [ -123.054693999544611, 38.536104001086592 ], [ -123.054432000266146, 38.535943000817269 ], [ -123.054344999737808, 38.535600001134263 ], [ -123.054052999450093, 38.535142000267754 ], [ -123.052713000298127, 38.534249000790695 ], [ -123.052684000372949, 38.533723000541237 ], [ -123.052362999664552, 38.533425000673688 ], [ -123.052305000128399, 38.532807000798073 ], [ -123.051868000004816, 38.532716001063754 ], [ -123.05166400020029, 38.532578000966929 ], [ -123.051605999519495, 38.532349000769926 ], [ -123.051198000081811, 38.531914000960313 ], [ -123.051169000372838, 38.531731000815633 ], [ -123.050994000417532, 38.53159400070988 ], [ -123.0509360003729, 38.531090000988328 ], [ -123.051168999870839, 38.530747000506373 ], [ -123.051256000518208, 38.530358000984556 ], [ -123.051139999406828, 38.530037000760039 ], [ -123.050935999936556, 38.529877000833764 ], [ -123.050091000462288, 38.529511000727432 ], [ -123.050061999453519, 38.528915000731956 ], [ -123.049886999696028, 38.528664000532366 ], [ -123.049828999425557, 38.52834300032405 ], [ -123.049915999696253, 38.528183000548246 ], [ -123.04991600012643, 38.52742800037997 ], [ -123.049538000011253, 38.527038000601628 ], [ -123.049420999456075, 38.526374000624777 ], [ -123.04819700042961, 38.52593900070557 ], [ -123.048080999784105, 38.525710000727187 ], [ -123.047089999504621, 38.525115000768487 ], [ -123.04647899972629, 38.524566000277055 ], [ -123.045982000526465, 38.524291000549333 ], [ -123.045837000013336, 38.52408500041399 ], [ -123.044787999925276, 38.523696001012695 ], [ -123.044466999873549, 38.523352001069924 ], [ -123.044467000091984, 38.523261000552914 ], [ -123.044089000370917, 38.522940001117426 ], [ -123.041845000007584, 38.522528000264245 ], [ -123.041349999757031, 38.522321000651885 ], [ -123.040999999600231, 38.522047001007479 ], [ -123.040884000485136, 38.521818000949736 ], [ -123.040389000352263, 38.521497000536513 ], [ -123.040242999686555, 38.520719000405229 ], [ -123.040098000484619, 38.520444000914807 ], [ -123.039689999538382, 38.520307001007581 ], [ -123.039486000183359, 38.520124000905135 ], [ -123.039339999813791, 38.519528000619665 ], [ -123.03945699939986, 38.519254000631157 ], [ -123.039427999493611, 38.518521000381206 ], [ -123.039544999483311, 38.51820100068867 ], [ -123.039516000510702, 38.517651000985879 ], [ -123.039108000287612, 38.51760500049091 ], [ -123.038583999694779, 38.517422000618623 ], [ -123.038029999756475, 38.51687300048453 ], [ -123.037302000107559, 38.516666000406182 ], [ -123.037097999394305, 38.516529001017247 ], [ -123.036835999484666, 38.515545000600923 ], [ -123.036924000215166, 38.515476000537511 ], [ -123.03675000039803, 38.512821000840326 ], [ -123.03645900028053, 38.512157001085647 ], [ -123.035993000308679, 38.511676000319241 ], [ -123.035789000419911, 38.511630001033907 ], [ -123.035729999722903, 38.512340000391077 ], [ -123.035453999444442, 38.512510000409378 ], [ -123.035060000041796, 38.512752000463017 ], [ -123.034651999618362, 38.512843000917265 ], [ -123.034652000384398, 38.512500000899799 ], [ -123.03491500009919, 38.51220200042642 ], [ -123.034972999853295, 38.51192700107601 ], [ -123.03450699960257, 38.511424000315884 ], [ -123.034127999725115, 38.511126000607632 ], [ -123.033487999657709, 38.510966000464926 ], [ -123.0324099998289, 38.511034000945578 ], [ -123.032117999949648, 38.510691001057346 ], [ -123.032030999626045, 38.510416000410629 ], [ -123.032176999737089, 38.509227001099532 ], [ -123.032089999807667, 38.50895200042735 ], [ -123.031623999629574, 38.508425000381202 ], [ -123.031041999780371, 38.508082000802474 ], [ -123.029760000256857, 38.507830000600919 ], [ -123.029322999457577, 38.507394000912427 ], [ -123.029468999999835, 38.506410000351352 ], [ -123.02935299987827, 38.506021000578002 ], [ -123.029353999801984, 38.504670000369892 ], [ -123.029586999584595, 38.504602000247296 ], [ -123.029703000147151, 38.504693000535063 ], [ -123.029731999401619, 38.504922001123965 ], [ -123.029964999774208, 38.505037000408038 ], [ -123.030226999712951, 38.50494500042219 ], [ -123.030256999974284, 38.504854000880613 ], [ -123.031363999515435, 38.504831000913065 ], [ -123.031684000530078, 38.504717000649684 ], [ -123.031712999954948, 38.504579000979717 ], [ -123.031684000222285, 38.504465000967265 ], [ -123.031275999445626, 38.504144000569354 ], [ -123.030693999844999, 38.503984000995274 ], [ -123.030228000410077, 38.503709000974766 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1370, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.750798000183352, 38.467311000600596 ], [ -122.750998999826706, 38.467211000968511 ], [ -122.751299000135035, 38.467211001059944 ], [ -122.751366999504754, 38.467211000299486 ], [ -122.751599000447555, 38.467211000383159 ], [ -122.75199799991212, 38.467167000296065 ], [ -122.752095999882087, 38.467156001090274 ], [ -122.752499000434057, 38.467111001103774 ], [ -122.753917999423351, 38.467111001014594 ], [ -122.754683999738987, 38.467111000649034 ], [ -122.755502000521304, 38.467111001073292 ], [ -122.755627000393076, 38.467111000529854 ], [ -122.756099000508243, 38.467111000917299 ], [ -122.758432999770093, 38.467111000925868 ], [ -122.759600999576804, 38.467111000865536 ], [ -122.76012299990515, 38.467111001114311 ], [ -122.760598999477622, 38.467111000572459 ], [ -122.761299000380617, 38.467011000642557 ], [ -122.762098999902449, 38.467011000333308 ], [ -122.762829999526474, 38.467011000891098 ], [ -122.76389899943446, 38.467011000843058 ], [ -122.764498999672867, 38.467011000875928 ], [ -122.765035999703869, 38.467011000371876 ], [ -122.765482999755051, 38.467011001126139 ], [ -122.766768999692573, 38.46701100083024 ], [ -122.76796799951903, 38.467011000689332 ], [ -122.768157999739103, 38.467011001042152 ], [ -122.769498999980001, 38.467011000302548 ], [ -122.769148000171043, 38.463940000938763 ], [ -122.769098999708916, 38.463511000810016 ], [ -122.769163999394038, 38.463005000915096 ], [ -122.769598999506314, 38.459611000372632 ], [ -122.769495000460125, 38.459299000648457 ], [ -122.769419999818098, 38.459075000514162 ], [ -122.769398999485631, 38.459011000665022 ], [ -122.769398999526643, 38.458611000592953 ], [ -122.769398999858026, 38.457911000401594 ], [ -122.769364999508781, 38.457056000313905 ], [ -122.7693300005011, 38.456183000800557 ], [ -122.769299000323628, 38.45541100043841 ], [ -122.769345999558624, 38.454941000402123 ], [ -122.769398999846047, 38.454411000889138 ], [ -122.769398999448171, 38.453911000400907 ], [ -122.769398999656616, 38.453611000989561 ], [ -122.769350999431722, 38.453129000618297 ], [ -122.769299000088623, 38.452611000344604 ], [ -122.770873000026299, 38.452581000750115 ], [ -122.771483999949865, 38.452569001073115 ], [ -122.771846999855399, 38.452562000367969 ], [ -122.774496000268911, 38.452609000244912 ], [ -122.775490000261868, 38.452609000353192 ], [ -122.777638000020332, 38.452612000714474 ], [ -122.783499999851756, 38.452612000543382 ], [ -122.786000000003384, 38.452612000772952 ], [ -122.789084000432979, 38.452612000948008 ], [ -122.789699999896015, 38.452612000619396 ], [ -122.790899999563294, 38.452612000734668 ], [ -122.793788999584251, 38.452612001134767 ], [ -122.796601000217663, 38.452612000329836 ], [ -122.797501000198551, 38.452512000887658 ], [ -122.797834000337886, 38.452512000962656 ], [ -122.800000999701666, 38.45251200066992 ], [ -122.801201000181408, 38.452512000724838 ], [ -122.801701000100337, 38.452512000874961 ], [ -122.803200999878356, 38.452512001139958 ], [ -122.806801000391857, 38.452512000390755 ], [ -122.810598999927194, 38.452454000415386 ], [ -122.813400999556507, 38.452412000677903 ], [ -122.815502000406369, 38.452412000589788 ], [ -122.815901999767235, 38.452312000526064 ], [ -122.834801999972143, 38.452412000899159 ], [ -122.835201999472773, 38.455812001051186 ], [ -122.835113000080284, 38.456734000324055 ], [ -122.834602000018521, 38.462012000300831 ], [ -122.83680199972865, 38.462712000991658 ], [ -122.838807999981739, 38.465401000958138 ], [ -122.841202999581043, 38.468612000695749 ], [ -122.841102999479659, 38.468812001080195 ], [ -122.84123700001949, 38.469661000274563 ], [ -122.841145000203056, 38.470165000958289 ], [ -122.841302999710223, 38.470712000451194 ], [ -122.841099000401073, 38.471142000834355 ], [ -122.841053999843879, 38.471622000771482 ], [ -122.84120299975929, 38.472012000639005 ], [ -122.841648999418538, 38.472316000700772 ], [ -122.842029999878051, 38.472675000980139 ], [ -122.842396000030917, 38.473102000931881 ], [ -122.84263999958948, 38.473705000254334 ], [ -122.842763000074498, 38.474491000744784 ], [ -122.84270299972998, 38.475212000342317 ], [ -122.842603000366125, 38.475712000368887 ], [ -122.842671000117349, 38.478152001033806 ], [ -122.842686000097459, 38.478503000492303 ], [ -122.842792999689394, 38.478694000862632 ], [ -122.842946000182607, 38.478839000786614 ], [ -122.843036999499517, 38.478938000516443 ], [ -122.845036000445646, 38.480418000989545 ], [ -122.845401999887457, 38.480815000387103 ], [ -122.845523999970382, 38.481059000433675 ], [ -122.845570000374266, 38.481303001110753 ], [ -122.845569999540629, 38.481600001064734 ], [ -122.845600999650415, 38.482112000585467 ], [ -122.845784000472563, 38.482546000941774 ], [ -122.845906000494494, 38.482890001132262 ], [ -122.845798999460797, 38.483294001128925 ], [ -122.845508999463902, 38.483508000898162 ], [ -122.844883999823153, 38.48373700092219 ], [ -122.844502000292209, 38.483859001075317 ], [ -122.843907000113219, 38.48391200051357 ], [ -122.843312000522005, 38.48405700103887 ], [ -122.842884999419866, 38.484233000473985 ], [ -122.842403000148238, 38.484411000761838 ], [ -122.842003000293019, 38.484611001095253 ], [ -122.841693999442313, 38.484614000402793 ], [ -122.841068999961195, 38.484500000265349 ], [ -122.84044300042639, 38.484309001058492 ], [ -122.839663999479441, 38.483981001008729 ], [ -122.837618999667967, 38.48259200029738 ], [ -122.837191999842403, 38.482310000540821 ], [ -122.836719000449548, 38.482073000360558 ], [ -122.836153999579608, 38.481944000991824 ], [ -122.835558999833353, 38.481829000420845 ], [ -122.834963999626197, 38.481799000324898 ], [ -122.834501999601088, 38.481811000663299 ], [ -122.833788999944744, 38.481959000726683 ], [ -122.832965000487121, 38.482104000289596 ], [ -122.832492000434229, 38.482287000561755 ], [ -122.831607000489569, 38.482554000799112 ], [ -122.830676999687, 38.482783000767043 ], [ -122.83000199962828, 38.482811000769608 ], [ -122.825502000209099, 38.483211000906678 ], [ -122.819801999478486, 38.484011001088128 ], [ -122.816300999993487, 38.484611000618798 ], [ -122.810495000070318, 38.48704300074052 ], [ -122.80890100034793, 38.487711000650286 ], [ -122.80620100052549, 38.488811001015151 ], [ -122.805601000436027, 38.489111000368126 ], [ -122.796400000430481, 38.490611001058902 ], [ -122.795379999980639, 38.49074700108816 ], [ -122.793399999801821, 38.491011000950103 ], [ -122.792488999893123, 38.49136300040157 ], [ -122.787699999921415, 38.493211000345838 ], [ -122.779299999915096, 38.496310000418717 ], [ -122.773598999872661, 38.496310000461115 ], [ -122.772499000159002, 38.496310000380589 ], [ -122.770898999960778, 38.494510000822132 ], [ -122.770098999410564, 38.493510000907214 ], [ -122.767707999565403, 38.490810000894129 ], [ -122.766342999830655, 38.489268000808863 ], [ -122.760409000257766, 38.482567000973226 ], [ -122.759645000003985, 38.481708001015221 ], [ -122.758481999647117, 38.48040000107801 ], [ -122.758023999454664, 38.479883000773349 ], [ -122.757990999662013, 38.479845000491565 ], [ -122.753099000347106, 38.474311000972058 ], [ -122.751097999499393, 38.471911000251247 ], [ -122.750798000066126, 38.471611000325453 ], [ -122.749278999751155, 38.469854000914182 ], [ -122.747598000450182, 38.46791100089591 ], [ -122.74824899943745, 38.46778100076223 ], [ -122.750098000340941, 38.467411000845367 ], [ -122.750798000183352, 38.467311000600596 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1371, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.751076999882272, 38.461547000732352 ], [ -122.751521999748817, 38.461180000983518 ], [ -122.751550999544421, 38.461156000890369 ], [ -122.75171999940234, 38.461017000351745 ], [ -122.752020000192203, 38.460770001086942 ], [ -122.752698999459113, 38.460211000873201 ], [ -122.753898999730481, 38.459911000785937 ], [ -122.755498999951158, 38.459311001063419 ], [ -122.756599000291203, 38.458611000640971 ], [ -122.756824000196971, 38.458368000331923 ], [ -122.759199000153004, 38.455811000343928 ], [ -122.759598999871955, 38.454711000970178 ], [ -122.759898999483937, 38.454411000378393 ], [ -122.759898999396313, 38.453967000773766 ], [ -122.759899000418088, 38.453689001055089 ], [ -122.759898999524594, 38.453211001126441 ], [ -122.760357000359207, 38.452570000861989 ], [ -122.760399000434745, 38.45251100106853 ], [ -122.760982999394955, 38.452584000263776 ], [ -122.76119899957493, 38.452611000513905 ], [ -122.762398999837458, 38.452611000543214 ], [ -122.762472000050991, 38.452607000248697 ], [ -122.762570999702078, 38.45260200087565 ], [ -122.763085999677784, 38.452575001039968 ], [ -122.764298999953255, 38.452511000645998 ], [ -122.764776000401696, 38.452511000352452 ], [ -122.765256000098361, 38.45251100052112 ], [ -122.765306999886278, 38.452511000851196 ], [ -122.765898999709137, 38.452511000977594 ], [ -122.766501999888462, 38.452529000248653 ], [ -122.766858999562729, 38.452539000924489 ], [ -122.768334000315008, 38.452583000588895 ], [ -122.769299000088623, 38.452611000344604 ], [ -122.769350999431722, 38.453129000618297 ], [ -122.769398999656616, 38.453611000989561 ], [ -122.769398999448171, 38.453911000400907 ], [ -122.769398999846047, 38.454411000889138 ], [ -122.769345999558624, 38.454941000402123 ], [ -122.769299000323628, 38.45541100043841 ], [ -122.7693300005011, 38.456183000800557 ], [ -122.769364999508781, 38.457056000313905 ], [ -122.769398999858026, 38.457911000401594 ], [ -122.769398999526643, 38.458611000592953 ], [ -122.769398999485631, 38.459011000665022 ], [ -122.769419999818098, 38.459075000514162 ], [ -122.769495000460125, 38.459299000648457 ], [ -122.769598999506314, 38.459611000372632 ], [ -122.769163999394038, 38.463005000915096 ], [ -122.769098999708916, 38.463511000810016 ], [ -122.769148000171043, 38.463940000938763 ], [ -122.769498999980001, 38.467011000302548 ], [ -122.768157999739103, 38.467011001042152 ], [ -122.76796799951903, 38.467011000689332 ], [ -122.766768999692573, 38.46701100083024 ], [ -122.765482999755051, 38.467011001126139 ], [ -122.765035999703869, 38.467011000371876 ], [ -122.764498999672867, 38.467011000875928 ], [ -122.76389899943446, 38.467011000843058 ], [ -122.762829999526474, 38.467011000891098 ], [ -122.762098999902449, 38.467011000333308 ], [ -122.761299000380617, 38.467011000642557 ], [ -122.760598999477622, 38.467111000572459 ], [ -122.76012299990515, 38.467111001114311 ], [ -122.759600999576804, 38.467111000865536 ], [ -122.758432999770093, 38.467111000925868 ], [ -122.756099000508243, 38.467111000917299 ], [ -122.755627000393076, 38.467111000529854 ], [ -122.755502000521304, 38.467111001073292 ], [ -122.754683999738987, 38.467111000649034 ], [ -122.753917999423351, 38.467111001014594 ], [ -122.752499000434057, 38.467111001103774 ], [ -122.752095999882087, 38.467156001090274 ], [ -122.75199799991212, 38.467167000296065 ], [ -122.751599000447555, 38.467211000383159 ], [ -122.751366999504754, 38.467211000299486 ], [ -122.751299000135035, 38.467211001059944 ], [ -122.750998999826706, 38.467211000968511 ], [ -122.750798000183352, 38.467311000600596 ], [ -122.750098000340941, 38.467411000845367 ], [ -122.74824899943745, 38.46778100076223 ], [ -122.747598000450182, 38.46791100089591 ], [ -122.745397999696522, 38.465411000888622 ], [ -122.746543000356183, 38.464778000815123 ], [ -122.747928999817162, 38.46401100076374 ], [ -122.74974700028362, 38.463005000254682 ], [ -122.750099000159082, 38.462811000475405 ], [ -122.750998999504475, 38.461611000729462 ], [ -122.751076999882272, 38.461547000732352 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1374, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.75099899989047, 38.4452110003066 ], [ -122.751085000242071, 38.445363000669047 ], [ -122.751373999663812, 38.445872000259079 ], [ -122.751298999435718, 38.446511000295288 ], [ -122.751298999564838, 38.44711100055104 ], [ -122.751229999709636, 38.447456000304093 ], [ -122.751199000435491, 38.447611000958105 ], [ -122.751254000145281, 38.448135000911492 ], [ -122.751299000356724, 38.448811000792375 ], [ -122.751298999809777, 38.449511000958466 ], [ -122.751281999894658, 38.449732000512057 ], [ -122.751298999809364, 38.449911000630216 ], [ -122.751298999507924, 38.450059000582321 ], [ -122.751298999796902, 38.450311000274603 ], [ -122.751321999660576, 38.450542000809939 ], [ -122.751488000264189, 38.452532000259822 ], [ -122.751488999915424, 38.45256700029551 ], [ -122.750732000029146, 38.452511001006037 ], [ -122.750607000150737, 38.452511000864291 ], [ -122.749956000044918, 38.452511000347819 ], [ -122.749898999486561, 38.452511000353475 ], [ -122.747665999602262, 38.45260000053068 ], [ -122.747398999456394, 38.452611000450325 ], [ -122.747238000396678, 38.452611001107755 ], [ -122.747066000275026, 38.452611000326186 ], [ -122.7468700004261, 38.45261100061645 ], [ -122.746780000027755, 38.452611000804374 ], [ -122.746297999937624, 38.452611000819026 ], [ -122.745644000165157, 38.452684000972965 ], [ -122.744643999572375, 38.45279500078658 ], [ -122.744497999567372, 38.452811000855625 ], [ -122.741497999653546, 38.453111000381739 ], [ -122.739297999621812, 38.454511000378545 ], [ -122.739184999973901, 38.454578000471372 ], [ -122.737350999629683, 38.455661001057479 ], [ -122.73709800003985, 38.455811000963578 ], [ -122.736497999483774, 38.456211000440845 ], [ -122.735097999992263, 38.457011000368453 ], [ -122.733298000232551, 38.458211000777645 ], [ -122.732597999898729, 38.45871100107501 ], [ -122.731197999621088, 38.45911100102424 ], [ -122.728097999994873, 38.459911000943322 ], [ -122.726697999674812, 38.45991100045935 ], [ -122.726098000202484, 38.459911000668171 ], [ -122.725997999450072, 38.457211000809949 ], [ -122.725997999604246, 38.456611000965495 ], [ -122.725897999782035, 38.455311000600354 ], [ -122.725797999714516, 38.454511000861928 ], [ -122.725771999406604, 38.454085001088359 ], [ -122.725429000477078, 38.448510000306385 ], [ -122.725398000186431, 38.448011000405195 ], [ -122.725097999658388, 38.447211000637189 ], [ -122.723898000384892, 38.44571100038582 ], [ -122.724598000400078, 38.445611001069317 ], [ -122.726598000520596, 38.445711000436432 ], [ -122.728197999990911, 38.445811000981479 ], [ -122.729598000196006, 38.445711001019973 ], [ -122.730397999730741, 38.445611000404249 ], [ -122.732706000176464, 38.445534000537386 ], [ -122.733398000098603, 38.44551100083887 ], [ -122.734097999884909, 38.445511000803144 ], [ -122.73589799956072, 38.445411000761254 ], [ -122.736801999943566, 38.445372000537581 ], [ -122.738198000200342, 38.445311000816169 ], [ -122.738734000314679, 38.44531100037058 ], [ -122.739298000533282, 38.445311000294424 ], [ -122.741698000257117, 38.445111000671659 ], [ -122.742297999608724, 38.445211000823079 ], [ -122.742698000352178, 38.445211000285347 ], [ -122.74359800030183, 38.445111001081308 ], [ -122.743998000201785, 38.445211000817238 ], [ -122.744297999907786, 38.44521100069354 ], [ -122.745329000235927, 38.445211001135711 ], [ -122.745599000207065, 38.445211000966438 ], [ -122.745898999889562, 38.445111001038178 ], [ -122.747375000072594, 38.445140000816806 ], [ -122.747932999578097, 38.44515100059489 ], [ -122.750618000059049, 38.445204000458304 ], [ -122.75099899989047, 38.4452110003066 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1377, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.737832999467145, 38.437860001022941 ], [ -122.737387999571538, 38.437721000688896 ], [ -122.736398000128929, 38.437412000566709 ], [ -122.73609799969779, 38.437112000247119 ], [ -122.734698000261929, 38.435712001064005 ], [ -122.733297999741723, 38.435712000770643 ], [ -122.731298000140626, 38.435812000394442 ], [ -122.730677000378421, 38.435986000970786 ], [ -122.729467000383252, 38.436325000726129 ], [ -122.728798000285011, 38.436512000458116 ], [ -122.728137999437237, 38.43651200047222 ], [ -122.727098000234221, 38.436512001011728 ], [ -122.726687999767805, 38.436437000271006 ], [ -122.725998000479521, 38.436312000992224 ], [ -122.724597999651166, 38.436912000484838 ], [ -122.723972999620983, 38.437120000562068 ], [ -122.723697999713863, 38.437212000607659 ], [ -122.723009000114487, 38.436109000662029 ], [ -122.722697999758211, 38.435612000837054 ], [ -122.722596999693792, 38.435531000708174 ], [ -122.72231100000927, 38.435302000890047 ], [ -122.722197999935716, 38.435212000325933 ], [ -122.72139800049726, 38.434912000705452 ], [ -122.721197999403941, 38.434912000874824 ], [ -122.719498000100856, 38.434812000835059 ], [ -122.7172980003822, 38.435412000730167 ], [ -122.717098000320249, 38.435912000907599 ], [ -122.715498000324942, 38.431712000473546 ], [ -122.715315000135917, 38.431188000691634 ], [ -122.715797999397978, 38.431412000881046 ], [ -122.716898000124701, 38.431812001017569 ], [ -122.717089999553778, 38.431882001113223 ], [ -122.718309999648653, 38.432329000526906 ], [ -122.718491999661708, 38.432396000256858 ], [ -122.719898000293867, 38.432912000993653 ], [ -122.720310999730557, 38.433036000494077 ], [ -122.720897999965047, 38.433212000777843 ], [ -122.721397999694389, 38.433312000438548 ], [ -122.722497999698533, 38.433412000935988 ], [ -122.724797999830372, 38.43321200068268 ], [ -122.726052999813888, 38.433051001076436 ], [ -122.728538999405515, 38.432732000702927 ], [ -122.728697999972454, 38.432712000426754 ], [ -122.730097999519003, 38.432512000729957 ], [ -122.732698000463245, 38.432112000660943 ], [ -122.732753999573347, 38.432103000814202 ], [ -122.734598000309617, 38.431812001106984 ], [ -122.741598000081581, 38.430512001024461 ], [ -122.744898999886857, 38.429812000532642 ], [ -122.750999000030305, 38.429412000524152 ], [ -122.752099000433503, 38.429312000694949 ], [ -122.751999000027212, 38.429612000565427 ], [ -122.752299000277119, 38.431512000561199 ], [ -122.752399000311158, 38.432212000552816 ], [ -122.752498999751637, 38.432612000874521 ], [ -122.752899000104534, 38.435112001076767 ], [ -122.750998999452435, 38.435112000412104 ], [ -122.749899000529069, 38.434712000360008 ], [ -122.7493990001295, 38.434412000704278 ], [ -122.7488989998769, 38.435312000944535 ], [ -122.749599000328146, 38.436112000434704 ], [ -122.748796999645734, 38.436622000725059 ], [ -122.748499000197612, 38.436812000357698 ], [ -122.746099000534429, 38.437012000255727 ], [ -122.745699000326155, 38.437012000747458 ], [ -122.744398999991432, 38.437112000698455 ], [ -122.742698000498564, 38.437312000752719 ], [ -122.742797999946177, 38.438512000741127 ], [ -122.741198000089341, 38.438912001122191 ], [ -122.741005999756354, 38.43885200083934 ], [ -122.740155999779788, 38.438586001101761 ], [ -122.739195000450081, 38.438286001097445 ], [ -122.738944000404103, 38.438208000310453 ], [ -122.737832999467145, 38.437860001022941 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1382, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.758298999744596, 38.435012000605049 ], [ -122.758423000357496, 38.434818000772552 ], [ -122.758560999761897, 38.43462700097156 ], [ -122.758667000236471, 38.434414000279666 ], [ -122.758799000453479, 38.434112000617276 ], [ -122.758898999916312, 38.433312001095835 ], [ -122.759099000169329, 38.432812001057385 ], [ -122.75877399989983, 38.432750000758467 ], [ -122.758398999922804, 38.43271200055581 ], [ -122.758398999768843, 38.432012000998064 ], [ -122.757299000362991, 38.432012000846115 ], [ -122.757298999582588, 38.431812000830547 ], [ -122.757296000386575, 38.431803000426513 ], [ -122.757192999423367, 38.431486000414644 ], [ -122.757028999649094, 38.431513000858537 ], [ -122.756899000397851, 38.431512000357237 ], [ -122.755856000134926, 38.431537000248127 ], [ -122.754895000189194, 38.431560000364087 ], [ -122.75388500018866, 38.431584000904159 ], [ -122.75269900032437, 38.431612000487462 ], [ -122.752299000277119, 38.431512000561199 ], [ -122.751999000027212, 38.429612000565427 ], [ -122.752099000433503, 38.429312000694949 ], [ -122.752766999671692, 38.429279000528361 ], [ -122.758898999962341, 38.428912000969973 ], [ -122.763691000051509, 38.428598000583932 ], [ -122.766465000335245, 38.428132000494017 ], [ -122.769000000253513, 38.427612000571308 ], [ -122.769352999617254, 38.427466000265554 ], [ -122.771642999694592, 38.425831000465955 ], [ -122.773600000019215, 38.424512000490523 ], [ -122.778500000399518, 38.421212000775952 ], [ -122.780000000418383, 38.420312000990684 ], [ -122.781258999988793, 38.419586001104456 ], [ -122.791100999541342, 38.413913000477152 ], [ -122.793301000471473, 38.412513000601301 ], [ -122.794701000380044, 38.411913000303819 ], [ -122.797900999499902, 38.41001300080535 ], [ -122.800001000127608, 38.409313000811053 ], [ -122.801179000495765, 38.408871000794207 ], [ -122.801403999672587, 38.408787000473453 ], [ -122.801600999878673, 38.408713000996407 ], [ -122.80330900033357, 38.408031000274946 ], [ -122.803600999488722, 38.407913000335931 ], [ -122.804700999509976, 38.407513000609903 ], [ -122.806370000298656, 38.40693600100829 ], [ -122.806450000467194, 38.406908000464703 ], [ -122.806827999623678, 38.406777000866278 ], [ -122.807131000261435, 38.406672000502965 ], [ -122.807237999910456, 38.406635000940263 ], [ -122.809707999680228, 38.405749000342666 ], [ -122.811201999398961, 38.405213001117566 ], [ -122.811963999603165, 38.404913000977082 ], [ -122.812475000296232, 38.404712000755978 ], [ -122.815402000122447, 38.403613000327958 ], [ -122.816496999833859, 38.404708000591789 ], [ -122.817401999424476, 38.405613000850046 ], [ -122.817701999986681, 38.406413000800789 ], [ -122.818101999512194, 38.407913000542123 ], [ -122.818302000111871, 38.409013000359145 ], [ -122.81770200048193, 38.409613000749601 ], [ -122.816901999888287, 38.410013001122763 ], [ -122.815101999925545, 38.41241300062967 ], [ -122.820001999683498, 38.416013000401584 ], [ -122.822302000242772, 38.415713001049433 ], [ -122.824502000440475, 38.416813000441273 ], [ -122.823602000508089, 38.420513000309754 ], [ -122.827302000412999, 38.423213000780549 ], [ -122.828321000472116, 38.424800000287732 ], [ -122.828674999846356, 38.425172000931838 ], [ -122.828838000121252, 38.425341000445435 ], [ -122.829085999816314, 38.425556000509935 ], [ -122.82929399985909, 38.425788001045305 ], [ -122.829491000091181, 38.426184000667725 ], [ -122.829603000347291, 38.426625000630764 ], [ -122.829664999591628, 38.426946001094613 ], [ -122.82975699973889, 38.427837000329248 ], [ -122.82975400049699, 38.428688000287963 ], [ -122.829902000434785, 38.430413000970837 ], [ -122.834303000168703, 38.431013000482267 ], [ -122.835203000149519, 38.434013000296801 ], [ -122.838603000078109, 38.434613000602226 ], [ -122.838503000333603, 38.437312000428122 ], [ -122.838402999758117, 38.445412000379612 ], [ -122.83660299941846, 38.446912000891984 ], [ -122.834401999407447, 38.451412000847654 ], [ -122.834801999972143, 38.452412000899159 ], [ -122.815901999767235, 38.452312000526064 ], [ -122.815502000406369, 38.452412000589788 ], [ -122.813400999556507, 38.452412000677903 ], [ -122.810598999927194, 38.452454000415386 ], [ -122.806801000391857, 38.452512000390755 ], [ -122.803200999878356, 38.452512001139958 ], [ -122.801701000100337, 38.452512000874961 ], [ -122.801201000181408, 38.452512000724838 ], [ -122.800000999701666, 38.45251200066992 ], [ -122.797834000337886, 38.452512000962656 ], [ -122.797501000198551, 38.452512000887658 ], [ -122.796601000217663, 38.452612000329836 ], [ -122.793788999584251, 38.452612001134767 ], [ -122.790899999563294, 38.452612000734668 ], [ -122.789699999896015, 38.452612000619396 ], [ -122.789084000432979, 38.452612000948008 ], [ -122.786000000003384, 38.452612000772952 ], [ -122.783499999851756, 38.452612000543382 ], [ -122.777638000020332, 38.452612000714474 ], [ -122.775490000261868, 38.452609000353192 ], [ -122.774496000268911, 38.452609000244912 ], [ -122.771846999855399, 38.452562000367969 ], [ -122.771483999949865, 38.452569001073115 ], [ -122.770873000026299, 38.452581000750115 ], [ -122.769299000088623, 38.452611000344604 ], [ -122.769328000447558, 38.451378000928749 ], [ -122.769353000375446, 38.450326000507964 ], [ -122.769388000172938, 38.448859000919086 ], [ -122.7693970000674, 38.448506001131918 ], [ -122.769398999876174, 38.44841200068484 ], [ -122.769453999623735, 38.447531000249413 ], [ -122.769498999785483, 38.446812000336067 ], [ -122.769399000036799, 38.446212000471881 ], [ -122.769340000108329, 38.445740000308511 ], [ -122.769299000307925, 38.44541200087383 ], [ -122.769298999842576, 38.445212000375847 ], [ -122.769299999423609, 38.443912000748895 ], [ -122.76930000048462, 38.443412000268594 ], [ -122.769299999599284, 38.441712000650448 ], [ -122.769300000317315, 38.441112000563322 ], [ -122.769299999864302, 38.440512000412383 ], [ -122.769206000270643, 38.4396660008602 ], [ -122.769199999468483, 38.439612000516213 ], [ -122.769299999433329, 38.439512000625612 ], [ -122.770100000181856, 38.438512000332494 ], [ -122.770300000141106, 38.438112000844583 ], [ -122.769299999801504, 38.43801200062709 ], [ -122.769191000100975, 38.438012000471481 ], [ -122.768400000320298, 38.438012000682761 ], [ -122.766498999619188, 38.438012000536617 ], [ -122.764599000435439, 38.438012000401187 ], [ -122.76019900051881, 38.437712000582046 ], [ -122.759898999761418, 38.437612000534997 ], [ -122.759705000366253, 38.437626000774941 ], [ -122.759200999527692, 38.43748100064095 ], [ -122.759077000008972, 38.437405000854532 ], [ -122.758098999746608, 38.437112000710883 ], [ -122.75803300043124, 38.436892000794565 ], [ -122.757799000121494, 38.436112000887256 ], [ -122.757813000416277, 38.43595500106909 ], [ -122.757843000510007, 38.435573000303322 ], [ -122.757935000167549, 38.435367000903696 ], [ -122.75817899951673, 38.435138000601746 ], [ -122.758298999744596, 38.435012000605049 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1375, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.758298999744596, 38.435012000605049 ], [ -122.75817899951673, 38.435138000601746 ], [ -122.757935000167549, 38.435367000903696 ], [ -122.757843000510007, 38.435573000303322 ], [ -122.757813000416277, 38.43595500106909 ], [ -122.757799000121494, 38.436112000887256 ], [ -122.75803300043124, 38.436892000794565 ], [ -122.758098999746608, 38.437112000710883 ], [ -122.759077000008972, 38.437405000854532 ], [ -122.759200999527692, 38.43748100064095 ], [ -122.759705000366253, 38.437626000774941 ], [ -122.759898999761418, 38.437612000534997 ], [ -122.76019900051881, 38.437712000582046 ], [ -122.764599000435439, 38.438012000401187 ], [ -122.766498999619188, 38.438012000536617 ], [ -122.768400000320298, 38.438012000682761 ], [ -122.769191000100975, 38.438012000471481 ], [ -122.769299999801504, 38.43801200062709 ], [ -122.770300000141106, 38.438112000844583 ], [ -122.770100000181856, 38.438512000332494 ], [ -122.769299999433329, 38.439512000625612 ], [ -122.769199999468483, 38.439612000516213 ], [ -122.769206000270643, 38.4396660008602 ], [ -122.769299999864302, 38.440512000412383 ], [ -122.769300000317315, 38.441112000563322 ], [ -122.769299999599284, 38.441712000650448 ], [ -122.76930000048462, 38.443412000268594 ], [ -122.769299999423609, 38.443912000748895 ], [ -122.769298999842576, 38.445212000375847 ], [ -122.769299000307925, 38.44541200087383 ], [ -122.769340000108329, 38.445740000308511 ], [ -122.769399000036799, 38.446212000471881 ], [ -122.769498999785483, 38.446812000336067 ], [ -122.769453999623735, 38.447531000249413 ], [ -122.769398999876174, 38.44841200068484 ], [ -122.7693970000674, 38.448506001131918 ], [ -122.769388000172938, 38.448859000919086 ], [ -122.769353000375446, 38.450326000507964 ], [ -122.769328000447558, 38.451378000928749 ], [ -122.769299000088623, 38.452611000344604 ], [ -122.768334000315008, 38.452583000588895 ], [ -122.766858999562729, 38.452539000924489 ], [ -122.766501999888462, 38.452529000248653 ], [ -122.765898999709137, 38.452511000977594 ], [ -122.765306999886278, 38.452511000851196 ], [ -122.765256000098361, 38.45251100052112 ], [ -122.764776000401696, 38.452511000352452 ], [ -122.764298999953255, 38.452511000645998 ], [ -122.763085999677784, 38.452575001039968 ], [ -122.762570999702078, 38.45260200087565 ], [ -122.762472000050991, 38.452607000248697 ], [ -122.762398999837458, 38.452611000543214 ], [ -122.76119899957493, 38.452611000513905 ], [ -122.760982999394955, 38.452584000263776 ], [ -122.760399000434745, 38.45251100106853 ], [ -122.759999000529163, 38.452511000704291 ], [ -122.759757999813473, 38.452522000935552 ], [ -122.758487999599197, 38.452577000384885 ], [ -122.757698999899787, 38.45261100105072 ], [ -122.757098999814332, 38.452611000583488 ], [ -122.756756999390092, 38.452611000329426 ], [ -122.756621999916746, 38.452611000264099 ], [ -122.755528000380082, 38.452611000971679 ], [ -122.755131000349536, 38.452611001061292 ], [ -122.754754000285601, 38.45261100111555 ], [ -122.754299000253738, 38.452611000435752 ], [ -122.752566999529577, 38.452611000995695 ], [ -122.751841999442263, 38.45261100065683 ], [ -122.751595999945039, 38.45258000106525 ], [ -122.751488999915424, 38.45256700029551 ], [ -122.751488000264189, 38.452532000259822 ], [ -122.751321999660576, 38.450542000809939 ], [ -122.751298999796902, 38.450311000274603 ], [ -122.751298999507924, 38.450059000582321 ], [ -122.751298999809364, 38.449911000630216 ], [ -122.751281999894658, 38.449732000512057 ], [ -122.751298999809777, 38.449511000958466 ], [ -122.751299000356724, 38.448811000792375 ], [ -122.751254000145281, 38.448135000911492 ], [ -122.751199000435491, 38.447611000958105 ], [ -122.751229999709636, 38.447456000304093 ], [ -122.751298999564838, 38.44711100055104 ], [ -122.751298999435718, 38.446511000295288 ], [ -122.751373999663812, 38.445872000259079 ], [ -122.751085000242071, 38.445363000669047 ], [ -122.75099899989047, 38.4452110003066 ], [ -122.750598999806897, 38.443711000474252 ], [ -122.749398999574424, 38.443012000956131 ], [ -122.745924000417986, 38.440885000465485 ], [ -122.744499000418315, 38.440012001004298 ], [ -122.74319800028762, 38.439112000338021 ], [ -122.742797999946177, 38.438512000741127 ], [ -122.742698000498564, 38.437312000752719 ], [ -122.744398999991432, 38.437112000698455 ], [ -122.745699000326155, 38.437012000747458 ], [ -122.746099000534429, 38.437012000255727 ], [ -122.748499000197612, 38.436812000357698 ], [ -122.748796999645734, 38.436622000725059 ], [ -122.749599000328146, 38.436112000434704 ], [ -122.7488989998769, 38.435312000944535 ], [ -122.7493990001295, 38.434412000704278 ], [ -122.749899000529069, 38.434712000360008 ], [ -122.750998999452435, 38.435112000412104 ], [ -122.752899000104534, 38.435112001076767 ], [ -122.752498999751637, 38.432612000874521 ], [ -122.752399000311158, 38.432212000552816 ], [ -122.752299000277119, 38.431512000561199 ], [ -122.75269900032437, 38.431612000487462 ], [ -122.75388500018866, 38.431584000904159 ], [ -122.754895000189194, 38.431560000364087 ], [ -122.755856000134926, 38.431537000248127 ], [ -122.756899000397851, 38.431512000357237 ], [ -122.757028999649094, 38.431513000858537 ], [ -122.757192999423367, 38.431486000414644 ], [ -122.757296000386575, 38.431803000426513 ], [ -122.757298999582588, 38.431812000830547 ], [ -122.757299000362991, 38.432012000846115 ], [ -122.758398999768843, 38.432012000998064 ], [ -122.758398999922804, 38.43271200055581 ], [ -122.75877399989983, 38.432750000758467 ], [ -122.759099000169329, 38.432812001057385 ], [ -122.758898999916312, 38.433312001095835 ], [ -122.758799000453479, 38.434112000617276 ], [ -122.758667000236471, 38.434414000279666 ], [ -122.758560999761897, 38.43462700097156 ], [ -122.758423000357496, 38.434818000772552 ], [ -122.758298999744596, 38.435012000605049 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1379, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.715254000217612, 38.421409000794256 ], [ -122.715297999487944, 38.420712000262697 ], [ -122.715297999883873, 38.420547000805833 ], [ -122.715298000522026, 38.420412000346317 ], [ -122.715318999745094, 38.42026400028643 ], [ -122.715379000244269, 38.419848000985311 ], [ -122.715497999885102, 38.419012001042177 ], [ -122.715777000309728, 38.416937000728403 ], [ -122.71579800018462, 38.416812000613568 ], [ -122.71579800010575, 38.416336000581566 ], [ -122.715798000046235, 38.414412001012955 ], [ -122.717198000186315, 38.414412000711479 ], [ -122.718198000146842, 38.414412000427781 ], [ -122.718598000363755, 38.414412000809662 ], [ -122.719297999895872, 38.414412000443988 ], [ -122.719634999504152, 38.414378000923342 ], [ -122.720297999404607, 38.414312000477182 ], [ -122.720997999450375, 38.414412000562038 ], [ -122.721300999623068, 38.41439000071896 ], [ -122.72140799973873, 38.414386000433026 ], [ -122.721505999969366, 38.4143820002936 ], [ -122.722088999658069, 38.414359000653825 ], [ -122.723297999969347, 38.414312001016583 ], [ -122.72691099959853, 38.414186000950671 ], [ -122.726998000398012, 38.415312000712163 ], [ -122.727197999589066, 38.416212000279714 ], [ -122.727297999589481, 38.416812000880981 ], [ -122.727397999957418, 38.417612000835128 ], [ -122.727397999532911, 38.41831200082067 ], [ -122.727497999467147, 38.419012000766067 ], [ -122.727798000078081, 38.421312000780397 ], [ -122.727839999967316, 38.421708000989298 ], [ -122.727984999554437, 38.423090000282471 ], [ -122.727998000484021, 38.423212001015386 ], [ -122.727783000446564, 38.423262000912949 ], [ -122.725397999956996, 38.423812000736191 ], [ -122.725308999735887, 38.423842001134737 ], [ -122.724498000124214, 38.424112000696589 ], [ -122.724505000419967, 38.424218000898385 ], [ -122.724514999595883, 38.424306000824615 ], [ -122.724527999404572, 38.424593000383872 ], [ -122.72459100004599, 38.425598000375729 ], [ -122.724598000013572, 38.425712000693196 ], [ -122.724422999874847, 38.425748000482024 ], [ -122.723161999491197, 38.42600800051305 ], [ -122.721381000148767, 38.426379000807472 ], [ -122.721198000256607, 38.426412000917296 ], [ -122.720598000527303, 38.426512000870133 ], [ -122.718697999988592, 38.426612000873092 ], [ -122.7177979999977, 38.426712000472691 ], [ -122.716897999829953, 38.426812000364372 ], [ -122.716698000415079, 38.426012000791495 ], [ -122.716097999809662, 38.426012000655263 ], [ -122.715698000424581, 38.42411200111848 ], [ -122.716498000374415, 38.424012000996939 ], [ -122.717298000421337, 38.423912000816856 ], [ -122.717198000532647, 38.4230120008271 ], [ -122.717297999760618, 38.422112001081793 ], [ -122.717197999641598, 38.420712000668537 ], [ -122.716398000417499, 38.420812000273187 ], [ -122.71609799942685, 38.42131200043157 ], [ -122.715181999978171, 38.421963001093545 ], [ -122.715254000217612, 38.421409000794256 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1380, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.715698000344943, 38.396614000537433 ], [ -122.715717999709469, 38.394325001113998 ], [ -122.715761999405558, 38.390821001039214 ], [ -122.715798000423035, 38.388913000566426 ], [ -122.715798000369816, 38.388413000377867 ], [ -122.715797999394979, 38.388013000374293 ], [ -122.715809000237286, 38.38612300078087 ], [ -122.715698000325958, 38.381913000316516 ], [ -122.715097999971306, 38.376213000948312 ], [ -122.715017000163911, 38.373555000985988 ], [ -122.714951000361935, 38.373000001003319 ], [ -122.714697999709813, 38.37231300067257 ], [ -122.714397999625746, 38.371913000961662 ], [ -122.713197999893154, 38.370213000901622 ], [ -122.713136999946428, 38.370133000848924 ], [ -122.712897999502161, 38.36981300083815 ], [ -122.712400999539838, 38.368898000775239 ], [ -122.712273999947826, 38.368178000619451 ], [ -122.712257999795725, 38.367601000629996 ], [ -122.712290000408657, 38.366589000483479 ], [ -122.712399999692963, 38.365576000976617 ], [ -122.712417999648537, 38.365443000882237 ], [ -122.712455000122119, 38.365229000563687 ], [ -122.71247000033793, 38.365132000887478 ], [ -122.712497999541313, 38.365013000683625 ], [ -122.712897999590965, 38.363313000395713 ], [ -122.713213999560224, 38.363313000480574 ], [ -122.71339800035409, 38.363313000675824 ], [ -122.715297999640711, 38.363313000850717 ], [ -122.715495999557575, 38.363313001102917 ], [ -122.717198000145231, 38.363313000880872 ], [ -122.721297999875318, 38.363314000566788 ], [ -122.725298000394773, 38.363114000347849 ], [ -122.729299000112292, 38.363214000459401 ], [ -122.733098999570416, 38.363314000592723 ], [ -122.737299000299359, 38.363314000525392 ], [ -122.741398999772414, 38.363314000800216 ], [ -122.741499000210709, 38.369513000594608 ], [ -122.741399000467936, 38.374913000707267 ], [ -122.741398999601543, 38.376313000350493 ], [ -122.741399000269112, 38.384613000775445 ], [ -122.741398999638704, 38.387113000529943 ], [ -122.741498999617562, 38.388713000255429 ], [ -122.741298999652599, 38.391113001138002 ], [ -122.741298999418078, 38.39801300087408 ], [ -122.741299000236609, 38.399213001136737 ], [ -122.741298999904046, 38.40181300100798 ], [ -122.74129899995539, 38.403435000386665 ], [ -122.741299000235685, 38.403513000578322 ], [ -122.741299000139477, 38.403781000787575 ], [ -122.741298999653651, 38.404613000618781 ], [ -122.741299000464082, 38.405212001097148 ], [ -122.741298999566808, 38.406998000900778 ], [ -122.741298999770464, 38.407112000486833 ], [ -122.741292999758201, 38.407224000526547 ], [ -122.741284999497495, 38.407375000273824 ], [ -122.741242000228979, 38.408139000970287 ], [ -122.741230999537024, 38.408338000521695 ], [ -122.741213999686991, 38.408640000442446 ], [ -122.741144999745501, 38.409885001122689 ], [ -122.74109899956467, 38.410712000326214 ], [ -122.741099000042865, 38.411212000656704 ], [ -122.740998999580242, 38.412212001045745 ], [ -122.739812000053917, 38.412142000930821 ], [ -122.739299000176558, 38.412112001058759 ], [ -122.736279999980042, 38.412828000872544 ], [ -122.73510700000908, 38.413106000454597 ], [ -122.733397999443937, 38.413512000383847 ], [ -122.731798000376102, 38.414112000604668 ], [ -122.729597999871771, 38.414212000306193 ], [ -122.728797999571597, 38.414112000459198 ], [ -122.72691099959853, 38.414186000950671 ], [ -122.723297999969347, 38.414312001016583 ], [ -122.722088999658069, 38.414359000653825 ], [ -122.721505999969366, 38.4143820002936 ], [ -122.72140799973873, 38.414386000433026 ], [ -122.721300999623068, 38.41439000071896 ], [ -122.720997999450375, 38.414412000562038 ], [ -122.720297999404607, 38.414312000477182 ], [ -122.719634999504152, 38.414378000923342 ], [ -122.719297999895872, 38.414412000443988 ], [ -122.718598000363755, 38.414412000809662 ], [ -122.718198000146842, 38.414412000427781 ], [ -122.717198000186315, 38.414412000711479 ], [ -122.715798000046235, 38.414412001012955 ], [ -122.715835999570984, 38.413501001010225 ], [ -122.7157979996595, 38.412600000419189 ], [ -122.715764999846613, 38.410662001093272 ], [ -122.715728000129843, 38.405812000810364 ], [ -122.71571699944873, 38.405369000399794 ], [ -122.715698000019145, 38.404612000920451 ], [ -122.71569799954338, 38.401912000865664 ], [ -122.715697999693106, 38.401826000512088 ], [ -122.715697999710557, 38.401676000520546 ], [ -122.71569799963514, 38.4000120007166 ], [ -122.715697999823632, 38.398940000541216 ], [ -122.715698000138559, 38.398906000887955 ], [ -122.715697999889457, 38.397313000707726 ], [ -122.715698000254534, 38.396912000954416 ], [ -122.715698000344943, 38.396614000537433 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 403, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.998671000459481, 37.409240000812382 ], [ -121.999370999980783, 37.409140000876299 ], [ -122.000071000084162, 37.408740000561892 ], [ -122.000370999767981, 37.408640000685686 ], [ -122.004862000314063, 37.407801000867693 ], [ -122.006155999626898, 37.407559001122493 ], [ -122.010270999724312, 37.406640001016903 ], [ -122.011271000378002, 37.406240000381125 ], [ -122.016519999981497, 37.405055000665797 ], [ -122.020571000139725, 37.404140000998552 ], [ -122.023770999417366, 37.403640000848959 ], [ -122.026970999824385, 37.403140000308561 ], [ -122.029370999704355, 37.4026400005678 ], [ -122.032272000388119, 37.401840000321393 ], [ -122.032899999703147, 37.401638001121697 ], [ -122.03507199970079, 37.400940000925843 ], [ -122.035871999556377, 37.400640000510649 ], [ -122.036372000304283, 37.40074000094063 ], [ -122.03737200050854, 37.400840000801821 ], [ -122.037272000232662, 37.401440000867126 ], [ -122.037272000441931, 37.401640000984798 ], [ -122.037272000314388, 37.406340000910845 ], [ -122.037295999757191, 37.407658000239827 ], [ -122.037364999998601, 37.411446000845046 ], [ -122.037371999902078, 37.411840000364172 ], [ -122.037360999542599, 37.412457000523695 ], [ -122.03740700022604, 37.416554000425599 ], [ -122.035372000259954, 37.416340000372003 ], [ -122.035571999801363, 37.416540000372606 ], [ -122.034308999865914, 37.419499000704732 ], [ -122.031257999830061, 37.419034001106198 ], [ -122.029457000223303, 37.418324000884908 ], [ -122.026772000152747, 37.417940000756062 ], [ -122.027371999463213, 37.416240000697179 ], [ -122.024971999671337, 37.415840000982051 ], [ -122.024972000225063, 37.41604000043619 ], [ -122.023771000170882, 37.418040000801945 ], [ -122.019064999816095, 37.417050000660808 ], [ -122.016471000500417, 37.416940000770261 ], [ -122.012274999653243, 37.416242000326221 ], [ -122.011870999641417, 37.416340000895708 ], [ -122.008770999896413, 37.416140000882741 ], [ -122.003713999967104, 37.414990000254107 ], [ -122.003061999586549, 37.414844000278094 ], [ -122.002554999846438, 37.414731000735806 ], [ -122.000541000216145, 37.412068000411679 ], [ -122.000271000405661, 37.411840001080527 ], [ -121.999870999928902, 37.411140000575479 ], [ -121.9990710003717, 37.409940000957072 ], [ -121.998671000459481, 37.409240000812382 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 404, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.965070000328069, 37.447039000602572 ], [ -121.967970000487327, 37.445239001082442 ], [ -121.964170000367929, 37.445139000951229 ], [ -121.955469999883334, 37.436239000332314 ], [ -121.955070000125076, 37.436239000500741 ], [ -121.953569000282855, 37.434039000335623 ], [ -121.952869000083524, 37.432539001066431 ], [ -121.94826899988567, 37.434439000257484 ], [ -121.947484000418555, 37.434910000993689 ], [ -121.946873000384315, 37.435169000524546 ], [ -121.946110999905542, 37.435535001043355 ], [ -121.94556100034437, 37.435703000614417 ], [ -121.94489000044949, 37.435924000340805 ], [ -121.944233999580291, 37.436054000620771 ], [ -121.943683999495192, 37.436092000698075 ], [ -121.943165999619396, 37.436008000999259 ], [ -121.942737999887541, 37.43574100101597 ], [ -121.942357000470551, 37.435444000898656 ], [ -121.941959999676484, 37.434910000511572 ], [ -121.941852999628125, 37.434528000948944 ], [ -121.941714999667809, 37.433425000809926 ], [ -121.941518000499471, 37.432407000700941 ], [ -121.941403999803853, 37.431360000317341 ], [ -121.941368999594559, 37.430239000870962 ], [ -121.940021999675153, 37.422886000495517 ], [ -121.939568999535922, 37.420639000481749 ], [ -121.944068999665461, 37.419539001104596 ], [ -121.946368999593417, 37.419639000714284 ], [ -121.954895999581439, 37.419392001006791 ], [ -121.957382000447211, 37.419320000309497 ], [ -121.959339999728442, 37.419263000727319 ], [ -121.960168999502486, 37.419239000588924 ], [ -121.965069999618152, 37.419039000738657 ], [ -121.966044000100936, 37.419000001034924 ], [ -121.967570000000435, 37.418939000841029 ], [ -121.96760299946186, 37.418939000622892 ], [ -121.96777000038621, 37.418939000665958 ], [ -121.972270000287054, 37.418640000926978 ], [ -121.973670000434169, 37.418340000337423 ], [ -121.974202999936239, 37.418012000403536 ], [ -121.974373999697193, 37.417949000429658 ], [ -121.974670000134665, 37.417840000244183 ], [ -121.976670000165043, 37.416940000667587 ], [ -121.977870000421476, 37.416440000790544 ], [ -121.980270000476295, 37.415340000736705 ], [ -121.985669999417325, 37.412840000494398 ], [ -121.986227000010217, 37.41248500025641 ], [ -121.986770000294541, 37.412140000326737 ], [ -121.98757400012839, 37.411928001104158 ], [ -121.989176999902725, 37.411505000668498 ], [ -121.995870999553816, 37.409740000902367 ], [ -121.996070999780756, 37.409640000853877 ], [ -121.997870999575383, 37.409340000711069 ], [ -121.998671000459481, 37.409240000812382 ], [ -121.9990710003717, 37.409940000957072 ], [ -121.999870999928902, 37.411140000575479 ], [ -122.000271000405661, 37.411840001080527 ], [ -122.000541000216145, 37.412068000411679 ], [ -122.002554999846438, 37.414731000735806 ], [ -122.003061999586549, 37.414844000278094 ], [ -122.003713999967104, 37.414990000254107 ], [ -122.008770999896413, 37.416140000882741 ], [ -122.011870999641417, 37.416340000895708 ], [ -122.012274999653243, 37.416242000326221 ], [ -122.016471000500417, 37.416940000770261 ], [ -122.019064999816095, 37.417050000660808 ], [ -122.023771000170882, 37.418040000801945 ], [ -122.024972000225063, 37.41604000043619 ], [ -122.024971999671337, 37.415840000982051 ], [ -122.027371999463213, 37.416240000697179 ], [ -122.026772000152747, 37.417940000756062 ], [ -122.029457000223303, 37.418324000884908 ], [ -122.031257999830061, 37.419034001106198 ], [ -122.034308999865914, 37.419499000704732 ], [ -122.035571999801363, 37.416540000372606 ], [ -122.035372000259954, 37.416340000372003 ], [ -122.03740700022604, 37.416554000425599 ], [ -122.037406999532479, 37.417790000489639 ], [ -122.037372000341264, 37.419140000496107 ], [ -122.034671999530843, 37.426439000823407 ], [ -122.034971999450761, 37.426439000612575 ], [ -122.041046999624982, 37.427004000318838 ], [ -122.041134999529717, 37.427012000684933 ], [ -122.043571999821069, 37.42723900085128 ], [ -122.049172000229206, 37.42613900086554 ], [ -122.05107200043534, 37.429639000919963 ], [ -122.052271999542469, 37.431639000693878 ], [ -122.054471999828138, 37.435739000375605 ], [ -122.059673000421427, 37.434039000962976 ], [ -122.060006000140874, 37.443622000646002 ], [ -122.059773000046221, 37.446039000715992 ], [ -122.049571999438243, 37.449239000340789 ], [ -122.048971999979841, 37.447339001096495 ], [ -122.045671999421756, 37.449039000911775 ], [ -122.036671999466975, 37.451439001122502 ], [ -122.036547999515037, 37.451412000990068 ], [ -122.032326999705177, 37.450482000468462 ], [ -122.030771999979464, 37.450139000730672 ], [ -122.031771999667953, 37.445539000503757 ], [ -122.029671999685988, 37.450439001107462 ], [ -122.031540999611494, 37.451841000319448 ], [ -122.032872000101349, 37.452839000609728 ], [ -122.038311999903016, 37.454429000332318 ], [ -122.039372000298897, 37.454739000386361 ], [ -122.039279000263321, 37.454804000719264 ], [ -122.038318000151378, 37.455476000843134 ], [ -122.030071999948163, 37.461239000342943 ], [ -122.026260999961423, 37.4610420008459 ], [ -122.024272000162043, 37.460939001133212 ], [ -122.020372000238041, 37.455039000536154 ], [ -122.018772000200499, 37.44653900038324 ], [ -122.009670999864326, 37.446839001030334 ], [ -122.003870999517474, 37.440639000524328 ], [ -121.992570999636683, 37.437739000383665 ], [ -121.991271000323792, 37.433539000854125 ], [ -121.991870999680813, 37.438239000251656 ], [ -122.00337100022881, 37.441739000324674 ], [ -122.00927100046124, 37.447739000357281 ], [ -122.01797199967227, 37.447539000664314 ], [ -122.018271999443229, 37.45513900026917 ], [ -122.020871999665715, 37.461539000582682 ], [ -121.995470999857943, 37.464139000937493 ], [ -121.993471000145931, 37.462839000929122 ], [ -121.992171999601723, 37.464491000904289 ], [ -121.980171000331978, 37.460939001012832 ], [ -121.980014000470206, 37.460892000476917 ], [ -121.979071000470256, 37.460839000875445 ], [ -121.975070999542069, 37.460639000752394 ], [ -121.974770999455018, 37.460739000759872 ], [ -121.974470999639522, 37.460739000518046 ], [ -121.970821000087057, 37.461507000242179 ], [ -121.963998999955379, 37.460380000440395 ], [ -121.967102000277151, 37.45794700101505 ], [ -121.965726999853132, 37.453290000766479 ], [ -121.965670000180978, 37.453039000989016 ], [ -121.967669999578916, 37.448739000666272 ], [ -121.964970000153713, 37.44813900036003 ], [ -121.965070000328069, 37.447039000602572 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 405, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.92525100004751, 37.454539000905221 ], [ -121.924765999591244, 37.454771000947964 ], [ -121.924326000073947, 37.454981000609948 ], [ -121.923555999490389, 37.45535000100476 ], [ -121.922859000235547, 37.455683001007266 ], [ -121.922568999692146, 37.455538000876857 ], [ -121.922959999853262, 37.455342000569331 ], [ -121.922969000450323, 37.455338000474029 ], [ -121.923369000186668, 37.455038000441718 ], [ -121.922669000043072, 37.454438000894683 ], [ -121.922668999488863, 37.45383100080133 ], [ -121.922668999446074, 37.453738000480648 ], [ -121.92016800039157, 37.440638001070937 ], [ -121.920080000111511, 37.440331000446569 ], [ -121.91999500007303, 37.44003300084097 ], [ -121.919967999494546, 37.43993800049595 ], [ -121.919167999402958, 37.435239000383767 ], [ -121.917967999926034, 37.43013900065138 ], [ -121.917067999628856, 37.427139000612165 ], [ -121.916867999431062, 37.426439000884024 ], [ -121.916667999396765, 37.425839000331095 ], [ -121.91746799998694, 37.425539000532972 ], [ -121.918568000039116, 37.425239000311933 ], [ -121.918867999548382, 37.425139000496998 ], [ -121.919868000133292, 37.424939000472847 ], [ -121.920497999556289, 37.424729000297198 ], [ -121.921667999518391, 37.424339000774843 ], [ -121.922035000428508, 37.424226001110313 ], [ -121.92225999943183, 37.42415600090537 ], [ -121.922367999884329, 37.424139000318235 ], [ -121.923211999948123, 37.423886000252857 ], [ -121.923264000111018, 37.423870001125273 ], [ -121.92357200034597, 37.423778001119508 ], [ -121.924152999537583, 37.423604000415999 ], [ -121.925368000258246, 37.423239000741376 ], [ -121.925667999412482, 37.423239000329247 ], [ -121.925868000219609, 37.423339000534241 ], [ -121.926967999416377, 37.423539000281828 ], [ -121.927268000335999, 37.423439000640577 ], [ -121.929014000443061, 37.422983000581318 ], [ -121.929264000360888, 37.422918000478269 ], [ -121.929568000364895, 37.42283900078079 ], [ -121.93106800000588, 37.422639000478974 ], [ -121.931213999569366, 37.422606000467482 ], [ -121.93236100022844, 37.422346000835702 ], [ -121.932504999471064, 37.422313000982413 ], [ -121.933268999731382, 37.422139000649175 ], [ -121.939568999535922, 37.420639000481749 ], [ -121.940021999675153, 37.422886000495517 ], [ -121.941368999594559, 37.430239000870962 ], [ -121.941403999803853, 37.431360000317341 ], [ -121.941518000499471, 37.432407000700941 ], [ -121.941714999667809, 37.433425000809926 ], [ -121.941852999628125, 37.434528000948944 ], [ -121.941959999676484, 37.434910000511572 ], [ -121.942357000470551, 37.435444000898656 ], [ -121.942737999887541, 37.43574100101597 ], [ -121.943165999619396, 37.436008000999259 ], [ -121.943683999495192, 37.436092000698075 ], [ -121.944233999580291, 37.436054000620771 ], [ -121.94489000044949, 37.435924000340805 ], [ -121.94556100034437, 37.435703000614417 ], [ -121.946110999905542, 37.435535001043355 ], [ -121.946873000384315, 37.435169000524546 ], [ -121.947484000418555, 37.434910000993689 ], [ -121.94826899988567, 37.434439000257484 ], [ -121.952869000083524, 37.432539001066431 ], [ -121.953569000282855, 37.434039000335623 ], [ -121.955070000125076, 37.436239000500741 ], [ -121.955469999883334, 37.436239000332314 ], [ -121.964170000367929, 37.445139000951229 ], [ -121.967970000487327, 37.445239001082442 ], [ -121.965070000328069, 37.447039000602572 ], [ -121.964970000153713, 37.44813900036003 ], [ -121.967669999578916, 37.448739000666272 ], [ -121.965670000180978, 37.453039000989016 ], [ -121.965726999853132, 37.453290000766479 ], [ -121.967102000277151, 37.45794700101505 ], [ -121.963998999955379, 37.460380000440395 ], [ -121.970821000087057, 37.461507000242179 ], [ -121.968770000336932, 37.461939000484342 ], [ -121.96836999983374, 37.462138000803947 ], [ -121.96747000028364, 37.462438000300985 ], [ -121.966477999800432, 37.462745000969882 ], [ -121.964876000388728, 37.463073000609583 ], [ -121.959269999721059, 37.464538000446915 ], [ -121.951570000113762, 37.462838001027521 ], [ -121.946770000459125, 37.463538000341359 ], [ -121.947169999882476, 37.466838000462054 ], [ -121.947270000076912, 37.467838000567454 ], [ -121.947269999859813, 37.467938000607482 ], [ -121.947069999886864, 37.468738000679117 ], [ -121.946569999794278, 37.46923800102676 ], [ -121.945370000439951, 37.469538001082242 ], [ -121.944869999895701, 37.469538000414865 ], [ -121.943469999413225, 37.469138000329828 ], [ -121.943770000427719, 37.465838000483096 ], [ -121.943573999546516, 37.465413000884524 ], [ -121.943100999814348, 37.46511600034777 ], [ -121.942357000484265, 37.464963001038058 ], [ -121.941491000225867, 37.464944000277171 ], [ -121.940897999870316, 37.464948000786109 ], [ -121.940172999460771, 37.464842000250499 ], [ -121.938868999953598, 37.463538000873193 ], [ -121.93716900013122, 37.462838000883814 ], [ -121.937019999819469, 37.462776000935328 ], [ -121.936477999981619, 37.462883000678353 ], [ -121.936024999718867, 37.462929000463944 ], [ -121.935379999831397, 37.46266900086723 ], [ -121.934987000250885, 37.462464000886655 ], [ -121.934947000240925, 37.462120000491119 ], [ -121.935076000250845, 37.461859000970207 ], [ -121.934882999897866, 37.461580000978458 ], [ -121.934886999571518, 37.461400000542582 ], [ -121.934857000445774, 37.461186000951095 ], [ -121.934776000461667, 37.461011000986751 ], [ -121.934624999951083, 37.460876000976896 ], [ -121.934464000048536, 37.460770001085841 ], [ -121.933990000423066, 37.460624000407876 ], [ -121.933577000332221, 37.460580000468774 ], [ -121.933053000363131, 37.460579000778274 ], [ -121.932650999523531, 37.460645000792965 ], [ -121.93306899961047, 37.460738000435271 ], [ -121.933378000470839, 37.460762000256715 ], [ -121.932669999689423, 37.460974000710046 ], [ -121.932084999747033, 37.460999000721195 ], [ -121.931471000394936, 37.46091100066262 ], [ -121.931198999936782, 37.460644000783937 ], [ -121.931199000056466, 37.460413000336906 ], [ -121.931128000477727, 37.460158000549434 ], [ -121.931390000199229, 37.459595000980968 ], [ -121.931370000001095, 37.459100000726828 ], [ -121.931520999395772, 37.458831000936954 ], [ -121.931451000350435, 37.458399000474529 ], [ -121.931410000264393, 37.458187000595359 ], [ -121.931178999920718, 37.457911000233636 ], [ -121.931128000201525, 37.457390000809603 ], [ -121.931928000252526, 37.457144000790052 ], [ -121.931969000262711, 37.456938000576727 ], [ -121.932167000452623, 37.456756000280997 ], [ -121.932297999988805, 37.456588000359666 ], [ -121.932409000480035, 37.456423000404087 ], [ -121.932519000360458, 37.456245000395889 ], [ -121.932559999937908, 37.456101000773522 ], [ -121.932610000496254, 37.455955000360042 ], [ -121.932596000179387, 37.455839000419076 ], [ -121.932476000136603, 37.455714000333501 ], [ -121.932268000369305, 37.455695000275959 ], [ -121.932075999838702, 37.455758000738612 ], [ -121.931784000284324, 37.455914000448438 ], [ -121.931441000167396, 37.456109000374234 ], [ -121.931220000268709, 37.456305000950557 ], [ -121.930996000043606, 37.456602000663864 ], [ -121.93026899981858, 37.457038000792572 ], [ -121.929169000466729, 37.457338001131596 ], [ -121.929036000510166, 37.457281000652422 ], [ -121.928443999497574, 37.457394001116477 ], [ -121.928297000378947, 37.457332000260472 ], [ -121.92816599955475, 37.457303000583885 ], [ -121.928025000494202, 37.457250000433909 ], [ -121.927792999859108, 37.457124000286925 ], [ -121.927561000064372, 37.456925000836087 ], [ -121.927461000025374, 37.456705001104673 ], [ -121.927417999909963, 37.456543001114667 ], [ -121.927420000205842, 37.456372000573204 ], [ -121.927441000467624, 37.456279000686521 ], [ -121.927497000300377, 37.45612000026599 ], [ -121.927371000403781, 37.456001000250431 ], [ -121.927350999471599, 37.455911000973941 ], [ -121.92726999941037, 37.455776000574978 ], [ -121.927138999545221, 37.455632000646006 ], [ -121.926937999469715, 37.455468000716266 ], [ -121.926755000153619, 37.455241000397571 ], [ -121.926514999856295, 37.455124000608144 ], [ -121.92631300039487, 37.455038000819563 ], [ -121.926074000354006, 37.455002001111694 ], [ -121.92525100004751, 37.454539000905221 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 407, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.90466700041371, 37.382440000625756 ], [ -121.904294999944852, 37.380876000289845 ], [ -121.904167000069705, 37.380340000685173 ], [ -121.903867000074328, 37.379340000555558 ], [ -121.903866999755522, 37.379240000337155 ], [ -121.903867000224196, 37.379040000807031 ], [ -121.902868000185123, 37.374940000239611 ], [ -121.901967000257315, 37.371240000963532 ], [ -121.901666999535053, 37.370140001061806 ], [ -121.901600999916951, 37.369827000791737 ], [ -121.901266999500422, 37.368240000304112 ], [ -121.901166999510352, 37.367040000416893 ], [ -121.901166999561269, 37.366840000532413 ], [ -121.901192000380703, 37.366705000729596 ], [ -121.901367000348671, 37.36574000100417 ], [ -121.901766999503053, 37.364440000614579 ], [ -121.901966999636869, 37.364040000903401 ], [ -121.902466999680001, 37.364140000512819 ], [ -121.904166999397802, 37.364940000839582 ], [ -121.908566999647164, 37.368340001115911 ], [ -121.909167000240842, 37.368740000790424 ], [ -121.909619999401798, 37.369102000769054 ], [ -121.909666999686294, 37.369140000287224 ], [ -121.91466399981573, 37.37098100057127 ], [ -121.91536700032006, 37.371240000382258 ], [ -121.91655600025355, 37.371463000838496 ], [ -121.916966999620996, 37.371540000566419 ], [ -121.917266999438169, 37.37164000076428 ], [ -121.917666999704196, 37.372140000627972 ], [ -121.917966999612275, 37.372440000870213 ], [ -121.918366999676664, 37.373140001050167 ], [ -121.917968000016344, 37.373473000919056 ], [ -121.917767000311343, 37.373640000372582 ], [ -121.916937999841338, 37.374528000760471 ], [ -121.916553999468803, 37.374940000573815 ], [ -121.91641099986947, 37.375093000262503 ], [ -121.916367000368268, 37.37514000051209 ], [ -121.913566999494023, 37.377040001100418 ], [ -121.916167000433759, 37.379540000415403 ], [ -121.917066999806167, 37.380440000640846 ], [ -121.918812000311476, 37.382024001062007 ], [ -121.921909000121914, 37.385037000722775 ], [ -121.923449999450739, 37.386540000676383 ], [ -121.92486799982467, 37.3880400009824 ], [ -121.923467999842316, 37.38924000087421 ], [ -121.923168000092502, 37.389440000627033 ], [ -121.920968000014184, 37.391440000263508 ], [ -121.920963999801089, 37.391443000375311 ], [ -121.919968000163934, 37.392340000256496 ], [ -121.917567999870286, 37.394340000265572 ], [ -121.916768000224792, 37.395140000322947 ], [ -121.916656000324124, 37.395226000333253 ], [ -121.915468000140137, 37.396140000898825 ], [ -121.912967999693578, 37.39823900083686 ], [ -121.91096700005599, 37.400139000714411 ], [ -121.910267000242342, 37.400639000368294 ], [ -121.909067000496933, 37.401639001075075 ], [ -121.908866999762836, 37.400139000940733 ], [ -121.90879300042063, 37.399834000799856 ], [ -121.907166999589606, 37.393140000259891 ], [ -121.906666999861713, 37.391340000250992 ], [ -121.905832000402611, 37.387583001031793 ], [ -121.905511000323997, 37.386138000993775 ], [ -121.905467000122243, 37.38594000095177 ], [ -121.90522099958163, 37.384956000589931 ], [ -121.905167000440983, 37.384740000897253 ], [ -121.904741999440546, 37.382634000500545 ], [ -121.90466700041371, 37.382440000625756 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 409, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.935978999888562, 37.397712000449438 ], [ -121.933246000171934, 37.398755000755408 ], [ -121.929253999622077, 37.400324001010709 ], [ -121.92863899948135, 37.400442000648937 ], [ -121.928108000044219, 37.40044200080694 ], [ -121.927569999537639, 37.400357000895688 ], [ -121.926919999660839, 37.40008800100474 ], [ -121.926261999913393, 37.399684000602626 ], [ -121.923954000468797, 37.397199000332137 ], [ -121.921528999539802, 37.394413001018414 ], [ -121.920743999653155, 37.393975000951656 ], [ -121.91966799960376, 37.393740000523685 ], [ -121.917621999721774, 37.394325000579919 ], [ -121.917567999870286, 37.394340000265572 ], [ -121.919968000163934, 37.392340000256496 ], [ -121.920963999801089, 37.391443000375311 ], [ -121.920968000014184, 37.391440000263508 ], [ -121.923168000092502, 37.389440000627033 ], [ -121.923467999842316, 37.38924000087421 ], [ -121.92486799982467, 37.3880400009824 ], [ -121.925067999876589, 37.387840000814592 ], [ -121.926567999434383, 37.386540001095646 ], [ -121.927368000311418, 37.3862400005737 ], [ -121.927497999575763, 37.386178001090371 ], [ -121.927610000000669, 37.386124000781919 ], [ -121.927968000381924, 37.385940000404844 ], [ -121.928668000398588, 37.385640000971406 ], [ -121.931658999628752, 37.384267000544142 ], [ -121.938668000378328, 37.380540000788848 ], [ -121.938667999896509, 37.381189000794777 ], [ -121.938668000455664, 37.381840000822727 ], [ -121.937168000498374, 37.383540001072113 ], [ -121.936942000064292, 37.383670000987443 ], [ -121.936598000495181, 37.383945001118825 ], [ -121.936452000225884, 37.384062001051504 ], [ -121.93628699947925, 37.384291000230242 ], [ -121.93612699977929, 37.384590001001527 ], [ -121.936118000229214, 37.385046000518585 ], [ -121.936110999768445, 37.385508001101201 ], [ -121.936199999584957, 37.385788000914602 ], [ -121.936270000107058, 37.385982000260725 ], [ -121.936292999986463, 37.386186000791263 ], [ -121.936287999424351, 37.386428000612838 ], [ -121.936384999844179, 37.386670000410078 ], [ -121.936567999624501, 37.386840000980683 ], [ -121.93976799973629, 37.389340001051586 ], [ -121.93956799942579, 37.389440000670753 ], [ -121.941168000216464, 37.395440000413316 ], [ -121.941068000088364, 37.395740000683006 ], [ -121.941106999841892, 37.395845000260024 ], [ -121.938754999656823, 37.396512000300163 ], [ -121.936768000191734, 37.397340000583263 ], [ -121.936468000362794, 37.3975400004975 ], [ -121.936168000353376, 37.397640000336857 ], [ -121.935978999888562, 37.397712000449438 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 410, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.934568000412071, 37.404939000399331 ], [ -121.934768000022387, 37.405139000977954 ], [ -121.935668000519996, 37.407539000514156 ], [ -121.936969000460621, 37.410839000948656 ], [ -121.937474000261929, 37.412327001050912 ], [ -121.93674700002299, 37.411605000456177 ], [ -121.936393999586258, 37.411317000924022 ], [ -121.935980999653665, 37.411097000861638 ], [ -121.935678000253986, 37.410999000855206 ], [ -121.935368000469126, 37.410939000584094 ], [ -121.934468000380932, 37.410939000430773 ], [ -121.92986799987824, 37.41093900026523 ], [ -121.92686800013395, 37.41093900053324 ], [ -121.92396799996034, 37.410939000264364 ], [ -121.923167999531017, 37.410939000406245 ], [ -121.924068000128116, 37.40853900081477 ], [ -121.924228000283193, 37.407955000468363 ], [ -121.924319999899652, 37.407703000371086 ], [ -121.924320000505915, 37.407551000408596 ], [ -121.924151999922046, 37.406032000953608 ], [ -121.924082999730118, 37.405978001128823 ], [ -121.923403999572983, 37.405445000612886 ], [ -121.922352000448669, 37.405933000938965 ], [ -121.91942199947178, 37.404323000739566 ], [ -121.918568000407078, 37.404039001068583 ], [ -121.916946000453052, 37.401174000324744 ], [ -121.915567999655337, 37.398739000656136 ], [ -121.915468000140137, 37.396140000898825 ], [ -121.916656000324124, 37.395226000333253 ], [ -121.916768000224792, 37.395140000322947 ], [ -121.917567999870286, 37.394340000265572 ], [ -121.917621999721774, 37.394325000579919 ], [ -121.91966799960376, 37.393740000523685 ], [ -121.920743999653155, 37.393975000951656 ], [ -121.921528999539802, 37.394413001018414 ], [ -121.923954000468797, 37.397199000332137 ], [ -121.926261999913393, 37.399684000602626 ], [ -121.926919999660839, 37.40008800100474 ], [ -121.927569999537639, 37.400357000895688 ], [ -121.928108000044219, 37.40044200080694 ], [ -121.92863899948135, 37.400442000648937 ], [ -121.929253999622077, 37.400324001010709 ], [ -121.933246000171934, 37.398755000755408 ], [ -121.935978999888562, 37.397712000449438 ], [ -121.936168000353376, 37.397640000336857 ], [ -121.936468000362794, 37.3975400004975 ], [ -121.938113999956869, 37.399548000478255 ], [ -121.939981000359481, 37.40213400064934 ], [ -121.939968999573679, 37.402140000535191 ], [ -121.939669000019933, 37.402340000239136 ], [ -121.939467999829276, 37.402444000350179 ], [ -121.936967999804509, 37.403740000888469 ], [ -121.936068000131925, 37.404240000420494 ], [ -121.934568000412071, 37.404939000399331 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 412, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.960168999502486, 37.419239000588924 ], [ -121.959339999728442, 37.419263000727319 ], [ -121.957382000447211, 37.419320000309497 ], [ -121.954895999581439, 37.419392001006791 ], [ -121.946368999593417, 37.419639000714284 ], [ -121.944068999665461, 37.419539001104596 ], [ -121.939568999535922, 37.420639000481749 ], [ -121.939393999667743, 37.419502000392512 ], [ -121.939311999777004, 37.418966000417875 ], [ -121.939298000235553, 37.418877001042588 ], [ -121.939168999716188, 37.41803900036733 ], [ -121.938358999440069, 37.415256000610036 ], [ -121.937504999772401, 37.412571000859081 ], [ -121.937474000261929, 37.412327001050912 ], [ -121.936969000460621, 37.410839000948656 ], [ -121.935668000519996, 37.407539000514156 ], [ -121.934768000022387, 37.405139000977954 ], [ -121.934568000412071, 37.404939000399331 ], [ -121.936068000131925, 37.404240000420494 ], [ -121.936967999804509, 37.403740000888469 ], [ -121.939467999829276, 37.402444000350179 ], [ -121.939669000019933, 37.402340000239136 ], [ -121.939968999573679, 37.402140000535191 ], [ -121.939981000359481, 37.40213400064934 ], [ -121.938113999956869, 37.399548000478255 ], [ -121.936468000362794, 37.3975400004975 ], [ -121.936768000191734, 37.397340000583263 ], [ -121.938754999656823, 37.396512000300163 ], [ -121.941106999841892, 37.395845000260024 ], [ -121.941368999648802, 37.396540000539112 ], [ -121.942168999945039, 37.396940000739477 ], [ -121.942702999489427, 37.3987190006671 ], [ -121.94276899952753, 37.398940000408587 ], [ -121.94275899946993, 37.398950000602987 ], [ -121.941969000217298, 37.39974000060937 ], [ -121.942147000462029, 37.400542000654227 ], [ -121.942168999494598, 37.400640001120621 ], [ -121.944969000267832, 37.400340000410665 ], [ -121.945198000436775, 37.400477000655663 ], [ -121.945469000137095, 37.400640001116734 ], [ -121.945968999686187, 37.401040000842819 ], [ -121.946769000334086, 37.401040000711426 ], [ -121.948868999398627, 37.402540000450109 ], [ -121.952169000033578, 37.404140000719437 ], [ -121.953160999922318, 37.405402000268687 ], [ -121.953268999833085, 37.405540000972145 ], [ -121.955211999405989, 37.407112000925991 ], [ -121.955269000443366, 37.407240000278009 ], [ -121.955668999865111, 37.408040000952049 ], [ -121.955806999476664, 37.40817800024292 ], [ -121.956868999398381, 37.409240000591339 ], [ -121.958166999804234, 37.409629000378885 ], [ -121.958843999816736, 37.409832000536035 ], [ -121.958937999748684, 37.409860001088944 ], [ -121.96086899956029, 37.410440000318125 ], [ -121.961768999614918, 37.411140000863917 ], [ -121.961787999566909, 37.411188000999537 ], [ -121.962268999610387, 37.412440000285208 ], [ -121.963005000306708, 37.413143000686951 ], [ -121.96447000003856, 37.414540000444042 ], [ -121.966370000239834, 37.415440000590586 ], [ -121.966069999855733, 37.4169390007633 ], [ -121.966970000420233, 37.418039001012659 ], [ -121.967126000350703, 37.418273001067305 ], [ -121.967181999779015, 37.418358000941339 ], [ -121.96754900044121, 37.418908000601547 ], [ -121.967553999405226, 37.418911000659548 ], [ -121.96760299946186, 37.418939000622892 ], [ -121.967570000000435, 37.418939000841029 ], [ -121.966044000100936, 37.419000001034924 ], [ -121.965069999618152, 37.419039000738657 ], [ -121.960168999502486, 37.419239000588924 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 415, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.96405499975441, 37.381917000615665 ], [ -121.9640550000899, 37.381932000812405 ], [ -121.964569000220621, 37.382040000583892 ], [ -121.966568999634205, 37.382540001081324 ], [ -121.968969000168713, 37.383240000986 ], [ -121.969269000205756, 37.383240000656635 ], [ -121.972568999399201, 37.384340000789173 ], [ -121.975606999847088, 37.385172000460003 ], [ -121.976766000264476, 37.38541100076629 ], [ -121.97722600035047, 37.385520000781014 ], [ -121.977482999882113, 37.385605000347724 ], [ -121.97796199967658, 37.385763000341768 ], [ -121.978969999985139, 37.386040000509361 ], [ -121.984007000212799, 37.387514001093194 ], [ -121.986856999843013, 37.388378000498918 ], [ -121.987173000037643, 37.388474000615354 ], [ -121.987195999484754, 37.388477000805096 ], [ -121.987278999950504, 37.388490000667638 ], [ -121.987274999532318, 37.388771000791841 ], [ -121.987283000424711, 37.389207000952105 ], [ -121.987347999427513, 37.39313400103083 ], [ -121.987341999668047, 37.395878000460904 ], [ -121.987097999944126, 37.396503000612419 ], [ -121.98683599970586, 37.397063000454331 ], [ -121.98683599946618, 37.397156000335436 ], [ -121.986818000105117, 37.403044000654845 ], [ -121.986798000365411, 37.403052000845754 ], [ -121.984487000020664, 37.403111000987792 ], [ -121.980627000151173, 37.40334800072339 ], [ -121.977970000429437, 37.403640000993029 ], [ -121.974169999604214, 37.403940001115224 ], [ -121.972369999736216, 37.40404000051722 ], [ -121.969552000176392, 37.405218000684336 ], [ -121.967830999893664, 37.405938001012359 ], [ -121.967112999915429, 37.406238000907003 ], [ -121.966869999610807, 37.406340000673424 ], [ -121.966570000473112, 37.406440000964793 ], [ -121.964887000329711, 37.403953000922151 ], [ -121.964668999476132, 37.403640000902996 ], [ -121.964273999494168, 37.40300800077798 ], [ -121.964169000080759, 37.402840000820404 ], [ -121.964096000399024, 37.402704000299742 ], [ -121.963515000348949, 37.401716000371373 ], [ -121.963302999939089, 37.401365001118876 ], [ -121.963569000151864, 37.401240000584799 ], [ -121.96369300029238, 37.401178000766635 ], [ -121.963768999582015, 37.401140001096586 ], [ -121.965216999548886, 37.400481000891389 ], [ -121.965569000275167, 37.400340000617632 ], [ -121.965697000370341, 37.400289000305712 ], [ -121.96729399951532, 37.399612000708487 ], [ -121.967488000446863, 37.39954800068481 ], [ -121.967087000090814, 37.398972000847117 ], [ -121.966975999927996, 37.398702000797797 ], [ -121.966916999872851, 37.398363001097792 ], [ -121.966862000338622, 37.397908000958765 ], [ -121.966512000321202, 37.398045000920391 ], [ -121.966327999607444, 37.398129001087767 ], [ -121.966161000142094, 37.398183000593491 ], [ -121.96580999999793, 37.397661000440891 ], [ -121.964650000331474, 37.395932000556456 ], [ -121.964512999765333, 37.395764000853703 ], [ -121.964482999537836, 37.39569800041707 ], [ -121.964474999659174, 37.395526000858354 ], [ -121.964573999598528, 37.395314000250337 ], [ -121.963977000068795, 37.39439300089699 ], [ -121.963805999875248, 37.39405700111665 ], [ -121.963307999969359, 37.393176000424887 ], [ -121.963233000344061, 37.393033000780527 ], [ -121.963138999480009, 37.392865000633051 ], [ -121.96277200049137, 37.393045000618272 ], [ -121.962655000296721, 37.393102000901642 ], [ -121.962168999406686, 37.393340001009783 ], [ -121.961568999955915, 37.393540000482965 ], [ -121.961268999471145, 37.393740000887533 ], [ -121.960469000144215, 37.39404000101144 ], [ -121.960169000303353, 37.394140000829061 ], [ -121.959563000223326, 37.394443000460512 ], [ -121.959369000427813, 37.394540001085375 ], [ -121.959168999421664, 37.394640000507131 ], [ -121.956869000509585, 37.391240000611361 ], [ -121.956468999500956, 37.39064000053434 ], [ -121.956010000301532, 37.389985000962994 ], [ -121.955769000428418, 37.389640000749253 ], [ -121.955684999785177, 37.389514000925672 ], [ -121.955385999580926, 37.389032000746013 ], [ -121.955549999664598, 37.388956000622692 ], [ -121.958917000078159, 37.387397000713975 ], [ -121.96076899983953, 37.386540001073925 ], [ -121.96146899985014, 37.386240000414404 ], [ -121.962869000250308, 37.383940000970455 ], [ -121.963068999750888, 37.383640000793825 ], [ -121.963669000362756, 37.382640001033451 ], [ -121.96376799970939, 37.38244300074701 ], [ -121.963768999965481, 37.382440000821013 ], [ -121.963794999959404, 37.382356000623211 ], [ -121.96405499975441, 37.381917000615665 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 416, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.96760299946186, 37.418939000622892 ], [ -121.967553999405226, 37.418911000659548 ], [ -121.96754900044121, 37.418908000601547 ], [ -121.967181999779015, 37.418358000941339 ], [ -121.967126000350703, 37.418273001067305 ], [ -121.966970000420233, 37.418039001012659 ], [ -121.966069999855733, 37.4169390007633 ], [ -121.966370000239834, 37.415440000590586 ], [ -121.96447000003856, 37.414540000444042 ], [ -121.963005000306708, 37.413143000686951 ], [ -121.962268999610387, 37.412440000285208 ], [ -121.961787999566909, 37.411188000999537 ], [ -121.961768999614918, 37.411140000863917 ], [ -121.96086899956029, 37.410440000318125 ], [ -121.958937999748684, 37.409860001088944 ], [ -121.958843999816736, 37.409832000536035 ], [ -121.958166999804234, 37.409629000378885 ], [ -121.956868999398381, 37.409240000591339 ], [ -121.955806999476664, 37.40817800024292 ], [ -121.955668999865111, 37.408040000952049 ], [ -121.955269000443366, 37.407240000278009 ], [ -121.955211999405989, 37.407112000925991 ], [ -121.953268999833085, 37.405540000972145 ], [ -121.953160999922318, 37.405402000268687 ], [ -121.952169000033578, 37.404140000719437 ], [ -121.948868999398627, 37.402540000450109 ], [ -121.946769000334086, 37.401040000711426 ], [ -121.945968999686187, 37.401040000842819 ], [ -121.945469000137095, 37.400640001116734 ], [ -121.945198000436775, 37.400477000655663 ], [ -121.946038999430741, 37.400292000396362 ], [ -121.946547000246255, 37.400180000671959 ], [ -121.946836999871664, 37.400115000793754 ], [ -121.947351000290709, 37.39999400066651 ], [ -121.947863999472489, 37.39967800031706 ], [ -121.949752000176929, 37.400584000998464 ], [ -121.951059000160896, 37.401351000645249 ], [ -121.95116299951151, 37.401443000281361 ], [ -121.951279000376772, 37.401543000235449 ], [ -121.951608000423292, 37.401824000981122 ], [ -121.951930999672939, 37.401494001045059 ], [ -121.952146000039292, 37.401335001048174 ], [ -121.953670000277711, 37.400675000353033 ], [ -121.953809000043407, 37.400541000270195 ], [ -121.953900999652589, 37.400443001092086 ], [ -121.954747999712779, 37.400138000639103 ], [ -121.959624999416121, 37.398234000436055 ], [ -121.959804999985607, 37.398105000352594 ], [ -121.960014000295871, 37.39790100105408 ], [ -121.960208000226615, 37.397734000276984 ], [ -121.960668999556404, 37.397540000624545 ], [ -121.960968999986221, 37.397440000581518 ], [ -121.959168999421664, 37.394640000507131 ], [ -121.959369000427813, 37.394540001085375 ], [ -121.959563000223326, 37.394443000460512 ], [ -121.960169000303353, 37.394140000829061 ], [ -121.960469000144215, 37.39404000101144 ], [ -121.961268999471145, 37.393740000887533 ], [ -121.961568999955915, 37.393540000482965 ], [ -121.962168999406686, 37.393340001009783 ], [ -121.962655000296721, 37.393102000901642 ], [ -121.96277200049137, 37.393045000618272 ], [ -121.963138999480009, 37.392865000633051 ], [ -121.963233000344061, 37.393033000780527 ], [ -121.963307999969359, 37.393176000424887 ], [ -121.963805999875248, 37.39405700111665 ], [ -121.963977000068795, 37.39439300089699 ], [ -121.964573999598528, 37.395314000250337 ], [ -121.964474999659174, 37.395526000858354 ], [ -121.964482999537836, 37.39569800041707 ], [ -121.964512999765333, 37.395764000853703 ], [ -121.964650000331474, 37.395932000556456 ], [ -121.96580999999793, 37.397661000440891 ], [ -121.966161000142094, 37.398183000593491 ], [ -121.966327999607444, 37.398129001087767 ], [ -121.966512000321202, 37.398045000920391 ], [ -121.966862000338622, 37.397908000958765 ], [ -121.966916999872851, 37.398363001097792 ], [ -121.966975999927996, 37.398702000797797 ], [ -121.967087000090814, 37.398972000847117 ], [ -121.967488000446863, 37.39954800068481 ], [ -121.96729399951532, 37.399612000708487 ], [ -121.965697000370341, 37.400289000305712 ], [ -121.965569000275167, 37.400340000617632 ], [ -121.965216999548886, 37.400481000891389 ], [ -121.963768999582015, 37.401140001096586 ], [ -121.96369300029238, 37.401178000766635 ], [ -121.963569000151864, 37.401240000584799 ], [ -121.963302999939089, 37.401365001118876 ], [ -121.963515000348949, 37.401716000371373 ], [ -121.964096000399024, 37.402704000299742 ], [ -121.964169000080759, 37.402840000820404 ], [ -121.964273999494168, 37.40300800077798 ], [ -121.964668999476132, 37.403640000902996 ], [ -121.964887000329711, 37.403953000922151 ], [ -121.966570000473112, 37.406440000964793 ], [ -121.966869999610807, 37.406340000673424 ], [ -121.967112999915429, 37.406238000907003 ], [ -121.967830999893664, 37.405938001012359 ], [ -121.969552000176392, 37.405218000684336 ], [ -121.972369999736216, 37.40404000051722 ], [ -121.974169999604214, 37.403940001115224 ], [ -121.977970000429437, 37.403640000993029 ], [ -121.978033000505249, 37.405888000915404 ], [ -121.978070000138644, 37.408440000965193 ], [ -121.978093999922535, 37.410779000419559 ], [ -121.978069999558969, 37.411340000251954 ], [ -121.97792099986934, 37.415128000880244 ], [ -121.977917999614476, 37.415206000488894 ], [ -121.977870000421476, 37.416440000790544 ], [ -121.976670000165043, 37.416940000667587 ], [ -121.974670000134665, 37.417840000244183 ], [ -121.974373999697193, 37.417949000429658 ], [ -121.974202999936239, 37.418012000403536 ], [ -121.973670000434169, 37.418340000337423 ], [ -121.972270000287054, 37.418640000926978 ], [ -121.96777000038621, 37.418939000665958 ], [ -121.96760299946186, 37.418939000622892 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 419, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.987869999554363, 37.398340000279681 ], [ -121.987769999451018, 37.397340000511434 ], [ -121.987769999571086, 37.397320000565855 ], [ -121.987770000474882, 37.396242000740813 ], [ -121.987769999514342, 37.393140000369556 ], [ -121.987470000224761, 37.393140000543958 ], [ -121.987347999427513, 37.39313400103083 ], [ -121.987283000424711, 37.389207000952105 ], [ -121.987274999532318, 37.388771000791841 ], [ -121.987278999950504, 37.388490000667638 ], [ -121.987376999403821, 37.388512000875409 ], [ -121.987384999404668, 37.388512000884077 ], [ -121.993721000249096, 37.390218000550284 ], [ -121.994170000230952, 37.390340000920403 ], [ -121.995670000172339, 37.390840000380948 ], [ -121.996185000456876, 37.390986000442581 ], [ -121.996170000339703, 37.391440000371837 ], [ -121.996169999624712, 37.392740000704954 ], [ -121.996170000408853, 37.393540000574276 ], [ -121.996169999787199, 37.395040001042048 ], [ -121.996170000450476, 37.39594000043293 ], [ -121.996169999997477, 37.398817000413267 ], [ -121.996169999590762, 37.399240000938477 ], [ -121.99586999950462, 37.399240000644603 ], [ -121.995369999723422, 37.399140000504275 ], [ -121.994469999930033, 37.399240000929872 ], [ -121.993569999804166, 37.39924000104488 ], [ -121.992570000129035, 37.399240000349941 ], [ -121.991670000134334, 37.399340001054142 ], [ -121.98967000035428, 37.399440001112062 ], [ -121.988770000453513, 37.399440000718975 ], [ -121.987770000092269, 37.39954000055107 ], [ -121.987772999672899, 37.399508000550341 ], [ -121.987868999429139, 37.398348001069436 ], [ -121.987869999554363, 37.398340000279681 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1217, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.188806999886509, 38.093567000763542 ], [ -122.188386999761761, 38.093928000711699 ], [ -122.187931999550315, 38.094340000722276 ], [ -122.187514999554693, 38.094812000371029 ], [ -122.187290000398363, 38.095018000386901 ], [ -122.18724000046015, 38.095337001118239 ], [ -122.187442000039354, 38.095470000986957 ], [ -122.187656999807615, 38.095479000398008 ], [ -122.187702999746122, 38.095599000357666 ], [ -122.187409000076585, 38.095855000949385 ], [ -122.187126000366575, 38.096066000695401 ], [ -122.186744000196484, 38.096434000571392 ], [ -122.186715999604417, 38.096735001107362 ], [ -122.186757999696212, 38.097225000349567 ], [ -122.186630999464541, 38.097570000626497 ], [ -122.186517999399513, 38.097993001079843 ], [ -122.186617000387258, 38.098216000327781 ], [ -122.18685699968016, 38.098261000896585 ], [ -122.187097999542701, 38.098093000346026 ], [ -122.187295999745302, 38.097893000312268 ], [ -122.18766299984884, 38.097737000477004 ], [ -122.187991000063406, 38.097679000821756 ], [ -122.188423000062883, 38.097487001086364 ], [ -122.188791000381372, 38.0983030007678 ], [ -122.188855000500425, 38.099279000356923 ], [ -122.188932000235909, 38.099497000623934 ], [ -122.188962000222162, 38.099582000282197 ], [ -122.189024999745598, 38.099758000990157 ], [ -122.189184999622626, 38.099972000954949 ], [ -122.186111999612436, 38.100697000572609 ], [ -122.185787999664939, 38.101172000621787 ], [ -122.186065999588976, 38.101647000463714 ], [ -122.185994999523402, 38.10180300028162 ], [ -122.185834000014069, 38.102158000259379 ], [ -122.185092000046382, 38.102670000397026 ], [ -122.184952999555307, 38.103108001073579 ], [ -122.184860000390046, 38.103401000998872 ], [ -122.185022999730364, 38.103683000628116 ], [ -122.185324000303268, 38.104204001064538 ], [ -122.185416999668718, 38.104613000443862 ], [ -122.185633000130551, 38.104978000621955 ], [ -122.186097000423544, 38.10536800063462 ], [ -122.186622999521532, 38.105855000771761 ], [ -122.187055999756396, 38.10624500047934 ], [ -122.187396000096683, 38.106489000623974 ], [ -122.187643000127963, 38.106684001043064 ], [ -122.188323999476651, 38.106903000921136 ], [ -122.188911999757238, 38.10704900059708 ], [ -122.189248999393058, 38.107098000562296 ], [ -122.189299000365523, 38.107084000356217 ], [ -122.190374999506929, 38.107031000836557 ], [ -122.191862999816237, 38.107473000590275 ], [ -122.18997899943318, 38.112719000993913 ], [ -122.188679000382791, 38.114918000630787 ], [ -122.188105000181565, 38.114519000949798 ], [ -122.186379000163626, 38.113319000380599 ], [ -122.183578999767278, 38.110119000861552 ], [ -122.179526999818421, 38.107829000780995 ], [ -122.179404000523462, 38.107759000493125 ], [ -122.172077999873949, 38.103619000993206 ], [ -122.169777999815167, 38.10191900063964 ], [ -122.164178000313385, 38.100219000269547 ], [ -122.162978000475178, 38.101119000467278 ], [ -122.160877999650623, 38.100419000627319 ], [ -122.157578000246303, 38.098719000364007 ], [ -122.152477999951103, 38.098219000779245 ], [ -122.145054999810711, 38.09551200054154 ], [ -122.144269999866395, 38.095226000811174 ], [ -122.14397700048373, 38.095119000669754 ], [ -122.1375770001262, 38.095519000377131 ], [ -122.135277000423045, 38.093619001013479 ], [ -122.135877000082132, 38.091119000392119 ], [ -122.133576999481377, 38.083919000860782 ], [ -122.134277000132343, 38.082219001129886 ], [ -122.135077000286003, 38.082119001026172 ], [ -122.135977000484516, 38.082219000403086 ], [ -122.139259999710021, 38.081075001100317 ], [ -122.139770999684586, 38.080922000427385 ], [ -122.141051999578693, 38.079198000878435 ], [ -122.141161000499679, 38.079053000857584 ], [ -122.144002000482132, 38.075414001072197 ], [ -122.144374000515413, 38.075883000842751 ], [ -122.144534999765895, 38.076085001131943 ], [ -122.145403000349702, 38.077408000537311 ], [ -122.145238999820123, 38.078861000588702 ], [ -122.145489999679825, 38.079408000552682 ], [ -122.145958000203279, 38.079773000825931 ], [ -122.147654999959542, 38.080320000679357 ], [ -122.148698000466652, 38.080555000269456 ], [ -122.149075000506201, 38.080577000364457 ], [ -122.150176999810256, 38.080636000848095 ], [ -122.150931000473122, 38.080914000865938 ], [ -122.151490000100708, 38.081128000694662 ], [ -122.152356000148231, 38.081570001021475 ], [ -122.152864000023783, 38.082160000781762 ], [ -122.152920000116282, 38.082295000366223 ], [ -122.153484999842391, 38.084568000555365 ], [ -122.15362500029299, 38.084743000414029 ], [ -122.154343999929168, 38.085642000871822 ], [ -122.154709000007287, 38.085798000405894 ], [ -122.15589900013569, 38.085723000888287 ], [ -122.156320000490169, 38.085697000242213 ], [ -122.156474000391782, 38.085647001114161 ], [ -122.157603999862957, 38.085280000841678 ], [ -122.158511999935271, 38.084985001016655 ], [ -122.160638999783103, 38.084528000883495 ], [ -122.162701999669181, 38.084274001105747 ], [ -122.164689000090704, 38.084640000342795 ], [ -122.165366999421863, 38.084767000715026 ], [ -122.166493000382644, 38.085234000358049 ], [ -122.16720400022129, 38.086027000261616 ], [ -122.168104999505886, 38.086779001031736 ], [ -122.168211000397349, 38.086867000861034 ], [ -122.169632999472796, 38.086914000935344 ], [ -122.170521999640869, 38.086727001059842 ], [ -122.171469999914024, 38.086401000863177 ], [ -122.17193999947304, 38.086381000950269 ], [ -122.172595999648607, 38.086354000269438 ], [ -122.173502999484356, 38.086607000300823 ], [ -122.173526000194727, 38.087119000447203 ], [ -122.173935000248491, 38.087606001067833 ], [ -122.174918999514617, 38.088775000811061 ], [ -122.174965999564265, 38.088831000351895 ], [ -122.175489000504825, 38.088857000621026 ], [ -122.17896499944861, 38.089030000432537 ], [ -122.180422000104528, 38.089103000492706 ], [ -122.181190000237066, 38.089055001088234 ], [ -122.181989999811904, 38.088911000621586 ], [ -122.182741999436743, 38.088559001077741 ], [ -122.184037999850375, 38.08793500047566 ], [ -122.184630000427589, 38.087615000518284 ], [ -122.184933999984665, 38.087231000301109 ], [ -122.185173999756273, 38.08612700095653 ], [ -122.185253999505278, 38.085599000340885 ], [ -122.185525999592002, 38.084895000480628 ], [ -122.185910000160447, 38.083791000291093 ], [ -122.186373999972844, 38.083023000625047 ], [ -122.186518000183256, 38.082831000910055 ], [ -122.186773999539909, 38.082383000335078 ], [ -122.187525999610287, 38.081551000349258 ], [ -122.188277999770236, 38.081055000615848 ], [ -122.188854000227039, 38.080975000550858 ], [ -122.190197999961256, 38.081231000940868 ], [ -122.190917999944858, 38.081103000597956 ], [ -122.191378999800733, 38.08081900099144 ], [ -122.191521999401004, 38.080918000940883 ], [ -122.191832000046432, 38.081133000836978 ], [ -122.192678999733488, 38.081719000630166 ], [ -122.193578999759865, 38.083619000381894 ], [ -122.195319000118644, 38.087791000908169 ], [ -122.196578999730846, 38.090619000822791 ], [ -122.19685500018528, 38.091567000330606 ], [ -122.197279000507422, 38.092619001041193 ], [ -122.197461000480587, 38.095115000680018 ], [ -122.197470999395421, 38.095248000338934 ], [ -122.197569000429866, 38.096581000548028 ], [ -122.19757899975815, 38.096719000325912 ], [ -122.197979000176261, 38.097219000724621 ], [ -122.195479000160859, 38.097319001050153 ], [ -122.195191000172514, 38.096975000341182 ], [ -122.195097000292876, 38.096492000986991 ], [ -122.195078999892104, 38.096399000780288 ], [ -122.195047000495194, 38.096175000264758 ], [ -122.195031000255, 38.095903000409301 ], [ -122.194790999946235, 38.09558300072208 ], [ -122.194518999973681, 38.095359000852405 ], [ -122.194135000498576, 38.095183000942747 ], [ -122.193701000459356, 38.095116000419139 ], [ -122.193353000210124, 38.095063000258818 ], [ -122.19330300031298, 38.095055000855979 ], [ -122.19256700000588, 38.09492700028013 ], [ -122.191862999852518, 38.094655001056495 ], [ -122.191510999655563, 38.094415001030242 ], [ -122.191222999647479, 38.094127000782379 ], [ -122.190342999720457, 38.093871000307175 ], [ -122.189895000396632, 38.093871000263618 ], [ -122.189675999840077, 38.093887000688348 ], [ -122.189463000059973, 38.093903000639479 ], [ -122.189238999750955, 38.093967000786073 ], [ -122.189174999745632, 38.093759000430047 ], [ -122.189015000145602, 38.093647000595425 ], [ -122.188806999886509, 38.093567000763542 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1215, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.148698000466652, 38.080555000269456 ], [ -122.14926100019008, 38.079031000702798 ], [ -122.149355000190894, 38.078819000553011 ], [ -122.150282999681878, 38.077616000427795 ], [ -122.150572999964282, 38.07742600086172 ], [ -122.151094000136538, 38.076859001124497 ], [ -122.153628999931456, 38.07591300048729 ], [ -122.154298999846176, 38.075619001078763 ], [ -122.155342000045692, 38.075446000442838 ], [ -122.156698999839605, 38.075138000991579 ], [ -122.157690000081018, 38.074922000374961 ], [ -122.159878000466378, 38.074719001033152 ], [ -122.162077999820625, 38.074419001074297 ], [ -122.162978000027465, 38.074219000825252 ], [ -122.164278000493496, 38.073519000380045 ], [ -122.164677999921963, 38.07271900110419 ], [ -122.165277999888801, 38.071720000604302 ], [ -122.165277999437976, 38.0714200004631 ], [ -122.165377999812833, 38.070920000804527 ], [ -122.16557800041042, 38.070420000842503 ], [ -122.165778000507871, 38.069920000482469 ], [ -122.165877999569304, 38.069620000707459 ], [ -122.166177999476744, 38.069020001068665 ], [ -122.165377999773668, 38.068520000746624 ], [ -122.16367799999972, 38.067220001048724 ], [ -122.162077999888581, 38.067120000678365 ], [ -122.162378000037322, 38.066820001002611 ], [ -122.162721000342557, 38.066519000947793 ], [ -122.163177999874037, 38.066120000519319 ], [ -122.164377999459916, 38.065620000607083 ], [ -122.164501999866445, 38.06492800044736 ], [ -122.164577999661958, 38.064220000455222 ], [ -122.16651800003477, 38.064656000937497 ], [ -122.167158000336144, 38.064816000923273 ], [ -122.167479000189957, 38.0649050003368 ], [ -122.17615999988999, 38.067306000886539 ], [ -122.178135999582878, 38.067868000415835 ], [ -122.179578000088085, 38.068320000241904 ], [ -122.179377999387313, 38.069620001095444 ], [ -122.17797800041447, 38.070120000887719 ], [ -122.178678000192122, 38.071220000995183 ], [ -122.179345000423737, 38.071682000300129 ], [ -122.179977999434541, 38.072120000563402 ], [ -122.179677999599491, 38.074420000628606 ], [ -122.179178000212914, 38.074720000375635 ], [ -122.176978000152985, 38.076319000750487 ], [ -122.176478000224478, 38.076519000788593 ], [ -122.175178000443452, 38.077519000990101 ], [ -122.173978000149447, 38.077619000922617 ], [ -122.173277999589047, 38.077819000784544 ], [ -122.172877999418972, 38.07801900112878 ], [ -122.172598000117759, 38.078527000918072 ], [ -122.172070000038119, 38.079295000982711 ], [ -122.171765999494738, 38.080319000778964 ], [ -122.171737999817424, 38.080387000499563 ], [ -122.170981999809825, 38.08222300080751 ], [ -122.170390000133381, 38.082799000247327 ], [ -122.170191999660318, 38.082926000401621 ], [ -122.169941999758038, 38.083087000470272 ], [ -122.169589999892253, 38.083183000910019 ], [ -122.169014000170023, 38.083368000704901 ], [ -122.168678000226933, 38.083755000353747 ], [ -122.168541000031993, 38.083938000524874 ], [ -122.168342000163733, 38.084204000778229 ], [ -122.167629999860281, 38.084616000649561 ], [ -122.167461999763901, 38.084713000382891 ], [ -122.166493000382644, 38.085234000358049 ], [ -122.165366999421863, 38.084767000715026 ], [ -122.164689000090704, 38.084640000342795 ], [ -122.162701999669181, 38.084274001105747 ], [ -122.160638999783103, 38.084528000883495 ], [ -122.158511999935271, 38.084985001016655 ], [ -122.157603999862957, 38.085280000841678 ], [ -122.156474000391782, 38.085647001114161 ], [ -122.156320000490169, 38.085697000242213 ], [ -122.15589900013569, 38.085723000888287 ], [ -122.154709000007287, 38.085798000405894 ], [ -122.154343999929168, 38.085642000871822 ], [ -122.15362500029299, 38.084743000414029 ], [ -122.153484999842391, 38.084568000555365 ], [ -122.152920000116282, 38.082295000366223 ], [ -122.152864000023783, 38.082160000781762 ], [ -122.152356000148231, 38.081570001021475 ], [ -122.151490000100708, 38.081128000694662 ], [ -122.150931000473122, 38.080914000865938 ], [ -122.150176999810256, 38.080636000848095 ], [ -122.149075000506201, 38.080577000364457 ], [ -122.148698000466652, 38.080555000269456 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 25, "TAZ1454": 1213, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.164577999661958, 38.064220000455222 ], [ -122.158451000423668, 38.062205000686134 ], [ -122.15759799942289, 38.061924000534532 ], [ -122.157327999481453, 38.06183400058292 ], [ -122.15713799942489, 38.061774000661252 ], [ -122.156972000002995, 38.061706000883035 ], [ -122.156795000318553, 38.061614000795764 ], [ -122.15559699970045, 38.060913000679015 ], [ -122.151946999595452, 38.058699001118875 ], [ -122.151700999667739, 38.058557000281233 ], [ -122.150077000075626, 38.057420000367458 ], [ -122.150276999910034, 38.056720000590552 ], [ -122.151176999810986, 38.0559200005778 ], [ -122.151377000432333, 38.0555200002836 ], [ -122.151492999842048, 38.055248000915832 ], [ -122.151676999781714, 38.055020000413883 ], [ -122.152276999724648, 38.054320000774055 ], [ -122.152777000066536, 38.053420000987877 ], [ -122.153477000505475, 38.052520000972478 ], [ -122.155376999773949, 38.053520001070318 ], [ -122.157477000140972, 38.054420001001489 ], [ -122.159477000296917, 38.05532000102383 ], [ -122.16147700041131, 38.056320000421628 ], [ -122.163576999513765, 38.057220000678882 ], [ -122.165776999728763, 38.05822000092455 ], [ -122.166677999811185, 38.058720000302188 ], [ -122.167677999492469, 38.059420000726426 ], [ -122.167990000090484, 38.059616000818693 ], [ -122.169478000482968, 38.060420000732542 ], [ -122.169956999642238, 38.060731000749961 ], [ -122.170016000242484, 38.060770001137548 ], [ -122.171477999962491, 38.061720000504685 ], [ -122.173377999775212, 38.062820000375211 ], [ -122.173678000434364, 38.062920000872836 ], [ -122.175277999982782, 38.063720000351942 ], [ -122.177415000023757, 38.064992000395947 ], [ -122.17792599954511, 38.065296000800906 ], [ -122.179177999718831, 38.066120000687619 ], [ -122.180378000038289, 38.066720001039009 ], [ -122.180981999813596, 38.067120000533905 ], [ -122.182178000356146, 38.068020000364214 ], [ -122.18360500033252, 38.069250001050435 ], [ -122.183735999713647, 38.06937500053526 ], [ -122.18490400036778, 38.070693001075149 ], [ -122.184816999566578, 38.070618000696747 ], [ -122.184722000289838, 38.070558000269386 ], [ -122.183878000197652, 38.070120000587302 ], [ -122.181996000016042, 38.069161000733878 ], [ -122.181188999479389, 38.068857000269581 ], [ -122.179578000088085, 38.068320000241904 ], [ -122.178135999582878, 38.067868000415835 ], [ -122.17615999988999, 38.067306000886539 ], [ -122.167479000189957, 38.0649050003368 ], [ -122.167158000336144, 38.064816000923273 ], [ -122.16651800003477, 38.064656000937497 ], [ -122.164577999661958, 38.064220000455222 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1248, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.200880000233354, 38.168717000817821 ], [ -122.201580000313754, 38.168217001127871 ], [ -122.201960000157314, 38.168317000414795 ], [ -122.202579999593382, 38.168317000636037 ], [ -122.202885999626091, 38.168508000348893 ], [ -122.203015999483839, 38.168589000524975 ], [ -122.203579999869049, 38.168717001120882 ], [ -122.203179999552134, 38.171517000325018 ], [ -122.204580000244846, 38.1728170002702 ], [ -122.208879999582848, 38.172717000373822 ], [ -122.211179999652245, 38.17471700102228 ], [ -122.211379999543183, 38.175617000519821 ], [ -122.215079999542581, 38.179717000835595 ], [ -122.213680000522885, 38.181017000780109 ], [ -122.213680000524661, 38.183117000503387 ], [ -122.212980000135218, 38.184317001096495 ], [ -122.215581000040871, 38.188417000253956 ], [ -122.2094799997747, 38.189917001080708 ], [ -122.211480999528732, 38.192117000840774 ], [ -122.205880000149023, 38.196216000856907 ], [ -122.205979999562146, 38.197916000536779 ], [ -122.204980000257223, 38.198516000290738 ], [ -122.205681000217524, 38.203616000756256 ], [ -122.2045810004918, 38.204816000935971 ], [ -122.205680999717643, 38.208216000389186 ], [ -122.204580999898297, 38.209216000396331 ], [ -122.204280999970962, 38.209616001082168 ], [ -122.201480999546916, 38.211616000443293 ], [ -122.199581000177787, 38.210616001060352 ], [ -122.197579999469667, 38.21181600044978 ], [ -122.194979999627847, 38.212316000947609 ], [ -122.193979999886366, 38.213616000713159 ], [ -122.194679999981673, 38.215216000743354 ], [ -122.196279999793319, 38.216116000535628 ], [ -122.196180999746034, 38.218916000395787 ], [ -122.193380000178806, 38.221216000825073 ], [ -122.19358099945714, 38.223516000734023 ], [ -122.194980999673732, 38.225216000337475 ], [ -122.19598099982494, 38.229015000573831 ], [ -122.195981000524654, 38.230415000412371 ], [ -122.197181000245394, 38.231415000452557 ], [ -122.197181000273559, 38.232815000722269 ], [ -122.20178100017722, 38.240315000779951 ], [ -122.204380999540547, 38.241015000239805 ], [ -122.205380999597963, 38.244615000587572 ], [ -122.208281000023788, 38.244215000288897 ], [ -122.209580999910713, 38.244815000260822 ], [ -122.210181000207484, 38.247415000564708 ], [ -122.212481000176865, 38.248715001078097 ], [ -122.211081000459203, 38.252215000734665 ], [ -122.209081000251302, 38.251115000480304 ], [ -122.206481000055078, 38.250915000403559 ], [ -122.204381000332717, 38.249315000718973 ], [ -122.201316999951786, 38.249398000483019 ], [ -122.200681000510599, 38.249415000591789 ], [ -122.199480999566319, 38.250915000918141 ], [ -122.195181000399941, 38.250715000925744 ], [ -122.194081000442281, 38.252915000827905 ], [ -122.194481999937253, 38.254119000862659 ], [ -122.194681000362138, 38.254715000883721 ], [ -122.193281000205616, 38.256415000278395 ], [ -122.196781000174596, 38.258415000396795 ], [ -122.199680999576159, 38.25891500093168 ], [ -122.2029810004273, 38.259215000605707 ], [ -122.205681000238769, 38.258715000414689 ], [ -122.206072999819312, 38.258795000414146 ], [ -122.207380999548931, 38.259115000532155 ], [ -122.208480999964507, 38.258415000587682 ], [ -122.21298199954991, 38.259115000503591 ], [ -122.216882000119199, 38.262315000713535 ], [ -122.216482000121687, 38.263615000351322 ], [ -122.216781999661848, 38.264215000548894 ], [ -122.216481999829924, 38.266015000471512 ], [ -122.215181999464249, 38.267515000630439 ], [ -122.21458199989975, 38.269115001048796 ], [ -122.213981999892468, 38.269714000667676 ], [ -122.213581999518354, 38.27091400074211 ], [ -122.212282000521554, 38.272814000437691 ], [ -122.210982000502696, 38.271914000516581 ], [ -122.208481999727852, 38.272214000504015 ], [ -122.206382000003586, 38.271614000716646 ], [ -122.20048100017101, 38.272014000746481 ], [ -122.197380999755467, 38.27271400049996 ], [ -122.195680999976361, 38.271514000742791 ], [ -122.193081000454413, 38.271414000886793 ], [ -122.188381000231004, 38.271614001013198 ], [ -122.191081000443916, 38.275914000269658 ], [ -122.190680999436708, 38.277514000649525 ], [ -122.192581000203873, 38.278914000292602 ], [ -122.194380999413895, 38.280814000921836 ], [ -122.196380999806138, 38.281914000941974 ], [ -122.196680999520595, 38.28441400063209 ], [ -122.198282000125474, 38.284814000498393 ], [ -122.198481999767523, 38.285814000528795 ], [ -122.19928200008053, 38.28661400080167 ], [ -122.199781999695134, 38.287614000723913 ], [ -122.201481999878055, 38.289314000581413 ], [ -122.201682000167921, 38.292414000426177 ], [ -122.203481999467201, 38.292914001104791 ], [ -122.203781999619096, 38.293914000467574 ], [ -122.202981999666136, 38.294414000624215 ], [ -122.201981999461751, 38.296714000518513 ], [ -122.200581999976862, 38.298513000634124 ], [ -122.199081999562495, 38.300113000725801 ], [ -122.199182000350831, 38.301513000872973 ], [ -122.200482000325565, 38.30201300101259 ], [ -122.200981999836472, 38.302813000671108 ], [ -122.202582000461987, 38.304113000365376 ], [ -122.202482000386368, 38.305713001009813 ], [ -122.201382000004685, 38.308013001098267 ], [ -122.201625999507286, 38.30852100025443 ], [ -122.201882000032896, 38.308913000433776 ], [ -122.204081999725702, 38.310113000471524 ], [ -122.206182000117423, 38.314013000612341 ], [ -122.206381999472057, 38.314913000659686 ], [ -122.20598200020406, 38.315713000431764 ], [ -122.198996000436964, 38.315721000502428 ], [ -122.198761999862597, 38.315721000967322 ], [ -122.19820199977319, 38.315705000396086 ], [ -122.197682000087909, 38.315713000827117 ], [ -122.197081999770816, 38.315613000573677 ], [ -122.192681999530507, 38.315713001027945 ], [ -122.191182000231805, 38.315613000655631 ], [ -122.179946000178873, 38.315913000631141 ], [ -122.172775000353823, 38.315866000354717 ], [ -122.166387999480449, 38.315825000676398 ], [ -122.164279999952882, 38.31581100060933 ], [ -122.133779999651154, 38.315612000722432 ], [ -122.131479999765233, 38.313612000654373 ], [ -122.130080000408384, 38.313612001120696 ], [ -122.128879999739866, 38.310712000304221 ], [ -122.128479999798131, 38.307813000727521 ], [ -122.128422999586007, 38.304034000368766 ], [ -122.12838000019498, 38.301213000463036 ], [ -122.127079999558987, 38.299113000283583 ], [ -122.126979999880334, 38.298313000521915 ], [ -122.126759999923138, 38.298025000462793 ], [ -122.126680000085301, 38.297713001064146 ], [ -122.125979999972643, 38.29681300075211 ], [ -122.120580000524342, 38.296513000785886 ], [ -122.119379999887158, 38.291413000419354 ], [ -122.11857999958653, 38.286913000361395 ], [ -122.118616000006469, 38.285273000906393 ], [ -122.118378999821729, 38.284313000328353 ], [ -122.116479000157, 38.28131300099794 ], [ -122.112278999578024, 38.275013000289867 ], [ -122.111323000035924, 38.27352600104264 ], [ -122.111530999662492, 38.271514000779071 ], [ -122.111842999727131, 38.270974000760418 ], [ -122.1131789999924, 38.266014000370603 ], [ -122.113430999703894, 38.265002000943703 ], [ -122.113778999512434, 38.262914001005235 ], [ -122.115478999950057, 38.261014001120451 ], [ -122.116622999766719, 38.259231000540197 ], [ -122.117425999705034, 38.257980000780186 ], [ -122.11884499973533, 38.25576900111907 ], [ -122.119779000381996, 38.254314001108199 ], [ -122.120626999837484, 38.250673000320539 ], [ -122.122178999658303, 38.244014001023409 ], [ -122.122779000196132, 38.242714001023806 ], [ -122.124378999964733, 38.238914000877912 ], [ -122.124511000062853, 38.238672000941953 ], [ -122.124758999483447, 38.238218000313871 ], [ -122.124905000089527, 38.237909000627461 ], [ -122.125542000402803, 38.236567001074697 ], [ -122.125687999436209, 38.236259000650826 ], [ -122.126278999396078, 38.23501500053203 ], [ -122.126778999561978, 38.233315000986259 ], [ -122.127190999839769, 38.232619000827476 ], [ -122.127388999966612, 38.232170000718433 ], [ -122.127678999711321, 38.231515000529583 ], [ -122.127859999405359, 38.231055000726286 ], [ -122.128021999492532, 38.230642000976019 ], [ -122.128439000143985, 38.229579000924737 ], [ -122.128589000000289, 38.229185001005185 ], [ -122.129378999686423, 38.227115000412603 ], [ -122.129479000414861, 38.225915001130844 ], [ -122.129551999761375, 38.224985001080071 ], [ -122.129499999748219, 38.224684000893284 ], [ -122.129255999912772, 38.223837000510649 ], [ -122.128979000390004, 38.223215001124601 ], [ -122.12887800034035, 38.2230790002438 ], [ -122.128678999577886, 38.222815000883202 ], [ -122.131778999426473, 38.220815000479746 ], [ -122.132679000233452, 38.220115001057913 ], [ -122.134978999504369, 38.218515000910216 ], [ -122.136078999776302, 38.217715000447214 ], [ -122.136456000135226, 38.217452001122147 ], [ -122.137679000259368, 38.216615000554945 ], [ -122.13907900007122, 38.215615000474379 ], [ -122.141158999655374, 38.214228000723637 ], [ -122.14347900042894, 38.212615001110279 ], [ -122.144230000061157, 38.212057001072949 ], [ -122.146778999747838, 38.210415001001529 ], [ -122.147879000375326, 38.209716000783004 ], [ -122.149731000299369, 38.208146000534661 ], [ -122.150471000120262, 38.207521000335866 ], [ -122.150978999818321, 38.207116000692167 ], [ -122.152778999616501, 38.20551600095807 ], [ -122.154179000449872, 38.204216000381692 ], [ -122.156208000050228, 38.202334000890261 ], [ -122.159519999943967, 38.199446000467027 ], [ -122.160578999664352, 38.198616000468462 ], [ -122.165478999861165, 38.194516000848559 ], [ -122.168578999816404, 38.19071600110712 ], [ -122.170378999633044, 38.188816000513512 ], [ -122.173414999567299, 38.187308000450592 ], [ -122.175332999551003, 38.18639600059489 ], [ -122.176860000029095, 38.185884000546942 ], [ -122.180779999651477, 38.184717000985209 ], [ -122.181286999442875, 38.184440000282862 ], [ -122.181613999906617, 38.184262000429094 ], [ -122.182438000493292, 38.183535000333059 ], [ -122.183538000202063, 38.182592001127368 ], [ -122.184638000139159, 38.181591001034953 ], [ -122.185411999976168, 38.180923000578261 ], [ -122.186461999912225, 38.1803150005289 ], [ -122.188210999924493, 38.179156000601722 ], [ -122.190061000283933, 38.177723000486502 ], [ -122.190985999593153, 38.176839000292972 ], [ -122.192259999428117, 38.17542500063616 ], [ -122.193334999826021, 38.174208001116021 ], [ -122.194749999410973, 38.172975001112555 ], [ -122.199880000205482, 38.169417000443246 ], [ -122.200880000233354, 38.168717000817821 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1391, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -123.027373999518574, 38.503159000707448 ], [ -123.02830600031551, 38.503251001141905 ], [ -123.028568000431278, 38.503365000387049 ], [ -123.029848999457244, 38.503640000421072 ], [ -123.030228000410077, 38.503709000974766 ], [ -123.030693999844999, 38.503984000995274 ], [ -123.031275999445626, 38.504144000569354 ], [ -123.031684000222285, 38.504465000967265 ], [ -123.031712999954948, 38.504579000979717 ], [ -123.031684000530078, 38.504717000649684 ], [ -123.031363999515435, 38.504831000913065 ], [ -123.030256999974284, 38.504854000880613 ], [ -123.030226999712951, 38.50494500042219 ], [ -123.029964999774208, 38.505037000408038 ], [ -123.029731999401619, 38.504922001123965 ], [ -123.029703000147151, 38.504693000535063 ], [ -123.029586999584595, 38.504602000247296 ], [ -123.029353999801984, 38.504670000369892 ], [ -123.02935299987827, 38.506021000578002 ], [ -123.029468999999835, 38.506410000351352 ], [ -123.029322999457577, 38.507394000912427 ], [ -123.029760000256857, 38.507830000600919 ], [ -123.031041999780371, 38.508082000802474 ], [ -123.031623999629574, 38.508425000381202 ], [ -123.032089999807667, 38.50895200042735 ], [ -123.032176999737089, 38.509227001099532 ], [ -123.032030999626045, 38.510416000410629 ], [ -123.032117999949648, 38.510691001057346 ], [ -123.0324099998289, 38.511034000945578 ], [ -123.033487999657709, 38.510966000464926 ], [ -123.034127999725115, 38.511126000607632 ], [ -123.03450699960257, 38.511424000315884 ], [ -123.034972999853295, 38.51192700107601 ], [ -123.03491500009919, 38.51220200042642 ], [ -123.034652000384398, 38.512500000899799 ], [ -123.034651999618362, 38.512843000917265 ], [ -123.035060000041796, 38.512752000463017 ], [ -123.035453999444442, 38.512510000409378 ], [ -123.035729999722903, 38.512340000391077 ], [ -123.035789000419911, 38.511630001033907 ], [ -123.035993000308679, 38.511676000319241 ], [ -123.03645900028053, 38.512157001085647 ], [ -123.03675000039803, 38.512821000840326 ], [ -123.036924000215166, 38.515476000537511 ], [ -123.036835999484666, 38.515545000600923 ], [ -123.037097999394305, 38.516529001017247 ], [ -123.037302000107559, 38.516666000406182 ], [ -123.038029999756475, 38.51687300048453 ], [ -123.038583999694779, 38.517422000618623 ], [ -123.039108000287612, 38.51760500049091 ], [ -123.039516000510702, 38.517651000985879 ], [ -123.039544999483311, 38.51820100068867 ], [ -123.039427999493611, 38.518521000381206 ], [ -123.03945699939986, 38.519254000631157 ], [ -123.039339999813791, 38.519528000619665 ], [ -123.039486000183359, 38.520124000905135 ], [ -123.039689999538382, 38.520307001007581 ], [ -123.040098000484619, 38.520444000914807 ], [ -123.040242999686555, 38.520719000405229 ], [ -123.040389000352263, 38.521497000536513 ], [ -123.040884000485136, 38.521818000949736 ], [ -123.040999999600231, 38.522047001007479 ], [ -123.041349999757031, 38.522321000651885 ], [ -123.041845000007584, 38.522528000264245 ], [ -123.044089000370917, 38.522940001117426 ], [ -123.044467000091984, 38.523261000552914 ], [ -123.044466999873549, 38.523352001069924 ], [ -123.044787999925276, 38.523696001012695 ], [ -123.045837000013336, 38.52408500041399 ], [ -123.045982000526465, 38.524291000549333 ], [ -123.04647899972629, 38.524566000277055 ], [ -123.047089999504621, 38.525115000768487 ], [ -123.048080999784105, 38.525710000727187 ], [ -123.04819700042961, 38.52593900070557 ], [ -123.049420999456075, 38.526374000624777 ], [ -123.049538000011253, 38.527038000601628 ], [ -123.04991600012643, 38.52742800037997 ], [ -123.049915999696253, 38.528183000548246 ], [ -123.049828999425557, 38.52834300032405 ], [ -123.049886999696028, 38.528664000532366 ], [ -123.050061999453519, 38.528915000731956 ], [ -123.050091000462288, 38.529511000727432 ], [ -123.050935999936556, 38.529877000833764 ], [ -123.051139999406828, 38.530037000760039 ], [ -123.051256000518208, 38.530358000984556 ], [ -123.051168999870839, 38.530747000506373 ], [ -123.0509360003729, 38.531090000988328 ], [ -123.050994000417532, 38.53159400070988 ], [ -123.051169000372838, 38.531731000815633 ], [ -123.051198000081811, 38.531914000960313 ], [ -123.051605999519495, 38.532349000769926 ], [ -123.05166400020029, 38.532578000966929 ], [ -123.051868000004816, 38.532716001063754 ], [ -123.052305000128399, 38.532807000798073 ], [ -123.052362999664552, 38.533425000673688 ], [ -123.052684000372949, 38.533723000541237 ], [ -123.052713000298127, 38.534249000790695 ], [ -123.054052999450093, 38.535142000267754 ], [ -123.054344999737808, 38.535600001134263 ], [ -123.054432000266146, 38.535943000817269 ], [ -123.054693999544611, 38.536104001086592 ], [ -123.055364000478093, 38.536264001075182 ], [ -123.056471999807542, 38.536401000670978 ], [ -123.057346000048895, 38.536401000345819 ], [ -123.058278999754194, 38.536585000586776 ], [ -123.059006999997351, 38.536951001048543 ], [ -123.060027000179133, 38.536951000766472 ], [ -123.060726999448619, 38.536859000552916 ], [ -123.061222000015903, 38.536928000552066 ], [ -123.061484000068418, 38.536859001122217 ], [ -123.061834000359994, 38.53653900089094 ], [ -123.062674000245707, 38.536330000492875 ], [ -123.062942000216978, 38.536264001010444 ], [ -123.063554000275317, 38.535829001004231 ], [ -123.063582999586828, 38.535188000582608 ], [ -123.064836000128409, 38.534319000909314 ], [ -123.065477000340678, 38.534227000415392 ], [ -123.065186000363013, 38.534708000278975 ], [ -123.065098000021507, 38.535806001089618 ], [ -123.065331000392575, 38.535944000269112 ], [ -123.065738999815906, 38.535944000817381 ], [ -123.066525999555054, 38.536081000346392 ], [ -123.066847000337248, 38.535532000266578 ], [ -123.068390999560194, 38.534937001120582 ], [ -123.068886999837133, 38.534891001117487 ], [ -123.069031999869793, 38.535005000476893 ], [ -123.068945000238159, 38.535303000833132 ], [ -123.067837999766425, 38.536012000932736 ], [ -123.067604999986685, 38.536287000317095 ], [ -123.067634000331125, 38.537271000902962 ], [ -123.067720999559583, 38.537340001106678 ], [ -123.067982999478815, 38.537271000658997 ], [ -123.068129000401782, 38.536585000703617 ], [ -123.068595000246177, 38.536310001005845 ], [ -123.069324000443672, 38.536264000311839 ], [ -123.069790000163167, 38.536447001102438 ], [ -123.069789999671627, 38.536608000874153 ], [ -123.069411000123367, 38.536745000578371 ], [ -123.069353000340442, 38.537020000467926 ], [ -123.071217999530617, 38.537111000539042 ], [ -123.071568000385199, 38.536974001007763 ], [ -123.071771999675065, 38.536630000711192 ], [ -123.071794000485013, 38.53649900035844 ], [ -123.071888999829739, 38.535944000259946 ], [ -123.072163999409213, 38.535831000839956 ], [ -123.072413000318789, 38.536172000939423 ], [ -123.072413000481973, 38.536836000511421 ], [ -123.072209000504898, 38.537248000692934 ], [ -123.071364000392464, 38.538210000335397 ], [ -123.071393000190625, 38.538507000639392 ], [ -123.07250100046133, 38.539927001137187 ], [ -123.072675999627137, 38.540339000934679 ], [ -123.072676000145421, 38.540888000669895 ], [ -123.072559000052081, 38.541048000446182 ], [ -123.072559999460125, 38.541643000677418 ], [ -123.07290900043381, 38.542307000911975 ], [ -123.072850999713609, 38.542719000944494 ], [ -123.072617999724898, 38.542994000977835 ], [ -123.072297000277416, 38.5432000008839 ], [ -123.0716270004405, 38.543315001051418 ], [ -123.071248000336865, 38.543772000522331 ], [ -123.070577999878324, 38.545421000458269 ], [ -123.070199000428744, 38.545924001127553 ], [ -123.070045999745517, 38.546012000881767 ], [ -123.069412000526057, 38.546382000798722 ], [ -123.069121000001033, 38.546771000858136 ], [ -123.068974999816291, 38.547366000724729 ], [ -123.068480000387268, 38.548030000324871 ], [ -123.068187999957019, 38.548900000689002 ], [ -123.068184000487037, 38.548957000650518 ], [ -123.068158999908178, 38.549381000755382 ], [ -123.068071999905868, 38.54949500066536 ], [ -123.068071999479599, 38.550136000882723 ], [ -123.06731399957502, 38.550869000836478 ], [ -123.067081000314943, 38.55102900113198 ], [ -123.066964999427611, 38.551039000621699 ], [ -123.065273000226753, 38.551189001079479 ], [ -123.064602999785777, 38.551441000853842 ], [ -123.064136999406074, 38.551739000761359 ], [ -123.0638449996041, 38.552059000682206 ], [ -123.063669999685132, 38.552609000353272 ], [ -123.062854000342341, 38.553410000366071 ], [ -123.062388000078684, 38.554188000910464 ], [ -123.061687999671477, 38.554646000795003 ], [ -123.061425999920175, 38.554737000693997 ], [ -123.060201000506197, 38.554692000933855 ], [ -123.059851999473963, 38.55478300056059 ], [ -123.059356000327654, 38.555058000579564 ], [ -123.05903499941283, 38.555447001040832 ], [ -123.058984999476294, 38.555702000382347 ], [ -123.058889000486488, 38.556202000798251 ], [ -123.058627000155283, 38.556500001019813 ], [ -123.057869000512042, 38.556981000254972 ], [ -123.057782000521854, 38.557759000428533 ], [ -123.057467000133315, 38.558233000417459 ], [ -123.05740299966611, 38.558331000794496 ], [ -123.057052999866826, 38.558537000552803 ], [ -123.056674000336557, 38.559018000331193 ], [ -123.056458999825722, 38.559187000625599 ], [ -123.056199000478571, 38.559390001117883 ], [ -123.056061000444899, 38.559499000288 ], [ -123.054137000471641, 38.560048000812529 ], [ -123.053321000476842, 38.560712000940278 ], [ -123.053438000090338, 38.561215000300876 ], [ -123.053845999619327, 38.562039000826267 ], [ -123.053815999581516, 38.562841000843108 ], [ -123.053495000139165, 38.56380200086948 ], [ -123.053466000497338, 38.564924001040822 ], [ -123.052854000007855, 38.565336000708754 ], [ -123.052153999984782, 38.565221000355542 ], [ -123.051455000119262, 38.564672000376831 ], [ -123.050900999578744, 38.564694000320877 ], [ -123.050579999547409, 38.564855000579094 ], [ -123.050055000187854, 38.565564000680197 ], [ -123.049383999522831, 38.566732001099098 ], [ -123.049296999915271, 38.567601000730171 ], [ -123.049383999982609, 38.567853000658069 ], [ -123.05034599975248, 38.568700000501607 ], [ -123.05043300022804, 38.568975000987379 ], [ -123.050054000534786, 38.569547000824798 ], [ -123.049938000109577, 38.569891000491921 ], [ -123.049966999633526, 38.570646000818144 ], [ -123.049603999508761, 38.570843000258918 ], [ -123.049383000270055, 38.57066900039441 ], [ -123.048159000224445, 38.570737000485501 ], [ -123.04817200003815, 38.570657000838523 ], [ -123.048217000263534, 38.570394000733536 ], [ -123.047809000475695, 38.570211000556625 ], [ -123.047312999470066, 38.569570000346836 ], [ -123.047079999684826, 38.569478000434451 ], [ -123.046700999400059, 38.568883000970928 ], [ -123.046468000208378, 38.568814000314703 ], [ -123.046234999763797, 38.569020001084183 ], [ -123.045709999938623, 38.569135000614246 ], [ -123.044806000080939, 38.568997000251805 ], [ -123.044252000340705, 38.569089000250464 ], [ -123.043697999773968, 38.56892800039919 ], [ -123.043232000382162, 38.568562000492911 ], [ -123.042589999872519, 38.568333000584424 ], [ -123.040170000383341, 38.566570000760095 ], [ -123.039966000524046, 38.566181000639702 ], [ -123.039733000426494, 38.566112000962313 ], [ -123.039529000338916, 38.566707000808414 ], [ -123.03955800051061, 38.567279000546648 ], [ -123.039324000251213, 38.567371000249537 ], [ -123.038829000246764, 38.566959000474334 ], [ -123.03868299943322, 38.566615000273444 ], [ -123.038333000102043, 38.566432000930675 ], [ -123.038129000383719, 38.566821000503744 ], [ -123.037924999777786, 38.566981000504562 ], [ -123.037545999730966, 38.567050000695133 ], [ -123.037283999723982, 38.566729000348488 ], [ -123.037080000348581, 38.56624900076465 ], [ -123.036526000076265, 38.56544700078981 ], [ -123.03617600024559, 38.565195000666527 ], [ -123.035884999602118, 38.565150000347622 ], [ -123.03533100036168, 38.565356000905432 ], [ -123.034194000289148, 38.565309001062253 ], [ -123.033028000521369, 38.565401000798111 ], [ -123.031656999616118, 38.565328000941939 ], [ -123.031307000224075, 38.565309000381625 ], [ -123.030956999990863, 38.565606001063408 ], [ -123.030927999566941, 38.566659001101954 ], [ -123.030723999517292, 38.56681900027619 ], [ -123.030256999580473, 38.566979000675623 ], [ -123.028508000150467, 38.566979000794035 ], [ -123.027865999900712, 38.566727000673517 ], [ -123.027107999393962, 38.566635000942895 ], [ -123.026787999474479, 38.56652100036753 ], [ -123.026526000417888, 38.566292000424866 ], [ -123.026583999846352, 38.566086000248134 ], [ -123.026905000335802, 38.565811000570008 ], [ -123.027021999598503, 38.564827000619786 ], [ -123.026468000475205, 38.564598000830415 ], [ -123.02603100011342, 38.564552000483403 ], [ -123.025506000116806, 38.564643000573014 ], [ -123.025243000178449, 38.56478000078657 ], [ -123.02477699951281, 38.564872000522016 ], [ -123.02451500012495, 38.564734000394573 ], [ -123.024486000394759, 38.564597001074162 ], [ -123.024222999999026, 38.564437000326812 ], [ -123.023727999413907, 38.564391000664628 ], [ -123.022911000269218, 38.564665000269756 ], [ -123.020723999568006, 38.564985000592301 ], [ -123.019236999978943, 38.565419000673366 ], [ -123.018507999466948, 38.565488000744885 ], [ -123.017313000394196, 38.565418000601071 ], [ -123.017167000438619, 38.565304001007341 ], [ -123.016934000127776, 38.564777000629462 ], [ -123.016789000304371, 38.564686000910761 ], [ -123.016146999572925, 38.564640000998622 ], [ -123.016030999877046, 38.56454800050571 ], [ -123.01541900019059, 38.564456000490317 ], [ -123.014893999459076, 38.564021000950532 ], [ -123.014689999833109, 38.563746000251754 ], [ -123.013961000235454, 38.563654000915896 ], [ -123.013699000191366, 38.563471001102123 ], [ -123.013525000085934, 38.562876000975606 ], [ -123.013408000439625, 38.56276200049868 ], [ -123.012502999596435, 38.562555000520838 ], [ -123.012532000341409, 38.563402000550106 ], [ -123.01218199959402, 38.563997001025783 ], [ -123.012006999620397, 38.564134001080895 ], [ -123.010985999847037, 38.564088000305176 ], [ -123.010053999402118, 38.563973000419665 ], [ -123.009946000055791, 38.563192000810787 ], [ -123.009791999502553, 38.563126000653945 ], [ -123.009686999839587, 38.563096001122901 ], [ -123.008975999948731, 38.562897000915299 ], [ -123.008247000392217, 38.562988000375128 ], [ -123.007576000389449, 38.563285000313961 ], [ -123.006758999770199, 38.564040000871628 ], [ -123.005913000030304, 38.564360000802743 ], [ -123.00553400032598, 38.564818000812004 ], [ -123.005183999672781, 38.564955000593201 ], [ -123.004805000362126, 38.56493200093994 ], [ -123.004397000351346, 38.564749000667454 ], [ -123.004046999878071, 38.564451000761423 ], [ -123.003813999695325, 38.564016000547177 ], [ -123.003056999926685, 38.56358100027397 ], [ -123.002706999699726, 38.563603000952583 ], [ -123.002443999738659, 38.563855000273008 ], [ -123.001743999786143, 38.564244000907529 ], [ -123.001502000366997, 38.564587000353285 ], [ -123.001109999797436, 38.564758000794299 ], [ -123.000702999633262, 38.564816000866649 ], [ -123.000446999621985, 38.564931001035553 ], [ -123.000213999750912, 38.565160000976661 ], [ -123.000155999936453, 38.565686000773248 ], [ -123.00001099996156, 38.565801000672209 ], [ -122.998389000132562, 38.565837000752737 ], [ -122.997941000535306, 38.565848001021863 ], [ -122.997796999523686, 38.565751001034521 ], [ -122.997327999691592, 38.565436001028793 ], [ -122.996745000417832, 38.565276001119649 ], [ -122.996347000346233, 38.565325000397337 ], [ -122.995461999835015, 38.56543700067504 ], [ -122.99514099999395, 38.565277000838684 ], [ -122.994994999903298, 38.564979001110565 ], [ -122.994791000431178, 38.564888000447382 ], [ -122.994558000020035, 38.564888000661959 ], [ -122.994440999803558, 38.564979000445831 ], [ -122.994003999950266, 38.565048001113787 ], [ -122.993771000518208, 38.564911000685242 ], [ -122.993682999535068, 38.56445300097996 ], [ -122.993419999484615, 38.56433900052393 ], [ -122.993186999698423, 38.56433900071336 ], [ -122.99304200048708, 38.564728000992567 ], [ -122.992720999767059, 38.564866000715448 ], [ -122.992080000263371, 38.564660000866716 ], [ -122.991730000057842, 38.564637000492205 ], [ -122.991000999507065, 38.564798000715349 ], [ -122.990956999816731, 38.564765000677184 ], [ -122.989600999599432, 38.563768000633416 ], [ -122.988316999841018, 38.562922000253813 ], [ -122.987355000115855, 38.56269300095726 ], [ -122.985401000365272, 38.562763000754387 ], [ -122.984496999476377, 38.562603001140467 ], [ -122.984153000503795, 38.562582000298356 ], [ -122.982280999852335, 38.562467000618888 ], [ -122.981231999415911, 38.562284000998169 ], [ -122.980502999471128, 38.561964000599673 ], [ -122.979948000028017, 38.561323000661936 ], [ -122.979335999892115, 38.561140000378181 ], [ -122.979173000448029, 38.561191000342419 ], [ -122.979044999778054, 38.561232000286232 ], [ -122.978462000001912, 38.561781000482739 ], [ -122.978053999515609, 38.561942000406063 ], [ -122.9777620002465, 38.561804000791312 ], [ -122.977790999405016, 38.561278000843444 ], [ -122.978199000479208, 38.560774001023262 ], [ -122.978257000410281, 38.560499000504009 ], [ -122.977935999697834, 38.560133000372936 ], [ -122.977469999751364, 38.560019000365585 ], [ -122.97708999946704, 38.559813000655694 ], [ -122.976332000049169, 38.55969900078717 ], [ -122.976099000534077, 38.559584000397805 ], [ -122.975631999599827, 38.558898000565001 ], [ -122.975252999526418, 38.558646000316124 ], [ -122.974175000065273, 38.558463000606672 ], [ -122.973222999559795, 38.557989000344286 ], [ -122.972658000122649, 38.557708000487764 ], [ -122.972146999968601, 38.557201000465184 ], [ -122.971929000411563, 38.556999000253342 ], [ -122.971462999728089, 38.556724000473459 ], [ -122.971131000325059, 38.55663000097455 ], [ -122.969916999553405, 38.556290000777011 ], [ -122.969216999412836, 38.555146000276451 ], [ -122.968547000505723, 38.554551001064461 ], [ -122.968547000340436, 38.554367000321164 ], [ -122.969216999928847, 38.554367000871316 ], [ -122.969421000135426, 38.554207000393632 ], [ -122.969070999570135, 38.5537950002442 ], [ -122.969070999910485, 38.55315400034786 ], [ -122.968720999603036, 38.552628000268626 ], [ -122.967992000207275, 38.552468000678395 ], [ -122.967817000354572, 38.552330000761742 ], [ -122.967699999526943, 38.551918000722821 ], [ -122.966883999654669, 38.551529001020803 ], [ -122.966573999421954, 38.551043000269821 ], [ -122.966270999847936, 38.550568000785788 ], [ -122.96627100010366, 38.550339000939189 ], [ -122.966212999872923, 38.549973000257992 ], [ -122.964375000467825, 38.549309000659363 ], [ -122.963995999971459, 38.548943000734617 ], [ -122.963966999795531, 38.548760000244876 ], [ -122.963879000284905, 38.548714000835027 ], [ -122.963646000406371, 38.548142000269976 ], [ -122.963180000451558, 38.547936000367059 ], [ -122.962537999490394, 38.548051000515102 ], [ -122.962158999834756, 38.547959000723168 ], [ -122.96178000043416, 38.547296000318589 ], [ -122.961255999820992, 38.547158000392763 ], [ -122.961256000471607, 38.546975000659529 ], [ -122.961751000390919, 38.546609000816979 ], [ -122.96175100032211, 38.546334000568656 ], [ -122.961343000485201, 38.546060000924349 ], [ -122.961343000300957, 38.545876000817849 ], [ -122.961633999882096, 38.545739000588561 ], [ -122.962041999650666, 38.545418000552502 ], [ -122.962128999538876, 38.544892001085955 ], [ -122.962478999637327, 38.544503000925161 ], [ -122.962450000225161, 38.544091000733381 ], [ -122.962129000194352, 38.543335000701717 ], [ -122.96157499964913, 38.543152000583724 ], [ -122.961341999409669, 38.542809000450625 ], [ -122.961487000475415, 38.542695000569438 ], [ -122.963003000141171, 38.542832000563102 ], [ -122.963149000102618, 38.542397000930222 ], [ -122.962799000120128, 38.541779000550456 ], [ -122.962710999619503, 38.541115000495033 ], [ -122.962827999931648, 38.540955000521052 ], [ -122.963323000251393, 38.540794001047772 ], [ -122.963351999476544, 38.540542000289769 ], [ -122.962885999698884, 38.540359000457727 ], [ -122.962710999856739, 38.540130000484574 ], [ -122.962536000369724, 38.539856000280764 ], [ -122.9620400004505, 38.539535000971235 ], [ -122.961370000282344, 38.539330000593324 ], [ -122.96087400017359, 38.539284000514527 ], [ -122.960379000151121, 38.539650000722112 ], [ -122.958134999978725, 38.540017000564887 ], [ -122.957843000402079, 38.539902000938184 ], [ -122.95760999958793, 38.539696000967027 ], [ -122.957319000009434, 38.539605000429496 ], [ -122.956561000040551, 38.539742000699448 ], [ -122.956036000375946, 38.539559000344973 ], [ -122.955831999616947, 38.539559001071659 ], [ -122.955279000145538, 38.540315000993061 ], [ -122.955214000319373, 38.540324000832406 ], [ -122.954575999971155, 38.538858000690354 ], [ -122.954418999541488, 38.53787700104877 ], [ -122.954054999999556, 38.537189000695932 ], [ -122.954053999983046, 38.535148000810338 ], [ -122.954111999836371, 38.535119001067613 ], [ -122.954345000341988, 38.534867000964105 ], [ -122.954491000434345, 38.534478001068557 ], [ -122.954519999983404, 38.53399700084988 ], [ -122.955364999526381, 38.532784001100644 ], [ -122.955930999674464, 38.531305000585881 ], [ -122.956005000149929, 38.531113000783513 ], [ -122.956354999605836, 38.530952000248391 ], [ -122.957287000249167, 38.530861001071457 ], [ -122.958278000312347, 38.530952000990816 ], [ -122.958510999686936, 38.530883000764049 ], [ -122.958890000298226, 38.530471001097993 ], [ -122.959385000169021, 38.529372000649232 ], [ -122.959735000060277, 38.528846000519934 ], [ -122.960084000502206, 38.528525000477821 ], [ -122.960813000204183, 38.528433000804306 ], [ -122.961454000420332, 38.528227000814454 ], [ -122.961977999811324, 38.527815000750401 ], [ -122.962239999890016, 38.527357001136764 ], [ -122.962239999971899, 38.526808000957423 ], [ -122.961948000321897, 38.526098000753876 ], [ -122.961743999964057, 38.525961000990094 ], [ -122.961715000190424, 38.525801000782486 ], [ -122.961423999667971, 38.525549001137449 ], [ -122.96107400034407, 38.525068001054272 ], [ -122.96034499953889, 38.524290000323305 ], [ -122.959471000468412, 38.523604000688813 ], [ -122.959209000244769, 38.523283000780822 ], [ -122.959062999825548, 38.522917001135156 ], [ -122.958887999667184, 38.522780001051366 ], [ -122.958770999537307, 38.522413000932652 ], [ -122.958596000109111, 38.521589001124198 ], [ -122.958509000137951, 38.521544000871245 ], [ -122.958478999474522, 38.521109000658235 ], [ -122.958391999680202, 38.521017000425374 ], [ -122.958362999614238, 38.520605000274209 ], [ -122.958479000212563, 38.520307000561864 ], [ -122.958449999472137, 38.519369001089117 ], [ -122.9583230001234, 38.519210000540781 ], [ -122.95830400042739, 38.5191860008633 ], [ -122.958303999811577, 38.519026000937103 ], [ -122.958303999467219, 38.518957000691536 ], [ -122.958274999927568, 38.518912001055646 ], [ -122.958128999649929, 38.518682000688941 ], [ -122.958128999684561, 38.518476000281339 ], [ -122.957954000341928, 38.518156000769253 ], [ -122.958041000257197, 38.516828000409241 ], [ -122.958362000067396, 38.516187001097727 ], [ -122.958245000240652, 38.514653000783213 ], [ -122.958478000223778, 38.514150000751599 ], [ -122.959583999835061, 38.512959000403129 ], [ -122.960079000118995, 38.512227001111391 ], [ -122.960166999882475, 38.511792000245848 ], [ -122.960806999724667, 38.510670000903765 ], [ -122.961419000026254, 38.510441000837702 ], [ -122.961483999894099, 38.510436000683164 ], [ -122.962962999462306, 38.510326000958216 ], [ -122.963632999537268, 38.510097000425425 ], [ -122.965467999770794, 38.509204001066252 ], [ -122.965677000377127, 38.509197000611543 ], [ -122.966808000425189, 38.509158000447641 ], [ -122.967302999724367, 38.508952001058795 ], [ -122.967302999479571, 38.507555000332701 ], [ -122.967390000315859, 38.507372001082295 ], [ -122.967477000397068, 38.507052000430647 ], [ -122.967710000045258, 38.506708001113466 ], [ -122.968089000349337, 38.506548001082962 ], [ -122.967914000525127, 38.505701000496529 ], [ -122.967796999522463, 38.505586000753638 ], [ -122.967592000400145, 38.503503001080176 ], [ -122.967271999621914, 38.502954000689684 ], [ -122.96625199954569, 38.502588000963605 ], [ -122.965290999477205, 38.502451000751329 ], [ -122.964445999741514, 38.502474000371571 ], [ -122.963543000424878, 38.503230000506733 ], [ -122.962843999500151, 38.503504000861696 ], [ -122.961737000238671, 38.503799000581836 ], [ -122.961736999461323, 38.503497000696406 ], [ -122.961736999943795, 38.503301000506077 ], [ -122.961737000475253, 38.502589000255547 ], [ -122.961648999957987, 38.500826001136552 ], [ -122.961706999689852, 38.499912000957295 ], [ -122.961953999686145, 38.499622000810447 ], [ -122.962045999400786, 38.499309000611063 ], [ -122.962151999432606, 38.498981000549989 ], [ -122.962108000358711, 38.498812000747172 ], [ -122.962412000086871, 38.498378000528334 ], [ -122.962595000183057, 38.498241000802622 ], [ -122.963190000436484, 38.498058000592508 ], [ -122.964044000457264, 38.497936000972125 ], [ -122.964960000141957, 38.49769200111723 ], [ -122.965508999994867, 38.497585000794693 ], [ -122.965737999743467, 38.497356000294346 ], [ -122.965908000396354, 38.497012000862114 ], [ -122.965280000318458, 38.496891000609629 ], [ -122.964700999517092, 38.496715000792875 ], [ -122.964212000070688, 38.496540000756809 ], [ -122.963784999908341, 38.496258000553937 ], [ -122.963327000072908, 38.495968000721845 ], [ -122.962763000410163, 38.495701000454233 ], [ -122.962395999595401, 38.495456000919454 ], [ -122.962014999492681, 38.49517400086247 ], [ -122.961770999688071, 38.494846000435921 ], [ -122.961724999588597, 38.494549000319793 ], [ -122.961618000231311, 38.49418200094037 ], [ -122.961450000167645, 38.493976000368995 ], [ -122.961308000337283, 38.493912000704093 ], [ -122.961145000511792, 38.49364800101015 ], [ -122.961114999394923, 38.493244000254869 ], [ -122.961068999958485, 38.492763000724544 ], [ -122.961108000067057, 38.492512000316452 ], [ -122.961145000025653, 38.492244000519364 ], [ -122.961053999932929, 38.491977000912605 ], [ -122.96079400026268, 38.4917640005091 ], [ -122.960608000461349, 38.491512000951616 ], [ -122.960549999809771, 38.490970001048431 ], [ -122.960702999392424, 38.490535001139889 ], [ -122.960900999872123, 38.490215001085019 ], [ -122.960871000207234, 38.489841000561853 ], [ -122.960611000304581, 38.489475000475288 ], [ -122.960581000101229, 38.489240000474005 ], [ -122.960565000102648, 38.489109000836024 ], [ -122.960623999677395, 38.488917000677127 ], [ -122.96073299989007, 38.488559000884884 ], [ -122.960772000439334, 38.488413000941016 ], [ -122.960855000324983, 38.488102000559621 ], [ -122.961038000119018, 38.487812001073145 ], [ -122.961283000195252, 38.487598000520073 ], [ -122.961724999417669, 38.487340000882512 ], [ -122.961863999802219, 38.4871690010309 ], [ -122.961982000073036, 38.487025000904495 ], [ -122.962029999513419, 38.486966000410419 ], [ -122.961999999396994, 38.486569000959321 ], [ -122.961935999943591, 38.486435001042544 ], [ -122.9618470001638, 38.486249000947318 ], [ -122.961808000503865, 38.485913000819629 ], [ -122.962167999569232, 38.485951001124135 ], [ -122.96236600027035, 38.485982000918654 ], [ -122.962778000309996, 38.486058000459217 ], [ -122.963037000322359, 38.486233001119921 ], [ -122.963311999742942, 38.486264001056007 ], [ -122.963663000210161, 38.486241000608423 ], [ -122.96412099972018, 38.486142000918782 ], [ -122.9645020005253, 38.486104001008741 ], [ -122.964959999771537, 38.486089000298875 ], [ -122.965310999825746, 38.486241000975333 ], [ -122.965814000415705, 38.486386000258157 ], [ -122.966089999820156, 38.486396001059447 ], [ -122.966210999466171, 38.486401000819662 ], [ -122.966775999507504, 38.486272000290356 ], [ -122.967187999439773, 38.486089000326466 ], [ -122.967721999614753, 38.485921000872125 ], [ -122.968163999523625, 38.485844000348116 ], [ -122.968301999653505, 38.485829000998322 ], [ -122.968636999946071, 38.485791000412689 ], [ -122.969049000158378, 38.485791000954002 ], [ -122.969538999436708, 38.485745000703247 ], [ -122.969995999900945, 38.485631000476666 ], [ -122.970362999428588, 38.485616000355286 ], [ -122.970651999600037, 38.485692000501373 ], [ -122.971019000267006, 38.485875000710131 ], [ -122.971455000331602, 38.485997000727735 ], [ -122.971537000344341, 38.486020000767112 ], [ -122.971843000373539, 38.486005000998375 ], [ -122.972055999930177, 38.485806000610076 ], [ -122.972269999888411, 38.48538700080789 ], [ -122.97243999942161, 38.485324000921707 ], [ -122.972682000524827, 38.485234000970578 ], [ -122.973291999713851, 38.485051000276627 ], [ -122.973918000487032, 38.484990001087766 ], [ -122.974390999966502, 38.485074000487224 ], [ -122.974925000100555, 38.48532600028183 ], [ -122.975230000060847, 38.48534800075489 ], [ -122.975581000135477, 38.485295000984294 ], [ -122.976068999987902, 38.485295000763543 ], [ -122.976619000390087, 38.485188000598988 ], [ -122.977076000023715, 38.485081000414105 ], [ -122.977641000487154, 38.484914000871726 ], [ -122.978128999457311, 38.484677000367761 ], [ -122.978521000220411, 38.484481000878908 ], [ -122.978709000160777, 38.484387000582558 ], [ -122.979319000438849, 38.484158001078129 ], [ -122.979930000098946, 38.483929000361357 ], [ -122.980332000384948, 38.483935000349604 ], [ -122.980493999929934, 38.483937001100117 ], [ -122.981134999939457, 38.484036000968281 ], [ -122.981532000107919, 38.484067000256161 ], [ -122.981958999647944, 38.4838760010051 ], [ -122.982431999994077, 38.483861000971565 ], [ -122.983058000497905, 38.483739001013184 ], [ -122.983362999803802, 38.483556000643716 ], [ -122.983621999515847, 38.483548001003882 ], [ -122.98435500035994, 38.48341800081738 ], [ -122.985071999564781, 38.483327000416047 ], [ -122.985742999997598, 38.483205000835063 ], [ -122.986491000253906, 38.483182000342858 ], [ -122.987116999429475, 38.483273000814862 ], [ -122.987651000127329, 38.483502000430697 ], [ -122.98806299946186, 38.48376900030761 ], [ -122.988292000270576, 38.483807000642344 ], [ -122.988581999715223, 38.483662000258825 ], [ -122.988947999445358, 38.48360900063053 ], [ -122.989608999999277, 38.483513000565139 ], [ -122.989970000241158, 38.483701000361982 ], [ -122.990199000272156, 38.484013000729803 ], [ -122.990335999602934, 38.484280000799487 ], [ -122.990439000525981, 38.484383001053466 ], [ -122.990534999401689, 38.48447900090936 ], [ -122.990732999621343, 38.484631000410424 ], [ -122.991131000199871, 38.484998000710213 ], [ -122.991390000422342, 38.485417000436158 ], [ -122.991680000509149, 38.485837000311932 ], [ -122.991954999799347, 38.486028000539449 ], [ -122.99218399969827, 38.486340000507894 ], [ -122.992443000065236, 38.486851001052557 ], [ -122.992686999826262, 38.487279000848545 ], [ -122.992823999982988, 38.487866000351957 ], [ -122.993068999844439, 38.488255001069888 ], [ -122.993083999779159, 38.488354000405259 ], [ -122.992977000498044, 38.488698000342048 ], [ -122.992748000492028, 38.489148000754227 ], [ -122.992596000229938, 38.489438000324526 ], [ -122.992657000012017, 38.489819000756995 ], [ -122.992840000477131, 38.490109000404836 ], [ -122.992778999468371, 38.490475000604611 ], [ -122.992748000444848, 38.490773000574222 ], [ -122.992610999867253, 38.4910630010109 ], [ -122.992367000211402, 38.491376000549053 ], [ -122.991893999502622, 38.491711000603274 ], [ -122.991608999486445, 38.491913000332048 ], [ -122.991449999872131, 38.491940000928878 ], [ -122.990886000491741, 38.492261000653727 ], [ -122.99082499978158, 38.492451000683623 ], [ -122.990686999789304, 38.492795000360168 ], [ -122.990488999410559, 38.493199000533799 ], [ -122.990336000195484, 38.493642000497488 ], [ -122.990214000020288, 38.494099000476496 ], [ -122.990198999556668, 38.49440500099729 ], [ -122.990106999931598, 38.494832001002457 ], [ -122.990077000163637, 38.495175000433825 ], [ -122.990168000423608, 38.495381000337154 ], [ -122.990309000474596, 38.495613000720546 ], [ -122.99045799968242, 38.49577800084689 ], [ -122.990518999476222, 38.495930000891676 ], [ -122.990687000290478, 38.496274000400362 ], [ -122.990640999943636, 38.496632001120084 ], [ -122.990609000133119, 38.497113000538377 ], [ -122.990991999915693, 38.497067000241621 ], [ -122.991495999594136, 38.497098000910718 ], [ -122.992044999642786, 38.497311000729894 ], [ -122.99250400020486, 38.497426000604811 ], [ -122.993022999603141, 38.49758600075436 ], [ -122.993541999531871, 38.497830000697491 ], [ -122.993892999573887, 38.498105000441768 ], [ -122.994109999445868, 38.498313000770274 ], [ -122.99412100025144, 38.498402000640063 ], [ -122.994244000439224, 38.498677000256322 ], [ -122.994310000464338, 38.498813001061713 ], [ -122.994533000297139, 38.499036000664738 ], [ -122.99453299969781, 38.499226000730964 ], [ -122.994510000097705, 38.499413000477958 ], [ -122.994686000193141, 38.49963800095103 ], [ -122.994929999837211, 38.499776001006374 ], [ -122.995341999463079, 38.499829000431788 ], [ -122.995708000169287, 38.49983700096594 ], [ -122.996074999987542, 38.499821001086332 ], [ -122.996210000419126, 38.499913000458953 ], [ -122.99660900046824, 38.499669000243728 ], [ -122.997219000461897, 38.499387000603249 ], [ -122.997845000522943, 38.499142000978644 ], [ -122.998408999775677, 38.499028001125318 ], [ -122.998909999755199, 38.499013000758787 ], [ -122.999355000213811, 38.49911200051892 ], [ -122.999920000008444, 38.499265000322723 ], [ -123.000270999580053, 38.499348000864664 ], [ -123.000698000489322, 38.499356000969613 ], [ -123.001110000346657, 38.49945400111109 ], [ -123.003197999963092, 38.499454000561748 ], [ -123.004042999432585, 38.499313000376667 ], [ -123.004597000162079, 38.49892400102263 ], [ -123.004858999478088, 38.498467000540884 ], [ -123.004947000413836, 38.497940000663917 ], [ -123.004712999940651, 38.496598000756521 ], [ -123.004961999999551, 38.496447000251358 ], [ -123.005064999921842, 38.496384001013539 ], [ -123.005297999582453, 38.496132000568728 ], [ -123.005339999955709, 38.496107000797934 ], [ -123.006686999985504, 38.495246000400037 ], [ -123.007028000059904, 38.495262000410975 ], [ -123.00765699997342, 38.495798001093171 ], [ -123.007851999559321, 38.4956540003719 ], [ -123.008060000251461, 38.495521000445507 ], [ -123.008444000082704, 38.495309000712503 ], [ -123.009084999552542, 38.495630001122727 ], [ -123.009697000423301, 38.495493000915161 ], [ -123.010569999725931, 38.496272000257896 ], [ -123.011938000273673, 38.496959000881155 ], [ -123.012667000108721, 38.496822001139769 ], [ -123.013570000116033, 38.496800000511875 ], [ -123.014267999417768, 38.496983000887013 ], [ -123.014851000175284, 38.497304001030734 ], [ -123.015637000368059, 38.498174000408689 ], [ -123.016044000470558, 38.498357000707095 ], [ -123.016510000457544, 38.498449000287863 ], [ -123.017849999633199, 38.498518000689103 ], [ -123.018433000499286, 38.4986790004494 ], [ -123.018899000109741, 38.49890800105991 ], [ -123.019510999636836, 38.499068000326943 ], [ -123.020704999924121, 38.498977000815671 ], [ -123.021005999444967, 38.498945001013865 ], [ -123.021142000416944, 38.498932000875946 ], [ -123.021448000131684, 38.49898300076854 ], [ -123.021550000514665, 38.499000000554872 ], [ -123.02181200016885, 38.499138000787347 ], [ -123.022162000415364, 38.499424000855377 ], [ -123.022976999404321, 38.49991300062463 ], [ -123.023239000153552, 38.500389000271639 ], [ -123.023354999844983, 38.500594000436024 ], [ -123.023033999559374, 38.501555001123762 ], [ -123.02303400024131, 38.501784001085731 ], [ -123.02387900044495, 38.501739001024703 ], [ -123.024490000096336, 38.502013000334678 ], [ -123.02504300004702, 38.502678000856662 ], [ -123.026266999949286, 38.502815000934426 ], [ -123.027373999518574, 38.503159000707448 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1393, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.845903999498702, 38.493897000899032 ], [ -122.845814000282928, 38.493762000578442 ], [ -122.845631000093675, 38.493495000410171 ], [ -122.845234000243067, 38.492968000307087 ], [ -122.844944999832407, 38.492709000486428 ], [ -122.844594000492563, 38.492243000893886 ], [ -122.844243000001114, 38.491549000395501 ], [ -122.844165999957099, 38.491267001069694 ], [ -122.844227000340439, 38.490740001097237 ], [ -122.844533000499482, 38.489955000761306 ], [ -122.844654999993011, 38.489695001116289 ], [ -122.844746000054784, 38.489489000637512 ], [ -122.844914000378822, 38.489161001086195 ], [ -122.844928999750053, 38.488841000765703 ], [ -122.844944999824406, 38.488558001092784 ], [ -122.844807000520589, 38.488314000279011 ], [ -122.844624000475875, 38.488070000891362 ], [ -122.844365000208242, 38.487811000478324 ], [ -122.844104999507735, 38.487551000507004 ], [ -122.843341999629246, 38.487178000962743 ], [ -122.842411999684813, 38.486437000733382 ], [ -122.842137000455935, 38.486071000560742 ], [ -122.842014999728789, 38.485804000908566 ], [ -122.841908000415685, 38.485545000718396 ], [ -122.841923000006503, 38.485186000536508 ], [ -122.842000000296878, 38.484919000654138 ], [ -122.84207300035942, 38.484700000313843 ], [ -122.842102999722442, 38.484611000752565 ], [ -122.842003000293019, 38.484611001095253 ], [ -122.842403000148238, 38.484411000761838 ], [ -122.845021000036439, 38.483958000606322 ], [ -122.847004000019055, 38.483386000992674 ], [ -122.849262999720551, 38.483515000688698 ], [ -122.851094000444462, 38.4843170003967 ], [ -122.851628000438268, 38.484751000972096 ], [ -122.852303000448245, 38.485511000282571 ], [ -122.852161999398973, 38.483584000996032 ], [ -122.851503000349126, 38.481512000459851 ], [ -122.85159700032105, 38.481304001057545 ], [ -122.851811000307734, 38.481121000846635 ], [ -122.852039999882919, 38.481075000301246 ], [ -122.85262000006486, 38.481113000323603 ], [ -122.853092999822024, 38.481090000660544 ], [ -122.853290999812401, 38.481060000419241 ], [ -122.854103000271579, 38.480812000678583 ], [ -122.858503000096846, 38.479712000695308 ], [ -122.859668999885002, 38.479404000704385 ], [ -122.859943999787561, 38.479412000968516 ], [ -122.860294999906245, 38.479336000626439 ], [ -122.860524000373275, 38.479191000259597 ], [ -122.860661999705755, 38.478908000729916 ], [ -122.860646999546361, 38.478641000441954 ], [ -122.860417000109734, 38.478443000778476 ], [ -122.859943999571641, 38.477916000928658 ], [ -122.859638999618298, 38.477207000823583 ], [ -122.859424999933978, 38.476635001089754 ], [ -122.859471000462904, 38.476330000963507 ], [ -122.859714999718079, 38.476207000750165 ], [ -122.860661999656998, 38.476185000380859 ], [ -122.86099799988331, 38.476101000668812 ], [ -122.861165999483887, 38.475956000459611 ], [ -122.861272000428244, 38.475750000783094 ], [ -122.86210399967473, 38.474312000270274 ], [ -122.86220299982385, 38.474270001119805 ], [ -122.864644999618804, 38.474621000659866 ], [ -122.865004000284827, 38.474412001064977 ], [ -122.869817000329277, 38.47149300049179 ], [ -122.869435999536989, 38.471126001092536 ], [ -122.869435999914884, 38.471012000753326 ], [ -122.873404000052815, 38.468712000402867 ], [ -122.876103999416429, 38.469312001115142 ], [ -122.881369000236262, 38.471119000308967 ], [ -122.88204099988873, 38.471355001066485 ], [ -122.882772999809049, 38.47159900044322 ], [ -122.883429000314194, 38.471843000748173 ], [ -122.883804999910836, 38.471912001059728 ], [ -122.884238000249923, 38.471882001047298 ], [ -122.884528000138531, 38.471828000650923 ], [ -122.884969999878606, 38.471645000888451 ], [ -122.885732999491836, 38.471073000748426 ], [ -122.886405000429605, 38.470712000369012 ], [ -122.887305000172105, 38.471912001075161 ], [ -122.888155000486876, 38.472947000807117 ], [ -122.888404999795569, 38.47321200049403 ], [ -122.888704999931008, 38.473512000840877 ], [ -122.889001000384525, 38.473584000507621 ], [ -122.890004999494479, 38.473612001139507 ], [ -122.891404999513782, 38.47361200053988 ], [ -122.892904999877132, 38.473612000771752 ], [ -122.89470500010691, 38.473612000390261 ], [ -122.895498000010122, 38.473610000519102 ], [ -122.897004999733937, 38.47361200025825 ], [ -122.906206000523085, 38.473912001123061 ], [ -122.906318000323409, 38.474590000379962 ], [ -122.906471000410022, 38.475246001053783 ], [ -122.906471000076337, 38.475902001063169 ], [ -122.906624000158359, 38.476467001068436 ], [ -122.906929000394555, 38.477016000726458 ], [ -122.907448000292021, 38.477634001003032 ], [ -122.907692000053146, 38.478191000922521 ], [ -122.907906000100155, 38.478612000322826 ], [ -122.908287000289945, 38.479274000868038 ], [ -122.908397999412955, 38.479422000687954 ], [ -122.908747999775585, 38.479886000808541 ], [ -122.908820999956575, 38.479984000890802 ], [ -122.909087000106936, 38.480280001090364 ], [ -122.909309000163177, 38.48052600050918 ], [ -122.909813000417785, 38.480976000750708 ], [ -122.910132999672001, 38.481205000459369 ], [ -122.910346999503773, 38.48131900059505 ], [ -122.910667000237225, 38.481228000589979 ], [ -122.9110179999889, 38.481106000712941 ], [ -122.911338999723924, 38.481075000765834 ], [ -122.911735000466606, 38.481426000691371 ], [ -122.912132000233726, 38.481777000909396 ], [ -122.912421999905064, 38.482006000670317 ], [ -122.913170000444666, 38.482136000910906 ], [ -122.913794999462496, 38.482250000365482 ], [ -122.914421000481653, 38.482357001080004 ], [ -122.914802000176607, 38.482479000582103 ], [ -122.915259999688274, 38.482448000242506 ], [ -122.915706000378876, 38.482412000348923 ], [ -122.916312999488099, 38.482280001055045 ], [ -122.916969000361888, 38.4821810007222 ], [ -122.917366000397223, 38.48216600044212 ], [ -122.917929999617002, 38.482593000839877 ], [ -122.918586000398662, 38.483097001036938 ], [ -122.919028999490394, 38.483516001051612 ], [ -122.919257999783341, 38.483959001015435 ], [ -122.919242999995802, 38.484318000591337 ], [ -122.91919700012663, 38.484562000827417 ], [ -122.919258000479786, 38.484836000589787 ], [ -122.919608999525323, 38.485187000344702 ], [ -122.919928999408171, 38.485424000271706 ], [ -122.920106000105775, 38.485612001039129 ], [ -122.920082000434235, 38.486118000670693 ], [ -122.920020999828651, 38.486660001060194 ], [ -122.919928999578318, 38.487316000974424 ], [ -122.919822000499167, 38.487842001072067 ], [ -122.919669999454172, 38.488094000920341 ], [ -122.919487000304613, 38.488308000270607 ], [ -122.919470999728674, 38.488804000656735 ], [ -122.919486999555019, 38.489300000468553 ], [ -122.919502000162879, 38.489742000585061 ], [ -122.919505999766471, 38.489912000305438 ], [ -122.919227000066954, 38.490185000559094 ], [ -122.918708999783362, 38.490650000427706 ], [ -122.918158999759157, 38.491062000438937 ], [ -122.917595000013662, 38.491558000970279 ], [ -122.917183000039159, 38.492000001025168 ], [ -122.916892999978842, 38.492519000327825 ], [ -122.916633000253384, 38.493076000979023 ], [ -122.916343000473532, 38.49377800109356 ], [ -122.916237000063987, 38.494404000307419 ], [ -122.916175999947384, 38.495258000749544 ], [ -122.916221000010466, 38.495693000939461 ], [ -122.916297999710423, 38.496235000685822 ], [ -122.916359000481833, 38.49657800100718 ], [ -122.9164059996139, 38.496812000351753 ], [ -122.915915999435839, 38.497081000624917 ], [ -122.915625999771635, 38.497478000901204 ], [ -122.915320999866324, 38.497707000754076 ], [ -122.914984999780827, 38.497799001021015 ], [ -122.914650000022007, 38.497959000284496 ], [ -122.914314000454482, 38.498287001092962 ], [ -122.913963000368426, 38.498554000309092 ], [ -122.913776999960859, 38.498698000832839 ], [ -122.913627000478613, 38.498813000443235 ], [ -122.913185000093094, 38.4989280009762 ], [ -122.912741999946277, 38.499073000471938 ], [ -122.912605000380637, 38.499134000561853 ], [ -122.912239000009194, 38.499607000634029 ], [ -122.912224000028758, 38.499843000810657 ], [ -122.912137000309826, 38.499912000921682 ], [ -122.911749000478594, 38.500414001039211 ], [ -122.911487000363209, 38.500597000946485 ], [ -122.909623000066333, 38.501352000320672 ], [ -122.90924399993132, 38.501649001043603 ], [ -122.909243999853487, 38.501947000471297 ], [ -122.909825999853581, 38.502634000842598 ], [ -122.910029999841584, 38.503481000793158 ], [ -122.908560000305755, 38.502915000498227 ], [ -122.908573000325276, 38.50313700086474 ], [ -122.908923000023691, 38.503686000966646 ], [ -122.909271999500362, 38.504030000475517 ], [ -122.909417000342756, 38.504533000784875 ], [ -122.909447000268457, 38.504602000952858 ], [ -122.91026199965475, 38.504808000963806 ], [ -122.911136000265003, 38.50522100071003 ], [ -122.911835000086356, 38.505885000314805 ], [ -122.912096999946456, 38.5066400009025 ], [ -122.912301000483041, 38.506869000340089 ], [ -122.914309999778155, 38.507900001046771 ], [ -122.915155000447001, 38.508060000936979 ], [ -122.916232999830541, 38.508655000669499 ], [ -122.917776000027089, 38.50931900094217 ], [ -122.920194000151767, 38.510075001028731 ], [ -122.921125999846737, 38.510236000267398 ], [ -122.921854999476267, 38.510762000549903 ], [ -122.922553999588274, 38.511014001027462 ], [ -122.924011000275783, 38.510648000311242 ], [ -122.925874999830498, 38.509847000655924 ], [ -122.926720999592462, 38.509138000322508 ], [ -122.926853999610231, 38.508863000381218 ], [ -122.927054000321633, 38.508830001096634 ], [ -122.927607000304718, 38.508739001040894 ], [ -122.92778799987552, 38.508265000708725 ], [ -122.928032000009765, 38.507627001141259 ], [ -122.928498000093583, 38.507238000963007 ], [ -122.928528000299735, 38.507100000496692 ], [ -122.929109999979858, 38.506574000566616 ], [ -122.929402000514145, 38.505681001133375 ], [ -122.931236999803488, 38.50311800089942 ], [ -122.931640999841335, 38.502733000628787 ], [ -122.931790999712646, 38.502591001122703 ], [ -122.93365500028662, 38.501561000869636 ], [ -122.934704000455142, 38.501172000659743 ], [ -122.935402999598537, 38.500691000975117 ], [ -122.93653700010988, 38.499912000616973 ], [ -122.936806000450289, 38.499668000273608 ], [ -122.937218000088606, 38.499469000607824 ], [ -122.93770700050429, 38.499317000871784 ], [ -122.938256000533883, 38.499172000716605 ], [ -122.938911999432648, 38.498966000260019 ], [ -122.939584000158462, 38.498737000911667 ], [ -122.940007000061811, 38.498612001090642 ], [ -122.940376999711518, 38.498790000275754 ], [ -122.940667000046716, 38.498974000421569 ], [ -122.941002999687242, 38.49930900053954 ], [ -122.941262000465997, 38.499622000327307 ], [ -122.941350999812229, 38.499912000281498 ], [ -122.942306000229067, 38.500714000715213 ], [ -122.942802000222258, 38.500966000491161 ], [ -122.942946999882665, 38.501126000430688 ], [ -122.942860000015799, 38.502454000293639 ], [ -122.942627000390004, 38.502980000727419 ], [ -122.942656000089769, 38.503988000252981 ], [ -122.942946999925539, 38.504583001042832 ], [ -122.943791999393014, 38.505613000337362 ], [ -122.945248999945989, 38.506437000866754 ], [ -122.94597699959796, 38.506597000347163 ], [ -122.947725000054731, 38.506322001131643 ], [ -122.94924100021143, 38.505086000461681 ], [ -122.950201999690876, 38.504491001038097 ], [ -122.951484000158572, 38.503987000824559 ], [ -122.952094999856868, 38.503827000557905 ], [ -122.953522999533419, 38.503735000707394 ], [ -122.955969999941559, 38.503872000432985 ], [ -122.957076000414204, 38.503597000497884 ], [ -122.958882999480849, 38.503711000614558 ], [ -122.960163999901141, 38.504009001127869 ], [ -122.961037999439228, 38.503986000606517 ], [ -122.961737000238671, 38.503799000581836 ], [ -122.962843999500151, 38.503504000861696 ], [ -122.963543000424878, 38.503230000506733 ], [ -122.964445999741514, 38.502474000371571 ], [ -122.965290999477205, 38.502451000751329 ], [ -122.96625199954569, 38.502588000963605 ], [ -122.967271999621914, 38.502954000689684 ], [ -122.967592000400145, 38.503503001080176 ], [ -122.967796999522463, 38.505586000753638 ], [ -122.967914000525127, 38.505701000496529 ], [ -122.968089000349337, 38.506548001082962 ], [ -122.967710000045258, 38.506708001113466 ], [ -122.967477000397068, 38.507052000430647 ], [ -122.967390000315859, 38.507372001082295 ], [ -122.967302999479571, 38.507555000332701 ], [ -122.967302999724367, 38.508952001058795 ], [ -122.966808000425189, 38.509158000447641 ], [ -122.965677000377127, 38.509197000611543 ], [ -122.965467999770794, 38.509204001066252 ], [ -122.963632999537268, 38.510097000425425 ], [ -122.962962999462306, 38.510326000958216 ], [ -122.961483999894099, 38.510436000683164 ], [ -122.961419000026254, 38.510441000837702 ], [ -122.960806999724667, 38.510670000903765 ], [ -122.960166999882475, 38.511792000245848 ], [ -122.960079000118995, 38.512227001111391 ], [ -122.959583999835061, 38.512959000403129 ], [ -122.958478000223778, 38.514150000751599 ], [ -122.958245000240652, 38.514653000783213 ], [ -122.958362000067396, 38.516187001097727 ], [ -122.958041000257197, 38.516828000409241 ], [ -122.957954000341928, 38.518156000769253 ], [ -122.958128999684561, 38.518476000281339 ], [ -122.958128999649929, 38.518682000688941 ], [ -122.958274999927568, 38.518912001055646 ], [ -122.958303999467219, 38.518957000691536 ], [ -122.958303999811577, 38.519026000937103 ], [ -122.95830400042739, 38.5191860008633 ], [ -122.9583230001234, 38.519210000540781 ], [ -122.958449999472137, 38.519369001089117 ], [ -122.958479000212563, 38.520307000561864 ], [ -122.958362999614238, 38.520605000274209 ], [ -122.958391999680202, 38.521017000425374 ], [ -122.958478999474522, 38.521109000658235 ], [ -122.958509000137951, 38.521544000871245 ], [ -122.958596000109111, 38.521589001124198 ], [ -122.958770999537307, 38.522413000932652 ], [ -122.958887999667184, 38.522780001051366 ], [ -122.959062999825548, 38.522917001135156 ], [ -122.959209000244769, 38.523283000780822 ], [ -122.959471000468412, 38.523604000688813 ], [ -122.96034499953889, 38.524290000323305 ], [ -122.96107400034407, 38.525068001054272 ], [ -122.961423999667971, 38.525549001137449 ], [ -122.961715000190424, 38.525801000782486 ], [ -122.961743999964057, 38.525961000990094 ], [ -122.961948000321897, 38.526098000753876 ], [ -122.962239999971899, 38.526808000957423 ], [ -122.962239999890016, 38.527357001136764 ], [ -122.961977999811324, 38.527815000750401 ], [ -122.961454000420332, 38.528227000814454 ], [ -122.960813000204183, 38.528433000804306 ], [ -122.960084000502206, 38.528525000477821 ], [ -122.959735000060277, 38.528846000519934 ], [ -122.959385000169021, 38.529372000649232 ], [ -122.958890000298226, 38.530471001097993 ], [ -122.958510999686936, 38.530883000764049 ], [ -122.958278000312347, 38.530952000990816 ], [ -122.957287000249167, 38.530861001071457 ], [ -122.956354999605836, 38.530952000248391 ], [ -122.956005000149929, 38.531113000783513 ], [ -122.955930999674464, 38.531305000585881 ], [ -122.955364999526381, 38.532784001100644 ], [ -122.954519999983404, 38.53399700084988 ], [ -122.954491000434345, 38.534478001068557 ], [ -122.954345000341988, 38.534867000964105 ], [ -122.954111999836371, 38.535119001067613 ], [ -122.954053999983046, 38.535148000810338 ], [ -122.954054999999556, 38.537189000695932 ], [ -122.954418999541488, 38.53787700104877 ], [ -122.954575999971155, 38.538858000690354 ], [ -122.955214000319373, 38.540324000832406 ], [ -122.955279000145538, 38.540315000993061 ], [ -122.955831999616947, 38.539559001071659 ], [ -122.956036000375946, 38.539559000344973 ], [ -122.956561000040551, 38.539742000699448 ], [ -122.957319000009434, 38.539605000429496 ], [ -122.95760999958793, 38.539696000967027 ], [ -122.957843000402079, 38.539902000938184 ], [ -122.958134999978725, 38.540017000564887 ], [ -122.960379000151121, 38.539650000722112 ], [ -122.96087400017359, 38.539284000514527 ], [ -122.961370000282344, 38.539330000593324 ], [ -122.9620400004505, 38.539535000971235 ], [ -122.962536000369724, 38.539856000280764 ], [ -122.962710999856739, 38.540130000484574 ], [ -122.962885999698884, 38.540359000457727 ], [ -122.963351999476544, 38.540542000289769 ], [ -122.963323000251393, 38.540794001047772 ], [ -122.962827999931648, 38.540955000521052 ], [ -122.962710999619503, 38.541115000495033 ], [ -122.962799000120128, 38.541779000550456 ], [ -122.963149000102618, 38.542397000930222 ], [ -122.963003000141171, 38.542832000563102 ], [ -122.961487000475415, 38.542695000569438 ], [ -122.961341999409669, 38.542809000450625 ], [ -122.96157499964913, 38.543152000583724 ], [ -122.962129000194352, 38.543335000701717 ], [ -122.962450000225161, 38.544091000733381 ], [ -122.962478999637327, 38.544503000925161 ], [ -122.962128999538876, 38.544892001085955 ], [ -122.962041999650666, 38.545418000552502 ], [ -122.961633999882096, 38.545739000588561 ], [ -122.961343000300957, 38.545876000817849 ], [ -122.961343000485201, 38.546060000924349 ], [ -122.96175100032211, 38.546334000568656 ], [ -122.961751000390919, 38.546609000816979 ], [ -122.961256000471607, 38.546975000659529 ], [ -122.961255999820992, 38.547158000392763 ], [ -122.96178000043416, 38.547296000318589 ], [ -122.962158999834756, 38.547959000723168 ], [ -122.962537999490394, 38.548051000515102 ], [ -122.963180000451558, 38.547936000367059 ], [ -122.963646000406371, 38.548142000269976 ], [ -122.963879000284905, 38.548714000835027 ], [ -122.963966999795531, 38.548760000244876 ], [ -122.963995999971459, 38.548943000734617 ], [ -122.964375000467825, 38.549309000659363 ], [ -122.966212999872923, 38.549973000257992 ], [ -122.96627100010366, 38.550339000939189 ], [ -122.965307999706681, 38.550614000780485 ], [ -122.965687999923119, 38.550889001066103 ], [ -122.965689000355553, 38.551049000415333 ], [ -122.96539600027296, 38.551141001119248 ], [ -122.965074999952677, 38.55095700047918 ], [ -122.964784000297925, 38.550935000506058 ], [ -122.964200999551267, 38.551118000836915 ], [ -122.963675999698168, 38.551118000441853 ], [ -122.963384999805101, 38.550958000861037 ], [ -122.96300599943072, 38.55056900088055 ], [ -122.962976000451945, 38.550180000589116 ], [ -122.963093000222059, 38.549905000500146 ], [ -122.963004999709796, 38.54933300113818 ], [ -122.962742999560973, 38.549310000403132 ], [ -122.962480999537419, 38.549424000321068 ], [ -122.961869000467786, 38.549516000409575 ], [ -122.961103999592481, 38.549300001094601 ], [ -122.960819000477258, 38.549219000350895 ], [ -122.960448000191832, 38.549192000758076 ], [ -122.959537000013214, 38.549127000928166 ], [ -122.959128000226272, 38.549013000568905 ], [ -122.958691000228569, 38.548761000832506 ], [ -122.958189999425798, 38.548738000862841 ], [ -122.957205000324194, 38.548692000707831 ], [ -122.956737999956829, 38.549127000443171 ], [ -122.95600999970668, 38.549333000659516 ], [ -122.955485000230269, 38.549722000354564 ], [ -122.955106000530037, 38.549791000612288 ], [ -122.95426099946576, 38.549493000923064 ], [ -122.953532000201477, 38.548715000644933 ], [ -122.952949000074597, 38.548349000945244 ], [ -122.952249000272147, 38.548326000850466 ], [ -122.951316999570608, 38.548441001058592 ], [ -122.950588000064371, 38.54823500091176 ], [ -122.949654999441393, 38.548304000755294 ], [ -122.948664000120758, 38.547823000768972 ], [ -122.947002999550463, 38.547251000865145 ], [ -122.946360999753168, 38.546907000369465 ], [ -122.946213999544653, 38.54685600038858 ], [ -122.945050000362315, 38.546450001094883 ], [ -122.944407999836855, 38.546015000502486 ], [ -122.942484000115812, 38.545534000578478 ], [ -122.942191999476918, 38.545534000960956 ], [ -122.941725999848998, 38.545740000998784 ], [ -122.941449000117004, 38.545767000812397 ], [ -122.941258999683171, 38.545786000389683 ], [ -122.941155000149251, 38.545762000421988 ], [ -122.940356000216553, 38.545580000428323 ], [ -122.938052999649855, 38.544710000582477 ], [ -122.937353999683864, 38.544664000597763 ], [ -122.936420999729577, 38.544481000741072 ], [ -122.935656000486119, 38.544093001130634 ], [ -122.93543000006683, 38.543978000870084 ], [ -122.932720000450885, 38.543176001112478 ], [ -122.931693000309949, 38.543019000310863 ], [ -122.931525000037439, 38.54299300060876 ], [ -122.930095999561658, 38.54294700030534 ], [ -122.929571999933998, 38.543199000590171 ], [ -122.928492999932786, 38.543199000847423 ], [ -122.927706999662462, 38.542924000839193 ], [ -122.927356999906181, 38.542420000887759 ], [ -122.927269000509, 38.542031000919032 ], [ -122.9270949998226, 38.54173400106972 ], [ -122.926742000478086, 38.541516000594257 ], [ -122.926686999763021, 38.541482000597995 ], [ -122.925199999461299, 38.541093000547981 ], [ -122.924297000339607, 38.540635001083878 ], [ -122.923772000004391, 38.540474000558746 ], [ -122.923101999405048, 38.540428001037185 ], [ -122.92278099997651, 38.540337000417722 ], [ -122.921149000521794, 38.539078000291603 ], [ -122.920681999500388, 38.53896300088735 ], [ -122.919691000295444, 38.538940000662791 ], [ -122.918934000310628, 38.539146000442159 ], [ -122.918902999470916, 38.539172000418667 ], [ -122.918554999842343, 38.53946600106871 ], [ -122.917825999570411, 38.539718000811781 ], [ -122.916952000276481, 38.539855001113366 ], [ -122.916582999867671, 38.539734000539823 ], [ -122.915902999950404, 38.539512001102644 ], [ -122.915144999440471, 38.539397000961067 ], [ -122.914970999685764, 38.53949100036359 ], [ -122.914124999410319, 38.539946000578176 ], [ -122.913454000007746, 38.540083000907316 ], [ -122.913259000058289, 38.540074000449138 ], [ -122.912959000503506, 38.540060001068561 ], [ -122.911939000042921, 38.539854000266466 ], [ -122.910977000226382, 38.539533001063567 ], [ -122.910219000286745, 38.539396000320124 ], [ -122.909927999705815, 38.539144000392533 ], [ -122.909316000294012, 38.538801000935138 ], [ -122.907801000334061, 38.53825100083121 ], [ -122.906896999904589, 38.538205000750445 ], [ -122.905673000393094, 38.5384790009075 ], [ -122.904973999674581, 38.538319000491839 ], [ -122.904536999788547, 38.537975000420268 ], [ -122.90421599977843, 38.537861000547117 ], [ -122.902584000523035, 38.537769000801354 ], [ -122.901738999443111, 38.538180000256489 ], [ -122.900135999760025, 38.538409000592175 ], [ -122.899318999738043, 38.538248000560415 ], [ -122.898794999560963, 38.538042000656006 ], [ -122.897803999953496, 38.537927001136737 ], [ -122.897074999453409, 38.537996000635161 ], [ -122.896783999700233, 38.538087000673777 ], [ -122.895093000411265, 38.53843000030308 ], [ -122.892294999813089, 38.538497000639858 ], [ -122.891653999419319, 38.538703000967956 ], [ -122.891215999681961, 38.539436000402986 ], [ -122.890546000253508, 38.539504001068167 ], [ -122.889875999764698, 38.539389000696339 ], [ -122.888010000106974, 38.539549000955098 ], [ -122.88722400030467, 38.539251000666205 ], [ -122.88602900023858, 38.53865500032942 ], [ -122.885505000434165, 38.538266000527692 ], [ -122.885039000223955, 38.538174001139218 ], [ -122.884398000224721, 38.537922000933065 ], [ -122.883698999437385, 38.537189000675589 ], [ -122.883320999709753, 38.536182000786212 ], [ -122.882621999553251, 38.535746001117509 ], [ -122.882038999606976, 38.534991000316339 ], [ -122.880349000523879, 38.534463000355245 ], [ -122.877260000119094, 38.534118000369368 ], [ -122.876510000174761, 38.534095000625875 ], [ -122.876103999771004, 38.533911000311058 ], [ -122.874441000420717, 38.533992001133804 ], [ -122.873463999669553, 38.534060000799627 ], [ -122.872761999533651, 38.534335000470648 ], [ -122.872197999715453, 38.535159000692587 ], [ -122.870305999980104, 38.535540000893647 ], [ -122.870304000049671, 38.53601100098868 ], [ -122.868474999832969, 38.535762000325938 ], [ -122.868153999549151, 38.535769000367594 ], [ -122.867940999392985, 38.535494000343512 ], [ -122.867967999657623, 38.533799000758684 ], [ -122.867999999666822, 38.531856000302845 ], [ -122.86801699972051, 38.530841001011304 ], [ -122.86795599974009, 38.528819000266466 ], [ -122.867100999699588, 38.526553000284004 ], [ -122.865972000028464, 38.524234000671022 ], [ -122.866125000295199, 38.522402000938278 ], [ -122.866444999684958, 38.519183000830303 ], [ -122.8666740000902, 38.518756001035783 ], [ -122.866904000177968, 38.518511000280171 ], [ -122.867727000268303, 38.51853400069173 ], [ -122.868642000162865, 38.518778000348007 ], [ -122.870961999809708, 38.519511001072686 ], [ -122.872777999999755, 38.520594000480926 ], [ -122.874792000237079, 38.520968000249823 ], [ -122.876103999611161, 38.521311000891757 ], [ -122.876804000155801, 38.521597000973763 ], [ -122.878260999802862, 38.521689000729211 ], [ -122.879192999568829, 38.521552000705029 ], [ -122.881059000025829, 38.521530000891651 ], [ -122.882573999675088, 38.521348000412232 ], [ -122.883769000055139, 38.521463000933402 ], [ -122.88528499940567, 38.520182000964013 ], [ -122.885547000246476, 38.520044000974295 ], [ -122.886246999982632, 38.519907000750614 ], [ -122.889975999594213, 38.520321000640912 ], [ -122.890034999759351, 38.519863000986625 ], [ -122.889831000184373, 38.518879001019855 ], [ -122.890151999642441, 38.518101000665993 ], [ -122.890178000274801, 38.518063000304849 ], [ -122.88945300018986, 38.51794000054192 ], [ -122.888549999417378, 38.51745900072234 ], [ -122.887238999429599, 38.517344000390743 ], [ -122.88639499964539, 38.517000000302815 ], [ -122.885258999989418, 38.515992000489192 ], [ -122.884675999886085, 38.515763000782719 ], [ -122.884209999953057, 38.515694000313751 ], [ -122.883774000392251, 38.51546500077373 ], [ -122.883296000458529, 38.515067000657723 ], [ -122.883655999663361, 38.514746000785657 ], [ -122.884125000031673, 38.51402600035226 ], [ -122.88445499943559, 38.512809000955158 ], [ -122.884576000396365, 38.51179700026772 ], [ -122.884246999878343, 38.51083400030172 ], [ -122.883392999790331, 38.509511000815486 ], [ -122.883021000205929, 38.508832000690376 ], [ -122.883009000025908, 38.508461000581001 ], [ -122.883003000417119, 38.507952000341348 ], [ -122.883320999472701, 38.507539000409899 ], [ -122.883464999528314, 38.507354000707039 ], [ -122.884037999650019, 38.506640000650599 ], [ -122.884467999850798, 38.506292000994293 ], [ -122.884653999862692, 38.505990000850773 ], [ -122.884650999535438, 38.50527100035513 ], [ -122.884772000197955, 38.50457400055803 ], [ -122.885023999524734, 38.504141000493448 ], [ -122.885203999730649, 38.503653000429608 ], [ -122.885193999549728, 38.503355000349728 ], [ -122.885192000411848, 38.50304300055695 ], [ -122.885189999906743, 38.502604001021609 ], [ -122.885307000526225, 38.502117000522468 ], [ -122.885701000032753, 38.500656000390791 ], [ -122.885879000176104, 38.499911000942369 ], [ -122.885540000505642, 38.499911000884012 ], [ -122.886297999933703, 38.498553000581609 ], [ -122.886832000196264, 38.497668000373665 ], [ -122.887991999652598, 38.497280000501199 ], [ -122.889623999458422, 38.495434000581056 ], [ -122.891485999961645, 38.494457001046847 ], [ -122.89290500035294, 38.494012000914324 ], [ -122.892020000207594, 38.493702000913665 ], [ -122.890875999548399, 38.493618001084563 ], [ -122.89025000040165, 38.494068000459535 ], [ -122.889425999495245, 38.493709000272624 ], [ -122.888053000464922, 38.492191001127814 ], [ -122.887641000400748, 38.492107001024316 ], [ -122.886664000316458, 38.49293900026543 ], [ -122.885749000206303, 38.492077000659883 ], [ -122.885214000514608, 38.491878000556639 ], [ -122.884268000488149, 38.492298000508555 ], [ -122.883303999769225, 38.49251200064851 ], [ -122.883244999767797, 38.492824000623685 ], [ -122.882467000324894, 38.492931000471366 ], [ -122.881414000428776, 38.494190000607922 ], [ -122.880605000033626, 38.494311000270486 ], [ -122.8791399999525, 38.493777000437589 ], [ -122.878544999528955, 38.493899000473192 ], [ -122.878132999597227, 38.494265000518503 ], [ -122.877704000432445, 38.496711000388409 ], [ -122.875771000186006, 38.496449000375712 ], [ -122.875570000097611, 38.496470000667536 ], [ -122.874736999940325, 38.496247000676576 ], [ -122.873923000503979, 38.495915000862979 ], [ -122.873163000353685, 38.495924000835707 ], [ -122.872742999416758, 38.495916000302429 ], [ -122.872437000344959, 38.49595300109123 ], [ -122.872098999526187, 38.496053000589676 ], [ -122.871704000505943, 38.496219001017522 ], [ -122.870803999413369, 38.49631100069282 ], [ -122.86989400018382, 38.49629500079751 ], [ -122.868642000078566, 38.496463000764088 ], [ -122.867573999971995, 38.496997000567482 ], [ -122.867117000455394, 38.497332000935884 ], [ -122.866871999847291, 38.49764500052688 ], [ -122.866674000366828, 38.498065000920796 ], [ -122.866103999976772, 38.499911001130805 ], [ -122.865304000209022, 38.501211001006268 ], [ -122.86313400026026, 38.501956001138723 ], [ -122.86197499982687, 38.502453000474532 ], [ -122.861287000266827, 38.502749000928659 ], [ -122.861202999559112, 38.502911000608009 ], [ -122.860602999936418, 38.503211000814673 ], [ -122.859822000179335, 38.502787001012095 ], [ -122.859212000119498, 38.502536000953327 ], [ -122.858602999391763, 38.502311000686056 ], [ -122.857532999810985, 38.501887000398817 ], [ -122.857203000415836, 38.499911000679653 ], [ -122.857257999436797, 38.498858000936515 ], [ -122.857250000015426, 38.498602000851548 ], [ -122.857242999630429, 38.498393001112895 ], [ -122.857030000262611, 38.497904001054764 ], [ -122.856770000127213, 38.497515000251475 ], [ -122.856464999894442, 38.497233000581481 ], [ -122.853718000045944, 38.495898000430969 ], [ -122.853003000454237, 38.494011000470039 ], [ -122.852558999584787, 38.494502001046328 ], [ -122.852086000442199, 38.494876001134223 ], [ -122.851399000033865, 38.495333000959683 ], [ -122.850697000163436, 38.49573800103672 ], [ -122.850202999945651, 38.495911000676422 ], [ -122.849567999676694, 38.496005000737455 ], [ -122.848927000325105, 38.495982000462369 ], [ -122.848530000121684, 38.495837000760325 ], [ -122.848210000303951, 38.495700000458619 ], [ -122.847905000369252, 38.495547000599871 ], [ -122.847615000387009, 38.49534100109868 ], [ -122.846195999752993, 38.494258000652692 ], [ -122.845996999531735, 38.494036001072558 ], [ -122.845903999498702, 38.493897000899032 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1395, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.783730999526568, 38.525667000797014 ], [ -122.786288999975199, 38.525702000352794 ], [ -122.786901999876704, 38.525706000474528 ], [ -122.787464999926314, 38.525709000933553 ], [ -122.787851000339089, 38.52570900065723 ], [ -122.789099999847608, 38.525710000553723 ], [ -122.790300000161508, 38.525717000566019 ], [ -122.791948000230335, 38.525709000461859 ], [ -122.793469000450571, 38.525680001126581 ], [ -122.794834999527779, 38.525714000579477 ], [ -122.795066000009442, 38.525720000681901 ], [ -122.797583000072592, 38.525711001122907 ], [ -122.797920000422565, 38.525720000461661 ], [ -122.800000999622171, 38.528010000975712 ], [ -122.804301000019819, 38.532910001027822 ], [ -122.811401999718171, 38.541110000845812 ], [ -122.813695999497838, 38.54370100090253 ], [ -122.816801999758781, 38.547210000579149 ], [ -122.817506999544094, 38.548005000712841 ], [ -122.818548000009869, 38.549187001069299 ], [ -122.821426000213947, 38.552444000998477 ], [ -122.825901999796258, 38.557510000630344 ], [ -122.826001999640326, 38.560910000510241 ], [ -122.825966999585972, 38.561441001067386 ], [ -122.825901999429249, 38.562410000841695 ], [ -122.825883000203959, 38.562622000284399 ], [ -122.825854000341394, 38.562987000892242 ], [ -122.825846999581088, 38.563067001025367 ], [ -122.825414000273526, 38.562799000860217 ], [ -122.824784999706608, 38.562410000632831 ], [ -122.824677999499698, 38.5623280004355 ], [ -122.824002000128615, 38.561810000448553 ], [ -122.823001999735837, 38.561710000328645 ], [ -122.812804999449042, 38.551442000536476 ], [ -122.811702000497576, 38.55031000103893 ], [ -122.809701999713127, 38.548610000586052 ], [ -122.809339000090887, 38.548326001037047 ], [ -122.808344999936097, 38.547440000875092 ], [ -122.807868000185991, 38.546763001082986 ], [ -122.807357999472842, 38.546605001051056 ], [ -122.806042000479465, 38.546085000584469 ], [ -122.805801000425646, 38.546010000258335 ], [ -122.804900999503616, 38.545610001132324 ], [ -122.804101, 38.545210001120246 ], [ -122.803000999669891, 38.544710000908196 ], [ -122.802101000424543, 38.544210000522611 ], [ -122.800400999597173, 38.543410000665851 ], [ -122.799700999912787, 38.543010000333631 ], [ -122.798000999705224, 38.542110001130268 ], [ -122.796800999566159, 38.541410000637057 ], [ -122.795000999745525, 38.540582000408385 ], [ -122.794709000004033, 38.540494000666328 ], [ -122.794101000048599, 38.540310000950136 ], [ -122.793001000281194, 38.540310000771072 ], [ -122.79222899940784, 38.540310000498572 ], [ -122.791580999417775, 38.540310000544125 ], [ -122.790316999682076, 38.540310000326116 ], [ -122.790148999646192, 38.54031000034194 ], [ -122.789901000193765, 38.540310000784118 ], [ -122.788848999712826, 38.54029900074201 ], [ -122.787150999807082, 38.540281000478906 ], [ -122.786515999672673, 38.540274000967919 ], [ -122.786199000185576, 38.540271001004079 ], [ -122.786001000246415, 38.540269000889225 ], [ -122.781361000062503, 38.5402210005374 ], [ -122.780299999393009, 38.540210000602805 ], [ -122.780000000035187, 38.540210000546061 ], [ -122.779648000391035, 38.540210001000659 ], [ -122.7742000004788, 38.540210000340238 ], [ -122.772099999459343, 38.540110001016231 ], [ -122.76760000029671, 38.536210000847468 ], [ -122.765099000346098, 38.531210000422661 ], [ -122.764999000361456, 38.529710000919216 ], [ -122.764998999971908, 38.527884000806218 ], [ -122.764998999469242, 38.52621000044531 ], [ -122.764999000471562, 38.525610000954323 ], [ -122.767713999953273, 38.5256290002445 ], [ -122.774698999396989, 38.525679000898293 ], [ -122.775378999922054, 38.52568400042032 ], [ -122.776740000504191, 38.525694000338177 ], [ -122.778460000389117, 38.525706000677275 ], [ -122.778999999729891, 38.525710000460684 ], [ -122.779299999936725, 38.525610000519386 ], [ -122.783730999526568, 38.525667000797014 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1398, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.861141000163485, 38.630258000581058 ], [ -122.860907999879714, 38.630258000488872 ], [ -122.860411000297375, 38.629961001033038 ], [ -122.860176999682793, 38.629229000244216 ], [ -122.860030999539447, 38.629046000757604 ], [ -122.859331000530887, 38.628725000908695 ], [ -122.858804999901579, 38.628359000437129 ], [ -122.856645000340094, 38.627948000281748 ], [ -122.855915000361847, 38.628040000338942 ], [ -122.855701000461195, 38.62819000056713 ], [ -122.855181999706517, 38.627858000729532 ], [ -122.854207000531602, 38.627234000867098 ], [ -122.850574000059055, 38.62490900094101 ], [ -122.849901999699156, 38.624477001037576 ], [ -122.849580999646008, 38.624317001031216 ], [ -122.848976999592523, 38.623886000592258 ], [ -122.848808999417287, 38.623779000348392 ], [ -122.848532999594937, 38.623603000832297 ], [ -122.847140999742251, 38.621578000650956 ], [ -122.846867000496601, 38.621178000887397 ], [ -122.846286999774406, 38.6209790003319 ], [ -122.845829999498378, 38.62082200054332 ], [ -122.843276000414761, 38.619945000347712 ], [ -122.843510999625877, 38.617079000731557 ], [ -122.843550000054819, 38.616606000707499 ], [ -122.843537999756478, 38.616513000337754 ], [ -122.843695999435596, 38.614656000270578 ], [ -122.843827000011075, 38.613122000257654 ], [ -122.843887999946176, 38.612419000958845 ], [ -122.843953000050718, 38.611661000635664 ], [ -122.843961999539871, 38.611558000635171 ], [ -122.844913000159437, 38.611577000391087 ], [ -122.845105999487984, 38.61158100048182 ], [ -122.845578000364483, 38.611591000333533 ], [ -122.845817999796694, 38.611681001026696 ], [ -122.846024000255071, 38.611749000680248 ], [ -122.846295999997665, 38.61175800072732 ], [ -122.846745999844515, 38.611755000573801 ], [ -122.847195000003197, 38.611913000384924 ], [ -122.847473999524169, 38.612117001103904 ], [ -122.848261999589951, 38.612300000256305 ], [ -122.848412000072898, 38.612300000908903 ], [ -122.848583000442162, 38.61230000060705 ], [ -122.848700000187677, 38.612392000832244 ], [ -122.849254000318666, 38.61246000083883 ], [ -122.850160000126294, 38.612562000969959 ], [ -122.85275199991149, 38.61285500112249 ], [ -122.85290099971516, 38.612872000310929 ], [ -122.853367999608466, 38.612872000650405 ], [ -122.853690999480207, 38.612782000673981 ], [ -122.853951000227255, 38.612711000391322 ], [ -122.854511000003683, 38.612609000503596 ], [ -122.855206000349114, 38.612482000986965 ], [ -122.855351000349913, 38.612276000408592 ], [ -122.855915000429036, 38.611847000995937 ], [ -122.856226000013692, 38.611612000356004 ], [ -122.856436000027657, 38.611562000329123 ], [ -122.856518000101786, 38.611543000970954 ], [ -122.857632999755523, 38.611455000289403 ], [ -122.858763999619157, 38.611366000756682 ], [ -122.858856000212256, 38.611359000428649 ], [ -122.859038999435242, 38.61134400072546 ], [ -122.85911700019463, 38.61133800077662 ], [ -122.859215999858961, 38.61133000105535 ], [ -122.859314999503297, 38.611322000349141 ], [ -122.860309999828658, 38.611244000712723 ], [ -122.860398000261227, 38.611290000899061 ], [ -122.860399000271656, 38.612526000253233 ], [ -122.861654000088151, 38.61254800101581 ], [ -122.863171000440275, 38.612571000604127 ], [ -122.867138999497399, 38.61252300097231 ], [ -122.868568000343657, 38.612431000365852 ], [ -122.868929000220604, 38.613923001098328 ], [ -122.868924999646239, 38.614207000976819 ], [ -122.869532000436621, 38.614262000649845 ], [ -122.869677999408282, 38.614266000628149 ], [ -122.870348999698436, 38.614284000276278 ], [ -122.870641999492577, 38.6152680002889 ], [ -122.87067200004455, 38.615955000624226 ], [ -122.870668000093616, 38.6161650006785 ], [ -122.870643999458565, 38.61758000086612 ], [ -122.870643999568912, 38.61819200102272 ], [ -122.870645000313573, 38.619274001097146 ], [ -122.870657000389187, 38.619880000673767 ], [ -122.870675000045793, 38.620808000689586 ], [ -122.87038700004544, 38.620808001048886 ], [ -122.870089999688275, 38.620808000620286 ], [ -122.869538000265862, 38.620808001081315 ], [ -122.868743000118144, 38.620793001096935 ], [ -122.868340999653995, 38.620786000486518 ], [ -122.867903999657514, 38.620809000285298 ], [ -122.867115999387849, 38.620787000279989 ], [ -122.866997000099559, 38.620786000832439 ], [ -122.865922999829479, 38.620773001020012 ], [ -122.865103000414578, 38.620765000399906 ], [ -122.864490000347629, 38.620788000698788 ], [ -122.863615000519331, 38.620834000273987 ], [ -122.863615000051055, 38.621570000697723 ], [ -122.863615000466993, 38.622183000722416 ], [ -122.863615999510515, 38.622962000785385 ], [ -122.863703999985049, 38.623626000802389 ], [ -122.863674999603006, 38.624335000684852 ], [ -122.863471000339104, 38.624381000350837 ], [ -122.863496000296394, 38.624821001059935 ], [ -122.863500999635988, 38.624909000295183 ], [ -122.863520000082076, 38.62578700082765 ], [ -122.863534999946026, 38.626486000721805 ], [ -122.863558000346032, 38.627484000396812 ], [ -122.863561000385133, 38.627602000668567 ], [ -122.863706999926819, 38.627831000786365 ], [ -122.863911999630588, 38.627899000982943 ], [ -122.864087000069006, 38.628220001055602 ], [ -122.864875000093662, 38.628883001042304 ], [ -122.865111000295656, 38.629406001071182 ], [ -122.865225999763865, 38.629661000737677 ], [ -122.86510900026245, 38.629913000626019 ], [ -122.864788999909649, 38.630234000973452 ], [ -122.864509000132884, 38.630395000405798 ], [ -122.864117999861747, 38.630623001018868 ], [ -122.863971999756316, 38.630601000886145 ], [ -122.863891999801851, 38.630530001138396 ], [ -122.863738000410081, 38.630395000816215 ], [ -122.863697000359579, 38.630271000362619 ], [ -122.863533999591567, 38.629777001093245 ], [ -122.863387999757919, 38.629616000309454 ], [ -122.862890999834207, 38.629479000951918 ], [ -122.862278999538432, 38.629548001134985 ], [ -122.861141000163485, 38.630258000581058 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1400, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.873535999680882, 38.658140001050157 ], [ -122.872909999595862, 38.656807000535942 ], [ -122.872248000312794, 38.655146001042532 ], [ -122.87201600020137, 38.654609000411767 ], [ -122.871723999479698, 38.653785000401925 ], [ -122.871461999883337, 38.65188300051404 ], [ -122.871487999702623, 38.651725001067589 ], [ -122.871575000023469, 38.650489000282043 ], [ -122.871808000089118, 38.649505000244858 ], [ -122.872593999966995, 38.647421000905467 ], [ -122.87326800031876, 38.645945000888233 ], [ -122.874910000511093, 38.642353000583931 ], [ -122.876104999434858, 38.639740000662343 ], [ -122.876674999812266, 38.638721000735259 ], [ -122.877552999929279, 38.635883000713918 ], [ -122.877559000182515, 38.635793000483019 ], [ -122.877573000194943, 38.635577000403899 ], [ -122.877997000359898, 38.629246000871049 ], [ -122.878116000073859, 38.626430000927037 ], [ -122.878121999458813, 38.626079000583154 ], [ -122.878139999688628, 38.625199000592865 ], [ -122.878204999617097, 38.624034001025471 ], [ -122.878380999873542, 38.622775000459761 ], [ -122.878445000455713, 38.621739000617708 ], [ -122.878528999475307, 38.620394001007249 ], [ -122.878565000239647, 38.618918000494823 ], [ -122.878599999891918, 38.617498000583403 ], [ -122.87861399973157, 38.616925000511479 ], [ -122.878639000295536, 38.615919000381496 ], [ -122.878635999507509, 38.615136000529382 ], [ -122.878239000174119, 38.614011000529544 ], [ -122.877717999617573, 38.61310000063056 ], [ -122.875913000134616, 38.610772001062493 ], [ -122.87449399952439, 38.609202001046285 ], [ -122.874289000318768, 38.60895900068499 ], [ -122.872823999586331, 38.607507000736582 ], [ -122.869700000146565, 38.605037001092683 ], [ -122.869160999587024, 38.604691000902974 ], [ -122.86857099974587, 38.604312000418176 ], [ -122.868169999984161, 38.604055000389373 ], [ -122.867453000425371, 38.603595000256981 ], [ -122.867014999909799, 38.603321001021285 ], [ -122.866343999526649, 38.602818000652945 ], [ -122.865873000451415, 38.602544000875483 ], [ -122.865098999899629, 38.602094000762818 ], [ -122.864633000343559, 38.601823000912752 ], [ -122.861031999625538, 38.599730000521163 ], [ -122.860644000492755, 38.599527000516964 ], [ -122.858755999847347, 38.598540000820776 ], [ -122.857636999536282, 38.597928000919964 ], [ -122.857617999609232, 38.597488000658537 ], [ -122.857734000267968, 38.597053000372398 ], [ -122.857907999634477, 38.595313001080292 ], [ -122.858431999742194, 38.593047000894593 ], [ -122.858315000015139, 38.592520000888236 ], [ -122.858315000142099, 38.591650000375424 ], [ -122.858226999719548, 38.591604000287958 ], [ -122.858227000027156, 38.591330000862484 ], [ -122.85802300031753, 38.591124000982013 ], [ -122.857234999527932, 38.590598000641215 ], [ -122.857088999851953, 38.590415000839393 ], [ -122.857001000395655, 38.589499000803279 ], [ -122.857758000510671, 38.588377000874793 ], [ -122.857990999948456, 38.587805000942254 ], [ -122.858048999664405, 38.587164000759685 ], [ -122.85793199961995, 38.586912000725157 ], [ -122.857261000341509, 38.58640900108702 ], [ -122.857202999942999, 38.586134000633884 ], [ -122.85731999987884, 38.586065000621367 ], [ -122.857464999451793, 38.585264000411108 ], [ -122.857871999798789, 38.584142001118046 ], [ -122.858008000372834, 38.583909000658849 ], [ -122.857926999471147, 38.583546001050721 ], [ -122.857468999795898, 38.582449000643166 ], [ -122.857275999726994, 38.581884000723349 ], [ -122.857206000493335, 38.581304000484366 ], [ -122.857343999432459, 38.57968300102921 ], [ -122.856888999551899, 38.57799700111724 ], [ -122.85656600035999, 38.576628000388013 ], [ -122.856362999968951, 38.57577100074878 ], [ -122.856058000137168, 38.574924001141447 ], [ -122.855352999555805, 38.574278001119431 ], [ -122.854035999634789, 38.572962000632046 ], [ -122.852760000370125, 38.571396001043944 ], [ -122.852192000399185, 38.569589000789115 ], [ -122.851657000025583, 38.567056001042104 ], [ -122.85134700016043, 38.564709000795268 ], [ -122.851597000058746, 38.563435000601167 ], [ -122.851927999689707, 38.562557000426899 ], [ -122.852021000514384, 38.562410000288288 ], [ -122.851903999933981, 38.562410001029811 ], [ -122.852223999948606, 38.56163900107655 ], [ -122.853063000052941, 38.560564001054757 ], [ -122.85402500032346, 38.559969001066555 ], [ -122.854374999637173, 38.559816000831276 ], [ -122.855123000078748, 38.559518000727124 ], [ -122.85649600007163, 38.558206000577755 ], [ -122.85707599984012, 38.557298000511466 ], [ -122.857183000002181, 38.55693200091887 ], [ -122.8568319994815, 38.556284000594538 ], [ -122.856740999596482, 38.55534500076152 ], [ -122.857603999845608, 38.553710000714005 ], [ -122.858328000051017, 38.552576000743571 ], [ -122.858830999514339, 38.551462000576393 ], [ -122.859441000387648, 38.550462000952962 ], [ -122.859603999809252, 38.550010000874387 ], [ -122.859410999499161, 38.549463000247492 ], [ -122.858693999470475, 38.548708000742529 ], [ -122.858113999709573, 38.548235000307209 ], [ -122.857107000151288, 38.546816000700957 ], [ -122.857004000390148, 38.546610000930684 ], [ -122.856648999554409, 38.546007000255827 ], [ -122.856602999450061, 38.545526000383461 ], [ -122.856588000218551, 38.544450000389752 ], [ -122.856771000208667, 38.543666000707169 ], [ -122.857003999604729, 38.54271100113327 ], [ -122.857351000093203, 38.542178000682078 ], [ -122.858236000274843, 38.541171001007065 ], [ -122.859304000382721, 38.540270000785753 ], [ -122.860066999850559, 38.540110000289673 ], [ -122.860632000145458, 38.539828000927145 ], [ -122.860890999597856, 38.539569000337295 ], [ -122.861440000316435, 38.538439000460485 ], [ -122.861516999871284, 38.537036000289881 ], [ -122.860601000046614, 38.536364000945646 ], [ -122.859852999912434, 38.535647000948501 ], [ -122.859624999910721, 38.535052000628703 ], [ -122.859242999862118, 38.534503000742916 ], [ -122.858903999604166, 38.534311000608739 ], [ -122.858003999467869, 38.533711001002317 ], [ -122.85710700017934, 38.533580000758143 ], [ -122.85692400042619, 38.533343000412081 ], [ -122.856984999615278, 38.53282400026508 ], [ -122.857213999599395, 38.53206900036264 ], [ -122.859803999488449, 38.530111000437138 ], [ -122.860997999970166, 38.530390000412488 ], [ -122.861379000200984, 38.530505000986949 ], [ -122.86172999964198, 38.530421000763369 ], [ -122.862080999476888, 38.530001000388424 ], [ -122.862524000007781, 38.529269000660292 ], [ -122.86264599951933, 38.528613000442171 ], [ -122.862340999644374, 38.528170000424112 ], [ -122.862249000026182, 38.527796000811861 ], [ -122.86227999976505, 38.526995001064861 ], [ -122.863530999766965, 38.524951001029223 ], [ -122.863500000277327, 38.524508001030497 ], [ -122.862404000157809, 38.522711000322467 ], [ -122.86195899948612, 38.522402000879609 ], [ -122.860876000001923, 38.521372000805258 ], [ -122.860571000279009, 38.521052000796487 ], [ -122.860403999910275, 38.520611000589554 ], [ -122.860235000162007, 38.519000000828768 ], [ -122.860418000444355, 38.518572000383202 ], [ -122.860814999604912, 38.518199000843708 ], [ -122.861456000190316, 38.517985000890285 ], [ -122.862203000108195, 38.518084000561132 ], [ -122.862919999524635, 38.518206000678219 ], [ -122.863409000051405, 38.518084000346214 ], [ -122.863703999404535, 38.518011000914498 ], [ -122.863957999444693, 38.517893000777434 ], [ -122.86449199991516, 38.517382000443256 ], [ -122.864918999794924, 38.516917000872795 ], [ -122.865270000421319, 38.516215000422193 ], [ -122.865544999954977, 38.51538300036102 ], [ -122.866154999528192, 38.514872001030611 ], [ -122.866841999868456, 38.514453000484245 ], [ -122.867278000051215, 38.51422300098708 ], [ -122.867422000274644, 38.514147001013256 ], [ -122.868185000467435, 38.513972001033949 ], [ -122.868765000273214, 38.513850000406656 ], [ -122.869588000141434, 38.514010000533844 ], [ -122.870138000305587, 38.514270000776101 ], [ -122.870840000032999, 38.51450600111437 ], [ -122.871739999588698, 38.514880000290972 ], [ -122.872488000117912, 38.515139000335843 ], [ -122.873266000143559, 38.515444000596069 ], [ -122.874119999840161, 38.515971000376247 ], [ -122.874837999582212, 38.516543001035984 ], [ -122.876103999436822, 38.517411000306211 ], [ -122.876612000298948, 38.518088000965832 ], [ -122.877014000434301, 38.51821200042793 ], [ -122.878009000029579, 38.518192000623081 ], [ -122.879781999718119, 38.51781000080927 ], [ -122.881367000238924, 38.516366000749883 ], [ -122.881687999665786, 38.516133000400153 ], [ -122.882777999463741, 38.515531000398752 ], [ -122.883296000458529, 38.515067000657723 ], [ -122.883774000392251, 38.51546500077373 ], [ -122.884209999953057, 38.515694000313751 ], [ -122.884675999886085, 38.515763000782719 ], [ -122.885258999989418, 38.515992000489192 ], [ -122.88639499964539, 38.517000000302815 ], [ -122.887238999429599, 38.517344000390743 ], [ -122.888549999417378, 38.51745900072234 ], [ -122.88945300018986, 38.51794000054192 ], [ -122.890178000274801, 38.518063000304849 ], [ -122.890151999642441, 38.518101000665993 ], [ -122.889831000184373, 38.518879001019855 ], [ -122.890034999759351, 38.519863000986625 ], [ -122.889975999594213, 38.520321000640912 ], [ -122.886246999982632, 38.519907000750614 ], [ -122.885547000246476, 38.520044000974295 ], [ -122.88528499940567, 38.520182000964013 ], [ -122.883769000055139, 38.521463000933402 ], [ -122.882573999675088, 38.521348000412232 ], [ -122.881059000025829, 38.521530000891651 ], [ -122.879192999568829, 38.521552000705029 ], [ -122.878260999802862, 38.521689000729211 ], [ -122.876804000155801, 38.521597000973763 ], [ -122.876103999611161, 38.521311000891757 ], [ -122.874792000237079, 38.520968000249823 ], [ -122.872777999999755, 38.520594000480926 ], [ -122.870961999809708, 38.519511001072686 ], [ -122.868642000162865, 38.518778000348007 ], [ -122.867727000268303, 38.51853400069173 ], [ -122.866904000177968, 38.518511000280171 ], [ -122.8666740000902, 38.518756001035783 ], [ -122.866444999684958, 38.519183000830303 ], [ -122.866125000295199, 38.522402000938278 ], [ -122.865972000028464, 38.524234000671022 ], [ -122.867100999699588, 38.526553000284004 ], [ -122.86795599974009, 38.528819000266466 ], [ -122.86801699972051, 38.530841001011304 ], [ -122.867999999666822, 38.531856000302845 ], [ -122.867967999657623, 38.533799000758684 ], [ -122.867940999392985, 38.535494000343512 ], [ -122.868153999549151, 38.535769000367594 ], [ -122.868474999832969, 38.535762000325938 ], [ -122.870304000049671, 38.53601100098868 ], [ -122.870305999980104, 38.535540000893647 ], [ -122.872197999715453, 38.535159000692587 ], [ -122.872761999533651, 38.534335000470648 ], [ -122.873463999669553, 38.534060000799627 ], [ -122.874441000420717, 38.533992001133804 ], [ -122.876103999771004, 38.533911000311058 ], [ -122.876510000174761, 38.534095000625875 ], [ -122.877260000119094, 38.534118000369368 ], [ -122.880349000523879, 38.534463000355245 ], [ -122.882038999606976, 38.534991000316339 ], [ -122.882621999553251, 38.535746001117509 ], [ -122.883320999709753, 38.536182000786212 ], [ -122.883698999437385, 38.537189000675589 ], [ -122.884398000224721, 38.537922000933065 ], [ -122.885039000223955, 38.538174001139218 ], [ -122.885505000434165, 38.538266000527692 ], [ -122.88602900023858, 38.53865500032942 ], [ -122.88722400030467, 38.539251000666205 ], [ -122.888010000106974, 38.539549000955098 ], [ -122.889875999764698, 38.539389000696339 ], [ -122.890546000253508, 38.539504001068167 ], [ -122.891215999681961, 38.539436000402986 ], [ -122.891653999419319, 38.538703000967956 ], [ -122.892294999813089, 38.538497000639858 ], [ -122.895093000411265, 38.53843000030308 ], [ -122.896783999700233, 38.538087000673777 ], [ -122.897074999453409, 38.537996000635161 ], [ -122.897803999953496, 38.537927001136737 ], [ -122.898794999560963, 38.538042000656006 ], [ -122.899318999738043, 38.538248000560415 ], [ -122.900135999760025, 38.538409000592175 ], [ -122.901738999443111, 38.538180000256489 ], [ -122.902584000523035, 38.537769000801354 ], [ -122.90421599977843, 38.537861000547117 ], [ -122.904536999788547, 38.537975000420268 ], [ -122.904973999674581, 38.538319000491839 ], [ -122.905673000393094, 38.5384790009075 ], [ -122.906896999904589, 38.538205000750445 ], [ -122.907801000334061, 38.53825100083121 ], [ -122.909316000294012, 38.538801000935138 ], [ -122.909927999705815, 38.539144000392533 ], [ -122.910219000286745, 38.539396000320124 ], [ -122.910977000226382, 38.539533001063567 ], [ -122.911939000042921, 38.539854000266466 ], [ -122.912959000503506, 38.540060001068561 ], [ -122.913259000058289, 38.540074000449138 ], [ -122.913454000007746, 38.540083000907316 ], [ -122.914124999410319, 38.539946000578176 ], [ -122.914970999685764, 38.53949100036359 ], [ -122.915144999440471, 38.539397000961067 ], [ -122.915902999950404, 38.539512001102644 ], [ -122.916582999867671, 38.539734000539823 ], [ -122.916952000276481, 38.539855001113366 ], [ -122.917825999570411, 38.539718000811781 ], [ -122.918554999842343, 38.53946600106871 ], [ -122.918902999470916, 38.539172000418667 ], [ -122.918934000310628, 38.539146000442159 ], [ -122.919691000295444, 38.538940000662791 ], [ -122.920681999500388, 38.53896300088735 ], [ -122.921149000521794, 38.539078000291603 ], [ -122.92278099997651, 38.540337000417722 ], [ -122.923101999405048, 38.540428001037185 ], [ -122.923772000004391, 38.540474000558746 ], [ -122.924297000339607, 38.540635001083878 ], [ -122.925199999461299, 38.541093000547981 ], [ -122.926686999763021, 38.541482000597995 ], [ -122.926742000478086, 38.541516000594257 ], [ -122.9270949998226, 38.54173400106972 ], [ -122.927269000509, 38.542031000919032 ], [ -122.927356999906181, 38.542420000887759 ], [ -122.927706999662462, 38.542924000839193 ], [ -122.928492999932786, 38.543199000847423 ], [ -122.929571999933998, 38.543199000590171 ], [ -122.930095999561658, 38.54294700030534 ], [ -122.931525000037439, 38.54299300060876 ], [ -122.931693000309949, 38.543019000310863 ], [ -122.932720000450885, 38.543176001112478 ], [ -122.93543000006683, 38.543978000870084 ], [ -122.935656000486119, 38.544093001130634 ], [ -122.936420999729577, 38.544481000741072 ], [ -122.937353999683864, 38.544664000597763 ], [ -122.938052999649855, 38.544710000582477 ], [ -122.940356000216553, 38.545580000428323 ], [ -122.941155000149251, 38.545762000421988 ], [ -122.941258999683171, 38.545786000389683 ], [ -122.941449000117004, 38.545767000812397 ], [ -122.941725999848998, 38.545740000998784 ], [ -122.942191999476918, 38.545534000960956 ], [ -122.942484000115812, 38.545534000578478 ], [ -122.944407999836855, 38.546015000502486 ], [ -122.945050000362315, 38.546450001094883 ], [ -122.946213999544653, 38.54685600038858 ], [ -122.946360999753168, 38.546907000369465 ], [ -122.947002999550463, 38.547251000865145 ], [ -122.948664000120758, 38.547823000768972 ], [ -122.949654999441393, 38.548304000755294 ], [ -122.950588000064371, 38.54823500091176 ], [ -122.951316999570608, 38.548441001058592 ], [ -122.952249000272147, 38.548326000850466 ], [ -122.952949000074597, 38.548349000945244 ], [ -122.953532000201477, 38.548715000644933 ], [ -122.95426099946576, 38.549493000923064 ], [ -122.955106000530037, 38.549791000612288 ], [ -122.955485000230269, 38.549722000354564 ], [ -122.95600999970668, 38.549333000659516 ], [ -122.956737999956829, 38.549127000443171 ], [ -122.957205000324194, 38.548692000707831 ], [ -122.958189999425798, 38.548738000862841 ], [ -122.958691000228569, 38.548761000832506 ], [ -122.959128000226272, 38.549013000568905 ], [ -122.959537000013214, 38.549127000928166 ], [ -122.960448000191832, 38.549192000758076 ], [ -122.960819000477258, 38.549219000350895 ], [ -122.961103999592481, 38.549300001094601 ], [ -122.961869000467786, 38.549516000409575 ], [ -122.962480999537419, 38.549424000321068 ], [ -122.962742999560973, 38.549310000403132 ], [ -122.963004999709796, 38.54933300113818 ], [ -122.963093000222059, 38.549905000500146 ], [ -122.962976000451945, 38.550180000589116 ], [ -122.96300599943072, 38.55056900088055 ], [ -122.963384999805101, 38.550958000861037 ], [ -122.963675999698168, 38.551118000441853 ], [ -122.964200999551267, 38.551118000836915 ], [ -122.964784000297925, 38.550935000506058 ], [ -122.965074999952677, 38.55095700047918 ], [ -122.96539600027296, 38.551141001119248 ], [ -122.965689000355553, 38.551049000415333 ], [ -122.965687999923119, 38.550889001066103 ], [ -122.965307999706681, 38.550614000780485 ], [ -122.96627100010366, 38.550339000939189 ], [ -122.966270999847936, 38.550568000785788 ], [ -122.966573999421954, 38.551043000269821 ], [ -122.966883999654669, 38.551529001020803 ], [ -122.967699999526943, 38.551918000722821 ], [ -122.967817000354572, 38.552330000761742 ], [ -122.967992000207275, 38.552468000678395 ], [ -122.968720999603036, 38.552628000268626 ], [ -122.969070999910485, 38.55315400034786 ], [ -122.969070999570135, 38.5537950002442 ], [ -122.969421000135426, 38.554207000393632 ], [ -122.969216999928847, 38.554367000871316 ], [ -122.968547000340436, 38.554367000321164 ], [ -122.968547000505723, 38.554551001064461 ], [ -122.969216999412836, 38.555146000276451 ], [ -122.969916999553405, 38.556290000777011 ], [ -122.971131000325059, 38.55663000097455 ], [ -122.971462999728089, 38.556724000473459 ], [ -122.971929000411563, 38.556999000253342 ], [ -122.972146999968601, 38.557201000465184 ], [ -122.972658000122649, 38.557708000487764 ], [ -122.973222999559795, 38.557989000344286 ], [ -122.974175000065273, 38.558463000606672 ], [ -122.975252999526418, 38.558646000316124 ], [ -122.975631999599827, 38.558898000565001 ], [ -122.976099000534077, 38.559584000397805 ], [ -122.976332000049169, 38.55969900078717 ], [ -122.97708999946704, 38.559813000655694 ], [ -122.977469999751364, 38.560019000365585 ], [ -122.977935999697834, 38.560133000372936 ], [ -122.978257000410281, 38.560499000504009 ], [ -122.978199000479208, 38.560774001023262 ], [ -122.977790999405016, 38.561278000843444 ], [ -122.9777620002465, 38.561804000791312 ], [ -122.978053999515609, 38.561942000406063 ], [ -122.978462000001912, 38.561781000482739 ], [ -122.979044999778054, 38.561232000286232 ], [ -122.979173000448029, 38.561191000342419 ], [ -122.979335999892115, 38.561140000378181 ], [ -122.979948000028017, 38.561323000661936 ], [ -122.980502999471128, 38.561964000599673 ], [ -122.981231999415911, 38.562284000998169 ], [ -122.982280999852335, 38.562467000618888 ], [ -122.984153000503795, 38.562582000298356 ], [ -122.984496999476377, 38.562603001140467 ], [ -122.985401000365272, 38.562763000754387 ], [ -122.987355000115855, 38.56269300095726 ], [ -122.988316999841018, 38.562922000253813 ], [ -122.989600999599432, 38.563768000633416 ], [ -122.990956999816731, 38.564765000677184 ], [ -122.991000999507065, 38.564798000715349 ], [ -122.991730000057842, 38.564637000492205 ], [ -122.992080000263371, 38.564660000866716 ], [ -122.992720999767059, 38.564866000715448 ], [ -122.99304200048708, 38.564728000992567 ], [ -122.993186999698423, 38.56433900071336 ], [ -122.993419999484615, 38.56433900052393 ], [ -122.993682999535068, 38.56445300097996 ], [ -122.993771000518208, 38.564911000685242 ], [ -122.994003999950266, 38.565048001113787 ], [ -122.994440999803558, 38.564979000445831 ], [ -122.994558000020035, 38.564888000661959 ], [ -122.994791000431178, 38.564888000447382 ], [ -122.994994999903298, 38.564979001110565 ], [ -122.99514099999395, 38.565277000838684 ], [ -122.995461999835015, 38.56543700067504 ], [ -122.996347000346233, 38.565325000397337 ], [ -122.996745000417832, 38.565276001119649 ], [ -122.997327999691592, 38.565436001028793 ], [ -122.997796999523686, 38.565751001034521 ], [ -122.997941000535306, 38.565848001021863 ], [ -122.998389000132562, 38.565837000752737 ], [ -123.00001099996156, 38.565801000672209 ], [ -123.000155999936453, 38.565686000773248 ], [ -123.000213999750912, 38.565160000976661 ], [ -123.000446999621985, 38.564931001035553 ], [ -123.000702999633262, 38.564816000866649 ], [ -123.001109999797436, 38.564758000794299 ], [ -123.001502000366997, 38.564587000353285 ], [ -123.001743999786143, 38.564244000907529 ], [ -123.002443999738659, 38.563855000273008 ], [ -123.002706999699726, 38.563603000952583 ], [ -123.003056999926685, 38.56358100027397 ], [ -123.003813999695325, 38.564016000547177 ], [ -123.004046999878071, 38.564451000761423 ], [ -123.004397000351346, 38.564749000667454 ], [ -123.004805000362126, 38.56493200093994 ], [ -123.005183999672781, 38.564955000593201 ], [ -123.00553400032598, 38.564818000812004 ], [ -123.005913000030304, 38.564360000802743 ], [ -123.006758999770199, 38.564040000871628 ], [ -123.007576000389449, 38.563285000313961 ], [ -123.008247000392217, 38.562988000375128 ], [ -123.008975999948731, 38.562897000915299 ], [ -123.009686999839587, 38.563096001122901 ], [ -123.009791999502553, 38.563126000653945 ], [ -123.009946000055791, 38.563192000810787 ], [ -123.010053999402118, 38.563973000419665 ], [ -123.010985999847037, 38.564088000305176 ], [ -123.012006999620397, 38.564134001080895 ], [ -123.01218199959402, 38.563997001025783 ], [ -123.012532000341409, 38.563402000550106 ], [ -123.012502999596435, 38.562555000520838 ], [ -123.013408000439625, 38.56276200049868 ], [ -123.013525000085934, 38.562876000975606 ], [ -123.013699000191366, 38.563471001102123 ], [ -123.013961000235454, 38.563654000915896 ], [ -123.014689999833109, 38.563746000251754 ], [ -123.014893999459076, 38.564021000950532 ], [ -123.01541900019059, 38.564456000490317 ], [ -123.016030999877046, 38.56454800050571 ], [ -123.016146999572925, 38.564640000998622 ], [ -123.016789000304371, 38.564686000910761 ], [ -123.016934000127776, 38.564777000629462 ], [ -123.017167000438619, 38.565304001007341 ], [ -123.017313000394196, 38.565418000601071 ], [ -123.018507999466948, 38.565488000744885 ], [ -123.019236999978943, 38.565419000673366 ], [ -123.020723999568006, 38.564985000592301 ], [ -123.022911000269218, 38.564665000269756 ], [ -123.023727999413907, 38.564391000664628 ], [ -123.024222999999026, 38.564437000326812 ], [ -123.024486000394759, 38.564597001074162 ], [ -123.02451500012495, 38.564734000394573 ], [ -123.02477699951281, 38.564872000522016 ], [ -123.025243000178449, 38.56478000078657 ], [ -123.025506000116806, 38.564643000573014 ], [ -123.02603100011342, 38.564552000483403 ], [ -123.026468000475205, 38.564598000830415 ], [ -123.027021999598503, 38.564827000619786 ], [ -123.026905000335802, 38.565811000570008 ], [ -123.026583999846352, 38.566086000248134 ], [ -123.026526000417888, 38.566292000424866 ], [ -123.026787999474479, 38.56652100036753 ], [ -123.027107999393962, 38.566635000942895 ], [ -123.027865999900712, 38.566727000673517 ], [ -123.028508000150467, 38.566979000794035 ], [ -123.030256999580473, 38.566979000675623 ], [ -123.030723999517292, 38.56681900027619 ], [ -123.030927999566941, 38.566659001101954 ], [ -123.030956999990863, 38.565606001063408 ], [ -123.031307000224075, 38.565309000381625 ], [ -123.031656999616118, 38.565328000941939 ], [ -123.033028000521369, 38.565401000798111 ], [ -123.034194000289148, 38.565309001062253 ], [ -123.03533100036168, 38.565356000905432 ], [ -123.035884999602118, 38.565150000347622 ], [ -123.03617600024559, 38.565195000666527 ], [ -123.036526000076265, 38.56544700078981 ], [ -123.037080000348581, 38.56624900076465 ], [ -123.037283999723982, 38.566729000348488 ], [ -123.037545999730966, 38.567050000695133 ], [ -123.037924999777786, 38.566981000504562 ], [ -123.038129000383719, 38.566821000503744 ], [ -123.038333000102043, 38.566432000930675 ], [ -123.03868299943322, 38.566615000273444 ], [ -123.038829000246764, 38.566959000474334 ], [ -123.039324000251213, 38.567371000249537 ], [ -123.03955800051061, 38.567279000546648 ], [ -123.039529000338916, 38.566707000808414 ], [ -123.039733000426494, 38.566112000962313 ], [ -123.039966000524046, 38.566181000639702 ], [ -123.040170000383341, 38.566570000760095 ], [ -123.042589999872519, 38.568333000584424 ], [ -123.043232000382162, 38.568562000492911 ], [ -123.043697999773968, 38.56892800039919 ], [ -123.044252000340705, 38.569089000250464 ], [ -123.044806000080939, 38.568997000251805 ], [ -123.045709999938623, 38.569135000614246 ], [ -123.046234999763797, 38.569020001084183 ], [ -123.046468000208378, 38.568814000314703 ], [ -123.046700999400059, 38.568883000970928 ], [ -123.047079999684826, 38.569478000434451 ], [ -123.047312999470066, 38.569570000346836 ], [ -123.047809000475695, 38.570211000556625 ], [ -123.048217000263534, 38.570394000733536 ], [ -123.04817200003815, 38.570657000838523 ], [ -123.048159000224445, 38.570737000485501 ], [ -123.049383000270055, 38.57066900039441 ], [ -123.049603999508761, 38.570843000258918 ], [ -123.049703999976416, 38.570921001032644 ], [ -123.050025000336277, 38.57142400084021 ], [ -123.050548999575653, 38.571951000460736 ], [ -123.050549000335138, 38.572111000734047 ], [ -123.051015999853902, 38.572683000877738 ], [ -123.050987000335809, 38.573210001111391 ], [ -123.05119099942722, 38.573347001065073 ], [ -123.051715000383695, 38.573347000539229 ], [ -123.052561000107403, 38.573645000750616 ], [ -123.053319000249815, 38.574309000258545 ], [ -123.053464999899717, 38.574355000378482 ], [ -123.054689000156557, 38.575179000837508 ], [ -123.055272999716308, 38.575385000691902 ], [ -123.056384999974952, 38.576102000431135 ], [ -123.057225999535873, 38.576644000923388 ], [ -123.058013000299511, 38.577308000550879 ], [ -123.059209000479356, 38.578132000518046 ], [ -123.059559000485677, 38.578201000929219 ], [ -123.060812999738829, 38.578086000956638 ], [ -123.061104000002786, 38.578178000798324 ], [ -123.061862000411139, 38.577995000424458 ], [ -123.062678999458171, 38.577995001062391 ], [ -123.062912000399905, 38.578109000532663 ], [ -123.063115999550149, 38.578430000277471 ], [ -123.063349999794099, 38.578567000576435 ], [ -123.06338700011527, 38.578578000428195 ], [ -123.063904000253018, 38.578727000512451 ], [ -123.064486999570377, 38.579300000320991 ], [ -123.065187000474651, 38.579506001033103 ], [ -123.065362000347051, 38.579666000827928 ], [ -123.066469999762745, 38.582161000828343 ], [ -123.066440999880641, 38.582756000453891 ], [ -123.066206999644692, 38.583283000748565 ], [ -123.06591600032408, 38.584793001089466 ], [ -123.065041000102909, 38.586418000348409 ], [ -123.064719999553446, 38.586601001035888 ], [ -123.063990999421023, 38.587631000619481 ], [ -123.063611999578143, 38.587791000680681 ], [ -123.062825000279432, 38.588272001118341 ], [ -123.062259000205955, 38.588434000343888 ], [ -123.06186199947858, 38.588547000444336 ], [ -123.061600000437025, 38.589210000373804 ], [ -123.061456000482622, 38.58939200114181 ], [ -123.061366000477321, 38.58950800024612 ], [ -123.061074999934235, 38.589691000347152 ], [ -123.059762000339717, 38.589805000325256 ], [ -123.059355000096105, 38.589722000629834 ], [ -123.058858000387687, 38.589622000433792 ], [ -123.058654000363831, 38.589485000723641 ], [ -123.057167000002266, 38.588981000973256 ], [ -123.056292000024371, 38.588890001131759 ], [ -123.055212999950442, 38.588523000660736 ], [ -123.05484300012958, 38.588463000643934 ], [ -123.053565000497059, 38.588257000684855 ], [ -123.053083999514755, 38.58818000056808 ], [ -123.05101299957164, 38.587287001135145 ], [ -123.050255000239574, 38.587241001095599 ], [ -123.049613000192281, 38.587447000808922 ], [ -123.048768000003477, 38.58742400046259 ], [ -123.046376000419329, 38.586645000734094 ], [ -123.045617999678342, 38.586233000700496 ], [ -123.044917999538342, 38.586119001121503 ], [ -123.043707000489462, 38.586263000886532 ], [ -123.043576999729382, 38.586279000594082 ], [ -123.043167999641497, 38.58641600112481 ], [ -123.042788999524021, 38.586782000297184 ], [ -123.042555999740244, 38.587148001100381 ], [ -123.042176999794222, 38.58737700060643 ], [ -123.041621999675584, 38.587514000468659 ], [ -123.04101000024356, 38.587881001071864 ], [ -123.040717999626239, 38.58827000029283 ], [ -123.040542999393423, 38.588911000293706 ], [ -123.040308999823267, 38.589300000850841 ], [ -123.03989999958678, 38.589620000914067 ], [ -123.039462999934827, 38.589826000980523 ], [ -123.039170999713349, 38.590123000914254 ], [ -123.038703999950584, 38.59106200105947 ], [ -123.038470999929743, 38.591176001137832 ], [ -123.037507999972092, 38.590993000846176 ], [ -123.036866999685415, 38.591016000343288 ], [ -123.036467000465365, 38.591251000626812 ], [ -123.03616599985908, 38.591428000268564 ], [ -123.035903999688017, 38.591496000690029 ], [ -123.035786999606643, 38.591428000515506 ], [ -123.035174999459016, 38.591473000865783 ], [ -123.034561999803699, 38.591679001089879 ], [ -123.034065999553505, 38.59206800027826 ], [ -123.033540999551178, 38.592274001029942 ], [ -123.030712000041746, 38.592411000984981 ], [ -123.029340999548765, 38.592822001033959 ], [ -123.027970000163677, 38.592776000681269 ], [ -123.027007999455719, 38.593165001025682 ], [ -123.023944999455949, 38.593393000536473 ], [ -123.022282000219818, 38.5936210005612 ], [ -123.020853000174895, 38.594216000845883 ], [ -123.019831999849529, 38.594856000350575 ], [ -123.018898000091042, 38.595085000697487 ], [ -123.017993999409626, 38.594878000934635 ], [ -123.017614999684739, 38.594649000997848 ], [ -123.017148999406928, 38.594031000371949 ], [ -123.016711999707141, 38.59364200086263 ], [ -123.016623999623846, 38.593459000692327 ], [ -123.016683999920687, 38.593272000653698 ], [ -123.016740999885471, 38.593092000617453 ], [ -123.015458000263848, 38.592337000528495 ], [ -123.014846000070165, 38.592336001025103 ], [ -123.014378999933299, 38.592199000515969 ], [ -123.013650999729308, 38.591443000786825 ], [ -123.013504999512534, 38.591008000887072 ], [ -123.013629000527672, 38.59081400072769 ], [ -123.013710000098129, 38.590688000942123 ], [ -123.013710000401744, 38.590436000457061 ], [ -123.012893999824101, 38.589726000566678 ], [ -123.01245599969161, 38.589543000928458 ], [ -123.011903999501826, 38.589453000635864 ], [ -123.010181999829285, 38.589175000757564 ], [ -123.009655999611567, 38.58924400059616 ], [ -123.009397999723333, 38.589336000695162 ], [ -123.009275999632607, 38.589381000996958 ], [ -123.0081969997334, 38.590319000953336 ], [ -123.005833999482121, 38.590867000416594 ], [ -123.004405000235735, 38.590981000610881 ], [ -123.002771000350521, 38.590889000436846 ], [ -123.00207200032915, 38.590751000777331 ], [ -123.001109999681816, 38.590338000639306 ], [ -123.000940000093792, 38.590277000863274 ], [ -123.000715000300403, 38.590172001043669 ], [ -123.000472000513199, 38.59013400051191 ], [ -123.000314000424211, 38.590172001004049 ], [ -123.000242999838406, 38.59026100089239 ], [ -123.000273999882978, 38.590446000772957 ], [ -123.000405999875667, 38.590672000382575 ], [ -123.000733999990061, 38.590922000402223 ], [ -123.001110000193378, 38.591117000676711 ], [ -123.002683000359028, 38.591827000966177 ], [ -123.003383000397136, 38.592033000484022 ], [ -123.00399500028702, 38.592057000845905 ], [ -123.004111999619383, 38.592217001036154 ], [ -123.004053000013641, 38.59283500103237 ], [ -123.003528000295447, 38.593201001122196 ], [ -123.003089999750046, 38.593750000258908 ], [ -123.002273000408906, 38.594162000980518 ], [ -123.002155999785842, 38.594619000930372 ], [ -123.001109999582354, 38.595328000895059 ], [ -123.00068699993443, 38.595443000650477 ], [ -123.00018200042247, 38.595833000578985 ], [ -122.999279000461996, 38.596794001067664 ], [ -122.998519999954411, 38.596886000846887 ], [ -122.998025000483636, 38.597230000659337 ], [ -122.998404000058429, 38.597550001120517 ], [ -122.998919999862508, 38.598289001020895 ], [ -122.999251000320797, 38.598763000313994 ], [ -123.001110000300855, 38.600296000454819 ], [ -123.001443000491747, 38.60041000101419 ], [ -123.002034000499108, 38.60066300073067 ], [ -123.003229000305254, 38.601831000483521 ], [ -123.003409000126382, 38.602190000831889 ], [ -123.00360800005727, 38.602586000750136 ], [ -123.00407400031969, 38.60299900050731 ], [ -123.005793999399344, 38.604190000454551 ], [ -123.006348000312954, 38.604442000445218 ], [ -123.006517000274087, 38.604497001115654 ], [ -123.006664999906448, 38.604545000439622 ], [ -123.007048000091544, 38.604671000469587 ], [ -123.007688999892878, 38.605450000588171 ], [ -123.008068000349994, 38.605747000500052 ], [ -123.008331999801129, 38.60581600105138 ], [ -123.008914999926148, 38.606114000950001 ], [ -123.009963999846136, 38.607053001009291 ], [ -123.01115999949711, 38.60778600104625 ], [ -123.01171400024522, 38.608359000530172 ], [ -123.012646999881497, 38.608657001119056 ], [ -123.013260000246021, 38.60863400052348 ], [ -123.013929999777943, 38.608817000701606 ], [ -123.015300999610673, 38.608887001113352 ], [ -123.015797000495326, 38.609093000927331 ], [ -123.017168000100639, 38.609277000601843 ], [ -123.017723000106272, 38.609231001017811 ], [ -123.017955999469734, 38.609048001047427 ], [ -123.018073000013203, 38.608819000797752 ], [ -123.018365000284476, 38.608659001116919 ], [ -123.018830999712847, 38.608819001135664 ], [ -123.019006000068671, 38.609140000555662 ], [ -123.018912999567078, 38.609359000880254 ], [ -123.01887600033082, 38.609597001032171 ], [ -123.018874999823325, 38.609807000607432 ], [ -123.019143999892222, 38.609992000395408 ], [ -123.019448999733441, 38.61011300055393 ], [ -123.019600999825613, 38.61026000081452 ], [ -123.019565000348095, 38.610324000765928 ], [ -123.019448000006122, 38.610341000603732 ], [ -123.019143000221703, 38.610293000927605 ], [ -123.01904899954792, 38.610265000787379 ], [ -123.018883999785984, 38.610319001059139 ], [ -123.018801999489611, 38.610410000811243 ], [ -123.018801000275971, 38.610529000293567 ], [ -123.018977000287322, 38.610640001026795 ], [ -123.019211000105557, 38.610788000497173 ], [ -123.019361999790334, 38.611017001028614 ], [ -123.0195370000867, 38.611339000761475 ], [ -123.019711999472136, 38.611568000414891 ], [ -123.020051000506143, 38.611808000644736 ], [ -123.020321000176111, 38.611847001078779 ], [ -123.020659999944783, 38.61212300049884 ], [ -123.020871000297944, 38.612235000605807 ], [ -123.021164000335034, 38.612383000911919 ], [ -123.021328000416574, 38.612558000453554 ], [ -123.021362000463398, 38.612787000674707 ], [ -123.021442999420742, 38.61296100041934 ], [ -123.021513000082905, 38.613025000393463 ], [ -123.02159499994309, 38.613026000937026 ], [ -123.021666000214708, 38.612972000791224 ], [ -123.021679000364287, 38.612816000527026 ], [ -123.021633000472661, 38.612551000753896 ], [ -123.02166899977415, 38.612359000668356 ], [ -123.021893000275725, 38.612196000266231 ], [ -123.022479000521727, 38.612410000639578 ], [ -123.022829999717231, 38.612760000326588 ], [ -123.023133000018149, 38.613137001046979 ], [ -123.023624999546982, 38.613488000412431 ], [ -123.023940999707335, 38.613673000282901 ], [ -123.024304000516807, 38.61378500082207 ], [ -123.024398000346423, 38.613913000577917 ], [ -123.024243999957775, 38.614086000822553 ], [ -123.023890000078055, 38.614367000560094 ], [ -123.023724999583962, 38.614513000739336 ], [ -123.02375999940746, 38.614714000746716 ], [ -123.02382799983782, 38.614800000603026 ], [ -123.023875999999177, 38.614861000838218 ], [ -123.023888000522405, 38.614953000512749 ], [ -123.023839999844029, 38.615144000610471 ], [ -123.023650999545708, 38.615317000855697 ], [ -123.023496999853094, 38.615535000355912 ], [ -123.023424999458612, 38.615855000350145 ], [ -123.023470999440164, 38.616157000535345 ], [ -123.023622999823345, 38.61630400082425 ], [ -123.023915999553935, 38.616443001108792 ], [ -123.024043999861831, 38.616600000900043 ], [ -123.024266000100482, 38.616866000449811 ], [ -123.024570000012829, 38.617198000311937 ], [ -123.025060999403422, 38.617503001121499 ], [ -123.025518999792851, 38.617652000317392 ], [ -123.025988000035312, 38.617783001117168 ], [ -123.026374999690091, 38.61785900060292 ], [ -123.026820999394303, 38.617926000386859 ], [ -123.026890999495791, 38.617972001129573 ], [ -123.027207000007024, 38.618111000460871 ], [ -123.027419000447921, 38.618140000989527 ], [ -123.027677000315109, 38.61824300088189 ], [ -123.027841000500459, 38.61832200035979 ], [ -123.028102999854497, 38.618895001123931 ], [ -123.028657000495244, 38.619353000753172 ], [ -123.029094999765036, 38.619788001104183 ], [ -123.029473999416567, 38.620017000705353 ], [ -123.029590999579113, 38.620406000593924 ], [ -123.02996999984822, 38.620658000648582 ], [ -123.031108000508766, 38.620841000262608 ], [ -123.031179999678443, 38.620888000913574 ], [ -123.031457999466781, 38.621070001100904 ], [ -123.031486999558496, 38.621551000333291 ], [ -123.031952999405206, 38.622077001086765 ], [ -123.032157000069645, 38.622467000939317 ], [ -123.032420000274954, 38.622719000456236 ], [ -123.034198999894016, 38.623085000615518 ], [ -123.03583299998526, 38.62354300035561 ], [ -123.037147000341633, 38.62365800107046 ], [ -123.038308999884777, 38.623475000354027 ], [ -123.038459999422301, 38.62345200101452 ], [ -123.038576999459792, 38.623521000261114 ], [ -123.038547999974597, 38.623659000628322 ], [ -123.037847000198894, 38.624093001109301 ], [ -123.036707999405124, 38.624345000724375 ], [ -123.036503999646953, 38.624911000699001 ], [ -123.036532999436417, 38.625460000626575 ], [ -123.036678999647108, 38.625620000625311 ], [ -123.037204999944805, 38.625712000522377 ], [ -123.037379999743877, 38.62582600070504 ], [ -123.037292000099313, 38.62630700027259 ], [ -123.037467000146194, 38.62646700083215 ], [ -123.037875999543459, 38.626376000911606 ], [ -123.038255000396887, 38.625964000639478 ], [ -123.038488000369327, 38.625987001091332 ], [ -123.038634000248791, 38.626147000437705 ], [ -123.038458999838937, 38.626650000645121 ], [ -123.038604999407994, 38.627062000714865 ], [ -123.038983999682998, 38.62745200074508 ], [ -123.039013000427872, 38.628161000360024 ], [ -123.039391999777308, 38.628436000440935 ], [ -123.039800999881052, 38.628345001029771 ], [ -123.040092999435274, 38.628184000505101 ], [ -123.04038399957696, 38.628345000423572 ], [ -123.040529999820606, 38.628757000672152 ], [ -123.041113999490022, 38.629100000977679 ], [ -123.041347000159448, 38.629329000335552 ], [ -123.041551000243174, 38.629421000252563 ], [ -123.041785000102351, 38.629764001080403 ], [ -123.042630999635847, 38.630428000313373 ], [ -123.043273000194574, 38.630726000874468 ], [ -123.043618999782467, 38.630825000897367 ], [ -123.043915000252952, 38.630909000295091 ], [ -123.044148000119151, 38.631092000729424 ], [ -123.044234999921969, 38.631459001125663 ], [ -123.044117999856084, 38.632031000719444 ], [ -123.043796999889992, 38.63248900103158 ], [ -123.044993999795864, 38.633404000641193 ], [ -123.045051999709514, 38.633656000366777 ], [ -123.045285000056396, 38.634000000955908 ], [ -123.045635000106557, 38.634229000303826 ], [ -123.046014999576371, 38.634320000754897 ], [ -123.046160999459659, 38.634458000482496 ], [ -123.046393999666066, 38.63500700109892 ], [ -123.046657000214239, 38.635236000272577 ], [ -123.047328000483745, 38.635511000778443 ], [ -123.047970000443712, 38.636266000371805 ], [ -123.048056999718639, 38.637411000981473 ], [ -123.048465000019689, 38.63766300054273 ], [ -123.049428000281623, 38.637777000340442 ], [ -123.050886999431242, 38.638624000529902 ], [ -123.051820999551524, 38.638991000929977 ], [ -123.052054999394713, 38.639174001131842 ], [ -123.052055000172629, 38.639380000877765 ], [ -123.05202200038606, 38.639422000261817 ], [ -123.051820999432749, 38.639677000463955 ], [ -123.051733999449723, 38.640410000398823 ], [ -123.051178999852453, 38.641142000949749 ], [ -123.050916000534798, 38.641966000821292 ], [ -123.050915999998153, 38.642355000816679 ], [ -123.051470000179961, 38.643340000657851 ], [ -123.051295000177404, 38.643615001089771 ], [ -123.050915999502294, 38.643798001132922 ], [ -123.050565000461887, 38.644347001034703 ], [ -123.05050699948363, 38.64466700103425 ], [ -123.050069000220759, 38.645217000268424 ], [ -123.049922999954518, 38.645606000260244 ], [ -123.050011000111695, 38.646293000507356 ], [ -123.050097999881842, 38.646338000271712 ], [ -123.050068999672888, 38.647140000853369 ], [ -123.050127000267523, 38.647368000570275 ], [ -123.050652000400504, 38.647552001141761 ], [ -123.0506520005315, 38.64773500041855 ], [ -123.051003000126002, 38.648009000765875 ], [ -123.052082999895518, 38.648010001078113 ], [ -123.052461999556982, 38.647804000812556 ], [ -123.053017000077702, 38.646842000434752 ], [ -123.053133999778822, 38.646087000391908 ], [ -123.053892000001326, 38.646133000985245 ], [ -123.054183999453514, 38.645950001060172 ], [ -123.05427199976728, 38.645789000451664 ], [ -123.054476000159454, 38.645675000572332 ], [ -123.055234999980712, 38.645652000467457 ], [ -123.055877000408017, 38.645721000740714 ], [ -123.056607000491127, 38.646041000452989 ], [ -123.057453000153771, 38.646202000246433 ], [ -123.057919999891169, 38.646431000347476 ], [ -123.058592000181804, 38.646545000628613 ], [ -123.059409000288042, 38.646957000288516 ], [ -123.059818000401336, 38.646980001126281 ], [ -123.060703999772571, 38.646810001119327 ], [ -123.060896999448403, 38.646774000999116 ], [ -123.060985000241658, 38.646866000926856 ], [ -123.061423000244531, 38.64704900087375 ], [ -123.062298000518467, 38.647049000501461 ], [ -123.062649000274106, 38.647255000869031 ], [ -123.063174000311889, 38.647690000586643 ], [ -123.063611999876429, 38.648010001135049 ], [ -123.063932999924432, 38.648537000674679 ], [ -123.064311999875784, 38.648766000686507 ], [ -123.065391999519335, 38.649155000790039 ], [ -123.065391999642401, 38.64947500068574 ], [ -123.065684999969761, 38.649727000257151 ], [ -123.066298000427793, 38.649979001110367 ], [ -123.066532000474211, 38.650208000253947 ], [ -123.066531999388374, 38.6505970005772 ], [ -123.066385999717994, 38.650826001004106 ], [ -123.066415000354311, 38.651100000247531 ], [ -123.066678000129713, 38.651398001086648 ], [ -123.066706999981633, 38.652474001129079 ], [ -123.066707000377605, 38.652726000700639 ], [ -123.067145000325851, 38.65297700079077 ], [ -123.067786999605715, 38.65320600032161 ], [ -123.068050000441062, 38.653412000966355 ], [ -123.068167000439587, 38.653687001016628 ], [ -123.068954999392275, 38.654007001133557 ], [ -123.069888999973102, 38.654145001070468 ], [ -123.070327000128898, 38.654396000894295 ], [ -123.070939999535796, 38.65508300094055 ], [ -123.071086000135821, 38.655083000626938 ], [ -123.071289999573764, 38.655678000891726 ], [ -123.071640999862268, 38.656136000406633 ], [ -123.071669999482751, 38.656434000351375 ], [ -123.071933000483895, 38.656731000484974 ], [ -123.072517000260945, 38.656983000668426 ], [ -123.072807999399217, 38.657441000410877 ], [ -123.072838000470298, 38.657624000509955 ], [ -123.073187999485597, 38.657899000516608 ], [ -123.073450999558503, 38.657944000535302 ], [ -123.073713999501322, 38.658196000245603 ], [ -123.074243999400423, 38.65845000025724 ], [ -123.074384999502144, 38.658517000551527 ], [ -123.074589000181049, 38.658745001077335 ], [ -123.074647999897849, 38.659226000637759 ], [ -123.074852000425963, 38.65952400047194 ], [ -123.074851999866823, 38.660027000459863 ], [ -123.075232000494879, 38.660371000629752 ], [ -123.075261000255324, 38.660874000813514 ], [ -123.075698999625203, 38.661240000634862 ], [ -123.075670000410724, 38.661515000674335 ], [ -123.075290999430123, 38.661858000331961 ], [ -123.075320000338465, 38.662202001105484 ], [ -123.075406999460441, 38.662248000256497 ], [ -123.075436999975352, 38.662431000436648 ], [ -123.075933000391004, 38.662888000743685 ], [ -123.076663000328423, 38.663255000979404 ], [ -123.07753900040295, 38.664398000831461 ], [ -123.077596999458791, 38.66469600037501 ], [ -123.077976999972876, 38.665359000839494 ], [ -123.078122999525675, 38.665817000340482 ], [ -123.078561000188586, 38.666138000952209 ], [ -123.078590000489584, 38.666618000607301 ], [ -123.078998999994596, 38.66691600089419 ], [ -123.079115999881836, 38.667442000553592 ], [ -123.079321000307388, 38.667580001060145 ], [ -123.079845999877691, 38.667671000784637 ], [ -123.079962999845364, 38.667808000402552 ], [ -123.079963000513729, 38.668037001005743 ], [ -123.080080000273952, 38.668106000541577 ], [ -123.08072199966432, 38.668175001101851 ], [ -123.081568999538845, 38.668518000894714 ], [ -123.082095000397558, 38.66927300041511 ], [ -123.082212000296479, 38.669616000899524 ], [ -123.082708000390141, 38.670166000465784 ], [ -123.083846999762656, 38.670944000281544 ], [ -123.083818000292624, 38.671150000735828 ], [ -123.083380000248496, 38.671333000488069 ], [ -123.083146000514034, 38.671562000805309 ], [ -123.08235800041713, 38.671127000523271 ], [ -123.081511000014046, 38.671036000867566 ], [ -123.080869000271775, 38.671127000417222 ], [ -123.079700999774175, 38.671791000492938 ], [ -123.078445999595431, 38.672295001052504 ], [ -123.078094999621356, 38.672570000402914 ], [ -123.077949000430635, 38.672868001103168 ], [ -123.076752000423966, 38.673646000823403 ], [ -123.076577000205006, 38.673966000514696 ], [ -123.076524999908841, 38.674682000634931 ], [ -123.076518999742689, 38.674768001123105 ], [ -123.076402000005444, 38.675157000575112 ], [ -123.075935000042378, 38.675454000289768 ], [ -123.074621000237073, 38.675271000494909 ], [ -123.073715999552746, 38.675294000388725 ], [ -123.072401999506056, 38.6759810011159 ], [ -123.071117000080022, 38.675958000907563 ], [ -123.070621000474887, 38.676233000863277 ], [ -123.069716000475907, 38.676920000313075 ], [ -123.069452999387934, 38.676897000820489 ], [ -123.069132000158504, 38.676760000811356 ], [ -123.068372999439291, 38.676760000886254 ], [ -123.06796400004221, 38.676966000659291 ], [ -123.067612999904441, 38.677447000989837 ], [ -123.067379999730932, 38.677950000537194 ], [ -123.067205000378578, 38.678087000297147 ], [ -123.066825000043806, 38.678133000950289 ], [ -123.066561999677546, 38.678019000470677 ], [ -123.06618299963462, 38.677607000712683 ], [ -123.066183000128419, 38.676851000680976 ], [ -123.066036999410002, 38.676645000983818 ], [ -123.06562800048097, 38.676279001062397 ], [ -123.064663999900205, 38.675821000291499 ], [ -123.064108999664782, 38.675753000441894 ], [ -123.063730000016633, 38.675867000291127 ], [ -123.063555000360722, 38.676050001071765 ], [ -123.063320999418096, 38.676783001009163 ], [ -123.063056999790248, 38.677080000477311 ], [ -123.062239999714748, 38.677401000606082 ], [ -123.060399999704956, 38.677881000344208 ], [ -123.058911000329076, 38.677813000264564 ], [ -123.057888999552517, 38.677218000873914 ], [ -123.05683799987122, 38.67623300045485 ], [ -123.056808000226283, 38.676096000554317 ], [ -123.056194999565207, 38.675501000389808 ], [ -123.056078999806445, 38.67527200075714 ], [ -123.055524000232808, 38.67486000093114 ], [ -123.05552400043743, 38.674768000661011 ], [ -123.055318999719475, 38.674585001143832 ], [ -123.054765000220513, 38.674379001107695 ], [ -123.054034999620853, 38.673967000258727 ], [ -123.052282999931222, 38.673349000684176 ], [ -123.050939999437688, 38.673028000496565 ], [ -123.049716999512597, 38.673058000940223 ], [ -123.048137000520413, 38.673096000717884 ], [ -123.047670000119567, 38.672959000796268 ], [ -123.047348999741772, 38.67257000075 ], [ -123.046736000535603, 38.671929000930874 ], [ -123.04650199981694, 38.671814000976006 ], [ -123.045392000525581, 38.671677000674791 ], [ -123.044050000216501, 38.671058000329083 ], [ -123.042648000354987, 38.671127001095542 ], [ -123.042501999737013, 38.671081000902994 ], [ -123.041625999717738, 38.670348000564196 ], [ -123.040224999870802, 38.67023400040209 ], [ -123.0396410000521, 38.669822000580794 ], [ -123.039640999900186, 38.669730001127824 ], [ -123.039173999759058, 38.669203001129972 ], [ -123.038589999907074, 38.668929001044887 ], [ -123.037831000291035, 38.668287000991903 ], [ -123.037394000114304, 38.668058000297101 ], [ -123.036605000198122, 38.66810400043645 ], [ -123.035612000300361, 38.668562000928851 ], [ -123.034122999706526, 38.668905000365889 ], [ -123.03339299992048, 38.669385001140569 ], [ -123.033043000474521, 38.669500000958003 ], [ -123.032955000413892, 38.669683000951451 ], [ -123.032545999486686, 38.669889000602041 ], [ -123.032195000522336, 38.669888000996771 ], [ -123.03102699944381, 38.669293000761357 ], [ -123.029479999641424, 38.668652000936937 ], [ -123.02883800042234, 38.668125000832262 ], [ -123.027668999695322, 38.666575000667862 ], [ -123.02752499963168, 38.666385000375918 ], [ -123.027029000500448, 38.666110000671289 ], [ -123.026474000299615, 38.666179000845311 ], [ -123.026181999912552, 38.666384001074405 ], [ -123.025976999689249, 38.666728001130664 ], [ -123.025976999529462, 38.66743700025178 ], [ -123.026794000404536, 38.668628000501805 ], [ -123.026793999399388, 38.669017000546376 ], [ -123.026297000115434, 38.669406000709742 ], [ -123.025921999921749, 38.669553000401585 ], [ -123.025420999494713, 38.66974900043521 ], [ -123.024924000308417, 38.670665000585686 ], [ -123.024486000296207, 38.670939000664653 ], [ -123.023697999443428, 38.670939000759638 ], [ -123.021945000008301, 38.672220000927936 ], [ -123.021769999762839, 38.67263200107422 ], [ -123.021857000424617, 38.673136000331311 ], [ -123.022178000446061, 38.673456000708597 ], [ -123.0224700004635, 38.673548000247614 ], [ -123.023171000440314, 38.673411000325181 ], [ -123.025243999854254, 38.672587000561407 ], [ -123.026004000089188, 38.672656001017302 ], [ -123.026148999429836, 38.672817000774963 ], [ -123.02611999970047, 38.673046000496349 ], [ -123.025301999739355, 38.674304001018655 ], [ -123.024893000382619, 38.675311001036498 ], [ -123.024541999567674, 38.675769001113821 ], [ -123.02448299983962, 38.676730001058573 ], [ -123.0243370000901, 38.677005000407689 ], [ -123.023869999777602, 38.677234000509308 ], [ -123.022992999828062, 38.677508000555299 ], [ -123.022643000346051, 38.677783000731701 ], [ -123.02238000008758, 38.67837800050922 ], [ -123.021445000521837, 38.679522000719459 ], [ -123.021123000264339, 38.679682000779138 ], [ -123.019370999847723, 38.679544000972378 ], [ -123.018407999728169, 38.679315000399882 ], [ -123.018028000493459, 38.679406000904706 ], [ -123.017619000357243, 38.679795000382306 ], [ -123.017121999900695, 38.680734001012674 ], [ -123.016770999717764, 38.681077000557522 ], [ -123.0159530003355, 38.681420000577901 ], [ -123.015603000166308, 38.681946000967635 ], [ -123.015368000279167, 38.683777000744051 ], [ -123.015396000161772, 38.684647000647686 ], [ -123.015198999540374, 38.685104000838855 ], [ -123.01466499969635, 38.68634100039715 ], [ -123.014490000152009, 38.686501000434916 ], [ -123.01396399986217, 38.686661000287039 ], [ -123.012707999867075, 38.686752000899034 ], [ -123.011715000165992, 38.686912000789562 ], [ -123.010985000150569, 38.68686600039743 ], [ -123.010721999859172, 38.686774000383004 ], [ -123.010226000015223, 38.686385000876797 ], [ -123.0098760001285, 38.685972001081602 ], [ -123.009233999722454, 38.685629000594844 ], [ -123.008532999853784, 38.685697000438282 ], [ -123.007772999678508, 38.685994000864255 ], [ -123.007481000261691, 38.686246000945502 ], [ -123.006807999567556, 38.687665000667572 ], [ -123.006779000102199, 38.688260000976577 ], [ -123.006954000044857, 38.688512000480408 ], [ -123.00762499955033, 38.688947000668925 ], [ -123.009493999845674, 38.689749000353132 ], [ -123.009872999549017, 38.690116000362273 ], [ -123.009988999431584, 38.691100000982473 ], [ -123.010221999633032, 38.691878000459546 ], [ -123.010980999543676, 38.692497000453407 ], [ -123.012703999748524, 38.693436000377567 ], [ -123.013112000426148, 38.693848000597036 ], [ -123.013228999605616, 38.694215000528651 ], [ -123.013198999515907, 38.694878000630183 ], [ -123.013081999871787, 38.695107000749275 ], [ -123.013051999750047, 38.696893000523623 ], [ -123.012904999958039, 38.697213000641497 ], [ -123.012904999464055, 38.697991000510285 ], [ -123.013195999495309, 38.698953000943014 ], [ -123.01334099983977, 38.700647000590948 ], [ -123.013106999974539, 38.701311000815679 ], [ -123.012958999754417, 38.703439000348361 ], [ -123.013338999604088, 38.704149000363124 ], [ -123.013308999705131, 38.704836000527543 ], [ -123.013192000167123, 38.705202000657685 ], [ -123.012986999600997, 38.705362000411618 ], [ -123.012110999393315, 38.705636000361942 ], [ -123.011350999693548, 38.705613000958579 ], [ -123.010971999806245, 38.705521000391975 ], [ -123.010553999491151, 38.705534000556355 ], [ -123.010240999768953, 38.70554400085954 ], [ -123.009773999425391, 38.70565800060529 ], [ -123.008136999889061, 38.70648200024786 ], [ -123.008078999843235, 38.706573001034016 ], [ -123.007553000535097, 38.706756000289396 ], [ -123.007202000073136, 38.706985000830741 ], [ -123.006821999913811, 38.707534000563548 ], [ -123.006645999667896, 38.708129000988166 ], [ -123.00655699944484, 38.709823000530143 ], [ -123.006089000512773, 38.710738000757729 ], [ -123.005474999637471, 38.7118370007843 ], [ -123.00538600004171, 38.713233000638709 ], [ -123.004333999824638, 38.71323200079771 ], [ -123.003720999725488, 38.712866000395863 ], [ -123.003400000409883, 38.712408000660695 ], [ -123.003516999806109, 38.711790001114835 ], [ -123.003722000398398, 38.711424001098869 ], [ -123.004190000267045, 38.711035000656928 ], [ -123.004599000536217, 38.710829000667914 ], [ -123.005067000297842, 38.71046300111162 ], [ -123.005271000521361, 38.710166000835535 ], [ -123.005272000136884, 38.709181000433567 ], [ -123.005038999612793, 38.708746000843696 ], [ -123.004746999700444, 38.708517000490303 ], [ -123.004075000242523, 38.708334000517908 ], [ -123.003665999864097, 38.708334000538294 ], [ -123.003082000452892, 38.708471000481801 ], [ -123.002526999861104, 38.708745000695629 ], [ -123.002176000309134, 38.709019000952303 ], [ -123.001766000312216, 38.709546000316095 ], [ -123.001707000209876, 38.710347000250842 ], [ -123.001557000410813, 38.710805000300788 ], [ -123.001277999651336, 38.710998000489283 ], [ -123.001110999876616, 38.711113000928947 ], [ -122.999990000204519, 38.711927000971009 ], [ -122.999522999951665, 38.712156000721507 ], [ -122.998851000339698, 38.712339000524253 ], [ -122.997264999883924, 38.712432000314351 ], [ -122.996893000198199, 38.712455000855854 ], [ -122.995577999593024, 38.712707000596353 ], [ -122.995053000189245, 38.713005000740758 ], [ -122.994819000396433, 38.713348000480728 ], [ -122.99470299970001, 38.713692000941222 ], [ -122.994761999446752, 38.714241000640904 ], [ -122.994790999428361, 38.714284000835832 ], [ -122.994893999471969, 38.715058000834283 ], [ -122.995402999713676, 38.715910000890553 ], [ -122.996701999896359, 38.716406000851542 ], [ -122.998254000507487, 38.716750001054429 ], [ -122.999288999989972, 38.717274000953068 ], [ -122.999875000435296, 38.717768000774882 ], [ -123.000307999428856, 38.718408000883969 ], [ -122.999704000178326, 38.71932000059833 ], [ -122.998856000154277, 38.719923000451296 ], [ -122.998769999780876, 38.719985000697235 ], [ -122.998669000058484, 38.720177000290683 ], [ -122.998566000421576, 38.720374000408263 ], [ -122.998068999996363, 38.720466000927118 ], [ -122.996404000478933, 38.720534000586149 ], [ -122.994270000359222, 38.720421000456803 ], [ -122.993159999536076, 38.72043600039153 ], [ -122.992457999654349, 38.720445000547457 ], [ -122.991289999716955, 38.720354000324981 ], [ -122.987753999961512, 38.719829000790298 ], [ -122.985796000238565, 38.719372000470614 ], [ -122.984714000042331, 38.71847900089373 ], [ -122.98467600008847, 38.718408001015746 ], [ -122.98386599956936, 38.716900000823131 ], [ -122.982813999563191, 38.715916000721982 ], [ -122.982754999818368, 38.715756001100011 ], [ -122.982520999722411, 38.715619000556153 ], [ -122.982371000282356, 38.715462000638624 ], [ -122.981907000353289, 38.714978000725381 ], [ -122.980154000440962, 38.713674000973946 ], [ -122.979189000369132, 38.713102001112446 ], [ -122.976724000512604, 38.712551000950029 ], [ -122.976589000001482, 38.712233000672725 ], [ -122.976150000515986, 38.711753001017833 ], [ -122.975858000389522, 38.711157000440139 ], [ -122.975857999693304, 38.710906000966609 ], [ -122.976120000476158, 38.710310000478074 ], [ -122.976120000384554, 38.709235001050388 ], [ -122.975914999681606, 38.708868000917818 ], [ -122.975651999919819, 38.708571001077111 ], [ -122.975534999847525, 38.70827300031695 ], [ -122.975066999574693, 38.707907000401519 ], [ -122.97413200053083, 38.707541000749941 ], [ -122.97252600039171, 38.707954000720321 ], [ -122.972029000129325, 38.707977000883879 ], [ -122.97033400048727, 38.707359000248275 ], [ -122.968406000079383, 38.70703900041967 ], [ -122.967120000471056, 38.706650000743686 ], [ -122.966389999638523, 38.706307001029515 ], [ -122.965980999684632, 38.705964000448581 ], [ -122.965833999431396, 38.705300000600523 ], [ -122.965687999930651, 38.705048001076143 ], [ -122.96466499992151, 38.704248000680614 ], [ -122.964372999436762, 38.70390400050406 ], [ -122.964343999462784, 38.70374400040555 ], [ -122.963789000394982, 38.703149000459163 ], [ -122.963320999741342, 38.702417000460507 ], [ -122.962911999781554, 38.702005000753708 ], [ -122.962414999794277, 38.701707000579184 ], [ -122.962210999567517, 38.701455000434869 ], [ -122.962094000512977, 38.701433000765384 ], [ -122.961625999662303, 38.700746000603338 ], [ -122.961596999829084, 38.700563000672325 ], [ -122.96136300001308, 38.700242000954965 ], [ -122.960399000017588, 38.699304000272136 ], [ -122.959317999684913, 38.698801001117715 ], [ -122.958597000370119, 38.698257000794335 ], [ -122.958528999542352, 38.698206000417422 ], [ -122.956513000500252, 38.696192001129695 ], [ -122.955315999416271, 38.695368000436076 ], [ -122.955316000307107, 38.695276000486494 ], [ -122.954993999598074, 38.69493300036914 ], [ -122.954819000424294, 38.694910000489259 ], [ -122.954818999879677, 38.69475000087634 ], [ -122.954497999934446, 38.694590000263531 ], [ -122.953972000231815, 38.693926001071688 ], [ -122.953971999982542, 38.69353700090457 ], [ -122.954381000303073, 38.69275800093061 ], [ -122.955168999387723, 38.691545001143375 ], [ -122.956015999871084, 38.691041000697638 ], [ -122.956395000072035, 38.690400001020244 ], [ -122.956482999460036, 38.689760000578154 ], [ -122.956278000371597, 38.689074000747681 ], [ -122.955576999809296, 38.688502000330544 ], [ -122.954671999810202, 38.688181001028937 ], [ -122.953474000287585, 38.687266000962154 ], [ -122.95347400007762, 38.687174000884866 ], [ -122.95315299976977, 38.686900001099154 ], [ -122.952918999577349, 38.686419001032853 ], [ -122.952772999853806, 38.685915000857889 ], [ -122.952422000047989, 38.685389000437347 ], [ -122.951692000164527, 38.684817000633565 ], [ -122.951663000354799, 38.684382000435775 ], [ -122.951371000009459, 38.683809000889994 ], [ -122.951049000360896, 38.683397000865867 ], [ -122.949968999787984, 38.682482000886033 ], [ -122.94915099946698, 38.682116000481074 ], [ -122.948450000373583, 38.68195600094888 ], [ -122.947573999598248, 38.681864000709972 ], [ -122.946785000276265, 38.681658000295933 ], [ -122.945704000519882, 38.680880000726255 ], [ -122.945032000102245, 38.680537000404165 ], [ -122.944360999925095, 38.680376000920745 ], [ -122.943309000261948, 38.679942000460088 ], [ -122.942637999428399, 38.679507001041891 ], [ -122.942199999964927, 38.679026000374414 ], [ -122.942170999574898, 38.678866000416534 ], [ -122.94179099977535, 38.678454000854202 ], [ -122.941673999685065, 38.678065000862226 ], [ -122.941556999613667, 38.677973000815854 ], [ -122.941528000142569, 38.677126000816266 ], [ -122.941644999620237, 38.676897000402491 ], [ -122.94164499988014, 38.676462000797741 ], [ -122.941731999513294, 38.676348000926247 ], [ -122.941644999549055, 38.675821000910496 ], [ -122.941731999807089, 38.675684000962775 ], [ -122.942492000284133, 38.67486000112504 ], [ -122.94252099967332, 38.674448000370269 ], [ -122.942169999597667, 38.673555000697313 ], [ -122.942141000005805, 38.672777000433001 ], [ -122.942433000268991, 38.672044000618584 ], [ -122.942432999779314, 38.670991000310316 ], [ -122.942316000073035, 38.670671000716858 ], [ -122.942258000277221, 38.670007000325484 ], [ -122.942490999639034, 38.669458000421955 ], [ -122.942491000483173, 38.668977000981961 ], [ -122.9422869996109, 38.668496001055566 ], [ -122.942052999430288, 38.668061000483455 ], [ -122.94190699990682, 38.667192000815824 ], [ -122.941819999935248, 38.664971000453136 ], [ -122.941703000115567, 38.664719000824419 ], [ -122.941059999422649, 38.664033001042704 ], [ -122.940944000217499, 38.66364400077213 ], [ -122.940884999399486, 38.663346000474412 ], [ -122.94076800034064, 38.663117000856886 ], [ -122.940155000404218, 38.662362000845015 ], [ -122.938811999913995, 38.661332000737453 ], [ -122.938111999529482, 38.660645001082479 ], [ -122.937265000001517, 38.660324000881452 ], [ -122.936448000442823, 38.660279000614672 ], [ -122.935893000218371, 38.660118000599368 ], [ -122.935454999882325, 38.65984400039261 ], [ -122.93539699949882, 38.659706000962885 ], [ -122.934579000437296, 38.659432000558326 ], [ -122.932885999810367, 38.659592000896787 ], [ -122.930726000109118, 38.659111000400536 ], [ -122.930258999601861, 38.658905000538134 ], [ -122.929879000195257, 38.658607000905086 ], [ -122.929471000252462, 38.657920000465801 ], [ -122.929441999980426, 38.657508001039517 ], [ -122.929236999996718, 38.656982000320752 ], [ -122.928594999904561, 38.655929001053352 ], [ -122.928507999945509, 38.655357000308896 ], [ -122.928333000530813, 38.655128000258813 ], [ -122.927749000238251, 38.654510000347479 ], [ -122.927375999690057, 38.654151000612991 ], [ -122.927136000235294, 38.654120000965008 ], [ -122.926843999439669, 38.653937000801193 ], [ -122.926610999514523, 38.653457000485005 ], [ -122.926289000314355, 38.653136000816225 ], [ -122.925937999508804, 38.653067000360203 ], [ -122.925500999600914, 38.653159001046859 ], [ -122.92412800010564, 38.653754001094619 ], [ -122.922202000327459, 38.654875000265108 ], [ -122.921822000046078, 38.654829000774903 ], [ -122.920684000246979, 38.653891000855751 ], [ -122.920304999899571, 38.65375300102496 ], [ -122.920217000320065, 38.653570000553643 ], [ -122.919102999690693, 38.652539000503126 ], [ -122.918116000108057, 38.651624000437025 ], [ -122.917444999608492, 38.651138000406036 ], [ -122.916947999716783, 38.650777000688294 ], [ -122.916218999614443, 38.650433000577792 ], [ -122.915577000301468, 38.650273000537688 ], [ -122.91116199948523, 38.649736000633709 ], [ -122.910672999781923, 38.649677000471009 ], [ -122.910614999579693, 38.649814000981863 ], [ -122.910759999483034, 38.650638000832174 ], [ -122.911314000407785, 38.65196600032305 ], [ -122.911167999746297, 38.65230900024828 ], [ -122.910875999882535, 38.652676001049166 ], [ -122.910818000172256, 38.65295000036852 ], [ -122.910467999730571, 38.653065000519454 ], [ -122.9096179995488, 38.654116000272793 ], [ -122.909358000188718, 38.654438000287897 ], [ -122.909153000441691, 38.655399000632066 ], [ -122.908715000281461, 38.656405000857987 ], [ -122.908100999568546, 38.657183001029217 ], [ -122.907721999840248, 38.657504000691475 ], [ -122.906845999462703, 38.657824000583574 ], [ -122.906115999762548, 38.657824000946206 ], [ -122.905852999961098, 38.657709000699555 ], [ -122.905152999957153, 38.657160000775662 ], [ -122.905085999853, 38.657150000915905 ], [ -122.904539999843266, 38.657068000870233 ], [ -122.902801999860287, 38.657055001106208 ], [ -122.902178000164682, 38.657050000246286 ], [ -122.900119999716068, 38.657035001068309 ], [ -122.897617999525494, 38.657017000528469 ], [ -122.897505000207872, 38.657016000385703 ], [ -122.894998999459901, 38.656998000703759 ], [ -122.894585000518987, 38.65699600081409 ], [ -122.893268000152219, 38.657019000788871 ], [ -122.891798999661972, 38.65704500049965 ], [ -122.89084800042626, 38.65706300049137 ], [ -122.890352000530115, 38.657154000937346 ], [ -122.889679999979009, 38.657429000280445 ], [ -122.889226000042214, 38.657765001058785 ], [ -122.88825499961743, 38.658484000750008 ], [ -122.888102999931419, 38.658596001107199 ], [ -122.887284999863382, 38.659328000644926 ], [ -122.886846999900101, 38.659534000302109 ], [ -122.886438000133154, 38.659556000277441 ], [ -122.885152999446007, 38.659899000421312 ], [ -122.883430000504404, 38.661134000643976 ], [ -122.882670999570109, 38.661477000752996 ], [ -122.882144999810009, 38.661477000971274 ], [ -122.881644000368368, 38.661352000554068 ], [ -122.879752000171294, 38.660881000896573 ], [ -122.878234000198191, 38.660308000914469 ], [ -122.877416999584369, 38.660353000935572 ], [ -122.876105999425576, 38.660902000332548 ], [ -122.875727999421088, 38.661066000329697 ], [ -122.8753770002387, 38.661220000354099 ], [ -122.874132999522715, 38.65986300084159 ], [ -122.874094999743335, 38.659805000950954 ], [ -122.873624999927713, 38.658317000460109 ], [ -122.873535999680882, 38.658140001050157 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1401, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.871066999547097, 38.655286000875947 ], [ -122.871316000030404, 38.655228000599067 ], [ -122.872248000312794, 38.655146001042532 ], [ -122.872909999595862, 38.656807000535942 ], [ -122.873535999680882, 38.658140001050157 ], [ -122.873624999927713, 38.658317000460109 ], [ -122.874094999743335, 38.659805000950954 ], [ -122.874132999522715, 38.65986300084159 ], [ -122.8753770002387, 38.661220000354099 ], [ -122.875727999421088, 38.661066000329697 ], [ -122.876105999425576, 38.660902000332548 ], [ -122.877416999584369, 38.660353000935572 ], [ -122.878234000198191, 38.660308000914469 ], [ -122.879752000171294, 38.660881000896573 ], [ -122.881644000368368, 38.661352000554068 ], [ -122.882144999810009, 38.661477000971274 ], [ -122.882670999570109, 38.661477000752996 ], [ -122.883430000504404, 38.661134000643976 ], [ -122.885152999446007, 38.659899000421312 ], [ -122.886438000133154, 38.659556000277441 ], [ -122.886846999900101, 38.659534000302109 ], [ -122.887284999863382, 38.659328000644926 ], [ -122.888102999931419, 38.658596001107199 ], [ -122.88825499961743, 38.658484000750008 ], [ -122.889226000042214, 38.657765001058785 ], [ -122.889679999979009, 38.657429000280445 ], [ -122.890352000530115, 38.657154000937346 ], [ -122.89084800042626, 38.65706300049137 ], [ -122.891798999661972, 38.65704500049965 ], [ -122.893268000152219, 38.657019000788871 ], [ -122.894585000518987, 38.65699600081409 ], [ -122.894998999459901, 38.656998000703759 ], [ -122.897505000207872, 38.657016000385703 ], [ -122.897617999525494, 38.657017000528469 ], [ -122.900119999716068, 38.657035001068309 ], [ -122.902178000164682, 38.657050000246286 ], [ -122.902801999860287, 38.657055001106208 ], [ -122.904539999843266, 38.657068000870233 ], [ -122.905085999853, 38.657150000915905 ], [ -122.905152999957153, 38.657160000775662 ], [ -122.905852999961098, 38.657709000699555 ], [ -122.906115999762548, 38.657824000946206 ], [ -122.906845999462703, 38.657824000583574 ], [ -122.907721999840248, 38.657504000691475 ], [ -122.908100999568546, 38.657183001029217 ], [ -122.908715000281461, 38.656405000857987 ], [ -122.909153000441691, 38.655399000632066 ], [ -122.909358000188718, 38.654438000287897 ], [ -122.9096179995488, 38.654116000272793 ], [ -122.910467999730571, 38.653065000519454 ], [ -122.910818000172256, 38.65295000036852 ], [ -122.910875999882535, 38.652676001049166 ], [ -122.911167999746297, 38.65230900024828 ], [ -122.911314000407785, 38.65196600032305 ], [ -122.910759999483034, 38.650638000832174 ], [ -122.910614999579693, 38.649814000981863 ], [ -122.910672999781923, 38.649677000471009 ], [ -122.91116199948523, 38.649736000633709 ], [ -122.915577000301468, 38.650273000537688 ], [ -122.916218999614443, 38.650433000577792 ], [ -122.916947999716783, 38.650777000688294 ], [ -122.917444999608492, 38.651138000406036 ], [ -122.918116000108057, 38.651624000437025 ], [ -122.919102999690693, 38.652539000503126 ], [ -122.920217000320065, 38.653570000553643 ], [ -122.920304999899571, 38.65375300102496 ], [ -122.920684000246979, 38.653891000855751 ], [ -122.921822000046078, 38.654829000774903 ], [ -122.922202000327459, 38.654875000265108 ], [ -122.92412800010564, 38.653754001094619 ], [ -122.925500999600914, 38.653159001046859 ], [ -122.925937999508804, 38.653067000360203 ], [ -122.926289000314355, 38.653136000816225 ], [ -122.926610999514523, 38.653457000485005 ], [ -122.926843999439669, 38.653937000801193 ], [ -122.927136000235294, 38.654120000965008 ], [ -122.927375999690057, 38.654151000612991 ], [ -122.927749000238251, 38.654510000347479 ], [ -122.928333000530813, 38.655128000258813 ], [ -122.928507999945509, 38.655357000308896 ], [ -122.928594999904561, 38.655929001053352 ], [ -122.929236999996718, 38.656982000320752 ], [ -122.929441999980426, 38.657508001039517 ], [ -122.929471000252462, 38.657920000465801 ], [ -122.929879000195257, 38.658607000905086 ], [ -122.930258999601861, 38.658905000538134 ], [ -122.930726000109118, 38.659111000400536 ], [ -122.932885999810367, 38.659592000896787 ], [ -122.934579000437296, 38.659432000558326 ], [ -122.93539699949882, 38.659706000962885 ], [ -122.935454999882325, 38.65984400039261 ], [ -122.935893000218371, 38.660118000599368 ], [ -122.936448000442823, 38.660279000614672 ], [ -122.937265000001517, 38.660324000881452 ], [ -122.938111999529482, 38.660645001082479 ], [ -122.938811999913995, 38.661332000737453 ], [ -122.940155000404218, 38.662362000845015 ], [ -122.94076800034064, 38.663117000856886 ], [ -122.940884999399486, 38.663346000474412 ], [ -122.940944000217499, 38.66364400077213 ], [ -122.941059999422649, 38.664033001042704 ], [ -122.941703000115567, 38.664719000824419 ], [ -122.941819999935248, 38.664971000453136 ], [ -122.94190699990682, 38.667192000815824 ], [ -122.942052999430288, 38.668061000483455 ], [ -122.9422869996109, 38.668496001055566 ], [ -122.942491000483173, 38.668977000981961 ], [ -122.942490999639034, 38.669458000421955 ], [ -122.942258000277221, 38.670007000325484 ], [ -122.942316000073035, 38.670671000716858 ], [ -122.942432999779314, 38.670991000310316 ], [ -122.942433000268991, 38.672044000618584 ], [ -122.942141000005805, 38.672777000433001 ], [ -122.942169999597667, 38.673555000697313 ], [ -122.94252099967332, 38.674448000370269 ], [ -122.942492000284133, 38.67486000112504 ], [ -122.941731999807089, 38.675684000962775 ], [ -122.941644999549055, 38.675821000910496 ], [ -122.941731999513294, 38.676348000926247 ], [ -122.94164499988014, 38.676462000797741 ], [ -122.941644999620237, 38.676897000402491 ], [ -122.941528000142569, 38.677126000816266 ], [ -122.941556999613667, 38.677973000815854 ], [ -122.941673999685065, 38.678065000862226 ], [ -122.94179099977535, 38.678454000854202 ], [ -122.942170999574898, 38.678866000416534 ], [ -122.942199999964927, 38.679026000374414 ], [ -122.942637999428399, 38.679507001041891 ], [ -122.943309000261948, 38.679942000460088 ], [ -122.944360999925095, 38.680376000920745 ], [ -122.945032000102245, 38.680537000404165 ], [ -122.945704000519882, 38.680880000726255 ], [ -122.946785000276265, 38.681658000295933 ], [ -122.947573999598248, 38.681864000709972 ], [ -122.948450000373583, 38.68195600094888 ], [ -122.94915099946698, 38.682116000481074 ], [ -122.949968999787984, 38.682482000886033 ], [ -122.951049000360896, 38.683397000865867 ], [ -122.951371000009459, 38.683809000889994 ], [ -122.951663000354799, 38.684382000435775 ], [ -122.951692000164527, 38.684817000633565 ], [ -122.952422000047989, 38.685389000437347 ], [ -122.952772999853806, 38.685915000857889 ], [ -122.952918999577349, 38.686419001032853 ], [ -122.95315299976977, 38.686900001099154 ], [ -122.95347400007762, 38.687174000884866 ], [ -122.953474000287585, 38.687266000962154 ], [ -122.954671999810202, 38.688181001028937 ], [ -122.955576999809296, 38.688502000330544 ], [ -122.956278000371597, 38.689074000747681 ], [ -122.956482999460036, 38.689760000578154 ], [ -122.956395000072035, 38.690400001020244 ], [ -122.956015999871084, 38.691041000697638 ], [ -122.955168999387723, 38.691545001143375 ], [ -122.954381000303073, 38.69275800093061 ], [ -122.953971999982542, 38.69353700090457 ], [ -122.953972000231815, 38.693926001071688 ], [ -122.954497999934446, 38.694590000263531 ], [ -122.954818999879677, 38.69475000087634 ], [ -122.954819000424294, 38.694910000489259 ], [ -122.954993999598074, 38.69493300036914 ], [ -122.955316000307107, 38.695276000486494 ], [ -122.955315999416271, 38.695368000436076 ], [ -122.956513000500252, 38.696192001129695 ], [ -122.958528999542352, 38.698206000417422 ], [ -122.958597000370119, 38.698257000794335 ], [ -122.959317999684913, 38.698801001117715 ], [ -122.960399000017588, 38.699304000272136 ], [ -122.96136300001308, 38.700242000954965 ], [ -122.961596999829084, 38.700563000672325 ], [ -122.961625999662303, 38.700746000603338 ], [ -122.962094000512977, 38.701433000765384 ], [ -122.962210999567517, 38.701455000434869 ], [ -122.962414999794277, 38.701707000579184 ], [ -122.962911999781554, 38.702005000753708 ], [ -122.963320999741342, 38.702417000460507 ], [ -122.963789000394982, 38.703149000459163 ], [ -122.964343999462784, 38.70374400040555 ], [ -122.964372999436762, 38.70390400050406 ], [ -122.96466499992151, 38.704248000680614 ], [ -122.965687999930651, 38.705048001076143 ], [ -122.965833999431396, 38.705300000600523 ], [ -122.965980999684632, 38.705964000448581 ], [ -122.966389999638523, 38.706307001029515 ], [ -122.967120000471056, 38.706650000743686 ], [ -122.968406000079383, 38.70703900041967 ], [ -122.97033400048727, 38.707359000248275 ], [ -122.972029000129325, 38.707977000883879 ], [ -122.97252600039171, 38.707954000720321 ], [ -122.97413200053083, 38.707541000749941 ], [ -122.975066999574693, 38.707907000401519 ], [ -122.975534999847525, 38.70827300031695 ], [ -122.975651999919819, 38.708571001077111 ], [ -122.975914999681606, 38.708868000917818 ], [ -122.976120000384554, 38.709235001050388 ], [ -122.976120000476158, 38.710310000478074 ], [ -122.975857999693304, 38.710906000966609 ], [ -122.975858000389522, 38.711157000440139 ], [ -122.976150000515986, 38.711753001017833 ], [ -122.976589000001482, 38.712233000672725 ], [ -122.976724000512604, 38.712551000950029 ], [ -122.976793000369227, 38.712714000308367 ], [ -122.976765000245706, 38.71342300089799 ], [ -122.975940000481444, 38.713840001092628 ], [ -122.975977000047862, 38.71553000029008 ], [ -122.976122999971423, 38.716102000826638 ], [ -122.977029000300917, 38.716925000732303 ], [ -122.977059000111296, 38.718276000713658 ], [ -122.977142999409438, 38.718554000331835 ], [ -122.977293999987424, 38.719054000378662 ], [ -122.977497999408271, 38.719237000815767 ], [ -122.977439999814848, 38.719741001093197 ], [ -122.977352000395939, 38.719810000879548 ], [ -122.977369999714881, 38.72017400048972 ], [ -122.977381999587834, 38.720405001120639 ], [ -122.977499000273795, 38.721137000861653 ], [ -122.977411999434381, 38.721343000778866 ], [ -122.977576999946734, 38.722714001133141 ], [ -122.977704999959428, 38.723770000481693 ], [ -122.977793000391316, 38.723861001106201 ], [ -122.977808000354386, 38.724043000541556 ], [ -122.977822000291312, 38.724204000520935 ], [ -122.978086000343552, 38.724731000819652 ], [ -122.9781799995868, 38.724833001143288 ], [ -122.978723999483279, 38.725426000987781 ], [ -122.978904000495348, 38.72562300051549 ], [ -122.980540999456366, 38.72635500050356 ], [ -122.980628999986919, 38.726492000487937 ], [ -122.980014999860458, 38.726836000252476 ], [ -122.980014999796438, 38.72717900029695 ], [ -122.980950999704973, 38.72839200042673 ], [ -122.980951000121266, 38.72891900103518 ], [ -122.980855000155088, 38.729054000690773 ], [ -122.98069800046072, 38.729271000976716 ], [ -122.980425999724673, 38.729651000360704 ], [ -122.980425999894294, 38.729916000623753 ], [ -122.980425999628608, 38.730132000251047 ], [ -122.98054299987048, 38.730521000407272 ], [ -122.980747999886049, 38.730819000537387 ], [ -122.982004999882747, 38.731757001009989 ], [ -122.982269000078119, 38.732306000635376 ], [ -122.982298000267207, 38.73335900068097 ], [ -122.982591000148574, 38.733794000432937 ], [ -122.982883999919892, 38.734847000328799 ], [ -122.983310999941835, 38.73527300053383 ], [ -122.983732000389082, 38.735693000983481 ], [ -122.983851999584772, 38.735898001051773 ], [ -122.983906999420697, 38.735991001046706 ], [ -122.983995999856603, 38.736952000843324 ], [ -122.985574999886666, 38.738714000570816 ], [ -122.985986000166491, 38.739376000453895 ], [ -122.986072000405784, 38.739515000914189 ], [ -122.985984999604753, 38.740339000583838 ], [ -122.985109000008052, 38.741370000531354 ], [ -122.984116000053206, 38.742308000902895 ], [ -122.984115999460272, 38.742560001134272 ], [ -122.985169000049325, 38.743430000910443 ], [ -122.985549000233775, 38.744093000867039 ], [ -122.986017000287987, 38.744505000327329 ], [ -122.986241999485088, 38.744628000497059 ], [ -122.987771000430698, 38.74546600111573 ], [ -122.98777200008, 38.745947000710729 ], [ -122.987479999547915, 38.746679000543438 ], [ -122.987479999833539, 38.747389001073905 ], [ -122.987860999550549, 38.747938000880971 ], [ -122.988361000095793, 38.748369000681173 ], [ -122.989000999512967, 38.748922000867779 ], [ -122.990142000177514, 38.749451001091806 ], [ -122.990654000185614, 38.749909001083495 ], [ -122.991106999531908, 38.750473000362497 ], [ -122.991224999742641, 38.751137000801187 ], [ -122.991311999908717, 38.751183000528926 ], [ -122.99133100010603, 38.751601000775302 ], [ -122.991342000435864, 38.751824000737315 ], [ -122.991430000107414, 38.751892000809633 ], [ -122.991392000476893, 38.752478000876174 ], [ -122.991371999805139, 38.752785000546623 ], [ -122.98999999957806, 38.754914000871672 ], [ -122.990008999851014, 38.755349000848803 ], [ -122.990029999590831, 38.756288001106327 ], [ -122.990234999975058, 38.756746001042579 ], [ -122.990392000201652, 38.756939000326142 ], [ -122.991504000519697, 38.758305001015103 ], [ -122.991585999972713, 38.758406000516587 ], [ -122.991667999656741, 38.758507000860007 ], [ -122.991639999814282, 38.758988000881033 ], [ -122.991231000346161, 38.759629000479222 ], [ -122.991231000458015, 38.75983500049464 ], [ -122.991355999694179, 38.759921000623031 ], [ -122.9914940005104, 38.760017000977449 ], [ -122.991494999578279, 38.760841001013333 ], [ -122.991640999976141, 38.761139000523407 ], [ -122.992781999585659, 38.762146000867205 ], [ -122.992937000038282, 38.762370000369486 ], [ -122.993542999869106, 38.763244000550877 ], [ -122.994069999386483, 38.764732000835082 ], [ -122.99427500021342, 38.764960000391788 ], [ -122.994275000232122, 38.765075000764341 ], [ -122.994626999541126, 38.765601000955101 ], [ -122.994862000096404, 38.766150000971585 ], [ -122.995593000035285, 38.766974001080115 ], [ -122.995740000337179, 38.767272000602105 ], [ -122.995331000183143, 38.767478000946042 ], [ -122.995038000068377, 38.767615000315644 ], [ -122.994599000201319, 38.767844001017181 ], [ -122.99433600038823, 38.767982000301252 ], [ -122.993955999873918, 38.768119000808547 ], [ -122.993604999687605, 38.768348000471775 ], [ -122.992757000488936, 38.767525001058615 ], [ -122.991821000392719, 38.766884000725803 ], [ -122.991301999717535, 38.766616000715537 ], [ -122.990094999955346, 38.765992000833286 ], [ -122.988895999530897, 38.765581001012556 ], [ -122.985855000365362, 38.764277000946031 ], [ -122.985357999764915, 38.764186000653055 ], [ -122.983077000032097, 38.76405000044646 ], [ -122.982718000154335, 38.76399800074438 ], [ -122.982251999538875, 38.763929000248481 ], [ -122.980884000136115, 38.763730000336487 ], [ -122.980211999734038, 38.763410000268976 ], [ -122.979772999489441, 38.76336400047964 ], [ -122.978136000103859, 38.762632000609507 ], [ -122.977944999781073, 38.762515000651433 ], [ -122.97732100000303, 38.762133000387273 ], [ -122.977053999688451, 38.761969000660883 ], [ -122.97521200046674, 38.761283000709838 ], [ -122.973925000478815, 38.760299000543078 ], [ -122.973751000200579, 38.760126000400696 ], [ -122.973368999944014, 38.759772000882414 ], [ -122.972404000528272, 38.758834001143903 ], [ -122.971585000248183, 38.757690000858673 ], [ -122.970970999821063, 38.757049000456114 ], [ -122.970481000316383, 38.757620000792443 ], [ -122.970228999886487, 38.757914000504314 ], [ -122.969361000162237, 38.758928000547023 ], [ -122.967921000408495, 38.760610000329656 ], [ -122.967752000513542, 38.760809000351173 ], [ -122.967697999944136, 38.760873001144397 ], [ -122.967697999558297, 38.761193000351561 ], [ -122.969130999547815, 38.76247500094874 ], [ -122.96921900051187, 38.762658000912452 ], [ -122.96857600042101, 38.762932000700708 ], [ -122.968234000389558, 38.763559000737054 ], [ -122.968180999403245, 38.763740000288728 ], [ -122.968109000254273, 38.763986000687012 ], [ -122.967728999759075, 38.764695000825846 ], [ -122.967671000141223, 38.764970000890514 ], [ -122.966881000225001, 38.765680000578946 ], [ -122.966823000021435, 38.765863000435544 ], [ -122.967028000477171, 38.766138000587134 ], [ -122.967934000235985, 38.766755000245858 ], [ -122.967963999917302, 38.766870000695228 ], [ -122.968635999623871, 38.767167000992828 ], [ -122.969952000097166, 38.768105000516201 ], [ -122.970712999550528, 38.768929000530832 ], [ -122.970918000189101, 38.769364000306012 ], [ -122.971034999413718, 38.769433000511867 ], [ -122.971093000461536, 38.769662000712799 ], [ -122.971190999399141, 38.769738000862993 ], [ -122.971269000330111, 38.769799000524969 ], [ -122.971561000020131, 38.770440000272011 ], [ -122.97165599958052, 38.770542000785518 ], [ -122.971795000392845, 38.770691000715217 ], [ -122.972000000307503, 38.770760000416345 ], [ -122.972058999862654, 38.770966000635568 ], [ -122.972438999912228, 38.771080000696905 ], [ -122.973196999659351, 38.771729000338212 ], [ -122.973584999822251, 38.772219000371685 ], [ -122.973699000128121, 38.772841000723979 ], [ -122.973538000356868, 38.773686000345876 ], [ -122.973460999547044, 38.773811000497751 ], [ -122.973270000111228, 38.774317000348219 ], [ -122.973279000282716, 38.774653000261395 ], [ -122.97376799989263, 38.775215000781863 ], [ -122.974560000379938, 38.775906000505927 ], [ -122.975135000503499, 38.776193001026222 ], [ -122.975339999920081, 38.776255000823092 ], [ -122.976336999541545, 38.776266000255902 ], [ -122.978990999519141, 38.776297000379103 ], [ -122.980287999801746, 38.776359000658445 ], [ -122.981795999548837, 38.776431000962027 ], [ -122.98185700017892, 38.776434000530763 ], [ -122.981902000396445, 38.776444000585514 ], [ -122.983261000426992, 38.776754000244253 ], [ -122.983816000408368, 38.776959000927583 ], [ -122.98394999965096, 38.777053000647435 ], [ -122.984665000233306, 38.777554000383205 ], [ -122.985571999537072, 38.77865200054471 ], [ -122.985893999989699, 38.77929200026928 ], [ -122.985922999619319, 38.779590000810678 ], [ -122.986011000425975, 38.779659000433369 ], [ -122.986129000437685, 38.780643000840264 ], [ -122.986216999475218, 38.780711000898101 ], [ -122.986686000192492, 38.782268000472037 ], [ -122.987827000387938, 38.783961001134742 ], [ -122.988614999783323, 38.78490500110351 ], [ -122.989260999795462, 38.785677000872248 ], [ -122.989379000443208, 38.786295000807208 ], [ -122.989203999697452, 38.787486000871134 ], [ -122.989497000456169, 38.788744001143741 ], [ -122.989584999730084, 38.788790001050856 ], [ -122.989728000177223, 38.789160001003566 ], [ -122.990141999523416, 38.790232000650178 ], [ -122.990202000407663, 38.79194900029016 ], [ -122.990228999909263, 38.792070000564138 ], [ -122.990419999524732, 38.79291400061156 ], [ -122.990524000051849, 38.793368000275542 ], [ -122.990699999759329, 38.79378000033806 ], [ -122.990817999386621, 38.794535000659494 ], [ -122.990789999390373, 38.796572000772578 ], [ -122.990644000482845, 38.796618000969303 ], [ -122.990731999400325, 38.797992000328136 ], [ -122.991077000347843, 38.799673000757593 ], [ -122.991202000409331, 38.800279000672028 ], [ -122.991349000469071, 38.801241000642406 ], [ -122.991466999927056, 38.802042000280821 ], [ -122.991434999746588, 38.802134000716229 ], [ -122.990999999811152, 38.803415001075685 ], [ -122.99038599994968, 38.804789000587753 ], [ -122.990474999678995, 38.805613000607629 ], [ -122.990651000492434, 38.806139000949898 ], [ -122.991616999465506, 38.807100000702683 ], [ -122.9919389994526, 38.807673000629421 ], [ -122.992583000240415, 38.808405000489962 ], [ -122.99281700026846, 38.808565000799355 ], [ -122.993529999459682, 38.809409000871085 ], [ -122.993783000274064, 38.80970900078686 ], [ -122.994515000119506, 38.81041800026555 ], [ -122.994772000304437, 38.810629000919867 ], [ -122.996213000418578, 38.811814000999107 ], [ -122.996271999923849, 38.811974001109142 ], [ -122.996506000214481, 38.812065000755318 ], [ -122.997091999890699, 38.812660000934656 ], [ -122.997209000362218, 38.813003000588495 ], [ -122.997940999404477, 38.81369000060252 ], [ -122.998291999431444, 38.813712000984282 ], [ -122.998579999886715, 38.813581000743717 ], [ -122.998408999419965, 38.813895000317871 ], [ -122.998424999855288, 38.8139850007368 ], [ -122.998555999749186, 38.814697000755338 ], [ -122.999363000050522, 38.81602400031597 ], [ -122.999932999602066, 38.816962000344773 ], [ -123.000167000192221, 38.817076001101306 ], [ -123.000315000512515, 38.817442000448381 ], [ -123.000755999981934, 38.818152000252766 ], [ -123.001110999947784, 38.818300000964165 ], [ -123.001407999703758, 38.818403000789509 ], [ -123.00146600033905, 38.818678001027365 ], [ -123.001539000512309, 38.818793000302286 ], [ -123.001554000058135, 38.818975000938828 ], [ -123.001963999387741, 38.819708000408866 ], [ -123.001993000510282, 38.820005000914044 ], [ -123.002255999762554, 38.820280000611888 ], [ -123.002723000362366, 38.82112700052145 ], [ -123.002839999831579, 38.821402000360891 ], [ -123.003248999755257, 38.822158000836794 ], [ -123.003452999942468, 38.822890000837774 ], [ -123.003364999809094, 38.82305000041287 ], [ -123.003420999754411, 38.823312001142156 ], [ -123.003468999909472, 38.823534000344587 ], [ -123.003177999542899, 38.823896000397539 ], [ -123.002980999554026, 38.824178001108898 ], [ -123.002778999737131, 38.824378000275154 ], [ -123.001111000129896, 38.825132000362309 ], [ -122.999822999730156, 38.825682000456993 ], [ -122.999590000349116, 38.825957000479299 ], [ -123.000263000246889, 38.826392001116481 ], [ -123.000757999607373, 38.826620000295542 ], [ -123.001110000068977, 38.826757000322971 ], [ -123.001530999789026, 38.827045000797277 ], [ -123.003621000519445, 38.827794000931931 ], [ -123.004501999589323, 38.82811000073248 ], [ -123.004795000485231, 38.828133000254027 ], [ -123.004941000190655, 38.828316000410673 ], [ -123.005325999955417, 38.82855100030789 ], [ -123.005614000060191, 38.82872800032137 ], [ -123.006080999888709, 38.829438000825945 ], [ -123.006519999493392, 38.829759000828602 ], [ -123.007631999878811, 38.82989700051494 ], [ -123.007963999437521, 38.830014000553575 ], [ -123.008217000034705, 38.830103000718651 ], [ -123.008480000053339, 38.830355000889526 ], [ -123.009065000212715, 38.831248000306218 ], [ -123.009649999653362, 38.831797000693783 ], [ -123.010501000032477, 38.832210000909022 ], [ -123.010877999627994, 38.832393000460279 ], [ -123.011316999941954, 38.832737000643249 ], [ -123.01196100012524, 38.832989000390072 ], [ -123.012077999589863, 38.832966000621624 ], [ -123.012662000125289, 38.834339000665544 ], [ -123.014854999423193, 38.837225001104819 ], [ -123.015839999934045, 38.838483000335309 ], [ -123.01641499962912, 38.839237000477667 ], [ -123.016650999390379, 38.840112000263815 ], [ -123.016834000372384, 38.842698000309916 ], [ -123.017017000409425, 38.843594000784194 ], [ -123.017356999596572, 38.844307000717109 ], [ -123.018299000237732, 38.845020000537779 ], [ -123.019532000456863, 38.845786001048893 ], [ -123.020322000337785, 38.846038000813934 ], [ -123.024330999681084, 38.84789400049587 ], [ -123.025384000228001, 38.848535000747191 ], [ -123.026438000113174, 38.849359000386706 ], [ -123.027431999460106, 38.850390000696947 ], [ -123.029028000204733, 38.852479000977262 ], [ -123.029040999896068, 38.852496000805132 ], [ -123.029463000217646, 38.85282000038309 ], [ -123.027674000229752, 38.85291600039605 ], [ -123.026298000339736, 38.852846000907029 ], [ -123.02519799953096, 38.852791000571287 ], [ -123.022134000322964, 38.852495000544714 ], [ -123.022010000347336, 38.85249000091877 ], [ -123.019864000290809, 38.852414000684256 ], [ -123.018780000076177, 38.852376000617056 ], [ -123.015045000405621, 38.852023000682095 ], [ -123.011724000273048, 38.851654000804174 ], [ -123.008752000404655, 38.851391000401215 ], [ -123.006916000435538, 38.851250000278959 ], [ -123.005232999890552, 38.851279000581371 ], [ -123.00110999950958, 38.851272000584459 ], [ -122.998878999788261, 38.851170001023235 ], [ -122.996718000504643, 38.851245000684521 ], [ -122.995877000188869, 38.851271000392309 ], [ -122.994216999876073, 38.851325000427501 ], [ -122.992220999901335, 38.851342000259699 ], [ -122.992096999787904, 38.851344000618518 ], [ -122.989595999818846, 38.851376000324223 ], [ -122.987228999407975, 38.851377000997545 ], [ -122.984954000214685, 38.851466000688262 ], [ -122.983234999670401, 38.851480000411364 ], [ -122.982751999998115, 38.85148400062176 ], [ -122.980025000020689, 38.851466000720883 ], [ -122.978150999407191, 38.851324000358538 ], [ -122.977804999961634, 38.85129800067805 ], [ -122.97532399979292, 38.851265000804311 ], [ -122.972865000162713, 38.85127300112611 ], [ -122.970618999978797, 38.851172001094675 ], [ -122.970519999482079, 38.851168001139108 ], [ -122.965961000033346, 38.851218000525229 ], [ -122.96284500045806, 38.851004000762657 ], [ -122.960538999498979, 38.851133000520392 ], [ -122.959826000388873, 38.851082000603533 ], [ -122.957782999565197, 38.850937000949138 ], [ -122.955016000067914, 38.85084500062878 ], [ -122.953042000161474, 38.850798000588206 ], [ -122.952529999395679, 38.850786001068762 ], [ -122.952125999995516, 38.850777000322381 ], [ -122.948554999920376, 38.850720000482738 ], [ -122.945396999648509, 38.850569000685923 ], [ -122.944427999968184, 38.850523000927936 ], [ -122.942518000387608, 38.850435000333782 ], [ -122.939810999530863, 38.850481000812096 ], [ -122.939279000195555, 38.850475000404451 ], [ -122.938090999702325, 38.850462000271733 ], [ -122.937351999976329, 38.850455000758352 ], [ -122.936356999690574, 38.850477000839383 ], [ -122.93434000038998, 38.850520000665384 ], [ -122.931527000021191, 38.850576001104756 ], [ -122.928584000078715, 38.850523000723335 ], [ -122.925757999786171, 38.850502000761459 ], [ -122.924797999704921, 38.850496000412789 ], [ -122.920507000215295, 38.850465000454747 ], [ -122.917759999765593, 38.85042900062092 ], [ -122.914323000165041, 38.850445000298407 ], [ -122.913447999518937, 38.850426000408987 ], [ -122.911493999555148, 38.850384000251282 ], [ -122.908077000259965, 38.850432000854639 ], [ -122.90429000012422, 38.850453000307624 ], [ -122.900533999937196, 38.850442000565614 ], [ -122.897725999627568, 38.85041300049366 ], [ -122.895402999406897, 38.850409000500136 ], [ -122.893835999799819, 38.850376000267296 ], [ -122.889915000278322, 38.850396000865658 ], [ -122.88661199947289, 38.850411000457711 ], [ -122.886102000318999, 38.850413000476912 ], [ -122.8832320002481, 38.850465000354518 ], [ -122.881713000006229, 38.850439001009725 ], [ -122.878481999399909, 38.850447001095965 ], [ -122.876106000455906, 38.850398000795948 ], [ -122.875038999995823, 38.850362001056119 ], [ -122.874174999476395, 38.850375000940161 ], [ -122.873228999553916, 38.850395000286817 ], [ -122.871502000424414, 38.850398001065201 ], [ -122.870042999455521, 38.850364001075917 ], [ -122.868387999799353, 38.850335000617839 ], [ -122.866289999686089, 38.850308000891999 ], [ -122.864583999555563, 38.850311000922616 ], [ -122.863258000004066, 38.850310000429879 ], [ -122.861407999457413, 38.850279000980478 ], [ -122.858887000002923, 38.850317000591012 ], [ -122.856173999462101, 38.850325001045633 ], [ -122.852114000287088, 38.850282000649507 ], [ -122.848105000327294, 38.850263000809925 ], [ -122.845040999911021, 38.850248000971014 ], [ -122.842243999601166, 38.850277000457559 ], [ -122.839692999760089, 38.850293000386912 ], [ -122.836402999580542, 38.85029900034997 ], [ -122.835235000174805, 38.850186000711531 ], [ -122.832663000487329, 38.850234000543004 ], [ -122.830239000144999, 38.850123000896268 ], [ -122.827841999733891, 38.850204000493179 ], [ -122.824881000459484, 38.850182000982812 ], [ -122.82159200042544, 38.85014000052643 ], [ -122.821039999777085, 38.849544000704221 ], [ -122.820409999964369, 38.849230000294661 ], [ -122.819716000357147, 38.849011000536386 ], [ -122.819004999483994, 38.849067001068903 ], [ -122.81859000049937, 38.84924600044431 ], [ -122.81807499989101, 38.849747000316889 ], [ -122.817650999735065, 38.849839000739664 ], [ -122.817400000202156, 38.849142000848389 ], [ -122.817112000510164, 38.848655000581843 ], [ -122.81676599991107, 38.848038000328046 ], [ -122.816672999670914, 38.847618000251479 ], [ -122.816885999553122, 38.846823000802999 ], [ -122.817227000196525, 38.846304000782268 ], [ -122.817749999467097, 38.845440000378275 ], [ -122.81831399980392, 38.844585000768951 ], [ -122.817696999463877, 38.844118000666157 ], [ -122.816534000141829, 38.843740000958078 ], [ -122.815522000315411, 38.843485000318246 ], [ -122.81428999961048, 38.843405000575977 ], [ -122.812874000206165, 38.843274000335967 ], [ -122.812142000473614, 38.842909000508477 ], [ -122.81151000046961, 38.842248000564638 ], [ -122.811058000224577, 38.841316000747639 ], [ -122.811408999868192, 38.840756000920393 ], [ -122.812004000341858, 38.839910000844945 ], [ -122.81222500034059, 38.839228001021809 ], [ -122.812101999699948, 38.838775000278211 ], [ -122.812088999634298, 38.838412000364762 ], [ -122.811099000033849, 38.838101000377982 ], [ -122.810723999681187, 38.837855000363909 ], [ -122.809399000240461, 38.837765000920037 ], [ -122.80898300035858, 38.837550000396298 ], [ -122.808673999505487, 38.83664300089211 ], [ -122.807833999804259, 38.836511000775403 ], [ -122.807157000269399, 38.836906000791743 ], [ -122.806499999828731, 38.836865001090828 ], [ -122.806226999679851, 38.836225000781575 ], [ -122.805600000148871, 38.836668001102311 ], [ -122.804710999485309, 38.836735001046726 ], [ -122.804518999674954, 38.836750000533073 ], [ -122.803678000219691, 38.836650000594418 ], [ -122.803196000471601, 38.836636001082958 ], [ -122.802319999819943, 38.836737000985529 ], [ -122.801838000074568, 38.836683000594739 ], [ -122.801543999818676, 38.836945000344237 ], [ -122.80114899961228, 38.837149000936719 ], [ -122.80095399962994, 38.837155000385145 ], [ -122.800572999936762, 38.837166000767198 ], [ -122.799796000356707, 38.836978000971897 ], [ -122.799539999942994, 38.837402000978592 ], [ -122.799370000035012, 38.837609001091842 ], [ -122.799075999535518, 38.837887000973076 ], [ -122.799168999721218, 38.83832400071109 ], [ -122.799026999655041, 38.838725000478732 ], [ -122.798896999715993, 38.839013000891974 ], [ -122.798531000070497, 38.839337000297739 ], [ -122.797710999695255, 38.839520000938592 ], [ -122.797185000270403, 38.839429000879292 ], [ -122.796394000359413, 38.839131001044585 ], [ -122.795925999789006, 38.838990000938772 ], [ -122.795524000144866, 38.838590000522352 ], [ -122.795310000380852, 38.838071000330117 ], [ -122.795723999537984, 38.83750500107061 ], [ -122.795809999733279, 38.837140000626576 ], [ -122.795842000327383, 38.836837001048472 ], [ -122.795286999498856, 38.836587000581076 ], [ -122.795380999832759, 38.835848000630151 ], [ -122.795246000423603, 38.835610000253794 ], [ -122.795065000150757, 38.835288000302405 ], [ -122.794535000177916, 38.834628000532909 ], [ -122.793887000244879, 38.834193000893052 ], [ -122.7934350003502, 38.833735000718384 ], [ -122.7931009997383, 38.833070000423334 ], [ -122.792874000381929, 38.832197000987144 ], [ -122.792124999596226, 38.831236000457274 ], [ -122.791392999487528, 38.830429000364958 ], [ -122.790560000443676, 38.830015000919488 ], [ -122.789369999535836, 38.830329000320511 ], [ -122.789069999495908, 38.830003000349699 ], [ -122.7884750004485, 38.82947100027107 ], [ -122.787714000470174, 38.828592000974481 ], [ -122.786892000493623, 38.828130000340224 ], [ -122.786548999871727, 38.827868000510122 ], [ -122.786138999527751, 38.827338000595923 ], [ -122.784905999602415, 38.827346000282823 ], [ -122.784141000091509, 38.827543000628012 ], [ -122.783727000207705, 38.827479000474625 ], [ -122.78289700041978, 38.827494000899868 ], [ -122.782647999616685, 38.827211000484674 ], [ -122.781848999663396, 38.827112001095109 ], [ -122.781161000243102, 38.827063000579919 ], [ -122.780188999565212, 38.826840001111037 ], [ -122.779623999710637, 38.826373000336972 ], [ -122.779292999862164, 38.826038000530403 ], [ -122.778502000463249, 38.825109000397795 ], [ -122.777713999509018, 38.824519000302118 ], [ -122.777150999613724, 38.823971001136748 ], [ -122.776494999578546, 38.823455000913242 ], [ -122.776064999866165, 38.822941001104248 ], [ -122.775426999614083, 38.822071000711851 ], [ -122.77492000028461, 38.821750000870942 ], [ -122.773934999657499, 38.821720000838674 ], [ -122.773163999889277, 38.82171800087157 ], [ -122.772479999766801, 38.82153200024554 ], [ -122.772229999659714, 38.820779000606478 ], [ -122.772036000493088, 38.820260000819346 ], [ -122.770491999771011, 38.819934000573994 ], [ -122.769605999401051, 38.819947000643431 ], [ -122.769393000144134, 38.819669000877632 ], [ -122.769357999643091, 38.819592000483247 ], [ -122.769741999601209, 38.819013000675362 ], [ -122.769755000244004, 38.818481000857972 ], [ -122.769481999809273, 38.817825000337685 ], [ -122.769115000421749, 38.817256000856233 ], [ -122.768831999945945, 38.816607000787087 ], [ -122.768120999724943, 38.816235000468822 ], [ -122.767401000425679, 38.815823000516708 ], [ -122.766350000412828, 38.815758000482667 ], [ -122.765708999704344, 38.815364000975471 ], [ -122.765446000216684, 38.815043000909604 ], [ -122.765534000498988, 38.8144710004659 ], [ -122.765710000144708, 38.81433400099273 ], [ -122.766529000130802, 38.814059000564136 ], [ -122.766675999667072, 38.813899000765453 ], [ -122.766413000068908, 38.813785000825284 ], [ -122.76638299942141, 38.813693000595819 ], [ -122.76582699957109, 38.813223000742546 ], [ -122.764816999805419, 38.812935000614701 ], [ -122.763659999616948, 38.812307001065626 ], [ -122.762439999691338, 38.811751000953265 ], [ -122.761353000031022, 38.811180000403695 ], [ -122.760545999867631, 38.810533001038202 ], [ -122.76016100008033, 38.809440000410326 ], [ -122.759752999840686, 38.80842700049913 ], [ -122.758841999423737, 38.8078430008715 ], [ -122.757529000447718, 38.807301000996077 ], [ -122.756046999630811, 38.806491000551574 ], [ -122.75429699964873, 38.805783001091527 ], [ -122.75275500024506, 38.805351000670193 ], [ -122.751102000178903, 38.80488000064701 ], [ -122.750674999485355, 38.80459300042871 ], [ -122.750088999667511, 38.804512000934835 ], [ -122.749421999729762, 38.804368001067893 ], [ -122.748743000515191, 38.804190000406351 ], [ -122.748177999856566, 38.803828000323485 ], [ -122.747757000173664, 38.803344000629366 ], [ -122.747592999624587, 38.80264200084018 ], [ -122.747234000015368, 38.8021020004565 ], [ -122.746925999650244, 38.80144100099006 ], [ -122.746710999407796, 38.800739001026002 ], [ -122.746485999492634, 38.80023100056269 ], [ -122.746250000235037, 38.799699000250541 ], [ -122.74619900049963, 38.799248000672414 ], [ -122.746353000247225, 38.798949000523493 ], [ -122.746641000318618, 38.798506000743309 ], [ -122.746806000445858, 38.798256000323647 ], [ -122.746734000439787, 38.797941000649104 ], [ -122.746569999823876, 38.797667000884786 ], [ -122.746539000042006, 38.797345000508557 ], [ -122.746672999542611, 38.796886000522065 ], [ -122.74683799956135, 38.796216001071294 ], [ -122.747064999743799, 38.795257001086661 ], [ -122.747033999725915, 38.795023000423733 ], [ -122.747041999958071, 38.794800000894874 ], [ -122.746745999773779, 38.794485000756985 ], [ -122.74671599977377, 38.794302000914207 ], [ -122.746628999832964, 38.79425600065116 ], [ -122.746627999796573, 38.793913000406747 ], [ -122.747592999987148, 38.792287001125828 ], [ -122.747557000217398, 38.792110001048599 ], [ -122.748115999785156, 38.791918000918379 ], [ -122.747911000457648, 38.791248000573148 ], [ -122.748024000312583, 38.79095800029399 ], [ -122.748148000347825, 38.790595000295866 ], [ -122.748066000286713, 38.790353000982229 ], [ -122.747764000120441, 38.790084001112866 ], [ -122.747450000319731, 38.789805000411704 ], [ -122.747850999713137, 38.789381000638876 ], [ -122.747993999535851, 38.789232000245313 ], [ -122.747923000383068, 38.788402000722876 ], [ -122.748220999629865, 38.787797000605096 ], [ -122.748078000512507, 38.78766800041263 ], [ -122.746927999697832, 38.787233000676764 ], [ -122.746805000532362, 38.787144000863194 ], [ -122.746692000442835, 38.786563000839081 ], [ -122.746506999875763, 38.786321000456915 ], [ -122.74616800039081, 38.786209000245663 ], [ -122.74531500044813, 38.786040000426681 ], [ -122.744443000019189, 38.785322000672785 ], [ -122.743959999894713, 38.784758000615632 ], [ -122.74362199966761, 38.783975000556744 ], [ -122.743231999751188, 38.783427000632102 ], [ -122.742513999472905, 38.782669000849815 ], [ -122.742359999414916, 38.782411000562362 ], [ -122.742246999429483, 38.78233900043864 ], [ -122.741979999580764, 38.782347000276047 ], [ -122.741353999543122, 38.782379001136079 ], [ -122.740142000152645, 38.782242000660162 ], [ -122.73929999949172, 38.782041000724185 ], [ -122.738909999708369, 38.781856000839049 ], [ -122.738519999478115, 38.781259000284891 ], [ -122.73801699974095, 38.781041000595259 ], [ -122.738016999944932, 38.780630000586591 ], [ -122.737370000344399, 38.780175000634578 ], [ -122.736733999824651, 38.779727000496436 ], [ -122.736569999717517, 38.779380000363275 ], [ -122.736426999908858, 38.778969000445109 ], [ -122.736150000366649, 38.778574000903774 ], [ -122.735924000213387, 38.778340000546059 ], [ -122.73533899965885, 38.777889000707717 ], [ -122.735339999607419, 38.777639000939267 ], [ -122.736027000292452, 38.777125000929949 ], [ -122.73641900028926, 38.776832000325101 ], [ -122.736264999494281, 38.776647000833279 ], [ -122.736079999719323, 38.776276000299248 ], [ -122.735926999936211, 38.775590000778521 ], [ -122.735455000299851, 38.775042000709469 ], [ -122.735772999424327, 38.774864000355358 ], [ -122.735887000294341, 38.774502000912911 ], [ -122.734736999488319, 38.773445000329914 ], [ -122.734799999697231, 38.772994001121418 ], [ -122.734552999494966, 38.772607000290655 ], [ -122.734163999466304, 38.772220000436697 ], [ -122.733877000519286, 38.771925000302069 ], [ -122.733804000437004, 38.77184900069453 ], [ -122.733353000214109, 38.771413000897667 ], [ -122.732686000241216, 38.770897000768031 ], [ -122.73193699973757, 38.770736000941255 ], [ -122.731073999474447, 38.770688001098101 ], [ -122.730272999904471, 38.770793000585165 ], [ -122.729543999801919, 38.770704000744111 ], [ -122.729133999937488, 38.770325000936552 ], [ -122.729083000273818, 38.769898000728887 ], [ -122.729052999582606, 38.769269000704291 ], [ -122.728549999919949, 38.768962001040997 ], [ -122.728354999524143, 38.768600000664591 ], [ -122.728418000075322, 38.766874001131882 ], [ -122.728337000470887, 38.766221001097492 ], [ -122.728204000343553, 38.766084000666723 ], [ -122.727752000222708, 38.766108000310467 ], [ -122.727136000298685, 38.766076000664185 ], [ -122.726171000214194, 38.765181000904363 ], [ -122.725443000484532, 38.764424000976483 ], [ -122.724806999511699, 38.764327001073475 ], [ -122.724559999812953, 38.764270000614154 ], [ -122.724273000085645, 38.763738000418421 ], [ -122.723884000498643, 38.76311700051582 ], [ -122.723463000190932, 38.763012000266293 ], [ -122.722969999887951, 38.763093000601458 ], [ -122.722692999410413, 38.763013001116612 ], [ -122.722662000187512, 38.762771000338752 ], [ -122.722877999444023, 38.762488000925835 ], [ -122.723300000196531, 38.762093000377575 ], [ -122.72345500031706, 38.761343000546098 ], [ -122.723639999548041, 38.760650000984569 ], [ -122.723496999489726, 38.759875000379509 ], [ -122.723395000245532, 38.759400000731809 ], [ -122.723037000113933, 38.758642001069489 ], [ -122.723427000427961, 38.757996001026498 ], [ -122.723962000080164, 38.756956000494888 ], [ -122.724157999706989, 38.75656100048888 ], [ -122.723993999802545, 38.756440000610155 ], [ -122.72297699997732, 38.756416000895655 ], [ -122.721857999715041, 38.756577000698357 ], [ -122.721508999415931, 38.756585000284339 ], [ -122.720945000493643, 38.756013000284703 ], [ -122.720668999770439, 38.75498900074777 ], [ -122.720279999949454, 38.754182000666091 ], [ -122.720084999682712, 38.753545000414086 ], [ -122.719356999962116, 38.75312600068947 ], [ -122.718627999638301, 38.753069000938211 ], [ -122.717724999971409, 38.752981000737677 ], [ -122.717139000221167, 38.752763001095744 ], [ -122.716596000146438, 38.751876000841726 ], [ -122.716093000474046, 38.751884001028337 ], [ -122.715559000115334, 38.751795000800108 ], [ -122.715138000269263, 38.751884000845244 ], [ -122.714275999680325, 38.751682000898562 ], [ -122.713950000029229, 38.75146100048066 ], [ -122.713608999397593, 38.751231000242846 ], [ -122.713239999454871, 38.751263000982327 ], [ -122.712777999904574, 38.751013000904798 ], [ -122.712305999650866, 38.750892000555083 ], [ -122.711700000062223, 38.750763000715779 ], [ -122.711197999602874, 38.750384001112899 ], [ -122.711393000271812, 38.750118000799091 ], [ -122.711403000406477, 38.749906000466048 ], [ -122.710715999649437, 38.749346001063508 ], [ -122.709947999846108, 38.748994000716742 ], [ -122.709164000425176, 38.749026000790103 ], [ -122.708587999708854, 38.748834000827671 ], [ -122.708315999563865, 38.748354000719978 ], [ -122.708396000453618, 38.747634000643494 ], [ -122.708588000121466, 38.746946000943858 ], [ -122.709004000288729, 38.746162000745663 ], [ -122.709547999864938, 38.745458000537333 ], [ -122.710476000253678, 38.744898000641463 ], [ -122.710892000455573, 38.744018000476281 ], [ -122.711033000224205, 38.74373500053531 ], [ -122.711340000315104, 38.74312200077928 ], [ -122.712187999472206, 38.742434000388059 ], [ -122.712331999415241, 38.742226000905283 ], [ -122.711947999927858, 38.74131400078042 ], [ -122.711115999700766, 38.740210001085977 ], [ -122.711324000160829, 38.739074000838635 ], [ -122.711996000066648, 38.737634000256897 ], [ -122.711611999739517, 38.73622600029158 ], [ -122.710859999396035, 38.735458000651711 ], [ -122.711180000370334, 38.734482000808107 ], [ -122.710380000052751, 38.732082000913806 ], [ -122.709372000528617, 38.732130000377893 ], [ -122.708875999547686, 38.732162000724948 ], [ -122.707163999517448, 38.731746000874246 ], [ -122.705515999492036, 38.730898000470113 ], [ -122.703755999805949, 38.730530000273099 ], [ -122.700924000337537, 38.728866000645944 ], [ -122.700667999976616, 38.728562000969085 ], [ -122.700364000357567, 38.728066000414735 ], [ -122.700203000025965, 38.727202000534263 ], [ -122.700716000466102, 38.726306001105101 ], [ -122.699722999858636, 38.725474000484503 ], [ -122.69861900040992, 38.724738000386779 ], [ -122.697995000279775, 38.723138001018043 ], [ -122.697691000049062, 38.721906000919496 ], [ -122.696682999455277, 38.721010000366071 ], [ -122.696250999600892, 38.720098000616062 ], [ -122.697386999638965, 38.718946000512759 ], [ -122.697259000033512, 38.718018000755158 ], [ -122.69671499989137, 38.716930000780586 ], [ -122.69581900019962, 38.715426000797038 ], [ -122.695323000245523, 38.714306000834021 ], [ -122.69545099986469, 38.713090000984806 ], [ -122.69458699980089, 38.713106000747956 ], [ -122.693563000349116, 38.712962000748831 ], [ -122.692651000434054, 38.712226000940134 ], [ -122.691835000377111, 38.710946000654715 ], [ -122.690122999446061, 38.710690000738651 ], [ -122.687722999635568, 38.710450000815349 ], [ -122.684634999412467, 38.709394000361776 ], [ -122.683883000409821, 38.709490000774132 ], [ -122.683354999615773, 38.708402000530846 ], [ -122.682410999969946, 38.70790600047431 ], [ -122.680122000320651, 38.707602001089434 ], [ -122.678970000187533, 38.707922000956906 ], [ -122.676825999856689, 38.70798600028337 ], [ -122.675642000251713, 38.707058000883436 ], [ -122.674234000437309, 38.706354000389737 ], [ -122.67232999971614, 38.70627400075437 ], [ -122.670713999648541, 38.707618000768832 ], [ -122.669402000503979, 38.708370001034545 ], [ -122.667257999497835, 38.707698000797585 ], [ -122.665769999491545, 38.706962000807842 ], [ -122.664698000140135, 38.707426000411616 ], [ -122.663274000437312, 38.706978000937625 ], [ -122.662777999873001, 38.706242000910358 ], [ -122.66218599963706, 38.705938001076007 ], [ -122.660793999409222, 38.706034000281662 ], [ -122.659802000192954, 38.706466000625561 ], [ -122.658761999799765, 38.706226001098102 ], [ -122.657385000462014, 38.706082000947141 ], [ -122.656025000172804, 38.706434000390189 ], [ -122.654089000481449, 38.707010000271396 ], [ -122.652776999982663, 38.706914000562271 ], [ -122.651624999770718, 38.706866000944039 ], [ -122.651049000146003, 38.706754000962654 ], [ -122.650680999834719, 38.706786000631396 ], [ -122.64989700031613, 38.706610000821911 ], [ -122.648600999776647, 38.70665700100237 ], [ -122.647497000308448, 38.706929000388072 ], [ -122.646888999419048, 38.706545000951252 ], [ -122.646569000463501, 38.706177000856535 ], [ -122.646520999762672, 38.705569000757933 ], [ -122.646217000174047, 38.704561001042642 ], [ -122.645560999639898, 38.703841000249099 ], [ -122.645096999908361, 38.703169000377976 ], [ -122.644937000294604, 38.702689000620872 ], [ -122.643865000054006, 38.702577000954477 ], [ -122.644024999868009, 38.702209000983807 ], [ -122.644424999687175, 38.701570000382475 ], [ -122.644408999449041, 38.700642000486859 ], [ -122.644367000481637, 38.700373000833473 ], [ -122.644329000398557, 38.700130000594392 ], [ -122.644313000422315, 38.699570000266448 ], [ -122.64378499943507, 38.698962000934102 ], [ -122.642264999720695, 38.6982420009004 ], [ -122.64056900024471, 38.697250000737185 ], [ -122.640137000448874, 38.696130001128395 ], [ -122.639913000450633, 38.694978000586012 ], [ -122.638440999667054, 38.694018000817998 ], [ -122.637049000135377, 38.69373000034507 ], [ -122.638024999877899, 38.692898000892583 ], [ -122.638360999860353, 38.69259400024395 ], [ -122.638344999671901, 38.691954000765072 ], [ -122.638456999741933, 38.691346000467966 ], [ -122.639113000418931, 38.690418000327902 ], [ -122.639561000474558, 38.689762001086002 ], [ -122.639497000165235, 38.689058000388144 ], [ -122.638264999887369, 38.68808200051425 ], [ -122.637784999726392, 38.68739400037537 ], [ -122.636872000045571, 38.6867700009213 ], [ -122.635655999996771, 38.685906000951206 ], [ -122.633896000245599, 38.685282000286925 ], [ -122.633815999494885, 38.685026000244655 ], [ -122.633720000298325, 38.684450000334806 ], [ -122.63339999988267, 38.683474000553936 ], [ -122.633112000221928, 38.682194000292661 ], [ -122.632360000413016, 38.681298000854035 ], [ -122.631592000529992, 38.680226000388558 ], [ -122.629927999804465, 38.679346001120635 ], [ -122.628679999557448, 38.678114000473435 ], [ -122.627608000195352, 38.67721800082856 ], [ -122.626408000059115, 38.675954000421882 ], [ -122.625463999497782, 38.674402000418389 ], [ -122.625544000289935, 38.672994000281143 ], [ -122.625783999889393, 38.672194000499232 ], [ -122.626263999500281, 38.671842000562677 ], [ -122.626439999809961, 38.671122000872025 ], [ -122.626759999839877, 38.670818001053242 ], [ -122.627000000158702, 38.669954000965056 ], [ -122.627320000399905, 38.668962000653096 ], [ -122.627624000078313, 38.668130001122115 ], [ -122.627395999590007, 38.667506000728253 ], [ -122.623784999928404, 38.664383001004609 ], [ -122.623696000364689, 38.664306000584872 ], [ -122.62372300029395, 38.663523000519589 ], [ -122.624195999724947, 38.649806000809953 ], [ -122.626996000270665, 38.647406000555023 ], [ -122.627795999482942, 38.644306000360963 ], [ -122.634096000296111, 38.636907000314444 ], [ -122.63299600034955, 38.627607000801291 ], [ -122.630096000323348, 38.626807001017575 ], [ -122.629196000527145, 38.624907000791353 ], [ -122.629089999470139, 38.624734000503132 ], [ -122.629041000223253, 38.624655000991396 ], [ -122.628552999435215, 38.624190000735311 ], [ -122.628369999656911, 38.623671000377911 ], [ -122.628292999814505, 38.623038000729494 ], [ -122.628597999645308, 38.622702000855298 ], [ -122.62902599968578, 38.622649000645772 ], [ -122.629620999450452, 38.622298000341978 ], [ -122.630428999764177, 38.621771000644308 ], [ -122.631252999949183, 38.621138000874737 ], [ -122.632168999438747, 38.620703001088856 ], [ -122.632900999692396, 38.62039000046942 ], [ -122.633587999802444, 38.619864000375031 ], [ -122.633465999814348, 38.618994001014528 ], [ -122.633419999618837, 38.618155000765206 ], [ -122.633328999547132, 38.617224000998625 ], [ -122.633267999704316, 38.616629000442678 ], [ -122.633450999813803, 38.61618700077684 ], [ -122.634061000204937, 38.615813000732615 ], [ -122.634396999849585, 38.615469000283873 ], [ -122.634579999900566, 38.61492000031825 ], [ -122.634732000028364, 38.614569000405673 ], [ -122.634931000064213, 38.614539000747556 ], [ -122.635037999733044, 38.614600000913377 ], [ -122.635480000131778, 38.61466100055879 ], [ -122.636319000267449, 38.614089000772438 ], [ -122.636899000144155, 38.613219001080274 ], [ -122.637341999842306, 38.612792000675952 ], [ -122.638135000466121, 38.612425000432459 ], [ -122.638684999988087, 38.612257001065593 ], [ -122.639141999698779, 38.612059000958652 ], [ -122.639553999609277, 38.611662000770423 ], [ -122.639829000532544, 38.611083000861051 ], [ -122.639980999633707, 38.61045700051384 ], [ -122.639675999822543, 38.610045001042621 ], [ -122.639310000361291, 38.609786000987029 ], [ -122.63917299972104, 38.609541000500954 ], [ -122.639141999997051, 38.609381000983717 ], [ -122.639142000180442, 38.609267001078621 ], [ -122.639660999740656, 38.608641001109149 ], [ -122.640043000531563, 38.607718000417698 ], [ -122.640592000245462, 38.607047000832488 ], [ -122.641233000352912, 38.606276000453889 ], [ -122.641797000270543, 38.605483000568789 ], [ -122.642407999676479, 38.605200000354458 ], [ -122.64286500030741, 38.604971000560667 ], [ -122.643369000057376, 38.60449800092205 ], [ -122.643995000167024, 38.603880000613948 ], [ -122.644390999602166, 38.6035600004694 ], [ -122.644596000012172, 38.6033070004367 ], [ -122.644695999768985, 38.603224000494933 ], [ -122.644711999767807, 38.603003000792306 ], [ -122.644695999597573, 38.602812001079087 ], [ -122.644696000516959, 38.602707000349142 ], [ -122.644696000125293, 38.602507000320259 ], [ -122.644696000050558, 38.602156000831698 ], [ -122.644909999730956, 38.601698000588506 ], [ -122.645275999917999, 38.600882001094014 ], [ -122.645733999882154, 38.599997000496195 ], [ -122.646268000059166, 38.599120000492064 ], [ -122.64642100018915, 38.59859300035648 ], [ -122.646314000453714, 38.598189000703151 ], [ -122.645733999753148, 38.598036000811682 ], [ -122.645063000123841, 38.597769000417493 ], [ -122.644895000497385, 38.597540001132295 ], [ -122.644361000061977, 38.596534000521359 ], [ -122.643888000503551, 38.595619000821628 ], [ -122.643567000478697, 38.59489400043369 ], [ -122.642117999686704, 38.593902000818836 ], [ -122.641278000300133, 38.592697000256017 ], [ -122.641004000090504, 38.591827000961977 ], [ -122.640531000479385, 38.591095000867405 ], [ -122.639538999994571, 38.590019000509095 ], [ -122.639005000289799, 38.589668000935951 ], [ -122.638149999469405, 38.589271000318192 ], [ -122.637432999513635, 38.588310000611344 ], [ -122.636654999778898, 38.58754700064236 ], [ -122.635663000185019, 38.586952000824006 ], [ -122.634991999496052, 38.586387000867255 ], [ -122.63499600012031, 38.586308001020292 ], [ -122.63549600026461, 38.58570800033916 ], [ -122.635098999863075, 38.585006000680892 ], [ -122.635128999496416, 38.584617001104782 ], [ -122.6353890000631, 38.584289001014767 ], [ -122.635221000304455, 38.583587001022018 ], [ -122.635083000415491, 38.583129000269004 ], [ -122.634896000127128, 38.582908000749697 ], [ -122.635099000518949, 38.582862000512364 ], [ -122.635395999984951, 38.582908000297145 ], [ -122.635769999768499, 38.582870000563872 ], [ -122.636456999977014, 38.582946000263938 ], [ -122.637861000254816, 38.582939000347444 ], [ -122.639035000011248, 38.582885000769124 ], [ -122.640316999737479, 38.583015000463526 ], [ -122.641645000487657, 38.582923001021776 ], [ -122.64266700030673, 38.58258000045214 ], [ -122.643476000232695, 38.582016000681875 ], [ -122.644345999861017, 38.581375000336919 ], [ -122.645474999390203, 38.581062000912468 ], [ -122.646954999596318, 38.580825000536798 ], [ -122.647656000075486, 38.580929000355368 ], [ -122.648297999717883, 38.581024000495376 ], [ -122.649095999984567, 38.581108000786351 ], [ -122.649853999989276, 38.581039000576219 ], [ -122.650341999760911, 38.581039000385026 ], [ -122.651104999401369, 38.581146000818215 ], [ -122.652081999670386, 38.581367000437048 ], [ -122.652967000431872, 38.581565000897335 ], [ -122.65377500012859, 38.582252000457558 ], [ -122.654186999451255, 38.582794000392518 ], [ -122.654798000109864, 38.583282000457466 ], [ -122.655296000124963, 38.583608000735751 ], [ -122.655423000508051, 38.58363300078863 ], [ -122.655561000065433, 38.583721000569994 ], [ -122.655881000484612, 38.583923000565598 ], [ -122.656567999546198, 38.584198000700511 ], [ -122.657145000098865, 38.584276001138164 ], [ -122.657636000096829, 38.584343000435595 ], [ -122.658184999450526, 38.584297001135198 ], [ -122.658993999718305, 38.584281000885809 ], [ -122.659559999698345, 38.584359000628645 ], [ -122.659709999885422, 38.584379000907575 ], [ -122.659832999407755, 38.584396000845409 ], [ -122.660505999705421, 38.58445700036949 ], [ -122.660996999552637, 38.584608000510002 ], [ -122.661177000440219, 38.584686000286318 ], [ -122.662474000002248, 38.585128000453508 ], [ -122.663434999824048, 38.585029001131723 ], [ -122.664045999888273, 38.584732000884259 ], [ -122.664838999410321, 38.584472000971438 ], [ -122.665997000308664, 38.584308000516693 ], [ -122.666197000216329, 38.58428100077365 ], [ -122.667066999485172, 38.584144000549124 ], [ -122.668195999626491, 38.58408300082273 ], [ -122.669112000507724, 38.584045000489468 ], [ -122.669797000259678, 38.584108001005156 ], [ -122.670087999585022, 38.584030000245356 ], [ -122.67088199956234, 38.583931000579376 ], [ -122.67173600036179, 38.583656000575054 ], [ -122.671796999643433, 38.583508000465969 ], [ -122.671919000424751, 38.583335000899723 ], [ -122.671896999680158, 38.583008000325258 ], [ -122.672362000431107, 38.582458001085378 ], [ -122.67332299979374, 38.582290000503875 ], [ -122.674665999955579, 38.58223700089399 ], [ -122.675916999739542, 38.582222000503748 ], [ -122.676997000461796, 38.582308000578529 ], [ -122.677412000393673, 38.582580000782748 ], [ -122.677976999875185, 38.582908000832248 ], [ -122.678327999993016, 38.583122000872834 ], [ -122.678663999602492, 38.583320000278356 ], [ -122.679334999773872, 38.583740000432229 ], [ -122.679701000380135, 38.584121000379042 ], [ -122.679724000531763, 38.58417700060852 ], [ -122.679975999907825, 38.584793000963707 ], [ -122.680197000014772, 38.585208000524013 ], [ -122.680372999599044, 38.585678000255328 ], [ -122.680539999758508, 38.586120001081483 ], [ -122.680601000418747, 38.586677000687466 ], [ -122.680617000236353, 38.587295001066011 ], [ -122.680693000320289, 38.587768000381125 ], [ -122.680906999790878, 38.588462000486089 ], [ -122.681273000317773, 38.589103000265993 ], [ -122.681608000440065, 38.589485000881034 ], [ -122.682126999518715, 38.590080000619587 ], [ -122.682417000237294, 38.590484001003446 ], [ -122.682497000370702, 38.59080800063159 ], [ -122.682554999978279, 38.591117000492353 ], [ -122.682616000380889, 38.591751000374039 ], [ -122.682813999457125, 38.592407001122794 ], [ -122.682981999923044, 38.592971000969328 ], [ -122.682936000279796, 38.593925000878571 ], [ -122.682859999406872, 38.59450500076661 ], [ -122.682997000258212, 38.595069001102395 ], [ -122.68319499946314, 38.595298001054722 ], [ -122.68369699951225, 38.595508000889353 ], [ -122.684997000075356, 38.596508000992053 ], [ -122.686198000210197, 38.597808001075421 ], [ -122.686324000502339, 38.598442000501045 ], [ -122.686659999612274, 38.599212000922343 ], [ -122.686857999867939, 38.599510000830648 ], [ -122.687362000226301, 38.60021900057491 ], [ -122.687666999615345, 38.60086000101871 ], [ -122.687576000160718, 38.601722001080979 ], [ -122.687849999940667, 38.60271400086345 ], [ -122.687805000119639, 38.602981001079712 ], [ -122.68777400003998, 38.60321000101797 ], [ -122.687850000193549, 38.60344700061713 ], [ -122.687997999641212, 38.60360800068819 ], [ -122.688598000472638, 38.604179001122468 ], [ -122.689619999461215, 38.605407001021128 ], [ -122.690337999457157, 38.606102000454278 ], [ -122.691131000394918, 38.606796001122405 ], [ -122.691786999506775, 38.607299000727956 ], [ -122.692320999995673, 38.607597000465113 ], [ -122.693359000255967, 38.607811000820512 ], [ -122.694030000250692, 38.608024000526967 ], [ -122.69459800018204, 38.608308000306323 ], [ -122.694868999876135, 38.608383000732672 ], [ -122.695525000349349, 38.60855800079014 ], [ -122.695891999782972, 38.608619000719699 ], [ -122.696761000071206, 38.608863000936744 ], [ -122.697173000368181, 38.608993000675277 ], [ -122.698042999418902, 38.609382000470099 ], [ -122.699035000257396, 38.609764000750623 ], [ -122.699691000060895, 38.610054000346672 ], [ -122.700468999989639, 38.61081700065629 ], [ -122.70175100039674, 38.611251000406618 ], [ -122.702742999969345, 38.611305000691551 ], [ -122.703811000468008, 38.611404000394664 ], [ -122.704406000530554, 38.611427001063035 ], [ -122.705275999634466, 38.611648000672531 ], [ -122.706221999766825, 38.611885000579782 ], [ -122.707244000462467, 38.612167001136072 ], [ -122.708206000486499, 38.612449000871344 ], [ -122.708586999956381, 38.61296000032273 ], [ -122.709998999401563, 38.614208000600925 ], [ -122.710952999973003, 38.61418900093949 ], [ -122.711959999939864, 38.614189000357072 ], [ -122.713593000281548, 38.614532000462489 ], [ -122.714813999966523, 38.614723000264746 ], [ -122.71633900004278, 38.614463000843529 ], [ -122.7176340002042, 38.614278000785049 ], [ -122.717941999859505, 38.614234000270706 ], [ -122.718949000522016, 38.614151000952958 ], [ -122.719909999916823, 38.614021001002392 ], [ -122.720917000005073, 38.614021000837134 ], [ -122.721923999676321, 38.613914000562588 ], [ -122.722839999579946, 38.613411000929496 ], [ -122.723893000300478, 38.612945000475442 ], [ -122.725478999846075, 38.612869000682593 ], [ -122.726745999606663, 38.612808000384646 ], [ -122.727737999866889, 38.613288000976439 ], [ -122.728257000490956, 38.613327000719337 ], [ -122.728607999827332, 38.613250000867318 ], [ -122.729584000008757, 38.613029000557276 ], [ -122.730927000041319, 38.613021000905171 ], [ -122.732192999469632, 38.613105000820347 ], [ -122.734253000471782, 38.613365000807342 ], [ -122.735154000362485, 38.6128840002483 ], [ -122.735717999989788, 38.612228000722823 ], [ -122.736512000428206, 38.61145000102691 ], [ -122.736893000215318, 38.61132800035827 ], [ -122.737472999649512, 38.611282000242682 ], [ -122.73769900021972, 38.611308000916566 ], [ -122.738098999458117, 38.611343000716253 ], [ -122.739304999655488, 38.611694000529148 ], [ -122.740067999643912, 38.61202200026586 ], [ -122.74108999999477, 38.613472000980039 ], [ -122.741655000206379, 38.613967000985753 ], [ -122.74261600047771, 38.614746000530289 ], [ -122.743761000372999, 38.616066001105821 ], [ -122.744278999787795, 38.617103000680672 ], [ -122.745119000386893, 38.617538000787221 ], [ -122.74556100033449, 38.61761400055267 ], [ -122.746583000137548, 38.618057000815341 ], [ -122.747696999463358, 38.618133000431826 ], [ -122.7483999996672, 38.618108001036177 ], [ -122.74893299966439, 38.618087000862744 ], [ -122.749894999669522, 38.618087000884252 ], [ -122.750489999567961, 38.61795000110758 ], [ -122.750916999816127, 38.617584000941569 ], [ -122.750902000482398, 38.617111000392704 ], [ -122.750809999858603, 38.616752000794364 ], [ -122.750656999722892, 38.616210001019638 ], [ -122.750429000399521, 38.615432000584455 ], [ -122.750458999920539, 38.614364000814589 ], [ -122.750901999729422, 38.613647000759002 ], [ -122.751099999728282, 38.613341000935996 ], [ -122.752451000186525, 38.613066000822705 ], [ -122.753063999576142, 38.612609000245506 ], [ -122.753676999421785, 38.612334000618553 ], [ -122.754668999737063, 38.612129001041339 ], [ -122.756389999529077, 38.611948000440329 ], [ -122.75677000018139, 38.612108000334828 ], [ -122.757061000146763, 38.612429000888554 ], [ -122.757118000413115, 38.61352600090455 ], [ -122.757263999393544, 38.613710000466291 ], [ -122.757847999949377, 38.613894000451751 ], [ -122.758460000182069, 38.613917000301008 ], [ -122.759072999978315, 38.613757000819234 ], [ -122.759562999630361, 38.613462000769182 ], [ -122.760327999857765, 38.613002000301485 ], [ -122.760998999762506, 38.612522000899929 ], [ -122.76260499981484, 38.61163000047889 ], [ -122.763391999494019, 38.611401000472917 ], [ -122.764794000276808, 38.611356000494695 ], [ -122.765902999564773, 38.61089900098267 ], [ -122.76712799981847, 38.610556000294515 ], [ -122.76759599997014, 38.610004001098716 ], [ -122.76777000019176, 38.609801001031357 ], [ -122.768061999849266, 38.609618000532478 ], [ -122.768441999431033, 38.609595000302406 ], [ -122.768850000061761, 38.609778000515142 ], [ -122.769666999471724, 38.609962000614793 ], [ -122.771446000321333, 38.610031001057884 ], [ -122.771474999825884, 38.610054000301531 ], [ -122.77226299965325, 38.610375000916413 ], [ -122.772613000454669, 38.610627000322786 ], [ -122.772612000470744, 38.611085000655393 ], [ -122.772466000325608, 38.611291001131512 ], [ -122.772465999524115, 38.611840000533462 ], [ -122.772844999703807, 38.612115000879008 ], [ -122.773341000114272, 38.611863001063469 ], [ -122.774187000393127, 38.611657000617726 ], [ -122.777162999730791, 38.611636000517144 ], [ -122.778650999648178, 38.611911000617937 ], [ -122.779905000055876, 38.612392000996529 ], [ -122.78098400003401, 38.613193000765087 ], [ -122.78150899952503, 38.613468001073549 ], [ -122.781976000531003, 38.613583001127616 ], [ -122.784046999513649, 38.613515000959296 ], [ -122.78393000042621, 38.615300000591553 ], [ -122.783812999461091, 38.615598000322173 ], [ -122.783929000071225, 38.616925000524802 ], [ -122.785124999572687, 38.618116000517233 ], [ -122.78538700026931, 38.618665000779174 ], [ -122.785648999802717, 38.619741001048766 ], [ -122.78564999998359, 38.621298000353448 ], [ -122.785766000005694, 38.621595000840806 ], [ -122.786145999901834, 38.622076001097248 ], [ -122.786408000271734, 38.622832000879797 ], [ -122.786729000482538, 38.623244000669821 ], [ -122.787866000360196, 38.62422800064148 ], [ -122.788215999841185, 38.624582000334009 ], [ -122.788245999402491, 38.624909000921342 ], [ -122.788508000352095, 38.62548100104673 ], [ -122.788800000167967, 38.625825000787039 ], [ -122.788448999565105, 38.627038000337841 ], [ -122.788303000532409, 38.628617000309973 ], [ -122.788214999540415, 38.628732000748236 ], [ -122.788157000112577, 38.629372000518735 ], [ -122.78777699953848, 38.630334000792999 ], [ -122.787777000397881, 38.631043000566741 ], [ -122.787921999540217, 38.631433000821914 ], [ -122.788505999740835, 38.631891000689407 ], [ -122.790576999575137, 38.633081000932954 ], [ -122.791453000332581, 38.633745000585627 ], [ -122.79229900048658, 38.634478000430427 ], [ -122.79334900001561, 38.635096000351027 ], [ -122.793787000102526, 38.635463000899371 ], [ -122.793961999597755, 38.635852000908386 ], [ -122.794048999706277, 38.636493000710836 ], [ -122.794223999801233, 38.63672200108121 ], [ -122.794398999391234, 38.637248000247396 ], [ -122.794106999559972, 38.638118000688337 ], [ -122.794107000366509, 38.639468000882637 ], [ -122.795420000456119, 38.640361000904512 ], [ -122.796703999437725, 38.640934000636307 ], [ -122.797374999773183, 38.641529001124916 ], [ -122.79752099944497, 38.641827000733414 ], [ -122.797607999796313, 38.643818001031839 ], [ -122.797490999905094, 38.644618000773448 ], [ -122.796906999820948, 38.645877000700395 ], [ -122.796293999753061, 38.646472000369357 ], [ -122.796235000135184, 38.646976000275252 ], [ -122.796498000267363, 38.647457000896829 ], [ -122.797285999988659, 38.647869000258012 ], [ -122.7978399995134, 38.647983000455611 ], [ -122.799620999454447, 38.647984000871844 ], [ -122.800992999664572, 38.647778000577617 ], [ -122.802103000500765, 38.647779000387665 ], [ -122.80239500031854, 38.647687000443106 ], [ -122.803008000269443, 38.647733000903777 ], [ -122.804467000235817, 38.648328001100474 ], [ -122.804525999487097, 38.648420000244172 ], [ -122.805254999703507, 38.648603000305123 ], [ -122.805314000368966, 38.648672000709574 ], [ -122.806569000277335, 38.649015000498139 ], [ -122.808583000197672, 38.649839000686562 ], [ -122.809050000414317, 38.649885000862582 ], [ -122.809196000272323, 38.649977000826539 ], [ -122.810537999720225, 38.650183001121171 ], [ -122.811033999719101, 38.650206000549289 ], [ -122.811706000534642, 38.650389000774986 ], [ -122.811997999775414, 38.650892000252909 ], [ -122.814098999453805, 38.65132700109293 ], [ -122.815032999942261, 38.651282001006642 ], [ -122.81649299964883, 38.651419001031279 ], [ -122.817106000459404, 38.651648000487576 ], [ -122.818156999803577, 38.652197001033628 ], [ -122.819469999480432, 38.65265500089135 ], [ -122.820550000085674, 38.652792000377545 ], [ -122.82104699983735, 38.652952000817265 ], [ -122.821659999622952, 38.653479000271155 ], [ -122.821717999856745, 38.653731000559304 ], [ -122.821806000525996, 38.653799000430176 ], [ -122.82183499959072, 38.654097000878856 ], [ -122.822010000417464, 38.654257001095509 ], [ -122.822010000439278, 38.654394000631619 ], [ -122.822389999645665, 38.654784000542129 ], [ -122.822827999790007, 38.654990000456742 ], [ -122.82496000018125, 38.655676000635061 ], [ -122.826303000315548, 38.65647700029875 ], [ -122.827295000353303, 38.656889000731439 ], [ -122.82770400050309, 38.657187000364061 ], [ -122.827995999701187, 38.657644000670793 ], [ -122.828199999610291, 38.657805000259089 ], [ -122.828229000500073, 38.658011000295126 ], [ -122.828434000525846, 38.65814800050407 ], [ -122.828666999519854, 38.658514000708962 ], [ -122.829076000138571, 38.658835000992028 ], [ -122.829352999630828, 38.658935001061337 ], [ -122.829456000167099, 38.658972000836002 ], [ -122.830186000096575, 38.659018000573361 ], [ -122.830827999619359, 38.659178000324175 ], [ -122.831149000365841, 38.659178000908703 ], [ -122.83155799993267, 38.659178000293842 ], [ -122.832520999671175, 38.658880000386112 ], [ -122.833426000443012, 38.658903000415783 ], [ -122.834273000167897, 38.659108000752632 ], [ -122.834740000378545, 38.659520000414929 ], [ -122.836315999851337, 38.659268000319244 ], [ -122.837541999676461, 38.659428000334735 ], [ -122.839440000010811, 38.659931000815163 ], [ -122.840608000142538, 38.660366000887414 ], [ -122.842154999562808, 38.661236000706374 ], [ -122.842739000473358, 38.661396000973156 ], [ -122.844169999584125, 38.661304000631283 ], [ -122.849425999830657, 38.662447000531074 ], [ -122.850010000534468, 38.662813001113449 ], [ -122.85030200010803, 38.663202000423041 ], [ -122.850478000032467, 38.663728000616899 ], [ -122.85085799975586, 38.664278000752937 ], [ -122.851325000392237, 38.664598000251992 ], [ -122.851763000459897, 38.665147000470746 ], [ -122.851938999631642, 38.665903000988258 ], [ -122.852493999599105, 38.666314000788724 ], [ -122.853106999572518, 38.666543000442395 ], [ -122.853633000428587, 38.666634001083047 ], [ -122.854156999711648, 38.666485000943553 ], [ -122.854275000477585, 38.666451000247591 ], [ -122.855384000347584, 38.665993000298435 ], [ -122.856522999537503, 38.666153001013072 ], [ -122.857806999517493, 38.666313000275039 ], [ -122.859062999980893, 38.666060000904949 ], [ -122.860085000058518, 38.666106000611215 ], [ -122.860521999890437, 38.66599100028462 ], [ -122.860843000015464, 38.665510001044929 ], [ -122.861222000270459, 38.664892000974049 ], [ -122.861601999798594, 38.664732000263541 ], [ -122.86277000012241, 38.664662000575241 ], [ -122.863319999440435, 38.664703000595793 ], [ -122.863323999450103, 38.663747000761937 ], [ -122.867566999553262, 38.662997001135466 ], [ -122.872285000312402, 38.662163000562757 ], [ -122.872180000177636, 38.661481000517803 ], [ -122.872137999975806, 38.6612020010013 ], [ -122.871669999932649, 38.659371000402558 ], [ -122.871392000015447, 38.65837100094187 ], [ -122.871332000277789, 38.65815500038277 ], [ -122.871122000060836, 38.657398000956427 ], [ -122.870819999519099, 38.656309000837439 ], [ -122.87056800044418, 38.655401001117141 ], [ -122.871066999547097, 38.655286000875947 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1402, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -123.233058999928659, 38.8086330005547 ], [ -123.231873999492947, 38.80864800063415 ], [ -123.227043000205313, 38.808711000833057 ], [ -123.214603999633425, 38.808871000902947 ], [ -123.214293999553277, 38.808875000601368 ], [ -123.208699000228577, 38.808948000567995 ], [ -123.202652999592047, 38.808930000707413 ], [ -123.176655999472089, 38.808855000973224 ], [ -123.168677000350883, 38.808833000286953 ], [ -123.161405999730448, 38.808844000642495 ], [ -123.160381999930365, 38.808845000681146 ], [ -123.142278999687221, 38.808876000711614 ], [ -123.141736000179421, 38.808899000534744 ], [ -123.136254000373185, 38.809137000480916 ], [ -123.136375000032942, 38.8187000005925 ], [ -123.136455000521764, 38.825004001091507 ], [ -123.136456000119821, 38.825069000757381 ], [ -123.13645900044061, 38.825266000328959 ], [ -123.13663599950786, 38.839448000435013 ], [ -123.128037999673779, 38.839341000998942 ], [ -123.126113999726698, 38.83931800029 ], [ -123.118024999863493, 38.839551000596487 ], [ -123.111839999694766, 38.83931900028341 ], [ -123.102348000424101, 38.838964000354359 ], [ -123.099400999908426, 38.838855000461727 ], [ -123.091755999407908, 38.838666000248978 ], [ -123.081229999791546, 38.83840600054333 ], [ -123.08108000041841, 38.847408000444652 ], [ -123.081061999533119, 38.848440000482164 ], [ -123.081000000170519, 38.85005100104366 ], [ -123.080997000372989, 38.852438000926192 ], [ -123.077641999556519, 38.852407000367371 ], [ -123.074978000425318, 38.852382000727388 ], [ -123.070751999456306, 38.852343000777225 ], [ -123.068239000151337, 38.852349000838686 ], [ -123.065658999928331, 38.852297000376502 ], [ -123.062108999541209, 38.852276000293827 ], [ -123.056566000272397, 38.852405000899559 ], [ -123.049950000034571, 38.852548000786221 ], [ -123.043881000489762, 38.852652000824065 ], [ -123.035623000066465, 38.852663001005936 ], [ -123.031623999954263, 38.852711000695955 ], [ -123.031484000137141, 38.852713000338277 ], [ -123.031332000085555, 38.852721001143344 ], [ -123.030048000373739, 38.852789001096085 ], [ -123.029463000217646, 38.85282000038309 ], [ -123.029040999896068, 38.852496000805132 ], [ -123.029028000204733, 38.852479000977262 ], [ -123.027431999460106, 38.850390000696947 ], [ -123.026438000113174, 38.849359000386706 ], [ -123.025384000228001, 38.848535000747191 ], [ -123.024330999681084, 38.84789400049587 ], [ -123.020322000337785, 38.846038000813934 ], [ -123.019532000456863, 38.845786001048893 ], [ -123.018299000237732, 38.845020000537779 ], [ -123.017356999596572, 38.844307000717109 ], [ -123.017017000409425, 38.843594000784194 ], [ -123.016834000372384, 38.842698000309916 ], [ -123.016650999390379, 38.840112000263815 ], [ -123.01641499962912, 38.839237000477667 ], [ -123.015839999934045, 38.838483000335309 ], [ -123.014854999423193, 38.837225001104819 ], [ -123.012662000125289, 38.834339000665544 ], [ -123.012077999589863, 38.832966000621624 ], [ -123.01196100012524, 38.832989000390072 ], [ -123.011316999941954, 38.832737000643249 ], [ -123.010877999627994, 38.832393000460279 ], [ -123.010501000032477, 38.832210000909022 ], [ -123.009649999653362, 38.831797000693783 ], [ -123.009065000212715, 38.831248000306218 ], [ -123.008480000053339, 38.830355000889526 ], [ -123.008217000034705, 38.830103000718651 ], [ -123.007963999437521, 38.830014000553575 ], [ -123.007631999878811, 38.82989700051494 ], [ -123.006519999493392, 38.829759000828602 ], [ -123.006080999888709, 38.829438000825945 ], [ -123.005614000060191, 38.82872800032137 ], [ -123.005325999955417, 38.82855100030789 ], [ -123.004941000190655, 38.828316000410673 ], [ -123.004795000485231, 38.828133000254027 ], [ -123.004501999589323, 38.82811000073248 ], [ -123.003621000519445, 38.827794000931931 ], [ -123.001530999789026, 38.827045000797277 ], [ -123.001110000068977, 38.826757000322971 ], [ -123.000757999607373, 38.826620000295542 ], [ -123.000263000246889, 38.826392001116481 ], [ -122.999590000349116, 38.825957000479299 ], [ -122.999822999730156, 38.825682000456993 ], [ -123.001111000129896, 38.825132000362309 ], [ -123.002778999737131, 38.824378000275154 ], [ -123.002980999554026, 38.824178001108898 ], [ -123.003177999542899, 38.823896000397539 ], [ -123.003468999909472, 38.823534000344587 ], [ -123.003420999754411, 38.823312001142156 ], [ -123.003364999809094, 38.82305000041287 ], [ -123.003452999942468, 38.822890000837774 ], [ -123.003248999755257, 38.822158000836794 ], [ -123.002839999831579, 38.821402000360891 ], [ -123.002723000362366, 38.82112700052145 ], [ -123.002255999762554, 38.820280000611888 ], [ -123.001993000510282, 38.820005000914044 ], [ -123.001963999387741, 38.819708000408866 ], [ -123.001554000058135, 38.818975000938828 ], [ -123.001539000512309, 38.818793000302286 ], [ -123.00146600033905, 38.818678001027365 ], [ -123.001407999703758, 38.818403000789509 ], [ -123.001110999947784, 38.818300000964165 ], [ -123.000755999981934, 38.818152000252766 ], [ -123.000315000512515, 38.817442000448381 ], [ -123.000167000192221, 38.817076001101306 ], [ -122.999932999602066, 38.816962000344773 ], [ -122.999363000050522, 38.81602400031597 ], [ -122.998555999749186, 38.814697000755338 ], [ -122.998424999855288, 38.8139850007368 ], [ -122.998408999419965, 38.813895000317871 ], [ -122.998579999886715, 38.813581000743717 ], [ -122.998291999431444, 38.813712000984282 ], [ -122.997940999404477, 38.81369000060252 ], [ -122.997209000362218, 38.813003000588495 ], [ -122.997091999890699, 38.812660000934656 ], [ -122.996506000214481, 38.812065000755318 ], [ -122.996271999923849, 38.811974001109142 ], [ -122.996213000418578, 38.811814000999107 ], [ -122.994772000304437, 38.810629000919867 ], [ -122.994515000119506, 38.81041800026555 ], [ -122.993783000274064, 38.80970900078686 ], [ -122.993529999459682, 38.809409000871085 ], [ -122.99281700026846, 38.808565000799355 ], [ -122.992583000240415, 38.808405000489962 ], [ -122.9919389994526, 38.807673000629421 ], [ -122.991616999465506, 38.807100000702683 ], [ -122.990651000492434, 38.806139000949898 ], [ -122.990474999678995, 38.805613000607629 ], [ -122.99038599994968, 38.804789000587753 ], [ -122.990999999811152, 38.803415001075685 ], [ -122.991434999746588, 38.802134000716229 ], [ -122.991466999927056, 38.802042000280821 ], [ -122.991349000469071, 38.801241000642406 ], [ -122.991202000409331, 38.800279000672028 ], [ -122.991077000347843, 38.799673000757593 ], [ -122.990731999400325, 38.797992000328136 ], [ -122.990644000482845, 38.796618000969303 ], [ -122.990789999390373, 38.796572000772578 ], [ -122.990817999386621, 38.794535000659494 ], [ -122.990699999759329, 38.79378000033806 ], [ -122.990524000051849, 38.793368000275542 ], [ -122.990419999524732, 38.79291400061156 ], [ -122.990228999909263, 38.792070000564138 ], [ -122.990202000407663, 38.79194900029016 ], [ -122.990141999523416, 38.790232000650178 ], [ -122.989728000177223, 38.789160001003566 ], [ -122.989584999730084, 38.788790001050856 ], [ -122.989497000456169, 38.788744001143741 ], [ -122.989203999697452, 38.787486000871134 ], [ -122.989379000443208, 38.786295000807208 ], [ -122.989260999795462, 38.785677000872248 ], [ -122.988614999783323, 38.78490500110351 ], [ -122.987827000387938, 38.783961001134742 ], [ -122.986686000192492, 38.782268000472037 ], [ -122.986216999475218, 38.780711000898101 ], [ -122.986129000437685, 38.780643000840264 ], [ -122.986011000425975, 38.779659000433369 ], [ -122.985922999619319, 38.779590000810678 ], [ -122.985893999989699, 38.77929200026928 ], [ -122.985571999537072, 38.77865200054471 ], [ -122.984665000233306, 38.777554000383205 ], [ -122.98394999965096, 38.777053000647435 ], [ -122.983816000408368, 38.776959000927583 ], [ -122.983261000426992, 38.776754000244253 ], [ -122.981902000396445, 38.776444000585514 ], [ -122.98185700017892, 38.776434000530763 ], [ -122.981795999548837, 38.776431000962027 ], [ -122.980287999801746, 38.776359000658445 ], [ -122.978990999519141, 38.776297000379103 ], [ -122.976336999541545, 38.776266000255902 ], [ -122.975339999920081, 38.776255000823092 ], [ -122.975135000503499, 38.776193001026222 ], [ -122.974560000379938, 38.775906000505927 ], [ -122.97376799989263, 38.775215000781863 ], [ -122.973279000282716, 38.774653000261395 ], [ -122.973270000111228, 38.774317000348219 ], [ -122.973460999547044, 38.773811000497751 ], [ -122.973538000356868, 38.773686000345876 ], [ -122.973699000128121, 38.772841000723979 ], [ -122.973584999822251, 38.772219000371685 ], [ -122.973196999659351, 38.771729000338212 ], [ -122.972438999912228, 38.771080000696905 ], [ -122.972058999862654, 38.770966000635568 ], [ -122.972000000307503, 38.770760000416345 ], [ -122.971795000392845, 38.770691000715217 ], [ -122.97165599958052, 38.770542000785518 ], [ -122.971561000020131, 38.770440000272011 ], [ -122.971269000330111, 38.769799000524969 ], [ -122.971190999399141, 38.769738000862993 ], [ -122.971093000461536, 38.769662000712799 ], [ -122.971034999413718, 38.769433000511867 ], [ -122.970918000189101, 38.769364000306012 ], [ -122.970712999550528, 38.768929000530832 ], [ -122.969952000097166, 38.768105000516201 ], [ -122.968635999623871, 38.767167000992828 ], [ -122.967963999917302, 38.766870000695228 ], [ -122.967934000235985, 38.766755000245858 ], [ -122.967028000477171, 38.766138000587134 ], [ -122.966823000021435, 38.765863000435544 ], [ -122.966881000225001, 38.765680000578946 ], [ -122.967671000141223, 38.764970000890514 ], [ -122.967728999759075, 38.764695000825846 ], [ -122.968109000254273, 38.763986000687012 ], [ -122.968180999403245, 38.763740000288728 ], [ -122.968234000389558, 38.763559000737054 ], [ -122.96857600042101, 38.762932000700708 ], [ -122.96921900051187, 38.762658000912452 ], [ -122.969130999547815, 38.76247500094874 ], [ -122.967697999558297, 38.761193000351561 ], [ -122.967697999944136, 38.760873001144397 ], [ -122.967752000513542, 38.760809000351173 ], [ -122.967921000408495, 38.760610000329656 ], [ -122.969361000162237, 38.758928000547023 ], [ -122.970228999886487, 38.757914000504314 ], [ -122.970481000316383, 38.757620000792443 ], [ -122.970970999821063, 38.757049000456114 ], [ -122.971585000248183, 38.757690000858673 ], [ -122.972404000528272, 38.758834001143903 ], [ -122.973368999944014, 38.759772000882414 ], [ -122.973751000200579, 38.760126000400696 ], [ -122.973925000478815, 38.760299000543078 ], [ -122.97521200046674, 38.761283000709838 ], [ -122.977053999688451, 38.761969000660883 ], [ -122.97732100000303, 38.762133000387273 ], [ -122.977944999781073, 38.762515000651433 ], [ -122.978136000103859, 38.762632000609507 ], [ -122.979772999489441, 38.76336400047964 ], [ -122.980211999734038, 38.763410000268976 ], [ -122.980884000136115, 38.763730000336487 ], [ -122.982251999538875, 38.763929000248481 ], [ -122.982718000154335, 38.76399800074438 ], [ -122.983077000032097, 38.76405000044646 ], [ -122.985357999764915, 38.764186000653055 ], [ -122.985855000365362, 38.764277000946031 ], [ -122.988895999530897, 38.765581001012556 ], [ -122.990094999955346, 38.765992000833286 ], [ -122.991301999717535, 38.766616000715537 ], [ -122.991821000392719, 38.766884000725803 ], [ -122.992757000488936, 38.767525001058615 ], [ -122.993604999687605, 38.768348000471775 ], [ -122.993955999873918, 38.768119000808547 ], [ -122.99433600038823, 38.767982000301252 ], [ -122.994599000201319, 38.767844001017181 ], [ -122.995038000068377, 38.767615000315644 ], [ -122.995331000183143, 38.767478000946042 ], [ -122.995740000337179, 38.767272000602105 ], [ -122.995593000035285, 38.766974001080115 ], [ -122.994862000096404, 38.766150000971585 ], [ -122.994626999541126, 38.765601000955101 ], [ -122.994275000232122, 38.765075000764341 ], [ -122.99427500021342, 38.764960000391788 ], [ -122.994069999386483, 38.764732000835082 ], [ -122.993542999869106, 38.763244000550877 ], [ -122.992937000038282, 38.762370000369486 ], [ -122.992781999585659, 38.762146000867205 ], [ -122.991640999976141, 38.761139000523407 ], [ -122.991494999578279, 38.760841001013333 ], [ -122.9914940005104, 38.760017000977449 ], [ -122.991355999694179, 38.759921000623031 ], [ -122.991231000458015, 38.75983500049464 ], [ -122.991231000346161, 38.759629000479222 ], [ -122.991639999814282, 38.758988000881033 ], [ -122.991667999656741, 38.758507000860007 ], [ -122.991585999972713, 38.758406000516587 ], [ -122.991504000519697, 38.758305001015103 ], [ -122.990392000201652, 38.756939000326142 ], [ -122.990234999975058, 38.756746001042579 ], [ -122.990029999590831, 38.756288001106327 ], [ -122.990008999851014, 38.755349000848803 ], [ -122.98999999957806, 38.754914000871672 ], [ -122.991371999805139, 38.752785000546623 ], [ -122.991392000476893, 38.752478000876174 ], [ -122.991430000107414, 38.751892000809633 ], [ -122.991342000435864, 38.751824000737315 ], [ -122.99133100010603, 38.751601000775302 ], [ -122.991311999908717, 38.751183000528926 ], [ -122.991224999742641, 38.751137000801187 ], [ -122.991106999531908, 38.750473000362497 ], [ -122.990654000185614, 38.749909001083495 ], [ -122.990142000177514, 38.749451001091806 ], [ -122.989000999512967, 38.748922000867779 ], [ -122.988361000095793, 38.748369000681173 ], [ -122.987860999550549, 38.747938000880971 ], [ -122.987479999833539, 38.747389001073905 ], [ -122.987479999547915, 38.746679000543438 ], [ -122.98777200008, 38.745947000710729 ], [ -122.987771000430698, 38.74546600111573 ], [ -122.986241999485088, 38.744628000497059 ], [ -122.986017000287987, 38.744505000327329 ], [ -122.985549000233775, 38.744093000867039 ], [ -122.985169000049325, 38.743430000910443 ], [ -122.984115999460272, 38.742560001134272 ], [ -122.984116000053206, 38.742308000902895 ], [ -122.985109000008052, 38.741370000531354 ], [ -122.985984999604753, 38.740339000583838 ], [ -122.986072000405784, 38.739515000914189 ], [ -122.985986000166491, 38.739376000453895 ], [ -122.985574999886666, 38.738714000570816 ], [ -122.983995999856603, 38.736952000843324 ], [ -122.983906999420697, 38.735991001046706 ], [ -122.983851999584772, 38.735898001051773 ], [ -122.983732000389082, 38.735693000983481 ], [ -122.983310999941835, 38.73527300053383 ], [ -122.982883999919892, 38.734847000328799 ], [ -122.982591000148574, 38.733794000432937 ], [ -122.982298000267207, 38.73335900068097 ], [ -122.982269000078119, 38.732306000635376 ], [ -122.982004999882747, 38.731757001009989 ], [ -122.980747999886049, 38.730819000537387 ], [ -122.98054299987048, 38.730521000407272 ], [ -122.980425999628608, 38.730132000251047 ], [ -122.980425999894294, 38.729916000623753 ], [ -122.980425999724673, 38.729651000360704 ], [ -122.98069800046072, 38.729271000976716 ], [ -122.980855000155088, 38.729054000690773 ], [ -122.980951000121266, 38.72891900103518 ], [ -122.980950999704973, 38.72839200042673 ], [ -122.980014999796438, 38.72717900029695 ], [ -122.980014999860458, 38.726836000252476 ], [ -122.980628999986919, 38.726492000487937 ], [ -122.980540999456366, 38.72635500050356 ], [ -122.978904000495348, 38.72562300051549 ], [ -122.978723999483279, 38.725426000987781 ], [ -122.9781799995868, 38.724833001143288 ], [ -122.978086000343552, 38.724731000819652 ], [ -122.977822000291312, 38.724204000520935 ], [ -122.977808000354386, 38.724043000541556 ], [ -122.977793000391316, 38.723861001106201 ], [ -122.977704999959428, 38.723770000481693 ], [ -122.977576999946734, 38.722714001133141 ], [ -122.977411999434381, 38.721343000778866 ], [ -122.977499000273795, 38.721137000861653 ], [ -122.977381999587834, 38.720405001120639 ], [ -122.977369999714881, 38.72017400048972 ], [ -122.977352000395939, 38.719810000879548 ], [ -122.977439999814848, 38.719741001093197 ], [ -122.977497999408271, 38.719237000815767 ], [ -122.977293999987424, 38.719054000378662 ], [ -122.977142999409438, 38.718554000331835 ], [ -122.977059000111296, 38.718276000713658 ], [ -122.977029000300917, 38.716925000732303 ], [ -122.976122999971423, 38.716102000826638 ], [ -122.975977000047862, 38.71553000029008 ], [ -122.975940000481444, 38.713840001092628 ], [ -122.976765000245706, 38.71342300089799 ], [ -122.976793000369227, 38.712714000308367 ], [ -122.976724000512604, 38.712551000950029 ], [ -122.979189000369132, 38.713102001112446 ], [ -122.980154000440962, 38.713674000973946 ], [ -122.981907000353289, 38.714978000725381 ], [ -122.982371000282356, 38.715462000638624 ], [ -122.982520999722411, 38.715619000556153 ], [ -122.982754999818368, 38.715756001100011 ], [ -122.982813999563191, 38.715916000721982 ], [ -122.98386599956936, 38.716900000823131 ], [ -122.98467600008847, 38.718408001015746 ], [ -122.984714000042331, 38.71847900089373 ], [ -122.985796000238565, 38.719372000470614 ], [ -122.987753999961512, 38.719829000790298 ], [ -122.991289999716955, 38.720354000324981 ], [ -122.992457999654349, 38.720445000547457 ], [ -122.993159999536076, 38.72043600039153 ], [ -122.994270000359222, 38.720421000456803 ], [ -122.996404000478933, 38.720534000586149 ], [ -122.998068999996363, 38.720466000927118 ], [ -122.998566000421576, 38.720374000408263 ], [ -122.998669000058484, 38.720177000290683 ], [ -122.998769999780876, 38.719985000697235 ], [ -122.998856000154277, 38.719923000451296 ], [ -122.999704000178326, 38.71932000059833 ], [ -123.000307999428856, 38.718408000883969 ], [ -122.999875000435296, 38.717768000774882 ], [ -122.999288999989972, 38.717274000953068 ], [ -122.998254000507487, 38.716750001054429 ], [ -122.996701999896359, 38.716406000851542 ], [ -122.995402999713676, 38.715910000890553 ], [ -122.994893999471969, 38.715058000834283 ], [ -122.994790999428361, 38.714284000835832 ], [ -122.994761999446752, 38.714241000640904 ], [ -122.99470299970001, 38.713692000941222 ], [ -122.994819000396433, 38.713348000480728 ], [ -122.995053000189245, 38.713005000740758 ], [ -122.995577999593024, 38.712707000596353 ], [ -122.996893000198199, 38.712455000855854 ], [ -122.997264999883924, 38.712432000314351 ], [ -122.998851000339698, 38.712339000524253 ], [ -122.999522999951665, 38.712156000721507 ], [ -122.999990000204519, 38.711927000971009 ], [ -123.001110999876616, 38.711113000928947 ], [ -123.001277999651336, 38.710998000489283 ], [ -123.001557000410813, 38.710805000300788 ], [ -123.001707000209876, 38.710347000250842 ], [ -123.001766000312216, 38.709546000316095 ], [ -123.002176000309134, 38.709019000952303 ], [ -123.002526999861104, 38.708745000695629 ], [ -123.003082000452892, 38.708471000481801 ], [ -123.003665999864097, 38.708334000538294 ], [ -123.004075000242523, 38.708334000517908 ], [ -123.004746999700444, 38.708517000490303 ], [ -123.005038999612793, 38.708746000843696 ], [ -123.005272000136884, 38.709181000433567 ], [ -123.005271000521361, 38.710166000835535 ], [ -123.005067000297842, 38.71046300111162 ], [ -123.004599000536217, 38.710829000667914 ], [ -123.004190000267045, 38.711035000656928 ], [ -123.003722000398398, 38.711424001098869 ], [ -123.003516999806109, 38.711790001114835 ], [ -123.003400000409883, 38.712408000660695 ], [ -123.003720999725488, 38.712866000395863 ], [ -123.004333999824638, 38.71323200079771 ], [ -123.00538600004171, 38.713233000638709 ], [ -123.006787999556025, 38.713417000894154 ], [ -123.007605999825586, 38.713669000691027 ], [ -123.008919999412086, 38.713853000885948 ], [ -123.012046000246585, 38.713831000386342 ], [ -123.012545000425547, 38.713970000886917 ], [ -123.012864000016521, 38.714060000413689 ], [ -123.013184999635712, 38.71418200064425 ], [ -123.013861999409983, 38.714439001039104 ], [ -123.014176000333805, 38.714558000243727 ], [ -123.014674999415277, 38.714748001119979 ], [ -123.015161000243992, 38.714934000307991 ], [ -123.016063000402283, 38.715279001094878 ], [ -123.016839000269201, 38.715576000964212 ], [ -123.017128999913055, 38.715687000402461 ], [ -123.018794000183121, 38.716100000398114 ], [ -123.019349000138831, 38.71614600070518 ], [ -123.019961999741568, 38.716032000266381 ], [ -123.022621999696639, 38.715003000360909 ], [ -123.023118000067427, 38.714614000990757 ], [ -123.023557000032469, 38.713973000523417 ], [ -123.02411199982177, 38.713401000361536 ], [ -123.024579999590244, 38.713149000557998 ], [ -123.027326999873509, 38.712029000691601 ], [ -123.028085999735424, 38.711891000642915 ], [ -123.029080999969779, 38.711892001041491 ], [ -123.029782000336439, 38.71219000080999 ], [ -123.03007399975786, 38.712510000948861 ], [ -123.030335999791106, 38.713037001088935 ], [ -123.030687000437624, 38.713380000465655 ], [ -123.033432999918745, 38.714090000990865 ], [ -123.034308999945665, 38.714480000484329 ], [ -123.034776000340713, 38.714594000556204 ], [ -123.036266000370674, 38.714595000611368 ], [ -123.036937999694246, 38.714938000980517 ], [ -123.037639000378675, 38.715144000702132 ], [ -123.038340999696885, 38.715190000435335 ], [ -123.039333999828727, 38.715030000476773 ], [ -123.040092999550339, 38.715214000601016 ], [ -123.04079500028088, 38.715214001101081 ], [ -123.042665000452203, 38.71441300044004 ], [ -123.044943999446346, 38.714047000279791 ], [ -123.045731999974166, 38.714093000963004 ], [ -123.046461999751983, 38.715123000512541 ], [ -123.046491999444342, 38.715283000257529 ], [ -123.046666999438244, 38.715329000652098 ], [ -123.046725000382111, 38.71562700031285 ], [ -123.047075999994391, 38.715970000788673 ], [ -123.0473679994072, 38.716176000655487 ], [ -123.049149999720726, 38.716314000852655 ], [ -123.051661999756277, 38.717321000709454 ], [ -123.05250999982691, 38.718008001087256 ], [ -123.053297999853029, 38.71832900055572 ], [ -123.054146000466758, 38.718535000792322 ], [ -123.05619099952348, 38.718466000461618 ], [ -123.056365999688794, 38.718512000729937 ], [ -123.057175999526052, 38.71861700034443 ], [ -123.057243000300573, 38.718626000981317 ], [ -123.058762000345936, 38.719405000766038 ], [ -123.059755999700883, 38.719634001142943 ], [ -123.060252999500818, 38.71967800027825 ], [ -123.061667999986071, 38.719805001041642 ], [ -123.061801999726299, 38.719817000680344 ], [ -123.063058000154157, 38.719634000808718 ], [ -123.063758999916445, 38.719290001089178 ], [ -123.064576999839147, 38.719176000899694 ], [ -123.065599999527919, 38.719588001079437 ], [ -123.066768999414379, 38.720687001099492 ], [ -123.067090000307289, 38.721099000297876 ], [ -123.06735299947637, 38.721648000354932 ], [ -123.069019000461779, 38.723205000628852 ], [ -123.069602999912689, 38.724074000443046 ], [ -123.070421000514528, 38.724830001057249 ], [ -123.070860000209052, 38.725356000402257 ], [ -123.070888999948835, 38.725539000370425 ], [ -123.071239000059791, 38.725768000461251 ], [ -123.071386000133899, 38.726043000785424 ], [ -123.072067999681039, 38.726658000384042 ], [ -123.072933999424777, 38.727439000799002 ], [ -123.074178000462155, 38.727893001075216 ], [ -123.075068000317742, 38.728217000249622 ], [ -123.07518500025877, 38.72837700034308 ], [ -123.075711000101009, 38.72856000096985 ], [ -123.075973999476318, 38.728744000409456 ], [ -123.076821000508914, 38.728927000570721 ], [ -123.077580999968632, 38.728766000812499 ], [ -123.078925000446858, 38.729087000936111 ], [ -123.079538999395169, 38.729499000565944 ], [ -123.080736999836006, 38.729910000323329 ], [ -123.081613999747333, 38.730414001109125 ], [ -123.082169000243638, 38.730620000864846 ], [ -123.082491000400964, 38.731077000764927 ], [ -123.082899999820413, 38.731421000770624 ], [ -123.083309000504983, 38.731627000281499 ], [ -123.084243999669923, 38.731672001027043 ], [ -123.084653000175066, 38.7318100011192 ], [ -123.085383999684666, 38.732244000844027 ], [ -123.086640000536065, 38.732336000750387 ], [ -123.087575999574355, 38.732793000273475 ], [ -123.088831999854577, 38.732999000716518 ], [ -123.089299999585918, 38.733205001044489 ], [ -123.090295000279355, 38.734097000999178 ], [ -123.090471000161301, 38.734784000351823 ], [ -123.09070399980132, 38.734830000599935 ], [ -123.090966999540257, 38.735013000928937 ], [ -123.092574999965379, 38.735676000316296 ], [ -123.093364000259044, 38.735608000925481 ], [ -123.094327999959489, 38.735630000714096 ], [ -123.095058999561289, 38.735790000942266 ], [ -123.096521000511601, 38.736499001121594 ], [ -123.099004999731363, 38.737231000340621 ], [ -123.099881999662912, 38.73764300108234 ], [ -123.101138999722579, 38.738604000479157 ], [ -123.101635999658697, 38.738695000947672 ], [ -123.10248399940771, 38.739382001041825 ], [ -123.102688999548278, 38.73990800051434 ], [ -123.102776999940573, 38.739954000291938 ], [ -123.102805999641205, 38.740137000860287 ], [ -123.103010999774938, 38.740297000760243 ], [ -123.103653000443572, 38.740228000717643 ], [ -123.103974999441178, 38.740114000829045 ], [ -123.104589000000544, 38.740228000647818 ], [ -123.105991999817547, 38.74029600047033 ], [ -123.106568999797133, 38.740522000794542 ], [ -123.106926999545934, 38.740662000439315 ], [ -123.107803999689693, 38.741417000922162 ], [ -123.108477000142372, 38.741669000346214 ], [ -123.10909100037064, 38.742149000540252 ], [ -123.109528999971772, 38.74230900107996 ], [ -123.109646000523881, 38.742538000780584 ], [ -123.109646000486265, 38.742927000253552 ], [ -123.109939000066547, 38.743225000516638 ], [ -123.110230999387582, 38.743385000430735 ], [ -123.110932999506886, 38.74356800035423 ], [ -123.111078999980151, 38.743682000939309 ], [ -123.111312999977912, 38.744048000552056 ], [ -123.11131299983299, 38.744208000559233 ], [ -123.111576999709072, 38.74450600082465 ], [ -123.112015000484945, 38.744735000339077 ], [ -123.112423999991847, 38.744826000358714 ], [ -123.113097000306126, 38.744757000678369 ], [ -123.113243000232643, 38.744848000553432 ], [ -123.113359999547498, 38.745077000935694 ], [ -123.11356399947617, 38.745192001006181 ], [ -123.114352999518701, 38.744894000976721 ], [ -123.114674999948917, 38.745054000936825 ], [ -123.115085000033062, 38.745740000276022 ], [ -123.115698999427181, 38.746015000430205 ], [ -123.116400000003011, 38.745969000667259 ], [ -123.116925999940648, 38.746266000321704 ], [ -123.117570000454904, 38.746449000249335 ], [ -123.119206999543422, 38.747112000908118 ], [ -123.119460000391825, 38.747330000768358 ], [ -123.11949900001342, 38.74736400096743 ], [ -123.119762999648771, 38.747753000266059 ], [ -123.119996999753354, 38.747844000588685 ], [ -123.120405999543891, 38.747798000430443 ], [ -123.121164999962645, 38.74738600041313 ], [ -123.121634000282739, 38.747546000785434 ], [ -123.123154999726893, 38.748506000838454 ], [ -123.123887000313857, 38.749461000893668 ], [ -123.124412999642573, 38.749910001006107 ], [ -123.124880999553028, 38.750325000822684 ], [ -123.126115000215322, 38.750447000738355 ], [ -123.126852000235488, 38.750745000981006 ], [ -123.12825400006885, 38.751179000308277 ], [ -123.128926999566843, 38.751202000484696 ], [ -123.129803000278017, 38.751455000694513 ], [ -123.130240999602421, 38.751890000257269 ], [ -123.130855000406186, 38.751730000551731 ], [ -123.132813999618691, 38.752074000411106 ], [ -123.133749000395397, 38.752098000460791 ], [ -123.133778000110553, 38.752601000526816 ], [ -123.13395300043679, 38.752853000715021 ], [ -123.134010999608847, 38.753128000297089 ], [ -123.134566000186211, 38.753471000824433 ], [ -123.13468299952919, 38.753723000850201 ], [ -123.134945999768163, 38.753929000416875 ], [ -123.135268000226517, 38.753884000334303 ], [ -123.136232000007595, 38.754708000383616 ], [ -123.138065000016667, 38.755660000903823 ], [ -123.138305999446658, 38.755785000665078 ], [ -123.139036999925921, 38.755945000920534 ], [ -123.140148000467946, 38.756518000604409 ], [ -123.140936999515432, 38.7565870009741 ], [ -123.141432999942865, 38.756908000697003 ], [ -123.141755000445883, 38.757343000515661 ], [ -123.142076000270208, 38.757572000678387 ], [ -123.142515000462723, 38.757572000648118 ], [ -123.143070000520595, 38.757458001090164 ], [ -123.144034999903738, 38.757664000944686 ], [ -123.14467799971375, 38.758077000948695 ], [ -123.146753000084914, 38.758444000340525 ], [ -123.147863999509539, 38.758352000812927 ], [ -123.149969000000539, 38.75849000102496 ], [ -123.150670000426729, 38.758674000271284 ], [ -123.151517999919747, 38.758674000827888 ], [ -123.151810000194217, 38.758743000506037 ], [ -123.152775000326272, 38.758652000850191 ], [ -123.153095999937946, 38.758720000560977 ], [ -123.154618000454064, 38.758606000363024 ], [ -123.155786999396483, 38.758858001108969 ], [ -123.15640100052282, 38.75917900058807 ], [ -123.156868000486142, 38.759271000868154 ], [ -123.157102000202812, 38.759729000245187 ], [ -123.157452999782194, 38.75998000093967 ], [ -123.157949999517527, 38.760141000665129 ], [ -123.158709999566241, 38.760233000983654 ], [ -123.15941099986604, 38.76069100044193 ], [ -123.161486000342833, 38.761607000468224 ], [ -123.162422000246693, 38.762225000511293 ], [ -123.163970999435165, 38.762019000812387 ], [ -123.165053000537981, 38.762019000891506 ], [ -123.166836000522153, 38.762363000647689 ], [ -123.169087000375001, 38.764195000817644 ], [ -123.169788000070199, 38.764401000791558 ], [ -123.170664999438188, 38.764859000962218 ], [ -123.171279000516748, 38.765042000314942 ], [ -123.17209700044944, 38.765500000421923 ], [ -123.172331000414772, 38.765500000790283 ], [ -123.173061999566528, 38.765821001054768 ], [ -123.173704999784732, 38.766576000813089 ], [ -123.174114000464868, 38.767858000766964 ], [ -123.175487999510693, 38.768568000440986 ], [ -123.177418000525208, 38.768522000806456 ], [ -123.177944000217835, 38.768637000685978 ], [ -123.178937999598972, 38.769163000406159 ], [ -123.180137000452788, 38.769369000946178 ], [ -123.181862000266989, 38.770766000258774 ], [ -123.182096000107649, 38.770857001054885 ], [ -123.183615999633588, 38.770903000481873 ], [ -123.185634000098148, 38.771269000475428 ], [ -123.188471000131713, 38.770491001018513 ], [ -123.189785999552598, 38.77028500045752 ], [ -123.19028299962423, 38.770102000978774 ], [ -123.190516999798376, 38.769919000331846 ], [ -123.191775000507818, 38.769392000433683 ], [ -123.194083999433317, 38.768660000963308 ], [ -123.194669000012453, 38.768683000996496 ], [ -123.195545999985796, 38.768912000497224 ], [ -123.196539999398212, 38.768866001049155 ], [ -123.197475999582068, 38.768568000467134 ], [ -123.198821000394759, 38.768660000661917 ], [ -123.199697999838151, 38.768591000635695 ], [ -123.200721000352146, 38.768774000783004 ], [ -123.202417000492233, 38.769346000812838 ], [ -123.204463999716666, 38.76962000083531 ], [ -123.205135999691606, 38.770101000666507 ], [ -123.206129999531953, 38.770032001099992 ], [ -123.207738999700354, 38.770764000530043 ], [ -123.209346999827574, 38.770924000683472 ], [ -123.210077999701454, 38.771290000446925 ], [ -123.210312000178064, 38.771588001075855 ], [ -123.210311999926219, 38.771702000850766 ], [ -123.210486999490584, 38.771885000856557 ], [ -123.21118899978427, 38.772183000301737 ], [ -123.211715000276811, 38.772068001123714 ], [ -123.212154000511248, 38.772091000446473 ], [ -123.213382000109803, 38.772572000867711 ], [ -123.213557999482347, 38.772709000521886 ], [ -123.213937999897425, 38.773808000819059 ], [ -123.214348000134763, 38.774174000270115 ], [ -123.214522999955534, 38.77415100035735 ], [ -123.215634000529533, 38.774036000540413 ], [ -123.216393999666835, 38.773624000571914 ], [ -123.216890999464468, 38.773509000275766 ], [ -123.217388000451479, 38.772914000787623 ], [ -123.217650999655177, 38.772822000251665 ], [ -123.218733000315197, 38.773028000806306 ], [ -123.219347000059415, 38.772959001026024 ], [ -123.219756000117656, 38.772753000377698 ], [ -123.220078000472327, 38.77231800105546 ], [ -123.220078000137931, 38.772204000408394 ], [ -123.220458999743116, 38.772066000889815 ], [ -123.220927000272681, 38.772158000711805 ], [ -123.222710000342531, 38.771951001067009 ], [ -123.223792000505838, 38.771928000988311 ], [ -123.225370999402912, 38.771584000343665 ], [ -123.226218999553126, 38.771859000375102 ], [ -123.227330000528781, 38.772087000651744 ], [ -123.227965999789163, 38.772324000407117 ], [ -123.228499999486516, 38.772522000690728 ], [ -123.229582000359926, 38.772704000875741 ], [ -123.230781000533824, 38.773482000660458 ], [ -123.230927000171135, 38.77368800071082 ], [ -123.231454000453738, 38.773871000399659 ], [ -123.231892000228328, 38.773825000716734 ], [ -123.232301000143309, 38.773482001048428 ], [ -123.233236999569883, 38.77306900096454 ], [ -123.234084999584638, 38.773161001050418 ], [ -123.23507899992407, 38.773091001015928 ], [ -123.235401000099586, 38.773274000364182 ], [ -123.23557600014469, 38.773503000707272 ], [ -123.236073000402897, 38.773366000634283 ], [ -123.23712599954159, 38.773594000482277 ], [ -123.237797999888542, 38.773457001057579 ], [ -123.237857000120925, 38.773136000808634 ], [ -123.238149000287549, 38.772930000887143 ], [ -123.23952300008564, 38.772517000675734 ], [ -123.24002799996056, 38.772575001126484 ], [ -123.240516999617043, 38.772631001086587 ], [ -123.240750999397335, 38.772746000523568 ], [ -123.24113100000487, 38.773226000769775 ], [ -123.241102999623777, 38.773890001126361 ], [ -123.240986000499987, 38.774233001141567 ], [ -123.241014999536361, 38.774462000456211 ], [ -123.241482999826189, 38.774760000778372 ], [ -123.242273000204975, 38.774759001118277 ], [ -123.243794000266718, 38.775789001127769 ], [ -123.244700999799676, 38.776635000684237 ], [ -123.245169000422678, 38.776795000987995 ], [ -123.245871000511031, 38.77670300025305 ], [ -123.246688999394323, 38.776451000372084 ], [ -123.246981999544047, 38.776474000267655 ], [ -123.248035000190512, 38.777000000911841 ], [ -123.248123000221142, 38.77736600027567 ], [ -123.248298999506744, 38.777503000582662 ], [ -123.249234000305506, 38.777365000625615 ], [ -123.250607999422925, 38.777388000708932 ], [ -123.251118000474293, 38.777502000489832 ], [ -123.251772999861558, 38.777663000696542 ], [ -123.251949000467505, 38.777915000771749 ], [ -123.252036000423928, 38.778350000805382 ], [ -123.252415999902709, 38.778739000774202 ], [ -123.253730999582388, 38.779312000448591 ], [ -123.254784000391211, 38.779450000660106 ], [ -123.254958999660815, 38.779564000649458 ], [ -123.254959000275846, 38.779656000877893 ], [ -123.255016999857475, 38.780045000411498 ], [ -123.25516299980967, 38.780388000527246 ], [ -123.255367999500351, 38.780548000269135 ], [ -123.255658999991553, 38.781441000641586 ], [ -123.255893000498745, 38.781647000964384 ], [ -123.257441999957052, 38.782334000490117 ], [ -123.258465999932881, 38.782495001128929 ], [ -123.258640999834469, 38.782449000468269 ], [ -123.258875000016744, 38.78290700081017 ], [ -123.258903999820376, 38.783525000338045 ], [ -123.258990999576298, 38.783594000985147 ], [ -123.259049000194466, 38.783983000925879 ], [ -123.259253999975726, 38.78432600094331 ], [ -123.259751000009871, 38.784739000707035 ], [ -123.260072000328961, 38.784853000834048 ], [ -123.261943999615127, 38.785175000787568 ], [ -123.261973000486407, 38.785838000845168 ], [ -123.262323000347081, 38.786502001029589 ], [ -123.263024000293115, 38.787075001116385 ], [ -123.263638000364168, 38.787304000783159 ], [ -123.264544000139409, 38.788312000543691 ], [ -123.26454399942152, 38.788724000290053 ], [ -123.263607999471702, 38.789135000731406 ], [ -123.263607999656074, 38.789524000860041 ], [ -123.264162999410388, 38.790166000893279 ], [ -123.265215000400062, 38.790807001059093 ], [ -123.265594999466771, 38.791150000415868 ], [ -123.26606300014781, 38.791906000746593 ], [ -123.266091999654222, 38.792158000702621 ], [ -123.266471999460364, 38.792547000720774 ], [ -123.267377999770673, 38.79305100061714 ], [ -123.267991999708784, 38.793257000972829 ], [ -123.268927999885292, 38.793372000353934 ], [ -123.269365999710089, 38.793738001097587 ], [ -123.269365999743528, 38.794494000487362 ], [ -123.26954100027389, 38.79492900039088 ], [ -123.269920999443869, 38.795272000703207 ], [ -123.27050600018552, 38.795616000579869 ], [ -123.27065200013287, 38.796028000533319 ], [ -123.271148999802506, 38.79650900048351 ], [ -123.271149000291246, 38.79705800100475 ], [ -123.271031000216297, 38.797287000329334 ], [ -123.271060999875104, 38.797630000608713 ], [ -123.271264999886213, 38.797814001059955 ], [ -123.272640000118258, 38.797700000953775 ], [ -123.272669000003958, 38.798386000836807 ], [ -123.27187899950367, 38.79916400032397 ], [ -123.271322999469675, 38.799347000791151 ], [ -123.270094000502354, 38.79950700032731 ], [ -123.269918999474086, 38.79969000047204 ], [ -123.269772000409532, 38.800422000808425 ], [ -123.269421000283344, 38.800834000252422 ], [ -123.269274000053613, 38.801407001107485 ], [ -123.268981000391804, 38.80152100096641 ], [ -123.268044999759823, 38.801589000841645 ], [ -123.267752999513419, 38.801864000941151 ], [ -123.267459999527219, 38.802870000822558 ], [ -123.267313000348722, 38.803030000956483 ], [ -123.267225000076067, 38.803396000954507 ], [ -123.267429999962275, 38.803602000334003 ], [ -123.268394999779701, 38.804221000569044 ], [ -123.268102000384616, 38.8051360003372 ], [ -123.26813000014532, 38.805914000812614 ], [ -123.268743999940426, 38.806853000328715 ], [ -123.268830999482034, 38.80804300090881 ], [ -123.268725999551791, 38.808369000348087 ], [ -123.258317999499866, 38.808360000815419 ], [ -123.251118000363377, 38.808402001012617 ], [ -123.243752999938451, 38.808496000845544 ], [ -123.238964000150546, 38.808557001089447 ], [ -123.233058999928659, 38.8086330005547 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1403, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -123.278253000491674, 38.531261000604637 ], [ -123.278503999418163, 38.531224000566489 ], [ -123.278765999921447, 38.531408000824868 ], [ -123.278765999688986, 38.531636000471551 ], [ -123.278533000263309, 38.531888000356929 ], [ -123.278561999470938, 38.532117000730693 ], [ -123.279057000341155, 38.532506000847455 ], [ -123.279056999514196, 38.533033000619795 ], [ -123.278823999492374, 38.533399000817859 ], [ -123.278794000425663, 38.534085000409263 ], [ -123.278969000174712, 38.534245000852323 ], [ -123.279026999427842, 38.534726000833736 ], [ -123.279202000089882, 38.535046000878388 ], [ -123.27920099986676, 38.535779000264782 ], [ -123.279462999892075, 38.536099000549576 ], [ -123.279697000078201, 38.536168000417071 ], [ -123.280133999886175, 38.536031000818056 ], [ -123.280424999632672, 38.536054000521759 ], [ -123.280832999948473, 38.536214000395191 ], [ -123.28147400043639, 38.536124000733643 ], [ -123.282086000185103, 38.535781000957272 ], [ -123.282844000108994, 38.535964000482977 ], [ -123.282872999886649, 38.53644500083896 ], [ -123.283048000521077, 38.536559000304145 ], [ -123.283018000137446, 38.536994000597915 ], [ -123.283600999961209, 38.537292000817139 ], [ -123.283688999555054, 38.537475000760921 ], [ -123.284299999665478, 38.537864000859102 ], [ -123.284299999583823, 38.538368000451207 ], [ -123.284445999846554, 38.538620000254909 ], [ -123.28552400049945, 38.539604000633453 ], [ -123.285815000200401, 38.539765000945117 ], [ -123.286136000195185, 38.539765000959569 ], [ -123.286689999762686, 38.53960500045136 ], [ -123.287009999795885, 38.539696000529311 ], [ -123.287038999910493, 38.540131001137325 ], [ -123.287155999464062, 38.540223000267524 ], [ -123.287971999967652, 38.540154000607501 ], [ -123.288088000168912, 38.540246000360952 ], [ -123.288058999922569, 38.540749000432072 ], [ -123.288321000471171, 38.54104700107424 ], [ -123.288525000360835, 38.541070001042648 ], [ -123.288728999609987, 38.540978000704783 ], [ -123.288888000507512, 38.540820000514422 ], [ -123.28905000022452, 38.540658000367181 ], [ -123.289691000401149, 38.540361000516974 ], [ -123.29039100033873, 38.54049800054576 ], [ -123.290769000341726, 38.540819000471494 ], [ -123.291235999731782, 38.540910000512866 ], [ -123.291526999875529, 38.541391000508789 ], [ -123.292342999941084, 38.541460000591414 ], [ -123.292634000146279, 38.541643000282122 ], [ -123.29272200041855, 38.541918000769819 ], [ -123.292984000468081, 38.542078000352909 ], [ -123.293041999684903, 38.542238000929849 ], [ -123.293975000267892, 38.542696000528593 ], [ -123.294237000311384, 38.543085000349819 ], [ -123.294527999908226, 38.543177000733372 ], [ -123.294966000530238, 38.543131001020413 ], [ -123.295198999568527, 38.543269000885871 ], [ -123.29578200043413, 38.543040000815168 ], [ -123.296306000279245, 38.543292000602925 ], [ -123.297150999960706, 38.543452000896387 ], [ -123.297647000367945, 38.544025000502671 ], [ -123.297706000224579, 38.544046000840268 ], [ -123.298026000405144, 38.544162000716128 ], [ -123.298637999690612, 38.544162000364693 ], [ -123.298638000283859, 38.544345000533738 ], [ -123.298258999824384, 38.544711000878806 ], [ -123.298230000078277, 38.544917000618192 ], [ -123.298637999935451, 38.545078000594089 ], [ -123.298608000481877, 38.545284000259159 ], [ -123.297938000423372, 38.545696000669174 ], [ -123.297861999962763, 38.545827000989981 ], [ -123.297675999799964, 38.546153000351971 ], [ -123.29755900003677, 38.546565000700916 ], [ -123.297646000243148, 38.546909000372715 ], [ -123.298112999474867, 38.547000000755851 ], [ -123.298782999438345, 38.546978000441051 ], [ -123.299015999410315, 38.546680000482972 ], [ -123.29980300027556, 38.546680001133282 ], [ -123.300036000288031, 38.546589000974215 ], [ -123.300268999840043, 38.54661200073469 ], [ -123.300619000379214, 38.546840000923517 ], [ -123.301144000371679, 38.546841000246815 ], [ -123.301493999632072, 38.546932000540394 ], [ -123.301434999643561, 38.547436000596136 ], [ -123.302396999583635, 38.547825000525123 ], [ -123.302425999652186, 38.547917000606446 ], [ -123.302775999399941, 38.54791700079209 ], [ -123.303008999902062, 38.547802001110462 ], [ -123.303359000249344, 38.547436000358758 ], [ -123.303562999677951, 38.547436000604023 ], [ -123.303883999468539, 38.547688000313265 ], [ -123.304116999669048, 38.547734001010838 ], [ -123.304350000412086, 38.547917000284912 ], [ -123.30423300019558, 38.548558000926221 ], [ -123.304437000338922, 38.548672000875733 ], [ -123.304611999426257, 38.549107000478216 ], [ -123.305077999536778, 38.549656000971403 ], [ -123.30557400008162, 38.549931000777384 ], [ -123.305544999909912, 38.550572000781436 ], [ -123.305923999799148, 38.550755000502626 ], [ -123.305603000254038, 38.551465000311154 ], [ -123.305644000503847, 38.551510000250637 ], [ -123.305749000010891, 38.551625000652997 ], [ -123.305952999713924, 38.551648000801251 ], [ -123.306448000459596, 38.552129000676423 ], [ -123.306424999929945, 38.552247000292454 ], [ -123.306339693615868, 38.552610549446086 ], [ -123.306420071277685, 38.552851680085269 ], [ -123.306066411463149, 38.5530445855536 ], [ -123.305407319059469, 38.553189264454353 ], [ -123.305262640123118, 38.55343039517772 ], [ -123.305182263709781, 38.553880507228172 ], [ -123.305166188549038, 38.554121638638939 ], [ -123.304941132128619, 38.554394920616254 ], [ -123.304667849792025, 38.554555674746432 ], [ -123.303687249944971, 38.554684278171528 ], [ -123.30355864584871, 38.554941484835183 ], [ -123.303574722053625, 38.55519869116614 ], [ -123.304410643853672, 38.555600576994372 ], [ -123.304635699437071, 38.555793482254508 ], [ -123.304796453246496, 38.555922085252064 ], [ -123.30550377150098, 38.555938161065491 ], [ -123.306002109583602, 38.555697029094631 ], [ -123.3066612019703, 38.555841708261923 ], [ -123.30703415128967, 38.556087699589661 ], [ -123.30759357642647, 38.556034612949929 ], [ -123.307942674652736, 38.556150356618268 ], [ -123.308506585621885, 38.555962386319031 ], [ -123.309039167530628, 38.55618168494815 ], [ -123.310229645860744, 38.556119028140984 ], [ -123.31043599941097, 38.556246001122602 ], [ -123.310819999945039, 38.5564320004287 ], [ -123.310878999704485, 38.556822000844043 ], [ -123.31116999993759, 38.5570050006801 ], [ -123.311636999618784, 38.557005000309886 ], [ -123.312015999574228, 38.557119000290569 ], [ -123.312977999452315, 38.557257000826219 ], [ -123.313501999409027, 38.557371000265135 ], [ -123.313997999423677, 38.557783000522278 ], [ -123.31498899969138, 38.55798900055558 ], [ -123.315192999944117, 38.558149000437837 ], [ -123.315281000448238, 38.558401000606345 ], [ -123.315833999966188, 38.558722001117751 ], [ -123.316330000105324, 38.558630001102408 ], [ -123.317321000140765, 38.558630001069353 ], [ -123.317467000391261, 38.558676000852799 ], [ -123.317553999867215, 38.559088000279282 ], [ -123.317904000329037, 38.55936200038817 ], [ -123.317903999956741, 38.559820000497922 ], [ -123.31877900015607, 38.5596370006363 ], [ -123.319158000378835, 38.559660000295679 ], [ -123.319886999560211, 38.559889000886194 ], [ -123.32049899999835, 38.560278001021793 ], [ -123.321286000037546, 38.560118000271565 ], [ -123.321956999955773, 38.560232000710705 ], [ -123.322336000397129, 38.560461000899586 ], [ -123.322860000451811, 38.56057500068399 ], [ -123.323589000406301, 38.560575000245748 ], [ -123.324084999755257, 38.560758000248569 ], [ -123.324084999664009, 38.56089600106403 ], [ -123.323472999784258, 38.561056000401223 ], [ -123.323355999460759, 38.561170001051316 ], [ -123.323442999907442, 38.561468000336305 ], [ -123.323823000489128, 38.561834000552437 ], [ -123.323705999728489, 38.562315000899147 ], [ -123.323881000054826, 38.562498000302888 ], [ -123.323735000413365, 38.562956001119964 ], [ -123.323938999689005, 38.563711001066913 ], [ -123.324055999656451, 38.563826001093453 ], [ -123.325601000305639, 38.563871000583624 ], [ -123.326214000398792, 38.564283000557289 ], [ -123.326650999644471, 38.564398000686779 ], [ -123.328195999664132, 38.565496000588944 ], [ -123.329275000490412, 38.565633000668882 ], [ -123.32939200006723, 38.565725000299565 ], [ -123.329363000300006, 38.565908001066084 ], [ -123.329042000288638, 38.566274000434873 ], [ -123.329041999422202, 38.566412001107224 ], [ -123.329391999804201, 38.566778000483069 ], [ -123.330178999545922, 38.567259000969031 ], [ -123.330441999461428, 38.567281000612873 ], [ -123.330586999560722, 38.567190000853373 ], [ -123.33079100014659, 38.566618001105503 ], [ -123.330762000422268, 38.56629700102998 ], [ -123.331373999776631, 38.56620500063481 ], [ -123.331636999838096, 38.566022000870092 ], [ -123.331898999765372, 38.565542000441269 ], [ -123.33245299994374, 38.565335000857793 ], [ -123.332918999585743, 38.565335000349229 ], [ -123.333501999436351, 38.565518001132851 ], [ -123.333911000089756, 38.565770001035418 ], [ -123.334115000314142, 38.566319000974865 ], [ -123.334493999666108, 38.566640000933596 ], [ -123.334494000170835, 38.567143000782814 ], [ -123.334901999973752, 38.567510001113739 ], [ -123.334932000061926, 38.567876000382405 ], [ -123.335311000282957, 38.56828800066517 ], [ -123.3355440000458, 38.568631000732154 ], [ -123.33580700001427, 38.568768001116041 ], [ -123.336186000490329, 38.569547000893728 ], [ -123.336127999751426, 38.569821000310647 ], [ -123.335690000384531, 38.5699590006016 ], [ -123.335689999492217, 38.570188000607914 ], [ -123.335981999963593, 38.57048500090638 ], [ -123.337032000338141, 38.570508000915623 ], [ -123.337468999695261, 38.570760000308951 ], [ -123.338286000213145, 38.570599000468825 ], [ -123.338548000119687, 38.57075900061092 ], [ -123.338344000094651, 38.571423000519587 ], [ -123.338432000386476, 38.571606000322561 ], [ -123.338781999638243, 38.57181200035609 ], [ -123.339656000242712, 38.571858000677345 ], [ -123.340006000428289, 38.571995000385634 ], [ -123.340122999640059, 38.572178000268622 ], [ -123.34006500031802, 38.57233900113674 ], [ -123.339510999881981, 38.572590000609281 ], [ -123.339306999898341, 38.573025000315305 ], [ -123.338782000394289, 38.573117000371234 ], [ -123.338607000220023, 38.573346001027893 ], [ -123.338665999430049, 38.573804000370998 ], [ -123.338841000170405, 38.573964000896467 ], [ -123.339424000112516, 38.574078000385192 ], [ -123.339541000332403, 38.574193000883035 ], [ -123.339161999620657, 38.574490000813384 ], [ -123.339190999858857, 38.574788000620046 ], [ -123.339337000441347, 38.574994000436732 ], [ -123.339511999720898, 38.57554300106807 ], [ -123.339862000323862, 38.575910000276266 ], [ -123.339890999908064, 38.576116001065863 ], [ -123.340358000056511, 38.576505000535569 ], [ -123.340474999455978, 38.577260000820736 ], [ -123.340416999631344, 38.578198000643987 ], [ -123.340096000015919, 38.578244000857673 ], [ -123.339804999778224, 38.578771001082167 ], [ -123.339805000256305, 38.57934300089439 ], [ -123.339221999785039, 38.579778001100102 ], [ -123.339164000334989, 38.580831000777948 ], [ -123.33895999982667, 38.581014000309942 ], [ -123.338901999697001, 38.581289000889669 ], [ -123.338172999763202, 38.581587000300601 ], [ -123.337501999725532, 38.581450000429548 ], [ -123.336890000371753, 38.581450000792167 ], [ -123.335927000041309, 38.581335001092299 ], [ -123.33560699991277, 38.581610001007441 ], [ -123.33554900044372, 38.582456000957507 ], [ -123.33572399964757, 38.582548000676113 ], [ -123.336452999956222, 38.582549000292616 ], [ -123.337794000101979, 38.583029000249958 ], [ -123.339018999999112, 38.583258000524012 ], [ -123.339427000495519, 38.583441000993808 ], [ -123.339776999698529, 38.583784001038254 ], [ -123.339982000356386, 38.584288000977338 ], [ -123.340361000370251, 38.584448000938522 ], [ -123.34030300029255, 38.584974000552798 ], [ -123.340419000185321, 38.585134000468699 ], [ -123.341295000481878, 38.585638000932811 ], [ -123.341381999404817, 38.585821000952066 ], [ -123.341475999739501, 38.586160000956809 ], [ -123.341528000231335, 38.586347000627704 ], [ -123.342081999704519, 38.586691000439664 ], [ -123.342899000192403, 38.586622000493506 ], [ -123.343191000191041, 38.586736000276055 ], [ -123.343307000166746, 38.586896000870382 ], [ -123.343248999425299, 38.587171000606453 ], [ -123.342258000436047, 38.587491000257621 ], [ -123.34214099990443, 38.587605000267551 ], [ -123.342141000141751, 38.587742000966415 ], [ -123.342520000520423, 38.587926000758074 ], [ -123.342550000311462, 38.588292000325247 ], [ -123.343687000241786, 38.589138000721618 ], [ -123.343658000139911, 38.589413001004367 ], [ -123.343337999917736, 38.590008001073038 ], [ -123.343483999896534, 38.590375000888521 ], [ -123.345030000401295, 38.591130000710237 ], [ -123.345730000459952, 38.591633000842307 ], [ -123.345730000117527, 38.592022000836948 ], [ -123.345614000418209, 38.592388000662169 ], [ -123.345760000482372, 38.592663000768489 ], [ -123.346810000236218, 38.593327000892707 ], [ -123.347830999536441, 38.594150000678127 ], [ -123.348386000383286, 38.594745000247663 ], [ -123.349318999661705, 38.595272000835955 ], [ -123.349435999939161, 38.595523001021718 ], [ -123.349377999925267, 38.596599000279802 ], [ -123.349612000003546, 38.596805000313196 ], [ -123.350223999387964, 38.597011000290586 ], [ -123.350691000366595, 38.597331001038114 ], [ -123.350837000175432, 38.597263000918701 ], [ -123.351419999850776, 38.596759000868552 ], [ -123.351652999742768, 38.596782000596455 ], [ -123.35241199975836, 38.597880000807443 ], [ -123.353053999517911, 38.597903000942658 ], [ -123.353462999545471, 38.598452000295048 ], [ -123.353783000518007, 38.598452000347081 ], [ -123.35436700010122, 38.598063000306304 ], [ -123.354629000032844, 38.598085000579445 ], [ -123.355008000306924, 38.598268000586273 ], [ -123.355416999433174, 38.59826800102833 ], [ -123.355738000462665, 38.598176000620775 ], [ -123.356729000451367, 38.597513000949782 ], [ -123.356873999584082, 38.597170000590033 ], [ -123.35710799969759, 38.597032000688998 ], [ -123.357633000114333, 38.597055001030853 ], [ -123.358303999993353, 38.597238000707783 ], [ -123.358712000183544, 38.597604000941352 ], [ -123.35917900047744, 38.597604000599695 ], [ -123.359353999630045, 38.597215000995163 ], [ -123.359644999660759, 38.597260000398933 ], [ -123.360024999658435, 38.597764000807871 ], [ -123.360345999435168, 38.597901000976066 ], [ -123.360578999454987, 38.598130000345932 ], [ -123.36054999940913, 38.598267000868354 ], [ -123.36028800005252, 38.598428000364898 ], [ -123.360170999922829, 38.598840000600902 ], [ -123.36028800035605, 38.599114000788539 ], [ -123.360668000217245, 38.599320000313448 ], [ -123.360988999787793, 38.599846000702179 ], [ -123.360989000156053, 38.60035000041195 ], [ -123.360843000103316, 38.600487000420635 ], [ -123.36084400029543, 38.600784000970194 ], [ -123.36093099944317, 38.600853001116917 ], [ -123.361573000102354, 38.60073900098476 ], [ -123.361981000287884, 38.600945000673583 ], [ -123.362272999637668, 38.60083000062555 ], [ -123.362593999619619, 38.60085300076716 ], [ -123.362973000059014, 38.601059000320674 ], [ -123.363704000293268, 38.601791000536231 ], [ -123.364054000368924, 38.601791000900221 ], [ -123.364403999540997, 38.601608000315601 ], [ -123.364665999689564, 38.601653000859109 ], [ -123.365396000461402, 38.601996000692459 ], [ -123.366299999878947, 38.601996000756593 ], [ -123.366621000465216, 38.602156000929469 ], [ -123.366621000360283, 38.602293000306716 ], [ -123.36615500029248, 38.602454001086315 ], [ -123.366183999869349, 38.602683000835746 ], [ -123.367409999478795, 38.603643001143254 ], [ -123.368138999822605, 38.604055001075906 ], [ -123.368401999446633, 38.603986000898956 ], [ -123.368517999734109, 38.603780000587115 ], [ -123.368692999499771, 38.603689000252686 ], [ -123.368956000372108, 38.603711000377324 ], [ -123.369626999601877, 38.60428300040244 ], [ -123.370444999642132, 38.604947000830826 ], [ -123.370385999875452, 38.605176000381391 ], [ -123.370182000429068, 38.605290000577192 ], [ -123.370241000404235, 38.60565700031767 ], [ -123.370999999459144, 38.60627400049831 ], [ -123.371087000143078, 38.606434000808349 ], [ -123.371611999593554, 38.606320000290246 ], [ -123.371845999783403, 38.606342000367107 ], [ -123.371963000346739, 38.60648000030924 ], [ -123.371730000397349, 38.606800000676635 ], [ -123.371933999404163, 38.607052000831651 ], [ -123.37187599993598, 38.607235001015596 ], [ -123.370739000426553, 38.607990001108327 ], [ -123.369308999608236, 38.608197000859555 ], [ -123.36925099956963, 38.608311000849461 ], [ -123.36890100002671, 38.608311000764523 ], [ -123.368551000050388, 38.608037000270514 ], [ -123.368287999901597, 38.608060000309507 ], [ -123.367909000188988, 38.608197000339651 ], [ -123.367676000134935, 38.608060000745603 ], [ -123.367179999690421, 38.608106000403083 ], [ -123.366566999801734, 38.6085190010348 ], [ -123.366479000183034, 38.608862000925079 ], [ -123.366712999854599, 38.609365000873915 ], [ -123.367705000015491, 38.609846001080179 ], [ -123.367675999793036, 38.609983000375813 ], [ -123.367414000369521, 38.610212000566456 ], [ -123.367530999781266, 38.610533000869069 ], [ -123.366830999485231, 38.611197001026248 ], [ -123.366831000288229, 38.611517000679555 ], [ -123.366452000079661, 38.611861000572297 ], [ -123.366336000470767, 38.612158000911549 ], [ -123.366481999970858, 38.612662001042303 ], [ -123.36738699966989, 38.613737000738617 ], [ -123.369166999895427, 38.614126000563559 ], [ -123.369604999586301, 38.614331000616048 ], [ -123.370160000496682, 38.614743000246762 ], [ -123.370596999908869, 38.614903000543023 ], [ -123.37205699960019, 38.615200000616397 ], [ -123.372640999568844, 38.615406001079435 ], [ -123.373778999884223, 38.616046001118093 ], [ -123.374421000167786, 38.616160000350874 ], [ -123.374918000426646, 38.616549000382086 ], [ -123.374743000407065, 38.616893001132674 ], [ -123.374743000313998, 38.617076000512618 ], [ -123.375122999414359, 38.617373000408826 ], [ -123.375559999589925, 38.617487000600157 ], [ -123.376119999426692, 38.618071000959851 ], [ -123.376737999992869, 38.618472000863306 ], [ -123.376738000067675, 38.618770001084101 ], [ -123.376795999660231, 38.618953001088975 ], [ -123.377145999785014, 38.61925100108666 ], [ -123.37732100006761, 38.619617000528095 ], [ -123.377670999871057, 38.619938000889711 ], [ -123.377757999453806, 38.620212000866331 ], [ -123.378807999961808, 38.62067100060171 ], [ -123.378895000292431, 38.621426000792042 ], [ -123.379332999756031, 38.621701000911372 ], [ -123.379302999631904, 38.621953000543016 ], [ -123.379652999993013, 38.622250000632 ], [ -123.380003000483029, 38.622388000953343 ], [ -123.380762000076757, 38.622503000882737 ], [ -123.380848999861797, 38.622572000299243 ], [ -123.380440000059053, 38.623327001116195 ], [ -123.381197999767167, 38.623464000367335 ], [ -123.3809649998705, 38.623922001142475 ], [ -123.38105200034461, 38.624403000749268 ], [ -123.381284999668608, 38.624522000765126 ], [ -123.38132799998462, 38.624912000807925 ], [ -123.381430000092536, 38.625191000962822 ], [ -123.382071999435809, 38.625214000839335 ], [ -123.38207099992502, 38.625474000792671 ], [ -123.382449999613172, 38.62579500078855 ], [ -123.383442999948187, 38.625566001107863 ], [ -123.383793000184795, 38.625589000943293 ], [ -123.38402599964212, 38.625910000598488 ], [ -123.384287999519501, 38.626093000973867 ], [ -123.38457999981037, 38.626162000871432 ], [ -123.384987999928356, 38.626643000681291 ], [ -123.385016999628633, 38.627101000301643 ], [ -123.38510499977194, 38.627169000980544 ], [ -123.385716999532917, 38.627009000332237 ], [ -123.386972000137519, 38.627376001031706 ], [ -123.386942999698917, 38.627582000550639 ], [ -123.386767000467842, 38.62776500109171 ], [ -123.38644600019569, 38.62865800061315 ], [ -123.386503999953689, 38.628772000438801 ], [ -123.386796000460123, 38.628727000704266 ], [ -123.387059000006602, 38.628223000968646 ], [ -123.387205000535857, 38.628132000699601 ], [ -123.387555000206447, 38.628223001052206 ], [ -123.38764199993021, 38.628636000638849 ], [ -123.387845999705647, 38.628956000810234 ], [ -123.388312999791026, 38.629162000948241 ], [ -123.389538000133655, 38.62952900045898 ], [ -123.389859000380653, 38.629781000307624 ], [ -123.389858999757863, 38.630216000298418 ], [ -123.39023799944934, 38.630491000576882 ], [ -123.390179000268475, 38.630857000446099 ], [ -123.390004000392608, 38.631154000917292 ], [ -123.389595000302137, 38.631429000309623 ], [ -123.388458000257415, 38.631062000518888 ], [ -123.388194999724973, 38.630696000608431 ], [ -123.387757000268252, 38.630741000244534 ], [ -123.387378000501073, 38.63131400103255 ], [ -123.387347999549206, 38.631863000524312 ], [ -123.388194000173442, 38.632825000362843 ], [ -123.388252000282321, 38.633008000480764 ], [ -123.389330999852405, 38.634107001015472 ], [ -123.389505999575405, 38.634519000267332 ], [ -123.39000100028349, 38.63500000028759 ], [ -123.39006000004386, 38.635206000710191 ], [ -123.390671999404219, 38.635916000434968 ], [ -123.39099299955879, 38.636122001135874 ], [ -123.39113900001901, 38.636122000660201 ], [ -123.391460000379794, 38.636008001068447 ], [ -123.391751999636895, 38.636031000681186 ], [ -123.393355999459246, 38.636604000763739 ], [ -123.394436000198837, 38.637176000622595 ], [ -123.395310999552962, 38.637451000488184 ], [ -123.395544999987635, 38.637658000783958 ], [ -123.3954860001692, 38.637864000706209 ], [ -123.395165000107454, 38.638069000551887 ], [ -123.393967999900482, 38.638229000514173 ], [ -123.393676000194873, 38.63834400071098 ], [ -123.393500999755815, 38.638618000544 ], [ -123.393558999418815, 38.639488000456922 ], [ -123.39373400043209, 38.639831000780838 ], [ -123.394726000282404, 38.640770000911431 ], [ -123.39565899957563, 38.641091000636195 ], [ -123.395775999893104, 38.641297000912843 ], [ -123.396125999930362, 38.641526000982545 ], [ -123.396155000104898, 38.641961000959746 ], [ -123.39694299946423, 38.642259000843836 ], [ -123.397205000113132, 38.642717001011732 ], [ -123.397614000147669, 38.642809000668912 ], [ -123.397993000306315, 38.643129001008049 ], [ -123.398722999617391, 38.643221001046264 ], [ -123.399013999842012, 38.643404000440739 ], [ -123.399130999753609, 38.643587000792081 ], [ -123.398985000389189, 38.643999001046147 ], [ -123.399072000167294, 38.644183000427198 ], [ -123.399567999687136, 38.644435000243703 ], [ -123.400444000281979, 38.644389000421334 ], [ -123.400589999948068, 38.644481000995967 ], [ -123.400705999649475, 38.64473200032284 ], [ -123.400413999958062, 38.644984001079919 ], [ -123.400413999843536, 38.645373000597132 ], [ -123.399889000472996, 38.645625000639171 ], [ -123.399888999882265, 38.645922000786129 ], [ -123.400121999848466, 38.646174001077043 ], [ -123.401522999958729, 38.64656400036921 ], [ -123.401639000204781, 38.646747000620962 ], [ -123.40149299943738, 38.646862000999455 ], [ -123.399607695576194, 38.646724552151731 ], [ -123.399249905196214, 38.646745598950268 ], [ -123.399216351279321, 38.647013376360874 ], [ -123.399107853011756, 38.647107407670141 ], [ -123.398948724213895, 38.647107407933433 ], [ -123.398160307790434, 38.647042309504236 ], [ -123.398051810335659, 38.64717974002447 ], [ -123.398102442629408, 38.647411201230106 ], [ -123.398464101714183, 38.647830725283214 ], [ -123.398738962214438, 38.648011554228127 ], [ -123.399339314961011, 38.647823491835098 ], [ -123.399744372286662, 38.648033254342835 ], [ -123.399961367927872, 38.648315347844161 ], [ -123.400445990417012, 38.648691473091645 ], [ -123.40011326412079, 38.649371390517352 ], [ -123.399939668747649, 38.649516054785067 ], [ -123.399889036089291, 38.649754749026961 ], [ -123.40050385620404, 38.649950044902596 ], [ -123.400887213853679, 38.649790915389502 ], [ -123.401502033832244, 38.649776448903587 ], [ -123.401624997485953, 38.649458188772748 ], [ -123.401796534662267, 38.649334321219989 ], [ -123.401859673661761, 38.649355367803452 ], [ -123.402217465160717, 38.649460599666085 ], [ -123.403009999494984, 38.649449000782603 ], [ -123.403185000467857, 38.649586000604025 ], [ -123.403126000236739, 38.649769000291414 ], [ -123.40283400007452, 38.64997500050675 ], [ -123.402834000476702, 38.650318000486521 ], [ -123.402659000254459, 38.650524001028622 ], [ -123.402658999577966, 38.650776001143811 ], [ -123.402805000310764, 38.650914000697249 ], [ -123.403330000530076, 38.650982000252938 ], [ -123.403446999649915, 38.651074000682833 ], [ -123.404147000322837, 38.651074000497381 ], [ -123.404555999681421, 38.651257000704355 ], [ -123.40455599955132, 38.651418000949953 ], [ -123.404146999838801, 38.651761000603038 ], [ -123.404409999680865, 38.652219001009577 ], [ -123.405051999995308, 38.652333001067937 ], [ -123.405342999725192, 38.652471000807864 ], [ -123.405342999554762, 38.652814000620054 ], [ -123.405722999784373, 38.653089000830832 ], [ -123.405751999657141, 38.653364000285542 ], [ -123.407299000236009, 38.65343300071234 ], [ -123.407327999928043, 38.654005000324894 ], [ -123.408057000217553, 38.654280000914611 ], [ -123.408553000146782, 38.654806000354775 ], [ -123.408553000245348, 38.655013000520718 ], [ -123.408202999428497, 38.655058001014829 ], [ -123.407736000181629, 38.654898000552713 ], [ -123.407386000469714, 38.654944000715822 ], [ -123.407093000466915, 38.655768000885615 ], [ -123.406654999935682, 38.655996000881657 ], [ -123.40595500052315, 38.656179000655406 ], [ -123.405749999806289, 38.656317000962979 ], [ -123.405663000130588, 38.656729000427688 ], [ -123.405896000371754, 38.657049000982042 ], [ -123.407559999981885, 38.658011000844716 ], [ -123.407763999676845, 38.658354000398745 ], [ -123.408231000120693, 38.658835000347111 ], [ -123.408434999598114, 38.65924700047983 ], [ -123.408667999694771, 38.65931600046094 ], [ -123.409165000090141, 38.659156000840547 ], [ -123.409456000183653, 38.659568000305342 ], [ -123.409455999960244, 38.659659000891672 ], [ -123.409223000146909, 38.659797000678203 ], [ -123.408931000532704, 38.659842000495054 ], [ -123.408843000257747, 38.6599340007959 ], [ -123.408842999427279, 38.660415001023694 ], [ -123.409076000332732, 38.660621000731147 ], [ -123.409075999927623, 38.660964000933255 ], [ -123.40942600022079, 38.661285000694434 ], [ -123.409338999520315, 38.661765000376128 ], [ -123.40957200043222, 38.662040000808894 ], [ -123.409688999503217, 38.662521000260135 ], [ -123.409892999818595, 38.662681000713995 ], [ -123.410388999434218, 38.662796000783061 ], [ -123.410710000334888, 38.662979001073715 ], [ -123.41181899939788, 38.663963000794297 ], [ -123.412314999941856, 38.664765000982044 ], [ -123.413249000084249, 38.665497000300647 ], [ -123.413775000130812, 38.665658000615402 ], [ -123.414359000379392, 38.665749001049015 ], [ -123.415059000336925, 38.666253000700067 ], [ -123.415118000485194, 38.666413000773247 ], [ -123.414855000267238, 38.666848000819648 ], [ -123.414970999825144, 38.6669400010488 ], [ -123.415554999501055, 38.666825000585114 ], [ -123.416081000368749, 38.667123000758295 ], [ -123.416781000481436, 38.667741000251183 ], [ -123.416781000418098, 38.667947000502934 ], [ -123.416547999643271, 38.668039000372879 ], [ -123.415935000290915, 38.66778700078364 ], [ -123.415584000237061, 38.667924000652675 ], [ -123.415817999777289, 38.66824500086247 ], [ -123.415758999427908, 38.668359001016555 ], [ -123.415087999471041, 38.668680000599998 ], [ -123.41511699995597, 38.668931000249216 ], [ -123.415876000209977, 38.669092000994915 ], [ -123.416109000353586, 38.669275000754858 ], [ -123.416167999572778, 38.669710000272048 ], [ -123.416781000101963, 38.670168000494328 ], [ -123.416721999692825, 38.670351000955534 ], [ -123.416372000376739, 38.670465000535096 ], [ -123.416371999461461, 38.670625000793081 ], [ -123.416605000170449, 38.670809000714975 ], [ -123.417305999724022, 38.670969000987149 ], [ -123.417715000148505, 38.671244000919579 ], [ -123.41803600025257, 38.671633000670568 ], [ -123.418180999784965, 38.672022000779158 ], [ -123.418882000380407, 38.672594000708585 ], [ -123.419612000534414, 38.672869000960425 ], [ -123.419670000251344, 38.673258000300407 ], [ -123.419874999458813, 38.673442000337154 ], [ -123.419874999841255, 38.673716000772103 ], [ -123.419552999765955, 38.673945000916703 ], [ -123.419552000531624, 38.674586000861211 ], [ -123.419697999730673, 38.674700000897261 ], [ -123.420663000167309, 38.674815000627284 ], [ -123.421537999448319, 38.675067000660718 ], [ -123.423202999834274, 38.674999001128683 ], [ -123.423378000323865, 38.675182000439712 ], [ -123.423348999934703, 38.675388000828434 ], [ -123.423581999481314, 38.675548000818416 ], [ -123.424165999859156, 38.675388001120844 ], [ -123.424575000317176, 38.675434000319477 ], [ -123.425070999469625, 38.675823001031084 ], [ -123.425071000364454, 38.676098000721325 ], [ -123.424807999540946, 38.676578000289794 ], [ -123.424984000036332, 38.676670000429091 ], [ -123.425276000334293, 38.676510000581928 ], [ -123.425683999493486, 38.676601000856728 ], [ -123.426210000036292, 38.676601001139829 ], [ -123.426676999505972, 38.67671600034199 ], [ -123.426676999873735, 38.677059000330715 ], [ -123.426442999717779, 38.677586000560787 ], [ -123.426560000485651, 38.677677000421312 ], [ -123.427144000259617, 38.677448000556701 ], [ -123.427318999843095, 38.677586000648184 ], [ -123.427318999427442, 38.678043000752837 ], [ -123.42743599996399, 38.678112001022683 ], [ -123.427756999394518, 38.678043001034091 ], [ -123.427932999396106, 38.677746000556581 ], [ -123.428166000322619, 38.677586000310669 ], [ -123.42863299981957, 38.677540000359429 ], [ -123.428750000369078, 38.677174000612133 ], [ -123.428955000499116, 38.677013001088774 ], [ -123.429158999847147, 38.677013000701884 ], [ -123.429333999883767, 38.677105000648908 ], [ -123.429334000470746, 38.677632000818477 ], [ -123.429129999628415, 38.677860000956564 ], [ -123.428603999746201, 38.678204000519187 ], [ -123.428685999818995, 38.67841200051641 ], [ -123.42872099961059, 38.678501000717901 ], [ -123.42936300027236, 38.678410001052598 ], [ -123.429508999822346, 38.67852400043266 ], [ -123.429947000103738, 38.678410000463096 ], [ -123.430385000025879, 38.678501001049725 ], [ -123.430384999507964, 38.6787760005774 ], [ -123.430122999755596, 38.679097000384466 ], [ -123.430152000446185, 38.679738001075179 ], [ -123.430559999459561, 38.680035001107214 ], [ -123.430852000400591, 38.67996600025657 ], [ -123.431057000513889, 38.679783001126488 ], [ -123.431114999646724, 38.678891000656854 ], [ -123.431203000156088, 38.67870800079595 ], [ -123.431495000143087, 38.678524000589363 ], [ -123.432049999527749, 38.67859300069216 ], [ -123.432574999406413, 38.678822000933458 ], [ -123.432575000070869, 38.679028000700065 ], [ -123.432224999698846, 38.679348000490535 ], [ -123.432195999998456, 38.679921001056307 ], [ -123.432050000141544, 38.680264000435315 ], [ -123.431786999665377, 38.680447000954679 ], [ -123.431758000254405, 38.6807220010988 ], [ -123.432019999398875, 38.680836000655781 ], [ -123.432371000309189, 38.68079100086414 ], [ -123.432634000165095, 38.680539001141064 ], [ -123.432983999449533, 38.680562000810895 ], [ -123.43342199982682, 38.680745000371232 ], [ -123.433421999614239, 38.681134000759478 ], [ -123.43380200006321, 38.681317001119496 ], [ -123.433917999488742, 38.681569001032344 ], [ -123.43415199940813, 38.6815690004548 ], [ -123.434735999510906, 38.681363000561198 ], [ -123.434999000016617, 38.681386000328239 ], [ -123.435262000259911, 38.681523000481818 ], [ -123.435524000126676, 38.681958000291623 ], [ -123.435494999520017, 38.682233000366111 ], [ -123.435261999992562, 38.682393000660326 ], [ -123.433421999472031, 38.682278000971564 ], [ -123.432983999899449, 38.682393000706924 ], [ -123.432574999719023, 38.682759000607668 ], [ -123.432370999840003, 38.683194000730943 ], [ -123.432485999705676, 38.685117000420028 ], [ -123.432719999868169, 38.687131000779054 ], [ -123.433274000146582, 38.689100000447993 ], [ -123.433479000042112, 38.689420000694746 ], [ -123.434092000121851, 38.6896260008794 ], [ -123.434297000191677, 38.689809000772684 ], [ -123.435202000174343, 38.689993000331242 ], [ -123.43546500000248, 38.6902210007067 ], [ -123.436048999392213, 38.690519000679821 ], [ -123.436311999953574, 38.690473000507914 ], [ -123.436721000163146, 38.690221000485089 ], [ -123.436924999408603, 38.69026700061449 ], [ -123.43731700037705, 38.690612000411896 ], [ -123.437392000019415, 38.690679000959378 ], [ -123.43736299973429, 38.69086200074468 ], [ -123.43686699943288, 38.691091001037897 ], [ -123.436749999876824, 38.691252000884063 ], [ -123.43692500049832, 38.691595000477641 ], [ -123.436924999593387, 38.692213001045516 ], [ -123.437100000306316, 38.692533000461786 ], [ -123.43736299966649, 38.692694001104194 ], [ -123.437801000517524, 38.692831001125249 ], [ -123.437888999869472, 38.693083000424458 ], [ -123.438531000085135, 38.693792000322212 ], [ -123.438793999704913, 38.693884000860855 ], [ -123.43966999947358, 38.693838001145622 ], [ -123.439904000474726, 38.69404400078372 ], [ -123.440079000202417, 38.694433000543683 ], [ -123.44007900045753, 38.694662000461157 ], [ -123.43978699955953, 38.694799000974164 ], [ -123.439611999947104, 38.695028001018564 ], [ -123.439495000487923, 38.69539500085336 ], [ -123.439494999985612, 38.696196000259896 ], [ -123.439816000184877, 38.697020001009633 ], [ -123.439932999738815, 38.697134000441658 ], [ -123.440547000427046, 38.697363000255329 ], [ -123.440956000449475, 38.697638000982295 ], [ -123.441072000476652, 38.697844000538758 ], [ -123.440838999613547, 38.698370001023541 ], [ -123.44095599995326, 38.698965000521142 ], [ -123.44116000002569, 38.699171000604309 ], [ -123.441452000071067, 38.699263000971165 ], [ -123.441774000537464, 38.699744000779305 ], [ -123.442416000440588, 38.699835000367493 ], [ -123.443000000012958, 38.700385000450282 ], [ -123.443643000437888, 38.7005450006505 ], [ -123.444752999707433, 38.700453000618559 ], [ -123.44557099976825, 38.700499000696823 ], [ -123.44580400014091, 38.700590001062857 ], [ -123.446242999979304, 38.701437000957164 ], [ -123.446213999778806, 38.701620000760421 ], [ -123.44612599982095, 38.701689000719455 ], [ -123.445745999496282, 38.701575001119139 ], [ -123.445453999625585, 38.701643000903367 ], [ -123.445044999905662, 38.701941000933303 ], [ -123.445015999878038, 38.702422000340285 ], [ -123.445542000492622, 38.702811000395201 ], [ -123.445951000031087, 38.702811000349911 ], [ -123.445979999996979, 38.703291000989047 ], [ -123.446242999495595, 38.703406000554992 ], [ -123.446593000264841, 38.703269000485008 ], [ -123.447470000188616, 38.703406000456731 ], [ -123.44781999980809, 38.703314000529744 ], [ -123.447702999446051, 38.70292500100792 ], [ -123.44784899942259, 38.702719000922137 ], [ -123.448053999533016, 38.702627000413109 ], [ -123.448434000380445, 38.702742000885983 ], [ -123.448492000003284, 38.702994000378283 ], [ -123.448783999869377, 38.703360000968466 ], [ -123.449398000501546, 38.703657000746389 ], [ -123.449398000320542, 38.703955000540191 ], [ -123.449222000185756, 38.704092000318632 ], [ -123.449223000265377, 38.704275000865806 ], [ -123.449338999971516, 38.704367000443348 ], [ -123.449893999633034, 38.704092000440752 ], [ -123.450156999636562, 38.704115000986739 ], [ -123.450332999572055, 38.704252000373799 ], [ -123.450303000297154, 38.704550000307485 ], [ -123.449806999754443, 38.704825000589899 ], [ -123.44980699963304, 38.705008000447599 ], [ -123.450479000489892, 38.705374000478145 ], [ -123.450682999597632, 38.705282001051074 ], [ -123.450682999946707, 38.705191000379578 ], [ -123.451033999974243, 38.705008000741095 ], [ -123.451968000058343, 38.705099000639777 ], [ -123.45246500035671, 38.705397000472274 ], [ -123.452756999416522, 38.70578600063115 ], [ -123.452727999427481, 38.70610600030809 ], [ -123.452201999426819, 38.706427001138387 ], [ -123.452115000031597, 38.706679000570254 ], [ -123.452290000227379, 38.706839000581127 ], [ -123.453107999427459, 38.706770001059816 ], [ -123.454013999651991, 38.706976000930396 ], [ -123.454100999519952, 38.707090000554018 ], [ -123.453985000365847, 38.707228000894673 ], [ -123.453342000219678, 38.707411000900066 ], [ -123.453254000421921, 38.707548000692668 ], [ -123.453253999605025, 38.708098001143306 ], [ -123.45313799987909, 38.708464000516557 ], [ -123.454042999609968, 38.708807000489088 ], [ -123.454276999588174, 38.709036001063637 ], [ -123.454714999472813, 38.709219000598615 ], [ -123.455212000417646, 38.709608000761406 ], [ -123.455123999591294, 38.709929000988787 ], [ -123.455474999850509, 38.710226000445573 ], [ -123.455357999547232, 38.710501000688225 ], [ -123.455357999586369, 38.711279000585911 ], [ -123.45544599953908, 38.711577000545603 ], [ -123.455622000462682, 38.711851000825924 ], [ -123.456089000280485, 38.712309000574614 ], [ -123.456206000041618, 38.712881000441861 ], [ -123.456557000160487, 38.713156000609793 ], [ -123.457199999968608, 38.713453000433013 ], [ -123.458338999545589, 38.713682001022534 ], [ -123.45854300018884, 38.713842000290946 ], [ -123.458544000269043, 38.714117000314921 ], [ -123.45898199984596, 38.714254000333234 ], [ -123.459099000094938, 38.714483000506625 ], [ -123.459390999654147, 38.714643000558397 ], [ -123.45974199966615, 38.714712000806124 ], [ -123.459916999781726, 38.714872000817529 ], [ -123.459916999655874, 38.715376000973272 ], [ -123.460384999736121, 38.715856000312471 ], [ -123.461524000099459, 38.716726000280339 ], [ -123.461494999730704, 38.716909000622394 ], [ -123.461291000059404, 38.717001000752525 ], [ -123.461290999673395, 38.717298000360302 ], [ -123.461465999737669, 38.717435000927111 ], [ -123.462226000359379, 38.717687001089786 ], [ -123.46289799956115, 38.718099001020839 ], [ -123.464300000469635, 38.71816700111313 ], [ -123.464387999903181, 38.718236000480488 ], [ -123.464242000316034, 38.718511000907569 ], [ -123.464475999816315, 38.718717000646514 ], [ -123.464533999530218, 38.719129000860036 ], [ -123.464622000184505, 38.719220000359961 ], [ -123.464855999539139, 38.719220000255113 ], [ -123.465206000141961, 38.719014000531324 ], [ -123.465586000369385, 38.71903700074742 ], [ -123.465732000475782, 38.719128000938873 ], [ -123.465820000281411, 38.719449000412794 ], [ -123.466228999629635, 38.719632000628366 ], [ -123.466316999455657, 38.719769000995548 ], [ -123.466667999438954, 38.7198830010948 ], [ -123.467222999447941, 38.719792001047914 ], [ -123.467455999581389, 38.71967700110622 ], [ -123.467807000468795, 38.719723000712783 ], [ -123.468216000267745, 38.720020000375619 ], [ -123.468799999597735, 38.720089000630679 ], [ -123.469005000081964, 38.720249000798475 ], [ -123.469004999980442, 38.720570001091843 ], [ -123.468918000462068, 38.72068400049384 ], [ -123.468917999991177, 38.721005000765778 ], [ -123.469151999645362, 38.721096000531844 ], [ -123.469561000296025, 38.721004000797819 ], [ -123.470378999904327, 38.721141000899379 ], [ -123.47122600014302, 38.721141000248323 ], [ -123.471605999420476, 38.721301000483308 ], [ -123.471460000280402, 38.721553001004587 ], [ -123.471460000509239, 38.722125001041789 ], [ -123.471957000451923, 38.722354000487279 ], [ -123.472336999917971, 38.722308000300778 ], [ -123.472629000301453, 38.722423000258637 ], [ -123.473504999440493, 38.722193000304266 ], [ -123.473504999545554, 38.721942000481711 ], [ -123.474206000530074, 38.721529000859292 ], [ -123.474936999584244, 38.721552000981021 ], [ -123.475609000209204, 38.722055000661825 ], [ -123.476573000451964, 38.722444000551988 ], [ -123.476602999596736, 38.722811000332719 ], [ -123.476836999443393, 38.723016000899996 ], [ -123.476894999679089, 38.723268000490798 ], [ -123.477451000489481, 38.723680000763991 ], [ -123.477830999669536, 38.723749001055729 ], [ -123.478210999597394, 38.724046001012638 ], [ -123.479029000162726, 38.724252000774413 ], [ -123.479204000035935, 38.724458000640851 ], [ -123.479174999715042, 38.72498400077194 ], [ -123.479643000522344, 38.725327000539664 ], [ -123.480402999454256, 38.725487000256955 ], [ -123.480725000368921, 38.726014000926142 ], [ -123.481221000142796, 38.726311000534025 ], [ -123.481483999822188, 38.726380000889115 ], [ -123.48201000000347, 38.7262650005474 ], [ -123.482390000338199, 38.726448000301581 ], [ -123.482711999614537, 38.726379000533534 ], [ -123.483004000033759, 38.726127000452969 ], [ -123.483383999549361, 38.7262420009218 ], [ -123.483442000194856, 38.726768000803922 ], [ -123.48466999944317, 38.727569000302914 ], [ -123.484874999728348, 38.727958000349005 ], [ -123.484757999809005, 38.728393000305104 ], [ -123.485021999896531, 38.729056000512507 ], [ -123.485723000477677, 38.729216001101449 ], [ -123.486950999644094, 38.729834000715783 ], [ -123.48782699990177, 38.729719001020882 ], [ -123.488762999512019, 38.730062000770594 ], [ -123.48920100045153, 38.730428000365663 ], [ -123.489318999841586, 38.731092000589022 ], [ -123.489990999955566, 38.731549000829013 ], [ -123.4900210002682, 38.732213000411477 ], [ -123.49016699996011, 38.732648000365678 ], [ -123.490985999964408, 38.733861000366495 ], [ -123.491162000321737, 38.734273000347343 ], [ -123.491542000012672, 38.734707000633598 ], [ -123.492506999889841, 38.735073000825338 ], [ -123.492478000016874, 38.735233000359514 ], [ -123.492302999686601, 38.73541700104915 ], [ -123.492302999779298, 38.735829000348879 ], [ -123.49285900035791, 38.736285000411506 ], [ -123.493677000085782, 38.736468000822377 ], [ -123.493882000315594, 38.736582000663482 ], [ -123.494085999949291, 38.736880000571958 ], [ -123.494758999644432, 38.737085000769284 ], [ -123.495460000465641, 38.737063000997296 ], [ -123.495605999540246, 38.737337000766779 ], [ -123.495839999906451, 38.73752000106272 ], [ -123.496688000241889, 38.737657000688635 ], [ -123.496777999879384, 38.737699001143682 ], [ -123.496980000380233, 38.737794000801557 ], [ -123.497593999712123, 38.737726001024413 ], [ -123.498558000364142, 38.737748000657966 ], [ -123.49896700020706, 38.737679000538527 ], [ -123.499172000139325, 38.737862000755761 ], [ -123.499289000093299, 38.738251000662828 ], [ -123.499582000319251, 38.738548000583009 ], [ -123.499973999780423, 38.738627000931963 ], [ -123.500488000525507, 38.738731000603714 ], [ -123.500625999798714, 38.738823000277769 ], [ -123.501119000350855, 38.738869000473983 ], [ -123.50251099963134, 38.739076000995929 ], [ -123.502832000071905, 38.739259000677187 ], [ -123.502949000010901, 38.739603000535858 ], [ -123.503328999549467, 38.739899001112867 ], [ -123.504118000460494, 38.740152000821112 ], [ -123.505345000493691, 38.740313001081375 ], [ -123.505548999503816, 38.740405000646291 ], [ -123.505782999580617, 38.740680000942206 ], [ -123.506016999806576, 38.740794000759479 ], [ -123.506660000516703, 38.740795000578693 ], [ -123.507097999808963, 38.741092000834414 ], [ -123.507390000209085, 38.7411610005773 ], [ -123.508852000349677, 38.741185000715269 ], [ -123.509670999716775, 38.740979000753796 ], [ -123.509816999943169, 38.740705001108999 ], [ -123.509876000370866, 38.740293001000609 ], [ -123.510196999671891, 38.740133000300766 ], [ -123.510431000512071, 38.740156000335475 ], [ -123.511746000314147, 38.740637000833786 ], [ -123.512243000328525, 38.740980000244868 ], [ -123.512651000101656, 38.741461000681738 ], [ -123.514082999712031, 38.741714000492607 ], [ -123.514783999847623, 38.741966001051338 ], [ -123.514783999457819, 38.742286000280743 ], [ -123.513995000105282, 38.742469000941618 ], [ -123.51390700016313, 38.742675000946008 ], [ -123.513994999677507, 38.742789001053644 ], [ -123.515835999665157, 38.743042000537059 ], [ -123.51571900031395, 38.74340800054599 ], [ -123.516128000367829, 38.743912000858487 ], [ -123.516565999478274, 38.744118000609909 ], [ -123.516857999968295, 38.744370000979856 ], [ -123.516741000359517, 38.744850000472915 ], [ -123.516858000371514, 38.744941000344156 ], [ -123.517704999606565, 38.745057001139436 ], [ -123.517762999513536, 38.745605000785893 ], [ -123.518055000107552, 38.74581100071066 ], [ -123.517908999481349, 38.746017001089051 ], [ -123.517967000078883, 38.746452000516676 ], [ -123.518551999862197, 38.746704000938784 ], [ -123.518667999534273, 38.747185000444333 ], [ -123.519779000211429, 38.747849000683665 ], [ -123.521094000512349, 38.748239000523299 ], [ -123.521357000293477, 38.748514001093426 ], [ -123.521384999805761, 38.749132000677143 ], [ -123.521619000388526, 38.749406000788092 ], [ -123.521999000443031, 38.749489000571785 ], [ -123.522436999954394, 38.749512000693883 ], [ -123.523372999913676, 38.749466000368308 ], [ -123.524104000070992, 38.74929300034178 ], [ -123.52442499995297, 38.749316000275094 ], [ -123.525096999748001, 38.749558000658361 ], [ -123.525125999834117, 38.749911000454318 ], [ -123.525242000064978, 38.750483000906371 ], [ -123.525534000312206, 38.750963000317071 ], [ -123.525563000197053, 38.751169000828057 ], [ -123.526438999597048, 38.751925000313825 ], [ -123.526498000017227, 38.752131000608124 ], [ -123.526876999835437, 38.752406000328335 ], [ -123.527257000200677, 38.752543000591366 ], [ -123.527344999931415, 38.752703000285912 ], [ -123.527286000147939, 38.752864001054292 ], [ -123.526409000222813, 38.753138000813024 ], [ -123.526145999537675, 38.753367000507772 ], [ -123.525473999409428, 38.753435001074713 ], [ -123.525152000223798, 38.753641001058298 ], [ -123.525151999873273, 38.753801000300541 ], [ -123.525474000473409, 38.753985000425871 ], [ -123.525531999782444, 38.754374000802208 ], [ -123.526349999749527, 38.754855000253379 ], [ -123.526173999842683, 38.755152000295787 ], [ -123.526173999943964, 38.755450000333589 ], [ -123.526319999592388, 38.755725000445565 ], [ -123.526348999556745, 38.75606800111948 ], [ -123.526426999524304, 38.756145000461117 ], [ -123.526583000244599, 38.756297001097273 ], [ -123.526611999942105, 38.756823000354871 ], [ -123.526815999592159, 38.75725800072243 ], [ -123.527226000302051, 38.757556000283657 ], [ -123.528220000210027, 38.757419000676272 ], [ -123.528452999800095, 38.757717000843925 ], [ -123.528861999522363, 38.758037001082705 ], [ -123.529535000453109, 38.758152000311931 ], [ -123.530119000138782, 38.758473000974988 ], [ -123.530849999959827, 38.758633000449073 ], [ -123.531464000347029, 38.758976000596142 ], [ -123.531756000007121, 38.759022000779566 ], [ -123.532018999957145, 38.759228000619622 ], [ -123.531990000277077, 38.759480000875591 ], [ -123.531491999583267, 38.759755000271923 ], [ -123.531169999961776, 38.760991000610154 ], [ -123.531111000499436, 38.762868000646826 ], [ -123.531374000453226, 38.764127000908488 ], [ -123.53216199951946, 38.766324000375832 ], [ -123.53278000016094, 38.76702300095301 ], [ -123.533669999734499, 38.768028000833439 ], [ -123.53353500035135, 38.768408000525916 ], [ -123.533388999494974, 38.768408000970801 ], [ -123.533316000442838, 38.768433000733118 ], [ -123.533222999979259, 38.768458000687403 ], [ -123.533058000288975, 38.768443001026164 ], [ -123.532514999476987, 38.76802600025286 ], [ -123.531281999423129, 38.766943001017928 ], [ -123.53002600031806, 38.765714000652125 ], [ -123.528510999563665, 38.764423000721685 ], [ -123.527136000449914, 38.763526000661194 ], [ -123.525629999970178, 38.762922000275353 ], [ -123.52342300038157, 38.760786000777195 ], [ -123.522271999587701, 38.759662001063504 ], [ -123.521620999746446, 38.758882000480767 ], [ -123.520965999848002, 38.758579000584483 ], [ -123.520202000128123, 38.758592000740286 ], [ -123.519430999956654, 38.758856000554509 ], [ -123.518941999585266, 38.759368000398588 ], [ -123.51878200051074, 38.759787000745732 ], [ -123.518533999775997, 38.760624000941313 ], [ -123.518278999592951, 38.761653000322958 ], [ -123.518109000468101, 38.762866000455844 ], [ -123.518148999951364, 38.763561001118646 ], [ -123.51780100033605, 38.764607000763675 ], [ -123.517469000083352, 38.765328001083262 ], [ -123.517217000526685, 38.765799000548391 ], [ -123.516835999968592, 38.766666000662539 ], [ -123.516659000083195, 38.767363000743089 ], [ -123.516344000024048, 38.767785001046448 ], [ -123.515924999802522, 38.768136000945155 ], [ -123.515204999936202, 38.768407001066656 ], [ -123.514626999808812, 38.768476000266141 ], [ -123.513893000107984, 38.768416000680936 ], [ -123.513188999742439, 38.768323001124088 ], [ -123.512598000375405, 38.768125001020792 ], [ -123.511954000297919, 38.767879000702131 ], [ -123.511372999584651, 38.767672001115834 ], [ -123.510791000257143, 38.767401000527585 ], [ -123.510305000201228, 38.767348001120553 ], [ -123.509882999959615, 38.767472001076172 ], [ -123.509486000230126, 38.76795100046639 ], [ -123.509136999804099, 38.768908000955058 ], [ -123.508933999579028, 38.770049000391701 ], [ -123.508592999731604, 38.770835000798165 ], [ -123.507880000390358, 38.772464000986758 ], [ -123.507569000062162, 38.773089001138793 ], [ -123.507246000171861, 38.773707000890568 ], [ -123.50683700041624, 38.773982000755225 ], [ -123.505374999647941, 38.774393001002018 ], [ -123.502246000072518, 38.774483000249546 ], [ -123.501119000080408, 38.774093000657501 ], [ -123.50037100029968, 38.773773000665415 ], [ -123.499933000481704, 38.773841000660234 ], [ -123.499582000218908, 38.774093000643738 ], [ -123.499261000249206, 38.774712000777342 ], [ -123.49920400045427, 38.775879000780598 ], [ -123.49929200022531, 38.776589000753127 ], [ -123.499468000479411, 38.776932000857727 ], [ -123.499556000344541, 38.777367000786057 ], [ -123.499438999449453, 38.777664000502988 ], [ -123.49908800010914, 38.778054001126613 ], [ -123.499155000361199, 38.778327000646463 ], [ -123.497389000167104, 38.778558000471378 ], [ -123.497041999637446, 38.778604000549301 ], [ -123.496749999722027, 38.778604000282733 ], [ -123.496193999579575, 38.778604000339136 ], [ -123.493269999983696, 38.778524000367867 ], [ -123.49248799940699, 38.77850200098203 ], [ -123.479726999597304, 38.778150000488566 ], [ -123.47792500029405, 38.778109001074085 ], [ -123.472087999465728, 38.777889000555795 ], [ -123.468540000149716, 38.777755000583618 ], [ -123.458853999685616, 38.777390000696229 ], [ -123.444083999848701, 38.776835001014398 ], [ -123.443852999447955, 38.776787000301773 ], [ -123.43699600017392, 38.776748000642719 ], [ -123.433160999785613, 38.776727000596246 ], [ -123.431074999573909, 38.776620000652649 ], [ -123.410839999698297, 38.776685000345132 ], [ -123.407109000198744, 38.776697000550769 ], [ -123.405635999978841, 38.776737001119756 ], [ -123.405097000172631, 38.776704000978995 ], [ -123.385259999972519, 38.777031000679777 ], [ -123.384576000248117, 38.777042001111077 ], [ -123.376119000361669, 38.777233000277391 ], [ -123.368233999917479, 38.777069000882619 ], [ -123.368262000210152, 38.782225001103669 ], [ -123.368276999816658, 38.785137000528579 ], [ -123.368338999671238, 38.791263000375892 ], [ -123.368309999630341, 38.792339000372252 ], [ -123.368395999794643, 38.806642000971436 ], [ -123.350460000230328, 38.806959000495205 ], [ -123.346963999810583, 38.806974000349591 ], [ -123.346528000270368, 38.806975000456873 ], [ -123.294626000059779, 38.807203000703872 ], [ -123.288792999431578, 38.807428000247313 ], [ -123.282671000132098, 38.807492000820112 ], [ -123.281679999666366, 38.807503001098958 ], [ -123.277072999637838, 38.808001000741605 ], [ -123.271758999761843, 38.808399000635092 ], [ -123.268725999551791, 38.808369000348087 ], [ -123.268830999482034, 38.80804300090881 ], [ -123.268743999940426, 38.806853000328715 ], [ -123.26813000014532, 38.805914000812614 ], [ -123.268102000384616, 38.8051360003372 ], [ -123.268394999779701, 38.804221000569044 ], [ -123.267429999962275, 38.803602000334003 ], [ -123.267225000076067, 38.803396000954507 ], [ -123.267313000348722, 38.803030000956483 ], [ -123.267459999527219, 38.802870000822558 ], [ -123.267752999513419, 38.801864000941151 ], [ -123.268044999759823, 38.801589000841645 ], [ -123.268981000391804, 38.80152100096641 ], [ -123.269274000053613, 38.801407001107485 ], [ -123.269421000283344, 38.800834000252422 ], [ -123.269772000409532, 38.800422000808425 ], [ -123.269918999474086, 38.79969000047204 ], [ -123.270094000502354, 38.79950700032731 ], [ -123.271322999469675, 38.799347000791151 ], [ -123.27187899950367, 38.79916400032397 ], [ -123.272669000003958, 38.798386000836807 ], [ -123.272640000118258, 38.797700000953775 ], [ -123.271264999886213, 38.797814001059955 ], [ -123.271060999875104, 38.797630000608713 ], [ -123.271031000216297, 38.797287000329334 ], [ -123.271149000291246, 38.79705800100475 ], [ -123.271148999802506, 38.79650900048351 ], [ -123.27065200013287, 38.796028000533319 ], [ -123.27050600018552, 38.795616000579869 ], [ -123.269920999443869, 38.795272000703207 ], [ -123.26954100027389, 38.79492900039088 ], [ -123.269365999743528, 38.794494000487362 ], [ -123.269365999710089, 38.793738001097587 ], [ -123.268927999885292, 38.793372000353934 ], [ -123.267991999708784, 38.793257000972829 ], [ -123.267377999770673, 38.79305100061714 ], [ -123.266471999460364, 38.792547000720774 ], [ -123.266091999654222, 38.792158000702621 ], [ -123.26606300014781, 38.791906000746593 ], [ -123.265594999466771, 38.791150000415868 ], [ -123.265215000400062, 38.790807001059093 ], [ -123.264162999410388, 38.790166000893279 ], [ -123.263607999656074, 38.789524000860041 ], [ -123.263607999471702, 38.789135000731406 ], [ -123.26454399942152, 38.788724000290053 ], [ -123.264544000139409, 38.788312000543691 ], [ -123.263638000364168, 38.787304000783159 ], [ -123.263024000293115, 38.787075001116385 ], [ -123.262323000347081, 38.786502001029589 ], [ -123.261973000486407, 38.785838000845168 ], [ -123.261943999615127, 38.785175000787568 ], [ -123.260072000328961, 38.784853000834048 ], [ -123.259751000009871, 38.784739000707035 ], [ -123.259253999975726, 38.78432600094331 ], [ -123.259049000194466, 38.783983000925879 ], [ -123.258990999576298, 38.783594000985147 ], [ -123.258903999820376, 38.783525000338045 ], [ -123.258875000016744, 38.78290700081017 ], [ -123.258640999834469, 38.782449000468269 ], [ -123.258465999932881, 38.782495001128929 ], [ -123.257441999957052, 38.782334000490117 ], [ -123.255893000498745, 38.781647000964384 ], [ -123.255658999991553, 38.781441000641586 ], [ -123.255367999500351, 38.780548000269135 ], [ -123.25516299980967, 38.780388000527246 ], [ -123.255016999857475, 38.780045000411498 ], [ -123.254959000275846, 38.779656000877893 ], [ -123.254958999660815, 38.779564000649458 ], [ -123.254784000391211, 38.779450000660106 ], [ -123.253730999582388, 38.779312000448591 ], [ -123.252415999902709, 38.778739000774202 ], [ -123.252036000423928, 38.778350000805382 ], [ -123.251949000467505, 38.777915000771749 ], [ -123.251772999861558, 38.777663000696542 ], [ -123.251118000474293, 38.777502000489832 ], [ -123.250607999422925, 38.777388000708932 ], [ -123.249234000305506, 38.777365000625615 ], [ -123.248298999506744, 38.777503000582662 ], [ -123.248123000221142, 38.77736600027567 ], [ -123.248035000190512, 38.777000000911841 ], [ -123.246981999544047, 38.776474000267655 ], [ -123.246688999394323, 38.776451000372084 ], [ -123.245871000511031, 38.77670300025305 ], [ -123.245169000422678, 38.776795000987995 ], [ -123.244700999799676, 38.776635000684237 ], [ -123.243794000266718, 38.775789001127769 ], [ -123.242273000204975, 38.774759001118277 ], [ -123.241482999826189, 38.774760000778372 ], [ -123.241014999536361, 38.774462000456211 ], [ -123.240986000499987, 38.774233001141567 ], [ -123.241102999623777, 38.773890001126361 ], [ -123.24113100000487, 38.773226000769775 ], [ -123.240750999397335, 38.772746000523568 ], [ -123.240516999617043, 38.772631001086587 ], [ -123.24002799996056, 38.772575001126484 ], [ -123.23952300008564, 38.772517000675734 ], [ -123.238149000287549, 38.772930000887143 ], [ -123.237857000120925, 38.773136000808634 ], [ -123.237797999888542, 38.773457001057579 ], [ -123.23712599954159, 38.773594000482277 ], [ -123.236073000402897, 38.773366000634283 ], [ -123.23557600014469, 38.773503000707272 ], [ -123.235401000099586, 38.773274000364182 ], [ -123.23507899992407, 38.773091001015928 ], [ -123.234084999584638, 38.773161001050418 ], [ -123.233236999569883, 38.77306900096454 ], [ -123.232301000143309, 38.773482001048428 ], [ -123.231892000228328, 38.773825000716734 ], [ -123.231454000453738, 38.773871000399659 ], [ -123.230927000171135, 38.77368800071082 ], [ -123.230781000533824, 38.773482000660458 ], [ -123.229582000359926, 38.772704000875741 ], [ -123.228499999486516, 38.772522000690728 ], [ -123.227965999789163, 38.772324000407117 ], [ -123.227330000528781, 38.772087000651744 ], [ -123.226218999553126, 38.771859000375102 ], [ -123.225370999402912, 38.771584000343665 ], [ -123.223792000505838, 38.771928000988311 ], [ -123.222710000342531, 38.771951001067009 ], [ -123.220927000272681, 38.772158000711805 ], [ -123.220458999743116, 38.772066000889815 ], [ -123.220078000137931, 38.772204000408394 ], [ -123.220078000472327, 38.77231800105546 ], [ -123.219756000117656, 38.772753000377698 ], [ -123.219347000059415, 38.772959001026024 ], [ -123.218733000315197, 38.773028000806306 ], [ -123.217650999655177, 38.772822000251665 ], [ -123.217388000451479, 38.772914000787623 ], [ -123.216890999464468, 38.773509000275766 ], [ -123.216393999666835, 38.773624000571914 ], [ -123.215634000529533, 38.774036000540413 ], [ -123.214522999955534, 38.77415100035735 ], [ -123.214348000134763, 38.774174000270115 ], [ -123.213937999897425, 38.773808000819059 ], [ -123.213557999482347, 38.772709000521886 ], [ -123.213382000109803, 38.772572000867711 ], [ -123.212154000511248, 38.772091000446473 ], [ -123.211715000276811, 38.772068001123714 ], [ -123.21118899978427, 38.772183000301737 ], [ -123.210486999490584, 38.771885000856557 ], [ -123.210311999926219, 38.771702000850766 ], [ -123.210312000178064, 38.771588001075855 ], [ -123.210077999701454, 38.771290000446925 ], [ -123.209346999827574, 38.770924000683472 ], [ -123.207738999700354, 38.770764000530043 ], [ -123.206129999531953, 38.770032001099992 ], [ -123.205135999691606, 38.770101000666507 ], [ -123.204463999716666, 38.76962000083531 ], [ -123.202417000492233, 38.769346000812838 ], [ -123.200721000352146, 38.768774000783004 ], [ -123.199697999838151, 38.768591000635695 ], [ -123.198821000394759, 38.768660000661917 ], [ -123.197475999582068, 38.768568000467134 ], [ -123.196539999398212, 38.768866001049155 ], [ -123.195545999985796, 38.768912000497224 ], [ -123.194669000012453, 38.768683000996496 ], [ -123.194083999433317, 38.768660000963308 ], [ -123.191775000507818, 38.769392000433683 ], [ -123.190516999798376, 38.769919000331846 ], [ -123.19028299962423, 38.770102000978774 ], [ -123.189785999552598, 38.77028500045752 ], [ -123.188471000131713, 38.770491001018513 ], [ -123.185634000098148, 38.771269000475428 ], [ -123.183615999633588, 38.770903000481873 ], [ -123.182096000107649, 38.770857001054885 ], [ -123.181862000266989, 38.770766000258774 ], [ -123.180137000452788, 38.769369000946178 ], [ -123.178937999598972, 38.769163000406159 ], [ -123.177944000217835, 38.768637000685978 ], [ -123.177418000525208, 38.768522000806456 ], [ -123.175487999510693, 38.768568000440986 ], [ -123.174114000464868, 38.767858000766964 ], [ -123.173704999784732, 38.766576000813089 ], [ -123.173061999566528, 38.765821001054768 ], [ -123.172331000414772, 38.765500000790283 ], [ -123.17209700044944, 38.765500000421923 ], [ -123.171279000516748, 38.765042000314942 ], [ -123.170664999438188, 38.764859000962218 ], [ -123.169788000070199, 38.764401000791558 ], [ -123.169087000375001, 38.764195000817644 ], [ -123.166836000522153, 38.762363000647689 ], [ -123.165053000537981, 38.762019000891506 ], [ -123.163970999435165, 38.762019000812387 ], [ -123.162422000246693, 38.762225000511293 ], [ -123.161486000342833, 38.761607000468224 ], [ -123.15941099986604, 38.76069100044193 ], [ -123.158709999566241, 38.760233000983654 ], [ -123.157949999517527, 38.760141000665129 ], [ -123.157452999782194, 38.75998000093967 ], [ -123.157102000202812, 38.759729000245187 ], [ -123.156868000486142, 38.759271000868154 ], [ -123.15640100052282, 38.75917900058807 ], [ -123.155786999396483, 38.758858001108969 ], [ -123.154618000454064, 38.758606000363024 ], [ -123.153095999937946, 38.758720000560977 ], [ -123.152775000326272, 38.758652000850191 ], [ -123.151810000194217, 38.758743000506037 ], [ -123.151517999919747, 38.758674000827888 ], [ -123.150670000426729, 38.758674000271284 ], [ -123.149969000000539, 38.75849000102496 ], [ -123.147863999509539, 38.758352000812927 ], [ -123.146753000084914, 38.758444000340525 ], [ -123.14467799971375, 38.758077000948695 ], [ -123.144034999903738, 38.757664000944686 ], [ -123.143070000520595, 38.757458001090164 ], [ -123.142515000462723, 38.757572000648118 ], [ -123.142076000270208, 38.757572000678387 ], [ -123.141755000445883, 38.757343000515661 ], [ -123.141432999942865, 38.756908000697003 ], [ -123.140936999515432, 38.7565870009741 ], [ -123.140148000467946, 38.756518000604409 ], [ -123.139036999925921, 38.755945000920534 ], [ -123.138305999446658, 38.755785000665078 ], [ -123.138065000016667, 38.755660000903823 ], [ -123.136232000007595, 38.754708000383616 ], [ -123.135268000226517, 38.753884000334303 ], [ -123.134945999768163, 38.753929000416875 ], [ -123.13468299952919, 38.753723000850201 ], [ -123.134566000186211, 38.753471000824433 ], [ -123.134010999608847, 38.753128000297089 ], [ -123.13395300043679, 38.752853000715021 ], [ -123.133778000110553, 38.752601000526816 ], [ -123.133749000395397, 38.752098000460791 ], [ -123.132813999618691, 38.752074000411106 ], [ -123.130855000406186, 38.751730000551731 ], [ -123.130240999602421, 38.751890000257269 ], [ -123.129803000278017, 38.751455000694513 ], [ -123.128926999566843, 38.751202000484696 ], [ -123.12825400006885, 38.751179000308277 ], [ -123.126852000235488, 38.750745000981006 ], [ -123.126115000215322, 38.750447000738355 ], [ -123.124880999553028, 38.750325000822684 ], [ -123.124412999642573, 38.749910001006107 ], [ -123.123887000313857, 38.749461000893668 ], [ -123.123154999726893, 38.748506000838454 ], [ -123.121634000282739, 38.747546000785434 ], [ -123.121164999962645, 38.74738600041313 ], [ -123.120405999543891, 38.747798000430443 ], [ -123.119996999753354, 38.747844000588685 ], [ -123.119762999648771, 38.747753000266059 ], [ -123.11949900001342, 38.74736400096743 ], [ -123.119460000391825, 38.747330000768358 ], [ -123.119206999543422, 38.747112000908118 ], [ -123.117570000454904, 38.746449000249335 ], [ -123.116925999940648, 38.746266000321704 ], [ -123.116400000003011, 38.745969000667259 ], [ -123.115698999427181, 38.746015000430205 ], [ -123.115085000033062, 38.745740000276022 ], [ -123.114674999948917, 38.745054000936825 ], [ -123.114352999518701, 38.744894000976721 ], [ -123.11356399947617, 38.745192001006181 ], [ -123.113359999547498, 38.745077000935694 ], [ -123.113243000232643, 38.744848000553432 ], [ -123.113097000306126, 38.744757000678369 ], [ -123.112423999991847, 38.744826000358714 ], [ -123.112015000484945, 38.744735000339077 ], [ -123.111576999709072, 38.74450600082465 ], [ -123.11131299983299, 38.744208000559233 ], [ -123.111312999977912, 38.744048000552056 ], [ -123.111078999980151, 38.743682000939309 ], [ -123.110932999506886, 38.74356800035423 ], [ -123.110230999387582, 38.743385000430735 ], [ -123.109939000066547, 38.743225000516638 ], [ -123.109646000486265, 38.742927000253552 ], [ -123.109646000523881, 38.742538000780584 ], [ -123.109528999971772, 38.74230900107996 ], [ -123.10909100037064, 38.742149000540252 ], [ -123.108477000142372, 38.741669000346214 ], [ -123.107803999689693, 38.741417000922162 ], [ -123.106926999545934, 38.740662000439315 ], [ -123.106568999797133, 38.740522000794542 ], [ -123.105991999817547, 38.74029600047033 ], [ -123.104589000000544, 38.740228000647818 ], [ -123.103974999441178, 38.740114000829045 ], [ -123.103653000443572, 38.740228000717643 ], [ -123.103010999774938, 38.740297000760243 ], [ -123.102805999641205, 38.740137000860287 ], [ -123.102776999940573, 38.739954000291938 ], [ -123.102688999548278, 38.73990800051434 ], [ -123.10248399940771, 38.739382001041825 ], [ -123.101635999658697, 38.738695000947672 ], [ -123.101138999722579, 38.738604000479157 ], [ -123.099881999662912, 38.73764300108234 ], [ -123.099004999731363, 38.737231000340621 ], [ -123.096521000511601, 38.736499001121594 ], [ -123.095058999561289, 38.735790000942266 ], [ -123.094327999959489, 38.735630000714096 ], [ -123.093364000259044, 38.735608000925481 ], [ -123.092574999965379, 38.735676000316296 ], [ -123.090966999540257, 38.735013000928937 ], [ -123.09070399980132, 38.734830000599935 ], [ -123.090471000161301, 38.734784000351823 ], [ -123.090295000279355, 38.734097000999178 ], [ -123.089299999585918, 38.733205001044489 ], [ -123.088831999854577, 38.732999000716518 ], [ -123.087575999574355, 38.732793000273475 ], [ -123.086640000536065, 38.732336000750387 ], [ -123.085383999684666, 38.732244000844027 ], [ -123.084653000175066, 38.7318100011192 ], [ -123.084243999669923, 38.731672001027043 ], [ -123.083309000504983, 38.731627000281499 ], [ -123.082899999820413, 38.731421000770624 ], [ -123.082491000400964, 38.731077000764927 ], [ -123.082169000243638, 38.730620000864846 ], [ -123.081613999747333, 38.730414001109125 ], [ -123.080736999836006, 38.729910000323329 ], [ -123.079538999395169, 38.729499000565944 ], [ -123.078925000446858, 38.729087000936111 ], [ -123.077580999968632, 38.728766000812499 ], [ -123.076821000508914, 38.728927000570721 ], [ -123.075973999476318, 38.728744000409456 ], [ -123.075711000101009, 38.72856000096985 ], [ -123.07518500025877, 38.72837700034308 ], [ -123.075068000317742, 38.728217000249622 ], [ -123.074178000462155, 38.727893001075216 ], [ -123.072933999424777, 38.727439000799002 ], [ -123.072067999681039, 38.726658000384042 ], [ -123.071386000133899, 38.726043000785424 ], [ -123.071239000059791, 38.725768000461251 ], [ -123.070888999948835, 38.725539000370425 ], [ -123.070860000209052, 38.725356000402257 ], [ -123.070421000514528, 38.724830001057249 ], [ -123.069602999912689, 38.724074000443046 ], [ -123.069019000461779, 38.723205000628852 ], [ -123.06735299947637, 38.721648000354932 ], [ -123.067090000307289, 38.721099000297876 ], [ -123.066768999414379, 38.720687001099492 ], [ -123.065599999527919, 38.719588001079437 ], [ -123.064576999839147, 38.719176000899694 ], [ -123.063758999916445, 38.719290001089178 ], [ -123.063058000154157, 38.719634000808718 ], [ -123.061801999726299, 38.719817000680344 ], [ -123.061667999986071, 38.719805001041642 ], [ -123.060252999500818, 38.71967800027825 ], [ -123.059755999700883, 38.719634001142943 ], [ -123.058762000345936, 38.719405000766038 ], [ -123.057243000300573, 38.718626000981317 ], [ -123.057175999526052, 38.71861700034443 ], [ -123.056365999688794, 38.718512000729937 ], [ -123.05619099952348, 38.718466000461618 ], [ -123.054146000466758, 38.718535000792322 ], [ -123.053297999853029, 38.71832900055572 ], [ -123.05250999982691, 38.718008001087256 ], [ -123.051661999756277, 38.717321000709454 ], [ -123.049149999720726, 38.716314000852655 ], [ -123.0473679994072, 38.716176000655487 ], [ -123.047075999994391, 38.715970000788673 ], [ -123.046725000382111, 38.71562700031285 ], [ -123.046666999438244, 38.715329000652098 ], [ -123.046491999444342, 38.715283000257529 ], [ -123.046461999751983, 38.715123000512541 ], [ -123.045731999974166, 38.714093000963004 ], [ -123.044943999446346, 38.714047000279791 ], [ -123.042665000452203, 38.71441300044004 ], [ -123.04079500028088, 38.715214001101081 ], [ -123.040092999550339, 38.715214000601016 ], [ -123.039333999828727, 38.715030000476773 ], [ -123.038340999696885, 38.715190000435335 ], [ -123.037639000378675, 38.715144000702132 ], [ -123.036937999694246, 38.714938000980517 ], [ -123.036266000370674, 38.714595000611368 ], [ -123.034776000340713, 38.714594000556204 ], [ -123.034308999945665, 38.714480000484329 ], [ -123.033432999918745, 38.714090000990865 ], [ -123.030687000437624, 38.713380000465655 ], [ -123.030335999791106, 38.713037001088935 ], [ -123.03007399975786, 38.712510000948861 ], [ -123.029782000336439, 38.71219000080999 ], [ -123.029080999969779, 38.711892001041491 ], [ -123.028085999735424, 38.711891000642915 ], [ -123.027326999873509, 38.712029000691601 ], [ -123.024579999590244, 38.713149000557998 ], [ -123.02411199982177, 38.713401000361536 ], [ -123.023557000032469, 38.713973000523417 ], [ -123.023118000067427, 38.714614000990757 ], [ -123.022621999696639, 38.715003000360909 ], [ -123.019961999741568, 38.716032000266381 ], [ -123.019349000138831, 38.71614600070518 ], [ -123.018794000183121, 38.716100000398114 ], [ -123.017128999913055, 38.715687000402461 ], [ -123.016839000269201, 38.715576000964212 ], [ -123.016063000402283, 38.715279001094878 ], [ -123.015161000243992, 38.714934000307991 ], [ -123.014674999415277, 38.714748001119979 ], [ -123.014176000333805, 38.714558000243727 ], [ -123.013861999409983, 38.714439001039104 ], [ -123.013184999635712, 38.71418200064425 ], [ -123.012864000016521, 38.714060000413689 ], [ -123.012545000425547, 38.713970000886917 ], [ -123.012046000246585, 38.713831000386342 ], [ -123.008919999412086, 38.713853000885948 ], [ -123.007605999825586, 38.713669000691027 ], [ -123.006787999556025, 38.713417000894154 ], [ -123.00538600004171, 38.713233000638709 ], [ -123.005474999637471, 38.7118370007843 ], [ -123.006089000512773, 38.710738000757729 ], [ -123.00655699944484, 38.709823000530143 ], [ -123.006645999667896, 38.708129000988166 ], [ -123.006821999913811, 38.707534000563548 ], [ -123.007202000073136, 38.706985000830741 ], [ -123.007553000535097, 38.706756000289396 ], [ -123.008078999843235, 38.706573001034016 ], [ -123.008136999889061, 38.70648200024786 ], [ -123.009773999425391, 38.70565800060529 ], [ -123.010240999768953, 38.70554400085954 ], [ -123.010553999491151, 38.705534000556355 ], [ -123.010971999806245, 38.705521000391975 ], [ -123.011350999693548, 38.705613000958579 ], [ -123.012110999393315, 38.705636000361942 ], [ -123.012986999600997, 38.705362000411618 ], [ -123.013192000167123, 38.705202000657685 ], [ -123.013308999705131, 38.704836000527543 ], [ -123.013338999604088, 38.704149000363124 ], [ -123.012958999754417, 38.703439000348361 ], [ -123.013106999974539, 38.701311000815679 ], [ -123.01334099983977, 38.700647000590948 ], [ -123.013195999495309, 38.698953000943014 ], [ -123.012904999464055, 38.697991000510285 ], [ -123.012904999958039, 38.697213000641497 ], [ -123.013051999750047, 38.696893000523623 ], [ -123.013081999871787, 38.695107000749275 ], [ -123.013198999515907, 38.694878000630183 ], [ -123.013228999605616, 38.694215000528651 ], [ -123.013112000426148, 38.693848000597036 ], [ -123.012703999748524, 38.693436000377567 ], [ -123.010980999543676, 38.692497000453407 ], [ -123.010221999633032, 38.691878000459546 ], [ -123.009988999431584, 38.691100000982473 ], [ -123.009872999549017, 38.690116000362273 ], [ -123.009493999845674, 38.689749000353132 ], [ -123.00762499955033, 38.688947000668925 ], [ -123.006954000044857, 38.688512000480408 ], [ -123.006779000102199, 38.688260000976577 ], [ -123.006807999567556, 38.687665000667572 ], [ -123.007481000261691, 38.686246000945502 ], [ -123.007772999678508, 38.685994000864255 ], [ -123.008532999853784, 38.685697000438282 ], [ -123.009233999722454, 38.685629000594844 ], [ -123.0098760001285, 38.685972001081602 ], [ -123.010226000015223, 38.686385000876797 ], [ -123.010721999859172, 38.686774000383004 ], [ -123.010985000150569, 38.68686600039743 ], [ -123.011715000165992, 38.686912000789562 ], [ -123.012707999867075, 38.686752000899034 ], [ -123.01396399986217, 38.686661000287039 ], [ -123.014490000152009, 38.686501000434916 ], [ -123.01466499969635, 38.68634100039715 ], [ -123.015198999540374, 38.685104000838855 ], [ -123.015396000161772, 38.684647000647686 ], [ -123.015368000279167, 38.683777000744051 ], [ -123.015603000166308, 38.681946000967635 ], [ -123.0159530003355, 38.681420000577901 ], [ -123.016770999717764, 38.681077000557522 ], [ -123.017121999900695, 38.680734001012674 ], [ -123.017619000357243, 38.679795000382306 ], [ -123.018028000493459, 38.679406000904706 ], [ -123.018407999728169, 38.679315000399882 ], [ -123.019370999847723, 38.679544000972378 ], [ -123.021123000264339, 38.679682000779138 ], [ -123.021445000521837, 38.679522000719459 ], [ -123.02238000008758, 38.67837800050922 ], [ -123.022643000346051, 38.677783000731701 ], [ -123.022992999828062, 38.677508000555299 ], [ -123.023869999777602, 38.677234000509308 ], [ -123.0243370000901, 38.677005000407689 ], [ -123.02448299983962, 38.676730001058573 ], [ -123.024541999567674, 38.675769001113821 ], [ -123.024893000382619, 38.675311001036498 ], [ -123.025301999739355, 38.674304001018655 ], [ -123.02611999970047, 38.673046000496349 ], [ -123.026148999429836, 38.672817000774963 ], [ -123.026004000089188, 38.672656001017302 ], [ -123.025243999854254, 38.672587000561407 ], [ -123.023171000440314, 38.673411000325181 ], [ -123.0224700004635, 38.673548000247614 ], [ -123.022178000446061, 38.673456000708597 ], [ -123.021857000424617, 38.673136000331311 ], [ -123.021769999762839, 38.67263200107422 ], [ -123.021945000008301, 38.672220000927936 ], [ -123.023697999443428, 38.670939000759638 ], [ -123.024486000296207, 38.670939000664653 ], [ -123.024924000308417, 38.670665000585686 ], [ -123.025420999494713, 38.66974900043521 ], [ -123.025921999921749, 38.669553000401585 ], [ -123.026297000115434, 38.669406000709742 ], [ -123.026793999399388, 38.669017000546376 ], [ -123.026794000404536, 38.668628000501805 ], [ -123.025976999529462, 38.66743700025178 ], [ -123.025976999689249, 38.666728001130664 ], [ -123.026181999912552, 38.666384001074405 ], [ -123.026474000299615, 38.666179000845311 ], [ -123.027029000500448, 38.666110000671289 ], [ -123.02752499963168, 38.666385000375918 ], [ -123.027668999695322, 38.666575000667862 ], [ -123.02883800042234, 38.668125000832262 ], [ -123.029479999641424, 38.668652000936937 ], [ -123.03102699944381, 38.669293000761357 ], [ -123.032195000522336, 38.669888000996771 ], [ -123.032545999486686, 38.669889000602041 ], [ -123.032955000413892, 38.669683000951451 ], [ -123.033043000474521, 38.669500000958003 ], [ -123.03339299992048, 38.669385001140569 ], [ -123.034122999706526, 38.668905000365889 ], [ -123.035612000300361, 38.668562000928851 ], [ -123.036605000198122, 38.66810400043645 ], [ -123.037394000114304, 38.668058000297101 ], [ -123.037831000291035, 38.668287000991903 ], [ -123.038589999907074, 38.668929001044887 ], [ -123.039173999759058, 38.669203001129972 ], [ -123.039640999900186, 38.669730001127824 ], [ -123.0396410000521, 38.669822000580794 ], [ -123.040224999870802, 38.67023400040209 ], [ -123.041625999717738, 38.670348000564196 ], [ -123.042501999737013, 38.671081000902994 ], [ -123.042648000354987, 38.671127001095542 ], [ -123.044050000216501, 38.671058000329083 ], [ -123.045392000525581, 38.671677000674791 ], [ -123.04650199981694, 38.671814000976006 ], [ -123.046736000535603, 38.671929000930874 ], [ -123.047348999741772, 38.67257000075 ], [ -123.047670000119567, 38.672959000796268 ], [ -123.048137000520413, 38.673096000717884 ], [ -123.049716999512597, 38.673058000940223 ], [ -123.050939999437688, 38.673028000496565 ], [ -123.052282999931222, 38.673349000684176 ], [ -123.054034999620853, 38.673967000258727 ], [ -123.054765000220513, 38.674379001107695 ], [ -123.055318999719475, 38.674585001143832 ], [ -123.05552400043743, 38.674768000661011 ], [ -123.055524000232808, 38.67486000093114 ], [ -123.056078999806445, 38.67527200075714 ], [ -123.056194999565207, 38.675501000389808 ], [ -123.056808000226283, 38.676096000554317 ], [ -123.05683799987122, 38.67623300045485 ], [ -123.057888999552517, 38.677218000873914 ], [ -123.058911000329076, 38.677813000264564 ], [ -123.060399999704956, 38.677881000344208 ], [ -123.062239999714748, 38.677401000606082 ], [ -123.063056999790248, 38.677080000477311 ], [ -123.063320999418096, 38.676783001009163 ], [ -123.063555000360722, 38.676050001071765 ], [ -123.063730000016633, 38.675867000291127 ], [ -123.064108999664782, 38.675753000441894 ], [ -123.064663999900205, 38.675821000291499 ], [ -123.06562800048097, 38.676279001062397 ], [ -123.066036999410002, 38.676645000983818 ], [ -123.066183000128419, 38.676851000680976 ], [ -123.06618299963462, 38.677607000712683 ], [ -123.066561999677546, 38.678019000470677 ], [ -123.066825000043806, 38.678133000950289 ], [ -123.067205000378578, 38.678087000297147 ], [ -123.067379999730932, 38.677950000537194 ], [ -123.067612999904441, 38.677447000989837 ], [ -123.06796400004221, 38.676966000659291 ], [ -123.068372999439291, 38.676760000886254 ], [ -123.069132000158504, 38.676760000811356 ], [ -123.069452999387934, 38.676897000820489 ], [ -123.069716000475907, 38.676920000313075 ], [ -123.070621000474887, 38.676233000863277 ], [ -123.071117000080022, 38.675958000907563 ], [ -123.072401999506056, 38.6759810011159 ], [ -123.073715999552746, 38.675294000388725 ], [ -123.074621000237073, 38.675271000494909 ], [ -123.075935000042378, 38.675454000289768 ], [ -123.076402000005444, 38.675157000575112 ], [ -123.076518999742689, 38.674768001123105 ], [ -123.076524999908841, 38.674682000634931 ], [ -123.076577000205006, 38.673966000514696 ], [ -123.076752000423966, 38.673646000823403 ], [ -123.077949000430635, 38.672868001103168 ], [ -123.078094999621356, 38.672570000402914 ], [ -123.078445999595431, 38.672295001052504 ], [ -123.079700999774175, 38.671791000492938 ], [ -123.080869000271775, 38.671127000417222 ], [ -123.081511000014046, 38.671036000867566 ], [ -123.08235800041713, 38.671127000523271 ], [ -123.083146000514034, 38.671562000805309 ], [ -123.083380000248496, 38.671333000488069 ], [ -123.083818000292624, 38.671150000735828 ], [ -123.083846999762656, 38.670944000281544 ], [ -123.082708000390141, 38.670166000465784 ], [ -123.082212000296479, 38.669616000899524 ], [ -123.082095000397558, 38.66927300041511 ], [ -123.081568999538845, 38.668518000894714 ], [ -123.08072199966432, 38.668175001101851 ], [ -123.080080000273952, 38.668106000541577 ], [ -123.079963000513729, 38.668037001005743 ], [ -123.079962999845364, 38.667808000402552 ], [ -123.079845999877691, 38.667671000784637 ], [ -123.079321000307388, 38.667580001060145 ], [ -123.079115999881836, 38.667442000553592 ], [ -123.078998999994596, 38.66691600089419 ], [ -123.078590000489584, 38.666618000607301 ], [ -123.078561000188586, 38.666138000952209 ], [ -123.078122999525675, 38.665817000340482 ], [ -123.077976999972876, 38.665359000839494 ], [ -123.077596999458791, 38.66469600037501 ], [ -123.07753900040295, 38.664398000831461 ], [ -123.076663000328423, 38.663255000979404 ], [ -123.075933000391004, 38.662888000743685 ], [ -123.075436999975352, 38.662431000436648 ], [ -123.075406999460441, 38.662248000256497 ], [ -123.075320000338465, 38.662202001105484 ], [ -123.075290999430123, 38.661858000331961 ], [ -123.075670000410724, 38.661515000674335 ], [ -123.075698999625203, 38.661240000634862 ], [ -123.075261000255324, 38.660874000813514 ], [ -123.075232000494879, 38.660371000629752 ], [ -123.074851999866823, 38.660027000459863 ], [ -123.074852000425963, 38.65952400047194 ], [ -123.074647999897849, 38.659226000637759 ], [ -123.074589000181049, 38.658745001077335 ], [ -123.074384999502144, 38.658517000551527 ], [ -123.074243999400423, 38.65845000025724 ], [ -123.073713999501322, 38.658196000245603 ], [ -123.073450999558503, 38.657944000535302 ], [ -123.073187999485597, 38.657899000516608 ], [ -123.072838000470298, 38.657624000509955 ], [ -123.072807999399217, 38.657441000410877 ], [ -123.072517000260945, 38.656983000668426 ], [ -123.071933000483895, 38.656731000484974 ], [ -123.071669999482751, 38.656434000351375 ], [ -123.071640999862268, 38.656136000406633 ], [ -123.071289999573764, 38.655678000891726 ], [ -123.071086000135821, 38.655083000626938 ], [ -123.070939999535796, 38.65508300094055 ], [ -123.070327000128898, 38.654396000894295 ], [ -123.069888999973102, 38.654145001070468 ], [ -123.068954999392275, 38.654007001133557 ], [ -123.068167000439587, 38.653687001016628 ], [ -123.068050000441062, 38.653412000966355 ], [ -123.067786999605715, 38.65320600032161 ], [ -123.067145000325851, 38.65297700079077 ], [ -123.066707000377605, 38.652726000700639 ], [ -123.066706999981633, 38.652474001129079 ], [ -123.066678000129713, 38.651398001086648 ], [ -123.066415000354311, 38.651100000247531 ], [ -123.066385999717994, 38.650826001004106 ], [ -123.066531999388374, 38.6505970005772 ], [ -123.066532000474211, 38.650208000253947 ], [ -123.066298000427793, 38.649979001110367 ], [ -123.065684999969761, 38.649727000257151 ], [ -123.065391999642401, 38.64947500068574 ], [ -123.065391999519335, 38.649155000790039 ], [ -123.064311999875784, 38.648766000686507 ], [ -123.063932999924432, 38.648537000674679 ], [ -123.063611999876429, 38.648010001135049 ], [ -123.063174000311889, 38.647690000586643 ], [ -123.062649000274106, 38.647255000869031 ], [ -123.062298000518467, 38.647049000501461 ], [ -123.061423000244531, 38.64704900087375 ], [ -123.060985000241658, 38.646866000926856 ], [ -123.060896999448403, 38.646774000999116 ], [ -123.060703999772571, 38.646810001119327 ], [ -123.059818000401336, 38.646980001126281 ], [ -123.059409000288042, 38.646957000288516 ], [ -123.058592000181804, 38.646545000628613 ], [ -123.057919999891169, 38.646431000347476 ], [ -123.057453000153771, 38.646202000246433 ], [ -123.056607000491127, 38.646041000452989 ], [ -123.055877000408017, 38.645721000740714 ], [ -123.055234999980712, 38.645652000467457 ], [ -123.054476000159454, 38.645675000572332 ], [ -123.05427199976728, 38.645789000451664 ], [ -123.054183999453514, 38.645950001060172 ], [ -123.053892000001326, 38.646133000985245 ], [ -123.053133999778822, 38.646087000391908 ], [ -123.053017000077702, 38.646842000434752 ], [ -123.052461999556982, 38.647804000812556 ], [ -123.052082999895518, 38.648010001078113 ], [ -123.051003000126002, 38.648009000765875 ], [ -123.0506520005315, 38.64773500041855 ], [ -123.050652000400504, 38.647552001141761 ], [ -123.050127000267523, 38.647368000570275 ], [ -123.050068999672888, 38.647140000853369 ], [ -123.050097999881842, 38.646338000271712 ], [ -123.050011000111695, 38.646293000507356 ], [ -123.049922999954518, 38.645606000260244 ], [ -123.050069000220759, 38.645217000268424 ], [ -123.05050699948363, 38.64466700103425 ], [ -123.050565000461887, 38.644347001034703 ], [ -123.050915999502294, 38.643798001132922 ], [ -123.051295000177404, 38.643615001089771 ], [ -123.051470000179961, 38.643340000657851 ], [ -123.050915999998153, 38.642355000816679 ], [ -123.050916000534798, 38.641966000821292 ], [ -123.051178999852453, 38.641142000949749 ], [ -123.051733999449723, 38.640410000398823 ], [ -123.051820999432749, 38.639677000463955 ], [ -123.05202200038606, 38.639422000261817 ], [ -123.052055000172629, 38.639380000877765 ], [ -123.052054999394713, 38.639174001131842 ], [ -123.051820999551524, 38.638991000929977 ], [ -123.050886999431242, 38.638624000529902 ], [ -123.049428000281623, 38.637777000340442 ], [ -123.048465000019689, 38.63766300054273 ], [ -123.048056999718639, 38.637411000981473 ], [ -123.047970000443712, 38.636266000371805 ], [ -123.047328000483745, 38.635511000778443 ], [ -123.046657000214239, 38.635236000272577 ], [ -123.046393999666066, 38.63500700109892 ], [ -123.046160999459659, 38.634458000482496 ], [ -123.046014999576371, 38.634320000754897 ], [ -123.045635000106557, 38.634229000303826 ], [ -123.045285000056396, 38.634000000955908 ], [ -123.045051999709514, 38.633656000366777 ], [ -123.044993999795864, 38.633404000641193 ], [ -123.043796999889992, 38.63248900103158 ], [ -123.044117999856084, 38.632031000719444 ], [ -123.044234999921969, 38.631459001125663 ], [ -123.044148000119151, 38.631092000729424 ], [ -123.043915000252952, 38.630909000295091 ], [ -123.043618999782467, 38.630825000897367 ], [ -123.043273000194574, 38.630726000874468 ], [ -123.042630999635847, 38.630428000313373 ], [ -123.041785000102351, 38.629764001080403 ], [ -123.041551000243174, 38.629421000252563 ], [ -123.041347000159448, 38.629329000335552 ], [ -123.041113999490022, 38.629100000977679 ], [ -123.040529999820606, 38.628757000672152 ], [ -123.04038399957696, 38.628345000423572 ], [ -123.040092999435274, 38.628184000505101 ], [ -123.039800999881052, 38.628345001029771 ], [ -123.039391999777308, 38.628436000440935 ], [ -123.039013000427872, 38.628161000360024 ], [ -123.038983999682998, 38.62745200074508 ], [ -123.038604999407994, 38.627062000714865 ], [ -123.038458999838937, 38.626650000645121 ], [ -123.038634000248791, 38.626147000437705 ], [ -123.038488000369327, 38.625987001091332 ], [ -123.038255000396887, 38.625964000639478 ], [ -123.037875999543459, 38.626376000911606 ], [ -123.037467000146194, 38.62646700083215 ], [ -123.037292000099313, 38.62630700027259 ], [ -123.037379999743877, 38.62582600070504 ], [ -123.037204999944805, 38.625712000522377 ], [ -123.036678999647108, 38.625620000625311 ], [ -123.036532999436417, 38.625460000626575 ], [ -123.036503999646953, 38.624911000699001 ], [ -123.036707999405124, 38.624345000724375 ], [ -123.037847000198894, 38.624093001109301 ], [ -123.038547999974597, 38.623659000628322 ], [ -123.038576999459792, 38.623521000261114 ], [ -123.038459999422301, 38.62345200101452 ], [ -123.038308999884777, 38.623475000354027 ], [ -123.037147000341633, 38.62365800107046 ], [ -123.03583299998526, 38.62354300035561 ], [ -123.034198999894016, 38.623085000615518 ], [ -123.032420000274954, 38.622719000456236 ], [ -123.032157000069645, 38.622467000939317 ], [ -123.031952999405206, 38.622077001086765 ], [ -123.031486999558496, 38.621551000333291 ], [ -123.031457999466781, 38.621070001100904 ], [ -123.031179999678443, 38.620888000913574 ], [ -123.031108000508766, 38.620841000262608 ], [ -123.02996999984822, 38.620658000648582 ], [ -123.029590999579113, 38.620406000593924 ], [ -123.029473999416567, 38.620017000705353 ], [ -123.029094999765036, 38.619788001104183 ], [ -123.028657000495244, 38.619353000753172 ], [ -123.028102999854497, 38.618895001123931 ], [ -123.027841000500459, 38.61832200035979 ], [ -123.027677000315109, 38.61824300088189 ], [ -123.027419000447921, 38.618140000989527 ], [ -123.027207000007024, 38.618111000460871 ], [ -123.026890999495791, 38.617972001129573 ], [ -123.026820999394303, 38.617926000386859 ], [ -123.026374999690091, 38.61785900060292 ], [ -123.025988000035312, 38.617783001117168 ], [ -123.025518999792851, 38.617652000317392 ], [ -123.025060999403422, 38.617503001121499 ], [ -123.024570000012829, 38.617198000311937 ], [ -123.024266000100482, 38.616866000449811 ], [ -123.024043999861831, 38.616600000900043 ], [ -123.023915999553935, 38.616443001108792 ], [ -123.023622999823345, 38.61630400082425 ], [ -123.023470999440164, 38.616157000535345 ], [ -123.023424999458612, 38.615855000350145 ], [ -123.023496999853094, 38.615535000355912 ], [ -123.023650999545708, 38.615317000855697 ], [ -123.023839999844029, 38.615144000610471 ], [ -123.023888000522405, 38.614953000512749 ], [ -123.023875999999177, 38.614861000838218 ], [ -123.02382799983782, 38.614800000603026 ], [ -123.02375999940746, 38.614714000746716 ], [ -123.023724999583962, 38.614513000739336 ], [ -123.023890000078055, 38.614367000560094 ], [ -123.024243999957775, 38.614086000822553 ], [ -123.024398000346423, 38.613913000577917 ], [ -123.024304000516807, 38.61378500082207 ], [ -123.023940999707335, 38.613673000282901 ], [ -123.023624999546982, 38.613488000412431 ], [ -123.023133000018149, 38.613137001046979 ], [ -123.022829999717231, 38.612760000326588 ], [ -123.022479000521727, 38.612410000639578 ], [ -123.021893000275725, 38.612196000266231 ], [ -123.02166899977415, 38.612359000668356 ], [ -123.021633000472661, 38.612551000753896 ], [ -123.021679000364287, 38.612816000527026 ], [ -123.021666000214708, 38.612972000791224 ], [ -123.02159499994309, 38.613026000937026 ], [ -123.021513000082905, 38.613025000393463 ], [ -123.021442999420742, 38.61296100041934 ], [ -123.021362000463398, 38.612787000674707 ], [ -123.021328000416574, 38.612558000453554 ], [ -123.021164000335034, 38.612383000911919 ], [ -123.020871000297944, 38.612235000605807 ], [ -123.020659999944783, 38.61212300049884 ], [ -123.020321000176111, 38.611847001078779 ], [ -123.020051000506143, 38.611808000644736 ], [ -123.019711999472136, 38.611568000414891 ], [ -123.0195370000867, 38.611339000761475 ], [ -123.019361999790334, 38.611017001028614 ], [ -123.019211000105557, 38.610788000497173 ], [ -123.018977000287322, 38.610640001026795 ], [ -123.018801000275971, 38.610529000293567 ], [ -123.018801999489611, 38.610410000811243 ], [ -123.018883999785984, 38.610319001059139 ], [ -123.01904899954792, 38.610265000787379 ], [ -123.019143000221703, 38.610293000927605 ], [ -123.019448000006122, 38.610341000603732 ], [ -123.019565000348095, 38.610324000765928 ], [ -123.019600999825613, 38.61026000081452 ], [ -123.019448999733441, 38.61011300055393 ], [ -123.019143999892222, 38.609992000395408 ], [ -123.018874999823325, 38.609807000607432 ], [ -123.01887600033082, 38.609597001032171 ], [ -123.018912999567078, 38.609359000880254 ], [ -123.019006000068671, 38.609140000555662 ], [ -123.018830999712847, 38.608819001135664 ], [ -123.018365000284476, 38.608659001116919 ], [ -123.018073000013203, 38.608819000797752 ], [ -123.017955999469734, 38.609048001047427 ], [ -123.017723000106272, 38.609231001017811 ], [ -123.017168000100639, 38.609277000601843 ], [ -123.015797000495326, 38.609093000927331 ], [ -123.015300999610673, 38.608887001113352 ], [ -123.013929999777943, 38.608817000701606 ], [ -123.013260000246021, 38.60863400052348 ], [ -123.012646999881497, 38.608657001119056 ], [ -123.01171400024522, 38.608359000530172 ], [ -123.01115999949711, 38.60778600104625 ], [ -123.009963999846136, 38.607053001009291 ], [ -123.008914999926148, 38.606114000950001 ], [ -123.008331999801129, 38.60581600105138 ], [ -123.008068000349994, 38.605747000500052 ], [ -123.007688999892878, 38.605450000588171 ], [ -123.007048000091544, 38.604671000469587 ], [ -123.006664999906448, 38.604545000439622 ], [ -123.006517000274087, 38.604497001115654 ], [ -123.006348000312954, 38.604442000445218 ], [ -123.005793999399344, 38.604190000454551 ], [ -123.00407400031969, 38.60299900050731 ], [ -123.00360800005727, 38.602586000750136 ], [ -123.003409000126382, 38.602190000831889 ], [ -123.003229000305254, 38.601831000483521 ], [ -123.002034000499108, 38.60066300073067 ], [ -123.001443000491747, 38.60041000101419 ], [ -123.001110000300855, 38.600296000454819 ], [ -122.999251000320797, 38.598763000313994 ], [ -122.998919999862508, 38.598289001020895 ], [ -122.998404000058429, 38.597550001120517 ], [ -122.998025000483636, 38.597230000659337 ], [ -122.998519999954411, 38.596886000846887 ], [ -122.999279000461996, 38.596794001067664 ], [ -123.00018200042247, 38.595833000578985 ], [ -123.00068699993443, 38.595443000650477 ], [ -123.001109999582354, 38.595328000895059 ], [ -123.002155999785842, 38.594619000930372 ], [ -123.002273000408906, 38.594162000980518 ], [ -123.003089999750046, 38.593750000258908 ], [ -123.003528000295447, 38.593201001122196 ], [ -123.004053000013641, 38.59283500103237 ], [ -123.004111999619383, 38.592217001036154 ], [ -123.00399500028702, 38.592057000845905 ], [ -123.003383000397136, 38.592033000484022 ], [ -123.002683000359028, 38.591827000966177 ], [ -123.001110000193378, 38.591117000676711 ], [ -123.000733999990061, 38.590922000402223 ], [ -123.000405999875667, 38.590672000382575 ], [ -123.000273999882978, 38.590446000772957 ], [ -123.000242999838406, 38.59026100089239 ], [ -123.000314000424211, 38.590172001004049 ], [ -123.000472000513199, 38.59013400051191 ], [ -123.000715000300403, 38.590172001043669 ], [ -123.000940000093792, 38.590277000863274 ], [ -123.001109999681816, 38.590338000639306 ], [ -123.00207200032915, 38.590751000777331 ], [ -123.002771000350521, 38.590889000436846 ], [ -123.004405000235735, 38.590981000610881 ], [ -123.005833999482121, 38.590867000416594 ], [ -123.0081969997334, 38.590319000953336 ], [ -123.009275999632607, 38.589381000996958 ], [ -123.009397999723333, 38.589336000695162 ], [ -123.009655999611567, 38.58924400059616 ], [ -123.010181999829285, 38.589175000757564 ], [ -123.011903999501826, 38.589453000635864 ], [ -123.01245599969161, 38.589543000928458 ], [ -123.012893999824101, 38.589726000566678 ], [ -123.013710000401744, 38.590436000457061 ], [ -123.013710000098129, 38.590688000942123 ], [ -123.013629000527672, 38.59081400072769 ], [ -123.013504999512534, 38.591008000887072 ], [ -123.013650999729308, 38.591443000786825 ], [ -123.014378999933299, 38.592199000515969 ], [ -123.014846000070165, 38.592336001025103 ], [ -123.015458000263848, 38.592337000528495 ], [ -123.016740999885471, 38.593092000617453 ], [ -123.016683999920687, 38.593272000653698 ], [ -123.016623999623846, 38.593459000692327 ], [ -123.016711999707141, 38.59364200086263 ], [ -123.017148999406928, 38.594031000371949 ], [ -123.017614999684739, 38.594649000997848 ], [ -123.017993999409626, 38.594878000934635 ], [ -123.018898000091042, 38.595085000697487 ], [ -123.019831999849529, 38.594856000350575 ], [ -123.020853000174895, 38.594216000845883 ], [ -123.022282000219818, 38.5936210005612 ], [ -123.023944999455949, 38.593393000536473 ], [ -123.027007999455719, 38.593165001025682 ], [ -123.027970000163677, 38.592776000681269 ], [ -123.029340999548765, 38.592822001033959 ], [ -123.030712000041746, 38.592411000984981 ], [ -123.033540999551178, 38.592274001029942 ], [ -123.034065999553505, 38.59206800027826 ], [ -123.034561999803699, 38.591679001089879 ], [ -123.035174999459016, 38.591473000865783 ], [ -123.035786999606643, 38.591428000515506 ], [ -123.035903999688017, 38.591496000690029 ], [ -123.03616599985908, 38.591428000268564 ], [ -123.036467000465365, 38.591251000626812 ], [ -123.036866999685415, 38.591016000343288 ], [ -123.037507999972092, 38.590993000846176 ], [ -123.038470999929743, 38.591176001137832 ], [ -123.038703999950584, 38.59106200105947 ], [ -123.039170999713349, 38.590123000914254 ], [ -123.039462999934827, 38.589826000980523 ], [ -123.03989999958678, 38.589620000914067 ], [ -123.040308999823267, 38.589300000850841 ], [ -123.040542999393423, 38.588911000293706 ], [ -123.040717999626239, 38.58827000029283 ], [ -123.04101000024356, 38.587881001071864 ], [ -123.041621999675584, 38.587514000468659 ], [ -123.042176999794222, 38.58737700060643 ], [ -123.042555999740244, 38.587148001100381 ], [ -123.042788999524021, 38.586782000297184 ], [ -123.043167999641497, 38.58641600112481 ], [ -123.043576999729382, 38.586279000594082 ], [ -123.043707000489462, 38.586263000886532 ], [ -123.044917999538342, 38.586119001121503 ], [ -123.045617999678342, 38.586233000700496 ], [ -123.046376000419329, 38.586645000734094 ], [ -123.048768000003477, 38.58742400046259 ], [ -123.049613000192281, 38.587447000808922 ], [ -123.050255000239574, 38.587241001095599 ], [ -123.05101299957164, 38.587287001135145 ], [ -123.053083999514755, 38.58818000056808 ], [ -123.053565000497059, 38.588257000684855 ], [ -123.05484300012958, 38.588463000643934 ], [ -123.055212999950442, 38.588523000660736 ], [ -123.056292000024371, 38.588890001131759 ], [ -123.057167000002266, 38.588981000973256 ], [ -123.058654000363831, 38.589485000723641 ], [ -123.058858000387687, 38.589622000433792 ], [ -123.059355000096105, 38.589722000629834 ], [ -123.059762000339717, 38.589805000325256 ], [ -123.061074999934235, 38.589691000347152 ], [ -123.061366000477321, 38.58950800024612 ], [ -123.061456000482622, 38.58939200114181 ], [ -123.061600000437025, 38.589210000373804 ], [ -123.06186199947858, 38.588547000444336 ], [ -123.062259000205955, 38.588434000343888 ], [ -123.062825000279432, 38.588272001118341 ], [ -123.063611999578143, 38.587791000680681 ], [ -123.063990999421023, 38.587631000619481 ], [ -123.064719999553446, 38.586601001035888 ], [ -123.065041000102909, 38.586418000348409 ], [ -123.06591600032408, 38.584793001089466 ], [ -123.066206999644692, 38.583283000748565 ], [ -123.066440999880641, 38.582756000453891 ], [ -123.066469999762745, 38.582161000828343 ], [ -123.065362000347051, 38.579666000827928 ], [ -123.065187000474651, 38.579506001033103 ], [ -123.064486999570377, 38.579300000320991 ], [ -123.063904000253018, 38.578727000512451 ], [ -123.06338700011527, 38.578578000428195 ], [ -123.063349999794099, 38.578567000576435 ], [ -123.063115999550149, 38.578430000277471 ], [ -123.062912000399905, 38.578109000532663 ], [ -123.062678999458171, 38.577995001062391 ], [ -123.061862000411139, 38.577995000424458 ], [ -123.061104000002786, 38.578178000798324 ], [ -123.060812999738829, 38.578086000956638 ], [ -123.059559000485677, 38.578201000929219 ], [ -123.059209000479356, 38.578132000518046 ], [ -123.058013000299511, 38.577308000550879 ], [ -123.057225999535873, 38.576644000923388 ], [ -123.056384999974952, 38.576102000431135 ], [ -123.055272999716308, 38.575385000691902 ], [ -123.054689000156557, 38.575179000837508 ], [ -123.053464999899717, 38.574355000378482 ], [ -123.053319000249815, 38.574309000258545 ], [ -123.052561000107403, 38.573645000750616 ], [ -123.051715000383695, 38.573347000539229 ], [ -123.05119099942722, 38.573347001065073 ], [ -123.050987000335809, 38.573210001111391 ], [ -123.051015999853902, 38.572683000877738 ], [ -123.050549000335138, 38.572111000734047 ], [ -123.050548999575653, 38.571951000460736 ], [ -123.050025000336277, 38.57142400084021 ], [ -123.049703999976416, 38.570921001032644 ], [ -123.049603999508761, 38.570843000258918 ], [ -123.049966999633526, 38.570646000818144 ], [ -123.049938000109577, 38.569891000491921 ], [ -123.050054000534786, 38.569547000824798 ], [ -123.05043300022804, 38.568975000987379 ], [ -123.05034599975248, 38.568700000501607 ], [ -123.049383999982609, 38.567853000658069 ], [ -123.049296999915271, 38.567601000730171 ], [ -123.049383999522831, 38.566732001099098 ], [ -123.050055000187854, 38.565564000680197 ], [ -123.050579999547409, 38.564855000579094 ], [ -123.050900999578744, 38.564694000320877 ], [ -123.051455000119262, 38.564672000376831 ], [ -123.052153999984782, 38.565221000355542 ], [ -123.052854000007855, 38.565336000708754 ], [ -123.053466000497338, 38.564924001040822 ], [ -123.053495000139165, 38.56380200086948 ], [ -123.053815999581516, 38.562841000843108 ], [ -123.053845999619327, 38.562039000826267 ], [ -123.053438000090338, 38.561215000300876 ], [ -123.053321000476842, 38.560712000940278 ], [ -123.054137000471641, 38.560048000812529 ], [ -123.056061000444899, 38.559499000288 ], [ -123.056199000478571, 38.559390001117883 ], [ -123.056458999825722, 38.559187000625599 ], [ -123.056674000336557, 38.559018000331193 ], [ -123.057052999866826, 38.558537000552803 ], [ -123.05740299966611, 38.558331000794496 ], [ -123.057467000133315, 38.558233000417459 ], [ -123.057782000521854, 38.557759000428533 ], [ -123.057869000512042, 38.556981000254972 ], [ -123.058627000155283, 38.556500001019813 ], [ -123.058889000486488, 38.556202000798251 ], [ -123.058984999476294, 38.555702000382347 ], [ -123.05903499941283, 38.555447001040832 ], [ -123.059356000327654, 38.555058000579564 ], [ -123.059851999473963, 38.55478300056059 ], [ -123.060201000506197, 38.554692000933855 ], [ -123.061425999920175, 38.554737000693997 ], [ -123.061687999671477, 38.554646000795003 ], [ -123.062388000078684, 38.554188000910464 ], [ -123.062854000342341, 38.553410000366071 ], [ -123.063669999685132, 38.552609000353272 ], [ -123.0638449996041, 38.552059000682206 ], [ -123.064136999406074, 38.551739000761359 ], [ -123.064602999785777, 38.551441000853842 ], [ -123.065273000226753, 38.551189001079479 ], [ -123.066964999427611, 38.551039000621699 ], [ -123.067081000314943, 38.55102900113198 ], [ -123.06731399957502, 38.550869000836478 ], [ -123.068071999479599, 38.550136000882723 ], [ -123.068071999905868, 38.54949500066536 ], [ -123.068158999908178, 38.549381000755382 ], [ -123.068184000487037, 38.548957000650518 ], [ -123.068187999957019, 38.548900000689002 ], [ -123.068480000387268, 38.548030000324871 ], [ -123.068974999816291, 38.547366000724729 ], [ -123.069121000001033, 38.546771000858136 ], [ -123.069412000526057, 38.546382000798722 ], [ -123.070045999745517, 38.546012000881767 ], [ -123.070199000428744, 38.545924001127553 ], [ -123.070577999878324, 38.545421000458269 ], [ -123.071248000336865, 38.543772000522331 ], [ -123.0716270004405, 38.543315001051418 ], [ -123.072297000277416, 38.5432000008839 ], [ -123.072617999724898, 38.542994000977835 ], [ -123.072850999713609, 38.542719000944494 ], [ -123.07290900043381, 38.542307000911975 ], [ -123.072559999460125, 38.541643000677418 ], [ -123.072559000052081, 38.541048000446182 ], [ -123.072676000145421, 38.540888000669895 ], [ -123.072675999627137, 38.540339000934679 ], [ -123.07250100046133, 38.539927001137187 ], [ -123.071393000190625, 38.538507000639392 ], [ -123.071364000392464, 38.538210000335397 ], [ -123.072209000504898, 38.537248000692934 ], [ -123.072413000481973, 38.536836000511421 ], [ -123.072413000318789, 38.536172000939423 ], [ -123.072163999409213, 38.535831000839956 ], [ -123.07250099958874, 38.535692000416844 ], [ -123.072531999709739, 38.535547000384206 ], [ -123.072617000164442, 38.53514200096582 ], [ -123.073346000371572, 38.534570000800613 ], [ -123.074016000534897, 38.53443300028929 ], [ -123.07593999973281, 38.534341000448492 ], [ -123.076260999442923, 38.534203000791109 ], [ -123.076960000356266, 38.534249000695389 ], [ -123.077660000168962, 38.534615001035576 ], [ -123.079611999458365, 38.534455000979676 ], [ -123.080223999793461, 38.53454600085675 ], [ -123.080399000004178, 38.53502700033814 ], [ -123.08106999954893, 38.535530000782799 ], [ -123.081274000241805, 38.536103001061939 ], [ -123.081477999655547, 38.536377001114197 ], [ -123.081506999564851, 38.53658300049851 ], [ -123.081914999573115, 38.536721000603869 ], [ -123.08200199968195, 38.536652000963777 ], [ -123.082059999917618, 38.536011001035213 ], [ -123.081886000188163, 38.535805000525727 ], [ -123.081884999739273, 38.535301001026625 ], [ -123.082585000325636, 38.535095000770646 ], [ -123.08278899985622, 38.535141000330078 ], [ -123.082817999580726, 38.535324000620321 ], [ -123.0835469999666, 38.535873001094245 ], [ -123.083604999419691, 38.536926000469748 ], [ -123.083868000508772, 38.537201000471896 ], [ -123.084480000289801, 38.537270000313306 ], [ -123.084859000078907, 38.537750001093038 ], [ -123.086083000317885, 38.538116000661823 ], [ -123.08663700051261, 38.538002000322138 ], [ -123.08745300014624, 38.538482001013662 ], [ -123.088006000424755, 38.538368000357423 ], [ -123.088239999949451, 38.538482000841967 ], [ -123.088384999998141, 38.538688001081809 ], [ -123.088676999807419, 38.538780000787845 ], [ -123.089231000360257, 38.538711000763129 ], [ -123.089231000261435, 38.538436001105715 ], [ -123.089055999582158, 38.538345000700097 ], [ -123.08938899942811, 38.537745000961877 ], [ -123.089463000204162, 38.537612001096157 ], [ -123.089726000358837, 38.537543000808419 ], [ -123.089259000097712, 38.537154000269268 ], [ -123.089230000524722, 38.536971000737601 ], [ -123.088822000004868, 38.536651000322813 ], [ -123.088501000376169, 38.535987000530191 ], [ -123.087946999582044, 38.535552000569986 ], [ -123.08675200045333, 38.534980000846119 ], [ -123.086490000441472, 38.534774001117583 ], [ -123.086286000456653, 38.534454000383725 ], [ -123.085585999928739, 38.533538000475666 ], [ -123.085464999682415, 38.533354000975166 ], [ -123.085032000305205, 38.532691000315261 ], [ -123.08503200020246, 38.532417000708108 ], [ -123.085322999645797, 38.53230200038314 ], [ -123.085381999678262, 38.532096000746144 ], [ -123.085614999734304, 38.531821000967653 ], [ -123.086634000052513, 38.530997000715551 ], [ -123.086779999633421, 38.530677000702255 ], [ -123.086780000517564, 38.529990000748207 ], [ -123.086691999613294, 38.529944000678221 ], [ -123.086430000186567, 38.529326000668163 ], [ -123.086400000048215, 38.52852500090853 ], [ -123.086575000281258, 38.527586000788304 ], [ -123.086603999540046, 38.526716000325081 ], [ -123.086748999585325, 38.526442000353931 ], [ -123.087245000232258, 38.526098000963337 ], [ -123.087711000442695, 38.526007000248562 ], [ -123.08849799975539, 38.525800000658577 ], [ -123.088603999964278, 38.52575600099032 ], [ -123.089050999404535, 38.525571000617681 ], [ -123.089080000449528, 38.525388000720312 ], [ -123.088934000391646, 38.524862000358475 ], [ -123.088873000358262, 38.524814000518134 ], [ -123.088700999750344, 38.524679000957384 ], [ -123.088643000039852, 38.524473000565024 ], [ -123.08817599943319, 38.52412900027565 ], [ -123.087856000259094, 38.524038000588931 ], [ -123.086137000238892, 38.523947001076436 ], [ -123.085437000127726, 38.523809000756849 ], [ -123.085059000337708, 38.523604000322202 ], [ -123.08441699952057, 38.523031000246768 ], [ -123.084154999557214, 38.522322001090664 ], [ -123.084300000076212, 38.521749000682838 ], [ -123.084649999467231, 38.521383000446804 ], [ -123.08491199998123, 38.52090200105367 ], [ -123.084969999519672, 38.520490000752247 ], [ -123.084678999727501, 38.520078000940224 ], [ -123.082930000123639, 38.518408000408478 ], [ -123.082375999988173, 38.518019001111064 ], [ -123.082114000493746, 38.51792700034229 ], [ -123.081385999506978, 38.517881000704882 ], [ -123.080046000494846, 38.517996000380052 ], [ -123.078908999766227, 38.51776700042435 ], [ -123.078676000368574, 38.517584000659618 ], [ -123.078558999598243, 38.517287000690771 ], [ -123.078500999602284, 38.515272000900573 ], [ -123.078384000189843, 38.515043000574941 ], [ -123.077130999958129, 38.514334000342991 ], [ -123.07669299944132, 38.51396800084428 ], [ -123.076373000340098, 38.512937000451359 ], [ -123.07628499958065, 38.512251001097376 ], [ -123.075877000067692, 38.511518000321352 ], [ -123.075381999981289, 38.511198000725983 ], [ -123.07500300046766, 38.511129000409674 ], [ -123.074681999879132, 38.511015000470238 ], [ -123.074206999754026, 38.511015000507435 ], [ -123.073313000210575, 38.511015000313087 ], [ -123.072789000318863, 38.510878000610624 ], [ -123.071914999890282, 38.510466000320328 ], [ -123.070219999647932, 38.509980000798059 ], [ -123.069437999445555, 38.509756000554638 ], [ -123.06897199962728, 38.509460000877247 ], [ -123.06873899969905, 38.508773001070814 ], [ -123.068710000167385, 38.508201001082405 ], [ -123.068855999426319, 38.507766000509008 ], [ -123.069904000493196, 38.506667000797528 ], [ -123.069685000182616, 38.506323000852994 ], [ -123.070020999949406, 38.506072000382872 ], [ -123.070341000200855, 38.505545000660831 ], [ -123.070369999492854, 38.504675000861567 ], [ -123.069116999567186, 38.503348000917647 ], [ -123.068535000180916, 38.502638000999902 ], [ -123.068563999443015, 38.501768000306498 ], [ -123.068943000393674, 38.500875000500102 ], [ -123.069205000012104, 38.499913000471835 ], [ -123.068796999856929, 38.49820700036193 ], [ -123.068447000243552, 38.497657000348063 ], [ -123.068360000516449, 38.49708500061903 ], [ -123.068534999758285, 38.496764000608238 ], [ -123.069088000045639, 38.496123000392352 ], [ -123.069466999551622, 38.495414000622787 ], [ -123.069506000342514, 38.495272000295984 ], [ -123.069583000070764, 38.495002000542392 ], [ -123.069496000017125, 38.494635000483484 ], [ -123.069232999574638, 38.494223000554626 ], [ -123.068068000321304, 38.493537000804139 ], [ -123.066466000311564, 38.492209000606415 ], [ -123.065767000188274, 38.491408000401648 ], [ -123.065476000450445, 38.491293000871558 ], [ -123.064893999984221, 38.491225001009219 ], [ -123.064106999742279, 38.491431000453865 ], [ -123.062651000519992, 38.492072000928374 ], [ -123.061857000440341, 38.492336001026466 ], [ -123.061689999910001, 38.492392000423457 ], [ -123.061107000200451, 38.492346000747489 ], [ -123.060466999432933, 38.492118000382931 ], [ -123.060029999437972, 38.491797000898345 ], [ -123.059855000128962, 38.491499000341108 ], [ -123.059797000502698, 38.491042000783033 ], [ -123.059942000100335, 38.490515001066932 ], [ -123.060378999758967, 38.490080001046692 ], [ -123.061077999480844, 38.489714000610888 ], [ -123.061514999607795, 38.488890000536685 ], [ -123.061573000218615, 38.48792800088097 ], [ -123.061398999402115, 38.487287000440155 ], [ -123.061160999636414, 38.48685800066248 ], [ -123.061106999605215, 38.486761000440268 ], [ -123.060116999632086, 38.485868000384166 ], [ -123.057846000340589, 38.484769000790514 ], [ -123.057380000304136, 38.484311000759469 ], [ -123.056972000292063, 38.483716000316889 ], [ -123.056710000379525, 38.483052001032277 ], [ -123.056331999641415, 38.482572000443952 ], [ -123.054759000450261, 38.481747000260043 ], [ -123.054119000337678, 38.48151800046341 ], [ -123.053098999579504, 38.481541000365873 ], [ -123.052778999477525, 38.481427000596405 ], [ -123.05155599941898, 38.480397000381757 ], [ -123.050676000457528, 38.478731000672681 ], [ -123.050013999879582, 38.478812000813718 ], [ -123.049837999452464, 38.478473000424216 ], [ -123.049605999999642, 38.47767200049293 ], [ -123.049226999392545, 38.476894000521099 ], [ -123.048731999943797, 38.476322000761641 ], [ -123.04788800033019, 38.475749001100887 ], [ -123.047246999942359, 38.475062000700994 ], [ -123.045938000279207, 38.473139000816133 ], [ -123.045501000445654, 38.472132000784583 ], [ -123.045647000437611, 38.471010000489976 ], [ -123.046108000479592, 38.471133001055868 ], [ -123.04607300023271, 38.470377000614448 ], [ -123.046783999597068, 38.469359000829833 ], [ -123.048606999438249, 38.467845000404985 ], [ -123.048946000416763, 38.467377000977287 ], [ -123.049212000029996, 38.467012000789268 ], [ -123.049527000186316, 38.466507000272038 ], [ -123.049693000171132, 38.465716001080722 ], [ -123.050102999970747, 38.465586000559469 ], [ -123.051559000358495, 38.465242001061412 ], [ -123.052316000116619, 38.464853000640879 ], [ -123.05286899986433, 38.464373000494895 ], [ -123.05356799993686, 38.462999000616989 ], [ -123.053743000201081, 38.462175001096135 ], [ -123.053597000061146, 38.461031000379904 ], [ -123.053072999826213, 38.46016100111612 ], [ -123.051851000258466, 38.458010000897687 ], [ -123.051151999524578, 38.457506001074179 ], [ -123.050162999777427, 38.456155000325474 ], [ -123.049987999649886, 38.455446000817496 ], [ -123.049989000303228, 38.453933000820541 ], [ -123.04960999949212, 38.454035000675908 ], [ -123.048969000033793, 38.454208000867744 ], [ -123.048707999514789, 38.454278001075949 ], [ -123.048619999753612, 38.453683000780487 ], [ -123.048970000446573, 38.453065001020136 ], [ -123.049522999731792, 38.451669000951696 ], [ -123.049523000047969, 38.450759000788977 ], [ -123.049522999873219, 38.450524000318012 ], [ -123.049621000090838, 38.45038600090917 ], [ -123.049087000449234, 38.450341000789066 ], [ -123.04812600042429, 38.450364000262695 ], [ -123.047020000023309, 38.450547000566772 ], [ -123.046613000001088, 38.450524000919664 ], [ -123.043527000109947, 38.449379001092474 ], [ -123.042508999853297, 38.449333000726469 ], [ -123.04218800003494, 38.449333000487592 ], [ -123.041694000230024, 38.449126001072635 ], [ -123.040819999820556, 38.448600000343184 ], [ -123.039714000355531, 38.448073000356295 ], [ -123.039189999890013, 38.44713400080655 ], [ -123.038870000301131, 38.446310000997563 ], [ -123.038346999646407, 38.443952000352375 ], [ -123.037585999957486, 38.442813000844978 ], [ -123.036573000461075, 38.441296000745005 ], [ -123.036048999642517, 38.440632000294073 ], [ -123.035408999451946, 38.439327000324703 ], [ -123.035001999949372, 38.438709000300996 ], [ -123.034507000278552, 38.43827400085415 ], [ -123.033722000487657, 38.437954000690787 ], [ -123.032296000316222, 38.437633000276541 ], [ -123.031772000090797, 38.437678000978067 ], [ -123.029618000432521, 38.438227000598346 ], [ -123.028279000507538, 38.438227000639955 ], [ -123.027842999461924, 38.43815800110724 ], [ -123.026677999472355, 38.438341000404563 ], [ -123.025223000203752, 38.438317000433159 ], [ -123.024408000017459, 38.43820300075042 ], [ -123.023563999946163, 38.437951000625169 ], [ -123.023168999756948, 38.437621000303416 ], [ -123.023070000035787, 38.437538001009095 ], [ -123.022808000200854, 38.437103000568854 ], [ -123.022604999612909, 38.436210001129929 ], [ -123.021907000291833, 38.435501001049794 ], [ -123.021354000036325, 38.435088000532453 ], [ -123.020918000491733, 38.434928000332086 ], [ -123.019463000272864, 38.434698000248737 ], [ -123.018008000429347, 38.434377000910864 ], [ -123.01637799962819, 38.434262000658038 ], [ -123.015990999636912, 38.434162000311737 ], [ -123.01608199957181, 38.431167000790943 ], [ -123.01492500030372, 38.430988000511086 ], [ -123.014256000159222, 38.43066700033647 ], [ -123.013295999550181, 38.430255000694508 ], [ -123.011347000150778, 38.43018500028613 ], [ -123.010065999922077, 38.429910000728064 ], [ -123.008990000359972, 38.429612000311181 ], [ -123.007563999416888, 38.428902000556221 ], [ -123.006575000187397, 38.428329000694411 ], [ -123.005789000150401, 38.42775600060186 ], [ -123.00506199954971, 38.427596000277163 ], [ -123.004013999997866, 38.4277330007993 ], [ -123.003606999607342, 38.427687001131716 ], [ -123.003313999761104, 38.427565000250759 ], [ -123.002117000123917, 38.427067000660202 ], [ -123.002065000161139, 38.427045000901003 ], [ -123.001109999794764, 38.426724000445034 ], [ -123.000628999947097, 38.426564000644674 ], [ -122.999484999560352, 38.426404000531207 ], [ -122.998727999459405, 38.426084000616555 ], [ -122.997797000276577, 38.425535000521606 ], [ -122.997708999676831, 38.425375000839971 ], [ -122.997564000374936, 38.425329000316474 ], [ -122.996952000491177, 38.424712000433708 ], [ -122.996639000114271, 38.42447800060939 ], [ -122.996369999857976, 38.424277000554795 ], [ -122.995409000479043, 38.423980000683677 ], [ -122.995147000194549, 38.423682001057401 ], [ -122.994622999576364, 38.423591000444524 ], [ -122.994412000397645, 38.423591000487143 ], [ -122.994254999439576, 38.42359100100694 ], [ -122.993954000171485, 38.423591000284624 ], [ -122.993081000316991, 38.423889000550126 ], [ -122.992353999987529, 38.423958000906062 ], [ -122.992263000388974, 38.423948000351196 ], [ -122.991364999669187, 38.423844000275217 ], [ -122.991180000052694, 38.423867001075024 ], [ -122.989910000201348, 38.424028000648789 ], [ -122.989357000238854, 38.424280000854665 ], [ -122.989124000125543, 38.424308000341249 ], [ -122.988775000408694, 38.424349001094491 ], [ -122.988176999496631, 38.424307001096338 ], [ -122.987814999703616, 38.424281000634721 ], [ -122.987615000499162, 38.424311000365286 ], [ -122.986912999647515, 38.424418000382481 ], [ -122.985990999750598, 38.424025000378649 ], [ -122.985574000515314, 38.423847000259173 ], [ -122.984729999618565, 38.423412000993224 ], [ -122.984292999680207, 38.423046000885243 ], [ -122.982866000154999, 38.422566000511189 ], [ -122.982430000371821, 38.422288000876534 ], [ -122.982255000142331, 38.4221770003657 ], [ -122.982189000520151, 38.422089001051013 ], [ -122.981642999836666, 38.421353000726093 ], [ -122.980856999583722, 38.42085000033574 ], [ -122.980507999408118, 38.420690000565507 ], [ -122.979868000446672, 38.420186001096226 ], [ -122.978703999555975, 38.419523000881178 ], [ -122.978062999856249, 38.419271000956009 ], [ -122.977278000459279, 38.419180000654755 ], [ -122.976083999503174, 38.41874500108473 ], [ -122.97573499954629, 38.418242000413294 ], [ -122.97404700016115, 38.417121000663222 ], [ -122.973843000195814, 38.417052000723785 ], [ -122.973689999636349, 38.416787000679392 ], [ -122.973524000334677, 38.416499000906889 ], [ -122.97328299993643, 38.416081000896661 ], [ -122.972998999404126, 38.415587000887648 ], [ -122.972908999493953, 38.41542600042105 ], [ -122.972875000436446, 38.415365000281888 ], [ -122.972679000096804, 38.415015000557361 ], [ -122.972184000178558, 38.414603000344741 ], [ -122.972153999424805, 38.413573000664563 ], [ -122.972735999611956, 38.413504000818115 ], [ -122.973462999537432, 38.413138000305587 ], [ -122.973524000419502, 38.413090000363532 ], [ -122.974481000532492, 38.412336000543227 ], [ -122.974519999439778, 38.412276000859535 ], [ -122.974974999672895, 38.411581000849289 ], [ -122.975090999781315, 38.411100000325682 ], [ -122.975062000334461, 38.410230000291101 ], [ -122.975730999405641, 38.410253000343637 ], [ -122.976836999484931, 38.410504000414875 ], [ -122.977390000498019, 38.410801000439911 ], [ -122.978408000510541, 38.410824000646564 ], [ -122.979018999550448, 38.411167000449744 ], [ -122.979687999789618, 38.411213000651294 ], [ -122.980764000076618, 38.410755000312356 ], [ -122.981842999689007, 38.410771000678416 ], [ -122.98221900041338, 38.410777001012931 ], [ -122.984169000289157, 38.409906000642557 ], [ -122.984546999979898, 38.409654000446849 ], [ -122.984888999820825, 38.409210000588949 ], [ -122.985041000373897, 38.409013001042432 ], [ -122.986669000299926, 38.408188000622232 ], [ -122.986960000345107, 38.407502000263527 ], [ -122.987220999816628, 38.407250000794384 ], [ -122.987920000368916, 38.407020000591835 ], [ -122.990710999532965, 38.405532000400392 ], [ -122.990915000241003, 38.40549200098355 ], [ -122.991292999731954, 38.405418001034867 ], [ -122.991409000265094, 38.405349000793599 ], [ -122.992543999729307, 38.40528000029186 ], [ -122.993316000182404, 38.40540900081448 ], [ -122.994725999909278, 38.405645000605126 ], [ -122.996819999569325, 38.40575800083699 ], [ -122.997335999885863, 38.405697000594508 ], [ -122.997983999545184, 38.405620000931251 ], [ -122.998885999845868, 38.406192000462873 ], [ -122.999398999488761, 38.406144000333335 ], [ -123.001109999775835, 38.405985000258049 ], [ -123.00154099968303, 38.40575600067536 ], [ -123.00196699959281, 38.405138000900628 ], [ -123.003169000335888, 38.404464000437549 ], [ -123.004413000463444, 38.403766000718569 ], [ -123.005490000039813, 38.402508000503445 ], [ -123.005752000254276, 38.402439000733281 ], [ -123.006711000359019, 38.403584000455368 ], [ -123.007264000028087, 38.403928000412293 ], [ -123.008194999458567, 38.404089001048021 ], [ -123.00874699943499, 38.404249000286569 ], [ -123.009619999826342, 38.404158000706552 ], [ -123.010085000491927, 38.404318000749868 ], [ -123.010375999420376, 38.404616000554839 ], [ -123.010317000505665, 38.404982000641994 ], [ -123.00953100011273, 38.405714001004647 ], [ -123.009735000349863, 38.405966000805542 ], [ -123.010171000507199, 38.406012000286523 ], [ -123.010723999506624, 38.405875000460185 ], [ -123.01145199967479, 38.40555500031374 ], [ -123.012120999602331, 38.405052000260604 ], [ -123.012615999805547, 38.404503000317639 ], [ -123.013022999906752, 38.404251000458295 ], [ -123.013373000491782, 38.40413700079381 ], [ -123.014245999509612, 38.403702000534309 ], [ -123.014681999972112, 38.402993000291431 ], [ -123.016399000330281, 38.402444000485481 ], [ -123.016864999760188, 38.402124001095814 ], [ -123.017156999444225, 38.401764000990362 ], [ -123.017737999704408, 38.401048000438912 ], [ -123.01823300014091, 38.400682000560451 ], [ -123.018988999976116, 38.40068200038926 ], [ -123.020733999906909, 38.401187000880299 ], [ -123.021895000459196, 38.401644000860301 ], [ -123.02212999946741, 38.401736000963879 ], [ -123.022388999880278, 38.40176700089129 ], [ -123.02271200003841, 38.401805000319079 ], [ -123.026369999628059, 38.402220000719709 ], [ -123.027976999711939, 38.402402000683608 ], [ -123.028395999514643, 38.402491000738301 ], [ -123.029605000411706, 38.402746000583974 ], [ -123.03050699973106, 38.403113000763007 ], [ -123.031390999570604, 38.403366000680144 ], [ -123.032747000243219, 38.403754000313619 ], [ -123.03281300034142, 38.40375700096908 ], [ -123.033328000386177, 38.403777000812077 ], [ -123.033648999751307, 38.403571001068315 ], [ -123.034056000008206, 38.402976001005477 ], [ -123.034666999907216, 38.402839001064599 ], [ -123.035656999998309, 38.402931000639889 ], [ -123.036384000428058, 38.402565000332707 ], [ -123.038101000325739, 38.400940000994723 ], [ -123.038333999396855, 38.400253000698434 ], [ -123.038683000398038, 38.399887000834894 ], [ -123.03909100028342, 38.399681000572073 ], [ -123.040079999823988, 38.399406000976875 ], [ -123.041737999592698, 38.398010000534235 ], [ -123.042290999999878, 38.397644000792198 ], [ -123.042930999812853, 38.396889000728024 ], [ -123.043600000028775, 38.395607000731268 ], [ -123.044414999686254, 38.394875000356706 ], [ -123.045345999962564, 38.393753001005322 ], [ -123.045723999691447, 38.393570001042875 ], [ -123.046043999734096, 38.393112000778622 ], [ -123.045986999755158, 38.390915001100808 ], [ -123.044648999644764, 38.388488000455432 ], [ -123.044330000166454, 38.387458000937784 ], [ -123.044445999649838, 38.386611000527687 ], [ -123.044388000245064, 38.385947000376895 ], [ -123.043893999436548, 38.385260000752467 ], [ -123.043865000119666, 38.384756001043129 ], [ -123.04319699953264, 38.382376000893728 ], [ -123.042499000173564, 38.380865000296332 ], [ -123.042266999601196, 38.379239000347575 ], [ -123.042795000363512, 38.377117001030378 ], [ -123.043024000516908, 38.376195001052984 ], [ -123.043301000099945, 38.374915000708121 ], [ -123.043461000243937, 38.374101000747778 ], [ -123.04401399951314, 38.373666000277737 ], [ -123.044624000075416, 38.373346000692145 ], [ -123.047416000378092, 38.372843000263323 ], [ -123.048317000220393, 38.372454001091292 ], [ -123.049654999766815, 38.372271001022874 ], [ -123.05064399947544, 38.372088000867791 ], [ -123.051632000366197, 38.37211100107703 ], [ -123.052563000427838, 38.371927000878316 ], [ -123.052912000334743, 38.371950001066885 ], [ -123.053406000405857, 38.372134000755516 ], [ -123.054277999892136, 38.37229400078553 ], [ -123.05497599972351, 38.372317000366479 ], [ -123.05590700053304, 38.372088000309873 ], [ -123.057127999963541, 38.37224800056039 ], [ -123.057679999695978, 38.372225000303523 ], [ -123.05834900037604, 38.371905000243551 ], [ -123.060239000050089, 38.371951000424986 ], [ -123.061256999796484, 38.371653000387241 ], [ -123.062014000199113, 38.370761001137666 ], [ -123.062100999506015, 38.370280000452127 ], [ -123.062362999513738, 38.369914000468775 ], [ -123.062449999680567, 38.369639000595058 ], [ -123.062392000301443, 38.369456000961513 ], [ -123.061809999499346, 38.369067000878395 ], [ -123.061373000149544, 38.369067000628839 ], [ -123.060558999495996, 38.368495000259543 ], [ -123.06253700049389, 38.368014000249914 ], [ -123.06279899983825, 38.36815200034188 ], [ -123.063845999912516, 38.368381000605254 ], [ -123.064543999854564, 38.368358001085802 ], [ -123.064740999799625, 38.368322000859862 ], [ -123.066054999879569, 38.368083000797249 ], [ -123.066403999548044, 38.367877000736605 ], [ -123.067712999632121, 38.367305000830086 ], [ -123.068584999733375, 38.366732000801939 ], [ -123.069195000373909, 38.36602300070416 ], [ -123.070648999922795, 38.365221000927868 ], [ -123.070038000227683, 38.364008000455343 ], [ -123.069630999713368, 38.363138000589252 ], [ -123.068904000119659, 38.362108000508258 ], [ -123.06858399951885, 38.360918001074438 ], [ -123.067886999997341, 38.359613001072518 ], [ -123.067362999571145, 38.358446000773526 ], [ -123.067131000084132, 38.35801100056991 ], [ -123.066897999781844, 38.356912000314871 ], [ -123.066636000088636, 38.356362000513357 ], [ -123.066112999561497, 38.355859000933734 ], [ -123.064746999758114, 38.354989000541117 ], [ -123.061485000491871, 38.352385000731687 ], [ -123.061362000119331, 38.35228700080642 ], [ -123.060503000469097, 38.351601001140899 ], [ -123.060347000461135, 38.351464000858286 ], [ -123.060259000246745, 38.351383000679562 ], [ -123.060170999578148, 38.351286000793984 ], [ -123.060073000089275, 38.35114900100492 ], [ -123.059887000103828, 38.350854000873284 ], [ -123.059695999940047, 38.350486001061611 ], [ -123.059546999473397, 38.350171001112429 ], [ -123.059432999871888, 38.349908000765126 ], [ -123.059376000009522, 38.349823000721827 ], [ -123.059273000251324, 38.349718000246661 ], [ -123.059112999468326, 38.349572000554765 ], [ -123.058927000013909, 38.349467001026213 ], [ -123.058351000411335, 38.3492430011243 ], [ -123.056403000064705, 38.348488000930558 ], [ -123.05518200039208, 38.347869000802689 ], [ -123.054223000353048, 38.34727400034668 ], [ -123.053525999728819, 38.346862000351273 ], [ -123.052914999896416, 38.346313000983464 ], [ -123.052679000115177, 38.345987001060827 ], [ -123.052567000499124, 38.345832000756182 ], [ -123.052450999516125, 38.345420000951549 ], [ -123.052336000384528, 38.345123001078569 ], [ -123.052246999963884, 38.344893000963779 ], [ -123.052102000534433, 38.344527001079058 ], [ -123.051082000130975, 38.34314800111953 ], [ -123.05056200006932, 38.342444000641237 ], [ -123.050323999542698, 38.342203000419204 ], [ -123.050211999540394, 38.342103000274506 ], [ -123.050062999537388, 38.341975000860394 ], [ -123.049885999503488, 38.34182500044642 ], [ -123.049635999724828, 38.341665000811055 ], [ -123.049435000028325, 38.341548000559136 ], [ -123.048062000095797, 38.340772001130745 ], [ -123.047813000127377, 38.340633000509179 ], [ -123.047724999415919, 38.340578000482573 ], [ -123.047614000049606, 38.340480000871175 ], [ -123.047534999895277, 38.340422000430905 ], [ -123.047386999978471, 38.340364000801074 ], [ -123.047289000153, 38.340334000308687 ], [ -123.04683499970055, 38.340236000777217 ], [ -123.046724000402108, 38.340196000364259 ], [ -123.046654000256964, 38.340142000841219 ], [ -123.046589000043113, 38.340069000299543 ], [ -123.046547000212243, 38.339971001077096 ], [ -123.046534000356132, 38.339884000754637 ], [ -123.046552000134938, 38.339793001052747 ], [ -123.046640000021327, 38.339589000681393 ], [ -123.046852999917846, 38.339288000616548 ], [ -123.047117999717571, 38.339019000247248 ], [ -123.047265999445671, 38.338884001061118 ], [ -123.047363000013931, 38.338790000675225 ], [ -123.047438000471331, 38.338680000421341 ], [ -123.047481999900967, 38.338552000533682 ], [ -123.047733999412387, 38.337828000518996 ], [ -123.047777999665755, 38.337607000852756 ], [ -123.047766999998814, 38.337438000676748 ], [ -123.04771800009182, 38.337264000573072 ], [ -123.047646000485059, 38.337117000969002 ], [ -123.047524000053215, 38.336991000609792 ], [ -123.046180000390208, 38.336229000842891 ], [ -123.045915000027421, 38.336055000988921 ], [ -123.04579299968583, 38.335947001039045 ], [ -123.045755000306997, 38.335873000777219 ], [ -123.045727999577281, 38.335723001098494 ], [ -123.046929999469356, 38.335804000906776 ], [ -123.047250000334671, 38.335919001099462 ], [ -123.047453000084232, 38.336102000277457 ], [ -123.04777299942667, 38.336194000339511 ], [ -123.048905999490557, 38.336125000479122 ], [ -123.049370999974769, 38.335782000755017 ], [ -123.049504999871772, 38.335131000559628 ], [ -123.049719999971998, 38.334088000982668 ], [ -123.050767000300965, 38.333218000493275 ], [ -123.051203000055196, 38.333058000606606 ], [ -123.051581000212792, 38.33310400091824 ], [ -123.051609999964725, 38.333195000648139 ], [ -123.051696999611337, 38.33344700092622 ], [ -123.05146399941502, 38.333699000491883 ], [ -123.050678999553767, 38.334088000560449 ], [ -123.050562999809188, 38.334317000358411 ], [ -123.050738000119892, 38.334431000842066 ], [ -123.051318999992858, 38.33445400089969 ], [ -123.051725999979254, 38.334340001085742 ], [ -123.052073999450485, 38.333905000401536 ], [ -123.052365000472321, 38.333745001024042 ], [ -123.052552000376693, 38.333818000617498 ], [ -123.052597999639858, 38.333836000261492 ], [ -123.05314999945584, 38.334500001126422 ], [ -123.053569000482142, 38.334622000396756 ], [ -123.053934000083544, 38.334729000270698 ], [ -123.054544999961536, 38.334775000790557 ], [ -123.055300000210522, 38.335027000272738 ], [ -123.055997999891432, 38.335416000422498 ], [ -123.05672400051057, 38.335943000274703 ], [ -123.057306000244765, 38.336195000940073 ], [ -123.057800000140404, 38.336240000668376 ], [ -123.058469000509376, 38.335966000857368 ], [ -123.059370000000669, 38.334913001017817 ], [ -123.059631999893568, 38.334272001060313 ], [ -123.059601999852788, 38.333516000659607 ], [ -123.059340999957328, 38.332852000348382 ], [ -123.058817999394122, 38.332005000245928 ], [ -123.058150000323337, 38.32956600110483 ], [ -123.05801000012849, 38.329056000571057 ], [ -123.05785900027746, 38.328503000813683 ], [ -123.057278000487798, 38.327931000774889 ], [ -123.055620999582544, 38.327038000304363 ], [ -123.055156000469793, 38.326603000470065 ], [ -123.054922999814977, 38.326053000305343 ], [ -123.055039999796278, 38.32516100102945 ], [ -123.054691000019062, 38.323100000365933 ], [ -123.054779000150603, 38.321155000604257 ], [ -123.054546000463276, 38.320057000707891 ], [ -123.054605000422882, 38.319530000686861 ], [ -123.054837999443635, 38.319187000509615 ], [ -123.056610999997574, 38.317310000744747 ], [ -123.05687199995937, 38.316783000810979 ], [ -123.05690100019477, 38.316371000553779 ], [ -123.056436000155301, 38.315684000786952 ], [ -123.056407999397905, 38.314631001075739 ], [ -123.05655299989337, 38.314448000857922 ], [ -123.057075999483629, 38.314311000355836 ], [ -123.057715000249516, 38.313716000714997 ], [ -123.060156000387835, 38.313258000647586 ], [ -123.060824000075598, 38.312960000359205 ], [ -123.061027000527616, 38.312388001129769 ], [ -123.061056000214961, 38.311839000860694 ], [ -123.060708000308054, 38.311335000596564 ], [ -123.058732000336533, 38.309481000639195 ], [ -123.05759900004783, 38.30774100106332 ], [ -123.057396000256901, 38.307008000981227 ], [ -123.057569999644969, 38.306070000503119 ], [ -123.057338000447587, 38.305177000456176 ], [ -123.056930999945578, 38.304696000719026 ], [ -123.056467000487373, 38.304559000820824 ], [ -123.05565300018479, 38.304673000522534 ], [ -123.054840000337705, 38.304673000381626 ], [ -123.054114000033877, 38.30446700063878 ], [ -123.053386999676789, 38.303963000807528 ], [ -123.052195999847655, 38.302933000292086 ], [ -123.052020999409436, 38.302567001090587 ], [ -123.052021000052449, 38.302246000722086 ], [ -123.052400000240169, 38.301926000569161 ], [ -123.052516000484061, 38.301674000670971 ], [ -123.05248700042425, 38.300873000979031 ], [ -123.053068000054296, 38.299614000410756 ], [ -123.053504000294055, 38.299385000890325 ], [ -123.054229999485088, 38.299179000972607 ], [ -123.054636999882646, 38.299156000738336 ], [ -123.055972999661009, 38.299271000492745 ], [ -123.056437999728274, 38.299271000313702 ], [ -123.056700000087773, 38.299179000273035 ], [ -123.056960999429123, 38.298653000711028 ], [ -123.057310000103968, 38.2984240003832 ], [ -123.057831999535495, 38.298309000531063 ], [ -123.058238999911694, 38.298355000558381 ], [ -123.058762000230374, 38.298790000935433 ], [ -123.059401000125035, 38.298790000863825 ], [ -123.059633000389354, 38.298882001105561 ], [ -123.060127000309478, 38.299408000571738 ], [ -123.060446999616772, 38.299591000410608 ], [ -123.061492000469698, 38.299706000360544 ], [ -123.062450999476155, 38.301034000837177 ], [ -123.062595999610508, 38.301858000793636 ], [ -123.062771000391692, 38.302178001007945 ], [ -123.062973999848509, 38.302316000548274 ], [ -123.063264000419437, 38.302316000426792 ], [ -123.063670999590585, 38.302178000844805 ], [ -123.064164999933809, 38.302224000614778 ], [ -123.064978000079179, 38.302773000616035 ], [ -123.065065000303989, 38.30318500081389 ], [ -123.064977999576755, 38.303643000445739 ], [ -123.064746000242636, 38.303964001020908 ], [ -123.064861999586697, 38.304490000631979 ], [ -123.065123999888442, 38.30481100080074 ], [ -123.065152999946051, 38.305887001124383 ], [ -123.065414000234838, 38.306482000545898 ], [ -123.066169000523672, 38.307192000555055 ], [ -123.066488999636789, 38.307352001065588 ], [ -123.067011999434499, 38.308222000911258 ], [ -123.067419000099108, 38.30854200076012 ], [ -123.067534999546453, 38.308863000726639 ], [ -123.067390000370764, 38.309458000469313 ], [ -123.067419000349247, 38.309847000505663 ], [ -123.068378000290508, 38.310648000239674 ], [ -123.069190999724597, 38.311449000720259 ], [ -123.069017000257887, 38.311884001114407 ], [ -123.069684999696761, 38.312960000700564 ], [ -123.070150000331012, 38.313853000894163 ], [ -123.070470000164804, 38.314082001116468 ], [ -123.07058600024331, 38.31426500055781 ], [ -123.070150000483864, 38.31515800033894 ], [ -123.069221000185237, 38.315890000603858 ], [ -123.069046000177451, 38.316188000926346 ], [ -123.069046000507811, 38.316508001029405 ], [ -123.069686000028042, 38.316943000419997 ], [ -123.070120999441016, 38.316966000406964 ], [ -123.070789999419333, 38.31669200068665 ], [ -123.071429000506654, 38.316188000637077 ], [ -123.071719000037234, 38.316211000899251 ], [ -123.072039000428205, 38.31641700067339 ], [ -123.073870000055635, 38.318591000658458 ], [ -123.074392999854297, 38.319347000371053 ], [ -123.074886999666063, 38.319782000573618 ], [ -123.07639799944161, 38.320468000352804 ], [ -123.077443999954809, 38.321155000502259 ], [ -123.07747300000365, 38.321430000261884 ], [ -123.077385999883433, 38.321659000681557 ], [ -123.07741500016337, 38.32200200081342 ], [ -123.078170999552512, 38.323101000709322 ], [ -123.078140000024604, 38.323197000732307 ], [ -123.078083999864134, 38.323375000497421 ], [ -123.077503000007539, 38.323467000509893 ], [ -123.076862999505352, 38.32323800109382 ], [ -123.076252999584312, 38.322757000942005 ], [ -123.075788000000145, 38.322529001065696 ], [ -123.07532299968824, 38.322460000643609 ], [ -123.074875000257819, 38.32254000038521 ], [ -123.0746839994505, 38.322574000680468 ], [ -123.073783000511156, 38.323193001023874 ], [ -123.073027999625268, 38.324063000753704 ], [ -123.072331000061837, 38.325779000395947 ], [ -123.072185000256368, 38.32628100063549 ], [ -123.072010999658374, 38.32687700090986 ], [ -123.070993999586818, 38.328846000777006 ], [ -123.070441999698886, 38.330334000951595 ], [ -123.070413000044695, 38.330472000762725 ], [ -123.069947999426432, 38.331456001134846 ], [ -123.069424999980072, 38.332944001104821 ], [ -123.069050999493498, 38.333632000319376 ], [ -123.068641000447826, 38.334386000804493 ], [ -123.068437000021021, 38.335210000578428 ], [ -123.068378999947512, 38.337751000396715 ], [ -123.068205000176874, 38.338896000882272 ], [ -123.068175999455732, 38.340041000497919 ], [ -123.067856999702485, 38.342650000848153 ], [ -123.067973000003178, 38.345718000939364 ], [ -123.067798999544451, 38.349083000279506 ], [ -123.067914999842145, 38.350983000906076 ], [ -123.0676539995182, 38.352196000622442 ], [ -123.067653999537512, 38.352768000454368 ], [ -123.067769999603712, 38.353295000347998 ], [ -123.067537999485523, 38.354462000639025 ], [ -123.067507999909921, 38.355355000555399 ], [ -123.067538000432393, 38.356889000719114 ], [ -123.067828000450206, 38.358423000866779 ], [ -123.068206000259948, 38.358972000312562 ], [ -123.06829400047441, 38.35924700048384 ], [ -123.068264999961713, 38.359865001100545 ], [ -123.068614000441684, 38.360277000403123 ], [ -123.069049999844196, 38.361032000480236 ], [ -123.069514999436393, 38.362268000951843 ], [ -123.069835000178003, 38.362589000710571 ], [ -123.070591000436011, 38.364214000899338 ], [ -123.071143000053752, 38.365061000916931 ], [ -123.072073999513918, 38.366137000899663 ], [ -123.072365000215427, 38.366641000494646 ], [ -123.073528000518237, 38.369777000970146 ], [ -123.074603999903431, 38.370188000821308 ], [ -123.075010999967532, 38.371058000363973 ], [ -123.075389000220369, 38.371378001042245 ], [ -123.075825000088727, 38.371561000860616 ], [ -123.076290999723284, 38.371882000603826 ], [ -123.076842999809784, 38.372934000305598 ], [ -123.077948999783374, 38.374102000901757 ], [ -123.07858799959655, 38.374430000456577 ], [ -123.078849999836052, 38.374915001068658 ], [ -123.078472000495822, 38.375440000666096 ], [ -123.078355999626794, 38.375738000321469 ], [ -123.078442999547519, 38.376173001056415 ], [ -123.078733999647781, 38.376608000956629 ], [ -123.07914099975099, 38.37699700048811 ], [ -123.079665000135819, 38.377180000296555 ], [ -123.080508000248869, 38.377340000498322 ], [ -123.080711999452276, 38.377500000998694 ], [ -123.081526000282537, 38.377798000509863 ], [ -123.081555000357483, 38.378049000388252 ], [ -123.081234999712834, 38.378507000438113 ], [ -123.081351999495055, 38.37880500073517 ], [ -123.081496999775339, 38.380110000259236 ], [ -123.081700999617453, 38.381300000772846 ], [ -123.082049999710691, 38.382307000779861 ], [ -123.082457999531925, 38.383085000396186 ], [ -123.083098000515108, 38.384001001041952 ], [ -123.083331000122769, 38.384573000854829 ], [ -123.083912000292557, 38.385168000612296 ], [ -123.084116000272459, 38.385580000629709 ], [ -123.084407000321519, 38.385901000803145 ], [ -123.084435999916778, 38.386153000882722 ], [ -123.084320000012227, 38.386404000420157 ], [ -123.084348999877122, 38.386748000789211 ], [ -123.08464000048329, 38.387824000472392 ], [ -123.085047999494989, 38.388510000870589 ], [ -123.085193000162562, 38.389495000259771 ], [ -123.085280999763825, 38.389998000944153 ], [ -123.085571999804785, 38.390525001056098 ], [ -123.085892000058848, 38.39086800033666 ], [ -123.087723999852528, 38.391898000855129 ], [ -123.088393999684172, 38.392150000404811 ], [ -123.088859000512898, 38.392424001091932 ], [ -123.08921099985244, 38.392794001104903 ], [ -123.089294999666492, 38.392882000768729 ], [ -123.090285000191301, 38.393774001014897 ], [ -123.091040999516096, 38.393843001105331 ], [ -123.091564999565136, 38.394049000569694 ], [ -123.092234000190203, 38.394735000827701 ], [ -123.092582999681724, 38.39475800084184 ], [ -123.092874000450863, 38.394667000662373 ], [ -123.093513999623013, 38.394712000304523 ], [ -123.093717000063833, 38.394598000344608 ], [ -123.093745999444252, 38.394415000629323 ], [ -123.093513000096891, 38.394048000782291 ], [ -123.093513000392406, 38.39354500047348 ], [ -123.093717000252866, 38.393247001137595 ], [ -123.094095000127254, 38.393041000865672 ], [ -123.095200000499858, 38.392926000430975 ], [ -123.095491000018811, 38.3932470005889 ], [ -123.095607000216646, 38.393773000359573 ], [ -123.095869000094936, 38.393979001114445 ], [ -123.096596999418551, 38.393933000444719 ], [ -123.096714000159068, 38.394139000640159 ], [ -123.096451999905796, 38.395009000719476 ], [ -123.096276999635364, 38.395238000848863 ], [ -123.096306000376856, 38.395444000649732 ], [ -123.096423999928504, 38.395536001121378 ], [ -123.096713999499798, 38.39558100029511 ], [ -123.097180000072484, 38.395810001053817 ], [ -123.097209000049631, 38.396039000869592 ], [ -123.096393999899618, 38.396131000823559 ], [ -123.096131999467985, 38.396268000876404 ], [ -123.096393999835954, 38.397504001032253 ], [ -123.096221000274241, 38.399038000595972 ], [ -123.096336999650163, 38.399542001037162 ], [ -123.096715999416929, 38.400205000979469 ], [ -123.097327999667826, 38.401785000477595 ], [ -123.097823000361842, 38.402677000402448 ], [ -123.098318000016789, 38.403845000841258 ], [ -123.098464000224482, 38.405401000647366 ], [ -123.098668000489241, 38.405836001106081 ], [ -123.098609999778489, 38.406157000359947 ], [ -123.098318999623544, 38.406409000827885 ], [ -123.098261000409749, 38.406615000594066 ], [ -123.09840700044127, 38.406866000531991 ], [ -123.098988999826389, 38.407301000482491 ], [ -123.099047000191106, 38.407942000530369 ], [ -123.099279999825072, 38.408354000243961 ], [ -123.099658999398414, 38.408560000967505 ], [ -123.099862000017239, 38.408857000509222 ], [ -123.099833000289706, 38.409041000741617 ], [ -123.099804999405407, 38.40993300106723 ], [ -123.100008999718568, 38.410323000603292 ], [ -123.100619999745916, 38.410917000553823 ], [ -123.100882000209438, 38.411352001000701 ], [ -123.10178399945633, 38.412222000425963 ], [ -123.101842999824726, 38.413160000338117 ], [ -123.102454000197326, 38.413824000357735 ], [ -123.102629999775019, 38.414065000923657 ], [ -123.10370599949276, 38.415541000678786 ], [ -123.104113999646202, 38.415678001065544 ], [ -123.10469599989672, 38.41602100099032 ], [ -123.104841000232312, 38.416273000951662 ], [ -123.104899999942504, 38.416639000748098 ], [ -123.105831000225137, 38.417416000646355 ], [ -123.107665000304749, 38.418079001012998 ], [ -123.108479999686523, 38.419086000410182 ], [ -123.108509000159827, 38.419338000265 ], [ -123.108829999838846, 38.42034500092057 ], [ -123.109441000321752, 38.420619000931204 ], [ -123.110488999848101, 38.420688000413314 ], [ -123.1115940002054, 38.420985001118048 ], [ -123.113020999989331, 38.421488000481183 ], [ -123.114214000414023, 38.421602000596891 ], [ -123.114358999620222, 38.421762000515983 ], [ -123.114184999982328, 38.422128000693192 ], [ -123.114243000031564, 38.422334001063938 ], [ -123.114883999953463, 38.42260900047166 ], [ -123.114999999398464, 38.422883000448977 ], [ -123.115000000491662, 38.423250000682721 ], [ -123.115175000461065, 38.423662001109399 ], [ -123.1159329999969, 38.42469100070582 ], [ -123.116108000248133, 38.425195001099048 ], [ -123.11616600048464, 38.42604200052066 ], [ -123.116429000129486, 38.426706001061142 ], [ -123.116487000217546, 38.427507000739539 ], [ -123.116837000070547, 38.428583000895642 ], [ -123.117157999991619, 38.428857000262717 ], [ -123.117740000092923, 38.4291320003138 ], [ -123.118089000431823, 38.429177000520944 ], [ -123.118583999430726, 38.428948000855918 ], [ -123.118904000502909, 38.42890200079627 ], [ -123.119195000302199, 38.42899400037934 ], [ -123.119515000213212, 38.429589001065466 ], [ -123.119865000524896, 38.429749000979399 ], [ -123.120418000316675, 38.429565000830081 ], [ -123.12091200040858, 38.429611000709258 ], [ -123.121669000163891, 38.429839000879198 ], [ -123.121988999656679, 38.430160000293696 ], [ -123.12190199984542, 38.430320000286066 ], [ -123.12123299999358, 38.430480000829569 ], [ -123.120971000467307, 38.430755000481469 ], [ -123.120709999551778, 38.431236001004628 ], [ -123.120710000127872, 38.431694000799318 ], [ -123.120826999665439, 38.431992000310771 ], [ -123.121496999749752, 38.4326320005258 ], [ -123.121847000394794, 38.43357100065267 ], [ -123.121905999618335, 38.434532000504689 ], [ -123.122343999651321, 38.43721000057073 ], [ -123.122379000202173, 38.437314001116981 ], [ -123.122410999693329, 38.43740700086277 ], [ -123.122447000199003, 38.437510000885077 ], [ -123.12254899971208, 38.437805000356995 ], [ -123.123072999960598, 38.438629000885484 ], [ -123.123393999764417, 38.439499000369601 ], [ -123.123772999667253, 38.440185000933596 ], [ -123.124150999991102, 38.440506001054985 ], [ -123.124646000152595, 38.440711000962224 ], [ -123.125170000447, 38.440734000327303 ], [ -123.126114000001067, 38.440356000793741 ], [ -123.126708999552605, 38.439566000380985 ], [ -123.127233999466611, 38.439292000794296 ], [ -123.127960999745426, 38.43933800059461 ], [ -123.128338999544567, 38.439476000460665 ], [ -123.128338999632277, 38.440208000732078 ], [ -123.127727000148951, 38.441101000537707 ], [ -123.127376999866527, 38.441284000562511 ], [ -123.126766000356085, 38.441489000723976 ], [ -123.126588000208201, 38.441741000758341 ], [ -123.126485999688413, 38.44226700066924 ], [ -123.126456999745542, 38.442863000656189 ], [ -123.126735000470234, 38.444122001070028 ], [ -123.126994999690751, 38.446091000972409 ], [ -123.127662999449711, 38.44831100082687 ], [ -123.128098999886959, 38.448930000465928 ], [ -123.12882599976939, 38.449663000418148 ], [ -123.129000000122787, 38.450144001099275 ], [ -123.128824999636237, 38.450418000550137 ], [ -123.12892100041384, 38.450628000915216 ], [ -123.129087000416121, 38.450991000830058 ], [ -123.130483000102544, 38.451518001113165 ], [ -123.131880000052931, 38.452686000510404 ], [ -123.13266499951213, 38.453487000671792 ], [ -123.133451999714879, 38.454060000853509 ], [ -123.134382999925478, 38.454518000831378 ], [ -123.136128999703146, 38.454977000422247 ], [ -123.138167000287964, 38.455367000307838 ], [ -123.139010999653223, 38.455619000358126 ], [ -123.139593000210013, 38.456009000440211 ], [ -123.140581999897975, 38.456444000793027 ], [ -123.141134999998002, 38.456421001037342 ], [ -123.142153999786927, 38.456147000722765 ], [ -123.143173000442019, 38.456147000916104 ], [ -123.143551999421931, 38.455942000973323 ], [ -123.144104999499305, 38.45587300069004 ], [ -123.144278999620084, 38.456033000786377 ], [ -123.144250000292416, 38.45628500114131 ], [ -123.144395000448228, 38.45672000049376 ], [ -123.144278999432132, 38.456903000741555 ], [ -123.143464000184451, 38.456972000311389 ], [ -123.143142999402244, 38.457155000632007 ], [ -123.143171999543426, 38.457429000651558 ], [ -123.143608999762094, 38.457979000621172 ], [ -123.144103000212226, 38.458322000866126 ], [ -123.144510999920456, 38.458483000344756 ], [ -123.145035000057462, 38.458414000813065 ], [ -123.145645999727122, 38.4579570008339 ], [ -123.146258000291041, 38.457865000849864 ], [ -123.146578000015097, 38.458003001119458 ], [ -123.146606999654026, 38.45820900057852 ], [ -123.145821000397945, 38.458644000333393 ], [ -123.145325000166196, 38.459422000641112 ], [ -123.145383000506285, 38.459605000428382 ], [ -123.145762000515006, 38.459811000493531 ], [ -123.147043000240231, 38.459834000320342 ], [ -123.148119999836851, 38.460178000508947 ], [ -123.148847000379803, 38.461002000391559 ], [ -123.149400000136879, 38.461300000818483 ], [ -123.150361000386781, 38.461551000773781 ], [ -123.150710000109441, 38.461712001086056 ], [ -123.1510879996721, 38.46205500091849 ], [ -123.151379000454497, 38.462147001039931 ], [ -123.151641000282737, 38.46210100109861 ], [ -123.151757999483323, 38.46184900058239 ], [ -123.151670999393261, 38.46118600046924 ], [ -123.151786999635149, 38.460935000630201 ], [ -123.152050000273107, 38.460775000660121 ], [ -123.152456999984906, 38.460752000765574 ], [ -123.152776999986173, 38.460935000773006 ], [ -123.153039000222748, 38.46187300095233 ], [ -123.15300999957077, 38.462353000572705 ], [ -123.152892999654426, 38.462559000540942 ], [ -123.152689000424687, 38.462697000644653 ], [ -123.152194000243114, 38.462628000397132 ], [ -123.151641000165569, 38.462765000568524 ], [ -123.15146599992147, 38.463085000731873 ], [ -123.151436999453566, 38.463658001054512 ], [ -123.152077000008617, 38.464184000566803 ], [ -123.15263000003543, 38.464436000919392 ], [ -123.153153999955194, 38.4645280010186 ], [ -123.154464000188057, 38.464368000288928 ], [ -123.155600000031427, 38.464437001084015 ], [ -123.156182000139012, 38.464643000246831 ], [ -123.156326999796931, 38.46496400083835 ], [ -123.155803000241889, 38.465696000914633 ], [ -123.15583199996459, 38.466200000683514 ], [ -123.15708300040184, 38.466727000346772 ], [ -123.157810999802209, 38.466864001039738 ], [ -123.158189000519812, 38.46775700041416 ], [ -123.158393000400864, 38.467986000740659 ], [ -123.159936000136895, 38.468376000537603 ], [ -123.160430999476787, 38.468124000397673 ], [ -123.1608970003699, 38.468055000391267 ], [ -123.161216999652254, 38.468124001047769 ], [ -123.162004000421831, 38.467712000916976 ], [ -123.162411000378981, 38.467758000577277 ], [ -123.163023000173851, 38.468033000497968 ], [ -123.163342999819918, 38.468331000916592 ], [ -123.163254999681385, 38.468720000537765 ], [ -123.162643999681805, 38.469086000992519 ], [ -123.162614000168446, 38.469383000829602 ], [ -123.162701999463138, 38.469658000338278 ], [ -123.163226000144022, 38.470002000378614 ], [ -123.164246000259965, 38.470002000489039 ], [ -123.16450799997844, 38.470162000791674 ], [ -123.164624000520732, 38.470414000992641 ], [ -123.164477999530618, 38.470574000806884 ], [ -123.164274999397918, 38.470620000762487 ], [ -123.164041000200911, 38.470551000760167 ], [ -123.163778999510228, 38.470597000447846 ], [ -123.163661999408774, 38.47078000100251 ], [ -123.163662000441718, 38.471032001009434 ], [ -123.163865999586946, 38.471604000999001 ], [ -123.164098000034244, 38.473046001079332 ], [ -123.164301999915764, 38.473390000499869 ], [ -123.164622999597228, 38.473687000779854 ], [ -123.166427999768217, 38.474947000964036 ], [ -123.167010000409817, 38.475061001109466 ], [ -123.167796999862944, 38.474924001032491 ], [ -123.16843699995637, 38.4751760007142 ], [ -123.169455999505388, 38.474810000966023 ], [ -123.169892999908541, 38.475131000278687 ], [ -123.169951000018145, 38.475451001010207 ], [ -123.16980499975071, 38.475680000806058 ], [ -123.169543000209885, 38.475772000598724 ], [ -123.169368999970786, 38.475932000919954 ], [ -123.169369000369443, 38.476161000760591 ], [ -123.169631000531297, 38.47648100026683 ], [ -123.170212999891305, 38.476825000840385 ], [ -123.17108599967672, 38.477099000911302 ], [ -123.172629999908565, 38.477123000775933 ], [ -123.173269999473916, 38.477374000615121 ], [ -123.174084999747436, 38.478519000488191 ], [ -123.174929999783998, 38.479275000474587 ], [ -123.176123999840684, 38.480076000330826 ], [ -123.177142999773622, 38.480328000844807 ], [ -123.177725000090177, 38.480557000315258 ], [ -123.178103999738212, 38.480877000379337 ], [ -123.178423999602302, 38.481404000812631 ], [ -123.17891900010089, 38.481816000395732 ], [ -123.179618000359113, 38.482182000842592 ], [ -123.182064000314028, 38.482778001055564 ], [ -123.18232600033997, 38.482961000633701 ], [ -123.182383999912858, 38.483579001141358 ], [ -123.182791999609449, 38.484334001046079 ], [ -123.183198999900128, 38.484723000736196 ], [ -123.18395700040594, 38.485021000610146 ], [ -123.184888999960449, 38.485227000867205 ], [ -123.18558699974065, 38.485548000921241 ], [ -123.187887999509016, 38.486921001099475 ], [ -123.189897999733873, 38.487837000552815 ], [ -123.190975000101915, 38.488455000705287 ], [ -123.192548, 38.489668000361647 ], [ -123.194149999600597, 38.490194000510684 ], [ -123.195402999778821, 38.490698000444382 ], [ -123.199131000178795, 38.491796000865811 ], [ -123.199742999738376, 38.492117000974368 ], [ -123.200179999683485, 38.492666001138531 ], [ -123.201112000383063, 38.493513001001283 ], [ -123.202276999616089, 38.494314000605499 ], [ -123.203909000285265, 38.49477200043097 ], [ -123.204898999854947, 38.495298001128425 ], [ -123.205860000146217, 38.495596000691307 ], [ -123.208365000094318, 38.495801000255767 ], [ -123.20932600049332, 38.496007000818736 ], [ -123.210578999517594, 38.49639600073121 ], [ -123.211558999757472, 38.496987000665655 ], [ -123.212588999945524, 38.497609000603596 ], [ -123.21395799941989, 38.498570000604808 ], [ -123.214802999584165, 38.498982001085039 ], [ -123.215648000495463, 38.499096000771267 ], [ -123.216754999813219, 38.498981000341338 ], [ -123.21815300017991, 38.498706000908314 ], [ -123.21931800001714, 38.498591000688997 ], [ -123.220278999777065, 38.498614000382005 ], [ -123.22173600018813, 38.499003000572223 ], [ -123.222650999706062, 38.499391000891997 ], [ -123.222784999430104, 38.499448000951986 ], [ -123.224067000482478, 38.49991300025718 ], [ -123.224502999536412, 38.500264000979612 ], [ -123.22549499988132, 38.501122000483257 ], [ -123.226485999587311, 38.501442000946753 ], [ -123.227038999999507, 38.501808000772364 ], [ -123.228787000379796, 38.502380000839374 ], [ -123.229660999818663, 38.502379000418863 ], [ -123.230243999515295, 38.50263100051454 ], [ -123.230535000445244, 38.502677000855876 ], [ -123.23100100047867, 38.502608000682777 ], [ -123.231263000027894, 38.502470000295908 ], [ -123.231466999406265, 38.502516000655397 ], [ -123.231904000316774, 38.502928000731735 ], [ -123.231845999774833, 38.503203001100758 ], [ -123.231351000477332, 38.503386001105227 ], [ -123.231060000271256, 38.504164000542346 ], [ -123.231118999432127, 38.504782001093872 ], [ -123.231264999550632, 38.50505700027994 ], [ -123.231905999928529, 38.505515000475533 ], [ -123.232314000297734, 38.50567500026375 ], [ -123.233537000223663, 38.505766000907968 ], [ -123.234498999712201, 38.505970000743027 ], [ -123.234789999396639, 38.506153000579928 ], [ -123.23490700008395, 38.506382000527083 ], [ -123.234790999552871, 38.506863000887918 ], [ -123.234820000003708, 38.50725200060171 ], [ -123.235052999826209, 38.507687000643386 ], [ -123.234936999487871, 38.508305000287841 ], [ -123.235053999781329, 38.508877000509948 ], [ -123.235549999446363, 38.509266000736289 ], [ -123.236306999907868, 38.509266000578414 ], [ -123.236628000214822, 38.509197001074092 ], [ -123.236986999881779, 38.509226000667823 ], [ -123.237180999878831, 38.509243000382568 ], [ -123.237531000499857, 38.509540000282783 ], [ -123.238288000480964, 38.509792000714008 ], [ -123.238987999887669, 38.509723000731277 ], [ -123.239949000464605, 38.509150000354147 ], [ -123.240035999854896, 38.508921000389179 ], [ -123.240211000291296, 38.508852000928343 ], [ -123.240792999999641, 38.509150001098277 ], [ -123.240765000177106, 38.509607000856278 ], [ -123.241084999757703, 38.509722001103015 ], [ -123.241550999432178, 38.509722000669214 ], [ -123.242628999822941, 38.510019000919478 ], [ -123.242688000416592, 38.510179001090215 ], [ -123.242293163937774, 38.510563272499759 ], [ -123.242137423986023, 38.51078575808166 ], [ -123.242226418330048, 38.51123073008057 ], [ -123.242582395858832, 38.511564459111057 ], [ -123.24318310821225, 38.511809193853829 ], [ -123.243628080832607, 38.511875939920607 ], [ -123.244006306899465, 38.51147546522143 ], [ -123.244340035116991, 38.511408718869163 ], [ -123.244785007567572, 38.511675702960204 ], [ -123.245229979212766, 38.511786945561198 ], [ -123.245786194945637, 38.512899375839389 ], [ -123.246030929887908, 38.512988370033035 ], [ -123.247210106002299, 38.513055115891987 ], [ -123.248278038853755, 38.512098425718605 ], [ -123.248945496357152, 38.512031680126142 ], [ -123.249412716921896, 38.51163120517699 ], [ -123.249523959721401, 38.51123073033537 ], [ -123.24979094390217, 38.51107499005024 ], [ -123.249879938345131, 38.510830255227241 ], [ -123.249724198270783, 38.510563272486621 ], [ -123.249359000478719, 38.510267000289872 ], [ -123.249359000168667, 38.510084000686376 ], [ -123.249534000379541, 38.509809000551769 ], [ -123.25029099946866, 38.509809001020024 ], [ -123.25068699983953, 38.510106001069857 ], [ -123.251117999733538, 38.510072000598363 ], [ -123.251711000201411, 38.510381000457691 ], [ -123.251856000441435, 38.510954000285722 ], [ -123.252205999720232, 38.511229000898595 ], [ -123.25296300015026, 38.511412000753268 ], [ -123.25325399959992, 38.511687000362997 ], [ -123.254216000394976, 38.511619000724828 ], [ -123.255031000404529, 38.512031000909957 ], [ -123.255146999413412, 38.512214001006271 ], [ -123.255088999686592, 38.51267200104575 ], [ -123.254009999886847, 38.514251000575705 ], [ -123.25418400017648, 38.514526000900865 ], [ -123.254182999866771, 38.515350000722101 ], [ -123.254881999826253, 38.51601400055209 ], [ -123.256046999602333, 38.51651800048657 ], [ -123.256541999872283, 38.516519000740296 ], [ -123.257182999989311, 38.51638200074369 ], [ -123.257679000004828, 38.516405000605431 ], [ -123.258319999567206, 38.516565001138133 ], [ -123.258436000531503, 38.516680000738113 ], [ -123.258435999496413, 38.517160000520178 ], [ -123.258552000377122, 38.51743500050744 ], [ -123.25852300029284, 38.517779000737931 ], [ -123.258259999395932, 38.518168000869316 ], [ -123.258260000257252, 38.518488000945034 ], [ -123.258637999833141, 38.518832000447652 ], [ -123.25887199978348, 38.518900000441334 ], [ -123.259425999958736, 38.518832000341973 ], [ -123.25986299989826, 38.519244000966779 ], [ -123.260766000489284, 38.519634001065221 ], [ -123.261348000460401, 38.519634000457444 ], [ -123.261611000506548, 38.519703000871523 ], [ -123.261609999899591, 38.520184000248371 ], [ -123.261843000151899, 38.52029800046607 ], [ -123.26277599999878, 38.520390000242365 ], [ -123.263066999660197, 38.52066500108517 ], [ -123.263008000412327, 38.520871000983611 ], [ -123.263706999749445, 38.521375001021241 ], [ -123.263707000262627, 38.521466000452854 ], [ -123.264610000458489, 38.521764000672512 ], [ -123.26484299984935, 38.522154000473293 ], [ -123.2647849997078, 38.522497000496003 ], [ -123.264435000051975, 38.522771000504157 ], [ -123.2641140004405, 38.522909000447882 ], [ -123.264084999642677, 38.523275001074502 ], [ -123.264580000217435, 38.523756000719814 ], [ -123.265395999523506, 38.523756000742729 ], [ -123.265657999730394, 38.523825000568479 ], [ -123.266095000216254, 38.524123000935425 ], [ -123.267056000147321, 38.524123000453265 ], [ -123.268891000339238, 38.524925001123648 ], [ -123.269065999818977, 38.52513100076051 ], [ -123.269032311280128, 38.52532465109384 ], [ -123.267989818860016, 38.526008253005202 ], [ -123.267408756610678, 38.526948205302411 ], [ -123.267460027534796, 38.527631806607928 ], [ -123.267289126459247, 38.527871067937028 ], [ -123.26742584745611, 38.528144508052286 ], [ -123.267784737751114, 38.528281228182486 ], [ -123.267682197995853, 38.529306630823349 ], [ -123.268143628535881, 38.529699702292291 ], [ -123.268622150303329, 38.529853512935524 ], [ -123.270792586033195, 38.530144043490147 ], [ -123.271100205906222, 38.530332033415803 ], [ -123.271134386464126, 38.531152355436191 ], [ -123.271339467408282, 38.531579607117415 ], [ -123.271971798057294, 38.531682147365522 ], [ -123.27200597862236, 38.532246118254733 ], [ -123.272211059519861, 38.532365748961311 ], [ -123.272963021342079, 38.532297388488381 ], [ -123.273339001390454, 38.532297388275175 ], [ -123.2736808022714, 38.532724640042005 ], [ -123.274330224958462, 38.532570829186511 ], [ -123.274825835166212, 38.532570829539452 ], [ -123.275099276349138, 38.532810090164404 ], [ -123.27535562709933, 38.53284426963102 ], [ -123.275714517982507, 38.5325195588361 ], [ -123.276175949187589, 38.532434108634405 ], [ -123.277013360989073, 38.531938497785653 ], [ -123.277372252184406, 38.53149415672322 ], [ -123.278253000491674, 38.531261000604637 ] ] ], [ [ [ -123.528573999675828, 38.750735000348847 ], [ -123.529363000157602, 38.750827000305357 ], [ -123.529801000183483, 38.751033000479765 ], [ -123.529946999583089, 38.751239000301027 ], [ -123.529712999820418, 38.751514000930833 ], [ -123.528895000353074, 38.751537000778875 ], [ -123.528193000309557, 38.751170000442087 ], [ -123.528134999603026, 38.750895000499234 ], [ -123.528573999675828, 38.750735000348847 ] ] ], [ [ [ -123.409224999526828, 38.654257000387759 ], [ -123.409692000120671, 38.65471500026085 ], [ -123.409632999645112, 38.654967000396134 ], [ -123.409341000163906, 38.65503600066409 ], [ -123.409165999929613, 38.654990000972262 ], [ -123.408904000170736, 38.654692000671716 ], [ -123.408844999526735, 38.654440000623985 ], [ -123.408933000228117, 38.654326000541175 ], [ -123.409224999526828, 38.654257000387759 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1389, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -123.05347599982322, 38.305722000989448 ], [ -123.053967999688197, 38.305863000429127 ], [ -123.054664999733191, 38.306459000323684 ], [ -123.054985000500494, 38.307374000536669 ], [ -123.05495600018331, 38.308267000400086 ], [ -123.054664999854893, 38.309068001120238 ], [ -123.054083999844323, 38.309984001104702 ], [ -123.053583000374942, 38.31050600068729 ], [ -123.052746000209837, 38.311380000856374 ], [ -123.052251999808718, 38.31202100048403 ], [ -123.051844999442224, 38.312273000683163 ], [ -123.051176999513856, 38.312365000796909 ], [ -123.050595999980459, 38.312548000359008 ], [ -123.050275999895803, 38.312891000981111 ], [ -123.050333999600753, 38.31328000071845 ], [ -123.051061000432355, 38.313669000385637 ], [ -123.051147999647583, 38.313875000743536 ], [ -123.05103199972676, 38.314219001116378 ], [ -123.050654000276069, 38.314562000854977 ], [ -123.049316999397547, 38.31534000043218 ], [ -123.048358000337828, 38.31547700087976 ], [ -123.047486999420727, 38.315477000743762 ], [ -123.046324999784559, 38.31501900029231 ], [ -123.045597999745553, 38.314996000683848 ], [ -123.045366000240634, 38.314928000946104 ], [ -123.045249999563126, 38.314745000899499 ], [ -123.044929999814258, 38.314676000487154 ], [ -123.04414599942659, 38.314950000714603 ], [ -123.042838000144883, 38.31524800083205 ], [ -123.040427000356061, 38.315339000546722 ], [ -123.038508999731036, 38.315155000465481 ], [ -123.037957000056409, 38.315338000825733 ], [ -123.037172000362887, 38.316048000551319 ], [ -123.03691000034398, 38.316643000779379 ], [ -123.037926999506638, 38.316918001034843 ], [ -123.038565999907135, 38.317193001091006 ], [ -123.039408999543326, 38.318315000346892 ], [ -123.039698999639441, 38.31909300062258 ], [ -123.039814999548199, 38.319894000353194 ], [ -123.039203999814646, 38.32177000058438 ], [ -123.038913000240328, 38.322045001056289 ], [ -123.038385000467244, 38.322151000491402 ], [ -123.037895999946144, 38.32225100071787 ], [ -123.037808999529958, 38.322503000280086 ], [ -123.038303000150293, 38.322938000275414 ], [ -123.03911600035309, 38.32412800076991 ], [ -123.03981299955953, 38.324380000812667 ], [ -123.039841999579139, 38.324952000787896 ], [ -123.040597000013818, 38.326028000748487 ], [ -123.04190499976923, 38.326990000741247 ], [ -123.043038000196262, 38.327998000924822 ], [ -123.04382200006394, 38.328089000764685 ], [ -123.044868000328378, 38.328547000884093 ], [ -123.044984999472732, 38.329097000468749 ], [ -123.045827000286806, 38.329532000998846 ], [ -123.046844000063075, 38.330608000502977 ], [ -123.047453999608194, 38.331638000319231 ], [ -123.048761999836188, 38.33317200036943 ], [ -123.049372000077568, 38.333676000791378 ], [ -123.049719999971998, 38.334088000982668 ], [ -123.049504999871772, 38.335131000559628 ], [ -123.049370999974769, 38.335782000755017 ], [ -123.048905999490557, 38.336125000479122 ], [ -123.04777299942667, 38.336194000339511 ], [ -123.047453000084232, 38.336102000277457 ], [ -123.047250000334671, 38.335919001099462 ], [ -123.046929999469356, 38.335804000906776 ], [ -123.045727999577281, 38.335723001098494 ], [ -123.045755000306997, 38.335873000777219 ], [ -123.04579299968583, 38.335947001039045 ], [ -123.045915000027421, 38.336055000988921 ], [ -123.046180000390208, 38.336229000842891 ], [ -123.047524000053215, 38.336991000609792 ], [ -123.047646000485059, 38.337117000969002 ], [ -123.04771800009182, 38.337264000573072 ], [ -123.047766999998814, 38.337438000676748 ], [ -123.047777999665755, 38.337607000852756 ], [ -123.047733999412387, 38.337828000518996 ], [ -123.047481999900967, 38.338552000533682 ], [ -123.047438000471331, 38.338680000421341 ], [ -123.047363000013931, 38.338790000675225 ], [ -123.047265999445671, 38.338884001061118 ], [ -123.047117999717571, 38.339019000247248 ], [ -123.046852999917846, 38.339288000616548 ], [ -123.046640000021327, 38.339589000681393 ], [ -123.046552000134938, 38.339793001052747 ], [ -123.046534000356132, 38.339884000754637 ], [ -123.046547000212243, 38.339971001077096 ], [ -123.046589000043113, 38.340069000299543 ], [ -123.046654000256964, 38.340142000841219 ], [ -123.046724000402108, 38.340196000364259 ], [ -123.04683499970055, 38.340236000777217 ], [ -123.047289000153, 38.340334000308687 ], [ -123.047386999978471, 38.340364000801074 ], [ -123.047534999895277, 38.340422000430905 ], [ -123.047614000049606, 38.340480000871175 ], [ -123.047724999415919, 38.340578000482573 ], [ -123.047813000127377, 38.340633000509179 ], [ -123.048062000095797, 38.340772001130745 ], [ -123.049435000028325, 38.341548000559136 ], [ -123.049635999724828, 38.341665000811055 ], [ -123.049885999503488, 38.34182500044642 ], [ -123.050062999537388, 38.341975000860394 ], [ -123.050211999540394, 38.342103000274506 ], [ -123.050323999542698, 38.342203000419204 ], [ -123.05056200006932, 38.342444000641237 ], [ -123.051082000130975, 38.34314800111953 ], [ -123.052102000534433, 38.344527001079058 ], [ -123.052246999963884, 38.344893000963779 ], [ -123.052336000384528, 38.345123001078569 ], [ -123.052450999516125, 38.345420000951549 ], [ -123.052567000499124, 38.345832000756182 ], [ -123.052679000115177, 38.345987001060827 ], [ -123.052914999896416, 38.346313000983464 ], [ -123.053525999728819, 38.346862000351273 ], [ -123.054223000353048, 38.34727400034668 ], [ -123.05518200039208, 38.347869000802689 ], [ -123.056403000064705, 38.348488000930558 ], [ -123.058351000411335, 38.3492430011243 ], [ -123.058927000013909, 38.349467001026213 ], [ -123.059112999468326, 38.349572000554765 ], [ -123.059273000251324, 38.349718000246661 ], [ -123.059376000009522, 38.349823000721827 ], [ -123.059432999871888, 38.349908000765126 ], [ -123.059546999473397, 38.350171001112429 ], [ -123.059695999940047, 38.350486001061611 ], [ -123.059887000103828, 38.350854000873284 ], [ -123.060073000089275, 38.35114900100492 ], [ -123.060170999578148, 38.351286000793984 ], [ -123.060259000246745, 38.351383000679562 ], [ -123.060347000461135, 38.351464000858286 ], [ -123.060503000469097, 38.351601001140899 ], [ -123.061362000119331, 38.35228700080642 ], [ -123.061485000491871, 38.352385000731687 ], [ -123.064746999758114, 38.354989000541117 ], [ -123.066112999561497, 38.355859000933734 ], [ -123.066636000088636, 38.356362000513357 ], [ -123.066897999781844, 38.356912000314871 ], [ -123.067131000084132, 38.35801100056991 ], [ -123.067362999571145, 38.358446000773526 ], [ -123.067886999997341, 38.359613001072518 ], [ -123.06858399951885, 38.360918001074438 ], [ -123.068904000119659, 38.362108000508258 ], [ -123.069630999713368, 38.363138000589252 ], [ -123.070038000227683, 38.364008000455343 ], [ -123.070648999922795, 38.365221000927868 ], [ -123.069195000373909, 38.36602300070416 ], [ -123.068584999733375, 38.366732000801939 ], [ -123.067712999632121, 38.367305000830086 ], [ -123.066403999548044, 38.367877000736605 ], [ -123.066054999879569, 38.368083000797249 ], [ -123.064740999799625, 38.368322000859862 ], [ -123.064543999854564, 38.368358001085802 ], [ -123.063845999912516, 38.368381000605254 ], [ -123.06279899983825, 38.36815200034188 ], [ -123.06253700049389, 38.368014000249914 ], [ -123.060558999495996, 38.368495000259543 ], [ -123.061373000149544, 38.369067000628839 ], [ -123.061809999499346, 38.369067000878395 ], [ -123.062392000301443, 38.369456000961513 ], [ -123.062449999680567, 38.369639000595058 ], [ -123.062362999513738, 38.369914000468775 ], [ -123.062100999506015, 38.370280000452127 ], [ -123.062014000199113, 38.370761001137666 ], [ -123.061256999796484, 38.371653000387241 ], [ -123.060239000050089, 38.371951000424986 ], [ -123.05834900037604, 38.371905000243551 ], [ -123.057679999695978, 38.372225000303523 ], [ -123.057127999963541, 38.37224800056039 ], [ -123.05590700053304, 38.372088000309873 ], [ -123.05497599972351, 38.372317000366479 ], [ -123.054277999892136, 38.37229400078553 ], [ -123.053406000405857, 38.372134000755516 ], [ -123.052912000334743, 38.371950001066885 ], [ -123.052563000427838, 38.371927000878316 ], [ -123.051632000366197, 38.37211100107703 ], [ -123.05064399947544, 38.372088000867791 ], [ -123.049654999766815, 38.372271001022874 ], [ -123.048317000220393, 38.372454001091292 ], [ -123.047416000378092, 38.372843000263323 ], [ -123.044624000075416, 38.373346000692145 ], [ -123.04401399951314, 38.373666000277737 ], [ -123.043461000243937, 38.374101000747778 ], [ -123.043301000099945, 38.374915000708121 ], [ -123.043024000516908, 38.376195001052984 ], [ -123.042795000363512, 38.377117001030378 ], [ -123.042266999601196, 38.379239000347575 ], [ -123.042499000173564, 38.380865000296332 ], [ -123.04319699953264, 38.382376000893728 ], [ -123.043865000119666, 38.384756001043129 ], [ -123.043893999436548, 38.385260000752467 ], [ -123.044388000245064, 38.385947000376895 ], [ -123.044445999649838, 38.386611000527687 ], [ -123.044330000166454, 38.387458000937784 ], [ -123.044648999644764, 38.388488000455432 ], [ -123.045986999755158, 38.390915001100808 ], [ -123.046043999734096, 38.393112000778622 ], [ -123.045723999691447, 38.393570001042875 ], [ -123.045345999962564, 38.393753001005322 ], [ -123.044414999686254, 38.394875000356706 ], [ -123.043600000028775, 38.395607000731268 ], [ -123.042930999812853, 38.396889000728024 ], [ -123.042290999999878, 38.397644000792198 ], [ -123.041737999592698, 38.398010000534235 ], [ -123.040079999823988, 38.399406000976875 ], [ -123.03909100028342, 38.399681000572073 ], [ -123.038683000398038, 38.399887000834894 ], [ -123.038333999396855, 38.400253000698434 ], [ -123.038101000325739, 38.400940000994723 ], [ -123.036384000428058, 38.402565000332707 ], [ -123.035656999998309, 38.402931000639889 ], [ -123.034666999907216, 38.402839001064599 ], [ -123.034056000008206, 38.402976001005477 ], [ -123.033648999751307, 38.403571001068315 ], [ -123.033328000386177, 38.403777000812077 ], [ -123.03281300034142, 38.40375700096908 ], [ -123.032747000243219, 38.403754000313619 ], [ -123.031390999570604, 38.403366000680144 ], [ -123.03050699973106, 38.403113000763007 ], [ -123.029605000411706, 38.402746000583974 ], [ -123.028395999514643, 38.402491000738301 ], [ -123.027976999711939, 38.402402000683608 ], [ -123.026369999628059, 38.402220000719709 ], [ -123.02271200003841, 38.401805000319079 ], [ -123.022388999880278, 38.40176700089129 ], [ -123.02212999946741, 38.401736000963879 ], [ -123.021895000459196, 38.401644000860301 ], [ -123.020733999906909, 38.401187000880299 ], [ -123.018988999976116, 38.40068200038926 ], [ -123.01823300014091, 38.400682000560451 ], [ -123.017737999704408, 38.401048000438912 ], [ -123.017156999444225, 38.401764000990362 ], [ -123.016864999760188, 38.402124001095814 ], [ -123.016399000330281, 38.402444000485481 ], [ -123.014681999972112, 38.402993000291431 ], [ -123.014245999509612, 38.403702000534309 ], [ -123.013373000491782, 38.40413700079381 ], [ -123.013022999906752, 38.404251000458295 ], [ -123.012615999805547, 38.404503000317639 ], [ -123.012120999602331, 38.405052000260604 ], [ -123.01145199967479, 38.40555500031374 ], [ -123.010723999506624, 38.405875000460185 ], [ -123.010171000507199, 38.406012000286523 ], [ -123.009735000349863, 38.405966000805542 ], [ -123.00953100011273, 38.405714001004647 ], [ -123.010317000505665, 38.404982000641994 ], [ -123.010375999420376, 38.404616000554839 ], [ -123.010085000491927, 38.404318000749868 ], [ -123.009619999826342, 38.404158000706552 ], [ -123.00874699943499, 38.404249000286569 ], [ -123.008194999458567, 38.404089001048021 ], [ -123.007264000028087, 38.403928000412293 ], [ -123.006711000359019, 38.403584000455368 ], [ -123.005752000254276, 38.402439000733281 ], [ -123.005490000039813, 38.402508000503445 ], [ -123.004413000463444, 38.403766000718569 ], [ -123.003169000335888, 38.404464000437549 ], [ -123.00196699959281, 38.405138000900628 ], [ -123.00154099968303, 38.40575600067536 ], [ -123.001109999775835, 38.405985000258049 ], [ -122.999398999488761, 38.406144000333335 ], [ -122.998885999845868, 38.406192000462873 ], [ -122.997983999545184, 38.405620000931251 ], [ -122.997335999885863, 38.405697000594508 ], [ -122.996819999569325, 38.40575800083699 ], [ -122.994725999909278, 38.405645000605126 ], [ -122.993316000182404, 38.40540900081448 ], [ -122.992543999729307, 38.40528000029186 ], [ -122.991409000265094, 38.405349000793599 ], [ -122.991292999731954, 38.405418001034867 ], [ -122.990915000241003, 38.40549200098355 ], [ -122.990710999532965, 38.405532000400392 ], [ -122.987920000368916, 38.407020000591835 ], [ -122.987220999816628, 38.407250000794384 ], [ -122.986960000345107, 38.407502000263527 ], [ -122.986669000299926, 38.408188000622232 ], [ -122.985041000373897, 38.409013001042432 ], [ -122.984888999820825, 38.409210000588949 ], [ -122.984546999979898, 38.409654000446849 ], [ -122.984169000289157, 38.409906000642557 ], [ -122.98221900041338, 38.410777001012931 ], [ -122.981842999689007, 38.410771000678416 ], [ -122.980764000076618, 38.410755000312356 ], [ -122.979687999789618, 38.411213000651294 ], [ -122.979018999550448, 38.411167000449744 ], [ -122.978408000510541, 38.410824000646564 ], [ -122.977390000498019, 38.410801000439911 ], [ -122.976836999484931, 38.410504000414875 ], [ -122.975730999405641, 38.410253000343637 ], [ -122.975062000334461, 38.410230000291101 ], [ -122.975090999781315, 38.411100000325682 ], [ -122.974974999672895, 38.411581000849289 ], [ -122.974519999439778, 38.412276000859535 ], [ -122.974481000532492, 38.412336000543227 ], [ -122.973524000419502, 38.413090000363532 ], [ -122.973462999537432, 38.413138000305587 ], [ -122.972735999611956, 38.413504000818115 ], [ -122.972153999424805, 38.413573000664563 ], [ -122.972184000178558, 38.414603000344741 ], [ -122.972679000096804, 38.415015000557361 ], [ -122.972875000436446, 38.415365000281888 ], [ -122.972908999493953, 38.41542600042105 ], [ -122.972998999404126, 38.415587000887648 ], [ -122.97328299993643, 38.416081000896661 ], [ -122.973524000334677, 38.416499000906889 ], [ -122.973689999636349, 38.416787000679392 ], [ -122.973843000195814, 38.417052000723785 ], [ -122.97404700016115, 38.417121000663222 ], [ -122.97573499954629, 38.418242000413294 ], [ -122.976083999503174, 38.41874500108473 ], [ -122.977278000459279, 38.419180000654755 ], [ -122.978062999856249, 38.419271000956009 ], [ -122.978703999555975, 38.419523000881178 ], [ -122.979868000446672, 38.420186001096226 ], [ -122.980507999408118, 38.420690000565507 ], [ -122.980856999583722, 38.42085000033574 ], [ -122.981642999836666, 38.421353000726093 ], [ -122.982189000520151, 38.422089001051013 ], [ -122.982255000142331, 38.4221770003657 ], [ -122.982430000371821, 38.422288000876534 ], [ -122.982866000154999, 38.422566000511189 ], [ -122.984292999680207, 38.423046000885243 ], [ -122.984729999618565, 38.423412000993224 ], [ -122.985574000515314, 38.423847000259173 ], [ -122.985990999750598, 38.424025000378649 ], [ -122.986912999647515, 38.424418000382481 ], [ -122.987615000499162, 38.424311000365286 ], [ -122.987814999703616, 38.424281000634721 ], [ -122.988176999496631, 38.424307001096338 ], [ -122.988775000408694, 38.424349001094491 ], [ -122.989124000125543, 38.424308000341249 ], [ -122.989357000238854, 38.424280000854665 ], [ -122.989910000201348, 38.424028000648789 ], [ -122.991180000052694, 38.423867001075024 ], [ -122.991364999669187, 38.423844000275217 ], [ -122.992263000388974, 38.423948000351196 ], [ -122.992353999987529, 38.423958000906062 ], [ -122.993081000316991, 38.423889000550126 ], [ -122.993954000171485, 38.423591000284624 ], [ -122.994254999439576, 38.42359100100694 ], [ -122.994412000397645, 38.423591000487143 ], [ -122.994622999576364, 38.423591000444524 ], [ -122.995147000194549, 38.423682001057401 ], [ -122.995409000479043, 38.423980000683677 ], [ -122.996369999857976, 38.424277000554795 ], [ -122.996639000114271, 38.42447800060939 ], [ -122.996952000491177, 38.424712000433708 ], [ -122.997564000374936, 38.425329000316474 ], [ -122.997708999676831, 38.425375000839971 ], [ -122.997797000276577, 38.425535000521606 ], [ -122.998727999459405, 38.426084000616555 ], [ -122.999484999560352, 38.426404000531207 ], [ -123.000628999947097, 38.426564000644674 ], [ -123.001109999794764, 38.426724000445034 ], [ -123.002065000161139, 38.427045000901003 ], [ -123.002117000123917, 38.427067000660202 ], [ -123.003313999761104, 38.427565000250759 ], [ -123.003606999607342, 38.427687001131716 ], [ -123.004013999997866, 38.4277330007993 ], [ -123.00506199954971, 38.427596000277163 ], [ -123.005789000150401, 38.42775600060186 ], [ -123.006575000187397, 38.428329000694411 ], [ -123.007563999416888, 38.428902000556221 ], [ -123.008990000359972, 38.429612000311181 ], [ -123.010065999922077, 38.429910000728064 ], [ -123.011347000150778, 38.43018500028613 ], [ -123.013295999550181, 38.430255000694508 ], [ -123.014256000159222, 38.43066700033647 ], [ -123.013383000038985, 38.430942000845533 ], [ -123.011693999704477, 38.432750000819915 ], [ -123.010265999539669, 38.433141000600685 ], [ -123.00913399992794, 38.433738000621602 ], [ -123.008623000197176, 38.433788000450328 ], [ -123.008103000388502, 38.433567000842203 ], [ -123.007643999723328, 38.43366300024347 ], [ -123.007277000428559, 38.433927000906017 ], [ -123.007215999481033, 38.434398001034296 ], [ -123.00735899987707, 38.434966000615844 ], [ -123.007012000055695, 38.435353000751441 ], [ -123.006624000416139, 38.435571000325496 ], [ -123.006441000024182, 38.436016001063116 ], [ -123.005115000224677, 38.436361000485185 ], [ -123.004767999682386, 38.436289001104093 ], [ -123.004472000026979, 38.436185000841526 ], [ -123.00387099972545, 38.436474000242683 ], [ -123.00377899948856, 38.437009000631598 ], [ -123.002830000263046, 38.437704000762146 ], [ -123.001891999586917, 38.437940000297004 ], [ -123.001473999583609, 38.438242000577645 ], [ -123.001412999744943, 38.439068000577315 ], [ -123.001738999719365, 38.439515000695089 ], [ -123.001463999763203, 38.439940001073417 ], [ -123.000882999638492, 38.440113001013785 ], [ -122.999790999944295, 38.439477000754771 ], [ -122.999087999428937, 38.438849000383669 ], [ -122.999066999880426, 38.438371000819878 ], [ -122.999679000174453, 38.438205000704492 ], [ -122.999994999595273, 38.437695001079661 ], [ -123.000035999462412, 38.43720500089978 ], [ -122.999751000182684, 38.437178000909498 ], [ -122.99938299987609, 38.43744200102207 ], [ -122.999229999422809, 38.437383000672732 ], [ -122.9991279999374, 38.436938000513315 ], [ -122.998709999614405, 38.436678001097405 ], [ -122.997781999798235, 38.43679200090115 ], [ -122.996761999749253, 38.436640000352192 ], [ -122.995712000140102, 38.437237000571095 ], [ -122.995630000023667, 38.437605001007071 ], [ -122.99598699996892, 38.437735000722789 ], [ -122.996303000042417, 38.43756900050073 ], [ -122.996792999864994, 38.437751000625653 ], [ -122.99668099960067, 38.438648000539629 ], [ -122.996426000107249, 38.438918001093029 ], [ -122.996028000492686, 38.438878001037999 ], [ -122.995497999454898, 38.438858000871086 ], [ -122.995079999630747, 38.439244001062555 ], [ -122.995814000119282, 38.442655000343159 ], [ -122.995966999598963, 38.443211000996598 ], [ -122.996588999546944, 38.443374000402805 ], [ -122.997139999892312, 38.443040000724366 ], [ -122.9977409997704, 38.442615000334619 ], [ -122.998211000528968, 38.442772000400481 ], [ -122.998710000318511, 38.443077000250121 ], [ -122.998710000419322, 38.443522001029848 ], [ -122.998566999616187, 38.443578000385457 ], [ -122.99756700006786, 38.444231001004987 ], [ -122.99799699956661, 38.444341000539289 ], [ -122.998730000052234, 38.444708000821763 ], [ -122.999324999463312, 38.445051000759726 ], [ -122.999429000239573, 38.445150000493655 ], [ -122.999809999645194, 38.445514000571301 ], [ -123.000152000531173, 38.446069000694237 ], [ -123.000239999499556, 38.446211000585066 ], [ -123.00059100030704, 38.44687400079237 ], [ -123.000637000213459, 38.447576000469333 ], [ -123.000819999879383, 38.448225001061473 ], [ -123.00097300038712, 38.448706000450173 ], [ -123.001110000026642, 38.448814000647239 ], [ -123.001522999926522, 38.448860000630972 ], [ -123.001697000285716, 38.449341000549566 ], [ -123.001697000148312, 38.449433000776935 ], [ -123.001697000457469, 38.449593000816257 ], [ -123.001565999919563, 38.449845001093742 ], [ -123.001506999898027, 38.449877000611686 ], [ -123.001110000183189, 38.45009600078361 ], [ -123.000351999419181, 38.450489000819836 ], [ -123.000310000430858, 38.450414000453314 ], [ -123.0003620002107, 38.450132001138968 ], [ -123.000377999451999, 38.449827000953306 ], [ -123.000483999544073, 38.449468001063558 ], [ -123.00062200039973, 38.449179000517681 ], [ -123.000697999429192, 38.448950000764846 ], [ -123.000712999721443, 38.448736000360803 ], [ -123.000609999492113, 38.448514000482241 ], [ -123.000453999828551, 38.448484000445717 ], [ -123.00011799998137, 38.448286000311505 ], [ -122.999737000451148, 38.447935000620554 ], [ -122.999247999568581, 38.447508000852054 ], [ -122.9989590004745, 38.447416001086843 ], [ -122.99880599941622, 38.447180000448952 ], [ -122.998897000151544, 38.447058000325946 ], [ -122.998927999747281, 38.446844001131872 ], [ -122.99876000039356, 38.446607000818254 ], [ -122.998469999580408, 38.446287000748718 ], [ -122.998027999898525, 38.446050000872191 ], [ -122.997752999674844, 38.445906000575256 ], [ -122.997615999619043, 38.445677001118632 ], [ -122.99753899993155, 38.445356000675872 ], [ -122.997295000352835, 38.445021000458688 ], [ -122.996914000248125, 38.444708000411651 ], [ -122.996410000150433, 38.444387000668264 ], [ -122.995983000459958, 38.444258000365743 ], [ -122.995810000148452, 38.444214000272325 ], [ -122.995463999972372, 38.444074000631701 ], [ -122.994961000042167, 38.443945000841097 ], [ -122.994503000246056, 38.443800000718262 ], [ -122.994121000451941, 38.443579000809343 ], [ -122.993968999540456, 38.443426000780967 ], [ -122.993754999973987, 38.443106000866528 ], [ -122.993358999579698, 38.442823000847689 ], [ -122.992717999551488, 38.442777000451258 ], [ -122.992183999406421, 38.442755000568368 ], [ -122.991649999682423, 38.442762000472335 ], [ -122.991054000231145, 38.442640000439624 ], [ -122.990458999725348, 38.44251800105922 ], [ -122.989970999713464, 38.442465000904633 ], [ -122.989436999810408, 38.442282000528238 ], [ -122.988609999619229, 38.442214000665821 ], [ -122.987788999541564, 38.442297000733454 ], [ -122.987118000215858, 38.442617000546818 ], [ -122.986476999453927, 38.442999000421835 ], [ -122.985971999917268, 38.44315100060188 ], [ -122.985331000331783, 38.443106000709392 ], [ -122.984720999901015, 38.443022000982729 ], [ -122.983682999515992, 38.443067000532487 ], [ -122.983104000203554, 38.443373000425858 ], [ -122.982615000291105, 38.443861000833472 ], [ -122.982279999875615, 38.444357001064013 ], [ -122.98201999978599, 38.4449060009484 ], [ -122.981790999798221, 38.445349000656549 ], [ -122.981485999561656, 38.445661000778443 ], [ -122.98116600000678, 38.445852000601455 ], [ -122.981008999755744, 38.445814000495751 ], [ -122.980800000009282, 38.445852000680794 ], [ -122.980570999971178, 38.445692000644613 ], [ -122.980432999541094, 38.445432000538425 ], [ -122.98024999959577, 38.444929000838272 ], [ -122.980066999617975, 38.444677000928579 ], [ -122.979792000245823, 38.444578000599215 ], [ -122.979425999956192, 38.444525000954513 ], [ -122.979090999575945, 38.444311000662772 ], [ -122.978479999453455, 38.443991000523908 ], [ -122.977976999866499, 38.443868000257389 ], [ -122.97741200046498, 38.443701000868089 ], [ -122.97713199992144, 38.443561000345255 ], [ -122.976908999967222, 38.443449000541307 ], [ -122.976236999687131, 38.44302900048671 ], [ -122.976024000302345, 38.442884000977166 ], [ -122.976008999413338, 38.442814000909109 ], [ -122.9759470003155, 38.442678001033265 ], [ -122.975946999932134, 38.442434000620018 ], [ -122.976114999924448, 38.442236000484719 ], [ -122.976450999931629, 38.441969000383544 ], [ -122.976893000043034, 38.441686001036288 ], [ -122.977183000054666, 38.441480000659908 ], [ -122.977167999733396, 38.441351000419459 ], [ -122.977061000398635, 38.441122000622556 ], [ -122.976923999713676, 38.440794000970747 ], [ -122.976801999720706, 38.440527000631178 ], [ -122.976694999972722, 38.440214000248247 ], [ -122.97658799944837, 38.439924000745719 ], [ -122.976466000228214, 38.439550000594274 ], [ -122.976236999723895, 38.439352000890082 ], [ -122.975916999798827, 38.439138000687997 ], [ -122.975551000062111, 38.438932000981922 ], [ -122.975244999819736, 38.438757000449215 ], [ -122.975109000174555, 38.43861400080673 ], [ -122.975015999450733, 38.438406000493622 ], [ -122.974832999678142, 38.438009000744103 ], [ -122.974689999752684, 38.437414000800416 ], [ -122.974397999825925, 38.437086000457441 ], [ -122.973444999997582, 38.437042000660902 ], [ -122.973444999672978, 38.436899000947484 ], [ -122.973357999723248, 38.436853000815603 ], [ -122.973358000088936, 38.436693000431482 ], [ -122.973271000532463, 38.436625000484341 ], [ -122.973066999588895, 38.435938000277083 ], [ -122.971931000240176, 38.434198001049836 ], [ -122.971436000271552, 38.433741000936962 ], [ -122.971244999985316, 38.433662000761394 ], [ -122.970824999403391, 38.4334890008736 ], [ -122.969822999646851, 38.433234001046294 ], [ -122.969748000392713, 38.433215001044942 ], [ -122.968146999549589, 38.433032000673606 ], [ -122.9675650003134, 38.43289500108223 ], [ -122.966999999446458, 38.432491000637725 ], [ -122.966603999925027, 38.432208000729005 ], [ -122.965615000403261, 38.431682000407136 ], [ -122.964276000473674, 38.430767000312436 ], [ -122.963431999813608, 38.430423000651466 ], [ -122.963112000030605, 38.430401000623291 ], [ -122.962558000013786, 38.430538001088287 ], [ -122.96232500037695, 38.430469000823479 ], [ -122.962130000326184, 38.430305000869772 ], [ -122.96188799999905, 38.430103000532164 ], [ -122.961015000308109, 38.428776000989394 ], [ -122.960054000500719, 38.428204000327987 ], [ -122.959646999909438, 38.427792000583047 ], [ -122.959560000474411, 38.427540000943928 ], [ -122.959821000422167, 38.426578000514617 ], [ -122.959908000206454, 38.426143000312891 ], [ -122.959763000254327, 38.425800000490156 ], [ -122.959442999609323, 38.425480000567546 ], [ -122.958860999459475, 38.425228000994288 ], [ -122.958772999431517, 38.425777000517911 ], [ -122.958395000294971, 38.426029000679257 ], [ -122.958335000520123, 38.426025000457336 ], [ -122.958046000511374, 38.426006000480299 ], [ -122.956765999937431, 38.4255030008053 ], [ -122.956009000445917, 38.425480001025264 ], [ -122.955194000099013, 38.425572001075771 ], [ -122.954669999915808, 38.425755000464591 ], [ -122.954357999914009, 38.426027000466632 ], [ -122.954146999789018, 38.426213001101615 ], [ -122.953303000118311, 38.426213000385879 ], [ -122.953215999472746, 38.426396000741612 ], [ -122.953273999889547, 38.42706000085316 ], [ -122.953098999968802, 38.427083000484046 ], [ -122.953360999793617, 38.427793001110309 ], [ -122.953303000360719, 38.428296000725481 ], [ -122.953001000231154, 38.428822001034717 ], [ -122.952895999634762, 38.429006000517035 ], [ -122.952430999536261, 38.429418000943869 ], [ -122.951877999706127, 38.429624000410726 ], [ -122.951645000387259, 38.429624000931526 ], [ -122.951222000351095, 38.429649000412581 ], [ -122.950858999802094, 38.429670000478794 ], [ -122.950539000533468, 38.429693000270007 ], [ -122.949957000341328, 38.430013000344204 ], [ -122.949694999870673, 38.42996800091764 ], [ -122.94925900039587, 38.429739000343545 ], [ -122.94864799985055, 38.42925800068349 ], [ -122.948501999732571, 38.428686001004927 ], [ -122.948268999937085, 38.428503000388901 ], [ -122.948064999657944, 38.428480001045941 ], [ -122.947832999589494, 38.428617000300086 ], [ -122.947221999757375, 38.429510000901622 ], [ -122.946552000230923, 38.429739001015193 ], [ -122.945969999594496, 38.429831000514412 ], [ -122.945592000012738, 38.429648000669204 ], [ -122.944419000390837, 38.429624000356725 ], [ -122.943351000188173, 38.429602001071316 ], [ -122.94124700027659, 38.429586000285227 ], [ -122.94036399983986, 38.429580000920168 ], [ -122.940207999560599, 38.429579000378546 ], [ -122.940003999782093, 38.42973900031933 ], [ -122.939625999549691, 38.429808000343826 ], [ -122.939447000034065, 38.429730000800909 ], [ -122.939294000306703, 38.429663000372621 ], [ -122.939102000533239, 38.429579000427843 ], [ -122.938045000028239, 38.429576000458965 ], [ -122.937534000267789, 38.429574000642596 ], [ -122.93354700006698, 38.429562000471996 ], [ -122.931128000398175, 38.429555000874359 ], [ -122.931098999982652, 38.428709000534639 ], [ -122.931129000423923, 38.426420001013852 ], [ -122.93107100024983, 38.423947000812511 ], [ -122.931128999771943, 38.418843000303788 ], [ -122.934563000052961, 38.418728000624363 ], [ -122.934941000484372, 38.417675001089819 ], [ -122.934940999469589, 38.41715500111146 ], [ -122.934941000316002, 38.417011000569168 ], [ -122.93438800052958, 38.416370000997908 ], [ -122.934010000455572, 38.415890000479081 ], [ -122.934067999475374, 38.415569001140085 ], [ -122.934592000182874, 38.415524000934809 ], [ -122.93575600032932, 38.415638000957465 ], [ -122.936133999879331, 38.415546000421649 ], [ -122.936162999903701, 38.415386000852664 ], [ -122.935116000196572, 38.414562000932555 ], [ -122.934447000083907, 38.413509001026249 ], [ -122.93438800046043, 38.41312000056169 ], [ -122.934563000272036, 38.412364001035506 ], [ -122.934621000216438, 38.411220000269836 ], [ -122.935115999707605, 38.410670000784151 ], [ -122.935320000375953, 38.410236000747261 ], [ -122.935610999395394, 38.409160000618712 ], [ -122.935726999446743, 38.408999000617378 ], [ -122.935726999561069, 38.408748000801225 ], [ -122.934795999923409, 38.407717001041334 ], [ -122.933341999540772, 38.407214000456314 ], [ -122.927901999732256, 38.406641000257586 ], [ -122.926971000524077, 38.405130001057458 ], [ -122.926418000464537, 38.404466000258417 ], [ -122.925632999882723, 38.403734000885855 ], [ -122.924614999990723, 38.403115001106919 ], [ -122.923481000066161, 38.402635000551406 ], [ -122.923421999427305, 38.402451000683556 ], [ -122.923131999801456, 38.402222000814689 ], [ -122.922403999403073, 38.401993000375398 ], [ -122.921094999707634, 38.401833000291148 ], [ -122.920048000228974, 38.401146000267218 ], [ -122.91882800005925, 38.400814000992931 ], [ -122.918536000093027, 38.400734000977053 ], [ -122.917342999409342, 38.400802000679633 ], [ -122.916702999914989, 38.400619000262324 ], [ -122.915917999663165, 38.400024000499343 ], [ -122.915424000232704, 38.399268000339433 ], [ -122.91542399974864, 38.399062000266674 ], [ -122.915102999892326, 38.398558000463822 ], [ -122.914929000525817, 38.398444000492823 ], [ -122.914318999552876, 38.395766000436559 ], [ -122.913940999883309, 38.39469000043691 ], [ -122.913650000417874, 38.394209000555698 ], [ -122.913185000097059, 38.393957000580038 ], [ -122.912544999723934, 38.392995000697319 ], [ -122.912226000456769, 38.392720000888339 ], [ -122.911323999803301, 38.392537000621608 ], [ -122.910189000399342, 38.391905001083366 ], [ -122.909433999743072, 38.391484000266367 ], [ -122.909289000370222, 38.390911000864406 ], [ -122.908997999483375, 38.390476000522568 ], [ -122.907689000344448, 38.390041000699199 ], [ -122.905043000392823, 38.388941000972999 ], [ -122.904433000408602, 38.388552000381999 ], [ -122.90443299993521, 38.388461000491986 ], [ -122.903386000232018, 38.388300000919557 ], [ -122.903153000051432, 38.388140000758447 ], [ -122.903269999389892, 38.387224000618609 ], [ -122.903473999774121, 38.386583000281817 ], [ -122.90350299997246, 38.386102000618294 ], [ -122.902979999941138, 38.385324000916889 ], [ -122.902963999863545, 38.385287000276669 ], [ -122.90274800053102, 38.384775000795145 ], [ -122.902739999481014, 38.384550001059004 ], [ -122.902718999906597, 38.383928000253775 ], [ -122.903010000093644, 38.382829000359159 ], [ -122.902981999539122, 38.381913000384671 ], [ -122.901674000342069, 38.380402000759091 ], [ -122.901354000314186, 38.380150000943154 ], [ -122.901325000396767, 38.37999000078824 ], [ -122.899610000149337, 38.378272000955306 ], [ -122.900628000214908, 38.3776320007062 ], [ -122.901209999948179, 38.377403000253935 ], [ -122.901385000032519, 38.377243000528019 ], [ -122.901734000078619, 38.377174000573476 ], [ -122.904148000398948, 38.376030000883809 ], [ -122.905368999560594, 38.375391000975206 ], [ -122.906998000252869, 38.374915000338312 ], [ -122.908539000490066, 38.374589000497473 ], [ -122.909032999530893, 38.374486000893384 ], [ -122.909731999886773, 38.374030000387258 ], [ -122.909935000035233, 38.373985000269727 ], [ -122.91013899963599, 38.373825000631747 ], [ -122.911824999923397, 38.373344000737774 ], [ -122.911883999553226, 38.373253000804354 ], [ -122.91103500019122, 38.371298000982613 ], [ -122.910373000060872, 38.369773000330582 ], [ -122.910402000407927, 38.3692000005965 ], [ -122.910577000188468, 38.368537000655508 ], [ -122.911450999645155, 38.366591000286824 ], [ -122.91209099959822, 38.365950001075902 ], [ -122.912090999778982, 38.36585900083017 ], [ -122.913254000140796, 38.364691000458819 ], [ -122.913371000478818, 38.364463000942699 ], [ -122.913486999443492, 38.364440000587969 ], [ -122.913865000488641, 38.363936000762891 ], [ -122.915028999472824, 38.361487000565631 ], [ -122.915465000445735, 38.360823000662229 ], [ -122.916569999529244, 38.359656000578148 ], [ -122.918517999911359, 38.358168001022889 ], [ -122.918663999705885, 38.358168000548908 ], [ -122.919972000027897, 38.357299000837713 ], [ -122.920262999995018, 38.356932000856823 ], [ -122.920320999774134, 38.356566001020319 ], [ -122.920961000522723, 38.355651001098501 ], [ -122.921078000026213, 38.354941000343274 ], [ -122.920903000003946, 38.354620000331899 ], [ -122.920264000022399, 38.353934000571172 ], [ -122.920147999606414, 38.353888000989514 ], [ -122.919042999431284, 38.352445000700513 ], [ -122.918781999529642, 38.352239000539875 ], [ -122.91875300035143, 38.352102000749291 ], [ -122.918230000363664, 38.35164400056275 ], [ -122.91695099997068, 38.351049000806164 ], [ -122.91631099981339, 38.350522000572361 ], [ -122.916166000048207, 38.34965200065961 ], [ -122.916079000252111, 38.349583001086451 ], [ -122.916049999410575, 38.348622000420313 ], [ -122.915847000046369, 38.34754600057051 ], [ -122.915818999719235, 38.346241000971233 ], [ -122.916226000383887, 38.344524000431903 ], [ -122.916253999521373, 38.343540000469609 ], [ -122.916313999970967, 38.341480000981441 ], [ -122.916605000019288, 38.340907000635852 ], [ -122.917070000257041, 38.340564000408165 ], [ -122.917409000009059, 38.340193001024936 ], [ -122.918116999617013, 38.339420000498336 ], [ -122.918584999537302, 38.338668001096217 ], [ -122.91878599963357, 38.338344000405819 ], [ -122.922041000444736, 38.335392000814707 ], [ -122.923814999435848, 38.333493001080782 ], [ -122.924687000471863, 38.332096000941348 ], [ -122.925054999886513, 38.331107000911381 ], [ -122.925181000253389, 38.330769000508056 ], [ -122.925733000362797, 38.329876000887566 ], [ -122.927215999860834, 38.326167000348221 ], [ -122.927681000377618, 38.324382000446754 ], [ -122.927886000221449, 38.324268000852413 ], [ -122.92833099985522, 38.324485001090324 ], [ -122.928438000279783, 38.324130000415252 ], [ -122.928785999833948, 38.32367200107506 ], [ -122.92899000045638, 38.323489000890476 ], [ -122.929396999709112, 38.323306001049609 ], [ -122.929454999713158, 38.322986001071371 ], [ -122.929716000261038, 38.322780000875092 ], [ -122.930093999871019, 38.322230000687142 ], [ -122.930703999819769, 38.321818001063122 ], [ -122.931023999544564, 38.321498000611015 ], [ -122.931546999557085, 38.321269000805508 ], [ -122.932012000042008, 38.320880000274748 ], [ -122.932621999681359, 38.320720000859815 ], [ -122.932970999972014, 38.320903000336756 ], [ -122.933291000194743, 38.32090300072138 ], [ -122.934684999905812, 38.320445000662488 ], [ -122.935440999878068, 38.319850001076475 ], [ -122.93544099972253, 38.319667000551192 ], [ -122.935324999737546, 38.318820001049993 ], [ -122.935673000521433, 38.318064000848011 ], [ -122.935789999490765, 38.317469000764483 ], [ -122.935701999961395, 38.317355000542115 ], [ -122.935702999603748, 38.316714000566641 ], [ -122.935934999674757, 38.316050001066102 ], [ -122.935876999887938, 38.315294000950892 ], [ -122.935033999595376, 38.314104001092659 ], [ -122.93497599980563, 38.313829001052817 ], [ -122.935267000334591, 38.313623000285432 ], [ -122.936400000154748, 38.313371000240593 ], [ -122.936922999963727, 38.313120000242485 ], [ -122.937329999675825, 38.312822001113922 ], [ -122.937301000334017, 38.312502000623454 ], [ -122.937155000429669, 38.312318000667055 ], [ -122.937154999720988, 38.312067000304346 ], [ -122.938142999816776, 38.311632000324586 ], [ -122.938608000437014, 38.311265001128781 ], [ -122.939363000251305, 38.310876000508067 ], [ -122.940003000314903, 38.310807000652638 ], [ -122.94061300041362, 38.310945001029275 ], [ -122.943633999601261, 38.312456000668952 ], [ -122.943924999701366, 38.312479001042774 ], [ -122.944272999936828, 38.312364000797494 ], [ -122.944766999935453, 38.311906000712213 ], [ -122.945173999903119, 38.311357000929377 ], [ -122.94561000017697, 38.311151000629287 ], [ -122.946162000350725, 38.311082001138601 ], [ -122.947933999448324, 38.311357000341346 ], [ -122.949125999910677, 38.311746001034152 ], [ -122.949532999933353, 38.311952000681302 ], [ -122.950287999699711, 38.312547000333865 ], [ -122.95110199984137, 38.31298200059851 ], [ -122.951827999865444, 38.313210000630022 ], [ -122.954994999408541, 38.313370000509082 ], [ -122.955866999900593, 38.313508001015471 ], [ -122.956855000331331, 38.313942001021012 ], [ -122.96005099993306, 38.315933000386693 ], [ -122.960110000519492, 38.316048000837036 ], [ -122.961823999870504, 38.316780000610137 ], [ -122.962782999427958, 38.317077001024074 ], [ -122.964148999402894, 38.317283000505142 ], [ -122.965182000369168, 38.317171000819727 ], [ -122.966144000265388, 38.317017000759385 ], [ -122.966983999505985, 38.316460000944232 ], [ -122.967280999700108, 38.315944000937733 ], [ -122.96736199960776, 38.315251000394646 ], [ -122.967360999903121, 38.314396000378188 ], [ -122.967515000521871, 38.313670001043079 ], [ -122.968363999726648, 38.312734000590154 ], [ -122.96854799997007, 38.311879000394491 ], [ -122.969049000468729, 38.310798000955288 ], [ -122.970042000205964, 38.310128000420853 ], [ -122.970627000414154, 38.309918000295319 ], [ -122.971076999465865, 38.309942000442547 ], [ -122.972266000398577, 38.310482001020723 ], [ -122.973495000450399, 38.311214000968832 ], [ -122.974325000060389, 38.311512001024568 ], [ -122.974867999573291, 38.311471000352604 ], [ -122.976044999682529, 38.311180000326679 ], [ -122.97716199984086, 38.310929000973054 ], [ -122.978114000223286, 38.310904000852922 ], [ -122.980172999933856, 38.31108000102008 ], [ -122.981607000035396, 38.311135000420094 ], [ -122.982589999522204, 38.310957001000986 ], [ -122.983162999489295, 38.310408001032009 ], [ -122.983623000115941, 38.309401000860383 ], [ -122.9837760005191, 38.308852000545798 ], [ -122.984133999563085, 38.308223000249185 ], [ -122.984738000381498, 38.307948000417056 ], [ -122.985322000258222, 38.307972001134701 ], [ -122.986868000489764, 38.308100000424943 ], [ -122.987707999818539, 38.308115000710536 ], [ -122.988281000269851, 38.307760000400073 ], [ -122.988976999920268, 38.307227000835319 ], [ -122.989479000222246, 38.306920000733513 ], [ -122.990205000291681, 38.30629100060689 ], [ -122.990613999968645, 38.305855001004467 ], [ -122.99111599945418, 38.305580000568199 ], [ -122.991628999449873, 38.305531000764823 ], [ -122.991935999437246, 38.305741001071979 ], [ -122.992275000102183, 38.306015000841981 ], [ -122.993125000472702, 38.306441000958571 ], [ -122.993995999841161, 38.306440000626786 ], [ -122.994753000002589, 38.30619000060981 ], [ -122.994958000194003, 38.306012000605307 ], [ -122.995132000323167, 38.305713000777601 ], [ -122.994905999426194, 38.304964000539535 ], [ -122.994136000424291, 38.30398900061801 ], [ -122.994105000168446, 38.303320000759498 ], [ -122.994032000211689, 38.302554000557649 ], [ -122.9935800004138, 38.301046000613056 ], [ -122.993579000296947, 38.300079000240004 ], [ -122.994111000256126, 38.299385000954885 ], [ -122.99483800038557, 38.299045000350354 ], [ -122.996251000122712, 38.298859000299146 ], [ -122.997212999820263, 38.298833000972465 ], [ -122.99773499983516, 38.298720000715036 ], [ -122.998707999403365, 38.298413000361784 ], [ -123.000158000144268, 38.297832000502872 ], [ -123.000192000503503, 38.298385000257433 ], [ -123.001110999622966, 38.298270000910783 ], [ -123.001110999652681, 38.297447000940522 ], [ -123.001588000084169, 38.297155000419863 ], [ -123.001756999399134, 38.296736000509647 ], [ -123.001771000043618, 38.296430000793215 ], [ -123.002061999895233, 38.296036000810666 ], [ -123.002729000023393, 38.295711001130265 ], [ -123.004121999958471, 38.29701200050328 ], [ -123.004702999440326, 38.297310000311363 ], [ -123.005602999668326, 38.297494000263903 ], [ -123.006125999638599, 38.297723001005572 ], [ -123.007490999915404, 38.298685000798962 ], [ -123.008680000502991, 38.300082001086587 ], [ -123.009231999884094, 38.300517001047893 ], [ -123.010278000082195, 38.300930000940092 ], [ -123.011670999423202, 38.302212000514963 ], [ -123.012570999558534, 38.302877000863319 ], [ -123.013092999576244, 38.303518000869431 ], [ -123.013287999682632, 38.303655000369403 ], [ -123.013616000455329, 38.30388400111687 ], [ -123.014661999737683, 38.30438900113657 ], [ -123.015270999424985, 38.304961001034009 ], [ -123.017100999717584, 38.305580000732441 ], [ -123.018029999869697, 38.306565000337322 ], [ -123.01942700013376, 38.307300000341336 ], [ -123.019510999402954, 38.307344000390643 ], [ -123.020963999843218, 38.308306001075458 ], [ -123.022677999584431, 38.309107000374112 ], [ -123.024333000354559, 38.310573000815189 ], [ -123.02503000049785, 38.310825000994932 ], [ -123.026162999565003, 38.311031000324135 ], [ -123.027208999683509, 38.311398000492623 ], [ -123.029996999712722, 38.312200001039777 ], [ -123.035239000469588, 38.313148000782171 ], [ -123.035575000304689, 38.313209000849184 ], [ -123.038742000075771, 38.3135760007332 ], [ -123.041007999774124, 38.313576000980561 ], [ -123.04312899979, 38.31341600079687 ], [ -123.044989000119926, 38.313096000313848 ], [ -123.046848000234405, 38.312662000582336 ], [ -123.047981000323972, 38.312250000419333 ], [ -123.048707999685064, 38.311792000569817 ], [ -123.049754000097863, 38.311403000991334 ], [ -123.051061000013078, 38.310693000501736 ], [ -123.052077999426643, 38.309572001103099 ], [ -123.052718000030524, 38.308038000709601 ], [ -123.052978999987232, 38.306848000427458 ], [ -123.052863000161906, 38.306046000764127 ], [ -123.05332900046588, 38.305680000595231 ], [ -123.05347599982322, 38.305722000989448 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 1, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.399681999860391, 37.792228000366933 ], [ -122.399881999879511, 37.79322800086382 ], [ -122.399982000144391, 37.793728000479341 ], [ -122.400082000514502, 37.794128000620141 ], [ -122.398881999691469, 37.794328000816662 ], [ -122.397682000189633, 37.794428000246079 ], [ -122.396481999523985, 37.794628000282138 ], [ -122.396381999415297, 37.793728000488329 ], [ -122.396082000300211, 37.793428000874229 ], [ -122.396481999819557, 37.793128000248785 ], [ -122.397282000472643, 37.792528000260724 ], [ -122.397382000380347, 37.792328001109411 ], [ -122.398281999529956, 37.791728000898381 ], [ -122.399082000069313, 37.791028000759731 ], [ -122.399481999804422, 37.791328000581991 ], [ -122.399681999860391, 37.792228000366933 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 3, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.406977999707237, 37.790316000952018 ], [ -122.407082000176032, 37.790728000345723 ], [ -122.407282000205598, 37.791328001049322 ], [ -122.407316000009075, 37.791668001070988 ], [ -122.407381999992211, 37.792328000822266 ], [ -122.40668199961992, 37.792328000953873 ], [ -122.405881999787894, 37.792528000754743 ], [ -122.405382000313253, 37.792528001086552 ], [ -122.404382000471756, 37.792628001087891 ], [ -122.404182000268861, 37.791728001032808 ], [ -122.403926000205075, 37.790726000789618 ], [ -122.404290999920406, 37.790684000835583 ], [ -122.404881999730449, 37.790628000421925 ], [ -122.405092999440939, 37.790593001009391 ], [ -122.405481999936811, 37.790528000846848 ], [ -122.40628200017612, 37.790428000369111 ], [ -122.406977999707237, 37.790316000952018 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 5, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.408382000284988, 37.788329000583346 ], [ -122.408482000067195, 37.789328000410634 ], [ -122.408561999411219, 37.789897000790972 ], [ -122.408581999836244, 37.790228000990908 ], [ -122.407782000235215, 37.790328000888131 ], [ -122.407381999766955, 37.790328000419457 ], [ -122.406977999707237, 37.790316000952018 ], [ -122.40628200017612, 37.790428000369111 ], [ -122.405481999936811, 37.790528000846848 ], [ -122.405092999440939, 37.790593001009391 ], [ -122.404881999730449, 37.790628000421925 ], [ -122.404290999920406, 37.790684000835583 ], [ -122.403926000205075, 37.790726000789618 ], [ -122.403782000385675, 37.79032800090426 ], [ -122.403681999657437, 37.789928000892274 ], [ -122.403581999664453, 37.789428000426454 ], [ -122.403481999832138, 37.78892800074037 ], [ -122.403482000177547, 37.788528001098605 ], [ -122.403282000521401, 37.78802900092915 ], [ -122.402982000227425, 37.787829000924972 ], [ -122.403482000268767, 37.787529000524259 ], [ -122.4043820003224, 37.786829000237915 ], [ -122.405682000331197, 37.78582900100502 ], [ -122.405982000218089, 37.785629000621064 ], [ -122.407364000097814, 37.784524001064824 ], [ -122.407482000347002, 37.784429000583053 ], [ -122.407535999437883, 37.784536000859596 ], [ -122.407581999569942, 37.784629000486547 ], [ -122.40778200035632, 37.785529000429278 ], [ -122.407981999659611, 37.786529000324911 ], [ -122.408181999884746, 37.787429001134122 ], [ -122.408382000284988, 37.788329000583346 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 12, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.404182000212586, 37.784529000637328 ], [ -122.404681999865403, 37.784929000645171 ], [ -122.405182000350877, 37.785329000329142 ], [ -122.405682000331197, 37.78582900100502 ], [ -122.4043820003224, 37.786829000237915 ], [ -122.403482000268767, 37.787529000524259 ], [ -122.402982000227425, 37.787829000924972 ], [ -122.402772999509011, 37.788106000415766 ], [ -122.402681999852774, 37.78822800102752 ], [ -122.401981999689369, 37.788728000395103 ], [ -122.401893999910058, 37.788817000616859 ], [ -122.401682000321344, 37.789028000675899 ], [ -122.401411000496722, 37.789231000711432 ], [ -122.40128199977795, 37.789328000379243 ], [ -122.40068200026441, 37.788828000884386 ], [ -122.400281999478352, 37.788428001078159 ], [ -122.399681999939446, 37.788028000424163 ], [ -122.399181999879787, 37.787628001054578 ], [ -122.398682000503285, 37.787229000913506 ], [ -122.398281000325042, 37.786829000888375 ], [ -122.398981999955566, 37.786229001052455 ], [ -122.399281999871818, 37.785929000296782 ], [ -122.400382000382379, 37.785029000929853 ], [ -122.402581999453474, 37.783229000435618 ], [ -122.403081999700888, 37.783729000499598 ], [ -122.403681999701888, 37.78402900075772 ], [ -122.404182000212586, 37.784529000637328 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 13, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.399882000072751, 37.790428000776757 ], [ -122.399082000069313, 37.791028000759731 ], [ -122.398481999824227, 37.790628000424945 ], [ -122.397982000292203, 37.790228000608799 ], [ -122.397381999920228, 37.789828000968704 ], [ -122.396980999739057, 37.789428000274675 ], [ -122.3967730000968, 37.789261000778261 ], [ -122.396481000433113, 37.789028000372895 ], [ -122.395980999681413, 37.788628001037146 ], [ -122.397282000245852, 37.787630000383182 ], [ -122.397968999606022, 37.787088001097047 ], [ -122.398281000325042, 37.786829000888375 ], [ -122.398682000503285, 37.787229000913506 ], [ -122.399181999879787, 37.787628001054578 ], [ -122.399681999939446, 37.788028000424163 ], [ -122.400281999478352, 37.788428001078159 ], [ -122.40068200026441, 37.788828000884386 ], [ -122.40128199977795, 37.789328000379243 ], [ -122.400281999753631, 37.790128000509725 ], [ -122.399882000072751, 37.790428000776757 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 15, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.393180999738462, 37.79322800096643 ], [ -122.392580999427494, 37.793628000597437 ], [ -122.392180999659473, 37.793928000505268 ], [ -122.391580999525218, 37.794528000787828 ], [ -122.390489000485474, 37.792974000615366 ], [ -122.39048099970806, 37.792928000577824 ], [ -122.390781000004154, 37.792628000390451 ], [ -122.391181000043588, 37.792428000904195 ], [ -122.391681000283498, 37.792028000368674 ], [ -122.392481000260858, 37.791328000248853 ], [ -122.393381000301289, 37.790628000242499 ], [ -122.394881000511134, 37.79182800110943 ], [ -122.396481999819557, 37.793128000248785 ], [ -122.396082000300211, 37.793428000874229 ], [ -122.395582000521387, 37.793828001119067 ], [ -122.3947820004134, 37.794428001055671 ], [ -122.393180999738462, 37.79322800096643 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 18, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.40088100022443, 37.774729000365291 ], [ -122.40138099960491, 37.775129000334317 ], [ -122.402480999928585, 37.776029000461001 ], [ -122.402781000423033, 37.77622900107103 ], [ -122.403380999733471, 37.776729000551192 ], [ -122.403681000476922, 37.777029000326706 ], [ -122.404082000182242, 37.777229000363455 ], [ -122.403381000165012, 37.777729000691693 ], [ -122.402780999889345, 37.778229000388691 ], [ -122.402280999908712, 37.778629000817133 ], [ -122.401880999829245, 37.779029001095104 ], [ -122.39978099954088, 37.78062900109343 ], [ -122.399580999794736, 37.780829000661583 ], [ -122.397880999606613, 37.782129000454468 ], [ -122.397181000349264, 37.782629000741785 ], [ -122.396880999733597, 37.782229000494937 ], [ -122.396704999836587, 37.782097001105193 ], [ -122.396481000055104, 37.781929000599618 ], [ -122.396180999469138, 37.781729000342132 ], [ -122.395681000155577, 37.781329000325137 ], [ -122.395380999954355, 37.781029000279112 ], [ -122.394981000025183, 37.780629001123671 ], [ -122.394481000489549, 37.780329000955419 ], [ -122.394081000434667, 37.780129000556812 ], [ -122.392581000200749, 37.77882900104516 ], [ -122.393181000135954, 37.778429000904126 ], [ -122.39348099994686, 37.778229000569787 ], [ -122.393880999782624, 37.778029001051593 ], [ -122.394822999808994, 37.777258000287482 ], [ -122.394981000498987, 37.777129000265901 ], [ -122.397180999964419, 37.775329000538676 ], [ -122.39798100027356, 37.775929000969704 ], [ -122.398681000207873, 37.776529000326946 ], [ -122.400381000251599, 37.775129001123624 ], [ -122.40088100022443, 37.774729000365291 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 20, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.407581999840133, 37.779329000452591 ], [ -122.407081999967076, 37.779729000514479 ], [ -122.406582000403162, 37.779329000502763 ], [ -122.406081999392924, 37.778929001057072 ], [ -122.405582000357271, 37.778529000392034 ], [ -122.404982000166456, 37.778029000450701 ], [ -122.404582000217516, 37.777729000771672 ], [ -122.404082000182242, 37.777229000363455 ], [ -122.404481999665691, 37.776929001092874 ], [ -122.404781999403554, 37.77672900064934 ], [ -122.405481999396272, 37.776229000311432 ], [ -122.406281999426838, 37.775529000929822 ], [ -122.406553999476841, 37.775325000797991 ], [ -122.406682000120185, 37.775229000358571 ], [ -122.406903000427661, 37.775096000355269 ], [ -122.407181999644919, 37.774929000403226 ], [ -122.407782000202033, 37.774429000359945 ], [ -122.40798200019124, 37.774229000943691 ], [ -122.408481999415869, 37.773729000418058 ], [ -122.40887199955209, 37.773417000564812 ], [ -122.409482000364449, 37.7729290004417 ], [ -122.410082000102534, 37.772529000789035 ], [ -122.410682000197468, 37.772029000964821 ], [ -122.411281999796245, 37.771629000501832 ], [ -122.41185200015228, 37.771154000361314 ], [ -122.41248199967653, 37.770629000573578 ], [ -122.413981999928694, 37.771829000815579 ], [ -122.414582000077417, 37.772329000548019 ], [ -122.414982000455609, 37.772629000840595 ], [ -122.41548199969148, 37.773029000806503 ], [ -122.414281999703405, 37.774029000244425 ], [ -122.414481999746528, 37.774129000711454 ], [ -122.414082000087404, 37.774429000910288 ], [ -122.413981999626216, 37.774529000903158 ], [ -122.413681999463677, 37.77452900023269 ], [ -122.413182000165421, 37.775029000324189 ], [ -122.41288200035433, 37.775229000680696 ], [ -122.41158199947624, 37.776229000973196 ], [ -122.41088200047102, 37.776629001045407 ], [ -122.410382000353067, 37.777029000992471 ], [ -122.409781999398234, 37.777529000523749 ], [ -122.409281999735967, 37.777929001111971 ], [ -122.408782000354989, 37.778329000435924 ], [ -122.408181999609937, 37.778829000652287 ], [ -122.407581999840133, 37.779329000452591 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 23, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.400782000291301, 37.797728001099991 ], [ -122.401982000113293, 37.797528000755513 ], [ -122.402082000319865, 37.798228000490525 ], [ -122.402082000394728, 37.798528001069009 ], [ -122.402382000138161, 37.79942800081156 ], [ -122.40248200008314, 37.800428000490946 ], [ -122.402493000490196, 37.800479000935084 ], [ -122.40268199940418, 37.80132800031673 ], [ -122.402782000482759, 37.801928000721297 ], [ -122.402869000049833, 37.802312000603244 ], [ -122.403072000087079, 37.803279000831544 ], [ -122.403648999705851, 37.803210000552546 ], [ -122.404714000424775, 37.803073001031713 ], [ -122.404881999514075, 37.803928000469789 ], [ -122.405082000286114, 37.804928000431701 ], [ -122.403381999890769, 37.805028000661295 ], [ -122.402982000096586, 37.805128000393871 ], [ -122.402281999458779, 37.805128001008676 ], [ -122.401281999914588, 37.804428000289015 ], [ -122.399382000059632, 37.805628000385234 ], [ -122.398982000500908, 37.805328000684668 ], [ -122.401081999808525, 37.80382800068049 ], [ -122.400681999548667, 37.803528000358824 ], [ -122.398582000436249, 37.804728000318669 ], [ -122.39818200026717, 37.804328000510594 ], [ -122.400382000377547, 37.803128001075542 ], [ -122.399982000117504, 37.802728000958865 ], [ -122.397781999844, 37.803928001133279 ], [ -122.397482000007514, 37.803528000844658 ], [ -122.399681999965281, 37.802328000759125 ], [ -122.399381999615329, 37.801928000679716 ], [ -122.397181999973327, 37.803128000676402 ], [ -122.396082000217376, 37.801928000585811 ], [ -122.398181999740316, 37.800628001100598 ], [ -122.397882000258278, 37.80042800102845 ], [ -122.395782000477425, 37.801528000399038 ], [ -122.395382000270786, 37.801028000775844 ], [ -122.397409000112802, 37.799910000947797 ], [ -122.397074000426016, 37.799527001120865 ], [ -122.397582000186247, 37.799028001080181 ], [ -122.398581999874082, 37.798928000649738 ], [ -122.39978199997671, 37.798728000311854 ], [ -122.399581999740235, 37.797928000904818 ], [ -122.399482000132778, 37.797028000495899 ], [ -122.400582000225668, 37.796828000314406 ], [ -122.400782000291301, 37.797728001099991 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 215, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.430082999695642, 37.659433000756138 ], [ -122.43028300007856, 37.658933000881767 ], [ -122.430383000224325, 37.65853300084482 ], [ -122.430582999510662, 37.658033000366053 ], [ -122.430683000254902, 37.657433000932535 ], [ -122.42718299956617, 37.656633000896228 ], [ -122.423783000114952, 37.656033000774926 ], [ -122.423983000400469, 37.655533000591177 ], [ -122.424182999580239, 37.655333000909522 ], [ -122.424183000441204, 37.655034000493771 ], [ -122.425582999664499, 37.653434000918885 ], [ -122.425783000199999, 37.65323400113099 ], [ -122.425883000064445, 37.65313400110405 ], [ -122.426483000225673, 37.65233400080453 ], [ -122.426682999905893, 37.652134000332843 ], [ -122.42698300039423, 37.651634001089441 ], [ -122.428561000352744, 37.652598000371512 ], [ -122.428782999896782, 37.652734000433966 ], [ -122.428974999521628, 37.65283800089491 ], [ -122.430341999885627, 37.653580000484766 ], [ -122.431948000240695, 37.654452000578296 ], [ -122.432237999731626, 37.654611000879051 ], [ -122.433189999583874, 37.655133000255468 ], [ -122.433536000418826, 37.655305000452991 ], [ -122.435582000109548, 37.656581000261248 ], [ -122.436783000284791, 37.657734000469432 ], [ -122.436083000463043, 37.657834000958118 ], [ -122.434783000075981, 37.657334000835661 ], [ -122.43598299993694, 37.658533000984711 ], [ -122.437282999996654, 37.659933000353426 ], [ -122.438482999955951, 37.66093300059903 ], [ -122.437683000399929, 37.6617330009257 ], [ -122.437483000146884, 37.661833000863105 ], [ -122.43698299956813, 37.662333000854254 ], [ -122.435483000478655, 37.663833000356675 ], [ -122.434282999952302, 37.665333000750763 ], [ -122.433583000370533, 37.666233000243864 ], [ -122.433382999671196, 37.667133000869562 ], [ -122.433382999733126, 37.667933000426579 ], [ -122.433383000156653, 37.669233000717888 ], [ -122.433082999885983, 37.669933000731703 ], [ -122.429882999418382, 37.667633000879746 ], [ -122.429183000436055, 37.667333000322294 ], [ -122.428746000246505, 37.667187000879238 ], [ -122.428343000523171, 37.667053000873032 ], [ -122.427683000177211, 37.666833000717382 ], [ -122.427783000352974, 37.666533000619026 ], [ -122.428182999649508, 37.665333000995368 ], [ -122.42838299974369, 37.664533000852927 ], [ -122.428883000290014, 37.66323300086728 ], [ -122.428932999685372, 37.663063000594988 ], [ -122.429426000398848, 37.661372001112312 ], [ -122.429583000048908, 37.660833000437997 ], [ -122.429682999827619, 37.660433000240218 ], [ -122.429882999396725, 37.660033001085615 ], [ -122.430082999695642, 37.659433000756138 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 8, "TAZ1454": 347, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.187276000512753, 37.416439000618965 ], [ -122.188176000461382, 37.416739000336037 ], [ -122.188439000489751, 37.416801000460836 ], [ -122.18923200023653, 37.417000000678129 ], [ -122.18977600034107, 37.417239000392662 ], [ -122.189775999965505, 37.417339000375215 ], [ -122.190025999539742, 37.417618000246541 ], [ -122.190250999987867, 37.418045000365467 ], [ -122.190299999891067, 37.418137000235461 ], [ -122.190269999529761, 37.418442000891119 ], [ -122.1897359994271, 37.418602001045137 ], [ -122.189275999529656, 37.418639000794201 ], [ -122.188575999610393, 37.418839000384096 ], [ -122.188025999749996, 37.419389000256778 ], [ -122.187876000429199, 37.419539000913879 ], [ -122.188107999670223, 37.42085300070795 ], [ -122.188176000034247, 37.421239000626471 ], [ -122.188271999528155, 37.4219160004385 ], [ -122.188275999444684, 37.421939000732827 ], [ -122.189275999698026, 37.422839000329532 ], [ -122.189780999722259, 37.423111000611463 ], [ -122.190075999913518, 37.423339000826218 ], [ -122.190253999875424, 37.423454000978737 ], [ -122.190776000358994, 37.423939000806875 ], [ -122.190976000249705, 37.424139000389104 ], [ -122.189876000105954, 37.424239001094655 ], [ -122.186375999467955, 37.422339000569089 ], [ -122.185376000367057, 37.422039001104082 ], [ -122.182754000485389, 37.421942000255385 ], [ -122.182676000112423, 37.421939000277774 ], [ -122.176874999471352, 37.420039001095873 ], [ -122.17592399966739, 37.419231001054655 ], [ -122.175338000223604, 37.418253001081418 ], [ -122.174622999520309, 37.417336000738366 ], [ -122.174149999495114, 37.416947000472149 ], [ -122.173796999990472, 37.416752000953934 ], [ -122.172861000462149, 37.416326000330734 ], [ -122.172271000464804, 37.416126000967154 ], [ -122.168874999982251, 37.413239000293089 ], [ -122.165374999503669, 37.412439000568 ], [ -122.161174999696399, 37.410139000779374 ], [ -122.156374999557627, 37.406439000680578 ], [ -122.156074999658955, 37.406339000386879 ], [ -122.156375000341953, 37.40573900104571 ], [ -122.157074999989391, 37.404839000674393 ], [ -122.157975000304532, 37.403939000863261 ], [ -122.158875000256003, 37.403339000303383 ], [ -122.159175000186124, 37.401839000311426 ], [ -122.1605749996924, 37.39863900038047 ], [ -122.161774999542331, 37.397240001101942 ], [ -122.161974999700419, 37.396340000601526 ], [ -122.162374999897651, 37.395640000899625 ], [ -122.162674999433733, 37.395240000593262 ], [ -122.16257500011892, 37.39444000034586 ], [ -122.162674999828809, 37.393640000346402 ], [ -122.162775000506031, 37.393040000572547 ], [ -122.163175000387355, 37.391840001023063 ], [ -122.163273000358103, 37.391569000980134 ], [ -122.163394000052747, 37.391089000782301 ], [ -122.163575000229969, 37.390540000462863 ], [ -122.163574999979772, 37.390040000966067 ], [ -122.16357500019177, 37.389640000800867 ], [ -122.164174999642967, 37.388240000350983 ], [ -122.163975000082132, 37.387940000732236 ], [ -122.159974999851997, 37.388140000861483 ], [ -122.157663999714188, 37.388135001054309 ], [ -122.154174999923512, 37.386940000712627 ], [ -122.151874999840231, 37.380240001028326 ], [ -122.15077499951154, 37.37834000044262 ], [ -122.147087999769084, 37.37494000031456 ], [ -122.143074000246997, 37.371240000763422 ], [ -122.142874000228005, 37.371140000393446 ], [ -122.14109899941252, 37.369876000644673 ], [ -122.139844999829506, 37.368983001114593 ], [ -122.137747000277358, 37.367488000511564 ], [ -122.136959999872474, 37.366927000967429 ], [ -122.13557400047624, 37.365940000534977 ], [ -122.132473999992158, 37.365640001037228 ], [ -122.129010999525448, 37.365207000349109 ], [ -122.126073999894714, 37.364840000787581 ], [ -122.125274000028625, 37.364740001119713 ], [ -122.122173999966577, 37.363740000479659 ], [ -122.121873999464768, 37.363540000836011 ], [ -122.121273999827324, 37.362840000729868 ], [ -122.119974000115405, 37.36164100042614 ], [ -122.119473999427541, 37.361241000933767 ], [ -122.118974000221243, 37.360641000264472 ], [ -122.116773999642362, 37.358541000442109 ], [ -122.113573999703462, 37.355641000301333 ], [ -122.109373000503368, 37.354141000533382 ], [ -122.108072999459097, 37.353341000731611 ], [ -122.107572999656099, 37.353041001077735 ], [ -122.107173000191935, 37.352741000630203 ], [ -122.106773000506649, 37.352441000633284 ], [ -122.105372999526011, 37.351341000561703 ], [ -122.104352999571489, 37.350429000296614 ], [ -122.100672999542127, 37.347141000759194 ], [ -122.096815000306876, 37.344971000525682 ], [ -122.094273000135075, 37.343541000643548 ], [ -122.091673000455827, 37.341341000398927 ], [ -122.090125000473805, 37.340445001059479 ], [ -122.089939999593511, 37.340338000731464 ], [ -122.089772999802022, 37.340241000409677 ], [ -122.088136000185315, 37.339422001128675 ], [ -122.082772000065447, 37.336741000847212 ], [ -122.077533000244117, 37.333608001053307 ], [ -122.076680999618716, 37.333378001089095 ], [ -122.076091000134099, 37.333400000460678 ], [ -122.075272000070839, 37.333441000647156 ], [ -122.074972000454551, 37.333441000698684 ], [ -122.072172000347351, 37.333841000582389 ], [ -122.06847200033765, 37.333741000627356 ], [ -122.06847200031055, 37.333541000497668 ], [ -122.06857200011477, 37.333441000434441 ], [ -122.069272000020092, 37.333441000358533 ], [ -122.070572000096547, 37.333441000817331 ], [ -122.071771999756464, 37.33184100023805 ], [ -122.071915999621552, 37.331336000524594 ], [ -122.071971999442255, 37.331141000431231 ], [ -122.071672000300765, 37.328741000286264 ], [ -122.072350000048644, 37.327131001099538 ], [ -122.073267999419727, 37.325843000677438 ], [ -122.073447999422854, 37.325590001067113 ], [ -122.074671999627412, 37.324442000596513 ], [ -122.076636000280061, 37.323226000485015 ], [ -122.076772000320744, 37.323142001094169 ], [ -122.078871999728662, 37.323042000896677 ], [ -122.079471999448202, 37.322342000471373 ], [ -122.081371999867017, 37.320542000954774 ], [ -122.08617199966217, 37.315242001091484 ], [ -122.087063999690955, 37.314147001066317 ], [ -122.0873999997428, 37.313734000792735 ], [ -122.08792699989904, 37.313088000800441 ], [ -122.093672999843704, 37.306042000329597 ], [ -122.096272999449241, 37.300842001016619 ], [ -122.090973000057673, 37.300542001113278 ], [ -122.088136999651084, 37.299208000615955 ], [ -122.087571999852202, 37.298942000755389 ], [ -122.087454000428025, 37.298694001072221 ], [ -122.087154999466847, 37.298066000566749 ], [ -122.086571999969109, 37.296842000629766 ], [ -122.086131999919559, 37.296640001128267 ], [ -122.084172000268126, 37.295742000801717 ], [ -122.08417200004908, 37.295442000620923 ], [ -122.081572000392114, 37.295342000280677 ], [ -122.080571999670354, 37.294442000619057 ], [ -122.080971999930853, 37.291842000533478 ], [ -122.079872000459645, 37.28824200078013 ], [ -122.077871999924653, 37.287942000887973 ], [ -122.078171999599689, 37.286742000560523 ], [ -122.078571999448073, 37.285942000858178 ], [ -122.077672000043933, 37.285042001116871 ], [ -122.077371999968634, 37.284342000415904 ], [ -122.075371999746253, 37.283742000528747 ], [ -122.075972000434149, 37.282942000406869 ], [ -122.075272000054085, 37.282542001117356 ], [ -122.07437199998148, 37.280942000509668 ], [ -122.072972000200991, 37.281042000764607 ], [ -122.072672000346145, 37.280343000264864 ], [ -122.072771999483507, 37.279543000614545 ], [ -122.071071999865126, 37.278943000416355 ], [ -122.071771999475544, 37.278743000493726 ], [ -122.071771999458051, 37.277343000819897 ], [ -122.070971999397131, 37.277343000919757 ], [ -122.071371999888527, 37.278243000705601 ], [ -122.070471999752073, 37.27764300091895 ], [ -122.070189000388567, 37.276299000609662 ], [ -122.070072000206935, 37.275743000472772 ], [ -122.06941600031648, 37.275393000257004 ], [ -122.06857199959957, 37.274943000327589 ], [ -122.067839000470926, 37.275119000412964 ], [ -122.067846999774531, 37.274070000566184 ], [ -122.067896999412227, 37.267557000322597 ], [ -122.067914000378522, 37.265404000469537 ], [ -122.079117999911091, 37.265446000564921 ], [ -122.079572000275164, 37.265143001079338 ], [ -122.081971999966868, 37.263543000597707 ], [ -122.08237200020578, 37.263143001126188 ], [ -122.083472000138698, 37.261943000743422 ], [ -122.083771999578843, 37.258643000597345 ], [ -122.082471999627131, 37.258343000904716 ], [ -122.081971999660951, 37.258343000766494 ], [ -122.080372000457089, 37.258843000761431 ], [ -122.077571999594326, 37.260343000554833 ], [ -122.075272000121899, 37.261043001114977 ], [ -122.075220000380725, 37.261003000386083 ], [ -122.072372000111656, 37.258843000348335 ], [ -122.070671999872957, 37.258643000335198 ], [ -122.069271000256109, 37.258343000521492 ], [ -122.066670999484273, 37.255643000528586 ], [ -122.064271000485235, 37.251943000633062 ], [ -122.061770999599631, 37.252043000331128 ], [ -122.059271000153416, 37.252043000393222 ], [ -122.058271000080836, 37.252443000680188 ], [ -122.056236000074904, 37.25200300080472 ], [ -122.054570999937326, 37.251643001020184 ], [ -122.054145000059734, 37.251265000294154 ], [ -122.053671000361902, 37.250843000633253 ], [ -122.052970999576289, 37.250943000234948 ], [ -122.051771000202692, 37.252043001039929 ], [ -122.0491710003636, 37.251843001074235 ], [ -122.053570999558048, 37.250543000933746 ], [ -122.05507100049995, 37.245543000560716 ], [ -122.053370999830378, 37.244543001044676 ], [ -122.05127099966063, 37.241843000293002 ], [ -122.048471000388204, 37.23944300089849 ], [ -122.048770999405093, 37.236744000536007 ], [ -122.046871000357399, 37.232344001076093 ], [ -122.045570999990545, 37.23134400062073 ], [ -122.044571000460721, 37.231744000403843 ], [ -122.042971000380831, 37.232844000249969 ], [ -122.041070999851257, 37.232944001043869 ], [ -122.040271000280143, 37.231644000680454 ], [ -122.039271000230301, 37.231644000796884 ], [ -122.038070000191468, 37.230944001073553 ], [ -122.03937099987769, 37.230144000805915 ], [ -122.0390709999335, 37.229244000591372 ], [ -122.040070999718623, 37.226244000259364 ], [ -122.036870999579492, 37.223844001090455 ], [ -122.035770999687557, 37.221344000864867 ], [ -122.034863000130642, 37.22025400062013 ], [ -122.034695999485038, 37.220054000918715 ], [ -122.034270999836025, 37.2195440004798 ], [ -122.033570000198807, 37.219144000279805 ], [ -122.032869999559097, 37.218644001072555 ], [ -122.031318000406799, 37.217965000439428 ], [ -122.031269999527424, 37.217944000600689 ], [ -122.030469999455661, 37.217144000265584 ], [ -122.030360000193241, 37.217163000309434 ], [ -122.029094999647882, 37.217387000766401 ], [ -122.028862999631485, 37.217428000508512 ], [ -122.028907000342016, 37.217153000310461 ], [ -122.028935000505584, 37.216978000821612 ], [ -122.029086999566161, 37.216029000413897 ], [ -122.029352000251137, 37.214371000879119 ], [ -122.029959000017001, 37.210580001024077 ], [ -122.03017099994571, 37.207844001084034 ], [ -122.028688000443466, 37.207196000418463 ], [ -122.031347999717397, 37.204553000359873 ], [ -122.032070999710129, 37.203844000597762 ], [ -122.032520999648696, 37.203651000948966 ], [ -122.034870999832947, 37.202644000488675 ], [ -122.035739000039044, 37.202452000349105 ], [ -122.042206999963327, 37.201022001088177 ], [ -122.044370999975413, 37.200544000985595 ], [ -122.044271000330994, 37.201044000906762 ], [ -122.044357999563573, 37.201091000300117 ], [ -122.045573000387733, 37.201749000707807 ], [ -122.046810000144134, 37.203610000823424 ], [ -122.04682100015215, 37.203706000474817 ], [ -122.047862999578882, 37.204812000577732 ], [ -122.048362999837622, 37.205343000256043 ], [ -122.048370999481733, 37.205344001056886 ], [ -122.04889700031336, 37.205704000543143 ], [ -122.052532999432799, 37.208196000529291 ], [ -122.052585999912708, 37.208232000951703 ], [ -122.053771000417456, 37.20904400070328 ], [ -122.05381600009693, 37.209137001084812 ], [ -122.054260000235047, 37.210059000477301 ], [ -122.055070999561224, 37.211744000529642 ], [ -122.055323000412372, 37.212465000711319 ], [ -122.056758999560472, 37.212258000943152 ], [ -122.056856999419566, 37.212244000553085 ], [ -122.058952000470285, 37.212831000965302 ], [ -122.06027200029007, 37.212444000748746 ], [ -122.062754999518432, 37.210425001124037 ], [ -122.063472000457651, 37.209844000536314 ], [ -122.065570000353532, 37.210310000423064 ], [ -122.065964000364573, 37.210398000804275 ], [ -122.066171999539449, 37.210444000399058 ], [ -122.066981000349841, 37.211971000256568 ], [ -122.068047000108521, 37.213983000465376 ], [ -122.071372000036732, 37.216844000955057 ], [ -122.073835999454545, 37.21851200039761 ], [ -122.074072999666456, 37.21906100059288 ], [ -122.07498700043007, 37.219682000760024 ], [ -122.075932000013168, 37.219931001037594 ], [ -122.076384999622775, 37.220237000933992 ], [ -122.077609999495039, 37.221066001101406 ], [ -122.077798999612313, 37.221661000345804 ], [ -122.078059999757087, 37.222174000788421 ], [ -122.078411000323115, 37.222821000318334 ], [ -122.078812999890928, 37.223220001098923 ], [ -122.079225000259257, 37.223300000583087 ], [ -122.080520000452722, 37.223126000563838 ], [ -122.081394000188325, 37.222969000817116 ], [ -122.082186999558218, 37.222750001096166 ], [ -122.083964000253033, 37.222360000353042 ], [ -122.084171999522283, 37.222344000564277 ], [ -122.086960000336632, 37.222705000585606 ], [ -122.089573000116189, 37.223044000638808 ], [ -122.091574999933854, 37.224594000853088 ], [ -122.092673000026892, 37.225444000528213 ], [ -122.092678000123783, 37.225476000798807 ], [ -122.093373000386066, 37.229244000543225 ], [ -122.093395000189204, 37.229258000603764 ], [ -122.096872999957554, 37.231544000999854 ], [ -122.098873000032398, 37.232744001006054 ], [ -122.09951999940337, 37.232934000624887 ], [ -122.103951999835445, 37.234254001094051 ], [ -122.103975000156865, 37.234255000791492 ], [ -122.104358999767797, 37.235956000626551 ], [ -122.104673000288969, 37.237343000413162 ], [ -122.104993000330154, 37.238552000892994 ], [ -122.105158000163712, 37.239177000677749 ], [ -122.105552000453955, 37.240665001018762 ], [ -122.105573000351967, 37.240743000725388 ], [ -122.108373000035613, 37.243643000724063 ], [ -122.108486999460737, 37.243777000496173 ], [ -122.115072999983383, 37.251543000266558 ], [ -122.117673000278231, 37.2548430002605 ], [ -122.117906999663887, 37.255054000852965 ], [ -122.120672999955119, 37.25754300060759 ], [ -122.120698000487536, 37.257634000730334 ], [ -122.12097299954263, 37.258643000414168 ], [ -122.123573999998698, 37.259743000699089 ], [ -122.126074000086476, 37.259445000477889 ], [ -122.127774000107237, 37.259243000828107 ], [ -122.12778100012271, 37.259246000797901 ], [ -122.132049000128163, 37.26142600025026 ], [ -122.132473999544928, 37.261643000844948 ], [ -122.133419000436092, 37.26262500072086 ], [ -122.134692999471667, 37.263948000633732 ], [ -122.135073999916159, 37.264343001051721 ], [ -122.135099999672349, 37.264386000908004 ], [ -122.13597400016053, 37.265843000812445 ], [ -122.136523999800147, 37.266260000232535 ], [ -122.137587000159115, 37.26706500048072 ], [ -122.138225999585245, 37.267549000441981 ], [ -122.13894099996611, 37.268091000702384 ], [ -122.139273999719492, 37.268343000376397 ], [ -122.139302999727974, 37.268355000305711 ], [ -122.139450999648432, 37.268418000696492 ], [ -122.139928999521203, 37.268621000962852 ], [ -122.144673999997678, 37.270643000397854 ], [ -122.144740000268129, 37.270731000735182 ], [ -122.146272999749741, 37.272776001099693 ], [ -122.147674000187834, 37.274642000566885 ], [ -122.147753999423131, 37.274733000620046 ], [ -122.148075999500605, 37.275123000422461 ], [ -122.148246999565458, 37.275282000303754 ], [ -122.148437999456618, 37.2754070006619 ], [ -122.14880999959982, 37.275540000487098 ], [ -122.149241999462603, 37.275559000927664 ], [ -122.149745000402646, 37.275539000765903 ], [ -122.150674999671949, 37.275942000603692 ], [ -122.149674999580526, 37.277442000885287 ], [ -122.148774999738379, 37.280042000430853 ], [ -122.148975000022702, 37.281542000714019 ], [ -122.149728000061245, 37.282571000898081 ], [ -122.149761999742154, 37.282876000308079 ], [ -122.149963999417366, 37.283209000524423 ], [ -122.150094000380747, 37.283463000871002 ], [ -122.15022500022873, 37.283802000509766 ], [ -122.150485999793332, 37.284204000736125 ], [ -122.150778000388541, 37.284599001002263 ], [ -122.151058999752067, 37.284927001002039 ], [ -122.151250000413228, 37.285102000444205 ], [ -122.151481999778326, 37.285290001052651 ], [ -122.15157100031044, 37.285346000471847 ], [ -122.151923000050772, 37.285569000728991 ], [ -122.15248699992992, 37.286340000670521 ], [ -122.152487999392562, 37.28661600096995 ], [ -122.152487999950054, 37.287196000984025 ], [ -122.152549000477279, 37.287807000557741 ], [ -122.152701999927316, 37.288425000731394 ], [ -122.152875000215161, 37.288942000807523 ], [ -122.153143999567135, 37.289363000904096 ], [ -122.153387999868343, 37.289699000615926 ], [ -122.15398300041953, 37.290172000357707 ], [ -122.15674499973872, 37.291911000374277 ], [ -122.158068000404825, 37.292835000979643 ], [ -122.158226000004674, 37.29289100037343 ], [ -122.158428999976366, 37.293077000867044 ], [ -122.158790999606509, 37.293245000501635 ], [ -122.159082000507226, 37.293334000402638 ], [ -122.159273000168014, 37.293421000307475 ], [ -122.159644999472064, 37.293597000446262 ], [ -122.160298999792218, 37.293526000952838 ], [ -122.160941999398005, 37.293394000602596 ], [ -122.160727999849129, 37.293376000779787 ], [ -122.160147999542701, 37.293391000936566 ], [ -122.160575000106249, 37.293242000266225 ], [ -122.160635999806189, 37.293193000733631 ], [ -122.161193000474739, 37.293036000626763 ], [ -122.161460000268448, 37.293277000579586 ], [ -122.16170600005573, 37.293421000533463 ], [ -122.161841999764093, 37.293536000860513 ], [ -122.161963999753894, 37.293567000363232 ], [ -122.162310000177712, 37.293694000550268 ], [ -122.162510999790229, 37.293829001006401 ], [ -122.162652000023655, 37.293941000868919 ], [ -122.162853000456366, 37.294040000841882 ], [ -122.163114000119748, 37.294198000432218 ], [ -122.163365000165214, 37.294372001130832 ], [ -122.163372000151682, 37.294200000271218 ], [ -122.163291000026788, 37.294139000557784 ], [ -122.163067000337094, 37.294020000384883 ], [ -122.163180000170826, 37.29384500025342 ], [ -122.163428999556302, 37.293941000839581 ], [ -122.163657000010957, 37.294032000428238 ], [ -122.163874999962275, 37.294142001066952 ], [ -122.165641000354853, 37.294864001087191 ], [ -122.165736999472202, 37.294872000574273 ], [ -122.166089999730843, 37.295028001082073 ], [ -122.166291000402524, 37.295084000676148 ], [ -122.166542000348258, 37.295171000510408 ], [ -122.166838000052977, 37.295237000954657 ], [ -122.166703000160652, 37.295282000675478 ], [ -122.166532000397382, 37.29536000105405 ], [ -122.166290999584845, 37.295526000317516 ], [ -122.166080000312718, 37.295651000640717 ], [ -122.165747999831169, 37.295856000797684 ], [ -122.16542700000501, 37.296161000995625 ], [ -122.16537500028474, 37.296342000287886 ], [ -122.165260000411706, 37.296489000739697 ], [ -122.165305000201457, 37.297267000292571 ], [ -122.165274999436846, 37.297642001002188 ], [ -122.165137999647214, 37.297992000924111 ], [ -122.16483200001413, 37.298267000238333 ], [ -122.164297999910673, 37.298595000359164 ], [ -122.164038999701688, 37.298839000465755 ], [ -122.16390199964907, 37.299220000619883 ], [ -122.163779000079174, 37.299487000293546 ], [ -122.163352000304144, 37.300128000611487 ], [ -122.162954999922178, 37.300510000507586 ], [ -122.162726999579718, 37.300731000243076 ], [ -122.162775000341881, 37.300803000653275 ], [ -122.162671999515482, 37.300904000699163 ], [ -122.162879000066155, 37.300960000780556 ], [ -122.163352000013646, 37.301082000351762 ], [ -122.163627000474534, 37.30125700025075 ], [ -122.163626999462508, 37.301479000777654 ], [ -122.163535000227867, 37.301662000439997 ], [ -122.163168999643489, 37.301967000460643 ], [ -122.163075000062932, 37.302042000433815 ], [ -122.16280299961528, 37.302364000466021 ], [ -122.162665999695605, 37.302737001037173 ], [ -122.162665999823275, 37.303043000263933 ], [ -122.162604999997129, 37.303294000659413 ], [ -122.16237500029662, 37.303642000291369 ], [ -122.162177000302265, 37.304050000402071 ], [ -122.162070000426851, 37.304233000776073 ], [ -122.162269000438911, 37.304408001041644 ], [ -122.162330000472622, 37.304413000989676 ], [ -122.162675000370825, 37.304442000537826 ], [ -122.162874999628869, 37.304542001094269 ], [ -122.163505000386863, 37.304675000434358 ], [ -122.163886000293843, 37.304851000393256 ], [ -122.164314000001781, 37.305217001078027 ], [ -122.164694999911092, 37.305484000828969 ], [ -122.164970000394248, 37.305530000610283 ], [ -122.165595000398483, 37.305507001109135 ], [ -122.166174999548176, 37.305423000952288 ], [ -122.166587000134982, 37.305614000363242 ], [ -122.16702999967309, 37.306201000346356 ], [ -122.167289000433044, 37.306720000814749 ], [ -122.167548000492459, 37.307101000838578 ], [ -122.167868999567531, 37.30742900031327 ], [ -122.168234999749274, 37.307803000291692 ], [ -122.168616999527984, 37.308513000962087 ], [ -122.168830000323055, 37.309047000769219 ], [ -122.168775000471584, 37.309542000411589 ], [ -122.168891000034094, 37.309978000379978 ], [ -122.169195999798589, 37.310283000732603 ], [ -122.169562999798771, 37.310519001058843 ], [ -122.170097000331552, 37.310893000486075 ], [ -122.170477999648071, 37.311229000430195 ], [ -122.17060000051471, 37.31148800081484 ], [ -122.170600000052943, 37.311732000815617 ], [ -122.170813999486228, 37.311977000289872 ], [ -122.171179999473949, 37.312114001028768 ], [ -122.171470000008853, 37.312175000420652 ], [ -122.17208000028873, 37.312244000894523 ], [ -122.173011000273533, 37.312434000263011 ], [ -122.173773999976461, 37.31264000043624 ], [ -122.174274999592782, 37.31274200103379 ], [ -122.17447599954923, 37.31277000108291 ], [ -122.175436999584704, 37.312800000972487 ], [ -122.175874999623275, 37.312741001012085 ], [ -122.176184999903299, 37.312777000657974 ], [ -122.176856999822192, 37.312678000626292 ], [ -122.176990000100901, 37.312626000865933 ], [ -122.177619999706792, 37.312381000529939 ], [ -122.178382999910795, 37.312007000395205 ], [ -122.178963000470674, 37.311755000762055 ], [ -122.179710999979633, 37.31131300023717 ], [ -122.180336000014847, 37.310657000323445 ], [ -122.180733000420219, 37.310138000883754 ], [ -122.181160000456032, 37.309795001133907 ], [ -122.181755000268922, 37.309566000626148 ], [ -122.182319999815746, 37.309528000384631 ], [ -122.183190000434138, 37.309795000788533 ], [ -122.18384599970652, 37.310039000610558 ], [ -122.184562999982532, 37.310527001024099 ], [ -122.185143000210061, 37.311092000756034 ], [ -122.185570000200656, 37.311670000688906 ], [ -122.1857989997185, 37.312204001109464 ], [ -122.185876000063743, 37.312541000962888 ], [ -122.185874999882842, 37.312822000977199 ], [ -122.185890000157158, 37.312998000399944 ], [ -122.186013000033583, 37.313196000710498 ], [ -122.186287000067992, 37.3134400006277 ], [ -122.186393999887358, 37.313677000989536 ], [ -122.186348000124951, 37.313837000709064 ], [ -122.186175999986645, 37.314041000530388 ], [ -122.186057999875999, 37.314341000666609 ], [ -122.186164999839022, 37.314631000897535 ], [ -122.186281999981873, 37.314864000410644 ], [ -122.186332999471219, 37.314966000476304 ], [ -122.186379000374885, 37.315272000396455 ], [ -122.186592000343168, 37.315546000474022 ], [ -122.186913000474931, 37.315683000291109 ], [ -122.187294000471127, 37.315775000298402 ], [ -122.1876449994773, 37.315920001025667 ], [ -122.18857599969067, 37.31654100105029 ], [ -122.18888099998955, 37.316797001036392 ], [ -122.189185999561886, 37.317270000662347 ], [ -122.189408999824749, 37.317447001008432 ], [ -122.189628999726736, 37.317621000455382 ], [ -122.18991999963616, 37.317701000338118 ], [ -122.190375000346293, 37.317828000616672 ], [ -122.190482999935156, 37.317858000721387 ], [ -122.190671999761932, 37.317867000308972 ], [ -122.191643000449702, 37.317911000475398 ], [ -122.192665000504292, 37.318010000665957 ], [ -122.193062000393809, 37.318277000471141 ], [ -122.192787000248828, 37.31865100075315 ], [ -122.192576000289264, 37.318741000654164 ], [ -122.192161999846036, 37.319094000763187 ], [ -122.19135300034128, 37.319483000896405 ], [ -122.190529000361934, 37.319933000298164 ], [ -122.18972000042011, 37.320437000328425 ], [ -122.188682999438939, 37.320955000953511 ], [ -122.188376000516442, 37.321041000820117 ], [ -122.188276000499911, 37.321141000550178 ], [ -122.187340000038574, 37.32153500103356 ], [ -122.186515999604723, 37.322031000533563 ], [ -122.186118999401629, 37.322489000936415 ], [ -122.185776000015309, 37.323141001032866 ], [ -122.185457999822361, 37.323737000608908 ], [ -122.185433000188709, 37.323786000899339 ], [ -122.185020999600027, 37.324434000997591 ], [ -122.184608999767377, 37.325075000430665 ], [ -122.184052000239689, 37.325869000934752 ], [ -122.183037999813934, 37.327314000554502 ], [ -122.181611999693388, 37.326449000950262 ], [ -122.182275999558186, 37.326541000351142 ], [ -122.182465999690478, 37.326480000834422 ], [ -122.181870000427793, 37.326350000510629 ], [ -122.181481999811012, 37.32612900095711 ], [ -122.181236999707863, 37.325969001117286 ], [ -122.181146999626719, 37.326022000697627 ], [ -122.180990999871113, 37.326068000331766 ], [ -122.180473000310187, 37.326220000559815 ], [ -122.179630999601358, 37.326528000290303 ], [ -122.179391000420864, 37.326207000940151 ], [ -122.179279999585006, 37.3261950008703 ], [ -122.179082999904097, 37.325916000969137 ], [ -122.178615999466132, 37.325256001098722 ], [ -122.178546000448264, 37.325158000568138 ], [ -122.175655999774975, 37.325636000469792 ], [ -122.175075000135521, 37.325741000432252 ], [ -122.17940099971436, 37.329967000814605 ], [ -122.180290000004518, 37.330835001004324 ], [ -122.180900999835401, 37.331446001077822 ], [ -122.181388999683804, 37.332079000265807 ], [ -122.182075999499233, 37.332422000825581 ], [ -122.182533999642786, 37.332796000688511 ], [ -122.182793000083848, 37.333246000482426 ], [ -122.183373000199978, 37.334162001013851 ], [ -122.183891999888857, 37.334971001065263 ], [ -122.183978000257767, 37.33509300036981 ], [ -122.184242999977371, 37.335467000726965 ], [ -122.184868000037753, 37.336146001064172 ], [ -122.185416999948529, 37.337000000762977 ], [ -122.185631000029801, 37.337336000289632 ], [ -122.185767999521133, 37.337671000775018 ], [ -122.185645999782437, 37.338099000888036 ], [ -122.18567599949931, 37.338541000749281 ], [ -122.186379000046458, 37.3391130003535 ], [ -122.18669900010832, 37.339358001038377 ], [ -122.187660000292723, 37.339953000847594 ], [ -122.18860699982524, 37.340571000676881 ], [ -122.189567999850411, 37.341303000892999 ], [ -122.190589999470248, 37.342386000903311 ], [ -122.191094000403808, 37.343149000248474 ], [ -122.191306999514424, 37.343371001111592 ], [ -122.19214699958286, 37.343981000421124 ], [ -122.192939999727599, 37.344500001059664 ], [ -122.193488999515168, 37.345041000294479 ], [ -122.193946999683533, 37.34562900064256 ], [ -122.194358999631376, 37.346239001049888 ], [ -122.194968999780812, 37.346956000372572 ], [ -122.195075999930467, 37.34714100112673 ], [ -122.19535100004218, 37.347506000970995 ], [ -122.195575999642656, 37.348041000350499 ], [ -122.195575999632752, 37.348341000258316 ], [ -122.195549000260257, 37.348955000317865 ], [ -122.195775999930504, 37.349741000882901 ], [ -122.195519000024319, 37.350062000932084 ], [ -122.195518999877592, 37.350725000590629 ], [ -122.195976000241842, 37.351240000586834 ], [ -122.196906999470869, 37.352517001010014 ], [ -122.197175999738548, 37.352740000523191 ], [ -122.197395999727206, 37.353074000929283 ], [ -122.197685000222748, 37.353578000485541 ], [ -122.197898999439985, 37.354081000407518 ], [ -122.198276000231019, 37.354440000323201 ], [ -122.19841799970628, 37.354531000984089 ], [ -122.199271999810748, 37.355134001058062 ], [ -122.199638999814567, 37.355531000792055 ], [ -122.199836999505436, 37.356118000675082 ], [ -122.200539000149362, 37.357087000943565 ], [ -122.201180000424458, 37.357591000730423 ], [ -122.201453999432289, 37.358300000615714 ], [ -122.201820999829067, 37.359170000986659 ], [ -122.202111000401757, 37.359910000580335 ], [ -122.202277999697785, 37.360528000331897 ], [ -122.202263000240265, 37.360993000651533 ], [ -122.202294000178838, 37.36174100074183 ], [ -122.202355000054069, 37.362187000784402 ], [ -122.20237599943772, 37.362340000295831 ], [ -122.202475999762498, 37.363440000277301 ], [ -122.201957999787197, 37.36446500072757 ], [ -122.201575999809648, 37.365037000745431 ], [ -122.201226000145823, 37.365708000546924 ], [ -122.201041999631869, 37.36654000098892 ], [ -122.201347999409577, 37.367288000264146 ], [ -122.20134800006258, 37.36811200074213 ], [ -122.201133999622769, 37.368714000285635 ], [ -122.201119000045523, 37.369332000807312 ], [ -122.201041999850318, 37.370202001098072 ], [ -122.20077599993715, 37.371040000274213 ], [ -122.19945000041281, 37.372461000990469 ], [ -122.199376000420756, 37.372540000251931 ], [ -122.199195999501654, 37.372659000816697 ], [ -122.19907400011212, 37.373178000447908 ], [ -122.199376000151091, 37.374040001115418 ], [ -122.199302999947207, 37.37424600093776 ], [ -122.199089000415825, 37.374497000969086 ], [ -122.19884499949994, 37.37471900063337 ], [ -122.198275999456484, 37.374940000319306 ], [ -122.197701000248586, 37.375260000934794 ], [ -122.197392999404173, 37.375535000603897 ], [ -122.197276000216277, 37.375640000292051 ], [ -122.196892000462682, 37.37616800074791 ], [ -122.196874999732387, 37.376225001004869 ], [ -122.19678499951317, 37.376527000443737 ], [ -122.196738999525522, 37.376939000726736 ], [ -122.196616999646793, 37.377282001017328 ], [ -122.196266000141875, 37.377565000717873 ], [ -122.196038000336131, 37.377778000282483 ], [ -122.195945999712251, 37.378083000434955 ], [ -122.195915000001392, 37.378381000678246 ], [ -122.195762999972288, 37.378709001039532 ], [ -122.195533999398322, 37.378930000458311 ], [ -122.195091999936452, 37.379388000543067 ], [ -122.194786000251753, 37.379731000923314 ], [ -122.194526999531845, 37.380395000633328 ], [ -122.19428300051797, 37.381005000390893 ], [ -122.193992999595253, 37.381440000446197 ], [ -122.193641999518874, 37.381753001027953 ], [ -122.193245000183083, 37.382157000907569 ], [ -122.193075999979527, 37.382440000971741 ], [ -122.19303199996574, 37.38255400049777 ], [ -122.192665000284663, 37.382951000279867 ], [ -122.192116000273586, 37.383386000872569 ], [ -122.191675999946412, 37.383640000828123 ], [ -122.191276999958831, 37.383851000697611 ], [ -122.190818999510256, 37.38413300036769 ], [ -122.190681999870094, 37.384370000364669 ], [ -122.19047600026822, 37.384840000933458 ], [ -122.190437999793176, 37.385141000662301 ], [ -122.190636000322328, 37.385377000861638 ], [ -122.190864999646948, 37.385743000612017 ], [ -122.190850000485256, 37.386018000344706 ], [ -122.190742999874246, 37.386315000926977 ], [ -122.190681999412803, 37.386781000376253 ], [ -122.190681999813833, 37.387071000374021 ], [ -122.190850000203, 37.387429000331785 ], [ -122.190926000024632, 37.38789500069344 ], [ -122.190911000383778, 37.388398001124713 ], [ -122.190788999857858, 37.388597000483671 ], [ -122.190675999934129, 37.388540000301738 ], [ -122.190513999712735, 37.388566000708543 ], [ -122.19019299997683, 37.388703000706535 ], [ -122.190131999476606, 37.388932000633339 ], [ -122.190208999393519, 37.389237000992068 ], [ -122.190276000396892, 37.389440000754327 ], [ -122.190452999982966, 37.38977200086272 ], [ -122.190453000294667, 37.390222001055911 ], [ -122.190253999468695, 37.390283000831964 ], [ -122.190026000016474, 37.390313000376985 ], [ -122.189887999842853, 37.390596000382871 ], [ -122.189827000404577, 37.390817000510118 ], [ -122.189826999778802, 37.391023000801638 ], [ -122.189872999554836, 37.391313000266962 ], [ -122.18993400016231, 37.391450000271682 ], [ -122.190192999760782, 37.391976000434639 ], [ -122.190239000325491, 37.392578000726729 ], [ -122.190162999674072, 37.392853000500899 ], [ -122.190102000345618, 37.393379000781934 ], [ -122.190076000047483, 37.393539000510565 ], [ -122.190102000090079, 37.39400500095573 ], [ -122.190276000164474, 37.394139000685009 ], [ -122.190513999745946, 37.394562000283123 ], [ -122.190910999461877, 37.394798000922627 ], [ -122.19118499948263, 37.394959000520714 ], [ -122.19144499967355, 37.395470000561204 ], [ -122.191765000353797, 37.396210001057746 ], [ -122.191918000038839, 37.396889001073454 ], [ -122.191876000098773, 37.397539001013882 ], [ -122.191688999596394, 37.398048000761705 ], [ -122.191643000016882, 37.398514000477832 ], [ -122.191779999648617, 37.398872000253107 ], [ -122.192055000493028, 37.399345000828227 ], [ -122.192330000345805, 37.400002000405969 ], [ -122.192345000130445, 37.400536000769776 ], [ -122.192342999786888, 37.40054300057335 ], [ -122.192237999963638, 37.400978000693328 ], [ -122.192238000163428, 37.401367000695565 ], [ -122.19242099967704, 37.401932000649687 ], [ -122.192542999577526, 37.402329000540554 ], [ -122.192620000152402, 37.402687000414801 ], [ -122.192573999688562, 37.403191000485066 ], [ -122.192635000464961, 37.403816000281374 ], [ -122.19281799965762, 37.404213000792112 ], [ -122.19298599973969, 37.404526000257377 ], [ -122.193321000373388, 37.405083000816326 ], [ -122.19348900046127, 37.405434000773496 ], [ -122.193575999452975, 37.405639000460155 ], [ -122.193778999582008, 37.406021000237835 ], [ -122.194039000007763, 37.406609000473523 ], [ -122.194267999887145, 37.407173001111033 ], [ -122.194481000434891, 37.407776000347212 ], [ -122.194450999541871, 37.408173000607817 ], [ -122.194438999448465, 37.40818800035057 ], [ -122.194282999719221, 37.408394000667485 ], [ -122.194200000475931, 37.408537000444561 ], [ -122.194038999866052, 37.408821000419124 ], [ -122.193932000494925, 37.409271000806847 ], [ -122.193875999397292, 37.409539000701173 ], [ -122.193885999568877, 37.409721000565916 ], [ -122.193776000153605, 37.410239000268 ], [ -122.193676000498087, 37.410539000982141 ], [ -122.193676000284128, 37.410739000321385 ], [ -122.193732999420277, 37.411102000352436 ], [ -122.193550000507742, 37.411491000835554 ], [ -122.193376000096407, 37.411639000899548 ], [ -122.193076000454653, 37.412539000550311 ], [ -122.192375999652469, 37.413339001071925 ], [ -122.192076000466287, 37.413639001112479 ], [ -122.191896999437574, 37.413817000624157 ], [ -122.191876000051451, 37.41383900069512 ], [ -122.188920999513257, 37.414457000611101 ], [ -122.187575999999808, 37.41473900041192 ], [ -122.187532000151364, 37.414903000757008 ], [ -122.187176000028032, 37.416239000852485 ], [ -122.187276000512753, 37.416439000618965 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1381, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.740898999754549, 38.425012000959427 ], [ -122.740799000067454, 38.424512000575668 ], [ -122.74079899992654, 38.424112001045536 ], [ -122.740698999939667, 38.4235120008317 ], [ -122.740699000132423, 38.423312000586229 ], [ -122.740628000463744, 38.422695000641454 ], [ -122.74055099999849, 38.422031000246236 ], [ -122.740534000192739, 38.421880000558836 ], [ -122.740493000075247, 38.421522000790304 ], [ -122.740398999763954, 38.420712000426001 ], [ -122.740338999624001, 38.420114000559472 ], [ -122.740298999779839, 38.419712000607575 ], [ -122.740299000057846, 38.419407000507931 ], [ -122.740298999422194, 38.41921200101028 ], [ -122.740185000009106, 38.418985000540232 ], [ -122.740099000434299, 38.418812000269504 ], [ -122.740141999755025, 38.418469000756211 ], [ -122.740198999672756, 38.418012000430416 ], [ -122.740082000350952, 38.417032000998631 ], [ -122.740024000433266, 38.416540000669592 ], [ -122.739940999777616, 38.415848001078409 ], [ -122.739850000000473, 38.415084001032078 ], [ -122.739698999730834, 38.413812000737224 ], [ -122.739918000145934, 38.41353800106819 ], [ -122.740098999883855, 38.413312000632629 ], [ -122.740998999580242, 38.412212001045745 ], [ -122.741099000042865, 38.411212000656704 ], [ -122.74109899956467, 38.410712000326214 ], [ -122.741144999745501, 38.409885001122689 ], [ -122.741213999686991, 38.408640000442446 ], [ -122.741230999537024, 38.408338000521695 ], [ -122.741242000228979, 38.408139000970287 ], [ -122.741284999497495, 38.407375000273824 ], [ -122.741292999758201, 38.407224000526547 ], [ -122.741298999770464, 38.407112000486833 ], [ -122.741298999566808, 38.406998000900778 ], [ -122.741299000464082, 38.405212001097148 ], [ -122.741298999653651, 38.404613000618781 ], [ -122.741299000139477, 38.403781000787575 ], [ -122.741299000235685, 38.403513000578322 ], [ -122.74129899995539, 38.403435000386665 ], [ -122.741298999904046, 38.40181300100798 ], [ -122.741299000236609, 38.399213001136737 ], [ -122.741298999418078, 38.39801300087408 ], [ -122.741298999652599, 38.391113001138002 ], [ -122.741498999617562, 38.388713000255429 ], [ -122.741398999638704, 38.387113000529943 ], [ -122.741399000269112, 38.384613000775445 ], [ -122.741398999601543, 38.376313000350493 ], [ -122.741399000467936, 38.374913000707267 ], [ -122.741499000210709, 38.369513000594608 ], [ -122.741398999772414, 38.363314000800216 ], [ -122.741362999664887, 38.359737000906314 ], [ -122.741298999841177, 38.353514000875101 ], [ -122.741398999724268, 38.352814000851701 ], [ -122.741498999932958, 38.352114000657593 ], [ -122.746498999566086, 38.352214000785395 ], [ -122.749841999686197, 38.354176001097542 ], [ -122.751099000376016, 38.354914000526293 ], [ -122.753198999543471, 38.356114001091342 ], [ -122.754714000119606, 38.358586000891883 ], [ -122.755098999811054, 38.359214000634509 ], [ -122.76070000005717, 38.361514000679669 ], [ -122.763401000150665, 38.363421000502818 ], [ -122.765800000026132, 38.365114000562606 ], [ -122.76850000049005, 38.366014000363698 ], [ -122.768658999666329, 38.366067001114587 ], [ -122.770299999825639, 38.36661400110232 ], [ -122.773200000287787, 38.365814001105967 ], [ -122.775699999675879, 38.366214000623721 ], [ -122.776095000286816, 38.366972000479599 ], [ -122.776445999526615, 38.367239000509613 ], [ -122.776792999833688, 38.367564000556996 ], [ -122.776986999909894, 38.367810000462157 ], [ -122.777161000205027, 38.368083000783479 ], [ -122.777160999881673, 38.368328000638833 ], [ -122.777008000471071, 38.368663000390143 ], [ -122.776610000329171, 38.369084001138219 ], [ -122.776314999423306, 38.369319000807302 ], [ -122.77609999941734, 38.369614000609197 ], [ -122.775000000233291, 38.371114000609765 ], [ -122.775400000290631, 38.372914000765107 ], [ -122.77729999998833, 38.374514000779087 ], [ -122.777667000323461, 38.374647000715669 ], [ -122.778400000242968, 38.374914001019718 ], [ -122.779400000180956, 38.375314001076084 ], [ -122.784500999903273, 38.378414000653073 ], [ -122.785601000173912, 38.378714000255258 ], [ -122.787778000383824, 38.380456000798027 ], [ -122.788601000147864, 38.381113000974089 ], [ -122.792600999480214, 38.381414000694939 ], [ -122.794379999983022, 38.382830000613225 ], [ -122.796289999731897, 38.38435100045227 ], [ -122.79800100005275, 38.385713000754016 ], [ -122.797100999469563, 38.386613001114966 ], [ -122.79718999968604, 38.387611000519655 ], [ -122.797223999830578, 38.38799300109779 ], [ -122.797389999489312, 38.389852000530482 ], [ -122.797600999660602, 38.392213000682418 ], [ -122.809653000516747, 38.396175001077566 ], [ -122.812201999975883, 38.397013000671514 ], [ -122.815802000009427, 38.401213000603732 ], [ -122.815744000303411, 38.401562000685914 ], [ -122.815402000122447, 38.403613000327958 ], [ -122.812475000296232, 38.404712000755978 ], [ -122.811963999603165, 38.404913000977082 ], [ -122.811201999398961, 38.405213001117566 ], [ -122.809707999680228, 38.405749000342666 ], [ -122.807237999910456, 38.406635000940263 ], [ -122.807131000261435, 38.406672000502965 ], [ -122.806827999623678, 38.406777000866278 ], [ -122.806450000467194, 38.406908000464703 ], [ -122.806370000298656, 38.40693600100829 ], [ -122.804700999509976, 38.407513000609903 ], [ -122.803600999488722, 38.407913000335931 ], [ -122.80330900033357, 38.408031000274946 ], [ -122.801600999878673, 38.408713000996407 ], [ -122.801403999672587, 38.408787000473453 ], [ -122.801179000495765, 38.408871000794207 ], [ -122.800001000127608, 38.409313000811053 ], [ -122.797900999499902, 38.41001300080535 ], [ -122.794701000380044, 38.411913000303819 ], [ -122.793301000471473, 38.412513000601301 ], [ -122.791100999541342, 38.413913000477152 ], [ -122.781258999988793, 38.419586001104456 ], [ -122.780000000418383, 38.420312000990684 ], [ -122.778500000399518, 38.421212000775952 ], [ -122.773600000019215, 38.424512000490523 ], [ -122.771642999694592, 38.425831000465955 ], [ -122.769352999617254, 38.427466000265554 ], [ -122.769000000253513, 38.427612000571308 ], [ -122.766465000335245, 38.428132000494017 ], [ -122.763691000051509, 38.428598000583932 ], [ -122.758898999962341, 38.428912000969973 ], [ -122.752766999671692, 38.429279000528361 ], [ -122.752099000433503, 38.429312000694949 ], [ -122.750999000030305, 38.429412000524152 ], [ -122.744898999886857, 38.429812000532642 ], [ -122.741598000081581, 38.430512001024461 ], [ -122.741498000236888, 38.429712000295524 ], [ -122.741484999658837, 38.429607000910643 ], [ -122.741242999776219, 38.427247001051548 ], [ -122.741198000503033, 38.426812000705716 ], [ -122.741188999480997, 38.426809000485754 ], [ -122.741085999607591, 38.42642000101997 ], [ -122.741016000282201, 38.425892000447163 ], [ -122.740898999754549, 38.425012000959427 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1386, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.824738999750977, 38.389286000802059 ], [ -122.824746000434118, 38.389353000530001 ], [ -122.824801999849669, 38.389914001099214 ], [ -122.824702000109852, 38.390314000882135 ], [ -122.824715000281913, 38.390480000559272 ], [ -122.824720999538044, 38.390562000634439 ], [ -122.824801999824658, 38.391614000883727 ], [ -122.824802000442332, 38.392813000919688 ], [ -122.824802000224523, 38.393813000463027 ], [ -122.827328999728778, 38.393808000920444 ], [ -122.827341999994317, 38.394009000320388 ], [ -122.827444999825005, 38.394311000414852 ], [ -122.827598999983067, 38.394542000951205 ], [ -122.827602999648903, 38.394913001075395 ], [ -122.827535999493804, 38.396627000620306 ], [ -122.827596000231168, 38.396856000797676 ], [ -122.827637000530459, 38.397015000758202 ], [ -122.828203000214813, 38.397013000903321 ], [ -122.831103000128067, 38.39741300038208 ], [ -122.831203000331357, 38.39821300039398 ], [ -122.829302999428421, 38.398513001083366 ], [ -122.82840299995118, 38.399513000513245 ], [ -122.828001999707112, 38.400213000936013 ], [ -122.827402000193175, 38.400913000840717 ], [ -122.825502000382343, 38.401613000796594 ], [ -122.825101999896461, 38.400913000887776 ], [ -122.824501999909558, 38.399813000473685 ], [ -122.824002000459231, 38.39891300052804 ], [ -122.823702000420525, 38.39911300074791 ], [ -122.822602000304087, 38.399413000938488 ], [ -122.822502000453099, 38.399213000540982 ], [ -122.82160199964234, 38.399513001121107 ], [ -122.8220019996498, 38.400413000869619 ], [ -122.822202000427268, 38.400813000543721 ], [ -122.822302000494602, 38.401013000242827 ], [ -122.822702000523762, 38.401813000826003 ], [ -122.822601999585942, 38.402313000839811 ], [ -122.822101999660759, 38.402313000975951 ], [ -122.821598999960258, 38.402397000492932 ], [ -122.820302000270999, 38.402613000847403 ], [ -122.819002000379825, 38.402913000888638 ], [ -122.81830200001906, 38.403013000387269 ], [ -122.815402000122447, 38.403613000327958 ], [ -122.815744000303411, 38.401562000685914 ], [ -122.815802000009427, 38.401213000603732 ], [ -122.812201999975883, 38.397013000671514 ], [ -122.809653000516747, 38.396175001077566 ], [ -122.797600999660602, 38.392213000682418 ], [ -122.797389999489312, 38.389852000530482 ], [ -122.797223999830578, 38.38799300109779 ], [ -122.79718999968604, 38.387611000519655 ], [ -122.797100999469563, 38.386613001114966 ], [ -122.79800100005275, 38.385713000754016 ], [ -122.796289999731897, 38.38435100045227 ], [ -122.794379999983022, 38.382830000613225 ], [ -122.792600999480214, 38.381414000694939 ], [ -122.788601000147864, 38.381113000974089 ], [ -122.787778000383824, 38.380456000798027 ], [ -122.785601000173912, 38.378714000255258 ], [ -122.784500999903273, 38.378414000653073 ], [ -122.779400000180956, 38.375314001076084 ], [ -122.778400000242968, 38.374914001019718 ], [ -122.777667000323461, 38.374647000715669 ], [ -122.77729999998833, 38.374514000779087 ], [ -122.775400000290631, 38.372914000765107 ], [ -122.775000000233291, 38.371114000609765 ], [ -122.77609999941734, 38.369614000609197 ], [ -122.776314999423306, 38.369319000807302 ], [ -122.776610000329171, 38.369084001138219 ], [ -122.777008000471071, 38.368663000390143 ], [ -122.777160999881673, 38.368328000638833 ], [ -122.777161000205027, 38.368083000783479 ], [ -122.776986999909894, 38.367810000462157 ], [ -122.776792999833688, 38.367564000556996 ], [ -122.776445999526615, 38.367239000509613 ], [ -122.776095000286816, 38.366972000479599 ], [ -122.775699999675879, 38.366214000623721 ], [ -122.773200000287787, 38.365814001105967 ], [ -122.770299999825639, 38.36661400110232 ], [ -122.768658999666329, 38.366067001114587 ], [ -122.76850000049005, 38.366014000363698 ], [ -122.768999999849157, 38.363114000248444 ], [ -122.768899999991646, 38.360314000505724 ], [ -122.768799999907728, 38.3586140004399 ], [ -122.768532999507158, 38.358080000418731 ], [ -122.768499999906737, 38.358014001050186 ], [ -122.768000000514164, 38.356814000331916 ], [ -122.769600000471854, 38.357914000242204 ], [ -122.770999999498883, 38.358814000651407 ], [ -122.771299999883126, 38.359014001122269 ], [ -122.778100000151213, 38.362414000460632 ], [ -122.778523999536546, 38.362838000241894 ], [ -122.779697000001107, 38.364011000353358 ], [ -122.779753000212494, 38.364067000897421 ], [ -122.781100999921122, 38.365414000842485 ], [ -122.784100999963059, 38.365214000386366 ], [ -122.784701000391294, 38.365214000570134 ], [ -122.786301000035522, 38.365214000466146 ], [ -122.78870099948368, 38.364814000534921 ], [ -122.790101000258687, 38.365114000285814 ], [ -122.790401000085424, 38.365114000729136 ], [ -122.791100000245962, 38.36523100069904 ], [ -122.792800999656706, 38.365514000372045 ], [ -122.793101000351029, 38.365614000965031 ], [ -122.794012000429888, 38.365766000855139 ], [ -122.794900999673587, 38.36591400057587 ], [ -122.798300999840919, 38.366314000520553 ], [ -122.798912000273035, 38.365704000936425 ], [ -122.799601000269703, 38.365014001046163 ], [ -122.800100999936305, 38.365314000685913 ], [ -122.80260200046223, 38.367014000536408 ], [ -122.803401999776227, 38.367614000834969 ], [ -122.80450199979073, 38.368214000559753 ], [ -122.807602000300321, 38.367414001048665 ], [ -122.807401999783366, 38.3683140009677 ], [ -122.807102000129191, 38.369814000531193 ], [ -122.806301999518368, 38.372414000390769 ], [ -122.806181000094867, 38.374310001114239 ], [ -122.806149999602439, 38.37489300046316 ], [ -122.806101999500783, 38.375314000585647 ], [ -122.806101999549455, 38.376114000809537 ], [ -122.806101999560468, 38.376914000924039 ], [ -122.806101999533865, 38.377714000929124 ], [ -122.806202000156759, 38.379414000664525 ], [ -122.806201999647044, 38.381314000477005 ], [ -122.810902000353238, 38.38361400031345 ], [ -122.811033999408153, 38.383693000472533 ], [ -122.812055999789507, 38.384301000706785 ], [ -122.81235000042075, 38.384542000882327 ], [ -122.81247000001548, 38.384730001061705 ], [ -122.812575000079761, 38.38520800094021 ], [ -122.812924000250931, 38.386744001116355 ], [ -122.81300200015076, 38.386914000991844 ], [ -122.814002000233799, 38.388014001125505 ], [ -122.814123000483562, 38.388146000520138 ], [ -122.815102000054694, 38.389213000725888 ], [ -122.816201999927671, 38.389113000737467 ], [ -122.817001999908953, 38.388914001023728 ], [ -122.817802000311829, 38.388714000883255 ], [ -122.82290199942922, 38.387814001119978 ], [ -122.823801999925436, 38.387714000557665 ], [ -122.824202000089102, 38.387514000952528 ], [ -122.824601999429532, 38.387614000314947 ], [ -122.824701999439412, 38.388314000429418 ], [ -122.824701999506132, 38.388674000957828 ], [ -122.824701999547486, 38.388914000997346 ], [ -122.824738999750977, 38.389286000802059 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1385, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.843602999890194, 38.38341400105007 ], [ -122.845202999717671, 38.38481400110124 ], [ -122.849704000129833, 38.38761400045103 ], [ -122.850804000435375, 38.388514000872512 ], [ -122.850703999495238, 38.390514000707441 ], [ -122.850604000200306, 38.392014000663487 ], [ -122.851204000420594, 38.394914000475865 ], [ -122.850703999835687, 38.396814000400383 ], [ -122.850004000165143, 38.397314000368837 ], [ -122.848103000380192, 38.397514000660273 ], [ -122.846702999983236, 38.397614000663182 ], [ -122.844286000334108, 38.397873000969327 ], [ -122.843903000406968, 38.397913000858161 ], [ -122.843502999875966, 38.397913001028819 ], [ -122.842702999726612, 38.39801300113762 ], [ -122.840502999721664, 38.398113000767381 ], [ -122.839402999859544, 38.398113000291886 ], [ -122.837302999766607, 38.398213001115799 ], [ -122.834802999746529, 38.398113000996354 ], [ -122.832802999554431, 38.398313001040663 ], [ -122.83190299947448, 38.39821300055484 ], [ -122.831203000331357, 38.39821300039398 ], [ -122.831103000128067, 38.39741300038208 ], [ -122.828203000214813, 38.397013000903321 ], [ -122.827637000530459, 38.397015000758202 ], [ -122.827596000231168, 38.396856000797676 ], [ -122.827535999493804, 38.396627000620306 ], [ -122.827602999648903, 38.394913001075395 ], [ -122.827598999983067, 38.394542000951205 ], [ -122.827444999825005, 38.394311000414852 ], [ -122.827341999994317, 38.394009000320388 ], [ -122.827328999728778, 38.393808000920444 ], [ -122.824802000224523, 38.393813000463027 ], [ -122.824802000442332, 38.392813000919688 ], [ -122.824801999824658, 38.391614000883727 ], [ -122.824720999538044, 38.390562000634439 ], [ -122.824715000281913, 38.390480000559272 ], [ -122.824702000109852, 38.390314000882135 ], [ -122.824801999849669, 38.389914001099214 ], [ -122.824746000434118, 38.389353000530001 ], [ -122.824738999750977, 38.389286000802059 ], [ -122.824701999547486, 38.388914000997346 ], [ -122.824701999506132, 38.388674000957828 ], [ -122.824701999439412, 38.388314000429418 ], [ -122.824601999429532, 38.387614000314947 ], [ -122.824202000089102, 38.387514000952528 ], [ -122.823801999925436, 38.387714000557665 ], [ -122.82290199942922, 38.387814001119978 ], [ -122.817802000311829, 38.388714000883255 ], [ -122.817001999908953, 38.388914001023728 ], [ -122.816201999927671, 38.389113000737467 ], [ -122.815102000054694, 38.389213000725888 ], [ -122.814123000483562, 38.388146000520138 ], [ -122.814002000233799, 38.388014001125505 ], [ -122.81300200015076, 38.386914000991844 ], [ -122.812924000250931, 38.386744001116355 ], [ -122.812575000079761, 38.38520800094021 ], [ -122.81247000001548, 38.384730001061705 ], [ -122.81235000042075, 38.384542000882327 ], [ -122.812055999789507, 38.384301000706785 ], [ -122.811033999408153, 38.383693000472533 ], [ -122.810902000353238, 38.38361400031345 ], [ -122.806201999647044, 38.381314000477005 ], [ -122.806202000156759, 38.379414000664525 ], [ -122.806101999533865, 38.377714000929124 ], [ -122.806101999560468, 38.376914000924039 ], [ -122.806101999549455, 38.376114000809537 ], [ -122.806101999500783, 38.375314000585647 ], [ -122.806149999602439, 38.37489300046316 ], [ -122.806181000094867, 38.374310001114239 ], [ -122.806301999518368, 38.372414000390769 ], [ -122.807102000129191, 38.369814000531193 ], [ -122.807401999783366, 38.3683140009677 ], [ -122.807602000300321, 38.367414001048665 ], [ -122.807902000439597, 38.367314001047532 ], [ -122.812149999713185, 38.365965000531681 ], [ -122.814202000152534, 38.365314000540728 ], [ -122.814902000295987, 38.364714000783117 ], [ -122.81570200012969, 38.364614000274138 ], [ -122.817390000493276, 38.364495001102192 ], [ -122.818252999921029, 38.36455600091508 ], [ -122.819110999605144, 38.364520000488341 ], [ -122.82040200034038, 38.364514001076564 ], [ -122.822002000250677, 38.364514000436188 ], [ -122.826003000184542, 38.365814000778585 ], [ -122.828203000133897, 38.36721400057445 ], [ -122.828403000251839, 38.36731400041824 ], [ -122.829403000009918, 38.36911400058159 ], [ -122.830985000343546, 38.37016100107963 ], [ -122.831903000010627, 38.371514000376209 ], [ -122.833103000427059, 38.374914000786212 ], [ -122.833202999640633, 38.375314000543625 ], [ -122.833456000518851, 38.376009000476309 ], [ -122.834003000467462, 38.377514000434154 ], [ -122.834103000147337, 38.377914001056588 ], [ -122.834603000175107, 38.379214000366758 ], [ -122.837402999451427, 38.379214000445522 ], [ -122.838003000288168, 38.379214001033098 ], [ -122.838503000418385, 38.379214000528052 ], [ -122.842448999914282, 38.382464001079235 ], [ -122.843602999890194, 38.38341400105007 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1387, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.769999999673871, 38.321115000269984 ], [ -122.778600999451712, 38.321015000919651 ], [ -122.779300999840245, 38.321015000742577 ], [ -122.782078000461681, 38.321143000525041 ], [ -122.78800100005715, 38.321415000551461 ], [ -122.792400999405743, 38.32231500026878 ], [ -122.796001999841067, 38.323315000445596 ], [ -122.79748900037545, 38.323653000434234 ], [ -122.798754999554021, 38.323638000970163 ], [ -122.799548999877118, 38.323485000939286 ], [ -122.800128000190313, 38.323439000248541 ], [ -122.805560999396278, 38.319747000683194 ], [ -122.807070999480871, 38.318305000613194 ], [ -122.809298999658637, 38.316321000737361 ], [ -122.811301999745638, 38.312815000815817 ], [ -122.811501999596842, 38.312415000244414 ], [ -122.811800999725875, 38.311637001106945 ], [ -122.811902000280412, 38.311415000909221 ], [ -122.812121999578395, 38.31099600064104 ], [ -122.812518999488447, 38.310515000890561 ], [ -122.813114000116954, 38.30987500026454 ], [ -122.813770000469333, 38.309143000955828 ], [ -122.814502000455619, 38.308416001007593 ], [ -122.814959999459546, 38.308075000638084 ], [ -122.815343000017762, 38.307701000423108 ], [ -122.81566300052809, 38.307587000980412 ], [ -122.815838000148901, 38.307567000620409 ], [ -122.816455999528259, 38.307495001098218 ], [ -122.81682299978408, 38.30742600071315 ], [ -122.818364000064946, 38.306389000267004 ], [ -122.827502999464613, 38.306316001054526 ], [ -122.833727000276099, 38.306316001131698 ], [ -122.837403999808544, 38.306316000322184 ], [ -122.837904000046109, 38.306316001051087 ], [ -122.840103999990504, 38.306316000387561 ], [ -122.841603999619295, 38.306316000407008 ], [ -122.841904000025636, 38.306416000471167 ], [ -122.84302200020278, 38.306934001017645 ], [ -122.846003999412048, 38.308316000313859 ], [ -122.849858999718123, 38.310051000695957 ], [ -122.850103999943869, 38.3101160006443 ], [ -122.851203999691322, 38.310116000612048 ], [ -122.851303999456491, 38.312016000258232 ], [ -122.851304000500448, 38.31241600087462 ], [ -122.851304000339866, 38.313016000393894 ], [ -122.851304000161178, 38.313616000752866 ], [ -122.851404000175762, 38.315516000986314 ], [ -122.851204000118869, 38.317316000818508 ], [ -122.851203999448074, 38.323015000332219 ], [ -122.849263999485601, 38.323798000266216 ], [ -122.848204000409751, 38.324415000587564 ], [ -122.847280000059101, 38.325545000563409 ], [ -122.846715999753783, 38.326201000468451 ], [ -122.846470999470554, 38.326812000356554 ], [ -122.846120000123989, 38.327887000445727 ], [ -122.845631999469816, 38.329406000790492 ], [ -122.845892000201687, 38.331298000705317 ], [ -122.846135999469638, 38.331908000619777 ], [ -122.846531999958728, 38.332312001095254 ], [ -122.846990000023183, 38.332755001079583 ], [ -122.847082000345466, 38.333083000482979 ], [ -122.847003999408827, 38.333515000907418 ], [ -122.846594000101149, 38.334021000683727 ], [ -122.846105000517937, 38.334884000885332 ], [ -122.844504000120878, 38.336415000574263 ], [ -122.8440450001724, 38.33695900075751 ], [ -122.842949999472765, 38.337509000314171 ], [ -122.840520000259346, 38.338729000845433 ], [ -122.837894999865128, 38.338744000582913 ], [ -122.83451099967786, 38.338240000532046 ], [ -122.833002999872022, 38.338015000447342 ], [ -122.831317999918383, 38.337798000775216 ], [ -122.830661999744862, 38.338157000466786 ], [ -122.829274000156559, 38.3404680007691 ], [ -122.828525999573287, 38.341674000494024 ], [ -122.827568000125993, 38.342574000743866 ], [ -122.825503000324929, 38.344515000983243 ], [ -122.825002999731865, 38.344915000407248 ], [ -122.823002999519616, 38.346515000797837 ], [ -122.820102000135762, 38.348815000339222 ], [ -122.826848000203356, 38.34923400090161 ], [ -122.826954000174538, 38.349295000670267 ], [ -122.827030999872349, 38.349463000890019 ], [ -122.827003000249888, 38.349715000841968 ], [ -122.826953999633233, 38.350272000944592 ], [ -122.827103000124737, 38.350415000711735 ], [ -122.830802999872688, 38.351415000816438 ], [ -122.83220300037506, 38.351622001125158 ], [ -122.832356000489185, 38.351676000260049 ], [ -122.832478000395128, 38.351889000354731 ], [ -122.832795000140507, 38.352927000367373 ], [ -122.832904999763443, 38.353286000920164 ], [ -122.832889999627866, 38.353446000982871 ], [ -122.832802999693811, 38.353515000767253 ], [ -122.832600000130142, 38.35372100106116 ], [ -122.832569999949314, 38.353835000465196 ], [ -122.832660999491296, 38.354033000938742 ], [ -122.833073000327602, 38.354339000364718 ], [ -122.833393999445192, 38.354589000635201 ], [ -122.833502999555634, 38.355014001018382 ], [ -122.835163999794077, 38.358213000445538 ], [ -122.835255000314177, 38.358557000477397 ], [ -122.835147999647262, 38.358793000423482 ], [ -122.834902999556874, 38.359014000566695 ], [ -122.834415999680445, 38.359777000473549 ], [ -122.834553000388411, 38.360388000516302 ], [ -122.834797000213484, 38.361143000638315 ], [ -122.835194000501474, 38.362066000645868 ], [ -122.835302999477207, 38.364114000931998 ], [ -122.833805999509892, 38.36405700079024 ], [ -122.833333000347864, 38.36425600028565 ], [ -122.828802999861495, 38.364314000900066 ], [ -122.826703000223901, 38.364314000792085 ], [ -122.826375000006962, 38.364294000244321 ], [ -122.82490299959683, 38.364314000502432 ], [ -122.822201999432636, 38.36431400036313 ], [ -122.822002000250677, 38.364514000436188 ], [ -122.82040200034038, 38.364514001076564 ], [ -122.819110999605144, 38.364520000488341 ], [ -122.818252999921029, 38.36455600091508 ], [ -122.817390000493276, 38.364495001102192 ], [ -122.81570200012969, 38.364614000274138 ], [ -122.814902000295987, 38.364714000783117 ], [ -122.814202000152534, 38.365314000540728 ], [ -122.812149999713185, 38.365965000531681 ], [ -122.807902000439597, 38.367314001047532 ], [ -122.807602000300321, 38.367414001048665 ], [ -122.80450199979073, 38.368214000559753 ], [ -122.803401999776227, 38.367614000834969 ], [ -122.80260200046223, 38.367014000536408 ], [ -122.800100999936305, 38.365314000685913 ], [ -122.799601000269703, 38.365014001046163 ], [ -122.798912000273035, 38.365704000936425 ], [ -122.798300999840919, 38.366314000520553 ], [ -122.794900999673587, 38.36591400057587 ], [ -122.794012000429888, 38.365766000855139 ], [ -122.793101000351029, 38.365614000965031 ], [ -122.792800999656706, 38.365514000372045 ], [ -122.791100000245962, 38.36523100069904 ], [ -122.790401000085424, 38.365114000729136 ], [ -122.790101000258687, 38.365114000285814 ], [ -122.78870099948368, 38.364814000534921 ], [ -122.786301000035522, 38.365214000466146 ], [ -122.784701000391294, 38.365214000570134 ], [ -122.784100999963059, 38.365214000386366 ], [ -122.781100999921122, 38.365414000842485 ], [ -122.779753000212494, 38.364067000897421 ], [ -122.779697000001107, 38.364011000353358 ], [ -122.778523999536546, 38.362838000241894 ], [ -122.778100000151213, 38.362414000460632 ], [ -122.771299999883126, 38.359014001122269 ], [ -122.770999999498883, 38.358814000651407 ], [ -122.769600000471854, 38.357914000242204 ], [ -122.768000000514164, 38.356814000331916 ], [ -122.768499999906737, 38.358014001050186 ], [ -122.768532999507158, 38.358080000418731 ], [ -122.768799999907728, 38.3586140004399 ], [ -122.768899999991646, 38.360314000505724 ], [ -122.768999999849157, 38.363114000248444 ], [ -122.76850000049005, 38.366014000363698 ], [ -122.765800000026132, 38.365114000562606 ], [ -122.763401000150665, 38.363421000502818 ], [ -122.76070000005717, 38.361514000679669 ], [ -122.755098999811054, 38.359214000634509 ], [ -122.754714000119606, 38.358586000891883 ], [ -122.753198999543471, 38.356114001091342 ], [ -122.751099000376016, 38.354914000526293 ], [ -122.749841999686197, 38.354176001097542 ], [ -122.746498999566086, 38.352214000785395 ], [ -122.741498999932958, 38.352114000657593 ], [ -122.741198999828896, 38.345314000831131 ], [ -122.741299000154982, 38.342914000364203 ], [ -122.741238999976019, 38.342072000780846 ], [ -122.740798999477704, 38.3359140003558 ], [ -122.741598999755851, 38.335514000968246 ], [ -122.74030300009089, 38.335030000675779 ], [ -122.738398999641419, 38.334614000468463 ], [ -122.73839899995528, 38.33271400110138 ], [ -122.738299000027794, 38.331314000538391 ], [ -122.737699000299259, 38.329015000568724 ], [ -122.736399000220104, 38.326615000977547 ], [ -122.735598999943036, 38.325115000813966 ], [ -122.735505999591425, 38.3240730007522 ], [ -122.735351000421858, 38.322335001087943 ], [ -122.735098999595067, 38.319515000749213 ], [ -122.735475999798325, 38.31432900030326 ], [ -122.735499000062887, 38.314015000871294 ], [ -122.737999000302821, 38.314115000250446 ], [ -122.745799000068317, 38.314115001076587 ], [ -122.746798999920372, 38.313915000593056 ], [ -122.75110000002725, 38.317315000497445 ], [ -122.753200000477221, 38.318915000668035 ], [ -122.755399999944657, 38.320715000469797 ], [ -122.756200000276309, 38.32091500078117 ], [ -122.759000000205887, 38.321215000419137 ], [ -122.76210000002736, 38.321215000606692 ], [ -122.762500000420829, 38.321215001030374 ], [ -122.764599999966023, 38.32121500047085 ], [ -122.768400000106794, 38.321115000782207 ], [ -122.769999999673871, 38.321115000269984 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1388, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.842367003678802, 38.304535008317529 ], [ -122.842504002872673, 38.304587999501727 ], [ -122.842931021268953, 38.304756005968109 ], [ -122.843013004875075, 38.304796988460076 ], [ -122.843221021304856, 38.304901015137261 ], [ -122.843724999465252, 38.305038000515033 ], [ -122.844243988072265, 38.305259987987462 ], [ -122.844961005711397, 38.305579998712105 ], [ -122.845234982153869, 38.305679004274346 ], [ -122.845449003314101, 38.305671999055214 ], [ -122.845707993277728, 38.305633016256856 ], [ -122.845803996996736, 38.305615997765713 ], [ -122.84602901847235, 38.305710008444997 ], [ -122.846257998595874, 38.30585500039188 ], [ -122.846379996673988, 38.305969012456274 ], [ -122.84638000364555, 38.306113985717474 ], [ -122.846303982195522, 38.306315996728493 ], [ -122.846257995029589, 38.3065339948107 ], [ -122.846166020722094, 38.306609986942028 ], [ -122.846028979425796, 38.306594985938084 ], [ -122.845724021543944, 38.30650301765904 ], [ -122.845265990298515, 38.306267000081036 ], [ -122.844793011912159, 38.306023004653433 ], [ -122.843937997071365, 38.305632998348948 ], [ -122.843014017209072, 38.305114994569578 ], [ -122.842687016661131, 38.304931984530221 ], [ -122.842352000252745, 38.30477899247866 ], [ -122.842259995818281, 38.304703002500645 ], [ -122.842203980465627, 38.304616006565439 ], [ -122.842367003678802, 38.304535008317529 ] ], [ [ -122.841803992362145, 38.27621700630818 ], [ -122.840780012864883, 38.278067999786138 ], [ -122.839204007555011, 38.281415986673309 ], [ -122.838803979931356, 38.282215997530834 ], [ -122.836660016157154, 38.286994983982495 ], [ -122.835790017486701, 38.288932994959879 ], [ -122.834309002593074, 38.292007007847261 ], [ -122.834286984995998, 38.29206400860906 ], [ -122.834187013114885, 38.292320017849242 ], [ -122.833882015852851, 38.292572005150269 ], [ -122.833347988737103, 38.29288499337158 ], [ -122.833027012623859, 38.293128999426756 ], [ -122.832860018352193, 38.293312002845241 ], [ -122.832782986974848, 38.293457007437304 ], [ -122.83281402124409, 38.293793011469219 ], [ -122.832799014663166, 38.295174005399545 ], [ -122.83275298300147, 38.298568987193271 ], [ -122.832703016997925, 38.302215992481159 ], [ -122.834003005042447, 38.302816003778808 ], [ -122.834402981014705, 38.303016004195264 ], [ -122.839204020365727, 38.305216011545767 ], [ -122.841603978651221, 38.306316010968281 ], [ -122.841903998503781, 38.306416009988482 ], [ -122.843021980974157, 38.306934000541297 ], [ -122.846003984239715, 38.308316008405122 ], [ -122.849859004718027, 38.310051002786473 ], [ -122.850103987675453, 38.310115987222673 ], [ -122.851204020251117, 38.310116014776348 ], [ -122.85130397800836, 38.312016000737991 ], [ -122.851304010159637, 38.312415997000258 ], [ -122.851303991350576, 38.313015991257423 ], [ -122.851304017207426, 38.313615985509706 ], [ -122.851403982007142, 38.315516005469497 ], [ -122.851204007596323, 38.317316015304179 ], [ -122.851203977527391, 38.323014985546607 ], [ -122.849263998209508, 38.32379799496978 ], [ -122.848203988045583, 38.32441499781153 ], [ -122.847279991205539, 38.325544994412198 ], [ -122.846716008260671, 38.326201001493452 ], [ -122.846470978356763, 38.326812009735605 ], [ -122.846119983929825, 38.327887016421478 ], [ -122.845631994858977, 38.329405983266582 ], [ -122.845891985449882, 38.331298010543229 ], [ -122.846136017982474, 38.331908004530668 ], [ -122.846532002385075, 38.332312003464182 ], [ -122.846989989546486, 38.332755018245741 ], [ -122.847081996344372, 38.333082998787944 ], [ -122.847003989902987, 38.333514998416597 ], [ -122.846594010285315, 38.334020986727865 ], [ -122.84610500813119, 38.334883985348988 ], [ -122.844504000626159, 38.336414998378181 ], [ -122.844045007317263, 38.336959003864997 ], [ -122.842949996926549, 38.337508987186496 ], [ -122.840519992974166, 38.338728996498318 ], [ -122.837894979516662, 38.338743985402743 ], [ -122.834511011006498, 38.338239987761725 ], [ -122.833002979836849, 38.338015005093979 ], [ -122.831317982430093, 38.337797986499261 ], [ -122.830662016462313, 38.338157007926149 ], [ -122.82927400515095, 38.340468005845828 ], [ -122.828525984035238, 38.341674008244468 ], [ -122.827567989719341, 38.342574015993257 ], [ -122.825503003995792, 38.344514991300422 ], [ -122.82500299333222, 38.344915014592168 ], [ -122.823002985249843, 38.346515015759344 ], [ -122.820101985945072, 38.348814982912337 ], [ -122.826848014431704, 38.34923400323202 ], [ -122.826953997689202, 38.349294993062436 ], [ -122.8270309815708, 38.349462996920124 ], [ -122.827002978186414, 38.349714984643505 ], [ -122.82695399744577, 38.350271988380413 ], [ -122.827103017155778, 38.350414997638858 ], [ -122.830802995172078, 38.351414992078944 ], [ -122.832203016186654, 38.351621999570639 ], [ -122.832356009477493, 38.351676010862406 ], [ -122.83247801313658, 38.351888996373688 ], [ -122.832795006589521, 38.352926995476103 ], [ -122.832905009584664, 38.353285991583839 ], [ -122.83288997793376, 38.353446009738995 ], [ -122.832802998211463, 38.353514992147076 ], [ -122.832600000774576, 38.353721000780439 ], [ -122.832570007995869, 38.353834985268342 ], [ -122.832660978678845, 38.354032999500866 ], [ -122.833073015025533, 38.354338985627926 ], [ -122.833393979187775, 38.354589006633404 ], [ -122.833502987018989, 38.35501400905536 ], [ -122.835164013835396, 38.358212991509262 ], [ -122.835254979148573, 38.358556996448449 ], [ -122.835147988994862, 38.358792997535822 ], [ -122.834903010970592, 38.359013983234007 ], [ -122.834415985476213, 38.359776986540702 ], [ -122.834553019891601, 38.360388012259854 ], [ -122.834796992778053, 38.361142998600052 ], [ -122.835193997534859, 38.362065983856233 ], [ -122.835303015759976, 38.364114013628459 ], [ -122.833806000115402, 38.364057017576556 ], [ -122.833333010744028, 38.364255990443176 ], [ -122.828803018551653, 38.364313993379554 ], [ -122.826702993271184, 38.364314006301861 ], [ -122.826375021069779, 38.364294017849545 ], [ -122.824902997218857, 38.364314007596107 ], [ -122.822202019557764, 38.364313991437655 ], [ -122.822002017061507, 38.364514001081311 ], [ -122.826002985841384, 38.365814015177008 ], [ -122.828202991206396, 38.36721399397112 ], [ -122.828402991200363, 38.367313985703639 ], [ -122.829402988201053, 38.369114002141558 ], [ -122.830984999444084, 38.370161018652361 ], [ -122.831903001919102, 38.371514010461482 ], [ -122.83310298525528, 38.374914001947474 ], [ -122.833203000582841, 38.375313995306563 ], [ -122.833456001219005, 38.376009007180208 ], [ -122.834002987745265, 38.377513994051192 ], [ -122.834103011557914, 38.377913986484046 ], [ -122.834602996493814, 38.379214014386967 ], [ -122.837403008423081, 38.379213988347686 ], [ -122.838003010931757, 38.379214009271536 ], [ -122.838503013096158, 38.379213995025495 ], [ -122.842449022159087, 38.382464005840582 ], [ -122.843602981450715, 38.38341399026703 ], [ -122.845203004214923, 38.384814006345579 ], [ -122.849704016963642, 38.387613992699514 ], [ -122.850803999676515, 38.388513987071462 ], [ -122.850703989568416, 38.390513990443296 ], [ -122.850604018478478, 38.392013987055698 ], [ -122.851203998783575, 38.394913996023973 ], [ -122.850704007205238, 38.396814001648963 ], [ -122.851095021638272, 38.396772007509426 ], [ -122.851414995031561, 38.39668799379951 ], [ -122.85178100378171, 38.396710987881484 ], [ -122.852703984756587, 38.396914012368519 ], [ -122.853154986954834, 38.397092993251015 ], [ -122.854403982488961, 38.397014003995821 ], [ -122.854703989094787, 38.396914008991523 ], [ -122.855903993398215, 38.396813996494458 ], [ -122.857604000126031, 38.396614001681989 ], [ -122.860804001699876, 38.39641401280533 ], [ -122.861204013071571, 38.39601400375043 ], [ -122.861912986562558, 38.395192998117231 ], [ -122.862767986607622, 38.394612991362273 ], [ -122.864004022191111, 38.394713989492608 ], [ -122.865986979812362, 38.395070991253718 ], [ -122.866689005276214, 38.395880010720653 ], [ -122.866888018050815, 38.396078014295426 ], [ -122.867070985155095, 38.396147011006455 ], [ -122.86730401296991, 38.39621398706219 ], [ -122.868092999146526, 38.395757996950898 ], [ -122.868353014557599, 38.395620006998904 ], [ -122.869304007008026, 38.395413999825394 ], [ -122.871205013532929, 38.394913985814064 ], [ -122.872626012007572, 38.394543992874802 ], [ -122.87350501995877, 38.394713995522785 ], [ -122.874793013571136, 38.394421986125124 ], [ -122.875632003516728, 38.393460993449466 ], [ -122.87575400717769, 38.393240004887851 ], [ -122.875907017621302, 38.393170990599252 ], [ -122.876105001295386, 38.393064988771435 ], [ -122.877001978771347, 38.39286699410178 ], [ -122.877117986919544, 38.392776007141165 ], [ -122.877641986777746, 38.392738992320268 ], [ -122.878077989637347, 38.392708009206494 ], [ -122.878427002630801, 38.392615995707061 ], [ -122.879067986453407, 38.391952987929095 ], [ -122.879592019693035, 38.391541003757055 ], [ -122.880610019206998, 38.391473009413723 ], [ -122.881307979654139, 38.39128998710369 ], [ -122.881337009874869, 38.391153001468609 ], [ -122.881394997654624, 38.391115004335461 ], [ -122.882209999333327, 38.390581002769807 ], [ -122.88314100038491, 38.390557995653936 ], [ -122.884332984691397, 38.390376010003394 ], [ -122.885176988625417, 38.390010011164293 ], [ -122.885322981416465, 38.389757985810498 ], [ -122.885876009698393, 38.389392013721675 ], [ -122.8870970044118, 38.389004012671435 ], [ -122.888859017238104, 38.388767011385482 ], [ -122.889134021781047, 38.388729990449143 ], [ -122.889483011781437, 38.388454987233153 ], [ -122.88980301306043, 38.387974996323479 ], [ -122.89070699283198, 38.384930001513652 ], [ -122.89117197775748, 38.383969004246403 ], [ -122.891522012289997, 38.383602992521475 ], [ -122.891725985033304, 38.38355699301772 ], [ -122.892045982930156, 38.383145010312866 ], [ -122.892076007774406, 38.382984999101872 ], [ -122.892220996448074, 38.382962003247776 ], [ -122.89309401294382, 38.382367990317455 ], [ -122.894431983387506, 38.381704016968101 ], [ -122.896206995654452, 38.380492002821263 ], [ -122.896265004423284, 38.380239991082426 ], [ -122.896469018303051, 38.380125018022753 ], [ -122.896526984280683, 38.379964995050535 ], [ -122.896963011423395, 38.379668007983675 ], [ -122.898126981501349, 38.37918700728536 ], [ -122.898213980661922, 38.379049997116326 ], [ -122.898359004275335, 38.379026993680654 ], [ -122.899610005748968, 38.378271987723274 ], [ -122.900628001725494, 38.377631994905784 ], [ -122.901210011697714, 38.37740298956173 ], [ -122.901385001761085, 38.377242992249421 ], [ -122.901734013956812, 38.377174003119826 ], [ -122.904147989675138, 38.376029993890484 ], [ -122.905368989107942, 38.375391005529266 ], [ -122.906998009043789, 38.374915008174753 ], [ -122.908538988761478, 38.374588995756859 ], [ -122.909033006419975, 38.374485984845528 ], [ -122.909732010340363, 38.374029994706277 ], [ -122.909935004348981, 38.373984983600245 ], [ -122.910138989983039, 38.373824995385945 ], [ -122.9118250115026, 38.373344010660034 ], [ -122.911884017207285, 38.373253016476539 ], [ -122.911035000760677, 38.371298003405101 ], [ -122.910372997332971, 38.369773007707337 ], [ -122.910402009771786, 38.369200007700854 ], [ -122.910576997475744, 38.368536995752962 ], [ -122.911450980048002, 38.36659099537156 ], [ -122.912091003442242, 38.365950017075676 ], [ -122.912090979373602, 38.365859013601138 ], [ -122.913254017184002, 38.364690986952944 ], [ -122.913370992486449, 38.364462983869686 ], [ -122.913487007587335, 38.364440010620207 ], [ -122.913864989775746, 38.363935985265066 ], [ -122.91502901858378, 38.361486992017767 ], [ -122.91546501768849, 38.360822998984837 ], [ -122.916570018787397, 38.359655987861913 ], [ -122.918517997054224, 38.358167997190669 ], [ -122.918664019887515, 38.358167992958727 ], [ -122.919971983658087, 38.357298990180695 ], [ -122.920262997629123, 38.356932005643039 ], [ -122.920320984264578, 38.356565988786784 ], [ -122.920961004816448, 38.355650999524251 ], [ -122.921078017476646, 38.354941003621995 ], [ -122.920903021896848, 38.354619996685393 ], [ -122.920264005468894, 38.353933991393546 ], [ -122.920147995595372, 38.3538880057746 ], [ -122.919043005738175, 38.352444989721072 ], [ -122.918782015906572, 38.35223900364921 ], [ -122.918753020449074, 38.352102002791007 ], [ -122.918229980461433, 38.351644015700906 ], [ -122.916950996102926, 38.351049005365923 ], [ -122.916311015912214, 38.35052199630298 ], [ -122.916166011434754, 38.349651988839021 ], [ -122.916079006194607, 38.349582996133904 ], [ -122.916049984608293, 38.348621997199082 ], [ -122.915847021288954, 38.347546000980046 ], [ -122.915818982859761, 38.346240983497687 ], [ -122.916226011331119, 38.344523996722124 ], [ -122.91625400994802, 38.34354001393929 ], [ -122.916313999625174, 38.341479990729617 ], [ -122.91660498128546, 38.340906997017576 ], [ -122.917070022343452, 38.340564011689246 ], [ -122.917408995054416, 38.340193018539246 ], [ -122.918117002407016, 38.339419999768019 ], [ -122.918584987662953, 38.338668003397395 ], [ -122.91878599868862, 38.33834401403638 ], [ -122.922041016686634, 38.335391993052333 ], [ -122.923814977708645, 38.333492989294228 ], [ -122.924686989461293, 38.332095998962807 ], [ -122.925054990249876, 38.331106984288631 ], [ -122.925181015490949, 38.330768994547071 ], [ -122.925732993435346, 38.32987599220877 ], [ -122.927215983431012, 38.326166984115694 ], [ -122.927681016959482, 38.324382007272611 ], [ -122.92788598534986, 38.324267999885699 ], [ -122.928331009802392, 38.324484992703617 ], [ -122.928437987497389, 38.324129983565527 ], [ -122.92878598252527, 38.323672006359331 ], [ -122.928989986662046, 38.323488995249349 ], [ -122.929397009934348, 38.323306000548833 ], [ -122.929455013023528, 38.322985989588567 ], [ -122.929716013287063, 38.322779987589598 ], [ -122.930093978422207, 38.322229999266163 ], [ -122.930704003101596, 38.321818008612951 ], [ -122.931024001823218, 38.321498010469675 ], [ -122.93154701579445, 38.321268993436078 ], [ -122.932011993173234, 38.320880005452892 ], [ -122.932621985882818, 38.320720000006979 ], [ -122.932971001489648, 38.32090298281976 ], [ -122.933291005782223, 38.320902989233758 ], [ -122.93468498383173, 38.320444986008376 ], [ -122.935440986806114, 38.319849987269016 ], [ -122.935441015029667, 38.319666993180718 ], [ -122.935325002089527, 38.318820009387778 ], [ -122.93567301295964, 38.318064003333255 ], [ -122.93578998776438, 38.317469001940935 ], [ -122.935702014336044, 38.317354996043797 ], [ -122.935702982598244, 38.316713988841187 ], [ -122.935934988010061, 38.316050013677106 ], [ -122.935876983592223, 38.315293995421882 ], [ -122.93503401582656, 38.314103998454243 ], [ -122.934975994858235, 38.313829017216079 ], [ -122.934511016257844, 38.313989010552788 ], [ -122.93416298153096, 38.313988991748111 ], [ -122.933784984635622, 38.313623001628414 ], [ -122.933814018716546, 38.313142015485383 ], [ -122.934163005888308, 38.312776012023072 ], [ -122.934686008288779, 38.312479000232791 ], [ -122.936196981109447, 38.312112012508173 ], [ -122.936544977580439, 38.311837991393702 ], [ -122.936835989060469, 38.310807000890023 ], [ -122.936719978026076, 38.310417996071784 ], [ -122.936545009335347, 38.310211988845765 ], [ -122.935613009749233, 38.30971600899715 ], [ -122.935470011004838, 38.309639993719067 ], [ -122.935121989650284, 38.309547987696583 ], [ -122.9346569897276, 38.309662990024648 ], [ -122.934453997618206, 38.309822988085678 ], [ -122.934279015194747, 38.310234997244834 ], [ -122.932390995533126, 38.311677002829931 ], [ -122.931751979154001, 38.311562991802901 ], [ -122.930937978181305, 38.311699989971054 ], [ -122.929572004775977, 38.312318007050138 ], [ -122.928264990906484, 38.312707002086903 ], [ -122.927770985056313, 38.312752993187729 ], [ -122.926521989968123, 38.312661001928085 ], [ -122.925475019225317, 38.312730011627963 ], [ -122.924545013362135, 38.312249012971627 ], [ -122.923469979803272, 38.311218999731956 ], [ -122.923005986657103, 38.310143014452635 ], [ -122.922861019372334, 38.309364013628318 ], [ -122.922627983783286, 38.308929010761943 ], [ -122.922017981073694, 38.3085859939249 ], [ -122.921407991234801, 38.308608998001702 ], [ -122.918531984376614, 38.309912992151546 ], [ -122.917921997849476, 38.310279013361239 ], [ -122.917602015854371, 38.310577008608632 ], [ -122.91754397838352, 38.311561011363573 ], [ -122.917340020762126, 38.311904008601147 ], [ -122.91646798347638, 38.312477017141298 ], [ -122.916294005147776, 38.31265999304231 ], [ -122.916352000439133, 38.312933997797423 ], [ -122.916903999454732, 38.313368992782493 ], [ -122.91861798500625, 38.314079006853625 ], [ -122.919460019260441, 38.314537003278019 ], [ -122.920245001079493, 38.315201008187586 ], [ -122.92076699072274, 38.31602599769348 ], [ -122.920853980093085, 38.316528991229355 ], [ -122.920737992762952, 38.316804002669336 ], [ -122.920506014033577, 38.316987015884017 ], [ -122.919624992374253, 38.317205987367927 ], [ -122.918849003995817, 38.317399008646859 ], [ -122.918094016450695, 38.317787988940758 ], [ -122.917774009345521, 38.318040006877915 ], [ -122.917250981381528, 38.318932008258606 ], [ -122.916495015450678, 38.319802014639066 ], [ -122.916001013517715, 38.320145013428657 ], [ -122.915507013897042, 38.320328004726278 ], [ -122.914171014478768, 38.320327985237988 ], [ -122.912978981938863, 38.320189984571968 ], [ -122.912369015421106, 38.320258989328067 ], [ -122.911729983467595, 38.320784996517702 ], [ -122.911323002610374, 38.320945011746879 ], [ -122.910741980739019, 38.320944993488339 ], [ -122.909607988148281, 38.320738987243352 ], [ -122.90737101621994, 38.320166010431848 ], [ -122.906673986021715, 38.31975398527819 ], [ -122.90667400743007, 38.319318995901725 ], [ -122.907226992547436, 38.318587000527863 ], [ -122.90783698523272, 38.318243003259944 ], [ -122.909318981720304, 38.31806098821589 ], [ -122.910074978995695, 38.317762999014192 ], [ -122.910540003961557, 38.317373990378265 ], [ -122.910685020433334, 38.316961994382027 ], [ -122.910568978432508, 38.31641299384853 ], [ -122.909842994680133, 38.314787000301919 ], [ -122.90935001668818, 38.314237989676165 ], [ -122.908914009787523, 38.31412299006513 ], [ -122.908361996847361, 38.314123017770292 ], [ -122.903421016386318, 38.316067002041514 ], [ -122.902345012012134, 38.316707998947081 ], [ -122.901590012154927, 38.316913984468229 ], [ -122.901095978769078, 38.316913991393491 ], [ -122.899613998307572, 38.316729984692628 ], [ -122.89935298683892, 38.31647801202562 ], [ -122.898191999950399, 38.314463017764844 ], [ -122.898071015515498, 38.3142590068475 ], [ -122.897045010994404, 38.313559015035331 ], [ -122.896652995326562, 38.313318010671253 ], [ -122.876105015641613, 38.299296003747394 ], [ -122.874304992714073, 38.298016012887942 ], [ -122.868705017213827, 38.294215994371868 ], [ -122.868339992606749, 38.293979994418457 ], [ -122.863904998735038, 38.291116017134478 ], [ -122.860505013311439, 38.2888159970868 ], [ -122.860205021859784, 38.288516011266864 ], [ -122.853604006744391, 38.284116008862604 ], [ -122.853204014989288, 38.283815985731827 ], [ -122.842503981896357, 38.276715992388894 ], [ -122.841803992362145, 38.27621700630818 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 426, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.015071000327595, 37.37534100085113 ], [ -122.015971000018567, 37.375441000573645 ], [ -122.016928999772389, 37.375654001112636 ], [ -122.017131999829516, 37.374941000436486 ], [ -122.017401999980834, 37.373991000531468 ], [ -122.019914999839997, 37.374896000578559 ], [ -122.020671000137199, 37.375141000780552 ], [ -122.02507099945818, 37.376641000727737 ], [ -122.025370999686686, 37.376741000658491 ], [ -122.028670999717136, 37.377841000311754 ], [ -122.033770999613409, 37.379540000403921 ], [ -122.033606999943927, 37.380053000915012 ], [ -122.032971000308848, 37.38204000052464 ], [ -122.032370999705336, 37.384240001002624 ], [ -122.032150999412124, 37.384181000852372 ], [ -122.031932999487097, 37.384123000945017 ], [ -122.031702999612662, 37.384062000928225 ], [ -122.030871000194807, 37.383840000333016 ], [ -122.029719000217071, 37.383604000785979 ], [ -122.027950999531015, 37.383241000510488 ], [ -122.026970999972264, 37.383040000280346 ], [ -122.023071000054856, 37.382240000848199 ], [ -122.021170999406422, 37.38174000070611 ], [ -122.019970999644755, 37.381040000799175 ], [ -122.018970999963045, 37.380441000330187 ], [ -122.018771000105588, 37.381540000803454 ], [ -122.018171000204987, 37.383340000955499 ], [ -122.017870999617571, 37.384140000780711 ], [ -122.017571000036725, 37.385140000960945 ], [ -122.016671000480599, 37.385740000487296 ], [ -122.016348999560378, 37.386067000588831 ], [ -122.016349000368294, 37.385693000299383 ], [ -122.016348999907365, 37.385487000604584 ], [ -122.016318000316673, 37.385320000382627 ], [ -122.016395000324636, 37.385106000873265 ], [ -122.016333999813753, 37.385076000403664 ], [ -122.01630099958561, 37.38501900038225 ], [ -122.016272000385186, 37.384969001064668 ], [ -122.016226999500176, 37.384877000951626 ], [ -122.016195999549467, 37.384847000325884 ], [ -122.016134999720933, 37.384702000242285 ], [ -122.016119999875897, 37.384618000402035 ], [ -122.015921999694569, 37.38439600088001 ], [ -122.015722999498777, 37.384213000385678 ], [ -122.015478999751053, 37.384023000891382 ], [ -122.015264999980502, 37.383878000907991 ], [ -122.015066999652916, 37.383756001030847 ], [ -122.014899000005315, 37.383656000308505 ], [ -122.014792000380908, 37.383588000731123 ], [ -122.014571000093966, 37.383540000245141 ], [ -122.014561999919763, 37.383562001084023 ], [ -122.014486999958393, 37.383504000666527 ], [ -122.013470999587696, 37.382840001007864 ], [ -122.012270999849562, 37.381141000418459 ], [ -122.012370999834559, 37.380841000401283 ], [ -122.012871000364342, 37.379441000790969 ], [ -122.013170999599112, 37.37834100076973 ], [ -122.013370999808984, 37.378041000425426 ], [ -122.013370999573951, 37.377841000808068 ], [ -122.014170999580571, 37.375141000280657 ], [ -122.015071000327595, 37.37534100085113 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 427, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.996269999827007, 37.377241000318506 ], [ -121.996269999724419, 37.376741000537223 ], [ -121.996269999614469, 37.376421000979732 ], [ -121.996269999503198, 37.37614100056431 ], [ -121.996269999834823, 37.375898000512485 ], [ -121.996269999861312, 37.37494100044789 ], [ -121.996270000328266, 37.374241001024025 ], [ -121.996269999896526, 37.37384100028104 ], [ -121.996457000214122, 37.37382700026847 ], [ -121.996561999923301, 37.373529001124759 ], [ -121.996969999619651, 37.370841000230875 ], [ -121.996969999530364, 37.370341000796813 ], [ -122.001070000027809, 37.371056000638184 ], [ -122.011259000322013, 37.372833000367564 ], [ -122.014171000091196, 37.373341000732971 ], [ -122.017401999980834, 37.373991000531468 ], [ -122.017131999829516, 37.374941000436486 ], [ -122.016928999772389, 37.375654001112636 ], [ -122.015971000018567, 37.375441000573645 ], [ -122.015071000327595, 37.37534100085113 ], [ -122.014170999580571, 37.375141000280657 ], [ -122.013370999573951, 37.377841000808068 ], [ -122.013370999808984, 37.378041000425426 ], [ -122.013170999599112, 37.37834100076973 ], [ -122.012871000364342, 37.379441000790969 ], [ -122.012370999834559, 37.380841000401283 ], [ -122.012270999849562, 37.381141000418459 ], [ -122.013470999587696, 37.382840001007864 ], [ -122.014486999958393, 37.383504000666527 ], [ -122.014561999919763, 37.383562001084023 ], [ -122.014571000093966, 37.383540000245141 ], [ -122.014792000380908, 37.383588000731123 ], [ -122.014899000005315, 37.383656000308505 ], [ -122.015066999652916, 37.383756001030847 ], [ -122.015264999980502, 37.383878000907991 ], [ -122.015478999751053, 37.384023000891382 ], [ -122.015722999498777, 37.384213000385678 ], [ -122.015921999694569, 37.38439600088001 ], [ -122.016119999875897, 37.384618000402035 ], [ -122.016134999720933, 37.384702000242285 ], [ -122.016195999549467, 37.384847000325884 ], [ -122.016226999500176, 37.384877000951626 ], [ -122.016272000385186, 37.384969001064668 ], [ -122.01630099958561, 37.38501900038225 ], [ -122.016333999813753, 37.385076000403664 ], [ -122.016395000324636, 37.385106000873265 ], [ -122.016318000316673, 37.385320000382627 ], [ -122.016348999907365, 37.385487000604584 ], [ -122.016349000368294, 37.385693000299383 ], [ -122.016348999560378, 37.386067000588831 ], [ -122.016171000053504, 37.386540000566832 ], [ -122.015970999668426, 37.38724000026825 ], [ -122.015671000445067, 37.387940000875005 ], [ -122.015471000441636, 37.388640000423692 ], [ -122.014470999523027, 37.388440000890114 ], [ -122.013571000468446, 37.388240000675218 ], [ -122.013070999501181, 37.388140000706578 ], [ -122.012855000142224, 37.388135000580462 ], [ -122.012852999536378, 37.388140000783267 ], [ -122.012071000027035, 37.388140000937454 ], [ -122.009371000054813, 37.388140000305647 ], [ -122.008470999427203, 37.388140001107409 ], [ -122.007571000012959, 37.388140000475268 ], [ -122.006670999517553, 37.388140001094023 ], [ -122.005771000109903, 37.388240000306808 ], [ -122.004270999810117, 37.388240000822165 ], [ -122.003370999497562, 37.388240000646945 ], [ -122.000670999949321, 37.388340000468034 ], [ -121.999470000462694, 37.388340000573244 ], [ -121.997869999729119, 37.388440001094871 ], [ -121.996169999820509, 37.388440000882056 ], [ -121.996269999633228, 37.38704000038404 ], [ -121.996270000483065, 37.386740000470198 ], [ -121.996270000444056, 37.386340000552096 ], [ -121.996330000160469, 37.385253000804326 ], [ -121.996374000114272, 37.383641000328694 ], [ -121.996270000455681, 37.382540000923449 ], [ -121.996358999631283, 37.382078000684025 ], [ -121.996269999937638, 37.380241000843384 ], [ -121.996269999666168, 37.378741000313298 ], [ -121.996269999718379, 37.378541000996613 ], [ -121.996269999825685, 37.378041000422556 ], [ -121.996269999835278, 37.37784100108248 ], [ -121.996269999827007, 37.377241000318506 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 431, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.968568999957526, 37.374040000943957 ], [ -121.966469000243833, 37.37404000078039 ], [ -121.966268999488619, 37.374040000400576 ], [ -121.965969000046115, 37.374040000563276 ], [ -121.963811000351612, 37.374089000272868 ], [ -121.962477000511328, 37.37407300112671 ], [ -121.960849999670614, 37.374053000253866 ], [ -121.960352999685199, 37.374047000581093 ], [ -121.959768999743474, 37.374040001030963 ], [ -121.959768999618149, 37.37344000080099 ], [ -121.959768999520733, 37.370572001036095 ], [ -121.959768999776983, 37.36924100074728 ], [ -121.959769000424672, 37.366041000238866 ], [ -121.959768999998957, 37.363241000999736 ], [ -121.959883999622505, 37.363291000673215 ], [ -121.960650000140319, 37.363628000353032 ], [ -121.96636900045371, 37.366141000434233 ], [ -121.968869000225666, 37.36714100080431 ], [ -121.97476899967144, 37.369541000721 ], [ -121.977268999457479, 37.370041000531074 ], [ -121.977268999671011, 37.37124100064969 ], [ -121.97794000039697, 37.372595000255643 ], [ -121.978070000210622, 37.373941000640258 ], [ -121.97807000001643, 37.374641000859562 ], [ -121.978033000256502, 37.374941000266318 ], [ -121.977969999781209, 37.375441000303006 ], [ -121.977269999927984, 37.375041001050398 ], [ -121.977094000472121, 37.374941000284849 ], [ -121.976569000078442, 37.374641000736503 ], [ -121.97636900017784, 37.374541000302379 ], [ -121.975169000117091, 37.37414100055998 ], [ -121.973868999886292, 37.374141000759998 ], [ -121.972168999898983, 37.374140000314327 ], [ -121.972049999875281, 37.374140000727117 ], [ -121.970869000004555, 37.374140000878754 ], [ -121.968869000459378, 37.374140000460692 ], [ -121.968568999957526, 37.374040000943957 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 432, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.947768000354571, 37.357941000491451 ], [ -121.952667999439655, 37.360141000996336 ], [ -121.959768999998957, 37.363241000999736 ], [ -121.959769000424672, 37.366041000238866 ], [ -121.959768999776983, 37.36924100074728 ], [ -121.959768999520733, 37.370572001036095 ], [ -121.959768999618149, 37.37344000080099 ], [ -121.959768999743474, 37.374040001030963 ], [ -121.950768999446893, 37.374140000707087 ], [ -121.948946000067707, 37.373938000814917 ], [ -121.948012999906425, 37.373834000861763 ], [ -121.946267999396994, 37.373640000450294 ], [ -121.943668000364184, 37.37334000077535 ], [ -121.941867999499664, 37.37034000029427 ], [ -121.941782999638235, 37.366950000765904 ], [ -121.941768000379113, 37.366340000410801 ], [ -121.941344999741489, 37.366340000361717 ], [ -121.940768000436663, 37.366340000502248 ], [ -121.939767999625204, 37.365240001009397 ], [ -121.939768000413238, 37.364340000433565 ], [ -121.937968000384799, 37.362741000660634 ], [ -121.938024000012774, 37.362681000624939 ], [ -121.933358000212436, 37.358546000234988 ], [ -121.935068000286662, 37.356741001057337 ], [ -121.931868000097609, 37.356041000297168 ], [ -121.931767999712235, 37.351841000563823 ], [ -121.931867999983282, 37.350841000328906 ], [ -121.937768000285914, 37.353741000528899 ], [ -121.941267999960999, 37.355241000240156 ], [ -121.941968000165943, 37.355541000615879 ], [ -121.942668000319642, 37.355841000473738 ], [ -121.943700999784539, 37.356266000458 ], [ -121.947768000354571, 37.357941000491451 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 434, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.941867999499664, 37.37034000029427 ], [ -121.943668000364184, 37.37334000077535 ], [ -121.946267999396994, 37.373640000450294 ], [ -121.946855999689106, 37.37494000029794 ], [ -121.947372999864982, 37.376082001048225 ], [ -121.948168999758522, 37.377840000794535 ], [ -121.944968000465451, 37.37714000084295 ], [ -121.944367999436125, 37.377140000283632 ], [ -121.942268000474698, 37.376640000283473 ], [ -121.942055999727572, 37.376585000229312 ], [ -121.941767999910198, 37.376540000662231 ], [ -121.93996800007875, 37.376140001125115 ], [ -121.939068000409023, 37.376040000256808 ], [ -121.938367999526491, 37.375840000253895 ], [ -121.933667999400583, 37.374940001035448 ], [ -121.933068000090501, 37.374740000753164 ], [ -121.931867999467784, 37.374540000269164 ], [ -121.929767999742424, 37.374040000739747 ], [ -121.927767999926928, 37.373540000979048 ], [ -121.927267999792008, 37.370840001076267 ], [ -121.92608299979922, 37.369556000708513 ], [ -121.924868000440398, 37.368240001027345 ], [ -121.924468000074299, 37.367940000959415 ], [ -121.921166999690172, 37.366140000428246 ], [ -121.919066999388107, 37.364040001052558 ], [ -121.918629999631975, 37.363449000917896 ], [ -121.916792999907273, 37.360967000471462 ], [ -121.911667000022618, 37.354041000410277 ], [ -121.911966999443521, 37.353641000405752 ], [ -121.917066999505053, 37.349841001003043 ], [ -121.917967000333803, 37.349241000432059 ], [ -121.918366999886757, 37.348941000447233 ], [ -121.918766999620587, 37.348641000877841 ], [ -121.918967000012273, 37.348441001052358 ], [ -121.92066700014233, 37.347141000882999 ], [ -121.921767000159036, 37.34624100085621 ], [ -121.921966999674069, 37.346041000282234 ], [ -121.923767000215605, 37.346941000237472 ], [ -121.931867999983282, 37.350841000328906 ], [ -121.931767999712235, 37.351841000563823 ], [ -121.931868000097609, 37.356041000297168 ], [ -121.935068000286662, 37.356741001057337 ], [ -121.933358000212436, 37.358546000234988 ], [ -121.938024000012774, 37.362681000624939 ], [ -121.937968000384799, 37.362741000660634 ], [ -121.939768000413238, 37.364340000433565 ], [ -121.939767999625204, 37.365240001009397 ], [ -121.940768000436663, 37.366340000502248 ], [ -121.941344999741489, 37.366340000361717 ], [ -121.941768000379113, 37.366340000410801 ], [ -121.941782999638235, 37.366950000765904 ], [ -121.941867999499664, 37.37034000029427 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 538, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.906666000504842, 37.33174100093256 ], [ -121.905765999443631, 37.331741000309606 ], [ -121.904865999413886, 37.331841001057832 ], [ -121.904066000325614, 37.331941001084466 ], [ -121.903865999481411, 37.331941000436686 ], [ -121.903493999993302, 37.331939000693389 ], [ -121.903166000471657, 37.331941000499995 ], [ -121.902274000261528, 37.33194100059449 ], [ -121.901373999905076, 37.332007001102504 ], [ -121.90036599987458, 37.332041000795094 ], [ -121.899365999609699, 37.332141000816797 ], [ -121.89936599993564, 37.330541000811998 ], [ -121.8996660004848, 37.329541000953697 ], [ -121.899466000515559, 37.328241000659354 ], [ -121.90036599982993, 37.326541000745131 ], [ -121.900966000512, 37.326441000946488 ], [ -121.902866000081502, 37.326441000715782 ], [ -121.903166000338487, 37.326441000785927 ], [ -121.903665999720715, 37.326341000227842 ], [ -121.904466000166991, 37.326341000814388 ], [ -121.904965999463187, 37.326241001051336 ], [ -121.906266000078716, 37.326241000390127 ], [ -121.906496999824725, 37.32624100037021 ], [ -121.907366000356717, 37.326241000731699 ], [ -121.907521999939746, 37.326222000530684 ], [ -121.90805700044352, 37.32615500100426 ], [ -121.908166000121071, 37.326141000394323 ], [ -121.908466000454126, 37.326141000533546 ], [ -121.908965999905561, 37.32614100026619 ], [ -121.909366000373637, 37.326141000882245 ], [ -121.910191999882343, 37.326069000675773 ], [ -121.911022000167449, 37.325997000867979 ], [ -121.911666999962421, 37.32594100058116 ], [ -121.911767000467023, 37.327141000400928 ], [ -121.911666999964353, 37.327941000838678 ], [ -121.911766999387012, 37.328241001083647 ], [ -121.9117669998042, 37.328741000353688 ], [ -121.911867000236541, 37.329441000402241 ], [ -121.911866999631442, 37.329741000986765 ], [ -121.911966999537924, 37.330741000489049 ], [ -121.911967000469645, 37.331541000974433 ], [ -121.909967000177829, 37.331541000371139 ], [ -121.90916600043775, 37.331641000510864 ], [ -121.908465999480867, 37.331741000530442 ], [ -121.907366000133649, 37.33174100087713 ], [ -121.906666000504842, 37.33174100093256 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 11, "TAZ1454": 539, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.902366000443138, 37.341341000369205 ], [ -121.902766000315538, 37.339441000657537 ], [ -121.902665999415419, 37.339241000645892 ], [ -121.902366000426113, 37.338441001089372 ], [ -121.902276999517639, 37.338328000782617 ], [ -121.901338000245431, 37.337133000770372 ], [ -121.901300000387565, 37.337085000828111 ], [ -121.901266000509693, 37.337041000347718 ], [ -121.900619999708823, 37.336454000963592 ], [ -121.900475999512608, 37.336323001123752 ], [ -121.900419999948909, 37.336272000665417 ], [ -121.900299000108589, 37.336162000366926 ], [ -121.900217999545461, 37.336088000269321 ], [ -121.900166000124642, 37.33604100100461 ], [ -121.899999000253956, 37.335683000532569 ], [ -121.899466000214758, 37.334541000636008 ], [ -121.899386999848346, 37.334436000500389 ], [ -121.899406000350112, 37.334333000913396 ], [ -121.899165999777722, 37.333841000816385 ], [ -121.899141000369951, 37.333235000349077 ], [ -121.89925199958131, 37.33269500099459 ], [ -121.899365999609699, 37.332141000816797 ], [ -121.90036599987458, 37.332041000795094 ], [ -121.901373999905076, 37.332007001102504 ], [ -121.902274000261528, 37.33194100059449 ], [ -121.903166000471657, 37.331941000499995 ], [ -121.903493999993302, 37.331939000693389 ], [ -121.903865999481411, 37.331941000436686 ], [ -121.904066000325614, 37.331941001084466 ], [ -121.905565999454396, 37.333441000503001 ], [ -121.90596600051299, 37.333741000501696 ], [ -121.907866000011609, 37.33544100094889 ], [ -121.909366999894672, 37.336841001115474 ], [ -121.91026700051971, 37.337641000435781 ], [ -121.910966999970157, 37.338241000475506 ], [ -121.911767000111823, 37.338941000630093 ], [ -121.912667000095325, 37.339741000670315 ], [ -121.913366999713887, 37.340541001043746 ], [ -121.91446700018534, 37.341541001054239 ], [ -121.91556700026824, 37.342541000774403 ], [ -121.91636700007902, 37.343341000561175 ], [ -121.918266999515879, 37.344241001097743 ], [ -121.919566999708522, 37.344941000640745 ], [ -121.921966999674069, 37.346041000282234 ], [ -121.921767000159036, 37.34624100085621 ], [ -121.92066700014233, 37.347141000882999 ], [ -121.918967000012273, 37.348441001052358 ], [ -121.918766999620587, 37.348641000877841 ], [ -121.918366999886757, 37.348941000447233 ], [ -121.917967000333803, 37.349241000432059 ], [ -121.917066999505053, 37.349841001003043 ], [ -121.911966999443521, 37.353641000405752 ], [ -121.911766999785414, 37.353281000826904 ], [ -121.909967000193049, 37.350041000706767 ], [ -121.908766999653551, 37.348941000978549 ], [ -121.907866999648547, 37.347941001124148 ], [ -121.906366999803865, 37.347141000620354 ], [ -121.904966999441029, 37.346441000977684 ], [ -121.904441000214931, 37.346795000527756 ], [ -121.904324999516604, 37.346629000474159 ], [ -121.903661000117879, 37.345693000453743 ], [ -121.903265999793589, 37.345241001054966 ], [ -121.902766000329834, 37.344741000486231 ], [ -121.902277000504611, 37.344092000968708 ], [ -121.902043999860879, 37.343484000328914 ], [ -121.901964000295948, 37.343084000929636 ], [ -121.901822999900546, 37.342544000454907 ], [ -121.901591000136534, 37.342187000705039 ], [ -121.90156599965043, 37.342141000882641 ], [ -121.901265999801808, 37.341741000339162 ], [ -121.902366000443138, 37.341341000369205 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 603, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.89636600012048, 37.363340000637095 ], [ -121.898266999473748, 37.363440001089025 ], [ -121.899166999402453, 37.363540000460439 ], [ -121.901567000348095, 37.363940000517793 ], [ -121.901966999636869, 37.364040000903401 ], [ -121.901766999503053, 37.364440000614579 ], [ -121.901367000348671, 37.36574000100417 ], [ -121.901192000380703, 37.366705000729596 ], [ -121.901166999561269, 37.366840000532413 ], [ -121.901166999510352, 37.367040000416893 ], [ -121.901266999500422, 37.368240000304112 ], [ -121.901600999916951, 37.369827000791737 ], [ -121.901666999535053, 37.370140001061806 ], [ -121.901967000257315, 37.371240000963532 ], [ -121.902868000185123, 37.374940000239611 ], [ -121.903867000224196, 37.379040000807031 ], [ -121.903866999755522, 37.379240000337155 ], [ -121.903867000074328, 37.379340000555558 ], [ -121.904167000069705, 37.380340000685173 ], [ -121.904294999944852, 37.380876000289845 ], [ -121.90466700041371, 37.382440000625756 ], [ -121.903806999654705, 37.382086001104696 ], [ -121.903734999794011, 37.382070000913735 ], [ -121.903186000322663, 37.381947001020215 ], [ -121.902788999897624, 37.381909000316483 ], [ -121.90251399983832, 37.381879000674239 ], [ -121.902346000026725, 37.381879000634946 ], [ -121.902041000408488, 37.381894000271274 ], [ -121.901704999572729, 37.381963000740448 ], [ -121.901522000185295, 37.381993001045707 ], [ -121.901292999494444, 37.382031000287 ], [ -121.901079999431133, 37.382108000975414 ], [ -121.900881000325285, 37.382131000501047 ], [ -121.900636999897074, 37.38222200028342 ], [ -121.90037800045819, 37.382390000411547 ], [ -121.900163999530307, 37.382520000667085 ], [ -121.899965999823223, 37.382634000968174 ], [ -121.89980199977785, 37.382752001055124 ], [ -121.899667000014816, 37.382823000870907 ], [ -121.899661000086724, 37.382825000996867 ], [ -121.89960499961677, 37.382865000538111 ], [ -121.899548999582024, 37.382896001073107 ], [ -121.89944699953729, 37.382947000535665 ], [ -121.899438999454418, 37.382953001111304 ], [ -121.899421999472409, 37.382962000504939 ], [ -121.899397000129241, 37.382971000252262 ], [ -121.899165999603838, 37.383028000416623 ], [ -121.899041999398065, 37.383010000806216 ], [ -121.899015999737088, 37.383009000701918 ], [ -121.8988830002816, 37.383023000344849 ], [ -121.898668999880286, 37.383061000750004 ], [ -121.898448999776704, 37.383089000386917 ], [ -121.898257000161067, 37.383107000548975 ], [ -121.898089000318819, 37.383115001046797 ], [ -121.897921000456776, 37.383099000416074 ], [ -121.897752999478485, 37.383082000851573 ], [ -121.897586000016204, 37.383054000514434 ], [ -121.897410999988722, 37.38302100041814 ], [ -121.897341000018315, 37.383008001126314 ], [ -121.897142999902428, 37.382985001044226 ], [ -121.896945000428161, 37.382977000741434 ], [ -121.89673099974695, 37.382924001025536 ], [ -121.89653300052251, 37.382878000434189 ], [ -121.89634999986346, 37.382848000384961 ], [ -121.896059999460718, 37.382741001061781 ], [ -121.896049999674801, 37.382738000882533 ], [ -121.895467000208527, 37.381240001111415 ], [ -121.895766999453514, 37.377540000844775 ], [ -121.895666999879595, 37.376940000652233 ], [ -121.895590999537873, 37.376745000516578 ], [ -121.895413999712133, 37.376338000733789 ], [ -121.895411999442587, 37.376335000413384 ], [ -121.89521999969449, 37.375546000721911 ], [ -121.895035000299259, 37.375133001073834 ], [ -121.894949000124399, 37.374940000869536 ], [ -121.894367000161793, 37.373640000427486 ], [ -121.894065999679555, 37.372640000279908 ], [ -121.893765999443531, 37.371940000343514 ], [ -121.893407999825996, 37.370972000877735 ], [ -121.893183000342987, 37.370365000333365 ], [ -121.893054000026581, 37.37001700077424 ], [ -121.892766000240655, 37.369240000658756 ], [ -121.892717999878769, 37.369144000887708 ], [ -121.892722999397023, 37.369012001103641 ], [ -121.892640999479241, 37.368627000250434 ], [ -121.892511000241399, 37.368349000623574 ], [ -121.892365999738274, 37.368040001101235 ], [ -121.89226599959305, 37.367340000662963 ], [ -121.892204999579732, 37.366947001122227 ], [ -121.892117000293354, 37.36640500099459 ], [ -121.892103999632582, 37.36632700052877 ], [ -121.892094999512778, 37.366270000956966 ], [ -121.891817999665619, 37.364551000998503 ], [ -121.891666000217825, 37.363840001012925 ], [ -121.891665999719748, 37.363240000628679 ], [ -121.891565999968208, 37.362840000270864 ], [ -121.893965999803626, 37.363140000622224 ], [ -121.895566000422093, 37.36324000079837 ], [ -121.89636600012048, 37.363340000637095 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 604, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.896059999460718, 37.382741001061781 ], [ -121.89634999986346, 37.382848000384961 ], [ -121.89653300052251, 37.382878000434189 ], [ -121.89673099974695, 37.382924001025536 ], [ -121.896945000428161, 37.382977000741434 ], [ -121.897142999902428, 37.382985001044226 ], [ -121.897341000018315, 37.383008001126314 ], [ -121.897410999988722, 37.38302100041814 ], [ -121.897586000016204, 37.383054000514434 ], [ -121.897752999478485, 37.383082000851573 ], [ -121.897921000456776, 37.383099000416074 ], [ -121.898089000318819, 37.383115001046797 ], [ -121.898257000161067, 37.383107000548975 ], [ -121.898448999776704, 37.383089000386917 ], [ -121.898668999880286, 37.383061000750004 ], [ -121.8988830002816, 37.383023000344849 ], [ -121.899015999737088, 37.383009000701918 ], [ -121.899041999398065, 37.383010000806216 ], [ -121.899165999603838, 37.383028000416623 ], [ -121.899397000129241, 37.382971000252262 ], [ -121.899421999472409, 37.382962000504939 ], [ -121.899438999454418, 37.382953001111304 ], [ -121.89944699953729, 37.382947000535665 ], [ -121.899548999582024, 37.382896001073107 ], [ -121.89960499961677, 37.382865000538111 ], [ -121.899661000086724, 37.382825000996867 ], [ -121.899667000014816, 37.382823000870907 ], [ -121.89980199977785, 37.382752001055124 ], [ -121.899965999823223, 37.382634000968174 ], [ -121.900163999530307, 37.382520000667085 ], [ -121.90037800045819, 37.382390000411547 ], [ -121.900636999897074, 37.38222200028342 ], [ -121.900881000325285, 37.382131000501047 ], [ -121.901079999431133, 37.382108000975414 ], [ -121.901292999494444, 37.382031000287 ], [ -121.901522000185295, 37.381993001045707 ], [ -121.901704999572729, 37.381963000740448 ], [ -121.902041000408488, 37.381894000271274 ], [ -121.902346000026725, 37.381879000634946 ], [ -121.90251399983832, 37.381879000674239 ], [ -121.902788999897624, 37.381909000316483 ], [ -121.903186000322663, 37.381947001020215 ], [ -121.903734999794011, 37.382070000913735 ], [ -121.903806999654705, 37.382086001104696 ], [ -121.90466700041371, 37.382440000625756 ], [ -121.904741999440546, 37.382634000500545 ], [ -121.905167000440983, 37.384740000897253 ], [ -121.90522099958163, 37.384956000589931 ], [ -121.905467000122243, 37.38594000095177 ], [ -121.905511000323997, 37.386138000993775 ], [ -121.905832000402611, 37.387583001031793 ], [ -121.906666999861713, 37.391340000250992 ], [ -121.907166999589606, 37.393140000259891 ], [ -121.90879300042063, 37.399834000799856 ], [ -121.908866999762836, 37.400139000940733 ], [ -121.909067000496933, 37.401639001075075 ], [ -121.907766999526146, 37.402839000720618 ], [ -121.90746700026547, 37.403139000869132 ], [ -121.906561999774908, 37.403850001022668 ], [ -121.906067000348884, 37.404239000897093 ], [ -121.905822000352472, 37.404306000546882 ], [ -121.904966999930764, 37.404539001042814 ], [ -121.904667000233403, 37.404539000763812 ], [ -121.902967000231754, 37.404339001112589 ], [ -121.90296700003104, 37.402539000870583 ], [ -121.902923000211544, 37.40153000086918 ], [ -121.902866999699725, 37.400239000330131 ], [ -121.902865000440087, 37.399296000811781 ], [ -121.902849999619889, 37.39886800080496 ], [ -121.902635999574301, 37.397770000711851 ], [ -121.902620999830773, 37.39763000079148 ], [ -121.902566999580472, 37.397139001034695 ], [ -121.902514000241709, 37.397034000670246 ], [ -121.902466999879422, 37.396939000438344 ], [ -121.902366999540448, 37.396539000812183 ], [ -121.902166999652366, 37.395739000354894 ], [ -121.901767000093784, 37.393739001072213 ], [ -121.901266999407085, 37.391440000488323 ], [ -121.901079999936414, 37.390630000964492 ], [ -121.900912000126013, 37.389592000861988 ], [ -121.900766999966336, 37.38934000031098 ], [ -121.900301000155281, 37.388564000568621 ], [ -121.900226999685231, 37.388440000922969 ], [ -121.90016699943574, 37.388340000733663 ], [ -121.899677000477993, 37.387639001073097 ], [ -121.899466999911056, 37.387340000247299 ], [ -121.898563999927404, 37.386136000964335 ], [ -121.898393999739937, 37.385909000295435 ], [ -121.897684000519348, 37.384962000250603 ], [ -121.897329000177166, 37.384489001109195 ], [ -121.897256000117565, 37.384392000438993 ], [ -121.89713599955202, 37.384233000738845 ], [ -121.897066999855767, 37.38414000045438 ], [ -121.896785999735755, 37.38379600105236 ], [ -121.896167000141475, 37.383040001049586 ], [ -121.896049999674801, 37.382738000882533 ], [ -121.896059999460718, 37.382741001061781 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 12, "TAZ1454": 607, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.899066000414109, 37.412434000847504 ], [ -121.899767000013355, 37.412839000677423 ], [ -121.900172000412212, 37.413299000455552 ], [ -121.901186999829719, 37.414266000779023 ], [ -121.901742999593679, 37.414548000356483 ], [ -121.902084999901632, 37.414722000236452 ], [ -121.902775000192804, 37.415072000519153 ], [ -121.904989999489956, 37.415571000775032 ], [ -121.905256999976515, 37.415603000615981 ], [ -121.905387999993621, 37.415618000561444 ], [ -121.906172000419431, 37.415990000454244 ], [ -121.909078000229954, 37.416706000969128 ], [ -121.910136999468364, 37.416779000842908 ], [ -121.910918999736055, 37.416828000351863 ], [ -121.911223000264883, 37.416769000624193 ], [ -121.913215999806596, 37.416397000395698 ], [ -121.913314000334282, 37.416685000477592 ], [ -121.913755999982868, 37.417979000720209 ], [ -121.914768000094753, 37.420939000449003 ], [ -121.915261000174567, 37.421966000291704 ], [ -121.915968000143366, 37.42343900025066 ], [ -121.916168000315722, 37.42433900091612 ], [ -121.916367999780078, 37.425139000659001 ], [ -121.916667999396765, 37.425839000331095 ], [ -121.915967999567002, 37.425839000997797 ], [ -121.915668000002768, 37.426039001062435 ], [ -121.914767999737592, 37.426239001110751 ], [ -121.914267999695127, 37.426439000753092 ], [ -121.912668000293337, 37.42683900082389 ], [ -121.910667999803763, 37.427239000492435 ], [ -121.910168000173712, 37.427739000915714 ], [ -121.909867999879324, 37.429139000328668 ], [ -121.908968000177538, 37.429939001056056 ], [ -121.908667999749099, 37.430439001078845 ], [ -121.908483999978287, 37.430649001059315 ], [ -121.908187999795231, 37.430884000329023 ], [ -121.907828000317082, 37.431119000545159 ], [ -121.907268000031209, 37.431339000286954 ], [ -121.906368000135501, 37.431539000514242 ], [ -121.905940000519095, 37.431576000616658 ], [ -121.90524199951426, 37.431639000579388 ], [ -121.90376799994506, 37.431639000974329 ], [ -121.903068000013576, 37.431639000572588 ], [ -121.902868000065155, 37.431339001119589 ], [ -121.893367000290354, 37.414039000640287 ], [ -121.891767000164592, 37.41093900072601 ], [ -121.890167000401235, 37.408239000400073 ], [ -121.894266999834386, 37.41023900049904 ], [ -121.894779000419717, 37.410489000432264 ], [ -121.896516999743895, 37.411335001040534 ], [ -121.899066000414109, 37.412434000847504 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 750, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.912467999781725, 37.460938000613687 ], [ -121.912811999871579, 37.460895000997063 ], [ -121.913356000148354, 37.460579000822491 ], [ -121.913608000356589, 37.460450000518264 ], [ -121.913899999785045, 37.46030400050234 ], [ -121.914473999925534, 37.459984000330365 ], [ -121.914857000465247, 37.459746000461635 ], [ -121.915360999555745, 37.459395000721919 ], [ -121.915663000088983, 37.45918700082558 ], [ -121.915995999774609, 37.458983000707967 ], [ -121.916247999914432, 37.458874000606535 ], [ -121.916596999541696, 37.458768000272045 ], [ -121.916967999688126, 37.45853800078342 ], [ -121.917367999695173, 37.458338000710668 ], [ -121.919387000360288, 37.457251001079676 ], [ -121.921231000091765, 37.456258001035749 ], [ -121.922568999692146, 37.455538000876857 ], [ -121.922859000235547, 37.455683001007266 ], [ -121.923555999490389, 37.45535000100476 ], [ -121.923911999397745, 37.456050000743318 ], [ -121.924008000381306, 37.456276000529286 ], [ -121.924268999719132, 37.456938000994796 ], [ -121.93376900033229, 37.476638000534855 ], [ -121.934768999807432, 37.478738000383942 ], [ -121.935968999793502, 37.481238000862191 ], [ -121.936168999399911, 37.48183800039326 ], [ -121.936611999489543, 37.482593001062703 ], [ -121.936768999817687, 37.482938000633752 ], [ -121.936563999808712, 37.483094000641557 ], [ -121.935253000118607, 37.484304000499925 ], [ -121.934584999774984, 37.48492300044888 ], [ -121.934356999733339, 37.485127001122294 ], [ -121.934088999443333, 37.485366000433878 ], [ -121.933633000397805, 37.485762000878125 ], [ -121.933404000317921, 37.485960000398407 ], [ -121.932469000467989, 37.486937000887522 ], [ -121.932268999491995, 37.487137000642086 ], [ -121.929869000280078, 37.489437000550879 ], [ -121.929568999883287, 37.489737000412781 ], [ -121.929368999961937, 37.489337000577351 ], [ -121.929169000008997, 37.488837000845905 ], [ -121.928668999696143, 37.487937000635561 ], [ -121.928370999584814, 37.487461000853052 ], [ -121.928326000061318, 37.487389001108497 ], [ -121.928277000388945, 37.487310000500237 ], [ -121.928168999538443, 37.487137000523255 ], [ -121.926869000379966, 37.485037000342274 ], [ -121.925768999855336, 37.483237000540051 ], [ -121.924468999979553, 37.481138000972507 ], [ -121.923969000148006, 37.480238000254126 ], [ -121.922368999488285, 37.47753800042625 ], [ -121.921969000094606, 37.476838000253814 ], [ -121.920869000020858, 37.475038000802428 ], [ -121.919468999432681, 37.472738000770107 ], [ -121.918424000297222, 37.471106000306897 ], [ -121.917869000456875, 37.47023800046324 ], [ -121.916369000358173, 37.467638000517098 ], [ -121.915532999937909, 37.466270000809722 ], [ -121.914167999744791, 37.464038001037011 ], [ -121.913267999615556, 37.462138000741639 ], [ -121.913077000438179, 37.461851000978818 ], [ -121.912868000514408, 37.461538000469695 ], [ -121.912667999931315, 37.461238000260494 ], [ -121.912467999781725, 37.460938000613687 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 752, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.947770000448969, 37.492238000532929 ], [ -121.948071000118901, 37.492428000730861 ], [ -121.949070000109117, 37.493238000237149 ], [ -121.957960000062187, 37.499938001048974 ], [ -121.959066000234415, 37.500771000401194 ], [ -121.962871000422481, 37.503637000724254 ], [ -121.966670999986064, 37.506437000382498 ], [ -121.967370999767141, 37.507037000684015 ], [ -121.964471000113988, 37.508037000363217 ], [ -121.963370999789717, 37.508437000543971 ], [ -121.962670999778069, 37.508637000789705 ], [ -121.961571000368153, 37.509037000280067 ], [ -121.961053999858336, 37.509187000514956 ], [ -121.959654000091803, 37.509592000347979 ], [ -121.958954999449261, 37.509794000763087 ], [ -121.958347999409085, 37.509970000291766 ], [ -121.95776999975439, 37.510137000476547 ], [ -121.957470000281333, 37.510237000329198 ], [ -121.956203000231355, 37.510541000880515 ], [ -121.955496000417511, 37.510711000337601 ], [ -121.95497000019806, 37.510837000906029 ], [ -121.954315000372191, 37.510995000621634 ], [ -121.953724999963654, 37.511137000733854 ], [ -121.95292299944613, 37.511331000737862 ], [ -121.952070000114233, 37.511537000896773 ], [ -121.951170000501406, 37.511737000986265 ], [ -121.950929999929102, 37.511801000599469 ], [ -121.950487000199274, 37.511831000671336 ], [ -121.950069999409124, 37.511837000775685 ], [ -121.949632999835572, 37.511778000937809 ], [ -121.949144000407514, 37.511801000882663 ], [ -121.948970000494299, 37.511837000896136 ], [ -121.948747999887217, 37.51192300075833 ], [ -121.948350999556439, 37.512213001012981 ], [ -121.947870000036389, 37.512437001104395 ], [ -121.947496000188821, 37.512693000735148 ], [ -121.945870000260726, 37.513237000810591 ], [ -121.945569999842945, 37.513337000836039 ], [ -121.943605000251623, 37.514006000814213 ], [ -121.94306999988703, 37.514137000569583 ], [ -121.941049000177671, 37.514245000420935 ], [ -121.940879000158631, 37.514268001065176 ], [ -121.940304999951763, 37.514347000729863 ], [ -121.939770000170739, 37.514437000464206 ], [ -121.938369999956279, 37.512437000630356 ], [ -121.93747000033062, 37.510937000821237 ], [ -121.935311999849688, 37.507580000720608 ], [ -121.934955999645837, 37.507027000933491 ], [ -121.934769999738819, 37.506737000543325 ], [ -121.934192000495514, 37.506076000236526 ], [ -121.933805999924644, 37.50563500068408 ], [ -121.933289999748183, 37.505045000455979 ], [ -121.932914000331763, 37.5046150006457 ], [ -121.931183000139882, 37.502637000586098 ], [ -121.929270000455645, 37.500645000700764 ], [ -121.926619000370948, 37.498888000384618 ], [ -121.926174999577611, 37.498593000738062 ], [ -121.922768999764159, 37.495937001057321 ], [ -121.923042000338128, 37.495742000919677 ], [ -121.923368999752867, 37.495537000885612 ], [ -121.925068999418158, 37.494337000986846 ], [ -121.925769000150922, 37.493137000568773 ], [ -121.925969999770658, 37.492849000487816 ], [ -121.926468999741999, 37.49213700086014 ], [ -121.929368999401873, 37.489937000479507 ], [ -121.929568999883287, 37.489737000412781 ], [ -121.929869000280078, 37.489437000550879 ], [ -121.932268999491995, 37.487137000642086 ], [ -121.932469000467989, 37.486937000887522 ], [ -121.933404000317921, 37.485960000398407 ], [ -121.933633000397805, 37.485762000878125 ], [ -121.934088999443333, 37.485366000433878 ], [ -121.934356999733339, 37.485127001122294 ], [ -121.934584999774984, 37.48492300044888 ], [ -121.935253000118607, 37.484304000499925 ], [ -121.936563999808712, 37.483094000641557 ], [ -121.936768999817687, 37.482938000633752 ], [ -121.936912999689682, 37.483263000591649 ], [ -121.937869999762853, 37.484738000647226 ], [ -121.938069999567446, 37.485138001018264 ], [ -121.945962999646724, 37.490911001053668 ], [ -121.947459999996269, 37.492007000880704 ], [ -121.947770000448969, 37.492238000532929 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1247, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.128578999808425, 38.212415000260087 ], [ -122.128737000383396, 38.212157001087874 ], [ -122.129178999875677, 38.211915000426849 ], [ -122.128778999398406, 38.211415000753973 ], [ -122.128182999730157, 38.210619000607643 ], [ -122.127766999954844, 38.210331000904787 ], [ -122.127319000198185, 38.210187000562605 ], [ -122.126695000456849, 38.210219000572977 ], [ -122.126247000196386, 38.210139000799664 ], [ -122.126071000397801, 38.209995000276173 ], [ -122.125910999525175, 38.209931000292592 ], [ -122.125590999497888, 38.209995001030244 ], [ -122.124998999717064, 38.209899000280856 ], [ -122.124599000097732, 38.209643000577394 ], [ -122.123957999869432, 38.20895500046425 ], [ -122.123333999569851, 38.208203001058003 ], [ -122.12266199966335, 38.207419000893992 ], [ -122.122198000006918, 38.206859001010677 ], [ -122.121957999588119, 38.206443000331312 ], [ -122.121814000355158, 38.206123001120538 ], [ -122.121718000205092, 38.205611000714775 ], [ -122.121717999725689, 38.205339000399704 ], [ -122.121830000090171, 38.204907000240986 ], [ -122.121878000348616, 38.204331000706794 ], [ -122.121781999772381, 38.204171000379304 ], [ -122.121557999427466, 38.203867000271892 ], [ -122.121589999596438, 38.203259000800017 ], [ -122.121558000196316, 38.202603000332317 ], [ -122.121285999525412, 38.201819000262759 ], [ -122.121077999518945, 38.200971000778132 ], [ -122.12131799958081, 38.200156000861739 ], [ -122.121781999630102, 38.199708000460319 ], [ -122.122166000502432, 38.199084000905934 ], [ -122.12224600045343, 38.198412000685167 ], [ -122.122133999995881, 38.19780400073828 ], [ -122.122038000296939, 38.197644000489802 ], [ -122.121877999756421, 38.197420000666483 ], [ -122.121125999626926, 38.197324000491506 ], [ -122.120454000271948, 38.197340000972623 ], [ -122.119910000459541, 38.197388001128438 ], [ -122.119557999985574, 38.197196000810159 ], [ -122.119542000423152, 38.196812000923764 ], [ -122.119766000390371, 38.196268001130498 ], [ -122.1199420001454, 38.195948000698287 ], [ -122.119638000057122, 38.195500000612313 ], [ -122.118870000192331, 38.195180000300212 ], [ -122.118069999400163, 38.194700000835681 ], [ -122.117877999764474, 38.194444001055288 ], [ -122.11778199996948, 38.194284000904482 ], [ -122.118166000099734, 38.194252000782782 ], [ -122.118646000161135, 38.194380000738484 ], [ -122.118965999442153, 38.19425200106307 ], [ -122.119701999648314, 38.194076000557565 ], [ -122.120421999713116, 38.193868000669333 ], [ -122.120997999617231, 38.193244000518789 ], [ -122.12120600038871, 38.192908000901056 ], [ -122.121109999954101, 38.192460001086516 ], [ -122.121086999857056, 38.192386000622939 ], [ -122.120934000318712, 38.191884000892728 ], [ -122.120710000446266, 38.19143600026257 ], [ -122.120581999657333, 38.191132000286025 ], [ -122.120406000422776, 38.190828001070898 ], [ -122.120038000000491, 38.190412000956734 ], [ -122.119493999532864, 38.190060000549437 ], [ -122.118645999454756, 38.189644000288304 ], [ -122.117894000143792, 38.189292000872399 ], [ -122.116662000289352, 38.18910000112556 ], [ -122.116005999580182, 38.189068000648014 ], [ -122.115173999433907, 38.189196000410178 ], [ -122.11474199991406, 38.189468001057421 ], [ -122.114582000194488, 38.190028000945759 ], [ -122.11454999970519, 38.190988000385452 ], [ -122.114309999448295, 38.191820001008338 ], [ -122.114134000217447, 38.192556000433342 ], [ -122.114213999720775, 38.193260000605015 ], [ -122.114053999802763, 38.194284000866439 ], [ -122.113734000001116, 38.194860000657798 ], [ -122.11323800038754, 38.195052000785893 ], [ -122.112741999426163, 38.19508400086162 ], [ -122.112037999880002, 38.194796000865018 ], [ -122.111606000233905, 38.194476000241231 ], [ -122.111318000111169, 38.194156000313967 ], [ -122.111365999883787, 38.19383600094055 ], [ -122.112326000210629, 38.193196001082825 ], [ -122.113221999482434, 38.192588000252861 ], [ -122.113701999967446, 38.192076000388283 ], [ -122.113733999987829, 38.191788000911302 ], [ -122.113622000003957, 38.191404000803963 ], [ -122.113126000489942, 38.191116000270021 ], [ -122.112518000311127, 38.191020000945073 ], [ -122.111461999440195, 38.191148000350303 ], [ -122.110390000477821, 38.191116000785478 ], [ -122.110053999714125, 38.190956000570495 ], [ -122.109925999817207, 38.190796001082433 ], [ -122.110070000456275, 38.190572000258534 ], [ -122.110726000130128, 38.190444000765815 ], [ -122.111989999656871, 38.190156000669049 ], [ -122.112773999993394, 38.189932001066154 ], [ -122.113190000227959, 38.18951600108705 ], [ -122.113686000448752, 38.188876000367308 ], [ -122.113989999417228, 38.188220000968968 ], [ -122.113990000079326, 38.187820001139599 ], [ -122.113957999654758, 38.187660000341999 ], [ -122.113333999653761, 38.18743600106184 ], [ -122.113670000164461, 38.187228000351752 ], [ -122.113765999468669, 38.187116000260986 ], [ -122.113989999637411, 38.187116001002558 ], [ -122.114678000119909, 38.187244000333266 ], [ -122.115206000234565, 38.187308000927601 ], [ -122.115590000129131, 38.187276000916583 ], [ -122.11581400013462, 38.18726000034431 ], [ -122.11603800008676, 38.187196000432337 ], [ -122.116485999816334, 38.186892000593112 ], [ -122.116790000284482, 38.186572000442411 ], [ -122.116998000244138, 38.186380001062723 ], [ -122.117381999723307, 38.186060000712153 ], [ -122.117493999964779, 38.185804000252872 ], [ -122.117558000076642, 38.185516001037456 ], [ -122.117765999812562, 38.184908000468631 ], [ -122.117958000181019, 38.184268000735933 ], [ -122.117990000118937, 38.184028000374227 ], [ -122.117942000107746, 38.183820000358892 ], [ -122.11787800024382, 38.183644001078896 ], [ -122.117973999625477, 38.183068000381212 ], [ -122.118070000354194, 38.182652000574883 ], [ -122.118118000166234, 38.182188000780734 ], [ -122.118102000058556, 38.181660001096411 ], [ -122.118053999486861, 38.181068000312074 ], [ -122.11816600050831, 38.180764000889496 ], [ -122.118054000255, 38.180476000414416 ], [ -122.118006000406154, 38.180108001030746 ], [ -122.117926000180461, 38.179756000606773 ], [ -122.117797999788863, 38.179564001080159 ], [ -122.117493999612094, 38.179340000650768 ], [ -122.117317999803376, 38.179212000767848 ], [ -122.117237999914735, 38.179116000718608 ], [ -122.117238000317755, 38.179052000278972 ], [ -122.116998000200908, 38.178844000801824 ], [ -122.116694000059283, 38.17876400065191 ], [ -122.116326000136084, 38.178540000602865 ], [ -122.116085999465625, 38.178396000606227 ], [ -122.115829999626101, 38.178252000413906 ], [ -122.115398000230684, 38.178060000620896 ], [ -122.114693999674003, 38.177884000556297 ], [ -122.114261999784887, 38.177740000981025 ], [ -122.113845999827646, 38.177564000483095 ], [ -122.113365999886867, 38.177388001043482 ], [ -122.113045999972059, 38.1772120006733 ], [ -122.112741999420209, 38.177100000909093 ], [ -122.112486000502955, 38.177052000429455 ], [ -122.112150000508294, 38.176988000485913 ], [ -122.111957999691484, 38.176892000698814 ], [ -122.111686000087587, 38.176716000949114 ], [ -122.111382000273409, 38.176524000276544 ], [ -122.111126000242294, 38.17631600112388 ], [ -122.110917999948398, 38.176028000649353 ], [ -122.11075799958509, 38.175756000677858 ], [ -122.110677999410214, 38.17537200042608 ], [ -122.110678000033559, 38.17495600106222 ], [ -122.110758000101711, 38.174508000760461 ], [ -122.110854000230688, 38.174188000792199 ], [ -122.111046000077124, 38.173996000265831 ], [ -122.111749999826785, 38.173532001115696 ], [ -122.112342000069063, 38.173116000859807 ], [ -122.11295000039398, 38.172556000604231 ], [ -122.11339799960183, 38.172092000277416 ], [ -122.113749999434958, 38.171660000338647 ], [ -122.113942000389486, 38.171084000874281 ], [ -122.113984000238048, 38.170932000446321 ], [ -122.114150000202855, 38.170332000868498 ], [ -122.114246000096486, 38.169708000251362 ], [ -122.114213999772147, 38.16926000028014 ], [ -122.114213999832586, 38.169004000838711 ], [ -122.11411799952603, 38.168764000584666 ], [ -122.113733999471535, 38.168236001061572 ], [ -122.113125999483202, 38.16783600057515 ], [ -122.112709999490548, 38.167596000900595 ], [ -122.112213999888624, 38.167372000299487 ], [ -122.111717999663483, 38.16718000058146 ], [ -122.111189999681798, 38.166924000268764 ], [ -122.1107419997481, 38.16670000076514 ], [ -122.110358000438083, 38.166396001130714 ], [ -122.109973999425577, 38.165804000443124 ], [ -122.109669000254954, 38.165468000365664 ], [ -122.109509000046899, 38.165180000459131 ], [ -122.109285000283236, 38.164908000374751 ], [ -122.109013000249391, 38.164668000966344 ], [ -122.108820999725353, 38.164508000870882 ], [ -122.108693000101198, 38.164268001113903 ], [ -122.108628999575018, 38.164028000337574 ], [ -122.108741000073096, 38.163788000659579 ], [ -122.10902899988514, 38.163548000653805 ], [ -122.109588999499351, 38.163420001110467 ], [ -122.110468999874115, 38.163421000424428 ], [ -122.1112059996006, 38.16350100044766 ], [ -122.111525999927707, 38.163517000868552 ], [ -122.111781999556641, 38.163453000950632 ], [ -122.112342000264078, 38.163197000592447 ], [ -122.112934000505689, 38.162909001025476 ], [ -122.113270000486793, 38.162733000380967 ], [ -122.11365399948923, 38.162573000248635 ], [ -122.113941999747269, 38.162365000968606 ], [ -122.11402200020332, 38.162237000400538 ], [ -122.11434199939967, 38.161469000461096 ], [ -122.114454000280361, 38.160989000451117 ], [ -122.114422000424028, 38.160509000487799 ], [ -122.114518000362906, 38.159741000276334 ], [ -122.114534000363676, 38.159245001042272 ], [ -122.114582000419361, 38.15870100055816 ], [ -122.114454000046479, 38.158125001121164 ], [ -122.1141329996872, 38.157581000772133 ], [ -122.113860999546006, 38.157133000740671 ], [ -122.113556999866319, 38.156765000449383 ], [ -122.112980999815932, 38.156269000600055 ], [ -122.112565000285699, 38.155885001010901 ], [ -122.112293000206762, 38.155517000391868 ], [ -122.112020999409168, 38.155181000367079 ], [ -122.111636999966763, 38.155005000538964 ], [ -122.11099699965672, 38.154797001038133 ], [ -122.110500999990947, 38.154685001099445 ], [ -122.109940999548655, 38.1546050010583 ], [ -122.109492999690588, 38.154573000527215 ], [ -122.109188999950376, 38.15463700112376 ], [ -122.108661000124172, 38.154813000646378 ], [ -122.108373000432849, 38.154925000733549 ], [ -122.107700999416991, 38.155229000693758 ], [ -122.107349000507043, 38.155373000780209 ], [ -122.107157000234153, 38.15543700104265 ], [ -122.107013000014263, 38.155549001007635 ], [ -122.106836999969843, 38.155773000552628 ], [ -122.106692999645276, 38.155949000758802 ], [ -122.106501000206961, 38.156141000324894 ], [ -122.106244999449302, 38.156285000963791 ], [ -122.106053000383753, 38.156461000972065 ], [ -122.105877000457582, 38.15671700114018 ], [ -122.105637000103769, 38.156989000933358 ], [ -122.105301000123262, 38.157133000355842 ], [ -122.104981000442493, 38.157261000275014 ], [ -122.104708999937387, 38.157469000562394 ], [ -122.104373000427572, 38.157853000968217 ], [ -122.104149000063231, 38.158157000985057 ], [ -122.103701000341076, 38.158557000861506 ], [ -122.103525000519909, 38.158717000954525 ], [ -122.103381000413364, 38.158861000253069 ], [ -122.10318899972556, 38.158909000535793 ], [ -122.102804999852353, 38.158861001074072 ], [ -122.102580999570762, 38.158685000736121 ], [ -122.102244999597147, 38.15857300063125 ], [ -122.101829000014192, 38.158429000306377 ], [ -122.101604999954148, 38.158317000515147 ], [ -122.101668999799088, 38.15799700041012 ], [ -122.101668999604939, 38.157773000997629 ], [ -122.101621000145812, 38.157613000919547 ], [ -122.101540999566126, 38.157389000532518 ], [ -122.101348999385337, 38.1570690010888 ], [ -122.101125000434493, 38.156829000965899 ], [ -122.100885000115667, 38.156653001093026 ], [ -122.100517000348589, 38.156493000705872 ], [ -122.100292999931199, 38.156461000530228 ], [ -122.09998899954708, 38.156461000927891 ], [ -122.099717000519846, 38.156445001019257 ], [ -122.099332999616905, 38.156333000451959 ], [ -122.098885000020317, 38.156141000261805 ], [ -122.098277000088743, 38.155853001067719 ], [ -122.097525000017811, 38.155517000783959 ], [ -122.097141000154281, 38.15537300088333 ], [ -122.096725000273921, 38.15522900055629 ], [ -122.0965009994963, 38.155101000357156 ], [ -122.096196999505622, 38.154893000243661 ], [ -122.095621000096941, 38.154605001077996 ], [ -122.095093000432655, 38.154365000347454 ], [ -122.09437300016387, 38.153997000874725 ], [ -122.093797000204276, 38.153741000300379 ], [ -122.093140999829458, 38.15351700046628 ], [ -122.092421000390331, 38.153261000506895 ], [ -122.091892999418405, 38.15303700044457 ], [ -122.091284999757846, 38.152941000343773 ], [ -122.090756999622613, 38.152813000621073 ], [ -122.090228999615206, 38.152637000325655 ], [ -122.08962100023156, 38.152461000330554 ], [ -122.089673999478507, 38.152358000234976 ], [ -122.09493099992936, 38.142095001064142 ], [ -122.096293000338989, 38.139437000463246 ], [ -122.100132999419586, 38.132317000430731 ], [ -122.100660999962443, 38.130733000496214 ], [ -122.101028999963575, 38.129597000829641 ], [ -122.101268999630179, 38.128605000867672 ], [ -122.101156999821384, 38.125614000721768 ], [ -122.106501000461122, 38.125086000872386 ], [ -122.106868, 38.124918000462877 ], [ -122.106884999776781, 38.124910000483382 ], [ -122.107342000507018, 38.128549000570786 ], [ -122.107604000247093, 38.129752000589264 ], [ -122.107976999650219, 38.130720000834216 ], [ -122.108350000071098, 38.13154100065541 ], [ -122.110029999782455, 38.134650000753496 ], [ -122.110329000410772, 38.135560000608201 ], [ -122.110366999454541, 38.136381000889394 ], [ -122.110254999793426, 38.137848000531186 ], [ -122.110029999853438, 38.139285000973324 ], [ -122.10973199999269, 38.140429000492816 ], [ -122.109350000364785, 38.142115000845969 ], [ -122.10933299963726, 38.142237001044933 ], [ -122.109940999787568, 38.142301000884792 ], [ -122.111076999917785, 38.142781000282916 ], [ -122.113268999849808, 38.143517001135017 ], [ -122.115205000177312, 38.144253000403019 ], [ -122.116309000136937, 38.144573000962374 ], [ -122.116804999990592, 38.144701000360719 ], [ -122.117060999756134, 38.144669000521809 ], [ -122.117316999702496, 38.144461001047937 ], [ -122.117540999566742, 38.144157000891241 ], [ -122.117780999386625, 38.144077000761861 ], [ -122.118517000084253, 38.143965001081845 ], [ -122.119348999581021, 38.143597000399012 ], [ -122.120244999943452, 38.143165000964544 ], [ -122.12066100037724, 38.143037000652903 ], [ -122.120916999820309, 38.142989000712269 ], [ -122.121669000179637, 38.143181000851854 ], [ -122.122053000443458, 38.143245000366832 ], [ -122.122502000340759, 38.143229000580561 ], [ -122.122917999481828, 38.143213000493837 ], [ -122.123686000178964, 38.14324500055411 ], [ -122.124086000231529, 38.143021000809114 ], [ -122.124422000318432, 38.142701000780207 ], [ -122.124757999796003, 38.142285000258667 ], [ -122.124871999892434, 38.142165001123161 ], [ -122.12509400023508, 38.141933000509027 ], [ -122.125541999503184, 38.141661000634151 ], [ -122.126054000235698, 38.141389000291291 ], [ -122.126326000489158, 38.140573000483016 ], [ -122.126517999426156, 38.139757000724316 ], [ -122.127254000409522, 38.139037000404144 ], [ -122.128182000450082, 38.138653000956218 ], [ -122.128837999411957, 38.138397000420568 ], [ -122.129366000159663, 38.137773000634482 ], [ -122.129750000224206, 38.136893000290144 ], [ -122.130005999927079, 38.136573001119807 ], [ -122.130614000291686, 38.136429000262254 ], [ -122.131478000361412, 38.136637001139363 ], [ -122.131925999795314, 38.136717000597244 ], [ -122.132374000280947, 38.136765000583139 ], [ -122.132469999516459, 38.136301001067523 ], [ -122.13227799991877, 38.135837000310723 ], [ -122.13240599953923, 38.13522900110182 ], [ -122.132150000453848, 38.134942000409318 ], [ -122.132166000173228, 38.134702000951044 ], [ -122.132566000410861, 38.13449400030018 ], [ -122.13237399995721, 38.134158000641165 ], [ -122.131782000501161, 38.133758000818702 ], [ -122.131333999759818, 38.133390000915092 ], [ -122.131301999411392, 38.132686000299934 ], [ -122.131669999941096, 38.131982001062063 ], [ -122.132422000012738, 38.13118200045151 ], [ -122.132278000507171, 38.13035000055811 ], [ -122.132421999734404, 38.129742000853113 ], [ -122.132245999792545, 38.12907000040714 ], [ -122.131813999413737, 38.128398000507993 ], [ -122.131541999387807, 38.127822001108292 ], [ -122.131686000335776, 38.12735800038422 ], [ -122.131861999726851, 38.126766000375888 ], [ -122.132086000232761, 38.126478000604578 ], [ -122.132614000116163, 38.126254000599538 ], [ -122.133093999865309, 38.126254001024193 ], [ -122.133670000442621, 38.125742000435011 ], [ -122.134550000302241, 38.125310000976839 ], [ -122.135417999577044, 38.124918000262625 ], [ -122.135541999684989, 38.124862000920373 ], [ -122.136469999900413, 38.124526001108627 ], [ -122.137174000452021, 38.124318000384193 ], [ -122.13789400040946, 38.124158000558218 ], [ -122.138453999765431, 38.123342000690897 ], [ -122.139142000092946, 38.12319800071311 ], [ -122.140021999787564, 38.122894000805459 ], [ -122.140982000481102, 38.122254000525032 ], [ -122.141510000444796, 38.121710000307601 ], [ -122.141446000039394, 38.120910000288156 ], [ -122.141397999922901, 38.120494000612752 ], [ -122.141125999875769, 38.120110000711676 ], [ -122.140501999956342, 38.119694000574739 ], [ -122.14018200014128, 38.119070001125941 ], [ -122.140165999829804, 38.118782000387974 ], [ -122.140422000107293, 38.118158000706153 ], [ -122.140677999770688, 38.117950000919215 ], [ -122.141125999481474, 38.118030001102689 ], [ -122.14178200042376, 38.118478000744133 ], [ -122.14259799980772, 38.118990000426116 ], [ -122.143461999768263, 38.119390000330775 ], [ -122.143814000337755, 38.119726000748194 ], [ -122.144693999682474, 38.120334000752621 ], [ -122.145078000174635, 38.120526001030676 ], [ -122.146966000313498, 38.120862000656004 ], [ -122.147446000433888, 38.121246000744271 ], [ -122.147717999798374, 38.121758001077943 ], [ -122.147734000023647, 38.122254000542334 ], [ -122.147638000063949, 38.122686000945784 ], [ -122.147669999707773, 38.123086001123902 ], [ -122.147733999944407, 38.123502000749902 ], [ -122.147989999518231, 38.124270000599694 ], [ -122.148149999520399, 38.12430200069749 ], [ -122.148278000363845, 38.12412600050537 ], [ -122.148406000323035, 38.122990000747158 ], [ -122.148470000116021, 38.121998000369821 ], [ -122.148342000513026, 38.121646000599078 ], [ -122.148502000515364, 38.12137400044179 ], [ -122.148454000252897, 38.120990000485712 ], [ -122.148630000313162, 38.120558000452135 ], [ -122.149333999950642, 38.120558001005882 ], [ -122.149829999892376, 38.120702000495193 ], [ -122.150134000498184, 38.121054000436715 ], [ -122.150517999709848, 38.121278000700457 ], [ -122.150982000317796, 38.121198000395687 ], [ -122.151605999786952, 38.120846000986504 ], [ -122.152278000062481, 38.120718000945509 ], [ -122.153766000118338, 38.120990000675704 ], [ -122.154102000359558, 38.120958000968663 ], [ -122.15461400020763, 38.120206000958497 ], [ -122.154757999518409, 38.12031800055194 ], [ -122.154965999549987, 38.120702000939858 ], [ -122.155478000354691, 38.121342000659176 ], [ -122.156005999803568, 38.12171000111919 ], [ -122.157750000134726, 38.122062000590958 ], [ -122.158197999779944, 38.122030000817169 ], [ -122.159046000016289, 38.121582000302887 ], [ -122.15935000027109, 38.121390000387649 ], [ -122.159926000127655, 38.12148600027335 ], [ -122.160470000376208, 38.121486000241532 ], [ -122.161333999864553, 38.121342000999597 ], [ -122.161909999530707, 38.121198000488569 ], [ -122.162598000260019, 38.120750000593141 ], [ -122.163157999937482, 38.120334000263767 ], [ -122.163445999710106, 38.119742000718666 ], [ -122.163494000085961, 38.119022000668835 ], [ -122.163349999729746, 38.118174000656367 ], [ -122.163302000040417, 38.117342000837787 ], [ -122.163173999432431, 38.116766000427866 ], [ -122.163397999618624, 38.115934000809609 ], [ -122.163525999821331, 38.115006001036186 ], [ -122.163461999688295, 38.114254000777905 ], [ -122.163158000513832, 38.113790000469066 ], [ -122.163173999597362, 38.11335800047835 ], [ -122.163125999699815, 38.11302200082352 ], [ -122.162966000502152, 38.112798000931718 ], [ -122.162950000061443, 38.111870000903856 ], [ -122.162806000326825, 38.111294000993652 ], [ -122.162838000093572, 38.110974000548957 ], [ -122.162821999895925, 38.110222000823001 ], [ -122.162838000164385, 38.109582000247663 ], [ -122.162886000248633, 38.10868600038993 ], [ -122.16392799969212, 38.107027000920283 ], [ -122.160877999650623, 38.100419000627319 ], [ -122.162978000475178, 38.101119000467278 ], [ -122.162949999486926, 38.101423000331664 ], [ -122.162934000020485, 38.101743000868915 ], [ -122.163061999457653, 38.101983001105218 ], [ -122.16336600036, 38.102271000639853 ], [ -122.163398999818568, 38.102322000380497 ], [ -122.16382999959697, 38.102833000914956 ], [ -122.164051999569452, 38.103306000679169 ], [ -122.164273999529115, 38.104154000598264 ], [ -122.16455900042385, 38.104953000861464 ], [ -122.165097999435531, 38.106000001082883 ], [ -122.165605000147991, 38.106873000457654 ], [ -122.166111999386075, 38.108419000899573 ], [ -122.166365999897707, 38.10924200104882 ], [ -122.166428999964083, 38.111263000305499 ], [ -122.166177999658061, 38.112418000421144 ], [ -122.165377999952852, 38.113118000255305 ], [ -122.167277999785341, 38.11961800035224 ], [ -122.167078000235705, 38.124818000335004 ], [ -122.166987000193387, 38.124918001048457 ], [ -122.166078000357899, 38.125918000440393 ], [ -122.166577999770894, 38.12691800066559 ], [ -122.167379000104305, 38.131718000861291 ], [ -122.16773900030536, 38.132128000349198 ], [ -122.169578999595259, 38.134218000726285 ], [ -122.171178999481683, 38.138718000290147 ], [ -122.171378999421336, 38.141818000950451 ], [ -122.171779000522776, 38.142318000581618 ], [ -122.172779000349109, 38.144018000300314 ], [ -122.172966999722817, 38.144375000679169 ], [ -122.174879000205195, 38.148017000707092 ], [ -122.17597899955544, 38.149217000815511 ], [ -122.176594000362556, 38.150448000857601 ], [ -122.176779000522828, 38.150817000986471 ], [ -122.177382999931623, 38.151357000335935 ], [ -122.17807899988, 38.151617001019432 ], [ -122.178332999416156, 38.152321000930087 ], [ -122.178505999717999, 38.152803000669429 ], [ -122.178674000408307, 38.153271000381572 ], [ -122.178862000106747, 38.153793000712191 ], [ -122.178978999887633, 38.154117000338857 ], [ -122.179485000433246, 38.154623000875802 ], [ -122.180779000109936, 38.155917000915977 ], [ -122.18307900025853, 38.157017000366302 ], [ -122.183755999601715, 38.158626000973356 ], [ -122.183878999519507, 38.15891700039537 ], [ -122.186003999490083, 38.159602000524544 ], [ -122.190079999925359, 38.16091700054325 ], [ -122.193180000079451, 38.160517000960496 ], [ -122.193599999547487, 38.16009700031487 ], [ -122.19511200033881, 38.158585000835863 ], [ -122.19548000015925, 38.158217000948419 ], [ -122.195085999446036, 38.157369000600461 ], [ -122.194179999954585, 38.155417000478458 ], [ -122.195380000478877, 38.15501700090168 ], [ -122.1978799994761, 38.157117000493088 ], [ -122.198980000163019, 38.159317000252926 ], [ -122.196700000259156, 38.16212400024056 ], [ -122.196477999936945, 38.162397000391017 ], [ -122.196380000276974, 38.162517000969899 ], [ -122.194480000221404, 38.164717001112528 ], [ -122.198080000061694, 38.168417000540423 ], [ -122.199711999997902, 38.168390000419713 ], [ -122.200247999583056, 38.168381000334151 ], [ -122.200480000273572, 38.168417000388907 ], [ -122.201580000313754, 38.168217001127871 ], [ -122.200880000233354, 38.168717000817821 ], [ -122.199880000205482, 38.169417000443246 ], [ -122.194749999410973, 38.172975001112555 ], [ -122.193334999826021, 38.174208001116021 ], [ -122.192259999428117, 38.17542500063616 ], [ -122.190985999593153, 38.176839000292972 ], [ -122.190061000283933, 38.177723000486502 ], [ -122.188210999924493, 38.179156000601722 ], [ -122.186461999912225, 38.1803150005289 ], [ -122.185411999976168, 38.180923000578261 ], [ -122.184638000139159, 38.181591001034953 ], [ -122.183538000202063, 38.182592001127368 ], [ -122.182438000493292, 38.183535000333059 ], [ -122.181613999906617, 38.184262000429094 ], [ -122.181286999442875, 38.184440000282862 ], [ -122.180779999651477, 38.184717000985209 ], [ -122.176860000029095, 38.185884000546942 ], [ -122.175332999551003, 38.18639600059489 ], [ -122.173414999567299, 38.187308000450592 ], [ -122.170378999633044, 38.188816000513512 ], [ -122.168578999816404, 38.19071600110712 ], [ -122.165478999861165, 38.194516000848559 ], [ -122.160578999664352, 38.198616000468462 ], [ -122.159519999943967, 38.199446000467027 ], [ -122.156208000050228, 38.202334000890261 ], [ -122.154179000449872, 38.204216000381692 ], [ -122.152778999616501, 38.20551600095807 ], [ -122.150978999818321, 38.207116000692167 ], [ -122.150471000120262, 38.207521000335866 ], [ -122.149731000299369, 38.208146000534661 ], [ -122.147879000375326, 38.209716000783004 ], [ -122.146778999747838, 38.210415001001529 ], [ -122.144230000061157, 38.212057001072949 ], [ -122.14347900042894, 38.212615001110279 ], [ -122.141158999655374, 38.214228000723637 ], [ -122.13907900007122, 38.215615000474379 ], [ -122.137679000259368, 38.216615000554945 ], [ -122.136456000135226, 38.217452001122147 ], [ -122.136078999776302, 38.217715000447214 ], [ -122.134978999504369, 38.218515000910216 ], [ -122.132679000233452, 38.220115001057913 ], [ -122.131778999426473, 38.220815000479746 ], [ -122.128678999577886, 38.222815000883202 ], [ -122.128079000113331, 38.222215001095407 ], [ -122.127679000146102, 38.221715001015475 ], [ -122.126879000485033, 38.220715000322798 ], [ -122.129479000074056, 38.218115000803962 ], [ -122.130079000180871, 38.21671500063453 ], [ -122.129878999825237, 38.21551500029922 ], [ -122.129872999885791, 38.215502000610812 ], [ -122.129254999574357, 38.214091000816694 ], [ -122.128578999808425, 38.212415000260087 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1249, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.129178999875677, 38.211915000426849 ], [ -122.128737000383396, 38.212157001087874 ], [ -122.128578999808425, 38.212415000260087 ], [ -122.129254999574357, 38.214091000816694 ], [ -122.129872999885791, 38.215502000610812 ], [ -122.129878999825237, 38.21551500029922 ], [ -122.130079000180871, 38.21671500063453 ], [ -122.129479000074056, 38.218115000803962 ], [ -122.126879000485033, 38.220715000322798 ], [ -122.127679000146102, 38.221715001015475 ], [ -122.128079000113331, 38.222215001095407 ], [ -122.128678999577886, 38.222815000883202 ], [ -122.12887800034035, 38.2230790002438 ], [ -122.128979000390004, 38.223215001124601 ], [ -122.129255999912772, 38.223837000510649 ], [ -122.129499999748219, 38.224684000893284 ], [ -122.129551999761375, 38.224985001080071 ], [ -122.129479000414861, 38.225915001130844 ], [ -122.129378999686423, 38.227115000412603 ], [ -122.128589000000289, 38.229185001005185 ], [ -122.128439000143985, 38.229579000924737 ], [ -122.128021999492532, 38.230642000976019 ], [ -122.127859999405359, 38.231055000726286 ], [ -122.127678999711321, 38.231515000529583 ], [ -122.127388999966612, 38.232170000718433 ], [ -122.127190999839769, 38.232619000827476 ], [ -122.126778999561978, 38.233315000986259 ], [ -122.126278999396078, 38.23501500053203 ], [ -122.125687999436209, 38.236259000650826 ], [ -122.125542000402803, 38.236567001074697 ], [ -122.124905000089527, 38.237909000627461 ], [ -122.124758999483447, 38.238218000313871 ], [ -122.124511000062853, 38.238672000941953 ], [ -122.124378999964733, 38.238914000877912 ], [ -122.122779000196132, 38.242714001023806 ], [ -122.122178999658303, 38.244014001023409 ], [ -122.120626999837484, 38.250673000320539 ], [ -122.119779000381996, 38.254314001108199 ], [ -122.11884499973533, 38.25576900111907 ], [ -122.117425999705034, 38.257980000780186 ], [ -122.116622999766719, 38.259231000540197 ], [ -122.115478999950057, 38.261014001120451 ], [ -122.113778999512434, 38.262914001005235 ], [ -122.113430999703894, 38.265002000943703 ], [ -122.1131789999924, 38.266014000370603 ], [ -122.111842999727131, 38.270974000760418 ], [ -122.111530999662492, 38.271514000779071 ], [ -122.111323000035924, 38.27352600104264 ], [ -122.112278999578024, 38.275013000289867 ], [ -122.116479000157, 38.28131300099794 ], [ -122.114879000136099, 38.2819130007571 ], [ -122.113078999639427, 38.282613000976745 ], [ -122.109779000521087, 38.281713000505526 ], [ -122.105978999912608, 38.282313000834158 ], [ -122.104479000102728, 38.279713000866622 ], [ -122.103879000193359, 38.279613000917436 ], [ -122.102279000099102, 38.278813000801144 ], [ -122.10167899945003, 38.27881300083569 ], [ -122.09267900028199, 38.276313000936106 ], [ -122.092479000454617, 38.272013000895406 ], [ -122.087776999389419, 38.271199000505625 ], [ -122.085596999551242, 38.270822000283246 ], [ -122.08483300009118, 38.270690000593909 ], [ -122.084580000206927, 38.270646000280301 ], [ -122.083551999434746, 38.270468000366563 ], [ -122.080226999460592, 38.26989300058716 ], [ -122.077973000101125, 38.269503000617497 ], [ -122.076878000067254, 38.269313000948095 ], [ -122.076501999720236, 38.267209000786458 ], [ -122.076377999899918, 38.266913000922415 ], [ -122.075974000008642, 38.266345001137879 ], [ -122.075302000411853, 38.265673000573805 ], [ -122.072778000470251, 38.263113000858937 ], [ -122.071973000357531, 38.262269000747182 ], [ -122.071087999718529, 38.261344000729068 ], [ -122.06917799958228, 38.259513000679711 ], [ -122.068041000275386, 38.258105000538286 ], [ -122.065278000517409, 38.258313000953407 ], [ -122.06453500043007, 38.258239000774623 ], [ -122.06427799977628, 38.258213000766702 ], [ -122.063484000525193, 38.258181000550444 ], [ -122.062678000464842, 38.258113000730425 ], [ -122.063663000201132, 38.257128001075706 ], [ -122.064400999883404, 38.256390000817106 ], [ -122.064978000190408, 38.255813000605237 ], [ -122.066578000106077, 38.253713000859854 ], [ -122.068951000208173, 38.250493000918219 ], [ -122.069677999864084, 38.249714001086858 ], [ -122.072178000322154, 38.248114000843046 ], [ -122.076378000129125, 38.246814000822233 ], [ -122.077077999602295, 38.246614000947645 ], [ -122.078626999766684, 38.245947000944327 ], [ -122.084277999682968, 38.243514000376486 ], [ -122.084178000327697, 38.24291400067672 ], [ -122.084091999767125, 38.239812001052051 ], [ -122.084005999424122, 38.238333001039557 ], [ -122.083879999945736, 38.235805000595825 ], [ -122.083909999938356, 38.23396200096979 ], [ -122.08378300045635, 38.232079000872496 ], [ -122.083701999664228, 38.230890000494362 ], [ -122.083578000100189, 38.228814000476916 ], [ -122.083677999725325, 38.228214000385726 ], [ -122.083578000509007, 38.227714000801143 ], [ -122.083577999860751, 38.227214000547704 ], [ -122.083477999740651, 38.22631400071851 ], [ -122.083577999828321, 38.215415000454733 ], [ -122.083476999666317, 38.211435000971903 ], [ -122.083509000316099, 38.208987000967284 ], [ -122.083461000385896, 38.20844300034063 ], [ -122.083060999669456, 38.205243000963854 ], [ -122.082980999762853, 38.204939000968523 ], [ -122.082772999688828, 38.204811000866613 ], [ -122.080980999534191, 38.203147001117848 ], [ -122.08086900019606, 38.203099000709436 ], [ -122.080837000347429, 38.202811000546632 ], [ -122.080964999661802, 38.200619001038802 ], [ -122.080980999823879, 38.199547000345362 ], [ -122.080756999503578, 38.196603000886398 ], [ -122.080532999707401, 38.194219000343644 ], [ -122.080452999853335, 38.192987000716698 ], [ -122.069864000055347, 38.192987001055236 ], [ -122.069540999450382, 38.192987000252245 ], [ -122.069439000296384, 38.192981000747309 ], [ -122.069013000241327, 38.192955000741065 ], [ -122.068309000049354, 38.192667000648889 ], [ -122.069189000149905, 38.191035000746666 ], [ -122.069316999412194, 38.190715001001344 ], [ -122.071093000396488, 38.187419001108701 ], [ -122.075268999658519, 38.179596000558675 ], [ -122.075380999618019, 38.179340001006402 ], [ -122.07867699977453, 38.173132001018452 ], [ -122.089556999913398, 38.15266900052552 ], [ -122.08962100023156, 38.152461000330554 ], [ -122.090228999615206, 38.152637000325655 ], [ -122.090756999622613, 38.152813000621073 ], [ -122.091284999757846, 38.152941000343773 ], [ -122.091892999418405, 38.15303700044457 ], [ -122.092421000390331, 38.153261000506895 ], [ -122.093140999829458, 38.15351700046628 ], [ -122.093797000204276, 38.153741000300379 ], [ -122.09437300016387, 38.153997000874725 ], [ -122.095093000432655, 38.154365000347454 ], [ -122.095621000096941, 38.154605001077996 ], [ -122.096196999505622, 38.154893000243661 ], [ -122.0965009994963, 38.155101000357156 ], [ -122.096725000273921, 38.15522900055629 ], [ -122.097141000154281, 38.15537300088333 ], [ -122.097525000017811, 38.155517000783959 ], [ -122.098277000088743, 38.155853001067719 ], [ -122.098885000020317, 38.156141000261805 ], [ -122.099332999616905, 38.156333000451959 ], [ -122.099717000519846, 38.156445001019257 ], [ -122.09998899954708, 38.156461000927891 ], [ -122.100292999931199, 38.156461000530228 ], [ -122.100517000348589, 38.156493000705872 ], [ -122.100885000115667, 38.156653001093026 ], [ -122.101125000434493, 38.156829000965899 ], [ -122.101348999385337, 38.1570690010888 ], [ -122.101540999566126, 38.157389000532518 ], [ -122.101621000145812, 38.157613000919547 ], [ -122.101668999604939, 38.157773000997629 ], [ -122.101668999799088, 38.15799700041012 ], [ -122.101604999954148, 38.158317000515147 ], [ -122.101829000014192, 38.158429000306377 ], [ -122.102244999597147, 38.15857300063125 ], [ -122.102580999570762, 38.158685000736121 ], [ -122.102804999852353, 38.158861001074072 ], [ -122.10318899972556, 38.158909000535793 ], [ -122.103381000413364, 38.158861000253069 ], [ -122.103525000519909, 38.158717000954525 ], [ -122.103701000341076, 38.158557000861506 ], [ -122.104149000063231, 38.158157000985057 ], [ -122.104373000427572, 38.157853000968217 ], [ -122.104708999937387, 38.157469000562394 ], [ -122.104981000442493, 38.157261000275014 ], [ -122.105301000123262, 38.157133000355842 ], [ -122.105637000103769, 38.156989000933358 ], [ -122.105877000457582, 38.15671700114018 ], [ -122.106053000383753, 38.156461000972065 ], [ -122.106244999449302, 38.156285000963791 ], [ -122.106501000206961, 38.156141000324894 ], [ -122.106692999645276, 38.155949000758802 ], [ -122.106836999969843, 38.155773000552628 ], [ -122.107013000014263, 38.155549001007635 ], [ -122.107157000234153, 38.15543700104265 ], [ -122.107349000507043, 38.155373000780209 ], [ -122.107700999416991, 38.155229000693758 ], [ -122.108373000432849, 38.154925000733549 ], [ -122.108661000124172, 38.154813000646378 ], [ -122.109188999950376, 38.15463700112376 ], [ -122.109492999690588, 38.154573000527215 ], [ -122.109940999548655, 38.1546050010583 ], [ -122.110500999990947, 38.154685001099445 ], [ -122.11099699965672, 38.154797001038133 ], [ -122.111636999966763, 38.155005000538964 ], [ -122.112020999409168, 38.155181000367079 ], [ -122.112293000206762, 38.155517000391868 ], [ -122.112565000285699, 38.155885001010901 ], [ -122.112980999815932, 38.156269000600055 ], [ -122.113556999866319, 38.156765000449383 ], [ -122.113860999546006, 38.157133000740671 ], [ -122.1141329996872, 38.157581000772133 ], [ -122.114454000046479, 38.158125001121164 ], [ -122.114582000419361, 38.15870100055816 ], [ -122.114534000363676, 38.159245001042272 ], [ -122.114518000362906, 38.159741000276334 ], [ -122.114422000424028, 38.160509000487799 ], [ -122.114454000280361, 38.160989000451117 ], [ -122.11434199939967, 38.161469000461096 ], [ -122.11402200020332, 38.162237000400538 ], [ -122.113941999747269, 38.162365000968606 ], [ -122.11365399948923, 38.162573000248635 ], [ -122.113270000486793, 38.162733000380967 ], [ -122.112934000505689, 38.162909001025476 ], [ -122.112342000264078, 38.163197000592447 ], [ -122.111781999556641, 38.163453000950632 ], [ -122.111525999927707, 38.163517000868552 ], [ -122.1112059996006, 38.16350100044766 ], [ -122.110468999874115, 38.163421000424428 ], [ -122.109588999499351, 38.163420001110467 ], [ -122.10902899988514, 38.163548000653805 ], [ -122.108741000073096, 38.163788000659579 ], [ -122.108628999575018, 38.164028000337574 ], [ -122.108693000101198, 38.164268001113903 ], [ -122.108820999725353, 38.164508000870882 ], [ -122.109013000249391, 38.164668000966344 ], [ -122.109285000283236, 38.164908000374751 ], [ -122.109509000046899, 38.165180000459131 ], [ -122.109669000254954, 38.165468000365664 ], [ -122.109973999425577, 38.165804000443124 ], [ -122.110358000438083, 38.166396001130714 ], [ -122.1107419997481, 38.16670000076514 ], [ -122.111189999681798, 38.166924000268764 ], [ -122.111717999663483, 38.16718000058146 ], [ -122.112213999888624, 38.167372000299487 ], [ -122.112709999490548, 38.167596000900595 ], [ -122.113125999483202, 38.16783600057515 ], [ -122.113733999471535, 38.168236001061572 ], [ -122.11411799952603, 38.168764000584666 ], [ -122.114213999832586, 38.169004000838711 ], [ -122.114213999772147, 38.16926000028014 ], [ -122.114246000096486, 38.169708000251362 ], [ -122.114150000202855, 38.170332000868498 ], [ -122.113984000238048, 38.170932000446321 ], [ -122.113942000389486, 38.171084000874281 ], [ -122.113749999434958, 38.171660000338647 ], [ -122.11339799960183, 38.172092000277416 ], [ -122.11295000039398, 38.172556000604231 ], [ -122.112342000069063, 38.173116000859807 ], [ -122.111749999826785, 38.173532001115696 ], [ -122.111046000077124, 38.173996000265831 ], [ -122.110854000230688, 38.174188000792199 ], [ -122.110758000101711, 38.174508000760461 ], [ -122.110678000033559, 38.17495600106222 ], [ -122.110677999410214, 38.17537200042608 ], [ -122.11075799958509, 38.175756000677858 ], [ -122.110917999948398, 38.176028000649353 ], [ -122.111126000242294, 38.17631600112388 ], [ -122.111382000273409, 38.176524000276544 ], [ -122.111686000087587, 38.176716000949114 ], [ -122.111957999691484, 38.176892000698814 ], [ -122.112150000508294, 38.176988000485913 ], [ -122.112486000502955, 38.177052000429455 ], [ -122.112741999420209, 38.177100000909093 ], [ -122.113045999972059, 38.1772120006733 ], [ -122.113365999886867, 38.177388001043482 ], [ -122.113845999827646, 38.177564000483095 ], [ -122.114261999784887, 38.177740000981025 ], [ -122.114693999674003, 38.177884000556297 ], [ -122.115398000230684, 38.178060000620896 ], [ -122.115829999626101, 38.178252000413906 ], [ -122.116085999465625, 38.178396000606227 ], [ -122.116326000136084, 38.178540000602865 ], [ -122.116694000059283, 38.17876400065191 ], [ -122.116998000200908, 38.178844000801824 ], [ -122.117238000317755, 38.179052000278972 ], [ -122.117237999914735, 38.179116000718608 ], [ -122.117317999803376, 38.179212000767848 ], [ -122.117493999612094, 38.179340000650768 ], [ -122.117797999788863, 38.179564001080159 ], [ -122.117926000180461, 38.179756000606773 ], [ -122.118006000406154, 38.180108001030746 ], [ -122.118054000255, 38.180476000414416 ], [ -122.11816600050831, 38.180764000889496 ], [ -122.118053999486861, 38.181068000312074 ], [ -122.118102000058556, 38.181660001096411 ], [ -122.118118000166234, 38.182188000780734 ], [ -122.118070000354194, 38.182652000574883 ], [ -122.117973999625477, 38.183068000381212 ], [ -122.11787800024382, 38.183644001078896 ], [ -122.117942000107746, 38.183820000358892 ], [ -122.117990000118937, 38.184028000374227 ], [ -122.117958000181019, 38.184268000735933 ], [ -122.117765999812562, 38.184908000468631 ], [ -122.117558000076642, 38.185516001037456 ], [ -122.117493999964779, 38.185804000252872 ], [ -122.117381999723307, 38.186060000712153 ], [ -122.116998000244138, 38.186380001062723 ], [ -122.116790000284482, 38.186572000442411 ], [ -122.116485999816334, 38.186892000593112 ], [ -122.11603800008676, 38.187196000432337 ], [ -122.11581400013462, 38.18726000034431 ], [ -122.115590000129131, 38.187276000916583 ], [ -122.115206000234565, 38.187308000927601 ], [ -122.114678000119909, 38.187244000333266 ], [ -122.113989999637411, 38.187116001002558 ], [ -122.113765999468669, 38.187116000260986 ], [ -122.113670000164461, 38.187228000351752 ], [ -122.113333999653761, 38.18743600106184 ], [ -122.113957999654758, 38.187660000341999 ], [ -122.113990000079326, 38.187820001139599 ], [ -122.113989999417228, 38.188220000968968 ], [ -122.113686000448752, 38.188876000367308 ], [ -122.113190000227959, 38.18951600108705 ], [ -122.112773999993394, 38.189932001066154 ], [ -122.111989999656871, 38.190156000669049 ], [ -122.110726000130128, 38.190444000765815 ], [ -122.110070000456275, 38.190572000258534 ], [ -122.109925999817207, 38.190796001082433 ], [ -122.110053999714125, 38.190956000570495 ], [ -122.110390000477821, 38.191116000785478 ], [ -122.111461999440195, 38.191148000350303 ], [ -122.112518000311127, 38.191020000945073 ], [ -122.113126000489942, 38.191116000270021 ], [ -122.113622000003957, 38.191404000803963 ], [ -122.113733999987829, 38.191788000911302 ], [ -122.113701999967446, 38.192076000388283 ], [ -122.113221999482434, 38.192588000252861 ], [ -122.112326000210629, 38.193196001082825 ], [ -122.111365999883787, 38.19383600094055 ], [ -122.111318000111169, 38.194156000313967 ], [ -122.111606000233905, 38.194476000241231 ], [ -122.112037999880002, 38.194796000865018 ], [ -122.112741999426163, 38.19508400086162 ], [ -122.11323800038754, 38.195052000785893 ], [ -122.113734000001116, 38.194860000657798 ], [ -122.114053999802763, 38.194284000866439 ], [ -122.114213999720775, 38.193260000605015 ], [ -122.114134000217447, 38.192556000433342 ], [ -122.114309999448295, 38.191820001008338 ], [ -122.11454999970519, 38.190988000385452 ], [ -122.114582000194488, 38.190028000945759 ], [ -122.11474199991406, 38.189468001057421 ], [ -122.115173999433907, 38.189196000410178 ], [ -122.116005999580182, 38.189068000648014 ], [ -122.116662000289352, 38.18910000112556 ], [ -122.117894000143792, 38.189292000872399 ], [ -122.118645999454756, 38.189644000288304 ], [ -122.119493999532864, 38.190060000549437 ], [ -122.120038000000491, 38.190412000956734 ], [ -122.120406000422776, 38.190828001070898 ], [ -122.120581999657333, 38.191132000286025 ], [ -122.120710000446266, 38.19143600026257 ], [ -122.120934000318712, 38.191884000892728 ], [ -122.121086999857056, 38.192386000622939 ], [ -122.121109999954101, 38.192460001086516 ], [ -122.12120600038871, 38.192908000901056 ], [ -122.120997999617231, 38.193244000518789 ], [ -122.120421999713116, 38.193868000669333 ], [ -122.119701999648314, 38.194076000557565 ], [ -122.118965999442153, 38.19425200106307 ], [ -122.118646000161135, 38.194380000738484 ], [ -122.118166000099734, 38.194252000782782 ], [ -122.11778199996948, 38.194284000904482 ], [ -122.117877999764474, 38.194444001055288 ], [ -122.118069999400163, 38.194700000835681 ], [ -122.118870000192331, 38.195180000300212 ], [ -122.119638000057122, 38.195500000612313 ], [ -122.1199420001454, 38.195948000698287 ], [ -122.119766000390371, 38.196268001130498 ], [ -122.119542000423152, 38.196812000923764 ], [ -122.119557999985574, 38.197196000810159 ], [ -122.119910000459541, 38.197388001128438 ], [ -122.120454000271948, 38.197340000972623 ], [ -122.121125999626926, 38.197324000491506 ], [ -122.121877999756421, 38.197420000666483 ], [ -122.122038000296939, 38.197644000489802 ], [ -122.122133999995881, 38.19780400073828 ], [ -122.12224600045343, 38.198412000685167 ], [ -122.122166000502432, 38.199084000905934 ], [ -122.121781999630102, 38.199708000460319 ], [ -122.12131799958081, 38.200156000861739 ], [ -122.121077999518945, 38.200971000778132 ], [ -122.121285999525412, 38.201819000262759 ], [ -122.121558000196316, 38.202603000332317 ], [ -122.121589999596438, 38.203259000800017 ], [ -122.121557999427466, 38.203867000271892 ], [ -122.121781999772381, 38.204171000379304 ], [ -122.121878000348616, 38.204331000706794 ], [ -122.121830000090171, 38.204907000240986 ], [ -122.121717999725689, 38.205339000399704 ], [ -122.121718000205092, 38.205611000714775 ], [ -122.121814000355158, 38.206123001120538 ], [ -122.121957999588119, 38.206443000331312 ], [ -122.122198000006918, 38.206859001010677 ], [ -122.12266199966335, 38.207419000893992 ], [ -122.123333999569851, 38.208203001058003 ], [ -122.123957999869432, 38.20895500046425 ], [ -122.124599000097732, 38.209643000577394 ], [ -122.124998999717064, 38.209899000280856 ], [ -122.125590999497888, 38.209995001030244 ], [ -122.125910999525175, 38.209931000292592 ], [ -122.126071000397801, 38.209995000276173 ], [ -122.126247000196386, 38.210139000799664 ], [ -122.126695000456849, 38.210219000572977 ], [ -122.127319000198185, 38.210187000562605 ], [ -122.127766999954844, 38.210331000904787 ], [ -122.128182999730157, 38.210619000607643 ], [ -122.128778999398406, 38.211415000753973 ], [ -122.129178999875677, 38.211915000426849 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1268, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.057577999760952, 38.270113001096782 ], [ -122.05814600025316, 38.269951000398109 ], [ -122.058977999784886, 38.269713000441712 ], [ -122.060077999516523, 38.269513000419565 ], [ -122.061177999926812, 38.269413000249365 ], [ -122.061829999651366, 38.269465000464677 ], [ -122.063357000218033, 38.269413001039922 ], [ -122.064579000246937, 38.269413000428372 ], [ -122.065153000088273, 38.269413000657238 ], [ -122.065878000388864, 38.269413000832891 ], [ -122.066377999870966, 38.26941300069933 ], [ -122.067375000267461, 38.269435000538323 ], [ -122.067466000226375, 38.269436000508293 ], [ -122.067798000216001, 38.269417000442168 ], [ -122.067977999694136, 38.269413000561478 ], [ -122.068931000261173, 38.269486000918207 ], [ -122.06934499959479, 38.269465000259515 ], [ -122.073052000150554, 38.269419000486458 ], [ -122.074405999646686, 38.269385000830248 ], [ -122.07608799947144, 38.269317000863587 ], [ -122.076177999673746, 38.269313000647742 ], [ -122.076878000067254, 38.269313000948095 ], [ -122.077973000101125, 38.269503000617497 ], [ -122.080226999460592, 38.26989300058716 ], [ -122.083551999434746, 38.270468000366563 ], [ -122.084580000206927, 38.270646000280301 ], [ -122.08483300009118, 38.270690000593909 ], [ -122.085596999551242, 38.270822000283246 ], [ -122.087776999389419, 38.271199000505625 ], [ -122.092479000454617, 38.272013000895406 ], [ -122.09267900028199, 38.276313000936106 ], [ -122.10167899945003, 38.27881300083569 ], [ -122.102279000099102, 38.278813000801144 ], [ -122.103879000193359, 38.279613000917436 ], [ -122.104479000102728, 38.279713000866622 ], [ -122.105978999912608, 38.282313000834158 ], [ -122.109779000521087, 38.281713000505526 ], [ -122.113078999639427, 38.282613000976745 ], [ -122.114879000136099, 38.2819130007571 ], [ -122.116479000157, 38.28131300099794 ], [ -122.118378999821729, 38.284313000328353 ], [ -122.118616000006469, 38.285273000906393 ], [ -122.11857999958653, 38.286913000361395 ], [ -122.119379999887158, 38.291413000419354 ], [ -122.120580000524342, 38.296513000785886 ], [ -122.125979999972643, 38.29681300075211 ], [ -122.126680000085301, 38.297713001064146 ], [ -122.126759999923138, 38.298025000462793 ], [ -122.126979999880334, 38.298313000521915 ], [ -122.127079999558987, 38.299113000283583 ], [ -122.12838000019498, 38.301213000463036 ], [ -122.128422999586007, 38.304034000368766 ], [ -122.128479999798131, 38.307813000727521 ], [ -122.128879999739866, 38.310712000304221 ], [ -122.130080000408384, 38.313612001120696 ], [ -122.131479999765233, 38.313612000654373 ], [ -122.133779999651154, 38.315612000722432 ], [ -122.130980000377434, 38.315612000756687 ], [ -122.114595000473486, 38.315735000856932 ], [ -122.104380000313682, 38.315812001004566 ], [ -122.103780000138372, 38.315812000456951 ], [ -122.096479000011186, 38.315812001102977 ], [ -122.094078999496134, 38.315812000827158 ], [ -122.091811999849071, 38.315820000937947 ], [ -122.079501000428763, 38.315862000723563 ], [ -122.075172999715591, 38.315877001014243 ], [ -122.064778999593784, 38.315912000464664 ], [ -122.061878999648457, 38.313312001013031 ], [ -122.060478000049642, 38.314012001062693 ], [ -122.058578000007699, 38.313412001009105 ], [ -122.057578000333322, 38.314812000415827 ], [ -122.053777999847554, 38.315512000282126 ], [ -122.05277800012756, 38.314812000662357 ], [ -122.051478000339898, 38.31511200101049 ], [ -122.04957800016625, 38.314912001064577 ], [ -122.047477999504622, 38.314712000904727 ], [ -122.043377999976457, 38.321511000871794 ], [ -122.042877999881483, 38.321611000511474 ], [ -122.04197800018747, 38.321611000626675 ], [ -122.041178000249445, 38.3210110010167 ], [ -122.040378000509023, 38.320911000521136 ], [ -122.040277999517443, 38.320411000485599 ], [ -122.039477999539599, 38.320511000565141 ], [ -122.038778000299629, 38.319211001011851 ], [ -122.036677999538782, 38.31821100105708 ], [ -122.036277999840138, 38.315711000499093 ], [ -122.035790999515754, 38.315479000324572 ], [ -122.0341779999073, 38.314711000931077 ], [ -122.033277999701895, 38.313311000526348 ], [ -122.032777999408168, 38.313111000813606 ], [ -122.033501999896515, 38.308747001121709 ], [ -122.033778000093804, 38.305512000728946 ], [ -122.033777999810312, 38.30151400037159 ], [ -122.033777999404421, 38.298912000541058 ], [ -122.03377799977838, 38.298099000917929 ], [ -122.03377799949233, 38.296912000860708 ], [ -122.033838999701999, 38.296472000546338 ], [ -122.033902999417322, 38.295843000543016 ], [ -122.033977000168008, 38.295112000416395 ], [ -122.034047999825162, 38.292897000884217 ], [ -122.034315999871566, 38.292240001073338 ], [ -122.03443300030861, 38.291894000873114 ], [ -122.034584000066843, 38.291572000323178 ], [ -122.034821000343015, 38.291217000820438 ], [ -122.035102000238652, 38.29082800028457 ], [ -122.041076999534397, 38.283412001051047 ], [ -122.04417800047932, 38.27991200030484 ], [ -122.047878000407721, 38.275613000798394 ], [ -122.048826999585671, 38.274464000648209 ], [ -122.049777999767826, 38.273313000742625 ], [ -122.05105699953161, 38.273195000735178 ], [ -122.051466000289395, 38.273158001020988 ], [ -122.051569999556577, 38.273148000999861 ], [ -122.051878000412188, 38.273113000563825 ], [ -122.054077999588699, 38.272113000570393 ], [ -122.05497800002469, 38.271113000755207 ], [ -122.05612699941932, 38.27067100097014 ], [ -122.057577999760952, 38.270113001096782 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1332, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.637196000500481, 38.237016000706937 ], [ -122.637051999628952, 38.237106000370183 ], [ -122.636959999629724, 38.237152000398012 ], [ -122.636837999544738, 38.237244001023853 ], [ -122.636496000211963, 38.237616000920241 ], [ -122.635996000208905, 38.238116000966741 ], [ -122.635196000384198, 38.239116000757129 ], [ -122.634195999588272, 38.240116000775316 ], [ -122.633396000367568, 38.24101600064769 ], [ -122.632487000147947, 38.242039000283157 ], [ -122.631695999633209, 38.242916000291821 ], [ -122.630896000380616, 38.243816000600255 ], [ -122.629896000439217, 38.244816000796995 ], [ -122.629652000242572, 38.245072001121528 ], [ -122.629485000419862, 38.245221000955098 ], [ -122.628996000306202, 38.245716000436744 ], [ -122.627808999403754, 38.247048001042195 ], [ -122.627395999747705, 38.246816000929527 ], [ -122.626095999757268, 38.246016000829599 ], [ -122.624345000143691, 38.244589001025481 ], [ -122.623301999627401, 38.243508000739709 ], [ -122.622982999951546, 38.243046000704588 ], [ -122.622757999626316, 38.242664001119529 ], [ -122.62149599950861, 38.240216000586862 ], [ -122.620160000339993, 38.237677000338977 ], [ -122.620061999682676, 38.237491000657784 ], [ -122.619496000060295, 38.236416000505834 ], [ -122.619080000040569, 38.235610000715091 ], [ -122.618810000282693, 38.235099000934902 ], [ -122.618296000491043, 38.234116000800796 ], [ -122.617939000525936, 38.233401000248271 ], [ -122.617795999878368, 38.233016000405328 ], [ -122.61771799991152, 38.232832000555106 ], [ -122.615595999418417, 38.228916000506509 ], [ -122.615542000357834, 38.228699000922632 ], [ -122.615509999442196, 38.228570001124808 ], [ -122.615495999741441, 38.228516001030137 ], [ -122.615299999644975, 38.228120001134727 ], [ -122.615202000456037, 38.227899000704333 ], [ -122.615492999837073, 38.227905000407759 ], [ -122.615858999407649, 38.22792400025584 ], [ -122.616460999879067, 38.227897000858931 ], [ -122.616826000323428, 38.227809000707971 ], [ -122.617249999844603, 38.227651000646198 ], [ -122.617696000225237, 38.227517000700416 ], [ -122.617963000478881, 38.227418000663945 ], [ -122.618420999859978, 38.227220000465366 ], [ -122.618943000453172, 38.227080000737814 ], [ -122.619106999985505, 38.227036000438162 ], [ -122.619626000175614, 38.22701400035907 ], [ -122.620195999737504, 38.227017000572353 ], [ -122.622796000486574, 38.227017001075772 ], [ -122.622764000056051, 38.226325000999239 ], [ -122.622752999620118, 38.226076000575908 ], [ -122.622695999447245, 38.22481700084812 ], [ -122.623035000036708, 38.224784001099692 ], [ -122.623532000497818, 38.224778000381903 ], [ -122.624244999845985, 38.224971000428653 ], [ -122.624896000106006, 38.225017000503207 ], [ -122.625496000170457, 38.225017000252613 ], [ -122.626096000241887, 38.225017000540028 ], [ -122.626557000392438, 38.22501700084365 ], [ -122.627096000001188, 38.225017001111922 ], [ -122.628095999794084, 38.225017000374443 ], [ -122.628110000041232, 38.225137000324231 ], [ -122.627996000397673, 38.225317001026085 ], [ -122.627696000254574, 38.225717001061611 ], [ -122.62749600009208, 38.226017000366234 ], [ -122.628323999591657, 38.226228000538342 ], [ -122.628690000377915, 38.226304000534888 ], [ -122.629040999864614, 38.226373000636308 ], [ -122.629895999747234, 38.226717000515215 ], [ -122.631096000183334, 38.227217000320159 ], [ -122.631395999917899, 38.227317001038763 ], [ -122.632295999502105, 38.227617000397046 ], [ -122.633395999657537, 38.228017000376006 ], [ -122.634595999749692, 38.228517000424567 ], [ -122.634924999588705, 38.228000000637891 ], [ -122.635295999984834, 38.227417001108471 ], [ -122.635595999529855, 38.226917000537355 ], [ -122.635625999943244, 38.226867000346608 ], [ -122.636195999925647, 38.225917000552663 ], [ -122.634995999411785, 38.225417000477862 ], [ -122.633795999556909, 38.225017000856738 ], [ -122.634195999647531, 38.224317000809329 ], [ -122.6342749997346, 38.224198000627169 ], [ -122.634127000221127, 38.223731000419754 ], [ -122.633995999504194, 38.223317000609221 ], [ -122.633930999809394, 38.223187000608448 ], [ -122.633895999718774, 38.223117000314005 ], [ -122.634195999797754, 38.223017000840628 ], [ -122.634941000484361, 38.222902000614859 ], [ -122.635157000002479, 38.222869000507515 ], [ -122.635354999947623, 38.222839001134297 ], [ -122.635495999718586, 38.222817000595981 ], [ -122.635967999859076, 38.222741000941731 ], [ -122.636151999609325, 38.222711000965447 ], [ -122.636596000458368, 38.222717000679289 ], [ -122.638395999715243, 38.222617000293567 ], [ -122.63979599999638, 38.222517000995445 ], [ -122.64019599983358, 38.222517001136957 ], [ -122.641795999683126, 38.222817000309533 ], [ -122.642408000049045, 38.223008001107807 ], [ -122.642695999635151, 38.223017001075938 ], [ -122.642296000162915, 38.223717000673574 ], [ -122.642096000305401, 38.224017000750187 ], [ -122.641796000156489, 38.224517000261521 ], [ -122.641096000081916, 38.225717000490953 ], [ -122.640695999494739, 38.226317000455701 ], [ -122.639896000205383, 38.227517000586765 ], [ -122.639295999676676, 38.228417000289724 ], [ -122.639296000529882, 38.228517000360334 ], [ -122.638395999722604, 38.230017000647713 ], [ -122.63949599980748, 38.230417001109032 ], [ -122.640695999576721, 38.230817000898348 ], [ -122.641736000305769, 38.231271000573813 ], [ -122.641904000346969, 38.231378000459237 ], [ -122.642095999469461, 38.231617000997382 ], [ -122.642997000403753, 38.232217000680457 ], [ -122.643997000241271, 38.232917000821679 ], [ -122.644411999484262, 38.233240000561821 ], [ -122.644897000339029, 38.233617000831124 ], [ -122.645496999976928, 38.234017000285625 ], [ -122.645896999798907, 38.234317000908831 ], [ -122.644796999868873, 38.234616000541152 ], [ -122.644299999469339, 38.234765000546226 ], [ -122.643796999874056, 38.234916000834964 ], [ -122.642897000182415, 38.235216000357283 ], [ -122.642456000285463, 38.235363000792518 ], [ -122.641996999956348, 38.23551600105867 ], [ -122.641552000266927, 38.235664000689916 ], [ -122.641097000347202, 38.235816001140101 ], [ -122.64073300018228, 38.235920000262716 ], [ -122.64039600042814, 38.236016000376445 ], [ -122.64028099941325, 38.236054000652977 ], [ -122.640095999802227, 38.236116000967947 ], [ -122.639495999523675, 38.236316000744985 ], [ -122.639096000016281, 38.236416000712332 ], [ -122.638896000313139, 38.236416001119153 ], [ -122.638096000025101, 38.236716000917419 ], [ -122.637596000169864, 38.236916000928176 ], [ -122.637196000500481, 38.237016000706937 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1326, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.633795999556909, 38.225017000856738 ], [ -122.634995999411785, 38.225417000477862 ], [ -122.636195999925647, 38.225917000552663 ], [ -122.635625999943244, 38.226867000346608 ], [ -122.635595999529855, 38.226917000537355 ], [ -122.635295999984834, 38.227417001108471 ], [ -122.634924999588705, 38.228000000637891 ], [ -122.634595999749692, 38.228517000424567 ], [ -122.633395999657537, 38.228017000376006 ], [ -122.632295999502105, 38.227617000397046 ], [ -122.631395999917899, 38.227317001038763 ], [ -122.631096000183334, 38.227217000320159 ], [ -122.629895999747234, 38.226717000515215 ], [ -122.629040999864614, 38.226373000636308 ], [ -122.628690000377915, 38.226304000534888 ], [ -122.628323999591657, 38.226228000538342 ], [ -122.62749600009208, 38.226017000366234 ], [ -122.627696000254574, 38.225717001061611 ], [ -122.627996000397673, 38.225317001026085 ], [ -122.628110000041232, 38.225137000324231 ], [ -122.628095999794084, 38.225017000374443 ], [ -122.627096000001188, 38.225017001111922 ], [ -122.626557000392438, 38.22501700084365 ], [ -122.626096000241887, 38.225017000540028 ], [ -122.625496000170457, 38.225017000252613 ], [ -122.624896000106006, 38.225017000503207 ], [ -122.624244999845985, 38.224971000428653 ], [ -122.623532000497818, 38.224778000381903 ], [ -122.623035000036708, 38.224784001099692 ], [ -122.622695999447245, 38.22481700084812 ], [ -122.622752999620118, 38.226076000575908 ], [ -122.622764000056051, 38.226325000999239 ], [ -122.622796000486574, 38.227017001075772 ], [ -122.620195999737504, 38.227017000572353 ], [ -122.619626000175614, 38.22701400035907 ], [ -122.619106999985505, 38.227036000438162 ], [ -122.618943000453172, 38.227080000737814 ], [ -122.618420999859978, 38.227220000465366 ], [ -122.617963000478881, 38.227418000663945 ], [ -122.617696000225237, 38.227517000700416 ], [ -122.617249999844603, 38.227651000646198 ], [ -122.616826000323428, 38.227809000707971 ], [ -122.616460999879067, 38.227897000858931 ], [ -122.615858999407649, 38.22792400025584 ], [ -122.615492999837073, 38.227905000407759 ], [ -122.615202000456037, 38.227899000704333 ], [ -122.614711000495234, 38.226952001124573 ], [ -122.614481000271894, 38.226507000743531 ], [ -122.614273000339182, 38.22615700088577 ], [ -122.614194999737066, 38.226043000432576 ], [ -122.613562999601228, 38.225321000834811 ], [ -122.613373999680249, 38.225101000576224 ], [ -122.612980999630381, 38.224745000302001 ], [ -122.612571999578861, 38.224372000576366 ], [ -122.612095000022023, 38.224017000711306 ], [ -122.611340000173257, 38.223519001091361 ], [ -122.610695000112528, 38.223117000389706 ], [ -122.608695000089853, 38.221817000446414 ], [ -122.606340999495714, 38.220217000517323 ], [ -122.605874000197474, 38.21988200032775 ], [ -122.605676999915559, 38.219696000944275 ], [ -122.605378999446103, 38.219459000606619 ], [ -122.605118999506018, 38.21921600063709 ], [ -122.604848000437656, 38.218895000320153 ], [ -122.60467300010805, 38.218718001080738 ], [ -122.604495000426525, 38.21851700106275 ], [ -122.604366000346602, 38.218354000454219 ], [ -122.603878000351898, 38.217599000511257 ], [ -122.603394999885211, 38.216517000729333 ], [ -122.600694999456792, 38.210617000720951 ], [ -122.598460999579203, 38.205789000847396 ], [ -122.598294999796607, 38.20531700097267 ], [ -122.598187000276113, 38.205102000644459 ], [ -122.598156000090469, 38.204896000538398 ], [ -122.59810999949481, 38.204682000916392 ], [ -122.598080000393935, 38.20427800065243 ], [ -122.598080000241637, 38.203912000761775 ], [ -122.598094999886214, 38.203117000566998 ], [ -122.598246000380058, 38.201947000751623 ], [ -122.598750999919091, 38.19802200100132 ], [ -122.598796999918051, 38.197900000386696 ], [ -122.598949999671817, 38.19750300054023 ], [ -122.599011000216464, 38.197297000982211 ], [ -122.599723999831923, 38.194851000885073 ], [ -122.600016999811501, 38.193841000495659 ], [ -122.600394000493964, 38.192517000301685 ], [ -122.600855999419949, 38.191010001033327 ], [ -122.600947999994261, 38.190652000708951 ], [ -122.600993000463887, 38.190400000372478 ], [ -122.601039000209013, 38.190042000425123 ], [ -122.601070000171148, 38.189706000497168 ], [ -122.601085000114097, 38.189530001081089 ], [ -122.600994000149498, 38.188017000744388 ], [ -122.601093999674802, 38.187217000888339 ], [ -122.601115000181821, 38.186700000899137 ], [ -122.601039000449092, 38.185968001107334 ], [ -122.600993999745683, 38.185418000771712 ], [ -122.601420999827468, 38.184664000767995 ], [ -122.601542999662357, 38.183611000984662 ], [ -122.60209200024758, 38.182978000347248 ], [ -122.602718000365883, 38.182421001017815 ], [ -122.603067999840079, 38.181604001135511 ], [ -122.603193999463642, 38.181218000443828 ], [ -122.603479999450983, 38.180948000926108 ], [ -122.603861999681314, 38.180712000965627 ], [ -122.604349999526107, 38.1806200011101 ], [ -122.605570999560953, 38.180544000513507 ], [ -122.606074000179717, 38.180666000519537 ], [ -122.606318999590485, 38.180803000312324 ], [ -122.606929999539389, 38.180986000669186 ], [ -122.60784500008883, 38.181124000704528 ], [ -122.608256999740064, 38.180925000299233 ], [ -122.608958999714062, 38.180948000562317 ], [ -122.609416999946376, 38.181192000899472 ], [ -122.610011999533739, 38.181360000880652 ], [ -122.610454999455712, 38.181192000724614 ], [ -122.61103500001677, 38.180902000756923 ], [ -122.611798000116067, 38.180719000958305 ], [ -122.612094999389683, 38.180718000578963 ], [ -122.612315999765528, 38.180719000802632 ], [ -122.612605999531368, 38.180742000837682 ], [ -122.613368999525733, 38.181040000858474 ], [ -122.613704999450633, 38.181383000426486 ], [ -122.613995000120283, 38.181765001133392 ], [ -122.614375999971031, 38.182146000371247 ], [ -122.614495000296785, 38.182218000496434 ], [ -122.614620000026676, 38.182329000462261 ], [ -122.615261000490307, 38.182489000888538 ], [ -122.616176999906855, 38.182512001083161 ], [ -122.617259999763789, 38.182535000534415 ], [ -122.61779500005278, 38.182518000589539 ], [ -122.618588000038059, 38.182505000828314 ], [ -122.619365999547284, 38.182627000478931 ], [ -122.619975999570002, 38.182695000532796 ], [ -122.620327000200476, 38.182558000273907 ], [ -122.620770000460155, 38.182100000598375 ], [ -122.621273000449122, 38.181994000349327 ], [ -122.621516999990462, 38.182085001119383 ], [ -122.621731000212392, 38.182299000272558 ], [ -122.622172999786244, 38.18252800067318 ], [ -122.622615999596135, 38.182528000359156 ], [ -122.623073999470549, 38.182405000567833 ], [ -122.623547000033724, 38.182138000915295 ], [ -122.623958999659152, 38.182116000994718 ], [ -122.624278999798406, 38.18225300073464 ], [ -122.624584000223621, 38.182428000930074 ], [ -122.625042000456673, 38.182459000312917 ], [ -122.625295000485067, 38.182418000391934 ], [ -122.625729000514852, 38.182421000455243 ], [ -122.625851000416176, 38.182055001072115 ], [ -122.625836000444238, 38.181742000635516 ], [ -122.625820000151435, 38.18144400112844 ], [ -122.625881000357708, 38.181215000289576 ], [ -122.625987999968004, 38.180979000760672 ], [ -122.626094999689457, 38.1809180010221 ], [ -122.626949000347977, 38.180605000344841 ], [ -122.627117000149511, 38.180429000992156 ], [ -122.626994999532641, 38.180218000402654 ], [ -122.626948999664194, 38.180063001068007 ], [ -122.627072000376373, 38.179834000926441 ], [ -122.627835000416653, 38.179430000280895 ], [ -122.628062999898788, 38.179079000451765 ], [ -122.628216000461947, 38.178782000433785 ], [ -122.628628000170778, 38.178720000667802 ], [ -122.629147000107068, 38.17866700031631 ], [ -122.62949500050847, 38.178718000589363 ], [ -122.62964999999771, 38.178713000875703 ], [ -122.63016899962615, 38.178919000442583 ], [ -122.630748999909898, 38.17882000104612 ], [ -122.631497000023145, 38.178904001122703 ], [ -122.632427000084633, 38.179010000896319 ], [ -122.633145000407637, 38.178911000662254 ], [ -122.633633000253809, 38.178408000795585 ], [ -122.63471699977724, 38.178682000388619 ], [ -122.635693999585413, 38.178728000258289 ], [ -122.636441000004609, 38.179178000938151 ], [ -122.63705199990865, 38.179827000648196 ], [ -122.637784000029569, 38.180178000861808 ], [ -122.638821999756885, 38.180323000244279 ], [ -122.640210000263366, 38.18041400100838 ], [ -122.641476999637618, 38.18071200087644 ], [ -122.642433999418401, 38.180840000869708 ], [ -122.642788999424795, 38.180887000417577 ], [ -122.643826999938113, 38.180971000794933 ], [ -122.64511199968797, 38.181118000359014 ], [ -122.645429000024421, 38.181154000696687 ], [ -122.646817000308147, 38.181238000830589 ], [ -122.648023000165054, 38.181368000861681 ], [ -122.648724999835608, 38.181116000461031 ], [ -122.649319999653969, 38.181253000942284 ], [ -122.649700999762061, 38.181711000291422 ], [ -122.650342000278727, 38.182016001133711 ], [ -122.651196000030566, 38.182618001040979 ], [ -122.651395000069869, 38.182795000619045 ], [ -122.652523999732381, 38.183725000461351 ], [ -122.653134999923466, 38.184511000325564 ], [ -122.653496000497725, 38.184818000791338 ], [ -122.654035000400143, 38.184984001132769 ], [ -122.654554000270622, 38.184984000603805 ], [ -122.65505700051915, 38.18499900088274 ], [ -122.655469000385281, 38.185305000485904 ], [ -122.655972999926277, 38.185724001119972 ], [ -122.656521999943024, 38.186007000769408 ], [ -122.657438000188009, 38.186258001062996 ], [ -122.658017000344316, 38.18648700037469 ], [ -122.658245999731648, 38.186640000351716 ], [ -122.658858000157039, 38.186846000437171 ], [ -122.659397000410735, 38.187018001063819 ], [ -122.659666000494667, 38.186846000979372 ], [ -122.660750000270056, 38.186716000506514 ], [ -122.661359999489065, 38.186670000987277 ], [ -122.66183299953164, 38.186480001044693 ], [ -122.662077000044519, 38.186388001047746 ], [ -122.662297000389373, 38.186218000671829 ], [ -122.662732999744634, 38.186182000314602 ], [ -122.663388999877228, 38.186289000895812 ], [ -122.663634000508253, 38.18652500062931 ], [ -122.663756000332484, 38.186792000634036 ], [ -122.663697000344257, 38.187018000452944 ], [ -122.663817000359813, 38.18749400076733 ], [ -122.664297000376877, 38.187718000891373 ], [ -122.663099999447908, 38.190287000449224 ], [ -122.663008000450944, 38.190454000735357 ], [ -122.662870999943109, 38.190660000716242 ], [ -122.662697000518136, 38.190818000551722 ], [ -122.662565999456831, 38.190973000846427 ], [ -122.662198999395358, 38.191134000580817 ], [ -122.661603999417409, 38.191317000777545 ], [ -122.660857000002522, 38.191576000909436 ], [ -122.660108999553202, 38.192293000310819 ], [ -122.659650999501181, 38.192774000912891 ], [ -122.658139999968782, 38.19529200068488 ], [ -122.657561000529881, 38.195681000743065 ], [ -122.655056999989952, 38.197268000766911 ], [ -122.654596000410194, 38.19741800056493 ], [ -122.654122000071212, 38.19737800077219 ], [ -122.653439999505196, 38.197321000464186 ], [ -122.651517000141368, 38.197405000639748 ], [ -122.65141400023218, 38.197420000906497 ], [ -122.649900000258967, 38.197633000650931 ], [ -122.648113999810803, 38.197755000742212 ], [ -122.646360000231056, 38.198045000977835 ], [ -122.644620000324579, 38.198533000619392 ], [ -122.642942000064409, 38.199006001139843 ], [ -122.641645000425683, 38.199449000950366 ], [ -122.641019000097344, 38.19986100080655 ], [ -122.640851000288833, 38.200395000643155 ], [ -122.640882000281806, 38.201249000259921 ], [ -122.641187000475441, 38.201882000817832 ], [ -122.641308999538865, 38.202615000860142 ], [ -122.641495000431888, 38.202924000846131 ], [ -122.64158399953962, 38.203073000318405 ], [ -122.642040999798027, 38.203599000439958 ], [ -122.642331000126802, 38.204141001082014 ], [ -122.642591000085872, 38.204537001061333 ], [ -122.642707000349986, 38.204662000329108 ], [ -122.642957000231263, 38.204934000601675 ], [ -122.643537000196048, 38.205270000438816 ], [ -122.644132000135755, 38.205697001054922 ], [ -122.644452000140831, 38.206346000318938 ], [ -122.644894999855396, 38.207063000860984 ], [ -122.645070000489369, 38.207399000247158 ], [ -122.645260999985368, 38.20776500087559 ], [ -122.645551000413292, 38.208055000861968 ], [ -122.646084999918273, 38.208474000593448 ], [ -122.646694999413086, 38.209168000878648 ], [ -122.647076999558465, 38.20964900080007 ], [ -122.646801999700472, 38.210137000239882 ], [ -122.646283000350763, 38.210404000403081 ], [ -122.645643000216481, 38.210626000300657 ], [ -122.645085000430612, 38.210696000380239 ], [ -122.644619999789711, 38.210755001080095 ], [ -122.643902999961412, 38.210961000830729 ], [ -122.643337999415849, 38.211373000624711 ], [ -122.643275000269711, 38.211467000999868 ], [ -122.642789000282164, 38.212190001066226 ], [ -122.642255000144317, 38.212785000982528 ], [ -122.641795999740523, 38.213217000425828 ], [ -122.64196499960768, 38.213807000325879 ], [ -122.642057000235226, 38.21425000065026 ], [ -122.642315999742053, 38.214799000560546 ], [ -122.642403999419116, 38.214944000841861 ], [ -122.642684000321466, 38.215403000771161 ], [ -122.64280399989417, 38.215600000379069 ], [ -122.643105999497905, 38.215935000656927 ], [ -122.643292999753214, 38.216142000945105 ], [ -122.643781000343949, 38.216561000665202 ], [ -122.644330000261292, 38.217164000828632 ], [ -122.644696000053813, 38.217668000833129 ], [ -122.644810999521951, 38.218127000696278 ], [ -122.644834000110109, 38.218217000852569 ], [ -122.644650999696012, 38.218850000360369 ], [ -122.644161999776315, 38.219491001037376 ], [ -122.643644000309109, 38.220010000999871 ], [ -122.643215999551231, 38.22053600093885 ], [ -122.643064000217052, 38.221177000391052 ], [ -122.642996000036334, 38.2217170003332 ], [ -122.643079000456751, 38.221932000295887 ], [ -122.642926000306673, 38.222093000540909 ], [ -122.642834999856817, 38.222314000809476 ], [ -122.642695999635151, 38.223017001075938 ], [ -122.642408000049045, 38.223008001107807 ], [ -122.641795999683126, 38.222817000309533 ], [ -122.64019599983358, 38.222517001136957 ], [ -122.63979599999638, 38.222517000995445 ], [ -122.638395999715243, 38.222617000293567 ], [ -122.636596000458368, 38.222717000679289 ], [ -122.636151999609325, 38.222711000965447 ], [ -122.635967999859076, 38.222741000941731 ], [ -122.635495999718586, 38.222817000595981 ], [ -122.635354999947623, 38.222839001134297 ], [ -122.635157000002479, 38.222869000507515 ], [ -122.634941000484361, 38.222902000614859 ], [ -122.634195999797754, 38.223017000840628 ], [ -122.633895999718774, 38.223117000314005 ], [ -122.633930999809394, 38.223187000608448 ], [ -122.633995999504194, 38.223317000609221 ], [ -122.634127000221127, 38.223731000419754 ], [ -122.6342749997346, 38.224198000627169 ], [ -122.634195999647531, 38.224317000809329 ], [ -122.633795999556909, 38.225017000856738 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1327, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.683616000440978, 38.205517000573394 ], [ -122.683497999788344, 38.205517000659903 ], [ -122.681797999674984, 38.205617000512085 ], [ -122.681181000453918, 38.205789000251258 ], [ -122.680631999567353, 38.205750000556314 ], [ -122.680205000524921, 38.205766000814009 ], [ -122.679548999596477, 38.205850000738181 ], [ -122.679096999615069, 38.205917001038721 ], [ -122.678358000463973, 38.206300000267859 ], [ -122.677696999573001, 38.206617000979627 ], [ -122.677213999410228, 38.206742001083455 ], [ -122.676634000159822, 38.206964000886131 ], [ -122.673809000225774, 38.208427000836487 ], [ -122.673276999509923, 38.208703000602135 ], [ -122.672574999492724, 38.209077000391794 ], [ -122.671521999403723, 38.209481000402889 ], [ -122.670392999457931, 38.209802000973959 ], [ -122.667630999785089, 38.210626001089054 ], [ -122.667157999582543, 38.210732000350383 ], [ -122.665397000169023, 38.212417000321253 ], [ -122.665143999401479, 38.212907000738937 ], [ -122.66505300045516, 38.213342000655118 ], [ -122.665189999782214, 38.213807000264389 ], [ -122.66566300045055, 38.214372000338741 ], [ -122.666777000449272, 38.215516000350334 ], [ -122.667737999866588, 38.216287000264948 ], [ -122.6686999998266, 38.217484000251815 ], [ -122.669095999757758, 38.218369000264978 ], [ -122.669278999959374, 38.219148001027285 ], [ -122.669249000292496, 38.21978100056328 ], [ -122.669019999659554, 38.221681001103548 ], [ -122.669080999768283, 38.222054000442107 ], [ -122.669401000505175, 38.222413000284327 ], [ -122.670097000280762, 38.223017000293929 ], [ -122.669876999435587, 38.223170001120153 ], [ -122.669582999825053, 38.223375000990501 ], [ -122.669300000105224, 38.223572000948366 ], [ -122.667613999880956, 38.224749001075786 ], [ -122.667114999724561, 38.225098000946112 ], [ -122.664796999435197, 38.226717001010947 ], [ -122.66411599945431, 38.227150000968564 ], [ -122.663697000240774, 38.227417001051613 ], [ -122.662297000525683, 38.228417000740514 ], [ -122.659411000233945, 38.230810001126166 ], [ -122.659096000326571, 38.230782000490045 ], [ -122.659093999485975, 38.230784000863039 ], [ -122.658832000464756, 38.234617000393108 ], [ -122.658540000248422, 38.234612001019464 ], [ -122.658009999581793, 38.234602000626516 ], [ -122.657669000253676, 38.234595000633625 ], [ -122.657285000345269, 38.234588000277 ], [ -122.656226999488126, 38.234568000636614 ], [ -122.655275999455, 38.234550001019947 ], [ -122.653596999485643, 38.234517001000427 ], [ -122.652497000197229, 38.234417000240562 ], [ -122.651497000170011, 38.234417000435606 ], [ -122.650996999592536, 38.23441700094142 ], [ -122.649997000156915, 38.234317000980624 ], [ -122.64919700013705, 38.234317001002609 ], [ -122.648436000279261, 38.234317000638669 ], [ -122.647796999855828, 38.234317000987538 ], [ -122.646797000175965, 38.234317000796743 ], [ -122.645896999798907, 38.234317000908831 ], [ -122.645496999976928, 38.234017000285625 ], [ -122.644897000339029, 38.233617000831124 ], [ -122.644411999484262, 38.233240000561821 ], [ -122.643997000241271, 38.232917000821679 ], [ -122.642997000403753, 38.232217000680457 ], [ -122.642095999469461, 38.231617000997382 ], [ -122.641904000346969, 38.231378000459237 ], [ -122.641736000305769, 38.231271000573813 ], [ -122.640695999576721, 38.230817000898348 ], [ -122.63949599980748, 38.230417001109032 ], [ -122.638395999722604, 38.230017000647713 ], [ -122.639296000529882, 38.228517000360334 ], [ -122.639295999676676, 38.228417000289724 ], [ -122.639896000205383, 38.227517000586765 ], [ -122.640695999494739, 38.226317000455701 ], [ -122.641096000081916, 38.225717000490953 ], [ -122.641796000156489, 38.224517000261521 ], [ -122.642096000305401, 38.224017000750187 ], [ -122.642296000162915, 38.223717000673574 ], [ -122.642695999635151, 38.223017001075938 ], [ -122.642834999856817, 38.222314000809476 ], [ -122.642926000306673, 38.222093000540909 ], [ -122.643079000456751, 38.221932000295887 ], [ -122.642996000036334, 38.2217170003332 ], [ -122.643064000217052, 38.221177000391052 ], [ -122.643215999551231, 38.22053600093885 ], [ -122.643644000309109, 38.220010000999871 ], [ -122.644161999776315, 38.219491001037376 ], [ -122.644650999696012, 38.218850000360369 ], [ -122.644834000110109, 38.218217000852569 ], [ -122.644810999521951, 38.218127000696278 ], [ -122.644696000053813, 38.217668000833129 ], [ -122.644330000261292, 38.217164000828632 ], [ -122.643781000343949, 38.216561000665202 ], [ -122.643292999753214, 38.216142000945105 ], [ -122.643105999497905, 38.215935000656927 ], [ -122.64280399989417, 38.215600000379069 ], [ -122.642684000321466, 38.215403000771161 ], [ -122.642403999419116, 38.214944000841861 ], [ -122.642315999742053, 38.214799000560546 ], [ -122.642057000235226, 38.21425000065026 ], [ -122.64196499960768, 38.213807000325879 ], [ -122.641795999740523, 38.213217000425828 ], [ -122.642255000144317, 38.212785000982528 ], [ -122.642789000282164, 38.212190001066226 ], [ -122.643275000269711, 38.211467000999868 ], [ -122.643337999415849, 38.211373000624711 ], [ -122.643902999961412, 38.210961000830729 ], [ -122.644619999789711, 38.210755001080095 ], [ -122.645085000430612, 38.210696000380239 ], [ -122.645643000216481, 38.210626000300657 ], [ -122.646283000350763, 38.210404000403081 ], [ -122.646801999700472, 38.210137000239882 ], [ -122.647076999558465, 38.20964900080007 ], [ -122.646694999413086, 38.209168000878648 ], [ -122.646084999918273, 38.208474000593448 ], [ -122.645551000413292, 38.208055000861968 ], [ -122.645260999985368, 38.20776500087559 ], [ -122.645070000489369, 38.207399000247158 ], [ -122.644894999855396, 38.207063000860984 ], [ -122.644452000140831, 38.206346000318938 ], [ -122.644132000135755, 38.205697001054922 ], [ -122.643537000196048, 38.205270000438816 ], [ -122.642957000231263, 38.204934000601675 ], [ -122.642707000349986, 38.204662000329108 ], [ -122.642591000085872, 38.204537001061333 ], [ -122.642331000126802, 38.204141001082014 ], [ -122.642040999798027, 38.203599000439958 ], [ -122.64158399953962, 38.203073000318405 ], [ -122.641495000431888, 38.202924000846131 ], [ -122.641308999538865, 38.202615000860142 ], [ -122.641187000475441, 38.201882000817832 ], [ -122.640882000281806, 38.201249000259921 ], [ -122.640851000288833, 38.200395000643155 ], [ -122.641019000097344, 38.19986100080655 ], [ -122.641645000425683, 38.199449000950366 ], [ -122.642942000064409, 38.199006001139843 ], [ -122.644620000324579, 38.198533000619392 ], [ -122.646360000231056, 38.198045000977835 ], [ -122.648113999810803, 38.197755000742212 ], [ -122.649900000258967, 38.197633000650931 ], [ -122.65141400023218, 38.197420000906497 ], [ -122.651517000141368, 38.197405000639748 ], [ -122.653439999505196, 38.197321000464186 ], [ -122.654122000071212, 38.19737800077219 ], [ -122.654596000410194, 38.19741800056493 ], [ -122.655056999989952, 38.197268000766911 ], [ -122.657561000529881, 38.195681000743065 ], [ -122.658139999968782, 38.19529200068488 ], [ -122.659650999501181, 38.192774000912891 ], [ -122.660108999553202, 38.192293000310819 ], [ -122.660857000002522, 38.191576000909436 ], [ -122.661603999417409, 38.191317000777545 ], [ -122.662198999395358, 38.191134000580817 ], [ -122.662565999456831, 38.190973000846427 ], [ -122.662697000518136, 38.190818000551722 ], [ -122.662870999943109, 38.190660000716242 ], [ -122.663008000450944, 38.190454000735357 ], [ -122.663099999447908, 38.190287000449224 ], [ -122.664297000376877, 38.187718000891373 ], [ -122.664580000109353, 38.187937000473845 ], [ -122.665342999610147, 38.188425000393124 ], [ -122.666196999891682, 38.188700000360484 ], [ -122.666684999532535, 38.189371001013392 ], [ -122.667478999687575, 38.189814000405953 ], [ -122.66834899989523, 38.18988200041418 ], [ -122.66937099939598, 38.19005800065198 ], [ -122.669920000217516, 38.189981000705828 ], [ -122.670759000252261, 38.189707001061123 ], [ -122.671553000284575, 38.189928000473422 ], [ -122.672056000351219, 38.189791000336655 ], [ -122.673064000491621, 38.189837000484879 ], [ -122.673475999881617, 38.18955400031335 ], [ -122.674283999558412, 38.189394001024823 ], [ -122.675031999884382, 38.189158001025831 ], [ -122.675702999990321, 38.189226000368137 ], [ -122.676329000416573, 38.189631000710712 ], [ -122.676741000313854, 38.189676000800041 ], [ -122.677900999475696, 38.189783000874122 ], [ -122.679397000105169, 38.189618000338484 ], [ -122.679640000059294, 38.18965300059623 ], [ -122.680310999992244, 38.189791000419604 ], [ -122.680738999452529, 38.189943000295663 ], [ -122.681120000269161, 38.190279000581334 ], [ -122.681761000257396, 38.190905000997311 ], [ -122.682326000035147, 38.191225001078045 ], [ -122.682677000313703, 38.191744000994191 ], [ -122.683054000058078, 38.19178900060875 ], [ -122.683698999553698, 38.191866000307527 ], [ -122.684126000225191, 38.19216300101602 ], [ -122.68478299975709, 38.192720000562304 ], [ -122.685073000200944, 38.193064000894566 ], [ -122.685881999637672, 38.193438000527834 ], [ -122.686446999606702, 38.193865000465543 ], [ -122.686355000252576, 38.194376000860494 ], [ -122.687515000294013, 38.194696001000928 ], [ -122.688093999657667, 38.194918000587336 ], [ -122.688629000093869, 38.194895001041694 ], [ -122.689468000170407, 38.194918000600012 ], [ -122.690138999765693, 38.194597000788953 ], [ -122.691009000261772, 38.194567000623323 ], [ -122.691451000367891, 38.194849000965398 ], [ -122.692153000309375, 38.19498600065404 ], [ -122.693023000426422, 38.195139001115351 ], [ -122.693914000050967, 38.195196001124692 ], [ -122.69401700007532, 38.195203001082 ], [ -122.694197999519673, 38.195215000615143 ], [ -122.69512900005374, 38.195223000511298 ], [ -122.695754000107485, 38.195322000727465 ], [ -122.696364999405418, 38.195330000250621 ], [ -122.69671600045838, 38.195589000390115 ], [ -122.697326000124534, 38.19583300087934 ], [ -122.698043000327118, 38.196123000497408 ], [ -122.698683999429122, 38.196337000504528 ], [ -122.699553999488174, 38.196405001013545 ], [ -122.699995999766998, 38.196276000548316 ], [ -122.700239999982657, 38.196001000461976 ], [ -122.701201999627898, 38.196138000324567 ], [ -122.701629000234604, 38.196650000642677 ], [ -122.702026000072792, 38.197184000424329 ], [ -122.702498999821486, 38.1977100008015 ], [ -122.702895000515852, 38.197863000492639 ], [ -122.703384000302989, 38.197901000951582 ], [ -122.703886999768883, 38.198084000922222 ], [ -122.704297999485405, 38.198518000468034 ], [ -122.703529999656993, 38.199435001096965 ], [ -122.702334000170907, 38.200736000972547 ], [ -122.701841999921157, 38.201320000390837 ], [ -122.701318999425112, 38.201940000602015 ], [ -122.70007199950129, 38.203271000310529 ], [ -122.699223000502158, 38.204142000945261 ], [ -122.69819200038495, 38.204987000386772 ], [ -122.697783000507471, 38.205407000394338 ], [ -122.697250000303569, 38.206011000379696 ], [ -122.696838000167972, 38.206507001135996 ], [ -122.69523600046486, 38.208314000307759 ], [ -122.694625000126479, 38.208756000335562 ], [ -122.694044999570011, 38.209046001097484 ], [ -122.69346600011518, 38.209115000396459 ], [ -122.692779000369171, 38.209016000659325 ], [ -122.692260000022912, 38.208810000621128 ], [ -122.689741999793924, 38.207635000759907 ], [ -122.689207999552124, 38.207330000587923 ], [ -122.688643999394102, 38.20693300032157 ], [ -122.688246999919585, 38.206544000637784 ], [ -122.687957000317326, 38.206201001105789 ], [ -122.687576000072852, 38.205835001116043 ], [ -122.687179000302166, 38.205622000292131 ], [ -122.686675000237656, 38.205538000370339 ], [ -122.685797999722553, 38.205518000947983 ], [ -122.683616000440978, 38.205517000573394 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1331, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.630896000380616, 38.243816000600255 ], [ -122.631695999633209, 38.242916000291821 ], [ -122.632487000147947, 38.242039000283157 ], [ -122.633396000367568, 38.24101600064769 ], [ -122.634195999588272, 38.240116000775316 ], [ -122.635196000384198, 38.239116000757129 ], [ -122.635996000208905, 38.238116000966741 ], [ -122.636496000211963, 38.237616000920241 ], [ -122.636837999544738, 38.237244001023853 ], [ -122.636959999629724, 38.237152000398012 ], [ -122.637051999628952, 38.237106000370183 ], [ -122.637196000500481, 38.237016000706937 ], [ -122.637596000169864, 38.236916000928176 ], [ -122.638096000025101, 38.236716000917419 ], [ -122.638896000313139, 38.236416001119153 ], [ -122.639096000016281, 38.236416000712332 ], [ -122.639495999523675, 38.236316000744985 ], [ -122.640095999802227, 38.236116000967947 ], [ -122.64028099941325, 38.236054000652977 ], [ -122.64039600042814, 38.236016000376445 ], [ -122.64073300018228, 38.235920000262716 ], [ -122.641097000347202, 38.235816001140101 ], [ -122.641552000266927, 38.235664000689916 ], [ -122.641996999956348, 38.23551600105867 ], [ -122.642456000285463, 38.235363000792518 ], [ -122.642897000182415, 38.235216000357283 ], [ -122.643796999874056, 38.234916000834964 ], [ -122.644299999469339, 38.234765000546226 ], [ -122.644796999868873, 38.234616000541152 ], [ -122.644865000103408, 38.234741000568839 ], [ -122.644880999747713, 38.234833000791781 ], [ -122.645096999872322, 38.235216000318388 ], [ -122.645308000363471, 38.235557000502432 ], [ -122.645520999802102, 38.235847001005162 ], [ -122.645697000057112, 38.236216001119907 ], [ -122.646596999444782, 38.237816000741439 ], [ -122.647097000417546, 38.238816001104929 ], [ -122.647697000428906, 38.239716000290016 ], [ -122.648197000382766, 38.240616000315875 ], [ -122.648797000049569, 38.241816000466329 ], [ -122.649138000353688, 38.242546000843724 ], [ -122.649351000511743, 38.243118001131108 ], [ -122.649518999681831, 38.243713000755321 ], [ -122.649747999738025, 38.244354000716243 ], [ -122.649896999686831, 38.244916000553431 ], [ -122.649060999707089, 38.244873000728219 ], [ -122.648748000276882, 38.244897001023254 ], [ -122.648496999530153, 38.244916000402398 ], [ -122.648392999662619, 38.244916000708876 ], [ -122.648104999858063, 38.24491600093738 ], [ -122.647651000253148, 38.244916000601201 ], [ -122.646697000216989, 38.24491600039083 ], [ -122.646123000523616, 38.2449160005511 ], [ -122.645896999529185, 38.244916001134342 ], [ -122.644696999676754, 38.244916001040629 ], [ -122.64487000013844, 38.245608001023534 ], [ -122.645096999509391, 38.246516000266958 ], [ -122.645459999632266, 38.247618000615773 ], [ -122.64552100050561, 38.247803001070785 ], [ -122.64554399988674, 38.247888000526025 ], [ -122.64573500028601, 38.248596000853034 ], [ -122.645896999892685, 38.248916000988658 ], [ -122.64605500016323, 38.249214001086138 ], [ -122.646360999475604, 38.249603000770257 ], [ -122.646697000064478, 38.249916000333783 ], [ -122.646931999542133, 38.250272000951867 ], [ -122.647336999712948, 38.250885000766587 ], [ -122.64760200037432, 38.251233000550549 ], [ -122.647703000253429, 38.251366000742046 ], [ -122.64819199962767, 38.251968000277373 ], [ -122.648236999938703, 38.252020001047086 ], [ -122.648248999489255, 38.252033000554086 ], [ -122.648496999781727, 38.252316000731682 ], [ -122.648917999476993, 38.2527070007839 ], [ -122.649055999614191, 38.252832001048404 ], [ -122.649214000498844, 38.252975000258417 ], [ -122.649596999916128, 38.253316001128219 ], [ -122.649779000230083, 38.253708001064311 ], [ -122.649925999693139, 38.253894001012434 ], [ -122.650160000189487, 38.254188000628012 ], [ -122.65054200040035, 38.254585000669401 ], [ -122.650953999853243, 38.254898000544941 ], [ -122.651365999573159, 38.255188000948159 ], [ -122.651732000419415, 38.255440001116078 ], [ -122.652040999790671, 38.255622000734931 ], [ -122.652326999928718, 38.255791000312911 ], [ -122.652876000500441, 38.256149001006079 ], [ -122.653455999563604, 38.256538000719225 ], [ -122.65402099958213, 38.257049001048649 ], [ -122.654125999858863, 38.257116001011795 ], [ -122.654597000128788, 38.257416000993445 ], [ -122.654920999972077, 38.257690000341846 ], [ -122.655252000142497, 38.25784900047249 ], [ -122.655698999826129, 38.258064001044715 ], [ -122.655816000511663, 38.258112000371952 ], [ -122.656430999562161, 38.258362000395188 ], [ -122.656519000239584, 38.258398000536495 ], [ -122.657178999650029, 38.258667000442529 ], [ -122.657942000190388, 38.259010000841599 ], [ -122.658582999728807, 38.259247000892621 ], [ -122.659300000281831, 38.259476000554102 ], [ -122.659666999600176, 38.259620000454454 ], [ -122.660077999660501, 38.259781000704898 ], [ -122.660496999438905, 38.259716000897662 ], [ -122.660444999886039, 38.260132000925651 ], [ -122.660429000257338, 38.260666000698514 ], [ -122.660444999851308, 38.261063000865285 ], [ -122.660496999388272, 38.261216000857203 ], [ -122.660506000177222, 38.261337000259466 ], [ -122.660581999757525, 38.261658000617622 ], [ -122.660470000351424, 38.261971001098985 ], [ -122.6604289996408, 38.262085000930377 ], [ -122.660184999678449, 38.262466001097721 ], [ -122.659758000497789, 38.262955000995973 ], [ -122.659496999523171, 38.26331600039331 ], [ -122.659397000516378, 38.263516000332523 ], [ -122.65919300001768, 38.263687000706788 ], [ -122.659096999653954, 38.263816001039842 ], [ -122.658368000142318, 38.263436000335439 ], [ -122.657718999510848, 38.263076000894273 ], [ -122.656138000283732, 38.262168000555178 ], [ -122.654035999590121, 38.260979000954649 ], [ -122.653516000096417, 38.260682000449947 ], [ -122.647107999873867, 38.257027000492791 ], [ -122.644194000372195, 38.255417001022529 ], [ -122.643797000474294, 38.255216001113091 ], [ -122.643396999916774, 38.25501600103722 ], [ -122.643065000226258, 38.254837000906583 ], [ -122.640297000382773, 38.253416000959632 ], [ -122.636777999828752, 38.25157900071693 ], [ -122.634195999670837, 38.25031600071263 ], [ -122.633395999647817, 38.249916000307138 ], [ -122.630595999899995, 38.248416000317015 ], [ -122.627808999403754, 38.247048001042195 ], [ -122.628996000306202, 38.245716000436744 ], [ -122.629485000419862, 38.245221000955098 ], [ -122.629652000242572, 38.245072001121528 ], [ -122.629896000439217, 38.244816000796995 ], [ -122.630896000380616, 38.243816000600255 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1330, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.657497000099951, 38.246016000808908 ], [ -122.657644000294084, 38.246031001096732 ], [ -122.658496999857704, 38.246116000966396 ], [ -122.6589969997422, 38.246216000913471 ], [ -122.660396999620545, 38.246516000575298 ], [ -122.660290000364554, 38.24673000055423 ], [ -122.660197000156657, 38.246916000421699 ], [ -122.660157000164816, 38.247118000341509 ], [ -122.659960999484625, 38.248097001068757 ], [ -122.659936000315767, 38.248221000755215 ], [ -122.659717000297704, 38.249314000677906 ], [ -122.659596999936738, 38.249916000784332 ], [ -122.659478000516287, 38.250245000344243 ], [ -122.659412999573192, 38.250423001019783 ], [ -122.659285000309552, 38.250778000464123 ], [ -122.659147999513678, 38.251110000799649 ], [ -122.658949000478913, 38.251594000954199 ], [ -122.658888999870626, 38.251735000688626 ], [ -122.658833000323526, 38.251865000578142 ], [ -122.658627000533002, 38.252346000240905 ], [ -122.658583000068418, 38.252449001081871 ], [ -122.658386999613896, 38.252994000796036 ], [ -122.658339000485071, 38.253128000911303 ], [ -122.658213000427608, 38.253381000760648 ], [ -122.658096999884265, 38.253616001046041 ], [ -122.657992999814411, 38.253887000448159 ], [ -122.65795700012859, 38.2539820005371 ], [ -122.657790000284436, 38.254349000799557 ], [ -122.657440000305314, 38.254810000360763 ], [ -122.657361999618416, 38.254913000579329 ], [ -122.656980999778128, 38.255363000411258 ], [ -122.656631999642826, 38.255717000756064 ], [ -122.656462000417022, 38.255890000452624 ], [ -122.656125999411216, 38.256264000821893 ], [ -122.655729999955099, 38.256561001029333 ], [ -122.65534799976902, 38.256859000822757 ], [ -122.654797000183947, 38.257216000840288 ], [ -122.654699999976344, 38.257313000525109 ], [ -122.654597000128788, 38.257416000993445 ], [ -122.654125999858863, 38.257116001011795 ], [ -122.65402099958213, 38.257049001048649 ], [ -122.653455999563604, 38.256538000719225 ], [ -122.652876000500441, 38.256149001006079 ], [ -122.652326999928718, 38.255791000312911 ], [ -122.652040999790671, 38.255622000734931 ], [ -122.651732000419415, 38.255440001116078 ], [ -122.651365999573159, 38.255188000948159 ], [ -122.650953999853243, 38.254898000544941 ], [ -122.65054200040035, 38.254585000669401 ], [ -122.650160000189487, 38.254188000628012 ], [ -122.649925999693139, 38.253894001012434 ], [ -122.649779000230083, 38.253708001064311 ], [ -122.649596999916128, 38.253316001128219 ], [ -122.649214000498844, 38.252975000258417 ], [ -122.649055999614191, 38.252832001048404 ], [ -122.648917999476993, 38.2527070007839 ], [ -122.648496999781727, 38.252316000731682 ], [ -122.648248999489255, 38.252033000554086 ], [ -122.648236999938703, 38.252020001047086 ], [ -122.64819199962767, 38.251968000277373 ], [ -122.647703000253429, 38.251366000742046 ], [ -122.64760200037432, 38.251233000550549 ], [ -122.647336999712948, 38.250885000766587 ], [ -122.646931999542133, 38.250272000951867 ], [ -122.646697000064478, 38.249916000333783 ], [ -122.646360999475604, 38.249603000770257 ], [ -122.64605500016323, 38.249214001086138 ], [ -122.645896999892685, 38.248916000988658 ], [ -122.64573500028601, 38.248596000853034 ], [ -122.64554399988674, 38.247888000526025 ], [ -122.64552100050561, 38.247803001070785 ], [ -122.645459999632266, 38.247618000615773 ], [ -122.645096999509391, 38.246516000266958 ], [ -122.64487000013844, 38.245608001023534 ], [ -122.644696999676754, 38.244916001040629 ], [ -122.645896999529185, 38.244916001134342 ], [ -122.646123000523616, 38.2449160005511 ], [ -122.646697000216989, 38.24491600039083 ], [ -122.647651000253148, 38.244916000601201 ], [ -122.648104999858063, 38.24491600093738 ], [ -122.648392999662619, 38.244916000708876 ], [ -122.648496999530153, 38.244916000402398 ], [ -122.648748000276882, 38.244897001023254 ], [ -122.649060999707089, 38.244873000728219 ], [ -122.649896999686831, 38.244916000553431 ], [ -122.649747999738025, 38.244354000716243 ], [ -122.649518999681831, 38.243713000755321 ], [ -122.649351000511743, 38.243118001131108 ], [ -122.649138000353688, 38.242546000843724 ], [ -122.648797000049569, 38.241816000466329 ], [ -122.648197000382766, 38.240616000315875 ], [ -122.647697000428906, 38.239716000290016 ], [ -122.647097000417546, 38.238816001104929 ], [ -122.646596999444782, 38.237816000741439 ], [ -122.645697000057112, 38.236216001119907 ], [ -122.645520999802102, 38.235847001005162 ], [ -122.645308000363471, 38.235557000502432 ], [ -122.645096999872322, 38.235216000318388 ], [ -122.644880999747713, 38.234833000791781 ], [ -122.644865000103408, 38.234741000568839 ], [ -122.644796999868873, 38.234616000541152 ], [ -122.645896999798907, 38.234317000908831 ], [ -122.646797000175965, 38.234317000796743 ], [ -122.647796999855828, 38.234317000987538 ], [ -122.648436000279261, 38.234317000638669 ], [ -122.64919700013705, 38.234317001002609 ], [ -122.649997000156915, 38.234317000980624 ], [ -122.650996999592536, 38.23441700094142 ], [ -122.651497000170011, 38.234417000435606 ], [ -122.652497000197229, 38.234417000240562 ], [ -122.653596999485643, 38.234517001000427 ], [ -122.655275999455, 38.234550001019947 ], [ -122.656226999488126, 38.234568000636614 ], [ -122.657285000345269, 38.234588000277 ], [ -122.657669000253676, 38.234595000633625 ], [ -122.658009999581793, 38.234602000626516 ], [ -122.658540000248422, 38.234612001019464 ], [ -122.658832000464756, 38.234617000393108 ], [ -122.659825999576867, 38.234661000462033 ], [ -122.659932999838645, 38.234666000629424 ], [ -122.660852000429287, 38.234706000257546 ], [ -122.661096999678961, 38.234717001100535 ], [ -122.661131000439141, 38.235116000698277 ], [ -122.661039999533145, 38.235818000997803 ], [ -122.660902000378442, 38.23698500042282 ], [ -122.66070399960789, 38.237931000913107 ], [ -122.66054699952457, 38.238526000779046 ], [ -122.660496999632613, 38.23871600089349 ], [ -122.66039699980081, 38.239016000725144 ], [ -122.660297000281247, 38.239316000455723 ], [ -122.660196999482253, 38.239416001116503 ], [ -122.660058999674774, 38.240014000456831 ], [ -122.659685999708515, 38.241630000345623 ], [ -122.659642999636006, 38.24181600071357 ], [ -122.659596999486538, 38.242016000471928 ], [ -122.658808000237158, 38.241876000399202 ], [ -122.658551000394283, 38.241831000773253 ], [ -122.65789700019323, 38.241716000358849 ], [ -122.657453999722179, 38.243835000756739 ], [ -122.657285999978583, 38.244049000280526 ], [ -122.657164000141691, 38.244141000324277 ], [ -122.656920000212551, 38.244240000563181 ], [ -122.6567969994599, 38.244316001033475 ], [ -122.656676000312473, 38.244377000538229 ], [ -122.656415999754472, 38.24455300065582 ], [ -122.65629699946517, 38.244716000817498 ], [ -122.655896999936175, 38.24591600093197 ], [ -122.657297000286817, 38.246016000980447 ], [ -122.657497000099951, 38.246016000808908 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1383, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.935726999446743, 38.408999000617378 ], [ -122.935610999395394, 38.409160000618712 ], [ -122.935320000375953, 38.410236000747261 ], [ -122.935115999707605, 38.410670000784151 ], [ -122.934621000216438, 38.411220000269836 ], [ -122.934563000272036, 38.412364001035506 ], [ -122.93438800046043, 38.41312000056169 ], [ -122.934447000083907, 38.413509001026249 ], [ -122.935116000196572, 38.414562000932555 ], [ -122.936162999903701, 38.415386000852664 ], [ -122.936133999879331, 38.415546000421649 ], [ -122.93575600032932, 38.415638000957465 ], [ -122.934592000182874, 38.415524000934809 ], [ -122.934067999475374, 38.415569001140085 ], [ -122.934010000455572, 38.415890000479081 ], [ -122.93438800052958, 38.416370000997908 ], [ -122.934941000316002, 38.417011000569168 ], [ -122.934940999469589, 38.41715500111146 ], [ -122.934941000484372, 38.417675001089819 ], [ -122.934563000052961, 38.418728000624363 ], [ -122.931128999771943, 38.418843000303788 ], [ -122.93107100024983, 38.423947000812511 ], [ -122.931129000423923, 38.426420001013852 ], [ -122.931098999982652, 38.428709000534639 ], [ -122.931128000398175, 38.429555000874359 ], [ -122.931156999490099, 38.431249001069837 ], [ -122.931303000466627, 38.431409000742633 ], [ -122.931243999945139, 38.431798000861377 ], [ -122.930953000371019, 38.43207300029578 ], [ -122.930138999565713, 38.43237100031331 ], [ -122.929527000097451, 38.433240000660952 ], [ -122.92944000019115, 38.433492000595209 ], [ -122.929468999452482, 38.433790000262164 ], [ -122.929555999949272, 38.43383600055121 ], [ -122.929526999835545, 38.435072000515532 ], [ -122.928886999791033, 38.436468000884076 ], [ -122.929002999838261, 38.437338000668419 ], [ -122.928934000370106, 38.437413000939031 ], [ -122.928840999836737, 38.437939000678291 ], [ -122.928657999635348, 38.438420000676132 ], [ -122.928399000153263, 38.438817000571191 ], [ -122.927910999845295, 38.439145000420829 ], [ -122.927696999743333, 38.439458000936717 ], [ -122.9278039998308, 38.439824000962801 ], [ -122.928063000247249, 38.440068000317197 ], [ -122.928398999654718, 38.440068000630383 ], [ -122.928707000021618, 38.440013000288538 ], [ -122.928933000075048, 38.440038000488009 ], [ -122.929390999501592, 38.440076000718321 ], [ -122.929742000360079, 38.440282000356142 ], [ -122.929970999474463, 38.440640000998002 ], [ -122.930076999394842, 38.440991001046697 ], [ -122.929908999701823, 38.44136500060845 ], [ -122.929620000352216, 38.441388000502371 ], [ -122.929208000178633, 38.44142600107751 ], [ -122.928978999528837, 38.441541000810439 ], [ -122.929223000158814, 38.44167800078921 ], [ -122.929559000235813, 38.441876000725607 ], [ -122.929772000405947, 38.442082000986204 ], [ -122.929695999925883, 38.44231100092842 ], [ -122.929589000210996, 38.442509000889316 ], [ -122.929161999692568, 38.442868001140837 ], [ -122.929026000435911, 38.442998000278628 ], [ -122.928779999717051, 38.443234000825932 ], [ -122.928735000511935, 38.443677000480093 ], [ -122.928811000519033, 38.444279000460078 ], [ -122.928703999808704, 38.444638000947258 ], [ -122.928414000014982, 38.445050000432083 ], [ -122.928185000178331, 38.445378000390633 ], [ -122.927910999970734, 38.445706001044378 ], [ -122.927620999965995, 38.446332000660853 ], [ -122.927422000433722, 38.446744000571279 ], [ -122.927162999925287, 38.447125000481961 ], [ -122.926933999391395, 38.447362000691754 ], [ -122.926476000389556, 38.447537000772357 ], [ -122.926155999606095, 38.447499000528595 ], [ -122.925707000168913, 38.447413000672476 ], [ -122.925500000485059, 38.447408000845037 ], [ -122.924782999971427, 38.447263000442334 ], [ -122.92372999985777, 38.447018000539515 ], [ -122.922829000185899, 38.446751000643751 ], [ -122.922127999882676, 38.446683000254595 ], [ -122.921623999539065, 38.446515001046919 ], [ -122.920920999503238, 38.446133000353541 ], [ -122.920554999923382, 38.445615000305139 ], [ -122.920295000451674, 38.444859000995521 ], [ -122.919959999678341, 38.444440000307353 ], [ -122.919470999615513, 38.444371000298737 ], [ -122.919395999493602, 38.444378000787729 ], [ -122.918785000395346, 38.444432000945554 ], [ -122.918505999891366, 38.444413000546504 ], [ -122.918189999680877, 38.444402000835026 ], [ -122.9176560001616, 38.444279000292767 ], [ -122.917152000444361, 38.444073000715875 ], [ -122.916739999717407, 38.443906000744285 ], [ -122.916098999919228, 38.443959000371883 ], [ -122.915626000182002, 38.444096000571442 ], [ -122.915168999854984, 38.444165000669734 ], [ -122.914511999656924, 38.444142000753928 ], [ -122.913795000229641, 38.444325001078326 ], [ -122.913214999510117, 38.444447000254634 ], [ -122.912483000299446, 38.444463000434872 ], [ -122.911719999855393, 38.444493001100973 ], [ -122.911185999439581, 38.444684000750769 ], [ -122.910803999884493, 38.444943000961352 ], [ -122.910484000462645, 38.445226000854866 ], [ -122.91028600001863, 38.445424000929165 ], [ -122.910086999805173, 38.445386000709981 ], [ -122.909904000481248, 38.445103001049453 ], [ -122.909706000515854, 38.444768000779348 ], [ -122.909431000523298, 38.444417000763146 ], [ -122.908927999949412, 38.444363000839942 ], [ -122.908505999870698, 38.444413000792217 ], [ -122.90400600023753, 38.444413000993343 ], [ -122.901805999397453, 38.444413000276988 ], [ -122.896704999449085, 38.444513000272586 ], [ -122.892304999978649, 38.444513000602107 ], [ -122.887805000385185, 38.444513000451636 ], [ -122.887151999565262, 38.442639001001886 ], [ -122.886939000525629, 38.442517001000645 ], [ -122.886588000254918, 38.442517000660203 ], [ -122.884804999881084, 38.443013000559276 ], [ -122.882864999852316, 38.443336000933414 ], [ -122.877004000242607, 38.444313000596999 ], [ -122.876103999660629, 38.444113000610187 ], [ -122.872704000217112, 38.444913000310038 ], [ -122.871904000347257, 38.445013000332807 ], [ -122.867403999532584, 38.4457130006328 ], [ -122.86650399984299, 38.445813001061182 ], [ -122.861803999862644, 38.446512001141556 ], [ -122.861303999706735, 38.446712000449139 ], [ -122.861404000274064, 38.447312000944052 ], [ -122.861504000378261, 38.449812000811797 ], [ -122.86150400029311, 38.450712000653013 ], [ -122.854202999830818, 38.450812000654274 ], [ -122.85380299963046, 38.450812000609453 ], [ -122.853103000142227, 38.450812001076372 ], [ -122.85247800015955, 38.450832000663773 ], [ -122.846803000419072, 38.451012000541873 ], [ -122.845402999774677, 38.451112000417162 ], [ -122.842502999866937, 38.451512000829872 ], [ -122.840503000248006, 38.45171200038542 ], [ -122.837502999451488, 38.452112000339739 ], [ -122.834801999972143, 38.452412000899159 ], [ -122.834401999407447, 38.451412000847654 ], [ -122.83660299941846, 38.446912000891984 ], [ -122.838402999758117, 38.445412000379612 ], [ -122.838503000333603, 38.437312000428122 ], [ -122.838603000078109, 38.434613000602226 ], [ -122.835203000149519, 38.434013000296801 ], [ -122.834303000168703, 38.431013000482267 ], [ -122.829902000434785, 38.430413000970837 ], [ -122.82975400049699, 38.428688000287963 ], [ -122.82975699973889, 38.427837000329248 ], [ -122.829664999591628, 38.426946001094613 ], [ -122.829603000347291, 38.426625000630764 ], [ -122.829491000091181, 38.426184000667725 ], [ -122.82929399985909, 38.425788001045305 ], [ -122.829605999723995, 38.425858000720872 ], [ -122.832103000005489, 38.426413000298879 ], [ -122.833226000141494, 38.426595000820797 ], [ -122.834110999963343, 38.426694000915347 ], [ -122.834309000193358, 38.426694000746437 ], [ -122.834476999948407, 38.426656001044577 ], [ -122.835422999717352, 38.426251000536766 ], [ -122.835758999484767, 38.426183000554921 ], [ -122.836773000269488, 38.426200000326425 ], [ -122.838001999832613, 38.426221000863137 ], [ -122.838353000252937, 38.426297000865247 ], [ -122.83850300001815, 38.426313000712675 ], [ -122.838642999557038, 38.426434000773327 ], [ -122.838896999613127, 38.426630000446437 ], [ -122.839573000007306, 38.427151000443224 ], [ -122.840222000215519, 38.42757300085924 ], [ -122.840335999825783, 38.427647000673986 ], [ -122.840947000231992, 38.427815000357107 ], [ -122.841402999826201, 38.427813000311396 ], [ -122.842502999686744, 38.427313000753728 ], [ -122.848302999721255, 38.425713000723938 ], [ -122.849103000370789, 38.425713000740217 ], [ -122.858803999743998, 38.424813000336691 ], [ -122.862804000244424, 38.4236130003626 ], [ -122.864003999503936, 38.42351300049085 ], [ -122.868203999776483, 38.42241300074496 ], [ -122.870394000060017, 38.421610000753134 ], [ -122.870680000146621, 38.421509001021313 ], [ -122.874804999414636, 38.419913000531558 ], [ -122.871303999633156, 38.417213000687312 ], [ -122.870704000528377, 38.416758001080971 ], [ -122.870003999731054, 38.41611300110344 ], [ -122.866104000292509, 38.41011300083337 ], [ -122.861803999855653, 38.411013000292904 ], [ -122.85870400038948, 38.406713000817852 ], [ -122.858531000242138, 38.406475000744649 ], [ -122.858319999469956, 38.406184001093109 ], [ -122.857904000128087, 38.405613001053659 ], [ -122.855184000305769, 38.40553300102188 ], [ -122.854503999868015, 38.405513000614107 ], [ -122.852003999841401, 38.404113000327023 ], [ -122.850603999471332, 38.403313001065257 ], [ -122.848902999905917, 38.399314000989243 ], [ -122.848799999597531, 38.399082000272003 ], [ -122.848103000380192, 38.397514000660273 ], [ -122.850004000165143, 38.397314000368837 ], [ -122.850703999835687, 38.396814000400383 ], [ -122.851095000323951, 38.396772000328852 ], [ -122.851415000241786, 38.396688000959614 ], [ -122.85178100046366, 38.39671100043816 ], [ -122.852703999668535, 38.396914000277 ], [ -122.853154999967074, 38.397093000308146 ], [ -122.854404000318496, 38.39701400024407 ], [ -122.854704000204976, 38.396914000894242 ], [ -122.855903999546072, 38.396814000275917 ], [ -122.857603999841615, 38.396614000724085 ], [ -122.860803999861773, 38.396414000918192 ], [ -122.861203999979182, 38.396014000862252 ], [ -122.861913000514235, 38.395193000724696 ], [ -122.862768000474858, 38.394613000728768 ], [ -122.864004000268821, 38.394714000845198 ], [ -122.86598699969133, 38.395071001077312 ], [ -122.86668900006957, 38.39588000080122 ], [ -122.866887999609943, 38.396078000643406 ], [ -122.867071000132455, 38.396147000884618 ], [ -122.867303999560491, 38.396214000847088 ], [ -122.868093000427578, 38.395758000951524 ], [ -122.868352999896715, 38.395620000617505 ], [ -122.869304000136168, 38.395414000324664 ], [ -122.871204999978644, 38.394914001120071 ], [ -122.872626000184624, 38.394544000635051 ], [ -122.873504999480588, 38.394714000457434 ], [ -122.874793000090236, 38.394422000868353 ], [ -122.875632000426748, 38.393461000712335 ], [ -122.875753999597976, 38.393240000936935 ], [ -122.875907000140543, 38.39317100088855 ], [ -122.876104999414551, 38.393065000485414 ], [ -122.87700200001666, 38.392867000601655 ], [ -122.877118000313899, 38.392776000790285 ], [ -122.877642000075141, 38.392739001008472 ], [ -122.878078000530408, 38.392708000599818 ], [ -122.878427000403931, 38.39261600060518 ], [ -122.879068000174115, 38.391953000278825 ], [ -122.879591999944466, 38.391541001089415 ], [ -122.880610000326769, 38.391473000945489 ], [ -122.881307999886204, 38.391290000473639 ], [ -122.881337000071383, 38.39115300061377 ], [ -122.881395000523781, 38.391115000395487 ], [ -122.882210000409586, 38.390581001081095 ], [ -122.883141000519899, 38.39055800072348 ], [ -122.884332999592075, 38.390376000836824 ], [ -122.885176999520652, 38.390010000416531 ], [ -122.885322999785345, 38.389758000924083 ], [ -122.885875999556546, 38.389392000587648 ], [ -122.887096999707524, 38.389004000387644 ], [ -122.888859000436483, 38.388767000667457 ], [ -122.889134000152538, 38.388730000623845 ], [ -122.889483000381745, 38.388455000853497 ], [ -122.889803000386806, 38.387975000648744 ], [ -122.890706999917668, 38.384930000844342 ], [ -122.891172000018258, 38.383969000774798 ], [ -122.891521999754062, 38.383603001071556 ], [ -122.891726000049658, 38.383557000692051 ], [ -122.892045999904113, 38.383145000809229 ], [ -122.892075999972221, 38.382985000502856 ], [ -122.892220999456782, 38.382962001110123 ], [ -122.893094000190786, 38.382368000782627 ], [ -122.894432000013367, 38.381704000366625 ], [ -122.896206999592565, 38.380492001134954 ], [ -122.896264999686807, 38.380240000653821 ], [ -122.896469000008651, 38.380125000939543 ], [ -122.896526999514364, 38.379965000696671 ], [ -122.896962999483364, 38.379668000932313 ], [ -122.898126999685644, 38.379187000936227 ], [ -122.898213999618946, 38.379050001019365 ], [ -122.898358999614885, 38.379027000323191 ], [ -122.899610000149337, 38.378272000955306 ], [ -122.901325000396767, 38.37999000078824 ], [ -122.901354000314186, 38.380150000943154 ], [ -122.901674000342069, 38.380402000759091 ], [ -122.902981999539122, 38.381913000384671 ], [ -122.903010000093644, 38.382829000359159 ], [ -122.902718999906597, 38.383928000253775 ], [ -122.902739999481014, 38.384550001059004 ], [ -122.90274800053102, 38.384775000795145 ], [ -122.902963999863545, 38.385287000276669 ], [ -122.902979999941138, 38.385324000916889 ], [ -122.90350299997246, 38.386102000618294 ], [ -122.903473999774121, 38.386583000281817 ], [ -122.903269999389892, 38.387224000618609 ], [ -122.903153000051432, 38.388140000758447 ], [ -122.903386000232018, 38.388300000919557 ], [ -122.90443299993521, 38.388461000491986 ], [ -122.904433000408602, 38.388552000381999 ], [ -122.905043000392823, 38.388941000972999 ], [ -122.907689000344448, 38.390041000699199 ], [ -122.908997999483375, 38.390476000522568 ], [ -122.909289000370222, 38.390911000864406 ], [ -122.909433999743072, 38.391484000266367 ], [ -122.910189000399342, 38.391905001083366 ], [ -122.911323999803301, 38.392537000621608 ], [ -122.912226000456769, 38.392720000888339 ], [ -122.912544999723934, 38.392995000697319 ], [ -122.913185000097059, 38.393957000580038 ], [ -122.913650000417874, 38.394209000555698 ], [ -122.913940999883309, 38.39469000043691 ], [ -122.914318999552876, 38.395766000436559 ], [ -122.914929000525817, 38.398444000492823 ], [ -122.915102999892326, 38.398558000463822 ], [ -122.91542399974864, 38.399062000266674 ], [ -122.915424000232704, 38.399268000339433 ], [ -122.915917999663165, 38.400024000499343 ], [ -122.916702999914989, 38.400619000262324 ], [ -122.917342999409342, 38.400802000679633 ], [ -122.918536000093027, 38.400734000977053 ], [ -122.91882800005925, 38.400814000992931 ], [ -122.920048000228974, 38.401146000267218 ], [ -122.921094999707634, 38.401833000291148 ], [ -122.922403999403073, 38.401993000375398 ], [ -122.923131999801456, 38.402222000814689 ], [ -122.923421999427305, 38.402451000683556 ], [ -122.923481000066161, 38.402635000551406 ], [ -122.924614999990723, 38.403115001106919 ], [ -122.925632999882723, 38.403734000885855 ], [ -122.926418000464537, 38.404466000258417 ], [ -122.926971000524077, 38.405130001057458 ], [ -122.927901999732256, 38.406641000257586 ], [ -122.933341999540772, 38.407214000456314 ], [ -122.934795999923409, 38.407717001041334 ], [ -122.935726999561069, 38.408748000801225 ], [ -122.935726999446743, 38.408999000617378 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1392, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.842403000148238, 38.484411000761838 ], [ -122.842884999419866, 38.484233000473985 ], [ -122.843312000522005, 38.48405700103887 ], [ -122.843907000113219, 38.48391200051357 ], [ -122.844502000292209, 38.483859001075317 ], [ -122.844883999823153, 38.48373700092219 ], [ -122.845508999463902, 38.483508000898162 ], [ -122.845798999460797, 38.483294001128925 ], [ -122.845906000494494, 38.482890001132262 ], [ -122.845784000472563, 38.482546000941774 ], [ -122.845600999650415, 38.482112000585467 ], [ -122.845569999540629, 38.481600001064734 ], [ -122.845570000374266, 38.481303001110753 ], [ -122.845523999970382, 38.481059000433675 ], [ -122.845401999887457, 38.480815000387103 ], [ -122.845036000445646, 38.480418000989545 ], [ -122.843036999499517, 38.478938000516443 ], [ -122.842946000182607, 38.478839000786614 ], [ -122.842792999689394, 38.478694000862632 ], [ -122.842686000097459, 38.478503000492303 ], [ -122.842671000117349, 38.478152001033806 ], [ -122.842603000366125, 38.475712000368887 ], [ -122.84270299972998, 38.475212000342317 ], [ -122.842763000074498, 38.474491000744784 ], [ -122.84263999958948, 38.473705000254334 ], [ -122.842396000030917, 38.473102000931881 ], [ -122.842029999878051, 38.472675000980139 ], [ -122.841648999418538, 38.472316000700772 ], [ -122.84120299975929, 38.472012000639005 ], [ -122.841053999843879, 38.471622000771482 ], [ -122.841099000401073, 38.471142000834355 ], [ -122.841302999710223, 38.470712000451194 ], [ -122.841145000203056, 38.470165000958289 ], [ -122.84123700001949, 38.469661000274563 ], [ -122.841102999479659, 38.468812001080195 ], [ -122.841202999581043, 38.468612000695749 ], [ -122.838807999981739, 38.465401000958138 ], [ -122.83680199972865, 38.462712000991658 ], [ -122.834602000018521, 38.462012000300831 ], [ -122.835113000080284, 38.456734000324055 ], [ -122.835201999472773, 38.455812001051186 ], [ -122.834801999972143, 38.452412000899159 ], [ -122.837502999451488, 38.452112000339739 ], [ -122.840503000248006, 38.45171200038542 ], [ -122.842502999866937, 38.451512000829872 ], [ -122.845402999774677, 38.451112000417162 ], [ -122.846803000419072, 38.451012000541873 ], [ -122.85247800015955, 38.450832000663773 ], [ -122.853103000142227, 38.450812001076372 ], [ -122.85380299963046, 38.450812000609453 ], [ -122.854202999830818, 38.450812000654274 ], [ -122.86150400029311, 38.450712000653013 ], [ -122.861504000378261, 38.449812000811797 ], [ -122.861404000274064, 38.447312000944052 ], [ -122.861303999706735, 38.446712000449139 ], [ -122.861803999862644, 38.446512001141556 ], [ -122.86650399984299, 38.445813001061182 ], [ -122.867403999532584, 38.4457130006328 ], [ -122.871904000347257, 38.445013000332807 ], [ -122.872704000217112, 38.444913000310038 ], [ -122.876103999660629, 38.444113000610187 ], [ -122.877004000242607, 38.444313000596999 ], [ -122.882864999852316, 38.443336000933414 ], [ -122.884804999881084, 38.443013000559276 ], [ -122.886588000254918, 38.442517000660203 ], [ -122.886939000525629, 38.442517001000645 ], [ -122.887151999565262, 38.442639001001886 ], [ -122.887805000385185, 38.444513000451636 ], [ -122.892304999978649, 38.444513000602107 ], [ -122.896704999449085, 38.444513000272586 ], [ -122.901805999397453, 38.444413000276988 ], [ -122.90400600023753, 38.444413000993343 ], [ -122.908505999870698, 38.444413000792217 ], [ -122.908927999949412, 38.444363000839942 ], [ -122.909431000523298, 38.444417000763146 ], [ -122.909706000515854, 38.444768000779348 ], [ -122.909904000481248, 38.445103001049453 ], [ -122.910086999805173, 38.445386000709981 ], [ -122.91028600001863, 38.445424000929165 ], [ -122.910484000462645, 38.445226000854866 ], [ -122.910803999884493, 38.444943000961352 ], [ -122.911185999439581, 38.444684000750769 ], [ -122.911719999855393, 38.444493001100973 ], [ -122.912483000299446, 38.444463000434872 ], [ -122.913214999510117, 38.444447000254634 ], [ -122.913795000229641, 38.444325001078326 ], [ -122.914511999656924, 38.444142000753928 ], [ -122.915168999854984, 38.444165000669734 ], [ -122.915626000182002, 38.444096000571442 ], [ -122.916098999919228, 38.443959000371883 ], [ -122.916739999717407, 38.443906000744285 ], [ -122.917152000444361, 38.444073000715875 ], [ -122.9176560001616, 38.444279000292767 ], [ -122.918189999680877, 38.444402000835026 ], [ -122.918505999891366, 38.444413000546504 ], [ -122.918785000395346, 38.444432000945554 ], [ -122.919395999493602, 38.444378000787729 ], [ -122.919470999615513, 38.444371000298737 ], [ -122.919959999678341, 38.444440000307353 ], [ -122.920295000451674, 38.444859000995521 ], [ -122.920554999923382, 38.445615000305139 ], [ -122.920920999503238, 38.446133000353541 ], [ -122.921623999539065, 38.446515001046919 ], [ -122.922127999882676, 38.446683000254595 ], [ -122.922829000185899, 38.446751000643751 ], [ -122.92372999985777, 38.447018000539515 ], [ -122.924782999971427, 38.447263000442334 ], [ -122.925500000485059, 38.447408000845037 ], [ -122.925707000168913, 38.447413000672476 ], [ -122.925575999512759, 38.447964000611634 ], [ -122.925529999733001, 38.448529000798196 ], [ -122.92580500035308, 38.449048000834146 ], [ -122.926429999466492, 38.449528000243973 ], [ -122.926873000105488, 38.449818001067477 ], [ -122.927071000433202, 38.449948000275235 ], [ -122.927391999955077, 38.450604000689346 ], [ -122.928185000334096, 38.451215000474868 ], [ -122.928887000158639, 38.45175600043661 ], [ -122.929527999466941, 38.452321000422856 ], [ -122.92989400042859, 38.452985001090383 ], [ -122.929986000205517, 38.453763000975918 ], [ -122.929970999818707, 38.454297000887145 ], [ -122.930138000139564, 38.454724000333449 ], [ -122.93065699940945, 38.45533400097375 ], [ -122.930881999582468, 38.455522000389664 ], [ -122.931221999435479, 38.455807000320512 ], [ -122.93164900003903, 38.456242000369606 ], [ -122.932274999516636, 38.456586000732102 ], [ -122.932992000313234, 38.456807000902138 ], [ -122.933150999639309, 38.456883000550349 ], [ -122.933983999801427, 38.457280000442204 ], [ -122.934547999810349, 38.457608000268777 ], [ -122.934706999718458, 38.457813001046112 ], [ -122.934868999403761, 38.457997000351007 ], [ -122.934968999787657, 38.458370000289875 ], [ -122.935020999492096, 38.458562000567561 ], [ -122.93499700017027, 38.458733000821113 ], [ -122.934944999979209, 38.459103000858313 ], [ -122.935188999692883, 38.459622000403435 ], [ -122.935403000089892, 38.46014900100468 ], [ -122.935605999937707, 38.460595000771868 ], [ -122.93567699984348, 38.46075100112246 ], [ -122.935815000408837, 38.461125000647868 ], [ -122.936592999874023, 38.461720000721492 ], [ -122.936806999752434, 38.461913000597306 ], [ -122.937264000437011, 38.462231000615631 ], [ -122.937904999844079, 38.462567001013241 ], [ -122.938744000296381, 38.46280400087435 ], [ -122.939538000508392, 38.462956001008067 ], [ -122.939949999471764, 38.4630330003382 ], [ -122.94010700023081, 38.463113000771642 ], [ -122.940865000054529, 38.462987000729051 ], [ -122.941536999767834, 38.462971000702844 ], [ -122.9421780003766, 38.462971000687901 ], [ -122.94297100007114, 38.462849000287207 ], [ -122.943672999487788, 38.462659000713707 ], [ -122.943780000376904, 38.462407001063994 ], [ -122.944054000176678, 38.462018000388156 ], [ -122.944435999630414, 38.461659000520896 ], [ -122.944861999729653, 38.461483000879831 ], [ -122.945047000137905, 38.461407000594079 ], [ -122.945413000216064, 38.461575000277435 ], [ -122.9456580002105, 38.462010000922142 ], [ -122.945763999864255, 38.462483000631529 ], [ -122.94597799962618, 38.462735000945102 ], [ -122.946465999452855, 38.462903000322768 ], [ -122.947000000010902, 38.462994000337758 ], [ -122.947549999695141, 38.463071001045094 ], [ -122.947977000252379, 38.462941000484335 ], [ -122.947885000447741, 38.462659000715767 ], [ -122.947350999405032, 38.462498000763283 ], [ -122.947167999522719, 38.462430000736838 ], [ -122.947320999923775, 38.462338001125858 ], [ -122.947930999663853, 38.462415000879879 ], [ -122.94860300020008, 38.462666000440031 ], [ -122.948861999811925, 38.463147000451606 ], [ -122.949167000024318, 38.46363500065906 ], [ -122.949380999707117, 38.46398600077373 ], [ -122.949381000507515, 38.464467000894224 ], [ -122.949333999988468, 38.464794000290873 ], [ -122.949289000353346, 38.465108000442036 ], [ -122.949308000459013, 38.465513000845789 ], [ -122.949228000496944, 38.465764000544873 ], [ -122.949076000432854, 38.466161000494367 ], [ -122.948739999926005, 38.466466001015476 ], [ -122.948706000345723, 38.466692000818377 ], [ -122.948632999425186, 38.467168000314423 ], [ -122.948513999976811, 38.467784000846898 ], [ -122.948495999864832, 38.467877000424913 ], [ -122.94828199940838, 38.468480001132512 ], [ -122.948404000006249, 38.469189000573039 ], [ -122.948693999762057, 38.46980000029469 ], [ -122.949076000028313, 38.470349000351391 ], [ -122.949655000443158, 38.470837000322099 ], [ -122.950220000145222, 38.471455001060242 ], [ -122.950625000194464, 38.47207900048106 ], [ -122.950768999415331, 38.472302000600031 ], [ -122.951308000225509, 38.472813000624846 ], [ -122.951623999482322, 38.473233000484335 ], [ -122.95186799960868, 38.473744000930893 ], [ -122.952203999640801, 38.474492000766098 ], [ -122.952555000327962, 38.475377000481167 ], [ -122.952768000352222, 38.475873000878565 ], [ -122.95280800005709, 38.47611300108197 ], [ -122.953018999475375, 38.476230000727142 ], [ -122.953104000497589, 38.476277000788969 ], [ -122.953469999718493, 38.476323000637592 ], [ -122.953745000128549, 38.476506000639027 ], [ -122.954063000034424, 38.476670000288721 ], [ -122.954247999494669, 38.476765000531422 ], [ -122.954903999400671, 38.477025000826515 ], [ -122.955652000255071, 38.477330000301059 ], [ -122.955853999576249, 38.477367000338987 ], [ -122.956278000449814, 38.477444000677586 ], [ -122.957101999704292, 38.477628000270272 ], [ -122.957712000017807, 38.477856000905732 ], [ -122.958230999983215, 38.478314000512185 ], [ -122.958215999827544, 38.478810000268503 ], [ -122.958109000084903, 38.479192001122442 ], [ -122.95807999944536, 38.47933100063829 ], [ -122.958032000131567, 38.479565000444026 ], [ -122.958108999464301, 38.47982500091274 ], [ -122.958382999655328, 38.480168000472503 ], [ -122.958826000324336, 38.480450000612095 ], [ -122.959313999801637, 38.480778001047206 ], [ -122.959497000206923, 38.48122900045955 ], [ -122.959711000290056, 38.481709000527559 ], [ -122.960153000046901, 38.482030000751877 ], [ -122.960656999429219, 38.482182000729772 ], [ -122.961283000480137, 38.482304000502779 ], [ -122.961710000386304, 38.48241900079843 ], [ -122.961816999446583, 38.482785000480121 ], [ -122.96172500006945, 38.483144000333517 ], [ -122.961695000292281, 38.483502001108455 ], [ -122.961877999441825, 38.483792000760076 ], [ -122.962106999394322, 38.484296000491781 ], [ -122.962137000291349, 38.48449800049876 ], [ -122.962168000021563, 38.484700000813696 ], [ -122.962137000485768, 38.485120000389038 ], [ -122.961953999647193, 38.485562000686606 ], [ -122.961808000503865, 38.485913000819629 ], [ -122.9618470001638, 38.486249000947318 ], [ -122.961935999943591, 38.486435001042544 ], [ -122.961999999396994, 38.486569000959321 ], [ -122.962029999513419, 38.486966000410419 ], [ -122.961982000073036, 38.487025000904495 ], [ -122.961863999802219, 38.4871690010309 ], [ -122.961724999417669, 38.487340000882512 ], [ -122.961283000195252, 38.487598000520073 ], [ -122.961038000119018, 38.487812001073145 ], [ -122.960855000324983, 38.488102000559621 ], [ -122.960772000439334, 38.488413000941016 ], [ -122.96073299989007, 38.488559000884884 ], [ -122.960623999677395, 38.488917000677127 ], [ -122.960565000102648, 38.489109000836024 ], [ -122.960581000101229, 38.489240000474005 ], [ -122.960611000304581, 38.489475000475288 ], [ -122.960871000207234, 38.489841000561853 ], [ -122.960900999872123, 38.490215001085019 ], [ -122.960702999392424, 38.490535001139889 ], [ -122.960549999809771, 38.490970001048431 ], [ -122.960608000461349, 38.491512000951616 ], [ -122.96079400026268, 38.4917640005091 ], [ -122.961053999932929, 38.491977000912605 ], [ -122.961145000025653, 38.492244000519364 ], [ -122.961108000067057, 38.492512000316452 ], [ -122.961068999958485, 38.492763000724544 ], [ -122.961114999394923, 38.493244000254869 ], [ -122.961145000511792, 38.49364800101015 ], [ -122.961308000337283, 38.493912000704093 ], [ -122.961450000167645, 38.493976000368995 ], [ -122.961618000231311, 38.49418200094037 ], [ -122.961724999588597, 38.494549000319793 ], [ -122.961770999688071, 38.494846000435921 ], [ -122.962014999492681, 38.49517400086247 ], [ -122.962395999595401, 38.495456000919454 ], [ -122.962763000410163, 38.495701000454233 ], [ -122.963327000072908, 38.495968000721845 ], [ -122.963784999908341, 38.496258000553937 ], [ -122.964212000070688, 38.496540000756809 ], [ -122.964700999517092, 38.496715000792875 ], [ -122.965280000318458, 38.496891000609629 ], [ -122.965908000396354, 38.497012000862114 ], [ -122.965737999743467, 38.497356000294346 ], [ -122.965508999994867, 38.497585000794693 ], [ -122.964960000141957, 38.49769200111723 ], [ -122.964044000457264, 38.497936000972125 ], [ -122.963190000436484, 38.498058000592508 ], [ -122.962595000183057, 38.498241000802622 ], [ -122.962412000086871, 38.498378000528334 ], [ -122.962108000358711, 38.498812000747172 ], [ -122.962151999432606, 38.498981000549989 ], [ -122.962045999400786, 38.499309000611063 ], [ -122.961953999686145, 38.499622000810447 ], [ -122.961706999689852, 38.499912000957295 ], [ -122.961648999957987, 38.500826001136552 ], [ -122.961737000475253, 38.502589000255547 ], [ -122.961736999943795, 38.503301000506077 ], [ -122.961736999461323, 38.503497000696406 ], [ -122.961737000238671, 38.503799000581836 ], [ -122.961037999439228, 38.503986000606517 ], [ -122.960163999901141, 38.504009001127869 ], [ -122.958882999480849, 38.503711000614558 ], [ -122.957076000414204, 38.503597000497884 ], [ -122.955969999941559, 38.503872000432985 ], [ -122.953522999533419, 38.503735000707394 ], [ -122.952094999856868, 38.503827000557905 ], [ -122.951484000158572, 38.503987000824559 ], [ -122.950201999690876, 38.504491001038097 ], [ -122.94924100021143, 38.505086000461681 ], [ -122.947725000054731, 38.506322001131643 ], [ -122.94597699959796, 38.506597000347163 ], [ -122.945248999945989, 38.506437000866754 ], [ -122.943791999393014, 38.505613000337362 ], [ -122.942946999925539, 38.504583001042832 ], [ -122.942656000089769, 38.503988000252981 ], [ -122.942627000390004, 38.502980000727419 ], [ -122.942860000015799, 38.502454000293639 ], [ -122.942946999882665, 38.501126000430688 ], [ -122.942802000222258, 38.500966000491161 ], [ -122.942306000229067, 38.500714000715213 ], [ -122.941350999812229, 38.499912000281498 ], [ -122.941262000465997, 38.499622000327307 ], [ -122.941002999687242, 38.49930900053954 ], [ -122.940667000046716, 38.498974000421569 ], [ -122.940376999711518, 38.498790000275754 ], [ -122.940007000061811, 38.498612001090642 ], [ -122.939584000158462, 38.498737000911667 ], [ -122.938911999432648, 38.498966000260019 ], [ -122.938256000533883, 38.499172000716605 ], [ -122.93770700050429, 38.499317000871784 ], [ -122.937218000088606, 38.499469000607824 ], [ -122.936806000450289, 38.499668000273608 ], [ -122.93653700010988, 38.499912000616973 ], [ -122.935402999598537, 38.500691000975117 ], [ -122.934704000455142, 38.501172000659743 ], [ -122.93365500028662, 38.501561000869636 ], [ -122.931790999712646, 38.502591001122703 ], [ -122.931640999841335, 38.502733000628787 ], [ -122.931236999803488, 38.50311800089942 ], [ -122.929402000514145, 38.505681001133375 ], [ -122.929109999979858, 38.506574000566616 ], [ -122.928528000299735, 38.507100000496692 ], [ -122.928498000093583, 38.507238000963007 ], [ -122.928032000009765, 38.507627001141259 ], [ -122.92778799987552, 38.508265000708725 ], [ -122.927607000304718, 38.508739001040894 ], [ -122.927054000321633, 38.508830001096634 ], [ -122.926853999610231, 38.508863000381218 ], [ -122.926720999592462, 38.509138000322508 ], [ -122.925874999830498, 38.509847000655924 ], [ -122.924011000275783, 38.510648000311242 ], [ -122.922553999588274, 38.511014001027462 ], [ -122.921854999476267, 38.510762000549903 ], [ -122.921125999846737, 38.510236000267398 ], [ -122.920194000151767, 38.510075001028731 ], [ -122.917776000027089, 38.50931900094217 ], [ -122.916232999830541, 38.508655000669499 ], [ -122.915155000447001, 38.508060000936979 ], [ -122.914309999778155, 38.507900001046771 ], [ -122.912301000483041, 38.506869000340089 ], [ -122.912096999946456, 38.5066400009025 ], [ -122.911835000086356, 38.505885000314805 ], [ -122.911136000265003, 38.50522100071003 ], [ -122.91026199965475, 38.504808000963806 ], [ -122.909447000268457, 38.504602000952858 ], [ -122.909417000342756, 38.504533000784875 ], [ -122.909271999500362, 38.504030000475517 ], [ -122.908923000023691, 38.503686000966646 ], [ -122.908573000325276, 38.50313700086474 ], [ -122.908560000305755, 38.502915000498227 ], [ -122.910029999841584, 38.503481000793158 ], [ -122.909825999853581, 38.502634000842598 ], [ -122.909243999853487, 38.501947000471297 ], [ -122.90924399993132, 38.501649001043603 ], [ -122.909623000066333, 38.501352000320672 ], [ -122.911487000363209, 38.500597000946485 ], [ -122.911749000478594, 38.500414001039211 ], [ -122.912137000309826, 38.499912000921682 ], [ -122.912224000028758, 38.499843000810657 ], [ -122.912239000009194, 38.499607000634029 ], [ -122.912605000380637, 38.499134000561853 ], [ -122.912741999946277, 38.499073000471938 ], [ -122.913185000093094, 38.4989280009762 ], [ -122.913627000478613, 38.498813000443235 ], [ -122.913776999960859, 38.498698000832839 ], [ -122.913963000368426, 38.498554000309092 ], [ -122.914314000454482, 38.498287001092962 ], [ -122.914650000022007, 38.497959000284496 ], [ -122.914984999780827, 38.497799001021015 ], [ -122.915320999866324, 38.497707000754076 ], [ -122.915625999771635, 38.497478000901204 ], [ -122.915915999435839, 38.497081000624917 ], [ -122.9164059996139, 38.496812000351753 ], [ -122.916359000481833, 38.49657800100718 ], [ -122.916297999710423, 38.496235000685822 ], [ -122.916221000010466, 38.495693000939461 ], [ -122.916175999947384, 38.495258000749544 ], [ -122.916237000063987, 38.494404000307419 ], [ -122.916343000473532, 38.49377800109356 ], [ -122.916633000253384, 38.493076000979023 ], [ -122.916892999978842, 38.492519000327825 ], [ -122.917183000039159, 38.492000001025168 ], [ -122.917595000013662, 38.491558000970279 ], [ -122.918158999759157, 38.491062000438937 ], [ -122.918708999783362, 38.490650000427706 ], [ -122.919227000066954, 38.490185000559094 ], [ -122.919505999766471, 38.489912000305438 ], [ -122.919502000162879, 38.489742000585061 ], [ -122.919486999555019, 38.489300000468553 ], [ -122.919470999728674, 38.488804000656735 ], [ -122.919487000304613, 38.488308000270607 ], [ -122.919669999454172, 38.488094000920341 ], [ -122.919822000499167, 38.487842001072067 ], [ -122.919928999578318, 38.487316000974424 ], [ -122.920020999828651, 38.486660001060194 ], [ -122.920082000434235, 38.486118000670693 ], [ -122.920106000105775, 38.485612001039129 ], [ -122.919928999408171, 38.485424000271706 ], [ -122.919608999525323, 38.485187000344702 ], [ -122.919258000479786, 38.484836000589787 ], [ -122.91919700012663, 38.484562000827417 ], [ -122.919242999995802, 38.484318000591337 ], [ -122.919257999783341, 38.483959001015435 ], [ -122.919028999490394, 38.483516001051612 ], [ -122.918586000398662, 38.483097001036938 ], [ -122.917929999617002, 38.482593000839877 ], [ -122.917366000397223, 38.48216600044212 ], [ -122.916969000361888, 38.4821810007222 ], [ -122.916312999488099, 38.482280001055045 ], [ -122.915706000378876, 38.482412000348923 ], [ -122.915259999688274, 38.482448000242506 ], [ -122.914802000176607, 38.482479000582103 ], [ -122.914421000481653, 38.482357001080004 ], [ -122.913794999462496, 38.482250000365482 ], [ -122.913170000444666, 38.482136000910906 ], [ -122.912421999905064, 38.482006000670317 ], [ -122.912132000233726, 38.481777000909396 ], [ -122.911735000466606, 38.481426000691371 ], [ -122.911338999723924, 38.481075000765834 ], [ -122.9110179999889, 38.481106000712941 ], [ -122.910667000237225, 38.481228000589979 ], [ -122.910346999503773, 38.48131900059505 ], [ -122.910132999672001, 38.481205000459369 ], [ -122.909813000417785, 38.480976000750708 ], [ -122.909309000163177, 38.48052600050918 ], [ -122.909087000106936, 38.480280001090364 ], [ -122.908820999956575, 38.479984000890802 ], [ -122.908747999775585, 38.479886000808541 ], [ -122.908397999412955, 38.479422000687954 ], [ -122.908287000289945, 38.479274000868038 ], [ -122.907906000100155, 38.478612000322826 ], [ -122.907692000053146, 38.478191000922521 ], [ -122.907448000292021, 38.477634001003032 ], [ -122.906929000394555, 38.477016000726458 ], [ -122.906624000158359, 38.476467001068436 ], [ -122.906471000076337, 38.475902001063169 ], [ -122.906471000410022, 38.475246001053783 ], [ -122.906318000323409, 38.474590000379962 ], [ -122.906206000523085, 38.473912001123061 ], [ -122.897004999733937, 38.47361200025825 ], [ -122.895498000010122, 38.473610000519102 ], [ -122.89470500010691, 38.473612000390261 ], [ -122.892904999877132, 38.473612000771752 ], [ -122.891404999513782, 38.47361200053988 ], [ -122.890004999494479, 38.473612001139507 ], [ -122.889001000384525, 38.473584000507621 ], [ -122.888704999931008, 38.473512000840877 ], [ -122.888404999795569, 38.47321200049403 ], [ -122.888155000486876, 38.472947000807117 ], [ -122.887305000172105, 38.471912001075161 ], [ -122.886405000429605, 38.470712000369012 ], [ -122.885732999491836, 38.471073000748426 ], [ -122.884969999878606, 38.471645000888451 ], [ -122.884528000138531, 38.471828000650923 ], [ -122.884238000249923, 38.471882001047298 ], [ -122.883804999910836, 38.471912001059728 ], [ -122.883429000314194, 38.471843000748173 ], [ -122.882772999809049, 38.47159900044322 ], [ -122.88204099988873, 38.471355001066485 ], [ -122.881369000236262, 38.471119000308967 ], [ -122.876103999416429, 38.469312001115142 ], [ -122.873404000052815, 38.468712000402867 ], [ -122.869435999914884, 38.471012000753326 ], [ -122.869435999536989, 38.471126001092536 ], [ -122.869817000329277, 38.47149300049179 ], [ -122.865004000284827, 38.474412001064977 ], [ -122.864644999618804, 38.474621000659866 ], [ -122.86220299982385, 38.474270001119805 ], [ -122.86210399967473, 38.474312000270274 ], [ -122.861272000428244, 38.475750000783094 ], [ -122.861165999483887, 38.475956000459611 ], [ -122.86099799988331, 38.476101000668812 ], [ -122.860661999656998, 38.476185000380859 ], [ -122.859714999718079, 38.476207000750165 ], [ -122.859471000462904, 38.476330000963507 ], [ -122.859424999933978, 38.476635001089754 ], [ -122.859638999618298, 38.477207000823583 ], [ -122.859943999571641, 38.477916000928658 ], [ -122.860417000109734, 38.478443000778476 ], [ -122.860646999546361, 38.478641000441954 ], [ -122.860661999705755, 38.478908000729916 ], [ -122.860524000373275, 38.479191000259597 ], [ -122.860294999906245, 38.479336000626439 ], [ -122.859943999787561, 38.479412000968516 ], [ -122.859668999885002, 38.479404000704385 ], [ -122.858503000096846, 38.479712000695308 ], [ -122.854103000271579, 38.480812000678583 ], [ -122.853290999812401, 38.481060000419241 ], [ -122.853092999822024, 38.481090000660544 ], [ -122.85262000006486, 38.481113000323603 ], [ -122.852039999882919, 38.481075000301246 ], [ -122.851811000307734, 38.481121000846635 ], [ -122.85159700032105, 38.481304001057545 ], [ -122.851503000349126, 38.481512000459851 ], [ -122.852161999398973, 38.483584000996032 ], [ -122.852303000448245, 38.485511000282571 ], [ -122.851628000438268, 38.484751000972096 ], [ -122.851094000444462, 38.4843170003967 ], [ -122.849262999720551, 38.483515000688698 ], [ -122.847004000019055, 38.483386000992674 ], [ -122.845021000036439, 38.483958000606322 ], [ -122.842403000148238, 38.484411000761838 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 16, "TAZ1454": 751, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.974670999840356, 37.461539000505255 ], [ -121.97567100027463, 37.461639000416206 ], [ -121.986970999467175, 37.463539000395635 ], [ -121.991770999580467, 37.465039000717418 ], [ -121.987370999852246, 37.464739001089782 ], [ -121.98517100030567, 37.465239000655437 ], [ -121.977970999589289, 37.469838001068148 ], [ -121.97507099960184, 37.469038000359888 ], [ -121.97407100033918, 37.46873800071068 ], [ -121.973971000427369, 37.470238000315447 ], [ -121.97497100016848, 37.470338000401661 ], [ -121.979270999618933, 37.470938000453877 ], [ -121.98687099962568, 37.465939000373524 ], [ -121.992771000523788, 37.469139000484574 ], [ -121.999671999716469, 37.470039000854136 ], [ -122.017872000287369, 37.467839000352448 ], [ -122.037572000085248, 37.46953900094563 ], [ -122.040672000028039, 37.469038000988093 ], [ -122.042072000286041, 37.468738000343407 ], [ -122.050373000269502, 37.466738000889585 ], [ -122.053872999646487, 37.472138000595926 ], [ -122.052372999854725, 37.477538000703753 ], [ -122.056272999582831, 37.490738000658794 ], [ -122.056200000032476, 37.49074300033751 ], [ -122.040372999765523, 37.491738000519682 ], [ -122.039573000254023, 37.491838000784952 ], [ -122.035273000165844, 37.489938000294423 ], [ -122.033171999583232, 37.482838000644328 ], [ -122.028172000118232, 37.477338000233786 ], [ -122.025071999717795, 37.476838000419654 ], [ -122.02527199947599, 37.477938000557494 ], [ -122.024272000439368, 37.482738001034754 ], [ -122.025771999539288, 37.478338000340003 ], [ -122.027772000070186, 37.477938000571221 ], [ -122.031371999913432, 37.481438000662635 ], [ -122.032171999808327, 37.486738000807449 ], [ -122.034373000102008, 37.491338000790677 ], [ -122.038272999455188, 37.493838000661377 ], [ -122.040273000021585, 37.493738000634288 ], [ -122.053572999474397, 37.492938000817219 ], [ -122.054072999674659, 37.495038000847046 ], [ -122.060572999814269, 37.498338001121489 ], [ -122.066873000182525, 37.498938000722781 ], [ -122.07187299989549, 37.499938000530612 ], [ -122.074372999453971, 37.500438000578995 ], [ -122.06997299963264, 37.500838000257161 ], [ -122.075073000057344, 37.501038000472285 ], [ -122.080272999996893, 37.502037000593539 ], [ -122.079872999580445, 37.503037001030869 ], [ -122.078173000476795, 37.504637000746371 ], [ -122.07777299991065, 37.506337001013499 ], [ -122.078573000378285, 37.509137001052231 ], [ -122.078873000057001, 37.509437000567061 ], [ -122.079072999542674, 37.50993700098455 ], [ -122.08247400028543, 37.508637000317641 ], [ -122.084974000075277, 37.506437000789269 ], [ -122.086274000155171, 37.50683700041683 ], [ -122.086773999836808, 37.50543700069845 ], [ -122.087473999669555, 37.503737000783403 ], [ -122.088773999909137, 37.504637000870332 ], [ -122.087974000299724, 37.503537000946373 ], [ -122.102374000018102, 37.499937000268758 ], [ -122.102773999777398, 37.499837000985039 ], [ -122.104323999932632, 37.499937000587828 ], [ -122.105873999861743, 37.500037000596585 ], [ -122.109073999637204, 37.503137000606763 ], [ -122.109474000424868, 37.503537000339499 ], [ -122.110773999744808, 37.509237000754425 ], [ -122.101274000471861, 37.518337000983884 ], [ -122.101373999570882, 37.519937000296942 ], [ -122.10157400013631, 37.521437000631899 ], [ -122.098373999679367, 37.522737000867203 ], [ -122.093274000041177, 37.521137001085577 ], [ -122.092773999476478, 37.519837000446635 ], [ -122.092274000455049, 37.518637000559785 ], [ -122.08817399966189, 37.517337001122293 ], [ -122.088974000425537, 37.515337000865216 ], [ -122.089573999709103, 37.513837000575151 ], [ -122.082974000101743, 37.51463700109543 ], [ -122.079672999431438, 37.516637000644344 ], [ -122.080273999688998, 37.515337000636947 ], [ -122.07747300001013, 37.516037000972993 ], [ -122.072652000415573, 37.517309000784749 ], [ -122.070272999731458, 37.517937000669242 ], [ -122.069876000481003, 37.517903000491728 ], [ -122.069073000289677, 37.517837000953293 ], [ -122.066973000292307, 37.513037000366751 ], [ -122.062687999667503, 37.514128000721364 ], [ -122.062795000331036, 37.514845000367522 ], [ -122.057673000095903, 37.514537000527909 ], [ -122.056905000016584, 37.510145000700014 ], [ -122.056554000049161, 37.510138000899246 ], [ -122.056443999584744, 37.509851000262152 ], [ -122.054677000010727, 37.505256000448718 ], [ -122.057994000300269, 37.501911000510354 ], [ -122.058694000447886, 37.501206000249319 ], [ -122.059236999891041, 37.500658000843252 ], [ -122.058072999590038, 37.50043800062037 ], [ -122.053930999626516, 37.49993800030007 ], [ -122.053500000016072, 37.499886000750841 ], [ -122.053425999469866, 37.499877001021851 ], [ -122.053563000317197, 37.49893900097387 ], [ -122.045064000010882, 37.496238000397838 ], [ -122.043660000478624, 37.495772000840738 ], [ -122.040273000459806, 37.495338000839844 ], [ -122.039202999817761, 37.495089000695934 ], [ -122.035386000008003, 37.4946910005688 ], [ -122.03393099980417, 37.492501000271091 ], [ -122.032704000427032, 37.490656000463339 ], [ -122.032120000410984, 37.490785000327762 ], [ -122.031437000280576, 37.490302000685197 ], [ -122.030971999708044, 37.490138000280361 ], [ -122.031178000479798, 37.489097000887469 ], [ -122.031512999504827, 37.488441001010507 ], [ -122.031528999731393, 37.488112000784625 ], [ -122.031528999475853, 37.48686900051095 ], [ -122.031208000093983, 37.485221000313338 ], [ -122.031086000341887, 37.483405000702881 ], [ -122.030917999802227, 37.481589000794152 ], [ -122.029835000300707, 37.480155000445869 ], [ -122.02826300000811, 37.478797000481507 ], [ -122.0271720004245, 37.478638000944898 ], [ -122.026492999551607, 37.478759000576261 ], [ -122.025943999460353, 37.479011001123801 ], [ -122.025470999495226, 37.480659000722213 ], [ -122.025394999957612, 37.48245100085942 ], [ -122.024966999450953, 37.483291000851182 ], [ -122.023991000293648, 37.484206000545434 ], [ -122.023272000244802, 37.484738001004594 ], [ -122.022663000210699, 37.484801000755667 ], [ -122.021626000457445, 37.484870000533185 ], [ -122.019946999836762, 37.484641000988496 ], [ -122.018069999648475, 37.483916000623886 ], [ -122.016682000220712, 37.483100000486445 ], [ -122.015431000153953, 37.481933000656788 ], [ -122.014471999704512, 37.4814380009228 ], [ -122.01399599987684, 37.481711000285017 ], [ -122.013493000491621, 37.482383000286461 ], [ -122.013111000343372, 37.483184001021428 ], [ -122.012774999750789, 37.483954000319038 ], [ -122.012408999834236, 37.48503800051428 ], [ -122.01219599947737, 37.485724000506309 ], [ -122.011677000487978, 37.486602000501499 ], [ -122.010821999833141, 37.48815800089551 ], [ -122.010136000103401, 37.489745000582126 ], [ -122.010791999836769, 37.492064000814928 ], [ -122.01095999954299, 37.492934001082396 ], [ -122.010571999732036, 37.493438001119728 ], [ -122.010166000378405, 37.493659000955581 ], [ -122.009509999822569, 37.493896000350716 ], [ -122.008258999578103, 37.494292000532347 ], [ -122.007069000296966, 37.494811001068534 ], [ -122.006572000398052, 37.495038000552768 ], [ -122.006271999929297, 37.494938000854489 ], [ -122.006106999386958, 37.49491800108261 ], [ -122.005604000024107, 37.494727001074686 ], [ -122.005404999532246, 37.494872000358491 ], [ -122.005374999586024, 37.495261000561968 ], [ -122.000472000222516, 37.494938000645149 ], [ -121.999973000029428, 37.496734001083595 ], [ -121.999332000213528, 37.498038000427421 ], [ -121.998554000255055, 37.499320001096599 ], [ -121.997789999692898, 37.499938001097739 ], [ -121.99717200045292, 37.500438000435558 ], [ -121.996310999419364, 37.50013600109375 ], [ -121.995662000505959, 37.499938001033051 ], [ -121.995213000007226, 37.499801000998566 ], [ -121.994327999662687, 37.499412000307061 ], [ -121.993771999708045, 37.499438000638683 ], [ -121.994285999764585, 37.499938000753822 ], [ -121.997571999473536, 37.50313800033453 ], [ -121.998471999989519, 37.504038000469407 ], [ -121.99627200028695, 37.509338001024197 ], [ -121.995771999762724, 37.51073800068972 ], [ -121.995072000117659, 37.514037000650411 ], [ -121.994171999413794, 37.515237001047893 ], [ -121.993471999766257, 37.516037000438224 ], [ -121.991571999750818, 37.518437000371819 ], [ -121.99077200020831, 37.519637000663934 ], [ -121.990171999754168, 37.520337000703236 ], [ -121.989572000417141, 37.521037000258943 ], [ -121.987808000126336, 37.522660000746107 ], [ -121.987732000019378, 37.522627000719339 ], [ -121.985871000304854, 37.52153700107025 ], [ -121.98387800014477, 37.520113000970717 ], [ -121.983070999592684, 37.519537000392894 ], [ -121.982717000472604, 37.51930100106258 ], [ -121.981570999470065, 37.518537000301158 ], [ -121.977725999714366, 37.515271000331971 ], [ -121.977006999707655, 37.514660000537667 ], [ -121.975541999479461, 37.513415000545443 ], [ -121.974776000458149, 37.512764000441408 ], [ -121.972270999574533, 37.510637000489019 ], [ -121.96797100007123, 37.507437000982506 ], [ -121.967370999767141, 37.507037000684015 ], [ -121.966670999986064, 37.506437000382498 ], [ -121.962871000422481, 37.503637000724254 ], [ -121.959066000234415, 37.500771000401194 ], [ -121.957960000062187, 37.499938001048974 ], [ -121.949070000109117, 37.493238000237149 ], [ -121.948071000118901, 37.492428000730861 ], [ -121.947770000448969, 37.492238000532929 ], [ -121.947459999996269, 37.492007000880704 ], [ -121.945962999646724, 37.490911001053668 ], [ -121.938069999567446, 37.485138001018264 ], [ -121.937869999762853, 37.484738000647226 ], [ -121.936912999689682, 37.483263000591649 ], [ -121.936768999817687, 37.482938000633752 ], [ -121.936611999489543, 37.482593001062703 ], [ -121.936168999399911, 37.48183800039326 ], [ -121.935968999793502, 37.481238000862191 ], [ -121.934768999807432, 37.478738000383942 ], [ -121.93376900033229, 37.476638000534855 ], [ -121.924268999719132, 37.456938000994796 ], [ -121.924008000381306, 37.456276000529286 ], [ -121.923911999397745, 37.456050000743318 ], [ -121.923555999490389, 37.45535000100476 ], [ -121.924326000073947, 37.454981000609948 ], [ -121.924765999591244, 37.454771000947964 ], [ -121.92525100004751, 37.454539000905221 ], [ -121.926074000354006, 37.455002001111694 ], [ -121.92631300039487, 37.455038000819563 ], [ -121.926514999856295, 37.455124000608144 ], [ -121.926755000153619, 37.455241000397571 ], [ -121.926937999469715, 37.455468000716266 ], [ -121.927138999545221, 37.455632000646006 ], [ -121.92726999941037, 37.455776000574978 ], [ -121.927350999471599, 37.455911000973941 ], [ -121.927371000403781, 37.456001000250431 ], [ -121.927497000300377, 37.45612000026599 ], [ -121.927441000467624, 37.456279000686521 ], [ -121.927420000205842, 37.456372000573204 ], [ -121.927417999909963, 37.456543001114667 ], [ -121.927461000025374, 37.456705001104673 ], [ -121.927561000064372, 37.456925000836087 ], [ -121.927792999859108, 37.457124000286925 ], [ -121.928025000494202, 37.457250000433909 ], [ -121.92816599955475, 37.457303000583885 ], [ -121.928297000378947, 37.457332000260472 ], [ -121.928443999497574, 37.457394001116477 ], [ -121.929036000510166, 37.457281000652422 ], [ -121.929169000466729, 37.457338001131596 ], [ -121.93026899981858, 37.457038000792572 ], [ -121.930996000043606, 37.456602000663864 ], [ -121.931220000268709, 37.456305000950557 ], [ -121.931441000167396, 37.456109000374234 ], [ -121.931784000284324, 37.455914000448438 ], [ -121.932075999838702, 37.455758000738612 ], [ -121.932268000369305, 37.455695000275959 ], [ -121.932476000136603, 37.455714000333501 ], [ -121.932596000179387, 37.455839000419076 ], [ -121.932610000496254, 37.455955000360042 ], [ -121.932559999937908, 37.456101000773522 ], [ -121.932519000360458, 37.456245000395889 ], [ -121.932409000480035, 37.456423000404087 ], [ -121.932297999988805, 37.456588000359666 ], [ -121.932167000452623, 37.456756000280997 ], [ -121.931969000262711, 37.456938000576727 ], [ -121.931928000252526, 37.457144000790052 ], [ -121.931128000201525, 37.457390000809603 ], [ -121.931178999920718, 37.457911000233636 ], [ -121.931410000264393, 37.458187000595359 ], [ -121.931451000350435, 37.458399000474529 ], [ -121.931520999395772, 37.458831000936954 ], [ -121.931370000001095, 37.459100000726828 ], [ -121.931390000199229, 37.459595000980968 ], [ -121.931128000477727, 37.460158000549434 ], [ -121.931199000056466, 37.460413000336906 ], [ -121.931198999936782, 37.460644000783937 ], [ -121.931471000394936, 37.46091100066262 ], [ -121.932084999747033, 37.460999000721195 ], [ -121.932669999689423, 37.460974000710046 ], [ -121.933378000470839, 37.460762000256715 ], [ -121.93306899961047, 37.460738000435271 ], [ -121.932650999523531, 37.460645000792965 ], [ -121.933053000363131, 37.460579000778274 ], [ -121.933577000332221, 37.460580000468774 ], [ -121.933990000423066, 37.460624000407876 ], [ -121.934464000048536, 37.460770001085841 ], [ -121.934624999951083, 37.460876000976896 ], [ -121.934776000461667, 37.461011000986751 ], [ -121.934857000445774, 37.461186000951095 ], [ -121.934886999571518, 37.461400000542582 ], [ -121.934882999897866, 37.461580000978458 ], [ -121.935076000250845, 37.461859000970207 ], [ -121.934947000240925, 37.462120000491119 ], [ -121.934987000250885, 37.462464000886655 ], [ -121.935379999831397, 37.46266900086723 ], [ -121.936024999718867, 37.462929000463944 ], [ -121.936477999981619, 37.462883000678353 ], [ -121.937019999819469, 37.462776000935328 ], [ -121.93716900013122, 37.462838000883814 ], [ -121.938868999953598, 37.463538000873193 ], [ -121.940172999460771, 37.464842000250499 ], [ -121.940897999870316, 37.464948000786109 ], [ -121.941491000225867, 37.464944000277171 ], [ -121.942357000484265, 37.464963001038058 ], [ -121.943100999814348, 37.46511600034777 ], [ -121.943573999546516, 37.465413000884524 ], [ -121.943770000427719, 37.465838000483096 ], [ -121.943469999413225, 37.469138000329828 ], [ -121.944869999895701, 37.469538000414865 ], [ -121.945370000439951, 37.469538001082242 ], [ -121.946569999794278, 37.46923800102676 ], [ -121.947069999886864, 37.468738000679117 ], [ -121.947269999859813, 37.467938000607482 ], [ -121.947270000076912, 37.467838000567454 ], [ -121.947169999882476, 37.466838000462054 ], [ -121.946770000459125, 37.463538000341359 ], [ -121.951570000113762, 37.462838001027521 ], [ -121.959269999721059, 37.464538000446915 ], [ -121.964876000388728, 37.463073000609583 ], [ -121.966477999800432, 37.462745000969882 ], [ -121.96747000028364, 37.462438000300985 ], [ -121.96836999983374, 37.462138000803947 ], [ -121.968770000336932, 37.461939000484342 ], [ -121.970821000087057, 37.461507000242179 ], [ -121.974470999639522, 37.460739000518046 ], [ -121.974770999455018, 37.460739000759872 ], [ -121.974670999840356, 37.461539000505255 ] ] ], [ [ [ -122.084174000464515, 37.50583700066182 ], [ -122.082073999697812, 37.508037000255833 ], [ -122.079172999719631, 37.508737000735564 ], [ -122.078172999946631, 37.506737000286009 ], [ -122.07837300026452, 37.504637000327087 ], [ -122.080173000344175, 37.50323700054922 ], [ -122.082974000312831, 37.503737000452418 ], [ -122.084174000464515, 37.50583700066182 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 874, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.246179000316772, 37.725629000423488 ], [ -122.236879000164862, 37.719030000304954 ], [ -122.236079000261384, 37.718630000814102 ], [ -122.228624000465814, 37.726278001127582 ], [ -122.228378999882509, 37.726529000988073 ], [ -122.228059999923587, 37.726867000635806 ], [ -122.226313999537894, 37.726553000277939 ], [ -122.226640000379831, 37.730371000283931 ], [ -122.226173000475271, 37.731014000305599 ], [ -122.225787999765515, 37.731420001131973 ], [ -122.225657000443277, 37.731713000279967 ], [ -122.225565999908127, 37.731899000726273 ], [ -122.225152999821844, 37.744758000901918 ], [ -122.223610999627269, 37.744637000723273 ], [ -122.220278999733281, 37.744429000340133 ], [ -122.216778000492567, 37.740729000878012 ], [ -122.213743000517894, 37.737626001007783 ], [ -122.21287800018051, 37.735929001080478 ], [ -122.2123780002769, 37.734829000579687 ], [ -122.211978000489466, 37.73412900046214 ], [ -122.211177999837133, 37.732329000298002 ], [ -122.210277999699713, 37.730729001027164 ], [ -122.20917799954924, 37.730029000648265 ], [ -122.206678000010868, 37.728629001019783 ], [ -122.201478000235156, 37.725829000773004 ], [ -122.201177999842685, 37.725729000353297 ], [ -122.199077999394063, 37.724829000681943 ], [ -122.196178000316564, 37.723429000556926 ], [ -122.195867999609305, 37.723149000779536 ], [ -122.194239999709708, 37.721676001130525 ], [ -122.194077999499683, 37.721529000481922 ], [ -122.193077000367282, 37.720829000481039 ], [ -122.189176999929302, 37.717529000675 ], [ -122.189877000414754, 37.717030000255519 ], [ -122.193077000068129, 37.716130001008544 ], [ -122.193709000148772, 37.717198000720543 ], [ -122.194853000352296, 37.716868000763448 ], [ -122.194008999683703, 37.715427000541652 ], [ -122.197077999450386, 37.714930000900715 ], [ -122.198877999826593, 37.713130000706521 ], [ -122.209777999873083, 37.710430001117381 ], [ -122.211178000363532, 37.708730000456541 ], [ -122.210477999748647, 37.701330000759086 ], [ -122.213377999662939, 37.698730000783456 ], [ -122.24217900036561, 37.719430001066684 ], [ -122.245678999931158, 37.720030000237472 ], [ -122.251378999851568, 37.72422900092571 ], [ -122.251536999758613, 37.724393000295585 ], [ -122.25167399961677, 37.724653001068056 ], [ -122.25145999991814, 37.725240000422552 ], [ -122.250880999530679, 37.72585800102437 ], [ -122.250713000341818, 37.726003000922653 ], [ -122.250606000263105, 37.726072000331605 ], [ -122.25049900003394, 37.726133000492624 ], [ -122.250391999698337, 37.726186000505074 ], [ -122.250286000193341, 37.726240000931952 ], [ -122.250162999700152, 37.726286000329956 ], [ -122.25004100000973, 37.72632400050864 ], [ -122.249879000325393, 37.72632900045555 ], [ -122.246179000316772, 37.725629000423488 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 18, "TAZ1454": 875, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.18437700015474, 37.72542900043301 ], [ -122.18987700046263, 37.728229000488916 ], [ -122.190577000249206, 37.727129000781524 ], [ -122.190700000453148, 37.727084001104544 ], [ -122.190755999762018, 37.727064000640326 ], [ -122.19173800024501, 37.726348000578191 ], [ -122.192103000289222, 37.726729000254167 ], [ -122.192285000457929, 37.726919000520702 ], [ -122.192777999919116, 37.726729000686753 ], [ -122.19607800037484, 37.725529000443437 ], [ -122.196478000446447, 37.726229000556359 ], [ -122.19721200022785, 37.725980000679314 ], [ -122.196791000234072, 37.724962000428199 ], [ -122.196178000316564, 37.723429000556926 ], [ -122.199077999394063, 37.724829000681943 ], [ -122.201177999842685, 37.725729000353297 ], [ -122.201478000235156, 37.725829000773004 ], [ -122.206678000010868, 37.728629001019783 ], [ -122.20917799954924, 37.730029000648265 ], [ -122.210277999699713, 37.730729001027164 ], [ -122.211177999837133, 37.732329000298002 ], [ -122.211978000489466, 37.73412900046214 ], [ -122.2123780002769, 37.734829000579687 ], [ -122.21287800018051, 37.735929001080478 ], [ -122.213743000517894, 37.737626001007783 ], [ -122.216778000492567, 37.740729000878012 ], [ -122.220278999733281, 37.744429000340133 ], [ -122.223610999627269, 37.744637000723273 ], [ -122.225152999821844, 37.744758000901918 ], [ -122.225161000504698, 37.744910000561148 ], [ -122.225478999433193, 37.74495200060737 ], [ -122.226548000143268, 37.745094000488486 ], [ -122.226665999573072, 37.745110000578897 ], [ -122.22637900004996, 37.746929000355387 ], [ -122.225379000247216, 37.746929001007182 ], [ -122.225478999420062, 37.745629000282257 ], [ -122.225386999689746, 37.745642000926622 ], [ -122.221978999767018, 37.746129000869821 ], [ -122.214578000070674, 37.739929000969745 ], [ -122.21347799971474, 37.737929000655825 ], [ -122.210097000296201, 37.730950000756948 ], [ -122.209405000286495, 37.73059300093319 ], [ -122.209243999868576, 37.73090300079641 ], [ -122.208187999882085, 37.730483000599996 ], [ -122.211957000036492, 37.738030000844503 ], [ -122.211755999736525, 37.739004000669389 ], [ -122.211664999557215, 37.739675000231891 ], [ -122.212045999770069, 37.740278000358352 ], [ -122.21320600017296, 37.74110200025428 ], [ -122.217779000167965, 37.748729000335899 ], [ -122.217478999996885, 37.74878500079096 ], [ -122.216883999619625, 37.74851000046143 ], [ -122.215556999778684, 37.747655000495314 ], [ -122.213892000121376, 37.746694001128077 ], [ -122.21273300006203, 37.7458400005671 ], [ -122.211710000220521, 37.744985001028112 ], [ -122.211130000391407, 37.743688000874961 ], [ -122.211191999666312, 37.742750000281482 ], [ -122.21044399953297, 37.742292000923371 ], [ -122.210275999453614, 37.742178001014864 ], [ -122.210077999784346, 37.741929001106101 ], [ -122.209477999597908, 37.741229001077336 ], [ -122.208346999633534, 37.741963000851449 ], [ -122.213947999782093, 37.749039001049432 ], [ -122.213839999554239, 37.749210000421748 ], [ -122.213623999968306, 37.749465001098429 ], [ -122.21340900002896, 37.749892000829298 ], [ -122.213086000380599, 37.750275001028513 ], [ -122.210769999394728, 37.751682000960407 ], [ -122.207629000285223, 37.752563000241558 ], [ -122.209674999579804, 37.752312000309672 ], [ -122.210988000251234, 37.751893000859141 ], [ -122.21174199943394, 37.751407000941199 ], [ -122.212999000498698, 37.750921000476225 ], [ -122.213110999691764, 37.751451001015113 ], [ -122.214089000474232, 37.751539000391197 ], [ -122.215037000240216, 37.756346000548042 ], [ -122.215688999795887, 37.757603000857962 ], [ -122.216903999812686, 37.759167000386149 ], [ -122.215212000238651, 37.760748000269516 ], [ -122.214577999906126, 37.760828000770552 ], [ -122.213078000059326, 37.759128000463392 ], [ -122.213378000240127, 37.758928000912555 ], [ -122.214177999685319, 37.757028000290731 ], [ -122.212778000136666, 37.75842800060218 ], [ -122.212678000166548, 37.758528000288173 ], [ -122.212177999883764, 37.758028000695177 ], [ -122.210678000520971, 37.756428000968633 ], [ -122.209771000098129, 37.755423000981423 ], [ -122.208414000101115, 37.753870000317065 ], [ -122.207432000429407, 37.75266200088312 ], [ -122.207230000366877, 37.752762000453451 ], [ -122.207064999703775, 37.752821000339623 ], [ -122.204478000218089, 37.753728000720479 ], [ -122.202677999517107, 37.754128000301485 ], [ -122.201378000424583, 37.754628000448797 ], [ -122.199136999748973, 37.752716000954692 ], [ -122.197977999581028, 37.751728000845802 ], [ -122.196778000458934, 37.750628000251425 ], [ -122.195778000239713, 37.749628001135754 ], [ -122.194405999672043, 37.748408000455214 ], [ -122.193978000090468, 37.748028001076399 ], [ -122.190678000012795, 37.745129000562052 ], [ -122.18607700021029, 37.741129001124911 ], [ -122.181477000344131, 37.737129000788627 ], [ -122.181776999643432, 37.73692900071643 ], [ -122.182577000329658, 37.73632900091971 ], [ -122.183176999786468, 37.735829000551703 ], [ -122.183376999974158, 37.735329000747917 ], [ -122.183677000489752, 37.734729000865272 ], [ -122.183927000194657, 37.734479000359194 ], [ -122.183977000158166, 37.734429000372572 ], [ -122.183977000463273, 37.734229001116212 ], [ -122.184276999394754, 37.734029000803567 ], [ -122.185777000428331, 37.733129000346324 ], [ -122.187377000484304, 37.732129001010051 ], [ -122.187876999440135, 37.731929000899477 ], [ -122.18877699957811, 37.731429000868651 ], [ -122.188676999912673, 37.731129000750727 ], [ -122.188376999909877, 37.730829000838732 ], [ -122.183977000135627, 37.725929000322019 ], [ -122.18287699951766, 37.724829000524075 ], [ -122.18437700015474, 37.72542900043301 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1136, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.049773000492507, 37.92312300044334 ], [ -122.050672999391253, 37.923223000826297 ], [ -122.050873000493553, 37.923023000661644 ], [ -122.051273000258277, 37.922723000720815 ], [ -122.052273000026261, 37.922223000288483 ], [ -122.053272999547346, 37.922223000499137 ], [ -122.055472999547888, 37.922423000369783 ], [ -122.055873000091097, 37.922523000578778 ], [ -122.05635800016772, 37.922135000727927 ], [ -122.056873000098591, 37.921723000460894 ], [ -122.058272999981426, 37.921723000730907 ], [ -122.060373000405619, 37.921523001057039 ], [ -122.061074000395777, 37.921523000332911 ], [ -122.061273999409607, 37.921023000991234 ], [ -122.061474000212726, 37.920523000366977 ], [ -122.061774000401314, 37.919523001014916 ], [ -122.061973999878433, 37.91912300096773 ], [ -122.062174000031945, 37.91782300042879 ], [ -122.062373999967647, 37.916923000394092 ], [ -122.062973999804626, 37.916923000813753 ], [ -122.064473999634203, 37.917023000946521 ], [ -122.063960999686756, 37.917723000600176 ], [ -122.06337400049604, 37.918523000894972 ], [ -122.062495000318236, 37.920093000548952 ], [ -122.062197999823084, 37.920623000351824 ], [ -122.061948999812387, 37.921223000753422 ], [ -122.061873999699898, 37.921823000760725 ], [ -122.061073999987244, 37.923623001050665 ], [ -122.060873999423052, 37.926323001040359 ], [ -122.060445000077166, 37.926323000387214 ], [ -122.060072999398244, 37.926323001033985 ], [ -122.059272999756686, 37.926423000525745 ], [ -122.05907299953482, 37.926423000306158 ], [ -122.057673000308256, 37.926423000983789 ], [ -122.054773000153389, 37.926323000283013 ], [ -122.054173000450575, 37.929923000668595 ], [ -122.054173000473369, 37.93022300025202 ], [ -122.053672999416591, 37.933223000996527 ], [ -122.053293999974031, 37.935724000408221 ], [ -122.053172999469652, 37.936523000773455 ], [ -122.052920999812997, 37.936523000500927 ], [ -122.051373000042616, 37.936523001002065 ], [ -122.050851000410589, 37.936523001118282 ], [ -122.050186000322782, 37.936523000967846 ], [ -122.049472999643726, 37.936523000444794 ], [ -122.049073000382194, 37.936123000827784 ], [ -122.048573000087657, 37.93542300051795 ], [ -122.048173000191156, 37.935023000523479 ], [ -122.047872999803772, 37.934623000865329 ], [ -122.047372999642178, 37.934223000943412 ], [ -122.047072999943353, 37.933823001040174 ], [ -122.04677300016931, 37.933523000714686 ], [ -122.045413999986764, 37.932109000498073 ], [ -122.044991000266791, 37.93166900028703 ], [ -122.044273000294865, 37.930923001127738 ], [ -122.043172999527314, 37.929623000676422 ], [ -122.04247300032398, 37.928923000674367 ], [ -122.041073000521592, 37.927323000826242 ], [ -122.040473000328205, 37.926823000656405 ], [ -122.040973000522499, 37.926523000852598 ], [ -122.041272999790323, 37.926123000414854 ], [ -122.041492999702726, 37.925683000796823 ], [ -122.041573000041069, 37.92552300098918 ], [ -122.043073000437801, 37.924923000997651 ], [ -122.044073000080516, 37.92452300108296 ], [ -122.04416399962733, 37.924484000563893 ], [ -122.04547299971955, 37.923923000460896 ], [ -122.046272999751082, 37.923623000877363 ], [ -122.04648999961897, 37.923540000299099 ], [ -122.046902999945502, 37.923381001064648 ], [ -122.047573000166011, 37.923123000485397 ], [ -122.049773000492507, 37.92312300044334 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1145, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.057872999959514, 37.907024000640156 ], [ -122.057373000306313, 37.90542400084874 ], [ -122.057028000490462, 37.90431900112246 ], [ -122.056373000132979, 37.902224000262294 ], [ -122.05629299988793, 37.899424000650811 ], [ -122.056272999849071, 37.898724000992246 ], [ -122.057272999459357, 37.898424000367889 ], [ -122.058373000234113, 37.897724000346798 ], [ -122.05897299969989, 37.897524000256745 ], [ -122.059873000220833, 37.897224000660451 ], [ -122.060373000176924, 37.897324000787535 ], [ -122.061372999412185, 37.897224000526542 ], [ -122.063373999456232, 37.897224000802524 ], [ -122.06607399969414, 37.897224000570667 ], [ -122.06697400026998, 37.897224000249466 ], [ -122.068874000106376, 37.896724001124241 ], [ -122.069982999762914, 37.896458000498058 ], [ -122.070343999756219, 37.896444000289819 ], [ -122.07049800020414, 37.896783000544005 ], [ -122.070638999951854, 37.897172000790448 ], [ -122.070824999949338, 37.898066000547992 ], [ -122.070863000503692, 37.898541000932141 ], [ -122.070874000070617, 37.898824001065051 ], [ -122.070796999531325, 37.899513001013815 ], [ -122.070744999763789, 37.900151000332407 ], [ -122.070674000000949, 37.900924000357712 ], [ -122.070573999950938, 37.901224000718649 ], [ -122.070473999498034, 37.901824000510992 ], [ -122.069573999805769, 37.905324000483581 ], [ -122.06917400013343, 37.906924000295703 ], [ -122.067573999793538, 37.910724000894163 ], [ -122.066785999844925, 37.913323000923782 ], [ -122.066573999387401, 37.914023000840018 ], [ -122.065649000366392, 37.915650000914461 ], [ -122.065328999917554, 37.916011001007107 ], [ -122.064473999634203, 37.917023000946521 ], [ -122.062973999804626, 37.916923000813753 ], [ -122.062373999967647, 37.916923000394092 ], [ -122.061473999683813, 37.916923000332034 ], [ -122.06017300036703, 37.91692300104004 ], [ -122.05927300001477, 37.917123000891067 ], [ -122.057972999834803, 37.917023000758441 ], [ -122.057572999859786, 37.916923000533856 ], [ -122.056272999784952, 37.916923000366161 ], [ -122.056728000507718, 37.91566600036905 ], [ -122.058373000227931, 37.911123001127812 ], [ -122.057872999959514, 37.907024000640156 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 22, "TAZ1454": 1146, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.055072999750408, 37.893524001062552 ], [ -122.053939000273061, 37.891216000794678 ], [ -122.053713000231312, 37.89075600051725 ], [ -122.05316800044092, 37.889646000542641 ], [ -122.052535999694939, 37.888360000288856 ], [ -122.052272999872642, 37.887824001077121 ], [ -122.051873000044338, 37.887424000949359 ], [ -122.051274000365524, 37.886717000831176 ], [ -122.050886999396795, 37.886259000396876 ], [ -122.050773000309164, 37.886124000927808 ], [ -122.049873000359725, 37.885024000397415 ], [ -122.049273000059813, 37.884224000802 ], [ -122.049272999951825, 37.883624000862113 ], [ -122.049373000157459, 37.883224000631429 ], [ -122.049372999647773, 37.882960000327451 ], [ -122.049373000455333, 37.881800000627571 ], [ -122.049259000268933, 37.880437001002853 ], [ -122.049806000459384, 37.879890000555839 ], [ -122.050160999837118, 37.880167000788163 ], [ -122.050845999990486, 37.880771000351118 ], [ -122.051872999766488, 37.881724001075753 ], [ -122.052372999455429, 37.882224001064181 ], [ -122.05347299972712, 37.883624000661598 ], [ -122.054972999869094, 37.885524001125326 ], [ -122.056172999631556, 37.886924001123411 ], [ -122.057472999746622, 37.88832400094406 ], [ -122.05827300024697, 37.889124000781322 ], [ -122.059072999898234, 37.889824000304316 ], [ -122.059673000473026, 37.890224000340297 ], [ -122.060142000506687, 37.890552001099266 ], [ -122.060772999629847, 37.890924000641796 ], [ -122.061600000339254, 37.891438000999244 ], [ -122.06227299957375, 37.891724000369081 ], [ -122.063327999656039, 37.892128000510965 ], [ -122.064167999874897, 37.892446000966643 ], [ -122.06487400020373, 37.892924000811576 ], [ -122.065509000461432, 37.893189000955985 ], [ -122.066073999879052, 37.893424000284796 ], [ -122.066512999424816, 37.893677001127436 ], [ -122.066610000354302, 37.893737000474481 ], [ -122.068279000219405, 37.894732000563529 ], [ -122.068964000308171, 37.895196000345777 ], [ -122.069366000368362, 37.895472000410855 ], [ -122.069717999503368, 37.895712000799527 ], [ -122.070076000116472, 37.896069000802633 ], [ -122.070343999756219, 37.896444000289819 ], [ -122.069982999762914, 37.896458000498058 ], [ -122.068874000106376, 37.896724001124241 ], [ -122.06697400026998, 37.897224000249466 ], [ -122.06607399969414, 37.897224000570667 ], [ -122.063373999456232, 37.897224000802524 ], [ -122.061372999412185, 37.897224000526542 ], [ -122.060373000176924, 37.897324000787535 ], [ -122.059873000220833, 37.897224000660451 ], [ -122.05897299969989, 37.897524000256745 ], [ -122.058373000234113, 37.897724000346798 ], [ -122.057272999459357, 37.898424000367889 ], [ -122.056272999849071, 37.898724000992246 ], [ -122.05552799948957, 37.89549600056413 ], [ -122.055072999750408, 37.893524001062552 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 24, "TAZ1454": 1201, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.898869000474008, 38.01572000033039 ], [ -121.899068999488122, 38.015121000958878 ], [ -121.899368999521712, 38.014321000245246 ], [ -121.899569000304083, 38.013621000668252 ], [ -121.89976900018641, 38.013021000355231 ], [ -121.897669000199713, 38.012521000639509 ], [ -121.898369000220612, 38.011421000438951 ], [ -121.898869000213097, 38.010721001060702 ], [ -121.899568999516347, 38.010121001010006 ], [ -121.90036900051814, 38.009421000245638 ], [ -121.901468999680219, 38.00842100100369 ], [ -121.90206900015869, 38.008921000936702 ], [ -121.902188000205186, 38.008976000366907 ], [ -121.903165999737155, 38.00942700033012 ], [ -121.903368999539396, 38.009521000434674 ], [ -121.904169000329659, 38.009221000686502 ], [ -121.905968999509014, 38.008121000718724 ], [ -121.907268999711192, 38.008421000987973 ], [ -121.907569000497006, 38.00862100070065 ], [ -121.911570000067954, 38.009621000496352 ], [ -121.912470000436443, 38.011021000390365 ], [ -121.913569999443553, 38.011321000944356 ], [ -121.914669999905513, 38.013821000380162 ], [ -121.92013700046185, 38.015148000961482 ], [ -121.92136999960492, 38.015420000309561 ], [ -121.922570000359386, 38.015720000720748 ], [ -121.924769999433465, 38.016220000906422 ], [ -121.926469999474307, 38.017820000642686 ], [ -121.93206999990575, 38.017920001068006 ], [ -121.932524000266426, 38.017661000549197 ], [ -121.932769999439245, 38.017520000898088 ], [ -121.93377000015434, 38.016820000362038 ], [ -121.934770000370804, 38.016220000980915 ], [ -121.93726999992208, 38.01802000075471 ], [ -121.938369999900701, 38.018820000480829 ], [ -121.938670000106114, 38.019020000524556 ], [ -121.938888999985522, 38.019226001137518 ], [ -121.937601999392498, 38.019182000617583 ], [ -121.933875999405117, 38.019332000422935 ], [ -121.932869999703271, 38.01942000074618 ], [ -121.932544999845391, 38.019420000311165 ], [ -121.928370000135743, 38.019420000890932 ], [ -121.92788100014576, 38.019420000452733 ], [ -121.926969999962878, 38.019420001124089 ], [ -121.92406999991951, 38.020020000545358 ], [ -121.923194999938943, 38.020080000928715 ], [ -121.922299000286685, 38.0201420004474 ], [ -121.921589000286019, 38.020191000857338 ], [ -121.920480000069787, 38.020268000395937 ], [ -121.918269999404473, 38.020420000313386 ], [ -121.917564999504052, 38.020428000294679 ], [ -121.916769999686935, 38.020437000925433 ], [ -121.909270000326103, 38.02052000079108 ], [ -121.907170000188401, 38.020620000975477 ], [ -121.906870000074775, 38.020620000560314 ], [ -121.904563999726832, 38.020688001021647 ], [ -121.902598999427923, 38.020513001011373 ], [ -121.901418999950963, 38.020378000284502 ], [ -121.899934999918017, 38.020039000868998 ], [ -121.899498000195919, 38.019937000772948 ], [ -121.898715000117406, 38.01975500038629 ], [ -121.898540999604293, 38.019717000627288 ], [ -121.897911000103193, 38.019578000852199 ], [ -121.891214999575226, 38.017974000955178 ], [ -121.889136999410681, 38.017404000514631 ], [ -121.888942999757248, 38.017349001117239 ], [ -121.889027999401222, 38.017059001051592 ], [ -121.889140999467514, 38.016766000244168 ], [ -121.889468999657325, 38.015920000438328 ], [ -121.889791999411813, 38.016003000342643 ], [ -121.889915000120652, 38.01607000044978 ], [ -121.889933000302548, 38.016182000638658 ], [ -121.88987700016628, 38.016397000449054 ], [ -121.889791999801801, 38.016680000297967 ], [ -121.889838999944757, 38.016806000297542 ], [ -121.890009000426275, 38.016903000441509 ], [ -121.890244999794888, 38.016970000757858 ], [ -121.891764000211552, 38.017446000677054 ], [ -121.891968999999008, 38.017520000934923 ], [ -121.893268999432209, 38.017920000798128 ], [ -121.895568999879075, 38.018520000388214 ], [ -121.89616899977743, 38.018620000853836 ], [ -121.896769000127577, 38.018820000569008 ], [ -121.897569000081816, 38.019020000815111 ], [ -121.898869000474008, 38.01572000033039 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1270, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.014877000481775, 38.301612001043807 ], [ -122.014177000383924, 38.30271200035061 ], [ -122.013895999812888, 38.303015000573978 ], [ -122.012876999761886, 38.304112000346393 ], [ -122.013177000257684, 38.305212000628998 ], [ -122.012276999555354, 38.30661100033511 ], [ -122.012077000253612, 38.308011000687145 ], [ -122.011776999854348, 38.309011000623933 ], [ -122.010477000143325, 38.309811000525414 ], [ -122.009477000361855, 38.310511000646507 ], [ -122.001677000143005, 38.31261100094882 ], [ -121.999577000433987, 38.3125110009343 ], [ -121.997376999544855, 38.312694000386855 ], [ -121.997176999535924, 38.312711000542492 ], [ -121.995677000124758, 38.311911000622942 ], [ -121.993276999413069, 38.311911000669241 ], [ -121.991077000503623, 38.313011000266947 ], [ -121.988677000265824, 38.314211000860524 ], [ -121.987621999636687, 38.313789000393804 ], [ -121.987176000472317, 38.313611001121224 ], [ -121.985376000171954, 38.313011000518678 ], [ -121.983475999396106, 38.313111000985749 ], [ -121.982375999851129, 38.313211000420807 ], [ -121.98117600002189, 38.313411000371083 ], [ -121.979276000362361, 38.313711000946661 ], [ -121.977276000300634, 38.314811000497279 ], [ -121.976576000210898, 38.31581100109986 ], [ -121.974075999780908, 38.315911000807503 ], [ -121.970876000208008, 38.315811000539057 ], [ -121.970476000003558, 38.31931100042199 ], [ -121.969876000502495, 38.319311000355832 ], [ -121.969276000459033, 38.319011000776925 ], [ -121.966875999794112, 38.317911000423948 ], [ -121.965375999737503, 38.316011000742584 ], [ -121.964694000194143, 38.315670001090758 ], [ -121.964575999870718, 38.315611000971053 ], [ -121.963476000003894, 38.31511100094928 ], [ -121.961676000450879, 38.314711001063834 ], [ -121.960275999653675, 38.313511000483885 ], [ -121.953674999464653, 38.308911001084859 ], [ -121.950174999897555, 38.30871100100326 ], [ -121.949575000140726, 38.307911000478221 ], [ -121.949075000384852, 38.307111000690675 ], [ -121.947374999717255, 38.306211000758324 ], [ -121.947475000043084, 38.305011000537633 ], [ -121.947474999612851, 38.30491100074704 ], [ -121.947275000315855, 38.304611000836474 ], [ -121.947075000142831, 38.304511001057925 ], [ -121.947474999597731, 38.301512001047143 ], [ -121.933474000190756, 38.301512001002465 ], [ -121.933875000507186, 38.308711000319875 ], [ -121.915474000439588, 38.308311000516902 ], [ -121.914574000025013, 38.286712000605085 ], [ -121.914874000353535, 38.279212000507783 ], [ -121.926305999473101, 38.279240000269439 ], [ -121.927234000025649, 38.279240000276246 ], [ -121.928994000504304, 38.279240000407611 ], [ -121.930073999994164, 38.279312000505101 ], [ -121.930073999456567, 38.283812000548892 ], [ -121.932774000276652, 38.283812000999951 ], [ -121.932773999480958, 38.284352000380792 ], [ -121.932774000373655, 38.284812000263621 ], [ -121.935574000066083, 38.28471200076843 ], [ -121.937574000356634, 38.284812000939652 ], [ -121.941979999799685, 38.284716000933777 ], [ -121.942175000025117, 38.284712000704467 ], [ -121.942073999651413, 38.283612000967864 ], [ -121.942373999831574, 38.282012000500856 ], [ -121.950975000001819, 38.282012000356566 ], [ -121.951546000068831, 38.281999000358503 ], [ -121.951671999812774, 38.282731000484567 ], [ -121.952762000487539, 38.282692000876871 ], [ -121.952774999830496, 38.283120000252296 ], [ -121.953281000298176, 38.283172000855366 ], [ -121.955375000082014, 38.28321200077751 ], [ -121.957974999845945, 38.283212000298981 ], [ -121.959875000021356, 38.278912000441913 ], [ -121.960074999519577, 38.276912000492416 ], [ -121.960075000259266, 38.274312000900466 ], [ -121.960210999794455, 38.273224000251041 ], [ -121.96027499998101, 38.272712000667333 ], [ -121.960249999992797, 38.272382000878238 ], [ -121.965442999866411, 38.272584000694472 ], [ -121.968175000460263, 38.272512000711316 ], [ -121.969475000426712, 38.27251200085162 ], [ -121.969775000092341, 38.272512000360059 ], [ -121.970375000306888, 38.272612000278968 ], [ -121.97083499998574, 38.272632000352026 ], [ -121.974875000066248, 38.272612000447545 ], [ -121.976549000149674, 38.27261200090868 ], [ -121.9831759996475, 38.272612000374522 ], [ -121.987775999659817, 38.271712000681759 ], [ -121.99327599980866, 38.271612000786369 ], [ -121.994529000105715, 38.271810000951305 ], [ -121.994852000476513, 38.271861000725778 ], [ -121.998976000156929, 38.272512001098548 ], [ -122.003963999660385, 38.272587000897232 ], [ -122.004865999980581, 38.272601000392228 ], [ -122.005576000314392, 38.27261200042819 ], [ -122.0062760004149, 38.272612000443864 ], [ -122.007976000475949, 38.272612000597519 ], [ -122.010068000301217, 38.272638000299608 ], [ -122.014367000501082, 38.272691000841093 ], [ -122.016076999595029, 38.272712001091463 ], [ -122.017876999757505, 38.272612000665816 ], [ -122.020777000151895, 38.27261200027877 ], [ -122.023176999460844, 38.272612000329225 ], [ -122.024676999856482, 38.272712000982281 ], [ -122.024676999525909, 38.274112000519466 ], [ -122.024676999554487, 38.27491200101197 ], [ -122.024676999577608, 38.275612000567236 ], [ -122.024676999819889, 38.276112001102859 ], [ -122.024821000127986, 38.276776000710008 ], [ -122.024676999578986, 38.278312000792965 ], [ -122.024777000471133, 38.279012000329097 ], [ -122.02477700042536, 38.279812001077261 ], [ -122.024732000238131, 38.280172000858428 ], [ -122.02467699986353, 38.280612000433898 ], [ -122.024677000480864, 38.282712000478618 ], [ -122.024676999454655, 38.283208000818931 ], [ -122.024677000357073, 38.283720000416885 ], [ -122.024677000480551, 38.284392000884566 ], [ -122.02467699987524, 38.285096000730107 ], [ -122.024677000261804, 38.285212000685448 ], [ -122.024804999542894, 38.285720000265087 ], [ -122.024756999932976, 38.285960000455781 ], [ -122.024695999659968, 38.286863000433513 ], [ -122.024676999552796, 38.287144000890159 ], [ -122.024676999915769, 38.287426001034426 ], [ -122.024677000504113, 38.28858600091273 ], [ -122.024677000160281, 38.289012000709413 ], [ -122.024679000281367, 38.289172001008119 ], [ -122.024692999435715, 38.290280000588638 ], [ -122.024853000252961, 38.292856000637997 ], [ -122.02478799938973, 38.293624000508487 ], [ -122.02420999984659, 38.293623000683297 ], [ -122.023804000177236, 38.293623000500972 ], [ -122.022731000070209, 38.293668000392159 ], [ -122.021678999514535, 38.293647000263334 ], [ -122.020691999643915, 38.293459000387593 ], [ -122.020508000268805, 38.293405000891298 ], [ -122.020378000091199, 38.294118000308409 ], [ -122.019738000495678, 38.294621000685154 ], [ -122.018998000522728, 38.295240000880803 ], [ -122.018872000414419, 38.295649001077059 ], [ -122.018716000478662, 38.296214000738502 ], [ -122.018630999928021, 38.296919001028755 ], [ -122.018512000207124, 38.297465000424218 ], [ -122.018060000347475, 38.298337000336808 ], [ -122.017611999392813, 38.299023000733797 ], [ -122.017471000197347, 38.299225000952873 ], [ -122.01673099992, 38.300231001038817 ], [ -122.016731000384155, 38.301159000454547 ], [ -122.016771000225617, 38.301636000594115 ], [ -122.016030999870381, 38.301627000704435 ], [ -122.014877000481775, 38.301612001043807 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1250, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.084005999424122, 38.238333001039557 ], [ -122.084091999767125, 38.239812001052051 ], [ -122.084178000327697, 38.24291400067672 ], [ -122.084277999682968, 38.243514000376486 ], [ -122.078626999766684, 38.245947000944327 ], [ -122.077077999602295, 38.246614000947645 ], [ -122.076378000129125, 38.246814000822233 ], [ -122.072178000322154, 38.248114000843046 ], [ -122.069677999864084, 38.249714001086858 ], [ -122.068878000422558, 38.24961400099987 ], [ -122.068278000156454, 38.249614000780284 ], [ -122.067978000035652, 38.249614000421118 ], [ -122.066178000081266, 38.249413000334911 ], [ -122.065677999748431, 38.249313000533206 ], [ -122.065177999781369, 38.249313001056883 ], [ -122.063478000045322, 38.249313000778308 ], [ -122.061877000496153, 38.249313000397777 ], [ -122.06078899946084, 38.249313000733643 ], [ -122.060476999863354, 38.249313000518015 ], [ -122.05697700025604, 38.249213001054329 ], [ -122.05597700012224, 38.249313000296148 ], [ -122.055476999943025, 38.249213000350309 ], [ -122.054976999730087, 38.249313000335178 ], [ -122.052276999701249, 38.249613000364462 ], [ -122.049677000338477, 38.249713000728711 ], [ -122.049676999783784, 38.24811300099006 ], [ -122.049676999394308, 38.247513000301019 ], [ -122.049676999544232, 38.247013001036791 ], [ -122.049676999832812, 38.246713001099444 ], [ -122.049676999411943, 38.24581300028602 ], [ -122.049677000179727, 38.245113000570534 ], [ -122.049677000303973, 38.244813000537135 ], [ -122.049776999604518, 38.24401300051089 ], [ -122.049776999912439, 38.243714000779917 ], [ -122.049876999871188, 38.24281400076741 ], [ -122.050177000335538, 38.241514000815855 ], [ -122.05025900026564, 38.241101000991769 ], [ -122.049755000038999, 38.24122200111313 ], [ -122.045296000283287, 38.242364000854813 ], [ -122.044448999560629, 38.242573000779771 ], [ -122.044325000122811, 38.242604000713129 ], [ -122.043226999993522, 38.242878000317816 ], [ -122.041626000520651, 38.243277000262552 ], [ -122.041387999725899, 38.243340000322974 ], [ -122.041251000317516, 38.243387001058387 ], [ -122.042415999589025, 38.241633000658602 ], [ -122.043933000202301, 38.238740000366704 ], [ -122.044493000448995, 38.237621000883223 ], [ -122.045276999692874, 38.235814000480111 ], [ -122.045376999404994, 38.235640000757805 ], [ -122.045726999450082, 38.235027000924596 ], [ -122.046077000374183, 38.234414000863822 ], [ -122.051977000473187, 38.223614000733718 ], [ -122.056053000030943, 38.21607400038878 ], [ -122.061653000237897, 38.20545100109284 ], [ -122.061829000258001, 38.205211000765424 ], [ -122.068309000049354, 38.192667000648889 ], [ -122.069013000241327, 38.192955000741065 ], [ -122.069439000296384, 38.192981000747309 ], [ -122.069540999450382, 38.192987000252245 ], [ -122.069864000055347, 38.192987001055236 ], [ -122.080452999853335, 38.192987000716698 ], [ -122.080532999707401, 38.194219000343644 ], [ -122.080756999503578, 38.196603000886398 ], [ -122.080980999823879, 38.199547000345362 ], [ -122.080964999661802, 38.200619001038802 ], [ -122.080837000347429, 38.202811000546632 ], [ -122.08086900019606, 38.203099000709436 ], [ -122.080980999534191, 38.203147001117848 ], [ -122.082772999688828, 38.204811000866613 ], [ -122.082980999762853, 38.204939000968523 ], [ -122.083060999669456, 38.205243000963854 ], [ -122.083461000385896, 38.20844300034063 ], [ -122.083509000316099, 38.208987000967284 ], [ -122.083476999666317, 38.211435000971903 ], [ -122.083577999828321, 38.215415000454733 ], [ -122.083477999740651, 38.22631400071851 ], [ -122.083577999860751, 38.227214000547704 ], [ -122.083578000509007, 38.227714000801143 ], [ -122.083677999725325, 38.228214000385726 ], [ -122.083578000100189, 38.228814000476916 ], [ -122.083701999664228, 38.230890000494362 ], [ -122.08378300045635, 38.232079000872496 ], [ -122.083909999938356, 38.23396200096979 ], [ -122.083879999945736, 38.235805000595825 ], [ -122.084005999424122, 38.238333001039557 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1262, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.041626000520651, 38.243277000262552 ], [ -122.043226999993522, 38.242878000317816 ], [ -122.044325000122811, 38.242604000713129 ], [ -122.044448999560629, 38.242573000779771 ], [ -122.045296000283287, 38.242364000854813 ], [ -122.049755000038999, 38.24122200111313 ], [ -122.05025900026564, 38.241101000991769 ], [ -122.050177000335538, 38.241514000815855 ], [ -122.049876999871188, 38.24281400076741 ], [ -122.049776999912439, 38.243714000779917 ], [ -122.049776999604518, 38.24401300051089 ], [ -122.049677000303973, 38.244813000537135 ], [ -122.049677000179727, 38.245113000570534 ], [ -122.049676999411943, 38.24581300028602 ], [ -122.049676999832812, 38.246713001099444 ], [ -122.049676999544232, 38.247013001036791 ], [ -122.049676999394308, 38.247513000301019 ], [ -122.049676999783784, 38.24811300099006 ], [ -122.049677000338477, 38.249713000728711 ], [ -122.049677000359154, 38.250313000294192 ], [ -122.049776999543752, 38.25151300063591 ], [ -122.048377000134124, 38.25151300036088 ], [ -122.047077000306189, 38.251513000592638 ], [ -122.045677000383648, 38.251413000961684 ], [ -122.044476999599254, 38.251413000621753 ], [ -122.043377000381369, 38.251513000740388 ], [ -122.043076999812214, 38.251513000650981 ], [ -122.041542999542628, 38.251421000910184 ], [ -122.041016999568399, 38.251429000698934 ], [ -122.040377000312688, 38.251413000978879 ], [ -122.038878000482796, 38.251473000297125 ], [ -122.038963999813788, 38.250289000288802 ], [ -122.038876999999488, 38.249213000526879 ], [ -122.038976999971908, 38.248113000455938 ], [ -122.038976999914013, 38.247013000411492 ], [ -122.039071999401514, 38.245873000492089 ], [ -122.039594999500522, 38.245638001008956 ], [ -122.03966599966769, 38.245580000790333 ], [ -122.040184999626007, 38.244935000720396 ], [ -122.040376999541721, 38.244713001023179 ], [ -122.040377000168249, 38.244213000948385 ], [ -122.040376999833086, 38.244073000519279 ], [ -122.04037699950959, 38.24382800043859 ], [ -122.040376999430023, 38.243739001094987 ], [ -122.040377000145526, 38.24361300025673 ], [ -122.040877000060433, 38.243513001017803 ], [ -122.041251000317516, 38.243387001058387 ], [ -122.041387999725899, 38.243340000322974 ], [ -122.041626000520651, 38.243277000262552 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1264, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.044976999631132, 38.26321300105694 ], [ -122.044976999773084, 38.263813000887168 ], [ -122.045090999690359, 38.264449000351227 ], [ -122.045111000131243, 38.265357000572024 ], [ -122.045081000253816, 38.266158001087661 ], [ -122.045020999809879, 38.267807000350174 ], [ -122.045050999853231, 38.268442000317137 ], [ -122.045080999483687, 38.270421000822132 ], [ -122.044977000185114, 38.27231300045495 ], [ -122.043877000080357, 38.272413000631119 ], [ -122.043125000369784, 38.272441000973835 ], [ -122.043111999592128, 38.272594000256582 ], [ -122.043093999455579, 38.272793001111175 ], [ -122.042473000479859, 38.272755000534666 ], [ -122.041777000489418, 38.272713000981014 ], [ -122.036777000466998, 38.27281300031747 ], [ -122.034577000485655, 38.272713001124444 ], [ -122.033977000277943, 38.272813000303614 ], [ -122.034077000217223, 38.272313000577888 ], [ -122.034076999465398, 38.272013000412059 ], [ -122.034077000468869, 38.271113000752933 ], [ -122.034141999667952, 38.26861700054252 ], [ -122.034176999733845, 38.265513000867379 ], [ -122.034177000398728, 38.264113001113252 ], [ -122.034276999849041, 38.261813001122597 ], [ -122.034176999957964, 38.260513000491081 ], [ -122.034277000422662, 38.260013000387183 ], [ -122.034176999475505, 38.258213000667702 ], [ -122.035276999830486, 38.258113000988352 ], [ -122.03797700002464, 38.258113000772305 ], [ -122.038376999502034, 38.258113000857989 ], [ -122.038976999891645, 38.258113000241281 ], [ -122.040376999503025, 38.258213001005466 ], [ -122.041576999821118, 38.25821300058228 ], [ -122.042177000012643, 38.258213000724524 ], [ -122.042615999958912, 38.258158000396939 ], [ -122.042977000019931, 38.258113000297541 ], [ -122.043777000396261, 38.258113001068125 ], [ -122.044576999686115, 38.258113000880407 ], [ -122.044977000487648, 38.258113001003174 ], [ -122.045076999433448, 38.259513000538163 ], [ -122.044977000317928, 38.260813000246898 ], [ -122.044976999555431, 38.261213000593287 ], [ -122.044976999889499, 38.261613000922026 ], [ -122.045076999949273, 38.262713000628231 ], [ -122.044976999631132, 38.26321300105694 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1259, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.024876999410395, 38.262313000392915 ], [ -122.024877000404146, 38.261613001093934 ], [ -122.024876999806153, 38.258113000629606 ], [ -122.026877000059372, 38.258113000797401 ], [ -122.027676999445021, 38.258213000744817 ], [ -122.029077000208162, 38.258113000620845 ], [ -122.029976999828705, 38.258213000298753 ], [ -122.030576999540756, 38.25821300028614 ], [ -122.0318769995704, 38.258213000551251 ], [ -122.032477000501984, 38.258213000744355 ], [ -122.034176999475505, 38.258213000667702 ], [ -122.034277000422662, 38.260013000387183 ], [ -122.034176999957964, 38.260513000491081 ], [ -122.034276999849041, 38.261813001122597 ], [ -122.034177000398728, 38.264113001113252 ], [ -122.034176999733845, 38.265513000867379 ], [ -122.034141999667952, 38.26861700054252 ], [ -122.034077000468869, 38.271113000752933 ], [ -122.034076999465398, 38.272013000412059 ], [ -122.034077000217223, 38.272313000577888 ], [ -122.033977000277943, 38.272813000303614 ], [ -122.033277000310449, 38.272813000671803 ], [ -122.032676999774552, 38.272713000327926 ], [ -122.030877000277499, 38.272713000838721 ], [ -122.027776999527788, 38.27271200023894 ], [ -122.026277000259157, 38.272612000464626 ], [ -122.024676999856482, 38.272712000982281 ], [ -122.024777000285951, 38.271912000520565 ], [ -122.024776999957183, 38.27151200053364 ], [ -122.024776999679531, 38.27121200052575 ], [ -122.024777000518327, 38.270912000512219 ], [ -122.024777000169365, 38.270313000775182 ], [ -122.024777000374868, 38.269613000601389 ], [ -122.024877000187388, 38.269113000638946 ], [ -122.024777000314501, 38.267613000552629 ], [ -122.02487699985376, 38.266313000671595 ], [ -122.024776999400558, 38.265313000434986 ], [ -122.024776999533586, 38.263113000489042 ], [ -122.024876999410395, 38.262313000392915 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1258, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.024876999806153, 38.258113000629606 ], [ -122.024877000404146, 38.261613001093934 ], [ -122.024876999410395, 38.262313000392915 ], [ -122.024776999533586, 38.263113000489042 ], [ -122.024776999400558, 38.265313000434986 ], [ -122.02487699985376, 38.266313000671595 ], [ -122.024777000314501, 38.267613000552629 ], [ -122.024877000187388, 38.269113000638946 ], [ -122.024777000374868, 38.269613000601389 ], [ -122.024777000169365, 38.270313000775182 ], [ -122.024777000518327, 38.270912000512219 ], [ -122.024776999679531, 38.27121200052575 ], [ -122.024776999957183, 38.27151200053364 ], [ -122.024777000285951, 38.271912000520565 ], [ -122.024676999856482, 38.272712000982281 ], [ -122.023176999460844, 38.272612000329225 ], [ -122.020777000151895, 38.27261200027877 ], [ -122.017876999757505, 38.272612000665816 ], [ -122.016076999595029, 38.272712001091463 ], [ -122.016277000382885, 38.27191200069236 ], [ -122.017076999431737, 38.268112000692227 ], [ -122.018777000043116, 38.265313000799452 ], [ -122.019877000045923, 38.265313000366859 ], [ -122.019876999895075, 38.263213000376645 ], [ -122.019836999602106, 38.263014000737272 ], [ -122.019777000004552, 38.262713000818607 ], [ -122.019834999449486, 38.262387000880189 ], [ -122.019989000284269, 38.261529000456214 ], [ -122.019947000002588, 38.260352000349442 ], [ -122.019924999512313, 38.259737000519173 ], [ -122.01988499948564, 38.258384000541078 ], [ -122.019877000387353, 38.258113001095531 ], [ -122.02107699984802, 38.258233000426486 ], [ -122.02127699939517, 38.258213000754502 ], [ -122.021876999944666, 38.258113000886127 ], [ -122.022977000166492, 38.258113000570035 ], [ -122.02407699998983, 38.258213000966649 ], [ -122.024876999806153, 38.258113000629606 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1257, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.019989000284269, 38.261529000456214 ], [ -122.019834999449486, 38.262387000880189 ], [ -122.019777000004552, 38.262713000818607 ], [ -122.019836999602106, 38.263014000737272 ], [ -122.019876999895075, 38.263213000376645 ], [ -122.019877000045923, 38.265313000366859 ], [ -122.018777000043116, 38.265313000799452 ], [ -122.017076999431737, 38.268112000692227 ], [ -122.016277000382885, 38.27191200069236 ], [ -122.016076999595029, 38.272712001091463 ], [ -122.014367000501082, 38.272691000841093 ], [ -122.010068000301217, 38.272638000299608 ], [ -122.007976000475949, 38.272612000597519 ], [ -122.0062760004149, 38.272612000443864 ], [ -122.005576000314392, 38.27261200042819 ], [ -122.004865999980581, 38.272601000392228 ], [ -122.003963999660385, 38.272587000897232 ], [ -121.998976000156929, 38.272512001098548 ], [ -121.994852000476513, 38.271861000725778 ], [ -121.994529000105715, 38.271810000951305 ], [ -121.99327599980866, 38.271612000786369 ], [ -121.997476000302342, 38.269312000294015 ], [ -121.997899999551393, 38.269081000691997 ], [ -121.9987699999364, 38.268606000682212 ], [ -121.999482000374698, 38.268218000362609 ], [ -122.000641999812814, 38.267585000846502 ], [ -122.001497000283862, 38.267119000795716 ], [ -122.002246999463125, 38.266709000794229 ], [ -122.002883000453267, 38.266362000981132 ], [ -122.003365999723343, 38.266099001047458 ], [ -122.004003999538739, 38.265751000878367 ], [ -122.00517599992061, 38.265112000645921 ], [ -122.011276000293734, 38.26151300092274 ], [ -122.011913999812734, 38.261185001056191 ], [ -122.014775999543573, 38.259713000696237 ], [ -122.016371999709321, 38.258905000731438 ], [ -122.017285000354306, 38.258394000902435 ], [ -122.017587000500413, 38.258225000718625 ], [ -122.017858999590118, 38.258073000677655 ], [ -122.019576999431948, 38.257113001018851 ], [ -122.019877000387353, 38.258113001095531 ], [ -122.01988499948564, 38.258384000541078 ], [ -122.019924999512313, 38.259737000519173 ], [ -122.019947000002588, 38.260352000349442 ], [ -122.019989000284269, 38.261529000456214 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1255, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.010309999858151, 38.243513000981565 ], [ -122.01407600024649, 38.24351300096302 ], [ -122.014737000078895, 38.243535000507983 ], [ -122.020076000326412, 38.243713001073104 ], [ -122.020175999525634, 38.246213000878889 ], [ -122.020236000298112, 38.247595000525443 ], [ -122.020275999646827, 38.248513000712727 ], [ -122.020126000356072, 38.250662000999071 ], [ -122.020019000170549, 38.252197000360439 ], [ -122.019975999417596, 38.252813000976914 ], [ -122.019796000379884, 38.253225000721635 ], [ -122.016953999867752, 38.253243000846659 ], [ -122.014755999494369, 38.253257000748143 ], [ -122.01217599959736, 38.253181001093196 ], [ -122.009844000384916, 38.253113000980647 ], [ -122.006099999946841, 38.253065000419284 ], [ -122.004944000439963, 38.253051000248675 ], [ -122.003599000267045, 38.253035000979558 ], [ -122.002044000104888, 38.253131001052822 ], [ -122.001028000211889, 38.253193000852193 ], [ -122.001492000282113, 38.252873000617058 ], [ -122.001667999545134, 38.252489000813299 ], [ -122.001972000478872, 38.252009001114629 ], [ -122.002467999431346, 38.251641000648043 ], [ -122.003332000414687, 38.251177000888568 ], [ -122.00416399983483, 38.250985000384873 ], [ -122.004980000269526, 38.250889000375047 ], [ -122.005620000298009, 38.250825000836691 ], [ -122.005795999908486, 38.250553000832895 ], [ -122.006052000056442, 38.249897000732773 ], [ -122.006301000208637, 38.249323000360839 ], [ -122.006652000163086, 38.24869800035092 ], [ -122.006821999450068, 38.248366000531114 ], [ -122.006860999933437, 38.248255001109094 ], [ -122.006971999765554, 38.247943000855862 ], [ -122.007278000062556, 38.247526000765404 ], [ -122.007434000037961, 38.24731400065393 ], [ -122.007742999969111, 38.246834000524025 ], [ -122.008217000108772, 38.246221000546655 ], [ -122.008666999559807, 38.245484000568943 ], [ -122.008946000364872, 38.245094000854365 ], [ -122.009163999607921, 38.244683000660373 ], [ -122.009203999450222, 38.244361000616315 ], [ -122.00927300011459, 38.244265000244184 ], [ -122.00996499949936, 38.243740000497112 ], [ -122.010309999858151, 38.243513000981565 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1253, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.988087000351783, 38.25274900063922 ], [ -121.988076000150855, 38.253113000538008 ], [ -121.987875999781991, 38.262412000527853 ], [ -121.987827000498768, 38.263580000462866 ], [ -121.987775999937668, 38.264812000769084 ], [ -121.987797999662831, 38.265023000335162 ], [ -121.987775999481755, 38.267312000926609 ], [ -121.98777600039729, 38.268712000753183 ], [ -121.987776000374012, 38.270212000906703 ], [ -121.987775999659817, 38.271712000681759 ], [ -121.9831759996475, 38.272612000374522 ], [ -121.976549000149674, 38.27261200090868 ], [ -121.974875000066248, 38.272612000447545 ], [ -121.974875000510195, 38.267312000951414 ], [ -121.975059000102235, 38.264840000873605 ], [ -121.975115999733077, 38.26149200074984 ], [ -121.975175000044942, 38.258013000963203 ], [ -121.973974999556674, 38.258013000762865 ], [ -121.973975000405417, 38.254413000285609 ], [ -121.969275000425483, 38.254413000330061 ], [ -121.969391000095953, 38.250091001058038 ], [ -121.969575000361147, 38.243213000593521 ], [ -121.969941999807205, 38.243219000915403 ], [ -121.971503000394733, 38.243243001057962 ], [ -121.974007999962737, 38.243281000649475 ], [ -121.977920999506239, 38.243341000750469 ], [ -121.978722999772174, 38.243353000920521 ], [ -121.988274999464849, 38.243413001066635 ], [ -121.98824300036901, 38.245801000260528 ], [ -121.988211000375728, 38.248617000734185 ], [ -121.988091999804794, 38.252582000291817 ], [ -121.988087000351783, 38.25274900063922 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1256, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.987775999659817, 38.271712000681759 ], [ -121.987776000374012, 38.270212000906703 ], [ -121.98777600039729, 38.268712000753183 ], [ -121.987775999481755, 38.267312000926609 ], [ -121.987797999662831, 38.265023000335162 ], [ -121.987775999937668, 38.264812000769084 ], [ -121.987827000498768, 38.263580000462866 ], [ -121.987875999781991, 38.262412000527853 ], [ -121.988076000150855, 38.253113000538008 ], [ -121.988344000051029, 38.253118000570083 ], [ -121.990378000229342, 38.253159000683304 ], [ -121.993076000376959, 38.253213001063358 ], [ -121.998175999421932, 38.253313000661784 ], [ -122.001028000211889, 38.253193000852193 ], [ -122.002044000104888, 38.253131001052822 ], [ -122.003599000267045, 38.253035000979558 ], [ -122.004944000439963, 38.253051000248675 ], [ -122.006099999946841, 38.253065000419284 ], [ -122.009844000384916, 38.253113000980647 ], [ -122.01217599959736, 38.253181001093196 ], [ -122.014755999494369, 38.253257000748143 ], [ -122.016953999867752, 38.253243000846659 ], [ -122.019796000379884, 38.253225000721635 ], [ -122.019775999498592, 38.25351300052624 ], [ -122.019776000411184, 38.254046000893254 ], [ -122.019777000394413, 38.256613000919899 ], [ -122.019276999513281, 38.256913000835915 ], [ -122.019576999431948, 38.257113001018851 ], [ -122.017858999590118, 38.258073000677655 ], [ -122.017587000500413, 38.258225000718625 ], [ -122.017285000354306, 38.258394000902435 ], [ -122.016371999709321, 38.258905000731438 ], [ -122.014775999543573, 38.259713000696237 ], [ -122.011913999812734, 38.261185001056191 ], [ -122.011276000293734, 38.26151300092274 ], [ -122.00517599992061, 38.265112000645921 ], [ -122.004003999538739, 38.265751000878367 ], [ -122.003365999723343, 38.266099001047458 ], [ -122.002883000453267, 38.266362000981132 ], [ -122.002246999463125, 38.266709000794229 ], [ -122.001497000283862, 38.267119000795716 ], [ -122.000641999812814, 38.267585000846502 ], [ -121.999482000374698, 38.268218000362609 ], [ -121.9987699999364, 38.268606000682212 ], [ -121.997899999551393, 38.269081000691997 ], [ -121.997476000302342, 38.269312000294015 ], [ -121.99327599980866, 38.271612000786369 ], [ -121.987775999659817, 38.271712000681759 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1280, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.936875999916523, 38.385909000353053 ], [ -121.935019999468778, 38.387301000313926 ], [ -121.934076000399003, 38.388009000625487 ], [ -121.933668999490024, 38.388358000888097 ], [ -121.933676000249392, 38.388009000528179 ], [ -121.933721999657507, 38.386936001061798 ], [ -121.933775999796239, 38.385609000376697 ], [ -121.933775999892845, 38.384929000371393 ], [ -121.933775999566009, 38.381570000869004 ], [ -121.933776000481885, 38.380510000604545 ], [ -121.933777999577117, 38.379774000802101 ], [ -121.933780000377979, 38.37912600086775 ], [ -121.9337760003081, 38.375610000450486 ], [ -121.933775999801526, 38.374910000872902 ], [ -121.933776000294301, 38.374210000322272 ], [ -121.93379599941953, 38.373186000511808 ], [ -121.933876000439056, 38.369210001108371 ], [ -121.9338980002683, 38.366435000367609 ], [ -121.933903999971776, 38.363617000888105 ], [ -121.933906999696092, 38.361338001105914 ], [ -121.933974999641961, 38.358710000358407 ], [ -121.933974999834959, 38.358110000335273 ], [ -121.933975000188582, 38.353910000302527 ], [ -121.933954999531807, 38.353286001054208 ], [ -121.93400300048377, 38.352374000964062 ], [ -121.933974999742389, 38.351610000460816 ], [ -121.933925000210721, 38.351511000573566 ], [ -121.933875000380695, 38.351410000899314 ], [ -121.933946999929788, 38.351412001049475 ], [ -121.937575000339891, 38.351510000887082 ], [ -121.941975999609497, 38.351610000804385 ], [ -121.942876000257414, 38.351610000725366 ], [ -121.948642999823818, 38.351685001040387 ], [ -121.948708000384826, 38.351686001131007 ], [ -121.953076000135951, 38.351710000397517 ], [ -121.95697599992026, 38.351810000464994 ], [ -121.958675999752941, 38.351810000572762 ], [ -121.958675999796426, 38.352010000563773 ], [ -121.958676000421264, 38.352710000484393 ], [ -121.959676000184075, 38.355410000771592 ], [ -121.959943999629104, 38.357979000531984 ], [ -121.960194999398468, 38.360382000970425 ], [ -121.960376000381828, 38.362110000679124 ], [ -121.962776000509763, 38.364010000403766 ], [ -121.963677000067122, 38.364710000449122 ], [ -121.964077000199623, 38.364910000734646 ], [ -121.960775999946932, 38.367410000911498 ], [ -121.958576000154153, 38.369210000530302 ], [ -121.957776000158674, 38.369910000303058 ], [ -121.955975999725922, 38.371310000783467 ], [ -121.955347999531369, 38.371706000896438 ], [ -121.954076000118022, 38.372510000749436 ], [ -121.953595999452403, 38.372887000458334 ], [ -121.953263999709193, 38.373155000531121 ], [ -121.952955999719762, 38.373386000843112 ], [ -121.951675999822484, 38.374310000745346 ], [ -121.950909999897561, 38.37491000095217 ], [ -121.936875999916523, 38.385909000353053 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1329, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.660496999632613, 38.23871600089349 ], [ -122.66054699952457, 38.238526000779046 ], [ -122.66070399960789, 38.237931000913107 ], [ -122.660902000378442, 38.23698500042282 ], [ -122.661039999533145, 38.235818000997803 ], [ -122.661131000439141, 38.235116000698277 ], [ -122.661096999678961, 38.234717001100535 ], [ -122.660852000429287, 38.234706000257546 ], [ -122.659932999838645, 38.234666000629424 ], [ -122.659825999576867, 38.234661000462033 ], [ -122.658832000464756, 38.234617000393108 ], [ -122.659093999485975, 38.230784000863039 ], [ -122.659096000326571, 38.230782000490045 ], [ -122.659411000233945, 38.230810001126166 ], [ -122.662297000525683, 38.228417000740514 ], [ -122.663697000240774, 38.227417001051613 ], [ -122.667281000104893, 38.22738800038406 ], [ -122.67588600013589, 38.227319000261247 ], [ -122.676197999888913, 38.227317000774093 ], [ -122.677298000462073, 38.227317000933525 ], [ -122.677566000118134, 38.227899000548504 ], [ -122.67786699968255, 38.22856200082385 ], [ -122.677901999943288, 38.228639000661381 ], [ -122.678008000414607, 38.229051000271703 ], [ -122.678098000314023, 38.22911700062383 ], [ -122.678085000258321, 38.229798000965381 ], [ -122.677998000277782, 38.230117000855323 ], [ -122.677962999454309, 38.230866000491027 ], [ -122.677825000319103, 38.231973000673932 ], [ -122.677797999665856, 38.232817000297821 ], [ -122.677697999664602, 38.233317001052143 ], [ -122.677797999449126, 38.23541700112682 ], [ -122.677098000270504, 38.235417000728958 ], [ -122.675098000226413, 38.235417000786413 ], [ -122.674490999817763, 38.235417000700039 ], [ -122.673125999647311, 38.235417000581798 ], [ -122.671696999983865, 38.235417000263396 ], [ -122.67032099965914, 38.235417000742892 ], [ -122.669396999945107, 38.235417000962435 ], [ -122.669767999408876, 38.235604000331612 ], [ -122.670197000176088, 38.236017000396579 ], [ -122.670454000104385, 38.236154000296061 ], [ -122.67152199952838, 38.237023000799169 ], [ -122.673919000433315, 38.238839000715068 ], [ -122.674084000337075, 38.238967000278755 ], [ -122.675698999574593, 38.24021800040255 ], [ -122.675781000209184, 38.240281000791263 ], [ -122.676666000092155, 38.240998000645064 ], [ -122.677184000453892, 38.241334001006187 ], [ -122.678198000502022, 38.24181700108803 ], [ -122.678698000322072, 38.242017000921493 ], [ -122.681198000176948, 38.243217000393109 ], [ -122.682497999755711, 38.24381600054577 ], [ -122.683571999847487, 38.244306001053076 ], [ -122.684366999784956, 38.244668000658343 ], [ -122.690397999557973, 38.247416000737687 ], [ -122.691698000091847, 38.248016001030329 ], [ -122.692351999452939, 38.248352000322271 ], [ -122.692792000023758, 38.248578000954403 ], [ -122.695398000485483, 38.24991600099289 ], [ -122.69956499993404, 38.252237000878971 ], [ -122.700846999708602, 38.252951001097678 ], [ -122.703298999979211, 38.254316000777074 ], [ -122.703299000249345, 38.256116001034641 ], [ -122.701098000146075, 38.256216000425432 ], [ -122.700974999463696, 38.259533000501527 ], [ -122.700898000344225, 38.261616000746578 ], [ -122.700897999555252, 38.262716000393489 ], [ -122.700797999396286, 38.264116000586732 ], [ -122.700798000067792, 38.266416001010434 ], [ -122.700697999479758, 38.269816000669465 ], [ -122.700667999950866, 38.270370000909232 ], [ -122.70069799943937, 38.270716000692644 ], [ -122.702398000314034, 38.274016001007446 ], [ -122.703712000036973, 38.276606000884712 ], [ -122.704283999777886, 38.277733001009025 ], [ -122.704436999636542, 38.277962000694089 ], [ -122.704548000321282, 38.277997000698093 ], [ -122.704681000453235, 38.278038000579038 ], [ -122.705291000405083, 38.278053000731923 ], [ -122.705698000124542, 38.278116000891416 ], [ -122.705676000323933, 38.279346000933387 ], [ -122.705638000488435, 38.281404001020348 ], [ -122.705628000437358, 38.281959000669353 ], [ -122.705597999495112, 38.283616000755977 ], [ -122.700597999790332, 38.28381600083253 ], [ -122.696798000475397, 38.284016000243341 ], [ -122.687698000447952, 38.284415000954169 ], [ -122.685499999572556, 38.282363001078167 ], [ -122.684141999807835, 38.281067000579156 ], [ -122.682891000347027, 38.279861000318952 ], [ -122.681797999471812, 38.278816000574494 ], [ -122.681023000088672, 38.278112000256904 ], [ -122.680698000362469, 38.27781600032278 ], [ -122.679964000130795, 38.277105000885356 ], [ -122.679565000140599, 38.276718000972707 ], [ -122.677098000450655, 38.274316000797725 ], [ -122.676897999741314, 38.274116000327332 ], [ -122.675698000199404, 38.272616001056861 ], [ -122.673498000332984, 38.269816000357395 ], [ -122.672835000437814, 38.269457001049368 ], [ -122.672360999677778, 38.269211000355419 ], [ -122.671846999547782, 38.268986000258202 ], [ -122.671274000500574, 38.268834001127857 ], [ -122.670819999450941, 38.26876000059638 ], [ -122.670628000384639, 38.268747000299399 ], [ -122.670497000251217, 38.26943600030512 ], [ -122.670496999531224, 38.269716000913746 ], [ -122.670397000384355, 38.270116000811051 ], [ -122.670296999583258, 38.270616000918842 ], [ -122.670296999700241, 38.271016000417625 ], [ -122.669997000237842, 38.272116000469794 ], [ -122.669697000440109, 38.271916001117532 ], [ -122.66849699971867, 38.270916000766462 ], [ -122.667860000077667, 38.270470001061035 ], [ -122.66686800048663, 38.26973700030517 ], [ -122.665159999731429, 38.268112000346335 ], [ -122.663755999441918, 38.266876000461927 ], [ -122.66264199978491, 38.265984000250867 ], [ -122.6613450004307, 38.265144000390151 ], [ -122.659925999960763, 38.264351000287668 ], [ -122.65929800025134, 38.263946000975118 ], [ -122.659096999653954, 38.263816001039842 ], [ -122.65919300001768, 38.263687000706788 ], [ -122.659397000516378, 38.263516000332523 ], [ -122.659496999523171, 38.26331600039331 ], [ -122.659758000497789, 38.262955000995973 ], [ -122.660184999678449, 38.262466001097721 ], [ -122.6604289996408, 38.262085000930377 ], [ -122.660470000351424, 38.261971001098985 ], [ -122.660581999757525, 38.261658000617622 ], [ -122.660506000177222, 38.261337000259466 ], [ -122.660496999388272, 38.261216000857203 ], [ -122.660444999851308, 38.261063000865285 ], [ -122.660429000257338, 38.260666000698514 ], [ -122.660444999886039, 38.260132000925651 ], [ -122.660496999438905, 38.259716000897662 ], [ -122.660077999660501, 38.259781000704898 ], [ -122.659666999600176, 38.259620000454454 ], [ -122.659300000281831, 38.259476000554102 ], [ -122.658582999728807, 38.259247000892621 ], [ -122.657942000190388, 38.259010000841599 ], [ -122.657178999650029, 38.258667000442529 ], [ -122.656519000239584, 38.258398000536495 ], [ -122.656430999562161, 38.258362000395188 ], [ -122.655816000511663, 38.258112000371952 ], [ -122.655698999826129, 38.258064001044715 ], [ -122.655252000142497, 38.25784900047249 ], [ -122.654920999972077, 38.257690000341846 ], [ -122.654597000128788, 38.257416000993445 ], [ -122.654699999976344, 38.257313000525109 ], [ -122.654797000183947, 38.257216000840288 ], [ -122.65534799976902, 38.256859000822757 ], [ -122.655729999955099, 38.256561001029333 ], [ -122.656125999411216, 38.256264000821893 ], [ -122.656462000417022, 38.255890000452624 ], [ -122.656631999642826, 38.255717000756064 ], [ -122.656980999778128, 38.255363000411258 ], [ -122.657361999618416, 38.254913000579329 ], [ -122.657440000305314, 38.254810000360763 ], [ -122.657790000284436, 38.254349000799557 ], [ -122.65795700012859, 38.2539820005371 ], [ -122.657992999814411, 38.253887000448159 ], [ -122.658096999884265, 38.253616001046041 ], [ -122.658213000427608, 38.253381000760648 ], [ -122.658339000485071, 38.253128000911303 ], [ -122.658386999613896, 38.252994000796036 ], [ -122.658583000068418, 38.252449001081871 ], [ -122.658627000533002, 38.252346000240905 ], [ -122.658833000323526, 38.251865000578142 ], [ -122.658888999870626, 38.251735000688626 ], [ -122.658949000478913, 38.251594000954199 ], [ -122.659147999513678, 38.251110000799649 ], [ -122.659285000309552, 38.250778000464123 ], [ -122.659412999573192, 38.250423001019783 ], [ -122.659478000516287, 38.250245000344243 ], [ -122.659596999936738, 38.249916000784332 ], [ -122.659717000297704, 38.249314000677906 ], [ -122.659936000315767, 38.248221000755215 ], [ -122.659960999484625, 38.248097001068757 ], [ -122.660157000164816, 38.247118000341509 ], [ -122.660197000156657, 38.246916000421699 ], [ -122.660290000364554, 38.24673000055423 ], [ -122.660396999620545, 38.246516000575298 ], [ -122.6589969997422, 38.246216000913471 ], [ -122.658496999857704, 38.246116000966396 ], [ -122.657644000294084, 38.246031001096732 ], [ -122.657497000099951, 38.246016000808908 ], [ -122.657297000286817, 38.246016000980447 ], [ -122.655896999936175, 38.24591600093197 ], [ -122.65629699946517, 38.244716000817498 ], [ -122.656415999754472, 38.24455300065582 ], [ -122.656676000312473, 38.244377000538229 ], [ -122.6567969994599, 38.244316001033475 ], [ -122.656920000212551, 38.244240000563181 ], [ -122.657164000141691, 38.244141000324277 ], [ -122.657285999978583, 38.244049000280526 ], [ -122.657453999722179, 38.243835000756739 ], [ -122.65789700019323, 38.241716000358849 ], [ -122.658551000394283, 38.241831000773253 ], [ -122.658808000237158, 38.241876000399202 ], [ -122.659596999486538, 38.242016000471928 ], [ -122.659642999636006, 38.24181600071357 ], [ -122.659685999708515, 38.241630000345623 ], [ -122.660058999674774, 38.240014000456831 ], [ -122.660196999482253, 38.239416001116503 ], [ -122.660297000281247, 38.239316000455723 ], [ -122.66039699980081, 38.239016000725144 ], [ -122.660496999632613, 38.23871600089349 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1328, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.833727000276099, 38.306316001131698 ], [ -122.827502999464613, 38.306316001054526 ], [ -122.818364000064946, 38.306389000267004 ], [ -122.81682299978408, 38.30742600071315 ], [ -122.816455999528259, 38.307495001098218 ], [ -122.815838000148901, 38.307567000620409 ], [ -122.81566300052809, 38.307587000980412 ], [ -122.815343000017762, 38.307701000423108 ], [ -122.814959999459546, 38.308075000638084 ], [ -122.814502000455619, 38.308416001007593 ], [ -122.813770000469333, 38.309143000955828 ], [ -122.813114000116954, 38.30987500026454 ], [ -122.812518999488447, 38.310515000890561 ], [ -122.812121999578395, 38.31099600064104 ], [ -122.811902000280412, 38.311415000909221 ], [ -122.811800999725875, 38.311637001106945 ], [ -122.811501999596842, 38.312415000244414 ], [ -122.811301999745638, 38.312815000815817 ], [ -122.809298999658637, 38.316321000737361 ], [ -122.807070999480871, 38.318305000613194 ], [ -122.805560999396278, 38.319747000683194 ], [ -122.800128000190313, 38.323439000248541 ], [ -122.799548999877118, 38.323485000939286 ], [ -122.798754999554021, 38.323638000970163 ], [ -122.79748900037545, 38.323653000434234 ], [ -122.796001999841067, 38.323315000445596 ], [ -122.792400999405743, 38.32231500026878 ], [ -122.78800100005715, 38.321415000551461 ], [ -122.782078000461681, 38.321143000525041 ], [ -122.779300999840245, 38.321015000742577 ], [ -122.778600999451712, 38.321015000919651 ], [ -122.769999999673871, 38.321115000269984 ], [ -122.768400000106794, 38.321115000782207 ], [ -122.764599999966023, 38.32121500047085 ], [ -122.762500000420829, 38.321215001030374 ], [ -122.76210000002736, 38.321215000606692 ], [ -122.759000000205887, 38.321215000419137 ], [ -122.756200000276309, 38.32091500078117 ], [ -122.755399999944657, 38.320715000469797 ], [ -122.753200000477221, 38.318915000668035 ], [ -122.75110000002725, 38.317315000497445 ], [ -122.746798999920372, 38.313915000593056 ], [ -122.745799000068317, 38.314115001076587 ], [ -122.737999000302821, 38.314115000250446 ], [ -122.735499000062887, 38.314015000871294 ], [ -122.735398999831276, 38.31241500028321 ], [ -122.735398999405618, 38.312089000244647 ], [ -122.735399000318736, 38.311015000851597 ], [ -122.735066000168317, 38.31079300111773 ], [ -122.734798999486301, 38.310615000399338 ], [ -122.733045000169895, 38.309738000448732 ], [ -122.731107000299332, 38.308769000973307 ], [ -122.730399000400112, 38.308415000878206 ], [ -122.729462999773631, 38.307931000503793 ], [ -122.723657000386325, 38.304928000568708 ], [ -122.712998999984123, 38.299415000986151 ], [ -122.712399000290063, 38.299015000842815 ], [ -122.712097999882829, 38.298915000702841 ], [ -122.709998000128408, 38.29771500105138 ], [ -122.707297999789674, 38.296315000347732 ], [ -122.70396399942392, 38.294280000479496 ], [ -122.70288000047023, 38.293464000986582 ], [ -122.702498000420988, 38.293115000260585 ], [ -122.701155999794153, 38.292174001125566 ], [ -122.700407999651802, 38.291724000242191 ], [ -122.699782999519485, 38.291396000530305 ], [ -122.699217999926731, 38.290938001116089 ], [ -122.698469999890818, 38.290458000781847 ], [ -122.697554999941715, 38.290023000493733 ], [ -122.696365000263995, 38.289405000851701 ], [ -122.694793000183907, 38.288611000791185 ], [ -122.693602999982843, 38.288070000465979 ], [ -122.692626000040107, 38.28752000031978 ], [ -122.691267999662401, 38.286948000993334 ], [ -122.690199999653274, 38.286406000984151 ], [ -122.689284999623681, 38.285880000645285 ], [ -122.688673999741994, 38.285361000768283 ], [ -122.687698000447952, 38.284415000954169 ], [ -122.696798000475397, 38.284016000243341 ], [ -122.700597999790332, 38.28381600083253 ], [ -122.705597999495112, 38.283616000755977 ], [ -122.705628000437358, 38.281959000669353 ], [ -122.705638000488435, 38.281404001020348 ], [ -122.705676000323933, 38.279346000933387 ], [ -122.705698000124542, 38.278116000891416 ], [ -122.705291000405083, 38.278053000731923 ], [ -122.704681000453235, 38.278038000579038 ], [ -122.704548000321282, 38.277997000698093 ], [ -122.704436999636542, 38.277962000694089 ], [ -122.704283999777886, 38.277733001009025 ], [ -122.703712000036973, 38.276606000884712 ], [ -122.702398000314034, 38.274016001007446 ], [ -122.70069799943937, 38.270716000692644 ], [ -122.700667999950866, 38.270370000909232 ], [ -122.700697999479758, 38.269816000669465 ], [ -122.700798000067792, 38.266416001010434 ], [ -122.700797999396286, 38.264116000586732 ], [ -122.700897999555252, 38.262716000393489 ], [ -122.700898000344225, 38.261616000746578 ], [ -122.700974999463696, 38.259533000501527 ], [ -122.701098000146075, 38.256216000425432 ], [ -122.703299000249345, 38.256116001034641 ], [ -122.703298999979211, 38.254316000777074 ], [ -122.700846999708602, 38.252951001097678 ], [ -122.69956499993404, 38.252237000878971 ], [ -122.695398000485483, 38.24991600099289 ], [ -122.692792000023758, 38.248578000954403 ], [ -122.692351999452939, 38.248352000322271 ], [ -122.691698000091847, 38.248016001030329 ], [ -122.690397999557973, 38.247416000737687 ], [ -122.684366999784956, 38.244668000658343 ], [ -122.683571999847487, 38.244306001053076 ], [ -122.682497999755711, 38.24381600054577 ], [ -122.681198000176948, 38.243217000393109 ], [ -122.678698000322072, 38.242017000921493 ], [ -122.678198000502022, 38.24181700108803 ], [ -122.677184000453892, 38.241334001006187 ], [ -122.676666000092155, 38.240998000645064 ], [ -122.675781000209184, 38.240281000791263 ], [ -122.675698999574593, 38.24021800040255 ], [ -122.674084000337075, 38.238967000278755 ], [ -122.673919000433315, 38.238839000715068 ], [ -122.67152199952838, 38.237023000799169 ], [ -122.670454000104385, 38.236154000296061 ], [ -122.670197000176088, 38.236017000396579 ], [ -122.669767999408876, 38.235604000331612 ], [ -122.669396999945107, 38.235417000962435 ], [ -122.67032099965914, 38.235417000742892 ], [ -122.671696999983865, 38.235417000263396 ], [ -122.673125999647311, 38.235417000581798 ], [ -122.674490999817763, 38.235417000700039 ], [ -122.675098000226413, 38.235417000786413 ], [ -122.677098000270504, 38.235417000728958 ], [ -122.677797999449126, 38.23541700112682 ], [ -122.677697999664602, 38.233317001052143 ], [ -122.677797999665856, 38.232817000297821 ], [ -122.677825000319103, 38.231973000673932 ], [ -122.677962999454309, 38.230866000491027 ], [ -122.677998000277782, 38.230117000855323 ], [ -122.678085000258321, 38.229798000965381 ], [ -122.678098000314023, 38.22911700062383 ], [ -122.678008000414607, 38.229051000271703 ], [ -122.677901999943288, 38.228639000661381 ], [ -122.67786699968255, 38.22856200082385 ], [ -122.677566000118134, 38.227899000548504 ], [ -122.677298000462073, 38.227317000933525 ], [ -122.676197999888913, 38.227317000774093 ], [ -122.67588600013589, 38.227319000261247 ], [ -122.667281000104893, 38.22738800038406 ], [ -122.663697000240774, 38.227417001051613 ], [ -122.66411599945431, 38.227150000968564 ], [ -122.664796999435197, 38.226717001010947 ], [ -122.667114999724561, 38.225098000946112 ], [ -122.667613999880956, 38.224749001075786 ], [ -122.669300000105224, 38.223572000948366 ], [ -122.669582999825053, 38.223375000990501 ], [ -122.669876999435587, 38.223170001120153 ], [ -122.670097000280762, 38.223017000293929 ], [ -122.669401000505175, 38.222413000284327 ], [ -122.669080999768283, 38.222054000442107 ], [ -122.669019999659554, 38.221681001103548 ], [ -122.669249000292496, 38.21978100056328 ], [ -122.669278999959374, 38.219148001027285 ], [ -122.669095999757758, 38.218369000264978 ], [ -122.6686999998266, 38.217484000251815 ], [ -122.667737999866588, 38.216287000264948 ], [ -122.666777000449272, 38.215516000350334 ], [ -122.66566300045055, 38.214372000338741 ], [ -122.665189999782214, 38.213807000264389 ], [ -122.66505300045516, 38.213342000655118 ], [ -122.665143999401479, 38.212907000738937 ], [ -122.665397000169023, 38.212417000321253 ], [ -122.667157999582543, 38.210732000350383 ], [ -122.667630999785089, 38.210626001089054 ], [ -122.670392999457931, 38.209802000973959 ], [ -122.671521999403723, 38.209481000402889 ], [ -122.672574999492724, 38.209077000391794 ], [ -122.673276999509923, 38.208703000602135 ], [ -122.673809000225774, 38.208427000836487 ], [ -122.676634000159822, 38.206964000886131 ], [ -122.677213999410228, 38.206742001083455 ], [ -122.677696999573001, 38.206617000979627 ], [ -122.678358000463973, 38.206300000267859 ], [ -122.679096999615069, 38.205917001038721 ], [ -122.679548999596477, 38.205850000738181 ], [ -122.680205000524921, 38.205766000814009 ], [ -122.680631999567353, 38.205750000556314 ], [ -122.681181000453918, 38.205789000251258 ], [ -122.681797999674984, 38.205617000512085 ], [ -122.683497999788344, 38.205517000659903 ], [ -122.683616000440978, 38.205517000573394 ], [ -122.685797999722553, 38.205518000947983 ], [ -122.686675000237656, 38.205538000370339 ], [ -122.687179000302166, 38.205622000292131 ], [ -122.687576000072852, 38.205835001116043 ], [ -122.687957000317326, 38.206201001105789 ], [ -122.688246999919585, 38.206544000637784 ], [ -122.688643999394102, 38.20693300032157 ], [ -122.689207999552124, 38.207330000587923 ], [ -122.689741999793924, 38.207635000759907 ], [ -122.692260000022912, 38.208810000621128 ], [ -122.692779000369171, 38.209016000659325 ], [ -122.69346600011518, 38.209115000396459 ], [ -122.694044999570011, 38.209046001097484 ], [ -122.694625000126479, 38.208756000335562 ], [ -122.69523600046486, 38.208314000307759 ], [ -122.696838000167972, 38.206507001135996 ], [ -122.697250000303569, 38.206011000379696 ], [ -122.697783000507471, 38.205407000394338 ], [ -122.69819200038495, 38.204987000386772 ], [ -122.699223000502158, 38.204142000945261 ], [ -122.70007199950129, 38.203271000310529 ], [ -122.701318999425112, 38.201940000602015 ], [ -122.701841999921157, 38.201320000390837 ], [ -122.702334000170907, 38.200736000972547 ], [ -122.703529999656993, 38.199435001096965 ], [ -122.704297999485405, 38.198518000468034 ], [ -122.704696000148815, 38.198656000400717 ], [ -122.70504700051211, 38.198664000828565 ], [ -122.70548899950407, 38.198504000841645 ], [ -122.705886000505018, 38.198336000474448 ], [ -122.706785999897349, 38.197542001113455 ], [ -122.70692399963788, 38.197207000607357 ], [ -122.707198000028967, 38.196871000792463 ], [ -122.707518999635298, 38.197130001066974 ], [ -122.708114000260849, 38.197191000771731 ], [ -122.7085559995068, 38.197474001106066 ], [ -122.709334999858285, 38.197344000822248 ], [ -122.709792000481301, 38.197565001032252 ], [ -122.710203999776724, 38.197916001042067 ], [ -122.710600999851295, 38.198664000471254 ], [ -122.710417999449561, 38.199099000437769 ], [ -122.710722999456664, 38.199297000437426 ], [ -122.711379000213384, 38.199221000475056 ], [ -122.71148599998881, 38.199701000558214 ], [ -122.711837999575167, 38.199991000747254 ], [ -122.712554999691875, 38.199816000298441 ], [ -122.713088999688509, 38.200045000819621 ], [ -122.712708000496576, 38.200434000486929 ], [ -122.713241999693111, 38.200548000868103 ], [ -122.713729999425553, 38.20056300080865 ], [ -122.714099000008318, 38.200718000391227 ], [ -122.71414200051565, 38.200800000468377 ], [ -122.714280000384974, 38.201311000895664 ], [ -122.714187999510472, 38.201548000260978 ], [ -122.714416999869201, 38.202028000640759 ], [ -122.714782999408527, 38.202631000715236 ], [ -122.714783000418265, 38.203165000398393 ], [ -122.71501199964807, 38.203463000748542 ], [ -122.715799000412233, 38.203918000543773 ], [ -122.717972000470922, 38.205126000979519 ], [ -122.720398000047481, 38.206263000555573 ], [ -122.721863000360329, 38.206858000709069 ], [ -122.723464999648471, 38.207148000480451 ], [ -122.724091000189702, 38.207136000472047 ], [ -122.725099000010545, 38.207118000319106 ], [ -122.73370700051008, 38.207043000843072 ], [ -122.736599000455385, 38.20701800083436 ], [ -122.739899999547788, 38.207018000900035 ], [ -122.746299999630523, 38.211418000859375 ], [ -122.749570000452223, 38.213623000637739 ], [ -122.7505999999713, 38.214318000746715 ], [ -122.751099999395237, 38.214618000994186 ], [ -122.751100000410943, 38.214557000453318 ], [ -122.767221000143124, 38.22550300087881 ], [ -122.773371999623137, 38.229681000937013 ], [ -122.784439000500996, 38.237198000742254 ], [ -122.787003999397001, 38.238939000311284 ], [ -122.791372999617494, 38.241906000936474 ], [ -122.791760000157311, 38.242169001032856 ], [ -122.792272999726478, 38.242517000925034 ], [ -122.793800000396146, 38.243554001107924 ], [ -122.800924999425533, 38.248393000591307 ], [ -122.80293500012047, 38.24991700061863 ], [ -122.809978999409296, 38.254762000376282 ], [ -122.81180300006676, 38.256017000605908 ], [ -122.812403000321623, 38.256417000291485 ], [ -122.821703000532892, 38.262717000439849 ], [ -122.826531999870994, 38.26596000111256 ], [ -122.841804000305032, 38.27621700108039 ], [ -122.840779999501166, 38.278068000331274 ], [ -122.839204000091186, 38.281416001139334 ], [ -122.838804000290196, 38.282216000994801 ], [ -122.83666000011182, 38.286995000464209 ], [ -122.835789999463543, 38.288933000849084 ], [ -122.834309000035503, 38.292007001084315 ], [ -122.834287000308692, 38.292064000744809 ], [ -122.83418699993274, 38.292320000256339 ], [ -122.833882000281619, 38.292572000959957 ], [ -122.833347999654976, 38.292885000934994 ], [ -122.833026999899019, 38.293129000647859 ], [ -122.832859999987889, 38.293312001072927 ], [ -122.832782999855453, 38.293457000639989 ], [ -122.83281400039894, 38.293793000624589 ], [ -122.832799000163803, 38.295174001097962 ], [ -122.832752999910653, 38.298569000679713 ], [ -122.832702999823539, 38.302216000736841 ], [ -122.834002999832009, 38.302816000391758 ], [ -122.83440299960769, 38.30301600078554 ], [ -122.839203999801683, 38.305216000984323 ], [ -122.841603999619295, 38.306316000407008 ], [ -122.840103999990504, 38.306316000387561 ], [ -122.837904000046109, 38.306316001051087 ], [ -122.837403999808544, 38.306316000322184 ], [ -122.833727000276099, 38.306316001131698 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1337, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.741398999772414, 38.363314000800216 ], [ -122.737299000299359, 38.363314000525392 ], [ -122.733098999570416, 38.363314000592723 ], [ -122.729299000112292, 38.363214000459401 ], [ -122.725298000394773, 38.363114000347849 ], [ -122.721297999875318, 38.363314000566788 ], [ -122.717198000145231, 38.363313000880872 ], [ -122.715495999557575, 38.363313001102917 ], [ -122.715297999640711, 38.363313000850717 ], [ -122.71339800035409, 38.363313000675824 ], [ -122.713213999560224, 38.363313000480574 ], [ -122.712897999590965, 38.363313000395713 ], [ -122.713197999596886, 38.360014000775536 ], [ -122.71314700034543, 38.357161001134962 ], [ -122.713097999886472, 38.354414000778853 ], [ -122.712997999468584, 38.352014000512114 ], [ -122.713098000073643, 38.350714000772179 ], [ -122.713097999740171, 38.348314000370678 ], [ -122.712998000287016, 38.344014001053274 ], [ -122.712997999501539, 38.343114000327503 ], [ -122.712798000019433, 38.3370140005431 ], [ -122.712818000226534, 38.334312000619661 ], [ -122.712784000382754, 38.333792000634475 ], [ -122.712794999868464, 38.331303000634946 ], [ -122.712818000428939, 38.32871700090994 ], [ -122.71279800036487, 38.328314000840784 ], [ -122.712811999516887, 38.328214000532874 ], [ -122.712953999500527, 38.327222000659233 ], [ -122.71319799987468, 38.32551400062777 ], [ -122.71390899963572, 38.321315000919363 ], [ -122.714298000331084, 38.31901500073787 ], [ -122.714497999673071, 38.318015000458686 ], [ -122.715027999686541, 38.3157870007254 ], [ -122.715145000073932, 38.314922000958624 ], [ -122.715091999693755, 38.314091001057704 ], [ -122.714719999509796, 38.312365000684942 ], [ -122.714349000512598, 38.311200001082462 ], [ -122.713526999606714, 38.310015000524601 ], [ -122.712752999416836, 38.309069000497502 ], [ -122.708297999583664, 38.303615000938372 ], [ -122.707897999604398, 38.30401500085226 ], [ -122.707842999445305, 38.304056001007396 ], [ -122.707347999893514, 38.304419000771937 ], [ -122.707212000475252, 38.304518000630885 ], [ -122.706398000505203, 38.305115000751272 ], [ -122.706340999839171, 38.305201000421199 ], [ -122.706069000189032, 38.305608000624829 ], [ -122.704797999951055, 38.307515000799675 ], [ -122.704098000290983, 38.307815001059488 ], [ -122.701798000529834, 38.308815000746179 ], [ -122.700939000299527, 38.30915900073397 ], [ -122.700298000015351, 38.309415000296497 ], [ -122.699951999912386, 38.309704000350102 ], [ -122.69949999990223, 38.310080000282959 ], [ -122.698516000109834, 38.310900000436668 ], [ -122.698248999697569, 38.311123000567243 ], [ -122.697897999754829, 38.311415000741626 ], [ -122.697375999924915, 38.311817000248425 ], [ -122.696597999672079, 38.312415000281504 ], [ -122.695804999735714, 38.313036000852868 ], [ -122.694297999447187, 38.314215000317837 ], [ -122.684897999611621, 38.314215001122804 ], [ -122.683098000381889, 38.314215000517379 ], [ -122.680997000475202, 38.314215000329291 ], [ -122.680496999962656, 38.314215000319997 ], [ -122.666397000240735, 38.314214000887567 ], [ -122.662097000293102, 38.314214000656321 ], [ -122.660296999600789, 38.314114000256538 ], [ -122.65139699964864, 38.314214001106777 ], [ -122.650198999480295, 38.314214000751861 ], [ -122.647195999487508, 38.314214001129045 ], [ -122.648396999500548, 38.312414000614773 ], [ -122.652232000086741, 38.307242000948953 ], [ -122.652697000025853, 38.306615000590675 ], [ -122.655297000266032, 38.303115000355668 ], [ -122.659496999395671, 38.297115001109333 ], [ -122.661288000271597, 38.297115001012052 ], [ -122.662464999586689, 38.297115001129576 ], [ -122.662696999499005, 38.297115000594978 ], [ -122.665196999909824, 38.297215000662227 ], [ -122.666396999456666, 38.29711500096731 ], [ -122.666396999977252, 38.296215000285038 ], [ -122.666396999698776, 38.296015000514124 ], [ -122.666397000292775, 38.293415001081641 ], [ -122.666396999961762, 38.293215000313914 ], [ -122.66641299943339, 38.292595000759867 ], [ -122.666464999930398, 38.290555000848727 ], [ -122.666497000477762, 38.289315001092596 ], [ -122.666507999464585, 38.288883000397597 ], [ -122.666517999972626, 38.288489000406265 ], [ -122.666684999735963, 38.287635001017939 ], [ -122.666896999869877, 38.286915000468198 ], [ -122.667021000471237, 38.286063000694377 ], [ -122.667310999875639, 38.284774001120361 ], [ -122.667496999653395, 38.28381500051524 ], [ -122.667814999630608, 38.282296001094863 ], [ -122.668397000266282, 38.279515000325745 ], [ -122.668631999597793, 38.278471000409695 ], [ -122.668986000403123, 38.276898000855056 ], [ -122.669297000195328, 38.275516000928285 ], [ -122.669596999468197, 38.274116000747753 ], [ -122.669596999861881, 38.274016000480643 ], [ -122.669697000252668, 38.273416000995461 ], [ -122.669696999607467, 38.273216000431177 ], [ -122.669896999533094, 38.27251600066392 ], [ -122.669997000237842, 38.272116000469794 ], [ -122.670296999700241, 38.271016000417625 ], [ -122.670296999583258, 38.270616000918842 ], [ -122.670397000384355, 38.270116000811051 ], [ -122.670496999531224, 38.269716000913746 ], [ -122.670497000251217, 38.26943600030512 ], [ -122.670628000384639, 38.268747000299399 ], [ -122.670819999450941, 38.26876000059638 ], [ -122.671274000500574, 38.268834001127857 ], [ -122.671846999547782, 38.268986000258202 ], [ -122.672360999677778, 38.269211000355419 ], [ -122.672835000437814, 38.269457001049368 ], [ -122.673498000332984, 38.269816000357395 ], [ -122.675698000199404, 38.272616001056861 ], [ -122.676897999741314, 38.274116000327332 ], [ -122.677098000450655, 38.274316000797725 ], [ -122.679565000140599, 38.276718000972707 ], [ -122.679964000130795, 38.277105000885356 ], [ -122.680698000362469, 38.27781600032278 ], [ -122.681023000088672, 38.278112000256904 ], [ -122.681797999471812, 38.278816000574494 ], [ -122.682891000347027, 38.279861000318952 ], [ -122.684141999807835, 38.281067000579156 ], [ -122.685499999572556, 38.282363001078167 ], [ -122.687698000447952, 38.284415000954169 ], [ -122.688673999741994, 38.285361000768283 ], [ -122.689284999623681, 38.285880000645285 ], [ -122.690199999653274, 38.286406000984151 ], [ -122.691267999662401, 38.286948000993334 ], [ -122.692626000040107, 38.28752000031978 ], [ -122.693602999982843, 38.288070000465979 ], [ -122.694793000183907, 38.288611000791185 ], [ -122.696365000263995, 38.289405000851701 ], [ -122.697554999941715, 38.290023000493733 ], [ -122.698469999890818, 38.290458000781847 ], [ -122.699217999926731, 38.290938001116089 ], [ -122.699782999519485, 38.291396000530305 ], [ -122.700407999651802, 38.291724000242191 ], [ -122.701155999794153, 38.292174001125566 ], [ -122.702498000420988, 38.293115000260585 ], [ -122.70288000047023, 38.293464000986582 ], [ -122.70396399942392, 38.294280000479496 ], [ -122.707297999789674, 38.296315000347732 ], [ -122.709998000128408, 38.29771500105138 ], [ -122.712097999882829, 38.298915000702841 ], [ -122.712399000290063, 38.299015000842815 ], [ -122.712998999984123, 38.299415000986151 ], [ -122.723657000386325, 38.304928000568708 ], [ -122.729462999773631, 38.307931000503793 ], [ -122.730399000400112, 38.308415000878206 ], [ -122.731107000299332, 38.308769000973307 ], [ -122.733045000169895, 38.309738000448732 ], [ -122.734798999486301, 38.310615000399338 ], [ -122.735066000168317, 38.31079300111773 ], [ -122.735399000318736, 38.311015000851597 ], [ -122.735398999405618, 38.312089000244647 ], [ -122.735398999831276, 38.31241500028321 ], [ -122.735499000062887, 38.314015000871294 ], [ -122.735475999798325, 38.31432900030326 ], [ -122.735098999595067, 38.319515000749213 ], [ -122.735351000421858, 38.322335001087943 ], [ -122.735505999591425, 38.3240730007522 ], [ -122.735598999943036, 38.325115000813966 ], [ -122.736399000220104, 38.326615000977547 ], [ -122.737699000299259, 38.329015000568724 ], [ -122.738299000027794, 38.331314000538391 ], [ -122.73839899995528, 38.33271400110138 ], [ -122.738398999641419, 38.334614000468463 ], [ -122.74030300009089, 38.335030000675779 ], [ -122.741598999755851, 38.335514000968246 ], [ -122.740798999477704, 38.3359140003558 ], [ -122.741238999976019, 38.342072000780846 ], [ -122.741299000154982, 38.342914000364203 ], [ -122.741198999828896, 38.345314000831131 ], [ -122.741498999932958, 38.352114000657593 ], [ -122.741398999724268, 38.352814000851701 ], [ -122.741298999841177, 38.353514000875101 ], [ -122.741362999664887, 38.359737000906314 ], [ -122.741398999772414, 38.363314000800216 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1344, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.701498000503292, 38.338914000752212 ], [ -122.70369799970581, 38.336314000627354 ], [ -122.703986999734653, 38.336109000913702 ], [ -122.704301999547354, 38.336056000826218 ], [ -122.704755000463393, 38.336032000374431 ], [ -122.707698000238167, 38.336014000933218 ], [ -122.70938499942659, 38.336014000974792 ], [ -122.71051999949843, 38.336023000450879 ], [ -122.710925000459085, 38.336058000358257 ], [ -122.711262000207299, 38.336164001141476 ], [ -122.711697999901403, 38.336414000462192 ], [ -122.712098000151244, 38.335914000642063 ], [ -122.712798000019433, 38.3370140005431 ], [ -122.712997999501539, 38.343114000327503 ], [ -122.712998000287016, 38.344014001053274 ], [ -122.713097999740171, 38.348314000370678 ], [ -122.713098000073643, 38.350714000772179 ], [ -122.712698000340652, 38.350714001061476 ], [ -122.709697999596202, 38.350714000737213 ], [ -122.706597999974136, 38.35071400064232 ], [ -122.703197999954099, 38.350714000494946 ], [ -122.701598000113592, 38.348214000967445 ], [ -122.701099000022026, 38.347393000428198 ], [ -122.699741999448136, 38.345161000463008 ], [ -122.698497999754835, 38.343114000655461 ], [ -122.697298000013163, 38.34121400096415 ], [ -122.697576999943607, 38.341083000849828 ], [ -122.700498000165751, 38.339714000840061 ], [ -122.701498000503292, 38.338914000752212 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1347, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.71199799960219, 38.363313000289509 ], [ -122.711998000147304, 38.3642130005992 ], [ -122.712098000177477, 38.364913000899492 ], [ -122.712191999751852, 38.365301000814512 ], [ -122.712399999692963, 38.365576000976617 ], [ -122.712290000408657, 38.366589000483479 ], [ -122.712257999795725, 38.367601000629996 ], [ -122.712273999947826, 38.368178000619451 ], [ -122.712400999539838, 38.368898000775239 ], [ -122.712897999502161, 38.36981300083815 ], [ -122.713136999946428, 38.370133000848924 ], [ -122.713148000211504, 38.371727000466102 ], [ -122.713169999557252, 38.372403000322663 ], [ -122.713158999976812, 38.37334700103326 ], [ -122.713169999779993, 38.373616000915064 ], [ -122.713171000513086, 38.374985000256416 ], [ -122.713170000190573, 38.375669000459446 ], [ -122.713181000089605, 38.376215000336941 ], [ -122.713170000396588, 38.376518001021886 ], [ -122.713163000470615, 38.377196000401867 ], [ -122.713137999552472, 38.379312001020004 ], [ -122.706298000321326, 38.379313000932861 ], [ -122.694896999396889, 38.37931300112929 ], [ -122.693496999915766, 38.379513000809723 ], [ -122.68969699975581, 38.379413000440465 ], [ -122.686897000353781, 38.379513000267309 ], [ -122.687197000442922, 38.376713000372263 ], [ -122.687996999482536, 38.376713000732472 ], [ -122.68806799980338, 38.375713000290681 ], [ -122.688096999937699, 38.375313001108836 ], [ -122.688096999907131, 38.374913000446597 ], [ -122.688445000358087, 38.372480000709672 ], [ -122.688496999777911, 38.372113000460146 ], [ -122.689697000349042, 38.371913000407794 ], [ -122.689726999692112, 38.371732001121373 ], [ -122.689741999606809, 38.371276000525199 ], [ -122.689098000192075, 38.37122000085369 ], [ -122.688479000144952, 38.371242000623852 ], [ -122.688277000365744, 38.371249000706946 ], [ -122.688138999669604, 38.371265000944462 ], [ -122.688051000268445, 38.371288000539273 ], [ -122.687937000301957, 38.371310000796051 ], [ -122.687824999849397, 38.371351000584319 ], [ -122.687707000098058, 38.371382000461921 ], [ -122.687621999791858, 38.371397000296021 ], [ -122.687533000478098, 38.37140700110389 ], [ -122.687391000124336, 38.371413000569589 ], [ -122.686507000146051, 38.371416000694332 ], [ -122.685696999504785, 38.371413001106376 ], [ -122.685696999582717, 38.370813001087768 ], [ -122.685696999610585, 38.369013000663102 ], [ -122.68569700028695, 38.368213000298809 ], [ -122.685696999968201, 38.367513000338704 ], [ -122.685697000252901, 38.367113000968985 ], [ -122.685705000496156, 38.365095000539434 ], [ -122.685701999795427, 38.364949000333404 ], [ -122.685687000206016, 38.364396000987895 ], [ -122.685674999428898, 38.36270600042635 ], [ -122.685672000317354, 38.362318000691445 ], [ -122.685670999564394, 38.362159001012074 ], [ -122.685596999971111, 38.361313000737141 ], [ -122.690696999463697, 38.361113000344801 ], [ -122.691023999459162, 38.361091000956613 ], [ -122.691362999732021, 38.361063000302579 ], [ -122.691664999582812, 38.360976000493309 ], [ -122.691938000435002, 38.360820001140056 ], [ -122.69229800044684, 38.360613000784824 ], [ -122.69244699985633, 38.360543001017753 ], [ -122.692660000161069, 38.360497001001889 ], [ -122.693029000153373, 38.360474000285137 ], [ -122.693758999420893, 38.360474000365791 ], [ -122.694375000172869, 38.360890001089786 ], [ -122.694580999772853, 38.361096000613763 ], [ -122.694875000174036, 38.361323000390705 ], [ -122.694993000174392, 38.361508000365284 ], [ -122.695063000214489, 38.361578000833212 ], [ -122.695187999934817, 38.361708000435385 ], [ -122.695292999558674, 38.361677000620723 ], [ -122.695855999394112, 38.361520000646173 ], [ -122.696298000425557, 38.361513001008966 ], [ -122.698486999603773, 38.361319000649381 ], [ -122.6996980000213, 38.361213000886181 ], [ -122.700363000236621, 38.361165001059959 ], [ -122.703597999718411, 38.36081300026693 ], [ -122.704797999416826, 38.361313000994386 ], [ -122.707198000212088, 38.362213000953737 ], [ -122.708898000279476, 38.363113000344008 ], [ -122.709098000472935, 38.363113001045136 ], [ -122.709798000461191, 38.363313000288258 ], [ -122.711097999628677, 38.363313000484766 ], [ -122.71199799960219, 38.363313000289509 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1346, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.71247000033793, 38.365132000887478 ], [ -122.712455000122119, 38.365229000563687 ], [ -122.712417999648537, 38.365443000882237 ], [ -122.712399999692963, 38.365576000976617 ], [ -122.712191999751852, 38.365301000814512 ], [ -122.712098000177477, 38.364913000899492 ], [ -122.711998000147304, 38.3642130005992 ], [ -122.71199799960219, 38.363313000289509 ], [ -122.711097999628677, 38.363313000484766 ], [ -122.709798000461191, 38.363313000288258 ], [ -122.709098000472935, 38.363113001045136 ], [ -122.708898000279476, 38.363113000344008 ], [ -122.707198000212088, 38.362213000953737 ], [ -122.704797999416826, 38.361313000994386 ], [ -122.703597999718411, 38.36081300026693 ], [ -122.700363000236621, 38.361165001059959 ], [ -122.6996980000213, 38.361213000886181 ], [ -122.698486999603773, 38.361319000649381 ], [ -122.696298000425557, 38.361513001008966 ], [ -122.695855999394112, 38.361520000646173 ], [ -122.695292999558674, 38.361677000620723 ], [ -122.695187999934817, 38.361708000435385 ], [ -122.695063000214489, 38.361578000833212 ], [ -122.694993000174392, 38.361508000365284 ], [ -122.694875000174036, 38.361323000390705 ], [ -122.694580999772853, 38.361096000613763 ], [ -122.694375000172869, 38.360890001089786 ], [ -122.693758999420893, 38.360474000365791 ], [ -122.693029000153373, 38.360474000285137 ], [ -122.692660000161069, 38.360497001001889 ], [ -122.69244699985633, 38.360543001017753 ], [ -122.69229800044684, 38.360613000784824 ], [ -122.691938000435002, 38.360820001140056 ], [ -122.691664999582812, 38.360976000493309 ], [ -122.691362999732021, 38.361063000302579 ], [ -122.691023999459162, 38.361091000956613 ], [ -122.690696999463697, 38.361113000344801 ], [ -122.685596999971111, 38.361313000737141 ], [ -122.685597000151034, 38.36061300085759 ], [ -122.685596999535079, 38.359535000967469 ], [ -122.685597000036097, 38.358507000315413 ], [ -122.685597000268814, 38.357212000528719 ], [ -122.685593000094073, 38.354942000725238 ], [ -122.685578999655021, 38.354655000919202 ], [ -122.685493000170695, 38.35445800063264 ], [ -122.685461000396927, 38.354325001056601 ], [ -122.685450999671062, 38.354016001136692 ], [ -122.685447999497924, 38.353478000593213 ], [ -122.685450999682018, 38.353030000560345 ], [ -122.685447999752469, 38.352702000640591 ], [ -122.685426000294015, 38.352001000733821 ], [ -122.685416000024802, 38.351533000703085 ], [ -122.685408000477523, 38.351120001031532 ], [ -122.68539299966973, 38.350604000466397 ], [ -122.685895999768817, 38.350619000784064 ], [ -122.687081999830482, 38.35063900039173 ], [ -122.687227000357709, 38.35064100044864 ], [ -122.688139999693092, 38.350657001103286 ], [ -122.68919699985716, 38.350675000434599 ], [ -122.689903000225456, 38.350687000325443 ], [ -122.690170999514379, 38.35069100094276 ], [ -122.691271000505552, 38.350710000927975 ], [ -122.691497999872666, 38.350714000510564 ], [ -122.692090000034398, 38.350714000969944 ], [ -122.692264999770131, 38.350714000730456 ], [ -122.694198000068894, 38.3507140008291 ], [ -122.694697999827468, 38.350714000507004 ], [ -122.695797999540986, 38.350714000585604 ], [ -122.696322999934139, 38.350714000509711 ], [ -122.697236000319592, 38.350714001052971 ], [ -122.698397999799909, 38.350714000718611 ], [ -122.700273000515239, 38.350714001121688 ], [ -122.701098000398048, 38.350714000776009 ], [ -122.702798000304739, 38.350714000358785 ], [ -122.703197999954099, 38.350714000494946 ], [ -122.706597999974136, 38.35071400064232 ], [ -122.709697999596202, 38.350714000737213 ], [ -122.712698000340652, 38.350714001061476 ], [ -122.713098000073643, 38.350714000772179 ], [ -122.712997999468584, 38.352014000512114 ], [ -122.713097999886472, 38.354414000778853 ], [ -122.71314700034543, 38.357161001134962 ], [ -122.713197999596886, 38.360014000775536 ], [ -122.712897999590965, 38.363313000395713 ], [ -122.712497999541313, 38.365013000683625 ], [ -122.71247000033793, 38.365132000887478 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1394, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.844512999496686, 38.580415000715305 ], [ -122.844279999802168, 38.57972900039141 ], [ -122.844076000343165, 38.57952300108002 ], [ -122.844075999836193, 38.579408000748685 ], [ -122.843725999656897, 38.57895000102301 ], [ -122.84360899976005, 38.578653000255514 ], [ -122.843501999419132, 38.578448000931417 ], [ -122.842908000186171, 38.577302000518706 ], [ -122.84267800050884, 38.576688000291902 ], [ -122.842470999609517, 38.576135000325252 ], [ -122.84226599994885, 38.575860000484859 ], [ -122.842265999467244, 38.575677000895823 ], [ -122.842003999572455, 38.575174001099946 ], [ -122.841973999525848, 38.574670001066252 ], [ -122.841740999764156, 38.574579000248463 ], [ -122.841624000000152, 38.574212001021273 ], [ -122.840866000409491, 38.573480000860194 ], [ -122.840837000444324, 38.573228000974616 ], [ -122.840224000233334, 38.573228000362903 ], [ -122.840058000521609, 38.573189000391039 ], [ -122.835626999644319, 38.568193000682967 ], [ -122.83502600050403, 38.567516000702746 ], [ -122.834431999760483, 38.566846000792694 ], [ -122.833902999436972, 38.566260000961172 ], [ -122.833120000481017, 38.565393000747576 ], [ -122.832955999696068, 38.565211000685551 ], [ -122.832889999705429, 38.565138001039017 ], [ -122.832870000012377, 38.565116000278408 ], [ -122.832163999465521, 38.564334000281093 ], [ -122.830302999832085, 38.562410000763094 ], [ -122.83015700019422, 38.562247000314336 ], [ -122.82954099965292, 38.561561000860671 ], [ -122.828466999781597, 38.560365000541807 ], [ -122.825901999796258, 38.557510000630344 ], [ -122.821426000213947, 38.552444000998477 ], [ -122.818548000009869, 38.549187001069299 ], [ -122.817506999544094, 38.548005000712841 ], [ -122.816801999758781, 38.547210000579149 ], [ -122.813695999497838, 38.54370100090253 ], [ -122.811401999718171, 38.541110000845812 ], [ -122.804301000019819, 38.532910001027822 ], [ -122.800000999622171, 38.528010000975712 ], [ -122.797920000422565, 38.525720000461661 ], [ -122.799961000394305, 38.525720001002576 ], [ -122.802100999928868, 38.525710001043052 ], [ -122.802747000362473, 38.525686000492882 ], [ -122.802988000229789, 38.525677000305649 ], [ -122.804444000078533, 38.525622000619457 ], [ -122.80740099940671, 38.525510000440917 ], [ -122.813200999809226, 38.525510000441891 ], [ -122.813501000070886, 38.525110000702099 ], [ -122.816702000281424, 38.525010000345262 ], [ -122.816701999749711, 38.523600000592005 ], [ -122.816702000107512, 38.522110001117312 ], [ -122.817101999623148, 38.52181000048661 ], [ -122.820902000205251, 38.521710000857567 ], [ -122.821096000397802, 38.518222000552861 ], [ -122.821301999503447, 38.51451100096606 ], [ -122.82120200035186, 38.510911000771948 ], [ -122.821301999774846, 38.510909000409775 ], [ -122.825833999716153, 38.510902000714651 ], [ -122.825764999665424, 38.507561000241516 ], [ -122.825624000029947, 38.503298000853782 ], [ -122.825502000498275, 38.500411000774562 ], [ -122.825502000351761, 38.499911001120282 ], [ -122.825701999965133, 38.498511000821139 ], [ -122.826601999488858, 38.497411001079733 ], [ -122.827001999798114, 38.496211000785891 ], [ -122.825802000137358, 38.495111000745595 ], [ -122.825701999575045, 38.494511001081193 ], [ -122.825702000422751, 38.493811001026934 ], [ -122.825601999876937, 38.486011000516413 ], [ -122.825602000439488, 38.485211000701064 ], [ -122.83000199962828, 38.482811000769608 ], [ -122.830676999687, 38.482783000767043 ], [ -122.831607000489569, 38.482554000799112 ], [ -122.832492000434229, 38.482287000561755 ], [ -122.832965000487121, 38.482104000289596 ], [ -122.833788999944744, 38.481959000726683 ], [ -122.834501999601088, 38.481811000663299 ], [ -122.834963999626197, 38.481799000324898 ], [ -122.835558999833353, 38.481829000420845 ], [ -122.836153999579608, 38.481944000991824 ], [ -122.836719000449548, 38.482073000360558 ], [ -122.837191999842403, 38.482310000540821 ], [ -122.837618999667967, 38.48259200029738 ], [ -122.839663999479441, 38.483981001008729 ], [ -122.84044300042639, 38.484309001058492 ], [ -122.841068999961195, 38.484500000265349 ], [ -122.841693999442313, 38.484614000402793 ], [ -122.842003000293019, 38.484611001095253 ], [ -122.842102999722442, 38.484611000752565 ], [ -122.84207300035942, 38.484700000313843 ], [ -122.842000000296878, 38.484919000654138 ], [ -122.841923000006503, 38.485186000536508 ], [ -122.841908000415685, 38.485545000718396 ], [ -122.842014999728789, 38.485804000908566 ], [ -122.842137000455935, 38.486071000560742 ], [ -122.842411999684813, 38.486437000733382 ], [ -122.843341999629246, 38.487178000962743 ], [ -122.844104999507735, 38.487551000507004 ], [ -122.844365000208242, 38.487811000478324 ], [ -122.844624000475875, 38.488070000891362 ], [ -122.844807000520589, 38.488314000279011 ], [ -122.844944999824406, 38.488558001092784 ], [ -122.844928999750053, 38.488841000765703 ], [ -122.844914000378822, 38.489161001086195 ], [ -122.844746000054784, 38.489489000637512 ], [ -122.844654999993011, 38.489695001116289 ], [ -122.844533000499482, 38.489955000761306 ], [ -122.844227000340439, 38.490740001097237 ], [ -122.844165999957099, 38.491267001069694 ], [ -122.844243000001114, 38.491549000395501 ], [ -122.844594000492563, 38.492243000893886 ], [ -122.844944999832407, 38.492709000486428 ], [ -122.845234000243067, 38.492968000307087 ], [ -122.845631000093675, 38.493495000410171 ], [ -122.845814000282928, 38.493762000578442 ], [ -122.845903999498702, 38.493897000899032 ], [ -122.845996999531735, 38.494036001072558 ], [ -122.846195999752993, 38.494258000652692 ], [ -122.847615000387009, 38.49534100109868 ], [ -122.847905000369252, 38.495547000599871 ], [ -122.848210000303951, 38.495700000458619 ], [ -122.848530000121684, 38.495837000760325 ], [ -122.848927000325105, 38.495982000462369 ], [ -122.849567999676694, 38.496005000737455 ], [ -122.850202999945651, 38.495911000676422 ], [ -122.850697000163436, 38.49573800103672 ], [ -122.851399000033865, 38.495333000959683 ], [ -122.852086000442199, 38.494876001134223 ], [ -122.852558999584787, 38.494502001046328 ], [ -122.853003000454237, 38.494011000470039 ], [ -122.853718000045944, 38.495898000430969 ], [ -122.856464999894442, 38.497233000581481 ], [ -122.856770000127213, 38.497515000251475 ], [ -122.857030000262611, 38.497904001054764 ], [ -122.857242999630429, 38.498393001112895 ], [ -122.857250000015426, 38.498602000851548 ], [ -122.857257999436797, 38.498858000936515 ], [ -122.857203000415836, 38.499911000679653 ], [ -122.857532999810985, 38.501887000398817 ], [ -122.858602999391763, 38.502311000686056 ], [ -122.859212000119498, 38.502536000953327 ], [ -122.859822000179335, 38.502787001012095 ], [ -122.860602999936418, 38.503211000814673 ], [ -122.861202999559112, 38.502911000608009 ], [ -122.861287000266827, 38.502749000928659 ], [ -122.86197499982687, 38.502453000474532 ], [ -122.86313400026026, 38.501956001138723 ], [ -122.865304000209022, 38.501211001006268 ], [ -122.866103999976772, 38.499911001130805 ], [ -122.866674000366828, 38.498065000920796 ], [ -122.866871999847291, 38.49764500052688 ], [ -122.867117000455394, 38.497332000935884 ], [ -122.867573999971995, 38.496997000567482 ], [ -122.868642000078566, 38.496463000764088 ], [ -122.86989400018382, 38.49629500079751 ], [ -122.870803999413369, 38.49631100069282 ], [ -122.871704000505943, 38.496219001017522 ], [ -122.872098999526187, 38.496053000589676 ], [ -122.872437000344959, 38.49595300109123 ], [ -122.872742999416758, 38.495916000302429 ], [ -122.873163000353685, 38.495924000835707 ], [ -122.873923000503979, 38.495915000862979 ], [ -122.874736999940325, 38.496247000676576 ], [ -122.875570000097611, 38.496470000667536 ], [ -122.875771000186006, 38.496449000375712 ], [ -122.877704000432445, 38.496711000388409 ], [ -122.878132999597227, 38.494265000518503 ], [ -122.878544999528955, 38.493899000473192 ], [ -122.8791399999525, 38.493777000437589 ], [ -122.880605000033626, 38.494311000270486 ], [ -122.881414000428776, 38.494190000607922 ], [ -122.882467000324894, 38.492931000471366 ], [ -122.883244999767797, 38.492824000623685 ], [ -122.883303999769225, 38.49251200064851 ], [ -122.884268000488149, 38.492298000508555 ], [ -122.885214000514608, 38.491878000556639 ], [ -122.885749000206303, 38.492077000659883 ], [ -122.886664000316458, 38.49293900026543 ], [ -122.887641000400748, 38.492107001024316 ], [ -122.888053000464922, 38.492191001127814 ], [ -122.889425999495245, 38.493709000272624 ], [ -122.89025000040165, 38.494068000459535 ], [ -122.890875999548399, 38.493618001084563 ], [ -122.892020000207594, 38.493702000913665 ], [ -122.89290500035294, 38.494012000914324 ], [ -122.891485999961645, 38.494457001046847 ], [ -122.889623999458422, 38.495434000581056 ], [ -122.887991999652598, 38.497280000501199 ], [ -122.886832000196264, 38.497668000373665 ], [ -122.886297999933703, 38.498553000581609 ], [ -122.885540000505642, 38.499911000884012 ], [ -122.885879000176104, 38.499911000942369 ], [ -122.885701000032753, 38.500656000390791 ], [ -122.885307000526225, 38.502117000522468 ], [ -122.885189999906743, 38.502604001021609 ], [ -122.885192000411848, 38.50304300055695 ], [ -122.885193999549728, 38.503355000349728 ], [ -122.885203999730649, 38.503653000429608 ], [ -122.885023999524734, 38.504141000493448 ], [ -122.884772000197955, 38.50457400055803 ], [ -122.884650999535438, 38.50527100035513 ], [ -122.884653999862692, 38.505990000850773 ], [ -122.884467999850798, 38.506292000994293 ], [ -122.884037999650019, 38.506640000650599 ], [ -122.883464999528314, 38.507354000707039 ], [ -122.883320999472701, 38.507539000409899 ], [ -122.883003000417119, 38.507952000341348 ], [ -122.883009000025908, 38.508461000581001 ], [ -122.883021000205929, 38.508832000690376 ], [ -122.883392999790331, 38.509511000815486 ], [ -122.884246999878343, 38.51083400030172 ], [ -122.884576000396365, 38.51179700026772 ], [ -122.88445499943559, 38.512809000955158 ], [ -122.884125000031673, 38.51402600035226 ], [ -122.883655999663361, 38.514746000785657 ], [ -122.883296000458529, 38.515067000657723 ], [ -122.882777999463741, 38.515531000398752 ], [ -122.881687999665786, 38.516133000400153 ], [ -122.881367000238924, 38.516366000749883 ], [ -122.879781999718119, 38.51781000080927 ], [ -122.878009000029579, 38.518192000623081 ], [ -122.877014000434301, 38.51821200042793 ], [ -122.876612000298948, 38.518088000965832 ], [ -122.876103999436822, 38.517411000306211 ], [ -122.874837999582212, 38.516543001035984 ], [ -122.874119999840161, 38.515971000376247 ], [ -122.873266000143559, 38.515444000596069 ], [ -122.872488000117912, 38.515139000335843 ], [ -122.871739999588698, 38.514880000290972 ], [ -122.870840000032999, 38.51450600111437 ], [ -122.870138000305587, 38.514270000776101 ], [ -122.869588000141434, 38.514010000533844 ], [ -122.868765000273214, 38.513850000406656 ], [ -122.868185000467435, 38.513972001033949 ], [ -122.867422000274644, 38.514147001013256 ], [ -122.867278000051215, 38.51422300098708 ], [ -122.866841999868456, 38.514453000484245 ], [ -122.866154999528192, 38.514872001030611 ], [ -122.865544999954977, 38.51538300036102 ], [ -122.865270000421319, 38.516215000422193 ], [ -122.864918999794924, 38.516917000872795 ], [ -122.86449199991516, 38.517382000443256 ], [ -122.863957999444693, 38.517893000777434 ], [ -122.863703999404535, 38.518011000914498 ], [ -122.863409000051405, 38.518084000346214 ], [ -122.862919999524635, 38.518206000678219 ], [ -122.862203000108195, 38.518084000561132 ], [ -122.861456000190316, 38.517985000890285 ], [ -122.860814999604912, 38.518199000843708 ], [ -122.860418000444355, 38.518572000383202 ], [ -122.860235000162007, 38.519000000828768 ], [ -122.860403999910275, 38.520611000589554 ], [ -122.860571000279009, 38.521052000796487 ], [ -122.860876000001923, 38.521372000805258 ], [ -122.86195899948612, 38.522402000879609 ], [ -122.862404000157809, 38.522711000322467 ], [ -122.863500000277327, 38.524508001030497 ], [ -122.863530999766965, 38.524951001029223 ], [ -122.86227999976505, 38.526995001064861 ], [ -122.862249000026182, 38.527796000811861 ], [ -122.862340999644374, 38.528170000424112 ], [ -122.86264599951933, 38.528613000442171 ], [ -122.862524000007781, 38.529269000660292 ], [ -122.862080999476888, 38.530001000388424 ], [ -122.86172999964198, 38.530421000763369 ], [ -122.861379000200984, 38.530505000986949 ], [ -122.860997999970166, 38.530390000412488 ], [ -122.859803999488449, 38.530111000437138 ], [ -122.857213999599395, 38.53206900036264 ], [ -122.856984999615278, 38.53282400026508 ], [ -122.85692400042619, 38.533343000412081 ], [ -122.85710700017934, 38.533580000758143 ], [ -122.858003999467869, 38.533711001002317 ], [ -122.858903999604166, 38.534311000608739 ], [ -122.859242999862118, 38.534503000742916 ], [ -122.859624999910721, 38.535052000628703 ], [ -122.859852999912434, 38.535647000948501 ], [ -122.860601000046614, 38.536364000945646 ], [ -122.861516999871284, 38.537036000289881 ], [ -122.861440000316435, 38.538439000460485 ], [ -122.860890999597856, 38.539569000337295 ], [ -122.860632000145458, 38.539828000927145 ], [ -122.860066999850559, 38.540110000289673 ], [ -122.859304000382721, 38.540270000785753 ], [ -122.858236000274843, 38.541171001007065 ], [ -122.857351000093203, 38.542178000682078 ], [ -122.857003999604729, 38.54271100113327 ], [ -122.856771000208667, 38.543666000707169 ], [ -122.856588000218551, 38.544450000389752 ], [ -122.856602999450061, 38.545526000383461 ], [ -122.856648999554409, 38.546007000255827 ], [ -122.857004000390148, 38.546610000930684 ], [ -122.857107000151288, 38.546816000700957 ], [ -122.858113999709573, 38.548235000307209 ], [ -122.858693999470475, 38.548708000742529 ], [ -122.859410999499161, 38.549463000247492 ], [ -122.859603999809252, 38.550010000874387 ], [ -122.859441000387648, 38.550462000952962 ], [ -122.858830999514339, 38.551462000576393 ], [ -122.858328000051017, 38.552576000743571 ], [ -122.857603999845608, 38.553710000714005 ], [ -122.856740999596482, 38.55534500076152 ], [ -122.8568319994815, 38.556284000594538 ], [ -122.857183000002181, 38.55693200091887 ], [ -122.85707599984012, 38.557298000511466 ], [ -122.85649600007163, 38.558206000577755 ], [ -122.855123000078748, 38.559518000727124 ], [ -122.854374999637173, 38.559816000831276 ], [ -122.85402500032346, 38.559969001066555 ], [ -122.853063000052941, 38.560564001054757 ], [ -122.852223999948606, 38.56163900107655 ], [ -122.851903999933981, 38.562410001029811 ], [ -122.852021000514384, 38.562410000288288 ], [ -122.851927999689707, 38.562557000426899 ], [ -122.851597000058746, 38.563435000601167 ], [ -122.85134700016043, 38.564709000795268 ], [ -122.851657000025583, 38.567056001042104 ], [ -122.852192000399185, 38.569589000789115 ], [ -122.852760000370125, 38.571396001043944 ], [ -122.854035999634789, 38.572962000632046 ], [ -122.855352999555805, 38.574278001119431 ], [ -122.856058000137168, 38.574924001141447 ], [ -122.856362999968951, 38.57577100074878 ], [ -122.85656600035999, 38.576628000388013 ], [ -122.856888999551899, 38.57799700111724 ], [ -122.857343999432459, 38.57968300102921 ], [ -122.857206000493335, 38.581304000484366 ], [ -122.857275999726994, 38.581884000723349 ], [ -122.857468999795898, 38.582449000643166 ], [ -122.857926999471147, 38.583546001050721 ], [ -122.858008000372834, 38.583909000658849 ], [ -122.857871999798789, 38.584142001118046 ], [ -122.857464999451793, 38.585264000411108 ], [ -122.85731999987884, 38.586065000621367 ], [ -122.857202999942999, 38.586134000633884 ], [ -122.857261000341509, 38.58640900108702 ], [ -122.85793199961995, 38.586912000725157 ], [ -122.858048999664405, 38.587164000759685 ], [ -122.857990999948456, 38.587805000942254 ], [ -122.857758000510671, 38.588377000874793 ], [ -122.857001000395655, 38.589499000803279 ], [ -122.857088999851953, 38.590415000839393 ], [ -122.857234999527932, 38.590598000641215 ], [ -122.85802300031753, 38.591124000982013 ], [ -122.858227000027156, 38.591330000862484 ], [ -122.858226999719548, 38.591604000287958 ], [ -122.858315000142099, 38.591650000375424 ], [ -122.858315000015139, 38.592520000888236 ], [ -122.858431999742194, 38.593047000894593 ], [ -122.857907999634477, 38.595313001080292 ], [ -122.857734000267968, 38.597053000372398 ], [ -122.857617999609232, 38.597488000658537 ], [ -122.857636999536282, 38.597928000919964 ], [ -122.856072000216074, 38.597145000964957 ], [ -122.852598999535786, 38.594056000572621 ], [ -122.850819000058948, 38.591309000598599 ], [ -122.849134000305085, 38.588249000410222 ], [ -122.849009000358834, 38.588151000580076 ], [ -122.84670299982767, 38.584100000861973 ], [ -122.844512999496686, 38.580415000715305 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1396, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.794101000048599, 38.540310000950136 ], [ -122.794709000004033, 38.540494000666328 ], [ -122.795000999745525, 38.540582000408385 ], [ -122.796800999566159, 38.541410000637057 ], [ -122.798000999705224, 38.542110001130268 ], [ -122.799700999912787, 38.543010000333631 ], [ -122.800400999597173, 38.543410000665851 ], [ -122.802101000424543, 38.544210000522611 ], [ -122.803000999669891, 38.544710000908196 ], [ -122.804101, 38.545210001120246 ], [ -122.804900999503616, 38.545610001132324 ], [ -122.805801000425646, 38.546010000258335 ], [ -122.806042000479465, 38.546085000584469 ], [ -122.807357999472842, 38.546605001051056 ], [ -122.807868000185991, 38.546763001082986 ], [ -122.808344999936097, 38.547440000875092 ], [ -122.809339000090887, 38.548326001037047 ], [ -122.809701999713127, 38.548610000586052 ], [ -122.811702000497576, 38.55031000103893 ], [ -122.812804999449042, 38.551442000536476 ], [ -122.823001999735837, 38.561710000328645 ], [ -122.822101999632238, 38.561810000654937 ], [ -122.821052000433809, 38.561810000845249 ], [ -122.819314999840472, 38.561810000296468 ], [ -122.817343000430739, 38.561810000463566 ], [ -122.814502000390505, 38.561810000415612 ], [ -122.813566000504892, 38.561810000494106 ], [ -122.812602000119469, 38.561810000538337 ], [ -122.80931400048388, 38.561934000830377 ], [ -122.808522000374396, 38.56196400051396 ], [ -122.807301999667231, 38.562010000287913 ], [ -122.806201999579798, 38.562010000349716 ], [ -122.803565999455515, 38.561959000247796 ], [ -122.803593000016775, 38.562415000710487 ], [ -122.803263000396782, 38.564141001030833 ], [ -122.802873999403445, 38.564957000428734 ], [ -122.801784000099971, 38.566260000756436 ], [ -122.80105800047464, 38.566727001062191 ], [ -122.800481000439902, 38.567233000730226 ], [ -122.800276999423048, 38.567348000320216 ], [ -122.799634999699606, 38.568057000286814 ], [ -122.799169000141333, 38.569087001059565 ], [ -122.799081000239482, 38.569110001004404 ], [ -122.798847999956564, 38.570300000875299 ], [ -122.798789000241584, 38.5711020006841 ], [ -122.798455999921174, 38.572128000862847 ], [ -122.798409999640953, 38.572154000595091 ], [ -122.798089000389936, 38.572680000815829 ], [ -122.798000999524035, 38.573481000897644 ], [ -122.797767999653999, 38.573962000898852 ], [ -122.797331000400249, 38.574397000666018 ], [ -122.796427000102042, 38.574717000935415 ], [ -122.795752999798907, 38.574698001063162 ], [ -122.795609999942684, 38.574694000658127 ], [ -122.794531000429828, 38.574373001114807 ], [ -122.792840000033792, 38.574419000835782 ], [ -122.792461000088991, 38.574510000455085 ], [ -122.791469999817039, 38.574235000687068 ], [ -122.790970999685214, 38.574119000350784 ], [ -122.790045000406423, 38.573603001049925 ], [ -122.789562999716395, 38.573407000409553 ], [ -122.789027000480132, 38.573279000573734 ], [ -122.788414999931064, 38.573173000717695 ], [ -122.787802999524075, 38.572986000477137 ], [ -122.787396000273105, 38.572753000990936 ], [ -122.787185999509973, 38.572490000568557 ], [ -122.78710899966552, 38.572313000864938 ], [ -122.78604399993641, 38.572036000976496 ], [ -122.784058000460433, 38.571519000527751 ], [ -122.782897999785362, 38.571071000272873 ], [ -122.782653999412361, 38.571073000542889 ], [ -122.782064999858122, 38.571277000651023 ], [ -122.780374000016664, 38.57111300106321 ], [ -122.7798309993983, 38.57116900085996 ], [ -122.779188000451725, 38.571513000848014 ], [ -122.77857499955158, 38.571946000704266 ], [ -122.778050000043379, 38.571979000602866 ], [ -122.777225999620597, 38.572155000614494 ], [ -122.776484999660937, 38.572862000850471 ], [ -122.775776000220873, 38.57381900093845 ], [ -122.774886999628521, 38.575367000752067 ], [ -122.774220999796214, 38.576036000661539 ], [ -122.774103000534524, 38.576092000647023 ], [ -122.77402999992799, 38.577298000966792 ], [ -122.773621999567865, 38.577641000372722 ], [ -122.772484999749835, 38.578076001037701 ], [ -122.771521999555645, 38.578259000884131 ], [ -122.771055000017199, 38.578487001114411 ], [ -122.770705000503753, 38.578876000868831 ], [ -122.770441999481918, 38.579586000700502 ], [ -122.770150999892024, 38.579700000866644 ], [ -122.768168000005318, 38.579516000706491 ], [ -122.767731000444655, 38.579425000918377 ], [ -122.766856000159819, 38.579493000600266 ], [ -122.766563999909437, 38.579607000665405 ], [ -122.766039000089961, 38.580225000462264 ], [ -122.765687999748195, 38.581209000494404 ], [ -122.76545199942224, 38.58141600089597 ], [ -122.764695999698404, 38.582079000399936 ], [ -122.764315999855725, 38.583063000754379 ], [ -122.764023999600781, 38.583498000376295 ], [ -122.763558000006554, 38.583727000707135 ], [ -122.763504000400047, 38.583880000705854 ], [ -122.763412000187373, 38.584138000889141 ], [ -122.763293999398712, 38.585397000261899 ], [ -122.763381000419031, 38.585443000301133 ], [ -122.763469000357262, 38.585901000313335 ], [ -122.763613999714877, 38.586290000683412 ], [ -122.763876999507858, 38.586336000603445 ], [ -122.766324999613744, 38.588352000661054 ], [ -122.766908000144795, 38.589130000975537 ], [ -122.766937000498984, 38.589290000571197 ], [ -122.768423000474172, 38.590596000705737 ], [ -122.769108999633303, 38.591074001132412 ], [ -122.769692000407673, 38.591480000992441 ], [ -122.769967999941073, 38.591672000438031 ], [ -122.771485000296622, 38.592909000424818 ], [ -122.773788999723024, 38.594420001051738 ], [ -122.775741999607774, 38.595978000542466 ], [ -122.776907999887754, 38.597214000479525 ], [ -122.777228999583613, 38.597787000559102 ], [ -122.777227999866568, 38.597970001001983 ], [ -122.777461999545295, 38.598450000702194 ], [ -122.777434999451444, 38.599896000656457 ], [ -122.777431999588586, 38.60005300042917 ], [ -122.777573000224749, 38.600349000485942 ], [ -122.777956000302765, 38.601152000370654 ], [ -122.777925999525863, 38.602319001022437 ], [ -122.776788000443318, 38.604448000315969 ], [ -122.776728999595903, 38.604699000441045 ], [ -122.776612000154131, 38.604791000983887 ], [ -122.776243000015626, 38.605949000566348 ], [ -122.776056999395337, 38.606531000641851 ], [ -122.776056999407714, 38.606851000572192 ], [ -122.775939999742548, 38.607034000368202 ], [ -122.775296999696295, 38.609552000638054 ], [ -122.775033999791162, 38.609826000989095 ], [ -122.774679999721087, 38.609964001123288 ], [ -122.774509000113824, 38.61003200030823 ], [ -122.773283999503221, 38.610146001029328 ], [ -122.772052999500957, 38.610003000741536 ], [ -122.77170900043096, 38.609963001124065 ], [ -122.771474999825884, 38.610054000301531 ], [ -122.771446000321333, 38.610031001057884 ], [ -122.769666999471724, 38.609962000614793 ], [ -122.768850000061761, 38.609778000515142 ], [ -122.768441999431033, 38.609595000302406 ], [ -122.768061999849266, 38.609618000532478 ], [ -122.76777000019176, 38.609801001031357 ], [ -122.76759599997014, 38.610004001098716 ], [ -122.76712799981847, 38.610556000294515 ], [ -122.765902999564773, 38.61089900098267 ], [ -122.764794000276808, 38.611356000494695 ], [ -122.763391999494019, 38.611401000472917 ], [ -122.76260499981484, 38.61163000047889 ], [ -122.760998999762506, 38.612522000899929 ], [ -122.760327999857765, 38.613002000301485 ], [ -122.759562999630361, 38.613462000769182 ], [ -122.759072999978315, 38.613757000819234 ], [ -122.758460000182069, 38.613917000301008 ], [ -122.757847999949377, 38.613894000451751 ], [ -122.757263999393544, 38.613710000466291 ], [ -122.757118000413115, 38.61352600090455 ], [ -122.757061000146763, 38.612429000888554 ], [ -122.75677000018139, 38.612108000334828 ], [ -122.756389999529077, 38.611948000440329 ], [ -122.754668999737063, 38.612129001041339 ], [ -122.753676999421785, 38.612334000618553 ], [ -122.753063999576142, 38.612609000245506 ], [ -122.752451000186525, 38.613066000822705 ], [ -122.751099999728282, 38.613341000935996 ], [ -122.750901999729422, 38.613647000759002 ], [ -122.750458999920539, 38.614364000814589 ], [ -122.750429000399521, 38.615432000584455 ], [ -122.750656999722892, 38.616210001019638 ], [ -122.750809999858603, 38.616752000794364 ], [ -122.750902000482398, 38.617111000392704 ], [ -122.750916999816127, 38.617584000941569 ], [ -122.750489999567961, 38.61795000110758 ], [ -122.749894999669522, 38.618087000884252 ], [ -122.74893299966439, 38.618087000862744 ], [ -122.7483999996672, 38.618108001036177 ], [ -122.747696999463358, 38.618133000431826 ], [ -122.746583000137548, 38.618057000815341 ], [ -122.74556100033449, 38.61761400055267 ], [ -122.745119000386893, 38.617538000787221 ], [ -122.744278999787795, 38.617103000680672 ], [ -122.743761000372999, 38.616066001105821 ], [ -122.74261600047771, 38.614746000530289 ], [ -122.741655000206379, 38.613967000985753 ], [ -122.74108999999477, 38.613472000980039 ], [ -122.740067999643912, 38.61202200026586 ], [ -122.739304999655488, 38.611694000529148 ], [ -122.738098999458117, 38.611343000716253 ], [ -122.73769900021972, 38.611308000916566 ], [ -122.737472999649512, 38.611282000242682 ], [ -122.736893000215318, 38.61132800035827 ], [ -122.736512000428206, 38.61145000102691 ], [ -122.735717999989788, 38.612228000722823 ], [ -122.735154000362485, 38.6128840002483 ], [ -122.734253000471782, 38.613365000807342 ], [ -122.732192999469632, 38.613105000820347 ], [ -122.730927000041319, 38.613021000905171 ], [ -122.729584000008757, 38.613029000557276 ], [ -122.728607999827332, 38.613250000867318 ], [ -122.728257000490956, 38.613327000719337 ], [ -122.727737999866889, 38.613288000976439 ], [ -122.726745999606663, 38.612808000384646 ], [ -122.725478999846075, 38.612869000682593 ], [ -122.723893000300478, 38.612945000475442 ], [ -122.722839999579946, 38.613411000929496 ], [ -122.721923999676321, 38.613914000562588 ], [ -122.720917000005073, 38.614021000837134 ], [ -122.719909999916823, 38.614021001002392 ], [ -122.718949000522016, 38.614151000952958 ], [ -122.717941999859505, 38.614234000270706 ], [ -122.7176340002042, 38.614278000785049 ], [ -122.71633900004278, 38.614463000843529 ], [ -122.714813999966523, 38.614723000264746 ], [ -122.713593000281548, 38.614532000462489 ], [ -122.711959999939864, 38.614189000357072 ], [ -122.710952999973003, 38.61418900093949 ], [ -122.709998999401563, 38.614208000600925 ], [ -122.708586999956381, 38.61296000032273 ], [ -122.708206000486499, 38.612449000871344 ], [ -122.707244000462467, 38.612167001136072 ], [ -122.706221999766825, 38.611885000579782 ], [ -122.705275999634466, 38.611648000672531 ], [ -122.704406000530554, 38.611427001063035 ], [ -122.703811000468008, 38.611404000394664 ], [ -122.702742999969345, 38.611305000691551 ], [ -122.70175100039674, 38.611251000406618 ], [ -122.700468999989639, 38.61081700065629 ], [ -122.699691000060895, 38.610054000346672 ], [ -122.699035000257396, 38.609764000750623 ], [ -122.698042999418902, 38.609382000470099 ], [ -122.697173000368181, 38.608993000675277 ], [ -122.696761000071206, 38.608863000936744 ], [ -122.695891999782972, 38.608619000719699 ], [ -122.695525000349349, 38.60855800079014 ], [ -122.694868999876135, 38.608383000732672 ], [ -122.69459800018204, 38.608308000306323 ], [ -122.694030000250692, 38.608024000526967 ], [ -122.693359000255967, 38.607811000820512 ], [ -122.692320999995673, 38.607597000465113 ], [ -122.691786999506775, 38.607299000727956 ], [ -122.691131000394918, 38.606796001122405 ], [ -122.690337999457157, 38.606102000454278 ], [ -122.689619999461215, 38.605407001021128 ], [ -122.688598000472638, 38.604179001122468 ], [ -122.687997999641212, 38.60360800068819 ], [ -122.687850000193549, 38.60344700061713 ], [ -122.68777400003998, 38.60321000101797 ], [ -122.687805000119639, 38.602981001079712 ], [ -122.687849999940667, 38.60271400086345 ], [ -122.687576000160718, 38.601722001080979 ], [ -122.687666999615345, 38.60086000101871 ], [ -122.687362000226301, 38.60021900057491 ], [ -122.686857999867939, 38.599510000830648 ], [ -122.686659999612274, 38.599212000922343 ], [ -122.686324000502339, 38.598442000501045 ], [ -122.686198000210197, 38.597808001075421 ], [ -122.684997000075356, 38.596508000992053 ], [ -122.68369699951225, 38.595508000889353 ], [ -122.68319499946314, 38.595298001054722 ], [ -122.682997000258212, 38.595069001102395 ], [ -122.682859999406872, 38.59450500076661 ], [ -122.682936000279796, 38.593925000878571 ], [ -122.682981999923044, 38.592971000969328 ], [ -122.682813999457125, 38.592407001122794 ], [ -122.682616000380889, 38.591751000374039 ], [ -122.682554999978279, 38.591117000492353 ], [ -122.682497000370702, 38.59080800063159 ], [ -122.682417000237294, 38.590484001003446 ], [ -122.682126999518715, 38.590080000619587 ], [ -122.681608000440065, 38.589485000881034 ], [ -122.681273000317773, 38.589103000265993 ], [ -122.680906999790878, 38.588462000486089 ], [ -122.680693000320289, 38.587768000381125 ], [ -122.680617000236353, 38.587295001066011 ], [ -122.680601000418747, 38.586677000687466 ], [ -122.680539999758508, 38.586120001081483 ], [ -122.680372999599044, 38.585678000255328 ], [ -122.680197000014772, 38.585208000524013 ], [ -122.679975999907825, 38.584793000963707 ], [ -122.679724000531763, 38.58417700060852 ], [ -122.679701000380135, 38.584121000379042 ], [ -122.679334999773872, 38.583740000432229 ], [ -122.678663999602492, 38.583320000278356 ], [ -122.678327999993016, 38.583122000872834 ], [ -122.677976999875185, 38.582908000832248 ], [ -122.677412000393673, 38.582580000782748 ], [ -122.676997000461796, 38.582308000578529 ], [ -122.676955000197907, 38.582107000618102 ], [ -122.677015999582522, 38.581672000674892 ], [ -122.677016000249139, 38.581153000284644 ], [ -122.676755999937512, 38.580841000877378 ], [ -122.676296999709947, 38.580508000726041 ], [ -122.675871000003369, 38.580131000871972 ], [ -122.675657999392243, 38.579917000973325 ], [ -122.675261000139329, 38.57949000058565 ], [ -122.674925000517703, 38.579040000269771 ], [ -122.674726999831577, 38.578605000863242 ], [ -122.674924999500888, 38.578056000588099 ], [ -122.675053999805286, 38.577771000828122 ], [ -122.675184999948343, 38.577484000393774 ], [ -122.675337000228126, 38.577034000712295 ], [ -122.675184999868733, 38.576759001130753 ], [ -122.675092999876171, 38.576705001053355 ], [ -122.674863999454061, 38.576538000428009 ], [ -122.674788000495838, 38.576393001031306 ], [ -122.674895000171333, 38.57593500033186 ], [ -122.675275999965223, 38.575271000764623 ], [ -122.675383000413206, 38.574974000388664 ], [ -122.675397999915702, 38.574646000424607 ], [ -122.674788000052445, 38.574173000347741 ], [ -122.674512999541776, 38.574096000910117 ], [ -122.6743300004497, 38.573631000756201 ], [ -122.6742299999393, 38.573377000891881 ], [ -122.674101000401066, 38.573051000954891 ], [ -122.673841999670373, 38.572471000875822 ], [ -122.673825999532838, 38.571952001082479 ], [ -122.67397899951672, 38.571800000382197 ], [ -122.674162000459859, 38.57170800098929 ], [ -122.674650000369724, 38.571510000617351 ], [ -122.675000999748747, 38.571487001091647 ], [ -122.675443999803747, 38.57144900104646 ], [ -122.675840999550843, 38.57141800042681 ], [ -122.676314000019758, 38.571060000485694 ], [ -122.676755999841603, 38.570625001082995 ], [ -122.676827000429881, 38.570571000826746 ], [ -122.677167999462796, 38.570312000856916 ], [ -122.677442999391616, 38.569976000729824 ], [ -122.677579999744367, 38.569809000271242 ], [ -122.677696999434048, 38.569708000667305 ], [ -122.677885000462311, 38.569648000837745 ], [ -122.678007000338496, 38.569694000248568 ], [ -122.678206000441392, 38.569870001020767 ], [ -122.67838899972385, 38.570091000317809 ], [ -122.678815999985218, 38.570365000801644 ], [ -122.679837999623516, 38.570152000338084 ], [ -122.680617000026302, 38.57030400050305 ], [ -122.681134999941662, 38.570091000323309 ], [ -122.68145600018056, 38.569778001072294 ], [ -122.681669999560469, 38.56943500105357 ], [ -122.681868000110512, 38.569038000539912 ], [ -122.682005000193826, 38.56877900043358 ], [ -122.682370999529979, 38.568306001128789 ], [ -122.682692000265902, 38.568100000482808 ], [ -122.683469999888203, 38.567787000624314 ], [ -122.683729000168711, 38.567504000379792 ], [ -122.683928000531424, 38.566604000667766 ], [ -122.683866999565609, 38.565841001026456 ], [ -122.683805999610414, 38.565055000835109 ], [ -122.683774999994242, 38.564315000397976 ], [ -122.683881999629691, 38.564079001054751 ], [ -122.684202000234677, 38.563835000589009 ], [ -122.684552999609679, 38.563797000689426 ], [ -122.685197000353995, 38.563808000445 ], [ -122.686033999801992, 38.563836001003622 ], [ -122.686812000218609, 38.564087001030892 ], [ -122.68720799949422, 38.564194000397663 ], [ -122.688413999524158, 38.563950000329044 ], [ -122.689345000265774, 38.563943000370919 ], [ -122.69007700036488, 38.563935000400193 ], [ -122.690382000271882, 38.563584000556915 ], [ -122.690687000465687, 38.563462000294564 ], [ -122.691098999579381, 38.563363000887101 ], [ -122.691907999585368, 38.563073000657475 ], [ -122.692198000040733, 38.562775000289392 ], [ -122.692096999387829, 38.562509000412582 ], [ -122.691008000131944, 38.5612110004408 ], [ -122.691191000019259, 38.559922000267747 ], [ -122.691846999816974, 38.559456001139871 ], [ -122.693004999437761, 38.558700000770962 ], [ -122.693098000426033, 38.558640001130847 ], [ -122.69347999976155, 38.557870000961259 ], [ -122.694997000480512, 38.556709000923298 ], [ -122.69648599943379, 38.555436000718636 ], [ -122.696648000292484, 38.555251001075618 ], [ -122.696752000102137, 38.555132000980301 ], [ -122.697310000216405, 38.554490000528176 ], [ -122.701934000228761, 38.55148400113913 ], [ -122.705383000011054, 38.550553000722694 ], [ -122.709060000344408, 38.548867000447366 ], [ -122.709852999977613, 38.548653000541535 ], [ -122.71319800048299, 38.549809001048558 ], [ -122.713790000300449, 38.549897000403263 ], [ -122.715300999926228, 38.549737000881109 ], [ -122.716903000234666, 38.549538000500498 ], [ -122.718443999602101, 38.549607000647676 ], [ -122.719298000288816, 38.549709001040874 ], [ -122.719914000255017, 38.549533000657021 ], [ -122.719998000122104, 38.54950900068021 ], [ -122.722498000262291, 38.549209000960914 ], [ -122.726798000007975, 38.553009000989753 ], [ -122.727325000132851, 38.553510000479136 ], [ -122.72798699982512, 38.554139000873512 ], [ -122.728512999888423, 38.554639000393173 ], [ -122.728798000366837, 38.554909000587308 ], [ -122.729586999563324, 38.555698000608189 ], [ -122.729698000173386, 38.555809000275374 ], [ -122.72989799947139, 38.556009000652075 ], [ -122.731098000324863, 38.55650900049276 ], [ -122.732107000468957, 38.556787000489727 ], [ -122.733099999577234, 38.556990000534029 ], [ -122.733262000423622, 38.557148000807437 ], [ -122.734727000117871, 38.556452000400085 ], [ -122.735533000142055, 38.556069000739207 ], [ -122.736586000339926, 38.556076000663452 ], [ -122.736493999400054, 38.555732000282816 ], [ -122.736893000055517, 38.55533600098412 ], [ -122.737766000417849, 38.555434000868871 ], [ -122.739105000337219, 38.555536000427658 ], [ -122.740531000472131, 38.555738001010397 ], [ -122.742171999752586, 38.555806000339082 ], [ -122.743986000356557, 38.555603000379932 ], [ -122.745152999471358, 38.554961000286212 ], [ -122.746145999442916, 38.554487001008809 ], [ -122.747313000353273, 38.554284001015297 ], [ -122.748781999445228, 38.554352000419023 ], [ -122.75016400036499, 38.554487000252664 ], [ -122.751298999920735, 38.5547090003409 ], [ -122.752598999732143, 38.554609000563204 ], [ -122.757998999751152, 38.553109000985657 ], [ -122.758399000423779, 38.552209000759781 ], [ -122.758798999397385, 38.551909000315035 ], [ -122.759536000060507, 38.551312000276397 ], [ -122.762034000093564, 38.549287001098634 ], [ -122.762499999715772, 38.548909001109593 ], [ -122.762399999856541, 38.547709000330769 ], [ -122.767699999751315, 38.544910000645132 ], [ -122.769699999778311, 38.545310000488001 ], [ -122.769900000265068, 38.546010000453379 ], [ -122.770299999629572, 38.546210000713415 ], [ -122.77199999992051, 38.546710000733761 ], [ -122.772200000357415, 38.546410000652585 ], [ -122.77450000032394, 38.544910000568848 ], [ -122.774356999711742, 38.542671001040425 ], [ -122.774279000217234, 38.541444000737371 ], [ -122.7742000004788, 38.540210000340238 ], [ -122.779648000391035, 38.540210001000659 ], [ -122.780000000035187, 38.540210000546061 ], [ -122.780299999393009, 38.540210000602805 ], [ -122.781361000062503, 38.5402210005374 ], [ -122.786001000246415, 38.540269000889225 ], [ -122.786199000185576, 38.540271001004079 ], [ -122.786515999672673, 38.540274000967919 ], [ -122.787150999807082, 38.540281000478906 ], [ -122.788848999712826, 38.54029900074201 ], [ -122.789901000193765, 38.540310000784118 ], [ -122.790148999646192, 38.54031000034194 ], [ -122.790316999682076, 38.540310000326116 ], [ -122.791580999417775, 38.540310000544125 ], [ -122.79222899940784, 38.540310000498572 ], [ -122.793001000281194, 38.540310000771072 ], [ -122.794101000048599, 38.540310000950136 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1286, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.968978000050811, 38.437608000411565 ], [ -121.968278000391365, 38.437508000538315 ], [ -121.968278000095495, 38.434908000859956 ], [ -121.968378000179257, 38.429608000261105 ], [ -121.968378000055665, 38.423808000621911 ], [ -121.968486000146754, 38.422436000865233 ], [ -121.968478000491089, 38.417209001017476 ], [ -121.968578000223047, 38.41620900087505 ], [ -121.970578000198387, 38.416109000861788 ], [ -121.970710000329916, 38.413267001027471 ], [ -121.970778000291844, 38.411809001138501 ], [ -121.970758000195943, 38.411541000800845 ], [ -121.970820999918161, 38.409877000506903 ], [ -121.970804999770152, 38.408821000973305 ], [ -121.970836999744918, 38.407893000269382 ], [ -121.970817000013938, 38.406839001066224 ], [ -121.970804999765505, 38.404629000298129 ], [ -121.970777000212351, 38.404009000431536 ], [ -121.9741780001672, 38.404909000482043 ], [ -121.976878999921951, 38.404901000442358 ], [ -121.987030000239059, 38.404885000381853 ], [ -121.988077999827922, 38.404909000932037 ], [ -121.989777999779534, 38.40358700099695 ], [ -121.989877999628632, 38.403509001089631 ], [ -121.99022600020767, 38.397505000930039 ], [ -121.990278000297167, 38.396609000738998 ], [ -121.991477999935412, 38.38730900057196 ], [ -121.993777999470524, 38.384609000615917 ], [ -121.994582000144163, 38.383677000883218 ], [ -121.994771999790217, 38.383457000359016 ], [ -121.994855999739869, 38.383359000645015 ], [ -121.994970999647862, 38.383226000944745 ], [ -121.998178000181454, 38.379510000825526 ], [ -121.997978000193058, 38.379310000432092 ], [ -121.998278000398415, 38.379310000519865 ], [ -122.000477999386746, 38.379210000662923 ], [ -122.001000999897471, 38.379210000679365 ], [ -122.003959999907025, 38.379210000820244 ], [ -122.004177999838404, 38.379210000974027 ], [ -122.004378000167904, 38.379210001051149 ], [ -122.008678000407784, 38.379310000653092 ], [ -122.009477999830779, 38.379910000935347 ], [ -122.013378000070702, 38.380010001122336 ], [ -122.015765999611148, 38.37997400110266 ], [ -122.024378999868787, 38.380110000952229 ], [ -122.028178999914147, 38.380210000282602 ], [ -122.025479000364498, 38.376010000261871 ], [ -122.024984000459767, 38.37491000098575 ], [ -122.024579000208249, 38.374010000581876 ], [ -122.024779000382992, 38.372410000904424 ], [ -122.02407799967844, 38.370810000444557 ], [ -122.024024000160779, 38.370370001017555 ], [ -122.022977999496462, 38.361810001087377 ], [ -122.022978000342164, 38.361410000821024 ], [ -122.023477999764495, 38.360710000755958 ], [ -122.024239999673256, 38.359662000988912 ], [ -122.024278000096061, 38.359610000529393 ], [ -122.024378000061503, 38.359210000437905 ], [ -122.024374000258092, 38.353718000741722 ], [ -122.024382000161665, 38.351779000508785 ], [ -122.024383999675678, 38.351329001061046 ], [ -122.024396000159044, 38.3482940010894 ], [ -122.024408999959647, 38.345095000931018 ], [ -122.0244260002668, 38.342974001078431 ], [ -122.024477999768067, 38.336411000254891 ], [ -122.024377999715995, 38.336111000664012 ], [ -122.023341999817035, 38.33600700108645 ], [ -122.022377999825565, 38.33591100056654 ], [ -122.020878000078881, 38.336711001011345 ], [ -122.01937800032276, 38.336811000699896 ], [ -122.018778000443234, 38.336611000959088 ], [ -122.017178000448439, 38.335911000873615 ], [ -122.016978000037298, 38.3358110009341 ], [ -122.017442999848768, 38.33510500066199 ], [ -122.018216000263848, 38.333932000462127 ], [ -122.018478000510186, 38.333511000900039 ], [ -122.021777999674256, 38.328411000955384 ], [ -122.022877999511181, 38.326711000482952 ], [ -122.023876999828815, 38.325176000628254 ], [ -122.024977999672814, 38.32371100034446 ], [ -122.025678000522831, 38.323011000295459 ], [ -122.031577999921836, 38.316311000575759 ], [ -122.031927000327755, 38.315379000249685 ], [ -122.032459000022541, 38.31396100074096 ], [ -122.032777999408168, 38.313111000813606 ], [ -122.033277999701895, 38.313311000526348 ], [ -122.0341779999073, 38.314711000931077 ], [ -122.035790999515754, 38.315479000324572 ], [ -122.036277999840138, 38.315711000499093 ], [ -122.036677999538782, 38.31821100105708 ], [ -122.038778000299629, 38.319211001011851 ], [ -122.039477999539599, 38.320511000565141 ], [ -122.040277999517443, 38.320411000485599 ], [ -122.040378000509023, 38.320911000521136 ], [ -122.041178000249445, 38.3210110010167 ], [ -122.04197800018747, 38.321611000626675 ], [ -122.042877999881483, 38.321611000511474 ], [ -122.043377999976457, 38.321511000871794 ], [ -122.047477999504622, 38.314712000904727 ], [ -122.04957800016625, 38.314912001064577 ], [ -122.051478000339898, 38.31511200101049 ], [ -122.05277800012756, 38.314812000662357 ], [ -122.053777999847554, 38.315512000282126 ], [ -122.057578000333322, 38.314812000415827 ], [ -122.058578000007699, 38.313412001009105 ], [ -122.060478000049642, 38.314012001062693 ], [ -122.061878999648457, 38.313312001013031 ], [ -122.064778999593784, 38.315912000464664 ], [ -122.065079000183147, 38.317112001049544 ], [ -122.068178999825207, 38.3184120007937 ], [ -122.066278999451001, 38.321012000505839 ], [ -122.065379000278625, 38.323112000814263 ], [ -122.065270999917558, 38.323204001000875 ], [ -122.063378999480804, 38.324811000499786 ], [ -122.062079000258606, 38.325111000973443 ], [ -122.061378999874961, 38.327411000898017 ], [ -122.061574999471887, 38.328743000691475 ], [ -122.061379000429554, 38.329611000868972 ], [ -122.062979000375805, 38.33351100061806 ], [ -122.064778999864942, 38.333411000402229 ], [ -122.066879000082835, 38.337211001137788 ], [ -122.068379000281965, 38.339711000335974 ], [ -122.069178999396328, 38.341911000942062 ], [ -122.069779000498841, 38.342811000495352 ], [ -122.069478999539783, 38.344211000411505 ], [ -122.070679000193095, 38.346411000820858 ], [ -122.070279000157328, 38.349011000695583 ], [ -122.070579000143795, 38.349811000984637 ], [ -122.069678999923909, 38.350811001020716 ], [ -122.070978999908448, 38.353211001049651 ], [ -122.071878999831753, 38.355211000604243 ], [ -122.073380000123507, 38.358411000457693 ], [ -122.073379999402306, 38.360911000862352 ], [ -122.075580000368916, 38.363111000248438 ], [ -122.076080000073603, 38.363711000714225 ], [ -122.077680000019598, 38.363711000721345 ], [ -122.083529999495511, 38.374910000714387 ], [ -122.085879999443335, 38.379410000888164 ], [ -122.086080000140484, 38.380510000326538 ], [ -122.088879999600024, 38.384210000834173 ], [ -122.092779999424081, 38.388510000826216 ], [ -122.094680999574976, 38.390110000279847 ], [ -122.097817000443726, 38.392486000836143 ], [ -122.098481000002934, 38.393010000315144 ], [ -122.098880999688063, 38.393910000929985 ], [ -122.109581000366433, 38.404610000873632 ], [ -122.109781000522787, 38.406010000850557 ], [ -122.109581000146008, 38.407410000744839 ], [ -122.110681000157641, 38.40861000070997 ], [ -122.112180999944385, 38.409510000952665 ], [ -122.114080999775311, 38.412209000806783 ], [ -122.114980999636103, 38.412309000344152 ], [ -122.114881000477851, 38.413109000710939 ], [ -122.114681000051675, 38.413909000682835 ], [ -122.117381999968714, 38.41400900036507 ], [ -122.117981999485636, 38.414109000813887 ], [ -122.119182000499308, 38.41650900032792 ], [ -122.119781999772997, 38.418409000551151 ], [ -122.12058199963154, 38.419109000924642 ], [ -122.122482000249306, 38.421309000350774 ], [ -122.124481999497831, 38.42380900094178 ], [ -122.125082000404547, 38.424009000351226 ], [ -122.125481999687167, 38.425309001100217 ], [ -122.126082000030493, 38.427709000920593 ], [ -122.126382000216736, 38.428909000284861 ], [ -122.126582000366156, 38.43130900095229 ], [ -122.12648199982479, 38.43310900066075 ], [ -122.126781999712009, 38.435509000423906 ], [ -122.126082000184638, 38.436365000643235 ], [ -122.125881999886687, 38.436609000739516 ], [ -122.125481999817751, 38.438209000461761 ], [ -122.124522000385696, 38.442773000936214 ], [ -122.123581999807968, 38.447609000509381 ], [ -122.120582000067699, 38.453808000838244 ], [ -122.113182000144874, 38.474808000600326 ], [ -122.11206900030983, 38.476143000399333 ], [ -122.111182000377568, 38.477208000344113 ], [ -122.108182000071778, 38.486107000917237 ], [ -122.104881999816172, 38.490807000660077 ], [ -122.104981999441463, 38.492807000963218 ], [ -122.10718299949059, 38.494507000594105 ], [ -122.106282999908188, 38.508307000503848 ], [ -122.103482999638885, 38.511907000391197 ], [ -122.103315000222224, 38.51311000053412 ], [ -122.103290999406354, 38.513283000352786 ], [ -122.102266999577537, 38.513411001040645 ], [ -122.100986000430339, 38.513379000650929 ], [ -122.10026599995048, 38.513315000941972 ], [ -122.099626000231638, 38.513187000544377 ], [ -122.098923000067714, 38.513122000423188 ], [ -122.098762000168364, 38.513107000327352 ], [ -122.098569999623635, 38.512867000252143 ], [ -122.098313999715288, 38.512627000925214 ], [ -122.097897999918089, 38.512595000465716 ], [ -122.097257999994994, 38.51281900109516 ], [ -122.096697999423967, 38.512963000678418 ], [ -122.096122000143424, 38.513011000552837 ], [ -122.095577999806423, 38.512883000782644 ], [ -122.095515999948447, 38.512878000664614 ], [ -122.094842000020478, 38.512835000637807 ], [ -122.094153999388141, 38.513123001090911 ], [ -122.093610000435604, 38.513667000726031 ], [ -122.093066000332485, 38.514019001127316 ], [ -122.092650000349494, 38.514371000440768 ], [ -122.09194599966645, 38.515731000847886 ], [ -122.091706000218835, 38.515891000404764 ], [ -122.091545999396331, 38.515923000318814 ], [ -122.091017999621428, 38.515859001102577 ], [ -122.090505999771537, 38.515699000702668 ], [ -122.088761999436002, 38.514451000949578 ], [ -122.088313999930989, 38.514403000732742 ], [ -122.087594000216043, 38.514499000580606 ], [ -122.084570000352684, 38.514499000384589 ], [ -122.082682000470328, 38.51480300067346 ], [ -122.081082000110172, 38.514723000312053 ], [ -122.080634000154859, 38.514275000724076 ], [ -122.080170000395455, 38.513955000545181 ], [ -122.079386000501586, 38.513987001054304 ], [ -122.0781540001433, 38.514163000538723 ], [ -122.076282000244433, 38.514003001032833 ], [ -122.07493800001069, 38.513795000496096 ], [ -122.073674000070014, 38.513699001097763 ], [ -122.07285799976394, 38.51365100041513 ], [ -122.072058000050902, 38.513603000988226 ], [ -122.071385999524495, 38.513715000814578 ], [ -122.070377999956548, 38.513987000751634 ], [ -122.069066000462229, 38.514051001105322 ], [ -122.067993999524319, 38.514115001081969 ], [ -122.066890000039294, 38.514595001108113 ], [ -122.066042000432844, 38.514979001073158 ], [ -122.065018000136092, 38.515107000829808 ], [ -122.064105999712083, 38.515235000950369 ], [ -122.0631939994079, 38.515330000726742 ], [ -122.062618000460461, 38.5153940009805 ], [ -122.062202000435505, 38.515410000483456 ], [ -122.06162599948145, 38.515554001075103 ], [ -122.060664999639272, 38.515826000751787 ], [ -122.059801000225505, 38.516050000250473 ], [ -122.059096999919419, 38.516402000725435 ], [ -122.058761000156352, 38.516850000870413 ], [ -122.058344999559182, 38.517250000425499 ], [ -122.057832999914552, 38.517346000625636 ], [ -122.057113000210421, 38.517298001009188 ], [ -122.056505000224277, 38.517026000311681 ], [ -122.055800999539514, 38.516370000769562 ], [ -122.054328999836073, 38.51513800091989 ], [ -122.053128999404677, 38.513954001118336 ], [ -122.052153000049387, 38.512898000398238 ], [ -122.051369000311595, 38.512194000933611 ], [ -122.050665000514414, 38.512066000653249 ], [ -122.049864999413145, 38.511618001080024 ], [ -122.048249000358851, 38.510275000279385 ], [ -122.047720999903802, 38.509875000900699 ], [ -122.046969000189875, 38.509443001135161 ], [ -122.046376999648473, 38.508899001039865 ], [ -122.045865000458363, 38.508371000562356 ], [ -122.04514500021898, 38.507843000731107 ], [ -122.044472999984606, 38.507491000856852 ], [ -122.043848999769878, 38.507123001041869 ], [ -122.042825000477251, 38.506467001138326 ], [ -122.04178500006914, 38.505795000538875 ], [ -122.041424000112386, 38.505375000918136 ], [ -122.041097000050613, 38.504995000950387 ], [ -122.041049000141967, 38.504435000817942 ], [ -122.040625999780005, 38.503917000927252 ], [ -122.040488999753947, 38.503667000405692 ], [ -122.040287999991335, 38.503346000878793 ], [ -122.040182999577553, 38.502692001066976 ], [ -122.039702999663916, 38.501828000450161 ], [ -122.039254999956867, 38.501092000459082 ], [ -122.038249000100294, 38.49990700041608 ], [ -122.037000999592095, 38.49824300060947 ], [ -122.034457000379589, 38.496435001086439 ], [ -122.032200999408332, 38.49491500031786 ], [ -122.028296999601466, 38.493155000812301 ], [ -122.026775999918087, 38.49261100062126 ], [ -122.025143999842939, 38.492419000365189 ], [ -122.023624000017378, 38.491747000379426 ], [ -122.022295999788085, 38.490851000972135 ], [ -122.020535999848803, 38.489955000925733 ], [ -122.020380000451553, 38.48995200108687 ], [ -122.018821000476564, 38.489923000813761 ], [ -122.018808000109345, 38.489923000945275 ], [ -122.01733600004215, 38.489427000416512 ], [ -122.012119999755782, 38.488899000375667 ], [ -122.011191999740205, 38.489411000240615 ], [ -122.010583999790967, 38.490323000466603 ], [ -122.009336000519738, 38.491203000633789 ], [ -122.008631999887612, 38.491507000344107 ], [ -122.007064000039506, 38.492659000609947 ], [ -122.005304000035068, 38.493891000553802 ], [ -122.004943000162513, 38.494000000552582 ], [ -122.004087999631494, 38.494259001079861 ], [ -122.003064000330042, 38.494323000806929 ], [ -122.00271199982248, 38.494307000740953 ], [ -122.002151999982956, 38.494547001029225 ], [ -122.001079999594808, 38.495203001035193 ], [ -122.000919999721347, 38.495459000444718 ], [ -122.000199999540754, 38.495811000395356 ], [ -121.999368000525905, 38.496195000633158 ], [ -121.998780999698951, 38.496811001080495 ], [ -121.99872800025598, 38.496867000725018 ], [ -121.998567999733396, 38.49712300038864 ], [ -121.998520000093606, 38.497187001026774 ], [ -121.998263999441164, 38.497747000504226 ], [ -121.998183999579425, 38.498099000975181 ], [ -121.997752000262338, 38.498802000742955 ], [ -121.997239999716541, 38.499106000492681 ], [ -121.996360000100054, 38.499858000650377 ], [ -121.996183999860989, 38.500226000963167 ], [ -121.996007999571987, 38.500466000766863 ], [ -121.995672000470975, 38.500770000857209 ], [ -121.995415999685008, 38.500882001026319 ], [ -121.995159999593952, 38.500914000963604 ], [ -121.99459999975349, 38.500978000723137 ], [ -121.994119999723324, 38.500930000353712 ], [ -121.994039999884848, 38.500866000696433 ], [ -121.99309600037914, 38.500898000492434 ], [ -121.992599999876916, 38.500930001074202 ], [ -121.992088000511544, 38.501090000806627 ], [ -121.990807999900952, 38.501474001050148 ], [ -121.990120000067307, 38.501650000558882 ], [ -121.989800000223113, 38.501874000264152 ], [ -121.989047999410047, 38.502210001105389 ], [ -121.988647999686791, 38.502466000908413 ], [ -121.988247999645694, 38.502706000656481 ], [ -121.988119999533083, 38.502930000640497 ], [ -121.987832000477837, 38.503314001110368 ], [ -121.987319999613106, 38.504034000343815 ], [ -121.986999999846205, 38.504546000433471 ], [ -121.986775000377634, 38.504818000994234 ], [ -121.986455000332199, 38.505122000795147 ], [ -121.986150999567514, 38.505378000771167 ], [ -121.985910999713511, 38.505442000831884 ], [ -121.985367000262258, 38.505570001000464 ], [ -121.984662999403085, 38.505506001086417 ], [ -121.983830999821024, 38.505410001074914 ], [ -121.983527000482454, 38.505618000945738 ], [ -121.98327099972245, 38.505698000423251 ], [ -121.983351000179326, 38.506626000922431 ], [ -121.983910999457819, 38.507154000636802 ], [ -121.982775000500183, 38.507522001037977 ], [ -121.981334999602922, 38.507970000619459 ], [ -121.980823000033354, 38.508130000984551 ], [ -121.98043899985494, 38.508226000692318 ], [ -121.979766999746715, 38.50854600084503 ], [ -121.97906300045976, 38.508898001057247 ], [ -121.978774999481914, 38.509154000238972 ], [ -121.978614999719127, 38.509474000394754 ], [ -121.978583000102461, 38.509698000409138 ], [ -121.978614999482787, 38.510562000963844 ], [ -121.978582999727863, 38.51120200039513 ], [ -121.97858300008042, 38.511618000731659 ], [ -121.978550999647226, 38.511938000506319 ], [ -121.978438999570855, 38.512306000258064 ], [ -121.978375000121332, 38.512594001097305 ], [ -121.977814999393132, 38.513602000750559 ], [ -121.97749499987745, 38.514114000526014 ], [ -121.977110999609678, 38.514626000834568 ], [ -121.976854999407195, 38.515074000979375 ], [ -121.976343000349999, 38.515346000392057 ], [ -121.975479000492712, 38.515522000489945 ], [ -121.974935000334199, 38.515618001120224 ], [ -121.973959000469151, 38.515890000504193 ], [ -121.973367000395513, 38.516114000948455 ], [ -121.973046999765941, 38.516258000341921 ], [ -121.972439000380817, 38.516498000326351 ], [ -121.972279000145065, 38.516594000815893 ], [ -121.972071000113374, 38.516994001092236 ], [ -121.972023000079901, 38.517266000250778 ], [ -121.971990999691698, 38.517346000704961 ], [ -121.972022999768001, 38.517922000628566 ], [ -121.972054999932752, 38.518306001065135 ], [ -121.972055000061886, 38.518626001008542 ], [ -121.971958999392925, 38.518898000407667 ], [ -121.971510999470013, 38.519394000547393 ], [ -121.97106299975286, 38.519874000306594 ], [ -121.970390999891805, 38.520338001086131 ], [ -121.969686999801056, 38.520690001070527 ], [ -121.969382999951378, 38.520834000320939 ], [ -121.968369000452569, 38.521202000561843 ], [ -121.968151000227337, 38.521282001108695 ], [ -121.966934999796706, 38.521986001007434 ], [ -121.966519000113962, 38.522418000959341 ], [ -121.966103000502812, 38.522866000662297 ], [ -121.965591000288654, 38.523122000474878 ], [ -121.964887000305538, 38.523330001080332 ], [ -121.964166999399367, 38.523554000438537 ], [ -121.96370299983441, 38.523522000577124 ], [ -121.962983000109631, 38.523474000608545 ], [ -121.962262999972793, 38.523490000428616 ], [ -121.961719000133485, 38.523522000690157 ], [ -121.961319000167904, 38.523554000765394 ], [ -121.960310999435194, 38.523826000518127 ], [ -121.959239000481219, 38.524098000343486 ], [ -121.958599000466634, 38.524354000338938 ], [ -121.958499999438843, 38.52438400033698 ], [ -121.957974999503946, 38.524546000727156 ], [ -121.957303000335841, 38.524962000852383 ], [ -121.956983000321159, 38.52531400108878 ], [ -121.956935000529541, 38.52539400068013 ], [ -121.956726999636686, 38.525538000919035 ], [ -121.955990999835649, 38.525890001068795 ], [ -121.955543000433224, 38.526066000860958 ], [ -121.95503100040402, 38.526178000339257 ], [ -121.95477299940039, 38.526218000384645 ], [ -121.954614999598434, 38.526242001132808 ], [ -121.953333999397756, 38.526498000269946 ], [ -121.952534000229292, 38.526738000424757 ], [ -121.95083800010282, 38.527138000877436 ], [ -121.948597999824528, 38.52765000036414 ], [ -121.947301999711826, 38.528354001097171 ], [ -121.946831999406669, 38.528667000270005 ], [ -121.945978000455938, 38.527006000443613 ], [ -121.938977999779979, 38.514506000715592 ], [ -121.932078000189833, 38.501806000987663 ], [ -121.929677999566252, 38.502606000621995 ], [ -121.927576999532803, 38.503206001079683 ], [ -121.925970999785022, 38.500183000582034 ], [ -121.925877000407013, 38.500007001012108 ], [ -121.923677000129544, 38.500507000785859 ], [ -121.923671999803204, 38.499941000459387 ], [ -121.923641000157446, 38.4966110003677 ], [ -121.923576999481313, 38.489807000456366 ], [ -121.923576999782014, 38.489607001038138 ], [ -121.923676999452951, 38.484707000801308 ], [ -121.923576999426245, 38.47500700112564 ], [ -121.923677000226064, 38.473207000529598 ], [ -121.923777000034633, 38.467807000397954 ], [ -121.915576999875498, 38.467607001109741 ], [ -121.915476000197344, 38.460608000328399 ], [ -121.915575999769132, 38.453308000582524 ], [ -121.915664000149746, 38.453306000735545 ], [ -121.930076999484015, 38.453308000444132 ], [ -121.939277000362779, 38.453308000840359 ], [ -121.940377000228807, 38.453308000816271 ], [ -121.940777000147946, 38.453408000691731 ], [ -121.941176999767507, 38.453308001024126 ], [ -121.941677000087054, 38.453308000412186 ], [ -121.942177000416734, 38.453308000369262 ], [ -121.942377999655321, 38.453308001023871 ], [ -121.942476999700588, 38.453308000752529 ], [ -121.942735000332604, 38.453308000749132 ], [ -121.942977000057013, 38.453308000899177 ], [ -121.945577000477002, 38.453208000917726 ], [ -121.947476999530295, 38.453308000751846 ], [ -121.954878000140354, 38.453208001025686 ], [ -121.9562990003067, 38.453197000406085 ], [ -121.961425000237512, 38.453158000411491 ], [ -121.962919000179951, 38.453147000643497 ], [ -121.963150999425579, 38.453145000615159 ], [ -121.968078000030644, 38.453108000646267 ], [ -121.968230000384096, 38.448996000662639 ], [ -121.968246000302486, 38.447185000629602 ], [ -121.968277999823854, 38.443444000611258 ], [ -121.968277999865123, 38.442584001119656 ], [ -121.96827799952078, 38.441156000390293 ], [ -121.968185999413507, 38.440465000495891 ], [ -121.968177999463649, 38.440408001053981 ], [ -121.968248000210281, 38.440371000980868 ], [ -121.970078000201397, 38.439408000404121 ], [ -121.970277999686246, 38.437908000571163 ], [ -121.968978000050811, 38.437608000411565 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1279, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.941677000087054, 38.453308000412186 ], [ -121.941176999767507, 38.453308001024126 ], [ -121.940777000147946, 38.453408000691731 ], [ -121.940377000228807, 38.453308000816271 ], [ -121.939277000362779, 38.453308000840359 ], [ -121.930076999484015, 38.453308000444132 ], [ -121.915664000149746, 38.453306000735545 ], [ -121.915575999769132, 38.453308000582524 ], [ -121.915476000012617, 38.446308000445853 ], [ -121.915476000505123, 38.446008000696494 ], [ -121.91552100012305, 38.442769001109859 ], [ -121.915528999784087, 38.442211001106713 ], [ -121.915576000034307, 38.438908000453985 ], [ -121.91557100021052, 38.438471000901473 ], [ -121.915490000022288, 38.431395000320855 ], [ -121.915476000514033, 38.430208000779885 ], [ -121.915475999480265, 38.421809000777813 ], [ -121.915476000372706, 38.417009000660698 ], [ -121.908875999413539, 38.417009000867758 ], [ -121.905574999634752, 38.417009000444558 ], [ -121.899675000476279, 38.417009000430902 ], [ -121.899175000061902, 38.416909000376648 ], [ -121.898775000133753, 38.416809000732655 ], [ -121.898175000111351, 38.416609000829745 ], [ -121.897374999563198, 38.416309000307677 ], [ -121.896974999732521, 38.416209000849342 ], [ -121.895975000032664, 38.415809000351004 ], [ -121.894774999715281, 38.415509000720341 ], [ -121.893074999879417, 38.41610900048947 ], [ -121.893074999464957, 38.415409000555961 ], [ -121.894708000355038, 38.414999000525114 ], [ -121.896374999919431, 38.414609000455911 ], [ -121.896274999893848, 38.413573000355242 ], [ -121.896574999805679, 38.402509000506427 ], [ -121.896575000195938, 38.397609000517221 ], [ -121.896575000327289, 38.380994000312363 ], [ -121.896573999782518, 38.374910000823604 ], [ -121.896573999973839, 38.373510000917314 ], [ -121.896674000077098, 38.364810000687086 ], [ -121.896774000118413, 38.358910000737822 ], [ -121.896674000285287, 38.351710000958327 ], [ -121.896773999596974, 38.3465100008329 ], [ -121.900074000173262, 38.346710000298536 ], [ -121.9010739997629, 38.346410000969392 ], [ -121.905074000015588, 38.347410000871456 ], [ -121.906114999575721, 38.347349000325721 ], [ -121.906773999839814, 38.347310000991186 ], [ -121.908274000511099, 38.346810000944124 ], [ -121.910573999542208, 38.348210000269809 ], [ -121.911174000252998, 38.348410000856106 ], [ -121.910873999591132, 38.348710001057889 ], [ -121.911106999718413, 38.348792000505846 ], [ -121.911286000429371, 38.348862000610303 ], [ -121.912075000194022, 38.34921000057679 ], [ -121.913075000053524, 38.349610000408333 ], [ -121.915674999840533, 38.350010000893967 ], [ -121.923874999919647, 38.351110000279235 ], [ -121.933474999435745, 38.351510001025538 ], [ -121.933875000380695, 38.351410000899314 ], [ -121.933925000210721, 38.351511000573566 ], [ -121.933974999742389, 38.351610000460816 ], [ -121.93400300048377, 38.352374000964062 ], [ -121.933954999531807, 38.353286001054208 ], [ -121.933975000188582, 38.353910000302527 ], [ -121.933974999834959, 38.358110000335273 ], [ -121.933974999641961, 38.358710000358407 ], [ -121.933906999696092, 38.361338001105914 ], [ -121.933903999971776, 38.363617000888105 ], [ -121.9338980002683, 38.366435000367609 ], [ -121.933876000439056, 38.369210001108371 ], [ -121.93379599941953, 38.373186000511808 ], [ -121.933776000294301, 38.374210000322272 ], [ -121.933775999801526, 38.374910000872902 ], [ -121.9337760003081, 38.375610000450486 ], [ -121.933780000377979, 38.37912600086775 ], [ -121.933777999577117, 38.379774000802101 ], [ -121.933776000481885, 38.380510000604545 ], [ -121.933775999566009, 38.381570000869004 ], [ -121.933775999892845, 38.384929000371393 ], [ -121.933775999796239, 38.385609000376697 ], [ -121.933721999657507, 38.386936001061798 ], [ -121.933676000249392, 38.388009000528179 ], [ -121.933668999490024, 38.388358000888097 ], [ -121.934076000399003, 38.388009000625487 ], [ -121.935019999468778, 38.387301000313926 ], [ -121.936875999916523, 38.385909000353053 ], [ -121.950909999897561, 38.37491000095217 ], [ -121.951675999822484, 38.374310000745346 ], [ -121.952955999719762, 38.373386000843112 ], [ -121.953263999709193, 38.373155000531121 ], [ -121.953595999452403, 38.372887000458334 ], [ -121.954076000118022, 38.372510000749436 ], [ -121.955347999531369, 38.371706000896438 ], [ -121.955975999725922, 38.371310000783467 ], [ -121.957776000158674, 38.369910000303058 ], [ -121.958576000154153, 38.369210000530302 ], [ -121.960775999946932, 38.367410000911498 ], [ -121.964077000199623, 38.364910000734646 ], [ -121.964376999749533, 38.365210001130855 ], [ -121.967977000301076, 38.368310001036768 ], [ -121.967618000529896, 38.374910000296879 ], [ -121.967476999540722, 38.37751000042811 ], [ -121.965876999993469, 38.379610001116895 ], [ -121.964076999683911, 38.382009000397694 ], [ -121.964676999593081, 38.387109001054206 ], [ -121.963676999447046, 38.391509000694541 ], [ -121.962676999749931, 38.394109000348287 ], [ -121.962777000521029, 38.39460900058063 ], [ -121.962683999497756, 38.395495000374424 ], [ -121.962620000320499, 38.396103001003084 ], [ -121.96257699956837, 38.396509000724009 ], [ -121.96237700047628, 38.396809000811182 ], [ -121.961277000168167, 38.400809000387248 ], [ -121.960977000087041, 38.402809000592519 ], [ -121.970777000212351, 38.404009000431536 ], [ -121.970804999765505, 38.404629000298129 ], [ -121.970817000013938, 38.406839001066224 ], [ -121.970836999744918, 38.407893000269382 ], [ -121.970804999770152, 38.408821000973305 ], [ -121.970820999918161, 38.409877000506903 ], [ -121.970758000195943, 38.411541000800845 ], [ -121.970778000291844, 38.411809001138501 ], [ -121.970710000329916, 38.413267001027471 ], [ -121.970578000198387, 38.416109000861788 ], [ -121.968578000223047, 38.41620900087505 ], [ -121.968478000491089, 38.417209001017476 ], [ -121.968486000146754, 38.422436000865233 ], [ -121.968378000055665, 38.423808000621911 ], [ -121.968378000179257, 38.429608000261105 ], [ -121.968278000095495, 38.434908000859956 ], [ -121.968278000391365, 38.437508000538315 ], [ -121.968978000050811, 38.437608000411565 ], [ -121.970277999686246, 38.437908000571163 ], [ -121.970078000201397, 38.439408000404121 ], [ -121.968248000210281, 38.440371000980868 ], [ -121.968177999463649, 38.440408001053981 ], [ -121.968185999413507, 38.440465000495891 ], [ -121.96827799952078, 38.441156000390293 ], [ -121.968277999865123, 38.442584001119656 ], [ -121.968277999823854, 38.443444000611258 ], [ -121.968246000302486, 38.447185000629602 ], [ -121.968230000384096, 38.448996000662639 ], [ -121.968078000030644, 38.453108000646267 ], [ -121.963150999425579, 38.453145000615159 ], [ -121.962919000179951, 38.453147000643497 ], [ -121.961425000237512, 38.453158000411491 ], [ -121.9562990003067, 38.453197000406085 ], [ -121.954878000140354, 38.453208001025686 ], [ -121.947476999530295, 38.453308000751846 ], [ -121.945577000477002, 38.453208000917726 ], [ -121.942977000057013, 38.453308000899177 ], [ -121.942735000332604, 38.453308000749132 ], [ -121.942476999700588, 38.453308000752529 ], [ -121.942377999655321, 38.453308001023871 ], [ -121.942177000416734, 38.453308000369262 ], [ -121.941677000087054, 38.453308000412186 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1278, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.906773999839814, 38.347310000991186 ], [ -121.906114999575721, 38.347349000325721 ], [ -121.905074000015588, 38.347410000871456 ], [ -121.9010739997629, 38.346410000969392 ], [ -121.900074000173262, 38.346710000298536 ], [ -121.896773999596974, 38.3465100008329 ], [ -121.896788999771815, 38.345070000634209 ], [ -121.896874000423267, 38.337111000339632 ], [ -121.905973999778567, 38.337211000937373 ], [ -121.915274000145104, 38.337311000992038 ], [ -121.921174999408024, 38.337211000722078 ], [ -121.933374999816834, 38.336911000778137 ], [ -121.933775000228124, 38.337011000421036 ], [ -121.933794999531813, 38.338752001095095 ], [ -121.933817000379449, 38.340605000938204 ], [ -121.933841999997128, 38.34278900074905 ], [ -121.934481000157845, 38.342840000737631 ], [ -121.934532999574429, 38.342853000842155 ], [ -121.935188000480082, 38.343012000814177 ], [ -121.935297000394954, 38.343038000725358 ], [ -121.935735999684795, 38.343150000412081 ], [ -121.936183999769085, 38.34327400030665 ], [ -121.936642999754397, 38.343418000373504 ], [ -121.937306000013848, 38.343690000509682 ], [ -121.937571000038233, 38.343772000492208 ], [ -121.938111999772204, 38.34394000048249 ], [ -121.938875000515125, 38.344157000359296 ], [ -121.939009999929979, 38.344195000898438 ], [ -121.939380000503789, 38.344302000816171 ], [ -121.939886999659976, 38.34444800038996 ], [ -121.940313000238206, 38.344571000712797 ], [ -121.940764000105588, 38.344702000892134 ], [ -121.941539000501109, 38.344831000375571 ], [ -121.941879999850386, 38.344897000844206 ], [ -121.942258999400991, 38.344970000297209 ], [ -121.942486999871818, 38.345014000541305 ], [ -121.943273999759768, 38.345108000422712 ], [ -121.943629999703347, 38.345145000571257 ], [ -121.943772999940649, 38.345160000575248 ], [ -121.944550999496158, 38.345175000735338 ], [ -121.944740999967237, 38.345178000455348 ], [ -121.945194000201084, 38.345185000844083 ], [ -121.946903000115199, 38.345210000618337 ], [ -121.948325000107317, 38.345231000325811 ], [ -121.949680999654419, 38.345252000814867 ], [ -121.950734999893925, 38.345351000580173 ], [ -121.951710000322066, 38.346290000369429 ], [ -121.951782000366478, 38.346330000428125 ], [ -121.951832999621175, 38.346358000662782 ], [ -121.95188400022441, 38.346374000486477 ], [ -121.953076000227014, 38.346410000343774 ], [ -121.953076000423593, 38.347510000738694 ], [ -121.953075999515917, 38.350410000808395 ], [ -121.953076000135951, 38.351710000397517 ], [ -121.948708000384826, 38.351686001131007 ], [ -121.948642999823818, 38.351685001040387 ], [ -121.942876000257414, 38.351610000725366 ], [ -121.941975999609497, 38.351610000804385 ], [ -121.937575000339891, 38.351510000887082 ], [ -121.933946999929788, 38.351412001049475 ], [ -121.933875000380695, 38.351410000899314 ], [ -121.933474999435745, 38.351510001025538 ], [ -121.923874999919647, 38.351110000279235 ], [ -121.915674999840533, 38.350010000893967 ], [ -121.913075000053524, 38.349610000408333 ], [ -121.912075000194022, 38.34921000057679 ], [ -121.911286000429371, 38.348862000610303 ], [ -121.911106999718413, 38.348792000505846 ], [ -121.910873999591132, 38.348710001057889 ], [ -121.911174000252998, 38.348410000856106 ], [ -121.910573999542208, 38.348210000269809 ], [ -121.908274000511099, 38.346810000944124 ], [ -121.906773999839814, 38.347310000991186 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1277, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.942875000151432, 38.335411001053046 ], [ -121.94389599999451, 38.335407000901192 ], [ -121.944238000173115, 38.335420000960646 ], [ -121.94574700021208, 38.335431000650722 ], [ -121.949175999925089, 38.335411000309328 ], [ -121.950708000370696, 38.335415001116893 ], [ -121.953076000266762, 38.335411001068266 ], [ -121.953171999932692, 38.336951000578935 ], [ -121.953172000101489, 38.339799000937823 ], [ -121.953076000321616, 38.342310000721902 ], [ -121.953076000491919, 38.342610001053814 ], [ -121.952975999525933, 38.344210000949339 ], [ -121.953075999597871, 38.345410000708377 ], [ -121.953076000282536, 38.346012000819627 ], [ -121.953076000227014, 38.346410000343774 ], [ -121.95188400022441, 38.346374000486477 ], [ -121.951832999621175, 38.346358000662782 ], [ -121.951782000366478, 38.346330000428125 ], [ -121.951710000322066, 38.346290000369429 ], [ -121.950734999893925, 38.345351000580173 ], [ -121.949680999654419, 38.345252000814867 ], [ -121.948325000107317, 38.345231000325811 ], [ -121.946903000115199, 38.345210000618337 ], [ -121.945194000201084, 38.345185000844083 ], [ -121.944740999967237, 38.345178000455348 ], [ -121.944550999496158, 38.345175000735338 ], [ -121.943772999940649, 38.345160000575248 ], [ -121.943629999703347, 38.345145000571257 ], [ -121.943273999759768, 38.345108000422712 ], [ -121.942486999871818, 38.345014000541305 ], [ -121.942258999400991, 38.344970000297209 ], [ -121.941879999850386, 38.344897000844206 ], [ -121.941539000501109, 38.344831000375571 ], [ -121.940764000105588, 38.344702000892134 ], [ -121.940313000238206, 38.344571000712797 ], [ -121.939886999659976, 38.34444800038996 ], [ -121.939380000503789, 38.344302000816171 ], [ -121.939009999929979, 38.344195000898438 ], [ -121.938875000515125, 38.344157000359296 ], [ -121.938111999772204, 38.34394000048249 ], [ -121.937571000038233, 38.343772000492208 ], [ -121.937306000013848, 38.343690000509682 ], [ -121.936642999754397, 38.343418000373504 ], [ -121.936183999769085, 38.34327400030665 ], [ -121.935735999684795, 38.343150000412081 ], [ -121.935297000394954, 38.343038000725358 ], [ -121.935188000480082, 38.343012000814177 ], [ -121.934532999574429, 38.342853000842155 ], [ -121.934481000157845, 38.342840000737631 ], [ -121.933841999997128, 38.34278900074905 ], [ -121.933817000379449, 38.340605000938204 ], [ -121.933794999531813, 38.338752001095095 ], [ -121.933775000228124, 38.337011000421036 ], [ -121.933822000131158, 38.336302000761272 ], [ -121.933875000471787, 38.335511001104443 ], [ -121.935169999832965, 38.335496001059894 ], [ -121.9370080000473, 38.335475000284049 ], [ -121.942575000405611, 38.33541100071109 ], [ -121.942786999556802, 38.33541100076193 ], [ -121.942875000151432, 38.335411001053046 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1284, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.977077000149635, 38.359910000865135 ], [ -121.974277000410154, 38.360810000512835 ], [ -121.970881000488887, 38.362095000911523 ], [ -121.970576999410468, 38.362210000869339 ], [ -121.970293000005682, 38.362310000392128 ], [ -121.969462999936013, 38.362620000433544 ], [ -121.968695999502003, 38.362906000950495 ], [ -121.968653999891572, 38.362691000724759 ], [ -121.968642000399655, 38.362338000433645 ], [ -121.968653999728318, 38.362181000631395 ], [ -121.968742000313284, 38.361925001107181 ], [ -121.969875000037234, 38.361131000656279 ], [ -121.97667700037178, 38.356010000433457 ], [ -121.976906999597674, 38.355860001032596 ], [ -121.977241000026723, 38.355554001076207 ], [ -121.977485000409217, 38.355308000446513 ], [ -121.977737999381731, 38.355013000988649 ], [ -121.978076999901148, 38.354610000718544 ], [ -121.978276999645232, 38.354410000630402 ], [ -121.979779000368808, 38.353645000699395 ], [ -121.981889000028247, 38.352571000324289 ], [ -121.983777000354564, 38.351610000413253 ], [ -121.985262000091438, 38.351052000957679 ], [ -121.985577000207897, 38.350910000671504 ], [ -121.987532999436667, 38.350147000400561 ], [ -121.989049999428119, 38.349551000676108 ], [ -121.993776999956893, 38.347710000898239 ], [ -121.99584400046237, 38.346920001084293 ], [ -121.997177000085017, 38.3464100010656 ], [ -121.997890999397953, 38.346093000964935 ], [ -121.998503000253081, 38.345821000255469 ], [ -121.998977000093504, 38.345610000502738 ], [ -122.000771999538074, 38.34485100089595 ], [ -122.00167699958763, 38.344510000848508 ], [ -122.006578000412432, 38.342810000534207 ], [ -122.010386999457808, 38.34162100059703 ], [ -122.011377999988554, 38.341311000726336 ], [ -122.011992000531663, 38.340990000355802 ], [ -122.01270699997886, 38.340599000599198 ], [ -122.014570999815177, 38.339290000790292 ], [ -122.014940000042202, 38.338933000539733 ], [ -122.01524300030664, 38.33854300049876 ], [ -122.015742000406192, 38.337914001030654 ], [ -122.016378000016687, 38.336911000346859 ], [ -122.016577999585408, 38.336511000690805 ], [ -122.016978000037298, 38.3358110009341 ], [ -122.017178000448439, 38.335911000873615 ], [ -122.018778000443234, 38.336611000959088 ], [ -122.01937800032276, 38.336811000699896 ], [ -122.020878000078881, 38.336711001011345 ], [ -122.022377999825565, 38.33591100056654 ], [ -122.023341999817035, 38.33600700108645 ], [ -122.024377999715995, 38.336111000664012 ], [ -122.024477999768067, 38.336411000254891 ], [ -122.0244260002668, 38.342974001078431 ], [ -122.024408999959647, 38.345095000931018 ], [ -122.024396000159044, 38.3482940010894 ], [ -122.024383999675678, 38.351329001061046 ], [ -122.024382000161665, 38.351779000508785 ], [ -122.024374000258092, 38.353718000741722 ], [ -122.024378000061503, 38.359210000437905 ], [ -122.024278000096061, 38.359610000529393 ], [ -122.024239999673256, 38.359662000988912 ], [ -122.023477999764495, 38.360710000755958 ], [ -122.022978000342164, 38.361410000821024 ], [ -122.022977999496462, 38.361810001087377 ], [ -122.021978000311748, 38.361810000414138 ], [ -122.021077999691997, 38.361410000482479 ], [ -122.02107799969653, 38.360410000264757 ], [ -122.019077999426244, 38.360278000265374 ], [ -122.0180780005212, 38.36021000033675 ], [ -122.017277999919941, 38.360010000982712 ], [ -122.016033999744039, 38.359627000571031 ], [ -122.01597799995173, 38.359610000696762 ], [ -122.015378000153618, 38.359410000528769 ], [ -122.0136779996173, 38.358910000424466 ], [ -122.01117799999102, 38.357910000768783 ], [ -122.010777999613381, 38.357110001137762 ], [ -122.009378000480396, 38.355210000788148 ], [ -122.00807799966141, 38.355310000322405 ], [ -122.005277999592067, 38.355910000754527 ], [ -122.004377999644461, 38.356110000774272 ], [ -122.002877999831654, 38.356310000680992 ], [ -122.001877999895484, 38.356610000825242 ], [ -122.0013779996126, 38.356610000491408 ], [ -122.000678000479709, 38.356710000636809 ], [ -121.997677999722583, 38.356710000800895 ], [ -121.994676999676187, 38.356610001049965 ], [ -121.993077000327034, 38.35661000071314 ], [ -121.991976999951959, 38.356610000365727 ], [ -121.990777000363408, 38.356610000427487 ], [ -121.989776999452815, 38.356610000245702 ], [ -121.988577000052743, 38.356610000315897 ], [ -121.987777000127309, 38.356610000443894 ], [ -121.987477000016966, 38.356610000998039 ], [ -121.986377000086094, 38.35661000036994 ], [ -121.986176999786238, 38.356710000653401 ], [ -121.985977000318144, 38.356910000710172 ], [ -121.982977000117486, 38.357410000798417 ], [ -121.982977000299769, 38.357610000959227 ], [ -121.982976999479746, 38.358910000924404 ], [ -121.981677000375271, 38.358810000767349 ], [ -121.98127700051235, 38.358810000884851 ], [ -121.980976999478258, 38.358810000968482 ], [ -121.98007699992705, 38.358910000284261 ], [ -121.979777000436499, 38.359010000945069 ], [ -121.978677000369558, 38.359310000923948 ], [ -121.977877000118951, 38.359610000944713 ], [ -121.977077000149635, 38.359910000865135 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1274, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.97607700051222, 38.353910001048398 ], [ -121.976052000322241, 38.352246000285298 ], [ -121.976077000446736, 38.349010000987796 ], [ -121.974077000448219, 38.346310000717978 ], [ -121.970775999664951, 38.341610000420218 ], [ -121.970376000071397, 38.341111000747851 ], [ -121.9701759994675, 38.340911000351213 ], [ -121.970376000251036, 38.338511000645298 ], [ -121.970275999614202, 38.337211000754223 ], [ -121.970376000452262, 38.335511000731394 ], [ -121.970376000047963, 38.333411001072342 ], [ -121.972262000465946, 38.333411001011129 ], [ -121.973128000486668, 38.333411000275326 ], [ -121.976475999749169, 38.333411000588974 ], [ -121.979477000348496, 38.333411000592868 ], [ -121.979964999877907, 38.333410000503868 ], [ -121.980276999705254, 38.333411000794548 ], [ -121.983210000049652, 38.333411000626022 ], [ -121.984976999740468, 38.333411000583197 ], [ -121.984976999582102, 38.334511000499184 ], [ -121.985177000227509, 38.335711000452839 ], [ -121.985877000067333, 38.336211000616643 ], [ -121.985977000467713, 38.336411001141521 ], [ -121.98627699985731, 38.336611000381374 ], [ -121.986177000075514, 38.338311000298951 ], [ -121.98637700016441, 38.33971100110827 ], [ -121.986277000250908, 38.340211001074834 ], [ -121.986244999823015, 38.340695000330506 ], [ -121.986267000043398, 38.341890000447087 ], [ -121.986277000129206, 38.342410000802623 ], [ -121.986377000103218, 38.343510000313465 ], [ -121.986377000439447, 38.344310000247411 ], [ -121.986376999433602, 38.345210000372376 ], [ -121.986277000270306, 38.349510000996652 ], [ -121.98527699941917, 38.350310000757517 ], [ -121.985577000207897, 38.350910000671504 ], [ -121.985262000091438, 38.351052000957679 ], [ -121.983777000354564, 38.351610000413253 ], [ -121.981889000028247, 38.352571000324289 ], [ -121.979779000368808, 38.353645000699395 ], [ -121.978276999645232, 38.354410000630402 ], [ -121.976876999443235, 38.354110000591007 ], [ -121.97607700051222, 38.353910001048398 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1341, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.62849600020138, 38.321814000463604 ], [ -122.629177999710606, 38.322233001067367 ], [ -122.631008999949287, 38.322065000262825 ], [ -122.633196000256177, 38.322314000702917 ], [ -122.633541999480599, 38.322401000701305 ], [ -122.634564999926198, 38.321966000683453 ], [ -122.634777999890588, 38.321249000689726 ], [ -122.63503800043128, 38.320974001043197 ], [ -122.637098000170354, 38.31978400054993 ], [ -122.637479000058278, 38.319372000515976 ], [ -122.638439999811851, 38.319074000615245 ], [ -122.639295000354991, 38.318739000964193 ], [ -122.640134000153836, 38.317739000738506 ], [ -122.640667999640115, 38.317579001028591 ], [ -122.641919000412969, 38.317533001054038 ], [ -122.642712999437293, 38.318510001094658 ], [ -122.64292600043548, 38.319166000338932 ], [ -122.64350599950032, 38.319326001067623 ], [ -122.644802999945867, 38.319219000934197 ], [ -122.646481999645871, 38.319792000486643 ], [ -122.647610999541698, 38.319601001097595 ], [ -122.648327999825895, 38.319372001114878 ], [ -122.652189999761973, 38.319181000797748 ], [ -122.654692000422315, 38.318655000715324 ], [ -122.65546999973958, 38.318113000764221 ], [ -122.657529999989833, 38.317221001043606 ], [ -122.657881000063682, 38.316732000904672 ], [ -122.658292999530985, 38.316725000623848 ], [ -122.658994999803014, 38.316854000957093 ], [ -122.659396999584558, 38.316614000522023 ], [ -122.660444999566479, 38.316046000467615 ], [ -122.660886999454164, 38.315344000999147 ], [ -122.662097000293102, 38.314214000656321 ], [ -122.666397000240735, 38.314214000887567 ], [ -122.666497000462442, 38.321314000382088 ], [ -122.666634999489233, 38.326485000739702 ], [ -122.66667800045866, 38.328096000462764 ], [ -122.666697000268613, 38.328814000619815 ], [ -122.666697000517047, 38.330014000553312 ], [ -122.666696999428865, 38.332414000580911 ], [ -122.666697000042745, 38.333414000380877 ], [ -122.666697000458271, 38.334714000405732 ], [ -122.666696999844021, 38.336214000350779 ], [ -122.666696999887407, 38.33751400065556 ], [ -122.66669700013243, 38.341414000743576 ], [ -122.666797000330661, 38.342314001100085 ], [ -122.672496999387917, 38.343114000971866 ], [ -122.675797000007989, 38.343114000563737 ], [ -122.677197000062435, 38.343214000882966 ], [ -122.680496999852735, 38.3432140006976 ], [ -122.681096999528322, 38.343214000845151 ], [ -122.684482999779462, 38.343371001033077 ], [ -122.685396999991084, 38.343414000443914 ], [ -122.685371999782291, 38.344506000873096 ], [ -122.685393000427013, 38.345635000292063 ], [ -122.685397000481359, 38.347314000990131 ], [ -122.685397000416387, 38.34801400065151 ], [ -122.685399999862781, 38.349310000966121 ], [ -122.68539299966973, 38.350604000466397 ], [ -122.685408000477523, 38.351120001031532 ], [ -122.685416000024802, 38.351533000703085 ], [ -122.685426000294015, 38.352001000733821 ], [ -122.685447999752469, 38.352702000640591 ], [ -122.685450999682018, 38.353030000560345 ], [ -122.685447999497924, 38.353478000593213 ], [ -122.685450999671062, 38.354016001136692 ], [ -122.685461000396927, 38.354325001056601 ], [ -122.685493000170695, 38.35445800063264 ], [ -122.685578999655021, 38.354655000919202 ], [ -122.685593000094073, 38.354942000725238 ], [ -122.685597000268814, 38.357212000528719 ], [ -122.685597000036097, 38.358507000315413 ], [ -122.685596999535079, 38.359535000967469 ], [ -122.685597000151034, 38.36061300085759 ], [ -122.685596999971111, 38.361313000737141 ], [ -122.685670999564394, 38.362159001012074 ], [ -122.685672000317354, 38.362318000691445 ], [ -122.685674999428898, 38.36270600042635 ], [ -122.685687000206016, 38.364396000987895 ], [ -122.685701999795427, 38.364949000333404 ], [ -122.685705000496156, 38.365095000539434 ], [ -122.685697000252901, 38.367113000968985 ], [ -122.685696999968201, 38.367513000338704 ], [ -122.68569700028695, 38.368213000298809 ], [ -122.685696999610585, 38.369013000663102 ], [ -122.685696999582717, 38.370813001087768 ], [ -122.685696999504785, 38.371413001106376 ], [ -122.686507000146051, 38.371416000694332 ], [ -122.687391000124336, 38.371413000569589 ], [ -122.687533000478098, 38.37140700110389 ], [ -122.687621999791858, 38.371397000296021 ], [ -122.687707000098058, 38.371382000461921 ], [ -122.687824999849397, 38.371351000584319 ], [ -122.687937000301957, 38.371310000796051 ], [ -122.688051000268445, 38.371288000539273 ], [ -122.688138999669604, 38.371265000944462 ], [ -122.688277000365744, 38.371249000706946 ], [ -122.688479000144952, 38.371242000623852 ], [ -122.689098000192075, 38.37122000085369 ], [ -122.689741999606809, 38.371276000525199 ], [ -122.689726999692112, 38.371732001121373 ], [ -122.689697000349042, 38.371913000407794 ], [ -122.688496999777911, 38.372113000460146 ], [ -122.688445000358087, 38.372480000709672 ], [ -122.688096999907131, 38.374913000446597 ], [ -122.688096999937699, 38.375313001108836 ], [ -122.68806799980338, 38.375713000290681 ], [ -122.687996999482536, 38.376713000732472 ], [ -122.687197000442922, 38.376713000372263 ], [ -122.686897000353781, 38.379513000267309 ], [ -122.685797000178027, 38.379613001010917 ], [ -122.685705000055918, 38.381176000730783 ], [ -122.685796999689089, 38.382513000242049 ], [ -122.684097000121724, 38.380813000728963 ], [ -122.683197000129383, 38.380613000325283 ], [ -122.676297000132706, 38.376413001034969 ], [ -122.672296999643933, 38.374913000793988 ], [ -122.668096999897244, 38.373313000531489 ], [ -122.667497000259615, 38.372513000688066 ], [ -122.667196999541432, 38.372213000874638 ], [ -122.667096999754406, 38.37071300108753 ], [ -122.667096999704157, 38.368113000456546 ], [ -122.667096999967043, 38.367413000783863 ], [ -122.667097000462917, 38.365313000362576 ], [ -122.6670970000213, 38.364908000985132 ], [ -122.667097000421663, 38.362513000732491 ], [ -122.66699700008418, 38.362113001111503 ], [ -122.667097000004091, 38.362013000624593 ], [ -122.666996999782739, 38.36181300031101 ], [ -122.666996999956126, 38.360913000524192 ], [ -122.666997000464022, 38.358013000872724 ], [ -122.666997000200567, 38.355613000479231 ], [ -122.666243000084464, 38.355801000410018 ], [ -122.665739000299908, 38.355778000983072 ], [ -122.665342999927702, 38.355397000473737 ], [ -122.664992000226022, 38.355336000479262 ], [ -122.663420000168173, 38.35621300057111 ], [ -122.662597000498323, 38.356313000779181 ], [ -122.658842000459074, 38.356602000642077 ], [ -122.657346999619165, 38.356244000879506 ], [ -122.656447000304496, 38.355046000946558 ], [ -122.65546899940918, 38.354283001104449 ], [ -122.652401999510971, 38.352986000978973 ], [ -122.65093700003608, 38.351949000436257 ], [ -122.650769000096304, 38.351666000934166 ], [ -122.650754000083722, 38.351323000521255 ], [ -122.6501610005092, 38.350854000796488 ], [ -122.647503999931047, 38.348752000968418 ], [ -122.643308000123994, 38.347287000963675 ], [ -122.641874000531445, 38.347447000685193 ], [ -122.641595999842423, 38.347513000257912 ], [ -122.641523000027902, 38.34804200060875 ], [ -122.640881999507371, 38.348149001005545 ], [ -122.638485999387569, 38.348698001027195 ], [ -122.63772300030503, 38.350812000374759 ], [ -122.637734999874667, 38.351033000563724 ], [ -122.637783999966899, 38.351895000748755 ], [ -122.637596000044368, 38.352413000264313 ], [ -122.637693000529623, 38.352834000314544 ], [ -122.637784000352482, 38.35336000041972 ], [ -122.637695999540369, 38.353613000716848 ], [ -122.637521999633776, 38.353960000315823 ], [ -122.637496000059414, 38.354013000664921 ], [ -122.63709599941518, 38.354513000288932 ], [ -122.636899000452715, 38.354878001008501 ], [ -122.63686900014396, 38.355450000628146 ], [ -122.636696000322317, 38.355813000627954 ], [ -122.636595999611643, 38.356013001058798 ], [ -122.636274000044708, 38.356396000964899 ], [ -122.636242999782894, 38.357083000529506 ], [ -122.636295999532749, 38.357913001115769 ], [ -122.636495999719031, 38.358513000994897 ], [ -122.636411000179365, 38.358556001029527 ], [ -122.635795999981625, 38.359613000397673 ], [ -122.635388999604004, 38.360066000674202 ], [ -122.632556999922514, 38.363223000968041 ], [ -122.632295999422254, 38.363513000579033 ], [ -122.630871999886182, 38.364774000348362 ], [ -122.629270000276676, 38.365239001032784 ], [ -122.628475999509931, 38.365598000604251 ], [ -122.627796000096097, 38.366113000815673 ], [ -122.627536999475879, 38.366175000309468 ], [ -122.627239999804317, 38.366246000668241 ], [ -122.62650799971486, 38.366124000524458 ], [ -122.626095999814822, 38.366413000325402 ], [ -122.625942999603907, 38.366513000253612 ], [ -122.625851999953866, 38.366757000670781 ], [ -122.625805999462727, 38.367047000968611 ], [ -122.62569900012879, 38.367261000534803 ], [ -122.625395999996584, 38.367313000762699 ], [ -122.625089000283523, 38.3674510007123 ], [ -122.624768000472613, 38.367650000691917 ], [ -122.624432999510276, 38.368054000729948 ], [ -122.624050000339395, 38.368451001044185 ], [ -122.623836999424555, 38.36870300077485 ], [ -122.623794999388949, 38.368913001016956 ], [ -122.623547000350072, 38.368611000824181 ], [ -122.623272000518497, 38.368146000908702 ], [ -122.622539999897995, 38.367627000909039 ], [ -122.621899000222626, 38.367169001103107 ], [ -122.62107499994373, 38.367032001029308 ], [ -122.620533000002908, 38.367006000528995 ], [ -122.619930000214993, 38.366978000946339 ], [ -122.618832000240289, 38.367055000927827 ], [ -122.617961999774749, 38.367268001006842 ], [ -122.617443000312633, 38.367619001014873 ], [ -122.616604000166703, 38.367841000767356 ], [ -122.615855999805277, 38.367810000560837 ], [ -122.615594999936789, 38.367813000580838 ], [ -122.615444000155549, 38.367512000604108 ], [ -122.615047999662877, 38.367162000352458 ], [ -122.614436999913934, 38.366933001071807 ], [ -122.613780999956276, 38.36692500111527 ], [ -122.61338399979833, 38.366864000698158 ], [ -122.612682999805557, 38.366574000414978 ], [ -122.612453000151859, 38.366497000944008 ], [ -122.61204199968013, 38.366360000449951 ], [ -122.611720999794201, 38.366330000292592 ], [ -122.611355000322192, 38.366277000346116 ], [ -122.61080599983282, 38.36602500082661 ], [ -122.610438999532292, 38.36584200054677 ], [ -122.60981400039951, 38.365796000886562 ], [ -122.60924499947464, 38.365619000761413 ], [ -122.608684999560936, 38.365445001070569 ], [ -122.607861000178005, 38.365300000794242 ], [ -122.606776999568169, 38.365178001088275 ], [ -122.605969000027557, 38.364857000533853 ], [ -122.604777999453063, 38.364346001082119 ], [ -122.603969999734062, 38.3638500005125 ], [ -122.602749000277029, 38.363141000729364 ], [ -122.602229999982342, 38.3629730004414 ], [ -122.601910000095245, 38.362729000708335 ], [ -122.601665999813221, 38.362317000628167 ], [ -122.601543999754767, 38.361813000826388 ], [ -122.600978999591277, 38.361241000503405 ], [ -122.600383999558943, 38.360753000611325 ], [ -122.600231000088172, 38.360356000293677 ], [ -122.60007900034978, 38.359990000952138 ], [ -122.599758000175555, 38.359616000303113 ], [ -122.599651999550147, 38.359181000622158 ], [ -122.599575000209086, 38.35837200030322 ], [ -122.599526999666338, 38.357920000311424 ], [ -122.59948400008318, 38.357510000241653 ], [ -122.599621000212011, 38.356877000813789 ], [ -122.59952899964442, 38.356244000622617 ], [ -122.599422999482371, 38.355847000868295 ], [ -122.598889000415468, 38.355290000471122 ], [ -122.598629000378665, 38.354901000484148 ], [ -122.598507000352285, 38.354375000626426 ], [ -122.598065000183169, 38.353947000735594 ], [ -122.597591999797999, 38.353398000821215 ], [ -122.59734700033826, 38.352841000520534 ], [ -122.596935000176558, 38.35243700084051 ], [ -122.596523000355134, 38.352299000618352 ], [ -122.595699000482099, 38.352155000880963 ], [ -122.595394000119882, 38.351857000590392 ], [ -122.594798999410855, 38.351468000842758 ], [ -122.594174000320166, 38.351270001120781 ], [ -122.593350000205177, 38.350919001027393 ], [ -122.592831000184503, 38.350659001031147 ], [ -122.592540999455139, 38.350705000989279 ], [ -122.591900000407279, 38.350667001142583 ], [ -122.591137000177042, 38.350491000495772 ], [ -122.590099999396585, 38.350423000709505 ], [ -122.589077000264055, 38.35027000069239 ], [ -122.588679999847315, 38.350384000575453 ], [ -122.588359999692742, 38.350827000527516 ], [ -122.587718999549509, 38.351247000323767 ], [ -122.586772999895018, 38.351384001028926 ], [ -122.586481999423782, 38.351407001081505 ], [ -122.586237999430907, 38.351247001083458 ], [ -122.586054999874918, 38.351002000979911 ], [ -122.585657999496519, 38.350720000717274 ], [ -122.58270700030964, 38.350264000291453 ], [ -122.582011000007583, 38.350156000820689 ], [ -122.581494000399672, 38.350013000653064 ], [ -122.581081000110487, 38.349873000483903 ], [ -122.58095899947817, 38.349591000308358 ], [ -122.580974000141765, 38.349034000541998 ], [ -122.580775000112865, 38.34797400064047 ], [ -122.580240999978059, 38.347028000488386 ], [ -122.579372000116024, 38.346028000703434 ], [ -122.578502000369241, 38.345052000467753 ], [ -122.577356999612448, 38.344075001054151 ], [ -122.576578999929708, 38.343220000881608 ], [ -122.575603000141115, 38.342259000797213 ], [ -122.57468700023874, 38.341443001095115 ], [ -122.573618999785069, 38.340321000633828 ], [ -122.573299000119661, 38.339803000974584 ], [ -122.573039000512694, 38.338788001055626 ], [ -122.573024000426173, 38.33822300099267 ], [ -122.573253000301008, 38.337621000317519 ], [ -122.573465999713235, 38.336972000245034 ], [ -122.573507000494544, 38.336449001085406 ], [ -122.573526999715369, 38.336194000700146 ], [ -122.573527000271127, 38.335393000555072 ], [ -122.573328999686183, 38.334935000335555 ], [ -122.573193999561965, 38.3346130006558 ], [ -122.572977999966412, 38.334622000850317 ], [ -122.572693999600503, 38.334713000294897 ], [ -122.572169000247868, 38.334889000375419 ], [ -122.571864000379065, 38.334897000581627 ], [ -122.571773000082416, 38.334554000758196 ], [ -122.571620000418974, 38.333874000843437 ], [ -122.571468000496409, 38.333470000560176 ], [ -122.570918000239132, 38.332982000654169 ], [ -122.570459999982006, 38.332967000255586 ], [ -122.570293000216125, 38.332768000991798 ], [ -122.570110000203996, 38.332349000542138 ], [ -122.56959100015284, 38.331990000529494 ], [ -122.569031000453748, 38.33174200112974 ], [ -122.568919000368808, 38.331692000960906 ], [ -122.568140999561521, 38.331197000560529 ], [ -122.56779000005038, 38.330884000759752 ], [ -122.567454000319188, 38.330640000458295 ], [ -122.567209999920223, 38.330281000702435 ], [ -122.567271000258245, 38.329785000463154 ], [ -122.567256000057839, 38.329510000467778 ], [ -122.567041999999361, 38.329274000471855 ], [ -122.566694000495119, 38.329113000501557 ], [ -122.566593999552992, 38.328913000595058 ], [ -122.566568999696983, 38.328801000253897 ], [ -122.566675999667893, 38.328587000318045 ], [ -122.566794000527622, 38.328413000700962 ], [ -122.567633000384347, 38.328132000881453 ], [ -122.568094999858161, 38.327978000637245 ], [ -122.568355000151598, 38.327802000611037 ], [ -122.56881299983894, 38.327429001046056 ], [ -122.569255000441984, 38.327253001062594 ], [ -122.569788999652971, 38.327169000485988 ], [ -122.570383999850264, 38.32719200091902 ], [ -122.573206999409351, 38.32752800104867 ], [ -122.573493999791111, 38.327614000796302 ], [ -122.573924000514367, 38.327871000417467 ], [ -122.574274999574385, 38.327688000667798 ], [ -122.574886000137724, 38.32744400076816 ], [ -122.575450000066184, 38.327230000850228 ], [ -122.576136999656853, 38.327207000593198 ], [ -122.576624999648175, 38.327337000689319 ], [ -122.57738800036114, 38.327352000296038 ], [ -122.577845999977782, 38.32746700062777 ], [ -122.578288000074181, 38.327841000424939 ], [ -122.579050999760284, 38.328535000423464 ], [ -122.579692000281014, 38.329244000895301 ], [ -122.580348000520317, 38.329672000870438 ], [ -122.581064999805449, 38.330000000597067 ], [ -122.581432000147757, 38.330320000694293 ], [ -122.582026999503441, 38.331213001060142 ], [ -122.583004000060868, 38.331982001015994 ], [ -122.583694999727712, 38.332413000464342 ], [ -122.584361999905198, 38.332501000518008 ], [ -122.585399999823551, 38.332631000504819 ], [ -122.585751000073586, 38.332654001108651 ], [ -122.586346000023468, 38.332898000390003 ], [ -122.587750000291351, 38.333791000418906 ], [ -122.588451999995769, 38.334279000848973 ], [ -122.588619000133292, 38.334424000367939 ], [ -122.588864000116246, 38.334851000387111 ], [ -122.589641999461534, 38.335065000416506 ], [ -122.59019499998513, 38.335313000473256 ], [ -122.591503000085723, 38.335843000704166 ], [ -122.591930999975688, 38.33588900084257 ], [ -122.592343000393612, 38.335660001041191 ], [ -122.592525999648686, 38.33556800107219 ], [ -122.592769999894202, 38.335301000320186 ], [ -122.592799999796583, 38.334012000327547 ], [ -122.592860999670108, 38.333608000844599 ], [ -122.593242999921387, 38.333441000305527 ], [ -122.594021000098422, 38.333303000927721 ], [ -122.595195999548707, 38.33322700054795 ], [ -122.596141999544159, 38.333235000697478 ], [ -122.596629999803156, 38.33309700067845 ], [ -122.596798000117872, 38.332861000966666 ], [ -122.597103000061907, 38.331625000469209 ], [ -122.597027000001432, 38.331426001081041 ], [ -122.596493000002624, 38.331129001046278 ], [ -122.595791000083665, 38.330763000705254 ], [ -122.595272000145386, 38.330313001051202 ], [ -122.594859999476412, 38.329595001085956 ], [ -122.594694999656696, 38.32911400112836 ], [ -122.594891000148479, 38.328893000846833 ], [ -122.595515999740712, 38.328642000438265 ], [ -122.596279000532576, 38.32847400052637 ], [ -122.596767999424927, 38.328451000685448 ], [ -122.597392999944759, 38.328466000355668 ], [ -122.597881000087739, 38.328146000587957 ], [ -122.598582999826448, 38.327917000841765 ], [ -122.599590000228957, 38.327970001097647 ], [ -122.600413999917478, 38.328199000493491 ], [ -122.601345000120261, 38.328367000917545 ], [ -122.602032000521277, 38.328276000450337 ], [ -122.60241300042928, 38.328138000563271 ], [ -122.602993000324929, 38.328008000260311 ], [ -122.603802000007917, 38.327978000424743 ], [ -122.6045189998691, 38.328031000345263 ], [ -122.605144999653845, 38.328085000846222 ], [ -122.605601999565025, 38.327917000991874 ], [ -122.606166999803349, 38.327909000447974 ], [ -122.607310999821109, 38.327772000454488 ], [ -122.608868000061761, 38.327429000447701 ], [ -122.609325999617155, 38.327215000261909 ], [ -122.609981999996862, 38.326773000980261 ], [ -122.610333000037045, 38.326582000965878 ], [ -122.610729000499589, 38.3265210009885 ], [ -122.611903999673089, 38.326322000842666 ], [ -122.612041999735496, 38.326208000561792 ], [ -122.612286000039703, 38.325834000893472 ], [ -122.612530000017614, 38.325529001050846 ], [ -122.612758999596352, 38.325399000762523 ], [ -122.6131099997083, 38.325285001107666 ], [ -122.613323000481756, 38.325369001101734 ], [ -122.613444999959299, 38.325254000994541 ], [ -122.613766000103624, 38.325292001053391 ], [ -122.614071000187977, 38.325224001081395 ], [ -122.614208000092006, 38.325117001131161 ], [ -122.614346000521167, 38.325064000915908 ], [ -122.61462000023333, 38.32520100068664 ], [ -122.615032000195527, 38.325147000756075 ], [ -122.617100999737147, 38.324714000510561 ], [ -122.61739800022994, 38.324652000424543 ], [ -122.61779499942881, 38.324560000728461 ], [ -122.61820700038389, 38.324270001132525 ], [ -122.618664999692214, 38.323828000348691 ], [ -122.61991599979693, 38.322439000358536 ], [ -122.620083999751671, 38.322149000657056 ], [ -122.620342999887725, 38.321836001051778 ], [ -122.620633000512981, 38.321722000288496 ], [ -122.621854000465902, 38.321745000747484 ], [ -122.622570999951037, 38.321844001100203 ], [ -122.622845999523619, 38.321707001117574 ], [ -122.623075000029218, 38.321485000400166 ], [ -122.623502000090411, 38.321508000608567 ], [ -122.623896000118336, 38.321414000433421 ], [ -122.624067000006264, 38.321417000906123 ], [ -122.624311000369588, 38.321287000749294 ], [ -122.624646000069518, 38.320959000467383 ], [ -122.625096000278845, 38.32071400028935 ], [ -122.625745000004656, 38.320593001034325 ], [ -122.626095999976229, 38.320614000866065 ], [ -122.627194999749662, 38.321119001058804 ], [ -122.62849600020138, 38.321814000463604 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1349, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.705697000035372, 38.43231200111201 ], [ -122.704497000034777, 38.432612000465873 ], [ -122.69929699965229, 38.433811000341016 ], [ -122.697987000301453, 38.434034000864273 ], [ -122.696096999918311, 38.434311000945868 ], [ -122.692596999629799, 38.435111000672208 ], [ -122.691636999495444, 38.435431000682996 ], [ -122.69019700003571, 38.435911000766922 ], [ -122.687196999680893, 38.436711000630559 ], [ -122.68749700040803, 38.435411001129658 ], [ -122.687597000138965, 38.434611000655984 ], [ -122.689096999918362, 38.432811000389968 ], [ -122.687896999978435, 38.432711000517017 ], [ -122.685597000359024, 38.432311000925971 ], [ -122.685596999634868, 38.429958000641903 ], [ -122.685596999916484, 38.429611000919103 ], [ -122.68559499959909, 38.428748000906246 ], [ -122.685594000492813, 38.428228000955961 ], [ -122.685584000125814, 38.423688000509934 ], [ -122.685480999700289, 38.423580001097591 ], [ -122.676934000180367, 38.414664000588957 ], [ -122.676597000329153, 38.414312000678869 ], [ -122.675213000245421, 38.412195000998921 ], [ -122.675040000365897, 38.411931001083296 ], [ -122.674897000127629, 38.41171200108942 ], [ -122.6750259996832, 38.410904001138427 ], [ -122.67649699984193, 38.401712000852186 ], [ -122.674752000311017, 38.400652000497054 ], [ -122.665296999495823, 38.394912000974387 ], [ -122.663096000433072, 38.389712000364604 ], [ -122.666396999859074, 38.389512000440355 ], [ -122.664624000464784, 38.386710000487312 ], [ -122.663296999781807, 38.384613000286755 ], [ -122.66369700029324, 38.38411300032562 ], [ -122.667596999992767, 38.384113000621511 ], [ -122.667296999656656, 38.383513000982582 ], [ -122.668397000010685, 38.382113000901434 ], [ -122.6698970003049, 38.382913001138483 ], [ -122.672397000448143, 38.382413000476468 ], [ -122.675996999752044, 38.384313000582253 ], [ -122.677097000224009, 38.382313000277904 ], [ -122.681397000037634, 38.384813001096468 ], [ -122.682496999808407, 38.383513000412364 ], [ -122.683197000129383, 38.380613000325283 ], [ -122.684097000121724, 38.380813000728963 ], [ -122.685796999689089, 38.382513000242049 ], [ -122.686996999990527, 38.384113000528757 ], [ -122.687197000315521, 38.384313000396169 ], [ -122.688396999881533, 38.386513000687266 ], [ -122.689096999652804, 38.387913000844605 ], [ -122.693796999528217, 38.396412000802037 ], [ -122.702298000100029, 38.408912000557578 ], [ -122.704198000056749, 38.41121200094981 ], [ -122.704167999841118, 38.411803001039701 ], [ -122.704098000201029, 38.413212000318914 ], [ -122.704039000149834, 38.415105001071943 ], [ -122.703997999781919, 38.416412001085035 ], [ -122.704055000304123, 38.416872000434694 ], [ -122.704098000363544, 38.417212000776061 ], [ -122.704191000020131, 38.418095000555397 ], [ -122.704281000274577, 38.418957000381326 ], [ -122.704297000379654, 38.419112000597039 ], [ -122.704370000067527, 38.419190000838555 ], [ -122.704745999611532, 38.419592000909759 ], [ -122.705553999929265, 38.420457000344577 ], [ -122.706356999735675, 38.421318000881072 ], [ -122.707098000396144, 38.422112000825294 ], [ -122.707598000271403, 38.422912000901846 ], [ -122.70809800044259, 38.423812001060071 ], [ -122.708417999734039, 38.42438700048563 ], [ -122.708598000356432, 38.424712000767002 ], [ -122.708797999638875, 38.424912000502808 ], [ -122.709297999580926, 38.425712001111492 ], [ -122.709797999508766, 38.42671200041277 ], [ -122.710298000201249, 38.4276120005946 ], [ -122.710698000386316, 38.428712000385225 ], [ -122.711097999672802, 38.430112000735505 ], [ -122.711098000483261, 38.430412001035613 ], [ -122.711214999988826, 38.430705000625636 ], [ -122.711297999856484, 38.430912001123559 ], [ -122.70999800026901, 38.431212000703702 ], [ -122.705697000035372, 38.43231200111201 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1348, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.686897000353781, 38.379513000267309 ], [ -122.68969699975581, 38.379413000440465 ], [ -122.693496999915766, 38.379513000809723 ], [ -122.694896999396889, 38.37931300112929 ], [ -122.706298000321326, 38.379313000932861 ], [ -122.713137999552472, 38.379312001020004 ], [ -122.713163000470615, 38.377196000401867 ], [ -122.713170000396588, 38.376518001021886 ], [ -122.713181000089605, 38.376215000336941 ], [ -122.713170000190573, 38.375669000459446 ], [ -122.713171000513086, 38.374985000256416 ], [ -122.713169999779993, 38.373616000915064 ], [ -122.713158999976812, 38.37334700103326 ], [ -122.713169999557252, 38.372403000322663 ], [ -122.713148000211504, 38.371727000466102 ], [ -122.713136999946428, 38.370133000848924 ], [ -122.713197999893154, 38.370213000901622 ], [ -122.714397999625746, 38.371913000961662 ], [ -122.714697999709813, 38.37231300067257 ], [ -122.714951000361935, 38.373000001003319 ], [ -122.715017000163911, 38.373555000985988 ], [ -122.715097999971306, 38.376213000948312 ], [ -122.715698000325958, 38.381913000316516 ], [ -122.715809000237286, 38.38612300078087 ], [ -122.715797999394979, 38.388013000374293 ], [ -122.715798000369816, 38.388413000377867 ], [ -122.715798000423035, 38.388913000566426 ], [ -122.715761999405558, 38.390821001039214 ], [ -122.715717999709469, 38.394325001113998 ], [ -122.715698000344943, 38.396614000537433 ], [ -122.715698000254534, 38.396912000954416 ], [ -122.715697999889457, 38.397313000707726 ], [ -122.715698000138559, 38.398906000887955 ], [ -122.715697999823632, 38.398940000541216 ], [ -122.71569799963514, 38.4000120007166 ], [ -122.715697999710557, 38.401676000520546 ], [ -122.715697999693106, 38.401826000512088 ], [ -122.71569799954338, 38.401912000865664 ], [ -122.715698000019145, 38.404612000920451 ], [ -122.71571699944873, 38.405369000399794 ], [ -122.715728000129843, 38.405812000810364 ], [ -122.715764999846613, 38.410662001093272 ], [ -122.7157979996595, 38.412600000419189 ], [ -122.715835999570984, 38.413501001010225 ], [ -122.715798000046235, 38.414412001012955 ], [ -122.71579800010575, 38.416336000581566 ], [ -122.71579800018462, 38.416812000613568 ], [ -122.715777000309728, 38.416937000728403 ], [ -122.715497999885102, 38.419012001042177 ], [ -122.715379000244269, 38.419848000985311 ], [ -122.715318999745094, 38.42026400028643 ], [ -122.715298000522026, 38.420412000346317 ], [ -122.715297999883873, 38.420547000805833 ], [ -122.715297999487944, 38.420712000262697 ], [ -122.715254000217612, 38.421409000794256 ], [ -122.715181999978171, 38.421963001093545 ], [ -122.715067999409627, 38.423504000801231 ], [ -122.714899999582698, 38.424838000322012 ], [ -122.714892000136942, 38.425326000692188 ], [ -122.714938999973214, 38.425917000283938 ], [ -122.714978999521023, 38.426278000879684 ], [ -122.715050000251438, 38.42681000074144 ], [ -122.71502899987162, 38.427018000318832 ], [ -122.71501899950141, 38.427148000663536 ], [ -122.715045999775356, 38.428210000984627 ], [ -122.715086000271683, 38.429136000557861 ], [ -122.715097999656123, 38.429412000838283 ], [ -122.715218999430633, 38.430404000641694 ], [ -122.715315000135917, 38.431188000691634 ], [ -122.715097999509254, 38.431112000561022 ], [ -122.71474499983249, 38.431036000706399 ], [ -122.714544999706078, 38.431028001114576 ], [ -122.712557999868949, 38.430914000826121 ], [ -122.711297999856484, 38.430912001123559 ], [ -122.711214999988826, 38.430705000625636 ], [ -122.711098000483261, 38.430412001035613 ], [ -122.711097999672802, 38.430112000735505 ], [ -122.710698000386316, 38.428712000385225 ], [ -122.710298000201249, 38.4276120005946 ], [ -122.709797999508766, 38.42671200041277 ], [ -122.709297999580926, 38.425712001111492 ], [ -122.708797999638875, 38.424912000502808 ], [ -122.708598000356432, 38.424712000767002 ], [ -122.708417999734039, 38.42438700048563 ], [ -122.70809800044259, 38.423812001060071 ], [ -122.707598000271403, 38.422912000901846 ], [ -122.707098000396144, 38.422112000825294 ], [ -122.706356999735675, 38.421318000881072 ], [ -122.705553999929265, 38.420457000344577 ], [ -122.704745999611532, 38.419592000909759 ], [ -122.704370000067527, 38.419190000838555 ], [ -122.704297000379654, 38.419112000597039 ], [ -122.704281000274577, 38.418957000381326 ], [ -122.704191000020131, 38.418095000555397 ], [ -122.704098000363544, 38.417212000776061 ], [ -122.704055000304123, 38.416872000434694 ], [ -122.703997999781919, 38.416412001085035 ], [ -122.704039000149834, 38.415105001071943 ], [ -122.704098000201029, 38.413212000318914 ], [ -122.704167999841118, 38.411803001039701 ], [ -122.704198000056749, 38.41121200094981 ], [ -122.702298000100029, 38.408912000557578 ], [ -122.693796999528217, 38.396412000802037 ], [ -122.689096999652804, 38.387913000844605 ], [ -122.688396999881533, 38.386513000687266 ], [ -122.687197000315521, 38.384313000396169 ], [ -122.686996999990527, 38.384113000528757 ], [ -122.685796999689089, 38.382513000242049 ], [ -122.685705000055918, 38.381176000730783 ], [ -122.685797000178027, 38.379613001010917 ], [ -122.686897000353781, 38.379513000267309 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1350, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.685397000361121, 38.438411000833753 ], [ -122.684996999794222, 38.438411000477963 ], [ -122.683097000095884, 38.438211000470702 ], [ -122.682696999620674, 38.437611000924754 ], [ -122.682396999801625, 38.437311000441838 ], [ -122.682397000478034, 38.436611000674183 ], [ -122.681796999773738, 38.436511000283183 ], [ -122.681701999602467, 38.436320000938188 ], [ -122.681496999424368, 38.435911000342813 ], [ -122.681197000105215, 38.435611000326247 ], [ -122.677577999948213, 38.43428700030416 ], [ -122.677097000226865, 38.434111000530642 ], [ -122.674697000329587, 38.434211000370482 ], [ -122.673897000278231, 38.433111000847269 ], [ -122.673802000515735, 38.433116000465851 ], [ -122.672096000395584, 38.433211000586716 ], [ -122.671942000089871, 38.433006000743312 ], [ -122.671495999985183, 38.432411000536241 ], [ -122.670896000448394, 38.432611001042851 ], [ -122.669895999486982, 38.43201100029313 ], [ -122.669545999589729, 38.432361000289376 ], [ -122.669195999737568, 38.432711001016244 ], [ -122.667995999659666, 38.432311000260654 ], [ -122.666768000128343, 38.431697000313825 ], [ -122.666395999435139, 38.431511000714799 ], [ -122.665895999693149, 38.431711000726651 ], [ -122.665396000259506, 38.430811000907681 ], [ -122.665096000386526, 38.431211000329114 ], [ -122.664496000423142, 38.430111000379235 ], [ -122.662696000043795, 38.428911000687876 ], [ -122.661696000517225, 38.427111000572289 ], [ -122.661895999774657, 38.425711000483858 ], [ -122.658696000066072, 38.424911000560215 ], [ -122.658696000520706, 38.422812000768609 ], [ -122.656696000117677, 38.420212000452501 ], [ -122.657795999765213, 38.417612000436854 ], [ -122.657864999593386, 38.417415000985315 ], [ -122.657895000344595, 38.417133000642444 ], [ -122.657795999598093, 38.41701200102441 ], [ -122.657575000160335, 38.416660000556746 ], [ -122.657315000329859, 38.416347000472946 ], [ -122.657041000126469, 38.41600400040101 ], [ -122.657025999839391, 38.415683000607672 ], [ -122.656994999538895, 38.41537100043962 ], [ -122.657041000086721, 38.414516000248156 ], [ -122.657101999905905, 38.414242000709145 ], [ -122.65699599982085, 38.414012000450043 ], [ -122.656476000174123, 38.413990000778739 ], [ -122.655850999931971, 38.413860000738545 ], [ -122.655026999466102, 38.413799000597088 ], [ -122.653795999736445, 38.413812001051099 ], [ -122.652416999933081, 38.413692000644069 ], [ -122.65212700043179, 38.413654000859822 ], [ -122.651913999605682, 38.413471000662021 ], [ -122.651654000081734, 38.413257000731086 ], [ -122.651226999551739, 38.412678000280387 ], [ -122.651104999473887, 38.412548000795525 ], [ -122.650876000260965, 38.412441000737061 ], [ -122.649396000467647, 38.412060000569618 ], [ -122.646772000259034, 38.411319000482038 ], [ -122.645595999606343, 38.410612000921674 ], [ -122.644742000188515, 38.410022001123785 ], [ -122.644222999741217, 38.409519000822421 ], [ -122.643780999598533, 38.408848000933887 ], [ -122.643796000361647, 38.40801200075061 ], [ -122.643780999398615, 38.407299001051975 ], [ -122.64229600020127, 38.405212000707422 ], [ -122.638912999534554, 38.400333000697849 ], [ -122.638653999933467, 38.399990000474325 ], [ -122.638227000411348, 38.399639001105079 ], [ -122.637875999981276, 38.399326000790985 ], [ -122.63779600033746, 38.399212001069316 ], [ -122.63755500029896, 38.398838000496156 ], [ -122.637448999518909, 38.398586000337879 ], [ -122.637195999982609, 38.398312000506586 ], [ -122.637082000451812, 38.398288000372709 ], [ -122.636838000067073, 38.398212000521241 ], [ -122.632296000043311, 38.397712001098689 ], [ -122.629694999868747, 38.397612000768376 ], [ -122.626095000138605, 38.397512001126849 ], [ -122.623895000045962, 38.397512000456061 ], [ -122.624694999455201, 38.396312000449853 ], [ -122.626094999781571, 38.394612000885949 ], [ -122.626385000011638, 38.394176000926358 ], [ -122.626689999444011, 38.393619000844147 ], [ -122.62720899984491, 38.392963000672147 ], [ -122.627695000210394, 38.392012000684765 ], [ -122.62819499973422, 38.391312000840962 ], [ -122.628654999489569, 38.390469000773443 ], [ -122.628796000399205, 38.390212000558343 ], [ -122.629695999434347, 38.388612000887278 ], [ -122.630368000029094, 38.387531000466403 ], [ -122.630395999457392, 38.387412000740277 ], [ -122.630490999723108, 38.387188000380739 ], [ -122.63055199983711, 38.386608000381528 ], [ -122.630491000112301, 38.385792001007026 ], [ -122.630096000241522, 38.385012001083545 ], [ -122.629995999640101, 38.383012000741566 ], [ -122.629361000263629, 38.381817000371242 ], [ -122.629163000403736, 38.381077000420106 ], [ -122.628873000050362, 38.380687000480293 ], [ -122.628495999924624, 38.380512000251983 ], [ -122.628217000402969, 38.380336001059298 ], [ -122.627590999671895, 38.380001000818133 ], [ -122.627041999985963, 38.379513000251549 ], [ -122.626461999804647, 38.379085000259657 ], [ -122.626337999832941, 38.378891000757953 ], [ -122.626095000509949, 38.378513001090809 ], [ -122.625595999582302, 38.377449001135297 ], [ -122.625468999673799, 38.377179000488063 ], [ -122.625194999469954, 38.376584000482161 ], [ -122.625026999701831, 38.376294000675827 ], [ -122.624895000439238, 38.376013001011131 ], [ -122.624980999900998, 38.375737000282655 ], [ -122.624905000470804, 38.37552300035351 ], [ -122.624695000026151, 38.37491300096471 ], [ -122.62467600039696, 38.374669000292307 ], [ -122.624495000134118, 38.374413001004513 ], [ -122.624232999968328, 38.374150000655803 ], [ -122.624004999929227, 38.373715000349144 ], [ -122.623995000126513, 38.37351300037642 ], [ -122.623866999626784, 38.373044000763343 ], [ -122.623805999642471, 38.372258000780825 ], [ -122.623776000486245, 38.371556000901542 ], [ -122.623837000067923, 38.370633000789446 ], [ -122.623795000274086, 38.370213000793221 ], [ -122.62385200052428, 38.369672000425815 ], [ -122.623794999388949, 38.368913001016956 ], [ -122.623836999424555, 38.36870300077485 ], [ -122.624050000339395, 38.368451001044185 ], [ -122.624432999510276, 38.368054000729948 ], [ -122.624768000472613, 38.367650000691917 ], [ -122.625089000283523, 38.3674510007123 ], [ -122.625395999996584, 38.367313000762699 ], [ -122.62569900012879, 38.367261000534803 ], [ -122.625805999462727, 38.367047000968611 ], [ -122.625851999953866, 38.366757000670781 ], [ -122.625942999603907, 38.366513000253612 ], [ -122.626095999814822, 38.366413000325402 ], [ -122.62650799971486, 38.366124000524458 ], [ -122.627239999804317, 38.366246000668241 ], [ -122.627536999475879, 38.366175000309468 ], [ -122.627796000096097, 38.366113000815673 ], [ -122.628475999509931, 38.365598000604251 ], [ -122.629270000276676, 38.365239001032784 ], [ -122.630871999886182, 38.364774000348362 ], [ -122.632295999422254, 38.363513000579033 ], [ -122.632556999922514, 38.363223000968041 ], [ -122.635388999604004, 38.360066000674202 ], [ -122.635795999981625, 38.359613000397673 ], [ -122.636411000179365, 38.358556001029527 ], [ -122.636495999719031, 38.358513000994897 ], [ -122.636295999532749, 38.357913001115769 ], [ -122.636242999782894, 38.357083000529506 ], [ -122.636274000044708, 38.356396000964899 ], [ -122.636595999611643, 38.356013001058798 ], [ -122.636696000322317, 38.355813000627954 ], [ -122.63686900014396, 38.355450000628146 ], [ -122.636899000452715, 38.354878001008501 ], [ -122.63709599941518, 38.354513000288932 ], [ -122.637496000059414, 38.354013000664921 ], [ -122.637521999633776, 38.353960000315823 ], [ -122.637695999540369, 38.353613000716848 ], [ -122.637784000352482, 38.35336000041972 ], [ -122.637693000529623, 38.352834000314544 ], [ -122.637596000044368, 38.352413000264313 ], [ -122.637783999966899, 38.351895000748755 ], [ -122.637734999874667, 38.351033000563724 ], [ -122.63772300030503, 38.350812000374759 ], [ -122.638485999387569, 38.348698001027195 ], [ -122.640881999507371, 38.348149001005545 ], [ -122.641523000027902, 38.34804200060875 ], [ -122.641595999842423, 38.347513000257912 ], [ -122.641874000531445, 38.347447000685193 ], [ -122.643308000123994, 38.347287000963675 ], [ -122.647503999931047, 38.348752000968418 ], [ -122.6501610005092, 38.350854000796488 ], [ -122.650754000083722, 38.351323000521255 ], [ -122.650769000096304, 38.351666000934166 ], [ -122.65093700003608, 38.351949000436257 ], [ -122.652401999510971, 38.352986000978973 ], [ -122.65546899940918, 38.354283001104449 ], [ -122.656447000304496, 38.355046000946558 ], [ -122.657346999619165, 38.356244000879506 ], [ -122.658842000459074, 38.356602000642077 ], [ -122.662597000498323, 38.356313000779181 ], [ -122.663420000168173, 38.35621300057111 ], [ -122.664992000226022, 38.355336000479262 ], [ -122.665342999927702, 38.355397000473737 ], [ -122.665739000299908, 38.355778000983072 ], [ -122.666243000084464, 38.355801000410018 ], [ -122.666997000200567, 38.355613000479231 ], [ -122.666997000464022, 38.358013000872724 ], [ -122.666996999956126, 38.360913000524192 ], [ -122.666996999782739, 38.36181300031101 ], [ -122.667097000004091, 38.362013000624593 ], [ -122.66699700008418, 38.362113001111503 ], [ -122.667097000421663, 38.362513000732491 ], [ -122.6670970000213, 38.364908000985132 ], [ -122.667097000462917, 38.365313000362576 ], [ -122.667096999967043, 38.367413000783863 ], [ -122.667096999704157, 38.368113000456546 ], [ -122.667096999754406, 38.37071300108753 ], [ -122.667196999541432, 38.372213000874638 ], [ -122.667497000259615, 38.372513000688066 ], [ -122.668096999897244, 38.373313000531489 ], [ -122.672296999643933, 38.374913000793988 ], [ -122.676297000132706, 38.376413001034969 ], [ -122.683197000129383, 38.380613000325283 ], [ -122.682496999808407, 38.383513000412364 ], [ -122.681397000037634, 38.384813001096468 ], [ -122.677097000224009, 38.382313000277904 ], [ -122.675996999752044, 38.384313000582253 ], [ -122.672397000448143, 38.382413000476468 ], [ -122.6698970003049, 38.382913001138483 ], [ -122.668397000010685, 38.382113000901434 ], [ -122.667296999656656, 38.383513000982582 ], [ -122.667596999992767, 38.384113000621511 ], [ -122.66369700029324, 38.38411300032562 ], [ -122.663296999781807, 38.384613000286755 ], [ -122.664624000464784, 38.386710000487312 ], [ -122.666396999859074, 38.389512000440355 ], [ -122.663096000433072, 38.389712000364604 ], [ -122.665296999495823, 38.394912000974387 ], [ -122.674752000311017, 38.400652000497054 ], [ -122.67649699984193, 38.401712000852186 ], [ -122.6750259996832, 38.410904001138427 ], [ -122.674897000127629, 38.41171200108942 ], [ -122.675040000365897, 38.411931001083296 ], [ -122.675213000245421, 38.412195000998921 ], [ -122.676597000329153, 38.414312000678869 ], [ -122.676934000180367, 38.414664000588957 ], [ -122.685480999700289, 38.423580001097591 ], [ -122.685584000125814, 38.423688000509934 ], [ -122.685594000492813, 38.428228000955961 ], [ -122.68559499959909, 38.428748000906246 ], [ -122.685596999916484, 38.429611000919103 ], [ -122.685596999634868, 38.429958000641903 ], [ -122.685597000359024, 38.432311000925971 ], [ -122.687896999978435, 38.432711000517017 ], [ -122.689096999918362, 38.432811000389968 ], [ -122.687597000138965, 38.434611000655984 ], [ -122.68749700040803, 38.435411001129658 ], [ -122.687196999680893, 38.436711000630559 ], [ -122.687175000222311, 38.436844000681788 ], [ -122.687117999487583, 38.437183000886144 ], [ -122.687096999848166, 38.437311000911116 ], [ -122.687097000003234, 38.437711000912465 ], [ -122.687096999636367, 38.438311000411105 ], [ -122.685746000370798, 38.438520000729945 ], [ -122.685397000361121, 38.438411000833753 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1358, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.685297000381397, 38.441111000412434 ], [ -122.682697000472231, 38.441611000918023 ], [ -122.680697000200226, 38.442011001099175 ], [ -122.678896999864904, 38.443311000872306 ], [ -122.674996999692695, 38.44371100035837 ], [ -122.67539700043622, 38.444211001100513 ], [ -122.676497000204847, 38.445811001017674 ], [ -122.677097000352376, 38.446411000842083 ], [ -122.677597000134028, 38.447011000909882 ], [ -122.678096999825712, 38.447811000661417 ], [ -122.678696999978357, 38.448511000267388 ], [ -122.679197000283281, 38.449311000565579 ], [ -122.682596999573647, 38.447911000830665 ], [ -122.686196999486384, 38.446811000803137 ], [ -122.687896999406789, 38.446411000726854 ], [ -122.688397000476954, 38.449111000930607 ], [ -122.686696999442631, 38.449511000768673 ], [ -122.684596999396518, 38.448811000905202 ], [ -122.683022000393393, 38.449616000869696 ], [ -122.680097000400494, 38.451111000833421 ], [ -122.679774000194953, 38.451079000360153 ], [ -122.678096999522211, 38.450911000766276 ], [ -122.677096999906283, 38.452511000807441 ], [ -122.676187000217794, 38.454819000338979 ], [ -122.675795999391539, 38.455811000275872 ], [ -122.674995999735955, 38.456311000240866 ], [ -122.673095999522872, 38.457011000792633 ], [ -122.672095999883382, 38.457611001016915 ], [ -122.671095999526386, 38.458311000561416 ], [ -122.670896000066136, 38.458411001123132 ], [ -122.670395999562402, 38.458811000756 ], [ -122.669995999414354, 38.459111000739064 ], [ -122.669161999752291, 38.459667000517108 ], [ -122.668196000097623, 38.460311000941545 ], [ -122.667896000092981, 38.460611001045748 ], [ -122.667440000478237, 38.460941000712211 ], [ -122.666599000530866, 38.461548000667612 ], [ -122.666095999452551, 38.461910000408935 ], [ -122.665895999712049, 38.461910000694949 ], [ -122.664573999944736, 38.461910001086444 ], [ -122.664338999575364, 38.46191000033766 ], [ -122.663995999945584, 38.461910000345569 ], [ -122.662496000460166, 38.461610000902539 ], [ -122.661195999779352, 38.461510000665726 ], [ -122.659596000385946, 38.461910000284568 ], [ -122.658719999768152, 38.462136000828842 ], [ -122.657728999925908, 38.462392001003032 ], [ -122.656496000088964, 38.462710000829908 ], [ -122.655096000045063, 38.463010000829655 ], [ -122.652596000240891, 38.46181000028696 ], [ -122.650409000419216, 38.460810000588928 ], [ -122.64953599969482, 38.460411000939452 ], [ -122.649095999454232, 38.460210000732964 ], [ -122.648497000505216, 38.460316000379287 ], [ -122.648407000160745, 38.460332000861499 ], [ -122.647395999668959, 38.460510000384787 ], [ -122.646195999881783, 38.461010000605974 ], [ -122.645995999944347, 38.461110000897499 ], [ -122.64568200017807, 38.460817000318428 ], [ -122.645098999838169, 38.460273000682264 ], [ -122.644495999886203, 38.459710001090059 ], [ -122.642994999488508, 38.459610000868381 ], [ -122.640305999826239, 38.458127000337313 ], [ -122.640094999833011, 38.458010000936476 ], [ -122.638095000221782, 38.456910000582042 ], [ -122.63849499999202, 38.457010000594337 ], [ -122.646496000479843, 38.45721100082995 ], [ -122.646596000217784, 38.45723600032818 ], [ -122.646721999484441, 38.457267000930614 ], [ -122.646792000171459, 38.457285001081281 ], [ -122.646895999836076, 38.457311001015761 ], [ -122.647995999474162, 38.457610000848319 ], [ -122.648222999875884, 38.457655000824204 ], [ -122.648495999439575, 38.457710000378995 ], [ -122.648195999697506, 38.45651100028563 ], [ -122.648295999890749, 38.456211000969496 ], [ -122.646795999905052, 38.456511000385227 ], [ -122.647695999460481, 38.454811000461611 ], [ -122.648007999546806, 38.454859000622086 ], [ -122.648313000532752, 38.454959000740587 ], [ -122.648602999976319, 38.455020000909158 ], [ -122.648739999965457, 38.455012000672198 ], [ -122.649091000527761, 38.454890000416547 ], [ -122.649471999565208, 38.454707000822694 ], [ -122.649777999889665, 38.454501000284843 ], [ -122.649961000172439, 38.454402000623254 ], [ -122.650095999812649, 38.454311000721013 ], [ -122.64959599953491, 38.4508110002661 ], [ -122.649796000065436, 38.450611000890653 ], [ -122.650496000364072, 38.4512110006035 ], [ -122.650896000192859, 38.450511000498338 ], [ -122.651995999611898, 38.449311000410489 ], [ -122.652895999783553, 38.449111000765051 ], [ -122.653654999522004, 38.450984001063155 ], [ -122.654183999924356, 38.450307000459588 ], [ -122.654397999958618, 38.450033000431944 ], [ -122.654540999812369, 38.449712000394925 ], [ -122.65459200031772, 38.449208000914794 ], [ -122.654377999825471, 38.448885000883052 ], [ -122.654051000218658, 38.44868200098653 ], [ -122.653622000172717, 38.44851700041248 ], [ -122.652979000337552, 38.448441000620143 ], [ -122.652477999585315, 38.448409000515603 ], [ -122.652995999864629, 38.448011000922953 ], [ -122.65339600015389, 38.447811000723057 ], [ -122.653796000524594, 38.44761100094955 ], [ -122.654496000192054, 38.447211000742691 ], [ -122.656095999977296, 38.44621100076035 ], [ -122.658695999766636, 38.445211001079556 ], [ -122.660296000364269, 38.444511001048461 ], [ -122.660390999666376, 38.444475000603987 ], [ -122.662447999405472, 38.44369500031123 ], [ -122.662800000030387, 38.443561000528774 ], [ -122.66319600013432, 38.443411000666835 ], [ -122.662895999924487, 38.443011001037419 ], [ -122.664696000469831, 38.44201100084031 ], [ -122.66549599977958, 38.441611000551667 ], [ -122.666496000471597, 38.441211000907892 ], [ -122.667795999802181, 38.440811000947512 ], [ -122.668395999413448, 38.440511000368957 ], [ -122.668695999704326, 38.440411000789993 ], [ -122.669395999828609, 38.440211000320424 ], [ -122.671496000015566, 38.439411000464219 ], [ -122.672495999960333, 38.439111000891444 ], [ -122.673096000237834, 38.439011000778535 ], [ -122.674097000279602, 38.438611000929619 ], [ -122.674996999676267, 38.438311000971559 ], [ -122.675547000338156, 38.438070000737405 ], [ -122.675966999950447, 38.437953000443244 ], [ -122.676545000472942, 38.437793000617432 ], [ -122.677272999401737, 38.437614000679922 ], [ -122.678168000484476, 38.43740200083009 ], [ -122.678996999390122, 38.437411000530282 ], [ -122.681136999591175, 38.437411000719464 ], [ -122.681897000437033, 38.437411000733228 ], [ -122.682396999801625, 38.437311000441838 ], [ -122.682696999620674, 38.437611000924754 ], [ -122.683097000095884, 38.438211000470702 ], [ -122.684996999794222, 38.438411000477963 ], [ -122.685397000361121, 38.438411000833753 ], [ -122.685746000370798, 38.438520000729945 ], [ -122.687096999636367, 38.438311000411105 ], [ -122.686996999763807, 38.438711000932543 ], [ -122.686996999493644, 38.440611000911098 ], [ -122.687196999993191, 38.44111100050165 ], [ -122.685297000381397, 38.441111000412434 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1397, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.82954099965292, 38.561561000860671 ], [ -122.83015700019422, 38.562247000314336 ], [ -122.830302999832085, 38.562410000763094 ], [ -122.832163999465521, 38.564334000281093 ], [ -122.832870000012377, 38.565116000278408 ], [ -122.832889999705429, 38.565138001039017 ], [ -122.832955999696068, 38.565211000685551 ], [ -122.833120000481017, 38.565393000747576 ], [ -122.833902999436972, 38.566260000961172 ], [ -122.834431999760483, 38.566846000792694 ], [ -122.83502600050403, 38.567516000702746 ], [ -122.835626999644319, 38.568193000682967 ], [ -122.840058000521609, 38.573189000391039 ], [ -122.840224000233334, 38.573228000362903 ], [ -122.840837000444324, 38.573228000974616 ], [ -122.840866000409491, 38.573480000860194 ], [ -122.841624000000152, 38.574212001021273 ], [ -122.841740999764156, 38.574579000248463 ], [ -122.841973999525848, 38.574670001066252 ], [ -122.842003999572455, 38.575174001099946 ], [ -122.842265999467244, 38.575677000895823 ], [ -122.84226599994885, 38.575860000484859 ], [ -122.842470999609517, 38.576135000325252 ], [ -122.84267800050884, 38.576688000291902 ], [ -122.842908000186171, 38.577302000518706 ], [ -122.843501999419132, 38.578448000931417 ], [ -122.84360899976005, 38.578653000255514 ], [ -122.843725999656897, 38.57895000102301 ], [ -122.844075999836193, 38.579408000748685 ], [ -122.844076000343165, 38.57952300108002 ], [ -122.844279999802168, 38.57972900039141 ], [ -122.844512999496686, 38.580415000715305 ], [ -122.84670299982767, 38.584100000861973 ], [ -122.849009000358834, 38.588151000580076 ], [ -122.849134000305085, 38.588249000410222 ], [ -122.850819000058948, 38.591309000598599 ], [ -122.852598999535786, 38.594056000572621 ], [ -122.856072000216074, 38.597145000964957 ], [ -122.854350999962591, 38.596184000419044 ], [ -122.853271000084121, 38.595498000759768 ], [ -122.851328999615546, 38.594477000962051 ], [ -122.850644999785345, 38.594125000883253 ], [ -122.849196999599528, 38.593314000853134 ], [ -122.851279999464921, 38.598245000331126 ], [ -122.852060000032253, 38.600092000956067 ], [ -122.852732999691185, 38.601374001070553 ], [ -122.853200000382245, 38.601854001006053 ], [ -122.854602000155381, 38.602929000688341 ], [ -122.85494500042762, 38.60309500046435 ], [ -122.85593200033405, 38.603575001022499 ], [ -122.856294999959289, 38.603751000394105 ], [ -122.856682999676835, 38.603881000651135 ], [ -122.859230000183402, 38.604735000793021 ], [ -122.860554999663321, 38.60518000091011 ], [ -122.861370999443466, 38.605454000394111 ], [ -122.861620000041256, 38.606459000757212 ], [ -122.861765999795892, 38.60650500092882 ], [ -122.86188299963267, 38.60746600047753 ], [ -122.861767000365191, 38.607856001094049 ], [ -122.8615919998267, 38.608977000652224 ], [ -122.86165200024206, 38.60957200036281 ], [ -122.860337999984537, 38.609642000742284 ], [ -122.860332000255411, 38.609973000876934 ], [ -122.860321000532849, 38.610624000489409 ], [ -122.860310999866897, 38.611182000574011 ], [ -122.860309999828658, 38.611244000712723 ], [ -122.859314999503297, 38.611322000349141 ], [ -122.859215999858961, 38.61133000105535 ], [ -122.85911700019463, 38.61133800077662 ], [ -122.859038999435242, 38.61134400072546 ], [ -122.858856000212256, 38.611359000428649 ], [ -122.858763999619157, 38.611366000756682 ], [ -122.857632999755523, 38.611455000289403 ], [ -122.856518000101786, 38.611543000970954 ], [ -122.856436000027657, 38.611562000329123 ], [ -122.856226000013692, 38.611612000356004 ], [ -122.855915000429036, 38.611847000995937 ], [ -122.855351000349913, 38.612276000408592 ], [ -122.855206000349114, 38.612482000986965 ], [ -122.854511000003683, 38.612609000503596 ], [ -122.853951000227255, 38.612711000391322 ], [ -122.853690999480207, 38.612782000673981 ], [ -122.853367999608466, 38.612872000650405 ], [ -122.85290099971516, 38.612872000310929 ], [ -122.85275199991149, 38.61285500112249 ], [ -122.850160000126294, 38.612562000969959 ], [ -122.849254000318666, 38.61246000083883 ], [ -122.848700000187677, 38.612392000832244 ], [ -122.848583000442162, 38.61230000060705 ], [ -122.848412000072898, 38.612300000908903 ], [ -122.848261999589951, 38.612300000256305 ], [ -122.847473999524169, 38.612117001103904 ], [ -122.847195000003197, 38.611913000384924 ], [ -122.846745999844515, 38.611755000573801 ], [ -122.846295999997665, 38.61175800072732 ], [ -122.846024000255071, 38.611749000680248 ], [ -122.845817999796694, 38.611681001026696 ], [ -122.845578000364483, 38.611591000333533 ], [ -122.845105999487984, 38.61158100048182 ], [ -122.844913000159437, 38.611577000391087 ], [ -122.843961999539871, 38.611558000635171 ], [ -122.843953000050718, 38.611661000635664 ], [ -122.843887999946176, 38.612419000958845 ], [ -122.843827000011075, 38.613122000257654 ], [ -122.843695999435596, 38.614656000270578 ], [ -122.843537999756478, 38.616513000337754 ], [ -122.843550000054819, 38.616606000707499 ], [ -122.843510999625877, 38.617079000731557 ], [ -122.843276000414761, 38.619945000347712 ], [ -122.845829999498378, 38.62082200054332 ], [ -122.846286999774406, 38.6209790003319 ], [ -122.846867000496601, 38.621178000887397 ], [ -122.847140999742251, 38.621578000650956 ], [ -122.848532999594937, 38.623603000832297 ], [ -122.848808999417287, 38.623779000348392 ], [ -122.848976999592523, 38.623886000592258 ], [ -122.849580999646008, 38.624317001031216 ], [ -122.849901999699156, 38.624477001037576 ], [ -122.850574000059055, 38.62490900094101 ], [ -122.854207000531602, 38.627234000867098 ], [ -122.855181999706517, 38.627858000729532 ], [ -122.855701000461195, 38.62819000056713 ], [ -122.855915000361847, 38.628040000338942 ], [ -122.856645000340094, 38.627948000281748 ], [ -122.858804999901579, 38.628359000437129 ], [ -122.859331000530887, 38.628725000908695 ], [ -122.860030999539447, 38.629046000757604 ], [ -122.860176999682793, 38.629229000244216 ], [ -122.860411000297375, 38.629961001033038 ], [ -122.860907999879714, 38.630258000488872 ], [ -122.861141000163485, 38.630258000581058 ], [ -122.862278999538432, 38.629548001134985 ], [ -122.862890999834207, 38.629479000951918 ], [ -122.863387999757919, 38.629616000309454 ], [ -122.863533999591567, 38.629777001093245 ], [ -122.863697000359579, 38.630271000362619 ], [ -122.863738000410081, 38.630395000816215 ], [ -122.863891999801851, 38.630530001138396 ], [ -122.863971999756316, 38.630601000886145 ], [ -122.864117999861747, 38.630623001018868 ], [ -122.864509000132884, 38.630395000405798 ], [ -122.864788999909649, 38.630234000973452 ], [ -122.86510900026245, 38.629913000626019 ], [ -122.865225999763865, 38.629661000737677 ], [ -122.865111000295656, 38.629406001071182 ], [ -122.864875000093662, 38.628883001042304 ], [ -122.864087000069006, 38.628220001055602 ], [ -122.863911999630588, 38.627899000982943 ], [ -122.864933000064298, 38.627830000968402 ], [ -122.866684000058754, 38.627898000817417 ], [ -122.86752499986234, 38.627905000338394 ], [ -122.868709999859675, 38.627916000412242 ], [ -122.869134999664908, 38.627920001095241 ], [ -122.871352999971421, 38.627942000483735 ], [ -122.871964999492434, 38.627941000968875 ], [ -122.87260699984013, 38.627896000444451 ], [ -122.872634999574018, 38.626340000619855 ], [ -122.873339999399221, 38.626344000294985 ], [ -122.874379999776025, 38.626351000867281 ], [ -122.87528699962877, 38.626356000360673 ], [ -122.875716999504121, 38.626358000736985 ], [ -122.876105000045357, 38.626361000452299 ], [ -122.876949000172658, 38.626361000723449 ], [ -122.877299000426348, 38.626361000596404 ], [ -122.877502999728478, 38.62638400101379 ], [ -122.878116000073859, 38.626430000927037 ], [ -122.877997000359898, 38.629246000871049 ], [ -122.877573000194943, 38.635577000403899 ], [ -122.877559000182515, 38.635793000483019 ], [ -122.877552999929279, 38.635883000713918 ], [ -122.876674999812266, 38.638721000735259 ], [ -122.876104999434858, 38.639740000662343 ], [ -122.874910000511093, 38.642353000583931 ], [ -122.87326800031876, 38.645945000888233 ], [ -122.872593999966995, 38.647421000905467 ], [ -122.871808000089118, 38.649505000244858 ], [ -122.871575000023469, 38.650489000282043 ], [ -122.871487999702623, 38.651725001067589 ], [ -122.871461999883337, 38.65188300051404 ], [ -122.871723999479698, 38.653785000401925 ], [ -122.87201600020137, 38.654609000411767 ], [ -122.872248000312794, 38.655146001042532 ], [ -122.871316000030404, 38.655228000599067 ], [ -122.871066999547097, 38.655286000875947 ], [ -122.87056800044418, 38.655401001117141 ], [ -122.870819999519099, 38.656309000837439 ], [ -122.871122000060836, 38.657398000956427 ], [ -122.871332000277789, 38.65815500038277 ], [ -122.871392000015447, 38.65837100094187 ], [ -122.871669999932649, 38.659371000402558 ], [ -122.872137999975806, 38.6612020010013 ], [ -122.872180000177636, 38.661481000517803 ], [ -122.872285000312402, 38.662163000562757 ], [ -122.867566999553262, 38.662997001135466 ], [ -122.863323999450103, 38.663747000761937 ], [ -122.863319999440435, 38.664703000595793 ], [ -122.86277000012241, 38.664662000575241 ], [ -122.861601999798594, 38.664732000263541 ], [ -122.861222000270459, 38.664892000974049 ], [ -122.860843000015464, 38.665510001044929 ], [ -122.860521999890437, 38.66599100028462 ], [ -122.860085000058518, 38.666106000611215 ], [ -122.859062999980893, 38.666060000904949 ], [ -122.857806999517493, 38.666313000275039 ], [ -122.856522999537503, 38.666153001013072 ], [ -122.855384000347584, 38.665993000298435 ], [ -122.854275000477585, 38.666451000247591 ], [ -122.854156999711648, 38.666485000943553 ], [ -122.853633000428587, 38.666634001083047 ], [ -122.853106999572518, 38.666543000442395 ], [ -122.852493999599105, 38.666314000788724 ], [ -122.851938999631642, 38.665903000988258 ], [ -122.851763000459897, 38.665147000470746 ], [ -122.851325000392237, 38.664598000251992 ], [ -122.85085799975586, 38.664278000752937 ], [ -122.850478000032467, 38.663728000616899 ], [ -122.85030200010803, 38.663202000423041 ], [ -122.850010000534468, 38.662813001113449 ], [ -122.849425999830657, 38.662447000531074 ], [ -122.844169999584125, 38.661304000631283 ], [ -122.842739000473358, 38.661396000973156 ], [ -122.842154999562808, 38.661236000706374 ], [ -122.840608000142538, 38.660366000887414 ], [ -122.839440000010811, 38.659931000815163 ], [ -122.837541999676461, 38.659428000334735 ], [ -122.836315999851337, 38.659268000319244 ], [ -122.834740000378545, 38.659520000414929 ], [ -122.834273000167897, 38.659108000752632 ], [ -122.833426000443012, 38.658903000415783 ], [ -122.832520999671175, 38.658880000386112 ], [ -122.83155799993267, 38.659178000293842 ], [ -122.831149000365841, 38.659178000908703 ], [ -122.830827999619359, 38.659178000324175 ], [ -122.830186000096575, 38.659018000573361 ], [ -122.829456000167099, 38.658972000836002 ], [ -122.829352999630828, 38.658935001061337 ], [ -122.829076000138571, 38.658835000992028 ], [ -122.828666999519854, 38.658514000708962 ], [ -122.828434000525846, 38.65814800050407 ], [ -122.828229000500073, 38.658011000295126 ], [ -122.828199999610291, 38.657805000259089 ], [ -122.827995999701187, 38.657644000670793 ], [ -122.82770400050309, 38.657187000364061 ], [ -122.827295000353303, 38.656889000731439 ], [ -122.826303000315548, 38.65647700029875 ], [ -122.82496000018125, 38.655676000635061 ], [ -122.822827999790007, 38.654990000456742 ], [ -122.822389999645665, 38.654784000542129 ], [ -122.822010000439278, 38.654394000631619 ], [ -122.822010000417464, 38.654257001095509 ], [ -122.82183499959072, 38.654097000878856 ], [ -122.821806000525996, 38.653799000430176 ], [ -122.821717999856745, 38.653731000559304 ], [ -122.821659999622952, 38.653479000271155 ], [ -122.82104699983735, 38.652952000817265 ], [ -122.820550000085674, 38.652792000377545 ], [ -122.819469999480432, 38.65265500089135 ], [ -122.818156999803577, 38.652197001033628 ], [ -122.817106000459404, 38.651648000487576 ], [ -122.81649299964883, 38.651419001031279 ], [ -122.815032999942261, 38.651282001006642 ], [ -122.814098999453805, 38.65132700109293 ], [ -122.811997999775414, 38.650892000252909 ], [ -122.811706000534642, 38.650389000774986 ], [ -122.811033999719101, 38.650206000549289 ], [ -122.810537999720225, 38.650183001121171 ], [ -122.809196000272323, 38.649977000826539 ], [ -122.809050000414317, 38.649885000862582 ], [ -122.808583000197672, 38.649839000686562 ], [ -122.806569000277335, 38.649015000498139 ], [ -122.805314000368966, 38.648672000709574 ], [ -122.805254999703507, 38.648603000305123 ], [ -122.804525999487097, 38.648420000244172 ], [ -122.804467000235817, 38.648328001100474 ], [ -122.803008000269443, 38.647733000903777 ], [ -122.80239500031854, 38.647687000443106 ], [ -122.802103000500765, 38.647779000387665 ], [ -122.800992999664572, 38.647778000577617 ], [ -122.799620999454447, 38.647984000871844 ], [ -122.7978399995134, 38.647983000455611 ], [ -122.797285999988659, 38.647869000258012 ], [ -122.796498000267363, 38.647457000896829 ], [ -122.796235000135184, 38.646976000275252 ], [ -122.796293999753061, 38.646472000369357 ], [ -122.796906999820948, 38.645877000700395 ], [ -122.797490999905094, 38.644618000773448 ], [ -122.797607999796313, 38.643818001031839 ], [ -122.79752099944497, 38.641827000733414 ], [ -122.797374999773183, 38.641529001124916 ], [ -122.796703999437725, 38.640934000636307 ], [ -122.795420000456119, 38.640361000904512 ], [ -122.794107000366509, 38.639468000882637 ], [ -122.794106999559972, 38.638118000688337 ], [ -122.794398999391234, 38.637248000247396 ], [ -122.794223999801233, 38.63672200108121 ], [ -122.794048999706277, 38.636493000710836 ], [ -122.793961999597755, 38.635852000908386 ], [ -122.793787000102526, 38.635463000899371 ], [ -122.79334900001561, 38.635096000351027 ], [ -122.79229900048658, 38.634478000430427 ], [ -122.791453000332581, 38.633745000585627 ], [ -122.790576999575137, 38.633081000932954 ], [ -122.788505999740835, 38.631891000689407 ], [ -122.787921999540217, 38.631433000821914 ], [ -122.787777000397881, 38.631043000566741 ], [ -122.78777699953848, 38.630334000792999 ], [ -122.788157000112577, 38.629372000518735 ], [ -122.788214999540415, 38.628732000748236 ], [ -122.788303000532409, 38.628617000309973 ], [ -122.788448999565105, 38.627038000337841 ], [ -122.788800000167967, 38.625825000787039 ], [ -122.788508000352095, 38.62548100104673 ], [ -122.788245999402491, 38.624909000921342 ], [ -122.788215999841185, 38.624582000334009 ], [ -122.787866000360196, 38.62422800064148 ], [ -122.786729000482538, 38.623244000669821 ], [ -122.786408000271734, 38.622832000879797 ], [ -122.786145999901834, 38.622076001097248 ], [ -122.785766000005694, 38.621595000840806 ], [ -122.78564999998359, 38.621298000353448 ], [ -122.785648999802717, 38.619741001048766 ], [ -122.78538700026931, 38.618665000779174 ], [ -122.785124999572687, 38.618116000517233 ], [ -122.783929000071225, 38.616925000524802 ], [ -122.783812999461091, 38.615598000322173 ], [ -122.78393000042621, 38.615300000591553 ], [ -122.784046999513649, 38.613515000959296 ], [ -122.781976000531003, 38.613583001127616 ], [ -122.78150899952503, 38.613468001073549 ], [ -122.78098400003401, 38.613193000765087 ], [ -122.779905000055876, 38.612392000996529 ], [ -122.778650999648178, 38.611911000617937 ], [ -122.777162999730791, 38.611636000517144 ], [ -122.774187000393127, 38.611657000617726 ], [ -122.773341000114272, 38.611863001063469 ], [ -122.772844999703807, 38.612115000879008 ], [ -122.772465999524115, 38.611840000533462 ], [ -122.772466000325608, 38.611291001131512 ], [ -122.772612000470744, 38.611085000655393 ], [ -122.772613000454669, 38.610627000322786 ], [ -122.77226299965325, 38.610375000916413 ], [ -122.771474999825884, 38.610054000301531 ], [ -122.77170900043096, 38.609963001124065 ], [ -122.772052999500957, 38.610003000741536 ], [ -122.773283999503221, 38.610146001029328 ], [ -122.774509000113824, 38.61003200030823 ], [ -122.774679999721087, 38.609964001123288 ], [ -122.775033999791162, 38.609826000989095 ], [ -122.775296999696295, 38.609552000638054 ], [ -122.775939999742548, 38.607034000368202 ], [ -122.776056999407714, 38.606851000572192 ], [ -122.776056999395337, 38.606531000641851 ], [ -122.776243000015626, 38.605949000566348 ], [ -122.776612000154131, 38.604791000983887 ], [ -122.776728999595903, 38.604699000441045 ], [ -122.776788000443318, 38.604448000315969 ], [ -122.777925999525863, 38.602319001022437 ], [ -122.777956000302765, 38.601152000370654 ], [ -122.777573000224749, 38.600349000485942 ], [ -122.777431999588586, 38.60005300042917 ], [ -122.777434999451444, 38.599896000656457 ], [ -122.777461999545295, 38.598450000702194 ], [ -122.777227999866568, 38.597970001001983 ], [ -122.777228999583613, 38.597787000559102 ], [ -122.776907999887754, 38.597214000479525 ], [ -122.775741999607774, 38.595978000542466 ], [ -122.773788999723024, 38.594420001051738 ], [ -122.771485000296622, 38.592909000424818 ], [ -122.769967999941073, 38.591672000438031 ], [ -122.769692000407673, 38.591480000992441 ], [ -122.769108999633303, 38.591074001132412 ], [ -122.768423000474172, 38.590596000705737 ], [ -122.766937000498984, 38.589290000571197 ], [ -122.766908000144795, 38.589130000975537 ], [ -122.766324999613744, 38.588352000661054 ], [ -122.763876999507858, 38.586336000603445 ], [ -122.763613999714877, 38.586290000683412 ], [ -122.763469000357262, 38.585901000313335 ], [ -122.763381000419031, 38.585443000301133 ], [ -122.763293999398712, 38.585397000261899 ], [ -122.763412000187373, 38.584138000889141 ], [ -122.763504000400047, 38.583880000705854 ], [ -122.763558000006554, 38.583727000707135 ], [ -122.764023999600781, 38.583498000376295 ], [ -122.764315999855725, 38.583063000754379 ], [ -122.764695999698404, 38.582079000399936 ], [ -122.76545199942224, 38.58141600089597 ], [ -122.765687999748195, 38.581209000494404 ], [ -122.766039000089961, 38.580225000462264 ], [ -122.766563999909437, 38.579607000665405 ], [ -122.766856000159819, 38.579493000600266 ], [ -122.767731000444655, 38.579425000918377 ], [ -122.768168000005318, 38.579516000706491 ], [ -122.770150999892024, 38.579700000866644 ], [ -122.770441999481918, 38.579586000700502 ], [ -122.770705000503753, 38.578876000868831 ], [ -122.771055000017199, 38.578487001114411 ], [ -122.771521999555645, 38.578259000884131 ], [ -122.772484999749835, 38.578076001037701 ], [ -122.773621999567865, 38.577641000372722 ], [ -122.77402999992799, 38.577298000966792 ], [ -122.774103000534524, 38.576092000647023 ], [ -122.774220999796214, 38.576036000661539 ], [ -122.774886999628521, 38.575367000752067 ], [ -122.775776000220873, 38.57381900093845 ], [ -122.776484999660937, 38.572862000850471 ], [ -122.777225999620597, 38.572155000614494 ], [ -122.778050000043379, 38.571979000602866 ], [ -122.77857499955158, 38.571946000704266 ], [ -122.779188000451725, 38.571513000848014 ], [ -122.7798309993983, 38.57116900085996 ], [ -122.780374000016664, 38.57111300106321 ], [ -122.782064999858122, 38.571277000651023 ], [ -122.782653999412361, 38.571073000542889 ], [ -122.782897999785362, 38.571071000272873 ], [ -122.784058000460433, 38.571519000527751 ], [ -122.78604399993641, 38.572036000976496 ], [ -122.78710899966552, 38.572313000864938 ], [ -122.787185999509973, 38.572490000568557 ], [ -122.787396000273105, 38.572753000990936 ], [ -122.787802999524075, 38.572986000477137 ], [ -122.788414999931064, 38.573173000717695 ], [ -122.789027000480132, 38.573279000573734 ], [ -122.789562999716395, 38.573407000409553 ], [ -122.790045000406423, 38.573603001049925 ], [ -122.790970999685214, 38.574119000350784 ], [ -122.791469999817039, 38.574235000687068 ], [ -122.792461000088991, 38.574510000455085 ], [ -122.792840000033792, 38.574419000835782 ], [ -122.794531000429828, 38.574373001114807 ], [ -122.795609999942684, 38.574694000658127 ], [ -122.795752999798907, 38.574698001063162 ], [ -122.796427000102042, 38.574717000935415 ], [ -122.797331000400249, 38.574397000666018 ], [ -122.797767999653999, 38.573962000898852 ], [ -122.798000999524035, 38.573481000897644 ], [ -122.798089000389936, 38.572680000815829 ], [ -122.798409999640953, 38.572154000595091 ], [ -122.798455999921174, 38.572128000862847 ], [ -122.798789000241584, 38.5711020006841 ], [ -122.798847999956564, 38.570300000875299 ], [ -122.799081000239482, 38.569110001004404 ], [ -122.799169000141333, 38.569087001059565 ], [ -122.799634999699606, 38.568057000286814 ], [ -122.800276999423048, 38.567348000320216 ], [ -122.800481000439902, 38.567233000730226 ], [ -122.80105800047464, 38.566727001062191 ], [ -122.801784000099971, 38.566260000756436 ], [ -122.802873999403445, 38.564957000428734 ], [ -122.803263000396782, 38.564141001030833 ], [ -122.803593000016775, 38.562415000710487 ], [ -122.803565999455515, 38.561959000247796 ], [ -122.806201999579798, 38.562010000349716 ], [ -122.807301999667231, 38.562010000287913 ], [ -122.808522000374396, 38.56196400051396 ], [ -122.80931400048388, 38.561934000830377 ], [ -122.812602000119469, 38.561810000538337 ], [ -122.813566000504892, 38.561810000494106 ], [ -122.814502000390505, 38.561810000415612 ], [ -122.817343000430739, 38.561810000463566 ], [ -122.819314999840472, 38.561810000296468 ], [ -122.821052000433809, 38.561810000845249 ], [ -122.822101999632238, 38.561810000654937 ], [ -122.823001999735837, 38.561710000328645 ], [ -122.824002000128615, 38.561810000448553 ], [ -122.824677999499698, 38.5623280004355 ], [ -122.824784999706608, 38.562410000632831 ], [ -122.825414000273526, 38.562799000860217 ], [ -122.825846999581088, 38.563067001025367 ], [ -122.825854000341394, 38.562987000892242 ], [ -122.825883000203959, 38.562622000284399 ], [ -122.825901999429249, 38.562410000841695 ], [ -122.825966999585972, 38.561441001067386 ], [ -122.826001999640326, 38.560910000510241 ], [ -122.825901999796258, 38.557510000630344 ], [ -122.828466999781597, 38.560365000541807 ], [ -122.82954099965292, 38.561561000860671 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 31, "TAZ1454": 1399, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.860644000492755, 38.599527000516964 ], [ -122.861031999625538, 38.599730000521163 ], [ -122.864633000343559, 38.601823000912752 ], [ -122.865098999899629, 38.602094000762818 ], [ -122.865873000451415, 38.602544000875483 ], [ -122.866343999526649, 38.602818000652945 ], [ -122.867014999909799, 38.603321001021285 ], [ -122.867453000425371, 38.603595000256981 ], [ -122.868169999984161, 38.604055000389373 ], [ -122.86857099974587, 38.604312000418176 ], [ -122.869160999587024, 38.604691000902974 ], [ -122.869700000146565, 38.605037001092683 ], [ -122.872823999586331, 38.607507000736582 ], [ -122.874289000318768, 38.60895900068499 ], [ -122.87449399952439, 38.609202001046285 ], [ -122.875913000134616, 38.610772001062493 ], [ -122.877717999617573, 38.61310000063056 ], [ -122.878239000174119, 38.614011000529544 ], [ -122.878635999507509, 38.615136000529382 ], [ -122.878639000295536, 38.615919000381496 ], [ -122.87861399973157, 38.616925000511479 ], [ -122.878599999891918, 38.617498000583403 ], [ -122.878565000239647, 38.618918000494823 ], [ -122.878528999475307, 38.620394001007249 ], [ -122.878445000455713, 38.621739000617708 ], [ -122.878380999873542, 38.622775000459761 ], [ -122.878204999617097, 38.624034001025471 ], [ -122.878139999688628, 38.625199000592865 ], [ -122.878121999458813, 38.626079000583154 ], [ -122.878116000073859, 38.626430000927037 ], [ -122.877502999728478, 38.62638400101379 ], [ -122.877299000426348, 38.626361000596404 ], [ -122.876949000172658, 38.626361000723449 ], [ -122.876105000045357, 38.626361000452299 ], [ -122.875716999504121, 38.626358000736985 ], [ -122.87528699962877, 38.626356000360673 ], [ -122.874379999776025, 38.626351000867281 ], [ -122.873339999399221, 38.626344000294985 ], [ -122.872634999574018, 38.626340000619855 ], [ -122.87260699984013, 38.627896000444451 ], [ -122.871964999492434, 38.627941000968875 ], [ -122.871352999971421, 38.627942000483735 ], [ -122.869134999664908, 38.627920001095241 ], [ -122.868709999859675, 38.627916000412242 ], [ -122.86752499986234, 38.627905000338394 ], [ -122.866684000058754, 38.627898000817417 ], [ -122.864933000064298, 38.627830000968402 ], [ -122.863911999630588, 38.627899000982943 ], [ -122.863706999926819, 38.627831000786365 ], [ -122.863561000385133, 38.627602000668567 ], [ -122.863558000346032, 38.627484000396812 ], [ -122.863534999946026, 38.626486000721805 ], [ -122.863520000082076, 38.62578700082765 ], [ -122.863500999635988, 38.624909000295183 ], [ -122.863496000296394, 38.624821001059935 ], [ -122.863471000339104, 38.624381000350837 ], [ -122.863674999603006, 38.624335000684852 ], [ -122.863703999985049, 38.623626000802389 ], [ -122.863615999510515, 38.622962000785385 ], [ -122.863615000466993, 38.622183000722416 ], [ -122.863615000051055, 38.621570000697723 ], [ -122.863615000519331, 38.620834000273987 ], [ -122.864490000347629, 38.620788000698788 ], [ -122.865103000414578, 38.620765000399906 ], [ -122.865922999829479, 38.620773001020012 ], [ -122.866997000099559, 38.620786000832439 ], [ -122.867115999387849, 38.620787000279989 ], [ -122.867903999657514, 38.620809000285298 ], [ -122.868340999653995, 38.620786000486518 ], [ -122.868743000118144, 38.620793001096935 ], [ -122.869538000265862, 38.620808001081315 ], [ -122.870089999688275, 38.620808000620286 ], [ -122.87038700004544, 38.620808001048886 ], [ -122.870675000045793, 38.620808000689586 ], [ -122.870657000389187, 38.619880000673767 ], [ -122.870645000313573, 38.619274001097146 ], [ -122.870643999568912, 38.61819200102272 ], [ -122.870643999458565, 38.61758000086612 ], [ -122.870668000093616, 38.6161650006785 ], [ -122.87067200004455, 38.615955000624226 ], [ -122.870641999492577, 38.6152680002889 ], [ -122.870348999698436, 38.614284000276278 ], [ -122.869677999408282, 38.614266000628149 ], [ -122.869532000436621, 38.614262000649845 ], [ -122.868924999646239, 38.614207000976819 ], [ -122.868929000220604, 38.613923001098328 ], [ -122.868568000343657, 38.612431000365852 ], [ -122.867138999497399, 38.61252300097231 ], [ -122.863171000440275, 38.612571000604127 ], [ -122.861654000088151, 38.61254800101581 ], [ -122.860399000271656, 38.612526000253233 ], [ -122.860398000261227, 38.611290000899061 ], [ -122.860309999828658, 38.611244000712723 ], [ -122.860310999866897, 38.611182000574011 ], [ -122.860321000532849, 38.610624000489409 ], [ -122.860332000255411, 38.609973000876934 ], [ -122.860337999984537, 38.609642000742284 ], [ -122.86165200024206, 38.60957200036281 ], [ -122.8615919998267, 38.608977000652224 ], [ -122.861767000365191, 38.607856001094049 ], [ -122.86188299963267, 38.60746600047753 ], [ -122.861765999795892, 38.60650500092882 ], [ -122.861620000041256, 38.606459000757212 ], [ -122.861370999443466, 38.605454000394111 ], [ -122.860554999663321, 38.60518000091011 ], [ -122.859230000183402, 38.604735000793021 ], [ -122.856682999676835, 38.603881000651135 ], [ -122.856294999959289, 38.603751000394105 ], [ -122.85593200033405, 38.603575001022499 ], [ -122.85494500042762, 38.60309500046435 ], [ -122.854602000155381, 38.602929000688341 ], [ -122.853200000382245, 38.601854001006053 ], [ -122.852732999691185, 38.601374001070553 ], [ -122.852060000032253, 38.600092000956067 ], [ -122.851279999464921, 38.598245000331126 ], [ -122.849196999599528, 38.593314000853134 ], [ -122.850644999785345, 38.594125000883253 ], [ -122.851328999615546, 38.594477000962051 ], [ -122.853271000084121, 38.595498000759768 ], [ -122.854350999962591, 38.596184000419044 ], [ -122.856072000216074, 38.597145000964957 ], [ -122.857636999536282, 38.597928000919964 ], [ -122.858755999847347, 38.598540000820776 ], [ -122.860644000492755, 38.599527000516964 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 2, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.399681999860391, 37.792228000366933 ], [ -122.399481999804422, 37.791328000581991 ], [ -122.400682000380797, 37.791128000309484 ], [ -122.401181999390687, 37.79112800096398 ], [ -122.402382000187728, 37.790928000467481 ], [ -122.402681999492188, 37.790928000387659 ], [ -122.403581999405304, 37.790828000656589 ], [ -122.403926000205075, 37.790726000789618 ], [ -122.404182000268861, 37.791728001032808 ], [ -122.404382000471756, 37.792628001087891 ], [ -122.404482000156051, 37.793628000273159 ], [ -122.403882000107302, 37.793628000643395 ], [ -122.402881999796506, 37.793828000725838 ], [ -122.402182000177163, 37.793828001113312 ], [ -122.401281999466121, 37.793928000779829 ], [ -122.400082000514502, 37.794128000620141 ], [ -122.399982000144391, 37.793728000479341 ], [ -122.399881999879511, 37.79322800086382 ], [ -122.399681999860391, 37.792228000366933 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 4, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.403581999664453, 37.789428000426454 ], [ -122.403681999657437, 37.789928000892274 ], [ -122.403782000385675, 37.79032800090426 ], [ -122.403926000205075, 37.790726000789618 ], [ -122.403581999405304, 37.790828000656589 ], [ -122.402681999492188, 37.790928000387659 ], [ -122.402382000187728, 37.790928000467481 ], [ -122.401181999390687, 37.79112800096398 ], [ -122.400682000380797, 37.791128000309484 ], [ -122.399481999804422, 37.791328000581991 ], [ -122.399082000069313, 37.791028000759731 ], [ -122.399882000072751, 37.790428000776757 ], [ -122.400281999753631, 37.790128000509725 ], [ -122.40128199977795, 37.789328000379243 ], [ -122.401411000496722, 37.789231000711432 ], [ -122.401682000321344, 37.789028000675899 ], [ -122.401893999910058, 37.788817000616859 ], [ -122.401981999689369, 37.788728000395103 ], [ -122.402681999852774, 37.78822800102752 ], [ -122.402772999509011, 37.788106000415766 ], [ -122.402982000227425, 37.787829000924972 ], [ -122.403282000521401, 37.78802900092915 ], [ -122.403482000177547, 37.788528001098605 ], [ -122.403481999832138, 37.78892800074037 ], [ -122.403581999664453, 37.789428000426454 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 10, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.417081999619057, 37.774329001124769 ], [ -122.417474000478109, 37.774682001022427 ], [ -122.418081999692873, 37.775229000616378 ], [ -122.41868199976723, 37.775629000348701 ], [ -122.41748200023936, 37.776529000671751 ], [ -122.416182000114716, 37.77742900055263 ], [ -122.414682000287485, 37.778629001054334 ], [ -122.413181999500068, 37.779829000977628 ], [ -122.412382000522697, 37.78042900026427 ], [ -122.411881999399995, 37.780029001040781 ], [ -122.411382000252118, 37.77962900059768 ], [ -122.410881999658073, 37.779229000720498 ], [ -122.410282000499393, 37.778829000313522 ], [ -122.409881999823298, 37.778429000889865 ], [ -122.409281999735967, 37.777929001111971 ], [ -122.409781999398234, 37.777529000523749 ], [ -122.410382000353067, 37.777029000992471 ], [ -122.41088200047102, 37.776629001045407 ], [ -122.41158199947624, 37.776229000973196 ], [ -122.41288200035433, 37.775229000680696 ], [ -122.413182000165421, 37.775029000324189 ], [ -122.413681999463677, 37.77452900023269 ], [ -122.413981999626216, 37.774529000903158 ], [ -122.414082000087404, 37.774429000910288 ], [ -122.414481999746528, 37.774129000711454 ], [ -122.414281999703405, 37.774029000244425 ], [ -122.41548199969148, 37.773029000806503 ], [ -122.415982000033665, 37.773529001124629 ], [ -122.41658200009887, 37.773929000766366 ], [ -122.417081999619057, 37.774329001124769 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 11, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.41172600001498, 37.780977000723496 ], [ -122.410382000181244, 37.782129000944849 ], [ -122.410181999565467, 37.782229000911578 ], [ -122.409979000356714, 37.782388000685486 ], [ -122.408953000361535, 37.783195000349117 ], [ -122.408781999701901, 37.78332900112823 ], [ -122.408609999906275, 37.783479000320177 ], [ -122.40798199941274, 37.784029001038178 ], [ -122.407482000347002, 37.784429000583053 ], [ -122.407364000097814, 37.784524001064824 ], [ -122.405982000218089, 37.785629000621064 ], [ -122.405682000331197, 37.78582900100502 ], [ -122.405182000350877, 37.785329000329142 ], [ -122.404681999865403, 37.784929000645171 ], [ -122.404182000212586, 37.784529000637328 ], [ -122.403681999701888, 37.78402900075772 ], [ -122.403081999700888, 37.783729000499598 ], [ -122.402581999453474, 37.783229000435618 ], [ -122.403081999611501, 37.78282900094289 ], [ -122.404881999916597, 37.78142900070246 ], [ -122.405681999742299, 37.780829000411721 ], [ -122.407081999967076, 37.779729000514479 ], [ -122.407581999840133, 37.779329000452591 ], [ -122.408181999609937, 37.778829000652287 ], [ -122.408782000354989, 37.778329000435924 ], [ -122.409281999735967, 37.777929001111971 ], [ -122.409881999823298, 37.778429000889865 ], [ -122.410282000499393, 37.778829000313522 ], [ -122.410881999658073, 37.779229000720498 ], [ -122.411382000252118, 37.77962900059768 ], [ -122.411881999399995, 37.780029001040781 ], [ -122.412382000522697, 37.78042900026427 ], [ -122.411781999951515, 37.780929000636263 ], [ -122.41172600001498, 37.780977000723496 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 14, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.393381000301289, 37.790628000242499 ], [ -122.393681000504387, 37.790428000881128 ], [ -122.394281000339944, 37.789928000429853 ], [ -122.394980999899929, 37.789328000856621 ], [ -122.395980999681413, 37.788628001037146 ], [ -122.396481000433113, 37.789028000372895 ], [ -122.3967730000968, 37.789261000778261 ], [ -122.396980999739057, 37.789428000274675 ], [ -122.397381999920228, 37.789828000968704 ], [ -122.397982000292203, 37.790228000608799 ], [ -122.398481999824227, 37.790628000424945 ], [ -122.399082000069313, 37.791028000759731 ], [ -122.398281999529956, 37.791728000898381 ], [ -122.397382000380347, 37.792328001109411 ], [ -122.397282000472643, 37.792528000260724 ], [ -122.396481999819557, 37.793128000248785 ], [ -122.394881000511134, 37.79182800110943 ], [ -122.393381000301289, 37.790628000242499 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 16, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.392781000058932, 37.786129000599217 ], [ -122.39376799967259, 37.785315000356967 ], [ -122.39407000037663, 37.785070000407117 ], [ -122.395080999855026, 37.784329000419632 ], [ -122.39558100006974, 37.783929000551936 ], [ -122.39618099986933, 37.783429000467805 ], [ -122.397181000349264, 37.782629000741785 ], [ -122.397880999895463, 37.783129000333801 ], [ -122.398781000427803, 37.783829000626405 ], [ -122.399480999866014, 37.784229001083716 ], [ -122.399782000277312, 37.784629000645474 ], [ -122.400382000382379, 37.785029000929853 ], [ -122.399281999871818, 37.785929000296782 ], [ -122.398981999955566, 37.786229001052455 ], [ -122.398281000325042, 37.786829000888375 ], [ -122.397968999606022, 37.787088001097047 ], [ -122.397282000245852, 37.787630000383182 ], [ -122.395980999681413, 37.788628001037146 ], [ -122.394980999899929, 37.789328000856621 ], [ -122.394281000339944, 37.789928000429853 ], [ -122.393681000504387, 37.790428000881128 ], [ -122.393381000301289, 37.790628000242499 ], [ -122.392481000260858, 37.791328000248853 ], [ -122.391681000283498, 37.792028000368674 ], [ -122.391181000043588, 37.792428000904195 ], [ -122.390781000004154, 37.792628000390451 ], [ -122.39048099970806, 37.792928000577824 ], [ -122.389955000113531, 37.79243400075206 ], [ -122.389477000413976, 37.791965000857594 ], [ -122.389015999432786, 37.791510000670982 ], [ -122.388669999678811, 37.791211000967948 ], [ -122.38662599972163, 37.791861000805163 ], [ -122.386494999481343, 37.791653000531092 ], [ -122.388471999603766, 37.790950000704242 ], [ -122.388290999997565, 37.790742000627517 ], [ -122.38819199971762, 37.790443000900289 ], [ -122.388159000002744, 37.790326000926285 ], [ -122.386609999711098, 37.79069000076472 ], [ -122.38568099946734, 37.790928001099779 ], [ -122.386362000513401, 37.790311000426904 ], [ -122.387588999394495, 37.789903000516496 ], [ -122.387080999835987, 37.789628000336741 ], [ -122.387380000459288, 37.789359000375804 ], [ -122.38808099973771, 37.788728000609836 ], [ -122.388317000183875, 37.789200000757951 ], [ -122.388481000222129, 37.789528000366545 ], [ -122.389280999575718, 37.788828000960812 ], [ -122.390181000158677, 37.788128000773831 ], [ -122.391081000144212, 37.787528001102586 ], [ -122.391980999687121, 37.786828000412143 ], [ -122.392781000058932, 37.786129000599217 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 17, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.391081000144212, 37.787528001102586 ], [ -122.390181000158677, 37.788128000773831 ], [ -122.389280999575718, 37.788828000960812 ], [ -122.388481000222129, 37.789528000366545 ], [ -122.388317000183875, 37.789200000757951 ], [ -122.38808099973771, 37.788728000609836 ], [ -122.387380000459288, 37.789359000375804 ], [ -122.387080999835987, 37.789628000336741 ], [ -122.38558099965546, 37.790028001062545 ], [ -122.385280999436233, 37.789628000731575 ], [ -122.387180999945741, 37.789128000887636 ], [ -122.387081000120531, 37.788528000867636 ], [ -122.385480999587173, 37.788728000614185 ], [ -122.385280999630808, 37.788428001073932 ], [ -122.387480999649384, 37.788028000253462 ], [ -122.387380999890311, 37.787428000374142 ], [ -122.384780999946742, 37.7876280010017 ], [ -122.384380999524538, 37.785928001113156 ], [ -122.387480999438736, 37.785628000699781 ], [ -122.387681000301583, 37.785029000332244 ], [ -122.385581000232264, 37.785128000894574 ], [ -122.385480999520993, 37.784729000320127 ], [ -122.387380999478736, 37.784629000533904 ], [ -122.387580999777128, 37.784029000672945 ], [ -122.385481000318322, 37.784129000926448 ], [ -122.385543999567787, 37.783653000596971 ], [ -122.385580999854383, 37.78352900111539 ], [ -122.387581000110856, 37.783329000769079 ], [ -122.387580999447422, 37.782929001040088 ], [ -122.387980999982247, 37.782529000343104 ], [ -122.388181000461131, 37.782429000318814 ], [ -122.388944000192126, 37.781819000529147 ], [ -122.389681000361904, 37.781229000811379 ], [ -122.390381000504718, 37.780629000500355 ], [ -122.390980999661139, 37.780229000955963 ], [ -122.392181000211792, 37.779329001110405 ], [ -122.392581000200749, 37.77882900104516 ], [ -122.394081000434667, 37.780129000556812 ], [ -122.394481000489549, 37.780329000955419 ], [ -122.394981000025183, 37.780629001123671 ], [ -122.395380999954355, 37.781029000279112 ], [ -122.395681000155577, 37.781329000325137 ], [ -122.396180999469138, 37.781729000342132 ], [ -122.396481000055104, 37.781929000599618 ], [ -122.396704999836587, 37.782097001105193 ], [ -122.396880999733597, 37.782229000494937 ], [ -122.397181000349264, 37.782629000741785 ], [ -122.39618099986933, 37.783429000467805 ], [ -122.39558100006974, 37.783929000551936 ], [ -122.395080999855026, 37.784329000419632 ], [ -122.39407000037663, 37.785070000407117 ], [ -122.39376799967259, 37.785315000356967 ], [ -122.392781000058932, 37.786129000599217 ], [ -122.391980999687121, 37.786828000412143 ], [ -122.391081000144212, 37.787528001102586 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 19, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.407380999646946, 37.769629000404741 ], [ -122.407581000494432, 37.769529000373474 ], [ -122.407980999639193, 37.769229000362365 ], [ -122.408380999964308, 37.769229001117083 ], [ -122.409081999450677, 37.76982900032904 ], [ -122.409781999741128, 37.770329000460158 ], [ -122.410881999701459, 37.769429000427955 ], [ -122.411007999413471, 37.769523000927556 ], [ -122.41248199967653, 37.770629000573578 ], [ -122.41185200015228, 37.771154000361314 ], [ -122.411281999796245, 37.771629000501832 ], [ -122.410682000197468, 37.772029000964821 ], [ -122.410082000102534, 37.772529000789035 ], [ -122.409482000364449, 37.7729290004417 ], [ -122.40887199955209, 37.773417000564812 ], [ -122.408481999415869, 37.773729000418058 ], [ -122.40798200019124, 37.774229000943691 ], [ -122.407782000202033, 37.774429000359945 ], [ -122.407181999644919, 37.774929000403226 ], [ -122.406903000427661, 37.775096000355269 ], [ -122.406682000120185, 37.775229000358571 ], [ -122.406553999476841, 37.775325000797991 ], [ -122.406281999426838, 37.775529000929822 ], [ -122.405481999396272, 37.776229000311432 ], [ -122.404781999403554, 37.77672900064934 ], [ -122.404481999665691, 37.776929001092874 ], [ -122.404082000182242, 37.777229000363455 ], [ -122.403681000476922, 37.777029000326706 ], [ -122.403380999733471, 37.776729000551192 ], [ -122.402781000423033, 37.77622900107103 ], [ -122.402480999928585, 37.776029000461001 ], [ -122.40138099960491, 37.775129000334317 ], [ -122.40088100022443, 37.774729000365291 ], [ -122.400181000353243, 37.774129000374742 ], [ -122.399481000024252, 37.773629000404583 ], [ -122.401680999425011, 37.771829000487124 ], [ -122.403880999583265, 37.770129000724282 ], [ -122.404181000105893, 37.76982900081623 ], [ -122.404780999656111, 37.769729000285622 ], [ -122.405164000052977, 37.769721000855121 ], [ -122.405481000306182, 37.769729000814678 ], [ -122.406280999685478, 37.769629001033223 ], [ -122.406880999447523, 37.770129000271915 ], [ -122.407380999646946, 37.769629000404741 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1273, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.987621999636687, 38.313789000393804 ], [ -121.988677000265824, 38.314211000860524 ], [ -121.991077000503623, 38.313011000266947 ], [ -121.993276999413069, 38.311911000669241 ], [ -121.995677000124758, 38.311911000622942 ], [ -121.997176999535924, 38.312711000542492 ], [ -121.997376999544855, 38.312694000386855 ], [ -121.999577000433987, 38.3125110009343 ], [ -122.001677000143005, 38.31261100094882 ], [ -122.009477000361855, 38.310511000646507 ], [ -122.009477000406335, 38.315711000598903 ], [ -122.010776999955581, 38.315711000250168 ], [ -122.00987699972211, 38.324111000679927 ], [ -122.017188999485512, 38.324230000518604 ], [ -122.019237999439056, 38.324263000658675 ], [ -122.020677999821942, 38.324211000620437 ], [ -122.021977999701051, 38.324111000315824 ], [ -122.022528000379111, 38.324385000493713 ], [ -122.02298799988678, 38.324673000246719 ], [ -122.023876999828815, 38.325176000628254 ], [ -122.022877999511181, 38.326711000482952 ], [ -122.021777999674256, 38.328411000955384 ], [ -122.018478000510186, 38.333511000900039 ], [ -122.018216000263848, 38.333932000462127 ], [ -122.017442999848768, 38.33510500066199 ], [ -122.016978000037298, 38.3358110009341 ], [ -122.016577999585408, 38.336511000690805 ], [ -122.016378000016687, 38.336911000346859 ], [ -122.015742000406192, 38.337914001030654 ], [ -122.01524300030664, 38.33854300049876 ], [ -122.014940000042202, 38.338933000539733 ], [ -122.014570999815177, 38.339290000790292 ], [ -122.01270699997886, 38.340599000599198 ], [ -122.011992000531663, 38.340990000355802 ], [ -122.011377999988554, 38.341311000726336 ], [ -122.010386999457808, 38.34162100059703 ], [ -122.006578000412432, 38.342810000534207 ], [ -122.00167699958763, 38.344510000848508 ], [ -122.000771999538074, 38.34485100089595 ], [ -121.998977000093504, 38.345610000502738 ], [ -121.998503000253081, 38.345821000255469 ], [ -121.997890999397953, 38.346093000964935 ], [ -121.997177000085017, 38.3464100010656 ], [ -121.99584400046237, 38.346920001084293 ], [ -121.993776999956893, 38.347710000898239 ], [ -121.989049999428119, 38.349551000676108 ], [ -121.987532999436667, 38.350147000400561 ], [ -121.985577000207897, 38.350910000671504 ], [ -121.98527699941917, 38.350310000757517 ], [ -121.986277000270306, 38.349510000996652 ], [ -121.986376999433602, 38.345210000372376 ], [ -121.986377000439447, 38.344310000247411 ], [ -121.986377000103218, 38.343510000313465 ], [ -121.986277000129206, 38.342410000802623 ], [ -121.986267000043398, 38.341890000447087 ], [ -121.986244999823015, 38.340695000330506 ], [ -121.986277000250908, 38.340211001074834 ], [ -121.98637700016441, 38.33971100110827 ], [ -121.986177000075514, 38.338311000298951 ], [ -121.98627699985731, 38.336611000381374 ], [ -121.985977000467713, 38.336411001141521 ], [ -121.985877000067333, 38.336211000616643 ], [ -121.985177000227509, 38.335711000452839 ], [ -121.984976999582102, 38.334511000499184 ], [ -121.984976999740468, 38.333411000583197 ], [ -121.986986999605222, 38.333472000464724 ], [ -121.987014000303262, 38.333472000294961 ], [ -121.986977000062566, 38.333211000559949 ], [ -121.986976999698513, 38.331494000291677 ], [ -121.986977000409226, 38.331011000638576 ], [ -121.988677000394347, 38.330911000522484 ], [ -121.990076999679957, 38.328111000759634 ], [ -121.992176999717444, 38.327711000340344 ], [ -121.993477000149568, 38.326611000942137 ], [ -121.994676999884774, 38.326111000618745 ], [ -121.996276999699603, 38.325111001052491 ], [ -121.992676999495146, 38.320811000496974 ], [ -121.99007700010597, 38.316111000335212 ], [ -121.989970999516387, 38.315825000974513 ], [ -121.987603999800712, 38.315823001015694 ], [ -121.976594000114176, 38.315811000455071 ], [ -121.976576000210898, 38.31581100109986 ], [ -121.977276000300634, 38.314811000497279 ], [ -121.979276000362361, 38.313711000946661 ], [ -121.98117600002189, 38.313411000371083 ], [ -121.982375999851129, 38.313211000420807 ], [ -121.983475999396106, 38.313111000985749 ], [ -121.985376000171954, 38.313011000518678 ], [ -121.987176000472317, 38.313611001121224 ], [ -121.987621999636687, 38.313789000393804 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1282, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.994177999720335, 38.372410000808379 ], [ -121.995146999506957, 38.374348000729697 ], [ -121.995428000318398, 38.374910000354475 ], [ -121.996578000164575, 38.377210000897428 ], [ -121.997978000193058, 38.379310000432092 ], [ -121.998178000181454, 38.379510000825526 ], [ -121.994970999647862, 38.383226000944745 ], [ -121.994855999739869, 38.383359000645015 ], [ -121.994771999790217, 38.383457000359016 ], [ -121.994582000144163, 38.383677000883218 ], [ -121.993777999470524, 38.384609000615917 ], [ -121.991477999935412, 38.38730900057196 ], [ -121.990278000297167, 38.396609000738998 ], [ -121.99022600020767, 38.397505000930039 ], [ -121.989877999628632, 38.403509001089631 ], [ -121.989777999779534, 38.40358700099695 ], [ -121.988077999827922, 38.404909000932037 ], [ -121.987030000239059, 38.404885000381853 ], [ -121.976878999921951, 38.404901000442358 ], [ -121.9741780001672, 38.404909000482043 ], [ -121.970777000212351, 38.404009000431536 ], [ -121.960977000087041, 38.402809000592519 ], [ -121.961277000168167, 38.400809000387248 ], [ -121.96237700047628, 38.396809000811182 ], [ -121.96257699956837, 38.396509000724009 ], [ -121.962620000320499, 38.396103001003084 ], [ -121.962683999497756, 38.395495000374424 ], [ -121.962777000521029, 38.39460900058063 ], [ -121.962676999749931, 38.394109000348287 ], [ -121.963676999447046, 38.391509000694541 ], [ -121.964676999593081, 38.387109001054206 ], [ -121.964076999683911, 38.382009000397694 ], [ -121.965876999993469, 38.379610001116895 ], [ -121.967476999540722, 38.37751000042811 ], [ -121.967618000529896, 38.374910000296879 ], [ -121.967977000301076, 38.368310001036768 ], [ -121.964376999749533, 38.365210001130855 ], [ -121.964077000199623, 38.364910000734646 ], [ -121.96454399970095, 38.364556000332627 ], [ -121.965519999786636, 38.36390700100084 ], [ -121.966237999902091, 38.363465000801128 ], [ -121.967707999659368, 38.362561000323794 ], [ -121.968742000313284, 38.361925001107181 ], [ -121.968653999728318, 38.362181000631395 ], [ -121.968642000399655, 38.362338000433645 ], [ -121.968653999891572, 38.362691000724759 ], [ -121.968695999502003, 38.362906000950495 ], [ -121.969462999936013, 38.362620000433544 ], [ -121.970293000005682, 38.362310000392128 ], [ -121.970576999410468, 38.362210000869339 ], [ -121.970881000488887, 38.362095000911523 ], [ -121.974277000410154, 38.360810000512835 ], [ -121.977077000149635, 38.359910000865135 ], [ -121.977877000118951, 38.359610000944713 ], [ -121.978677000369558, 38.359310000923948 ], [ -121.979777000436499, 38.359010000945069 ], [ -121.98007699992705, 38.358910000284261 ], [ -121.980976999478258, 38.358810000968482 ], [ -121.98127700051235, 38.358810000884851 ], [ -121.981677000375271, 38.358810000767349 ], [ -121.982976999479746, 38.358910000924404 ], [ -121.985277000001773, 38.35891000054535 ], [ -121.986076999922957, 38.358910000489601 ], [ -121.987252999934142, 38.358982000687668 ], [ -121.987876999550878, 38.359010000315486 ], [ -121.988776999864712, 38.359010000642179 ], [ -121.989077000016366, 38.360038000765769 ], [ -121.989261999534676, 38.360646001095319 ], [ -121.989676999838778, 38.362010000899616 ], [ -121.990376999566152, 38.363710001006631 ], [ -121.990677000411281, 38.364310000560522 ], [ -121.991609999981506, 38.36645600066921 ], [ -121.991690000166855, 38.366640000294161 ], [ -121.992520999627487, 38.368548000311691 ], [ -121.992677999556406, 38.368910001041364 ], [ -121.99279499997624, 38.369183000458257 ], [ -121.993066000354801, 38.369816000525049 ], [ -121.993877999401093, 38.37171000086898 ], [ -121.994177999720335, 38.372410000808379 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1283, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.997634999954414, 38.368948000983252 ], [ -121.995298000518659, 38.368890000444893 ], [ -121.994705999645177, 38.36889000101533 ], [ -121.994440999521316, 38.368890001132222 ], [ -121.99374699985421, 38.368890000600878 ], [ -121.992677999556406, 38.368910001041364 ], [ -121.992520999627487, 38.368548000311691 ], [ -121.991690000166855, 38.366640000294161 ], [ -121.991609999981506, 38.36645600066921 ], [ -121.990677000411281, 38.364310000560522 ], [ -121.990376999566152, 38.363710001006631 ], [ -121.989676999838778, 38.362010000899616 ], [ -121.989261999534676, 38.360646001095319 ], [ -121.989077000016366, 38.360038000765769 ], [ -121.988776999864712, 38.359010000642179 ], [ -121.987876999550878, 38.359010000315486 ], [ -121.987252999934142, 38.358982000687668 ], [ -121.986076999922957, 38.358910000489601 ], [ -121.985277000001773, 38.35891000054535 ], [ -121.982976999479746, 38.358910000924404 ], [ -121.982977000299769, 38.357610000959227 ], [ -121.982977000117486, 38.357410000798417 ], [ -121.985977000318144, 38.356910000710172 ], [ -121.986176999786238, 38.356710000653401 ], [ -121.986377000086094, 38.35661000036994 ], [ -121.987477000016966, 38.356610000998039 ], [ -121.987777000127309, 38.356610000443894 ], [ -121.988577000052743, 38.356610000315897 ], [ -121.989776999452815, 38.356610000245702 ], [ -121.990777000363408, 38.356610000427487 ], [ -121.991976999951959, 38.356610000365727 ], [ -121.993077000327034, 38.35661000071314 ], [ -121.994676999676187, 38.356610001049965 ], [ -121.997677999722583, 38.356710000800895 ], [ -122.000678000479709, 38.356710000636809 ], [ -122.0013779996126, 38.356610000491408 ], [ -122.001877999895484, 38.356610000825242 ], [ -122.002877999831654, 38.356310000680992 ], [ -122.004377999644461, 38.356110000774272 ], [ -122.004677999861855, 38.356910000413798 ], [ -122.004977999719557, 38.359310000921191 ], [ -122.004577999884035, 38.359310000336365 ], [ -122.004678000347383, 38.359910000683755 ], [ -122.004677999413346, 38.360610001093832 ], [ -122.004678000137162, 38.36141000070571 ], [ -122.004778000503705, 38.362010000776948 ], [ -122.004678000313589, 38.362710000966601 ], [ -122.004677999918641, 38.36461000076882 ], [ -122.004577999982061, 38.366110000427831 ], [ -122.004622999860715, 38.36696700029011 ], [ -122.00467799977524, 38.368010001059609 ], [ -122.004674999576821, 38.369018000403656 ], [ -122.001583000176524, 38.369026000776401 ], [ -122.001525000191307, 38.369022001132855 ], [ -122.000981000166007, 38.369018001084868 ], [ -121.999379000089448, 38.368967000843952 ], [ -121.998787999960882, 38.36896900059768 ], [ -121.99837900018197, 38.368967001088144 ], [ -121.997634999954414, 38.368948000983252 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1287, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.851174031176441, 38.416509021733241 ], [ -121.859574016800323, 38.416609023548553 ], [ -121.859331998277909, 38.438116995095562 ], [ -121.85927401552631, 38.443308008702409 ], [ -121.858374027450608, 38.44420802689843 ], [ -121.858484025718667, 38.44436300344838 ], [ -121.858674035791566, 38.44450798744942 ], [ -121.858880975022601, 38.444515987612647 ], [ -121.859124027568541, 38.444516031324255 ], [ -121.859656018303212, 38.444438977840953 ], [ -121.859886991429875, 38.444376030960136 ], [ -121.860350043216371, 38.444230996486148 ], [ -121.860789041339899, 38.444066998617281 ], [ -121.861377003431343, 38.443806021053071 ], [ -121.860571013216372, 38.444342977142973 ], [ -121.859282963565803, 38.445201983321873 ], [ -121.858817955943351, 38.445572993615905 ], [ -121.858776971933239, 38.445605966238979 ], [ -121.858526019030563, 38.445806005427677 ], [ -121.85840104330785, 38.445913985426948 ], [ -121.858274959702655, 38.446007028692911 ], [ -121.857273980824019, 38.446807979795885 ], [ -121.855373983329116, 38.448208015995313 ], [ -121.850257976125519, 38.452354035266943 ], [ -121.850189042982819, 38.452410034422343 ], [ -121.850152038019118, 38.452440015600772 ], [ -121.849574017644386, 38.452908022912567 ], [ -121.844635013127615, 38.456591984278411 ], [ -121.84367403993383, 38.457308021127957 ], [ -121.843425026339858, 38.457516001945592 ], [ -121.843382026430788, 38.457550990863915 ], [ -121.843074027511108, 38.457808023687669 ], [ -121.843035958291708, 38.457837006384224 ], [ -121.842825966225519, 38.458001016443333 ], [ -121.842022041688452, 38.45863100743405 ], [ -121.841338971096604, 38.4591329959798 ], [ -121.840781003504148, 38.459543988651006 ], [ -121.840329960470399, 38.459841981941892 ], [ -121.839788035825819, 38.460228979861327 ], [ -121.837374009402637, 38.462207981300025 ], [ -121.836708964489105, 38.46273201682866 ], [ -121.833571004264769, 38.465202983831666 ], [ -121.830830993833985, 38.467362003476083 ], [ -121.830774029744788, 38.467406986477791 ], [ -121.830713003492406, 38.467453970626444 ], [ -121.824578010468869, 38.472163019743114 ], [ -121.823730007973921, 38.472835034037146 ], [ -121.82232195822337, 38.473971008352208 ], [ -121.821665016402122, 38.474434982854852 ], [ -121.80756900125381, 38.485603016441466 ], [ -121.804639037888222, 38.487801010866001 ], [ -121.80385702913064, 38.488387024450667 ], [ -121.803872979827759, 38.488066990355705 ], [ -121.803862032354644, 38.48682199637134 ], [ -121.803857023167637, 38.486659030513941 ], [ -121.803889999150968, 38.483185002634244 ], [ -121.803905042324232, 38.481602967576116 ], [ -121.803917004478933, 38.479789975483321 ], [ -121.803936983152326, 38.47677097310067 ], [ -121.803973995316838, 38.476064987205049 ], [ -121.803921016611085, 38.474338983385778 ], [ -121.803776962556071, 38.47417903269784 ], [ -121.803920989881163, 38.469251019305652 ], [ -121.803972976628998, 38.467106969442952 ], [ -121.804044957963114, 38.45693098594063 ], [ -121.804049007412431, 38.456420033022873 ], [ -121.80417301615401, 38.452808009293221 ], [ -121.804171967557977, 38.445408006762229 ], [ -121.804204969770524, 38.441975986851197 ], [ -121.804208969148775, 38.441560007763862 ], [ -121.804313013618838, 38.43074397878803 ], [ -121.804372027156077, 38.424609029971627 ], [ -121.804371963583506, 38.423397013140082 ], [ -121.804372026200937, 38.416309020047464 ], [ -121.804572029967403, 38.416309018783501 ], [ -121.813550981126312, 38.416359014686826 ], [ -121.818446032586152, 38.416386014126452 ], [ -121.822673042116136, 38.416408985838295 ], [ -121.832001016258516, 38.416460017635941 ], [ -121.841073019660001, 38.416508972390055 ], [ -121.85047396929383, 38.4165089858394 ], [ -121.851174031176441, 38.416509021733241 ] ], [ [ -121.720070975105358, 38.286618993253093 ], [ -121.71967100979505, 38.286637017511069 ], [ -121.719028970558611, 38.286720972358616 ], [ -121.718888999076668, 38.286735989122882 ], [ -121.718227005754613, 38.286771000895783 ], [ -121.717857960524299, 38.286838992833403 ], [ -121.717153994549705, 38.287264009730691 ], [ -121.717044972859057, 38.287997007883241 ], [ -121.71724904107478, 38.288836996754938 ], [ -121.717140029343113, 38.289686023438747 ], [ -121.717180015506969, 38.289895987981375 ], [ -121.717115999680445, 38.289959990681197 ], [ -121.716971977143587, 38.290296010585934 ], [ -121.716827974084623, 38.290504033029833 ], [ -121.716619960230304, 38.290872020645899 ], [ -121.716492008365378, 38.291111971201879 ], [ -121.716443980758456, 38.291176007642775 ], [ -121.716411999694074, 38.291176009714555 ], [ -121.716380038892666, 38.291255992804842 ], [ -121.716171966885142, 38.291479999394923 ], [ -121.716059982566719, 38.291640002591585 ], [ -121.715996039863583, 38.291719987523514 ], [ -121.715424012719836, 38.291984997395453 ], [ -121.712520036784497, 38.292011032686922 ], [ -121.712217030622966, 38.292172033169571 ], [ -121.712219983700251, 38.293880034824362 ], [ -121.7121400071008, 38.314440016240269 ], [ -121.694465974741249, 38.314378018674446 ], [ -121.694317028703821, 38.314376994155992 ], [ -121.694314036430654, 38.314503971877073 ], [ -121.694011993978677, 38.328295019119942 ], [ -121.694092002876076, 38.329075998296119 ], [ -121.69423598355587, 38.330470988090028 ], [ -121.694187997945491, 38.343367025415645 ], [ -121.694182995485278, 38.343556006853966 ], [ -121.693915959053413, 38.353655000245382 ], [ -121.693963956283369, 38.356806007236059 ], [ -121.694092033037322, 38.357221977086411 ], [ -121.694139955664482, 38.357894031270895 ], [ -121.694134973888026, 38.358031969054906 ], [ -121.693867991814258, 38.366021968255147 ], [ -121.693772003732334, 38.374102008164634 ], [ -121.693916019169535, 38.374006032190387 ], [ -121.694124044890302, 38.378149966453449 ], [ -121.694092998501318, 38.386501982526468 ], [ -121.694013031993478, 38.401285013296281 ], [ -121.694013041269969, 38.403636021625935 ], [ -121.69401304493266, 38.408596981910357 ], [ -121.693932960564013, 38.415605030013189 ], [ -121.693933009854803, 38.415651990078814 ], [ -121.69399697404954, 38.415652984605302 ], [ -121.693932977536221, 38.418724985889803 ], [ -121.693884956539705, 38.423060985750091 ], [ -121.693876997192021, 38.430533008455882 ], [ -121.693853990485593, 38.452147979138083 ], [ -121.693837993530551, 38.458307976663995 ], [ -121.693765028159888, 38.47324298362286 ], [ -121.69376404421341, 38.473362024819927 ], [ -121.693693995396018, 38.487602992389959 ], [ -121.695646022630868, 38.487730987929652 ], [ -121.695542029768532, 38.494898989337038 ], [ -121.695468032251085, 38.49996500917338 ], [ -121.695437966287912, 38.502018966478381 ], [ -121.69539201008881, 38.505152025030597 ], [ -121.69540699207667, 38.505429016768858 ], [ -121.695392003307816, 38.505787975752035 ], [ -121.695347996240372, 38.510997027422718 ], [ -121.695310042004948, 38.514738029562615 ], [ -121.695245992922622, 38.51908997659789 ], [ -121.695229971199723, 38.520290026550235 ], [ -121.695214015998076, 38.523937984337948 ], [ -121.694781981692287, 38.524418033108169 ], [ -121.694767040802503, 38.527026009400728 ], [ -121.694959034514852, 38.527009985764323 ], [ -121.695455009167134, 38.527010021861507 ], [ -121.695902966160929, 38.526994032388259 ], [ -121.696558968431034, 38.526882004858138 ], [ -121.697311034998023, 38.526850034526639 ], [ -121.698174986832043, 38.527010024765481 ], [ -121.698527025110721, 38.52723401792764 ], [ -121.698894954984226, 38.527362016384672 ], [ -121.699486965303635, 38.527249965290395 ], [ -121.699950965288593, 38.527233997728139 ], [ -121.700735034405, 38.527426030587215 ], [ -121.701311000135135, 38.528001979944605 ], [ -121.701950958722861, 38.528738028006764 ], [ -121.702270984528667, 38.528993969935819 ], [ -121.70273503164205, 38.528946029043823 ], [ -121.702878989122453, 38.528930023382465 ], [ -121.702990957410393, 38.529297992223221 ], [ -121.703022997332113, 38.529650009301676 ], [ -121.703215019922851, 38.530082016062742 ], [ -121.7034070325318, 38.530290000607245 ], [ -121.703758980005574, 38.530385984782249 ], [ -121.704351022731714, 38.530418024193438 ], [ -121.704319017439502, 38.531138031664845 ], [ -121.70439896193416, 38.53153802996917 ], [ -121.704623014194411, 38.531953984974663 ], [ -121.70465501012653, 38.532193990159961 ], [ -121.704943044700173, 38.532225971508083 ], [ -121.705150985218665, 38.531986015489757 ], [ -121.705182982934133, 38.531986017373278 ], [ -121.705567027217072, 38.531841995922306 ], [ -121.705950964261817, 38.531873979064436 ], [ -121.706143041616727, 38.53203401553646 ], [ -121.706383042151188, 38.532546032103625 ], [ -121.706351018795971, 38.533137977100402 ], [ -121.706351041561035, 38.53344197666884 ], [ -121.706862959352662, 38.534146028102818 ], [ -121.707358988300598, 38.534882005517829 ], [ -121.70796704318434, 38.535393998704748 ], [ -121.708143032366422, 38.53544198429681 ], [ -121.708414998883811, 38.535425976366319 ], [ -121.708638999415214, 38.535169998798764 ], [ -121.70923101606094, 38.535266009620777 ], [ -121.709391012065623, 38.535266013501193 ], [ -121.709806956131715, 38.535394014363007 ], [ -121.710206980333098, 38.535746000885972 ], [ -121.710399039356886, 38.536369984640729 ], [ -121.710494988662433, 38.53667398478364 ], [ -121.710575005597519, 38.537042016699445 ], [ -121.710894963976216, 38.537425997060005 ], [ -121.711471044612452, 38.537697968946595 ], [ -121.711758981352588, 38.537761965841334 ], [ -121.712398978867995, 38.537857995923275 ], [ -121.713022973792235, 38.537825995115021 ], [ -121.713663035732324, 38.537682015859069 ], [ -121.722770980331603, 38.535205979997549 ], [ -121.725566986295846, 38.53606600823688 ], [ -121.728198979101435, 38.53609899584216 ], [ -121.728770995303933, 38.536105983056771 ], [ -121.729731987883099, 38.536212021459683 ], [ -121.730350960260623, 38.536280972198945 ], [ -121.730896034286346, 38.536342007894937 ], [ -121.732371957153049, 38.536505985469191 ], [ -121.734272031857898, 38.537805976633365 ], [ -121.734705989335396, 38.537825029930161 ], [ -121.735270999662333, 38.537849017650721 ], [ -121.737477010584257, 38.53794400658019 ], [ -121.737712043864448, 38.537954003778346 ], [ -121.738471976535109, 38.538005985932628 ], [ -121.740367994365243, 38.536401994346953 ], [ -121.742607985657401, 38.534610029011667 ], [ -121.743311980706579, 38.534129976748382 ], [ -121.744847990858972, 38.532913979084853 ], [ -121.745856023496799, 38.532193998228045 ], [ -121.746528022163986, 38.531954009871363 ], [ -121.747536041910365, 38.531538014613396 ], [ -121.747899995987623, 38.531426024163601 ], [ -121.748159962859248, 38.531346010167944 ], [ -121.748621008655263, 38.531185984635542 ], [ -121.748991958209288, 38.531058013628588 ], [ -121.74979199051414, 38.530689973487036 ], [ -121.750576032059271, 38.530561972568435 ], [ -121.75107203398143, 38.530561984602663 ], [ -121.751071999739352, 38.530481020656666 ], [ -121.754031956415261, 38.529858021292213 ], [ -121.755215995521084, 38.529922010599591 ], [ -121.756639977586502, 38.529745997538186 ], [ -121.756944012704068, 38.529697972524922 ], [ -121.758432017509378, 38.529186019777413 ], [ -121.759999982910173, 38.528578020061651 ], [ -121.76030396147442, 38.528417974187015 ], [ -121.761216020063046, 38.527809980830177 ], [ -121.763024012361328, 38.526706024713349 ], [ -121.764240012682535, 38.526145994631179 ], [ -121.765215997491055, 38.525857993367545 ], [ -121.766000023278039, 38.525825988801088 ], [ -121.766735972194454, 38.525938010465822 ], [ -121.767280004321265, 38.526194023369165 ], [ -121.768048034365464, 38.527073981328606 ], [ -121.768448007165489, 38.527890009230298 ], [ -121.768372027152665, 38.531106003929331 ], [ -121.768688004672853, 38.531308991083826 ], [ -121.771172964340806, 38.532906006688755 ], [ -121.776473006588589, 38.530606035321156 ], [ -121.77668896061023, 38.530481988533268 ], [ -121.779073037421014, 38.530606002940672 ], [ -121.782873008957452, 38.527605976298844 ], [ -121.783777040092019, 38.524226012251347 ], [ -121.783972988671238, 38.52360603363821 ], [ -121.78627303430244, 38.523406016609712 ], [ -121.796220991301695, 38.527752003921243 ], [ -121.796572982525589, 38.527906004172578 ], [ -121.799384976574743, 38.527744010488178 ], [ -121.801404971702922, 38.527628969692685 ], [ -121.802810987513681, 38.527549014633529 ], [ -121.803573959041742, 38.527505982560399 ], [ -121.804114016849823, 38.52742603031043 ], [ -121.805041983101404, 38.527393967098298 ], [ -121.806033965407678, 38.527458016481127 ], [ -121.8074099967546, 38.527234006824429 ], [ -121.808337998406003, 38.527329981763216 ], [ -121.809170003616345, 38.527393995470547 ], [ -121.809713962366445, 38.527201974643567 ], [ -121.810433966038389, 38.527090028756724 ], [ -121.811458039864078, 38.526658013463155 ], [ -121.812546018980981, 38.526514024448964 ], [ -121.813058021017852, 38.526465991076513 ], [ -121.813921997920673, 38.526481998272523 ], [ -121.814881981275633, 38.526770024541058 ], [ -121.816801985751525, 38.527378017138034 ], [ -121.819762000078015, 38.528289979335796 ], [ -121.821858041144367, 38.528753998811446 ], [ -121.822561999484094, 38.528993975437174 ], [ -121.82324998363157, 38.529185983279163 ], [ -121.824881998742171, 38.529682034636991 ], [ -121.826338017647402, 38.529873986268512 ], [ -121.827218020215199, 38.529938001038062 ], [ -121.828866028443599, 38.529969986476807 ], [ -121.830225983018622, 38.530018009577034 ], [ -121.830833979866142, 38.530098006504524 ], [ -121.831923043111956, 38.530226028632335 ], [ -121.832803035797625, 38.530257967722591 ], [ -121.833442960015745, 38.530498015177116 ], [ -121.834403036536614, 38.530993995864634 ], [ -121.836978978558164, 38.532386006181127 ], [ -121.838275038076276, 38.533121989273319 ], [ -121.838914998478543, 38.533474019423636 ], [ -121.839715043290198, 38.53393802557035 ], [ -121.840818997655489, 38.534338011527076 ], [ -121.842547018923582, 38.534882008862631 ], [ -121.84486698889441, 38.535394016146874 ], [ -121.845779042495934, 38.535634005820292 ], [ -121.846114972116425, 38.535713986783627 ], [ -121.8466430037533, 38.535810010579269 ], [ -121.847043038388875, 38.535905968392868 ], [ -121.84808298687696, 38.536322011804003 ], [ -121.849122987738582, 38.536578019115474 ], [ -121.849827043334884, 38.536737995653517 ], [ -121.850514956733946, 38.536786008529795 ], [ -121.851111988989473, 38.536793981127381 ], [ -121.851651025521576, 38.536802015453922 ], [ -121.851859013911138, 38.536738016799475 ], [ -121.852530989667201, 38.536706023811782 ], [ -121.853763013806528, 38.536674020153526 ], [ -121.854354974502328, 38.536770001504998 ], [ -121.854867010898118, 38.536898006222501 ], [ -121.855362977986658, 38.537186019883933 ], [ -121.85608301895499, 38.537633995668465 ], [ -121.857395007755883, 38.538050009537152 ], [ -121.859908001089352, 38.538914002269159 ], [ -121.860947973326788, 38.538977984206461 ], [ -121.861347995090966, 38.538952024430287 ], [ -121.862164026703482, 38.538898003246366 ], [ -121.863252038908456, 38.538786000032651 ], [ -121.864388030236128, 38.53704200187299 ], [ -121.868019978117971, 38.536913979874058 ], [ -121.871716028067326, 38.538849996061245 ], [ -121.872596010169062, 38.538994000823912 ], [ -121.873427979282496, 38.538865989816976 ], [ -121.874675963799604, 38.53859398383829 ], [ -121.875780028171448, 38.538434002959598 ], [ -121.880675997665023, 38.538353977813607 ], [ -121.881763985557086, 38.538385988976962 ], [ -121.882548034852547, 38.538705997725494 ], [ -121.883492019226424, 38.539234020921441 ], [ -121.884707982292852, 38.539297991674545 ], [ -121.886067956277401, 38.539202025086148 ], [ -121.88650002248599, 38.539073987486553 ], [ -121.887124004623047, 38.538882015638059 ], [ -121.888947995018583, 38.538129967360646 ], [ -121.889395977411453, 38.537858023816845 ], [ -121.889619956833073, 38.537713990040899 ], [ -121.890084020722355, 38.537346024709677 ], [ -121.890595987621012, 38.536881987774422 ], [ -121.890965043111279, 38.536402021225697 ], [ -121.891461038832773, 38.535873972775434 ], [ -121.892084988188103, 38.535138033591849 ], [ -121.893237032995529, 38.53421002394122 ], [ -121.893796993573702, 38.533922013523629 ], [ -121.894596986683638, 38.533634014029239 ], [ -121.895125000823285, 38.533506005229398 ], [ -121.896772982172266, 38.533441989532584 ], [ -121.897579002371245, 38.533357000826278 ], [ -121.898437009384594, 38.533266018545966 ], [ -121.89979698857988, 38.532913973356692 ], [ -121.900660992545966, 38.532770016909716 ], [ -121.901476990001186, 38.53259399226183 ], [ -121.903509040070972, 38.531938007889863 ], [ -121.906740955326555, 38.53070602890579 ], [ -121.908469031530089, 38.530241997157169 ], [ -121.909156980134256, 38.529953979251687 ], [ -121.909588969550896, 38.529889993038829 ], [ -121.910068971976386, 38.529809977660094 ], [ -121.91082100245616, 38.529889985060969 ], [ -121.911940993705016, 38.529937994546231 ], [ -121.912372974939188, 38.529922013519943 ], [ -121.914772994834337, 38.529841986999415 ], [ -121.917333013687085, 38.530017971971922 ], [ -121.919476987431963, 38.530194004739712 ], [ -121.920212989216196, 38.530274015151079 ], [ -121.920853030592298, 38.530177971158651 ], [ -121.921556973755713, 38.529985988283912 ], [ -121.92213301551709, 38.529889981375767 ], [ -121.922741023430589, 38.529826017992391 ], [ -121.923525997243118, 38.530017978239606 ], [ -121.923909970085731, 38.53011401895062 ], [ -121.924821992395536, 38.529905975617382 ], [ -121.925637976464969, 38.530002034497386 ], [ -121.926469980507335, 38.530129986841608 ], [ -121.927157980052996, 38.530225988031084 ], [ -121.928021986006385, 38.530354011392589 ], [ -121.929285965018252, 38.530593968407786 ], [ -121.930389975223562, 38.530706004688909 ], [ -121.931398024193868, 38.531009991656759 ], [ -121.93318995667272, 38.531649972883869 ], [ -121.933617012346986, 38.531791996268488 ], [ -121.935014032458582, 38.532257974077794 ], [ -121.935685962261843, 38.532801971761558 ], [ -121.93621396929575, 38.533010027187892 ], [ -121.937109957322832, 38.533106029164472 ], [ -121.937685959203165, 38.53320200788702 ], [ -121.938326014879038, 38.533154024962066 ], [ -121.939029990462871, 38.533153999780055 ], [ -121.939605995495327, 38.533249969096794 ], [ -121.939938023429605, 38.533303033198571 ], [ -121.940213985473164, 38.533346999562049 ], [ -121.94040597229305, 38.533378025386313 ], [ -121.941446017648275, 38.533602025355854 ], [ -121.941861965115535, 38.533665980934799 ], [ -121.942422014277625, 38.533634008689397 ], [ -121.943125955498715, 38.533410002974279 ], [ -121.943702030730833, 38.5330419893941 ], [ -121.943934997102545, 38.53279598674456 ], [ -121.944278021545884, 38.532434034751482 ], [ -121.944308959081823, 38.532383974733769 ], [ -121.944822034381957, 38.531554028818029 ], [ -121.945078032147364, 38.530785973058407 ], [ -121.945429955721835, 38.530194016737923 ], [ -121.945750037148684, 38.529634017684792 ], [ -121.946534012477017, 38.528865994233215 ], [ -121.946831967344366, 38.52866696663817 ], [ -121.945978032737244, 38.527005979669269 ], [ -121.938978035654728, 38.514505979074507 ], [ -121.932077977164042, 38.5018060167736 ], [ -121.929678014652794, 38.502606007969298 ], [ -121.927576989758066, 38.503205993217534 ], [ -121.925971001721408, 38.500183034281292 ], [ -121.925877036310141, 38.500007006185221 ], [ -121.923677021839936, 38.500507025317141 ], [ -121.923672007294726, 38.499940997937344 ], [ -121.923641024319863, 38.496611004532411 ], [ -121.923576988358732, 38.489807015899451 ], [ -121.923577008302445, 38.489606996723175 ], [ -121.923676956318928, 38.484706981254853 ], [ -121.923576974904705, 38.475006973414295 ], [ -121.923676999517326, 38.473207009647538 ], [ -121.923776981059817, 38.467806965978724 ], [ -121.91557696069404, 38.467607005478222 ], [ -121.915476001325118, 38.460607972852799 ], [ -121.915575988175775, 38.453307980761828 ], [ -121.915476014246821, 38.446308025585473 ], [ -121.915476028142891, 38.446008029902885 ], [ -121.915521012773183, 38.442768969347526 ], [ -121.915529004336477, 38.442211012751592 ], [ -121.915576011652604, 38.438907970597107 ], [ -121.91557100223396, 38.438470990105976 ], [ -121.915489963860708, 38.431395014743096 ], [ -121.915476035401454, 38.430207994907121 ], [ -121.915475997069947, 38.421808999178438 ], [ -121.915475999186924, 38.417008974627905 ], [ -121.908876022587975, 38.417009030822747 ], [ -121.905574962329823, 38.417009015078413 ], [ -121.899674971771134, 38.417009033280024 ], [ -121.899174995207659, 38.416909008892318 ], [ -121.89877497828266, 38.416809006497665 ], [ -121.898175043694877, 38.416608978259255 ], [ -121.897375015614898, 38.416308989869769 ], [ -121.896975004609942, 38.416208981407088 ], [ -121.895974982026388, 38.415809026315806 ], [ -121.894774966771976, 38.415508982723836 ], [ -121.893074957906904, 38.416108983083106 ], [ -121.893074990377755, 38.415409014325874 ], [ -121.894708016439722, 38.414998969135262 ], [ -121.896374991694387, 38.414609004659084 ], [ -121.896274959431068, 38.413573034331925 ], [ -121.896575038171846, 38.402508981604711 ], [ -121.896575006488632, 38.397608972639574 ], [ -121.896574976131106, 38.380994029260719 ], [ -121.896574022695134, 38.374909980875074 ], [ -121.896574000637727, 38.37351003257799 ], [ -121.896674009208326, 38.364810011812665 ], [ -121.896774033826787, 38.35891002324697 ], [ -121.896673990140215, 38.351710000186969 ], [ -121.896773990392091, 38.346509975850701 ], [ -121.896789040644862, 38.345070031321555 ], [ -121.896873999523024, 38.33711099368481 ], [ -121.896873957750486, 38.329732983383053 ], [ -121.896874027813524, 38.321397016151181 ], [ -121.896872961905984, 38.315410983037069 ], [ -121.886225007173792, 38.315383006970841 ], [ -121.87607302136928, 38.315356001636971 ], [ -121.875234043603427, 38.315364011233846 ], [ -121.872708962884246, 38.315388981778682 ], [ -121.869176039406597, 38.315367995841278 ], [ -121.855874001577632, 38.315257007557392 ], [ -121.851010972775015, 38.315216013670927 ], [ -121.84607603086063, 38.315173969758462 ], [ -121.844653011066072, 38.315162987546564 ], [ -121.84123203462002, 38.315134024877686 ], [ -121.832769962120395, 38.315063981934884 ], [ -121.824000015706488, 38.314991016049689 ], [ -121.822954966758331, 38.315060020842559 ], [ -121.823070002623965, 38.307507026727649 ], [ -121.809233975743368, 38.307361035612203 ], [ -121.797187963207961, 38.307235021414449 ], [ -121.796868040305171, 38.30723202170784 ], [ -121.796258032756938, 38.307047987631933 ], [ -121.795677024919399, 38.30659100265617 ], [ -121.794283006082438, 38.307025025519827 ], [ -121.793767994694477, 38.307050990298251 ], [ -121.792045961473647, 38.307139017253931 ], [ -121.786352964272709, 38.307137979086548 ], [ -121.776994988742189, 38.307015003965141 ], [ -121.772858006182858, 38.306960034978559 ], [ -121.763302994363315, 38.306836017719036 ], [ -121.759784987895983, 38.306790984852512 ], [ -121.758438011659422, 38.306774973742506 ], [ -121.7584089606611, 38.30673897050972 ], [ -121.757684012802358, 38.305594030253786 ], [ -121.75692900651876, 38.304976035479065 ], [ -121.756696976634728, 38.304609015181143 ], [ -121.756623981020041, 38.303133029715617 ], [ -121.756610959504641, 38.302869996571282 ], [ -121.754926974888349, 38.30069398479241 ], [ -121.754172989279155, 38.299984033143957 ], [ -121.754143955866965, 38.299801021764843 ], [ -121.753185972063392, 38.299480000906165 ], [ -121.75106796037953, 38.299217031897555 ], [ -121.750426038191279, 38.299096982541386 ], [ -121.749355033775643, 38.298683973379845 ], [ -121.748636034521653, 38.297840025207435 ], [ -121.748460025869434, 38.297128034712784 ], [ -121.748348007814585, 38.297096001700737 ], [ -121.748204005971232, 38.297063979279706 ], [ -121.747852041653658, 38.296983973084835 ], [ -121.747339995243692, 38.296871981868193 ], [ -121.747180001820809, 38.296839998628279 ], [ -121.747227976891153, 38.296840018193087 ], [ -121.746955981662836, 38.296743966012606 ], [ -121.746604034287614, 38.296631992047899 ], [ -121.746252013991466, 38.29648798162755 ], [ -121.745931970342099, 38.296360012523714 ], [ -121.745675977001525, 38.296248005550602 ], [ -121.745516001350481, 38.296183985616295 ], [ -121.745131993522051, 38.296056034284064 ], [ -121.7446039627402, 38.295767986562808 ], [ -121.744395955279074, 38.295640015431424 ], [ -121.744428027836889, 38.295640006718813 ], [ -121.744107983708375, 38.295528014767463 ], [ -121.743692031596197, 38.295335999496693 ], [ -121.74321202636358, 38.295144000533327 ], [ -121.742955976753294, 38.294983970319826 ], [ -121.742955967782905, 38.29500002273813 ], [ -121.742747982269719, 38.294840014312278 ], [ -121.742571955741866, 38.294728012826525 ], [ -121.742316014120675, 38.294536018163157 ], [ -121.741979972272873, 38.294280009924599 ], [ -121.741835956062133, 38.294119981883135 ], [ -121.741803973512717, 38.294119990856544 ], [ -121.741803989518687, 38.294088026809547 ], [ -121.741627975523372, 38.293959971533461 ], [ -121.741355957966704, 38.293768013538866 ], [ -121.741035968997949, 38.293576032891025 ], [ -121.740620036289741, 38.293384006994955 ], [ -121.740331990286123, 38.293271996312725 ], [ -121.740331972427285, 38.293304030745396 ], [ -121.740124035452013, 38.293239981272947 ], [ -121.739939995924999, 38.293163022270583 ], [ -121.739739981760238, 38.293079977266437 ], [ -121.739452009435439, 38.292999999848654 ], [ -121.738859959900992, 38.292888027292847 ], [ -121.738203967188056, 38.292744033371307 ], [ -121.737644003125709, 38.292615995295535 ], [ -121.737644020938291, 38.292584031272689 ], [ -121.737435999179141, 38.292519976142103 ], [ -121.736828013277915, 38.29232798170213 ], [ -121.736411970658111, 38.29220000901298 ], [ -121.735884032900714, 38.292008027106718 ], [ -121.735259994947953, 38.29178402818448 ], [ -121.734604009457058, 38.291512016629738 ], [ -121.734139994592311, 38.291399993347206 ], [ -121.734043981984215, 38.291367978649561 ], [ -121.733788042412499, 38.291368032397401 ], [ -121.733483963952096, 38.291352006162278 ], [ -121.733051970505713, 38.29132002362833 ], [ -121.732603967468776, 38.291319971545938 ], [ -121.731867974960778, 38.291288008717849 ], [ -121.731340028847342, 38.291272020692261 ], [ -121.730507973292788, 38.291288012716649 ], [ -121.729596030306524, 38.291208015522159 ], [ -121.728971963423533, 38.291192031868498 ], [ -121.72893998348431, 38.2911919669639 ], [ -121.728764020058492, 38.291159996865623 ], [ -121.728091983878713, 38.291015983908622 ], [ -121.727739992901078, 38.290920005616478 ], [ -121.727228021005928, 38.290807998151998 ], [ -121.727260001991525, 38.29080799312807 ], [ -121.726971986295396, 38.290696020514041 ], [ -121.72669998637528, 38.290551975231786 ], [ -121.726315976176423, 38.290391998349705 ], [ -121.725963972550616, 38.290199981223935 ], [ -121.725723980167913, 38.290023965105071 ], [ -121.725515956716706, 38.289863996318182 ], [ -121.725228042869929, 38.289624022965874 ], [ -121.724844019194393, 38.289255992260344 ], [ -121.724635999864603, 38.289096021964461 ], [ -121.724524040462342, 38.289016020644326 ], [ -121.724348015659814, 38.288839993192163 ], [ -121.724011998542991, 38.288551969881333 ], [ -121.723692009200889, 38.288216032894894 ], [ -121.723227998928238, 38.287800025174498 ], [ -121.722987981336885, 38.287560004406942 ], [ -121.722956027236208, 38.287527973963833 ], [ -121.72263602287903, 38.287223998137456 ], [ -121.722395959017831, 38.287047974461686 ], [ -121.721867955293433, 38.286807982759463 ], [ -121.721709019554794, 38.286794000319034 ], [ -121.721248992246274, 38.286707034154944 ], [ -121.721169012030515, 38.28671397729039 ], [ -121.720989028807693, 38.286693005469971 ], [ -121.720769990981864, 38.286668016791189 ], [ -121.720070975105358, 38.286618993253093 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 26, "TAZ1454": 1289, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.830770000415754, 38.439049000493199 ], [ -121.830966999653185, 38.439152001109477 ], [ -121.831072999502197, 38.439208000914249 ], [ -121.831673000228577, 38.439508000733959 ], [ -121.831873000092415, 38.441708000777354 ], [ -121.831872999586935, 38.442708000334981 ], [ -121.831772999481785, 38.443508000742717 ], [ -121.831872999860977, 38.444208000725951 ], [ -121.831873000183009, 38.444908000243302 ], [ -121.831772999811804, 38.445608001073701 ], [ -121.831772999966603, 38.446608000891196 ], [ -121.831772999767054, 38.447608000541123 ], [ -121.831772999474282, 38.448208000430853 ], [ -121.831672999413357, 38.449008000881662 ], [ -121.831673000034911, 38.449708000740614 ], [ -121.831672999885654, 38.450208000327237 ], [ -121.83167299963327, 38.45070800077302 ], [ -121.831673000194982, 38.450908000946455 ], [ -121.831672999518005, 38.451508000502663 ], [ -121.831672999844685, 38.452108000910982 ], [ -121.831673000478304, 38.452908000464369 ], [ -121.830673000180795, 38.452908001109591 ], [ -121.827473000509258, 38.452908000414446 ], [ -121.826373000341761, 38.452908000676196 ], [ -121.82517300006738, 38.452908000728002 ], [ -121.824704999527142, 38.452900000971113 ], [ -121.824073000106594, 38.452908001015594 ], [ -121.823649000158113, 38.45342800108989 ], [ -121.822972999455004, 38.454208000456319 ], [ -121.822372999895038, 38.455108000715015 ], [ -121.82237300019824, 38.456208000830728 ], [ -121.822372999718425, 38.458284000455464 ], [ -121.822372999951781, 38.459608000741603 ], [ -121.822393000169996, 38.467316000530516 ], [ -121.822400999813198, 38.470291000772505 ], [ -121.822401000381802, 38.471123000726358 ], [ -121.822897000079777, 38.471731000507702 ], [ -121.823634000085391, 38.472643000268675 ], [ -121.823659000378512, 38.472694000954142 ], [ -121.82372999977629, 38.472835000611404 ], [ -121.822321999473857, 38.473971000656398 ], [ -121.82166500035629, 38.474435000266318 ], [ -121.807568999933736, 38.48560300088284 ], [ -121.804638999931328, 38.487801000791002 ], [ -121.80385700029079, 38.488387000387753 ], [ -121.803872999866925, 38.4880670005859 ], [ -121.803861999746687, 38.4868220008821 ], [ -121.803857000006332, 38.486659001101991 ], [ -121.803889999750183, 38.483185001063326 ], [ -121.803905000501715, 38.481603000830276 ], [ -121.803916999612809, 38.479790001116996 ], [ -121.803936999755351, 38.476771000305369 ], [ -121.803974000249497, 38.476065000885626 ], [ -121.803920999413037, 38.474339000895675 ], [ -121.80377699976917, 38.474179000635708 ], [ -121.803921000076855, 38.469251000597758 ], [ -121.803972999605733, 38.467107000993316 ], [ -121.804044999691229, 38.456931000898074 ], [ -121.80404899963483, 38.456420000839117 ], [ -121.804173000108761, 38.452808000680918 ], [ -121.804171999598523, 38.445408000781015 ], [ -121.804205000336793, 38.441976000680803 ], [ -121.8042090000624, 38.441560000532014 ], [ -121.80431300036264, 38.43074400106957 ], [ -121.804371999709289, 38.424609001079119 ], [ -121.804372000011469, 38.42339700100792 ], [ -121.804371999893348, 38.416309000403665 ], [ -121.804571999770431, 38.416309000564482 ], [ -121.813550999680544, 38.416359000793719 ], [ -121.818446000449342, 38.416386000509974 ], [ -121.82267300035214, 38.416409000738803 ], [ -121.832001000355646, 38.416460000467595 ], [ -121.84107300045828, 38.416509000249491 ], [ -121.850473999980352, 38.416509001009956 ], [ -121.841072999438381, 38.427408000515044 ], [ -121.839703999750753, 38.428977001075928 ], [ -121.836272999792982, 38.432908000591034 ], [ -121.830770000415754, 38.439049000493199 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1352, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.662447999405472, 38.44369500031123 ], [ -122.660390999666376, 38.444475000603987 ], [ -122.660296000364269, 38.444511001048461 ], [ -122.658695999766636, 38.445211001079556 ], [ -122.656095999977296, 38.44621100076035 ], [ -122.654496000192054, 38.447211000742691 ], [ -122.653796000524594, 38.44761100094955 ], [ -122.65339600015389, 38.447811000723057 ], [ -122.652995999864629, 38.448011000922953 ], [ -122.652477999585315, 38.448409000515603 ], [ -122.652979000337552, 38.448441000620143 ], [ -122.653622000172717, 38.44851700041248 ], [ -122.654051000218658, 38.44868200098653 ], [ -122.654377999825471, 38.448885000883052 ], [ -122.65459200031772, 38.449208000914794 ], [ -122.654540999812369, 38.449712000394925 ], [ -122.654397999958618, 38.450033000431944 ], [ -122.654183999924356, 38.450307000459588 ], [ -122.653654999522004, 38.450984001063155 ], [ -122.652895999783553, 38.449111000765051 ], [ -122.651995999611898, 38.449311000410489 ], [ -122.650896000192859, 38.450511000498338 ], [ -122.650496000364072, 38.4512110006035 ], [ -122.649796000065436, 38.450611000890653 ], [ -122.648471000514633, 38.448039000938266 ], [ -122.64822800048492, 38.447183000287502 ], [ -122.64791599957249, 38.446048000990785 ], [ -122.648150999945628, 38.445875000838619 ], [ -122.648529999651359, 38.445594000451067 ], [ -122.649362999991453, 38.444839000243334 ], [ -122.649561999928991, 38.444590000637362 ], [ -122.649789999937497, 38.444294000535201 ], [ -122.649841000219624, 38.44394000050147 ], [ -122.649963999774684, 38.443877000678604 ], [ -122.650012000368591, 38.443685000814391 ], [ -122.650045000107326, 38.443556000819449 ], [ -122.649963999488094, 38.443394001076278 ], [ -122.649565999651017, 38.442940000808733 ], [ -122.649510999403873, 38.44285400070229 ], [ -122.64911599943548, 38.442614000263085 ], [ -122.648870999496097, 38.442386000791181 ], [ -122.64883100009321, 38.442257000433138 ], [ -122.648667000274727, 38.442127001078561 ], [ -122.648555000419037, 38.441868000298861 ], [ -122.648495999881135, 38.441811000620312 ], [ -122.648636999862944, 38.441289000864877 ], [ -122.648605999568275, 38.440967000867559 ], [ -122.648476000324479, 38.440823000917405 ], [ -122.64839599980057, 38.440772000674251 ], [ -122.648292999493634, 38.440644000648348 ], [ -122.648237999649865, 38.440577000303001 ], [ -122.648198000524445, 38.440319001105628 ], [ -122.648135999707733, 38.439288000425343 ], [ -122.648177000225843, 38.438967000453523 ], [ -122.648146999497428, 38.438773000584781 ], [ -122.648023999693393, 38.438354000728474 ], [ -122.647820000483634, 38.438126000409575 ], [ -122.647626000219844, 38.437835000364522 ], [ -122.647380999875892, 38.437511000708668 ], [ -122.647339999718355, 38.437382000337337 ], [ -122.647247000468013, 38.436936001027789 ], [ -122.647152999856587, 38.436038000353442 ], [ -122.646894000088537, 38.4351530008501 ], [ -122.646403000432173, 38.43456400110918 ], [ -122.646207000431758, 38.434329000601494 ], [ -122.644879999868209, 38.433810000248712 ], [ -122.643934000331456, 38.433665001013665 ], [ -122.643506000221521, 38.433345000659614 ], [ -122.643063999653251, 38.432566001110139 ], [ -122.642240000222515, 38.431880000825906 ], [ -122.6419960004215, 38.431101000298611 ], [ -122.641294000441135, 38.429728001075333 ], [ -122.640148999778688, 38.428935000446728 ], [ -122.639035000082288, 38.428057000783589 ], [ -122.638912999983702, 38.427317000837164 ], [ -122.639080999477486, 38.426699001046813 ], [ -122.638944000343599, 38.425860000777163 ], [ -122.63829600026115, 38.42551100025473 ], [ -122.638119999719876, 38.425318000387314 ], [ -122.637479000221148, 38.425090000384891 ], [ -122.636609000046192, 38.425128000484676 ], [ -122.636060000358768, 38.425158000866396 ], [ -122.635067000408455, 38.42525000062485 ], [ -122.634410999610665, 38.425585000675845 ], [ -122.633984000522503, 38.426028000945465 ], [ -122.633876000412542, 38.426157000395648 ], [ -122.629049000310104, 38.420215000471146 ], [ -122.630275999407431, 38.420214000379595 ], [ -122.626095000428592, 38.414912000419434 ], [ -122.625485000443589, 38.414280000501698 ], [ -122.625331999579601, 38.414058001077869 ], [ -122.625195000231102, 38.413852000643132 ], [ -122.625072999465175, 38.413608001138854 ], [ -122.624890000483163, 38.413311000990078 ], [ -122.62476700001173, 38.413097000529689 ], [ -122.624004999570843, 38.412296000930738 ], [ -122.622708000189078, 38.411167000418516 ], [ -122.621868000267995, 38.410564000934563 ], [ -122.621364999460667, 38.410251001132487 ], [ -122.620830999909685, 38.410007001009355 ], [ -122.610895000289815, 38.406312000609802 ], [ -122.600662999763784, 38.40248700096604 ], [ -122.591437999496478, 38.399039001065908 ], [ -122.591443000352314, 38.397503000331973 ], [ -122.591294000216365, 38.39741200075877 ], [ -122.590250999812156, 38.396892000683792 ], [ -122.589579999936518, 38.396572000704467 ], [ -122.589259000104562, 38.39632800106353 ], [ -122.588892999802908, 38.396068001010605 ], [ -122.588480999684975, 38.395786000773668 ], [ -122.588298000363551, 38.395679000254539 ], [ -122.587733000354774, 38.395443000901359 ], [ -122.58729100041198, 38.395321000567264 ], [ -122.586481999759087, 38.395115000952281 ], [ -122.586084999850158, 38.395069000904286 ], [ -122.585796000209996, 38.39500000074306 ], [ -122.585550999637206, 38.394909000660427 ], [ -122.585398999432883, 38.394825000802413 ], [ -122.585261000222502, 38.394748000523265 ], [ -122.585185000486163, 38.394665001057035 ], [ -122.58510899994036, 38.394596000247496 ], [ -122.58503300029308, 38.394489001090875 ], [ -122.584987000175289, 38.394390001018571 ], [ -122.584864999938816, 38.39432900046436 ], [ -122.584788000490121, 38.394283000546785 ], [ -122.584651000516189, 38.39423700068027 ], [ -122.584314999988095, 38.394115000574878 ], [ -122.58379699992912, 38.393993000514882 ], [ -122.583490999494188, 38.393902000320132 ], [ -122.582027000410662, 38.393657000620294 ], [ -122.581629999844225, 38.393581000872736 ], [ -122.581446999975228, 38.393566001002782 ], [ -122.581308999404612, 38.393543001003671 ], [ -122.581095999510268, 38.393558000613083 ], [ -122.580896999474106, 38.393581000487359 ], [ -122.580774999964646, 38.393604000559456 ], [ -122.580591999427156, 38.39362700035754 ], [ -122.580256999904563, 38.393573000363638 ], [ -122.580119000205201, 38.393581001067751 ], [ -122.579859999484967, 38.393589000567722 ], [ -122.579661999831345, 38.393558000597736 ], [ -122.579341000359832, 38.393573000824404 ], [ -122.578989999846044, 38.393459000293241 ], [ -122.578792000322196, 38.393451000790805 ], [ -122.578623999572883, 38.393459000976463 ], [ -122.578487000203481, 38.393474000457054 ], [ -122.578303000428164, 38.393459001096929 ], [ -122.578120000430701, 38.393444000540214 ], [ -122.577982999704275, 38.393421001127273 ], [ -122.577814999612372, 38.393383000791296 ], [ -122.577631999545773, 38.393322001009402 ], [ -122.577388000192656, 38.39323800080389 ], [ -122.57717399978884, 38.393169001027267 ], [ -122.577051999462213, 38.393184000662998 ], [ -122.576961000166008, 38.393184000334884 ], [ -122.576732000096982, 38.393085000654288 ], [ -122.576610000287161, 38.393009000558266 ], [ -122.576366000395907, 38.392856000525775 ], [ -122.576136999523655, 38.392750000773781 ], [ -122.575968999779164, 38.392681001100613 ], [ -122.57586200028868, 38.392643000516024 ], [ -122.575740000258961, 38.392544000278043 ], [ -122.575571999731437, 38.392460000963212 ], [ -122.575038000291016, 38.391926000790839 ], [ -122.574915999747191, 38.391849000365944 ], [ -122.574747999998166, 38.39179600107213 ], [ -122.574611000510799, 38.391735000319777 ], [ -122.574488999455738, 38.391659000707619 ], [ -122.574274999717559, 38.391506000660293 ], [ -122.574045999453816, 38.391285000631356 ], [ -122.573848000179666, 38.391185000346013 ], [ -122.57360399962073, 38.391071000418535 ], [ -122.573527000357274, 38.390987001099916 ], [ -122.573343999627596, 38.390888000812694 ], [ -122.573206999520536, 38.39083500038263 ], [ -122.57305399946047, 38.390774000833389 ], [ -122.572641999388949, 38.390613000893062 ], [ -122.572443999814112, 38.390545000699809 ], [ -122.572107999771106, 38.390392000449602 ], [ -122.571925000139373, 38.390300000459995 ], [ -122.571741999889014, 38.390201000374113 ], [ -122.571467999879303, 38.389980000307283 ], [ -122.570582999549856, 38.389110000291637 ], [ -122.570369000257287, 38.388965000460765 ], [ -122.570154999971152, 38.388859000715541 ], [ -122.569986999537804, 38.388775000586264 ], [ -122.569820000017032, 38.388698000994516 ], [ -122.569635999755249, 38.388584000270079 ], [ -122.56925499982114, 38.388363000464231 ], [ -122.568949999650201, 38.388164001112081 ], [ -122.568598999414775, 38.387943000427747 ], [ -122.568323999715631, 38.387836000484761 ], [ -122.568018999645773, 38.387745000536555 ], [ -122.567805000447521, 38.38764500045567 ], [ -122.567499999441438, 38.387470000530548 ], [ -122.567347999854562, 38.387417000990212 ], [ -122.566904999967235, 38.387295000315966 ], [ -122.566614999723427, 38.387150000293296 ], [ -122.566325000107554, 38.387035000416098 ], [ -122.566156999458471, 38.387005000666726 ], [ -122.565994000200021, 38.386912001071764 ], [ -122.565654000036204, 38.3869740005469 ], [ -122.565293999703442, 38.387012000965491 ], [ -122.565180999642294, 38.386890000389073 ], [ -122.565093999776323, 38.386712000347885 ], [ -122.565515000121707, 38.386725000730344 ], [ -122.569366000329453, 38.386843000245342 ], [ -122.569667000324429, 38.386852000316942 ], [ -122.569942000373629, 38.386867001019418 ], [ -122.570292999941088, 38.386913000630997 ], [ -122.570521000346204, 38.386966000854081 ], [ -122.570704999449234, 38.387035000264241 ], [ -122.571116999454475, 38.3872950002674 ], [ -122.57123899958421, 38.387386000696281 ], [ -122.571329999728334, 38.387424001081072 ], [ -122.571605000284279, 38.387523001028384 ], [ -122.571910000136995, 38.387623000296934 ], [ -122.572199999700146, 38.387737000430313 ], [ -122.572550999695125, 38.387851000591574 ], [ -122.573009000398685, 38.388118001053485 ], [ -122.573238000084544, 38.388302000722497 ], [ -122.573359999955642, 38.38835500060992 ], [ -122.573527000201025, 38.388393000992004 ], [ -122.573802000040914, 38.388416000929283 ], [ -122.574061999752359, 38.388416000544495 ], [ -122.57435099947682, 38.388378001115704 ], [ -122.574626000272161, 38.38830900032459 ], [ -122.574961999709259, 38.388111000696462 ], [ -122.575236000417235, 38.387996000845803 ], [ -122.575480999477932, 38.387951000687423 ], [ -122.575831999585603, 38.387920001121188 ], [ -122.5777079995447, 38.38782900035563 ], [ -122.577921999772798, 38.387844000508473 ], [ -122.578257999954474, 38.387905000666272 ], [ -122.579293999649465, 38.388112000837218 ], [ -122.580791000381296, 38.388431000816247 ], [ -122.581095999644106, 38.388477000955959 ], [ -122.581461999398172, 38.38852300091839 ], [ -122.581706000333085, 38.388508000373811 ], [ -122.581935000161423, 38.388485000626147 ], [ -122.582164000332497, 38.388485000587025 ], [ -122.585123999417561, 38.387783000975318 ], [ -122.585474999527378, 38.387699000326649 ], [ -122.585901999863353, 38.387592001095577 ], [ -122.58639099986668, 38.387516000412518 ], [ -122.586756999652536, 38.38743900088722 ], [ -122.587137999828869, 38.387394000572122 ], [ -122.587519999565814, 38.387409000687008 ], [ -122.587840000316959, 38.387417000772025 ], [ -122.588144999804996, 38.387462000244561 ], [ -122.589137000304447, 38.387661000245856 ], [ -122.589458000047557, 38.387706001012184 ], [ -122.589686999557799, 38.387714000862552 ], [ -122.590099000451914, 38.387745000599232 ], [ -122.590712000474866, 38.387767000954625 ], [ -122.591365000522615, 38.387790000920774 ], [ -122.591476999533569, 38.387786000514168 ], [ -122.591562999444605, 38.387783000801093 ], [ -122.591837999540772, 38.387676000882955 ], [ -122.592113000457132, 38.387584000309126 ], [ -122.592464000149647, 38.387333000621652 ], [ -122.592676999881135, 38.387188001098629 ], [ -122.593089000268549, 38.386928000934248 ], [ -122.593440999773321, 38.386631000509382 ], [ -122.593761999833788, 38.386326000456549 ], [ -122.594194999531041, 38.385812001064032 ], [ -122.594295999733674, 38.38570800046412 ], [ -122.594402000448241, 38.385502001058939 ], [ -122.5946469998688, 38.385273000833095 ], [ -122.594891000362367, 38.385059001135055 ], [ -122.595164999392253, 38.38491400050993 ], [ -122.595333000191502, 38.384830000540269 ], [ -122.595516000044952, 38.384754000891107 ], [ -122.595698999763727, 38.384723000951375 ], [ -122.595897999808528, 38.384716000545126 ], [ -122.596065999587594, 38.384739001133205 ], [ -122.596233999687215, 38.384784000399044 ], [ -122.596553999402985, 38.384922000998948 ], [ -122.597210000010122, 38.385196000663178 ], [ -122.597546000162694, 38.385334000356316 ], [ -122.597682999940901, 38.385357000345913 ], [ -122.597804999625126, 38.385364000625387 ], [ -122.598294999525592, 38.385212001038596 ], [ -122.598537999783986, 38.385143001105682 ], [ -122.598674999975628, 38.385105000481694 ], [ -122.598812000324003, 38.385097000597725 ], [ -122.5989500000329, 38.385105000727556 ], [ -122.599101999615272, 38.385113000807657 ], [ -122.599208999944025, 38.385166000959849 ], [ -122.599331000392795, 38.385227001093369 ], [ -122.599423000399668, 38.385318000426778 ], [ -122.599590000317491, 38.385463000473102 ], [ -122.599697000009826, 38.385654000343266 ], [ -122.599880000382115, 38.385868001065298 ], [ -122.600047999491338, 38.386059000608519 ], [ -122.600276999752765, 38.386280000637214 ], [ -122.600413999606801, 38.386425000836283 ], [ -122.600627999533145, 38.386608001138441 ], [ -122.600825999826313, 38.386730000295636 ], [ -122.601095000316491, 38.386912000999153 ], [ -122.601193000462189, 38.387005001138277 ], [ -122.602389000115579, 38.388326000991746 ], [ -122.604328999876927, 38.390470000728847 ], [ -122.605190000035435, 38.391422000814508 ], [ -122.605600000050472, 38.391856000441607 ], [ -122.605846999896102, 38.392116000934529 ], [ -122.606181999635552, 38.392429001098463 ], [ -122.6069110003492, 38.393068000990631 ], [ -122.607782999390551, 38.393831000301006 ], [ -122.60802899964375, 38.394047000420954 ], [ -122.608120000528842, 38.394153000290515 ], [ -122.608393000009883, 38.394574000396254 ], [ -122.609194999656324, 38.395812000504151 ], [ -122.60986000035463, 38.396785000905936 ], [ -122.609951000185859, 38.396900000739571 ], [ -122.610104000205851, 38.396953000654925 ], [ -122.612395999677275, 38.397402000897131 ], [ -122.614995000121283, 38.39791200105239 ], [ -122.620695000147663, 38.399112000984907 ], [ -122.622394999682868, 38.399412000806628 ], [ -122.623895000045962, 38.397512000456061 ], [ -122.626095000138605, 38.397512001126849 ], [ -122.629694999868747, 38.397612000768376 ], [ -122.632296000043311, 38.397712001098689 ], [ -122.636838000067073, 38.398212000521241 ], [ -122.637082000451812, 38.398288000372709 ], [ -122.637195999982609, 38.398312000506586 ], [ -122.637448999518909, 38.398586000337879 ], [ -122.63755500029896, 38.398838000496156 ], [ -122.63779600033746, 38.399212001069316 ], [ -122.637875999981276, 38.399326000790985 ], [ -122.638227000411348, 38.399639001105079 ], [ -122.638653999933467, 38.399990000474325 ], [ -122.638912999534554, 38.400333000697849 ], [ -122.64229600020127, 38.405212000707422 ], [ -122.643780999398615, 38.407299001051975 ], [ -122.643796000361647, 38.40801200075061 ], [ -122.643780999598533, 38.408848000933887 ], [ -122.644222999741217, 38.409519000822421 ], [ -122.644742000188515, 38.410022001123785 ], [ -122.645595999606343, 38.410612000921674 ], [ -122.646772000259034, 38.411319000482038 ], [ -122.649396000467647, 38.412060000569618 ], [ -122.650876000260965, 38.412441000737061 ], [ -122.651104999473887, 38.412548000795525 ], [ -122.651226999551739, 38.412678000280387 ], [ -122.651654000081734, 38.413257000731086 ], [ -122.651913999605682, 38.413471000662021 ], [ -122.65212700043179, 38.413654000859822 ], [ -122.652416999933081, 38.413692000644069 ], [ -122.653795999736445, 38.413812001051099 ], [ -122.655026999466102, 38.413799000597088 ], [ -122.655850999931971, 38.413860000738545 ], [ -122.656476000174123, 38.413990000778739 ], [ -122.65699599982085, 38.414012000450043 ], [ -122.657101999905905, 38.414242000709145 ], [ -122.657041000086721, 38.414516000248156 ], [ -122.656994999538895, 38.41537100043962 ], [ -122.657025999839391, 38.415683000607672 ], [ -122.657041000126469, 38.41600400040101 ], [ -122.657315000329859, 38.416347000472946 ], [ -122.657575000160335, 38.416660000556746 ], [ -122.657795999598093, 38.41701200102441 ], [ -122.657895000344595, 38.417133000642444 ], [ -122.657864999593386, 38.417415000985315 ], [ -122.657795999765213, 38.417612000436854 ], [ -122.656696000117677, 38.420212000452501 ], [ -122.658696000520706, 38.422812000768609 ], [ -122.658696000066072, 38.424911000560215 ], [ -122.661895999774657, 38.425711000483858 ], [ -122.661696000517225, 38.427111000572289 ], [ -122.662696000043795, 38.428911000687876 ], [ -122.662095999405409, 38.429411000447182 ], [ -122.661296000146322, 38.429611000484307 ], [ -122.659896000476294, 38.430111000873978 ], [ -122.659495999637159, 38.430611000581592 ], [ -122.659645000043994, 38.431319001096632 ], [ -122.65989599953383, 38.432511001022235 ], [ -122.659696000003123, 38.432911000855455 ], [ -122.659396000010133, 38.433411001025434 ], [ -122.659295999468682, 38.434011000974188 ], [ -122.659096000217033, 38.434711000304468 ], [ -122.658296000473428, 38.435211000895357 ], [ -122.658393999868593, 38.435440000765809 ], [ -122.659195999593194, 38.437311000449071 ], [ -122.659395999851867, 38.43771100041873 ], [ -122.660196000157896, 38.439111000882527 ], [ -122.660996000435688, 38.440411000894862 ], [ -122.661695999978647, 38.441411000933613 ], [ -122.661896000090138, 38.441711000809605 ], [ -122.662895999924487, 38.443011001037419 ], [ -122.66319600013432, 38.443411000666835 ], [ -122.662800000030387, 38.443561000528774 ], [ -122.662447999405472, 38.44369500031123 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1361, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.706509000508873, 38.442719000402775 ], [ -122.705996999502503, 38.44291100042571 ], [ -122.704597000157463, 38.442811001116112 ], [ -122.702696999964459, 38.442811001023081 ], [ -122.701596999406647, 38.442811000451925 ], [ -122.700796999987347, 38.440811000737824 ], [ -122.701297000401865, 38.440711000964356 ], [ -122.701596999891947, 38.440611000892318 ], [ -122.702096999754758, 38.440411001094212 ], [ -122.702796999895114, 38.440211001009878 ], [ -122.704197000064738, 38.439811000874698 ], [ -122.705297000373861, 38.439511000618893 ], [ -122.708296999791926, 38.438611000579527 ], [ -122.709760999759808, 38.437971000871741 ], [ -122.709897999464857, 38.437911000744307 ], [ -122.710698000221356, 38.437211000285686 ], [ -122.711898000035319, 38.436611000854285 ], [ -122.712498000334975, 38.437211000924776 ], [ -122.715597999614417, 38.436411000369439 ], [ -122.716152999667798, 38.436203000692714 ], [ -122.716798000362644, 38.436012000250301 ], [ -122.717098000320249, 38.435912000907599 ], [ -122.717710999987005, 38.436744000623747 ], [ -122.718098000474214, 38.437211001023428 ], [ -122.71829099996134, 38.437533000700931 ], [ -122.718698000160927, 38.438211001137674 ], [ -122.719097999481662, 38.438911001015654 ], [ -122.719477000386263, 38.439442001102627 ], [ -122.719597999764545, 38.439611000874493 ], [ -122.721297999450186, 38.442011000535565 ], [ -122.721497999505019, 38.442311000872621 ], [ -122.722297999466591, 38.44341100028192 ], [ -122.722897999457714, 38.444211001051841 ], [ -122.723898000384892, 38.44571100038582 ], [ -122.723298000499341, 38.445711000837697 ], [ -122.722497999698291, 38.445611000404327 ], [ -122.720297999813781, 38.445611001011557 ], [ -122.717697999478418, 38.445511001082444 ], [ -122.716097999990296, 38.445611000773106 ], [ -122.714698000234478, 38.445411000289972 ], [ -122.713497999914338, 38.445311001089451 ], [ -122.712297999650147, 38.445411000707608 ], [ -122.710898000317073, 38.445411001082469 ], [ -122.708296999865709, 38.445211000850044 ], [ -122.707997000367286, 38.445211000722551 ], [ -122.707697000531482, 38.444211001067274 ], [ -122.707614999443038, 38.444116000861193 ], [ -122.707097000433905, 38.443511000370613 ], [ -122.706509000508873, 38.442719000402775 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1363, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.727790000307181, 38.467111000580474 ], [ -122.728597999930869, 38.469111000963053 ], [ -122.729397999991306, 38.470811000882243 ], [ -122.72949799999509, 38.471111000341217 ], [ -122.730397999985499, 38.473011000593644 ], [ -122.730497999441681, 38.474511000809997 ], [ -122.730544000250418, 38.475115000642433 ], [ -122.730598000485713, 38.475211000554445 ], [ -122.730597999957354, 38.475611001023253 ], [ -122.730097999821211, 38.475411000703716 ], [ -122.729498000051194, 38.475111001122954 ], [ -122.729298000469953, 38.475011000879057 ], [ -122.728097999677857, 38.474411000328182 ], [ -122.727498000064585, 38.473911001018685 ], [ -122.727198000095512, 38.473711000945571 ], [ -122.726797999724852, 38.473411000648277 ], [ -122.725997999581281, 38.47291100103417 ], [ -122.722997999483681, 38.470311000574377 ], [ -122.721997999834755, 38.469411000665367 ], [ -122.721798000368111, 38.469111000660817 ], [ -122.721297999575654, 38.468511000548382 ], [ -122.719297999779087, 38.464911000322815 ], [ -122.719098000446365, 38.464711000747613 ], [ -122.718198000165515, 38.463011000477891 ], [ -122.716998000403862, 38.460911000823444 ], [ -122.71709799962548, 38.459011000815764 ], [ -122.716997999788063, 38.458711001062397 ], [ -122.717197999593026, 38.457511000802775 ], [ -122.717098000226969, 38.457211001061445 ], [ -122.717197999417337, 38.456411000382978 ], [ -122.717198000080998, 38.455011000699066 ], [ -122.717197999421131, 38.454611000725862 ], [ -122.717298000447443, 38.453211000414079 ], [ -122.717298000250736, 38.452611000260376 ], [ -122.71739799939111, 38.451311000329092 ], [ -122.717398000176019, 38.450511000753146 ], [ -122.717397999781426, 38.450011000397303 ], [ -122.717498000329684, 38.449611000608897 ], [ -122.717498000122518, 38.448711000700015 ], [ -122.717497999431188, 38.448511000499671 ], [ -122.717597999928188, 38.447711000974842 ], [ -122.717698000261194, 38.446611000857921 ], [ -122.717697999478418, 38.445511001082444 ], [ -122.720297999813781, 38.445611001011557 ], [ -122.722497999698291, 38.445611000404327 ], [ -122.723298000499341, 38.445711000837697 ], [ -122.723898000384892, 38.44571100038582 ], [ -122.725097999658388, 38.447211000637189 ], [ -122.725398000186431, 38.448011000405195 ], [ -122.725429000477078, 38.448510000306385 ], [ -122.725771999406604, 38.454085001088359 ], [ -122.725797999714516, 38.454511000861928 ], [ -122.725897999782035, 38.455311000600354 ], [ -122.725997999604246, 38.456611000965495 ], [ -122.725997999450072, 38.457211000809949 ], [ -122.726098000202484, 38.459911000668171 ], [ -122.726398000453202, 38.463311000521067 ], [ -122.726498000304431, 38.463911000665391 ], [ -122.727790000307181, 38.467111000580474 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1356, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.667600999663151, 38.46262700086529 ], [ -122.66780800036608, 38.462545000619471 ], [ -122.668449999393204, 38.462288000988323 ], [ -122.668895999700482, 38.462111001002356 ], [ -122.669696000120837, 38.461511000329246 ], [ -122.670695999927844, 38.460811000594127 ], [ -122.671495999681596, 38.46021100096403 ], [ -122.671895999741096, 38.459911000421464 ], [ -122.673396000197499, 38.458911000922576 ], [ -122.674095999839508, 38.458611000479031 ], [ -122.673053999426628, 38.4580900007916 ], [ -122.672095999883382, 38.457611001016915 ], [ -122.673095999522872, 38.457011000792633 ], [ -122.674995999735955, 38.456311000240866 ], [ -122.675795999391539, 38.455811000275872 ], [ -122.676187000217794, 38.454819000338979 ], [ -122.677096999906283, 38.452511000807441 ], [ -122.678497000177714, 38.453011000516391 ], [ -122.680296999853553, 38.45481100042619 ], [ -122.680896999640311, 38.454311000793226 ], [ -122.681796999848771, 38.455411000836371 ], [ -122.682303999528088, 38.455975000872712 ], [ -122.683306999444369, 38.457089001058613 ], [ -122.683596999673043, 38.457411000667179 ], [ -122.683697000420821, 38.458211001096196 ], [ -122.683696999416568, 38.459311000405165 ], [ -122.68279699959794, 38.460211000767437 ], [ -122.682466999798038, 38.460953000763773 ], [ -122.682397000024494, 38.461111000542004 ], [ -122.681924000234517, 38.462174000875407 ], [ -122.681822999468707, 38.46240200094055 ], [ -122.681596999479765, 38.46291100093498 ], [ -122.681283999513496, 38.463302001067696 ], [ -122.680957000209048, 38.463710000588584 ], [ -122.680797000402706, 38.463911000822122 ], [ -122.680696999803175, 38.464711000317905 ], [ -122.6805969999415, 38.465410000435661 ], [ -122.680597000170479, 38.465661000568282 ], [ -122.680596999915679, 38.466113000487347 ], [ -122.680596999881018, 38.466310000686633 ], [ -122.680535000049005, 38.466826000711556 ], [ -122.680501999816855, 38.467099000466924 ], [ -122.680493000462363, 38.467173000813325 ], [ -122.680455999454949, 38.467480000574547 ], [ -122.680295999567292, 38.468810000319223 ], [ -122.680295999718794, 38.469310000483205 ], [ -122.680216000068086, 38.469868000709994 ], [ -122.680195999805264, 38.47001000094275 ], [ -122.68017399965251, 38.470203000839817 ], [ -122.680114000299881, 38.47074500037656 ], [ -122.680096000369076, 38.470910000515353 ], [ -122.680096000032393, 38.471210000328618 ], [ -122.679995999643609, 38.47161000060418 ], [ -122.67997999963508, 38.471782000486208 ], [ -122.679948999665385, 38.472123001016179 ], [ -122.679934000367311, 38.472289000623462 ], [ -122.679895999527929, 38.472710000774867 ], [ -122.679892999630098, 38.472767000672675 ], [ -122.679835000518494, 38.473749000441906 ], [ -122.679738000186205, 38.475392000303437 ], [ -122.679724999406716, 38.475610000770558 ], [ -122.679695999667942, 38.476110000364244 ], [ -122.679551000405638, 38.476496000878775 ], [ -122.679412000024854, 38.476867000684976 ], [ -122.679392999939367, 38.476918000620188 ], [ -122.679154999786689, 38.477553000880413 ], [ -122.679032000288586, 38.477881001142798 ], [ -122.678860999976365, 38.478336001107962 ], [ -122.678796000332156, 38.478510000355428 ], [ -122.678095999684857, 38.479410001123128 ], [ -122.677988000039647, 38.480058000801975 ], [ -122.677895999804434, 38.480610000255879 ], [ -122.677792999857743, 38.480899000868945 ], [ -122.677595000466184, 38.48145300107317 ], [ -122.677395999775712, 38.482010000967982 ], [ -122.67694900016852, 38.482099000254358 ], [ -122.676895999760404, 38.482110000270417 ], [ -122.675801000110539, 38.482110001058928 ], [ -122.675731999687386, 38.482110001125044 ], [ -122.675511000444317, 38.482110001055972 ], [ -122.674875999820941, 38.482110000356407 ], [ -122.67482499990858, 38.482110000281821 ], [ -122.673456000474701, 38.482110000455805 ], [ -122.673396000308003, 38.482110000803893 ], [ -122.673195999757965, 38.482110000841118 ], [ -122.672596000407538, 38.482110000712666 ], [ -122.672465000280454, 38.482110000381745 ], [ -122.672295999587945, 38.482110000844536 ], [ -122.672295999847464, 38.480363000305076 ], [ -122.672296000148464, 38.479210000392008 ], [ -122.672270000022493, 38.478773000713133 ], [ -122.672200000463619, 38.477586001024541 ], [ -122.672195999564735, 38.477510000439551 ], [ -122.672195999585057, 38.477110000584311 ], [ -122.672241999826483, 38.476518000661564 ], [ -122.67229600028169, 38.475810000829505 ], [ -122.671277999528002, 38.474144000539702 ], [ -122.67119599948343, 38.474010000566565 ], [ -122.67115199976098, 38.473937000417884 ], [ -122.671081000499456, 38.47381800040003 ], [ -122.670595999652036, 38.473010000867887 ], [ -122.669995999806304, 38.47191000105704 ], [ -122.669896000398211, 38.471710000389756 ], [ -122.669695999820135, 38.471410001089076 ], [ -122.669563999734223, 38.471240000527622 ], [ -122.669378999577106, 38.471002000542761 ], [ -122.66919399950126, 38.470765000605994 ], [ -122.668995999678543, 38.470510000639187 ], [ -122.668195999989592, 38.470210000682371 ], [ -122.66699599993602, 38.46991000075176 ], [ -122.666892999869503, 38.469576000916454 ], [ -122.666675000166549, 38.468868000627985 ], [ -122.666595999653609, 38.46861000057806 ], [ -122.6665289997445, 38.468443000503946 ], [ -122.666341999456904, 38.467888000375062 ], [ -122.66599599944918, 38.466619001006606 ], [ -122.665848999513855, 38.466402000998798 ], [ -122.665786000464777, 38.466119000284067 ], [ -122.665768000503633, 38.466081000581617 ], [ -122.665495999719127, 38.465510000426953 ], [ -122.665390000150495, 38.465245001006423 ], [ -122.665348000284197, 38.465141000704755 ], [ -122.66529600042513, 38.465010000257543 ], [ -122.665095999521313, 38.464910000353719 ], [ -122.66509599979031, 38.464410000890027 ], [ -122.664895999779446, 38.463710000498288 ], [ -122.665095000094368, 38.463630000909376 ], [ -122.665588999991343, 38.463433000515856 ], [ -122.666981999469229, 38.462875000377672 ], [ -122.667159000213516, 38.462804000953007 ], [ -122.667526999495578, 38.462657000524544 ], [ -122.667600999663151, 38.46262700086529 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1362, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.717398000176019, 38.450511000753146 ], [ -122.715798000446043, 38.450411000481331 ], [ -122.714497999675856, 38.450411000559136 ], [ -122.713297999389823, 38.450311001078717 ], [ -122.712198000486964, 38.450311000733208 ], [ -122.710696999975383, 38.450311000971652 ], [ -122.709497000161903, 38.450411000530885 ], [ -122.709452999413529, 38.451327001101284 ], [ -122.709396999459287, 38.452511001107766 ], [ -122.709396999556873, 38.453111000275449 ], [ -122.707896999855564, 38.45301100038089 ], [ -122.706196999470478, 38.452911000840537 ], [ -122.705596999770378, 38.452911000683009 ], [ -122.705297000495364, 38.452911000805265 ], [ -122.703896999701712, 38.452911001121876 ], [ -122.702397000440172, 38.452811001122399 ], [ -122.701897000464868, 38.452811000759496 ], [ -122.700996999722676, 38.452511001045465 ], [ -122.699996999952006, 38.452011000655531 ], [ -122.69919699975604, 38.451611000670475 ], [ -122.698672000530252, 38.451283000810456 ], [ -122.698396999477723, 38.451111000599319 ], [ -122.697596999710456, 38.450711000472232 ], [ -122.697296999900558, 38.450611000827628 ], [ -122.698297000344496, 38.44971100048155 ], [ -122.698397000442483, 38.44931100090745 ], [ -122.697996999977477, 38.449211000629624 ], [ -122.698068000245556, 38.448072000702346 ], [ -122.698096999539842, 38.447611000478453 ], [ -122.698996999481707, 38.447311000505501 ], [ -122.699796999981004, 38.446211000704196 ], [ -122.700096999761357, 38.444911000498827 ], [ -122.702396999998413, 38.444011001078394 ], [ -122.702696999964459, 38.442811001023081 ], [ -122.704597000157463, 38.442811001116112 ], [ -122.705996999502503, 38.44291100042571 ], [ -122.706509000508873, 38.442719000402775 ], [ -122.707097000433905, 38.443511000370613 ], [ -122.707614999443038, 38.444116000861193 ], [ -122.707697000531482, 38.444211001067274 ], [ -122.707997000367286, 38.445211000722551 ], [ -122.708296999865709, 38.445211000850044 ], [ -122.710898000317073, 38.445411001082469 ], [ -122.712297999650147, 38.445411000707608 ], [ -122.713497999914338, 38.445311001089451 ], [ -122.714698000234478, 38.445411000289972 ], [ -122.716097999990296, 38.445611000773106 ], [ -122.717697999478418, 38.445511001082444 ], [ -122.717698000261194, 38.446611000857921 ], [ -122.717597999928188, 38.447711000974842 ], [ -122.717497999431188, 38.448511000499671 ], [ -122.717498000122518, 38.448711000700015 ], [ -122.717498000329684, 38.449611000608897 ], [ -122.717397999781426, 38.450011000397303 ], [ -122.717398000176019, 38.450511000753146 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 30, "TAZ1454": 1365, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.701997000049886, 38.471510000748026 ], [ -122.701396999910642, 38.471510000478055 ], [ -122.700696999885352, 38.471410000659603 ], [ -122.700497000243914, 38.470810000608424 ], [ -122.699196999452752, 38.470310000449984 ], [ -122.69889699957416, 38.470010000313522 ], [ -122.69879699988914, 38.46911000095718 ], [ -122.698696999610434, 38.468511000899994 ], [ -122.69919699950232, 38.466611001124051 ], [ -122.699397000401802, 38.466211000851182 ], [ -122.698596999429512, 38.466011000639355 ], [ -122.696996999568981, 38.464411000920514 ], [ -122.696845000071903, 38.464256000549085 ], [ -122.696686999483305, 38.464179000878673 ], [ -122.696445000315677, 38.464219000895461 ], [ -122.696326999906404, 38.464330000628451 ], [ -122.696256000124407, 38.464459000422295 ], [ -122.696232999637132, 38.464662000882491 ], [ -122.696186000122452, 38.464901000335843 ], [ -122.696097000215175, 38.46521100032399 ], [ -122.695396999522373, 38.464911000824863 ], [ -122.694997000235659, 38.464711000583961 ], [ -122.694537000412183, 38.464558000453465 ], [ -122.694396999544523, 38.464511001037096 ], [ -122.694085000051729, 38.464901000672796 ], [ -122.693997000173894, 38.465011000321695 ], [ -122.693791999916016, 38.465352001010423 ], [ -122.693697000157357, 38.465511001036162 ], [ -122.693213999446158, 38.466236000515941 ], [ -122.693119000513391, 38.466378000424058 ], [ -122.692886999588154, 38.46672600054135 ], [ -122.692732000165506, 38.466958000380956 ], [ -122.692651000201906, 38.467080000790105 ], [ -122.692496999635026, 38.467311000771751 ], [ -122.692346000089657, 38.467562000976287 ], [ -122.6921969999363, 38.467810000674937 ], [ -122.691197000103386, 38.469010000647252 ], [ -122.689896999732198, 38.468510000920197 ], [ -122.689597000044543, 38.468310000985738 ], [ -122.688997000216887, 38.468310000331982 ], [ -122.688296999595366, 38.468510000341979 ], [ -122.68969700007402, 38.466011000404336 ], [ -122.690797000038998, 38.464511000583869 ], [ -122.690997000101376, 38.4637110010149 ], [ -122.690697000399894, 38.463111000982515 ], [ -122.690396999729387, 38.462211000699611 ], [ -122.690023000335074, 38.461313000922601 ], [ -122.689896999789426, 38.461011000746417 ], [ -122.689197000384809, 38.457911000508751 ], [ -122.689197000242032, 38.456811000801615 ], [ -122.68739700009813, 38.456411000543575 ], [ -122.686297000090619, 38.455411001107997 ], [ -122.686696999793895, 38.455311000857343 ], [ -122.687197000131206, 38.454311001021189 ], [ -122.685396999667873, 38.453811000678485 ], [ -122.68519699960089, 38.453611000714226 ], [ -122.685597000381151, 38.453311000671121 ], [ -122.68539700020871, 38.451511000622297 ], [ -122.684696999999673, 38.451011000777996 ], [ -122.684396999831037, 38.450711000591305 ], [ -122.684397000266088, 38.450211000599168 ], [ -122.686497000003016, 38.450711000341279 ], [ -122.687497000136133, 38.449911000490061 ], [ -122.68839700048062, 38.449511001038772 ], [ -122.688397000476954, 38.449111000930607 ], [ -122.692959999903749, 38.44990000051844 ], [ -122.695974000525851, 38.450421000772522 ], [ -122.696496999684683, 38.450511000461475 ], [ -122.697996999977477, 38.449211000629624 ], [ -122.698397000442483, 38.44931100090745 ], [ -122.698297000344496, 38.44971100048155 ], [ -122.697296999900558, 38.450611000827628 ], [ -122.697596999710456, 38.450711000472232 ], [ -122.698396999477723, 38.451111000599319 ], [ -122.698672000530252, 38.451283000810456 ], [ -122.69919699975604, 38.451611000670475 ], [ -122.699996999952006, 38.452011000655531 ], [ -122.700996999722676, 38.452511001045465 ], [ -122.701897000464868, 38.452811000759496 ], [ -122.702397000440172, 38.452811001122399 ], [ -122.703896999701712, 38.452911001121876 ], [ -122.703896999800079, 38.453711001055311 ], [ -122.705496999696507, 38.455211000397611 ], [ -122.706196999945277, 38.455911001071108 ], [ -122.707896999433515, 38.457611000605219 ], [ -122.707897000014071, 38.457911000378331 ], [ -122.708397000414365, 38.458511000827464 ], [ -122.708764999490938, 38.458977000778951 ], [ -122.709142000114014, 38.459454000512778 ], [ -122.709477000485123, 38.459879001007948 ], [ -122.709897000222441, 38.460411000671783 ], [ -122.71059700038505, 38.460911000958617 ], [ -122.712196999676692, 38.462511000973194 ], [ -122.713197000339633, 38.463211000903719 ], [ -122.714297000286578, 38.464411000972532 ], [ -122.714396999628107, 38.465411000518699 ], [ -122.714396999485828, 38.465611001028897 ], [ -122.71379699982586, 38.466511000304436 ], [ -122.712596999969477, 38.467611000754374 ], [ -122.711796999554039, 38.467911000249472 ], [ -122.710397000447486, 38.468511000618349 ], [ -122.707396999798803, 38.468311000507725 ], [ -122.704996999536817, 38.468811000325474 ], [ -122.704097000157162, 38.469011001042695 ], [ -122.703396999579198, 38.471710000497261 ], [ -122.702696999415068, 38.47161000091004 ], [ -122.702296999909336, 38.471610000758723 ], [ -122.701997000049886, 38.471510000748026 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 21, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.401880999829245, 37.779029001095104 ], [ -122.402280999908712, 37.778629000817133 ], [ -122.402780999889345, 37.778229000388691 ], [ -122.403381000165012, 37.777729000691693 ], [ -122.404082000182242, 37.777229000363455 ], [ -122.404582000217516, 37.777729000771672 ], [ -122.404982000166456, 37.778029000450701 ], [ -122.405582000357271, 37.778529000392034 ], [ -122.406081999392924, 37.778929001057072 ], [ -122.406582000403162, 37.779329000502763 ], [ -122.407081999967076, 37.779729000514479 ], [ -122.405681999742299, 37.780829000411721 ], [ -122.404881999916597, 37.78142900070246 ], [ -122.403081999611501, 37.78282900094289 ], [ -122.402581999453474, 37.783229000435618 ], [ -122.400382000382379, 37.785029000929853 ], [ -122.399782000277312, 37.784629000645474 ], [ -122.399480999866014, 37.784229001083716 ], [ -122.398781000427803, 37.783829000626405 ], [ -122.397880999895463, 37.783129000333801 ], [ -122.397181000349264, 37.782629000741785 ], [ -122.397880999606613, 37.782129000454468 ], [ -122.399580999794736, 37.780829000661583 ], [ -122.39978099954088, 37.78062900109343 ], [ -122.401880999829245, 37.779029001095104 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 1, "TAZ1454": 22, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.397682000189633, 37.794428000246079 ], [ -122.398881999691469, 37.794328000816662 ], [ -122.400082000514502, 37.794128000620141 ], [ -122.400181999846311, 37.794628000895464 ], [ -122.400282000173235, 37.795028000813488 ], [ -122.400381999715108, 37.795528000853089 ], [ -122.400481999998902, 37.795928000548308 ], [ -122.400582000225668, 37.796828000314406 ], [ -122.399482000132778, 37.797028000495899 ], [ -122.399581999740235, 37.797928000904818 ], [ -122.39978199997671, 37.798728000311854 ], [ -122.398581999874082, 37.798928000649738 ], [ -122.397582000186247, 37.799028001080181 ], [ -122.397074000426016, 37.799527001120865 ], [ -122.396881999958282, 37.799328000913711 ], [ -122.39478200012455, 37.800628000988063 ], [ -122.39438200030817, 37.800228000766076 ], [ -122.396499999493756, 37.798878000703638 ], [ -122.396282000314372, 37.798628000985481 ], [ -122.394781999783078, 37.799528000452469 ], [ -122.394481999928615, 37.799228000599591 ], [ -122.395982000240082, 37.798328000391287 ], [ -122.395682000300042, 37.798028000829547 ], [ -122.39388200003873, 37.799028000972335 ], [ -122.393482000138519, 37.798728000484402 ], [ -122.395184999864341, 37.797631000854089 ], [ -122.395081999793049, 37.797528000467253 ], [ -122.394822999831135, 37.797254001058207 ], [ -122.393182000134431, 37.798228000609079 ], [ -122.392881999971308, 37.798028000416771 ], [ -122.393682000299791, 37.797228000972837 ], [ -122.393849999836092, 37.797061000368132 ], [ -122.392791999431921, 37.795802000473515 ], [ -122.391428999593145, 37.796503000495683 ], [ -122.390982000468014, 37.796024000278159 ], [ -122.391948000511448, 37.79528400068682 ], [ -122.392080999829403, 37.795054000684701 ], [ -122.391803999566577, 37.794726000741441 ], [ -122.391580999525218, 37.794528000787828 ], [ -122.392180999659473, 37.793928000505268 ], [ -122.392580999427494, 37.793628000597437 ], [ -122.393180999738462, 37.79322800096643 ], [ -122.3947820004134, 37.794428001055671 ], [ -122.395582000521387, 37.793828001119067 ], [ -122.396082000300211, 37.793428000874229 ], [ -122.396381999415297, 37.793728000488329 ], [ -122.396481999523985, 37.794628000282138 ], [ -122.397682000189633, 37.794428000246079 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 108, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.397181000159833, 37.768629000834601 ], [ -122.396480999719913, 37.768029001076435 ], [ -122.39568100016217, 37.767329001034042 ], [ -122.394680999781571, 37.76652900057659 ], [ -122.393881000297085, 37.765829000869779 ], [ -122.393880999949673, 37.765629000360846 ], [ -122.393880999403734, 37.765329000936681 ], [ -122.394480999796727, 37.765329000242922 ], [ -122.394881000438261, 37.765329000789002 ], [ -122.395880999778925, 37.765229000438019 ], [ -122.396781000372414, 37.765229000547201 ], [ -122.397681000244958, 37.765129000257929 ], [ -122.398681000055674, 37.765029000456678 ], [ -122.399680999537992, 37.765029001011811 ], [ -122.400680999947014, 37.764929000448539 ], [ -122.401581000508159, 37.764929000836801 ], [ -122.40248099955582, 37.764829000795466 ], [ -122.403580999747803, 37.764829000249897 ], [ -122.404380999827779, 37.764729000500331 ], [ -122.404481000107296, 37.766029001101813 ], [ -122.404581000185019, 37.767329000443581 ], [ -122.404681000046665, 37.768629000328204 ], [ -122.404780999656111, 37.769729000285622 ], [ -122.404181000105893, 37.76982900081623 ], [ -122.403880999583265, 37.770129000724282 ], [ -122.401680999425011, 37.771829000487124 ], [ -122.400781000401039, 37.771029000870179 ], [ -122.400480999563641, 37.771229000367626 ], [ -122.400080999651976, 37.770929000574014 ], [ -122.399881000012854, 37.770629000547551 ], [ -122.399181000330998, 37.770129000426451 ], [ -122.397980999455214, 37.769129001023551 ], [ -122.397181000159833, 37.768629000834601 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 109, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.390283999693196, 37.777137000575152 ], [ -122.390355999645976, 37.777082001049209 ], [ -122.392595999908153, 37.775375000471733 ], [ -122.392689999840684, 37.775303000588778 ], [ -122.394975999557929, 37.773559001006944 ], [ -122.397368999478445, 37.77173500091957 ], [ -122.397610999841362, 37.771551000532426 ], [ -122.398328000157733, 37.771048000707559 ], [ -122.39838099973602, 37.771216001076539 ], [ -122.398421000459663, 37.771394000916494 ], [ -122.398482000327192, 37.771692000526677 ], [ -122.398701999509868, 37.77155300077829 ], [ -122.399881000012854, 37.770629000547551 ], [ -122.400080999651976, 37.770929000574014 ], [ -122.400480999563641, 37.771229000367626 ], [ -122.400781000401039, 37.771029000870179 ], [ -122.401680999425011, 37.771829000487124 ], [ -122.399481000024252, 37.773629000404583 ], [ -122.400181000353243, 37.774129000374742 ], [ -122.40088100022443, 37.774729000365291 ], [ -122.400381000251599, 37.775129001123624 ], [ -122.398681000207873, 37.776529000326946 ], [ -122.39798100027356, 37.775929000969704 ], [ -122.397180999964419, 37.775329000538676 ], [ -122.394981000498987, 37.777129000265901 ], [ -122.394822999808994, 37.777258000287482 ], [ -122.393880999782624, 37.778029001051593 ], [ -122.39348099994686, 37.778229000569787 ], [ -122.393181000135954, 37.778429000904126 ], [ -122.392581000200749, 37.77882900104516 ], [ -122.392181000211792, 37.779329001110405 ], [ -122.390980999661139, 37.780229000955963 ], [ -122.390381000504718, 37.780629000500355 ], [ -122.389681000361904, 37.781229000811379 ], [ -122.388944000192126, 37.781819000529147 ], [ -122.388181000461131, 37.782429000318814 ], [ -122.387980999982247, 37.782529000343104 ], [ -122.387580999447422, 37.782929001040088 ], [ -122.384981000324487, 37.783229000849488 ], [ -122.384780999604914, 37.782629000916266 ], [ -122.387480999835759, 37.782429000245791 ], [ -122.387680999510337, 37.782129000270551 ], [ -122.384781000360746, 37.782229000298997 ], [ -122.384581000276441, 37.781729000336071 ], [ -122.387580999737722, 37.781529000888924 ], [ -122.387680999681677, 37.781229001115882 ], [ -122.384480999674423, 37.781229000570868 ], [ -122.38438099995912, 37.780829001094574 ], [ -122.387580999893231, 37.780629000746266 ], [ -122.387580999535587, 37.780329000365853 ], [ -122.38448100015998, 37.780229001001885 ], [ -122.384280999961817, 37.779829000809706 ], [ -122.387481000150558, 37.779629000291365 ], [ -122.387481000494546, 37.779129000773821 ], [ -122.384780999919101, 37.779229000638338 ], [ -122.384580999788682, 37.77862900090976 ], [ -122.384980999868773, 37.776529000348667 ], [ -122.386995999489002, 37.77633600038881 ], [ -122.387080999471195, 37.777178000505323 ], [ -122.389981000010806, 37.77672900038413 ], [ -122.389907999577758, 37.776755001119142 ], [ -122.390283999693196, 37.777137000575152 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 3, "TAZ1454": 110, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.384781000162846, 37.76712900065327 ], [ -122.386080999433091, 37.767129000699668 ], [ -122.387881000105992, 37.763929000485824 ], [ -122.387781000198842, 37.764329000283375 ], [ -122.387980999690043, 37.765629000764747 ], [ -122.388181000197704, 37.766929000652162 ], [ -122.389080999497196, 37.766929001053612 ], [ -122.390281000065173, 37.766729000982181 ], [ -122.390578000505698, 37.766729000547869 ], [ -122.390881000312831, 37.76672900063194 ], [ -122.393280999841167, 37.766629000432935 ], [ -122.393981000417199, 37.76662900068068 ], [ -122.393880999841855, 37.766229000960237 ], [ -122.393881000297085, 37.765829000869779 ], [ -122.394680999781571, 37.76652900057659 ], [ -122.39568100016217, 37.767329001034042 ], [ -122.396480999719913, 37.768029001076435 ], [ -122.397181000159833, 37.768629000834601 ], [ -122.397980999455214, 37.769129001023551 ], [ -122.399181000330998, 37.770129000426451 ], [ -122.399881000012854, 37.770629000547551 ], [ -122.398701999509868, 37.77155300077829 ], [ -122.398482000327192, 37.771692000526677 ], [ -122.398421000459663, 37.771394000916494 ], [ -122.39838099973602, 37.771216001076539 ], [ -122.398328000157733, 37.771048000707559 ], [ -122.397610999841362, 37.771551000532426 ], [ -122.397368999478445, 37.77173500091957 ], [ -122.394975999557929, 37.773559001006944 ], [ -122.392689999840684, 37.775303000588778 ], [ -122.392595999908153, 37.775375000471733 ], [ -122.390355999645976, 37.777082001049209 ], [ -122.390283999693196, 37.777137000575152 ], [ -122.389907999577758, 37.776755001119142 ], [ -122.389981000010806, 37.77672900038413 ], [ -122.387080999471195, 37.777178000505323 ], [ -122.386995999489002, 37.77633600038881 ], [ -122.384980999868773, 37.776529000348667 ], [ -122.384880999446338, 37.775329000644533 ], [ -122.386973000039347, 37.775139000442039 ], [ -122.386881000310396, 37.774529000821708 ], [ -122.382080999612924, 37.77472900042325 ], [ -122.381481000451487, 37.771829001081223 ], [ -122.384780999908628, 37.773329000920214 ], [ -122.386680999416939, 37.773229000395432 ], [ -122.386580999576978, 37.772929000990878 ], [ -122.386781000165044, 37.772729000743496 ], [ -122.38598100039458, 37.77072900110452 ], [ -122.38328100042952, 37.769829000789045 ], [ -122.383480999964263, 37.769329000653251 ], [ -122.385580999633063, 37.77002900038368 ], [ -122.38478100038617, 37.768729000731994 ], [ -122.385381000467802, 37.767929000946246 ], [ -122.384281000403348, 37.768029000596371 ], [ -122.383881000425504, 37.767729000912396 ], [ -122.383580999770899, 37.767729000304485 ], [ -122.383481000268148, 37.767429000767116 ], [ -122.384880999480785, 37.767329000286985 ], [ -122.384781000162846, 37.76712900065327 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 5, "TAZ1454": 216, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.444383000086049, 37.665133000873546 ], [ -122.444082999813503, 37.665333000440228 ], [ -122.438317999534632, 37.669768000795699 ], [ -122.43665100015896, 37.671050000694187 ], [ -122.436187999655871, 37.670784000763113 ], [ -122.435797999955156, 37.671107001032318 ], [ -122.434782999619813, 37.670633000289804 ], [ -122.433082999885983, 37.669933000731703 ], [ -122.433383000156653, 37.669233000717888 ], [ -122.433382999733126, 37.667933000426579 ], [ -122.433382999671196, 37.667133000869562 ], [ -122.433583000370533, 37.666233000243864 ], [ -122.434282999952302, 37.665333000750763 ], [ -122.435483000478655, 37.663833000356675 ], [ -122.43698299956813, 37.662333000854254 ], [ -122.437483000146884, 37.661833000863105 ], [ -122.437683000399929, 37.6617330009257 ], [ -122.438482999955951, 37.66093300059903 ], [ -122.437282999996654, 37.659933000353426 ], [ -122.43598299993694, 37.658533000984711 ], [ -122.434783000075981, 37.657334000835661 ], [ -122.436083000463043, 37.657834000958118 ], [ -122.436783000284791, 37.657734000469432 ], [ -122.435582000109548, 37.656581000261248 ], [ -122.433536000418826, 37.655305000452991 ], [ -122.434283000100919, 37.654934000836448 ], [ -122.434482999589406, 37.65523400093938 ], [ -122.436182999933095, 37.656334000968521 ], [ -122.437182999674647, 37.65713400053292 ], [ -122.441078999665876, 37.659111000310048 ], [ -122.441701000288035, 37.659982000954685 ], [ -122.443536999659969, 37.661717000706716 ], [ -122.444365999866974, 37.662681001050707 ], [ -122.445097999625787, 37.662977000938305 ], [ -122.445373999712345, 37.663067000812603 ], [ -122.447584000447833, 37.663504000496189 ], [ -122.447595000033402, 37.663520001061372 ], [ -122.449083000180252, 37.664433000743529 ], [ -122.450383000139638, 37.665333000880374 ], [ -122.450882999810688, 37.665733000401481 ], [ -122.451083000509144, 37.666233000833884 ], [ -122.451282999990354, 37.666533001038211 ], [ -122.451182999757023, 37.667633000855183 ], [ -122.451682999964461, 37.668833000571823 ], [ -122.45188500035502, 37.66902100064663 ], [ -122.451613999561346, 37.669245000507594 ], [ -122.451483999623278, 37.669352000413234 ], [ -122.450783000170532, 37.669933000310813 ], [ -122.450216000112704, 37.669551000594304 ], [ -122.450183000228549, 37.669533000431173 ], [ -122.449449000455559, 37.668496000525991 ], [ -122.448482999530569, 37.667133000674845 ], [ -122.446983000271672, 37.665933000666257 ], [ -122.445782999914869, 37.665333000290573 ], [ -122.445182999636017, 37.665633000455344 ], [ -122.445050999460562, 37.66555400067827 ], [ -122.44485200007955, 37.665434000274892 ], [ -122.444682999496081, 37.665333001116004 ], [ -122.444383000086049, 37.665133000873546 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 395, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.044972000045831, 37.383140001109851 ], [ -122.045671999536907, 37.383440000450562 ], [ -122.052472000339392, 37.385540001118713 ], [ -122.052371999846272, 37.385740001039558 ], [ -122.048771999812246, 37.38554000072962 ], [ -122.04777199940591, 37.385840000605221 ], [ -122.047711000507874, 37.386012000932226 ], [ -122.047272000519413, 37.387240000321874 ], [ -122.047271999411947, 37.387940001066681 ], [ -122.047771999676286, 37.389540000681038 ], [ -122.046871999692797, 37.38764000055717 ], [ -122.046912000107469, 37.38789300043706 ], [ -122.047171999848331, 37.389540000331095 ], [ -122.04637200017207, 37.389440000810133 ], [ -122.045871999596613, 37.390940000982233 ], [ -122.045793000142055, 37.391124000566101 ], [ -122.045271999610449, 37.392340000293288 ], [ -122.044672000447946, 37.394140000680395 ], [ -122.043817999608592, 37.393896001125796 ], [ -122.043271999538675, 37.393740000852432 ], [ -122.042372000491014, 37.393340000676766 ], [ -122.041572000266299, 37.393040000521133 ], [ -122.039871999683214, 37.392540000626916 ], [ -122.038672000484695, 37.392140000256674 ], [ -122.036771999822122, 37.391540000601267 ], [ -122.03577200031944, 37.391140001006725 ], [ -122.034470999903448, 37.390640000458802 ], [ -122.031370999393445, 37.38974000107455 ], [ -122.030770999571374, 37.389640001093007 ], [ -122.031318000496512, 37.386838000901498 ], [ -122.03157099966873, 37.386640000599961 ], [ -122.031652999971442, 37.38595300075815 ], [ -122.032179000359818, 37.384697000654484 ], [ -122.032370999705336, 37.384240001002624 ], [ -122.032971000308848, 37.38204000052464 ], [ -122.033606999943927, 37.380053000915012 ], [ -122.033770999613409, 37.379540000403921 ], [ -122.034171000363628, 37.379640001043455 ], [ -122.040771999863836, 37.381840000658293 ], [ -122.044972000045831, 37.383140001109851 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 397, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.047771999676286, 37.389540000681038 ], [ -122.047271999411947, 37.387940001066681 ], [ -122.047272000519413, 37.387240000321874 ], [ -122.047711000507874, 37.386012000932226 ], [ -122.04777199940591, 37.385840000605221 ], [ -122.048771999812246, 37.38554000072962 ], [ -122.052371999846272, 37.385740001039558 ], [ -122.05247199949622, 37.385772000863923 ], [ -122.057771999501753, 37.387440000422998 ], [ -122.057871999554052, 37.387340000875412 ], [ -122.05817199987959, 37.387140000361541 ], [ -122.060271999409181, 37.38624000087556 ], [ -122.06087199980027, 37.386140000797539 ], [ -122.061471999755611, 37.38604000036409 ], [ -122.063727999570517, 37.385773000573572 ], [ -122.063871999991306, 37.385740001045903 ], [ -122.063272000153049, 37.386940000347742 ], [ -122.063659999884948, 37.387953000381209 ], [ -122.063447000145828, 37.389067000454361 ], [ -122.063347999465051, 37.389362000237576 ], [ -122.063294999894168, 37.389500000967971 ], [ -122.062489999761567, 37.3912000002328 ], [ -122.06242299964093, 37.391332000978309 ], [ -122.062343999859038, 37.391427000697171 ], [ -122.062211000049956, 37.391527000930274 ], [ -122.062064000301021, 37.391612000537172 ], [ -122.061977999872624, 37.391686000674063 ], [ -122.061898000514631, 37.391781000266391 ], [ -122.061771999769249, 37.392040000685732 ], [ -122.061346999518335, 37.393171000399853 ], [ -122.060750999419596, 37.394746001044581 ], [ -122.059872000415197, 37.397140000991016 ], [ -122.054271999985971, 37.39574000075342 ], [ -122.052571999565771, 37.394840000582974 ], [ -122.051671999965478, 37.393940000967369 ], [ -122.05047199943661, 37.392640001007457 ], [ -122.048372000228539, 37.390340000670825 ], [ -122.047771999676286, 37.389540000681038 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 399, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.056921000288114, 37.405216000725936 ], [ -122.055771999932688, 37.405040000835868 ], [ -122.051871999822865, 37.404140000447228 ], [ -122.051672000164814, 37.404140000774568 ], [ -122.050157999465853, 37.403781000795476 ], [ -122.047872000453296, 37.403240000292854 ], [ -122.047072000188606, 37.403040000267545 ], [ -122.047571999629255, 37.40144000089515 ], [ -122.046271999799004, 37.401140000914722 ], [ -122.046771999635439, 37.399940000591258 ], [ -122.045172000027307, 37.39964000046443 ], [ -122.046771999776567, 37.395040000797835 ], [ -122.046971999420151, 37.394740000683271 ], [ -122.044672000447946, 37.394140000680395 ], [ -122.045271999610449, 37.392340000293288 ], [ -122.045793000142055, 37.391124000566101 ], [ -122.045871999596613, 37.390940000982233 ], [ -122.04637200017207, 37.389440000810133 ], [ -122.047171999848331, 37.389540000331095 ], [ -122.046912000107469, 37.38789300043706 ], [ -122.046871999692797, 37.38764000055717 ], [ -122.047771999676286, 37.389540000681038 ], [ -122.048372000228539, 37.390340000670825 ], [ -122.05047199943661, 37.392640001007457 ], [ -122.051671999965478, 37.393940000967369 ], [ -122.052571999565771, 37.394840000582974 ], [ -122.054271999985971, 37.39574000075342 ], [ -122.059872000415197, 37.397140000991016 ], [ -122.059539000349574, 37.397890000855398 ], [ -122.059472000036422, 37.398040000580295 ], [ -122.058972000188362, 37.399440000876055 ], [ -122.058794000326813, 37.399974001123582 ], [ -122.058471999894692, 37.400940000657833 ], [ -122.058172000235913, 37.401840000905366 ], [ -122.057772000093777, 37.402940000484385 ], [ -122.057271999537463, 37.404140000764123 ], [ -122.056972000205079, 37.405040000943849 ], [ -122.056921000288114, 37.405216000725936 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 406, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.912723000356891, 37.414954000268104 ], [ -121.912384000012651, 37.413965000438523 ], [ -121.912067999569231, 37.413039001047778 ], [ -121.911968000393514, 37.412439000726629 ], [ -121.912052000395732, 37.412067000614861 ], [ -121.91110699995015, 37.408847000863403 ], [ -121.910815000333699, 37.407850000361393 ], [ -121.910091000426661, 37.405382000463923 ], [ -121.909667000179923, 37.40393900092333 ], [ -121.909467000474393, 37.40293900076977 ], [ -121.909267000101835, 37.40193900104466 ], [ -121.909067000496933, 37.401639001075075 ], [ -121.910267000242342, 37.400639000368294 ], [ -121.91096700005599, 37.400139000714411 ], [ -121.912967999693578, 37.39823900083686 ], [ -121.915468000140137, 37.396140000898825 ], [ -121.915567999655337, 37.398739000656136 ], [ -121.916946000453052, 37.401174000324744 ], [ -121.918568000407078, 37.404039001068583 ], [ -121.91942199947178, 37.404323000739566 ], [ -121.922352000448669, 37.405933000938965 ], [ -121.923403999572983, 37.405445000612886 ], [ -121.924082999730118, 37.405978001128823 ], [ -121.924151999922046, 37.406032000953608 ], [ -121.924320000505915, 37.407551000408596 ], [ -121.924319999899652, 37.407703000371086 ], [ -121.924228000283193, 37.407955000468363 ], [ -121.924068000128116, 37.40853900081477 ], [ -121.923167999531017, 37.410939000406245 ], [ -121.926067999493497, 37.41343900088085 ], [ -121.927167999746899, 37.415139000352696 ], [ -121.928268000444717, 37.415539000720557 ], [ -121.930668000286673, 37.418139000622595 ], [ -121.930362000178746, 37.418981000891854 ], [ -121.930267999544199, 37.419239000885227 ], [ -121.931368000174842, 37.419739000359399 ], [ -121.931467999886877, 37.420339000849673 ], [ -121.931292999690896, 37.420556000335104 ], [ -121.93042699983792, 37.421625000660541 ], [ -121.930369000304324, 37.421696000550114 ], [ -121.929768000354329, 37.422439000256887 ], [ -121.929713999405863, 37.422439000740432 ], [ -121.927936999806434, 37.422439000718086 ], [ -121.927867999811326, 37.422439000423658 ], [ -121.927723999679756, 37.422504001074145 ], [ -121.926055999670496, 37.423254001090243 ], [ -121.925868000219609, 37.423339000534241 ], [ -121.925667999412482, 37.423239000329247 ], [ -121.925368000258246, 37.423239000741376 ], [ -121.924152999537583, 37.423604000415999 ], [ -121.92357200034597, 37.423778001119508 ], [ -121.923264000111018, 37.423870001125273 ], [ -121.923211999948123, 37.423886000252857 ], [ -121.922367999884329, 37.424139000318235 ], [ -121.92225999943183, 37.42415600090537 ], [ -121.922035000428508, 37.424226001110313 ], [ -121.921667999518391, 37.424339000774843 ], [ -121.920497999556289, 37.424729000297198 ], [ -121.919868000133292, 37.424939000472847 ], [ -121.918867999548382, 37.425139000496998 ], [ -121.918568000039116, 37.425239000311933 ], [ -121.91746799998694, 37.425539000532972 ], [ -121.916667999396765, 37.425839000331095 ], [ -121.916367999780078, 37.425139000659001 ], [ -121.916168000315722, 37.42433900091612 ], [ -121.915968000143366, 37.42343900025066 ], [ -121.915261000174567, 37.421966000291704 ], [ -121.914768000094753, 37.420939000449003 ], [ -121.913755999982868, 37.417979000720209 ], [ -121.913314000334282, 37.416685000477592 ], [ -121.913215999806596, 37.416397000395698 ], [ -121.912868999941963, 37.415384000774786 ], [ -121.912723000356891, 37.414954000268104 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 408, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.927368000311418, 37.3862400005737 ], [ -121.926567999434383, 37.386540001095646 ], [ -121.925067999876589, 37.387840000814592 ], [ -121.92486799982467, 37.3880400009824 ], [ -121.923449999450739, 37.386540000676383 ], [ -121.921909000121914, 37.385037000722775 ], [ -121.918812000311476, 37.382024001062007 ], [ -121.917066999806167, 37.380440000640846 ], [ -121.916167000433759, 37.379540000415403 ], [ -121.913566999494023, 37.377040001100418 ], [ -121.916367000368268, 37.37514000051209 ], [ -121.91641099986947, 37.375093000262503 ], [ -121.916553999468803, 37.374940000573815 ], [ -121.916937999841338, 37.374528000760471 ], [ -121.917767000311343, 37.373640000372582 ], [ -121.917968000016344, 37.373473000919056 ], [ -121.918366999676664, 37.373140001050167 ], [ -121.917966999612275, 37.372440000870213 ], [ -121.917666999704196, 37.372140000627972 ], [ -121.917266999438169, 37.37164000076428 ], [ -121.922641000184527, 37.372495000842207 ], [ -121.922785999624438, 37.37251500026732 ], [ -121.922967999487142, 37.372540000952156 ], [ -121.923768000340388, 37.372740000496023 ], [ -121.927767999926928, 37.373540000979048 ], [ -121.929767999742424, 37.374040000739747 ], [ -121.931867999467784, 37.374540000269164 ], [ -121.933068000090501, 37.374740000753164 ], [ -121.933667999400583, 37.374940001035448 ], [ -121.938367999526491, 37.375840000253895 ], [ -121.939068000409023, 37.376040000256808 ], [ -121.93996800007875, 37.376140001125115 ], [ -121.941767999910198, 37.376540000662231 ], [ -121.942055999727572, 37.376585000229312 ], [ -121.941667999772221, 37.377340000941828 ], [ -121.941068000446975, 37.378340000989212 ], [ -121.940967999527885, 37.378540000699431 ], [ -121.939667999922094, 37.379940000378589 ], [ -121.938668000378328, 37.380540000788848 ], [ -121.931658999628752, 37.384267000544142 ], [ -121.928668000398588, 37.385640000971406 ], [ -121.927968000381924, 37.385940000404844 ], [ -121.927610000000669, 37.386124000781919 ], [ -121.927497999575763, 37.386178001090371 ], [ -121.927368000311418, 37.3862400005737 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 411, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.939568999535922, 37.420639000481749 ], [ -121.933268999731382, 37.422139000649175 ], [ -121.932504999471064, 37.422313000982413 ], [ -121.93236100022844, 37.422346000835702 ], [ -121.931213999569366, 37.422606000467482 ], [ -121.93106800000588, 37.422639000478974 ], [ -121.929568000364895, 37.42283900078079 ], [ -121.929264000360888, 37.422918000478269 ], [ -121.929014000443061, 37.422983000581318 ], [ -121.927268000335999, 37.423439000640577 ], [ -121.926967999416377, 37.423539000281828 ], [ -121.925868000219609, 37.423339000534241 ], [ -121.926055999670496, 37.423254001090243 ], [ -121.927723999679756, 37.422504001074145 ], [ -121.927867999811326, 37.422439000423658 ], [ -121.927936999806434, 37.422439000718086 ], [ -121.929713999405863, 37.422439000740432 ], [ -121.929768000354329, 37.422439000256887 ], [ -121.930369000304324, 37.421696000550114 ], [ -121.93042699983792, 37.421625000660541 ], [ -121.931292999690896, 37.420556000335104 ], [ -121.931467999886877, 37.420339000849673 ], [ -121.931368000174842, 37.419739000359399 ], [ -121.930267999544199, 37.419239000885227 ], [ -121.930362000178746, 37.418981000891854 ], [ -121.930668000286673, 37.418139000622595 ], [ -121.928268000444717, 37.415539000720557 ], [ -121.927167999746899, 37.415139000352696 ], [ -121.926067999493497, 37.41343900088085 ], [ -121.923167999531017, 37.410939000406245 ], [ -121.92396799996034, 37.410939000264364 ], [ -121.92686800013395, 37.41093900053324 ], [ -121.92986799987824, 37.41093900026523 ], [ -121.934468000380932, 37.410939000430773 ], [ -121.935368000469126, 37.410939000584094 ], [ -121.935678000253986, 37.410999000855206 ], [ -121.935980999653665, 37.411097000861638 ], [ -121.936393999586258, 37.411317000924022 ], [ -121.93674700002299, 37.411605000456177 ], [ -121.937474000261929, 37.412327001050912 ], [ -121.937504999772401, 37.412571000859081 ], [ -121.938358999440069, 37.415256000610036 ], [ -121.939168999716188, 37.41803900036733 ], [ -121.939298000235553, 37.418877001042588 ], [ -121.939311999777004, 37.418966000417875 ], [ -121.939393999667743, 37.419502000392512 ], [ -121.939568999535922, 37.420639000481749 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 417, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.97792099986934, 37.415128000880244 ], [ -121.978069999558969, 37.411340000251954 ], [ -121.978093999922535, 37.410779000419559 ], [ -121.978070000138644, 37.408440000965193 ], [ -121.978033000505249, 37.405888000915404 ], [ -121.977970000429437, 37.403640000993029 ], [ -121.980627000151173, 37.40334800072339 ], [ -121.984487000020664, 37.403111000987792 ], [ -121.986798000365411, 37.403052000845754 ], [ -121.986818000105117, 37.403044000654845 ], [ -121.986872999915263, 37.406213000657566 ], [ -121.986827000196044, 37.410626001041514 ], [ -121.986770000294541, 37.412140000326737 ], [ -121.986227000010217, 37.41248500025641 ], [ -121.985669999417325, 37.412840000494398 ], [ -121.980270000476295, 37.415340000736705 ], [ -121.977870000421476, 37.416440000790544 ], [ -121.977917999614476, 37.415206000488894 ], [ -121.97792099986934, 37.415128000880244 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 418, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.986872999915263, 37.406213000657566 ], [ -121.986818000105117, 37.403044000654845 ], [ -121.98683599946618, 37.397156000335436 ], [ -121.98683599970586, 37.397063000454331 ], [ -121.987097999944126, 37.396503000612419 ], [ -121.987341999668047, 37.395878000460904 ], [ -121.987347999427513, 37.39313400103083 ], [ -121.987470000224761, 37.393140000543958 ], [ -121.987769999514342, 37.393140000369556 ], [ -121.987770000474882, 37.396242000740813 ], [ -121.987769999571086, 37.397320000565855 ], [ -121.987769999451018, 37.397340000511434 ], [ -121.987869999554363, 37.398340000279681 ], [ -121.987868999429139, 37.398348001069436 ], [ -121.987772999672899, 37.399508000550341 ], [ -121.987770000092269, 37.39954000055107 ], [ -121.988770000453513, 37.399440000718975 ], [ -121.98967000035428, 37.399440001112062 ], [ -121.991670000134334, 37.399340001054142 ], [ -121.992570000129035, 37.399240000349941 ], [ -121.993569999804166, 37.39924000104488 ], [ -121.994469999930033, 37.399240000929872 ], [ -121.995369999723422, 37.399140000504275 ], [ -121.99586999950462, 37.399240000644603 ], [ -121.995934000287647, 37.399527000763086 ], [ -121.99607100036809, 37.400140000969223 ], [ -121.996070999723884, 37.403140000965919 ], [ -121.996070999596228, 37.40494000079692 ], [ -121.996070999698333, 37.406240000946212 ], [ -121.995871000319326, 37.409540000814417 ], [ -121.995870999553816, 37.409740000902367 ], [ -121.989176999902725, 37.411505000668498 ], [ -121.98757400012839, 37.411928001104158 ], [ -121.986770000294541, 37.412140000326737 ], [ -121.986827000196044, 37.410626001041514 ], [ -121.986872999915263, 37.406213000657566 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 428, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.98716999953335, 37.37394100104968 ], [ -121.987559999627791, 37.370824000856047 ], [ -121.987569999802659, 37.370741001014871 ], [ -121.987569999999678, 37.370241001057089 ], [ -121.990269999534462, 37.370341001041851 ], [ -121.995764000115244, 37.370337000825067 ], [ -121.99637000038166, 37.370341000416396 ], [ -121.996969999530364, 37.370341000796813 ], [ -121.996969999619651, 37.370841000230875 ], [ -121.996561999923301, 37.373529001124759 ], [ -121.996457000214122, 37.37382700026847 ], [ -121.996269999896526, 37.37384100028104 ], [ -121.996270000328266, 37.374241001024025 ], [ -121.996269999861312, 37.37494100044789 ], [ -121.996269999834823, 37.375898000512485 ], [ -121.996269999503198, 37.37614100056431 ], [ -121.996269999614469, 37.376421000979732 ], [ -121.996269999724419, 37.376741000537223 ], [ -121.996269999827007, 37.377241000318506 ], [ -121.996269999835278, 37.37784100108248 ], [ -121.996269999825685, 37.378041000422556 ], [ -121.996269999718379, 37.378541000996613 ], [ -121.996269999666168, 37.378741000313298 ], [ -121.996269999937638, 37.380241000843384 ], [ -121.996358999631283, 37.382078000684025 ], [ -121.996270000455681, 37.382540000923449 ], [ -121.996374000114272, 37.383641000328694 ], [ -121.996330000160469, 37.385253000804326 ], [ -121.996270000444056, 37.386340000552096 ], [ -121.996270000483065, 37.386740000470198 ], [ -121.996269999633228, 37.38704000038404 ], [ -121.996169999820509, 37.388440000882056 ], [ -121.996170000412519, 37.388795000915366 ], [ -121.996170000201872, 37.38884000066178 ], [ -121.996169999891166, 37.389140000474249 ], [ -121.996169999572857, 37.390540000314473 ], [ -121.996185000456876, 37.390986000442581 ], [ -121.995670000172339, 37.390840000380948 ], [ -121.994170000230952, 37.390340000920403 ], [ -121.993721000249096, 37.390218000550284 ], [ -121.987384999404668, 37.388512000884077 ], [ -121.987376999403821, 37.388512000875409 ], [ -121.987278999950504, 37.388490000667638 ], [ -121.987253999771355, 37.388156000846365 ], [ -121.987353000330842, 37.380140000564033 ], [ -121.987381999754504, 37.377341000536653 ], [ -121.987319999614044, 37.377080000758923 ], [ -121.987244000436817, 37.37692600086524 ], [ -121.987141000374606, 37.374941000690526 ], [ -121.98716999953335, 37.37394100104968 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 9, "TAZ1454": 429, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -121.977803999799917, 37.385068000970755 ], [ -121.977896000175633, 37.384896000963707 ], [ -121.977969999732821, 37.384646000525571 ], [ -121.978053000067888, 37.384219001122304 ], [ -121.978069999928479, 37.383840000300928 ], [ -121.978070000085765, 37.383640000549306 ], [ -121.978069999871636, 37.381640000854063 ], [ -121.977969999982477, 37.380840000761687 ], [ -121.977869999426431, 37.379940000550747 ], [ -121.977870000383547, 37.376440000850401 ], [ -121.977969999781209, 37.375441000303006 ], [ -121.978033000256502, 37.374941000266318 ], [ -121.97807000001643, 37.374641000859562 ], [ -121.978070000210622, 37.373941000640258 ], [ -121.97794000039697, 37.372595000255643 ], [ -121.977268999671011, 37.37124100064969 ], [ -121.977268999457479, 37.370041000531074 ], [ -121.977368999695685, 37.370041000888648 ], [ -121.982145000173944, 37.370236000847605 ], [ -121.982270000212807, 37.370241001089887 ], [ -121.982670000074009, 37.370239000320076 ], [ -121.985738999545319, 37.370222000488376 ], [ -121.987569999999678, 37.370241001057089 ], [ -121.987569999802659, 37.370741001014871 ], [ -121.987559999627791, 37.370824000856047 ], [ -121.98716999953335, 37.37394100104968 ], [ -121.987141000374606, 37.374941000690526 ], [ -121.987244000436817, 37.37692600086524 ], [ -121.987319999614044, 37.377080000758923 ], [ -121.987381999754504, 37.377341000536653 ], [ -121.987353000330842, 37.380140000564033 ], [ -121.987253999771355, 37.388156000846365 ], [ -121.987278999950504, 37.388490000667638 ], [ -121.987195999484754, 37.388477000805096 ], [ -121.987173000037643, 37.388474000615354 ], [ -121.986856999843013, 37.388378000498918 ], [ -121.984007000212799, 37.387514001093194 ], [ -121.978969999985139, 37.386040000509361 ], [ -121.97796199967658, 37.385763000341768 ], [ -121.977482999882113, 37.385605000347724 ], [ -121.97722600035047, 37.385520000781014 ], [ -121.977803999799917, 37.385068000970755 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1323, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.451990000383006, 38.291214000956536 ], [ -122.451589999970125, 38.291314000241201 ], [ -122.449790000441482, 38.29111400099174 ], [ -122.447490000144185, 38.290914000588451 ], [ -122.446889999761083, 38.290814000311201 ], [ -122.445589999807495, 38.290714000370642 ], [ -122.444996000154632, 38.290655000649139 ], [ -122.444656999671878, 38.290622000977017 ], [ -122.443691999630659, 38.290523000252669 ], [ -122.439489999535567, 38.290114001082578 ], [ -122.435690000171874, 38.289714000245034 ], [ -122.436261000109837, 38.286384001022213 ], [ -122.436289999802909, 38.286214000578013 ], [ -122.436889999491072, 38.282514000447129 ], [ -122.437389999818535, 38.278914000490204 ], [ -122.44109000011936, 38.279314000781959 ], [ -122.443690000244544, 38.27961400081562 ], [ -122.445390000407755, 38.279814000849839 ], [ -122.449289999604801, 38.280214000316171 ], [ -122.449581999600667, 38.278396000501218 ], [ -122.449605999608323, 38.278244000433645 ], [ -122.449893999838437, 38.276453000435744 ], [ -122.450189999566504, 38.274615001020763 ], [ -122.450290000303497, 38.273815000729471 ], [ -122.451090000283116, 38.26811500069843 ], [ -122.451190000496283, 38.267415001100836 ], [ -122.451690000068879, 38.264415001053038 ], [ -122.453191000052072, 38.264515000548919 ], [ -122.456191000513712, 38.264815000950627 ], [ -122.456791000410462, 38.26491500038702 ], [ -122.461890999871059, 38.265315000865492 ], [ -122.466972000397107, 38.265807000292156 ], [ -122.467391000320632, 38.265715000877265 ], [ -122.467536999485461, 38.265990000915046 ], [ -122.467719999897028, 38.266219000795545 ], [ -122.468086000372026, 38.266662000346813 ], [ -122.468207999579846, 38.267074000838768 ], [ -122.468268999556287, 38.267508000715658 ], [ -122.468451999871377, 38.267959000881625 ], [ -122.468497999942016, 38.26838600029447 ], [ -122.468758000204815, 38.268813000796662 ], [ -122.468924999692703, 38.269065000709382 ], [ -122.46909500049459, 38.269525001098714 ], [ -122.469153999544602, 38.269683000253217 ], [ -122.469260999585501, 38.270057000248769 ], [ -122.46939800015079, 38.27056000039758 ], [ -122.469382999864067, 38.270934000936315 ], [ -122.469382999937451, 38.271460001085778 ], [ -122.469322000246279, 38.271850000513069 ], [ -122.469109000106485, 38.27213200080805 ], [ -122.46887999963117, 38.272399001051781 ], [ -122.468559000182779, 38.272834000501426 ], [ -122.468345999872739, 38.273124000545991 ], [ -122.468239000426394, 38.273536000970438 ], [ -122.468314999989659, 38.27389400108779 ], [ -122.468604999993076, 38.274428000996195 ], [ -122.46898699944748, 38.274817000797469 ], [ -122.469398000036691, 38.275191000500328 ], [ -122.469825999943396, 38.275550000548265 ], [ -122.470314000039622, 38.275809000813119 ], [ -122.470481999864134, 38.276000000655735 ], [ -122.470740999703665, 38.276251000661716 ], [ -122.471244999717015, 38.276464000610773 ], [ -122.471611000120319, 38.276701000643385 ], [ -122.471791000283289, 38.276914000498813 ], [ -122.471915999878632, 38.277029000617055 ], [ -122.472083999443669, 38.277281000265923 ], [ -122.472191000443857, 38.277654000414955 ], [ -122.472282000170054, 38.278074001052566 ], [ -122.472404000293508, 38.278395000288846 ], [ -122.472740000452518, 38.278707000782546 ], [ -122.473198000110386, 38.278898000858369 ], [ -122.473777999771471, 38.279180000952614 ], [ -122.474112999741408, 38.279363000605095 ], [ -122.474602000418429, 38.279775000566332 ], [ -122.475059999628485, 38.280310000430646 ], [ -122.475364999475516, 38.280752000626848 ], [ -122.475548000257547, 38.281156001087574 ], [ -122.475639000415583, 38.281683001103154 ], [ -122.475563000109972, 38.282011000363106 ], [ -122.475490999714538, 38.282114000906446 ], [ -122.475319000277864, 38.282270000349051 ], [ -122.474991000078049, 38.282614000901681 ], [ -122.474809999854429, 38.282777000670833 ], [ -122.47475400041607, 38.282827000288648 ], [ -122.474281000356697, 38.283277001123459 ], [ -122.473976000326743, 38.283682001131922 ], [ -122.473701000039711, 38.284048000458334 ], [ -122.473395999612407, 38.28452100084646 ], [ -122.473243999458504, 38.28505500093241 ], [ -122.473304999578218, 38.285452000307217 ], [ -122.473503000519571, 38.285826000299409 ], [ -122.473746999525588, 38.286428000246488 ], [ -122.474052000225896, 38.286932000442071 ], [ -122.474174000300778, 38.28739000074804 ], [ -122.474178000302814, 38.287454001087454 ], [ -122.474204999888585, 38.287954000320937 ], [ -122.474220000501361, 38.288450001019569 ], [ -122.474357999886848, 38.288977001110432 ], [ -122.474647999388466, 38.289549000962829 ], [ -122.474906999675866, 38.289816000935048 ], [ -122.475304000242247, 38.290190000465508 ], [ -122.475761000293801, 38.290518000890955 ], [ -122.476142999980283, 38.290754000796454 ], [ -122.476494000147468, 38.290991000292465 ], [ -122.476906000088903, 38.291220000992439 ], [ -122.477257000221584, 38.29141000052477 ], [ -122.477531000040372, 38.291570000927258 ], [ -122.477638000528017, 38.291807000577492 ], [ -122.477668999898441, 38.292028000980856 ], [ -122.477607999931266, 38.2922650005519 ], [ -122.477500999614222, 38.292547000321228 ], [ -122.477287000197379, 38.292883000300158 ], [ -122.477073999961519, 38.293112000554856 ], [ -122.476981999753633, 38.293455001035632 ], [ -122.476990999842528, 38.293714000521632 ], [ -122.476990999895804, 38.293815000239455 ], [ -122.476990999429432, 38.293914001011821 ], [ -122.47609100038531, 38.293614000368613 ], [ -122.475418999924372, 38.293567000850665 ], [ -122.474791000465046, 38.293514000287864 ], [ -122.473691000219773, 38.293414000928188 ], [ -122.472675999756788, 38.293322000520661 ], [ -122.471891999927067, 38.293251001029311 ], [ -122.470390999584936, 38.293114000481047 ], [ -122.467991000018301, 38.292914000755673 ], [ -122.465790999908535, 38.292714000367361 ], [ -122.463391000252827, 38.292514000315258 ], [ -122.461190999622161, 38.292214000917227 ], [ -122.458790999740742, 38.29201400054437 ], [ -122.457791000060723, 38.291914000743446 ], [ -122.45659100019968, 38.291814000772156 ], [ -122.454290999710764, 38.291614001139251 ], [ -122.453354000499445, 38.29145100065648 ], [ -122.451990000383006, 38.291214000956536 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1320, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.424688999424234, 38.292614000689902 ], [ -122.425389000389359, 38.291014000965156 ], [ -122.42949000004019, 38.29191400031219 ], [ -122.43073700007433, 38.292171000376719 ], [ -122.432890000066891, 38.292614000699629 ], [ -122.433089999774566, 38.292214000825929 ], [ -122.433448000076069, 38.291517000241782 ], [ -122.433889999670654, 38.290514001062263 ], [ -122.434165000506397, 38.290159001046781 ], [ -122.43439400038443, 38.289831000395658 ], [ -122.434489999989708, 38.289514000400338 ], [ -122.434789999544066, 38.289614000684317 ], [ -122.435489999705709, 38.289714000571088 ], [ -122.435690000171874, 38.289714000245034 ], [ -122.439489999535567, 38.290114001082578 ], [ -122.443691999630659, 38.290523000252669 ], [ -122.444656999671878, 38.290622000977017 ], [ -122.444996000154632, 38.290655000649139 ], [ -122.445589999807495, 38.290714000370642 ], [ -122.446889999761083, 38.290814000311201 ], [ -122.447490000144185, 38.290914000588451 ], [ -122.449790000441482, 38.29111400099174 ], [ -122.451589999970125, 38.291314000241201 ], [ -122.451990000383006, 38.291214000956536 ], [ -122.453354000499445, 38.29145100065648 ], [ -122.454290999710764, 38.291614001139251 ], [ -122.45659100019968, 38.291814000772156 ], [ -122.457791000060723, 38.291914000743446 ], [ -122.458790999740742, 38.29201400054437 ], [ -122.461190999622161, 38.292214000917227 ], [ -122.463391000252827, 38.292514000315258 ], [ -122.465790999908535, 38.292714000367361 ], [ -122.467991000018301, 38.292914000755673 ], [ -122.470390999584936, 38.293114000481047 ], [ -122.471891999927067, 38.293251001029311 ], [ -122.472675999756788, 38.293322000520661 ], [ -122.473691000219773, 38.293414000928188 ], [ -122.474791000465046, 38.293514000287864 ], [ -122.475418999924372, 38.293567000850665 ], [ -122.47609100038531, 38.293614000368613 ], [ -122.476990999429432, 38.293914001011821 ], [ -122.476921000165234, 38.294004000877372 ], [ -122.476813999971213, 38.29441600050081 ], [ -122.476707000149844, 38.294798000558693 ], [ -122.476479000438417, 38.295164000780659 ], [ -122.47639099956227, 38.295514000384522 ], [ -122.476294999981377, 38.295614001066099 ], [ -122.476371999531082, 38.295790001025964 ], [ -122.476555000362282, 38.296102000871031 ], [ -122.476845000505151, 38.296476000481711 ], [ -122.476904000307044, 38.296564000665398 ], [ -122.47702799960507, 38.296751001131781 ], [ -122.477134999460105, 38.29704100090472 ], [ -122.477225999794371, 38.297346000631222 ], [ -122.477455000146279, 38.297605000457409 ], [ -122.47780600049667, 38.297712000755254 ], [ -122.478249000189521, 38.297628000325588 ], [ -122.478676000079616, 38.297430001036517 ], [ -122.479149000391644, 38.29723200074794 ], [ -122.47965199976025, 38.297094000687594 ], [ -122.480141999684733, 38.297033001008629 ], [ -122.480706000485611, 38.297087001002112 ], [ -122.481195000479815, 38.297346000540188 ], [ -122.481499999495938, 38.297643001134638 ], [ -122.481790000181974, 38.298040000658006 ], [ -122.482110000482891, 38.298445000576805 ], [ -122.482307999493614, 38.29876500109193 ], [ -122.482537000053654, 38.298979000424005 ], [ -122.482766000114211, 38.299047000972124 ], [ -122.483147999948883, 38.299070000663633 ], [ -122.483590000045055, 38.299238000761164 ], [ -122.483940999904405, 38.29947500033893 ], [ -122.484138999909106, 38.299871000718518 ], [ -122.484124000220845, 38.300192000731869 ], [ -122.484077999783167, 38.300443000633152 ], [ -122.483986999654164, 38.300863000460929 ], [ -122.483892000122964, 38.301314000397788 ], [ -122.483804000148538, 38.301733001128426 ], [ -122.483742999637215, 38.302069000586876 ], [ -122.483692000351454, 38.302414000485129 ], [ -122.483392000150374, 38.302714000361668 ], [ -122.483254000421169, 38.303091000917846 ], [ -122.482980000250464, 38.303419001131495 ], [ -122.482674999814975, 38.303732000807912 ], [ -122.482216999566631, 38.303930001010009 ], [ -122.481728999937232, 38.304090000599224 ], [ -122.481588999929812, 38.304131000985031 ], [ -122.481041999418892, 38.304289000262642 ], [ -122.480263000424856, 38.304457000406948 ], [ -122.47959100032314, 38.304632000448429 ], [ -122.479056999939644, 38.304922000537765 ], [ -122.478493000062201, 38.305357000475944 ], [ -122.478050000410278, 38.305776000271159 ], [ -122.477996999391095, 38.305855000937498 ], [ -122.477891000140929, 38.306014000774091 ], [ -122.477103999801272, 38.306753000363692 ], [ -122.476570000000677, 38.30723400099081 ], [ -122.476182999642461, 38.307497001000542 ], [ -122.476020999840273, 38.307607000356377 ], [ -122.475410000182706, 38.307997001014492 ], [ -122.474785000022493, 38.308370000676739 ], [ -122.474448999627413, 38.308828000542114 ], [ -122.473976000056751, 38.309553000997397 ], [ -122.473655999670257, 38.310034000302991 ], [ -122.473365999949181, 38.310514000532415 ], [ -122.472953999464053, 38.31096400047943 ], [ -122.472358999817843, 38.311422000759627 ], [ -122.471763999529273, 38.311804000582136 ], [ -122.471190999839592, 38.312414000329532 ], [ -122.471076999881348, 38.312559000300126 ], [ -122.470011999779786, 38.313485000758874 ], [ -122.469291000045359, 38.314113001099841 ], [ -122.468818999647567, 38.314534000460803 ], [ -122.467949000025854, 38.315106000775359 ], [ -122.465630000503552, 38.316457000785697 ], [ -122.464866999502661, 38.317548000897716 ], [ -122.464621999561189, 38.317860000562959 ], [ -122.464088000039467, 38.318242000368656 ], [ -122.463721999727056, 38.318761000652202 ], [ -122.46356999988609, 38.319249000267575 ], [ -122.46347800032585, 38.319745000376045 ], [ -122.463309999879982, 38.320149000986945 ], [ -122.463493000181842, 38.320454000243622 ], [ -122.463875000426825, 38.320813000545989 ], [ -122.464240999394661, 38.321072000667492 ], [ -122.464256000300495, 38.321492000653237 ], [ -122.46395100007436, 38.32202600065542 ], [ -122.463981999717376, 38.322537000740667 ], [ -122.464191000233939, 38.323013000966462 ], [ -122.464148999649694, 38.323384000931618 ], [ -122.464118999462656, 38.323872000322112 ], [ -122.463920999685399, 38.324429000689513 ], [ -122.463553999824356, 38.324887000847042 ], [ -122.463325000453409, 38.325314000865816 ], [ -122.46308100000897, 38.32584100077203 ], [ -122.462776000245825, 38.326306000843609 ], [ -122.462410000148594, 38.326627000354833 ], [ -122.458503999632313, 38.32838100044944 ], [ -122.456534999493741, 38.329472000832908 ], [ -122.45523799946352, 38.330464000774406 ], [ -122.454201000201152, 38.331548000686162 ], [ -122.453452000394435, 38.333028000877221 ], [ -122.453147000178106, 38.333913001011346 ], [ -122.452749999930461, 38.334523000715933 ], [ -122.452169999699194, 38.335133000446653 ], [ -122.451803999850924, 38.335522000783008 ], [ -122.451690000520301, 38.33641300111924 ], [ -122.451574999516438, 38.33675800072988 ], [ -122.452093999633732, 38.337582001028387 ], [ -122.452903000379138, 38.338567000323572 ], [ -122.453924999574099, 38.339314000964904 ], [ -122.454902999618227, 38.340230000952623 ], [ -122.455558999912313, 38.340985000670607 ], [ -122.456168999649762, 38.341855000830769 ], [ -122.456505000333991, 38.342427000683678 ], [ -122.456673000493225, 38.343320001036432 ], [ -122.456688000248562, 38.343595000866991 ], [ -122.456703000457452, 38.343877000520507 ], [ -122.45679099990015, 38.344713000291662 ], [ -122.457084999454494, 38.345555000685387 ], [ -122.457511999951635, 38.346082000389352 ], [ -122.457909000466387, 38.346822000978619 ], [ -122.457618999820156, 38.347829000712721 ], [ -122.457054000152922, 38.34889700042914 ], [ -122.456962999761657, 38.349422000614204 ], [ -122.456534999425983, 38.349842000972018 ], [ -122.456336999910832, 38.350071000495845 ], [ -122.456336999569771, 38.350612000553333 ], [ -122.45645900044093, 38.350925000671289 ], [ -122.456412999740067, 38.35114600070127 ], [ -122.456261000335246, 38.351513000890442 ], [ -122.456108000116359, 38.351772000447504 ], [ -122.456078000368791, 38.352184001141005 ], [ -122.456305999666213, 38.35248900072888 ], [ -122.456413000193947, 38.352825000840333 ], [ -122.456366999940613, 38.353664000428736 ], [ -122.455849000174183, 38.35479300049505 ], [ -122.455101000411901, 38.35557900072078 ], [ -122.454504999968719, 38.356319000845296 ], [ -122.453788000204128, 38.35713600089386 ], [ -122.452979000347838, 38.358089001031153 ], [ -122.452230999599564, 38.358753000584684 ], [ -122.451179000499806, 38.359691000614617 ], [ -122.4496900000577, 38.36101200076353 ], [ -122.448951000425623, 38.360653000363513 ], [ -122.447714999561128, 38.359470000467539 ], [ -122.447500999865184, 38.359272000715585 ], [ -122.447195999508594, 38.359035000936757 ], [ -122.444114000278361, 38.358707000849599 ], [ -122.443304999680066, 38.358982000701815 ], [ -122.442283000362664, 38.359035000755533 ], [ -122.441214999730931, 38.358791000243535 ], [ -122.440268000069267, 38.358478000356548 ], [ -122.439505999792189, 38.358112000289765 ], [ -122.438834000244128, 38.357570000449257 ], [ -122.438483000111376, 38.357181000601088 ], [ -122.437933999983912, 38.357097000390148 ], [ -122.437689999962615, 38.356899000252938 ], [ -122.437430000226158, 38.356662000734616 ], [ -122.436835000265617, 38.355404001059753 ], [ -122.436682999528443, 38.355137000317995 ], [ -122.436270999644904, 38.354877000375723 ], [ -122.435462000032601, 38.354610000843756 ], [ -122.434775000314531, 38.354397000416448 ], [ -122.433767999490456, 38.353946001134084 ], [ -122.432929000002815, 38.353428000313791 ], [ -122.43186099954994, 38.352527000673902 ], [ -122.431388000186743, 38.35242100031148 ], [ -122.430853999791594, 38.352154000852671 ], [ -122.429984000278907, 38.351475000246516 ], [ -122.429328000117636, 38.351001001117744 ], [ -122.429312999736752, 38.35062800094655 ], [ -122.429327999592743, 38.350345000763511 ], [ -122.429357999428646, 38.350055000743033 ], [ -122.429388999966733, 38.349888000358696 ], [ -122.429312999624159, 38.349651001051711 ], [ -122.429113999791966, 38.349453000985434 ], [ -122.42884000022211, 38.34946000032366 ], [ -122.428489000287769, 38.34944500064632 ], [ -122.428198999731222, 38.349354000512349 ], [ -122.42790900038392, 38.349338000581056 ], [ -122.427665000279077, 38.349209000757014 ], [ -122.427329000136524, 38.349140000878222 ], [ -122.427069999411401, 38.349010000997566 ], [ -122.426749000004492, 38.348766000619264 ], [ -122.426658000451951, 38.348538000691413 ], [ -122.426673000057619, 38.348248000954079 ], [ -122.426870999709436, 38.347958000857815 ], [ -122.427009000467393, 38.34772900052711 ], [ -122.427268000431567, 38.347600000809678 ], [ -122.427252999587765, 38.347379000983985 ], [ -122.427145999984617, 38.346463001077574 ], [ -122.427206999463365, 38.346043000478026 ], [ -122.426887000522655, 38.345837000980282 ], [ -122.42661200027419, 38.345761000841406 ], [ -122.426397999429511, 38.345746000553476 ], [ -122.426169000113717, 38.345708001086564 ], [ -122.425802999520258, 38.345578001037609 ], [ -122.425527999968494, 38.345479000869794 ], [ -122.425177999721598, 38.345380001034052 ], [ -122.424990000220475, 38.345113000359504 ], [ -122.424976999903308, 38.345098000587043 ], [ -122.424390000248877, 38.344413000459497 ], [ -122.423238999672691, 38.342664000684231 ], [ -122.422810999966401, 38.342412000912347 ], [ -122.422810999397257, 38.342053000857078 ], [ -122.422871999992779, 38.341733000590082 ], [ -122.422719999510306, 38.341496000328881 ], [ -122.422277000415392, 38.341168000889624 ], [ -122.421743000455464, 38.340962000769935 ], [ -122.421620999571687, 38.340710000975477 ], [ -122.421591000474592, 38.340428000605193 ], [ -122.421712999768246, 38.340092000320617 ], [ -122.421606000399365, 38.339757000247253 ], [ -122.421513999422075, 38.339513000649795 ], [ -122.420125999766327, 38.338345000884743 ], [ -122.419882000003042, 38.338383001102002 ], [ -122.419683000282475, 38.338536001090482 ], [ -122.419484999765274, 38.338803000997252 ], [ -122.419316999929308, 38.339139001054903 ], [ -122.419103999638651, 38.33940600080885 ], [ -122.41875300045001, 38.339589000520071 ], [ -122.418652000468413, 38.33959700024247 ], [ -122.417288999736201, 38.339713000556884 ], [ -122.417256999410569, 38.339322001060957 ], [ -122.417532000094354, 38.338689000810156 ], [ -122.41757799979564, 38.338544001041349 ], [ -122.417639000175896, 38.338338000484598 ], [ -122.417622999533023, 38.338200000832181 ], [ -122.417562000160729, 38.338010000390405 ], [ -122.416325999599906, 38.336964000307063 ], [ -122.41599099977654, 38.33693400062176 ], [ -122.415258000065776, 38.336743000909529 ], [ -122.414755000125311, 38.336507000916612 ], [ -122.414404000204172, 38.33627000047715 ], [ -122.414220999756623, 38.336026000289237 ], [ -122.413991999539121, 38.335713000904562 ], [ -122.413136999912396, 38.334706000852549 ], [ -122.412892999449952, 38.33457600047236 ], [ -122.412344000521813, 38.334477000554621 ], [ -122.412039000276877, 38.334294000647866 ], [ -122.411993000373229, 38.334012000327021 ], [ -122.412145999579863, 38.33373000089135 ], [ -122.412389999742558, 38.333340000795332 ], [ -122.412633999697292, 38.333020000317511 ], [ -122.412862999388111, 38.332631001013141 ], [ -122.413182999677787, 38.332295000892088 ], [ -122.413503999476745, 38.332089000686288 ], [ -122.413610000060189, 38.331616000346848 ], [ -122.413731999785568, 38.330693001133866 ], [ -122.412847000081143, 38.329861001135846 ], [ -122.412374000372949, 38.328793000874711 ], [ -122.41220699993508, 38.328336000946884 ], [ -122.412100000316784, 38.327870000859349 ], [ -122.411764000482805, 38.327443001120955 ], [ -122.411520000356859, 38.327092000338723 ], [ -122.411244999576482, 38.326810000997078 ], [ -122.410025000168403, 38.326123001027 ], [ -122.409719000519857, 38.325963000996865 ], [ -122.409581999706802, 38.325734000421569 ], [ -122.409520999572891, 38.324788000602155 ], [ -122.409643000103003, 38.32452800099967 ], [ -122.409704000240112, 38.324368001036092 ], [ -122.409886999565771, 38.324078000720867 ], [ -122.409871999408011, 38.323788000775444 ], [ -122.409887000386405, 38.323460000937914 ], [ -122.409749999901805, 38.323155000726004 ], [ -122.409734999581431, 38.322896000298833 ], [ -122.409734999989936, 38.322621001029958 ], [ -122.409795999870127, 38.322354000716089 ], [ -122.409643000137379, 38.321988000322285 ], [ -122.409628000197699, 38.321675000875665 ], [ -122.409459999512919, 38.32113300111326 ], [ -122.409338000260732, 38.320882000913542 ], [ -122.409140000209007, 38.320554000609974 ], [ -122.408880000510308, 38.320294000702177 ], [ -122.408575000500292, 38.320111000568382 ], [ -122.408102000173628, 38.320103000752304 ], [ -122.407736000449418, 38.320363000875396 ], [ -122.407588999421236, 38.320513000820306 ], [ -122.407521999640366, 38.320790000424147 ], [ -122.407445999758281, 38.321118001037263 ], [ -122.407324000030528, 38.321400001113837 ], [ -122.407125000260123, 38.321637000994805 ], [ -122.406865999704891, 38.321805000910381 ], [ -122.405400999681945, 38.322118000650903 ], [ -122.405293999424003, 38.321851000742967 ], [ -122.405293999851907, 38.321538000246662 ], [ -122.405156999435007, 38.321225000737101 ], [ -122.404989000105317, 38.321019000860161 ], [ -122.404759999838006, 38.320668000608769 ], [ -122.404424999578325, 38.320409000818174 ], [ -122.403738000164438, 38.319722000818565 ], [ -122.403662000114934, 38.319524000951837 ], [ -122.403585000513033, 38.319333000303217 ], [ -122.403570000487022, 38.319157000426401 ], [ -122.40375299974383, 38.318646000934997 ], [ -122.403784000081217, 38.31841000031757 ], [ -122.403707000365245, 38.318249000748828 ], [ -122.402928999966136, 38.31769300095273 ], [ -122.402745999687511, 38.317418000778353 ], [ -122.402669999740226, 38.317158001007527 ], [ -122.402501999662491, 38.316556000693282 ], [ -122.402333999611145, 38.316075001018795 ], [ -122.402075000489504, 38.315717000316951 ], [ -122.401952999537784, 38.314191000455374 ], [ -122.4002889999621, 38.312414000413632 ], [ -122.400106000244506, 38.31230000076458 ], [ -122.399342999531839, 38.312040000570761 ], [ -122.398930999968485, 38.311796000702834 ], [ -122.398396999444543, 38.311178001134842 ], [ -122.397633999965606, 38.310278000769976 ], [ -122.397268000278672, 38.309789000982271 ], [ -122.396840000284101, 38.309454000772185 ], [ -122.396335999564357, 38.309179000262034 ], [ -122.396152999454472, 38.308904000364336 ], [ -122.396122999551423, 38.308470000621732 ], [ -122.396092000013297, 38.308233000260728 ], [ -122.395969999696746, 38.308088000306498 ], [ -122.395725999836046, 38.307875000284 ], [ -122.395695999635862, 38.307554000308699 ], [ -122.395679999950545, 38.307066000429487 ], [ -122.394977999853879, 38.305586001091008 ], [ -122.394718999464928, 38.304983001127781 ], [ -122.394611999704907, 38.304724001047866 ], [ -122.394688000299126, 38.304614000524197 ], [ -122.394748000138023, 38.304579000779121 ], [ -122.394916999828141, 38.304479000525667 ], [ -122.395604000491176, 38.304304001107866 ], [ -122.396488999528444, 38.303900000578409 ], [ -122.397129999447159, 38.30364800030749 ], [ -122.397602999490857, 38.303533000705514 ], [ -122.399571999435452, 38.303442000926836 ], [ -122.399938000126738, 38.303396000323389 ], [ -122.399956000386197, 38.303388001142544 ], [ -122.400334999441796, 38.303243000586853 ], [ -122.400921999848222, 38.302925000938195 ], [ -122.40128099939615, 38.302732000993728 ], [ -122.401739000452551, 38.302450000842555 ], [ -122.401998000354169, 38.302137000583762 ], [ -122.402257999875417, 38.30166400097702 ], [ -122.402409999677502, 38.301237001059995 ], [ -122.402563000433062, 38.300817000471007 ], [ -122.402731000051276, 38.300619000865993 ], [ -122.402789000246912, 38.300514000684537 ], [ -122.403189000341854, 38.300814000932348 ], [ -122.403478999757652, 38.301267000550702 ], [ -122.403828999830822, 38.302130000902928 ], [ -122.404118999662629, 38.302587000339109 ], [ -122.404905000462307, 38.303345000764523 ], [ -122.40517200049068, 38.303602001135921 ], [ -122.405126000071022, 38.303968000573072 ], [ -122.405553000002072, 38.304288000853063 ], [ -122.406388999451096, 38.304914000537408 ], [ -122.406698000524585, 38.305029000975864 ], [ -122.407063999622949, 38.305013000885914 ], [ -122.407690000058594, 38.304983000868944 ], [ -122.408499000277942, 38.305204000549743 ], [ -122.409536000173929, 38.305700000768589 ], [ -122.410269000367663, 38.305601000935368 ], [ -122.411092999516242, 38.305807000370741 ], [ -122.412435000322873, 38.304876000998327 ], [ -122.412541999561583, 38.303541001028286 ], [ -122.412755999459051, 38.303289001120866 ], [ -122.412989000440774, 38.303014000914473 ], [ -122.413188999955352, 38.302914000466373 ], [ -122.413519000333892, 38.302633000908919 ], [ -122.413670999712096, 38.302404000557928 ], [ -122.41437299984409, 38.301954000779396 ], [ -122.414418999821919, 38.301779001069256 ], [ -122.414785000162951, 38.301489000317183 ], [ -122.415227999394347, 38.301359000483373 ], [ -122.415730999982955, 38.301199001094119 ], [ -122.415975000222517, 38.300894000685524 ], [ -122.416220000481474, 38.300283001029477 ], [ -122.416571000158967, 38.29986400036772 ], [ -122.416754000203227, 38.298834000740662 ], [ -122.416798999725259, 38.298368000342705 ], [ -122.416788999908974, 38.29811400023933 ], [ -122.417488999919868, 38.297814000564792 ], [ -122.41751699965441, 38.297651001049573 ], [ -122.417424999941105, 38.297430000694497 ], [ -122.417500999927725, 38.297010000492712 ], [ -122.417806999866386, 38.296514000804109 ], [ -122.418340999888784, 38.296057000800957 ], [ -122.418936000321096, 38.295698000509589 ], [ -122.419164999981675, 38.295629000554733 ], [ -122.41976000030418, 38.295645000287941 ], [ -122.42003399950589, 38.295591000529946 ], [ -122.420247999738493, 38.295378000876504 ], [ -122.420416000022499, 38.295240000451741 ], [ -122.420659999638772, 38.295240000735454 ], [ -122.420935000122768, 38.295355000465001 ], [ -122.4212240004222, 38.295477000911461 ], [ -122.421437999439775, 38.29550000065386 ], [ -122.421621000353639, 38.295431000643305 ], [ -122.421942000387844, 38.295454000640362 ], [ -122.422201000462067, 38.29547700082567 ], [ -122.422444999968562, 38.295553000248304 ], [ -122.422674000181203, 38.295706000665994 ], [ -122.422842000492864, 38.295751000398646 ], [ -122.423193000151414, 38.295767000486457 ], [ -122.423818000039873, 38.295950000495679 ], [ -122.423985999809787, 38.295919000246101 ], [ -122.424017000156738, 38.29575900050331 ], [ -122.423787999422117, 38.2952170004138 ], [ -122.423727000080888, 38.294966000936093 ], [ -122.424688999424234, 38.292614000689902 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1319, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.452498000067493, 38.379976000252817 ], [ -122.452673999585514, 38.380200000699368 ], [ -122.452866000405535, 38.380664000662954 ], [ -122.453170000035328, 38.381144000346531 ], [ -122.453554000208442, 38.381736001083908 ], [ -122.453570000096448, 38.382040000983281 ], [ -122.453521999488132, 38.382392000809062 ], [ -122.45218599953003, 38.381639000370761 ], [ -122.45201799996795, 38.381544000568589 ], [ -122.450293999604838, 38.380612000252256 ], [ -122.447889999976894, 38.379312000856935 ], [ -122.449990000268599, 38.374912000949323 ], [ -122.450483000518147, 38.37471300037685 ], [ -122.450537999410031, 38.374691000659432 ], [ -122.450820999530436, 38.374670000685974 ], [ -122.451056000017445, 38.374653001120592 ], [ -122.451452999524051, 38.374759001042158 ], [ -122.452169999576043, 38.374828000547204 ], [ -122.452871999629167, 38.374668000653607 ], [ -122.453573999859771, 38.374187000772629 ], [ -122.45390999942488, 38.373836000704983 ], [ -122.454429000500284, 38.373203000724551 ], [ -122.455283999782438, 38.37222600031518 ], [ -122.455849000031648, 38.371570001018391 ], [ -122.45652000029034, 38.371258000670558 ], [ -122.457115000168201, 38.370548000376679 ], [ -122.457038999978892, 38.370189001080028 ], [ -122.457145999581059, 38.369610000707354 ], [ -122.457145999715607, 38.369220000622931 ], [ -122.457298000236648, 38.36880800057331 ], [ -122.457591000157947, 38.368412000538584 ], [ -122.457832000329901, 38.367985000508803 ], [ -122.457832000032084, 38.367771000353144 ], [ -122.45774099990831, 38.367466000915954 ], [ -122.457588000142565, 38.367222000523142 ], [ -122.457206999622727, 38.366993000801791 ], [ -122.456428999428226, 38.366771000939181 ], [ -122.455832999741617, 38.3661990005074 ], [ -122.455116000387591, 38.366031000624723 ], [ -122.45448999995601, 38.365619000564308 ], [ -122.4542910003983, 38.365001000813194 ], [ -122.454250000024103, 38.364834000553238 ], [ -122.454122999530554, 38.364315000712843 ], [ -122.453695999636679, 38.363620000912107 ], [ -122.453055000304218, 38.362812000820917 ], [ -122.45224699991924, 38.362072000365472 ], [ -122.451269999398036, 38.36148400074854 ], [ -122.4496900000577, 38.36101200076353 ], [ -122.451179000499806, 38.359691000614617 ], [ -122.452230999599564, 38.358753000584684 ], [ -122.452979000347838, 38.358089001031153 ], [ -122.453788000204128, 38.35713600089386 ], [ -122.454504999968719, 38.356319000845296 ], [ -122.455101000411901, 38.35557900072078 ], [ -122.455849000174183, 38.35479300049505 ], [ -122.456366999940613, 38.353664000428736 ], [ -122.456413000193947, 38.352825000840333 ], [ -122.456305999666213, 38.35248900072888 ], [ -122.456078000368791, 38.352184001141005 ], [ -122.456108000116359, 38.351772000447504 ], [ -122.456261000335246, 38.351513000890442 ], [ -122.456412999740067, 38.35114600070127 ], [ -122.45645900044093, 38.350925000671289 ], [ -122.456336999569771, 38.350612000553333 ], [ -122.456336999910832, 38.350071000495845 ], [ -122.456534999425983, 38.349842000972018 ], [ -122.456962999761657, 38.349422000614204 ], [ -122.457054000152922, 38.34889700042914 ], [ -122.457618999820156, 38.347829000712721 ], [ -122.457909000466387, 38.346822000978619 ], [ -122.457511999951635, 38.346082000389352 ], [ -122.457084999454494, 38.345555000685387 ], [ -122.45679099990015, 38.344713000291662 ], [ -122.456703000457452, 38.343877000520507 ], [ -122.456688000248562, 38.343595000866991 ], [ -122.456673000493225, 38.343320001036432 ], [ -122.456505000333991, 38.342427000683678 ], [ -122.456168999649762, 38.341855000830769 ], [ -122.455558999912313, 38.340985000670607 ], [ -122.454902999618227, 38.340230000952623 ], [ -122.453924999574099, 38.339314000964904 ], [ -122.452903000379138, 38.338567000323572 ], [ -122.452093999633732, 38.337582001028387 ], [ -122.451574999516438, 38.33675800072988 ], [ -122.451690000520301, 38.33641300111924 ], [ -122.451803999850924, 38.335522000783008 ], [ -122.452169999699194, 38.335133000446653 ], [ -122.452749999930461, 38.334523000715933 ], [ -122.453147000178106, 38.333913001011346 ], [ -122.453452000394435, 38.333028000877221 ], [ -122.454201000201152, 38.331548000686162 ], [ -122.45523799946352, 38.330464000774406 ], [ -122.456534999493741, 38.329472000832908 ], [ -122.458503999632313, 38.32838100044944 ], [ -122.462410000148594, 38.326627000354833 ], [ -122.462776000245825, 38.326306000843609 ], [ -122.46308100000897, 38.32584100077203 ], [ -122.463325000453409, 38.325314000865816 ], [ -122.463553999824356, 38.324887000847042 ], [ -122.463920999685399, 38.324429000689513 ], [ -122.464118999462656, 38.323872000322112 ], [ -122.464148999649694, 38.323384000931618 ], [ -122.464191000233939, 38.323013000966462 ], [ -122.463981999717376, 38.322537000740667 ], [ -122.46395100007436, 38.32202600065542 ], [ -122.464256000300495, 38.321492000653237 ], [ -122.464240999394661, 38.321072000667492 ], [ -122.463875000426825, 38.320813000545989 ], [ -122.463493000181842, 38.320454000243622 ], [ -122.463309999879982, 38.320149000986945 ], [ -122.46347800032585, 38.319745000376045 ], [ -122.46356999988609, 38.319249000267575 ], [ -122.463721999727056, 38.318761000652202 ], [ -122.464088000039467, 38.318242000368656 ], [ -122.464621999561189, 38.317860000562959 ], [ -122.464866999502661, 38.317548000897716 ], [ -122.465630000503552, 38.316457000785697 ], [ -122.467949000025854, 38.315106000775359 ], [ -122.468818999647567, 38.314534000460803 ], [ -122.469291000045359, 38.314113001099841 ], [ -122.470011999779786, 38.313485000758874 ], [ -122.471076999881348, 38.312559000300126 ], [ -122.471190999839592, 38.312414000329532 ], [ -122.471763999529273, 38.311804000582136 ], [ -122.472358999817843, 38.311422000759627 ], [ -122.472953999464053, 38.31096400047943 ], [ -122.473365999949181, 38.310514000532415 ], [ -122.473655999670257, 38.310034000302991 ], [ -122.473976000056751, 38.309553000997397 ], [ -122.474448999627413, 38.308828000542114 ], [ -122.474785000022493, 38.308370000676739 ], [ -122.475410000182706, 38.307997001014492 ], [ -122.476020999840273, 38.307607000356377 ], [ -122.476182999642461, 38.307497001000542 ], [ -122.476570000000677, 38.30723400099081 ], [ -122.477103999801272, 38.306753000363692 ], [ -122.477891000140929, 38.306014000774091 ], [ -122.477996999391095, 38.305855000937498 ], [ -122.478050000410278, 38.305776000271159 ], [ -122.478493000062201, 38.305357000475944 ], [ -122.479056999939644, 38.304922000537765 ], [ -122.47959100032314, 38.304632000448429 ], [ -122.480263000424856, 38.304457000406948 ], [ -122.481041999418892, 38.304289000262642 ], [ -122.481588999929812, 38.304131000985031 ], [ -122.481728999937232, 38.304090000599224 ], [ -122.482216999566631, 38.303930001010009 ], [ -122.482674999814975, 38.303732000807912 ], [ -122.482980000250464, 38.303419001131495 ], [ -122.483254000421169, 38.303091000917846 ], [ -122.483392000150374, 38.302714000361668 ], [ -122.483692000351454, 38.302414000485129 ], [ -122.483692000038346, 38.302714000851424 ], [ -122.483681999879437, 38.302915000702946 ], [ -122.483681999915873, 38.303198001053239 ], [ -122.483621000524366, 38.303541000255159 ], [ -122.483514000004831, 38.303976000389966 ], [ -122.48346799971381, 38.304251000659043 ], [ -122.483482999952926, 38.304449000361423 ], [ -122.48363599941591, 38.30476900029079 ], [ -122.48365099990815, 38.305059000680238 ], [ -122.483560000315563, 38.305334001118133 ], [ -122.483453000255494, 38.305624000554076 ], [ -122.483438000260932, 38.306066000780277 ], [ -122.483459999871187, 38.306411000934446 ], [ -122.483468000058664, 38.30654700087382 ], [ -122.483560000205713, 38.306707001024677 ], [ -122.483696999892047, 38.306982001093509 ], [ -122.483911000136871, 38.307287000313671 ], [ -122.484200999675494, 38.307562000505193 ], [ -122.484612999590283, 38.307592000238301 ], [ -122.484812999642116, 38.307644000416317 ], [ -122.485116000371789, 38.307722000598403 ], [ -122.485527999719977, 38.307852000763027 ], [ -122.485864000253699, 38.307981000386931 ], [ -122.485940000402067, 38.30818700050996 ], [ -122.48594000023904, 38.308217000790187 ], [ -122.48593999960184, 38.308477000512056 ], [ -122.485832999740012, 38.309004000384277 ], [ -122.485786999832087, 38.309431000755104 ], [ -122.485760000174409, 38.309703000953121 ], [ -122.485756999587423, 38.30972800064329 ], [ -122.485863000102199, 38.309892000497342 ], [ -122.485909999602612, 38.30996500095295 ], [ -122.486137999493181, 38.310407000735026 ], [ -122.48645899953577, 38.310842000909211 ], [ -122.486687999697892, 38.311086001110972 ], [ -122.486809999525562, 38.311498000375039 ], [ -122.486793999785405, 38.312054000509562 ], [ -122.486791999553276, 38.31211400039335 ], [ -122.486891999627687, 38.312514000658098 ], [ -122.486839999803408, 38.312703000659603 ], [ -122.487007999474869, 38.313092000399699 ], [ -122.487391999967286, 38.313513000551019 ], [ -122.487695000530806, 38.313855000452406 ], [ -122.488319999794697, 38.314420000802123 ], [ -122.488735999766931, 38.314670000914319 ], [ -122.489007000182468, 38.314832000597988 ], [ -122.489691999601433, 38.315213000556426 ], [ -122.4898310002758, 38.31592300094934 ], [ -122.489816000039767, 38.316449000735595 ], [ -122.490318999541827, 38.316968000473601 ], [ -122.491585999632505, 38.317784000515957 ], [ -122.491829999780649, 38.31802100066222 ], [ -122.492134999953095, 38.319546000659045 ], [ -122.493034999594315, 38.320744000251189 ], [ -122.494073000524423, 38.321767001043526 ], [ -122.494484999712157, 38.322385000471215 ], [ -122.494792000407244, 38.32291300064982 ], [ -122.494851000240899, 38.323338000965357 ], [ -122.495049999497581, 38.323811000738488 ], [ -122.495384999384299, 38.32420000113423 ], [ -122.495781999661489, 38.32442200027328 ], [ -122.499200000241345, 38.325558000801685 ], [ -122.499627000221864, 38.325825000870388 ], [ -122.499917000019991, 38.326215000325867 ], [ -122.500084999763644, 38.326764000712032 ], [ -122.500268000498536, 38.327496000334669 ], [ -122.500389999702435, 38.327725000339655 ], [ -122.501092000092086, 38.328113001134362 ], [ -122.501367000154701, 38.328481000717751 ], [ -122.501457999488181, 38.328481000946866 ], [ -122.501626000075092, 38.328549000911934 ], [ -122.501991999931818, 38.328656000605946 ], [ -122.502297000505038, 38.328755000536901 ], [ -122.502754999801169, 38.328824000275858 ], [ -122.502953999658274, 38.328992000634166 ], [ -122.502998999756059, 38.329190000831808 ], [ -122.503029999743831, 38.329457000342003 ], [ -122.503030000410959, 38.32983100055386 ], [ -122.50301499966973, 38.330151000281994 ], [ -122.502938000047962, 38.3304870008579 ], [ -122.50289300041284, 38.330800000596625 ], [ -122.502908000236388, 38.331113000479334 ], [ -122.502991999617052, 38.331213001106882 ], [ -122.503288999991824, 38.331494000611485 ], [ -122.503685999789198, 38.331738000772397 ], [ -122.50414400022899, 38.332135000856958 ], [ -122.504403000290409, 38.332532001012659 ], [ -122.504494999480627, 38.333081000571084 ], [ -122.50441799991296, 38.333394000747717 ], [ -122.504174000378569, 38.333791000705304 ], [ -122.503991000317001, 38.334111001027402 ], [ -122.503579000054856, 38.334569000787283 ], [ -122.503136999461447, 38.334904000878701 ], [ -122.502983999540689, 38.33501100094621 ], [ -122.502801000314207, 38.335332000594384 ], [ -122.502617999792378, 38.335744000772635 ], [ -122.502510999777385, 38.336118000940417 ], [ -122.502591999413511, 38.336413000885415 ], [ -122.502602999625438, 38.336842000720537 ], [ -122.502815999595484, 38.337254001011196 ], [ -122.503166999517788, 38.337621000496895 ], [ -122.503532999948618, 38.337888000644313 ], [ -122.503945000319575, 38.338071000411936 ], [ -122.504555999813277, 38.338193000815011 ], [ -122.505074999656856, 38.338292000645204 ], [ -122.505516999416002, 38.338307000621647 ], [ -122.505816999842025, 38.33833900075772 ], [ -122.506096999883596, 38.338368000415223 ], [ -122.506630999395611, 38.338559000936257 ], [ -122.50675899992099, 38.338658000566383 ], [ -122.506936000221458, 38.338795000971196 ], [ -122.50708900005489, 38.339108000588936 ], [ -122.507211000447398, 38.339482001066941 ], [ -122.50739199953766, 38.339913000594557 ], [ -122.507073000150854, 38.339879000494712 ], [ -122.506691999522801, 38.339913000589476 ], [ -122.506493999873641, 38.339963000492112 ], [ -122.506142999598282, 38.340031000476067 ], [ -122.505775999757191, 38.340153000364005 ], [ -122.505491999745146, 38.340213000240581 ], [ -122.505319000471061, 38.34035900073404 ], [ -122.505059000160827, 38.340466000791125 ], [ -122.504592000334213, 38.340713000804783 ], [ -122.504539999869422, 38.340726000353961 ], [ -122.504192000348468, 38.340913001017306 ], [ -122.503518000398543, 38.341191000547497 ], [ -122.502998999684678, 38.341450000974966 ], [ -122.502491999975206, 38.341613000560727 ], [ -122.502236000455639, 38.341710000429309 ], [ -122.501863999850443, 38.341832001020528 ], [ -122.501747999582534, 38.341870000626535 ], [ -122.501091999563513, 38.342113000267439 ], [ -122.497391999680929, 38.343113000338626 ], [ -122.495491999440603, 38.340813001111627 ], [ -122.49496100021662, 38.340034000772548 ], [ -122.494882000237837, 38.339917000864318 ], [ -122.494813999612475, 38.339825000628515 ], [ -122.49431700044714, 38.339154001105413 ], [ -122.493814000363614, 38.338475000341973 ], [ -122.493692000213585, 38.338313000349103 ], [ -122.493324999921356, 38.338330000451144 ], [ -122.492683999735092, 38.338391000259698 ], [ -122.49189099973961, 38.338475000768085 ], [ -122.491005999791682, 38.338750000683561 ], [ -122.490092000385232, 38.339013000409516 ], [ -122.489724000099486, 38.33915400036895 ], [ -122.489525999464675, 38.339314000902554 ], [ -122.489068000207141, 38.340009000955938 ], [ -122.488670999865477, 38.34039000105679 ], [ -122.488289999665099, 38.340573001043118 ], [ -122.488107000360401, 38.340794000292831 ], [ -122.487862999765639, 38.341107000697235 ], [ -122.487648999680147, 38.341374000435444 ], [ -122.486428000277002, 38.341923000951994 ], [ -122.486016000182289, 38.342297001141233 ], [ -122.485635000264622, 38.34244200109633 ], [ -122.48517700029997, 38.342412000936172 ], [ -122.48482600045476, 38.342206000381857 ], [ -122.484444999881461, 38.342129000365787 ], [ -122.48418399977443, 38.342137000993297 ], [ -122.483925000528316, 38.342267001082561 ], [ -122.483558999392457, 38.342526000841993 ], [ -122.483101000184689, 38.34258000061719 ], [ -122.48265799971071, 38.342473000774248 ], [ -122.482291999926133, 38.34216800039848 ], [ -122.482123999414, 38.342030000551397 ], [ -122.481880000234952, 38.342030000624867 ], [ -122.480781999590647, 38.341962000547269 ], [ -122.480658999684508, 38.341771001009619 ], [ -122.48044600010472, 38.341306000370125 ], [ -122.480186000224705, 38.34088600113661 ], [ -122.479866000213775, 38.340756000314471 ], [ -122.479300999937507, 38.340802000706049 ], [ -122.477089000357395, 38.341313000768288 ], [ -122.476906000145178, 38.341504000332968 ], [ -122.476463000447637, 38.341801000635989 ], [ -122.476051000065141, 38.341901000298165 ], [ -122.47556300000609, 38.341809000672647 ], [ -122.475136000394301, 38.341695000895136 ], [ -122.474769999914813, 38.34177900054366 ], [ -122.474448999397296, 38.342007000758009 ], [ -122.47423599993499, 38.342297000401885 ], [ -122.473884999501323, 38.34245000038689 ], [ -122.473258999782956, 38.342702000823046 ], [ -122.472690999464547, 38.343213000465525 ], [ -122.472541999726303, 38.343655001081608 ], [ -122.472663999600329, 38.343968001085464 ], [ -122.472800999426653, 38.344311000876431 ], [ -122.472999999994727, 38.344655001027107 ], [ -122.4731369995893, 38.344991000554003 ], [ -122.473075999885992, 38.345380001102406 ], [ -122.472847000435792, 38.345586001068675 ], [ -122.472374000023194, 38.34581400052901 ], [ -122.472023000335682, 38.346066000985019 ], [ -122.471840000526868, 38.346478000517095 ], [ -122.471596000488276, 38.346890000645551 ], [ -122.471213999628006, 38.347195000702804 ], [ -122.470832999495357, 38.347516000796823 ], [ -122.470633999796448, 38.348019000561649 ], [ -122.47038999977373, 38.348828000429876 ], [ -122.470497000345176, 38.349347000293463 ], [ -122.470421000116403, 38.349834001132585 ], [ -122.470299000084452, 38.350338000321322 ], [ -122.470207000118521, 38.351093000443747 ], [ -122.470176999480245, 38.351780000892511 ], [ -122.47026799973078, 38.352405001011732 ], [ -122.469871999406678, 38.353740000931076 ], [ -122.469887000267448, 38.354099000261861 ], [ -122.469993999450423, 38.35460300101343 ], [ -122.469855999530509, 38.354931000375686 ], [ -122.469582000033427, 38.355480000488903 ], [ -122.469154000281321, 38.356083000919632 ], [ -122.468528999655248, 38.357517000766762 ], [ -122.468254000083334, 38.357990000679528 ], [ -122.468239000327699, 38.358318000504134 ], [ -122.468330000072669, 38.358898000503075 ], [ -122.468178000146878, 38.359340000460826 ], [ -122.467873000390071, 38.3599350009302 ], [ -122.467812000180928, 38.360584000300975 ], [ -122.467536999556188, 38.361881000290801 ], [ -122.467338999699905, 38.36204900047511 ], [ -122.466559999823701, 38.362522000639153 ], [ -122.465126000337705, 38.363300000287374 ], [ -122.464026999698007, 38.364040000773251 ], [ -122.463356000094905, 38.364727001102331 ], [ -122.462593000065581, 38.365597000252009 ], [ -122.461997999956722, 38.366253000800064 ], [ -122.461876000345967, 38.366649000378416 ], [ -122.460929999394267, 38.367565001080308 ], [ -122.460670000358022, 38.368137001027804 ], [ -122.460533000260838, 38.368984000770254 ], [ -122.460390999622945, 38.369612000540606 ], [ -122.460212999700232, 38.370197000964055 ], [ -122.460213000484273, 38.372562000915437 ], [ -122.460243000458618, 38.37289800065772 ], [ -122.46039600023127, 38.373417000292093 ], [ -122.460390999643863, 38.373612001089704 ], [ -122.460502999593089, 38.373684000664369 ], [ -122.460890999748841, 38.374412001067249 ], [ -122.460732000204914, 38.374561000820179 ], [ -122.460593999961063, 38.374668000840842 ], [ -122.460425999588693, 38.374805000426932 ], [ -122.460206999559887, 38.374912000266654 ], [ -122.46049900052833, 38.374912000642283 ], [ -122.460322999806621, 38.375304000356202 ], [ -122.460018999498402, 38.375704000742573 ], [ -122.459906999772585, 38.375864000734772 ], [ -122.460002999522715, 38.376008000552616 ], [ -122.460051000064311, 38.376200000960829 ], [ -122.460002999957027, 38.376328000454819 ], [ -122.45997100052027, 38.37664800074073 ], [ -122.459874999442874, 38.376936001132314 ], [ -122.459651000503683, 38.377192000323888 ], [ -122.4593309994778, 38.377320000914047 ], [ -122.458947000059766, 38.377496000898454 ], [ -122.458754999989424, 38.378376001079481 ], [ -122.458866999867553, 38.378904000894984 ], [ -122.458819000176817, 38.379336001059713 ], [ -122.458722999956777, 38.379512000958719 ], [ -122.458435000369434, 38.379672000471487 ], [ -122.458114999704122, 38.379752000360178 ], [ -122.457410999958711, 38.379480000554388 ], [ -122.456643000502169, 38.379048000618027 ], [ -122.455875000347433, 38.378888000755957 ], [ -122.455523000350851, 38.37920800095668 ], [ -122.455217999604073, 38.379416001009361 ], [ -122.454754000046734, 38.379160001119871 ], [ -122.454499999444877, 38.378974000444657 ], [ -122.454274000408759, 38.378808000618669 ], [ -122.453442000111991, 38.37893600049501 ], [ -122.45284999939868, 38.379080000319036 ], [ -122.452498000443498, 38.379528000975689 ], [ -122.452497999497851, 38.379754000426679 ], [ -122.452498000067493, 38.379976000252817 ] ] ] ] } }, +{ "type": "Feature", "properties": { "SUPERD": 29, "TAZ1454": 1333, "Shape__Are": 0.0, "Shape__Len": 0.0 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -122.620295999705561, 38.241716000565297 ], [ -122.619595999425584, 38.242416000761885 ], [ -122.619096000446874, 38.242916001115113 ], [ -122.618596000069928, 38.243516000837346 ], [ -122.61819600029439, 38.244016000418611 ], [ -122.617795999583208, 38.244516000382461 ], [ -122.617196000188628, 38.244216000491519 ], [ -122.616495999927196, 38.243816000914727 ], [ -122.615096000234701, 38.243116000673872 ], [ -122.614495999580498, 38.242716000709841 ], [ -122.612695999840369, 38.24171600080841 ], [ -122.611587999583776, 38.241140000783112 ], [ -122.61019600032499, 38.240416000655394 ], [ -122.607194999885081, 38.2387160008631 ], [ -122.605695000325312, 38.23781600092564 ], [ -122.605038000141803, 38.237451000654474 ], [ -122.603894999561476, 38.236816000889405 ], [ -122.602495000020909, 38.236116000532753 ], [ -122.603694999997927, 38.234816000269916 ], [ -122.604695000304062, 38.233716000475383 ], [ -122.609599999872572, 38.233262000692058 ], [ -122.610094999878839, 38.233216000632581 ], [ -122.612195999780226, 38.233116000859503 ], [ -122.612595999441709, 38.233016000622968 ], [ -122.613140999434023, 38.232994000684307 ], [ -122.613599000190675, 38.232948000873584 ], [ -122.61402600037836, 38.232918000859627 ], [ -122.614407999935651, 38.232925000965494 ], [ -122.614459000348162, 38.232923000993047 ], [ -122.61459099980074, 38.232918000865318 ], [ -122.61491099978376, 38.232918000317134 ], [ -122.615201000293126, 38.232948000477371 ], [ -122.615537000485347, 38.232979000481443 ], [ -122.616595999397234, 38.23311600079591 ], [ -122.61709599985916, 38.233216000748556 ], [ -122.617296000201549, 38.233316000450749 ], [ -122.617939000525936, 38.233401000248271 ], [ -122.618296000491043, 38.234116000800796 ], [ -122.618810000282693, 38.235099000934902 ], [ -122.619080000040569, 38.235610000715091 ], [ -122.619496000060295, 38.236416000505834 ], [ -122.620061999682676, 38.237491000657784 ], [ -122.620160000339993, 38.237677000338977 ], [ -122.62149599950861, 38.240216000586862 ], [ -122.62069599981001, 38.2412160007881 ], [ -122.620295999705561, 38.241716000565297 ] ] ] ] } } +] +} diff --git a/activitysim/examples/prototype_mtc/output/summarize/topsheet.yaml b/activitysim/examples/prototype_mtc/output/summarize/topsheet.yaml new file mode 100644 index 0000000000..dca8d430ac --- /dev/null +++ b/activitysim/examples/prototype_mtc/output/summarize/topsheet.yaml @@ -0,0 +1,59 @@ +# Topsheet Test +# title: Key Performance Indicators + +# Input files ------------------------- +files: + tours: + file: "tours_count.csv" + trips: + file: "trips_count.csv" + households: + file: "households_count.csv" + persons: + file: "persons_count.csv" + tours_per_household: + file: "tours_per_household_count.csv" + trips_per_household: + file: "trips_per_household_count.csv" + total_vmt: + file: "total_vmt.csv" + vmt_per_capita: + file: "vmt_per_capita.csv" + +# Calculations ------------------------ +calculations: + tours: '{tours.tours}' + trips: '{trips.trips}' + households: '{households.households}' + persons: '{persons.persons}' + tours_per_household: '{tours_per_household.tours_per_household}' + trips_per_household: '{trips_per_household.trips_per_household}' + total_vmt: '{total_vmt.vmt}' + vmt_per_capita: '{vmt_per_capita.vmt_per_capita}' + +# Table rows +outputs: + - title: Total Tours + # style: { font-weight: bold, color: purple } + value: tours + + - title: Total Trips + value: trips + + - title: Total Households + value: households + + - title: Total Persons + value: persons + + - title: Tours / Household + value: tours_per_household + + - title: Trips / Household + value: trips_per_household + + - title: Total VMT + value: total_vmt + + - title: VMT / Capita + value: vmt_per_capita diff --git a/activitysim/examples/example_sandag/output_3/trace/.gitignore b/activitysim/examples/prototype_mtc/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_3/trace/.gitignore rename to activitysim/examples/prototype_mtc/output/trace/.gitignore diff --git a/activitysim/examples/prototype_mtc/simulation.py b/activitysim/examples/prototype_mtc/simulation.py new file mode 100644 index 0000000000..e89ab18e33 --- /dev/null +++ b/activitysim/examples/prototype_mtc/simulation.py @@ -0,0 +1,16 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim import abm # register injectables +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/example_multiple_zone/test/configs_2_zone/network_los.yaml b/activitysim/examples/prototype_mtc/test/configs/network_los.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_2_zone/network_los.yaml rename to activitysim/examples/prototype_mtc/test/configs/network_los.yaml diff --git a/activitysim/examples/example_mtc/test/configs/settings.yaml b/activitysim/examples/prototype_mtc/test/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs/settings.yaml rename to activitysim/examples/prototype_mtc/test/configs/settings.yaml diff --git a/activitysim/examples/example_sandag/test/configs_1_zone/network_los.yaml b/activitysim/examples/prototype_mtc/test/configs_chunkless/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_1_zone/network_los.yaml rename to activitysim/examples/prototype_mtc/test/configs_chunkless/network_los.yaml diff --git a/activitysim/examples/example_mtc/test/configs_chunkless/settings.yaml b/activitysim/examples/prototype_mtc/test/configs_chunkless/settings.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs_chunkless/settings.yaml rename to activitysim/examples/prototype_mtc/test/configs_chunkless/settings.yaml diff --git a/activitysim/examples/example_sandag/test/configs_2_zone/network_los.yaml b/activitysim/examples/prototype_mtc/test/configs_mp/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_2_zone/network_los.yaml rename to activitysim/examples/prototype_mtc/test/configs_mp/network_los.yaml diff --git a/activitysim/examples/example_mtc/test/configs_mp/settings.yaml b/activitysim/examples/prototype_mtc/test/configs_mp/settings.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs_mp/settings.yaml rename to activitysim/examples/prototype_mtc/test/configs_mp/settings.yaml diff --git a/activitysim/examples/example_sandag/output_3/.gitignore b/activitysim/examples/prototype_mtc/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_3/.gitignore rename to activitysim/examples/prototype_mtc/test/output/.gitignore diff --git a/activitysim/examples/example_sandag/test/output/cache/.gitignore b/activitysim/examples/prototype_mtc/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/test/output/cache/.gitignore rename to activitysim/examples/prototype_mtc/test/output/cache/.gitignore diff --git a/activitysim/examples/example_sandag/test/output/trace/.gitignore b/activitysim/examples/prototype_mtc/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/test/output/trace/.gitignore rename to activitysim/examples/prototype_mtc/test/output/trace/.gitignore diff --git a/activitysim/examples/example_mtc/test/regress/final_trips.csv b/activitysim/examples/prototype_mtc/test/regress/final_trips.csv similarity index 100% rename from activitysim/examples/example_mtc/test/regress/final_trips.csv rename to activitysim/examples/prototype_mtc/test/regress/final_trips.csv diff --git a/activitysim/examples/prototype_mtc/test/simulation.py b/activitysim/examples/prototype_mtc/test/simulation.py new file mode 100755 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/prototype_mtc/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/prototype_mtc/test/test_mtc.py b/activitysim/examples/prototype_mtc/test/test_mtc.py new file mode 100644 index 0000000000..fb5751a297 --- /dev/null +++ b/activitysim/examples/prototype_mtc/test/test_mtc.py @@ -0,0 +1,94 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def run_test_mtc(multiprocess=False, chunkless=False): + def example_path(dirname): + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(): + regress_trips_df = pd.read_csv(test_path("regress/final_trips.csv")) + final_trips_df = pd.read_csv(test_path("output/final_trips.csv")) + + # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, + # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum + # compare_cols = [] + pdt.assert_frame_equal(final_trips_df, regress_trips_df) + + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + if multiprocess: + run_args = [ + "-c", + test_path("configs_mp"), + "-c", + example_path("configs_mp"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ] + elif chunkless: + run_args = [ + "-c", + test_path("configs_chunkless"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ] + else: + run_args = [ + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ] + + subprocess.run(["coverage", "run", "-a", file_path] + run_args, check=True) + + regress() + + +def test_mtc(): + run_test_mtc(multiprocess=False) + + +def test_mtc_chunkless(): + run_test_mtc(multiprocess=False, chunkless=True) + + +def test_mtc_mp(): + run_test_mtc(multiprocess=True) + + +if __name__ == "__main__": + + run_test_mtc(multiprocess=False) + run_test_mtc(multiprocess=True) + run_test_mtc(multiprocess=False, chunkless=True) diff --git a/activitysim/examples/prototype_mtc_extended/README.MD b/activitysim/examples/prototype_mtc_extended/README.MD new file mode 100644 index 0000000000..9ee48c17f1 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/README.MD @@ -0,0 +1,6 @@ + +### Prototype MTC Extended Example + +The prototype MTC example with the following additional models: +* vehicle type model +* vehicle allocation model diff --git a/activitysim/examples/prototype_mtc_extended/configs/annotate_tours_tour_mode_choice.csv b/activitysim/examples/prototype_mtc_extended/configs/annotate_tours_tour_mode_choice.csv new file mode 100644 index 0000000000..457db87613 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/annotate_tours_tour_mode_choice.csv @@ -0,0 +1,9 @@ +Description,Target,Expression +non-motorized and walk tran and tnc set to null,selected_vehicle,np.nan +tours using sov option,selected_vehicle,"np.where(df.tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY','DRIVE_LOC','DRIVE_LRF','DRIVE_EXP','DRIVE_HVY','DRIVE_COM']), df.vehicle_occup_1, selected_vehicle)" +tours using sr2 option,selected_vehicle,"np.where(df.tour_mode.isin(['SHARED2FREE','SHARED2PAY']), df.vehicle_occup_2, selected_vehicle)" +tours using sr3 option,selected_vehicle,"np.where(df.tour_mode.isin(['SHARED3FREE','SHARED3PAY']), df['vehicle_occup_3.5'], selected_vehicle)" +parent tour vehicle,_parent_selected_vehicle,"reindex(df.selected_vehicle, df.parent_tour_id) if 'selected_vehicle' in df.columns else np.nan" +assign parent tour vehicle to atwork subtours,selected_vehicle,"np.where(df.tour_category == 'atwork', _parent_selected_vehicle, selected_vehicle)" +is non-driving tour,_is_non_driving_tour,"df.tour_mode.isin(['WALK','BIKE','WALK_LOC','WALK_LRF','WALK_EXP','WALK_HVY','WALK_COM','TAXI','TNC_SINGLE','TNC_SHARED'])" +atwork subtours whose parent tour did not use a vehicle use non_hh_veh,selected_vehicle,"np.where(~_is_non_driving_tour & (df.tour_category == 'atwork') & pd.isna(selected_vehicle),'non_hh_veh', selected_vehicle)" diff --git a/activitysim/examples/prototype_mtc_extended/configs/settings.yaml b/activitysim/examples/prototype_mtc_extended/configs/settings.yaml new file mode 100644 index 0000000000..b1faa5c258 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/settings.yaml @@ -0,0 +1,248 @@ +# input tables +# +# activitysim uses "well-known" index and foreign key names for imported tables (e.g. households, persons, land_use) +# as well as for created tables (tours, joint_tour_participants, trips) +# e.g. the households table must have an index column 'household_id' and the foreign key to households in the +# persons table is also household_id. This naming convention allows activitysim to intuit the relationship +# between tables - for instance, to ensure that multiprocess slicing includes all the persons, tours, and trips +# in the same subprocess pipeline. The same strategy is also when chunking choosers, and to support tracing by +# household_id. +# +# the input_table_list index_col directive instructs activitysim to set the imported table index to zone_id +# you cannot change the well-known name of the index by modifying this directive. However, if your input file +# has a different id column name, you can rename it to the required index name with the rename_columns directive. +# In the settings below, the 'TAZ' column in the imported table is renamed 'zone_id' in the rename_columns settings. +# +input_table_list: + # + # households (table index 'household_id') + # + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + HHID: household_id # household_id is the required index column + PERSONS: hhsize + workers: num_workers + VEHICL: auto_ownership + TAZ: home_zone_id + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + # + # persons (table index 'person_id') + # + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + PERID: person_id # person_id is the required index column + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + # + # land_use (table index 'zone_id') + # + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + TAZ: zone_id # person_id is the required index column + COUNTY: county_id + keep_columns: + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + - RESACRE + - CIACRE + - TOTEMP + - AGE0519 + - RETEMPN + - FPSEMPN + - HEREMPN + - OTHEMPN + - AGREMPN + - MWTEMPN + - PRKCST + - OPRKCST + - area_type + - HSENROLL + - COLLFTE + - COLLPTE + - TOPOLOGY + - TERMINAL + +# convert input CSVs to HDF5 format and save to outputs directory +# create_input_store: True + +#input_store: ../output/input_data.h5 + +# number of households to simulate +households_sample_size: 100 +# simulate all households +# households_sample_size: 0 + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +# log interaction simulate/sample expressions that return prohibitive utility values that exclude all alternatives +log_alt_losers: False + +# alternate dir to read/write cache (defaults to output_dir) +# used for skim cache, tvpb, and chunk_log caches +#cache_dir: data/cache + +############## +# +# chunking +# + +# chooser chunk size in gigabytes +# target top memory usage during activitysim run (including shared memory, loaded tables, and transient memory usage) +#chunk_size: 12_000_000_000 +chunk_size: 0 + +# minimum fraction of total chunk_size to reserve for adaptive chunking +min_available_chunk_ratio: 0.05 + +# initial number of chooser rows for first chunk in training mode +# when there is no pre-existing chunk_cache to set initial value +# ordinarily bigger is better as long as it is not so big it causes memory issues (e.g. accessibility with lots of zones) +default_initial_rows_per_chunk: 500 + +# method to calculate memory overhead when chunking is enabled +chunk_method: hybrid_uss + +# chunk training mode +# training to determine the chunking settings written to a cache file that is re-used for production runs +# training +# production +# disabled +# assume enough RAM to not chunk +chunk_training_mode: disabled + +# whether to preserve or delete subprocess chunk and mem logs when they are consolidated at end of multiprocess run +keep_chunk_logs: True +keep_mem_logs: True + +############## + +# - tracing + +# trace household id; comment out or leave empty for no trace +# households with all tour types +# [ 728370 1234067 1402924 1594625 1595333 1747572 1896849 1931818 2222690 2344951 2677154] +trace_hh_id: 982875 + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +# trace_od: [5, 11] +trace_od: + + + +# to resume after last successful checkpoint, specify resume_after: _ +#resume_after: trip_destination +resume_after: + +checkpoints: True +# if checkpoints is False, no intermediate checkpoints will be written before the end of run +# (or if multiprocessing, at the end of each multiprocess_step) +#checkpoints: False +# explicit list of models to checkpoint +#checkpoints: +# - mandatory_tour_scheduling +# - non_mandatory_tour_scheduling +# - trip_mode_choice + + +models: + - initialize_landuse + - initialize_households + - compute_accessibility + - school_location + - workplace_location + - auto_ownership_simulate + - vehicle_type_choice + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - vehicle_allocation + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + - write_data_dictionary + - track_skim_usage + - write_trip_matrices + - write_tables + +output_tables: + h5_store: False + action: include + prefix: final_ + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - joint_tour_participants + - vehicles + +# area_types less than this are considered urban +urban_threshold: 4 +cbd_threshold: 2 +rural_threshold: 6 + +# - value of time +min_value_of_time: 1 +max_value_of_time: 50 +distributed_vot_mu: 0.684 +distributed_vot_sigma: 0.85 + +household_median_value_of_time: + 1: 6.01 + 2: 8.81 + 3: 10.44 + 4: 12.86 diff --git a/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.csv b/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.csv new file mode 100644 index 0000000000..2ba4c6d0df --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.csv @@ -0,0 +1,344 @@ +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * df.sov_auto_op_cost * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * df.sov_auto_op_cost * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * df.sr2_auto_op_cost * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * df.sr2_auto_op_cost * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * df.sr3p_auto_op_cost * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * df.sr3p_auto_op_cost * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, +#,Walk,,,,,,,,,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +#,Bike,,,,,,,,,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/100 + dot_skims['WLK_LOC_WLK_TOTIVT']/100),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/100 + dot_skims['WLK_LOC_WLK_XWAIT']/100),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/100 + dot_skims['WLK_LOC_WLK_WAUX']/100),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, +#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/100 + dot_skims['WLK_LRF_WLK_TOTIVT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +#, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_WLK_KEYIVT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/100 + dot_skims['WLK_LRF_WLK_XWAIT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/100 + dot_skims['WLK_LRF_WLK_WAUX']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, +#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/100 + dot_skims['WLK_EXP_WLK_TOTIVT']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_WLK_KEYIVT']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/100 + dot_skims['WLK_EXP_WLK_XWAIT']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/100 + dot_skims['WLK_EXP_WLK_WAUX']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, +#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/100 + dot_skims['WLK_HVY_WLK_TOTIVT']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_WLK_KEYIVT']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/100 + dot_skims['WLK_HVY_WLK_XWAIT']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/100 + dot_skims['WLK_HVY_WLK_WAUX']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, +#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/100 + dot_skims['WLK_COM_WLK_TOTIVT']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_WLK_KEYIVT']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/100 + dot_skims['WLK_COM_WLK_XWAIT']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/100 + dot_skims['WLK_COM_WLK_WAUX']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, +#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/100 + dot_skims['WLK_LOC_DRV_TOTIVT']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/100 + dot_skims['WLK_LOC_DRV_XWAIT']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/100 + dot_skims['WLK_LOC_DRV_DTIM']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/100 + dot_skims['WLK_LOC_DRV_WAUX']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/100+dot_skims['WLK_LOC_DRV_DDIST']/100) * df.sov_auto_op_cost)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/100+ dot_skims['WLK_LOC_DRV_DDIST']/100)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, +#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/100 + dot_skims['WLK_LRF_DRV_TOTIVT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_DRV_KEYIVT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_DRV_FERRYIVT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/100 + dot_skims['WLK_LRF_DRV_XWAIT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/100 + dot_skims['WLK_LRF_DRV_DTIM']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/100 + dot_skims['WLK_LRF_DRV_WAUX']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/100+dot_skims['WLK_LRF_DRV_DDIST']/100) * df.sov_auto_op_cost)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/100+ dot_skims['WLK_LRF_DRV_DDIST']/100)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, +#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/100 + dot_skims['WLK_EXP_DRV_TOTIVT']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_DRV_KEYIVT']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/100 + dot_skims['WLK_EXP_DRV_XWAIT']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/100 + dot_skims['WLK_EXP_DRV_DTIM']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/100 + dot_skims['WLK_EXP_DRV_WAUX']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/100+dot_skims['WLK_EXP_DRV_DDIST']/100) * df.sov_auto_op_cost)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/100+ dot_skims['WLK_EXP_DRV_DDIST']/100)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, +util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, +#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/100 + dot_skims['WLK_HVY_DRV_TOTIVT']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_DRV_KEYIVT']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/100 + dot_skims['WLK_HVY_DRV_XWAIT']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/100 + dot_skims['WLK_HVY_DRV_DTIM']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/100 + dot_skims['WLK_HVY_DRV_WAUX']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/100+dot_skims['WLK_HVY_DRV_DDIST']/100) * df.sov_auto_op_cost)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/100) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, +util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, +#,Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/100 + dot_skims['WLK_COM_DRV_TOTIVT']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_DRV_KEYIVT']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/100 + dot_skims['WLK_COM_DRV_XWAIT']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/100 + dot_skims['WLK_COM_DRV_DTIM']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/100 + dot_skims['WLK_COM_DRV_WAUX']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/100+dot_skims['WLK_COM_DRV_DDIST']/100) * df.sov_auto_op_cost)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/100 + dot_skims['WLK_COM_DRV_DDIST']/100)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,coef_ivt,, + util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.totalWaitTaxi,,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,,,,,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,,,,,,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,,,,,local_bus_ASC,,,,,,, +util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, +util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, +util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, +util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, +util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, +util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, +util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, +util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, +util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, +#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, +util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, +#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, diff --git a/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.yaml new file mode 100644 index 0000000000..19f5014fcc --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.yaml @@ -0,0 +1,198 @@ +# tour_mode_choice.yaml + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coefficients.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv + +LOGIT_TYPE: NL + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - name: DRIVEALONE + coefficient: coef_nest_AUTO_DRIVEALONE + alternatives: + - DRIVEALONEFREE + - DRIVEALONEPAY + - name: SHAREDRIDE2 + coefficient: coef_nest_AUTO_SHAREDRIDE2 + alternatives: + - SHARED2FREE + - SHARED2PAY + - name: SHAREDRIDE3 + coefficient: coef_nest_AUTO_SHAREDRIDE3 + alternatives: + - SHARED3FREE + - SHARED3PAY + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - name: WALKACCESS + coefficient: coef_nest_TRANSIT_WALKACCESS + alternatives: + - WALK_LOC + - WALK_LRF + - WALK_EXP + - WALK_HVY + - WALK_COM + - name: DRIVEACCESS + coefficient: coef_nest_TRANSIT_DRIVEACCESS + alternatives: + - DRIVE_LOC + - DRIVE_LRF + - DRIVE_EXP + - DRIVE_HVY + - DRIVE_COM + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +CONSTANTS: + #valueOfTime: 8.00 + costPerMile: 18.29 + costShareSr2: 1.75 + costShareSr3: 2.50 + waitThresh: 10.00 + walkThresh: 1.50 + shortWalk: 0.333 + longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 6.00 + bikeSpeed: 12.00 + maxCbdAreaTypeThresh: 2 + indivTour: 1.00000 + upperEA: 5 + upperAM: 10 + upperMD: 15 + upperPM: 19 + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 + + ivt_cost_multiplier: 0.6 + ivt_lrt_multiplier: 0.9 + ivt_ferry_multiplier: 0.8 + ivt_exp_multiplier: 1 + ivt_hvy_multiplier: 0.8 + ivt_com_multiplier: 0.7 + walktimeshort_multiplier: 2 + walktimelong_multiplier: 10 + biketimeshort_multiplier: 4 + biketimelong_multiplier: 20 + short_i_wait_multiplier: 2 + long_i_wait_multiplier: 1 + wacc_multiplier: 2 + wegr_multiplier: 2 + waux_multiplier: 2 + dtim_multiplier: 2 + xwait_multiplier: 2 + dacc_ratio: 0 + xfers_wlk_multiplier: 10 + xfers_drv_multiplier: 20 + drvtrn_distpen_0_multiplier: 270 + drvtrn_distpen_max: 15 + density_index_multiplier: -0.2 +# joint_sr2_ASC_no_auto: 0 +# joint_sr2_ASC_auto_deficient: 0 +# joint_sr2_ASC_auto_sufficient: 0 +# joint_drive_transit_ASC_no_auto: 0 + ridehail_wait_time_multiplier: 1.5 + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - vehicles + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +annotate_tours: + SPEC: annotate_tours_tour_mode_choice + DF: choosers + TABLES: + - tours + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice_annotate_choosers_preprocessor.csv new file mode 100644 index 0000000000..282a5accb7 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -0,0 +1,101 @@ +Description,Target,Expression +#,, +local,_DF_IS_TOUR,'tour_type' in df.columns +,number_of_participants,df.number_of_participants if _DF_IS_TOUR else 1 +,is_joint,(df.tour_category=='joint') if _DF_IS_TOUR else False +#,, + local,_HAVE_PARENT_TOURS,'parent_tour_id' in df.columns +,_parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id) if _HAVE_PARENT_TOURS else ''" +,work_tour_is_drive,"_parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" +,work_tour_is_bike,_parent_tour_mode=='BIKE' +,work_tour_is_SOV,"_parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" +#,, +,is_mandatory,(df.tour_category=='mandatory') if 'tour_category' in df.columns else False +,is_joint,(df.tour_category=='joint') if 'tour_category' in df.columns else False +,is_indiv,~is_joint +,is_atwork_subtour,(df.tour_category=='atwork') if 'tour_category' in df.columns else False +,is_escort,(df.tour_type == 'escort') if _DF_IS_TOUR else False +#Auto operating costs,, +,parent_tour_veh,"reindex(tours['selected_vehicle'], df['parent_tour_id']) if 'selected_vehicle' in df.columns else np.nan" +,sov_veh_option,"np.where(is_atwork_subtour, parent_tour_veh, df.get('vehicle_occup_1', np.nan))" +,sr2_veh_option,"np.where(is_atwork_subtour, parent_tour_veh, df.get('vehicle_occup_2', np.nan))" +,sr3p_veh_option,"np.where(is_atwork_subtour, parent_tour_veh, df.get('vehicle_occup_3.5', np.nan))" +,sov_auto_op_cost,"reindex(vehicles.groupby('vehicle_type')['auto_operating_cost'].mean(), pd.Series(sov_veh_option, df.index)) if 'vehicle_occup_1' in df.columns else np.nan" +,sov_auto_op_cost,"np.where(sov_auto_op_cost.isna() | (pd.Series(sov_veh_option, df.index) == 'non_hh_veh'), costPerMile, sov_auto_op_cost)" +,sr2_auto_op_cost,"reindex(vehicles.groupby('vehicle_type')['auto_operating_cost'].mean(), pd.Series(sr2_veh_option, df.index)) if 'vehicle_occup_2' in df.columns else np.nan" +,sr2_auto_op_cost,"np.where(sr2_auto_op_cost.isna() | (pd.Series(sr2_veh_option, df.index) == 'non_hh_veh'), costPerMile, sr2_auto_op_cost)" +,sr3p_auto_op_cost,"reindex(vehicles.groupby('vehicle_type')['auto_operating_cost'].mean(), pd.Series(sr3p_veh_option, df.index)) if 'vehicle_occup_3.5' in df.columns else np.nan" +,sr3p_auto_op_cost,"np.where(sr3p_auto_op_cost.isna() | (pd.Series(sr3p_veh_option, df.index) == 'non_hh_veh'), costPerMile, sr3p_auto_op_cost)" +# FIXME why inverse of value of time? need better name?,, +#,c_cost,(0.60 * c_ivt) / df.value_of_time +# ivot * (c_ivt_cost_multiplier * c_ivt) +,ivot,1.0 / df.value_of_time +#,, +,dest_topology,"reindex(land_use.TOPOLOGY, df[dest_col_name])" +,terminal_time,"reindex(land_use.TERMINAL, df[dest_col_name])" +,dest_density_index,"reindex(land_use.density_index, df[dest_col_name])" +# FIXME no transit subzones for ONE_ZONE version so all zones short walk to transit,, +,_origin_distance_to_transit,"reindex(land_use.access_dist_transit, df[orig_col_name]) if 'access_dist_transit' in land_use else shortWalk" +,_destination_distance_to_transit,"reindex(land_use.access_dist_transit, df[dest_col_name]) if 'access_dist_transit' in land_use else shortWalk" +,walk_transit_available,(_origin_distance_to_transit > 0) & (_destination_distance_to_transit > 0) +,drive_transit_available,(_destination_distance_to_transit > 0) & (df.auto_ownership > 0) +,origin_walk_time,_origin_distance_to_transit*60/walkSpeed +,destination_walk_time,_destination_distance_to_transit*60/walkSpeed +# RIDEHAIL,, +,origin_density_measure,"(reindex(land_use.TOTPOP, df[orig_col_name]) + reindex(land_use.TOTEMP, df[orig_col_name])) / (reindex(land_use.TOTACRE, df[orig_col_name]) / 640)" +,dest_density_measure,"(reindex(land_use.TOTPOP, df[dest_col_name]) + reindex(land_use.TOTEMP, df[dest_col_name])) / (reindex(land_use.TOTACRE, df[dest_col_name]) / 640)" +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +# ,, Note that the mean and standard deviation are not the values for the distribution itself but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime +,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime +,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime +#,, +,_free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work if _DF_IS_TOUR else False +,_dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[dest_col_name])" +,_dest_hourly_offpeak_parking_cost,"reindex(land_use.OPRKCST, df[dest_col_name])" +,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)" +,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)" +,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost * df.duration, _hourly_offpeak_parking_cost * df.duration)" +#,, +,distance,od_skims['DIST'] +,sov_available,(odt_skims['SOV_TIME']>0) & (dot_skims['SOV_TIME']>0) +,sovtoll_available,(odt_skims['SOVTOLL_VTOLL']>0) | (dot_skims['SOVTOLL_VTOLL']>0) +,hov2_available,(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME'])>0 +,hov2toll_available,(odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL'])>0 +,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) +,hov3toll_available,(odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL'])>0 +,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/100>0) +,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/100>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_WLK_KEYIVT']/100)>0) +,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/100>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_WLK_KEYIVT']/100)>0) +,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/100>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_WLK_KEYIVT']/100)>0) +,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_WLK_KEYIVT']/100)>0) +,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100)>0) +,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/100>0) +,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/100>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_DRV_KEYIVT']/100)>0) +,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/100>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_DRV_KEYIVT']/100)>0) +,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/100>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_DRV_KEYIVT']/100)>0) +,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_DRV_KEYIVT']/100)>0) +,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100)>0) +#,, +destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, df[dest_col_name]) < setting('cbd_threshold')) * 1" +#,,FIXME diagnostic +#,sov_dist_rt,(odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']) diff --git a/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.csv b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.csv new file mode 100644 index 0000000000..0253954dbb --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.csv @@ -0,0 +1,405 @@ +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * df.auto_op_cost * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * df.auto_op_cost * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * df.auto_op_cost * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * df.auto_op_cost * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * df.auto_op_cost * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,,,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,,,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,,,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * df.auto_op_cost * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,,,,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, +#,Walk,,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +#,Bike,,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/100,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/100,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/100,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, +#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, +#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, +#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, +#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn,,,,,,,, +#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, +util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + df.auto_op_cost*odt_skims['DRV_LOC_WLK_DDIST']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/100)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + df.auto_op_cost*odt_skims['WLK_LOC_DRV_DDIST']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/100)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, +#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, +util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + df.auto_op_cost * odt_skims['DRV_LRF_WLK_DDIST']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/100) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + df.auto_op_cost * odt_skims['WLK_LRF_DRV_DDIST']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/100)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, +#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, +util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + df.auto_op_cost * odt_skims['DRV_EXP_WLK_DDIST']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/100) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + df.auto_op_cost * odt_skims['WLK_EXP_DRV_DDIST']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/100) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, +#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, +util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + df.auto_op_cost * odt_skims['DRV_HVY_WLK_DDIST']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/100) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + df.auto_op_cost * odt_skims['WLK_HVY_DRV_DDIST']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/100)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, +#,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, +util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + df.auto_op_cost * odt_skims['DRV_COM_WLK_DDIST']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/100) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + df.auto_op_cost * odt_skims['WLK_COM_DRV_DDIST']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/100) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#,#TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,,,,,,,,,,,,,,,,,,,,,,, +util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, +util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,, +util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, +,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh +util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh +util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh +util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh +util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,,,,,,,,,, +util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh +util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_express,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,walk_transit_ASC_heavyrail,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,walk_transit_ASC_commuter,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh +util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_lightrail,,,,,, +util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_ferry,,,,,, +util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,drive_transit_ASC_express,,,,, +util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,drive_transit_ASC_heavyrail,,,, +util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,drive_transit_ASC_commuter,,, +util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh +util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,,,,,,, +util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,ride_hail_ASC_taxi,, +util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_single, +util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_shared +#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh +util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh +util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_express,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,joint_walk_transit_ASC_heavyrail,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,joint_walk_transit_ASC_commuter,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh +util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_lightrail,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_ferry,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,joint_drive_transit_ASC_express,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,joint_drive_transit_ASC_heavyrail,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_commuter,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_taxi,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared +#,#,,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, +util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt +util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.yaml b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.yaml new file mode 100644 index 0000000000..7127618637 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.yaml @@ -0,0 +1,209 @@ +# trip_mode_choice.yaml + +SPEC: trip_mode_choice.csv +COEFFICIENTS: trip_mode_choice_coefficients.csv +COEFFICIENT_TEMPLATE: trip_mode_choice_coefficients_template.csv + +LOGIT_TYPE: NL + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - name: DRIVEALONE + coefficient: coef_nest_AUTO_DRIVEALONE + alternatives: + - DRIVEALONEFREE + - DRIVEALONEPAY + - name: SHAREDRIDE2 + coefficient: coef_nest_AUTO_SHAREDRIDE2 + alternatives: + - SHARED2FREE + - SHARED2PAY + - name: SHAREDRIDE3 + coefficient: coef_nest_AUTO_SHAREDRIDE3 + alternatives: + - SHARED3FREE + - SHARED3PAY + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - name: WALKACCESS + coefficient: coef_nest_TRANSIT_WALKACCESS + alternatives: + - WALK_LOC + - WALK_LRF + - WALK_EXP + - WALK_HVY + - WALK_COM + - name: DRIVEACCESS + coefficient: coef_nest_TRANSIT_DRIVEACCESS + alternatives: + - DRIVE_LOC + - DRIVE_LRF + - DRIVE_EXP + - DRIVE_HVY + - DRIVE_COM + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +CONSTANTS: + orig_col_name: origin + dest_col_name: destination + costPerMile: 18.29 + costShareSr2: 1.75 + costShareSr3: 2.50 + waitThresh: 10.00 + walkThresh: 1.00 + shortWalk: 0.333 + longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 6.00 + bikeSpeed: 12.00 +# maxCbdAreaTypeThresh: 2 +# indivTour: 1.00000 +# upperEA: 5 +# upperAM: 10 +# upperMD: 15 +# upperPM: 19 + I_MODE_MAP: + DRIVEALONEFREE: 1 + DRIVEALONEPAY: 2 + SHARED2FREE: 3 + SHARED2PAY: 4 + SHARED3FREE: 5 + SHARED3PAY: 6 + WALK: 7 + BIKE: 8 + WALK_LOC: 9 + WALK_LRF: 10 + WALK_EXP: 11 + WALK_HVY: 12 + WALK_COM: 13 + DRIVE_LOC: 14 + DRIVE_LRF: 15 + DRIVE_EXP: 16 + DRIVE_HVY: 17 + DRIVE_COM: 18 + TAXI: 19 + TNC_SINGLE: 20 + TNC_SHARED: 21 + I_SOV_MODES: [1, 2] + I_SR2_MODES: [3, 4] + I_SR3P_MODES: [5, 6] + I_AUTO_MODES: [1, 2, 3, 4, 5, 6] + I_WALK_MODE: 7 + I_BIKE_MODE: 8 + I_WALK_TRANSIT_MODES: [9, 10, 11, 12, 13] + I_DRIVE_TRANSIT_MODES: [14, 15, 16, 17, 18] + I_RIDE_HAIL_MODES: [19, 20, 21] + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 + ivt_cost_multiplier: 0.6 + topology_bike_multiplier: 20 + topology_trn_multiplier: 2.20 + topology_walk_multiplier: 15 + ridehail_wait_time_multiplier: 1.5 + walktimelong_multiplier: 5 + biketimelong_multiplier: 5 + xfers_wlk_multiplier: 5 + xfers_drv_multiplier: 15 + dacc_ratio_multiplier: 0 + density_index_multiplier: -5 + origin_density_index_multiplier: -15 + origin_density_index_max: -15 + ivt_com_multiplier: 0.80 + ivt_exp_multiplier: -0.0175 + ivt_hvy_multiplier: 0.80 + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: trip_mode_choice_annotate_trips_preprocessor + DF: df + TABLES: + - land_use + - tours + - vehicles + +# - SPEC: trip_mode_choice_annotate_trips_preprocessor2 +# DF: df +# TABLES: +# - land_use + +# to reduce memory needs filter chooser table to these fields +TOURS_MERGED_CHOOSER_COLUMNS: + - hhsize + - age + - auto_ownership + - number_of_participants + - tour_category + - parent_tour_id + - tour_mode + - duration + - value_of_time + - tour_type + - free_parking_at_work + + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice_annotate_trips_preprocessor.csv new file mode 100644 index 0000000000..cc1f223d57 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice_annotate_trips_preprocessor.csv @@ -0,0 +1,93 @@ +Description,Target,Expression +,is_joint,(df.number_of_participants > 1) +,is_indiv,(df.number_of_participants == 1) +,is_atwork_subtour,~df.parent_tour_id.isnull() +,ivot,1.0 / df.value_of_time +#,, +#atwork subtours,, +#FIXME tripModeChoice uec wrongly conflates these with tour_mode_is_bike?,, +,parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id).fillna('')" +,work_tour_is_SOV,"parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" +,work_tour_is_bike,parent_tour_mode=='BIKE' +#,, +,i_tour_mode,df.tour_mode.map(I_MODE_MAP) +,tour_mode_is_SOV,i_tour_mode.isin(I_SOV_MODES) +,tour_mode_is_auto,i_tour_mode.isin(I_AUTO_MODES) +,tour_mode_is_walk,i_tour_mode == I_WALK_MODE +,tour_mode_is_bike,i_tour_mode == I_BIKE_MODE +,tour_mode_is_walk_transit,i_tour_mode.isin(I_WALK_TRANSIT_MODES) +,tour_mode_is_drive_transit,i_tour_mode.isin(I_DRIVE_TRANSIT_MODES) +,tour_mode_is_ride_hail,i_tour_mode.isin(I_RIDE_HAIL_MODES) +#,, +,selected_tour_vehicle,"reindex(tours.selected_vehicle, df.tour_id)" +,auto_op_cost,"reindex(vehicles.groupby('vehicle_type')['auto_operating_cost'].mean(), pd.Series(selected_tour_vehicle, df.index))" +,auto_op_cost,"np.where(pd.isna(auto_op_cost), costPerMile, auto_op_cost)" +,inbound,~df.outbound +,first_trip,df.trip_num == 1 +,last_trip,df.trip_num == df.trip_count +origin terminal time not counted at home,_origin_terminal_time,"np.where(df.outbound & first_trip, 0, reindex(land_use.TERMINAL, df[ORIGIN]))" +dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & last_trip, 0, reindex(land_use.TERMINAL, df[DESTINATION]))" +,total_terminal_time,_origin_terminal_time + _dest_terminal_time +#,, +,free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work +,dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[DESTINATION])" +,origin_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[ORIGIN])" +,origin_duration,"np.where(first_trip, np.where(inbound,df.duration * ~free_parking_available,0), 1)" +,dest_duration,"np.where(last_trip, np.where(inbound, df.duration * ~free_parking_available, 0), 1)" +,origin_parking_cost,origin_duration*origin_hourly_peak_parking_cost +,dest_parking_cost,dest_duration*dest_hourly_peak_parking_cost +,total_parking_cost,(origin_parking_cost + dest_parking_cost) / 2.0 +,trip_topology,"np.where(df.outbound, reindex(land_use.TOPOLOGY, df[DESTINATION]), reindex(land_use.TOPOLOGY, df[ORIGIN]))" +,density_index,"np.where(df.outbound, reindex(land_use.density_index, df[DESTINATION]), reindex(land_use.density_index, df[ORIGIN]))" +,origin_density_index,"np.where(df.outbound, reindex(land_use.density_index, df[ORIGIN]), reindex(land_use.density_index, df[DESTINATION]))" +# FIXME no transit subzones so all zones short walk to transit,, +,_walk_transit_origin,True +,_walk_transit_destination,True +,walk_transit_available,_walk_transit_origin & _walk_transit_destination +,drive_transit_available,"np.where(df.outbound, _walk_transit_destination, _walk_transit_origin) & (df.auto_ownership > 0)" +,origin_walk_time,shortWalk*60/walkSpeed +,destination_walk_time,shortWalk*60/walkSpeed +# RIDEHAIL,, +,origin_density_measure,"(reindex(land_use.TOTPOP, df[orig_col_name]) + reindex(land_use.TOTEMP, df[orig_col_name])) / (reindex(land_use.TOTACRE, df[orig_col_name]) / 640)" +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +#,, +,sov_available,odt_skims['SOV_TIME']>0 +,hov2_available,odt_skims['HOV2_TIME']>0 +,hov3_available,odt_skims['HOV3_TIME']>0 +,sovtoll_available,odt_skims['SOVTOLL_VTOLL']>0 +,hov2toll_available,odt_skims['HOV2TOLL_VTOLL']>0 +,hov3toll_available,odt_skims['HOV3TOLL_VTOLL']>0 +,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/100>0) +,walk_lrf_available,walk_transit_available & (i_tour_mode >= 10) & (odt_skims['WLK_LRF_WLK_KEYIVT']/100>0) +,walk_express_available,walk_transit_available & (i_tour_mode >= 11) & (odt_skims['WLK_EXP_WLK_KEYIVT']/100>0) +,walk_heavyrail_available,walk_transit_available & (i_tour_mode >= 12) & (odt_skims['WLK_HVY_WLK_KEYIVT']/100>0) +,walk_commuter_available,walk_transit_available & (i_tour_mode >= 13) & (odt_skims['WLK_COM_WLK_KEYIVT']/100>0) +,drive_local_available_outbound,drive_transit_available & df.outbound & (odt_skims['DRV_LOC_WLK_TOTIVT']/100>0) +,drive_local_available_inbound,drive_transit_available & ~df.outbound & (odt_skims['WLK_LOC_DRV_TOTIVT']/100>0) +,drive_lrf_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 15) & (odt_skims['DRV_LRF_WLK_KEYIVT']/100>0) +,drive_lrf_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 15) & (odt_skims['WLK_LRF_DRV_KEYIVT']/100>0) +,drive_express_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 16) & (odt_skims['DRV_EXP_WLK_KEYIVT']/100>0) +,drive_express_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 16) & (odt_skims['WLK_EXP_DRV_KEYIVT']/100>0) +,drive_heavyrail_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 17) & (odt_skims['DRV_HVY_WLK_KEYIVT']/100>0) +,drive_heavyrail_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 17) & (odt_skims['WLK_HVY_DRV_KEYIVT']/100>0) +,drive_commuter_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 18) & (odt_skims['DRV_COM_WLK_KEYIVT']/100>0) +,drive_commuter_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 18) & (odt_skims['WLK_COM_DRV_KEYIVT']/100>0) +,walk_ferry_available,walk_lrf_available & (odt_skims['WLK_LRF_WLK_FERRYIVT']/100>0) +,_drive_ferry_available_outbound,drive_lrf_available_outbound & (odt_skims['DRV_LRF_WLK_FERRYIVT']/100>0) +,_drive_ferry_available_inbound,drive_lrf_available_inbound & (odt_skims['WLK_LRF_DRV_FERRYIVT']/100>0) +,drive_ferry_available,"np.where(df.outbound, _drive_ferry_available_outbound, _drive_ferry_available_inbound)" +#,od_dist_walk,od_skims['DISTWALK'] +#,do_dist_walk,od_skims.reverse('DISTWALK') +#,max_dist_walk,od_skims.max('DISTWALK') +#,dist_bike,od_skims['DISTBIKE'] +#,dist_only,od_skims['DIST'] diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation.csv new file mode 100644 index 0000000000..7a4bd77971 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation.csv @@ -0,0 +1,174 @@ +Label,Description,Expression,veh_num1,veh_num2,veh_num3,veh_num4,non_hh_veh +#,Availability Conditions,,,, +util_alt1_unavail,Household does not own vehicle,"veh_num1.isna() | (veh_num1 == '')",coef_unavail,0,0,0,0 +util_alt2_unavail,Household does not own vehicle,"veh_num2.isna() | (veh_num2 == '')",0,coef_unavail,0,0,0 +util_alt3_unavail,Household does not own vehicle,"veh_num3.isna() | (veh_num3 == '')",0,0,coef_unavail,0,0 +util_alt4_unavail,Household does not own vehicle,"veh_num4.isna() | (veh_num4 == '')",0,0,0,coef_unavail,0 +#,BEV Range,,,, +util_dstgtrng1,Round trip tour distance > BEV range,"@np.where((df.tot_tour_dist > df.Range_1) & (df.fuel_type_1 == 'BEV'), 1, 0)",coef_dstgtrng,0,0,0,0 +util_dstgtrng2,Round trip tour distance > BEV range,"@np.where((df.tot_tour_dist > df.Range_2) & (df.fuel_type_2 == 'BEV'), 1, 0)",0,coef_dstgtrng,0,0,0 +util_dstgtrng3,Round trip tour distance > BEV range,"@np.where((df.tot_tour_dist > df.Range_3) & (df.fuel_type_3 == 'BEV'), 1, 0)",0,0,coef_dstgtrng,0,0 +util_dstgtrng4,Round trip tour distance > BEV range,"@np.where((df.tot_tour_dist > df.Range_4) & (df.fuel_type_4 == 'BEV'), 1, 0)",0,0,0,coef_dstgtrng,0 +#,Vehicles & Driver interactions,,,, +util_vehltdr_nh,Vehicles < Drivers -- Non-Household Vehicle,"hh_veh_lt_drivers",0,0,0,0,coef_vehltdr_nh +util_vehltdr_nh,Vehicles > Drivers -- Non-Household Vehicle,"hh_veh_gt_drivers",0,0,0,0,coef_vehgtdr_nh +util_vehltdr_van1,Vehicles > Drivers -- Van alt 1,"hh_veh_gt_drivers * (body_type_1 == 'Van')",coef_vehltdr_van,0,0,0,0 +util_vehltdr_van2,Vehicles > Drivers -- Van alt 2,"hh_veh_gt_drivers * (body_type_2 == 'Van')",0,coef_vehltdr_van,0,0,0 +util_vehltdr_van3,Vehicles > Drivers -- Van alt 3,"hh_veh_gt_drivers * (body_type_3 == 'Van')",0,0,coef_vehltdr_van,0,0 +util_vehltdr_van4,Vehicles > Drivers -- Van alt 4,"hh_veh_gt_drivers * (body_type_4 == 'Van')",0,0,0,coef_vehltdr_van,0 +util_vehltdr_suv1,Vehicles > Drivers -- SUV alt 1,"hh_veh_gt_drivers * (body_type_1 == 'SUV')",coef_vehltdr_suv,0,0,0,0 +util_vehltdr_suv2,Vehicles > Drivers -- SUV alt 2,"hh_veh_gt_drivers * (body_type_2 == 'SUV')",0,coef_vehltdr_suv,0,0,0 +util_vehltdr_suv3,Vehicles > Drivers -- SUV alt 3,"hh_veh_gt_drivers * (body_type_3 == 'SUV')",0,0,coef_vehltdr_suv,0,0 +util_vehltdr_suv4,Vehicles > Drivers -- SUV alt 4,"hh_veh_gt_drivers * (body_type_4 == 'SUV')",0,0,0,coef_vehltdr_suv,0 +util_vehltdr_pu1,Vehicles > Drivers -- Pickup alt 1,"hh_veh_gt_drivers * (body_type_1 == 'Pickup')",coef_vehltdr_pu,0,0,0,0 +util_vehltdr_pu2,Vehicles > Drivers -- Pickup alt 2,"hh_veh_gt_drivers * (body_type_2 == 'Pickup')",0,coef_vehltdr_pu,0,0,0 +util_vehltdr_pu3,Vehicles > Drivers -- Pickup alt 3,"hh_veh_gt_drivers * (body_type_3 == 'Pickup')",0,0,coef_vehltdr_pu,0,0 +util_vehltdr_pu4,Vehicles > Drivers -- Pickup alt 4,"hh_veh_gt_drivers * (body_type_4 == 'Pickup')",0,0,0,coef_vehltdr_pu,0 +util_vehltdr_mc1,Vehicles > Drivers -- Motorcycle alt 1,"hh_veh_gt_drivers * (body_type_1 == 'Motorcycle')",coef_vehltdr_mc,0,0,0,0 +util_vehltdr_mc2,Vehicles > Drivers -- Motorcycle alt 2,"hh_veh_gt_drivers * (body_type_2 == 'Motorcycle')",0,coef_vehltdr_mc,0,0,0 +util_vehltdr_mc3,Vehicles > Drivers -- Motorcycle alt 3,"hh_veh_gt_drivers * (body_type_3 == 'Motorcycle')",0,0,coef_vehltdr_mc,0,0 +util_vehltdr_mc4,Vehicles > Drivers -- Motorcycle alt 4,"hh_veh_gt_drivers * (body_type_4 == 'Motorcycle')",0,0,0,coef_vehltdr_mc,0 +util_vehltdr_hyb1,Vehicles > Drivers -- Hybrid alt 1,"hh_veh_gt_drivers * (fuel_type_1 == 'Hybrid')",coef_vehltdr_hyb,0,0,0,0 +util_vehltdr_hyb2,Vehicles > Drivers -- Hybrid alt 2,"hh_veh_gt_drivers * (fuel_type_2 == 'Hybrid')",0,coef_vehltdr_hyb,0,0,0 +util_vehltdr_hyb3,Vehicles > Drivers -- Hybrid alt 3,"hh_veh_gt_drivers * (fuel_type_3 == 'Hybrid')",0,0,coef_vehltdr_hyb,0,0 +util_vehltdr_hyb4,Vehicles > Drivers -- Hybrid alt 4,"hh_veh_gt_drivers * (fuel_type_4 == 'Hybrid')",0,0,0,coef_vehltdr_hyb,0 +util_vehltdr_ev1,Vehicles > Drivers -- Hybrid alt 1,"hh_veh_gt_drivers * ((fuel_type_1=='PEV') | (fuel_type_1=='BEV'))",coef_vehltdr_ev,0,0,0,0 +util_vehltdr_ev2,Vehicles > Drivers -- Hybrid alt 2,"hh_veh_gt_drivers * ((fuel_type_2=='PEV') | (fuel_type_2=='BEV'))",0,coef_vehltdr_ev,0,0,0 +util_vehltdr_ev3,Vehicles > Drivers -- Hybrid alt 3,"hh_veh_gt_drivers * ((fuel_type_3=='PEV') | (fuel_type_3=='BEV'))",0,0,coef_vehltdr_ev,0,0 +util_vehltdr_ev4,Vehicles > Drivers -- Hybrid alt 4,"hh_veh_gt_drivers * ((fuel_type_4=='PEV') | (fuel_type_4=='BEV'))",0,0,0,coef_vehltdr_ev,0 +util_vehltdr_age1,Vehicles > Drivers -- Age alt 1,"hh_veh_gt_drivers * age_1",coef_vehltdr_age,0,0,0,0 +util_vehltdr_age2,Vehicles > Drivers -- Age alt 2,"hh_veh_gt_drivers * age_2",0,coef_vehltdr_age,0,0,0 +util_vehltdr_age3,Vehicles > Drivers -- Age alt 3,"hh_veh_gt_drivers * age_3",0,0,coef_vehltdr_age,0,0 +util_vehltdr_age4,Vehicles > Drivers -- Age alt 4,"hh_veh_gt_drivers * age_4",0,0,0,coef_vehltdr_age,0 +#,Occupancy interactions,,,, +util_maxocc_van1,Maximum Occupancy -- Van alt 1,"@occup * (df.body_type_1 == 'Van')",coef_maxocc_van,0,0,0,0 +util_maxocc_van2,Maximum Occupancy -- Van alt 2,"@occup * (df.body_type_2 == 'Van')",0,coef_maxocc_van,0,0,0 +util_maxocc_van3,Maximum Occupancy -- Van alt 3,"@occup * (df.body_type_3 == 'Van')",0,0,coef_maxocc_van,0,0 +util_maxocc_van4,Maximum Occupancy -- Van alt 4,"@occup * (df.body_type_4 == 'Van')",0,0,0,coef_maxocc_van,0 +util_maxocc_suv1,Maximum Occupancy -- SUV alt 1,"@occup * (df.body_type_1 == 'SUV')",coef_maxocc_suv,0,0,0,0 +util_maxocc_suv2,Maximum Occupancy -- SUV alt 2,"@occup * (df.body_type_2 == 'SUV')",0,coef_maxocc_suv,0,0,0 +util_maxocc_suv3,Maximum Occupancy -- SUV alt 3,"@occup * (df.body_type_3 == 'SUV')",0,0,coef_maxocc_suv,0,0 +util_maxocc_suv4,Maximum Occupancy -- SUV alt 4,"@occup * (df.body_type_4 == 'SUV')",0,0,0,coef_maxocc_suv,0 +util_maxocc_pu1,Maximum Occupancy -- Pickup alt 1,"@occup * (df.body_type_1 == 'Pickup')",coef_maxocc_pu,0,0,0,0 +util_maxocc_pu2,Maximum Occupancy -- Pickup alt 2,"@occup * (df.body_type_2 == 'Pickup')",0,coef_maxocc_pu,0,0,0 +util_maxocc_pu3,Maximum Occupancy -- Pickup alt 3,"@occup * (df.body_type_3 == 'Pickup')",0,0,coef_maxocc_pu,0,0 +util_maxocc_pu4,Maximum Occupancy -- Pickup alt 4,"@occup * (df.body_type_4 == 'Pickup')",0,0,0,coef_maxocc_pu,0 +util_maxocc_mc1,Maximum Occupancy -- Motorcycle alt 1,"@occup * (df.body_type_1 == 'Motorcycle')",coef_maxocc_mc,0,0,0,0 +util_maxocc_mc2,Maximum Occupancy -- Motorcycle alt 2,"@occup * (df.body_type_2 == 'Motorcycle')",0,coef_maxocc_mc,0,0,0 +util_maxocc_mc3,Maximum Occupancy -- Motorcycle alt 3,"@occup * (df.body_type_3 == 'Motorcycle')",0,0,coef_maxocc_mc,0,0 +util_maxocc_mc4,Maximum Occupancy -- Motorcycle alt 4,"@occup * (df.body_type_4 == 'Motorcycle')",0,0,0,coef_maxocc_mc,0 +util_maxocc_age1,Maximum Occupancy -- Age alt 1,"@occup * df.age_1",coef_maxocc_age,0,0,0,0 +util_maxocc_age2,Maximum Occupancy -- Age alt 2,"@occup * df.age_2",0,coef_maxocc_age,0,0,0 +util_maxocc_age3,Maximum Occupancy -- Age alt 3,"@occup * df.age_3",0,0,coef_maxocc_age,0,0 +util_maxocc_age4,Maximum Occupancy -- Age alt 4,"@occup * df.age_4",0,0,0,coef_maxocc_age,0 +util_maxocc_nh,Maximum Occupancy -- Age alt 1,"@occup",0,0,0,0,util_maxocc_nh +#,Alternative Specific Constants,,,, +util_non_hh,Non-Household Vehicle Constant,"1",0,0,0,0,coef_non_hh +util_van1,Van ASC alt 1,"(body_type_1 == 'Van')",coef_van,0,0,0,0 +util_van2,Van ASC alt 2,"(body_type_2 == 'Van')",0,coef_van,0,0,0 +util_van3,Van ASC alt 3,"(body_type_3 == 'Van')",0,0,coef_van,0,0 +util_van4,Van ASC alt 4,"(body_type_4 == 'Van')",0,0,0,coef_van,0 +util_suv1,SUV ASC alt 1,"(body_type_1 == 'SUV')",coef_suv,0,0,0,0 +util_suv2,SUV ASC alt 2,"(body_type_2 == 'SUV')",0,coef_suv,0,0,0 +util_suv3,SUV ASC alt 3,"(body_type_3 == 'SUV')",0,0,coef_suv,0,0 +util_suv4,SUV ASC alt 4,"(body_type_4 == 'SUV')",0,0,0,coef_suv,0 +util_pu1,Pickup ASC alt 1,"(body_type_1 == 'Pickup')",coef_pu,0,0,0,0 +util_pu2,Pickup ASC alt 2,"(body_type_2 == 'Pickup')",0,coef_pu,0,0,0 +util_pu3,Pickup ASC alt 3,"(body_type_3 == 'Pickup')",0,0,coef_pu,0,0 +util_pu4,Pickup ASC alt 4,"(body_type_4 == 'Pickup')",0,0,0,coef_pu,0 +util_mc1,Motorcycle ASC alt 1,"(body_type_1 == 'Motorcycle')",coef_mc,0,0,0,0 +util_mc2,Motorcycle ASC alt 2,"(body_type_2 == 'Motorcycle')",0,coef_mc,0,0,0 +util_mc3,Motorcycle ASC alt 3,"(body_type_3 == 'Motorcycle')",0,0,coef_mc,0,0 +util_mc4,Motorcycle ASC alt 4,"(body_type_4 == 'Motorcycle')",0,0,0,coef_mc,0 +util_dsl1,Diesel ASC alt 1,"(fuel_type_1 == 'Diesel')",coef_dsl,0,0,0,0 +util_dsl2,Diesel ASC alt 2,"(fuel_type_2 == 'Diesel')",0,coef_dsl,0,0,0 +util_dsl3,Diesel ASC alt 3,"(fuel_type_3 == 'Diesel')",0,0,coef_dsl,0,0 +util_dsl4,Diesel ASC alt 4,"(fuel_type_4 == 'Diesel')",0,0,0,coef_dsl,0 +util_hyb1,Hybrid ASC alt 1,"(fuel_type_1 == 'Hybrid')",coef_hyb,0,0,0,0 +util_hyb2,Hybrid ASC alt 2,"(fuel_type_2 == 'Hybrid')",0,coef_hyb,0,0,0 +util_hyb3,Hybrid ASC alt 3,"(fuel_type_3 == 'Hybrid')",0,0,coef_hyb,0,0 +util_hyb4,Hybrid ASC alt 4,"(fuel_type_4 == 'Hybrid')",0,0,0,coef_hyb,0 +util_pev1,PEV ASC alt 1,"(fuel_type_1 == 'PEV')",coef_pev,0,0,0,0 +util_pev2,PEV ASC alt 2,"(fuel_type_2 == 'PEV')",0,coef_pev,0,0,0 +util_pev3,PEV ASC alt 3,"(fuel_type_3 == 'PEV')",0,0,coef_pev,0,0 +util_pev4,PEV ASC alt 4,"(fuel_type_4 == 'PEV')",0,0,0,coef_pev,0 +util_bev1,BEV ASC alt 1,"(fuel_type_1 == 'BEV')",coef_bev,0,0,0,0 +util_bev2,BEV ASC alt 2,"(fuel_type_2 == 'BEV')",0,coef_bev,0,0,0 +util_bev3,BEV ASC alt 3,"(fuel_type_3 == 'BEV')",0,0,coef_bev,0,0 +util_bev4,BEV ASC alt 4,"(fuel_type_4 == 'BEV')",0,0,0,coef_bev,0 +util_age2_1,Age 1 alt 1,"(age_1 == 2)",coef_age2,0,0,0,0 +util_age2_2,Age 1 alt 2,"(age_2 == 2)",0,coef_age2,0,0,0 +util_age2_3,Age 1 alt 3,"(age_3 == 2)",0,0,coef_age2,0,0 +util_age2_4,Age 1 alt 4,"(age_4 == 2)",0,0,0,coef_age2,0 +util_age3_1,Age 3 alt 1,"(age_1 == 3)",coef_age3,0,0,0,0 +util_age3_2,Age 3 alt 2,"(age_2 == 3)",0,coef_age3,0,0,0 +util_age3_3,Age 3 alt 3,"(age_3 == 3)",0,0,coef_age3,0,0 +util_age3_4,Age 4 alt 4,"(age_4 == 3)",0,0,0,coef_age3,0 +util_age4_1,Age 4 alt 1,"(age_1 == 4)",coef_age4,0,0,0,0 +util_age4_2,Age 4 alt 2,"(age_2 == 4)",0,coef_age4,0,0,0 +util_age4_3,Age 4 alt 3,"(age_3 == 4)",0,0,coef_age4,0,0 +util_age4_4,Age 3 alt 4,"(age_4 == 4)",0,0,0,coef_age4,0 +util_age5_1,Age 5 alt 1,"(age_1 == 5)",coef_age5,0,0,0,0 +util_age5_2,Age 5 alt 2,"(age_2 == 5)",0,coef_age5,0,0,0 +util_age5_3,Age 5 alt 3,"(age_3 == 5)",0,0,coef_age5,0,0 +util_age5_4,Age 5 alt 4,"(age_4 == 5)",0,0,0,coef_age5,0 +util_age6_1,Age 6 alt 1,"(age_1 == 6)",coef_age6,0,0,0,0 +util_age6_2,Age 6 alt 2,"(age_2 == 6)",0,coef_age6,0,0,0 +util_age6_3,Age 6 alt 3,"(age_3 == 6)",0,0,coef_age6,0,0 +util_age6_4,Age 6 alt 4,"(age_4 == 6)",0,0,0,coef_age6,0 +util_age7_1,Age 7 alt 1,"(age_1 == 7)",coef_age7,0,0,0,0 +util_age7_2,Age 7 alt 2,"(age_2 == 7)",0,coef_age7,0,0,0 +util_age7_3,Age 7 alt 3,"(age_3 == 7)",0,0,coef_age7,0,0 +util_age7_4,Age 7 alt 4,"(age_4 == 7)",0,0,0,coef_age7,0 +util_age8_1,Age 8 alt 1,"(age_1 == 8)",coef_age8,0,0,0,0 +util_age8_2,Age 8 alt 2,"(age_2 == 8)",0,coef_age8,0,0,0 +util_age8_3,Age 8 alt 3,"(age_3 == 8)",0,0,coef_age8,0,0 +util_age8_4,Age 8 alt 4,"(age_4 == 8)",0,0,0,coef_age8,0 +util_age9_1,Age 9 alt 1,"(age_1 == 9)",coef_age9,0,0,0,0 +util_age9_2,Age 9 alt 2,"(age_2 == 9)",0,coef_age9,0,0,0 +util_age9_3,Age 9 alt 3,"(age_3 == 9)",0,0,coef_age9,0,0 +util_age9_4,Age 9 alt 4,"(age_4 == 9)",0,0,0,coef_age9,0 +util_age10_1,Age 10 alt 1,"(age_1 == 10)",coef_age10,0,0,0,0 +util_age10_2,Age 10 alt 2,"(age_2 == 10)",0,coef_age10,0,0,0 +util_age10_3,Age 10 alt 3,"(age_3 == 10)",0,0,coef_age10,0,0 +util_age10_4,Age 10 alt 4,"(age_4 == 10)",0,0,0,coef_age10,0 +util_age11_1,Age 11 alt 1,"(age_1 == 11)",coef_age11,0,0,0,0 +util_age11_2,Age 11 alt 2,"(age_2 == 11)",0,coef_age11,0,0,0 +util_age11_3,Age 11 alt 3,"(age_3 == 11)",0,0,coef_age11,0,0 +util_age11_4,Age 11 alt 4,"(age_4 == 11)",0,0,0,coef_age11,0 +util_age12_1,Age 12 alt 1,"(age_1 == 12)",coef_age12,0,0,0,0 +util_age12_2,Age 12 alt 2,"(age_2 == 12)",0,coef_age12,0,0,0 +util_age12_3,Age 12 alt 3,"(age_3 == 12)",0,0,coef_age12,0,0 +util_age12_4,Age 12 alt 4,"(age_4 == 12)",0,0,0,coef_age12,0 +util_age13_1,Age 13 alt 1,"(age_1 == 13)",coef_age13,0,0,0,0 +util_age13_2,Age 13 alt 2,"(age_2 == 13)",0,coef_age13,0,0,0 +util_age13_3,Age 13 alt 3,"(age_3 == 13)",0,0,coef_age13,0,0 +util_age13_4,Age 13 alt 4,"(age_4 == 13)",0,0,0,coef_age13,0 +util_age14_1,Age 14 alt 1,"(age_1 == 14)",coef_age14,0,0,0,0 +util_age14_2,Age 14 alt 2,"(age_2 == 14)",0,coef_age14,0,0,0 +util_age14_3,Age 14 alt 3,"(age_3 == 14)",0,0,coef_age14,0,0 +util_age14_4,Age 14 alt 4,"(age_4 == 14)",0,0,0,coef_age14,0 +util_age15_1,Age 15 alt 1,"(age_1 == 15)",coef_age15,0,0,0,0 +util_age15_2,Age 15 alt 2,"(age_2 == 15)",0,coef_age15,0,0,0 +util_age15_3,Age 15 alt 3,"(age_3 == 15)",0,0,coef_age15,0,0 +util_age15_4,Age 15 alt 4,"(age_4 == 15)",0,0,0,coef_age15,0 +util_age16_1,Age 16 alt 1,"(age_1 == 16)",coef_age16,0,0,0,0 +util_age16_2,Age 16 alt 2,"(age_2 == 16)",0,coef_age16,0,0,0 +util_age16_3,Age 16 alt 3,"(age_3 == 16)",0,0,coef_age16,0,0 +util_age16_4,Age 16 alt 4,"(age_4 == 16)",0,0,0,coef_age16,0 +util_age17_1,Age 17 alt 1,"(age_1 == 17)",coef_age17,0,0,0,0 +util_age17_2,Age 17 alt 2,"(age_2 == 17)",0,coef_age17,0,0,0 +util_age17_3,Age 17 alt 3,"(age_3 == 17)",0,0,coef_age17,0,0 +util_age17_4,Age 17 alt 4,"(age_4 == 17)",0,0,0,coef_age17,0 +util_age18_1,Age 18 alt 1,"(age_1 == 18)",coef_age18,0,0,0,0 +util_age18_2,Age 18 alt 2,"(age_2 == 18)",0,coef_age18,0,0,0 +util_age18_3,Age 18 alt 3,"(age_3 == 18)",0,0,coef_age18,0,0 +util_age18_4,Age 18 alt 4,"(age_4 == 18)",0,0,0,coef_age18,0 +util_age19_1,Age 19 alt 1,"(age_1 == 19)",coef_age19,0,0,0,0 +util_age19_2,Age 19 alt 2,"(age_2 == 19)",0,coef_age19,0,0,0 +util_age19_3,Age 19 alt 3,"(age_3 == 19)",0,0,coef_age19,0,0 +util_age19_4,Age 19 alt 4,"(age_4 == 19)",0,0,0,coef_age19,0 +util_age20_1,Age 20 alt 1,"(age_1 == 20)",coef_age20,0,0,0,0 +util_age20_2,Age 20 alt 2,"(age_2 == 20)",0,coef_age20,0,0,0 +util_age20_3,Age 20 alt 3,"(age_3 == 20)",0,0,coef_age20,0,0 +util_age20_4,Age 20 alt 4,"(age_4 == 20)",0,0,0,coef_age20,0 diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation.yaml b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation.yaml new file mode 100644 index 0000000000..23222fd05d --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation.yaml @@ -0,0 +1,28 @@ +# vehicle_choice.yaml + +# last column in spec needs to be non_hh_veh +SPEC: vehicle_allocation.csv +COEFFICIENTS: vehicle_allocation_coefficients.csv + +LOGIT_TYPE: MNL + +preprocessor: + SPEC: vehicle_allocation_annotate_choosers_preprocessor + DF: choosers + TABLES: + - vehicles + +# will create columns in the tour table selecting a vehicle for each of the following +# occupancy levels. They are named vehicle_occup_1, vehicle_occup_2, ... +# if not supplied, will default to only one occupancy level of 1 +OCCUPANCY_LEVELS: + - 1 + - 2 + - 3.5 + +# optional annotate tours +# annotate_tours: +# SPEC: annotate_tours_vehicle_allocation +# DF: tours +# TABLES: +# - vehicles diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation_annotate_choosers_preprocessor.csv new file mode 100644 index 0000000000..843099a16a --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation_annotate_choosers_preprocessor.csv @@ -0,0 +1,20 @@ +Description,Target,Expression +Round Trip Tour Distance,tot_tour_dist,"(odt_skims['SOV_DIST'] + dot_skims['SOV_DIST'])" +number of vehicles is greater than the number of drivers,hh_veh_gt_drivers,"np.where(df.auto_ownership > df.num_drivers, 1, 0)" +number of vehicles is less than the number of drivers,hh_veh_lt_drivers,"np.where(df.auto_ownership < df.num_drivers, 1, 0)" +Age of vehicle alternative 1,age_1,"df.veh_num1.astype(str).str.split('_').str[1].fillna(0).astype(int)" +Age of vehicle alternative 2,age_2,"df.veh_num2.astype(str).str.split('_').str[1].fillna(0).astype(int)" +Age of vehicle alternative 3,age_3,"df.veh_num3.astype(str).str.split('_').str[1].fillna(0).astype(int)" +Age of vehicle alternative 4,age_4,"df.veh_num4.astype(str).str.split('_').str[1].fillna(0).astype(int)" +body type of vehicle alternative 1,body_type_1,"df.veh_num1.astype(str).str.split('_').str[0]" +body type of vehicle alternative 2,body_type_2,"df.veh_num2.astype(str).str.split('_').str[0]" +body type of vehicle alternative 3,body_type_3,"df.veh_num3.astype(str).str.split('_').str[0]" +body type of vehicle alternative 4,body_type_4,"df.veh_num4.astype(str).str.split('_').str[0]" +fuel type of vehicle alternative 1,fuel_type_1,"df.veh_num1.astype(str).str.split('_').str[2]" +fuel type of vehicle alternative 2,fuel_type_2,"df.veh_num2.astype(str).str.split('_').str[2]" +fuel type of vehicle alternative 3,fuel_type_3,"df.veh_num3.astype(str).str.split('_').str[2]" +fuel type of vehicle alternative 4,fuel_type_4,"df.veh_num4.astype(str).str.split('_').str[2]" +Range of vehicle alternative 1,Range_1,"reindex(vehicles.groupby('vehicle_type')['Range'].mean(), df.veh_num1)" +Range of vehicle alternative 2,Range_2,"reindex(vehicles.groupby('vehicle_type')['Range'].mean(), df.veh_num2)" +Range of vehicle alternative 3,Range_3,"reindex(vehicles.groupby('vehicle_type')['Range'].mean(), df.veh_num3)" +Range of vehicle alternative 4,Range_4,"reindex(vehicles.groupby('vehicle_type')['Range'].mean(), df.veh_num4)" diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation_coefficients.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation_coefficients.csv new file mode 100644 index 0000000000..3a1a8fa8f5 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation_coefficients.csv @@ -0,0 +1,46 @@ +coefficient_name,value,constrain +coef_unavail,-999,F +coef_dstgtrng,-3.454,F +coef_vehltdr_nh,0.172,F +coef_vehgtdr_nh,-0.212,F +coef_vehltdr_van,0.048,F +coef_vehltdr_suv,0.104,F +coef_vehltdr_pu,-0.011,F +coef_vehltdr_mc,-0.749,F +coef_vehltdr_hyb,0.156,F +coef_vehltdr_ev,0.207,F +coef_vehltdr_age,-0.048,F +coef_maxocc_van,0.570,F +coef_maxocc_suv,0.316,F +coef_maxocc_pu,-0.077,F +coef_maxocc_mc,-0.938,F +coef_maxocc_age,-0.026,F +util_maxocc_nh,-0.212,F +coef_non_hh,-4.549,F +coef_van,-0.942,F +coef_suv,-0.429,F +coef_pu,-0.048,F +coef_mc,-0.470,F +coef_dsl,-0.227,F +coef_hyb,0.024,F +coef_pev,-0.168,F +coef_bev,-0.105,F +coef_age2,0.070,F +coef_age3,0.104,F +coef_age4,0.136,F +coef_age5,0.149,F +coef_age6,0.161,F +coef_age7,0.223,F +coef_age8,0.272,F +coef_age9,0.291,F +coef_age10,0.256,F +coef_age11,0.318,F +coef_age12,0.334,F +coef_age13,0.338,F +coef_age14,0.348,F +coef_age15,0.307,F +coef_age16,0.377,F +coef_age17,0.324,F +coef_age18,0.237,F +coef_age19,0.292,F +coef_age20,-0.181,F diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice.yaml b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice.yaml new file mode 100644 index 0000000000..d0b9a91f63 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice.yaml @@ -0,0 +1,111 @@ +# vehicle_type_choice.yaml + +SPEC: vehicle_type_choice_op4.csv +COEFFICIENTS: vehicle_type_choice_op4_coefficients.csv +ALTS: vehicle_type_choice_op4_alternatives.csv + +# SPEC: vehicle_type_choice_op2.csv +# COEFFICIENTS: vehicle_type_choice_op2_coefficients.csv +# ALTS: vehicle_type_choice_op2_alternatives.csv +# # probs must have body_type and vehicle_year columns +# # probs spec has vehicle age calculated from FLEET_YEAR +# PROBS_SPEC: vehicle_type_choice_op2_fuel_type_probs.csv + +LOGIT_TYPE: MNL + +# options: simple_simulate or interaction_simulate +# if interaction_simulate, will build alteratives from combinatorial_alts below +# if simple_simulate, alternatives need to be specified in the columns of the model spec +SIMULATION_TYPE: interaction_simulate + +# additional vehicle_type_data merged to the alternatives for use in utility expressions +# need to have columns body_type, fuel_type, and vehicle_year +# entries in the data need to match the combinations in combinatorial_alts below +VEHICLE_TYPE_DATA_FILE: vehicle_type_data.csv + +# age is computed as (1 + FLEET_YEAR - vehicle_year) +FLEET_YEAR: 2017 + +# if PROBS_SPEC is supplied, auto operating cost will not be +# merged until after a fuel type is selected +COLS_TO_INCLUDE_IN_VEHICLE_TABLE: + - auto_operating_cost + - Range + - MPG + +# If PROBS_SPEC is supplied, fuel_type will be ignored +combinatorial_alts: + body_type: + - Car + - Van + - SUV + - Pickup + - Motorcycle + age: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + - 10 + - 11 + - 12 + - 13 + - 14 + - 15 + - 16 + - 17 + - 18 + - 19 + - 20 + fuel_type: + - Gas + - Diesel + - Hybrid + - PEV + - BEV + +# will write out the created vehicle_type_model_alternatives.csv file +# to the base configs directory. Helpful for debugging alternaties. +WRITE_OUT_ALTS_FILE: False + +preprocessor: + SPEC: vehicle_type_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - vehicles + - persons + - households + +# annotate_persons: +# SPEC: annotate_persons_vehicle_type +# DF: persons +# TABLES: +# - vehicles +# +# annotate_households: +# SPEC: annotate_households_vehicle_type +# DF: households +# TABLES: +# - persons +# - vehicles +# +# annotate_vehicles: +# SPEC: annotate_households_vehicle_type +# DF: vehicles +# TABLES: + +CONSTANTS: + # Select region for model and input the MSA population + # Expressions for CBSA values are implemented for: + # San Francisco (SFO), San Diego (SAN), Atlanta (ATL), + # Seattle (SEA), Detroit (DET), Minneapolis (MSP), + # Washington DC (DCA), Oregon (OREG), Ohio (OHIO) + CBSA: SFO + MSA_POP: 3320000 + CHARGERS_PER_CAP: 0.000721205 diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_annotate_choosers_preprocessor.csv new file mode 100644 index 0000000000..d0a98ff3c2 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_annotate_choosers_preprocessor.csv @@ -0,0 +1,15 @@ +Description,Target,Expression +total household distance to work,total_hh_dist_to_work,persons.groupby('household_id')['distance_to_work'].sum().reindex(df.household_id).fillna(0) +total household distance to work capped at 100 mi per worker,total_hh_dist_to_work_cap,"np.where(total_hh_dist_to_work > (100*df.num_workers.values), 100*df.num_workers.values, total_hh_dist_to_work)" +average household distance to work,avg_hh_dist_to_work,persons.groupby('household_id')['distance_to_work'].mean().reindex(df.household_id).fillna(0) +household density per square mile,hh_per_mi,(df.TOTHH.values / df.TOTACRE.values) * 640 +number of vehicles is greater than the number of drivers,hh_veh_gt_drivers,"np.where(df.auto_ownership > df.num_drivers, 1, 0)" +number of household vehicles owned,num_hh_veh_owned,df[df['already_owned_veh'].str.len() > 0].groupby('household_id').size().reindex(df.household_id).fillna(0) +number of household Vans,num_hh_Van,"df[df['already_owned_veh'].str.contains('Van', na=False)].groupby('household_id').size().reindex(df.household_id).fillna(0)" +number of household SUVs,num_hh_SUV,"df[df['already_owned_veh'].str.contains('SUV', na=False)].groupby('household_id').size().reindex(df.household_id).fillna(0)" +number of household Pickups,num_hh_Pickup,"df[df['already_owned_veh'].str.contains('Pickup', na=False)].groupby('household_id').size().reindex(df.household_id).fillna(0)" +number of household Motorcycles,num_hh_Motorcycle,"df[df['already_owned_veh'].str.contains('Motorcycle', na=False)].groupby('household_id').size().reindex(df.household_id).fillna(0)" +number of household Hybrid,num_hh_Hybrid,"df[df['already_owned_veh'].str.contains('Hybrid', na=False)].groupby('household_id').size().reindex(df.household_id).fillna(0)" +number of household BEV,num_hh_BEV,"df[df['already_owned_veh'].str.contains('BEV', na=False)].groupby('household_id').size().reindex(df.household_id).fillna(0)" +number of household PEV,num_hh_PEV,"df[df['already_owned_veh'].str.contains('PEV', na=False)].groupby('household_id').size().reindex(df.household_id).fillna(0)" +number of household EVs,num_hh_EV,"num_hh_BEV + num_hh_PEV" diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2.csv new file mode 100644 index 0000000000..5125645e9f --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2.csv @@ -0,0 +1,169 @@ +Label,Description,Expression,Coefficient +#,income,, +util_i025_age,Income $0-25k - Age,"((income < 25000) & (income > -1)) * age",coef_i025_age +util_i2550_age,Income $25-50k - Age,"((income < 50000) & (income >= 25000)) * age",coef_i2550_age +util_i100_age,Income $100-150k - Age,"((income < 150000) & (income >= 100000)) * age",coef_i100_age +util_i150p_age,Income $150k+ - Age,"(income > 150000) * age",coef_i150p_age +util_i025_van,Income $0-25k - Van,"((income < 25000) & (income > -1)) & (body_type == 'Van')",coef_i025_van +util_i2550_van,Income $25-50k - Van,"((income < 50000) & (income >= 25000)) & (body_type == 'Van')",coef_i2550_van +util_i100_van,Income $100-150k - Van,"((income < 150000) & (income >= 100000)) & (body_type == 'Van')",coef_i100_van +util_i150p_van,Income $150k+ - Van,"(income > 150000) & (body_type == 'Van')",coef_i150p_van +util_i025_suv,Income $0-25k - SUV,"((income < 25000) & (income > -1)) & (body_type == 'SUV')",coef_i025_suv +util_i2550_suv,Income $25-50k - SUV,"((income < 50000) & (income >= 25000)) & (body_type == 'SUV')",coef_i2550_suv +util_i100_suv,Income $100-150k - SUV,"((income < 150000) & (income >= 100000)) & (body_type == 'SUV')",coef_i100_suv +util_i150p_suv,Income $150k+ - SUV,"(income > 150000) & (body_type == 'SUV')",coef_i150p_suv +util_i025_pu,Income $0-25k - Pickup,"((income < 25000) & (income > -1)) & (body_type == 'Pickup')",coef_i025_pu +util_i2550_pu,Income $25-50k - Pickup,"((income < 50000) & (income >= 25000)) & (body_type == 'Pickup')",coef_i2550_pu +util_i100_pu,Income $100-150k - Pickup,"((income < 150000) & (income >= 100000)) & (body_type == 'Pickup')",coef_i100_pu +util_i150p_pu,Income $150k+ - Pickup,"(income > 150000) & (body_type == 'Pickup')",coef_i150p_pu +util_i025_mc,Income $0-25k - Motorcycle,"((income < 25000) & (income > -1)) & (body_type == 'Motorcycle')",coef_i025_mc +util_i2550_mc,Income $25-50k - Motorcycle,"((income < 50000) & (income >= 25000)) & (body_type == 'Motorcycle')",coef_i2550_mc +util_i100_mc,Income $100-150k - Motorcycle,"((income < 150000) & (income >= 100000)) & (body_type == 'Motorcycle')",coef_i100_mc +util_i150p_mc,Income $150k+ - Motorcycle,"(income > 150000) & (body_type == 'Motorcycle')",coef_i150p_mc +util_imiss_van,Income Missing - Van,"((income < 0) | income.isna()) & (body_type == 'Van')",coef_imiss_van +util_imiss_suv,Income Missing - SUV,"((income < 0) | income.isna()) & (body_type == 'SUV')",coef_imiss_suv +util_imiss_pu,Income Missing - Pickup,"((income < 0) | income.isna()) & (body_type == 'Pickup')",coef_imiss_pu +util_imiss_mc,Income Missing - Motorcycle,"((income < 0) | income.isna()) & (body_type == 'Motorcycle')",coef_imiss_mc +util_imiss_age,Income Missing - Age,"((income < 0) | income.isna()) * age",coef_imiss_age +#,household density variables,, +util_den3_van,500-999 HH / sq mi Van,"((hh_per_mi < 1000) & (hh_per_mi >= 500)) & (body_type == 'Van')",coef_den3_van +util_den4_van,1000-1999 HH / sq mi Van,"((hh_per_mi < 2000) & (hh_per_mi >= 1000)) & (body_type == 'Van')",coef_den4_van +util_den5_van,2000-3999 HH / sq mi Van,"((hh_per_mi < 4000) & (hh_per_mi >= 2000)) & (body_type == 'Van')",coef_den5_van +util_den6_van,4000-9999 HH / sq mi Van,"((hh_per_mi < 10000) & (hh_per_mi >= 4000)) & (body_type == 'Van')",coef_den6_van +util_den7_van,10000-24999 HH / sq mi Van,"((hh_per_mi < 25000) & (hh_per_mi >= 10000)) & (body_type == 'Van')",coef_den7_van +util_den8_van,25000+ HH / sq mi Van,"(hh_per_mi >= 25000) & (body_type == 'Van')",coef_den8_van +util_den3_suv,500-999 HH / sq mi SUV,"((hh_per_mi < 1000) & (hh_per_mi >= 500)) & (body_type == 'SUV')",coef_den3_suv +util_den4_suv,1000-1999 HH / sq mi SUV,"((hh_per_mi < 2000) & (hh_per_mi >= 1000)) & (body_type == 'SUV')",coef_den4_suv +util_den5_suv,2000-3999 HH / sq mi SUV,"((hh_per_mi < 4000) & (hh_per_mi >= 2000)) & (body_type == 'SUV')",coef_den5_suv +util_den6_suv,4000-9999 HH / sq mi SUV,"((hh_per_mi < 10000) & (hh_per_mi >= 4000)) & (body_type == 'SUV')",coef_den6_suv +util_den7_suv,10000-24999 HH / sq mi SUV,"((hh_per_mi < 25000) & (hh_per_mi >= 10000)) & (body_type == 'SUV')",coef_den7_suv +util_den8_suv,25000+ HH / sq mi SUV,"(hh_per_mi >= 25000) & (body_type == 'SUV')",coef_den8_suv +util_den3_pu,500-999 HH / sq mi Pickup,"((hh_per_mi < 1000) & (hh_per_mi >= 500)) & (body_type == 'Pickup')",coef_den3_pu +util_den4_pu,1000-1999 HH / sq mi Pickup,"((hh_per_mi < 2000) & (hh_per_mi >= 1000)) & (body_type == 'Pickup')",coef_den4_pu +util_den5_pu,2000-3999 HH / sq mi Pickup,"((hh_per_mi < 4000) & (hh_per_mi >= 2000)) & (body_type == 'Pickup')",coef_den5_pu +util_den6_pu,4000-9999 HH / sq mi Pickup,"((hh_per_mi < 10000) & (hh_per_mi >= 4000)) & (body_type == 'Pickup')",coef_den6_pu +util_den7_pu,10000-24999 HH / sq mi Pickup,"((hh_per_mi < 25000) & (hh_per_mi >= 10000)) & (body_type == 'Pickup')",coef_den7_pu +util_den8_mc,25000+ HH / sq mi Pickup,"(hh_per_mi >= 25000) & (body_type == 'Pickup')",coef_den8_pu +util_den3_mc,500-999 HH / sq mi Motorcycle,"((hh_per_mi < 1000) & (hh_per_mi >= 500)) & (body_type == 'Motorcycle')",coef_den3_mc +util_den4_mc,1000-1999 HH / sq mi Motorcycle,"((hh_per_mi < 2000) & (hh_per_mi >= 1000)) & (body_type == 'Motorcycle')",coef_den4_mc +util_den5_mc,2000-3999 HH / sq mi Motorcycle,"((hh_per_mi < 4000) & (hh_per_mi >= 2000)) & (body_type == 'Motorcycle')",coef_den5_mc +util_den6_mc,4000-9999 HH / sq mi Motorcycle,"((hh_per_mi < 10000) & (hh_per_mi >= 4000)) & (body_type == 'Motorcycle')",coef_den6_mc +util_den7_mc,10000-24999 HH / sq mi Motorcycle,"((hh_per_mi < 25000) & (hh_per_mi >= 10000)) & (body_type == 'Motorcycle')",coef_den7_mc +util_den8_mc,25000+ HH / sq mi Motorcycle,"(hh_per_mi >= 25000) & (body_type == 'Motorcycle')",coef_den8_mc +#,household interactions,, +util_oneveh_age,Household owns 1 vehicle * Age,"(auto_ownership == 1) * age",coef_oneveh_age +util_vhgtdr_van,Household vehicles gt drivers for Van,hh_veh_gt_drivers * (body_type == 'Van'),coef_vhgtdr_van +util_vhgtdr_suv,Household vehicles gt drivers for SUV,hh_veh_gt_drivers * (body_type == 'SUV'),coef_vhgtdr_suv +util_vhgtdr_pu,Household vehicles gt drivers for Pickup,hh_veh_gt_drivers * (body_type == 'Pickup'),coef_vhgtdr_pu +util_vhgtdr_mc,Household vehicles gt drivers for Motorcycle,hh_veh_gt_drivers * (body_type == 'Motorcycle'),coef_vhgtdr_mc +util_vhgtdr_age,Household vehicles gt drivers for age,hh_veh_gt_drivers * age,coef_vhgtdr_age +#,interacting with number of children,, +util_nchld_van,Number of children max 3 * Van,num_children.clip(upper=3) * (body_type == 'Van'),coef_nchld_van +util_nchld_suv,Number of children max 3 * SUV,num_children.clip(upper=3) * (body_type == 'SUV'),coef_nchld_suv +util_nchld_pu,Number of children max 3 * Pickup,num_children.clip(upper=3) * (body_type == 'Pickup'),coef_nchld_pu +util_nchld_mc,Number of children max 3 * Motorcycle,num_children.clip(upper=3) * (body_type == 'Motorcycle'),coef_nchld_mc +util_nchld_age,Number of children max 3 * age,num_children.clip(upper=3) * age,coef_nchld_age +util_dstwkt_age,Total distance to work * age,total_hh_dist_to_work_cap * age,coef_dstwkt_age +#,household already owning vehicles,, +util_van_van,Household already owns a Van -- Van,"(num_hh_Van > 0) & (body_type == 'Van')",coef_van_van +util_van_suv,Household already owns a Van -- SUV,"(num_hh_Van > 0) & (body_type == 'SUV')",coef_van_suv +util_van_pu,Household already owns a Van -- Pickup,"(num_hh_Van > 0) & (body_type == 'Pickup')",coef_van_pu +util_van_mc,Household already owns a Van -- Motorcycle,"(num_hh_Van > 0) & (body_type == 'Motorcycle')",coef_van_mc +util_van_suv,Household already owns an SUV -- Van (symmetrical with above),"(num_hh_SUV > 0) & (body_type == 'Van')",coef_van_suv +util_suv_suv,Household already owns an SUV -- SUV,"(num_hh_SUV > 0) & (body_type == 'SUV')",coef_suv_suv +util_suv_pu,Household already owns an SUV -- Pickup,"(num_hh_SUV > 0) & (body_type == 'Pickup')",coef_suv_pu +util_suv_mc,Household already owns an SUV -- Motorcycle,"(num_hh_SUV > 0) & (body_type == 'Motorcycle')",coef_suv_mc +util_van_pu,Household already owns a Pickup -- Van (symmetrical with above),"(num_hh_Pickup > 0) & (body_type == 'Van')",coef_van_pu +util_suv_pu,Household already owns a Pickup -- SUV (symmetrical with above),"(num_hh_Pickup > 0) & (body_type == 'SUV')",coef_suv_pu +util_pu_pu,Household already owns a Pickup -- Pickup,"(num_hh_Pickup > 0) & (body_type == 'Pickup')",coef_pu_pu +util_pu_mc,Household already owns a Pickup -- Motorcycle,"(num_hh_Pickup > 0) & (body_type == 'Motorcycle')",coef_pu_mc +util_van_mc,Household already owns a Motorcycle -- Van (symmetrical with above),"(num_hh_Motorcycle > 0) & (body_type == 'Van')",coef_van_mc +util_suv_mc,Household already owns a Motorcycle -- SUV (symmetrical with above),"(num_hh_Motorcycle > 0) & (body_type == 'SUV')",coef_suv_mc +util_pu_mc,Household already owns a Motorcycle -- Pickup (symmetrical with above),"(num_hh_Motorcycle > 0) & (body_type == 'Pickup')",coef_pu_mc +util_mc_mc,Household already owns a Motorcycle -- Motorcycle,"(num_hh_Motorcycle > 0) & (body_type == 'Motorcycle')",coef_mc_mc +util_only_van,Household only owns Vans,"(num_hh_Van > 0) & (num_hh_Van == num_hh_veh_owned) & (body_type == 'Van')",coef_only_van +util_only_suv,Household only owns SUVs,"(num_hh_SUV > 0) & (num_hh_SUV == num_hh_veh_owned) & (body_type == 'SUV')",coef_only_suv +util_only_pu,Household only owns Pickups,"(num_hh_Pickup > 0) & (num_hh_Pickup == num_hh_veh_owned) & (body_type == 'Pickup')",coef_only_pu +util_only_mc,Household only owns Motorcycles,"(num_hh_Motorcycle > 0) & (num_hh_Motorcycle == num_hh_veh_owned) & (body_type == 'Motorcycle')",coef_only_mc +#,constants,, +util_van,Van ASC,(body_type == 'Van'),coef_van +util_suv,SUV ASC,(body_type == 'SUV'),coef_suv +util_pu,Pickup ASC,(body_type == 'Pickup'),coef_pu +util_mc,Motorcycle ASC,(body_type == 'Motorcycle'),coef_mc +util_age2,Age 2 ASC,(age==2),coef_age2 +util_age3,Age 3 ASC,(age==3),coef_age3 +util_age4,Age 4 ASC,(age==4),coef_age4 +util_age5,Age 5 ASC,(age==5),coef_age5 +util_age6,Age 6 ASC,(age==6),coef_age6 +util_age7,Age 7 ASC,(age==7),coef_age7 +util_age8,Age 8 ASC,(age==8),coef_age8 +util_age9,Age 9 ASC,(age==9),coef_age9 +util_age10,Age 10 ASC,(age==10),coef_age10 +util_age11,Age 11 ASC,(age==11),coef_age11 +util_age12,Age 12 ASC,(age==12),coef_age12 +util_age13,Age 13 ASC,(age==13),coef_age13 +util_age14,Age 14 ASC,(age==14),coef_age14 +util_age15,Age 15 ASC,(age==15),coef_age15 +util_age16,Age 16 ASC,(age==16),coef_age16 +util_age17,Age 17 ASC,(age==17),coef_age17 +util_age18,Age 18 ASC,(age==18),coef_age18 +util_age19,Age 19 ASC,(age==19),coef_age19 +util_age20,Age 20 ASC,(age==20),coef_age20 +#,rural household coefficients,, +util_rural_van,Household is in Rural Area - Van,"home_is_rural & (body_type == 'Van')",coef_rural_van +util_rural_suv,Household is in Rural Area - SUV,"home_is_rural & (body_type == 'SUV')",coef_rural_suv +util_rural_pu,Household is in Rural Area - Pickup,"home_is_rural & (body_type == 'Pickup')",coef_rural_pu +util_rural_mc,Household is in Rural Area - Motorcycle,"home_is_rural & (body_type == 'Motorcycle')",coef_rural_mc +util_rural_age,Household is in Rural Area - Age,"home_is_rural * age",coef_rural_age +#,MSA population coefficients,, +util_smsa_van,MSA population less than 1 million - Van,"@(MSA_POP < 1000000) * (df.body_type == 'Van')",coef_smsa_van +util_smsa_suv,MSA population less than 1 million - SUV,"@(MSA_POP < 1000000) * (df.body_type == 'SUV')",coef_smsa_suv +util_smsa_pu,MSA population less than 1 million - Pickup,"@(MSA_POP < 1000000) * (df.body_type == 'Pickup')",coef_smsa_pu +util_smsa_mc,MSA population less than 1 million - Motorcycle,"@(MSA_POP < 1000000) * (df.body_type == 'Motorcycle')",coef_smsa_mc +util_smsa_age,MSA population less than 1 million - Age,"@(MSA_POP < 1000000) * df.age",coef_smsa_age +#,Region Specific Constants,, +util_sfo_van,SF and San Jose - Van,"@(CBSA == 'SFO') * (df.body_type == 'Van')",coef_sfo_van +util_sfo_suv,SF and San Jose - SUV,"@(CBSA == 'SFO') * (df.body_type == 'SUV')",coef_sfo_suv +util_sfo_pu,SF and San Jose - Pickup,"@(CBSA == 'SFO') * (df.body_type == 'Pickup')",coef_sfo_pu +util_sfo_mc,SF and San Jose - Motorcycle,"@(CBSA == 'SFO') * (df.body_type == 'Motorcycle')",coef_sfo_mc +util_sfo_age,SF and San Jose - Age,"@(CBSA == 'SFO') * df.age",coef_sfo_age +util_san_van,San Diego - Van,"@(CBSA == 'SAN') * (df.body_type == 'Van')",coef_san_van +util_san_suv,San Diego - SUV,"@(CBSA == 'SAN') * (df.body_type == 'SUV')",coef_san_suv +util_san_pu,San Diego - Pickup,"@(CBSA == 'SAN') * (df.body_type == 'Pickup')",coef_san_pu +util_san_mc,San Diego - Motorcycle,"@(CBSA == 'SAN') * (df.body_type == 'Motorcycle')",coef_san_mc +util_san_age,San Diego - Age,"@(CBSA == 'SAN') * df.age",coef_san_age +util_atl_van,Atlanta - Van,"@(CBSA == 'ATL') * (df.body_type == 'Van')",coef_atl_van +util_atl_suv,Atlanta - SUV,"@(CBSA == 'ATL') * (df.body_type == 'SUV')",coef_atl_suv +util_atl_pu,Atlanta - Pickup,"@(CBSA == 'ATL') * (df.body_type == 'Pickup')",coef_atl_pu +util_atl_mc,Atlanta - Motorcycle,"@(CBSA == 'ATL') * (df.body_type == 'Motorcycle')",coef_atl_mc +util_atl_age,Atlanta - Age,"@(CBSA == 'ATL') * df.age",coef_atl_age +util_sea_van,Seattle - Van,"@(CBSA == 'SEA') * (df.body_type == 'Van')",coef_sea_van +util_sea_suv,Seattle - SUV,"@(CBSA == 'SEA') * (df.body_type == 'SUV')",coef_sea_suv +util_sea_pu,Seattle - Pickup,"@(CBSA == 'SEA') * (df.body_type == 'Pickup')",coef_sea_pu +util_sea_mc,Seattle - Motorcycle,"@(CBSA == 'SEA') * (df.body_type == 'Motorcycle')",coef_sea_mc +util_sea_age,Seattle - Age,"@(CBSA == 'SEA') * df.age",coef_sea_age +util_det_van,Detroit - Van,"@(CBSA == 'DET') * (df.body_type == 'Van')",coef_det_van +util_det_suv,Detroit - SUV,"@(CBSA == 'DET') * (df.body_type == 'SUV')",coef_det_suv +util_det_pu,Detroit - Pickup,"@(CBSA == 'DET') * (df.body_type == 'Pickup')",coef_det_pu +util_det_mc,Detroit - Motorcycle,"@(CBSA == 'DET') * (df.body_type == 'Motorcycle')",coef_det_mc +util_det_age,Detroit - Age,"@(CBSA == 'DET') * df.age",coef_det_age +util_msp_van,Minneapolis - Van,"@(CBSA == 'MSP') * (df.body_type == 'Van')",coef_msp_van +util_msp_suv,Minneapolis - SUV,"@(CBSA == 'MSP') * (df.body_type == 'SUV')",coef_msp_suv +util_msp_pu,Minneapolis - Pickup,"@(CBSA == 'MSP') * (df.body_type == 'Pickup')",coef_msp_pu +util_msp_mc,Minneapolis - Motorcycle,"@(CBSA == 'MSP') * (df.body_type == 'Motorcycle')",coef_msp_mc +util_msp_age,Minneapolis - Age,"@(CBSA == 'MSP') * df.age",coef_msp_age +util_dca_van,Washington DC - Van,"@(CBSA == 'DCA') * (df.body_type == 'Van')",coef_dca_van +util_dca_suv,Washington DC - SUV,"@(CBSA == 'DCA') * (df.body_type == 'SUV')",coef_dca_suv +util_dca_pu,Washington DC - Pickup,"@(CBSA == 'DCA') * (df.body_type == 'Pickup')",coef_dca_pu +util_dca_mc,Washington DC - Motorcycle,"@(CBSA == 'DCA') * (df.body_type == 'Motorcycle')",coef_dca_mc +util_dca_age,Washington DC - Age,"@(CBSA == 'DCA') * df.age",coef_dca_age +util_oreg_van,Oregon - Van,"@(CBSA == 'OREG') * (df.body_type == 'Van')",coef_oreg_van +util_oreg_suv,Oregon - SUV,"@(CBSA == 'OREG') * (df.body_type == 'SUV')",coef_oreg_suv +util_oreg_pu,Oregon - Pickup,"@(CBSA == 'OREG') * (df.body_type == 'Pickup')",coef_oreg_pu +util_oreg_mc,Oregon - Motorcycle,"@(CBSA == 'OREG') * (df.body_type == 'Motorcycle')",coef_oreg_mc +util_oreg_age,Oregon - Age,"@(CBSA == 'OREG') * df.age",coef_oreg_age +util_ohio_van,Ohio - Van,"@(CBSA == 'OHIO') * (df.body_type == 'Van')",coef_ohio_van +util_ohio_suv,Ohio - SUV,"@(CBSA == 'OHIO') * (df.body_type == 'SUV')",coef_ohio_suv +util_ohio_pu,Ohio - Pickup,"@(CBSA == 'OHIO') * (df.body_type == 'Pickup')",coef_ohio_pu +util_ohio_mc,Ohio - Motorcycle,"@(CBSA == 'OHIO') * (df.body_type == 'Motorcycle')",coef_ohio_mc +util_ohio_age,Ohio - Age,"@(CBSA == 'OHIO') * df.age",coef_ohio_age diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2_coefficients.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2_coefficients.csv new file mode 100644 index 0000000000..e15f71f44a --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2_coefficients.csv @@ -0,0 +1,154 @@ +coefficient_name,value,constrain +coef_i025_age,0.102,F +coef_i2550_age,0.044,F +coef_i100_age,-0.034,F +coef_i150p_age,-0.062,F +coef_i025_van,0.252,F +coef_i2550_van,0.135,F +coef_i100_van,-0.082,F +coef_i150p_van,-0.332,F +coef_i025_suv,-0.430,F +coef_i2550_suv,-0.188,F +coef_i100_suv,0.125,F +coef_i150p_suv,0.227,F +coef_i025_pu,0.035,F +coef_i2550_pu,0.080,F +coef_i100_pu,-0.146,F +coef_i150p_pu,-0.423,F +coef_i025_mc,0.052,F +coef_i2550_mc,0.097,F +coef_i100_mc,-0.100,F +coef_i150p_mc,-0.377,F +coef_imiss_van,0.184,F +coef_imiss_suv,-0.014,F +coef_imiss_pu,-0.052,F +coef_imiss_mc,-0.483,F +coef_imiss_age,0.003,F +coef_den3_van,-0.017,F +coef_den4_van,-0.089,F +coef_den5_van,-0.203,F +coef_den6_van,-0.421,F +coef_den7_van,-0.714,F +coef_den8_van,-0.504,F +coef_den3_suv,0.001,F +coef_den4_suv,-0.084,F +coef_den5_suv,-0.200,F +coef_den6_suv,-0.412,F +coef_den7_suv,-0.475,F +coef_den8_suv,-0.513,F +coef_den3_pu,-0.174,F +coef_den4_pu,-0.233,F +coef_den5_pu,-0.342,F +coef_den6_pu,-0.759,F +coef_den7_pu,-1.193,F +coef_den8_pu,-2.018,F +coef_den3_mc,-0.035,F +coef_den4_mc,0.016,F +coef_den5_mc,0.213,F +coef_den6_mc,0.444,F +coef_den7_mc,1.104,F +coef_den8_mc,1.417,F +coef_oneveh_age,-0.032,F +coef_vhgtdr_van,-0.002,F +coef_vhgtdr_suv,-0.146,F +coef_vhgtdr_pu,0.416,F +coef_vhgtdr_mc,2.494,F +coef_vhgtdr_age,0.073,F +coef_nchld_van,0.563,F +coef_nchld_suv,0.183,F +coef_nchld_pu,0.035,F +coef_nchld_mc,-0.005,F +coef_nchld_age,-0.00053,F +coef_dstwkt_age,-0.00013,F +coef_van_van,0.057,F +coef_van_suv,-0.465,F +coef_van_pu,-0.090,F +coef_van_mc,0.540,F +coef_suv_suv,-0.183,F +coef_suv_pu,0.214,F +coef_suv_mc,0.980,F +coef_pu_pu,-0.136,F +coef_pu_mc,1.348,F +coef_mc_mc,3.424,F +coef_only_van,-0.336,F +coef_only_suv,-0.005,F +coef_only_pu,-0.852,F +coef_only_mc,-1.109,F +coef_van,-2.426,F +coef_suv,-0.653,F +coef_pu,-1.184,F +coef_mc,-5.314,F +coef_age2,0.083,F +coef_age3,0.031,F +coef_age4,-0.009,F +coef_age5,-0.145,F +coef_age6,-0.360,F +coef_age7,-.407,F +coef_age8,-.603,F +coef_age9,-0.354,F +coef_age10,-0.389,F +coef_age11,-0.462,F +coef_age12,-0.536,F +coef_age13,-0.684,F +coef_age14,-0.844,F +coef_age15,-1.023,F +coef_age16,-1.178,F +coef_age17,-1.357,F +coef_age18,-1.655,F +coef_age19,-1.957,F +coef_age20,-0.339,F +coef_rural_van,0.225,F +coef_rural_suv,0.190,F +coef_rural_pu,0.814,F +coef_rural_mc,-0.037,F +coef_rural_age,0.11,F +coef_smsa_van,0.127,F +coef_smsa_suv,0.033,F +coef_smsa_pu,0.333,F +coef_smsa_mc,0.102,F +coef_smsa_age,0.013,F +coef_sfo_van,0.104,F +coef_sfo_suv,-0.440,F +coef_sfo_pu,-0.421,F +coef_sfo_mc,-0.035,F +coef_sfo_age,0.050,F +coef_san_van,0.075,F +coef_san_suv,-0.154,F +coef_san_pu,-0.124,F +coef_san_mc,-0.105,F +coef_san_age,0.026,F +coef_atl_van,-0.145,F +coef_atl_suv,-0.069,F +coef_atl_pu,-0.123,F +coef_atl_mc,-0.212,F +coef_atl_age,0.015,F +coef_sea_van,0.146,F +coef_sea_suv,-0.175,F +coef_sea_pu,-0.065,F +coef_sea_mc,-0.192,F +coef_sea_age,0.056,F +coef_det_van,0.642,F +coef_det_suv,0.269,F +coef_det_pu,-0.237,F +coef_det_mc,0.371,F +coef_det_age,-0.043,F +coef_msp_van,0.291,F +coef_msp_suv,-0.064,F +coef_msp_pu,-0.095,F +coef_msp_mc,0.033,F +coef_msp_age,0.010,F +coef_dca_van,0.039,F +coef_dca_suv,0.284,F +coef_dca_pu,-0.455,F +coef_dca_mc,-0.015,F +coef_dca_age,-0.037,F +coef_oreg_van,0.079,F +coef_oreg_suv,-0.134,F +coef_oreg_pu,0.276,F +coef_oreg_mc,0.137,F +coef_oreg_age,0.055,F +coef_ohio_van,0.164,F +coef_ohio_suv,-0.135,F +coef_ohio_pu,-0.391,F +coef_ohio_mc,0.145,F +coef_ohio_age,-0.008,F diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2_fuel_type_probs.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2_fuel_type_probs.csv new file mode 100644 index 0000000000..80a2619cb1 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2_fuel_type_probs.csv @@ -0,0 +1,101 @@ +body_type,vehicle_year,Gas,Diesel,Hybrid,PEV,BEV +Car,2017,0.9205,0.002,0.0468,0.0153,0.0155 +Car,2016,0.9095,0.012,0.0546,0.0082,0.0157 +Car,2015,0.9038,0.0163,0.0595,0.0115,0.0088 +Car,2014,0.8951,0.0167,0.0684,0.0107,0.009 +Car,2013,0.9079,0.0155,0.0646,0.0065,0.0054 +Car,2012,0.9365,0.0137,0.0436,0.0019,0.0043 +Car,2011,0.9131,0.0117,0.0744,0.0006,0.0002 +Car,2010,0.9541,0.0096,0.0355,0.0007,0.0 +Car,2009,0.9548,0.0037,0.0409,0.0004,0.0001 +Car,2008,0.953,0.0015,0.0451,0.0003,0.0001 +Car,2007,0.9676,0.0096,0.0225,0.0003,0.0 +Car,2006,0.963,0.0059,0.0306,0.0003,0.0002 +Car,2005,0.9773,0.0061,0.0164,0.0,0.0002 +Car,2004,0.9808,0.0107,0.0082,0.0002,0.0 +Car,2003,0.9844,0.0088,0.0065,0.0,0.0003 +Car,2002,0.9894,0.0056,0.005,0.0,0.0 +Car,2001,0.9947,0.0031,0.0022,0.0,0.0 +Car,2000,0.9934,0.0066,0.0,0.0,0.0 +Car,1999,0.994,0.005,0.0,0.0,0.001 +Car,1998,0.9877,0.012,0.0002,0.0,0.0002 +Van,2017,0.9728,0.0163,0.0072,0.0036,0.0 +Van,2016,0.9927,0.0073,0.0,0.0,0.0 +Van,2015,0.9873,0.0089,0.0025,0.0,0.0013 +Van,2014,0.9889,0.0063,0.0047,0.0,0.0 +Van,2013,0.992,0.004,0.0027,0.0013,0.0 +Van,2012,0.9965,0.0035,0.0,0.0,0.0 +Van,2011,0.9968,0.0032,0.0,0.0,0.0 +Van,2010,0.9977,0.0,0.0023,0.0,0.0 +Van,2009,0.9907,0.0093,0.0,0.0,0.0 +Van,2008,0.9973,0.0027,0.0,0.0,0.0 +Van,2007,0.9849,0.0151,0.0,0.0,0.0 +Van,2006,0.9927,0.0063,0.001,0.0,0.0 +Van,2005,0.9886,0.0114,0.0,0.0,0.0 +Van,2004,0.9982,0.0018,0.0,0.0,0.0 +Van,2003,0.9944,0.0037,0.0019,0.0,0.0 +Van,2002,0.9979,0.0021,0.0,0.0,0.0 +Van,2001,0.9943,0.0057,0.0,0.0,0.0 +Van,2000,0.997,0.003,0.0,0.0,0.0 +Van,1999,0.9918,0.0082,0.0,0.0,0.0 +Van,1998,0.981,0.019,0.0,0.0,0.0 +SUV,2017,0.9802,0.003,0.0136,0.002,0.0012 +SUV,2016,0.984,0.0104,0.0052,0.0003,0.0 +SUV,2015,0.9821,0.0131,0.0044,0.0,0.0004 +SUV,2014,0.986,0.0044,0.0087,0.0004,0.0004 +SUV,2013,0.9835,0.0102,0.0058,0.0003,0.0003 +SUV,2012,0.9874,0.0054,0.0072,0.0,0.0 +SUV,2011,0.9826,0.0039,0.0131,0.0004,0.0 +SUV,2010,0.9837,0.001,0.0154,0.0,0.0 +SUV,2009,0.9757,0.0019,0.0218,0.0006,0.0 +SUV,2008,0.9784,0.0027,0.0185,0.0003,0.0 +SUV,2007,0.9667,0.0042,0.0291,0.0,0.0 +SUV,2006,0.9881,0.0079,0.004,0.0,0.0 +SUV,2005,0.9962,0.0038,0.0,0.0,0.0 +SUV,2004,0.9939,0.0056,0.0005,0.0,0.0 +SUV,2003,0.9889,0.0111,0.0,0.0,0.0 +SUV,2002,0.9921,0.0079,0.0,0.0,0.0 +SUV,2001,0.9807,0.0167,0.0026,0.0,0.0 +SUV,2000,1.0,0.0,0.0,0.0,0.0 +SUV,1999,0.9956,0.0029,0.0015,0.0,0.0 +SUV,1998,0.9927,0.0073,0.0,0.0,0.0 +Pickup,2017,0.8568,0.1427,0.0005,0.0,0.0 +Pickup,2016,0.8575,0.1421,0.0,0.0,0.0004 +Pickup,2015,0.9087,0.0913,0.0,0.0,0.0 +Pickup,2014,0.9142,0.0848,0.0011,0.0,0.0 +Pickup,2013,0.8758,0.1242,0.0,0.0,0.0 +Pickup,2012,0.8668,0.132,0.0012,0.0,0.0 +Pickup,2011,0.9345,0.0648,0.0007,0.0,0.0 +Pickup,2010,0.91,0.0892,0.0008,0.0,0.0 +Pickup,2009,0.873,0.127,0.0,0.0,0.0 +Pickup,2008,0.8952,0.1048,0.0,0.0,0.0 +Pickup,2007,0.8427,0.1569,0.0004,0.0,0.0 +Pickup,2006,0.8593,0.1407,0.0,0.0,0.0 +Pickup,2005,0.8664,0.1332,0.0004,0.0,0.0 +Pickup,2004,0.8623,0.1377,0.0,0.0,0.0 +Pickup,2003,0.8811,0.1189,0.0,0.0,0.0 +Pickup,2002,0.8654,0.1346,0.0,0.0,0.0 +Pickup,2001,0.8923,0.1077,0.0,0.0,0.0 +Pickup,2000,0.8479,0.1521,0.0,0.0,0.0 +Pickup,1999,0.9634,0.0366,0.0,0.0,0.0 +Pickup,1998,0.9212,0.0787,0.0001,0.0,0.0 +Motorcycle,2017,0.9844,0.0,0.0,0.0,0.0156 +Motorcycle,2016,0.9908,0.0,0.0,0.0,0.0092 +Motorcycle,2015,0.9973,0.0,0.0,0.0,0.0027 +Motorcycle,2014,0.9968,0.0,0.0,0.0,0.0032 +Motorcycle,2013,0.9924,0.0,0.0,0.0,0.0076 +Motorcycle,2012,0.9821,0.0,0.0,0.0,0.0179 +Motorcycle,2011,0.9965,0.0,0.0,0.0,0.0035 +Motorcycle,2010,1.0,0.0,0.0,0.0,0.0 +Motorcycle,2009,0.998,0.0,0.0,0.0,0.002 +Motorcycle,2008,0.9964,0.0,0.0,0.0,0.0036 +Motorcycle,2007,0.9982,0.0,0.0,0.0,0.0018 +Motorcycle,2006,1.0,0.0,0.0,0.0,0.0 +Motorcycle,2005,1.0,0.0,0.0,0.0,0.0 +Motorcycle,2004,1.0,0.0,0.0,0.0,0.0 +Motorcycle,2003,1.0,0.0,0.0,0.0,0.0 +Motorcycle,2002,1.0,0.0,0.0,0.0,0.0 +Motorcycle,2001,1.0,0.0,0.0,0.0,0.0 +Motorcycle,2000,1.0,0.0,0.0,0.0,0.0 +Motorcycle,1999,1.0,0.0,0.0,0.0,0.0 +Motorcycle,1998,1.0,0.0,0.0,0.0,0.0 diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op4.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op4.csv new file mode 100644 index 0000000000..0bc13c8dc5 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op4.csv @@ -0,0 +1,205 @@ +Label,Description,Expression,Coefficient +util_ln_nmods,number of models available,"@np.log(1 + df.NumModels)",coef_ln_nmods +util_ln_nmakes,number of makes available,"@np.log(1 + df.NumMakes)",coef_ln_nmakes +util_mpg,miles per gallon (or equivalent),"@df.MPG",coef_mpg +util_crange,Range for BEV (mi),"@df.Range",coef_crange +util_crangeltwk,range less than average round trip distance to work,"@np.where((df.Range < df.avg_hh_dist_to_work * 2) & (df.fuel_type=='BEV'), 1, 0)",coef_crangeltwk +util_ln_chpc_ev,ln(1+number of chargers per capita in MSA/state),"@np.log(1+CHARGERS_PER_CAP) * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_ln_chpc_ev +#,income related variables,, +util_cprice0,New Purchase Price (2017$) Segmented by Income,"((income < 25000) & (income > -1)) * NewPrice",coef_cprice0 +util_cprice25,New Purchase Price (2017$) Segmented by Income,"((income < 50000) & (income >= 25000)) * NewPrice",coef_cprice25 +util_cprice50,New Purchase Price (2017$) Segmented by Income,"((income < 100000) & (income >=50000)) * NewPrice",coef_cprice50 +util_cprice100,New Purchase Price (2017$) Segmented by Income,"((income < 150000) & (income >= 100000)) * NewPrice",coef_cprice100 +util_cprice150,New Purchase Price (2017$) Segmented by Income,"(income > 150000) * NewPrice",coef_cprice150 +util_cpricem,New Purchase Price (2017$) Missing Income,"((income < 0) | income.isna()) * NewPrice",coef_cpricem +util_i025_age,Vehicle Age Segmented by Income,"((income < 25000) & (income > -1)) * age",coef_i025_age +util_i2550_age,Vehicle Age Segmented by Income,"((income < 50000) & (income >= 25000)) * age",coef_i2550_age +util_i100_age,Vehicle Age Segmented by Income,"((income < 150000) & (income >= 100000)) * age",coef_i100_age +util_i150p_age,Vehicle Age Segmented by Income,"((income < 150000) & (income >= 100000)) * age",coef_i150p_age +util_imiss_age,Vehicle Age Missing Income,"((income < 0) | income.isna()) * age",coef_imiss_age +#,household density variables,, +util_den3_van,500-999 HH / sq mi Van,"((hh_per_mi < 1000) & (hh_per_mi >= 500)) & (body_type == 'Van')",coef_den3_van +util_den4_van,1000-1999 HH / sq mi Van,"((hh_per_mi < 2000) & (hh_per_mi >= 1000)) & (body_type == 'Van')",coef_den4_van +util_den5_van,2000-3999 HH / sq mi Van,"((hh_per_mi < 4000) & (hh_per_mi >= 2000)) & (body_type == 'Van')",coef_den5_van +util_den6_van,4000-9999 HH / sq mi Van,"((hh_per_mi < 10000) & (hh_per_mi >= 4000)) & (body_type == 'Van')",coef_den6_van +util_den7_van,10000-24999 HH / sq mi Van,"((hh_per_mi < 25000) & (hh_per_mi >= 10000)) & (body_type == 'Van')",coef_den7_van +util_den8_van,25000+ HH / sq mi Van,"(hh_per_mi >= 25000) & (body_type == 'Van')",coef_den8_van +util_den3_suv,500-999 HH / sq mi SUV,"((hh_per_mi < 1000) & (hh_per_mi >= 500)) & (body_type == 'SUV')",coef_den3_suv +util_den4_suv,1000-1999 HH / sq mi SUV,"((hh_per_mi < 2000) & (hh_per_mi >= 1000)) & (body_type == 'SUV')",coef_den4_suv +util_den5_suv,2000-3999 HH / sq mi SUV,"((hh_per_mi < 4000) & (hh_per_mi >= 2000)) & (body_type == 'SUV')",coef_den5_suv +util_den6_suv,4000-9999 HH / sq mi SUV,"((hh_per_mi < 10000) & (hh_per_mi >= 4000)) & (body_type == 'SUV')",coef_den6_suv +util_den7_suv,10000-24999 HH / sq mi SUV,"((hh_per_mi < 25000) & (hh_per_mi >= 10000)) & (body_type == 'SUV')",coef_den7_suv +util_den8_suv,25000+ HH / sq mi SUV,"(hh_per_mi >= 25000) & (body_type == 'SUV')",coef_den8_suv +util_den3_pu,500-999 HH / sq mi Pickup,"((hh_per_mi < 1000) & (hh_per_mi >= 500)) & (body_type == 'Pickup')",coef_den3_pu +util_den4_pu,1000-1999 HH / sq mi Pickup,"((hh_per_mi < 2000) & (hh_per_mi >= 1000)) & (body_type == 'Pickup')",coef_den4_pu +util_den5_pu,2000-3999 HH / sq mi Pickup,"((hh_per_mi < 4000) & (hh_per_mi >= 2000)) & (body_type == 'Pickup')",coef_den5_pu +util_den6_pu,4000-9999 HH / sq mi Pickup,"((hh_per_mi < 10000) & (hh_per_mi >= 4000)) & (body_type == 'Pickup')",coef_den6_pu +util_den7_pu,10000-24999 HH / sq mi Pickup,"((hh_per_mi < 25000) & (hh_per_mi >= 10000)) & (body_type == 'Pickup')",coef_den7_pu +util_den8_mc,25000+ HH / sq mi Pickup,"(hh_per_mi >= 25000) & (body_type == 'Pickup')",coef_den8_pu +util_den3_mc,500-999 HH / sq mi Motorcycle,"((hh_per_mi < 1000) & (hh_per_mi >= 500)) & (body_type == 'Motorcycle')",coef_den3_mc +util_den4_mc,1000-1999 HH / sq mi Motorcycle,"((hh_per_mi < 2000) & (hh_per_mi >= 1000)) & (body_type == 'Motorcycle')",coef_den4_mc +util_den5_mc,2000-3999 HH / sq mi Motorcycle,"((hh_per_mi < 4000) & (hh_per_mi >= 2000)) & (body_type == 'Motorcycle')",coef_den5_mc +util_den6_mc,4000-9999 HH / sq mi Motorcycle,"((hh_per_mi < 10000) & (hh_per_mi >= 4000)) & (body_type == 'Motorcycle')",coef_den6_mc +util_den7_mc,10000-24999 HH / sq mi Motorcycle,"((hh_per_mi < 25000) & (hh_per_mi >= 10000)) & (body_type == 'Motorcycle')",coef_den7_mc +util_den8_mc,25000+ HH / sq mi Motorcycle,"(hh_per_mi >= 25000) & (body_type == 'Motorcycle')",coef_den8_mc +util_den3_hyb,500-999 HH / sq mi Hybrid,"((hh_per_mi < 1000) & (hh_per_mi >= 500)) & (fuel_type == 'Hybrid')",coef_den3_hyb +util_den4_hyb,1000-1999 HH / sq mi Hybrid,"((hh_per_mi < 2000) & (hh_per_mi >= 1000)) & (fuel_type == 'Hybrid')",coef_den4_hyb +util_den5_hyb,2000-3999 HH / sq mi Hybrid,"((hh_per_mi < 4000) & (hh_per_mi >= 2000)) & (fuel_type == 'Hybrid')",coef_den5_hyb +util_den6_hyb,4000-9999 HH / sq mi Hybrid,"((hh_per_mi < 10000) & (hh_per_mi >= 4000)) & (fuel_type == 'Hybrid')",coef_den6_hyb +util_den7_hyb,10000-24999 HH / sq mi Hybrid,"((hh_per_mi < 25000) & (hh_per_mi >= 10000)) & (fuel_type == 'Hybrid')",coef_den7_hyb +util_den8_hyb,25000+ HH / sq mi Hybrid,"(hh_per_mi >= 25000) & (fuel_type == 'Hybrid')",coef_den8_hyb +util_den34_ev,500-1999 HH / sq mi Electric,"((hh_per_mi < 2000) & (hh_per_mi >= 500)) & ((fuel_type=='PEV') | (fuel_type=='BEV'))",coef_den34_ev +util_den5_ev,2000-3999 HH / sq mi Electric,"((hh_per_mi < 4000) & (hh_per_mi >= 2000)) & ((fuel_type=='PEV') | (fuel_type=='BEV'))",coef_den5_ev +util_den6_ev,4000-9999 HH / sq mi Electric,"((hh_per_mi < 10000) & (hh_per_mi >= 4000)) & ((fuel_type=='PEV') | (fuel_type=='BEV'))",coef_den6_ev +util_den78_ev,10000+ HH / sq mi Electric,"(hh_per_mi >= 10000) & ((fuel_type=='PEV') | (fuel_type=='BEV'))",coef_den78_ev +#,household drivers,, +util_oneveh_age,Household owns only one vehicle * vehicle age,"(auto_ownership == 1) * age",coef_oneveh_age +util_vhgtdr_van,Household vehicles gt drivers for Van,hh_veh_gt_drivers * (body_type == 'Van'),coef_vhgtdr_van +util_vhgtdr_suv,Household vehicles gt drivers for SUV,hh_veh_gt_drivers * (body_type == 'SUV'),coef_vhgtdr_suv +util_vhgtdr_pu,Household vehicles gt drivers for Pickup,hh_veh_gt_drivers * (body_type == 'Pickup'),coef_vhgtdr_pu +util_vhgtdr_mc,Household vehicles gt drivers for Motorcycle,hh_veh_gt_drivers * (body_type == 'Motorcycle'),coef_vhgtdr_mc +util_vhgtdr_hy,Household vehicles gt drivers for Hybrid,hh_veh_gt_drivers * (fuel_type == 'Hybrid'),coef_vhgtdr_hy +util_vhgtdr_ev,Household vehicles gt drivers for EVs,hh_veh_gt_drivers * ((fuel_type=='PEV') | (fuel_type=='BEV')),coef_vhgtdr_ev +util_vhgtdr_age,Household vehicles gt drivers for age,hh_veh_gt_drivers * age,coef_vhgtdr_age +#,interacting with number of children,, +util_nchld_van,Number of children max 3 * Van,num_children.clip(upper=3) * (body_type == 'Van'),coef_nchld_van +util_nchld_suv,Number of children max 3 * SUV,num_children.clip(upper=3) * (body_type == 'SUV'),coef_nchld_suv +util_nchld_pu,Number of children max 3 * Pickup,num_children.clip(upper=3) * (body_type == 'Pickup'),coef_nchld_pu +util_nchld_mc,Number of children max 3 * Motorcycle,num_children.clip(upper=3) * (body_type == 'Motorcycle'),coef_nchld_mc +util_nchld_hy,Number of children max 3 * Hybrid,num_children.clip(upper=3) * (fuel_type == 'Hybrid'),coef_nchld_hy +util_nchld_ev,Number of children max 3 * EVs,num_children.clip(upper=3) * ((fuel_type=='PEV') | (fuel_type=='BEV')),coef_nchld_ev +util_nchld_age,Number of children max 3 * age,num_children.clip(upper=3) * age,coef_nchld_age +util_dstwkt_age,Total distance to work * age,total_hh_dist_to_work_cap * age,coef_dstwkt_age +#,household already owning vehicles,, +util_van_van,Household already owns a Van -- Van,"(num_hh_Van > 0) & (body_type == 'Van')",coef_van_van +util_van_suv,Household already owns a Van -- SUV,"(num_hh_Van > 0) & (body_type == 'SUV')",coef_van_suv +util_van_pu,Household already owns a Van -- Pickup,"(num_hh_Van > 0) & (body_type == 'Pickup')",coef_van_pu +util_van_mc,Household already owns a Van -- Motorcycle,"(num_hh_Van > 0) & (body_type == 'Motorcycle')",coef_van_mc +util_van_suv,Household already owns an SUV -- Van (symmetrical with above),"(num_hh_SUV > 0) & (body_type == 'Van')",coef_van_suv +util_suv_suv,Household already owns an SUV -- SUV,"(num_hh_SUV > 0) & (body_type == 'SUV')",coef_suv_suv +util_suv_pu,Household already owns an SUV -- Pickup,"(num_hh_SUV > 0) & (body_type == 'Pickup')",coef_suv_pu +util_suv_mc,Household already owns an SUV -- Motorcycle,"(num_hh_SUV > 0) & (body_type == 'Motorcycle')",coef_suv_mc +util_van_pu,Household already owns a Pickup -- Van (symmetrical with above),"(num_hh_Pickup > 0) & (body_type == 'Van')",coef_van_pu +util_suv_pu,Household already owns a Pickup -- SUV (symmetrical with above),"(num_hh_Pickup > 0) & (body_type == 'SUV')",coef_suv_pu +util_pu_pu,Household already owns a Pickup -- Pickup,"(num_hh_Pickup > 0) & (body_type == 'Pickup')",coef_pu_pu +util_pu_mc,Household already owns a Pickup -- Motorcycle,"(num_hh_Pickup > 0) & (body_type == 'Motorcycle')",coef_pu_mc +util_van_mc,Household already owns a Motorcycle -- Van (symmetrical with above),"(num_hh_Motorcycle > 0) & (body_type == 'Van')",coef_van_mc +util_suv_mc,Household already owns a Motorcycle -- SUV (symmetrical with above),"(num_hh_Motorcycle > 0) & (body_type == 'SUV')",coef_suv_mc +util_pu_mc,Household already owns a Motorcycle -- Pickup (symmetrical with above),"(num_hh_Motorcycle > 0) & (body_type == 'Pickup')",coef_pu_mc +util_mc_mc,Household already owns a Motorcycle -- Motorcycle,"(num_hh_Motorcycle > 0) & (body_type == 'Motorcycle')",coef_mc_mc +util_hyb_hyb,Houeshold already owns a Hybrid -- Hybrid,"(num_hh_Hybrid > 0) & (fuel_type == 'Hybrid')",coef_hyb_hyb +util_hyb_ev,Houeshold already owns a Hybrid -- EV,"(num_hh_Hybrid > 0) & ((fuel_type=='PEV') | (fuel_type=='BEV'))",coef_hyb_ev +util_hyb_ev,Houeshold already owns an EV -- Hybrid (symmetrical with above),"(num_hh_EV> 0) & (fuel_type == 'Hybrid')",coef_hyb_ev +util_only_van,Household only owns Vans,"(num_hh_Van > 0) & (num_hh_Van == num_hh_veh_owned) & (body_type == 'Van')",coef_only_van +util_only_suv,Household only owns SUVs,"(num_hh_SUV > 0) & (num_hh_SUV == num_hh_veh_owned) & (body_type == 'SUV')",coef_only_suv +util_only_pu,Household only owns Pickups,"(num_hh_Pickup > 0) & (num_hh_Pickup == num_hh_veh_owned) & (body_type == 'Pickup')",coef_only_pu +util_only_mc,Household only owns Motorcycles,"(num_hh_Motorcycle > 0) & (num_hh_Motorcycle == num_hh_veh_owned) & (body_type == 'Motorcycle')",coef_only_mc +util_only_bev,Household only owns BEVs,"(num_hh_BEV > 0) & (num_hh_BEV == num_hh_veh_owned) & (fuel_type == 'BEV')",coef_only_bev +#,constants,, +util_van,Van ASC,(body_type == 'Van'),coef_van +util_suv,SUV ASC,(body_type == 'SUV'),coef_suv +util_pu,Pickup ASC,(body_type == 'Pickup'),coef_pu +util_mc,Motorcycle ASC,(body_type == 'Motorcycle'),coef_mc +util_dsl,Diesel ASC,(fuel_type == 'Diesel'),coef_dsl +util_hyb,Hybrid ASC,(fuel_type == 'Hybrid'),coef_hyb +util_pev,PEV ASC,(fuel_type == 'PEV'),coef_pev +util_bev,BEV ASC,(fuel_type == 'BEV'),coef_bev +util_age2,Age 2 ASC,(age==2),coef_age2 +util_age3,Age 3 ASC,(age==3),coef_age3 +util_age4,Age 4 ASC,(age==4),coef_age4 +util_age5,Age 5 ASC,(age==5),coef_age5 +util_age6,Age 6 ASC,(age==6),coef_age6 +util_age7,Age 7 ASC,(age==7),coef_age7 +util_age8,Age 8 ASC,(age==8),coef_age8 +util_age9,Age 9 ASC,(age==9),coef_age9 +util_age10,Age 10 ASC,(age==10),coef_age10 +util_age11,Age 11 ASC,(age==11),coef_age11 +util_age12,Age 12 ASC,(age==12),coef_age12 +util_age13,Age 13 ASC,(age==13),coef_age13 +util_age14,Age 14 ASC,(age==14),coef_age14 +util_age15,Age 15 ASC,(age==15),coef_age15 +util_age16,Age 16 ASC,(age==16),coef_age16 +util_age17,Age 17 ASC,(age==17),coef_age17 +util_age18,Age 18 ASC,(age==18),coef_age18 +util_age19,Age 19 ASC,(age==19),coef_age19 +util_age20,Age 20 ASC,(age==20),coef_age20 +#,rural household coefficients,, +util_rural_van,Household is in Rural Area - Van,"home_is_rural & (body_type == 'Van')",coef_rural_van +util_rural_suv,Household is in Rural Area - SUV,"home_is_rural & (body_type == 'SUV')",coef_rural_suv +util_rural_pu,Household is in Rural Area - Pickup,"home_is_rural & (body_type == 'Pickup')",coef_rural_pu +util_rural_mc,Household is in Rural Area - Motorcycle,"home_is_rural & (body_type == 'Motorcycle')",coef_rural_mc +util_rural_hyb,Household is in Rural Area - Hybrid,"home_is_rural & (fuel_type == 'Hybrid')",coef_rural_hyb +util_rural_ev,Household is in Rural Area - Electric,"home_is_rural & ((fuel_type=='PEV') | (fuel_type=='BEV'))",coef_rural_ev +util_rural_age,Household is in Rural Area - Age,"home_is_rural * age",coef_rural_age +#,MSA population coefficients,, +util_smsa_van,MSA population less than 1 million - Van,"@(MSA_POP < 1000000) * (df.body_type == 'Van')",coef_smsa_van +util_smsa_suv,MSA population less than 1 million - SUV,"@(MSA_POP < 1000000) * (df.body_type == 'SUV')",coef_smsa_suv +util_smsa_pu,MSA population less than 1 million - Pickup,"@(MSA_POP < 1000000) * (df.body_type == 'Pickup')",coef_smsa_pu +util_smsa_mc,MSA population less than 1 million - Motorcycle,"@(MSA_POP < 1000000) * (df.body_type == 'Motorcycle')",coef_smsa_mc +util_smsa_hyb,MSA population less than 1 million - Hybrid,"@(MSA_POP < 1000000) * (df.fuel_type == 'Hybrid')",coef_smsa_hyb +util_smsa_ev,MSA population less than 1 million - Electric,"@(MSA_POP < 1000000) * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_smsa_ev +util_smsa_age,MSA population less than 1 million - Age,"@(MSA_POP < 1000000) * df.age",coef_smsa_age +#,Region Specific Constants,, +util_sfo_van,SF and San Jose - Van,"@(CBSA == 'SFO') * (df.body_type == 'Van')",coef_sfo_van +util_sfo_suv,SF and San Jose - SUV,"@(CBSA == 'SFO') * (df.body_type == 'SUV')",coef_sfo_suv +util_sfo_pu,SF and San Jose - Pickup,"@(CBSA == 'SFO') * (df.body_type == 'Pickup')",coef_sfo_pu +util_sfo_mc,SF and San Jose - Motorcycle,"@(CBSA == 'SFO') * (df.body_type == 'Motorcycle')",coef_sfo_mc +util_sfo_hyb,SF and San Jose - Hybrid,"@(CBSA == 'SFO') * (df.fuel_type == 'Hybrid')",coef_sfo_hyb +util_sfo_ev,SF and San Jose - Electric,"@(CBSA == 'SFO') * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_sfo_ev +util_sfo_age,SF and San Jose - Age,"@(CBSA == 'SFO') * df.age",coef_sfo_age +util_san_van,San Diego - Van,"@(CBSA == 'SAN') * (df.body_type == 'Van')",coef_san_van +util_san_suv,San Diego - SUV,"@(CBSA == 'SAN') * (df.body_type == 'SUV')",coef_san_suv +util_san_pu,San Diego - Pickup,"@(CBSA == 'SAN') * (df.body_type == 'Pickup')",coef_san_pu +util_san_mc,San Diego - Motorcycle,"@(CBSA == 'SAN') * (df.body_type == 'Motorcycle')",coef_san_mc +util_san_hyb,San Diego - Hybrid,"@(CBSA == 'SAN') * (df.fuel_type == 'Hybrid')",coef_san_hyb +util_san_ev,San Diego - Electric,"@(CBSA == 'SAN') * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_san_ev +util_san_age,San Diego - Age,"@(CBSA == 'SAN') * df.age",coef_san_age +util_atl_van,Atlanta - Van,"@(CBSA == 'ATL') * (df.body_type == 'Van')",coef_atl_van +util_atl_suv,Atlanta - SUV,"@(CBSA == 'ATL') * (df.body_type == 'SUV')",coef_atl_suv +util_atl_pu,Atlanta - Pickup,"@(CBSA == 'ATL') * (df.body_type == 'Pickup')",coef_atl_pu +util_atl_mc,Atlanta - Motorcycle,"@(CBSA == 'ATL') * (df.body_type == 'Motorcycle')",coef_atl_mc +util_atl_hyb,Atlanta - Hybrid,"@(CBSA == 'ATL') * (df.fuel_type == 'Hybrid')",coef_atl_hyb +util_atl_ev,Atlanta - Electric,"@(CBSA == 'ATL') * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_atl_ev +util_atl_age,Atlanta - Age,"@(CBSA == 'ATL') * df.age",coef_atl_age +util_sea_van,Seattle - Van,"@(CBSA == 'SEA') * (df.body_type == 'Van')",coef_sea_van +util_sea_suv,Seattle - SUV,"@(CBSA == 'SEA') * (df.body_type == 'SUV')",coef_sea_suv +util_sea_pu,Seattle - Pickup,"@(CBSA == 'SEA') * (df.body_type == 'Pickup')",coef_sea_pu +util_sea_mc,Seattle - Motorcycle,"@(CBSA == 'SEA') * (df.body_type == 'Motorcycle')",coef_sea_mc +util_sea_hyb,Seattle - Hybrid,"@(CBSA == 'SEA') * (df.fuel_type == 'Hybrid')",coef_sea_hyb +util_sea_ev,Seattle - Electric,"@(CBSA == 'SEA') * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_sea_ev +util_sea_age,Seattle - Age,"@(CBSA == 'SEA') * df.age",coef_sea_age +util_det_van,Detroit - Van,"@(CBSA == 'DET') * (df.body_type == 'Van')",coef_det_van +util_det_suv,Detroit - SUV,"@(CBSA == 'DET') * (df.body_type == 'SUV')",coef_det_suv +util_det_pu,Detroit - Pickup,"@(CBSA == 'DET') * (df.body_type == 'Pickup')",coef_det_pu +util_det_mc,Detroit - Motorcycle,"@(CBSA == 'DET') * (df.body_type == 'Motorcycle')",coef_det_mc +util_det_hyb,Detroit - Hybrid,"@(CBSA == 'DET') * (df.fuel_type == 'Hybrid')",coef_det_hyb +util_det_ev,Detroit - Electric,"@(CBSA == 'DET') * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_det_ev +util_det_age,Detroit - Age,"@(CBSA == 'DET') * df.age",coef_det_age +util_msp_van,Minneapolis - Van,"@(CBSA == 'MSP') * (df.body_type == 'Van')",coef_msp_van +util_msp_suv,Minneapolis - SUV,"@(CBSA == 'MSP') * (df.body_type == 'SUV')",coef_msp_suv +util_msp_pu,Minneapolis - Pickup,"@(CBSA == 'MSP') * (df.body_type == 'Pickup')",coef_msp_pu +util_msp_mc,Minneapolis - Motorcycle,"@(CBSA == 'MSP') * (df.body_type == 'Motorcycle')",coef_msp_mc +util_msp_hyb,Minneapolis - Hybrid,"@(CBSA == 'MSP') * (df.fuel_type == 'Hybrid')",coef_msp_hyb +util_msp_ev,Minneapolis - Electric,"@(CBSA == 'MSP') * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_msp_ev +util_msp_age,Minneapolis - Age,"@(CBSA == 'MSP') * df.age",coef_msp_age +util_dca_van,Washington DC - Van,"@(CBSA == 'DCA') * (df.body_type == 'Van')",coef_dca_van +util_dca_suv,Washington DC - SUV,"@(CBSA == 'DCA') * (df.body_type == 'SUV')",coef_dca_suv +util_dca_pu,Washington DC - Pickup,"@(CBSA == 'DCA') * (df.body_type == 'Pickup')",coef_dca_pu +util_dca_mc,Washington DC - Motorcycle,"@(CBSA == 'DCA') * (df.body_type == 'Motorcycle')",coef_dca_mc +util_dca_hyb,Washington DC - Hybrid,"@(CBSA == 'DCA') * (df.fuel_type == 'Hybrid')",coef_dca_hyb +util_dca_ev,Washington DC - Electric,"@(CBSA == 'DCA') * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_dca_ev +util_dca_age,Washington DC - Age,"@(CBSA == 'DCA') * df.age",coef_dca_age +util_oreg_van,Oregon - Van,"@(CBSA == 'OREG') * (df.body_type == 'Van')",coef_oreg_van +util_oreg_suv,Oregon - SUV,"@(CBSA == 'OREG') * (df.body_type == 'SUV')",coef_oreg_suv +util_oreg_pu,Oregon - Pickup,"@(CBSA == 'OREG') * (df.body_type == 'Pickup')",coef_oreg_pu +util_oreg_mc,Oregon - Motorcycle,"@(CBSA == 'OREG') * (df.body_type == 'Motorcycle')",coef_oreg_mc +util_oreg_hyb,Oregon - Hybrid,"@(CBSA == 'OREG') * (df.fuel_type == 'Hybrid')",coef_oreg_hyb +util_oreg_ev,Oregon - Electric,"@(CBSA == 'OREG') * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_oreg_ev +util_oreg_age,Oregon - Age,"@(CBSA == 'OREG') * df.age",coef_oreg_age +util_ohio_van,Ohio - Van,"@(CBSA == 'OHIO') * (df.body_type == 'Van')",coef_ohio_van +util_ohio_suv,Ohio - SUV,"@(CBSA == 'OHIO') * (df.body_type == 'SUV')",coef_ohio_suv +util_ohio_pu,Ohio - Pickup,"@(CBSA == 'OHIO') * (df.body_type == 'Pickup')",coef_ohio_pu +util_ohio_mc,Ohio - Motorcycle,"@(CBSA == 'OHIO') * (df.body_type == 'Motorcycle')",coef_ohio_mc +util_ohio_hyb,Ohio - Hybrid,"@(CBSA == 'OHIO') * (df.fuel_type == 'Hybrid')",coef_ohio_hyb +util_ohio_ev,Ohio - Electric,"@(CBSA == 'OHIO') * ((df.fuel_type=='PEV') | (df.fuel_type=='BEV'))",coef_ohio_ev +util_ohio_age,Ohio - Age,"@(CBSA == 'OHIO') * df.age",coef_ohio_age diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op4_coefficients.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op4_coefficients.csv new file mode 100644 index 0000000000..50a1871bff --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op4_coefficients.csv @@ -0,0 +1,189 @@ +coefficient_name,value,constrain +coef_ln_nmods,.612,F +coef_ln_nmakes,.247,F +coef_mpg,0.007,F +coef_crange,0.018,F +coef_crangeltwk,-0.781,F +coef_ln_chpc_ev,1686.871,F +coef_cprice0,-0.00010,F +coef_cprice25,-0.00009,F +coef_cprice50,-0.00008,F +coef_cprice100,-0.00007,F +coef_cprice150,-0.00005,F +coef_cpricem,-0.00007,F +coef_i025_age,0.107,F +coef_i2550_age,0.047,F +coef_i100_age,-0.037,F +coef_i150p_age,-0.071,F +coef_imiss_age,0.001,F +coef_den3_van,-0.019,F +coef_den4_van,-0.089,F +coef_den5_van,-0.193,F +coef_den6_van,-0.413,F +coef_den7_van,-0.710,F +coef_den8_van,-0.509,F +coef_den3_suv,0.005,F +coef_den4_suv,-0.084,F +coef_den5_suv,-0.208,F +coef_den6_suv,-0.422,F +coef_den7_suv,-0.465,F +coef_den8_suv,-0.463,F +coef_den3_pu,-0.167,F +coef_den4_pu,-0.219,F +coef_den5_pu,-0.313,F +coef_den6_pu,-0.720,F +coef_den7_pu,-1.140,F +coef_den8_pu,-2.006,F +coef_den3_mc,-0.030,F +coef_den4_mc,0.157,F +coef_den5_mc,0.185,F +coef_den6_mc,0.436,F +coef_den7_mc,1.106,F +coef_den8_mc,1.533,F +coef_den3_hyb,-0.018,F +coef_den4_hyb,0.070,F +coef_den5_hyb,0.239,F +coef_den6_hyb,0.290,F +coef_den7_hyb,0.406,F +coef_den8_hyb,0.445,F +coef_den34_ev,0.107,F +coef_den5_ev,0.323,F +coef_den6_ev,0.272,F +coef_den78_ev,0.030,F +coef_oneveh_age,-0.028,F +coef_vhgtdr_van,-.108,F +coef_vhgtdr_suv,-0.126,F +coef_vhgtdr_pu,0.287,F +coef_vhgtdr_mc,2.408,F +coef_vhgtdr_hy,-0.168,F +coef_vhgtdr_ev,0.165,F +coef_vhgtdr_age,0.068,F +coef_nchld_van,0.560,F +coef_nchld_suv,0.193,F +coef_nchld_pu,0.016,F +coef_nchld_mc,0.028,F +coef_nchld_hy,-0.045,F +coef_nchld_ev,0.174,F +coef_nchld_age,-0.001,F +coef_dstwkt_age,-0.00013,F +coef_van_van,0.028,F +coef_van_suv,-0.477,F +coef_van_pu,-0.075,F +coef_van_mc,0.527,F +coef_suv_suv,-0.115,F +coef_suv_pu,0.194,F +coef_suv_mc,1.048,F +coef_pu_pu,-0.164,F +coef_pu_mc,1.360,F +coef_mc_mc,3.469,F +coef_hyb_hyb,1.611,F +coef_hyb_ev,0.940,F +coef_only_van,-0.259,F +coef_only_suv,-0.102,F +coef_only_pu,-0.781,F +coef_only_mc,-1.233,F +coef_only_bev,-0.491,F +coef_van,-0.629,F +coef_suv,0.413,F +coef_pu,0.224,F +coef_mc,-5.259,F +coef_dsl,-0.649,F +coef_hyb,-1.055,F +coef_pev,-1.406,F +coef_bev,-4.640,F +coef_age2,0.163,F +coef_age3,0.107,F +coef_age4,0.009,F +coef_age5,-0.079,F +coef_age6,-0.307,F +coef_age7,-0.216,F +coef_age8,-0.346,F +coef_age9,-0.133,F +coef_age10,-0.163,F +coef_age11,-0.060,F +coef_age12,-0.032,F +coef_age13,-0.248,F +coef_age14,-0.350,F +coef_age15,-0.510,F +coef_age16,-0.658,F +coef_age17,-0.772,F +coef_age18,-0.885,F +coef_age19,-1.187,F +coef_age20,0.484,F +coef_rural_van,0.234,F +coef_rural_suv,0.150,F +coef_rural_pu,0.824,F +coef_rural_mc,-0.150,F +coef_rural_hyb,-0.280,F +coef_rural_ev,-0.483,F +coef_rural_age,0.004,F +coef_smsa_van,0.130,F +coef_smsa_suv,0.003,F +coef_smsa_pu,0.357,F +coef_smsa_mc,0.011,F +coef_smsa_hyb,-0.063,F +coef_smsa_ev,-0.341,F +coef_smsa_age,0.011,F +coef_sfo_van,0.047,F +coef_sfo_suv,-0.386,F +coef_sfo_pu,-0.527,F +coef_sfo_mc,-0.021,F +coef_sfo_hyb,0.942,F +coef_sfo_ev,1.497,F +coef_sfo_age,0.058,F +coef_san_van,0.055,F +coef_san_suv,-0.132,F +coef_san_pu,-0.187,F +coef_san_mc,-0.129,F +coef_san_hyb,0.0629,F +coef_san_ev,0.0922,F +coef_san_age,0.030,F +coef_atl_van,-0.158,F +coef_atl_suv,-0.072,F +coef_atl_pu,-0.107,F +coef_atl_mc,-0.284,F +coef_atl_hyb,-0.180,F +coef_atl_ev,0.547,F +coef_atl_age,0.016,F +coef_sea_van,0.088,F +coef_sea_suv,-0.134,F +coef_sea_pu,-0.131,F +coef_sea_mc,-0.275,F +coef_sea_hyb,0.421,F +coef_sea_ev,0.706,F +coef_sea_age,0.060,F +coef_det_van,0.703,F +coef_det_suv,0.260,F +coef_det_pu,-0.150,F +coef_det_mc,0.427,F +coef_det_hyb,-0.982,F +coef_det_ev,0.531,F +coef_det_age,-0.045,F +coef_msp_van,0.263,F +coef_msp_suv,-0.052,F +coef_msp_pu,-0.087,F +coef_msp_mc,0.083,F +coef_msp_hyb,-0.111,F +coef_msp_ev,-0.733,F +coef_msp_age,0.008,F +coef_dca_van,0.062,F +coef_dca_suv,0.273,F +coef_dca_pu,-0.411,F +coef_dca_mc,0.062,F +coef_dca_hyb,-0.428,F +coef_dca_ev,-1.605,F +coef_dca_age,-0.040,F +coef_oreg_van,0.037,F +coef_oreg_suv,-0.121,F +coef_oreg_pu,0.185,F +coef_oreg_mc,0.044,F +coef_oreg_hyb,0.819,F +coef_oreg_ev,0.278,F +coef_oreg_age,0.056,F +coef_ohio_van,0.170,F +coef_ohio_suv,-0.147,F +coef_ohio_pu,-0.355,F +coef_ohio_mc,0.140,F +coef_ohio_hyb,-0.142,F +coef_ohio_ev,-1.590,F +coef_ohio_age,-0.008,F diff --git a/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_data.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_data.csv new file mode 100644 index 0000000000..7831b521dd --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_data.csv @@ -0,0 +1,501 @@ +body_type,fuel_type,vehicle_year,NumMakes,NumModels,MPG,Range,NewPrice,auto_operating_cost,co2gpm +Car,Gas,2017,39,738,24,0,32926.61346,20.17,388.85 +Car,Gas,2016,39,734,23.7,0,33383.61537,20.32822785,392.27 +Car,Gas,2015,39,740,23.4,0,33369.12233,20.49051282,398.43 +Car,Gas,2014,41,717,23.2,0,32571.33539,20.60103448,402.86 +Car,Gas,2013,40,702,23.1,0,32976.62731,20.65701299,402.94 +Car,Gas,2012,42,668,22.4,0,32959.56219,21.06285714,417.59 +Car,Gas,2011,42,617,21.7,0,34409.88113,21.49488479,428.48 +Car,Gas,2010,44,641,21.5,0,35279.71318,21.62348837,434.37 +Car,Gas,2009,45,637,21,0,35638.52401,21.95571429,444.46 +Car,Gas,2008,46,649,20.5,0,35745.78309,22.30414634,454.02 +Car,Gas,2007,43,594,20.3,0,37613.76774,22.44832512,454.23 +Car,Gas,2006,43,595,20.2,0,38581.65596,22.52148515,456.18 +Car,Gas,2005,41,661,20.4,0,37537.36453,22.37588235,452.05 +Car,Gas,2004,43,628,20.6,0,37988.14511,22.2331068,445.25 +Car,Gas,2003,42,573,20.5,0,37597.37624,22.30414634,450.5 +Car,Gas,2002,42,543,20.8,0,37380.8733,22.09307692,439.76 +Car,Gas,2001,39,505,21,0,37361.09207,21.95571429,437.72 +Car,Gas,2000,39,473,21,0,38856.86312,21.95571429,437.7 +Car,Gas,1999,40,483,21.2,0,38447.21363,21.8209434,435.35 +Car,Gas,1998,42,464,21.3,0,38952.55256,21.75450704,433.86 +Car,Diesel,2017,3,9,35.2,0,38787.1746,16.19272727,290 +Car,Diesel,2016,2,8,31.4,0,39325.51763,17.22414013,325.13 +Car,Diesel,2015,4,23,32.8,0,39308.445,16.81634146,311.57 +Car,Diesel,2014,4,20,31.5,0,38368.66109,17.19380952,322.3 +Car,Diesel,2013,2,12,31.8,0,38846.09034,17.10396226,319.17 +Car,Diesel,2012,2,8,32.3,0,38825.98783,16.9579257,314.55 +Car,Diesel,2011,3,8,31.4,0,40534.44697,17.22414013,324.25 +Car,Diesel,2010,3,8,31.4,0,41559.0992,17.22414013,324.25 +Car,Diesel,2009,3,6,30.2,0,41981.77425,17.60377483,339.1 +Car,Diesel,2008,1,1,26,0,42108.12422,19.20846154,391.54 +Car,Diesel,2007,1,1,26,0,44308.58881,19.20846154,391.54 +Car,Diesel,2006,2,7,32.3,0,45448.75007,16.9579257,317.06 +Car,Diesel,2005,2,13,32,0,44218.5867,17.045,321.07 +Car,Diesel,2004,1,10,32.6,0,44749.60108,16.87245399,315.61 +Car,Diesel,2003,1,8,35.6,0,44289.27981,16.09696629,287.33 +Car,Diesel,2002,1,8,35.6,0,44034.24182,16.09696629,287.33 +Car,Diesel,2001,1,6,35.5,0,44010.93975,16.12070423,288.19 +Car,Diesel,2000,1,6,35.5,0,45772.94097,16.12070423,288.19 +Car,Diesel,1999,2,8,34.5,0,45290.37855,16.36565217,299.48 +Car,Diesel,1998,2,8,33.8,0,45885.66203,16.54573964,306.26 +Car,Hybrid,2017,11,29,40.4,0,34769.7517,15.09574257,242.55 +Car,Hybrid,2016,14,31,36.8,0,35252.33528,15.82217391,253.65 +Car,Hybrid,2015,12,33,35.5,0,35237.03096,16.12070423,261.42 +Car,Hybrid,2014,15,40,34.8,0,34394.58617,16.29068966,270.95 +Car,Hybrid,2013,15,34,35.3,0,34822.56518,16.16858357,265.21 +Car,Hybrid,2012,12,25,34.2,0,34804.54481,16.44192982,280.1 +Car,Hybrid,2011,11,20,33.6,0,36336.04847,16.59857143,285.2 +Car,Hybrid,2010,8,13,34.5,0,37254.57126,16.36565217,276.5 +Car,Hybrid,2009,6,8,32.3,0,37633.4673,16.9579257,293.75 +Car,Hybrid,2008,6,8,31.8,0,37746.73043,17.10396226,299.43 +Car,Hybrid,2007,5,7,33.3,0,39719.27956,16.67900901,281.75 +Car,Hybrid,2006,2,5,42.4,0,40741.3474,14.7454717,224.05 +Car,Hybrid,2005,2,8,41.9,0,39638.59951,14.82990453,218.55 +Car,Hybrid,2004,2,7,43.9,0,40114.61351,14.50371298,204.44 +Car,Hybrid,2003,2,7,43.3,0,39701.9705,14.59840647,207.34 +Car,Hybrid,2002,2,3,47,0,39473.34834,14.05297872,191.17 +Car,Hybrid,2001,2,4,47,0,39452.45982,14.05297872,190.65 +Car,Hybrid,2000,1,1,53,0,41031.95988,13.33037736,167.68 +Car,Hybrid,1999,0,0,0,0,40599.37938,13.33037736,0 +Car,Hybrid,1998,0,0,0,0,41133.00574,13.33037736,0 +Car,PEV,2017,9,14,35.1,0,56882.64178,16.21700855,138.64 +Car,PEV,2016,8,14,33.8,0,65356.24918,16.54573964,142.21 +Car,PEV,2015,8,11,32.1,0,55150.60558,17.01579439,181.55 +Car,PEV,2014,8,10,35.1,0,44172.85443,16.21700855,160 +Car,PEV,2013,3,4,40.8,0,52370.99125,15.02294118,118 +Car,PEV,2012,3,3,35.7,0,47444.73245,16.07336134,129.67 +Car,PEV,2011,1,1,37,0,38741.26195,15.77810811,84 +Car,PEV,2010,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,2009,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,2008,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,2007,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,2006,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,2005,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,2004,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,2003,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,2002,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,2001,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,2000,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,1999,0,0,0,0,38741.26195,15.77810811,0 +Car,PEV,1998,0,0,0,0,38741.26195,15.77810811,0 +Car,BEV,2017,13,23,108.7,169,65091.20275,10.4298896,0 +Car,BEV,2016,11,25,103.1,173,74787.61065,10.57979631,0 +Car,BEV,2015,10,18,103.2,157,63109.22167,10.57697674,0 +Car,BEV,2014,10,13,106.1,115,50547.30465,10.49752121,0 +Car,BEV,2013,9,12,104.3,105,59928.48966,10.54631831,0 +Car,BEV,2012,5,5,95.6,113,54291.33743,10.80807531,0 +Car,BEV,2011,3,4,93.8,73,44331.89559,10.86829424,0 +Car,BEV,2010,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,2009,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,2008,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,2007,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,2006,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,2005,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,2004,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,2003,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,2002,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,2001,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,2000,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,1999,0,0,0,0,44331.89559,10.86829424,0 +Car,BEV,1998,0,0,0,0,44331.89559,10.86829424,0 +Van,Gas,2017,9,17,18.4,0,30190.16873,24.11434783,510.06 +Van,Gas,2016,9,17,18,0,30609.19041,24.47666667,516.47 +Van,Gas,2015,11,32,16.3,0,30595.90185,26.21490798,577.5 +Van,Gas,2014,12,48,15.7,0,29864.41689,26.91828025,587.94 +Van,Gas,2013,11,48,15.9,0,30236.02606,26.67792453,587.33 +Van,Gas,2012,12,51,15.4,0,30220.37918,27.29051948,603.9 +Van,Gas,2011,11,47,15.1,0,31550.1659,27.67754967,611 +Van,Gas,2010,10,30,17.2,0,32347.70849,25.25186047,530.66 +Van,Gas,2009,11,43,16.4,0,32676.69949,26.10268293,553.56 +Van,Gas,2008,11,46,16.5,0,32775.04455,25.99181818,550.05 +Van,Gas,2007,13,49,16.3,0,34487.78588,26.21490798,553.75 +Van,Gas,2006,14,52,16.7,0,35375.23544,25.77407186,542.24 +Van,Gas,2005,14,65,16.4,0,34417.73234,26.10268293,549.76 +Van,Gas,2004,13,64,16,0,34831.04973,26.56,565.75 +Van,Gas,2003,12,68,15.8,0,34472.75663,26.79734177,574.52 +Van,Gas,2002,14,65,16,0,34274.24668,26.56,564.71 +Van,Gas,2001,13,62,15.8,0,34256.10942,26.79734177,571.5 +Van,Gas,2000,14,69,16.1,0,35627.57086,26.44354037,562.93 +Van,Gas,1999,13,67,15.9,0,35251.96627,26.67792453,566.55 +Van,Gas,1998,4,37,14.5,0,35715.30779,28.49965517,615.25 +Van,Diesel,2017,0,0,0,0,36228.20248,24.11434783,0 +Van,Diesel,2016,0,0,0,0,36731.02849,24.47666667,0 +Van,Diesel,2015,0,0,0,0,36715.08222,26.21490798,0 +Van,Diesel,2014,0,0,0,0,35837.30027,26.91828025,0 +Van,Diesel,2013,0,0,0,0,36283.23127,26.67792453,0 +Van,Diesel,2012,0,0,0,0,36264.45502,27.29051948,0 +Van,Diesel,2011,0,0,0,0,37860.19908,27.67754967,0 +Van,Diesel,2010,0,0,0,0,38817.25019,25.25186047,0 +Van,Diesel,2009,0,0,0,0,39212.03939,26.10268293,0 +Van,Diesel,2008,0,0,0,0,39330.05345,25.99181818,0 +Van,Diesel,2007,0,0,0,0,41385.34306,26.21490798,0 +Van,Diesel,2006,0,0,0,0,42450.28253,25.77407186,0 +Van,Diesel,2005,0,0,0,0,41301.2788,26.10268293,0 +Van,Diesel,2004,0,0,0,0,41797.25967,26.56,0 +Van,Diesel,2003,0,0,0,0,41367.30796,26.79734177,0 +Van,Diesel,2002,0,0,0,0,41129.09602,26.56,0 +Van,Diesel,2001,0,0,0,0,41107.3313,26.79734177,0 +Van,Diesel,2000,0,0,0,0,42753.08503,26.44354037,0 +Van,Diesel,1999,0,0,0,0,42302.35952,26.67792453,0 +Van,Diesel,1998,0,0,0,0,42858.36935,28.49965517,0 +Van,Hybrid,2017,0,0,0,0,33209.1856,15.23574257,0 +Van,Hybrid,2016,0,0,0,0,33670.10945,15.96217391,0 +Van,Hybrid,2015,0,0,0,0,33655.49203,16.26070423,0 +Van,Hybrid,2014,0,0,0,0,32850.85858,16.43068966,0 +Van,Hybrid,2013,0,0,0,0,33259.62867,16.30858357,0 +Van,Hybrid,2012,0,0,0,0,33242.4171,16.58192982,0 +Van,Hybrid,2011,0,0,0,0,34705.18249,16.73857143,0 +Van,Hybrid,2010,0,0,0,0,35582.47934,16.50565217,0 +Van,Hybrid,2009,0,0,0,0,35944.36944,17.0979257,0 +Van,Hybrid,2008,0,0,0,0,36052.549,17.24396226,0 +Van,Hybrid,2007,0,0,0,0,37936.56447,16.81900901,0 +Van,Hybrid,2006,0,0,0,0,38912.75898,14.8854717,0 +Van,Hybrid,2005,0,0,0,0,37859.50557,14.96990453,0 +Van,Hybrid,2004,0,0,0,0,38314.1547,14.64371298,0 +Van,Hybrid,2003,0,0,0,0,37920.03229,14.73840647,0 +Van,Hybrid,2002,0,0,0,0,37701.67135,14.19297872,0 +Van,Hybrid,2001,0,0,0,0,37681.72036,14.19297872,0 +Van,Hybrid,2000,0,0,0,0,39190.32794,13.47037736,0 +Van,Hybrid,1999,0,0,0,0,38777.16289,13.47037736,0 +Van,Hybrid,1998,0,0,0,0,39286.83857,13.47037736,0 +Van,PEV,2017,1,1,32,0,53599.94056,17.185,106 +Van,PEV,2016,0,0,0,0,61584.53548,17.185,0 +Van,PEV,2015,0,0,0,0,51967.86028,17.185,0 +Van,PEV,2014,0,0,0,0,41623.63591,17.185,0 +Van,PEV,2013,0,0,0,0,49348.65769,17.185,0 +Van,PEV,2012,0,0,0,0,44706.69363,17.185,0 +Van,PEV,2011,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2010,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2009,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2008,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2007,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2006,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2005,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2004,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2003,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2002,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2001,0,0,0,0,36505.50102,17.185,0 +Van,PEV,2000,0,0,0,0,36505.50102,17.185,0 +Van,PEV,1999,0,0,0,0,36505.50102,17.185,0 +Van,PEV,1998,0,0,0,0,36505.50102,17.185,0 +Van,BEV,2017,0,0,0,0,60163.19858,17.185,0 +Van,BEV,2016,0,0,0,0,69125.49901,17.185,0 +Van,BEV,2015,0,0,0,0,58331.27174,17.185,0 +Van,BEV,2014,0,0,0,0,46720.40766,17.185,0 +Van,BEV,2013,0,0,0,0,55391.35047,17.185,0 +Van,BEV,2012,0,0,0,0,50180.98264,17.185,0 +Van,BEV,2011,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2010,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2009,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2008,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2007,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2006,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2005,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2004,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2003,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2002,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2001,0,0,0,0,40975.56237,17.185,0 +Van,BEV,2000,0,0,0,0,40975.56237,17.185,0 +Van,BEV,1999,0,0,0,0,40975.56237,17.185,0 +Van,BEV,1998,0,0,0,0,40975.56237,17.185,0 +SUV,Gas,2017,30,318,21.2,0,37821.12858,22.3309434,432.19 +SUV,Gas,2016,27,293,21.4,0,38346.06347,22.19869159,429.37 +SUV,Gas,2015,26,301,20.9,0,38329.41605,22.53406699,438.28 +SUV,Gas,2014,26,271,20.3,0,37413.03871,22.95832512,449.05 +SUV,Gas,2013,27,267,20,0,37878.57695,23.18,460.25 +SUV,Gas,2012,28,257,19.5,0,37858.97512,23.56461538,468.49 +SUV,Gas,2011,29,287,19.4,0,39524.88281,23.64391753,473.4 +SUV,Gas,2010,31,280,18.9,0,40524.01472,24.05301587,484.89 +SUV,Gas,2009,34,325,18.2,0,40936.16249,24.66351648,502.83 +SUV,Gas,2008,34,313,17.7,0,41059.36555,25.12915254,515.69 +SUV,Gas,2007,34,294,17.6,0,43205.02465,25.22545455,515.55 +SUV,Gas,2006,33,279,17.3,0,44316.78868,25.52104046,527.77 +SUV,Gas,2005,33,280,17.1,0,43117.26416,25.72385965,531.9 +SUV,Gas,2004,33,260,16.6,0,43635.05292,26.25228916,546.56 +SUV,Gas,2003,31,253,16.8,0,43186.19656,26.03714286,544.4 +SUV,Gas,2002,31,222,16.7,0,42937.51063,26.14407186,546.93 +SUV,Gas,2001,28,195,17.1,0,42914.78893,25.72385965,534.91 +SUV,Gas,2000,22,163,17,0,44632.90518,25.82705882,539.03 +SUV,Gas,1999,22,160,17.2,0,44162.36162,25.62186047,533.63 +SUV,Gas,1998,25,167,17.4,0,44742.81877,25.42137931,523.18 +SUV,Diesel,2017,3,5,25,0,44897.93782,20.18,405 +SUV,Diesel,2016,7,11,25,0,45521.09463,20.18,407.73 +SUV,Diesel,2015,6,10,25.2,0,45501.33227,20.0847619,409.8 +SUV,Diesel,2014,6,8,24.5,0,44413.4892,20.42489796,418.88 +SUV,Diesel,2013,5,5,23.4,0,44966.1355,21.00051282,438.4 +SUV,Diesel,2012,3,3,21,0,44942.86593,22.46571429,485.59 +SUV,Diesel,2011,3,3,21.3,0,46920.48592,22.26450704,478.24 +SUV,Diesel,2010,3,3,20.7,0,48106.56799,22.67275362,493.58 +SUV,Diesel,2009,3,3,20.7,0,48595.8338,22.67275362,493.58 +SUV,Diesel,2008,3,6,19.7,0,48742.08969,23.4084264,520.36 +SUV,Diesel,2007,3,6,19.7,0,51289.22862,23.4084264,520.36 +SUV,Diesel,2006,2,2,19,0,52609.0177,23.96947368,541.79 +SUV,Diesel,2005,1,1,21,0,51185.04703,22.46571429,484.76 +SUV,Diesel,2004,1,1,18,0,51799.72059,24.84666667,565.56 +SUV,Diesel,2003,0,0,0,0,51266.87756,28.18,0 +SUV,Diesel,2002,0,0,0,0,50971.65936,28.18,0 +SUV,Diesel,2001,0,0,0,0,50944.68615,28.18,0 +SUV,Diesel,2000,0,0,0,0,52984.28357,28.18,0 +SUV,Diesel,1999,2,2,15,0,52425.69538,28.18,678.67 +SUV,Diesel,1998,2,2,15,0,53114.76338,28.18,678.67 +SUV,Hybrid,2017,5,10,29.6,0,40628.40849,18.31513514,302.1 +SUV,Hybrid,2016,5,11,29.1,0,41192.30676,18.48927835,305.82 +SUV,Hybrid,2015,7,13,27.5,0,41174.42369,19.08909091,323.54 +SUV,Hybrid,2014,8,12,26.3,0,40190.02808,19.58684411,334.08 +SUV,Hybrid,2013,8,13,23.1,0,40690.12098,21.16701299,386.15 +SUV,Hybrid,2012,8,14,23.9,0,40669.0642,20.73230126,381.01 +SUV,Hybrid,2011,12,20,24.9,0,42458.62419,20.22819277,370.01 +SUV,Hybrid,2010,11,17,26.1,0,43531.91684,19.67425287,351.19 +SUV,Hybrid,2009,10,16,25.4,0,43974.65635,19.99102362,361.73 +SUV,Hybrid,2008,8,14,26.1,0,44107.00417,19.67425287,349.33 +SUV,Hybrid,2007,5,8,26.8,0,46411.9252,19.37402985,332.95 +SUV,Hybrid,2006,5,8,27,0,47606.21011,19.29111111,329.48 +SUV,Hybrid,2005,1,2,28,0,46317.65066,18.89428571,317.8 +SUV,Hybrid,2004,0,0,0,0,46873.87239,18.89428571,0 +SUV,Hybrid,2003,0,0,0,0,46391.69959,18.89428571,0 +SUV,Hybrid,2002,0,0,0,0,46124.5549,18.89428571,0 +SUV,Hybrid,2001,0,0,0,0,46100.14668,18.89428571,0 +SUV,Hybrid,2000,0,0,0,0,47945.79041,18.89428571,0 +SUV,Hybrid,1999,0,0,0,0,47440.32067,18.89428571,0 +SUV,Hybrid,1998,0,0,0,0,48063.86236,18.89428571,0 +SUV,PEV,2017,4,4,23,0,66088.39654,21.22347826,260 +SUV,PEV,2016,4,4,23,0,75933.35291,21.22347826,260.5 +SUV,PEV,2015,1,1,22,0,64076.05162,21.81636364,260 +SUV,PEV,2014,0,0,0,0,51321.68669,21.81636364,0 +SUV,PEV,2013,0,0,0,0,60846.59096,21.81636364,0 +SUV,PEV,2012,0,0,0,0,55123.07786,21.81636364,0 +SUV,PEV,2011,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2010,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2009,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2008,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2007,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2006,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2005,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2004,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2003,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2002,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2001,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,2000,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,1999,0,0,0,0,45011.05789,21.81636364,0 +SUV,PEV,1998,0,0,0,0,45011.05789,21.81636364,0 +SUV,BEV,2017,2,7,87.4,245,75017.02367,11.61249428,0 +SUV,BEV,2016,2,6,87.5,237,86192.04627,11.60857143,0 +SUV,BEV,2015,0,0,0,0,72732.80836,12.49654676,0 +SUV,BEV,2014,2,2,69.5,115,58255.31238,12.49654676,0 +SUV,BEV,2013,2,2,69.5,115,69067.04343,12.49654676,0 +SUV,BEV,2012,2,2,69,113,62570.27637,12.52782609,0 +SUV,BEV,2011,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2010,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2009,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2008,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2007,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2006,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2005,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2004,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2003,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2002,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2001,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,2000,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,1999,0,0,0,0,51092.10953,12.52782609,0 +SUV,BEV,1998,0,0,0,0,51092.10953,12.52782609,0 +Pickup,Gas,2017,8,84,18.5,0,33196.53386,24.54621622,488.67 +Pickup,Gas,2016,7,72,18.5,0,33657.28211,24.54621622,488.18 +Pickup,Gas,2015,6,66,18.6,0,33642.67026,24.45903226,485.79 +Pickup,Gas,2014,8,65,17.1,0,32838.34335,25.87385965,531.12 +Pickup,Gas,2013,7,69,16.9,0,33246.9577,26.08147929,532.93 +Pickup,Gas,2012,8,100,17.3,0,33229.7527,25.67104046,520.49 +Pickup,Gas,2011,8,110,17.3,0,34691.96081,25.67104046,522.85 +Pickup,Gas,2010,10,108,17.2,0,35568.92344,25.77186047,525.8 +Pickup,Gas,2009,11,138,16.8,0,35930.67567,26.18714286,534.88 +Pickup,Gas,2008,14,148,16.3,0,36038.81401,26.73490798,556.44 +Pickup,Gas,2007,12,162,16.1,0,37922.11173,26.96354037,558.22 +Pickup,Gas,2006,12,151,16.2,0,38897.93434,26.84851852,561 +Pickup,Gas,2005,7,127,16.4,0,37845.08219,26.62268293,556.04 +Pickup,Gas,2004,7,140,16.3,0,38299.55811,26.73490798,557.48 +Pickup,Gas,2003,8,127,15.8,0,37905.58585,27.31734177,571.99 +Pickup,Gas,2002,9,127,15.7,0,37687.3081,27.43828025,577.81 +Pickup,Gas,2001,8,126,16,0,37667.36471,27.08,566.42 +Pickup,Gas,2000,8,119,16.5,0,39175.39755,26.51181818,550.73 +Pickup,Gas,1999,8,119,16,0,38762.38991,27.08,566.51 +Pickup,Gas,1998,8,124,16.1,0,39271.87141,26.96354037,561.74 +Pickup,Diesel,2017,3,7,23,0,39835.84063,21.37347826,448.43 +Pickup,Diesel,2016,3,7,23.6,0,40388.73853,21.04186441,434.71 +Pickup,Diesel,2015,1,3,23,0,40371.20431,21.37347826,443.67 +Pickup,Diesel,2014,1,2,22.5,0,39406.01202,21.66333333,450.5 +Pickup,Diesel,2013,0,0,0,0,39896.34924,21.66333333,0 +Pickup,Diesel,2012,0,0,0,0,39875.70323,21.66333333,0 +Pickup,Diesel,2011,1,1,20,0,41630.35298,23.33,509 +Pickup,Diesel,2010,0,0,0,0,42682.70813,23.33,0 +Pickup,Diesel,2009,0,0,0,0,43116.8108,23.33,0 +Pickup,Diesel,2008,0,0,0,0,43246.57682,23.33,0 +Pickup,Diesel,2007,0,0,0,0,45506.53408,23.33,0 +Pickup,Diesel,2006,0,0,0,0,46677.52121,23.33,0 +Pickup,Diesel,2005,0,0,0,0,45414.09862,23.33,0 +Pickup,Diesel,2004,0,0,0,0,45959.46973,23.33,0 +Pickup,Diesel,2003,0,0,0,0,45486.70302,23.33,0 +Pickup,Diesel,2002,0,0,0,0,45224.76972,23.33,0 +Pickup,Diesel,2001,0,0,0,0,45200.83765,23.33,0 +Pickup,Diesel,2000,0,0,0,0,47010.47706,23.33,0 +Pickup,Diesel,1999,0,0,0,0,46514.86789,23.33,0 +Pickup,Diesel,1998,2,4,15,0,47126.2457,28.33,678.67 +Pickup,Hybrid,2017,2,4,19,0,36516.18724,24.11947368,467.5 +Pickup,Hybrid,2016,2,4,19,0,37023.01032,24.11947368,468 +Pickup,Hybrid,2015,0,0,0,0,37006.93728,24.11947368,0 +Pickup,Hybrid,2014,0,0,0,0,36122.17768,24.11947368,0 +Pickup,Hybrid,2013,2,4,21,0,36571.65347,22.61571429,420.5 +Pickup,Hybrid,2012,2,4,21,0,36552.72796,22.61571429,423.19 +Pickup,Hybrid,2011,2,4,21,0,38161.1569,22.61571429,423.19 +Pickup,Hybrid,2010,2,4,21.5,0,39125.81578,22.28348837,413.57 +Pickup,Hybrid,2009,2,4,20.5,0,39523.74323,22.96414634,433.77 +Pickup,Hybrid,2008,0,0,0,0,39642.69542,22.96414634,0 +Pickup,Hybrid,2007,2,4,16.5,0,41714.3229,26.51181818,539.1 +Pickup,Hybrid,2006,2,4,16.5,0,42787.72777,26.51181818,539.1 +Pickup,Hybrid,2005,2,4,16.5,0,41629.5904,26.51181818,539.1 +Pickup,Hybrid,2004,2,4,16.5,0,42129.51392,26.51181818,539.1 +Pickup,Hybrid,2003,0,0,0,0,41696.14444,26.51181818,0 +Pickup,Hybrid,2002,0,0,0,0,41456.03891,26.51181818,0 +Pickup,Hybrid,2001,0,0,0,0,41434.10118,26.51181818,0 +Pickup,Hybrid,2000,0,0,0,0,43092.93731,26.51181818,0 +Pickup,Hybrid,1999,0,0,0,0,42638.6289,26.51181818,0 +Pickup,Hybrid,1998,0,0,0,0,43199.05855,26.51181818,0 +Pickup,PEV,2017,0,0,0,0,58937.47257,26.51181818,0 +Pickup,PEV,2016,0,0,0,0,67717.1809,26.51181818,0 +Pickup,PEV,2015,0,0,0,0,57142.86822,26.51181818,0 +Pickup,PEV,2014,0,0,0,0,45768.55635,26.51181818,0 +Pickup,PEV,2013,0,0,0,0,54262.843,26.51181818,0 +Pickup,PEV,2012,0,0,0,0,49158.62783,26.51181818,0 +Pickup,PEV,2011,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2010,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2009,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2008,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2007,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2006,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2005,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2004,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2003,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2002,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2001,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,2000,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,1999,0,0,0,0,40140.75282,26.51181818,0 +Pickup,PEV,1998,0,0,0,0,40140.75282,26.51181818,0 +Pickup,BEV,2017,0,0,0,0,66154.30594,26.51181818,0 +Pickup,BEV,2016,0,0,0,0,76009.0806,26.51181818,0 +Pickup,BEV,2015,0,0,0,0,64139.95412,26.51181818,0 +Pickup,BEV,2014,0,0,0,0,51372.86938,26.51181818,0 +Pickup,BEV,2013,0,0,0,0,60907.27275,26.51181818,0 +Pickup,BEV,2012,0,0,0,0,55178.05164,26.51181818,0 +Pickup,BEV,2011,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2010,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2009,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2008,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2007,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2006,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2005,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2004,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2003,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2002,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2001,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,2000,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,1999,0,0,0,0,45055.94704,26.51181818,0 +Pickup,BEV,1998,0,0,0,0,45055.94704,26.51181818,0 +Motorcycle,Gas,2017,11,23,53,0,11531.02445,12.49037736,365.46 +Motorcycle,Gas,2016,13,28,53,0,11691.06825,12.49037736,365.46 +Motorcycle,Gas,2015,11,30,53,0,11685.99273,12.49037736,365.46 +Motorcycle,Gas,2014,11,30,53,0,11406.60473,12.49037736,365.46 +Motorcycle,Gas,2013,12,30,53,0,11548.53949,12.49037736,365.46 +Motorcycle,Gas,2012,12,25,53,0,11542.56322,12.49037736,365.46 +Motorcycle,Gas,2011,12,26,53,0,12050.47039,12.49037736,365.46 +Motorcycle,Gas,2010,11,29,53,0,12355.08887,12.49037736,365.46 +Motorcycle,Gas,2009,12,30,53,0,12480.74577,12.49037736,365.46 +Motorcycle,Gas,2008,11,28,53,0,12518.30831,12.49037736,365.46 +Motorcycle,Gas,2007,12,32,53,0,13172.48359,12.49037736,365.46 +Motorcycle,Gas,2006,12,33,53,0,13511.4417,12.49037736,365.46 +Motorcycle,Gas,2005,12,27,53,0,13145.7269,12.49037736,365.46 +Motorcycle,Gas,2004,10,26,53,0,13303.59196,12.49037736,365.46 +Motorcycle,Gas,2003,11,30,53,0,13166.74322,12.49037736,365.46 +Motorcycle,Gas,2002,13,31,53,0,13090.92308,12.49037736,365.46 +Motorcycle,Gas,2001,15,33,53,0,13083.99561,12.49037736,365.46 +Motorcycle,Gas,2000,10,22,53,0,13607.82029,12.49037736,365.46 +Motorcycle,Gas,1999,10,20,53,0,13464.35949,12.49037736,365.46 +Motorcycle,Gas,1998,15,40,53,0,13641.33109,12.49037736,365.46 +Motorcycle,Diesel,2017,0,0,0,0,11531.02445,12.49037736,0 +Motorcycle,Diesel,2016,0,0,0,0,11691.06825,12.49037736,0 +Motorcycle,Diesel,2015,0,0,0,0,11685.99273,12.49037736,0 +Motorcycle,Diesel,2014,0,0,0,0,11406.60473,12.49037736,0 +Motorcycle,Diesel,2013,0,0,0,0,11548.53949,12.49037736,0 +Motorcycle,Diesel,2012,0,0,0,0,11542.56322,12.49037736,0 +Motorcycle,Diesel,2011,0,0,0,0,12050.47039,12.49037736,0 +Motorcycle,Diesel,2010,0,0,0,0,12355.08887,12.49037736,0 +Motorcycle,Diesel,2009,0,0,0,0,12480.74577,12.49037736,0 +Motorcycle,Diesel,2008,0,0,0,0,12518.30831,12.49037736,0 +Motorcycle,Diesel,2007,0,0,0,0,13172.48359,12.49037736,0 +Motorcycle,Diesel,2006,0,0,0,0,13511.4417,12.49037736,0 +Motorcycle,Diesel,2005,0,0,0,0,13145.7269,12.49037736,0 +Motorcycle,Diesel,2004,0,0,0,0,13303.59196,12.49037736,0 +Motorcycle,Diesel,2003,0,0,0,0,13166.74322,12.49037736,0 +Motorcycle,Diesel,2002,0,0,0,0,13090.92308,12.49037736,0 +Motorcycle,Diesel,2001,0,0,0,0,13083.99561,12.49037736,0 +Motorcycle,Diesel,2000,0,0,0,0,13607.82029,12.49037736,0 +Motorcycle,Diesel,1999,0,0,0,0,13464.35949,12.49037736,0 +Motorcycle,Diesel,1998,0,0,0,0,13641.33109,12.49037736,0 +Motorcycle,Hybrid,2017,0,0,0,0,11531.02445,8.08,0 +Motorcycle,Hybrid,2016,0,0,0,0,11691.06825,8.08,0 +Motorcycle,Hybrid,2015,0,0,0,0,11685.99273,8.08,0 +Motorcycle,Hybrid,2014,0,0,0,0,11406.60473,8.08,0 +Motorcycle,Hybrid,2013,0,0,0,0,11548.53949,8.08,0 +Motorcycle,Hybrid,2012,0,0,0,0,11542.56322,8.08,0 +Motorcycle,Hybrid,2011,0,0,0,0,12050.47039,8.08,0 +Motorcycle,Hybrid,2010,0,0,0,0,12355.08887,8.08,0 +Motorcycle,Hybrid,2009,0,0,0,0,12480.74577,8.08,0 +Motorcycle,Hybrid,2008,0,0,0,0,12518.30831,8.08,0 +Motorcycle,Hybrid,2007,0,0,0,0,13172.48359,8.08,0 +Motorcycle,Hybrid,2006,0,0,0,0,13511.4417,8.08,0 +Motorcycle,Hybrid,2005,0,0,0,0,13145.7269,8.08,0 +Motorcycle,Hybrid,2004,0,0,0,0,13303.59196,8.08,0 +Motorcycle,Hybrid,2003,0,0,0,0,13166.74322,8.08,0 +Motorcycle,Hybrid,2002,0,0,0,0,13090.92308,8.08,0 +Motorcycle,Hybrid,2001,0,0,0,0,13083.99561,8.08,0 +Motorcycle,Hybrid,2000,0,0,0,0,13607.82029,8.08,0 +Motorcycle,Hybrid,1999,0,0,0,0,13464.35949,8.08,0 +Motorcycle,Hybrid,1998,0,0,0,0,13641.33109,8.08,0 +Motorcycle,PEV,2017,0,0,0,0,16712.08255,8.08,0 +Motorcycle,PEV,2016,0,0,0,0,19201.6228,8.08,0 +Motorcycle,PEV,2015,0,0,0,0,16203.21145,8.08,0 +Motorcycle,PEV,2014,0,0,0,0,12977.95542,8.08,0 +Motorcycle,PEV,2013,0,0,0,0,15386.5626,8.08,0 +Motorcycle,PEV,2012,0,0,0,0,13939.23102,8.08,0 +Motorcycle,PEV,2011,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2010,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2009,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2008,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2007,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2006,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2005,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2004,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2003,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2002,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2001,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,2000,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,1999,0,0,0,0,11382.15714,8.08,0 +Motorcycle,PEV,1998,0,0,0,0,11382.15714,8.08,0 +Motorcycle,BEV,2017,2,2,240,80,16712.08255,8.08,0 +Motorcycle,BEV,2016,2,2,240,80,19201.6228,8.08,0 +Motorcycle,BEV,2015,1,1,240,80,16203.21145,8.08,0 +Motorcycle,BEV,2014,1,1,240,80,12977.95542,8.08,0 +Motorcycle,BEV,2013,1,1,240,80,15386.5626,8.08,0 +Motorcycle,BEV,2012,1,1,240,80,13939.23102,8.08,0 +Motorcycle,BEV,2011,1,1,240,80,11382.15714,8.08,0 +Motorcycle,BEV,2010,1,1,240,80,11382.15714,8.08,0 +Motorcycle,BEV,2009,1,1,240,80,11382.15714,8.08,0 +Motorcycle,BEV,2008,1,1,240,80,11382.15714,8.08,0 +Motorcycle,BEV,2007,0,0,0,0,11382.15714,8.08,0 +Motorcycle,BEV,2006,0,0,0,0,11382.15714,8.08,0 +Motorcycle,BEV,2005,0,0,0,0,11382.15714,8.08,0 +Motorcycle,BEV,2004,0,0,0,0,11382.15714,8.08,0 +Motorcycle,BEV,2003,0,0,0,0,11382.15714,8.08,0 +Motorcycle,BEV,2002,0,0,0,0,11382.15714,8.08,0 +Motorcycle,BEV,2001,0,0,0,0,11382.15714,8.08,0 +Motorcycle,BEV,2000,0,0,0,0,11382.15714,8.08,0 +Motorcycle,BEV,1999,0,0,0,0,11382.15714,8.08,0 +Motorcycle,BEV,1998,0,0,0,0,11382.15714,8.08,0 diff --git a/activitysim/examples/prototype_mtc_extended/configs_mp/logging.yaml b/activitysim/examples/prototype_mtc_extended/configs_mp/logging.yaml new file mode 100644 index 0000000000..e932009c5d --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs_mp/logging.yaml @@ -0,0 +1,57 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: DEBUG + handlers: [console, logfile] + + loggers: + + activitysim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARNING + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + #level: NOTSET + level: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [WARNING, NOTSET] + + formatters: + + simpleFormatter: + class: logging.Formatter + #format: '%(processName)-10s %(levelname)s - %(name)s - %(message)s' + format: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [ + '%(processName)-10s %(levelname)s - %(name)s - %(message)s', + '%(levelname)s - %(name)s - %(message)s'] + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + diff --git a/activitysim/examples/prototype_mtc_extended/configs_mp/settings.yaml b/activitysim/examples/prototype_mtc_extended/configs_mp/settings.yaml new file mode 100644 index 0000000000..9938537c7b --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs_mp/settings.yaml @@ -0,0 +1,101 @@ + +inherit_settings: True + +# raise error if any sub-process fails without waiting for others to complete +fail_fast: True + +# - ------------------------- production config +#multiprocess: True +#strict: False +#use_shadow_pricing: True + +# - full sample - 2875192 households on 64 processor 432 GiB RAM +#households_sample_size: 0 +#chunk_size: 400_000_000_000 +#num_processes: 60 + +# - ------------------------- no chunking due to sufficient RAM +# chunk_training_mode: disabled + +# - ------------------------- dev config +multiprocess: True +strict: False +use_shadow_pricing: False + +households_sample_size: 0 +chunk_size: 0 +num_processes: 2 + +# - ------------------------- + +# not recommended or supported for multiprocessing +want_dest_choice_sample_tables: False + +#read_skim_cache: True +#write_skim_cache: True + +# - tracing +#trace_hh_id: +trace_od: + +# to resume after last successful checkpoint, specify resume_after: _ +#resume_after: trip_purpose_and_destination + +models: + ### mp_initialize step + - initialize_landuse + - initialize_households + ### mp_accessibility step + - compute_accessibility + ### mp_households step + - school_location + - workplace_location + - auto_ownership_simulate + - vehicle_type_choice + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - vehicle_allocation + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + ### mp_summarize step + - write_data_dictionary + - write_trip_matrices + - write_tables + +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_accessibility + begin: compute_accessibility + slice: + tables: + - accessibility + # don't slice any tables not explicitly listed above in slice.tables + except: True + - name: mp_households + begin: school_location + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_data_dictionary diff --git a/activitysim/examples/example_sandag/test/output/.gitignore b/activitysim/examples/prototype_mtc_extended/output/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/test/output/.gitignore rename to activitysim/examples/prototype_mtc_extended/output/.gitignore diff --git a/activitysim/examples/example_semcog/output/cache/.gitignore b/activitysim/examples/prototype_mtc_extended/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_semcog/output/cache/.gitignore rename to activitysim/examples/prototype_mtc_extended/output/cache/.gitignore diff --git a/activitysim/examples/example_semcog/output/log/.gitignore b/activitysim/examples/prototype_mtc_extended/output/log/.gitignore similarity index 100% rename from activitysim/examples/example_semcog/output/log/.gitignore rename to activitysim/examples/prototype_mtc_extended/output/log/.gitignore diff --git a/activitysim/examples/example_semcog/output/trace/.gitignore b/activitysim/examples/prototype_mtc_extended/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_semcog/output/trace/.gitignore rename to activitysim/examples/prototype_mtc_extended/output/trace/.gitignore diff --git a/activitysim/examples/prototype_mtc_extended/test/configs/settings.yaml b/activitysim/examples/prototype_mtc_extended/test/configs/settings.yaml new file mode 100644 index 0000000000..78bdcf9220 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/configs/settings.yaml @@ -0,0 +1,40 @@ +inherit_settings: True + +# number of households to simulate +households_sample_size: 10 +# simulate all households +# households_sample_size: 0 + +strict: True + +chunk_size: 0 + +# - shadow pricing global switches +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +# global switch to turn on or off presampling of destination alternatives at TAZ level (multizone models only) +want_dest_choice_presampling: True + +# - tracing +# trace household id; comment out or leave empty for no trace +trace_hh_id: + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +# trace_od: [5, 11] +trace_od: + +output_tables: + h5_store: False + action: include + prefix: final_ + sort: True + tables: + - trips + - vehicles diff --git a/activitysim/examples/example_semcog/output/.gitignore b/activitysim/examples/prototype_mtc_extended/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_semcog/output/.gitignore rename to activitysim/examples/prototype_mtc_extended/test/output/.gitignore diff --git a/activitysim/examples/example_semcog/test/output/cache/.gitignore b/activitysim/examples/prototype_mtc_extended/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_semcog/test/output/cache/.gitignore rename to activitysim/examples/prototype_mtc_extended/test/output/cache/.gitignore diff --git a/activitysim/examples/example_semcog/test/output/trace/.gitignore b/activitysim/examples/prototype_mtc_extended/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_semcog/test/output/trace/.gitignore rename to activitysim/examples/prototype_mtc_extended/test/output/trace/.gitignore diff --git a/activitysim/examples/prototype_mtc_extended/test/regress/final_trips.csv b/activitysim/examples/prototype_mtc_extended/test/regress/final_trips.csv new file mode 100644 index 0000000000..2260ceead7 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/regress/final_trips.csv @@ -0,0 +1,80 @@ +trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,destination,origin,tour_id,purpose,destination_logsum,depart,trip_mode,mode_choice_logsum +211388201,644476,386761,escort,1,True,1,11,16,26423525,escort,,5,WALK_LOC,4.789158412380779 +211388205,644476,386761,escort,1,False,1,16,11,26423525,home,,6,WALK_LOC,5.050171287433508 +211388329,644476,386761,othdiscr,1,True,1,16,16,26423541,othdiscr,,18,WALK,7.330879513166791 +211388333,644476,386761,othdiscr,1,False,1,16,16,26423541,home,,18,WALK,7.330879513166791 +211388353,644476,386761,othmaint,1,True,1,13,16,26423544,othmaint,,18,WALK,-0.4192505336997586 +211388357,644476,386761,othmaint,1,False,1,16,13,26423544,home,,19,WALK,-0.41925030619506426 +211388441,644476,386761,work,1,True,1,4,16,26423555,work,,7,SHARED2FREE,0.6902839738239953 +211388445,644476,386761,work,1,False,1,16,4,26423555,home,,17,SHARED3FREE,-0.060176139897114116 +211388721,644477,386761,shopping,1,True,1,16,16,26423590,shopping,,14,WALK,5.857443647205806 +211388725,644477,386761,shopping,1,False,1,16,16,26423590,home,,14,WALK,5.857443647205806 +211389033,644478,386761,school,1,True,1,20,16,26423629,school,,11,WALK_LOC,1.5300445825829465 +211389037,644478,386761,school,1,False,1,16,20,26423629,home,,19,WALK_LRF,3.76602489416099 +515832417,1572659,763879,shopping,1,True,3,25,6,64479052,othmaint,40.895784325733594,7,WALK,12.896301701456215 +515832418,1572659,763879,shopping,2,True,3,25,25,64479052,escort,40.13139614585728,12,WALK,13.621701652814899 +515832419,1572659,763879,shopping,3,True,3,24,25,64479052,shopping,,17,WALK,3.0930067693134005 +515832421,1572659,763879,shopping,1,False,3,25,24,64479052,shopping,38.41713719577139,18,WALK,3.0706867412992 +515832422,1572659,763879,shopping,2,False,3,7,25,64479052,escort,59.6309483835455,20,WALK,12.807021629683366 +515832423,1572659,763879,shopping,3,False,3,6,7,64479052,home,,20,WALK,14.258626224164276 +535620049,1632987,824207,work,1,True,1,4,18,66952506,work,,15,WALK_LOC,0.2992185756062765 +535620053,1632987,824207,work,1,False,1,18,4,66952506,home,,21,WALK,0.5557332757868809 +615236801,1875721,982875,work,1,True,1,10,16,76904600,work,,8,WALK_LOC,7.627291076037502 +615236805,1875721,982875,work,1,False,1,16,10,76904600,home,,18,WALK_LOC,7.6193935739287255 +615236865,1875722,982875,eatout,1,True,2,7,16,76904608,escort,33.332775271121825,10,WALK,12.852466196970816 +615236866,1875722,982875,eatout,2,True,2,14,7,76904608,eatout,,13,WALK,0.0679239371174617 +615236869,1875722,982875,eatout,1,False,1,16,14,76904608,home,,17,WALK,0.9383092208675533 +708171009,2159057,1099626,work,1,True,1,2,20,88521376,work,,7,WALK,-0.35400338649017565 +708171013,2159057,1099626,work,1,False,2,8,2,88521376,shopping,28.059656557964445,18,WALK,0.34307389812569966 +708171014,2159057,1099626,work,2,False,2,20,8,88521376,home,,18,WALK_LOC,9.930931452887558 +708171273,2159058,1099626,univ,1,True,1,9,20,88521409,univ,,15,WALK_LOC,10.081589126967758 +708171277,2159058,1099626,univ,1,False,1,20,9,88521409,home,,18,WALK_LOC,9.700222902924416 +708171601,2159059,1099626,school,1,True,1,20,20,88521450,school,,8,WALK,2.001157626801728 +708171605,2159059,1099626,school,1,False,1,20,20,88521450,home,,13,WALK,2.001157626801728 +841877257,2566698,1196298,work,1,True,1,1,25,105234657,work,,6,WALK,0.5218384234138416 +841877261,2566698,1196298,work,1,False,1,25,1,105234657,home,,17,WALK_LOC,0.4855336440096438 +841877849,2566700,1196298,school,1,True,1,25,25,105234731,school,,7,WALK,12.824615869979219 +841877853,2566700,1196298,school,1,False,1,25,25,105234731,home,,15,WALK,12.824615869979219 +841878177,2566701,1196298,school,1,True,1,3,25,105234772,school,,8,WALK,8.979312480941104 +841878181,2566701,1196298,school,1,False,1,25,3,105234772,home,,13,WALK,8.979312481086987 +841878505,2566702,1196298,school,1,True,1,6,25,105234813,school,,12,WALK_LOC,11.709395865665709 +841878509,2566702,1196298,school,1,False,2,25,6,105234813,shopping,51.23589608925055,20,WALK_LOC,11.238325436501778 +841878510,2566702,1196298,school,2,False,2,25,25,105234813,home,,20,WALK,11.641815891720018 +1004301497,3061894,1363467,shopping,1,True,1,20,24,125537687,shopping,,12,TNC_SHARED,0.09686480459546322 +1004301501,3061894,1363467,shopping,1,False,1,24,20,125537687,home,,13,DRIVEALONEFREE,0.015792413826355586 +1004301761,3061895,1363467,othdiscr,1,True,1,9,24,125537720,othdiscr,,17,WALK_HVY,11.684658026322639 +1004301765,3061895,1363467,othdiscr,1,False,1,24,9,125537720,home,,19,WALK_LRF,11.49938905905555 +1004301785,3061895,1363467,othmaint,1,True,1,7,24,125537723,othmaint,,15,WALK,8.131583343724042 +1004301789,3061895,1363467,othmaint,1,False,1,24,7,125537723,home,,16,WALK,8.096583148991245 +1004301873,3061895,1363467,work,1,True,1,25,24,125537734,work,,6,WALK,10.08552703351978 +1004301877,3061895,1363467,work,1,False,1,24,25,125537734,home,,13,WALK,10.103127058632895 +1368289969,4171615,1810015,univ,1,True,1,12,16,171036246,univ,,13,WALK,4.061179288088942 +1368289973,4171615,1810015,univ,1,False,1,16,12,171036246,home,,13,WALK,4.06117926693834 +1368290273,4171616,1810015,othmaint,1,True,1,3,16,171036284,othmaint,,9,WALK,5.752949863933666 +1368290277,4171616,1810015,othmaint,1,False,1,16,3,171036284,home,,11,WALK,5.595449988691705 +1368290689,4171617,1810015,work,1,True,2,8,16,171036336,social,23.477345398553453,9,WALK,7.896576327414681 +1368290690,4171617,1810015,work,2,True,2,15,8,171036336,work,,12,WALK,-0.8211572450364255 +1368290693,4171617,1810015,work,1,False,1,16,15,171036336,home,,18,WALK,0.23912905823533456 +1368291297,4171619,1810015,shopping,1,True,1,1,16,171036412,shopping,,13,WALK,-1.0053143437541998 +1368291301,4171619,1810015,shopping,1,False,2,7,1,171036412,shopping,29.48393750646727,14,WALK,-1.5297238905680486 +1368291302,4171619,1810015,shopping,2,False,2,16,7,171036412,home,,15,WALK,12.573466151788852 +1368291609,4171620,1810015,school,1,True,1,8,16,171036451,school,,7,WALK_LOC,10.68060996983474 +1368291613,4171620,1810015,school,1,False,1,16,8,171036451,home,,15,WALK_LOC,10.665116381563836 +1368292281,4171622,1810015,shopping,1,True,1,19,16,171036535,shopping,,9,WALK,-2.394141994327624 +1368292285,4171622,1810015,shopping,1,False,1,16,19,171036535,home,,15,WALK,-2.4219133842589526 +1368292377,4171623,1810015,atwork,1,True,1,7,21,171036547,atwork,,10,WALK,13.897946303660285 +1368292381,4171623,1810015,atwork,1,False,2,6,7,171036547,othmaint,62.239483838845736,10,WALK,14.364186248721689 +1368292382,4171623,1810015,atwork,2,False,2,21,6,171036547,work,,10,WALK,12.200629295549986 +1368292657,4171623,1810015,work,1,True,2,25,16,171036582,escort,30.234430836012045,8,WALK,9.029527074456235 +1368292658,4171623,1810015,work,2,True,2,21,25,171036582,work,,8,WALK,2.0014416307382055 +1368292661,4171623,1810015,work,1,False,2,7,21,171036582,work,34.72578612209499,23,WALK,2.5646380272501808 +1368292662,4171623,1810015,work,2,False,2,16,7,171036582,home,,23,WALK,9.584561374619746 +2464104641,7512514,2821179,eatout,1,True,1,13,8,308013080,eatout,,8,WALK,-1.171759971785514 +2464104645,7512514,2821179,eatout,1,False,1,8,13,308013080,home,,16,WALK,-1.238718768693438 +2464104857,7512514,2821179,shopping,1,True,1,6,8,308013107,shopping,,17,WALK,12.612248978887928 +2464104861,7512514,2821179,shopping,1,False,1,8,6,308013107,home,,19,WALK,12.322088998148224 +2464104881,7512514,2821179,social,1,True,1,9,8,308013110,social,,16,WALK,6.292424410910544 +2464104885,7512514,2821179,social,1,False,1,8,9,308013110,home,,16,WALK_LOC,6.322192231184283 +2464449633,7513565,2822230,work,1,True,2,9,8,308056204,univ,40.040196758213916,9,WALK,7.9948426686587775 +2464449634,7513565,2822230,work,2,True,2,25,9,308056204,work,,9,WALK,8.34752700809022 +2464449637,7513565,2822230,work,1,False,1,8,25,308056204,home,,18,WALK,9.31552710851258 diff --git a/activitysim/examples/prototype_mtc_extended/test/regress/final_vehicles.csv b/activitysim/examples/prototype_mtc_extended/test/regress/final_vehicles.csv new file mode 100644 index 0000000000..7d0108b700 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/regress/final_vehicles.csv @@ -0,0 +1,7 @@ +vehicle_id,household_id,vehicle_num,vehicle_type,auto_operating_cost,Range,MPG +3867611,386761,1,SUV_14_Gas,26.25228916,0,16.6 +7638791,763879,1,Car_10_Gas,22.30414634,0,20.5 +9828751,982875,1,Car_12_Gas,22.52148515,0,20.2 +10996261,1099626,1,SUV_1_Hybrid,18.31513514,0,29.6 +13634671,1363467,1,Car_5_Gas,20.65701299,0,23.1 +18100151,1810015,1,SUV_20_Gas,25.42137931,0,17.4 diff --git a/activitysim/examples/prototype_mtc_extended/test/simulation.py b/activitysim/examples/prototype_mtc_extended/test/simulation.py new file mode 100644 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py b/activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py new file mode 100644 index 0000000000..cc7bb7b546 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py @@ -0,0 +1,70 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def test_prototype_mtc_extended(): + def example_path(dirname): + resource = os.path.join("examples", "prototype_mtc_extended", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def example_mtc_path(dirname): + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(): + regress_trips_df = pd.read_csv(test_path("regress/final_trips.csv")) + final_trips_df = pd.read_csv(test_path("output/final_trips.csv")) + + regress_vehicles_df = pd.read_csv(test_path("regress/final_vehicles.csv")) + final_vehicles_df = pd.read_csv(test_path("output/final_vehicles.csv")) + + # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, + # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum + # compare_cols = [] + pdt.assert_frame_equal(final_trips_df, regress_trips_df) + pdt.assert_frame_equal(final_vehicles_df, regress_vehicles_df) + + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + subprocess.run( + [ + "coverage", + "run", + "-a", + file_path, + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-c", + example_mtc_path("configs"), + "-d", + example_mtc_path("data"), + "-o", + test_path("output"), + ], + check=True, + ) + + regress() + + +if __name__ == "__main__": + + test_prototype_mtc_extended() diff --git a/activitysim/examples/example_sandag_xborder/README.md b/activitysim/examples/prototype_sandag_xborder/README.md similarity index 100% rename from activitysim/examples/example_sandag_xborder/README.md rename to activitysim/examples/prototype_sandag_xborder/README.md diff --git a/activitysim/examples/example_sandag_xborder/configs/annotate_households.csv b/activitysim/examples/prototype_sandag_xborder/configs/annotate_households.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/annotate_households.csv rename to activitysim/examples/prototype_sandag_xborder/configs/annotate_households.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/annotate_landuse.csv b/activitysim/examples/prototype_sandag_xborder/configs/annotate_landuse.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/annotate_landuse.csv rename to activitysim/examples/prototype_sandag_xborder/configs/annotate_landuse.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/annotate_persons.csv b/activitysim/examples/prototype_sandag_xborder/configs/annotate_persons.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/annotate_persons.csv rename to activitysim/examples/prototype_sandag_xborder/configs/annotate_persons.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/annotate_tours.csv b/activitysim/examples/prototype_sandag_xborder/configs/annotate_tours.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/annotate_tours.csv rename to activitysim/examples/prototype_sandag_xborder/configs/annotate_tours.csv diff --git a/activitysim/examples/prototype_sandag_xborder/configs/constants.yaml b/activitysim/examples/prototype_sandag_xborder/configs/constants.yaml new file mode 100755 index 0000000000..6199378b42 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/constants.yaml @@ -0,0 +1,64 @@ +## ActivitySim +## See full license in LICENSE.txt. + +walk_speed: 3.00 + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +#INCOME_SEGMENT_LOW: 1 +#INCOME_SEGMENT_MED: 2 +#INCOME_SEGMENT_HIGH: 3 +#INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H diff --git a/activitysim/examples/prototype_sandag_xborder/configs/destination_choice_size_terms.csv b/activitysim/examples/prototype_sandag_xborder/configs/destination_choice_size_terms.csv new file mode 100644 index 0000000000..3fc8caa0c9 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/destination_choice_size_terms.csv @@ -0,0 +1,11 @@ +model_selector,segment,emp_ag,emp_const_non_bldg_prod,emp_const_non_bldg_office,emp_utilities_prod,emp_utilities_office,emp_const_bldg_prod,emp_const_bldg_office,emp_mfg_prod,emp_mfg_office,emp_whsle_whs,emp_trans,emp_retail,emp_prof_bus_svcs,emp_prof_bus_svcs_bldg_maint,emp_pvt_ed_k12,emp_pvt_ed_post_k12_oth,emp_health,emp_personal_svcs_office,emp_amusement,emp_hotel,emp_restaurant_bar,emp_personal_svcs_retail,emp_religious,emp_pvt_hh,emp_state_local_gov_ent,emp_fed_non_mil,emp_fed_mil,emp_state_local_gov_blue,emp_state_local_gov_white,emp_public_ed,emp_own_occ_dwell_mgmt,emp_fed_gov_accts,emp_st_lcl_gov_accts,emp_cap_accts,collegeenroll,othercollegeenroll,adultschenrl,hh +tour_od_choice,work,0.0000,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,1.0000,0.9860,0.9860,0.0000,0.0000,0.0000,0.9860,0.5620,0.5620,0.5620,0.9860,0.3630,0.3630,0.3630,0.3630,0.3630,0.3630,0.3630,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 +tour_od_choice,school,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0870,0.0870,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0870,0.0000,0.0000,0.0000,0.0000,1.0000,1.0000,1.0000,0.0000 +tour_od_choice,shop,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,2.3060,2.3060,2.3060,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 +tour_od_choice,visit,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.5760,0.0000,0.0000,0.0000,0.0000,0.0000,1.0380,1.0380,1.0380,1.0380,1.0380,1.0380,1.0380,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000 +tour_od_choice,other,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000,0.0000,0.0000,0.1670,0.1670,0.0280,0.0000,0.7100,0.7100,0.7100,0.0000,4.7070,4.7070,4.7070,4.7070,4.7070,4.7070,4.7070,0.1670,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 +trip,work,0.0000,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,0.1840,1.0000,0.9860,0.9860,0.0000,0.0000,0.0000,0.9860,0.5620,0.5620,0.5620,0.9860,0.3630,0.3630,0.3630,0.3630,0.3630,0.3630,0.3630,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 +trip,school,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0870,0.0870,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0870,0.0000,0.0000,0.0000,0.0000,1.0000,1.0000,1.0000,0.0000 +trip,shop,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,2.3060,2.3060,2.3060,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 +trip,visit,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.5760,0.0000,0.0000,0.0000,0.0000,0.0000,1.0380,1.0380,1.0380,1.0380,1.0380,1.0380,1.0380,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000 +trip,other,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000,0.0000,0.0000,0.1670,0.1670,0.0280,0.0000,0.7100,0.7100,0.7100,0.0000,4.7070,4.7070,4.7070,4.7070,4.7070,4.7070,4.7070,0.1670,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000 \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/estimation.yaml b/activitysim/examples/prototype_sandag_xborder/configs/estimation.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/estimation.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/estimation.yaml diff --git a/activitysim/examples/example_sandag_xborder/configs/initialize_households.yaml b/activitysim/examples/prototype_sandag_xborder/configs/initialize_households.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/initialize_households.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/initialize_households.yaml diff --git a/activitysim/examples/example_sandag_xborder/extensions/.gitignore b/activitysim/examples/prototype_sandag_xborder/configs/initialize_landuse.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/extensions/.gitignore rename to activitysim/examples/prototype_sandag_xborder/configs/initialize_landuse.yaml diff --git a/activitysim/examples/example_sandag_xborder/configs/initialize_tours.yaml b/activitysim/examples/prototype_sandag_xborder/configs/initialize_tours.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/initialize_tours.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/initialize_tours.yaml diff --git a/activitysim/examples/prototype_sandag_xborder/configs/logging.yaml b/activitysim/examples/prototype_sandag_xborder/configs/logging.yaml new file mode 100755 index 0000000000..df20cf0c7e --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/logging.yaml @@ -0,0 +1,54 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console, logfile] + + loggers: + + activitysim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + level: NOTSET + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + diff --git a/activitysim/examples/prototype_sandag_xborder/configs/network_los.yaml b/activitysim/examples/prototype_sandag_xborder/configs/network_los.yaml new file mode 100755 index 0000000000..de998a3546 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/network_los.yaml @@ -0,0 +1,156 @@ +inherit_settings: True + +zone_system: 3 + +skim_dict_factory: NumpyArraySkimFactory +#skim_dict_factory: MemMapSkimFactory + +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +# rebuild and overwrite existing tap_tap_utilities cache +rebuild_tvpb_cache: True + +# when checkpointing cache. also write a csv version of tvpb cache for tracing +# (writes csv file when writing/checkpointing cache (i.e. when cached changed) even if rebuild_tvpb_cache is False) +# (n.b. csv file could be quite large if cache is STATIC!) +trace_tvpb_cache_as_csv: False + +taz_skims: + - traffic_skims_xborder_EA.omx + - traffic_skims_xborder_AM.omx + - traffic_skims_xborder_MD.omx + - traffic_skims_xborder_PM.omx + - traffic_skims_xborder_EV.omx + +tap_skims: + # we require that skims for all tap_tap sets have unique names + # and can therefor share a single skim_dict without name collision + # e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM + - transit_skims_xborder.omx + + +# FIXME why no taz.csv? +# tas: taz.csv + +maz: mazs_xborder.csv # mgra.csv + +tap: taps.csv # this is just tap ids + +tap_lines: tap_lines.csv + +maz_to_maz: + tables: + - maz_maz_walk.csv # microMgraEquivMinutes.csv + +maz_to_tap: + walk: + table: maz_tap_walk.csv # microMgraTapEquivMinutes.csv + # if provided, this column will be used (together with tap_lines table) to trim the near tap set + # to only include the nearest tap to origin when more than one tap serves the same line + tap_line_distance_col: dist + +skim_time_periods: + time_window: 1440 + period_minutes: 30 + periods: [0, 11, 17, 30, 37, 48] # asim xborder + # periods: [0, 3, 9, 22, 29, 48] # ctramp xborder + labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] + +# transit virtual path builder settings +TVPB_SETTINGS: # find this in sandag bestPathTAP UEC + + tour_mode_choice: + units: utility + path_types: + WTW: + access: walk + egress: walk + max_paths_across_tap_sets: 4 + max_paths_per_tap_set: 1 + tap_tap_settings: + SPEC: tvpb_utility_tap_tap.csv + PREPROCESSOR: + SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv + DF: df + # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files + attribute_segments: + tod: *skim_time_period_labels + attributes_as_columns: + - tod + maz_tap_settings: + walk: + SPEC: tvpb_utility_walk_maz_tap.csv + CHOOSER_COLUMNS: + - walkTime + - dist + + CONSTANTS: + c_ivt: -0.028 + c_cost: -0.0011 + # transit "factors" from SANDAG + eb_fac: 1.0 + brt_fac: 0.9000 + lrt_fac: 0.6500 + cr_fac: 0.6500 + hyp_fac: 0.6500 + # coeffs used in maz_tap and tap_tap utility expressions + c_walk: 1.7 + c_fwt: 1.5 + c_waux: 2.5 + c_xwt: 2 + C_UNAVAILABLE: -9999 + # alternative-specific constants + exp_asc: 10 # express bus asc + brt_asc: -10 # BRT asc + lrt_asc: -20 # LRT alternative-specific constant + cr_asc: 0.00 # Commuter Rail alternative-specific constant + + trip_mode_choice: + units: utility + path_types: + WTW: + access: walk + egress: walk + max_paths_across_tap_sets: 4 + max_paths_per_tap_set: 1 + tap_tap_settings: + SPEC: tvpb_utility_tap_tap.csv + PREPROCESSOR: + SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv + DF: df + # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files + attribute_segments: + tod: *skim_time_period_labels + attributes_as_columns: + - tod + maz_tap_settings: + walk: + SPEC: tvpb_utility_walk_maz_tap.csv + CHOOSER_COLUMNS: + - walkTime + - dist + + CONSTANTS: + c_ivt: -0.03 + c_cost: -0.0003 + # transit "factors" from SANDAG + eb_fac: 1.0 + brt_fac: 0.9000 + lrt_fac: 0.6500 + cr_fac: 0.6500 + # coeffs used in maz_tap and tap_tap utility expressions + c_walk: 1.7 + c_fwt: 1.5 + c_waux: 2.5 + c_xwt: 2 + C_UNAVAILABLE: -9999 + # alternative-specific constants + exp_asc: 10 # express bus asc + brt_asc: -10 # BRT asc + lrt_asc: -20 # LRT alternative-specific constant + cr_asc: 0.00 # Commuter Rail alternative-specific constant + + diff --git a/activitysim/examples/example_sandag_xborder/configs/preprocessing.yaml b/activitysim/examples/prototype_sandag_xborder/configs/preprocessing.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/preprocessing.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/preprocessing.yaml diff --git a/activitysim/examples/prototype_sandag_xborder/configs/settings.yaml b/activitysim/examples/prototype_sandag_xborder/configs/settings.yaml new file mode 100755 index 0000000000..66ce520127 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/settings.yaml @@ -0,0 +1,157 @@ +inherit_settings: False + +# number of households to simulate + +households_sample_size: 0 +multiprocess: True +strict: False +mem_tick: 30 +num_processes: 30 +fail_fast: True + +############## +# +# chunking +# + +# chooser chunk size in gigabytes +# target top memory usage during activitysim run (including shared memory, loaded tables, and transient memory usage) +chunk_size: 400_000_000_000 +#chunk_size: 0 + +# minimum fraction of total chunk_size to reserve for adaptive chunking +min_available_chunk_ratio: 0.05 + +# initial number of chooser rows for first chunk in training mode +# when there is no pre-existing chunk_cache to set initial value +# ordinarily bigger is better as long as it is not so big it causes memory issues (e.g. accessibility with lots of zones) +default_initial_rows_per_chunk: 500 + +# method to calculate memory overhead when chunking is enabled +chunk_method: hybrid_uss + +# chunk training mode +# training to determine the chunking settings written to a cache file that is re-used for production runs +# training +# production +# disabled +chunk_training_mode: disabled + +# whether to preserve or delete subprocess chunk and mem logs when they are consolidated at end of multiprocess run +keep_chunk_logs: True +keep_mem_logs: True + +############## + +trace_hh_id: + +# input tables +input_table_list: + - tablename: households + filename: households_xborder.csv + index_col: household_id + + - tablename: persons + filename: persons_xborder.csv + index_col: person_id + + - tablename: land_use + filename: mazs_xborder.csv + index_col: zone_id + rename_columns: + MAZ: zone_id + + - tablename: tours + filename: tours_xborder.csv + index_col: tour_id + keep_columns: + - pass_type + - tour_type + - purpose_id + - tour_category + - number_of_participants + - tour_num + - tour_count + - household_id + - person_id + + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False +want_dest_choice_presampling: True + +#resume_after: trip_scheduling + +models: + - initialize_landuse + - initialize_households + - initialize_tours + # --- STATIC cache prebuild steps + # single-process step to create attribute_combination list + - initialize_los + # multi-processable step to build STATIC cache + # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) + - initialize_tvpb + # # --- + - tour_scheduling_probabilistic + - tour_od_choice + - reassign_tour_purpose_by_poe + - tour_mode_choice_simulate + - stop_frequency + - trip_purpose + - trip_scheduling + - trip_destination + - trip_mode_choice + - write_trip_matrices + - write_tables + +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_tvpb + begin: initialize_tvpb + num_processes: 5 + slice: + tables: + - attribute_combinations + - name: mp_households + begin: tour_scheduling_probabilistic + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_trip_matrices + +output_tables: + h5_store: False + action: include + prefix: final_ + # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes + sort: True + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - attribute_combinations + +output_summaries: + tours: + - tour_mode + - od_path_set + - do_path_set diff --git a/activitysim/examples/example_sandag_xborder/configs/shadow_pricing.yaml b/activitysim/examples/prototype_sandag_xborder/configs/shadow_pricing.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/shadow_pricing.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/shadow_pricing.yaml diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency.yaml b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency.yaml diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_alternatives.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_alternatives.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_alternatives.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_cargo.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_cargo.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_cargo.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_cargo.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_other.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_other.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_other.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_other.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_school.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_school.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_school.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_school.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_shop.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_shop.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_shop.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_shop.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_visit.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_visit.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_visit.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_visit.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_work.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_work.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_coefficients_work.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_coefficients_work.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_other.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_other.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_other.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_other.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_school.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_school.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_school.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_school.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_shop.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_shop.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_shop.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_shop.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_visit.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_visit.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_visit.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_visit.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/stop_frequency_work.csv b/activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_work.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/stop_frequency_work.csv rename to activitysim/examples/prototype_sandag_xborder/configs/stop_frequency_work.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_departure_and_duration_alternatives.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/tour_departure_and_duration_alternatives.csv rename to activitysim/examples/prototype_sandag_xborder/configs/tour_departure_and_duration_alternatives.csv diff --git a/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice.csv new file mode 100755 index 0000000000..290b490e9e --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice.csv @@ -0,0 +1,34 @@ +Label,Description,Expression,DRIVEALONE,SHARED2,SHARED3,WALK +util_auto_wait,Auto Wait Time,@(df.pass_type == 'no_pass') * df.std_wait,coef_wait,coef_wait,coef_wait, +util_auto_wait_sentri,Auto Wait Time - Sentri,@(df.pass_type == 'sentri') * df.sentri_wait,coef_wait,coef_wait,coef_wait, +util_auto_wait_ready,Auto Wait Time - Ready,@(df.pass_type == 'ready') * df.ready_wait,coef_wait,coef_wait,coef_wait, +util_ped_wait,Walk - Wait Time,@df.ped_wait,,,,coef_wait +util_trip_logsum_tour_da,Drive alone - Trip Logsum,@df.logsum_DRIVEALONE_outbound + df.logsum_DRIVEALONE_inbound,coef_trip_logsum,,, +util_trip_logsum_tour_s2,Shared Ride 2 - Trip Logsum,@df.logsum_SHARED2_outbound + df.logsum_SHARED2_inbound,,coef_trip_logsum,, +util_trip_logsum_tour_s3,Shared Ride 3 - Trip Logsum,@df.logsum_SHARED3_outbound + df.logsum_SHARED3_inbound,,,coef_trip_logsum, +util_trip_logsum_tour_walk,Walk - Trip Logsum,@df.logsum_WALK_outbound + df.logsum_WALK_inbound,,,,coef_trip_logsum +util_ASC_s2,Shared Ride 2 - ASC,1,,SHARED2_asc,, +util_ASC_s3,Shared Ride 3 - ASC,1,,,SHARED3_asc, +util_ASC_walk,Walk - ASC,1,,,,WALK_asc +util_sentri_s2,Crossing used Sentri - Shared Ride 2,@(df.pass_type == 'sentri'),,SHARED2_coef_sentri,, +util_sentri_s3,Crossing used Sentri - Shared Ride 3,@(df.pass_type == 'sentri'),,,SHARED3_coef_sentri, +util_ready_s2,Crossing used Sentri - Shared Ride 2,@(df.pass_type == 'ready'),,SHARED2_coef_ready,, +util_ready_s3,Crossing used Sentri - Shared Ride 3,@(df.pass_type == 'ready'),,,SHARED3_coef_ready, +util_visit_tour_s2,Visit Tour - Shared Ride 2,@df.tour_type == 'visit',,SHARED2_coef_visit,, +util_visit_tour_s3,Visit Tour - Shared Ride 3,@df.tour_type == 'visit',,,SHARED3_coef_visit, +util_visit_tour_walk,Visit Tour - Walk,@df.tour_type == 'visit',,,,WALK_coef_visit +util_other_tour_s2,Other Tour - Shared Ride 2,@df.tour_type == 'other',,SHARED2_coef_other,, +util_other_tour_s3,Other Tour - Shared Ride 3,@df.tour_type == 'other',,,SHARED3_coef_other, +util_other_tour_walk,Other Tour - Walk,@df.tour_type == 'other',,,,WALK_coef_other +util_calib_adj_s2,Calibration Adjustment - Shared Ride 2,1,,SHARED2_coef_calib_adj,, +util_calib_adj_s3,Calibration Adjustment - Shared Ride 3,1,,,SHARED3_coef_calib_adj, +util_calib_adj_walk,Calibration Adjustment - Walk,1,,,,WALK_coef_calib_adj +util_work_tour_s2,Work Tour - Shared Ride 2,@df.tour_type == 'work',,SHARED2_coef_work,, +util_work_tour_s3,Work Tour - Shared Ride 3,@df.tour_type == 'work',,,SHARED3_coef_work, +util_work_tour_walk,Work Tour - Walk,@df.tour_type == 'work',,,,WALK_coef_work +util_school_tour_s2,School Tour - Shared Ride 2,@df.tour_type == 'school',,SHARED2_coef_school,, +util_school_tour_s3,School Tour - Shared Ride 3,@df.tour_type == 'school',,,SHARED3_coef_school, +util_school_tour_walk,School Tour - Walk,@df.tour_type == 'school',,,,WALK_coef_school +util_shop_tour_s2,Shop Tour - Shared Ride 2,@df.tour_type == 'shop',,SHARED2_coef_shop,, +util_shop_tour_s3,Shop Tour - Shared Ride 3,@df.tour_type == 'shop',,,SHARED3_coef_shop, +util_shop_tour_walk,Shop Tour - Walk,@df.tour_type == 'shop',,,,WALK_coef_shop \ No newline at end of file diff --git a/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice.yaml new file mode 100755 index 0000000000..56bf36044b --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice.yaml @@ -0,0 +1,69 @@ +LOGIT_TYPE: NL + +tvpb_mode_path_types: + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - DRIVEALONE + - SHARED2 + - SHARED3 + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coefficients.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv + +CONSTANTS: + orig_col_name: origin + dest_col_name: destination + wait_time_col_regex: '_wait_[0-9]+$' + +use_TVPB_constants: False + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + - income_segment + - demographic_segment + - c_ivt_for_segment + - c_cost_for_segment + - pass_type + - start + - end + - duration + - is_university + - primary_purpose + - person_id + - household_id + +CHOICE_COL_NAME: tour_mode +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum +COMPUTE_TRIP_MODE_CHOICE_LOGSUMS: True + diff --git a/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice_annotate_choosers_preprocessor.csv new file mode 100755 index 0000000000..559c0153f4 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -0,0 +1,11 @@ +Description,Target,Expression +list of POE wait time columns,_WAIT_PERIOD_COLS,land_use.filter(regex=wait_time_col_regex).columns.tolist() +pedestrian crossing wait time column name for each tour,_PED_WAIT_PERIOD_COLS,'ped_wait_' + df.start.astype(str) +standard crossing wait time column name for each tour,_STD_WAIT_PERIOD_COLS,'std_wait_' + df.start.astype(str) +ready crossing wait time column name for each tour,_READY_WAIT_PERIOD_COLS,'ready_wait_' + df.start.astype(str) +sentri crossing wait time column name for each tour,_SENTRI_WAIT_PERIOD_COLS,'sentri_wait_' + df.start.astype(str) +unpivot (a.k.a melt) the POE wait time data,_LONG_WAIT_PERIOD_TIMES,"land_use[land_use['poe_id'].notnull()].reset_index().melt(id_vars='zone_id', value_vars=_WAIT_PERIOD_COLS, var_name='wait_type_period', value_name='time').set_index(['zone_id','wait_type_period'])" +,std_wait,"_LONG_WAIT_PERIOD_TIMES.reindex([df[orig_col_name], _STD_WAIT_PERIOD_COLS])['time'].values" +,ready_wait,"_LONG_WAIT_PERIOD_TIMES.reindex([df[orig_col_name], _READY_WAIT_PERIOD_COLS])['time'].values" +,sentri_wait,"_LONG_WAIT_PERIOD_TIMES.reindex([df[orig_col_name], _SENTRI_WAIT_PERIOD_COLS])['time'].values" +,ped_wait,"_LONG_WAIT_PERIOD_TIMES.reindex([df[orig_col_name], _PED_WAIT_PERIOD_COLS])['time'].values" \ No newline at end of file diff --git a/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice_coefficients.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice_coefficients.csv new file mode 100755 index 0000000000..50dafd5ab6 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice_coefficients.csv @@ -0,0 +1,61 @@ +coefficient_name,value,constrain +coef_one,1,T +coef_nest_root,1.00,T +coef_nest_AUTO_mandatory,.17,F +coef_nest_NONMOTORIZED_mandatory,0.17,F +coef_wait_mandatory,-0.0300,F +coef_trip_logsum_mandatory,0.200,F +SHARED2_asc_mandatory,-0.5460,F +SHARED3_asc_mandatory,-0.9820,F +WALK_asc_mandatory,-3.4000,F +SHARED2_coef_sentri_mandatory,0.1700,F +SHARED3_coef_sentri_mandatory,0.1230,F +SHARED2_coef_ready_mandatory,0.0,F +SHARED3_coef_ready_mandatory,0.0,F +SHARED2_coef_visit_mandatory,0.0,T +SHARED3_coef_visit_mandatory,0.00,T +WALK_coef_visit_mandatory,0.0,T +SHARED2_coef_other_mandatory,0.0,T +SHARED3_coef_other_mandatory,0.0,T +WALK_coef_other_mandatory,0.0,T +SHARED2_coef_calib_adj_mandatory,0.1608,F +SHARED3_coef_calib_adj_mandatory,0.2728,F +WALK_coef_calib_adj_mandatory,2.4348,F +SHARED2_coef_work_mandatory,0.0275,F +SHARED3_coef_work_mandatory,0.0935,F +WALK_coef_work_mandatory,-1.2362,F +SHARED2_coef_school_mandatory,-0.0868,F +SHARED3_coef_school_mandatory,0.0599,F +WALK_coef_school_mandatory,-0.9567,F +SHARED2_coef_shop_mandatory,0.0,T +SHARED3_coef_shop_mandatory,0.0,T +WALK_coef_shop_mandatory,0.0,T +coef_nest_AUTO_nonmandatory,.28,F +coef_nest_NONMOTORIZED_nonmandatory,.28,F +coef_wait_nonmandatory,-0.0120,F +coef_trip_logsum_nonmandatory,0.214,F +SHARED2_asc_nonmandatory,-1.0800,F +SHARED3_asc_nonmandatory,-1.3520,F +WALK_asc_nonmandatory,-1.9340,F +SHARED2_coef_sentri_nonmandatory,0.4210,F +SHARED3_coef_sentri_nonmandatory,-0.1550,F +SHARED2_coef_ready_nonmandatory,0.0,F +SHARED3_coef_ready_nonmandatory,0.0,F +SHARED2_coef_visit_nonmandatory,0.0754,F +SHARED3_coef_visit_nonmandatory,0.0684,F +WALK_coef_visit_nonmandatory,0.2257,F +SHARED2_coef_other_nonmandatory,0.0723,F +SHARED3_coef_other_nonmandatory,0.0925,F +WALK_coef_other_nonmandatory,0.4702,F +SHARED2_coef_shop_nonmandatory,-0.0608,F +SHARED3_coef_shop_nonmandatory,-0.0361,F +WALK_coef_shop_nonmandatory,0.6857,F +SHARED2_coef_calib_adj_nonmandatory,0.8914,F +SHARED3_coef_calib_adj_nonmandatory,0.9573,F +WALK_coef_calib_adj_nonmandatory,0.2989,F +SHARED2_coef_work_nonmandatory,0.0,T +SHARED3_coef_work_nonmandatory,0.0,T +WALK_coef_work_nonmandatory,0.0,T +SHARED2_coef_school_nonmandatory,0.0,T +SHARED3_coef_school_nonmandatory,0.0,T +WALK_coef_school_nonmandatory,0.0,T \ No newline at end of file diff --git a/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice_coefficients_template.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice_coefficients_template.csv new file mode 100755 index 0000000000..920ec090d7 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/tour_mode_choice_coefficients_template.csv @@ -0,0 +1,34 @@ +coefficient_name,shop,work,other,visit,school +# same for all segments,,,,, +coef_one,,,,, +coef_nest_root,,,,, +#,,,,, +coef_nest_AUTO,coef_nest_AUTO_nonmandatory,coef_nest_AUTO_mandatory,coef_nest_AUTO_nonmandatory,coef_nest_AUTO_nonmandatory,coef_nest_AUTO_mandatory +coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED_nonmandatory,coef_nest_NONMOTORIZED_mandatory,coef_nest_NONMOTORIZED_nonmandatory,coef_nest_NONMOTORIZED_nonmandatory,coef_nest_NONMOTORIZED_mandatory +coef_wait,coef_wait_nonmandatory,coef_wait_mandatory,coef_wait_nonmandatory,coef_wait_nonmandatory,coef_wait_mandatory +coef_trip_logsum,coef_trip_logsum_nonmandatory,coef_trip_logsum_mandatory,coef_trip_logsum_nonmandatory,coef_trip_logsum_nonmandatory,coef_trip_logsum_mandatory +SHARED2_asc,SHARED2_asc_nonmandatory,SHARED2_asc_mandatory,SHARED2_asc_nonmandatory,SHARED2_asc_nonmandatory,SHARED2_asc_mandatory +SHARED3_asc,SHARED3_asc_nonmandatory,SHARED3_asc_mandatory,SHARED3_asc_nonmandatory,SHARED3_asc_nonmandatory,SHARED3_asc_mandatory +WALK_asc,WALK_asc_nonmandatory,WALK_asc_mandatory,WALK_asc_nonmandatory,WALK_asc_nonmandatory,WALK_asc_mandatory +SHARED2_coef_sentri,SHARED2_coef_sentri_nonmandatory,SHARED2_coef_sentri_mandatory,SHARED2_coef_sentri_nonmandatory,SHARED2_coef_sentri_nonmandatory,SHARED2_coef_sentri_mandatory +SHARED3_coef_sentri,SHARED3_coef_sentri_nonmandatory,SHARED3_coef_sentri_mandatory,SHARED3_coef_sentri_nonmandatory,SHARED3_coef_sentri_nonmandatory,SHARED3_coef_sentri_mandatory +SHARED2_coef_ready,SHARED2_coef_ready_nonmandatory,SHARED2_coef_ready_mandatory,SHARED2_coef_ready_nonmandatory,SHARED2_coef_ready_nonmandatory,SHARED2_coef_ready_mandatory +SHARED3_coef_ready,SHARED3_coef_ready_nonmandatory,SHARED3_coef_ready_mandatory,SHARED3_coef_ready_nonmandatory,SHARED3_coef_ready_nonmandatory,SHARED3_coef_ready_mandatory +SHARED2_coef_visit,SHARED2_coef_visit_nonmandatory,SHARED2_coef_visit_mandatory,SHARED2_coef_visit_nonmandatory,SHARED2_coef_visit_nonmandatory,SHARED2_coef_visit_mandatory +SHARED3_coef_visit,SHARED3_coef_visit_nonmandatory,SHARED3_coef_visit_mandatory,SHARED3_coef_visit_nonmandatory,SHARED3_coef_visit_nonmandatory,SHARED3_coef_visit_mandatory +WALK_coef_visit,WALK_coef_visit_nonmandatory,WALK_coef_visit_mandatory,WALK_coef_visit_nonmandatory,WALK_coef_visit_nonmandatory,WALK_coef_visit_mandatory +SHARED2_coef_other,SHARED2_coef_other_nonmandatory,SHARED2_coef_other_mandatory,SHARED2_coef_other_nonmandatory,SHARED2_coef_other_nonmandatory,SHARED2_coef_other_mandatory +SHARED3_coef_other,SHARED3_coef_other_nonmandatory,SHARED3_coef_other_mandatory,SHARED3_coef_other_nonmandatory,SHARED3_coef_other_nonmandatory,SHARED3_coef_other_mandatory +WALK_coef_other,WALK_coef_other_nonmandatory,WALK_coef_other_mandatory,WALK_coef_other_nonmandatory,WALK_coef_other_nonmandatory,WALK_coef_other_mandatory +SHARED2_coef_calib_adj,SHARED2_coef_calib_adj_nonmandatory,SHARED2_coef_calib_adj_mandatory,SHARED2_coef_calib_adj_nonmandatory,SHARED2_coef_calib_adj_nonmandatory,SHARED2_coef_calib_adj_mandatory +SHARED3_coef_calib_adj,SHARED3_coef_calib_adj_nonmandatory,SHARED3_coef_calib_adj_mandatory,SHARED3_coef_calib_adj_nonmandatory,SHARED3_coef_calib_adj_nonmandatory,SHARED3_coef_calib_adj_mandatory +WALK_coef_calib_adj,WALK_coef_calib_adj_nonmandatory,WALK_coef_calib_adj_mandatory,WALK_coef_calib_adj_nonmandatory,WALK_coef_calib_adj_nonmandatory,WALK_coef_calib_adj_mandatory +SHARED2_coef_work,SHARED2_coef_work_nonmandatory,SHARED2_coef_work_mandatory,SHARED2_coef_work_nonmandatory,SHARED2_coef_work_nonmandatory,SHARED2_coef_work_mandatory +SHARED3_coef_work,SHARED3_coef_work_nonmandatory,SHARED3_coef_work_mandatory,SHARED3_coef_work_nonmandatory,SHARED3_coef_work_nonmandatory,SHARED3_coef_work_mandatory +WALK_coef_work,WALK_coef_work_nonmandatory,WALK_coef_work_mandatory,WALK_coef_work_nonmandatory,WALK_coef_work_nonmandatory,WALK_coef_work_mandatory +SHARED2_coef_school,SHARED2_coef_school_nonmandatory,SHARED2_coef_school_mandatory,SHARED2_coef_school_nonmandatory,SHARED2_coef_school_nonmandatory,SHARED2_coef_school_mandatory +SHARED3_coef_school,SHARED3_coef_school_nonmandatory,SHARED3_coef_school_mandatory,SHARED3_coef_school_nonmandatory,SHARED3_coef_school_nonmandatory,SHARED3_coef_school_mandatory +WALK_coef_school,WALK_coef_school_nonmandatory,WALK_coef_school_mandatory,WALK_coef_school_nonmandatory,WALK_coef_school_nonmandatory,WALK_coef_school_mandatory +SHARED2_coef_shop,SHARED2_coef_shop_nonmandatory,SHARED2_coef_shop_mandatory,SHARED2_coef_shop_nonmandatory,SHARED2_coef_shop_nonmandatory,SHARED2_coef_shop_mandatory +SHARED3_coef_shop,SHARED3_coef_shop_nonmandatory,SHARED3_coef_shop_mandatory,SHARED3_coef_shop_nonmandatory,SHARED3_coef_shop_nonmandatory,SHARED3_coef_shop_mandatory +WALK_coef_shop,WALK_coef_shop_nonmandatory,WALK_coef_shop_mandatory,WALK_coef_shop_nonmandatory,WALK_coef_shop_nonmandatory,WALK_coef_shop_mandatory \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_od_choice.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice.csv similarity index 99% rename from activitysim/examples/example_sandag_xborder/configs/tour_od_choice.csv rename to activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice.csv index 579f271e03..1c69e97883 100644 --- a/activitysim/examples/example_sandag_xborder/configs/tour_od_choice.csv +++ b/activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice.csv @@ -1,23 +1,23 @@ -Label,Description,Expression,coefficient -util_size_variable,Size variable,@(df['size_term']).apply(np.log1p),1 -util_no_attractions,No attractions,@df['size_term']==0,-999 -local_dist,skim distance,"_DIST@skims[('SOV_NT_M_DIST','AM')]",1 -poe_accessibility,station logsum,@df['colonia_pop_accessibility'],1 -otay_mesa_mandatory,"POE is Otay Mesa, mandatory","@(df['poe_id']==1) & (df.is_mandatory)",coef_otay_mesa_mandatory -otay_mesa_non_mandatory,"POE is Otay Mesa, non-mandatory","@(df['poe_id']==1) & (1 - df.is_mandatory)",coef_otay_mesa_non_mandatory -tecate_mandatory,"POE is Tecate, mandatory","@(df['poe_id']==2) & (df.is_mandatory)",coef_tecate_mandatory -tecate_non_mandatory,"POE is Tecate, non-mandatory","@(df['poe_id']==2) & (1 - df.is_mandatory)",coef_tecate_non_mandatory -util_dist_0_2_mandatory,"Distance, piecewise linear from 0 to 2 miles, mandatory","@(_DIST > 0) * (np.minimum(_DIST, 2)) * (df.is_mandatory)",coef_dist_0_2_mandatory -util_dist_2_5_mandatory,"Distance, piecewise linear from 2 to 5 miles, mandatory","@(_DIST > 2) * (np.minimum(_DIST - 2, 3)) * (df.is_mandatory)",coef_dist_2_5_mandatory -util_dist_5_10_mandatory,"Distance, piecewise linear from 5 to 10 miles, mandatory","@(_DIST > 5) * (np.minimum(_DIST - 5, 5)) * (df.is_mandatory)",coef_dist_5_10_mandatory -util_dist_10_20_mandatory,"Distance, piecewise linear from 10 to 20 miles, mandatory","@(_DIST > 10) * (np.minimum(_DIST - 10, 10)) * (df.is_mandatory)",coef_dist_10_20_mandatory -util_dist_20_up_mandatory,"Distance, piecewise linear for 20+ miles, mandatory","@(_DIST > 20) * (_DIST - 20) * (df.is_mandatory)",coef_dist_20_up_mandatory -util_dist_0_2_non_mandatory,"Distance, piecewise linear from 0 to 2 miles, non_mandatory","@(_DIST > 0) * (np.minimum(_DIST, 2)) * (1 - df.is_mandatory)",coef_dist_0_2_non_mandatory -util_dist_2_5_non_mandatory,"Distance, piecewise linear from 2 to 5 miles, non_mandatory","@(_DIST > 2) * (np.minimum(_DIST - 2, 3)) * (1 - df.is_mandatory)",coef_dist_2_5_non_mandatory -util_dist_5_10_non_mandatory,"Distance, piecewise linear from 5 to 10 miles, non_mandatory","@(_DIST > 5) * (np.minimum(_DIST - 5, 5)) * (1 - df.is_mandatory)",coef_dist_5_10_non_mandatory -util_dist_10_20_non_mandatory,"Distance, piecewise linear from 10 to 20 miles, non_mandatory","@(_DIST > 10) * (np.minimum(_DIST - 10, 10)) * (1 - df.is_mandatory)",coef_dist_10_20_non_mandatory -util_dist_20_up_non_mandatory,"Distance, piecewise linear for 20+ miles, non_mandatory","@(_DIST > 20) * (_DIST - 20) * (1 - df.is_mandatory)",coef_dist_20_up_non_mandatory -util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count / df.prob), 60)",1 -otay_mesa_calibration_adjustment,"POE is Otay Mesa, calibration adjustment",@df['poe_id']==1,coef_otay_mesa_calibration_adj -tecate_calibration_adjustment,"POE is Tecate, calibration adjustment",@df['poe_id']==2,coef_tecate_calibration_adj +Label,Description,Expression,coefficient +util_size_variable,Size variable,@(df['size_term']).apply(np.log1p),1 +util_no_attractions,No attractions,@df['size_term']==0,-999 +local_dist,skim distance,"_DIST@skims[('SOV_NT_M_DIST','AM')]",1 +poe_accessibility,station logsum,@df['colonia_pop_accessibility'],1 +otay_mesa_mandatory,"POE is Otay Mesa, mandatory","@(df['poe_id']==1) & (df.is_mandatory)",coef_otay_mesa_mandatory +otay_mesa_non_mandatory,"POE is Otay Mesa, non-mandatory","@(df['poe_id']==1) & (1 - df.is_mandatory)",coef_otay_mesa_non_mandatory +tecate_mandatory,"POE is Tecate, mandatory","@(df['poe_id']==2) & (df.is_mandatory)",coef_tecate_mandatory +tecate_non_mandatory,"POE is Tecate, non-mandatory","@(df['poe_id']==2) & (1 - df.is_mandatory)",coef_tecate_non_mandatory +util_dist_0_2_mandatory,"Distance, piecewise linear from 0 to 2 miles, mandatory","@(_DIST > 0) * (np.minimum(_DIST, 2)) * (df.is_mandatory)",coef_dist_0_2_mandatory +util_dist_2_5_mandatory,"Distance, piecewise linear from 2 to 5 miles, mandatory","@(_DIST > 2) * (np.minimum(_DIST - 2, 3)) * (df.is_mandatory)",coef_dist_2_5_mandatory +util_dist_5_10_mandatory,"Distance, piecewise linear from 5 to 10 miles, mandatory","@(_DIST > 5) * (np.minimum(_DIST - 5, 5)) * (df.is_mandatory)",coef_dist_5_10_mandatory +util_dist_10_20_mandatory,"Distance, piecewise linear from 10 to 20 miles, mandatory","@(_DIST > 10) * (np.minimum(_DIST - 10, 10)) * (df.is_mandatory)",coef_dist_10_20_mandatory +util_dist_20_up_mandatory,"Distance, piecewise linear for 20+ miles, mandatory","@(_DIST > 20) * (_DIST - 20) * (df.is_mandatory)",coef_dist_20_up_mandatory +util_dist_0_2_non_mandatory,"Distance, piecewise linear from 0 to 2 miles, non_mandatory","@(_DIST > 0) * (np.minimum(_DIST, 2)) * (1 - df.is_mandatory)",coef_dist_0_2_non_mandatory +util_dist_2_5_non_mandatory,"Distance, piecewise linear from 2 to 5 miles, non_mandatory","@(_DIST > 2) * (np.minimum(_DIST - 2, 3)) * (1 - df.is_mandatory)",coef_dist_2_5_non_mandatory +util_dist_5_10_non_mandatory,"Distance, piecewise linear from 5 to 10 miles, non_mandatory","@(_DIST > 5) * (np.minimum(_DIST - 5, 5)) * (1 - df.is_mandatory)",coef_dist_5_10_non_mandatory +util_dist_10_20_non_mandatory,"Distance, piecewise linear from 10 to 20 miles, non_mandatory","@(_DIST > 10) * (np.minimum(_DIST - 10, 10)) * (1 - df.is_mandatory)",coef_dist_10_20_non_mandatory +util_dist_20_up_non_mandatory,"Distance, piecewise linear for 20+ miles, non_mandatory","@(_DIST > 20) * (_DIST - 20) * (1 - df.is_mandatory)",coef_dist_20_up_non_mandatory +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count / df.prob), 60)",1 +otay_mesa_calibration_adjustment,"POE is Otay Mesa, calibration adjustment",@df['poe_id']==1,coef_otay_mesa_calibration_adj +tecate_calibration_adjustment,"POE is Tecate, calibration adjustment",@df['poe_id']==2,coef_tecate_calibration_adj util_mode_logsum,tour mode choice logsum,tour_mode_choice_logsum,1 \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_od_choice.yaml b/activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/tour_od_choice.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice.yaml diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_od_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/tour_od_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_od_choice_coefficients.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice_coefficients.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/tour_od_choice_coefficients.csv rename to activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice_coefficients.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_od_choice_sample.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice_sample.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/tour_od_choice_sample.csv rename to activitysim/examples/prototype_sandag_xborder/configs/tour_od_choice_sample.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_purpose_probs_by_poe.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_purpose_probs_by_poe.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/tour_purpose_probs_by_poe.csv rename to activitysim/examples/prototype_sandag_xborder/configs/tour_purpose_probs_by_poe.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_scheduling_probabilistic.yaml b/activitysim/examples/prototype_sandag_xborder/configs/tour_scheduling_probabilistic.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/tour_scheduling_probabilistic.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/tour_scheduling_probabilistic.yaml diff --git a/activitysim/examples/example_sandag_xborder/configs/tour_scheduling_probs.csv b/activitysim/examples/prototype_sandag_xborder/configs/tour_scheduling_probs.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/tour_scheduling_probs.csv rename to activitysim/examples/prototype_sandag_xborder/configs/tour_scheduling_probs.csv diff --git a/activitysim/examples/prototype_sandag_xborder/configs/trip_destination.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_destination.csv new file mode 100644 index 0000000000..12fe38ccd9 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/trip_destination.csv @@ -0,0 +1,16 @@ +Description,Expression,work,school,visit,shop,other +size term for purpose,"@np.log1p(size_terms.get(df.trip_dest, df.purpose))",1,1,1,1,1 +no attractions for purpose,"@size_terms.get(df.trip_dest, df.purpose) == 0",-999,-999,-999,-999,-999 +,"_od_DIST@odt_skims['SOV_NT_M_DIST']",1,1,1,1,1 +,"_dp_DIST@dpt_skims['SOV_NT_M_DIST']",1,1,1,1,1 +intermediate stops on half-tour,_stops_on_leg@df.trip_count - 1,1,1,1,1,1 +"Sample of alternatives correction factor","@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1 +mode choice logsum,od_logsum + dp_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum +,@(df.tour_duration <= 2) * (df.od_logsum + df.dp_logsum),coef_mode_choice_logsum_dur_leq2,coef_mode_choice_logsum_dur_leq2,coef_mode_choice_logsum_dur_leq2,coef_mode_choice_logsum_dur_leq2,coef_mode_choice_logsum_dur_leq2 +,@(df.tour_duration >= 8) * (df.od_logsum + df.dp_logsum),coef_mode_choice_logsum_dur_geq8,coef_mode_choice_logsum_dur_geq8,coef_mode_choice_logsum_dur_geq8,coef_mode_choice_logsum_dur_geq8,coef_mode_choice_logsum_dur_geq8 +first outbound trip,"@(df.trip_num == 1) & df.outbound & (_od_DIST > 1)",coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi +last outbound intermediate stop,"@(df.trip_num == _stops_on_leg) & df.outbound & (_dp_DIST > 1)",coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi +last outbound intermediate stop,"@(df.trip_num == _stops_on_leg) & df.outbound * np.clip(_dp_DIST - 1, 0, 3)",coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3 +first inbound trip,"@(df.trip_num == 1) & (1 - df.outbound) & (_od_DIST > 1)",coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi +last inbound intermediate stop,"@(df.trip_num == _stops_on_leg) & (1 - df.outbound) & (_dp_DIST > 1)",coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi +last inbound intermediate stop,"@(df.trip_num == _stops_on_leg) & (1 - df.outbound) * np.clip(_dp_DIST - 1, 0, 3)",coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3 \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_destination.yaml b/activitysim/examples/prototype_sandag_xborder/configs/trip_destination.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_destination.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/trip_destination.yaml diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_destination_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_destination_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_sandag_xborder/configs/trip_destination_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_destination_coefficients.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_destination_coefficients.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_destination_coefficients.csv rename to activitysim/examples/prototype_sandag_xborder/configs/trip_destination_coefficients.csv diff --git a/activitysim/examples/prototype_sandag_xborder/configs/trip_destination_sample.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_destination_sample.csv new file mode 100644 index 0000000000..029c9f7ba4 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/trip_destination_sample.csv @@ -0,0 +1,12 @@ +Description,Expression,work,school,visit,shop,other +Size variable,"@np.log1p(size_terms.get(df.trip_dest, df.purpose))",1,1,1,1,1 +No attractions,"@size_terms.get(df.trip_dest, df.purpose) == 0",-999,-999,-999,-999,-999 +,"_od_DIST@odt_skims['SOV_NT_M_DIST']",1,1,1,1,1 +,"_dp_DIST@dpt_skims['SOV_NT_M_DIST']",1,1,1,1,1 +intermediate stops on half-tour,_stops_on_leg@df.trip_count - 1,1,1,1,1,1 +first outbound trip,"@(df.trip_num == 1) & df.outbound & (_od_DIST > 1)",coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi,coef_first_outbound_dist_poe_gt_1mi +last outbound intermediate stop,"@(df.trip_num == _stops_on_leg) & df.outbound & (_dp_DIST > 1)",coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi,coef_last_outbound_dist_dest_gt_1mi +last outbound intermediate stop,"@(df.trip_num == _stops_on_leg) & df.outbound * np.clip(_dp_DIST - 1, 0, 3)",coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3,coef_last_outbound_dist_dest_gt1_max3 +first inbound trip,"@(df.trip_num == 1) & (1 - df.outbound) & (_od_DIST > 1)",coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi,coef_first_inbound_dist_poe_gt_1mi +last inbound intermediate stop,"@(df.trip_num == _stops_on_leg) & (1 - df.outbound) & (_dp_DIST > 1)",coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi,coef_last_inbound_dist_dest_gt_1mi +last inbound intermediate stop,"@(df.trip_num == _stops_on_leg) & (1 - df.outbound) * np.clip(_dp_DIST - 1, 0, 3)",coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3,coef_last_inbound_dist_dest_gt1_max3 diff --git a/activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice.csv new file mode 100644 index 0000000000..d48d6de182 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice.csv @@ -0,0 +1,94 @@ +Label,Description,Expression,DRIVEALONE,SHARED2,SHARED3,WALK,WALK_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED +util_DA_IVT,Drive alone - In-vehicle time,c_ivt * da_time_skims,1,,,,,,, +util_DA_op_cost,Drive alone - Operating cost,@c_cost * (df.cost_per_mile * df.da_dist_skims + df.da_cost_skims),1,,,,,,, +util_DA_park_cost,Drive alone - Parking cost,@c_cost * df.parking_cost,1,,,,,,, +util_S2_IVT,Shared ride 2 HOV - In -vehicle time,c_ivt * s2_time_skims,,1,,,,,, +util_S2_op_cost,Shared ride 2 HOV - Operating cost,@c_cost * (df.cost_per_mile * df.s2_dist_skims + df.s2_cost_skims),,1,,,,,, +util_S2_park_cost,Shared ride 2 HOV - Parking cost,@c_cost * df.parking_cost / cost_share_s2,,1,,,,,, +util_S3_IVT,Shared ride 3+ HOV - In-vehicle time,c_ivt * s3_time_skims,,,1,,,,, +util_S3_op_cost,Shared ride 3+ HOV - Operating cost,@c_cost * (df.cost_per_mile * df.s3_dist_skims + df.s3_cost_skims),,,1,,,,, +util_S3_park_cost,Shared ride 3+ HOV - Parking cost,@c_cost * df.parking_cost / cost_share_s3,,,1,,,,, +util_WALK_unavail,Walk - Mode unavailable,(1 - walk_available),,,,-999,,,, +util_WALK_time,Walk - Time,@df.walk_available * df.c_walk_time * df.walk_time,,,,1,,,, +util_WALK_TRANSIT_unavail,Walk-transit unavailable,walk_transit_logsum <= -500,,,,,-999,,, +util_WALK_TRANSIT,Walk-transit utility,(walk_transit_logsum > -500) * walk_transit_logsum,,,,,1,,, +util_TAXI_IVT,Taxi - In-vehicle time,c_ivt * s2_time_skims,,,,,,1,, +util_TAXI_wait,Taxi - Wait time,c_ivt * taxi_wait_time,,,,,,1,, +util_TAXI_cost,Taxi - Fare,@c_cost * ((taxi_base_fare + (df.s2_dist_skims * taxi_cost_per_mile) + (df.s2_time_skims * taxi_cost_per_minute)) * 100 + df.s2_cost_skims),,,,,,1,, +util_TNC_SINGLE_IVT,TNC Single - In-vehicle time,c_ivt * s2_time_skims,,,,,,,1, +util_TNC_SINGLE_wait,TNC Single - Wait time,c_ivt * 1.5 * tnc_single_wait_time,,,,,,,1, +util_TNC_SINGLE_cost,TNC Single - Cost,"@c_cost * ((tnc_single_base_fare + (df.s2_dist_skims * tnc_single_cost_per_mile) + (df.s2_time_skims * tnc_single_cost_per_minute).clip(lower=tnc_single_cost_minimum)) * 100 + df.s2_cost_skims)",,,,,,,1, +util_TNC_SHARED_IVT,TNC Shared - In-vehicle time,@df.c_ivt * df.s2_time_skims * tnc_shared_ivt_factor,,,,,,,,1 +util_TNC_SHARED_wait,TNC Shared - Wait time,c_ivt * 1.5 * tnc_shared_wait_time,,,,,,,,1 +util_TNC_SHARED_cost,TNC Shared - Cost,"@c_cost * ((tnc_shared_base_fare + (df.s2_dist_skims * tnc_shared_cost_per_mile) + (df.s2_time_skims * tnc_shared_cost_per_minute).clip(lower=tnc_shared_cost_minimum)) * 100 + df.s2_cost_skims)",,,,,,,,1 +util_S2_ASC_tour_DA,s2 ASC - Tour Mode DA,@df.tour_mode_is_da * s2_ASC_tour_da,,1,,,,,, +util_S3_ASC_tour_DA,s3 ASC - Tour Mode DA,@df.tour_mode_is_da * s3_ASC_tour_da,,,1,,,,, +util_WALK_ASC_tour_DA,walk ASC - Tour Mode DA,@df.tour_mode_is_da * walk_ASC_tour_da,,,,1,,,, +util_WALK_TRANSIT_ASC_tour_DA,walk transit ASC - Tour Mode DA,@df.tour_mode_is_da * walk_transit_ASC_tour_da,,,,,1,,, +util_TAXI_ASC_tour_DA,taxi ASC - Tour Mode DA,@df.tour_mode_is_da * taxi_ASC_tour_da,,,,,,1,, +util_TNC_SINGLE_ASC_tour_DA,tnc single ASC - Tour Mode DA,@df.tour_mode_is_da * tnc_single_ASC_tour_da,,,,,,,1, +util_TNC_SHARED_ASC_tour_DA,tnc shared ASC - Tour Mode DA,@df.tour_mode_is_da * tnc_shared_ASC_tour_da,,,,,,,,1 +util_S2_ASC_tour_S2,s2 ASC - Tour Mode S2,@df.tour_mode_is_s2 * s2_ASC_tour_s2,,1,,,,,, +util_S3_ASC_tour_S2,s3 ASC - Tour Mode S2,@df.tour_mode_is_s2 * s3_ASC_tour_s2,,,1,,,,, +util_WALK_ASC_tour_S2,walk ASC - Tour Mode S2,@df.tour_mode_is_s2 * walk_ASC_tour_s2,,,,1,,,, +util_WALK_TRANSIT_ASC_tour_S2,walk transit ASC - Tour Mode S2,@df.tour_mode_is_s2 * walk_transit_ASC_tour_s2,,,,,1,,, +util_TAXI_ASC_tour_S2,taxi ASC - Tour Mode S2,@df.tour_mode_is_s2 * taxi_ASC_tour_s2,,,,,,1,, +util_TNC_SINGLE_ASC_tour_S2,tnc single ASC - Tour Mode S2,@df.tour_mode_is_s2 * tnc_single_ASC_tour_s2,,,,,,,1, +util_TNC_SHARED_ASC_tour_S2,tnc shared ASC - Tour Mode S2,@df.tour_mode_is_s2 * tnc_shared_ASC_tour_s2,,,,,,,,1 +util_S2_ASC_tour_S3,s2 ASC - Tour Mode S3,@df.tour_mode_is_s3 * s2_ASC_tour_s3,,1,,,,,, +util_S3_ASC_tour_S3,s3 ASC - Tour Mode S3,@df.tour_mode_is_s3 * s3_ASC_tour_s3,,,1,,,,, +util_WALK_ASC_tour_S3,walk ASC - Tour Mode S3,@df.tour_mode_is_s3 * walk_ASC_tour_s3,,,,1,,,, +util_WALK_TRANSIT_ASC_tour_S3,walk transit ASC - Tour Mode S3,@df.tour_mode_is_s3 * walk_transit_ASC_tour_s3,,,,,1,,, +util_TAXI_ASC_tour_S3,taxi ASC - Tour Mode S3,@df.tour_mode_is_s3 * taxi_ASC_tour_s3,,,,,,1,, +util_TNC_SINGLE_ASC_tour_S3,tnc single ASC - Tour Mode S3,@df.tour_mode_is_s3 * tnc_single_ASC_tour_s3,,,,,,,1, +util_TNC_SHARED_ASC_tour_S3,tnc shared ASC - Tour Mode S3,@df.tour_mode_is_s3 * tnc_shared_ASC_tour_s3,,,,,,,,1 +util_S2_ASC_tour_WALK,s2 ASC - Tour Mode Walk,@df.tour_mode_is_walk * s2_ASC_tour_walk,,1,,,,,, +util_S3_ASC_tour_WALK,s3 ASC - Tour Mode Walk,@df.tour_mode_is_walk * s3_ASC_tour_walk,,,1,,,,, +util_WALK_ASC_tour_WALK,walk ASC - Tour Mode Walk,@df.tour_mode_is_walk * walk_ASC_tour_walk,,,,1,,,, +util_WALK_TRANSIT_ASC_tour_WALK,walk transit ASC - Tour Mode Walk,@df.tour_mode_is_walk * walk_transit_ASC_tour_walk,,,,,1,,, +util_TAXI_ASC_tour_WALK,taxi ASC - Tour Mode Walk,@df.tour_mode_is_walk * taxi_ASC_tour_walk,,,,,,1,, +util_TNC_SINGLE_ASC_tour_WALK,tnc single ASC - Tour Mode Walk,@df.tour_mode_is_walk * tnc_single_ASC_tour_walk,,,,,,,1, +util_TNC_SHARED_ASC_tour_WALK,tnc shared ASC - Tour Mode Walk,@df.tour_mode_is_walk * tnc_shared_ASC_tour_walk,,,,,,,,1 +util_sentri_S2,s2 Crossing used Sentri,@(df.pass_type == 'sentri') * s2_sentri_coef,,1,,,,,, +util_sentri_S3,s3 Crossing used Sentri,@(df.pass_type == 'sentri') * s3_sentri_coef,,,1,,,,, +util_sentri_WALK,walk Crossing used Sentri,@(df.pass_type == 'sentri') * walk_sentri_coef,,,,1,,,, +util_sentri_WALK_TRANSIT,walk transit Crossing used Sentri,@(df.pass_type == 'sentri') * walk_transit_sentri_coef,,,,,1,,, +util_ready_S2,s2 Crossing used Ready,@(df.pass_type == 'ready') * s2_ready_coef,,1,,,,,, +util_ready_S3,s3 Crossing used Ready,@(df.pass_type == 'ready') * s3_ready_coef,,,1,,,,, +util_ready_WALK,walk Crossing used Ready,@(df.pass_type == 'ready') * walk_ready_coef,,,,1,,,, +util_ready_WALK_TRANSIT,walk transit Crossing used Ready,@(df.pass_type == 'ready') * walk_transit_ready_coef,,,,,1,, +util_work_tour_S2,s2 Work Tour,@df.is_work_tour * s2_work_tour_coef,,1,,,,,, +util_work_tour_S3,s3 Work Tour,@df.is_work_tour * s3_work_tour_coef,,,1,,,,, +util_S2_calib_adj_tour_DA,s2 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * s2_calib_adj_tour_da,,1,,,,,, +util_S3_calib_adj_tour_DA,s3 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * s3_calib_adj_tour_da,,,1,,,,, +util_WALK_calib_adj_tour_DA,walk Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * walk_calib_adj_tour_da,,,,1,,,, +util_WALK_TRANSIT_calib_adj_tour_DA,walk transit Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * walk_transit_calib_adj_tour_da,,,,,1,,, +util_S2_calib_adj_tour_S2,s2 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * s2_calib_adj_tour_s2,,1,,,,,, +util_S3_calib_adj_tour_S2,s3 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * s3_calib_adj_tour_s2,,,1,,,,, +util_WALK_calib_adj_tour_S2,walk Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * walk_calib_adj_tour_s2,,,,1,,,, +util_WALK_TRANSIT_calib_adj_tour_S2,walk transit Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * walk_transit_calib_adj_tour_s2,,,,,1,,, +util_S2_calib_adj_tour_S3,s2 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * s2_calib_adj_tour_s3,,1,,,,,, +util_S3_calib_adj_tour_S3,s3 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * s3_calib_adj_tour_s3,,,1,,,,, +util_WALK_calib_adj_tour_S3,walk Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * walk_calib_adj_tour_s3,,,,1,,,, +util_WALK_TRANSIT_calib_adj_tour_S3,walk transit Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * walk_transit_calib_adj_tour_s3,,,,,1,,, +util_S2_calib_adj_tour_WALK,s2 Calibration Adjustment - Tour Mode Walk,@df.tour_mode_is_walk * s2_calib_adj_tour_walk,,1,,,,,, +util_S3_calib_adj_tour_WALK,s3 Calibration Adjustment - Tour Mode Walk,@df.tour_mode_is_walk * s3_calib_adj_tour_walk,,,1,,,,, +util_WALK_calib_adj_tour_WALK,walk Calibration Adjustment - Tour Mode Walk,@df.tour_mode_is_walk * walk_calib_adj_tour_walk,,,,1,,,, +util_WALK_TRANSIT_calib_adj_tour_WALK,walk transit Calibration Adjustment - Tour Mode Walk,@df.tour_mode_is_walk * walk_transit_calib_adj_tour_walk,,,,,1,,, +util_S2_ABM2_calib_adj_tour_DA,s2 ABM 2 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * s2_abm2_calib_adj_tour_da,,1,,,,,, +util_S3_ABM2_calib_adj_tour_DA,s3 ABM 2 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * s3_abm2_calib_adj_tour_da,,,1,,,,, +util_WALK_ABM2_calib_adj_tour_DA,walk ABM 2 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * walk_abm2_calib_adj_tour_da,,,,1,,,, +util_WALK_TRANSIT_ABM2_calib_adj_tour_DA,walk transit ABM 2 Calibration Adjustment - Tour Mode DA,@df.tour_mode_is_da * walk_transit_abm2_calib_adj_tour_da,,,,,1,,, +util_S2_ABM2_calib_adj_tour_S2,s2 ABM 2 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * s2_abm2_calib_adj_tour_s2,,1,,,,,, +util_S3_ABM2_calib_adj_tour_S2,s3 ABM 2 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * s3_abm2_calib_adj_tour_s2,,,1,,,,, +util_WALK_ABM2_calib_adj_tour_S2,walk ABM 2 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * walk_abm2_calib_adj_tour_s2,,,,1,,,, +util_WALK_TRANSIT_ABM2_calib_adj_tour_S2,walk transit ABM 2 Calibration Adjustment - Tour Mode S2,@df.tour_mode_is_s2 * walk_transit_abm2_calib_adj_tour_s2,,,,,1,,, +util_S2_ABM2_calib_adj_tour_S3,s2 ABM 2 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * s2_abm2_calib_adj_tour_s3,,1,,,,,, +util_S3_ABM2_calib_adj_tour_S3,s3 ABM 2 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * s3_abm2_calib_adj_tour_s3,,,1,,,,, +util_WALK_ABM2_calib_adj_tour_S3,walk ABM 2 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * walk_abm2_calib_adj_tour_s3,,,,1,,,, +util_WALK_TRANSIT_ABM2_calib_adj_tour_S3,walk transit ABM 2 Calibration Adjustment - Tour Mode S3,@df.tour_mode_is_s3 * walk_transit_abm2_calib_adj_tour_s3,,,,,1,,, +util_S2_ABM2_calib_adj_tour_WALK,s2 ABM 2 Calibration Adjustment - Tour Mode WALK,@df.tour_mode_is_walk * s2_abm2_calib_adj_tour_walk,,1,,,,,, +util_S3_ABM2_calib_adj_tour_WALK,s3 ABM 2 Calibration Adjustment - Tour Mode WALK,@df.tour_mode_is_walk * s3_abm2_calib_adj_tour_walk,,,1,,,,, +util_WALK_ABM2_calib_adj_tour_WALK,walk ABM 2 Calibration Adjustment - Tour Mode WALK,@df.tour_mode_is_walk * walk_abm2_calib_adj_tour_walk,,,,1,,,, +util_WALK_TRANSIT_ABM2_calib_adj_tour_WALK,walk transit ABM 2 Calibration Adjustment - Tour Mode WALK,@df.tour_mode_is_walk * walk_transit_abm2_calib_adj_tour_walk,,,,,1,,, +util_WALK_TRANSIT_ABM2_calib_adj_all_tour_modes,ABM 2 Calibration Adjustment - transit,@walk_transit_abm2_calib_adj_transit,,,,,1,,, \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_mode_choice.yaml b/activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_mode_choice.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice.yaml diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_mode_choice_coefficients.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice_coefficients.csv similarity index 97% rename from activitysim/examples/example_sandag_xborder/configs/trip_mode_choice_coefficients.csv rename to activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice_coefficients.csv index a7ed2bebcb..2f13f09b6c 100644 --- a/activitysim/examples/example_sandag_xborder/configs/trip_mode_choice_coefficients.csv +++ b/activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice_coefficients.csv @@ -1,74 +1,74 @@ -coefficient_name,value,constrain -c_ivt_base,-0.021,F -c_cost,-0.0050,F -s2_ASC_tour_da,-0.8160,F -s2_ASC_tour_s2,1.5075,F -s2_ASC_tour_s3,1.4795,F -s2_ASC_tour_walk,0.7495,F -s3_ASC_tour_da,-1.2825,F -s3_ASC_tour_s2,1.3030,F -s3_ASC_tour_s3,2.7155,F -s3_ASC_tour_walk,0.9660,F -walk_ASC_tour_da,-0.6565,F -walk_ASC_tour_s2,0.1270,F -walk_ASC_tour_s3,1.0335,F -walk_ASC_tour_walk,3.0745,F -walk_transit_ASC_tour_da,-2.0185,F -walk_transit_ASC_tour_s2,-0.3370,F -walk_transit_ASC_tour_s3,1.1935,F -walk_transit_ASC_tour_walk,3.1525,F -taxi_ASC_tour_da,-5.0000,F -taxi_ASC_tour_s2,-5.0000,F -taxi_ASC_tour_s3,-5.0000,F -taxi_ASC_tour_walk,-5.0000,F -tnc_single_ASC_tour_da,-5.0000,F -tnc_single_ASC_tour_s2,-5.0000,F -tnc_single_ASC_tour_s3,-5.0000,F -tnc_single_ASC_tour_walk,-5.0000,F -tnc_shared_ASC_tour_da,-10.0000,F -tnc_shared_ASC_tour_s2,-10.0000,F -tnc_shared_ASC_tour_s3,-10.0000,F -tnc_shared_ASC_tour_walk,-10.0000,F -s2_sentri_coef,-0.5310,F -s2_ready_coef,0.0,F -s2_work_tour_coef,-0.7970,F -s2_calib_adj_tour_da,0.1280,F -s2_calib_adj_tour_s2,-0.5901,F -s2_calib_adj_tour_s3,-0.8562,F -s2_calib_adj_tour_walk,-0.6874,F -s2_abm2_calib_adj_tour_da,0.1177,F -s2_abm2_calib_adj_tour_s2,0.1003,F -s2_abm2_calib_adj_tour_s3,0.0927,F -s2_abm2_calib_adj_tour_walk,0.0615,F -s3_sentri_coef,-0.8825,F -s3_ready_coef,0.0,F -s3_work_tour_coef,-0.7525,F -s3_calib_adj_tour_da,0.3012,F -s3_calib_adj_tour_s2,-1.1094,F -s3_calib_adj_tour_s3,-1.3324,F -s3_calib_adj_tour_walk,-1.0476,F -s3_abm2_calib_adj_tour_da,0.1114,F -s3_abm2_calib_adj_tour_s2,0.1173,F -s3_abm2_calib_adj_tour_s3,0.1219,F -s3_abm2_calib_adj_tour_walk,-0.0099,F -walk_sentri_coef,-0.3875,F -walk_ready_coef,0.0,F -walk_calib_adj_tour_da,0.2003,F -walk_calib_adj_tour_s2,-0.0579,F -walk_calib_adj_tour_s3,-0.4514,F -walk_calib_adj_tour_walk,-0.0762,F -walk_abm2_calib_adj_tour_da,-0.8643,F -walk_abm2_calib_adj_tour_s2,-0.7036,F -walk_abm2_calib_adj_tour_s3,-0.6691,F -walk_abm2_calib_adj_tour_walk,-1.1779,F -walk_transit_sentri_coef,0.6285,F -walk_transit_ready_coef,0.0,F -walk_transit_calib_adj_tour_da,-0.7947,F -walk_transit_calib_adj_tour_s2,-2.0305,F -walk_transit_calib_adj_tour_s3,-2.4453,F -walk_transit_calib_adj_tour_walk,-2.6149,F -walk_transit_abm2_calib_adj_tour_da,-0.2530,F -walk_transit_abm2_calib_adj_tour_s2,-0.3951,F -walk_transit_abm2_calib_adj_tour_s3,-0.4158,F -walk_transit_abm2_calib_adj_tour_walk,-0.3565,F +coefficient_name,value,constrain +c_ivt_base,-0.021,F +c_cost,-0.0050,F +s2_ASC_tour_da,-0.8160,F +s2_ASC_tour_s2,1.5075,F +s2_ASC_tour_s3,1.4795,F +s2_ASC_tour_walk,0.7495,F +s3_ASC_tour_da,-1.2825,F +s3_ASC_tour_s2,1.3030,F +s3_ASC_tour_s3,2.7155,F +s3_ASC_tour_walk,0.9660,F +walk_ASC_tour_da,-0.6565,F +walk_ASC_tour_s2,0.1270,F +walk_ASC_tour_s3,1.0335,F +walk_ASC_tour_walk,3.0745,F +walk_transit_ASC_tour_da,-2.0185,F +walk_transit_ASC_tour_s2,-0.3370,F +walk_transit_ASC_tour_s3,1.1935,F +walk_transit_ASC_tour_walk,3.1525,F +taxi_ASC_tour_da,-5.0000,F +taxi_ASC_tour_s2,-5.0000,F +taxi_ASC_tour_s3,-5.0000,F +taxi_ASC_tour_walk,-5.0000,F +tnc_single_ASC_tour_da,-5.0000,F +tnc_single_ASC_tour_s2,-5.0000,F +tnc_single_ASC_tour_s3,-5.0000,F +tnc_single_ASC_tour_walk,-5.0000,F +tnc_shared_ASC_tour_da,-10.0000,F +tnc_shared_ASC_tour_s2,-10.0000,F +tnc_shared_ASC_tour_s3,-10.0000,F +tnc_shared_ASC_tour_walk,-10.0000,F +s2_sentri_coef,-0.5310,F +s2_ready_coef,0.0,F +s2_work_tour_coef,-0.7970,F +s2_calib_adj_tour_da,0.1280,F +s2_calib_adj_tour_s2,-0.5901,F +s2_calib_adj_tour_s3,-0.8562,F +s2_calib_adj_tour_walk,-0.6874,F +s2_abm2_calib_adj_tour_da,0.1177,F +s2_abm2_calib_adj_tour_s2,0.1003,F +s2_abm2_calib_adj_tour_s3,0.0927,F +s2_abm2_calib_adj_tour_walk,0.0615,F +s3_sentri_coef,-0.8825,F +s3_ready_coef,0.0,F +s3_work_tour_coef,-0.7525,F +s3_calib_adj_tour_da,0.3012,F +s3_calib_adj_tour_s2,-1.1094,F +s3_calib_adj_tour_s3,-1.3324,F +s3_calib_adj_tour_walk,-1.0476,F +s3_abm2_calib_adj_tour_da,0.1114,F +s3_abm2_calib_adj_tour_s2,0.1173,F +s3_abm2_calib_adj_tour_s3,0.1219,F +s3_abm2_calib_adj_tour_walk,-0.0099,F +walk_sentri_coef,-0.3875,F +walk_ready_coef,0.0,F +walk_calib_adj_tour_da,0.2003,F +walk_calib_adj_tour_s2,-0.0579,F +walk_calib_adj_tour_s3,-0.4514,F +walk_calib_adj_tour_walk,-0.0762,F +walk_abm2_calib_adj_tour_da,-0.8643,F +walk_abm2_calib_adj_tour_s2,-0.7036,F +walk_abm2_calib_adj_tour_s3,-0.6691,F +walk_abm2_calib_adj_tour_walk,-1.1779,F +walk_transit_sentri_coef,0.6285,F +walk_transit_ready_coef,0.0,F +walk_transit_calib_adj_tour_da,-0.7947,F +walk_transit_calib_adj_tour_s2,-2.0305,F +walk_transit_calib_adj_tour_s3,-2.4453,F +walk_transit_calib_adj_tour_walk,-2.6149,F +walk_transit_abm2_calib_adj_tour_da,-0.2530,F +walk_transit_abm2_calib_adj_tour_s2,-0.3951,F +walk_transit_abm2_calib_adj_tour_s3,-0.4158,F +walk_transit_abm2_calib_adj_tour_walk,-0.3565,F walk_transit_abm2_calib_adj_transit,-0.2000,F \ No newline at end of file diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_mode_choice_coefficients_template.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice_coefficients_template.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_mode_choice_coefficients_template.csv rename to activitysim/examples/prototype_sandag_xborder/configs/trip_mode_choice_coefficients_template.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_purpose.yaml b/activitysim/examples/prototype_sandag_xborder/configs/trip_purpose.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_purpose.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/trip_purpose.yaml diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_purpose_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_purpose_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_sandag_xborder/configs/trip_purpose_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_purpose_probs.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_purpose_probs.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_purpose_probs.csv rename to activitysim/examples/prototype_sandag_xborder/configs/trip_purpose_probs.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_scheduling.yaml b/activitysim/examples/prototype_sandag_xborder/configs/trip_scheduling.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_scheduling.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/trip_scheduling.yaml diff --git a/activitysim/examples/example_sandag_xborder/configs/trip_scheduling_probs.csv b/activitysim/examples/prototype_sandag_xborder/configs/trip_scheduling_probs.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/configs/trip_scheduling_probs.csv rename to activitysim/examples/prototype_sandag_xborder/configs/trip_scheduling_probs.csv diff --git a/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_drive_maz_tap.csv new file mode 100755 index 0000000000..9cf267a4ba --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_drive_maz_tap.csv @@ -0,0 +1,3 @@ +Label,Description,Expression,utility +util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_drive * (df.DTIME + (df.WDIST / 5280 / walk_speed * 60))",1 +util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * (df.DDIST + (df.WDIST / 5280)) * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_tap_tap.csv b/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_tap_tap.csv new file mode 100755 index 0000000000..9ceba88a15 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_tap_tap.csv @@ -0,0 +1,33 @@ +Label,Description,Expression,set1,set2,set3 +# Set 1,,,,, +set1_unavailable,Shut off set if unavailable,@(1 - df.set1_available),C_UNAVAILABLE,, +set1_total_ivt,total IVT,"@df.set1_available * c_ivt * (df.lb_ivt_set1 + eb_fac * (df.eb_ivt_set1 + df.ltd_ivt_set1) + brt_fac * (df.brt_red_ivt_set1 + df.brt_yel_ivt_set1) + lrt_fac * df.lrt_ivt_set1 + cr_fac * df.cr_ivt_set1)",1,, +set1_first_wait_time,First wait time,"@df.set1_available * c_fwt * c_ivt * df.first_wait_set1",1,, +set1_xfer_wait_time,set Transfer Wait Time,"@df.set1_available * c_xwt * c_ivt * df.xfer_wait_set1",1,, +set1_xfer_walk_time,set Walk transfer time,"@df.set1_available * c_waux * c_ivt * df.walk_time_set1",1,, +set1_fare,set Fare,"@df.set1_available * c_cost * df.fare_set1 * 100",1,, +set1_xfers,transfers penalty,@df.set1_available * (df.transfers_set1 > 0) * c_ivt * 1.5 * (-23 + 23 * np.exp(0.414 * df.transfers_set1)),1,, +set1_ASC,ASC,"@df.set1_available * df.asc_eb_set1 * np.where(df.asc_eb_set1 > 0, np.where(df.lb_ivt_set1 > 0, 0.5, 1), 1)",1,, +set1_cr_long_distance,CR long distance bonus,"@df.set1_available * (df.cr_ivt_set1 > 10) * c_ivt * -1.0 * (np.clip(df.cr_ivt_set1, a_min=None, a_max=60) + np.where(df.cr_ivt_set1 > 40, (df.cr_ivt_set1 - 40) * 0.6, 0))",1,, + +# Set 2,,,,, +set2_unavailable,Shut off set if unavailable,@(1 - df.set2_available),,C_UNAVAILABLE, +set2_total_ivt,total IVT,"@df.set2_available * c_ivt * (df.lb_ivt_set2 + eb_fac * (df.eb_ivt_set2 + df.ltd_ivt_set2) + brt_fac * (df.brt_red_ivt_set2 + df.brt_yel_ivt_set2) + lrt_fac * df.lrt_ivt_set2 + cr_fac * df.cr_ivt_set2)",,1, +set2_first_wait_time,First wait time,"@df.set2_available * c_fwt * c_ivt * df.first_wait_set2",,1, +set2_xfer_wait_time,set Transfer Wait Time,"@df.set2_available * c_xwt * c_ivt * df.xfer_wait_set2",,1, +set2_xfer_walk_time,set Walk transfer time,"@df.set2_available * c_waux * c_ivt * df.walk_time_set2",,1, +set2_fare,set Fare,"@df.set2_available * c_cost * df.fare_set2 * 100",,1, +set2_xfers,transfers penalty,@df.set2_available * (df.transfers_set2 > 0) * c_ivt * 1.5 * (-23 + 23 * np.exp(0.414 * df.transfers_set2)),,1, +set2_ASC,ASC,"@df.set2_available * df.asc_eb_set2 * np.where(df.asc_eb_set2 > 0, np.where(df.lb_ivt_set2 > 0, 0.5, 1), 1)",,1, +set2_cr_long_distance,CR long distance bonus,"@df.set2_available * (df.cr_ivt_set2 > 10) * c_ivt * -1.0 * (np.clip(df.cr_ivt_set2, a_min=None, a_max=60) + np.where(df.cr_ivt_set2 > 40, (df.cr_ivt_set2 - 40) * 0.6, 0))",,1, + +# Set 3,,,,, +set3_unavailable,Shut off set if unavailable,@(1 - df.set3_available),,,C_UNAVAILABLE +set3_total_ivt,total IVT,"@df.set3_available * c_ivt * (df.lb_ivt_set3 + eb_fac * (df.eb_ivt_set3 + df.ltd_ivt_set3) + brt_fac * (df.brt_red_ivt_set3 + df.brt_yel_ivt_set3) + lrt_fac * df.lrt_ivt_set3 + cr_fac * df.cr_ivt_set3)",,,1 +set3_first_wait_time,First wait time,"@df.set3_available * c_fwt * c_ivt * df.first_wait_set3",,,1 +set3_xfer_wait_time,set Transfer Wait Time,"@df.set3_available * c_xwt * c_ivt * df.xfer_wait_set3",,,1 +set3_xfer_walk_time,set Walk transfer time,"@df.set3_available * c_waux * c_ivt * df.walk_time_set3",,,1 +set3_fare,set Fare,"@df.set3_available * c_cost * df.fare_set3 * 100",,,1 +set3_xfers,transfers penalty,@df.set3_available * (df.transfers_set3 > 0) * c_ivt * 1.5 * (-23 + 23 * np.exp(0.414 * df.transfers_set3)),,,1 +set3_ASC,ASC,"@df.set3_available * df.asc_eb_set3 * np.where(df.asc_eb_set3 > 0, np.where(df.lb_ivt_set3 > 0, 0.5, 1), 1)",,,1 +set3_cr_long_distance,CR long distance bonus,"@df.set3_available * (df.cr_ivt_set3 > 10) * c_ivt * -1.0 * (np.clip(df.cr_ivt_set3, a_min=None, a_max=60) + np.where(df.cr_ivt_set3 > 40, (df.cr_ivt_set3 - 40) * 0.6, 0))",,,1 \ No newline at end of file diff --git a/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv new file mode 100755 index 0000000000..99c0cf8f01 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv @@ -0,0 +1,64 @@ +Description,Target,Expression + +# set1,, +total IVT,total_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_TOTALIVTT')" +total number of transfers,raw_transfers_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_XFERS')" +commuter rail IVT,cr_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_CMRIVTT')" +light rail IVT,lrt_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_LRTIVTT')" +bus rapid transit red IVT,brt_red_ivt_set1,"los.get_tappairs3d(df.btap,df.atap,df.tod,'BUS_BRTREDIVTT')" +bus rapid transit yellow IVT,brt_yel_ivt_set1,"los.get_tappairs3d(df.btap,df.atap,df.tod,'BUS_BRTYELIVTT')" +express bus IVT,eb_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_EXPIVTT')" +limited bus IVT,ltd_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_LTDEXPIVTT')" +local bus IVT,lb_ivt_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_BUSIVTT')" +first wait,first_wait_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_FIRSTWAIT')" +transfer wait,xfer_wait_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_XFERWAIT')" +total walk time,walk_time_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_TOTALWALK')" +fare,fare_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BUS_FARE')" +Transit available,set1_available,"(total_ivt_set1 > 0) * (total_ivt_set1 < 99999)" +Number transfers,transfers_set1,"np.clip(raw_transfers_set1, a_min=None, a_max=4)" +commuter rail ASC,asc_cr_set1,"set1_available * np.where(cr_ivt_set1 > 0, cr_asc * c_ivt, 0)" +light rail ASC,asc_lrt_set1,"set1_available * np.where(asc_cr_set1==0, np.where(lrt_ivt_set1 > 0, lrt_asc * c_ivt, 0), asc_cr_set1)" +bus rapid transit ASC,asc_brt_set1,"set1_available * np.where(asc_lrt_set1==0, np.where(brt_red_ivt_set1 + brt_yel_ivt_set1 > 0, brt_asc * c_ivt, 0), asc_lrt_set1)" +express bus ASC,asc_eb_set1,"set1_available * np.where(asc_brt_set1==0, np.where(eb_ivt_set1 + ltd_ivt_set1 > 0, exp_asc * c_ivt, 0), asc_brt_set1)" + +# set2,, +total IVT,total_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_TOTALIVTT')" +total number of transfers,raw_transfers_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_XFERS')" +commuter rail IVT,cr_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_CMRIVTT')" +light rail IVT,lrt_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_LRTIVTT')" +bus rapid transit red IVT,brt_red_ivt_set2,"los.get_tappairs3d(df.btap,df.atap,df.tod,'PREM_BRTREDIVTT')" +bus rapid transit yellow IVT,brt_yel_ivt_set2,"los.get_tappairs3d(df.btap,df.atap,df.tod,'PREM_BRTYELIVTT')" +express bus IVT,eb_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_EXPIVTT')" +limited bus IVT,ltd_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_LTDEXPIVTT')" +local bus IVT,lb_ivt_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_BUSIVTT')" +first wait,first_wait_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_FIRSTWAIT')" +transfer wait,xfer_wait_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_XFERWAIT')" +total walk time,walk_time_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_TOTALWALK')" +fare,fare_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'PREM_FARE')" +Transit available,set2_available,"(total_ivt_set2 > 0) * (total_ivt_set2 < 99999)" +Number Transfers,transfers_set2,"np.clip(raw_transfers_set2, a_min=None, a_max=4)" +commuter rail ASC,asc_cr_set2,"set2_available * np.where(cr_ivt_set2 > 0, cr_asc * c_ivt, 0)" +light rail ASC,asc_lrt_set2,"set2_available * np.where(asc_cr_set2==0, np.where(lrt_ivt_set2 > 0, lrt_asc * c_ivt, 0), asc_cr_set2)" +bus rapid transit ASC,asc_brt_set2,"set2_available * np.where(asc_lrt_set2==0, np.where(brt_red_ivt_set2 + brt_yel_ivt_set2 > 0, brt_asc * c_ivt, 0), asc_lrt_set2)" +express bus ASC,asc_eb_set2,"set2_available * np.where(asc_brt_set2==0, np.where(eb_ivt_set2 + ltd_ivt_set2 > 0, exp_asc * c_ivt, 0), asc_brt_set2)" + +# set3,, +total IVT,total_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_TOTALIVTT')" +total number of transfers,raw_transfers_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_XFERS')" +commuter rail IVT,cr_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_CMRIVTT')" +light rail IVT,lrt_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_LRTIVTT')" +bus rapid transit red IVT,brt_red_ivt_set3,"los.get_tappairs3d(df.btap,df.atap,df.tod,'ALLPEN_BRTREDIVTT')" +bus rapid transit yellow IVT,brt_yel_ivt_set3,"los.get_tappairs3d(df.btap,df.atap,df.tod,'ALLPEN_BRTYELIVTT')" +express bus IVT,eb_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_EXPIVTT')" +limited bus IVT,ltd_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_LTDEXPIVTT')" +local bus IVT,lb_ivt_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_BUSIVTT')" +first wait,first_wait_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_FIRSTWAIT')" +transfer wait,xfer_wait_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_XFERWAIT')" +total walk time,walk_time_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_TOTALWALK')" +fare,fare_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'ALLPEN_FARE')" +Transit avaiable,set3_available,"(total_ivt_set3 > 0) * (total_ivt_set3 < 99999) * (raw_transfers_set3 != 0)" +Number Transfers,transfers_set3,"np.clip(raw_transfers_set3, a_min=None, a_max=4)" +commuter rail ASC,asc_cr_set3,"set3_available * np.where(cr_ivt_set3 > 0, cr_asc * c_ivt, 0)" +light rail ASC,asc_lrt_set3,"set3_available * np.where(asc_cr_set3==0, np.where(lrt_ivt_set3 > 0, lrt_asc * c_ivt, 0), asc_cr_set3)" +bus rapid transit ASC,asc_brt_set3,"set3_available * np.where(asc_lrt_set3==0, np.where(brt_red_ivt_set3 + brt_yel_ivt_set3 > 0, brt_asc * c_ivt, 0), asc_lrt_set3)" +express bus ASC,asc_eb_set3,"set3_available * np.where(asc_brt_set3==0, np.where(eb_ivt_set3 + ltd_ivt_set3 > 0, exp_asc * c_ivt, 0), asc_brt_set3)" \ No newline at end of file diff --git a/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_walk_maz_tap.csv new file mode 100755 index 0000000000..0a32ddbda7 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/tvpb_utility_walk_maz_tap.csv @@ -0,0 +1,4 @@ +Label,Description,Expression,utility +#,,,FIXME column values shouldn't ever be na if different moides have different tables? +util_walk_available,walk available,@(df.walkTime==0) * C_UNAVAILABLE,1 +util_walk_time,walk time,"@c_ivt * c_walk * df.walkTime",1 diff --git a/activitysim/examples/example_sandag_xborder/configs/wait_time_mode.yaml b/activitysim/examples/prototype_sandag_xborder/configs/wait_time_mode.yaml similarity index 96% rename from activitysim/examples/example_sandag_xborder/configs/wait_time_mode.yaml rename to activitysim/examples/prototype_sandag_xborder/configs/wait_time_mode.yaml index 13bbc27f61..b931be48b3 100755 --- a/activitysim/examples/example_sandag_xborder/configs/wait_time_mode.yaml +++ b/activitysim/examples/prototype_sandag_xborder/configs/wait_time_mode.yaml @@ -1,124 +1,124 @@ -inherit_settings: False - -# number of households to simulate -# households_sample_size: 100 -# chunk_size: 0 - -households_sample_size: 0 - -multiprocess: True -strict: False -mem_tick: 30 -num_processes: 30 -fail_fast: True - -############## -# -# chunking -# - -chunk_size: 50_000_000_000 - -# minimum fraction of total chunk_size to reserve for adaptive chunking -min_available_chunk_ratio: 0.05 - -# initial number of chooser rows for first chunk in training mode -# when there is no pre-existing chunk_cache to set initial value -# ordinarily bigger is better as long as it is not so big it causes memory issues (e.g. accessibility with lots of zones) -default_initial_rows_per_chunk: 500 - -# method to calculate memory overhead when chunking is enabled -chunk_method: hybrid_uss - -# chunk training mode -# training to determine the chunking settings written to a cache file that is re-used for production runs -# training -# production -# disabled -chunk_training_mode: disabled - -# whether to preserve or delete subprocess chunk and mem logs when they are consolidated at end of multiprocess run -keep_chunk_logs: True -keep_mem_logs: True - -############ - -trace_hh_id: - -# input tables -input_table_list: - - tablename: households - filename: households_xborder.csv - index_col: household_id - - - tablename: persons - filename: persons_xborder.csv - index_col: person_id - - - tablename: land_use - filename: mazs_xborder.csv - index_col: zone_id - rename_columns: - MAZ: zone_id - - - tablename: tours - filename: tours_xborder.csv - index_col: tour_id - - -# set false to disable variability check in simple_simulate and interaction_simulate -check_for_variability: False - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False -want_dest_choice_presampling: True - -#resume_after: _ - -models: - - initialize_landuse - - initialize_households - - initialize_tours - # --- STATIC cache prebuild steps - # single-process step to create attribute_combination list - - initialize_los - # multi-processable step to build STATIC cache - # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) - - initialize_tvpb - # # --- - - tour_scheduling_probabilistic - - tour_od_choice - - reassign_tour_purpose_by_poe - - tour_mode_choice_simulate - - write_tables - -multiprocess_steps: - - name: mp_initialize - begin: initialize_landuse - - name: mp_households - begin: tour_od_choice - slice: - tables: - - households - - persons - - name: mp_summarize - begin: write_tables - -output_tables: - h5_store: False - action: include - prefix: wait_time_ - sort: True - tables: - - tours - -output_summaries: - tours: +inherit_settings: False + +# number of households to simulate +# households_sample_size: 100 +# chunk_size: 0 + +households_sample_size: 0 + +multiprocess: True +strict: False +mem_tick: 30 +num_processes: 30 +fail_fast: True + +############## +# +# chunking +# + +chunk_size: 50_000_000_000 + +# minimum fraction of total chunk_size to reserve for adaptive chunking +min_available_chunk_ratio: 0.05 + +# initial number of chooser rows for first chunk in training mode +# when there is no pre-existing chunk_cache to set initial value +# ordinarily bigger is better as long as it is not so big it causes memory issues (e.g. accessibility with lots of zones) +default_initial_rows_per_chunk: 500 + +# method to calculate memory overhead when chunking is enabled +chunk_method: hybrid_uss + +# chunk training mode +# training to determine the chunking settings written to a cache file that is re-used for production runs +# training +# production +# disabled +chunk_training_mode: disabled + +# whether to preserve or delete subprocess chunk and mem logs when they are consolidated at end of multiprocess run +keep_chunk_logs: True +keep_mem_logs: True + +############ + +trace_hh_id: + +# input tables +input_table_list: + - tablename: households + filename: households_xborder.csv + index_col: household_id + + - tablename: persons + filename: persons_xborder.csv + index_col: person_id + + - tablename: land_use + filename: mazs_xborder.csv + index_col: zone_id + rename_columns: + MAZ: zone_id + + - tablename: tours + filename: tours_xborder.csv + index_col: tour_id + + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False +want_dest_choice_presampling: True + +#resume_after: _ + +models: + - initialize_landuse + - initialize_households + - initialize_tours + # --- STATIC cache prebuild steps + # single-process step to create attribute_combination list + - initialize_los + # multi-processable step to build STATIC cache + # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) + - initialize_tvpb + # # --- + - tour_scheduling_probabilistic + - tour_od_choice + - reassign_tour_purpose_by_poe + - tour_mode_choice_simulate + - write_tables + +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_households + begin: tour_od_choice + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_tables + +output_tables: + h5_store: False + action: include + prefix: wait_time_ + sort: True + tables: + - tours + +output_summaries: + tours: diff --git a/activitysim/examples/prototype_sandag_xborder/configs/write_trip_matrices.yaml b/activitysim/examples/prototype_sandag_xborder/configs/write_trip_matrices.yaml new file mode 100644 index 0000000000..37c6849ac3 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/write_trip_matrices.yaml @@ -0,0 +1,108 @@ +# read trips table post preprocessor and run expressions to code +# additional data fields, with one data fields for each matrix specified below + +preprocessor: + SPEC: write_trip_matrices_annotate_trips_preprocessor + DF: trips + TABLES: + - tours + +# divide trip counts by household expansion factor +HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in + +# save preprocessed trips table to pipeline if desired +SAVE_TRIPS_TABLE: False + +MATRICES: + - file_name: trips_ea.omx + tables: + - name: DRIVEALONE_EA + data_field: DRIVEALONE_EA + - name: SHARED2_EA + data_field: SHARED2_EA + - name: SHARED3_EA + data_field: SHARED3_EA + - name: WALK_EA + data_field: WALK_EA + - name: WALK_TRANSIT_WALK_EA + data_field: WALK_TRANSIT_WALK_EA + - name: TAXI_EA + data_field: TAXI_EA + - name: TNC_SINGLE_EA + data_field: TNC_SINGLE_EA + - name: TNC_SHARED_EA + data_field: TNC_SHARED_EA + - file_name: trips_am.omx + tables: + - name: DRIVEALONE_AM + data_field: DRIVEALONE_AM + - name: SHARED2_AM + data_field: SHARED2_AM + - name: SHARED3_AM + data_field: SHARED3_AM + - name: WALK_AM + data_field: WALK_AM + - name: WALK_TRANSIT_WALK_AM + data_field: WALK_TRANSIT_WALK_EA + - name: TAXI_AM + data_field: TAXI_AM + - name: TNC_SINGLE_AM + data_field: TNC_SINGLE_AM + - name: TNC_SHARED_AM + data_field: TNC_SHARED_AM + - file_name: trips_md.omx + tables: + - name: DRIVEALONE_MD + data_field: DRIVEALONE_MD + - name: SHARED2_MD + data_field: SHARED2_MD + - name: SHARED3_MD + data_field: SHARED3_MD + - name: WALK_MD + data_field: WALK_MD + - name: WALK_TRANSIT_WALK_MD + data_field: WALK_TRANSIT_WALK_EA + - name: TAXI_MD + data_field: TAXI_MD + - name: TNC_SINGLE_MD + data_field: TNC_SINGLE_MD + - name: TNC_SHARED_MD + data_field: TNC_SHARED_MD + - file_name: trips_pm.omx + tables: + - name: DRIVEALONE_PM + data_field: DRIVEALONE_PM + - name: SHARED2_PM + data_field: SHARED2_PM + - name: SHARED3_PM + data_field: SHARED3_PM + - name: WALK_PM + data_field: WALK_PM + - name: WALK_TRANSIT_WALK_PM + data_field: WALK_TRANSIT_WALK_EA + - name: TAXI_PM + data_field: TAXI_PM + - name: TNC_SINGLE_PM + data_field: TNC_SINGLE_PM + - name: TNC_SHARED_PM + data_field: TNC_SHARED_PM + - file_name: trips_ev.omx + tables: + - name: DRIVEALONE_EV + data_field: DRIVEALONE_EV + - name: SHARED2_EV + data_field: SHARED2_EV + - name: SHARED3_EV + data_field: SHARED3_EV + - name: WALK_EV + data_field: WALK_EV + - name: WALK_TRANSIT_WALK_EV + data_field: WALK_TRANSIT_WALK_EA + - name: TAXI_EV + data_field: TAXI_EV + - name: TNC_SINGLE_EV + data_field: TNC_SINGLE_EV + - name: TNC_SHARED_EV + data_field: TNC_SHARED_EV + +CONSTANTS: diff --git a/activitysim/examples/prototype_sandag_xborder/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_sandag_xborder/configs/write_trip_matrices_annotate_trips_preprocessor.csv new file mode 100644 index 0000000000..2b50fd28ab --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/configs/write_trip_matrices_annotate_trips_preprocessor.csv @@ -0,0 +1,55 @@ +Description,Target,Expression +# add additional fields,, +,tour_participants,trips.tour_id.map(tours.number_of_participants) +,distance,odt_skims['SOV_NT_M_DIST'] +# code time periods,, +,is_ea,trips.trip_period == 'EA' +,is_am,trips.trip_period == 'AM' +,is_md,trips.trip_period == 'MD' +,is_pm,trips.trip_period == 'PM' +,is_ev,trips.trip_period == 'EV' +# ea trips,, +,DRIVEALONE_EA,((trips.trip_mode == 'DRIVEALONE') & is_ea) * tour_participants +,SHARED2_EA,((trips.trip_mode == 'SHARED2') & is_ea) * tour_participants +,SHARED3_EA,((trips.trip_mode == 'SHARED3') & is_ea) * tour_participants +,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants +,WALK_TRANSIT_WALK_EA,((trips.trip_mode == 'WALK_TRANSIT') & is_ea) * tour_participants +,TAXI_EA,((trips.trip_mode == 'TAXI') & is_ea) * tour_participants +,TNC_SINGLE_EA,((trips.trip_mode == 'TNC_SINGLE') & is_ea) * tour_participants +,TNC_SHARED_EA,((trips.trip_mode == 'TNC_SHARED') & is_ea) * tour_participants +# am trips,, +,DRIVEALONE_AM,((trips.trip_mode == 'DRIVEALONE') & is_am) * tour_participants +,SHARED2_AM,((trips.trip_mode == 'SHARED2') & is_am) * tour_participants +,SHARED3_AM,((trips.trip_mode == 'SHARED3') & is_am) * tour_participants +,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants +,WALK_TRANSIT_WALK_AM,((trips.trip_mode == 'WALK_TRANSIT') & is_am) * tour_participants +,TAXI_AM,((trips.trip_mode == 'TAXI') & is_am) * tour_participants +,TNC_SINGLE_AM,((trips.trip_mode == 'TNC_SINGLE') & is_am) * tour_participants +,TNC_SHARED_AM,((trips.trip_mode == 'TNC_SHARED') & is_am) * tour_participants +# md trips,, +,DRIVEALONE_MD,((trips.trip_mode == 'DRIVEALONE') & is_md) * tour_participants +,SHARED2_MD,((trips.trip_mode == 'SHARED2') & is_md) * tour_participants +,SHARED3_MD,((trips.trip_mode == 'SHARED3') & is_md) * tour_participants +,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants +,WALK_TRANSIT_WALK_MD,((trips.trip_mode == 'WALK_TRANSIT') & is_md) * tour_participants +,TAXI_MD,((trips.trip_mode == 'TAXI') & is_md) * tour_participants +,TNC_SINGLE_MD,((trips.trip_mode == 'TNC_SINGLE') & is_md) * tour_participants +,TNC_SHARED_MD,((trips.trip_mode == 'TNC_SHARED') & is_md) * tour_participants +# pm trips,, +,DRIVEALONE_PM,((trips.trip_mode == 'DRIVEALONE') & is_pm) * tour_participants +,SHARED2_PM,((trips.trip_mode == 'SHARED2') & is_pm) * tour_participants +,SHARED3_PM,((trips.trip_mode == 'SHARED3') & is_pm) * tour_participants +,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants +,WALK_TRANSIT_WALK_PM,((trips.trip_mode == 'WALK_TRANSIT') & is_pm) * tour_participants +,TAXI_PM,((trips.trip_mode == 'TAXI') & is_pm) * tour_participants +,TNC_SINGLE_PM,((trips.trip_mode == 'TNC_SINGLE') & is_pm) * tour_participants +,TNC_SHARED_PM,((trips.trip_mode == 'TNC_SHARED') & is_pm) * tour_participants +# ev trips,, +,DRIVEALONE_EV,((trips.trip_mode == 'DRIVEALONE') & is_ev) * tour_participants +,SHARED2_EV,((trips.trip_mode == 'SHARED2') & is_ev) * tour_participants +,SHARED3_EV,((trips.trip_mode == 'SHARED3') & is_ev) * tour_participants +,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants +,WALK_TRANSIT_WALK_EV,((trips.trip_mode == 'WALK_TRANSIT') & is_ev) * tour_participants +,TAXI_EV,((trips.trip_mode == 'TAXI') & is_ev) * tour_participants +,TNC_SINGLE_EV,((trips.trip_mode == 'TNC_SINGLE') & is_ev) * tour_participants +,TNC_SHARED_EV,((trips.trip_mode == 'TNC_SHARED') & is_ev) * tour_participants diff --git a/activitysim/examples/example_sandag_xborder/data/.gitignore b/activitysim/examples/prototype_sandag_xborder/data/.gitignore similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/.gitignore rename to activitysim/examples/prototype_sandag_xborder/data/.gitignore diff --git a/activitysim/examples/example_sandag_xborder/data/households_xborder.csv b/activitysim/examples/prototype_sandag_xborder/data/households_xborder.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/households_xborder.csv rename to activitysim/examples/prototype_sandag_xborder/data/households_xborder.csv diff --git a/activitysim/examples/example_sandag_xborder/data/maz_maz_walk.csv b/activitysim/examples/prototype_sandag_xborder/data/maz_maz_walk.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/maz_maz_walk.csv rename to activitysim/examples/prototype_sandag_xborder/data/maz_maz_walk.csv diff --git a/activitysim/examples/example_sandag_xborder/data/maz_tap_walk.csv b/activitysim/examples/prototype_sandag_xborder/data/maz_tap_walk.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/maz_tap_walk.csv rename to activitysim/examples/prototype_sandag_xborder/data/maz_tap_walk.csv diff --git a/activitysim/examples/example_sandag_xborder/data/mazs_xborder.csv b/activitysim/examples/prototype_sandag_xborder/data/mazs_xborder.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/mazs_xborder.csv rename to activitysim/examples/prototype_sandag_xborder/data/mazs_xborder.csv diff --git a/activitysim/examples/example_sandag_xborder/data/persons_xborder.csv b/activitysim/examples/prototype_sandag_xborder/data/persons_xborder.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/persons_xborder.csv rename to activitysim/examples/prototype_sandag_xborder/data/persons_xborder.csv diff --git a/activitysim/examples/example_sandag_xborder/data/tap_lines.csv b/activitysim/examples/prototype_sandag_xborder/data/tap_lines.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/tap_lines.csv rename to activitysim/examples/prototype_sandag_xborder/data/tap_lines.csv diff --git a/activitysim/examples/example_sandag_xborder/data/taps.csv b/activitysim/examples/prototype_sandag_xborder/data/taps.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/taps.csv rename to activitysim/examples/prototype_sandag_xborder/data/taps.csv diff --git a/activitysim/examples/example_sandag_xborder/data/tours_xborder.csv b/activitysim/examples/prototype_sandag_xborder/data/tours_xborder.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/tours_xborder.csv rename to activitysim/examples/prototype_sandag_xborder/data/tours_xborder.csv diff --git a/activitysim/examples/example_sandag_xborder/data/traffic_skims_xborder_AM.omx b/activitysim/examples/prototype_sandag_xborder/data/traffic_skims_xborder_AM.omx similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/traffic_skims_xborder_AM.omx rename to activitysim/examples/prototype_sandag_xborder/data/traffic_skims_xborder_AM.omx diff --git a/activitysim/examples/example_sandag_xborder/data/traffic_skims_xborder_EA.omx b/activitysim/examples/prototype_sandag_xborder/data/traffic_skims_xborder_EA.omx similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/traffic_skims_xborder_EA.omx rename to activitysim/examples/prototype_sandag_xborder/data/traffic_skims_xborder_EA.omx diff --git a/activitysim/examples/example_sandag_xborder/data/traffic_skims_xborder_EV.omx b/activitysim/examples/prototype_sandag_xborder/data/traffic_skims_xborder_EV.omx similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/traffic_skims_xborder_EV.omx rename to activitysim/examples/prototype_sandag_xborder/data/traffic_skims_xborder_EV.omx diff --git a/activitysim/examples/example_sandag_xborder/data/traffic_skims_xborder_MD.omx b/activitysim/examples/prototype_sandag_xborder/data/traffic_skims_xborder_MD.omx similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/traffic_skims_xborder_MD.omx rename to activitysim/examples/prototype_sandag_xborder/data/traffic_skims_xborder_MD.omx diff --git a/activitysim/examples/example_sandag_xborder/data/traffic_skims_xborder_PM.omx b/activitysim/examples/prototype_sandag_xborder/data/traffic_skims_xborder_PM.omx similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/traffic_skims_xborder_PM.omx rename to activitysim/examples/prototype_sandag_xborder/data/traffic_skims_xborder_PM.omx diff --git a/activitysim/examples/example_sandag_xborder/data/transit_skims_xborder.omx b/activitysim/examples/prototype_sandag_xborder/data/transit_skims_xborder.omx similarity index 100% rename from activitysim/examples/example_sandag_xborder/data/transit_skims_xborder.omx rename to activitysim/examples/prototype_sandag_xborder/data/transit_skims_xborder.omx diff --git a/activitysim/examples/prototype_sandag_xborder/extensions/.gitignore b/activitysim/examples/prototype_sandag_xborder/extensions/.gitignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/activitysim/examples/example_sandag_xborder/extensions/__init__.py b/activitysim/examples/prototype_sandag_xborder/extensions/__init__.py similarity index 100% rename from activitysim/examples/example_sandag_xborder/extensions/__init__.py rename to activitysim/examples/prototype_sandag_xborder/extensions/__init__.py diff --git a/activitysim/examples/prototype_sandag_xborder/extensions/reassign_tour_purpose.py b/activitysim/examples/prototype_sandag_xborder/extensions/reassign_tour_purpose.py new file mode 100644 index 0000000000..74e9098562 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/extensions/reassign_tour_purpose.py @@ -0,0 +1,53 @@ +# ActivitySim +# See full license in LICENSE.txt. +import logging + +import numpy as np +import pandas as pd + +from activitysim.core import config, inject, pipeline + +logger = logging.getLogger(__name__) + + +@inject.step() +def reassign_tour_purpose_by_poe(tours, chunk_size, trace_hh_id): + + """ + Simulates tour purpose choices after tour origin has been assigned. This + is useful when the original tour purposes are assigned randomly + from an aggregate distribution that was not segmented by tour origin. + """ + + trace_label = "reassign_tour_purpose_by_poe" + probs_df = pd.read_csv(config.config_file_path("tour_purpose_probs_by_poe.csv")) + probs_df.columns = [ + col if col in ["Purpose", "Description"] else int(col) + for col in probs_df.columns + ] + + tours_df = tours.to_frame(columns=["tour_type", "poe_id"]) + tour_types = probs_df[["Purpose", "Description"]].set_index("Purpose")[ + "Description" + ] + + tours_df["purpose_id"] = None + for poe, group in tours_df.groupby("poe_id"): + num_tours = len(group) + purpose_probs = probs_df[poe] + purpose_cum_probs = purpose_probs.values.cumsum() + rands = pipeline.get_rn_generator().random_for_df(group) + purpose_scaled_probs = np.subtract(purpose_cum_probs, rands) + purpose = np.argmax((purpose_scaled_probs + 1.0).astype("i4"), axis=1) + tours_df.loc[group.index, "purpose_id"] = purpose + tours_df["new_tour_type"] = tours_df["purpose_id"].map(tour_types) + + tours = tours.to_frame() + tours["tour_type"] = tours_df["new_tour_type"].reindex(tours.index) + tours["purpose_id"] = tours_df["purpose_id"].reindex(tours.index) + tours["tour_category"] = "non_mandatory" + tours.loc[tours["tour_type"].isin(["home", "work"]), "tour_category"] = "mandatory" + + pipeline.replace_table("tours", tours) + + return diff --git a/activitysim/examples/example_sandag_xborder/notebooks/cross_border_validation.ipynb b/activitysim/examples/prototype_sandag_xborder/notebooks/cross_border_validation.ipynb similarity index 100% rename from activitysim/examples/example_sandag_xborder/notebooks/cross_border_validation.ipynb rename to activitysim/examples/prototype_sandag_xborder/notebooks/cross_border_validation.ipynb diff --git a/activitysim/examples/example_sandag_xborder/output/.gitignore b/activitysim/examples/prototype_sandag_xborder/output/.gitignore similarity index 100% rename from activitysim/examples/example_sandag_xborder/output/.gitignore rename to activitysim/examples/prototype_sandag_xborder/output/.gitignore diff --git a/activitysim/examples/prototype_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py b/activitysim/examples/prototype_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py new file mode 100644 index 0000000000..c50d2d59c0 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py @@ -0,0 +1,73 @@ +# remove unused skims from full scale sandag cross border skim files to +# reduce file size for upload to GitHub since there's a 2GB file size limit +# run this script and then run these repack commands to reduce file size + +# Ben.Stabler@rsginc.com, 10/18/21 + +# h5repack -i traffic_skims_xborder_EA.omx -o traffic_skims_xborder_EA_repacked.omx +# h5repack -i traffic_skims_xborder_AM.omx -o traffic_skims_xborder_AM_repacked.omx +# h5repack -i traffic_skims_xborder_MD.omx -o traffic_skims_xborder_MD_repacked.omx +# h5repack -i traffic_skims_xborder_PM.omx -o traffic_skims_xborder_PM_repacked.omx +# h5repack -i traffic_skims_xborder_EV.omx -o traffic_skims_xborder_EV_repacked.omx + +import tables + +time_periods = ["EA", "AM", "MD", "PM", "EV"] + +skims_to_remove = [ + "/data/HOV2_H_HOVDIST", + "/data/HOV2_H_REL", + "/data/HOV2_H_TOLLDIST", + "/data/HOV2_L_HOVDIST", + "/data/HOV2_L_REL", + "/data/HOV2_L_TOLLDIST", + "/data/HOV2_M_HOVDIST", + "/data/HOV2_M_REL", + "/data/HOV2_M_TOLLDIST", + "/data/HOV3_H_HOVDIST", + "/data/HOV3_H_REL", + "/data/HOV3_H_TOLLDIST", + "/data/HOV3_L_HOVDIST", + "/data/HOV3_L_REL", + "/data/HOV3_L_TOLLDIST", + "/data/HOV3_M_HOVDIST", + "/data/HOV3_M_REL", + "/data/HOV3_M_TOLLDIST", + "/data/SOV_NT_H_REL", + "/data/SOV_NT_H_TOLLDIST", + "/data/SOV_NT_L_REL", + "/data/SOV_NT_L_TOLLDIST", + "/data/SOV_NT_M_REL", + "/data/SOV_NT_M_TOLLDIST", + "/data/SOV_TR_H_DIST", + "/data/SOV_TR_H_REL", + "/data/SOV_TR_H_TIME", + "/data/SOV_TR_H_TOLLCOST", + "/data/SOV_TR_H_TOLLDIST", + "/data/SOV_TR_L_DIST", + "/data/SOV_TR_L_REL", + "/data/SOV_TR_L_TIME", + "/data/SOV_TR_L_TOLLCOST", + "/data/SOV_TR_L_TOLLDIST", + "/data/SOV_TR_M_DIST", + "/data/SOV_TR_M_REL", + "/data/SOV_TR_M_TIME", + "/data/SOV_TR_M_TOLLCOST", + "/data/SOV_TR_M_TOLLDIST", + "/data/TRK_H_DIST", + "/data/TRK_H_TIME", + "/data/TRK_H_TOLLCOST", + "/data/TRK_L_DIST", + "/data/TRK_L_TIME", + "/data/TRK_L_TOLLCOST", + "/data/TRK_M_DIST", + "/data/TRK_M_TIME", + "/data/TRK_M_TOLLCOST", +] + +for time_period in time_periods: + f = tables.open_file("traffic_skims_xborder_" + time_period + ".omx", "a") + for skim in skims_to_remove: + print(skim + "__" + time_period) + f.remove_node(skim + "__" + time_period) + f.close() diff --git a/activitysim/examples/prototype_sandag_xborder/scripts/sandag_crop_3_zone.py b/activitysim/examples/prototype_sandag_xborder/scripts/sandag_crop_3_zone.py new file mode 100644 index 0000000000..f0968d6400 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/scripts/sandag_crop_3_zone.py @@ -0,0 +1,214 @@ +# adapted from +# crop marin tvpb example data processing to one county +# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 + +import argparse +import glob +import os + +import numpy as np +import openmatrix as omx +import pandas as pd + +MAZ_OFFSET = 100000 + +segments = { + "cropped": {"MAZ": np.arange(MAZ_OFFSET + 500, MAZ_OFFSET + 1080)}, + "full": {}, +} + +parser = argparse.ArgumentParser(description="crop SANDAG 3 zone raw_data") +parser.add_argument( + "-s", + "--segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ, TAP zone_ids and foreign keys & write orphan_households file", +) + +args = parser.parse_args() + +segment_name = args.segment_name[0] + +assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" + +input_dir = "../data_raw" +output_dir = f"../data_{segment_name}" + +print(f"segment_name {segment_name}") + +print(f"input_dir {input_dir}") +print(f"output_dir {output_dir}") + +if not os.path.isdir(output_dir): + print(f"creating output directory {output_dir}") + os.mkdir(output_dir) + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def patch_maz(df, maz_offset): + for c in df.columns: + if c in ["MAZ", "OMAZ", "DMAZ", "mgra", "orig_mgra", "dest_mgra"]: + df[c] += maz_offset + return df + + +def read_csv(file_name): + df = pd.read_csv(input_path(file_name)) + if MAZ_OFFSET: + df = patch_maz(df, MAZ_OFFSET) + print(f"read {file_name} {df.shape}") + return df + + +def to_csv(df, file_name): + df.to_csv(output_path(file_name), index=False) + print(f"write {file_name} {df.shape}") + + +def crop_omx(omx_file_name, zones, num_outfiles=1): + + skim_data_type = np.float32 + + omx_in = omx.open_file(input_path(f"{omx_file_name}.omx")) + print(f"omx_in shape {omx_in.shape()}") + + offset_map = None + for mapping_name in omx_in.listMappings(): + _offset_map = np.asanyarray(omx_in.mapentries(mapping_name)) + offset_map = _offset_map + + om = pd.Series(offset_map) + om = om[om.isin(zones.values)] + indexes = om.index.values + labels = zones.values # TAZ zone_ids in omx index order + + # create + if num_outfiles == 1: + omx_out = [omx.open_file(output_path(f"{omx_file_name}.omx"), "w")] + else: + omx_out = [ + omx.open_file(output_path(f"{omx_file_name}{i + 1}.omx"), "w") + for i in range(num_outfiles) + ] + + for omx_file in omx_out: + omx_file.create_mapping("ZONE", labels) + + iskim = 0 + for mat_name in omx_in.list_matrices(): + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) + m = m[indexes, :][:, indexes] + print(f"{mat_name} {m.shape}") + + omx_file = omx_out[iskim % num_outfiles] + omx_file[mat_name] = m + iskim += 1 + + omx_in.close() + for omx_file in omx_out: + omx_file.close() + + +# non-standard input file names +LAND_USE = "mazs_xborder.csv" +HOUSEHOLDS = "households_xborder.csv" +PERSONS = "persons_xborder.csv" +TOURS = "tours_xborder.csv" +# MAZ_TAZ = "maz.csv" +# TAP_MAZ = "tap.csv" +TAZ = "taz.csv" + + +# land_use +land_use = read_csv(LAND_USE) +land_use.MAZ = land_use.MAZ.astype(int) +ur_land_use = land_use.copy() + +slicer = segments[segment_name] +for slice_col, slice_values in slicer.items(): + # print(f"slice {slice_col}: {slice_values}") + poe_mask = land_use["poe_id"] > -1 # preserve mazs with poe data + slice_mask = land_use[slice_col].isin(slice_values) + land_use = land_use[(poe_mask) | (slice_mask)] + +print(f"land_use shape after slicing {land_use.shape}") +to_csv(land_use, LAND_USE) + + +# TAZ +taz = pd.DataFrame({"TAZ": sorted(ur_land_use.TAZ.unique())}) +taz = taz[taz.TAZ.isin(land_use["TAZ"])] +# to_csv(taz, TAZ) + +# # maz_taz +# maz_taz = read_csv(MAZ_TAZ).sort_values('MAZ') +# maz_taz = maz_taz[maz_taz.MAZ.isin(land_use.MAZ)] +# to_csv(maz_taz, MAZ_TAZ) + +# # tap +# taps = read_csv(TAP_MAZ) +# taps = taps[['TAP', 'MAZ']].sort_values(by='TAP').reset_index(drop=True) +# taps = taps[taps["MAZ"].isin(land_use["MAZ"])] +# to_csv(taps, "tap.csv") + +# maz to tap +maz_tap_walk = read_csv("maz_tap_walk.csv").sort_values(["MAZ", "TAP"]) +maz_tap_walk = maz_tap_walk[maz_tap_walk["MAZ"].isin(land_use["MAZ"])] +to_csv(maz_tap_walk, "maz_tap_walk.csv") + +# maz to maz +maz_maz_walk = read_csv("maz_maz_walk.csv").sort_values(["OMAZ", "DMAZ"]) +maz_maz_walk = maz_maz_walk[ + maz_maz_walk["OMAZ"].isin(land_use["MAZ"]) + & maz_maz_walk["DMAZ"].isin(land_use["MAZ"]) +] +to_csv(maz_maz_walk, "maz_maz_walk.csv") + +# taps and tap_lines +tap_lines = read_csv("tap_lines.csv") +tap_lines = tap_lines[tap_lines["TAP"].isin(maz_tap_walk["TAP"])] +to_csv(tap_lines, "tap_lines.csv") + +taps = read_csv("taps.csv") +taps = taps[taps["TAP"].isin(maz_tap_walk["TAP"])] +to_csv(taps, "taps.csv") + +tours = read_csv(TOURS) +to_csv(tours, "tours.csv") + +# households +households = read_csv(HOUSEHOLDS) +# households = households[households["MAZ"].isin(land_use["MAZ"])] +to_csv(households, "households.csv") + +# persons +persons = read_csv(PERSONS) +# persons = persons[persons["household_id"].isin(households["HHID"])] +to_csv(persons, "persons.csv") + +# drive skims +for omx_fpath in glob.glob(input_path("*traffic*xborder*.omx")): + print(omx_fpath) + omx_fname = omx_fpath.replace("\\", "/").split("/")[-1].split(".omx")[0] + crop_omx(omx_fname, taz.TAZ) + +# transit skims +crop_omx("transit_skims_xborder", taps.TAP) diff --git a/activitysim/examples/prototype_sandag_xborder/simulation.py b/activitysim/examples/prototype_sandag_xborder/simulation.py new file mode 100644 index 0000000000..9e10fd4c9a --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/simulation.py @@ -0,0 +1,20 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import os +import sys + +import extensions + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + os.environ["MKL_NUM_THREADS"] = "1" + + sys.exit(run(args)) diff --git a/activitysim/examples/example_sandag_xborder/test/configs/network_los.yaml b/activitysim/examples/prototype_sandag_xborder/test/configs/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/test/configs/network_los.yaml rename to activitysim/examples/prototype_sandag_xborder/test/configs/network_los.yaml diff --git a/activitysim/examples/example_sandag_xborder/test/configs/settings.yaml b/activitysim/examples/prototype_sandag_xborder/test/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/test/configs/settings.yaml rename to activitysim/examples/prototype_sandag_xborder/test/configs/settings.yaml diff --git a/activitysim/examples/example_sandag_xborder/test/output/.gitignore b/activitysim/examples/prototype_sandag_xborder/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_sandag_xborder/test/output/.gitignore rename to activitysim/examples/prototype_sandag_xborder/test/output/.gitignore diff --git a/activitysim/examples/example_sandag_xborder/test/regress/final_trips.csv b/activitysim/examples/prototype_sandag_xborder/test/regress/final_trips.csv similarity index 100% rename from activitysim/examples/example_sandag_xborder/test/regress/final_trips.csv rename to activitysim/examples/prototype_sandag_xborder/test/regress/final_trips.csv diff --git a/activitysim/examples/prototype_sandag_xborder/test/test_sandag_xborder.py b/activitysim/examples/prototype_sandag_xborder/test/test_sandag_xborder.py new file mode 100644 index 0000000000..afa29c29d5 --- /dev/null +++ b/activitysim/examples/prototype_sandag_xborder/test/test_sandag_xborder.py @@ -0,0 +1,56 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def test_sandag_xborder(): + def example_path(dirname): + resource = os.path.join("examples", "prototype_sandag_xborder", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(): + regress_trips_df = pd.read_csv(test_path("regress/final_trips.csv")) + final_trips_df = pd.read_csv(test_path("output/final_trips.csv")) + pdt.assert_frame_equal(final_trips_df, regress_trips_df) + + file_path = os.path.join(os.path.dirname(__file__), "../simulation.py") + + subprocess.run( + [ + "coverage", + "run", + "-a", + file_path, + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ], + check=True, + ) + + regress() + + +if __name__ == "__main__": + + test_sandag_xborder() diff --git a/activitysim/examples/example_semcog/.gitignore b/activitysim/examples/prototype_semcog/.gitignore similarity index 100% rename from activitysim/examples/example_semcog/.gitignore rename to activitysim/examples/prototype_semcog/.gitignore diff --git a/activitysim/examples/example_semcog/README.MD b/activitysim/examples/prototype_semcog/README.MD similarity index 100% rename from activitysim/examples/example_semcog/README.MD rename to activitysim/examples/prototype_semcog/README.MD diff --git a/activitysim/examples/example_semcog/change_log.txt b/activitysim/examples/prototype_semcog/change_log.txt similarity index 100% rename from activitysim/examples/example_semcog/change_log.txt rename to activitysim/examples/prototype_semcog/change_log.txt diff --git a/activitysim/examples/example_semcog/configs/_dummy_coefficients.csv b/activitysim/examples/prototype_semcog/configs/_dummy_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/_dummy_coefficients.csv rename to activitysim/examples/prototype_semcog/configs/_dummy_coefficients.csv diff --git a/activitysim/examples/prototype_semcog/configs/accessibility.csv b/activitysim/examples/prototype_semcog/configs/accessibility.csv new file mode 100755 index 0000000000..37558cf5db --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/accessibility.csv @@ -0,0 +1,59 @@ +Description,Target,Expression +#,, +#,, auto peak +#,, +#,, assume peak occurs in AM for outbound and PM for inbound +peak round trip distance,_auPkTime,"skim_od[('SOV_TIME', 'AM')] + skim_do[('SOV_TIME', 'PM')]" +decay function,_decay, exp(_auPkTime * dispersion_parameter_automobile) +auto peak retail,auPkRetail,df.e05_retail * _decay +auto peak total,auPkTotal,df.tot_emp * _decay +#,, +#,, auto off-peak +#,, +#,, assume midday occurs entirely in the midday period +off-peak round trip distance,_auOpTime,"skim_od[('SOV_TIME', 'MD')] + skim_do[('SOV_TIME', 'MD')]" +decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) +auto off-peak retail,auOpRetail,df.e05_retail * _decay +auto off-peak total,auOpTotal,df.tot_emp * _decay +#,, +#,, transit peak +#,, +#,, assume peak outbound transit occurs in AM +o-d peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_IVT', 'AM')]" +o-d peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_IWAIT', 'AM')] + skim_od[('WLK_TRN_XWAIT', 'AM')] + skim_od[('WLK_TRN_WACC', 'AM')] + skim_od[('WLK_TRN_WAUX', 'AM')] + skim_od[('WLK_TRN_WEGR', 'AM')]" +o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) +#,, assume peak inbound transit occurs in PM +d-o peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_IVT', 'PM')]" +d-o peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_IWAIT', 'PM')] + skim_do[('WLK_TRN_XWAIT', 'PM')] + skim_do[('WLK_TRN_WACC', 'PM')] + skim_do[('WLK_TRN_WAUX', 'PM')] + skim_do[('WLK_TRN_WEGR', 'PM')]" +d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) +peak transit time,_trPkTime,_trPkTime_od + _trPkTime_do +round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) +decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) +transit peak retail,trPkRetail,df.e05_retail * _decay +transit peak total,trPkTotal,df.tot_emp * _decay +#,, +#,, transit off-peak +#,, +#,, assume off-peak outbound transit occurs in the MD time period +o-d off-peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_IVT', 'MD')]" +o-d off-peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_IWAIT', 'MD')] + skim_od[('WLK_TRN_XWAIT', 'MD')] + skim_od[('WLK_TRN_WACC', 'MD')] + skim_od[('WLK_TRN_WAUX', 'MD')] + skim_od[('WLK_TRN_WEGR', 'MD')]" +o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) +#,, assume off-peak inbound transit occurs in the MD time period +d-o off-peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_IVT', 'MD')]" +d-o off-peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_IWAIT', 'MD')] + skim_do[('WLK_TRN_XWAIT', 'MD')] + skim_do[('WLK_TRN_WACC', 'MD')] + skim_do[('WLK_TRN_WAUX', 'MD')] + skim_do[('WLK_TRN_WEGR', 'MD')]" +d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) +peak transit time,_trOpTime,_trOpTime_od + _trOpTime_do +#,,FIXME - _rt_available calculation appears to be wrong in mtctm1 accessibility.job +#round trip path is available,_rt_available,(_trOpTime > 0) +round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) +decay function,_decay,_rt_available * exp(_trOpTime * dispersion_parameter_transit) +transit off-peak retail,trOpRetail,df.e05_retail * _decay +transit off-peak total,trOpTotal,df.tot_emp * _decay +#,, +#,, non motorized +#,, +non-motorized round trip distance,_nmDist,skim_od['DISTWALK'] + skim_do['DISTWALK'] +round trip path is available,_rt_available,_nmDist <= maximum_walk_distance +decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) +retail accessibility,nmRetail,df.e05_retail * _decay +total accessibility,nmTotal,df.tot_emp * _decay diff --git a/activitysim/examples/prototype_semcog/configs/accessibility.yaml b/activitysim/examples/prototype_semcog/configs/accessibility.yaml new file mode 100755 index 0000000000..86ab866295 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/accessibility.yaml @@ -0,0 +1,13 @@ + +# columns from land_use table to add to df +land_use_columns: ['e05_retail', 'tot_emp'] + +CONSTANTS: + # dispersion parameters + dispersion_parameter_automobile: -0.05 + dispersion_parameter_transit: -0.05 + dispersion_parameter_walk: -1.00 + # maximum walk distance in miles + maximum_walk_distance: 3.0 + # perceived minute of in-vehicle time for every minute of out-of-vehicle time + out_of_vehicle_time_weight: 2.0 diff --git a/activitysim/examples/prototype_semcog/configs/annotate_households.csv b/activitysim/examples/prototype_semcog/configs/annotate_households.csv new file mode 100755 index 0000000000..3ec08e3a7c --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_households.csv @@ -0,0 +1,42 @@ +Description,Target,Expression +#,, annotate households table after import +,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" +#,,FIXME households.income can be negative - so we clip? +income,income,households.HINCP.fillna(0) +income_in_thousands,income_in_thousands,(income / 1000).clip(lower=0) +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)" +#,, +,_MIN_VOT,setting('min_value_of_time') +,_MAX_VOT,setting('max_value_of_time') +,_MU,setting('distributed_vot_mu') +,_SIGMA,setting('distributed_vot_sigma') +median_value_of_time,median_value_of_time,"income_segment.map({k: v for k, v in setting('household_median_value_of_time').items()})" +hh_value_of_time,hh_value_of_time,"rng.lognormal_for_df(df, mu=np.log(median_value_of_time * _MU), sigma=_SIGMA).clip(_MIN_VOT, _MAX_VOT)" +#,, +#num_workers was renamed in import,, +,num_workers,"_PERSON_COUNT('(ESR==1)|(ESR==2)|(ESR==4)|(ESR==5)', persons, households)" +number of non_workers,num_non_workers,households.hhsize - num_workers +#,, +#,,we assume that everyone 16 and older is a potential driver +number of drivers,num_drivers,"_PERSON_COUNT('16 <= age', persons, households)" +num_adults,num_adults,"_PERSON_COUNT('18 <= age', persons, households)" +num_children,num_children,"_PERSON_COUNT('18 > age', persons, households)" +num_young_children,num_young_children,"_PERSON_COUNT('age <= 5', persons, households)" +num_children_5_to_15,num_children_5_to_15,"_PERSON_COUNT('5 <= age <= 15', persons, households)" +num_children_6_to_12,num_children_6_to_12,"_PERSON_COUNT('6 <= age <= 12', persons, households)" +num_children_16_to_17,num_children_16_to_17,"_PERSON_COUNT('16 <= age <= 17', persons, households)" +num_college_age,num_college_age,"_PERSON_COUNT('18 <= age <= 24', persons, households)" +num_young_adults,num_young_adults,"_PERSON_COUNT('25 <= age <= 34', persons, households)" +non_family,non_family,households.HHT.isin(HHT_NONFAMILY) +family,family,households.HHT.isin(HHT_FAMILY) +home_is_urban,home_is_urban,"reindex(land_use.AreaType, households.home_zone_id) < setting('urban_threshold')" +home_is_rural,home_is_rural,"reindex(land_use.AreaType, households.home_zone_id) > setting('rural_threshold')" +#,, default for work and school location logsums before auto_ownership model is run +,auto_ownership,households.auto_ownership +TAZ column to match settings file,TAZ,households.home_zone_id +number of pre-driving age children in the household,num_predrive_child,"_PERSON_COUNT('ptype == 7', persons, households)" +number of non-working adult in the household,num_nonworker_adults,"_PERSON_COUNT('ptype == 4', persons, households)" +number of full time workers,num_fullTime_workers,"_PERSON_COUNT('is_fulltime_worker', persons, households)" +number of part time workers,num_partTime_workers,"_PERSON_COUNT('is_parttime_worker', persons, households)" +number of retired adults in the household,_num_retired_adults,"_PERSON_COUNT('ptype == 5', persons, households)" +Retired Adults Only Households,retired_adults_only_hh,(households.hhsize > 0) & (households.hhsize == _num_retired_adults) diff --git a/activitysim/examples/prototype_semcog/configs/annotate_households_cdap.csv b/activitysim/examples/prototype_semcog/configs/annotate_households_cdap.csv new file mode 100755 index 0000000000..44b4fdcbfd --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_households_cdap.csv @@ -0,0 +1,9 @@ +Description,Target,Expression +#,, annotate households table after cdap model has run +num_under16_not_at_school,num_under16_not_at_school,persons.under16_not_at_school.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_adults,num_travel_active_adults,(persons.adult & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == PTYPE_PRESCHOOL) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_children,num_travel_active_children,num_travel_active - num_travel_active_adults +num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers +participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) diff --git a/activitysim/examples/prototype_semcog/configs/annotate_households_workplace.csv b/activitysim/examples/prototype_semcog/configs/annotate_households_workplace.csv new file mode 100755 index 0000000000..1b53e91daf --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_households_workplace.csv @@ -0,0 +1,5 @@ +Description,Target,Expression +#,, annotate households table after workplace_location model has run +#,, hh_work_auto_savings_ratio is sum of persons work_auto_savings_ratio +,hh_work_auto_savings_ratio,persons.work_auto_savings_ratio.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0) +#,,handle persons with no locatcion diff --git a/activitysim/examples/prototype_semcog/configs/annotate_landuse.csv b/activitysim/examples/prototype_semcog/configs/annotate_landuse.csv new file mode 100755 index 0000000000..4ef3e4310b --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_landuse.csv @@ -0,0 +1,5 @@ +Description,Target,Expression +#,, annotate landuse table after import +household_density,household_density,land_use.tot_hhs / (land_use.tot_acres) +employment_density,employment_density,land_use.tot_emp / (land_use.tot_acres) +density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) diff --git a/activitysim/examples/prototype_semcog/configs/annotate_persons.csv b/activitysim/examples/prototype_semcog/configs/annotate_persons.csv new file mode 100755 index 0000000000..b89e292f96 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_persons.csv @@ -0,0 +1,67 @@ +Description,Target,Expression +#,, annotate persons table after import +age_0_to_5,age_0_to_5,"persons.age.between(0,5)" +age_6_to_12,age_6_to_12,"persons.age.between(6,12)" +age_16_to_19,age_16_to_19,"persons.age.between(16, 19)" +age_16_p,age_16_p,persons.age >= 16 +adult,adult,persons.age >= 18 +male,male,persons.sex == 1 +female,female,persons.sex == 2 +,esr,persons.ESR.fillna(0) +,wkhp,persons.WKHP.fillna(0) +,wkw,persons.WKW.fillna(0) +,schg,persons.SCHG.fillna(0) +,mil,persons.MIL.fillna(0) +employment status type,pemploy,np.zeros(len(persons)) +,pemploy,"np.where(persons.age < 16, PEMPLOY_CHILD, PEMPLOY_PART)" +,pemploy,"np.where((persons['age'] >= 16) & ((esr == 3) | (esr == 6)), PEMPLOY_NOT, pemploy)" +,pemploy,"np.where((persons.age>=16)&((esr != 3)&(esr != 6))&(wkhp >= 35) & (wkw >= 1) & (wkw <= 4), PEMPLOY_FULL, pemploy)" +student category,pstudent,np.zeros(len(persons)) +,pstudent,"np.where((pemploy == 1) & (persons.age >= 16), PSTUDENT_NOT, pstudent)" +,pstudent,"np.where((pemploy == 1) & (persons.age < 16), PSTUDENT_GRADE_OR_HIGH, pstudent)" +,pstudent,"np.where((schg < 1) & (persons.age >= 16), PSTUDENT_NOT, pstudent)" +,pstudent,"np.where((schg < 1) & (persons.age < 16), PSTUDENT_GRADE_OR_HIGH, pstudent)" +,pstudent,"np.where((schg >= 15) & (persons.age >= 16) & (pemploy != 1), PSTUDENT_UNIVERSITY, pstudent)" +,pstudent,"np.where((schg >= 15) & (persons.age < 16) & (pemploy != 1), PSTUDENT_GRADE_OR_HIGH, pstudent)" +,pstudent,"np.where((persons.age <= 19) & (pemploy != 1) & (schg >=1) & (schg<=14), PSTUDENT_GRADE_OR_HIGH, pstudent)" +,pstudent,"np.where((persons.age > 19) & (pemploy != 1) & (schg >=1) & (schg<=14), PSTUDENT_UNIVERSITY, pstudent)" +,pstudent,"np.where(pstudent == 0, 3, pstudent)" +person type,ptype,np.zeros(len(persons)) +,ptype,"np.where((pemploy == 1), PTYPE_FULL, PTYPE_NONWORK)" +,ptype,"np.where((pstudent == 3) & (pemploy == 2), PTYPE_PART, ptype)" +,ptype,"np.where((pstudent == 3) & (persons['age'] >= 65) & ((pemploy == 3) | (pemploy == 4)), PTYPE_RETIRED, ptype)" +,ptype,"np.where((pstudent == 3) & (persons['age'] < 6) & ((pemploy == 3) | (pemploy == 4)), PTYPE_PRESCHOOL, ptype)" +,ptype,"np.where((pstudent == 3) & (persons['age'] >= 6) & (persons['age'] <= 64) & ((pemploy == 3) | (pemploy == 4)), PTYPE_NONWORK, ptype)" +,ptype,"np.where((pstudent == 2) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_UNIVERSITY, ptype)" +,ptype,"np.where((pstudent == 1) & (persons['age'] < 6) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_PRESCHOOL, ptype)" +,ptype,"np.where((pstudent == 1) & (persons['age'] >= 16) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_DRIVING, ptype)" +,ptype,"np.where((pstudent == 1) & (persons['age'] >= 6) & (persons['age'] < 16) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_SCHOOL, ptype)" +presence of non_worker other than self in household,has_non_worker,"other_than(persons.household_id, ptype == PTYPE_NONWORK)" +presence of retiree other than self in household,has_retiree,"other_than(persons.household_id, ptype == PTYPE_RETIRED)" +presence of preschooler other than self in household,has_preschool_kid,"other_than(persons.household_id, ptype == PTYPE_PRESCHOOL)" +presence of driving_kid other than self in household,has_driving_kid,"other_than(persons.household_id, ptype == PTYPE_DRIVING)" +presence of school_kid other than self in household,has_school_kid,"other_than(persons.household_id, ptype == PTYPE_SCHOOL)" +presence of full_time worker other than self in household (independent of person type),has_full_time,"other_than(persons.household_id, pemploy==PEMPLOY_FULL)" +presence of part_time worker other than self in household (independent of person type),has_part_time,"other_than(persons.household_id, pemploy==PEMPLOY_PART)" +presence of university student other than self in household,has_university,"other_than(persons.household_id, ptype == PTYPE_UNIVERSITY)" +student_is_employed,student_is_employed,"np.where(((ptype == PTYPE_UNIVERSITY) | (ptype == PTYPE_DRIVING)) & ((pemploy == PEMPLOY_FULL) | (pemploy == PEMPLOY_PART)), True, False)" +nonstudent_to_school,nonstudent_to_school,"np.where(((ptype == PTYPE_FULL) | (ptype == PTYPE_PART) | (ptype == PTYPE_NONWORK) | (ptype == PTYPE_RETIRED)) & ((pstudent == PSTUDENT_GRADE_OR_HIGH) | (pstudent == PSTUDENT_UNIVERSITY)), True, False)" +is_student,is_student,"np.where((pstudent == PSTUDENT_GRADE_OR_HIGH) | (pstudent == PSTUDENT_UNIVERSITY), True, False)" +preschool age can go to preschool,is_student,"np.where((pstudent == PSTUDENT_GRADE_OR_HIGH) | (pstudent == PSTUDENT_UNIVERSITY) & (persons.age > GRADE_SCHOOL_MIN_AGE), True, is_student)" +is_gradeschool,is_gradeschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age <= GRADE_SCHOOL_MAX_AGE) +is_highschool,is_highschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age > GRADE_SCHOOL_MAX_AGE) +is_university,is_university,pstudent == PSTUDENT_UNIVERSITY +school_segment gradeschool,school_segment,"np.where(is_gradeschool, SCHOOL_SEGMENT_GRADE, SCHOOL_SEGMENT_NONE)" +school_segment highschool,school_segment,"np.where(is_highschool, SCHOOL_SEGMENT_HIGH, school_segment)" +school_segment university,school_segment,"np.where(is_university, SCHOOL_SEGMENT_UNIV, school_segment).astype(np.int8)" +#,, +is_worker,is_worker,"np.where((pemploy == PEMPLOY_FULL) |( pemploy == PEMPLOY_PART), True, False)" +#,, +home_zone_id,home_zone_id,"reindex(households.home_zone_id, persons.household_id)" +hh_child,hh_child,"reindex(households.children, persons.household_id)" +person number,PNUM,persons.member_id +income,income,"reindex(households.HINCP, persons.household_id)" +income_in_thousands,income_in_thousands,(income / 1000).clip(lower=0) +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)" +is_fulltime_worker,is_fulltime_worker,"((age_16_p) & (wkhp >=35) & (wkw>=1) & (wkw<=4) & (~esr.isin([3,6])))" +is_parttime_worker,is_parttime_worker,"((age_16_p) & (~esr.isin([3,6])) & (is_fulltime_worker == False))" diff --git a/activitysim/examples/prototype_semcog/configs/annotate_persons_after_hh.csv b/activitysim/examples/prototype_semcog/configs/annotate_persons_after_hh.csv new file mode 100755 index 0000000000..7e5743c8ec --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_persons_after_hh.csv @@ -0,0 +1,22 @@ +Description,Target,Expression +#,, annotate persons table after annotate_households +#,, adults get full hh_value_of_time and children get 60% +,_hh_vot,"reindex(households.hh_value_of_time, persons.household_id)" +,value_of_time,"_hh_vot.where(persons.age>=18, _hh_vot * 0.667)" +,_hh_income,"reindex(households.HINCP, persons.household_id)" +,_num_adults,"reindex(households.num_adults, persons.household_id)" +,_num_predrive_child,"reindex(households.num_predrive_child, persons.household_id)" +,_num_nonworker_adults,"reindex(households.num_nonworker_adults, persons.household_id)" +,_num_full_time_workers,"reindex(households.num_fullTime_workers, persons.household_id)" +Income less than 25K,is_income_less25K,(_hh_income)<25000 +Income 25K to 60K,is_income_25K_to_60K,((_hh_income)>=25000) & ((_hh_income)<60000) +Income 60K to 120K,is_income_60K_to_120K, ((_hh_income)>=60000) & ((_hh_income)<120000) +Income greater than 60K,is_income_greater60K,((_hh_income)>=60000) +Income greater than 120K,is_income_greater120K,((_hh_income)>=120000) +Presence of nonworker in HHs,is_non_worker_in_HH,_num_nonworker_adults>0 +all the adults in the HH are full time workers,is_all_adults_full_time_workers,(_num_adults) == (_num_full_time_workers) +Presence of predrive child in HHs,is_pre_drive_child_in_HH,_num_predrive_child>0 +,_has_young_children,"reindex(households.num_young_children, persons.household_id)" +,_has_children_6_to_12,"reindex(households.num_children_6_to_12, persons.household_id)" +has_young_children,has_young_children,_has_young_children>0 +has_children_6_to_12,has_children_6_to_12,_has_children_6_to_12>0 diff --git a/activitysim/examples/prototype_semcog/configs/annotate_persons_cdap.csv b/activitysim/examples/prototype_semcog/configs/annotate_persons_cdap.csv new file mode 100755 index 0000000000..6e426628ca --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_persons_cdap.csv @@ -0,0 +1,7 @@ +Description,Target,Expression +#,, annotate persons table after cdap model has run +travel_active,travel_active,persons.cdap_activity != CDAP_ACTIVITY_HOME +under16_not_at_school,under16_not_at_school,"persons.ptype.isin([PTYPE_SCHOOL, PTYPE_PRESCHOOL]) & persons.cdap_activity.isin(['N', 'H'])" +has_preschool_kid_at_home,has_preschool_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_PRESCHOOL) & (persons.cdap_activity == 'H'))" +has_school_kid_at_home,has_school_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_SCHOOL) & (persons.cdap_activity == 'H'))" +,cdap_activity,"np.where((persons.work_from_home) & (persons.cdap_activity=='M'), np.random.choice(['N','H']), persons.cdap_activity)" diff --git a/activitysim/examples/prototype_semcog/configs/annotate_persons_jtp.csv b/activitysim/examples/prototype_semcog/configs/annotate_persons_jtp.csv new file mode 100755 index 0000000000..a72c866057 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_persons_jtp.csv @@ -0,0 +1,3 @@ +Description,Target,Expression +#,, annotate persons table after joint_tour_participation model has run +num_joint_tours,num_joint_tours,"joint_tour_participants.groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" diff --git a/activitysim/examples/prototype_semcog/configs/annotate_persons_mtf.csv b/activitysim/examples/prototype_semcog/configs/annotate_persons_mtf.csv new file mode 100755 index 0000000000..4f8f5a8b09 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_persons_mtf.csv @@ -0,0 +1,10 @@ +Description,Target,Expression +#,, annotate persons table after mandatory_tour_frequency model has run +,_PERSON_TOUR_COUNT,"lambda exp, persons, tours: tours.query(exp).groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" +,_Q,"lambda s: ""'{}'"".format(s)" +work_and_school_and_worker,work_and_school_and_worker,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_worker +work_and_school_and_student,work_and_school_and_student,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_student +number of mandatory tours for each person,num_mand,"_PERSON_TOUR_COUNT('tour_category==%s' % _Q('mandatory'), persons, tours).fillna(0)" +number of work tours for each person,num_work_tours,"_PERSON_TOUR_COUNT('tour_type==%s' % _Q('work'), persons, tours).fillna(0)" +presence of pre school kid with mandatory tours,has_pre_school_child_with_mandatory,"other_than(persons.household_id, (persons.ptype == 8) & (num_mand > 0))" +presense of driving age school children with mandatory tours,has_driving_age_child_with_mandatory,"other_than(persons.household_id, (persons.ptype == 6) & (num_mand > 0))" diff --git a/activitysim/examples/prototype_semcog/configs/annotate_persons_nmtf.csv b/activitysim/examples/prototype_semcog/configs/annotate_persons_nmtf.csv new file mode 100755 index 0000000000..11f8b111e4 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_persons_nmtf.csv @@ -0,0 +1,15 @@ +Description,Target,Expression +#,, annotate persons table after non_mandatory_tour_frequency model has run +num_non_mand,num_non_mand,tours[tours.tour_category=='non_mandatory'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_escort_tours,num_escort_tours,tours[tours.tour_type == 'escort'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_eatout_tours,num_eatout_tours,tours[tours.tour_type == 'eatout'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_shop_tours,num_shop_tours,tours[tours.tour_type == 'shopping'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_maint_tours,num_maint_tours,tours[tours.tour_type == 'othmaint'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_discr_tours,num_discr_tours,tours[tours.tour_type == 'othdiscr'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_social_tours,num_social_tours,tours[tours.tour_type == 'social'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_non_escort_tours,num_non_escort_tours,num_non_mand-num_escort_tours +total shopping and maintenance tours,num_shop_maint_tours,num_shop_tours + num_maint_tours +"total shopping, maintenance and escort tours",num_shop_maint_escort_tours,num_shop_tours + num_maint_tours + num_escort_tours +number of additional shopping and maintenance tours,num_add_shop_maint_tours,"np.where (num_shop_maint_tours>0, 1, 0) * (num_shop_maint_tours - 1)" +total social and discretionary tours,num_soc_discr_tours,num_social_tours + num_discr_tours +number of additional social and discretionary,num_add_soc_discr_tours,"np.where (num_soc_discr_tours>0, 1, 0) * (num_soc_discr_tours - 1)" diff --git a/activitysim/examples/prototype_semcog/configs/annotate_persons_school.csv b/activitysim/examples/prototype_semcog/configs/annotate_persons_school.csv new file mode 100755 index 0000000000..553b124c3b --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_persons_school.csv @@ -0,0 +1,7 @@ +Description,Target,Expression +#,, annotate persons table after school_location model has run +,distance_to_school,"np.where(persons.school_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, 'DIST'),np.nan)" +#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD +temp auto_time_to_school,_auto_time_to_school,"skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, ('SOV_TIME', 'MD'))" +temp auto_time_return,_auto_time_return,"skim_dict.lookup(persons.school_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" +free flow roundtrip_auto_time_to_school,roundtrip_auto_time_to_school,"np.where(persons.school_zone_id>=0,_auto_time_to_school + _auto_time_return,0)" diff --git a/activitysim/examples/prototype_semcog/configs/annotate_persons_workplace.csv b/activitysim/examples/prototype_semcog/configs/annotate_persons_workplace.csv new file mode 100755 index 0000000000..36d6a01f8f --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/annotate_persons_workplace.csv @@ -0,0 +1,32 @@ +Description,Target,Expression +#,, annotate persons table after workplace_location model has run +,distance_to_work,"np.where(persons.workplace_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DIST'),np.nan)" +workplace_in_cbd,workplace_in_cbd,"reindex(land_use.AreaType, persons.workplace_zone_id) < setting('cbd_threshold')" +work_zone_area_type,work_zone_area_type,"reindex(land_use.AreaType, persons.workplace_zone_id)" +#,, auto time to work - free flow travel time in both directions. MTC TM1 was MD and MD +#,,roundtrip_auto_time_to_work +,_auto_time_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('SOV_TIME', 'MD'))" +,_auto_time_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" +,roundtrip_auto_time_to_work,"np.where(persons.workplace_zone_id>=0,_auto_time_home_to_work + _auto_time_work_to_home,0)" +#,,_roundtrip_walk_time_to_work +,_MAX_TIME_TO_WORK,999 +,_WALK_SPEED_MPH,3 +,_walk_time_home_to_work,"60 * skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" +,_walk_time_work_to_home,"60 * skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" +,_work_walk_available,(_walk_time_home_to_work > 0) & (_walk_time_work_to_home > 0) +,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" +#,,_roundtrip_transit_time_to_work +,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_IVT', 'MD'))" +,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_IVT', 'MD'))" +,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) +,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_IWAIT', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_IWAIT', 'MD'))" +,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_XWAIT', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_XWAIT', 'MD'))" +,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WAUX', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WAUX', 'MD'))" +,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WACC', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WACC', 'MD'))" +,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WEGR', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WEGR', 'MD'))" +,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr +#,,work_auto_savings_ratio +,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" +,work_auto_savings,"np.where(persons.is_worker, _min_work_walk_transit - roundtrip_auto_time_to_work, 0)" +#,,auto savings over walk or transit capped at 120 and normalized to unity +,work_auto_savings_ratio,"(work_auto_savings / 120.0).clip(-1.0, 1.0)" diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_destination.csv b/activitysim/examples/prototype_semcog/configs/atwork_subtour_destination.csv similarity index 98% rename from activitysim/examples/example_semcog/configs/atwork_subtour_destination.csv rename to activitysim/examples/prototype_semcog/configs/atwork_subtour_destination.csv index 7f97ca84c7..c0e44b6796 100755 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_destination.csv +++ b/activitysim/examples/prototype_semcog/configs/atwork_subtour_destination.csv @@ -1,12 +1,12 @@ -Label,Description,Expression,atwork -local_dist,local_dist,_DIST@skims['DIST'],1 -util_dist,util_dist,@_DIST,coef_dist_atwork -util_dist_squared,util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_atwork -util_dist_cubed,util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_atwork -util_dist_logged,util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_atwork -# util_size_variable_atwork,Size variable atwork,@df['atwork'].apply(np.log1p),coef_size_variable_atwork -# util_no_attractions_atwork_size_variable_is_0,"No attractions, atwork size variable is 0",atwork==0,coef_no_attractions_atwork_size_variable_is_0 -util_size_variable_atwork,Size variable atwork,@df['size_term'].apply(np.log1p),coef_size_variable_atwork -util_no_attractions_atwork_size_variable_is_0,"No attractions, atwork size variable is 0",size_term==0,coef_no_attractions_atwork_size_variable_is_0 -util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_choice_logsum_atwork -util_sample_of_alternatives_correction_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",coef_sample_of_alternatives_correction_factor +Label,Description,Expression,atwork +local_dist,local_dist,_DIST@skims['DIST'],1 +util_dist,util_dist,@_DIST,coef_dist_atwork +util_dist_squared,util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_atwork +util_dist_cubed,util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_atwork +util_dist_logged,util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_atwork +# util_size_variable_atwork,Size variable atwork,@df['atwork'].apply(np.log1p),coef_size_variable_atwork +# util_no_attractions_atwork_size_variable_is_0,"No attractions, atwork size variable is 0",atwork==0,coef_no_attractions_atwork_size_variable_is_0 +util_size_variable_atwork,Size variable atwork,@df['size_term'].apply(np.log1p),coef_size_variable_atwork +util_no_attractions_atwork_size_variable_is_0,"No attractions, atwork size variable is 0",size_term==0,coef_no_attractions_atwork_size_variable_is_0 +util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_choice_logsum_atwork +util_sample_of_alternatives_correction_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",coef_sample_of_alternatives_correction_factor diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_destination.yaml b/activitysim/examples/prototype_semcog/configs/atwork_subtour_destination.yaml similarity index 96% rename from activitysim/examples/example_semcog/configs/atwork_subtour_destination.yaml rename to activitysim/examples/prototype_semcog/configs/atwork_subtour_destination.yaml index 4697a3a075..ea7a48e378 100755 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_destination.yaml +++ b/activitysim/examples/prototype_semcog/configs/atwork_subtour_destination.yaml @@ -1,26 +1,26 @@ - -SPEC: atwork_subtour_destination.csv -SAMPLE_SPEC: atwork_subtour_destination_sample.csv -COEFFICIENTS: atwork_subtour_destination_coeffs.csv - - -SAMPLE_SIZE: 30 - -SIMULATE_CHOOSER_COLUMNS: - - person_id - - income_segment - - workplace_zone_id - -LOGSUM_SETTINGS: tour_mode_choice.yaml - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: workplace_zone_id -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 14 -OUT_PERIOD: 14 - -# optional (comment out if not desired) -DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample + +SPEC: atwork_subtour_destination.csv +SAMPLE_SPEC: atwork_subtour_destination_sample.csv +COEFFICIENTS: atwork_subtour_destination_coeffs.csv + + +SAMPLE_SIZE: 30 + +SIMULATE_CHOOSER_COLUMNS: + - person_id + - income_segment + - workplace_zone_id + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: workplace_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 14 +OUT_PERIOD: 14 + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample diff --git a/activitysim/examples/prototype_semcog/configs/atwork_subtour_destination_coeffs.csv b/activitysim/examples/prototype_semcog/configs/atwork_subtour_destination_coeffs.csv new file mode 100755 index 0000000000..158789c9da --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/atwork_subtour_destination_coeffs.csv @@ -0,0 +1,9 @@ +coefficient_name,value,constrain +coef_dist_atwork,-0.021259921,F +coef_dist_squared_atwork,-0.017765289,F +coef_dist_cubed_atwork,0.000703328,F +coef_dist_logged_atwork,-0.844157837,F +coef_size_variable_atwork,1,T +coef_no_attractions_atwork_size_variable_is_0,-999,T +coef_mode_choice_logsum_atwork,0.79,F +coef_sample_of_alternatives_correction_factor,1,T diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_destination_sample.csv b/activitysim/examples/prototype_semcog/configs/atwork_subtour_destination_sample.csv similarity index 98% rename from activitysim/examples/example_semcog/configs/atwork_subtour_destination_sample.csv rename to activitysim/examples/prototype_semcog/configs/atwork_subtour_destination_sample.csv index 944956e60c..bacf3e5c27 100755 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_destination_sample.csv +++ b/activitysim/examples/prototype_semcog/configs/atwork_subtour_destination_sample.csv @@ -1,10 +1,10 @@ -Label,Description,Expression,atwork -local_dist,local_dist,_DIST@skims['DIST'],1 -util_dist,util_dist,@_DIST,coef_dist_atwork -util_dist_squared,util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_atwork -util_dist_cubed,util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_atwork -util_dist_logged,util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_atwork -# util_size_variable_atwork,Size variable atwork,@df['atwork'].apply(np.log1p),coef_size_variable_atwork -# util_no_attractions_atwork_size_variable_is_0,"No attractions, atwork size variable is 0",atwork==0,coef_no_attractions_atwork_size_variable_is_0 -util_size_variable_atwork,Size variable atwork,@df['size_term'].apply(np.log1p),coef_size_variable_atwork -util_no_attractions_atwork_size_variable_is_0,"No attractions, atwork size variable is 0",size_term==0,coef_no_attractions_atwork_size_variable_is_0 +Label,Description,Expression,atwork +local_dist,local_dist,_DIST@skims['DIST'],1 +util_dist,util_dist,@_DIST,coef_dist_atwork +util_dist_squared,util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_atwork +util_dist_cubed,util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_atwork +util_dist_logged,util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_atwork +# util_size_variable_atwork,Size variable atwork,@df['atwork'].apply(np.log1p),coef_size_variable_atwork +# util_no_attractions_atwork_size_variable_is_0,"No attractions, atwork size variable is 0",atwork==0,coef_no_attractions_atwork_size_variable_is_0 +util_size_variable_atwork,Size variable atwork,@df['size_term'].apply(np.log1p),coef_size_variable_atwork +util_no_attractions_atwork_size_variable_is_0,"No attractions, atwork size variable is 0",size_term==0,coef_no_attractions_atwork_size_variable_is_0 diff --git a/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency.csv b/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency.csv new file mode 100755 index 0000000000..a4eec1a888 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency.csv @@ -0,0 +1,23 @@ +Label,Expression,no_subtours,eat,business1,maint,business2,eat_business +util_dummy_for_full_time_worker,pemploy==1,coefficient_dummy_for_full_time_worker_no_subtours,coefficient_dummy_for_full_time_worker_eat,coefficient_dummy_for_full_time_worker_business1,coefficient_dummy_for_full_time_worker_maint,coefficient_dummy_for_full_time_worker_business2,coefficient_dummy_for_full_time_worker_eat_business +util_dummy_for_non_full_time_worker,pemploy!=1,coefficient_dummy_for_non_full_time_worker_no_subtours,coefficient_dummy_for_non_full_time_worker_eat,coefficient_dummy_for_non_full_time_worker_business1,coefficient_dummy_for_non_full_time_worker_maint,coefficient_dummy_for_non_full_time_worker_business2,coefficient_dummy_for_non_full_time_worker_eat_business +util_dummy_for_non_workers,"ptype in [4, 5]",coefficient_dummy_for_non_workers_no_subtours,coefficient_dummy_for_non_workers_eat,coefficient_dummy_for_non_workers_business1,coefficient_dummy_for_non_workers_maint,coefficient_dummy_for_non_workers_business2,coefficient_dummy_for_non_workers_eat_business +util_medium_hh_income_dummy,income_segment == 2,coefficient_medium_hh_income_dummy_no_subtours,coefficient_medium_hh_income_dummy_eat,coefficient_medium_hh_income_dummy_business1,coefficient_medium_hh_income_dummy_maint,coefficient_medium_hh_income_dummy_business2,coefficient_medium_hh_income_dummy_eat_business +util_high_hh_income_dummy,(income_segment > 2) & (income_segment < 5),coefficient_high_hh_income_dummy_no_subtours,coefficient_high_hh_income_dummy_eat,coefficient_high_hh_income_dummy_business1,coefficient_high_hh_income_dummy_maint,coefficient_high_hh_income_dummy_business2,coefficient_high_hh_income_dummy_eat_business +util_zero_cars_owned_by_hh_dummy, auto_ownership == 0,coefficient_zero_cars_owned_by_hh_dummy_no_subtours,coefficient_zero_cars_owned_by_hh_dummy_eat,coefficient_zero_cars_owned_by_hh_dummy_business1,coefficient_zero_cars_owned_by_hh_dummy_maint,coefficient_zero_cars_owned_by_hh_dummy_business2,coefficient_zero_cars_owned_by_hh_dummy_eat_business +util_individual_discretionary_tours_made_by_full_time_worker,@(df.pemploy==1)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business +util_individual_discretionary_tours_made_by_part_time_worker,@(df.pemploy==2)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business +util_individual_eating_out_tours_made_by_person,num_eatout_tours,coefficient_individual_eating_out_tours_made_by_person_no_subtours,coefficient_individual_eating_out_tours_made_by_person_eat,coefficient_individual_eating_out_tours_made_by_person_business1,coefficient_individual_eating_out_tours_made_by_person_maint,coefficient_individual_eating_out_tours_made_by_person_business2,coefficient_individual_eating_out_tours_made_by_person_eat_business +util_main_shop_escort_tours_allocated_to_full_time_worker,@(df.pemploy==1)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business +util_main_shop_escort_tours_allocated_to_part_time_worker,@(df.pemploy==2)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business +util_participation_in_joint_shop_main_eat_tours,num_joint_maint_shop_eat,coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,coefficient_participation_in_joint_shop_main_eat_tours_eat,coefficient_participation_in_joint_shop_main_eat_tours_business1,coefficient_participation_in_joint_shop_main_eat_tours_maint,coefficient_participation_in_joint_shop_main_eat_tours_business2,coefficient_participation_in_joint_shop_main_eat_tours_eat_business +util_participation_in_joint_discretionary_tours,num_joint_discr,coefficient_participation_in_joint_discretionary_tours_no_subtours,coefficient_participation_in_joint_discretionary_tours_eat,coefficient_participation_in_joint_discretionary_tours_business1,coefficient_participation_in_joint_discretionary_tours_maint,coefficient_participation_in_joint_discretionary_tours_business2,coefficient_participation_in_joint_discretionary_tours_eat_business +util_log_of_the_work_tour_duration,@np.log((df.duration/2.25)+0.5),coefficient_log_of_the_work_tour_duration_no_subtours,coefficient_log_of_the_work_tour_duration_eat,coefficient_log_of_the_work_tour_duration_business1,coefficient_log_of_the_work_tour_duration_maint,coefficient_log_of_the_work_tour_duration_business2,coefficient_log_of_the_work_tour_duration_eat_business +util_dummy_for_drive_alone_mode_for_work_tour,work_tour_is_SOV,coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business +util_two_work_tours_by_person,num_work_tours==2,coefficient_two_work_tours_by_person_no_subtours,coefficient_two_work_tours_by_person_eat,coefficient_two_work_tours_by_person_business1,coefficient_two_work_tours_by_person_maint,coefficient_two_work_tours_by_person_business2,coefficient_two_work_tours_by_person_eat_business +util_workplace_urban_area_dummy,work_zone_area_type<4,coefficient_workplace_urban_area_dummy_no_subtours,coefficient_workplace_urban_area_dummy_eat,coefficient_workplace_urban_area_dummy_business1,coefficient_workplace_urban_area_dummy_maint,coefficient_workplace_urban_area_dummy_business2,coefficient_workplace_urban_area_dummy_eat_business +util_workplace_suburban_area_dummy,(work_zone_area_type>3) & (work_zone_area_type<6),coefficient_workplace_suburban_area_dummy_no_subtours,coefficient_workplace_suburban_area_dummy_eat,coefficient_workplace_suburban_area_dummy_business1,coefficient_workplace_suburban_area_dummy_maint,coefficient_workplace_suburban_area_dummy_business2,coefficient_workplace_suburban_area_dummy_eat_business +util_auto_accessibility_to_retail_for_work_taz,auOpRetail,coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,coefficient_auto_accessibility_to_retail_for_work_taz_eat,coefficient_auto_accessibility_to_retail_for_work_taz_business1,coefficient_auto_accessibility_to_retail_for_work_taz_maint,coefficient_auto_accessibility_to_retail_for_work_taz_business2,coefficient_auto_accessibility_to_retail_for_work_taz_eat_business +util_walk_accessibility_to_retail_for_work_taz,nmRetail,coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,coefficient_walk_accessibility_to_retail_for_work_taz_eat,coefficient_walk_accessibility_to_retail_for_work_taz_business1,coefficient_walk_accessibility_to_retail_for_work_taz_maint,coefficient_walk_accessibility_to_retail_for_work_taz_business2,coefficient_walk_accessibility_to_retail_for_work_taz_eat_business +util_dummy_for_worker_or_student_with_non_mandatory_tour,(is_worker | is_student) * num_non_mand,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business +util_at_work_sub_tour_alternative_specific_constant,1,coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,coefficient_at_work_sub_tour_alternative_specific_constant_eat,coefficient_at_work_sub_tour_alternative_specific_constant_business1,coefficient_at_work_sub_tour_alternative_specific_constant_maint,coefficient_at_work_sub_tour_alternative_specific_constant_business2,coefficient_at_work_sub_tour_alternative_specific_constant_eat_business diff --git a/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency.yaml b/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency.yaml new file mode 100755 index 0000000000..1b5d27101d --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency.yaml @@ -0,0 +1,11 @@ + +SPEC: atwork_subtour_frequency.csv +COEFFICIENTS: atwork_subtour_frequency_coeffs.csv + +preprocessor: + SPEC: atwork_subtour_frequency_annotate_tours_preprocessor + DF: df + TABLES: + - land_use + - tours + - joint_tour_participants diff --git a/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_alternatives.csv new file mode 100755 index 0000000000..ba9941919d --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_alternatives.csv @@ -0,0 +1,8 @@ +#,,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,eat,business,maint +no_subtours,0,0,0 +eat,1,0,0 +business1,0,1,0 +maint,0,0,1 +business2,0,2,0 +eat_business,1,1,0 diff --git a/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv new file mode 100755 index 0000000000..ec500df508 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv @@ -0,0 +1,9 @@ +Description,Target,Expression +,num_maint_shop_escort,df.num_maint_tours+df.num_shop_tours+df.num_escort_tours +#,num_joint_maint_shop_eat,"reindex_i(tours[(tours.tour_category=='joint') & tours.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" +#,num_eatout_tours,"reindex_i(tours[~tours.is_joint & (tours.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" +joint tour participants annotated with tour type,_PARTICIPANTS,"pd.merge(joint_tour_participants[['tour_id', 'person_id']], tours[['tour_type']], left_on='tour_id', right_index=True, how='left')" +,num_joint_discr,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type=='othdiscr'].groupby('person_id').size(), df.person_id)" +,num_joint_maint_shop_eat,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" +#,, +,work_tour_is_SOV,df.tour_mode.isin(['DRIVEALONE']) diff --git a/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_coeffs.csv b/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_coeffs.csv new file mode 100755 index 0000000000..c59a4e2ee3 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_coeffs.csv @@ -0,0 +1,133 @@ +coefficient_name,value,constrain +coefficient_dummy_for_full_time_worker_business1,-7.375,F +coefficient_dummy_for_full_time_worker_business2,-14.28,F +coefficient_dummy_for_full_time_worker_eat,-7.28,F +coefficient_dummy_for_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_full_time_worker_maint,-8.093,F +coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_full_time_worker_business1,-8.319,F +coefficient_dummy_for_non_full_time_worker_business2,-14.28,F +coefficient_dummy_for_non_full_time_worker_eat,-8.604,F +coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_non_full_time_worker_maint,-8.214,F +coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_workers_business1,-5,T +coefficient_dummy_for_non_workers_business2,-5,T +coefficient_dummy_for_non_workers_eat,0,T +coefficient_dummy_for_non_workers_eat_business,-5,T +coefficient_dummy_for_non_workers_maint,-5,T +coefficient_dummy_for_non_workers_no_subtours,0,T +coefficient_medium_hh_income_dummy_business1,0.5555,F +coefficient_medium_hh_income_dummy_business2,1.111,F +coefficient_medium_hh_income_dummy_eat,0.61,F +coefficient_medium_hh_income_dummy_eat_business,1.1655,F +coefficient_medium_hh_income_dummy_maint,0.1527,F +coefficient_medium_hh_income_dummy_no_subtours,0,T +coefficient_high_hh_income_dummy_business1,1.066,F +coefficient_high_hh_income_dummy_business2,2.132,F +coefficient_high_hh_income_dummy_eat,0.8693,F +coefficient_high_hh_income_dummy_eat_business,1.9353,F +coefficient_high_hh_income_dummy_maint,0.1651,F +coefficient_high_hh_income_dummy_no_subtours,0,T +coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_business2,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F +coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T +coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F +coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F +coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F +coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F +coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F +coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T +coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F +coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F +coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F +coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F +coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F +coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T +coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F +coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F +coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F +coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F +coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F +coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T +coefficient_log_of_the_work_tour_duration_business1,1.142,F +coefficient_log_of_the_work_tour_duration_business2,2.284,F +coefficient_log_of_the_work_tour_duration_eat,1.55,F +coefficient_log_of_the_work_tour_duration_eat_business,2.692,F +coefficient_log_of_the_work_tour_duration_maint,1.659,F +coefficient_log_of_the_work_tour_duration_no_subtours,0,T +coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T +coefficient_two_work_tours_by_person_business1,0.3753,F +coefficient_two_work_tours_by_person_business2,0.7506,F +coefficient_two_work_tours_by_person_eat,-0.9862,F +coefficient_two_work_tours_by_person_eat_business,-0.6109,F +coefficient_two_work_tours_by_person_maint,-0.2312,F +coefficient_two_work_tours_by_person_no_subtours,0,T +coefficient_workplace_urban_area_dummy_business1,-0.2235,F +coefficient_workplace_urban_area_dummy_business2,-0.447,F +coefficient_workplace_urban_area_dummy_eat,-0.4182,F +coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F +coefficient_workplace_urban_area_dummy_maint,-0.1479,F +coefficient_workplace_urban_area_dummy_no_subtours,0,T +coefficient_workplace_suburban_area_dummy_business1,-0.1102,F +coefficient_workplace_suburban_area_dummy_business2,-0.2204,F +coefficient_workplace_suburban_area_dummy_eat,-0.2916,F +coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F +coefficient_workplace_suburban_area_dummy_maint,0,T +coefficient_workplace_suburban_area_dummy_no_subtours,0,T +coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F +coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F +coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F +coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F +coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T +coefficient_at_work_sub_tour_alternative_specific_constant_business1,-0.5372,F +coefficient_at_work_sub_tour_alternative_specific_constant_business2,-2.1337,F +coefficient_at_work_sub_tour_alternative_specific_constant_eat,0.8576,F +coefficient_at_work_sub_tour_alternative_specific_constant_eat_business,-0.9721,F +coefficient_at_work_sub_tour_alternative_specific_constant_maint,-0.6198,F +coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,0,T \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/auto_ownership.csv b/activitysim/examples/prototype_semcog/configs/auto_ownership.csv new file mode 100755 index 0000000000..e9ad2c58e2 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/auto_ownership.csv @@ -0,0 +1,25 @@ +Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 +util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 +util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 +util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up +util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 +util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 +util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 +util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 +util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 +util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 +util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k +util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc +util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers +util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers +util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers +util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers +util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker diff --git a/activitysim/examples/prototype_semcog/configs/auto_ownership.yaml b/activitysim/examples/prototype_semcog/configs/auto_ownership.yaml new file mode 100755 index 0000000000..25f3249e61 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/auto_ownership.yaml @@ -0,0 +1,6 @@ + +SPEC: auto_ownership.csv +COEFFICIENTS: auto_ownership_coeffs.csv + +#LOGIT_TYPE: NL +LOGIT_TYPE: MNL diff --git a/activitysim/examples/prototype_semcog/configs/auto_ownership_coeffs.csv b/activitysim/examples/prototype_semcog/configs/auto_ownership_coeffs.csv new file mode 100755 index 0000000000..adad6e9911 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/auto_ownership_coeffs.csv @@ -0,0 +1,68 @@ +coefficient_name,value,constrain +coef_cars1_drivers_2,0.0,T +coef_cars1_drivers_3,0.0,T +coef_cars1_persons_16_17,0.0,T +coef_cars234_asc_marin,0.0,T +coef_cars1_persons_25_34,0.0,T +coef_cars1_num_workers_clip_3,0.0,T +coef_cars1_hh_income_30_up,0.0,T +coef_cars1_density_0_10_no_workers,0.0,T +coef_cars1_density_10_up_workers,-0.0006916064567687393,F +coef_retail_non_motor,-0.03,T +coef_cars4_asc,-2.1157137267630084,F +coef_cars3_asc,-0.5389664867851066,F +coef_cars34_persons_16_17,-1.0131713092471806,F +coef_cars2_asc,0.5089927738334394,F +coef_cars34_persons_18_24,-0.22633082627703238,F +coef_cars2_persons_18_24,-0.2779863655452459,F +coef_cars2_persons_16_17,-0.8499905464429038,F +coef_cars34_persons_25_34,-0.5072697829616668,F +coef_cars1_asc_county,-0.5660000000000001,F +coef_retail_transit_workers,-0.26599406864996145,F +coef_cars2_persons_25_34,-0.2845857507016052,F +coef_cars2_asc_county,-0.4429,F +coef_cars1_persons_18_24,0.3122834693531618,F +coef_cars34_density_0_10_no_workers,-1.0611910844303392,F +coef_retail_transit_no_workers,-0.4610891860644177,F +coef_cars1_asc_marin,-0.2434,F +coef_cars34_asc_county,-0.2372,F +coef_cars2_density_0_10_no_workers,-0.4334566014350984,F +coef_cars34_density_10_up_no_workers,-0.1766,T +coef_cars2_density_10_up_no_workers,0.22349472733850723,F +coef_cars2_density_10_up_workers,-0.1106,F +coef_cars1_density_10_up_no_workers,-0.6278796181279449,F +coef_cars2_hh_income_30_up,0.013802348149352129,F +coef_cars3_hh_income_30_up,0.01756826620528943,F +coef_cars4_hh_income_30_up,0.020241067403575532,F +coef_cars1_presence_children_5_17,0.2201929251562138,F +coef_cars1_hh_income_0_30k,0.08754817729196587,F +coef_cars2_hh_income_0_30k,0.11363199169081308,F +coef_cars3_hh_income_0_30k,0.10919644885632351,F +coef_cars4_hh_income_0_30k,0.12371561063030768,F +coef_retail_auto_no_workers,-0.27201647971031934,F +coef_cars34_asc_san_francisco,0.1458,F +coef_retail_auto_workers,-0.3440504516404184,F +coef_cars2_presence_children_5_17,0.3267549927594411,F +coef_cars2_num_workers_clip_3,0.7131266645999695,F +coef_cars1_presence_children_0_4,-0.13410330297845457,F +coef_cars1_asc_san_francisco,0.4259,F +coef_cars2_asc_san_francisco,0.4683,F +coef_cars1_auto_time_saving_per_worker,1.3138947141281918,F +coef_cars34_presence_children_5_17,0.09288972465342095,F +coef_cars3_auto_time_saving_per_worker,0.9830482363478317,F +coef_cars2_auto_time_saving_per_worker,1.0902251470013522,F +coef_cars3_num_workers_clip_3,1.000861534518726,F +coef_cars234_presence_children_0_4,0.049938987712858804,F +coef_cars4_auto_time_saving_per_worker,0.8990148505984551,F +coef_cars4_num_workers_clip_3,1.079450657634896,F +coef_cars1_asc,3.1493581264401556,F +coef_cars1_drivers_4_up,-1.4515192922101592,F +coef_cars4_drivers_2,2.4056683705077937,F +coef_cars2_drivers_2,2.817372734348654,F +coef_cars3_drivers_2,2.6801310124351496,F +coef_cars2_drivers_3,2.5819723625758484,F +coef_cars4_drivers_3,3.964857311371601,F +coef_cars3_drivers_3,4.277120564378806,F +coef_cars2_drivers_4_up,1.5182056527267993,F +coef_cars3_drivers_4_up,3.4916291197074343,F +coef_cars4_drivers_4_up,4.509213244436791,F diff --git a/activitysim/examples/example_semcog/configs/cdap.yaml b/activitysim/examples/prototype_semcog/configs/cdap.yaml similarity index 94% rename from activitysim/examples/example_semcog/configs/cdap.yaml rename to activitysim/examples/prototype_semcog/configs/cdap.yaml index 3c4cc5719a..546db913a7 100755 --- a/activitysim/examples/example_semcog/configs/cdap.yaml +++ b/activitysim/examples/prototype_semcog/configs/cdap.yaml @@ -1,36 +1,36 @@ -COEFFICIENTS: _dummy_coefficients.csv -INTERACTION_COEFFICIENTS: cdap_interaction_coefficients.csv -INDIV_AND_HHSIZE1_SPEC: cdap_indiv_and_hhsize1.csv - -FIXED_RELATIVE_PROPORTIONS_SPEC: cdap_fixed_relative_proportions.csv - - -CONSTANTS: - FULL: 1 - PART: 2 - UNIVERSITY: 3 - NONWORK: 4 - RETIRED: 5 - DRIVING: 6 - SCHOOL: 7 - PRESCHOOL: 8 - -PERSON_TYPE_MAP: - WORKER: - - 1 - - 2 - CHILD: - - 6 - - 7 - - 8 - -annotate_persons: - SPEC: annotate_persons_cdap - DF: persons - - -annotate_households: - SPEC: annotate_households_cdap - DF: households - TABLES: - - persons +COEFFICIENTS: _dummy_coefficients.csv +INTERACTION_COEFFICIENTS: cdap_interaction_coefficients.csv +INDIV_AND_HHSIZE1_SPEC: cdap_indiv_and_hhsize1.csv + +FIXED_RELATIVE_PROPORTIONS_SPEC: cdap_fixed_relative_proportions.csv + + +CONSTANTS: + FULL: 1 + PART: 2 + UNIVERSITY: 3 + NONWORK: 4 + RETIRED: 5 + DRIVING: 6 + SCHOOL: 7 + PRESCHOOL: 8 + +PERSON_TYPE_MAP: + WORKER: + - 1 + - 2 + CHILD: + - 6 + - 7 + - 8 + +annotate_persons: + SPEC: annotate_persons_cdap + DF: persons + + +annotate_households: + SPEC: annotate_households_cdap + DF: households + TABLES: + - persons diff --git a/activitysim/examples/prototype_semcog/configs/cdap_fixed_relative_proportions.csv b/activitysim/examples/prototype_semcog/configs/cdap_fixed_relative_proportions.csv new file mode 100755 index 0000000000..c7c97fcaff --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/cdap_fixed_relative_proportions.csv @@ -0,0 +1,11 @@ +Description,Expression,M,N,H +Full-time worker,ptype == 1 & not work_from_home,0.79647,0.09368,0.10985 +Full-time worker,ptype == 1 & work_from_home,0,0.460276126,0.539723874 +Part-time worker,ptype == 2 & not work_from_home,0.61678,0.25757,0.12565 +Part-time worker,ptype == 2 & work_from_home,0,0.672120453,0.327879547 +University student,ptype == 3,0.69229,0.15641,0.1513 +Non-working adult,ptype == 4,0,0.67169,0.32831 +Retired,ptype == 5,0,0.54295,0.45705 +Driving-age child who is in school,ptype == 6,0.77609,0.06004,0.16387 +Pre-driving-age child who is in school,ptype == 7,0.68514,0.09144,0.22342 +Child who is too young for school,ptype == 8,0.14056,0.06512,0.79432 diff --git a/activitysim/examples/prototype_semcog/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/prototype_semcog/configs/cdap_indiv_and_hhsize1.csv new file mode 100755 index 0000000000..a3ce4a01c4 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/cdap_indiv_and_hhsize1.csv @@ -0,0 +1,66 @@ +Description,Expression,M,N,H +Full-time worker alternative-specific constants,ptype == 1,1.378734579,0.622662391, +Part-time worker alternative-specific constants,ptype == 2,-0.718823738,0.636032467, +University student alternative-specific constants,ptype == 3,2.353595176,0.609709846, +Non-working adult alternative-specific constants,ptype == 4,-999,0.594645386, +Retired alternative-specific constants,ptype == 5,-999,0.408202071, +Driving-age child who is in school alternative-specific constants,ptype == 6,2.330918685,-0.599119112, +Pre-driving-age child who is in school alternative-specific constants,ptype == 7,3.295863529,0.57142434, +Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),-0.2943,, +Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),-0.7141,-0.672, +Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,1.052531189,-0.837567776, +# corrected tm1 age bug,,,, +Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),-0.4515,, +Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),0.6107,, +#,,,, +Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),0.2091,, +Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,0.7666 +Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),-0.1259,, +Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),-0.743,, +Retired interaction with female,(ptype == 5) & (sex == 2),0.4769,, +Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),0.6515,0.8168, +Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),2.992,1.056, +Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,0.2991, +Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,0.5039 +Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,0.8965 +Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,0.5496 +Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,0.6475 +Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,0.5862 +Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,0.5061 +Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,0.5313 +Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,0.533 +Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,0.3232 +Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.4032 +Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,0.4207,-0.3534 +Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.5602 +Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,-0.7188 +Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,1.307 +Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.5031 +Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,-2.046 +Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.5708 +Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,-0.6186 +Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,0.1212,, +Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,0.2004,, +Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,0.2314,, +Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,0.2792,, +Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,0.07207, +Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,0.07207, +University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,0.07207, +Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,0.08233, +Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,0.08233, +Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,0.08233, +# commented out because not used in mtctm1,,,, +# Full-time worker interaction with usual work location is home,(ptype == 1) * usualWorkLocationIsHome,-1.758,,0.1813 +# Part-time worker interaction with usual work location is home,(ptype == 2) * usualWorkLocationIsHome,-1.758,,0.1813 +# Full-time worker interaction with no usual work location,(ptype == 1) * noUsualWorkLocation,-0.5935,, +# Part-time worker interaction with no usual work location,(ptype == 2) * noUsualWorkLocation,-0.5935,, +# Driving-age child who is in school interaction with no usual school location,(ptype == 6) * noUsualWorkLocation,-0.866,, +# Pre-driving age child who is in school interaction with no usual school location,(ptype == 7) * noUsualWorkLocation,-0.866,, +#tm1 scenario test,,,, +#Simulate telecommuting by reducing mandatory patterns,(ptype == 1) * (income_in_thousands >= 50),-0.142930042,, +Telecommutes 1 day per week,telecommute_frequency=='1_day_week',,0.526,0.496 +Telecommutes 2-3 days per week,telecommute_frequency=='2_3_days_week',,1.387,1.584 +Telecommutes 4 days per week,telecommute_frequency=='4_days_week',,1.848,1.711 +#Turning Mandatory pattern off for FT and PT who work from home (sandag),,,, +"Full time worker, works from home",(ptype == 1) & (work_from_home),-999,, +"Part time worker, works from home",(ptype == 2) & (work_from_home),-999,, diff --git a/activitysim/examples/prototype_semcog/configs/cdap_interaction_coefficients.csv b/activitysim/examples/prototype_semcog/configs/cdap_interaction_coefficients.csv new file mode 100755 index 0000000000..f2d3b025c5 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/cdap_interaction_coefficients.csv @@ -0,0 +1,140 @@ +activity,interaction_ptypes,coefficient +# 2-way interactions,, +H,11,1.626 +H,12,0.7407 +H,13,1.183 +H,14,0.9436 +H,15,1.298 +H,16,2.064 +H,17,1.501 +H,18,0.9912 +H,22,0.8911 +H,23,1.642 +H,24,0.7057 +H,25,0.463 +H,26,3.057 +H,27,0.7685 +H,28,1.07 +H,33,1.018 +H,34,1.781 +H,35,0.4835 +H,36,1.546 +H,37,1.552 +H,38,1.34 +H,44,1.352 +H,45,1.209 +H,46,0.5243 +H,47,0.8112 +H,48,1.167 +H,55,1.407 +H,56,0.8632 +H,57,0.8632 +H,58,0.8632 +H,66,2.198 +H,67,0.977 +H,68,1.467 +H,77,2.8 +H,78,1.434 +H,88,1.378 +M,11,0.141 +M,12,0.08845 +M,13,0.4273 +M,16,0.3842 +M,17,0.2623 +M,18,0.5118 +M,22,1.135 +M,23,0.173 +M,26,1.103 +M,27,0.3079 +M,28,0.5074 +M,33,0.8726 +M,36,-0.0021 +M,37,0.2975 +M,38,0.2254 +M,66,0.4794 +M,67,0.5151 +M,68,0.5516 +M,77,0.9731 +M,78,0.5961 +M,88,1.651 +N,11,1.123 +N,12,0.4947 +N,13,0.5523 +N,14,0.02186 +N,15,0.3115 +N,16,0.4095 +N,17,0.6008 +N,18,0.751 +N,22,1.032 +N,23,0.3355 +N,24,0.7477 +N,25,0.09831 +N,26,0.495 +N,27,0.8984 +N,28,1.452 +N,33,1.054 +N,34,0.193 +N,35,0.4065 +N,36,1.62 +N,37,0.5165 +N,38,0.8973 +N,44,0.6984 +N,45,0.1864 +N,46,0.6801 +N,47,0.5646 +N,48,1.164 +N,55,0.7291 +N,56,0.2919 +N,57,0.2919 +N,58,0.2919 +N,66,1.512 +N,67,1.422 +N,68,1.273 +N,77,1.553 +N,78,0.6184 +N,88,0.8771 +# 3-way interactions,, +H,124,0.9573 +H,122,0.9573 +H,144,0.9573 +H,126,0.2939 +H,146,0.2939 +H,222,0.9881 +H,224,0.9881 +H,244,0.9881 +H,226,0.4374 +H,246,0.4374 +H,446,0.4374 +H,266,0.4747 +H,466,0.4747 +M,111,0.3133 +M,112,0.3495 +M,114,0.3495 +M,666,-0.3906 +N,112,0.4637 +N,114,0.4637 +N,124,0.3491 +N,122,0.3491 +N,144,0.3491 +N,166,0.3553 +N,222,-1.386 +N,224,-1.386 +N,444,-1.386 +N,246,-0.8571 +N,226,-0.8571 +N,446,-0.8571 +# cdap_final_rules,, +M,5,-999 +M,4,-999 +# cdap_all_people,, +M,***,-0.0671 +N,***,-0.3653 +H,***,-1.1810 +M,****,-0.6104 +N,****,-1.3460 +H,****,-3.7330 +M,*****,-1.5280 +N,*****,-3.4530 +H,*****,-8.6210 + + diff --git a/activitysim/examples/prototype_semcog/configs/constants.yaml b/activitysim/examples/prototype_semcog/configs/constants.yaml new file mode 100755 index 0000000000..7d3864fd9d --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/constants.yaml @@ -0,0 +1,63 @@ +## ActivitySim +## See full license in LICENSE.txt. + + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +INCOME_SEGMENT_LOW: 1 +INCOME_SEGMENT_MED: 2 +INCOME_SEGMENT_HIGH: 3 +INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H diff --git a/activitysim/examples/prototype_semcog/configs/destination_choice_size_terms.csv b/activitysim/examples/prototype_semcog/configs/destination_choice_size_terms.csv new file mode 100755 index 0000000000..ef359c9048 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/destination_choice_size_terms.csv @@ -0,0 +1,26 @@ +model_selector,segment,tot_hhs,e01_nrm,e02_constr,e03_manuf,e04_whole,e05_retail,e06_trans,e07_utility,e08_infor,e09_finan,e10_pstsvc,e11_compmgt,e12_admsvc,e13_edusvc,e14_medfac,e15_hospit,e16_leisure,e17_othsvc,e18_pubadm,K_8,G9_12,Univ_Enrollment +workplace,work_low,0,0,0.31,0.504,0.086,0.905,0.215,0.008,0.059,0.238,0.162,0,0.512,0.457,0.984,0.163,1,0.429,0.07,0,0,0 +workplace,work_med,0,0.001,0.359,0.944,0.153,0.883,0.254,0.035,0.095,0.29,0.389,0.004,0.345,0.511,1,0.186,0.661,0.348,0.205,0,0,0 +workplace,work_high,0,0.005,0.297,1,0.148,0.593,0.178,0.05,0.11,0.355,0.35,0.007,0.228,0.587,0.843,0.123,0.33,0.228,0.213,0,0,0 +workplace,work_veryhigh,0,0.006,0.162,1,0.133,0.363,0.101,0.055,0.104,0.34,0.475,0.005,0.164,0.498,0.699,0.094,0.214,0.14,0.143,0,0,0 +school,university,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,gradeschool,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,highschool,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +non_mandatory,escort,0.192,0,0,0,0,0.188,0,0,0,0,0,0,0,0,0.164,0.078,0.791,0,0,1,0.768,0 +non_mandatory,shopping,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.005,0.003,0,0,0,0 +non_mandatory,eatout,0.004,0,0,0,0,0.283,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +non_mandatory,othmaint,0.029,0,0,0,0.026,0.587,0,0,0,0.268,0,0,0.445,0.161,1,0.556,0.336,0.501,0.478,0,0,0 +non_mandatory,social,0.487,0,0,0,0,0,0,0,0,0,0,0,0,0.244,0,0.177,1,0,0,0,0,0 +non_mandatory,othdiscr,0.184,0,0,0,0,0.185,0,0,0,0,0,0,0,0.899,0.511,0.004,1.081,1,0,0,0,0 +atwork,atwork,0.03,0,0,0,0.049,1,0,0,0,0.141,0,0,0.482,0.048,0.092,0.013,0,0,0.053,0,0,0 +trip,work,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0 +trip,escort,0.001,0,0,0,0,0.225,0,0,0,0,0,0,0,0.144,0.144,0.144,0.144,0,0,0.465,0.166,0 +trip,shopping,0.001,0,0,0,0,0.999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +trip,eatout,0,0,0,0,0,0.742,0,0,0,0,0,0,0,0.258,0.258,0.258,0.258,0,0,0,0,0 +trip,othmaint,0.001,0,0,0,0,0.481,0,0,0,0,0,0,0,0.518,0.518,0.518,0.518,0,0,0,0,0 +trip,social,0.001,0,0,0,0,0.521,0,0,0,0,0,0,0,0.478,0.478,0.478,0.478,0,0,0,0,0 +trip,othdiscr,0.252,0,0,0,0,0.212,0,0,0,0,0,0,0,0.273,0.273,0.273,0.273,0.165,0.165,0,0.098,0 +trip,univ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,,,,,,,,,,,,,0 +#trip,gradeschool,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +#trip,highschool,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0 diff --git a/activitysim/examples/prototype_semcog/configs/free_parking.csv b/activitysim/examples/prototype_semcog/configs/free_parking.csv new file mode 100755 index 0000000000..2505a9bf70 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/free_parking.csv @@ -0,0 +1,6 @@ +Label,Description,Expression,free,pay +util_income_very_high,Very high income household dummy,@df.income>=100000,coef_income_very_high,0 +util_income_high,High income housheold dummy,@(df.income>=60000) & (df.income<100000),coef_income_high,0 +util_hh_size_4_up,Household size is greater than 3 dummy,@df.hhsize>3,coef_hh_size_4_up,0 +util_more_autos_than_workers,More automobiles than workers dummy,@df.auto_ownership>df.num_workers,coef_more_autos_than_workers,0 +util_fewer_autos_than_workers,Fewer automobiles than workers dummy,@df.auto_ownership=30) & (income_in_thousands<60),coef_medium_income_households,, +util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed +util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, +util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed +util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, +util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, +util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows +util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, +util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, +util_travel_active_adult,At least one adult and at least one child must have Mand or Non Mand activity patterns to have adult/child joint travel,(num_travel_active_adults == 0) | (num_travel_active_children == 0),,,coef_unavailable \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_composition.yaml b/activitysim/examples/prototype_semcog/configs/joint_tour_composition.yaml new file mode 100755 index 0000000000..a699bb337d --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_composition.yaml @@ -0,0 +1,11 @@ +LOGIT_TYPE: MNL + +SPEC: joint_tour_composition.csv +COEFFICIENTS: joint_tour_composition_coeffs.csv + +preprocessor: + SPEC: joint_tour_composition_annotate_households_preprocessor + DF: households +# TABLES: +# - persons +# - accessibility diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_composition_annotate_households_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_composition_annotate_households_preprocessor.csv new file mode 100755 index 0000000000..3267e37939 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_composition_annotate_households_preprocessor.csv @@ -0,0 +1,22 @@ +Description,Target,Expression +#,, +,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" +,time_window_overlap_adult,_HH_OVERLAPS['aa']/2.25 +,time_window_overlap_child,_HH_OVERLAPS['cc']/2.25 +,time_window_overlap_adult_child,_HH_OVERLAPS['ac']/2.25 +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +#,, +,_HH_PERSON_COUNT,"lambda exp, households, persons: persons.query(exp).groupby('household_id').size().reindex(households.index).fillna(0)" +,_num_full,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_FULL, households, persons)" +,_num_part,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PART, households, persons)" +,num_full_max3,"_num_full.clip(0,3)" +,num_part_max3,"_num_part.clip(0,3)" +,num_univ_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_UNIVERSITY, households, persons).clip(0,3)" +,num_nonwork_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_NONWORK, households, persons).clip(0,3)" +,num_preschool_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PRESCHOOL, households, persons).clip(0,3)" +,num_school_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_SCHOOL, households, persons).clip(0,3)" +,num_driving_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_DRIVING, households, persons).clip(0,3)" +#,, +,more_cars_than_workers,households.auto_ownership > (_num_full + _num_part) diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_composition_coeffs.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_composition_coeffs.csv new file mode 100755 index 0000000000..4d929c2b5f --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_composition_coeffs.csv @@ -0,0 +1,32 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_asc_children,5.3517,F +coef_asc_mixed,5.6290,fF +coef_tour_purpose_is_eating_out_children,-0.9678,F +coef_tour_purpose_is_eating_out_mixed,-0.8027,F +coef_tour_purpose_is_discretionary_adults,0.7648,F +coef_tour_purpose_is_discretionary_children,0.5101,F +coef_number_of_full_time_workers_adults,1.024,F +coef_number_of_full_time_workers_mixed,0.3624,F +coef_number_of_part_time_workers_adults,0.5412,F +coef_number_of_part_time_workers_mixed,0.3164,F +coef_number_of_university_students,0.8245,F +coef_number_of_non_workers_adults,0.6263,F +coef_number_of_non_workers_mixed,-0.3724,F +coef_number_of_children_too_young_for_school_children,0.7306,F +coef_number_of_children_too_young_for_school_mixed,0.7906,F +coef_number_of_pre_driving_age_children_children,0.7306,F +coef_number_of_pre_driving_age_children_mixed,0.3532,F +coef_number_of_driving_age_children_children,-0.2667,F +coef_number_of_driving_age_children_mixed,-0.9399,F +coef_low_income_households_adults,1.248,F +coef_low_income_households_mixed,0.5755,F +coef_medium_income_households,0.8369,F +coef_household_has_more_cars_than_workers_adults,1.386,F +coef_household_has_more_cars_than_workers_mixed,0.751,F +coef_household_in_urban_area,0.5741,F +coef_household_in_suburban_area_adults,0.5105,F +coef_household_in_suburban_area_mixed,0.1283,F +coef_log_max_overlap_of_adults_time_windows,1.192,F +coef_log_max_overlap_of_childrens_time_windows,1.841,F +coef_log_max_overlap_of_time_windows,1.958,F diff --git a/activitysim/examples/example_semcog/configs/joint_tour_destination.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_destination.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/joint_tour_destination.csv rename to activitysim/examples/prototype_semcog/configs/joint_tour_destination.csv index be4e18bf64..9d8571d401 100755 --- a/activitysim/examples/example_semcog/configs/joint_tour_destination.csv +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_destination.csv @@ -1,15 +1,15 @@ -Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr -local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 -util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,coef_dist_eatout,coef_dist_othmaint,coef_dist_social,coef_dist_othdiscr -util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_escort,coef_dist_squared_shopping,coef_dist_squared_eatout,coef_dist_squared_othmaint,,coef_dist_squared_othdiscr -util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_escort,coef_dist_cubed_shopping,coef_dist_cubed_eatout,coef_dist_cubed_othmaint,,coef_dist_cubed_othdiscr -util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr -util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 -util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,coef_dist_med_inc_othmaint,0,coef_dist_med_inc_othdiscr -util_dist_high,@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,0,0,0,coef_dist_high_inc_othmaint,0,0 -util_dist_hh_child,@(df['num_children']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,coef_dist_hh_child_social,coef_dist_hh_child_othdiscr -util_dist_joint_tour,@(df['tour_type']=='joint') * _DIST,0,coef_dist_joint_tour_shopping,0,0,coef_dist_joint_tour_social,coef_dist_joint_tour_othdiscr -Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 -Mode choice logsum,mode_choice_logsum,coef_mode_logsum_escort,coef_mode_logsum_shopping,coef_mode_logsum_eatout,coef_mode_logsum_othmaint,coef_mode_logsum_social,coef_mode_logsum_othdiscr -Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1 +Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr +local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 +util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,coef_dist_eatout,coef_dist_othmaint,coef_dist_social,coef_dist_othdiscr +util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_escort,coef_dist_squared_shopping,coef_dist_squared_eatout,coef_dist_squared_othmaint,,coef_dist_squared_othdiscr +util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_escort,coef_dist_cubed_shopping,coef_dist_cubed_eatout,coef_dist_cubed_othmaint,,coef_dist_cubed_othdiscr +util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr +util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,coef_dist_med_inc_othmaint,0,coef_dist_med_inc_othdiscr +util_dist_high,@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,0,0,0,coef_dist_high_inc_othmaint,0,0 +util_dist_hh_child,@(df['num_children']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,coef_dist_hh_child_social,coef_dist_hh_child_othdiscr +util_dist_joint_tour,@(df['tour_type']=='joint') * _DIST,0,coef_dist_joint_tour_shopping,0,0,coef_dist_joint_tour_social,coef_dist_joint_tour_othdiscr +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 +Mode choice logsum,mode_choice_logsum,coef_mode_logsum_escort,coef_mode_logsum_shopping,coef_mode_logsum_eatout,coef_mode_logsum_othmaint,coef_mode_logsum_social,coef_mode_logsum_othdiscr +Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1 diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_destination.yaml b/activitysim/examples/prototype_semcog/configs/joint_tour_destination.yaml new file mode 100755 index 0000000000..bac02c2d72 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_destination.yaml @@ -0,0 +1,52 @@ + +SAMPLE_SPEC: joint_tour_destination_sample.csv +SPEC: joint_tour_destination.csv +COEFFICIENTS: joint_tour_destination_coeffs.csv + +SEGMENTS: + - shopping + - othmaint + - othdiscr + - eatout + - social + + +SAMPLE_SIZE: 30 + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: tour_type + +SIMULATE_CHOOSER_COLUMNS: + - tour_type + - TAZ + - person_id + - income_segment + - num_children + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: TAZ +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 14 +OUT_PERIOD: 14 + +SIZE_TERM_SELECTOR: non_mandatory + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample + +SEGMENT_IDS: + work_low: 1 + work_med: 2 + work_high: 3 + work_veryhigh: 4 + +CONSTANTS: + WORK_LOW_SEGMENT_ID: 1 + WORK_MED_SEGMENT_ID: 2 + WORK_HIGH_SEGMENT_ID: 3 + WORK_VERYHIGH_SEGMENT_ID: 4 diff --git a/activitysim/examples/example_semcog/configs/joint_tour_destination_coeffs.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_destination_coeffs.csv similarity index 97% rename from activitysim/examples/example_semcog/configs/joint_tour_destination_coeffs.csv rename to activitysim/examples/prototype_semcog/configs/joint_tour_destination_coeffs.csv index db6fa3941e..b9b82be0cd 100755 --- a/activitysim/examples/example_semcog/configs/joint_tour_destination_coeffs.csv +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_destination_coeffs.csv @@ -1,39 +1,39 @@ -coefficient_name,value,constrain -coef_mode_logsum_escort,0.43,F -coef_dist_escort,-0.024726043,F -coef_dist_squared_escort,-0.00174728,F -coef_dist_cubed_escort,3.68E-06,F -coef_dist_logged_escort,-1.236681595,F -coef_dist_hh_child_escort,-0.115868258,F -coef_mode_logsum_shopping,0.65,F -coef_dist_shopping,-0.098281692,F -coef_dist_squared_shopping,-0.020314759,F -coef_dist_cubed_shopping,0.000801126,F -coef_dist_logged_shopping,-0.792030818,F -coef_dist_joint_tour_shopping,0.035663397,F -coef_mode_logsum_eatout,0.56,F -coef_dist_eatout,-0.039022477,F -coef_dist_squared_eatout,-0.02117814,F -coef_dist_cubed_eatout,0.000793071,F -coef_dist_logged_eatout,-0.680658809,F -coef_dist_hh_child_eatout,-0.059764452,F -coef_mode_logsum_othmaint,0.38,F -coef_dist_othmaint,-0.058808778,F -coef_dist_squared_othmaint,-0.009297153,F -coef_dist_cubed_othmaint,0.000314133,F -coef_dist_logged_othmaint,-0.759800765,F -coef_dist_med_inc_othmaint,-0.007251455,F -coef_dist_high_inc_othmaint,-0.01144311,F -coef_mode_logsum_social,0.68,F -coef_dist_social,-0.070898603,F -coef_dist_logged_social,-0.67038649,F -coef_dist_hh_child_social,-0.054753072,F -coef_dist_joint_tour_social,0.030177219,F -coef_mode_logsum_othdiscr,0.75,F -coef_dist_othdiscr,-0.03374735,F -coef_dist_squared_othdiscr,-0.012479607,F -coef_dist_cubed_othdiscr,0.000434109,F -coef_dist_logged_othdiscr,-0.680070996,F -coef_dist_med_inc_othdiscr,0.036605959,F -coef_dist_hh_child_othdiscr,-0.021556002,F -coef_dist_joint_tour_othdiscr,0.011538605,F +coefficient_name,value,constrain +coef_mode_logsum_escort,0.43,F +coef_dist_escort,-0.024726043,F +coef_dist_squared_escort,-0.00174728,F +coef_dist_cubed_escort,3.68E-06,F +coef_dist_logged_escort,-1.236681595,F +coef_dist_hh_child_escort,-0.115868258,F +coef_mode_logsum_shopping,0.65,F +coef_dist_shopping,-0.098281692,F +coef_dist_squared_shopping,-0.020314759,F +coef_dist_cubed_shopping,0.000801126,F +coef_dist_logged_shopping,-0.792030818,F +coef_dist_joint_tour_shopping,0.035663397,F +coef_mode_logsum_eatout,0.56,F +coef_dist_eatout,-0.039022477,F +coef_dist_squared_eatout,-0.02117814,F +coef_dist_cubed_eatout,0.000793071,F +coef_dist_logged_eatout,-0.680658809,F +coef_dist_hh_child_eatout,-0.059764452,F +coef_mode_logsum_othmaint,0.38,F +coef_dist_othmaint,-0.058808778,F +coef_dist_squared_othmaint,-0.009297153,F +coef_dist_cubed_othmaint,0.000314133,F +coef_dist_logged_othmaint,-0.759800765,F +coef_dist_med_inc_othmaint,-0.007251455,F +coef_dist_high_inc_othmaint,-0.01144311,F +coef_mode_logsum_social,0.68,F +coef_dist_social,-0.070898603,F +coef_dist_logged_social,-0.67038649,F +coef_dist_hh_child_social,-0.054753072,F +coef_dist_joint_tour_social,0.030177219,F +coef_mode_logsum_othdiscr,0.75,F +coef_dist_othdiscr,-0.03374735,F +coef_dist_squared_othdiscr,-0.012479607,F +coef_dist_cubed_othdiscr,0.000434109,F +coef_dist_logged_othdiscr,-0.680070996,F +coef_dist_med_inc_othdiscr,0.036605959,F +coef_dist_hh_child_othdiscr,-0.021556002,F +coef_dist_joint_tour_othdiscr,0.011538605,F diff --git a/activitysim/examples/example_semcog/configs/joint_tour_destination_sample.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_destination_sample.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/joint_tour_destination_sample.csv rename to activitysim/examples/prototype_semcog/configs/joint_tour_destination_sample.csv index 2f0500d883..5c4bf8a90f 100755 --- a/activitysim/examples/example_semcog/configs/joint_tour_destination_sample.csv +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_destination_sample.csv @@ -1,13 +1,13 @@ -Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr -local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 -util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,coef_dist_eatout,coef_dist_othmaint,coef_dist_social,coef_dist_othdiscr -util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_escort,coef_dist_squared_shopping,coef_dist_squared_eatout,coef_dist_squared_othmaint,,coef_dist_squared_othdiscr -util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_escort,coef_dist_cubed_shopping,coef_dist_cubed_eatout,coef_dist_cubed_othmaint,,coef_dist_cubed_othdiscr -util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr -util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 -util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,coef_dist_med_inc_othmaint,0,coef_dist_med_inc_othdiscr -util_dist_high,@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,0,0,0,coef_dist_high_inc_othmaint,0,0 -util_dist_hh_child,@(df['num_children']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,coef_dist_hh_child_social,coef_dist_hh_child_othdiscr -util_dist_joint_tour,@(df['tour_type']=='joint') * _DIST,0,coef_dist_joint_tour_shopping,0,0,coef_dist_joint_tour_social,coef_dist_joint_tour_othdiscr -Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 +Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr +local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 +util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,coef_dist_eatout,coef_dist_othmaint,coef_dist_social,coef_dist_othdiscr +util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_escort,coef_dist_squared_shopping,coef_dist_squared_eatout,coef_dist_squared_othmaint,,coef_dist_squared_othdiscr +util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_escort,coef_dist_cubed_shopping,coef_dist_cubed_eatout,coef_dist_cubed_othmaint,,coef_dist_cubed_othdiscr +util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr +util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,coef_dist_med_inc_othmaint,0,coef_dist_med_inc_othdiscr +util_dist_high,@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,0,0,0,coef_dist_high_inc_othmaint,0,0 +util_dist_hh_child,@(df['num_children']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,coef_dist_hh_child_social,coef_dist_hh_child_othdiscr +util_dist_joint_tour,@(df['tour_type']=='joint') * _DIST,0,coef_dist_joint_tour_shopping,0,0,coef_dist_joint_tour_social,coef_dist_joint_tour_othdiscr +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_frequency.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_frequency.csv new file mode 100755 index 0000000000..48d46a8fbf --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_frequency.csv @@ -0,0 +1,78 @@ +Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD +util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours +util_alternative_specific_constants_calibration,alternative_specific_constants_calibration,1,asc_calib_0_tours,asc_calib_1_Shop,asc_calib_1_Main,asc_calib_1_Eat,asc_calib_1_Visit,asc_calib_1_Disc,asc_calib_2_SS,asc_calib_2_SM,asc_calib_2_SE,asc_calib_2_SV,asc_calib_2_SD,asc_calib_2_MM,asc_calib_2_ME,asc_calib_2_MV,asc_calib_2_MD,asc_calib_2_EE,asc_calib_2_EV,asc_calib_2_ED,asc_calib_2_VV,asc_calib_2_VD,asc_calib_2_DD +#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, +util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, +#_shopping,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, +util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, +util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, +util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, +util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, +util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, +util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, +util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, +util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, +util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, +#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, +util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, +util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, +util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, +util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, +util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, +util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, +util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, +util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, +util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, +util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, +util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, +util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, +#_eatout,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, +util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, +util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, +util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, +util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, +util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, +util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, +util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, +util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, +util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, +util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, +util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, +util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, +#_visiting,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, +util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, +util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, +util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, +util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, +util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, +util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, +util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, +util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, +util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, +#_discretionary,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc +util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc +util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc +util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc +util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc +util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc +util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc +util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc +util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc +util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc +util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc +util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc +util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc +util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc +util_zeroAutomobiles_dis,zeroAutomobiles_disc,auto_ownership == 0,,,,,,coef_zeroAutomobiles_disc,,,,,coef_zeroAutomobiles_disc,,,,coef_zeroAutomobiles_disc,,,coef_zeroAutomobiles_disc,,coef_zeroAutomobiles_disc,2 * coef_zeroAutomobiles_disc diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_frequency.yaml b/activitysim/examples/prototype_semcog/configs/joint_tour_frequency.yaml new file mode 100755 index 0000000000..61e1f1bdcf --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_frequency.yaml @@ -0,0 +1,11 @@ +LOGIT_TYPE: MNL + +SPEC: joint_tour_frequency.csv +COEFFICIENTS: joint_tour_frequency_coeffs.csv + +preprocessor: + SPEC: joint_tour_frequency_annotate_households_preprocessor + DF: households + TABLES: + #- persons + - accessibility diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_frequency_alternatives.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_frequency_alternatives.csv new file mode 100755 index 0000000000..7bf93731f9 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_frequency_alternatives.csv @@ -0,0 +1,23 @@ +#,,,,,alt file for building joint tours +alt,shopping,othmaint,eatout,social,othdiscr +0_tours,0,0,0,0,0 +1_Shop,1,0,0,0,0 +1_Main,0,1,0,0,0 +1_Eat,0,0,1,0,0 +1_Visit,0,0,0,1,0 +1_Disc,0,0,0,0,1 +2_SS,2,0,0,0,0 +2_SM,1,1,0,0,0 +2_SE,1,0,1,0,0 +2_SV,1,0,0,1,0 +2_SD,1,0,0,0,1 +2_MM,0,2,0,0,0 +2_ME,0,1,1,0,0 +2_MV,0,1,0,1,0 +2_MD,0,1,0,0,1 +2_EE,0,0,2,0,0 +2_EV,0,0,1,1,0 +2_ED,0,0,1,0,1 +2_VV,0,0,0,2,0 +2_VD,0,0,0,1,1 +2_DD,0,0,0,0,2 diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv new file mode 100755 index 0000000000..c5580ed715 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv @@ -0,0 +1,32 @@ +Description,Target,Expression +,_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype, activity, households, persons: persons.query('ptype == %s and cdap_activity==\'%s\'' % (ptype, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +,_PEMPLOY_CDAP_PATTERN_COUNT,"lambda pemploy, activity, households, persons: persons.query('pemploy == %s and cdap_activity==\'%s\'' % (pemploy, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +,_2_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype1, ptype2, activity, households, persons: persons.query('(ptype == %s or ptype == %s) and cdap_activity==\'%s\'' % (ptype1, ptype2, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +#,, +,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" +,time_window_overlap_adult,_HH_OVERLAPS['aa']/2.25 +,time_window_overlap_child,_HH_OVERLAPS['cc']/2.25 +,time_window_overlap_adult_child,_HH_OVERLAPS['ac']/2.25 +#,, +,cdap_home_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'H', households, persons).clip(0,3)" +,cdap_home_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'H', households, persons).clip(0,3)" +,cdap_home_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'H', households, persons).clip(0,3)" +,cdap_home_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'H', households, persons).clip(0,3)" +,cdap_home_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'H', households, persons).clip(0,3)" +,cdap_home_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'H', households, persons).clip(0,3)" +,cdap_nonmand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'N', households, persons).clip(0,3)" +,cdap_nonmand_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'N', households, persons).clip(0,3)" +,cdap_nonmand_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'N', households, persons).clip(0,3)" +,cdap_nonmand_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'N', households, persons).clip(0,3)" +,cdap_nonmand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'N', households, persons).clip(0,3)" +,cdap_nonmand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'N', households, persons).clip(0,3)" +,cdap_mand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'M', households, persons).clip(0,3)" +,cdap_mand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'M', households, persons).clip(0,3)" +,cdap_mand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'M', households, persons).clip(0,3)" +,income_between_50_and_100,(households.income > 50000) & (households.income <= 100000) +,income_greater_than_100,households.income > 100000 +,income_missing,0 +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +nmRetail,non_motorized_retail_accessibility,"reindex(accessibility.nmRetail, households.TAZ)" diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_frequency_coeffs.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_frequency_coeffs.csv new file mode 100755 index 0000000000..2f7f803653 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_frequency_coeffs.csv @@ -0,0 +1,106 @@ +coefficient_name,value,constrain +# asc,, +coef_asc_0_tours,0,T +coef_asc_1_Shop,-6.0149,F +coef_asc_1_Main,-5.7389,F +coef_asc_1_Eat,-6.3757,F +coef_asc_1_Visit,-5.8818,F +coef_asc_1_Disc,-5.4806,F +coef_asc_2_tours,-14.4576,F +# zero_tours,, +coef_fullTimeHomeMaxThree_zero_tours,1.175,F +coef_partTimeHomeMaxThree_zero_tours,1.447,F +coef_nonWorkerHomeMaxThree_zero_tours,1.514,F +coef_retireeHomeMaxThree_zero_tours,0.6053,F +coef_universityHomeMaxThree_univ_and_driving_zero_tours,0.5685,F +coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,0.53,F +# shopping,, +coef_fullTimeNonMandMaxThree_shopping,0.2052,F +coef_partTimeNonMandMaxThree_shopping,0.1866,F +coef_nonWorkerNonMandMaxThree_shopping,0.7078,F +coef_retireeNonMandMaxThree_shopping,0.941,F +coef_universityNonMandMaxThree_shopping,0.7648,F +coef_preDrivingNonMandMaxThree_shopping,0.5474,F +coef_fullTimeMandMaxThree_shopping,-0.2424,F +coef_logTimeWindowOverlapAdult_shopping,0.5945,F +coef_logTimeWindowOverlapChild_shopping,0.1416,F +coef_logTimeWindowOverlapAdultChild_shopping,0.1086,F +coef_fewerCarsThanDrivers_shopping,0.2523,F +coef_moreCarsThanWorkers_shopping,-0.3027,F +# maintenance,, +coef_fullTimeNonMandMaxThree_maint,0.3173,F +coef_partTimeNonMandMaxThree_maint,0.2452,F +coef_nonWorkerNonMandMaxThree_maint,0.4643,F +coef_retireeNonMandMaxThree_maint,0.905,F +coef_universityNonMandMaxThree_maint,0.2643,F +coef_preDrivingNonMandMaxThree_maint,0.6482,F +coef_fullTimeMandMaxThree_maint,-0.3009,F +coef_drivingAgeStuMandMaxThree_maint,-0.3237,F +coef_preDrivingAgeMandMaxThree_maint,0.2299,F +coef_logTimeWindowOverlapAdult_maint,0.3714,F +coef_logTimeWindowOverlapChild_maint,0.176,F +coef_logTimeWindowOverlapAdultChild_maint,0.2443,F +coef_fewerCarsThanDrivers_maint,0.461,F +# eatout,, +coef_fullTimeNonMandMaxThree_eatout,0.2275,F +coef_partTimeNonMandMaxThree_eatout,0.3765,F +coef_nonWorkerNonMandMaxThree_eatout,0.182,F +coef_retireeNonMandMaxThree_eatout,0.4264,F +coef_universityNonMandMaxThree_eatout,0.4097,F +coef_preDrivingNonMandMaxThree_eatout,0.3851,F +coef_logTimeWindowOverlapAdult_eatout,0.4856,F +coef_logTimeWindowOverlapAdultChild_eatout,0.0921,F +coef_incomeBetween50And100_eatout,0.2977,F +coef_incomeGreaterThan100_eatout,0.4492,F +coef_incomeMissing_dummy_always_zero_eatout,0.278,F +coef_moreCarsThanWorkers_eatout,0.3825,F +coef_walkRetailAccessibility_eatout,0.062,F +# visiting,, +coef_fullTimeNonMandMaxThree_visiting,0.6445,F +coef_partTimeNonMandMaxThree_visiting,0.1332,F +coef_nonWorkerNonMandMaxThree_visiting,0.5475,F +coef_retireeNonMandMaxThree_visiting,0.5579,F +coef_universityNonMandMaxThree_visiting,0.2809,F +coef_preDrivingNonMandMaxThree_visiting,0.6008,F +coef_timeWindowOverlapAdult_visiting,0.0596,F +coef_timeWindowOverlapChild_visiting,0.0092,F +coef_timeWindowOverlapAdultChild_visiting,0.0256,F +coef_zeroAutomobiles_visiting,-0.98,F +# discretionary,, +coef_fullTimeNonMandMaxThree_disc,0.1275,F +coef_partTimeNonMandMaxThree_disc,0.4979,F +coef_nonWorkerNonMandMaxThree_disc,0.2871,F +coef_retireeNonMandMaxThree_disc,0.6136,F +coef_universityNonMandMaxThree_disc,0.7546,F +coef_preDrivingNonMandMaxThree_disc,0.5331,F +coef_drivingAgeStuMandMaxThree_disc,0.1932,F +coef_preDrivingAgeMandMaxThree_disc,0.3862,F +coef_logTimeWindowOverlapAdult_disc,0.3428,F +coef_logTimeWindowOverlapChild_disc,0.1162,F +coef_logTimeWindowOverlapAdultChild_disc,0.2212,F +coef_incomeBetween50And100_disc,0.3167,F +coef_incomeGreaterThan100_disc,0.486,F +coef_incomeMissing_dummy_always_zero_disc,0.3723,F +coef_zeroAutomobiles_disc,-0.909,F +#Phase1_Calibration,, +asc_calib_0_tours,0,T +asc_calib_1_Shop,1.053698044,F +asc_calib_1_Main,0.732431708,F +asc_calib_1_Eat,0.877259241,F +asc_calib_1_Visit,0.436534239,F +asc_calib_1_Disc,0.619623918,F +asc_calib_2_SS,2.404591356,F +asc_calib_2_SM,2.998240224,F +asc_calib_2_SE,2.042554293,F +asc_calib_2_SV,0.054676458,F +asc_calib_2_SD,2.467068755,F +asc_calib_2_MM,3.614067275,F +asc_calib_2_ME,4.359003674,F +asc_calib_2_MV,5.998710535,F +asc_calib_2_MD,5.114616381,F +asc_calib_2_EE,3.295790528,F +asc_calib_2_EV,5.235744732,F +asc_calib_2_ED,2.359825593,F +asc_calib_2_VV,1.285350946,F +asc_calib_2_VD,4.250918308,F +asc_calib_2_DD,2.958796827,F diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_participation.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_participation.csv new file mode 100755 index 0000000000..cd692d8d27 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_participation.csv @@ -0,0 +1,67 @@ +Label,Description,Expression,participate,not_participate +util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not +util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not +util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, +util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, +util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, +util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, +util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, +util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, +util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, +util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, +util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, +util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, +#,,,, +util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not +util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not +util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, +util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, +util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, +util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, +util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, +util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, +util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, +util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, +util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, +util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, +util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, +util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, +#,,,, +util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, +util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, +util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, +util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, +util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, +util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, +util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, +util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, +util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, +util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, +util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, +util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, +#,,,, +util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, +util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, +util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, +util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, +util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, +util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, +util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, +util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, +util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, +util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, +util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, +util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, +#,,,, +util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, +util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, +util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, +util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, +#,,,, +util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, +util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, +util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, +util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable +util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable +util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable +util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_participation.yaml b/activitysim/examples/prototype_semcog/configs/joint_tour_participation.yaml new file mode 100755 index 0000000000..59941e8324 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_participation.yaml @@ -0,0 +1,20 @@ + +SPEC: joint_tour_participation.csv +COEFFICIENTS: joint_tour_participation_coeffs.csv + +LOGIT_TYPE: MNL + +#max_participation_choice_iterations: 5000 + +preprocessor: + SPEC: joint_tour_participation_annotate_participants_preprocessor + DF: participants +# TABLES: +# - persons +# - accessibility + +annotate_persons: + SPEC: annotate_persons_jtp + DF: persons + TABLES: + - joint_tour_participants diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv new file mode 100755 index 0000000000..cb78bff306 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv @@ -0,0 +1,24 @@ +Description,Target,Expression +,_P_OVERLAPS,person_time_window_overlap(persons) +,time_window_overlap_adult,"reindex(_P_OVERLAPS.aa, participants.person_id)/2.25" +,time_window_overlap_child,"reindex(_P_OVERLAPS.cc, participants.person_id)/2.25" +,time_window_overlap_adult_child,"reindex(_P_OVERLAPS.ac, participants.person_id)/2.25" +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +#,, +,person_is_full,participants.ptype == PTYPE_FULL +,person_is_part,participants.ptype == PTYPE_PART +,person_is_univ,participants.ptype == PTYPE_UNIVERSITY +,person_is_nonwork,participants.ptype == PTYPE_NONWORK +,person_is_driving,participants.ptype == PTYPE_DRIVING +,person_is_school,participants.ptype == PTYPE_SCHOOL +,person_is_preschool,participants.ptype == PTYPE_PRESCHOOL +,tour_type_is_eat,participants.tour_type=='eat' +,tour_type_is_disc,participants.tour_type=='disc' +,tour_composition_is_adults,participants.composition=='adults' +,tour_composition_is_children,participants.composition=='children' +,tour_composition_is_mixed,participants.composition=='mixed' +,home_is_suburban,~(participants.home_is_urban | participants.home_is_rural) +,high_income,participants.income_in_thousands > 60 +,more_cars_than_workers,participants.auto_ownership > participants.num_workers diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_participation_coeffs.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_participation_coeffs.csv new file mode 100755 index 0000000000..455f08be9e --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_participation_coeffs.csv @@ -0,0 +1,68 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_full_time_worker_mixed_party,-3.566,F +coef_full_time_worker_mixed_party_not,0.5,T +coef_part_time_worker_adults_only_party,-3.566,F +coef_part_time_worker_adults_only_party_not,0.5,T +coef_part_time_worker_mixed_party,-0.3655,F +coef_university_student_mixed_party,-3.041,F +coef_non_worker_adults_only_party,-3.164,F +coef_non_worker_mixed_party,0.7152,F +coef_child_too_young_for_school_children_only_party,-2.786,F +coef_child_too_young_for_school_mixed_party,-1.893,F +coef_pre_driving_age_student_children_only_party,-0.7217,F +coef_pre_driving_age_student_mixed_party,-1.752,F +coef_driving_age_student_children_only_party,-1.822,F +coef_driving_age_student_mixed_party,-1.353,F +#,, +coef_full_time_worker_specific_to_eating_out_joint_tours,0.7157,F +coef_full_time_worker_specific_to_eating_out_joint_tours_not,0.5,T +coef_full_time_worker_specific_to_discretionary_joint_tours,0.4392,F +coef_full_time_worker_specific_to_discretionary_joint_tours_not,0.5,T +coef_part_time_worker_specific_to_eating_out_joint_tours,2.188,F +coef_part_time_worker_specific_to_discretionary_joint_tours,0.285,F +coef_university_student_specific_to_eating_out_joint_tours,-0.82,F +coef_university_student_specific_to_discretionary_joint_tours,0,T +coef_non_worker_specific_to_eating_out_joint_tours,0.1617,F +coef_non_worker_specific_to_discretionary_joint_tours,-0.1835,F +coef_child_too_young_for_school_specific_to_eating_out_joint_tours,0.6589,F +coef_child_too_young_for_school_specific_to_discretionary_joint_tours,0.1284,F +coef_pre_driving_age_student_specific_to_eating_out_joint_tours,1.391,F +coef_pre_driving_age_student_specific_to_discretionary_joint_tours,0.6626,F +coef_driving_age_student_specific_to_eating_out_joint_tours,2.344,F +coef_driving_age_student_specific_to_discretionary_joint_tours,-0.6675,F +#,, +coef_household_in_urban_area_adult_adult_only_party,0,T +coef_household_in_urban_area_adult_mixed_party,-0.137,F +coef_household_in_urban_area_child_child_only_party,1.21,F +coef_household_in_urban_area_child_mixed_party,0.6265,F +coef_household_in_suburban_area_adult_adult_only_party,0,T +coef_household_in_suburban_area_adult_mixed_party,-0.06007,F +coef_household_in_suburban_area_child_child_only_party,0,T +coef_household_in_suburban_area_child_mixed_party,0,T +coef_adult_more_automobiles_than_workers_adult_only_party,-0.2133,F +coef_adult_more_automobiles_than_workers_mixed_party,-0.6031,F +coef_child_more_automobiles_than_workers_child_only_party,-0.4214,F +coef_child_more_automobiles_than_workers_mixed_party,-0.3776,F +#,, +coef_dummy_for_high_income_for_adult_in_adult_party,-0.1682,F +coef_dummy_for_high_income_for_adult_in_mixed_party,-0.02613,F +coef_dummy_for_high_income_for_child_in_children_party,-0.5619,F +coef_dummy_for_high_income_for_child_in_mixed_party,-0.1528,F +coef_adult_number_of_joint_tours_adult_only,-0.3242,F +coef_adult_number_of_joint_tours_mixed,-0.3584,F +coef_child_number_of_joint_tours_child_only,0.1047,F +coef_child_number_of_joint_tours_mixed,-0.5089,F +coef_adult_number_of_other_adults_in_the_household_adults_only_party,0,T +coef_adult_number_of_other_adults_in_the_household_mixed_party,0,T +coef_child_number_of_other_children_in_the_household_child_only_party,0,T +coef_child_number_of_other_children_in_the_household_mixed,0,T +#,, +coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,0.8436,F +coef_adult_log_of_max_window_overlap_with_a_child_mixed,2.189,F +coef_child_log_of_max_window_overlap_with_an_adult_mixed,1.538,F +coef_child_log_of_max_window_overlap_with_a_child_child,1.296,F + + + + diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_scheduling.yaml b/activitysim/examples/prototype_semcog/configs/joint_tour_scheduling.yaml new file mode 100755 index 0000000000..e81afe238e --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_scheduling.yaml @@ -0,0 +1,12 @@ +LOGIT_TYPE: MNL + +SPEC: tour_scheduling_joint.csv +COEFFICIENTS: tour_scheduling_joint_coeffs.csv + +preprocessor: + SPEC: joint_tour_scheduling_annotate_tours_preprocessor + DF: joint_tours + TABLES: + - land_use + - households + - joint_tour_participants diff --git a/activitysim/examples/prototype_semcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv new file mode 100755 index 0000000000..594b79624a --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv @@ -0,0 +1,2 @@ +Description,Target,Expression +,origin_to_destination_distance,"skim_dict.lookup(joint_tours.origin, joint_tours.destination, ('SOV_DIST', 'MD'))" diff --git a/activitysim/examples/prototype_semcog/configs/logging.yaml b/activitysim/examples/prototype_semcog/configs/logging.yaml new file mode 100755 index 0000000000..6dfca578a4 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/logging.yaml @@ -0,0 +1,53 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console] + + loggers: + + activitysim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + level: NOTSET + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' diff --git a/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency.csv b/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency.csv new file mode 100755 index 0000000000..848bbf77aa --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency.csv @@ -0,0 +1,101 @@ +Label,Description,Expression,work1,work2,school1,school2,work_and_school +util_ft_worker,Full-time worker alternative-specific constants,ptype == 1,0,coef_ft_worker_work2_asc,,, +util_pt_worker,Part-time worker alternative-specific constants,ptype == 2,0,coef_pt_worker_work2_asc,,, +util_univ,University student alternative-specific constants,ptype == 3,coef_univ_work1_asc,coef_univ_work2_asc,0,coef_univ_school2_asc,coef_univ_work_and_school_asc +util_non_working_adult,Non-working adult alternative-specific constants,ptype == 4,,,,, +util_retired,Retired alternative-specific constants,ptype == 5,,,,, +util_driving_age_child,Driving-age child alternative-specific constants,ptype == 6,,,0,coef_driving_age_child_school2_asc,coef_driving_age_child_work_and_school_asc +util_pre_driving_age_child,Pre-driving age child who is in school alternative-specific constants,ptype == 7,,,0,coef_pre_driving_age_child_school2_asc, +util_female_ft_worker,Female - Full-time worker interaction,(ptype == 1) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school +util_female_pt_worker,Female - Part-time worker interaction,(ptype == 2) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school +util_female_univ,Female - University student interaction,(ptype == 3) & female,coef_female_work1,coef_female_work2,coef_female_school1,coef_female_school2,coef_female_work_and_school +util_female_non_working_adult,Female - Non-working adult interaction,(ptype == 4) & female,0,coef_female_work2,coef_female_school1,, +util_female_retired,Female - Retired interaction,(ptype == 5) & female,0,coef_female_work2,coef_female_school1,, +util_female_driving_age_child,Female - Driving-age child interaction,(ptype == 6) & female,coef_female_work1,,0,coef_female_school2,coef_female_work_and_school +util_female_pre_driving,Female - Pre-driving age child who is in school interaction,(ptype == 7) & female,coef_female_work1,,0,coef_female_school2, +util_under_35_ft,Under 35 - Full-time worker interaction,(ptype == 1) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school +util_under_35_pt,Under 35 - Part-time worker interaction,(ptype == 2) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school +util_under_35_univ,Under 35 - University student interaction,(ptype == 3) & (age <= 35),coef_under_35_work1,coef_under_35_work2,0,coef_under_35_school2,coef_under_35_work_and_school +util_under_35_non_working,Under 35 - Non-working adult interaction,(ptype == 4) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,, +util_can_walk_to_work_ft,Can walk to work - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_pt,Can walk to work - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_univ,Can walk to work - University student interaction,(ptype == 3) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_non_working_adult,Can walk to work - Non-working adult interaction,(ptype == 4) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_retired,Can walk to work - Retired interaction,(ptype == 5) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_school_univ,Can walk to school - University student interaction,(ptype == 3) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_school_driving_age_child,Can walk to school - Driving-age child interaction,(ptype == 6) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_school_pre_driving_age_child,Can walk to school - Pre-driving age child who is in school interaction,(ptype == 7) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_work_or_school_ft,Can walk to work or school - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_pt,Can walk to work or school - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_univ,Can walk to work or school - University student interaction,(ptype == 3) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_driving_age_child,Can walk to work or school - Driving-age child interaction,(ptype == 6) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_round_trip_auto_time_to_work_ft,Round trip auto time to work - Full-time worker interaction,(ptype == 1) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_pt,Round trip auto time to work - Part-time worker interaction,(ptype == 2) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_univ,Round trip auto time to work - University student interaction,(ptype == 3) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_non_working_adult,Round trip auto time to work - Non-working adult interaction,(ptype == 4) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, +util_round_trip_auto_time_to_work_retired,Round trip auto time to work - Retired,(ptype == 5) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, +util_round_trip_auto_time_to_school_univ,Round trip auto time to school - University student interaction,(ptype == 3) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school +util_round_trip_auto_time_to_school_driving_age_child,Round trip auto time to school - Driving-age child interaction,(ptype == 6) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school +util_round_trip_auto_time_to_school_pre_driving_age_child,Round trip auto time to school - Pre-driving age child who is in school interaction,(ptype == 7) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2, +util_student_employted_univ,Student is employed - University student interaction,(ptype == 3) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed +util_student_employted_driving_age_child,Student is employed - Driving-age child interaction,(ptype == 6) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed +util_non_student_goes_to_school_ft,Non-student goes to school - Full-time worker interaction,(ptype == 1) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school +util_non_student_goes_to_school_pt,Non-student goes to school - Part-time worker interaction,(ptype == 2) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school +util_non_student_goes_to_school_non_working_adult,Non-student goes to school - Non-working adult interaction,(ptype == 4) & nonstudent_to_school,,,coef_non_student_goes_to_school,, +util_non_student_goes_to_school_retired,Non-student goes to school - Retired interaction,(ptype == 5) & nonstudent_to_school,,,coef_non_student_goes_to_school,, +util_no_cars_in_hh_ft,No cars in household - Full-time worker interaction,(ptype == 1) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_pt,No cars in household - Part-time worker interaction,(ptype == 2) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_unif,No cars in household - University student interaction,(ptype == 3) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_non_working_adult,No cars in household - Non-working adult interaction,(ptype == 4) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, +util_no_cars_in_hh_retired,No cars in household - Retired interaction,(ptype == 5) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, +util_no_cars_in_hh_driving_age_student,No cars in household - Driving-age student interaction,(ptype == 6) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_pre_driving_age,No cars in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2, +util_fewer_cars_than_drivers_univ,Fewer cars than drivers in household - University student interaction,(ptype == 3) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_fewer_cars_than_drivers_driving_age_student,Fewer cars than drivers in household - Driving-age student interaction,(ptype == 6) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_fewer_cars_than_drivers_pre_driving_age,Fewer cars than drivers in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_num_preschool_in_hh_ft,Number of preschool children in household - Full-time worker interaction,(ptype == 1) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_pt,Number of preschool children in household - Part-time worker interaction,(ptype == 2) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_univ,Number of preschool children in household - University student interaction,(ptype == 3) * (num_young_children),coef_num_preschool_in_hh_work1,coef_num_preschool_in_hh_work2,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_non_working_adult,Number of preschool children in household - Non-working adult interaction,(ptype == 4) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, +util_num_preschool_in_hh_retired,Number of preschool children in household - Retired interaction,(ptype == 5) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, +util_num_preschool_in_hh_driving_age_student,Number of preschool children in household - Driving-age student interaction,(ptype == 6) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_pre_driving_age_in_school,Number of preschool children in household - Pre-driving age child who is in school interaction,(ptype == 7) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2, +util_num_nonworkers_in_hh_ft,Number of non-workers in the household - Full-time worker interaction,(ptype == 1) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, +util_num_nonworkers_in_hh_pt,Number of non-workers in the household - Part-time worker interaction,(ptype == 2) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, +util_hh_income_gt_50k_ft,Household income higher than $50k - Full-time worker interaction,(ptype == 1) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school +util_hh_income_gt_50k_pt,Household income higher than $50k - Part-time worker interaction,(ptype == 2) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school +util_hh_income_gt_50k_univ,Household income higher than $50k - University student interaction,(ptype == 3) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,coef_hh_income_gt_50k_work,0,,coef_hh_income_gt_50k_student_work_and_school +util_hh_income_gt_50k_non_working_adult,Household income higher than $50k - Non-working adult interaction,(ptype == 4) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, +util_hh_income_gt_50k_retired,Household income higher than $50k - Retired interaction,(ptype == 5) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, +util_hh_income_gt_50k_driving_age_student,Household income higher than $50k - Driving-age student interaction,(ptype == 6) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,,coef_hh_income_gt_50k_student_work_and_school +util_hh_income_gt_50k_pre_driving_age_student,Household income higher than $50k - Pre-driving age child who is in school interaction,(ptype == 7) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,, +util_non_family_hh_ft,Non-family household - Full-time worker interaction,(ptype == 1) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 +util_non_family_hh_pt,Non-family household - Part-time worker interaction,(ptype == 2) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 +util_non_family_hh_univ,Non-family household - University student interaction,(ptype == 3) & non_family,coef_non_family_hh_category2,coef_non_family_hh_category2,0,,coef_non_family_hh_category2 +util_non_family_hh_non_working_adult,Non-family household - Non-working adult interaction,(ptype == 4) & non_family,0,,coef_non_family_hh_category1,, +util_non_family_hh_retired,Non-family household - Retired interaction,(ptype == 5) & non_family,0,,coef_non_family_hh_category1,, +util_non_family_hh_driving_age_student,Non-family household - Driving-age student interaction,(ptype == 6) & non_family,coef_non_family_hh_category2,,0,,coef_non_family_hh_category2 +util_non_family_hh_pre_driving_age_student,Non-family household - Pre-driving age child who is in school interaction,(ptype == 7) & non_family,coef_non_family_hh_category2,,0,, +util_num_under_16_not_at_school_ft,Number of children under 16 not at school - Full-time worker interaction,(ptype == 1) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_pt,Number of children under 16 not at school - Part-time worker interaction,(ptype == 2) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_univ,Number of children under 16 not at school - University student interaction,(ptype == 3) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_non_working_adult,Number of children under 16 not at school - Non-working adult interaction,(ptype == 4) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, +util_num_under_16_not_at_school_retired,Number of children under 16 not at school - Retired,(ptype == 5) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, +util_num_under_16_not_at_school_driving_age_student,Number of children under 16 not at school - Driving-age student interaction,(ptype == 6) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_pre_driving_age,Number of children under 16 not at school - Pre-driving age child who is in school interaction,(ptype == 7) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2, +util_nome_urban_ft,Home is in urban area - Full-time worker interaction,(ptype == 1) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school +util_nome_urban_pt,Home is in urban area - Part-time worker interaction,(ptype == 2) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school +util_nome_urban_univ,Home is in urban area - University student interaction,(ptype == 3) & home_is_urban,coef_home_urban_work1,coef_home_urban_work2,0,coef_home_urban_school2,coef_home_urban_work_and_school +util_nome_urban_non_working_adult,Home is in urban area - Non-working adult interaction,(ptype == 4) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, +util_nome_urban_retired,Home is in urban area - Retired interaction,(ptype == 5) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, +util_nome_urban_driving_age_student,Home is in urban area - Driving-age student interaction,(ptype == 6) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2,coef_home_urban_work_and_school +util_nome_urban_pre_driving_age_student,Home is in urban area - Pre-driving age child who is in school interaction,(ptype == 7) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2, +util_availability_ft,Unavailable: Full-time worker,ptype == 1,,,,coef_unavailable, +util_availability_pt,Unavailable: Part-time worker,ptype == 2,,,,coef_unavailable, +util_availability_non_working_adult,Unavailable: Non-working adult,ptype == 4,,,,coef_unavailable,coef_unavailable +util_availability_retired,Unavailable: Retired,ptype == 5,,,,coef_unavailable,coef_unavailable +util_availability_driving_age_child,Unavailable: Driving-age child,ptype == 6,coef_unavailable,coef_unavailable,,, +util_availability_pre_driving_age_student,Unavailable: Pre-driving age child who is in school,ptype == 7,,coef_unavailable,,,coef_unavailable +util_availability_pre_driving_age_not_in_school,Unavailable: Pre-driving age child who is not in school,ptype == 8,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable +util_availability_work_tours_no_usual_work_location,Unavailable: Work tours for those with no usual work location,~(workplace_zone_id > -1),coef_unavailable,coef_unavailable,,,coef_unavailable +util_availability_school_tours_no_usual_school_location,Unavailable: School tours for those with no usual school location,~(school_zone_id > -1),,,coef_unavailable,coef_unavailable,coef_unavailable diff --git a/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency.yaml b/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency.yaml new file mode 100755 index 0000000000..de8e115fd5 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency.yaml @@ -0,0 +1,10 @@ + +SPEC: mandatory_tour_frequency.csv +COEFFICIENTS: mandatory_tour_frequency_coeffs.csv + +annotate_persons: + SPEC: annotate_persons_mtf + DF: persons + TABLES: + - tours + diff --git a/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency_alternatives.csv new file mode 100755 index 0000000000..025decbb1c --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency_alternatives.csv @@ -0,0 +1,7 @@ +#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,work,school +work1,1,0 +work2,2,0 +school1,0,1 +school2,0,2 +work_and_school,1,1 diff --git a/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency_coeffs.csv b/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency_coeffs.csv new file mode 100755 index 0000000000..c0909e681f --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency_coeffs.csv @@ -0,0 +1,54 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_ft_worker_work2_asc,-3.3781,F +coef_pt_worker_work2_asc,-3.0476,F +coef_univ_work1_asc,-2.630262534,F +coef_univ_work2_asc,-4.5,F +coef_univ_school2_asc,-3.841285259,F +coef_univ_work_and_school_asc,-4.529863127,F +coef_driving_age_child_school2_asc,-3.136,F +coef_driving_age_child_work_and_school_asc,-4.4362,F +coef_pre_driving_age_child_school2_asc,-3.9703,F +coef_female_work1,0.1737,F +coef_female_work2,-0.2255,F +coef_female_school1,0.1592,F +coef_female_school2,0.114,F +coef_female_work_and_school,-0.3442,F +coef_female_univ_work1,0.1737,F +coef_under_35_work1,-0.4629,F +coef_under_35_work2,-0.1375,F +coef_under_35_school1,0.7218,F +coef_under_35_school2,1.275,F +coef_under_35_work_and_school,0.9761,F +coef_can_walk_to_work_work2,0.5268,F +coef_can_walk_to_work_school2,0.7114,F +coef_can_walk_to_work_and_school,0.1391,F +coef_round_trip_auto_time_to_work_work2,-0.0035,F +coef_round_trip_auto_time_to_work_school2,-0.0034,F +coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F +coef_student_employed,3.014,F +coef_non_student_goes_to_school,3.883,F +coef_no_cars_in_hh_work2,-1.306,F +coef_no_cars_in_hh_school2,-1.413,F +coef_no_cars_in_hh_work_and_school,-1.302,F +coef_few_cars_than_drivers_school2,-0.5759,F +coef_num_preschool_in_hh_work1,0.2191,F +coef_num_preschool_in_hh_work2,-0.1478,F +coef_num_preschool_in_hh_school1,-0.1335,F +coef_num_preschool_in_hh_school2,-0.5577,F +coef_num_preschool_in_hh_work_and_school,-0.1251,F +coef_num_non_workers_in_hh_school1,0.2574,F +coef_hh_income_gt_50k_work,-0.0528,F +coef_hh_income_gt_50k_school1,0.0347,F +coef_hh_income_gt_50k_worker_work_and_school,0.0347,F +coef_hh_income_gt_50k_student_work_and_school,-0.0528,F +coef_non_family_hh_category1,-0.25,F +coef_non_family_hh_category2,-0.1792,F +coef_num_under_16_not_at_school_work2,0.1804, +coef_num_under_16_not_at_school_school2,0.0866, +coef_num_under_16_not_at_school_work_and_school,-0.1955, +coef_home_urban_work1,-0.2831, +coef_home_urban_work2,0.2308, +coef_home_urban_school1,-0.1361, +coef_home_urban_school2,0.317, +coef_home_urban_work_and_school,-0.3509, diff --git a/activitysim/examples/prototype_semcog/configs/mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_semcog/configs/mandatory_tour_scheduling.yaml new file mode 100755 index 0000000000..ea9ca0a2db --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/mandatory_tour_scheduling.yaml @@ -0,0 +1,52 @@ + +SIMULATE_CHOOSER_COLUMNS: + - age + - female + - ptype + - is_university + - is_income_less25K + - is_income_25K_to_60K + - is_income_60K_to_120K + - is_income_greater120K + - is_pre_drive_child_in_HH + - is_non_worker_in_HH + - auto_ownership + - is_all_adults_full_time_workers + - distance_to_school + - roundtrip_auto_time_to_work + - roundtrip_auto_time_to_school + - free_parking_at_work + - workplace_zone_id + - school_zone_id + - home_zone_id + - TAZ + - transit_pass_ownership + - transit_pass_subsidy + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +TOUR_SPEC_SEGMENTS: + work: work + school: school + univ: univ + +ALTS_PREPROCESSOR: + work: + SPEC: mandatory_tour_scheduling_annotate_alts_preprocessor.csv + DF: alt_tdd + +SPEC_SEGMENTS: + work: + 'SPEC': tour_scheduling_work.csv + 'COEFFICIENTS': tour_scheduling_work_coeffs.csv + school: + 'SPEC': tour_scheduling_school.csv + 'COEFFICIENTS': tour_scheduling_school_coeffs.csv + univ: + 'SPEC': tour_scheduling_university.csv + 'COEFFICIENTS': tour_scheduling_university_coeffs.csv + +DESTINATION_FOR_TOUR_PURPOSE: + work: workplace_zone_id + school: school_zone_id + univ: school_zone_id diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv rename to activitysim/examples/prototype_semcog/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv index 68e51af194..6c2089653a 100755 --- a/activitysim/examples/example_semcog/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv +++ b/activitysim/examples/prototype_semcog/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv @@ -1,4 +1,4 @@ -Description,Target,Expression -departure_shift,departureLinearShift1,"np.minimum(9-df.start,48)*(df.start<=9) + np.minimum(df.start-9,21)*(df.start>9)" -arrival_shift,arrivalLinearShift1,"np.minimum(30-df.end,48)*(df.end<=30) + np.minimum(df.end-30,21)*(df.end>30)" -duration_shift,durationShift,"(np.minimum(21-df.duration,47)*(df.duration<=20)) + (np.minimum(df.duration-21,20)*(df.duration>21))" +Description,Target,Expression +departure_shift,departureLinearShift1,"np.minimum(9-df.start,48)*(df.start<=9) + np.minimum(df.start-9,21)*(df.start>9)" +arrival_shift,arrivalLinearShift1,"np.minimum(30-df.end,48)*(df.end<=30) + np.minimum(df.end-30,21)*(df.end>30)" +duration_shift,durationShift,"(np.minimum(21-df.duration,47)*(df.duration<=20)) + (np.minimum(df.duration-21,20)*(df.duration>21))" diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_semcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv index 68e51af194..6c2089653a 100755 --- a/activitysim/examples/example_semcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv +++ b/activitysim/examples/prototype_semcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv @@ -1,4 +1,4 @@ -Description,Target,Expression -departure_shift,departureLinearShift1,"np.minimum(9-df.start,48)*(df.start<=9) + np.minimum(df.start-9,21)*(df.start>9)" -arrival_shift,arrivalLinearShift1,"np.minimum(30-df.end,48)*(df.end<=30) + np.minimum(df.end-30,21)*(df.end>30)" -duration_shift,durationShift,"(np.minimum(21-df.duration,47)*(df.duration<=20)) + (np.minimum(df.duration-21,20)*(df.duration>21))" +Description,Target,Expression +departure_shift,departureLinearShift1,"np.minimum(9-df.start,48)*(df.start<=9) + np.minimum(df.start-9,21)*(df.start>9)" +arrival_shift,arrivalLinearShift1,"np.minimum(30-df.end,48)*(df.end<=30) + np.minimum(df.end-30,21)*(df.end>30)" +duration_shift,durationShift,"(np.minimum(21-df.duration,47)*(df.duration<=20)) + (np.minimum(df.duration-21,20)*(df.duration>21))" diff --git a/activitysim/examples/prototype_semcog/configs/network_los.yaml b/activitysim/examples/prototype_semcog/configs/network_los.yaml new file mode 100755 index 0000000000..43a28e5337 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/network_los.yaml @@ -0,0 +1,14 @@ +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: False +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +zone_system: 1 + +taz_skims: skims*.omx + +skim_time_periods: + time_window: 1440 + period_minutes: 30 + periods: [0, 6, 12, 24, 32, 48] + labels: ['EA', 'AM', 'MD', 'PM', 'EV'] diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination.csv new file mode 100755 index 0000000000..baf6f3b531 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination.csv @@ -0,0 +1,19 @@ +Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr +local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 +util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,coef_dist_eatout,coef_dist_othmaint,coef_dist_social,coef_dist_othdiscr +util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_escort,coef_dist_squared_shopping,coef_dist_squared_eatout,coef_dist_squared_othmaint,,coef_dist_squared_othdiscr +util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_escort,coef_dist_cubed_shopping,coef_dist_cubed_eatout,coef_dist_cubed_othmaint,,coef_dist_cubed_othdiscr +util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr +util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,coef_dist_med_inc_othmaint,0,coef_dist_med_inc_othdiscr +util_dist_high,@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,0,0,0,coef_dist_high_inc_othmaint,0,0 +util_dist_part_time,@(df['pemploy']==2) * _DIST,0,coef_dist_part_time_shopping,0,coef_dist_part_time_othmaint,0,0 +util_dist_full_time,@(df['pemploy']==1) * _DIST,0,0,0,coef_dist_full_time_othmaint,coef_dist_full_time_social,0 +util_dist_student,@(df['is_student']==True) * _DIST,0,0,0,coef_dist_student_othmaint,0,0 +util_dist_hh_child,@(df['hh_child']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,coef_dist_hh_child_social,coef_dist_hh_child_othdiscr +util_dist_child_0_5,@(df['age_0_to_5']==True) * _DIST,0,0,0,0,0,0 +util_dist_child_6_12,@(df['age_6_to_12']==True) * _DIST,0,0,0,0,0,0 +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 +Mode choice logsum,mode_choice_logsum,coef_mode_logsum_escort,coef_mode_logsum_shopping,coef_mode_logsum_eatout,coef_mode_logsum_othmaint,coef_mode_logsum_social,coef_mode_logsum_othdiscr +Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1 diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination.yaml new file mode 100755 index 0000000000..61ade06f15 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination.yaml @@ -0,0 +1,63 @@ +SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv +SPEC: non_mandatory_tour_destination.csv +COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv + +SAMPLE_SIZE: 30 + +SIZE_TERM_SELECTOR: non_mandatory + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: tour_type + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample + + +SEGMENTS: + - shopping + - othmaint + - othdiscr + - eatout + - social + - escort + +SIMULATE_CHOOSER_COLUMNS: + - tour_type + - TAZ + - person_id + - income_segment + - pemploy + - is_student + - age_0_to_5 + - age_6_to_12 + - hh_child + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: TAZ +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 14 +OUT_PERIOD: 14 + +SEGMENT_IDS: + work_low: 1 + work_med: 2 + work_high: 3 + work_veryhigh: 4 + +CONSTANTS: + WORK_LOW_SEGMENT_ID: 1 + WORK_MED_SEGMENT_ID: 2 + WORK_HIGH_SEGMENT_ID: 3 + WORK_VERYHIGH_SEGMENT_ID: 4 + + +preprocessor: + SPEC: non_mandatory_tour_destination_annotate_tours_preprocessor + DF: tours + TABLES: + - persons \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination_coeffs.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination_coeffs.csv new file mode 100755 index 0000000000..d7c0ae3b82 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination_coeffs.csv @@ -0,0 +1,44 @@ +coefficient_name,value,constrain +coef_mode_logsum_escort,0.43,F +coef_dist_escort,-0.024726043,F +coef_dist_squared_escort,-0.00174728,F +coef_dist_cubed_escort,3.68E-06,F +coef_dist_logged_escort,-1.236681595,F +coef_dist_hh_child_escort,-0.115868258,F +coef_mode_logsum_shopping,0.65,F +coef_dist_shopping,-0.098281692,F +coef_dist_squared_shopping,-0.020314759,F +coef_dist_cubed_shopping,0.000801126,F +coef_dist_logged_shopping,-0.792030818,F +coef_dist_part_time_shopping,0.027590804,F +coef_dist_joint_tour_shopping,0.035663397,F +coef_mode_logsum_eatout,0.56,F +coef_dist_eatout,-0.039022477,F +coef_dist_squared_eatout,-0.02117814,F +coef_dist_cubed_eatout,0.000793071,F +coef_dist_logged_eatout,-0.680658809,F +coef_dist_hh_child_eatout,-0.059764452,F +coef_mode_logsum_othmaint,0.38,F +coef_dist_othmaint,-0.058808778,F +coef_dist_squared_othmaint,-0.009297153,F +coef_dist_cubed_othmaint,0.000314133,F +coef_dist_logged_othmaint,-0.759800765,F +coef_dist_med_inc_othmaint,-0.007251455,F +coef_dist_high_inc_othmaint,-0.01144311,F +coef_dist_part_time_othmaint,0.020816995,F +coef_dist_full_time_othmaint,0.044631414,F +coef_dist_student_othmaint,-0.038852608,F +coef_mode_logsum_social,0.68,F +coef_dist_social,-0.070898603,F +coef_dist_logged_social,-0.67038649,F +coef_dist_full_time_social,-0.020050832,F +coef_dist_hh_child_social,-0.054753072,F +coef_dist_joint_tour_social,0.030177219,F +coef_mode_logsum_othdiscr,0.75,F +coef_dist_othdiscr,-0.03374735,F +coef_dist_squared_othdiscr,-0.012479607,F +coef_dist_cubed_othdiscr,0.000434109,F +coef_dist_logged_othdiscr,-0.680070996,F +coef_dist_med_inc_othdiscr,0.036605959,F +coef_dist_hh_child_othdiscr,-0.021556002,F +coef_dist_joint_tour_othdiscr,0.011538605,F diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination_sample.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination_sample.csv new file mode 100755 index 0000000000..1ab7b426d8 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_destination_sample.csv @@ -0,0 +1,17 @@ +Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr +local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 +util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,coef_dist_eatout,coef_dist_othmaint,coef_dist_social,coef_dist_othdiscr +util_dist_squared,"@(_DIST).clip(0,20)**2",coef_dist_squared_escort,coef_dist_squared_shopping,coef_dist_squared_eatout,coef_dist_squared_othmaint,,coef_dist_squared_othdiscr +util_dist_cubed,"@(_DIST).clip(0,20)**3",coef_dist_cubed_escort,coef_dist_cubed_shopping,coef_dist_cubed_eatout,coef_dist_cubed_othmaint,,coef_dist_cubed_othdiscr +util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr +util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,coef_dist_med_inc_othmaint,0,coef_dist_med_inc_othdiscr +util_dist_high,@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,0,0,0,coef_dist_high_inc_othmaint,0,0 +util_dist_part_time,@(df['pemploy']==2) * _DIST,0,coef_dist_part_time_shopping,0,coef_dist_part_time_othmaint,0,0 +util_dist_full_time,@(df['pemploy']==1) * _DIST,0,0,0,coef_dist_full_time_othmaint,coef_dist_full_time_social,0 +util_dist_student,@(df['is_student']==True) * _DIST,0,0,0,coef_dist_student_othmaint,0,0 +util_dist_hh_child,@(df['hh_child']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,coef_dist_hh_child_social,coef_dist_hh_child_othdiscr +util_dist_child_0_5,@(df['age_0_to_5']==True) * _DIST,0,0,0,0,0,0 +util_dist_child_6_12,@(df['age_6_to_12']==True) * _DIST,0,0,0,0,0,0 +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency.csv new file mode 100755 index 0000000000..76c60822e2 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency.csv @@ -0,0 +1,211 @@ +Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL +util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour +util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour +util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour +util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour +util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour +util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour +util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours +util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours +util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 +util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 +util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 +util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 +util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 +util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus +util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 +util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 +util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 +util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 +util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 +util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus +util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 +util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 +util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 +util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 +util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 +util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus +util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours +util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours +util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours +util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours +util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours +util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 +util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 +util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 +util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 +util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 +util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus +util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 +util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 +util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 +util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 +util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus +util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 +util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 +util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 +util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 +util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus +util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 +util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 +util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 +util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 +util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus +util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour +util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour +util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour +util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour +util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour +util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour +util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour +util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour +util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour +util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour +util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour +util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour +util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour +util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour +util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour +util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 +util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 +util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 +util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 +util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 +util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour +util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour +util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour +util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour +util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour +util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 +util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 +util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 +util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 +util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus +util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 +util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 +util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 +util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 +util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus +util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 +util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 +util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 +util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 +util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus +util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 +util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 +util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 +util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 +util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 +util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 +util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 +util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 +util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 +util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 +util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour +util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour +util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour +util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour +util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour +util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour +util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour +util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour +util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour +util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour +util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour +util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour +util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour +util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour +util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour +util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour +util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour +util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour +util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour +util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour +util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour +util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour +util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour +util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour +util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour +util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour +util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour +util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour +util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour +util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour +util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour +util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour +util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour +util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour +util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour +util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour +util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour +util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour +util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour +util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour +util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour +util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour +util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour +util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour +util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour +util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour +util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour +util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour +util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour +util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour +util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 +util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 +util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 +util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 +util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus +util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 +util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 +util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 +util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 +util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus +util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 +util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 +util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 +util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 +util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus +util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting +util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting +util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting +util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping +util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping +util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping +util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance +util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance +util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance +util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out +util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out +util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out +util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary +util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary +util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary +util_urban_and_tour_frequency_is_1,Urban Areatype & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 +util_urban_and_tour_frequency_is_2,Urban Areatype & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 +util_urban_and_tour_frequency_is_3,Urban Areatype & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 +util_urban_and_tour_frequency_is_4,Urban Areatype & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 +util_urban_and_tour_frequency_is_5_plus,Urban Areatype & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus +util_urban_and_escorting_tour,Urban Areatype & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour +util_urban_and_shopping_tour,Urban Areatype &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour +util_urban_and_maintenance_tour,Urban Areatype & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour +util_urban_and_eatingout_tour,Urban Areatype & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour +util_urban_and_discretionary_tour,Urban Areatype & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour +util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant +util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant +util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant +util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant +util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant +util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant +util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant +util_0_auto_household_and_escorting_tour,Dummy for 0-auto household & Escorting Tour,escort * no_cars,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency.yaml b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency.yaml new file mode 100755 index 0000000000..239b5a38a6 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency.yaml @@ -0,0 +1,42 @@ + +SEGMENT_COL: ptype +SPEC: non_mandatory_tour_frequency.csv + +SPEC_SEGMENTS: + - NAME: PTYPE_FULL + PTYPE: 1 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv + - NAME: PTYPE_PART + PTYPE: 2 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv + - NAME: PTYPE_UNIVERSITY + PTYPE: 3 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv + - NAME: PTYPE_NONWORK + PTYPE: 4 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv + - NAME: PTYPE_RETIRED + PTYPE: 5 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv + - NAME: PTYPE_DRIVING + PTYPE: 6 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv + - NAME: PTYPE_SCHOOL + PTYPE: 7 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv + - NAME: PTYPE_PRESCHOOL + PTYPE: 8 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv + +annotate_persons: + SPEC: annotate_persons_nmtf + DF: persons + TABLES: + - tours + +preprocessor: + SPEC: non_mandatory_tour_frequency_annotate_persons_preprocessor + DF: persons + TABLES: + - tours +# - accessibility diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_alternatives.csv new file mode 100755 index 0000000000..b9765aa75a --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_alternatives.csv @@ -0,0 +1,97 @@ +escort,shopping,othmaint,othdiscr,eatout,social +0,0,0,0,0,0 +0,0,0,1,0,0 +0,0,0,0,0,1 +0,0,0,1,0,1 +0,0,0,0,1,0 +0,0,0,1,1,0 +0,0,0,0,1,1 +0,0,0,1,1,1 +0,0,1,0,0,0 +0,0,1,1,0,0 +0,0,1,0,0,1 +0,0,1,1,0,1 +0,0,1,0,1,0 +0,0,1,1,1,0 +0,0,1,0,1,1 +0,0,1,1,1,1 +0,1,0,0,0,0 +0,1,0,1,0,0 +0,1,0,0,0,1 +0,1,0,1,0,1 +0,1,0,0,1,0 +0,1,0,1,1,0 +0,1,0,0,1,1 +0,1,0,1,1,1 +0,1,1,0,0,0 +0,1,1,1,0,0 +0,1,1,0,0,1 +0,1,1,1,0,1 +0,1,1,0,1,0 +0,1,1,1,1,0 +0,1,1,0,1,1 +0,1,1,1,1,1 +1,0,0,0,0,0 +1,0,0,1,0,0 +1,0,0,0,0,1 +1,0,0,1,0,1 +1,0,0,0,1,0 +1,0,0,1,1,0 +1,0,0,0,1,1 +1,0,0,1,1,1 +1,0,1,0,0,0 +1,0,1,1,0,0 +1,0,1,0,0,1 +1,0,1,1,0,1 +1,0,1,0,1,0 +1,0,1,1,1,0 +1,0,1,0,1,1 +1,0,1,1,1,1 +1,1,0,0,0,0 +1,1,0,1,0,0 +1,1,0,0,0,1 +1,1,0,1,0,1 +1,1,0,0,1,0 +1,1,0,1,1,0 +1,1,0,0,1,1 +1,1,0,1,1,1 +1,1,1,0,0,0 +1,1,1,1,0,0 +1,1,1,0,0,1 +1,1,1,1,0,1 +1,1,1,0,1,0 +1,1,1,1,1,0 +1,1,1,0,1,1 +1,1,1,1,1,1 +2,0,0,0,0,0 +2,0,0,1,0,0 +2,0,0,0,0,1 +2,0,0,1,0,1 +2,0,0,0,1,0 +2,0,0,1,1,0 +2,0,0,0,1,1 +2,0,0,1,1,1 +2,0,1,0,0,0 +2,0,1,1,0,0 +2,0,1,0,0,1 +2,0,1,1,0,1 +2,0,1,0,1,0 +2,0,1,1,1,0 +2,0,1,0,1,1 +2,0,1,1,1,1 +2,1,0,0,0,0 +2,1,0,1,0,0 +2,1,0,0,0,1 +2,1,0,1,0,1 +2,1,0,0,1,0 +2,1,0,1,1,0 +2,1,0,0,1,1 +2,1,0,1,1,1 +2,1,1,0,0,0 +2,1,1,1,0,0 +2,1,1,0,0,1 +2,1,1,1,0,1 +2,1,1,0,1,0 +2,1,1,1,1,0 +2,1,1,0,1,1 +2,1,1,1,1,1 diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv new file mode 100755 index 0000000000..fc6616aba2 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv @@ -0,0 +1,21 @@ +Description,Target,Expression +#,, +,max_window,person_max_window(persons)/2.25 +,log_max_window,np.log1p(max_window) +,medium_low_income,(persons.income_in_thousands > 20) & (persons.income_in_thousands <= 50) +,medium_high_income,(persons.income_in_thousands > 50) & (persons.income_in_thousands <= 100) +,high_income,(persons.income_in_thousands > 100) +,no_cars,(persons.auto_ownership == 0) +,car_sufficiency,persons.auto_ownership-persons.num_workers +#,, +# UEC file comments says these are joint tour counts per persons but code is for household counts,, +,_JOINT_TOURS,tours[tours.tour_category=='joint'] +,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), persons.household_id)" +,num_hh_joint_shop_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='shopping'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_eatout_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='eatout'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_maint_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='maint'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_social_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='social'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_othdiscr_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='othdiscr'].groupby('household_id').size(), persons.household_id)" +# non_mandatory tour frequency extension,, +,has_mandatory_tour,(persons.num_mand > 0) * 1 +,has_joint_tour,(persons.num_joint_tours > 0) * 1 diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv new file mode 100755 index 0000000000..d24ffa777e --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.1506,F +coef_total_number_of_tours_is_2,-11.1214,F +coef_total_number_of_tours_is_3,-13.175,F +coef_total_number_of_tours_is_4,-999,T +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.234,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.9231,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-6.5835,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.2162,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3587,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-4.2701,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.3298,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.3759,F +coef_logged_maximum_residual_window_tour_frequency_is_3,3.2808,F +coef_logged_maximum_residual_window_tour_frequency_is_4,3.2808,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,3.2808,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0.2443,F +coef_high_income_group_and_shopping_tour,0.2443,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0.3982,F +coef_high_income_group_and_maintenance_tour,0.3982,F +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0.4916,F +coef_high_income_group_and_eating_out_tour,0.4916,F +coef_mediumlow_income_group_and_discretionary_tour,0.9169,F +coef_mediumhigh_income_group_and_discretionary_tour,1.405,F +coef_high_income_group_and_discretionary_tour,2.327,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0.2858,F +coef_high_income_group_and_visiting_tour,0.2858,F +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.6369,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.2902,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.0352,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,-0.6571,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.4044,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.4044,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.4044,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.3219,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-1.0874,F +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,0,T +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,-0.6377,F +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,-1.5698,F +coef_presence_of_pre_school_kid_and_eating_out_tour,-0.2987,F +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,-1.2834,F +coef_presence_of_driving_school_kid_and_discretionary_tour,-0.9202,F +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_2,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_3,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_4,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0.1004,F +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,1.0394,F +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.4934,F +coef_2_plus_escort_tours_constant,1.4155,F +coef_1_plus_shopping_tours_constant,0.532,F +coef_1_plus_maintenance_tours_constant,-0.4344,F +coef_1_plus_eating_out_tours_constant,-0.0242,F +coef_1_plus_visting_tours_constant,0.2367,F +coef_1_plus_other_discretionary_tours_constant,-0.2602,F +coef_0_auto_household_and_escorting_tour,-2, \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv new file mode 100755 index 0000000000..1c1d5221bd --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.3572,F +coef_total_number_of_tours_is_2,-10.647,F +coef_total_number_of_tours_is_3,-13.5005,F +coef_total_number_of_tours_is_4,-16.3965,F +coef_total_number_of_tours_is_5,-19.6843,F +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8887,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.3343,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.3343,F +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.3343,F +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,0,T +coef_number_of_joint_tours_and_tour_frequency_is_3,0,T +coef_number_of_joint_tours_and_tour_frequency_is_4,0,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,-0.5866,F +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.2562,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.2868,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.3993,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.3993,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.3993,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.4981,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.8345,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.0213,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.0213,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.4981,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8345,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0213,F +coef_high_income_group_and_tour_frequency_is_1,0.5189,F +coef_high_income_group_and_tour_frequency_is_2,1.1336,F +coef_high_income_group_and_tour_frequency_is_3,1.3899,F +coef_high_income_group_and_tour_frequency_is_4,1.3899,F +coef_high_income_group_and_tour_frequency_is_5_plus,1.3899,F +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0,T +coef_high_income_group_and_shopping_tour,0,T +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0.5581,F +coef_high_income_group_and_eating_out_tour,0.5581,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0.2565,F +coef_high_income_group_and_discretionary_tour,0.2565,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.2423,F +coef_high_income_group_and_visiting_tour,-0.2423,F +coef_female_and_tour_frequency_is_1,-0.0766,F +coef_female_and_tour_frequency_is_2,-0.1062,F +coef_female_and_tour_frequency_is_3,-0.3274,F +coef_female_and_tour_frequency_is_4,-0.3274,F +coef_female_and_tour_frequency_is_5,-0.3274,F +coef_female_and_escorting_tour,0.1824,F +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.3486,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.1304,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,-0.4815,F +coef_presence_of_retiree_and_escorting_tour,-0.808,F +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0.3601,F +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3974,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.6842,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,-0.2746,F +coef_at_home_pre_school_kid_and_escorting_tour,-1.5675,F +coef_presence_of_full_time_worker_and_shopping_tour,-0.3059,F +coef_presence_of_part_time_worker_and_shopping_tour,-0.1541,F +coef_presence_of_non_worker_and_shopping_tour,-0.416,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,-0.208,F +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,-0.1685,F +coef_presence_of_part_time_worker_and_maintenance_tour,-0.1584,F +coef_presence_of_non_worker_and_maintenance_tour,-0.3237,F +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.3571,F +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.2014,F +coef_presence_of_retiree_and_eating_out_tour,-0.5708,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,-0.4225,F +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.667,F +coef_presence_of_part_time_worker_and_discretionary_tour,-0.2102,F +coef_presence_of_non_worker_and_discretionary_tour,-0.4281,F +coef_presence_of_retiree_and_discretionary_tour,-0.9104,F +coef_presence_of_university_student_and_discretionary_tour,-0.8551,F +coef_presence_of_driving_school_kid_and_discretionary_tour,-0.3963,F +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,-0.3959,F +coef_presence_of_pre_school_kid_and_discretionary_tour,-0.5081,F +coef_at_home_pre_driving_school_kid_and_discretionary_tour,-0.4703,F +coef_at_home_pre_school_kid_and_discretionary_tour,-0.4703,F +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_2,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_3,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_4,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0226,F +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0.0451,F +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.033,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0.1067,F +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0.0749,F +coef_walk_access_to_retail_and_eating_out,0.145,F +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0.0567,F +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0.0844,F +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,-0.4316,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.0298,F +coef_2_plus_escort_tours_constant,0.7402,F +coef_1_plus_shopping_tours_constant,0.4774,F +coef_1_plus_maintenance_tours_constant,0.1202,F +coef_1_plus_eating_out_tours_constant,0.0097,F +coef_1_plus_visting_tours_constant,0.0522,F +coef_1_plus_other_discretionary_tours_constant,0.7412,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv new file mode 100755 index 0000000000..3fe9f45ae5 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-8.9791,F +coef_total_number_of_tours_is_2,-12.0248,F +coef_total_number_of_tours_is_3,-14.8516,F +coef_total_number_of_tours_is_4,-17.7037,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.6766,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.0518,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.0518,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.1699,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.4285,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-0.6551,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-1.0411,F +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-1.0411,F +coef_number_of_joint_shopping_tours,-0.2391,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,-0.7727,F +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.7637,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.7928,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.5709,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_3,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_4,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0.8315,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.7426,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8546,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0792,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0792,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0792,F +coef_high_income_group_and_tour_frequency_is_1,1.0633,F +coef_high_income_group_and_tour_frequency_is_2,1.0633,F +coef_high_income_group_and_tour_frequency_is_3,1.7742,F +coef_high_income_group_and_tour_frequency_is_4,2.3941,F +coef_high_income_group_and_tour_frequency_is_5_plus,2.3941,F +coef_mediumlow_income_group_and_shopping_tour,0.7734,F +coef_mediumhigh_income_group_and_shopping_tour,0.8906,F +coef_high_income_group_and_shopping_tour,0.9776,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0.2766,F +coef_mediumhigh_income_group_and_eating_out_tour,0.4631,F +coef_high_income_group_and_eating_out_tour,0.7086,F +coef_mediumlow_income_group_and_discretionary_tour,0.1707,F +coef_mediumhigh_income_group_and_discretionary_tour,0.5009,F +coef_high_income_group_and_discretionary_tour,0.8846,F +coef_mediumlow_income_group_and_visiting_tour,-0.267,F +coef_mediumhigh_income_group_and_visiting_tour,-0.267,F +coef_high_income_group_and_visiting_tour,-0.9449,F +coef_female_and_tour_frequency_is_1,0.3902,F +coef_female_and_tour_frequency_is_2,0.5323,F +coef_female_and_tour_frequency_is_3,0.7452,F +coef_female_and_tour_frequency_is_4,1.1294,F +coef_female_and_tour_frequency_is_5,1.1294,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,-0.2464,F +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.3623,F +coef_zero_car_ownership_and_tour_frequency_is_2,-1.272,F +coef_zero_car_ownership_and_tour_frequency_is_3,-1.9307,F +coef_zero_car_ownership_and_tour_frequency_is_4,-1.9307,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.3623,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-1.272,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-1.9307,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.7738,F +coef_presence_of_non_worker_and_tour_frequency_is_1,-0.3763,F +coef_presence_of_non_worker_and_tour_frequency_is_2,-0.719,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.0229,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.0229,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.0229,F +coef_presence_of_retiree_and_tour_frequency_is_1,-0.464,F +coef_presence_of_retiree_and_tour_frequency_is_2,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_3,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_4,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_5,-0.4795,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.7161,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0.1486,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0.484,F +coef_presence_of_full_time_worker_and_escorting_tour,0.3947,F +coef_presence_of_part_time_worker_and_escorting_tour,-0.5861,F +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3773,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.7194,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,-1.148,F +coef_at_home_pre_school_kid_and_escorting_tour,-0.1373,F +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.4667,F +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.4976,F +coef_presence_of_retiree_and_eating_out_tour,-0.6911,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,-0.3926,F +coef_at_home_pre_school_kid_and_eating_out_tour,-0.3926,F +coef_presence_of_full_time_worker_and_discretionary_tour,-0.3545,F +coef_presence_of_part_time_worker_and_discretionary_tour,-0.3545,F +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0713,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.1256,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.1508,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.1508,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.1508,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.0598,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0.0956,F +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0.0772,F +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.0629,F +coef_2_plus_escort_tours_constant,0.9273,F +coef_1_plus_shopping_tours_constant,0.4683,F +coef_1_plus_maintenance_tours_constant,-0.0653,F +coef_1_plus_eating_out_tours_constant,-0.1429,F +coef_1_plus_visting_tours_constant,-0.1272,F +coef_1_plus_other_discretionary_tours_constant,0.3334,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv new file mode 100755 index 0000000000..18f2e3b888 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.6391,F +coef_total_number_of_tours_is_2,-10.4557,F +coef_total_number_of_tours_is_3,-14.0176,F +coef_total_number_of_tours_is_4,-16.9717,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.239,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.8208,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.5923,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.5923,F +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.5923,F +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.5748,F +coef_logged_maximum_residual_window_tour_frequency_is_2,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_3,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_4,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,2.0026,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.5981,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.9178,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.7539,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.7539,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.7539,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.8682,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5362,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.9331,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.9331,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.9331,F +coef_high_income_group_and_tour_frequency_is_1,0.8682,F +coef_high_income_group_and_tour_frequency_is_2,1.5362,F +coef_high_income_group_and_tour_frequency_is_3,1.9331,F +coef_high_income_group_and_tour_frequency_is_4,1.9331,F +coef_high_income_group_and_tour_frequency_is_5_plus,1.9331,F +coef_mediumlow_income_group_and_shopping_tour,0.4421,F +coef_mediumhigh_income_group_and_shopping_tour,0.4421,F +coef_high_income_group_and_shopping_tour,0.7066,F +coef_mediumlow_income_group_and_maintenance_tour,0.6763,F +coef_mediumhigh_income_group_and_maintenance_tour,0.6763,F +coef_high_income_group_and_maintenance_tour,0.6763,F +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0,T +coef_high_income_group_and_eating_out_tour,0,T +coef_mediumlow_income_group_and_discretionary_tour,0.296,F +coef_mediumhigh_income_group_and_discretionary_tour,0.296,F +coef_high_income_group_and_discretionary_tour,0.296,F +coef_mediumlow_income_group_and_visiting_tour,-0.6868,F +coef_mediumhigh_income_group_and_visiting_tour,-0.6868,F +coef_high_income_group_and_visiting_tour,-0.6868,F +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0.4524,F +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0.3072,F +coef_zero_car_ownership_and_tour_frequency_is_1,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.5498,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.1559,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.5681,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,-0.5263,F +coef_presence_of_retiree_and_escorting_tour,-0.7516,F +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0.4164,F +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.5795,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.5414,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,-0.3131,F +coef_presence_of_part_time_worker_and_maintenance_tour,-0.5621,F +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.6545,F +coef_presence_of_retiree_and_eating_out_tour,-1.389,F +coef_presence_of_university_student_and_eating_out_tour,-1.4318,F +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,-1.0371,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0899,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.1447,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.3479,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.3479,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.3479,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,-0.3929,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.5272,F +coef_2_plus_escort_tours_constant,1.5987,F +coef_1_plus_shopping_tours_constant,0.7569,F +coef_1_plus_maintenance_tours_constant,0.5533,F +coef_1_plus_eating_out_tours_constant,0.6914,F +coef_1_plus_visting_tours_constant,0.1405,F +coef_1_plus_other_discretionary_tours_constant,0.7989,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv new file mode 100755 index 0000000000..7514ed50a1 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,2.491,F +coef_discretionary_tour,0.903,F +coef_shopping_tour,0,T +coef_maintenance_tour,1.022,F +coef_visiting_or_social_tour,0.769,F +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-5.759,F +coef_total_number_of_tours_is_2,-11.517,F +coef_total_number_of_tours_is_3,-17.276,F +coef_total_number_of_tours_is_4,-23.035,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_3,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_4,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,0,T +coef_number_of_joint_tours_and_tour_frequency_is_3,0,T +coef_number_of_joint_tours_and_tour_frequency_is_4,0,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,0,T +coef_logged_maximum_residual_window_tour_frequency_is_2,0,T +coef_logged_maximum_residual_window_tour_frequency_is_3,0,T +coef_logged_maximum_residual_window_tour_frequency_is_4,0,T +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0,T +coef_high_income_group_and_shopping_tour,0,T +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0,T +coef_high_income_group_and_eating_out_tour,0,T +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0,T +coef_high_income_group_and_visiting_tour,0,T +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,-0.893,F +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0.89,F +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,1.155,F +coef_presence_of_non_worker_and_shopping_tour,0.808,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,1.037,F +coef_presence_of_non_worker_and_eating_out_tour,1.157,F +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0.791,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.3622,F +coef_2_plus_escort_tours_constant,2.2219,F +coef_1_plus_shopping_tours_constant,1.6919,F +coef_1_plus_maintenance_tours_constant,0.6788,F +coef_1_plus_eating_out_tours_constant,0.9612,F +coef_1_plus_visting_tours_constant,0.4424,F +coef_1_plus_other_discretionary_tours_constant,1.4935,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv new file mode 100755 index 0000000000..dc76652a0b --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-8.5684,F +coef_total_number_of_tours_is_2,-12.7416,F +coef_total_number_of_tours_is_3,-15.0978,F +coef_total_number_of_tours_is_4,-19.5439,F +coef_total_number_of_tours_is_5,-20.7897,F +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-5.0196,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-5.0196,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.95,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-7.143,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,-0.8072,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.8357,F +coef_logged_maximum_residual_window_tour_frequency_is_2,2.2707,F +coef_logged_maximum_residual_window_tour_frequency_is_3,4.4023,F +coef_logged_maximum_residual_window_tour_frequency_is_4,4.4023,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,4.4023,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,1.0949,F +coef_mediumhigh_income_group_and_shopping_tour,1.0949,F +coef_high_income_group_and_shopping_tour,1.0949,F +coef_mediumlow_income_group_and_maintenance_tour,0.7648,F +coef_mediumhigh_income_group_and_maintenance_tour,0.7648,F +coef_high_income_group_and_maintenance_tour,1.3795,F +coef_mediumlow_income_group_and_eating_out_tour,0.9769,F +coef_mediumhigh_income_group_and_eating_out_tour,1.181,F +coef_high_income_group_and_eating_out_tour,1.4842,F +coef_mediumlow_income_group_and_discretionary_tour,1.0095,F +coef_mediumhigh_income_group_and_discretionary_tour,1.0095,F +coef_high_income_group_and_discretionary_tour,1.0095,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.4368,F +coef_high_income_group_and_visiting_tour,-0.5137,F +coef_female_and_tour_frequency_is_1,-0.9348,F +coef_female_and_tour_frequency_is_2,-1.3028,F +coef_female_and_tour_frequency_is_3,-2.266,F +coef_female_and_tour_frequency_is_4,-2.266,F +coef_female_and_tour_frequency_is_5,-2.266,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0.9688,F +coef_female_and_maintenance_tour,0.7424,F +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0.4954,F +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7965,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.1302,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0.224,F +coef_presence_of_non_worker_and_tour_frequency_is_2,0.2436,F +coef_presence_of_non_worker_and_tour_frequency_is_3,0.62,F +coef_presence_of_non_worker_and_tour_frequency_is_4,3.3742,F +coef_presence_of_non_worker_and_tour_frequency_is_5,3.3742,F +coef_presence_of_retiree_and_tour_frequency_is_1,-0.4458,F +coef_presence_of_retiree_and_tour_frequency_is_2,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_3,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_4,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_5,-0.5315,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.4903,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.5027,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,-0.3609,F +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.788,F +coef_presence_of_part_time_worker_and_eating_out_tour,-0.788,F +coef_presence_of_non_worker_and_eating_out_tour,-0.788,F +coef_presence_of_retiree_and_eating_out_tour,-0.9282,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.4835,F +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,-0.5603,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.0616,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.3992,F +coef_2_plus_escort_tours_constant,0.5175,F +coef_1_plus_shopping_tours_constant,0.5947,F +coef_1_plus_maintenance_tours_constant,0.1046,F +coef_1_plus_eating_out_tours_constant,0.0245,F +coef_1_plus_visting_tours_constant,0.2789,F +coef_1_plus_other_discretionary_tours_constant,0.4282,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv new file mode 100755 index 0000000000..fae10e51ff --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.4863,F +coef_total_number_of_tours_is_2,-10.718,F +coef_total_number_of_tours_is_3,-13.7884,F +coef_total_number_of_tours_is_4,-999,T +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-1.0331,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-2.7445,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.7445,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.6149,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.6149,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,-1.3476,F +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.5603,F +coef_mediumlow_income_group_and_tour_frequency_is_1,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_2,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0873,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.5197,F +coef_high_income_group_and_tour_frequency_is_1,2.0175,F +coef_high_income_group_and_tour_frequency_is_2,2.0175,F +coef_high_income_group_and_tour_frequency_is_3,2.0175,F +coef_high_income_group_and_tour_frequency_is_4,2.0175,F +coef_high_income_group_and_tour_frequency_is_5_plus,2.0175,F +coef_mediumlow_income_group_and_shopping_tour,-0.6506,F +coef_mediumhigh_income_group_and_shopping_tour,-0.6506,F +coef_high_income_group_and_shopping_tour,-0.6506,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,-0.701,F +coef_mediumhigh_income_group_and_eating_out_tour,-0.701,F +coef_high_income_group_and_eating_out_tour,-0.701,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0,T +coef_high_income_group_and_visiting_tour,0,T +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_2,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_3,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_4,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_5,0.2177,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.4439,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-0.2264,F +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,-0.645,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0.9365,F +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-1.3074,F +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0.7526,F +coef_presence_of_part_time_worker_and_discretionary_tour,0.3721,F +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0.0629,F +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0.0738,F +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0.4352,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.7551,F +coef_2_plus_escort_tours_constant,-0.0086,F +coef_1_plus_shopping_tours_constant,0.4783,F +coef_1_plus_maintenance_tours_constant,-0.506,F +coef_1_plus_eating_out_tours_constant,1.1145,F +coef_1_plus_visting_tours_constant,-0.4006,F +coef_1_plus_other_discretionary_tours_constant,0.4634,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv new file mode 100755 index 0000000000..7799e3e5d2 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv @@ -0,0 +1,211 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-6.2138,F +coef_total_number_of_tours_is_2,-8.908,F +coef_total_number_of_tours_is_3,-12.3261,F +coef_total_number_of_tours_is_4,-15.8114,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.1852,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8753,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.6158,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3153,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-0.7351,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,-0.713,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0.6713,F +coef_logged_maximum_residual_window_tour_frequency_is_0,1.1858,F +coef_logged_maximum_residual_window_tour_frequency_is_1,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.4842,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.1109,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.3914,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,0.6137,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,0.6137,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0.6137,F +coef_high_income_group_and_tour_frequency_is_1,0.3986,F +coef_high_income_group_and_tour_frequency_is_2,0.8009,F +coef_high_income_group_and_tour_frequency_is_3,0.8254,F +coef_high_income_group_and_tour_frequency_is_4,0.8254,F +coef_high_income_group_and_tour_frequency_is_5_plus,0.8254,F +coef_mediumlow_income_group_and_shopping_tour,0.5693,F +coef_mediumhigh_income_group_and_shopping_tour,0.5693,F +coef_high_income_group_and_shopping_tour,0.5693,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,-0.7207,F +coef_high_income_group_and_eating_out_tour,-0.7207,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.3694,F +coef_high_income_group_and_visiting_tour,-0.3694,F +coef_female_and_tour_frequency_is_1,0.0973,F +coef_female_and_tour_frequency_is_2,0.2361,F +coef_female_and_tour_frequency_is_3,1.9002,F +coef_female_and_tour_frequency_is_4,1.9002,F +coef_female_and_tour_frequency_is_5,1.9002,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,-0.6568,F +coef_female_and_discretionary_tour,-0.3266,F +coef_zero_car_ownership_and_tour_frequency_is_1,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.581,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,-0.8506,F +coef_presence_of_non_worker_and_tour_frequency_is_2,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.1804,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.9961,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-1.9096,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-2.8469,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-2.8469,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-2.8469,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,-1.8213,F +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0.9489,F +coef_presence_of_pre_school_kid_and_escorting_tour,2.1465,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,-0.7728,F +coef_presence_of_part_time_worker_and_shopping_tour,-0.5199,F +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,1.3135,F +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0.3863,F +coef_presence_of_pre_school_kid_and_maintenance_tour,0.9694,F +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.5251,F +coef_presence_of_part_time_worker_and_eating_out_tour,-1.9795,F +coef_presence_of_non_worker_and_eating_out_tour,0,T +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,-0.6529,F +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.4833,F +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0.9781,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,-0.6542,F +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_2,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_3,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_4,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0664,F +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.0972,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0.0314,F +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0.1018,F +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0.094,F +coef_urban_and_tour_frequency_is_1,-1.1648,F +coef_urban_and_tour_frequency_is_2,-2.3177,F +coef_urban_and_tour_frequency_is_3,-2.5027,F +coef_urban_and_tour_frequency_is_4,-2.5027,F +coef_urban_and_tour_frequency_is_5_plus,-2.5027,F +coef_urban_and_escorting_tour,0.8516,F +coef_urban_and_shopping_tour,0.533,F +coef_urban_and_maintenance_tour,1.0316,F +coef_urban_and_eatingout_tour,0.68,F +coef_urban_and_discretionary_tour,0.9563,F +coef_1_escort_tour_constant,1.7028,F +coef_2_plus_escort_tours_constant,2.8379,F +coef_1_plus_shopping_tours_constant,1.8403,F +coef_1_plus_maintenance_tours_constant,0.3348,F +coef_1_plus_eating_out_tours_constant,2.0723,F +coef_1_plus_visting_tours_constant,1.2172,F +coef_1_plus_other_discretionary_tours_constant,1.3389,F +coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_extension_probs.csv new file mode 100755 index 0000000000..ec78c4c8e7 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_extension_probs.csv @@ -0,0 +1,193 @@ +ptype,has_mandatory_tour,has_joint_tour,nonmandatory_tour_type,0_tours,1_tours,2_tours +1,0,0,1,0.829545455,1,1 +2,0,0,1,0.769230769,1,1 +3,0,0,1,0.893939394,1,1 +4,0,0,1,0.75,1,1 +5,0,0,1,0.842105263,1,1 +6,0,0,1,0.714285714,1,1 +7,0,0,1,0.814814815,1,1 +8,0,0,1,0.75,1,1 +1,1,0,1,0.789473684,1,1 +2,1,0,1,0.6,1,1 +3,1,0,1,1,1,1 +4,1,0,1,1,1,1 +5,1,0,1,0.825910931,1,1 +6,1,0,1,0.837209302,1,1 +7,1,0,1,0.6,1,1 +8,1,0,1,1,1,1 +1,0,1,1,0.842105263,1,1 +2,0,1,1,1,1,1 +3,0,1,1,1,1,1 +4,0,1,1,1,1,1 +5,0,1,1,1,1,1 +6,0,1,1,1,1,1 +7,0,1,1,1,1,1 +8,0,1,1,1,1,1 +1,1,1,1,1,1,1 +2,1,1,1,1,1,1 +3,1,1,1,1,1,1 +4,1,1,1,1,1,1 +5,1,1,1,0.777777778,1,1 +6,1,1,1,1,1,1 +7,1,1,1,1,1,1 +8,1,1,1,1,1,1 +1,0,0,2,0.892694064,0.99086758,1 +2,0,0,2,0.84057971,0.992753623,1 +3,0,0,2,0.971014493,1,1 +4,0,0,2,0.96969697,1,1 +5,0,0,2,0.870056497,0.994350282,1 +6,0,0,2,0.866666667,1,1 +7,0,0,2,0.971014493,1,1 +8,0,0,2,0.931034483,1,1 +1,1,0,2,0.885057471,1,1 +2,1,0,2,0.727272727,1,1 +3,1,0,2,0.971428571,1,1 +4,1,0,2,1,1,1 +5,1,0,2,0.895977809,0.993065187,1 +6,1,0,2,0.885185185,1,1 +7,1,0,2,1,1,1 +8,1,0,2,1,1,1 +1,0,1,2,0.910087719,0.993421053,1 +2,0,1,2,0.88,1,1 +3,0,1,2,0.8,1,1 +4,0,1,2,1,1,1 +5,0,1,2,1,1,1 +6,0,1,2,1,1,1 +7,0,1,2,1,1,1 +8,0,1,2,1,1,1 +1,1,1,2,1,1,1 +2,1,1,2,1,1,1 +3,1,1,2,1,1,1 +4,1,1,2,1,1,1 +5,1,1,2,1,1,1 +6,1,1,2,0.964912281,1,1 +7,1,1,2,1,1,1 +8,1,1,2,0.888888889,1,1 +1,0,0,3,0.935643564,0.997524752,1 +2,0,0,3,0.905660377,1,1 +3,0,0,3,0.978813559,1,1 +4,0,0,3,0.928571429,1,1 +5,0,0,3,0.901515152,0.992424242,1 +6,0,0,3,0.863636364,1,1 +7,0,0,3,0.947368421,1,1 +8,0,0,3,0.913043478,1,1 +1,1,0,3,0.893333333,0.986666667,1 +2,1,0,3,1,1,1 +3,1,0,3,1,1,1 +4,1,0,3,0.857142857,1,1 +5,1,0,3,0.916071429,0.996428571,1 +6,1,0,3,0.856382979,0.984042553,1 +7,1,0,3,1,1,1 +8,1,0,3,1,1,1 +1,0,1,3,0.916201117,0.991620112,1 +2,0,1,3,0.912280702,0.98245614,1 +3,0,1,3,1,1,1 +4,0,1,3,1,1,1 +5,0,1,3,1,1,1 +6,0,1,3,0.833333333,1,1 +7,0,1,3,0.961538462,1,1 +8,0,1,3,1,1,1 +1,1,1,3,0.97826087,0.989130435,1 +2,1,1,3,0.97260274,1,1 +3,1,1,3,1,1,1 +4,1,1,3,1,1,1 +5,1,1,3,0.995762712,1,1 +6,1,1,3,0.921568627,0.980392157,1 +7,1,1,3,1,1,1 +8,1,1,3,1,1,1 +1,0,0,4,0.9218107,0.995884774,1 +2,0,0,4,0.900900901,1,1 +3,0,0,4,0.997354497,1,1 +4,0,0,4,0.991176471,1,1 +5,0,0,4,0.921568627,0.980392157,1 +6,0,0,4,0.954545455,1,1 +7,0,0,4,1,1,1 +8,0,0,4,0.954545455,1,1 +1,1,0,4,0.941176471,0.970588235,1 +2,1,0,4,0.925925926,1,1 +3,1,0,4,1,1,1 +4,1,0,4,0.875,1,1 +5,1,0,4,0.915322581,1,1 +6,1,0,4,0.947674419,0.994186047,1 +7,1,0,4,0.666666667,1,1 +8,1,0,4,1,1,1 +1,0,1,4,0.925925926,0.987654321,1 +2,0,1,4,0.903703704,1,1 +3,0,1,4,1,1,1 +4,0,1,4,1,1,1 +5,0,1,4,1,1,1 +6,0,1,4,1,1,1 +7,0,1,4,1,1,1 +8,0,1,4,1,1,1 +1,1,1,4,1,1,1 +2,1,1,4,0.911111111,1,1 +3,1,1,4,1,1,1 +4,1,1,4,1,1,1 +5,1,1,4,1,1,1 +6,1,1,4,0.962962963,1,1 +7,1,1,4,1,1,1 +8,1,1,4,1,1,1 +1,0,0,5,0.976744186,1,1 +2,0,0,5,0.981818182,1,1 +3,0,0,5,0.985915493,1,1 +4,0,0,5,1,1,1 +5,0,0,5,1,1,1 +6,0,0,5,1,1,1 +7,0,0,5,1,1,1 +8,0,0,5,0.875,1,1 +1,1,0,5,1,1,1 +2,1,0,5,1,1,1 +3,1,0,5,0.964285714,1,1 +4,1,0,5,1,1,1 +5,1,0,5,0.985714286,1,1 +6,1,0,5,0.951807229,1,1 +7,1,0,5,1,1,1 +8,1,0,5,1,1,1 +1,0,1,5,0.926605505,1,1 +2,0,1,5,0.941176471,1,1 +3,0,1,5,1,1,1 +4,0,1,5,1,1,1 +5,0,1,5,1,1,1 +6,0,1,5,1,1,1 +7,0,1,5,1,1,1 +8,0,1,5,1,1,1 +1,1,1,5,1,1,1 +2,1,1,5,1,1,1 +3,1,1,5,0.972972973,1,1 +4,1,1,5,1,1,1 +5,1,1,5,1,1,1 +6,1,1,5,0.933333333,1,1 +7,1,1,5,1,1,1 +8,1,1,5,1,1,1 +1,0,0,6,0.93837535,0.988795518,1 +2,0,0,6,0.888888889,1,1 +3,0,0,6,0.966832504,0.998341625,1 +4,0,0,6,0.942028986,1,1 +5,0,0,6,0.88034188,1,1 +6,0,0,6,0.925925926,1,1 +7,0,0,6,0.967741935,1,1 +8,0,0,6,0.90625,1,1 +1,1,0,6,0.85915493,1,1 +2,1,0,6,0.818181818,0.96969697,1 +3,1,0,6,1,1,1 +4,1,0,6,0.952380952,1,1 +5,1,0,6,0.879237288,0.997881356,1 +6,1,0,6,0.862944162,0.984771574,1 +7,1,0,6,0.9,1,1 +8,1,0,6,1,1,1 +1,0,1,6,0.927835052,0.996563574,1 +2,0,1,6,0.859375,0.9921875,1 +3,0,1,6,1,1,1 +4,0,1,6,1,1,1 +5,0,1,6,0.92,1,1 +6,0,1,6,1,1,1 +7,0,1,6,0.904761905,1,1 +8,0,1,6,1,1,1 +1,1,1,6,0.982758621,1,1 +2,1,1,6,0.927710843,0.987951807,1 +3,1,1,6,0.982954545,1,1 +4,1,1,6,0.938679245,1,1 +5,1,1,6,1,1,1 +6,1,1,6,0.9375,1,1 +7,1,1,6,1,1,1 +8,1,1,6,1,1,1 diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling.yaml rename to activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling.yaml diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_alts_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_annotate_alts_preprocessor.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_alts_preprocessor.csv rename to activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_annotate_alts_preprocessor.csv diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_shifts_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_annotate_shifts_preprocessor.csv similarity index 98% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_shifts_preprocessor.csv rename to activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_annotate_shifts_preprocessor.csv index c0b407c9d5..26f1403782 100755 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_shifts_preprocessor.csv +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_annotate_shifts_preprocessor.csv @@ -1,15 +1,15 @@ -Description,Target,Expression -#,, -departure_shift_escort,departureLinearShift1_escort,"(alt_tdd.start<=10) * np.minimum(10-alt_tdd.start,7) + (alt_tdd.start>10) * np.minimum(alt_tdd.start-10,35)" -arrival_shift_escort,arrivalLinearShift1_escort,"(alt_tdd.end<=11) * np.minimum(11-alt_tdd.end,7) + (alt_tdd.end>11) * np.minimum(alt_tdd.end-11,35)" -departure_shift2_escort,departureLinearShift2_escort,"(alt_tdd.start<=24) * np.minimum(24-alt_tdd.start,3) + (alt_tdd.start>24) * np.minimum(alt_tdd.start-24,9)" -arrival_shift2_escort,arrivalLinearShift2_escort,"(alt_tdd.end<=25) * np.minimum(25-alt_tdd.end,3) + (alt_tdd.end>25) * np.minimum(alt_tdd.end-25,9)" -duration_shift_escort,durationShift_escort,"(alt_tdd.duration<=1) * np.minimum(1-alt_tdd.duration, 0) + (alt_tdd.duration>1) * np.minimum(alt_tdd.duration-1,47)" -#,, -depConstShift1_escort,depConstShift1_escort,"(alt_tdd.start<8) * np.minimum(8-alt_tdd.start,4) + (alt_tdd.start>13) * np.minimum(alt_tdd.start-13,28)" -depConstShift2_escort,depConstShift2_escort,"(alt_tdd.start<0) * np.minimum(0-alt_tdd.start,48) + (alt_tdd.start>26) * np.minimum(alt_tdd.start-26,15)" -arrConstShift1_escort,arrConstShift1_escort,"(alt_tdd.end<8) * np.minimum(8-alt_tdd.end,2) + (alt_tdd.end>13) * np.minimum(alt_tdd.end-13,30)" -arrConstShift2_escort,arrConstShift2_escort,"(alt_tdd.end<0) * np.minimum(0-alt_tdd.end,48) + (alt_tdd.start>28) * np.minimum(alt_tdd.end-28,15)" -,, -,origin_to_destination_distance,1 -,num_person_joint_tours,1 +Description,Target,Expression +#,, +departure_shift_escort,departureLinearShift1_escort,"(alt_tdd.start<=10) * np.minimum(10-alt_tdd.start,7) + (alt_tdd.start>10) * np.minimum(alt_tdd.start-10,35)" +arrival_shift_escort,arrivalLinearShift1_escort,"(alt_tdd.end<=11) * np.minimum(11-alt_tdd.end,7) + (alt_tdd.end>11) * np.minimum(alt_tdd.end-11,35)" +departure_shift2_escort,departureLinearShift2_escort,"(alt_tdd.start<=24) * np.minimum(24-alt_tdd.start,3) + (alt_tdd.start>24) * np.minimum(alt_tdd.start-24,9)" +arrival_shift2_escort,arrivalLinearShift2_escort,"(alt_tdd.end<=25) * np.minimum(25-alt_tdd.end,3) + (alt_tdd.end>25) * np.minimum(alt_tdd.end-25,9)" +duration_shift_escort,durationShift_escort,"(alt_tdd.duration<=1) * np.minimum(1-alt_tdd.duration, 0) + (alt_tdd.duration>1) * np.minimum(alt_tdd.duration-1,47)" +#,, +depConstShift1_escort,depConstShift1_escort,"(alt_tdd.start<8) * np.minimum(8-alt_tdd.start,4) + (alt_tdd.start>13) * np.minimum(alt_tdd.start-13,28)" +depConstShift2_escort,depConstShift2_escort,"(alt_tdd.start<0) * np.minimum(0-alt_tdd.start,48) + (alt_tdd.start>26) * np.minimum(alt_tdd.start-26,15)" +arrConstShift1_escort,arrConstShift1_escort,"(alt_tdd.end<8) * np.minimum(8-alt_tdd.end,2) + (alt_tdd.end>13) * np.minimum(alt_tdd.end-13,30)" +arrConstShift2_escort,arrConstShift2_escort,"(alt_tdd.end<0) * np.minimum(0-alt_tdd.end,48) + (alt_tdd.start>28) * np.minimum(alt_tdd.end-28,15)" +,, +,origin_to_destination_distance,1 +,num_person_joint_tours,1 diff --git a/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv new file mode 100755 index 0000000000..616a627d22 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv @@ -0,0 +1,5 @@ +Description,Target,Expression +#,, +number of person joint tours,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), non_mandatory_tours.person_id)" +#,, +,origin_to_destination_distance,"skim_dict.lookup(non_mandatory_tours.origin, non_mandatory_tours.destination, ('SOV_DIST', 'MD'))" diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_escort_annotate_alts_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_escort_annotate_alts_preprocessor.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_escort_annotate_alts_preprocessor.csv rename to activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_escort_annotate_alts_preprocessor.csv diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_shopping_annotate_alts_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_shopping_annotate_alts_preprocessor.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_shopping_annotate_alts_preprocessor.csv rename to activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_shopping_annotate_alts_preprocessor.csv diff --git a/activitysim/examples/prototype_semcog/configs/school_location.csv b/activitysim/examples/prototype_semcog/configs/school_location.csv new file mode 100755 index 0000000000..808e1eb216 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/school_location.csv @@ -0,0 +1,19 @@ +Label,Description,Expression,university,highschool,gradeschool +local_dist,,_DIST@skims['DIST'],1,1,1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,0,0 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,0,0 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,0,0 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,0,0 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,0,0 +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 +util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 +util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum_uni,coef_mode_logsum,coef_mode_logsum +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 +util_dist,Distance,@_DIST,0,coef_dist,coef_dist +util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",0,coef_dist_squared,coef_dist_squared +util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",0,coef_dist_cubed,coef_dist_cubed +util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),0,coef_dist_logged,coef_dist_logged +util_dist_part_time,"Distance,part time",@(df['pemploy']==2) * _DIST,0,coef_dist_part_time,coef_dist_part_time +util_dist_child_0_5,"Distance,child 0 to 5",@(df['age_0_to_5']==True) * _DIST,0,coef_dist_child_0_5,coef_dist_child_0_5 +util_dist_child_6_12,"Distance,child 6 to 12",@(df['age_6_to_12']==True) * _DIST,0,coef_dist_child_6_12,coef_dist_child_6_12 diff --git a/activitysim/examples/prototype_semcog/configs/school_location.yaml b/activitysim/examples/prototype_semcog/configs/school_location.yaml new file mode 100755 index 0000000000..e16a80dde0 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/school_location.yaml @@ -0,0 +1,62 @@ +SAMPLE_SIZE: 30 + +SIMULATE_CHOOSER_COLUMNS: + - home_zone_id + - school_segment + - household_id + - is_student + - age_0_to_5 + - age_6_to_12 + - pemploy + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 14 +OUT_PERIOD: 8 + +DEST_CHOICE_COLUMN_NAME: school_zone_id + +SAMPLE_SPEC: school_location_sample.csv +SPEC: school_location.csv +COEFFICIENTS: school_location_coeffs.csv + +LOGSUM_SETTINGS: tour_mode_choice.yaml +LOGSUM_PREPROCESSOR: nontour_preprocessor + +LOGSUM_TOUR_PURPOSE: + university: univ + highschool: school + gradeschool: school + +annotate_persons: + SPEC: annotate_persons_school + DF: persons + +# - shadow pricing + +# required by initialize_households when creating school_destination_size table +CHOOSER_TABLE_NAME: persons + +# size_terms model_selector +MODEL_SELECTOR: school + +# chooser column with segment_id for this segment type +CHOOSER_SEGMENT_COLUMN_NAME: school_segment + +# boolean column to filter choosers (True means keep) +CHOOSER_FILTER_COLUMN_NAME: is_student + + +# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this +SEGMENT_IDS: + university: 3 + highschool: 2 + gradeschool: 1 + +# model adds these tables (informational - not added if commented out) +SHADOW_PRICE_TABLE: school_shadow_prices +MODELED_SIZE_TABLE: school_modeled_size + +# not loaded if commented out +SAVED_SHADOW_PRICE_TABLE_NAME: final_school_shadow_prices.csv diff --git a/activitysim/examples/prototype_semcog/configs/school_location_coeffs.csv b/activitysim/examples/prototype_semcog/configs/school_location_coeffs.csv new file mode 100755 index 0000000000..ce7f4a60e5 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/school_location_coeffs.csv @@ -0,0 +1,15 @@ +coefficient_name,value,constrain +coef_univ_dist_0_1,-3.2451,F +coef_univ_dist_1_2,-2.7011,F +coef_univ_dist_2_5,-0.5707,F +coef_univ_dist_5_15,-0.5002,F +coef_univ_dist_15_up,-0.073,F +coef_mode_logsum_uni,0.5358,F +coef_dist,-0.1560,F +coef_dist_squared,-0.0116,F +coef_dist_cubed,0.0005,F +coef_dist_logged,-0.9316,F +coef_dist_part_time,-0.0985,F +coef_dist_child_0_5,0.0236,F +coef_dist_child_6_12,-0.0657,F +coef_mode_logsum,0.4,F diff --git a/activitysim/examples/prototype_semcog/configs/school_location_sample.csv b/activitysim/examples/prototype_semcog/configs/school_location_sample.csv new file mode 100755 index 0000000000..a7d0120ab8 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/school_location_sample.csv @@ -0,0 +1,17 @@ +Label,Description,Expression,university,highschool,gradeschool +local_dist,,_DIST@skims['DIST'],1,1,1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,0,0 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,0,0 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,0,0 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,0,0 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,0,0 +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 +util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 +util_dist,Distance,@_DIST,0,coef_dist,coef_dist +util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",0,coef_dist_squared,coef_dist_squared +util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",0,coef_dist_cubed,coef_dist_cubed +util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),0,coef_dist_logged,coef_dist_logged +util_dist_part_time,"Distance,part time",@(df['pemploy']==2) * _DIST,0,coef_dist_part_time,coef_dist_part_time +util_dist_child_0_5,"Distance,child 0 to 5",@(df['age_0_to_5']==True) * _DIST,0,coef_dist_child_0_5,coef_dist_child_0_5 +util_dist_child_6_12,"Distance,child 6 to 12",@(df['age_6_to_12']==True) * _DIST,0,coef_dist_child_6_12,coef_dist_child_6_12 diff --git a/activitysim/examples/prototype_semcog/configs/settings.yaml b/activitysim/examples/prototype_semcog/configs/settings.yaml new file mode 100755 index 0000000000..3d1bb870fc --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/settings.yaml @@ -0,0 +1,156 @@ +# input tables +# +# activitysim uses "well-known" index and foreign key names for imported tables (e.g. households, persons, land_use) +# as well as for created tables (tours, joint_tour_participants, trips) +# e.g. the households table must have an index column 'household_id' and the foreign key to households in the +# persons table is also household_id. This naming convention allows activitysim to intuit the relationship +# between tables - for instance, to ensure that multiprocess slicing includes all the persons, tours, and trips +# in the same subprocess pipeline. The same strategy is also when chunking choosers, and to support tracing by +# household_id. +# +# the input_table_list index_col directive instructs activitysim to set the imported table index to zone_id +# you cannot change the well-known name of the index by modifying this directive. However, if your input file +# has a different id column name, you can rename it to the required index name with the rename_columns directive. +# In the settings below, the 'TAZ' column in the imported table is renamed 'zone_id' in the rename_columns settings. +# +# input tables +input_table_list: + # + # households (table index 'household_id') + # + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + persons: hhsize + cars: auto_ownership + zone_id: home_zone_id + # + # persons (table index 'person_id') + # + - tablename: persons + filename: persons.csv + index_col: person_id + # + # land_use (table index 'zone_id') + # + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + ZONE: zone_id + +# convert input CSVs to HDF5 format and save to outputs directory +# create_input_store: True + +# number of households to simulate +households_sample_size: 100 +# simulate all households +#households_sample_size: 0 + +#hh_ids: override_hh_ids.csv + +chunk_size: 0 + +# assume enough RAM to not chunk +chunk_training_mode: disabled + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + + +# - tracing + +# trace household id; comment out or leave empty for no trace +# households with all tour types +# [ 728370 1234067 1402924 1594625 1595333 1747572 1896849 1931818 2222690 2344951 2677154] +trace_hh_id: 1311364 + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +# trace_od: [5, 11] +trace_od: + + +models: + - initialize_landuse + - initialize_households + - compute_accessibility + - work_from_home + - add_size_tables + - school_location + - workplace_location + - transit_pass_subsidy + - transit_pass_ownership + - auto_ownership_simulate + - free_parking + - telecommute_frequency + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + - write_data_dictionary + - track_skim_usage + - write_tables + - write_trip_matrices + +# to resume after last successful checkpoint, specify resume_after: _ +resume_after: + +output_tables: + h5_store: False + action: include + prefix: final_ + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - joint_tour_participants + +# area_types less than this are considered urban +urban_threshold: 4 +cbd_threshold: 2 +rural_threshold: 6 + +# - value of time + +# value_of_time = lognormal(np.log(median_value_of_time * mu), sigma).clip(min_vot, max_vot) + +min_value_of_time: 1 +max_value_of_time: 50 +distributed_vot_mu: 0.684 +distributed_vot_sigma: 0.85 + +household_median_value_of_time: + 1: 6.01 + 2: 8.81 + 3: 10.44 + 4: 12.86 diff --git a/activitysim/examples/prototype_semcog/configs/shadow_pricing.yaml b/activitysim/examples/prototype_semcog/configs/shadow_pricing.yaml new file mode 100755 index 0000000000..b61ec41928 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/shadow_pricing.yaml @@ -0,0 +1,34 @@ +shadow_pricing_models: + school: school_location + workplace: workplace_location + +# global switch to enable/disable loading of saved shadow prices +# (ignored if global use_shadow_pricing switch is False) +LOAD_SAVED_SHADOW_PRICES: True + +# number of shadow price iterations for cold start +MAX_ITERATIONS: 10 + +# number of shadow price iterations for warm start (after loading saved shadow_prices) +MAX_ITERATIONS_SAVED: 1 + +# ignore criteria for zones smaller than size_threshold +SIZE_THRESHOLD: 10 + +# zone passes if modeled is within percent_tolerance of predicted_size +PERCENT_TOLERANCE: 5 + +# max percentage of zones allowed to fail +FAIL_THRESHOLD: 10 + +# CTRAMP or daysim +SHADOW_PRICE_METHOD: ctramp +#SHADOW_PRICE_METHOD: daysim + +# ctramp-style shadow_pricing_method parameters +DAMPING_FACTOR: 1 + +# daysim-style shadow_pricing_method parameters +# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? +DAYSIM_ABSOLUTE_TOLERANCE: 50 +DAYSIM_PERCENT_TOLERANCE: 10 diff --git a/activitysim/examples/prototype_semcog/configs/stop_frequency.yaml b/activitysim/examples/prototype_semcog/configs/stop_frequency.yaml new file mode 100755 index 0000000000..5831f72e72 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency.yaml @@ -0,0 +1,78 @@ +LOGIT_TYPE: MNL + +preprocessor: + SPEC: stop_frequency_annotate_tours_preprocessor + DF: tours_merged + TABLES: + - persons + - land_use + - accessibility + +SEGMENT_COL: primary_purpose + +SPEC_SEGMENTS: + - primary_purpose: work + SPEC: stop_frequency_work.csv + COEFFICIENTS: _dummy_coefficients.csv + - primary_purpose: school + SPEC: stop_frequency_school.csv + COEFFICIENTS: _dummy_coefficients.csv + - primary_purpose: univ + SPEC: stop_frequency_univ.csv + COEFFICIENTS: _dummy_coefficients.csv + - primary_purpose: social + SPEC: stop_frequency_social.csv + COEFFICIENTS: _dummy_coefficients.csv + - primary_purpose: shopping + SPEC: stop_frequency_shopping.csv + COEFFICIENTS: _dummy_coefficients.csv + - primary_purpose: eatout + SPEC: stop_frequency_eatout.csv + COEFFICIENTS: _dummy_coefficients.csv + - primary_purpose: escort + SPEC: stop_frequency_escort.csv + COEFFICIENTS: _dummy_coefficients.csv + - primary_purpose: othmaint + SPEC: stop_frequency_othmaint.csv + COEFFICIENTS: _dummy_coefficients.csv + - primary_purpose: othdiscr + SPEC: stop_frequency_othdiscr.csv + COEFFICIENTS: _dummy_coefficients.csv + - primary_purpose: atwork + SPEC: stop_frequency_atwork.csv + COEFFICIENTS: _dummy_coefficients.csv + +CONSTANTS: + TRANSIT_MODES: + - WALK_LOC + - WALK_PRM + - WALK_MIX + - PNR_LOC + - PNR_PRM + - PNR_MIX + - KNR_LOC + - KNR_PRM + - KNR_MIX + + DRIVE_TO_TRANSIT_MODES: + - PNR_LOC + - PNR_PRM + - PNR_MIX + - KNR_LOC + - KNR_PRM + - KNR_MIX + NONMOTORIZED_MODES: + - WALK + - BIKE + SHOP_TOUR: shopping + MAINT_TOUR: othmaint + SCHOOL_TOUR: school + EATOUT_TOUR: eatout + SOCIAL_TOUR: social + num_atwork_subtours_map: + no_subtours: 0 + eat: 1 + business1: 1 + maint: 1 + business2: 2 + eat_business: 2 diff --git a/activitysim/examples/prototype_semcog/configs/stop_frequency_alternatives.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_alternatives.csv new file mode 100755 index 0000000000..72f49a7c77 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_alternatives.csv @@ -0,0 +1,18 @@ +#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,out,in +0out_0in,0,0 +0out_1in,0,1 +0out_2in,0,2 +0out_3in,0,3 +1out_0in,1,0 +1out_1in,1,1 +1out_2in,1,2 +1out_3in,1,3 +2out_0in,2,0 +2out_1in,2,1 +2out_2in,2,2 +2out_3in,2,3 +3out_0in,3,0 +3out_1in,3,1 +3out_2in,3,2 +3out_3in,3,3 diff --git a/activitysim/examples/prototype_semcog/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_annotate_tours_preprocessor.csv new file mode 100755 index 0000000000..989f3abe8e --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_annotate_tours_preprocessor.csv @@ -0,0 +1,47 @@ +Description,Target,Expression +#,, +# define primary_purpose to use for slicing choosers with a value that identifies the spec to be used ,, +# e.g. univ segment means there will be a spec called stop_frequency_univ.csv,, +# so the 'school' tour_type can treat univ and non-univ school tours differently,, +,primary_purpose,"df.tour_type.where((df.tour_type != 'school') | ~df.is_university, 'univ')" +,primary_purpose,"primary_purpose.where(df.tour_category!='atwork', 'atwork')" +#,, +,distance_in_miles,od_skims['DIST'] +#,, +,is_joint,df.tour_category=='joint' +,_HH_PERSON_COUNT,"lambda exp, persons: persons.query(exp).groupby('household_id').size()" +,num_full,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_FULL, persons), df.household_id)" +,num_part,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_PART, persons), df.household_id)" +,num_student,"reindex_i(_HH_PERSON_COUNT('pstudent != %s' % PSTUDENT_NOT, persons), df.household_id)" +Num Kids between 0 and 4 (including) years old,num_age_0_4,"reindex_i(_HH_PERSON_COUNT('age < 5', persons), df.household_id)" +Num kids between 4 and 15 (including) years old,num_age_5_15,"reindex_i(_HH_PERSON_COUNT('(age >= 5) & (age <16)', persons), df.household_id)" +Number of Adults (>= 16 years old),num_adult,"reindex_i(_HH_PERSON_COUNT('age >= 16', persons), df.household_id)" +,more_cars_than_workers,df.auto_ownership >= (num_full + num_part) +,tour_mode_is_transit,df.tour_mode.isin(TRANSIT_MODES) +,tour_mode_is_drive_transit,df.tour_mode.isin(DRIVE_TO_TRANSIT_MODES) +,tour_mode_is_non_motorized,df.tour_mode.isin(NONMOTORIZED_MODES) +#,, +#num_work_tours already defined,, +school but not university,num_school_tours,"reindex_i(df[primary_purpose==SCHOOL_TOUR].groupby('person_id').size(), df.person_id)" +,num_univ_tours,(df.is_university) * num_school_tours +#num_escort_tours already defined,, +# indiv tour counts should not include joint tours by point_person,, +,num_shop_tours,"reindex_i(df[~is_joint & (df.tour_type==SHOP_TOUR)].groupby('person_id').size(), df.person_id)" +,num_maint_tours,"reindex_i(df[~is_joint & (df.tour_type==MAINT_TOUR)].groupby('person_id').size(), df.person_id)" +,num_eatout_tours,"reindex_i(df[~is_joint & (df.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" +,num_social_tours,"reindex_i(df[~is_joint & (df.tour_type==SOCIAL_TOUR)].groupby('person_id').size(), df.person_id)" +#,, +Number of subtours in the tour,num_atwork_subtours,"df.atwork_subtour_frequency.map(num_atwork_subtours_map, na_action='ignore').fillna(0).astype(np.int8)" +#,, +Number of hh shop tours including joint,num_hh_shop_tours,"reindex_i(df[df.tour_type==SHOP_TOUR].groupby('household_id').size(), df.person_id)" +Number of hh maint tours including joint,num_hh_maint_tours,"reindex_i(df[df.tour_type==MAINT_TOUR].groupby('household_id').size(), df.person_id)" +tourStartsInPeakPeriod,_tour_starts_in_peak,(network_los.skim_time_period_label(df.start) == 'AM') | (network_los.skim_time_period_label(df.start) == 'PM') +AccesibilityAtOrigin fallback,hhacc,0 +AccesibilityAtOrigin if transit,hhacc,"hhacc.where(~tour_mode_is_transit, df.trPkRetail.where(_tour_starts_in_peak, df.trOpRetail))" +AccesibilityAtOrigin if non_motorized,hhacc,"hhacc.where(~tour_mode_is_non_motorized, df.nmRetail)" +AccesibilityADestination fallback,pracc,0 +AccesibilityADestination peak transit,_dest_trPkRetail,"reindex(accessibility.trPkRetail, df.destination)" +AccesibilityADestination off-peak transit,_dest_trOpRetail,"reindex(accessibility.trOpRetail, df.destination)" +AccesibilityAtDestination if transit,pracc,"pracc.where(~tour_mode_is_transit, _dest_trPkRetail.where(_tour_starts_in_peak, _dest_trOpRetail))" +AccesibilityAtDestination if non_motorized,pracc,"pracc.where(~tour_mode_is_non_motorized, reindex(accessibility.nmRetail, df.destination))" +,destination_area_type,"reindex(land_use.AreaType, df.destination)" diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_atwork.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_atwork.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/stop_frequency_atwork.csv rename to activitysim/examples/prototype_semcog/configs/stop_frequency_atwork.csv index 47baa8adcc..8f9709d4bb 100755 --- a/activitysim/examples/example_semcog/configs/stop_frequency_atwork.csv +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_atwork.csv @@ -1,13 +1,13 @@ -Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in -Middle to Low Income HH ,income_in_thousands<50000,,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45 -Number of eating tours tours undertaken by the person,num_eatout_tours,,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28 -Subtour departure less than or equal to 11AM,start<19,,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31 -Subtour return time greater or equal to 2PM,end>24,,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34 -Subtour duration in hours (integer),end-start,,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56 -dummy for subtour origin (tour destination) at Exurban or Rual (AreaTypes = 6 or 7),destination_area_type >5,,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27 -Primary Destination Accessibility (LOG of it),pracc,,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18 -subtour distance in miles (from tour destination to subtour primary destination one way),distance_in_miles,,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02 -Alternative specific constant for outbound stops,1,,,,,-3.896,-3.896,-3.896,-3.896,-5.709,-5.709,-5.709,-5.709,-7.361,-7.361,-7.361,-7.361 -Alternative specific constant for return stops,1,,-3.671,-5.388,-6.21,,-3.671,-5.388,-6.21,,-3.671,-5.388,-6.21,,-3.671,-5.388,-6.21 -Alternative specific constant for the total number of stops,1,,,0,0,,0,0,2.127,0,0,2.127,2.127,0,2.127,2.127,2.127 -Phase1_Calibration,1,,-0.214873516,-0.08829587,-0.021076701,-0.583908707,1.759594513,1.768617768,0.015908847,-0.496833561,0.742087614,0.721158833,-0.038026423,1.210255745,0.858858431,2.537970801,3.355148354 +Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +Middle to Low Income HH ,income_in_thousands<50000,,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45 +Number of eating tours tours undertaken by the person,num_eatout_tours,,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28 +Subtour departure less than or equal to 11AM,start<19,,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31 +Subtour return time greater or equal to 2PM,end>24,,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34,0.34 +Subtour duration in hours (integer),end-start,,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56,0.56 +dummy for subtour origin (tour destination) at Exurban or Rual (AreaTypes = 6 or 7),destination_area_type >5,,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27 +Primary Destination Accessibility (LOG of it),pracc,,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18,0.18 +subtour distance in miles (from tour destination to subtour primary destination one way),distance_in_miles,,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02 +Alternative specific constant for outbound stops,1,,,,,-3.896,-3.896,-3.896,-3.896,-5.709,-5.709,-5.709,-5.709,-7.361,-7.361,-7.361,-7.361 +Alternative specific constant for return stops,1,,-3.671,-5.388,-6.21,,-3.671,-5.388,-6.21,,-3.671,-5.388,-6.21,,-3.671,-5.388,-6.21 +Alternative specific constant for the total number of stops,1,,,0,0,,0,0,2.127,0,0,2.127,2.127,0,2.127,2.127,2.127 +Phase1_Calibration,1,,-0.214873516,-0.08829587,-0.021076701,-0.583908707,1.759594513,1.768617768,0.015908847,-0.496833561,0.742087614,0.721158833,-0.038026423,1.210255745,0.858858431,2.537970801,3.355148354 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_eatout.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_eatout.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/stop_frequency_eatout.csv rename to activitysim/examples/prototype_semcog/configs/stop_frequency_eatout.csv index 81fb521ef9..c6dc0b83b4 100755 --- a/activitysim/examples/example_semcog/configs/stop_frequency_eatout.csv +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_eatout.csv @@ -1,54 +1,54 @@ -Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in -Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, -Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, -High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, -Number of HH Persons,hhsize,,,,,,,,,,,,,,,, -Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, -Number of Students in HH,num_student,,,,,,,,,,,,,,,, -Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, -Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, -Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, -Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, -Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, -Number of Vehicles,auto_ownership,,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19 -Dummy for female,~is_joint & female,,,,,,,,,,,,,,,, -Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 -Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73 -Number of work tours undertaken by the person,~is_joint * num_work_tours,,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28 -Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,,,,,,,,,,,,,,, -Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,,,,,,,,,,,,,,, -Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24 -Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,,,,,,,,,,,,,,, -Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, -Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, -Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46 -Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, -At least one kid and one adult participate in the tour,composition=='mixed',,0.37,0.37,0.37,,0.37,0.37,0.37,,0.37,0.37,0.37,,0.37,0.37,0.37 -AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, -Arrival later than 17:00.,(end > 28),,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45 -Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31 -HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, -dummy for distance less than 20 Miles ,(distance_in_miles < 20),,,,,,,,,,,,,,,, -dummy for distance in miles,distance_in_miles,,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01 -#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, -No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Alternative specific constant for outbound stops,~is_joint,,,,,-2.19,-2.19,-2.19,-2.19,-4.516,-4.516,-4.516,-4.516,-5.255,-5.255,-5.255,-5.255 -Alternative specific constant for return stops,~is_joint,,-1.761,-3.697,-4.717,,-1.761,-3.697,-4.717,,-1.761,-3.697,-4.717,,-1.761,-3.697,-4.717 -Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0.94,0,0,0.94,2.026,0,0.94,2.026,2.026 -Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 -Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 -Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 -Dummy for an outbound visiting tour,primary_purpose == 'social',,,,,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69 -Dummy for a return visiting tour,primary_purpose == 'social',,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64 -Dummy for a visiting tour with both outbound and return leg,primary_purpose == 'social',,,,,,0.44,0.44,0.44,,0.44,0.44,0.44,,0.44,0.44,0.44 -Phase1_Calibration,~is_joint,,0.402777606,0.769044419,1.547375234,0.17724742,1.523737838,1.704085866,1.219450496,1.50935493,2.583402672,2.411844468,0.759903236,1.610165394,2.324582352,2.016696053,2.783482815 +Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +Number of HH Persons,hhsize,,,,,,,,,,,,,,,, +Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, +Number of Students in HH,num_student,,,,,,,,,,,,,,,, +Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +Number of Vehicles,auto_ownership,,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19 +Dummy for female,~is_joint & female,,,,,,,,,,,,,,,, +Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 +Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73 +Number of work tours undertaken by the person,~is_joint * num_work_tours,,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28 +Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,,,,,,,,,,,,,,, +Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,,,,,,,,,,,,,,, +Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24 +Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,,,,,,,,,,,,,,, +Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, +Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46 +Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +At least one kid and one adult participate in the tour,composition=='mixed',,0.37,0.37,0.37,,0.37,0.37,0.37,,0.37,0.37,0.37,,0.37,0.37,0.37 +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, +Arrival later than 17:00.,(end > 28),,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45 +Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31 +HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +dummy for distance less than 20 Miles ,(distance_in_miles < 20),,,,,,,,,,,,,,,, +dummy for distance in miles,distance_in_miles,,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01 +#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, +No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Alternative specific constant for outbound stops,~is_joint,,,,,-2.19,-2.19,-2.19,-2.19,-4.516,-4.516,-4.516,-4.516,-5.255,-5.255,-5.255,-5.255 +Alternative specific constant for return stops,~is_joint,,-1.761,-3.697,-4.717,,-1.761,-3.697,-4.717,,-1.761,-3.697,-4.717,,-1.761,-3.697,-4.717 +Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0.94,0,0,0.94,2.026,0,0.94,2.026,2.026 +Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 +Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 +Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 +Dummy for an outbound visiting tour,primary_purpose == 'social',,,,,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69 +Dummy for a return visiting tour,primary_purpose == 'social',,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64 +Dummy for a visiting tour with both outbound and return leg,primary_purpose == 'social',,,,,,0.44,0.44,0.44,,0.44,0.44,0.44,,0.44,0.44,0.44 +Phase1_Calibration,~is_joint,,0.402777606,0.769044419,1.547375234,0.17724742,1.523737838,1.704085866,1.219450496,1.50935493,2.583402672,2.411844468,0.759903236,1.610165394,2.324582352,2.016696053,2.783482815 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_escort.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_escort.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/stop_frequency_escort.csv rename to activitysim/examples/prototype_semcog/configs/stop_frequency_escort.csv index f0924ab209..c38df6d575 100755 --- a/activitysim/examples/example_semcog/configs/stop_frequency_escort.csv +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_escort.csv @@ -1,48 +1,48 @@ -Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in -Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, -Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, -High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, -Number of HH Persons,hhsize,,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24 -Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, -Number of Students in HH,num_student,,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19 -Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, -Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, -Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, -Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, -Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, -Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, -Dummy for female,female,,,,,,,,,,,,,,,, -Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 -Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91 -Number of work tours undertaken by the person,num_work_tours,,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29 -Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, -Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, -Number of escort tours tours undertaken by the person,num_escort_tours,,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15 -Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, -Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, -Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, -Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, -AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, -Arrival later than 17:00.,(end > 28),,,,,,,,,,,,,,,, -Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59 -Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, -HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, -dummy for distance less than 5 Miles,(distance_in_miles < 5),,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32 -dummy for distance in miles,distance_in_miles,,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01 -#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, -No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Alternative specific constant for outbound stops,~is_joint,,,,,-2.173,-2.173,-2.173,-2.173,-4.294,-4.294,-4.294,-4.294,-4.758,-4.758,-4.758,-4.758 -Alternative specific constant for return stops,~is_joint,,-0.968,-2.41,-3.024,,-0.968,-2.41,-3.024,,-0.968,-2.41,-3.024,,-0.968,-2.41,-3.024 -Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0,0,0,0,-1.807,0,0,-1.807,-1.807 -Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 -Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 -Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 -Phase1_Calibration,~is_joint,,-0.281471428,-0.016095822,0.633091127,0.54790928,0.034142435,0.648536014,1.179253849,1.588769694,1.014803541,1.362137736,4.47587972,1.689728522,1.349848675,3.365045965,4.461548606 +Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +Number of HH Persons,hhsize,,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24 +Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +Number of Students in HH,num_student,,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19 +Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +Dummy for female,female,,,,,,,,,,,,,,,, +Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 +Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91,-1.91 +Number of work tours undertaken by the person,num_work_tours,,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29 +Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, +Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, +Number of escort tours tours undertaken by the person,num_escort_tours,,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15 +Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, +Arrival later than 17:00.,(end > 28),,,,,,,,,,,,,,,, +Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59 +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, +HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +dummy for distance less than 5 Miles,(distance_in_miles < 5),,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32,0.32 +dummy for distance in miles,distance_in_miles,,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01 +#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, +No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Alternative specific constant for outbound stops,~is_joint,,,,,-2.173,-2.173,-2.173,-2.173,-4.294,-4.294,-4.294,-4.294,-4.758,-4.758,-4.758,-4.758 +Alternative specific constant for return stops,~is_joint,,-0.968,-2.41,-3.024,,-0.968,-2.41,-3.024,,-0.968,-2.41,-3.024,,-0.968,-2.41,-3.024 +Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0,0,0,0,-1.807,0,0,-1.807,-1.807 +Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 +Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 +Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 +Phase1_Calibration,~is_joint,,-0.281471428,-0.016095822,0.633091127,0.54790928,0.034142435,0.648536014,1.179253849,1.588769694,1.014803541,1.362137736,4.47587972,1.689728522,1.349848675,3.365045965,4.461548606 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_othdiscr.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_othdiscr.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/stop_frequency_othdiscr.csv rename to activitysim/examples/prototype_semcog/configs/stop_frequency_othdiscr.csv index 6384dcfdf9..9dc631ceef 100755 --- a/activitysim/examples/example_semcog/configs/stop_frequency_othdiscr.csv +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_othdiscr.csv @@ -1,50 +1,50 @@ -Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in -Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, -Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, -High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, -Number of HH Persons,hhsize,,,,,,,,,,,,,,,, -Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, -Number of Students in HH,num_student,,,,,,,,,,,,,,,, -Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, -Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, -Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, -Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, -Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, -Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, -Dummy for female,~is_joint & female,,,,,,,,,,,,,,,, -Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 -Dummy for walking to all stops,tour_mode_is_non_motorized,,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578 -Number of work tours undertaken by the person,~is_joint * num_work_tours,,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153 -Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,,,,,,,,,,,,,,, -Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176 -Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629 -Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715 -Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, -Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, -Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, -Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, -AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, -Arrival later than 17:00.,(end > 28),,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383 -Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335 -Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, -HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, -dummy for distance less than 10 Miles ,(distance_in_miles < 10),,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756 -dummy for distance in miles,distance_in_miles,,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225 -#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, -No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Alternative specific constant for outbound stops,~is_joint,,,,,-1.581,-1.581,-1.581,-1.581,-3.323,-3.323,-3.323,-3.323,-4.623,-4.623,-4.623,-4.623 -Alternative specific constant for return stops,~is_joint,,-0.921,-2.336,-2.927,,-0.921,-2.336,-2.927,,-0.921,-2.336,-2.927,,-0.921,-2.336,-2.927 -Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0.863,0,0,0.863,0.939,0,0.863,0.939,0.939 -Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 -Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 -Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 -Phase1_Calibration,~is_joint,,0.187263987,0.670000983,0.992092361,0.283823906,0.461537002,0.958158373,-0.156485013,0.806611419,0.872137091,0.343003767,0.7657564,2.063744949,1.13525473,1.376716611,2.113754844 +Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +Number of HH Persons,hhsize,,,,,,,,,,,,,,,, +Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, +Number of Students in HH,num_student,,,,,,,,,,,,,,,, +Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +Dummy for female,~is_joint & female,,,,,,,,,,,,,,,, +Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 +Dummy for walking to all stops,tour_mode_is_non_motorized,,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578,-2.4578 +Number of work tours undertaken by the person,~is_joint * num_work_tours,,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153,-0.6153 +Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,,,,,,,,,,,,,,, +Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176,-0.8176 +Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629,-0.629 +Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715,-0.3715 +Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, +Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, +Arrival later than 17:00.,(end > 28),,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383,-0.6383 +Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335,0.8335 +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, +HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +dummy for distance less than 10 Miles ,(distance_in_miles < 10),,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756,0.3756 +dummy for distance in miles,distance_in_miles,,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225,-0.0225 +#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, +No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Alternative specific constant for outbound stops,~is_joint,,,,,-1.581,-1.581,-1.581,-1.581,-3.323,-3.323,-3.323,-3.323,-4.623,-4.623,-4.623,-4.623 +Alternative specific constant for return stops,~is_joint,,-0.921,-2.336,-2.927,,-0.921,-2.336,-2.927,,-0.921,-2.336,-2.927,,-0.921,-2.336,-2.927 +Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0.863,0,0,0.863,0.939,0,0.863,0.939,0.939 +Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 +Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 +Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 +Phase1_Calibration,~is_joint,,0.187263987,0.670000983,0.992092361,0.283823906,0.461537002,0.958158373,-0.156485013,0.806611419,0.872137091,0.343003767,0.7657564,2.063744949,1.13525473,1.376716611,2.113754844 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_othmaint.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_othmaint.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/stop_frequency_othmaint.csv rename to activitysim/examples/prototype_semcog/configs/stop_frequency_othmaint.csv index b29838cb53..d8f4a60fc0 100755 --- a/activitysim/examples/example_semcog/configs/stop_frequency_othmaint.csv +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_othmaint.csv @@ -1,51 +1,51 @@ -Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in -Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17 -Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23 -High Income HH,(income_in_thousands>=100000),,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24 -Number of HH Persons,hhsize,,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31 -Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, -Number of Students in HH,num_student,,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21 -Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, -Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74 -Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, -Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, -Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, -Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, -Dummy for female,~is_joint & female,,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012 -Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 -Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329 -Number of work tours undertaken by the person,~is_joint * num_work_tours,,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364 -Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252 -Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135 -Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428 -Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,,,,,,,,,,,,,,, -Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, -Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, -Number of maintenace tours undertaken by the houshold,num_hh_maint_tours,,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468 -Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, -Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,0.4904,0.4904,0.4904,,0.4904,0.4904,0.4904,,0.4904,0.4904,0.4904,,0.4904,0.4904,0.4904 -AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, -Arrival later than 17:00.,(end > 28),,,,,,,,,,,,,,,, -Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134 -Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, -HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, -dummy for distance less than 20 Miles ,(distance_in_miles < 20),,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408 -dummy for distance in miles,distance_in_miles,,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273 -#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, -No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Alternative specific constant for outbound stops,~is_joint,,,,,-1.761,-1.761,-1.761,-1.761,-3.661,-3.661,-3.661,-3.661,-5.426,-5.426,-5.426,-5.426 -Alternative specific constant for return stops,~is_joint,,-0.585,-1.48,-2.462,,-0.585,-1.48,-2.462,,-0.585,-1.48,-2.462,,-0.585,-1.48,-2.462 -Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0.414,0,0,0.414,0.488,0,0.414,0.488,0.488 -Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 -Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 -Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 -Phase1_Calibration,~is_joint,,0.475190752,0.530588025,1.389497026,0.960593185,0.775245847,1.122815367,1.226361438,1.683900584,1.594911845,1.101961687,2.302278146,3.35277309,2.734475828,2.746850954,3.93916549 +Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17 +Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23 +High Income HH,(income_in_thousands>=100000),,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24 +Number of HH Persons,hhsize,,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31 +Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, +Number of Students in HH,num_student,,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21 +Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74 +Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +Dummy for female,~is_joint & female,,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012,0.3012 +Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 +Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329,-1.4329 +Number of work tours undertaken by the person,~is_joint * num_work_tours,,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364,-0.364 +Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252,-0.6252 +Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135,-1.4135 +Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428,-0.1428 +Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,,,,,,,,,,,,,,, +Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, +Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +Number of maintenace tours undertaken by the houshold,num_hh_maint_tours,,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468,-0.0468 +Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,0.4904,0.4904,0.4904,,0.4904,0.4904,0.4904,,0.4904,0.4904,0.4904,,0.4904,0.4904,0.4904 +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, +Arrival later than 17:00.,(end > 28),,,,,,,,,,,,,,,, +Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134,0.5134 +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, +HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +dummy for distance less than 20 Miles ,(distance_in_miles < 20),,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408,-0.408 +dummy for distance in miles,distance_in_miles,,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273,0.0273 +#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, +No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Alternative specific constant for outbound stops,~is_joint,,,,,-1.761,-1.761,-1.761,-1.761,-3.661,-3.661,-3.661,-3.661,-5.426,-5.426,-5.426,-5.426 +Alternative specific constant for return stops,~is_joint,,-0.585,-1.48,-2.462,,-0.585,-1.48,-2.462,,-0.585,-1.48,-2.462,,-0.585,-1.48,-2.462 +Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0.414,0,0,0.414,0.488,0,0.414,0.488,0.488 +Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 +Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 +Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 +Phase1_Calibration,~is_joint,,0.475190752,0.530588025,1.389497026,0.960593185,0.775245847,1.122815367,1.226361438,1.683900584,1.594911845,1.101961687,2.302278146,3.35277309,2.734475828,2.746850954,3.93916549 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_school.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_school.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/stop_frequency_school.csv rename to activitysim/examples/prototype_semcog/configs/stop_frequency_school.csv index da2963b96f..d48e0f739c 100755 --- a/activitysim/examples/example_semcog/configs/stop_frequency_school.csv +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_school.csv @@ -1,45 +1,45 @@ -Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in -Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, -Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, -High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, -Number of HH Persons,hhsize,,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506 -Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, -Number of Students in HH,num_student,,,,,,,,,,,,,,,, -Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, -Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, -Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, -Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299 -Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, -Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Cars > Number of Workers,more_cars_than_workers,,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331 -Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, -Dummy for female,female,,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099 -Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 -Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163 -Number of work tours undertaken by the person,num_work_tours,,,,,,,,,,,,,,,, -Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, -Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, -Number of escort tours tours undertaken by the person,num_escort_tours,,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365 -Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, -Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, -Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, -Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, -AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, -Arrival later than 17:00.,(end > 28),,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377 -Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549 -Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, -HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, -dummy for distance less than 15 Miles,(distance_in_miles < 15),,,,,,,,,,,,,,,, -dummy for distance in miles,distance_in_miles,,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438 -#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, -No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Alternative specific constant for outbound stops,1,,,,,-2.123,-2.123,-2.123,-2.123,-3.798,-3.798,-3.798,-3.798,-5.85,-5.85,-5.85,-5.85 -Alternative specific constant for return stops,1,,-1.206,-2.672,-3.364,,-1.206,-2.672,-3.364,,-1.206,-2.672,-3.364,,-1.206,-2.672,-3.364 -Alternative specific constant for the total number of stops,1,,,0,0,,0,0,0.701,0,0,0.701,1.135,0,0.701,1.135,1.135 -Phase1_Calibration,1,,-0.462185603,0.034598859,0.143710811,-0.107820253,0.247416913,0.525399532,0.065742876,-0.264881606,-0.844194184,-0.191651123,-0.295391166,1.390171934,-1.256414914,0.034312538,0.662067578 +Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +Number of HH Persons,hhsize,,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506,-0.506 +Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +Number of Students in HH,num_student,,,,,,,,,,,,,,,, +Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299,0.3299 +Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Cars > Number of Workers,more_cars_than_workers,,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331,0.5331 +Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +Dummy for female,female,,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099,0.4099 +Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 +Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163,-1.8163 +Number of work tours undertaken by the person,num_work_tours,,,,,,,,,,,,,,,, +Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, +Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, +Number of escort tours tours undertaken by the person,num_escort_tours,,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365,1.2365 +Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, +Arrival later than 17:00.,(end > 28),,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377,1.8377 +Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549,0.9549 +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, +HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +dummy for distance less than 15 Miles,(distance_in_miles < 15),,,,,,,,,,,,,,,, +dummy for distance in miles,distance_in_miles,,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438,0.0438 +#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, +No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Alternative specific constant for outbound stops,1,,,,,-2.123,-2.123,-2.123,-2.123,-3.798,-3.798,-3.798,-3.798,-5.85,-5.85,-5.85,-5.85 +Alternative specific constant for return stops,1,,-1.206,-2.672,-3.364,,-1.206,-2.672,-3.364,,-1.206,-2.672,-3.364,,-1.206,-2.672,-3.364 +Alternative specific constant for the total number of stops,1,,,0,0,,0,0,0.701,0,0,0.701,1.135,0,0.701,1.135,1.135 +Phase1_Calibration,1,,-0.462185603,0.034598859,0.143710811,-0.107820253,0.247416913,0.525399532,0.065742876,-0.264881606,-0.844194184,-0.191651123,-0.295391166,1.390171934,-1.256414914,0.034312538,0.662067578 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_shopping.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_shopping.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/stop_frequency_shopping.csv rename to activitysim/examples/prototype_semcog/configs/stop_frequency_shopping.csv index eeb66016c4..909e706109 100755 --- a/activitysim/examples/example_semcog/configs/stop_frequency_shopping.csv +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_shopping.csv @@ -1,51 +1,51 @@ -Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in -Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, -Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, -High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, -Number of HH Persons,hhsize,,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522 -Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, -Number of Students in HH,num_student,,,,,,,,,,,,,,,, -Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, -Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, -Num kids between 5 and 15 (including) years old,num_age_5_15,,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482 -Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, -Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, -Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, -Dummy for female,~is_joint & female,,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721 -Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 -Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908 -Number of work tours undertaken by the person,~is_joint * num_work_tours,,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548 -Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709 -Number of school tours tours undertaken by the person,~is_joint * num_school_tours,,,,,,,,,,,,,,,, -Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,,,,,,,,,,,,,,, -Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977 -Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, -Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the houshold,num_hh_shop_tours,,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733 -Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, -Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, -Dummy for only adults participate in the tour,composition=='adults',,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902 -AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, -Arrival later than 17:00.,(end > 28),,,,,,,,,,,,,,,, -Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056 -Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, -HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, -dummy for distance less than 5 Miles,(distance_in_miles < 5),,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768 -dummy for distance in miles,distance_in_miles,,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289 -#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, -No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Alternative specific constant for outbound stops,~is_joint,,,,,-1.339,-1.339,-1.339,-1.339,-3.11,-3.11,-3.11,-3.11,-4.487,-4.487,-4.487,-4.487 -Alternative specific constant for return stops,~is_joint,,-1.179,-2.305,-3.024,,-1.179,-2.305,-3.024,,-1.179,-2.305,-3.024,,-1.179,-2.305,-3.024 -Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0.252,0,0,0.252,0.514,0,0.252,0.514,0.514 -Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 -Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 -Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 -Phase1_Calibration,~is_joint,,0.061908526,0.211807872,0.269959028,0.159052037,0.386325269,0.209133272,0.563685874,1.002319475,1.182476858,1.537241286,1.004078003,2.038636069,1.69019331,2.060858768,2.809711477 +Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +Number of HH Persons,hhsize,,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522,-0.1522 +Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +Number of Students in HH,num_student,,,,,,,,,,,,,,,, +Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +Num kids between 5 and 15 (including) years old,num_age_5_15,,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482,0.0482 +Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +Dummy for female,~is_joint & female,,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721,0.1721 +Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 +Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908,-1.4908 +Number of work tours undertaken by the person,~is_joint * num_work_tours,,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548,-0.548 +Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709,-0.6709 +Number of school tours tours undertaken by the person,~is_joint * num_school_tours,,,,,,,,,,,,,,,, +Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,,,,,,,,,,,,,,, +Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977,-0.1977 +Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, +Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the houshold,num_hh_shop_tours,,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733,-0.0733 +Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +Dummy for only adults participate in the tour,composition=='adults',,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902,0.1902 +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, +Arrival later than 17:00.,(end > 28),,,,,,,,,,,,,,,, +Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056,0.9056 +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, +HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +dummy for distance less than 5 Miles,(distance_in_miles < 5),,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768,0.3768 +dummy for distance in miles,distance_in_miles,,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289,0.0289 +#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, +No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Alternative specific constant for outbound stops,~is_joint,,,,,-1.339,-1.339,-1.339,-1.339,-3.11,-3.11,-3.11,-3.11,-4.487,-4.487,-4.487,-4.487 +Alternative specific constant for return stops,~is_joint,,-1.179,-2.305,-3.024,,-1.179,-2.305,-3.024,,-1.179,-2.305,-3.024,,-1.179,-2.305,-3.024 +Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0.252,0,0,0.252,0.514,0,0.252,0.514,0.514 +Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 +Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 +Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 +Phase1_Calibration,~is_joint,,0.061908526,0.211807872,0.269959028,0.159052037,0.386325269,0.209133272,0.563685874,1.002319475,1.182476858,1.537241286,1.004078003,2.038636069,1.69019331,2.060858768,2.809711477 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_social.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_social.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/stop_frequency_social.csv rename to activitysim/examples/prototype_semcog/configs/stop_frequency_social.csv index 82031d49b4..c04a51f48a 100755 --- a/activitysim/examples/example_semcog/configs/stop_frequency_social.csv +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_social.csv @@ -1,54 +1,54 @@ -Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in -Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, -Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, -High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, -Number of HH Persons,hhsize,,,,,,,,,,,,,,,, -Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, -Number of Students in HH,num_student,,,,,,,,,,,,,,,, -Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, -Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, -Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, -Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, -Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, -Number of Vehicles,auto_ownership,,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19 -Dummy for female,~is_joint & female,,,,,,,,,,,,,,,, -Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 -Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73 -Number of work tours undertaken by the person,~is_joint * num_work_tours,,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28 -Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,,,,,,,,,,,,,,, -Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,,,,,,,,,,,,,,, -Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24 -Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,,,,,,,,,,,,,,, -Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, -Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, -Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46 -Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, -At least one kid and one adult participate in the tour,composition=='mixed',,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37 -AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, -Arrival later than 17:00.,(end > 28),,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45 -Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31 -HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, -dummy for distance less than 20 Miles ,(distance_in_miles < 20),,,,,,,,,,,,,,,, -dummy for distance in miles,distance_in_miles,,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01 -#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, -No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Alternative specific constant for outbound stops,~is_joint,,,,,-1.081,-1.081,-1.081,-1.081,-2.874,-2.874,-2.874,-2.874,-4.552,-4.552,-4.552,-4.552 -Alternative specific constant for return stops,~is_joint,,-1.12,-2.764,-3.451,,-1.12,-2.764,-3.451,,-1.12,-2.764,-3.451,,-1.12,-2.764,-3.451 -Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0.496,0,0,0.496,0.882,0,0.496,0.882,0.882 -Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 -Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 -Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 -Dummy for an outbound visiting tour,primary_purpose == 'social',,,,,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69 -Dummy for a return visiting tour,primary_purpose == 'social',,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64 -Dummy for a visiting tour with both outbound and return leg,primary_purpose == 'social',,,,,,0.44,0.44,0.44,,0.44,0.44,0.44,,0.44,0.44,0.44 -Phase1_Calibration,~is_joint,,0.38246443,0.839705649,1.208071759,0.577945215,0.470848758,0.683396345,0.561543342,1.335624596,0.972779572,1.949517699,0.318404726,3.210420697,0.539522475,0.864775287,3.503722118 +Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +Number of HH Persons,hhsize,,,,,,,,,,,,,,,, +Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, +Number of Students in HH,num_student,,,,,,,,,,,,,,,, +Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +Number of Vehicles,auto_ownership,,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19 +Dummy for female,~is_joint & female,,,,,,,,,,,,,,,, +Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 +Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73,-1.73 +Number of work tours undertaken by the person,~is_joint * num_work_tours,,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28,-0.28 +Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,,,,,,,,,,,,,,, +Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,,,,,,,,,,,,,,, +Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24,-0.24 +Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,,,,,,,,,,,,,,, +Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, +Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46,-0.46 +Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +At least one kid and one adult participate in the tour,composition=='mixed',,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37 +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, +Arrival later than 17:00.,(end > 28),,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45 +Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31,1.31 +HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +dummy for distance less than 20 Miles ,(distance_in_miles < 20),,,,,,,,,,,,,,,, +dummy for distance in miles,distance_in_miles,,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01 +#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, +No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Alternative specific constant for outbound stops,~is_joint,,,,,-1.081,-1.081,-1.081,-1.081,-2.874,-2.874,-2.874,-2.874,-4.552,-4.552,-4.552,-4.552 +Alternative specific constant for return stops,~is_joint,,-1.12,-2.764,-3.451,,-1.12,-2.764,-3.451,,-1.12,-2.764,-3.451,,-1.12,-2.764,-3.451 +Alternative specific constant for the total number of stops,~is_joint,,,0,0,,0,0,0.496,0,0,0.496,0.882,0,0.496,0.882,0.882 +Alternative specific constant for outbound stops on joint tours,is_joint,,,,,-1.783,-1.783,-1.783,-1.783,-4.067,-4.067,-4.067,-4.067,-4.998,-4.998,-4.998,-4.998 +Alternative specific constant for return stops on joint tours,is_joint,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379,,-1.329,-2.796,-3.379 +Alternative specific constant for the total number of stops on joint tours,is_joint,,,0,0,,0,0,0.518,0,0,0.518,1.497,0,0.518,1.497,1.497 +Dummy for an outbound visiting tour,primary_purpose == 'social',,,,,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69 +Dummy for a return visiting tour,primary_purpose == 'social',,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64,,-0.64,-0.64,-0.64 +Dummy for a visiting tour with both outbound and return leg,primary_purpose == 'social',,,,,,0.44,0.44,0.44,,0.44,0.44,0.44,,0.44,0.44,0.44 +Phase1_Calibration,~is_joint,,0.38246443,0.839705649,1.208071759,0.577945215,0.470848758,0.683396345,0.561543342,1.335624596,0.972779572,1.949517699,0.318404726,3.210420697,0.539522475,0.864775287,3.503722118 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_univ.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_univ.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/stop_frequency_univ.csv rename to activitysim/examples/prototype_semcog/configs/stop_frequency_univ.csv index 725233c680..9c9ba1af06 100755 --- a/activitysim/examples/example_semcog/configs/stop_frequency_univ.csv +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_univ.csv @@ -1,45 +1,45 @@ -Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in -Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, -Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, -High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, -Number of HH Persons,hhsize,,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827 -Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, -Number of Students in HH,num_student,,,,,,,,,,,,,,,, -Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, -Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, -Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, -Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823 -Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, -Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, -Number of Vehicles,auto_ownership,,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703 -Dummy for female,female,,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349 -Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 -Dummy for walking to all stops,tour_mode_is_non_motorized,,,,,,,,,,,,,,,, -Number of work tours undertaken by the person,num_work_tours,,,,,,,,,,,,,,,, -Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, -Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, -Number of escort tours tours undertaken by the person,num_escort_tours,,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018 -Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, -Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, -Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, -Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, -AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, -Arrival later than 17:00.,(end > 28),,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389 -Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434 -Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, -HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -HH accesibility for inbound tours. Interaction,hhacc,,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481 -Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, -dummy for distance less than 20 Miles,(distance_in_miles < 20),,,,,,,,,,,,,,,, -dummy for distance in miles,distance_in_miles,,,,,,,,,,,,,,,, -#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, -No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Alternative specific constant for outbound stops,1,,,,,-2.628,-2.628,-2.628,-2.628,-3.741,-3.741,-3.741,-3.741,-4.981,-4.981,-4.981,-4.981 -Alternative specific constant for return stops,1,,-2.003,-3.51,-3.677,,-2.003,-3.51,-3.677,,-2.003,-3.51,-3.677,,-2.003,-3.51,-3.677 -Alternative specific constant for the total number of stops,1,,,0,0,,0,0,1.272,0,0,1.272,1.871,0,1.272,1.871,1.871 -Phase1_Calibration,1,,0.420011539,0.781344394,0.733748807,0.712121201,1.545847839,1.973538669,0.675841505,0.652388889,0.802044327,0.807649045,0.537484229,1.764449963,1.356930627,0.668833391,1.667362221 +Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +Number of HH Persons,hhsize,,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827,-0.2827 +Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +Number of Students in HH,num_student,,,,,,,,,,,,,,,, +Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823,0.6823 +Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +Number of Vehicles,auto_ownership,,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703,0.1703 +Dummy for female,female,,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349,0.7349 +Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 +Dummy for walking to all stops,tour_mode_is_non_motorized,,,,,,,,,,,,,,,, +Number of work tours undertaken by the person,num_work_tours,,,,,,,,,,,,,,,, +Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, +Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, +Number of escort tours tours undertaken by the person,num_escort_tours,,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018,0.9018 +Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,,,,,,,,,,,,,,, +Arrival later than 17:00.,(end > 28),,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389,0.389 +Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434,0.8434 +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, +HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +HH accesibility for inbound tours. Interaction,hhacc,,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481,0.2481 +Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +dummy for distance less than 20 Miles,(distance_in_miles < 20),,,,,,,,,,,,,,,, +dummy for distance in miles,distance_in_miles,,,,,,,,,,,,,,,, +#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, +No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Alternative specific constant for outbound stops,1,,,,,-2.628,-2.628,-2.628,-2.628,-3.741,-3.741,-3.741,-3.741,-4.981,-4.981,-4.981,-4.981 +Alternative specific constant for return stops,1,,-2.003,-3.51,-3.677,,-2.003,-3.51,-3.677,,-2.003,-3.51,-3.677,,-2.003,-3.51,-3.677 +Alternative specific constant for the total number of stops,1,,,0,0,,0,0,1.272,0,0,1.272,1.871,0,1.272,1.871,1.871 +Phase1_Calibration,1,,0.420011539,0.781344394,0.733748807,0.712121201,1.545847839,1.973538669,0.675841505,0.652388889,0.802044327,0.807649045,0.537484229,1.764449963,1.356930627,0.668833391,1.667362221 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_work.csv b/activitysim/examples/prototype_semcog/configs/stop_frequency_work.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/stop_frequency_work.csv rename to activitysim/examples/prototype_semcog/configs/stop_frequency_work.csv index f10d875a1b..89389766d4 100755 --- a/activitysim/examples/example_semcog/configs/stop_frequency_work.csv +++ b/activitysim/examples/prototype_semcog/configs/stop_frequency_work.csv @@ -1,46 +1,46 @@ -Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in -Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17 -Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23 -High Income HH,(income_in_thousands>=100000),,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24 -Number of HH Persons,hhsize,,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31 -Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, -Number of Students in HH,num_student,,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21 -Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, -Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74 -Num kids between 5 and 15 (including) years old,num_age_5_15,,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08 -Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26 -Number of Adults (>= 16 years old),num_adult,,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03 -Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, -Number of Cars > Number of Workers,more_cars_than_workers,,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16 -Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, -Dummy for female,female,,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22 -Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 -Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54 -Number of work tours undertaken by the person,num_work_tours,,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15 -Number of university tours tours undertaken by the person,num_univ_tours,,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48 -Number of school tours tours undertaken by the person,num_school_tours,,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55 -Number of escort tours tours undertaken by the person,num_escort_tours,,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2 -Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, -Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, -Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, -Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, -Number of shop tours undertaken by the houshold,num_hh_shop_tours,,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05 -AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93 -Arrival later than 17:00.,(end > 28),,,,,,,,,,,,,,,, -Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31 -Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6 -Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,,,,,,,,,,,,,,, -Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, -HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, -Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, -dummy for distance less than 20 Miles,(distance_in_miles < 20),,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22 -dummy for distance in miles,distance_in_miles,,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01 -#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, -No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Alternative specific constant for outbound stops,1,,,,,-0.833,-0.833,-0.833,-0.833,-2.613,-2.613,-2.613,-2.613,-3.934,-3.934,-3.934,-3.934 -Alternative specific constant for return stops,1,,-0.445,-1.775,-2.139,,-0.445,-1.775,-2.139,,-0.445,-1.775,-2.139,,-0.445,-1.775,-2.139 -Alternative specific constant for the total number of stops,1,,,0,0,,0,0,0,0,0,0,0.695,0,0,0.695,0.695 -Number of subtours in the tour,num_atwork_subtours,,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19 -Phase1_Calibration,1,,0.223196473,0.325510562,0.203854333,-0.303375802,-0.391244072,-0.093964049,-0.096568307,-0.097190886,-0.494486563,0.334444913,-0.145593481,0.40493641,-0.229067675,0.390561162,0.076806162 +Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17 +Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23 +High Income HH,(income_in_thousands>=100000),,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24 +Number of HH Persons,hhsize,,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31,-0.31 +Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +Number of Students in HH,num_student,,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21 +Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74,0.74 +Num kids between 5 and 15 (including) years old,num_age_5_15,,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08 +Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26 +Number of Adults (>= 16 years old),num_adult,,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03 +Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +Number of Cars > Number of Workers,more_cars_than_workers,,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16 +Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +Dummy for female,female,,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22,0.22 +Dummy for all stops made by transit,tour_mode_is_transit,,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7,-0.7 +Dummy for walking to all stops,tour_mode_is_non_motorized,,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54,-1.54 +Number of work tours undertaken by the person,num_work_tours,,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15 +Number of university tours tours undertaken by the person,num_univ_tours,,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48 +Number of school tours tours undertaken by the person,num_school_tours,,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55,-1.55 +Number of escort tours tours undertaken by the person,num_escort_tours,,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2 +Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +Number of shop tours undertaken by the houshold,num_hh_shop_tours,,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05,-0.05 +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93,-1.93 +Arrival later than 17:00.,(end > 28),,,,,,,,,,,,,,,, +Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31,0.31 +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6 +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,,,,,,,,,,,,,,, +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, +HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +dummy for distance less than 20 Miles,(distance_in_miles < 20),,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22,-0.22 +dummy for distance in miles,distance_in_miles,,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01 +#distance in miles * Number of stops,distance_in_miles * @@numStopsAlt,,,,,,,,,,,,,,,, +No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Alternative specific constant for outbound stops,1,,,,,-0.833,-0.833,-0.833,-0.833,-2.613,-2.613,-2.613,-2.613,-3.934,-3.934,-3.934,-3.934 +Alternative specific constant for return stops,1,,-0.445,-1.775,-2.139,,-0.445,-1.775,-2.139,,-0.445,-1.775,-2.139,,-0.445,-1.775,-2.139 +Alternative specific constant for the total number of stops,1,,,0,0,,0,0,0,0,0,0,0.695,0,0,0.695,0.695 +Number of subtours in the tour,num_atwork_subtours,,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19,0.19 +Phase1_Calibration,1,,0.223196473,0.325510562,0.203854333,-0.303375802,-0.391244072,-0.093964049,-0.096568307,-0.097190886,-0.494486563,0.334444913,-0.145593481,0.40493641,-0.229067675,0.390561162,0.076806162 diff --git a/activitysim/examples/example_semcog/configs/telecommute_frequency.csv b/activitysim/examples/prototype_semcog/configs/telecommute_frequency.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/telecommute_frequency.csv rename to activitysim/examples/prototype_semcog/configs/telecommute_frequency.csv index 450a6c6e84..265be1b506 100755 --- a/activitysim/examples/example_semcog/configs/telecommute_frequency.csv +++ b/activitysim/examples/prototype_semcog/configs/telecommute_frequency.csv @@ -1,21 +1,21 @@ -Label,Description,Expression,No_Telecommute,1_day_week,2_3_days_week,4_days_week -#util_Services,Services,@df.occup==52,0,coef_Services_1day,coef_Services_23day,coef_Services_4day -#util_SalesOffice,SalesOffice,@df.occup==53,0,coef_SalesOffice_1day,coef_SalesOffice_23day,coef_SalesOffice_4day -#util_ResourceConstruct,ResourceConstruct,@df.occup==54,0,coef_ResourceConstruct_1day,coef_ResourceConstruct_23day,coef_ResourceConstruct_4day -#util_TransportMat,TransportMat,@df.occup==55,0,coef_TransportMat_1day,coef_TransportMat_23day,coef_TransportMat_4day -util_HasChildren0to5,Has children 0 to 5 years old,@df.has_young_children,0,coef_HasChildren0to5_1day,coef_HasChildren0to5_23day,coef_HasChildren0to5_4day -util_HasChildren6to12,Has children 6 to 12 years old,@df.has_children_6_to_12,0,coef_HasChildren6to12_1day,coef_HasChildren6to12_23day,coef_HasChildren6to12_4day -util_OneAdultInHH,One adult in hh,@df.num_adults==1,0,coef_OneAdultInHH_1day,coef_OneAdultInHH_23day,coef_OneAdultInHH_4day -util_2plusAdultsInHH,2 or more adults in hh,@df.num_adults==2,0,coef_2plusAdultsInHH_1day,coef_2plusAdultsInHH_23day,coef_2plusAdultsInHH_4day -util_Female,female,@df.sex==2,0,coef_Female_1day,coef_Female_23day,coef_Female_4day -util_PartTimeWorker,Part-time worker,@df.pemploy==PEMPLOY_PART,0,coef_PartTimeWorker_1day,coef_PartTimeWorker_23day,coef_PartTimeWorker_4day -util_CollegeStudent,College student,@df.ptype==PTYPE_UNIVERSITY,0,coef_CollegeStudent_1day,coef_CollegeStudent_23day,coef_CollegeStudent_4day -util_PaysToPark,Pays to park,@~df.free_parking_at_work,0,coef_PaysToPark_1day,coef_PaysToPark_23day,coef_PaysToPark_4day -util_Income60to100k,Income 60-100k,"@df.income.between(60000, 100000)",0,coef_Income60to100k_1day,coef_Income60to100k_23day,coef_Income60to100k_4day -util_Income100to150k,Income 100-150k,"@df.income.between(100000, 150000)",0,coef_Income100to150k_1day,coef_Income100to150k_23day,coef_Income100to150k_4day -util_Income150kplus,Income 150k+,@df.income > 150000,0,coef_Income150kplus_1day,coef_Income150kplus_23day,coef_Income150kplus_4day -util_0Autos,0 Autos,@df.auto_ownership==0,0,coef_0Autos_1day,coef_0Autos_23day,coef_0Autos_4day -util_1Auto,1 Auto,@df.auto_ownership==1,0,coef_1Auto_1day,coef_1Auto_23day,coef_1Auto_4day -util_3plusAutos,3+ Autos,@df.auto_ownership>=3,0,coef_3plusAutos_1day,coef_3plusAutos_23day,coef_3plusAutos_4day -util_DistanceToWork,Distance to work,@df.distance_to_work,0,coef_DistanceToWork_1day,coef_DistanceToWork_23day,coef_DistanceToWork_4day -util_temp,temp_calibration,1,0.00,-4.00,-4.25,-6.00 +Label,Description,Expression,No_Telecommute,1_day_week,2_3_days_week,4_days_week +#util_Services,Services,@df.occup==52,0,coef_Services_1day,coef_Services_23day,coef_Services_4day +#util_SalesOffice,SalesOffice,@df.occup==53,0,coef_SalesOffice_1day,coef_SalesOffice_23day,coef_SalesOffice_4day +#util_ResourceConstruct,ResourceConstruct,@df.occup==54,0,coef_ResourceConstruct_1day,coef_ResourceConstruct_23day,coef_ResourceConstruct_4day +#util_TransportMat,TransportMat,@df.occup==55,0,coef_TransportMat_1day,coef_TransportMat_23day,coef_TransportMat_4day +util_HasChildren0to5,Has children 0 to 5 years old,@df.has_young_children,0,coef_HasChildren0to5_1day,coef_HasChildren0to5_23day,coef_HasChildren0to5_4day +util_HasChildren6to12,Has children 6 to 12 years old,@df.has_children_6_to_12,0,coef_HasChildren6to12_1day,coef_HasChildren6to12_23day,coef_HasChildren6to12_4day +util_OneAdultInHH,One adult in hh,@df.num_adults==1,0,coef_OneAdultInHH_1day,coef_OneAdultInHH_23day,coef_OneAdultInHH_4day +util_2plusAdultsInHH,2 or more adults in hh,@df.num_adults==2,0,coef_2plusAdultsInHH_1day,coef_2plusAdultsInHH_23day,coef_2plusAdultsInHH_4day +util_Female,female,@df.sex==2,0,coef_Female_1day,coef_Female_23day,coef_Female_4day +util_PartTimeWorker,Part-time worker,@df.pemploy==PEMPLOY_PART,0,coef_PartTimeWorker_1day,coef_PartTimeWorker_23day,coef_PartTimeWorker_4day +util_CollegeStudent,College student,@df.ptype==PTYPE_UNIVERSITY,0,coef_CollegeStudent_1day,coef_CollegeStudent_23day,coef_CollegeStudent_4day +util_PaysToPark,Pays to park,@~df.free_parking_at_work,0,coef_PaysToPark_1day,coef_PaysToPark_23day,coef_PaysToPark_4day +util_Income60to100k,Income 60-100k,"@df.income.between(60000, 100000)",0,coef_Income60to100k_1day,coef_Income60to100k_23day,coef_Income60to100k_4day +util_Income100to150k,Income 100-150k,"@df.income.between(100000, 150000)",0,coef_Income100to150k_1day,coef_Income100to150k_23day,coef_Income100to150k_4day +util_Income150kplus,Income 150k+,@df.income > 150000,0,coef_Income150kplus_1day,coef_Income150kplus_23day,coef_Income150kplus_4day +util_0Autos,0 Autos,@df.auto_ownership==0,0,coef_0Autos_1day,coef_0Autos_23day,coef_0Autos_4day +util_1Auto,1 Auto,@df.auto_ownership==1,0,coef_1Auto_1day,coef_1Auto_23day,coef_1Auto_4day +util_3plusAutos,3+ Autos,@df.auto_ownership>=3,0,coef_3plusAutos_1day,coef_3plusAutos_23day,coef_3plusAutos_4day +util_DistanceToWork,Distance to work,@df.distance_to_work,0,coef_DistanceToWork_1day,coef_DistanceToWork_23day,coef_DistanceToWork_4day +util_temp,temp_calibration,1,0.00,-4.00,-4.25,-6.00 diff --git a/activitysim/examples/example_semcog/configs/telecommute_frequency.yaml b/activitysim/examples/prototype_semcog/configs/telecommute_frequency.yaml similarity index 94% rename from activitysim/examples/example_semcog/configs/telecommute_frequency.yaml rename to activitysim/examples/prototype_semcog/configs/telecommute_frequency.yaml index 7b69e136e3..162066ef6b 100755 --- a/activitysim/examples/example_semcog/configs/telecommute_frequency.yaml +++ b/activitysim/examples/prototype_semcog/configs/telecommute_frequency.yaml @@ -1,9 +1,9 @@ - -# borrowed from free parking model - -SPEC: telecommute_frequency.csv -COEFFICIENTS: telecommute_frequency_coeffs.csv - -#LOGIT_TYPE: NL -LOGIT_TYPE: MNL - + +# borrowed from free parking model + +SPEC: telecommute_frequency.csv +COEFFICIENTS: telecommute_frequency_coeffs.csv + +#LOGIT_TYPE: NL +LOGIT_TYPE: MNL + diff --git a/activitysim/examples/example_semcog/configs/telecommute_frequency_coeffs.csv b/activitysim/examples/prototype_semcog/configs/telecommute_frequency_coeffs.csv similarity index 97% rename from activitysim/examples/example_semcog/configs/telecommute_frequency_coeffs.csv rename to activitysim/examples/prototype_semcog/configs/telecommute_frequency_coeffs.csv index f07ec2e373..e4aeff94da 100755 --- a/activitysim/examples/example_semcog/configs/telecommute_frequency_coeffs.csv +++ b/activitysim/examples/prototype_semcog/configs/telecommute_frequency_coeffs.csv @@ -1,58 +1,58 @@ -coefficient_name,coefficient_name,value,constrain -coef_Services_1day,Services,-1.624,F -coef_SalesOffice_1day,SalesOffice,-0.62,F -coef_ResourceConstruct_1day,ResourceConstruct,-1.57,F -coef_TransportMat_1day,TransportMat,-14.747,F -coef_HasChildren0to5_1day,HasChildren0to5,0,F -coef_HasChildren6to12_1day,HasChildren6to12,0,F -coef_OneAdultInHH_1day,OneAdultInHH,0.177,F -coef_2plusAdultsInHH_1day,2plusAdultsInHH,0,F -coef_Female_1day,Female,0,F -coef_PartTimeWorker_1day,PartTimeWorker,0,F -coef_CollegeStudent_1day,CollegeStudent,0,F -coef_PaysToPark_1day,PaysToPark,0.457,F -coef_Income60to100k_1day,Income60to100k,0.56,F -coef_Income100to150k_1day,Income100to150k,0.644,F -coef_Income150kplus_1day,Income150kplus,0.92,F -coef_0Autos_1day,0Autos,0,F -coef_1Auto_1day,1Auto,0,F -coef_3plusAutos_1day,3plusAutos,0,F -coef_DistanceToWork_1day,DistanceToWork,0.016,F -coef_Services_23day,Services,-0.651,F -coef_SalesOffice_23day,SalesOffice,-0.738,F -coef_ResourceConstruct_23day,ResourceConstruct,0,F -coef_TransportMat_23day,TransportMat,0,F -coef_HasChildren0to5_23day,HasChildren0to5,0,F -coef_HasChildren6to12_23day,HasChildren6to12,0.517,F -coef_OneAdultInHH_23day,OneAdultInHH,0,F -coef_2plusAdultsInHH_23day,2plusAdultsInHH,0,F -coef_Female_23day,Female,0,F -coef_PartTimeWorker_23day,PartTimeWorker,0.425,F -coef_CollegeStudent_23day,CollegeStudent,0.6,F -coef_PaysToPark_23day,PaysToPark,0,F -coef_Income60to100k_23day,Income60to100k,0.389,F -coef_Income100to150k_23day,Income100to150k,0.193,F -coef_Income150kplus_23day,Income150kplus,0.765,F -coef_0Autos_23day,0Autos,0.407,F -coef_1Auto_23day,1Auto,0,F -coef_3plusAutos_23day,3plusAutos,-0.73,F -coef_DistanceToWork_23day,DistanceToWork,0,F -coef_Services_4day,Services,0,F -coef_SalesOffice_4day,SalesOffice,-0.894,F -coef_ResourceConstruct_4day,ResourceConstruct,0,F -coef_TransportMat_4day,TransportMat,0,F -coef_HasChildren0to5_4day,HasChildren0to5,-0.864,F -coef_HasChildren6to12_4day,HasChildren6to12,-0.81,F -coef_OneAdultInHH_4day,OneAdultInHH,-0.043,F -coef_2plusAdultsInHH_4day,2plusAdultsInHH,0,F -coef_Female_4day,Female,0,F -coef_PartTimeWorker_4day,PartTimeWorker,1.112,F -coef_CollegeStudent_4day,CollegeStudent,0,F -coef_PaysToPark_4day,PaysToPark,0,F -coef_Income60to100k_4day,Income60to100k,0,F -coef_Income100to150k_4day,Income100to150k,0,F -coef_Income150kplus_4day,Income150kplus,0,F -coef_0Autos_4day,0Autos,0,F -coef_1Auto_4day,1Auto,0,F -coef_3plusAutos_4day,3plusAutos,0,F -coef_DistanceToWork_4day,DistanceToWork,0,F +coefficient_name,coefficient_name,value,constrain +coef_Services_1day,Services,-1.624,F +coef_SalesOffice_1day,SalesOffice,-0.62,F +coef_ResourceConstruct_1day,ResourceConstruct,-1.57,F +coef_TransportMat_1day,TransportMat,-14.747,F +coef_HasChildren0to5_1day,HasChildren0to5,0,F +coef_HasChildren6to12_1day,HasChildren6to12,0,F +coef_OneAdultInHH_1day,OneAdultInHH,0.177,F +coef_2plusAdultsInHH_1day,2plusAdultsInHH,0,F +coef_Female_1day,Female,0,F +coef_PartTimeWorker_1day,PartTimeWorker,0,F +coef_CollegeStudent_1day,CollegeStudent,0,F +coef_PaysToPark_1day,PaysToPark,0.457,F +coef_Income60to100k_1day,Income60to100k,0.56,F +coef_Income100to150k_1day,Income100to150k,0.644,F +coef_Income150kplus_1day,Income150kplus,0.92,F +coef_0Autos_1day,0Autos,0,F +coef_1Auto_1day,1Auto,0,F +coef_3plusAutos_1day,3plusAutos,0,F +coef_DistanceToWork_1day,DistanceToWork,0.016,F +coef_Services_23day,Services,-0.651,F +coef_SalesOffice_23day,SalesOffice,-0.738,F +coef_ResourceConstruct_23day,ResourceConstruct,0,F +coef_TransportMat_23day,TransportMat,0,F +coef_HasChildren0to5_23day,HasChildren0to5,0,F +coef_HasChildren6to12_23day,HasChildren6to12,0.517,F +coef_OneAdultInHH_23day,OneAdultInHH,0,F +coef_2plusAdultsInHH_23day,2plusAdultsInHH,0,F +coef_Female_23day,Female,0,F +coef_PartTimeWorker_23day,PartTimeWorker,0.425,F +coef_CollegeStudent_23day,CollegeStudent,0.6,F +coef_PaysToPark_23day,PaysToPark,0,F +coef_Income60to100k_23day,Income60to100k,0.389,F +coef_Income100to150k_23day,Income100to150k,0.193,F +coef_Income150kplus_23day,Income150kplus,0.765,F +coef_0Autos_23day,0Autos,0.407,F +coef_1Auto_23day,1Auto,0,F +coef_3plusAutos_23day,3plusAutos,-0.73,F +coef_DistanceToWork_23day,DistanceToWork,0,F +coef_Services_4day,Services,0,F +coef_SalesOffice_4day,SalesOffice,-0.894,F +coef_ResourceConstruct_4day,ResourceConstruct,0,F +coef_TransportMat_4day,TransportMat,0,F +coef_HasChildren0to5_4day,HasChildren0to5,-0.864,F +coef_HasChildren6to12_4day,HasChildren6to12,-0.81,F +coef_OneAdultInHH_4day,OneAdultInHH,-0.043,F +coef_2plusAdultsInHH_4day,2plusAdultsInHH,0,F +coef_Female_4day,Female,0,F +coef_PartTimeWorker_4day,PartTimeWorker,1.112,F +coef_CollegeStudent_4day,CollegeStudent,0,F +coef_PaysToPark_4day,PaysToPark,0,F +coef_Income60to100k_4day,Income60to100k,0,F +coef_Income100to150k_4day,Income100to150k,0,F +coef_Income150kplus_4day,Income150kplus,0,F +coef_0Autos_4day,0Autos,0,F +coef_1Auto_4day,1Auto,0,F +coef_3plusAutos_4day,3plusAutos,0,F +coef_DistanceToWork_4day,DistanceToWork,0,F diff --git a/activitysim/examples/prototype_semcog/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/prototype_semcog/configs/tour_departure_and_duration_alternatives.csv new file mode 100755 index 0000000000..30ff417ca9 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_departure_and_duration_alternatives.csv @@ -0,0 +1,1177 @@ +start,end +1,1 +1,2 +1,3 +1,4 +1,5 +1,6 +1,7 +1,8 +1,9 +1,10 +1,11 +1,12 +1,13 +1,14 +1,15 +1,16 +1,17 +1,18 +1,19 +1,20 +1,21 +1,22 +1,23 +1,24 +1,25 +1,26 +1,27 +1,28 +1,29 +1,30 +1,31 +1,32 +1,33 +1,34 +1,35 +1,36 +1,37 +1,38 +1,39 +1,40 +1,41 +1,42 +1,43 +1,44 +1,45 +1,46 +1,47 +1,48 +2,2 +2,3 +2,4 +2,5 +2,6 +2,7 +2,8 +2,9 +2,10 +2,11 +2,12 +2,13 +2,14 +2,15 +2,16 +2,17 +2,18 +2,19 +2,20 +2,21 +2,22 +2,23 +2,24 +2,25 +2,26 +2,27 +2,28 +2,29 +2,30 +2,31 +2,32 +2,33 +2,34 +2,35 +2,36 +2,37 +2,38 +2,39 +2,40 +2,41 +2,42 +2,43 +2,44 +2,45 +2,46 +2,47 +2,48 +3,3 +3,4 +3,5 +3,6 +3,7 +3,8 +3,9 +3,10 +3,11 +3,12 +3,13 +3,14 +3,15 +3,16 +3,17 +3,18 +3,19 +3,20 +3,21 +3,22 +3,23 +3,24 +3,25 +3,26 +3,27 +3,28 +3,29 +3,30 +3,31 +3,32 +3,33 +3,34 +3,35 +3,36 +3,37 +3,38 +3,39 +3,40 +3,41 +3,42 +3,43 +3,44 +3,45 +3,46 +3,47 +3,48 +4,4 +4,5 +4,6 +4,7 +4,8 +4,9 +4,10 +4,11 +4,12 +4,13 +4,14 +4,15 +4,16 +4,17 +4,18 +4,19 +4,20 +4,21 +4,22 +4,23 +4,24 +4,25 +4,26 +4,27 +4,28 +4,29 +4,30 +4,31 +4,32 +4,33 +4,34 +4,35 +4,36 +4,37 +4,38 +4,39 +4,40 +4,41 +4,42 +4,43 +4,44 +4,45 +4,46 +4,47 +4,48 +5,5 +5,6 +5,7 +5,8 +5,9 +5,10 +5,11 +5,12 +5,13 +5,14 +5,15 +5,16 +5,17 +5,18 +5,19 +5,20 +5,21 +5,22 +5,23 +5,24 +5,25 +5,26 +5,27 +5,28 +5,29 +5,30 +5,31 +5,32 +5,33 +5,34 +5,35 +5,36 +5,37 +5,38 +5,39 +5,40 +5,41 +5,42 +5,43 +5,44 +5,45 +5,46 +5,47 +5,48 +6,6 +6,7 +6,8 +6,9 +6,10 +6,11 +6,12 +6,13 +6,14 +6,15 +6,16 +6,17 +6,18 +6,19 +6,20 +6,21 +6,22 +6,23 +6,24 +6,25 +6,26 +6,27 +6,28 +6,29 +6,30 +6,31 +6,32 +6,33 +6,34 +6,35 +6,36 +6,37 +6,38 +6,39 +6,40 +6,41 +6,42 +6,43 +6,44 +6,45 +6,46 +6,47 +6,48 +7,7 +7,8 +7,9 +7,10 +7,11 +7,12 +7,13 +7,14 +7,15 +7,16 +7,17 +7,18 +7,19 +7,20 +7,21 +7,22 +7,23 +7,24 +7,25 +7,26 +7,27 +7,28 +7,29 +7,30 +7,31 +7,32 +7,33 +7,34 +7,35 +7,36 +7,37 +7,38 +7,39 +7,40 +7,41 +7,42 +7,43 +7,44 +7,45 +7,46 +7,47 +7,48 +8,8 +8,9 +8,10 +8,11 +8,12 +8,13 +8,14 +8,15 +8,16 +8,17 +8,18 +8,19 +8,20 +8,21 +8,22 +8,23 +8,24 +8,25 +8,26 +8,27 +8,28 +8,29 +8,30 +8,31 +8,32 +8,33 +8,34 +8,35 +8,36 +8,37 +8,38 +8,39 +8,40 +8,41 +8,42 +8,43 +8,44 +8,45 +8,46 +8,47 +8,48 +9,9 +9,10 +9,11 +9,12 +9,13 +9,14 +9,15 +9,16 +9,17 +9,18 +9,19 +9,20 +9,21 +9,22 +9,23 +9,24 +9,25 +9,26 +9,27 +9,28 +9,29 +9,30 +9,31 +9,32 +9,33 +9,34 +9,35 +9,36 +9,37 +9,38 +9,39 +9,40 +9,41 +9,42 +9,43 +9,44 +9,45 +9,46 +9,47 +9,48 +10,10 +10,11 +10,12 +10,13 +10,14 +10,15 +10,16 +10,17 +10,18 +10,19 +10,20 +10,21 +10,22 +10,23 +10,24 +10,25 +10,26 +10,27 +10,28 +10,29 +10,30 +10,31 +10,32 +10,33 +10,34 +10,35 +10,36 +10,37 +10,38 +10,39 +10,40 +10,41 +10,42 +10,43 +10,44 +10,45 +10,46 +10,47 +10,48 +11,11 +11,12 +11,13 +11,14 +11,15 +11,16 +11,17 +11,18 +11,19 +11,20 +11,21 +11,22 +11,23 +11,24 +11,25 +11,26 +11,27 +11,28 +11,29 +11,30 +11,31 +11,32 +11,33 +11,34 +11,35 +11,36 +11,37 +11,38 +11,39 +11,40 +11,41 +11,42 +11,43 +11,44 +11,45 +11,46 +11,47 +11,48 +12,12 +12,13 +12,14 +12,15 +12,16 +12,17 +12,18 +12,19 +12,20 +12,21 +12,22 +12,23 +12,24 +12,25 +12,26 +12,27 +12,28 +12,29 +12,30 +12,31 +12,32 +12,33 +12,34 +12,35 +12,36 +12,37 +12,38 +12,39 +12,40 +12,41 +12,42 +12,43 +12,44 +12,45 +12,46 +12,47 +12,48 +13,13 +13,14 +13,15 +13,16 +13,17 +13,18 +13,19 +13,20 +13,21 +13,22 +13,23 +13,24 +13,25 +13,26 +13,27 +13,28 +13,29 +13,30 +13,31 +13,32 +13,33 +13,34 +13,35 +13,36 +13,37 +13,38 +13,39 +13,40 +13,41 +13,42 +13,43 +13,44 +13,45 +13,46 +13,47 +13,48 +14,14 +14,15 +14,16 +14,17 +14,18 +14,19 +14,20 +14,21 +14,22 +14,23 +14,24 +14,25 +14,26 +14,27 +14,28 +14,29 +14,30 +14,31 +14,32 +14,33 +14,34 +14,35 +14,36 +14,37 +14,38 +14,39 +14,40 +14,41 +14,42 +14,43 +14,44 +14,45 +14,46 +14,47 +14,48 +15,15 +15,16 +15,17 +15,18 +15,19 +15,20 +15,21 +15,22 +15,23 +15,24 +15,25 +15,26 +15,27 +15,28 +15,29 +15,30 +15,31 +15,32 +15,33 +15,34 +15,35 +15,36 +15,37 +15,38 +15,39 +15,40 +15,41 +15,42 +15,43 +15,44 +15,45 +15,46 +15,47 +15,48 +16,16 +16,17 +16,18 +16,19 +16,20 +16,21 +16,22 +16,23 +16,24 +16,25 +16,26 +16,27 +16,28 +16,29 +16,30 +16,31 +16,32 +16,33 +16,34 +16,35 +16,36 +16,37 +16,38 +16,39 +16,40 +16,41 +16,42 +16,43 +16,44 +16,45 +16,46 +16,47 +16,48 +17,17 +17,18 +17,19 +17,20 +17,21 +17,22 +17,23 +17,24 +17,25 +17,26 +17,27 +17,28 +17,29 +17,30 +17,31 +17,32 +17,33 +17,34 +17,35 +17,36 +17,37 +17,38 +17,39 +17,40 +17,41 +17,42 +17,43 +17,44 +17,45 +17,46 +17,47 +17,48 +18,18 +18,19 +18,20 +18,21 +18,22 +18,23 +18,24 +18,25 +18,26 +18,27 +18,28 +18,29 +18,30 +18,31 +18,32 +18,33 +18,34 +18,35 +18,36 +18,37 +18,38 +18,39 +18,40 +18,41 +18,42 +18,43 +18,44 +18,45 +18,46 +18,47 +18,48 +19,19 +19,20 +19,21 +19,22 +19,23 +19,24 +19,25 +19,26 +19,27 +19,28 +19,29 +19,30 +19,31 +19,32 +19,33 +19,34 +19,35 +19,36 +19,37 +19,38 +19,39 +19,40 +19,41 +19,42 +19,43 +19,44 +19,45 +19,46 +19,47 +19,48 +20,20 +20,21 +20,22 +20,23 +20,24 +20,25 +20,26 +20,27 +20,28 +20,29 +20,30 +20,31 +20,32 +20,33 +20,34 +20,35 +20,36 +20,37 +20,38 +20,39 +20,40 +20,41 +20,42 +20,43 +20,44 +20,45 +20,46 +20,47 +20,48 +21,21 +21,22 +21,23 +21,24 +21,25 +21,26 +21,27 +21,28 +21,29 +21,30 +21,31 +21,32 +21,33 +21,34 +21,35 +21,36 +21,37 +21,38 +21,39 +21,40 +21,41 +21,42 +21,43 +21,44 +21,45 +21,46 +21,47 +21,48 +22,22 +22,23 +22,24 +22,25 +22,26 +22,27 +22,28 +22,29 +22,30 +22,31 +22,32 +22,33 +22,34 +22,35 +22,36 +22,37 +22,38 +22,39 +22,40 +22,41 +22,42 +22,43 +22,44 +22,45 +22,46 +22,47 +22,48 +23,23 +23,24 +23,25 +23,26 +23,27 +23,28 +23,29 +23,30 +23,31 +23,32 +23,33 +23,34 +23,35 +23,36 +23,37 +23,38 +23,39 +23,40 +23,41 +23,42 +23,43 +23,44 +23,45 +23,46 +23,47 +23,48 +24,24 +24,25 +24,26 +24,27 +24,28 +24,29 +24,30 +24,31 +24,32 +24,33 +24,34 +24,35 +24,36 +24,37 +24,38 +24,39 +24,40 +24,41 +24,42 +24,43 +24,44 +24,45 +24,46 +24,47 +24,48 +25,25 +25,26 +25,27 +25,28 +25,29 +25,30 +25,31 +25,32 +25,33 +25,34 +25,35 +25,36 +25,37 +25,38 +25,39 +25,40 +25,41 +25,42 +25,43 +25,44 +25,45 +25,46 +25,47 +25,48 +26,26 +26,27 +26,28 +26,29 +26,30 +26,31 +26,32 +26,33 +26,34 +26,35 +26,36 +26,37 +26,38 +26,39 +26,40 +26,41 +26,42 +26,43 +26,44 +26,45 +26,46 +26,47 +26,48 +27,27 +27,28 +27,29 +27,30 +27,31 +27,32 +27,33 +27,34 +27,35 +27,36 +27,37 +27,38 +27,39 +27,40 +27,41 +27,42 +27,43 +27,44 +27,45 +27,46 +27,47 +27,48 +28,28 +28,29 +28,30 +28,31 +28,32 +28,33 +28,34 +28,35 +28,36 +28,37 +28,38 +28,39 +28,40 +28,41 +28,42 +28,43 +28,44 +28,45 +28,46 +28,47 +28,48 +29,29 +29,30 +29,31 +29,32 +29,33 +29,34 +29,35 +29,36 +29,37 +29,38 +29,39 +29,40 +29,41 +29,42 +29,43 +29,44 +29,45 +29,46 +29,47 +29,48 +30,30 +30,31 +30,32 +30,33 +30,34 +30,35 +30,36 +30,37 +30,38 +30,39 +30,40 +30,41 +30,42 +30,43 +30,44 +30,45 +30,46 +30,47 +30,48 +31,31 +31,32 +31,33 +31,34 +31,35 +31,36 +31,37 +31,38 +31,39 +31,40 +31,41 +31,42 +31,43 +31,44 +31,45 +31,46 +31,47 +31,48 +32,32 +32,33 +32,34 +32,35 +32,36 +32,37 +32,38 +32,39 +32,40 +32,41 +32,42 +32,43 +32,44 +32,45 +32,46 +32,47 +32,48 +33,33 +33,34 +33,35 +33,36 +33,37 +33,38 +33,39 +33,40 +33,41 +33,42 +33,43 +33,44 +33,45 +33,46 +33,47 +33,48 +34,34 +34,35 +34,36 +34,37 +34,38 +34,39 +34,40 +34,41 +34,42 +34,43 +34,44 +34,45 +34,46 +34,47 +34,48 +35,35 +35,36 +35,37 +35,38 +35,39 +35,40 +35,41 +35,42 +35,43 +35,44 +35,45 +35,46 +35,47 +35,48 +36,36 +36,37 +36,38 +36,39 +36,40 +36,41 +36,42 +36,43 +36,44 +36,45 +36,46 +36,47 +36,48 +37,37 +37,38 +37,39 +37,40 +37,41 +37,42 +37,43 +37,44 +37,45 +37,46 +37,47 +37,48 +38,38 +38,39 +38,40 +38,41 +38,42 +38,43 +38,44 +38,45 +38,46 +38,47 +38,48 +39,39 +39,40 +39,41 +39,42 +39,43 +39,44 +39,45 +39,46 +39,47 +39,48 +40,40 +40,41 +40,42 +40,43 +40,44 +40,45 +40,46 +40,47 +40,48 +41,41 +41,42 +41,43 +41,44 +41,45 +41,46 +41,47 +41,48 +42,42 +42,43 +42,44 +42,45 +42,46 +42,47 +42,48 +43,43 +43,44 +43,45 +43,46 +43,47 +43,48 +44,44 +44,45 +44,46 +44,47 +44,48 +45,45 +45,46 +45,47 +45,48 +46,46 +46,47 +46,48 +47,47 +47,48 +48,48 diff --git a/activitysim/examples/example_semcog/configs/tour_departure_and_duration_segments.csv b/activitysim/examples/prototype_semcog/configs/tour_departure_and_duration_segments.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_departure_and_duration_segments.csv rename to activitysim/examples/prototype_semcog/configs/tour_departure_and_duration_segments.csv diff --git a/activitysim/examples/prototype_semcog/configs/tour_mode_choice.csv b/activitysim/examples/prototype_semcog/configs/tour_mode_choice.csv new file mode 100755 index 0000000000..14e13a802f --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_mode_choice.csv @@ -0,0 +1,323 @@ +Label,Description,Expression,DRIVEALONE,SHARED2,SHARED3,WALK,BIKE,WALK_LOC,WALK_PRM,WALK_MIX,PNR_LOC,PNR_PRM,PNR_MIX,KNR_LOC,KNR_PRM,KNR_MIX,SCHOOLBUS,TAXI,TNC_SINGLE,TNC_SHARED +#Drive_alone_no_toll,#Drive alone no toll,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable,DRIVEALONE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable_for_persons_less_than_16,DRIVEALONE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable_forJoint_tours,DRIVEALONE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable_if_didn't_drive_to_work,DRIVEALONE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,, +util_DRIVEALONE_In_vehicle_time,DRIVEALONE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Terminal_time,DRIVEALONE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,0,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Operating_cost_,DRIVEALONE - Operating cost ,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Parking_cost_,DRIVEALONE - Parking cost ,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Bridge_toll_,DRIVEALONE - Bridge toll ,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),0,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Person_is_between_16_and_19_years_old,DRIVEALONE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,, +#Shared_ride_2,#Shared ride 2,,,,,,,,,,,,,,,,,,, +util_SHARED2_Unavailable,SHARED2 - Unavailable,hov2_available == False,,-999,,,,,,,,,,,,,,,, +util_SHARED2_Unavailable_based_on_party_size,SHARED2 - Unavailable based on party size,is_joint & (number_of_participants > 2),,-999,,,,,,,,,,,,,,,, +util_SHARED2_In_vehicle_time,SHARED2 - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED2_Terminal_time,SHARED2 - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,0,,,,,,,,,,,,,,,, +util_SHARED2_Operating_cost,SHARED2 - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED2_Parking_cost,SHARED2 - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED2_Bridge_toll,SHARED2 - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,0,,,,,,,,,,,,,,,, +util_SHARED2_One_person_household,SHARED2 - One person household,@(df.hhsize == 1),,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED2_Two_person_household,SHARED2 - Two person household,@(df.hhsize == 2),,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED2_Person_is_16_years_old_or_older,SHARED2 - Person is 16 years old or older,@(df.age >= 16),,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, +#Shared_ride_3+,#Shared ride 3+,,,,,,,,,,,,,,,,,,, +util_SHARED3_Unavailable,SHARED3 - Unavailable,hov3_available == False,,,-999,,,,,,,,,,,,,,, +util_SHARED3_In_vehicle_time,SHARED3 - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3_Terminal_time,SHARED3 - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,0,,,,,,,,,,,,,,, +util_SHARED3_Operating_cost,SHARED3 - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3_Parking_cost,SHARED3 - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3_Bridge_toll,SHARED3 - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,0,,,,,,,,,,,,,,, +util_SHARED3_One_person_household,SHARED3 - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3_Two_person_household,SHARED3 - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3_Person_is_16_years_old_or_older,SHARED3 - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, +#util_WALK,#Walk,,,,,,,,,,,,,,,,,,, +#FIXME_skims_aren't_symmetrical,#FIXME - skims aren't symmetrical, so we have to make sure they can get back,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,coef_ivt,,,,,,,,,,,,,, +#util_BIKE,#Bike,,,,,,,,,,,,,,,,,,, +#FIXME_skims_aren't_symmetrical,#FIXME - skims aren't symmetrical, so we have to make sure they can get back,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_BIKE_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,coef_ivt,,,,,,,,,,,,, +#util_WALK_to_Local,#Walk to Local,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_IVT'] + dot_skims['WLK_LOC_IVT']),,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_IWAIT']).clip(upper=waitThresh) + (dot_skims['WLK_LOC_IWAIT']).clip(upper=waitThresh)),,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_IWAIT']-waitThresh).clip(0) + (dot_skims['WLK_LOC_IWAIT']-waitThresh).clip(0)),,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_XWAIT'] + dot_skims['WLK_LOC_XWAIT']),,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_NT']).clip(0) + (dot_skims['WLK_LOC_NT']).clip(0)),,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@wacc_multiplier * 2 * df.origin_walk_time,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@wegr_multiplier * 2 * df.destination_walk_time,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WAUX'] + dot_skims['WLK_LOC_WAUX']),,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.fare_discount_percent * df.ivot * (odt_skims['WLK_LOC_FARE'] + dot_skims['WLK_LOC_FARE']),,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, +#util_WALK_to_Premium,#Walk to Premium,,,,,,,,,,,,,,,,,,, +util_WALK_PRM_Unavailable,WALK_PRM - Unavailable,walk_premium_available == False,,,,,,,-999,,,,,,,,,,, +util_WALK_PRM_In_vehicle_time,WALK_PRM - In-vehicle time,@(odt_skims['WLK_PRM_IVT'] + dot_skims['WLK_PRM_IVT']),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_In_vehicle_time_on_PMov,WALK_PRM - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['WLK_PRM_IVTT_PMov'] + dot_skims['WLK_PRM_IVTT_PMov']),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_In_vehicle_time_on_StCar,WALK_PRM - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['WLK_PRM_IVTT_StCar'] + dot_skims['WLK_PRM_IVTT_StCar']),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_In_vehicle_time_on_BRT,WALK_PRM - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['WLK_PRM_IVTT_Brt'] + dot_skims['WLK_PRM_IVTT_Brt']),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_In_vehicle_time_on_URB,WALK_PRM - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['WLK_PRM_IVTT_UrbRail'] + dot_skims['WLK_PRM_IVTT_UrbRail']),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_In_vehicle_time_on_COM,WALK_PRM - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['WLK_PRM_IVTT_ComRail'] + dot_skims['WLK_PRM_IVTT_ComRail']),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_Short_iwait_time,WALK_PRM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_PRM_IWAIT']).clip(upper=waitThresh) + (dot_skims['WLK_PRM_IWAIT']).clip(upper=waitThresh)),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_Long_iwait_time,WALK_PRM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_PRM_IWAIT']-waitThresh).clip(0) + (dot_skims['WLK_PRM_IWAIT']-waitThresh).clip(0)),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_transfer_wait_time,WALK_PRM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_PRM_XWAIT'] + dot_skims['WLK_PRM_XWAIT']),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_number_of_transfers,WALK_PRM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_PRM_NT']).clip(0) + (dot_skims['WLK_PRM_NT']).clip(0)),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_Walk_access_time,WALK_PRM - Walk access time,@wacc_multiplier * 2 * df.origin_walk_time,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_Walk_egress_time,WALK_PRM - Walk egress time,@wegr_multiplier * 2 * df.destination_walk_time,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_Walk_other_time,WALK_PRM - Walk other time,@waux_multiplier * (odt_skims['WLK_PRM_WAUX'] + dot_skims['WLK_PRM_WAUX']),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_Fare,WALK_PRM - Fare,@ivt_cost_multiplier * df.fare_discount_percent * df.ivot * (odt_skims['WLK_PRM_FARE'] + dot_skims['WLK_PRM_FARE']),,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_Destination_zone_densityIndex,WALK_PRM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_Topology,WALK_PRM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_PRM_Person_is_less_than_10_years_old,WALK_PRM - Person is less than 10 years old,@(df.age <= 10),,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, +#util_WALK_to_MIX,#Walk to MIX,,,,,,,,,,,,,,,,,,, +util_WALK_MIX_Unavailable,WALK_MIX - Unavailable,walk_mix_available == False,,,,,,,,-999,,,,,,,,,, +util_WALK_MIX_In_vehicle_time,WALK_MIX - In-vehicle time,@(odt_skims['WLK_MIX_IVT'] + dot_skims['WLK_MIX_IVT']),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_In_vehicle_time_on_Bus,WALK_MIX - In-vehicle time on Bus,@(odt_skims['WLK_MIX_IVTT_Bus'] + dot_skims['WLK_MIX_IVTT_Bus']),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_In_vehicle_time_on_PMov,WALK_MIX - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['WLK_MIX_IVTT_PMov'] + dot_skims['WLK_MIX_IVTT_PMov']),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_In_vehicle_time_on_StCar,WALK_MIX - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['WLK_MIX_IVTT_StCar'] + dot_skims['WLK_MIX_IVTT_StCar']),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_In_vehicle_time_on_BRT,WALK_MIX - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['WLK_MIX_IVTT_Brt'] + dot_skims['WLK_MIX_IVTT_Brt']),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_In_vehicle_time_on_URB,WALK_MIX - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['WLK_MIX_IVTT_UrbRail'] + dot_skims['WLK_MIX_IVTT_UrbRail']),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_In_vehicle_time_on_COM,WALK_MIX - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['WLK_MIX_IVTT_ComRail'] + dot_skims['WLK_MIX_IVTT_ComRail']),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_Short_iwait_time,WALK_MIX - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_MIX_IWAIT']).clip(upper=waitThresh) + (dot_skims['WLK_MIX_IWAIT']).clip(upper=waitThresh)),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_Long_iwait_time,WALK_MIX - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_MIX_IWAIT']-waitThresh).clip(0) + (dot_skims['WLK_MIX_IWAIT']-waitThresh).clip(0)),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_transfer_wait_time,WALK_MIX - transfer wait time,@xwait_multiplier * (odt_skims['WLK_MIX_XWAIT'] + dot_skims['WLK_MIX_XWAIT']),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_number_of_transfers,WALK_MIX - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_MIX_NT']).clip(0) + (dot_skims['WLK_MIX_NT']).clip(0)),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_Walk_access_time,WALK_MIX - Walk access time,@wacc_multiplier * 2 * df.origin_walk_time,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_Walk_egress_time,WALK_MIX - Walk egress time,@wegr_multiplier * 2 * df.destination_walk_time,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_Walk_other_time,WALK_MIX - Walk other time,@waux_multiplier * (odt_skims['WLK_MIX_WAUX'] + dot_skims['WLK_MIX_WAUX']),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_Fare,WALK_MIX - Fare,@ivt_cost_multiplier * df.fare_discount_percent * df.ivot * (odt_skims['WLK_MIX_FARE'] + dot_skims['WLK_MIX_FARE']),,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_Destination_zone_densityIndex,WALK_MIX - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_MIX_Topology,WALK_MIX - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, +util_WALK_MIX_Person_is_less_than_10_years_old,WALK_MIX - Person is less than 10 years old,@(df.age <= 10),,,,,,,,1,,,,,,,,,, +#util_PNR_to_Local,#PNR to Local,,,,,,,,,,,,,,,,,,, +util_PNR_LOC_Unavailable,PNR_LOC - Unavailable,pnr_local_available == False,,,,,,,,,-999,,,,,,,,, +util_PNR_LOC_Unavailable_for_persons_less_than_16,PNR_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,-999,,,,,,,,, +util_PNR_LOC_In_vehicle_time,PNR_LOC - In-vehicle time,@(odt_skims['PNR_LOC_IVT'] + dot_skims['PNRE_LOC_IVT']),,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_Short_iwait_time,PNR_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['PNR_LOC_IWAIT']).clip(upper=waitThresh) + (dot_skims['PNRE_LOC_IWAIT']).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_Long_iwait_time,PNR_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['PNR_LOC_IWAIT']-waitThresh).clip(0) + (dot_skims['PNRE_LOC_IWAIT']-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_transfer_wait_time,PNR_LOC - transfer wait time,@xwait_multiplier * (odt_skims['PNR_LOC_XWAIT'] + dot_skims['PNRE_LOC_XWAIT']),,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_number_of_transfers,PNR_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['PNR_LOC_NT']).clip(0) + (dot_skims['PNRE_LOC_NT']).clip(0)),,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_PNR_time,PNR_LOC - PNR time,@dtim_multiplier * (odt_skims['PNR_LOC_DTIME'] + dot_skims['PNRE_LOC_DTIME']),,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_Walk_access_time,PNR_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_Walk_egress_time_(at_attraction_end),PNR_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_Walk_other_time,PNR_LOC - Walk other time,@waux_multiplier * (odt_skims['PNR_LOC_WAUX'] + dot_skims['PNRE_LOC_WAUX']),,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_Fare_and_operating_cost,PNR_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['PNR_LOC_FARE'] + dot_skims['PNRE_LOC_FARE']) + ((odt_skims['PNR_LOC_DDIST']+dot_skims['PNRE_LOC_DDIST']) * costPerMile)),,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_Ratio_of_PNR_access_distance_to_OD_distance,PNR_LOC - Ratio of PNR access distance to OD distance,@dacc_ratio * ((odt_skims['PNR_LOC_DDIST']+ dot_skims['PNRE_LOC_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_Destination_zone_densityIndex,PNR_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_Topology,PNR_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_LOC_Person_is_less_than_10_years_old,PNR_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, +#util_PNR_to_Premium,#PNR to Premium,,,,,,,,,,,,,,,,,,, +util_PNR_PRM_Unavailable,PNR_PRM - Unavailable,pnr_premium_available == False,,,,,,,,,,-999,,,,,,,, +util_PNR_PRM_Unavailable_for_persons_less_than_16,PNR_PRM - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,,,,,,, +util_PNR_PRM_In_vehicle_time,PNR_PRM - In-vehicle time,@(odt_skims['PNR_PRM_IVT'] + dot_skims['PNRE_PRM_IVT']),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_In_vehicle_time_on_PMov,PNR_PRM - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['PNR_PRM_IVTT_PMov'] + dot_skims['PNRE_PRM_IVTT_PMov']),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_In_vehicle_time_on_StCar,PNR_PRM - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['PNR_PRM_IVTT_StCar'] + dot_skims['PNRE_PRM_IVTT_StCar']),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_In_vehicle_time_on_BRT,PNR_PRM - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['PNR_PRM_IVTT_Brt'] + dot_skims['PNRE_PRM_IVTT_Brt']),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_In_vehicle_time_on_URB,PNR_PRM - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['PNR_PRM_IVTT_UrbRail'] + dot_skims['PNRE_PRM_IVTT_UrbRail']),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_In_vehicle_time_on_COM,PNR_PRM - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['PNR_PRM_IVTT_ComRail'] + dot_skims['PNRE_PRM_IVTT_ComRail']),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_Short_iwait_time,PNR_PRM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['PNR_PRM_IWAIT']).clip(upper=waitThresh) + (dot_skims['PNRE_PRM_IWAIT']).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_Long_iwait_time,PNR_PRM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['PNR_PRM_IWAIT']-waitThresh).clip(0) + (dot_skims['PNRE_PRM_IWAIT']-waitThresh).clip(0)) ,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_transfer_wait_time,PNR_PRM - transfer wait time,@xwait_multiplier * (odt_skims['PNR_PRM_XWAIT'] + dot_skims['PNRE_PRM_XWAIT']),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_number_of_transfers,PNR_PRM - number of transfers,@xfers_drv_multiplier * ((odt_skims['PNR_PRM_NT']).clip(0) + (dot_skims['PNRE_PRM_NT']).clip(0)),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_PNR_time,PNR_PRM - PNR time,@dtim_multiplier * (odt_skims['PNR_PRM_DTIME'] + dot_skims['PNRE_PRM_DTIME']),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_Walk_access_time_(at_attraction_end),PNR_PRM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_Walk_egress_time_(at_attraction_end),PNR_PRM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_Walk_other_time,PNR_PRM - Walk other time,@waux_multiplier * (odt_skims['PNR_PRM_WAUX'] + dot_skims['PNRE_PRM_WAUX']),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_Fare_and_operating_cost,PNR_PRM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['PNR_PRM_FARE']+dot_skims['PNRE_PRM_FARE']) + ((odt_skims['PNR_PRM_DDIST']+dot_skims['PNRE_PRM_DDIST']) *costPerMile)),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_Ratio_of_PNR_access_distance_to_OD_distance,PNR_PRM - Ratio of PNR access distance to OD distance,@dacc_ratio * ((odt_skims['PNR_PRM_DDIST']+ dot_skims['PNRE_PRM_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_Destination_zone_densityIndex,PNR_PRM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_Topology,PNR_PRM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_PRM_Person_is_less_than_10_years_old,PNR_PRM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, +#util_PNR_to_MIX,#PNR to MIX,,,,,,,,,,,,,,,,,,, +util_PNR_MIX_Unavailable,PNR_MIX - Unavailable,pnr_mix_available == False,,,,,,,,,,,-999,,,,,,, +util_PNR_MIX_Unavailable_for_persons_less_than_16,PNR_MIX - Unavailable for persons less than 16,age < 16,,,,,,,,,,,-999,,,,,,, +util_PNR_MIX_In_vehicle_time,PNR_MIX - In-vehicle time,@(odt_skims['PNR_MIX_IVT'] + dot_skims['PNRE_MIX_IVT']),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_In_vehicle_time_on_Bus,PNR_MIX - In-vehicle time on Bus,@(odt_skims['PNR_MIX_IVTT_Bus'] + dot_skims['PNRE_MIX_IVTT_Bus']),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_In_vehicle_time_on_PMov,PNR_MIX - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['PNR_MIX_IVTT_PMov'] + dot_skims['PNRE_MIX_IVTT_PMov']),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_In_vehicle_time_on_StCar,PNR_MIX - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['PNR_MIX_IVTT_StCar'] + dot_skims['PNRE_MIX_IVTT_StCar']),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_In_vehicle_time_on_BRT,PNR_MIX - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['PNR_MIX_IVTT_Brt'] + dot_skims['PNRE_MIX_IVTT_Brt']),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_In_vehicle_time_on_URB,PNR_MIX - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['PNR_MIX_IVTT_UrbRail'] + dot_skims['PNRE_MIX_IVTT_UrbRail']),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_In_vehicle_time_on_COM,PNR_MIX - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['PNR_MIX_IVTT_ComRail'] + dot_skims['PNRE_MIX_IVTT_ComRail']),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_Short_iwait_time,PNR_MIX - Short iwait time,@short_i_wait_multiplier * ((odt_skims['PNR_MIX_IWAIT']).clip(upper=waitThresh) + (dot_skims['PNRE_MIX_IWAIT']).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_Long_iwait_time,PNR_MIX - Long iwait time,@long_i_wait_multiplier * ((odt_skims['PNR_MIX_IWAIT']-waitThresh).clip(0) + (dot_skims['PNRE_MIX_IWAIT']-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_transfer_wait_time,PNR_MIX - transfer wait time,@xwait_multiplier * (odt_skims['PNR_MIX_XWAIT'] + dot_skims['PNRE_MIX_XWAIT']),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_number_of_transfers,PNR_MIX - number of transfers,@xfers_drv_multiplier * ((odt_skims['PNR_MIX_NT']).clip(0) + (dot_skims['PNRE_MIX_NT']).clip(0)),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_PNR_time,PNR_MIX - PNR time,@dtim_multiplier * (odt_skims['PNR_MIX_DTIME'] + dot_skims['PNRE_MIX_DTIME']),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_Walk_access_time_(at_attraction_end),PNR_MIX - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_Walk_egress_ime_(at_attraction_end),PNR_MIX - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_Walk_other_time,PNR_MIX - Walk other time,@waux_multiplier * (odt_skims['PNR_MIX_WAUX'] + dot_skims['PNRE_MIX_WAUX']),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_Fare_and_operating_cost,PNR_MIX - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['PNR_MIX_FARE']+dot_skims['PNRE_MIX_FARE']) + ((odt_skims['PNR_MIX_DDIST']+dot_skims['PNRE_MIX_DDIST']) *costPerMile)),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_Ratio_of_PNR_access_distance_to_OD_distance,PNR_MIX - Ratio of PNR access distance to OD distance,@dacc_ratio * ((odt_skims['PNR_MIX_DDIST']+ dot_skims['PNRE_MIX_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_Destination_zone_densityIndex,PNR_MIX - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_Topology,PNR_MIX - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,, +util_PNR_MIX_Person_is_less_than_10_years_old,PNR_MIX - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, +#util_KNR_to_Local,#KNR to Local,,,,,,,,,,,,,,,,,,, +util_KNR_LOC_Unavailable,KNR_LOC - Unavailable,knr_local_available == False,,,,,,,,,,,,-999,,,,,, +util_KNR_LOC_Unavailable_for_persons_less_than_16,KNR_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,-999,,,,,, +util_KNR_LOC_In_vehicle_time,KNR_LOC - In-vehicle time,@(odt_skims['KNR_LOC_IVT'] + dot_skims['KNRE_LOC_IVT']),,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_Short_iwait_time,KNR_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['KNR_LOC_IWAIT']).clip(upper=waitThresh) + (dot_skims['KNRE_LOC_IWAIT']).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_Long_iwait_time,KNR_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['KNR_LOC_IWAIT']-waitThresh).clip(0) + (dot_skims['KNRE_LOC_IWAIT']-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_transfer_wait_time,KNR_LOC - transfer wait time,@xwait_multiplier * (odt_skims['KNR_LOC_XWAIT'] + dot_skims['KNRE_LOC_XWAIT']),,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_number_of_transfers,KNR_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['KNR_LOC_NT']).clip(0) + (dot_skims['KNRE_LOC_NT']).clip(0)),,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_KNR_time,KNR_LOC - KNR time,@dtim_multiplier * (odt_skims['KNR_LOC_DTIME'] + dot_skims['KNRE_LOC_DTIME']),,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_Walk_access_time,KNR_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_Walk_egress_time_(at_attraction_end),KNR_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_Walk_other_time,KNR_LOC - Walk other time,@waux_multiplier * (odt_skims['KNR_LOC_WAUX'] + dot_skims['KNRE_LOC_WAUX']),,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_Fare_and_operating_cost,KNR_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['KNR_LOC_FARE'] + dot_skims['KNRE_LOC_FARE']) + ((odt_skims['KNR_LOC_DDIST']+dot_skims['KNRE_LOC_DDIST']) * costPerMile)),,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_Ratio_of_KNR_access_distance_to_OD_distance,KNR_LOC - Ratio of KNR access distance to OD distance,@dacc_ratio * ((odt_skims['KNR_LOC_DDIST']+ dot_skims['KNRE_LOC_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_Destination_zone_densityIndex,KNR_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_Topology,KNR_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_LOC_Person_is_less_than_10_years_old,KNR_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, +#util_KNR_to_Premium,#KNR to Premium,,,,,,,,,,,,,,,,,,, +util_KNR_PRM_Unavailable,KNR_PRM - Unavailable,knr_premium_available == False,,,,,,,,,,,,,-999,,,,, +util_KNR_PRM_Unavailable_for_persons_less_than_16,KNR_PRM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,-999,,,,, +util_KNR_PRM_In_vehicle_time,KNR_PRM - In-vehicle time,@(odt_skims['KNR_PRM_IVT'] + dot_skims['KNRE_PRM_IVT']),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_In_vehicle_time_on_PMov,KNR_PRM - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['KNR_PRM_IVTT_PMov'] + dot_skims['KNRE_PRM_IVTT_PMov']),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_In_vehicle_time_on_StCar,KNR_PRM - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['KNR_PRM_IVTT_StCar'] + dot_skims['KNRE_PRM_IVTT_StCar']),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_In_vehicle_time_on_BRT,KNR_PRM - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['KNR_PRM_IVTT_Brt'] + dot_skims['KNRE_PRM_IVTT_Brt']),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_In_vehicle_time_on_URB,KNR_PRM - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['KNR_PRM_IVTT_UrbRail'] + dot_skims['KNRE_PRM_IVTT_UrbRail']),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_In_vehicle_time_on_COM,KNR_PRM - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['KNR_PRM_IVTT_ComRail'] + dot_skims['KNRE_PRM_IVTT_ComRail']),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_Short_iwait_time,KNR_PRM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['KNR_PRM_IWAIT']).clip(upper=waitThresh) + (dot_skims['KNRE_PRM_IWAIT']).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_Long_iwait_time,KNR_PRM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['KNR_PRM_IWAIT']-waitThresh).clip(0) + (dot_skims['KNRE_PRM_IWAIT']-waitThresh).clip(0)) ,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_transfer_wait_time,KNR_PRM - transfer wait time,@xwait_multiplier * (odt_skims['KNR_PRM_XWAIT'] + dot_skims['KNRE_PRM_XWAIT']),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_number_of_transfers,KNR_PRM - number of transfers,@xfers_drv_multiplier *((odt_skims['KNR_PRM_NT']).clip(0) + (dot_skims['KNRE_PRM_NT']).clip(0)),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_KNR_time,KNR_PRM - KNR time,@dtim_multiplier * (odt_skims['KNR_PRM_DTIME'] + dot_skims['KNRE_PRM_DTIME']),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_Walk_access_time_(at_attraction_end),KNR_PRM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_Walk_egress_time_(at_attraction_end),KNR_PRM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_Walk_other_time,KNR_PRM - Walk other time,@waux_multiplier * (odt_skims['KNR_PRM_WAUX'] + dot_skims['KNRE_PRM_WAUX']),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_Fare_and_operating_cost,KNR_PRM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['KNR_PRM_FARE']+dot_skims['KNRE_PRM_FARE']) + ((odt_skims['KNR_PRM_DDIST']+dot_skims['KNRE_PRM_DDIST']) *costPerMile)),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_Ratio_of_KNR_access_distance_to_OD_distance,KNR_PRM - Ratio of KNR access distance to OD distance,@dacc_ratio * ((odt_skims['KNR_PRM_DDIST']+ dot_skims['KNRE_PRM_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_Destination_zone_densityIndex,KNR_PRM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_Topology,KNR_PRM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_PRM_Person_is_less_than_10_years_old,KNR_PRM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, +#util_KNR_to_MIX,#KNR to MIX,,,,,,,,,,,,,,,,,,, +util_KNR_MIX_Unavailable,KNR_MIX - Unavailable,knr_mix_available == False,,,,,,,,,,,,,,-999,,,, +util_KNR_MIX_Unavailable_for_persons_less_than_16,KNR_MIX - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,, +util_KNR_MIX_In_vehicle_time,KNR_MIX - In-vehicle time,@(odt_skims['KNR_MIX_IVT'] + dot_skims['KNRE_MIX_IVT']),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_In_vehicle_time_on_Bus,KNR_MIX - In-vehicle time on Bus,@(odt_skims['KNR_MIX_IVTT_Bus'] + dot_skims['KNRE_MIX_IVTT_Bus']),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_In_vehicle_time_on_PMov,KNR_MIX - In-vehicle time on PMov,@(ivt_pmov_multiplier - 1) * (odt_skims['KNR_MIX_IVTT_PMov'] + dot_skims['KNRE_MIX_IVTT_PMov']),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_In_vehicle_time_on_StCar,KNR_MIX - In-vehicle time on StCar,@(ivt_stcar_multiplier - 1) * (odt_skims['KNR_MIX_IVTT_StCar'] + dot_skims['KNRE_MIX_IVTT_StCar']),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_In_vehicle_time_on_BRT,KNR_MIX - In-vehicle time on BRT,@(ivt_brt_multiplier - 1) * (odt_skims['KNR_MIX_IVTT_Brt'] + dot_skims['KNRE_MIX_IVTT_Brt']),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_In_vehicle_time_on_URB,KNR_MIX - In-vehicle time on URB,@(ivt_urb_multiplier - 1) * (odt_skims['KNR_MIX_IVTT_UrbRail'] + dot_skims['KNRE_MIX_IVTT_UrbRail']),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_In_vehicle_time_on_COM,KNR_MIX - In-vehicle time on COM,@(ivt_com_multiplier - 1) * (odt_skims['KNR_MIX_IVTT_ComRail'] + dot_skims['KNRE_MIX_IVTT_ComRail']),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_Short_iwait_time,KNR_MIX - Short iwait time,@short_i_wait_multiplier * ((odt_skims['KNR_MIX_IWAIT']).clip(upper=waitThresh) + (dot_skims['KNRE_MIX_IWAIT']).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_Long_iwait_time,KNR_MIX - Long iwait time,@long_i_wait_multiplier * ((odt_skims['KNR_MIX_IWAIT']-waitThresh).clip(0) + (dot_skims['KNRE_MIX_IWAIT']-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_transfer_wait_time,KNR_MIX - transfer wait time,@xwait_multiplier * (odt_skims['KNR_MIX_XWAIT'] + dot_skims['KNRE_MIX_XWAIT']),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_number_of_transfers,KNR_MIX - number of transfers,@xfers_drv_multiplier * ((odt_skims['KNR_MIX_NT']).clip(0) + (dot_skims['KNRE_MIX_NT']).clip(0)),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_KNR_time,KNR_MIX - KNR time,@dtim_multiplier * (odt_skims['KNR_MIX_DTIME'] + dot_skims['KNRE_MIX_DTIME']),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_Walk_access_time_(at_attraction_end),KNR_MIX - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_Walk_egress_ime_(at_attraction_end),KNR_MIX - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_Walk_other_time,KNR_MIX - Walk other time,@waux_multiplier * (odt_skims['KNR_MIX_WAUX'] + dot_skims['KNRE_MIX_WAUX']),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_Fare_and_operating_cost,KNR_MIX - Fare and operating cost,@ivt_cost_multiplier * df.ivot * (df.fare_discount_percent * (odt_skims['KNR_MIX_FARE']+dot_skims['KNRE_MIX_FARE']) + ((odt_skims['KNR_MIX_DDIST']+dot_skims['KNRE_MIX_DDIST']) *costPerMile)),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_Ratio_of_KNR_access_distance_to_OD_distance,KNR_MIX - Ratio of KNR access distance to OD distance,@dacc_ratio * ((odt_skims['KNR_MIX_DDIST']+ dot_skims['KNRE_MIX_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_Destination_zone_densityIndex,KNR_MIX - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_Topology,KNR_MIX - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_MIX_Person_is_less_than_10_years_old,KNR_MIX - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, +#,Taxi,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,,,,,,,,,,,,,,coef_ivt,, +#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,, +util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,,,,,,coef_ivt,, +#util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,coef_ivt,, +#util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']) * Taxi_costPerMile +(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,coef_ivt, +#util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,coef_ivt, +#util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,coef_ivt +#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,coef_ivt +#util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,coef_ivt +#util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2_TIME'] + dot_skims['HOV3_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,coef_ivt +#indiv_tour_ASCs,#indiv tour ASCs,,,,,,,,,,,,,,,,,,, +util_WALK_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,walk_ASC_no_auto,,,,,,,,,,,,,, +util_WALK_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_WALK_ASC_Auto_sufficient,Walk ASC - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_BIKE_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,bike_ASC_no_auto,,,,,,,,,,,,, +util_BIKE_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, +util_BIKE_ASC_Auto_sufficient,Bike ASC - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,sr2_ASC_no_auto,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,, +util_Shared_ride_3+_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Shared_ride_3+_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Shared_ride_3+_Auto_sufficient,Shared ride 3+ - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_WALK_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,,,, +util_WALK_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,,,, +util_WALK_to_Transit_Auto_sufficient,Walk to Transit - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,,,, +util_PNR_to_Transit_Zero_auto,PNR to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,pnr_transit_ASC_no_auto,pnr_transit_ASC_no_auto,pnr_transit_ASC_no_auto,,,,,,, +util_PNR_to_Transit_Auto_deficient,PNR to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,pnr_transit_ASC_auto_deficient,pnr_transit_ASC_auto_deficient,pnr_transit_ASC_auto_deficient,,,,,,, +util_PNR_to_Transit_Auto_sufficient,PNR to Transit - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,pnr_transit_ASC_auto_sufficient,pnr_transit_ASC_auto_sufficient,pnr_transit_ASC_auto_sufficient,,,,,,, +util_KNR_to_Transit_Zero_auto,KNR to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,knr_transit_ASC_no_auto,knr_transit_ASC_no_auto,knr_transit_ASC_no_auto,,,, +util_KNR_to_Transit_Auto_deficient,KNR to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,knr_transit_ASC_auto_deficient,knr_transit_ASC_auto_deficient,knr_transit_ASC_auto_deficient,,,, +util_KNR_to_Transit_Auto_sufficient,KNR to Transit - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,knr_transit_ASC_auto_sufficient,knr_transit_ASC_auto_sufficient,knr_transit_ASC_auto_sufficient,,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#util_Joint_tour_ASCs,#joint tour ASCs,,,,,,,,,,,,,,,,,,, +util_Joint_WALK_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, +util_Joint_WALK_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Joint_WALK_ASC_Auto_sufficient,Joint - Walk ASC - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Joint_BIKE_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, +util_Joint_BIKE_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Joint_BIKE_ASC_Auto_sufficient,Joint - Bike ASC - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3+_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3+_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3+_Auto_sufficient,Joint - Shared ride 3+ - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Joint_WALK_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,,,, +util_Joint_WALK_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,,,, +util_Joint_WALK_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,,,, +util_Joint_PNR_to_Transit_Zero_auto,Joint - PNR to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_pnr_transit_ASC_no_auto,joint_pnr_transit_ASC_no_auto,joint_pnr_transit_ASC_no_auto,,,,,,, +util_Joint_PNR_to_Transit_Auto_deficient,Joint - PNR to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_pnr_transit_ASC_auto_deficient,joint_pnr_transit_ASC_auto_deficient,joint_pnr_transit_ASC_auto_deficient,,,,,,, +util_Joint_PNR_to_Transit_Auto_sufficient,Joint - PNR to Transit - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_pnr_transit_ASC_auto_sufficient,joint_pnr_transit_ASC_auto_sufficient,joint_pnr_transit_ASC_auto_sufficient,,,,,,, +util_Joint_KNR_to_Transit_Zero_auto,Joint - KNR to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,joint_knr_transit_ASC_no_auto,joint_knr_transit_ASC_no_auto,joint_knr_transit_ASC_no_auto,,,, +util_Joint_KNR_to_Transit_Auto_deficient,Joint - KNR to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,joint_knr_transit_ASC_auto_deficient,joint_knr_transit_ASC_auto_deficient,joint_knr_transit_ASC_auto_deficient,,,, +util_Joint_KNR_to_Transit_Auto_sufficient,Joint - KNR to Transit - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,joint_knr_transit_ASC_auto_sufficient,joint_knr_transit_ASC_auto_sufficient,joint_knr_transit_ASC_auto_sufficient,,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +util_local_asc,Local ASC,1,,,,,,local_ASC,,,local_ASC,,,local_ASC,,,,,, +util_premium_asc,Premium ASC,1,,,,,,,premium_ASC,,,premium_ASC,,,premium_ASC,,,,, +util_mix_asc,Mix ASC,1,,,,,,,,mix_ASC,,,mix_ASC,,,mix_ASC,,,, +util_WALK_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,,,, +Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,,, +Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,, +#_FIXME_skims_aren't_symmetrical,# FIXME - skims aren't symmetrical, so we have to make sure they can get back,,,,,,,,,,,,,,,,,, +util_WALK_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,-999,,,,,,,,,,,,,, +util_BIKE_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,-999,,,,,,,,,,,,, +Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,,,,,,,,,,,,,,,,, +#School_Bus,#School Bus,,,,,,,,,,,,,,,,,,, +School_Bus_Unavailable_if_NOT_school_tour,School Bus - Unavailable if NOT school tour,~is_school,,,,,,,,,,,,,,,-999,,, +School_Bus_In_vehicle_time_(HOV3+_skims)_20_mph,School Bus - In-vehicle time (HOV3+ skims) - 20 mph,@(odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST'])*3,,,,,,,,,,,,,,,coef_ivt,,, +School_Bus_WALK_Time,School Bus - Walk Time,@wacc_multiplier*10,,,,,,,,,,,,,,,coef_ivt,,, +School_Bus_Wait_Time,School Bus - Wait Time,@short_i_wait_multiplier*10,,,,,,,,,,,,,,,coef_ivt,,, +util_schoolbus_ASC_no_auto,School Bus No Auto ASC,@(df.auto_ownership == 0),,,,,,,,,,,,,,,schoolbus_ASC_no_auto,,, +util_schoolbus_ASC_auto_deficient,School Bus Auto Deficient ASC,@((df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,schoolbus_ASC_auto_deficient,,, +util_schoolbus_ASC_auto_sufficient,School Bus Auto Sufficient ASC,@((df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,schoolbus_ASC_auto_sufficient,,, diff --git a/activitysim/examples/prototype_semcog/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_semcog/configs/tour_mode_choice.yaml new file mode 100755 index 0000000000..59f4067bf2 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_mode_choice.yaml @@ -0,0 +1,204 @@ +LOGIT_TYPE: NL +#LOGIT_TYPE: MNL + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - DRIVEALONE + - SHARED2 + - SHARED3 + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - name: WALKACCESS + coefficient: coef_nest_TRANSIT_WALKACCESS + alternatives: + - WALK_LOC + - WALK_PRM + - WALK_MIX + - name: PNRACCESS + coefficient: coef_nest_TRANSIT_PNRACCESS + alternatives: + - PNR_LOC + - PNR_PRM + - PNR_MIX + - name: KNRACCESS + coefficient: coef_nest_TRANSIT_KNRACCESS + alternatives: + - KNR_LOC + - KNR_PRM + - KNR_MIX + - name: SCHOOL_BUS + coefficient: coef_nest_SCHOOL_BUS + alternatives: + - SCHOOLBUS + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coeffs.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv + +CONSTANTS: + #valueOfTime: 8.00 + costPerMile: 18.29 + costShareSr2: 1.75 + costShareSr3: 2.50 + waitThresh: 10.00 + walkThresh: 1.50 + shortWalk: 0.333 + longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 6.00 + bikeSpeed: 12.00 + maxCbdAreaTypeThresh: 2 + indivTour: 1.00000 + upperEA: 5 + upperAM: 10 + upperMD: 15 + upperPM: 19 + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 + + ivt_cost_multiplier: 0.6 + ivt_pmov_multiplier: 1.0 + ivt_stcar_multiplier: 0.9 + ivt_brt_multiplier: 0.9 + ivt_urb_multiplier: 0.8 + ivt_com_multiplier: 0.7 + walktimeshort_multiplier: 2 + walktimelong_multiplier: 10 + biketimeshort_multiplier: 4 + biketimelong_multiplier: 20 + short_i_wait_multiplier: 2 + long_i_wait_multiplier: 1 + wacc_multiplier: 2 + wegr_multiplier: 2 + waux_multiplier: 2 + dtim_multiplier: 2 + xwait_multiplier: 2 + dacc_ratio: 0 + xfers_wlk_multiplier: 10 + xfers_drv_multiplier: 20 + drvtrn_distpen_0_multiplier: 270 + drvtrn_distpen_max: 15 + density_index_multiplier: -0.2 + + transit_nopass_fare_discount_percent: + 1: 1.0 + 2: 1.0 + 3: 0.62 + 4: 1.0 + 5: 0.54 + 6: 0.62 + 7: 0.62 + 8: 1.0 + transit_pass_fare_discount_percent: + 1: 0.32 + 2: 0.49 + 3: 0.03 + 4: 0.54 + 5: 0.17 + 6: 0.37 + 7: 0.36 + 8: 1.0 + transit_subsidy_fare_discount_percent_worktour: 0.9 + +# joint_sr2_ASC_no_auto: 0 +# joint_sr2_ASC_auto_deficient: 0 +# joint_sr2_ASC_auto_sufficient: 0 +# joint_drive_transit_ASC_no_auto: 0 + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + - transit_pass_ownership + - transit_pass_subsidy +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/tour_mode_choice_annotate_choosers_preprocessor.csv new file mode 100755 index 0000000000..d437d0b105 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -0,0 +1,98 @@ +Description,Target,Expression +#,, +local,_DF_IS_TOUR,'tour_type' in df.columns +,number_of_participants,df.number_of_participants if _DF_IS_TOUR else 1 +,is_joint,(df.tour_category=='joint') if _DF_IS_TOUR else False +#,, + local,_HAVE_PARENT_TOURS,'parent_tour_id' in df.columns +,_parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id) if _HAVE_PARENT_TOURS else ''" +,work_tour_is_drive,_parent_tour_mode.isin(['DRIVEALONE']) +,work_tour_is_bike,_parent_tour_mode=='BIKE' +,work_tour_is_SOV,_parent_tour_mode.isin(['DRIVEALONE']) +#,, +,is_mandatory,(df.tour_category=='mandatory') if 'tour_category' in df.columns else False +,is_joint,(df.tour_category=='joint') if 'tour_category' in df.columns else False +,is_indiv,~is_joint +,is_atwork_subtour,(df.tour_category=='atwork') if 'tour_category' in df.columns else False +,is_escort,(df.tour_type == 'escort') if _DF_IS_TOUR else False +,is_school,(df.tour_type=='school') & (df.is_university==False) if _DF_IS_TOUR else False +#,, +#,c_cost,(0.60 * c_ivt) / df.value_of_time +#,, +,ivot,1.0/df.value_of_time +,dest_topology,"reindex(land_use.TOPOLOGY, df[dest_col_name])" +,terminal_time,"reindex(land_use.TERMINAL, df[dest_col_name])" +,dest_density_index,"reindex(land_use.density_index, df[dest_col_name])" +# FIXME no transit subzones so all zones short walk to transit,, +,_walk_transit_origin,True +,_walk_transit_destination,True +,walk_transit_available,_walk_transit_origin & _walk_transit_destination +,pnr_transit_available,_walk_transit_destination & (df.auto_ownership > 0) +,knr_transit_available,_walk_transit_origin & _walk_transit_destination +,origin_walk_time,shortWalk*60/walkSpeed +,destination_walk_time,shortWalk*60/walkSpeed +# RIDEHAIL,, +,origin_density_measure,"(reindex(land_use.tot_pop, df[orig_col_name]) + reindex(land_use.tot_emp, df[orig_col_name])) / (reindex(land_use.tot_acres, df[orig_col_name]) / 640)" +,dest_density_measure,"(reindex(land_use.tot_pop, df[dest_col_name]) + reindex(land_use.tot_emp, df[dest_col_name])) / (reindex(land_use.tot_acres, df[dest_col_name]) / 640)" +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +# ,, Note that the mean and standard deviation are not the values for the distribution itself but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime +,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime +,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime +#,, +,_free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work if _DF_IS_TOUR else False +,_dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[dest_col_name])" +,_dest_hourly_offpeak_parking_cost,"reindex(land_use.OPRKCST, df[dest_col_name])" +,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)" +,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)" +,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost * df.duration/2, _hourly_offpeak_parking_cost * df.duration/2)" +#,, +,distance,od_skims['DIST'] +,sov_available,(odt_skims['SOV_TIME']>0) & (dot_skims['SOV_TIME']>0) +,hov2_available,(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME'])>0 +,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) +,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_IVT']>0) & (dot_skims['WLK_LOC_IVT']>0) +,walk_premium_available,walk_transit_available & (odt_skims['WLK_PRM_IVT']>0) & (dot_skims['WLK_PRM_IVT']>0) +,walk_mix_available,walk_transit_available & (odt_skims['WLK_MIX_IVT']>0) & (dot_skims['WLK_MIX_IVT']>0) +,pnr_local_available,pnr_transit_available & (odt_skims['PNR_LOC_IVT']>0) & (dot_skims['PNRE_LOC_IVT']>0) +,pnr_premium_available,pnr_transit_available & (odt_skims['PNR_PRM_IVT']>0) & (dot_skims['PNRE_PRM_IVT']>0) +,pnr_mix_available,pnr_transit_available & (odt_skims['PNR_MIX_IVT']>0) & (dot_skims['PNRE_MIX_IVT']>0) +,knr_local_available,knr_transit_available & (odt_skims['KNR_LOC_IVT']>0) & (dot_skims['KNRE_LOC_IVT']>0) +,knr_premium_available,knr_transit_available & (odt_skims['KNR_PRM_IVT']>0) & (dot_skims['KNRE_PRM_IVT']>0) +,knr_mix_available,knr_transit_available & (odt_skims['KNR_MIX_IVT']>0) & (dot_skims['KNRE_MIX_IVT']>0) +#,, +destination in central business district,destination_in_cbd,"(reindex(land_use.AreaType, df[dest_col_name]) < setting('cbd_threshold')) * 1" +#,,FIXME diagnostic +#,sov_dist_rt,(odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']) +#,,fare discounts (no discount for use in logsums) +,ptype,df.ptype if _DF_IS_TOUR else 1 +,transit_pass_ownership,df.transit_pass_ownership if _DF_IS_TOUR else 0 +,transit_pass_subsidy,df.transit_pass_subsidy if _DF_IS_TOUR else 0 +,tour_type,df.tour_type if _DF_IS_TOUR else 'other' +,fare_nopass_discount_percent,"ptype.map({k: v for k, v in transit_nopass_fare_discount_percent.items()})" +,fare_pass_discount_percent,"ptype.map({k: v for k, v in transit_pass_fare_discount_percent.items()})" +,fare_subsidy_discount_percent,"np.where(tour_type=='work', transit_subsidy_fare_discount_percent_worktour, 1)" +,fare_discount_percent_ff,"np.where((transit_pass_ownership == False) & (transit_pass_subsidy == False), fare_nopass_discount_percent, 1)" +,fare_discount_percent_tf,"np.where((transit_pass_ownership == True) & (transit_pass_subsidy == False), fare_pass_discount_percent, 1)" +,fare_discount_percent_ft,"np.where((transit_pass_ownership == False) & (transit_pass_subsidy == True), fare_nopass_discount_percent * (1-fare_subsidy_discount_percent), 1)" +,fare_discount_percent_tt,"np.where((transit_pass_ownership == True ) & (transit_pass_subsidy == True), fare_pass_discount_percent * (1-fare_subsidy_discount_percent), 1)" +,fare_discount_percent,fare_discount_percent_ff * fare_discount_percent_tf * fare_discount_percent_ft * fare_discount_percent_tt \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/tour_mode_choice_coeffs.csv b/activitysim/examples/prototype_semcog/configs/tour_mode_choice_coeffs.csv new file mode 100755 index 0000000000..d21e4c81cc --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_mode_choice_coeffs.csv @@ -0,0 +1,349 @@ +coefficient_name,value,constrain +coef_nest_root,1,T +coef_nest_AUTO,0.72,T +coef_nest_AUTO_DRIVEALONE,0.35,T +coef_nest_AUTO_SHAREDRIDE2,0.35,T +coef_nest_AUTO_SHAREDRIDE3,0.35,T +coef_nest_NONMOTORIZED,0.72,T +coef_nest_TRANSIT,0.72,T +coef_nest_TRANSIT_WALKACCESS,0.5,T +coef_nest_TRANSIT_KNRACCESS,0.5,T +coef_nest_TRANSIT_PNRACCESS,0.5,T +coef_nest_SCHOOL_BUS,0.72,T +coef_nest_RIDEHAIL,0.36,T +coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F +coef_ivt_school_univ,-0.0224,F +coef_ivt_work,-0.0134,F +coef_ivt_atwork,-0.0188,F +coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F +coef_topology_walk_multiplier_atwork,7.5,F +coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F +coef_topology_bike_multiplier_atwork,10,F +coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F +coef_topology_trn_multiplier_atwork,2,F +coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age1619_da_multiplier_school_univ,-1.3813,F +coef_age1619_da_multiplier_atwork,0.0032336,F +coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age010_trn_multiplier_school_univ,-1.5548,F +coef_age010_trn_multiplier_atwork,0.000722,F +coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F +coef_age16p_sr_multiplier_school_univ_work_atwork,0,F +coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F +coef_hhsize1_sr_multiplier_work,-0.734588,F +coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F +coef_hhsize2_sr_multiplier_school_univ,-0.6359,F +walk_ASC_no_auto_eatout,6.589427019,F +walk_ASC_no_auto_escort,4.880440839,F +walk_ASC_no_auto_othdiscr,4.730904319,F +walk_ASC_no_auto_othmaint,3.366533039,F +walk_ASC_no_auto_school,12.00708155,F +walk_ASC_no_auto_shopping,4.456111339,F +walk_ASC_no_auto_social,3.332401219,F +walk_ASC_no_auto_univ,3.063248695,F +walk_ASC_no_auto_work,4.43703301,F +walk_ASC_no_auto_atwork,0.421704944,F +walk_ASC_auto_deficient_eatout,2.887675213,F +walk_ASC_auto_deficient_escort,-1.356970662,F +walk_ASC_auto_deficient_othdiscr,1.862477713,F +walk_ASC_auto_deficient_othmaint,0.914116298,F +walk_ASC_auto_deficient_school,1.097961688,F +walk_ASC_auto_deficient_shopping,1.815249198,F +walk_ASC_auto_deficient_social,2.483254213,F +walk_ASC_auto_deficient_univ,2.850042543,F +walk_ASC_auto_deficient_work,1.637904594,F +walk_ASC_auto_deficient_atwork,-17.85938696,F +walk_ASC_auto_sufficient_eatout,1.896049479,F +walk_ASC_auto_sufficient_escort,-1.53483226,F +walk_ASC_auto_sufficient_othdiscr,1.607706779,F +walk_ASC_auto_sufficient_othmaint,0.07673774,F +walk_ASC_auto_sufficient_school,-1.384129543,F +walk_ASC_auto_sufficient_shopping,0.00804064,F +walk_ASC_auto_sufficient_social,2.051577779,F +walk_ASC_auto_sufficient_univ,2.131895451,F +walk_ASC_auto_sufficient_work,-0.633007823,F +walk_ASC_auto_sufficient_atwork,0.1438828,F +bike_ASC_no_auto_eatout,1.477690443,F +bike_ASC_no_auto_escort,-2.060060749,F +bike_ASC_no_auto_othdiscr,0.233196283,F +bike_ASC_no_auto_othmaint,0.195584651,F +bike_ASC_no_auto_school,0,F +bike_ASC_no_auto_shopping,-0.509693249,F +bike_ASC_no_auto_social,0.630202693,F +bike_ASC_no_auto_univ,1.297297637,F +bike_ASC_no_auto_work,2.338049977,F +bike_ASC_no_auto_atwork,18.45901812,F +bike_ASC_auto_deficient_eatout,-0.743790882,F +bike_ASC_auto_deficient_escort,-3.511021918,F +bike_ASC_auto_deficient_othdiscr,0.732851378,F +bike_ASC_auto_deficient_othmaint,-0.501558818,F +bike_ASC_auto_deficient_school,-0.465024971,F +bike_ASC_auto_deficient_shopping,0.141061422,F +bike_ASC_auto_deficient_social,1.459841118,F +bike_ASC_auto_deficient_univ,0.950303703,F +bike_ASC_auto_deficient_work,0.224440057,F +bike_ASC_auto_deficient_atwork,-3.8074083,F +bike_ASC_auto_sufficient_eatout,-0.885432566,F +bike_ASC_auto_sufficient_escort,-4.318656917,F +bike_ASC_auto_sufficient_othdiscr,-0.756545166,F +bike_ASC_auto_sufficient_othmaint,-2.063850917,F +bike_ASC_auto_sufficient_school,-2.878621083,F +bike_ASC_auto_sufficient_shopping,-1.821758817,F +bike_ASC_auto_sufficient_social,-1.053156466,F +bike_ASC_auto_sufficient_univ,-0.119499054,F +bike_ASC_auto_sufficient_work,-1.806805644,F +bike_ASC_auto_sufficient_atwork,-0.106470168,F +sr2_ASC_auto_deficient_eatout,0.413083337,F +sr2_ASC_auto_deficient_escort,0.664157519,F +sr2_ASC_auto_deficient_othdiscr,0.485000137,F +sr2_ASC_auto_deficient_othmaint,0.926310219,F +sr2_ASC_auto_deficient_school,0.100573545,F +sr2_ASC_auto_deficient_shopping,0.908255079,F +sr2_ASC_auto_deficient_social,1.680701637,F +sr2_ASC_auto_deficient_univ,0.078542755,F +sr2_ASC_auto_deficient_work,-0.304765262,F +sr2_ASC_auto_deficient_atwork,-20.27957549,F +sr2_ASC_auto_sufficient_eatout,0.899117605,F +sr2_ASC_auto_sufficient_escort,0.075825052,F +sr2_ASC_auto_sufficient_othdiscr,0.533158225,F +sr2_ASC_auto_sufficient_othmaint,0.334003882,F +sr2_ASC_auto_sufficient_school,-1.897992866,F +sr2_ASC_auto_sufficient_shopping,0.273532122,F +sr2_ASC_auto_sufficient_social,0.559914555,F +sr2_ASC_auto_sufficient_univ,-0.53703344,F +sr2_ASC_auto_sufficient_work,-0.766476766,F +sr2_ASC_auto_sufficient_atwork,-1.621794475,F +sr3p_ASC_no_auto_eatout,2.190553045,F +sr3p_ASC_no_auto_escort,0.209802522,F +sr3p_ASC_no_auto_othdiscr,2.140722265,F +sr3p_ASC_no_auto_othmaint,1.219543822,F +sr3p_ASC_no_auto_school,9.926556957,F +sr3p_ASC_no_auto_shopping,1.742939742,F +sr3p_ASC_no_auto_social,0.464863045,F +sr3p_ASC_no_auto_univ,-0.087322435,F +sr3p_ASC_no_auto_work,-1.064082,F +sr3p_ASC_no_auto_atwork,-0.940776326,F +sr3p_ASC_auto_deficient_eatout,0.140990485,F +sr3p_ASC_auto_deficient_escort,0.409243052,F +sr3p_ASC_auto_deficient_othdiscr,1.142034725,F +sr3p_ASC_auto_deficient_othmaint,-0.531961788,F +sr3p_ASC_auto_deficient_school,0.587171252,F +sr3p_ASC_auto_deficient_shopping,0.744060546,F +sr3p_ASC_auto_deficient_social,1.595662425,F +sr3p_ASC_auto_deficient_univ,0.335943236,F +sr3p_ASC_auto_deficient_work,-0.800161676,F +sr3p_ASC_auto_deficient_atwork,-20.24587122,F +sr3p_ASC_auto_sufficient_eatout,0.665638218,F +sr3p_ASC_auto_sufficient_escort,0.017050265,F +sr3p_ASC_auto_sufficient_othdiscr,0.407280668,F +sr3p_ASC_auto_sufficient_othmaint,-0.001035875,F +sr3p_ASC_auto_sufficient_school,-1.294501505,F +sr3p_ASC_auto_sufficient_shopping,-0.0031085,F +sr3p_ASC_auto_sufficient_social,0.324957478,F +sr3p_ASC_auto_sufficient_univ,-0.702604136,F +sr3p_ASC_auto_sufficient_work,-1.404899513,F +sr3p_ASC_auto_sufficient_atwork,-2.062496761,F +walk_transit_ASC_no_auto_eatout,1.388223363,F +walk_transit_ASC_no_auto_escort,-3.242571633,F +walk_transit_ASC_no_auto_othdiscr,1.038365063,F +walk_transit_ASC_no_auto_othmaint,1.538982067,F +walk_transit_ASC_no_auto_school,9.278859746,F +walk_transit_ASC_no_auto_shopping,1.081384067,F +walk_transit_ASC_no_auto_social,0.176051663,F +walk_transit_ASC_no_auto_univ,3.321119594,F +walk_transit_ASC_no_auto_work,3.061409806,F +walk_transit_ASC_no_auto_atwork,-2.75530458,F +walk_transit_ASC_auto_deficient_eatout,-0.710721656,F +walk_transit_ASC_auto_deficient_escort,-3.220750388,F +walk_transit_ASC_auto_deficient_othdiscr,0.281329984,F +walk_transit_ASC_auto_deficient_othmaint,-1.319772188,F +walk_transit_ASC_auto_deficient_school,1.023632747,F +walk_transit_ASC_auto_deficient_shopping,0.892296712,F +walk_transit_ASC_auto_deficient_social,0.302686454,F +walk_transit_ASC_auto_deficient_univ,2.231442966,F +walk_transit_ASC_auto_deficient_work,0.186141441,F +walk_transit_ASC_auto_deficient_atwork,-22.64172131,F +walk_transit_ASC_auto_sufficient_eatout,-3.537966973,F +walk_transit_ASC_auto_sufficient_escort,-6.313884394,F +walk_transit_ASC_auto_sufficient_othdiscr,-3.231644303,F +walk_transit_ASC_auto_sufficient_othmaint,-2.926154591,F +walk_transit_ASC_auto_sufficient_school,-3.421589964,F +walk_transit_ASC_auto_sufficient_shopping,-3.582717191,F +walk_transit_ASC_auto_sufficient_social,-2.770652273,F +walk_transit_ASC_auto_sufficient_univ,-0.179769816,F +walk_transit_ASC_auto_sufficient_work,-2.912845227,F +walk_transit_ASC_auto_sufficient_atwork,-6.453181068,F +joint_walk_ASC_no_auto_all,-0.039874578,F +joint_walk_ASC_auto_deficient_all,0.010741394,F +joint_walk_ASC_auto_sufficient_all,-1.975332928,F +joint_bike_ASC_no_auto_all,-2.221523576,F +joint_bike_ASC_auto_deficient_all,-2.104028545,F +joint_bike_ASC_auto_sufficient_all,-5.415064076,F +joint_sr2_ASC_no_auto_all,0,T +joint_sr2_ASC_auto_deficient_all,0,T +joint_sr2_ASC_auto_sufficient_all,0,T +joint_sr3p_ASC_no_auto_all,-1.057362954,F +joint_sr3p_ASC_auto_deficient_all,-1.358121204,F +joint_sr3p_ASC_auto_sufficient_all,-2.71447634,F +joint_walk_transit_ASC_no_auto_all,-2.489686956,F +joint_walk_transit_ASC_auto_deficient_all,-3.485773675,F +joint_walk_transit_ASC_auto_sufficient_all,-15.264534,F +walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +walk_transit_CBD_ASC_school_univ,0.672,F +walk_transit_CBD_ASC_work,0.804,F +walk_transit_CBD_ASC_atwork,0.564,F +drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +drive_transit_CBD_ASC_school_univ,0.672,F +drive_transit_CBD_ASC_work,1.1,F +drive_transit_CBD_ASC_atwork,0.564,F +joint_knr_transit_ASC_auto_deficient_all,-3.534648371,F +joint_knr_transit_ASC_auto_sufficient_all,-8.843788241,F +joint_knr_transit_ASC_no_auto_all,-3.987873766,F +joint_pnr_transit_ASC_auto_deficient_all,-5.146470604,F +joint_pnr_transit_ASC_auto_sufficient_all,-8.812715084,F +joint_pnr_transit_ASC_no_auto_all,0,T +knr_transit_ASC_auto_deficient_atwork,-23.01220348,F +knr_transit_ASC_auto_deficient_eatout,-1.841465519,F +knr_transit_ASC_auto_deficient_escort,-3.212214291,F +knr_transit_ASC_auto_deficient_othdiscr,-0.849413879,F +knr_transit_ASC_auto_deficient_othmaint,-1.311236091,F +knr_transit_ASC_auto_deficient_school,2.329981301,F +knr_transit_ASC_auto_deficient_shopping,0.900832809,F +knr_transit_ASC_auto_deficient_social,-0.828057409,F +knr_transit_ASC_auto_deficient_univ,0.781396375,F +knr_transit_ASC_auto_deficient_work,-1.44770466,F +knr_transit_ASC_auto_sufficient_atwork,-4.401027,F +knr_transit_ASC_auto_sufficient_eatout,-4.103602632,F +knr_transit_ASC_auto_sufficient_escort,-6.720817468,F +knr_transit_ASC_auto_sufficient_othdiscr,-3.797279962,F +knr_transit_ASC_auto_sufficient_othmaint,-3.333087668,F +knr_transit_ASC_auto_sufficient_school,-2.273708088,F +knr_transit_ASC_auto_sufficient_shopping,-3.989650268,F +knr_transit_ASC_auto_sufficient_social,-3.336287932,F +knr_transit_ASC_auto_sufficient_univ,-1.714133165,F +knr_transit_ASC_auto_sufficient_work,-4.698155028,F +knr_transit_ASC_no_auto_atwork,-0.580585596,F +knr_transit_ASC_no_auto_eatout,0.219095046,F +knr_transit_ASC_no_auto_escort,0.32982881,F +knr_transit_ASC_no_auto_othdiscr,0.219095046,F +knr_transit_ASC_no_auto_othmaint,0.32982881,F +knr_transit_ASC_no_auto_school,0.38894965,F +knr_transit_ASC_no_auto_shopping,0.32982881,F +knr_transit_ASC_no_auto_social,0.219095046,F +knr_transit_ASC_no_auto_univ,2.400389489,F +knr_transit_ASC_no_auto_work,1.821801152,F +local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0,F +local_ASC_school_univ,0,F +local_ASC_work,0,F +mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0,F +mix_ASC_school_univ,0,F +mix_ASC_work,0,F +pnr_transit_ASC_auto_deficient_atwork,-998.8196,F +pnr_transit_ASC_auto_deficient_eatout,-0.430359164,F +pnr_transit_ASC_auto_deficient_escort,-1.239230126,F +pnr_transit_ASC_auto_deficient_othdiscr,-0.710234464,F +pnr_transit_ASC_auto_deficient_othmaint,-0.384955706,F +pnr_transit_ASC_auto_deficient_school,1.14553143,F +pnr_transit_ASC_auto_deficient_shopping,-0.504015206,F +pnr_transit_ASC_auto_deficient_social,0.532554236,F +pnr_transit_ASC_auto_deficient_univ,1.899678681,F +pnr_transit_ASC_auto_deficient_work,-0.99603153,F +pnr_transit_ASC_auto_sufficient_atwork,-999.21466,F +pnr_transit_ASC_auto_sufficient_eatout,-7.21057228,F +pnr_transit_ASC_auto_sufficient_escort,-6.200504711,F +pnr_transit_ASC_auto_sufficient_othdiscr,-6.61964812,F +pnr_transit_ASC_auto_sufficient_othmaint,-4.224027811,F +pnr_transit_ASC_auto_sufficient_school,-3.608979199,F +pnr_transit_ASC_auto_sufficient_shopping,-3.770973811,F +pnr_transit_ASC_auto_sufficient_social,-6.85691217,F +pnr_transit_ASC_auto_sufficient_univ,0.143230071,F +pnr_transit_ASC_auto_sufficient_work,-2.571689178,F +pnr_transit_ASC_no_auto_atwork,0,F +pnr_transit_ASC_no_auto_eatout,0,F +pnr_transit_ASC_no_auto_escort,0,F +pnr_transit_ASC_no_auto_othdiscr,0,F +pnr_transit_ASC_no_auto_othmaint,0,F +pnr_transit_ASC_no_auto_school,0,F +pnr_transit_ASC_no_auto_shopping,0,F +pnr_transit_ASC_no_auto_social,0,F +pnr_transit_ASC_no_auto_univ,0,F +pnr_transit_ASC_no_auto_work,0,F +premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0,F +premium_ASC_school_univ,0,F +premium_ASC_work,0,F +schoolbus_ASC_auto_deficient_school,0.835683653,F +schoolbus_ASC_auto_sufficient_school,-1.200290369,F +schoolbus_ASC_no_auto_school,10.43589235,F +schoolbus_ASC_not_school,0,T +sr2_ASC_no_auto_atwork,-0.963211851,F +sr2_ASC_no_auto_eatout,1.502329299,F +sr2_ASC_no_auto_escort,1.796584262,F +sr2_ASC_no_auto_othdiscr,1.502329299,F +sr2_ASC_no_auto_othmaint,1.796584262,F +sr2_ASC_no_auto_school,8.462111263,F +sr2_ASC_no_auto_shopping,1.796584262,F +sr2_ASC_no_auto_social,1.502329299,F +sr2_ASC_no_auto_univ,0.438511398,F +sr2_ASC_no_auto_work,0.768381772,F +taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F +taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F +taxi_ASC_no_auto_school_univ,-7,T +taxi_ASC_no_auto_work,4.7291,F +taxi_ASC_no_auto_atwork,4.1021,F +taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F +taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F +taxi_ASC_auto_deficient_school,-0.3338,F +taxi_ASC_auto_deficient_univ,4.2492,F +taxi_ASC_auto_deficient_work,-1.4766,F +taxi_ASC_auto_deficient_atwork,-4.4046,F +taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F +taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F +taxi_ASC_auto_sufficient_school,-2.4294,F +taxi_ASC_auto_sufficient_univ,-0.3131,F +taxi_ASC_auto_sufficient_work,-4.8509,F +taxi_ASC_auto_sufficient_atwork,-2.8804,F +tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F +tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F +tnc_single_ASC_no_auto_school,-7,T +tnc_single_ASC_no_auto_univ,-2.519,F +tnc_single_ASC_no_auto_work,5.7855,F +tnc_single_ASC_no_auto_atwork,4.4982,F +tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F +tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F +tnc_single_ASC_auto_deficient_school,-0.5524,F +tnc_single_ASC_auto_deficient_univ,1.0221,F +tnc_single_ASC_auto_deficient_work,-0.8013,F +tnc_single_ASC_auto_deficient_atwork,-3.7626,F +tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F +tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F +tnc_single_ASC_auto_sufficient_school,-2.8375,F +tnc_single_ASC_auto_sufficient_univ,0.2088,F +tnc_single_ASC_auto_sufficient_work,-4.1946,F +tnc_single_ASC_auto_sufficient_atwork,-2.7988,F +tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F +tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F +tnc_shared_ASC_no_auto_school,-7,T +tnc_shared_ASC_no_auto_univ,-5.8116,F +tnc_shared_ASC_no_auto_work,3.2429,F +tnc_shared_ASC_no_auto_atwork,3.3672,F +tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F +tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F +tnc_shared_ASC_auto_deficient_school,-1.4746,F +tnc_shared_ASC_auto_deficient_univ,3.25,F +tnc_shared_ASC_auto_deficient_work,-2.1435,F +tnc_shared_ASC_auto_deficient_atwork,-4.5089,F +tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F +tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F +tnc_shared_ASC_auto_sufficient_school,-3.7219,F +tnc_shared_ASC_auto_sufficient_univ,-0.9068,F +tnc_shared_ASC_auto_sufficient_work,-5.3575,F +tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F +joint_taxi_ASC_no_auto_all,-4.5792,F +joint_taxi_ASC_auto_deficient_all,-9.8157,F +joint_taxi_ASC_auto_sufficient_all,-11.7099,T +joint_tnc_single_ASC_no_auto_all,-4.4917,F +joint_tnc_single_ASC_auto_deficient_all,-9.8961,F +joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T +joint_tnc_shared_ASC_no_auto_all,-4.3002,F +joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F +joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T diff --git a/activitysim/examples/prototype_semcog/configs/tour_mode_choice_coeffs_template.csv b/activitysim/examples/prototype_semcog/configs/tour_mode_choice_coeffs_template.csv new file mode 100755 index 0000000000..347e23e8f0 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_mode_choice_coeffs_template.csv @@ -0,0 +1,97 @@ +coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork +coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root +coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO +coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE +coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2 +coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3 +coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED +coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT +coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS +coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS +coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS +coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS +coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL +coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork +coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork +coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork +coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork +coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork +coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork +coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork +coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork +coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork +walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork +walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork +walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork +bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork +bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork +bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork +sr2_ASC_no_auto,sr2_ASC_no_auto_eatout,sr2_ASC_no_auto_escort,sr2_ASC_no_auto_othdiscr,sr2_ASC_no_auto_othmaint,sr2_ASC_no_auto_school,sr2_ASC_no_auto_shopping,sr2_ASC_no_auto_social,sr2_ASC_no_auto_univ,sr2_ASC_no_auto_work,sr2_ASC_no_auto_atwork +sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork +sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork +sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork +sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork +sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork +walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork +walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork +walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork +pnr_transit_ASC_no_auto,pnr_transit_ASC_no_auto_eatout,pnr_transit_ASC_no_auto_escort,pnr_transit_ASC_no_auto_othdiscr,pnr_transit_ASC_no_auto_othmaint,pnr_transit_ASC_no_auto_school,pnr_transit_ASC_no_auto_shopping,pnr_transit_ASC_no_auto_social,pnr_transit_ASC_no_auto_univ,pnr_transit_ASC_no_auto_work,pnr_transit_ASC_no_auto_atwork +pnr_transit_ASC_auto_deficient,pnr_transit_ASC_auto_deficient_eatout,pnr_transit_ASC_auto_deficient_escort,pnr_transit_ASC_auto_deficient_othdiscr,pnr_transit_ASC_auto_deficient_othmaint,pnr_transit_ASC_auto_deficient_school,pnr_transit_ASC_auto_deficient_shopping,pnr_transit_ASC_auto_deficient_social,pnr_transit_ASC_auto_deficient_univ,pnr_transit_ASC_auto_deficient_work,pnr_transit_ASC_auto_deficient_atwork +pnr_transit_ASC_auto_sufficient,pnr_transit_ASC_auto_sufficient_eatout,pnr_transit_ASC_auto_sufficient_escort,pnr_transit_ASC_auto_sufficient_othdiscr,pnr_transit_ASC_auto_sufficient_othmaint,pnr_transit_ASC_auto_sufficient_school,pnr_transit_ASC_auto_sufficient_shopping,pnr_transit_ASC_auto_sufficient_social,pnr_transit_ASC_auto_sufficient_univ,pnr_transit_ASC_auto_sufficient_work,pnr_transit_ASC_auto_sufficient_atwork +knr_transit_ASC_no_auto,knr_transit_ASC_no_auto_eatout,knr_transit_ASC_no_auto_escort,knr_transit_ASC_no_auto_othdiscr,knr_transit_ASC_no_auto_othmaint,knr_transit_ASC_no_auto_school,knr_transit_ASC_no_auto_shopping,knr_transit_ASC_no_auto_social,knr_transit_ASC_no_auto_univ,knr_transit_ASC_no_auto_work,knr_transit_ASC_no_auto_atwork +knr_transit_ASC_auto_deficient,knr_transit_ASC_auto_deficient_eatout,knr_transit_ASC_auto_deficient_escort,knr_transit_ASC_auto_deficient_othdiscr,knr_transit_ASC_auto_deficient_othmaint,knr_transit_ASC_auto_deficient_school,knr_transit_ASC_auto_deficient_shopping,knr_transit_ASC_auto_deficient_social,knr_transit_ASC_auto_deficient_univ,knr_transit_ASC_auto_deficient_work,knr_transit_ASC_auto_deficient_atwork +knr_transit_ASC_auto_sufficient,knr_transit_ASC_auto_sufficient_eatout,knr_transit_ASC_auto_sufficient_escort,knr_transit_ASC_auto_sufficient_othdiscr,knr_transit_ASC_auto_sufficient_othmaint,knr_transit_ASC_auto_sufficient_school,knr_transit_ASC_auto_sufficient_shopping,knr_transit_ASC_auto_sufficient_social,knr_transit_ASC_auto_sufficient_univ,knr_transit_ASC_auto_sufficient_work,knr_transit_ASC_auto_sufficient_atwork +taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork +taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork +taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork +tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork +tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork +tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork +tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork +tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork +tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork +joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all +joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all +joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all +joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all +joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all +joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all +joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all +joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all +joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all +joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all +joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all +joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all +joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all +joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all +joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all +joint_pnr_transit_ASC_no_auto,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all +joint_pnr_transit_ASC_auto_deficient,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all +joint_pnr_transit_ASC_auto_sufficient,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all +joint_knr_transit_ASC_no_auto,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all +joint_knr_transit_ASC_auto_deficient,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all +joint_knr_transit_ASC_auto_sufficient,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all +joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all +joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all +joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all +joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all +joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all +joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all +joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all +joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all +joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all +local_ASC,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_school_univ,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_ASC_school_univ,local_ASC_work,local_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +premium_ASC,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_school_univ,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,premium_ASC_school_univ,premium_ASC_work,premium_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +mix_ASC,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_school_univ,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,mix_ASC_school_univ,mix_ASC_work,mix_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +# walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +# drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +# walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +# drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +# express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +# heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +# commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork +drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork +schoolbus_ASC_no_auto,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_no_auto_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school +schoolbus_ASC_auto_deficient,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_auto_deficient_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school +schoolbus_ASC_auto_sufficient,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_auto_sufficient_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork.csv new file mode 100755 index 0000000000..c0166ffa5e --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork.csv @@ -0,0 +1,50 @@ +Label,Description,Expression,Coefficient +util_Female_Departure_after_1230_pm_Linear,Female - Departure after 12:30 pm - Linear,"@np.where(((df.female) & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Female_Departure_after_1230_pm_Linear +util_Parttime_worker_Departure_after_1230_pm__Linear,Part-time worker - Departure after 12:30 pm - Linear,"@np.where(((df.ptype == 2) & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Parttime_worker_Departure_after_1230_pm__Linear +util_Parttime_worker_Duration_greater_than_0p5_hours_depart_and_arrive_in_the_same_period,Part-time worker - Duration greater than 0.5 hours (depart and arrive in the same period),"@np.where(((df.ptype == 2) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Parttime_worker_Duration_greater_than_0p5_hours_depart_and_arrive_in_the_same_period +util_Low_income_lt25000_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Low income (<25000) - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.is_income_less25K) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Low_income_lt25000_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util_Med_income_25k_to_60k_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Med income (25k to 60k) - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.is_income_25K_to_60K) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Med_income_25k_to_60k_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util_Med_income_25k_to_60k_Duration_greater_than_0p5_hours,Med income (25k to 60k) - Duration greater than 0.5 hours,"@np.where(((df.is_income_25K_to_60K) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Med_income_25k_to_60k_Duration_greater_than_0p5_hours +util_Medhigh_income_60k_to_120k_Duration_greater_than_0p5_hours,Med-high income (60k to 120k) - Duration greater than 0.5 hours,"@np.where(((df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Medhigh_income_60k_to_120k_Duration_greater_than_0p5_hours +#util_Blue_collar_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Blue collar - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.work_segment == 5) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Blue_collar_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +#util_Blue_collar_Duration_greater_than_0p5_hours,Blue collar - Duration greater than 0.5 hours,"@np.where(((df.work_segment == 5) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Blue_collar_Duration_greater_than_0p5_hours +#util_Health_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Health - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.work_segment == 3) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Health_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Distance to destination - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where((df.duration<1), ((np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0))) * df.od_distance, 0)",coef_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util_Distance_to_destination_Duration_greater_than_0p5_hours,Distance to destination - Duration greater than 0.5 hours,"@np.where((df.duration>1), ((np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0))) * df.od_distance, 0)",coef_Distance_to_destination_Duration_greater_than_0p5_hours +util_Subtour_purpose_Business_Departure_before_1200_pm__Linear,Subtour purpose: Business - Departure before 12:00 pm - Linear,"@np.where(((df.tour_type == 'business') & (df.start<19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Business_Departure_before_1200_pm__Linear +util_Subtour_purpose_Business_Departure_after_1230_pm_Linear,Subtour purpose: Business - Departure after 12:30 pm - Linear,"@np.where(((df.tour_type == 'business') & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Business_Departure_after_1230_pm_Linear +util_Subtour_purpose_Business_Duration_greater_than_0p5_hours,Subtour purpose: Business - Duration greater than 0.5 hours,"@np.where(((df.tour_type == 'business') & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Subtour_purpose_Business_Duration_greater_than_0p5_hours +util_Subtour_purpose_Eatout_Departure_before_1200_pm__Linear,Subtour purpose: Eat-out - Departure before 12:00 pm - Linear,"@np.where(((df.tour_type == 'eat') & (df.start<19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Eatout_Departure_before_1200_pm__Linear +util_Subtour_purpose_Eatout_Departure_after_1230_pm_Linear,Subtour purpose: Eat-out - Departure after 12:30 pm - Linear,"@np.where(((df.tour_type == 'eat') & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Eatout_Departure_after_1230_pm_Linear +util_Subtour_purpose_Eatout_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Subtour purpose: Eat-out - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.tour_type == 'eat') & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Subtour_purpose_Eatout_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util__Departure_constants,# Departure constants,,coef__Departure_constants +util_Shift_for_every_30_minutes_before_1030_am_Linear,Shift for every 30 minutes before 10:30 am - Linear,"@np.where((df.start<16), (np.where((df.start< 16), np.minimum(16 - df.start, 9), 0) + np.where((df.start> 21), np.minimum(df.start - 21, 11), 0)), 0)",coef_Shift_for_every_30_minutes_before_1030_am_Linear +util_Before_1100_AM,Before 11:00 AM,@(df.start<17),coef_Before_1100_AM +util_1100_AM_1130_AM,11:00 AM - 11:30 AM,@(df.start==17),coef_1100_AM_1130_AM +util_1130_AM_1200_PM,11:30 AM - 12:00 PM,@(df.start==18),coef_1130_AM_1200_PM +util_1200_AM_1230_PM,12:00 AM - 12:30 PM,@(df.start==19),coef_1200_AM_1230_PM +util_1230_PM_0100_PM,12:30 PM - 01:00 PM,@(df.start==20),coef_1230_PM_0100_PM +util_After_0100_PM,After 01:00 PM,@(df.start>20),coef_After_0100_PM +util_Shift_for_every_30_minutes_after_130_pm_Square_Root,Shift for every 30 minutes after 1:30 pm - Square Root,"@np.where((df.start>21), ((np.where((df.start < 16), np.minimum(16 - df.start, 9), 0) + np.where((df.start > 21), np.minimum(df.start - 21, 11), 0))** 0.5), 0)",coef_Shift_for_every_30_minutes_after_130_pm_Square_Root +util__Arrival_constants,# Arrival constants,,coef__Arrival_constants +util_Shift_for_every_30_minutes_before_1130_am_Linear,Shift for every 30 minutes before 11:30 am - Linear,"@np.where((df.end<18), (np.where((df.end < 14), np.minimum(14 - df.end, 9), 0) + np.where((df.end > 24), np.minimum(df.end - 24, 10), 0)), 0)",coef_Shift_for_every_30_minutes_before_1130_am_Linear +util_Before_1200_PM,Before 12:00 PM,@(df.end<19),coef_Before_1200_PM +util_1200_AM_1230_PM,12:00 AM - 12:30 PM,@(df.end==19),coef_1200_AM_1230_PM +util_1230_PM_0100_PM,12:30 PM - 01:00 PM,@(df.end==20),coef_1230_PM_0100_PM +util_0100_PM_0130_PM,01:00 PM - 01:30 PM,@(df.end==21),coef_0100_PM_0130_PM +util_0130_PM_0200_PM,01:30 PM - 02:00 PM,@(df.end==22),coef_0130_PM_0200_PM +util_0200_PM_0230_PM,02:00 PM - 02:30 PM,@(df.end==23),coef_0200_PM_0230_PM +util_After_0230_PM,After 02:30 PM,@(df.end>23),coef_After_0230_PM +util_Shift_for_every_30_minutes_after_300_pm_Linear,Shift for every 30 minutes after 3:00 pm - Linear,"@np.where((df.end>24), (np.where((df.end < 14), np.minimum(14 - df.end, 9), 0) + np.where((df.end > 24), np.minimum(df.end - 24, 10), 0)), 0)",coef_Shift_for_every_30_minutes_after_300_pm_Linear +util__Duration_constants,# Duration constants,,coef__Duration_constants +util_0_hrs,0 hrs,@(df.duration==0),coef_0_hrs +util_0p5_hrs,0.5 hrs,@(df.duration==1),coef_0p5_hrs +util_1_hrs,1 hrs,@(df.duration==2),coef_1_hrs +util_1p5hrs,1.5hrs,@(df.duration==3),coef_1p5hrs +util_2_hrs,2 hrs,@(df.duration==4),coef_2_hrs +util_Longer_than_2_hrs,Longer than 2 hrs,@(df.duration>4),coef_Longer_than_2_hrs +util_Shift_for_every_30_minutes_more_than_2p5_hrs_Square_Root,Shift for every 30 minutes more than 2.5 hrs - Square Root,"@np.where((df.duration>5), ((np.where((df.duration < 0), np.minimum(0 - df.duration, 47), 0) + np.where((df.duration > 5), np.minimum(df.duration - 5, 13), 0)) ** 0.5), 0)",coef_Shift_for_every_30_minutes_more_than_2p5_hrs_Square_Root +util_Calibration_Constant_Departure_eq_18,Calibration Constant - Departure = 18,@(df.start==18),coef_Calibration_Constant_Departure_eq_18 +util_Calibration_Constant_Departure_eq_19,Calibration Constant - Departure = 19,@(df.start==19),coef_Calibration_Constant_Departure_eq_19 +util_Calibration_Constant_Arrival_eq_20,Calibration Constant - Arrival = 20,@(df.end==20),coef_Calibration_Constant_Arrival_eq_20 +util_Calibration_Constant_Arrival_eq_21,Calibration Constant - Arrival = 21,@(df.end==21),coef_Calibration_Constant_Arrival_eq_21 diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork.yaml b/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork.yaml new file mode 100755 index 0000000000..f04f93b8e5 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork.yaml @@ -0,0 +1,16 @@ + +SPEC: tour_scheduling_atwork.csv +COEFFICIENTS: tour_scheduling_atwork_coeffs.csv + +preprocessor: + SPEC: tour_scheduling_atwork_preprocessor + DF: df +# TABLES: +# - land_use +# - tours + +SIMULATE_CHOOSER_COLUMNS: + - od_distance + +CONSTANTS: + time_cap: 30 \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork_coeffs.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork_coeffs.csv new file mode 100755 index 0000000000..457c9e4b8a --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork_coeffs.csv @@ -0,0 +1,47 @@ +coefficient_name,value,constrain +coef_Female_Departure_after_1230_pm_Linear,0.05574558,F +coef_Parttime_worker_Departure_after_1230_pm__Linear,0.129291333,F +coef_Parttime_worker_Duration_greater_than_0p5_hours_depart_and_arrive_in_the_same_period,0.162008704,F +coef_Low_income_lt25000_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,0.885322446,F +coef_Med_income_25k_to_60k_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,0.526935246,F +coef_Med_income_25k_to_60k_Duration_greater_than_0p5_hours,-0.081917021,F +coef_Medhigh_income_60k_to_120k_Duration_greater_than_0p5_hours,-0.068358924,F +coef_Blue_collar_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,1.191378628,F +coef_Blue_collar_Duration_greater_than_0p5_hours,0.123072852,F +coef_Health_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,0.791205377,F +coef_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,-0.292363361,F +coef_Distance_to_destination_Duration_greater_than_0p5_hours,0.006885922,F +coef_Subtour_purpose_Business_Departure_before_1200_pm__Linear,0.268963895,F +coef_Subtour_purpose_Business_Departure_after_1230_pm_Linear,0.17631122,F +coef_Subtour_purpose_Business_Duration_greater_than_0p5_hours,0.362189199,F +coef_Subtour_purpose_Eatout_Departure_before_1200_pm__Linear,-0.250770206,F +coef_Subtour_purpose_Eatout_Departure_after_1230_pm_Linear,-0.169861029,F +coef_Subtour_purpose_Eatout_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,-0.678939929,F +coef_Shift_for_every_30_minutes_before_1030_am_Linear,-0.731880037,F +coef_Before_1100_AM,-2.176744062,F +coef_1100_AM_1130_AM,-1.190017952,F +coef_1130_AM_1200_PM,-0.198229872,F +#coef_1200_AM_1230_PM,0,T +#coef_1230_PM_0100_PM,-0.084950396,F +coef_After_0100_PM,-0.205562723,F +coef_Shift_for_every_30_minutes_after_130_pm_Square_Root,0.539088697,F +coef_Shift_for_every_30_minutes_before_1130_am_Linear,0.414546555,F +coef_Before_1200_PM,0.279351638,F +coef_1200_AM_1230_PM,-0.045281832,F +coef_1230_PM_0100_PM,0.214070736,F +coef_0100_PM_0130_PM,0,T +coef_0130_PM_0200_PM,-0.69742748,F +coef_0200_PM_0230_PM,-1.284283533,F +coef_After_0230_PM,-2.119733896,F +coef_Shift_for_every_30_minutes_after_300_pm_Linear,-0.508006414,F +coef_0_hrs,-0.969734874,F +coef_0p5_hrs,0,T +coef_1_hrs,0.177457256,F +coef_1p5hrs,-0.171124657,F +coef_2_hrs,-0.4678094,F +coef_Longer_than_2_hrs,-0.523935526,F +coef_Shift_for_every_30_minutes_more_than_2p5_hrs_Square_Root,-0.424301372,F +coef_Calibration_Constant_Departure_eq_18,-0.045958531,F +coef_Calibration_Constant_Departure_eq_19,-0.099009925,F +coef_Calibration_Constant_Arrival_eq_20,-0.0698094,F +coef_Calibration_Constant_Arrival_eq_21,-0.064355276,F diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork_preprocessor.csv new file mode 100755 index 0000000000..26ac917ae5 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork_preprocessor.csv @@ -0,0 +1,3 @@ +Description,Target,Expression +#,, +local scalar distance skim,od_distance,"od_skims[('SOV_DIST', 'MD')]" diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_joint.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_joint.csv new file mode 100755 index 0000000000..a9f0a51860 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_joint.csv @@ -0,0 +1,315 @@ +Label,Description,Expression,Coefficient +,,, +#ESCORT,#ESCORT,,ESCORT +util_escort_Mode_Choice_Logsum,ESCORT - Mode Choice Logsum,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort')), df.mode_choice_logsum, 0)",coef_escort_Mode_Choice_Logsum +util_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,ESCORT - Distance to destination - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration<1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0))),0)",coef_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util_escort_Distance_to_destination_Duration_greater_than_0p5_hours,ESCORT - Distance to destination - Duration greater than 0.5 hours,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>1)), ((df.origin_to_destination_distance) * (np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_Distance_to_destination_Duration_greater_than_0p5_hours +util_escort_Fulltime_worker_Departure_after_8_00_am_Linear,ESCORT - Full-time worker - Departure after 8:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)),0)",coef_escort_Fulltime_worker_Departure_after_8_00_am_Linear +util_escort_Fulltime_worker_Departure_after_3_00_am_Linear,ESCORT - Full-time worker - Departure after 3:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Fulltime_worker_Departure_after_3_00_am_Linear +util_escort_Fulltime_worker_Duration_lt_0p5_hrs,ESCORT - Full-time worker - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Fulltime_worker_Duration_lt_0p5_hrs +util_escort_Fulltime_worker_Duration_gt_0p5_hrs,ESCORT - Full-time worker - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Fulltime_worker_Duration_gt_0p5_hrs +util_escort_University_student_Duration_lt_0p5_hrs,ESCORT - University student - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 3) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_University_student_Duration_lt_0p5_hrs +util_escort_Nondriving_age_student_Duration_gt_0p5_hrs,ESCORT - Non-driving age student - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & ((df.ptype == 7)|(df.ptype == 8)) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Nondriving_age_student_Duration_gt_0p5_hrs +util_escort_Driving_age_student_Duration_lt_0p5_hrs,ESCORT - Driving age student - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 6) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Driving_age_student_Duration_lt_0p5_hrs +util_escort_Driving_age_student_Duration_gt_0p5_hrs,ESCORT - Driving age student - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 6) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Driving_age_student_Duration_gt_0p5_hrs +util_escort_Preschool_kid_Duration_gt_0p5_hrs,ESCORT - Pre-school kid - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 8) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Preschool_kid_Duration_gt_0p5_hrs +util_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs,ESCORT - Med-high income (60k to 120k) - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs +util_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 7:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start<10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM +util_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM +util_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 2:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start<24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM +util_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where ((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM +util_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM +util_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM +util_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM +util_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM +util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start >10)), (np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM +util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>24)), (np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM +util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM,"ESCORT -Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM +util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM +util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.start>10)), (np.where ((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM +util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>11)), (np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM +util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) &( df.end>25)), (np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM +util_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs,ESCORT - Number of autos greater than number of adults - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs +#FIXME_Number_of_nonescort_tours_is_not_known_until_the_nonmandatory_frequency_model_is_run,#FIXME - Number of non-escort tours is not known until the non-mandatory frequency model is run,,FIXME_Number_of_nonescort_tours_is_not_known_until_the_nonmandatory_frequency_model_is_run +#util_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs,#ESCORT - Number of Individual Tours (excluding escorting) - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type != 'escort') & (df.num_non_escort_tours > 0) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs +util_escort_Number_of_joint_tours_Duration_gt_0p5_hrs,ESCORT - Number of joint tours - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) *(df.num_joint_tours), 0)",coef_escort_Number_of_joint_tours_Duration_gt_0p5_hrs +util_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear,ESCORT - Departure Constant: Shift for every 30 minutes before 06:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start<8)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + np.where((df.start>13), np.minimum(df.start-13,28), 0)), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear +util_escort_Departure_Constant_Before_07_00_AM,ESCORT - Departure Constant: Before 07:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start<9)),coef_escort_Departure_Constant_Before_07_00_AM +util_escort_Departure_Constant_07_00_AM_07_30_AM,ESCORT - Departure Constant: 07:00 AM - 07:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==9)),coef_escort_Departure_Constant_07_00_AM_07_30_AM +util_escort_Departure_Constant_07_30_AM_08_00_AM,ESCORT - Departure Constant: 07:30 AM - 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==10)),coef_escort_Departure_Constant_07_30_AM_08_00_AM +util_escort_Departure_Constant_08_00_AM_08_30_AM,ESCORT - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==11)),coef_escort_Departure_Constant_08_00_AM_08_30_AM +util_escort_Departure_Constant_08_30_AM_09_00_AM,ESCORT - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==12)),coef_escort_Departure_Constant_08_30_AM_09_00_AM +util_escort_Departure_Constant_After_09_00_AM,ESCORT - Departure Constant: After 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>12)),coef_escort_Departure_Constant_After_09_00_AM +util_escort_Departure_Constant_01_30_PM_02_00_PM,ESCORT - Departure Constant: 01:30 PM - 02:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==22)),coef_escort_Departure_Constant_01_30_PM_02_00_PM +util_escort_Departure_Constant_02_00_PM_02_30_PM,ESCORT - Departure Constant: 02:00 PM - 02:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==23)),coef_escort_Departure_Constant_02_00_PM_02_30_PM +util_escort_Departure_Constant_02_30_PM_03_00_PM,ESCORT - Departure Constant: 02:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==24)),coef_escort_Departure_Constant_02_30_PM_03_00_PM +util_escort_Departure_Constant_03_00_PM_03_30_PM,ESCORT - Departure Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==25)),coef_escort_Departure_Constant_03_00_PM_03_30_PM +util_escort_Departure_Constant_After_03_30_PM,ESCORT - Departure Constant: After 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>25)),coef_escort_Departure_Constant_After_03_30_PM +util_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,ESCORT - Departure Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>13)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + (np.where((df.start>13), np.minimum(df.start-13,28), 0))), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear +util_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear,ESCORT - Departure Constant: Shift for every 30 minutes after 4:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>26)), (np.where((df.start<0), np.minimum(0-df.start,48), 0) + np.where((df.start>26), np.minimum(df.start-26,15),0)), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear +util_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes before 6:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end<8)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear +util_escort_Arrival_Constant_Before_07_00_AM,ESCORT - Arrival Constant: Before 07:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end<9)),coef_escort_Arrival_Constant_Before_07_00_AM +util_escort_Arrival_Constant_07_00_AM_07_30_AM,ESCORT - Arrival Constant: 07:00 AM - 07:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==9)),coef_escort_Arrival_Constant_07_00_AM_07_30_AM +util_escort_Arrival_Constant_07_30_AM_08_00_AM,ESCORT - Arrival Constant: 07:30 AM - 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==10)),coef_escort_Arrival_Constant_07_30_AM_08_00_AM +util_escort_Arrival_Constant_08_00_AM_08_30_AM,ESCORT - Arrival Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==11)),coef_escort_Arrival_Constant_08_00_AM_08_30_AM +util_escort_Arrival_Constant_08_30_AM_09_00_AM,ESCORT - Arrival Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==12)),coef_escort_Arrival_Constant_08_30_AM_09_00_AM +util_escort_Arrival_Constant_After_09_00_AM,ESCORT - Arrival Constant: After 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>12)),coef_escort_Arrival_Constant_After_09_00_AM +util_escort_Arrival_Constant_02_30_PM_03_00_PM,ESCORT - Arrival Constant: 02:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==24)),coef_escort_Arrival_Constant_02_30_PM_03_00_PM +util_escort_Arrival_Constant_03_00_PM_03_30_PM,ESCORT - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==25)),coef_escort_Arrival_Constant_03_00_PM_03_30_PM +util_escort_Arrival_Constant_03_30_PM_04_00_PM,ESCORT - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==26)),coef_escort_Arrival_Constant_03_30_PM_04_00_PM +util_escort_Arrival_Constant_04_00_PM_04_30_PM,ESCORT - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==27)),coef_escort_Arrival_Constant_04_00_PM_04_30_PM +util_escort_Arrival_Constant_After_04_30_PM,ESCORT - Arrival Constant: After 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>27)),coef_escort_Arrival_Constant_After_04_30_PM +util_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>13)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear +util_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>28)), (np.where((df.end<0), np.minimum(0-df.end,48), 0) + np.where((df.start>28), np.minimum(df.end-28,15), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear +util_escort_Duration_Constant_0_hrs,ESCORT - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==0)),coef_escort_Duration_Constant_0_hrs +util_escort_Duration_Constant_0p5_hrs,ESCORT - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==1)),coef_escort_Duration_Constant_0p5_hrs +util_escort_Duration_Constant_1_hrs,ESCORT - Duration Constant: 1 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==2)),coef_escort_Duration_Constant_1_hrs +util_escort_Duration_Constant_1p5hrs,ESCORT - Duration Constant: 1.5hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==3)),coef_escort_Duration_Constant_1p5hrs +util_escort_Duration_Constant_2_hrs,ESCORT - Duration Constant: 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==4)),coef_escort_Duration_Constant_2_hrs +util_escort_Duration_Constant_Longer_than_2_hrs,ESCORT - Duration Constant: Longer than 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>4)),coef_escort_Duration_Constant_Longer_than_2_hrs +util_escort_Calibration_Constant_Duration_eq_1,ESCORT - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==0)),coef_escort_Calibration_Constant_Duration_eq_1 +util_escort_Calibration_Constant_Duration_eq_2,ESCORT - Calibration Constant - Duration = 2,@(((df.tour_category == 'joint') & (df.tour_type == 'escort') & df.duration==1)),coef_escort_Calibration_Constant_Duration_eq_2 +util_escort_Calibration_Constant_Departure_eq_9,ESCORT - Calibration Constant - Departure = 9,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==9)),coef_escort_Calibration_Constant_Departure_eq_9 +util_escort_Calibration_Constant_Departure_eq_10,ESCORT - Calibration Constant - Departure = 10,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==10)),coef_escort_Calibration_Constant_Departure_eq_10 +util_escort_Calibration_Constant_Departure_eq_23,ESCORT - Calibration Constant - Departure = 23,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==23)),coef_escort_Calibration_Constant_Departure_eq_23 +util_escort_Calibration_Constant_Departure_eq_24,ESCORT - Calibration Constant - Departure = 24,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==24)),coef_escort_Calibration_Constant_Departure_eq_24 +#SHOPPING,#SHOPPING,,SHOPPING +util_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear,SHOPPING - Joint Shopping tours dummy: Departure before 10:00 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear +util_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear,SHOPPING - Joint Shopping tours dummy: Departure after 10:30 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear +util_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,SHOPPING - Joint Tours Party Size > 2: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs +util_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,SHOPPING - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.number_of_participants > 2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr +util_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,SHOPPING - Joint Tour with only adults: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.composition=='adults')), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs +util_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,SHOPPING - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs +util_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr,SHOPPING - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr +util_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_less25K) & (df.duration>3)), (np.where((df.duration>3),np.minimum(df.duration-3,27), 0)), 0)",coef_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr +util_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_25K_to_60K) & (df.duration<3)), (np.where((df.duration>3),np.minimum(df.duration-3,27), 0)), 0)",coef_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs +util_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_60K_to_120K) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,27), 0)), 0)",coef_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr +util_shop_Distance_Duration_lt_1p5_hrs,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)) * (df.origin_to_destination_distance), 0)",coef_shop_Distance_Duration_lt_1p5_hrs +util_shop_Distance_Duration_gt_1p5_hr,SHOPPING - Distance: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2)), ((np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance)), 0)",coef_shop_Distance_Duration_gt_1p5_hr +util_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear +util_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root +util_shop_Departure_Constant_Before_09_00_AM,SHOPPING - Departure Constant: Before 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<13)),coef_shop_Departure_Constant_Before_09_00_AM +util_shop_Departure_Constant_09_00_AM_09_30_AM,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==13)),coef_shop_Departure_Constant_09_00_AM_09_30_AM +util_shop_Departure_Constant_09_30_AM_10_00_AM,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==14)),coef_shop_Departure_Constant_09_30_AM_10_00_AM +util_shop_Departure_Constant_10_00_AM_10_30_AM,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==15)),coef_shop_Departure_Constant_10_00_AM_10_30_AM +util_shop_Departure_Constant_10_30_AM_11_00_AM,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==16)),coef_shop_Departure_Constant_10_30_AM_11_00_AM +util_shop_Departure_Constant_After_11_00_AM,SHOPPING - Departure Constant: After 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>16)),coef_shop_Departure_Constant_After_11_00_AM +util_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear +util_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared +util_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear +util_shop_Arrival_Constant_Before_12_30_PM,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end<20)),coef_shop_Arrival_Constant_Before_12_30_PM +util_shop_Arrival_Constant_12_30_PM_03_00_PM,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & ( df.end>=20) & (df.end<=24)),coef_shop_Arrival_Constant_12_30_PM_03_00_PM +util_shop_Arrival_Constant_03_00_PM_03_30_PM,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==25)),coef_shop_Arrival_Constant_03_00_PM_03_30_PM +util_shop_Arrival_Constant_03_30_PM_04_00_PM,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==26)),coef_shop_Arrival_Constant_03_30_PM_04_00_PM +util_shop_Arrival_Constant_04_00_PM_04_30_PM,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==27)),coef_shop_Arrival_Constant_04_00_PM_04_30_PM +util_shop_Arrival_Constant_04_30_PM_05_00_PM,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==28)),coef_shop_Arrival_Constant_04_30_PM_05_00_PM +util_shop_Arrival_Constant_05_00_PM_05_30_PM,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==29)),coef_shop_Arrival_Constant_05_00_PM_05_30_PM +util_shop_Arrival_Constant_05_30_PM_07_00_PM,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>=30) & (df.end<=32)),coef_shop_Arrival_Constant_05_30_PM_07_00_PM +util_shop_Arrival_Constant_07_00_PM_09_30_PM,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>=33) & (df.end<=37)),coef_shop_Arrival_Constant_07_00_PM_09_30_PM +util_shop_Arrival_Constant_After_09_30_PM,SHOPPING - Arrival Constant: After 09:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>37)),coef_shop_Arrival_Constant_After_09_30_PM +util_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear +util_shop_Duration_Constant_0_hrs,SHOPPING - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==0)),coef_shop_Duration_Constant_0_hrs +util_shop_Duration_Constant_0p5_hrs,SHOPPING - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==1)),coef_shop_Duration_Constant_0p5_hrs +util_shop_Duration_Constant_1_hrs,SHOPPING - Duration Constant: 1 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==2)),coef_shop_Duration_Constant_1_hrs +util_shop_Duration_Constant_1p5hrs,SHOPPING - Duration Constant: 1.5hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==3)),coef_shop_Duration_Constant_1p5hrs +util_shop_Duration_Constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==4)),coef_shop_Duration_Constant_2_hrs +util_shop_Duration_Constant_Longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>4)),coef_shop_Duration_Constant_Longer_than_2_hrs +util_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear +util_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root +util_shop_Calibration_Constant_Duration_eq_1,SHOPPING - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==0)),coef_shop_Calibration_Constant_Duration_eq_1 +util_shop_Calibration_Constant_Duration_eq_2,SHOPPING - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==1)),coef_shop_Calibration_Constant_Duration_eq_2 +util_shop_Calibration_Constant_Duration_eq_3,SHOPPING - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==2)),coef_shop_Calibration_Constant_Duration_eq_3 +#MAINTENANCE,#MAINTENANCE,,MAINTENANCE +util_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear,MAINTENANCE - Joint Maintenance tours dummy: Departure before 10:00 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear +util_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear,MAINTENANCE - Joint Maintenance tours dummy: Departure after 10:30 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear +util_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,MAINTENANCE - Joint Tours Party Size > 2: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs +util_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,MAINTENANCE - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.number_of_participants > 2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr +util_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,MAINTENANCE - Joint Tour with only adults: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.composition=='adults')), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs +util_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,MAINTENANCE - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs +util_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr,MAINTENANCE - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr +util_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr +util_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs +util_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr +util_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr +util_maint_Distance_Duration_lt_1p5_hrs,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)) *(df.origin_to_destination_distance), 0)",coef_maint_Distance_Duration_lt_1p5_hrs +util_maint_Distance_Duration_gt_1p5_hr,MAINTENANCE - Distance: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maint_Distance_Duration_gt_1p5_hr +util_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear +util_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root +util_maint_Departure_Constant_Before_08_00_AM,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<11)),coef_maint_Departure_Constant_Before_08_00_AM +util_maint_Departure_Constant_08_00_AM_08_30_AM,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==11)),coef_maint_Departure_Constant_08_00_AM_08_30_AM +util_maint_Departure_Constant_08_30_AM_09_00_AM,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==12)),coef_maint_Departure_Constant_08_30_AM_09_00_AM +util_maint_Departure_Constant_09_00_AM_09_30_AM,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==13)),coef_maint_Departure_Constant_09_00_AM_09_30_AM +util_maint_Departure_Constant_09_30_AM_10_00_AM,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==14)),coef_maint_Departure_Constant_09_30_AM_10_00_AM +util_maint_Departure_Constant_10_00_AM_10_30_AM,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==15)),coef_maint_Departure_Constant_10_00_AM_10_30_AM +util_maint_Departure_Constant_10_30_AM_11_00_AM,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==16)),coef_maint_Departure_Constant_10_30_AM_11_00_AM +util_maint_Departure_Constant_After_11_00_AM,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>16)),coef_maint_Departure_Constant_After_11_00_AM +util_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear +util_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared +util_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear +util_maint_Arrival_Constant_Before_10_30_AM,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end<16)),coef_maint_Arrival_Constant_Before_10_30_AM +util_maint_Arrival_Constant_10_30_AM_11_00_AM,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==16)),coef_maint_Arrival_Constant_10_30_AM_11_00_AM +util_maint_Arrival_Constant_11_00_AM_11_30_AM,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==17)),coef_maint_Arrival_Constant_11_00_AM_11_30_AM +util_maint_Arrival_Constant_11_30_AM_01_30_PM,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=18) & (df.end<=21)),coef_maint_Arrival_Constant_11_30_AM_01_30_PM +util_maint_Arrival_Constant_01_30_PM_02_30_PM,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=22) & (df.end<=23)),coef_maint_Arrival_Constant_01_30_PM_02_30_PM +util_maint_Arrival_Constant_02_30_PM_04_00_PM,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=24) & (df.end<=26)),coef_maint_Arrival_Constant_02_30_PM_04_00_PM +util_maint_Arrival_Constant_04_00_PM_04_30_PM,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==27)),coef_maint_Arrival_Constant_04_00_PM_04_30_PM +util_maint_Arrival_Constant_After_04_30_PM,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>27)),coef_maint_Arrival_Constant_After_04_30_PM +util_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear +util_maint_Duration_Constant_0_hrs,MAINTENANCE - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==0)),coef_maint_Duration_Constant_0_hrs +util_maint_Duration_Constant_0p5_hrs,MAINTENANCE - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==1)),coef_maint_Duration_Constant_0p5_hrs +util_maint_Duration_Constant_Longer_than_0p5_hrs,MAINTENANCE - Duration Constant: Longer than 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>1)),coef_maint_Duration_Constant_Longer_than_0p5_hrs +util_maint_Duration_Constant_Duration_gt_1_hrs_Linear,MAINTENANCE - Duration Constant: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Duration_Constant_Duration_gt_1_hrs_Linear +util_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root,MAINTENANCE - Duration Constant: Duration > 1 hrs - Square Root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root +util_maint_Calibration_Constant_Duration_eq_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==0)),coef_maint_Calibration_Constant_Duration_eq_1 +util_maint_Calibration_Constant_Duration_eq_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==1)),coef_maint_Calibration_Constant_Duration_eq_2 +util_maint_Calibration_Constant_Duration_eq_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==2)),coef_maint_Calibration_Constant_Duration_eq_3 +util_maint_Calibration_Constant_Duration_eq_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==3)),coef_maint_Calibration_Constant_Duration_eq_4 +util_maint_Calibration_Constant_Duration_eq_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==4)),coef_maint_Calibration_Constant_Duration_eq_5 +#EATOUT,#EAT-OUT,,EATOUT +util_eatout_Distance_to_destination_Duration_lt_1_hrs,EAT-OUT - Distance to destination - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_Distance_to_destination_Duration_lt_1_hrs +util_eatout_Distance_to_destination_Duration_gt_1_hrs,EAT-OUT - Distance to destination - Duration > 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_Distance_to_destination_Duration_gt_1_hrs +util_eatout_Low_income_lt25000_Duration_lt_1_hrs,EAT-OUT - Low income (<25000) - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Low_income_lt25000_Duration_lt_1_hrs +util_eatout_Medium_25k_to_60k_Duration_lt_1_hrs,EAT-OUT - Medium (25k to 60k) - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Medium_25k_to_60k_Duration_lt_1_hrs +util_eatout_Zero_auto_HH_Duration_gt_1_hrs,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_Zero_auto_HH_Duration_gt_1_hrs +util_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs,EAT-OUT - Kids in Joint tour - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs +util_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs,EAT-OUT - Joint Tours Party Size greater than 2 - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs +util_eatout_Departure_Constant_11_00_AM_12_00_PM,EAT-OUT - Departure Constant: 11:00 AM - 12:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>=17) & (df.start<=18)),coef_eatout_Departure_Constant_11_00_AM_12_00_PM +util_eatout_Departure_Constant_12_00_PM_12_30_PM,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==19),coef_eatout_Departure_Constant_12_00_PM_12_30_PM +util_eatout_Departure_Constant_12_30_PM_to_01_00_PM,EAT-OUT - Departure Constant: 12:30 PM to 01:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==20),coef_eatout_Departure_Constant_12_30_PM_to_01_00_PM +util_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start<29)), (np.where((df.start<29), np.minimum(29-df.start,20), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear +util_eatout_Departure_Constant_Before_05_30_PM,EAT-OUT - Departure Constant: Before 05:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start<30),coef_eatout_Departure_Constant_Before_05_30_PM +util_eatout_Departure_Constant_05_30_PM_06_00_PM,EAT-OUT - Departure Constant: 05:30 PM - 06:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==30),coef_eatout_Departure_Constant_05_30_PM_06_00_PM +util_eatout_Departure_Constant_06_00_PM_06_30_PM,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==31),coef_eatout_Departure_Constant_06_00_PM_06_30_PM +util_eatout_Departure_Constant_06_30_PM_07_00_PM,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==32),coef_eatout_Departure_Constant_06_30_PM_07_00_PM +util_eatout_Departure_Constant_07_00_PM_07_30_PM,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==33),coef_eatout_Departure_Constant_07_00_PM_07_30_PM +util_eatout_Departure_Constant_After_07_30_PM,EAT-OUT - Departure Constant: After 07:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>33),coef_eatout_Departure_Constant_After_07_30_PM +util_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>34)), (np.where((df.start<29), np.minimum(29-df.start,20), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear +util_eatout_Arrival_Constant_12_30_PM_to_01_00_PM,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==20),coef_eatout_Arrival_Constant_12_30_PM_to_01_00_PM +util_eatout_Arrival_Constant_01_00_PM_to_01_30_PM,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==21),coef_eatout_Arrival_Constant_01_00_PM_to_01_30_PM +util_eatout_Arrival_Constant_01_30_PM_to_02_00_PM,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==22),coef_eatout_Arrival_Constant_01_30_PM_to_02_00_PM +util_eatout_Arrival_Constant_02_00_PM_to_02_30_PM,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==23),coef_eatout_Arrival_Constant_02_00_PM_to_02_30_PM +util_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end<32)), (np.where((df.end<32), np.minimum(32-df.end,21), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear +util_eatout_Arrival_Constant_Before_7_00_PM,EAT-OUT - Arrival Constant: Before 7:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end<33),coef_eatout_Arrival_Constant_Before_7_00_PM +util_eatout_Arrival_Constant_7_00_PM_to_7_30_PM,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@(df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.end==33),coef_eatout_Arrival_Constant_7_00_PM_to_7_30_PM +util_eatout_Arrival_Constant_7_30_PM_to_8_00_PM,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==34),coef_eatout_Arrival_Constant_7_30_PM_to_8_00_PM +util_eatout_Arrival_Constant_8_00_PM_to_8_30_PM,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==35),coef_eatout_Arrival_Constant_8_00_PM_to_8_30_PM +util_eatout_Arrival_Constant_8_30_PM_to_9_00_PM,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==36),coef_eatout_Arrival_Constant_8_30_PM_to_9_00_PM +util_eatout_Arrival_Constant_After_09_00_PM,EAT-OUT - Arrival Constant: After 09:00 PM,@(df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.end>36),coef_eatout_Arrival_Constant_After_09_00_PM +util_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_type== 'eatout') & (df.end>37) & (df.tour_category == 'joint')), (np.where((df.end<32), np.minimum(32-df.end,21), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear +util_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,12), 0)), 0)",coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear +util_eatout_Duration_Constant_0_hours,EAT-OUT - Duration Constant: 0 hours,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_Duration_Constant_0_hours +util_eatout_Duration_Constant_0p5_hous,EAT-OUT - Duration Constant: 0.5 hous,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_Duration_Constant_0p5_hous +util_eatout_Duration_Constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_Duration_Constant_1_hour +util_eatout_Duration_Constant_1p5_hours,EAT-OUT - Duration Constant: 1.5 hours,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_Duration_Constant_1p5_hours +util_eatout_Duration_Constant_2_hours_or_more,EAT-OUT - Duration Constant: 2 hours or more,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>4),coef_eatout_Duration_Constant_2_hours_or_more +util_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 2.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,13), 0)), 0)",coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear +util_eatout_Calibration_Constant_Duration_eq_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_Calibration_Constant_Duration_eq_1 +util_eatout_Calibration_Constant_Duration_eq_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_Calibration_Constant_Duration_eq_2 +util_eatout_Calibration_Constant_Duration_eq_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_Calibration_Constant_Duration_eq_3 +util_eatout_Calibration_Constant_Duration_eq_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_Calibration_Constant_Duration_eq_4 +util_eatout_Calibration_Constant_Departure_eq_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start == 1)),coef_eatout_Calibration_Constant_Departure_eq_1 +util_eatout_Calibration_Constant_Departure_eq_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start == 2)),coef_eatout_Calibration_Constant_Departure_eq_2 +util_eatout_Calibration_Constant_Departure_eq_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.start == 3)),coef_eatout_Calibration_Constant_Departure_eq_3 +util_eatout_Calibration_Constant_Departure_eq_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==17)),coef_eatout_Calibration_Constant_Departure_eq_17 +util_eatout_Calibration_Constant_Departure_eq_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.start ==18)),coef_eatout_Calibration_Constant_Departure_eq_18 +util_eatout_Calibration_Constant_Departure_eq_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==19)),coef_eatout_Calibration_Constant_Departure_eq_19 +util_eatout_Calibration_Constant_Departure_eq_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==20)),coef_eatout_Calibration_Constant_Departure_eq_20 +util_eatout_Calibration_Constant_Departure_eq_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==21)),coef_eatout_Calibration_Constant_Departure_eq_21 +#SOCIAL,#SOCIAL,,SOCIAL +util_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.retired_adults_only_hh) & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear +util_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear +util_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear +util_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,SOCIAL - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint')&(df.tour_type == 'social') & (df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear +util_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,SOCIAL - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear +util_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,SOCIAL - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs +util_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr,SOCIAL - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr +util_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,SOCIAL - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3) & (df.number_of_participants > 2)), (np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr +util_social_Auto_Distance_Duration_lt_1_hrs_Linear,SOCIAL - Auto Distance: Duration < 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) * (df.origin_to_destination_distance)), 0) ",coef_social_Auto_Distance_Duration_lt_1_hrs_Linear +util_social_Auto_Distance_Duration_gt_1_hrs_Linear,SOCIAL - Auto Distance: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0) * (df.origin_to_destination_distance)), 0)",coef_social_Auto_Distance_Duration_gt_1_hrs_Linear +util_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear +util_social_Departure_Constant_Before_09_00_AM,SOCIAL - Departure Constant: Before 09:00 AM,@(df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<13),coef_social_Departure_Constant_Before_09_00_AM +util_social_Departure_Constant_09_00_AM_to_09_30_AM,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==13),coef_social_Departure_Constant_09_00_AM_to_09_30_AM +util_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear +util_social_Departure_Constant_Before_05_30_PM,SOCIAL - Departure Constant: Before 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<30)),coef_social_Departure_Constant_Before_05_30_PM +util_social_Departure_Constant_05_30_PM_06_00_PM,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==30)),coef_social_Departure_Constant_05_30_PM_06_00_PM +util_social_Departure_Constant_06_00_PM_06_30_PM,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==31)),coef_social_Departure_Constant_06_00_PM_06_30_PM +util_social_Departure_Constant_06_30_PM_07_00_PM,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==32)),coef_social_Departure_Constant_06_30_PM_07_00_PM +util_social_Departure_Constant_07_00_PM_07_30_PM,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==33)),coef_social_Departure_Constant_07_00_PM_07_30_PM +util_social_Departure_Constant_After_07_30_PM,SOCIAL - Departure Constant: After 07:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start>33)),coef_social_Departure_Constant_After_07_30_PM +util_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear +util_social_Arrival_Constant_03_00_PM_to_03_30_PM,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==25)),coef_social_Arrival_Constant_03_00_PM_to_03_30_PM +util_social_Arrival_Constant_03_30_PM_to_04_00_PM,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==26)),coef_social_Arrival_Constant_03_30_PM_to_04_00_PM +util_social_Arrival_Constant_04_00_PM_to_04_30_PM,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==27)),coef_social_Arrival_Constant_04_00_PM_to_04_30_PM +util_social_Arrival_Constant_05_00_PM_to_06_00_PM,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>=29) & (df.end<=30)),coef_social_Arrival_Constant_05_00_PM_to_06_00_PM +util_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear +util_social_Arrival_Constant_Before_8_30_PM,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end<36)),coef_social_Arrival_Constant_Before_8_30_PM +util_social_Arrival_Constant_8_30_PM_to_9_00_PM,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==36)),coef_social_Arrival_Constant_8_30_PM_to_9_00_PM +util_social_Arrival_Constant_9_00_PM_to_9_30_PM,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==37)),coef_social_Arrival_Constant_9_00_PM_to_9_30_PM +util_social_Arrival_Constant_9_30_PM_to10_00_PM,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==38)),coef_social_Arrival_Constant_9_30_PM_to10_00_PM +util_social_Arrival_Constant_10_00_PM_to_10_30_PM,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==39)),coef_social_Arrival_Constant_10_00_PM_to_10_30_PM +util_social_Arrival_Constant_After_10_30_PM,SOCIAL - Arrival Constant: After 10:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>39)),coef_social_Arrival_Constant_After_10_30_PM +util_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear +util_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 1.5 hrs - Linear,"@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3)) * ((np.minimum(3-df.duration,47)*(df.duration<3)) + (np.minimum(df.duration-6,47)*(df.duration>6)))",coef_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear +util_social_Duration_Constant_Less_than_2_hours,SOCIAL - Duration Constant: Less than 2 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<4)),coef_social_Duration_Constant_Less_than_2_hours +util_social_Duration_Constant_2_hours,SOCIAL - Duration Constant: 2 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration==4)),coef_social_Duration_Constant_2_hours +util_social_Duration_Constant_2p5_hours,SOCIAL - Duration Constant: 2.5 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration==5)),coef_social_Duration_Constant_2p5_hours +util_social_Duration_Constant_3_hours_or_more,SOCIAL - Duration Constant: 3 hours or more,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>5)),coef_social_Duration_Constant_3_hours_or_more +util_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 3.5 hrs - Linear,"@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>6)) * ((np.minimum(3-df.duration,47)*(df.duration<3)) + (np.minimum(df.duration-6,47)*(df.duration>6)))",coef_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear +util_social_Calibration_Constant_Duration_eq_1,SOCIAL - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==0)),coef_social_Calibration_Constant_Duration_eq_1 +util_social_Calibration_Constant_Duration_eq_2,SOCIAL - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration == 1)),coef_social_Calibration_Constant_Duration_eq_2 +util_social_Calibration_Constant_Duration_eq_3,SOCIAL - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==2)),coef_social_Calibration_Constant_Duration_eq_3 +util_social_Calibration_Constant_Duration_eq_4,SOCIAL - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==3)),coef_social_Calibration_Constant_Duration_eq_4 +util_social_Calibration_Constant_Duration_eq_5,SOCIAL - Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==4)),coef_social_Calibration_Constant_Duration_eq_5 +util_social_Calibration_Constant_Duration_eq_6,SOCIAL - Calibration Constant - Duration = 6,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==5)),coef_social_Calibration_Constant_Duration_eq_6 +util_social_Calibration_Constant_Duration_eq_7,SOCIAL - Calibration Constant - Duration = 7,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==6)),coef_social_Calibration_Constant_Duration_eq_7 +util_social_Calibration_Constant_Duration_eq_8,SOCIAL - Calibration Constant - Duration = 8,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==7)),coef_social_Calibration_Constant_Duration_eq_8 +util_social_Calibration_Constant_Duration_eq_9,SOCIAL - Calibration Constant - Duration = 9,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==8)),coef_social_Calibration_Constant_Duration_eq_9 +#DISCRETIONARY,#DISCRETIONARY,,DISCRETIONARY +util_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.retired_adults_only_hh) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear +util_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear +util_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear +util_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership > 0) & (df.tour_type == 'othdiscr') & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)),0)",coef_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear +util_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear +util_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,DISCRETIONARY - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & ((df.ptype == 6) | (df.ptype == 7) | (df.ptype == 8))), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs +util_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr,DISCRETIONARY - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & ((df.ptype == 6) | (df.ptype == 7) | (df.ptype == 8))), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr +util_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,DISCRETIONARY - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & (df.number_of_participants > 2)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr +util_disc_Auto_Distance_Duration_lt_1_hrs_Linear,DISCRETIONARY - Auto Distance: Duration < 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)) * (df.origin_to_destination_distance), 0)",coef_disc_Auto_Distance_Duration_lt_1_hrs_Linear +util_disc_Auto_Distance_Duration_gt_1_hrs_Linear,DISCRETIONARY - Auto Distance: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_disc_Auto_Distance_Duration_gt_1_hrs_Linear +util_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear +util_disc_Departure_Constant_Before_7_30_AM_,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<10)),coef_disc_Departure_Constant_Before_7_30_AM_ +util_disc_Departure_Constant_7_30_AM_to_8_00_AM,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==10)),coef_disc_Departure_Constant_7_30_AM_to_8_00_AM +util_disc_Departure_Constant_8_00_AM_to_8_30_AM,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==11)),coef_disc_Departure_Constant_8_00_AM_to_8_30_AM +util_disc_Departure_Constant_8_30_AM_to_9_00_AM,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==12)),coef_disc_Departure_Constant_8_30_AM_to_9_00_AM +util_disc_Departure_Constant_9_00_AM_to_9_30_AM,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==13)),coef_disc_Departure_Constant_9_00_AM_to_9_30_AM +util_disc_Departure_Constant_9_30_AM_to_10_00_AM,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==14)),coef_disc_Departure_Constant_9_30_AM_to_10_00_AM +util_disc_Departure_Constant_10_00_AM_to_10_30_AM,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==15)),coef_disc_Departure_Constant_10_00_AM_to_10_30_AM +util_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear +util_disc_Departure_Constant_Before_05_00_PM,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<29)),coef_disc_Departure_Constant_Before_05_00_PM +util_disc_Departure_Constant_05_00_PM_05_30_PM,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==29)),coef_disc_Departure_Constant_05_00_PM_05_30_PM +util_disc_Departure_Constant_05_30_PM_06_00_PM,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==30)),coef_disc_Departure_Constant_05_30_PM_06_00_PM +util_disc_Departure_Constant_06_00_PM_06_30_PM,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==31)),coef_disc_Departure_Constant_06_00_PM_06_30_PM +util_disc_Departure_Constant_06_30_PM_07_00_PM,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==32)),coef_disc_Departure_Constant_06_30_PM_07_00_PM +util_disc_Departure_Constant_After_07_00_PM,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start>32)),coef_disc_Departure_Constant_After_07_00_PM +util_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear +util_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear +util_disc_Arrival_Constant_Before_6_30_PM,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end<32)),coef_disc_Arrival_Constant_Before_6_30_PM +util_disc_Arrival_Constant_6_30_PM_to_7_00_PM,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==32)),coef_disc_Arrival_Constant_6_30_PM_to_7_00_PM +util_disc_Arrival_Constant_7_00_PM_to_7_30_PM,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==33)),coef_disc_Arrival_Constant_7_00_PM_to_7_30_PM +util_disc_Arrival_Constant_7_30_PM_to_8_00_PM,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==34)),coef_disc_Arrival_Constant_7_30_PM_to_8_00_PM +util_disc_Arrival_Constant_8_00_PM_to_8_30_PM,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==35)),coef_disc_Arrival_Constant_8_00_PM_to_8_30_PM +util_disc_Arrival_Constant_8_30_PM_to_9_00_PM,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==36)),coef_disc_Arrival_Constant_8_30_PM_to_9_00_PM +util_disc_Arrival_Constant_After_9_00_PM,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end>36)),coef_disc_Arrival_Constant_After_9_00_PM +util_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear +util_disc_Duration_Constant_0_hours,DISCRETIONARY - Duration Constant: 0 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==0),coef_disc_Duration_Constant_0_hours +util_disc_Duration_Constant_0p5_hous,DISCRETIONARY - Duration Constant: 0.5 hous,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==1),coef_disc_Duration_Constant_0p5_hous +util_disc_Duration_Constant_1_hour,DISCRETIONARY - Duration Constant: 1 hour,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==2),coef_disc_Duration_Constant_1_hour +util_disc_Duration_Constant_1p5_hours,DISCRETIONARY - Duration Constant: 1.5 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3),coef_disc_Duration_Constant_1p5_hours +util_disc_Duration_Constant_2_hours,DISCRETIONARY - Duration Constant: 2 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4),coef_disc_Duration_Constant_2_hours +util_disc_Duration_Constant_2p5_hours_or_more,DISCRETIONARY - Duration Constant: 2.5 hours or more,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>4),coef_disc_Duration_Constant_2p5_hours_or_more +util_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,DISCRETIONARY - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,47), 0)), 0)",coef_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear +util_disc_Calibration_Constant_Duration_eq_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3)),coef_disc_Calibration_Constant_Duration_eq_4 +util_disc_Calibration_Constant_Duration_eq_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4)),coef_disc_Calibration_Constant_Duration_eq_5 +util_disc_Calibration_Constant_Departure_eq_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==29)),coef_disc_Calibration_Constant_Departure_eq_29 +util_disc_Calibration_Constant_Departure_eq_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==30)),coef_disc_Calibration_Constant_Departure_eq_30 +util_disc_Calibration_Constant_Departure_eq_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==31)),coef_disc_Calibration_Constant_Departure_eq_31 +util_disc_Calibration_Constant_Departure_eq_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==32)),coef_disc_Calibration_Constant_Departure_eq_32 diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_joint_coeffs.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_joint_coeffs.csv new file mode 100755 index 0000000000..131bb53358 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_joint_coeffs.csv @@ -0,0 +1,400 @@ +coefficient_name,value,constrain +coef_escort_Mode_Choice_Logsum,1.173173034,F +coef_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,-0.335017673,F +coef_escort_Distance_to_destination_Duration_greater_than_0p5_hours,0.005298165,F +coef_escort_Fulltime_worker_Departure_after_8_00_am_Linear,-0.037980109,F +coef_escort_Fulltime_worker_Departure_after_3_00_am_Linear,0.163254125,F +coef_escort_Fulltime_worker_Duration_lt_0p5_hrs,-0.275077482,F +coef_escort_Fulltime_worker_Duration_gt_0p5_hrs,0.051530545,F +coef_escort_University_student_Duration_lt_0p5_hrs,-0.426802718,F +coef_escort_Nondriving_age_student_Duration_gt_0p5_hrs,0.240582361,F +coef_escort_Driving_age_student_Duration_lt_0p5_hrs,-0.554146191,F +coef_escort_Driving_age_student_Duration_gt_0p5_hrs,0.299387708,F +coef_escort_Preschool_kid_Duration_gt_0p5_hrs,0.195482563,F +coef_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs,-0.029281467,F +coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM,0.589083327,F +coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM,0.086690827,F +coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM,0.477582648,F +coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM,-0.204065502,F +coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM,-0.360039254,F +coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM,0.091614107,F +coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM,0.432854268,F +coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM,0.131037275,F +coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,0.109700265,F +coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM,-0.224568648,F +coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM,-0.357416434,F +coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM,0.629285298,F +coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,0.039005148,F +coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM,-0.06556611,F +coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM,0.117680977,F +coef_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs,-0.057322708,F +coef_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs,-0.062899692,F +coef_escort_Number_of_joint_tours_Duration_gt_0p5_hrs,-0.048533895,F +coef_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear,-1.469240002,F +coef_escort_Departure_Constant_Before_07_00_AM,-2.070292862,F +coef_escort_Departure_Constant_07_00_AM_07_30_AM,-0.642734296,F +coef_escort_Departure_Constant_07_30_AM_08_00_AM,0,T +coef_escort_Departure_Constant_08_00_AM_08_30_AM,-0.214617667,F +coef_escort_Departure_Constant_08_30_AM_09_00_AM,-0.147266606,F +coef_escort_Departure_Constant_After_09_00_AM,-1.356686422,F +coef_escort_Departure_Constant_01_30_PM_02_00_PM,0.368092381,F +coef_escort_Departure_Constant_02_00_PM_02_30_PM,1.166803383,F +coef_escort_Departure_Constant_02_30_PM_03_00_PM,1.28466083,F +coef_escort_Departure_Constant_03_00_PM_03_30_PM,0.581891245,F +coef_escort_Departure_Constant_After_03_30_PM,0.834510243,F +coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,0.175257649,F +coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear,-0.019161202,F +coef_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear,0.44978138,F +coef_escort_Arrival_Constant_Before_07_00_AM,0.549584585,F +coef_escort_Arrival_Constant_07_00_AM_07_30_AM,0.488181278,F +coef_escort_Arrival_Constant_07_30_AM_08_00_AM,0.236447651,F +coef_escort_Arrival_Constant_08_00_AM_08_30_AM,0,T +coef_escort_Arrival_Constant_08_30_AM_09_00_AM,-0.683756801,F +coef_escort_Arrival_Constant_After_09_00_AM,-1.428888485,F +coef_escort_Arrival_Constant_02_30_PM_03_00_PM,1.311480662,F +coef_escort_Arrival_Constant_03_00_PM_03_30_PM,1.316883154,F +coef_escort_Arrival_Constant_03_30_PM_04_00_PM,1.396838392,F +coef_escort_Arrival_Constant_04_00_PM_04_30_PM,1.03146139,F +coef_escort_Arrival_Constant_After_04_30_PM,0.907344583,F +coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,-0.148408887,F +coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,-0.389082896,F +coef_escort_Duration_Constant_0_hrs,-0.173757322,F +coef_escort_Duration_Constant_0p5_hrs,0,T +coef_escort_Duration_Constant_1_hrs,-0.431287743,F +coef_escort_Duration_Constant_1p5hrs,-0.700473959,F +coef_escort_Duration_Constant_2_hrs,-1.071871358,F +coef_escort_Duration_Constant_Longer_than_2_hrs,-1.691098421,F +coef_escort_Calibration_Constant_Duration_eq_1,-0.047200214,F +coef_escort_Calibration_Constant_Duration_eq_2,0.035611332,F +coef_escort_Calibration_Constant_Departure_eq_9,0.106814756,F +coef_escort_Calibration_Constant_Departure_eq_10,0.215386864,F +coef_escort_Calibration_Constant_Departure_eq_23,-0.255087318,F +coef_escort_Calibration_Constant_Departure_eq_24,-0.296870428,F +coef_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear,-0.190727375,F +coef_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear,-0.029551313,F +coef_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,-0.291965906,F +coef_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.045755784,F +coef_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,-0.571185116,F +coef_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.468815184,F +coef_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.047470039,F +coef_shop_Driving_age_student_Duration_gt_1p5_hr,0.122149101,F +coef_shop_Fulltime_worker_Duration_gt_1p5_hr,-0.037886459,F +coef_shop_Nondriving_Student_Duration_gt_1p5_hr,0.10247157,F +coef_shop_Preschool_Child_Duration_lt_1p5_hrs,-1.882944033,F +coef_shop_Part_Time_Worker_Duration_lt_1p5_hrs,-0.197455071,F +coef_shop_Part_Time_Worker_Duration_gt_1p5_hr,-0.045152663,F +coef_shop_Retired_Duration_lt_1p5_hrs,-0.264728908,F +coef_shop_Retired_Duration_gt_1p5_hr,-0.042981757,F +coef_shop_University_Student_Duration_gt_1p5_hr,0.045926523,F +coef_shop_Female_Duration_lt_1p5_hrs,-0.417208254,F +coef_shop_Female_Duration_gt_1p5_hr,0.045801918,F +coef_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr,0.040776383,F +coef_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,0.108462927,F +coef_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,-0.037893416,F +coef_shop_Distance_Duration_lt_1p5_hrs,-0.214802537,F +coef_shop_Distance_Duration_gt_1p5_hr,0.007991656,F +coef_shop_Time_Pressure_Duration_gt_1p5_hrs,0.013503327,F +coef_shop_Number_of_additional_individual_shop_and_maintp_tours_Duration_lt_1p5_hrs,0.078844289,F +coef_shop_Number_of_additional_individual_shop_and_maintp_tours_Duration_gt_1p5_hrs,-0.115431492,F +coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,-0.959875456,F +coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root,1.112594898,F +coef_shop_Departure_Constant_Before_09_00_AM,-0.446394064,F +coef_shop_Departure_Constant_09_00_AM_09_30_AM,-0.021669265,F +coef_shop_Departure_Constant_09_30_AM_10_00_AM,-0.282978638,F +coef_shop_Departure_Constant_10_00_AM_10_30_AM,0,T +coef_shop_Departure_Constant_10_30_AM_11_00_AM,-0.309421311,F +coef_shop_Departure_Constant_After_11_00_AM,-0.541073357,F +coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,-0.072013428,F +coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,-0.000653398,F +coef_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear,-0.18376635,F +coef_shop_Arrival_Constant_Before_12_30_PM,-0.716195343,F +coef_shop_Arrival_Constant_12_30_PM_03_00_PM,-0.502714001,F +coef_shop_Arrival_Constant_03_00_PM_03_30_PM,-0.167868872,F +coef_shop_Arrival_Constant_03_30_PM_04_00_PM,-0.156786941,F +coef_shop_Arrival_Constant_04_00_PM_04_30_PM,0,T +coef_shop_Arrival_Constant_04_30_PM_05_00_PM,-0.057314044,F +coef_shop_Arrival_Constant_05_00_PM_05_30_PM,-0.580040851,F +coef_shop_Arrival_Constant_05_30_PM_07_00_PM,-0.32239566,F +coef_shop_Arrival_Constant_07_00_PM_09_30_PM,-0.347828147,F +coef_shop_Arrival_Constant_After_09_30_PM,-1.123574723,F +coef_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear,-0.499770654,F +coef_shop_Duration_Constant_0_hrs,-0.131743185,F +coef_shop_Duration_Constant_0p5_hrs,0.888857137,F +coef_shop_Duration_Constant_1_hrs,0,T +coef_shop_Duration_Constant_1p5hrs,-0.333413031,F +coef_shop_Duration_Constant_2_hrs,-0.850897912,F +coef_shop_Duration_Constant_Longer_than_2_hrs,-1.203783479,F +coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear,-0.293581223,F +coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root,-0.215759138,F +coef_shop_Calibration_Constant_Duration_eq_1,-0.138450424,F +coef_shop_Calibration_Constant_Duration_eq_2,-0.092704403,F +coef_shop_Calibration_Constant_Duration_eq_3,-0.087738073,F +coef_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear,-0.139150288,F +coef_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear,-0.065786345,F +coef_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,-0.291965906,F +coef_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.045755784,F +coef_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,-0.571185116,F +coef_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.468815184,F +coef_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.047470039,F +coef_maint_Fulltime_worker_Duration_gt_1p5_hr,-0.037886459,F +coef_maint_Nondriving_Student_Duration_gt_1p5_hr,0.10247157,F +coef_maint_Preschool_Child_Duration_lt_1p5_hrs,-1.882944033,F +coef_maint_Part_Time_Worker_Duration_lt_1p5_hrs,-0.197455071,F +coef_maint_Part_Time_Worker_Duration_gt_1p5_hr,-0.045152663,F +coef_maint_Retired_Duration_lt_1p5_hrs,-0.264728908,F +coef_maint_Retired_Duration_gt_1p5_hr,-0.042981757,F +coef_maint_University_Student_Duration_gt_1p5_hr,0.045926523,F +coef_maint_Female_Duration_lt_1p5_hrs,-0.417208254,F +coef_maint_Female_Duration_gt_1p5_hr,0.045801918,F +coef_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr,0.040776383,F +coef_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,0.108462927,F +coef_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr,0,T +coef_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,-0.037893416,F +coef_maint_Distance_Duration_lt_1p5_hrs,-0.214802537,F +coef_maint_Distance_Duration_gt_1p5_hr,0.007991656,F +coef_maint_Time_Pressure_Duration_gt_1p5_hrs,0.013503327,F +coef_maint_Number_of_additional_individual_shop_and_maintp_tours_Duration_lt_1p5_hrs,0.078844289,F +coef_maint_Number_of_additional_individual_shop_and_maintp_tours_Duration_gt_1p5_hrs,-0.115431492,F +coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear,-0.864112609,F +coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root,0.504598473,F +coef_maint_Departure_Constant_Before_08_00_AM,-0.383711788,F +coef_maint_Departure_Constant_08_00_AM_08_30_AM,-0.076771517,F +coef_maint_Departure_Constant_08_30_AM_09_00_AM,-0.169259979,F +coef_maint_Departure_Constant_09_00_AM_09_30_AM,-0.051785379,F +coef_maint_Departure_Constant_09_30_AM_10_00_AM,-0.214942451,F +coef_maint_Departure_Constant_10_00_AM_10_30_AM,0,T +coef_maint_Departure_Constant_10_30_AM_11_00_AM,-0.427568963,F +coef_maint_Departure_Constant_After_11_00_AM,-0.520863411,F +coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,0.042879095,F +coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,-0.003157293,F +coef_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear,-0.226803619,F +coef_maint_Arrival_Constant_Before_10_30_AM,-0.223212258,F +coef_maint_Arrival_Constant_10_30_AM_11_00_AM,0,T +coef_maint_Arrival_Constant_11_00_AM_11_30_AM,-0.128382637,F +coef_maint_Arrival_Constant_11_30_AM_01_30_PM,0.167977332,F +coef_maint_Arrival_Constant_01_30_PM_02_30_PM,-0.149495878,F +coef_maint_Arrival_Constant_02_30_PM_04_00_PM,0.087679934,F +coef_maint_Arrival_Constant_04_00_PM_04_30_PM,0.121707557,F +coef_maint_Arrival_Constant_After_04_30_PM,0.106745013,F +coef_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,-0.232610927,F +coef_maint_Duration_Constant_0_hrs,-0.483549396,F +coef_maint_Duration_Constant_0p5_hrs,0,T +coef_maint_Duration_Constant_Longer_than_0p5_hrs,-1.450618319,F +coef_maint_Duration_Constant_Duration_gt_1_hrs_Linear,-0.275082922,F +coef_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root,0.208434683,F +coef_maint_Calibration_Constant_Duration_eq_1,-0.124602605,F +coef_maint_Calibration_Constant_Duration_eq_2,-0.103637715,F +coef_maint_Calibration_Constant_Duration_eq_3,-0.225442145,F +coef_maint_Calibration_Constant_Duration_eq_4,-0.145273012,F +coef_maint_Calibration_Constant_Duration_eq_5,-0.019241539,F +coef_eatout_Distance_to_destination_Duration_lt_1_hrs,-0.134981987,F +coef_eatout_Distance_to_destination_Duration_gt_1_hrs,0.017860742,F +coef_eatout_Low_income_lt25000_Duration_lt_1_hrs,1.002485807,F +coef_eatout_Medium_25k_to_60k_Duration_lt_1_hrs,0.499822018,F +coef_eatout_Zero_auto_HH_Duration_gt_1_hrs,0.259409942,F +coef_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs,1.785123348,F +coef_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs,-1.626003709,F +coef_eatout_University_student_Departure_after_7_00_pm_Linear,0.293827759,F +coef_eatout_Female_Duration_lt_1_hrs,-0.399414247,F +coef_eatout_Female_Duration_gt_1_hrs,0.064593482,F +coef_eatout_Time_Pressure_Departure_before_6_30_pm,0.083673557,F +coef_eatout_Time_Pressure_Duration_lt_1_hrs,1.69632588,F +coef_eatout_Departure_Constant_07_30_AM_09_00_AM,1.222417262,F +coef_eatout_Departure_Constant_10_30_AM_11_00_AM,0.519559134,F +coef_eatout_Departure_Constant_11_00_AM_11_30_AM,1.191543552,F +coef_eatout_Departure_Constant_11_30_AM_12_00_PM,1.66870995,F +#coef_eatout_Departure_Constant_12_00_PM_12_30_PM,1.164106986,F +coef_eatout_Departure_Constant_12_30_PM_01_00_PM,1.057346496,F +coef_eatout_Departure_Constant_01_00_PM_01_30_PM,0.728959087,F +coef_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_30_pm_Linear,-0.477439748,F +coef_eatout_Departure_Constant_Before_06_00_PM,-1.21554671,F +#coef_eatout_Departure_Constant_06_00_PM_06_30_PM,-0.425984037,F +#coef_eatout_Departure_Constant_06_30_PM_07_00_PM,0,T +#coef_eatout_Departure_Constant_07_00_PM_07_30_PM,-0.227800647,F +#coef_eatout_Departure_Constant_After_07_30_PM,-0.293904097,F +#coef_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,-0.55440861,F +coef_eatout_Departure_Constant_11_00_AM_12_00_PM,0.531539506,F +coef_eatout_Departure_Constant_12_00_PM_12_30_PM,0.673838195,F +coef_eatout_Departure_Constant_12_30_PM_to_01_00_PM,0.422292261,F +coef_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,-0.033290717,F +coef_eatout_Departure_Constant_Before_05_30_PM,-0.561079452,F +coef_eatout_Departure_Constant_05_30_PM_06_00_PM,-0.178719161,F +coef_eatout_Departure_Constant_06_00_PM_06_30_PM,0,T +coef_eatout_Departure_Constant_06_30_PM_07_00_PM,-0.282095841,F +coef_eatout_Departure_Constant_07_00_PM_07_30_PM,-0.299748613,F +coef_eatout_Departure_Constant_After_07_30_PM,-0.845300559,F +coef_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,-0.667843486,F +coef_eatout_Arrival_Constant_9_30_AM_to_11_00_AM,0.486337344,F +#coef_eatout_Arrival_Constant_12_30_PM_to_01_00_PM,0.629299404,F +#coef_eatout_Arrival_Constant_01_00_PM_to_01_30_PM,0.938528731,F +#coef_eatout_Arrival_Constant_01_30_PM_to_02_00_PM,0.584420106,F +#coef_eatout_Arrival_Constant_02_00_PM_to_02_30_PM,0.842550215,F +coef_eatout_Arrival_Constant_02_30_PM_to_03_00_PM,0.298486505,F +#coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear,0.125034982,F +coef_eatout_Arrival_Constant_Before_6_30_PM,-0.029062996,F +coef_eatout_Arrival_Constant_6_30_PM_to_7_00_PM,-0.509075598,F +# coef_eatout_Arrival_Constant_7_00_PM_to_7_30_PM,-0.124885931,F +# coef_eatout_Arrival_Constant_7_30_PM_to_8_00_PM,-0.605455664,F +# coef_eatout_Arrival_Constant_8_00_PM_to_8_30_PM,0,T +# coef_eatout_Arrival_Constant_8_30_PM_to_9_00_PM,-0.657382835,F +coef_eatout_Arrival_Constant_After_9_00_PM,-0.813629712,F +#coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,-0.204722406,F +coef_eatout_Arrival_Constant_12_30_PM_to_01_00_PM,2.002032369,F +coef_eatout_Arrival_Constant_01_00_PM_to_01_30_PM,2.115334472,F +coef_eatout_Arrival_Constant_01_30_PM_to_02_00_PM,1.647879687,F +coef_eatout_Arrival_Constant_02_00_PM_to_02_30_PM,1.525310078,F +coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear,-0.152980854,F +coef_eatout_Arrival_Constant_Before_7_00_PM,-0.41165142,F +coef_eatout_Arrival_Constant_7_00_PM_to_7_30_PM,-0.384557379,F +coef_eatout_Arrival_Constant_7_30_PM_to_8_00_PM,-0.044050359,F +coef_eatout_Arrival_Constant_8_00_PM_to_8_30_PM,0,T +coef_eatout_Arrival_Constant_8_30_PM_to_9_00_PM,-0.239939049,F +coef_eatout_Arrival_Constant_After_09_00_PM,-0.248639696,F +coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,-0.204771082,F +#coef_eatout_Duration_Constant_0_hours,-11.72660422,F +#coef_eatout_Duration_Constant_0p5_hous,-5.08873115,F +#coef_eatout_Duration_Constant_1_hour,-0.125521065,F +#coef_eatout_Duration_Constant_1p5_hours,0,T +coef_eatout_Duration_Constant_2_hours,-0.124807752,F +coef_eatout_Duration_Constant_2p5_hours_or_more,-0.156019835,F +coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,-0.3357414,F +coef_eatout_Duration_Constant_0_hours,-4.268996522,F +coef_eatout_Duration_Constant_0p5_hous,-1.323297693,F +coef_eatout_Duration_Constant_1_hour,0,T +coef_eatout_Duration_Constant_1p5_hours,-0.195669185,F +coef_eatout_Duration_Constant_2_hours_or_more,-0.523723192,F +coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear,-0.649331488,F +coef_eatout_Calibration_Constant_Duration_eq_1,-0.333697861,F +coef_eatout_Calibration_Constant_Duration_eq_2,-0.245716,F +coef_eatout_Calibration_Constant_Duration_eq_3,0.052708833,F +coef_eatout_Calibration_Constant_Duration_eq_4,0.041571499,F +coef_eatout_Calibration_Constant_Departure_eq_1,-10,F +coef_eatout_Calibration_Constant_Departure_eq_2,-10,F +coef_eatout_Calibration_Constant_Departure_eq_3,-10,F +coef_eatout_Calibration_Constant_Departure_eq_17,0.706568704,F +coef_eatout_Calibration_Constant_Departure_eq_18,0.634353544,F +coef_eatout_Calibration_Constant_Departure_eq_19,0.584387268,F +coef_eatout_Calibration_Constant_Departure_eq_20,0.469777884,F +coef_eatout_Calibration_Constant_Departure_eq_21,0.39548931,F +coef_social_Personlt_18_years_old_Duration_lt_1p5_hrs_Linear,-0.262839914,F +coef_social_Personlt_18_years_old_Duration_gt_1p5_hrs_Linear,0.086919429,F +coef_social_Nonworking_senior_retiree_Duration_lt_1p5_hrs_Linear,0.468354376,F +coef_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,-0.312282762,F +coef_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear,-0.508439932,F +coef_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear,0.074190914,F +coef_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,0.127185965,F +coef_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,0.048756122,F +coef_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.559947083,F +coef_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.115347031,F +coef_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.104494637,F +coef_social_Auto_Distance_Duration_lt_1_hrs_Linear,-0.162965435,F +coef_social_Auto_Distance_Duration_gt_1_hrs_Linear,0.006797399,F +coef_social_Time_Pressure_Duration_lt_1_hr,-0.229264474,F +coef_social_Time_Pressure_Duration_gt_1_hr,0.219325112,F +coef_social_Number_of_additional_individual_social_and_dicretionary_tours_Duration_lt_1_hr,0.156250451,F +coef_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,-0.529943196,F +coef_social_Departure_Constant_Before_09_00_AM,-0.198438086,F +coef_social_Departure_Constant_09_00_AM_to_09_30_AM,0.137620628,F +coef_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,-0.142078961,F +coef_social_Departure_Constant_Before_05_30_PM,-0.390965052,F +coef_social_Departure_Constant_05_30_PM_06_00_PM,-0.453580491,F +coef_social_Departure_Constant_06_00_PM_06_30_PM,0,T +coef_social_Departure_Constant_06_30_PM_07_00_PM,-0.088537991,F +coef_social_Departure_Constant_07_00_PM_07_30_PM,0.052983115,F +coef_social_Departure_Constant_After_07_30_PM,-0.649629162,F +coef_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,-0.09574499,F +coef_social_Arrival_Constant_03_00_PM_to_03_30_PM,0.37674882,F +coef_social_Arrival_Constant_03_30_PM_to_04_00_PM,0.583355461,F +coef_social_Arrival_Constant_04_00_PM_to_04_30_PM,0.727855233,F +coef_social_Arrival_Constant_05_00_PM_to_06_00_PM,0.249551955,F +coef_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear,0.053771388,F +coef_social_Arrival_Constant_Before_8_30_PM,0.308763611,F +coef_social_Arrival_Constant_8_30_PM_to_9_00_PM,-0.208797698,F +coef_social_Arrival_Constant_9_00_PM_to_9_30_PM,-0.336319511,F +coef_social_Arrival_Constant_9_30_PM_to10_00_PM,0,T +coef_social_Arrival_Constant_10_00_PM_to_10_30_PM,-0.055707591,F +coef_social_Arrival_Constant_After_10_30_PM,-0.612356296,F +coef_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear,-0.348479901,F +coef_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear,0.619073863,F +coef_social_Duration_Constant_Less_than_2_hours,-0.584024011,F +coef_social_Duration_Constant_2_hours,-0.271552271,F +coef_social_Duration_Constant_2p5_hours,0,T +coef_social_Duration_Constant_3_hours_or_more,0.042083404,F +coef_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear,-0.13049452,F +coef_social_Duration_Constant_Shift_for_every_30_minutes_less_than_2p5_hrs_Linear,0.614440191,F +coef_social_Duration_Constant_Less_than_3_hrs,0.353666691,F +coef_social_Duration_Constant_3_hours,0,T +coef_social_Duration_Constant_3p5_hours,-0.691218836,F +coef_social_Duration_Constant_4_hours_or_more,-1.344375328,F +coef_social_Duration_Constant_Shift_for_every_30_minutes_more_than_4p5_hrs_Linear,-0.786970714,F +coef_social_Calibration_Constant_Duration_eq_1,-1.346772472,F +coef_social_Calibration_Constant_Duration_eq_2,0.377121689,F +coef_social_Calibration_Constant_Duration_eq_3,0.179818928,F +coef_social_Calibration_Constant_Duration_eq_4,-0.283418619,F +coef_social_Calibration_Constant_Duration_eq_5,-0.103541313,F +coef_social_Calibration_Constant_Duration_eq_6,-0.03704707,F +coef_social_Calibration_Constant_Duration_eq_7,-0.062437167,F +coef_social_Calibration_Constant_Duration_eq_8,0.047640282,F +coef_social_Calibration_Constant_Duration_eq_9,0.284369793,F +coef_disc_Personlt_18_years_old_Duration_lt_1p5_hrs_Linear,-0.262839914,F +coef_disc_Personlt_18_years_old_Duration_gt_1p5_hrs_Linear,0.086919429,F +coef_disc_Nonworking_senior_retiree_Duration_lt_1p5_hrs_Linear,0.468354376,F +coef_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,-0.312282762,F +coef_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear,-0.508439932,F +coef_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear,0.074190914,F +coef_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,0.127185965,F +coef_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,0.048756122,F +coef_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.559947083,F +coef_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.115347031,F +coef_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.104494637,F +coef_disc_Auto_Distance_Duration_lt_1_hrs_Linear,-0.162965435,F +coef_disc_Auto_Distance_Duration_gt_1_hrs_Linear,0.006797399,F +coef_disc_Time_Pressure_Duration_lt_1_hr,-0.229264474,F +coef_disc_Time_Pressure_Duration_gt_1_hr,0.219325112,F +coef_disc_Number_of_additional_individual_social_and_dicretionary_tours_Duration_lt_1_hr,0.156250451,F +coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear,-0.742176805,F +coef_disc_Departure_Constant_Before_7_30_AM_,-1.323901585,F +coef_disc_Departure_Constant_7_30_AM_to_8_00_AM,-0.695441631,F +coef_disc_Departure_Constant_8_00_AM_to_8_30_AM,-0.269903336,F +coef_disc_Departure_Constant_8_30_AM_to_9_00_AM,-0.093709211,F +coef_disc_Departure_Constant_9_00_AM_to_9_30_AM,0.265634082,F +coef_disc_Departure_Constant_9_30_AM_to_10_00_AM,0.287521134,F +coef_disc_Departure_Constant_10_00_AM_to_10_30_AM,0.396547817,F +coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear,-0.245885745,F +coef_disc_Departure_Constant_Before_05_00_PM,-1.344482349,F +coef_disc_Departure_Constant_05_00_PM_05_30_PM,-0.622632748,F +coef_disc_Departure_Constant_05_30_PM_06_00_PM,-0.456718676,F +coef_disc_Departure_Constant_06_00_PM_06_30_PM,-0.206896106,F +coef_disc_Departure_Constant_06_30_PM_07_00_PM,0,T +coef_disc_Departure_Constant_After_07_00_PM,-0.46439343,F +coef_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear,-0.291998986,F +coef_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear,0.148649188,F +coef_disc_Arrival_Constant_Before_6_30_PM,0.668775963,F +coef_disc_Arrival_Constant_6_30_PM_to_7_00_PM,-0.053520826,F +coef_disc_Arrival_Constant_7_00_PM_to_7_30_PM,0.099726391,F +coef_disc_Arrival_Constant_7_30_PM_to_8_00_PM,0.063414092,F +coef_disc_Arrival_Constant_8_00_PM_to_8_30_PM,0,T +coef_disc_Arrival_Constant_8_30_PM_to_9_00_PM,-0.18610847,F +coef_disc_Arrival_Constant_After_9_00_PM,-0.423207857,F +coef_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,-0.525545923,F +#coef_disc_Duration_Constant_0_hours,-0.944257762,F +#coef_disc_Duration_Constant_0p5_hous,-0.117695955,F +#coef_disc_Duration_Constant_1_hour,0.438403665,F +#coef_disc_Duration_Constant_1p5_hours,-0.002500048,F +#coef_disc_Duration_Constant_2_hours,0,T +coef_disc_Duration_Constant_2p5_hours_or_more,0.239192556,F +#coef_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,-0.108260689,F +coef_disc_Duration_Constant_0_hours,0.436988282,F +coef_disc_Duration_Constant_0p5_hous,1.35967577,F +coef_disc_Duration_Constant_1_hour,1.692672999,F +coef_disc_Duration_Constant_1p5_hours,1.118932964,F +coef_disc_Duration_Constant_2_hours,0.771255733,F +coef_disc_Duration_Constant_2p5_hours,0,T +coef_disc_Duration_Constant_3_hours_or_more,-0.631242175,F +coef_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,-0.700935645,F +coef_disc_Calibration_Constant_Duration_eq_4,-0.132674257,F +coef_disc_Calibration_Constant_Duration_eq_5,-0.013371871,F +coef_disc_Calibration_Constant_Departure_eq_29,0.232927977,F +coef_disc_Calibration_Constant_Departure_eq_30,0.306104612,F +coef_disc_Calibration_Constant_Departure_eq_31,0.285520678,F +coef_disc_Calibration_Constant_Departure_eq_32,0.115886631,F diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory.csv new file mode 100755 index 0000000000..3e2c109d90 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory.csv @@ -0,0 +1,348 @@ +Label,Description,Expression,Coefficient +# ESCORT,,, +util_escort_mode_choice_logsum,ESCORT - Mode Choice Logsum,"@np.where(df.tour_type == 'escort', df.mode_choice_logsum, 0) ",coef_escort_mode_choice_logsum +"#Note: In CTRAMP expressions, duration alternative is from 1 to 48 but in ActivitySim, it is from 0 to 47 since the duration alternative ID was calculated as (end - start). Therefore, duration in ActivitySim expression = CTRAMP duration expresssion - 1 ",,,# +util_escort_distance_to_destination_duration_less_than_30_minutes,ESCORT - Distance to destination - Duration less than 0.5 hour (depart and arrive in the same period),"@np.where(((df.tour_type == 'escort') & (df.duration<1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_distance_to_destination_duration_less_than_30_minutes +util_escort_distance_to_destination_duration_greater_than_30_minutes,ESCORT - Distance to destination - Duration greater than 0.5 hour,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_distance_to_destination_duration_greater_than_30_minutes +util_escort_fulltime_worker_departure_after_8_am_linear,ESCORT - Full-time worker - Departure after 8:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)),0)",coef_escort_fulltime_worker_departure_after_8_am_linear +"#Note: In CTRAMP expression file, the description below says departure is after 3 am but from the expression it seems that it would be 3 pm instead of 3 am",,, +util_escort_fulltime_worker_departure_after_3_am_linear,ESCORT - Full-time worker - Departure after 3:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_fulltime_worker_departure_after_3_am_linear +util_escort_fulltime_worker_duration_less_than_30_minutes,ESCORT - Full-time worker - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_fulltime_worker_duration_less_than_30_minutes +util_escort_fulltime_worker_duration_greater_than_30_minutes,ESCORT - Full-time worker - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_fulltime_worker_duration_greater_than_30_minutes +util_escort_university_student_duration_less_than_30_minutes,ESCORT - University student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 3) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_university_student_duration_less_than_30_minutes +util_escort_non_driving_age_student_duration_greater_than_30_minutes,ESCORT - Non-driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & ((df.ptype == 7)|(df.ptype == 8)) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_non_driving_age_student_duration_greater_than_30_minutes +util_escort_driving_age_student_duration_less_than_30_minutes,ESCORT - Driving age student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_driving_age_student_duration_less_than_30_minutes +util_escort_driving_age_student_duration_greater_than_30_minutes,ESCORT - Driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_driving_age_student_duration_greater_than_30_minutes +"#Note: In CTRAMP expression file, description says the expression below is for duration > 0.5 hr but the expression says duration < 0.5 hr",,, +util_escort_pre_school_kid_duration_greater_than_30_minutes,ESCORT - Pre-school kid - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 8) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_pre_school_kid_duration_greater_than_30_minutes +util_escort_med_high_income_duration_greater_than_30_minutes,ESCORT - Med-high income (60k to 120k) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_med_high_income_duration_greater_than_30_minutes +util_escort_households_with_no_kids_departure_before_7_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 7:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_households_with_no_kids_departure_before_7_30_am +util_escort_households_with_no_kids_departure_after_8_00_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_households_with_no_kids_departure_after_8_00_am +util_escort_households_with_no_kids_departure_before_2_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 2:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_households_with_no_kids_departure_before_2_30_pm +util_escort_households_with_no_kids_departure_after_3_00_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where ((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_households_with_no_kids_departure_after_3_00_pm +util_escort_households_with_no_kids_arrival_before_8_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_households_with_no_kids_arrival_before_8_am +util_escort_households_with_no_kids_arrival_after_8_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_households_with_no_kids_arrival_after_8_30_am +util_escort_households_with_no_kids_arrival_before_3_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_households_with_no_kids_arrival_before_3_pm +util_escort_households_with_no_kids_arrival_after_3_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_households_with_no_kids_arrival_after_3_30_pm +util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am +util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm +util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am,"ESCORT -Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am +util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm +util_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where ((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am +util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am +util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm +util_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes,ESCORT - Number of autos greater than number of adults - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes +util_escort_number_of_individual_tours_duration_greater_than_30_minutes,ESCORT -Number of Individual Tours (excluding escorting) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.num_non_escort_tours > 0) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) * (df.num_non_escort_tours), 0)",coef_escort_number_of_individual_tours_duration_greater_than_30_minutes +util_escort_number_of_joint_tours_duration_greater_than_30_minutes,ESCORT - Number of joint tours - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) *(df.num_joint_tours), 0)",coef_escort_number_of_joint_tours_duration_greater_than_30_minutes +util_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes before 06:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start<8)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + np.where((df.start>13), np.minimum(df.start-13,28), 0)), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear +util_escort_departure_constant_before_7_am,ESCORT - Departure Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.start<9)),coef_escort_departure_constant_before_7_am +util_escort_departure_constant_7_am_to_7_30_am,ESCORT - Departure Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_departure_constant_7_am_to_7_30_am +util_escort_departure_constant_7_30_am_to_8_am,ESCORT - Departure Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_departure_constant_7_30_am_to_8_am +util_escort_departure_constant_8_am_to_8_30_am,ESCORT - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.start==11)),coef_escort_departure_constant_8_am_to_8_30_am +util_escort_departure_constant_8_30_am_to_9_am,ESCORT - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.start==12)),coef_escort_departure_constant_8_30_am_to_9_am +util_escort_departure_constant_after_9_am,ESCORT - Departure Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.start>12)),coef_escort_departure_constant_after_9_am +util_escort_departure_constant_1_30_pm_to_2_pm,ESCORT - Departure Constant: 01:30 PM - 02:00 PM,@((df.tour_type == 'escort') & (df.start==22)),coef_escort_departure_constant_1_30_pm_to_2_pm +util_escort_departure_constant_2_pm_to_2_30_pm,ESCORT - Departure Constant: 02:00 PM - 02:30 PM,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_departure_constant_2_pm_to_2_30_pm +util_escort_departure_constant_2_30_pm_to_3_pm,ESCORT - Departure Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_departure_constant_2_30_pm_to_3_pm +util_escort_departure_constant_3_pm_to_3_30_pm,ESCORT - Departure Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.start==25)),coef_escort_departure_constant_3_pm_to_3_30_pm +util_escort_departure_constant_after_3_30_pm,ESCORT - Departure Constant: After 03:30 PM,@((df.tour_type == 'escort') & (df.start>25)),coef_escort_departure_constant_after_3_30_pm +util_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>13)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + (np.where((df.start>13), np.minimum(df.start-13,28), 0))), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear +util_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 4:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>26)), (np.where((df.start<0), np.minimum(0-df.start,48), 0) + np.where((df.start>26), np.minimum(df.start-26,15),0)), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear +util_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes before 6:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end<8)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear +util_escort_arrival_constant_before_7_am,ESCORT - Arrival Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.end<9)),coef_escort_arrival_constant_before_7_am +util_escort_arrival_constant_7_am_to_7_30_am,ESCORT - Arrival Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.end==9)),coef_escort_arrival_constant_7_am_to_7_30_am +util_escort_arrival_constant_7_30_am_to_8_am,ESCORT - Arrival Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.end==10)),coef_escort_arrival_constant_7_30_am_to_8_am +util_escort_arrival_constant_8_am_to_8_30_am,ESCORT - Arrival Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.end==11)),coef_escort_arrival_constant_8_am_to_8_30_am +util_escort_arrival_constant_8_30_am_to_9_am,ESCORT - Arrival Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.end==12)),coef_escort_arrival_constant_8_30_am_to_9_am +util_escort_arrival_constant_after_9_am,ESCORT - Arrival Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.end>12)),coef_escort_arrival_constant_after_9_am +util_escort_arrival_constant_2_30_pm_to_3_pm,ESCORT - Arrival Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.end==24)),coef_escort_arrival_constant_2_30_pm_to_3_pm +util_escort_arrival_constant_3_pm_to_3_30_pm,ESCORT - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.end==25)),coef_escort_arrival_constant_3_pm_to_3_30_pm +util_escort_arrival_constant_3_30_pm_to_4_pm,ESCORT - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'escort') & (df.end==26)),coef_escort_arrival_constant_3_30_pm_to_4_pm +util_escort_arrival_constant_4_pm_to_4_30_pm,ESCORT - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'escort') & (df.end==27)),coef_escort_arrival_constant_4_pm_to_4_30_pm +util_escort_arrival_constant_after_4_30_pm,ESCORT - Arrival Constant: After 04:30 PM,@((df.tour_type == 'escort') & (df.end>27)),coef_escort_arrival_constant_after_4_30_pm +util_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>13)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear +util_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>28)), (np.where((df.end<0), np.minimum(0-df.end,48), 0) + np.where((df.start>28), np.minimum(df.end-28,15), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear +util_escort_duration_constant_0_hour,ESCORT - Duration Constant: 0 hr,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_duration_constant_0_hour +util_escort_duration_constant_30_minutes,ESCORT - Duration Constant: 0.5 hr,@((df.tour_type == 'escort') & (df.duration==1)),coef_escort_duration_constant_30_minutes +util_escort_duration_constant_1_hour,ESCORT - Duration Constant: 1 hr,@((df.tour_type == 'escort') & (df.duration==2)),coef_escort_duration_constant_1_hour +util_escort_duration_constant_1_hour_30_minutes,ESCORT - Duration Constant: 1.5hrs,@((df.tour_type == 'escort') & (df.duration==3)),coef_escort_duration_constant_1_hour_30_minutes +util_escort_duration_constant_2_hours,ESCORT - Duration Constant: 2 hrs,@((df.tour_type == 'escort') & (df.duration==4)),coef_escort_duration_constant_2_hours +util_escort_duration_constant_longer_than_2_hours,ESCORT - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'escort') & (df.duration>4)),coef_escort_duration_constant_longer_than_2_hours +util_escort_calibration_constant_duration_1,ESCORT - Calibration Constant - Duration = 1,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_calibration_constant_duration_1 +util_escort_calibration_constant_duration_2,ESCORT - Calibration Constant - Duration = 2,@(((df.tour_type == 'escort') & df.duration==1)),coef_escort_calibration_constant_duration_2 +util_escort_calibration_constant_departure_9,ESCORT - Calibration Constant - Departure = 9,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_calibration_constant_departure_9 +util_escort_calibration_constant_departure_10,ESCORT - Calibration Constant - Departure = 10,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_calibration_constant_departure_10 +util_escort_calibration_constant_departure_23,ESCORT - Calibration Constant - Departure = 23,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_calibration_constant_departure_23 +util_escort_calibration_constant_departure_24,ESCORT - Calibration Constant - Departure = 24,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_calibration_constant_departure_24 +#SHOPPING,,,#SHOPPING +util_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes +util_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Full-time worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes +util_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Non-driving Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes +util_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes,SHOPPING - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes +util_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes +util_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes +util_shopping_retired_duration_less_than_1_hour_30_minutes,SHOPPING - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_less_than_1_hour_30_minutes +util_shopping_retired_duration_greater_than_1_hour_30_minutes,SHOPPING - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_greater_than_1_hour_30_minutes +util_shopping_university_student_duration_greater_than_1_hour_30_minutes,SHOPPING - University Student: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_university_student_duration_greater_than_1_hour_30_minutes +util_shopping_female_duration_less_than_1_hour_30_minutes,SHOPPING - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_less_than_1_hour_30_minutes +util_shopping_female_duration_greater_than_1_hour_30_minutes,SHOPPING - Female: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_greater_than_1_hour_30_minutes +util_shopping_low_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_type == 'shopping') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_low_income_duration_greater_than_1_hour_30_minutes +util_shopping_medium_income_duration_less_than_1_hour_30_minutes,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_income_duration_less_than_1_hour_30_minutes +util_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes +util_shopping_distance_duration_less_than_1_hour_30_minutes,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_less_than_1_hour_30_minutes +util_shopping_distance_duration_greater_than_1_hour_30_minutes,SHOPPING - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_greater_than_1_hour_30_minutes +util_shopping_time_pressure_duration_greater_than_1_hour_30_minutes,SHOPPING - Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), np.minimum(df.duration-2,26) *(np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_shopping_time_pressure_duration_greater_than_1_hour_30_minutes +util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes +util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') &(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes +util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear +util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root +util_shopping_departure_constant_before_9_am,SHOPPING - Departure Constant: Before 09:00 AM,@((df.tour_type == 'shopping') & (df.start<13)),coef_shopping_departure_constant_before_9_am +util_shopping_departure_constant_9_am_to_9_30_am,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'shopping') & (df.start==13)),coef_shopping_departure_constant_9_am_to_9_30_am +util_shopping_departure_constant_9_30_am_to_10_am,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'shopping') & (df.start==14)),coef_shopping_departure_constant_9_30_am_to_10_am +util_shopping_departure_constant_10_am_to_10_30_am,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'shopping') & (df.start==15)),coef_shopping_departure_constant_10_am_to_10_30_am +util_shopping_departure_constant_10_30_am_to_11_00_am,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'shopping') & (df.start==16)),coef_shopping_departure_constant_10_30_am_to_11_00_am +util_shopping_departure_constant_after_11_am,SHOPPING - Departure Constant: After 11:00 AM,@((df.tour_type == 'shopping') & (df.start>16)),coef_shopping_departure_constant_after_11_am +util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear +util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared +util_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear +util_shopping_arrival_constant_before_12_30_pm,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.tour_type == 'shopping') & (df.end<20)),coef_shopping_arrival_constant_before_12_30_pm +util_shopping_arrival_constant_12_30_pm_to_3_pm,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@((df.tour_type == 'shopping') & ( df.end>=20) & (df.end<=24)),coef_shopping_arrival_constant_12_30_pm_to_3_pm +util_shopping_arrival_constant_3_pm_to_3_30_pm,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'shopping') & (df.end==25)),coef_shopping_arrival_constant_3_pm_to_3_30_pm +util_shopping_arrival_constant_3_30_pm_to_4_pm,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'shopping') & (df.end==26)),coef_shopping_arrival_constant_3_30_pm_to_4_pm +util_shopping_arrival_constant_4_pm_to_4_30_pm,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'shopping') & (df.end==27)),coef_shopping_arrival_constant_4_pm_to_4_30_pm +util_shopping_arrival_constant_4_30_pm_to_5_pm,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.tour_type == 'shopping') & (df.end==28)),coef_shopping_arrival_constant_4_30_pm_to_5_pm +util_shopping_arrival_constant_5_pm_to_5_30_pm,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'shopping') & (df.end==29)),coef_shopping_arrival_constant_5_pm_to_5_30_pm +util_shopping_arrival_constant_5_30_pm_to_7_pm,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.tour_type == 'shopping') & (df.end>=30) & (df.end<=32)),coef_shopping_arrival_constant_5_30_pm_to_7_pm +util_shopping_arrival_constant_7_pm_to_9_30_pm,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.tour_type == 'shopping') & (df.end>=33) & (df.end<=37)),coef_shopping_arrival_constant_7_pm_to_9_30_pm +util_shopping_arrival_constant_after_9_30_pm,SHOPPING - Arrival Constant: After 09:30 PM,@((df.tour_type == 'shopping') & (df.end>37)),coef_shopping_arrival_constant_after_9_30_pm +util_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear +util_shopping_duration_constant_0_hr,SHOPPING - Duration Constant: 0 hr,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_duration_constant_0_hr +util_shopping_duration_constant_30_minutes,SHOPPING - Duration Constant: 0.5 hr,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_duration_constant_30_minutes +util_shopping_duration_constant_1_hr,SHOPPING - Duration Constant: 1 hr,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_duration_constant_1_hr +util_shopping_duration_constant_1_hour_30_minutes,SHOPPING - Duration Constant: 1.5hrs,@(df.tour_type == 'shopping') & (df.duration==3),coef_shopping_duration_constant_1_hour_30_minutes +util_shopping_duration_constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.tour_type == 'shopping') & (df.duration==4)),coef_shopping_duration_constant_2_hrs +util_shopping_duration_constant_longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'shopping') & (df.duration>4)),coef_shopping_duration_constant_longer_than_2_hrs +util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear +util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root +util_shopping_calibration_constant_duration_1,SHOPPING - Calibration Constant - Duration = 1,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_calibration_constant_duration_1 +util_shopping_calibration_constant_duration_2,SHOPPING - Calibration Constant - Duration = 2,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_calibration_constant_duration_2 +util_shopping_calibration_constant_duration_3,SHOPPING - Calibration Constant - Duration = 3,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_calibration_constant_duration_3 +#MAINTENANCE,#MAINTENANCE,,#MAINTENANCE +util_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes +util_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Full-time worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes +util_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Non-driving Student: Duration > 1.5 hrs,"@np.where (((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes +util_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes,MAINTENANCE - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes +util_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes +util_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes +util_maintenance_retired_duration_less_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_less_than_1_hour_30_minutes +util_maintenance_retired_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_greater_than_1_hour_30_minutes +util_maintenance_university_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - University Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_university_student_duration_greater_than_1_hour_30_minutes +util_maintenance_female_duration_less_than_1_hour_30_minutes,MAINTENANCE - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_less_than_1_hour_30_minutes +util_maintenance_female_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Female: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_greater_than_1_hour_30_minutes +util_maintenance_low_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_low_income_duration_greater_than_1_hour_30_minutes +util_maintenance_medium_income_duration_less_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_less_than_1_hour_30_minutes +util_maintenance_medium_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_greater_than_1_hour_30_minutes +util_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes +util_maintenance_distance_duration_less_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_less_than_1_hour_30_minutes +util_maintenance_distance_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_greater_than_1_hour_30_minutes +util_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes,Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), np.minimum(df.duration-2,26) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes +util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes +util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes +util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear +util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root +util_maintenance_departure_constant_before_8_am,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.tour_type == 'othmaint') & (df.start<11)),coef_maintenance_departure_constant_before_8_am +util_maintenance_departure_constant_8_am_to_8_30_am,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'othmaint') & (df.start==11)),coef_maintenance_departure_constant_8_am_to_8_30_am +util_maintenance_departure_constant_8_30_am_to_9_00_am,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'othmaint') & (df.start==12)),coef_maintenance_departure_constant_8_30_am_to_9_00_am +util_maintenance_departure_constant_9_am_to_9_30_am,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'othmaint') & (df.start==13)),coef_maintenance_departure_constant_9_am_to_9_30_am +util_maintenance_departure_constant_9_30_am_to_10_am,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'othmaint') & (df.start==14)),coef_maintenance_departure_constant_9_30_am_to_10_am +util_maintenance_departure_constant_10_am_to_10_30_am,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'othmaint') & (df.start==15)),coef_maintenance_departure_constant_10_am_to_10_30_am +util_maintenance_departure_constant_10_30_am_to_11_am,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.start==16)),coef_maintenance_departure_constant_10_30_am_to_11_am +util_maintenance_departure_constant_after_11_am,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.tour_type == 'othmaint') & (df.start>16)),coef_maintenance_departure_constant_after_11_am +util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear +util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared +util_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear +util_maintenance_arrival_constant_before_10_30_am,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.tour_type == 'othmaint') & (df.end<16)),coef_maintenance_arrival_constant_before_10_30_am +util_maintenance_arrival_constant_10_30_am_to_11_am,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.end==16)),coef_maintenance_arrival_constant_10_30_am_to_11_am +util_maintenance_arrival_constant_11_am_to_11_30_am,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.tour_type == 'othmaint') & (df.end==17)),coef_maintenance_arrival_constant_11_am_to_11_30_am +util_maintenance_arrival_constant_11_30_am_to_1_30_pm,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.tour_type == 'othmaint') & (df.end>=18) & (df.end<=21)),coef_maintenance_arrival_constant_11_30_am_to_1_30_pm +util_maintenance_arrival_constant_1_30_pm_to_2_30_pm,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.tour_type == 'othmaint') & (df.end>=22) & (df.end<=23)),coef_maintenance_arrival_constant_1_30_pm_to_2_30_pm +util_maintenance_arrival_constant_2_30_pm_to_4_pm,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.tour_type == 'othmaint') & (df.end>=24) & (df.end<=26)),coef_maintenance_arrival_constant_2_30_pm_to_4_pm +util_maintenance_arrival_constant_4_pm_to_4_30_pm,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'othmaint') & (df.end==27)),coef_maintenance_arrival_constant_4_pm_to_4_30_pm +util_maintenance_arrival_constant_after_4_30_pm,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.tour_type == 'othmaint') & (df.end>27)),coef_maintenance_arrival_constant_after_4_30_pm +util_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear +util_maintenance_duration_constant_0_hr,MAINTENANCE - Duration Constant: 0 hr,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_duration_constant_0_hr +util_maintenance_duration_constant_30_minutes,MAINTENANCE - Duration Constant: 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_duration_constant_30_minutes +util_maintenance_duration_constant_longer_than_30_minutes,MAINTENANCE - Duration Constant: Longer than 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration>1)),coef_maintenance_duration_constant_longer_than_30_minutes +util_maintenance_duration_constant_duration_greater_than_1_hr_linear,MAINTENANCE - Duration Constant: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_linear +util_maintenance_duration_constant_duration_greater_than_1_hr_square_root,MAINTENANCE - Duration Constant: Duration > 1 hr - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_square_root +util_maintenance_calibration_constant_duration_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_calibration_constant_duration_1 +util_maintenance_calibration_constant_duration_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_calibration_constant_duration_2 +util_maintenance_calibration_constant_duration_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.tour_type == 'othmaint') & (df.duration==2)),coef_maintenance_calibration_constant_duration_3 +util_maintenance_calibration_constant_duration_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.tour_type == 'othmaint') & (df.duration==3)),coef_maintenance_calibration_constant_duration_4 +util_maintenance_calibration_constant_duration_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.tour_type == 'othmaint') & (df.duration==4)),coef_maintenance_calibration_constant_duration_5 +#EAT-OUT,#EAT-OUT,,#EAT-OUT +util_eatout_distance_to_destination_duration_less_than_1_hr,EAT-OUT - Distance to destination - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_less_than_1_hr +util_eatout_distance_to_destination_duration_greater_than_1_hr,EAT-OUT - Distance to destination - Duration > 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_greater_than_1_hr +util_eatout_low_income_duration_less_than_1_hr,EAT-OUT - Low income (<25000) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_low_income_duration_less_than_1_hr +util_eatout_medium_income_duration_less_than_1_hr,EAT-OUT - Medium (25k to 60k) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_medium_income_duration_less_than_1_hr +util_eatout_zeroauto_HH_duration_greater_than_1_hr,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.tour_type == 'eatout') & (df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_zeroauto_HH_duration_greater_than_1_hr +util_eatout_university_student_departure_after_7_pm_linear,EAT-OUT - University student - Departure after 7:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start>32) & (df.ptype == 3)), (np.where((df.start<=32), np.minimum(32-df.start,29), 0) + np.where((df.start>32), np.minimum(df.start-32,8), 0)), 0)",coef_eatout_university_student_departure_after_7_pm_linear +util_eatout_female_duration_less_than_1_hr,EAT-OUT - Female - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_less_than_1_hr +util_eatout_female_duration_greater_than_1_hr,EAT-OUT - Female - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_greater_than_1_hr +util_eatout_time_pressure_departure_before_6_30_pm,EAT-OUT - Time Pressure - Departure before 6:30 pm,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<32)), (np.minimum(32-df.start,29)) * (np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_departure_before_6_30_pm +util_eatout_time_pressure_duration_less_than_1_hr,EAT-OUT - Time Pressure - Duration < 1 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration<2)), np.minimum(2-df.duration,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_duration_less_than_1_hr +util_eatout_departure_constant_7_30_am_to_9_am,EAT-OUT - Departure Constant: 07:30 AM - 09:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>=10) & (df.start<=12)),coef_eatout_departure_constant_7_30_am_to_9_am +util_eatout_departure_constant_10_30_am_to_11_am,EAT-OUT - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==16)),coef_eatout_departure_constant_10_30_am_to_11_am +util_eatout_departure_constant_11_am_to_11_30_am,EAT-OUT - Departure Constant: 11:00 AM - 11:30 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==17)),coef_eatout_departure_constant_11_am_to_11_30_am +util_eatout_departure_constant_11_30_am_to_12_pm,EAT-OUT - Departure Constant: 11:30 AM - 12:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==18)),coef_eatout_departure_constant_11_30_am_to_12_pm +util_eatout_departure_constant_12_pm_to_12_30_pm,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start==19)),coef_eatout_departure_constant_12_pm_to_12_30_pm +util_eatout_departure_constant_12_30_pm_to_1_pm,EAT-OUT - Departure Constant: 12:30 PM - 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==20)),coef_eatout_departure_constant_12_30_pm_to_1_pm +util_eatout_departure_constant_1_pm_to_1_30_pm,EAT-OUT - Departure Constant: 01:00 PM - 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==21)),coef_eatout_departure_constant_1_pm_to_1_30_pm +util_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear +util_eatout_departure_constant_before_6_pm,EAT-OUT - Departure Constant: Before 06:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)),coef_eatout_departure_constant_before_6_pm +util_eatout_departure_constant_6_pm_to_6_30_pm,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==31)),coef_eatout_departure_constant_6_pm_to_6_30_pm +util_eatout_departure_constant_6_30_pm_to_7_pm,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==32)),coef_eatout_departure_constant_6_30_pm_to_7_pm +util_eatout_departure_constant_7_pm_to_7_30_pm,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==33)),coef_eatout_departure_constant_7_pm_to_7_30_pm +util_eatout_departure_constant_after_7_30_pm,EAT-OUT - Departure Constant: After 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>33)),coef_eatout_departure_constant_after_7_30_pm +util_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>34)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear +util_eatout_arrival_constant_9_30_am_to_11_am,EAT-OUT - Arrival Constant: 9:30 AM to 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>=14) & (df.end<=16)),coef_eatout_arrival_constant_9_30_am_to_11_am +util_eatout_arrival_constant_12_30_pm_to_1_pm,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==20)),coef_eatout_arrival_constant_12_30_pm_to_1_pm +util_eatout_arrival_constant_1_pm_to_1_30_pm,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==21)),coef_eatout_arrival_constant_1_pm_to_1_30_pm +util_eatout_arrival_constant_1_30_pm_to_2_pm,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==22)),coef_eatout_arrival_constant_1_30_pm_to_2_pm +util_eatout_arrival_constant_2_pm_to_2_30_pm,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==23)),coef_eatout_arrival_constant_2_pm_to_2_30_pm +util_eatout_arrival_constant_2_30_pm_to_3_pm,EAT-OUT - Arrival Constant: 02:30 PM to 03:00 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==24)),coef_eatout_arrival_constant_2_30_pm_to_3_pm +util_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<31)),coef_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear +util_eatout_arrival_constant_before_6_30_pm,EAT-OUT - Arrival Constant: Before 6:30 PM,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<32)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_before_6_30_pm +util_eatout_arrival_constant_6_30_pm_to_7_pm,EAT-OUT - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==32)),coef_eatout_arrival_constant_6_30_pm_to_7_pm +util_eatout_arrival_constant_7_pm_to_7_30_pm,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==33)),coef_eatout_arrival_constant_7_pm_to_7_30_pm +util_eatout_arrival_constant_7_30_pm_to_8_pm,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==34)),coef_eatout_arrival_constant_7_30_pm_to_8_pm +util_eatout_arrival_constant_8_pm_to_8_30_pm,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_category != 'joint') &(df.tour_type == 'eatout') & (df.end==35)),coef_eatout_arrival_constant_8_pm_to_8_30_pm +util_eatout_arrival_constant_8_30_pm_to_9_pm,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==36)),coef_eatout_arrival_constant_8_30_pm_to_9_pm +util_eatout_arrival_constant_after_9_pm,EAT-OUT - Arrival Constant: After 9:00 PM,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.end>36)),coef_eatout_arrival_constant_after_9_pm +util_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear +util_eatout_duration_constant_0_hour,EAT-OUT - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration==0)),coef_eatout_duration_constant_0_hour +util_eatout_duration_constant_30_minutes,EAT-OUT - Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_duration_constant_30_minutes +util_eatout_duration_constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==2)),coef_eatout_duration_constant_1_hour +util_eatout_duration_constant_1_hour_30_minutes,EAT-OUT - Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_duration_constant_1_hour_30_minutes +util_eatout_duration_constant_2_hours,EAT-OUT - Duration Constant: 2 hours,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.duration==4)),coef_eatout_duration_constant_2_hours +util_eatout_duration_constant_2_hour_30_minutes_or_more,EAT-OUT - Duration Constant: 2.5 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>4)),coef_eatout_duration_constant_2_hour_30_minutes_or_more +util_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,11), 0)), 0)",coef_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear +util_eatout_calibration_constant_duration_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_calibration_constant_duration_1 +util_eatout_calibration_constant_duration_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_calibration_constant_duration_2 +util_eatout_calibration_constant_duration_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_calibration_constant_duration_3 +util_eatout_calibration_constant_duration_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_calibration_constant_duration_4 +util_eatout_calibration_constant_departure_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.tour_type == 'eatout') & (df.start == 1)),coef_eatout_calibration_constant_departure_1 +util_eatout_calibration_constant_departure_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.tour_type == 'eatout') & (df.start == 2)),coef_eatout_calibration_constant_departure_2 +util_eatout_calibration_constant_departure_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.tour_type== 'eatout') & (df.start == 3)),coef_eatout_calibration_constant_departure_3 +util_eatout_calibration_constant_departure_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.tour_type == 'eatout') & (df.start ==17)),coef_eatout_calibration_constant_departure_17 +util_eatout_calibration_constant_departure_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.tour_type== 'eatout') & (df.start ==18)),coef_eatout_calibration_constant_departure_18 +util_eatout_calibration_constant_departure_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.tour_type == 'eatout') & (df.start ==19)),coef_eatout_calibration_constant_departure_19 +util_eatout_calibration_constant_departure_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.tour_type == 'eatout') & (df.start ==20)),coef_eatout_calibration_constant_departure_20 +util_eatout_calibration_constant_departure_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.tour_type == 'eatout') & (df.start ==21)),coef_eatout_calibration_constant_departure_21 +#SOCIAL,#SOCIAL,,#SOCIAL +util_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear +util_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear +util_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear +util_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear +util_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear +util_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear +util_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear +util_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear +"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, +util_social_auto_distance_duration_less_than_1_hr_linear,SOCIAL - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_social_auto_distance_duration_less_than_1_hr_linear +util_social_auto_distance_duration_greater_than_1_hr_linear,SOCIAL - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_social_auto_distance_duration_greater_than_1_hr_linear +util_social_time_pressure_duration_less_than_1_hr,SOCIAL - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), np.minimum(3-df.duration,47), 0)* (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_less_than_1_hr +util_social_time_pressure_duration_greater_than_1_hr,SOCIAL - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3)), np.minimum(df.duration-3,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_greater_than_1_hr +util_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,SOCIAL - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.num_add_soc_discr_tours), 0)",coef_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr +util_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@((df.tour_type == 'social') & (df.start<12)) * ((np.minimum(12-df.start,48)*(df.start<12)) + (np.minimum(df.start-48,48)*(df.start>48)))",coef_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear +util_social_departure_constant_before_9_am,SOCIAL - Departure Constant: Before 09:00 AM,@(df.tour_type == 'social') & (df.start<13),coef_social_departure_constant_before_9_am +util_social_departure_constant_9_am_to_9_30_am,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.tour_type == 'social') & (df.start==13),coef_social_departure_constant_9_am_to_9_30_am +util_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.tour_type == 'social') & (df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear +util_social_departure_constant_before_5_30_pm,SOCIAL - Departure Constant: Before 05:30 PM,@((df.tour_type == 'social') & (df.start<30)),coef_social_departure_constant_before_5_30_pm +util_social_departure_constant_5_30_pm_to_6_pm,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'social') & (df.start==30)),coef_social_departure_constant_5_30_pm_to_6_pm +util_social_departure_constant_6_pm_to_6_30_pm,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'social') & (df.start==31)),coef_social_departure_constant_6_pm_to_6_30_pm +util_social_departure_constant_6_30_pm_to_7_pm,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'social') & (df.start==32)),coef_social_departure_constant_6_30_pm_to_7_pm +util_social_departure_constant_7_pm_to_7_30_pm,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_type == 'social') & (df.start==33)),coef_social_departure_constant_7_pm_to_7_30_pm +util_social_departure_constant_after_7_30_pm,SOCIAL - Departure Constant: After 07:30 PM,@((df.tour_type == 'social') & (df.start>33)),coef_social_departure_constant_after_7_30_pm +util_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.tour_type == 'social') & (df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear +util_social_arrival_constant_3_pm_to_3_30_pm,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.tour_type == 'social') & (df.end==25)),coef_social_arrival_constant_3_pm_to_3_30_pm +util_social_arrival_constant_3_30_pm_to_4_pm,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.tour_type == 'social') & (df.end==26)),coef_social_arrival_constant_3_30_pm_to_4_pm +util_social_arrival_constant_4_pm_to_4_30_pm,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.tour_type == 'social') & (df.end==27)),coef_social_arrival_constant_4_pm_to_4_30_pm +util_social_arrival_constant_5_pm_to_6_pm,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.tour_type == 'social') & (df.end>=29) & (df.end<=30)),coef_social_arrival_constant_5_pm_to_6_pm +util_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear +util_social_arrival_constant_before_8_30_pm,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.tour_type == 'social') & (df.end<36)),coef_social_arrival_constant_before_8_30_pm +util_social_arrival_constant_8_30_pm_to_9_pm,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'social') & (df.end==36)),coef_social_arrival_constant_8_30_pm_to_9_pm +util_social_arrival_constant_9_pm_to_9_30_pm,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.tour_type == 'social') & (df.end==37)),coef_social_arrival_constant_9_pm_to_9_30_pm +util_social_arrival_constant_9_30_pm_to_10_pm,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.tour_type == 'social') & (df.end==38)),coef_social_arrival_constant_9_30_pm_to_10_pm +util_social_arrival_constant_10_pm_to_10_30_pm,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.tour_type == 'social') & (df.end==39)),coef_social_arrival_constant_10_pm_to_10_30_pm +util_social_arrival_constant_after_10_30_pm,SOCIAL - Arrival Constant: After 10:30 PM,@((df.tour_type == 'social') & (df.end>39)),coef_social_arrival_constant_after_10_30_pm +util_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear +util_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 2.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<5)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>7), np.minimum(df.duration-7,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear +util_social_duration_constant_less_than_3_hours,SOCIAL - Duration Constant: Less than 3 hrs,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<6)),coef_social_duration_constant_less_than_3_hours +util_social_duration_constant_3_hours,SOCIAL - Duration Constant: 3 hours,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration==6)),coef_social_duration_constant_3_hours +util_social_duration_constant_3_hrs_30_minutes,SOCIAL - Duration Constant: 3.5 hours,@((df.tour_category != 'joint')& (df.tour_type == 'social') & (df.duration==7)),coef_social_duration_constant_3_hrs_30_minutes +util_social_duration_constant_4_hours_or_more,SOCIAL - Duration Constant: 4 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>7)),coef_social_duration_constant_4_hours_or_more +util_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 4.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>8)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>8), np.minimum(df.duration-8,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear +util_social_calibration_constant_duration_1,SOCIAL - Calibration Constant - Duration = 1,@((df.tour_type == 'social') & (df.duration ==0)),coef_social_calibration_constant_duration_1 +util_social_calibration_constant_duration_2,SOCIAL - Calibration Constant - Duration = 2,@((df.tour_type == 'social') & (df.duration == 1)),coef_social_calibration_constant_duration_2 +util_social_calibration_constant_duration_3,SOCIAL - Calibration Constant - Duration = 3,@((df.tour_type == 'social') & (df.duration ==2)),coef_social_calibration_constant_duration_3 +util_social_calibration_constant_duration_4,SOCIAL - Calibration Constant - Duration = 4,@((df.tour_type == 'social') & (df.duration ==3)),coef_social_calibration_constant_duration_4 +util_social_calibration_constant_duration_5,SOCIAL - Calibration Constant - Duration = 5,@((df.tour_type == 'social') & (df.duration ==4)),coef_social_calibration_constant_duration_5 +util_social_calibration_constant_duration_6,SOCIAL - Calibration Constant - Duration = 6,@((df.tour_type == 'social') & (df.duration ==5)),coef_social_calibration_constant_duration_6 +util_social_calibration_constant_duration_7,SOCIAL - Calibration Constant - Duration = 7,@((df.tour_type == 'social') & (df.duration ==6)),coef_social_calibration_constant_duration_7 +util_social_calibration_constant_duration_8,SOCIAL - Calibration Constant - Duration = 8,@((df.tour_type == 'social') & (df.duration ==7)),coef_social_calibration_constant_duration_8 +util_social_calibration_constant_duration_9,SOCIAL - Calibration Constant - Duration = 9,@((df.tour_type == 'social') & (df.duration ==8)),coef_social_calibration_constant_duration_9 +#DISCRETIONARY,#DISCRETIONARY,,#DISCRETIONARY +util_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear +util_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear +util_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear +util_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear +util_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear +util_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear +util_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) & (df.tour_type == 'othdiscr') & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)),0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear +util_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear +"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, +util_discretionary_auto_distance_duration_less_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_less_than_1_hr_linear +util_discretionary_auto_distance_duration_greater_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_greater_than_1_hr_linear +util_discretionary_time_pressure_duration_less_than_1_hr,DISCRETIONARY - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3)), np.minimum(3-df.duration,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_discretionary_time_pressure_duration_less_than_1_hr +util_discretionary_time_pressure_duration_greater_than_1_hr,DISCRETIONARY - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3)), np.minimum(df.duration-3,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_discretionary_time_pressure_duration_greater_than_1_hr +util_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,DISCRETIONARY - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0))*(df.num_add_soc_discr_tours),0)",coef_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr +util_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear +util_discretionary_departure_constant_before_7_30_am,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.tour_type == 'othdiscr') & (df.start<10)),coef_discretionary_departure_constant_before_7_30_am +util_discretionary_departure_constant_7_30_am_to_8_am,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.tour_type == 'othdiscr') & (df.start==10)),coef_discretionary_departure_constant_7_30_am_to_8_am +util_discretionary_departure_constant_8_am_to_8_30_am,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.tour_type == 'othdiscr') & (df.start==11)),coef_discretionary_departure_constant_8_am_to_8_30_am +util_discretionary_departure_constant_8_30_am_to_9_am,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.tour_type == 'othdiscr') & (df.start==12)),coef_discretionary_departure_constant_8_30_am_to_9_am +util_discretionary_departure_constant_9_am_to_9_30_am,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.tour_type == 'othdiscr') & (df.start==13)),coef_discretionary_departure_constant_9_am_to_9_30_am +util_discretionary_departure_constant_9_30_am_to_10_am,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.tour_type == 'othdiscr') & (df.start==14)),coef_discretionary_departure_constant_9_30_am_to_10_am +util_discretionary_departure_constant_10_am_to_10_30_am,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.tour_type == 'othdiscr') & (df.start==15)),coef_discretionary_departure_constant_10_am_to_10_30_am +util_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear +util_discretionary_departure_constant_before_5_pm,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.tour_type == 'othdiscr') & (df.start<29)),coef_discretionary_departure_constant_before_5_pm +util_discretionary_departure_constant_5_pm_to_5_30_pm,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_departure_constant_5_pm_to_5_30_pm +util_discretionary_departure_constant_5_30_pm_to_6_pm,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_departure_constant_5_30_pm_to_6_pm +util_discretionary_departure_constant_6_pm_to_6_30_pm,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_departure_constant_6_pm_to_6_30_pm +util_discretionary_departure_constant_6_30_pm_to_7_pm,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_departure_constant_6_30_pm_to_7_pm +util_discretionary_departure_constant_after_7_pm,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start>32)),coef_discretionary_departure_constant_after_7_pm +util_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear +util_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear +util_discretionary_arrival_constant_before_6_30_pm,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.tour_type == 'othdiscr') & (df.end<32)),coef_discretionary_arrival_constant_before_6_30_pm +util_discretionary_arrival_constant_6_30_pm_to_7_pm,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_type == 'othdiscr') & (df.end==32)),coef_discretionary_arrival_constant_6_30_pm_to_7_pm +util_discretionary_arrival_constant_7_pm_to_7_30_pm,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_type == 'othdiscr') & (df.end==33)),coef_discretionary_arrival_constant_7_pm_to_7_30_pm +util_discretionary_arrival_constant_7_30_pm_to_8_pm,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_type == 'othdiscr') & (df.end==34)),coef_discretionary_arrival_constant_7_30_pm_to_8_pm +util_discretionary_arrival_constant_8_pm_to_8_30_pm,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_type == 'othdiscr') & (df.end==35)),coef_discretionary_arrival_constant_8_pm_to_8_30_pm +util_discretionary_arrival_constant_8_30_pm_to_9_pm,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end==36)),coef_discretionary_arrival_constant_8_30_pm_to_9_pm +util_discretionary_arrival_constant_after_9_pm,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end>36)),coef_discretionary_arrival_constant_after_9_pm +util_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear +util_discretionary_duration_constant_0_hour,DISCRETIONARY - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==0)),coef_discretionary_duration_constant_0_hour +util_discretionary_duration_constant_30_minutes,DISCRETIONARY -Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==1)),coef_discretionary_duration_constant_30_minutes +util_discretionary_duration_constant_1_hour,DISCRETIONARY -Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==2)),coef_discretionary_duration_constant_1_hour +util_discretionary_duration_constant_1_hr_30_minutes,DISCRETIONARY -Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_duration_constant_1_hr_30_minutes +util_discretionary_duration_constant_2_hours,DISCRETIONARY -Duration Constant: 2 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_duration_constant_2_hours +util_discretionary_duration_constant_2_hr_30_minutes,DISCRETIONARY -Duration Constant: 2.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==5)),coef_discretionary_duration_constant_2_hr_30_minutes +util_discretionary_duration_constant_3_hours_or_more,DISCRETIONARY -Duration Constant: 3 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>5)),coef_discretionary_duration_constant_3_hours_or_more +util_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,DISCRETIONARY -Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,47), 0)), 0)",coef_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear +util_discretionary_calibration_constant_duration_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_calibration_constant_duration_4 +util_discretionary_calibration_constant_duration_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_calibration_constant_duration_5 +util_discretionary_calibration_constant_departure_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_calibration_constant_departure_29 +util_discretionary_calibration_constant_departure_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_calibration_constant_departure_30 +util_discretionary_calibration_constant_departure_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_calibration_constant_departure_31 +util_discretionary_calibration_constant_departure_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_calibration_constant_departure_32 diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_coeffs.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_coeffs.csv new file mode 100755 index 0000000000..42cb13d767 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_coeffs.csv @@ -0,0 +1,337 @@ +coefficient_name,value,constrain +coef_escort_mode_choice_logsum,1.173173034,F +coef_escort_distance_to_destination_duration_less_than_30_minutes,-0.335017673,F +coef_escort_distance_to_destination_duration_greater_than_30_minutes,0.005298165,F +coef_escort_fulltime_worker_departure_after_8_am_linear,-0.037980109,F +coef_escort_fulltime_worker_departure_after_3_am_linear,0.163254125,F +coef_escort_fulltime_worker_duration_less_than_30_minutes,-0.275077482,F +coef_escort_fulltime_worker_duration_greater_than_30_minutes,0.051530545,F +coef_escort_university_student_duration_less_than_30_minutes,-0.426802718,F +coef_escort_non_driving_age_student_duration_greater_than_30_minutes,0.240582361,F +coef_escort_driving_age_student_duration_less_than_30_minutes,-0.554146191,F +coef_escort_driving_age_student_duration_greater_than_30_minutes,0.299387708,F +coef_escort_pre_school_kid_duration_greater_than_30_minutes,0.195482563,F +coef_escort_med_high_income_duration_greater_than_30_minutes,-0.029281467,F +coef_escort_households_with_no_kids_departure_before_7_30_am,0.589083327,F +coef_escort_households_with_no_kids_departure_after_8_00_am,0.086690827,F +coef_escort_households_with_no_kids_departure_before_2_30_pm,0.477582648,F +coef_escort_households_with_no_kids_departure_after_3_00_pm,-0.204065502,F +coef_escort_households_with_no_kids_arrival_before_8_am,-0.360039254,F +coef_escort_households_with_no_kids_arrival_after_8_30_am,0.091614107,F +coef_escort_households_with_no_kids_arrival_before_3_pm,0.432854268,F +coef_escort_households_with_no_kids_arrival_after_3_30_pm,0.131037275,F +coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am,0.109700265,F +coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm,-0.224568648,F +coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am,-0.357416434,F +coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm,0.629285298,F +coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am,0.039005148,F +coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am,-0.06556611,F +coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm,0.117680977,F +coef_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes,-0.057322708,F +coef_escort_number_of_individual_tours_duration_greater_than_30_minutes,-0.062899692,F +coef_escort_number_of_joint_tours_duration_greater_than_30_minutes,-0.048533895,F +coef_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear,-1.469240002,F +coef_escort_departure_constant_before_7_am,-2.070292862,F +coef_escort_departure_constant_7_am_to_7_30_am,-0.642734296,F +coef_escort_departure_constant_7_30_am_to_8_am,0,T +coef_escort_departure_constant_8_am_to_8_30_am,-0.214617667,F +coef_escort_departure_constant_8_30_am_to_9_am,-0.147266606,F +coef_escort_departure_constant_after_9_am,-1.356686422,F +coef_escort_departure_constant_1_30_pm_to_2_pm,0.368092381,F +coef_escort_departure_constant_2_pm_to_2_30_pm,1.166803383,F +coef_escort_departure_constant_2_30_pm_to_3_pm,1.28466083,F +coef_escort_departure_constant_3_pm_to_3_30_pm,0.581891245,F +coef_escort_departure_constant_after_3_30_pm,0.834510243,F +coef_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear,0.175257649,F +coef_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear,-0.019161202,F +coef_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear,0.44978138,F +coef_escort_arrival_constant_before_7_am,0.549584585,F +coef_escort_arrival_constant_7_am_to_7_30_am,0.488181278,F +coef_escort_arrival_constant_7_30_am_to_8_am,0.236447651,F +coef_escort_arrival_constant_8_am_to_8_30_am,0,T +coef_escort_arrival_constant_8_30_am_to_9_am,-0.683756801,F +coef_escort_arrival_constant_after_9_am,-1.428888485,F +coef_escort_arrival_constant_2_30_pm_to_3_pm,1.311480662,F +coef_escort_arrival_constant_3_pm_to_3_30_pm,1.316883154,F +coef_escort_arrival_constant_3_30_pm_to_4_pm,1.396838392,F +coef_escort_arrival_constant_4_pm_to_4_30_pm,1.03146139,F +coef_escort_arrival_constant_after_4_30_pm,0.907344583,F +coef_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear,-0.148408887,F +coef_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,-0.389082896,F +coef_escort_duration_constant_0_hour,-0.173757322,F +coef_escort_duration_constant_30_minutes,0,T +coef_escort_duration_constant_1_hour,-0.431287743,F +coef_escort_duration_constant_1_hour_30_minutes,-0.700473959,F +coef_escort_duration_constant_2_hours,-1.071871358,F +coef_escort_duration_constant_longer_than_2_hours,-1.691098421,F +coef_escort_calibration_constant_duration_1,-0.047200214,F +coef_escort_calibration_constant_duration_2,0.035611332,F +coef_escort_calibration_constant_departure_9,0.106814756,F +coef_escort_calibration_constant_departure_10,0.215386864,F +coef_escort_calibration_constant_departure_23,-0.255087318,F +coef_escort_calibration_constant_departure_24,-0.296870428,F +coef_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes,0.122149101,F +coef_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes,-0.037886459,F +coef_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes,0.10247157,F +coef_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes,-1.882944033,F +coef_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes,-0.197455071,F +coef_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes,-0.045152663,F +coef_shopping_retired_duration_less_than_1_hour_30_minutes,-0.264728908,F +coef_shopping_retired_duration_greater_than_1_hour_30_minutes,-0.042981757,F +coef_shopping_university_student_duration_greater_than_1_hour_30_minutes,0.045926523,F +coef_shopping_female_duration_less_than_1_hour_30_minutes,-0.417208254,F +coef_shopping_female_duration_greater_than_1_hour_30_minutes,0.045801918,F +coef_shopping_low_income_duration_greater_than_1_hour_30_minutes,0.040776383,F +coef_shopping_medium_income_duration_less_than_1_hour_30_minutes,0.108462927,F +coef_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes,-0.037893416,F +coef_shopping_distance_duration_less_than_1_hour_30_minutes,-0.214802537,F +coef_shopping_distance_duration_greater_than_1_hour_30_minutes,0.007991656,F +coef_shopping_time_pressure_duration_greater_than_1_hour_30_minutes,0.013503327,F +coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,0.078844289,F +coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,-0.115431492,F +coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,-0.959875456,F +coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root,1.112594898,F +coef_shopping_departure_constant_before_9_am,-0.446394064,F +coef_shopping_departure_constant_9_am_to_9_30_am,-0.021669265,F +coef_shopping_departure_constant_9_30_am_to_10_am,-0.282978638,F +coef_shopping_departure_constant_10_am_to_10_30_am,0,T +coef_shopping_departure_constant_10_30_am_to_11_00_am,-0.309421311,F +coef_shopping_departure_constant_after_11_am,-0.541073357,F +coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,-0.072013428,F +coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,-0.000653398,F +coef_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear,-0.18376635,F +coef_shopping_arrival_constant_before_12_30_pm,-0.716195343,F +coef_shopping_arrival_constant_12_30_pm_to_3_pm,-0.502714001,F +coef_shopping_arrival_constant_3_pm_to_3_30_pm,-0.167868872,F +coef_shopping_arrival_constant_3_30_pm_to_4_pm,-0.156786941,F +coef_shopping_arrival_constant_4_pm_to_4_30_pm,0,T +coef_shopping_arrival_constant_4_30_pm_to_5_pm,-0.057314044,F +coef_shopping_arrival_constant_5_pm_to_5_30_pm,-0.580040851,F +coef_shopping_arrival_constant_5_30_pm_to_7_pm,-0.32239566,F +coef_shopping_arrival_constant_7_pm_to_9_30_pm,-0.347828147,F +coef_shopping_arrival_constant_after_9_30_pm,-1.123574723,F +coef_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear,-0.499770654,F +coef_shopping_duration_constant_0_hr,-0.131743185,F +coef_shopping_duration_constant_30_minutes,0.888857137,F +coef_shopping_duration_constant_1_hr,0,T +coef_shopping_duration_constant_1_hour_30_minutes,-0.333413031,F +coef_shopping_duration_constant_2_hrs,-0.850897912,F +coef_shopping_duration_constant_longer_than_2_hrs,-1.203783479,F +coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear,-0.293581223,F +coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root,-0.215759138,F +coef_shopping_calibration_constant_duration_1,-0.138450424,F +coef_shopping_calibration_constant_duration_2,-0.092704403,F +coef_shopping_calibration_constant_duration_3,-0.087738073,F +coef_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes,0.122149101,F +coef_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes,-0.037886459,F +coef_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes,0.10247157,F +coef_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes,-1.882944033,F +coef_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes,-0.197455071,F +coef_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes,-0.045152663,F +coef_maintenance_retired_duration_less_than_1_hour_30_minutes,-0.264728908,F +coef_maintenance_retired_duration_greater_than_1_hour_30_minutes,-0.042981757,F +coef_maintenance_university_student_duration_greater_than_1_hour_30_minutes,0.045926523,F +coef_maintenance_female_duration_less_than_1_hour_30_minutes,-0.417208254,F +coef_maintenance_female_duration_greater_than_1_hour_30_minutes,0.045801918,F +coef_maintenance_low_income_duration_greater_than_1_hour_30_minutes,0.040776383,F +coef_maintenance_medium_income_duration_less_than_1_hour_30_minutes,0.108462927,F +coef_maintenance_medium_income_duration_greater_than_1_hour_30_minutes,0,T +coef_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes,-0.037893416,F +coef_maintenance_distance_duration_less_than_1_hour_30_minutes,-0.214802537,F +coef_maintenance_distance_duration_greater_than_1_hour_30_minutes,0.007991656,F +coef_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes,0.013503327,F +coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,0.078844289,F +coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,-0.115431492,F +coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear,-0.864112609,F +coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root,0.504598473,F +coef_maintenance_departure_constant_before_8_am,-0.383711788,F +coef_maintenance_departure_constant_8_am_to_8_30_am,-0.076771517,F +coef_maintenance_departure_constant_8_30_am_to_9_00_am,-0.169259979,F +coef_maintenance_departure_constant_9_am_to_9_30_am,-0.051785379,F +coef_maintenance_departure_constant_9_30_am_to_10_am,-0.214942451,F +coef_maintenance_departure_constant_10_am_to_10_30_am,0,T +coef_maintenance_departure_constant_10_30_am_to_11_am,-0.427568963,F +coef_maintenance_departure_constant_after_11_am,-0.520863411,F +coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,0.042879095,F +coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,-0.003157293,F +coef_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear,-0.226803619,F +coef_maintenance_arrival_constant_before_10_30_am,-0.223212258,F +coef_maintenance_arrival_constant_10_30_am_to_11_am,0,T +coef_maintenance_arrival_constant_11_am_to_11_30_am,-0.128382637,F +coef_maintenance_arrival_constant_11_30_am_to_1_30_pm,0.167977332,F +coef_maintenance_arrival_constant_1_30_pm_to_2_30_pm,-0.149495878,F +coef_maintenance_arrival_constant_2_30_pm_to_4_pm,0.087679934,F +coef_maintenance_arrival_constant_4_pm_to_4_30_pm,0.121707557,F +coef_maintenance_arrival_constant_after_4_30_pm,0.106745013,F +coef_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,-0.232610927,F +coef_maintenance_duration_constant_0_hr,-0.483549396,F +coef_maintenance_duration_constant_30_minutes,0,T +coef_maintenance_duration_constant_longer_than_30_minutes,-1.450618319,F +coef_maintenance_duration_constant_duration_greater_than_1_hr_linear,-0.275082922,F +coef_maintenance_duration_constant_duration_greater_than_1_hr_square_root,0.208434683,F +coef_maintenance_calibration_constant_duration_1,-0.124602605,F +coef_maintenance_calibration_constant_duration_2,-0.103637715,F +coef_maintenance_calibration_constant_duration_3,-0.225442145,F +coef_maintenance_calibration_constant_duration_4,-0.145273012,F +coef_maintenance_calibration_constant_duration_5,-0.019241539,F +coef_eatout_distance_to_destination_duration_less_than_1_hr,-0.134981987,F +coef_eatout_distance_to_destination_duration_greater_than_1_hr,0.017860742,F +coef_eatout_low_income_duration_less_than_1_hr,1.002485807,F +coef_eatout_medium_income_duration_less_than_1_hr,0.499822018,F +coef_eatout_zeroauto_HH_duration_greater_than_1_hr,0.259409942,F +coef_eatout_university_student_departure_after_7_pm_linear,0.293827759,F +coef_eatout_female_duration_less_than_1_hr,-0.399414247,F +coef_eatout_female_duration_greater_than_1_hr,0.064593482,F +coef_eatout_time_pressure_departure_before_6_30_pm,0.083673557,F +coef_eatout_time_pressure_duration_less_than_1_hr,1.69632588,F +coef_eatout_departure_constant_7_30_am_to_9_am,1.222417262,F +coef_eatout_departure_constant_10_30_am_to_11_am,0.519559134,F +coef_eatout_departure_constant_11_am_to_11_30_am,1.191543552,F +coef_eatout_departure_constant_11_30_am_to_12_pm,1.66870995,F +coef_eatout_departure_constant_12_pm_to_12_30_pm,1.164106986,F +coef_eatout_departure_constant_12_30_pm_to_1_pm,1.057346496,F +coef_eatout_departure_constant_1_pm_to_1_30_pm,0.728959087,F +coef_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear,-0.477439748,F +coef_eatout_departure_constant_before_6_pm,-1.21554671,F +coef_eatout_departure_constant_6_pm_to_6_30_pm,-0.425984037,F +coef_eatout_departure_constant_6_30_pm_to_7_pm,0,T +coef_eatout_departure_constant_7_pm_to_7_30_pm,-0.227800647,F +coef_eatout_departure_constant_after_7_30_pm,-0.293904097,F +coef_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,-0.55440861,F +coef_eatout_arrival_constant_9_30_am_to_11_am,0.486337344,F +coef_eatout_arrival_constant_12_30_pm_to_1_pm,0.629299404,F +coef_eatout_arrival_constant_1_pm_to_1_30_pm,0.938528731,F +coef_eatout_arrival_constant_1_30_pm_to_2_pm,0.584420106,F +coef_eatout_arrival_constant_2_pm_to_2_30_pm,0.842550215,F +coef_eatout_arrival_constant_2_30_pm_to_3_pm,0.298486505,F +coef_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,0.125034982,F +coef_eatout_arrival_constant_before_6_30_pm,-0.029062996,F +coef_eatout_arrival_constant_6_30_pm_to_7_pm,-0.509075598,F +coef_eatout_arrival_constant_7_pm_to_7_30_pm,-0.124885931,F +coef_eatout_arrival_constant_7_30_pm_to_8_pm,-0.605455664,F +coef_eatout_arrival_constant_8_pm_to_8_30_pm,0,T +coef_eatout_arrival_constant_8_30_pm_to_9_pm,-0.657382835,F +coef_eatout_arrival_constant_after_9_pm,-0.813629712,F +coef_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,-0.204722406,F +coef_eatout_duration_constant_0_hour,-11.72660422,F +coef_eatout_duration_constant_30_minutes,-5.08873115,F +coef_eatout_duration_constant_1_hour,-0.125521065,F +coef_eatout_duration_constant_1_hour_30_minutes,0,T +coef_eatout_duration_constant_2_hours,-0.124807752,F +coef_eatout_duration_constant_2_hour_30_minutes_or_more,-0.156019835,F +coef_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,-0.3357414,F +coef_eatout_calibration_constant_duration_1,-0.333697861,F +coef_eatout_calibration_constant_duration_2,-0.245716,F +coef_eatout_calibration_constant_duration_3,0.052708833,F +coef_eatout_calibration_constant_duration_4,0.041571499,F +coef_eatout_calibration_constant_departure_1,-10,F +coef_eatout_calibration_constant_departure_2,-10,F +coef_eatout_calibration_constant_departure_3,-10,F +coef_eatout_calibration_constant_departure_17,0.706568704,F +coef_eatout_calibration_constant_departure_18,0.634353544,F +coef_eatout_calibration_constant_departure_19,0.584387268,F +coef_eatout_calibration_constant_departure_20,0.469777884,F +coef_eatout_calibration_constant_departure_21,0.39548931,F +coef_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,-0.262839914,F +coef_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,0.086919429,F +coef_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear,0.468354376,F +coef_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear,-0.312282762,F +coef_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,-0.508439932,F +coef_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,0.074190914,F +coef_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,0.127185965,F +coef_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,0.048756122,F +coef_social_auto_distance_duration_less_than_1_hr_linear,-0.162965435,F +coef_social_auto_distance_duration_greater_than_1_hr_linear,0.006797399,F +coef_social_time_pressure_duration_less_than_1_hr,-0.229264474,F +coef_social_time_pressure_duration_greater_than_1_hr,0.219325112,F +coef_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,0.156250451,F +coef_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,-0.529943196,F +coef_social_departure_constant_before_9_am,-0.198438086,F +coef_social_departure_constant_9_am_to_9_30_am,0.137620628,F +coef_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear,-0.142078961,F +coef_social_departure_constant_before_5_30_pm,-0.390965052,F +coef_social_departure_constant_5_30_pm_to_6_pm,-0.453580491,F +coef_social_departure_constant_6_pm_to_6_30_pm,0,T +coef_social_departure_constant_6_30_pm_to_7_pm,-0.088537991,F +coef_social_departure_constant_7_pm_to_7_30_pm,0.052983115,F +coef_social_departure_constant_after_7_30_pm,-0.649629162,F +coef_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,-0.09574499,F +coef_social_arrival_constant_3_pm_to_3_30_pm,0.37674882,F +coef_social_arrival_constant_3_30_pm_to_4_pm,0.583355461,F +coef_social_arrival_constant_4_pm_to_4_30_pm,0.727855233,F +coef_social_arrival_constant_5_pm_to_6_pm,0.249551955,F +coef_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear,0.053771388,F +coef_social_arrival_constant_before_8_30_pm,0.308763611,F +coef_social_arrival_constant_8_30_pm_to_9_pm,-0.208797698,F +coef_social_arrival_constant_9_pm_to_9_30_pm,-0.336319511,F +coef_social_arrival_constant_9_30_pm_to_10_pm,0,T +coef_social_arrival_constant_10_pm_to_10_30_pm,-0.055707591,F +coef_social_arrival_constant_after_10_30_pm,-0.612356296,F +coef_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear,-0.348479901,F +coef_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear,0.614440191,F +coef_social_duration_constant_less_than_3_hours,0.353666691,F +coef_social_duration_constant_3_hours,0,T +coef_social_duration_constant_3_hrs_30_minutes,-0.691218836,F +coef_social_duration_constant_4_hours_or_more,-1.344375328,F +coef_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear,-0.786970714,F +coef_social_calibration_constant_duration_1,-1.346772472,F +coef_social_calibration_constant_duration_2,0.377121689,F +coef_social_calibration_constant_duration_3,0.179818928,F +coef_social_calibration_constant_duration_4,-0.283418619,F +coef_social_calibration_constant_duration_5,-0.103541313,F +coef_social_calibration_constant_duration_6,-0.03704707,F +coef_social_calibration_constant_duration_7,-0.062437167,F +coef_social_calibration_constant_duration_8,0.047640282,F +coef_social_calibration_constant_duration_9,0.284369793,F +coef_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,-0.262839914,F +coef_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,0.086919429,F +coef_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear,0.468354376,F +coef_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear,-0.312282762,F +coef_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,-0.508439932,F +coef_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,0.074190914,F +coef_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,0.127185965,F +coef_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,0.048756122,F +coef_discretionary_auto_distance_duration_less_than_1_hr_linear,-0.162965435,F +coef_discretionary_auto_distance_duration_greater_than_1_hr_linear,0.006797399,F +coef_discretionary_time_pressure_duration_less_than_1_hr,-0.229264474,F +coef_discretionary_time_pressure_duration_greater_than_1_hr,0.219325112,F +coef_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,0.156250451,F +coef_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear,-0.742176805,F +coef_discretionary_departure_constant_before_7_30_am,-1.323901585,F +coef_discretionary_departure_constant_7_30_am_to_8_am,-0.695441631,F +coef_discretionary_departure_constant_8_am_to_8_30_am,-0.269903336,F +coef_discretionary_departure_constant_8_30_am_to_9_am,-0.093709211,F +coef_discretionary_departure_constant_9_am_to_9_30_am,0.265634082,F +coef_discretionary_departure_constant_9_30_am_to_10_am,0.287521134,F +coef_discretionary_departure_constant_10_am_to_10_30_am,0.396547817,F +coef_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear,-0.245885745,F +coef_discretionary_departure_constant_before_5_pm,-1.344482349,F +coef_discretionary_departure_constant_5_pm_to_5_30_pm,-0.622632748,F +coef_discretionary_departure_constant_5_30_pm_to_6_pm,-0.456718676,F +coef_discretionary_departure_constant_6_pm_to_6_30_pm,-0.206896106,F +coef_discretionary_departure_constant_6_30_pm_to_7_pm,0,T +coef_discretionary_departure_constant_after_7_pm,-0.46439343,F +coef_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear,-0.291998986,F +coef_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,0.148649188,F +coef_discretionary_arrival_constant_before_6_30_pm,0.668775963,F +coef_discretionary_arrival_constant_6_30_pm_to_7_pm,-0.053520826,F +coef_discretionary_arrival_constant_7_pm_to_7_30_pm,0.099726391,F +coef_discretionary_arrival_constant_7_30_pm_to_8_pm,0.063414092,F +coef_discretionary_arrival_constant_8_pm_to_8_30_pm,0,T +coef_discretionary_arrival_constant_8_30_pm_to_9_pm,-0.18610847,F +coef_discretionary_arrival_constant_after_9_pm,-0.423207857,F +coef_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,-0.525545923,F +coef_discretionary_duration_constant_0_hour,0.436988282,F +coef_discretionary_duration_constant_30_minutes,1.35967577,F +coef_discretionary_duration_constant_1_hour,1.692672999,F +coef_discretionary_duration_constant_1_hr_30_minutes,1.118932964,F +coef_discretionary_duration_constant_2_hours,0.771255733,F +coef_discretionary_duration_constant_2_hr_30_minutes,0,T +coef_discretionary_duration_constant_3_hours_or_more,-0.631242175,F +coef_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,-0.700935645,F +coef_discretionary_calibration_constant_duration_4,-0.132674257,F +coef_discretionary_calibration_constant_duration_5,-0.013371871,F +coef_discretionary_calibration_constant_departure_29,0.232927977,F +coef_discretionary_calibration_constant_departure_30,0.306104612,F +coef_discretionary_calibration_constant_departure_31,0.285520678,F +coef_discretionary_calibration_constant_departure_32,0.115886631,F diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_eatout.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_eatout.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_eatout.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_eatout.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_eatout_coefficients.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_eatout_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_eatout_coefficients.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_eatout_coefficients.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_escort.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_escort.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_escort.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_escort.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_escort_coefficients.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_escort_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_escort_coefficients.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_escort_coefficients.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othdiscr.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_othdiscr.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othdiscr.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_othdiscr.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othdiscr_coefficients.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_othdiscr_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othdiscr_coefficients.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_othdiscr_coefficients.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othmaint.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_othmaint.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othmaint.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_othmaint.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othmaint_coefficients.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_othmaint_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othmaint_coefficients.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_othmaint_coefficients.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shift_in.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shift_in.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shift_in.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shift_in.csv index 3ea664ef8a..c8eaf1bbd8 100755 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shift_in.csv +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shift_in.csv @@ -1,348 +1,348 @@ -Label,Description,Expression,Coefficient -# ESCORT,,, -util_escort_mode_choice_logsum,ESCORT - Mode Choice Logsum,"@np.where(df.tour_type == 'escort', df.mode_choice_logsum, 0) ",coef_escort_mode_choice_logsum -"#Note: In CTRAMP expressions, duration alternative is from 1 to 48 but in ActivitySim, it is from 0 to 47 since the duration alternative ID was calculated as (end - start). Therefore, duration in ActivitySim expression = CTRAMP duration expresssion - 1 ",,,# -util_escort_distance_to_destination_duration_less_than_30_minutes,ESCORT - Distance to destination - Duration less than 0.5 hour (depart and arrive in the same period),"@np.where(((df.tour_type == 'escort') & (df.duration<1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_distance_to_destination_duration_less_than_30_minutes -util_escort_distance_to_destination_duration_greater_than_30_minutes,ESCORT - Distance to destination - Duration greater than 0.5 hour,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_distance_to_destination_duration_greater_than_30_minutes -util_escort_fulltime_worker_departure_after_8_am_linear,ESCORT - Full-time worker - Departure after 8:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)),0)",coef_escort_fulltime_worker_departure_after_8_am_linear -"#Note: In CTRAMP expression file, the description below says departure is after 3 am but from the expression it seems that it would be 3 pm instead of 3 am",,, -util_escort_fulltime_worker_departure_after_3_am_linear,ESCORT - Full-time worker - Departure after 3:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_fulltime_worker_departure_after_3_am_linear -util_escort_fulltime_worker_duration_less_than_30_minutes,ESCORT - Full-time worker - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_fulltime_worker_duration_less_than_30_minutes -util_escort_fulltime_worker_duration_greater_than_30_minutes,ESCORT - Full-time worker - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_fulltime_worker_duration_greater_than_30_minutes -util_escort_university_student_duration_less_than_30_minutes,ESCORT - University student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 3) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_university_student_duration_less_than_30_minutes -util_escort_non_driving_age_student_duration_greater_than_30_minutes,ESCORT - Non-driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & ((df.ptype == 7)|(df.ptype == 8)) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_non_driving_age_student_duration_greater_than_30_minutes -util_escort_driving_age_student_duration_less_than_30_minutes,ESCORT - Driving age student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_driving_age_student_duration_less_than_30_minutes -util_escort_driving_age_student_duration_greater_than_30_minutes,ESCORT - Driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_driving_age_student_duration_greater_than_30_minutes -"#Note: In CTRAMP expression file, description says the expression below is for duration > 0.5 hr but the expression says duration < 0.5 hr",,, -util_escort_pre_school_kid_duration_greater_than_30_minutes,ESCORT - Pre-school kid - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 8) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_pre_school_kid_duration_greater_than_30_minutes -util_escort_med_high_income_duration_greater_than_30_minutes,ESCORT - Med-high income (60k to 120k) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_med_high_income_duration_greater_than_30_minutes -util_escort_households_with_no_kids_departure_before_7_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 7:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_households_with_no_kids_departure_before_7_30_am -util_escort_households_with_no_kids_departure_after_8_00_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_households_with_no_kids_departure_after_8_00_am -util_escort_households_with_no_kids_departure_before_2_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 2:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_households_with_no_kids_departure_before_2_30_pm -util_escort_households_with_no_kids_departure_after_3_00_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where ((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_households_with_no_kids_departure_after_3_00_pm -util_escort_households_with_no_kids_arrival_before_8_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_households_with_no_kids_arrival_before_8_am -util_escort_households_with_no_kids_arrival_after_8_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_households_with_no_kids_arrival_after_8_30_am -util_escort_households_with_no_kids_arrival_before_3_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_households_with_no_kids_arrival_before_3_pm -util_escort_households_with_no_kids_arrival_after_3_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_households_with_no_kids_arrival_after_3_30_pm -util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am -util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm -util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am,"ESCORT -Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am -util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm -util_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where ((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am -util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am -util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm -util_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes,ESCORT - Number of autos greater than number of adults - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes -util_escort_number_of_individual_tours_duration_greater_than_30_minutes,ESCORT -Number of Individual Tours (excluding escorting) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.num_non_escort_tours > 0) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) * (df.num_non_escort_tours), 0)",coef_escort_number_of_individual_tours_duration_greater_than_30_minutes -util_escort_number_of_joint_tours_duration_greater_than_30_minutes,ESCORT - Number of joint tours - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) *(df.num_joint_tours), 0)",coef_escort_number_of_joint_tours_duration_greater_than_30_minutes -util_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes before 06:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start<8)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + np.where((df.start>13), np.minimum(df.start-13,28), 0)), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear -util_escort_departure_constant_before_7_am,ESCORT - Departure Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.start<9)),coef_escort_departure_constant_before_7_am -util_escort_departure_constant_7_am_to_7_30_am,ESCORT - Departure Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_departure_constant_7_am_to_7_30_am -util_escort_departure_constant_7_30_am_to_8_am,ESCORT - Departure Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_departure_constant_7_30_am_to_8_am -util_escort_departure_constant_8_am_to_8_30_am,ESCORT - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.start==11)),coef_escort_departure_constant_8_am_to_8_30_am -util_escort_departure_constant_8_30_am_to_9_am,ESCORT - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.start==12)),coef_escort_departure_constant_8_30_am_to_9_am -util_escort_departure_constant_after_9_am,ESCORT - Departure Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.start>12)),coef_escort_departure_constant_after_9_am -util_escort_departure_constant_1_30_pm_to_2_pm,ESCORT - Departure Constant: 01:30 PM - 02:00 PM,@((df.tour_type == 'escort') & (df.start==22)),coef_escort_departure_constant_1_30_pm_to_2_pm -util_escort_departure_constant_2_pm_to_2_30_pm,ESCORT - Departure Constant: 02:00 PM - 02:30 PM,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_departure_constant_2_pm_to_2_30_pm -util_escort_departure_constant_2_30_pm_to_3_pm,ESCORT - Departure Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_departure_constant_2_30_pm_to_3_pm -util_escort_departure_constant_3_pm_to_3_30_pm,ESCORT - Departure Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.start==25)),coef_escort_departure_constant_3_pm_to_3_30_pm -util_escort_departure_constant_after_3_30_pm,ESCORT - Departure Constant: After 03:30 PM,@((df.tour_type == 'escort') & (df.start>25)),coef_escort_departure_constant_after_3_30_pm -util_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>13)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + (np.where((df.start>13), np.minimum(df.start-13,28), 0))), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear -util_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 4:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>26)), (np.where((df.start<0), np.minimum(0-df.start,48), 0) + np.where((df.start>26), np.minimum(df.start-26,15),0)), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear -util_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes before 6:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end<8)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear -util_escort_arrival_constant_before_7_am,ESCORT - Arrival Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.end<9)),coef_escort_arrival_constant_before_7_am -util_escort_arrival_constant_7_am_to_7_30_am,ESCORT - Arrival Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.end==9)),coef_escort_arrival_constant_7_am_to_7_30_am -util_escort_arrival_constant_7_30_am_to_8_am,ESCORT - Arrival Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.end==10)),coef_escort_arrival_constant_7_30_am_to_8_am -util_escort_arrival_constant_8_am_to_8_30_am,ESCORT - Arrival Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.end==11)),coef_escort_arrival_constant_8_am_to_8_30_am -util_escort_arrival_constant_8_30_am_to_9_am,ESCORT - Arrival Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.end==12)),coef_escort_arrival_constant_8_30_am_to_9_am -util_escort_arrival_constant_after_9_am,ESCORT - Arrival Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.end>12)),coef_escort_arrival_constant_after_9_am -util_escort_arrival_constant_2_30_pm_to_3_pm,ESCORT - Arrival Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.end==24)),coef_escort_arrival_constant_2_30_pm_to_3_pm -util_escort_arrival_constant_3_pm_to_3_30_pm,ESCORT - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.end==25)),coef_escort_arrival_constant_3_pm_to_3_30_pm -util_escort_arrival_constant_3_30_pm_to_4_pm,ESCORT - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'escort') & (df.end==26)),coef_escort_arrival_constant_3_30_pm_to_4_pm -util_escort_arrival_constant_4_pm_to_4_30_pm,ESCORT - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'escort') & (df.end==27)),coef_escort_arrival_constant_4_pm_to_4_30_pm -util_escort_arrival_constant_after_4_30_pm,ESCORT - Arrival Constant: After 04:30 PM,@((df.tour_type == 'escort') & (df.end>27)),coef_escort_arrival_constant_after_4_30_pm -util_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>13)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear -util_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>28)), (np.where((df.end<0), np.minimum(0-df.end,48), 0) + np.where((df.start>28), np.minimum(df.end-28,15), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear -util_escort_duration_constant_0_hour,ESCORT - Duration Constant: 0 hr,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_duration_constant_0_hour -util_escort_duration_constant_30_minutes,ESCORT - Duration Constant: 0.5 hr,@((df.tour_type == 'escort') & (df.duration==1)),coef_escort_duration_constant_30_minutes -util_escort_duration_constant_1_hour,ESCORT - Duration Constant: 1 hr,@((df.tour_type == 'escort') & (df.duration==2)),coef_escort_duration_constant_1_hour -util_escort_duration_constant_1_hour_30_minutes,ESCORT - Duration Constant: 1.5hrs,@((df.tour_type == 'escort') & (df.duration==3)),coef_escort_duration_constant_1_hour_30_minutes -util_escort_duration_constant_2_hours,ESCORT - Duration Constant: 2 hrs,@((df.tour_type == 'escort') & (df.duration==4)),coef_escort_duration_constant_2_hours -util_escort_duration_constant_longer_than_2_hours,ESCORT - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'escort') & (df.duration>4)),coef_escort_duration_constant_longer_than_2_hours -util_escort_calibration_constant_duration_1,ESCORT - Calibration Constant - Duration = 1,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_calibration_constant_duration_1 -util_escort_calibration_constant_duration_2,ESCORT - Calibration Constant - Duration = 2,@(((df.tour_type == 'escort') & df.duration==1)),coef_escort_calibration_constant_duration_2 -util_escort_calibration_constant_departure_9,ESCORT - Calibration Constant - Departure = 9,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_calibration_constant_departure_9 -util_escort_calibration_constant_departure_10,ESCORT - Calibration Constant - Departure = 10,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_calibration_constant_departure_10 -util_escort_calibration_constant_departure_23,ESCORT - Calibration Constant - Departure = 23,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_calibration_constant_departure_23 -util_escort_calibration_constant_departure_24,ESCORT - Calibration Constant - Departure = 24,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_calibration_constant_departure_24 -#SHOPPING,,,#SHOPPING -util_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes -util_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Full-time worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes -util_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Non-driving Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes -util_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes,SHOPPING - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes -util_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes -util_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes -util_shopping_retired_duration_less_than_1_hour_30_minutes,SHOPPING - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_less_than_1_hour_30_minutes -util_shopping_retired_duration_greater_than_1_hour_30_minutes,SHOPPING - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_greater_than_1_hour_30_minutes -util_shopping_university_student_duration_greater_than_1_hour_30_minutes,SHOPPING - University Student: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_university_student_duration_greater_than_1_hour_30_minutes -util_shopping_female_duration_less_than_1_hour_30_minutes,SHOPPING - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_less_than_1_hour_30_minutes -util_shopping_female_duration_greater_than_1_hour_30_minutes,SHOPPING - Female: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_greater_than_1_hour_30_minutes -util_shopping_low_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_type == 'shopping') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_low_income_duration_greater_than_1_hour_30_minutes -util_shopping_medium_income_duration_less_than_1_hour_30_minutes,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_income_duration_less_than_1_hour_30_minutes -util_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes -util_shopping_distance_duration_less_than_1_hour_30_minutes,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_less_than_1_hour_30_minutes -util_shopping_distance_duration_greater_than_1_hour_30_minutes,SHOPPING - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_greater_than_1_hour_30_minutes -util_shopping_time_pressure_duration_greater_than_1_hour_30_minutes,SHOPPING - Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), np.minimum(df.duration-2,26) *(np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_shopping_time_pressure_duration_greater_than_1_hour_30_minutes -util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes -util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') &(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes -util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear -util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root -util_shopping_departure_constant_before_9_am,SHOPPING - Departure Constant: Before 09:00 AM,@((df.tour_type == 'shopping') & (df.start<13)),coef_shopping_departure_constant_before_9_am -util_shopping_departure_constant_9_am_to_9_30_am,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'shopping') & (df.start==13)),coef_shopping_departure_constant_9_am_to_9_30_am -util_shopping_departure_constant_9_30_am_to_10_am,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'shopping') & (df.start==14)),coef_shopping_departure_constant_9_30_am_to_10_am -util_shopping_departure_constant_10_am_to_10_30_am,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'shopping') & (df.start==15)),coef_shopping_departure_constant_10_am_to_10_30_am -util_shopping_departure_constant_10_30_am_to_11_00_am,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'shopping') & (df.start==16)),coef_shopping_departure_constant_10_30_am_to_11_00_am -util_shopping_departure_constant_after_11_am,SHOPPING - Departure Constant: After 11:00 AM,@((df.tour_type == 'shopping') & (df.start>16)),coef_shopping_departure_constant_after_11_am -util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear -util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared -util_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear -util_shopping_arrival_constant_before_12_30_pm,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.tour_type == 'shopping') & (df.end<20)),coef_shopping_arrival_constant_before_12_30_pm -util_shopping_arrival_constant_12_30_pm_to_3_pm,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@((df.tour_type == 'shopping') & ( df.end>=20) & (df.end<=24)),coef_shopping_arrival_constant_12_30_pm_to_3_pm -util_shopping_arrival_constant_3_pm_to_3_30_pm,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'shopping') & (df.end==25)),coef_shopping_arrival_constant_3_pm_to_3_30_pm -util_shopping_arrival_constant_3_30_pm_to_4_pm,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'shopping') & (df.end==26)),coef_shopping_arrival_constant_3_30_pm_to_4_pm -util_shopping_arrival_constant_4_pm_to_4_30_pm,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'shopping') & (df.end==27)),coef_shopping_arrival_constant_4_pm_to_4_30_pm -util_shopping_arrival_constant_4_30_pm_to_5_pm,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.tour_type == 'shopping') & (df.end==28)),coef_shopping_arrival_constant_4_30_pm_to_5_pm -util_shopping_arrival_constant_5_pm_to_5_30_pm,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'shopping') & (df.end==29)),coef_shopping_arrival_constant_5_pm_to_5_30_pm -util_shopping_arrival_constant_5_30_pm_to_7_pm,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.tour_type == 'shopping') & (df.end>=30) & (df.end<=32)),coef_shopping_arrival_constant_5_30_pm_to_7_pm -util_shopping_arrival_constant_7_pm_to_9_30_pm,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.tour_type == 'shopping') & (df.end>=33) & (df.end<=37)),coef_shopping_arrival_constant_7_pm_to_9_30_pm -util_shopping_arrival_constant_after_9_30_pm,SHOPPING - Arrival Constant: After 09:30 PM,@((df.tour_type == 'shopping') & (df.end>37)),coef_shopping_arrival_constant_after_9_30_pm -util_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear -util_shopping_duration_constant_0_hr,SHOPPING - Duration Constant: 0 hr,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_duration_constant_0_hr -util_shopping_duration_constant_30_minutes,SHOPPING - Duration Constant: 0.5 hr,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_duration_constant_30_minutes -util_shopping_duration_constant_1_hr,SHOPPING - Duration Constant: 1 hr,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_duration_constant_1_hr -util_shopping_duration_constant_1_hour_30_minutes,SHOPPING - Duration Constant: 1.5hrs,@(df.tour_type == 'shopping') & (df.duration==3),coef_shopping_duration_constant_1_hour_30_minutes -util_shopping_duration_constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.tour_type == 'shopping') & (df.duration==4)),coef_shopping_duration_constant_2_hrs -util_shopping_duration_constant_longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'shopping') & (df.duration>4)),coef_shopping_duration_constant_longer_than_2_hrs -util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear -util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root -util_shopping_calibration_constant_duration_1,SHOPPING - Calibration Constant - Duration = 1,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_calibration_constant_duration_1 -util_shopping_calibration_constant_duration_2,SHOPPING - Calibration Constant - Duration = 2,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_calibration_constant_duration_2 -util_shopping_calibration_constant_duration_3,SHOPPING - Calibration Constant - Duration = 3,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_calibration_constant_duration_3 -#MAINTENANCE,#MAINTENANCE,,#MAINTENANCE -util_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes -util_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Full-time worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes -util_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Non-driving Student: Duration > 1.5 hrs,"@np.where (((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes -util_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes,MAINTENANCE - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes -util_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes -util_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes -util_maintenance_retired_duration_less_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_less_than_1_hour_30_minutes -util_maintenance_retired_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_greater_than_1_hour_30_minutes -util_maintenance_university_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - University Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_university_student_duration_greater_than_1_hour_30_minutes -util_maintenance_female_duration_less_than_1_hour_30_minutes,MAINTENANCE - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_less_than_1_hour_30_minutes -util_maintenance_female_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Female: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_greater_than_1_hour_30_minutes -util_maintenance_low_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_low_income_duration_greater_than_1_hour_30_minutes -util_maintenance_medium_income_duration_less_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_less_than_1_hour_30_minutes -util_maintenance_medium_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_greater_than_1_hour_30_minutes -util_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes -util_maintenance_distance_duration_less_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_less_than_1_hour_30_minutes -util_maintenance_distance_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_greater_than_1_hour_30_minutes -util_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes,Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), np.minimum(df.duration-2,26) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes -util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes -util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes -util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear -util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root -util_maintenance_departure_constant_before_8_am,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.tour_type == 'othmaint') & (df.start<11)),coef_maintenance_departure_constant_before_8_am -util_maintenance_departure_constant_8_am_to_8_30_am,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'othmaint') & (df.start==11)),coef_maintenance_departure_constant_8_am_to_8_30_am -util_maintenance_departure_constant_8_30_am_to_9_00_am,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'othmaint') & (df.start==12)),coef_maintenance_departure_constant_8_30_am_to_9_00_am -util_maintenance_departure_constant_9_am_to_9_30_am,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'othmaint') & (df.start==13)),coef_maintenance_departure_constant_9_am_to_9_30_am -util_maintenance_departure_constant_9_30_am_to_10_am,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'othmaint') & (df.start==14)),coef_maintenance_departure_constant_9_30_am_to_10_am -util_maintenance_departure_constant_10_am_to_10_30_am,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'othmaint') & (df.start==15)),coef_maintenance_departure_constant_10_am_to_10_30_am -util_maintenance_departure_constant_10_30_am_to_11_am,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.start==16)),coef_maintenance_departure_constant_10_30_am_to_11_am -util_maintenance_departure_constant_after_11_am,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.tour_type == 'othmaint') & (df.start>16)),coef_maintenance_departure_constant_after_11_am -util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear -util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared -util_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear -util_maintenance_arrival_constant_before_10_30_am,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.tour_type == 'othmaint') & (df.end<16)),coef_maintenance_arrival_constant_before_10_30_am -util_maintenance_arrival_constant_10_30_am_to_11_am,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.end==16)),coef_maintenance_arrival_constant_10_30_am_to_11_am -util_maintenance_arrival_constant_11_am_to_11_30_am,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.tour_type == 'othmaint') & (df.end==17)),coef_maintenance_arrival_constant_11_am_to_11_30_am -util_maintenance_arrival_constant_11_30_am_to_1_30_pm,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.tour_type == 'othmaint') & (df.end>=18) & (df.end<=21)),coef_maintenance_arrival_constant_11_30_am_to_1_30_pm -util_maintenance_arrival_constant_1_30_pm_to_2_30_pm,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.tour_type == 'othmaint') & (df.end>=22) & (df.end<=23)),coef_maintenance_arrival_constant_1_30_pm_to_2_30_pm -util_maintenance_arrival_constant_2_30_pm_to_4_pm,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.tour_type == 'othmaint') & (df.end>=24) & (df.end<=26)),coef_maintenance_arrival_constant_2_30_pm_to_4_pm -util_maintenance_arrival_constant_4_pm_to_4_30_pm,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'othmaint') & (df.end==27)),coef_maintenance_arrival_constant_4_pm_to_4_30_pm -util_maintenance_arrival_constant_after_4_30_pm,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.tour_type == 'othmaint') & (df.end>27)),coef_maintenance_arrival_constant_after_4_30_pm -util_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear -util_maintenance_duration_constant_0_hr,MAINTENANCE - Duration Constant: 0 hr,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_duration_constant_0_hr -util_maintenance_duration_constant_30_minutes,MAINTENANCE - Duration Constant: 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_duration_constant_30_minutes -util_maintenance_duration_constant_longer_than_30_minutes,MAINTENANCE - Duration Constant: Longer than 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration>1)),coef_maintenance_duration_constant_longer_than_30_minutes -util_maintenance_duration_constant_duration_greater_than_1_hr_linear,MAINTENANCE - Duration Constant: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_linear -util_maintenance_duration_constant_duration_greater_than_1_hr_square_root,MAINTENANCE - Duration Constant: Duration > 1 hr - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_square_root -util_maintenance_calibration_constant_duration_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_calibration_constant_duration_1 -util_maintenance_calibration_constant_duration_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_calibration_constant_duration_2 -util_maintenance_calibration_constant_duration_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.tour_type == 'othmaint') & (df.duration==2)),coef_maintenance_calibration_constant_duration_3 -util_maintenance_calibration_constant_duration_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.tour_type == 'othmaint') & (df.duration==3)),coef_maintenance_calibration_constant_duration_4 -util_maintenance_calibration_constant_duration_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.tour_type == 'othmaint') & (df.duration==4)),coef_maintenance_calibration_constant_duration_5 -#EAT-OUT,#EAT-OUT,,#EAT-OUT -util_eatout_distance_to_destination_duration_less_than_1_hr,EAT-OUT - Distance to destination - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_less_than_1_hr -util_eatout_distance_to_destination_duration_greater_than_1_hr,EAT-OUT - Distance to destination - Duration > 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_greater_than_1_hr -util_eatout_low_income_duration_less_than_1_hr,EAT-OUT - Low income (<25000) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_low_income_duration_less_than_1_hr -util_eatout_medium_income_duration_less_than_1_hr,EAT-OUT - Medium (25k to 60k) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_medium_income_duration_less_than_1_hr -util_eatout_zeroauto_HH_duration_greater_than_1_hr,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.tour_type == 'eatout') & (df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_zeroauto_HH_duration_greater_than_1_hr -util_eatout_university_student_departure_after_7_pm_linear,EAT-OUT - University student - Departure after 7:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start>32) & (df.ptype == 3)), (np.where((df.start<=32), np.minimum(32-df.start,29), 0) + np.where((df.start>32), np.minimum(df.start-32,8), 0)), 0)",coef_eatout_university_student_departure_after_7_pm_linear -util_eatout_female_duration_less_than_1_hr,EAT-OUT - Female - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_less_than_1_hr -util_eatout_female_duration_greater_than_1_hr,EAT-OUT - Female - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_greater_than_1_hr -util_eatout_time_pressure_departure_before_6_30_pm,EAT-OUT - Time Pressure - Departure before 6:30 pm,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<32)), (np.minimum(32-df.start,29)) * (np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_departure_before_6_30_pm -util_eatout_time_pressure_duration_less_than_1_hr,EAT-OUT - Time Pressure - Duration < 1 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration<2)), np.minimum(2-df.duration,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_duration_less_than_1_hr -util_eatout_departure_constant_7_30_am_to_9_am,EAT-OUT - Departure Constant: 07:30 AM - 09:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>=10) & (df.start<=12)),coef_eatout_departure_constant_7_30_am_to_9_am -util_eatout_departure_constant_10_30_am_to_11_am,EAT-OUT - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==16)),coef_eatout_departure_constant_10_30_am_to_11_am -util_eatout_departure_constant_11_am_to_11_30_am,EAT-OUT - Departure Constant: 11:00 AM - 11:30 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==17)),coef_eatout_departure_constant_11_am_to_11_30_am -util_eatout_departure_constant_11_30_am_to_12_pm,EAT-OUT - Departure Constant: 11:30 AM - 12:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==18)),coef_eatout_departure_constant_11_30_am_to_12_pm -util_eatout_departure_constant_12_pm_to_12_30_pm,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start==19)),coef_eatout_departure_constant_12_pm_to_12_30_pm -util_eatout_departure_constant_12_30_pm_to_1_pm,EAT-OUT - Departure Constant: 12:30 PM - 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==20)),coef_eatout_departure_constant_12_30_pm_to_1_pm -util_eatout_departure_constant_1_pm_to_1_30_pm,EAT-OUT - Departure Constant: 01:00 PM - 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==21)),coef_eatout_departure_constant_1_pm_to_1_30_pm -util_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear -util_eatout_departure_constant_before_6_pm,EAT-OUT - Departure Constant: Before 06:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)),coef_eatout_departure_constant_before_6_pm -util_eatout_departure_constant_6_pm_to_6_30_pm,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==31)),coef_eatout_departure_constant_6_pm_to_6_30_pm -util_eatout_departure_constant_6_30_pm_to_7_pm,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==32)),coef_eatout_departure_constant_6_30_pm_to_7_pm -util_eatout_departure_constant_7_pm_to_7_30_pm,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==33)),coef_eatout_departure_constant_7_pm_to_7_30_pm -util_eatout_departure_constant_after_7_30_pm,EAT-OUT - Departure Constant: After 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>33)),coef_eatout_departure_constant_after_7_30_pm -util_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>34)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear -util_eatout_arrival_constant_9_30_am_to_11_am,EAT-OUT - Arrival Constant: 9:30 AM to 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>=14) & (df.end<=16)),coef_eatout_arrival_constant_9_30_am_to_11_am -util_eatout_arrival_constant_12_30_pm_to_1_pm,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==20)),coef_eatout_arrival_constant_12_30_pm_to_1_pm -util_eatout_arrival_constant_1_pm_to_1_30_pm,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==21)),coef_eatout_arrival_constant_1_pm_to_1_30_pm -util_eatout_arrival_constant_1_30_pm_to_2_pm,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==22)),coef_eatout_arrival_constant_1_30_pm_to_2_pm -util_eatout_arrival_constant_2_pm_to_2_30_pm,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==23)),coef_eatout_arrival_constant_2_pm_to_2_30_pm -util_eatout_arrival_constant_2_30_pm_to_3_pm,EAT-OUT - Arrival Constant: 02:30 PM to 03:00 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==24)),coef_eatout_arrival_constant_2_30_pm_to_3_pm -util_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<31)),coef_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear -util_eatout_arrival_constant_before_6_30_pm,EAT-OUT - Arrival Constant: Before 6:30 PM,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<32)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_before_6_30_pm -util_eatout_arrival_constant_6_30_pm_to_7_pm,EAT-OUT - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==32)),coef_eatout_arrival_constant_6_30_pm_to_7_pm -util_eatout_arrival_constant_7_pm_to_7_30_pm,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==33)),coef_eatout_arrival_constant_7_pm_to_7_30_pm -util_eatout_arrival_constant_7_30_pm_to_8_pm,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==34)),coef_eatout_arrival_constant_7_30_pm_to_8_pm -util_eatout_arrival_constant_8_pm_to_8_30_pm,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_category != 'joint') &(df.tour_type == 'eatout') & (df.end==35)),coef_eatout_arrival_constant_8_pm_to_8_30_pm -util_eatout_arrival_constant_8_30_pm_to_9_pm,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==36)),coef_eatout_arrival_constant_8_30_pm_to_9_pm -util_eatout_arrival_constant_after_9_pm,EAT-OUT - Arrival Constant: After 9:00 PM,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.end>36)),coef_eatout_arrival_constant_after_9_pm -util_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear -util_eatout_duration_constant_0_hour,EAT-OUT - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration==0)),coef_eatout_duration_constant_0_hour -util_eatout_duration_constant_30_minutes,EAT-OUT - Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_duration_constant_30_minutes -util_eatout_duration_constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==2)),coef_eatout_duration_constant_1_hour -util_eatout_duration_constant_1_hour_30_minutes,EAT-OUT - Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_duration_constant_1_hour_30_minutes -util_eatout_duration_constant_2_hours,EAT-OUT - Duration Constant: 2 hours,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.duration==4)),coef_eatout_duration_constant_2_hours -util_eatout_duration_constant_2_hour_30_minutes_or_more,EAT-OUT - Duration Constant: 2.5 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>4)),coef_eatout_duration_constant_2_hour_30_minutes_or_more -util_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,11), 0)), 0)",coef_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear -util_eatout_calibration_constant_duration_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_calibration_constant_duration_1 -util_eatout_calibration_constant_duration_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_calibration_constant_duration_2 -util_eatout_calibration_constant_duration_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_calibration_constant_duration_3 -util_eatout_calibration_constant_duration_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_calibration_constant_duration_4 -util_eatout_calibration_constant_departure_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.tour_type == 'eatout') & (df.start == 1)),coef_eatout_calibration_constant_departure_1 -util_eatout_calibration_constant_departure_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.tour_type == 'eatout') & (df.start == 2)),coef_eatout_calibration_constant_departure_2 -util_eatout_calibration_constant_departure_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.tour_type== 'eatout') & (df.start == 3)),coef_eatout_calibration_constant_departure_3 -util_eatout_calibration_constant_departure_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.tour_type == 'eatout') & (df.start ==17)),coef_eatout_calibration_constant_departure_17 -util_eatout_calibration_constant_departure_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.tour_type== 'eatout') & (df.start ==18)),coef_eatout_calibration_constant_departure_18 -util_eatout_calibration_constant_departure_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.tour_type == 'eatout') & (df.start ==19)),coef_eatout_calibration_constant_departure_19 -util_eatout_calibration_constant_departure_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.tour_type == 'eatout') & (df.start ==20)),coef_eatout_calibration_constant_departure_20 -util_eatout_calibration_constant_departure_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.tour_type == 'eatout') & (df.start ==21)),coef_eatout_calibration_constant_departure_21 -#SOCIAL,#SOCIAL,,#SOCIAL -util_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear -util_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear -util_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear -util_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear -util_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear -util_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear -util_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear -util_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear -"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, -util_social_auto_distance_duration_less_than_1_hr_linear,SOCIAL - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0) * (df.origin_to_destination_distance)",coef_social_auto_distance_duration_less_than_1_hr_linear -util_social_auto_distance_duration_greater_than_1_hr_linear,SOCIAL - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0) * (df.origin_to_destination_distance) ",coef_social_auto_distance_duration_greater_than_1_hr_linear -util_social_time_pressure_duration_less_than_1_hr,SOCIAL - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), np.minimum(3-df.duration,47), 0)* (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_less_than_1_hr -util_social_time_pressure_duration_greater_than_1_hr,SOCIAL - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3)), np.minimum(df.duration-3,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_greater_than_1_hr -util_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,SOCIAL - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.num_add_soc_discr_tours), 0)",coef_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr -util_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@(df.tour_type == 'social') & (df.start<12) * ((np.minimum(12-df.start,48)*(df.start<48)) + (np.minimum(df.start-48,48)*(df.start>48)))",coef_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear -util_social_departure_constant_before_9_am,SOCIAL - Departure Constant: Before 09:00 AM,@(df.tour_type == 'social') & (df.start<13),coef_social_departure_constant_before_9_am -util_social_departure_constant_9_am_to_9_30_am,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.tour_type == 'social') & (df.start==13),coef_social_departure_constant_9_am_to_9_30_am -util_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear -util_social_departure_constant_before_5_30_pm,SOCIAL - Departure Constant: Before 05:30 PM,@((df.tour_type == 'social') & (df.start<30)),coef_social_departure_constant_before_5_30_pm -util_social_departure_constant_5_30_pm_to_6_pm,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'social') & (df.start==30)),coef_social_departure_constant_5_30_pm_to_6_pm -util_social_departure_constant_6_pm_to_6_30_pm,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'social') & (df.start==31)),coef_social_departure_constant_6_pm_to_6_30_pm -util_social_departure_constant_6_30_pm_to_7_pm,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'social') & (df.start==32)),coef_social_departure_constant_6_30_pm_to_7_pm -util_social_departure_constant_7_pm_to_7_30_pm,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_type == 'social') & (df.start==33)),coef_social_departure_constant_7_pm_to_7_30_pm -util_social_departure_constant_after_7_30_pm,SOCIAL - Departure Constant: After 07:30 PM,@((df.tour_type == 'social') & (df.start>33)),coef_social_departure_constant_after_7_30_pm -util_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear -util_social_arrival_constant_3_pm_to_3_30_pm,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.tour_type == 'social') & (df.end==25)),coef_social_arrival_constant_3_pm_to_3_30_pm -util_social_arrival_constant_3_30_pm_to_4_pm,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.tour_type == 'social') & (df.end==26)),coef_social_arrival_constant_3_30_pm_to_4_pm -util_social_arrival_constant_4_pm_to_4_30_pm,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.tour_type == 'social') & (df.end==27)),coef_social_arrival_constant_4_pm_to_4_30_pm -util_social_arrival_constant_5_pm_to_6_pm,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.tour_type == 'social') & (df.end>=29) & (df.end<=30)),coef_social_arrival_constant_5_pm_to_6_pm -util_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear -util_social_arrival_constant_before_8_30_pm,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.tour_type == 'social') & (df.end<36)),coef_social_arrival_constant_before_8_30_pm -util_social_arrival_constant_8_30_pm_to_9_pm,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'social') & (df.end==36)),coef_social_arrival_constant_8_30_pm_to_9_pm -util_social_arrival_constant_9_pm_to_9_30_pm,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.tour_type == 'social') & (df.end==37)),coef_social_arrival_constant_9_pm_to_9_30_pm -util_social_arrival_constant_9_30_pm_to_10_pm,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.tour_type == 'social') & (df.end==38)),coef_social_arrival_constant_9_30_pm_to_10_pm -util_social_arrival_constant_10_pm_to_10_30_pm,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.tour_type == 'social') & (df.end==39)),coef_social_arrival_constant_10_pm_to_10_30_pm -util_social_arrival_constant_after_10_30_pm,SOCIAL - Arrival Constant: After 10:30 PM,@((df.tour_type == 'social') & (df.end>39)),coef_social_arrival_constant_after_10_30_pm -util_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear -util_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 2.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<5)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>7), np.minimum(df.duration-7,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear -util_social_duration_constant_less_than_3_hours,SOCIAL - Duration Constant: Less than 3 hrs,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<6)),coef_social_duration_constant_less_than_3_hours -util_social_duration_constant_3_hours,SOCIAL - Duration Constant: 3 hours,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration==6)),coef_social_duration_constant_3_hours -util_social_duration_constant_3_hrs_30_minutes,SOCIAL - Duration Constant: 3.5 hours,@((df.tour_category != 'joint')& (df.tour_type == 'social') & (df.duration==7)),coef_social_duration_constant_3_hrs_30_minutes -util_social_duration_constant_4_hours_or_more,SOCIAL - Duration Constant: 4 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>7)),coef_social_duration_constant_4_hours_or_more -util_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 4.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>8)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>8), np.minimum(df.duration-8,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear -util_social_calibration_constant_duration_1,SOCIAL - Calibration Constant - Duration = 1,@((df.tour_type == 'social') & (df.duration ==0)),coef_social_calibration_constant_duration_1 -util_social_calibration_constant_duration_2,SOCIAL - Calibration Constant - Duration = 2,@((df.tour_type == 'social') & (df.duration == 1)),coef_social_calibration_constant_duration_2 -util_social_calibration_constant_duration_3,SOCIAL - Calibration Constant - Duration = 3,@((df.tour_type == 'social') & (df.duration ==2)),coef_social_calibration_constant_duration_3 -util_social_calibration_constant_duration_4,SOCIAL - Calibration Constant - Duration = 4,@((df.tour_type == 'social') & (df.duration ==3)),coef_social_calibration_constant_duration_4 -util_social_calibration_constant_duration_5,SOCIAL - Calibration Constant - Duration = 5,@((df.tour_type == 'social') & (df.duration ==4)),coef_social_calibration_constant_duration_5 -util_social_calibration_constant_duration_6,SOCIAL - Calibration Constant - Duration = 6,@((df.tour_type == 'social') & (df.duration ==5)),coef_social_calibration_constant_duration_6 -util_social_calibration_constant_duration_7,SOCIAL - Calibration Constant - Duration = 7,@((df.tour_type == 'social') & (df.duration ==6)),coef_social_calibration_constant_duration_7 -util_social_calibration_constant_duration_8,SOCIAL - Calibration Constant - Duration = 8,@((df.tour_type == 'social') & (df.duration ==7)),coef_social_calibration_constant_duration_8 -util_social_calibration_constant_duration_9,SOCIAL - Calibration Constant - Duration = 9,@((df.tour_type == 'social') & (df.duration ==8)),coef_social_calibration_constant_duration_9 -#DISCRETIONARY,#DISCRETIONARY,,#DISCRETIONARY -util_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear -util_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear -util_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear -util_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear -util_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear -util_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear -util_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) & (df.tour_type == 'othdiscr') & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)),0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear -util_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear -"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, -util_discretionary_auto_distance_duration_less_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_less_than_1_hr_linear -util_discretionary_auto_distance_duration_greater_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_greater_than_1_hr_linear -util_discretionary_time_pressure_duration_less_than_1_hr,DISCRETIONARY - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3)), np.minimum(3-df.duration,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_discretionary_time_pressure_duration_less_than_1_hr -util_discretionary_time_pressure_duration_greater_than_1_hr,DISCRETIONARY - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3)), np.minimum(df.duration-3,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_discretionary_time_pressure_duration_greater_than_1_hr -util_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,DISCRETIONARY - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0))*(df.num_add_soc_discr_tours),0)",coef_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr -util_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear -util_discretionary_departure_constant_before_7_30_am,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.tour_type == 'othdiscr') & (df.start<10)),coef_discretionary_departure_constant_before_7_30_am -util_discretionary_departure_constant_7_30_am_to_8_am,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.tour_type == 'othdiscr') & (df.start==10)),coef_discretionary_departure_constant_7_30_am_to_8_am -util_discretionary_departure_constant_8_am_to_8_30_am,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.tour_type == 'othdiscr') & (df.start==11)),coef_discretionary_departure_constant_8_am_to_8_30_am -util_discretionary_departure_constant_8_30_am_to_9_am,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.tour_type == 'othdiscr') & (df.start==12)),coef_discretionary_departure_constant_8_30_am_to_9_am -util_discretionary_departure_constant_9_am_to_9_30_am,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.tour_type == 'othdiscr') & (df.start==13)),coef_discretionary_departure_constant_9_am_to_9_30_am -util_discretionary_departure_constant_9_30_am_to_10_am,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.tour_type == 'othdiscr') & (df.start==14)),coef_discretionary_departure_constant_9_30_am_to_10_am -util_discretionary_departure_constant_10_am_to_10_30_am,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.tour_type == 'othdiscr') & (df.start==15)),coef_discretionary_departure_constant_10_am_to_10_30_am -util_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear -util_discretionary_departure_constant_before_5_pm,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.tour_type == 'othdiscr') & (df.start<29)),coef_discretionary_departure_constant_before_5_pm -util_discretionary_departure_constant_5_pm_to_5_30_pm,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_departure_constant_5_pm_to_5_30_pm -util_discretionary_departure_constant_5_30_pm_to_6_pm,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_departure_constant_5_30_pm_to_6_pm -util_discretionary_departure_constant_6_pm_to_6_30_pm,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_departure_constant_6_pm_to_6_30_pm -util_discretionary_departure_constant_6_30_pm_to_7_pm,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_departure_constant_6_30_pm_to_7_pm -util_discretionary_departure_constant_after_7_pm,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start>32)),coef_discretionary_departure_constant_after_7_pm -util_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear -util_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear -util_discretionary_arrival_constant_before_6_30_pm,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.tour_type == 'othdiscr') & (df.end<32)),coef_discretionary_arrival_constant_before_6_30_pm -util_discretionary_arrival_constant_6_30_pm_to_7_pm,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_type == 'othdiscr') & (df.end==32)),coef_discretionary_arrival_constant_6_30_pm_to_7_pm -util_discretionary_arrival_constant_7_pm_to_7_30_pm,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_type == 'othdiscr') & (df.end==33)),coef_discretionary_arrival_constant_7_pm_to_7_30_pm -util_discretionary_arrival_constant_7_30_pm_to_8_pm,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_type == 'othdiscr') & (df.end==34)),coef_discretionary_arrival_constant_7_30_pm_to_8_pm -util_discretionary_arrival_constant_8_pm_to_8_30_pm,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_type == 'othdiscr') & (df.end==35)),coef_discretionary_arrival_constant_8_pm_to_8_30_pm -util_discretionary_arrival_constant_8_30_pm_to_9_pm,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end==36)),coef_discretionary_arrival_constant_8_30_pm_to_9_pm -util_discretionary_arrival_constant_after_9_pm,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end>36)),coef_discretionary_arrival_constant_after_9_pm -util_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear -util_discretionary_duration_constant_0_hour,DISCRETIONARY - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==0)),coef_discretionary_duration_constant_0_hour -util_discretionary_duration_constant_30_minutes,DISCRETIONARY -Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==1)),coef_discretionary_duration_constant_30_minutes -util_discretionary_duration_constant_1_hour,DISCRETIONARY -Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==2)),coef_discretionary_duration_constant_1_hour -util_discretionary_duration_constant_1_hr_30_minutes,DISCRETIONARY -Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_duration_constant_1_hr_30_minutes -util_discretionary_duration_constant_2_hours,DISCRETIONARY -Duration Constant: 2 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_duration_constant_2_hours -util_discretionary_duration_constant_2_hr_30_minutes,DISCRETIONARY -Duration Constant: 2.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==5)),coef_discretionary_duration_constant_2_hr_30_minutes -util_discretionary_duration_constant_3_hours_or_more,DISCRETIONARY -Duration Constant: 3 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>5)),coef_discretionary_duration_constant_3_hours_or_more -util_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,DISCRETIONARY -Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,47), 0)), 0)",coef_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear -util_discretionary_calibration_constant_duration_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_calibration_constant_duration_4 -util_discretionary_calibration_constant_duration_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_calibration_constant_duration_5 -util_discretionary_calibration_constant_departure_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_calibration_constant_departure_29 -util_discretionary_calibration_constant_departure_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_calibration_constant_departure_30 -util_discretionary_calibration_constant_departure_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_calibration_constant_departure_31 -util_discretionary_calibration_constant_departure_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_calibration_constant_departure_32 +Label,Description,Expression,Coefficient +# ESCORT,,, +util_escort_mode_choice_logsum,ESCORT - Mode Choice Logsum,"@np.where(df.tour_type == 'escort', df.mode_choice_logsum, 0) ",coef_escort_mode_choice_logsum +"#Note: In CTRAMP expressions, duration alternative is from 1 to 48 but in ActivitySim, it is from 0 to 47 since the duration alternative ID was calculated as (end - start). Therefore, duration in ActivitySim expression = CTRAMP duration expresssion - 1 ",,,# +util_escort_distance_to_destination_duration_less_than_30_minutes,ESCORT - Distance to destination - Duration less than 0.5 hour (depart and arrive in the same period),"@np.where(((df.tour_type == 'escort') & (df.duration<1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_distance_to_destination_duration_less_than_30_minutes +util_escort_distance_to_destination_duration_greater_than_30_minutes,ESCORT - Distance to destination - Duration greater than 0.5 hour,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_distance_to_destination_duration_greater_than_30_minutes +util_escort_fulltime_worker_departure_after_8_am_linear,ESCORT - Full-time worker - Departure after 8:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)),0)",coef_escort_fulltime_worker_departure_after_8_am_linear +"#Note: In CTRAMP expression file, the description below says departure is after 3 am but from the expression it seems that it would be 3 pm instead of 3 am",,, +util_escort_fulltime_worker_departure_after_3_am_linear,ESCORT - Full-time worker - Departure after 3:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_fulltime_worker_departure_after_3_am_linear +util_escort_fulltime_worker_duration_less_than_30_minutes,ESCORT - Full-time worker - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_fulltime_worker_duration_less_than_30_minutes +util_escort_fulltime_worker_duration_greater_than_30_minutes,ESCORT - Full-time worker - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_fulltime_worker_duration_greater_than_30_minutes +util_escort_university_student_duration_less_than_30_minutes,ESCORT - University student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 3) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_university_student_duration_less_than_30_minutes +util_escort_non_driving_age_student_duration_greater_than_30_minutes,ESCORT - Non-driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & ((df.ptype == 7)|(df.ptype == 8)) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_non_driving_age_student_duration_greater_than_30_minutes +util_escort_driving_age_student_duration_less_than_30_minutes,ESCORT - Driving age student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_driving_age_student_duration_less_than_30_minutes +util_escort_driving_age_student_duration_greater_than_30_minutes,ESCORT - Driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_driving_age_student_duration_greater_than_30_minutes +"#Note: In CTRAMP expression file, description says the expression below is for duration > 0.5 hr but the expression says duration < 0.5 hr",,, +util_escort_pre_school_kid_duration_greater_than_30_minutes,ESCORT - Pre-school kid - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 8) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_pre_school_kid_duration_greater_than_30_minutes +util_escort_med_high_income_duration_greater_than_30_minutes,ESCORT - Med-high income (60k to 120k) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_med_high_income_duration_greater_than_30_minutes +util_escort_households_with_no_kids_departure_before_7_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 7:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_households_with_no_kids_departure_before_7_30_am +util_escort_households_with_no_kids_departure_after_8_00_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_households_with_no_kids_departure_after_8_00_am +util_escort_households_with_no_kids_departure_before_2_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 2:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_households_with_no_kids_departure_before_2_30_pm +util_escort_households_with_no_kids_departure_after_3_00_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where ((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_households_with_no_kids_departure_after_3_00_pm +util_escort_households_with_no_kids_arrival_before_8_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_households_with_no_kids_arrival_before_8_am +util_escort_households_with_no_kids_arrival_after_8_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_households_with_no_kids_arrival_after_8_30_am +util_escort_households_with_no_kids_arrival_before_3_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_households_with_no_kids_arrival_before_3_pm +util_escort_households_with_no_kids_arrival_after_3_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_households_with_no_kids_arrival_after_3_30_pm +util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am +util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm +util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am,"ESCORT -Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am +util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm +util_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where ((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am +util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am +util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm +util_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes,ESCORT - Number of autos greater than number of adults - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes +util_escort_number_of_individual_tours_duration_greater_than_30_minutes,ESCORT -Number of Individual Tours (excluding escorting) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.num_non_escort_tours > 0) & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) * (df.num_non_escort_tours), 0)",coef_escort_number_of_individual_tours_duration_greater_than_30_minutes +util_escort_number_of_joint_tours_duration_greater_than_30_minutes,ESCORT - Number of joint tours - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) *(df.num_joint_tours), 0)",coef_escort_number_of_joint_tours_duration_greater_than_30_minutes +util_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes before 06:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start<8)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + np.where((df.start>13), np.minimum(df.start-13,28), 0)), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear +util_escort_departure_constant_before_7_am,ESCORT - Departure Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.start<9)),coef_escort_departure_constant_before_7_am +util_escort_departure_constant_7_am_to_7_30_am,ESCORT - Departure Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_departure_constant_7_am_to_7_30_am +util_escort_departure_constant_7_30_am_to_8_am,ESCORT - Departure Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_departure_constant_7_30_am_to_8_am +util_escort_departure_constant_8_am_to_8_30_am,ESCORT - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.start==11)),coef_escort_departure_constant_8_am_to_8_30_am +util_escort_departure_constant_8_30_am_to_9_am,ESCORT - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.start==12)),coef_escort_departure_constant_8_30_am_to_9_am +util_escort_departure_constant_after_9_am,ESCORT - Departure Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.start>12)),coef_escort_departure_constant_after_9_am +util_escort_departure_constant_1_30_pm_to_2_pm,ESCORT - Departure Constant: 01:30 PM - 02:00 PM,@((df.tour_type == 'escort') & (df.start==22)),coef_escort_departure_constant_1_30_pm_to_2_pm +util_escort_departure_constant_2_pm_to_2_30_pm,ESCORT - Departure Constant: 02:00 PM - 02:30 PM,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_departure_constant_2_pm_to_2_30_pm +util_escort_departure_constant_2_30_pm_to_3_pm,ESCORT - Departure Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_departure_constant_2_30_pm_to_3_pm +util_escort_departure_constant_3_pm_to_3_30_pm,ESCORT - Departure Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.start==25)),coef_escort_departure_constant_3_pm_to_3_30_pm +util_escort_departure_constant_after_3_30_pm,ESCORT - Departure Constant: After 03:30 PM,@((df.tour_type == 'escort') & (df.start>25)),coef_escort_departure_constant_after_3_30_pm +util_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>13)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + (np.where((df.start>13), np.minimum(df.start-13,28), 0))), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear +util_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 4:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>26)), (np.where((df.start<0), np.minimum(0-df.start,48), 0) + np.where((df.start>26), np.minimum(df.start-26,15),0)), 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear +util_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes before 6:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end<8)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear +util_escort_arrival_constant_before_7_am,ESCORT - Arrival Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.end<9)),coef_escort_arrival_constant_before_7_am +util_escort_arrival_constant_7_am_to_7_30_am,ESCORT - Arrival Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.end==9)),coef_escort_arrival_constant_7_am_to_7_30_am +util_escort_arrival_constant_7_30_am_to_8_am,ESCORT - Arrival Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.end==10)),coef_escort_arrival_constant_7_30_am_to_8_am +util_escort_arrival_constant_8_am_to_8_30_am,ESCORT - Arrival Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.end==11)),coef_escort_arrival_constant_8_am_to_8_30_am +util_escort_arrival_constant_8_30_am_to_9_am,ESCORT - Arrival Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.end==12)),coef_escort_arrival_constant_8_30_am_to_9_am +util_escort_arrival_constant_after_9_am,ESCORT - Arrival Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.end>12)),coef_escort_arrival_constant_after_9_am +util_escort_arrival_constant_2_30_pm_to_3_pm,ESCORT - Arrival Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.end==24)),coef_escort_arrival_constant_2_30_pm_to_3_pm +util_escort_arrival_constant_3_pm_to_3_30_pm,ESCORT - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.end==25)),coef_escort_arrival_constant_3_pm_to_3_30_pm +util_escort_arrival_constant_3_30_pm_to_4_pm,ESCORT - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'escort') & (df.end==26)),coef_escort_arrival_constant_3_30_pm_to_4_pm +util_escort_arrival_constant_4_pm_to_4_30_pm,ESCORT - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'escort') & (df.end==27)),coef_escort_arrival_constant_4_pm_to_4_30_pm +util_escort_arrival_constant_after_4_30_pm,ESCORT - Arrival Constant: After 04:30 PM,@((df.tour_type == 'escort') & (df.end>27)),coef_escort_arrival_constant_after_4_30_pm +util_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>13)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear +util_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>28)), (np.where((df.end<0), np.minimum(0-df.end,48), 0) + np.where((df.start>28), np.minimum(df.end-28,15), 0)), 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear +util_escort_duration_constant_0_hour,ESCORT - Duration Constant: 0 hr,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_duration_constant_0_hour +util_escort_duration_constant_30_minutes,ESCORT - Duration Constant: 0.5 hr,@((df.tour_type == 'escort') & (df.duration==1)),coef_escort_duration_constant_30_minutes +util_escort_duration_constant_1_hour,ESCORT - Duration Constant: 1 hr,@((df.tour_type == 'escort') & (df.duration==2)),coef_escort_duration_constant_1_hour +util_escort_duration_constant_1_hour_30_minutes,ESCORT - Duration Constant: 1.5hrs,@((df.tour_type == 'escort') & (df.duration==3)),coef_escort_duration_constant_1_hour_30_minutes +util_escort_duration_constant_2_hours,ESCORT - Duration Constant: 2 hrs,@((df.tour_type == 'escort') & (df.duration==4)),coef_escort_duration_constant_2_hours +util_escort_duration_constant_longer_than_2_hours,ESCORT - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'escort') & (df.duration>4)),coef_escort_duration_constant_longer_than_2_hours +util_escort_calibration_constant_duration_1,ESCORT - Calibration Constant - Duration = 1,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_calibration_constant_duration_1 +util_escort_calibration_constant_duration_2,ESCORT - Calibration Constant - Duration = 2,@(((df.tour_type == 'escort') & df.duration==1)),coef_escort_calibration_constant_duration_2 +util_escort_calibration_constant_departure_9,ESCORT - Calibration Constant - Departure = 9,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_calibration_constant_departure_9 +util_escort_calibration_constant_departure_10,ESCORT - Calibration Constant - Departure = 10,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_calibration_constant_departure_10 +util_escort_calibration_constant_departure_23,ESCORT - Calibration Constant - Departure = 23,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_calibration_constant_departure_23 +util_escort_calibration_constant_departure_24,ESCORT - Calibration Constant - Departure = 24,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_calibration_constant_departure_24 +#SHOPPING,,,#SHOPPING +util_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes +util_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Full-time worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes +util_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Non-driving Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes +util_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes,SHOPPING - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes +util_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes +util_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes +util_shopping_retired_duration_less_than_1_hour_30_minutes,SHOPPING - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_less_than_1_hour_30_minutes +util_shopping_retired_duration_greater_than_1_hour_30_minutes,SHOPPING - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_greater_than_1_hour_30_minutes +util_shopping_university_student_duration_greater_than_1_hour_30_minutes,SHOPPING - University Student: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_university_student_duration_greater_than_1_hour_30_minutes +util_shopping_female_duration_less_than_1_hour_30_minutes,SHOPPING - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_less_than_1_hour_30_minutes +util_shopping_female_duration_greater_than_1_hour_30_minutes,SHOPPING - Female: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_greater_than_1_hour_30_minutes +util_shopping_low_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_type == 'shopping') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_low_income_duration_greater_than_1_hour_30_minutes +util_shopping_medium_income_duration_less_than_1_hour_30_minutes,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_income_duration_less_than_1_hour_30_minutes +util_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes +util_shopping_distance_duration_less_than_1_hour_30_minutes,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_less_than_1_hour_30_minutes +util_shopping_distance_duration_greater_than_1_hour_30_minutes,SHOPPING - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_greater_than_1_hour_30_minutes +util_shopping_time_pressure_duration_greater_than_1_hour_30_minutes,SHOPPING - Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), np.minimum(df.duration-2,26) *(np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_shopping_time_pressure_duration_greater_than_1_hour_30_minutes +util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes +util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') &(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes +util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear +util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root +util_shopping_departure_constant_before_9_am,SHOPPING - Departure Constant: Before 09:00 AM,@((df.tour_type == 'shopping') & (df.start<13)),coef_shopping_departure_constant_before_9_am +util_shopping_departure_constant_9_am_to_9_30_am,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'shopping') & (df.start==13)),coef_shopping_departure_constant_9_am_to_9_30_am +util_shopping_departure_constant_9_30_am_to_10_am,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'shopping') & (df.start==14)),coef_shopping_departure_constant_9_30_am_to_10_am +util_shopping_departure_constant_10_am_to_10_30_am,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'shopping') & (df.start==15)),coef_shopping_departure_constant_10_am_to_10_30_am +util_shopping_departure_constant_10_30_am_to_11_00_am,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'shopping') & (df.start==16)),coef_shopping_departure_constant_10_30_am_to_11_00_am +util_shopping_departure_constant_after_11_am,SHOPPING - Departure Constant: After 11:00 AM,@((df.tour_type == 'shopping') & (df.start>16)),coef_shopping_departure_constant_after_11_am +util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear +util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared +util_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear +util_shopping_arrival_constant_before_12_30_pm,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.tour_type == 'shopping') & (df.end<20)),coef_shopping_arrival_constant_before_12_30_pm +util_shopping_arrival_constant_12_30_pm_to_3_pm,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@((df.tour_type == 'shopping') & ( df.end>=20) & (df.end<=24)),coef_shopping_arrival_constant_12_30_pm_to_3_pm +util_shopping_arrival_constant_3_pm_to_3_30_pm,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'shopping') & (df.end==25)),coef_shopping_arrival_constant_3_pm_to_3_30_pm +util_shopping_arrival_constant_3_30_pm_to_4_pm,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'shopping') & (df.end==26)),coef_shopping_arrival_constant_3_30_pm_to_4_pm +util_shopping_arrival_constant_4_pm_to_4_30_pm,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'shopping') & (df.end==27)),coef_shopping_arrival_constant_4_pm_to_4_30_pm +util_shopping_arrival_constant_4_30_pm_to_5_pm,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.tour_type == 'shopping') & (df.end==28)),coef_shopping_arrival_constant_4_30_pm_to_5_pm +util_shopping_arrival_constant_5_pm_to_5_30_pm,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'shopping') & (df.end==29)),coef_shopping_arrival_constant_5_pm_to_5_30_pm +util_shopping_arrival_constant_5_30_pm_to_7_pm,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.tour_type == 'shopping') & (df.end>=30) & (df.end<=32)),coef_shopping_arrival_constant_5_30_pm_to_7_pm +util_shopping_arrival_constant_7_pm_to_9_30_pm,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.tour_type == 'shopping') & (df.end>=33) & (df.end<=37)),coef_shopping_arrival_constant_7_pm_to_9_30_pm +util_shopping_arrival_constant_after_9_30_pm,SHOPPING - Arrival Constant: After 09:30 PM,@((df.tour_type == 'shopping') & (df.end>37)),coef_shopping_arrival_constant_after_9_30_pm +util_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear +util_shopping_duration_constant_0_hr,SHOPPING - Duration Constant: 0 hr,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_duration_constant_0_hr +util_shopping_duration_constant_30_minutes,SHOPPING - Duration Constant: 0.5 hr,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_duration_constant_30_minutes +util_shopping_duration_constant_1_hr,SHOPPING - Duration Constant: 1 hr,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_duration_constant_1_hr +util_shopping_duration_constant_1_hour_30_minutes,SHOPPING - Duration Constant: 1.5hrs,@(df.tour_type == 'shopping') & (df.duration==3),coef_shopping_duration_constant_1_hour_30_minutes +util_shopping_duration_constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.tour_type == 'shopping') & (df.duration==4)),coef_shopping_duration_constant_2_hrs +util_shopping_duration_constant_longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'shopping') & (df.duration>4)),coef_shopping_duration_constant_longer_than_2_hrs +util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear +util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root +util_shopping_calibration_constant_duration_1,SHOPPING - Calibration Constant - Duration = 1,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_calibration_constant_duration_1 +util_shopping_calibration_constant_duration_2,SHOPPING - Calibration Constant - Duration = 2,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_calibration_constant_duration_2 +util_shopping_calibration_constant_duration_3,SHOPPING - Calibration Constant - Duration = 3,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_calibration_constant_duration_3 +#MAINTENANCE,#MAINTENANCE,,#MAINTENANCE +util_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes +util_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Full-time worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes +util_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Non-driving Student: Duration > 1.5 hrs,"@np.where (((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes +util_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes,MAINTENANCE - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes +util_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes +util_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes +util_maintenance_retired_duration_less_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_less_than_1_hour_30_minutes +util_maintenance_retired_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_greater_than_1_hour_30_minutes +util_maintenance_university_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - University Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_university_student_duration_greater_than_1_hour_30_minutes +util_maintenance_female_duration_less_than_1_hour_30_minutes,MAINTENANCE - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_less_than_1_hour_30_minutes +util_maintenance_female_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Female: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_greater_than_1_hour_30_minutes +util_maintenance_low_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_low_income_duration_greater_than_1_hour_30_minutes +util_maintenance_medium_income_duration_less_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_less_than_1_hour_30_minutes +util_maintenance_medium_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_greater_than_1_hour_30_minutes +util_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes +util_maintenance_distance_duration_less_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_less_than_1_hour_30_minutes +util_maintenance_distance_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_greater_than_1_hour_30_minutes +util_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes,Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), np.minimum(df.duration-2,26) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes +util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes +util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes +util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear +util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root +util_maintenance_departure_constant_before_8_am,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.tour_type == 'othmaint') & (df.start<11)),coef_maintenance_departure_constant_before_8_am +util_maintenance_departure_constant_8_am_to_8_30_am,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'othmaint') & (df.start==11)),coef_maintenance_departure_constant_8_am_to_8_30_am +util_maintenance_departure_constant_8_30_am_to_9_00_am,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'othmaint') & (df.start==12)),coef_maintenance_departure_constant_8_30_am_to_9_00_am +util_maintenance_departure_constant_9_am_to_9_30_am,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'othmaint') & (df.start==13)),coef_maintenance_departure_constant_9_am_to_9_30_am +util_maintenance_departure_constant_9_30_am_to_10_am,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'othmaint') & (df.start==14)),coef_maintenance_departure_constant_9_30_am_to_10_am +util_maintenance_departure_constant_10_am_to_10_30_am,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'othmaint') & (df.start==15)),coef_maintenance_departure_constant_10_am_to_10_30_am +util_maintenance_departure_constant_10_30_am_to_11_am,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.start==16)),coef_maintenance_departure_constant_10_30_am_to_11_am +util_maintenance_departure_constant_after_11_am,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.tour_type == 'othmaint') & (df.start>16)),coef_maintenance_departure_constant_after_11_am +util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear +util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared +util_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear +util_maintenance_arrival_constant_before_10_30_am,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.tour_type == 'othmaint') & (df.end<16)),coef_maintenance_arrival_constant_before_10_30_am +util_maintenance_arrival_constant_10_30_am_to_11_am,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.end==16)),coef_maintenance_arrival_constant_10_30_am_to_11_am +util_maintenance_arrival_constant_11_am_to_11_30_am,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.tour_type == 'othmaint') & (df.end==17)),coef_maintenance_arrival_constant_11_am_to_11_30_am +util_maintenance_arrival_constant_11_30_am_to_1_30_pm,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.tour_type == 'othmaint') & (df.end>=18) & (df.end<=21)),coef_maintenance_arrival_constant_11_30_am_to_1_30_pm +util_maintenance_arrival_constant_1_30_pm_to_2_30_pm,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.tour_type == 'othmaint') & (df.end>=22) & (df.end<=23)),coef_maintenance_arrival_constant_1_30_pm_to_2_30_pm +util_maintenance_arrival_constant_2_30_pm_to_4_pm,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.tour_type == 'othmaint') & (df.end>=24) & (df.end<=26)),coef_maintenance_arrival_constant_2_30_pm_to_4_pm +util_maintenance_arrival_constant_4_pm_to_4_30_pm,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'othmaint') & (df.end==27)),coef_maintenance_arrival_constant_4_pm_to_4_30_pm +util_maintenance_arrival_constant_after_4_30_pm,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.tour_type == 'othmaint') & (df.end>27)),coef_maintenance_arrival_constant_after_4_30_pm +util_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear +util_maintenance_duration_constant_0_hr,MAINTENANCE - Duration Constant: 0 hr,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_duration_constant_0_hr +util_maintenance_duration_constant_30_minutes,MAINTENANCE - Duration Constant: 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_duration_constant_30_minutes +util_maintenance_duration_constant_longer_than_30_minutes,MAINTENANCE - Duration Constant: Longer than 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration>1)),coef_maintenance_duration_constant_longer_than_30_minutes +util_maintenance_duration_constant_duration_greater_than_1_hr_linear,MAINTENANCE - Duration Constant: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_linear +util_maintenance_duration_constant_duration_greater_than_1_hr_square_root,MAINTENANCE - Duration Constant: Duration > 1 hr - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_square_root +util_maintenance_calibration_constant_duration_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_calibration_constant_duration_1 +util_maintenance_calibration_constant_duration_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_calibration_constant_duration_2 +util_maintenance_calibration_constant_duration_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.tour_type == 'othmaint') & (df.duration==2)),coef_maintenance_calibration_constant_duration_3 +util_maintenance_calibration_constant_duration_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.tour_type == 'othmaint') & (df.duration==3)),coef_maintenance_calibration_constant_duration_4 +util_maintenance_calibration_constant_duration_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.tour_type == 'othmaint') & (df.duration==4)),coef_maintenance_calibration_constant_duration_5 +#EAT-OUT,#EAT-OUT,,#EAT-OUT +util_eatout_distance_to_destination_duration_less_than_1_hr,EAT-OUT - Distance to destination - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_less_than_1_hr +util_eatout_distance_to_destination_duration_greater_than_1_hr,EAT-OUT - Distance to destination - Duration > 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_greater_than_1_hr +util_eatout_low_income_duration_less_than_1_hr,EAT-OUT - Low income (<25000) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_low_income_duration_less_than_1_hr +util_eatout_medium_income_duration_less_than_1_hr,EAT-OUT - Medium (25k to 60k) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_medium_income_duration_less_than_1_hr +util_eatout_zeroauto_HH_duration_greater_than_1_hr,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.tour_type == 'eatout') & (df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_zeroauto_HH_duration_greater_than_1_hr +util_eatout_university_student_departure_after_7_pm_linear,EAT-OUT - University student - Departure after 7:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start>32) & (df.ptype == 3)), (np.where((df.start<=32), np.minimum(32-df.start,29), 0) + np.where((df.start>32), np.minimum(df.start-32,8), 0)), 0)",coef_eatout_university_student_departure_after_7_pm_linear +util_eatout_female_duration_less_than_1_hr,EAT-OUT - Female - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_less_than_1_hr +util_eatout_female_duration_greater_than_1_hr,EAT-OUT - Female - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_greater_than_1_hr +util_eatout_time_pressure_departure_before_6_30_pm,EAT-OUT - Time Pressure - Departure before 6:30 pm,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<32)), (np.minimum(32-df.start,29)) * (np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_departure_before_6_30_pm +util_eatout_time_pressure_duration_less_than_1_hr,EAT-OUT - Time Pressure - Duration < 1 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration<2)), np.minimum(2-df.duration,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_duration_less_than_1_hr +util_eatout_departure_constant_7_30_am_to_9_am,EAT-OUT - Departure Constant: 07:30 AM - 09:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>=10) & (df.start<=12)),coef_eatout_departure_constant_7_30_am_to_9_am +util_eatout_departure_constant_10_30_am_to_11_am,EAT-OUT - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==16)),coef_eatout_departure_constant_10_30_am_to_11_am +util_eatout_departure_constant_11_am_to_11_30_am,EAT-OUT - Departure Constant: 11:00 AM - 11:30 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==17)),coef_eatout_departure_constant_11_am_to_11_30_am +util_eatout_departure_constant_11_30_am_to_12_pm,EAT-OUT - Departure Constant: 11:30 AM - 12:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==18)),coef_eatout_departure_constant_11_30_am_to_12_pm +util_eatout_departure_constant_12_pm_to_12_30_pm,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start==19)),coef_eatout_departure_constant_12_pm_to_12_30_pm +util_eatout_departure_constant_12_30_pm_to_1_pm,EAT-OUT - Departure Constant: 12:30 PM - 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==20)),coef_eatout_departure_constant_12_30_pm_to_1_pm +util_eatout_departure_constant_1_pm_to_1_30_pm,EAT-OUT - Departure Constant: 01:00 PM - 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==21)),coef_eatout_departure_constant_1_pm_to_1_30_pm +util_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear +util_eatout_departure_constant_before_6_pm,EAT-OUT - Departure Constant: Before 06:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)),coef_eatout_departure_constant_before_6_pm +util_eatout_departure_constant_6_pm_to_6_30_pm,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==31)),coef_eatout_departure_constant_6_pm_to_6_30_pm +util_eatout_departure_constant_6_30_pm_to_7_pm,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==32)),coef_eatout_departure_constant_6_30_pm_to_7_pm +util_eatout_departure_constant_7_pm_to_7_30_pm,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==33)),coef_eatout_departure_constant_7_pm_to_7_30_pm +util_eatout_departure_constant_after_7_30_pm,EAT-OUT - Departure Constant: After 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>33)),coef_eatout_departure_constant_after_7_30_pm +util_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>34)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear +util_eatout_arrival_constant_9_30_am_to_11_am,EAT-OUT - Arrival Constant: 9:30 AM to 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>=14) & (df.end<=16)),coef_eatout_arrival_constant_9_30_am_to_11_am +util_eatout_arrival_constant_12_30_pm_to_1_pm,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==20)),coef_eatout_arrival_constant_12_30_pm_to_1_pm +util_eatout_arrival_constant_1_pm_to_1_30_pm,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==21)),coef_eatout_arrival_constant_1_pm_to_1_30_pm +util_eatout_arrival_constant_1_30_pm_to_2_pm,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==22)),coef_eatout_arrival_constant_1_30_pm_to_2_pm +util_eatout_arrival_constant_2_pm_to_2_30_pm,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==23)),coef_eatout_arrival_constant_2_pm_to_2_30_pm +util_eatout_arrival_constant_2_30_pm_to_3_pm,EAT-OUT - Arrival Constant: 02:30 PM to 03:00 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==24)),coef_eatout_arrival_constant_2_30_pm_to_3_pm +util_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<31)),coef_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear +util_eatout_arrival_constant_before_6_30_pm,EAT-OUT - Arrival Constant: Before 6:30 PM,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<32)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_before_6_30_pm +util_eatout_arrival_constant_6_30_pm_to_7_pm,EAT-OUT - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==32)),coef_eatout_arrival_constant_6_30_pm_to_7_pm +util_eatout_arrival_constant_7_pm_to_7_30_pm,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==33)),coef_eatout_arrival_constant_7_pm_to_7_30_pm +util_eatout_arrival_constant_7_30_pm_to_8_pm,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==34)),coef_eatout_arrival_constant_7_30_pm_to_8_pm +util_eatout_arrival_constant_8_pm_to_8_30_pm,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_category != 'joint') &(df.tour_type == 'eatout') & (df.end==35)),coef_eatout_arrival_constant_8_pm_to_8_30_pm +util_eatout_arrival_constant_8_30_pm_to_9_pm,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==36)),coef_eatout_arrival_constant_8_30_pm_to_9_pm +util_eatout_arrival_constant_after_9_pm,EAT-OUT - Arrival Constant: After 9:00 PM,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.end>36)),coef_eatout_arrival_constant_after_9_pm +util_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear +util_eatout_duration_constant_0_hour,EAT-OUT - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration==0)),coef_eatout_duration_constant_0_hour +util_eatout_duration_constant_30_minutes,EAT-OUT - Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_duration_constant_30_minutes +util_eatout_duration_constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==2)),coef_eatout_duration_constant_1_hour +util_eatout_duration_constant_1_hour_30_minutes,EAT-OUT - Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_duration_constant_1_hour_30_minutes +util_eatout_duration_constant_2_hours,EAT-OUT - Duration Constant: 2 hours,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.duration==4)),coef_eatout_duration_constant_2_hours +util_eatout_duration_constant_2_hour_30_minutes_or_more,EAT-OUT - Duration Constant: 2.5 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>4)),coef_eatout_duration_constant_2_hour_30_minutes_or_more +util_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,11), 0)), 0)",coef_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear +util_eatout_calibration_constant_duration_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_calibration_constant_duration_1 +util_eatout_calibration_constant_duration_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_calibration_constant_duration_2 +util_eatout_calibration_constant_duration_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_calibration_constant_duration_3 +util_eatout_calibration_constant_duration_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_calibration_constant_duration_4 +util_eatout_calibration_constant_departure_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.tour_type == 'eatout') & (df.start == 1)),coef_eatout_calibration_constant_departure_1 +util_eatout_calibration_constant_departure_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.tour_type == 'eatout') & (df.start == 2)),coef_eatout_calibration_constant_departure_2 +util_eatout_calibration_constant_departure_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.tour_type== 'eatout') & (df.start == 3)),coef_eatout_calibration_constant_departure_3 +util_eatout_calibration_constant_departure_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.tour_type == 'eatout') & (df.start ==17)),coef_eatout_calibration_constant_departure_17 +util_eatout_calibration_constant_departure_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.tour_type== 'eatout') & (df.start ==18)),coef_eatout_calibration_constant_departure_18 +util_eatout_calibration_constant_departure_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.tour_type == 'eatout') & (df.start ==19)),coef_eatout_calibration_constant_departure_19 +util_eatout_calibration_constant_departure_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.tour_type == 'eatout') & (df.start ==20)),coef_eatout_calibration_constant_departure_20 +util_eatout_calibration_constant_departure_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.tour_type == 'eatout') & (df.start ==21)),coef_eatout_calibration_constant_departure_21 +#SOCIAL,#SOCIAL,,#SOCIAL +util_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear +util_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear +util_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear +util_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear +util_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear +util_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear +util_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear +util_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear +"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, +util_social_auto_distance_duration_less_than_1_hr_linear,SOCIAL - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0) * (df.origin_to_destination_distance)",coef_social_auto_distance_duration_less_than_1_hr_linear +util_social_auto_distance_duration_greater_than_1_hr_linear,SOCIAL - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0) * (df.origin_to_destination_distance) ",coef_social_auto_distance_duration_greater_than_1_hr_linear +util_social_time_pressure_duration_less_than_1_hr,SOCIAL - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), np.minimum(3-df.duration,47), 0)* (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_less_than_1_hr +util_social_time_pressure_duration_greater_than_1_hr,SOCIAL - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3)), np.minimum(df.duration-3,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_greater_than_1_hr +util_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,SOCIAL - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.num_add_soc_discr_tours), 0)",coef_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr +util_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@(df.tour_type == 'social') & (df.start<12) * ((np.minimum(12-df.start,48)*(df.start<48)) + (np.minimum(df.start-48,48)*(df.start>48)))",coef_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear +util_social_departure_constant_before_9_am,SOCIAL - Departure Constant: Before 09:00 AM,@(df.tour_type == 'social') & (df.start<13),coef_social_departure_constant_before_9_am +util_social_departure_constant_9_am_to_9_30_am,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.tour_type == 'social') & (df.start==13),coef_social_departure_constant_9_am_to_9_30_am +util_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear +util_social_departure_constant_before_5_30_pm,SOCIAL - Departure Constant: Before 05:30 PM,@((df.tour_type == 'social') & (df.start<30)),coef_social_departure_constant_before_5_30_pm +util_social_departure_constant_5_30_pm_to_6_pm,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'social') & (df.start==30)),coef_social_departure_constant_5_30_pm_to_6_pm +util_social_departure_constant_6_pm_to_6_30_pm,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'social') & (df.start==31)),coef_social_departure_constant_6_pm_to_6_30_pm +util_social_departure_constant_6_30_pm_to_7_pm,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'social') & (df.start==32)),coef_social_departure_constant_6_30_pm_to_7_pm +util_social_departure_constant_7_pm_to_7_30_pm,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_type == 'social') & (df.start==33)),coef_social_departure_constant_7_pm_to_7_30_pm +util_social_departure_constant_after_7_30_pm,SOCIAL - Departure Constant: After 07:30 PM,@((df.tour_type == 'social') & (df.start>33)),coef_social_departure_constant_after_7_30_pm +util_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear +util_social_arrival_constant_3_pm_to_3_30_pm,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.tour_type == 'social') & (df.end==25)),coef_social_arrival_constant_3_pm_to_3_30_pm +util_social_arrival_constant_3_30_pm_to_4_pm,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.tour_type == 'social') & (df.end==26)),coef_social_arrival_constant_3_30_pm_to_4_pm +util_social_arrival_constant_4_pm_to_4_30_pm,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.tour_type == 'social') & (df.end==27)),coef_social_arrival_constant_4_pm_to_4_30_pm +util_social_arrival_constant_5_pm_to_6_pm,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.tour_type == 'social') & (df.end>=29) & (df.end<=30)),coef_social_arrival_constant_5_pm_to_6_pm +util_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear +util_social_arrival_constant_before_8_30_pm,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.tour_type == 'social') & (df.end<36)),coef_social_arrival_constant_before_8_30_pm +util_social_arrival_constant_8_30_pm_to_9_pm,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'social') & (df.end==36)),coef_social_arrival_constant_8_30_pm_to_9_pm +util_social_arrival_constant_9_pm_to_9_30_pm,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.tour_type == 'social') & (df.end==37)),coef_social_arrival_constant_9_pm_to_9_30_pm +util_social_arrival_constant_9_30_pm_to_10_pm,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.tour_type == 'social') & (df.end==38)),coef_social_arrival_constant_9_30_pm_to_10_pm +util_social_arrival_constant_10_pm_to_10_30_pm,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.tour_type == 'social') & (df.end==39)),coef_social_arrival_constant_10_pm_to_10_30_pm +util_social_arrival_constant_after_10_30_pm,SOCIAL - Arrival Constant: After 10:30 PM,@((df.tour_type == 'social') & (df.end>39)),coef_social_arrival_constant_after_10_30_pm +util_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear +util_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 2.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<5)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>7), np.minimum(df.duration-7,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear +util_social_duration_constant_less_than_3_hours,SOCIAL - Duration Constant: Less than 3 hrs,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<6)),coef_social_duration_constant_less_than_3_hours +util_social_duration_constant_3_hours,SOCIAL - Duration Constant: 3 hours,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration==6)),coef_social_duration_constant_3_hours +util_social_duration_constant_3_hrs_30_minutes,SOCIAL - Duration Constant: 3.5 hours,@((df.tour_category != 'joint')& (df.tour_type == 'social') & (df.duration==7)),coef_social_duration_constant_3_hrs_30_minutes +util_social_duration_constant_4_hours_or_more,SOCIAL - Duration Constant: 4 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>7)),coef_social_duration_constant_4_hours_or_more +util_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 4.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>8)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>8), np.minimum(df.duration-8,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear +util_social_calibration_constant_duration_1,SOCIAL - Calibration Constant - Duration = 1,@((df.tour_type == 'social') & (df.duration ==0)),coef_social_calibration_constant_duration_1 +util_social_calibration_constant_duration_2,SOCIAL - Calibration Constant - Duration = 2,@((df.tour_type == 'social') & (df.duration == 1)),coef_social_calibration_constant_duration_2 +util_social_calibration_constant_duration_3,SOCIAL - Calibration Constant - Duration = 3,@((df.tour_type == 'social') & (df.duration ==2)),coef_social_calibration_constant_duration_3 +util_social_calibration_constant_duration_4,SOCIAL - Calibration Constant - Duration = 4,@((df.tour_type == 'social') & (df.duration ==3)),coef_social_calibration_constant_duration_4 +util_social_calibration_constant_duration_5,SOCIAL - Calibration Constant - Duration = 5,@((df.tour_type == 'social') & (df.duration ==4)),coef_social_calibration_constant_duration_5 +util_social_calibration_constant_duration_6,SOCIAL - Calibration Constant - Duration = 6,@((df.tour_type == 'social') & (df.duration ==5)),coef_social_calibration_constant_duration_6 +util_social_calibration_constant_duration_7,SOCIAL - Calibration Constant - Duration = 7,@((df.tour_type == 'social') & (df.duration ==6)),coef_social_calibration_constant_duration_7 +util_social_calibration_constant_duration_8,SOCIAL - Calibration Constant - Duration = 8,@((df.tour_type == 'social') & (df.duration ==7)),coef_social_calibration_constant_duration_8 +util_social_calibration_constant_duration_9,SOCIAL - Calibration Constant - Duration = 9,@((df.tour_type == 'social') & (df.duration ==8)),coef_social_calibration_constant_duration_9 +#DISCRETIONARY,#DISCRETIONARY,,#DISCRETIONARY +util_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear +util_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear +util_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear +util_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear +util_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear +util_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear +util_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) & (df.tour_type == 'othdiscr') & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)),0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear +util_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear +"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, +util_discretionary_auto_distance_duration_less_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_less_than_1_hr_linear +util_discretionary_auto_distance_duration_greater_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_greater_than_1_hr_linear +util_discretionary_time_pressure_duration_less_than_1_hr,DISCRETIONARY - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3)), np.minimum(3-df.duration,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_discretionary_time_pressure_duration_less_than_1_hr +util_discretionary_time_pressure_duration_greater_than_1_hr,DISCRETIONARY - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3)), np.minimum(df.duration-3,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_discretionary_time_pressure_duration_greater_than_1_hr +util_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,DISCRETIONARY - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0))*(df.num_add_soc_discr_tours),0)",coef_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr +util_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear +util_discretionary_departure_constant_before_7_30_am,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.tour_type == 'othdiscr') & (df.start<10)),coef_discretionary_departure_constant_before_7_30_am +util_discretionary_departure_constant_7_30_am_to_8_am,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.tour_type == 'othdiscr') & (df.start==10)),coef_discretionary_departure_constant_7_30_am_to_8_am +util_discretionary_departure_constant_8_am_to_8_30_am,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.tour_type == 'othdiscr') & (df.start==11)),coef_discretionary_departure_constant_8_am_to_8_30_am +util_discretionary_departure_constant_8_30_am_to_9_am,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.tour_type == 'othdiscr') & (df.start==12)),coef_discretionary_departure_constant_8_30_am_to_9_am +util_discretionary_departure_constant_9_am_to_9_30_am,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.tour_type == 'othdiscr') & (df.start==13)),coef_discretionary_departure_constant_9_am_to_9_30_am +util_discretionary_departure_constant_9_30_am_to_10_am,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.tour_type == 'othdiscr') & (df.start==14)),coef_discretionary_departure_constant_9_30_am_to_10_am +util_discretionary_departure_constant_10_am_to_10_30_am,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.tour_type == 'othdiscr') & (df.start==15)),coef_discretionary_departure_constant_10_am_to_10_30_am +util_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear +util_discretionary_departure_constant_before_5_pm,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.tour_type == 'othdiscr') & (df.start<29)),coef_discretionary_departure_constant_before_5_pm +util_discretionary_departure_constant_5_pm_to_5_30_pm,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_departure_constant_5_pm_to_5_30_pm +util_discretionary_departure_constant_5_30_pm_to_6_pm,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_departure_constant_5_30_pm_to_6_pm +util_discretionary_departure_constant_6_pm_to_6_30_pm,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_departure_constant_6_pm_to_6_30_pm +util_discretionary_departure_constant_6_30_pm_to_7_pm,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_departure_constant_6_30_pm_to_7_pm +util_discretionary_departure_constant_after_7_pm,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start>32)),coef_discretionary_departure_constant_after_7_pm +util_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear +util_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear +util_discretionary_arrival_constant_before_6_30_pm,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.tour_type == 'othdiscr') & (df.end<32)),coef_discretionary_arrival_constant_before_6_30_pm +util_discretionary_arrival_constant_6_30_pm_to_7_pm,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_type == 'othdiscr') & (df.end==32)),coef_discretionary_arrival_constant_6_30_pm_to_7_pm +util_discretionary_arrival_constant_7_pm_to_7_30_pm,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_type == 'othdiscr') & (df.end==33)),coef_discretionary_arrival_constant_7_pm_to_7_30_pm +util_discretionary_arrival_constant_7_30_pm_to_8_pm,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_type == 'othdiscr') & (df.end==34)),coef_discretionary_arrival_constant_7_30_pm_to_8_pm +util_discretionary_arrival_constant_8_pm_to_8_30_pm,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_type == 'othdiscr') & (df.end==35)),coef_discretionary_arrival_constant_8_pm_to_8_30_pm +util_discretionary_arrival_constant_8_30_pm_to_9_pm,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end==36)),coef_discretionary_arrival_constant_8_30_pm_to_9_pm +util_discretionary_arrival_constant_after_9_pm,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end>36)),coef_discretionary_arrival_constant_after_9_pm +util_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear +util_discretionary_duration_constant_0_hour,DISCRETIONARY - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==0)),coef_discretionary_duration_constant_0_hour +util_discretionary_duration_constant_30_minutes,DISCRETIONARY -Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==1)),coef_discretionary_duration_constant_30_minutes +util_discretionary_duration_constant_1_hour,DISCRETIONARY -Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==2)),coef_discretionary_duration_constant_1_hour +util_discretionary_duration_constant_1_hr_30_minutes,DISCRETIONARY -Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_duration_constant_1_hr_30_minutes +util_discretionary_duration_constant_2_hours,DISCRETIONARY -Duration Constant: 2 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_duration_constant_2_hours +util_discretionary_duration_constant_2_hr_30_minutes,DISCRETIONARY -Duration Constant: 2.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==5)),coef_discretionary_duration_constant_2_hr_30_minutes +util_discretionary_duration_constant_3_hours_or_more,DISCRETIONARY -Duration Constant: 3 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>5)),coef_discretionary_duration_constant_3_hours_or_more +util_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,DISCRETIONARY -Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,47), 0)), 0)",coef_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear +util_discretionary_calibration_constant_duration_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_calibration_constant_duration_4 +util_discretionary_calibration_constant_duration_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_calibration_constant_duration_5 +util_discretionary_calibration_constant_departure_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_calibration_constant_departure_29 +util_discretionary_calibration_constant_departure_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_calibration_constant_departure_30 +util_discretionary_calibration_constant_departure_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_calibration_constant_departure_31 +util_discretionary_calibration_constant_departure_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_calibration_constant_departure_32 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shift_out.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shift_out.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shift_out.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shift_out.csv index 5d760c2c38..93b77cbe45 100755 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shift_out.csv +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shift_out.csv @@ -1,348 +1,348 @@ -Label,Description,Expression,Coefficient -# ESCORT,,, -util_escort_mode_choice_logsum,ESCORT - Mode Choice Logsum,"@np.where(df.tour_type == 'escort', df.mode_choice_logsum, 0) ",coef_escort_mode_choice_logsum -"#Note: In CTRAMP expressions, duration alternative is from 1 to 48 but in ActivitySim, it is from 0 to 47 since the duration alternative ID was calculated as (end - start). Therefore, duration in ActivitySim expression = CTRAMP duration expresssion - 1 ",,,# -util_escort_distance_to_destination_duration_less_than_30_minutes,ESCORT - Distance to destination - Duration less than 0.5 hour (depart and arrive in the same period),"@np.where(((df.tour_type == 'escort') & (df.duration<1)), ((df.origin_to_destination_distance) * df.durationShift_escort), 0)",coef_escort_distance_to_destination_duration_less_than_30_minutes -util_escort_distance_to_destination_duration_greater_than_30_minutes,ESCORT - Distance to destination - Duration greater than 0.5 hour,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), ((df.origin_to_destination_distance) * df.durationShift_escort), 0)",coef_escort_distance_to_destination_duration_greater_than_30_minutes -util_escort_fulltime_worker_departure_after_8_am_linear,ESCORT - Full-time worker - Departure after 8:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>10)), df.departureLinearShift1_escort,0)",coef_escort_fulltime_worker_departure_after_8_am_linear -"#Note: In CTRAMP expression file, the description below says departure is after 3 am but from the expression it seems that it would be 3 pm instead of 3 am",,, -util_escort_fulltime_worker_departure_after_3_am_linear,ESCORT - Full-time worker - Departure after 3:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>24)), df.departureLinearShift2_escort, 0)",coef_escort_fulltime_worker_departure_after_3_am_linear -util_escort_fulltime_worker_duration_less_than_30_minutes,ESCORT - Full-time worker - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration<1)), df.durationShift_escort, 0)",coef_escort_fulltime_worker_duration_less_than_30_minutes -util_escort_fulltime_worker_duration_greater_than_30_minutes,ESCORT - Full-time worker - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration>1)), df.durationShift_escort, 0)",coef_escort_fulltime_worker_duration_greater_than_30_minutes -util_escort_university_student_duration_less_than_30_minutes,ESCORT - University student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 3) & (df.duration<1)), df.durationShift_escort, 0)",coef_escort_university_student_duration_less_than_30_minutes -util_escort_non_driving_age_student_duration_greater_than_30_minutes,ESCORT - Non-driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & ((df.ptype == 7)|(df.ptype == 8)) & (df.duration>1)), df.durationShift_escort, 0)",coef_escort_non_driving_age_student_duration_greater_than_30_minutes -util_escort_driving_age_student_duration_less_than_30_minutes,ESCORT - Driving age student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration<1)), df.durationShift_escort, 0)",coef_escort_driving_age_student_duration_less_than_30_minutes -util_escort_driving_age_student_duration_greater_than_30_minutes,ESCORT - Driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration>1)), df.durationShift_escort, 0)",coef_escort_driving_age_student_duration_greater_than_30_minutes -"#Note: In CTRAMP expression file, description says the expression below is for duration > 0.5 hr but the expression says duration < 0.5 hr",,, -util_escort_pre_school_kid_duration_greater_than_30_minutes,ESCORT - Pre-school kid - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 8) & (df.duration<1)), df.durationShift_escort, 0)",coef_escort_pre_school_kid_duration_greater_than_30_minutes -util_escort_med_high_income_duration_greater_than_30_minutes,ESCORT - Med-high income (60k to 120k) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.is_income_60K_to_120K) & (df.duration>1)), df.durationShift_escort, 0)",coef_escort_med_high_income_duration_greater_than_30_minutes -util_escort_households_with_no_kids_departure_before_7_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 7:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<10)), df.departureLinearShift1_escort, 0)",coef_escort_households_with_no_kids_departure_before_7_30_am -util_escort_households_with_no_kids_departure_after_8_00_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>10)), df.departureLinearShift1_escort, 0)",coef_escort_households_with_no_kids_departure_after_8_00_am -util_escort_households_with_no_kids_departure_before_2_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 2:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<24)), df.departureLinearShift2_escort, 0)",coef_escort_households_with_no_kids_departure_before_2_30_pm -util_escort_households_with_no_kids_departure_after_3_00_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>24)), df.departureLinearShift2_escort, 0)",coef_escort_households_with_no_kids_departure_after_3_00_pm -util_escort_households_with_no_kids_arrival_before_8_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<11)), df.arrivalLinearShift1_escort, 0)",coef_escort_households_with_no_kids_arrival_before_8_am -util_escort_households_with_no_kids_arrival_after_8_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>11)), df.arrivalLinearShift1_escort, 0)",coef_escort_households_with_no_kids_arrival_after_8_30_am -util_escort_households_with_no_kids_arrival_before_3_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<25)), df.arrivalLinearShift2_escort, 0)",coef_escort_households_with_no_kids_arrival_before_3_pm -util_escort_households_with_no_kids_arrival_after_3_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>25)), df.arrivalLinearShift2_escort, 0)",coef_escort_households_with_no_kids_arrival_after_3_30_pm -util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>10)), df.departureLinearShift1_escort, 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am -util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>24)), df.departureLinearShift2_escort, 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm -util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am,"ESCORT -Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<11)), df.arrivalLinearShift1_escort, 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am -util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<25)), df.arrivalLinearShift2_escort, 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm -util_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.start>10)), df.departureLinearShift1_escort, 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am -util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>11)), df.arrivalLinearShift1_escort, 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am -util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>25)), df.arrivalLinearShift2_escort, 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm -util_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes,ESCORT - Number of autos greater than number of adults - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>1)), df.durationShift_escort, 0)",coef_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes -util_escort_number_of_individual_tours_duration_greater_than_30_minutes,ESCORT -Number of Individual Tours (excluding escorting) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.num_non_escort_tours > 0) & (df.duration>1)), df.durationShift_escort*df.num_non_escort_tours, 0)",coef_escort_number_of_individual_tours_duration_greater_than_30_minutes -util_escort_number_of_joint_tours_duration_greater_than_30_minutes,ESCORT - Number of joint tours - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), df.durationShift_escort *(df.num_joint_tours), 0)",coef_escort_number_of_joint_tours_duration_greater_than_30_minutes -util_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes before 06:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start<8)), df.depConstShift1_escort, 0)",coef_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear -util_escort_departure_constant_before_7_am,ESCORT - Departure Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.start<9)),coef_escort_departure_constant_before_7_am -util_escort_departure_constant_7_am_to_7_30_am,ESCORT - Departure Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_departure_constant_7_am_to_7_30_am -util_escort_departure_constant_7_30_am_to_8_am,ESCORT - Departure Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_departure_constant_7_30_am_to_8_am -util_escort_departure_constant_8_am_to_8_30_am,ESCORT - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.start==11)),coef_escort_departure_constant_8_am_to_8_30_am -util_escort_departure_constant_8_30_am_to_9_am,ESCORT - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.start==12)),coef_escort_departure_constant_8_30_am_to_9_am -util_escort_departure_constant_after_9_am,ESCORT - Departure Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.start>12)),coef_escort_departure_constant_after_9_am -util_escort_departure_constant_1_30_pm_to_2_pm,ESCORT - Departure Constant: 01:30 PM - 02:00 PM,@((df.tour_type == 'escort') & (df.start==22)),coef_escort_departure_constant_1_30_pm_to_2_pm -util_escort_departure_constant_2_pm_to_2_30_pm,ESCORT - Departure Constant: 02:00 PM - 02:30 PM,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_departure_constant_2_pm_to_2_30_pm -util_escort_departure_constant_2_30_pm_to_3_pm,ESCORT - Departure Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_departure_constant_2_30_pm_to_3_pm -util_escort_departure_constant_3_pm_to_3_30_pm,ESCORT - Departure Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.start==25)),coef_escort_departure_constant_3_pm_to_3_30_pm -util_escort_departure_constant_after_3_30_pm,ESCORT - Departure Constant: After 03:30 PM,@((df.tour_type == 'escort') & (df.start>25)),coef_escort_departure_constant_after_3_30_pm -util_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>13)), df.depConstShift1_escort, 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear -util_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 4:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>26)), df.depConstShift2_escort, 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear -util_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes before 6:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end<8)), df.arrConstShift1_escort, 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear -util_escort_arrival_constant_before_7_am,ESCORT - Arrival Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.end<9)),coef_escort_arrival_constant_before_7_am -util_escort_arrival_constant_7_am_to_7_30_am,ESCORT - Arrival Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.end==9)),coef_escort_arrival_constant_7_am_to_7_30_am -util_escort_arrival_constant_7_30_am_to_8_am,ESCORT - Arrival Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.end==10)),coef_escort_arrival_constant_7_30_am_to_8_am -util_escort_arrival_constant_8_am_to_8_30_am,ESCORT - Arrival Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.end==11)),coef_escort_arrival_constant_8_am_to_8_30_am -util_escort_arrival_constant_8_30_am_to_9_am,ESCORT - Arrival Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.end==12)),coef_escort_arrival_constant_8_30_am_to_9_am -util_escort_arrival_constant_after_9_am,ESCORT - Arrival Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.end>12)),coef_escort_arrival_constant_after_9_am -util_escort_arrival_constant_2_30_pm_to_3_pm,ESCORT - Arrival Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.end==24)),coef_escort_arrival_constant_2_30_pm_to_3_pm -util_escort_arrival_constant_3_pm_to_3_30_pm,ESCORT - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.end==25)),coef_escort_arrival_constant_3_pm_to_3_30_pm -util_escort_arrival_constant_3_30_pm_to_4_pm,ESCORT - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'escort') & (df.end==26)),coef_escort_arrival_constant_3_30_pm_to_4_pm -util_escort_arrival_constant_4_pm_to_4_30_pm,ESCORT - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'escort') & (df.end==27)),coef_escort_arrival_constant_4_pm_to_4_30_pm -util_escort_arrival_constant_after_4_30_pm,ESCORT - Arrival Constant: After 04:30 PM,@((df.tour_type == 'escort') & (df.end>27)),coef_escort_arrival_constant_after_4_30_pm -util_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>13)), df.arrConstShift1_escort, 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear -util_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>28)), df.arrConstShift2_escort, 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear -util_escort_duration_constant_0_hour,ESCORT - Duration Constant: 0 hr,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_duration_constant_0_hour -util_escort_duration_constant_30_minutes,ESCORT - Duration Constant: 0.5 hr,@((df.tour_type == 'escort') & (df.duration==1)),coef_escort_duration_constant_30_minutes -util_escort_duration_constant_1_hour,ESCORT - Duration Constant: 1 hr,@((df.tour_type == 'escort') & (df.duration==2)),coef_escort_duration_constant_1_hour -util_escort_duration_constant_1_hour_30_minutes,ESCORT - Duration Constant: 1.5hrs,@((df.tour_type == 'escort') & (df.duration==3)),coef_escort_duration_constant_1_hour_30_minutes -util_escort_duration_constant_2_hours,ESCORT - Duration Constant: 2 hrs,@((df.tour_type == 'escort') & (df.duration==4)),coef_escort_duration_constant_2_hours -util_escort_duration_constant_longer_than_2_hours,ESCORT - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'escort') & (df.duration>4)),coef_escort_duration_constant_longer_than_2_hours -util_escort_calibration_constant_duration_1,ESCORT - Calibration Constant - Duration = 1,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_calibration_constant_duration_1 -util_escort_calibration_constant_duration_2,ESCORT - Calibration Constant - Duration = 2,@(((df.tour_type == 'escort') & df.duration==1)),coef_escort_calibration_constant_duration_2 -util_escort_calibration_constant_departure_9,ESCORT - Calibration Constant - Departure = 9,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_calibration_constant_departure_9 -util_escort_calibration_constant_departure_10,ESCORT - Calibration Constant - Departure = 10,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_calibration_constant_departure_10 -util_escort_calibration_constant_departure_23,ESCORT - Calibration Constant - Departure = 23,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_calibration_constant_departure_23 -util_escort_calibration_constant_departure_24,,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_calibration_constant_departure_24 -#SHOPPING,ESCORT - Calibration Constant - Departure = 24,,#SHOPPING -util_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes -util_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Full-time worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes -util_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Non-driving Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes -util_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes,SHOPPING - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes -util_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes -util_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes -util_shopping_retired_duration_less_than_1_hour_30_minutes,SHOPPING - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_less_than_1_hour_30_minutes -util_shopping_retired_duration_greater_than_1_hour_30_minutes,SHOPPING - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_greater_than_1_hour_30_minutes -util_shopping_university_student_duration_greater_than_1_hour_30_minutes,SHOPPING - University Student: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_university_student_duration_greater_than_1_hour_30_minutes -util_shopping_female_duration_less_than_1_hour_30_minutes,SHOPPING - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_less_than_1_hour_30_minutes -util_shopping_female_duration_greater_than_1_hour_30_minutes,SHOPPING - Female: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_greater_than_1_hour_30_minutes -util_shopping_low_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_type == 'shopping') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_low_income_duration_greater_than_1_hour_30_minutes -util_shopping_medium_income_duration_less_than_1_hour_30_minutes,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_income_duration_less_than_1_hour_30_minutes -util_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes -util_shopping_distance_duration_less_than_1_hour_30_minutes,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_less_than_1_hour_30_minutes -util_shopping_distance_duration_greater_than_1_hour_30_minutes,SHOPPING - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_greater_than_1_hour_30_minutes -util_shopping_time_pressure_duration_greater_than_1_hour_30_minutes,SHOPPING - Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), np.minimum(df.duration-2,26) *(np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_shopping_time_pressure_duration_greater_than_1_hour_30_minutes -util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes -util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') &(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes -util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear -util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root -util_shopping_departure_constant_before_9_am,SHOPPING - Departure Constant: Before 09:00 AM,@((df.tour_type == 'shopping') & (df.start<13)),coef_shopping_departure_constant_before_9_am -util_shopping_departure_constant_9_am_to_9_30_am,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'shopping') & (df.start==13)),coef_shopping_departure_constant_9_am_to_9_30_am -util_shopping_departure_constant_9_30_am_to_10_am,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'shopping') & (df.start==14)),coef_shopping_departure_constant_9_30_am_to_10_am -util_shopping_departure_constant_10_am_to_10_30_am,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'shopping') & (df.start==15)),coef_shopping_departure_constant_10_am_to_10_30_am -util_shopping_departure_constant_10_30_am_to_11_00_am,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'shopping') & (df.start==16)),coef_shopping_departure_constant_10_30_am_to_11_00_am -util_shopping_departure_constant_after_11_am,SHOPPING - Departure Constant: After 11:00 AM,@((df.tour_type == 'shopping') & (df.start>16)),coef_shopping_departure_constant_after_11_am -util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear -util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared -util_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear -util_shopping_arrival_constant_before_12_30_pm,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.tour_type == 'shopping') & (df.end<20)),coef_shopping_arrival_constant_before_12_30_pm -util_shopping_arrival_constant_12_30_pm_to_3_pm,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@((df.tour_type == 'shopping') & ( df.end>=20) & (df.end<=24)),coef_shopping_arrival_constant_12_30_pm_to_3_pm -util_shopping_arrival_constant_3_pm_to_3_30_pm,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'shopping') & (df.end==25)),coef_shopping_arrival_constant_3_pm_to_3_30_pm -util_shopping_arrival_constant_3_30_pm_to_4_pm,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'shopping') & (df.end==26)),coef_shopping_arrival_constant_3_30_pm_to_4_pm -util_shopping_arrival_constant_4_pm_to_4_30_pm,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'shopping') & (df.end==27)),coef_shopping_arrival_constant_4_pm_to_4_30_pm -util_shopping_arrival_constant_4_30_pm_to_5_pm,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.tour_type == 'shopping') & (df.end==28)),coef_shopping_arrival_constant_4_30_pm_to_5_pm -util_shopping_arrival_constant_5_pm_to_5_30_pm,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'shopping') & (df.end==29)),coef_shopping_arrival_constant_5_pm_to_5_30_pm -util_shopping_arrival_constant_5_30_pm_to_7_pm,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.tour_type == 'shopping') & (df.end>=30) & (df.end<=32)),coef_shopping_arrival_constant_5_30_pm_to_7_pm -util_shopping_arrival_constant_7_pm_to_9_30_pm,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.tour_type == 'shopping') & (df.end>=33) & (df.end<=37)),coef_shopping_arrival_constant_7_pm_to_9_30_pm -util_shopping_arrival_constant_after_9_30_pm,SHOPPING - Arrival Constant: After 09:30 PM,@((df.tour_type == 'shopping') & (df.end>37)),coef_shopping_arrival_constant_after_9_30_pm -util_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear -util_shopping_duration_constant_0_hr,SHOPPING - Duration Constant: 0 hr,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_duration_constant_0_hr -util_shopping_duration_constant_30_minutes,SHOPPING - Duration Constant: 0.5 hr,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_duration_constant_30_minutes -util_shopping_duration_constant_1_hr,SHOPPING - Duration Constant: 1 hr,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_duration_constant_1_hr -util_shopping_duration_constant_1_hour_30_minutes,SHOPPING - Duration Constant: 1.5hrs,@(df.tour_type == 'shopping') & (df.duration==3),coef_shopping_duration_constant_1_hour_30_minutes -util_shopping_duration_constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.tour_type == 'shopping') & (df.duration==4)),coef_shopping_duration_constant_2_hrs -util_shopping_duration_constant_longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'shopping') & (df.duration>4)),coef_shopping_duration_constant_longer_than_2_hrs -util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear -util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root -util_shopping_calibration_constant_duration_1,SHOPPING - Calibration Constant - Duration = 1,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_calibration_constant_duration_1 -util_shopping_calibration_constant_duration_2,SHOPPING - Calibration Constant - Duration = 2,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_calibration_constant_duration_2 -util_shopping_calibration_constant_duration_3,SHOPPING - Calibration Constant - Duration = 3,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_calibration_constant_duration_3 -#MAINTENANCE,#MAINTENANCE,,#MAINTENANCE -util_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes -util_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Full-time worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes -util_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Non-driving Student: Duration > 1.5 hrs,"@np.where (((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes -util_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes,MAINTENANCE - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes -util_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes -util_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes -util_maintenance_retired_duration_less_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_less_than_1_hour_30_minutes -util_maintenance_retired_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_greater_than_1_hour_30_minutes -util_maintenance_university_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - University Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_university_student_duration_greater_than_1_hour_30_minutes -util_maintenance_female_duration_less_than_1_hour_30_minutes,MAINTENANCE - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_less_than_1_hour_30_minutes -util_maintenance_female_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Female: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_greater_than_1_hour_30_minutes -util_maintenance_low_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_low_income_duration_greater_than_1_hour_30_minutes -util_maintenance_medium_income_duration_less_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_less_than_1_hour_30_minutes -util_maintenance_medium_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_greater_than_1_hour_30_minutes -util_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes -util_maintenance_distance_duration_less_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_less_than_1_hour_30_minutes -util_maintenance_distance_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_greater_than_1_hour_30_minutes -util_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes,Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), np.minimum(df.duration-2,26) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes -util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes -util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes -util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear -util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root -util_maintenance_departure_constant_before_8_am,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.tour_type == 'othmaint') & (df.start<11)),coef_maintenance_departure_constant_before_8_am -util_maintenance_departure_constant_8_am_to_8_30_am,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'othmaint') & (df.start==11)),coef_maintenance_departure_constant_8_am_to_8_30_am -util_maintenance_departure_constant_8_30_am_to_9_00_am,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'othmaint') & (df.start==12)),coef_maintenance_departure_constant_8_30_am_to_9_00_am -util_maintenance_departure_constant_9_am_to_9_30_am,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'othmaint') & (df.start==13)),coef_maintenance_departure_constant_9_am_to_9_30_am -util_maintenance_departure_constant_9_30_am_to_10_am,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'othmaint') & (df.start==14)),coef_maintenance_departure_constant_9_30_am_to_10_am -util_maintenance_departure_constant_10_am_to_10_30_am,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'othmaint') & (df.start==15)),coef_maintenance_departure_constant_10_am_to_10_30_am -util_maintenance_departure_constant_10_30_am_to_11_am,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.start==16)),coef_maintenance_departure_constant_10_30_am_to_11_am -util_maintenance_departure_constant_after_11_am,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.tour_type == 'othmaint') & (df.start>16)),coef_maintenance_departure_constant_after_11_am -util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear -util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared -util_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear -util_maintenance_arrival_constant_before_10_30_am,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.tour_type == 'othmaint') & (df.end<16)),coef_maintenance_arrival_constant_before_10_30_am -util_maintenance_arrival_constant_10_30_am_to_11_am,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.end==16)),coef_maintenance_arrival_constant_10_30_am_to_11_am -util_maintenance_arrival_constant_11_am_to_11_30_am,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.tour_type == 'othmaint') & (df.end==17)),coef_maintenance_arrival_constant_11_am_to_11_30_am -util_maintenance_arrival_constant_11_30_am_to_1_30_pm,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.tour_type == 'othmaint') & (df.end>=18) & (df.end<=21)),coef_maintenance_arrival_constant_11_30_am_to_1_30_pm -util_maintenance_arrival_constant_1_30_pm_to_2_30_pm,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.tour_type == 'othmaint') & (df.end>=22) & (df.end<=23)),coef_maintenance_arrival_constant_1_30_pm_to_2_30_pm -util_maintenance_arrival_constant_2_30_pm_to_4_pm,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.tour_type == 'othmaint') & (df.end>=24) & (df.end<=26)),coef_maintenance_arrival_constant_2_30_pm_to_4_pm -util_maintenance_arrival_constant_4_pm_to_4_30_pm,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'othmaint') & (df.end==27)),coef_maintenance_arrival_constant_4_pm_to_4_30_pm -util_maintenance_arrival_constant_after_4_30_pm,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.tour_type == 'othmaint') & (df.end>27)),coef_maintenance_arrival_constant_after_4_30_pm -util_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear -util_maintenance_duration_constant_0_hr,MAINTENANCE - Duration Constant: 0 hr,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_duration_constant_0_hr -util_maintenance_duration_constant_30_minutes,MAINTENANCE - Duration Constant: 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_duration_constant_30_minutes -util_maintenance_duration_constant_longer_than_30_minutes,MAINTENANCE - Duration Constant: Longer than 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration>1)),coef_maintenance_duration_constant_longer_than_30_minutes -util_maintenance_duration_constant_duration_greater_than_1_hr_linear,MAINTENANCE - Duration Constant: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_linear -util_maintenance_duration_constant_duration_greater_than_1_hr_square_root,MAINTENANCE - Duration Constant: Duration > 1 hr - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_square_root -util_maintenance_calibration_constant_duration_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_calibration_constant_duration_1 -util_maintenance_calibration_constant_duration_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_calibration_constant_duration_2 -util_maintenance_calibration_constant_duration_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.tour_type == 'othmaint') & (df.duration==2)),coef_maintenance_calibration_constant_duration_3 -util_maintenance_calibration_constant_duration_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.tour_type == 'othmaint') & (df.duration==3)),coef_maintenance_calibration_constant_duration_4 -util_maintenance_calibration_constant_duration_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.tour_type == 'othmaint') & (df.duration==4)),coef_maintenance_calibration_constant_duration_5 -#EAT-OUT,#EAT-OUT,,#EAT-OUT -util_eatout_distance_to_destination_duration_less_than_1_hr,EAT-OUT - Distance to destination - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_less_than_1_hr -util_eatout_distance_to_destination_duration_greater_than_1_hr,EAT-OUT - Distance to destination - Duration > 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_greater_than_1_hr -util_eatout_low_income_duration_less_than_1_hr,EAT-OUT - Low income (<25000) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_low_income_duration_less_than_1_hr -util_eatout_medium_income_duration_less_than_1_hr,EAT-OUT - Medium (25k to 60k) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_medium_income_duration_less_than_1_hr -util_eatout_zeroauto_HH_duration_greater_than_1_hr,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.tour_type == 'eatout') & (df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_zeroauto_HH_duration_greater_than_1_hr -util_eatout_university_student_departure_after_7_pm_linear,EAT-OUT - University student - Departure after 7:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start>32) & (df.ptype == 3)), (np.where((df.start<=32), np.minimum(32-df.start,29), 0) + np.where((df.start>32), np.minimum(df.start-32,8), 0)), 0)",coef_eatout_university_student_departure_after_7_pm_linear -util_eatout_female_duration_less_than_1_hr,EAT-OUT - Female - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_less_than_1_hr -util_eatout_female_duration_greater_than_1_hr,EAT-OUT - Female - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_greater_than_1_hr -util_eatout_time_pressure_departure_before_6_30_pm,EAT-OUT - Time Pressure - Departure before 6:30 pm,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<32)), (np.minimum(32-df.start,29)) * (np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_departure_before_6_30_pm -util_eatout_time_pressure_duration_less_than_1_hr,EAT-OUT - Time Pressure - Duration < 1 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration<2)), np.minimum(2-df.duration,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_duration_less_than_1_hr -util_eatout_departure_constant_7_30_am_to_9_am,EAT-OUT - Departure Constant: 07:30 AM - 09:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>=10) & (df.start<=12)),coef_eatout_departure_constant_7_30_am_to_9_am -util_eatout_departure_constant_10_30_am_to_11_am,EAT-OUT - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==16)),coef_eatout_departure_constant_10_30_am_to_11_am -util_eatout_departure_constant_11_am_to_11_30_am,EAT-OUT - Departure Constant: 11:00 AM - 11:30 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==17)),coef_eatout_departure_constant_11_am_to_11_30_am -util_eatout_departure_constant_11_30_am_to_12_pm,EAT-OUT - Departure Constant: 11:30 AM - 12:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==18)),coef_eatout_departure_constant_11_30_am_to_12_pm -util_eatout_departure_constant_12_pm_to_12_30_pm,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start==19)),coef_eatout_departure_constant_12_pm_to_12_30_pm -util_eatout_departure_constant_12_30_pm_to_1_pm,EAT-OUT - Departure Constant: 12:30 PM - 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==20)),coef_eatout_departure_constant_12_30_pm_to_1_pm -util_eatout_departure_constant_1_pm_to_1_30_pm,EAT-OUT - Departure Constant: 01:00 PM - 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==21)),coef_eatout_departure_constant_1_pm_to_1_30_pm -util_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear -util_eatout_departure_constant_before_6_pm,EAT-OUT - Departure Constant: Before 06:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)),coef_eatout_departure_constant_before_6_pm -util_eatout_departure_constant_6_pm_to_6_30_pm,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==31)),coef_eatout_departure_constant_6_pm_to_6_30_pm -util_eatout_departure_constant_6_30_pm_to_7_pm,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==32)),coef_eatout_departure_constant_6_30_pm_to_7_pm -util_eatout_departure_constant_7_pm_to_7_30_pm,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==33)),coef_eatout_departure_constant_7_pm_to_7_30_pm -util_eatout_departure_constant_after_7_30_pm,EAT-OUT - Departure Constant: After 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>33)),coef_eatout_departure_constant_after_7_30_pm -util_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>34)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear -util_eatout_arrival_constant_9_30_am_to_11_am,EAT-OUT - Arrival Constant: 9:30 AM to 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>=14) & (df.end<=16)),coef_eatout_arrival_constant_9_30_am_to_11_am -util_eatout_arrival_constant_12_30_pm_to_1_pm,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==20)),coef_eatout_arrival_constant_12_30_pm_to_1_pm -util_eatout_arrival_constant_1_pm_to_1_30_pm,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==21)),coef_eatout_arrival_constant_1_pm_to_1_30_pm -util_eatout_arrival_constant_1_30_pm_to_2_pm,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==22)),coef_eatout_arrival_constant_1_30_pm_to_2_pm -util_eatout_arrival_constant_2_pm_to_2_30_pm,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==23)),coef_eatout_arrival_constant_2_pm_to_2_30_pm -util_eatout_arrival_constant_2_30_pm_to_3_pm,EAT-OUT - Arrival Constant: 02:30 PM to 03:00 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==24)),coef_eatout_arrival_constant_2_30_pm_to_3_pm -util_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<31)),coef_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear -util_eatout_arrival_constant_before_6_30_pm,EAT-OUT - Arrival Constant: Before 6:30 PM,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<32)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_before_6_30_pm -util_eatout_arrival_constant_6_30_pm_to_7_pm,EAT-OUT - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==32)),coef_eatout_arrival_constant_6_30_pm_to_7_pm -util_eatout_arrival_constant_7_pm_to_7_30_pm,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==33)),coef_eatout_arrival_constant_7_pm_to_7_30_pm -util_eatout_arrival_constant_7_30_pm_to_8_pm,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==34)),coef_eatout_arrival_constant_7_30_pm_to_8_pm -util_eatout_arrival_constant_8_pm_to_8_30_pm,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_category != 'joint') &(df.tour_type == 'eatout') & (df.end==35)),coef_eatout_arrival_constant_8_pm_to_8_30_pm -util_eatout_arrival_constant_8_30_pm_to_9_pm,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==36)),coef_eatout_arrival_constant_8_30_pm_to_9_pm -util_eatout_arrival_constant_after_9_pm,EAT-OUT - Arrival Constant: After 9:00 PM,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.end>36)),coef_eatout_arrival_constant_after_9_pm -util_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear -util_eatout_duration_constant_0_hour,EAT-OUT - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration==0)),coef_eatout_duration_constant_0_hour -util_eatout_duration_constant_30_minutes,EAT-OUT - Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_duration_constant_30_minutes -util_eatout_duration_constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==2)),coef_eatout_duration_constant_1_hour -util_eatout_duration_constant_1_hour_30_minutes,EAT-OUT - Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_duration_constant_1_hour_30_minutes -util_eatout_duration_constant_2_hours,EAT-OUT - Duration Constant: 2 hours,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.duration==4)),coef_eatout_duration_constant_2_hours -util_eatout_duration_constant_2_hour_30_minutes_or_more,EAT-OUT - Duration Constant: 2.5 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>4)),coef_eatout_duration_constant_2_hour_30_minutes_or_more -util_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,11), 0)), 0)",coef_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear -util_eatout_calibration_constant_duration_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_calibration_constant_duration_1 -util_eatout_calibration_constant_duration_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_calibration_constant_duration_2 -util_eatout_calibration_constant_duration_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_calibration_constant_duration_3 -util_eatout_calibration_constant_duration_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_calibration_constant_duration_4 -util_eatout_calibration_constant_departure_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.tour_type == 'eatout') & (df.start == 1)),coef_eatout_calibration_constant_departure_1 -util_eatout_calibration_constant_departure_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.tour_type == 'eatout') & (df.start == 2)),coef_eatout_calibration_constant_departure_2 -util_eatout_calibration_constant_departure_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.tour_type== 'eatout') & (df.start == 3)),coef_eatout_calibration_constant_departure_3 -util_eatout_calibration_constant_departure_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.tour_type == 'eatout') & (df.start ==17)),coef_eatout_calibration_constant_departure_17 -util_eatout_calibration_constant_departure_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.tour_type== 'eatout') & (df.start ==18)),coef_eatout_calibration_constant_departure_18 -util_eatout_calibration_constant_departure_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.tour_type == 'eatout') & (df.start ==19)),coef_eatout_calibration_constant_departure_19 -util_eatout_calibration_constant_departure_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.tour_type == 'eatout') & (df.start ==20)),coef_eatout_calibration_constant_departure_20 -util_eatout_calibration_constant_departure_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.tour_type == 'eatout') & (df.start ==21)),coef_eatout_calibration_constant_departure_21 -#SOCIAL,#SOCIAL,,#SOCIAL -util_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear -util_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear -util_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear -util_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear -util_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear -util_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear -util_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear -util_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear -"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, -util_social_auto_distance_duration_less_than_1_hr_linear,SOCIAL - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0) * (df.origin_to_destination_distance)",coef_social_auto_distance_duration_less_than_1_hr_linear -util_social_auto_distance_duration_greater_than_1_hr_linear,SOCIAL - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0) * (df.origin_to_destination_distance) ",coef_social_auto_distance_duration_greater_than_1_hr_linear -util_social_time_pressure_duration_less_than_1_hr,SOCIAL - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), np.minimum(3-df.duration,47), 0)* (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_less_than_1_hr -util_social_time_pressure_duration_greater_than_1_hr,SOCIAL - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3)), np.minimum(df.duration-3,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_greater_than_1_hr -util_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,SOCIAL - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.num_add_soc_discr_tours), 0)",coef_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr -util_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@(df.tour_type == 'social') & (df.start<12) * ((np.minimum(12-df.start,48)*(df.start<48)) + (np.minimum(df.start-48,48)*(df.start>48)))",coef_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear -util_social_departure_constant_before_9_am,SOCIAL - Departure Constant: Before 09:00 AM,@(df.tour_type == 'social') & (df.start<13),coef_social_departure_constant_before_9_am -util_social_departure_constant_9_am_to_9_30_am,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.tour_type == 'social') & (df.start==13),coef_social_departure_constant_9_am_to_9_30_am -util_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear -util_social_departure_constant_before_5_30_pm,SOCIAL - Departure Constant: Before 05:30 PM,@((df.tour_type == 'social') & (df.start<30)),coef_social_departure_constant_before_5_30_pm -util_social_departure_constant_5_30_pm_to_6_pm,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'social') & (df.start==30)),coef_social_departure_constant_5_30_pm_to_6_pm -util_social_departure_constant_6_pm_to_6_30_pm,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'social') & (df.start==31)),coef_social_departure_constant_6_pm_to_6_30_pm -util_social_departure_constant_6_30_pm_to_7_pm,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'social') & (df.start==32)),coef_social_departure_constant_6_30_pm_to_7_pm -util_social_departure_constant_7_pm_to_7_30_pm,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_type == 'social') & (df.start==33)),coef_social_departure_constant_7_pm_to_7_30_pm -util_social_departure_constant_after_7_30_pm,SOCIAL - Departure Constant: After 07:30 PM,@((df.tour_type == 'social') & (df.start>33)),coef_social_departure_constant_after_7_30_pm -util_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear -util_social_arrival_constant_3_pm_to_3_30_pm,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.tour_type == 'social') & (df.end==25)),coef_social_arrival_constant_3_pm_to_3_30_pm -util_social_arrival_constant_3_30_pm_to_4_pm,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.tour_type == 'social') & (df.end==26)),coef_social_arrival_constant_3_30_pm_to_4_pm -util_social_arrival_constant_4_pm_to_4_30_pm,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.tour_type == 'social') & (df.end==27)),coef_social_arrival_constant_4_pm_to_4_30_pm -util_social_arrival_constant_5_pm_to_6_pm,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.tour_type == 'social') & (df.end>=29) & (df.end<=30)),coef_social_arrival_constant_5_pm_to_6_pm -util_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear -util_social_arrival_constant_before_8_30_pm,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.tour_type == 'social') & (df.end<36)),coef_social_arrival_constant_before_8_30_pm -util_social_arrival_constant_8_30_pm_to_9_pm,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'social') & (df.end==36)),coef_social_arrival_constant_8_30_pm_to_9_pm -util_social_arrival_constant_9_pm_to_9_30_pm,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.tour_type == 'social') & (df.end==37)),coef_social_arrival_constant_9_pm_to_9_30_pm -util_social_arrival_constant_9_30_pm_to_10_pm,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.tour_type == 'social') & (df.end==38)),coef_social_arrival_constant_9_30_pm_to_10_pm -util_social_arrival_constant_10_pm_to_10_30_pm,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.tour_type == 'social') & (df.end==39)),coef_social_arrival_constant_10_pm_to_10_30_pm -util_social_arrival_constant_after_10_30_pm,SOCIAL - Arrival Constant: After 10:30 PM,@((df.tour_type == 'social') & (df.end>39)),coef_social_arrival_constant_after_10_30_pm -util_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear -util_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 2.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<5)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>7), np.minimum(df.duration-7,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear -util_social_duration_constant_less_than_3_hours,SOCIAL - Duration Constant: Less than 3 hrs,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<6)),coef_social_duration_constant_less_than_3_hours -util_social_duration_constant_3_hours,SOCIAL - Duration Constant: 3 hours,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration==6)),coef_social_duration_constant_3_hours -util_social_duration_constant_3_hrs_30_minutes,SOCIAL - Duration Constant: 3.5 hours,@((df.tour_category != 'joint')& (df.tour_type == 'social') & (df.duration==7)),coef_social_duration_constant_3_hrs_30_minutes -util_social_duration_constant_4_hours_or_more,SOCIAL - Duration Constant: 4 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>7)),coef_social_duration_constant_4_hours_or_more -util_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 4.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>8)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>8), np.minimum(df.duration-8,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear -util_social_calibration_constant_duration_1,SOCIAL - Calibration Constant - Duration = 1,@((df.tour_type == 'social') & (df.duration ==0)),coef_social_calibration_constant_duration_1 -util_social_calibration_constant_duration_2,SOCIAL - Calibration Constant - Duration = 2,@((df.tour_type == 'social') & (df.duration == 1)),coef_social_calibration_constant_duration_2 -util_social_calibration_constant_duration_3,SOCIAL - Calibration Constant - Duration = 3,@((df.tour_type == 'social') & (df.duration ==2)),coef_social_calibration_constant_duration_3 -util_social_calibration_constant_duration_4,SOCIAL - Calibration Constant - Duration = 4,@((df.tour_type == 'social') & (df.duration ==3)),coef_social_calibration_constant_duration_4 -util_social_calibration_constant_duration_5,SOCIAL - Calibration Constant - Duration = 5,@((df.tour_type == 'social') & (df.duration ==4)),coef_social_calibration_constant_duration_5 -util_social_calibration_constant_duration_6,SOCIAL - Calibration Constant - Duration = 6,@((df.tour_type == 'social') & (df.duration ==5)),coef_social_calibration_constant_duration_6 -util_social_calibration_constant_duration_7,SOCIAL - Calibration Constant - Duration = 7,@((df.tour_type == 'social') & (df.duration ==6)),coef_social_calibration_constant_duration_7 -util_social_calibration_constant_duration_8,SOCIAL - Calibration Constant - Duration = 8,@((df.tour_type == 'social') & (df.duration ==7)),coef_social_calibration_constant_duration_8 -util_social_calibration_constant_duration_9,SOCIAL - Calibration Constant - Duration = 9,@((df.tour_type == 'social') & (df.duration ==8)),coef_social_calibration_constant_duration_9 -#DISCRETIONARY,#DISCRETIONARY,,#DISCRETIONARY -util_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear -util_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear -util_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear -util_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear -util_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear -util_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear -util_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) & (df.tour_type == 'othdiscr') & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)),0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear -util_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear -"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, -util_discretionary_auto_distance_duration_less_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_less_than_1_hr_linear -util_discretionary_auto_distance_duration_greater_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_greater_than_1_hr_linear -util_discretionary_time_pressure_duration_less_than_1_hr,DISCRETIONARY - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3)), np.minimum(3-df.duration,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_discretionary_time_pressure_duration_less_than_1_hr -util_discretionary_time_pressure_duration_greater_than_1_hr,DISCRETIONARY - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3)), np.minimum(df.duration-3,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_discretionary_time_pressure_duration_greater_than_1_hr -util_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,DISCRETIONARY - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0))*(df.num_add_soc_discr_tours),0)",coef_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr -util_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear -util_discretionary_departure_constant_before_7_30_am,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.tour_type == 'othdiscr') & (df.start<10)),coef_discretionary_departure_constant_before_7_30_am -util_discretionary_departure_constant_7_30_am_to_8_am,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.tour_type == 'othdiscr') & (df.start==10)),coef_discretionary_departure_constant_7_30_am_to_8_am -util_discretionary_departure_constant_8_am_to_8_30_am,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.tour_type == 'othdiscr') & (df.start==11)),coef_discretionary_departure_constant_8_am_to_8_30_am -util_discretionary_departure_constant_8_30_am_to_9_am,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.tour_type == 'othdiscr') & (df.start==12)),coef_discretionary_departure_constant_8_30_am_to_9_am -util_discretionary_departure_constant_9_am_to_9_30_am,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.tour_type == 'othdiscr') & (df.start==13)),coef_discretionary_departure_constant_9_am_to_9_30_am -util_discretionary_departure_constant_9_30_am_to_10_am,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.tour_type == 'othdiscr') & (df.start==14)),coef_discretionary_departure_constant_9_30_am_to_10_am -util_discretionary_departure_constant_10_am_to_10_30_am,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.tour_type == 'othdiscr') & (df.start==15)),coef_discretionary_departure_constant_10_am_to_10_30_am -util_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear -util_discretionary_departure_constant_before_5_pm,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.tour_type == 'othdiscr') & (df.start<29)),coef_discretionary_departure_constant_before_5_pm -util_discretionary_departure_constant_5_pm_to_5_30_pm,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_departure_constant_5_pm_to_5_30_pm -util_discretionary_departure_constant_5_30_pm_to_6_pm,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_departure_constant_5_30_pm_to_6_pm -util_discretionary_departure_constant_6_pm_to_6_30_pm,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_departure_constant_6_pm_to_6_30_pm -util_discretionary_departure_constant_6_30_pm_to_7_pm,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_departure_constant_6_30_pm_to_7_pm -util_discretionary_departure_constant_after_7_pm,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start>32)),coef_discretionary_departure_constant_after_7_pm -util_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear -util_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear -util_discretionary_arrival_constant_before_6_30_pm,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.tour_type == 'othdiscr') & (df.end<32)),coef_discretionary_arrival_constant_before_6_30_pm -util_discretionary_arrival_constant_6_30_pm_to_7_pm,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_type == 'othdiscr') & (df.end==32)),coef_discretionary_arrival_constant_6_30_pm_to_7_pm -util_discretionary_arrival_constant_7_pm_to_7_30_pm,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_type == 'othdiscr') & (df.end==33)),coef_discretionary_arrival_constant_7_pm_to_7_30_pm -util_discretionary_arrival_constant_7_30_pm_to_8_pm,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_type == 'othdiscr') & (df.end==34)),coef_discretionary_arrival_constant_7_30_pm_to_8_pm -util_discretionary_arrival_constant_8_pm_to_8_30_pm,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_type == 'othdiscr') & (df.end==35)),coef_discretionary_arrival_constant_8_pm_to_8_30_pm -util_discretionary_arrival_constant_8_30_pm_to_9_pm,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end==36)),coef_discretionary_arrival_constant_8_30_pm_to_9_pm -util_discretionary_arrival_constant_after_9_pm,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end>36)),coef_discretionary_arrival_constant_after_9_pm -util_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear -util_discretionary_duration_constant_0_hour,DISCRETIONARY - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==0)),coef_discretionary_duration_constant_0_hour -util_discretionary_duration_constant_30_minutes,DISCRETIONARY -Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==1)),coef_discretionary_duration_constant_30_minutes -util_discretionary_duration_constant_1_hour,DISCRETIONARY -Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==2)),coef_discretionary_duration_constant_1_hour -util_discretionary_duration_constant_1_hr_30_minutes,DISCRETIONARY -Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_duration_constant_1_hr_30_minutes -util_discretionary_duration_constant_2_hours,DISCRETIONARY -Duration Constant: 2 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_duration_constant_2_hours -util_discretionary_duration_constant_2_hr_30_minutes,DISCRETIONARY -Duration Constant: 2.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==5)),coef_discretionary_duration_constant_2_hr_30_minutes -util_discretionary_duration_constant_3_hours_or_more,DISCRETIONARY -Duration Constant: 3 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>5)),coef_discretionary_duration_constant_3_hours_or_more -util_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,DISCRETIONARY -Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,47), 0)), 0)",coef_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear -util_discretionary_calibration_constant_duration_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_calibration_constant_duration_4 -util_discretionary_calibration_constant_duration_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_calibration_constant_duration_5 -util_discretionary_calibration_constant_departure_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_calibration_constant_departure_29 -util_discretionary_calibration_constant_departure_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_calibration_constant_departure_30 -util_discretionary_calibration_constant_departure_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_calibration_constant_departure_31 -util_discretionary_calibration_constant_departure_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_calibration_constant_departure_32 +Label,Description,Expression,Coefficient +# ESCORT,,, +util_escort_mode_choice_logsum,ESCORT - Mode Choice Logsum,"@np.where(df.tour_type == 'escort', df.mode_choice_logsum, 0) ",coef_escort_mode_choice_logsum +"#Note: In CTRAMP expressions, duration alternative is from 1 to 48 but in ActivitySim, it is from 0 to 47 since the duration alternative ID was calculated as (end - start). Therefore, duration in ActivitySim expression = CTRAMP duration expresssion - 1 ",,,# +util_escort_distance_to_destination_duration_less_than_30_minutes,ESCORT - Distance to destination - Duration less than 0.5 hour (depart and arrive in the same period),"@np.where(((df.tour_type == 'escort') & (df.duration<1)), ((df.origin_to_destination_distance) * df.durationShift_escort), 0)",coef_escort_distance_to_destination_duration_less_than_30_minutes +util_escort_distance_to_destination_duration_greater_than_30_minutes,ESCORT - Distance to destination - Duration greater than 0.5 hour,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), ((df.origin_to_destination_distance) * df.durationShift_escort), 0)",coef_escort_distance_to_destination_duration_greater_than_30_minutes +util_escort_fulltime_worker_departure_after_8_am_linear,ESCORT - Full-time worker - Departure after 8:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>10)), df.departureLinearShift1_escort,0)",coef_escort_fulltime_worker_departure_after_8_am_linear +"#Note: In CTRAMP expression file, the description below says departure is after 3 am but from the expression it seems that it would be 3 pm instead of 3 am",,, +util_escort_fulltime_worker_departure_after_3_am_linear,ESCORT - Full-time worker - Departure after 3:00 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.start>24)), df.departureLinearShift2_escort, 0)",coef_escort_fulltime_worker_departure_after_3_am_linear +util_escort_fulltime_worker_duration_less_than_30_minutes,ESCORT - Full-time worker - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration<1)), df.durationShift_escort, 0)",coef_escort_fulltime_worker_duration_less_than_30_minutes +util_escort_fulltime_worker_duration_greater_than_30_minutes,ESCORT - Full-time worker - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 1) & (df.duration>1)), df.durationShift_escort, 0)",coef_escort_fulltime_worker_duration_greater_than_30_minutes +util_escort_university_student_duration_less_than_30_minutes,ESCORT - University student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 3) & (df.duration<1)), df.durationShift_escort, 0)",coef_escort_university_student_duration_less_than_30_minutes +util_escort_non_driving_age_student_duration_greater_than_30_minutes,ESCORT - Non-driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & ((df.ptype == 7)|(df.ptype == 8)) & (df.duration>1)), df.durationShift_escort, 0)",coef_escort_non_driving_age_student_duration_greater_than_30_minutes +util_escort_driving_age_student_duration_less_than_30_minutes,ESCORT - Driving age student - Duration < 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration<1)), df.durationShift_escort, 0)",coef_escort_driving_age_student_duration_less_than_30_minutes +util_escort_driving_age_student_duration_greater_than_30_minutes,ESCORT - Driving age student - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 6) & (df.duration>1)), df.durationShift_escort, 0)",coef_escort_driving_age_student_duration_greater_than_30_minutes +"#Note: In CTRAMP expression file, description says the expression below is for duration > 0.5 hr but the expression says duration < 0.5 hr",,, +util_escort_pre_school_kid_duration_greater_than_30_minutes,ESCORT - Pre-school kid - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.ptype == 8) & (df.duration<1)), df.durationShift_escort, 0)",coef_escort_pre_school_kid_duration_greater_than_30_minutes +util_escort_med_high_income_duration_greater_than_30_minutes,ESCORT - Med-high income (60k to 120k) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.is_income_60K_to_120K) & (df.duration>1)), df.durationShift_escort, 0)",coef_escort_med_high_income_duration_greater_than_30_minutes +util_escort_households_with_no_kids_departure_before_7_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 7:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<10)), df.departureLinearShift1_escort, 0)",coef_escort_households_with_no_kids_departure_before_7_30_am +util_escort_households_with_no_kids_departure_after_8_00_am,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>10)), df.departureLinearShift1_escort, 0)",coef_escort_households_with_no_kids_departure_after_8_00_am +util_escort_households_with_no_kids_departure_before_2_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 2:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start<24)), df.departureLinearShift2_escort, 0)",coef_escort_households_with_no_kids_departure_before_2_30_pm +util_escort_households_with_no_kids_departure_after_3_00_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.start>24)), df.departureLinearShift2_escort, 0)",coef_escort_households_with_no_kids_departure_after_3_00_pm +util_escort_households_with_no_kids_arrival_before_8_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<11)), df.arrivalLinearShift1_escort, 0)",coef_escort_households_with_no_kids_arrival_before_8_am +util_escort_households_with_no_kids_arrival_after_8_30_am,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>11)), df.arrivalLinearShift1_escort, 0)",coef_escort_households_with_no_kids_arrival_after_8_30_am +util_escort_households_with_no_kids_arrival_before_3_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end<25)), df.arrivalLinearShift2_escort, 0)",coef_escort_households_with_no_kids_arrival_before_3_pm +util_escort_households_with_no_kids_arrival_after_3_30_pm,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.num_children == 0) & (df.end>25)), df.arrivalLinearShift2_escort, 0)",coef_escort_households_with_no_kids_arrival_after_3_30_pm +util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>10)), df.departureLinearShift1_escort, 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_8_am +util_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>24)), df.departureLinearShift2_escort, 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_departure_after_3_pm +util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am,"ESCORT -Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<11)), df.arrivalLinearShift1_escort, 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_8_am +util_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<25)), df.arrivalLinearShift2_escort, 0)",coef_escort_pre_school_child_in_hh_with_mandatory_tour_arrival_before_3_pm +util_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.start>10)), df.departureLinearShift1_escort, 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_departure_after_8_am +util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>11)), df.arrivalLinearShift1_escort, 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_8_30_am +util_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>25)), df.arrivalLinearShift2_escort, 0)",coef_escort_driving_age_school_child_in_hh_with_mandatory_tour_arrival_after_3_30_pm +util_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes,ESCORT - Number of autos greater than number of adults - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>1)), df.durationShift_escort, 0)",coef_escort_number_of_autos_greater_than_number_of_adults_duration_greater_than_30_minutes +util_escort_number_of_individual_tours_duration_greater_than_30_minutes,ESCORT -Number of Individual Tours (excluding escorting) - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.num_non_escort_tours > 0) & (df.duration>1)), df.durationShift_escort*df.num_non_escort_tours, 0)",coef_escort_number_of_individual_tours_duration_greater_than_30_minutes +util_escort_number_of_joint_tours_duration_greater_than_30_minutes,ESCORT - Number of joint tours - Duration > 0.5 hr,"@np.where(((df.tour_type == 'escort') & (df.duration>1)), df.durationShift_escort *(df.num_joint_tours), 0)",coef_escort_number_of_joint_tours_duration_greater_than_30_minutes +util_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes before 06:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start<8)), df.depConstShift1_escort, 0)",coef_escort_departure_constant_shift_for_every_30_minutes_before_6_30_am_linear +util_escort_departure_constant_before_7_am,ESCORT - Departure Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.start<9)),coef_escort_departure_constant_before_7_am +util_escort_departure_constant_7_am_to_7_30_am,ESCORT - Departure Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_departure_constant_7_am_to_7_30_am +util_escort_departure_constant_7_30_am_to_8_am,ESCORT - Departure Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_departure_constant_7_30_am_to_8_am +util_escort_departure_constant_8_am_to_8_30_am,ESCORT - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.start==11)),coef_escort_departure_constant_8_am_to_8_30_am +util_escort_departure_constant_8_30_am_to_9_am,ESCORT - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.start==12)),coef_escort_departure_constant_8_30_am_to_9_am +util_escort_departure_constant_after_9_am,ESCORT - Departure Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.start>12)),coef_escort_departure_constant_after_9_am +util_escort_departure_constant_1_30_pm_to_2_pm,ESCORT - Departure Constant: 01:30 PM - 02:00 PM,@((df.tour_type == 'escort') & (df.start==22)),coef_escort_departure_constant_1_30_pm_to_2_pm +util_escort_departure_constant_2_pm_to_2_30_pm,ESCORT - Departure Constant: 02:00 PM - 02:30 PM,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_departure_constant_2_pm_to_2_30_pm +util_escort_departure_constant_2_30_pm_to_3_pm,ESCORT - Departure Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_departure_constant_2_30_pm_to_3_pm +util_escort_departure_constant_3_pm_to_3_30_pm,ESCORT - Departure Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.start==25)),coef_escort_departure_constant_3_pm_to_3_30_pm +util_escort_departure_constant_after_3_30_pm,ESCORT - Departure Constant: After 03:30 PM,@((df.tour_type == 'escort') & (df.start>25)),coef_escort_departure_constant_after_3_30_pm +util_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>13)), df.depConstShift1_escort, 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_9_30_am_linear +util_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear,ESCORT - Departure Constant: Shift for every 30 minutes after 4:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.start>26)), df.depConstShift2_escort, 0)",coef_escort_departure_constant_shift_for_every_30_minutes_after_4_pm_linear +util_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes before 6:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end<8)), df.arrConstShift1_escort, 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_before_6_30_am_linear +util_escort_arrival_constant_before_7_am,ESCORT - Arrival Constant: Before 07:00 AM,@((df.tour_type == 'escort') & (df.end<9)),coef_escort_arrival_constant_before_7_am +util_escort_arrival_constant_7_am_to_7_30_am,ESCORT - Arrival Constant: 07:00 AM - 07:30 AM,@((df.tour_type == 'escort') & (df.end==9)),coef_escort_arrival_constant_7_am_to_7_30_am +util_escort_arrival_constant_7_30_am_to_8_am,ESCORT - Arrival Constant: 07:30 AM - 08:00 AM,@((df.tour_type == 'escort') & (df.end==10)),coef_escort_arrival_constant_7_30_am_to_8_am +util_escort_arrival_constant_8_am_to_8_30_am,ESCORT - Arrival Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'escort') & (df.end==11)),coef_escort_arrival_constant_8_am_to_8_30_am +util_escort_arrival_constant_8_30_am_to_9_am,ESCORT - Arrival Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'escort') & (df.end==12)),coef_escort_arrival_constant_8_30_am_to_9_am +util_escort_arrival_constant_after_9_am,ESCORT - Arrival Constant: After 09:00 AM,@((df.tour_type == 'escort') & (df.end>12)),coef_escort_arrival_constant_after_9_am +util_escort_arrival_constant_2_30_pm_to_3_pm,ESCORT - Arrival Constant: 02:30 PM - 03:00 PM,@((df.tour_type == 'escort') & (df.end==24)),coef_escort_arrival_constant_2_30_pm_to_3_pm +util_escort_arrival_constant_3_pm_to_3_30_pm,ESCORT - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'escort') & (df.end==25)),coef_escort_arrival_constant_3_pm_to_3_30_pm +util_escort_arrival_constant_3_30_pm_to_4_pm,ESCORT - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'escort') & (df.end==26)),coef_escort_arrival_constant_3_30_pm_to_4_pm +util_escort_arrival_constant_4_pm_to_4_30_pm,ESCORT - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'escort') & (df.end==27)),coef_escort_arrival_constant_4_pm_to_4_30_pm +util_escort_arrival_constant_after_4_30_pm,ESCORT - Arrival Constant: After 04:30 PM,@((df.tour_type == 'escort') & (df.end>27)),coef_escort_arrival_constant_after_4_30_pm +util_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>13)), df.arrConstShift1_escort, 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_9_30_am_linear +util_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'escort') & (df.end>28)), df.arrConstShift2_escort, 0)",coef_escort_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear +util_escort_duration_constant_0_hour,ESCORT - Duration Constant: 0 hr,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_duration_constant_0_hour +util_escort_duration_constant_30_minutes,ESCORT - Duration Constant: 0.5 hr,@((df.tour_type == 'escort') & (df.duration==1)),coef_escort_duration_constant_30_minutes +util_escort_duration_constant_1_hour,ESCORT - Duration Constant: 1 hr,@((df.tour_type == 'escort') & (df.duration==2)),coef_escort_duration_constant_1_hour +util_escort_duration_constant_1_hour_30_minutes,ESCORT - Duration Constant: 1.5hrs,@((df.tour_type == 'escort') & (df.duration==3)),coef_escort_duration_constant_1_hour_30_minutes +util_escort_duration_constant_2_hours,ESCORT - Duration Constant: 2 hrs,@((df.tour_type == 'escort') & (df.duration==4)),coef_escort_duration_constant_2_hours +util_escort_duration_constant_longer_than_2_hours,ESCORT - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'escort') & (df.duration>4)),coef_escort_duration_constant_longer_than_2_hours +util_escort_calibration_constant_duration_1,ESCORT - Calibration Constant - Duration = 1,@((df.tour_type == 'escort') & (df.duration==0)),coef_escort_calibration_constant_duration_1 +util_escort_calibration_constant_duration_2,ESCORT - Calibration Constant - Duration = 2,@(((df.tour_type == 'escort') & df.duration==1)),coef_escort_calibration_constant_duration_2 +util_escort_calibration_constant_departure_9,ESCORT - Calibration Constant - Departure = 9,@((df.tour_type == 'escort') & (df.start==9)),coef_escort_calibration_constant_departure_9 +util_escort_calibration_constant_departure_10,ESCORT - Calibration Constant - Departure = 10,@((df.tour_type == 'escort') & (df.start==10)),coef_escort_calibration_constant_departure_10 +util_escort_calibration_constant_departure_23,ESCORT - Calibration Constant - Departure = 23,@((df.tour_type == 'escort') & (df.start==23)),coef_escort_calibration_constant_departure_23 +util_escort_calibration_constant_departure_24,,@((df.tour_type == 'escort') & (df.start==24)),coef_escort_calibration_constant_departure_24 +#SHOPPING,ESCORT - Calibration Constant - Departure = 24,,#SHOPPING +util_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes +util_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Full-time worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes +util_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Non-driving Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes +util_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes,SHOPPING - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes +util_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes +util_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes +util_shopping_retired_duration_less_than_1_hour_30_minutes,SHOPPING - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_less_than_1_hour_30_minutes +util_shopping_retired_duration_greater_than_1_hour_30_minutes,SHOPPING - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_greater_than_1_hour_30_minutes +util_shopping_university_student_duration_greater_than_1_hour_30_minutes,SHOPPING - University Student: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_university_student_duration_greater_than_1_hour_30_minutes +util_shopping_female_duration_less_than_1_hour_30_minutes,SHOPPING - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_less_than_1_hour_30_minutes +util_shopping_female_duration_greater_than_1_hour_30_minutes,SHOPPING - Female: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_greater_than_1_hour_30_minutes +util_shopping_low_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_type == 'shopping') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_low_income_duration_greater_than_1_hour_30_minutes +util_shopping_medium_income_duration_less_than_1_hour_30_minutes,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_income_duration_less_than_1_hour_30_minutes +util_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'shopping') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes +util_shopping_distance_duration_less_than_1_hour_30_minutes,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_less_than_1_hour_30_minutes +util_shopping_distance_duration_greater_than_1_hour_30_minutes,SHOPPING - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_greater_than_1_hour_30_minutes +util_shopping_time_pressure_duration_greater_than_1_hour_30_minutes,SHOPPING - Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') & (df.duration>2)), np.minimum(df.duration-2,26) *(np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_shopping_time_pressure_duration_greater_than_1_hour_30_minutes +util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes +util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'shopping') &(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes +util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear +util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root +util_shopping_departure_constant_before_9_am,SHOPPING - Departure Constant: Before 09:00 AM,@((df.tour_type == 'shopping') & (df.start<13)),coef_shopping_departure_constant_before_9_am +util_shopping_departure_constant_9_am_to_9_30_am,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'shopping') & (df.start==13)),coef_shopping_departure_constant_9_am_to_9_30_am +util_shopping_departure_constant_9_30_am_to_10_am,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'shopping') & (df.start==14)),coef_shopping_departure_constant_9_30_am_to_10_am +util_shopping_departure_constant_10_am_to_10_30_am,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'shopping') & (df.start==15)),coef_shopping_departure_constant_10_am_to_10_30_am +util_shopping_departure_constant_10_30_am_to_11_00_am,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'shopping') & (df.start==16)),coef_shopping_departure_constant_10_30_am_to_11_00_am +util_shopping_departure_constant_after_11_am,SHOPPING - Departure Constant: After 11:00 AM,@((df.tour_type == 'shopping') & (df.start>16)),coef_shopping_departure_constant_after_11_am +util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear +util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'shopping') & (df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared +util_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear +util_shopping_arrival_constant_before_12_30_pm,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.tour_type == 'shopping') & (df.end<20)),coef_shopping_arrival_constant_before_12_30_pm +util_shopping_arrival_constant_12_30_pm_to_3_pm,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@((df.tour_type == 'shopping') & ( df.end>=20) & (df.end<=24)),coef_shopping_arrival_constant_12_30_pm_to_3_pm +util_shopping_arrival_constant_3_pm_to_3_30_pm,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_type == 'shopping') & (df.end==25)),coef_shopping_arrival_constant_3_pm_to_3_30_pm +util_shopping_arrival_constant_3_30_pm_to_4_pm,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_type == 'shopping') & (df.end==26)),coef_shopping_arrival_constant_3_30_pm_to_4_pm +util_shopping_arrival_constant_4_pm_to_4_30_pm,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'shopping') & (df.end==27)),coef_shopping_arrival_constant_4_pm_to_4_30_pm +util_shopping_arrival_constant_4_30_pm_to_5_pm,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.tour_type == 'shopping') & (df.end==28)),coef_shopping_arrival_constant_4_30_pm_to_5_pm +util_shopping_arrival_constant_5_pm_to_5_30_pm,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'shopping') & (df.end==29)),coef_shopping_arrival_constant_5_pm_to_5_30_pm +util_shopping_arrival_constant_5_30_pm_to_7_pm,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.tour_type == 'shopping') & (df.end>=30) & (df.end<=32)),coef_shopping_arrival_constant_5_30_pm_to_7_pm +util_shopping_arrival_constant_7_pm_to_9_30_pm,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.tour_type == 'shopping') & (df.end>=33) & (df.end<=37)),coef_shopping_arrival_constant_7_pm_to_9_30_pm +util_shopping_arrival_constant_after_9_30_pm,SHOPPING - Arrival Constant: After 09:30 PM,@((df.tour_type == 'shopping') & (df.end>37)),coef_shopping_arrival_constant_after_9_30_pm +util_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.tour_type == 'shopping') & (df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear +util_shopping_duration_constant_0_hr,SHOPPING - Duration Constant: 0 hr,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_duration_constant_0_hr +util_shopping_duration_constant_30_minutes,SHOPPING - Duration Constant: 0.5 hr,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_duration_constant_30_minutes +util_shopping_duration_constant_1_hr,SHOPPING - Duration Constant: 1 hr,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_duration_constant_1_hr +util_shopping_duration_constant_1_hour_30_minutes,SHOPPING - Duration Constant: 1.5hrs,@(df.tour_type == 'shopping') & (df.duration==3),coef_shopping_duration_constant_1_hour_30_minutes +util_shopping_duration_constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.tour_type == 'shopping') & (df.duration==4)),coef_shopping_duration_constant_2_hrs +util_shopping_duration_constant_longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.tour_type == 'shopping') & (df.duration>4)),coef_shopping_duration_constant_longer_than_2_hrs +util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear +util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.tour_type == 'shopping') & (df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root +util_shopping_calibration_constant_duration_1,SHOPPING - Calibration Constant - Duration = 1,@((df.tour_type == 'shopping') & (df.duration==0)),coef_shopping_calibration_constant_duration_1 +util_shopping_calibration_constant_duration_2,SHOPPING - Calibration Constant - Duration = 2,@((df.tour_type == 'shopping') & (df.duration==1)),coef_shopping_calibration_constant_duration_2 +util_shopping_calibration_constant_duration_3,SHOPPING - Calibration Constant - Duration = 3,@((df.tour_type == 'shopping') & (df.duration==2)),coef_shopping_calibration_constant_duration_3 +#MAINTENANCE,#MAINTENANCE,,#MAINTENANCE +util_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Driving age student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes +util_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Full-time worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes +util_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Non-driving Student: Duration > 1.5 hrs,"@np.where (((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes +util_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes,MAINTENANCE - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes +util_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes +util_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes +util_maintenance_retired_duration_less_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_less_than_1_hour_30_minutes +util_maintenance_retired_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration > 1.5 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_greater_than_1_hour_30_minutes +util_maintenance_university_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - University Student: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_university_student_duration_greater_than_1_hour_30_minutes +util_maintenance_female_duration_less_than_1_hour_30_minutes,MAINTENANCE - Female: Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_less_than_1_hour_30_minutes +util_maintenance_female_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Female: Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_greater_than_1_hour_30_minutes +util_maintenance_low_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_low_income_duration_greater_than_1_hour_30_minutes +util_maintenance_medium_income_duration_less_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_less_than_1_hour_30_minutes +util_maintenance_medium_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_greater_than_1_hour_30_minutes +util_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.tour_type == 'othmaint') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes +util_maintenance_distance_duration_less_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_less_than_1_hour_30_minutes +util_maintenance_distance_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_greater_than_1_hour_30_minutes +util_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes,Time Pressure - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), np.minimum(df.duration-2,26) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes +util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes +util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes +util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear +util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root +util_maintenance_departure_constant_before_8_am,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.tour_type == 'othmaint') & (df.start<11)),coef_maintenance_departure_constant_before_8_am +util_maintenance_departure_constant_8_am_to_8_30_am,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_type == 'othmaint') & (df.start==11)),coef_maintenance_departure_constant_8_am_to_8_30_am +util_maintenance_departure_constant_8_30_am_to_9_00_am,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_type == 'othmaint') & (df.start==12)),coef_maintenance_departure_constant_8_30_am_to_9_00_am +util_maintenance_departure_constant_9_am_to_9_30_am,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_type == 'othmaint') & (df.start==13)),coef_maintenance_departure_constant_9_am_to_9_30_am +util_maintenance_departure_constant_9_30_am_to_10_am,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_type == 'othmaint') & (df.start==14)),coef_maintenance_departure_constant_9_30_am_to_10_am +util_maintenance_departure_constant_10_am_to_10_30_am,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_type == 'othmaint') & (df.start==15)),coef_maintenance_departure_constant_10_am_to_10_30_am +util_maintenance_departure_constant_10_30_am_to_11_am,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.start==16)),coef_maintenance_departure_constant_10_30_am_to_11_am +util_maintenance_departure_constant_after_11_am,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.tour_type == 'othmaint') & (df.start>16)),coef_maintenance_departure_constant_after_11_am +util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear +util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_type == 'othmaint') & (df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared +util_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear +util_maintenance_arrival_constant_before_10_30_am,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.tour_type == 'othmaint') & (df.end<16)),coef_maintenance_arrival_constant_before_10_30_am +util_maintenance_arrival_constant_10_30_am_to_11_am,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.tour_type == 'othmaint') & (df.end==16)),coef_maintenance_arrival_constant_10_30_am_to_11_am +util_maintenance_arrival_constant_11_am_to_11_30_am,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.tour_type == 'othmaint') & (df.end==17)),coef_maintenance_arrival_constant_11_am_to_11_30_am +util_maintenance_arrival_constant_11_30_am_to_1_30_pm,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.tour_type == 'othmaint') & (df.end>=18) & (df.end<=21)),coef_maintenance_arrival_constant_11_30_am_to_1_30_pm +util_maintenance_arrival_constant_1_30_pm_to_2_30_pm,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.tour_type == 'othmaint') & (df.end>=22) & (df.end<=23)),coef_maintenance_arrival_constant_1_30_pm_to_2_30_pm +util_maintenance_arrival_constant_2_30_pm_to_4_pm,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.tour_type == 'othmaint') & (df.end>=24) & (df.end<=26)),coef_maintenance_arrival_constant_2_30_pm_to_4_pm +util_maintenance_arrival_constant_4_pm_to_4_30_pm,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_type == 'othmaint') & (df.end==27)),coef_maintenance_arrival_constant_4_pm_to_4_30_pm +util_maintenance_arrival_constant_after_4_30_pm,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.tour_type == 'othmaint') & (df.end>27)),coef_maintenance_arrival_constant_after_4_30_pm +util_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear +util_maintenance_duration_constant_0_hr,MAINTENANCE - Duration Constant: 0 hr,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_duration_constant_0_hr +util_maintenance_duration_constant_30_minutes,MAINTENANCE - Duration Constant: 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_duration_constant_30_minutes +util_maintenance_duration_constant_longer_than_30_minutes,MAINTENANCE - Duration Constant: Longer than 0.5 hr,@((df.tour_type == 'othmaint') & (df.duration>1)),coef_maintenance_duration_constant_longer_than_30_minutes +util_maintenance_duration_constant_duration_greater_than_1_hr_linear,MAINTENANCE - Duration Constant: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_linear +util_maintenance_duration_constant_duration_greater_than_1_hr_square_root,MAINTENANCE - Duration Constant: Duration > 1 hr - Square Root,"@np.where(((df.tour_type == 'othmaint') & (df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_square_root +util_maintenance_calibration_constant_duration_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.tour_type == 'othmaint') & (df.duration==0)),coef_maintenance_calibration_constant_duration_1 +util_maintenance_calibration_constant_duration_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.tour_type == 'othmaint') & (df.duration==1)),coef_maintenance_calibration_constant_duration_2 +util_maintenance_calibration_constant_duration_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.tour_type == 'othmaint') & (df.duration==2)),coef_maintenance_calibration_constant_duration_3 +util_maintenance_calibration_constant_duration_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.tour_type == 'othmaint') & (df.duration==3)),coef_maintenance_calibration_constant_duration_4 +util_maintenance_calibration_constant_duration_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.tour_type == 'othmaint') & (df.duration==4)),coef_maintenance_calibration_constant_duration_5 +#EAT-OUT,#EAT-OUT,,#EAT-OUT +util_eatout_distance_to_destination_duration_less_than_1_hr,EAT-OUT - Distance to destination - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_less_than_1_hr +util_eatout_distance_to_destination_duration_greater_than_1_hr,EAT-OUT - Distance to destination - Duration > 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_greater_than_1_hr +util_eatout_low_income_duration_less_than_1_hr,EAT-OUT - Low income (<25000) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_low_income_duration_less_than_1_hr +util_eatout_medium_income_duration_less_than_1_hr,EAT-OUT - Medium (25k to 60k) - Duration < 1 hr,"@np.where(((df.tour_type == 'eatout') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_medium_income_duration_less_than_1_hr +util_eatout_zeroauto_HH_duration_greater_than_1_hr,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.tour_type == 'eatout') & (df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_zeroauto_HH_duration_greater_than_1_hr +util_eatout_university_student_departure_after_7_pm_linear,EAT-OUT - University student - Departure after 7:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start>32) & (df.ptype == 3)), (np.where((df.start<=32), np.minimum(32-df.start,29), 0) + np.where((df.start>32), np.minimum(df.start-32,8), 0)), 0)",coef_eatout_university_student_departure_after_7_pm_linear +util_eatout_female_duration_less_than_1_hr,EAT-OUT - Female - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_less_than_1_hr +util_eatout_female_duration_greater_than_1_hr,EAT-OUT - Female - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_greater_than_1_hr +util_eatout_time_pressure_departure_before_6_30_pm,EAT-OUT - Time Pressure - Departure before 6:30 pm,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<32)), (np.minimum(32-df.start,29)) * (np.log10 (30 *(tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_departure_before_6_30_pm +util_eatout_time_pressure_duration_less_than_1_hr,EAT-OUT - Time Pressure - Duration < 1 hrs,"@np.where(((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration<2)), np.minimum(2-df.duration,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_duration_less_than_1_hr +util_eatout_departure_constant_7_30_am_to_9_am,EAT-OUT - Departure Constant: 07:30 AM - 09:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>=10) & (df.start<=12)),coef_eatout_departure_constant_7_30_am_to_9_am +util_eatout_departure_constant_10_30_am_to_11_am,EAT-OUT - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==16)),coef_eatout_departure_constant_10_30_am_to_11_am +util_eatout_departure_constant_11_am_to_11_30_am,EAT-OUT - Departure Constant: 11:00 AM - 11:30 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==17)),coef_eatout_departure_constant_11_am_to_11_30_am +util_eatout_departure_constant_11_30_am_to_12_pm,EAT-OUT - Departure Constant: 11:30 AM - 12:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==18)),coef_eatout_departure_constant_11_30_am_to_12_pm +util_eatout_departure_constant_12_pm_to_12_30_pm,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.start==19)),coef_eatout_departure_constant_12_pm_to_12_30_pm +util_eatout_departure_constant_12_30_pm_to_1_pm,EAT-OUT - Departure Constant: 12:30 PM - 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==20)),coef_eatout_departure_constant_12_30_pm_to_1_pm +util_eatout_departure_constant_1_pm_to_1_30_pm,EAT-OUT - Departure Constant: 01:00 PM - 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==21)),coef_eatout_departure_constant_1_pm_to_1_30_pm +util_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear +util_eatout_departure_constant_before_6_pm,EAT-OUT - Departure Constant: Before 06:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start<31)),coef_eatout_departure_constant_before_6_pm +util_eatout_departure_constant_6_pm_to_6_30_pm,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==31)),coef_eatout_departure_constant_6_pm_to_6_30_pm +util_eatout_departure_constant_6_30_pm_to_7_pm,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==32)),coef_eatout_departure_constant_6_30_pm_to_7_pm +util_eatout_departure_constant_7_pm_to_7_30_pm,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start==33)),coef_eatout_departure_constant_7_pm_to_7_30_pm +util_eatout_departure_constant_after_7_30_pm,EAT-OUT - Departure Constant: After 07:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>33)),coef_eatout_departure_constant_after_7_30_pm +util_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.start>34)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear +util_eatout_arrival_constant_9_30_am_to_11_am,EAT-OUT - Arrival Constant: 9:30 AM to 11:00 AM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>=14) & (df.end<=16)),coef_eatout_arrival_constant_9_30_am_to_11_am +util_eatout_arrival_constant_12_30_pm_to_1_pm,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==20)),coef_eatout_arrival_constant_12_30_pm_to_1_pm +util_eatout_arrival_constant_1_pm_to_1_30_pm,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==21)),coef_eatout_arrival_constant_1_pm_to_1_30_pm +util_eatout_arrival_constant_1_30_pm_to_2_pm,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==22)),coef_eatout_arrival_constant_1_30_pm_to_2_pm +util_eatout_arrival_constant_2_pm_to_2_30_pm,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==23)),coef_eatout_arrival_constant_2_pm_to_2_30_pm +util_eatout_arrival_constant_2_30_pm_to_3_pm,EAT-OUT - Arrival Constant: 02:30 PM to 03:00 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==24)),coef_eatout_arrival_constant_2_30_pm_to_3_pm +util_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<31)),coef_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear +util_eatout_arrival_constant_before_6_30_pm,EAT-OUT - Arrival Constant: Before 6:30 PM,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end<32)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_before_6_30_pm +util_eatout_arrival_constant_6_30_pm_to_7_pm,EAT-OUT - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==32)),coef_eatout_arrival_constant_6_30_pm_to_7_pm +util_eatout_arrival_constant_7_pm_to_7_30_pm,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.end==33)),coef_eatout_arrival_constant_7_pm_to_7_30_pm +util_eatout_arrival_constant_7_30_pm_to_8_pm,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==34)),coef_eatout_arrival_constant_7_30_pm_to_8_pm +util_eatout_arrival_constant_8_pm_to_8_30_pm,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_category != 'joint') &(df.tour_type == 'eatout') & (df.end==35)),coef_eatout_arrival_constant_8_pm_to_8_30_pm +util_eatout_arrival_constant_8_30_pm_to_9_pm,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end==36)),coef_eatout_arrival_constant_8_30_pm_to_9_pm +util_eatout_arrival_constant_after_9_pm,EAT-OUT - Arrival Constant: After 9:00 PM,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.end>36)),coef_eatout_arrival_constant_after_9_pm +util_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear +util_eatout_duration_constant_0_hour,EAT-OUT - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type== 'eatout') & (df.duration==0)),coef_eatout_duration_constant_0_hour +util_eatout_duration_constant_30_minutes,EAT-OUT - Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_duration_constant_30_minutes +util_eatout_duration_constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==2)),coef_eatout_duration_constant_1_hour +util_eatout_duration_constant_1_hour_30_minutes,EAT-OUT - Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_duration_constant_1_hour_30_minutes +util_eatout_duration_constant_2_hours,EAT-OUT - Duration Constant: 2 hours,@((df.tour_category != 'joint')& (df.tour_type == 'eatout') & (df.duration==4)),coef_eatout_duration_constant_2_hours +util_eatout_duration_constant_2_hour_30_minutes_or_more,EAT-OUT - Duration Constant: 2.5 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>4)),coef_eatout_duration_constant_2_hour_30_minutes_or_more +util_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'eatout') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,11), 0)), 0)",coef_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear +util_eatout_calibration_constant_duration_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_calibration_constant_duration_1 +util_eatout_calibration_constant_duration_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_calibration_constant_duration_2 +util_eatout_calibration_constant_duration_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_calibration_constant_duration_3 +util_eatout_calibration_constant_duration_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_calibration_constant_duration_4 +util_eatout_calibration_constant_departure_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.tour_type == 'eatout') & (df.start == 1)),coef_eatout_calibration_constant_departure_1 +util_eatout_calibration_constant_departure_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.tour_type == 'eatout') & (df.start == 2)),coef_eatout_calibration_constant_departure_2 +util_eatout_calibration_constant_departure_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.tour_type== 'eatout') & (df.start == 3)),coef_eatout_calibration_constant_departure_3 +util_eatout_calibration_constant_departure_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.tour_type == 'eatout') & (df.start ==17)),coef_eatout_calibration_constant_departure_17 +util_eatout_calibration_constant_departure_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.tour_type== 'eatout') & (df.start ==18)),coef_eatout_calibration_constant_departure_18 +util_eatout_calibration_constant_departure_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.tour_type == 'eatout') & (df.start ==19)),coef_eatout_calibration_constant_departure_19 +util_eatout_calibration_constant_departure_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.tour_type == 'eatout') & (df.start ==20)),coef_eatout_calibration_constant_departure_20 +util_eatout_calibration_constant_departure_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.tour_type == 'eatout') & (df.start ==21)),coef_eatout_calibration_constant_departure_21 +#SOCIAL,#SOCIAL,,#SOCIAL +util_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear +util_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear +util_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear +util_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear +util_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear +util_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear +util_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear +util_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_type == 'social') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear +"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, +util_social_auto_distance_duration_less_than_1_hr_linear,SOCIAL - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0) * (df.origin_to_destination_distance)",coef_social_auto_distance_duration_less_than_1_hr_linear +util_social_auto_distance_duration_greater_than_1_hr_linear,SOCIAL - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'social') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0) * (df.origin_to_destination_distance) ",coef_social_auto_distance_duration_greater_than_1_hr_linear +util_social_time_pressure_duration_less_than_1_hr,SOCIAL - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), np.minimum(3-df.duration,47), 0)* (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_less_than_1_hr +util_social_time_pressure_duration_greater_than_1_hr,SOCIAL - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>3)), np.minimum(df.duration-3,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_greater_than_1_hr +util_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,SOCIAL - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.num_add_soc_discr_tours), 0)",coef_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr +util_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@(df.tour_type == 'social') & (df.start<12) * ((np.minimum(12-df.start,48)*(df.start<48)) + (np.minimum(df.start-48,48)*(df.start>48)))",coef_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear +util_social_departure_constant_before_9_am,SOCIAL - Departure Constant: Before 09:00 AM,@(df.tour_type == 'social') & (df.start<13),coef_social_departure_constant_before_9_am +util_social_departure_constant_9_am_to_9_30_am,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.tour_type == 'social') & (df.start==13),coef_social_departure_constant_9_am_to_9_30_am +util_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear +util_social_departure_constant_before_5_30_pm,SOCIAL - Departure Constant: Before 05:30 PM,@((df.tour_type == 'social') & (df.start<30)),coef_social_departure_constant_before_5_30_pm +util_social_departure_constant_5_30_pm_to_6_pm,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'social') & (df.start==30)),coef_social_departure_constant_5_30_pm_to_6_pm +util_social_departure_constant_6_pm_to_6_30_pm,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'social') & (df.start==31)),coef_social_departure_constant_6_pm_to_6_30_pm +util_social_departure_constant_6_30_pm_to_7_pm,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'social') & (df.start==32)),coef_social_departure_constant_6_30_pm_to_7_pm +util_social_departure_constant_7_pm_to_7_30_pm,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_type == 'social') & (df.start==33)),coef_social_departure_constant_7_pm_to_7_30_pm +util_social_departure_constant_after_7_30_pm,SOCIAL - Departure Constant: After 07:30 PM,@((df.tour_type == 'social') & (df.start>33)),coef_social_departure_constant_after_7_30_pm +util_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear +util_social_arrival_constant_3_pm_to_3_30_pm,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.tour_type == 'social') & (df.end==25)),coef_social_arrival_constant_3_pm_to_3_30_pm +util_social_arrival_constant_3_30_pm_to_4_pm,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.tour_type == 'social') & (df.end==26)),coef_social_arrival_constant_3_30_pm_to_4_pm +util_social_arrival_constant_4_pm_to_4_30_pm,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.tour_type == 'social') & (df.end==27)),coef_social_arrival_constant_4_pm_to_4_30_pm +util_social_arrival_constant_5_pm_to_6_pm,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.tour_type == 'social') & (df.end>=29) & (df.end<=30)),coef_social_arrival_constant_5_pm_to_6_pm +util_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear +util_social_arrival_constant_before_8_30_pm,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.tour_type == 'social') & (df.end<36)),coef_social_arrival_constant_before_8_30_pm +util_social_arrival_constant_8_30_pm_to_9_pm,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'social') & (df.end==36)),coef_social_arrival_constant_8_30_pm_to_9_pm +util_social_arrival_constant_9_pm_to_9_30_pm,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.tour_type == 'social') & (df.end==37)),coef_social_arrival_constant_9_pm_to_9_30_pm +util_social_arrival_constant_9_30_pm_to_10_pm,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.tour_type == 'social') & (df.end==38)),coef_social_arrival_constant_9_30_pm_to_10_pm +util_social_arrival_constant_10_pm_to_10_30_pm,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.tour_type == 'social') & (df.end==39)),coef_social_arrival_constant_10_pm_to_10_30_pm +util_social_arrival_constant_after_10_30_pm,SOCIAL - Arrival Constant: After 10:30 PM,@((df.tour_type == 'social') & (df.end>39)),coef_social_arrival_constant_after_10_30_pm +util_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.tour_type == 'social') & (df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear +util_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 2.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<5)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>7), np.minimum(df.duration-7,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear +util_social_duration_constant_less_than_3_hours,SOCIAL - Duration Constant: Less than 3 hrs,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration<6)),coef_social_duration_constant_less_than_3_hours +util_social_duration_constant_3_hours,SOCIAL - Duration Constant: 3 hours,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration==6)),coef_social_duration_constant_3_hours +util_social_duration_constant_3_hrs_30_minutes,SOCIAL - Duration Constant: 3.5 hours,@((df.tour_category != 'joint')& (df.tour_type == 'social') & (df.duration==7)),coef_social_duration_constant_3_hrs_30_minutes +util_social_duration_constant_4_hours_or_more,SOCIAL - Duration Constant: 4 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>7)),coef_social_duration_constant_4_hours_or_more +util_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 4.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'social') & (df.duration>8)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>8), np.minimum(df.duration-8,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear +util_social_calibration_constant_duration_1,SOCIAL - Calibration Constant - Duration = 1,@((df.tour_type == 'social') & (df.duration ==0)),coef_social_calibration_constant_duration_1 +util_social_calibration_constant_duration_2,SOCIAL - Calibration Constant - Duration = 2,@((df.tour_type == 'social') & (df.duration == 1)),coef_social_calibration_constant_duration_2 +util_social_calibration_constant_duration_3,SOCIAL - Calibration Constant - Duration = 3,@((df.tour_type == 'social') & (df.duration ==2)),coef_social_calibration_constant_duration_3 +util_social_calibration_constant_duration_4,SOCIAL - Calibration Constant - Duration = 4,@((df.tour_type == 'social') & (df.duration ==3)),coef_social_calibration_constant_duration_4 +util_social_calibration_constant_duration_5,SOCIAL - Calibration Constant - Duration = 5,@((df.tour_type == 'social') & (df.duration ==4)),coef_social_calibration_constant_duration_5 +util_social_calibration_constant_duration_6,SOCIAL - Calibration Constant - Duration = 6,@((df.tour_type == 'social') & (df.duration ==5)),coef_social_calibration_constant_duration_6 +util_social_calibration_constant_duration_7,SOCIAL - Calibration Constant - Duration = 7,@((df.tour_type == 'social') & (df.duration ==6)),coef_social_calibration_constant_duration_7 +util_social_calibration_constant_duration_8,SOCIAL - Calibration Constant - Duration = 8,@((df.tour_type == 'social') & (df.duration ==7)),coef_social_calibration_constant_duration_8 +util_social_calibration_constant_duration_9,SOCIAL - Calibration Constant - Duration = 9,@((df.tour_type == 'social') & (df.duration ==8)),coef_social_calibration_constant_duration_9 +#DISCRETIONARY,#DISCRETIONARY,,#DISCRETIONARY +util_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear +util_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear +util_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear +util_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear +util_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear +util_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear +util_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) & (df.tour_type == 'othdiscr') & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)),0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear +util_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear +"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, +util_discretionary_auto_distance_duration_less_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_less_than_1_hr_linear +util_discretionary_auto_distance_duration_greater_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_greater_than_1_hr_linear +util_discretionary_time_pressure_duration_less_than_1_hr,DISCRETIONARY - Time Pressure - Duration < 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3)), np.minimum(3-df.duration,47), 0) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num))))",coef_discretionary_time_pressure_duration_less_than_1_hr +util_discretionary_time_pressure_duration_greater_than_1_hr,DISCRETIONARY - Time Pressure - Duration > 1 hr,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3)), np.minimum(df.duration-3,47) * (np.log10 (30 * (tt.remaining_periods_available(df.person_id, df.start, df.end)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_discretionary_time_pressure_duration_greater_than_1_hr +util_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,DISCRETIONARY - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0))*(df.num_add_soc_discr_tours),0)",coef_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr +util_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear +util_discretionary_departure_constant_before_7_30_am,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.tour_type == 'othdiscr') & (df.start<10)),coef_discretionary_departure_constant_before_7_30_am +util_discretionary_departure_constant_7_30_am_to_8_am,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.tour_type == 'othdiscr') & (df.start==10)),coef_discretionary_departure_constant_7_30_am_to_8_am +util_discretionary_departure_constant_8_am_to_8_30_am,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.tour_type == 'othdiscr') & (df.start==11)),coef_discretionary_departure_constant_8_am_to_8_30_am +util_discretionary_departure_constant_8_30_am_to_9_am,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.tour_type == 'othdiscr') & (df.start==12)),coef_discretionary_departure_constant_8_30_am_to_9_am +util_discretionary_departure_constant_9_am_to_9_30_am,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.tour_type == 'othdiscr') & (df.start==13)),coef_discretionary_departure_constant_9_am_to_9_30_am +util_discretionary_departure_constant_9_30_am_to_10_am,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.tour_type == 'othdiscr') & (df.start==14)),coef_discretionary_departure_constant_9_30_am_to_10_am +util_discretionary_departure_constant_10_am_to_10_30_am,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.tour_type == 'othdiscr') & (df.start==15)),coef_discretionary_departure_constant_10_am_to_10_30_am +util_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear +util_discretionary_departure_constant_before_5_pm,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.tour_type == 'othdiscr') & (df.start<29)),coef_discretionary_departure_constant_before_5_pm +util_discretionary_departure_constant_5_pm_to_5_30_pm,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_departure_constant_5_pm_to_5_30_pm +util_discretionary_departure_constant_5_30_pm_to_6_pm,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_departure_constant_5_30_pm_to_6_pm +util_discretionary_departure_constant_6_pm_to_6_30_pm,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_departure_constant_6_pm_to_6_30_pm +util_discretionary_departure_constant_6_30_pm_to_7_pm,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_departure_constant_6_30_pm_to_7_pm +util_discretionary_departure_constant_after_7_pm,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.tour_type == 'othdiscr') & (df.start>32)),coef_discretionary_departure_constant_after_7_pm +util_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear +util_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear +util_discretionary_arrival_constant_before_6_30_pm,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.tour_type == 'othdiscr') & (df.end<32)),coef_discretionary_arrival_constant_before_6_30_pm +util_discretionary_arrival_constant_6_30_pm_to_7_pm,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_type == 'othdiscr') & (df.end==32)),coef_discretionary_arrival_constant_6_30_pm_to_7_pm +util_discretionary_arrival_constant_7_pm_to_7_30_pm,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_type == 'othdiscr') & (df.end==33)),coef_discretionary_arrival_constant_7_pm_to_7_30_pm +util_discretionary_arrival_constant_7_30_pm_to_8_pm,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_type == 'othdiscr') & (df.end==34)),coef_discretionary_arrival_constant_7_30_pm_to_8_pm +util_discretionary_arrival_constant_8_pm_to_8_30_pm,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_type == 'othdiscr') & (df.end==35)),coef_discretionary_arrival_constant_8_pm_to_8_30_pm +util_discretionary_arrival_constant_8_30_pm_to_9_pm,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end==36)),coef_discretionary_arrival_constant_8_30_pm_to_9_pm +util_discretionary_arrival_constant_after_9_pm,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.tour_type == 'othdiscr') & (df.end>36)),coef_discretionary_arrival_constant_after_9_pm +util_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_type == 'othdiscr') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear +util_discretionary_duration_constant_0_hour,DISCRETIONARY - Duration Constant: 0 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==0)),coef_discretionary_duration_constant_0_hour +util_discretionary_duration_constant_30_minutes,DISCRETIONARY -Duration Constant: 0.5 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==1)),coef_discretionary_duration_constant_30_minutes +util_discretionary_duration_constant_1_hour,DISCRETIONARY -Duration Constant: 1 hour,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==2)),coef_discretionary_duration_constant_1_hour +util_discretionary_duration_constant_1_hr_30_minutes,DISCRETIONARY -Duration Constant: 1.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_duration_constant_1_hr_30_minutes +util_discretionary_duration_constant_2_hours,DISCRETIONARY -Duration Constant: 2 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_duration_constant_2_hours +util_discretionary_duration_constant_2_hr_30_minutes,DISCRETIONARY -Duration Constant: 2.5 hours,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration==5)),coef_discretionary_duration_constant_2_hr_30_minutes +util_discretionary_duration_constant_3_hours_or_more,DISCRETIONARY -Duration Constant: 3 hours or more,@((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>5)),coef_discretionary_duration_constant_3_hours_or_more +util_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,DISCRETIONARY -Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category != 'joint') & (df.tour_type == 'othdiscr') & (df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,47), 0)), 0)",coef_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear +util_discretionary_calibration_constant_duration_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.tour_type == 'othdiscr') & (df.duration==3)),coef_discretionary_calibration_constant_duration_4 +util_discretionary_calibration_constant_duration_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.tour_type == 'othdiscr') & (df.duration==4)),coef_discretionary_calibration_constant_duration_5 +util_discretionary_calibration_constant_departure_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.tour_type == 'othdiscr') & (df.start==29)),coef_discretionary_calibration_constant_departure_29 +util_discretionary_calibration_constant_departure_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.tour_type == 'othdiscr') & (df.start==30)),coef_discretionary_calibration_constant_departure_30 +util_discretionary_calibration_constant_departure_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.tour_type == 'othdiscr') & (df.start==31)),coef_discretionary_calibration_constant_departure_31 +util_discretionary_calibration_constant_departure_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.tour_type == 'othdiscr') & (df.start==32)),coef_discretionary_calibration_constant_departure_32 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shopping.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shopping.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shopping.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shopping.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shopping_coefficients.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shopping_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shopping_coefficients.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shopping_coefficients.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_social.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_social.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_social.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_social.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_social_coefficients.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_social_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_social_coefficients.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_social_coefficients.csv diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_school.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_school.csv new file mode 100755 index 0000000000..f84c333d4b --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_school.csv @@ -0,0 +1,59 @@ +Label,Description,Expression,Coefficient +util_Mode_Choice_Logsum,SCHOOL - Mode Choice Logsum,mode_choice_logsum,coef_Mode_Choice_Logsum +util_Low_income_lt25000_Departure_before_730_am__Linear,SCHOOL - Low income (<25000) - Departure before 7:30 am - Linear,"@((df.is_income_less25K) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Low_income_lt25000_Departure_before_730_am__Linear +util_Low_income_lt25000_Departure_after_800_am_Linear,SCHOOL - Low income (<25000) - Departure after 8:00 am - Linear,"@((df.is_income_less25K) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Low_income_lt25000_Departure_after_800_am_Linear +util_Low_income_lt25000_Duration_lt_8hrs,SCHOOL - Low income (<25000) - Duration < 8hrs,"@((df.is_income_less25K) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Low_income_lt25000_Duration_lt_8hrs +util_Low_income_lt25000_Duration_gt_8hrs,SCHOOL - Low income (<25000) - Duration > 8hrs,"@((df.is_income_less25K) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Low_income_lt25000_Duration_gt_8hrs +util_Med_income_25k_to_60k_Departure_before_730_am__Linear,SCHOOL - Med income (25k to 60k) - Departure before 7:30 am - Linear,"@((df.is_income_25K_to_60K) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Med_income_25k_to_60k_Departure_before_730_am__Linear +util_Age_0_to_5_yrs_Departure_Before_730_am,SCHOOL - Age 0 to 5 yrs - Departure Before 7:30 am,"@(((df.age>=0) & (df.age<=5)) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_0_to_5_yrs_Departure_Before_730_am +util_Age_13_to_15_yrs_Departure_Before_730_am,SCHOOL - Age 13 to 15 yrs - Departure Before 7:30 am,"@(((df.age>=13) & (df.age<=15)) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_13_to_15_yrs_Departure_Before_730_am +util_Age_13_to_15_yrs_Departure_After_800_am,SCHOOL - Age 13 to 15 yrs - Departure After 8:00 am,"@(((df.age>=13) & (df.age<=15)) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_13_to_15_yrs_Departure_After_800_am +util_Age_16_to_17_yrs_Departure_After_800_am,SCHOOL - Age 16 to 17 yrs - Departure After 8:00 am,"@(((df.age>=16) & (df.age<=17)) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_16_to_17_yrs_Departure_After_800_am +util_Age_0_to_5_yrs_Duration_lt_8hrs,SCHOOL - Age 0 to 5 yrs - Duration < 8hrs,"@(((df.age>0) & (df.age<=5)) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_0_to_5_yrs_Duration_lt_8hrs +util_Age_0_to_5_yrs_Duration_gt_8hrs,SCHOOL - Age 0 to 5 yrs - Duration > 8hrs,"@(((df.age>0) & (df.age<=5)) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_0_to_5_yrs_Duration_gt_8hrs +util_Age_13_to_15_yrs_Duration_lt_8hrs,SCHOOL - Age 13 to 15 yrs - Duration < 8hrs,"@(((df.age>=13) & (df.age<=15)) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_13_to_15_yrs_Duration_lt_8hrs +util_Age_13_to_15_yrs_Duration_gt_8hrs,SCHOOL - Age 13 to 15 yrs - Duration > 8hrs,"@(((df.age>=13) & (df.age<=15)) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_13_to_15_yrs_Duration_gt_8hrs +util_Age_16_to_17_yrs_Duration_gt_8hrs,SCHOOL - Age 16 to 17 yrs - Duration > 8hrs,"@(((df.age>=16) & (df.age<=17)) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_16_to_17_yrs_Duration_gt_8hrs +util_Time_SOV_freeflow_to_destination_Departure_before_730_am__Linear,SCHOOL - Time (SOV freeflow) to destination - Departure before 7:30 am - Linear,"@(df.start<10) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Departure_before_730_am__Linear +util_Time_SOV_freeflow_to_destination_Departure_after_800_am_Linear,SCHOOL - Time (SOV freeflow) to destination - Departure after 8:00 am - Linear,"@(df.start>10) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Departure_after_800_am_Linear +util_Time_SOV_freeflow_to_destination_Duration_lt_8hrs,SCHOOL - Time (SOV freeflow) to destination - Duration < 8hrs,"@(df.end<27) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Duration_lt_8hrs +util_Time_SOV_freeflow_to_destination_Duration_gt_8hrs,SCHOOL - Time (SOV freeflow) to destination - Duration > 8hrs,"@(df.end>27) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Duration_gt_8hrs +util_All_adults_in_the_household_are_fulltime_workers_Departure_before_730_am__Linear,SCHOOL - All adults in the household are fulltime workers - Departure before 7:30 am - Linear,"@((df.is_all_adults_full_time_workers) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_All_adults_in_the_household_are_fulltime_workers_Departure_before_730_am__Linear +util_All_adults_in_the_household_are_fulltime_workers_Departure_after_800_am_Linear,SCHOOL - All adults in the household are fulltime workers - Departure after 8:00 am - Linear,"@((df.is_all_adults_full_time_workers) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_All_adults_in_the_household_are_fulltime_workers_Departure_after_800_am_Linear +util_All_adults_in_the_household_are_fulltime_workers_Duration_lt_8hrs,SCHOOL - All adults in the household are fulltime workers - Duration < 8hrs,"@((df.is_all_adults_full_time_workers) & (df.end<27)) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27)))",coef_All_adults_in_the_household_are_fulltime_workers_Duration_lt_8hrs +util_All_adults_in_the_household_are_fulltime_workers_Duration_gt_8hrs,SCHOOL - All adults in the household are fulltime workers - Duration > 8hrs,"@((df.is_all_adults_full_time_workers) & (df.end>27)) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27)))",coef_All_adults_in_the_household_are_fulltime_workers_Duration_gt_8hrs +util_Subsequent_tour_is_work_tour_Duration_lt_8_hours,SCHOOL - Subsequent tour is work tour: Duration < 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work') & (df.duration<8))) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_lt_8_hours +util_Subsequent_tour_is_work_tour_Duration_gt_8_hours,SCHOOL - Subsequent tour is work tour: Duration > 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work') & (df.duration>8))) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_gt_8_hours +util_Subsequent_tour_is_school_tour_Departure_after_800_am,SCHOOL - Subsequent tour is school tour: Departure after 8:00 am,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.start>10))) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Subsequent_tour_is_school_tour_Departure_after_800_am +util_Subsequent_tour_is_school_tour_Duration_lt_8_hours,SCHOOL - Subsequent tour is school tour: Duration < 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.duration<8))) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_lt_8_hours +util_Subsequent_tour_is_school_tour_Duration_gt_8_hours,SCHOOL - Subsequent tour is school tour: Duration > 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.duration>8))) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_gt_8_hours +util_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,SCHOOL - Second tour of two mandatory tours: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<7)) * ((np.minimum(7-df.duration,47)*(df.duration<=7)) + (np.minimum(df.duration-7,47)*(df.duration>7)))",coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours +util_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,SCHOOL - Second tour of two mandatory tours: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration>7)) * ((np.minimum(7-df.duration,47)*(df.duration<=7)) + (np.minimum(df.duration-7,47)*(df.duration>7)))",coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours +util_Departure_Constant_Before_0600_AM,SCHOOL - Departure Constant: Before 06:00 AM,@(df.start<7),coef_Departure_Constant_Before_0600_AM +util_Departure_Constant_0600_AM_to_0630_AM_7,SCHOOL - Departure Constant: 06:00 AM to 06:30 AM (7),@(df.start==7),coef_Departure_Constant_0600_AM_to_0630_AM_7 +util_Departure_Constant_0630_AM_to_0700_AM_8,SCHOOL - Departure Constant: 06:30 AM to 07:00 AM (8),@(df.start==8),coef_Departure_Constant_0630_AM_to_0700_AM_8 +util_Departure_Constant_0700_AM_to_0730_AM_9,SCHOOL - Departure Constant: 07:00 AM to 07:30 AM (9),@(df.start==9),coef_Departure_Constant_0700_AM_to_0730_AM_9 +util_Departure_Constant_0730_AM_to_0800_AM_10,SCHOOL - Departure Constant: 07:30 AM to 08:00 AM (10),@(df.start==10),coef_Departure_Constant_0730_AM_to_0800_AM_10 +util_Departure_Constant_After_0800_AM,SCHOOL - Departure Constant: After 08:00 AM,@(df.start>10),coef_Departure_Constant_After_0800_AM +util_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Linear,SCHOOL - Departure Constant: Shift for every 30 minutes after 8:30 am - Linear,"@((df.start>11)) * ((np.minimum(7-df.start,48)*(df.start<7)) + (np.minimum(df.start-11,23)*(df.start>11)))",coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Linear +util_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Square_Root,SCHOOL - Departure Constant: Shift for every 30 minutes after 8:30 am - Square Root,"@((df.start>11)) * (((np.minimum(7-df.start,48)*(df.start<7)) + (np.minimum(df.start-11,23)*(df.start>11))) ** 0.5)",coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Square_Root +util_Arrival_Constant_Before_0230_PM,SCHOOL - Arrival Constant: Before 02:30 PM,@(df.end<24),coef_Arrival_Constant_Before_0230_PM +util_Arrival_Constant_0230_PM_0300_PM_24_,SCHOOL - Arrival Constant: 02:30 PM - 03:00 PM (24) ,@(df.end==24),coef_Arrival_Constant_0230_PM_0300_PM_24_ +util_Arrival_Constant_0300_PM_0330_PM_25_,SCHOOL - Arrival Constant: 03:00 PM - 03:30 PM (25) ,@(df.end==25),coef_Arrival_Constant_0300_PM_0330_PM_25_ +util_Arrival_Constant_0330_PM_0400_PM_26_,SCHOOL - Arrival Constant: 03:30 PM - 04:00 PM (26) ,@(df.end==26),coef_Arrival_Constant_0330_PM_0400_PM_26_ +util_Arrival_Constant_0400_PM_0430_PM_27_,SCHOOL - Arrival Constant: 04:00 PM - 04:30 PM (27) ,@(df.end==27),coef_Arrival_Constant_0400_PM_0430_PM_27_ +util_Arrival_Constant_0430_PM_0500_PM_28_,SCHOOL - Arrival Constant: 04:30 PM - 05:00 PM (28) ,@(df.end==28),coef_Arrival_Constant_0430_PM_0500_PM_28_ +util_Arrival_Constant_0500_PM_0530_PM_29,SCHOOL - Arrival Constant: 05:00 PM - 05:30 PM (29),@(df.end==29),coef_Arrival_Constant_0500_PM_0530_PM_29 +util_Arrival_Constant_0530_PM_0600_PM_30_,SCHOOL - Arrival Constant: 05:30 PM - 06:00 PM (30) ,@(df.end==30),coef_Arrival_Constant_0530_PM_0600_PM_30_ +util_Arrival_Constant_After_0600_PM,SCHOOL - Arrival Constant: After 06:00 PM,@(df.end>30),coef_Arrival_Constant_After_0600_PM +util_Arrival_Constant_Shift_for_every_30_minutes_after_630_pm_Linear,SCHOOL - Arrival Constant: Shift for every 30 minutes after 6:30 pm - Linear,"@(df.end>31) * ((np.minimum(24-df.end,6)*(df.end<24)) + (np.minimum(df.end-31,12)*(df.end>31)))",coef_Arrival_Constant_Shift_for_every_30_minutes_after_630_pm_Linear +util_Duration_Constant_Shift_for_every_30_minutes_less_than_6p5_hrs_Linear,SCHOOL - Duration Constant: Shift for every 30 minutes less than 6.5 hrs - Linear,"@((df.duration<13)) * ((np.minimum(13-df.duration,48)*(df.duration<13)) + (np.minimum(df.duration-19,9)*(df.duration>19)))",coef_Duration_Constant_Shift_for_every_30_minutes_less_than_6p5_hrs_Linear +util_Duration_Constant_Shorter_than_7_hrs,SCHOOL - Duration Constant: Shorter than 7 hrs,@(df.duration<14),coef_Duration_Constant_Shorter_than_7_hrs +util_Duration_Constant_7_hours,SCHOOL - Duration Constant: 7 hours,@(df.duration==14),coef_Duration_Constant_7_hours +util_Duration_Constant_7p5_hours,SCHOOL - Duration Constant: 7.5 hours,@(df.duration==15),coef_Duration_Constant_7p5_hours +util_Duration_Constant_8_hours,SCHOOL - Duration Constant: 8 hours,@(df.duration==16),coef_Duration_Constant_8_hours +util_Duration_Constant_8p5_hours,SCHOOL - Duration Constant: 8.5 hours,@(df.duration==17),coef_Duration_Constant_8p5_hours +util_Duration_Constant_9_hours,SCHOOL - Duration Constant: 9 hours,@(df.duration==18),coef_Duration_Constant_9_hours +util_Duration_Constant_Longer_than_9_hrs,SCHOOL - Duration Constant: Longer than 9 hrs,@(df.duration>18),coef_Duration_Constant_Longer_than_9_hrs +util_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Linear,SCHOOL - Duration Constant: Shift for every 30 minutes more than 9.5 hrs - Linear,"@(df.duration>19) * ((np.minimum(13-df.duration,47)*(df.duration<13)) + (np.minimum(df.duration-19,9)*(df.duration>19)))",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Linear +util_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Squared,SCHOOL - Duration Constant: Shift for every 30 minutes more than 9.5 hrs - Squared,"@(df.duration>19) * (((np.minimum(13-df.duration,47)*(df.duration<13)) + (np.minimum(df.duration-19,9)*(df.duration>19))) ** 2)",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Squared diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_school_coeffs.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_school_coeffs.csv new file mode 100755 index 0000000000..589b4ce61c --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_school_coeffs.csv @@ -0,0 +1,59 @@ +coefficient_name,value,constrain +coef_Mode_Choice_Logsum,0.524017431,F +coef_Low_income_lt25000_Departure_before_730_am__Linear,0.134574548,F +coef_Low_income_lt25000_Departure_after_800_am_Linear,-0.075554725,F +coef_Low_income_lt25000_Duration_lt_8hrs,-0.150039779,F +coef_Low_income_lt25000_Duration_gt_8hrs,-0.043562413,F +coef_Med_income_25k_to_60k_Departure_before_730_am__Linear,0.102594589,F +coef_Age_0_to_5_yrs_Departure_Before_730_am,-0.178916721,F +coef_Age_13_to_15_yrs_Departure_Before_730_am,-0.164708594,F +coef_Age_13_to_15_yrs_Departure_After_800_am,0.169641715,F +coef_Age_16_to_17_yrs_Departure_After_800_am,0.077527892,F +coef_Age_0_to_5_yrs_Duration_lt_8hrs,0.254486164,F +coef_Age_0_to_5_yrs_Duration_gt_8hrs,0.14409403,F +coef_Age_13_to_15_yrs_Duration_lt_8hrs,-0.211129273,F +coef_Age_13_to_15_yrs_Duration_gt_8hrs,0.102348303,F +coef_Age_16_to_17_yrs_Duration_gt_8hrs,0.1184616,F +coef_Time_SOV_freeflow_to_destination_Departure_before_730_am__Linear,0.011813391,F +coef_Time_SOV_freeflow_to_destination_Departure_after_800_am_Linear,-0.0088956,F +coef_Time_SOV_freeflow_to_destination_Duration_lt_8hrs,-0.011793416,F +coef_Time_SOV_freeflow_to_destination_Duration_gt_8hrs,0.001485453,F +coef_All_adults_in_the_household_are_fulltime_workers_Departure_before_730_am__Linear,0.1625279,F +coef_All_adults_in_the_household_are_fulltime_workers_Departure_after_800_am_Linear,-0.161840551,F +coef_All_adults_in_the_household_are_fulltime_workers_Duration_lt_8hrs,-0.233061473,F +coef_All_adults_in_the_household_are_fulltime_workers_Duration_gt_8hrs,0.08462748,F +coef_Subsequent_tour_is_work_tour_Duration_lt_8_hours,0.154332088,F +coef_Subsequent_tour_is_work_tour_Duration_gt_8_hours,-0.62871831,F +coef_Subsequent_tour_is_school_tour_Departure_after_800_am,-0.41618671,F +coef_Subsequent_tour_is_school_tour_Duration_lt_8_hours,0.261423274,F +coef_Subsequent_tour_is_school_tour_Duration_gt_8_hours,-0.263857404,F +coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,-0.537535787,F +coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,-0.545479806,F +coef_Departure_Constant_Before_0600_AM,-10.04417122,F +coef_Departure_Constant_0600_AM_to_0630_AM_7,-3.792318538,F +coef_Departure_Constant_0630_AM_to_0700_AM_8,-1.941704371,F +coef_Departure_Constant_0700_AM_to_0730_AM_9,-0.558080224,F +coef_Departure_Constant_0730_AM_to_0800_AM_10,0,T +coef_Departure_Constant_After_0800_AM,-0.280439854,F +coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Linear,0.293697164,F +coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Square_Root,-1.220165702,F +coef_Arrival_Constant_Before_0230_PM,0.720751128,F +coef_Arrival_Constant_0230_PM_0300_PM_24_,1.605012317,F +coef_Arrival_Constant_0300_PM_0330_PM_25_,0.463502951,F +coef_Arrival_Constant_0330_PM_0400_PM_26_,0.196107179,F +coef_Arrival_Constant_0400_PM_0430_PM_27_,0,T +coef_Arrival_Constant_0430_PM_0500_PM_28_,-0.389421484,F +coef_Arrival_Constant_0500_PM_0530_PM_29,-1.412720271,F +coef_Arrival_Constant_0530_PM_0600_PM_30_,-1.938567609,F +coef_Arrival_Constant_After_0600_PM,-2.246103785,F +coef_Arrival_Constant_Shift_for_every_30_minutes_after_630_pm_Linear,-0.552223894,F +coef_Duration_Constant_Shift_for_every_30_minutes_less_than_6p5_hrs_Linear,-0.249724903,F +coef_Duration_Constant_Shorter_than_7_hrs,-2.791243553,F +coef_Duration_Constant_7_hours,-1.679006455,F +coef_Duration_Constant_7p5_hours,-0.555288612,F +coef_Duration_Constant_8_hours,0,T +coef_Duration_Constant_8p5_hours,-0.139412248,F +coef_Duration_Constant_9_hours,-0.509620713,F +coef_Duration_Constant_Longer_than_9_hrs,-0.561449384,F +coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Linear,0.379484906,F +coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Squared,-0.028814477,F diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_university.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_university.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/tour_scheduling_university.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_university.csv index 7f6e5bdccf..9617383a48 100755 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_university.csv +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_university.csv @@ -1,42 +1,42 @@ -Label,Description,Expression,Coefficient -util_Mode_Choice_Logsum,UNIVERSITY - Mode Choice Logsum,mode_choice_logsum,coef_Mode_Choice_Logsum -util_Low_income_lt25000_Departure_before_800_am_Linear,UNIVERSITY - Low income (<25000) - Departure before 8:00 am - Linear,"@((df.is_income_less25K) & (df.start<11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Low_income_lt25000_Departure_before_800_am_Linear -util_Low_income_lt25000_Duration_lt_4hrs,UNIVERSITY - Low income (<25000) - Duration < 4hrs,"@((df.is_income_less25K) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Low_income_lt25000_Duration_lt_4hrs -util_Medium_high_income_60k_to_120k_Departure_after_830_am_Linear,UNIVERSITY - Medium high income (60k to 120k) - Departure after 8:30 am - Linear,"@((df.is_income_60K_to_120K) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Medium_high_income_60k_to_120k_Departure_after_830_am_Linear -util_Medium_high_income_60k_to_120k_Duration_gt_4hrs,UNIVERSITY - Medium high income (60k to 120k) - Duration > 4hrs,"@((df.is_income_60K_to_120K) & (df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Medium_high_income_60k_to_120k_Duration_gt_4hrs -util_High_income_120k_plus_Departure_after_830_am_Linear,UNIVERSITY - High income (120k+) - Departure after 8:30 am - Linear,"@((df.is_income_greater120K) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_High_income_120k_plus_Departure_after_830_am_Linear -util_Age_41_plus_Departure_after_830_am_Linear,UNIVERSITY - Age 41+ - Departure after 8:30 am - Linear,"@((df.age >= 41) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Age_41_plus_Departure_after_830_am_Linear -util_Age_41_plus_Durationlt_4_hrs_Linear,UNIVERSITY - Age 41+ - Duration< 4 hrs -Linear,"@((df.age >= 41) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Age_41_plus_Durationlt_4_hrs_Linear -util_Distance_to_destination_Departure_before_800_am_Linear,UNIVERSITY - Distance to destination - Departure before 8:00 am - Linear,"@((df.start<11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))*(df.distance_to_school)",coef_Distance_to_destination_Departure_before_800_am_Linear -util_Distance_to_destination_Departure_after_830_am_Linear,UNIVERSITY - Distance to destination - Departure after 8:30 am - Linear,"@((df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))*(df.distance_to_school)",coef_Distance_to_destination_Departure_after_830_am_Linear -util_Distance_to_destination_Durationlt_4_hrs_Linear,UNIVERSITY - Distance to destination - Duration< 4 hrs -Linear,"@((df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))*(df.distance_to_school)",coef_Distance_to_destination_Durationlt_4_hrs_Linear -util_Distance_to_destination_Durationgt_4_hrs_Linear,UNIVERSITY - Distance to destination - Duration> 4 hrs- Linear,"@((df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))*(df.distance_to_school)",coef_Distance_to_destination_Durationgt_4_hrs_Linear -util_Distance_to_destination_Durationlt_4_hrs_Square_Root,UNIVERSITY - Distance to destination - Duration< 4 hrs - Square Root,"@((df.duration<8))*(abs(((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))) ** 0.5)*(df.distance_to_school)",coef_Distance_to_destination_Durationlt_4_hrs_Square_Root -util_Subsequent_tour_is_work_tour_Departure_after_830_am,UNIVERSITY - Subsequent tour is work tour: Departure after 8:30 am,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work') & (df.start>11)))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Subsequent_tour_is_work_tour_Departure_after_830_am -util_Subsequent_tour_is_work_tour_Duration_lt_4_hours,UNIVERSITY - Subsequent tour is work tour: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work') & (df.duration<8)))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_lt_4_hours -util_Subsequent_tour_is_work_tour_Duration_gt_4_hours,UNIVERSITY - Subsequent tour is work tour: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work') & (df.duration>8)))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_gt_4_hours -util_Subsequent_tour_is_school_tour_Departure_after_830_am,UNIVERSITY - Subsequent tour is school tour: Departure after 8:30 am,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.start>11)))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Subsequent_tour_is_school_tour_Departure_after_830_am -util_Subsequent_tour_is_school_tour_Duration_lt_4_hours,UNIVERSITY - Subsequent tour is school tour: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.duration<8)))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_lt_4_hours -util_Subsequent_tour_is_school_tour_Duration_gt_4_hours,UNIVERSITY - Subsequent tour is school tour: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.duration>8)))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_gt_4_hours -util_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,UNIVERSITY - Second tour of two mandatory tours: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours -util_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,UNIVERSITY - Second tour of two mandatory tours: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours -util_Departure_Constant_Shift_for_every_30_minutes_before_0700_am_Linear,UNIVERSITY - Departure Constant: Shift for every 30 minutes before 07:00 am - Linear,"@((df.start<9))*((np.minimum(9-df.start,6)*(df.start<9)) + (np.minimum(df.start-13,20)*(df.start>13)))",coef_Departure_Constant_Shift_for_every_30_minutes_before_0700_am_Linear -util_Departure_Constant_Before_0730_AM,UNIVERSITY - Departure Constant: Before 07:30 AM,@(df.start<10),coef_Departure_Constant_Before_0730_AM -util_Departure_Constant_0730_AM_0800_AM,UNIVERSITY - Departure Constant: 07:30 AM - 08:00 AM,@(df.start==10),coef_Departure_Constant_0730_AM_0800_AM -util_Departure_Constant_0800_AM_0830_AM,UNIVERSITY - Departure Constant: 08:00 AM - 08:30 AM,@(df.start==11),coef_Departure_Constant_0800_AM_0830_AM -util_Departure_Constant_0830_AM_0900_AM,UNIVERSITY - Departure Constant: 08:30 AM - 09:00 AM,@(df.start==12),coef_Departure_Constant_0830_AM_0900_AM -util_Departure_Constant_After_0900_AM,UNIVERSITY - Departure Constant: After 09:00 AM,@(df.start>12),coef_Departure_Constant_After_0900_AM -util_Departure_Constant_Shift_for_every_30_minutes_after_0930_am_Square_Root,UNIVERSITY - Departure Constant: Shift for every 30 minutes after 09:30 am - Square Root,"@((df.start>13))*(((np.minimum(9-df.start,6)*(df.start<9)) + (np.minimum(df.start-13,20)*(df.start>13))) ** 0.5)",coef_Departure_Constant_Shift_for_every_30_minutes_after_0930_am_Square_Root -util_Arrival_Constant_Shift_for_every_30_minutes_before_0230_pm_Linear,UNIVERSITY - Arrival Constant: Shift for every 30 minutes before 02:30 pm - Linear,"@((df.end<24)) * ((np.minimum(24-df.end,12) * (df.end<24)) + (np.minimum(df.end-28,19) * (df.end>28)))",coef_Arrival_Constant_Shift_for_every_30_minutes_before_0230_pm_Linear -util_Arrival_Constant_Before_0300_PM,UNIVERSITY - Arrival Constant: Before 03:00 PM,@((df.end<25)),coef_Arrival_Constant_Before_0300_PM -util_Arrival_Constant_0300_PM_0330_PM,UNIVERSITY - Arrival Constant: 03:00 PM - 03:30 PM,@(df.end==25),coef_Arrival_Constant_0300_PM_0330_PM -util_Arrival_Constant_0330_PM_0400_PM,UNIVERSITY - Arrival Constant: 03:30 PM - 04:00 PM,@(df.end==26),coef_Arrival_Constant_0330_PM_0400_PM -util_Arrival_Constant_0400_PM_0430_PM,UNIVERSITY - Arrival Constant: 04:00 PM - 04:30 PM,@(df.end==27),coef_Arrival_Constant_0400_PM_0430_PM -util_Arrival_Constant_After_0430_PM,UNIVERSITY - Arrival Constant: After 04:30 PM,@(df.end>27),coef_Arrival_Constant_After_0430_PM -util_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Linear,UNIVERSITY - Arrival Constant: Shift for every 30 minutes after 05:00 pm - Linear,"@((df.end>28))*((np.minimum(24-df.end,12)*(df.end<24)) + (np.minimum(df.end-28,19)*(df.end>28)))",coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Linear -util_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Square_Root,UNIVERSITY - Arrival Constant: Shift for every 30 minutes after 05:00 pm - Square Root,"@((df.end>28)) *(((np.minimum(24-df.end,12)*(df.end<24)) + (np.minimum(df.end-28,19)*(df.end>28))) ** 0.5)",coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Square_Root -util_Duration_Constant_Shift_for_every_30_minutes_less_than_4p5_hrs_Square_Root,UNIVERSITY - Duration Constant: Shift for every 30 minutes less than 4.5 hrs - Square Root,"@((df.duration<9))*((np.minimum(9-df.duration,7)*(df.duration<9)) + (np.minimum(df.duration-11,25)*(df.duration>11)))",coef_Duration_Constant_Shift_for_every_30_minutes_less_than_4p5_hrs_Square_Root -util_Duration_Constant_4p5_hours_or_less,UNIVERSITY - Duration Constant: 4.5 hours or less,@(df.duration<10),coef_Duration_Constant_4p5_hours_or_less -util_Duration_Constant_5_hours,UNIVERSITY - Duration Constant: 5 hours,@(df.duration==10),coef_Duration_Constant_5_hours -util_Duration_Constant_5p5_hours_or_more,UNIVERSITY - Duration Constant: 5.5 hours or more,@(df.duration>10),coef_Duration_Constant_5p5_hours_or_more -util_Duration_Constant_Shift_for_every_30_minutes_more_than_5p5_hrs_Linear,UNIVERSITY - Duration Constant: Shift for every 30 minutes more than 5.5 hrs - Linear,"@((df.duration>11))*(((np.minimum(9-df.duration,7)*(df.duration<9)) + (np.minimum(df.duration-11,25)*(df.duration>11))) ** 0.5)",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_5p5_hrs_Linear +Label,Description,Expression,Coefficient +util_Mode_Choice_Logsum,UNIVERSITY - Mode Choice Logsum,mode_choice_logsum,coef_Mode_Choice_Logsum +util_Low_income_lt25000_Departure_before_800_am_Linear,UNIVERSITY - Low income (<25000) - Departure before 8:00 am - Linear,"@((df.is_income_less25K) & (df.start<11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Low_income_lt25000_Departure_before_800_am_Linear +util_Low_income_lt25000_Duration_lt_4hrs,UNIVERSITY - Low income (<25000) - Duration < 4hrs,"@((df.is_income_less25K) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Low_income_lt25000_Duration_lt_4hrs +util_Medium_high_income_60k_to_120k_Departure_after_830_am_Linear,UNIVERSITY - Medium high income (60k to 120k) - Departure after 8:30 am - Linear,"@((df.is_income_60K_to_120K) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Medium_high_income_60k_to_120k_Departure_after_830_am_Linear +util_Medium_high_income_60k_to_120k_Duration_gt_4hrs,UNIVERSITY - Medium high income (60k to 120k) - Duration > 4hrs,"@((df.is_income_60K_to_120K) & (df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Medium_high_income_60k_to_120k_Duration_gt_4hrs +util_High_income_120k_plus_Departure_after_830_am_Linear,UNIVERSITY - High income (120k+) - Departure after 8:30 am - Linear,"@((df.is_income_greater120K) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_High_income_120k_plus_Departure_after_830_am_Linear +util_Age_41_plus_Departure_after_830_am_Linear,UNIVERSITY - Age 41+ - Departure after 8:30 am - Linear,"@((df.age >= 41) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Age_41_plus_Departure_after_830_am_Linear +util_Age_41_plus_Durationlt_4_hrs_Linear,UNIVERSITY - Age 41+ - Duration< 4 hrs -Linear,"@((df.age >= 41) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Age_41_plus_Durationlt_4_hrs_Linear +util_Distance_to_destination_Departure_before_800_am_Linear,UNIVERSITY - Distance to destination - Departure before 8:00 am - Linear,"@((df.start<11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))*(df.distance_to_school)",coef_Distance_to_destination_Departure_before_800_am_Linear +util_Distance_to_destination_Departure_after_830_am_Linear,UNIVERSITY - Distance to destination - Departure after 8:30 am - Linear,"@((df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))*(df.distance_to_school)",coef_Distance_to_destination_Departure_after_830_am_Linear +util_Distance_to_destination_Durationlt_4_hrs_Linear,UNIVERSITY - Distance to destination - Duration< 4 hrs -Linear,"@((df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))*(df.distance_to_school)",coef_Distance_to_destination_Durationlt_4_hrs_Linear +util_Distance_to_destination_Durationgt_4_hrs_Linear,UNIVERSITY - Distance to destination - Duration> 4 hrs- Linear,"@((df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))*(df.distance_to_school)",coef_Distance_to_destination_Durationgt_4_hrs_Linear +util_Distance_to_destination_Durationlt_4_hrs_Square_Root,UNIVERSITY - Distance to destination - Duration< 4 hrs - Square Root,"@((df.duration<8))*(abs(((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))) ** 0.5)*(df.distance_to_school)",coef_Distance_to_destination_Durationlt_4_hrs_Square_Root +util_Subsequent_tour_is_work_tour_Departure_after_830_am,UNIVERSITY - Subsequent tour is work tour: Departure after 8:30 am,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work') & (df.start>11)))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Subsequent_tour_is_work_tour_Departure_after_830_am +util_Subsequent_tour_is_work_tour_Duration_lt_4_hours,UNIVERSITY - Subsequent tour is work tour: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work') & (df.duration<8)))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_lt_4_hours +util_Subsequent_tour_is_work_tour_Duration_gt_4_hours,UNIVERSITY - Subsequent tour is work tour: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work') & (df.duration>8)))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_gt_4_hours +util_Subsequent_tour_is_school_tour_Departure_after_830_am,UNIVERSITY - Subsequent tour is school tour: Departure after 8:30 am,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.start>11)))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Subsequent_tour_is_school_tour_Departure_after_830_am +util_Subsequent_tour_is_school_tour_Duration_lt_4_hours,UNIVERSITY - Subsequent tour is school tour: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.duration<8)))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_lt_4_hours +util_Subsequent_tour_is_school_tour_Duration_gt_4_hours,UNIVERSITY - Subsequent tour is school tour: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school') & (df.duration>8)))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_gt_4_hours +util_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,UNIVERSITY - Second tour of two mandatory tours: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours +util_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,UNIVERSITY - Second tour of two mandatory tours: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours +util_Departure_Constant_Shift_for_every_30_minutes_before_0700_am_Linear,UNIVERSITY - Departure Constant: Shift for every 30 minutes before 07:00 am - Linear,"@((df.start<9))*((np.minimum(9-df.start,6)*(df.start<9)) + (np.minimum(df.start-13,20)*(df.start>13)))",coef_Departure_Constant_Shift_for_every_30_minutes_before_0700_am_Linear +util_Departure_Constant_Before_0730_AM,UNIVERSITY - Departure Constant: Before 07:30 AM,@(df.start<10),coef_Departure_Constant_Before_0730_AM +util_Departure_Constant_0730_AM_0800_AM,UNIVERSITY - Departure Constant: 07:30 AM - 08:00 AM,@(df.start==10),coef_Departure_Constant_0730_AM_0800_AM +util_Departure_Constant_0800_AM_0830_AM,UNIVERSITY - Departure Constant: 08:00 AM - 08:30 AM,@(df.start==11),coef_Departure_Constant_0800_AM_0830_AM +util_Departure_Constant_0830_AM_0900_AM,UNIVERSITY - Departure Constant: 08:30 AM - 09:00 AM,@(df.start==12),coef_Departure_Constant_0830_AM_0900_AM +util_Departure_Constant_After_0900_AM,UNIVERSITY - Departure Constant: After 09:00 AM,@(df.start>12),coef_Departure_Constant_After_0900_AM +util_Departure_Constant_Shift_for_every_30_minutes_after_0930_am_Square_Root,UNIVERSITY - Departure Constant: Shift for every 30 minutes after 09:30 am - Square Root,"@((df.start>13))*(((np.minimum(9-df.start,6)*(df.start<9)) + (np.minimum(df.start-13,20)*(df.start>13))) ** 0.5)",coef_Departure_Constant_Shift_for_every_30_minutes_after_0930_am_Square_Root +util_Arrival_Constant_Shift_for_every_30_minutes_before_0230_pm_Linear,UNIVERSITY - Arrival Constant: Shift for every 30 minutes before 02:30 pm - Linear,"@((df.end<24)) * ((np.minimum(24-df.end,12) * (df.end<24)) + (np.minimum(df.end-28,19) * (df.end>28)))",coef_Arrival_Constant_Shift_for_every_30_minutes_before_0230_pm_Linear +util_Arrival_Constant_Before_0300_PM,UNIVERSITY - Arrival Constant: Before 03:00 PM,@((df.end<25)),coef_Arrival_Constant_Before_0300_PM +util_Arrival_Constant_0300_PM_0330_PM,UNIVERSITY - Arrival Constant: 03:00 PM - 03:30 PM,@(df.end==25),coef_Arrival_Constant_0300_PM_0330_PM +util_Arrival_Constant_0330_PM_0400_PM,UNIVERSITY - Arrival Constant: 03:30 PM - 04:00 PM,@(df.end==26),coef_Arrival_Constant_0330_PM_0400_PM +util_Arrival_Constant_0400_PM_0430_PM,UNIVERSITY - Arrival Constant: 04:00 PM - 04:30 PM,@(df.end==27),coef_Arrival_Constant_0400_PM_0430_PM +util_Arrival_Constant_After_0430_PM,UNIVERSITY - Arrival Constant: After 04:30 PM,@(df.end>27),coef_Arrival_Constant_After_0430_PM +util_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Linear,UNIVERSITY - Arrival Constant: Shift for every 30 minutes after 05:00 pm - Linear,"@((df.end>28))*((np.minimum(24-df.end,12)*(df.end<24)) + (np.minimum(df.end-28,19)*(df.end>28)))",coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Linear +util_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Square_Root,UNIVERSITY - Arrival Constant: Shift for every 30 minutes after 05:00 pm - Square Root,"@((df.end>28)) *(((np.minimum(24-df.end,12)*(df.end<24)) + (np.minimum(df.end-28,19)*(df.end>28))) ** 0.5)",coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Square_Root +util_Duration_Constant_Shift_for_every_30_minutes_less_than_4p5_hrs_Square_Root,UNIVERSITY - Duration Constant: Shift for every 30 minutes less than 4.5 hrs - Square Root,"@((df.duration<9))*((np.minimum(9-df.duration,7)*(df.duration<9)) + (np.minimum(df.duration-11,25)*(df.duration>11)))",coef_Duration_Constant_Shift_for_every_30_minutes_less_than_4p5_hrs_Square_Root +util_Duration_Constant_4p5_hours_or_less,UNIVERSITY - Duration Constant: 4.5 hours or less,@(df.duration<10),coef_Duration_Constant_4p5_hours_or_less +util_Duration_Constant_5_hours,UNIVERSITY - Duration Constant: 5 hours,@(df.duration==10),coef_Duration_Constant_5_hours +util_Duration_Constant_5p5_hours_or_more,UNIVERSITY - Duration Constant: 5.5 hours or more,@(df.duration>10),coef_Duration_Constant_5p5_hours_or_more +util_Duration_Constant_Shift_for_every_30_minutes_more_than_5p5_hrs_Linear,UNIVERSITY - Duration Constant: Shift for every 30 minutes more than 5.5 hrs - Linear,"@((df.duration>11))*(((np.minimum(9-df.duration,7)*(df.duration<9)) + (np.minimum(df.duration-11,25)*(df.duration>11))) ** 0.5)",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_5p5_hrs_Linear diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_university_coeffs.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_university_coeffs.csv similarity index 98% rename from activitysim/examples/example_semcog/configs/tour_scheduling_university_coeffs.csv rename to activitysim/examples/prototype_semcog/configs/tour_scheduling_university_coeffs.csv index d656a021ee..1472dfb9f8 100755 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_university_coeffs.csv +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_university_coeffs.csv @@ -1,42 +1,42 @@ -coefficient_name,value,constrain -coef_Mode_Choice_Logsum,0.384091138,F -coef_Low_income_lt25000_Departure_before_800_am_Linear,0.246389489,F -coef_Low_income_lt25000_Duration_lt_4hrs,-0.262288853,F -coef_Medium_high_income_60k_to_120k_Departure_after_830_am_Linear,-0.039079271,F -coef_Medium_high_income_60k_to_120k_Duration_gt_4hrs,-0.041536976,F -coef_High_income_120k_plus_Departure_after_830_am_Linear,-0.039306518,F -coef_Age_41_plus_Departure_after_830_am_Linear,0.055344625,F -coef_Age_41_plus_Durationlt_4_hrs_Linear,-0.152498075,F -coef_Distance_to_destination_Departure_before_800_am_Linear,0.006869786,F -coef_Distance_to_destination_Departure_after_830_am_Linear,0.003686402,F -coef_Distance_to_destination_Durationlt_4_hrs_Linear,-0.04027172,F -coef_Distance_to_destination_Durationgt_4_hrs_Linear,0.003803244,F -coef_Distance_to_destination_Durationlt_4_hrs_Square_Root,0.041070113,F -coef_Subsequent_tour_is_work_tour_Departure_after_830_am,-0.29166292,F -coef_Subsequent_tour_is_work_tour_Duration_lt_4_hours,-0.482292817,F -coef_Subsequent_tour_is_work_tour_Duration_gt_4_hours,-0.364624965,F -coef_Subsequent_tour_is_school_tour_Departure_after_830_am,-0.286206955,F -coef_Subsequent_tour_is_school_tour_Duration_lt_4_hours,0.30341795,F -coef_Subsequent_tour_is_school_tour_Duration_gt_4_hours,-0.247436221,F -coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,-0.211059285,F -coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,-0.35316727,F -coef_Departure_Constant_Shift_for_every_30_minutes_before_0700_am_Linear,-0.947594485,F -coef_Departure_Constant_Before_0730_AM,-0.296228472,F -coef_Departure_Constant_0730_AM_0800_AM,-0.650538708,F -coef_Departure_Constant_0800_AM_0830_AM,0,T -coef_Departure_Constant_0830_AM_0900_AM,-0.525569176,F -coef_Departure_Constant_After_0900_AM,-0.536008149,F -coef_Departure_Constant_Shift_for_every_30_minutes_after_0930_am_Square_Root,-0.500045988,F -coef_Arrival_Constant_Shift_for_every_30_minutes_before_0230_pm_Linear,-0.209375282,F -coef_Arrival_Constant_Before_0300_PM,-0.962572172,F -coef_Arrival_Constant_0300_PM_0330_PM,-0.627901132,F -coef_Arrival_Constant_0330_PM_0400_PM,0,T -coef_Arrival_Constant_0400_PM_0430_PM,-0.190818088,F -coef_Arrival_Constant_After_0430_PM,-0.66545038,F -coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Linear,-0.209562151,F -coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Square_Root,0.503497689,F -coef_Duration_Constant_Shift_for_every_30_minutes_less_than_4p5_hrs_Square_Root,0.225706446,F -coef_Duration_Constant_4p5_hours_or_less,0.03106769,F -coef_Duration_Constant_5_hours,0,T -coef_Duration_Constant_5p5_hours_or_more,0.343447232,F -coef_Duration_Constant_Shift_for_every_30_minutes_more_than_5p5_hrs_Linear,-0.115312573,F +coefficient_name,value,constrain +coef_Mode_Choice_Logsum,0.384091138,F +coef_Low_income_lt25000_Departure_before_800_am_Linear,0.246389489,F +coef_Low_income_lt25000_Duration_lt_4hrs,-0.262288853,F +coef_Medium_high_income_60k_to_120k_Departure_after_830_am_Linear,-0.039079271,F +coef_Medium_high_income_60k_to_120k_Duration_gt_4hrs,-0.041536976,F +coef_High_income_120k_plus_Departure_after_830_am_Linear,-0.039306518,F +coef_Age_41_plus_Departure_after_830_am_Linear,0.055344625,F +coef_Age_41_plus_Durationlt_4_hrs_Linear,-0.152498075,F +coef_Distance_to_destination_Departure_before_800_am_Linear,0.006869786,F +coef_Distance_to_destination_Departure_after_830_am_Linear,0.003686402,F +coef_Distance_to_destination_Durationlt_4_hrs_Linear,-0.04027172,F +coef_Distance_to_destination_Durationgt_4_hrs_Linear,0.003803244,F +coef_Distance_to_destination_Durationlt_4_hrs_Square_Root,0.041070113,F +coef_Subsequent_tour_is_work_tour_Departure_after_830_am,-0.29166292,F +coef_Subsequent_tour_is_work_tour_Duration_lt_4_hours,-0.482292817,F +coef_Subsequent_tour_is_work_tour_Duration_gt_4_hours,-0.364624965,F +coef_Subsequent_tour_is_school_tour_Departure_after_830_am,-0.286206955,F +coef_Subsequent_tour_is_school_tour_Duration_lt_4_hours,0.30341795,F +coef_Subsequent_tour_is_school_tour_Duration_gt_4_hours,-0.247436221,F +coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,-0.211059285,F +coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,-0.35316727,F +coef_Departure_Constant_Shift_for_every_30_minutes_before_0700_am_Linear,-0.947594485,F +coef_Departure_Constant_Before_0730_AM,-0.296228472,F +coef_Departure_Constant_0730_AM_0800_AM,-0.650538708,F +coef_Departure_Constant_0800_AM_0830_AM,0,T +coef_Departure_Constant_0830_AM_0900_AM,-0.525569176,F +coef_Departure_Constant_After_0900_AM,-0.536008149,F +coef_Departure_Constant_Shift_for_every_30_minutes_after_0930_am_Square_Root,-0.500045988,F +coef_Arrival_Constant_Shift_for_every_30_minutes_before_0230_pm_Linear,-0.209375282,F +coef_Arrival_Constant_Before_0300_PM,-0.962572172,F +coef_Arrival_Constant_0300_PM_0330_PM,-0.627901132,F +coef_Arrival_Constant_0330_PM_0400_PM,0,T +coef_Arrival_Constant_0400_PM_0430_PM,-0.190818088,F +coef_Arrival_Constant_After_0430_PM,-0.66545038,F +coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Linear,-0.209562151,F +coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Square_Root,0.503497689,F +coef_Duration_Constant_Shift_for_every_30_minutes_less_than_4p5_hrs_Square_Root,0.225706446,F +coef_Duration_Constant_4p5_hours_or_less,0.03106769,F +coef_Duration_Constant_5_hours,0,T +coef_Duration_Constant_5p5_hours_or_more,0.343447232,F +coef_Duration_Constant_Shift_for_every_30_minutes_more_than_5p5_hrs_Linear,-0.115312573,F diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_work.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_work.csv new file mode 100755 index 0000000000..e180d0c155 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_work.csv @@ -0,0 +1,100 @@ +Label,Description,Expression,Coefficient +util_Mode_Choice_Logsum,Mode Choice Logsum,mode_choice_logsum,coef_Mode_Choice_Logsum +util_Female_Departure_before_7_am,Female - Departure before 7:00 am - Linear,@((df.female) & (df.start<9)) * df.departureLinearShift1,coef_Female_Departure_before_7_am +util_Female_Arrival_after_6_pm,Female - Arrival after 6:00 pm - Linear,@((df.female) & (df.end>30)) * df.arrivalLinearShift1,coef_Female_Arrival_after_6_pm +util_Female_with_preschool_child_Departure_before_7_am,Female with preschool child - Departure before 7:00 am - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Female_with_preschool_child_Departure_before_7_am +util_Female_with_preschool_child_Departure_after_7_am,Female with preschool child - Departure after 7:30 am - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.start>9)) * df.departureLinearShift1,coef_Female_with_preschool_child_Departure_after_7_am +util_Female_with_preschool_child_Arrival_after_6_pm,Female with preschool child - Arrival after 6:00 pm - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.end>30)) * df.arrivalLinearShift1,coef_Female_with_preschool_child_Arrival_after_6_pm +util_Low_income_lt_25000_Departure_before_7_am,Low income (<25000) - Departure before 7:00 am - Linear,@((df.is_income_less25K) & (df.start<9)) * df.departureLinearShift1,coef_Low_income_lt_25000_Departure_before_7_am +util_Low_income_lt_25000_Departure_after_7_am,Low income (<25000) - Departure after 7:30 am - Linear,@((df.is_income_less25K) & (df.start>9)) * df.departureLinearShift1,coef_Low_income_lt_25000_Departure_after_7_am +util_Low_income_lt_25000_Arrival_after_6_pm,Low income (<25000) - Arrival after 6:00 pm - Linear,@((df.is_income_less25K) & (df.start>30)) * df.arrivalLinearShift1,coef_Low_income_lt_25000_Arrival_after_6_pm +util_Med_income_25k_to_60k_Departure_before_7_am,Med income (25k to 60k) - Departure before 7:00 am - Linear,@((df.is_income_25K_to_60K) & (df.start<9)) * df.departureLinearShift1,coef_Med_income_25k_to_60k_Departure_before_7_am +util_Med_income_25k_to_60k_Arrival_after_6_pm,Med income (25k to 60k) - Arrival after 6:00 pm - Linear,@((df.is_income_25K_to_60K) & (df.end>30)) * df.arrivalLinearShift1,coef_Med_income_25k_to_60k_Arrival_after_6_pm +util_Medhigh_income_60k_to_120k_Departure_before_7_am,Med-high income (60k to 120k) - Departure before 7:00 am - Linear,@((df.is_income_60K_to_120K) & (df.start<9)) * df.departureLinearShift1,coef_Medhigh_income_60k_to_120k_Departure_before_7_am +util_Age_16_to_18_yrs_Departure_Before_7_am,Age 16 to 18 yrs - Departure Before 7:00 am,@(((df.age>=16) & (df.age<=18)) & (df.start<9)) * df.departureLinearShift1,coef_Age_16_to_18_yrs_Departure_Before_7_am +util_Age_16_to_18_yrs_Departure_After_7_am,Age 16 to 18 yrs - Departure After 7:30 am,@(((df.age>=16) & (df.age<=18)) & (df.start>9)) * df.departureLinearShift1,coef_Age_16_to_18_yrs_Departure_After_7_am +util_Age_19_to_24_yrs_Departure_After_7_am,Age 19 to 24 yrs - Departure After 7:30 am,@(((df.age>=19) & (df.age<=24)) & (df.start>9)) * df.departureLinearShift1,coef_Age_19_to_24_yrs_Departure_After_7_am +util_Age_25_to_40_yrs_Departure_Before_7_am,Age 25 to 40 yrs - Departure Before 7:00 am,@(((df.age>=25) & (df.age<=40)) & (df.start<9)) * df.departureLinearShift1,coef_Age_25_to_40_yrs_Departure_Before_7_am +util_Age_65_plus_yrs_Departure_After_7_am,Age 65+ yrs - Departure After 7:30 am,@((df.age>=65) & (df.start>9)) * df.departureLinearShift1,coef_Age_65_plus_yrs_Departure_After_7_am +util_Age_19_to_24_yrs_Arrival_after_6_pm,Age 19 to 24 yrs - Arrival after 6:00 pm ,@(((df.age>=19) & (df.age<=24)) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_19_to_24_yrs_Arrival_after_6_pm +util_Age_25_to_40_yrs_Arrival_before_5_pm,Age 25 to 40 yrs - Arrival before 5:30 pm ,@(((df.age>=25) & (df.age<=40)) & (df.end<30)) * df.arrivalLinearShift1,coef_Age_25_to_40_yrs_Arrival_before_5_pm +util_Age_56_to_64_yrs_Arrival_after_6_pm,Age 56 to 64 yrs - Arrival after 6:00 pm ,@(((df.age>=56) & (df.age<65)) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_56_to_64_yrs_Arrival_after_6_pm +util_Age_65_plus_yrs_Arrival_before_5_pm,Age 65+ yrs - Arrival before 5:30 pm ,@((df.age>=65) & (df.end<30)) * df.arrivalLinearShift1,coef_Age_65_plus_yrs_Arrival_before_5_pm +util_Age_65_plus_yrs_Arrival_after_6_pm,Age 65+ yrs - Arrival after 6:00 pm ,@((df.age>=65) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_65_plus_yrs_Arrival_after_6_pm +util_Zero_auto_HH_Departure_before_7_am,Zero auto HH - Departure before 7:00 am - Linear,@((df.auto_ownership == 0) & (df.start<9)) * df.departureLinearShift1,coef_Zero_auto_HH_Departure_before_7_am +util_Zero_auto_HH_Arrival_after_6_pm,Zero auto HH - Arrival after 6:00 pm - Linear,@((df.auto_ownership == 0) & (df.end>30)) * df.arrivalLinearShift1,coef_Zero_auto_HH_Arrival_after_6_pm +util_Parttime_worker_Departure_before_7_am,Part-time worker - Departure before 7:00 am - Linear,@((df.ptype==2) & (df.start<9)) * df.departureLinearShift1,coef_Parttime_worker_Departure_before_7_am +util_Parttime_worker_Departure_after_7_am,Part-time worker - Departure after 7:30 am - Linear,@((df.ptype==2) & (df.start>9)) * df.departureLinearShift1,coef_Parttime_worker_Departure_after_7_am +util_Parttime_worker_Arrival_before_5_pm,Part-time worker - Arrival before 5:30 pm - Linear,@((df.ptype==2) & (df.end<30)) * df.arrivalLinearShift1,coef_Parttime_worker_Arrival_before_5_pm +util_Parttime_worker_Arrival_after_6_pm,Part-time worker - Arrival after 6:00 pm - Linear,@((df.ptype==2) & (df.end>30)) * df.arrivalLinearShift1,coef_Parttime_worker_Arrival_after_6_pm +util_University_student_Departure_after_7_am,University student - Departure after 7:30 am - Linear,@((df.ptype==3) & (df.start>9)) * df.departureLinearShift1,coef_University_student_Departure_after_7_am +util_University_student_Arrival_before_5_pm,University student - Arrival before 5:30 pm - Linear,@((df.ptype==3) & (df.end<30)) * df.arrivalLinearShift1,coef_University_student_Arrival_before_5_pm +util_University_student_Arrival_after_6_pm,University student - Arrival after 6:00 pm - Linear,@((df.ptype==3) & (df.end>30)) * df.arrivalLinearShift1,coef_University_student_Arrival_after_6_pm +#util_Blue_collar_Departure_before_7_am,#Blue collar - Departure before 7:00 am - Linear,@((df.work_segment==5) & (df.start<9)) * df.departureLinearShift1,coef_Blue_collar_Departure_before_7_am +#util_Blue_collar_Departure_after_7_am,#Blue collar - Departure after 7:30 am - Linear,@((df.work_segment==5)& (df.start>9)) * df.departureLinearShift1,coef_Blue_collar_Departure_after_7_am +#util_Blue_collar_Arrival_before_5_pm,#Blue collar - Arrival before 5:30 pm - Linear,@((df.work_segment==5)& (df.end<30)) * df.arrivalLinearShift1,coef_Blue_collar_Arrival_before_5_pm +#util_Service_Departure_before_7_am,#Service - Departure before 7:00 am - Linear,@((df.work_segment==2) & (df.start<9)) * df.departureLinearShift1,coef_Service_Departure_before_7_am +#util_Service_Departure_after_7_am,#Service - Departure after 7:30 am - Linear,@((df.work_segment==2) & (df.start>9)) * df.departureLinearShift1,coef_Service_Departure_after_7_am +#util_Service_Arrival_before_5_pm,#Service - Arrival before 5:30 pm - Linear,@((df.work_segment==2) & (df.end<30)) * df.arrivalLinearShift1,coef_Service_Arrival_before_5_pm +#util_Health_Departure_before_7_am,#Health - Departure before 7:00 am - Linear,@((df.work_segment==3) & (df.start<9)) * df.departureLinearShift1,coef_Health_Departure_before_7_am +#util_Health_Arrival_after_6_pm,#Health - Arrival after 6:00 pm - Linear,@((df.work_segment==3) & (df.end>30)) * df.arrivalLinearShift1,coef_Health_Arrival_after_6_pm +#util_Retail_and_food_Departure_after_7_am,#Retail and food - Departure after 7:30 am - Linear,@((df.work_segment==4) & (df.start>9)) * df.departureLinearShift1,coef_Retail_and_food_Departure_after_7_am +#util_Retail_and_food_Arrival_before_5_pm,#Retail and food - Arrival before 5:30 pm - Linear,@((df.work_segment==4) & (df.end<30)) * df.arrivalLinearShift1,coef_Retail_and_food_Arrival_before_5_pm +#util_Retail_and_food_Arrival_after_6_pm,#Retail and food - Arrival after 6:00 pm - Linear,@((df.work_segment==4) & (df.end>30)) * df.arrivalLinearShift1,coef_Retail_and_food_Arrival_after_6_pm +util_Time_SOV_freeflowto_destination_Departure_before_7_am,Time (SOV freeflow) to destination - Departure before 7:00 am - Linear,@(df.start<9) * df.departureLinearShift1* (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Departure_before_7_am +util_Time_SOV_freeflowto_destination_Departure_after_7_am,Time (SOV freeflow) to destination - Departure after 7:30 am - Linear,@(df.start>9) * df.departureLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Departure_after_7_am +util_Time_SOV_freeflowto_destination_Arrival_before_5_pm,Time (SOV freeflow) to destination - Arrival before 5:30 pm - Linear,@(df.end<30) * df.arrivalLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Arrival_before_5_pm +util_Time_SOV_freeflowto_destination_Arrival_after_6_pm,Time (SOV freeflow) to destination - Arrival after 6:00 pm - Linear,@(df.end>30) * df.arrivalLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Arrival_after_6_pm +util_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am,Presence of Non-Working Adult in the HH - Departure before 7:00 am - Linear,@((df.is_non_worker_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am +util_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm,Presence of Non-Working Adult in the HH - Arrival before 5:30 pm - Linear,@((df.is_non_worker_in_HH) & (df.end<30)) * df.arrivalLinearShift1,coef_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm +util_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am,Presence of Pre-Driving Age Children in the HH - Departure before 7:30 am - Linear,@((df.is_pre_drive_child_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am +util_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am,Presence of Pre-Driving Age Children in the HH - Departure after 8 am - Linear,@((df.is_pre_drive_child_in_HH) & (df.start>9)) * df.departureLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am +util_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm,Presence of Pre-Driving Age Children in the HH - Arrival before 5:30 pm - Linear,@((df.is_pre_drive_child_in_HH) & (df.end<30)) * df.arrivalLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm +util_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm,Presence of Pre-Driving Age Children in the HH - Arrival after 6:00 pm - Linear,@((df.is_pre_drive_child_in_HH)& (df.end>30)) * df.arrivalLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm +util_First_of_2_plus_mandatory_tour_Departure_before_7_am,First of 2+ mandatory tour - Departure before 7:00 am,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.start<9)) * df.departureLinearShift1,coef_First_of_2_plus_mandatory_tour_Departure_before_7_am +util_First_of_2_plus_mandatory_tour_Departure_after_7_am,First of 2+ mandatory tour - Departure after 7:30 am,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.start>9)) * df.departureLinearShift1,coef_First_of_2_plus_mandatory_tour_Departure_after_7_am +util_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,First of 2+ mandatory tour - Duration < 9.5 hours,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.duration<21)) * df.durationShift,coef_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours +util_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,First of 2+ mandatory tour - Duration > 9.5 hours,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.duration<21)) * df.durationShift,coef_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours +util_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm,2nd or later of 2+ mandatory tour - Departure before 1:30 pm,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.start<22)) * df.departureLinearShift1,coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm +util_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm,2nd or later of 2+ mandatory tour - Departure after 2:00 pm,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.start>22)) * df.departureLinearShift1,coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm +util_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,2nd or later of 2+ mandatory tour - Duration < 9.5 hours,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<21)) * df.durationShift,coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours +util_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,2nd or later of 2+ mandatory tour - Duration > 9.5 hours,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<21)) * df.durationShift,coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours +#,#Departure Constants,,coef_Departure_Constants +util_Departure_Constant_Shift_for_every_30_minutes_before_6_am,Departure Constant: Shift for every 30 minutes before 6:00 am - Linear,"@(df.start<6) * ((np.minimum(6-df.start,48)*(df.start<6)) + (np.minimum(df.start-13,21)*(df.start>13)))",coef_Departure_Constant_Shift_for_every_30_minutes_before_6_am +util_Departure_Constant_Before_06_AM,Departure Constant: Before 06:00 AM,start<7,coef_Departure_Constant_Before_06_AM +util_Departure_Constant_06_AM_06_AM_7,Departure Constant: 06:00 AM - 06:30 AM (7) ,start==7,coef_Departure_Constant_06_AM_06_AM_7 +util_Departure_Constant_06_AM_07_AM_8,Departure Constant: 06:30 AM - 07:00 AM (8) ,start==8,coef_Departure_Constant_06_AM_07_AM_8 +util_Departure_Constant_07_AM_07_AM_9,Departure Constant: 07:00 AM - 07:30 AM (9) ,start==9,coef_Departure_Constant_07_AM_07_AM_9 +util_Departure_Constant_07_AM_08_AM_10,Departure Constant: 07:30 AM - 08:00 AM (10) ,start==10,coef_Departure_Constant_07_AM_08_AM_10 +util_Departure_Constant_08_AM_08_AM_11,Departure Constant: 08:00 AM - 08:30 AM (11) ,start==11,coef_Departure_Constant_08_AM_08_AM_11 +util_Departure_Constant_08_AM_09_AM_12,Departure Constant: 08:30 AM - 09:00 AM (12) ,start==12,coef_Departure_Constant_08_AM_09_AM_12 +util_Departure_Constant_After_09_AM,Departure Constant: After 09:00 AM,start>12,coef_Departure_Constant_After_09_AM +util_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root,Departure Constant: Shift for every 30 minutes after 9:30 am - Square Root,"@(df.start>13) * (((np.minimum(6-df.start,48)*(df.start<6)) + (np.minimum(df.start-13,21)*(df.start>13))) ** 0.5)",coef_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root +#,#Arrival Constants,,coef_Arrival_Constants +util_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm,Arrival Constant: Shift for every 30 minutes before 3:00 pm - Linear,"@(df.end<25) * ((np.minimum(25-df.end, 15)*(df.end<25))+ (np.minimum(df.end-35,11)*(df.end>35)))",coef_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm +util_Arrival_Constant_Before_03_PM,Arrival Constant: Before 03:30 PM,end<26,coef_Arrival_Constant_Before_03_PM +util_Arrival_Constant_03_PM_04_PM_26,Arrival Constant: 03:30 PM - 04:00 PM (26) ,end==26,coef_Arrival_Constant_03_PM_04_PM_26 +util_Arrival_Constant_04_PM_04_PM_27,Arrival Constant: 04:00 PM - 04:30 PM (27) ,end==27,coef_Arrival_Constant_04_PM_04_PM_27 +util_Arrival_Constant_04_PM_05_PM_28,Arrival Constant: 04:30 PM - 05:00 PM (28) ,end==28,coef_Arrival_Constant_04_PM_05_PM_28 +util_Arrival_Constant_05_PM_05_PM_29,Arrival Constant: 05:00 PM - 05:30 PM (29),end==29,coef_Arrival_Constant_05_PM_05_PM_29 +util_Arrival_Constant_05_PM_06_PM_30,Arrival Constant: 05:30 PM - 06:00 PM (30) ,end==30,coef_Arrival_Constant_05_PM_06_PM_30 +util_Arrival_Constant_06_PM_06_PM_31,Arrival Constant: 06:00 PM - 06:30 PM (31) ,end==31,coef_Arrival_Constant_06_PM_06_PM_31 +util_Arrival_Constant_06_PM_7_PM_32,Arrival Constant: 06:30 PM - 7:00 PM (32) ,end==32,coef_Arrival_Constant_06_PM_7_PM_32 +util_Arrival_Constant_7_PM_7_PM_33,Arrival Constant: 7:00 PM - 7:30 PM (33) ,end==33,coef_Arrival_Constant_7_PM_7_PM_33 +util_Arrival_Constant_7_PM_8_PM_34,Arrival Constant: 7:30 PM - 8:00 PM (34) ,end==34,coef_Arrival_Constant_7_PM_8_PM_34 +util_Arrival_Constant_After_08_PM,Arrival Constant: After 08:00 PM,end>34,coef_Arrival_Constant_After_08_PM +util_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root,Arrival Constant: Shift for every 30 minutes after 6:30 pm - Square root,"@(df.end>35) * (((np.minimum(25-df.end, 15)*(df.end<25))+ (np.minimum(df.end-35,11)*(df.end>35))) ** 0.5)",coef_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root +#,#Duration Constants,,coef_Duration_Constants +util_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs,Duration Constant: Shift for every 30 minutes less than 8.5 hrs - Linear,"@(df.duration<16) * ((np.minimum(16-df.duration,47)*(df.duration<16)) + (np.minimum(df.duration-25,10)*(df.duration>25)))",coef_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs +util_Duration_Constant_Shorter_than_8p5_hrs,Duration Constant: Shorter than 8.5 hrs,duration<17,coef_Duration_Constant_Shorter_than_8p5_hrs +util_Duration_Constant_8p5_hours,Duration Constant: 8.5 hours,duration==17,coef_Duration_Constant_8p5_hours +util_Duration_Constant_9_hours,Duration Constant: 9 hours,duration==18,coef_Duration_Constant_9_hours +util_Duration_Constant_9p5_hours,Duration Constant: 9.5 hours,duration==19,coef_Duration_Constant_9p5_hours +util_Duration_Constant_10_hours,Duration Constant: 10 hours,duration==20,coef_Duration_Constant_10_hours +util_Duration_Constant_10p5_hours,Duration Constant: 10.5 hours,duration==21,coef_Duration_Constant_10p5_hours +util_Duration_Constant_11_hours,Duration Constant: 11 hours,duration==22,coef_Duration_Constant_11_hours +util_Duration_Constant_11p5_hours,Duration Constant: 11.5 hours,duration==23,coef_Duration_Constant_11p5_hours +util_Duration_Constant_12_hours,Duration Constant: 12 hours,duration==24,coef_Duration_Constant_12_hours +util_Duration_Constant_Longer_than_12_hrs,Duration Constant: Longer than 12 hrs,duration>24,coef_Duration_Constant_Longer_than_12_hrs +util_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs,Duration Constant: Shift for every 30 minutes more than 10 hrs - Linear,"@(df.duration>25) * ((np.minimum(16-df.duration,47)*(df.duration<16)) + (np.minimum(df.duration-25,10)*(df.duration>25)))",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs +util_Calibration_constant_Duration_0,Calibration constant: Duration = 0,duration == 0,coef_Calibration_constant_Duration_0 diff --git a/activitysim/examples/prototype_semcog/configs/tour_scheduling_work_coeffs.csv b/activitysim/examples/prototype_semcog/configs/tour_scheduling_work_coeffs.csv new file mode 100755 index 0000000000..19a85e8179 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/tour_scheduling_work_coeffs.csv @@ -0,0 +1,97 @@ +coefficient_name,value,constrain +coef_Mode_Choice_Logsum,0.2279,T +coef_Female_Departure_before_7_am,-0.12935306,F +coef_Female_Arrival_after_6_pm,-0.041312616,F +coef_Female_with_preschool_child_Departure_before_7_am,-0.129130464,F +coef_Female_with_preschool_child_Departure_after_7_am,-0.031947595,F +coef_Female_with_preschool_child_Arrival_after_6_pm,-0.048859218,F +coef_Low_income_lt_25000_Departure_before_7_am,0.232768373,F +coef_Low_income_lt_25000_Departure_after_7_am,0.014908169,F +coef_Low_income_lt_25000_Arrival_after_6_pm,0.039105101,F +coef_Med_income_25k_to_60k_Departure_before_7_am,0.123945957,F +coef_Med_income_25k_to_60k_Arrival_after_6_pm,0.020965221,F +coef_Medhigh_income_60k_to_120k_Departure_before_7_am,0.09890939,F +coef_Age_16_to_18_yrs_Departure_Before_7_am,-0.459593556,F +coef_Age_16_to_18_yrs_Departure_After_7_am,0.060951693,F +coef_Age_19_to_24_yrs_Departure_After_7_am,0.031477187,F +coef_Age_25_to_40_yrs_Departure_Before_7_am,-0.11723451,F +coef_Age_65_plus_yrs_Departure_After_7_am,0.051923956,F +coef_Age_19_to_24_yrs_Arrival_after_6_pm,0.032734453,F +coef_Age_25_to_40_yrs_Arrival_before_5_pm,-0.027623617,F +coef_Age_56_to_64_yrs_Arrival_after_6_pm,-0.049130187,F +coef_Age_65_plus_yrs_Arrival_before_5_pm,0.056774635,F +coef_Age_65_plus_yrs_Arrival_after_6_pm,-0.077532684,F +coef_Zero_auto_HH_Departure_before_7_am,0.396983749,F +coef_Zero_auto_HH_Arrival_after_6_pm,0.050665232,F +coef_Parttime_worker_Departure_before_7_am,-0.264760988,F +coef_Parttime_worker_Departure_after_7_am,0.126626287,F +coef_Parttime_worker_Arrival_before_5_pm,0.175158545,F +coef_Parttime_worker_Arrival_after_6_pm,-0.054124518,F +coef_University_student_Departure_after_7_am,0.024758204,F +coef_University_student_Arrival_before_5_pm,0.035389739,F +coef_University_student_Arrival_after_6_pm,0.06173996,F +coef_Blue_collar_Departure_before_7_am,0.327242475,F +coef_Blue_collar_Departure_after_7_am,0.047214248,F +coef_Blue_collar_Arrival_before_5_pm,0.04197056,F +coef_Service_Departure_before_7_am,0.117783508,F +coef_Service_Departure_after_7_am,0.081611629,F +coef_Service_Arrival_before_5_pm,0,T +coef_Health_Departure_before_7_am,0.135275931,F +coef_Health_Arrival_after_6_pm,0.062010123,F +coef_Retail_and_food_Departure_after_7_am,0.076302969,F +coef_Retail_and_food_Arrival_before_5_pm,0.052905387,F +coef_Retail_and_food_Arrival_after_6_pm,0.027069194,F +coef_Time_SOV_freeflowto_destination_Departure_before_7_am,0.011511462,F +coef_Time_SOV_freeflowto_destination_Departure_after_7_am,-0.003821379,F +coef_Time_SOV_freeflowto_destination_Arrival_before_5_pm,-0.00549578,F +coef_Time_SOV_freeflowto_destination_Arrival_after_6_pm,0.002253695,F +coef_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am,0.069957209,F +coef_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm,-0.019807228,F +coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am,-0.084564489,F +coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am,-0.023894467,F +coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm,0.018983499,F +coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm,-0.032091123,F +coef_First_of_2_plus_mandatory_tour_Departure_before_7_am,0.145890035,F +coef_First_of_2_plus_mandatory_tour_Departure_after_7_am,-0.214531877,F +coef_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,0.3069241,F +coef_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,-0.526297898,F +coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm,-0.221304523,F +coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm,-0.176348812,F +coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,0.064893097,F +coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,-0.656942049,F +coef_Departure_Constant_Shift_for_every_30_minutes_before_6_am,-1.151564775,F +coef_Departure_Constant_Before_06_AM,-2.197677208,F +coef_Departure_Constant_06_AM_06_AM_7,-1.314098638,F +coef_Departure_Constant_06_AM_07_AM_8,-0.558766028,F +coef_Departure_Constant_07_AM_07_AM_9,0,T +coef_Departure_Constant_07_AM_08_AM_10,-0.036957515,F +coef_Departure_Constant_08_AM_08_AM_11,-0.285560423,F +coef_Departure_Constant_08_AM_09_AM_12,-0.555478447,F +coef_Departure_Constant_After_09_AM,-0.865125273,F +coef_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root,-0.435746145,F +coef_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm,-0.191607342,F +coef_Arrival_Constant_Before_03_PM,-0.289333093,F +coef_Arrival_Constant_03_PM_04_PM_26,-0.273555837,F +coef_Arrival_Constant_04_PM_04_PM_27,-0.142653706,F +coef_Arrival_Constant_04_PM_05_PM_28,-0.124814807,F +coef_Arrival_Constant_05_PM_05_PM_29,0.004265544,F +coef_Arrival_Constant_05_PM_06_PM_30,0,T +coef_Arrival_Constant_06_PM_06_PM_31,-0.060515031,F +coef_Arrival_Constant_06_PM_7_PM_32,-0.236621114,F +coef_Arrival_Constant_7_PM_7_PM_33,-0.577646614,F +coef_Arrival_Constant_7_PM_8_PM_34,-0.815994515,F +coef_Arrival_Constant_After_08_PM,-0.854151925,F +coef_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root,-0.469720787,F +coef_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs,-0.074266981,F +coef_Duration_Constant_Shorter_than_8p5_hrs,-0.748584335,F +coef_Duration_Constant_8p5_hours,-0.654814097,F +coef_Duration_Constant_9_hours,-0.372064236,F +coef_Duration_Constant_9p5_hours,-0.144226124,F +coef_Duration_Constant_10_hours,0.013153356,F +coef_Duration_Constant_10p5_hours,0,T +coef_Duration_Constant_11_hours,-0.115847245,F +coef_Duration_Constant_11p5_hours,-0.288506368,F +coef_Duration_Constant_12_hours,-0.524241874,F +coef_Duration_Constant_Longer_than_12_hrs,-0.598634071,F +coef_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs,-0.293607565,F +coef_Calibration_constant_Duration_0,-10,F diff --git a/activitysim/examples/example_semcog/configs/transit_pass_ownership.csv b/activitysim/examples/prototype_semcog/configs/transit_pass_ownership.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/transit_pass_ownership.csv rename to activitysim/examples/prototype_semcog/configs/transit_pass_ownership.csv diff --git a/activitysim/examples/example_semcog/configs/transit_pass_ownership.yaml b/activitysim/examples/prototype_semcog/configs/transit_pass_ownership.yaml similarity index 100% rename from activitysim/examples/example_semcog/configs/transit_pass_ownership.yaml rename to activitysim/examples/prototype_semcog/configs/transit_pass_ownership.yaml diff --git a/activitysim/examples/example_semcog/configs/transit_pass_ownership_coeffs.csv b/activitysim/examples/prototype_semcog/configs/transit_pass_ownership_coeffs.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/transit_pass_ownership_coeffs.csv rename to activitysim/examples/prototype_semcog/configs/transit_pass_ownership_coeffs.csv diff --git a/activitysim/examples/example_semcog/configs/transit_pass_subsidy.csv b/activitysim/examples/prototype_semcog/configs/transit_pass_subsidy.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/transit_pass_subsidy.csv rename to activitysim/examples/prototype_semcog/configs/transit_pass_subsidy.csv diff --git a/activitysim/examples/example_semcog/configs/transit_pass_subsidy.yaml b/activitysim/examples/prototype_semcog/configs/transit_pass_subsidy.yaml similarity index 100% rename from activitysim/examples/example_semcog/configs/transit_pass_subsidy.yaml rename to activitysim/examples/prototype_semcog/configs/transit_pass_subsidy.yaml diff --git a/activitysim/examples/example_semcog/configs/transit_pass_subsidy_coeffs.csv b/activitysim/examples/prototype_semcog/configs/transit_pass_subsidy_coeffs.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/transit_pass_subsidy_coeffs.csv rename to activitysim/examples/prototype_semcog/configs/transit_pass_subsidy_coeffs.csv diff --git a/activitysim/examples/prototype_semcog/configs/trip_destination.csv b/activitysim/examples/prototype_semcog/configs/trip_destination.csv new file mode 100755 index 0000000000..2d9307ab58 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_destination.csv @@ -0,0 +1,17 @@ +Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork +size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",1,1,1,1,1,1,1,1,1,1 +no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +#stop zone CBD area type,"@reindex(land_use.AreaType, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, +distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (od_skims['DIST'] + dp_skims['DIST']),-0.049725916,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 +distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (od_skims['DIST'] + dp_skims['DIST']),0.147813279,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 +distance (calibration adjustment joint),@df.is_joint * (od_skims['DIST'] + dp_skims['DIST']),0,0,0,-0.1238,-0.1238,-0.1238,-0.1238,-0.1238,-0.123801985,0 +stop proximity to home (outbound),@df.outbound * od_skims['DIST'],-0.38,0,0,0,0,0,0,0,0,0 +stop proximity to home (inbound),@~df.outbound * dp_skims['DIST'],-0.15,0,0,0,0,0,0,0,0,0 +stop proximity to main destination (outbound),@df.outbound * dp_skims['DIST'],-0.26,,,,,,,,, +stop proximity to main destination (inbound),@~df.outbound * od_skims['DIST'],0,,,,,,,,, +#,,,,,,,,,,, +Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1,1,1,1,1 +Mode choice logsum from origin to stop,od_logsum,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821 +Can't access stop zone by this tour mode,(od_logsum < -100),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Mode choice logsum from stop to destination,dp_logsum,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821,1.821 +Can't access destination zone by this tour mode,(dp_logsum < -100),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 diff --git a/activitysim/examples/example_semcog/configs/trip_destination.yaml b/activitysim/examples/prototype_semcog/configs/trip_destination.yaml similarity index 96% rename from activitysim/examples/example_semcog/configs/trip_destination.yaml rename to activitysim/examples/prototype_semcog/configs/trip_destination.yaml index 1bd5b0fc61..e754e188b7 100755 --- a/activitysim/examples/example_semcog/configs/trip_destination.yaml +++ b/activitysim/examples/prototype_semcog/configs/trip_destination.yaml @@ -1,36 +1,36 @@ -SAMPLE_SIZE: 30 - -DESTINATION_SAMPLE_SPEC: trip_destination_sample.csv -DESTINATION_SPEC: trip_destination.csv -COEFFICIENTS: _dummy_coefficients.csv - -LOGSUM_SETTINGS: trip_mode_choice.yaml - -# optional (comment out if not desired) -DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: trip_destination_sample - -# model-specific logsum-related settings -TRIP_ORIGIN: origin -ALT_DEST_COL_NAME: dest_taz -PRIMARY_DEST: tour_leg_dest # must be created in preprocessor - -REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS: - - tour_mode - -CONSTANTS: - max_walk_distance: 3 - max_bike_distance: 8 - -preprocessor: - SPEC: trip_destination_annotate_trips_preprocessor - DF: trips - TABLES: - - tours - - persons - -# drop failed trips and cleanup failed trip leg_mates for consistency -# (i.e. adjust trip_count, trip_num, first for missing failed trips) -CLEANUP: False +SAMPLE_SIZE: 30 + +DESTINATION_SAMPLE_SPEC: trip_destination_sample.csv +DESTINATION_SPEC: trip_destination.csv +COEFFICIENTS: _dummy_coefficients.csv + +LOGSUM_SETTINGS: trip_mode_choice.yaml + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: trip_destination_sample + +# model-specific logsum-related settings +TRIP_ORIGIN: origin +ALT_DEST_COL_NAME: dest_taz +PRIMARY_DEST: tour_leg_dest # must be created in preprocessor + +REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS: + - tour_mode + +CONSTANTS: + max_walk_distance: 3 + max_bike_distance: 8 + +preprocessor: + SPEC: trip_destination_annotate_trips_preprocessor + DF: trips + TABLES: + - tours + - persons + +# drop failed trips and cleanup failed trip leg_mates for consistency +# (i.e. adjust trip_count, trip_num, first for missing failed trips) +CLEANUP: False diff --git a/activitysim/examples/prototype_semcog/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/trip_destination_annotate_trips_preprocessor.csv new file mode 100755 index 0000000000..1a1afb0748 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_destination_annotate_trips_preprocessor.csv @@ -0,0 +1,10 @@ +Description,Target,Expression +#,, +,tour_mode,"reindex(tours.tour_mode, df.tour_id)" +,_tod,"np.where(df.outbound,reindex_i(tours.start, df.tour_id),reindex_i(tours.end, df.tour_id))" +,trip_period,network_los.skim_time_period_label(_tod) +,is_joint,"reindex(tours.tour_category, df.tour_id)=='joint'" +#,,not needed as school is not chosen as an intermediate trip destination +#,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" +#,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" +,tour_leg_dest,"np.where(df.outbound,reindex(tours.destination, df.tour_id), reindex(tours.origin, df.tour_id))" \ No newline at end of file diff --git a/activitysim/examples/prototype_semcog/configs/trip_destination_sample.csv b/activitysim/examples/prototype_semcog/configs/trip_destination_sample.csv new file mode 100755 index 0000000000..6a0a53480e --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_destination_sample.csv @@ -0,0 +1,18 @@ +Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork +,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (od_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (dp_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (od_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (dp_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +#If transit tour is not in walk sub-zone it must be walkable,,,,,,,,,,, +size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",1,1,1,1,1,1,1,1,1,1 +no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +#stop zone CBD area type,"@reindex(land_use.AreaType, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, +distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),-0.049725916,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 +distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),0.147813279,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 +distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),0,0,0,-0.1238,-0.1238,-0.1238,-0.1238,-0.1238,-0.123801985,0 +stop proximity to home (outbound),@df.outbound * _od_DIST,-0.38,0,0,0,0,0,0,0,0,0 +stop proximity to home (inbound),@~df.outbound * _od_DIST,-0.15,0,0,0,0,0,0,0,0,0 +stop proximity to main destination (outbound),@df.outbound * _dp_DIST,-0.26,,,,,,,,, +stop proximity to main destination (inbound),@~df.outbound * _od_DIST,0,,,,,,,,, diff --git a/activitysim/examples/prototype_semcog/configs/trip_mode_choice.csv b/activitysim/examples/prototype_semcog/configs/trip_mode_choice.csv new file mode 100755 index 0000000000..9908e69722 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_mode_choice.csv @@ -0,0 +1,399 @@ +Description,Expression,DRIVEALONE,SHARED2,SHARED3,WALK,BIKE,WALK_LOC,WALK_PRM,WALK_MIX,PNR_LOC,PNR_PRM,PNR_MIX,KNR_LOC,KNR_PRM,KNR_MIX,SCHOOLBUS,TAXI,TNC_SINGLE,TNC_SHARED +#Drive alone no toll,,,,,,,,,,,,,,,,,,, +DRIVEALONE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,, +DRIVEALONE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,, +DRIVEALONE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,, +DRIVEALONE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,, +DRIVEALONE - In-vehicle time,@c_ivt*odt_skims['SOV_TIME'],1,,,,,,,,,,,,,,,,, +DRIVEALONE - Terminal time,@c_walktimeshort * df.total_terminal_time,1,,,,,,,,,,,,,,,,, +DRIVEALONE - Operating cost ,@df.c_cost * costPerMile * odt_skims['SOV_DIST'],1,,,,,,,,,,,,,,,,, +DRIVEALONE - Parking cost ,c_cost * total_parking_cost,1,,,,,,,,,,,,,,,,, +DRIVEALONE - Person is between 16 and 19 years old,@c_age1619_da * ((df.age >= 16) & (df.age <= 19)),1,,,,,,,,,,,,,,,,, +#Shared ride 2,,,,,,,,,,,,,,,,,,, +SHARED2 - Unavailable,hov2_available == False,,-999,,,,,,,,,,,,,,,, +SHARED2 - Unavailable based on party size,is_joint & (number_of_participants > 2),,-999,,,,,,,,,,,,,,,, +SHARED2 - In-vehicle time,@c_ivt * odt_skims['HOV2_TIME'],,1,,,,,,,,,,,,,,,, +SHARED2 - Terminal time,@c_walktimeshort * df.total_terminal_time,,1,,,,,,,,,,,,,,,, +SHARED2 - Operating cost,@df.c_cost * costPerMile * odt_skims['HOV2_DIST'],,1,,,,,,,,,,,,,,,, +SHARED2 - Parking cost,@df.c_cost * df.total_parking_cost / costShareSr2,,1,,,,,,,,,,,,,,,, +SHARED2 - One person household,@c_hhsize1_sr * (df.hhsize == 1),,1,,,,,,,,,,,,,,,, +SHARED2 - Two person household,@c_hhsize2_sr * (df.hhsize == 2),,1,,,,,,,,,,,,,,,, +SHARED2 - Person is 16 years old or older,@c_age16p_sr * (df.age >= 16),,1,,,,,,,,,,,,,,,, +#Shared ride 3+,,,,,,,,,,,,,,,,,,, +SHARED3 - Unavailable,hov3_available == False,,,-999,,,,,,,,,,,,,,, +SHARED3 - Unavailable based joint tour mode,@df.is_joint & df.i_tour_mode.isin(I_SR2_MODES),,,-999,,,,,,,,,,,,,,, +SHARED3 - Unavailable if tour mode is shared 2,@df.i_tour_mode.isin(I_SR2_MODES),,,-999,,,,,,,,,,,,,,, +SHARED3 - In-vehicle time,@c_ivt * odt_skims['HOV3_TIME'],,,1,,,,,,,,,,,,,,, +SHARED3 - Terminal time,@c_walktimeshort * df.total_terminal_time,,,1,,,,,,,,,,,,,,, +SHARED3 - Operating cost,@df.c_cost * costPerMile * odt_skims['HOV3_DIST'],,,1,,,,,,,,,,,,,,, +SHARED3 - Parking cost,@df.c_cost * df.total_parking_cost / costShareSr3,,,1,,,,,,,,,,,,,,, +SHARED3 - One person household,@c_hhsize1_sr * (df.hhsize == 1),,,1,,,,,,,,,,,,,,, +SHARED3 - Two person household,@c_hhsize2_sr * (df.hhsize == 2),,,1,,,,,,,,,,,,,,, +SHARED3 - Person is 16 years old or older,@c_age16p_sr * (df.age >= 16),,,1,,,,,,,,,,,,,,, +#Walk,,,,,,,,,,,,,,,,,,, +WALK - Time up to 2 miles,@c_walktimeshort * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,1,,,,,,,,,,,,,, +WALK - Time beyond 2 of a miles,@c_walktimelong * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,1,,,,,,,,,,,,,, +WALK - Destination zone densityIndex,@c_density_index * df.density_index,,,,1,,,,,,,,,,,,,, +WALK - Topology,@c_topology_walk * df.trip_topology,,,,1,,,,,,,,,,,,,, +#Bike,,,,,,,,,,,,,,,,,,, +BIKE - Unavailable if tour mode is not bike,~tour_mode_is_bike,,,,,-999,,,,,,,,,,,,, +BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,-999,,,,,,,,,,,,, +BIKE - Time up to 6 miles,@c_biketimeshort * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,1,,,,,,,,,,,,, +BIKE - Time beyond 6 of a miles,@c_biketimelong * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,1,,,,,,,,,,,,, +BIKE - Destination zone densityIndex,@c_density_index*df.density_index,,,,,1,,,,,,,,,,,,, +BIKE - Topology,@c_topology_bike * df.trip_topology,,,,,1,,,,,,,,,,,,, +#Walk to Local,,,,,,,,,,,,,,,,,,, +WALK_LOC - Unavailable,walk_local_available == False,,,,,,-999,,,,,,,,,,,, +WALK_LOC - In-vehicle time,@c_ivt * odt_skims['WLK_LOC_IVT'],,,,,,1,,,,,,,,,,,, +WALK_LOC - Short iwait time,@c_short_i_wait * (odt_skims['WLK_LOC_IWAIT']).clip(upper=waitThresh),,,,,,1,,,,,,,,,,,, +WALK_LOC - Long iwait time,@c_long_i_wait * (odt_skims['WLK_LOC_IWAIT']-waitThresh).clip(0),,,,,,1,,,,,,,,,,,, +WALK_LOC - transfer wait time,@c_xwait * odt_skims['WLK_LOC_XWAIT'],,,,,,1,,,,,,,,,,,, +WALK_LOC - number of transfers,@c_xfers_wlk * (odt_skims['WLK_LOC_NT']).clip(0),,,,,,1,,,,,,,,,,,, +WALK_LOC - Walk access time,@c_wacc * df.origin_walk_time,,,,,,1,,,,,,,,,,,, +WALK_LOC - Walk egress time,@c_wegr * df.destination_walk_time,,,,,,1,,,,,,,,,,,, +WALK_LOC - Walk other time,@c_waux * odt_skims['WLK_LOC_WAUX'],,,,,,1,,,,,,,,,,,, +WALK_LOC - Fare,@df.c_cost * odt_skims['WLK_LOC_FARE'],,,,,,1,,,,,,,,,,,, +WALK_LOC - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,1,,,,,,,,,,,, +WALK_LOC - Topology,@c_topology_trn * df.trip_topology,,,,,,1,,,,,,,,,,,, +WALK_LOC - Person is less than 10 years old,@c_age010_trn * (df.age <= 10),,,,,,1,,,,,,,,,,,, +#Walk to Premium,,,,,,,,,,,,,,,,,,, +WALK_PRM - Unavailable,walk_premium_available == False,,,,,,,-999,,,,,,,,,,, +WALK_PRM - In-vehicle time,@c_ivt * odt_skims['WLK_PRM_IVT'],,,,,,,1,,,,,,,,,,, +WALK_PRM - In-vehicle time on PMov,@(c_ivt_pmov - c_ivt) * odt_skims['WLK_PRM_IVTT_PMov'],,,,,,,1,,,,,,,,,,, +WALK_PRM - In-vehicle time on StCar,@(c_ivt_stcar - c_ivt) * odt_skims['WLK_PRM_IVTT_StCar'],,,,,,,1,,,,,,,,,,, +WALK_PRM - In-vehicle time on BRT,@(c_ivt_brt - c_ivt) * odt_skims['WLK_PRM_IVTT_Brt'],,,,,,,1,,,,,,,,,,, +WALK_PRM - In-vehicle time on URB,@(c_ivt_urb - c_ivt) * odt_skims['WLK_PRM_IVTT_UrbRail'],,,,,,,1,,,,,,,,,,, +WALK_PRM - In-vehicle time on COM,@(c_ivt_com - c_ivt) * odt_skims['WLK_PRM_IVTT_ComRail'],,,,,,,1,,,,,,,,,,, +WALK_PRM - Short iwait time,@c_short_i_wait * (odt_skims['WLK_PRM_IWAIT']).clip(upper=waitThresh),,,,,,,1,,,,,,,,,,, +WALK_PRM - Long iwait time,@c_long_i_wait * (odt_skims['WLK_PRM_IWAIT']-waitThresh).clip(0),,,,,,,1,,,,,,,,,,, +WALK_PRM - transfer wait time,@c_xwait * odt_skims['WLK_PRM_XWAIT'],,,,,,,1,,,,,,,,,,, +WALK_PRM - number of transfers,@c_xfers_wlk * (odt_skims['WLK_PRM_NT']).clip(0),,,,,,,1,,,,,,,,,,, +WALK_PRM - Walk access time,@c_wacc * df.origin_walk_time,,,,,,,1,,,,,,,,,,, +WALK_PRM - Walk egress time,@c_wegr * df.destination_walk_time,,,,,,,1,,,,,,,,,,, +WALK_PRM - Walk otherLight rail/Ferry time,@c_waux * odt_skims['WLK_PRM_WAUX'],,,,,,,1,,,,,,,,,,, +WALK_PRM - Fare,@df.c_cost * odt_skims['WLK_PRM_FARE'],,,,,,,1,,,,,,,,,,, +WALK_PRM - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,1,,,,,,,,,,, +WALK_PRM - Topology,@c_topology_trn * df.trip_topology,,,,,,,1,,,,,,,,,,, +WALK_PRM - Person is less than 10 years old,@c_age010_trn * (df.age <= 10),,,,,,,1,,,,,,,,,,, +#Walk to Mix,,,,,,,,,,,,,,,,,,, +WALK_MIX - Unavailable,walk_mix_available == False,,,,,,,,-999,,,,,,,,,, +WALK_MIX - In-vehicle time,@c_ivt * odt_skims['WLK_MIX_IVT'],,,,,,,,1,,,,,,,,,, +WALK_MIX - In-vehicle time on Bus,@c_ivt * odt_skims['WLK_MIX_IVTT_Bus'],,,,,,,,1,,,,,,,,,, +WALK_MIX - In-vehicle time on PMov,@(c_ivt_pmov - c_ivt) * odt_skims['WLK_MIX_IVTT_PMov'],,,,,,,,1,,,,,,,,,, +WALK_MIX - In-vehicle time on StCar,@(c_ivt_stcar - c_ivt) * odt_skims['WLK_MIX_IVTT_StCar'],,,,,,,,1,,,,,,,,,, +WALK_MIX - In-vehicle time on BRT,@(c_ivt_brt - c_ivt) * odt_skims['WLK_MIX_IVTT_Brt'],,,,,,,,1,,,,,,,,,, +WALK_MIX - In-vehicle time on URB,@(c_ivt_urb - c_ivt) * odt_skims['WLK_MIX_IVTT_UrbRail'],,,,,,,,1,,,,,,,,,, +WALK_MIX - In-vehicle time on COM,@(c_ivt_com - c_ivt) * odt_skims['WLK_MIX_IVTT_ComRail'],,,,,,,,1,,,,,,,,,, +WALK_MIX - Short iwait time,@c_short_i_wait * (odt_skims['WLK_MIX_IWAIT']).clip(upper=waitThresh),,,,,,,,1,,,,,,,,,, +WALK_MIX - Long iwait time,@c_long_i_wait * (odt_skims['WLK_MIX_IWAIT']-waitThresh).clip(0),,,,,,,,1,,,,,,,,,, +WALK_MIX - transfer wait time,@c_xwait * odt_skims['WLK_MIX_XWAIT'],,,,,,,,1,,,,,,,,,, +WALK_MIX - number of transfers,@c_xfers_wlk * (odt_skims['WLK_MIX_NT']).clip(0),,,,,,,,1,,,,,,,,,, +WALK_MIX - Walk access time,@c_wacc * df.origin_walk_time,,,,,,,,1,,,,,,,,,, +WALK_MIX - Walk egress time,@c_wegr * df.destination_walk_time,,,,,,,,1,,,,,,,,,, +WALK_MIX - Walk other time,@c_waux * odt_skims['WLK_MIX_WAUX'],,,,,,,,1,,,,,,,,,, +WALK_MIX - Fare,@df.c_cost * odt_skims['WLK_MIX_FARE'],,,,,,,,1,,,,,,,,,, +WALK_MIX - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,1,,,,,,,,,, +WALK_MIX - Topology,@c_topology_trn * df.trip_topology,,,,,,,,1,,,,,,,,,, +WALK_MIX - Person is less than 10 years old,@c_age010_trn * (df.age <= 10),,,,,,,,1,,,,,,,,,, +#PNR to Local,,,,,,,,,,,,,,,,,,, +PNR_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,-999,,,,,,,,, +PNR_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,-999,,,,,,,,, +PNR_LOC - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,1,,,,,,,,, +PNR_LOC - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,1,,,,,,,,, +PNR_LOC - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,1,,,,,,,,, +PNR_LOC outbound - Unavailable,outbound & ~pnr_local_available_outbound,,,,,,,,,-999,,,,,,,,, +PNR_LOC outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['PNR_LOC_IVT'],,,,,,,,,1,,,,,,,,, +PNR_LOC outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['PNR_LOC_IWAIT']).clip(upper=waitThresh),,,,,,,,,1,,,,,,,,, +PNR_LOC outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['PNR_LOC_IWAIT']-waitThresh).clip(0),,,,,,,,,1,,,,,,,,, +PNR_LOC outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['PNR_LOC_XWAIT'],,,,,,,,,1,,,,,,,,, +PNR_LOC outbound - number of transfers,@df.outbound * c_xfers_wlk * (odt_skims['PNR_LOC_NT']).clip(0),,,,,,,,,1,,,,,,,,, +PNR_LOC outbound - Drive time,@df.outbound * c_dtim * odt_skims['PNR_LOC_DTIME'],,,,,,,,,1,,,,,,,,, +PNR_LOC outbound - Walk egress time,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,1,,,,,,,,, +PNR_LOC outbound - Walk other time,@df.outbound * c_waux * odt_skims['PNR_LOC_WAUX'],,,,,,,,,1,,,,,,,,, +PNR_LOC outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['PNR_LOC_FARE'] + costPerMile*odt_skims['PNR_LOC_DDIST']),,,,,,,,,1,,,,,,,,, +PNR_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['PNR_LOC_DDIST'])/ (od_skims['DIST']),,,,,,,,,1,,,,,,,,, +PNR_LOC inbound - Unavailable,inbound & ~pnr_local_available_inbound,,,,,,,,,-999,,,,,,,,, +PNR_LOC inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['PNRE_LOC_IVT'],,,,,,,,,1,,,,,,,,, +PNR_LOC inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['PNRE_LOC_IWAIT']).clip(upper=waitThresh),,,,,,,,,1,,,,,,,,, +PNR_LOC inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['PNRE_LOC_IWAIT']-waitThresh).clip(0),,,,,,,,,1,,,,,,,,, +PNR_LOC inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['PNRE_LOC_XWAIT'],,,,,,,,,1,,,,,,,,, +PNR_LOC inbound - number of transfers,@df.inbound * c_xfers_wlk * (odt_skims['PNRE_LOC_NT']).clip(0),,,,,,,,,1,,,,,,,,, +PNR_LOC inbound - Drive time,@df.inbound * c_dtim * odt_skims['PNRE_LOC_DTIME'],,,,,,,,,1,,,,,,,,, +PNR_LOC inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,1,,,,,,,,, +PNR_LOC inbound - Walk other time,@df.inbound * c_waux * odt_skims['PNRE_LOC_WAUX'],,,,,,,,,1,,,,,,,,, +PNR_LOC inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['PNRE_LOC_FARE'] + costPerMile*odt_skims['PNRE_LOC_DDIST']),,,,,,,,,1,,,,,,,,, +PNR_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['PNRE_LOC_DDIST'])/ (od_skims['DIST']),,,,,,,,,1,,,,,,,,, +#Drive to Premium,,,,,,,,,,,,,,,,,,, +PNR_PRM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,-999,,,,,,,, +PNR_PRM - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,,,,,,, +PNR_PRM - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,,1,,,,,,,, +PNR_PRM - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,,1,,,,,,,, +PNR_PRM - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,,1,,,,,,,, +PNR_PRM outbound - Unavailable,outbound & ~pnr_premium_available_outbound,,,,,,,,,,-999,,,,,,,, +PNR_PRM outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['PNR_PRM_IVT'],,,,,,,,,,1,,,,,,,, +PNR_PRM - In-vehicle time on PMov,@df.outbound * (c_ivt_pmov - c_ivt) * odt_skims['PNR_PRM_IVTT_PMov'],,,,,,,,,,1,,,,,,,, +PNR_PRM - In-vehicle time on StCar,@df.outbound * (c_ivt_stcar - c_ivt) * odt_skims['PNR_PRM_IVTT_StCar'],,,,,,,,,,1,,,,,,,, +PNR_PRM - In-vehicle time on BRT,@df.outbound * (c_ivt_brt - c_ivt) * odt_skims['PNR_PRM_IVTT_Brt'],,,,,,,,,,1,,,,,,,, +PNR_PRM - In-vehicle time on URB,@df.outbound * (c_ivt_urb - c_ivt) * odt_skims['PNR_PRM_IVTT_UrbRail'],,,,,,,,,,1,,,,,,,, +PNR_PRM - In-vehicle time on COM,@df.outbound * (c_ivt_com - c_ivt) * odt_skims['PNR_PRM_IVTT_ComRail'],,,,,,,,,,1,,,,,,,, +PNR_PRM outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['PNR_PRM_IWAIT']).clip(upper=waitThresh),,,,,,,,,,1,,,,,,,, +PNR_PRM outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['PNR_PRM_IWAIT']-waitThresh).clip(0) ,,,,,,,,,,1,,,,,,,, +PNR_PRM outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['PNR_PRM_XWAIT'],,,,,,,,,,1,,,,,,,, +PNR_PRM outbound - number of transfers,@df.outbound * c_xfers_drv * (odt_skims['PNR_PRM_NT']).clip(0),,,,,,,,,,1,,,,,,,, +PNR_PRM outbound - Drive time,@df.outbound * c_dtim * odt_skims['PNR_PRM_DTIME'],,,,,,,,,,1,,,,,,,, +PNR_PRM outbound - Walk egress time,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,,1,,,,,,,, +PNR_PRM outbound - Walk other time,@df.outbound * c_waux * odt_skims['PNR_PRM_WAUX'],,,,,,,,,,1,,,,,,,, +PNR_PRM outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['PNR_PRM_FARE'] + costPerMile * odt_skims['PNR_PRM_DDIST']),,,,,,,,,,1,,,,,,,, +PNR_PRM outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['PNR_PRM_DDIST']) / od_skims['DIST'],,,,,,,,,,1,,,,,,,, +PNR_PRM inbound - Unavailable,inbound & ~pnr_premium_available_inbound,,,,,,,,,,-999,,,,,,,, +PNR_PRM inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['PNRE_PRM_IVT'],,,,,,,,,,1,,,,,,,, +PNR_PRM - In-vehicle time on PMov,@df.inbound * (c_ivt_pmov - c_ivt) * odt_skims['PNRE_PRM_IVTT_PMov'],,,,,,,,,,1,,,,,,,, +PNR_PRM - In-vehicle time on StCar,@df.inbound * (c_ivt_stcar - c_ivt) * odt_skims['PNRE_PRM_IVTT_StCar'],,,,,,,,,,1,,,,,,,, +PNR_PRM - In-vehicle time on BRT,@df.inbound * (c_ivt_brt - c_ivt) * odt_skims['PNRE_PRM_IVTT_Brt'],,,,,,,,,,1,,,,,,,, +PNR_PRM - In-vehicle time on URB,@df.inbound * (c_ivt_urb - c_ivt) * odt_skims['PNRE_PRM_IVTT_UrbRail'],,,,,,,,,,1,,,,,,,, +PNR_PRM - In-vehicle time on COM,@df.inbound * (c_ivt_com - c_ivt) * odt_skims['PNRE_PRM_IVTT_ComRail'],,,,,,,,,,1,,,,,,,, +PNR_PRM inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['PNRE_PRM_IWAIT']).clip(upper=waitThresh),,,,,,,,,,1,,,,,,,, +PNR_PRM inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['PNRE_PRM_IWAIT']-waitThresh).clip(0),,,,,,,,,,1,,,,,,,, +PNR_PRM inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['PNRE_PRM_XWAIT'],,,,,,,,,,1,,,,,,,, +PNR_PRM inbound - number of transfers,@df.inbound * c_xfers_drv * (odt_skims['PNRE_PRM_NT']).clip(0),,,,,,,,,,1,,,,,,,, +PNR_PRM inbound - Drive time,@df.inbound * c_dtim * odt_skims['PNRE_PRM_DTIME'],,,,,,,,,,1,,,,,,,, +PNR_PRM inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,,1,,,,,,,, +PNR_PRM inbound - Walk other time,@df.inbound * c_waux * odt_skims['PNRE_PRM_WAUX'],,,,,,,,,,1,,,,,,,, +PNR_PRM inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['PNRE_PRM_FARE'] + costPerMile * odt_skims['PNRE_PRM_DDIST']),,,,,,,,,,1,,,,,,,, +PNR_PRM inbound - Ratio of drive access distance to OD distance,@df.inbound * c_dacc_ratio * (odt_skims['PNRE_PRM_DDIST'])/ od_skims['DIST'],,,,,,,,,,1,,,,,,,, +#PNR to Mix,,,,,,,,,,,,,,,,,,, +PNR_MIX - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,-999,,,,,,, +PNR_MIX - Unavailable for persons less than 16,age < 16,,,,,,,,,,,-999,,,,,,, +PNR_MIX - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,,,1,,,,,,, +PNR_MIX - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,,,1,,,,,,, +PNR_MIX - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,,,1,,,,,,, +PNR_MIX outbound - Unavailable,outbound & ~pnr_mix_available_outbound,,,,,,,,,,,-999,,,,,,, +PNR_MIX outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['PNR_MIX_IVT'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on Bus,@df.outbound * c_ivt * odt_skims['PNR_MIX_IVTT_Bus'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on PMov,@df.outbound * (c_ivt_pmov - c_ivt) * odt_skims['PNR_MIX_IVTT_PMov'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on StCar,@df.outbound * (c_ivt_stcar - c_ivt) * odt_skims['PNR_MIX_IVTT_StCar'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on BRT,@df.outbound * (c_ivt_brt - c_ivt) * odt_skims['PNR_MIX_IVTT_Brt'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on URB,@df.outbound * (c_ivt_urb - c_ivt) * odt_skims['PNR_MIX_IVTT_UrbRail'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on COM,@df.outbound * (c_ivt_com - c_ivt) * odt_skims['PNR_MIX_IVTT_ComRail'],,,,,,,,,,,1,,,,,,, +PNR_MIX outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['PNR_MIX_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,1,,,,,,, +PNR_MIX outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['PNR_MIX_IWAIT']-waitThresh).clip(0),,,,,,,,,,,1,,,,,,, +PNR_MIX outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['PNR_MIX_XWAIT'],,,,,,,,,,,1,,,,,,, +PNR_MIX outbound - number of transfers,@df.outbound * c_xfers_drv * (odt_skims['PNR_MIX_NT']).clip(0),,,,,,,,,,,1,,,,,,, +PNR_MIX outbound - Drive time,@df.outbound * c_dtim * odt_skims['PNR_MIX_DTIME'],,,,,,,,,,,1,,,,,,, +PNR_MIX outbound - Walk egress ime,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,,,1,,,,,,, +PNR_MIX outbound - Walk other time,@df.outbound * c_waux * odt_skims['PNR_MIX_WAUX'],,,,,,,,,,,1,,,,,,, +PNR_MIX outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['PNR_MIX_FARE'] + costPerMile * odt_skims['PNR_MIX_DDIST']),,,,,,,,,,,1,,,,,,, +PNR_MIX outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['PNR_MIX_DDIST']) / od_skims['DIST'],,,,,,,,,,,1,,,,,,, +PNR_MIX inbound - Unavailable,inbound & ~pnr_mix_available_inbound,,,,,,,,,,,-999,,,,,,, +PNR_MIX inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['PNRE_MIX_IVT'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on Bus,@df.inbound * c_ivt * odt_skims['PNRE_MIX_IVTT_Bus'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on PMov,@df.inbound * (c_ivt_pmov - c_ivt) * odt_skims['PNRE_MIX_IVTT_PMov'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on StCar,@df.inbound * (c_ivt_stcar - c_ivt) * odt_skims['PNRE_MIX_IVTT_StCar'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on BRT,@df.inbound * (c_ivt_brt - c_ivt) * odt_skims['PNRE_MIX_IVTT_Brt'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on URB,@df.inbound * (c_ivt_urb - c_ivt) * odt_skims['PNRE_MIX_IVTT_UrbRail'],,,,,,,,,,,1,,,,,,, +PNR_MIX - In-vehicle time on COM,@df.inbound * (c_ivt_com - c_ivt) * odt_skims['PNRE_MIX_IVTT_ComRail'],,,,,,,,,,,1,,,,,,, +PNR_MIX inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['PNRE_MIX_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,1,,,,,,, +PNR_MIX inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['PNRE_MIX_IWAIT']-waitThresh).clip(0),,,,,,,,,,,1,,,,,,, +PNR_MIX inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['PNRE_MIX_XWAIT'],,,,,,,,,,,1,,,,,,, +PNR_MIX inbound - number of transfers,@df.inbound * c_xfers_drv * (odt_skims['PNRE_MIX_NT']).clip(0),,,,,,,,,,,1,,,,,,, +PNR_MIX inbound - Drive time,@df.inbound * c_dtim * odt_skims['PNRE_MIX_DTIME'],,,,,,,,,,,1,,,,,,, +PNR_MIX inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,,,1,,,,,,, +PNR_MIX inbound - Walk other time,@df.inbound * c_waux * odt_skims['PNRE_MIX_WAUX'],,,,,,,,,,,1,,,,,,, +PNR_MIX inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['PNRE_MIX_FARE'] + costPerMile * odt_skims['PNRE_MIX_DDIST']),,,,,,,,,,,1,,,,,,, +PNR_MIX inbound - Ratio of drive access distance to OD distance,@df.inbound * c_dacc_ratio * (odt_skims['PNRE_MIX_DDIST']) / od_skims['DIST'],,,,,,,,,,,1,,,,,,, +#KNR to Local,,,,,,,,,,,,,,,,,,, +KNR_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,-999,,,,,, +KNR_LOC - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,,,,1,,,,,, +KNR_LOC - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,,,,1,,,,,, +KNR_LOC - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,,,,1,,,,,, +KNR_LOC outbound - Unavailable,outbound & ~knr_local_available_outbound,,,,,,,,,,,,-999,,,,,, +KNR_LOC outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['KNR_LOC_IVT'],,,,,,,,,,,,1,,,,,, +KNR_LOC outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['KNR_LOC_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,1,,,,,, +KNR_LOC outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['KNR_LOC_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,1,,,,,, +KNR_LOC outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['KNR_LOC_XWAIT'],,,,,,,,,,,,1,,,,,, +KNR_LOC outbound - number of transfers,@df.outbound * c_xfers_wlk * (odt_skims['KNR_LOC_NT']).clip(0),,,,,,,,,,,,1,,,,,, +KNR_LOC outbound - Drive time,@df.outbound * c_dtim * odt_skims['KNR_LOC_DTIME'],,,,,,,,,,,,1,,,,,, +KNR_LOC outbound - Walk egress time,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,,,,1,,,,,, +KNR_LOC outbound - Walk other time,@df.outbound * c_waux * odt_skims['KNR_LOC_WAUX'],,,,,,,,,,,,1,,,,,, +KNR_LOC outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['KNR_LOC_FARE'] + costPerMile*odt_skims['KNR_LOC_DDIST']),,,,,,,,,,,,1,,,,,, +KNR_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['KNR_LOC_DDIST'])/ (od_skims['DIST']),,,,,,,,,,,,1,,,,,, +KNR_LOC inbound - Unavailable,inbound & ~knr_local_available_inbound,,,,,,,,,,,,-999,,,,,, +KNR_LOC inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['KNRE_LOC_IVT'],,,,,,,,,,,,1,,,,,, +KNR_LOC inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['KNRE_LOC_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,1,,,,,, +KNR_LOC inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['KNRE_LOC_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,1,,,,,, +KNR_LOC inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['KNRE_LOC_XWAIT'],,,,,,,,,,,,1,,,,,, +KNR_LOC inbound - number of transfers,@df.inbound * c_xfers_wlk * (odt_skims['KNRE_LOC_NT']).clip(0),,,,,,,,,,,,1,,,,,, +KNR_LOC inbound - Drive time,@df.inbound * c_dtim * odt_skims['KNRE_LOC_DTIME'],,,,,,,,,,,,1,,,,,, +KNR_LOC inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,,,,1,,,,,, +KNR_LOC inbound - Walk other time,@df.inbound * c_waux * odt_skims['KNRE_LOC_WAUX'],,,,,,,,,,,,1,,,,,, +KNR_LOC inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['KNRE_LOC_FARE'] + costPerMile*odt_skims['KNRE_LOC_DDIST']),,,,,,,,,,,,1,,,,,, +KNR_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['KNRE_LOC_DDIST'])/ (od_skims['DIST']),,,,,,,,,,,,1,,,,,, +#Drive to Premium,,,,,,,,,,,,,,,,,,, +KNR_PRM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,-999,,,,, +KNR_PRM - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,,,,,1,,,,, +KNR_PRM - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,,,,,1,,,,, +KNR_PRM - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,,,,,1,,,,, +KNR_PRM outbound - Unavailable,outbound & ~knr_premium_available_outbound,,,,,,,,,,,,,-999,,,,, +KNR_PRM outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['KNR_PRM_IVT'],,,,,,,,,,,,,1,,,,, +KNR_PRM - In-vehicle time on PMov,@df.outbound * (c_ivt_pmov - c_ivt) * odt_skims['KNR_PRM_IVTT_PMov'],,,,,,,,,,,,,1,,,,, +KNR_PRM - In-vehicle time on StCar,@df.outbound * (c_ivt_stcar - c_ivt) * odt_skims['KNR_PRM_IVTT_StCar'],,,,,,,,,,,,,1,,,,, +KNR_PRM - In-vehicle time on BRT,@df.outbound * (c_ivt_brt - c_ivt) * odt_skims['KNR_PRM_IVTT_Brt'],,,,,,,,,,,,,1,,,,, +KNR_PRM - In-vehicle time on URB,@df.outbound * (c_ivt_urb - c_ivt) * odt_skims['KNR_PRM_IVTT_UrbRail'],,,,,,,,,,,,,1,,,,, +KNR_PRM - In-vehicle time on COM,@df.outbound * (c_ivt_com - c_ivt) * odt_skims['KNR_PRM_IVTT_ComRail'],,,,,,,,,,,,,1,,,,, +KNR_PRM outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['KNR_PRM_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,1,,,,, +KNR_PRM outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['KNR_PRM_IWAIT']-waitThresh).clip(0) ,,,,,,,,,,,,,1,,,,, +KNR_PRM outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['KNR_PRM_XWAIT'],,,,,,,,,,,,,1,,,,, +KNR_PRM outbound - number of transfers,@df.outbound * c_xfers_drv * (odt_skims['KNR_PRM_NT']).clip(0),,,,,,,,,,,,,1,,,,, +KNR_PRM outbound - Drive time,@df.outbound * c_dtim * odt_skims['KNR_PRM_DTIME'],,,,,,,,,,,,,1,,,,, +KNR_PRM outbound - Walk egress time,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,,,,,1,,,,, +KNR_PRM outbound - Walk other time,@df.outbound * c_waux * odt_skims['KNR_PRM_WAUX'],,,,,,,,,,,,,1,,,,, +KNR_PRM outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['KNR_PRM_FARE'] + costPerMile * odt_skims['KNR_PRM_DDIST']),,,,,,,,,,,,,1,,,,, +KNR_PRM outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['KNR_PRM_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,1,,,,, +KNR_PRM inbound - Unavailable,inbound & ~knr_premium_available_inbound,,,,,,,,,,,,,-999,,,,, +KNR_PRM inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['KNRE_PRM_IVT'],,,,,,,,,,,,,1,,,,, +KNR_PRM - In-vehicle time on PMov,@df.inbound * (c_ivt_pmov - c_ivt) * odt_skims['KNRE_PRM_IVTT_PMov'],,,,,,,,,,,,,1,,,,, +KNR_PRM - In-vehicle time on StCar,@df.inbound * (c_ivt_stcar - c_ivt) * odt_skims['KNRE_PRM_IVTT_StCar'],,,,,,,,,,,,,1,,,,, +KNR_PRM - In-vehicle time on BRT,@df.inbound * (c_ivt_brt - c_ivt) * odt_skims['KNRE_PRM_IVTT_Brt'],,,,,,,,,,,,,1,,,,, +KNR_PRM - In-vehicle time on URB,@df.inbound * (c_ivt_urb - c_ivt) * odt_skims['KNRE_PRM_IVTT_UrbRail'],,,,,,,,,,,,,1,,,,, +KNR_PRM - In-vehicle time on COM,@df.inbound * (c_ivt_com - c_ivt) * odt_skims['KNRE_PRM_IVTT_ComRail'],,,,,,,,,,,,,1,,,,, +KNR_PRM inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['KNRE_PRM_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,1,,,,, +KNR_PRM inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['KNRE_PRM_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,1,,,,, +KNR_PRM inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['KNRE_PRM_XWAIT'],,,,,,,,,,,,,1,,,,, +KNR_PRM inbound - number of transfers,@df.inbound * c_xfers_drv * (odt_skims['KNRE_PRM_NT']).clip(0),,,,,,,,,,,,,1,,,,, +KNR_PRM inbound - Drive time,@df.inbound * c_dtim * odt_skims['KNRE_PRM_DTIME'],,,,,,,,,,,,,1,,,,, +KNR_PRM inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,,,,,1,,,,, +KNR_PRM inbound - Walk other time,@df.inbound * c_waux * odt_skims['KNRE_PRM_WAUX'],,,,,,,,,,,,,1,,,,, +KNR_PRM inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['KNRE_PRM_FARE'] + costPerMile * odt_skims['KNRE_PRM_DDIST']),,,,,,,,,,,,,1,,,,, +KNR_PRM inbound - Ratio of drive access distance to OD distance,@df.inbound * c_dacc_ratio * (odt_skims['KNRE_PRM_DDIST'])/ od_skims['DIST'],,,,,,,,,,,,,1,,,,, +#KNR to Mix,,,,,,,,,,,,,,,,,,, +KNR_MIX - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,, +KNR_MIX - Destination zone densityIndex,@c_density_index * df.density_index,,,,,,,,,,,,,,1,,,, +KNR_MIX - Topology,@c_topology_trn * df.trip_topology,,,,,,,,,,,,,,1,,,, +KNR_MIX - Person is less than 10 years old,@c_age010_trn * (df.age < 10),,,,,,,,,,,,,,1,,,, +KNR_MIX outbound - Unavailable,outbound & ~knr_mix_available_outbound,,,,,,,,,,,,,,-999,,,, +KNR_MIX outbound - In-vehicle time,@df.outbound * c_ivt * odt_skims['KNR_MIX_IVT'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on Bus,@df.outbound * c_ivt * odt_skims['KNR_MIX_IVTT_Bus'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on PMov,@df.outbound * (c_ivt_pmov - c_ivt) * odt_skims['KNR_MIX_IVTT_PMov'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on StCar,@df.outbound * (c_ivt_stcar - c_ivt) * odt_skims['KNR_MIX_IVTT_StCar'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on BRT,@df.outbound * (c_ivt_brt - c_ivt) * odt_skims['KNR_MIX_IVTT_Brt'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on URB,@df.outbound * (c_ivt_urb - c_ivt) * odt_skims['KNR_MIX_IVTT_UrbRail'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on COM,@df.outbound * (c_ivt_com - c_ivt) * odt_skims['KNR_MIX_IVTT_ComRail'],,,,,,,,,,,,,,1,,,, +KNR_MIX outbound - Short iwait time,@df.outbound * c_short_i_wait * (odt_skims['KNR_MIX_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,1,,,, +KNR_MIX outbound - Long iwait time,@df.outbound * c_long_i_wait * (odt_skims['KNR_MIX_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,1,,,, +KNR_MIX outbound - transfer wait time,@df.outbound * c_xwait * odt_skims['KNR_MIX_XWAIT'],,,,,,,,,,,,,,1,,,, +KNR_MIX outbound - number of transfers,@df.outbound * c_xfers_drv * (odt_skims['KNR_MIX_NT']).clip(0),,,,,,,,,,,,,,1,,,, +KNR_MIX outbound - Drive time,@df.outbound * c_dtim * odt_skims['KNR_MIX_DTIME'],,,,,,,,,,,,,,1,,,, +KNR_MIX outbound - Walk egress ime,@df.outbound * c_wegr * df.destination_walk_time,,,,,,,,,,,,,,1,,,, +KNR_MIX outbound - Walk other time,@df.outbound * c_waux * odt_skims['KNR_MIX_WAUX'],,,,,,,,,,,,,,1,,,, +KNR_MIX outbound - Fare and operating cost,@df.outbound * df.c_cost * (odt_skims['KNR_MIX_FARE'] + costPerMile * odt_skims['KNR_MIX_DDIST']),,,,,,,,,,,,,,1,,,, +KNR_MIX outbound - Ratio of drive access distance to OD distance,@df.outbound * c_dacc_ratio * (odt_skims['KNR_MIX_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,,1,,,, +KNR_MIX inbound - Unavailable,inbound & ~knr_mix_available_inbound,,,,,,,,,,,,,,-999,,,, +KNR_MIX inbound - In-vehicle time,@df.inbound * c_ivt * odt_skims['KNRE_MIX_IVT'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on Bus,@df.inbound * c_ivt * odt_skims['KNRE_MIX_IVTT_Bus'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on PMov,@df.inbound * (c_ivt_pmov - c_ivt) * odt_skims['KNRE_MIX_IVTT_PMov'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on StCar,@df.inbound * (c_ivt_stcar - c_ivt) * odt_skims['KNRE_MIX_IVTT_StCar'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on BRT,@df.inbound * (c_ivt_brt - c_ivt) * odt_skims['KNRE_MIX_IVTT_Brt'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on URB,@df.inbound * (c_ivt_urb - c_ivt) * odt_skims['KNRE_MIX_IVTT_UrbRail'],,,,,,,,,,,,,,1,,,, +KNR_MIX - In-vehicle time on COM,@df.inbound * (c_ivt_com - c_ivt) * odt_skims['KNRE_MIX_IVTT_ComRail'],,,,,,,,,,,,,,1,,,, +KNR_MIX inbound - Short iwait time,@df.inbound * c_short_i_wait * (odt_skims['KNRE_MIX_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,1,,,, +KNR_MIX inbound - Long iwait time,@df.inbound * c_long_i_wait * (odt_skims['KNRE_MIX_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,1,,,, +KNR_MIX inbound - transfer wait time,@df.inbound * c_xwait * odt_skims['KNRE_MIX_XWAIT'],,,,,,,,,,,,,,1,,,, +KNR_MIX inbound - number of transfers,@df.inbound * c_xfers_drv * (odt_skims['KNRE_MIX_NT']).clip(0),,,,,,,,,,,,,,1,,,, +KNR_MIX inbound - Drive time,@df.inbound * c_dtim * odt_skims['KNRE_MIX_DTIME'],,,,,,,,,,,,,,1,,,, +KNR_MIX inbound - Walk access time,@df.inbound * c_wacc * df.origin_walk_time,,,,,,,,,,,,,,1,,,, +KNR_MIX inbound - Walk other time,@df.inbound * c_waux * odt_skims['KNRE_MIX_WAUX'],,,,,,,,,,,,,,1,,,, +KNR_MIX inbound - Fare and operating cost,@df.inbound * df.c_cost * (odt_skims['KNRE_MIX_FARE'] + costPerMile * odt_skims['KNRE_MIX_DDIST']),,,,,,,,,,,,,,1,,,, +KNR_MIX inbound - Ratio of drive access distance to OD distance,@df.inbound * c_dacc_ratio * (odt_skims['KNRE_MIX_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,,1,,,, +#Taxi,,,,,,,,,,,,,,,,,,, +Taxi - In-vehicle time,@c_ivt * odt_skims['HOV2_TIME'],,,,,,,,,,,,,,,,1,, +Taxi - Wait time,@c_ivt * 1.5 * df.origTaxiWaitTime,,,,,,,,,,,,,,,,1,, +#Taxi - Tolls,@df.c_cost * odt_skims['HOV2_VTOLL'],,,,,,,,,,,,,,,,1,, +#Taxi - Bridge toll,@df.c_cost * odt_skims['HOV2_BTOLL'],,,,,,,,,,,,,,,,1,, +Taxi - Fare,@df.c_cost * (Taxi_baseFare + odt_skims['HOV2_DIST'] * Taxi_costPerMile + odt_skims['HOV2_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,1,, +#TNC Single,,,,,,,,,,,,,,,,,,, +TNC Single - In-vehicle time,@c_ivt * odt_skims['HOV2_TIME'] ,,,,,,,,,,,,,,,,,1, +TNC Single - Wait time,@c_ivt * 1.5 * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,1, +#TNC Single - Tolls,@df.c_cost * odt_skims['HOV2_VTOLL'],,,,,,,,,,,,,,,,,1, +#TNC Single - Bridge toll,@df.c_cost * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']),,,,,,,,,,,,,,,,,1, +TNC Single - Cost,"@df.c_cost * np.maximum(TNC_single_baseFare + odt_skims['HOV2_DIST'] * TNC_single_costPerMile + odt_skims['HOV2_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,1, +#TNC Shared,,,,,,,,,,,,,,,,,,, +TNC Shared - In-vehicle time,@c_ivt * odt_skims['HOV2_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,1 +TNC Shared - Wait time,@c_ivt * 1.5 * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,1 +#TNC Shared - Tolls,@df.c_cost * odt_skims['HOV2_VTOLL'],,,,,,,,,,,,,,,,,,1 +#TNC Shared - Bridge toll,@df.c_cost * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']),,,,,,,,,,,,,,,,,,1 +TNC Shared - Cost,"@df.c_cost * np.maximum(TNC_shared_baseFare + odt_skims['HOV2_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,1 +#,,,,,,,,,,,,,,,,,,, +Auto tour mode availability,tour_mode_is_auto,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,,,,-999,,,,-999,-999,-999,-999,-999,-999,-999,,, +Drive to Transit tour mode availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,-999,,, +School bus tour mode availability,tour_mode_is_school_bus,-999,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,, +#indiv tour ASCs,,,,,,,,,,,,,,,,,,, +Drive Alone tour mode ASC -- shared ride 2,@sov_ASC_sr2 * (df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,1,,,,,,,,,,,,,,,, +Drive Alone tour mode ASC -- shared ride 3+,@sov_ASC_sr3p * (df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,1,,,,,,,,,,,,,,, +Drive Alone tour mode ASC -- walk,@sov_ASC_walk * (df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,1,,,,,,,,,,,,,, +Drive Alone tour mode ASC -- ride hail,@sov_ASC_rh * (df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,1,1,1 +#Shared Ride 2 tour mode ASC -- shared ride 2 - reference mode,@sr2_ASC_sr2 * (df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,1,,,,,,,,,,,,,,,, +Shared Ride 2 tour mode ASC -- drive alone,@sr2_ASC_sov * (df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),1,,,,,,,,,,,,,,,,, +Shared Ride 2 tour mode ASC -- walk,@sr2_ASC_walk * (df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,1,,,,,,,,,,,,,, +Shared Ride 2 tour mode ASC -- ride hail,@sr2_ASC_rh * (df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,1,1,1 +Shared Ride 3+ tour mode ASC -- drive alone,@sr3p_ASC_sov * (df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),1,,,,,,,,,,,,,,,,, +Shared Ride 3+ tour mode ASC -- shared ride 2,@sr3p_ASC_sr2 * (df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,1,,,,,,,,,,,,,,,, +#Shared Ride 3+ tour mode ASC -- shared ride 3+ - reference mode,@sr3p_ASC_sr3p * (df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,1,,,,,,,,,,,,,,, +Shared Ride 3+ tour mode ASC -- walk,@sr3p_ASC_walk * (df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,1,,,,,,,,,,,,,, +Shared Ride 3+ tour mode ASC -- ride hail,@sr3p_ASC_rh * (df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,1,1,1 +Walk tour mode ASC -- ride hail,@walk_ASC_rh * df.is_indiv * (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,1,1,1 +Bike tour mode ASC -- walk,@bike_ASC_walk * df.is_indiv * (df.i_tour_mode == I_BIKE_MODE),,,,1,,,,,,,,,,,,,, +Bike tour mode ASC -- ride hail,@bike_ASC_rh * df.is_indiv * (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,1,1,1 +Walk-transit tour mode ASC -- shared ride 2,@walktransit_ASC_sr2 * (df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,1,,,,,,,,,,,,,,,, +Walk-transit tour mode ASC -- shared ride 3+,@walktransit_ASC_sr3p * (df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,1,,,,,,,,,,,,,,, +Walk-transit tour mode ASC -- walk,@walktransit_ASC_walk * (df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,1,,,,,,,,,,,,,, +Walk-transit tour mode ASC -- ride hail,@walk_transit_ASC_rh * (df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,1,1,1 +Drive to Transit tour mode ASC -- ride hail,@drive_transit_ASC_rh * (df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,1,1,1 +Ride Hail tour mode ASC -- ride hail,@ride_hail_ASC_taxi * (df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,1,, +Ride Hail tour mode ASC -- ride hail,@ride_hail_ASC_tnc_single * (df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,1, +Ride Hail tour mode ASC -- ride hail,@ride_hail_ASC_tnc_shared * (df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,1 +#Walk-transit tour mode ASC -- walk-transit - reference mode,@walktransit_ASC_walktransit * (df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,,,1,1,1,,,,,,,,,, +#PNR tour mode ASC -- PNR - reference mode,@pnr_ASC_pnr * (df.is_indiv & df.i_tour_mode.isin(I_PNR_TRANSIT_MODES)),,,,,,,,,1,1,1,,,,,,, +#KNR tour mode ASC -- KNR - reference mode,@knr_ASC_knr * (df.is_indiv & df.i_tour_mode.isin(I_KNR_TRANSIT_MODES)),,,,,,,,,,,,1,1,1,,,, +#joint tour ASCs,,,,,,,,,,,,,,,,,,, +#joint - SR2 tour mode ASC -- shared ride 2 - reference mode,@joint_sr2_ASC_sr2 * (df.is_joint & df.i_tour_mode.isin(I_SR2_MODES)),,1,,,,,,,,,,,,,,,, +joint - SR2 tour mode ASC -- walk,@joint_sr2_ASC_walk * (df.is_joint & df.i_tour_mode.isin(I_SR2_MODES)),,,,1,,,,,,,,,,,,,, +#joint - SR3 tour mode ASC -- shared ride 3+ - reference mode,@joint_sr3p_ASC_sr3p * (df.is_joint & df.i_tour_mode.isin(I_SR3P_MODES)),,,1,,,,,,,,,,,,,,, +joint - SR3 tour mode ASC -- shared ride 2,@joint_sr3p_ASC_sr2 * (df.is_joint & df.i_tour_mode.isin(I_SR3P_MODES)),,1,,,,,,,,,,,,,,,, +joint - SR3 tour mode ASC -- walk,@joint_sr3p_ASC_walk * (df.is_joint & df.i_tour_mode.isin(I_SR3P_MODES)),,,,1,,,,,,,,,,,,,, +joint - auto tour mode ASC -- ride hail,@joint_auto_ASC_rh * (df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,1,1,1 +joint - Bike tour mode ASC -- walk,@joint_bike_ASC_walk * df.is_joint * (df.i_tour_mode == I_BIKE_MODE),,,,1,,,,,,,,,,,,,, +joint - Bike tour mode ASC -- ride hail,@joint_bike_ASC_rh * df.is_joint * (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,1,1,1 +joint - Walk-transit tour mode ASC -- shared ride 2,@joint_walktransit_ASC_sr2 * (df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,1,,,,,,,,,,,,,,,, +joint - Walk-transit tour mode ASC -- shared ride 3+,@joint_walktransit_ASC_sr3p * (df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,1,,,,,,,,,,,,,,, +joint - Walk-transit tour mode ASC -- walk,@joint_walktransit_ASC_walk * (df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,1,,,,,,,,,,,,,, +joint - Walk to Transit tour mode ASC -- ride hail,@joint_walk_transit_ASC_rh * (df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,,,,,,,,,,,,,1,1,1 +joint - Drive to Transit tour mode ASC -- ride hail,@joint_drive_transit_ASC_rh * (df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,1,1,1 +joint - Ride Hail tour mode ASC -- ride hail,@joint_ride_hail_ASC_taxi * (df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,1,, +joint - Ride Hail tour mode ASC -- ride hail,@joint_ride_hail_ASC_tnc_single * (df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,1, +joint - Ride Hail tour mode ASC -- ride hail,@joint_ride_hail_ASC_tnc_shared * (df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,1 +#joint - Walk-transit tour mode ASC -- walk-transit - reference mode,@joint_walktransit_ASC_walktransit * (df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,,,1,1,1,,,,,,,,,, +#joint - PNR tour mode ASC -- PNR - reference mode,@joint_pnr_ASC_pnr * (df.is_joint & df.i_tour_mode.isin(I_PNR_TRANSIT_MODES)),,,,,,,,,1,1,1,,,,,,, +#joint - KNR tour mode ASC -- KNR - reference mode,@joint_knr_ASC_knr * (df.is_joint & df.i_tour_mode.isin(I_KNR_TRANSIT_MODES)),,,,,,,,,,,,1,1,1,,,, +#,,,,,,,,,,,,,,,,,,, +Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,-999,,,,,,,,,,,,,, +Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,-999,,,,,,,,,,,,, +Origin density index,@(c_origin_density_index*df.origin_density_index).clip(c_origin_density_index_max) if origin_density_applied else 0,,,,1,1,1,1,1,,,,,,,,,, +#Walk-express penalty for intermediate stops,@c_walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,1,,,,,,,,,, +#School Bus,,,,,,,,,,,,,,,,,,, +School Bus Unavailable if primary purpose NOT school,~is_school,,,,,,,,,,,,,,,-999,,, +School Bus Unavailable - Tour Mode = SOV,tour_mode_is_SOV,,,,,,,,,,,,,,,-999,,, +School Bus Unavailable - Tour Mode = Transit,tour_mode_is_drive_transit,,,,,,,,,,,,,,,-999,,, +School Bus - In-vehicle time (20 miles per hour),@c_ivt * odt_skims['HOV3_DIST']*3,,,,,,,,,,,,,,,1,,, +School Bus - Walk Time,@c_wacc*10,,,,,,,,,,,,,,,1,,, +School Bus - Wait Time,@c_short_i_wait*10,,,,,,,,,,,,,,,1,,, +School Bus tour mode ASC -- shared ride 2,@schoolbus_ASC_sr2 * df.i_tour_mode.isin(I_SCHOOLBUS_MODE),,1,,,,,,,,,,,,,,,, +School Bus tour mode ASC -- shared ride 3+,@schoolbus_ASC_sr3p * df.i_tour_mode.isin(I_SCHOOLBUS_MODE),,,1,,,,,,,,,,,,,,, +School Bus tour mode ASC -- walk,@schoolbus_ASC_walk * df.i_tour_mode.isin(I_SCHOOLBUS_MODE),,,,1,,,,,,,,,,,,,, +local_ASC,@local_ASC,,,,,,1,,,1,,,1,,,,,, +premium_ASC,@premium_ASC,,,,,,,1,,,1,,,1,,,,, +mix_ASC,@mix_ASC,,,,,,,,1,,,1,,,1,,,, +Origin density index,@(c_origin_density_index*df.origin_density_index).clip(c_origin_density_index_max) if origin_density_applied else 0,,,,,,,1,1,1,1,1,1,1,,,,1,1 +TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,1 diff --git a/activitysim/examples/prototype_semcog/configs/trip_mode_choice.yaml b/activitysim/examples/prototype_semcog/configs/trip_mode_choice.yaml new file mode 100755 index 0000000000..c5f224994f --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_mode_choice.yaml @@ -0,0 +1,184 @@ +SPEC: trip_mode_choice.csv +#COEFFICIENTS: trip_mode_choice_coeffs.csv +LEGACY_COEFFICIENTS: trip_mode_choice_coeffs.csv + +LOGIT_TYPE: NL + +NESTS: + name: root + coefficient: 1.00 + alternatives: + - name: AUTO + coefficient: 0.72 + alternatives: + - DRIVEALONE + - SHARED2 + - SHARED3 + - name: NONMOTORIZED + coefficient: 0.72 + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: 0.72 + alternatives: + - name: WALKACCESS + coefficient: 0.5 + alternatives: + - WALK_LOC + - WALK_PRM + - WALK_MIX + - name: PNRACCESS + coefficient: 0.5 + alternatives: + - PNR_LOC + - PNR_PRM + - PNR_MIX + - name: KNRACCESS + coefficient: 0.5 + alternatives: + - KNR_LOC + - KNR_PRM + - KNR_MIX + - name: SCHOOL_BUS + coefficient: 0.72 + alternatives: + - SCHOOLBUS + - name: RIDEHAIL + coefficient: 0.36 + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +CONSTANTS: + orig_col_name: origin + dest_col_name: destination + costPerMile: 18.29 + costShareSr2: 1.75 + costShareSr3: 2.50 + waitThresh: 10.00 + walkThresh: 1.00 + shortWalk: 0.333 + longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 6.00 + bikeSpeed: 12.00 +# maxCbdAreaTypeThresh: 2 +# indivTour: 1.00000 +# upperEA: 5 +# upperAM: 10 +# upperMD: 15 +# upperPM: 19 + I_MODE_MAP: + DRIVEALONE: 1 + SHARED2: 2 + SHARED3: 3 + WALK: 4 + BIKE: 5 + WALK_LOC: 6 + WALK_PRM: 7 + WALK_MIX: 8 + PNR_LOC: 9 + PNR_PRM: 10 + PNR_MIX: 11 + KNR_LOC: 12 + KNR_PRM: 13 + KNR_MIX: 14 + SCHOOLBUS: 15 + TAXI: 16 + TNC_SINGLE: 17 + TNC_SHARED: 18 + I_SOV_MODES: [1] + I_SR2_MODES: [2] + I_SR3P_MODES: [3] + I_AUTO_MODES: [1, 2, 3] + I_WALK_MODE: 4 + I_BIKE_MODE: 5 + I_WALK_TRANSIT_MODES: [6,7,8] + I_DRIVE_TRANSIT_MODES: [9,10,11,12,13,14] + I_PNR_TRANSIT_MODES: [9,10,11] + I_KNR_TRANSIT_MODES: [12,13,14] + I_SCHOOLBUS_MODE: [15] + I_RIDE_HAIL_MODES: [16, 17, 18] + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: trip_mode_choice_annotate_trips_preprocessor + DF: df + TABLES: + - land_use + - tours + +# - SPEC: trip_mode_choice_annotate_trips_preprocessor2 +# DF: df +# TABLES: +# - land_use + +# to reduce memory needs filter chooser table to these fields +TOURS_MERGED_CHOOSER_COLUMNS: + - hhsize + - age + - auto_ownership + - number_of_participants + - tour_category + - parent_tour_id + - tour_mode + - duration + - value_of_time + - tour_type + - free_parking_at_work + + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/prototype_semcog/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/trip_mode_choice_annotate_trips_preprocessor.csv new file mode 100755 index 0000000000..1c557d4991 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_mode_choice_annotate_trips_preprocessor.csv @@ -0,0 +1,89 @@ +Description,Target,Expression, +,is_joint,(df.number_of_participants > 1), +,is_indiv,(df.number_of_participants == 1), +,is_atwork_subtour,~df.parent_tour_id.isnull(), +,is_school,"(df.primary_purpose=='school') & (df.purpose.isin(['school', 'Home']))", +,c_cost,(0.60 * c_ivt) / df.value_of_time, +#,,, +#atwork subtours,,, +#FIXME tripModeChoice uec wrongly conflates these with tour_mode_is_bike?,,, +,parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id).fillna('')", +,work_tour_is_SOV,parent_tour_mode.isin(['DRIVEALONE']), +,work_tour_is_bike,parent_tour_mode=='BIKE', +#,,, +,i_tour_mode,df.tour_mode.map(I_MODE_MAP), +,tour_mode_is_SOV,i_tour_mode.isin(I_SOV_MODES), +,tour_mode_is_auto,i_tour_mode.isin(I_AUTO_MODES), +,tour_mode_is_walk,i_tour_mode.isin([I_WALK_MODE]), +,tour_mode_is_bike,i_tour_mode.isin([I_BIKE_MODE]), +,tour_mode_is_walk_transit,i_tour_mode.isin(I_WALK_TRANSIT_MODES), +,tour_mode_is_drive_transit,i_tour_mode.isin(I_DRIVE_TRANSIT_MODES), +,tour_mode_not_drive_transit,~tour_mode_is_drive_transit, +,tour_mode_is_pnr_transit,i_tour_mode.isin(I_PNR_TRANSIT_MODES), +,tour_mode_is_knr_transit,i_tour_mode.isin(I_KNR_TRANSIT_MODES), +,tour_mode_is_school_bus,i_tour_mode.isin(I_SCHOOLBUS_MODE), +,tour_mode_is_ride_hail,i_tour_mode.isin(I_RIDE_HAIL_MODES), +#,,, +,inbound,~df.outbound, +,first_trip,df.trip_num == 1, +,last_trip,df.trip_num == df.trip_count, +origin terminal time not counted at home,_origin_terminal_time,"np.where(df.outbound & first_trip, 0, reindex(land_use.TERMINAL, df[ORIGIN]))", +dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & last_trip, 0, reindex(land_use.TERMINAL, df[DESTINATION]))", +,total_terminal_time,_origin_terminal_time + _dest_terminal_time, +#,,, +,free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work, +,dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[DESTINATION])", +,origin_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[ORIGIN])", +,origin_duration,"np.where(first_trip, np.where(inbound,df.duration/2 * ~free_parking_available,0), 1)", +,dest_duration,"np.where(last_trip, np.where(inbound, df.duration/2 * ~free_parking_available, 0), 1)", +,origin_parking_cost,origin_duration*origin_hourly_peak_parking_cost, +,dest_parking_cost,dest_duration*dest_hourly_peak_parking_cost, +,total_parking_cost,(origin_parking_cost + dest_parking_cost) / 2.0, +,trip_topology,"np.where(df.outbound, reindex(land_use.TOPOLOGY, df[DESTINATION]), reindex(land_use.TOPOLOGY, df[ORIGIN]))", +,density_index,"np.where(df.outbound, reindex(land_use.density_index, df[DESTINATION]), reindex(land_use.density_index, df[ORIGIN]))", +,origin_density_index,"np.where(df.outbound, reindex(land_use.density_index, df[ORIGIN]), reindex(land_use.density_index, df[DESTINATION]))", +# FIXME no transit subzones so all zones short walk to transit,,, +,_walk_transit_origin,True, +,_walk_transit_destination,True, +,walk_transit_available,_walk_transit_origin & _walk_transit_destination & (tour_mode_not_drive_transit), +,pnr_transit_available,tour_mode_is_pnr_transit, +,knr_transit_available,tour_mode_is_knr_transit, +,origin_walk_time,shortWalk*60/walkSpeed, +,destination_walk_time,shortWalk*60/walkSpeed, +# RIDEHAIL,,, +,origin_density_measure,"(reindex(land_use.tot_pop, df[orig_col_name]) + reindex(land_use.tot_emp, df[orig_col_name])) / (reindex(land_use.tot_acres, df[orig_col_name]) / 640)", +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", +# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +#,,, +,sov_available,(odt_skims['SOV_TIME']>0) & tour_mode_not_drive_transit, +,hov2_available,(odt_skims['HOV2_TIME']>0) & tour_mode_not_drive_transit, +,hov3_available,(odt_skims['HOV3_TIME']>0) & tour_mode_not_drive_transit, +,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_IVT']>0), +,walk_premium_available,walk_transit_available & (odt_skims['WLK_PRM_IVT']>0), +,walk_mix_available,walk_transit_available & (odt_skims['WLK_MIX_IVT']>0), +,pnr_local_available_outbound,pnr_transit_available & df.outbound & (odt_skims['PNR_LOC_IVT']>0), +,pnr_local_available_inbound,pnr_transit_available & ~df.outbound & (odt_skims['PNRE_LOC_IVT']>0), +,pnr_premium_available_outbound,pnr_transit_available & df.outbound & (odt_skims['PNR_PRM_IVT']>0), +,pnr_premium_available_inbound,pnr_transit_available & ~df.outbound & (odt_skims['PNRE_PRM_IVT']>0), +,pnr_mix_available_outbound,pnr_transit_available & df.outbound & (odt_skims['PNR_MIX_IVT']>0), +,pnr_mix_available_inbound,pnr_transit_available & ~df.outbound & (odt_skims['PNRE_MIX_IVT']>0), +,knr_local_available_outbound,knr_transit_available & df.outbound & (odt_skims['KNR_LOC_IVT']>0), +,knr_local_available_inbound,knr_transit_available & ~df.outbound & (odt_skims['KNRE_LOC_IVT']>0), +,knr_premium_available_outbound,knr_transit_available & df.outbound & (odt_skims['KNR_PRM_IVT']>0), +,knr_premium_available_inbound,knr_transit_available & ~df.outbound & (odt_skims['KNRE_PRM_IVT']>0), +,knr_mix_available_outbound,knr_transit_available & df.outbound & (odt_skims['KNR_MIX_IVT']>0), +,knr_mix_available_inbound,knr_transit_available & ~df.outbound & (odt_skims['KNRE_MIX_IVT']>0), +#,od_dist_walk,od_skims['DISTWALK'], +#,do_dist_walk,od_skims.reverse('DISTWALK'), +#,max_dist_walk,od_skims.max('DISTWALK'), +#,dist_bike,od_skims['DISTBIKE'], +#,dist_only,od_skims['DIST'], diff --git a/activitysim/examples/example_semcog/configs/trip_mode_choice_coeffs.csv b/activitysim/examples/prototype_semcog/configs/trip_mode_choice_coeffs.csv similarity index 98% rename from activitysim/examples/example_semcog/configs/trip_mode_choice_coeffs.csv rename to activitysim/examples/prototype_semcog/configs/trip_mode_choice_coeffs.csv index a451b62cb0..441bd0e4ff 100755 --- a/activitysim/examples/example_semcog/configs/trip_mode_choice_coeffs.csv +++ b/activitysim/examples/prototype_semcog/configs/trip_mode_choice_coeffs.csv @@ -1,105 +1,105 @@ -coefficient_name,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork -c_ivt,-0.022,-0.0271,-0.0271,-0.0279,-0.0279,-0.0279,-0.0175,-0.0175,-0.0279,-0.0279 -c_ivt_pmov,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt -c_ivt_stcar,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt -c_ivt_brt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt -c_ivt_urb,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt -c_ivt_com,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt -c_short_i_wait,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 -c_long_i_wait,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,-0.0188 -c_wacc,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 -c_wegr,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 -c_waux,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 -c_dtim,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 -c_xfers_wlk,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt -c_xfers_drv,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt -c_xwait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait -c_walktimeshort,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 -c_walktimelong,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort -c_biketimeshort,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,-0.0752 -c_biketimelong,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort -#value_of_time is a person attribute so we cant compute c_cost as scalar here,,,,,,,,,, -#c_cost,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.6*ivt) / valueOfTime -c_dacc_ratio,0,0,0,0,0,0,0,0,0,0 -c_topology_walk,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt -c_topology_bike,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt -c_topology_trn,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt -c_density_index,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0 -c_origin_density_index,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3 -c_origin_density_index_max,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15 -origin_density_applied,False,False,False,True,True,True,True,True,True,True -c_age1619_da,0,0,0,0,0,0,0,0,0,0 -c_age010_trn,0,0,0,0,0,0,0,0,0,0 -c_age16p_sr,0,0,0,0,0,0,0,0,0,0 -c_hhsize1_sr,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346 -c_hhsize2_sr,0,0,0,0,0,0,0,0,0,0 -#free_parking_allowed,1,0,0,0,0,0,0,0,0,0 -#indiv tour ASCs,,,,,,,,,, -sov_ASC_sr2,-999,-999,-999,0,-999,-999,-999,-999,-999,-999 -sov_ASC_sr3p,-999,-999,-999,0,-999,-999,-999,-999,-999,-999 -sov_ASC_walk,-1.579278297,-0.329078195,-3,-0.407754765,-1.884354765,-1.129357279,-1.707054765,-1.592757279,-1.335757279,-3.034080783 -sov_ASC_rh,-7,-6.649,-5.6549,0,0,0,0,0,0,-7 -#sr2_ASC_sr2 - reference mode,0,0,0,0,0,0,0,0,0,0 -sr2_ASC_sov,-0.51299105,-1.058942553,-0.293588173,-0.536498222,-0.536498222,-0.849808648,-0.536498222,-0.849808648,-0.849808648,-0.601604001 -sr2_ASC_walk,-0.407385039,0.166984338,-0.173411375,-3.466936859,-1.525836859,-0.739819085,-2.013036859,-1.460119085,-0.693719085,-4.398412986 -sr2_ASC_rh,-7,-6.6897,-7,-7,-7,-7,-7,-7,-7,-7 -sr3p_ASC_sov,-0.229516694,-1.142035901,-1.860536359,-1.111545636,-1.111545636,-1.592880167,-1.111545636,-1.592880167,-1.592880167,-0.915383849 -sr3p_ASC_sr2,-0.333410245,-0.795945688,-1.095643656,-0.656228794,-0.466128794,-0.748226556,-0.683828794,-0.586026556,-1.044626556,-0.75108718 -#sr3p_ASC_sr3p - reference mode,0,0,0,0,0,0,0,0,0,0 -sr3p_ASC_walk,-0.72844504,0.021931966,-0.70641187,-2.362025557,-1.862425557,-0.146994878,-1.312325557,-0.416994878,-0.630794878,-3.892581674 -sr3p_ASC_rh,-71.9177,-7,-6.6714,-7,-7,-7,-7,-7,-7,-6.026 -walk_ASC_rh,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7 -bike_ASC_walk,-2.8333,-2.49405068,-3.238666604,-15.5203,-3.0245,-3.699,-2.5706,-14.2384,-2.3577,-5.0532 -bike_ASC_rh,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7 -#walktransit_ASC_walktransit - reference mode,0,0,0,0,0,0,0,0,0,0 -walktransit_ASC_sr2,-3.705971533,-4.132166342,-3.186743446,-3.139673944,-3.139673944,-3.696770924,-3.139673944,-3.696770924,-3.696770924,-4 -walktransit_ASC_sr3p,-3.578423306,-5.496253927,-3.595736858,-6.198039835,-6.198039835,-3.455537128,-6.198039835,-3.455537128,-3.455537128,-1.156825048 -walktransit_ASC_walk,2.289791885,0.742780398,-0.458321333,1.976505237,1.976505237,2.544557044,1.976505237,2.544557044,2.544557044,1.038327796 -walk_transit_ASC_rh,-3.7408,-4.2691,-7,-3.1136,-3.1136,-4.7508,-3.1136,-4.7508,-4.7508,-3.8506 -drive_transit_ASC_rh,0.6674,-0.6328,-0.1272,0.687,0.687,3.5701,0.687,3.5701,3.5701,-6.952 -ride_hail_ASC_sr2,-3.9085,-2.5785,-3.0613,-3.3353,-3.3353,-3.301,-3.3353,-3.301,-3.301,-4.2636 -ride_hail_ASC_sr3p,-10.8661,-3.1888,-4.0886,-7,-7,-4.0649,-7,-4.0649,-4.0649,-7 -ride_hail_ASC_walk,1.497,-10.8471,-1.2386,-7,-7,-1.3318,-7,-1.3318,-1.3318,-1.6755 -ride_hail_ASC_walk_transit,-10.8661,-7,-7,-7,-7,-7,-7,-7,-7,-7 -drive_transit_ASC_rh,-4.25,-4.25,-4.25,-4.25,-4.25,-4.25,-4.25,-4.25,-4.25,-4.25 -ride_hail_ASC_sr2,-6.108,-4.3372,-1.5869,-5.6483,-5.6483,-5.9692,-5.6483,-5.9692,-5.9692,-5.2763 -ride_hail_ASC_sr3p,-7,-4.922,-2.5362,-7,-7,-6.7199,-7,-6.7199,-6.7199,-7 -ride_hail_ASC_walk,0.2858,-7,0.245,-7,-7,-3.3603,-7,-3.3603,-3.3603,-2.6103 -ride_hail_ASC_walk_transit,0,0,0,0,0,0,0,0,0,0 -ride_hail_ASC_taxi,-2.385,-1.5994,-0.5869,-3.6629,-3.6629,-2.5543,-3.6629,-2.5543,-2.5543,-1.7764 -ride_hail_ASC_tnc_single,0.735,0.1081,0.3201,0.7879,0.7879,0.8274,0.7879,0.8274,0.8274,1.2143 -ride_hail_ASC_tnc_shared,0,0,0,0,0,0,0,0,0,0 -#pnr_ASC_pnr - reference mode,0,0,0,0,0,0,0,0,0,0 -#knr_ASC_knr - reference mode,0,0,0,0,0,0,0,0,0,0 -#joint tour ASCs,,,,,,,,,, -joint_auto_ASC_rh,0,0,0,0,-7,-7,-7,-7,-7,0 -joint_auto_ASC_rh,0,0,0,0,-7,-7,-7,-7,-7,0 -joint_walk_ASC_rh,0,0,0,0,-3.0362,-3.0362,-3.0362,-3.0362,-3.0362,0 -#joint_sr2_ASC_sr2 - reference mode,0,0,0,0,0,0,0,0,0,0 -joint_sr2_ASC_walk,0,0,0,-2.620466384,-2.620466384,-2.620466384,-2.620466384,-2.620466384,-2.620466384,0 -#joint_sr3p_ASC_sr3p - reference mode,0,0,0,0,0,0,0,0,0,0 -joint_sr3p_ASC_sr2,0,0,0,1.576317444,1.576317444,1.576317444,1.576317444,1.576317444,1.576317444,0 -joint_sr3p_ASC_walk,0,0,0,-1.238904557,-1.238904557,-1.238904557,-1.238904557,-1.238904557,-1.238904557,0 -joint_bike_ASC_walk,0,0,0,-3,-3,-3,-3,-3,-3,0 -joint_bike_ASC_rh,0,0,0,0,-12.3057,-12.3057,-12.3057,-12.3057,-12.3057,0 -#joint_walktransit_ASC_walktransit - reference mode,0,0,0,0,0,0,0,0,0,0 -joint_walktransit_ASC_sr2,0,0,0,-2.312902942,-2.312902942,-2.312902942,-2.312902942,-2.312902942,-2.312902942,0 -joint_walktransit_ASC_sr3p,0,0,0,-3.877768519,-3.877768519,-3.877768519,-3.877768519,-3.877768519,-3.877768519,0 -joint_walktransit_ASC_walk,0,0,0,1.576823424,1.576823424,1.576823424,1.576823424,1.576823424,1.576823424,0 -joint_walk_transit_ASC_rh,0,0,0,0,1.2266,1.2266,1.2266,1.2266,1.2266,0 -joint_drive_transit_ASC_rh,0,0,0,0,4.6138,4.6138,4.6138,4.6138,4.6138,0 -joint_ride_hail_ASC_taxi,0,0,0,0,-7,-7,-7,-7,-7,0 -joint_ride_hail_ASC_tnc_single,0,0,0,0,-4.7339,-4.7339,-4.7339,-4.7339,-4.7339,0 -joint_ride_hail_ASC_tnc_shared,0,0,0,0,0,0,0,0,0,0 -#joint_pnr_ASC_pnr - reference mode,0,0,0,0,0,0,0,0,0,0 -#joint_knr_ASC_knr - reference mode,0,0,0,0,0,0,0,0,0,0 -#,,,,,,,,,, -schoolbus_ASC_sr2,0,0,-3.289069276,0,0,0,0,0,0,0 -schoolbus_ASC_sr3p,0,0,-3.217740129,0,0,0,0,0,0,0 -schoolbus_ASC_walk,0,0,-2.277998613,0,0,0,0,0,0,0 -#c_walk_express_penalty,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt -local_ASC,0,0,0,0,0,0,0,0,0,0 -premium_ASC,0,0,0,0,0,0,0,0,0,0 -mix_ASC,0,0,0,0,0,0,0,0,0,0 -c_walk_express_penalty,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt -adjust_tnc_shared,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt +coefficient_name,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork +c_ivt,-0.022,-0.0271,-0.0271,-0.0279,-0.0279,-0.0279,-0.0175,-0.0175,-0.0279,-0.0279 +c_ivt_pmov,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt,1.0 * c_ivt +c_ivt_stcar,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt +c_ivt_brt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt,0.90 * c_ivt +c_ivt_urb,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt,0.80 * c_ivt +c_ivt_com,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt,0.70 * c_ivt +c_short_i_wait,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 +c_long_i_wait,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,1.00 * c_ivt,-0.0188 +c_wacc,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 +c_wegr,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 +c_waux,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 +c_dtim,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 +c_xfers_wlk,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt,5.00 * c_ivt +c_xfers_drv,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt +c_xwait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait,c_short_i_wait +c_walktimeshort,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,2.00 * c_ivt,-0.0376 +c_walktimelong,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort,5.00 * c_walktimeshort +c_biketimeshort,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,4.00 * c_ivt,-0.0752 +c_biketimelong,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort,5.00 * c_biketimeshort +#value_of_time is a person attribute so we cant compute c_cost as scalar here,,,,,,,,,, +#c_cost,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.60 * ivt) / valueOfTime,(0.6*ivt) / valueOfTime +c_dacc_ratio,0,0,0,0,0,0,0,0,0,0 +c_topology_walk,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt,15.00 * c_ivt +c_topology_bike,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt,20.00 * c_ivt +c_topology_trn,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt,2.20 * c_ivt +c_density_index,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0,c_ivt / -5.0 +c_origin_density_index,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3,c_density_index * 3 +c_origin_density_index_max,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15,c_ivt * -15 +origin_density_applied,False,False,False,True,True,True,True,True,True,True +c_age1619_da,0,0,0,0,0,0,0,0,0,0 +c_age010_trn,0,0,0,0,0,0,0,0,0,0 +c_age16p_sr,0,0,0,0,0,0,0,0,0,0 +c_hhsize1_sr,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346,-0.7346 +c_hhsize2_sr,0,0,0,0,0,0,0,0,0,0 +#free_parking_allowed,1,0,0,0,0,0,0,0,0,0 +#indiv tour ASCs,,,,,,,,,, +sov_ASC_sr2,-999,-999,-999,0,-999,-999,-999,-999,-999,-999 +sov_ASC_sr3p,-999,-999,-999,0,-999,-999,-999,-999,-999,-999 +sov_ASC_walk,-1.579278297,-0.329078195,-3,-0.407754765,-1.884354765,-1.129357279,-1.707054765,-1.592757279,-1.335757279,-3.034080783 +sov_ASC_rh,-7,-6.649,-5.6549,0,0,0,0,0,0,-7 +#sr2_ASC_sr2 - reference mode,0,0,0,0,0,0,0,0,0,0 +sr2_ASC_sov,-0.51299105,-1.058942553,-0.293588173,-0.536498222,-0.536498222,-0.849808648,-0.536498222,-0.849808648,-0.849808648,-0.601604001 +sr2_ASC_walk,-0.407385039,0.166984338,-0.173411375,-3.466936859,-1.525836859,-0.739819085,-2.013036859,-1.460119085,-0.693719085,-4.398412986 +sr2_ASC_rh,-7,-6.6897,-7,-7,-7,-7,-7,-7,-7,-7 +sr3p_ASC_sov,-0.229516694,-1.142035901,-1.860536359,-1.111545636,-1.111545636,-1.592880167,-1.111545636,-1.592880167,-1.592880167,-0.915383849 +sr3p_ASC_sr2,-0.333410245,-0.795945688,-1.095643656,-0.656228794,-0.466128794,-0.748226556,-0.683828794,-0.586026556,-1.044626556,-0.75108718 +#sr3p_ASC_sr3p - reference mode,0,0,0,0,0,0,0,0,0,0 +sr3p_ASC_walk,-0.72844504,0.021931966,-0.70641187,-2.362025557,-1.862425557,-0.146994878,-1.312325557,-0.416994878,-0.630794878,-3.892581674 +sr3p_ASC_rh,-71.9177,-7,-6.6714,-7,-7,-7,-7,-7,-7,-6.026 +walk_ASC_rh,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7 +bike_ASC_walk,-2.8333,-2.49405068,-3.238666604,-15.5203,-3.0245,-3.699,-2.5706,-14.2384,-2.3577,-5.0532 +bike_ASC_rh,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7 +#walktransit_ASC_walktransit - reference mode,0,0,0,0,0,0,0,0,0,0 +walktransit_ASC_sr2,-3.705971533,-4.132166342,-3.186743446,-3.139673944,-3.139673944,-3.696770924,-3.139673944,-3.696770924,-3.696770924,-4 +walktransit_ASC_sr3p,-3.578423306,-5.496253927,-3.595736858,-6.198039835,-6.198039835,-3.455537128,-6.198039835,-3.455537128,-3.455537128,-1.156825048 +walktransit_ASC_walk,2.289791885,0.742780398,-0.458321333,1.976505237,1.976505237,2.544557044,1.976505237,2.544557044,2.544557044,1.038327796 +walk_transit_ASC_rh,-3.7408,-4.2691,-7,-3.1136,-3.1136,-4.7508,-3.1136,-4.7508,-4.7508,-3.8506 +drive_transit_ASC_rh,0.6674,-0.6328,-0.1272,0.687,0.687,3.5701,0.687,3.5701,3.5701,-6.952 +ride_hail_ASC_sr2,-3.9085,-2.5785,-3.0613,-3.3353,-3.3353,-3.301,-3.3353,-3.301,-3.301,-4.2636 +ride_hail_ASC_sr3p,-10.8661,-3.1888,-4.0886,-7,-7,-4.0649,-7,-4.0649,-4.0649,-7 +ride_hail_ASC_walk,1.497,-10.8471,-1.2386,-7,-7,-1.3318,-7,-1.3318,-1.3318,-1.6755 +ride_hail_ASC_walk_transit,-10.8661,-7,-7,-7,-7,-7,-7,-7,-7,-7 +drive_transit_ASC_rh,-4.25,-4.25,-4.25,-4.25,-4.25,-4.25,-4.25,-4.25,-4.25,-4.25 +ride_hail_ASC_sr2,-6.108,-4.3372,-1.5869,-5.6483,-5.6483,-5.9692,-5.6483,-5.9692,-5.9692,-5.2763 +ride_hail_ASC_sr3p,-7,-4.922,-2.5362,-7,-7,-6.7199,-7,-6.7199,-6.7199,-7 +ride_hail_ASC_walk,0.2858,-7,0.245,-7,-7,-3.3603,-7,-3.3603,-3.3603,-2.6103 +ride_hail_ASC_walk_transit,0,0,0,0,0,0,0,0,0,0 +ride_hail_ASC_taxi,-2.385,-1.5994,-0.5869,-3.6629,-3.6629,-2.5543,-3.6629,-2.5543,-2.5543,-1.7764 +ride_hail_ASC_tnc_single,0.735,0.1081,0.3201,0.7879,0.7879,0.8274,0.7879,0.8274,0.8274,1.2143 +ride_hail_ASC_tnc_shared,0,0,0,0,0,0,0,0,0,0 +#pnr_ASC_pnr - reference mode,0,0,0,0,0,0,0,0,0,0 +#knr_ASC_knr - reference mode,0,0,0,0,0,0,0,0,0,0 +#joint tour ASCs,,,,,,,,,, +joint_auto_ASC_rh,0,0,0,0,-7,-7,-7,-7,-7,0 +joint_auto_ASC_rh,0,0,0,0,-7,-7,-7,-7,-7,0 +joint_walk_ASC_rh,0,0,0,0,-3.0362,-3.0362,-3.0362,-3.0362,-3.0362,0 +#joint_sr2_ASC_sr2 - reference mode,0,0,0,0,0,0,0,0,0,0 +joint_sr2_ASC_walk,0,0,0,-2.620466384,-2.620466384,-2.620466384,-2.620466384,-2.620466384,-2.620466384,0 +#joint_sr3p_ASC_sr3p - reference mode,0,0,0,0,0,0,0,0,0,0 +joint_sr3p_ASC_sr2,0,0,0,1.576317444,1.576317444,1.576317444,1.576317444,1.576317444,1.576317444,0 +joint_sr3p_ASC_walk,0,0,0,-1.238904557,-1.238904557,-1.238904557,-1.238904557,-1.238904557,-1.238904557,0 +joint_bike_ASC_walk,0,0,0,-3,-3,-3,-3,-3,-3,0 +joint_bike_ASC_rh,0,0,0,0,-12.3057,-12.3057,-12.3057,-12.3057,-12.3057,0 +#joint_walktransit_ASC_walktransit - reference mode,0,0,0,0,0,0,0,0,0,0 +joint_walktransit_ASC_sr2,0,0,0,-2.312902942,-2.312902942,-2.312902942,-2.312902942,-2.312902942,-2.312902942,0 +joint_walktransit_ASC_sr3p,0,0,0,-3.877768519,-3.877768519,-3.877768519,-3.877768519,-3.877768519,-3.877768519,0 +joint_walktransit_ASC_walk,0,0,0,1.576823424,1.576823424,1.576823424,1.576823424,1.576823424,1.576823424,0 +joint_walk_transit_ASC_rh,0,0,0,0,1.2266,1.2266,1.2266,1.2266,1.2266,0 +joint_drive_transit_ASC_rh,0,0,0,0,4.6138,4.6138,4.6138,4.6138,4.6138,0 +joint_ride_hail_ASC_taxi,0,0,0,0,-7,-7,-7,-7,-7,0 +joint_ride_hail_ASC_tnc_single,0,0,0,0,-4.7339,-4.7339,-4.7339,-4.7339,-4.7339,0 +joint_ride_hail_ASC_tnc_shared,0,0,0,0,0,0,0,0,0,0 +#joint_pnr_ASC_pnr - reference mode,0,0,0,0,0,0,0,0,0,0 +#joint_knr_ASC_knr - reference mode,0,0,0,0,0,0,0,0,0,0 +#,,,,,,,,,, +schoolbus_ASC_sr2,0,0,-3.289069276,0,0,0,0,0,0,0 +schoolbus_ASC_sr3p,0,0,-3.217740129,0,0,0,0,0,0,0 +schoolbus_ASC_walk,0,0,-2.277998613,0,0,0,0,0,0,0 +#c_walk_express_penalty,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt +local_ASC,0,0,0,0,0,0,0,0,0,0 +premium_ASC,0,0,0,0,0,0,0,0,0,0 +mix_ASC,0,0,0,0,0,0,0,0,0,0 +c_walk_express_penalty,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt,10.00 * c_ivt +adjust_tnc_shared,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt,30 * c_ivt diff --git a/activitysim/examples/prototype_semcog/configs/trip_purpose.yaml b/activitysim/examples/prototype_semcog/configs/trip_purpose.yaml new file mode 100755 index 0000000000..10668a6180 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_purpose.yaml @@ -0,0 +1,7 @@ + +preprocessor: + SPEC: trip_purpose_annotate_trips_preprocessor + DF: trips + TABLES: + - persons + - tours diff --git a/activitysim/examples/prototype_semcog/configs/trip_purpose_and_destination.yaml b/activitysim/examples/prototype_semcog/configs/trip_purpose_and_destination.yaml new file mode 100755 index 0000000000..76f5923489 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_purpose_and_destination.yaml @@ -0,0 +1,6 @@ + +MAX_ITERATIONS: 5 + +# drop failed trips and cleanup failed trip leg_mates for consistency +# (i.e. adjust trip_count, trip_num, first for missing failed trips) +CLEANUP: True diff --git a/activitysim/examples/prototype_semcog/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/trip_purpose_annotate_trips_preprocessor.csv new file mode 100755 index 0000000000..782116aa99 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_purpose_annotate_trips_preprocessor.csv @@ -0,0 +1,5 @@ +Description,Target,Expression +#,, +,ptype,"reindex(persons.ptype, df.person_id)" +,person_type,ptype.map(PTYPE_NAME) +,start,"reindex_i(tours.start, df.tour_id)" diff --git a/activitysim/examples/prototype_semcog/configs/trip_purpose_probs.csv b/activitysim/examples/prototype_semcog/configs/trip_purpose_probs.csv new file mode 100755 index 0000000000..3cd1aaa27f --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_purpose_probs.csv @@ -0,0 +1,132 @@ +primary_purpose,outbound,depart_range_start,depart_range_end,person_type,work,univ,school,escort,shopping,othmaint,eatout,social,othdiscr +work,TRUE,1,18,PTYPE_FULL,0.198,0.004,0,0.466,0.083,0.086,0.093,0.004,0.066 +work,TRUE,1,18,PTYPE_PART,0.094,0,0,0.657,0.076,0.07,0.067,0.009,0.027 +work,TRUE,1,18,PTYPE_UNIVERSITY,0.067,0.081,0,0.433,0.005,0.038,0.153,0.108,0.115 +work,TRUE,19,48,PTYPE_FULL,0.278,0.008,0,0.172,0.18,0.193,0.107,0.016,0.046 +work,TRUE,19,48,PTYPE_PART,0.442,0,0,0.089,0.105,0.175,0.102,0.03,0.057 +work,TRUE,19,48,PTYPE_UNIVERSITY,0.049,0.086,0,0.392,0.159,0.157,0.069,0.073,0.015 +work,TRUE,1,48,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 +univ,TRUE,1,48,PTYPE_FULL,0.526,0.178,0,0.016,0.16,0.035,0.028,0.057,0 +univ,TRUE,1,48,PTYPE_PART,0.059,0.941,0,0,0,0,0,0,0 +univ,TRUE,1,48,PTYPE_UNIVERSITY,0.109,0.034,0,0.382,0.136,0.147,0.094,0.048,0.05 +school,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.548,0.015,0.1,0.206,0.073,0.058 +school,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.53,0.025,0.084,0.112,0.048,0.201 +school,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.772,0.007,0.086,0.023,0.071,0.041 +escort,TRUE,1,48,PTYPE_FULL,0,0,0,0.55,0.153,0.084,0.104,0.049,0.06 +escort,TRUE,1,48,PTYPE_PART,0,0,0,0.449,0.194,0.07,0.167,0.059,0.061 +escort,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.509,0.193,0.158,0.048,0.058,0.034 +escort,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.444,0.216,0.084,0.108,0.118,0.03 +escort,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.37,0.204,0.192,0.03,0.068,0.136 +escort,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.586,0.227,0,0.072,0.115,0 +escort,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.37,0.183,0.29,0.064,0.013,0.08 +escort,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.531,0.064,0,0.131,0.196,0.078 +shopping,TRUE,1,48,PTYPE_FULL,0,0,0,0.102,0.456,0.226,0.11,0.06,0.046 +shopping,TRUE,1,48,PTYPE_PART,0,0,0,0.182,0.291,0.311,0.108,0.031,0.077 +shopping,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.13,0.262,0.36,0.124,0.06,0.064 +shopping,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.144,0.336,0.274,0.122,0.068,0.056 +shopping,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.058,0.357,0.418,0.05,0.047,0.07 +shopping,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.076,0.193,0.298,0.047,0.13,0.256 +shopping,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.121,0.142,0.232,0.291,0.03,0.184 +shopping,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.138,0.292,0.301,0.187,0.064,0.018 +othmaint,TRUE,1,48,PTYPE_FULL,0,0,0,0.201,0.252,0.366,0.117,0.032,0.032 +othmaint,TRUE,1,48,PTYPE_PART,0,0,0,0.27,0.259,0.325,0.109,0,0.037 +othmaint,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.489,0.13,0.167,0.025,0.15,0.039 +othmaint,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.279,0.229,0.344,0.078,0.039,0.031 +othmaint,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.224,0.139,0.321,0.098,0.064,0.154 +othmaint,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.135,0,0.259,0.083,0.523,0 +othmaint,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.191,0.408,0.344,0.041,0.008,0.008 +othmaint,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.143,0.301,0.464,0.017,0.029,0.046 +eatout,TRUE,1,48,PTYPE_FULL,0,0,0,0.144,0.283,0.202,0.036,0.129,0.206 +eatout,TRUE,1,48,PTYPE_PART,0,0,0,0.169,0.374,0.179,0.013,0.135,0.13 +eatout,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.32,0.085,0.111,0,0.153,0.331 +eatout,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.201,0.224,0.269,0.063,0.082,0.161 +eatout,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.142,0.237,0.237,0.034,0.123,0.227 +eatout,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.175,0.289,0.346,0,0.105,0.085 +eatout,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.124,0.135,0.135,0.04,0.048,0.518 +eatout,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.055,0.329,0.165,0.061,0,0.39 +social,TRUE,1,48,PTYPE_FULL,0,0,0,0.186,0.382,0.144,0.122,0.126,0.04 +social,TRUE,1,48,PTYPE_PART,0,0,0,0.175,0.153,0.167,0.147,0.183,0.175 +social,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0,0.212,0.091,0.432,0.234,0.031 +social,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.311,0.392,0.149,0.071,0.058,0.019 +social,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.12,0.407,0.203,0.151,0.102,0.017 +social,TRUE,1,48,PTYPE_DRIVING,0,0,0,0,0,0,0,0.415,0.585 +social,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.322,0.11,0.05,0,0.378,0.14 +social,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.294,0,0.159,0,0.547,0 +othdiscr,TRUE,1,48,PTYPE_FULL,0,0,0,0.236,0.169,0.143,0.19,0.093,0.169 +othdiscr,TRUE,1,48,PTYPE_PART,0,0,0,0.223,0.208,0.181,0.193,0.129,0.066 +othdiscr,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.135,0.123,0.061,0.342,0.123,0.216 +othdiscr,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.263,0.295,0.148,0.088,0.082,0.124 +othdiscr,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.225,0.056,0.389,0.16,0.091,0.079 +othdiscr,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.311,0.126,0.051,0.018,0.142,0.352 +othdiscr,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.222,0.112,0.172,0.173,0.141,0.18 +othdiscr,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.271,0.108,0.393,0.146,0.043,0.039 +atwork,TRUE,1,48,PTYPE_FULL,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,TRUE,1,48,PTYPE_PART,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,TRUE,1,48,PTYPE_UNIVERSITY,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,TRUE,1,48,PTYPE_DRIVING,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +#,,,,,,,,,,,,, +work,FALSE,1,30,PTYPE_FULL,0.175,0,0,0.14,0.27,0.162,0.134,0.05,0.069 +work,FALSE,1,30,PTYPE_PART,0.097,0,0,0.252,0.211,0.192,0.159,0.089,0 +work,FALSE,1,30,PTYPE_UNIVERSITY,0.134,0,0,0.329,0.114,0.212,0.169,0.042,0 +work,FALSE,31,48,PTYPE_FULL,0.151,0.011,0,0.201,0.28,0.127,0.103,0.035,0.092 +work,FALSE,31,48,PTYPE_PART,0.11,0,0,0.243,0.281,0.13,0.119,0.036,0.081 +work,FALSE,31,48,PTYPE_UNIVERSITY,0.058,0.127,0,0.224,0.269,0.079,0.072,0.108,0.063 +work,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 +univ,FALSE,1,48,PTYPE_FULL,0.352,0.032,0,0.032,0.146,0.114,0.177,0.028,0.119 +univ,FALSE,1,48,PTYPE_PART,0,0,0,0.822,0.178,0,0,0,0 +univ,FALSE,1,48,PTYPE_UNIVERSITY,0.054,0.025,0,0.194,0.209,0.179,0.159,0.067,0.113 +school,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.301,0.117,0.098,0.169,0.186,0.129 +school,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.166,0.158,0.147,0.122,0.133,0.274 +school,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.38,0.148,0.089,0.146,0.102,0.135 +escort,FALSE,1,48,PTYPE_FULL,0,0,0,0.343,0.235,0.114,0.222,0.039,0.047 +escort,FALSE,1,48,PTYPE_PART,0,0,0,0.24,0.298,0.128,0.157,0.045,0.132 +escort,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.195,0.319,0.287,0.02,0.027,0.152 +escort,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.28,0.325,0.169,0.103,0.05,0.073 +escort,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.31,0.317,0.073,0.111,0.112,0.077 +escort,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0.489,0,0.148,0.363,0 +escort,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.188,0.259,0.129,0.202,0.06,0.162 +escort,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.413,0.215,0.118,0.211,0.019,0.024 +shopping,FALSE,1,48,PTYPE_FULL,0,0,0,0.091,0.526,0.159,0.152,0.047,0.025 +shopping,FALSE,1,48,PTYPE_PART,0,0,0,0.104,0.553,0.156,0.105,0.037,0.045 +shopping,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.1,0.43,0.064,0.344,0.003,0.059 +shopping,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.11,0.528,0.158,0.122,0.059,0.023 +shopping,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.052,0.549,0.159,0.123,0.06,0.057 +shopping,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.118,0.707,0,0.041,0.134,0 +shopping,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.015,0.19,0.256,0.157,0.179,0.203 +shopping,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.206,0.172,0.22,0.202,0.158,0.042 +othmaint,FALSE,1,48,PTYPE_FULL,0,0,0,0.171,0.364,0.215,0.159,0.029,0.062 +othmaint,FALSE,1,48,PTYPE_PART,0,0,0,0.228,0.365,0.17,0.13,0.041,0.066 +othmaint,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.046,0.345,0.192,0.298,0.06,0.059 +othmaint,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.17,0.423,0.158,0.171,0.064,0.014 +othmaint,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.099,0.391,0.213,0.241,0.036,0.02 +othmaint,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.031,0.356,0.075,0.458,0.031,0.049 +othmaint,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.181,0.255,0.142,0.313,0,0.109 +othmaint,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.164,0.249,0.338,0.053,0.006,0.19 +eatout,FALSE,1,48,PTYPE_FULL,0,0,0,0.106,0.44,0.112,0.041,0.128,0.173 +eatout,FALSE,1,48,PTYPE_PART,0,0,0,0.168,0.331,0.225,0.023,0.063,0.19 +eatout,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.165,0.334,0.104,0.088,0.135,0.174 +eatout,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.148,0.547,0.092,0.056,0.055,0.102 +eatout,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.166,0.414,0.169,0.02,0.166,0.065 +eatout,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.195,0.332,0.114,0.114,0,0.245 +eatout,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.072,0.356,0.053,0.019,0.169,0.331 +eatout,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.01,0.286,0.045,0.117,0.064,0.478 +social,FALSE,1,48,PTYPE_FULL,0,0,0,0.12,0.286,0.123,0.19,0.255,0.026 +social,FALSE,1,48,PTYPE_PART,0,0,0,0.106,0.122,0.039,0.553,0.047,0.133 +social,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.105,0.274,0.176,0,0.206,0.239 +social,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.313,0.326,0.13,0.062,0.075,0.094 +social,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.097,0.338,0.067,0.156,0.328,0.014 +social,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0,0.368,0.15,0.482,0 +social,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.058,0.162,0.085,0.281,0.125,0.289 +social,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.23,0.028,0.072,0.23,0.44,0 +othdiscr,FALSE,1,48,PTYPE_FULL,0,0,0,0.108,0.319,0.132,0.27,0.112,0.059 +othdiscr,FALSE,1,48,PTYPE_PART,0,0,0,0.102,0.346,0.154,0.181,0.087,0.13 +othdiscr,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.116,0.374,0.124,0.162,0.033,0.191 +othdiscr,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.11,0.389,0.19,0.19,0.067,0.054 +othdiscr,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.111,0.284,0.186,0.197,0.111,0.111 +othdiscr,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.277,0.304,0.057,0.205,0.157,0 +othdiscr,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.114,0.204,0.148,0.291,0.089,0.154 +othdiscr,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.335,0.133,0.111,0.282,0.052,0.087 +atwork,FALSE,1,48,PTYPE_FULL,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,FALSE,1,48,PTYPE_PART,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,FALSE,1,48,PTYPE_UNIVERSITY,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,FALSE,1,48,PTYPE_DRIVING,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 diff --git a/activitysim/examples/prototype_semcog/configs/trip_scheduling.yaml b/activitysim/examples/prototype_semcog/configs/trip_scheduling.yaml new file mode 100755 index 0000000000..a006e7436b --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_scheduling.yaml @@ -0,0 +1,10 @@ + +# int to add to probs column index to get time period it represents. +# e.g. depart_alt_base = 5 means first column (column 0) represents period 5 +DEPART_ALT_BASE: 1 + +MAX_ITERATIONS: 100 + +#FAILFIX: drop_and_cleanup +FAILFIX: choose_most_initial + diff --git a/activitysim/examples/prototype_semcog/configs/trip_scheduling_probs.csv b/activitysim/examples/prototype_semcog/configs/trip_scheduling_probs.csv new file mode 100755 index 0000000000..5566771bbc --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/trip_scheduling_probs.csv @@ -0,0 +1,3457 @@ +primary_purpose,outbound,tour_hour,trip_num,HR1,HR2,HR3,HR4,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23,HR24,HR25,HR26,HR27,HR28,HR29,HR30,HR31,HR32,HR33,HR34,HR35,HR36,HR37,HR38,HR39,HR40,HR41,HR42,HR43,HR44,HR45,HR46,HR47,HR48 +work,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,2,2,0.0,0.19616890254702915,0.1912603437640753,0.1863517849811215,0.4262189687077741,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,3,2,0.0,0.0,0.13526428093370998,0.2025527289681607,0.2116401961671019,0.22072766336604313,0.22981513056498432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,4,2,0.0,0.0,0.0,0.10624548634172579,0.06858020640766692,0.07494014307275387,0.09267525115710235,0.10606474404897116,0.1918236992709937,0.15106126653267485,0.110298833794356,0.06953640105603714,0.028773968317718293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,4,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22716729050184845,0.19906390795361323,0.17096052540537807,0.14285714285714285,0.11475376030890767,0.08665037776067248,0.05854699521243728,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,4,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,5,2,0.0,0.0,0.0,0.0,0.15999026397867083,0.41410713463674304,0.055832578055926896,0.040168515066300294,0.20015956850202415,0.006335879498063484,0.01480562976546793,0.01453216844249737,0.014258707119526811,0.01398524579655625,0.013711784473585691,0.013438323150615133,0.013164861827644574,0.012891400504674013,0.012617939181703454,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,0.2960318381636424,0.18770660336620018,0.07938136856875798,0.17208718615671914,0.2647930037446804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.12224120087303571,0.22809729698794834,0.09608214694650757,0.03337112634266549,0.1442975739035269,0.12097020302377237,0.09764283214401782,0.07431546126426329,0.050988090384508744,0.027660719504754207,0.004333348624999673,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15489803953021786,0.20501318275937805,0.1288769479209746,0.08542197111921263,0.04196699431745064,0.04004799367837136,0.03812899303929208,0.0362099924002128,0.03429099176113352,0.032658235486101396,0.03102547921106928,0.029392722936037164,0.027759966661005046,0.026127210385972932,0.024494454110940818,0.022861697835908697,0.021228941560876582,0.019596185285844465,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.28222820679134347,0.40956635054617785,0.10518629545193542,0.07616442898471769,0.028688160397088297,0.01349977346443764,0.0030076309291625003,0.005086428049296891,0.007165225169431283,0.005651107496144739,0.0041369898228581945,0.0026228721495716494,0.001108754476285105,0.002827557866912015,0.004546361257538925,0.0062651646481658345,0.007983968038792744,0.009702771429419655,0.011421574820046564,0.013140378210673475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5662020326570962,0.0829252513512282,0.02270136213085974,0.10027915560668658,0.07166261551311282,0.02396825718723803,0.0807950970910796,0.01253457465595145,0.010951826691084117,0.009369078726216782,0.007786330761349448,0.006203582796482115,0.0046208348316147795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02479370179648419,0.023911175228094435,0.02302864865970468,0.022146122091314925,0.021263595522925165,0.02038106895453541,0.1256207894903588,0.2308605100261822,0.18815803082302965,0.14545555161987705,0.1027530724167245,0.06005059321357193,0.011577140157197177,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32491993258718205,0.546118224059595,0.04248271653008232,0.018161788542545295,0.006166107347180939,0.005272527272679438,0.011031180666506293,0.008344611890977113,0.01719708341660369,0.005387532849848245,0.0046137333596562415,0.003839933869464238,0.0030661343792722337,0.0021548758692263607,0.0012436173591804877,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020134085800894805,0.5003069846643431,0.24658385431747623,0.04223591056508909,0.0036251975049575625,0.002183345739664828,0.062132308004915975,0.01113260029288944,0.007017755676667859,0.0029029110604462797,0.02491296268540767,0.013511740308610111,0.0179567123205959,0.021106781126212292,0.02425684993182869,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22868690065941794,0.2809551284043939,0.2038706596380529,0.044818807125476944,0.02656440961123354,0.008310012096990137,0.007598018781998798,0.006886025467007459,0.0061740321520161205,0.005462038837024782,0.004750045522033443,0.006015643699641722,0.04004330870782533,0.07407097371600894,0.04328832309896232,0.012505672481915696,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31451698368414766,0.5667783167860904,0.05318638817697626,0.02427536894218004,0.0033156505909809914,0.0059471857919482065,0.003074530287229302,0.002413031647709681,0.0010433570648508415,0.006944525596215978,0.001968495501046467,0.002834713893690317,0.003700932286334167,0.004567150678978017,0.005433369071621867,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04369972760806578,0.46341105781145997,0.30629255403700983,0.012157012617118294,0.028527239297515855,0.01998701265434361,0.022452536388923097,0.02134912141214318,0.02024570643536326,0.019142291458583347,0.01803887648180343,0.020035723462607083,0.004661140335063202,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12959034266384364,0.07573706793565689,0.12630694517834132,0.10193091533770805,0.07755488549707479,0.017581890436769703,0.044120691116528304,0.03572820372887919,0.027335716341230085,0.01894322895358098,0.01055074156593187,0.12317159750192305,0.0968270943747169,0.07048259124751073,0.044138088120304564,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4750999982096916,0.4103592448802625,0.02381310899274124,0.03648546055115258,0.01537590150263418,0.0034289390696665024,0.0029670326385365445,0.003541137291142498,0.011730627409526895,0.006095101328719276,0.0004595752479116555,0.008642018004098922,0.0020018548739154924,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15937985982818456,0.23870718007387448,0.22728211149370622,0.07919844716191997,0.02485252722919029,0.01955147336963145,0.0679261116589369,0.03934329427210768,0.01076047688527845,0.024479920865903157,0.03819936484652786,0.0344531307014842,0.021340119210377123,0.008227107719270035,0.004841994134292561,0.0014568805493150876,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005850328977818126,0.1545224666433375,0.08579589007631072,0.017838139114488984,0.007614551106324986,0.007782446397270154,0.09946505490142857,0.09377151199306068,0.0880779690846928,0.08238442617632491,0.07669088326795703,0.07099734035958916,0.06530379745122127,0.059610254542853375,0.0539167116344855,0.028098313302440583,0.002279914970395667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4074839999598577,0.3559059547661157,0.05021913673368889,0.05857166553991151,0.030867719870309857,0.028607767917931955,0.026347815965554047,0.006305288151960561,0.020837274289821066,0.002875486226642621,0.004133836931347089,0.0032647075234941455,0.0023955781156412025,0.0015264487077882593,0.0006573192999353159,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04051504492356487,0.24730720105216822,0.13848438181527783,0.09566599274143622,0.06263137297549652,0.029596753209556802,0.05092330054790429,0.11700388805324703,0.07015018673236098,0.023296485411474922,0.11280131539827719,0.011624077139235103,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011593929151261746,0.05363928948706408,0.1349853685209247,0.08299369070289228,0.08382768462405608,0.08466167854521989,0.08549567246638369,0.0863296663875475,0.0871636603087113,0.04795868846816313,0.04536520903840091,0.04277172960863868,0.04692148691944203,0.05107124423024537,0.05522100154104872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4365426782423622,0.43198365617750745,0.0261794753500277,0.03053589079964702,0.0246919917303142,0.005368379473014184,0.0047543889154337705,0.018124120356938188,0.009229863487035226,0.0021321137586057656,0.0031112502876045017,0.004090386816603238,0.00244873047383656,0.0008070741310698816,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6350864078584526,0.06123308478513485,0.08951660307227781,0.027687941139672278,0.07912295782804951,0.04368810079609289,0.008253243764136253,0.0029601920790755,0.016106790541441693,0.018323399796897625,0.01211489271188888,0.005906385626880135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7147058727714188,0.056965180889923306,0.005170576210528221,0.048087891309270506,0.0454281635371025,0.0427684357649345,0.0033718414594285768,0.005511096739478344,0.00765035201952811,0.009789607299577879,0.011928862579627645,0.01406811785967741,0.01620737313972718,0.018346628419776943,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3762305344545604,0.33324298417856335,0.15739062137317655,0.05872112724331652,0.013811929193242374,0.02373725792786794,0.00829742824508428,0.007436159989002097,0.006574891732919913,0.005713623476837729,0.004852355220755546,0.0039910869646733625,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15570646394633422,0.10437483057986263,0.0337043599014564,0.03022449068562711,0.026744621469797825,0.019586353448754364,0.012428085427710902,0.02722501254411536,0.018112042099388766,0.050200944059389324,0.08228984601938989,0.11437874797939043,0.14646764993939101,0.17855655189939157,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04321997325525679,0.12699411958746928,0.21076826591968179,0.15396932547469278,0.0971703850297038,0.1550161052542998,0.21286182547889576,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5024139839481606,0.24865344765417427,0.1185268863165446,0.02660733345094947,0.01209748815123635,0.029592001110509893,0.0017001502343640493,0.0040472192639807725,0.006394288293597495,0.008741357323214217,0.01557360896492558,0.01087236255393574,0.014779872734406854,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1705879967803675,0.3311993121952588,0.0043678755041653234,0.12178159189018452,0.040311326159123126,0.041336176898960866,0.042361027638798614,0.03940114862066425,0.0364412696025299,0.03348139058439553,0.03052151156626118,0.027561632548126817,0.02460175352999246,0.021641874511858103,0.018681995493723746,0.015722116475589392,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05243658878277345,0.09362853643979367,0.13482048409681388,0.12182110318285562,0.10472017968183722,0.11208941859069495,0.11945865749955266,0.12682789640841038,0.13419713531726812,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15654342339667437,0.2473267590311209,0.21600406985829462,0.06772267306305987,0.04001271600482761,0.012302758946595351,0.014420843403720827,0.02599167935552765,0.03756251530733447,0.0491333512591413,0.06070418721094812,0.07227502316275494,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05431814543810985,0.05431814543810985,0.2488565365085628,0.10659057348406278,0.10659057348406278,0.4293260256470919,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4795115535415878,0.2436440562850386,0.27684439017337364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4036976191207649,0.20319357819155595,0.23064224448695722,0.15514027573351888,0.007326282467203054,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11000502582816188,0.6193293805842582,0.1552334920992382,0.11543210148834174,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3604788608023161,0.3164095124760744,0.1969515415552321,0.1261600851663773,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04195484755554874,0.13877630966777013,0.043666793275896655,0.06596246345697832,0.07718687798509487,0.08841129251321142,0.09963570704132796,0.11086012156944453,0.12208453609756108,0.13330895062567763,0.07048701694572214,0.007665083265766651,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05021301189410546,0.86544036333383,0.034133612877959185,0.05021301189410546,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5050652876859107,0.08545987282590052,0.3420104369105114,0.038518447293482146,0.028945955284195295,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06206457656430337,0.5167116081987501,0.054241874415559325,0.0736617037903961,0.12232731360712903,0.17099292342386196,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5414937161641273,0.3012575085103076,0.061021300856487735,0.09622747446907734,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2646825179338819,0.21166926155288057,0.4453083134781877,0.016469525009917125,0.06187038202513268,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0210605378318601,0.33333333333333337,0.6456061288348065,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5262214262206814,0.10032909163133896,0.09064426187469456,0.12490459445334283,0.08876906819666179,0.05263354193998076,0.016498015683299727,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18771665489316094,0.17276348421448828,0.15781031353581557,0.14285714285714288,0.12790397217847016,0.11295080149979747,0.09799763082112478,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25951400059931257,0.3333333333333333,0.4071526660673541,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1651659688066774,0.16011972026041038,0.2643207459282033,0.3685217715959963,0.041871793408712686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34936859839914003,0.3273001937917093,0.05831523682414128,0.10777706926971689,0.1572389017152925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19705932668122764,0.18861750179351924,0.14277961210699544,0.06949633986095198,0.15718118647275253,0.24486603308455307,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18801206096342368,0.5561703368333095,0.07081643293710171,0.0794576332101128,0.1055435360560522,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37671455123512704,0.3333333333333333,0.2899521154315396,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28451263879992567,0.2635245218466358,0.24253640489334585,0.20942643446009263,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6466593492894579,0.12743786391330073,0.22590278679724132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07916386599146687,0.6851444586560649,0.056660282210146094,0.09805653755865254,0.08097485558366967,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28648967910010703,0.5188360103192766,0.19467431058061632,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.43666788521441774,0.09850889544568947,0.46482321933989285,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5439546968334651,0.33333333333333326,0.1227119698332015,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2797158552265875,0.7202841447734125,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21793494413140552,0.20326295336507316,0.19809849376645677,0.19293403416784044,0.18776957456922405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +work,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +work,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +work,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +work,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +work,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +work,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +work,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +work,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +work,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +work,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +work,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +work,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +work,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +work,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +work,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +work,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8249348435437298,0.1750651564562702,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18584468205208635,0.3500427123201447,0.46411260562776896,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.054220710617016915,0.38847774863234186,0.5573015407506413,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027398816524797368,0.44566651297833254,0.52693467049687,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23844042737083185,0.7615595726291682,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7955351802530825,0.20446481974691758,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7253502059980301,0.27464979400196987,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08117928167503301,0.08754569857365087,0.8312750197513161,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17691767587141471,0.8230823241285853,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6005067332857748,0.3994932667142253,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07443792410809717,0.9255620758919029,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07153537346484001,0.3312962857917019,0.597168340743458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1939822709598678,0.21351425234647584,0.5925034766936563,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4110206862719625,0.3639177006099419,0.026240024844424413,0.19882158827367133,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029767457214390752,0.23158149267292663,0.7386510501126826,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02515026538532279,0.8711628886774329,0.10368684593724432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005873650818105568,0.2274461946414599,0.7666801545404345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05032186163258548,0.3319338531789857,0.5123886754416738,0.10535560974675487,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25382320437897876,0.4240125893193504,0.09869099829872569,0.22347320800294523,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3433189372992633,0.6566810627007368,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11576184729942997,0.10045935420830009,0.0851568611171702,0.06985436802604034,0.05455187493491045,0.03924938184378057,0.02394688875265069,0.008644395661520803,0.16110220062105873,0.3297434869100783,0.011529340625059859,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5437524076743705,0.2734279845712551,0.18281960775437445,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.808600395771443,0.191399604228557,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006386065805669365,0.015195995057684276,0.024005924309699188,0.22945277128331257,0.7249592435436347,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10819091127600619,0.09731146100437002,0.08643201073273385,0.07555256046109768,0.15261245162811413,0.33568373466510004,0.14421687023257804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13337583372794826,0.09012506427667732,0.04687429482540637,0.7296248071699679,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06686070860517603,0.4979112628627105,0.4352280285321135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02945429712356667,0.022516394105748908,0.027219086876080257,0.0319217796464116,0.166686204805427,0.538855597491624,0.18334663995114148,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9659388057403184,0.034061194259681626,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03135897874931338,0.17711965958310447,0.32288034041689556,0.46864102125068663,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.055683531742009976,0.2606906002199729,0.6836258680380171,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019059602776749906,0.03390522428418635,0.19785503152005007,0.36180483875591374,0.3603138229688621,0.027061479694237875,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08315613076419942,0.0867424537806591,0.049454897749413675,0.028479837718056934,0.25640559725524753,0.4957610827324234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09178681362283928,0.06869712199522679,0.04560743036761431,0.7939086340143197,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016485166483876726,0.06384335480458722,0.49126822955035176,0.42840324916118433,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07512569095204745,0.0510599650799873,0.02699423920792715,0.0029285133358670037,0.021351438484854254,0.017938326208598337,0.014525213932342419,0.011112101656086499,0.16586183463440027,0.0833299260662193,0.4491560626647766,0.08061668777689349,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020605396481425654,0.04824269165425903,0.07587998682709242,0.06806783639061588,0.2731236631012998,0.42579761330327937,0.0882828122420277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08528896234797104,0.09174501801704442,0.0982010736861178,0.1684057067876884,0.5563592391611784,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0009772456796930983,0.04971735179764112,0.4748072264907875,0.4744981760318784,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006455034951007309,0.01364691552918217,0.010156218470790634,0.03692070835798616,0.3735324277551365,0.5269745778371109,0.03231411709878645,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015090491929756531,0.02130714272256265,0.027523793515368766,0.03374044430817488,0.01476079992371346,0.017874579807315313,0.01203838149518544,0.2138805582351113,0.4563256003944565,0.18745820766835516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024352256774512433,0.05444858705093703,0.05459191074429161,0.05473523443764618,0.054878558131000746,0.05502188182435532,0.05516520551770989,0.05530852921106447,0.055451852904419036,0.055595176597773605,0.05573850029112818,0.05588182398448275,0.05636009125269439,0.28274166533682143,0.029728725941162923,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004501326056258985,0.05238054532842666,0.48088826399532447,0.46222986461998994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0009440630490600967,0.011549382623446274,0.02049608811263235,0.03174843912338274,0.041364781804938584,0.04904953164820219,0.21867296995185637,0.5369393496563772,0.08923539403010407,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031743466571579525,0.014378814437863716,0.0827679135717621,0.0634442675575828,0.044120621543403515,0.0035381285012540484,0.025974430337034934,0.09521488974062602,0.1644553491442171,0.24220338818336012,0.1983987415380778,0.03375998887323822,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028536678550759503,0.03376464419647379,0.03899260984218808,0.04422057548790236,0.04944854113361666,0.05467650677933095,0.05990447242504523,0.06513243807075951,0.04223688737773434,0.009947123919246618,0.024680167922031516,0.42136551406609274,0.10757390270760095,0.019519937521217612,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0018725445222181494,0.0029934344872089586,0.09140651824150926,0.4479596641818068,0.45576783856725667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00234752207610135,0.0023445343628597636,0.0023415466496181777,0.0023385589363765914,0.0023355712231350055,0.002332583509893419,0.0023295957966518333,0.002326608083410247,0.0037132596979049613,0.0023616257153777054,0.00100999173285045,0.014161022706824934,0.0020408215402952378,0.027251742746401242,0.023567596543023192,0.11382559741461168,0.29349447949652974,0.3903939552267326,0.10948338654140181,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011283609619833953,0.009066616870258741,0.0068496241206835295,0.004632631371108317,0.003584063975626643,0.002535496580144969,0.046104153959718,0.012939589955960168,0.2114260146222282,0.11553010673000542,0.3607091424061356,0.19381461720600782,0.02152433258228872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03611666197865737,0.04465017828265154,0.18232770079274838,0.10869809102839723,0.04185032270342825,0.11364678362327878,0.2086846606668272,0.22022379575667947,0.0438018051673318,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0027989476532260266,0.010392620284575315,0.0179862929159246,0.07755794296215415,0.5252017026442167,0.36606249353990317,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003433702542534331,0.0018138778233103632,0.004763336625128238,0.010424042151767466,0.0018126197873523037,0.009035993031816307,0.016259366276280312,0.007571034887789395,0.012558341476186684,0.025036695027753252,0.13392182850534218,0.4037777082979203,0.3295193184462425,0.040072135120576446,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02693937082900709,0.0019991873094844926,0.002005499473368515,0.0020118116372525373,0.00201812380113656,0.0020244359650205823,0.0020307481289046046,0.004185972081112281,0.01820254743916077,0.13544344984337156,0.35304056503475595,0.24906110274392615,0.20103718571349896,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06291367340777138,0.04718525505582853,0.03145683670388569,0.015728418351942844,0.0,0.0011856422461227172,0.0023712844922454345,0.0035569267383681515,0.004742568984490869,0.049234969467290605,0.1193449473447914,0.2263723135624052,0.142125231948205,0.2810415459259315,0.01274038577072068,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00268451511771875,0.017223459032264632,0.12431060144344701,0.5025047763099811,0.3532766480965885,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003592539464562623,0.0033091518499943147,0.0034896758088427413,0.0019374844175270663,0.01646050960520338,0.004330998363067417,0.005462898274181085,0.02115435255833811,0.06516069853434844,0.1788940812330444,0.28426145087575505,0.3932236681624496,0.018722490852685892,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011527761504095414,0.012880902175551257,0.008235612440113489,0.0035903227046757196,0.012932123134144215,0.03764454100367533,0.006800390883975435,0.07000551806859079,0.02356741950193705,0.18013283154057416,0.2030115064590163,0.32464860769688814,0.10502246288676263,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,29,4,0.0,0.0,0.0,0.0076200155621973945,0.008662737255239592,0.009705458948281788,0.010748180641323985,0.011790902334366183,0.012833624027408378,0.013876345720450576,0.014919067413492774,0.01596178910653497,0.017004510799577165,0.018047232492619362,0.019089954185661562,0.020132675878703755,0.02117539757174595,0.02221811926478815,0.035523745090006324,0.048829370915224504,0.06213499674044267,0.05552884461584047,0.07164856578829469,0.08177811866196467,0.10643659869705324,0.31060154277788,0.00373220551090199,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00030349082200069506,0.0008706895227440538,0.0014378882234874124,0.04221494388888442,0.11649986663756719,0.5623406360041074,0.27633248490120876,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.000810850167293119,0.0020487032852615724,0.0032865564032300257,0.002018333329698859,0.0007501102561676925,0.008489279050092084,0.003113446668728789,0.0022143198126054983,0.001315192956482207,0.007423160432892254,0.011721463448478062,0.010076701762474535,0.06780614336080144,0.09756472173780413,0.43833477965165824,0.327124328648609,0.015901909027722354,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023016424153196147,0.028522066051165383,0.03402770794913462,0.039533349847103855,0.03010844362267252,0.020683537398241185,0.011258631173809848,0.0018337249493785126,0.005239531487589043,0.005892116883169719,0.011087143356828167,0.01628216983048661,0.09026919151321626,0.07569959701615556,0.118602159151928,0.1901774542360297,0.21295851249950676,0.08480823888038798,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024788824038899832,0.013547327407179283,0.0023058307754587333,0.019817778175286623,0.006336706899871717,0.0578686704323897,0.10940063396490768,0.2867126526349204,0.07072758559043939,0.06457451367392734,0.13059258131339493,0.04153966758565385,0.17178722750767067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0003525864644047828,0.0006658971906749982,0.0009792079169452137,0.0012925186432154291,0.0016058293694856448,0.0019191400957558602,0.006920955338144519,0.028171985283543588,0.20679246821247912,0.44644244570965086,0.3048569657756999,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001480107465180831,0.017253281653335065,0.0008232172217018757,0.0044929930671673115,0.008162768912632746,0.0027688854066324833,0.017625694703411642,0.02673471792668398,0.05171656012255368,0.15755158207286846,0.46448134083715303,0.20941304914629477,0.03749580146438421,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0014841697154402696,0.0021226199456812187,0.002761070175922168,0.0015423421943581248,0.021631526545398367,0.041720710896438605,0.061809895247478853,0.06907322712366458,0.20617953068988812,0.1581707566931783,0.3417597826704731,0.08831929021564096,0.0034250778864373522,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006667360799696816,0.014818073184327487,0.022968785568958157,0.03111949795358883,0.0016772970070752817,0.1992797309319827,0.19227853511352125,0.2984049494408924,0.16803894138842762,0.048539503209517616,0.0162073254020118,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0018907537555857658,0.002063368407537321,0.04570653848366628,0.14770850121717308,0.5822816962269964,0.22034914190904123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0004196292133319169,0.0022200878966532104,0.004020546579974503,0.0033648123235860247,0.0027090780671975463,0.0020533438108090675,0.001397609554420589,0.006660124104940812,0.009540985920533599,0.027884064700998436,0.015254960733861104,0.08912210253241395,0.09234725843780771,0.2519604553808955,0.2739476162923841,0.19579367665987144,0.021303647790320457,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010262179330632143,0.00865423097541136,0.007046282620190578,0.005438334264969795,0.003830385909749012,0.0022224375545282305,0.00849738237383887,0.0064186225003493875,0.004339862626859903,0.01882859915764034,0.005318342194164854,0.0038346047498793562,0.0023508673055938584,0.04950648786429024,0.06957723207428874,0.1989961545104105,0.12810732778729123,0.19845475514107702,0.2035661737894757,0.06474973726935873,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016859615991235057,0.015788210593871314,0.014716805196507574,0.02626589367837534,0.03781498216024311,0.049364070642110874,0.06091315912397864,0.07246224760584641,0.23788260556384858,0.06555513074363227,0.16701287984839389,0.022165696104789828,0.16565889874211476,0.047539804005052276,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005032082433437068,0.0049003042439985075,0.004768526054559948,0.0046367478651213895,0.004504969675682829,0.025760835754467706,0.13374080277736194,0.45254716667789924,0.3641085645174712,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001998143298850729,0.018982371393235827,0.0267106570399378,0.0014426823558858352,0.016710003737560215,0.03197852994609463,0.07940844123128339,0.15916770401107835,0.1603662985658047,0.27953786404267383,0.19084355987899065,0.03285374449860405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0034693476092882217,0.030187901651593803,0.016898309722599106,0.0036087177936044096,0.00516777491725205,0.006726832040899691,0.00401338807131574,0.0012999441017317883,0.010075228957500978,0.04071416677276925,0.21451947606995547,0.05877869461214495,0.15482556129583236,0.13824705072372662,0.24980591621854892,0.05958178734633728,0.0020799020948995325,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03086099957317229,0.025980401491851726,0.021099803410531155,0.016219205329210586,0.01133860724789002,0.006458009166569451,0.007200335672836078,0.007942662179102706,0.008684988685369334,0.009427315191635961,0.009442143095111506,0.0014885024491139618,0.03899489895937272,0.034161854556286224,0.17005214781563507,0.028434668029374152,0.2633696548335779,0.18223382899084783,0.05527805872209866,0.07133191460041263,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0012160836069242391,0.029480461595134684,0.02930162210114039,0.09004606986641685,0.46234806850138616,0.38760769432899767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008527505254391464,0.024343751774178274,0.023201453048648978,0.056339813729558326,0.14418073170310883,0.14777268506387486,0.12161448602460681,0.22252408666239884,0.22386345426183316,0.027632032477400394,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011442021144393688,0.014436343211319489,0.017430665278245293,0.02042498734517109,0.008618402536762482,0.01670919965129712,0.04183813908441274,0.2153931699302116,0.11481763320109399,0.23658998440495735,0.20100746657786603,0.09020369460704307,0.011088293027226234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009810859143838781,0.04320108985192917,0.07659132056001956,0.09094577412858121,0.10530022769714285,0.1196546812657045,0.08560182962466084,0.17382905242299793,0.18574754207164473,0.06811792147126816,0.0411997017622123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016339084300481005,0.002179290064293078,0.0020946216220401976,0.002009953179787317,0.0019252847375344363,0.0018406162952815557,0.004755641074675338,0.0024265154160552672,0.024415702338117906,0.0648824970981444,0.42988579631715984,0.44724499755642955,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004209192105666088,0.006875294381220665,0.00954139665677524,0.01220749893232982,0.014873601207884397,0.017539703483438977,0.02020580575899355,0.022871908034548128,0.025538010310102704,0.028204112585657283,0.030870214861211862,0.019986357545670356,0.009102500230128848,0.08852346623836835,0.033967949991106715,0.11693968658075318,0.042166958311788544,0.07201790806578205,0.1573221056121427,0.09630427405085708,0.14955068242304795,0.021181372632525584,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08952502486854058,0.0173375428939987,0.007548613421382736,0.07835470438452101,0.07006523300452541,0.04630554944780205,0.07984234920780166,0.18267712683460277,0.08818465996444302,0.22392873647736214,0.10516475885477078,0.011065700640249157,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02463412052663166,0.03308934245586189,0.04154456438509213,0.020910112209388466,0.01474990545587068,0.1717908433611033,0.14737125883700877,0.05813960351477684,0.4388740546698509,0.03538370357721319,0.013512491007202225,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002703587113668002,0.013607328104929728,0.02451106909619145,0.09900326813248077,0.5417199066345222,0.3184548409182078,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003428390072313624,0.006358026983992544,0.009287663895671462,0.005152845429022833,0.005343136150848582,0.0027402984060797653,0.00433289472141394,0.022761540810647317,0.027356532537953348,0.03200041018338567,0.04558718522705621,0.22797383655199377,0.133387820550074,0.11198670704301891,0.04246147949597959,0.17366607356319297,0.13143339307441393,0.01474176530294154,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022401682387142033,0.019488428963651484,0.01657517554016094,0.013661922116670392,0.04335621386698735,0.03273346180488424,0.022110709742781134,0.011487957680678028,0.007173419371597877,0.00545188660743745,0.019562305454951766,0.022048337656783778,0.0748338116587384,0.11667516645774624,0.08930825639711888,0.2045621707333038,0.14655666190785216,0.08600220467256535,0.025097062781493013,0.02091316419745575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07379863638269488,0.055717154009263116,0.037635671635831355,0.019554189262399598,0.012210212115136346,0.008741251364900166,0.005272290614663988,0.02258451932454952,0.039896748034435055,0.21441199997882035,0.05426786876025077,0.26680989716080833,0.10438584647769857,0.08471371487854806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006206032075747339,0.005441378086006658,0.004676724096265975,0.003912070106525294,0.003147416116784612,0.006427562924924528,0.09090115999952493,0.3262186350727432,0.5530690215214774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004064066096630833,0.01483252570363106,0.025600985310631288,0.03636944491763151,0.022242365102983417,0.11142261054956829,0.10158464875952648,0.08188167471862397,0.08426121855154037,0.07335441120703277,0.08306339537998492,0.0717386387856296,0.05289916398935839,0.21273792337183262,0.02394692755539453,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.053572279286204345,0.003606745750645961,0.005449974480491117,0.2435310829614788,0.148100741103386,0.12991851765996745,0.0560284532203546,0.08809777066399362,0.0704851332175221,0.077568195857125,0.005824719291012115,0.06141678459405926,0.047477740311601374,0.008921861602158241,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06853765693128709,0.08963887259718642,0.11074008826308576,0.21270330083779537,0.0035008064124997956,0.03303429056987411,0.16481710050977055,0.13125249869172542,0.07728130772308013,0.023310116754434822,0.022245613735909105,0.03909490603567779,0.023843440937673523,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05676419546115859,0.14349085472520348,0.5104708604053558,0.2892740894082821,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008936524605150507,0.0075258274634269935,0.0061151303217034806,0.004704433179979966,0.003293736038256453,0.008914897308873883,0.05836700711775778,0.030019238275525856,0.030672740180224686,0.1703447239749253,0.07289142702041122,0.012108151472658635,0.17680786027902157,0.04736415636283814,0.054559012677045694,0.06309217308313353,0.18816449751875003,0.05611846312031635,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003165628376134344,0.0116846197590363,0.0281447672691911,0.11548785001841091,0.3389388647048661,0.05635698309434277,0.05254001533865274,0.1492621613340791,0.1508273566191391,0.06318841771595726,0.027191855686114062,0.0032114800840761983,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017483843694434367,0.022044310560714812,0.026604777426995258,0.031165244293275704,0.03572571115955615,0.0402861780258366,0.044846644892117045,0.049407111758397494,0.05396757862467794,0.058528045490958386,0.06308851235723882,0.12055369463119141,0.01998888108961348,0.11635604077440381,0.23782901176736507,0.006006408199817426,0.032100427027254796,0.018089878134568096,0.005927700091583404,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009728061465355866,0.13938572992469128,0.36222598065540845,0.4886602279545445,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00181841722788396,0.032356600689534,0.06289478415118405,0.09343296761283408,0.0318919644590508,0.058125368253583144,0.014141070235372505,0.035690116303645526,0.024371971588082852,0.03646276277526424,0.11409191900984257,0.06538062208518916,0.21847644672327673,0.20081084386185055,0.010054145023405769,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005033576456981843,0.0026067669128527287,0.08756106473781365,0.12533176984168223,0.005092002776396106,0.14514379759484516,0.28519559241329423,0.031728636074732065,0.017397656512495543,0.0631396819448807,0.04346642620999428,0.02379317047510785,0.0026671889012709485,0.14947503100422188,0.0123676381434309,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007088184459908909,0.02696739795129072,0.18435315297908234,0.10051457586039385,0.07544277904137128,0.05037098222234873,0.07364781132006126,0.053775807875737804,0.04097596890349183,0.02284992606412539,0.004723883224758941,0.12133780444072934,0.23795172565669975,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06462818984234803,0.06880264750233626,0.5127203577124017,0.35384880494291415,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007894275949221104,0.015381472603082293,0.025722572263637295,0.15923617907667467,0.13832145713353966,0.02847285298522892,0.021809986497561586,0.0633072714165257,0.00880954042905948,0.02948379476652653,0.01807641588852319,0.08041171336867095,0.03497256302968014,0.0667706754497061,0.2907971542748419,0.010532074867520478,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03958993249106422,0.032010961654478164,0.024431990817892116,0.01685301998130606,0.009274049144720008,0.08480376423403191,0.1603334793233438,0.02043508790531415,0.07042812155808978,0.10987289629202021,0.07186107590724172,0.05323451436784513,0.03460795282844855,0.015981391289051967,0.09075438449806811,0.16552737770708426,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07607363700037234,0.09647976876875808,0.11688590053714382,0.04450960342903895,0.017001456917022883,0.03347060350755068,0.04993975009807848,0.012453711636477259,0.04518151229802203,0.07790931295956678,0.11063711362111155,0.14336491428265632,0.1760927149442011,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011150215422667682,0.07752700737224363,0.1439037993218196,0.36729877561484187,0.40012020226842737,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031184533753471026,0.24705589804470432,0.023883982024726358,0.17212340434390375,0.033044950401341554,0.031678264766293894,0.030311579131246227,0.039329176750179086,0.08459607798582361,0.003746181569736486,0.07255323682854968,0.028963280522059164,0.2015294338779648,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010963513257297828,0.015749691382064637,0.16519260681836268,0.11783542296194359,0.07047823910552448,0.04496308794291825,0.019447936780312026,0.013829200071445913,0.008210463362579799,0.015189050202787543,0.0418912336793519,0.04176115608375453,0.04163107848815716,0.08629175922132852,0.13095243995449987,0.17561312068767126,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12576684001081803,0.1178254484171876,0.10988405682355717,0.10194266522992675,0.09418550494741337,0.18152699650617016,0.26886848806492697,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05155969359233156,0.03126436211965589,0.5041005375677229,0.41307540672028975,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014601561580882261,0.019285568510067807,0.02396957543925335,0.028653582368438894,0.03333758929762444,0.03802159622680998,0.042705603155995524,0.04738961008518107,0.05207361701436661,0.05675762394355215,0.0614416308727377,0.06612563780192324,0.07080964473110879,0.020321346393438407,0.011784289692420093,0.014033417679886428,0.016282545667352762,0.03177317311807683,0.04726380056880089,0.06275442801952495,0.07824505547024901,0.09373568292097308,0.016805244980704983,0.013236515330271705,0.038591659130359036,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10827093253695798,0.06985777853863484,0.0314446245403117,0.06474008603751036,0.09803554753470903,0.09594276889431305,0.09384999025391709,0.09175721161352111,0.08966443297312515,0.08757165433272919,0.08547887569233321,0.08338609705193725,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0039552365490890095,0.01855833494057043,0.00941515137383549,0.5717430967351905,0.3963281804013145,0.0,0.0,0.0,0.0,0.0 +work,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.037579600630901905,0.03953368128246934,0.041487761934036776,0.043441842585604205,0.04539592323717164,0.047350003888739084,0.04930408454030652,0.051258165191873956,0.022978285904191875,0.0783858437768081,0.16602193698410023,0.2536580301913923,0.12360483985240399,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056212032465729624,0.12130766691579449,0.18640330136585936,0.2514989358159242,0.3165945702659891,0.009438593258150852,0.05854489991255243,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1415365536027531,0.13095414991740403,0.120371746232055,0.10978934254670596,0.0992069388613569,0.08862453517600787,0.0780421314906588,0.06745972780530976,0.056877324119960715,0.04629492043461166,0.035712516749262624,0.02513011306391358,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019811327492472375,0.03774361663489191,0.05567590577731144,0.07360819491973097,0.5580065051017328,0.25515445007386056,0.0,0.0,0.0,0.0 +work,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.136820424528809,0.126837533261187,0.11685464199356498,0.10687175072594296,0.09688885945832096,0.08690596819069893,0.07692307692307693,0.06694018565545491,0.05695729438783289,0.046974403120210874,0.03699151185258886,0.02700862058496684,0.017025729317344848,0.0,0.0,0.0,0.0,0.0 +work,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +work,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +work,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005291938132742119,0.03959585200786569,0.07389976588298926,0.10820367975811283,0.1425075936332364,0.322472387918301,0.30802878266675277,0.0,0.0,0.0 +work,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021393497234133967,0.024485572401252164,0.02757764756837037,0.030669722735488566,0.03376179790260677,0.036853873069724964,0.039945948236843165,0.043038023403961366,0.04613009857107956,0.04922217373819777,0.05231424890531597,0.055064896818320004,0.057815544731324046,0.060566192644328075,0.06331684055733212,0.06606748847033615,0.06881813638334018,0.07156878429634422,0.07431943220934827,0.07707008012235231,0.0,0.0,0.0,0.0 +work,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03621220118223522,0.044779679755162144,0.05334715832808907,0.06191463690101601,0.07048211547394294,0.07904959404686986,0.08761707261979679,0.09618455119272372,0.10475202976565064,0.11331950833857757,0.1218869869115045,0.13045446548443143,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04345464141868227,0.0560202766589751,0.06858591189926792,0.08115154713956076,0.09371718237985359,0.10628281762014642,0.11884845286043924,0.13141408810073207,0.1439797233410249,0.15654535858131777,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05354791784986255,0.08690026213934676,0.120252606428831,0.3196535240813643,0.4196456895005953,0.0,0.0 +work,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01781248740787642,0.03067413298983968,0.04353577857180295,0.05639742415376621,0.06925906973572948,0.20344245184731174,0.337625833958894,0.1929595517645578,0.048293269570221654,0.0,0.0,0.0 +work,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20961158145822217,0.7163898480087423,0.0739985705330355,0.0 +work,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +work,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2194326523365986,0.044439504505837724,0.2133407542212311,0.5227870889363325 +work,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03797020998506186,0.17932340332835398,0.32067659667164605,0.46202979001493816,0.0,0.0,0.0,0.0 +work,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9240595800298763,0.07594041997012373,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,2,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,3,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,4,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,4,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15502667853478982,0.08229770024011315,0.38343262055066557,0.24166005430098364,0.09988748805130171,0.03769545832214605,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1599771418839416,0.05651240524084194,0.04984623141905139,0.043180057597260825,0.036513883775470275,0.0439521559772963,0.05139042817912234,0.08554919887387943,0.11970796956863654,0.15386674026339364,0.007835239521885206,0.19166854769922065,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14060494044759383,0.12799680610148337,0.11538867175537293,0.10278053740926246,0.090172403063152,0.07756426871704154,0.06495613437093108,0.05234800002482062,0.039739865678710164,0.027131731332599714,0.032410702909463046,0.03768967448632638,0.04296864606318971,0.048247617640053045,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23190342098994285,0.3190471228269991,0.1778770842389997,0.09794738063319183,0.01801767702738397,0.01673590724697389,0.0066008676678141745,0.0066008676678141745,0.007398748385313031,0.008196629102811886,0.008994509820310742,0.009792390537809599,0.010590271255308453,0.011388151972807308,0.012186032690306164,0.012983913407805022,0.013781794125303875,0.014579674842802733,0.015377555560301586,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45563284813293653,0.19731649745908547,0.14132693984933212,0.08533738223957878,0.029347824629825423,0.0107517248991238,0.0107517248991238,0.0107517248991238,0.012329368238661318,0.013907011578198838,0.015484654917736356,0.017062298257273876,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23179663986069146,0.19650524812618217,0.1612138563916729,0.1259224646571636,0.09063107292265431,0.05533968118814501,0.02004828945363573,0.021268376129080814,0.022488462804525898,0.02370854947997098,0.024928636155416063,0.026148722830861146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0958862499094396,0.21232735302755326,0.14452318954831656,0.07671902606907983,0.008914862589843107,0.02083060430390109,0.032746346017959074,0.04466208773201706,0.035082532293705525,0.025502976855394,0.025480998097239856,0.04584826005761073,0.041822508346042814,0.0377967566344749,0.03377100492290699,0.029745253211339077,0.02571950149977116,0.021693749788203247,0.017667998076635334,0.01364224636506742,0.009616494653499508,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17134858620412058,0.15377183807692774,0.1361950899497349,0.11861834182254205,0.10104159369534921,0.16710391666730154,0.10634151675044184,0.04557911683358214,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.115278984508389,0.11805641750599215,0.12083385050359528,0.12361128350119843,0.1263887164988016,0.12916614949640473,0.1319435824940079,0.13472101549161103,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45170523659549144,0.12834803883767854,0.015602922711769577,0.016164830905666887,0.004831642155812036,0.053990901307187825,0.1747598202770351,0.0900348203992964,0.005309820521557702,0.006614251148184289,0.007918681774810876,0.009223112401437463,0.01052754302806405,0.011831973654690638,0.013136404281317224,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14491086491577065,0.08249733149608272,0.020083798076394783,0.04118720719232239,0.03489365663401108,0.3784050094193583,0.22148908267732795,0.06457315593529762,0.011959893653434613,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032191566925804674,0.026607580690927377,0.021023594456050086,0.07679273179946554,0.07816468103824913,0.0795366302770327,0.08090857951581629,0.08228052875459987,0.08365247799338346,0.08502442723216704,0.08639637647095062,0.08776832570973422,0.0891402749485178,0.09051222418730138,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34390307043754836,0.29057986432904376,0.10069634173356881,0.10335263258675495,0.06338394756684611,0.029569439604088973,0.024593134136668297,0.01961682866924762,0.014640523201826945,0.00966421773440627,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15652265479694477,0.14751618199781769,0.13850970919869063,0.12950323639956354,0.12049676360043647,0.1114902908013094,0.10248381800218231,0.09347734520305524,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05562845797308542,0.03790308806291099,0.053028685207970015,0.07607312884655684,0.04248738471923295,0.04262662422892532,0.04276586373861769,0.1606174636101008,0.2784690634815839,0.16295643453753336,0.047443805593482866,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15218217203974144,0.1364139887223987,0.12064580540505603,0.10487762208771333,0.08910943877037063,0.16196013724836353,0.23481083572635641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08519795484956813,0.4190098041126643,0.2805161533158058,0.21527608772196175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22023580411077429,0.3333333333333333,0.44643086255589237,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09438677319033184,0.11054356307926884,0.12670035296820586,0.14285714285714285,0.15901393274607986,0.1751707226350169,0.19132751252395389,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009508251214248881,0.17782889666540147,0.09263401371478211,0.12231508620860024,0.07160198415249852,0.04091425666276812,0.010226529173037718,0.02816480343335406,0.0461030776936704,0.06773215672436611,0.08936123575506183,0.11099031478575752,0.1326193938164532,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14791654459063172,0.1386033892218408,0.12929023385304986,0.11915614797453906,0.10902206209602824,0.09888797621751744,0.08875389033900663,0.07861980446049581,0.0897499512468904,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17421369945534756,0.1601526424681054,0.14609158548086326,0.1320305284936211,0.11796947150637892,0.10390841451913677,0.08984735753189461,0.07578630054465245,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5382006173453733,0.42446418641574857,0.037335196238878085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09767373690998632,0.1292202595148205,0.11978213966803847,0.11034401982125645,0.10090589997447441,0.09146778012769237,0.08202966028091034,0.0725915404341283,0.06315342058734628,0.05371530074056424,0.04427718089378221,0.03483906104700016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34004170026991576,0.2800139000899719,0.2199860999100281,0.15995829973008424,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07474574898992196,0.08645150733340892,0.09054013747255885,0.0946287676117088,0.09871739775085873,0.10280602789000867,0.10689465802915861,0.11098328816830855,0.11507191830745848,0.11916054844660842,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8908104065284771,0.10918959347152296,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29435014885100735,0.24327675597727105,0.1922033631035348,0.14112997022979853,0.09005657735606228,0.03898318448232598,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.034515456831482105,0.38099204569554584,0.20993088972922877,0.038869733762911765,0.04183965106063932,0.044809568358366865,0.04777948565609442,0.050749402953821965,0.067087722968577,0.08342604298333202,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16202831047267066,0.14780446655995472,0.13358062264723874,0.1193567787345228,0.10513293482180686,0.09090909090909091,0.07668524699637495,0.062461403083658995,0.04823755917094305,0.0340137152582271,0.019789871345511155,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36615638276085066,0.3333333333333333,0.3005102839058161,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5028022091097478,0.3333333333333333,0.16386445755691892,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49069843650135225,0.1832043680086809,0.1459517165860016,0.10869906516332227,0.07144641374064295,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0940478256743711,0.19801594189145702,0.30198405810854295,0.40595217432562886,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.221818376004649,0.07032861211082453,0.6164723627300361,0.09138064915449043,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10438685467882357,0.1703394766006171,0.23629209852241065,0.19067341613326125,0.14505473374411187,0.09943605135496247,0.05381736896581309,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15320414381038053,0.21773471460346017,0.28226528539653983,0.34679585618961944,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7626621877866382,0.178503744240893,0.05883406797246877,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12708351247500596,0.8729164875249941,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11188399304957727,0.7561656197815159,0.13195038716890686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9071348966177851,0.09286510338221489,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1545227412234772,0.14501419619621114,0.7004630625803117,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11306065571896186,0.2043535519063206,0.29564644809367935,0.38693934428103804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13118039701317155,0.8688196029868285,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4249722436561218,0.14758358749369008,0.13129456938123285,0.11500555126877565,0.09871653315631843,0.0824275150438612,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4996034447783298,0.5003965552216701,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +univ,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +univ,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +univ,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +univ,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09665071904809912,0.9033492809519009,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7594596150074852,0.24054038499251484,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03606213376334208,0.963937866236658,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6259094393939955,0.37409056060600454,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06041584185955061,0.9395841581404494,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5536574772364438,0.4463425227635562,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7347368549741089,0.26526314502589116,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06102075029566401,0.938979249704336,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5505817699541983,0.4494182300458017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027484639314538175,0.3333333333333333,0.6391820273521285,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.058541269474120534,0.5753140781587649,0.3661446523671145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6163589678191319,0.3836410321808681,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6163589678191319,0.3836410321808681,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00373149890001626,0.4501891049310378,0.546079396168946,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29485104165886156,0.3333333333333333,0.37181562500780513,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0049307048171374915,0.004550578337661125,0.3582629321080231,0.6322557847371784,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11013341526707958,0.8898665847329205,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1378983546262529,0.505511101705598,0.3565905436681491,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15269917281698356,0.00873714128745446,0.23851040350062966,0.25527674348655194,0.18746919224203193,0.15730734666634855,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15079088082625533,0.4460589350007821,0.2664854757342326,0.13666470843872996,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01596449361058273,0.5784341975831062,0.4056013088063111,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8650854217220405,0.13491457827795955,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2218627421257079,0.20476573462750933,0.18766872712931074,0.17057171963111215,0.21513107648635998,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009995746587483515,0.06346421040105343,0.2636003696425965,0.6629396733688667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01961607334152427,0.05767207144109608,0.0957280695406679,0.13378406764023973,0.17184006573981156,0.05124862260633809,0.07125250840614777,0.22573909687454485,0.17311942440962985,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30036584713830844,0.1854261085998775,0.07048637006144652,0.10919679739745118,0.14790722473345586,0.18661765206946052,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08512907341273082,0.5257181123819997,0.3891528142052694,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2685477950200915,0.14060319508546645,0.01265859515084143,0.3833969705841652,0.19479344415943547,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10786925339840081,0.19073541006937117,0.2736015667403416,0.3564677234113119,0.07132604638057455,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00424154355810007,0.04947192412519555,0.09470230469229102,0.1399326852593865,0.24455777649184057,0.4670937658731862,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013601710547322609,0.0214848242000493,0.02936793785277599,0.037251051505502675,0.04513416515822937,0.05301727881095605,0.06090039246368275,0.05854564097693508,0.4316334290929965,0.029038244497737,0.05430833665784533,0.09506728091488063,0.07064970732108669,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3168293754625279,0.2427664798213488,0.16870358418016976,0.09464068853899073,0.020577792897811687,0.03270309171801759,0.044828390538223496,0.019931577806648476,0.059019019036261576,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008709074037830661,0.008398927922164933,0.008088781806499206,0.007778635690833477,0.007377087934613188,0.6494695344490504,0.31017795815900806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07934573896577458,0.06719090646608748,0.055036073966400374,0.04288124146671327,0.030726408967026168,0.018571576467339063,0.00641674396765196,0.10474707609555726,0.14064851066099512,0.4544357229764546,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11875638978720256,0.10576380033212815,0.09277121087705376,0.2584932699602231,0.4242153290433925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21940988043535434,0.7805901195646456,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0791162103162443,0.39482799753135545,0.5260557921524003,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007697404204801161,0.07418887660753196,0.14068034901026275,0.2105831025116599,0.28048585601305703,0.047966427798073814,0.23839798385461336,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37096355885723153,0.18934116091743441,0.007718762977637312,0.2819698690479792,0.03319008841635186,0.09440390959546635,0.0224126501878994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31344647114120033,0.25473454935138684,0.1960226275615734,0.13731070577175997,0.07859878398194649,0.019886862192133006,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0076145959560018385,0.11127790999264596,0.5529477761938238,0.3281597178575284,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006983453690393842,0.03364024161934332,0.2511626504020823,0.4686850591848212,0.05392342990006859,0.13055140515409036,0.055053760049200394,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006617778008281326,0.010962305168554806,0.015306832328828287,0.1426443597550224,0.2699818871812165,0.39731941460741066,0.06260243797491402,0.03222572359548424,0.044587228901206144,0.017752032479081713,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48516901519711836,0.13174358091837915,0.1123448151266757,0.09294604933497223,0.0735472835432688,0.054148517751565345,0.034749751959861894,0.015350986168158458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011396723953254523,0.028933940346215544,0.04647115673917657,0.06400837313213759,0.0815455895250986,0.09908280591805962,0.10584246984123159,0.078235803815731,0.2154120029491643,0.2690711337799307,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1509506494169968,0.14546507177738321,0.13997949413776964,0.1344939164981561,0.12900833885854254,0.12352276121892897,0.11318092961292492,0.03752007154434353,0.0258787669349544,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6181517073139559,0.3818482926860442,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45678520226705216,0.31892840075568407,0.18107159924431593,0.043214797732947854,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.046358585478071035,0.09030050303860301,0.134242420599135,0.21336228398718537,0.5157362068970057,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05817024906295444,0.05764237501917242,0.05711450097539039,0.05658662693160837,0.056058752887826344,0.0562401276270362,0.05642150236624605,0.056602877105455904,0.05678425184466576,0.16711397535094316,0.27744369885722053,0.043821061971480335,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16270256726410537,0.16290055872558687,0.16309855018706834,0.16329654164854987,0.16349453311003137,0.18450724906465818,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12743386066157197,0.163716930330786,0.2,0.23628306966921403,0.27256613933842805,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10669598115019549,0.06238840389551419,0.4503082439092719,0.3806073710450185,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05948855341288662,0.06518162011734371,0.05538598323360617,0.04559034634986863,0.035794709466131086,0.02599907258239355,0.14147088525316232,0.08427412948969697,0.027077373726231594,0.3428977524211282,0.07714850285833169,0.03969107108921945,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05094748544618913,0.04246995586536623,0.03399242628454332,0.08639015722284835,0.13878788816115337,0.19118561909945841,0.24358335003776344,0.13338654516359236,0.023189740289421303,0.026418857573028403,0.029647974856635492,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16984529229093237,0.1608492424796692,0.151853192668406,0.14285714285714285,0.13386109304587968,0.12486504323461649,0.11586899342335331,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04750482989839155,0.26088281325137147,0.5240331138825366,0.1675792429677004,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.362758964125648,0.01738887178441671,0.04341161965662539,0.15679587630506892,0.2701801329535124,0.11937816474895066,0.030086370425778008,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04746481343012249,0.137726550982743,0.20466471475589393,0.2716028785290448,0.3385410423021957,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08262255020652688,0.10270074775673221,0.12277894530693753,0.14285714285714285,0.1629353404073482,0.1830135379575535,0.20309173550775886,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011655823294103316,0.012064001890777326,0.012472180487451337,0.23273183253894336,0.3175084277561566,0.413567734032568,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01763461320962093,0.07147167075308623,0.12530872829655154,0.17914578584001684,0.1080683887664809,0.03043593004613246,0.1345078968843167,0.23857986372250095,0.09484712248129344,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0318428271533776,0.060111645895882054,0.0883804646383865,0.11664928338089098,0.14491810212339543,0.17318692086589987,0.20145573960840432,0.18345501633376324,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3489219886226871,0.3333333333333333,0.31774467804397954,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006059942612369503,0.18748654844670865,0.36891315428104776,0.437540354659874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16737554743914804,0.13645398625760735,0.10553242507606664,0.07461086389452595,0.0213765608721464,0.04317751025757952,0.06497845964301263,0.11836928341794681,0.12883154885330447,0.13929381428866217,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10403349737633974,0.09485781850669045,0.08568213963704116,0.14617609662806322,0.20667005361908525,0.14065057139057108,0.07463108916205687,0.14729873368015234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29307849098972216,0.7069215090102778,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05470575638560503,0.4425962784764674,0.5026979651379276,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2703738926640019,0.10946074086985785,0.07559617188660546,0.041731602903353086,0.06558846865725512,0.08944533441115715,0.1133022001650592,0.19804058088386256,0.03646100755884774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18541588020402694,0.16180117831688925,0.1381864764297516,0.11457177454261394,0.09095707265547627,0.06734237076833861,0.10588421055055666,0.06336380357084676,0.0724772329615001,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1643230425312716,0.1956718664861722,0.22702069044107281,0.2583695143959734,0.15461488614550997,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02160477228486748,0.04247959686955989,0.06335442145425231,0.08422924603894472,0.5773924309125426,0.21093953243983313,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020297197364513634,0.028755914363130117,0.0372146313617466,0.04567334836036309,0.054132065358979575,0.06259078235759605,0.07104949935621253,0.07950821635482902,0.06523131722381874,0.050954418092808464,0.036677518961798175,0.08320773885505256,0.060669567175859,0.11947542431663749,0.1649422399100552,0.019620120586599742,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08822994784702914,0.07634768469709784,0.06446542154716654,0.05258315839723525,0.04070089524730395,0.07151566772058675,0.10233044019386955,0.10466237674659712,0.10699431329932468,0.10932624985205226,0.08567667466845014,0.06202709948484801,0.013367701410390126,0.02177236888804862,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19597322624403266,0.23199107541467756,0.26800892458532244,0.30402677375596737,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012661959535041617,0.06096138676067079,0.4032974087599142,0.5230792449443734,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027461602441082134,0.27926884164367627,0.14574961422513458,0.01223038680659292,0.020632703811801042,0.029035020817009167,0.0339686951927486,0.03890236956848804,0.13981853041738754,0.24073469126628702,0.03219754380979286,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24103781171409203,0.16859260616242022,0.09614740061074845,0.023702195059076666,0.058767293942184315,0.09383239282529197,0.12889749170839962,0.16396259059150728,0.02506021738627952,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2461883211664059,0.5928323707106358,0.16097930812295835,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.054580106259196515,0.04294073024224601,0.0313013542252955,0.019661978208345005,0.09237397441263531,0.16508597061692562,0.23779796682121593,0.31050996302550626,0.0076077348848288115,0.03814022130380498,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023283790705556483,0.11164189535277824,0.2,0.2883581046472218,0.3767162092944435,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02715681036078179,0.07559281538388911,0.4916701811206997,0.4055801931346294,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02706056526191096,0.05397659298307221,0.08089262070423346,0.07002897811982356,0.05916533553541365,0.04830169295100374,0.03743805036659384,0.026574407782183923,0.022869544589736633,0.019164681397289343,0.01545981820484205,0.04318276576065694,0.041457279349092546,0.07656476233239112,0.3778629046617559,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04122334406910495,0.040446760219857956,0.039670176370610946,0.03889359252136395,0.038117008672116946,0.03734042482286994,0.03656384097362294,0.035787257124375936,0.03501067327512893,0.03423408942588193,0.03345750557663493,0.03268092172738792,0.031904337878140926,0.17166339768216138,0.3114224574861818,0.04158421217455842,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17643998499262167,0.15945332166092796,0.14246665832923427,0.12547999499754056,0.10849333166584685,0.09150666833415314,0.07452000500245944,0.057533341670765716,0.040546678339072016,0.023560015007378327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012752769370073174,0.026313654416898098,0.03987453946372302,0.05343542451054794,0.06699630955737287,0.08055719460419777,0.0941180796510227,0.10767896469784762,0.1459737159650691,0.22756349393314745,0.1447358538301002,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08115394797328578,0.06526993026302827,0.04938591255277076,0.033501894842513244,0.05031167863840953,0.05070577163098672,0.051099864623563904,0.051493957616141096,0.051888050608718275,0.05228214360129546,0.11082782044876294,0.16937349729623039,0.01634280529476449,0.16636272460952914,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10966566776630844,0.1048779705966766,0.10009027342704478,0.09530257625741294,0.0905148790877811,0.08572718191814925,0.08093948474851742,0.07615178757888558,0.07136409040925375,0.0665763932396219,0.061788696069990066,0.05700099890035823,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013650022644608625,0.7794299047236405,0.2069200726317509,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19739188140912423,0.17295401110525416,0.14851614080138412,0.12407827049751403,0.09964040019364395,0.10436750805767506,0.08580643199769311,0.06724535593771118,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20057402826216983,0.1761026601498415,0.1516312920375132,0.13814797717755548,0.12466466231759775,0.11118134745764001,0.09769803259768228,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3040783354693065,0.2680261118231022,0.23197388817689785,0.1959216645306935,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.632159284623094,0.03310164716221061,0.3347390682146954,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007046481855502419,0.1250573786608491,0.1155943739986526,0.10613136933645612,0.09666836467425961,0.08720536001206311,0.07774235534986661,0.06827935068767012,0.058816346025473615,0.049353341363277126,0.03989033670108062,0.030427332038884126,0.020964327376687637,0.019550679124070307,0.018137030871452978,0.016723382618835648,0.015309734366218316,0.013896086113600988,0.012482437860983658,0.011068789608366327,0.009655141355748999,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2694585605924536,0.7305414394075465,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48702762627169766,0.3333333333333333,0.17963904039496906,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1574354263846644,0.33333333333333326,0.5092312402820022,0.0,0.0,0.0,0.0 +univ,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03330834555833946,0.03601363379724511,0.03871892203615076,0.041424210275056404,0.04412949851396206,0.04683478675286771,0.049540074991773354,0.05224536323067901,0.05495065146958466,0.0576559397084903,0.06036122794739596,0.0630665161863016,0.06076703563190551,0.05846755507750942,0.056168074523113336,0.05386859396871724,0.051569113414321154,0.049269632859925055,0.04697015230552897,0.04467067175113288,0.0,0.0,0.0,0.0 +univ,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +univ,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10773437734708079,0.3333333333333333,0.5589322893195859,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.628851611647239,0.3333333333333333,0.03781505501942765,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1043475180589962,0.03895350092025114,0.020976320884544222,0.037279864182773,0.05358340748100179,0.05353285208803425,0.05348229669506672,0.05343174130209917,0.053381185909131636,0.0533306305161641,0.05328007512319657,0.053229519730229026,0.05317896433726149,0.05312840894429395,0.053077853551326416,0.05302729815835888,0.05297674276539134,0.05292618737242381,0.052875631979456265,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11583073498209223,0.47108700863073383,0.2947230883393026,0.11835916804787142,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3591518872697915,0.10406339953722134,0.21361603757673617,0.323168675616251,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17545608657933953,0.1719403186142704,0.16842455064920123,0.1649087826841321,0.16139301471906295,0.15787724675399378,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18304058611725627,0.7896162659106728,0.027343147972070922,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7979268938725499,0.17686822091580928,0.016672535291724706,0.008532349919916166,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.578400829767911,0.016583780995750717,0.01866538798796587,0.020746994980181028,0.02282860197239618,0.02491020896461134,0.02699181595682649,0.02907342294904165,0.0311550299412568,0.03323663693347196,0.03531824392568711,0.03739985091790226,0.039481457910117417,0.04156306490233257,0.04364467189454773,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4074190265461011,0.2825435576838615,0.037569731178967204,0.10494188703877066,0.09082256153035674,0.0767032360219428,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21918121202374222,0.3333333333333333,0.4474854546429244,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0835052208118133,0.7260538578814516,0.0817271132468386,0.06348030710224503,0.04523350095765147,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11978634238911937,0.497748780267061,0.28140237708283344,0.06505597389860593,0.03600652636238037,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3479019435812659,0.5365056179805612,0.11559243843817298,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4025890224893994,0.5974109775106007,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3732048100795164,0.6267951899204836,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40041609771957165,0.5639904037549157,0.03559349852551277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08876722289284689,0.11493197746117091,0.4235005781232469,0.3728002215227354,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4357760007824008,0.5642239992175991,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6044652184600203,0.22126586349977154,0.17426891804020825,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4759479948850025,0.3333333333333333,0.19071867178166416,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24450545806824858,0.6744581106411094,0.08103643129064204,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6099288212053448,0.3333333333333333,0.05673784546132194,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22745745074077123,0.6075168367061072,0.16502571255312157,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3863561922535266,0.33333333333333337,0.28031047441314016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4657517134643485,0.5342482865356515,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08655819849535898,0.913441801504641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6470247634388553,0.3333333333333333,0.01964190322781141,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2741313965619882,0.6629550534179607,0.06291355002005124,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5684543941451579,0.3333333333333333,0.09821227252150881,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.059490242194113245,0.7523045456318833,0.018748487732635807,0.019289288359865844,0.019830088987095883,0.020370889614325916,0.020911690241555952,0.021452490868785992,0.02199329149601603,0.022534092123246065,0.023074892750476104,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5916618406801583,0.3333333333333333,0.07500482598650836,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4953837534336802,0.5046162465663198,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9293033744726057,0.024492150868995113,0.04620447465839927,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37496020061561375,0.3041351651079224,0.20555168826670514,0.10696821142548794,0.008384734584270711,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16245811480449981,0.18122905740224993,0.2,0.21877094259775012,0.23754188519550024,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5446212875832988,0.3062100647062189,0.06779884182913909,0.04972288257016076,0.031646923311182434,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7905944124476788,0.20940558755232105,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16247713465884725,0.44340912594980314,0.33940130234258037,0.05471243704876923,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23630387073488623,0.27007687850461326,0.49361925076050056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12058062880239849,0.3333333333333333,0.5460860378642681,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.44901921097453,0.5509807890254701,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45011990866566315,0.5498800913343369,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2861015293666299,0.7138984706333701,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3304658479880228,0.31321548194082977,0.27538008277374987,0.08093858729739767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11179115666214716,0.4950397283895725,0.09109148299379365,0.3020776319544868,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20158579682928846,0.3590451735645154,0.4393690296061961,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5380915555873338,0.06557133332834955,0.3963371110843167,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.47442340161838786,0.29428379713008035,0.23129280125153176,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48739732089270765,0.1758121605432735,0.3367905185640188,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15611813456398502,0.16033754740505768,0.16455696024613034,0.16877637308720297,0.17299578592827566,0.17721519876934833,0.0,0.0,0.0,0.0 +social,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8891267902935148,0.11087320970648519,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.037727295282262895,0.9622727047177372,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4318010288576402,0.3333333333333333,0.2348656378090264,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10150631354676505,0.0879288161193049,0.07435131869184478,0.060773821264384624,0.047196323836924486,0.03361882640946435,0.5946245801313119,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23314066591145746,0.7668593340885426,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0049042728344062606,0.026576523213966474,0.20745051011610524,0.761068693835522,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3070644234445311,0.6929355765554689,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32656013593549843,0.6734398640645015,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28430358640686954,0.7156964135931305,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08623553376073448,0.6924454660587593,0.22131900018050632,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2502016398927135,0.7497983601072865,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012750424405196215,0.09836051139634903,0.8888890641984547,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.551444380991894,0.4485556190081061,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11812425436055507,0.01923799968018063,0.6607026139258543,0.2019351320334101,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.341503971776203,0.1870576243532147,0.47143840387058233,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5558472903065897,0.44415270969341025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8322526007707077,0.08692571276544542,0.08082168646384681,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3092651844982385,0.6907348155017616,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09563930947606052,0.3333333333333333,0.5710273571906063,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04156675240543393,0.31904847926554764,0.6393847683290184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22922910162013188,0.16467950357373923,0.606091394806129,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0351290407753694,0.3333333333333333,0.6315376258912972,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4205173094374983,0.5794826905625017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24801194183706926,0.2962278148457705,0.4557602433171603,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6441382480640091,0.3333333333333333,0.022528418602657557,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01613102375629621,0.10168724038752551,0.3288460480506576,0.5533356878055207,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0650412187782996,0.15223432049974742,0.20225487556569982,0.2522754306316522,0.32819415452460093,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10316936338966415,0.08739717824550143,0.10859108090012731,0.7008423774647071,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23240500014333088,0.3333333333333333,0.43426166652333575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023053005237083892,0.0498999220432932,0.07674683884950252,0.5296136956112015,0.32068653825891874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.043375834928763,0.05380857515955947,0.06424131539035594,0.06752436601715003,0.07080741664394412,0.15992275034941134,0.038627600450485765,0.43603298810243485,0.06565915295789557,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10042843039368393,0.08034760054854279,0.06026677070340163,0.0401859408582605,0.020105111013119355,0.12649691325372497,0.23288871549433057,0.3392805177349362,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03281658231246037,0.08530704812711536,0.13779751394177037,0.19028797975642534,0.24277844557108033,0.3110124302911483,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03583876125774284,0.07092233320821738,0.1863841458264641,0.7068547597075756,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13405286246669057,0.005266101172344452,0.7322247169404855,0.12845631942047941,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.422848345518597,0.07689328704563538,0.5002583674357676,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37836671900140995,0.3333333333333333,0.28829994766525674,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0017456244366516173,0.03903641494413014,0.3712075244024897,0.5880104362167287,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10931281160705096,0.24765078033900714,0.5408883532895873,0.10214805476435469,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006186395054701346,0.003567355232550208,0.03676280193077907,0.39583077423544666,0.5576526735465227,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28997176287039556,0.07683133105994253,0.03448234916103171,0.26822196049555497,0.24517452542922208,0.08531807098385327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01505997899950012,0.13337357074704712,0.2516871624945941,0.22185841221987518,0.19202966194515625,0.16220091167043738,0.02379030192338981,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0557414791350062,0.03810163042462049,0.020461781714234777,0.03847419404468446,0.4512902630822851,0.39593065159916907,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2843425842287547,0.2342527504477477,0.18416291666674076,0.13407308288573375,0.16316866577102304,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2557881937860425,0.2442026693340811,0.2326171448821197,0.22103162043015834,0.046360371567598375,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018639641980813422,0.03598132278052936,0.05332300358024529,0.44765307747623495,0.44440295418217707,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22423071862605312,0.5283842198434965,0.24738506153045037,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031609598729640614,0.15697175897017004,0.3227968004234531,0.4886218418767362,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30076055656395134,0.3333333333333333,0.3659061101027153,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018639714813562875,0.014456098641512753,0.5111153520211603,0.4557888345237641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016906674627179097,0.04408749842212745,0.0712683222170758,0.09739386595772667,0.6969255741652668,0.07341806461062411,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14617795417980792,0.33333333333333337,0.5204887124868588,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08770677250788476,0.14385338625394237,0.2,0.2561466137460576,0.31229322749211524,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019031983610239587,0.3057357627053313,0.6752322536844292,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12389551528051859,0.09355451704973952,0.06321351881896045,0.032872520588181395,0.629340779716385,0.057123148546214954,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005727121702416234,0.022277120379155975,0.1319487470264883,0.8400470108919396,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023371639108727294,0.0613677679379178,0.06421697536751185,0.0670661827971059,0.05741398582908553,0.04776178886106517,0.03810959189304481,0.4349153002432662,0.042035755634133184,0.16374101232814203,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04370672664689039,0.11476235131453887,0.09746068527359326,0.08015901923264765,0.06285735319170205,0.04555568715075644,0.04112991416690195,0.036704141183047455,0.17145608767432316,0.30620803416559883,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07698608208944181,0.06770089427754934,0.058415706465656886,0.04913051865376443,0.039845330841871966,0.03056014302997951,0.06553085032943541,0.10050155762889129,0.1354722649283472,0.1704429722278031,0.205413679527259,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012633034827864898,0.2341678567473193,0.7531991084248159,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29168274874229994,0.1906230440835039,0.5176942071741961,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3110969969500785,0.16983299521746373,0.028568993484848947,0.17032048074105893,0.32018053360654974,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3864406106703748,0.6135593893296253,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056634394910495225,0.062706359581162,0.5092279726305422,0.3714312728778006,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2958863372231112,0.2652954457410371,0.23470455425896294,0.2041136627768888,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05875816515729992,0.08312782073772461,0.10749747631814932,0.13186713189857402,0.15623678747899872,0.13499203287994935,0.11374727828090003,0.09250252368185069,0.07125776908280135,0.05001301448375201,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021524804073157135,0.0237584112340102,0.02599201839486326,0.4099238743026188,0.5188008919953505,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21290988787277185,0.22541926999174572,0.23792865211071954,0.2504380342296934,0.04526016048967014,0.028043995305399447,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.058816203149076,0.941183796850924,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015803815941152873,0.006048813434004754,0.4092057879124974,0.568941582712345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11359403201817765,0.8864059679818224,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01977804231276635,0.5403372769784637,0.43988468070876996,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34662050791315446,0.3193035357908923,0.3340759562959532,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015481130467515937,0.010606474322992696,0.502842633858657,0.47106976135083445,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5900408485687838,0.40995915143121625,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03595353986401464,0.47222188935892717,0.49182457077705816,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11287986723846766,0.1554408698941038,0.19800187254974,0.24056287520537617,0.2931145151123123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12802522995646676,0.35371652131583975,0.5182582487276934,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04336727795613132,0.05942391339709672,0.07548054883806211,0.07938983066284026,0.08329911248761841,0.3718549407454678,0.12030552192539896,0.16687885398738453,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1412155851472534,0.33333333333333337,0.5254510815194133,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016632190661555996,0.9509252175675412,0.032442591770902765,0.0,0.0,0.0,0.0 +social,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05733403818483013,0.3333333333333333,0.6093326284818366,0.0,0.0,0.0 +social,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8311955815819917,0.1688044184180083,0.0,0.0 +social,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9580647098346021,0.0419352901653979 +social,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,3,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.150403881206086,0.13920301871584467,0.12800215622560335,0.116801293735362,0.10560043124512067,0.09439956875487934,0.083198706264638,0.07199784377439666,0.06079698128415534,0.04959611879391402,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.16274824640801225,0.3954265556377904,0.32371480710179723,0.11811039085240024,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38631117774054635,0.3333333333333333,0.2803554889261204,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07694488210314931,0.05634409511359545,0.020581922303440955,0.034276600515400595,0.04797127872736024,0.06166595693931987,0.07132858428655181,0.08099121163378377,0.09065383898101571,0.10031646632824766,0.1099790936754796,0.11964172102271155,0.1293043483699435,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04252631196074424,0.037787864596371075,0.03304941723199792,0.02831096986762476,0.023572522503251595,0.03740808275460151,0.05124364300595142,0.06507920325730132,0.07891476350865123,0.09275032376000115,0.10658588401135105,0.12042144426270097,0.1342570045140509,0.1480925647654008,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03432246399091716,0.041422566146277116,0.04852266830163708,0.05562277045699704,0.062722872612357,0.06982297476771696,0.07692307692307691,0.08402317907843689,0.09112328123379684,0.0982233833891568,0.10532348554451676,0.11242358769987675,0.11952368985523668,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03163149035767946,0.7336582146363957,0.04149566391389355,0.008367510573865238,0.008370521988462594,0.008373533403059947,0.008376544817657304,0.00837955623225466,0.008382567646852015,0.008385579061449369,0.008388590476046724,0.00839160189064408,0.008394613305241435,0.008397624719838789,0.008400636134436144,0.0084036475490335,0.008406658963630855,0.00840967037822821,0.008412681792825566,0.008415693207422921,0.008418704622020275,0.00842171603661763,0.008424727451214985,0.00842773886581234,0.008430750280409694,0.00843376169500705,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3584276149805107,0.5746022084217608,0.06697017659772854,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2769319994273193,0.5247471656585653,0.07037387702908193,0.06610694497137183,0.06184001291366173,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5840061241399904,0.16551893268325588,0.12573829891963995,0.08595766515602404,0.03877897910108965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5131529302511231,0.16021850155676395,0.13454734547706748,0.10887618939737101,0.08320503331767454,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.39765070595462165,0.2718128514043629,0.10891618442611753,0.03117493441014261,0.07483898292171563,0.016248054129721308,0.016337099938054194,0.01642614574638708,0.01651519155471997,0.016604237363052856,0.016693283171385742,0.01678232897971863,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31671996634042715,0.2712249114592134,0.11092511767903535,0.0029872944722497343,0.09605504274112239,0.06251951953734715,0.028983996333571894,0.021586881047261773,0.014189765760951652,0.006792650474641531,0.014732134263017112,0.022671618051392697,0.030611101839768277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6750059373381477,0.14171535721764264,0.07646207320753734,0.011208789197432043,0.005486747956245354,0.017763556491955153,0.03004036502766496,0.042317173563374756,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25398030532205795,0.47591795935000547,0.051988681186635945,0.0526042184850986,0.06016251459203544,0.027272426285347547,0.039531160697498464,0.03337256922344192,0.0023917480457681956,0.0027784168121103843,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17605117824729205,0.2627376504488624,0.15737408686932056,0.09179723531618784,0.07480779794548098,0.0578183605747741,0.07000548332202242,0.08219260606927073,0.027215601206788852,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09957205930488305,0.15146355378856777,0.20335504827225248,0.03101745370329497,0.022788955438228477,0.09229791940346486,0.0834914756272168,0.07468503185096874,0.06587858807472068,0.05707214429847262,0.048265700522224564,0.0394592567459765,0.03065281296972844,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3765606606115084,0.24256149494938542,0.19268691190095835,0.1277898001494551,0.012675163163914567,0.025810584432584816,0.0020523461936597376,0.0032177115760491995,0.004383076958438661,0.005548442340828123,0.006713807723217585,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.44125399033863555,0.1657803511262183,0.110196840415569,0.05065160971568236,0.016007726530262202,0.03411140853218436,0.03208348758990428,0.030055566647624203,0.02802764570534412,0.02599972476306404,0.02397180382078396,0.02194388287850388,0.0199159619362238,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6874408863298752,0.14363028720742976,0.09337432100651057,0.019270178244459625,0.006043919517886841,0.017463391404770465,0.032777016289067575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20123386433698306,0.41694459434544195,0.222049271458417,0.054570757121050556,0.04326260554644107,0.031954453971831595,0.020646302397222115,0.009338150822612636,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.040184023369467456,0.29519354240947654,0.23659064418872017,0.13799301670109257,0.247827321465703,0.02710134104573147,0.015110110819808812,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06906720986185674,0.19529983229522488,0.16232428023188786,0.17565561394387372,0.07697767998084638,0.1541505588084708,0.15737918739065415,0.009145637487185566,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19509639957965566,0.26843972788265097,0.1474323658120797,0.08365952460352594,0.0368457639525357,0.010166231931104342,0.01301528042069351,0.015864328910282676,0.018713377399871847,0.021562425889461015,0.024411474379050183,0.02726052286863935,0.030109571358228514,0.032958619847817686,0.03580766833740685,0.038656716826996014,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00413697235256592,0.2129074075089102,0.3505475141658882,0.1734480355562692,0.08719976554605254,0.03241928801831168,0.016891722780181067,0.1224492940718214,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15110721547057004,0.02011440520279088,0.17242830407278825,0.05007707393687179,0.03218344624252011,0.12903532767598347,0.10217160474355866,0.07530788181113386,0.04844415887870907,0.021580435946284265,0.19755014601878967,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5148069288627971,0.3699963501505638,0.0269804642359594,0.05275491714480944,0.006820785024369538,0.005753345380444774,0.005361377533700237,0.0049694096869557,0.004577441840211163,0.004185473993466626,0.0037935061467220888,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09916834008449046,0.22595293139818784,0.2312190170753813,0.3022895362199151,0.07002517506475135,0.03951700658822908,0.009008838111706793,0.010609331189681635,0.012209824267656476,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17833885962554083,0.05573674004633103,0.03388618894421373,0.09023453526411779,0.2597895707396951,0.13534327268629362,0.1103335705131022,0.07788966228666873,0.04544575406023527,0.013001845833801809,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25721391131960825,0.40663051804361644,0.21604187462041352,0.09197086390127322,0.006123558377448522,0.008261833966299436,0.01040010955515035,0.0033573302161903633,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03818108084164346,0.2931290015346646,0.29837952919227306,0.17343326860020553,0.042483097152339055,0.12268192053287214,0.004912190297769613,0.005388658173868488,0.005865126049967363,0.015546127624396661,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1217493722020698,0.1104898364826285,0.6179637073205415,0.14331926618554516,0.0064778178092151,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3743657522191308,0.4189194215468449,0.13455849500942896,0.004841138145622488,0.024220914739303746,0.039024759773419175,0.004069518566249893,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024335610567412472,0.26340073451250356,0.35368400219049645,0.10860352584619243,0.0765000829741015,0.06818936385260069,0.059878644731099884,0.02458787971666413,0.020820155608928796,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1649615756365934,0.23346671208625974,0.021600129231412083,0.028431363425443272,0.03526259761947447,0.05981020997558021,0.08435782233168596,0.1089054346877917,0.09832007651152237,0.08773471833525305,0.07714936015898372,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28384048996359845,0.3455479918887933,0.10105268195888228,0.08887213770158188,0.046978568869155954,0.03371343092415334,0.033522498577715804,0.033331566231278274,0.03314063388484074,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.040218490033236944,0.08142619398399818,0.30682536491265516,0.08171756545399071,0.28292269415695515,0.14800786659322826,0.013093039029501402,0.014177983820823054,0.015262928612144703,0.016347873403466353,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14163544352043841,0.059032165046534794,0.16807345801036183,0.22634179522641276,0.28461013244246364,0.03175499024202576,0.030636164372973344,0.029517338503920926,0.028398512634868516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41580653155786884,0.2890129533225023,0.08811885302758045,0.0336115026925943,0.020944619862016595,0.08829736605480784,0.05083517984581254,0.01337299363681724,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0033258283121155906,0.2789924182216784,0.35526100524276233,0.01838682017741379,0.04192490358652489,0.02218638132037245,0.05774696451670831,0.09330754771304418,0.12886813090938007,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0020276352266408093,0.04794074657001455,0.05308812619317532,0.004670048813377961,0.10578733406369216,0.20690461931400633,0.1821009205703131,0.15729722182661984,0.13249352308292658,0.10768982433923334,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23383362793256315,0.6037495761292824,0.13054847567170508,0.007447226877364822,0.024421093389084495,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11115504744665063,0.05604337791480533,0.17501934022603396,0.06130066135993834,0.04302939279939729,0.2059588781920656,0.15832465712135024,0.11069043605063487,0.0630562149799195,0.015421993909204132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4690016523162357,0.2511306980562124,0.097247074284706,0.0753965836457811,0.060873525114281964,0.04635046658278284,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2411125922722293,0.5319251620679214,0.15219921237213554,0.024898582082027637,0.024921011095904548,0.02494344010978146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018489398529716462,0.19059640976937356,0.7517272838780154,0.039186907822894676,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07222469507842451,0.6381724480864713,0.12961516907357803,0.15998768776152605,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11911120275370167,0.4092687145261195,0.38472864264143375,0.046079064184898974,0.009263183561949013,0.013604125297948714,0.01794506703394842,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18711704820264483,0.06897036480620744,0.042984444198252356,0.24797086233038254,0.45295728046251277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6792883041002407,0.11719814014579573,0.09251799603189179,0.06783785191798786,0.04315770780408393,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07608173414075778,0.6798841594461215,0.2358505717719442,0.008183534641176602,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1592702731891413,0.21159677894062362,0.10278020649570413,0.09456107009039574,0.08634193368508736,0.07812279727977894,0.06990366087447056,0.06168452446916217,0.05346538806385378,0.045246251658545386,0.037027115253237,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6618426962940714,0.3381573037059285,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3718972097888553,0.5482256846048164,0.07987710560632832,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35693708738656393,0.41589423101678114,0.047723254952431654,0.09026791243450871,0.08917751420971458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29014394592641685,0.4819124463975033,0.17387456098725104,0.054069046688828726,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36146772354278855,0.23318168170854678,0.09706628634977127,0.2111434788067763,0.09714082959211719,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3115573662053272,0.6884426337946729,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2749564462065743,0.5665536755410131,0.1584898782524127,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1799920589596595,0.02624140234320781,0.7390721227453014,0.054694415951831284,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01641610143686886,0.10599880101203837,0.854111731232548,0.023473366318544783,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49830421331784797,0.33276807110594936,0.16723192889405067,0.0016957866821520568,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02105799892322043,0.5113008250606348,0.36856643791075927,0.0394803613182033,0.03302491270179521,0.02656946408538712,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21949374401370517,0.14408645906446294,0.30661122095241067,0.20827370647110888,0.10993619198980709,0.011598677508505335,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009037959404088853,0.271749470725214,0.19050180033011793,0.23973752329023237,0.28897324625034687,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15999944930590265,0.4027759327744486,0.14168813321180607,0.1145665283978679,0.08744492358392975,0.06032331876999158,0.03320171395605341,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19202846653546007,0.32984920355848935,0.47812232990605064,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.665510849832503,0.3333333333333333,0.001155816834163738,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03958189022438406,0.9123003018214122,0.021877662142565684,0.026240145811638093,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6020406151640877,0.39795938483591226,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19398945751121544,0.3433509041479743,0.2686701808295949,0.19398945751121544,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23014035279808706,0.5889232238222634,0.18093642337964969,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49624452987746465,0.5037554701225354,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29644889899668186,0.3653696178208869,0.3381814831824313,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13716895449859648,0.1818610953324464,0.6809699501689572,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10891470941158064,0.2815722865795636,0.591913118072,0.01759988593685584,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3816801130761051,0.3333333333333333,0.2849865535905615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38168011307610517,0.33333333333333337,0.2849865535905615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5687854952460929,0.43121450475390705,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5688053460394663,0.43119465396053375,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.3037576383669235,0.6962423616330766,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3069638197276531,0.6930361802723469,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10503703950365094,0.894962960496349,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03813383148689366,0.3644905280322447,0.5973756404808616,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30377107230480294,0.6962289276951972,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12194392745922118,0.8780560725407788,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019980903920108872,0.9056238064545227,0.07439528962536848,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0008209970393025569,0.1919798439815771,0.8071991589791203,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11536759806394162,0.4399877989689797,0.44464460296707875,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008996271306759888,0.34808458465204806,0.6429191440411921,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08104804552820222,0.842168571422754,0.0767833830490438,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5804480299942749,0.27415546785330325,0.1453965021524219,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6790421389180887,0.3209578610819114,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028274809078732966,0.2919434932367384,0.6797816976845288,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020735560209264998,0.32916759589252054,0.3520984877838607,0.29799835611435366,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02692023829835729,0.030867840435978726,0.18963397271766813,0.3598417742976048,0.39273617425039103,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.27304410032267423,0.3333333333333333,0.3936225663439925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006154473336429718,0.07659199606837458,0.24803737922937008,0.6692161513658256,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04034605332585043,0.017378037811550683,0.08866700444152312,0.7464766813674999,0.10713222305357593,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028444446956921724,0.030170651053091063,0.7887912131168969,0.1525936888730904,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014201936668446184,0.4962375250867121,0.4895605382448417,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0014710957507618032,0.23547141977715924,0.763057484472079,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06192234240006606,0.08416321311254679,0.7846968883462514,0.06921755614113584,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019318535877389666,0.02160959166316908,0.1664639403656466,0.7926079320937948,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024053603446367963,0.06560452897554282,0.8449021094126651,0.0452580563895479,0.02018170177587616,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00717137312274435,0.47989612055290676,0.5129325063243488,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011555159093507857,0.10389461327679857,0.2905411356800103,0.473332307897779,0.12067678405190428,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45520645960951034,0.101636596388358,0.33557998653736393,0.10757695746476768,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18144771158952416,0.8185522884104759,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.038959575535396036,0.29805725923228665,0.6629831652323174,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04608326414186911,0.08807559368084454,0.2657306209880666,0.5127279386708888,0.08738258251833082,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03510721865282178,0.024831657693037974,0.014556096733254167,0.004280535773470365,0.1853522704684515,0.30816490988434647,0.4092325815719323,0.018474729222685254,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10728037410193943,0.215711683316185,0.20541020135331964,0.47159774122855597,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01732379473380272,0.012710175042351958,0.005022051135827212,0.404903905618701,0.5600400734693172,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0022100821930209355,0.010121332518335947,0.046551350393624284,0.31084030229295645,0.537842755425745,0.09243417717631745,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1861292627601582,0.017469194330738156,0.5954917513425704,0.2009097915665332,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11398004780429409,0.18049355698123715,0.2470070661581802,0.3159344473011838,0.06542526052057185,0.07715962123453272,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007137273273818472,0.03295022647017389,0.31232698905035594,0.6475855112056517,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008478016909428449,0.0648277831311626,0.20716870000789453,0.5965597976871702,0.12296570226434429,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1924660103866629,0.025161557479380526,0.16344747525687947,0.2815802320554351,0.33734472482164213,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.036537212857989984,0.03520863131133716,0.13422692527513336,0.23324521923892952,0.23356269340555383,0.3272193179110563,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0049323792414991355,0.02522276441369716,0.04551314958589519,0.40993859240302766,0.5143931143558808,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010024607867523376,0.09371055928162399,0.5203294246523814,0.3442628752543735,0.031672532944097824,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026921666082442428,0.057969362369408105,0.13674209843582105,0.36635846319027604,0.3469087580843379,0.05075654668859415,0.014343105149120393,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010445993458545383,0.10905471541849104,0.18349083040732495,0.5375264430716639,0.15948201764397485,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0022871252069466153,0.00393422772179493,0.002607158293712728,0.4617204380940158,0.5294510506835299,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018782385442809264,0.010466871790547439,0.07957563192000267,0.056818985802440006,0.409355279755004,0.35800830866867983,0.06699253662051674,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010242559665902588,0.016815694793851494,0.023388829921800393,0.116073811222581,0.030790031699822966,0.22293324444745033,0.3991191510679757,0.08009476956620079,0.10054190761441484,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08369567188675762,0.41536390025545866,0.11018047500226899,0.11902951164344987,0.12045924126559508,0.12996380879297934,0.02130739115349045,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004188212984419406,0.01563383753726068,0.39334828229363056,0.5868296671846894,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012731605470375575,0.03313784789304697,0.020310639241604332,0.007483430590161701,0.03181636738388208,0.2914888197271723,0.24469928006037936,0.2951746752249966,0.06315733440838114,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029260958148468116,0.05885300491475785,0.23867344295014015,0.15095901631184197,0.08419927438146975,0.25793859443741857,0.10171335722279808,0.07840235163310556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15940477781123735,0.10460969863306886,0.0680851393630176,0.17112478108918883,0.3808281686355185,0.11594743446796883,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012494564068168077,0.02396088237817894,0.4015948033473705,0.5619497502062826,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008290487734634176,0.015957225570547552,0.02362396340646093,0.0036498601793868183,0.011639204556185345,0.01962854893298387,0.2027925947365622,0.18015228946529566,0.4840790255010116,0.05018679991693185,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006294042304447319,0.08840362082836196,0.0160487183627152,0.07453805746382465,0.13302739656493412,0.12985101266442517,0.44004098815527093,0.1117961636560206,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22937116637386779,0.10112343259410096,0.5253203362729468,0.14418506475908444,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03145960936376272,0.5447797526093661,0.42376063802687125,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0048975103168953545,0.055893476885654575,0.10688944345441379,0.157885410023173,0.01741034770088197,0.04285407392117303,0.33402433845268165,0.19751644988465814,0.08262894936046851,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007187465264851677,0.22440236517912282,0.441617265093394,0.03379119908746834,0.019784260417645198,0.07375692182867478,0.057360537682609375,0.13955126693928768,0.0025487185069461844,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10404746528502683,0.4250133515809672,0.07351692056951613,0.3974222625644898,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009703784609606407,0.024294395440725876,0.39749949337179546,0.5685023265778724,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009342943509884622,0.008711401161544651,0.008079858813204678,0.007448316464864706,0.006816774116524734,0.007258187205627384,0.0076996002947300355,0.043562300593613185,0.10475348084490729,0.19007531647658843,0.5948996713285545,0.011352149189955961,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025616672093043726,0.02486571346431311,0.024114754835582498,0.023363796206851885,0.02261283757812127,0.021861878949390654,0.021110920320660042,0.055300838665074306,0.21065225329926332,0.1599247985746028,0.14704308691255813,0.2635324491005383,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007284285754773274,0.03232256843961552,0.05736085112445776,0.0823991338093,0.10743741649414225,0.13247569917898447,0.07164239483743821,0.04995209490667701,0.038223239256711644,0.2118107994734273,0.14030077206596658,0.06879074465850589,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005530060902962615,0.022136395689736642,0.39879983887866277,0.573533704528638,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0067539591859012375,0.0072203564563334075,0.007686753726765577,0.009172722646263851,0.010658691565762124,0.030811922601590245,0.05096515363741837,0.2447781458343374,0.5980288788736172,0.03392341547201063,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024604162541397388,0.021171744361709658,0.017739326182021932,0.014306908002334204,0.020845582235505804,0.0273842564686774,0.21560884540075048,0.17359409029500966,0.472941163279109,0.01180392123348429,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04066410589356339,0.04347218149356302,0.04628025709356266,0.03728434692939031,0.028288436765217966,0.019292526601045613,0.5647326189351748,0.10322325229875162,0.052365946557994335,0.0643963274317364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004546692095676488,0.034844753913198856,0.3673192254150965,0.5932893285760281,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010416272061533055,0.009043644795057268,0.00767101752858148,0.2306744688040088,0.08412422739661309,0.4240121119119167,0.18914400000086243,0.04491425750142724,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017985672527550137,0.013972517884694603,0.009959363241839067,0.005946208598983531,0.16795805300747868,0.26192222465870435,0.09300692639372511,0.4016045707255632,0.0193238291810179,0.008320633780443377,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15908867221099643,0.1156962912420833,0.07230391027317017,0.02891152930425705,0.1627037102344329,0.2964958911646088,0.1537652955783534,0.011034699992098034,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00415361039951914,0.005232590701520878,0.006311571003522615,0.007390551305524353,0.00846953160752609,0.017288839604379623,0.41983593148646026,0.5313173738915469,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011590023749052589,0.011025739554141637,0.010461455359230685,0.01960298922941976,0.014127593280583238,0.008652197331746716,0.3056396860653898,0.15836019939711066,0.41294430990639014,0.04759580612693476,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06913133029413016,0.09366312126339313,0.06296923130914114,0.060736132914817845,0.16935845313585796,0.47864389791922773,0.06549783316343197,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08877508412649011,0.10989987743603534,0.13102467074558058,0.1521494640551258,0.17327425736467103,0.19439905067421626,0.13490798951586874,0.015569606082012412,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.040488837295019044,0.02522314324678637,0.009957449198553693,0.008852044075190916,0.007746638951828142,0.015451055345181916,0.34380752086657623,0.5484733110208637,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09309150259888657,0.07972987703166931,0.06636825146445205,0.0530066258972348,0.03964500033001754,0.02628337476280028,0.01292174919558303,0.009556220436719515,0.02899192011076702,0.0017001036628829405,0.1920040027595446,0.3759993929461507,0.02070197880329158,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1821112973826836,0.1298336372471027,0.07755597711152176,0.025278316975940827,0.02112148169922672,0.01696464642251261,0.012807811145798502,0.008650975869084395,0.015905639575713795,0.021294337704219866,0.02668303583272594,0.20297750421920127,0.2100006422805872,0.04881469653368081,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12276170615626279,0.14868158812239257,0.17460147008852236,0.20052135205465216,0.14182844794711316,0.21160543563105694,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10432629733120215,0.3284451486408685,0.5672285540279295,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01758146448460532,0.0371062965897089,0.05663112869481247,0.07615596079991604,0.09568079290501963,0.07409756541148216,0.14809917399732908,0.3789721845862398,0.11567543253088657,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026064443431570727,0.050049955473204975,0.1090560504834638,0.16806214549372261,0.2478482790194564,0.09874706922260376,0.0564020228446113,0.034516384803016525,0.2092536492283499,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07407215433706758,0.1081541893988548,0.14223622446064202,0.1148414113418539,0.08744659822306579,0.06005178510427767,0.10854735676317095,0.15704292842206422,0.09809160088144571,0.049515751067557366,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004082058565052594,0.20751009675269683,0.7884078446822506,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0073900450473893785,0.006891725483770389,0.006393405920151399,0.005895086356532409,0.00539676679291342,0.00489844722929443,0.00440012766567544,0.0039018081020564506,0.0034034885384374614,0.0029051689748184717,0.002406849411199483,0.020034110415814103,0.048968141298314824,0.07790217218081555,0.6771355992049128,0.1220770573779039,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09093884955826076,0.08218194971586527,0.0734250498734698,0.06466815003107432,0.11136764437667722,0.15806713872228012,0.09712996689508088,0.32222125082729164,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09315492138144005,0.09682634411484296,0.10049776684824588,0.10416918958164881,0.10784061231505172,0.11151203504845465,0.11518345778185758,0.11885488051526048,0.0902718909761528,0.061688901437045134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03873185357441621,0.32892362186578766,0.6323445245597962,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0026378865698878594,0.012135234259866508,0.02163258194984516,0.03112992963982381,0.04062727732980246,0.014344499832505799,0.015584200712017082,0.016823901591528367,0.01677438329055259,0.016724864989576815,0.016675346688601038,0.016625828387625264,0.01657631008664949,0.016526791785673713,0.01647727348469794,0.016427755183722165,0.019984616567422838,0.13795328528093803,0.5231304168112612,0.031207615558001868,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028795708215800644,0.06797677627746135,0.10715784433912208,0.015773084820433093,0.36875216091162877,0.3182852608270576,0.0932591646084965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02427536283726037,0.05487873419540023,0.08548210555354009,0.11608547691167993,0.1466888482698198,0.16867342735607554,0.19065800644233133,0.13463868162540799,0.07861935680848463,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015064236852112507,0.020628076324958437,0.02619191579780437,0.0384479800157107,0.37352384434693287,0.5261439466624812,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013700883230365996,0.010267984395605698,0.006835085560845403,0.003402186726085108,0.014950778910592802,0.026499371095100498,0.04490849507879804,0.10900424952645968,0.23606722332976265,0.37688300199397695,0.1574807401524072,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017308622561367934,0.004298056186231005,0.04149246316497832,0.07868687014372563,0.11588127712247297,0.15307568410122027,0.019495210874514897,0.20003033963663885,0.0917993837415836,0.09364349207151505,0.09548760040144652,0.08880099999430498,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22456303642944486,0.1753769060641739,0.12619077569890286,0.07700464533363184,0.027818514968360866,0.034038223910768446,0.04025793285317602,0.0692539605501782,0.09824998824718037,0.12724601594418253,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004342867258743734,0.01473492677042164,0.6340156695389368,0.3469065364318978,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006480455616767085,0.010775891582704797,0.01507132754864251,0.01936676351458022,0.023662199480517933,0.08194221037245598,0.14022222126439404,0.07584502564310618,0.3530439143776289,0.2735899905992023,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.043510303539474326,0.15299474595320525,0.5217283980113828,0.14109222998276483,0.14067432251317277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05514574637641007,0.47267064779734436,0.31495141787452996,0.15723218795171556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12541248039722566,0.3408582742759417,0.5337292453268326,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.065006866548985,0.026829949609520766,0.051939077940103044,0.07704820627068533,0.10215733460126762,0.1272664629318499,0.03696680312528703,0.5127852989723013,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02398000288914388,0.03894131735735004,0.053902631825556185,0.06886394629376234,0.0838252607619685,0.09878657523017466,0.1137478896983808,0.07909453390664715,0.04444117811491349,0.009787822323179842,0.06899871809474377,0.1282096138663077,0.1874205096378716,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23325705464234253,0.7667429453576575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1291346305731353,0.22216908797827556,0.44039801866108513,0.208298262787504,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11449287157880253,0.10726961104676039,0.10004635051471823,0.0928230899826761,0.3107184533762595,0.2746496235007832,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10515568827443468,0.12935574622414409,0.19717014339273026,0.1933048087144803,0.18943947403623035,0.18557413935798042,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09166059411680237,0.13176351085805157,0.1718664275993008,0.15216260229624737,0.132458776993194,0.11275495169014058,0.0909329985861142,0.06911104548208781,0.04728909237806141,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3522622548893185,0.2840874182964395,0.21591258170356054,0.14773774511068155,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10354736151700428,0.1184014562525641,0.13325555098812392,0.14810964572368374,0.16296374045924356,0.3337222450593805,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12476535691748769,0.11511996689785402,0.10547457687822036,0.09582918685858668,0.08618379683895301,0.07653840681931934,0.06689301679968568,0.057247626780052005,0.03459286995377877,0.011938113127505543,0.11260769093520595,0.04652884935072842,0.06628054184262247,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23485112377891745,0.17289228054709865,0.11093343731527987,0.04897459408346108,0.16044105278623466,0.27190751148900827,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023590741126387507,0.11312624776160456,0.11567622193234656,0.11822619610308856,0.12077617027383056,0.12332614444457257,0.1258761186153146,0.12842609278605657,0.1309760669567986,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03836399462343457,0.17945466487447817,0.3205453351255218,0.4616360053765654,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02806250045213312,0.028375889087845142,0.028689277723557165,0.029002666359269187,0.029316054994981206,0.02962944363069323,0.0665281894012629,0.10342693517183257,0.14032568094240225,0.17722442671297192,0.2141231724835416,0.11313964517435045,0.012156117865159287,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006649548808074928,0.007892547466331307,0.009135546124587685,0.010378544782844062,0.01162154344110044,0.012864542099356818,0.014107540757613196,0.015350539415869575,0.02317957935760493,0.03100861929934029,0.03883765924107564,0.046666699182811,0.05449573912454636,0.06232477906628171,0.07015381900801707,0.07798285894975243,0.08581189889148778,0.09364093883322315,0.1014699787749585,0.10929901871669385,0.11712805865842922,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0876738674990943,0.9123261325009057,0.0,0.0,0.0,0.0 +shopping,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2739793659168087,0.7260206340831913,0.0,0.0,0.0 +shopping,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0276474604399953,0.07547787306341132,0.07319278995666141,0.0709077068499115,0.0686226237431616,0.06633754063641169,0.06405245752966178,0.06176737442291186,0.05948229131616195,0.05719720820941204,0.054912125102662135,0.05262704199591223,0.05034195888916231,0.048056875782412405,0.0457717926756625,0.04348670956891258,0.041201626462162674,0.03891654335541277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0879738428107302,0.08492996050443541,0.08188607819814062,0.07884219589184582,0.07579831358555103,0.07275443127925625,0.06971054897296144,0.06666666666666668,0.06362278436037189,0.060578902054077094,0.0575350197477823,0.05449113744148751,0.051447255135192715,0.04840337282889793,0.045359490522603144,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,3,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2818511858080679,0.7181488141919321,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.11058352584059877,0.07958612567288173,0.1013923635778153,0.015972693107552973,0.5950849235820954,0.027694633396076765,0.02925807386295882,0.040427660960020186,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12826790763475898,0.21099654839198428,0.19267148343251625,0.17434641847304821,0.15602135351358018,0.13769628855411215,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.33151546871631776,0.22940509438578208,0.021822585925921408,0.051219193135622475,0.076322488183034,0.05174536267245475,0.02716823716187549,0.014608619484500622,0.03350144031046892,0.06159421912494342,0.015589196063039247,0.015206954084839457,0.014824712106639664,0.014442470128439872,0.01406022815024008,0.013677986172040288,0.013295744193840496,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016197193016760467,0.2233583459659262,0.10540652143843719,0.06060634436194851,0.04983680824416763,0.1386599846989618,0.10058016017195391,0.06250033564494603,0.02442051111793814,0.07287817331296938,0.06069835699414982,0.04851854067533026,0.03633872435651069,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02609989708865102,0.07543354176379541,0.12476718643893978,0.17410083111408417,0.22343447578922856,0.19986618119817656,0.17629788660712453,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45525364083906916,0.3610457454267236,0.015997040182738707,0.03808760807989651,0.021747351223511707,0.005407094367126908,0.008030458534126221,0.010653822701125531,0.013277186868124843,0.022578448784974156,0.01824707272282162,0.013915696660669089,0.009584320598516556,0.005252944536364024,0.0009215684742114916,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2566616801270992,0.2379890001995515,0.0022951041584293487,0.023682801166938897,0.04507049817544844,0.066458195183958,0.08784589219246754,0.10923358920097709,0.009901255012145442,0.05833871243306912,0.10252327214991559,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4128675406454507,0.003452103691048744,0.030260091001391987,0.05706807831173522,0.08387606562207846,0.1106840529324217,0.13749204024276496,0.16430002755310819,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5366031264884923,0.2795309076545796,0.04444471947666817,0.01836968968895909,0.014934238796906507,0.011498787904853924,0.008063337012801342,0.008973225454169335,0.009883113895537327,0.009830151622618438,0.009777189349699553,0.009724227076780665,0.009671264803861778,0.00961830253094289,0.009565340258024005,0.009512377985105118,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026140454662651302,0.37960304048473104,0.5079553959328509,0.025426271242503733,0.060874837677263184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4819337114284658,0.3132897364349169,0.05945565177025674,0.033283942379280784,0.007112232988304835,0.007254897612874508,0.0073975622374441805,0.007540226862013853,0.007682891486583526,0.008442495286361177,0.00920209908613883,0.009961702885916484,0.010721306685694135,0.011480910485471786,0.01224051428524944,0.013000118085027091,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2503982860233734,0.14447405182640438,0.13183032595536306,0.1447980523434914,0.15776577873161973,0.17073350511974808,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5542229460813417,0.32220543898528964,0.030690291488154515,0.0240357438624788,0.021306004275760806,0.018576264689042808,0.015846525102324812,0.013116785515606818,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03194679263553198,0.06033430915696272,0.08872182567839347,0.1171093421998242,0.14549685872125492,0.17388437524268566,0.14142334991948025,0.1089623245962748,0.0765012992730694,0.04404027394986399,0.011579248626658583,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22365185364165507,0.18408400309729422,0.16220694494893287,0.14032988680057149,0.11845282865221013,0.09657577050384876,0.07469871235548739,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29985108678332073,0.24992554339166037,0.2,0.15007445660833965,0.10014891321667926,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23356354207201832,0.3333333333333333,0.43310312459464834,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6068215335998088,0.3931784664001911,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5527822792497566,0.4472177207502433,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6119782310047526,0.1314216469106583,0.25660012208458916,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6251890696747548,0.2737103054665126,0.10110062485873252,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4013101721747066,0.0896402988474801,0.5090495289778133,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.47352199887274865,0.3333333333333333,0.193144667793918,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2265071409044229,0.7734928590955772,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6709709184860514,0.32902908151394855,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04883002931405867,0.3333333333333333,0.617836637352608,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4301727187324444,0.5698272812675556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03176670845743299,0.47402429215902553,0.4942089993835415,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2414529844275035,0.22707719464809575,0.21270140486868808,0.21779535825168925,0.1009730578040234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32677363228920947,0.26338681614460474,0.2,0.13661318385539528,0.07322636771079055,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03008147598968754,0.3479724526347148,0.6219460713755977,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15537747056470144,0.486618752945054,0.3580037764902446,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08210168120392775,0.0780377625354119,0.8398605562606604,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15903892861728677,0.17546929912131778,0.1918996696253488,0.47359210263604673,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20335346542731483,0.7966465345726852,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22461481533138425,0.32941069261586353,0.4342065699003428,0.011767922152409582,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0029322865525383463,0.13756691666640605,0.8595007967810556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.045209342999609506,0.05073625441221526,0.18057826979890165,0.02547223301851511,0.4844397962421965,0.21356410352856192,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18969764432807723,0.3333333333333333,0.47696902233858945,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00041222420977636847,0.46035715085767503,0.5392306249325486,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07097433287259963,0.32354898076263466,0.1789423647502748,0.03433574873791493,0.011016310942824507,0.298003412391938,0.08317884954181344,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.141015634553003,0.05695357957400074,0.3906171363754078,0.26734359529099877,0.14407005420658975,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007039427245711745,0.032991473767025374,0.5021842606776492,0.4577848383096137,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005812445698130788,0.005652911948300391,0.005493378198469995,0.0053338444486395985,0.007186853384667511,0.009039862320695424,0.04628862004289779,0.7524374786411125,0.16275460531708597,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11440591744182688,0.24603052981023554,0.05826840239585932,0.07104968705785086,0.08383097171984238,0.19313450092330892,0.23327999065107616,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07841073603527235,0.12301480475440954,0.1676188734735467,0.21222294219268387,0.41873264354408757,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004096125736257044,0.055355706744831645,0.46401770926167824,0.4765304582572331,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01170691111431512,0.009174293015742388,0.0066416749171696555,0.01197933670897809,0.017316998500786523,0.006846559326385787,0.04359295816205855,0.1617638784744105,0.4843626130592402,0.2466147767209131,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01981002070804753,0.019466694974116728,0.01912336924018592,0.01878004350625512,0.018436717772324314,0.04950188602920741,0.4179959147074396,0.034000960765486546,0.3496110936338403,0.053273298663096436,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04400533671654739,0.1645560038218327,0.14585519267287067,0.12715438152390862,0.5184290852648407,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0022870270012829157,0.05501842173331473,0.5805967421078463,0.3620978091575561,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00524902585920168,0.01605690585893415,0.005453048171349235,0.009888412400368689,0.014323776629388144,0.028334982937404884,0.07399834935192047,0.3077889723597929,0.45941388097107483,0.07949264546056503,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018091880679990572,0.07495179962552315,0.13181171857105572,0.09654346560329762,0.061275212635539505,0.026006959667781396,0.02199120452044451,0.017975449373107626,0.36086508783379156,0.16385811856513474,0.02662910292433365,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2576555355037073,0.18871583345597645,0.11977613140824561,0.0508364293605148,0.05634284645858422,0.06184926355665364,0.20958367854529653,0.055240281711021404,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02235972028818698,0.0768395737825199,0.48217477882577275,0.4186259271035205,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002479276653643766,0.019300876204258726,0.03612247575487369,0.04171146187773657,0.1587695200659839,0.3745126059424869,0.297302518556588,0.06980126494442844,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005166301832651571,0.006818729143865242,0.007571587840139235,0.00832444653641323,0.009077305232687224,0.022113758544750662,0.0351502118568141,0.04818666516887754,0.36406892715532013,0.3338424564733747,0.15967961021510643,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6618086067652329,0.3381913932347671,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009052480404580426,0.09901174819901805,0.3274879378174599,0.5644478335789417,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0015793794676430125,0.0026893451688234393,0.003799310870003867,0.004909276571184294,0.006019242272364721,0.023886109760846933,0.04175297724932915,0.059619844737811366,0.20072700116702732,0.17845922681822024,0.15352050014187338,0.3172621512144746,0.005775634560397601,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0188743274099831,0.01917152480196855,0.019468722193954003,0.008091512039036896,0.016863968491302322,0.025636424943567746,0.03440888139583317,0.04152525423073168,0.048641627065630196,0.22606597796504568,0.5079672340782238,0.006622782249035717,0.026661763135687043,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013038885482039134,0.04161962129733327,0.0702003571126274,0.09878109292792153,0.12736182874321567,0.1559425645585098,0.18452330037380393,0.04393660854516645,0.2645957409593829,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017895283003659578,0.016205683836619834,0.40155658755964035,0.5643424456000802,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005117656726520782,0.004444954517141831,0.003772252307762881,0.0030995500983839307,0.0024268478890049805,0.06900585343036612,0.1461053988872447,0.21087182975205782,0.13028966064606015,0.21263737716688286,0.20548096376783723,0.006747654810736772,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3391304625998636,0.2524277525597956,0.06611660177164577,0.08369985852351532,0.16705483530647072,0.09157048923870899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13242284331854018,0.30757517789829625,0.2884262152205797,0.2715757635625839,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0009094221053919893,0.004397855660136797,0.0038221056744183273,0.03625352676778054,0.06868494786114276,0.47882881354183776,0.40710332838929175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027130948467335055,0.2186740687526978,0.12382352469031926,0.059419427497312806,0.12722077155588252,0.12943237525514675,0.23904792602979905,0.07525095775150671,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01665887692358114,0.028383763662432487,0.04010865040128383,0.05183353714013518,0.06355842387898651,0.07528331061783787,0.0870081973566892,0.01757165072929507,0.07249618561214953,0.025561242309187094,0.19858746034389,0.025393662873135252,0.04003539914956215,0.25751963900183455,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015828456037401052,0.5633403438211161,0.010263276544924003,0.41056792359655886,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006279597473878532,0.011104363946770689,0.01592913041966285,0.020753896892555003,0.02557866336544716,0.04104100514578349,0.35260926100928053,0.5267040817466216,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02949219714600516,0.05067097482319982,0.02270919348331476,0.25594776399401825,0.07097521786903851,0.13678179558281828,0.15154920852760467,0.12249650528386308,0.15937714329013744,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1456646438776425,0.08835198191847789,0.024057995222602577,0.06735504410628693,0.1749226687482569,0.11116118826276207,0.12535973200112868,0.12110967499545001,0.08054534214887545,0.06147172871851696,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15091317478703486,0.13162266203120487,0.11233214927537485,0.09304163651954486,0.07375112376371486,0.05446061100788486,0.03517009825205486,0.004422881519091177,0.07106264060569857,0.03152171730648826,0.07719394341106214,0.122866169515636,0.024869112719539593,0.016772079285670188,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009403934260162023,0.05550357622047421,0.6009535323477281,0.3341389571716357,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07657331702350827,0.05099091468433489,0.025408512345161522,0.026087874174005713,0.05564389184830252,0.005769203994042881,0.052997348453567523,0.23598738466974395,0.3674714372860313,0.05522558202029602,0.0478445335010054,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007742154349294331,0.009558658368134599,0.011375162386974868,0.013191666405815134,0.03131440225682916,0.04943713810784319,0.1471319715534783,0.07950500912725712,0.011878046701035953,0.026998254725327853,0.29179159058680704,0.03152075653653588,0.21789928312908033,0.07065590576558631,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015199583172786107,0.08930548547628933,0.16341138777979256,0.23751729008329578,0.311623192386799,0.005394707621074667,0.017511005713065304,0.029627303805055943,0.041743601897046574,0.007255930057065792,0.08141051200772886,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09629874778992305,0.1741369712801537,0.2519751947703844,0.4775890861595389,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002490082377879992,0.094253672310728,0.005644847941095551,0.04973643887966865,0.002919795955689633,0.25196770754150416,0.06885567367511208,0.11710301946306158,0.055099377041002234,0.3107799526195079,0.04114943219475028,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11730684737722408,0.049377396157869506,0.061664140703523905,0.15905460625839346,0.06491561013793162,0.23844021130761675,0.07373976143203712,0.11789107217667252,0.08141902479512213,0.006377107471022662,0.009296904574264787,0.02051731760832142,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014233413873508616,0.014874380230628466,0.015515346587748318,0.01615631294486817,0.01679727930198802,0.01743824565910787,0.05389215305309327,0.6616014377629816,0.010018897643903494,0.025683698849612097,0.05614414881741393,0.04434618862123132,0.0325482284250487,0.02075026822886609,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0022845074700082336,0.2952953266408407,0.7024201658891511,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002508665896042338,0.004610813189318323,0.0815284237900529,0.0856922438289129,0.01632087433253366,0.003419433470190225,0.056611365651642764,0.13809087100381906,0.0326777873429489,0.2724500217794007,0.2386281300758698,0.06746136963926845,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00903679412747618,0.0059435873745003,0.12300663467457035,0.026756037433178954,0.08024799543265698,0.322579404348431,0.008834160692636154,0.010669030322316397,0.3212993985565629,0.07815680761873275,0.013470149418937925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04576340005503302,0.032361793571254543,0.01896018708747606,0.005558580603697577,0.1601521133090876,0.3147456460144776,0.22749584409150003,0.14024604216852246,0.05299624024554487,0.0017201528534062228,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37659894860239623,0.6234010513976038,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05119003035722745,0.22179744372682864,0.037524491196927585,0.042807414622095835,0.04809033804726409,0.05337326147243234,0.0586561848976006,0.047504984549813174,0.03525487538371171,0.25285249975131396,0.034811239170525726,0.01841567768610925,0.09772155913814953,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05306610349675704,0.012352678661650362,0.031096667912965652,0.05423448543917871,0.027332473609624475,0.10254317565106948,0.04064168770508412,0.5626391688250544,0.0821359250882487,0.03395763361036718,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3459843021851387,0.6540156978148612,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05015448201610547,0.2616466518149612,0.6881988661689333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06024433244573882,0.10429135625996763,0.02078427326911868,0.028409901480789257,0.014302403929986891,0.010301506404079695,0.0063006088781724975,0.04601868431510113,0.08573675975202977,0.023533149430413465,0.09452572846673231,0.04267168396175015,0.057852464807105194,0.4050271465990145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08554790268100909,0.0058031316487298,0.030191168323848945,0.05457920499896809,0.07896724167408724,0.01317312889974188,0.08728683946089338,0.19118813303243204,0.29508942660397064,0.07388913081056729,0.018215652081901814,0.028094897288583866,0.03797414249526592,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021741141726270362,0.07957474361246661,0.13740834549866285,0.1952419473848591,0.11896766619203886,0.042693384999218646,0.0774141445593997,0.14553960533383486,0.14553960533383486,0.03587941535941426,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06821982475252104,0.027227887554475392,0.23355347677694974,0.4398790659994241,0.2311197449166298,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031981060772018385,0.0063432096402407006,0.023794821200927425,0.04124643276161414,0.26111055857831816,0.107345845358316,0.06310498782012437,0.018864130281932737,0.04472274678884759,0.06288534344482741,0.08104794010080722,0.09921053675678705,0.11737313341276685,0.040969253082471846,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022798478106743982,0.07064583813074604,0.11849319815474811,0.16634055817875015,0.2141879182027522,0.16251818688090583,0.11084845555905941,0.13416736678629423,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4776892719313542,0.5223107280686459,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08769958092740283,0.12094360887819973,0.33047686257990894,0.46087994761448847,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05666805761583078,0.033780816958996616,0.010893576302162445,0.201684988635498,0.02863241244035699,0.00703259264186441,0.03628603176679347,0.06553947089172253,0.1260167442369904,0.18649401758225828,0.24697129092752615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025172620736375863,0.47258817878858506,0.33063401560900946,0.17160518486602966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005021935273483521,0.034775054696614245,0.06452817411974497,0.09428129354287569,0.08956132002644329,0.08484134651001089,0.0801213729935785,0.0754013994771461,0.07068142596071371,0.0659614524442813,0.06142913308160768,0.05689681371893406,0.05236449435626044,0.047832174993586815,0.043299855630913195,0.038767536268239575,0.03423521690556595,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13777947335844176,0.1394720298580088,0.14116458635757584,0.14285714285714285,0.1445496993567099,0.14624225585627693,0.14793481235584394,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,2,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,2,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,2,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,4,2,0.0,0.0,0.0,0.0,0.08251411197460912,0.19417137065820306,0.305828629341797,0.4174858880253909,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,4,3,0.0,0.0,0.0,0.0,0.0,0.4553276068862396,0.5446723931137604,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,4,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,5,2,0.0,0.0,0.0,0.0,0.10340357292994391,0.5192398186617763,0.2988654756900187,0.07849113271826108,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,0.21642572510150793,0.3333333333333333,0.4502409415651587,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3246385876522619,0.675361412347738,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0877158767547373,0.06295614058088753,0.010014429412199804,0.025579690837062623,0.03723284808514445,0.006445926628235455,0.028184087025615985,0.049167664426746444,0.07015124182787688,0.09113481922900735,0.0839974595876953,0.07686009994638326,0.06972274030507122,0.0625853806637592,0.05544802102244716,0.04831066138113512,0.04117330173982308,0.034035942098511046,0.026898582457199015,0.01976122281588697,0.012623863174574933,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,0.17944605609475578,0.30268233348736534,0.14059820873437814,0.17262387013929298,0.2046495315442078,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23864642010493725,0.21932321005246863,0.2,0.1806767899475314,0.16135357989506277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.24691334280879146,0.31682806348063924,0.0333056810660552,0.20625653872670474,0.019825531189556087,0.01980264567573657,0.04204032075867305,0.024614917646595107,0.09041295864724855,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05234272743082279,0.15023213223044377,0.09316096501912792,0.03608979780781204,0.059485093657714504,0.0419428920035115,0.15467290957241514,0.06729410192515205,0.13697867238709013,0.10312278752119677,0.06926690265530343,0.03541101778941009,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03844497301085298,0.04917418774463303,0.0599034024784131,0.07063261721219316,0.08136183194597323,0.12202661747476223,0.16269140300355125,0.13919133851509286,0.11569127402663447,0.09219120953817606,0.06869114504971767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.187460055666847,0.19505678721262326,0.10500221544710032,0.03846243014494431,0.04341858207750715,0.005525496224083488,0.07324714598242765,0.07913101631390328,0.0850148866453789,0.09089875697685453,0.09678262730833015,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1588087904074573,0.12051459784232706,0.2273519238396892,0.1444127145237128,0.07515744544325392,0.06221516858372633,0.049272891724198756,0.05168085713470515,0.05408882254521156,0.056496787955717956,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07564663355228222,0.06092909433733657,0.15644049212024144,0.17045619420538505,0.18447189629052863,0.11650499335914645,0.04853809042776427,0.01946967225231578,0.03765865836865781,0.05584764448499985,0.07403663060134187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26272100339229687,0.2839091795655378,0.09011756775921716,0.05275368611237646,0.1063459575598336,0.024751375240267423,0.03351459455848556,0.042277813876703686,0.03309760591849404,0.07051121601678746,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05650902447927385,0.11746368150398533,0.2129700594262251,0.11749488780127951,0.11997232907628545,0.1224497703512914,0.017685001908120352,0.04416385955589572,0.040410976650566616,0.05704313458414847,0.05029346974902557,0.04354380491390267,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05597386975639376,0.03216210422910778,0.03326445798232534,0.03436681173554291,0.21574864223204052,0.16071757738622405,0.10568651254040756,0.05065544769459107,0.1161680457524106,0.07013089642878773,0.024093747105164855,0.041708544754056234,0.059323342402947614,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22557719074563945,0.21108084358544132,0.19229939008034075,0.18871502991848363,0.07007094583577944,0.005541899759262995,0.03757872594577759,0.03333648173868321,0.021709225460276003,0.010081969181868796,0.0040082977484469,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.054688839629106964,0.007997498095042476,0.2698290627361823,0.1818753926975084,0.09392172265883454,0.00596805262016064,0.01488130979750696,0.19359606558809547,0.12361270725521924,0.05362934892234301,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5435245978379936,0.18343629155182314,0.13722466421094212,0.09101303687006111,0.04480140952918009,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2068115931992799,0.2983812727193874,0.10765904413996653,0.07808046738782638,0.16526542446580228,0.051389301229914974,0.032466268831899465,0.013543236433883946,0.009992639009652821,0.009089142845260972,0.008185646680869123,0.007282150516477271,0.006378654352085421,0.005475158187693571,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05593721764628834,0.09462720271813119,0.11935975714324189,0.22285832337300254,0.14741097793007757,0.06817084927407586,0.010401454362311019,0.01919085402992932,0.027980253697547613,0.00747952624336653,0.04471490486055312,0.04003148859975324,0.035348072338953346,0.03066465607815346,0.025981239817353573,0.02129782355655369,0.016614407295753805,0.011930991034953913,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08618001856989686,0.0628520301817701,0.039524041793643334,0.013220890870046834,0.049131906211347054,0.03149052104775539,0.17916986588782852,0.13162885647982356,0.08408784707181863,0.03654683766381368,0.02844187365389837,0.02737037143238013,0.02629886921086189,0.02522736698934365,0.024155864767825407,0.023084362546307167,0.022012860324788927,0.020941358103270684,0.019869855881752444,0.018798353660234204,0.01772685143871596,0.01665534921719772,0.015583846995679483,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1754752079209222,0.4111965047562206,0.0941254192591993,0.021699020559910406,0.04591201592943075,0.01147556018734366,0.044024341537435,0.03983354421753481,0.03532215621452717,0.03081076821151952,0.02629938020851188,0.021787992205504234,0.01727660420249659,0.01276521619948895,0.008253828196481306,0.0037424401934736604,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0689509429777137,0.1475963413302792,0.20539443491313217,0.31573029454373214,0.09115742080267829,0.023098179077228456,0.05682249261729345,0.09124989373794257,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16697594103813845,0.009971398203320067,0.3805968678228374,0.11617943158917109,0.0985541043460853,0.0809287771029995,0.09607934974699192,0.03872323480924616,0.011990895341209914,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35116033959684684,0.39971431656642376,0.11558974088210872,0.06650607280309401,0.018686594235887297,0.012410729238593458,0.006134864241299618,0.005577962563147893,0.0050210608849961666,0.0044641592068444405,0.0039072575286927145,0.004911386593585914,0.005915515658479113,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45562893493592116,0.263249799777858,0.04914049916699397,0.09428391744417226,0.008094907288224384,0.023559869807296418,0.021878100889951433,0.02019633197260645,0.018514563055261467,0.016832794137916482,0.015151025220571497,0.013469256303226514,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07949547737776456,0.16603668071243527,0.2814316139135398,0.05842672991828158,0.07670488250396185,0.09466987718098374,0.11263487185800566,0.13059986653502756,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2076755278432567,0.2895227384186399,0.06825098293528709,0.06559470960953107,0.0694965768875938,0.0958129535795121,0.008618382073380094,0.003655186238238315,0.030043351082637337,0.05643151592703636,0.04569877053099937,0.03496602513496238,0.024233279738925383,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03254041192066724,0.09775852015118007,0.2867204742956459,0.015675972907500238,0.20910599334298802,0.017951357159450305,0.11628209094748643,0.04110323174887287,0.02205006074613802,0.009131882685749515,0.15168000409432136,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.145893813986235,0.11752124273663088,0.08914867148702676,0.26969667718357676,0.057982940273714714,0.08046864619471326,0.1029543521157118,0.13633365602239086,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23642025195353736,0.5459299550998712,0.08105964528610135,0.03726710423069601,0.04564684526542535,0.019706926458661782,0.016402484985127568,0.00917825271691755,0.00838853400366181,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01034558626505543,0.25967490272113175,0.17914794773788417,0.08350274146677045,0.08301477859025679,0.04290050694733451,0.002786235304412239,0.04358161264712252,0.0843769899898328,0.03894875295901966,0.03741383166409176,0.03587891036916386,0.03434398907423597,0.032809067779308074,0.03127414648438017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1941636098361409,0.008758743236944868,0.12538335848255405,0.10701613062213305,0.08864890276171203,0.07028167490129102,0.08274376295669701,0.09520585101210301,0.10766793906750899,0.120130027122915,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09167178175891046,0.5547572746363142,0.1901165812675589,0.05326554063840934,0.009036368763930734,0.09865172323446947,0.0025007297004070368,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.038111475977021234,0.12749177549108606,0.14995693927014705,0.040766561001864474,0.04380571936558279,0.016650990316383275,0.03331740482935586,0.049983819342328435,0.06665023385530103,0.0833166483682736,0.09998306288124618,0.11664947739421877,0.13331589190719134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08534363871396966,0.24445735716565187,0.4035710756173341,0.07574664661197159,0.11139078180030662,0.02540500031782112,0.054085499772944946,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28073309695581167,0.5154605676399941,0.07214150768072228,0.012188881017817772,0.1010210984724866,0.0020654248487539393,0.0037642829884459226,0.005463141128137907,0.00716199926782989,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4281209309614634,0.3038920833054325,0.10998761039772927,0.05853769416306649,0.0070877779284037245,0.013490057081432706,0.01989233623446169,0.02629461538749067,0.032696894540519654,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17357879502256712,0.1552149216277041,0.13685104823284105,0.11848717483797802,0.10012330144311499,0.08175942804825195,0.07245418990770544,0.06314895176715896,0.05384371362661245,0.044538475486065945,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20759390248879178,0.5451283045310695,0.1383195618531615,0.04735579322666318,0.018638550132154846,0.02070581129965195,0.014321295922719727,0.007936780545787503,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0502800245946755,0.03729884730090046,0.36473618550924525,0.31214275640589906,0.051857732773215204,0.02310316895462508,0.08510067784086082,0.05352709482047984,0.021953511800098857,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07449467125553492,0.3357915128663388,0.26044628930761593,0.185101065748893,0.10975584219017014,0.03441061863144726,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41292805286783046,0.2883207933586006,0.1394209464348691,0.03678570070677184,0.12254450663192802,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5650891290379553,0.1680862990862289,0.06844461456240081,0.04934233898960453,0.04951077254877066,0.049679206107936795,0.049847639667102935,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04202532850614832,0.06710439217869378,0.04701174280228375,0.2156526020865768,0.18564879701947104,0.15564499195236525,0.12564118688525944,0.09563738181815368,0.06563357675104789,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6655689976108264,0.3333333333333333,0.0010976690558402089,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24048775012208126,0.19868534560292045,0.32142217912627313,0.019286749825987992,0.041086604942411016,0.03787287831030912,0.03465915167820721,0.031445425046105306,0.028231698414003407,0.025017971781901502,0.0218042451497996,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20605185536129925,0.13995053856438128,0.13774683200431623,0.39430603549907717,0.02038015861883152,0.10156457995209457,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08234654046879847,0.24897887434197769,0.016627738190819065,0.3784647826535078,0.05899340726427828,0.029821156423959962,0.045705161654756445,0.061589166885552944,0.07747317211634944,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29555053939590253,0.30661361722785074,0.16842038511733182,0.031379495848086525,0.012920169455161,0.012754663063484923,0.03510418651377288,0.057453709964060844,0.07980323341434879,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026236180264828626,0.2405639084320377,0.46880177694438085,0.13493672991075512,0.12946140444799772,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3282014888950339,0.26544525775989064,0.20268902662474733,0.13545108444835846,0.06821314227196956,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6242561295769649,0.3386326749624276,0.03711119546060755,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6443690301958319,0.2564870766943367,0.09914389310983153,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6049757983243805,0.3950242016756194,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34206961345516007,0.6079768647260113,0.016262403728876523,0.01374638821276361,0.011230372696650698,0.008714357180537783,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08500120429632037,0.4967342120248824,0.12293676754319306,0.058199532464718214,0.052862917649602825,0.04752630283448742,0.042189688019372035,0.03685307320425664,0.031516458389141244,0.026179843574025856,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.46735992257116626,0.3224533075237221,0.17754669247627794,0.032640077428833764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20336542853984085,0.48125346435882244,0.30214524893126743,0.013235858170069314,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09762898763661358,0.2573208645634319,0.058377147604443076,0.32754057834984396,0.17383987633807269,0.020139174326301374,0.020928482360032898,0.021717790393764418,0.02250709842749594,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2300959773070196,0.05610542447287373,0.24763388900513775,0.4391623535374018,0.02700235567756713,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12269581584813527,0.8028988217095129,0.07440536244235182,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30786343014085943,0.4994055966797014,0.19273097317943919,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5183664267478437,0.3333333333333333,0.14830023991882302,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18458183718451315,0.7401956636967079,0.003873625768166768,0.06575286642247533,0.0055960069281368804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5986174073171815,0.2408599972550717,0.13379419756093952,0.02672839786680728,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.46774765170619126,0.4717712243218646,0.024116179076441015,0.03636494489550314,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3078014498690916,0.4156185183325294,0.23073285004363617,0.045847181754743,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5230777651168956,0.4769222348831044,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3754118044721874,0.3922179532369998,0.23237024229081282,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18810628625653603,0.2508150865840604,0.5610786271594036,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20957460739832354,0.1653116053561075,0.12104860331389151,0.5040651839316774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37618202633165476,0.2838209451675753,0.33999702850077007,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16456196408726353,0.6773385670796749,0.15809946883306167,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2257488755088557,0.36793545936773947,0.40631566512340483,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3016429969694315,0.5513081139465085,0.14704888908406016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6704840630725919,0.2281824613032204,0.022440790863974245,0.0788926847602134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4281567758547282,0.5718432241452718,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7454454860547013,0.2545545139452987,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.478698357591346,0.521301642408654,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,6,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,7,1,0.0,0.0,0.0,0.0,0.18814204945621585,0.3333333333333333,0.47852461721045086,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.8030953019310698,0.1969046980689302,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7414461830924897,0.25855381690751034,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1460061225703778,0.8539938774296223,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03906186092168556,0.30680410094559285,0.6541340381327216,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011718299891892766,0.2763676973729294,0.7119140027351779,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14279305311559973,0.6992923771312145,0.1579145697531859,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004111170642511999,0.3846994334240152,0.6111893959334728,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.27001478776560295,0.5032914156334254,0.22669379660097172,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0030910105878413155,0.002799268161452818,0.00250752573506432,0.002215783308675822,0.0019240408822873245,0.38249252566630787,0.6049698456583703,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37000440823397573,0.2577277663695286,0.37226782539649567,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2563051383157974,0.5533247367847239,0.19037012489947874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7053790318023804,0.29462096819761974,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0019744109828073457,0.016949662986412956,0.43144928388655307,0.5496266421442267,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016593359769754623,0.04466157319721613,0.48993653501452333,0.37291977341269406,0.0758887586058119,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1986273782870537,0.38013666578216077,0.2909129948742474,0.13032296105653818,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005209389758411423,0.006901552001112399,0.32664459798952317,0.6612444602509531,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06922770552253141,0.2134471667067467,0.4281518261743917,0.28917330159633026,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05694528185076065,0.04147951734730208,0.026013752843843517,0.04896608198810448,0.46231888838952323,0.33582527326717293,0.028451204313293087,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16591207169011565,0.7546723445339762,0.07941558377590811,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0012719052745416492,0.03977296505432849,0.576077161833628,0.3828779678375018,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03270043430906702,0.10173825695512823,0.24471725570417532,0.5224744840899358,0.09836956894169364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20685867556229445,0.4027203798788832,0.2040523166548149,0.18636862790400754,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10271994407225417,0.5341302852824752,0.3631497706452706,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003251258718114069,0.005617191568341598,0.007983124418569127,0.03309839595982315,0.4499371812354143,0.5001128480997377,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01835392658690944,0.012450128092540303,0.006546329598171165,0.14041245600547622,0.2923339656622764,0.4955550800680794,0.0343481139865473,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2996927461192991,0.2914773665746146,0.3411682199443326,0.06766166736175368,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05845831849151903,0.24028072797847094,0.4221031374654229,0.2791578160645873,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014092553421454263,0.04816316463111656,0.48644318661366986,0.45130109533375934,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08522159760797395,0.024999919535110833,0.010000717855472265,0.08422636689628812,0.23396547438319593,0.45555059012036414,0.10603533360159485,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06508234963534018,0.04535109962426682,0.025619849613193458,0.2640382691568761,0.41054195586160314,0.15307550513989687,0.0362909709688235,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04951342976866197,0.3718147848126838,0.3337153476450882,0.11049603071989986,0.1344604070536661,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005353854436017624,0.05083178231439873,0.05106920700407235,0.4524306917869304,0.4403144644585809,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012568501713858971,0.020019328186200582,0.02747015465854219,0.0349209811308838,0.1281660718894895,0.23309637104985734,0.4189909638672378,0.12476762750392979,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04217516605154881,0.057481119563196334,0.07278707307484386,0.0880930265864914,0.15063797586349492,0.34605452490196925,0.17480422861838066,0.06796688534007475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.27629067651270534,0.2394500244043621,0.4842592990829327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002221444508753992,0.01616148924112702,0.094451693065688,0.434935368437368,0.452230004747063,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006569995770985614,0.004428533335812799,0.08480398018756194,0.26868787936282224,0.34576420344935477,0.20723798812686092,0.0825074197666018,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01296464330035067,0.019431511915681883,0.12796516251327822,0.12038114156421421,0.32403248652446454,0.21674864025422566,0.1784764139277847,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01792011576845662,0.06208672015339636,0.1062533245383361,0.15041992892327583,0.03809564431008291,0.30789565418224935,0.09302162593642888,0.1874045193083271,0.036902466879446885,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003235564656425117,0.004059647865136972,0.004883731073848827,0.005707814282560683,0.009376716397792549,0.05769416148958721,0.3998346149627327,0.5152077492719161,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0071726385759043705,0.006622610393140245,0.11288778176588511,0.04664972554363386,0.13764948978101244,0.36923180450724463,0.2772828582344299,0.04250309119874959,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016048896218461176,0.03013883289662701,0.04422876957479284,0.05831870625295868,0.25801809433483547,0.37468065947759205,0.08704532084439774,0.13152072040033494,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027512933811721808,0.03363867443387706,0.11011937594350217,0.5562285735635365,0.034064125978050516,0.18266553472105468,0.05577078154825726,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0018711775879847318,0.008523750748782012,0.010751717326866457,0.02122959968228724,0.11121343910404836,0.39961212291552406,0.4467981926345071,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0039809191906446315,0.014099470355290855,0.02421802151993708,0.0683948802551518,0.1344713597255731,0.1426732278980772,0.5812363003995857,0.030925820655739712,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03331514945719014,0.005329026415862597,0.1227610101634701,0.08799501808596004,0.11977914009061238,0.5599269658664612,0.07089368992044365,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007748431576673687,0.00648749543936361,0.005226559302053534,0.02479608996237307,0.1367766596516194,0.19324897707285799,0.32666205889650346,0.2990537280985553,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0011421886912808123,0.0022750961327755092,0.0034080035742702066,0.013252699403840648,0.02858823440863841,0.05098560969266228,0.4398365112910658,0.46051165680546635,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013304807789220639,0.03483393803383822,0.035909799971495314,0.11869562635252902,0.08277072235477378,0.24798580935842027,0.462030370539622,0.004468925600100787,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02376908405429902,0.04148133021901569,0.05919357638373238,0.13435610447864868,0.1301319681220956,0.1838195905506085,0.10931583186363945,0.21840164033885306,0.09953087398910763,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20738581664125652,0.03664573248996271,0.04172851151687138,0.05458240397670125,0.3106519686547585,0.0916314367175493,0.2002505937223371,0.057123536280563214,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008896659989733753,0.0008106061011133527,0.0010670772088978153,0.001323548316682278,0.0015800194244667404,0.0018364905322512028,0.0017268182365334976,0.001617145940815792,0.0015074736450980868,0.05982758615124016,0.39816856039185405,0.5216380140613134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008996395106685718,0.022382357584461898,0.012339507421560958,0.009079526231841549,0.0654251394630445,0.15731473205772087,0.18856619111517983,0.43788173311094597,0.09801441790855868,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025178665775238963,0.04729960344379564,0.002356272354193297,0.13534608716995253,0.10258795702320934,0.11604589090388041,0.21080310440473107,0.36038241892499884,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0068411562930526075,0.10800977315445119,0.22220392296105196,0.005071684131950922,0.08143894381236849,0.16261693001006536,0.08038752486773086,0.3334300647693287,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03344378219719876,0.026866065331058783,0.07040583259081826,0.48194475919000535,0.3873395606909189,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003801462802344575,0.0028943385776815872,0.001987214353018599,0.0010800901283556106,0.02087234041608295,0.009129398056238164,0.020797398024527416,0.013266181008164155,0.05819878959959165,0.1276647690510187,0.31353318349491865,0.3427775032892052,0.0839973311988529,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.033252808300469054,0.029543664507201785,0.03784575808773295,0.046147851668264114,0.014114586348376973,0.13600525620971912,0.04673923591872109,0.11195381467237484,0.19878562785598355,0.27153594254955077,0.05181531737724905,0.022260136504356764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024262114539690512,0.052692531436250224,0.06470515135301619,0.10932377838139777,0.10704287529491929,0.17890879565051035,0.18934346663425225,0.15435491778140525,0.11936636892855827,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006053458059793587,0.037772677674435574,0.022617962696599558,0.007463247718763545,0.08193134440490334,0.37888883385361644,0.465272475591888,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001200194505678895,0.002142876762019731,0.003085559018360567,0.003108587640181487,0.0031316162620024074,0.003154644883823328,0.0031776735056442485,0.02298312489275052,0.03243740789021975,0.050306506690275324,0.17234908505080468,0.20219775127877482,0.28941324903394877,0.21131172258551553,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005924325625237814,0.01988856592937344,0.033852806233509065,0.047817046537644695,0.06178128684178032,0.03456126961442606,0.0073412523870717995,0.03454922536409121,0.038914163555698406,0.05039527146450916,0.09641764947756301,0.07601637611189824,0.16897345940686756,0.323567301450329,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13391789707153173,0.06985033461845441,0.005782772165377069,0.053993876364141546,0.054367033328449665,0.053292092685866946,0.11725007206220496,0.1503866603184519,0.2697309441487835,0.07989092661457484,0.011537390622163345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014697870992410348,0.005784583113275807,0.01889597354449021,0.06014764709413824,0.48769672163529637,0.41277720362038905,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001117061876608237,0.005553742736376234,0.009990423596144233,0.01442710445591223,0.00416689684216162,0.026081562754801644,0.047996228667441666,0.06819403102061676,0.0015822980921750658,0.05149862431134258,0.02357798951197528,0.10851105297124357,0.2801522688420516,0.23203367073028075,0.12511704359086864,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016221208133358277,0.029170171892430683,0.003377407719398701,0.022477407098078276,0.08301847925366398,0.09395007480185141,0.05583007008505986,0.036996944151528585,0.1207305437148142,0.21104780787433902,0.10985059253190989,0.21732929274356705,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019279993107393367,0.10710515873535675,0.07180865257712939,0.03787655979974105,0.003944467022352705,0.05771572968018896,0.44589928175194055,0.1741872663479892,0.08218289097790815,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0013045506656333293,0.022999955438425288,0.06988008707374721,0.49703946202490973,0.40877594479728435,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.049641886937836645,0.06485394960214345,0.01054206590041185,0.036159177640203335,0.017761670773606582,0.09962245903996725,0.08919510978226165,0.11249794162709666,0.2578788294699805,0.21723216886150792,0.044614740364984314,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14666399442576072,0.1402561938207772,0.010751874512273309,0.01482902625216663,0.1984320936067995,0.01957827948346152,0.11311038160744949,0.11427849746710017,0.1477905533750072,0.06236861879411428,0.03194048665509008,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006362869336904934,0.010136022095299334,0.013909174853693732,0.01768232761208813,0.021455480370482533,0.07129524209158307,0.04994994483459023,0.17098321485750503,0.16068258751758796,0.15038196017767091,0.061974759370397474,0.15626205693308,0.039595502072518336,0.05920163789685102,0.005579347307107501,0.004547872672639853,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003156893410151791,0.01539168726158279,0.027626481113013787,0.043752865385778106,0.13060216459324184,0.496255313062491,0.2832145951737405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009362068994872288,0.009910361492654507,0.025818547238421346,0.018542256915277493,0.006192456677157952,0.06936491452103992,0.09078753567477497,0.1736471712756763,0.32341830844485986,0.2490449117453256,0.023911467019939802,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015253920563101039,0.01734829095140272,0.0194426613397044,0.028208512702923263,0.007732651137986171,0.05312809580471804,0.11563584746658268,0.04387532725200658,0.04618950581949503,0.100915627695279,0.15564174957106294,0.06991750140350364,0.3081526955992089,0.018557612693025517,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019200174799962152,0.04579024098480264,0.20204626534531056,0.12465229586447808,0.04725832638364561,0.04125743612273031,0.035256545861815,0.0292556556008997,0.08402593149907742,0.17073248276161623,0.20052464477566231,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004100543198560938,0.011576373608166025,0.057556167084768,0.04392898341172154,0.16297002964866683,0.3389579626165197,0.3809099404315969,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006895373125020818,0.01184834669751427,0.02189955013756038,0.031950753577606496,0.024344741736817523,0.13707203448520286,0.0332776307149174,0.03480799299800823,0.16505811950879215,0.22829288269631942,0.25505272315002625,0.049499851172214136,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01331449750441225,0.15426115820681183,0.10084727562244192,0.04743339303807202,0.023822402385287843,0.011712569006320441,0.0325994160135087,0.021377933644737477,0.022937486281917746,0.06978910906438544,0.19175303621656664,0.09318005064798796,0.21697167236754966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02982464615399378,0.07678704126850915,0.09482206161283911,0.1128570819571691,0.08563231393612793,0.05840754591508675,0.08477919232701116,0.11115083873893557,0.281788056065831,0.03478709497992229,0.029164127044574086,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010279413725647892,0.03271759607102003,0.07386224918245629,0.5395624119749622,0.34357832904591357,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014060553257933912,0.012812037898189653,0.011563522538445394,0.010315007178701133,0.009066491818956874,0.0030467584658390493,0.007527220440274812,0.009216746490126472,0.048125300971609705,0.12369904063615442,0.09452507663553657,0.18442801654000895,0.16731009648577516,0.2337152391191476,0.0705888915233004,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01650714495891469,0.01635564080363008,0.016204136648345472,0.016052632493060867,0.015901128337776255,0.01574962418249165,0.015598120027207042,0.015446615871922436,0.015295111716637826,0.01514360756135322,0.01499210340606861,0.014840599250784004,0.0146890950954994,0.01453759094021479,0.014448172984987448,0.010622794532878557,0.02891452998932037,0.012749034158327609,0.07510594596379395,0.14669295632897555,0.21975999303442825,0.09600875856840745,0.11150892359266736,0.06687573955230712,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005217365882865623,0.01391897774416689,0.017584757400855397,0.051515178397679016,0.03724090923347928,0.022966640069279544,0.04724630937840804,0.24327461076760137,0.035512691737243626,0.23856605050106236,0.1569765742612637,0.07538709802146504,0.054592836604630025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009952104879236237,0.00751984057633343,0.005087576273430623,0.002655311970527815,0.005328245959978006,0.008001179949428196,0.07099581783765038,0.5204343163908465,0.3700256061625688,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0015362879858057323,0.0015578140186248352,0.0015793400514439381,0.0016008660842630408,0.0016223921170821437,0.0016439181499012467,0.0020639530620795224,0.002483987974257798,0.019874187279285655,0.008768638833857173,0.07036464790822407,0.11093268061308093,0.07164308142011476,0.31011306435209185,0.32071498353240757,0.0735001566174797,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06273813888746534,0.08594034981351202,0.10914256073955872,0.07404620196163529,0.03894984318371187,0.12108744220257694,0.07997305271387505,0.020784987450749567,0.1440060886710293,0.26333133437588585,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008515856188299909,0.10132304262805399,0.09393984784872157,0.08655665306938916,0.038281662772794454,0.03618539761861302,0.034089132464431585,0.6011084074096963,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0059105150143989255,0.005211681919841845,0.004512848825284765,0.0038140157307276854,0.0031151826361706055,0.0024163495416135252,0.0017175164470564453,0.001018683352499365,0.008408360743176616,0.009528699113689238,0.02342975425960364,0.04169506196223676,0.3966823092394524,0.4925390212142482,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018110305692000582,0.02075011517088262,0.023389924649764655,0.026029734128646693,0.028669543607528727,0.031309353086410766,0.033949162565292804,0.03658897204417484,0.03384296470232274,0.031096957360470634,0.028350950018618534,0.0628357410044171,0.05574759488054363,0.02555920754610205,0.19656577780922838,0.27859243684535,0.06861125888824532,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03122930767687022,0.033604535127655155,0.03597976257844008,0.03835499002922502,0.04073021748000995,0.03323420846564394,0.025738199451277942,0.01824219043691194,0.010746181422545934,0.0032501724081799286,0.004788046773441346,0.060325816177862805,0.03654188179605468,0.05558148684528954,0.15905273919339807,0.3738958244844022,0.03870443965279116,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.048848207807632466,0.04945660271365498,0.0500649976196775,0.05067339252570001,0.05128178743172252,0.05189018233774503,0.052498577243767545,0.05310697214979006,0.05371536705581258,0.052839241470542045,0.05321817884158052,0.03839151634541094,0.02356485384924137,0.009981650711084268,0.24879033588266883,0.013911443063807075,0.037226045337989774,0.060540647612172475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0034998920984917153,0.003531745208663175,0.0035635983188346348,0.0035954514290060945,0.003627304539177554,0.003659157649349014,0.0036910107595204736,0.0037228638696919334,0.003754716979863393,0.003786570090034853,0.0038184232002063125,0.008590061786535264,0.05318429979531184,0.051618815933729176,0.3627713785258771,0.48358470981570767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008616208264667457,0.008566044680420975,0.008515881096174491,0.008465717511928008,0.008415553927681526,0.008365390343435045,0.008315226759188561,0.008265063174942078,0.012013758966258068,0.018915434870542792,0.025817110774827515,0.012427824204253812,0.02201153758738606,0.04555235517449719,0.08803769248048078,0.4858662224104216,0.08913687423798392,0.11680588950222186,0.015890214032688185,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028538202646196432,0.02529042732271302,0.022042651999229605,0.018794876675746197,0.015547101352262784,0.01229932602877937,0.009051550705295959,0.0058037753818125475,0.007342618207805931,0.008881461033799314,0.0104203038597927,0.011959146685786081,0.015549590237805534,0.027390583365531122,0.03923157649325672,0.051072569620982305,0.0032166113144076925,0.003788443358215155,0.4582844625260734,0.10493693663310603,0.05381179036304471,0.06259765300595697,0.004148341182400326,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008343521773058847,0.010485187459810398,0.01262685314656195,0.014909675927860454,0.017192498709158954,0.009727276049726116,0.0131812403057675,0.016635204561808885,0.050996802614955226,0.08535840066810158,0.6188442602003162,0.0642050699670376,0.014013865905601969,0.053832403175892975,0.009647739534341228,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007373770821427729,0.023908887659757808,0.01668432475894998,0.13952362702703705,0.38392166115640247,0.4285877285764251,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02215220814036823,0.023433505458302212,0.1124378659395947,0.019451944725702244,0.13761635684281193,0.05675617975817877,0.1956179021841774,0.30142703227963263,0.10993356953178486,0.02117343513944714,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02744719910988627,0.02824098053297181,0.02903476195605735,0.02722988203630843,0.15257056479029496,0.06084629568319994,0.21075024624391514,0.17269331877257915,0.1346363913012432,0.09657946382990718,0.035898480414789026,0.02407241532884767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09001860151880285,0.05064891635420555,0.011279231189608252,0.39314071937858397,0.030767124938950997,0.021583977047539123,0.06013308145193544,0.34242834812037387,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10046852670589371,0.00389777250702522,0.004877569044764075,0.005857365582502931,0.04223554016132604,0.008540878442605274,0.4033298335449215,0.43079251401096136,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1388299321597422,0.01284547273502692,0.18802498780635574,0.01677670564359577,0.01490649078574859,0.03239248457456958,0.40209740209738004,0.16483187947117484,0.029294644726406364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004570747225610163,0.03251775158273582,0.06046475593986148,0.08841176029698714,0.10350096186228727,0.11859016342758742,0.13367936499288754,0.12370520046007495,0.11373103592726237,0.0154897194009082,0.03481513136192794,0.1705234075218697,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011307671098409923,0.04298185140237726,0.0746560317063446,0.10633021201031193,0.13800439231427927,0.13019190543615491,0.12237941855803054,0.11456693167990616,0.1067544448017818,0.09894195792365743,0.015739202469246615,0.03814598059949955,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0063336162454602956,0.17517758990567023,0.5602931892336868,0.25819560461518265,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007891756163563097,0.02337194230651479,0.038852128449466485,0.054332314592418184,0.06981250073536988,0.17947346241436468,0.021158272823322177,0.07590366261769203,0.05815067730330242,0.040397691988912805,0.007588840631447356,0.01616119976222805,0.3061526120945425,0.1007529381168554,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007360091387833659,0.17406362173252296,0.1553787138914199,0.13669380605031686,0.11800889820921383,0.09932399036811076,0.08063908252700772,0.061954174685904674,0.00499489085980759,0.022953887728118294,0.04091288459642899,0.0588718814647397,0.03884407649857509,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012457715069040013,0.08348854921117288,0.15451938335330576,0.15298187905996924,0.15144437476663278,0.14990687047329626,0.14836936617995977,0.14683186188662328,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013079516619096497,0.01697133794050146,0.09182834593516614,0.6478159005252203,0.23030489898001547,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08967250767975561,0.025121741942512644,0.022246213218098575,0.06382306863281041,0.05217057673118021,0.040518084829550015,0.028865592927919813,0.2501985270421158,0.2038647286787718,0.1575309303154278,0.06598802800185721,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.045276151459396535,0.04289802710305098,0.04051990274670542,0.03814177839035987,0.03576365403401432,0.03338552967766876,0.24215536275897964,0.45092519584029056,0.07093439798953395,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016969164390857692,0.025032435637641254,0.19970993031953124,0.7582884696519698,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03611509285831577,0.05193606325847542,0.049490836010063814,0.0470456087616522,0.0446003815132406,0.06942103053149863,0.04616649256868033,0.19537835025431802,0.3445902079399557,0.1152559363037994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06269562885384669,0.07389110910146147,0.08508658934907624,0.05916717368519077,0.0730685791054821,0.05103649380678607,0.06333541236055204,0.07563433091431801,0.08082853279776445,0.08602273468121087,0.0912169365646573,0.09641113844810374,0.10160534033155016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09941363708103153,0.09187115421479607,0.08432867134856062,0.07678618848232516,0.06924370561608971,0.061701222749854255,0.06472789636622436,0.06775456998259446,0.07078124359896457,0.07380791721533467,0.07683459083170477,0.07986126444807487,0.08288793806444497,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03784973235771185,0.036620758701108064,0.03539178504450428,0.03416281138790049,0.032933837731296704,0.031704864074692925,0.12726882056114674,0.3753835405259502,0.2886838496156887,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2846228288756114,0.10049760336414829,0.07677038817438991,0.053043172984631556,0.10736592092585227,0.161688668867073,0.2160114168082937,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02588721704406414,0.030876599322006437,0.035865981599948735,0.2345180633956552,0.19955348045586446,0.16458889751607372,0.12962431457628296,0.09465973163649222,0.059695148696701464,0.024730565756910725,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.058891573883600744,0.1667889162983482,0.15063823325685743,0.1344875502153667,0.11833686717387602,0.1021861841323853,0.08603550109089457,0.06988481804940384,0.05373413500791314,0.03758345196642241,0.021432768924931667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7671527704276866,0.2328472295723134,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07723627633414205,0.06655936486339221,0.05588245339264236,0.04520554192189251,0.03452863045114266,0.023851718980392813,0.013174807509642969,0.03297800276970075,0.05278119802975852,0.0725843932898163,0.09238758854987408,0.11219078380993187,0.13199397906998964,0.07914649381815561,0.0262990085663216,0.08319975864320417,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18022468569889774,0.8197753143011023,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8284623832788831,0.17153761672111692,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14167371196191392,0.13725989129267374,0.1328460706234336,0.12843224995419342,0.12401842928495325,0.11960460861571308,0.11519078794647292,0.10097425032064612,0.0,0.0,0.0,0.0 +othmaint,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023022753552078674,0.03460489884219633,0.04618704413231399,0.05916518534051912,0.07214332654872425,0.08512146775692939,0.08003200249805499,0.07494253723918061,0.06985307198030621,0.06476360672143182,0.05967414146255744,0.05458467620368304,0.04949521094480865,0.04440574568593426,0.03931628042705987,0.035723390328988004,0.03213050023091614,0.028537610132844275,0.024944720034772407,0.02135182993670054,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022311857005135764,0.028648258385354463,0.03498465976557316,0.041321061145791864,0.047657462526010566,0.05399386390622927,0.060330265286447964,0.06666666666666667,0.07300306804688536,0.07933946942710406,0.08567587080732277,0.09201227218754147,0.09834867356776017,0.10468507494797887,0.11102147632819757,0.0,0.0,0.0 +othmaint,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0445377443228595,0.06261822168839037,0.08069869905392124,0.09877917641945211,0.09028832551622515,0.08179747461299818,0.07330662370977122,0.06481577280654424,0.056324921903317275,0.052192480979529866,0.04806004005574245,0.043927599131955035,0.03979515820816762,0.0356627172843802,0.031530276360592795,0.027397835436805382,0.02326539451301797,0.019132953589230554,0.01500051266544314,0.010868071741655733,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06363877028947357,0.06644583314446932,0.0692528959994651,0.07205995885446087,0.07486702170945664,0.0776740845644524,0.08048114741944819,0.07457641509224884,0.06867168276504951,0.06276695043785017,0.056862218110650835,0.05095748578345151,0.04505275345625217,0.039148021129052836,0.033243288801853496,0.02733855647465416,0.021433824147454823,0.015529091820255492,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.47193900914891224,0.5280609908510878,0.0,0.0 +othmaint,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.038712615202482065,0.028329572829032007,0.01794653045558195,0.00756348808213189,0.009983235013663912,0.012402981945195934,0.014822728876727958,0.017242475808259983,0.019662222739792002,0.022081969671324024,0.02450171660285605,0.02692146353438807,0.029341210465920097,0.03176095739745211,0.03418070432898414,0.03660045126051616,0.03902019819204819,0.04143994512358021,0.043859692055112226,0.04627943898664425,0.04869918591817628,0.0511189328497083,0.05353867978124032,0.05595842671277235,0.058378173644304365,0.06079792057583638,0.06321766750736842,0.06563741443890043,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009840482473440913,0.013618338988001582,0.017396195502562255,0.021174052017122927,0.024951908531683598,0.028729765046244266,0.03250762156080494,0.036285478075365606,0.040063334589926274,0.043841191104486955,0.047619047619047616,0.051396904133608284,0.055174760648168966,0.05895261716272963,0.0627304736772903,0.06650833019185097,0.07028618670641164,0.0740640432209723,0.07784189973553299,0.08161975625009366,0.08539761276465432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07708819399182375,0.8429855257342007,0.07992628027397555 +othmaint,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025763405017451835,0.03525248420676535,0.04474156339607886,0.05423064258539238,0.06371972177470589,0.052531853116484756,0.041343984458263636,0.030156115800042498,0.030006367851650603,0.029856619903258712,0.029706871954866817,0.029557124006474922,0.02940737605808303,0.02925762810969114,0.02910788016129924,0.02895813221290735,0.028808384264515458,0.028658636316123563,0.02850888836773167,0.028359140419339776,0.02820939247094788,0.02805964452255599,0.027909896574164098,0.0277601486257722,0.02761040067738031,0.027460652728988413,0.027310904780596522,0.02716115683220463,0.027011408883812732,0.02686166093542084,0.02671191298702895,0.0 +othmaint,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,5,2,0.0,0.0,0.0,0.0,0.031751934515880424,0.9682480654841197,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.17032285402499478,0.04225409142521806,0.08066426458679786,0.11907443774837764,0.15748461090995744,0.19589478407153724,0.234304957233117,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.13685299190411948,0.08540190088181362,0.033950809859507755,0.05966935453557978,0.08538789921165181,0.11110644388772384,0.13682498856379585,0.1625435332398679,0.1882620779159399,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.07074790344729151,0.2538234476135568,0.005517578147069041,0.11673633040516744,0.11470253629590597,0.11266874218664451,0.11063494807738303,0.10860115396812156,0.1065673598588601,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41817903563032727,0.43067963959304234,0.15114132477663056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032479835173468585,0.2546435906993765,0.02208892009478977,0.0417981365196412,0.006389356527158556,0.10506284484967657,0.03657515312505515,0.01258780552034809,0.07903041759520642,0.07210386784871942,0.06517731810223241,0.058250768355745414,0.05132421860925841,0.04439766886277141,0.03747111911628442,0.03054456936979741,0.023618019623310407,0.016691469876823403,0.009764920130336406,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018631844329463267,0.07158854411581861,0.12454524390217395,0.17750194368852928,0.23045864347488462,0.20257747465467163,0.17469630583445867,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22186922170014417,0.2674877941232583,0.05028850396060141,0.010820086524444597,0.06316034100665982,0.05038362367343527,0.03760690634021071,0.024830189006986154,0.0120534716737616,0.01979290492253837,0.019846649768660154,0.01990039461478194,0.019954139460903724,0.020007884307025506,0.02006162915314729,0.020115373999269073,0.020169118845390858,0.020222863691512643,0.020276608537634425,0.02033035338375621,0.020384098229877995,0.02043784307599978,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26053064594775455,0.03164182752219579,0.06276568386345904,0.0030518761385755857,0.1852037335852751,0.022378395723772922,0.020721170014529906,0.04618078417380475,0.03192319078976239,0.01766559740572003,0.03656908497096439,0.05547257253620874,0.04967212359244144,0.04387167464867414,0.038071225704906834,0.03227077676113954,0.026470327817372238,0.020669878873604934,0.01486942992983764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1699466281817992,0.09561685481654109,0.02128708145128296,0.0020531537217789975,0.008554124569485608,0.015055095417192218,0.013940194622316509,0.12459605751740957,0.10121408909567703,0.07783212067394447,0.05445015225221193,0.03106818383047938,0.03231839642050648,0.033568609010533594,0.03481882160056069,0.0360690341905878,0.037319246780614906,0.03223230824354843,0.027145369706481955,0.022058431169415475,0.016971492632348997,0.011884554095282522,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15280096603779877,0.5304792914538425,0.17179768464697703,0.03801378461401535,0.012936682175015196,0.0041984634640748275,0.020336441002556816,0.036474418541038806,0.023145562201906476,0.009816705862774146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21091190522658154,0.5137696488718677,0.1305689690977883,0.1342152408675754,0.010534235936186926,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8885812312979011,0.014215801975455388,0.07071862064874675,0.026484346077896802,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.392392980733672,0.28193173429248936,0.20215283505538378,0.009751512228118186,0.004499464601265974,0.00890130302376533,0.10037017006530542,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2311167071751989,0.13219350665526272,0.06281045369463786,0.05137712431434401,0.03994379493405016,0.02270234397780812,0.033753608180655835,0.04480487238350355,0.05585613658635127,0.12709919622817958,0.1983422558700079,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09147359527580143,0.15864935481512324,0.14442132962553506,0.09717861897808054,0.04993590833062599,0.055845299459976135,0.06966360580862178,0.08348191215726744,0.09730021850591308,0.08311679184965609,0.06893336519339911,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35376119268330397,0.46781355837285404,0.05760693117238653,0.036786395524606094,0.015965859876825646,0.013629576111869721,0.028189735050720484,0.0103202555016127,0.008748917069144525,0.00717757863667635,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03265357241376605,0.3523731920988302,0.43334416166143624,0.015134359903382256,0.020924230612982878,0.07716864866120912,0.04285591595526289,0.008543183249316652,0.017002735443813543,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03461003564584761,0.32719238750687024,0.039545583347533234,0.03023747512929959,0.35540321809784553,0.18947150612348307,0.023539794149120663,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1468424431970819,0.30102139869084416,0.05043381973386156,0.037328829861095154,0.03305200727033197,0.0287751846795688,0.18417451128267595,0.09774313070180977,0.011311750120943605,0.014828961711414873,0.01834617330188614,0.021863384892357413,0.025380596482828678,0.028897808073299946,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04676972916634739,0.01984257379908864,0.0021161722590718646,0.010169089024701174,0.004889469257949018,0.11142468231435515,0.2179598953707613,0.18200133013234646,0.14604276489393164,0.11008419965551682,0.07412563441710199,0.038167069178687146,0.0022085039402723237,0.034198886589869075,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3610447828187589,0.25711100840111484,0.15317723398347083,0.11469977945784465,0.07622232493221846,0.037744870406592274,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24096591472033757,0.2030864086036905,0.2513618744190085,0.11292555261109775,0.06369513129245304,0.12796511835341268,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16471364513644454,0.15333008439252818,0.0689270740804195,0.11134847131838053,0.02418425160317105,0.10478294075928535,0.15916549115635203,0.21354804155341872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07877267611187957,0.08215999949370306,0.08554732287552655,0.08838996216750354,0.09123260145948053,0.09407524075145753,0.09691788004343452,0.06991159609644547,0.04290531214945643,0.01589902820246739,0.05031424420934123,0.08472946021621508,0.11914467622308893,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5539474933722065,0.3283369235017958,0.03360432052223066,0.03741593155066581,0.04669533105310132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20696139950651768,0.15076693438704375,0.09457246926756982,0.059479953195273896,0.14411162870531566,0.2287433042153574,0.0367033916370657,0.07866091908585611,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05990671690733508,0.09949316127391641,0.13907960564049773,0.17866605000707908,0.15396766441613083,0.12926927882518258,0.10457089323423434,0.0798725076432861,0.05517412205233785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4745592657481185,0.1442153121823844,0.12445833346562375,0.08029960757823362,0.036140881690843486,0.0414582074012211,0.046775533111598724,0.05209285882197634,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23867932273087733,0.18394037005964692,0.4188819367497591,0.15849837045971676,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1217355481684114,0.09790604370323067,0.07407653923804994,0.05024703477286921,0.037112850774833096,0.08415990879916042,0.13120696682348773,0.17825402484781508,0.2253010828721424,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32655510993838555,0.13223982602719694,0.09676794900861556,0.03256450781808162,0.042873344022806896,0.053182180227532155,0.06349101643225744,0.0737998526369827,0.08410868884170798,0.09441752504643323,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02928864731963616,0.23318426615876073,0.056312633779267665,0.0630941022875264,0.06987557079578514,0.07665703930404388,0.08343850781230261,0.0632941653507843,0.04314982288926601,0.023005480427747707,0.05461936752635376,0.08623325462495982,0.11784714172356588,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08153723831780572,0.06452685058769903,0.060514644379194515,0.07372245709565663,0.08693026981211875,0.10013808252858086,0.11334589524504297,0.12655370796150509,0.1397615206779672,0.1529693333944293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25605333050653545,0.3096363841537036,0.05745638207052895,0.14477009511325364,0.23208380815597834,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12030502492376005,0.16015251246188003,0.19999999999999998,0.23984748753811994,0.2796949750762399,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1115366342244243,0.19151064070200266,0.014424282814649077,0.023939575345901,0.033454867877152926,0.041420650166283185,0.05191239294148335,0.06240413571668351,0.07289587849188368,0.08338762126708384,0.093879364042284,0.10437110681748417,0.11486284959268432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41773532603100155,0.5822646739689985,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11084175410240663,0.4581920416789278,0.03163604302430618,0.017541690270097197,0.0034473375158882084,0.003792186966715026,0.004137036417541844,0.004481885868368661,0.004826735319195479,0.005171584770022296,0.014354619320482992,0.11864390135551026,0.2229331833905375,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8874172670208454,0.029870531788149825,0.037527577659718224,0.045184623531286626,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8274937967934014,0.031194078966259607,0.033908702801621005,0.03662332663698241,0.039337950472343806,0.023593364933911853,0.007848779395479899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.044104181821633726,0.1494521482738447,0.3355123284107949,0.11018834288303837,0.02864181389501367,0.03627278062575618,0.043903747356498685,0.05153471408724119,0.05916568081798369,0.0667966475487262,0.07442761427946872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08349999930517689,0.9165000006948231,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5022987838453455,0.47188216158747404,0.005164491269901776,0.004079528892264171,0.0029945665146265676,0.004150719059117393,0.009429748831270447,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028378166247076946,0.49590834638908493,0.24621688771267444,0.044987133471350894,0.06602576252140809,0.0527601652037715,0.03949456788613492,0.026228970568498332,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4503892359801097,0.14852527094368909,0.12575588016753947,0.10298648939138987,0.08021709861524023,0.057447707839090624,0.03467831706294102,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17132802870965688,0.5274287926040496,0.00440829809124006,0.188378363470496,0.09741388632600224,0.006449409181508498,0.004593221617046794,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07493352058679062,0.3170881254293178,0.11956419262890343,0.3006641455824013,0.15517412153398524,0.009684097485569157,0.02289179675303245,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.229569522947386,0.12837647958081924,0.17697226213200282,0.2255680446831864,0.15270297078436076,0.07983789688553516,0.006972822986709557,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013605074510886783,0.6912107682153137,0.07777490734486782,0.08221178280598065,0.06363880259014883,0.045065822374317006,0.026492842158485182,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7921939809975214,0.021087899938542085,0.025305052294872774,0.16141306676906378,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18184512599527042,0.8181548740047296,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29412023963323425,0.27514033514908887,0.05665743518614721,0.04016954265217699,0.2764559173131364,0.024894578097848452,0.01915217668873875,0.013409775279629044,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05872394224128767,0.0717592631132457,0.1839040815603308,0.04917758457172034,0.08915452406951771,0.21214504283780514,0.3351355616060926,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7405065559914191,0.25949344400858093,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06449424612739452,0.2428271228429911,0.4215191296818575,0.23089287700987146,0.040266624337885415,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010680701291189462,0.07196947911114145,0.019081013129575202,0.7503564231024947,0.013335840199462408,0.06215884418389441,0.04485884772204558,0.027558851260196745,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07729014132367676,0.17685648158402553,0.2764228218443743,0.21644983679684104,0.1564768517493078,0.09650386670177458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027159482546833227,0.7039667001621386,0.09125226712592198,0.15410614388371346,0.023515406281392703,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4458323436956409,0.09223650345251738,0.17731030037699444,0.24472863536046915,0.039892217114378174,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09433449612027744,0.23828399749287407,0.36807010657858036,0.08725287479230098,0.027707587794067165,0.05413390900613083,0.0805602302181945,0.04965679799757463,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8258880238367611,0.08677919994857687,0.08733277621466205,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2005187878431594,0.31303024589453443,0.1797329288927901,0.25324631137828635,0.018472041773142194,0.03499968421808735,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03147824563814513,0.15420581852718007,0.3958729267627987,0.4184430090718761,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38466171011585437,0.5047421515469533,0.07208141729517625,0.02685779045608156,0.011656930585934434,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4729820592396845,0.3975281066771094,0.1294898340832061,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21323051322341724,0.6470505390228997,0.07675889314379175,0.06296005460989129,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48560273386253044,0.39923461877870803,0.11516264735876154,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09369766030835883,0.24853964891516003,0.6577626907764811,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1329958583288804,0.33333333333333337,0.5336708083377864,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6776398562148526,0.2794665704471812,0.02141943450027553,0.014297857779322054,0.007176281058368575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06819196057430808,0.2950602206137999,0.1455250256452413,0.4912227931666508,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.036662143392077684,0.9633378566079224,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othdiscr,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othdiscr,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othdiscr,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othdiscr,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othdiscr,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othdiscr,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othdiscr,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othdiscr,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,5,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.5805888317533816,0.41941116824661845,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.11686083545912945,0.8831391645408706,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.374750803175562,0.6252491968244381,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.4007801225899678,0.5992198774100322,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18588146353784887,0.8141185364621512,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018548453240809695,0.4770539828602621,0.5043975638989283,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5423549462294387,0.4576450537705613,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25511328085958734,0.7448867191404127,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3204973772266421,0.6795026227733579,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03343377059750126,0.3333333333333333,0.6332328960691654,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04628747462797644,0.45365465735178584,0.5000578680202378,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2407646871205241,0.049876153044243955,0.2875296116575831,0.4218295481776489,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29191969215699864,0.7080803078430014,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05132573101998568,0.23807000156218705,0.7016027129850405,0.009001554432786768,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10444618053060854,0.19637263943718106,0.6991811800322104,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2113413722407145,0.7153057823710959,0.07335284538818965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45015664170429553,0.3333333333333333,0.21651002496237115,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04933257625151507,0.39684494751417043,0.5538224762343145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3629157561273652,0.4618788518476868,0.17520539202494806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01404511957602407,0.2999573634601175,0.6859975169638586,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02446799278657296,0.031444700951367005,0.4286530973355761,0.36558992446705246,0.14984428445943151,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008964041978381965,0.209731439382141,0.7099249644611093,0.07137955417836786,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0243027805770224,0.0783631545262131,0.3252324064743259,0.5721016584224387,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03920467869317674,0.2919880332959463,0.668807288010877,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012007034091392154,0.023224097069999738,0.2533031513210124,0.6575039098638172,0.053961807653778414,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029109998100944126,0.006548014897240828,0.43143543613263785,0.39887911381131186,0.10324431349542719,0.030783123562438158,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06860553985614394,0.0835529954872494,0.8478414646566067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05968509573626281,0.4432939466474434,0.4970209576162937,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027789091317282074,0.3884411444542022,0.48780778147041465,0.09596198275810111,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29128488815222425,0.25494015619847005,0.1930255949294776,0.26074936071982807,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.036869173603913695,0.04543839252805639,0.14411527425579182,0.24279215598352727,0.12704038007106666,0.08932855498310124,0.3144160685745429,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0060268869755515635,0.01110779031545647,0.3232074397014558,0.6596578830075362,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06746460850712678,0.1278655139049779,0.21070952529721154,0.5939603522906838,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.038072976075810346,0.34944529735956814,0.4836843303005924,0.12879739626402914,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.035676627325399723,0.2933367815746219,0.550996935823844,0.11071533830820321,0.009274316967931129,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021315458149627674,0.03053343152336719,0.379299158387943,0.5688519519390622,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0666180043063743,0.22325849568345876,0.2791715359667584,0.40269638699436805,0.028255577049040543,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10502628553579146,0.2339835800649939,0.20571487283252474,0.4024016471086628,0.05287361445802711,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.333716104615579,0.21423804512602077,0.07319520253219684,0.10140171920592658,0.2774489285202769,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00594896947392767,0.40754527684906916,0.5865057536770032,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07269570926787741,0.003477561206001002,0.03925755047746882,0.017472685965968782,0.13254146335596917,0.155957920270063,0.5151623000543101,0.06343480940234175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0061845432629545555,0.02568463390424859,0.04518472454554263,0.06468481518683666,0.07464110012032964,0.5131631699613127,0.08025737839038337,0.16405666758020324,0.026142967048188498,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011141007591544214,0.016759779193815855,0.036659021562292296,0.1054799883680004,0.20633608983581259,0.30719219130362474,0.2078747044828449,0.10855721766206504,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007330708489134929,0.010980666082262633,0.004846848979659088,0.013543020769775599,0.3017798577814108,0.6615188978977571,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003811660777328472,0.036568109923071974,0.21820564856941724,0.22292741664050764,0.1316930520081136,0.2745039496530302,0.11229016242853089,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.048736838401084705,0.42836962455739186,0.15309962358044552,0.27174267317885137,0.0493238053856968,0.04872743489652981,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.046473367077407554,0.5059817470268516,0.2746826694607823,0.04338359189471297,0.12947862454024556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0044176078298516375,0.02341621074530401,0.04241481366075638,0.0314226563536048,0.45267815455781435,0.4456505568526689,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11778662298780504,0.17209474416980727,0.2454220318946448,0.42831734163619745,0.036379259311545474,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06574731762928078,0.08128608301737497,0.09690362319482106,0.36893907288674904,0.38712390327177426,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014895474965928406,0.019094777723374076,0.023294080480819747,0.027493383238265418,0.6693312059022541,0.130055074086831,0.08196369256311943,0.033872311039407826,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0062596655742793855,0.01221984944588324,0.12229639922783808,0.3337762378137104,0.5254478479382889,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013615539400326209,0.035098465709868874,0.05658139201941153,0.07806431832895419,0.04537474498982929,0.09561697193013839,0.3752625527540384,0.2972847433773065,0.0031012714901268077,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010167986333895762,0.2253000009590618,0.02296490030207238,0.040918285404879934,0.5849037096204956,0.07836194905823017,0.03738316832136434,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4107713764360359,0.28099319133502965,0.15121500623402342,0.022856024171339015,0.0412941578769479,0.09287024394662406,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0031457025275773882,0.010709972220955587,0.6634233253609161,0.322720999890551,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00939701956308528,0.009568022453412399,0.009739025343739516,0.009910028234066635,0.021910907661023406,0.033911787087980184,0.007250195168579428,0.13144707482622575,0.13992066485355514,0.48884734187730355,0.1380979329310286,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028471564044058647,0.03944131988107152,0.05041107571808439,0.06138083155509726,0.016285604028293973,0.07371084594255042,0.05158698653164972,0.07654682377874124,0.3898827837437879,0.21228216477666498,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13140195674530222,0.0845306942581922,0.03765943177108216,0.12879847034761918,0.2199375089241562,0.3110765475006932,0.010950882243258854,0.07564450820969605,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0071867184134385585,0.0028146631525731375,0.04711111666061931,0.4104982844377878,0.5323892173355813,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09565851377131193,0.014000113148370297,0.04031549393739942,0.02121430387535013,0.0021131138133008397,0.09806775568251881,0.47755778749959404,0.1548410491125112,0.09623186915964328,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.037288363210692524,0.02499952640240259,0.01267609976850497,0.053202575922985954,0.035025027104120476,0.016847478285254996,0.016971807827925244,0.12831320992001266,0.35881042147688474,0.09089378526004378,0.14041407673802014,0.084557628083152,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02589416983444794,0.017450389138517458,0.04837245714077001,0.07929452514302256,0.11021659314527513,0.14113866114752766,0.03168131397824393,0.2597032373708797,0.10324879292944229,0.09541621770043852,0.08758364247143477,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008906698966226671,0.04522660408755485,0.38936148162690143,0.5565052153193171,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04236400291795859,0.045340081054226954,0.04831615919049531,0.04398172284783949,0.12467218419964197,0.21482277689580095,0.11942933348817947,0.34649401746038616,0.014579721945471132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10269078657038253,0.0666843352756878,0.030677883980993092,0.1580914658896139,0.11922469104343697,0.03823418792588538,0.13559329180188875,0.13631001422109412,0.1475941581802557,0.06489918511076188,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04250761494632962,0.09761795560513283,0.15272829626393603,0.23152403432736202,0.12480365078762413,0.018083267247886267,0.0803115161278735,0.14253976500786075,0.10988389968599488,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00847758422153214,0.1904466004100733,0.22449636328328937,0.5765794520851051,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007019449388889539,0.010864160179802934,0.009420047630164203,0.12382415181464518,0.08790036732372114,0.17775389780853165,0.10480104422425293,0.2205399588037483,0.23060651080891267,0.02727041201733151,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009593327686581516,0.014847809688510032,0.09138026810397967,0.15711526472262013,0.22285026134126057,0.08461795145503061,0.04172352108667557,0.3410836910158028,0.01586889134534233,0.020919013554196838,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012907339898380181,0.17267354770392057,0.08175077603017371,0.3569417739533329,0.37572656241419267,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007715244700292374,0.0036161835339106395,0.04596204500092472,0.25885360552247066,0.6838529212424016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03348195232150445,0.028224293694076457,0.022966635066648467,0.06481611074333732,0.10666558642002616,0.20905904237532394,0.21932099722928636,0.29610203018172465,0.019363351968072175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13223451228051133,0.11659582328406895,0.029489438645469476,0.03210802412879456,0.03472660961211965,0.03734519509544473,0.13217910253850776,0.19592920984646742,0.06078229906488811,0.15462019905108176,0.018525456804461833,0.05546412964818441,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19643831604386125,0.049683217678229606,0.00786177761560093,0.05505666174397591,0.16732307589468556,0.27958949004539524,0.06888784081141143,0.043306680669859904,0.017725520528308385,0.11412741896867183,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0026784533007925527,0.123512113263414,0.2520287518683408,0.6217806815674527,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0035523750071241008,0.01522133566346104,0.050833521599992694,0.014966437954730726,0.013900644957288464,0.06411415867783048,0.5424890771858903,0.28678832989567193,0.008134119058010269,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06327483231303402,0.04226289093753764,0.15056019837761803,0.07649556825020622,0.07296078105630402,0.21704856991877347,0.1796835343643162,0.19771362478221052,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0659997348957997,0.19752684075138863,0.40983596947005846,0.2454911414509372,0.08114631343181598,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004186297702932489,0.0037940290923112368,0.0034017604816899845,0.0030094918710687328,0.0026172232604474805,0.027416241626646982,0.3005164765997446,0.6550584793651586,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009645481390666307,0.011378959938781396,0.01311243848689648,0.014845917035011568,0.03065463648315959,0.06378370192939779,0.41490798298588283,0.23175279500624762,0.20991808674395657,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019042809821561577,0.026382960571921153,0.03372311132228072,0.04106326207264029,0.048403412822999876,0.05574356357335945,0.012182270213977275,0.0137799072253495,0.015377544236721727,0.12086394972277645,0.525431763526293,0.08800544489011898,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009429182773330026,0.005209149726180135,0.000989116679030244,0.0027222286626891793,0.004455340646348115,0.00618845263000705,0.007921564613665987,0.017489513535895916,0.027057462458125844,0.09215887591576302,0.15726028937340022,0.22236170283103737,0.2874631162886746,0.148919040051509,0.010374963814343403,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0010437231962486262,0.0009744079347673794,0.0009050926732861329,0.0008357774118048863,0.0007664621503236396,0.000697146888842393,0.0012637233399819215,0.00183029979112145,0.0023968762422609787,0.034224034363909465,0.41598694432548616,0.539075511681967,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0030126627174819356,0.005118485828867565,0.007224308940253195,0.009330132051638825,0.007990844489337484,0.04667753953985927,0.030054026737837688,0.12240223951847472,0.13889199354642776,0.5055962442526803,0.12370152237714123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.034839515186310024,0.04617264341869078,0.05750577165107154,0.11819251023920743,0.09091949613737385,0.24776318650157336,0.4046068768657729,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20932212279488563,0.184769369873942,0.16021661695299835,0.13566386403205474,0.1111111111111111,0.0865583581901675,0.06200560526922384,0.03745285234828022,0.012900099427336597,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028480297441743983,0.3356935606669345,0.6358261418913215,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010755586264193859,0.013423347793570774,0.016091109322947692,0.036935589459032137,0.05778006959511659,0.07862454973120103,0.044707098895196064,0.010789648059191092,0.017712896322269456,0.132553315092536,0.039646015938495684,0.47208078434885237,0.0688999891773971,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.039715912607231764,0.11015977705864095,0.18060364151005012,0.015465744014545505,0.02841189989665076,0.04135805577875602,0.05430421166086128,0.0718951091737233,0.014610256802862643,0.04087404298266483,0.08022940601328772,0.32237194250072515,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029285177055254297,0.07520411119697228,0.07107458771929409,0.0669450642416159,0.06281554076393772,0.058686017286259544,0.054556493808581366,0.05042697033090318,0.05141390067747938,0.05240083102405557,0.040033049651457514,0.02766526827885945,0.19956976819485894,0.1599232197704707,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0017159929386448734,0.0015420562824979992,0.001368119626351125,0.011437135463128434,0.26204444842082386,0.7218922472685536,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0016487132653377292,0.0032800917000045176,0.004911470134671306,0.006542848569338094,0.008174227004004882,0.00980560543867167,0.01143698387333846,0.013068362308005246,0.014699740742672034,0.003986780137030169,0.15910735540625895,0.051181564027523635,0.09556617068212646,0.5609810074741679,0.055609079236848866,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00206065475456893,0.006622656495835477,0.011184658237102022,0.01574665997836857,0.020308661719635114,0.02487066346090166,0.029432665202168206,0.033994666943434754,0.0385566686847013,0.04311867042596785,0.03224035223345396,0.021362034040940066,0.22809401535943083,0.05537165315910286,0.3669993887894881,0.07003593051490024,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018479451888379125,0.08966910815034516,0.21419279512920367,0.3387164821080622,0.2196267376918756,0.10053699327568905,0.01877843175644519,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0033693405449743683,0.000848526677620125,0.00037721898889161136,0.0006890814916749876,0.018750519359070163,0.4794920713845853,0.4964732415531834,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009931076189177445,0.02248456511632435,0.03503805404347125,0.04759154297061816,0.09269881630206674,0.053385061985470376,0.11980596165506167,0.2627455035344336,0.263472166489412,0.09284725171396448,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.089406324830506,0.035723635616121685,0.03076300046297027,0.02580236530981886,0.020841730156667446,0.01588109500351603,0.029981557983823657,0.04408202096413129,0.11249766451739235,0.11949313246300801,0.12648860040862367,0.09621498454590163,0.11442540536882814,0.13263582619175468,0.00576265617693625,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19513800853932012,0.1555801726998175,0.11602233686031489,0.07646450102081224,0.06762837324104268,0.05879224546127314,0.04995611768150358,0.04111998990173402,0.03228386212196447,0.03140531091211411,0.060655092371470744,0.058536360520034456,0.05641762866859818,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004073506418036051,0.017416324463056604,0.030759142508077153,0.3570740019963604,0.5906770246144698,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0017467713252660095,0.016672874733810482,0.03159897814235496,0.00971858765511025,0.021885230477259092,0.1410952510467139,0.06554591815426931,0.2027797284094501,0.3767992256990347,0.13215743435673122,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019297959422852357,0.07710029829054559,0.03196862420076233,0.02501366290920559,0.1698311481907033,0.08683394064284213,0.44380169360461136,0.1461526727384774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017057427585193935,0.013933195578029264,0.010808963570864595,0.010248581713628812,0.009688199856393027,0.009127817999157245,0.00856743614192146,0.008007054284685676,0.040579258383949206,0.07315146248321273,0.25905362357599904,0.4449557846687853,0.09482119415817979,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001838836331307578,0.18523346650461736,0.47837118003589263,0.3345565171281824,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004821261194004284,0.008134417082026833,0.04052449913542427,0.0729145811888217,0.10530466324221914,0.008228084448046,0.06460214001058497,0.19601108322436445,0.2333799220797876,0.23194773378398204,0.03413161461073869,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18772359738592195,0.17100964241423805,0.1542956874425541,0.1375817324708702,0.12086777749918627,0.0330140270008173,0.10064285933602411,0.05722119334317569,0.013799527350327266,0.023843955756885072,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20346604129859835,0.18029370104497625,0.15712136079135416,0.13394902053773208,0.11077668028410997,0.08760434003048788,0.06443199977686578,0.03650888176768665,0.008585763758507513,0.017262210709681283,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009917695284948654,0.0008546391708142194,0.06641314516949948,0.5488662563111678,0.3739482640635698,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13192622279014263,0.024507245636991103,0.07807689458633019,0.011686541703738399,0.18207573537836708,0.18211273382017454,0.3672161529333551,0.02239847315090095,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.46378599452163516,0.02807699391031822,0.11945268991626919,0.11159036760772674,0.10372804529918432,0.06754952948530522,0.10581637925956125,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.050209837264264194,0.050838745298533765,0.051467653332803336,0.05209656136707291,0.052725469401342484,0.053354377435612055,0.053983285469881626,0.0546121935041512,0.055241101538420774,0.055870009572690345,0.05649891760695992,0.057127825641229486,0.057756733675499064,0.05838564170976864,0.059014549744038206,0.05964345777830778,0.06027236581257735,0.060901273846846925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0770185605077576,0.08056915281770284,0.5409417066810188,0.30147057999352067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03512946505646985,0.03724563203485041,0.039361799013230975,0.041477965991611535,0.0435941329699921,0.09037106089566477,0.13714798882133744,0.18392491674701014,0.13257360013545955,0.1440648081350659,0.05755352503963949,0.0575551051596679,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12763439684746256,0.12536794852296568,0.13337847599061525,0.1413890034582648,0.14939953092591438,0.15741005839356392,0.1654205858612135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0031460437076410467,0.10863144836354235,0.36859364744875905,0.5196288604800575,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005139987655087162,0.01762602963055489,0.03011207160602262,0.03888125267277531,0.04765043373952801,0.056419614806280695,0.06518879587303339,0.07395797693978608,0.08272715800653876,0.09149633907329145,0.21703988996542958,0.16724200629581923,0.08908016966882328,0.01743827406702968,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06961834814568729,0.05847445226991086,0.04733055639413443,0.036186660518358005,0.025042764642581573,0.013898868766805145,0.02390360051816699,0.03390833226952883,0.04391306402089068,0.11539956571756796,0.18688606741424524,0.14429651214372907,0.10170695687321292,0.05911740160269677,0.04031684870248414,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08621041839970126,0.08166304719962529,0.07711567599954935,0.0725683047994734,0.06802093359939745,0.0634735623993215,0.05892619119924556,0.05437881999916961,0.05908581298065636,0.06379280596214311,0.06849979894362987,0.07320679192511662,0.06544636872805337,0.05768594553099015,0.04992552233392691,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026220941453443027,0.03352687977186564,0.040832818090288256,0.04813875640871087,0.05544469472713348,0.0627506330455561,0.3254597826354059,0.40762549386759667,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05961824673750634,0.06377893619860193,0.06793962565969754,0.07210031512079312,0.07626100458188871,0.0804216940429843,0.0845823835040799,0.06746153999494081,0.050340696485801716,0.05067027921933541,0.05099986195286911,0.051329444686402804,0.11310083119137597,0.11139514062372237,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14895171743774024,0.11627774981531612,0.08360378219289201,0.050929814570467885,0.06147702992545575,0.14690808503465808,0.3918518210234698,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014827688056704874,0.02354609171595719,0.032264495375209507,0.040982899034461825,0.049701302693714144,0.05841970635296647,0.06713811001221878,0.0758565136714711,0.08457491733072342,0.09329332098997574,0.10201172464922806,0.0840221976827087,0.06603267071618933,0.048043143749669975,0.030053616783150612,0.012064089816631263,0.08496894322026594,0.03219856814875324,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06734556559016248,0.0710932917465877,0.0748410179030129,0.16854052974487926,0.26224004158674563,0.35593955342861194,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.051182890482244905,0.13727079514110355,0.2233586997999622,0.18811830750508743,0.15287791521021266,0.11763752291533787,0.0823971306204631,0.04715673832558832,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018952690936226802,0.08393705886630569,0.14892142679638457,0.748188823401083,0.0,0.0,0.0,0.0 +othdiscr,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022351584580006998,0.09745432339887346,0.7887525571290027,0.09144153489211666,0.0,0.0,0.0,0.0 +othdiscr,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5261394716152998,0.10388792167662336,0.3699726067080769,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3790863880465742,0.6209136119534258,0.0,0.0,0.0 +othdiscr,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02142524565530195,0.024016173210515045,0.026607100765728142,0.029198028320941233,0.03178895587615433,0.03437988343136743,0.036970810986580525,0.03956173854179362,0.042152666097006714,0.042622685099242996,0.04309270410147928,0.04356272310371556,0.044032742105951844,0.04450276110818813,0.04497278011042441,0.04544279911266069,0.045912818114896975,0.04638283711713326,0.04685285611936954,0.04732287512160582,0.0477928941238421,0.04826291312607839,0.04873293212831467,0.07441007652170724,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othdiscr,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othdiscr,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26002844154568655,0.25334281384856217,0.24665718615143783,0.23997155845431348,0.0,0.0 +othdiscr,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8037124673603522,0.19628753263964788,0.0 +othdiscr,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othdiscr,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06601489612851157,0.12862625149940227,0.8053588523720863 +othdiscr,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020062497231694107,0.022643436228195472,0.02522437522469684,0.02780531422119821,0.030386253217699576,0.03296719221420095,0.03554813121070231,0.07738960750390905,0.11923108379711578,0.1610725600903225,0.20291403638352926,0.24475551267673598,0.0 +othdiscr,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.042273360795097144,0.09203068314372496,0.1417880054923528,0.19154532784098058,0.2413026501896084,0.2910599725382362,0.0,0.0 +othdiscr,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05072803295411658,0.12536401647705828,0.2,0.2746359835229417,0.3492719670458834,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.2391074819346591,0.7608925180653409,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022696037085701275,0.03987469551110099,0.057053353936500704,0.07423201236190043,0.09141067078730014,0.10858932921269986,0.12576798763809957,0.1429466460634993,0.160125304488899,0.17730396291429873,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40573490040182114,0.06367912175800636,0.04681615280055952,0.029953183843112685,0.01309021488566585,0.040728829493016934,0.04000126089293558,0.03927369229285425,0.038546123692772896,0.03781855509269156,0.03709098649261021,0.03636341789252887,0.03563584929244752,0.03490828069236618,0.034180712092284835,0.033453143492203484,0.03272557489212214,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37121001770095396,0.06798297427766632,0.09164370178987213,0.11530442930207795,0.13896515681428376,0.16262588432648958,0.0522678357886562,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19959617197993199,0.18642436985462588,0.17325256772931974,0.1600807656040136,0.1469089634787075,0.13373716135340136,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.47819956748842973,0.4095801147616705,0.024763927696504564,0.03740677258329997,0.05004961747009537,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04098152986877689,0.07494006753156555,0.1088986051943542,0.14285714285714285,0.1768156805199315,0.21077421818272016,0.2447327558455088,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.727030364510662,0.24616329927006456,0.026806336219273346,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.748713988740167,0.22450830866681512,0.026777702593017892,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5017917620722333,0.49093641101635993,0.007271826911406825,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2581835515547519,0.6294495852544237,0.055981358787002104,0.037455621063608106,0.018929883340214105,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0537867739804686,0.07415854621530851,0.09453031845014842,0.11490209068498831,0.13527386291982824,0.15564563515466814,0.12854394160941807,0.10144224806416803,0.07434055451891795,0.04723886097366789,0.02013716742841783,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18760094669476285,0.145095133193891,0.13265363275653777,0.12021213231918451,0.10777063188183127,0.09532913144447802,0.08288763100712478,0.07044613056977152,0.05800463013241827,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11282643708475494,0.1392097235973147,0.12715307106265938,0.10962721079225404,0.09210135052184872,0.0745754902514434,0.05704962998103807,0.039523769710632733,0.021997909440227413,0.0226191143868003,0.023240319333373182,0.02386152427994607,0.024482729226518958,0.02510393417309184,0.025725139119664727,0.02634634406623761,0.026967549012810496,0.027588753959383386,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.033289710995513457,0.07650553695258067,0.08098675738544021,0.08546797781829978,0.08994919825115932,0.09443041868401889,0.09891163911687845,0.103392859549738,0.10787407998259756,0.11235530041545712,0.11683652084831667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07646590395562888,0.16036128121344093,0.14592468580020213,0.1314880903869633,0.11705149497372451,0.10261489956048568,0.08817830414724688,0.07374170873400808,0.05930511332076926,0.04486851790753046,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3228763788288926,0.6771236211711074,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02123903643701842,0.12415609656113177,0.22881617038702542,0.19426336003233857,0.15971054967765175,0.1251577393229649,0.09060492896827807,0.05605211861359123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.147682157166426,0.11420006537660514,0.14925950525205275,0.10710036728921152,0.19301028106703602,0.2887476238486687,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23028053482060978,0.2151402674103049,0.19999999999999998,0.18485973258969507,0.16971946517939016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20997787779634955,0.11137158471601832,0.6786505374876322,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36301576134782004,0.6369842386521799,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24201050756521336,0.3333333333333333,0.42465615910145327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18154023775541336,0.690278378295781,0.12170737211093945,0.006474011837866245,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28870746822808246,0.29914628368235774,0.30958509913663307,0.05524605568140827,0.03418704965097558,0.013128043620542899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08384128522626726,0.03380473162769757,0.1281381182926675,0.22247150495763743,0.3168048916226074,0.17724811996524342,0.037691348307879506,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.030519865353159144,0.04883390618458373,0.09455451887077178,0.40629186795479594,0.27311257425017954,0.13993328054556317,0.006753986840946776,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06233811124076329,0.04796457989032244,0.0335910485398816,0.5393298865396629,0.2853687534430109,0.03140762034635889,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.470684394230403,0.3235614647434677,0.17643853525653236,0.029315605769596995,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6670032640253715,0.28683030929669123,0.046166426677937335,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2093924219194103,0.18721399556532115,0.165035569211232,0.14285714285714285,0.12067871650305372,0.09850029014896457,0.07632186379487542,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4168505683421995,0.06382943457692267,0.11846805013527428,0.1731066656936259,0.22774528125197752,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.502447386195227,0.2875787837087834,0.16585087126825768,0.04412295882773192,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0630023942882305,0.3397940588767672,0.25870023779066315,0.17760641670455904,0.11283443634811303,0.04806245599166703,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12560993068803886,0.14275476926063188,0.15989960783322488,0.16388569048794663,0.14991784553233295,0.13595000057671927,0.12198215562110559,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25003132023583635,0.5362903946357147,0.1172175969489665,0.07122609504281636,0.02523459313666624,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02446208671855894,0.3333333333333333,0.6422045799481078,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21438391240532625,0.7549633831268727,0.01946892967386199,0.011183774793939042,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34537929121534533,0.6306705203403534,0.02395018844430129,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9275756687493233,0.07242433125067678,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24626498820715811,0.5875075907073781,0.07796380190012697,0.055409140361821284,0.03285447882351561,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49488868532476943,0.17458362683218098,0.12744343270080508,0.0803032385694292,0.03316304443805331,0.08961797213476193,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36496155111662887,0.2824807755583144,0.19999999999999996,0.1175192244416855,0.03503844888337105,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7566234191098833,0.21291012065547055,0.03046646023464622,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08738614969569475,0.08892377706296906,0.11591179132204966,0.0881452695756699,0.06037874782929012,0.03261222608291035,0.0048457043365305735,0.009887486509277696,0.014929268682024821,0.019971050854771945,0.025012833027519065,0.03005461520026619,0.03509639737301331,0.04013817954576043,0.04517996171850756,0.05022174389125469,0.05526352606400181,0.06030530823674893,0.06534709040949604,0.07038887258224318,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9404273924038685,0.05957260759613155,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1831099788864871,0.6474888950395127,0.1694011260740003,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1078813556421454,0.7350209243987343,0.1570977199591203,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18673324352106085,0.707408175496916,0.037893909927191424,0.06796467105483166,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.078615484866157,0.12998792130249248,0.060637533353902144,0.7307590604774484,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13023089022400866,0.8053988566875924,0.016127893204456404,0.016083707754592842,0.013401629232188027,0.010719550709783211,0.008037472187378398,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004256896296630929,0.009246887493529287,0.21591695644910233,0.18934039000932226,0.16276382356954225,0.13618725712976223,0.1096106906899822,0.08303412425020218,0.05645755781042213,0.029880991370642086,0.003304424930862062,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016228927127358597,0.3333333333333333,0.6504377395393081,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.533792440291268,0.46620755970873196,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07397406559413638,0.7370597675968947,0.1889661668089689,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.472492983314563,0.3333333333333333,0.19417368335210364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48969361016894036,0.5047835007226725,0.00552288910838719,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02996762765509789,0.8643501983316954,0.10568217401320677,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0736396890781448,0.11085048011355354,0.14806127114896228,0.18527206218437106,0.22248285321977979,0.25969364425518854,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34034639266622857,0.5076849639231412,0.14544698296631678,0.006521660444313618,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08204004332566066,0.13393813841044885,0.1077569558080398,0.09979458698332919,0.09183221815861856,0.08386984933390794,0.07590748050919731,0.06794511168448669,0.05998274285977606,0.05202037403506544,0.04405800521035481,0.036095636385644184,0.02813326756093356,0.020170898736222933,0.012208529911512316,0.0042461610868016865,0.0,0.0 +escort,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8554336219416518,0.09936064473481036,0.045205733323537806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41341231380068333,0.3333333333333333,0.25325435286598336,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6778293554590633,0.07184337821668807,0.23798913284659004,0.012338133477658615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9347912310139336,0.06520876898606645,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09986570485572936,0.4954036482009389,0.25660684396522115,0.017810039729503405,0.030623980406186246,0.043437921082869084,0.05625186175955192,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6949781808030299,0.3050218191969701,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6942022520613688,0.3057977479386312,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,5,1,0.0,0.0,0.0,0.7202734127850233,0.2797265872149767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,6,1,0.0,0.0,0.0,0.11720596426491708,0.22594877840262578,0.6568452573324572,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,6,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,6,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.4597729040519531,0.540227095948047,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,8,1,0.0,0.0,0.0,0.0,0.07698221972273332,0.10671068387556693,0.13643914802840051,0.6798679483732993,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21069806692065493,0.789301933079345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19532992173157346,0.8046700782684265,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0603929881693256,0.23963929913724732,0.6999677126934272,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.011482536826045175,0.025783582335348734,0.5318419260469462,0.43089195479165987,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,10,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0025659802366381837,0.024299247090485542,0.3985540820548799,0.5745806906179963,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17753047291543253,0.6595831506164725,0.16288637646809492,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009135151646590022,0.37997225889857883,0.610892589454831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2148367804338196,0.6948864449909051,0.09027677457527536,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2800981236317531,0.7199018763682469,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2469514702741616,0.7530485297258385,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007723173132487955,0.525017237200351,0.4672595896671611,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5238668904987093,0.45940455464480306,0.016728554856487735,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.753901185414581,0.11689111053521802,0.12920770405020116,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.039342079905802456,0.36447677792122724,0.5961811421729704,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1600281323720803,0.6201916621849723,0.21978020544294735,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03177264092190654,0.7156450199647894,0.2525823391133042,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07167573947934276,0.9283242605206572,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013341761486797804,0.13183392555016907,0.2503260896135403,0.3688182536769115,0.23567996967258134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11722678717176141,0.8611961717393355,0.02157704108890313,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.538963459162565,0.461036540837435,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16410915664183845,0.5315572968134733,0.30433354654468836,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.33528237843865516,0.2315974992007789,0.433120122360566,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22784704342463322,0.3333333333333333,0.43881962324203344,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056829536743127636,0.1977805382361904,0.7453899250206819,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09863564131614856,0.3972956752569944,0.5040686834268571,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11964355509141837,0.8803564449085817,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2956719155701106,0.7043280844298895,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020540562507318925,0.23824425570725935,0.4116975986183419,0.3295175831670799,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.049263670686641635,0.1406140021685031,0.23196433365036456,0.323314665132226,0.2548433283622647,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13215463083464837,0.10545258800944018,0.07875054518423202,0.052048502359023835,0.6315937336126555,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.409497469766302,0.5905025302336979,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7301518825957859,0.26984811740421405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2006195755967216,0.6316108363786744,0.16776958802460404,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1580956098015392,0.1790478049007696,0.2,0.22095219509923042,0.24190439019846083,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0054692005148296325,0.20980183185262702,0.7847289676325434,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0504574690806712,0.04266052783278314,0.5748659810925443,0.3320160219940014,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.044686628447490676,0.09293899235865334,0.14119135626981602,0.1894437201809787,0.23769608409214132,0.2940432186509199,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6020087041975352,0.3333333333333333,0.06465796246913147,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06390985138128186,0.45928505617791904,0.4768050924407991,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04741095665633501,0.1369914316987505,0.8155976116449145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.030384257458664892,0.17779607249093238,0.3252078875231998,0.2433291616767744,0.16145043583034904,0.061832185020079505,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07321966703056206,0.08269252805069932,0.09216538907083659,0.10163825009097385,0.1111111111111111,0.12058397213124837,0.13005683315138564,0.13952969417152292,0.14900255519166017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6132191826534077,0.3867808173465923,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5099816071013897,0.11472658975735059,0.3752918031412597,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4133657688308625,0.2824413297365854,0.15151689064230833,0.15267601079024365,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4151710298184652,0.27768703498491054,0.3071419351966242,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01867654359925524,0.3282278393963673,0.6530956170043775,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016572363889780593,0.4553920646715617,0.2568121952231425,0.2712233762155152,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031126654697046226,0.10262937249433571,0.14563931630254828,0.34614843286164537,0.3744562236444244,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024749402898839368,0.11580062657441054,0.2752292885655867,0.2864833235089167,0.29773735845224664,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31559094951599453,0.6844090504840055,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09985757593817254,0.8643782043004463,0.035764219761381146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6250504934321152,0.3333333333333333,0.041616173234551516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.46878787007408634,0.32292929002469545,0.17707070997530455,0.03121212992591364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05050987054925856,0.2903557297413408,0.6591343997094007,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02375773751333404,0.23206239845357007,0.3318248323642834,0.4123550316688125,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2496157993586948,0.45625019310322606,0.2941340075380792,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31519078428100855,0.6848092157189914,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012335154399620943,0.010392015485437042,0.008448876571253141,0.437753712335464,0.5310702412082248,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05026920442491774,0.04947974439328983,0.048690284361661916,0.4563217845732632,0.3952389822468673,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16814339486081173,0.05612054192406539,0.23614251743404155,0.5395935457810813,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07856260794066577,0.16256628643822763,0.24656996493578948,0.3305736434333513,0.18172749725196577,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0069274796046967626,0.5673404944614682,0.425732025933835,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07777249187492383,0.007849036052693588,0.03160677116989887,0.4011114882009527,0.4421345140046929,0.039525698696838224,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11834086314549239,0.09627554516318831,0.07421022718088424,0.05214490919858015,0.006370950444336205,0.055874272041324856,0.42402762972881286,0.14590565591148827,0.026849947185892734,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3245877282652352,0.24780938933880212,0.17103105041236905,0.09425271148593596,0.017474372559502897,0.01989641467100472,0.022318456782506546,0.02056764839168787,0.08206222809295563,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011555791744373194,0.01667239156063741,0.021788991376901625,0.002990191171326051,0.03074539557154089,0.33109353884738396,0.5851536997278368,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03671575026711164,0.044844133212493975,0.05297251615787631,0.061100899103258666,0.06922928204864101,0.05596997000927225,0.04271065796990349,0.3303705515173112,0.29888893606848316,0.0071973036456483355,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04345231372341514,0.053072082984216264,0.06269185224501737,0.07231162150581848,0.0819313907666196,0.0685826794481215,0.05523396812962341,0.04188525681112531,0.028536545492627217,0.29988233105905754,0.14657290891537203,0.04584704891898613,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10639986581865374,0.09043972257379436,0.074479579328935,0.05851943608407562,0.04255929283921626,0.026599149594356882,0.010639006349497509,0.003863103121665398,0.3764970182815967,0.2100038260082084,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00665866473115666,0.4307252041574262,0.5626161311114172,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027316969037278243,0.13302062183185467,0.8150418501006644,0.02462055903020271,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25209124261476995,0.30578152312791684,0.3594718036410638,0.08265543061624951,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.047984343672951894,0.08391763924008747,0.10127917169944155,0.11864070415879563,0.13600223661814972,0.1533637690775038,0.17072530153685792,0.18808683399621198,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02725425926659403,0.4307782874339921,0.5419674532994139,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013109078169808112,0.014069303089843804,0.015029528009879493,0.015989752929915186,0.01694997784995088,0.01791020276998657,0.01887042769002226,0.2051171110141984,0.39136379433837465,0.2430440957743764,0.04854672836364415,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02326753570040902,0.03829286204960663,0.05331818839880423,0.06834351474800184,0.08336884109719943,0.09839416744639705,0.11341949379559466,0.12844482014479225,0.14347014649398984,0.09577638348106672,0.15390404664413826,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11727924185782078,0.3333333333333333,0.549387424808846,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06429580694462056,0.003185209797846642,0.01898046858493552,0.3085335955470928,0.6050049191255044,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04123978914249194,0.06228798011074277,0.08333617107899359,0.7736062039872733,0.03952985568049844,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011848126365162796,0.03315133822866809,0.05445455009217338,0.07575776195567867,0.09706097381918395,0.11836418568268925,0.013669484300415126,0.5956935795560288,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11894725201410114,0.31872832429758563,0.5185093965810701,0.04381502710724297,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009444843901152812,0.048090132978762086,0.3560706607603375,0.5863943623597475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020198918627652863,0.021704996975484774,0.02321107532331668,0.024717153671148587,0.026223232018980493,0.0277293103668124,0.02923538871464431,0.030741467062476217,0.03224754541030812,0.03375362375814003,0.03525970210597194,0.036765780453803854,0.03827185880163576,0.03977793714946767,0.04128401549729957,0.04279009384513147,0.04429617219296338,0.08674144432089509,0.12214005499207618,0.17674912956887148,0.06616109914291918,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023622247652336913,0.02074657089257793,0.017870894132818952,0.014995217373059967,0.012119540613300986,0.009243863853542004,0.19986316494147036,0.2320532146424708,0.04482882536656076,0.2515284511993104,0.1731280093325509,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029106262963453425,0.031289892537114214,0.033473522110775,0.03565715168443578,0.03784078125809657,0.040024410831757354,0.04220804040541814,0.2859254541017511,0.1790264838387436,0.07212751357573606,0.08672775758766445,0.12659272910505437,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013981926822371366,0.011605248153004276,0.4186856901717198,0.5557271348529046,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016859751255704155,0.01330695442765569,0.009754157599607224,0.006201360771558763,0.08548386708407228,0.7855614747452672,0.07383217111558767,0.00900026300054693,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20893887183404997,0.223311281702043,0.23768369157003608,0.2520561014380291,0.07801005345584182,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36044268456668355,0.2868142281888945,0.21318577181110548,0.13955731543331645,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003887620023147789,0.18742416334949513,0.3709607066758424,0.4377275099515146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02991018631301363,0.030111549164637513,0.030312912016261396,0.03051427486788528,0.01150381432151612,0.041922529690626896,0.7019128040913144,0.12381192953474496,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.141929562856562,0.0921054515628458,0.10430660394617253,0.11650775632949925,0.06576935496897775,0.1562643383883616,0.32311693194758095,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1938646714733158,0.12580883607862775,0.14403563543729292,0.16226243479595814,0.07456266439772782,0.09241175393734347,0.207054003879734,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019538352851311547,0.45258531029758003,0.5278763368511085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03354576227551689,0.5592365654034882,0.09385919344135553,0.26368771483565817,0.04967076404398131,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04724808953545946,0.38550879933660265,0.25857273731855424,0.11886217662295874,0.09362869450224869,0.09617950268417626,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.363970814290635,0.2523778089901712,0.14078480368970747,0.02652735637192181,0.08095552434316211,0.13538369231440242,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6106896012241092,0.38931039877589085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019789118328348874,0.03758395984231799,0.05537880135628711,0.5018863356279085,0.3853617848451374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02024595016357244,0.025175347234632186,0.030104744305691936,0.43917959142520613,0.3081579860987011,0.17713638077219612,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4020987272763675,0.5979012727236326,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029531382915390196,0.3071244910406453,0.6633441260439645,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1234358669141733,0.09782277605159828,0.07220968518902324,0.01245523350520178,0.011693525776138736,0.5524845290864339,0.129898383477431,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09567742395973652,0.0902327398269909,0.08478805569424527,0.07934337156149965,0.07389868742875401,0.06845400329600838,0.06300931916326276,0.05756463503051713,0.009654281906759736,0.31638231888400276,0.06099516324822293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10031912043125438,0.013170332484585464,0.1483406552549295,0.2835109780252736,0.41868130079561766,0.03597761300833942,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21845681197979785,0.23921210064437717,0.542331087375825,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0024405205454408035,0.02729950031572979,0.05215848008601878,0.07701745985630777,0.10187643962659676,0.12673541939688576,0.15159439916717474,0.1764533789374637,0.20131235870775271,0.08311204336062929,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008625236082172192,0.03996883018912069,0.0713124242960692,0.35707941228851364,0.5230140971441244,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032831148619611325,0.11407906587261915,0.195326983125627,0.2765749003786348,0.16240960596547396,0.048244311552313096,0.09804609719070315,0.07248788729501753,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05134776481702259,0.2943663715365567,0.23014253153601807,0.16591869153547947,0.10169485153494087,0.03747101153440223,0.052176596346660734,0.06688218115891925,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14784669969588207,0.1361169967208732,0.12438729374586437,0.1126575907708555,0.10092788779584665,0.08919818482083779,0.0774684818458289,0.06573877887082004,0.054009075895811186,0.042279372920802326,0.030549669945793462,0.018819966970784585,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05590996182997409,0.7213885997851497,0.2227014383848762,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056582670680653896,0.9434173293193462,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01886089022688463,0.07798320080279744,0.13710551137871024,0.19622782195462307,0.2553501325305359,0.3144724431064487,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01886089022688463,0.07798320080279746,0.13710551137871027,0.1962278219546231,0.2553501325305359,0.31447244310644873,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11945389358484612,0.15364154440194436,0.18782919521904257,0.539075366794167,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21445313386371237,0.19533854698489408,0.1762239601060758,0.15710937322725751,0.1379947863484392,0.11888019946962092,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006088485244910598,0.4748835922301618,0.5190279225249276,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012829300625274105,0.011265594801833626,0.009701888978393145,0.008138183154952664,0.006574477331512184,0.005010771508071703,0.0034470656846312215,0.04736850967546666,0.09128995366630209,0.13521139765713752,0.17913284164797294,0.22305428563880839,0.26697572962964383,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5105056204521877,0.48949437954781233,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8801339605644641,0.11986603943553584,0.0,0.0,0.0,0.0 +escort,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3977518446228511,0.2644871031977252,0.1312223617725993,0.20653869040682432,0.0,0.0,0.0,0.0 +escort,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10803118355852408,0.891968816441476 +escort,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36933425542088005,0.20708519386913854,0.24664266332227985,0.17693788738770164,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5837165990782975,0.41628340092170246,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38158727332376935,0.6184127266762306,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14490308299613947,0.08921513391743634,0.08488639811699404,0.08055766231655177,0.07622892651610948,0.07190019071566718,0.06757145491522489,0.06324271911478262,0.05891398331434032,0.05458524751389804,0.05025651171345575,0.04592777591301346,0.04159904011257117,0.03727030431212889,0.0329415685116866,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7507908424706561,0.24920915752934397,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.486215512467996,0.13496814819387107,0.20275500101461852,0.1760613383235145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1683439243691213,0.16767302128813943,0.1670021182071576,0.16633121512617574,0.16566031204519385,0.16498940896421202,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.239503466106993,0.12048354455243869,0.008948492763579199,0.05282295598580827,0.039207004923959204,0.03933379122671558,0.03946057752947194,0.03958736383222831,0.03971415013498468,0.0465071859508853,0.05330022176678592,0.06009325758268654,0.06688629339858716,0.07367932921448779,0.0804723650303884,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6828966084883409,0.09190988168489461,0.10570113050388635,0.1194923793228781,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7302921605005464,0.09828876762997898,0.08990261316648454,0.0815164587029901,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28159651067677754,0.6552261313187637,0.06317735800445874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20356417760227466,0.28048110729291925,0.5159547151048061,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26343756729534806,0.3629777176312307,0.3735847150734212,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05364274506427843,0.1284070980078373,0.49331454956535453,0.32463560736252983,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0660088797757428,0.27633006271450533,0.5076135512571754,0.15004750625257643,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04434899579688712,0.1440001739074229,0.24365135201795865,0.5679994782777312,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5025180074198632,0.4974819925801369,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19324397442862065,0.06445845672769122,0.7422975688436881,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1925933922114275,0.8074066077885725,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4781848348726602,0.22894437372088516,0.18991347556351484,0.09762359713548481,0.0053337187074548,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4374122930572926,0.28579802397168913,0.2767896829710182,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7482724439661744,0.14778625642459883,0.035130445182156696,0.03464709986974225,0.034163754557327806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18485779014831172,0.5221964695794302,0.14142407158183384,0.15152166869042424,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30537599453718456,0.6946240054628154,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012605899951150069,0.07798162207313039,0.07581235663045341,0.07364309118777644,0.07147382574509949,0.06930456030242252,0.06713529485974554,0.06496602941706857,0.0627967639743916,0.06062749853171463,0.05845823308903767,0.0562889676463607,0.05411970220368373,0.05195043676100676,0.04978117131832979,0.047611905875652824,0.045442640432975856,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07863201855677415,0.3525646464069151,0.19036643247828275,0.02816821854965042,0.3502686840083776,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4630078972130973,0.3210026324043658,0.17899736759563423,0.03699210278690268,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30757156385524426,0.2512096049798132,0.1948476461043822,0.13848568722895116,0.08212372835352011,0.025761769478089044,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9448034456688379,0.055196554331162134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08863601140482968,0.1283919695598594,0.1289929315444382,0.12959389352901696,0.13019485551359578,0.13079581749817457,0.13139677948275333,0.13199774146733212,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4833560156695956,0.16379152263356667,0.09217408796228241,0.07553254704423444,0.05889100612618649,0.04224946520813853,0.025607924290090574,0.05839743106590535,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.052298480938573755,0.24586403403044463,0.2114080419445987,0.17695204985875282,0.16347648102879428,0.15000091219883577,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09125122765331217,0.1456256138266561,0.2,0.25437438617334396,0.30874877234668785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34174498795013974,0.3142874368916538,0.21447164763886128,0.11465585838606883,0.014840069133276373,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4356060266796111,0.46216592961035213,0.10222804371003684,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.376768966722188,0.3333333333333333,0.2898976999444786,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32660983964827733,0.6733901603517227,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18266165889551625,0.4983601194265326,0.03703136051470433,0.043484031087352666,0.049936701660001005,0.056389372232649344,0.06284204280529768,0.06929471337794602,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11013923938840275,0.26372098981628567,0.043099714676742285,0.5830400561185692,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29755725186828413,0.4153734726634413,0.10510899114288569,0.06927170572995192,0.033434420317018154,0.07925415827841875,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35954564905753444,0.10374241016991992,0.2134847836474885,0.32322715712505706,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13207549512954342,0.5043408941892334,0.28930816829015216,0.07427544239107094,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40041245909827383,0.3333333333333333,0.2662542075683928,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13975856883376786,0.8602414311662322,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.61671959560437,0.3067551662107007,0.0765252381849293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8524131008313693,0.045110102503264256,0.0633752116957841,0.039101584969582236,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13119071852553715,0.8325953527875343,0.03621392868692866,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7709277039705876,0.22907229602941231,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7709277039705876,0.22907229602941231,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26945856072822494,0.7305414392717751,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,7,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8451343444061352,0.15486565559386478,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2204813686896822,0.7795186313103178,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5651489516411612,0.43485104835883887,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15975763838588825,0.8402423616141118,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5955507845940085,0.4044492154059915,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.055308989887435905,0.9446910101125641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38190086706067117,0.6180991329393289,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18338303709350384,0.8166169629064962,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7335835089156488,0.26641649108435117,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017257737003501274,0.2812940284121713,0.7014482345843274,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24976946951944076,0.6034952289546248,0.14673530152593436,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01937573544720047,0.6092998702126877,0.3713243943401119,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.39531403458372544,0.6046859654162746,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008976514111140206,0.3177482113861761,0.6732752745026838,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10639857807532863,0.5770576399704849,0.3165437819541865,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12625652184410852,0.8737434781558915,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37302769578995615,0.09433810062725716,0.5326342035827867,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010331280135805927,0.17157210750129107,0.818096612362903,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16195136344030214,0.1031052702514416,0.044259177062581055,0.626612767353569,0.06407142189210623,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5770240273998104,0.3333333333333333,0.08964263926685628,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002190618465348545,0.2964680781189484,0.7013413034157031,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027708217346406876,0.3424301545883508,0.3883211293482352,0.2415404987170072,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06100969368168841,0.3333333333333333,0.6056569729849782,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009521611384274405,0.41996054253963,0.5705178460760957,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1020560723005813,0.5516621649104985,0.2832838358536783,0.06299792693524195,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056764227345601596,0.3333333333333333,0.609902439321065,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7868185697755185,0.2131814302244816,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0040809614949100645,0.41344172167823673,0.5824773168268532,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02200080178092519,0.02554258590778574,0.02908437003464629,0.21269430862478506,0.5590279584859745,0.1516499751658832,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06414704046769644,0.0635082283905171,0.8095033686646815,0.06284136247710505,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12967125045510883,0.17512150491495995,0.22057175937481105,0.18939179389659225,0.15821182841837345,0.12703186294015462,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003288837746456402,0.3692606554464534,0.6274505068070901,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1348595428202935,0.39333150426310837,0.47180895291659813,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.051693976023798736,0.12698817457628542,0.16327496834472646,0.6580428810551895,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07355123440573537,0.0998101810321585,0.12606912765858164,0.15232807428500475,0.1785870209114279,0.36965436170709187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05763844855395885,0.14124123464153027,0.5811479129294377,0.2199724038750732,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29145748992108717,0.3521142688055937,0.35642824127331924,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8200381287750123,0.1260623359240565,0.0538995353009313,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03911254958840966,0.22080745388493278,0.7400799965266576,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026903702044912894,0.027042947607643406,0.027182193170373913,0.027321438733104424,0.027460684295834936,0.02759992985856545,0.027739175421295958,0.027878420984026465,0.02801766654675698,0.028156912109487495,0.028296157672218002,0.13131401622836883,0.47877863982303054,0.08630811550438075,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014626909858569513,0.050190846651533,0.2652272817288694,0.4802637168062057,0.1896912449548225,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010044314284402904,0.5431788794857783,0.4467768062298189,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24643670112010754,0.061014573331505645,0.6143295873037493,0.07821913824463747,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026914847499929163,0.42969250021953137,0.3243617175000236,0.21903093478051588,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02787206452225076,0.0233166799672672,0.01876129541228364,0.44051905494513227,0.4895309051530661,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027340437842746097,0.20299367905449126,0.333438060478972,0.4362278226237907,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16763309651614935,0.04056189739043771,0.1553136945851917,0.12597995407807694,0.5105113574301443,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.39467199643277395,0.3027467979319037,0.30258120563532237,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014086818073840473,0.09863903167529418,0.1831912452767479,0.4102035370461381,0.2938793679279792,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027151139064690112,0.18090696954005356,0.334662800015417,0.0415885921937369,0.3556336212713544,0.03770621946223386,0.022350658452514275,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05048066511306656,0.04263582054153047,0.034790975969994385,0.0269461313984583,0.019101286826922217,0.2817154689923168,0.5443296511577114,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.033901735845828125,0.9660982641541719,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002083475508101615,0.006233564649283347,0.010383653790465077,0.014533742931646809,0.018683832072828543,0.02283392121401027,0.22846371183807299,0.6967840979955913,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002912232948967138,0.04578258936105457,0.08865294577314199,0.1315233021852294,0.17439365859731684,0.2172640150094043,0.18101259623271534,0.15845865989217037,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5488690590463668,0.3333333333333333,0.11779760762029985,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2744345295231834,0.23132738438057673,0.18822023923797004,0.14511309409536333,0.10200594895275662,0.05889880381014994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013940512893888597,0.08139270438420057,0.340850287973483,0.5638164947484278,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12568309719852,0.646101519384975,0.22821538341650513,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29872095622736716,0.7012790437726328,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0194422857787548,0.06855281793485837,0.04117726932542935,0.1582408774985641,0.27530448567169885,0.3923680938448337,0.04491416994586085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18450815972968757,0.22816938657656252,0.27183061342343745,0.3154918402703124,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02854965093444506,0.04786493473345219,0.30736828020387436,0.6162171341282284,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00390691243552422,0.010815052186518839,0.01772319193751346,0.024631331688508076,0.0315394714395027,0.15677296193779897,0.6289727657802934,0.12563831259434025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017386119262463563,0.022072634388036364,0.24935325149620968,0.7111879948532903,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08805393205424906,0.1393700453939633,0.19068615873367756,0.24200227207339178,0.293318385413106,0.046569206331612184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0018730402307228639,0.005334102386182594,0.008795164541642324,0.3543887053509309,0.6296089874905213,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07323671537966141,0.45345784194278677,0.20955328765244044,0.26375215502511146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0023398424464930495,0.43323992420789914,0.5644202333456078,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08526377425358611,0.3142704960128366,0.5355938063052798,0.06487192342829763,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2040304052061522,0.20261140508377182,0.535877768390036,0.057480421320039964,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0072203057567098924,0.011663641829295466,0.4086525518009412,0.5724635006130536,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.051761354792502295,0.04683165319754775,0.04190195160259321,0.036972250007638666,0.03204254841268412,0.08652497652412594,0.14100740463556777,0.11468497979995017,0.08836255496433255,0.2009534726065335,0.15895685345652405,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09382703369384776,0.0933470442549964,0.09286705481614503,0.09238706537729367,0.0919070759384423,0.09142708649959094,0.09094709706073957,0.09046710762188821,0.08998711818303685,0.08950712874418548,0.08332918780983371,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012113446199772086,0.015020400765623805,0.3841051614822529,0.5887609915523512,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01856749876631521,0.1582315765228388,0.29789565427936243,0.18931157810777438,0.1157562089791696,0.19293102458171493,0.027306458762824497,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3015508729666768,0.24759719044667275,0.1936435079266687,0.13968982540666464,0.08573614288666058,0.031782460366656516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00845923136319494,0.4665985045433616,0.5249422640934436,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05082906538340698,0.10664578584573703,0.16246250630806708,0.2902109152050563,0.3898517272577326,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36778628862536394,0.3333333333333333,0.29888037804130274,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5131033694658785,0.4868966305341215,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0828698325363758,0.0821485800308107,0.08142732752524562,0.08070607501968052,0.07998482251411544,0.07926357000855035,0.07854231750298525,0.07782106499742016,0.06777035621653828,0.05771964743565642,0.047668938654774555,0.1840774675578471,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08639017223433054,0.072298105650426,0.058206039066521456,0.04411397248261691,0.03002190589871237,0.015929839314807827,0.4360312911138857,0.2570086742386991,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06289061296891138,0.07494573750446132,0.08700086204001126,0.0990559865755612,0.1111111111111111,0.12316623564666103,0.13522136018221098,0.14727648471776092,0.15933160925331086,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.42769406985240016,0.5723059301475999,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01944457376594385,0.17314819125531464,0.3268518087446854,0.48055542623405617,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04416181104217369,0.9462131696709889,0.00962501928683751,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15841459772223296,0.841585402277767,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05551273527491175,0.06172724217357046,0.06794174907222916,0.07415625597088787,0.1185599553333728,0.16296365469585772,0.2073673540583426,0.25177105342082756,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09620006551675182,0.08899749126414866,0.08179491701154551,0.07459234275894235,0.0673897685063392,0.06018719425373604,0.052984620001132875,0.045782045748529725,0.03857947149592656,0.031376897243323404,0.024174322990720247,0.03335979562236702,0.042545268254013786,0.05173074088566055,0.06091621351730732,0.07010168614895408,0.07928715878060086,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.360876439497179,0.639123560502821,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6563319176641682,0.34366808233583185,0.0,0.0 +eatout,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 diff --git a/activitysim/examples/example_semcog/configs/work_from_home.csv b/activitysim/examples/prototype_semcog/configs/work_from_home.csv similarity index 98% rename from activitysim/examples/example_semcog/configs/work_from_home.csv rename to activitysim/examples/prototype_semcog/configs/work_from_home.csv index 6ee474f292..11cfe76b4c 100755 --- a/activitysim/examples/example_semcog/configs/work_from_home.csv +++ b/activitysim/examples/prototype_semcog/configs/work_from_home.csv @@ -1,15 +1,15 @@ -Label,Description,Expression,work_at_home,work_away_from_home -util_work_from_home_constant,Constant for Working from home,1,coef_work_from_home_constant,0 -util_full_time_worker,Full time worker (1 if true),@df.pemploy==PEMPLOY_FULL,coef_full_time_worker,0 -util_female_worker,Female Worker,@df.sex==2,coef_female_worker,0 -util_female_worker_preschool_child,Female worker with a Preschool Child in Household,"@df.sex==2 & other_than(df.household_id, df.ptype == PTYPE_SCHOOL)",coef_female_worker_preschool_child,0 -util_access_to_workplaces,Accessibility to workplaces of the home mgra,@df.auPkTotal,coef_access_to_workplaces,0 -util_non_working_adult_in_hh,Presence of Non Working Adult in the Household,"@other_than(df.household_id, df.ptype == PTYPE_NONWORK)",coef_non_working_adult_in_hh,0 -util_education_ba_plus,Education Level Bachelors or higher degree,0,coef_education_ba_plus,0 -util_low_income,Household income Less than 30K,@df.income < 30000,coef_low_income,0 -util_age_lt_35,Age Group - Less than 35 years,@df.age < 35,coef_age_lt_35,0 -util_age_35_to_45,Age Group - 35 yrs to 45 yrs,"@df.age.between(35, 45)",coef_age_35_to_45,0 -util_age_45_to_55,Age Group - 45 yrs to 55 yrs,"@df.age.between(45, 55)",coef_age_45_to_55,0 -util_age_55_to_65,Age Group - 55 yrs to 65 yrs,"@df.age.between(55, 65)",coef_age_55_to_65,0 -util_age_65_plus,Age Group - Older than 65yrs,@df.age > 65,coef_age_65_plus,0 -util_calibration,ABM2 calibration - work from home,1,coef_calibration,0 +Label,Description,Expression,work_at_home,work_away_from_home +util_work_from_home_constant,Constant for Working from home,1,coef_work_from_home_constant,0 +util_full_time_worker,Full time worker (1 if true),@df.pemploy==PEMPLOY_FULL,coef_full_time_worker,0 +util_female_worker,Female Worker,@df.sex==2,coef_female_worker,0 +util_female_worker_preschool_child,Female worker with a Preschool Child in Household,"@df.sex==2 & other_than(df.household_id, df.ptype == PTYPE_SCHOOL)",coef_female_worker_preschool_child,0 +util_access_to_workplaces,Accessibility to workplaces of the home mgra,@df.auPkTotal,coef_access_to_workplaces,0 +util_non_working_adult_in_hh,Presence of Non Working Adult in the Household,"@other_than(df.household_id, df.ptype == PTYPE_NONWORK)",coef_non_working_adult_in_hh,0 +util_education_ba_plus,Education Level Bachelors or higher degree,0,coef_education_ba_plus,0 +util_low_income,Household income Less than 30K,@df.income < 30000,coef_low_income,0 +util_age_lt_35,Age Group - Less than 35 years,@df.age < 35,coef_age_lt_35,0 +util_age_35_to_45,Age Group - 35 yrs to 45 yrs,"@df.age.between(35, 45)",coef_age_35_to_45,0 +util_age_45_to_55,Age Group - 45 yrs to 55 yrs,"@df.age.between(45, 55)",coef_age_45_to_55,0 +util_age_55_to_65,Age Group - 55 yrs to 65 yrs,"@df.age.between(55, 65)",coef_age_55_to_65,0 +util_age_65_plus,Age Group - Older than 65yrs,@df.age > 65,coef_age_65_plus,0 +util_calibration,ABM2 calibration - work from home,1,coef_calibration,0 diff --git a/activitysim/examples/example_semcog/configs/work_from_home.yaml b/activitysim/examples/prototype_semcog/configs/work_from_home.yaml similarity index 96% rename from activitysim/examples/example_semcog/configs/work_from_home.yaml rename to activitysim/examples/prototype_semcog/configs/work_from_home.yaml index 4fa41b5ef2..b94c138836 100755 --- a/activitysim/examples/example_semcog/configs/work_from_home.yaml +++ b/activitysim/examples/prototype_semcog/configs/work_from_home.yaml @@ -1,19 +1,19 @@ - -SPEC: work_from_home.csv -COEFFICIENTS: work_from_home_coeffs.csv - -#LOGIT_TYPE: NL -LOGIT_TYPE: MNL - -WORK_FROM_HOME_ALT: 0 - -# boolean column to filter choosers (True means keep) -CHOOSER_FILTER_COLUMN_NAME: is_worker - -# iterative what-if analysis example -# omit these settings to not iterate -# WORK_FROM_HOME_ITERATIONS: 3 -# WORK_FROM_HOME_CHOOSER_FILTER: is_worker -# WORK_FROM_HOME_TARGET_PERCENT: 0.1 -# WORK_FROM_HOME_TARGET_PERCENT_TOLERANCE: 0.01 + +SPEC: work_from_home.csv +COEFFICIENTS: work_from_home_coeffs.csv + +#LOGIT_TYPE: NL +LOGIT_TYPE: MNL + +WORK_FROM_HOME_ALT: 0 + +# boolean column to filter choosers (True means keep) +CHOOSER_FILTER_COLUMN_NAME: is_worker + +# iterative what-if analysis example +# omit these settings to not iterate +# WORK_FROM_HOME_ITERATIONS: 3 +# WORK_FROM_HOME_CHOOSER_FILTER: is_worker +# WORK_FROM_HOME_TARGET_PERCENT: 0.1 +# WORK_FROM_HOME_TARGET_PERCENT_TOLERANCE: 0.01 # WORK_FROM_HOME_COEFFICIENT_CONSTANT: coef_work_from_home_constant \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/work_from_home_coeffs.csv b/activitysim/examples/prototype_semcog/configs/work_from_home_coeffs.csv similarity index 97% rename from activitysim/examples/example_semcog/configs/work_from_home_coeffs.csv rename to activitysim/examples/prototype_semcog/configs/work_from_home_coeffs.csv index eb9843335e..a3868e981e 100755 --- a/activitysim/examples/example_semcog/configs/work_from_home_coeffs.csv +++ b/activitysim/examples/prototype_semcog/configs/work_from_home_coeffs.csv @@ -1,15 +1,15 @@ -coefficient_name,value,constrain -coef_work_from_home_constant,0.438361,T -coef_full_time_worker,-0.811935,F -coef_female_worker,-0.347009,F -coef_female_worker_preschool_child,0.572657,F -coef_access_to_workplaces,-0.140426,F -coef_non_working_adult_in_hh,-0.372481,F -coef_education_ba_plus,0.284678,F -coef_low_income,-0.393068,F -coef_age_lt_35,-0.573545,F -coef_age_35_to_45,0,F -coef_age_45_to_55,0.21438,F -coef_age_55_to_65,0.451657,F -coef_age_65_plus,0.583518,F -coef_calibration,-0.0162,T +coefficient_name,value,constrain +coef_work_from_home_constant,0.438361,T +coef_full_time_worker,-0.811935,F +coef_female_worker,-0.347009,F +coef_female_worker_preschool_child,0.572657,F +coef_access_to_workplaces,-0.140426,F +coef_non_working_adult_in_hh,-0.372481,F +coef_education_ba_plus,0.284678,F +coef_low_income,-0.393068,F +coef_age_lt_35,-0.573545,F +coef_age_35_to_45,0,F +coef_age_45_to_55,0.21438,F +coef_age_55_to_65,0.451657,F +coef_age_65_plus,0.583518,F +coef_calibration,-0.0162,T diff --git a/activitysim/examples/prototype_semcog/configs/workplace_location.csv b/activitysim/examples/prototype_semcog/configs/workplace_location.csv new file mode 100755 index 0000000000..d065c3e01d --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/workplace_location.csv @@ -0,0 +1,16 @@ +Label,Description,Expression,coefficient +local_dist,,_DIST@skims['DIST'],1 +util_dist,Distance,@_DIST,coef_dist +util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",coef_dist_squared +util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",coef_dist_cubed +util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),coef_dist_logged +util_dist_low,"Distance,low income",@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,coef_dist_low_inc +util_dist_med,"Distance,med income",@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,coef_dist_med_inc +util_dist_high,"Distance,high income",@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,coef_dist_high_inc +util_dist_part_time,"Distance,part_time",@(df['pemploy']==2) * _DIST,coef_dist_part_time +util_dist_student,"Distance,student",@(df['is_student']==True) * _DIST,coef_dist_student +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 +util_no_attractions,No attractions,@df['size_term']==0,-999 +util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1 diff --git a/activitysim/examples/prototype_semcog/configs/workplace_location.yaml b/activitysim/examples/prototype_semcog/configs/workplace_location.yaml new file mode 100755 index 0000000000..80a350a6b2 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/workplace_location.yaml @@ -0,0 +1,77 @@ +SAMPLE_SIZE: 30 + +SIMULATE_CHOOSER_COLUMNS: + - income_segment + - home_zone_id + - is_student + - pemploy + +SAMPLE_SPEC: workplace_location_sample.csv +SPEC: workplace_location.csv +COEFFICIENTS: workplace_location_coeffs.csv + +LOGSUM_SETTINGS: tour_mode_choice.yaml +LOGSUM_PREPROCESSOR: nontour_preprocessor +LOGSUM_TOUR_PURPOSE: work + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 17 +OUT_PERIOD: 8 + +DEST_CHOICE_COLUMN_NAME: workplace_zone_id +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table +DEST_CHOICE_LOGSUM_COLUMN_NAME: workplace_location_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: workplace_location_sample + +annotate_persons: + SPEC: annotate_persons_workplace + DF: persons + TABLES: + - land_use + +annotate_households: + SPEC: annotate_households_workplace + DF: households + TABLES: + - persons + +# - shadow pricing + + +# income_segment is in households, but we want to count persons +CHOOSER_TABLE_NAME: persons_merged + +# size_terms model_selector +MODEL_SELECTOR: workplace + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: income_segment + +# boolean column to filter choosers (True means keep) +CHOOSER_FILTER_COLUMN_NAME: is_out_of_home_worker + +# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this +# FIXME - these are not needed for this model and should be re/factored out +SEGMENT_IDS: + work_low: 1 + work_med: 2 + work_high: 3 + work_veryhigh: 4 + +CONSTANTS: + WORK_LOW_SEGMENT_ID: 1 + WORK_MED_SEGMENT_ID: 2 + WORK_HIGH_SEGMENT_ID: 3 + WORK_VERYHIGH_SEGMENT_ID: 4 + + +# model adds these tables (informational - not added if commented out) +SHADOW_PRICE_TABLE: workplace_shadow_prices +MODELED_SIZE_TABLE: workplace_modeled_size + +# not loaded if commented out +SAVED_SHADOW_PRICE_TABLE_NAME: final_workplace_shadow_prices.csv diff --git a/activitysim/examples/prototype_semcog/configs/workplace_location_coeffs.csv b/activitysim/examples/prototype_semcog/configs/workplace_location_coeffs.csv new file mode 100755 index 0000000000..f3e7c9df58 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/workplace_location_coeffs.csv @@ -0,0 +1,11 @@ +coefficient_name,value,constrain +coef_dist,-0.063338148,F +coef_dist_squared,0.001294031,F +coef_dist_cubed,-6.70E-05,F +coef_dist_logged,-0.479603662,F +coef_dist_low_inc,-0.029396589,F +coef_dist_med_inc,-0.024858401,F +coef_dist_high_inc,-0.013891636,F +coef_dist_part_time,-0.047762376,F +coef_dist_student,-0.024044614,F +coef_mode_logsum,0.25,F diff --git a/activitysim/examples/prototype_semcog/configs/workplace_location_sample.csv b/activitysim/examples/prototype_semcog/configs/workplace_location_sample.csv new file mode 100755 index 0000000000..22e3251d6a --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/workplace_location_sample.csv @@ -0,0 +1,14 @@ +Label,Description,Expression,coefficient +local_dist,,_DIST@skims['DIST'],1 +util_dist,Distance,@_DIST,coef_dist +util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",coef_dist_squared +util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",coef_dist_cubed +util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),coef_dist_logged +util_dist_low,"Distance,low income",@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,coef_dist_low_inc +util_dist_med,"Distance,med income",@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,coef_dist_med_inc +util_dist_high,"Distance,high income",@(df['income_segment']==WORK_HIGH_SEGMENT_ID) * _DIST,coef_dist_high_inc +util_dist_part_time,"Distance,part_time",@(df['pemploy']==2) * _DIST,coef_dist_part_time +util_dist_student,"Distance,student",@(df['is_student']==True) * _DIST,coef_dist_student +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 +util_no_attractions,No attractions,@df['size_term']==0,-999 diff --git a/activitysim/examples/prototype_semcog/configs/write_trip_matrices.yaml b/activitysim/examples/prototype_semcog/configs/write_trip_matrices.yaml new file mode 100755 index 0000000000..1ee28c0f8b --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/write_trip_matrices.yaml @@ -0,0 +1,258 @@ +# read trips table post preprocessor and run expressions to code +# additional data fields, with one data fields for each matrix specified below + +preprocessor: + SPEC: write_trip_matrices_annotate_trips_preprocessor + DF: trips + TABLES: + - tours + +# divide trip counts by household expansion factor +HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in + +# save preprocessed trips table to pipeline if desired +SAVE_TRIPS_TABLE: False + +MATRICES: + - file_name: trips_ea.omx + tables: + - name: DRIVEALONE + data_field: DRIVEALONE_EA + - name: SHARED2 + data_field: SHARED2_EA + - name: SHARED3 + data_field: SHARED3_EA + - name: WALK + data_field: WALK_EA + - name: BIKE + data_field: BIKE_EA + - name: WALK_LOC + data_field: WALK_LOC_EA + - name: WALK_PRM + data_field: WALK_PRM_EA + - name: WALK_MIX + data_field: WALK_MIX_EA + - name: PNR_LOC + data_field: PNR_LOC_EA + - name: PNR_PRM + data_field: PNR_PRM_EA + - name: PNR_MIX + data_field: PNR_MIX_EA + - name: KNR_LOC + data_field: KNR_LOC_EA + - name: KNR_PRM + data_field: KNR_PRM_EA + - name: KNR_MIX + data_field: KNR_MIX_EA + - name: PNRE_LOC + data_field: PNRE_LOC_EA + - name: PNRE_PRM + data_field: PNRE_PRM_EA + - name: PNRE_MIX + data_field: PNRE_MIX_EA + - name: KNRE_LOC + data_field: KNRE_LOC_EA + - name: KNRE_PRM + data_field: KNRE_PRM_EA + - name: KNRE_MIX + data_field: KNRE_MIX_EA + - name: SCHOOLBUS + data_field: SCHOOLBUS_EA + - file_name: trips_am.omx + tables: + - name: DRIVEALONE + data_field: DRIVEALONE_AM + - name: SHARED2 + data_field: SHARED2_AM + - name: SHARED3 + data_field: SHARED3_AM + - name: WALK + data_field: WALK_AM + - name: BIKE + data_field: BIKE_AM + - name: WALK_LOC + data_field: WALK_LOC_AM + - name: WALK_PRM + data_field: WALK_PRM_AM + - name: WALK_MIX + data_field: WALK_MIX_AM + - name: PNR_LOC + data_field: PNR_LOC_AM + - name: PNR_PRM + data_field: PNR_PRM_AM + - name: PNR_MIX + data_field: PNR_MIX_AM + - name: KNR_LOC + data_field: KNR_LOC_AM + - name: KNR_PRM + data_field: KNR_PRM_AM + - name: KNR_MIX + data_field: KNR_MIX_AM + - name: PNRE_LOC + data_field: PNRE_LOC_AM + - name: PNRE_PRM + data_field: PNRE_PRM_AM + - name: PNRE_MIX + data_field: PNRE_MIX_AM + - name: KNRE_LOC + data_field: KNRE_LOC_AM + - name: KNRE_PRM + data_field: KNRE_PRM_AM + - name: KNRE_MIX + data_field: KNRE_MIX_AM + - name: SCHOOLBUS + data_field: SCHOOLBUS_AM + - file_name: trips_md.omx + tables: + - name: DRIVEALONE + data_field: DRIVEALONE_MD + - name: SHARED2 + data_field: SHARED2_MD + - name: SHARED3 + data_field: SHARED3_MD + - name: WALK + data_field: WALK_MD + - name: BIKE + data_field: BIKE_MD + - name: WALK_LOC + data_field: WALK_LOC_MD + - name: WALK_PRM + data_field: WALK_PRM_MD + - name: WALK_MIX + data_field: WALK_MIX_MD + - name: PNR_LOC + data_field: PNR_LOC_MD + - name: PNR_PRM + data_field: PNR_PRM_MD + - name: PNR_MIX + data_field: PNR_MIX_MD + - name: KNR_LOC + data_field: KNR_LOC_MD + - name: KNR_PRM + data_field: KNR_PRM_MD + - name: KNR_MIX + data_field: KNR_MIX_MD + - name: PNRE_LOC + data_field: PNRE_LOC_MD + - name: PNRE_PRM + data_field: PNRE_PRM_MD + - name: PNRE_MIX + data_field: PNRE_MIX_MD + - name: KNRE_LOC + data_field: KNRE_LOC_MD + - name: KNRE_PRM + data_field: KNRE_PRM_MD + - name: KNRE_MIX + data_field: KNRE_MIX_MD + - name: SCHOOLBUS + data_field: SCHOOLBUS_MD + - file_name: trips_pm.omx + tables: + - name: DRIVEALONE + data_field: DRIVEALONE_PM + - name: SHARED2 + data_field: SHARED2_PM + - name: SHARED3 + data_field: SHARED3_PM + - name: WALK + data_field: WALK_PM + - name: BIKE + data_field: BIKE_PM + - name: WALK_LOC + data_field: WALK_LOC_PM + - name: WALK_PRM + data_field: WALK_PRM_PM + - name: WALK_MIX + data_field: WALK_MIX_PM + - name: PNR_LOC + data_field: PNR_LOC_PM + - name: PNR_PRM + data_field: PNR_PRM_PM + - name: PNR_MIX + data_field: PNR_MIX_PM + - name: KNR_LOC + data_field: KNR_LOC_PM + - name: KNR_PRM + data_field: KNR_PRM_PM + - name: KNR_MIX + data_field: KNR_MIX_PM + - name: PNRE_LOC + data_field: PNRE_LOC_PM + - name: PNRE_PRM + data_field: PNRE_PRM_PM + - name: PNRE_MIX + data_field: PNRE_MIX_PM + - name: KNRE_LOC + data_field: KNRE_LOC_PM + - name: KNRE_PRM + data_field: KNRE_PRM_PM + - name: KNRE_MIX + data_field: KNRE_MIX_PM + - name: SCHOOLBUS + data_field: SCHOOLBUS_PM + - file_name: trips_ev.omx + tables: + - name: DRIVEALONE + data_field: DRIVEALONE_EV + - name: SHARED2 + data_field: SHARED2_EV + - name: SHARED3 + data_field: SHARED3_EV + - name: WALK + data_field: WALK_EV + - name: BIKE + data_field: BIKE_EV + - name: WALK_LOC + data_field: WALK_LOC_EV + - name: WALK_PRM + data_field: WALK_PRM_EV + - name: WALK_MIX + data_field: WALK_MIX_EV + - name: PNR_LOC + data_field: PNR_LOC_EV + - name: PNR_PRM + data_field: PNR_PRM_EV + - name: PNR_MIX + data_field: PNR_MIX_EV + - name: KNR_LOC + data_field: KNR_LOC_EV + - name: KNR_PRM + data_field: KNR_PRM_EV + - name: KNR_MIX + data_field: KNR_MIX_EV + - name: PNRE_LOC + data_field: PNRE_LOC_EV + - name: PNRE_PRM + data_field: PNRE_PRM_EV + - name: PNRE_MIX + data_field: PNRE_MIX_EV + - name: KNRE_LOC + data_field: KNRE_LOC_EV + - name: KNRE_PRM + data_field: KNRE_PRM_EV + - name: KNRE_MIX + data_field: KNRE_MIX_EV + - name: SCHOOLBUS + data_field: SCHOOLBUS_EV + +CONSTANTS: + time_periods: + EA: + first_hour: 1 + last_hour: 6 + AM: + first_hour: 7 + last_hour: 12 + MD: + first_hour: 13 + last_hour: 24 + PM: + first_hour: 25 + last_hour: 32 + EV: + first_hour: 33 + last_hour: 48 + + # SHARED2 and SHARED2 Occupancies + OCC_SHARED2: 2.0 + OCC_SHARED3: 3.33 diff --git a/activitysim/examples/prototype_semcog/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_semcog/configs/write_trip_matrices_annotate_trips_preprocessor.csv new file mode 100755 index 0000000000..d7b80f3a16 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs/write_trip_matrices_annotate_trips_preprocessor.csv @@ -0,0 +1,120 @@ +Description,Target,Expression +# add additional fields,, +,tour_participants,trips.tour_id.map(tours.number_of_participants) +,distance,od_skims['DIST'] +# code time periods,, +,is_ea,"trips.depart.between(time_periods['EA']['first_hour'], time_periods['EA']['last_hour'])" +,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" +,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" +,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" +,is_ev,"trips.depart.between(time_periods['EV']['first_hour'], time_periods['EV']['last_hour'])" +# ea trips,, +,DRIVEALONE_EA,((trips.trip_mode == 'DRIVEALONE') & is_ea) * tour_participants +,SHARED2_EA,((trips.trip_mode == 'SHARED2') & is_ea) * tour_participants / OCC_SHARED2 +,SHARED3_EA,((trips.trip_mode == 'SHARED3') & is_ea) * tour_participants / OCC_SHARED3 +,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants +,BIKE_EA,((trips.trip_mode == 'BIKE') & is_ea) * tour_participants +,WALK_LOC_EA,((trips.trip_mode == 'WALK_LOC') & is_ea) * tour_participants +,WALK_PRM_EA,((trips.trip_mode == 'WALK_PRM') & is_ea) * tour_participants +,WALK_MIX_EA,((trips.trip_mode == 'WALK_MIX') & is_ea) * tour_participants +,PNR_LOC_EA,((trips.trip_mode == 'PNR_LOC') & is_ea & trips.outbound) * tour_participants +,PNR_PRM_EA,((trips.trip_mode == 'PNR_PRM') & is_ea & trips.outbound) * tour_participants +,PNR_MIX_EA,((trips.trip_mode == 'PNR_MIX') & is_ea & trips.outbound) * tour_participants +,KNR_LOC_EA,((trips.trip_mode == 'KNR_LOC') & is_ea & trips.outbound) * tour_participants +,KNR_PRM_EA,((trips.trip_mode == 'KNR_PRM') & is_ea & trips.outbound) * tour_participants +,KNR_MIX_EA,((trips.trip_mode == 'KNR_MIX') & is_ea & trips.outbound) * tour_participants +,PNRE_LOC_EA,((trips.trip_mode == 'PNR_LOC') & is_ea & ~trips.outbound) * tour_participants +,PNRE_PRM_EA,((trips.trip_mode == 'PNR_PRM') & is_ea & ~trips.outbound) * tour_participants +,PNRE_MIX_EA,((trips.trip_mode == 'PNR_MIX') & is_ea & ~trips.outbound) * tour_participants +,KNRE_LOC_EA,((trips.trip_mode == 'KNR_LOC') & is_ea & ~trips.outbound) * tour_participants +,KNRE_PRM_EA,((trips.trip_mode == 'KNR_PRM') & is_ea & ~trips.outbound) * tour_participants +,KNRE_MIX_EA,((trips.trip_mode == 'KNR_MIX') & is_ea & ~trips.outbound) * tour_participants +,SCHOOLBUS_EA,((trips.trip_mode == 'SCHOOLBUS') & is_ea) * tour_participants +# am trips,, +,DRIVEALONE_AM,((trips.trip_mode == 'DRIVEALONE') & is_am) * tour_participants +,SHARED2_AM,((trips.trip_mode == 'SHARED2') & is_am) * tour_participants / OCC_SHARED2 +,SHARED3_AM,((trips.trip_mode == 'SHARED3') & is_am) * tour_participants / OCC_SHARED3 +,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants +,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants +,WALK_LOC_AM,((trips.trip_mode == 'WALK_LOC') & is_am) * tour_participants +,WALK_PRM_AM,((trips.trip_mode == 'WALK_PRM') & is_am) * tour_participants +,WALK_MIX_AM,((trips.trip_mode == 'WALK_MIX') & is_am) * tour_participants +,PNR_LOC_AM,((trips.trip_mode == 'PNR_LOC') & is_am & trips.outbound) * tour_participants +,PNR_PRM_AM,((trips.trip_mode == 'PNR_PRM') & is_am & trips.outbound) * tour_participants +,PNR_MIX_AM,((trips.trip_mode == 'PNR_MIX') & is_am & trips.outbound) * tour_participants +,KNR_LOC_AM,((trips.trip_mode == 'KNR_LOC') & is_am & trips.outbound) * tour_participants +,KNR_PRM_AM,((trips.trip_mode == 'KNR_PRM') & is_am & trips.outbound) * tour_participants +,KNR_MIX_AM,((trips.trip_mode == 'KNR_MIX') & is_am & trips.outbound) * tour_participants +,PNRE_LOC_AM,((trips.trip_mode == 'PNR_LOC') & is_am & ~trips.outbound) * tour_participants +,PNRE_PRM_AM,((trips.trip_mode == 'PNR_PRM') & is_am & ~trips.outbound) * tour_participants +,PNRE_MIX_AM,((trips.trip_mode == 'PNR_MIX') & is_am & ~trips.outbound) * tour_participants +,KNRE_LOC_AM,((trips.trip_mode == 'KNR_LOC') & is_am & ~trips.outbound) * tour_participants +,KNRE_PRM_AM,((trips.trip_mode == 'KNR_PRM') & is_am & ~trips.outbound) * tour_participants +,KNRE_MIX_AM,((trips.trip_mode == 'KNR_MIX') & is_am & ~trips.outbound) * tour_participants +,SCHOOLBUS_AM,((trips.trip_mode == 'SCHOOLBUS') & is_am) * tour_participants +# md trips,, +,DRIVEALONE_MD,((trips.trip_mode == 'DRIVEALONE') & is_md) * tour_participants +,SHARED2_MD,((trips.trip_mode == 'SHARED2') & is_md) * tour_participants / OCC_SHARED2 +,SHARED3_MD,((trips.trip_mode == 'SHARED3') & is_md) * tour_participants / OCC_SHARED3 +,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants +,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants +,WALK_LOC_MD,((trips.trip_mode == 'WALK_LOC') & is_md) * tour_participants +,WALK_PRM_MD,((trips.trip_mode == 'WALK_PRM') & is_md) * tour_participants +,WALK_MIX_MD,((trips.trip_mode == 'WALK_MIX') & is_md) * tour_participants +,PNR_LOC_MD,((trips.trip_mode == 'PNR_LOC') & is_md & trips.outbound) * tour_participants +,PNR_PRM_MD,((trips.trip_mode == 'PNR_PRM') & is_md & trips.outbound) * tour_participants +,PNR_MIX_MD,((trips.trip_mode == 'PNR_MIX') & is_md & trips.outbound) * tour_participants +,KNR_LOC_MD,((trips.trip_mode == 'KNR_LOC') & is_md & trips.outbound) * tour_participants +,KNR_PRM_MD,((trips.trip_mode == 'KNR_PRM') & is_md & trips.outbound) * tour_participants +,KNR_MIX_MD,((trips.trip_mode == 'KNR_MIX') & is_md & trips.outbound) * tour_participants +,PNRE_LOC_MD,((trips.trip_mode == 'PNR_LOC') & is_md & ~trips.outbound) * tour_participants +,PNRE_PRM_MD,((trips.trip_mode == 'PNR_PRM') & is_md & ~trips.outbound) * tour_participants +,PNRE_MIX_MD,((trips.trip_mode == 'PNR_MIX') & is_md & ~trips.outbound) * tour_participants +,KNRE_LOC_MD,((trips.trip_mode == 'KNR_LOC') & is_md & ~trips.outbound) * tour_participants +,KNRE_PRM_MD,((trips.trip_mode == 'KNR_PRM') & is_md & ~trips.outbound) * tour_participants +,KNRE_MIX_MD,((trips.trip_mode == 'KNR_MIX') & is_md & ~trips.outbound) * tour_participants +,SCHOOLBUS_MD,((trips.trip_mode == 'SCHOOLBUS') & is_md) * tour_participants +# pm trips,, +,DRIVEALONE_PM,((trips.trip_mode == 'DRIVEALONE') & is_pm) * tour_participants +,SHARED2_PM,((trips.trip_mode == 'SHARED2') & is_pm) * tour_participants / OCC_SHARED2 +,SHARED3_PM,((trips.trip_mode == 'SHARED3') & is_pm) * tour_participants / OCC_SHARED3 +,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants +,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants +,WALK_LOC_PM,((trips.trip_mode == 'WALK_LOC') & is_pm) * tour_participants +,WALK_PRM_PM,((trips.trip_mode == 'WALK_PRM') & is_pm) * tour_participants +,WALK_MIX_PM,((trips.trip_mode == 'WALK_MIX') & is_pm) * tour_participants +,PNR_LOC_PM,((trips.trip_mode == 'PNR_LOC') & is_pm & trips.outbound) * tour_participants +,PNR_PRM_PM,((trips.trip_mode == 'PNR_PRM') & is_pm & trips.outbound) * tour_participants +,PNR_MIX_PM,((trips.trip_mode == 'PNR_MIX') & is_pm & trips.outbound) * tour_participants +,KNR_LOC_PM,((trips.trip_mode == 'KNR_LOC') & is_pm & trips.outbound) * tour_participants +,KNR_PRM_PM,((trips.trip_mode == 'KNR_PRM') & is_pm & trips.outbound) * tour_participants +,KNR_MIX_PM,((trips.trip_mode == 'KNR_MIX') & is_pm & trips.outbound) * tour_participants +,PNRE_LOC_PM,((trips.trip_mode == 'PNR_LOC') & is_pm & ~trips.outbound) * tour_participants +,PNRE_PRM_PM,((trips.trip_mode == 'PNR_PRM') & is_pm & ~trips.outbound) * tour_participants +,PNRE_MIX_PM,((trips.trip_mode == 'PNR_MIX') & is_pm & ~trips.outbound) * tour_participants +,KNRE_LOC_PM,((trips.trip_mode == 'KNR_LOC') & is_pm & ~trips.outbound) * tour_participants +,KNRE_PRM_PM,((trips.trip_mode == 'KNR_PRM') & is_pm & ~trips.outbound) * tour_participants +,KNRE_MIX_PM,((trips.trip_mode == 'KNR_MIX') & is_pm & ~trips.outbound) * tour_participants +,SCHOOLBUS_PM,((trips.trip_mode == 'SCHOOLBUS') & is_pm) * tour_participants +# ev trips,, +,DRIVEALONE_EV,((trips.trip_mode == 'DRIVEALONE') & is_ev) * tour_participants +,SHARED2_EV,((trips.trip_mode == 'SHARED2') & is_ev) * tour_participants / OCC_SHARED2 +,SHARED3_EV,((trips.trip_mode == 'SHARED3') & is_ev) * tour_participants / OCC_SHARED3 +,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants +,BIKE_EV,((trips.trip_mode == 'BIKE') & is_ev) * tour_participants +,WALK_LOC_EV,((trips.trip_mode == 'WALK_LOC') & is_ev) * tour_participants +,WALK_PRM_EV,((trips.trip_mode == 'WALK_PRM') & is_ev) * tour_participants +,WALK_MIX_EV,((trips.trip_mode == 'WALK_MIX') & is_ev) * tour_participants +,PNR_LOC_EV,((trips.trip_mode == 'PNR_LOC') & is_ev & trips.outbound) * tour_participants +,PNR_PRM_EV,((trips.trip_mode == 'PNR_PRM') & is_ev & trips.outbound) * tour_participants +,PNR_MIX_EV,((trips.trip_mode == 'PNR_MIX') & is_ev & trips.outbound) * tour_participants +,KNR_LOC_EV,((trips.trip_mode == 'KNR_LOC') & is_ev & trips.outbound) * tour_participants +,KNR_PRM_EV,((trips.trip_mode == 'KNR_PRM') & is_ev & trips.outbound) * tour_participants +,KNR_MIX_EV,((trips.trip_mode == 'KNR_MIX') & is_ev & trips.outbound) * tour_participants +,PNRE_LOC_EV,((trips.trip_mode == 'PNR_LOC') & is_ev & ~trips.outbound) * tour_participants +,PNRE_PRM_EV,((trips.trip_mode == 'PNR_PRM') & is_ev & ~trips.outbound) * tour_participants +,PNRE_MIX_EV,((trips.trip_mode == 'PNR_MIX') & is_ev & ~trips.outbound) * tour_participants +,KNRE_LOC_EV,((trips.trip_mode == 'KNR_LOC') & is_ev & ~trips.outbound) * tour_participants +,KNRE_PRM_EV,((trips.trip_mode == 'KNR_PRM') & is_ev & ~trips.outbound) * tour_participants +,KNRE_MIX_EV,((trips.trip_mode == 'KNR_MIX') & is_ev & ~trips.outbound) * tour_participants +,SCHOOLBUS_EV,((trips.trip_mode == 'SCHOOLBUS') & is_ev) * tour_participants diff --git a/activitysim/examples/prototype_semcog/configs_mp/logging.yaml b/activitysim/examples/prototype_semcog/configs_mp/logging.yaml new file mode 100755 index 0000000000..e932009c5d --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs_mp/logging.yaml @@ -0,0 +1,57 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: DEBUG + handlers: [console, logfile] + + loggers: + + activitysim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARNING + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + #level: NOTSET + level: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [WARNING, NOTSET] + + formatters: + + simpleFormatter: + class: logging.Formatter + #format: '%(processName)-10s %(levelname)s - %(name)s - %(message)s' + format: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [ + '%(processName)-10s %(levelname)s - %(name)s - %(message)s', + '%(levelname)s - %(name)s - %(message)s'] + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + diff --git a/activitysim/examples/prototype_semcog/configs_mp/settings.yaml b/activitysim/examples/prototype_semcog/configs_mp/settings.yaml new file mode 100755 index 0000000000..f25ab67983 --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs_mp/settings.yaml @@ -0,0 +1,97 @@ +inherit_settings: True + +# raise error if any sub-process fails without waiting for others to complete +fail_fast: True + +# - ------------------------- dev config +multiprocess: True +strict: False +use_shadow_pricing: True + + +## - example sample +households_sample_size: 0 +chunk_size: 0 +num_processes: 24 + +# - tracing +trace_hh_id: +trace_od: +#trace_hh_id: 1482966 +#trace_od: [5, 11] + +# to resume after last successful checkpoint, specify resume_after: _ +resume_after: + +models: + ### mp_initialize step + - initialize_landuse + - initialize_households + - compute_accessibility + - work_from_home + - add_size_tables + ### mp_households step + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - telecommute_frequency + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + ### mp_summarize step + - write_data_dictionary + - write_tables + - write_trip_matrices + +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_households + begin: school_location + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_data_dictionary + + +output_tables: + action: include + prefix: final_ + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - school_shadow_prices + - workplace_shadow_prices + - joint_tour_participants + +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +#read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +#write_skim_cache: True diff --git a/activitysim/examples/prototype_semcog/configs_mp/shadow_pricing.yaml b/activitysim/examples/prototype_semcog/configs_mp/shadow_pricing.yaml new file mode 100755 index 0000000000..fda98f4d4b --- /dev/null +++ b/activitysim/examples/prototype_semcog/configs_mp/shadow_pricing.yaml @@ -0,0 +1,37 @@ + +inherit_settings: True + +shadow_pricing_models: + school: school_location + workplace: workplace_location + +# global switch to enable/disable loading of saved shadow prices +# (ignored if global use_shadow_pricing switch is False) +LOAD_SAVED_SHADOW_PRICES: False + +# number of shadow price iterations for cold start +MAX_ITERATIONS: 10 + +# number of shadow price iterations for warm start (after loading saved shadow_prices) +MAX_ITERATIONS_SAVED: 1 + +# ignore criteria for zones smaller than size_threshold +SIZE_THRESHOLD: 10 + +# zone passes if modeled is within percent_tolerance of predicted_size +PERCENT_TOLERANCE: 5 + +# max percentage of zones allowed to fail +FAIL_THRESHOLD: 1 + +# CTRAMP or daysim +SHADOW_PRICE_METHOD: ctramp +#SHADOW_PRICE_METHOD: daysim + +# ctramp-style shadow_pricing_method parameters +DAMPING_FACTOR: 1 + +# daysim-style shadow_pricing_method parameters +# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? +DAYSIM_ABSOLUTE_TOLERANCE: 50 +DAYSIM_PERCENT_TOLERANCE: 10 diff --git a/activitysim/examples/example_semcog/data/households.csv b/activitysim/examples/prototype_semcog/data/households.csv similarity index 100% rename from activitysim/examples/example_semcog/data/households.csv rename to activitysim/examples/prototype_semcog/data/households.csv diff --git a/activitysim/examples/example_semcog/data/land_use.csv b/activitysim/examples/prototype_semcog/data/land_use.csv similarity index 100% rename from activitysim/examples/example_semcog/data/land_use.csv rename to activitysim/examples/prototype_semcog/data/land_use.csv diff --git a/activitysim/examples/example_semcog/data/persons.csv b/activitysim/examples/prototype_semcog/data/persons.csv similarity index 100% rename from activitysim/examples/example_semcog/data/persons.csv rename to activitysim/examples/prototype_semcog/data/persons.csv diff --git a/activitysim/examples/example_semcog/data/skims.omx b/activitysim/examples/prototype_semcog/data/skims.omx similarity index 100% rename from activitysim/examples/example_semcog/data/skims.omx rename to activitysim/examples/prototype_semcog/data/skims.omx diff --git a/activitysim/examples/prototype_semcog/extensions/__init__.py b/activitysim/examples/prototype_semcog/extensions/__init__.py new file mode 100644 index 0000000000..0b9ada0334 --- /dev/null +++ b/activitysim/examples/prototype_semcog/extensions/__init__.py @@ -0,0 +1,6 @@ +from . import ( + telecommute_frequency, + transit_pass_ownership, + transit_pass_subsidy, + work_from_home, +) diff --git a/activitysim/examples/prototype_semcog/extensions/telecommute_frequency.py b/activitysim/examples/prototype_semcog/extensions/telecommute_frequency.py new file mode 100755 index 0000000000..cc1eec4893 --- /dev/null +++ b/activitysim/examples/prototype_semcog/extensions/telecommute_frequency.py @@ -0,0 +1,96 @@ +# ActivitySim +# See full license in LICENSE.txt. +import logging + +import pandas as pd + +from activitysim.abm.models.util import estimation +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing + +logger = logging.getLogger("activitysim") + + +@inject.step() +def telecommute_frequency(persons_merged, persons, chunk_size, trace_hh_id): + """ + This model predicts the frequency of telecommute for a person (worker) who + does not works from home. The alternatives of this model are 'No Telecommute', + '1 day per week', '2 to 3 days per week' and '4 days per week'. This model + reflects the choices of people who prefer a combination of working from home and + office during a week. + """ + + trace_label = "telecommute_frequency" + model_settings_file_name = "telecommute_frequency.yaml" + + choosers = persons_merged.to_frame() + choosers = choosers[choosers.workplace_zone_id > -1] + + logger.info("Running %s with %d persons", trace_label, len(choosers)) + + model_settings = config.read_model_settings(model_settings_file_name) + estimator = estimation.manager.begin_estimation("telecommute_frequency") + + constants = config.get_model_constants(model_settings) + + # - preprocessor + preprocessor_settings = model_settings.get("preprocessor", None) + if preprocessor_settings: + + locals_d = {} + if constants is not None: + locals_d.update(constants) + + expressions.assign_columns( + df=choosers, + model_settings=preprocessor_settings, + locals_dict=locals_d, + trace_label=trace_label, + ) + + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) + coefficients_df = simulate.read_model_coefficients(model_settings) + model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) + + nest_spec = config.get_logit_model_settings(model_settings) + + if estimator: + estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_spec(model_settings) + estimator.write_coefficients(coefficients_df) + estimator.write_choosers(choosers) + + choices = simulate.simple_simulate( + choosers=choosers, + spec=model_spec, + nest_spec=nest_spec, + locals_d=constants, + chunk_size=chunk_size, + trace_label=trace_label, + trace_choice_name="telecommute_frequency", + estimator=estimator, + ) + + choices = pd.Series(model_spec.columns[choices.values], index=choices.index) + + if estimator: + estimator.write_choices(choices) + choices = estimator.get_survey_values( + choices, "persons", "telecommute_frequency" + ) + estimator.write_override_choices(choices) + estimator.end_estimation() + + persons = persons.to_frame() + persons["telecommute_frequency"] = ( + choices.reindex(persons.index).fillna("").astype(str) + ) + + pipeline.replace_table("persons", persons) + + tracing.print_summary( + "telecommute_frequency", persons.telecommute_frequency, value_counts=True + ) + + if trace_hh_id: + tracing.trace_df(persons, label=trace_label, warn_if_empty=True) diff --git a/activitysim/examples/prototype_semcog/extensions/transit_pass_ownership.py b/activitysim/examples/prototype_semcog/extensions/transit_pass_ownership.py new file mode 100644 index 0000000000..6507ab8256 --- /dev/null +++ b/activitysim/examples/prototype_semcog/extensions/transit_pass_ownership.py @@ -0,0 +1,86 @@ +# ActivitySim +# See full license in LICENSE.txt. +import logging + +import numpy as np + +from activitysim.abm.models.util import estimation +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing + +logger = logging.getLogger("activitysim") + + +@inject.step() +def transit_pass_ownership(persons_merged, persons, chunk_size, trace_hh_id): + """ + Transit pass ownership model. + """ + + trace_label = "transit_pass_ownership" + model_settings_file_name = "transit_pass_ownership.yaml" + + choosers = persons_merged.to_frame() + logger.info("Running %s with %d persons", trace_label, len(choosers)) + + model_settings = config.read_model_settings(model_settings_file_name) + estimator = estimation.manager.begin_estimation("transit_pass_ownership") + + constants = config.get_model_constants(model_settings) + + # - preprocessor + preprocessor_settings = model_settings.get("preprocessor", None) + if preprocessor_settings: + + locals_d = {} + if constants is not None: + locals_d.update(constants) + + expressions.assign_columns( + df=choosers, + model_settings=preprocessor_settings, + locals_dict=locals_d, + trace_label=trace_label, + ) + + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) + coefficients_df = simulate.read_model_coefficients(model_settings) + model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) + + nest_spec = config.get_logit_model_settings(model_settings) + + if estimator: + estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_spec(model_settings) + estimator.write_coefficients(coefficients_df) + estimator.write_choosers(choosers) + + choices = simulate.simple_simulate( + choosers=choosers, + spec=model_spec, + nest_spec=nest_spec, + locals_d=constants, + chunk_size=chunk_size, + trace_label=trace_label, + trace_choice_name="transit_pass_ownership", + estimator=estimator, + ) + + if estimator: + estimator.write_choices(choices) + choices = estimator.get_survey_values( + choices, "persons", "transit_pass_ownership" + ) + estimator.write_override_choices(choices) + estimator.end_estimation() + + persons = persons.to_frame() + persons["transit_pass_ownership"] = choices.reindex(persons.index) + + pipeline.replace_table("persons", persons) + + tracing.print_summary( + "transit_pass_ownership", persons.transit_pass_ownership, value_counts=True + ) + + if trace_hh_id: + tracing.trace_df(persons, label=trace_label, warn_if_empty=True) diff --git a/activitysim/examples/prototype_semcog/extensions/transit_pass_subsidy.py b/activitysim/examples/prototype_semcog/extensions/transit_pass_subsidy.py new file mode 100644 index 0000000000..4e513a6611 --- /dev/null +++ b/activitysim/examples/prototype_semcog/extensions/transit_pass_subsidy.py @@ -0,0 +1,86 @@ +# ActivitySim +# See full license in LICENSE.txt. +import logging + +import numpy as np + +from activitysim.abm.models.util import estimation +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing + +logger = logging.getLogger("activitysim") + + +@inject.step() +def transit_pass_subsidy(persons_merged, persons, chunk_size, trace_hh_id): + """ + Transit pass subsidy model. + """ + + trace_label = "transit_pass_subsidy" + model_settings_file_name = "transit_pass_subsidy.yaml" + + choosers = persons_merged.to_frame() + logger.info("Running %s with %d persons", trace_label, len(choosers)) + + model_settings = config.read_model_settings(model_settings_file_name) + estimator = estimation.manager.begin_estimation("transit_pass_subsidy") + + constants = config.get_model_constants(model_settings) + + # - preprocessor + preprocessor_settings = model_settings.get("preprocessor", None) + if preprocessor_settings: + + locals_d = {} + if constants is not None: + locals_d.update(constants) + + expressions.assign_columns( + df=choosers, + model_settings=preprocessor_settings, + locals_dict=locals_d, + trace_label=trace_label, + ) + + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) + coefficients_df = simulate.read_model_coefficients(model_settings) + model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) + + nest_spec = config.get_logit_model_settings(model_settings) + + if estimator: + estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_spec(model_settings) + estimator.write_coefficients(coefficients_df) + estimator.write_choosers(choosers) + + choices = simulate.simple_simulate( + choosers=choosers, + spec=model_spec, + nest_spec=nest_spec, + locals_d=constants, + chunk_size=chunk_size, + trace_label=trace_label, + trace_choice_name="transit_pass_subsidy", + estimator=estimator, + ) + + if estimator: + estimator.write_choices(choices) + choices = estimator.get_survey_values( + choices, "persons", "transit_pass_subsidy" + ) + estimator.write_override_choices(choices) + estimator.end_estimation() + + persons = persons.to_frame() + persons["transit_pass_subsidy"] = choices.reindex(persons.index) + + pipeline.replace_table("persons", persons) + + tracing.print_summary( + "transit_pass_subsidy", persons.transit_pass_subsidy, value_counts=True + ) + + if trace_hh_id: + tracing.trace_df(persons, label=trace_label, warn_if_empty=True) diff --git a/activitysim/examples/prototype_semcog/extensions/work_from_home.py b/activitysim/examples/prototype_semcog/extensions/work_from_home.py new file mode 100755 index 0000000000..d5f3c5cd26 --- /dev/null +++ b/activitysim/examples/prototype_semcog/extensions/work_from_home.py @@ -0,0 +1,162 @@ +# ActivitySim +# See full license in LICENSE.txt. +import logging + +import numpy as np + +from activitysim.abm.models.util import estimation +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing + +logger = logging.getLogger("activitysim") + + +@inject.step() +def work_from_home(persons_merged, persons, chunk_size, trace_hh_id): + """ + This model predicts whether a person (worker) works from home. The output + from this model is TRUE (if works from home) or FALSE (works away from home). + """ + + trace_label = "work_from_home" + model_settings_file_name = "work_from_home.yaml" + + choosers = persons_merged.to_frame() + model_settings = config.read_model_settings(model_settings_file_name) + chooser_filter_column_name = model_settings.get("CHOOSER_FILTER_COLUMN_NAME") + choosers = choosers[choosers[chooser_filter_column_name]] + logger.info("Running %s with %d persons", trace_label, len(choosers)) + + estimator = estimation.manager.begin_estimation("work_from_home") + + constants = config.get_model_constants(model_settings) + work_from_home_alt = model_settings["WORK_FROM_HOME_ALT"] + + # - preprocessor + preprocessor_settings = model_settings.get("preprocessor", None) + if preprocessor_settings: + + locals_d = {} + if constants is not None: + locals_d.update(constants) + + expressions.assign_columns( + df=choosers, + model_settings=preprocessor_settings, + locals_dict=locals_d, + trace_label=trace_label, + ) + + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) + coefficients_df = simulate.read_model_coefficients(model_settings) + + nest_spec = config.get_logit_model_settings(model_settings) + + if estimator: + estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_spec(model_settings) + estimator.write_coefficients(coefficients_df) + estimator.write_choosers(choosers) + + # - iterative single process what-if adjustment if specified + iterations = model_settings.get("WORK_FROM_HOME_ITERATIONS", 1) + iterations_chooser_filter = model_settings.get( + "WORK_FROM_HOME_CHOOSER_FILTER", None + ) + iterations_coefficient_constant = model_settings.get( + "WORK_FROM_HOME_COEFFICIENT_CONSTANT", None + ) + iterations_target_percent = model_settings.get( + "WORK_FROM_HOME_TARGET_PERCENT", None + ) + iterations_target_percent_tolerance = model_settings.get( + "WORK_FROM_HOME_TARGET_PERCENT_TOLERANCE", None + ) + + for iteration in range(iterations): + + logger.info( + "Running %s with %d persons iteration %d", + trace_label, + len(choosers), + iteration, + ) + + # re-read spec to reset substitution + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) + model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) + + choices = simulate.simple_simulate( + choosers=choosers, + spec=model_spec, + nest_spec=nest_spec, + locals_d=constants, + chunk_size=chunk_size, + trace_label=trace_label, + trace_choice_name="work_from_home", + estimator=estimator, + ) + + if iterations_target_percent is not None: + choices_for_filter = choices[choosers[iterations_chooser_filter]] + + current_percent = (choices_for_filter == work_from_home_alt).sum() / len( + choices_for_filter + ) + logger.info( + "Running %s iteration %i choosers %i current percent %f target percent %f", + trace_label, + iteration, + len(choices_for_filter), + current_percent, + iterations_target_percent, + ) + + if current_percent <= ( + iterations_target_percent + iterations_target_percent_tolerance + ) and current_percent >= ( + iterations_target_percent - iterations_target_percent_tolerance + ): + logger.info( + "Running %s iteration %i converged with coefficient %f", + trace_label, + iteration, + coefficients_df.value[iterations_coefficient_constant], + ) + break + + else: + new_value = ( + np.log( + iterations_target_percent / np.maximum(current_percent, 0.0001) + ) + + coefficients_df.value[iterations_coefficient_constant] + ) + coefficients_df.value[iterations_coefficient_constant] = new_value + logger.info( + "Running %s iteration %i new coefficient for next iteration %f", + trace_label, + iteration, + new_value, + ) + iteration = iteration + 1 + + choices = choices == work_from_home_alt + + if estimator: + estimator.write_choices(choices) + choices = estimator.get_survey_values(choices, "persons", "work_from_home") + estimator.write_override_choices(choices) + estimator.end_estimation() + + persons = persons.to_frame() + persons["work_from_home"] = choices.reindex(persons.index).fillna(0).astype(bool) + persons["is_out_of_home_worker"] = ( + persons[chooser_filter_column_name] & ~persons["work_from_home"] + ) + + pipeline.replace_table("persons", persons) + + tracing.print_summary("work_from_home", persons.work_from_home, value_counts=True) + + if trace_hh_id: + tracing.trace_df(persons, label=trace_label, warn_if_empty=True) diff --git a/activitysim/examples/example_semcog/test/output/.gitignore b/activitysim/examples/prototype_semcog/output/.gitignore similarity index 100% rename from activitysim/examples/example_semcog/test/output/.gitignore rename to activitysim/examples/prototype_semcog/output/.gitignore diff --git a/activitysim/examples/prototype_semcog/output/cache/.gitignore b/activitysim/examples/prototype_semcog/output/cache/.gitignore new file mode 100644 index 0000000000..3dd2e62f9e --- /dev/null +++ b/activitysim/examples/prototype_semcog/output/cache/.gitignore @@ -0,0 +1,2 @@ +*.mmap +*.feather diff --git a/activitysim/examples/prototype_semcog/output/log/.gitignore b/activitysim/examples/prototype_semcog/output/log/.gitignore new file mode 100644 index 0000000000..8edb806780 --- /dev/null +++ b/activitysim/examples/prototype_semcog/output/log/.gitignore @@ -0,0 +1,3 @@ +*.csv +*.log +*.txt diff --git a/activitysim/examples/prototype_semcog/output/trace/.gitignore b/activitysim/examples/prototype_semcog/output/trace/.gitignore new file mode 100644 index 0000000000..8edb806780 --- /dev/null +++ b/activitysim/examples/prototype_semcog/output/trace/.gitignore @@ -0,0 +1,3 @@ +*.csv +*.log +*.txt diff --git a/activitysim/examples/prototype_semcog/scripts/reindex_household_ids.py b/activitysim/examples/prototype_semcog/scripts/reindex_household_ids.py new file mode 100644 index 0000000000..538f9d3f9d --- /dev/null +++ b/activitysim/examples/prototype_semcog/scripts/reindex_household_ids.py @@ -0,0 +1,192 @@ +# ActivitySim +# See full license in LICENSE.txt. + +""" +reindex household_id in households and persons tables +legacy tables have household_ids starting at 930000000 +which causes headaches for activitysim's automatic generation of trip and tour ids based on hosuehold_id +(predictable trip and tour ids are used for repeatable random number stream generation) +""" + +import os +import sys + +import numpy as np +import pandas as pd + +if sys.version_info[0] < 3: + raise Exception("Must be using Python 3") + +file_names = { + "households": "households.csv", + "persons": "persons.csv", + "land_use": "land_use.csv", +} + +land_use_zone_col = "ZONE" +hh_zone_col = "zone_id" + + +def drop_and_dump(df, drop, msg, tag, output_dir): + + print("Checking for %s" % msg) + if drop.any(): + print( + "WARNING: dropping %s out of %s %s (%s)" % (drop.sum(), len(df), msg, tag) + ) + df[drop].to_csv(os.path.join(output_dir, "%s.csv" % tag), index=False) + df = df[~drop] + + return df + + +def create_subset(input_dir, output_dir, drop_dir): + + ### + # land_use + ### + land_use_df = pd.read_csv(os.path.join(input_dir, file_names["land_use"])) + land_use_df = land_use_df.sort_values(by=land_use_zone_col) + land_use_df.to_csv(os.path.join(output_dir, file_names["land_use"]), index=False) + + print("zones: %s" % len(land_use_df)) + + ### + # households + ### + + households = pd.read_csv( + os.path.join(input_dir, file_names["households"]), + dtype={"household_id": np.int64}, + ) + households = households.sort_values(by="household_id") + households.rename(columns={"household_id": "legacy_household_id"}, inplace=True) + + raw_household_count = len(households) + + # all households must have a zone_id + null_zones = households[hh_zone_col].isnull() + households = drop_and_dump( + households, + null_zones, + msg="households with null zones", + tag="households_with_null_zones", + output_dir=drop_dir, + ) + households[hh_zone_col] = households[hh_zone_col].astype(np.int64) + + # all households zone_ids must be in land_use + orphan_zones = ~households[hh_zone_col].isin(land_use_df[land_use_zone_col]) + households = drop_and_dump( + households, + orphan_zones, + msg="households with unknown zones", + tag="households_with_unknown_zones", + output_dir=drop_dir, + ) + + # reindexed household_id as both index and column + households.index = np.arange(1, len(households) + 1) + households["household_id"] = households.index + + ### + # persons + ### + persons = pd.read_csv( + os.path.join(input_dir, file_names["persons"]), + dtype={"household_id": np.int64, "person_id": np.int64}, + ) + persons = persons.sort_values(by=["household_id", "member_id"]) + persons.rename( + columns={ + "person_id": "legacy_person_id", + "household_id": "legacy_household_id", + }, + inplace=True, + ) + persons.legacy_household_id = persons.legacy_household_id.astype(np.int64) + + raw_person_count = len(persons) + + assert not persons.legacy_household_id.isnull().any() + + orphan_persons = ~persons.legacy_household_id.isin(households.legacy_household_id) + persons = drop_and_dump( + persons, + orphan_persons, + msg="persons without households", + tag="persons_without_households", + output_dir=drop_dir, + ) + + persons = pd.merge( + persons, + households[["legacy_household_id", "household_id"]], + left_on="legacy_household_id", + right_on="legacy_household_id", + how="left", + ) + assert not persons.household_id.isnull().any() + persons.household_id = persons.household_id.astype(np.int64) + + # reindexed person_id as both index and column + persons.index = np.arange(1, len(persons) + 1) + persons["person_id"] = persons.index + + # check that we have the right number of persons in every household" + assert (persons.groupby("household_id").size() == households.persons).all() + + # check that all persons in household have different member_id" + persons_with_dupe_member_id = persons.duplicated( + ["household_id", "member_id"], keep="first" + ) + household_ids_with_dupe_member_id = persons.household_id[ + persons_with_dupe_member_id + ].unique() + households_with_dupe_members = households.household_id.isin( + household_ids_with_dupe_member_id + ) + persons_in_households_with_dupe_members = persons.household_id.isin( + household_ids_with_dupe_member_id + ) + + print( + "%s of %s persons_with_dupe_member_id" + % (persons_with_dupe_member_id.sum(), len(persons)) + ) + persons = drop_and_dump( + persons, + persons_in_households_with_dupe_members, + msg="persons in households with duplicate (household_id, member_id)", + tag="persons_in_households_with_dupe_member_id", + output_dir=drop_dir, + ) + + households = drop_and_dump( + households, + households_with_dupe_members, + msg="households with duplicate persons.member_id", + tag="households_with_dupe_member_id", + output_dir=drop_dir, + ) + + missing_member1 = ~households.household_id.isin( + persons.household_id[persons.member_id == 1] + ) + # print("%s of %s households missing member_id 1" % (missing_member1.sum(), len(households))) + assert not missing_member1.any() + + print( + "Writing %s households. Dropped %s" + % (len(households), raw_household_count - len(households)) + ) + households.to_csv(os.path.join(output_dir, file_names["households"]), index=False) + + print( + "Writing %s persons. Dropped %s" + % (len(persons), raw_person_count - len(persons)) + ) + persons.to_csv(os.path.join(output_dir, file_names["persons"]), index=False) + + +create_subset(input_dir="data_raw/", output_dir="data/", drop_dir="data_raw/dropped") diff --git a/activitysim/examples/prototype_semcog/scripts/semcog_crop.py b/activitysim/examples/prototype_semcog/scripts/semcog_crop.py new file mode 100644 index 0000000000..f20ed4e7ea --- /dev/null +++ b/activitysim/examples/prototype_semcog/scripts/semcog_crop.py @@ -0,0 +1,215 @@ +import argparse +import os + +import numpy as np +import openmatrix as omx +import pandas as pd + +MAZ_OFFSET = 0 + +segments = { + "test": (149, 215), # SUPER_DIST_25==1, has univ + "z500": (0, 500), + "full": (0, 10000), +} + +land_use_zone_col = "ZONE" +hh_zone_col = "zone_id" +num_full_skim_files = 2 + +parser = argparse.ArgumentParser(description="crop PSRC raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file", +) + +args = parser.parse_args() + + +segment_name = args.segment_name[0] +check_geography = args.check_geography + +assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" +zone_min, zone_max = segments[segment_name] + +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}" + + +print(f"check_geography {check_geography}") + +if not os.path.isdir(output_dir): + print(f"creating output directory {output_dir}") + os.mkdir(output_dir) + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def integerize_id_columns(df, table_name): + columns = [ + "ZONE", + "SUPER_DIST_25", + "zone_id", + "household_id", + "person_id", + "MAZ", + "TAZ", + ] + for c in df.columns: + if c in columns: + print(f"converting {table_name}.{c} to int") + if df[c].isnull().any(): + print(df[c][df[c].isnull()]) + df[c] = df[c].astype(int) + + +def read_csv(file_name, integerize=True): + df = pd.read_csv(input_path(file_name)) + + print(f"read {file_name} {df.shape}") + + return df + + +def to_csv(df, file_name): + print(f"writing {file_name} {df.shape} {output_path(file_name)}") + df.to_csv(output_path(file_name), index=False) + + +if check_geography: + + # ######## check for orphan_households not in any maz in land_use + land_use = read_csv("land_use.csv") + + households = read_csv("households.csv") + orphan_households = households[ + ~households[hh_zone_col].isin(land_use[land_use_zone_col]) + ] + print(f"{len(orphan_households)} orphan_households") + + if len(orphan_households) > 0: + # write orphan_households to INPUT directory (since it doesn't belong in output) + file_name = "orphan_households.csv" + print( + f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}" + ) + orphan_households.to_csv(input_path(file_name), index=False) + + +# +# land_use +# +land_use = read_csv("land_use.csv") +land_use = land_use[ + (land_use[land_use_zone_col] >= zone_min) + & (land_use[land_use_zone_col] <= zone_max) +] +integerize_id_columns(land_use, "land_use") +land_use = land_use.sort_values(land_use_zone_col) + +# move index col to front +land_use.insert(0, land_use_zone_col, land_use.pop(land_use_zone_col)) + +to_csv(land_use, "land_use.csv") + +# # make sure we have some HSENROLL and COLLFTE, even for very for small samples +# if land_use['HSENROLL'].sum() == 0: +# assert segment_name != 'full', f"land_use['HSENROLL'] is 0 for full sample!" +# land_use['HSENROLL'] = land_use['AGE0519'] +# print(f"\nWARNING: land_use.HSENROLL is 0, so backfilled with AGE0519\n") +# +# if land_use['COLLFTE'].sum() == 0: +# assert segment_name != 'full', f"land_use['COLLFTE'] is 0 for full sample!" +# land_use['COLLFTE'] = land_use['HSENROLL'] +# print(f"\nWARNING: land_use.COLLFTE is 0, so backfilled with HSENROLL\n") + +# +# households +# +households = read_csv("households.csv") +households = households[households[hh_zone_col].isin(land_use[land_use_zone_col])] +integerize_id_columns(households, "households") + +# move index col to front +households.insert(0, "household_id", households.pop("household_id")) + +to_csv(households, "households.csv") + +# +# persons +# +persons = read_csv("persons.csv") +persons = persons[persons["household_id"].isin(households.household_id)] +integerize_id_columns(persons, "persons") + +# move index col to front +persons.insert(0, "person_id", persons.pop("person_id")) + + +to_csv(persons, "persons.csv") + +# +# skims +# +omx_infile_name = "skims.omx" +skim_data_type = np.float32 + +omx_in = omx.open_file(input_path(omx_infile_name)) +print(f"omx_in shape {omx_in.shape()}") + +for m in omx_in.listMappings(): + offset_map = omx_in.mapentries(m) + # otherwise we will have to offset_map zone_indexes we use to slice skim below + assert (offset_map == np.arange(len(offset_map)) + 1).all() + # print(f"{m}\n{offset_map}") + +zone = land_use.sort_values(land_use_zone_col)[[land_use_zone_col]] +zone.index = zone[land_use_zone_col] - 1 +zone_indexes = zone.index.tolist() # index of TAZ in skim (zero-based, no mapping) +zone_labels = zone[land_use_zone_col].tolist() # TAZ zone_ids in omx index order + +# create +num_outfiles = num_full_skim_files if segment_name == "full" else 1 +if num_outfiles == 1: + omx_out = [omx.open_file(output_path(f"skims.omx"), "w")] +else: + omx_out = [ + omx.open_file(output_path(f"skims{i+1}.omx"), "w") for i in range(num_outfiles) + ] + +for omx_file in omx_out: + omx_file.create_mapping(land_use_zone_col, zone_labels) + +iskim = 0 +for mat_name in omx_in.list_matrices(): + + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(omx_in[mat_name]).astype(skim_data_type) + m = m[zone_indexes, :][:, zone_indexes] + print(f"{mat_name} {m.shape}") + + omx_file = omx_out[iskim % num_outfiles] + omx_file[mat_name] = m + iskim += 1 + + +omx_in.close() +for omx_file in omx_out: + omx_file.close() diff --git a/activitysim/examples/prototype_semcog/simulation.py b/activitysim/examples/prototype_semcog/simulation.py new file mode 100755 index 0000000000..d53f5d25c7 --- /dev/null +++ b/activitysim/examples/prototype_semcog/simulation.py @@ -0,0 +1,17 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +import extensions + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/example_semcog/test/configs/settings.yaml b/activitysim/examples/prototype_semcog/test/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_semcog/test/configs/settings.yaml rename to activitysim/examples/prototype_semcog/test/configs/settings.yaml diff --git a/activitysim/examples/prototype_semcog/test/output/.gitignore b/activitysim/examples/prototype_semcog/test/output/.gitignore new file mode 100644 index 0000000000..bf5bf15e3e --- /dev/null +++ b/activitysim/examples/prototype_semcog/test/output/.gitignore @@ -0,0 +1,7 @@ +*.csv +*.log +*.prof +*.h5 +*.txt +*.yaml +*.omx diff --git a/activitysim/examples/prototype_semcog/test/output/cache/.gitignore b/activitysim/examples/prototype_semcog/test/output/cache/.gitignore new file mode 100644 index 0000000000..3dd2e62f9e --- /dev/null +++ b/activitysim/examples/prototype_semcog/test/output/cache/.gitignore @@ -0,0 +1,2 @@ +*.mmap +*.feather diff --git a/activitysim/examples/prototype_semcog/test/output/trace/.gitignore b/activitysim/examples/prototype_semcog/test/output/trace/.gitignore new file mode 100644 index 0000000000..8edb806780 --- /dev/null +++ b/activitysim/examples/prototype_semcog/test/output/trace/.gitignore @@ -0,0 +1,3 @@ +*.csv +*.log +*.txt diff --git a/activitysim/examples/example_semcog/test/regress/final_trips.csv b/activitysim/examples/prototype_semcog/test/regress/final_trips.csv similarity index 100% rename from activitysim/examples/example_semcog/test/regress/final_trips.csv rename to activitysim/examples/prototype_semcog/test/regress/final_trips.csv diff --git a/activitysim/examples/prototype_semcog/test/test_semcog.py b/activitysim/examples/prototype_semcog/test/test_semcog.py new file mode 100644 index 0000000000..8dc2dc2fcc --- /dev/null +++ b/activitysim/examples/prototype_semcog/test/test_semcog.py @@ -0,0 +1,60 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def test_semcog(): + def example_path(dirname): + resource = os.path.join("examples", "prototype_semcog", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(): + regress_trips_df = pd.read_csv(test_path("regress/final_trips.csv")) + final_trips_df = pd.read_csv(test_path("output/final_trips.csv")) + + # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, + # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum + # compare_cols = [] + pdt.assert_frame_equal(final_trips_df, regress_trips_df) + + file_path = os.path.join(os.path.dirname(__file__), "../simulation.py") + + subprocess.run( + [ + "coverage", + "run", + "-a", + file_path, + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ], + check=True, + ) + + regress() + + +if __name__ == "__main__": + + test_semcog() diff --git a/activitysim/examples/scan_examples_for_errors.py b/activitysim/examples/scan_examples_for_errors.py index 2405a00ead..75268c8160 100644 --- a/activitysim/examples/scan_examples_for_errors.py +++ b/activitysim/examples/scan_examples_for_errors.py @@ -5,10 +5,10 @@ parser = argparse.ArgumentParser() parser.add_argument( - 'working_dir', + "working_dir", type=str, - metavar='PATH', - help='path to examples working directory', + metavar="PATH", + help="path to examples working directory", ) args = parser.parse_args() @@ -16,7 +16,7 @@ files_with_errors = [] for logfile in glob.glob(f"{args.working_dir}/*/output/log/activitysim.log"): - with open(logfile, 'rt') as f: + with open(logfile, "rt") as f: printing_traceback = False found_traceback = False for n, line in enumerate(f.readlines(), start=1): diff --git a/conda-environments/activitysim-dev.yml b/conda-environments/activitysim-dev.yml index e8c2db0db9..373e03c555 100644 --- a/conda-environments/activitysim-dev.yml +++ b/conda-environments/activitysim-dev.yml @@ -5,30 +5,54 @@ channels: dependencies: - python=3.9 - pip -- numpy >= 1.16.1 -- pandas >= 1.1.0 -- pyarrow >= 2.0 -- openmatrix >= 0.3.4.1 -- pyyaml >= 5.1 -- pytables >= 3.5.1 +- asv # for benchmarking +- bump2version # for making a release +- coveralls - cytoolz >= 0.8.1 -- psutil >= 4.1 -- requests >= 2.7 -- numba >= 0.51.2 -- orca >= 1.6 -- larch >= 5.5.8 +- dask +- descartes +- filelock +- fsspec - geopandas +- gh +- git +- ipykernel # so this env will appear in jupyter as a selection - jupyterlab +- larch >= 5.5.8 - matplotlib -- descartes +- myst-parser # allows markdown in sphinx +- nbconvert +- nbformat +- numba >= 0.51.2 +- numexpr +- numpy >= 1.16.1,<=1.21 +- numpydoc +- openmatrix >= 0.3.4.1 +- orca >= 1.6 +- pandas >= 1.1.0 +- pre-commit +- psutil >= 4.1 +- pyarrow >= 2.0 +- pycodestyle +- pydata-sphinx-theme +- pyinstrument +- pypyr +- pytables >=3.5.1,<3.7 - pytest - pytest-cov -- coveralls -- pycodestyle - pytest-regressions -- git -- gh -- bump2version +- pyyaml >= 5.1 +- requests >= 2.7 +- rich +- ruby # required for benchmarking pre-commit hooks +- simwrapper > 1.7 +- snakeviz # for profiling +- sphinx +- sphinx_rtd_theme +- sphinx-argparse +- xarray >= 0.21 +- xmle +- zarr - pip: - - -e .. \ No newline at end of file + - -e .. diff --git a/conda-environments/activitysim-test-larch.yml b/conda-environments/activitysim-test-larch.yml index 474736b430..43c61e244d 100644 --- a/conda-environments/activitysim-test-larch.yml +++ b/conda-environments/activitysim-test-larch.yml @@ -6,7 +6,7 @@ channels: dependencies: - python=${TRAVIS_PYTHON_VERSION} - pip -- numpy >= 1.16.1 +- numpy >= 1.16.1,<=1.21 - pandas >= 1.1.0 - pyarrow >= 2.0 - openmatrix >= 0.3.4.1 @@ -18,8 +18,13 @@ dependencies: - numba >= 0.51.2 - orca >= 1.6 - larch >=5.5.3 +- xarray +- sharrow - pytest - pytest-cov - coveralls -- pycodestyle +- black - pytest-regressions +- xarray +- sharrow +- simwrapper > 1.7 diff --git a/conda-environments/activitysim-test.yml b/conda-environments/activitysim-test.yml index 6ca5270bd0..8c91b16676 100644 --- a/conda-environments/activitysim-test.yml +++ b/conda-environments/activitysim-test.yml @@ -6,7 +6,7 @@ channels: dependencies: - python=${TRAVIS_PYTHON_VERSION} - pip -- numpy >= 1.16.1 +- numpy >= 1.16.1,<=1.21 - pandas >= 1.1.0 - pyarrow >= 2.0 - openmatrix >= 0.3.4.1 @@ -20,5 +20,6 @@ dependencies: - pytest - pytest-cov - coveralls -- pycodestyle -- pytest-regressions \ No newline at end of file +- black +- pytest-regressions +- simwrapper > 1.7 \ No newline at end of file diff --git a/docs/add_image_map.py b/docs/add_image_map.py index a48e009b59..08ee6a66f9 100644 --- a/docs/add_image_map.py +++ b/docs/add_image_map.py @@ -1,4 +1,3 @@ - # rst doesn't support image maps, so we'll add one after the html has been built fileName = "_build/html/examples.html" @@ -38,10 +37,10 @@ print("add image map to " + fileName) -with open(fileName, encoding='utf-8') as file: +with open(fileName, encoding="utf-8") as file: lines = file.readlines() -with open(fileName, 'w') as file: +with open(fileName, "w") as file: for aLine in lines: if line in aLine: print("updated " + fileName) diff --git a/docs/benchmarking.rst b/docs/benchmarking.rst new file mode 100644 index 0000000000..bf3b85ddf2 --- /dev/null +++ b/docs/benchmarking.rst @@ -0,0 +1,283 @@ + +.. _benchmarking : + +Benchmarking +------------ + +A key focus of the ActivitySim project is *performance*. It's not enough +to build a new modeling platform that's mathematically sound and simulates +travel behavior as expected. It's also required that it do so quickly. +It's not too hard to run performance tests manually on individual models, and +doing so after making changes that are expected to *improve* performance is +typical. But monitoring performance regularly and automatically can help ensure +that new features do not introduce unexpected performance regressions (i.e. +models run slower than before). Developing an extensive set of automatic +performance benchmarks can streamline the former problem and solve the latter. + +ActivitySim includes the ability to run performance benchmarks using a tool +called `airspeed velocity `__. + +The benchmarking process is closely tied to ActivitySim's *git* repository, +so it is recommended that you use Git to clone the repository from GitHub. + + +Benchmarking Setup +~~~~~~~~~~~~~~~~~~ + +The first step in running benchmarks is to have a conda environment for +benchmarking, as well as a local clone of the main ActivitySim repository, +plus one of the ``asim-benchmarks`` repository. If you plan to submit your +benchmarking results to the common repository of results, you'll want to +also make sure that your ``asim-benchmarks`` repository is using a fork of the +common repository to which you have write-access. + +If this isn't already set up on your performance benchmarking machine, you can +do all of this setup by following these steps:: + + conda create -n ASIM-BENCH mamba git gh -c conda-forge --override-channels + conda activate ASIM-BENCH + gh auth login # <--- (only needed if gh is not logged in) + gh repo clone ActivitySim/activitysim # TEMPORARY: use jpn--/activitysim + cd activitysim + git switch develop # TEMPORARY: use performance1 branch + mamba env update --file=conda-environments/activitysim-dev.yml + cd .. + gh repo fork ActivitySim/asim-benchmarks --remote + cd asim-benchmarks + python initialize-hooks.py + +For non-Windows users, you can then actually activate the pre-commit hooks like +this:: + + pre-commit install # macOS/Linux only, do not run this line on Windows + +Windows users should not attempt to use installed pre-commit hooks with conda +(see note below). Instead, you must manually ``pre-commit run`` inside the correct +conda environment before committing. + +If this environment is set up but it's been a while since you last used it, +consider updating the environment like this:: + + conda activate ASIM-BENCH + cd activitysim + git switch develop # TEMPORARY: use performance1 branch + mamba env update --file=conda-environments/activitysim-dev.yml + cd .. + cd asim-benchmarks + git pull + +Next, we'll want to declare the specs of our benchmarking machine. Some of +these can be determined quasi-automatically, but we want to confirm the specs +we'll use as they are written with our benchmark results into the database. +Define machine specs by running this command:: + + activitysim benchmark machine + +This will start an interactive questions and answer session to describe your +computer. Don't be afraid, just answer the questions. The tool may make +suggestions, but they are not always correct, so check them first and don't just +accept all. For example, under "arch" it may suggest "AMD64", but for consistency +you can change that to "x86_64", which is the same thing by a different name. + +Running Benchmarks +~~~~~~~~~~~~~~~~~~ + +ActivitySim automates the process of running many benchmarks. It can also easily +accumulate and analyze benchmark results across many different machines, as long as the +benchmarks are all run in the same (relative) place. So before running benchmarks, +change your working directory (at the command prompt) into the top directory of +the `asim-benchmarks` repository, if you're not already there. + +To run all of the benchmarks on the most recent commit in the main ActivitySim repo:: + + activitysim benchmark latest + +.. important:: + + The benchmarks do not currently use ActivitySim's dynamic chunking features, + as these require manual configuration and training on a per-machine basis + to ensure good performance. + + Running the complete suite of benchmarks currently includes downloading and + running full-region model data for several different SANDAG zone systems. + Ideally you should have at least 50 GB of free disk space and 120 GB of RAM + to attempt this process on any given machine. For a smaller machine, consider + benchmarking only the "test" sized examples, by adding `--bench sandag.example` + to this command, as discussed below. + +This will run the benchmarks only on the "HEAD" commit of the main activitysim git +repository. To run on some other historical commit[s] from the git history, you can +specify an individual commit or a range, in the same way you would do so for the +`git log` command. For example, to run benchmarks on the commits to develop since +it was branched off master, run:: + + activitysim benchmark run master..develop + +or to run only on the latest commit in develop, run:: + + activitysim benchmark run "develop^!" + +Note that the literal quotation marks are necessary on Windows, as the carat character +preceding the exclamation mark is otherwise interpreted as an escape character. +In most other shells (e.g. on Linux or macOS) the literal quotation marks are unnecessary. + +To run only benchmarks from a certain example, we can +use the `--bench` argument, which allows us to write a "regular expression" that +filters the benchmarks actually executed. This is handy if you are interested in +benchmarking a particular model or component, as running *all* the benchmarks can +take a very long time, and the larger benchmarks (e.g. on the full SANDAG model) +will need a lot of disk space and RAM. For example, to run only the mandatory +tour frequency benchmark for the SANDAG 1-Zone example-sized system, run:: + + activitysim benchmark latest --bench sandag1example.time_mandatory_tour_frequency + +The "." character here means a literal dot, but since this is a regex expression, +it is also a single-character wildcard. Thus, you can run all the example-sized +SANDAG benchmarks with:: + + activitysim benchmark latest --bench sandag.example + +You can also repeat the `--bench` argument to give multiple different expressions. +So, you can run just the 1- and 2-zone examples, without the 3-zone example:: + + activitysim benchmark latest --bench sandag1example --bench sandag2example + +If you want to run several different benchmarking commmands together, for example +to run a custom curated subset of interesting benchmarks, the benchmark tool also +includes a `batch` mode. You can assemble the various commands you would run +(i.e. everything you would type on the command line after "activitysim benchmark") +into a text file, and then point to that file using the `batch` command:: + + activitysim benchmark batch my_interesting_benchmarks.txt + + +Threading Limits +~~~~~~~~~~~~~~~~ + +When you run benchmarking using the `activitysim benchmark` command, the +following environment variable are set automatically before benchmarking begins:: + + MKL_NUM_THREADS = 1 + OMP_NUM_THREADS = 1 + OPENBLAS_NUM_THREADS = 1 + NUMBA_NUM_THREADS = 1 + VECLIB_MAXIMUM_THREADS = 1 + NUMEXPR_NUM_THREADS = 1 + +This ensures that all benchmarking operations run processes in single-threaded +mode. This still allows ActivitySim itself to spin up multiple processes if the +item being timed is a multiprocess benchmark. + +Submitting Benchmarks +~~~~~~~~~~~~~~~~~~~~~ + +One of the useful features of the airspeed velocity benchmarking engine is the +opportunity to compare performance benchmarks across different machines. The +ActivitySim community is interested in aggregating such results from a number +of participants, so once you have successfully run a set of benchmarks, you +should submit those results to our repository. + +To do so, assuming you have run the benchmark tool inside the ``asim-benchmarks`` +repository as noted above, you simply need to commit any new or changed files +in the ``asim-benchmarks/results`` directory. You can then open a pull request +against the community ``asim-benchmarks`` to submit those results. + +Assuming you are in (or first ``cd`` into) the ``asim-benchmarks`` directory, You can +do this from the command line using the following steps:: + + git add results + pre-commit run # required on Windows only, see note + git commit -m "adding benchmark results" + git push + gh pr create + +.. note:: + + On Windows, the process for automatically running pre-commit hooks when + making a Git a commit is not compatible with conda, see + `here `. This will + probably never be fixed, as the developers of pre-commit and conda each + feel that the "bug" is in the other library. So, manually running the + pre-commit step is required. + +Users may find it simpler to skip the last step on the command line, and simply +visit their fork on GitHub.com to use the web interface to open a pull request. + +Publishing to Github Pages +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Publishing the standard airspeed velocity content to GitHub pages is a built-in +feature of the command line tool, available to users who have write-access to the +asim-benchmarks GitHub repository. Be sure you have all the relevant branches +tracked locally (especially master and develop) and then run:: + + activitysim benchmark gh-pages + + +Profiling +~~~~~~~~~ + +The benchmarking tool can also be used for profiling, which allows a developer to +inspect the timings for various commands *inside* a particular benchmark. This is +most conveniently accomplished using the ``snakeviz`` tool, which should be installed +in the developer tools environment (``conda install snakeviz -c conda-forge``). +Then, the developer needs to run two commands to compute and view the component +profile. + +To create a profile record when benchmarking, add the ``--profile`` option when +running the benchmarks. For example, to create profile records for the SANDAG +example-sized model's non-mandatory tour scheduling component across all three +zone systems, run:: + + activitysim benchmark latest --bench sandag.example.non_mandatory_tour_scheduling --profile + +This command will save the profiling data directly into the json file that stores +the benchmark timings. This is a lot of extra data, so it's not advised to +save profiling data for every benchmark, but only for benchmarks of particular +interest. + +Once this data has been saved, you can access it using the ``snakeviz`` tool. This +visualization requires pointing to a specific profiled benchmark in a specific +json result file. For example:: + + activitysim benchmark snakeviz results/LUMBERJACK/241ddb64-env-c87ac846ee78e51351a06682de5adcb5.json sandag3example.non_mandatory_tour_scheduling.time_component + +On running this command, a web browser should pop open to display the snakeviz +interface. + +Writing New Benchmarks +~~~~~~~~~~~~~~~~~~~~~~ + +New benchmarks for other model examples can be added to +``activitysim/benchmarking/benchmarks``. A basic template structure has been used, +so that it should be relatively straight-forward to implement component-level +single thread benchmarks for any model that is available using the +``activitysim create`` tool. + +A basic framework for multi-processing benchmarks has been implemented and is +demonstrated in the ``mtc1mp4`` benchmark file. However, work remains to write +a stable process to execute chunking training for each machine prior to running +the production-version benchmarks that will be meaningful for users. + +Running Benchmarks for Pull Requests +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The complete set of performance benchmarks is too large to include in ActivitySim's +automatic continuous integration (CI) testing, both by compute time and by memory usage. +However, it is valuable to run these tests once against the final version of +each PR before merging into the ``develop`` branch, to ensure there are no +unexpected performance regressions. The airspeed velocity tools include a special +CI mode, which runs the same benchmarks on the same machine with the same settings, +giving developers a fair shot at a strict apples-to-apples comparison of performance. + +This mode can be activated to check the performance of code on a git branch called +``my-new-feature-branch``, and compare against the ``develop`` branch like this:: + + activitysim benchmark continuous develop my-new-feature-branch + +Unlike other tests for mathematical correctness, it is not always necessary that +new PR's must "pass" this testing, as new features or capabilities may justify a +performance degradation. But developers should always run these tests on new PR's +so that the community is aware of the trade offs (if any) and can take steps to +mitigate problems promptly if desired. + diff --git a/docs/cli.rst b/docs/cli.rst index 191a85a770..c309971b29 100644 --- a/docs/cli.rst +++ b/docs/cli.rst @@ -15,7 +15,7 @@ Create ------ Create an ActivitySim example setup. See ``activitysim create -h`` for more information. -More complete examples, including the full scale MTC +More complete examples, including the full scale prototype MTC regional demand model are available for creation by typing ``activitysim create -l``. To create these examples, ActivitySim downloads the large input files from the `ActivitySim resources `__ repository. diff --git a/docs/conf.py b/docs/conf.py index bcbaac3607..082acb46a3 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,13 +12,14 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys import os +import sys import sphinx_rtd_theme # -- Get Package Version -------------------------------------------------- import activitysim + print("package version: " + activitysim.__version__) # If extensions (or modules to document with autodoc) are in another directory, @@ -35,29 +36,29 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.mathjax', - 'numpydoc', - 'sphinx.ext.autosummary' + "sphinx.ext.autodoc", + "sphinx.ext.mathjax", + "numpydoc", + "sphinx.ext.autosummary", ] numpydoc_show_class_members = False # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # The suffix of source filenames. -source_suffix = '.rst' +source_suffix = ".rst" # The encoding of source files. # source_encoding = 'utf-8-sig' # The master toctree document. -master_doc = 'index' +master_doc = "index" # General information about the project. -project = u'ActivitySim' -copyright = u'contributing authors' +project = "ActivitySim" +copyright = "contributing authors" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -80,7 +81,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['_build'] +exclude_patterns = ["_build"] # The reST default role (used for this markup: `text`) to use for all # documents. @@ -98,7 +99,7 @@ # show_authors = False # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = "sphinx" # A list of ignored prefixes for module index sorting. # modindex_common_prefix = [] @@ -189,28 +190,31 @@ # html_file_suffix = None # Output file base name for HTML help builder. -htmlhelp_basename = 'ActivitySimdoc' +htmlhelp_basename = "ActivitySimdoc" # -- Options for LaTeX output --------------------------------------------- latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - # 'papersize': 'letterpaper', - - # The font size ('10pt', '11pt' or '12pt'). - # 'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - # 'preamble': '', + # The paper size ('letterpaper' or 'a4paper'). + # 'papersize': 'letterpaper', + # The font size ('10pt', '11pt' or '12pt'). + # 'pointsize': '10pt', + # Additional stuff for the LaTeX preamble. + # 'preamble': '', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', 'ActivitySim.tex', u'ActivitySim Documentation', - u'contributing authors', 'manual'), + ( + "index", + "ActivitySim.tex", + "ActivitySim Documentation", + "contributing authors", + "manual", + ), ] # The name of an image file (relative to this directory) to place at the top of @@ -239,8 +243,7 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'activitysim', u'ActivitySim Documentation', - [u'contributing authors'], 1) + ("index", "activitysim", "ActivitySim Documentation", ["contributing authors"], 1) ] # If true, show URL addresses after external links. @@ -253,9 +256,15 @@ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'ActivitySim', u'ActivitySim Documentation', - u'contributing authors', 'ActivitySim', 'One line description of project.', - 'Miscellaneous'), + ( + "index", + "ActivitySim", + "ActivitySim Documentation", + "contributing authors", + "ActivitySim", + "One line description of project.", + "Miscellaneous", + ), ] # Documents to append as an appendix to all manuals. @@ -271,10 +280,10 @@ # texinfo_no_detailmenu = False # -- Table width fix for Read the Docs Sphinx theme ----------------------- -html_static_path = ['_static'] +html_static_path = ["_static"] html_context = { - 'css_files': [ - '_static/theme_overrides.css', # override wide tables in RTD theme - ], - } + "css_files": [ + "_static/theme_overrides.css", # override wide tables in RTD theme + ], +} diff --git a/docs/core.rst b/docs/core.rst index 717b126bf8..bd4a3a30f1 100644 --- a/docs/core.rst +++ b/docs/core.rst @@ -2,11 +2,11 @@ Core Components =============== -ActivitySim's core components include features for multiprocessing, data management, -utility expressions, choice models, person time window management, and helper -functions. These core components include the multiprocessor, network LOS (skim) manager, the -data pipeline manager, the random number manager, the tracer, sampling -methods, simulation methods, model specification readers and expression +ActivitySim's core components include features for multiprocessing, data management, +utility expressions, choice models, person time window management, and helper +functions. These core components include the multiprocessor, network LOS (skim) manager, the +data pipeline manager, the random number manager, the tracer, sampling +methods, simulation methods, model specification readers and expression evaluators, choice models, timetable, transit virtual path builder, and helper functions. .. _multiprocessing_in_detail: @@ -69,7 +69,7 @@ API Pipeline ~~~~~~~~ -Data pipeline manager, which manages the list of model steps, runs them, reads +Data pipeline manager, which manages the list of model steps, runs them, reads and writes data tables from/to the pipeline datastore, and supports restarting of the pipeline at any model step. @@ -93,8 +93,9 @@ ActivitySim's random number generation has a number of important features unique * Repeatable household-level choices - results for a household are repeatable when run with different sample sizes * Repeatable household level results with different scenarios - results for a household are repeatable with different scenario configurations sequentially up to the point at which those differences emerge, and in alternate submodels in which those differences do not apply. -Random number generation is done using the `numpy Mersenne Twister PNRG `__. -ActivitySim seeds on-the-fly and uses a stream of random numbers seeded by the household id, person id, tour id, trip id, the model step offset, and the global seed. +Random number generation is done using the `numpy Mersenne Twister PNRG `__. +ActivitySim seeds on-the-fly and uses a stream of random numbers seeded by the household id, person id, tour id, trip id, the model step offset, and the global seed. +The global seed can be set in the settings.yaml file using the ```rng_base_seed`` option. The logic for calculating the seed is something along the lines of: :: @@ -109,7 +110,7 @@ The logic for calculating the seed is something along the lines of: 0 = first household model - auto ownership 1 = global seed offset for testing the same model under different random global seeds -ActivitySim generates a separate, distinct, and stable random number stream for each tour type and tour number in order to maintain as much stability as is +ActivitySim generates a separate, distinct, and stable random number stream for each tour type and tour number in order to maintain as much stability as is possible across alternative scenarios. This is done for trips as well, by direction (inbound versus outbound). .. note:: @@ -124,7 +125,7 @@ API Tracing ~~~~~~~ -Household tracer. If a household trace ID is specified, then ActivitySim will output a +Household tracer. If a household trace ID is specified, then ActivitySim will output a comprehensive set of trace files for all calculations for all household members: * ``hhtrace.log`` - household trace log file, which specifies the CSV files traced. The order of output files is consistent with the model sequence. @@ -145,8 +146,8 @@ API Utility Expressions ------------------- -Much of the power of ActivitySim comes from being able to specify Python, pandas, and -numpy expressions for calculations. Refer to the pandas help for a general +Much of the power of ActivitySim comes from being able to specify Python, pandas, and +numpy expressions for calculations. Refer to the pandas help for a general introduction to expressions. ActivitySim provides two ways to evaluate expressions: * Simple table expressions are evaluated using ``DataFrame.eval()``. `pandas' eval `__ operates on the current table. @@ -184,23 +185,23 @@ An expressions file has the following basic form: | util_dist_0_1 | Distance, from 0 to 1 miles | @skims['DIST'].clip(1) | | coef_dist_0_1 | +---------------------------------+---------------------------------+-------------------------------+-----------+---------------------------------+ -In the :ref:`tour_mode_choice` model expression file example shown below, the ``@c_ivt*(@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'])`` -expression is travel time for the tour origin to destination at the tour start time plus the tour destination to tour origin at the tour end time. +In the :ref:`tour_mode_choice` model expression file example shown below, the ``@c_ivt*(@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'])`` +expression is travel time for the tour origin to destination at the tour start time plus the tour destination to tour origin at the tour end time. The ``odt_skims`` and ``dot_skims`` objects are setup ahead-of-time to refer to the relevant skims for this model. The ``@c_ivt`` comes from the -tour mode choice coefficient file. The tour mode choice model is a nested logit (NL) model and the nesting structure (including nesting +tour mode choice coefficient file. The tour mode choice model is a nested logit (NL) model and the nesting structure (including nesting coefficients) is specified in the YAML settings file. +-----------------------------------------------------------+--------------------------------------------------------+------------------------------------------------+-----------------+---------------+ | Label | Description | Expression | DRIVEALONEFREE | DRIVEALONEPAY | -+===========================================================+========================================================+================================================+=================+===============+ -| util_DRIVEALONEFREE_Unavailable | DRIVEALONEFREE - Unavailable | sov_available == False | -999 | | -+-----------------------------------------------------------+--------------------------------------------------------+------------------------------------------------+-----------------+---------------+ ++===========================================================+========================================================+================================================+=================+===============+ +| util_DRIVEALONEFREE_Unavailable | DRIVEALONEFREE - Unavailable | sov_available == False | -999 | | ++-----------------------------------------------------------+--------------------------------------------------------+------------------------------------------------+-----------------+---------------+ | util_DRIVEALONEFREE_In_vehicle_time | DRIVEALONEFREE - In-vehicle time | odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'] | coef_ivt | | -+-----------------------------------------------------------+--------------------------------------------------------+------------------------------------------------+-----------------+---------------+ -| util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16 | DRIVEALONEFREE - Unavailable for persons less than 16 | age < 16 | -999 | | -+-----------------------------------------------------------+--------------------------------------------------------+------------------------------------------------+-----------------+---------------+ -| util_DRIVEALONEFREE_Unavailable_for_joint_tours | DRIVEALONEFREE - Unavailable for joint tours | is_joint == True | -999 | | -+-----------------------------------------------------------+--------------------------------------------------------+------------------------------------------------+-----------------+---------------+ ++-----------------------------------------------------------+--------------------------------------------------------+------------------------------------------------+-----------------+---------------+ +| util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16 | DRIVEALONEFREE - Unavailable for persons less than 16 | age < 16 | -999 | | ++-----------------------------------------------------------+--------------------------------------------------------+------------------------------------------------+-----------------+---------------+ +| util_DRIVEALONEFREE_Unavailable_for_joint_tours | DRIVEALONEFREE - Unavailable for joint tours | is_joint == True | -999 | | ++-----------------------------------------------------------+--------------------------------------------------------+------------------------------------------------+-----------------+---------------+ * Rows are vectorized expressions that will be calculated for every record in the current table being operated on * The Label column is the unique expression name (used for model estimation integration) @@ -208,8 +209,8 @@ coefficients) is specified in the YAML settings file. * The Expression column contains a valid vectorized Python/pandas/numpy expression. In the example above, ``drivers`` is a column in the current table. Use ``@`` to refer to data outside the current table * There is a column for each alternative and its relevant coefficient from the submodel coefficient file -There are some variations on this setup, but the functionality is similar. For example, -in the example destination choice model, the size terms expressions file has market segments as rows and employment type +There are some variations on this setup, but the functionality is similar. For example, +in the example destination choice model, the size terms expressions file has market segments as rows and employment type coefficients as columns. Broadly speaking, there are currently four types of model expression configurations: * Simple :ref:`simulate` choice model - select from a fixed set of choices defined in the specification file, such as the example above. @@ -219,10 +220,10 @@ coefficients as columns. Broadly speaking, there are currently four types of mo Expressions ~~~~~~~~~~~ -The expressions class is often used for pre- and post-processor table annotation, which read a CSV file of expression, calculate -a number of additional table fields, and join the fields to the target table. An example table annotation expressions -file is found in the example configuration files for households for the CDAP model - -`annotate_households_cdap.csv `__. +The expressions class is often used for pre- and post-processor table annotation, which read a CSV file of expression, calculate +a number of additional table fields, and join the fields to the target table. An example table annotation expressions +file is found in the example configuration files for households for the CDAP model - +`annotate_households_cdap.csv `__. .. automodule:: activitysim.core.expressions :members: @@ -230,13 +231,13 @@ file is found in the example configuration files for households for the CDAP mod Sampling with Interaction ~~~~~~~~~~~~~~~~~~~~~~~~~ -Methods for expression handling, solving, and sampling (i.e. making multiple choices), -with interaction with the chooser table. +Methods for expression handling, solving, and sampling (i.e. making multiple choices), +with interaction with the chooser table. -Sampling is done with replacement and a sample correction factor is calculated. The factor is +Sampling is done with replacement and a sample correction factor is calculated. The factor is calculated as follows: -:: +:: freq = how often an alternative is sampled (i.e. the pick_count) prob = probability of the alternative @@ -248,8 +249,8 @@ calculated as follows: prob 0.30 0.30 0.30 0.30 0.30 correction factor 1.20 1.90 2.30 2.59 2.81 -As the alternative is oversampled, its utility goes up for final selection. The unique set -of alternatives is passed to the final choice model and the correction factor is +As the alternative is oversampled, its utility goes up for final selection. The unique set +of alternatives is passed to the final choice model and the correction factor is included in the utility. API @@ -263,7 +264,7 @@ API Simulate ~~~~~~~~ -Methods for expression handling, solving, choosing (i.e. making choices) from a fixed set of choices +Methods for expression handling, solving, choosing (i.e. making choices) from a fixed set of choices defined in the specification file. API @@ -277,20 +278,20 @@ API Simulate with Interaction ~~~~~~~~~~~~~~~~~~~~~~~~~ -Methods for expression handling, solving, choosing (i.e. making choices), -with interaction with the chooser table. +Methods for expression handling, solving, choosing (i.e. making choices), +with interaction with the chooser table. API ^^^ .. automodule:: activitysim.core.interaction_simulate :members: - + Simulate with Sampling and Interaction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Methods for expression handling, solving, sampling (i.e. making multiple choices), -and choosing (i.e. making choices), with interaction with the chooser table. +Methods for expression handling, solving, sampling (i.e. making multiple choices), +and choosing (i.e. making choices), with interaction with the chooser table. API ^^^ @@ -301,7 +302,7 @@ API Assign ~~~~~~ -Alternative version of the expression evaluators in :mod:`activitysim.core.simulate` that supports temporary variable assignment. +Alternative version of the expression evaluators in :mod:`activitysim.core.simulate` that supports temporary variable assignment. Temporary variables are identified in the expressions as starting with "_", such as "_hh_density_bin". These fields are not saved to the data pipeline store. This feature is used by the :ref:`accessibility` model. @@ -345,9 +346,9 @@ API Person Time Windows ------------------- -The departure time and duration models require person time windows. Time windows are adjacent time -periods that are available for travel. Time windows are stored in a timetable table and each row is -a person and each time period (in the case of MTC TM1 is 5am to midnight in 1 hr increments) is a column. +The departure time and duration models require person time windows. Time windows are adjacent time +periods that are available for travel. Time windows are stored in a timetable table and each row is +a person and each time period (in the case of MTC TM1 is 5am to midnight in 1 hr increments) is a column. Each column is coded as follows: * 0 - unscheduled, available @@ -356,7 +357,7 @@ Each column is coded as follows: * 6 - scheduled, end or start of a tour, available for this period only * 7 - scheduled, unavailable, middle of a tour -A good example of a time window expression is ``@tt.previous_tour_ends(df.person_id, df.start)``. This +A good example of a time window expression is ``@tt.previous_tour_ends(df.person_id, df.start)``. This uses the person id and the tour start period to check if a previous tour ends in the same time period. API @@ -371,38 +372,38 @@ Transit Virtual Path Builder ---------------------------- Transit virtual path builder (TVPB) for three zone system (see :ref:`multiple_zone_systems`) transit path utility calculations. -TAP to TAP skims and walk access and egress times between MAZs and TAPs are input to the -demand model. ActivitySim then assembles the total transit path utility based on the user specified TVPB +TAP to TAP skims and walk access and egress times between MAZs and TAPs are input to the +demand model. ActivitySim then assembles the total transit path utility based on the user specified TVPB expression files for the respective components: -* from MAZ to first boarding TAP + -* from first boarding to final alighting TAP + +* from MAZ to first boarding TAP + +* from first boarding to final alighting TAP + * from alighting TAP to destination MAZ -This assembling is done via the TVPB, which considers all the possible combinations of nearby boarding and alighting TAPs for each origin +This assembling is done via the TVPB, which considers all the possible combinations of nearby boarding and alighting TAPs for each origin destination MAZ pair and selects the user defined N best paths to represent the transit mode. After selecting N best paths, the logsum across -N best paths is calculated and exposed to the mode choice models and a random number is drawn and a path is chosen. The boarding TAP, -alighting TAP, and TAP to TAP skim set for the chosen path is saved to the chooser table. +N best paths is calculated and exposed to the mode choice models and a random number is drawn and a path is chosen. The boarding TAP, +alighting TAP, and TAP to TAP skim set for the chosen path is saved to the chooser table. -The initialize TVPB submodel (see :ref:`initialize_los`) pre-computes TAP to TAP total utilities for the user defined attribute_segments, +The initialize TVPB submodel (see :ref:`initialize_los`) pre-computes TAP to TAP total utilities for the user defined attribute_segments, which are typically demographic segment (for example household income bin), time-of-day, and access/egress mode. This submodel can be run in both single process and multiprocess mode, with single process excellent for development/debugging and multiprocess excellent -for application. ActivitySim saves the pre-calculated TAP to TAP total utilities to a memory mapped cache file for reuse by downstream models -such as tour mode choice. In tour mode choice, the pre-computed TAP to TAP total utilities for the attribute_segment, along with the -access and egress impedances, are used to evaluate the best N TAP pairs for each origin MAZ destination MAZ pair being evaluated. -Assembling the total transit path impedance and then picking the best N is quick since it is done in a de-duplicated manner within +for application. ActivitySim saves the pre-calculated TAP to TAP total utilities to a memory mapped cache file for reuse by downstream models +such as tour mode choice. In tour mode choice, the pre-computed TAP to TAP total utilities for the attribute_segment, along with the +access and egress impedances, are used to evaluate the best N TAP pairs for each origin MAZ destination MAZ pair being evaluated. +Assembling the total transit path impedance and then picking the best N is quick since it is done in a de-duplicated manner within each chunk of multiprocessed choosers. -A model with TVPB can take considerably longer to run than a traditional TAZ based model since it does an order of magnitude more -calculations. Thus, it is important to be mindful of your approach to your network model as well, especially the number of TAPs -accessible to each MAZ, which is the key determinant of runtime. +A model with TVPB can take considerably longer to run than a traditional TAZ based model since it does an order of magnitude more +calculations. Thus, it is important to be mindful of your approach to your network model as well, especially the number of TAPs +accessible to each MAZ, which is the key determinant of runtime. API ~~~ .. automodule:: activitysim.core.pathbuilder :members: - + Cache API ~~~~~~~~~ @@ -410,6 +411,194 @@ Cache API .. automodule:: activitysim.core.pathbuilder_cache :members: +.. _visualization: + +Visualization +------------- +Visualization capabilities are provided with SimWrapper, a standalone browser-based software that creates interactive, graphical visualizations of ActivitySim outputs. SimWrapper builds graphs and other visualization components from CSV summary tables that are produced by the *summarize* model step. Once the model run is complete, Simwrapper can be started and stopped at any time, independent of ActivitySim to visualize outputs. The tool currently allows users to view dashboards for multiple model runs side-by-side in the browser. The ability to compute and visualize the differences between two model runs is a planned future enhancement. + +To use set up the summarize model to produce tables for SimWrapper, add ``summarize`` to the list of models in ``configs_mp/settings.yaml`` and add the following files to the `config` directory: + +* ``summarize.yaml``: configuration for the summarize model step +* ``summarize.csv:`` expression file containing the final aggregations that will be generated at the end of the model run +* ``summarize_preprocessor.csv``: intermediate expression file used to add columns, including skim summaries, to the ``trips_merged`` pipeline table + +In the output directory, add a new summarize directory, which must contain: + +* ``dashboard-1-summary.yaml``: configuration for the layout and formatting of charts and other objects in the dashboard +* Additional ``dashboard-\*.yaml`` files may be used to configure additional dashboard tabs +* ``topsheet.yaml``: configuration for calculated statistics in the ‘At-a-Glance’ table at the top of the dashboard +* The ``/output/summarize`` directory may also contain one or more .geojson files to support map-based visualizations in the dashboard. + +At present, example versions of all of the items above are located in the prototype MTC example model: ``/activitysim/examples/prototype_mtc``. Complete documentation for configuring dashboards is available in the `SimWrapper Docs `_. + + +Configure the Summarize Model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Summary Expressions +^^^^^^^^^^^^^^^^^^^ +Example configuration files for the summarize model step (as listed above) are included in prototype MTC example. These files will need to be adjusted to produce customized SimWrapper dashboards. These files are structured as standard ActivitySim expression (CSV) and configuration (YAML) files. More detailed information about configuration of the summarize model step is available in the Models documentation. + +You may wish to manipulate the default expression files to suit your particular needs. Expression files are formatted as CSVs and structured according to ActivitySim conventions with three columns: + +* ``Description``: Brief description of expression. Non-functional and may be left blank. +* ``Output``: Name of expression output. Will be used to name either the CSV or local variable storing the expression output. +* ``Expression``: Python expression that will be evaluated to produce the output. + +Rows with output values that begin with an alphanumeric character will be saved to a CSV (e.g., ``output_name`` --> ``output_name.csv``). These expressions must yield a Pandas Series, DataFrame, or another object with a ``to_csv`` method. + +Rows with output values that begin with underscores (e.g., ``_output_name``) will be stored as temporary variables in the local namespace so they can be used in following expressions. Expressions defining temporary variables can produce any data type. Users are encouraged to follow the ActivitySim convention using capitals to denote constants (e.g., ``_TEMP_CONSTANT``), though this convention is not formally enforced for summarize expressions. + +Summarize expressions can make use of several convenience functions for binning numeric Pandas Series' into quantiles, equal intervals, or manually-specified ranges. These functions are available in the local namespace used to evaluate summarize expressions (as well as for preprocessing the ``trips_merged`` table; see below), so they can be used directly in summary expressions. These functions include: + +* ``quantiles``: Construct quantiles from a Series given a number of bins. +* ``spaced_intervals``: Construct evenly-spaced intervals from a Series given a starting value and bin size. +* ``equal_intervals``: Construct equally-spaced intervals across the entire range of a Series. +* ``manual_breaks``: Classify numeric data in a Series into manually-defined bins. + +For example population density quintiles could be calculated with the expression: +:: + + quantiles(data=land_use.TOTPOP/land_use.TOTACRE, bins:5, label_format:'{rank}') + +The ``label_format`` parameter uses f-string formatting to specify how bins should be labeled. Several named variables are automatically available in the local namespace for use in labels: + +* ``left``: Left extent, or minimum, of the bin range +* ``mid``: Center of the bin range +* ``right``: Right extent, or maximum, of the bin range +* ``rank``: Numeric rank of the bin, with 1 being the lowest rank + +By default, bins are labeled with their extents using the following f-string: ``'{left:,.2f} - {right:,.2f}'``. The ``'{rank}'`` option demonstrated above would label each bin with its ordinal rank. Numeric labels are converted to numeric data types, if possible. + +Examples of each summarize function are included in the ``summarize.csv`` expression file for the prototype MTC example. Consult the docstrings for each function in the ``/activitysim/abm/models/summarize.py`` module for complete specification of parameters. + +Preprocessing +^^^^^^^^^^^^^ +Pipeline tables available for summarization can be preprocessed to include columns that bin or aggregate existing columns into categories or add skim data related to trips or tours. Preprocessing is configured both in ``summarize.yaml`` and ``summarize_preprocessor.csv``. + +Binning and aggregation operations that should take place *before* expressions are calculated, in order to produce a new column in a pipeline table, can be specified in ``summarize.yaml``. This can be useful for reducing clutter and redundancy in the summary expressions file. + +Binning during the preprocessing stage uses the same convenience functions available for expression files but specifies them in the configuration YAML. To calculate manually-defined income categories, for example, the YAML would include: + +:: + + persons_merged: # Pipeline table on which to operate + BIN: + # Manually-specified bins + - column: income # Column on which to operate + label: income_category # New column to make + type: manual_breaks # Binning function + bin_breaks: # Must include lower and upper extents; + - 0 # (One more value than the number of bins) + - 25000 + - 50000 + - 75000 + - 100000 + - 999999 + bin_labels: # (optional) + - Very Low Income ($0-$25k) + - Low Income ($25k-$50k) + - Medium Income ($50k-$75k) + - High Income ($75k-$100k) + - Very High Income (>$100k) + +Example uses of each binning function are included in the ``summarize.yaml`` configuration file in the prototype MTC example. + +Table columns can also be aggregated, or "remapped," during the preprocessing stage. Aggregations are specified in the configuration YAML using a key-value structure: + +:: + + trips_merged: # Pipeline table on which to operate + AGGREGATE: + - column: major_trip_mode # Column on which to operate + label: major_trip_mode # New column to make + map: + DRIVEALONEFREE: SOV # Keys: Existing values to map from + DRIVEALONEPAY: SOV # Values: New values to map to + SHARED2FREE: HOV + SHARED2PAY: HOV + SHARED3FREE: HOV + SHARED3PAY: HOV + WALK_LOC: Transit + WALK_LRF: Transit + WALK_EXP: Transit + WALK_HVY: Transit + WALK_COM: Transit + DRIVE_LOC: Transit + DRIVE_LRF: Transit + DRIVE_EXP: Transit + DRIVE_HVY: Transit + DRIVE_COM: Transit + DRIVEACCESS: Transit + WALK: Non-Motorized + BIKE: Non-Motorized + TAXI: Ride Hail + TNC_SINGLE: Ride Hail + TNC_SHARED: Ride Hail + + +Trip-level skim data are also made available in the preprocessing stage by attaching columns to the ``trips_merged`` table based on expressions in ``summarize_preprocessor.csv``. This process uses skim wrappers indexed by origin, destination, and time of day to gather distance, time, and cost data and each trip, enabling calculation of variables such as vehicle miles traveled (VMT). Preprocessing expressions are interpreted with standard ActivitySim annotation methods, including definition of scalar and vector temporary variables based on underscores and capitalization. The preprocessor expressions included in the prototype MTC example demonstrate calculation of a number of skim-based variables involving distance, time, and cost. The system for joining skim data to trips is currently configured for the one-zone MTC example model and will need to be generalized for multi-zone systems in future work. + + +Install and Run Simwrapper +~~~~~~~~~~~~~~~~~~~~~~~~~~ +The SimWrapper Python package, which contains convenience functions for initiating the SimWrapper app in the browser and a local file server for accessing summary tables from this app, is automatically installed as a dependency of ActivitySim. However, you can also use SimWrapper independent of ActivitySim to, for example, visualize summaries on a different workstation. SimWrapper is available on both conda-forge and pip: +:: + + > conda install -c conda-forge simwrapper + +or + + > pip install simwrapper + +The latest information about the Simwrapper package is available on its `PyPI page `_. + +To run SimWrapper, navigate on the command line to ``output\summarize`` within the model directory, or a directory where you may have copied outputs, and run: +:: + + > simwrapper open asim + +This will start SimWrapper in your default browser. If this directory contains the appropriate configuration files for a dashboard (see above), the dashboard will open automatically. Otherwise, SimWrapper will show a file browser with the contents of the directory. + + +Navigate SimWrappper +~~~~~~~~~~~~~~~~~~~~ +When Simwrapper launches, the dashboard is displayed in the scrollable field in the main part of the browser window, and there are +two sets of navigation controls. The left-hand sidebar contains a menu of the available simulation outputs you can access from the +current directory, including a number of sample outputs: + +.. image:: images/viz_nav-1.png + +The header and tabs at the top of the page help you navigate within the simulation run that is currently being visualized: + +.. image:: images/viz_nav-2.png + +Clicking on ‘Details’ will switch from the visualizations view to a current directory listing to facilitate viewing and downloading of +the code and raw data used to create the dashboard: + +.. image:: images/viz_nav-3.png + +Clicking on ‘Topsheet’ returns you to the visualization graphics page. The three buttons in the lower left corner provide additional +functionality to: + +1. re-sync with the latest version of the output files, +2. toggle light theme vs. dark theme, and +3. split the visualization window into two separate panels like this: + +.. image:: images/viz_nav-4.png + +Before starting the split-screen view, choose the model run that you want to appear in the right side pane (‘1-sf-run’ in the image above). +Then, click on the split view button to divide the window into two visualization panels. Finally, use the left-hand navigation pane to +change the comparison run on the left side (‘2-nine-county’ in the image above). + +Each side of the split screen has independent header navigation (Topsheet vs. Details) and independent vertical and horizontal scrolling. +However, panning and zooming on any one map object controls all maps on both sides of the split view at the same time: + +.. image:: images/viz_nav-5.png + +.. _helpers: + Helpers ------- @@ -423,14 +612,14 @@ Chunk Chunking management. .. note:: - The definition of chunk_size has changed from previous versions of ActivitySim. The revised definition + The definition of chunk_size has changed from previous versions of ActivitySim. The revised definition of chunk_size simplifies model setup since it is the approximate amount of RAM available to ActivitySim as opposed to the obscure number of doubles (64-bit numbers) in a chunk of a choosers table. -The ``chunk_size`` is the approximate amount of RAM in GBs to allocate to ActivitySim for batch +The ``chunk_size`` is the approximate amount of RAM in GBs to allocate to ActivitySim for batch processing choosers across all processes. It is specified in bytes, for example ``chunk_size: 500_000_000_000`` is 500 GBs. If set ``chunk_training_mode: disabled`` then no chunking will be performed and ActivitySim will attempt to solve all the -choosers at once across all the processes. Chunking is required when all the chooser data required to process all the +choosers at once across all the processes. Chunking is required when all the chooser data required to process all the choosers cannot fit within the available RAM and so ActivitySim must split the choosers into batches and then process the batches in sequence. Configuration of the ``chunk_size`` depends on several parameters: @@ -450,35 +639,35 @@ enough to fit within the available memory. For example, the choosers table is s processed in sequence. In multi process mode, for example with 10 processes, ActivitySim splits the 1 million households into 10 mini processes each with 100,000 households. Then for the auto ownership submodel, the chooser table within each process is the 100,000 choosers and there must be enough RAM to simultaneously solve all 10 processes with each 100,000 choosers at once. If not, -then chunking can be setup so each mini process table of choosers is split into chunks for sequential processing, for example from -10 tables of 100,000 choosers to 20 tables of 50,000 choosers. +then chunking can be setup so each mini process table of choosers is split into chunks for sequential processing, for example from +10 tables of 100,000 choosers to 20 tables of 50,000 choosers. -If the user desires the fastest runtimes possible given their hardware, model inputs, and model configuration, then ActivitySim +If the user desires the fastest runtimes possible given their hardware, model inputs, and model configuration, then ActivitySim should be configured to use most of the CPUs/cores (physical, not virtual), most of the RAM, and with the :ref:`mkl_settings`. For -example, if the machine has 12 cores and 256 GB of RAM, then try configuring the model with ``num_processes: 10`` and +example, if the machine has 12 cores and 256 GB of RAM, then try configuring the model with ``num_processes: 10`` and ``chunk_size: 0`` to start and seeing if the model can fit the problem into the available RAM. If not, then try setting ``chunk_size`` to something like 225 GB, ``chunk_size: 225_000_000_000``. Experimentation of the desired configuration of the CPUs and RAM should be done for each new machine and model setup (with respect to the number of households, skims, and model configuration). In general, more processors means faster runtimes and more RAM means faster runtimes, but the relationship of processors to RAM is not linear as processors can only go so fast and because there is more to runtime than processors and RAM, including cache speed, disk speed, etc. Also, the amount of RAM -to use is approximate and ActivitySim often pushes a bit above the user specified amount due to pandas/numpy memory spikes for -memory intensive operations and so it is recommended to leave some RAM unallocated. The exact amount to leave unallocated depends on the +to use is approximate and ActivitySim often pushes a bit above the user specified amount due to pandas/numpy memory spikes for +memory intensive operations and so it is recommended to leave some RAM unallocated. The exact amount to leave unallocated depends on the parameters above. To configure chunking behavior, ActivitySim must first be trained with the model setup and machine. To do so, first run the model with ``chunk_training_mode: training``. This tracks the amount of memory used by each table by submodel and writes the results to a cache file that is then re-used for production runs. This training mode is significantly slower than production mode since it does -significantly more memory inspection. For a training mode run, set ``num_processors`` to about 80% of the avaiable logical processors and ``chunk_size`` +significantly more memory inspection. For a training mode run, set ``num_processors`` to about 80% of the avaiable logical processors and ``chunk_size`` to about 80% of the available RAM. This will run the model and create the ``chunk_cache.csv`` file in output\cache for reuse. After creating the chunk cache file, the model can be run with ``chunk_training_mode: production`` and the desired ``num_processors`` and ``chunk_size``. The model will read the chunk cache file from the output\cache folder, similar to how it reads cached skims if specified. -The software trains on the size of problem so the cache file can be re-used and only needs to be updated due to significant revisions in population, -expression, skims/network LOS, or changes in machine specs. If run in production mode and no cache file is found then ActivitySim falls -back to training mode. A third ``chunk_training_mode`` is adaptive, which if a cache file exists, runs the model with the starting cache -settings but also updates the cache settings based on additional memory inspection. This may additionally improve the cache setttings to -reduce runtimes when run in production mode. If ``resume_after`` is set, then the chunk cache file is not overwritten in cache directory +The software trains on the size of problem so the cache file can be re-used and only needs to be updated due to significant revisions in population, +expression, skims/network LOS, or changes in machine specs. If run in production mode and no cache file is found then ActivitySim falls +back to training mode. A third ``chunk_training_mode`` is adaptive, which if a cache file exists, runs the model with the starting cache +settings but also updates the cache settings based on additional memory inspection. This may additionally improve the cache setttings to +reduce runtimes when run in production mode. If ``resume_after`` is set, then the chunk cache file is not overwritten in cache directory since the list of submodels would be incomplete. A foruth ``chunk_training_mode`` is disabled, which assumes the model can be run without -chunking due to an abundance of RAM. +chunking due to an abundance of RAM. The following ``chunk_methods`` are supported to calculate memory overhead when chunking is enabled: @@ -488,10 +677,10 @@ The following ``chunk_methods`` are supported to calculate memory overhead when * rss - like uss, but for resident set size (rss), which is the portion of memory occupied by a process that is held in RAM * hybrid_rss - like hybrid_uss, but for rss -RSS is reported by psutil.memory_info and USS is reported by psutil.memory_full_info. USS is the memory which is private to -a process and which would be freed if the process were terminated. This is the metric that most closely matches the rather -vague notion of memory "in use" (the meaning of which is difficult to pin down in operating systems with virtual memory -where memory can (but sometimes can't) be swapped or mapped to disk. ``hybrid_uss`` performs best and is most reliable and +RSS is reported by psutil.memory_info and USS is reported by psutil.memory_full_info. USS is the memory which is private to +a process and which would be freed if the process were terminated. This is the metric that most closely matches the rather +vague notion of memory "in use" (the meaning of which is difficult to pin down in operating systems with virtual memory +where memory can (but sometimes can't) be swapped or mapped to disk. ``hybrid_uss`` performs best and is most reliable and is therefore the default. Additional chunking settings: diff --git a/docs/development.rst b/docs/development.rst index fda4ab0bc4..98edd7baec 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -330,10 +330,10 @@ Examples Generally speaking, there are two types of ActivitySim examples: test examples and agency examples. * Test examples - these are the core ActivitySim maintained and tested examples developed to date. The current test - examples are :ref:`example_mtc`, :ref:`example_estimation`, :ref:`example_multiple_zones`, and :ref:`example_marin`. + examples are :ref:`prototype_mtc`, :ref:`example_estimation`, :ref:`placeholder_multiple_zone`, and :ref:`prototype_marin`. These examples are owned and maintained by the project. * Agency examples - these are agency partner model implementations currently being setup. The current agency examples - are :ref:`example_arc`, :ref:`example_semcog`, :ref:`example_psrc`, :ref:`example_sandag`, and :ref:`example_sandag_xborder`. These examples can be + are :ref:`prototype_arc`, :ref:`prototype_semcog`, :ref:`placeholder_psrc`, :ref:`placeholder_sandag`, and :ref:`prototype_sandag_xborder`. These examples can be configured in ways different from the test examples, include new inputs and expressions, and may include new planned software components for contribution to ActivitySim. These examples are owned by the agency. @@ -350,8 +350,8 @@ Furthermore, multiple versions of these examples can exist, and be used for vari questions related to runtime, such as improvements to methods indifferent to the size of the population and number of zones. * Other - a specific route/path through the code for testing. For example, the estimation example tests the estimation - mode functionality. The estimation example is a version of the example mtc example - it inherits most settings from - example mtc and includes additional settings for reading in survey files and producing estimation data bundles. + mode functionality. The estimation example is a version of the example prototype MTC example - it inherits most settings from + prototype_mtc and includes additional settings for reading in survey files and producing estimation data bundles. Regardless of the type or version, all functioning examples are described in a common list stored in `example_manifest.yaml `_. @@ -406,9 +406,9 @@ Running the Test System The automatic TravisCI test system runs the test examples and the cropped agency examples. Examples of the testing resources for each agency example that need to be up-to-date are: -* `scripts folder (including crop script) `_ -* `test folder (including test script) `_ -* `regress folder (including expected outputs) `_ +* `scripts folder (including crop script) `_ +* `test folder (including test script) `_ +* `regress folder (including expected outputs) `_ For the time being, running the full scale examples is done manually since it involves getting and running several large examples that take many hours to run. The entire system could be fully automated, and either run in the cloud or on a local server. @@ -425,7 +425,7 @@ When a new version of the code is pushed to develop: * If the agency example previous ran without error or future warnings (i.e. deprecation warnings and is therefore up-to-date), then the developer will be responsible for updating the agency example so it passes the tests * If the agency example previously threw errors or future warnings (i.e. is not up-to-date), then the developer will not update the example and the responsibility will fall to the agency to update it when they have time. This will not preclude development from advancing since the agency specific test can fail while the other tests continue to pass. If the agency example is not updated within an agreed upon time frame, then the example is removed from the test system. -To help understand this case, the addition of support for representative logsums to :ref:`example_mtc` is discussed. Example_mtc was selected as the test case for development of this feature because this feature could be implemented and tested against this example, which is the primary example to date. With the new feature configured for this example, the automatic test system was run to ensure all the existing test examples pass their tests. The automatic test system was also run to ensure all the cropped agency examples passed their tests, but since not of them include this new feature in their configuration, the test results were the same and therefore the tests passed. +To help understand this case, the addition of support for representative logsums to :ref:`prototype_mtc` is discussed. prototype_mtc was selected as the test case for development of this feature because this feature could be implemented and tested against this example, which is the primary example to date. With the new feature configured for this example, the automatic test system was run to ensure all the existing test examples pass their tests. The automatic test system was also run to ensure all the cropped agency examples passed their tests, but since not of them include this new feature in their configuration, the test results were the same and therefore the tests passed. When an agency wants to update their example: @@ -433,7 +433,7 @@ When an agency wants to update their example: * When making an agency model update, agencies update their example through a pull request. This pull request changes nothing outside their example folder. The updated resources may include updated configs, inputs, revisions to the cropped data/cropping script, and expected test results. The automatic cropped example test must run without warnings. The results of the full scale version is shared with the development team in the PR comments. -To help understand this case, the inclusion of :ref:`example_psrc` as an agency example is discussed. Example_psrc is PSRC's experimentation of a two zone model and is useful for testing the two zone features, including runtime. A snapshot of PSRC's efforts to setup an ActivitySim model with PSRC inputs was added to the test system as a new agency example, called example_psrc. After some back and forth between the development team and PSRC, a full scale version of example_psrc was successfully run. The revisions required to create a cropped version and full scale version were saved in a change log included with the example. When PSRC wants to update example_psrc, PSRC will pull the latest develop code branch and then update example_psrc so the cropped and full scale example both run without errors. PSRC also needs to update the expected test results. Once everything is in good working order, then PSRC issues a pull request to develop to pull their updated example. Once pulled, the automatic test system will run the cropped version of example_psrc. +To help understand this case, the inclusion of :ref:`placeholder_psrc` as an agency example is discussed. This model is PSRC's experimentation of a two zone model and is useful for testing the two zone features, including runtime. A snapshot of PSRC's efforts to setup an ActivitySim model with PSRC inputs was added to the test system as a new agency example, called placeholder_psrc. After some back and forth between the development team and PSRC, a full scale version of placeholder_psrc was successfully run. The revisions required to create a cropped version and full scale version were saved in a change log included with the example. When PSRC wants to update placeholder_psrc, PSRC will pull the latest develop code branch and then update placeholder_psrc so the cropped and full scale example both run without errors. PSRC also needs to update the expected test results. Once everything is in good working order, then PSRC issues a pull request to develop to pull their updated example. Once pulled, the automatic test system will run the cropped version of placeholder_psrc. When an agency example includes new submodels and/or contributions to the core that need to be reviewed and then pulled/accepted: @@ -441,4 +441,4 @@ When an agency example includes new submodels and/or contributions to the core t * Second, the agency example must be up-to-date with the latest develop version of the code so the revisions to the code are only the exact revisions for the new submodels and/or contributions to the core. * The new submodels and/or contributions to the core will then be reviewed by the repository manager and it's likely some revisions will be required for acceptance. Key items in the review include python code, user documentation, and testable examples for all new components. If the contribution is just new submodels, then the agency example that exercises the new submodel is sufficient for test coverage since TravisCI will automatically test the cropped version of the new submodel. If the contribution includes revisions to the core that impact other test examples, then the developer is responsible for ensuring all the other tests that are up-to-date are updated/passing as well. This includes other agency examples that are up-to-date. This is required to ensure the contribution to the core is adequately complete. -To help understand this case, the addition of the parking location choice model for :ref:`example_arc` is discussed. First, ARC gets their example in good working order - i.e. updates to develop, makes any required revisions to their model to get it working, creates a cropped and full scaled example, and creates the expected test results. In addition, this use case includes additional submodel and/or core code so ARC also authors the new feature, including documentation and any other relevant requirements such as logging, tracing, support for estimation, etc. With the new example and feature working offline, then ARC issues a pull request to add example_arc and the new submodel/core code and makes sure the automatic tests are passing. Once accepted, the automatic test system will run the test example tests and the cropped agency examples. Since the new feature - parking location choice model - is included in example_arc, then new feature is now tested. Any testing of downstream impacts from the parking location choice model would also need to be implemented in the example. +To help understand this case, the addition of the parking location choice model for :ref:`prototype_arc` is discussed. First, ARC gets their example in good working order - i.e. updates to develop, makes any required revisions to their model to get it working, creates a cropped and full scaled example, and creates the expected test results. In addition, this use case includes additional submodel and/or core code so ARC also authors the new feature, including documentation and any other relevant requirements such as logging, tracing, support for estimation, etc. With the new example and feature working offline, then ARC issues a pull request to add prototype_arc and the new submodel/core code and makes sure the automatic tests are passing. Once accepted, the automatic test system will run the test example tests and the cropped agency examples. Since the new feature - parking location choice model - is included in prototype_arc, then new feature is now tested. Any testing of downstream impacts from the parking location choice model would also need to be implemented in the example. diff --git a/docs/examples.rst b/docs/examples.rst index 5986f46dfc..1b2c56adee 100644 --- a/docs/examples.rst +++ b/docs/examples.rst @@ -7,49 +7,75 @@ Examples ======== -This page describes the example models included with ActivitySim. The current examples are: +This page describes the example models included with ActivitySim. There are three +basic types of example model: + +* "production" examples are calibrated and validated by the relevant agency, and + are intended to be replicas of an "official" travel model used by that agency, + although generally we expect agencies to maintain independent repositories and + not rely on the Consortium maintained version as a single source for the model. + At this time there are no production examples in the consortium's collection, + but we expect that to change soon. +* "prototype" examples are not representative of any "official" travel model + used by the relevant agency, but they are viewed as "ok" models by the + consortium: they are usually at least loosely calibrated and/or validated, and + typically contain at least some components or parameters specialized for the + relevant region. They may be in-development models that are not quite finished, + or consortium maintained models that are derived from but now different from + the official model of some region. They should not be used in place of + "official" models for policy analysis in any given region, but could serve as + a donor model for new users who want to implement ActivitySim somewhere new + (subject to all the caveats that go along with transferring models). +* "placeholder" examples are computational testbeds that technically run but + have not been calibrated nor validated in any meaningful way. These examples + are early stage development models used for testing purposes, and users are + strongly cautioned not to use them for any policy or planning purpose. + +The current examples are: +---------------------------------+-----------------------------------------------------------+--------------+----------------------+ | Example | Purpose | Zone Systems | Status | +=================================+===========================================================+==============+======================+ -| :ref:`example_mtc` | Primary MTC travel model one example | 1 | Mature | +| :ref:`prototype_mtc` | Original ActivitySim Example, derived from MTC TM1 | 1 | Mature | +---------------------------------+-----------------------------------------------------------+--------------+----------------------+ -| :ref:`example_estimation` | Estimation example with example_mtc | 1 | Mature | +| :ref:`prototype_mtc_extended` | Prototype MTC example with additional optional models | 1 | In development | +---------------------------------+-----------------------------------------------------------+--------------+----------------------+ -| :ref:`example_multiple_zones` | 2 or 3 zone system example using example_mtc data | 2 or 3 | Simple test example | +| :ref:`example_estimation` | Estimation example with prototype_mtc | 1 | Mature | +---------------------------------+-----------------------------------------------------------+--------------+----------------------+ -| :ref:`example_marin` | 3 zone system example using Marin tour mode choice model | 3 | Mature | +| :ref:`placeholder_multiple_zone`| 2 or 3 zone system example using MTC data | 2 or 3 | Simple test example | +---------------------------------+-----------------------------------------------------------+--------------+----------------------+ -| :ref:`example_arc` | ARC agency example | 1 | In development | +| :ref:`prototype_marin` | 3 zone system example using Marin tour mode choice model | 3 | Mature | +---------------------------------+-----------------------------------------------------------+--------------+----------------------+ -| :ref:`example_semcog` | SEMCOG agency example | 1 | In development | +| :ref:`prototype_arc` | ARC agency example | 1 | In development | +---------------------------------+-----------------------------------------------------------+--------------+----------------------+ -| :ref:`example_psrc` | PSRC agency example | 2 | In development | +| :ref:`prototype_semcog` | SEMCOG agency example | 1 | In development | +---------------------------------+-----------------------------------------------------------+--------------+----------------------+ -| :ref:`example_sandag` | SANDAG agency example | 3 | In development | +| :ref:`placeholder_psrc` | PSRC agency example | 2 | Future development | +---------------------------------+-----------------------------------------------------------+--------------+----------------------+ -| :ref:`example_sandag_xborder` | SANDAG agency example | 3 | In development | +| :ref:`placeholder_sandag` | SANDAG agency example | 3 | Future development | ++---------------------------------+-----------------------------------------------------------+--------------+----------------------+ +| :ref:`prototype_sandag_xborder` | SANDAG agency example | 3 | In development | +---------------------------------+-----------------------------------------------------------+--------------+----------------------+ .. note:: - The `example_manifest.yaml `_ + The `example_manifest.yaml `_ contains example commands to create and run several versions of the examples. See also :ref:`adding_agency_examples` for more information on agency example models. -.. _example_mtc : +.. _prototype_mtc : -example_mtc ------------ +prototype_mtc +------------- -The initial example implemented in ActivitySim was example_mtc. This section described the example_mtc -model design, how to setup and run the example, and how to review outputs. The default configuration of the -example is limited to a small sample of households and zones so that it can be run quickly and require +The initial example implemented in ActivitySim was prototype_mtc. This section described the prototype_mtc +model design, how to setup and run the example, and how to review outputs. The default configuration of the +example is limited to a small sample of households and zones so that it can be run quickly and require less than 1 GB of RAM. The full scale example can be configured and run as well. Model Design ~~~~~~~~~~~~ -The example_mtc example is based on the +The prototype_mtc example is based on (but has evolved away from) the `Bay Area Metro Travel Model One `__ (TM1). TM1 has its roots in a wide array of analytical approaches, including discrete choice forms (multinomial and nested logit models), activity duration models, time-use models, @@ -63,11 +89,11 @@ individual decision-makers. Space ^^^^^ -TM1 uses the 1454 TAZ zone system developed for the MTC trip-based model. The zones are fairly large for the region, +The prototype MTC model uses the 1454 TAZ zone system developed for the MTC trip-based model. The zones are fairly large for the region, which may somewhat distort the representation of transit access in mode choice. To ameliorate this problem, the original model zones were further sub-divided into three categories of transit access: short walk, long walk, and not walkable. However, support for transit subzones is not included in the activitysim implementation since the latest generation -of activity-based models typically use an improved approach to spatial representation called multiple zone systems. See +of activity-based models typically use an improved approach to spatial representation called multiple zone systems. See :ref:`multiple_zone_systems` for more information. Decision-making units @@ -202,39 +228,39 @@ occupancy and toll/non-toll choice, walk and bike, walk and drive access to five transit line-haul modes, and ride hail with taxi, single TNC (Transportation Network Company), and shared TNC. * Auto - + * SOV Free * SOV Pay * 2 Person Free * 2 Person Pay * 3+ Person Free * 3+ Person Pay - + * Nonmotorized - + * Walk * Bike - - * Transit - + + * Transit + * Walk - + * Walk to Local Bus * Walk to Light-Rail Transit * Walk to Express Bus * Walk to Bus Rapid Transit * Walk to Heavy Rail - + * Drive - + * Drive to Local Bus * Drive to Light-Rail Transit * Drive to Express Bus * Drive to Bus Rapid Transit * Drive to Heavy Rail - + * Ride Hail - + * Taxi * Single TNC * Shared TNC @@ -242,7 +268,7 @@ transit line-haul modes, and ride hail with taxi, single TNC (Transportation Net Sub-models ^^^^^^^^^^ -The general design of the example_mtc model is presented below. Long-term choices that relate to +The general design of the prototype_mtc model is presented below. Long-term choices that relate to the usual workplace/university/school for each worker and student, household car ownership, and the availability of free parking at workplaces are first. @@ -279,12 +305,12 @@ can be aggregated into travel demand matrices for network loading. Setup ~~~~~ -The following describes the example_mtc model setup. +The following describes the prototype_mtc model setup. Folder and File Setup -The example_mtc has the following root folder/file setup: +The prototype_mtc has the following root folder/file setup: * configs - settings, expressions files, etc. * configs_mp - override settings for the multiprocess configuration @@ -293,9 +319,9 @@ The example_mtc has the following root folder/file setup: Inputs ^^^^^^ -In order to run example_mtc, you first need the input files in the ``data`` folder as identified in the ``configs\settings.yaml`` file and the ``configs\network_los.yaml`` file: +In order to run prototype_mtc, you first need the input files in the ``data`` folder as identified in the ``configs\settings.yaml`` file and the ``configs\network_los.yaml`` file: -* input_table_list: the input CSV tables from MTC travel model one (see below for column definitions): +* input_table_list: the input CSV tables for MTC (see below for column definitions): * households - Synthetic population household records for a subset of zones. * persons - Synthetic population person records for a subset of zones. @@ -304,7 +330,7 @@ In order to run example_mtc, you first need the input files in the ``data`` fold * taz_skims: skims.omx - an OMX matrix file containing the MTC TM1 skim matrices for a subset of zones. The time period for the matrix must be represented at the end of the matrix name and be seperated by a double_underscore (e.g. BUS_IVT__AM indicates base skim BUS_IVT with a time period of AM). These files are used in the tests as well. The full set -of MTC TM1 households, persons, and OMX skims are on the ActivitySim `resources repository `__. +of MTC households, persons, and OMX skims are on the ActivitySim `resources repository `__. Additional details on these files is available in the original `Travel Model 1 repository `_, although many of the files described there are not used in ActivitySim. @@ -466,17 +492,17 @@ Area types +------+------------------------------------------+ .. note:: - + ActivitySim can optionally build an HDF5 file of the input CSV tables for use in subsequent runs since HDF5 is binary and therefore results in faster read times. see :ref:`configuration` - OMX and HDF5 files can be viewed with the `OMX Viewer `__ or + OMX and HDF5 files can be viewed with the `OMX Viewer `__ or `HDFView `__. - - The ``other_resources\scripts\build_omx.py`` script will build one OMX file containing all the skims. The original MTC TM1 skims were converted from + + The ``other_resources\scripts\build_omx.py`` script will build one OMX file containing all the skims. The original MTC TM1 skims were converted for the prototype from Cube to OMX using the ``other_resources\scripts\mtc_tm1_omx_export.s`` script. - The example_mtc inputs were created by the ``other_resources\scripts\create_sf_example.py`` script, which creates the land use, synthetic population, and + The prototype_mtc_sf inputs were created by the ``other_resources\scripts\create_sf_example.py`` script, which creates the land use, synthetic population, and skim inputs for a subset of user-defined zones. .. index:: configuration @@ -544,8 +570,8 @@ Included in the ``configs`` folder are the model specification files that store Python/pandas/numpy expressions, alternatives, and other settings used by each model. Some models includes an alternatives file since the alternatives are not easily described as columns in the expressions file. An example of this is the ``non_mandatory_tour_frequency_alternatives.csv`` file, which lists each alternative as a row and each -columns indicates the number of non-mandatory tours by purpose. The set of files for the example_mtc are below. The -:ref:`example_arc` example and :ref:`example_semcog` example added additional submodels. +columns indicates the number of non-mandatory tours by purpose. The set of files for the prototype_mtc are below. The +:ref:`prototype_arc`, :ref:`prototype_semcog`, and :ref:`prototype_mtc_extended` examples added additional submodels. +------------------------------------------------+--------------------------------------------------------------------+ | Model | Specification Files | @@ -807,7 +833,7 @@ To run the example, do the following: :: - activitysim create --example example_mtc --destination my_test_example + activitysim create --example prototype_mtc --destination my_test_example * Run the example @@ -846,13 +872,13 @@ include the multiprocessing configuration settings via settings file inheritance The multiprocessing example also writes outputs to the output folder. The default multiprocessed example is configured to run with two processors and chunking training: ``num_processes: 2``, -``chunk_size: 0``, and ``chunk_training_mode: training``. Additional more performant configurations are included and -commented out in the example settings file. For example, the 100 percent sample full scale multiprocessing example -- ``example_mtc_full`` - was run on a Windows Server machine with 28 cores and 256GB RAM with the configuration below. -The default setup runs with ``chunk_training_mode: training`` since no chunk cache file is present. To run the example -significantly faster, try ``chunk_training_mode: disabled`` if the machine has sufficient RAM, or try -``chunk_training_mode: production``. To configure ``chunk_training_mode: production``, first configure chunking as -discussed below. See :ref:`multiprocessing` and :ref:`chunk_size` for more information. +``chunk_size: 0``, and ``chunk_training_mode: training``. Additional more performant configurations are included and +commented out in the example settings file. For example, the 100 percent sample full scale multiprocessing example +- ``prototype_mtc_full`` - was run on a Windows Server machine with 28 cores and 256GB RAM with the configuration below. +The default setup runs with ``chunk_training_mode: training`` since no chunk cache file is present. To run the example +significantly faster, try ``chunk_training_mode: disabled`` if the machine has sufficient RAM, or try +``chunk_training_mode: production``. To configure ``chunk_training_mode: production``, first configure chunking as +discussed below. See :ref:`multiprocessing` and :ref:`chunk_size` for more information. :: @@ -867,12 +893,19 @@ discussed below. See :ref:`multiprocessing` and :ref:`chunk_size` for more infor Configuring chunking ^^^^^^^^^^^^^^^^^^^^ -To configure chunking, ActivitySim must first be trained to determine reasonable chunking settings given the +To configure chunking, ActivitySim must first be trained to determine reasonable chunking settings given the model setup and machine. The steps to configure chunking are: -* Run the full scale model with ``chunk_training_mode: training``. Set ``num_processors`` to about 80% of the available physical processors and ``chunk_size`` to about 80% of the available RAM. This will run the model and create the ``chunk_cache.csv`` file in the output\cache directory for reuse. -* The ``households_sample_size`` for training chunking should be at least 1 / num_processors to provide sufficient data for training and the ``chunk_method: hybrid_uss`` typically performs best. -* Run the full scale model with ``chunk_training_mode: production``. Experiment with different ``num_processors`` and ``chunk_size`` settings depending on desired runtimes and machine resources. +* Run the full scale model with ``chunk_training_mode: training``. + Set ``num_processors`` to about 80% of the available physical processors + and ``chunk_size`` to about 80% of the available RAM. This will run the model + and create the ``chunk_cache.csv`` file in the output\cache directory for reuse. +* The ``households_sample_size`` for training chunking should be at least 1 / num_processors + to provide sufficient data for training and the ``chunk_method: hybrid_uss`` + typically performs best. +* Run the full scale model with ``chunk_training_mode: production``. Experiment + with different ``num_processors`` and ``chunk_size`` settings depending on desired + runtimes and machine resources. See :ref:`chunk_size` for more information. Users can run ``chunk_training_mode: disabled`` if the machine has an abundance of RAM for the model setup. @@ -880,10 +913,10 @@ Outputs ~~~~~~~ The key output of ActivitySim is the HDF5 data pipeline file ``outputs\pipeline.h5``. By default, this datastore file -contains a copy of each data table after each model step in which the table was modified. +contains a copy of each data table after each model step in which the table was modified. The example also writes the final tables to CSV files by using the ``write_tables`` step. This step calls -:func:`activitysim.core.pipeline.get_table` to get a pandas DataFrame and write a CSV file for each table +:func:`activitysim.core.pipeline.get_table` to get a pandas DataFrame and write a CSV file for each table specified in ``output_tables`` in the settings.yaml file. :: @@ -904,7 +937,7 @@ specified in ``output_tables`` in the settings.yaml file. -The ``other_resources\scripts\make_pipeline_output.py`` script uses the information stored in the pipeline file to create +The ``other_resources\scripts\make_pipeline_output.py`` script uses the information stored in the pipeline file to create the table below for a small sample of households. The table shows that for each table in the pipeline, the number of rows and/or columns changes as a result of the relevant model step. A ``checkpoints`` table is also stored in the pipeline, which contains the crosswalk between model steps and table states in order to reload tables for @@ -1022,9 +1055,9 @@ help debug data and/or logic errors. Writing Logsums ^^^^^^^^^^^^^^^ -The tour and trip destination and mode choice models calculate logsums but do not persist them by default. -Mode and destination choice logsums are essential for re-estimating these models and can therefore be -saved to the pipeline if desired. To save the tour and trip destination and mode choice model logsums, include +The tour and trip destination and mode choice models calculate logsums but do not persist them by default. +Mode and destination choice logsums are essential for re-estimating these models and can therefore be +saved to the pipeline if desired. To save the tour and trip destination and mode choice model logsums, include the following optional settings in the model settings file. The data is saved to the pipeline for later use. :: @@ -1032,18 +1065,18 @@ the following optional settings in the model settings file. The data is saved t # in workplace_location.yaml for example DEST_CHOICE_LOGSUM_COLUMN_NAME: workplace_location_logsum DEST_CHOICE_SAMPLE_TABLE_NAME: workplace_location_sample - + # in tour_mode_choice.yaml for example MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum -The `DEST_CHOICE_SAMPLE_TABLE_NAME` contains the fields in the table below. Writing out the -destination choice sample table, which includes the mode choice logsum for each sampled +The `DEST_CHOICE_SAMPLE_TABLE_NAME` contains the fields in the table below. Writing out the +destination choice sample table, which includes the mode choice logsum for each sampled alternative destination, adds significant size to the pipeline. Therefore, this feature should only be activated when writing logsums for a small set of households for model estimation. +-----------------------------------+---------------------------------------+ | Field | Description | -+===================================+=======================================+ ++===================================+=======================================+ | chooser_id | chooser id such as person or tour id | +-----------------------------------+---------------------------------------+ | alt_dest | destination alternative id | @@ -1055,37 +1088,86 @@ only be activated when writing logsums for a small set of households for model e | mode_choice_logsum | mode choice logsum | +-----------------------------------+---------------------------------------+ +.. _prototype_mtc_extended : + +prototype_mtc_extended +---------------------- + +prototype_mtc_extended contains additional models that were developed to enhance ActivitySim's modeling +capabilities. This example inherets +the data and configuration files from prototype_mtc. The current list of additional models included +in this example are: + +* :ref:`vehicle_type_choice`: Selects a vehicle type for each household vehicle. Runs after auto_ownership. +* :ref:`vehicle_allocation`: Allocates a vehicle for each tour and each occupancy level. Tour and trip mode choice + auto operating costs are modified to reflect the allocated vehicle option. + + .. _example_estimation : example_estimation ------------------ ActivitySim includes the ability to re-estimate submodels using choice model estimation tools -such as `larch `__. In order to do so, ActivitySim adopts the concept of an estimation +such as `larch `__. In order to do so, ActivitySim adopts the concept of an estimation data bundle (EDB), which is a collection of the necessary data to re-estimate a submodel. See :ref:`estimation` for examples that illustrate running ActivitySim in estimation mode and using larch to re-restimate submodels. .. index:: multiple_zone_systems .. _multiple_zone_systems : -.. _example_multiple_zones : +.. _placeholder_multiple_zone : -example_multiple_zones ----------------------- +placeholder_multiple_zone +------------------------- In a multiple zone system approach, households, land use, and trips are modeled at the microzone (MAZ) level. MAZs are smaller than traditional TAZs and therefore make for a more precise system. However, when considering network level-of-service (LOS) indicators (e.g. skims), the model uses different spatial resolutions for different travel modes in order to reduce the network -modeling burden and model runtimes. The typical multiple zone system setup is a TAZ zone system for auto travel, a MAZ zone +modeling burden and model runtimes. The typical multiple zone system setup is a TAZ zone system for auto travel, a MAZ zone system for non-motorized travel, and optionally a transit access points (TAPs) zone system for transit. ActivitySim supports models with multiple zone systems. The three versions of multiple zone systems are one-zone, two-zone, and three-zone. - * **One-zone**: This version is based on TM1 and supports only TAZs. All origins and destinations are represented at the TAZ level, and all skims including auto, transit, and non-motorized times and costs are also represented at the TAZ level. - * **Two-zone**: This version is similar to many DaySim models. It uses microzones (MAZs) for origins and destinations, and TAZs for specification of auto and transit times and costs. Impedance for walk or bike all-the-way from the origin to the destination can be specified at the MAZ level for close together origins and destinations, and at the TAZ level for further origins and destinations. Users can also override transit walk access and egress times with times specified in the MAZ file by transit mode. Careful pre-calculation of the assumed transit walk access and egress time by MAZ and transit mode is required depending on the network scenario. - * **Three-zone**: This version is based on the SANDAG generation of CT-RAMP models. Origins and destinations are represented at the MAZ level. Impedance for walk or bike all-the-way from the origin to the destination can be specified at the MAZ level for close together origins and destinations, and at the TAZ level for further origins and destinations, just like the two-zone system. TAZs are used for auto times and costs. The difference between this system and the two-zone system is that transit times and costs are represented between Transit Access Points (TAPs), which are essentially dummy zones that represent transit stops or clusters of stops. Transit skims are built between TAPs, since there are typically too many MAZs to build skims between them. Often multiple sets of TAP to TAP skims (local bus only, all modes, etc.) are created and input to the demand model for consideration. Walk access and egress times are also calculated between the MAZ and the TAP, and total transit path utilities are assembled from their respective components - from MAZ to first boarding TAP, from first boarding to final alighting TAP, and from alighting TAP to destination MAZ. This assembling is done via the :ref:`transit_virtual_path_builder` (TVPB), which considers all possible combinations of nearby boarding and alighting TAPs for each origin destination MAZ pair. - -Regions that have an interest in more precise transit forecasts may wish to adopt the three-zone approach, while other regions may adopt the one or two-zone approach. The microzone version requires coding households and land use at the microzone level. Typically an all-streets network is used for representation of non-motorized impedances. This requires a routable all-streets network, with centroids and connectors for microzones. If the three-zone system is adopted, procedures need to be developed to code TAPs from transit stops and populate the all-street network with TAP centroids and centroid connectors. A model with transit virtual path building takes longer to run than a traditional -TAZ only model, but it provides a much richer framework for transit modeling. + * **One-zone**: This version is based on TM1 and supports only TAZs. All origins and + destinations are represented at the TAZ level, and all skims including auto, transit, + and non-motorized times and costs are also represented at the TAZ level. + * **Two-zone**: This version is similar to many DaySim models. It uses microzones (MAZs) + for origins and destinations, and TAZs for specification of auto and transit times and + costs. Impedance for walk or bike all-the-way from the origin to the destination can + be specified at the MAZ level for close together origins and destinations, and at + the TAZ level for further origins and destinations. Users can also override transit + walk access and egress times with times specified in the MAZ file by transit mode. + Careful pre-calculation of the assumed transit walk access and egress time by MAZ + and transit mode is required depending on the network scenario. + * **Three-zone**: This version is based on the SANDAG generation of CT-RAMP models. + Origins and destinations are represented at the MAZ level. Impedance for walk or + bike all-the-way from the origin to the destination can be specified at the MAZ + level for close together origins and destinations, and at the TAZ level for further + origins and destinations, just like the two-zone system. TAZs are used for auto + times and costs. The difference between this system and the two-zone system is that + transit times and costs are represented between Transit Access Points (TAPs), which + are essentially dummy zones that represent transit stops or clusters of stops. + Transit skims are built between TAPs, since there are typically too many MAZs to + build skims between them. Often multiple sets of TAP to TAP skims (local bus only, + all modes, etc.) are created and input to the demand model for consideration. Walk + access and egress times are also calculated between the MAZ and the TAP, and total + transit path utilities are assembled from their respective components - from MAZ to + first boarding TAP, from first boarding to final alighting TAP, and from alighting + TAP to destination MAZ. This assembling is done via the + :ref:`transit_virtual_path_builder` (TVPB), which considers all possible + combinations of nearby boarding and alighting TAPs for each origin destination MAZ + pair. + +Regions that have an interest in more precise transit forecasts may wish to adopt the +three-zone approach, while other regions may adopt the one or two-zone approach. The +microzone version requires coding households and land use at the microzone level. +Typically an all-streets network is used for representation of non-motorized impedances. +This requires a routable all-streets network, with centroids and connectors for +microzones. If the three-zone system is adopted, procedures need to be developed to +code TAPs from transit stops and populate the all-street network with TAP centroids +and centroid connectors. A model with transit virtual path building takes longer to +run than a traditional TAZ only model, but it provides a much richer framework for +transit modeling. .. note:: The two and three zone system test examples are simple test examples developed from the TM1 example. To develop the two zone system @@ -1093,7 +1175,7 @@ TAZ only model, but it provides a much richer framework for transit modeling. TAZ to TAZ impedances. To develop the three zone example system example, the TM1 TAZ model was further transformed so select TAZs also became TAPs and TAP to TAP skims and MAZ to TAP impedances files were created. While sufficient for initial development, these examples were insufficient for validation and performance testing of the new software. As a result, - the :ref:`example_marin` example was created. + the :ref:`prototype_marin` example was created. Example simple test configurations and inputs for two and three-zone system models are described below. @@ -1108,10 +1190,10 @@ To run the two zone and three zone system examples, do the following: :: # simple two zone example - activitysim create -e example_2_zone -d test_example_2_zone + activitysim create -e placeholder_2_zone -d test_placeholder_2_zone # simple three zone example - activitysim create -e example_3_zone -d test_example_3_zone + activitysim create -e placeholder_3_zone -d test_placeholder_3_zone * Change to the example directory @@ -1129,7 +1211,7 @@ To run the two zone and three zone system examples, do the following: Settings ~~~~~~~~ -Additional settings for running ActivitySim with two or three zone systems are specified in the ``settings.yaml`` and +Additional settings for running ActivitySim with two or three zone systems are specified in the ``settings.yaml`` and ``network_los.yaml`` files. The settings are: Two Zone @@ -1137,16 +1219,28 @@ Two Zone In ``settings.yaml``: -* ``want_dest_choice_presampling`` - enable presampling for multizone systems, which means first select a TAZ using the sampling model and then select a microzone within the TAZ based on the microzone share of TAZ size term. +* ``want_dest_choice_presampling`` - enable presampling for multizone systems, which + means first select a TAZ using the sampling model and then select a microzone within + the TAZ based on the microzone share of TAZ size term. In ``network_los.yaml``: -The additional two zone system settings and inputs are described and illustrated below. No additional utility expression files or expression revisions are required beyond the one zone approach. The MAZ data is available as zone data and the MAZ to MAZ data is available using the existing skim expressions. Users can specify mode utilities using MAZ data, MAZ to MAZ impedances, and TAZ to TAZ impedances. +The additional two zone system settings and inputs are described and illustrated below. +No additional utility expression files or expression revisions are required beyond the +one zone approach. The MAZ data is available as zone data and the MAZ to MAZ data is +available using the existing skim expressions. Users can specify mode utilities using +MAZ data, MAZ to MAZ impedances, and TAZ to TAZ impedances. * ``zone_system`` - set to 2 for two zone system * ``maz`` - MAZ data file, with MAZ ID, TAZ, and land use and other MAZ attributes -* ``maz_to_maz:tables`` - list of MAZ to MAZ impedance tables. These tables are read as pandas DataFrames and the columns are exposed to expressions. -* ``maz_to_maz:max_blend_distance`` - in order to avoid cliff effects, the lookup of MAZ to MAZ impedance can be a blend of origin MAZ to destination MAZ impedance and origin TAZ to destination TAZ impedance up to a max distance. The blending formula is below. This requires specifying a distance TAZ skim and distance columns from the MAZ to MAZ files. The TAZ skim name and MAZ to MAZ column name need to be the same so the blending can happen on-the-fly or else a value of 0 is returned. +* ``maz_to_maz:tables`` - list of MAZ to MAZ impedance tables. These tables are read + as pandas DataFrames and the columns are exposed to expressions. +* ``maz_to_maz:max_blend_distance`` - in order to avoid cliff effects, the lookup of + MAZ to MAZ impedance can be a blend of origin MAZ to destination MAZ impedance and + origin TAZ to destination TAZ impedance up to a max distance. The blending formula + is below. This requires specifying a distance TAZ skim and distance columns from + the MAZ to MAZ files. The TAZ skim name and MAZ to MAZ column name need to be the + same so the blending can happen on-the-fly or else a value of 0 is returned. :: @@ -1316,11 +1410,11 @@ Additional settings to configure the TVPB are: Outputs ~~~~~~~ -Essentially the same set of outputs is created for a two or three zone system +Essentially the same set of outputs is created for a two or three zone system model as for a one zone system model. However, the one key additional bit of -information for a three zone system model is the boarding TAP, alighting TAP, and -transit skim set is added to the relevant chooser table (e.g. tours and trips) when the -chosen mode is transit. Logging and tracing also work for two and three zone models, +information for a three zone system model is the boarding TAP, alighting TAP, and +transit skim set is added to the relevant chooser table (e.g. tours and trips) when the +chosen mode is transit. Logging and tracing also work for two and three zone models, including tracing of the TVPB calculations. The :ref:`write_trip_matrices` step writes both TAZ and TAP level matrices depending on the configured number of zone systems. @@ -1329,28 +1423,28 @@ both TAZ and TAP level matrices depending on the configured number of zone syste Presampling ~~~~~~~~~~~ -In multiple zone systems models, destination choice presampling is activated by default. Destination -choice presampling first aggregates microzone size terms to the TAZ level and then runs destination -choice sampling at the TAZ level using the destination choice sampling models. After sampling X -number of TAZs based on impedance and size, the model selects a microzone for each TAZ based +In multiple zone systems models, destination choice presampling is activated by default. Destination +choice presampling first aggregates microzone size terms to the TAZ level and then runs destination +choice sampling at the TAZ level using the destination choice sampling models. After sampling X +number of TAZs based on impedance and size, the model selects a microzone for each TAZ based on the microzone share of TAZ size. Presampling significantly reduces runtime while producing similar results. -.. _example_marin : +.. _prototype_marin : -example_marin -------------- +prototype_marin +--------------- To finalize development and verification of the multiple zone system and transit virtual path building components, the `Transportation Authority of Marin County `__ version of MTC travel model two (TM2) work tour mode choice model was implemented. This example was also developed to test multiprocessed runtime performance. -The complete runnable setup is available from the ActivitySim command line interface as `example_3_marin_full`. This example +The complete runnable setup is available from the ActivitySim command line interface as `prototype_3_marin_full`. This example has essentially the same configuration as the simpler three zone example above. Example ~~~~~~~ -To run example_marin, do the following: +To run prototype_marin, do the following: * Activate the correct conda environment if needed * Create a local copy of the example @@ -1358,7 +1452,7 @@ To run example_marin, do the following: :: # Marin TM2 work tour mode choice for the MTC region - activitysim create -e example_3_marin_full -d test_example_3_marin_full + activitysim create -e prototype_3_marin_full -d test_prototype_3_marin_full * Change to the example directory * Run the example @@ -1374,10 +1468,10 @@ To run example_marin, do the following: Settings ~~~~~~~~ -Additional settings for running the Marin TM2 tour mode choice example are in the ``network_los.yaml`` file. The -only additional notable setting is the ``tap_lines`` setting, which identifies a table of transit line names -served for each TAP. This file is used to trimmed the set of nearby TAP for each MAZ so only TAPs that are -further away and serve new service are included in the TAP set for consideration. It is a very important +Additional settings for running the Marin TM2 tour mode choice example are in the ``network_los.yaml`` file. The +only additional notable setting is the ``tap_lines`` setting, which identifies a table of transit line names +served for each TAP. This file is used to trimmed the set of nearby TAP for each MAZ so only TAPs that are +further away and serve new service are included in the TAP set for consideration. It is a very important file to include as it can considerably reduce runtimes. :: @@ -1385,18 +1479,18 @@ file to include as it can considerably reduce runtimes. tap_lines: tap_lines.csv -.. _example_arc : +.. _prototype_arc : -example_arc ------------ +prototype_arc +------------- .. note:: This example is in development -The example_arc added a :ref:`trip_scheduling_choice`, :ref:`trip_departure_choice`, and :ref:`parking_location_choice` -submodel. These submodel specification files are below, and are in addition to the :ref:`example_mtc` +The prototype_arc added a :ref:`trip_scheduling_choice`, :ref:`trip_departure_choice`, and :ref:`parking_location_choice` +submodel. These submodel specification files are below, and are in addition to the :ref:`prototype_mtc` submodel :ref:`sub-model-spec-files`. .. _arc-sub-model-spec-files: @@ -1424,22 +1518,22 @@ Example ARC Sub-Model Specification Files Example ~~~~~~~ -See example commands in `example_manifest.yaml `_ -for running example_arc. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. +See example commands in `example_manifest.yaml `_ +for running prototype_arc. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. -.. _example_semcog : +.. _prototype_semcog : -example_semcog --------------- +prototype_semcog +---------------- .. note:: This example is in development -The example_semcog added a :ref:`work_from_home`, :ref:`telecommute_frequency`, :ref:`transit_pass_subsidy` -and :ref:`transit_pass_ownership` submodel. These submodel specification files are below, and are in addition to the :ref:`example_mtc` -submodel :ref:`sub-model-spec-files`. These submodels were added to example_semcog as extensions, which is a way for users to add +The prototype_semcog added a :ref:`work_from_home`, :ref:`telecommute_frequency`, :ref:`transit_pass_subsidy` +and :ref:`transit_pass_ownership` submodel. These submodel specification files are below, and are in addition to the :ref:`prototype_mtc` +submodel :ref:`sub-model-spec-files`. These submodels were added to prototype_semcog as extensions, which is a way for users to add submodels within their model setup as opposed to formally adding them to the activitysim package. Extension submodels are run through the `models` settings. However, the model must be run with the `simulation.py` script instead of the command line interface in order to load the extensions folder. @@ -1472,62 +1566,69 @@ Example SEMCOG Sub-Model Specification Files Example ~~~~~~~ -See example commands in `example_manifest.yaml `_ -for running example_semcog. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. +See example commands in `example_manifest.yaml `_ +for running prototype_semcog. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. -.. _example_psrc : +.. _placeholder_psrc : -example_psrc ------------- +placeholder_psrc +---------------- .. note:: - This example is in development + This example is a placeholder model used only for code development and debugging, and is not suitable for policy analysis -The example_psrc is a two zone system (MAZs and TAZs) implementation of the -example_mtc model design. It uses PSRC zones, land use, synthetic population, and network LOS (skims). +The placeholder_psrc is a two zone system (MAZs and TAZs) implementation of the +prototype_mtc model design. It uses PSRC zones, land use, synthetic population, and network LOS (skims). Example ~~~~~~~ -See example commands in `example_manifest.yaml `_ -for running example_psrc. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. +See example commands in `example_manifest.yaml `_ +for running placeholder_psrc. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. -.. _example_sandag : +.. _placeholder_sandag : -example_sandag --------------- +placeholder_sandag +------------------ .. note:: This example is in development -The example_sandag is a three zone system (MAZs, TAZs, and TAPs) implementation of the -example_mtc model design. It uses SANDAG zones, land use, synthetic population, and network LOS (skims). +The placeholder_sandag is a multi-part model, containing one-, two-, and three- zone system (MAZs, TAZs, and TAPs) implementation of the +prototype_mtc model design. It uses SANDAG zones, land use, synthetic population, and network LOS (skims). Example ~~~~~~~ See example commands in `example_manifest.yaml `_ -for running example_sandag. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. +for running placeholder_sandag. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. -.. _example_sandag_xborder : +.. _prototype_sandag_xborder : -example_sandag_xborder ----------------------- +prototype_sandag_xborder +------------------------ .. note:: This example is in development -The example_sandag_xborder is a three zone system (MAZs, TAZs, and TAPs) that generates cross-border activities for a tour-based population of Mexican residents. In addition to the normal SANDAG zones, there are external MAZs and TAZs defined for each border crossing station (Port of Entry). Because the model is tour-based, there are no household or person-level attributes in the synthetic population. The principal difference between this and the standard 3-zone implementation is that since household do not have a default tour origin (home zones), a tour OD choice model is required to assign tour origins and destinations simultaneously. +The prototype_sandag_xborder is a three zone system (MAZs, TAZs, and TAPs) that +generates cross-border activities for a tour-based population of Mexican residents. +In addition to the normal SANDAG zones, there are external MAZs and TAZs defined for +each border crossing station (Port of Entry). Because the model is tour-based, there +are no household or person-level attributes in the synthetic population. The +principal difference between this and the standard 3-zone implementation is that +since household do not have a default tour origin (home zones), a tour OD choice +model is required to assign tour origins and destinations simultaneously. Example ~~~~~~~ See example commands in `example_manifest.yaml `_ -for running example_sandag_xborder. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. \ No newline at end of file +for running prototype_sandag_xborder. For optimal performance, configure multiprocessing and chunk_size based on machine hardware. diff --git a/docs/gettingstarted.rst b/docs/gettingstarted.rst index 7b5ebcc6a8..e0201b1d94 100644 --- a/docs/gettingstarted.rst +++ b/docs/gettingstarted.rst @@ -39,11 +39,6 @@ using conda Prompt (on Windows) or the terminal (macOS or Linux):: conda create -n asim python=3.9 activitysim -c conda-forge --override-channels -.. note:: - If this command fails in July 2021, it may be because ActivitySim - has not yet been fully integrated into the conda-forge repository. - See "Alternative Installation Methods" below for a workaround using pip. - This command will create the environment and install all the dependencies required for running ActivitySim. It is only necessary to create the environment once per machine, you do not need to (re)create the environment for each session. @@ -161,8 +156,8 @@ To setup and run the primary example (see :ref:`examples`), do the following: * Open a command prompt * Activate the conda environment with ActivitySim installed (i.e. ``conda activate asim``) -* Type ``activitysim create -e example_mtc -d test_example_mtc`` to copy the very small MTC example to a new test_example_mtc directory -* Change to the test_example_mtc directory +* Type ``activitysim create -e prototype_mtc -d test_prototype_mtc`` to copy the very small prototype_mtc example to a new test_prototype_mtc directory +* Change to the test_prototype_mtc directory * Type ``activitysim run -c configs -o output -d data`` to run the example * Review the outputs in the output directory @@ -170,7 +165,7 @@ To setup and run the primary example (see :ref:`examples`), do the following: Common configuration settings can be overridden at runtime. See ``activitysim -h``, ``activitysim create -h`` and ``activitysim run -h``. ActivitySim model runs can be configured with settings file inheritance to avoid duplicating settings across model configurations. See :ref:`cli` for more information. -Additional examples, including the full scale MTC regional demand model, estimation integration examples, multiple zone system examples, +Additional examples, including the full scale prototype MTC regional demand model, estimation integration examples, multiple zone system examples, and examples for agency partners are available for creation by typing ``activitysim create -l``. To create these examples, ActivitySim downloads the (large) input files from the `ActivitySim resources `__ repository. See :ref:`examples` for more information. @@ -182,13 +177,13 @@ ActivitySim includes a `Jupyter Notebook `__ recipe book wi * Open a conda prompt and activate the conda environment with ActivitySim installed * If needed, ``conda install jupyterlab`` so you can run jupyter notebooks * Type ``jupyter notebook`` to launch the web-based notebook manager -* Navigate to the ``examples/example_mtc/notebooks`` folder and select a notebook to learn more: +* Navigate to the ``examples/prototype_mtc/notebooks`` folder and select a notebook to learn more: - * `Getting started `__ - * `Summarizing results `__ - * `Testing a change in auto ownership `__ - * `Adding TNCs `__ - * `Memory usage `__ + * `Getting started `__ + * `Summarizing results `__ + * `Testing a change in auto ownership `__ + * `Adding TNCs `__ + * `Memory usage `__ Hardware -------- @@ -202,7 +197,7 @@ The computing hardware required to run a model implemented in the ActivitySim fr * The desired runtimes ActivitySim framework models use a significant amount of RAM since they store data in-memory to reduce -data access time in order to minimize runtime. For example, the example MTC Travel Model One model has 2.7 million +data access time in order to minimize runtime. For example, the prototype MTC example model has 2.7 million households, 7.5 million people, 1475 zones, 826 network skims and has been run between one hour and one day depending on the amount of RAM and number of processors allocated. See :ref:`multiprocessing` and :ref:`chunk_size` for more information. @@ -223,4 +218,4 @@ parallel since they are largely independent of one another, it can be advantageo processes and instead let ActivitySim run each process with one computing core or thread. In order to do so, override the MKL number of threads setting via a system environment variable that is set before running the model. In practice, this means before running the model, first set the MKL number of threads variable via the command -line as follows: ``SET MKL_NUM_THREADS=1`` \ No newline at end of file +line as follows: ``SET MKL_NUM_THREADS=1`` diff --git a/docs/images/viz_nav-1.png b/docs/images/viz_nav-1.png new file mode 100644 index 0000000000..3bfe835d0e Binary files /dev/null and b/docs/images/viz_nav-1.png differ diff --git a/docs/images/viz_nav-2.png b/docs/images/viz_nav-2.png new file mode 100644 index 0000000000..e6f748d2d4 Binary files /dev/null and b/docs/images/viz_nav-2.png differ diff --git a/docs/images/viz_nav-3.png b/docs/images/viz_nav-3.png new file mode 100644 index 0000000000..9fc79667ef Binary files /dev/null and b/docs/images/viz_nav-3.png differ diff --git a/docs/images/viz_nav-4.png b/docs/images/viz_nav-4.png new file mode 100644 index 0000000000..f9ee435d7f Binary files /dev/null and b/docs/images/viz_nav-4.png differ diff --git a/docs/images/viz_nav-5.png b/docs/images/viz_nav-5.png new file mode 100644 index 0000000000..8e1837de50 Binary files /dev/null and b/docs/images/viz_nav-5.png differ diff --git a/docs/index.rst b/docs/index.rst index ff5fdb6eac..1a3be50352 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -32,6 +32,7 @@ Contents estimation howitworks development + benchmarking Indices and tables diff --git a/docs/models.rst b/docs/models.rst index e5a39f870a..00dd28aa4a 100644 --- a/docs/models.rst +++ b/docs/models.rst @@ -5,7 +5,7 @@ Models ====== -The currently implemented example ActivitySim AB models are described below. See the example +The currently implemented example ActivitySim AB models are described below. See the example model :ref:`sub-model-spec-files`, :ref:`arc-sub-model-spec-files`, and :ref:`semcog-sub-model-spec-files` for more information. .. _initialize_landuse: @@ -15,20 +15,20 @@ model :ref:`sub-model-spec-files`, :ref:`arc-sub-model-spec-files`, and :ref:`se Initialize ---------- -The initialize model isn't really a model, but rather a few data processing steps in the data pipeline. +The initialize model isn't really a model, but rather a few data processing steps in the data pipeline. The initialize data processing steps code variables used in downstream models, such as household and person -value-of-time. This step also pre-loads the land_use, households, persons, and person_windows tables because -random seeds are set differently for each step and therefore the sampling of households depends on which step -they are initially loaded in. +value-of-time. This step also pre-loads the land_use, households, persons, and person_windows tables because +random seeds are set differently for each step and therefore the sampling of households depends on which step +they are initially loaded in. -The main interface to the initialize land use step is the :py:func:`~activitysim.abm.models.initialize.initialize_landuse` -function. The main interface to the initialize household step is the :py:func:`~activitysim.abm.models.initialize.initialize_households` -function. The main interface to the initialize tours step is the :py:func:`~activitysim.abm.models.initialize_tours.initialize_tours` +The main interface to the initialize land use step is the :py:func:`~activitysim.abm.models.initialize.initialize_landuse` +function. The main interface to the initialize household step is the :py:func:`~activitysim.abm.models.initialize.initialize_households` +function. The main interface to the initialize tours step is the :py:func:`~activitysim.abm.models.initialize_tours.initialize_tours` function. These functions are registered as Inject steps in the example Pipeline. .. automodule:: activitysim.abm.models.initialize :members: - + .. automodule:: activitysim.abm.models.initialize_tours :members: @@ -38,14 +38,14 @@ function. These functions are registered as Inject steps in the example Pipelin Initialize LOS -------------- -The initialize LOS model isn't really a model, but rather a series of data processing steps in the data pipeline. +The initialize LOS model isn't really a model, but rather a series of data processing steps in the data pipeline. The initialize LOS model does two things: * Loads skims and cache for later if desired * Loads network LOS inputs for transit virtual path building (see :ref:`transit_virtual_path_builder`), pre-computes tap-to-tap total utilities and cache for later if desired -The main interface to the initialize LOS step is the :py:func:`~activitysim.abm.models.initialize_los.initialize_los` -function. The main interface to the initialize TVPB step is the :py:func:`~activitysim.abm.models.initialize_los.initialize_tvpb` +The main interface to the initialize LOS step is the :py:func:`~activitysim.abm.models.initialize_los.initialize_los` +function. The main interface to the initialize TVPB step is the :py:func:`~activitysim.abm.models.initialize_los.initialize_tvpb` function. These functions are registered as Inject steps in the example Pipeline. .. automodule:: activitysim.abm.models.initialize_los @@ -56,23 +56,23 @@ function. These functions are registered as Inject steps in the example Pipelin Accessibility ------------- -The accessibilities model is an aggregate model that calculates multiple origin-based accessibility -measures by origin zone to all destination zones. +The accessibilities model is an aggregate model that calculates multiple origin-based accessibility +measures by origin zone to all destination zones. -The accessibility measure first multiplies an employment variable by a mode-specific decay function. The -product reflects the difficulty of accessing the activities the farther (in terms of round-trip travel time) -the jobs are from the location in question. The products to each destination zone are next summed over -each origin zone, and the logarithm of the product mutes large differences. The decay function on -the walk accessibility measure is steeper than automobile or transit. The minimum accessibility is zero. +The accessibility measure first multiplies an employment variable by a mode-specific decay function. The +product reflects the difficulty of accessing the activities the farther (in terms of round-trip travel time) +the jobs are from the location in question. The products to each destination zone are next summed over +each origin zone, and the logarithm of the product mutes large differences. The decay function on +the walk accessibility measure is steeper than automobile or transit. The minimum accessibility is zero. -Level-of-service variables from three time periods are used, specifically the AM peak period (6 am to 10 am), the +Level-of-service variables from three time periods are used, specifically the AM peak period (6 am to 10 am), the midday period (10 am to 3 pm), and the PM peak period (3 pm to 7 pm). *Inputs* * Highway skims for the three periods. Each skim is expected to include a table named "TOLLTIMEDA", which is the drive alone in-vehicle travel time for automobiles willing to pay a "value" (time-savings) toll. * Transit skims for the three periods. Each skim is expected to include the following tables: (i) "IVT", in-vehicle time; (ii) "IWAIT", initial wait time; (iii) "XWAIT", transfer wait time; (iv) "WACC", walk access time; (v) "WAUX", auxiliary walk time; and, (vi) "WEGR", walk egress time. -* Zonal data with the following fields: (i) "TOTEMP", total employment; (ii) "RETEMPN", retail trade employment per the NAICS classification. +* Zonal data with the following fields: (i) "TOTEMP", total employment; (ii) "RETEMPN", retail trade employment per the NAICS classification. *Outputs* @@ -88,8 +88,8 @@ midday period (10 am to 3 pm), and the PM peak period (3 pm to 7 pm). * nonMotorizedRetail, the accessibility by walking during all time periods to retail employment * nonMotorizedTotal, the accessibility by walking during all time periods to all employment -The main interface to the accessibility model is the -:py:func:`~activitysim.abm.models.accessibility.compute_accessibility` +The main interface to the accessibility model is the +:py:func:`~activitysim.abm.models.accessibility.compute_accessibility` function. This function is registered as an Inject step in the example Pipeline. Core Table: ``skims`` | Result Table: ``accessibility`` | Skims Keys: ``O-D, D-O`` @@ -118,12 +118,12 @@ the coefficient adjustment at each iteration is: ``new_coefficient = log( target_percent / current_percent ) + current_coefficient``. The main interface to the work from home model is the -:py:func:`~activitysim.examples.example_semcog.extensions.work_from_home` function. This +:py:func:`~activitysim.examples.prototype_semcog.extensions.work_from_home` function. This function is registered as an Inject step in the example Pipeline. Core Table: ``persons`` | Result Field: ``work_from_home`` | Skims Keys: NA -.. automodule:: activitysim.examples.example_semcog.extensions.work_from_home +.. automodule:: activitysim.examples.prototype_semcog.extensions.work_from_home :members: .. _school_location: @@ -146,19 +146,19 @@ The school location model is made up of four steps: * logsums - starts with the table created above and calculates and adds the mode choice logsum expression for each alternative school location. * simulate - starts with the table created above and chooses a final school location, this time with the mode choice logsum included. * shadow prices - compare modeled zonal destinations to target zonal size terms and calculate updated shadow prices. - -These steps are repeated until shadow pricing convergence criteria are satisfied or a max number of iterations is reached. See :ref:`shadow_pricing`. + +These steps are repeated until shadow pricing convergence criteria are satisfied or a max number of iterations is reached. See :ref:`shadow_pricing`. School location choice for :ref:`multiple_zone_systems` models uses :ref:`presampling` by default. -The main interfaces to the model is the :py:func:`~activitysim.abm.models.location_choice.school_location` function. -This function is registered as an Inject step in the example Pipeline. See :ref:`writing_logsums` for how to write logsums for estimation. +The main interfaces to the model is the :py:func:`~activitysim.abm.models.location_choice.school_location` function. +This function is registered as an Inject step in the example Pipeline. See :ref:`writing_logsums` for how to write logsums for estimation. Core Table: ``persons`` | Result Field: ``school_taz`` | Skims Keys: ``TAZ, alt_dest, AM time period, MD time period`` Work Location ------------- - + The usual work location choice models assign a usual work location for the primary mandatory activity of each employed person in the synthetic population. The models are composed of a set of accessibility-based parameters @@ -177,8 +177,8 @@ These steps are repeated until shadow pricing convergence criteria are satisfied Work location choice for :ref:`multiple_zone_systems` models uses :ref:`presampling` by default. -The main interfaces to the model is the :py:func:`~activitysim.abm.models.location_choice.workplace_location` function. -This function is registered as an Inject step in the example Pipeline. See :ref:`writing_logsums` for how to write logsums for estimation. +The main interfaces to the model is the :py:func:`~activitysim.abm.models.location_choice.workplace_location` function. +This function is registered as an Inject step in the example Pipeline. See :ref:`writing_logsums` for how to write logsums for estimation. Core Table: ``persons`` | Result Field: ``workplace_taz`` | Skims Keys: ``TAZ, alt_dest, AM time period, PM time period`` @@ -240,20 +240,20 @@ In total, ActivitySim generates three types of output files for each model with Transit Pass Subsidy -------------------- -The transit fare discount model is defined as persons who purchase or are -provided a transit pass. The transit fare discount consists of two submodels - this -transit pass subsidy model and a person :ref:`transit_pass_ownership` model. The -result of this model can be used to condition downstream models such as the +The transit fare discount model is defined as persons who purchase or are +provided a transit pass. The transit fare discount consists of two submodels - this +transit pass subsidy model and a person :ref:`transit_pass_ownership` model. The +result of this model can be used to condition downstream models such as the person :ref:`transit_pass_ownership` model and the tour and trip mode choice models -via fare discount adjustments. +via fare discount adjustments. -The main interface to the transit pass subsidy model is the -:py:func:`~activitysim.examples.example_semcog.extensions.transit_pass_subsidy` function. This +The main interface to the transit pass subsidy model is the +:py:func:`~activitysim.examples.prototype_semcog.extensions.transit_pass_subsidy` function. This function is registered as an Inject step in the example Pipeline. Core Table: ``persons`` | Result Field: ``transit_pass_subsidy`` | Skims Keys: NA -.. automodule:: activitysim.examples.example_semcog.extensions.transit_pass_subsidy +.. automodule:: activitysim.examples.prototype_semcog.extensions.transit_pass_subsidy :members: .. _transit_pass_ownership: @@ -261,19 +261,19 @@ Core Table: ``persons`` | Result Field: ``transit_pass_subsidy`` | Skims Keys: N Transit Pass Ownership ---------------------- -The transit fare discount is defined as persons who purchase or are -provided a transit pass. The transit fare discount consists of two submodels - this -transit pass ownership model and a person :ref:`transit_pass_subsidy` model. The -result of this model can be used to condition downstream models such as the tour and trip -mode choice models via fare discount adjustments. +The transit fare discount is defined as persons who purchase or are +provided a transit pass. The transit fare discount consists of two submodels - this +transit pass ownership model and a person :ref:`transit_pass_subsidy` model. The +result of this model can be used to condition downstream models such as the tour and trip +mode choice models via fare discount adjustments. -The main interface to the transit pass ownership model is the -:py:func:`~activitysim.examples.example_semcog.extensions.transit_pass_ownership` function. This +The main interface to the transit pass ownership model is the +:py:func:`~activitysim.examples.prototype_semcog.extensions.transit_pass_ownership` function. This function is registered as an Inject step in the example Pipeline. Core Table: ``persons`` | Result Field: ``transit_pass_ownership`` | Skims Keys: NA -.. automodule:: activitysim.examples.example_semcog.extensions.transit_pass_ownership +.. automodule:: activitysim.examples.prototype_semcog.extensions.transit_pass_ownership :members: .. _auto_ownership: @@ -293,6 +293,73 @@ Core Table: ``households`` | Result Field: ``auto_ownership`` | Skims Keys: NA .. automodule:: activitysim.abm.models.auto_ownership :members: + +.. _vehicle_type_choice: + +Vehicle Type Choice +------------------- + +The vehicle type choice model selects a vehicle type for each household vehicle. A vehicle type +is a combination of the vehicle's body type, age, and fuel type. For example, a 13 year old +gas powered van would have a vehicle type of *van_13_gas*. + +There are two vehicle type choice model structures implemented: + +1. Simultaneous choice of body type, age, and fuel type. +2. Simultaneous choice of body type and age, with fuel type assigned from a probability distribution. + +The *vehicle_type_choice.yaml* file contains the following model specific options: + +* ``SPEC``: Filename for input utility expressions +* ``COEFS``: Filename for input utility expression coefficients +* ``LOGIT_TYPE``: Specifies whether you are using a nested or multinomial logit structure +* ``combinatorial_alts``: Specifies the alternatives for the choice model. + Has sub-categories of ``body_type``, ``age``, and ``fuel_type``. +* ``PROBS_SPEC``: Filename for input fuel type probabilities. Supplying probabilities + corresponds to implementation structure 2 above, and not supplying probabilities would correspond to implementation structure 1. + If provided, the ``fuel_type`` category in ``combinatorial_alts`` + will be excluded from the model alternatives such that only body type and age are selected. Input ``PROBS_SPEC`` table will have an index + column named *vehicle_type* which is a combination of body type and age in the form ``{body type}_{age}``. Subsequent column names + specify the fuel type that will be added and the column values are the probabilities of that fuel type. + The vehicle type model will select a fuel type for each vehicle based on the provided probabilities. +* ``VEHICLE_TYPE_DATA_FILE``: Filename for input vehicle type data. Must have columns ``body_type``, ``fuel_type``, and ``vehicle_year``. + Vehicle ``age`` is computed using the ``FLEET_YEAR`` option. Data for every alternative specified in the ``combinatorial_alts`` option must be included + in the file. Vehicle type data file will be joined to the alternatives and can be used in the utility expressions if ``PROBS_SPEC`` is not provided. + If ``PROBS_SPEC`` is provided, the vehicle type data will be joined after a vehicle type is decided so the data can be used in downstream models. +* ``COLS_TO_INCLUDE_IN_VEHICLE_TABLE``: List of columns from the vehicle type data file to include in the vehicle table that can be used in downstream models. + Examples of data that might be needed is vehicle range for the :ref:`vehicle_allocation` model, auto operating costs to use in tour and trip mode choice, + and emissions data for post-model-run analysis. +* ``FLEET_YEAR``: Integer specifying the fleet year to be used in the model run. This is used to compute ``age`` in the + vehicle type data table where ``age = (1 + FLEET_YEAR - vehicle_year)``. Computing age on the fly with the ``FLEET_YEAR`` variable allows the + user flexibility to compile and share a single vehicle type data file containing all years and simply change the ``FLEET_YEAR`` to run + different scenario years. +* Optional additional settings that work the same in other models are constants, expression preprocessor, and annotate tables. + +Input vehicle type data included in :ref:`prototype_mtc_extended` came from a variety of sources. The number of vehicle makes, models, MPG, and +electric vehicle range was sourced from the Enivornmental Protection Agency (EPA). Additional data on vehicle costs were derived from the +National Household Travel Survey. Auto operating costs in the vehicle type data file were a sum of fuel costs and maintenance costs. +Fuel costs were calculated from MPG assuming a $3.00 cost for a gallon of gas. When MPG was not available to calculate fuel costs, +the closest year, vehicle type, or body type available was used. Maintenance costs were taken from AAA's +`2017 driving cost study `_. +Size categories within body types were averaged, e.g. car was an average of AAA's small, medium, and large sedan categories. +Motorcycles were assigned the small sedan maintenance costs since they were not included in AAA's report. +Maintenance costs were not varied by vehicle year. (According to +`data from the U.S. Bureau of Labor Statistics `_, +there was no consistent relationship between vehicle age and maintenance costs.) + +Using the above methodology, the average auto operating costs of vehicles output from :ref:`prototype_mtc_extended` was 18.4 cents. +This value is very close to the auto operating cost of 18.3 cents used in :ref:`prototype_mtc`. +Non-household vehicles in prototype_mtc_extended use the auto operating cost of 18.3 cents used in prototype_mtc. +Users are encouraged to make their own assumptions and calculate auto operating costs as they see fit. + +The distribution of fuel type probabilities included in :ref:`prototype_mtc_extended` are computed directly from the National Household Travel Survey data +and include the entire US. Therefore, there is "lumpiness" in probabilities due to poor statistics in the data for some vehicle types. +The user is encouraged to adjust the probabilities to their modeling region and "smooth" them for more consistent results. + +Further discussion of output results and model sensitivities can be found `here `_. + +.. automodule:: activitysim.abm.models.vehicle_type_choice + :members: .. _telecommute_frequency: @@ -308,12 +375,12 @@ level of telecommuting. The model alternatives are the frequency of telecommutin days per week (0 days, 1 day, 2 to 3 days, 4+ days). The main interface to the work from home model is the -:py:func:`~activitysim.examples.example_semcog.extensions.telecommute_frequency` function. This +:py:func:`~activitysim.examples.prototype_semcog.extensions.telecommute_frequency` function. This function is registered as an Inject step in the example Pipeline. Core Table: ``persons`` | Result Field: ``telecommute_frequency`` | Skims Keys: NA -.. automodule:: activitysim.examples.example_semcog.extensions.telecommute_frequency +.. automodule:: activitysim.examples.prototype_semcog.extensions.telecommute_frequency :members: .. _freeparking: @@ -404,7 +471,7 @@ from previously scheduled tours. This model uses person :ref:`time_windows`. .. note:: - For ``example_mtc``, the modeled time periods for all submodels are hourly from 3 am to 3 am the next day, and any times before 5 am are shifted to time period 5, and any times after 11 pm are shifted to time period 23. + For ``prototype_mtc``, the modeled time periods for all submodels are hourly from 3 am to 3 am the next day, and any times before 5 am are shifted to time period 5, and any times after 11 pm are shifted to time period 23. If ``tour_departure_and_duration_segments.csv`` is included in the configs, then the model @@ -622,6 +689,32 @@ Core Table: ``tours`` | Result Field: ``start, end, duration`` | Skims Keys: ``T .. automodule:: activitysim.abm.models.non_mandatory_scheduling :members: +.. _vehicle_allocation: + +Vehicle Allocation +------------------- + +The vehicle allocation model selects which vehicle would be used for a tour of given occupancy. The alternatives for the vehicle +allocation model consist of the vehicles owned by the household and an additional non household vehicle option. (Zero-auto +households would be assigned the non-household vehicle option since there are no owned vehicles in the household). +A vehicle is selected for each occupancy level set by the user such that different tour modes that have different occupancies could see different operating +characteristics. The output of the vehicle allocation model is appended to the tour table with column names ``vehicle_occup_{occupancy}`` and the values are +the vehicle type selected. + +In :ref:`prototype_mtc_extended`, three occupancy levels are used: 1, 2, and 3.5. The auto operating cost +for occupancy level 1 is used in the drive alone mode and drive to transit modes. Occupancy levels 2 and 3.5 are used for shared +ride 2 and shared ride 3+ auto operating costs, respectively. Auto operating costs are selected in the mode choice pre-processors by selecting the allocated +vehicle type data from the vehicles table. If the allocated vehicle type was the non-household vehicle, the auto operating costs uses +the previous default value from :ref:`prototype_mtc`. All trips and atwork subtours use the auto operating cost of the parent tour. Functionality +was added in tour and atwork subtour mode choice to annotate the tour table and create a ``selected_vehicle`` which denotes the actual vehicle used. +If the tour mode does not include a vehicle, then the ``selected_vehicle`` entry is left blank. + +The current implementation does not account for possible use of the household vehicles by other household members. Thus, it is possible for a +selected vehicle to be used in two separate tours at the same time. + + +.. automodule:: activitysim.abm.models.vehicle_allocation + :members: .. _tour_mode_choice: diff --git a/ez_setup.py b/ez_setup.py index 435c30fe5c..6df0f8fded 100644 --- a/ez_setup.py +++ b/ez_setup.py @@ -13,17 +13,16 @@ This file can also be run as a script to install or upgrade setuptools. """ +import contextlib +import optparse import os +import platform import shutil +import subprocess import sys import tempfile -import zipfile -import optparse -import subprocess -import platform import textwrap -import contextlib - +import zipfile from distutils import log try: @@ -51,10 +50,10 @@ def _python_cmd(*args): def _install(archive_filename, install_args=()): with archive_context(archive_filename): # installing - log.warn('Installing Setuptools') - if not _python_cmd('setup.py', 'install', *install_args): - log.warn('Something went wrong during the installation.') - log.warn('See the error message above.') + log.warn("Installing Setuptools") + if not _python_cmd("setup.py", "install", *install_args): + log.warn("Something went wrong during the installation.") + log.warn("See the error message above.") # exitcode will be 2 return 2 @@ -62,12 +61,12 @@ def _install(archive_filename, install_args=()): def _build_egg(egg, archive_filename, to_dir): with archive_context(archive_filename): # building an egg - log.warn('Building a Setuptools egg in %s', to_dir) - _python_cmd('setup.py', '-q', 'bdist_egg', '--dist-dir', to_dir) + log.warn("Building a Setuptools egg in %s", to_dir) + _python_cmd("setup.py", "-q", "bdist_egg", "--dist-dir", to_dir) # returning the result log.warn(egg) if not os.path.exists(egg): - raise IOError('Could not build the egg.') + raise IOError("Could not build the egg.") class ContextualZipFile(zipfile.ZipFile): @@ -85,7 +84,7 @@ def __new__(cls, *args, **kwargs): """ Construct a ZipFile or ContextualZipFile as appropriate """ - if hasattr(zipfile.ZipFile, '__exit__'): + if hasattr(zipfile.ZipFile, "__exit__"): return zipfile.ZipFile(*args, **kwargs) return super(ContextualZipFile, cls).__new__(cls) @@ -94,7 +93,7 @@ def __new__(cls, *args, **kwargs): def archive_context(filename): # extracting the archive tmpdir = tempfile.mkdtemp() - log.warn('Extracting in %s', tmpdir) + log.warn("Extracting in %s", tmpdir) old_wd = os.getcwd() try: os.chdir(tmpdir) @@ -104,7 +103,7 @@ def archive_context(filename): # going in the directory subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0]) os.chdir(subdir) - log.warn('Now working in %s', subdir) + log.warn("Now working in %s", subdir) yield finally: @@ -113,27 +112,34 @@ def archive_context(filename): def _do_download(version, download_base, to_dir, download_delay): - egg = os.path.join(to_dir, 'setuptools-%s-py%d.%d.egg' - % (version, sys.version_info[0], sys.version_info[1])) + egg = os.path.join( + to_dir, + "setuptools-%s-py%d.%d.egg" + % (version, sys.version_info[0], sys.version_info[1]), + ) if not os.path.exists(egg): - archive = download_setuptools(version, download_base, - to_dir, download_delay) + archive = download_setuptools(version, download_base, to_dir, download_delay) _build_egg(egg, archive, to_dir) sys.path.insert(0, egg) # Remove previously-imported pkg_resources if present (see # https://bitbucket.org/pypa/setuptools/pull-request/7/ for details). - if 'pkg_resources' in sys.modules: - del sys.modules['pkg_resources'] + if "pkg_resources" in sys.modules: + del sys.modules["pkg_resources"] import setuptools + setuptools.bootstrap_install_from = egg -def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL, - to_dir=os.curdir, download_delay=15): +def use_setuptools( + version=DEFAULT_VERSION, + download_base=DEFAULT_URL, + to_dir=os.curdir, + download_delay=15, +): to_dir = os.path.abspath(to_dir) - rep_modules = 'pkg_resources', 'setuptools' + rep_modules = "pkg_resources", "setuptools" imported = set(sys.modules).intersection(rep_modules) try: import pkg_resources @@ -146,19 +152,21 @@ def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL, return _do_download(version, download_base, to_dir, download_delay) except pkg_resources.VersionConflict as VC_err: if imported: - msg = textwrap.dedent(""" + msg = textwrap.dedent( + """ The required version of setuptools (>={version}) is not available, and can't be installed while this script is running. Please install a more recent version first, using 'easy_install -U setuptools'. (Currently using {VC_err.args[0]!r}) - """).format(VC_err=VC_err, version=version) + """ + ).format(VC_err=VC_err, version=version) sys.stderr.write(msg) sys.exit(2) # otherwise, reload ok - del pkg_resources, sys.modules['pkg_resources'] + del pkg_resources, sys.modules["pkg_resources"] return _do_download(version, download_base, to_dir, download_delay) @@ -184,22 +192,21 @@ def download_file_powershell(url, target): ps_cmd = ( "[System.Net.WebRequest]::DefaultWebProxy.Credentials = " "[System.Net.CredentialCache]::DefaultCredentials; " - "(new-object System.Net.WebClient).DownloadFile(%(url)r, %(target)r)" - % vars() + "(new-object System.Net.WebClient).DownloadFile(%(url)r, %(target)r)" % vars() ) cmd = [ - 'powershell', - '-Command', + "powershell", + "-Command", ps_cmd, ] _clean_check(cmd, target) def has_powershell(): - if platform.system() != 'Windows': + if platform.system() != "Windows": return False - cmd = ['powershell', '-Command', 'echo test'] - with open(os.path.devnull, 'wb') as devnull: + cmd = ["powershell", "-Command", "echo test"] + with open(os.path.devnull, "wb") as devnull: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except Exception: @@ -211,13 +218,13 @@ def has_powershell(): def download_file_curl(url, target): - cmd = ['curl', url, '--silent', '--output', target] + cmd = ["curl", url, "--silent", "--output", target] _clean_check(cmd, target) def has_curl(): - cmd = ['curl', '--version'] - with open(os.path.devnull, 'wb') as devnull: + cmd = ["curl", "--version"] + with open(os.path.devnull, "wb") as devnull: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except Exception: @@ -229,13 +236,13 @@ def has_curl(): def download_file_wget(url, target): - cmd = ['wget', url, '--quiet', '--output-document', target] + cmd = ["wget", url, "--quiet", "--output-document", target] _clean_check(cmd, target) def has_wget(): - cmd = ['wget', '--version'] - with open(os.path.devnull, 'wb') as devnull: + cmd = ["wget", "--version"] + with open(os.path.devnull, "wb") as devnull: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except Exception: @@ -277,8 +284,13 @@ def get_best_downloader(): return next(viable_downloaders, None) -def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL, - to_dir=os.curdir, delay=15, downloader_factory=get_best_downloader): +def download_setuptools( + version=DEFAULT_VERSION, + download_base=DEFAULT_URL, + to_dir=os.curdir, + delay=15, + downloader_factory=get_best_downloader, +): """ Download setuptools from a specified location and return its filename @@ -307,7 +319,7 @@ def _build_install_args(options): """ Build the arguments to 'python setup.py install' on the setuptools package """ - return ['--user'] if options.user_install else [] + return ["--user"] if options.user_install else [] def _parse_args(): @@ -316,19 +328,30 @@ def _parse_args(): """ parser = optparse.OptionParser() parser.add_option( - '--user', dest='user_install', action='store_true', default=False, - help='install in user site package (requires Python 2.6 or later)') + "--user", + dest="user_install", + action="store_true", + default=False, + help="install in user site package (requires Python 2.6 or later)", + ) parser.add_option( - '--download-base', dest='download_base', metavar="URL", + "--download-base", + dest="download_base", + metavar="URL", default=DEFAULT_URL, - help='alternative URL from where to download the setuptools package') + help="alternative URL from where to download the setuptools package", + ) parser.add_option( - '--insecure', dest='downloader_factory', action='store_const', - const=lambda: download_file_insecure, default=get_best_downloader, - help='Use internal, non-validating downloader' + "--insecure", + dest="downloader_factory", + action="store_const", + const=lambda: download_file_insecure, + default=get_best_downloader, + help="Use internal, non-validating downloader", ) parser.add_option( - '--version', help="Specify which version to download", + "--version", + help="Specify which version to download", default=DEFAULT_VERSION, ) options, args = parser.parse_args() @@ -347,5 +370,5 @@ def main(): return _install(archive, _build_install_args(options)) -if __name__ == '__main__': +if __name__ == "__main__": sys.exit(main()) diff --git a/other_resources/scripts/build_omx.py b/other_resources/scripts/build_omx.py index 221393bf12..4f70265915 100644 --- a/other_resources/scripts/build_omx.py +++ b/other_resources/scripts/build_omx.py @@ -5,23 +5,23 @@ import os -import pandas as pd import openmatrix as omx +import pandas as pd def read_manifest(manifest_file_name): column_map = { - 'Token': 'skim_key1', - 'TimePeriod': 'skim_key2', - 'File': 'source_file_name', - 'Matrix': 'source_key', - } - converters = { - col: str for col in column_map.keys() + "Token": "skim_key1", + "TimePeriod": "skim_key2", + "File": "source_file_name", + "Matrix": "source_key", } + converters = {col: str for col in column_map.keys()} - manifest = pd.read_csv(manifest_file_name, header=0, comment='#', converters=converters) + manifest = pd.read_csv( + manifest_file_name, header=0, comment="#", converters=converters + ) manifest.rename(columns=column_map, inplace=True) @@ -30,27 +30,38 @@ def read_manifest(manifest_file_name): def omx_getMatrix(omx_file_name, omx_key): - with omx.open_file(omx_file_name, 'r') as omx_file: + with omx.open_file(omx_file_name, "r") as omx_file: if omx_key not in omx_file.list_matrices(): - print "Source matrix with key '%s' not found in file '%s" % (omx_key, omx_file,) - print omx_file.list_matrices() - raise RuntimeError("Source matrix with key '%s' not found in file '%s" - % (omx_key, omx_file,)) + print( + "Source matrix with key '%s' not found in file '%s" + % ( + omx_key, + omx_file, + ) + ) + print(omx_file.list_matrices()) + raise RuntimeError( + "Source matrix with key '%s' not found in file '%s" + % ( + omx_key, + omx_file, + ) + ) data = omx_file[omx_key] return data -manifest_dir = '.' -source_data_dir = '.' -dest_data_dir = '.' +manifest_dir = "." +source_data_dir = "." +dest_data_dir = "." -manifest_file_name = os.path.join(manifest_dir, 'skim_manifest.csv') -dest_file_name = os.path.join(dest_data_dir, 'skims.omx') +manifest_file_name = os.path.join(manifest_dir, "skim_manifest.csv") +dest_file_name = os.path.join(dest_data_dir, "skims.omx") -with omx.open_file(dest_file_name, 'a') as dest_omx: +with omx.open_file(dest_file_name, "a") as dest_omx: manifest = read_manifest(manifest_file_name) @@ -59,24 +70,41 @@ def omx_getMatrix(omx_file_name, omx_key): source_file_name = os.path.join(source_data_dir, row.source_file_name) if row.skim_key2: - dest_key = row.skim_key1 + '__' + row.skim_key2 + dest_key = row.skim_key1 + "__" + row.skim_key2 else: dest_key = row.skim_key1 - print "Reading '%s' from '%s' in %s" % (dest_key, row.source_key, source_file_name) - with omx.open_file(source_file_name, 'r') as source_omx: + print( + "Reading '%s' from '%s' in %s" + % ( + dest_key, + row.source_key, + source_file_name, + ) + ) + with omx.open_file(source_file_name, "r") as source_omx: if row.source_key not in source_omx.list_matrices(): - print "Source matrix with key '%s' not found in file '%s" \ - % (row.source_key, source_file_name,) - print source_omx.list_matrices() - raise RuntimeError("Source matrix with key '%s' not found in file '%s" - % (row.source_key, dest_omx,)) + print( + "Source matrix with key '%s' not found in file '%s" + % ( + row.source_key, + source_file_name, + ) + ) + print(source_omx.list_matrices()) + raise RuntimeError( + "Source matrix with key '%s' not found in file '%s" + % ( + row.source_key, + dest_omx, + ) + ) data = source_omx[row.source_key] if dest_key in dest_omx.list_matrices(): - print "deleting existing dest key '%s'" % (dest_key,) + print("deleting existing dest key '%s'" % (dest_key,)) dest_omx.removeNode(dest_omx.root.data, dest_key) dest_omx[dest_key] = data diff --git a/other_resources/scripts/create_sf_example.py b/other_resources/scripts/create_sf_example.py index c052317fb3..de6c7758d1 100644 --- a/other_resources/scripts/create_sf_example.py +++ b/other_resources/scripts/create_sf_example.py @@ -2,12 +2,11 @@ # See full license in LICENSE.txt. import os +import sys import numpy as np -import pandas as pd import openmatrix as omx - -import sys +import pandas as pd # currently hdf5 written with python3 works with both p2.7 and p3, # but reading hdf5 built with p2.7 (tables==3.4.4) p3 throws a ValueError reading land_use_taz: @@ -18,7 +17,7 @@ # input files, SF county is zones 1 to 190, output files source_store = "/Users/jeff.doyle/work/activitysim-data/mtc_tm1/data/mtc_asim.h5" -source_skims = '/Users/jeff.doyle/work/activitysim-data/mtc_tm1/data/skims.omx' +source_skims = "/Users/jeff.doyle/work/activitysim-data/mtc_tm1/data/skims.omx" dest_data_dir = "/Users/jeff.doyle/work/activitysim-data" @@ -28,42 +27,46 @@ def create_subset(dest_store, dest_skims, maxZone, households_sample_size=0): dest_store_path = os.path.join(dest_data_dir, dest_store) dest_skims_path = os.path.join(dest_data_dir, dest_skims) - print('land_use_taz') - df = pd.read_hdf(source_store, 'land_use_taz') + print("land_use_taz") + df = pd.read_hdf(source_store, "land_use_taz") df = df[df.index <= maxZone] - df.to_hdf(dest_store_path, 'land_use_taz') + df.to_hdf(dest_store_path, "land_use_taz") del df - print('households') - hh_df = pd.read_hdf(source_store, 'households') + print("households") + hh_df = pd.read_hdf(source_store, "households") hh_df = hh_df[hh_df.TAZ <= maxZone] if households_sample_size: - hh_df = hh_df.take(np.random.choice(len(hh_df), size=households_sample_size, replace=False)) - hh_df.to_hdf(dest_store_path, 'households') + hh_df = hh_df.take( + np.random.choice(len(hh_df), size=households_sample_size, replace=False) + ) + hh_df.to_hdf(dest_store_path, "households") - print('persons') - per_df = pd.read_hdf(source_store, 'persons') + print("persons") + per_df = pd.read_hdf(source_store, "persons") per_df = per_df[per_df.household_id.isin(hh_df.index)] - per_df.to_hdf(dest_store_path, 'persons') + per_df.to_hdf(dest_store_path, "persons") # process all skims skims = omx.open_file(source_skims) - skims_out = omx.open_file(dest_skims_path, 'w') + skims_out = omx.open_file(dest_skims_path, "w") skimsToProcess = skims.list_matrices() for skimName in skimsToProcess: print(skimName) skims_out[skimName] = skims[skimName][0:maxZone, 0:maxZone] - skims_out[skimName].attrs.TITLE = '' # remove funny character for OMX viewer + skims_out[skimName].attrs.TITLE = "" # remove funny character for OMX viewer -create_subset(dest_store='mtc_tm1_sf/data/mtc_asim.h5', - dest_skims='mtc_tm1_sf/data/skims.omx', - maxZone=190 - ) +create_subset( + dest_store="mtc_tm1_sf/data/mtc_asim.h5", + dest_skims="mtc_tm1_sf/data/skims.omx", + maxZone=190, +) -create_subset(dest_store='mtc_tm1_test/data/mtc_asim.h5', - dest_skims='mtc_tm1_test/data/skims.omx', - maxZone=25, - households_sample_size=5000 - ) +create_subset( + dest_store="mtc_tm1_test/data/mtc_asim.h5", + dest_skims="mtc_tm1_test/data/skims.omx", + maxZone=25, + households_sample_size=5000, +) diff --git a/other_resources/scripts/make_pipeline_output.py b/other_resources/scripts/make_pipeline_output.py index c511b78cd3..4dd69d4a8b 100644 --- a/other_resources/scripts/make_pipeline_output.py +++ b/other_resources/scripts/make_pipeline_output.py @@ -1,48 +1,56 @@ - # create table of pipeline table fields by creator # Ben Stabler, ben.stabler@rsginc.com, 06/06/18 # C:\projects\development\activitysim\example>python ../scripts/make_pipeline_output.py import pandas as pd -pipeline_filename = 'output\\pipeline.h5' -out_fields_filename = 'output\\pipeline_fields.csv' +pipeline_filename = "output\\pipeline.h5" +out_fields_filename = "output\\pipeline_fields.csv" # get pipeline tables pipeline = pd.io.pytables.HDFStore(pipeline_filename) -checkpoints = pipeline['/checkpoints'] +checkpoints = pipeline["/checkpoints"] p_tables = pipeline.keys() -p_tables.remove('/checkpoints') -p_tables_tables = [i.split('/')[1] for i in p_tables] -p_tables_cps = [i.split('/')[2] for i in p_tables] +p_tables.remove("/checkpoints") +p_tables_tables = [i.split("/")[1] for i in p_tables] +p_tables_cps = [i.split("/")[2] for i in p_tables] p_tables = pd.DataFrame({"table": p_tables_tables, "cp": p_tables_cps}) # join timestamps and sort -cp_times = checkpoints[['checkpoint_name', 'timestamp']] -cp_times = cp_times.set_index('checkpoint_name') -p_tables = p_tables.join(cp_times, on='cp') -p_tables = p_tables.sort_values(by=['table', 'timestamp']) +cp_times = checkpoints[["checkpoint_name", "timestamp"]] +cp_times = cp_times.set_index("checkpoint_name") +p_tables = p_tables.join(cp_times, on="cp") +p_tables = p_tables.sort_values(by=["table", "timestamp"]) # build table of fields for each table by creator # TABLE, FIELD, DTYPE, CREATOR, NCOL, NROW tables_fields = dict() for i in range(len(p_tables)): - cur_table = p_tables['table'].iloc[i] - cur_cp = p_tables['cp'].iloc[i] + cur_table = p_tables["table"].iloc[i] + cur_cp = p_tables["cp"].iloc[i] - print('process ' + cur_table + '/' + cur_cp) + print("process " + cur_table + "/" + cur_cp) - cur_table_data = pipeline['/' + cur_table + '/' + cur_cp] + cur_table_data = pipeline["/" + cur_table + "/" + cur_cp] cur_table_data_fields = cur_table_data.dtypes.index cur_table_data_dtypes = cur_table_data.dtypes.values cur_table_data_nrow = len(cur_table_data) cur_table_data_ncol = len(cur_table_data.columns) - table_data = pd.DataFrame({'TABLE': cur_table, 'FIELD': cur_table_data_fields, - 'DTYPE': cur_table_data_dtypes, 'CREATOR': cur_cp, - 'NCOL': cur_table_data_ncol, 'NROW': cur_table_data_nrow}) - table_data = table_data[["TABLE", "FIELD", "DTYPE", "CREATOR", "NCOL", "NROW"]] # reorder + table_data = pd.DataFrame( + { + "TABLE": cur_table, + "FIELD": cur_table_data_fields, + "DTYPE": cur_table_data_dtypes, + "CREATOR": cur_cp, + "NCOL": cur_table_data_ncol, + "NROW": cur_table_data_nrow, + } + ) + table_data = table_data[ + ["TABLE", "FIELD", "DTYPE", "CREATOR", "NCOL", "NROW"] + ] # reorder if cur_table not in tables_fields.keys(): tables_fields[cur_table] = table_data diff --git a/other_resources/scripts/omx32.py b/other_resources/scripts/omx32.py index 12b897e056..53be977ec5 100644 --- a/other_resources/scripts/omx32.py +++ b/other_resources/scripts/omx32.py @@ -1,17 +1,18 @@ -import os -import pandas as pd -import openmatrix as omx -import numpy as np - import argparse +import os +import numpy as np +import openmatrix as omx +import pandas as pd -parser = argparse.ArgumentParser(description='crop PSRC raw_data') -parser.add_argument('input', metavar='input_file_name', type=str, nargs=1, - help=f"input omx file") +parser = argparse.ArgumentParser(description="crop PSRC raw_data") +parser.add_argument( + "input", metavar="input_file_name", type=str, nargs=1, help=f"input omx file" +) -parser.add_argument('output', metavar='output_file_name', type=str, nargs=1, - help=f"output omx file") +parser.add_argument( + "output", metavar="output_file_name", type=str, nargs=1, help=f"output omx file" +) args = parser.parse_args() @@ -25,10 +26,10 @@ # skim_data_type = np.float32 -omx_in = omx.open_file(input_file_name, 'r') +omx_in = omx.open_file(input_file_name, "r") print(f"omx_in shape {omx_in.shape()}") -omx_out = omx.open_file(output_file_name, 'w') +omx_out = omx.open_file(output_file_name, "w") for mapping_name in omx_in.listMappings(): offset_map = omx_in.mapentries(mapping_name) diff --git a/other_resources/scripts/simulation.py b/other_resources/scripts/simulation.py index 3fc082790e..b00ee62f88 100644 --- a/other_resources/scripts/simulation.py +++ b/other_resources/scripts/simulation.py @@ -1,45 +1,42 @@ # ActivitySim # See full license in LICENSE.txt. -import sys import logging +import sys -from activitysim.core import mem -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import mp_tasks -from activitysim.core import chunk +from activitysim.core import chunk, config, inject, mem, mp_tasks, pipeline, tracing # from activitysim import abm -logger = logging.getLogger('activitysim') +logger = logging.getLogger("activitysim") def cleanup_output_files(): - active_log_files = \ - [h.baseFilename for h in logger.root.handlers if isinstance(h, logging.FileHandler)] - tracing.delete_output_files('log', ignore=active_log_files) + active_log_files = [ + h.baseFilename + for h in logger.root.handlers + if isinstance(h, logging.FileHandler) + ] + tracing.delete_output_files("log", ignore=active_log_files) - tracing.delete_output_files('h5') - tracing.delete_output_files('csv') - tracing.delete_output_files('txt') - tracing.delete_output_files('yaml') - tracing.delete_output_files('prof') - tracing.delete_output_files('omx') + tracing.delete_output_files("h5") + tracing.delete_output_files("csv") + tracing.delete_output_files("txt") + tracing.delete_output_files("yaml") + tracing.delete_output_files("prof") + tracing.delete_output_files("omx") def run(run_list, injectables=None): - if run_list['multiprocess']: + if run_list["multiprocess"]: logger.info("run multiprocess simulation") mp_tasks.run_multiprocess(run_list, injectables) else: logger.info("run single process simulation") - pipeline.run(models=run_list['models'], resume_after=run_list['resume_after']) + pipeline.run(models=run_list["models"], resume_after=run_list["resume_after"]) pipeline.close_pipeline() mem.log_global_hwm() @@ -47,11 +44,11 @@ def run(run_list, injectables=None): def log_settings(injectables): settings = [ - 'households_sample_size', - 'chunk_size', - 'multiprocess', - 'num_processes', - 'resume_after', + "households_sample_size", + "chunk_size", + "multiprocess", + "num_processes", + "resume_after", ] for k in settings: @@ -61,10 +58,10 @@ def log_settings(injectables): logger.info("injectable %s: %s" % (k, inject.get_injectable(k))) -if __name__ == '__main__': +if __name__ == "__main__": - inject.add_injectable('data_dir', 'data') - inject.add_injectable('configs_dir', 'configs') + inject.add_injectable("data_dir", "data") + inject.add_injectable("configs_dir", "configs") config.handle_standard_args() @@ -76,14 +73,16 @@ def log_settings(injectables): t0 = tracing.print_elapsed_time() # cleanup if not resuming - if not config.setting('resume_after', False): + if not config.setting("resume_after", False): cleanup_output_files() run_list = mp_tasks.get_run_list() - if run_list['multiprocess']: + if run_list["multiprocess"]: # do this after config.handle_standard_args, as command line args may override injectables - injectables = list(set(injectables) | set(['data_dir', 'configs_dir', 'output_dir'])) + injectables = list( + set(injectables) | set(["data_dir", "configs_dir", "output_dir"]) + ) injectables = {k: inject.get_injectable(k) for k in injectables} else: injectables = None diff --git a/other_resources/scripts/verify_results.py b/other_resources/scripts/verify_results.py index aa288e3695..9c8fb8e326 100644 --- a/other_resources/scripts/verify_results.py +++ b/other_resources/scripts/verify_results.py @@ -1,22 +1,21 @@ - ############################################################# # ActivitySim verification against TM1 # Ben Stabler, ben.stabler@rsginc.com, 02/22/19 # C:\projects\activitysim\verification>python compare_results.py ############################################################# -import pandas as pd import openmatrix as omx +import pandas as pd ############################################################# # INPUTS ############################################################# -pipeline_filename = 'asim/pipeline.h5' +pipeline_filename = "asim/pipeline.h5" distance_matrix_filename = "asim/skims.omx" asim_nmtf_alts_filename = "asim/non_mandatory_tour_frequency_alternatives.csv" -process_sp = True # False skip work/sch shadow pricing comparisons, True do them +process_sp = True # False skip work/sch shadow pricing comparisons, True do them process_tm1 = True # False only processes asim, True processes tm1 as well asim_sp_work_filename = "asim/shadow_price_workplace_modeled_size_10.csv" @@ -50,13 +49,39 @@ # COMMON LABELS ############################################################# -ptypes = ["", "Full-time worker", "Part-time worker", "University student", "Non-worker", - "Retired", "Student of driving age", "Student of non-driving age", - "Child too young for school"] - -mode_labels = ["", "DRIVEALONEFREE", "DRIVEALONEPAY", "SHARED2FREE", "SHARED2PAY", "SHARED3FREE", - "SHARED3PAY", "WALK", "BIKE", "WALK_LOC", "WALK_LRF", "WALK_EXP", "WALK_HVY", - "WALK_COM", "DRIVE_LOC", "DRIVE_LRF", "DRIVE_EXP", "DRIVE_HVY", "DRIVE_COM"] +ptypes = [ + "", + "Full-time worker", + "Part-time worker", + "University student", + "Non-worker", + "Retired", + "Student of driving age", + "Student of non-driving age", + "Child too young for school", +] + +mode_labels = [ + "", + "DRIVEALONEFREE", + "DRIVEALONEPAY", + "SHARED2FREE", + "SHARED2PAY", + "SHARED3FREE", + "SHARED3PAY", + "WALK", + "BIKE", + "WALK_LOC", + "WALK_LRF", + "WALK_EXP", + "WALK_HVY", + "WALK_COM", + "DRIVE_LOC", + "DRIVE_LRF", + "DRIVE_EXP", + "DRIVE_HVY", + "DRIVE_COM", +] ############################################################# # DISTANCE SKIM @@ -115,23 +140,43 @@ if process_sp: if process_tm1: - tm1_markets = ["work_low", "work_med", "work_high", "work_high", "work_very high", "university", - "school_high", "school_grade"] + tm1_markets = [ + "work_low", + "work_med", + "work_high", + "work_high", + "work_very high", + "university", + "school_high", + "school_grade", + ] tm1 = pd.read_csv(tm1_sp_filename) tm1 = tm1.groupby(tm1["zone"]).sum() tm1["zone"] = tm1.index tm1 = tm1.loc[tm1["zone"] > 0] ws_size = tm1[["zone"]] for i in range(len(tm1_markets)): - ws_size[tm1_markets[i] + "_modeledDests"] = tm1[tm1_markets[i] + "_modeledDests"] + ws_size[tm1_markets[i] + "_modeledDests"] = tm1[ + tm1_markets[i] + "_modeledDests" + ] ws_size.to_csv("outputs/tm1_work_school_location.csv", na_rep=0) - asim_markets = ["work_low", "work_med", "work_high", "work_high", "work_veryhigh", "university", - "highschool", "gradeschool"] + asim_markets = [ + "work_low", + "work_med", + "work_high", + "work_high", + "work_veryhigh", + "university", + "highschool", + "gradeschool", + ] asim = pd.read_csv(asim_sp_work_filename) asim_sch = pd.read_csv(asim_sp_school_filename) asim_sch_no_sp = pd.read_csv(asim_sp_school_no_sp_filename) - asim_sch["gradeschool"] = asim_sch_no_sp["gradeschool"] # grade school not shadow priced + asim_sch["gradeschool"] = asim_sch_no_sp[ + "gradeschool" + ] # grade school not shadow priced asim = asim.set_index("TAZ", drop=False) asim_sch = asim_sch.set_index("TAZ", drop=False) @@ -153,18 +198,30 @@ if process_tm1: tm1_work = pd.read_csv(tm1_work_filename) tm1_work["HomeCounty"] = tazs["COUNTYNAME"].loc[tm1_work["HomeTAZ"]].tolist() - tm1_work["WorkCounty"] = tazs["COUNTYNAME"].loc[tm1_work["WorkLocation"]].tolist() - tm1_work_counties = tm1_work.groupby(["HomeCounty", "WorkCounty"]).count()["HHID"] + tm1_work["WorkCounty"] = ( + tazs["COUNTYNAME"].loc[tm1_work["WorkLocation"]].tolist() + ) + tm1_work_counties = tm1_work.groupby(["HomeCounty", "WorkCounty"]).count()[ + "HHID" + ] tm1_work_counties = tm1_work_counties.reset_index() - tm1_work_counties = tm1_work_counties.pivot(index="HomeCounty", columns="WorkCounty") + tm1_work_counties = tm1_work_counties.pivot( + index="HomeCounty", columns="WorkCounty" + ) tm1_work_counties.to_csv("outputs/tm1_work_counties.csv", na_rep=0) asim_cdap = pd.read_csv(asim_per_filename) asim_cdap["HomeCounty"] = tazs["COUNTYNAME"].loc[asim_cdap["home_taz"]].tolist() - asim_cdap["WorkCounty"] = tazs["COUNTYNAME"].loc[asim_cdap["workplace_zone_id"]].tolist() - asim_work_counties = asim_cdap.groupby(["HomeCounty", "WorkCounty"]).count()["household_id"] + asim_cdap["WorkCounty"] = ( + tazs["COUNTYNAME"].loc[asim_cdap["workplace_zone_id"]].tolist() + ) + asim_work_counties = asim_cdap.groupby(["HomeCounty", "WorkCounty"]).count()[ + "household_id" + ] asim_work_counties = asim_work_counties.reset_index() - asim_work_counties = asim_work_counties.pivot(index="HomeCounty", columns="WorkCounty") + asim_work_counties = asim_work_counties.pivot( + index="HomeCounty", columns="WorkCounty" + ) asim_work_counties.to_csv("outputs/asim_work_counties.csv", na_rep=0) # auto ownership - count of hhs by num autos by taz @@ -204,10 +261,12 @@ if process_tm1: tm1_per = pd.read_csv(tm1_per_filename) - tm1_per["fp_choice"] = (tm1_per["fp_choice"] == 1) # 1=free, 2==pay + tm1_per["fp_choice"] = tm1_per["fp_choice"] == 1 # 1=free, 2==pay tm1_work = pd.read_csv(tm1_work_filename) tm1_work = tm1_work.set_index("PersonID", drop=False) - tm1_per["WorkLocation"] = tm1_work["WorkLocation"].loc[tm1_per["person_id"]].tolist() + tm1_per["WorkLocation"] = ( + tm1_work["WorkLocation"].loc[tm1_per["person_id"]].tolist() + ) tm1_fp = tm1_per[tm1_per["WorkLocation"] > 0] tm1_fp = tm1_fp.groupby(["type", "fp_choice"]).count()["hh_id"] tm1_fp = tm1_fp.reset_index() @@ -215,7 +274,9 @@ tm1_fp.to_csv("outputs/tm1_fp.csv", na_rep=0) asim_cdap["ptypename"] = pd.Series(ptypes)[asim_cdap["ptype"].tolist()].tolist() -asim_fp = asim_cdap.groupby(["ptypename", "free_parking_at_work"]).count()["household_id"] +asim_fp = asim_cdap.groupby(["ptypename", "free_parking_at_work"]).count()[ + "household_id" +] asim_fp = asim_fp.reset_index() asim_fp = asim_fp.pivot(index="ptypename", columns="free_parking_at_work") asim_fp.to_csv("outputs/asim_fp.csv", na_rep=0) @@ -225,11 +286,15 @@ if process_tm1: tm1_per = pd.read_csv(tm1_per_filename) tm1_per["vot_bin"] = pd.cut(tm1_per["value_of_time"], range(51)) - tm1_per.groupby(["vot_bin"]).count()["hh_id"].to_csv("outputs/tm1_vot.csv", na_rep=0) + tm1_per.groupby(["vot_bin"]).count()["hh_id"].to_csv( + "outputs/tm1_vot.csv", na_rep=0 + ) asim_per = pd.read_csv(asim_per_filename) asim_per["vot_bin"] = pd.cut(asim_per["value_of_time"], range(51)) -asim_per.groupby(["vot_bin"]).count()["household_id"].to_csv("outputs/asim_vot.csv", na_rep=0) +asim_per.groupby(["vot_bin"]).count()["household_id"].to_csv( + "outputs/asim_vot.csv", na_rep=0 +) ############################################################# # TOUR @@ -245,7 +310,9 @@ tm1_hh = tm1_hh.set_index("hh_id", drop=False) tm1_per["hhsize"] = tm1_hh["size"].loc[tm1_per["hh_id"]].tolist() # indexing starts at 1 - tm1_per["imf_choice_name"] = pd.Series(tm1_imf_codes)[(tm1_per["imf_choice"]+1).tolist()].tolist() + tm1_per["imf_choice_name"] = pd.Series(tm1_imf_codes)[ + (tm1_per["imf_choice"] + 1).tolist() + ].tolist() tm1_imf = tm1_per.groupby(["type", "imf_choice_name"]).count()["hh_id"] tm1_imf = tm1_imf.reset_index() tm1_imf = tm1_imf.pivot(index="type", columns="imf_choice_name") @@ -257,10 +324,15 @@ asim_cdap["ptypename"] = pd.Series(ptypes)[asim_cdap["ptype"].tolist()].tolist() asim_imf = pd.read_csv(asim_per_filename) asim_imf["ptypename"] = pd.Series(ptypes)[asim_imf["ptype"].tolist()].tolist() -asim_imf["mandatory_tour_frequency"] = pd.Categorical(asim_imf["mandatory_tour_frequency"], - categories=tm1_imf_codes) -asim_imf["mandatory_tour_frequency"][asim_imf["mandatory_tour_frequency"].isnull()] = "0" -asim_imf = asim_imf.groupby(["ptypename", "mandatory_tour_frequency"]).count()["household_id"] +asim_imf["mandatory_tour_frequency"] = pd.Categorical( + asim_imf["mandatory_tour_frequency"], categories=tm1_imf_codes +) +asim_imf["mandatory_tour_frequency"][ + asim_imf["mandatory_tour_frequency"].isnull() +] = "0" +asim_imf = asim_imf.groupby(["ptypename", "mandatory_tour_frequency"]).count()[ + "household_id" +] asim_imf = asim_imf.reset_index() asim_imf = asim_imf.pivot(index="ptypename", columns="mandatory_tour_frequency") asim_imf.to_csv("outputs/asim_imtf.csv", na_rep=0) @@ -272,44 +344,79 @@ tm1_tours = tm1_tours[tm1_tours["tour_category"] == "MANDATORY"] tm1_tours["tour_purpose"][tm1_tours["tour_purpose"].str.contains("work")] = "work" tm1_tours["tour_purpose"][tm1_tours["tour_purpose"].str.contains("s")] = "school" - tm1_mtdd = tm1_tours.groupby(["start_hour", "end_hour", "tour_purpose"]).count()["hh_id"] + tm1_mtdd = tm1_tours.groupby(["start_hour", "end_hour", "tour_purpose"]).count()[ + "hh_id" + ] tm1_mtdd = tm1_mtdd.reset_index() - tm1_mtdd_sch = tm1_mtdd[tm1_mtdd["tour_purpose"] == "school"][[ - "start_hour", "end_hour", "hh_id"]].pivot(index="start_hour", columns="end_hour") - tm1_mtdd_work = tm1_mtdd[tm1_mtdd["tour_purpose"] == "work"][[ - "start_hour", "end_hour", "hh_id"]].pivot(index="start_hour", columns="end_hour") + tm1_mtdd_sch = tm1_mtdd[tm1_mtdd["tour_purpose"] == "school"][ + ["start_hour", "end_hour", "hh_id"] + ].pivot(index="start_hour", columns="end_hour") + tm1_mtdd_work = tm1_mtdd[tm1_mtdd["tour_purpose"] == "work"][ + ["start_hour", "end_hour", "hh_id"] + ].pivot(index="start_hour", columns="end_hour") tm1_mtdd_sch.to_csv("outputs/tm1_mtdd_school.csv", na_rep=0) tm1_mtdd_work.to_csv("outputs/tm1_mtdd_work.csv", na_rep=0) asim_tours = pd.read_csv(asim_tour_filename) asim_tours_man = asim_tours[asim_tours["tour_category"] == "mandatory"] -asim_mtdd = asim_tours_man.groupby(["start", "end", "tour_type"]).count()["household_id"] +asim_mtdd = asim_tours_man.groupby(["start", "end", "tour_type"]).count()[ + "household_id" +] asim_mtdd = asim_mtdd.reset_index() -asim_mtdd_sch = asim_mtdd[asim_mtdd["tour_type"] == "school"][[ - "start", "end", "household_id"]].pivot(index="start", columns="end") -asim_mtdd_work = asim_mtdd[asim_mtdd["tour_type"] == "work"][[ - "start", "end", "household_id"]].pivot(index="start", columns="end") +asim_mtdd_sch = asim_mtdd[asim_mtdd["tour_type"] == "school"][ + ["start", "end", "household_id"] +].pivot(index="start", columns="end") +asim_mtdd_work = asim_mtdd[asim_mtdd["tour_type"] == "work"][ + ["start", "end", "household_id"] +].pivot(index="start", columns="end") asim_mtdd_sch.to_csv("outputs/asim_mtdd_school.csv", na_rep=0) asim_mtdd_work.to_csv("outputs/asim_mtdd_work.csv", na_rep=0) # joint tour frequency -jtf_labels = ["", "0_tours", "1_Shop", "1_Main", "1_Eat", "1_Visit", "1_Disc", - "2_SS", "2_SM", "2_SE", "2_SV", "2_SD", "2_MM", "2_ME", "2_MV", "2_MD", "2_EE", - "2_EV", "2_ED", "2_VV", "2_VD", "2_DD"] +jtf_labels = [ + "", + "0_tours", + "1_Shop", + "1_Main", + "1_Eat", + "1_Visit", + "1_Disc", + "2_SS", + "2_SM", + "2_SE", + "2_SV", + "2_SD", + "2_MM", + "2_ME", + "2_MV", + "2_MD", + "2_EE", + "2_EV", + "2_ED", + "2_VV", + "2_VD", + "2_DD", +] if process_tm1: tm1_jtf = tm1_hh tm1_jtf = tm1_jtf[tm1_jtf["jtf_choice"] > 0] - tm1_jtf["jtf_choice_label"] = pd.Series(jtf_labels)[tm1_jtf["jtf_choice"].tolist()].tolist() - tm1_jtf.groupby("jtf_choice_label").count()["hh_id"].to_csv("outputs/tm1_jtf.csv", na_rep=0) + tm1_jtf["jtf_choice_label"] = pd.Series(jtf_labels)[ + tm1_jtf["jtf_choice"].tolist() + ].tolist() + tm1_jtf.groupby("jtf_choice_label").count()["hh_id"].to_csv( + "outputs/tm1_jtf.csv", na_rep=0 + ) asim_jtf = pd.read_csv(asim_hh_filename) asim_jtf = asim_jtf[asim_jtf["joint_tour_frequency"] != ""] -asim_jtf.groupby("joint_tour_frequency").count()["household_id"].to_csv("outputs/asim_jtf.csv", na_rep=0) +asim_jtf.groupby("joint_tour_frequency").count()["household_id"].to_csv( + "outputs/asim_jtf.csv", na_rep=0 +) # joint tour comp @@ -317,15 +424,22 @@ tm1_jtours = pd.read_csv(tm1_jtour_filename) comp_labels = ["", "adult", "children", "mixed"] tm1_jtours["tour_composition_labels"] = pd.Series(comp_labels)[ - tm1_jtours["tour_composition"].tolist()].tolist() - tm1_jtour_comp = tm1_jtours.groupby(["tour_purpose", "tour_composition_labels"]).count()["hh_id"] + tm1_jtours["tour_composition"].tolist() + ].tolist() + tm1_jtour_comp = tm1_jtours.groupby( + ["tour_purpose", "tour_composition_labels"] + ).count()["hh_id"] tm1_jtour_comp = tm1_jtour_comp.reset_index() - tm1_jtour_comp = tm1_jtour_comp.pivot(index="tour_purpose", columns="tour_composition_labels") + tm1_jtour_comp = tm1_jtour_comp.pivot( + index="tour_purpose", columns="tour_composition_labels" + ) tm1_jtour_comp.to_csv("outputs/tm1_jtour_comp.csv", na_rep=0) asim_jtours = pd.read_csv(asim_tour_filename) asim_jtours = asim_jtours[asim_jtours["tour_category"] == "joint"] -asim_jtour_comp = asim_jtours.groupby(["tour_type", "composition"]).count()["household_id"] +asim_jtour_comp = asim_jtours.groupby(["tour_type", "composition"]).count()[ + "household_id" +] asim_jtour_comp = asim_jtour_comp.reset_index() asim_jtour_comp = asim_jtour_comp.pivot(index="tour_type", columns="composition") asim_jtour_comp.to_csv("outputs/asim_jtour_comp.csv", na_rep=0) @@ -333,14 +447,21 @@ # joint tour destination if process_tm1: - tm1_jtours["distance"] = distmat[tm1_jtours["orig_taz"]-1, tm1_jtours["dest_taz"]-1] + tm1_jtours["distance"] = distmat[ + tm1_jtours["orig_taz"] - 1, tm1_jtours["dest_taz"] - 1 + ] tm1_jtours["dist_bin"] = pd.cut(tm1_jtours["distance"], range(51)) - tm1_jtours.groupby(["dist_bin"]).count()["hh_id"].to_csv("outputs/tm1_jtour_dist.csv", na_rep=0) + tm1_jtours.groupby(["dist_bin"]).count()["hh_id"].to_csv( + "outputs/tm1_jtour_dist.csv", na_rep=0 + ) -asim_jtours["distance"] = distmat[asim_jtours["origin"].astype(int)-1, - asim_jtours["destination"].astype(int)-1] +asim_jtours["distance"] = distmat[ + asim_jtours["origin"].astype(int) - 1, asim_jtours["destination"].astype(int) - 1 +] asim_jtours["dist_bin"] = pd.cut(asim_jtours["distance"], range(51)) -asim_jtours.groupby(["dist_bin"]).count()["household_id"].to_csv("outputs/asim_jtour_dist.csv", na_rep=0) +asim_jtours.groupby(["dist_bin"]).count()["household_id"].to_csv( + "outputs/asim_jtour_dist.csv", na_rep=0 +) # joint tour tdd @@ -371,7 +492,9 @@ asim_per_nmtf = pd.read_csv(asim_per_filename) asim_per_nmtf["ptypename"] = pd.Series(ptypes)[asim_per_nmtf["ptype"].tolist()].tolist() -asim_nmtf_sum = asim_per_nmtf.groupby(["non_mandatory_tour_frequency"]).count()["household_id"] +asim_nmtf_sum = asim_per_nmtf.groupby(["non_mandatory_tour_frequency"]).count()[ + "household_id" +] asim_alts = pd.concat([alts, asim_nmtf_sum], axis=1) asim_alts.to_csv("outputs/asim_nmtf.csv", na_rep=0) @@ -379,17 +502,25 @@ if process_tm1: tm1_tours = pd.read_csv(tm1_tour_filename) - tm1_tours["distance"] = distmat[tm1_tours["orig_taz"]-1, tm1_tours["dest_taz"]-1] + tm1_tours["distance"] = distmat[ + tm1_tours["orig_taz"] - 1, tm1_tours["dest_taz"] - 1 + ] tm1_tours["dist_bin"] = pd.cut(tm1_tours["distance"], range(51)) tm1_tours_nm = tm1_tours[tm1_tours["tour_category"] == "INDIVIDUAL_NON_MANDATORY"] - tm1_tours_nm.groupby(["dist_bin"]).count()["hh_id"].to_csv("outputs/tm1_nmtd_dist.csv", na_rep=0) + tm1_tours_nm.groupby(["dist_bin"]).count()["hh_id"].to_csv( + "outputs/tm1_nmtd_dist.csv", na_rep=0 + ) asim_nm_tours = pd.read_csv(asim_tour_filename) asim_nm_tours = asim_nm_tours[asim_nm_tours["tour_category"] == "non_mandatory"] -asim_nm_tours["distance"] = distmat[asim_nm_tours["origin"].astype(int)-1, - asim_nm_tours["destination"].astype(int)-1] +asim_nm_tours["distance"] = distmat[ + asim_nm_tours["origin"].astype(int) - 1, + asim_nm_tours["destination"].astype(int) - 1, +] asim_nm_tours["dist_bin"] = pd.cut(asim_nm_tours["distance"], range(51)) -asim_nm_tours.groupby(["dist_bin"]).count()["household_id"].to_csv("outputs/asim_nmtd_dist.csv", na_rep=0) +asim_nm_tours.groupby(["dist_bin"]).count()["household_id"].to_csv( + "outputs/asim_nmtd_dist.csv", na_rep=0 +) # non_mandatory_tour_scheduling @@ -409,19 +540,33 @@ if process_tm1: tm1_tours = pd.read_csv(tm1_tour_filename) tm1_jtours = pd.read_csv(tm1_jtour_filename) - tm1_tours["tour_mode_labels"] = pd.Series(mode_labels)[tm1_tours["tour_mode"].tolist()].tolist() - tm1_tours["tour_mode_labels"] = pd.Categorical(tm1_tours["tour_mode_labels"], - categories=mode_labels) - tm1_jtours["tour_mode_labels"] = pd.Series(mode_labels)[tm1_jtours["tour_mode"].tolist()].tolist() - tm1_jtours["tour_mode_labels"] = pd.Categorical(tm1_jtours["tour_mode_labels"], - categories=mode_labels) - tm1_nmn_tour_mode = tm1_tours.groupby(["tour_mode_labels", "tour_category"]).count()["hh_id"] + tm1_tours["tour_mode_labels"] = pd.Series(mode_labels)[ + tm1_tours["tour_mode"].tolist() + ].tolist() + tm1_tours["tour_mode_labels"] = pd.Categorical( + tm1_tours["tour_mode_labels"], categories=mode_labels + ) + tm1_jtours["tour_mode_labels"] = pd.Series(mode_labels)[ + tm1_jtours["tour_mode"].tolist() + ].tolist() + tm1_jtours["tour_mode_labels"] = pd.Categorical( + tm1_jtours["tour_mode_labels"], categories=mode_labels + ) + tm1_nmn_tour_mode = tm1_tours.groupby( + ["tour_mode_labels", "tour_category"] + ).count()["hh_id"] tm1_nmn_tour_mode = tm1_nmn_tour_mode.reset_index() - tm1_nmn_tour_mode = tm1_nmn_tour_mode.pivot(index="tour_mode_labels", columns="tour_category") + tm1_nmn_tour_mode = tm1_nmn_tour_mode.pivot( + index="tour_mode_labels", columns="tour_category" + ) - tm1_jtour_mode = tm1_jtours.groupby(["tour_mode_labels", "tour_category"]).count()["hh_id"] + tm1_jtour_mode = tm1_jtours.groupby(["tour_mode_labels", "tour_category"]).count()[ + "hh_id" + ] tm1_jtour_mode = tm1_jtour_mode.reset_index() - tm1_jtour_mode = tm1_jtour_mode.pivot(index="tour_mode_labels", columns="tour_category") + tm1_jtour_mode = tm1_jtour_mode.pivot( + index="tour_mode_labels", columns="tour_category" + ) tm1_tour_mode = pd.concat([tm1_nmn_tour_mode, tm1_jtour_mode], axis=1) tm1_tour_mode.columns = ["atwork", "non_mandatory", "mandatory", "joint"] @@ -429,8 +574,12 @@ tm1_tour_mode.to_csv("outputs/tm1_tour_mode.csv", na_rep=0) asim_tours = pd.read_csv(asim_tour_filename) -asim_tours["tour_mode"] = pd.Categorical(asim_tours["tour_mode"], categories=mode_labels) -asim_tour_mode = asim_tours.groupby(["tour_mode", "tour_category"]).count()["household_id"] +asim_tours["tour_mode"] = pd.Categorical( + asim_tours["tour_mode"], categories=mode_labels +) +asim_tour_mode = asim_tours.groupby(["tour_mode", "tour_category"]).count()[ + "household_id" +] asim_tour_mode = asim_tour_mode.reset_index() asim_tour_mode = asim_tour_mode.pivot(index="tour_mode", columns="tour_category") asim_tour_mode.to_csv("outputs/asim_tour_mode.csv", na_rep=0) @@ -439,36 +588,57 @@ if process_tm1: tm1_work_tours = tm1_tours[tm1_tours["tour_purpose"].str.startswith("work")] - tm1_atwork_freq_strs = ["", "no_subtours", "eat", "business1", - "maint", "business2", "eat_business"] + tm1_atwork_freq_strs = [ + "", + "no_subtours", + "eat", + "business1", + "maint", + "business2", + "eat_business", + ] tm1_work_tours["atWork_freq_str"] = pd.Series(tm1_atwork_freq_strs)[ - tm1_work_tours["atWork_freq"].tolist()].tolist() - tm1_work_tours.groupby(["atWork_freq_str"]).count()["hh_id"].to_csv("outputs/tm1_atwork_tf.csv", na_rep=0) + tm1_work_tours["atWork_freq"].tolist() + ].tolist() + tm1_work_tours.groupby(["atWork_freq_str"]).count()["hh_id"].to_csv( + "outputs/tm1_atwork_tf.csv", na_rep=0 + ) asim_work_tours = asim_tours[asim_tours["primary_purpose"] == "work"] -asim_work_tours.groupby(["atwork_subtour_frequency"]).count()["household_id"].to_csv("outputs/asim_atwork_tf.csv", - na_rep=0) +asim_work_tours.groupby(["atwork_subtour_frequency"]).count()["household_id"].to_csv( + "outputs/asim_atwork_tf.csv", na_rep=0 +) # atwork_subtour_destination if process_tm1: tm1_tours = pd.read_csv(tm1_tour_filename) - tm1_tours["distance"] = distmat[tm1_tours["orig_taz"]-1, tm1_tours["dest_taz"]-1] + tm1_tours["distance"] = distmat[ + tm1_tours["orig_taz"] - 1, tm1_tours["dest_taz"] - 1 + ] tm1_tours_atw = tm1_tours[tm1_tours["tour_category"] == "AT_WORK"] tm1_tours_atw["dist_bin"] = pd.cut(tm1_tours_atw["distance"], range(51)) - tm1_tours_atw.groupby(["dist_bin"]).count()["hh_id"].to_csv("outputs/tm1_atwork_dist.csv", na_rep=0) + tm1_tours_atw.groupby(["dist_bin"]).count()["hh_id"].to_csv( + "outputs/tm1_atwork_dist.csv", na_rep=0 + ) asim_atw_tours = pd.read_csv(asim_tour_filename) asim_atw_tours = asim_atw_tours[asim_atw_tours["tour_category"] == "atwork"] -asim_atw_tours["distance"] = distmat[asim_atw_tours["origin"].astype(int)-1, - asim_atw_tours["destination"].astype(int)-1] +asim_atw_tours["distance"] = distmat[ + asim_atw_tours["origin"].astype(int) - 1, + asim_atw_tours["destination"].astype(int) - 1, +] asim_atw_tours["dist_bin"] = pd.cut(asim_atw_tours["distance"], range(51)) -asim_atw_tours.groupby(["dist_bin"]).count()["household_id"].to_csv("outputs/asim_atwork_dist.csv", na_rep=0) +asim_atw_tours.groupby(["dist_bin"]).count()["household_id"].to_csv( + "outputs/asim_atwork_dist.csv", na_rep=0 +) # atwork_subtour_scheduling if process_tm1: - tm1_tours_atw_tdd = tm1_tours_atw.groupby(["start_hour", "end_hour"]).count()["hh_id"] + tm1_tours_atw_tdd = tm1_tours_atw.groupby(["start_hour", "end_hour"]).count()[ + "hh_id" + ] tm1_tours_atw_tdd = tm1_tours_atw_tdd.reset_index() tm1_tours_atw_tdd = tm1_tours_atw_tdd.pivot(index="start_hour", columns="end_hour") tm1_tours_atw_tdd.to_csv("outputs/tm1_atwork_tours_tdd.csv", na_rep=0) @@ -487,46 +657,75 @@ tm1_jtours = pd.read_csv(tm1_jtour_filename) tm1_tours["tour_purpose_simple"] = tm1_tours["tour_purpose"] - tm1_tours["tour_purpose_simple"] = tm1_tours["tour_purpose_simple"].str.replace("atwork_", "") - tm1_tours["tour_purpose_simple"][tm1_tours["tour_purpose_simple"]. - str.contains("work_")] = "work" - tm1_tours["tour_purpose_simple"][tm1_tours["tour_purpose_simple"]. - str.contains("school_")] = "school" - tm1_tours["tour_purpose_simple"][tm1_tours["tour_purpose_simple"]. - str.contains("university")] = "school" - tm1_tours["tour_purpose_simple"][tm1_tours["tour_purpose_simple"]. - str.contains("escort_")] = "escort" + tm1_tours["tour_purpose_simple"] = tm1_tours["tour_purpose_simple"].str.replace( + "atwork_", "" + ) + tm1_tours["tour_purpose_simple"][ + tm1_tours["tour_purpose_simple"].str.contains("work_") + ] = "work" + tm1_tours["tour_purpose_simple"][ + tm1_tours["tour_purpose_simple"].str.contains("school_") + ] = "school" + tm1_tours["tour_purpose_simple"][ + tm1_tours["tour_purpose_simple"].str.contains("university") + ] = "school" + tm1_tours["tour_purpose_simple"][ + tm1_tours["tour_purpose_simple"].str.contains("escort_") + ] = "escort" tm1_tours_atw = tm1_tours[tm1_tours["tour_category"] == "AT_WORK"] tm1_tours_nmn = tm1_tours[tm1_tours["tour_category"] != "AT_WORK"] - tm1_tours_nmn["tsf"] = tm1_tours_nmn[ - "num_ob_stops"].astype(str) + "-" + tm1_tours_nmn["num_ib_stops"].astype(str) - tm1_stop_freq = tm1_tours_nmn.groupby(["tsf", "tour_purpose_simple"]).count()["hh_id"] + tm1_tours_nmn["tsf"] = ( + tm1_tours_nmn["num_ob_stops"].astype(str) + + "-" + + tm1_tours_nmn["num_ib_stops"].astype(str) + ) + tm1_stop_freq = tm1_tours_nmn.groupby(["tsf", "tour_purpose_simple"]).count()[ + "hh_id" + ] tm1_stop_freq = tm1_stop_freq.reset_index() tm1_stop_freq = tm1_stop_freq.pivot(index="tsf", columns="tour_purpose_simple") - tm1_jtours["tsf"] = tm1_jtours[ - "num_ob_stops"].astype(str) + "-" + tm1_jtours["num_ib_stops"].astype(str) - tm1_tours_atw["tsf"] = tm1_tours_atw[ - "num_ob_stops"].astype(str) + "-" + tm1_tours_atw["num_ib_stops"].astype(str) + tm1_jtours["tsf"] = ( + tm1_jtours["num_ob_stops"].astype(str) + + "-" + + tm1_jtours["num_ib_stops"].astype(str) + ) + tm1_tours_atw["tsf"] = ( + tm1_tours_atw["num_ob_stops"].astype(str) + + "-" + + tm1_tours_atw["num_ib_stops"].astype(str) + ) tm1_stop_freq_joint = tm1_jtours.groupby(["tsf"]).count()["hh_id"] tm1_stop_freq_atwork = tm1_tours_atw.groupby(["tsf"]).count()["hh_id"] - tm1_stop_freq = pd.concat([tm1_stop_freq, tm1_stop_freq_joint, tm1_stop_freq_atwork], axis=1) + tm1_stop_freq = pd.concat( + [tm1_stop_freq, tm1_stop_freq_joint, tm1_stop_freq_atwork], axis=1 + ) tm1_stop_freq.to_csv("outputs/tm1_stop_freq.csv", na_rep=0) asim_tours = pd.read_csv(asim_tour_filename) -asim_nmn_tours = asim_tours[(asim_tours["tour_category"] == "mandatory") | - (asim_tours["tour_category"] == "non_mandatory")] +asim_nmn_tours = asim_tours[ + (asim_tours["tour_category"] == "mandatory") + | (asim_tours["tour_category"] == "non_mandatory") +] asim_joint_tours = asim_tours[asim_tours["tour_category"] == "joint"] asim_atw_tours = asim_tours[asim_tours["tour_category"] == "atwork"] -asim_stop_freq = asim_nmn_tours.groupby(["stop_frequency", "tour_type"]).count()["household_id"] +asim_stop_freq = asim_nmn_tours.groupby(["stop_frequency", "tour_type"]).count()[ + "household_id" +] asim_stop_freq = asim_stop_freq.reset_index() asim_stop_freq = asim_stop_freq.pivot(index="stop_frequency", columns="tour_type") -asim_stop_freq_joint = asim_joint_tours.groupby(["stop_frequency"]).count()["household_id"] -asim_stop_freq_atwork = asim_atw_tours.groupby(["stop_frequency"]).count()["household_id"] -asim_stop_freq = pd.concat([asim_stop_freq, asim_stop_freq_joint, asim_stop_freq_atwork], axis=1) +asim_stop_freq_joint = asim_joint_tours.groupby(["stop_frequency"]).count()[ + "household_id" +] +asim_stop_freq_atwork = asim_atw_tours.groupby(["stop_frequency"]).count()[ + "household_id" +] +asim_stop_freq = pd.concat( + [asim_stop_freq, asim_stop_freq_joint, asim_stop_freq_atwork], axis=1 +) asim_stop_freq.to_csv("outputs/asim_stop_freq.csv", na_rep=0) ############################################################# @@ -540,9 +739,12 @@ tm1_jtrips = pd.read_csv(tm1_jtrips_filename) tm1_trips["orig_purpose"][tm1_trips["orig_purpose"] == "university"] = "univ" tm1_trips["orig_purpose"] = pd.Categorical(tm1_trips["orig_purpose"]) - tm1_jtrips["orig_purpose"] = pd.Categorical(tm1_jtrips["orig_purpose"], - categories=tm1_trips["orig_purpose"].cat.categories) - tm1_trip_purp = tm1_trips.groupby(["orig_purpose", "tour_category"]).count()["hh_id"] + tm1_jtrips["orig_purpose"] = pd.Categorical( + tm1_jtrips["orig_purpose"], categories=tm1_trips["orig_purpose"].cat.categories + ) + tm1_trip_purp = tm1_trips.groupby(["orig_purpose", "tour_category"]).count()[ + "hh_id" + ] tm1_trip_purp = tm1_trip_purp.reset_index() tm1_trip_purp = tm1_trip_purp.pivot(index="orig_purpose", columns="tour_category") tm1_jtrip_purp = tm1_jtrips.groupby(["orig_purpose"]).count()["hh_id"] @@ -554,8 +756,12 @@ asim_trips = pd.read_csv(asim_trips_filename) asim_tours = pd.read_csv(asim_tour_filename) asim_tours = asim_tours.set_index("tour_id", drop=False) -asim_trips["tour_category"] = asim_tours["tour_category"].loc[asim_trips["tour_id"]].tolist() -asim_trip_purp = asim_trips.groupby(["purpose", "tour_category"]).count()["household_id"] +asim_trips["tour_category"] = ( + asim_tours["tour_category"].loc[asim_trips["tour_id"]].tolist() +) +asim_trip_purp = asim_trips.groupby(["purpose", "tour_category"]).count()[ + "household_id" +] asim_trip_purp = asim_trip_purp.reset_index() asim_trip_purp = asim_trip_purp.pivot(index="purpose", columns="tour_category") asim_trip_purp.to_csv("outputs/asim_trip_purp.csv", na_rep=0) @@ -563,23 +769,38 @@ # trip destination if process_tm1: - tm1_trips["distance"] = distmat[tm1_trips["orig_taz"]-1, tm1_trips["dest_taz"]-1] - tm1_jtrips["distance"] = distmat[tm1_jtrips["orig_taz"]-1, tm1_jtrips["dest_taz"]-1] + tm1_trips["distance"] = distmat[ + tm1_trips["orig_taz"] - 1, tm1_trips["dest_taz"] - 1 + ] + tm1_jtrips["distance"] = distmat[ + tm1_jtrips["orig_taz"] - 1, tm1_jtrips["dest_taz"] - 1 + ] tm1_trips["dist_bin"] = pd.cut(tm1_trips["distance"], range(51)) tm1_jtrips["dist_bin"] = pd.cut(tm1_jtrips["distance"], range(51)) - tm1_trips_dist = pd.concat([tm1_trips.groupby(["dist_bin"]).count()["hh_id"] + - tm1_jtrips.groupby(["dist_bin"]).count()["hh_id"]], axis=1) + tm1_trips_dist = pd.concat( + [ + tm1_trips.groupby(["dist_bin"]).count()["hh_id"] + + tm1_jtrips.groupby(["dist_bin"]).count()["hh_id"] + ], + axis=1, + ) tm1_trips_dist.to_csv("outputs/tm1_trips_dist.csv", na_rep=0) -asim_trips["distance"] = distmat[asim_trips["origin"]-1, asim_trips["destination"]-1] +asim_trips["distance"] = distmat[ + asim_trips["origin"] - 1, asim_trips["destination"] - 1 +] asim_trips["dist_bin"] = pd.cut(asim_trips["distance"], range(51)) -asim_trips.groupby(["dist_bin"]).count()["household_id"].to_csv("outputs/asim_trips_dist.csv", na_rep=0) +asim_trips.groupby(["dist_bin"]).count()["household_id"].to_csv( + "outputs/asim_trips_dist.csv", na_rep=0 +) # trip scheduling if process_tm1: - tm1_trips_tdd = tm1_trips.groupby([ - "depart_hour"]).count()["hh_id"] + tm1_jtrips.groupby(["depart_hour"]).count()["hh_id"] + tm1_trips_tdd = ( + tm1_trips.groupby(["depart_hour"]).count()["hh_id"] + + tm1_jtrips.groupby(["depart_hour"]).count()["hh_id"] + ) tm1_trips_tdd.to_csv("outputs/tm1_trips_depart.csv", na_rep=0) asim_trips_tdd = asim_trips.groupby(["depart"]).count()["household_id"] @@ -588,12 +809,22 @@ # trip mode share by tour purpose if process_tm1: - tm1_trips["trip_mode_str"] = pd.Series(mode_labels)[tm1_trips["trip_mode"].tolist()].tolist() - tm1_trips["trip_mode_str"] = pd.Categorical(tm1_trips["trip_mode_str"], categories=mode_labels) - tm1_jtrips["trip_mode_str"] = pd.Series(mode_labels)[tm1_jtrips["trip_mode"].tolist()].tolist() - tm1_jtrips["trip_mode_str"] = pd.Categorical(tm1_jtrips["trip_mode_str"], categories=mode_labels) - - tm1_trip_mode = tm1_trips.groupby(["trip_mode_str", "tour_category"]).count()["hh_id"] + tm1_trips["trip_mode_str"] = pd.Series(mode_labels)[ + tm1_trips["trip_mode"].tolist() + ].tolist() + tm1_trips["trip_mode_str"] = pd.Categorical( + tm1_trips["trip_mode_str"], categories=mode_labels + ) + tm1_jtrips["trip_mode_str"] = pd.Series(mode_labels)[ + tm1_jtrips["trip_mode"].tolist() + ].tolist() + tm1_jtrips["trip_mode_str"] = pd.Categorical( + tm1_jtrips["trip_mode_str"], categories=mode_labels + ) + + tm1_trip_mode = tm1_trips.groupby(["trip_mode_str", "tour_category"]).count()[ + "hh_id" + ] tm1_trip_mode = tm1_trip_mode.reset_index() tm1_trip_mode = tm1_trip_mode.pivot(index="trip_mode_str", columns="tour_category") @@ -603,8 +834,12 @@ tm1_trip_mode = tm1_trip_mode[["atwork", "joint", "mandatory", "non_mandatory"]] tm1_trip_mode.to_csv("outputs/tm1_trip_mode.csv", na_rep=0) -asim_trips["trip_mode"] = pd.Categorical(asim_trips["trip_mode"], categories=mode_labels) -asim_trip_mode = asim_trips.groupby(["trip_mode", "tour_category"]).count()["household_id"] +asim_trips["trip_mode"] = pd.Categorical( + asim_trips["trip_mode"], categories=mode_labels +) +asim_trip_mode = asim_trips.groupby(["trip_mode", "tour_category"]).count()[ + "household_id" +] asim_trip_mode = asim_trip_mode.reset_index() asim_trip_mode = asim_trip_mode.pivot(index="trip_mode", columns="tour_category") asim_trip_mode.to_csv("outputs/asim_trip_mode.csv", na_rep=0) diff --git a/other_resources/verification/simulation.py b/other_resources/verification/simulation.py index 467e60a259..890418332b 100644 --- a/other_resources/verification/simulation.py +++ b/other_resources/verification/simulation.py @@ -1,46 +1,43 @@ # ActivitySim # See full license in LICENSE.txt. -import sys import logging +import sys import pandas as pd -from activitysim.core import mem -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import mp_tasks -from activitysim.core import chunk +from activitysim.core import chunk, config, inject, mem, mp_tasks, pipeline, tracing # from activitysim import abm -logger = logging.getLogger('activitysim') +logger = logging.getLogger("activitysim") def cleanup_output_files(): - active_log_files = \ - [h.baseFilename for h in logger.root.handlers if isinstance(h, logging.FileHandler)] - tracing.delete_output_files('log', ignore=active_log_files) + active_log_files = [ + h.baseFilename + for h in logger.root.handlers + if isinstance(h, logging.FileHandler) + ] + tracing.delete_output_files("log", ignore=active_log_files) - tracing.delete_output_files('h5') - tracing.delete_output_files('csv') - tracing.delete_output_files('txt') - tracing.delete_output_files('yaml') - tracing.delete_output_files('prof') + tracing.delete_output_files("h5") + tracing.delete_output_files("csv") + tracing.delete_output_files("txt") + tracing.delete_output_files("yaml") + tracing.delete_output_files("prof") def run(run_list, injectables=None): - if run_list['multiprocess']: + if run_list["multiprocess"]: logger.info("run multiprocess simulation") mp_tasks.run_multiprocess(run_list, injectables) else: logger.info("run single process simulation") - pipeline.run(models=run_list['models'], resume_after=run_list['resume_after']) + pipeline.run(models=run_list["models"], resume_after=run_list["resume_after"]) pipeline.close_pipeline() mem.log_global_hwm() @@ -48,13 +45,12 @@ def run(run_list, injectables=None): def log_settings(injectables): settings = [ - 'households_sample_size', - 'chunk_size', - 'multiprocess', - 'num_processes', - 'resume_after' - 'use_shadow_pricing', - 'hh_ids', + "households_sample_size", + "chunk_size", + "multiprocess", + "num_processes", + "resume_after" "use_shadow_pricing", + "hh_ids", ] for k in settings: @@ -64,19 +60,19 @@ def log_settings(injectables): logger.info("injectable %s: %s" % (k, inject.get_injectable(k))) -if __name__ == '__main__': +if __name__ == "__main__": # https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.set_option.html # pd.set_option('display.max_columns', 50) data_dir = "E:/projects/clients/ASIM/data/mtc_tm1" - data_dir = '/Users/jeff.doyle/work/activitysim-data/mtc_tm1/data' - data_dir = '../example/data' + data_dir = "/Users/jeff.doyle/work/activitysim-data/mtc_tm1/data" + data_dir = "../example/data" # inject.add_injectable('data_dir', '/Users/jeff.doyle/work/activitysim-data/mtc_tm1/data') - inject.add_injectable('data_dir', ['ancillary_data', data_dir]) + inject.add_injectable("data_dir", ["ancillary_data", data_dir]) # inject.add_injectable('data_dir', ['ancillary_data', '../activitysim/abm/test/data']) - inject.add_injectable('configs_dir', ['configs', '../example/configs']) + inject.add_injectable("configs_dir", ["configs", "../example/configs"]) injectables = config.handle_standard_args() @@ -88,14 +84,16 @@ def log_settings(injectables): t0 = tracing.print_elapsed_time() # cleanup if not resuming - if not config.setting('resume_after', False): + if not config.setting("resume_after", False): cleanup_output_files() run_list = mp_tasks.get_run_list() - if run_list['multiprocess']: + if run_list["multiprocess"]: # do this after config.handle_standard_args, as command line args may override injectables - injectables = list(set(injectables) | set(['data_dir', 'configs_dir', 'output_dir'])) + injectables = list( + set(injectables) | set(["data_dir", "configs_dir", "output_dir"]) + ) injectables = {k: inject.get_injectable(k) for k in injectables} else: injectables = None diff --git a/pytest.ini b/pytest.ini index 145897c4f4..a8b6e7123d 100644 --- a/pytest.ini +++ b/pytest.ini @@ -2,3 +2,5 @@ filterwarnings = ignore::tables.NaturalNameWarning addopts = --ignore=activitysim/estimation/test +log_cli = true +tb = native diff --git a/setup.py b/setup.py index 911e8b70d0..6b93a3b811 100644 --- a/setup.py +++ b/setup.py @@ -1,42 +1,44 @@ from ez_setup import use_setuptools -use_setuptools() # nopep8 -from setuptools import setup, find_packages +use_setuptools() # nopep8 import os import re -with open(os.path.join('activitysim', '__init__.py')) as f: - info = re.search(r'__.*', f.read(), re.S) +from setuptools import find_packages, setup + +with open(os.path.join("activitysim", "__init__.py")) as f: + info = re.search(r"__.*", f.read(), re.S) exec(info[0]) setup( - name='activitysim', + name="activitysim", version=__version__, description=__doc__, - author='contributing authors', - author_email='ben.stabler@rsginc.com', - license='BSD-3', - url='https://github.com/activitysim/activitysim', + author="contributing authors", + author_email="ben.stabler@rsginc.com", + license="BSD-3", + url="https://github.com/activitysim/activitysim", classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Programming Language :: Python :: 3.8', - 'License :: OSI Approved :: BSD License' + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: BSD License", ], - packages=find_packages(exclude=['*.tests']), + packages=find_packages(exclude=["*.tests"]), include_package_data=True, - entry_points={'console_scripts': ['activitysim=activitysim.cli.main:main']}, + entry_points={"console_scripts": ["activitysim=activitysim.cli.main:main"]}, install_requires=[ - 'pyarrow >= 2.0', - 'numpy >= 1.16.1', - 'openmatrix >= 0.3.4.1', - 'pandas >= 1.1.0', - 'pyyaml >= 5.1', - 'tables >= 3.5.1', - 'cytoolz >= 0.8.1', - 'psutil >= 4.1', - 'requests >= 2.7', - 'numba >= 0.51.2', - 'orca >= 1.6', - ] + "pyarrow >= 2.0", + "numpy >= 1.16.1,<=1.21", + "openmatrix >= 0.3.4.1", + "pandas >= 1.1.0", + "pyyaml >= 5.1", + "tables >= 3.5.1", + "cytoolz >= 0.8.1", + "psutil >= 4.1", + "requests >= 2.7", + "numba >= 0.51.2", + "orca >= 1.6", + "simwrapper > 1.7", + ], ) diff --git a/test/summarize/configs/network_los.yaml b/test/summarize/configs/network_los.yaml new file mode 100644 index 0000000000..391125a38e --- /dev/null +++ b/test/summarize/configs/network_los.yaml @@ -0,0 +1,14 @@ +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: False +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +zone_system: 1 + +taz_skims: skims.omx + +skim_time_periods: + time_window: 1440 + period_minutes: 60 + periods: [0, 3, 5, 9, 14, 18, 24] # 3=3:00-3:59, 5=5:00-5:59, 9=9:00-9:59, 14=2:00-2:59, 18=6:00-6:59 + labels: ['EA', 'EA', 'AM', 'MD', 'PM', 'EV'] \ No newline at end of file diff --git a/test/summarize/configs/settings.yaml b/test/summarize/configs/settings.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/summarize/configs/summarize.csv b/test/summarize/configs/summarize.csv new file mode 100644 index 0000000000..4a7492ee10 --- /dev/null +++ b/test/summarize/configs/summarize.csv @@ -0,0 +1,109 @@ +Description,Output,Expression +# These summaries are checked by test module +,households_count,persons_merged[['household_id']].nunique().rename('households') +,trips_by_mode_count,trips_merged.groupby('trip_mode')[['number_of_participants']].sum().T + +# Calculate total VMT by summing auto_distance from tours_merged +# (auto_distance is calculated by an expression in summarize_preprocessor.csv) +# Initially save as a temporary variable so it can be reused +,_total_vmt,trips_merged[['auto_distance']].sum() +# Then save to CSV +,total_vmt,_total_vmt.rename('vmt') + +# Calculate vmt per capita +# (All outputs to CSV have to be a Pandas Series or DataFrame) +,vmt_per_capita,"pd.Series(_total_vmt / len(persons_merged), name='vmt_per_capita')" + +# Calculate vmt per capita by home taz +,_vmt_per_home_taz,trips_merged.groupby('home_zone_id').auto_distance.sum() +,_person_per_home_taz,persons_merged.groupby('home_zone_id').size() +,_vmt_per_capita_by_home_taz,(_vmt_per_home_taz/_person_per_home_taz).fillna(0) +,vmt_per_capita_by_home_taz,_vmt_per_capita_by_home_taz.rename('vmt_per_capita_by_home_taz').reset_index() + +# Calculate vmt per capita by work taz +,_vmt_per_work_taz,trips_merged.groupby('workplace_zone_id').auto_distance.sum() +,_person_per_work_taz,persons_merged.groupby('workplace_zone_id').size() +,vmt_per_capita_by_work_taz,(_vmt_per_work_taz/_person_per_work_taz).fillna(0).rename('vmt_per_capita_by_work_taz').reset_index() + +# Count persons +,persons_count,persons_merged[['household_id']].count().rename('persons') + +# Count person-tours +,person_tours,"trips_merged[['tour_id', 'number_of_participants']].drop_duplicates()[['number_of_participants']].sum().rename('tours')" + +# Count person-trips +,person_trips,trips_merged[['number_of_participants']].sum().rename('trips') + +# Count tours +,tours_count,tours_merged.reset_index()[['tour_id']].count().rename('tours') + +# Count trips +,trips_count,trips_merged.reset_index()[['trip_id']].count().rename('trips') + +# Count tours per household +,_tours,"trips_merged[['tour_id', 'number_of_participants']].drop_duplicates()['number_of_participants'].sum()" +,_households,persons_merged['household_id'].nunique() +,tours_per_household_count,"pd.Series(_tours / _households, name='tours_per_household')" + +# Count trips per household +,_trips,trips_merged['number_of_participants'].sum() +,trips_per_household_count,"pd.Series(_trips / _households, name='trips_per_household')" + +# Count trips by major mode +#,trips_by_major_mode_count,trips_merged.groupby('major_trip_mode')[['number_of_participants']].sum().T + +# Count trips by income category and major mode +,_trips_with_income,"pd.merge(trips_merged, persons_merged['income_category'], left_on='person_id', right_index=True)" +,trip_by_income_category_major_mode,"_trips_with_income.groupby(['income_category', 'major_trip_mode']).size().unstack(-1).reset_index()" + +# Count trips by purpose +,trips_by_purpose_count,trips_merged.groupby('primary_purpose_trip')[['number_of_participants']].sum().T + +# Count trips by purpose and departure time +,trip_purpose_by_time_of_day,"trips_merged.groupby(['depart','primary_purpose_trip'])['number_of_participants'].sum().unstack(-1).reset_index()" + +# Count trips with each combination of tour mode and trip mode (for Sankey) +,tour_mode_to_trip_mode,"trips_merged.groupby(['tour_mode','trip_mode']).size().rename('trips').reset_index()" + +# Count work tours by time of day +,_work_tours,trips_merged[trips_merged['tour_type'] == 'work'] +,work_tours_tod_count,_work_tours.groupby('tour_id').depart.min().reset_index().groupby('depart').size().sort_index().rename('tours').reset_index() + +# Count school tours by time of day +,_school_tours,trips_merged[trips_merged['tour_type'] == 'school'] +,school_tours_tod_count,_school_tours.groupby('tour_id').depart.min().reset_index().groupby('depart').size().sort_index().rename('tours').reset_index() + +# Count non-manditory tours by time of day +,_non_mandatory_tours,trips_merged[trips_merged.tour_category == 'non_mandatory'] +,non_mandatory_tours_tod_count,_non_mandatory_tours.groupby('tour_id').depart.min().reset_index().groupby('depart').size().sort_index().rename('tours').reset_index() + +# Calculate share of taz population that is low income by decile +# (Output deciles by specifying '{rank}' as the label format in the quantile function) +,_low_income_pop_by_taz,persons_merged[persons_merged.income < 50000].groupby('home_zone_id').size() +,_total_pop_by_taz,persons_merged.groupby('home_zone_id').size() +,_proportion_low_income_by_taz,"_low_income_pop_by_taz / _total_pop_by_taz" +,_proportion_low_income_deciles,"quantiles(_proportion_low_income_by_taz, 10, '{rank}')" +,low_income_share_by_taz_deciles,"_proportion_low_income_deciles.rename('low_income_share_by_taz_deciles').reset_index()" + +# Count persons by income category +# (income_category is calculated by an expression in summarize_preprocessor.csv) +#,persons_by_income_category,persons_merged.groupby('income_category')[['income_category']].count().T + +# Calculate vmt per capita quintiles by taz +# (Output quintiles by specifying '{rank}' as the label format in the quantile function) +,_vmt_per_capita_quintiles,"quantiles(_vmt_per_capita_by_home_taz, 5, '{rank}')" +,vmt_per_capita_by_home_taz_quintiles,"_vmt_per_capita_quintiles.rename('vmt_per_capita_by_home_taz_quintiles').reset_index()" + +# Counts non-motorized trips by 0.25-mile distance bins +,_non_motorized_distances,(trips_merged.walk_distance + trips_merged.bike_distance) +,_non_motorized_trips,trips_merged.major_trip_mode == 'Non-Motorized' +,_non_motorized_trip_distances,_non_motorized_distances[_non_motorized_trips] +,_counts_of_non_motorized_trips_by_distance_bin,"spaced_intervals(_non_motorized_trip_distances, 0, 0.25).value_counts()" +,non_motorized_trip_distance_bins,"_counts_of_non_motorized_trips_by_distance_bin.sort_index().rename('trips').reset_index()" + +# Counts of trips by income and travel time category +#,trips_by_income_and_travel_time_category,"trips_merged.groupby(['trip_income_category','total_time_category']).size().rename('trips').unstack(-2).reset_index()" + +# TAZ population density quintiles +,_taz_pop_dens,land_use.TOTPOP/land_use.TOTACRE +,taz_population_density_quintiles,"quantiles(_taz_pop_dens, 5, '{rank}').rename('pop_dens_quintile').reset_index()" diff --git a/test/summarize/configs/summarize.yaml b/test/summarize/configs/summarize.yaml new file mode 100644 index 0000000000..625a40533c --- /dev/null +++ b/test/summarize/configs/summarize.yaml @@ -0,0 +1,132 @@ +SPECIFICATION: summarize.csv +OUTPUT: summarize + +# Set to True to export pipeline tables for expression development +EXPORT_PIPELINE_TABLES: True + +preprocessor: + DF: trips_merged + SPEC: summarize_preprocessor.csv +# TABLES: + +persons_merged: + + BIN: + # Manually-specified bins + - column: income + label: income_category + type: manual_breaks + bin_breaks: + - 0 + - 25000 + - 50000 + - 75000 + - 100000 + - 999999 + bin_labels: + - Very Low Income ($0-$25k) + - Low Income ($25k-$50k) + - Medium Income ($50k-$75k) + - High Income ($75k-$100k) + - Very High Income (>$100k) + + # Breaks column into quantiles + - column: income + label: income_quintile + type: quantiles + bins: 5 + label_format: ${left:,.2f} - ${right:,.2f} # 'left' and 'right' are bin boundaries + + # Breaks column into bins with a specified width + - column: income + label: income_intervals_10000 + type: spaced_intervals + lower_bound: min # can be set to float + interval: 10000 + label_format: ${left:,.2f} - ${right:,.2f} # 'left' and 'right' are bin boundaries + + # Breaks column into equally-spaced bins between min and max values + - column: income + label: income_intervals_equal + type: equal_intervals + bins: 10 + label_format: ${left:,.2f} - ${right:,.2f} # 'left' and 'right' are bin boundaries + +trips_merged: + + BIN: + - column: income + label: trip_income_category # TODO: Figure out why this can't have the same name as a slicer for persons_merged + type: manual_breaks + bin_breaks: + - 0 + - 25000 + - 50000 + - 75000 + - 100000 + - 999999 + bin_labels: + - Very Low Income ($0-$25k) + - Low Income ($25k-$50k) + - Medium Income ($50k-$75k) + - High Income ($75k-$100k) + - Very High Income (>$100k) + + - column: total_time + label: total_time_category + type: spaced_intervals + lower_bound: 0 # can be set to float + interval: 5 + label_format: "{left:,.2f} - {right:,.2f}" # 'left' and 'right' are bin boundaries + + + AGGREGATE: + - column: trip_mode + label: major_trip_mode + map: + DRIVEALONEFREE: SOV + DRIVEALONEPAY: SOV + SHARED2FREE: HOV + SHARED2PAY: HOV + SHARED3FREE: HOV + SHARED3PAY: HOV + WALK_LOC: Transit + WALK_LRF: Transit + WALK_EXP: Transit + WALK_HVY: Transit + WALK_COM: Transit + DRIVE_LOC: Transit + DRIVE_LRF: Transit + DRIVE_EXP: Transit + DRIVE_HVY: Transit + DRIVE_COM: Transit + DRIVEACCESS: Transit + WALK: Non-Motorized + BIKE: Non-Motorized + TAXI: Ride Hail + TNC_SINGLE: Ride Hail + TNC_SHARED: Ride Hail + - column: trip_mode + label: major_access_trip_mode + map: + DRIVEALONEFREE: SOV + DRIVEALONEPAY: SOV + SHARED2FREE: HOV + SHARED2PAY: HOV + SHARED3FREE: HOV + SHARED3PAY: HOV + WALK_LOC: Walk to Transit + WALK_LRF: Walk to Transit + WALK_EXP: Walk to Transit + WALK_HVY: Walk to Transit + WALK_COM: Walk to Transit + DRIVE_LOC: Drive to Transit + DRIVE_LRF: Drive to Transit + DRIVE_EXP: Drive to Transit + DRIVE_HVY: Drive to Transit + DRIVE_COM: Drive to Transit + WALK: Non-Motorized + BIKE: Non-Motorized + TAXI: Ride Hail + TNC_SINGLE: Ride Hail + TNC_SHARED: Ride Hail diff --git a/test/summarize/configs/summarize_preprocessor.csv b/test/summarize/configs/summarize_preprocessor.csv new file mode 100644 index 0000000000..cee7f449f7 --- /dev/null +++ b/test/summarize/configs/summarize_preprocessor.csv @@ -0,0 +1,220 @@ +Description,Target,Expression + +## Constants +,_WALK_SPEED,3 +,_BIKE_SPEED,12 + +,_SHORT_WALK, 0.333 # miles + +,_SINGLE_TNC_WAIT_TIME, 8.4 # minutes +,_SHARED_TNC_WAIT_TIME, 11.0 # minutes +,_TAXI_WAIT_TIME, 13.3 # minutes + +,_TAXI_BASE_FARE, 2.20 # $ +,_TAXI_COST_PER_MILE, 2.30 # $ +,_TAXI_COST_PER_MINUTE, 0.10 # $ + +,_TNC_SINGLE_BASE_FARE, 2.20 # $ +,_TNC_SINGLE_COST_PER_MILE, 1.33 # $ +,_TNC_SINGLE_COST_PER_MINUTE, 0.24 # $ +,_TNC_SINGLE_COST_MINIMUM, 7.20 # $ + +,_TNC_SHARED_BASE_FARE, 2.20 # $ +,_TNC_SHARED_COST_PER_MILE, 0.53 # $ +,_TNC_SHARED_COST_PER_MINUTE, 0.10 # $ +,_TNC_SHARED_COST_MINIMUM, 3.00 # $ +,_TNC_SHARED_IVT_FACTOR, 1.5 # $ + +## Distances +# Auto distance +,_sov_dist,trip_odt_skims['SOV_DIST'] +,_hov2_dist,trip_odt_skims['HOV2_DIST'] +,_hov3_dist,trip_odt_skims['HOV3_DIST'] +,_sovtoll_dist,trip_odt_skims['SOVTOLL_DIST'] +,_hov2toll_dist,trip_odt_skims['HOV2TOLL_DIST'] +,_hov3toll_dist,trip_odt_skims['HOV3TOLL_DIST'] + +# Transit auto access/eggress distance (miles x 100) +,_drv_com_wlk_ddist,trip_odt_skims['DRV_COM_WLK_DDIST']/100 +,_drv_exp_wlk_ddist,trip_odt_skims['DRV_EXP_WLK_DDIST']/100 +,_drv_hvy_wlk_ddist,trip_odt_skims['DRV_HVY_WLK_DDIST']/100 +,_drv_loc_wlk_ddist,trip_odt_skims['DRV_LOC_WLK_DDIST']/100 +,_drv_lrf_wlk_ddist,trip_odt_skims['DRV_LRF_WLK_DDIST']/100 + +# Bike distance +,_bike_dist,trip_od_skims['DISTBIKE'] + +# Walk distance +,_walk_dist,trip_od_skims['DISTWALK'] + +## Times +# Auto time +,_sov_time,trip_odt_skims['SOV_TIME'] +,_hov2_time,trip_odt_skims['HOV2_TIME'] +,_hov3_time,trip_odt_skims['HOV3_TIME'] +,_sovtoll_time,trip_odt_skims['SOVTOLL_TIME'] +,_hov2toll_time,trip_odt_skims['HOV2TOLL_TIME'] +,_hov3toll_time,trip_odt_skims['HOV3TOLL_TIME'] + +# Transit vehicle time (minutes x 100) +,_drv_com_wlk_totivt,trip_odt_skims['DRV_COM_WLK_TOTIVT']/100 +,_drv_exp_wlk_totivt,trip_odt_skims['DRV_EXP_WLK_TOTIVT']/100 +,_drv_hvy_wlk_totivt,trip_odt_skims['DRV_HVY_WLK_TOTIVT']/100 +,_drv_loc_wlk_totivt,trip_odt_skims['DRV_LOC_WLK_TOTIVT']/100 +,_drv_lrf_wlk_totivt,trip_odt_skims['DRV_LRF_WLK_TOTIVT']/100 +,_wlk_com_wlk_totivt,trip_odt_skims['WLK_COM_WLK_TOTIVT']/100 +,_wlk_exp_wlk_totivt,trip_odt_skims['WLK_EXP_WLK_TOTIVT']/100 +,_wlk_hvy_wlk_totivt,trip_odt_skims['WLK_HVY_WLK_TOTIVT']/100 +,_wlk_loc_wlk_totivt,trip_odt_skims['WLK_LOC_WLK_TOTIVT']/100 +,_wlk_lrf_wlk_totivt,trip_odt_skims['WLK_LRF_WLK_TOTIVT']/100 + +# Initial wait time (IWAIT) +,_drv_com_wlk_iwait,trip_odt_skims['DRV_COM_WLK_IWAIT']/100 +,_drv_exp_wlk_iwait,trip_odt_skims['DRV_EXP_WLK_IWAIT']/100 +,_drv_hvy_wlk_iwait,trip_odt_skims['DRV_HVY_WLK_IWAIT']/100 +,_drv_loc_wlk_iwait,trip_odt_skims['DRV_LOC_WLK_IWAIT']/100 +,_drv_lrf_wlk_iwait,trip_odt_skims['DRV_LRF_WLK_IWAIT']/100 +,_wlk_com_wlk_iwait,trip_odt_skims['WLK_COM_WLK_IWAIT']/100 +,_wlk_exp_wlk_iwait,trip_odt_skims['WLK_EXP_WLK_IWAIT']/100 +,_wlk_hvy_wlk_iwait,trip_odt_skims['WLK_HVY_WLK_IWAIT']/100 +,_wlk_loc_wlk_iwait,trip_odt_skims['WLK_LOC_WLK_IWAIT']/100 +,_wlk_lrf_wlk_iwait,trip_odt_skims['WLK_LRF_WLK_IWAIT']/100 + +# Transfer wait time (XWAIT) +,_drv_com_wlk_xwait,trip_odt_skims['DRV_COM_WLK_XWAIT']/100 +,_drv_exp_wlk_xwait,trip_odt_skims['DRV_EXP_WLK_XWAIT']/100 +,_drv_hvy_wlk_xwait,trip_odt_skims['DRV_HVY_WLK_XWAIT']/100 +,_drv_loc_wlk_xwait,trip_odt_skims['DRV_LOC_WLK_XWAIT']/100 +,_drv_lrf_wlk_xwait,trip_odt_skims['DRV_LRF_WLK_XWAIT']/100 +,_wlk_com_wlk_xwait,trip_odt_skims['WLK_COM_WLK_XWAIT']/100 +,_wlk_exp_wlk_xwait,trip_odt_skims['WLK_EXP_WLK_XWAIT']/100 +,_wlk_hvy_wlk_xwait,trip_odt_skims['WLK_HVY_WLK_XWAIT']/100 +,_wlk_loc_wlk_xwait,trip_odt_skims['WLK_LOC_WLK_XWAIT']/100 +,_wlk_lrf_wlk_xwait,trip_odt_skims['WLK_LRF_WLK_XWAIT']/100 + +# Walk access time (WACC) (for all transit modes) +,_wlk_wacc,_SHORT_WALK / _WALK_SPEED * 60 # Constant assumption of short walk access + +# Auxiliary walk time (WAUX) +,_drv_com_wlk_waux,trip_odt_skims['DRV_COM_WLK_WAUX']/100 +,_drv_exp_wlk_waux,trip_odt_skims['DRV_EXP_WLK_WAUX']/100 +,_drv_hvy_wlk_waux,trip_odt_skims['DRV_HVY_WLK_WAUX']/100 +,_drv_loc_wlk_waux,trip_odt_skims['DRV_LOC_WLK_WAUX']/100 +,_drv_lrf_wlk_waux,trip_odt_skims['DRV_LRF_WLK_WAUX']/100 +,_wlk_com_wlk_waux,trip_odt_skims['WLK_COM_WLK_WAUX']/100 +,_wlk_exp_wlk_waux,trip_odt_skims['WLK_EXP_WLK_WAUX']/100 +,_wlk_hvy_wlk_waux,trip_odt_skims['WLK_HVY_WLK_WAUX']/100 +,_wlk_loc_wlk_waux,trip_odt_skims['WLK_LOC_WLK_WAUX']/100 +,_wlk_lrf_wlk_waux,trip_odt_skims['WLK_LRF_WLK_WAUX']/100 + +# Walk egress time (WEGR) (for all transit modes) +,_wlk_wegr,_SHORT_WALK / _WALK_SPEED * 60 # Constant assumption of short walk egress + +# Drive access/egress time (DTIM) +,_drv_com_wlk_dtim,trip_odt_skims['DRV_COM_WLK_DTIM']/100 +,_drv_exp_wlk_dtim,trip_odt_skims['DRV_EXP_WLK_DTIM']/100 +,_drv_hvy_wlk_dtim,trip_odt_skims['DRV_HVY_WLK_DTIM']/100 +,_drv_loc_wlk_dtim,trip_odt_skims['DRV_LOC_WLK_DTIM']/100 +,_drv_lrf_wlk_dtim,trip_odt_skims['DRV_LRF_WLK_DTIM']/100 + +## Costs +# Private auto tolls +# Bridge +,_sov_btoll,trip_odt_skims['SOV_BTOLL'] +,_hov2_btoll,trip_odt_skims['HOV2_BTOLL'] +,_hov3_btoll,trip_odt_skims['HOV3_BTOLL'] +,_sovtoll_btoll,trip_odt_skims['SOVTOLL_BTOLL'] +,_hov2toll_btoll,trip_odt_skims['HOV2TOLL_BTOLL'] +,_hov3toll_btoll,trip_odt_skims['HOV3TOLL_BTOLL'] +# Value +,_sovtoll_vtoll,trip_odt_skims['SOVTOLL_VTOLL'] +,_hov2toll_vtoll,trip_odt_skims['HOV2TOLL_VTOLL'] +,_hov3toll_vtoll,trip_odt_skims['HOV3TOLL_VTOLL'] + +# Transit fares +,_drv_com_wlk_far,trip_odt_skims['DRV_COM_WLK_FAR'] +,_drv_exp_wlk_far,trip_odt_skims['DRV_EXP_WLK_FAR'] +,_drv_hvy_wlk_far,trip_odt_skims['DRV_HVY_WLK_FAR'] +,_drv_loc_wlk_far,trip_odt_skims['DRV_LOC_WLK_FAR'] +,_drv_lrf_wlk_far,trip_odt_skims['DRV_LRF_WLK_FAR'] +,_wlk_com_wlk_far,trip_odt_skims['WLK_COM_WLK_FAR'] +,_wlk_exp_wlk_far,trip_odt_skims['WLK_EXP_WLK_FAR'] +,_wlk_hvy_wlk_far,trip_odt_skims['WLK_HVY_WLK_FAR'] +,_wlk_loc_wlk_far,trip_odt_skims['WLK_LOC_WLK_FAR'] +,_wlk_lrf_wlk_far,trip_odt_skims['WLK_LRF_WLK_FAR'] + +## Mode Indicators +# Private Auto +,_sov_mode,trips_merged['trip_mode'] == 'DRIVEALONEFREE' +,_hov2_mode,trips_merged['trip_mode'] == 'SHARED2FREE' +,_hov3_mode,trips_merged['trip_mode'] == 'SHARED3FREE' +,_sovtoll_mode,trips_merged['trip_mode'] == 'DRIVEALONEPAY' +,_hov2toll_mode,trips_merged['trip_mode'] == 'SHARED2PAY' +,_hov3toll_mode,trips_merged['trip_mode'] == 'SHARED3PAY' + +# Taxi/TNC +,_taxi_mode,trips_merged['trip_mode'] == 'TAXI' +,_tnc_single_mode,trips_merged['trip_mode'] == 'TNC_SINGLE' +,_tnc_shared_mode,trips_merged['trip_mode'] == 'TNC_SHARED' + +# Transit +,_drive_com_mode,trips_merged['trip_mode'] == 'DRIVE_COM' +,_drive_exp_mode,trips_merged['trip_mode'] == 'DRIVE_EXP' +,_drive_hvy_mode,trips_merged['trip_mode'] == 'DRIVE_HVY' +,_drive_loc_mode,trips_merged['trip_mode'] == 'DRIVE_LOC' +,_drive_lrf_mode,trips_merged['trip_mode'] == 'DRIVE_LRF' +,_walk_com_mode,trips_merged['trip_mode'] == 'WALK_COM' +,_walk_exp_mode,trips_merged['trip_mode'] == 'WALK_EXP' +,_walk_hvy_mode,trips_merged['trip_mode'] == 'WALK_HVY' +,_walk_loc_mode,trips_merged['trip_mode'] == 'WALK_LOC' +,_walk_lrf_mode,trips_merged['trip_mode'] == 'WALK_LRF' + +# Bike +,_bike_mode,trips_merged['trip_mode'] == 'BIKE' + +# Walk +,_walk_mode,trips_merged['trip_mode'] == 'WALK' + +### Calcs +## Time +# Auto +,_transit_auto_time,(_drive_com_mode * _drv_com_wlk_dtim) + (_drive_exp_mode * _drv_exp_wlk_dtim) + (_drive_hvy_mode * _drv_hvy_wlk_dtim) + (_drive_loc_mode * _drv_loc_wlk_dtim) + (_drive_lrf_mode * _drv_lrf_wlk_dtim) +,_tnc_single_time,(_tnc_single_mode * _hov2_time) +,_tnc_shared_time,(_tnc_shared_mode * _hov3_time * _TNC_SHARED_IVT_FACTOR) +,_taxi_time,(_taxi_mode * _hov2_time) +,auto_time,(_sov_mode * _sov_time) + (_hov2_mode * _hov2_time) + (_hov3_mode * _hov3_time) + (_sovtoll_mode * _sovtoll_time) + (_hov2toll_mode * _hov2toll_time) + (_hov3toll_mode * _hov3toll_time) + _transit_auto_time + _tnc_single_time + _tnc_shared_time + _taxi_time +# Transit Vehicle +,transit_vehicle_time,(_drive_com_mode * _drv_com_wlk_totivt) + (_drive_exp_mode * _drv_exp_wlk_totivt) + (_drive_hvy_mode * _drv_hvy_wlk_totivt) + (_drive_loc_mode * _drv_loc_wlk_totivt) + (_drive_lrf_mode * _drv_lrf_wlk_totivt) + (_walk_com_mode * _wlk_com_wlk_totivt) + (_walk_exp_mode * _wlk_exp_wlk_totivt) + (_walk_hvy_mode * _wlk_hvy_wlk_totivt) + (_walk_loc_mode * _wlk_loc_wlk_totivt) + (_walk_lrf_mode * _wlk_lrf_wlk_totivt) +# Wait +,_transit_initial_wait_time,(_drive_com_mode * _drv_com_wlk_iwait) + (_drive_exp_mode * _drv_exp_wlk_iwait) + (_drive_hvy_mode * _drv_hvy_wlk_iwait) + (_drive_loc_mode * _drv_loc_wlk_iwait) + (_drive_lrf_mode * _drv_lrf_wlk_iwait) + (_walk_com_mode * _wlk_com_wlk_iwait) + (_walk_exp_mode * _wlk_exp_wlk_iwait) + (_walk_hvy_mode * _wlk_hvy_wlk_iwait) + (_walk_loc_mode * _wlk_loc_wlk_iwait) + (_walk_lrf_mode * _wlk_lrf_wlk_iwait) +,_transit_transfer_wait_time,(_drive_com_mode * _drv_com_wlk_xwait) + (_drive_exp_mode * _drv_exp_wlk_xwait) + (_drive_hvy_mode * _drv_hvy_wlk_xwait) + (_drive_loc_mode * _drv_loc_wlk_xwait) + (_drive_lrf_mode * _drv_lrf_wlk_xwait) + (_walk_com_mode * _wlk_com_wlk_xwait) + (_walk_exp_mode * _wlk_exp_wlk_xwait) + (_walk_hvy_mode * _wlk_hvy_wlk_xwait) + (_walk_loc_mode * _wlk_loc_wlk_xwait) + (_walk_lrf_mode * _wlk_lrf_wlk_xwait) +,wait_time,_transit_initial_wait_time + _transit_transfer_wait_time + (_taxi_mode * _TAXI_WAIT_TIME) + (_tnc_single_mode * _SINGLE_TNC_WAIT_TIME) + (_tnc_shared_mode + _SHARED_TNC_WAIT_TIME) +# Walk +,_transit_walk_access_time,(_walk_com_mode * _wlk_wacc) + (_walk_exp_mode * _wlk_wacc) + (_walk_hvy_mode * _wlk_wacc) + (_walk_loc_mode * _wlk_wacc) + (_walk_lrf_mode * _wlk_wacc) +,_transit_walk_aux_time,(_drive_com_mode * _drv_com_wlk_waux) + (_drive_exp_mode * _drv_exp_wlk_waux) + (_drive_hvy_mode * _drv_hvy_wlk_waux) + (_drive_loc_mode * _drv_loc_wlk_waux) + (_drive_lrf_mode * _drv_lrf_wlk_waux) + (_walk_com_mode * _wlk_com_wlk_waux) + (_walk_exp_mode * _wlk_exp_wlk_waux) + (_walk_hvy_mode * _wlk_hvy_wlk_waux) + (_walk_loc_mode * _wlk_loc_wlk_waux) + (_walk_lrf_mode * _wlk_lrf_wlk_waux) +,_transit_walk_egress_time,(_drive_com_mode * _wlk_wegr) + (_drive_exp_mode * _wlk_wegr) + (_drive_hvy_mode * _wlk_wegr) + (_drive_loc_mode * _wlk_wegr) + (_drive_lrf_mode * _wlk_wegr) + (_walk_com_mode * _wlk_wegr) + (_walk_exp_mode * _wlk_wegr) + (_walk_hvy_mode * _wlk_wegr) + (_walk_loc_mode * _wlk_wegr) + (_walk_lrf_mode * _wlk_wegr) +,walk_time,(_walk_mode * _walk_dist / _WALK_SPEED * 60) + _transit_walk_access_time + _transit_walk_aux_time + _transit_walk_egress_time +# Bike +,bike_time,_bike_mode * _bike_dist / _BIKE_SPEED * 60 +# Total +,total_time,auto_time + transit_vehicle_time + wait_time + walk_time + bike_time + +## Distance +# Auto +,_tnc_single_distance,(_tnc_single_mode * _hov2_dist) +,_tnc_shared_distance,(_tnc_shared_mode * _hov3_dist) # Doesn't account for VMT savings from sharing +,_taxi_distance,(_taxi_mode * _hov2_dist) +,auto_distance,(_sov_mode * _sov_dist) + (_hov2_mode * _hov2_dist) + (_hov3_mode * _hov3_dist) + (_sovtoll_mode * _sovtoll_dist) + (_hov2toll_mode * _hov2toll_dist) + (_hov3toll_mode * _hov3toll_dist) + (_drive_com_mode * _drv_com_wlk_ddist) + (_drive_exp_mode * _drv_exp_wlk_ddist) + (_drive_hvy_mode * _drv_hvy_wlk_ddist) + (_drive_loc_mode * _drv_loc_wlk_ddist) + (_drive_lrf_mode * _drv_lrf_wlk_ddist) + _tnc_single_distance + _tnc_shared_distance + _taxi_distance +# Walk +,walk_distance,(walk_time / 60 * _WALK_SPEED) +# Bike +,bike_distance,_bike_mode * _bike_dist + +## Cost +,_transit_fare_cost,(_drive_com_mode * _drv_com_wlk_far) + (_drive_exp_mode * _drv_exp_wlk_far) + (_drive_hvy_mode * _drv_hvy_wlk_far) + (_drive_loc_mode * _drv_loc_wlk_far) + (_drive_lrf_mode * _drv_lrf_wlk_far) + (_walk_com_mode * _wlk_com_wlk_far) + (_walk_exp_mode * _wlk_exp_wlk_far) + (_walk_hvy_mode * _wlk_hvy_wlk_far) + (_walk_loc_mode * _wlk_loc_wlk_far) + (_walk_lrf_mode * _wlk_lrf_wlk_far) +,_tnc_single_cost,"_TNC_SINGLE_BASE_FARE + np.maximum((_tnc_single_distance * _TAXI_COST_PER_MILE) + (_tnc_single_time * _TNC_SINGLE_COST_PER_MINUTE), _TNC_SINGLE_COST_MINIMUM)" +,_tnc_shared_cost,"_TNC_SHARED_BASE_FARE + np.maximum((_tnc_shared_distance * _TNC_SINGLE_COST_PER_MILE) + (_tnc_shared_time * _TNC_SHARED_COST_PER_MINUTE), _TNC_SHARED_COST_MINIMUM)" +,_taxi_cost,_TAXI_BASE_FARE + (_taxi_distance * _TNC_SHARED_COST_PER_MILE) + (_taxi_time * _TAXI_COST_PER_MINUTE) +,fare_cost,_transit_fare_cost + _tnc_single_cost + _tnc_shared_cost + _taxi_cost +,toll_cost,(_sov_mode * _sov_btoll) + (_hov2_mode * _hov2_btoll) + (_hov3_mode * _hov3_btoll) + (_sovtoll_mode * _sovtoll_btoll) + (_sovtoll_mode * _sovtoll_vtoll) + (_hov2toll_mode * _hov2toll_btoll) + (_hov2toll_mode * _hov2toll_vtoll) + (_hov3toll_mode * _hov3toll_btoll) + (_hov3toll_mode * _hov3toll_vtoll) + (_tnc_single_mode * _hov2toll_vtoll) + (_tnc_shared_mode * _hov3toll_vtoll) + (_taxi_mode * _hov2toll_vtoll) +,total_cost,fare_cost + toll_cost diff --git a/test/summarize/data/final_checkpoints.csv b/test/summarize/data/final_checkpoints.csv new file mode 100644 index 0000000000..bf0efa757e --- /dev/null +++ b/test/summarize/data/final_checkpoints.csv @@ -0,0 +1,34 @@ +checkpoint_name,timestamp,accessibility,land_use,person_windows,households,persons,school_destination_size,workplace_destination_size,school_modeled_size,workplace_modeled_size,tours,joint_tour_participants,trips +init,2021-12-02 09:03:40.013442,,,,,,,,,,,, +initialize_landuse,2021-12-02 09:03:41.070744,initialize_landuse,initialize_landuse,,,,,,,,,, +initialize_households,2021-12-02 09:03:41.613664,initialize_landuse,initialize_landuse,initialize_households,initialize_households,initialize_households,initialize_households,initialize_households,,,,, +compute_accessibility,2021-12-02 09:03:41.845052,compute_accessibility,initialize_landuse,initialize_households,initialize_households,initialize_households,initialize_households,initialize_households,,,,, +school_location,2021-12-02 09:03:45.381424,compute_accessibility,initialize_landuse,initialize_households,initialize_households,school_location,initialize_households,initialize_households,school_location,,,, +workplace_location,2021-12-02 09:03:50.202204,compute_accessibility,initialize_landuse,initialize_households,workplace_location,workplace_location,initialize_households,initialize_households,school_location,workplace_location,,, +auto_ownership_simulate,2021-12-02 09:03:50.538757,compute_accessibility,initialize_landuse,initialize_households,auto_ownership_simulate,workplace_location,initialize_households,initialize_households,school_location,workplace_location,,, +free_parking,2021-12-02 09:03:50.817031,compute_accessibility,initialize_landuse,initialize_households,auto_ownership_simulate,free_parking,initialize_households,initialize_households,school_location,workplace_location,,, +cdap_simulate,2021-12-02 09:03:58.463625,compute_accessibility,initialize_landuse,initialize_households,cdap_simulate,cdap_simulate,initialize_households,initialize_households,school_location,workplace_location,,, +mandatory_tour_frequency,2021-12-02 09:03:59.339829,compute_accessibility,initialize_landuse,initialize_households,cdap_simulate,mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,mandatory_tour_frequency,, +mandatory_tour_scheduling,2021-12-02 09:04:06.269457,compute_accessibility,initialize_landuse,mandatory_tour_scheduling,cdap_simulate,mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,mandatory_tour_scheduling,, +joint_tour_frequency,2021-12-02 09:04:06.999451,compute_accessibility,initialize_landuse,mandatory_tour_scheduling,joint_tour_frequency,mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,joint_tour_frequency,, +joint_tour_composition,2021-12-02 09:04:07.439723,compute_accessibility,initialize_landuse,mandatory_tour_scheduling,joint_tour_frequency,mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,joint_tour_composition,, +joint_tour_participation,2021-12-02 09:04:08.236109,compute_accessibility,initialize_landuse,mandatory_tour_scheduling,joint_tour_frequency,joint_tour_participation,initialize_households,initialize_households,school_location,workplace_location,joint_tour_participation,joint_tour_participation, +joint_tour_destination,2021-12-02 09:04:11.314289,compute_accessibility,initialize_landuse,mandatory_tour_scheduling,joint_tour_frequency,joint_tour_participation,initialize_households,initialize_households,school_location,workplace_location,joint_tour_destination,joint_tour_participation, +joint_tour_scheduling,2021-12-02 09:04:11.954584,compute_accessibility,initialize_landuse,joint_tour_scheduling,joint_tour_frequency,joint_tour_participation,initialize_households,initialize_households,school_location,workplace_location,joint_tour_scheduling,joint_tour_participation, +non_mandatory_tour_frequency,2021-12-02 09:04:17.499727,compute_accessibility,initialize_landuse,joint_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,non_mandatory_tour_frequency,joint_tour_participation, +non_mandatory_tour_destination,2021-12-02 09:04:24.087826,compute_accessibility,initialize_landuse,joint_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,non_mandatory_tour_destination,joint_tour_participation, +non_mandatory_tour_scheduling,2021-12-02 09:04:25.790554,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,non_mandatory_tour_scheduling,joint_tour_participation, +tour_mode_choice_simulate,2021-12-02 09:04:35.944225,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,tour_mode_choice_simulate,joint_tour_participation, +atwork_subtour_frequency,2021-12-02 09:04:36.477485,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,atwork_subtour_frequency,joint_tour_participation, +atwork_subtour_destination,2021-12-02 09:04:37.669878,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,atwork_subtour_destination,joint_tour_participation, +atwork_subtour_scheduling,2021-12-02 09:04:38.199465,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,atwork_subtour_scheduling,joint_tour_participation, +atwork_subtour_mode_choice,2021-12-02 09:04:39.424623,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,atwork_subtour_mode_choice,joint_tour_participation, +stop_frequency,2021-12-02 09:04:41.764222,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,stop_frequency,joint_tour_participation,stop_frequency +trip_purpose,2021-12-02 09:04:41.987663,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,stop_frequency,joint_tour_participation,trip_purpose +trip_destination,2021-12-02 09:05:15.937419,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,stop_frequency,joint_tour_participation,trip_destination +trip_purpose_and_destination,2021-12-02 09:05:16.105970,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,stop_frequency,joint_tour_participation,trip_purpose_and_destination +trip_scheduling,2021-12-02 09:05:29.462545,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,stop_frequency,joint_tour_participation,trip_scheduling +trip_mode_choice,2021-12-02 09:05:39.139453,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,stop_frequency,joint_tour_participation,trip_mode_choice +write_data_dictionary,2021-12-02 09:05:39.929557,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,stop_frequency,joint_tour_participation,trip_mode_choice +track_skim_usage,2021-12-02 09:05:40.062850,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,stop_frequency,joint_tour_participation,trip_mode_choice +write_trip_matrices,2021-12-02 09:05:40.719989,compute_accessibility,initialize_landuse,non_mandatory_tour_scheduling,joint_tour_frequency,non_mandatory_tour_frequency,initialize_households,initialize_households,school_location,workplace_location,stop_frequency,joint_tour_participation,trip_mode_choice diff --git a/test/summarize/data/households.csv b/test/summarize/data/households.csv new file mode 100644 index 0000000000..b2449aaeec --- /dev/null +++ b/test/summarize/data/households.csv @@ -0,0 +1,101 @@ +household_id,home_zone_id,income,hhsize,HHT,auto_ownership,num_workers,sample_rate,income_in_thousands,income_segment,median_value_of_time,hh_value_of_time,num_non_workers,num_drivers,num_adults,num_children,num_young_children,num_children_5_to_15,num_children_16_to_17,num_college_age,num_young_adults,non_family,family,home_is_urban,home_is_rural,hh_work_auto_savings_ratio,num_under16_not_at_school,num_travel_active,num_travel_active_adults,num_travel_active_preschoolers,num_travel_active_children,num_travel_active_non_preschoolers,participates_in_jtf_model,joint_tour_frequency,num_hh_joint_tours +982875,16,30900,2,5,1,2,0.02,30.9,2,8.81,6.021274002645185,0,2,2,0,0,0,0,0,2,True,False,True,False,0.39972082,0,2,2,0,0,2,True,0_tours,0 +1810015,16,99700,9,2,1,4,0.02,99.7,3,10.44,3.705326363656352,5,8,8,1,1,0,0,3,3,False,True,True,False,0.71195495,0,7,6,1,1,6,True,0_tours,0 +1099626,20,58160,3,1,1,1,0.02,58.16,2,8.81,10.708809147889093,2,2,2,1,1,0,0,0,0,False,True,True,False,0.2646,0,3,2,1,1,2,True,0_tours,0 +763879,6,59220,1,4,1,0,0.02,59.22,2,8.81,10.449019648473794,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +824207,18,51000,1,4,0,1,0.02,51.0,2,8.81,17.13534609189038,0,1,1,0,0,0,0,0,1,True,False,True,False,0.18706083,0,1,1,0,0,1,False,0_tours,0 +2822230,8,0,1,0,0,1,0.02,0.0,1,6.01,7.558195608572484,0,1,1,0,0,0,0,1,0,False,False,True,False,0.20204751,0,1,1,0,0,1,False,0_tours,0 +2821179,8,0,1,0,0,1,0.02,0.0,1,6.01,1.0,0,1,1,0,0,0,0,0,0,False,False,True,False,0.19095585,0,1,1,0,0,1,False,0_tours,0 +1196298,25,31360,5,1,0,1,0.02,31.36,2,8.81,12.074894163110672,4,2,2,3,2,1,0,0,1,False,True,True,False,0.14576416,0,4,1,2,3,2,True,0_tours,0 +1363467,24,58300,2,2,1,1,0.02,58.3,2,8.81,10.4823297442415,1,2,2,0,0,0,0,0,0,False,True,True,False,0.12962,0,2,2,0,0,2,True,0_tours,0 +386761,16,21000,3,1,1,2,0.02,21.0,1,6.01,5.098171219655474,1,2,2,1,0,1,0,0,0,False,True,True,False,0.28337085,0,3,2,0,1,3,True,0_tours,0 +2223027,9,133000,2,1,0,2,0.02,133.0,4,12.86,6.387619611064064,0,2,2,0,0,0,0,0,0,False,True,True,False,0.30083168,0,2,2,0,0,2,True,0_tours,0 +2832182,7,0,1,0,0,0,0.02,0.0,1,6.01,3.0402011627479264,1,1,1,0,0,0,0,0,0,False,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +2727273,20,118800,2,1,1,2,0.02,118.8,4,12.86,21.606392235487583,0,2,2,0,0,0,0,0,0,False,True,True,False,0.26,0,2,2,0,0,2,True,0_tours,0 +1444715,14,60000,1,4,0,1,0.02,60.0,2,8.81,4.0074881716523025,0,1,1,0,0,0,0,0,0,True,False,True,False,0.13325916,0,0,0,0,0,0,False,0_tours,0 +112064,16,18000,1,6,1,1,0.02,18.0,1,6.01,2.647107057372401,0,1,1,0,0,0,0,0,0,True,False,True,False,0.23449998,0,1,1,0,0,1,False,0_tours,0 +1952792,14,61900,1,4,1,1,0.02,61.9,3,10.44,2.5980714149446418,0,1,1,0,0,0,0,0,0,True,False,True,False,0.08287584,0,1,1,0,0,1,False,0_tours,0 +2223759,16,144100,2,1,0,2,0.02,144.1,4,12.86,7.408554295817758,0,2,2,0,0,0,0,0,2,False,True,True,False,0.4657992,0,2,2,0,0,2,True,1_Eat,1 +2820538,8,0,1,0,0,1,0.02,0.0,1,6.01,2.467783203776223,0,1,1,0,0,0,0,1,0,False,False,True,False,0.11770582,0,0,0,0,0,0,False,0_tours,0 +27726,10,24000,1,4,0,0,0.02,24.0,1,6.01,5.584662029883316,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +570454,21,1500,1,4,0,0,0.02,1.5,1,6.01,10.364201291815256,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,0,0,0,0,0,False,0_tours,0 +370497,21,18000,3,2,0,1,0.02,18.0,1,6.01,4.005080218193281,2,2,2,1,0,1,0,1,0,False,True,True,False,0.1529925,0,1,0,0,1,1,False,0_tours,0 +1173905,8,45000,4,1,1,0,0.02,45.0,2,8.81,2.9767301704144296,4,2,2,2,0,2,0,0,0,False,True,True,False,0.0,0,4,2,0,2,4,True,1_Shop,1 +1286557,11,30000,1,4,1,0,0.02,30.0,1,6.01,3.6040501851984663,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +2762078,20,0,1,0,0,0,0.02,0.0,1,6.01,6.660210105218662,1,1,1,0,0,0,0,0,0,False,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +2832429,16,0,1,0,1,0,0.02,0.0,1,6.01,7.951880936376377,1,1,1,0,0,0,0,0,0,False,False,True,False,0.0,0,0,0,0,0,0,False,0_tours,0 +386699,7,21000,3,1,0,2,0.02,21.0,1,6.01,4.590650730864872,1,2,2,1,0,1,0,0,0,False,True,True,False,0.2743725,0,3,2,0,1,3,True,0_tours,0 +2822097,8,0,1,0,1,1,0.02,0.0,1,6.01,10.786630771770398,0,1,1,0,0,0,0,0,0,False,False,True,False,0.10683333,0,1,1,0,0,1,False,0_tours,0 +764150,9,34630,1,4,1,0,0.02,34.63,2,8.81,7.593970066915795,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +2820774,8,0,1,0,1,1,0.02,0.0,1,6.01,1.8304507502262177,0,1,1,0,0,0,0,0,0,False,False,True,False,0.15995501,0,1,1,0,0,1,False,0_tours,0 +1594621,10,69200,2,1,0,2,0.02,69.2,3,10.44,17.6624037989451,0,2,2,0,0,0,0,0,2,False,True,True,False,0.23833334,0,2,2,0,0,2,True,0_tours,0 +257531,16,12000,2,7,0,2,0.02,12.0,1,6.01,8.417809979092251,0,2,2,0,0,0,0,2,0,True,False,True,False,0.3178517,0,2,2,0,0,2,True,0_tours,0 +1645132,9,92700,2,3,0,0,0.02,92.7,3,10.44,11.518178930487295,2,1,1,1,0,1,0,0,0,False,True,True,False,0.0,1,2,1,0,1,2,True,0_tours,0 +29625,17,4200,1,4,0,0,0.02,4.2,1,6.01,4.768890669889258,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +1402945,25,37200,4,1,1,4,0.02,37.2,2,8.81,10.32100270756728,0,4,4,0,0,0,0,2,0,False,True,True,False,0.56286997,0,4,4,0,0,4,True,1_Disc,1 +823501,12,30000,1,4,0,1,0.02,30.0,1,6.01,4.360890352038947,0,1,1,0,0,0,0,0,0,True,False,True,False,0.06425,0,1,1,0,0,1,False,0_tours,0 +1747467,16,76000,3,1,0,2,0.02,76.0,3,10.44,15.5812014089547,1,2,2,1,0,1,0,0,0,False,True,True,False,0.3402317,0,3,2,0,1,3,True,0_tours,0 +1445222,17,68000,1,6,0,1,0.02,68.0,3,10.44,7.595766438703255,0,1,1,0,0,0,0,0,0,True,False,True,False,0.31015667,0,1,1,0,0,1,False,0_tours,0 +26844,8,3500,1,4,0,0,0.02,3.5,1,6.01,41.95868930639066,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +2822219,8,0,1,0,0,1,0.02,0.0,1,6.01,2.9220038814547133,0,1,1,0,0,0,0,1,0,False,False,True,False,0.12387166,0,1,1,0,0,1,False,0_tours,0 +110675,16,5050,1,4,0,1,0.02,5.05,1,6.01,3.9205668642399836,0,1,1,0,0,0,0,0,1,True,False,True,False,0.35884497,0,0,0,0,0,0,False,0_tours,0 +2048204,5,388000,1,4,0,1,0.02,388.0,4,12.86,6.218529751813423,0,1,1,0,0,0,0,0,0,True,False,True,False,0.26293832,0,1,1,0,0,1,False,0_tours,0 +1286259,8,34400,1,6,0,0,0.02,34.4,2,8.81,11.48239030277669,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +568785,17,8000,1,4,1,0,0.02,8.0,1,6.01,7.32202829064968,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +26686,8,0,1,4,0,0,0.02,0.0,1,6.01,2.84310444200838,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +1511234,8,88600,2,1,0,1,0.02,88.6,3,10.44,4.2960940332239455,1,2,2,0,0,0,0,0,0,False,True,True,False,0.1417767,0,2,2,0,0,2,True,0_tours,0 +2048382,7,195000,1,4,0,1,0.02,195.0,4,12.86,8.219354788406312,0,1,1,0,0,0,0,0,1,True,False,True,False,0.15494083,0,1,1,0,0,1,False,0_tours,0 +256660,10,27800,2,7,0,2,0.02,27.8,1,6.01,1.5416062020885206,0,2,2,0,0,0,0,2,0,True,False,True,False,0.29182667,0,1,1,0,0,1,False,0_tours,0 +703381,25,17210,2,1,1,0,0.02,17.21,1,6.01,1.8372202530691708,2,2,2,0,0,0,0,0,0,False,True,True,False,0.0,0,2,2,0,0,2,True,0_tours,0 +226869,9,4000,2,1,0,1,0.02,4.0,1,6.01,2.5758755480394475,1,2,2,0,0,0,0,0,2,False,True,True,False,0.23177332,0,2,2,0,0,2,True,0_tours,0 +823426,11,50000,1,4,1,1,0.02,50.0,2,8.81,12.952762239760721,0,1,1,0,0,0,0,0,1,True,False,True,False,0.17517333,0,0,0,0,0,0,False,0_tours,0 +1259353,10,43000,6,1,1,4,0.02,43.0,2,8.81,8.272377137502875,2,5,4,2,0,1,1,2,0,False,True,True,False,0.650365,0,2,1,0,1,2,True,0_tours,0 +568212,11,7000,1,4,0,0,0.02,7.0,1,6.01,2.3178535070641546,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,0,0,0,0,0,False,0_tours,0 +823468,11,32500,1,4,1,1,0.02,32.5,2,8.81,14.830184023511192,0,1,1,0,0,0,0,0,0,True,False,True,False,0.13820499,0,1,1,0,0,1,False,0_tours,0 +226939,10,20300,2,7,0,1,0.02,20.3,1,6.01,1.4771252873630913,1,2,2,0,0,0,0,2,0,True,False,True,False,0.20534334,0,1,1,0,0,1,False,0_tours,0 +1024353,9,58000,2,3,0,0,0.02,58.0,2,8.81,4.196193892147943,2,1,1,1,1,0,0,0,0,False,True,True,False,0.0,0,2,1,1,1,1,True,0_tours,0 +2222764,9,141200,2,1,0,2,0.02,141.2,4,12.86,5.252877011468592,0,2,2,0,0,0,0,0,1,False,True,True,False,0.3173033,0,2,2,0,0,2,True,0_tours,0 +2848373,18,0,1,0,0,0,0.02,0.0,1,6.01,12.964026703751749,1,1,1,0,0,0,0,1,0,False,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +822837,9,44050,1,4,1,1,0.02,44.05,2,8.81,18.245377356110286,0,1,1,0,0,0,0,0,0,True,False,True,False,0.13296,0,1,1,0,0,1,False,0_tours,0 +983048,17,59000,2,5,1,2,0.02,59.0,2,8.81,5.517664922628381,0,2,2,0,0,0,0,2,0,True,False,True,False,0.5645933,0,2,2,0,0,2,True,0_tours,0 +932147,7,47900,2,1,1,1,0.02,47.9,2,8.81,3.730317599967898,1,2,2,0,0,0,0,1,1,False,True,True,False,0.12080918,0,2,2,0,0,2,True,0_tours,0 +2223022,9,112000,2,7,0,2,0.02,112.0,4,12.86,31.326955490366668,0,2,2,0,0,0,0,0,1,True,False,True,False,0.4827583,0,2,2,0,0,2,True,0_tours,0 +2821261,8,0,1,0,0,1,0.02,0.0,1,6.01,5.3417581877081455,0,1,1,0,0,0,0,1,0,False,False,True,False,0.12387166,0,1,1,0,0,1,False,0_tours,0 +702283,9,14500,2,7,0,0,0.02,14.5,1,6.01,5.3572088309053605,2,2,2,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +659376,21,7500,1,4,0,1,0.02,7.5,1,6.01,16.180694831987918,0,1,1,0,0,0,0,0,0,True,False,True,False,0.15809499,0,1,1,0,0,1,False,0_tours,0 +824369,21,40000,1,6,1,1,0.02,40.0,2,8.81,6.089440987134629,0,1,1,0,0,0,0,0,1,True,False,True,False,0.19360752,0,1,1,0,0,1,False,0_tours,0 +824434,22,56250,1,4,0,1,0.02,56.25,2,8.81,7.5773688851185845,0,1,1,0,0,0,0,0,0,True,False,True,False,0.13502169,0,1,1,0,0,1,False,0_tours,0 +701664,2,14800,2,1,0,0,0.02,14.8,1,6.01,4.689327972217943,2,2,2,0,0,0,0,0,0,False,True,True,False,0.0,0,0,0,0,0,0,False,0_tours,0 +112535,17,0,1,6,0,1,0.02,0.0,1,6.01,12.59957875389906,0,1,1,0,0,0,0,0,1,True,False,True,False,0.31015667,0,0,0,0,0,0,False,0_tours,0 +1286206,7,33000,1,6,1,0,0.02,33.0,2,8.81,3.6536488008698043,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,0,0,0,0,0,False,0_tours,0 +1286554,11,59800,1,4,0,0,0.02,59.8,2,8.81,13.054555798482975,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +2821740,8,0,1,0,0,1,0.02,0.0,1,6.01,5.589159817948638,0,1,1,0,0,0,0,1,0,False,False,True,False,0.19095585,0,0,0,0,0,0,False,0_tours,0 +26478,8,4600,1,4,0,0,0.02,4.6,1,6.01,1.0,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +2822211,8,0,1,0,0,1,0.02,0.0,1,6.01,8.12753227540645,0,1,1,0,0,0,0,1,0,False,False,True,False,0.15995501,0,1,1,0,0,1,False,0_tours,0 +304036,10,23700,2,3,1,1,0.02,23.7,1,6.01,5.375799781329804,1,1,1,1,1,0,0,0,0,False,True,True,False,0.16942835,0,2,1,1,1,1,True,0_tours,0 +568266,11,8000,1,4,1,0,0.02,8.0,1,6.01,2.8006745684819063,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,0,0,0,0,0,False,0_tours,0 +257270,16,22800,2,1,1,2,0.02,22.8,1,6.01,7.027281226540117,0,2,2,0,0,0,0,0,0,False,True,True,False,0.39560747,0,1,1,0,0,1,False,0_tours,0 +658964,20,7600,1,6,0,1,0.02,7.6,1,6.01,1.0,0,1,1,0,0,0,0,0,0,True,False,True,False,0.2646,0,1,1,0,0,1,False,0_tours,0 +727854,7,24600,2,1,0,1,0.02,24.6,1,6.01,10.374243300243087,1,2,2,0,0,0,0,0,0,False,True,True,False,0.19994001,0,2,2,0,0,2,True,0_tours,0 +2819833,6,0,1,0,0,1,0.02,0.0,1,6.01,6.034414161215483,0,1,1,0,0,0,0,0,0,False,False,True,False,0.17261416,0,1,1,0,0,1,False,0_tours,0 +567136,9,29500,1,4,0,0,0.02,29.5,1,6.01,3.5507634026007984,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,0,0,0,0,0,False,0_tours,0 +1594490,9,75000,2,1,1,2,0.02,75.0,3,10.44,19.348818756084466,0,2,2,0,0,0,0,0,0,False,True,True,False,0.30083165,0,2,2,0,0,2,True,0_tours,0 +256841,16,16500,2,1,1,2,0.02,16.5,1,6.01,12.238363900253598,0,2,2,0,0,0,0,0,0,False,True,True,False,0.29922587,0,2,2,0,0,2,True,0_tours,0 +107628,6,18100,1,4,0,1,0.02,18.1,1,6.01,6.520841092869769,0,1,1,0,0,0,0,0,0,True,False,True,False,0.027833333,0,1,1,0,0,1,False,0_tours,0 +2848131,3,0,1,0,0,0,0.02,0.0,1,6.01,8.676185203794503,1,1,1,0,0,0,0,0,0,False,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +569828,21,8300,1,4,1,0,0.02,8.3,1,6.01,3.717766257938527,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +257627,16,18100,2,7,1,2,0.02,18.1,1,6.01,12.386460544611257,0,2,2,0,0,0,0,2,0,True,False,True,False,0.30116168,0,2,2,0,0,2,True,0_tours,0 +2224629,17,385000,2,5,1,2,0.02,385.0,4,12.86,5.2919628192742465,0,2,2,0,0,0,0,0,2,True,False,True,False,0.24766664,0,2,2,0,0,2,True,0_tours,0 +659146,21,27700,1,6,1,1,0.02,27.7,1,6.01,4.379784931888701,0,1,1,0,0,0,0,0,0,True,False,True,False,0.12815167,0,1,1,0,0,1,False,0_tours,0 +1119939,16,45000,3,1,1,2,0.02,45.0,2,8.81,13.77235451112827,1,2,2,1,0,1,0,0,2,False,True,True,False,0.31816334,0,3,2,0,1,3,True,0_tours,0 +287846,9,22600,2,2,1,0,0.02,22.6,1,6.01,5.733982654827306,2,2,1,1,0,0,1,0,0,False,True,True,False,0.0,0,2,1,0,1,2,True,0_tours,0 +2049629,21,101000,1,6,1,1,0.02,101.0,4,12.86,5.366633787619218,0,1,1,0,0,0,0,0,1,True,False,True,False,0.19360752,0,0,0,0,0,0,False,0_tours,0 +1594311,6,69200,2,1,0,2,0.02,69.2,3,10.44,5.40519240111767,0,2,2,0,0,0,0,0,2,False,True,True,False,0.35431919,0,2,2,0,0,2,True,0_tours,0 +1511177,8,70920,2,1,0,1,0.02,70.92,3,10.44,20.71852151097765,1,2,2,0,0,0,0,0,0,False,True,True,False,0.3092083,0,1,1,0,0,1,False,0_tours,0 +1306895,7,43700,1,4,0,1,0.02,43.7,2,8.81,1.0,0,1,1,0,0,0,0,0,0,True,False,True,False,0.15494083,0,1,1,0,0,1,False,0_tours,0 +27748,10,9200,1,6,0,0,0.02,9.2,1,6.01,3.010415373711742,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,0,0,0,0,0,False,0_tours,0 +287819,9,6500,2,3,1,0,0.02,6.5,1,6.01,1.2964611351540603,2,1,1,1,0,1,0,0,0,False,True,True,False,0.0,0,2,1,0,1,2,True,0_tours,0 +2832313,10,0,1,0,0,0,0.02,0.0,1,6.01,40.346540425477535,1,1,1,0,0,0,0,0,0,False,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 +2222549,7,112500,2,5,0,2,0.02,112.5,4,12.86,1.170545707447083,0,2,2,0,0,0,0,2,0,True,False,True,False,0.2433575,0,2,2,0,0,2,True,0_tours,0 +2048809,11,145450,1,4,1,1,0.02,145.45,4,12.86,9.983387830403386,0,1,1,0,0,0,0,0,0,True,False,True,False,0.13820499,0,1,1,0,0,1,False,0_tours,0 +566633,8,8400,1,4,0,0,0.02,8.4,1,6.01,5.520555697695516,1,1,1,0,0,0,0,0,0,True,False,True,False,0.0,0,1,1,0,0,1,False,0_tours,0 diff --git a/test/summarize/data/land_use.csv b/test/summarize/data/land_use.csv new file mode 100644 index 0000000000..29eeeb5384 --- /dev/null +++ b/test/summarize/data/land_use.csv @@ -0,0 +1,26 @@ +zone_id,DISTRICT,SD,county_id,TOTHH,TOTPOP,TOTACRE,RESACRE,CIACRE,TOTEMP,AGE0519,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,PRKCST,OPRKCST,area_type,HSENROLL,COLLFTE,COLLPTE,TOPOLOGY,TERMINAL,household_density,employment_density,density_index,is_cbd +1,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False +2,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False +3,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False +4,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False +5,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False +6,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False +7,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False +8,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False +9,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False +10,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False +11,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False +12,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False +13,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False +14,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False +15,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False +16,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False +17,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True +18,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True +19,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True +20,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True +21,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True +22,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False +23,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True +24,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False +25,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False diff --git a/test/summarize/data/persons.csv b/test/summarize/data/persons.csv new file mode 100644 index 0000000000..c73a85c9fe --- /dev/null +++ b/test/summarize/data/persons.csv @@ -0,0 +1,168 @@ +person_id,household_id,age,PNUM,sex,pemploy,pstudent,ptype,age_16_to_19,age_16_p,adult,male,female,has_non_worker,has_retiree,has_preschool_kid,has_driving_kid,has_school_kid,has_full_time,has_part_time,has_university,student_is_employed,nonstudent_to_school,is_student,is_gradeschool,is_highschool,is_university,school_segment,is_worker,home_zone_id,value_of_time,school_zone_id,school_location_logsum,distance_to_school,roundtrip_auto_time_to_school,workplace_zone_id,workplace_location_logsum,distance_to_work,workplace_in_cbd,work_zone_area_type,roundtrip_auto_time_to_work,work_auto_savings,work_auto_savings_ratio,free_parking_at_work,cdap_activity,travel_active,under16_not_at_school,has_preschool_kid_at_home,has_school_kid_at_home,mandatory_tour_frequency,work_and_school_and_worker,work_and_school_and_student,num_mand,num_work_tours,num_joint_tours,non_mandatory_tour_frequency,num_non_mand,num_escort_tours,num_eatout_tours,num_shop_tours,num_maint_tours,num_discr_tours,num_social_tours,num_non_escort_tours +26478,26478,46,1,1,3,3,4,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,8,1.0,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,12,2,0,1,0,1,0,0,2 +26686,26686,39,1,1,3,3,4,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,8,2.84310444200838,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,12,2,0,1,0,1,0,0,2 +26844,26844,51,1,1,3,3,4,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,8,41.95868930639066,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,2,1,0,0,0,0,0,1,1 +27726,27726,52,1,1,3,3,4,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,10,5.584662029883316,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,1,1,0,0,0,0,1,0,1 +27748,27748,57,1,2,3,3,4,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,10,3.010415373711742,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +29625,29625,61,1,1,3,3,4,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,17,4.768890669889258,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +107628,107628,42,1,1,2,3,2,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,6.520841092869769,-1,,,0.0,6,15.437107318045907,0.1,True,0.0,0.66,3.34,0.027833333,False,N,True,False,False,False,,False,False,0,0,0,4,1,0,1,0,0,0,0,1 +110675,110675,30,1,1,2,3,2,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,3.9205668642399836,-1,,,0.0,19,13.725626729995362,1.6,True,1.0,9.73,43.061398,0.35884497,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +112064,112064,48,1,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,2.647107057372401,-1,,,0.0,21,15.492083174049057,0.96,True,1.0,5.26,28.139997,0.23449998,False,N,True,False,False,False,,False,False,0,0,0,17,2,0,0,1,0,1,0,2 +112535,112535,25,1,2,1,3,1,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,12.59957875389906,-1,,,0.0,22,13.609685259099402,1.36,True,0.0,7.59,37.2188,0.31015667,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +264107,226869,28,1,1,2,3,2,False,True,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,2.5758755480394475,-1,,,0.0,24,15.354599835527907,1.67,True,0.0,11.389999,27.812798,0.23177332,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +264108,226869,27,2,2,3,3,4,False,True,True,False,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,False,9,2.5758755480394475,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,1,1,0,0,0,0,1,0,1 +264247,226939,20,1,2,3,3,4,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,1.4771252873630913,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +264248,226939,23,2,1,1,3,1,False,True,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,1.4771252873630913,-1,,,0.0,22,15.238504564388512,1.95,True,0.0,12.96,24.641201,0.20534334,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +323689,256660,22,1,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,True,10,1.5416062020885206,-1,,,0.0,1,14.098626830690556,1.57,True,0.0,10.940001,18.8746,0.15728833,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +323690,256660,23,2,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,True,10,1.5416062020885206,-1,,,0.0,5,14.131499655555482,1.14,True,0.0,8.049999,16.1446,0.13453834,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +324051,256841,64,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,True,False,False,False,True,False,False,False,False,0,True,16,12.238363900253598,-1,,,0.0,13,15.679479094050338,0.46,True,0.0,2.99,15.41,0.12841667,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +324052,256841,58,2,2,1,3,1,False,True,True,False,True,False,False,False,False,False,True,False,False,False,True,False,False,False,False,0,True,16,12.238363900253598,-1,,,0.0,2,15.684332380835865,0.66,True,0.0,5.0699997,20.4971,0.17080918,True,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +324909,257270,61,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,True,16,7.027281226540117,-1,,,0.0,4,15.634482613666536,0.68,True,0.0,4.63,17.6251,0.14687583,False,M,True,False,False,False,work1,False,False,1,1,0,8,1,0,0,0,1,0,0,1 +324910,257270,53,2,2,2,3,2,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,16,7.027281226540117,-1,,,0.0,9,15.64109608776561,1.77,True,0.0,10.860001,29.847797,0.24873164,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +325431,257531,22,1,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,True,16,8.417809979092251,-1,,,0.0,12,13.802811148472596,0.67,True,0.0,4.65,17.645102,0.14704251,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +325432,257531,22,2,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,True,16,8.417809979092251,-1,,,0.0,2,13.787334502957885,0.66,True,0.0,5.0699997,20.4971,0.17080918,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +325623,257627,21,1,2,2,2,3,False,True,True,False,True,False,False,False,False,False,True,False,False,True,False,True,False,False,True,3,True,16,12.386460544611257,13,10.893995406975527,0.46,2.99,17,14.410615670913105,0.55,True,1.0,3.84,19.759998,0.16466665,False,M,True,False,False,False,work_and_school,True,True,2,1,0,0,0,0,0,0,0,0,0,0 +325624,257627,18,2,2,1,3,1,True,True,True,False,True,False,False,False,False,False,False,True,True,False,True,False,False,False,False,0,True,16,12.386460544611257,-1,,,0.0,15,14.419721925681017,0.47,True,0.0,3.3899999,16.379402,0.13649502,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +386007,287819,42,1,2,3,2,3,False,True,True,False,True,False,False,False,False,True,False,False,False,False,False,True,False,False,True,3,False,9,1.2964611351540603,9,11.786408125520058,0.17,1.08,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,20,2,0,1,1,0,0,0,2 +386008,287819,11,2,2,4,1,7,False,False,False,False,True,False,False,False,False,False,False,False,True,False,False,True,True,False,False,1,False,9,0.8647395771477583,9,20.44705258728577,0.17,1.08,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,4,1,0,1,0,0,0,0,1 +386061,287846,50,1,1,3,3,4,False,True,True,True,False,False,False,False,True,False,False,False,False,False,False,False,False,False,False,0,False,9,5.733982654827306,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,8,1,0,0,0,1,0,0,1 +386062,287846,16,2,1,3,1,6,True,True,False,True,False,True,False,False,False,False,False,False,False,False,False,True,False,True,False,2,False,9,3.8245664307698135,13,17.46403904904737,1.34,9.48,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +418441,304036,35,1,2,1,3,1,False,True,True,False,True,False,False,True,False,False,False,False,False,False,False,False,False,False,False,0,True,10,5.375799781329804,-1,,,0.0,14,13.603672885317994,1.41,True,0.0,10.719999,20.331402,0.16942835,False,M,True,False,False,False,work1,False,False,1,1,0,40,2,1,0,0,1,0,0,1 +418442,304036,0,2,1,4,1,8,False,False,False,True,False,False,False,False,False,False,True,False,False,False,False,True,True,False,False,1,False,10,3.5856584541469796,10,10.539866380559603,0.21,1.3,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +595684,370497,52,1,1,2,3,2,False,True,True,True,False,False,False,False,True,True,False,False,False,False,False,False,False,False,False,0,True,21,4.005080218193281,-1,,,0.0,4,15.371088271013553,0.88,True,0.0,5.3900003,18.3591,0.1529925,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +595685,370497,18,2,1,3,1,6,True,True,True,True,False,False,False,False,False,True,False,True,False,False,False,True,False,True,False,2,False,21,4.005080218193281,13,16.12477815830904,0.76,5.08,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +595686,370497,14,3,2,4,1,7,False,False,False,False,True,False,False,False,True,False,False,True,False,False,False,True,True,False,False,1,False,21,2.6713885055349182,8,20.920595339763924,0.71,5.07,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +644290,386699,47,1,1,2,3,2,False,True,True,True,False,False,False,False,False,True,True,False,False,False,False,False,False,False,False,0,True,7,4.590650730864872,-1,,,0.0,12,15.426483631583249,0.77,True,0.0,4.81,14.3318,0.11943167,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +644291,386699,43,2,2,1,3,1,False,True,True,False,True,False,False,False,False,True,False,True,False,False,False,False,False,False,False,0,True,7,4.590650730864872,-1,,,0.0,2,15.430078506697235,0.96,True,0.0,5.88,18.5929,0.15494083,False,M,True,False,False,False,work1,False,False,1,1,0,8,1,0,0,0,1,0,0,1 +644292,386699,7,3,1,4,1,7,False,False,False,True,False,False,False,False,False,False,True,True,False,False,False,True,True,False,False,1,False,7,3.0619640374868697,9,20.36118907767507,0.86,4.91,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +644476,386761,47,1,1,2,3,2,False,True,True,True,False,False,False,False,False,True,True,False,False,False,False,False,False,False,False,0,True,16,5.098171219655474,-1,,,0.0,4,15.590597722513333,0.68,True,0.0,4.63,17.6251,0.14687583,False,M,True,False,False,False,work1,False,False,1,1,0,41,3,1,0,0,1,1,0,2 +644477,386761,43,2,2,1,3,1,False,True,True,False,True,False,False,False,False,True,False,True,False,False,False,False,False,False,False,0,True,16,5.098171219655474,-1,,,0.0,15,15.601574170160411,0.47,True,0.0,3.3899999,16.379402,0.13649502,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +644478,386761,7,3,1,4,1,7,False,False,False,True,False,False,False,False,False,False,True,True,False,False,False,True,True,False,False,1,False,16,3.4004802035102015,20,19.95067445224191,1.49,8.48,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +1263746,566633,72,1,1,3,3,5,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,8,5.520555697695516,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,4,1,0,1,0,0,0,0,1 +1264249,567136,77,1,1,3,3,5,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,9,3.5507634026007984,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +1265325,568212,69,1,1,3,3,5,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,11,2.3178535070641546,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +1265379,568266,70,1,1,3,3,5,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,11,2.8006745684819063,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +1265898,568785,80,1,1,3,3,5,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,17,7.32202829064968,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,1,1,0,0,0,0,1,0,1 +1266941,569828,84,1,1,3,3,5,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,21,3.717766257938527,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +1267567,570454,85,1,1,3,3,5,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,21,10.364201291815256,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +1356077,658964,71,1,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,1.0,-1,,,0.0,2,14.989873619026051,1.63,True,0.0,10.13,31.752003,0.2646,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +1356259,659146,79,1,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,4.379784931888701,-1,,,0.0,12,13.564067175369818,0.57,True,0.0,4.13,15.3782,0.12815167,False,M,True,False,False,False,work1,False,False,1,1,0,16,1,0,0,1,0,0,0,1 +1356489,659376,67,1,1,2,3,2,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,16.180694831987918,-1,,,0.0,7,15.546883534183971,0.91,True,0.0,5.74,18.9714,0.15809499,False,N,True,False,False,False,,False,False,0,0,0,8,1,0,0,0,1,0,0,1 +1423759,701664,77,1,1,3,3,5,False,True,True,True,False,False,True,False,False,False,False,False,False,False,False,False,False,False,False,0,False,2,4.689327972217943,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +1423760,701664,76,2,2,3,3,5,False,True,True,False,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,0,False,2,4.689327972217943,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +1424997,702283,69,1,2,3,3,5,False,True,True,False,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,0,False,9,5.3572088309053605,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +1424998,702283,71,2,2,3,3,5,False,True,True,False,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,0,False,9,5.3572088309053605,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +1427193,703381,65,1,1,3,3,5,False,True,True,True,False,False,True,False,False,False,False,False,False,False,False,False,False,False,False,0,False,25,1.8372202530691708,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +1427194,703381,69,2,2,3,3,5,False,True,True,False,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,0,False,25,1.8372202530691708,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,10,2,0,0,0,1,0,1,2 +1476139,727854,70,1,1,2,3,2,False,True,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,10.374243300243087,-1,,,0.0,22,15.522392823013968,1.4,True,0.0,8.52,23.992802,0.19994001,True,M,True,False,False,False,work1,False,False,1,1,0,8,1,0,0,0,1,0,0,1 +1476140,727854,61,2,2,3,3,4,False,True,True,False,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,False,7,10.374243300243087,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +1572659,763879,60,1,1,3,3,4,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,6,10.449019648473794,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +1572930,764150,52,1,1,3,3,4,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,9,7.593970066915795,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,24,2,0,0,1,1,0,0,2 +1631617,822837,57,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,18.245377356110286,-1,,,0.0,4,13.695882972174385,1.23,True,0.0,8.16,15.9552,0.13296,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +1632206,823426,31,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,12.952762239760721,-1,,,0.0,2,15.565710510565173,1.02,True,0.0,6.81,21.0208,0.17517333,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +1632248,823468,40,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,14.830184023511192,-1,,,0.0,9,15.596241276553688,0.65,True,0.0,4.41,16.584599,0.13820499,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +1632281,823501,36,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,4.360890352038947,-1,,,0.0,13,15.700363517892352,0.24,True,0.0,1.89,7.7099996,0.06425,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +1632987,824207,29,1,1,2,3,2,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,17.13534609189038,-1,,,0.0,4,13.53236354932943,1.26,True,0.0,7.3900003,22.4473,0.18706083,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +1633149,824369,34,1,2,1,3,1,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,6.089440987134629,-1,,,0.0,2,15.431231176167922,1.07,True,0.0,6.92,23.232903,0.19360752,False,N,True,False,False,False,,False,False,0,0,0,4,1,0,1,0,0,0,0,1 +1633214,824434,59,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,7.5773688851185845,-1,,,0.0,2,13.793013265744015,0.57,True,0.0,3.62,16.202602,0.13502169,False,N,True,False,False,False,,False,False,0,0,0,24,3,0,0,2,1,0,0,3 +1774265,932147,24,1,2,3,2,3,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,True,False,False,True,3,False,7,3.730317599967898,13,7.840838510741835,0.9,5.8100004,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +1774266,932147,25,2,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,True,False,True,False,False,False,False,0,True,7,3.730317599967898,-1,,,0.0,14,13.574186576859013,1.1,True,0.0,7.0299997,14.497102,0.12080918,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +1875721,982875,25,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,True,True,False,False,False,False,False,False,0,True,16,6.021274002645185,-1,,,0.0,10,15.590713009893207,1.61,True,0.0,9.91,30.3414,0.252845,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +1875722,982875,25,2,2,2,2,3,False,True,True,False,True,False,False,False,False,False,True,False,False,True,False,True,False,False,True,3,True,16,6.021274002645185,13,12.760001421247718,0.46,2.99,4,15.603313124205917,0.68,True,0.0,4.63,17.6251,0.14687583,False,N,True,False,False,False,,False,False,0,0,0,4,1,0,1,0,0,0,0,1 +1876067,983048,22,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,True,True,False,False,False,False,False,False,0,True,17,5.517664922628381,-1,,,0.0,2,14.120474815514942,1.13,True,0.0,7.59,30.532402,0.25443667,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +1876068,983048,22,2,1,2,2,3,False,True,True,True,False,False,False,False,False,False,True,False,False,True,False,True,False,False,True,3,True,17,5.517664922628381,13,9.479484617205339,0.82,6.2700005,22,14.107269613829953,1.36,True,0.0,7.59,37.2188,0.31015667,False,M,True,False,False,False,work_and_school,True,True,2,1,0,0,0,0,0,0,0,0,0,0 +1958677,1024353,40,1,2,3,3,4,False,True,True,False,True,False,False,True,False,False,False,False,False,False,False,False,False,False,False,0,False,9,4.196193892147943,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,2,1,0,0,0,0,0,1,1 +1958678,1024353,4,2,1,4,1,8,False,False,False,True,False,True,False,False,False,False,False,False,False,False,False,True,True,False,False,1,False,9,2.7988613260626782,25,10.77075409364869,1.59,10.530001,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +2159057,1099626,35,1,1,1,3,1,False,True,True,True,False,False,False,True,False,False,False,False,True,False,False,False,False,False,False,0,True,20,10.708809147889093,-1,,,0.0,2,13.499558028231368,1.63,True,0.0,10.13,31.752003,0.2646,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +2159058,1099626,36,2,2,3,2,3,False,True,True,False,True,False,False,True,False,False,True,False,False,False,False,True,False,False,True,3,False,20,10.708809147889093,9,7.716620155624279,0.78,4.6,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +2159059,1099626,3,3,1,4,1,8,False,False,False,True,False,False,False,False,False,False,True,False,True,False,False,True,True,False,False,1,False,20,7.142775701642026,20,10.16596170222939,0.23,1.4,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +2219996,1119939,34,1,1,1,3,1,False,True,True,True,False,False,False,False,False,True,True,False,False,False,False,False,False,False,False,0,True,16,13.77235451112827,-1,,,0.0,1,14.391638540824065,0.51,True,0.0,3.73,17.6825,0.14735417,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +2219997,1119939,31,2,2,1,3,1,False,True,True,False,True,False,False,False,False,True,True,False,False,False,True,False,False,False,False,0,True,16,13.77235451112827,-1,,,0.0,2,14.42094930901804,0.66,True,0.0,5.0699997,20.4971,0.17080918,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +2219998,1119939,11,3,1,4,1,7,False,False,False,True,False,False,False,False,False,False,True,False,False,False,False,True,True,False,False,1,False,16,9.186160458922556,8,12.12502098468499,1.39,9.309999,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,8,1,0,0,0,1,0,0,1 +2458500,1173905,40,1,1,3,3,4,False,True,True,True,False,True,False,False,False,True,False,False,False,False,False,False,False,False,False,0,False,8,2.9767301704144296,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,8,1,0,0,0,1,0,0,1 +2458501,1173905,42,2,2,3,3,4,False,True,True,False,True,True,False,False,False,True,False,False,False,False,False,False,False,False,False,0,False,8,2.9767301704144296,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,32,1,1,0,0,0,0,0,0 +2458502,1173905,12,3,2,4,1,7,False,False,False,False,True,True,False,False,False,True,False,False,False,False,False,True,True,False,False,1,False,8,1.9854790236664246,8,20.93607187982974,0.12,0.78,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,1,0,0,0,0,1,0,0,0,0 +2458503,1173905,9,4,1,4,1,7,False,False,False,True,False,True,False,False,False,True,False,False,False,False,False,True,True,False,False,1,False,8,1.9854790236664246,8,20.57860073687866,0.12,0.78,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,1,0,0,0,0,0,0,0,0,0 +2566698,1196298,36,1,1,1,3,1,False,True,True,True,False,True,False,True,False,True,False,False,False,False,False,False,False,False,False,0,True,25,12.074894163110672,-1,,,0.0,1,15.551818554287768,0.73,True,0.0,5.21,17.4917,0.14576416,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +2566699,1196298,29,2,2,3,3,4,False,True,True,False,True,False,False,True,False,True,True,False,False,False,False,False,False,False,False,0,False,25,12.074894163110672,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +2566700,1196298,8,3,1,4,1,7,False,False,False,True,False,True,False,True,False,False,True,False,False,False,False,True,True,False,False,1,False,25,8.05395440679482,25,20.139937486434746,0.13,0.86,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +2566701,1196298,4,4,2,4,1,8,False,False,False,False,True,True,False,True,False,True,True,False,False,False,False,True,True,False,False,1,False,25,8.05395440679482,3,20.285545324456304,0.41,3.5700002,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +2566702,1196298,2,5,1,4,1,8,False,False,False,True,False,True,False,True,False,True,True,False,False,False,False,True,True,False,False,1,False,25,8.05395440679482,6,20.162884633511972,0.78,5.63,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +2877282,1259353,45,1,1,1,3,1,False,True,True,True,False,False,False,False,True,True,False,True,True,False,False,False,False,False,False,0,True,10,8.272377137502875,-1,,,0.0,24,14.110181360452644,1.76,True,0.0,12.18,29.220798,0.24350666,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +2877283,1259353,43,2,2,2,3,2,False,True,True,False,True,False,False,False,True,True,True,True,True,False,False,False,False,False,False,0,True,10,8.272377137502875,-1,,,0.0,11,14.133536770508975,0.49,True,0.0,4.61,14.99,0.124916665,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +2877284,1259353,20,3,1,2,2,3,False,True,True,True,False,False,False,False,True,True,True,True,False,True,False,True,False,False,True,3,True,10,8.272377137502875,10,10.231077857983832,0.21,1.3,13,14.13029655951978,1.2,True,0.0,9.72,20.223,0.168525,False,M,True,False,False,False,work_and_school,True,True,2,1,0,0,0,0,0,0,0,0,0,0 +2877285,1259353,18,4,1,2,1,6,True,True,True,True,False,False,False,False,True,True,True,True,True,True,False,True,False,True,False,2,True,10,8.272377137502875,13,8.245719860694054,1.2,9.72,9,14.163400026150509,0.49,True,0.0,2.79,13.610002,0.11341668,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +2877286,1259353,16,5,1,3,1,6,True,True,False,True,False,False,False,False,True,True,True,True,True,False,False,True,False,True,False,2,False,10,5.517675550714419,13,8.243127231524927,1.2,9.72,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +2877287,1259353,12,6,2,4,1,7,False,False,False,False,True,False,False,False,True,False,True,True,True,False,False,True,True,False,False,1,False,10,5.517675550714419,10,12.448265661444077,0.21,1.3,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +2936497,1286206,71,1,2,3,3,5,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,7,3.6536488008698043,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +2936550,1286259,67,1,2,3,3,5,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,8,11.48239030277669,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,17,2,0,0,1,0,1,0,2 +2936845,1286554,68,1,1,3,3,5,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,11,13.054555798482975,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,2,0,0,2,0,0,0,2 +2936848,1286557,67,1,1,3,3,5,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,11,3.6040501851984663,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,5,2,0,1,0,0,1,0,2 +2957186,1306895,70,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,1.0,-1,,,0.0,2,13.485195339742026,0.96,True,0.0,5.88,18.5929,0.15494083,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +3061894,1363467,68,1,1,3,3,5,False,True,True,True,False,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,False,24,10.4823297442415,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +3061895,1363467,63,2,2,2,3,2,False,True,True,False,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,10.4823297442415,-1,,,0.0,25,13.759441855802427,0.5,True,0.0,3.52,15.5543995,0.12962,False,M,True,False,False,False,work1,False,False,1,1,0,9,2,0,0,0,1,1,0,2 +3188482,1402945,66,1,1,2,3,2,False,True,True,True,False,False,False,False,False,False,False,True,True,False,False,False,False,False,False,0,True,25,10.32100270756728,-1,,,0.0,24,15.538000311308064,0.48,True,0.0,3.52,15.5543995,0.12962,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +3188483,1402945,48,2,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,True,True,False,False,False,False,False,False,0,True,25,10.32100270756728,-1,,,0.0,2,15.531149525318941,0.45,True,0.0,3.4699998,17.33,0.14441666,False,M,True,False,False,False,work1,False,False,1,1,1,0,0,0,0,0,0,1,0,0 +3188484,1402945,22,3,2,2,2,3,False,True,True,False,True,False,False,False,False,False,False,True,True,True,False,True,False,False,True,3,True,25,10.32100270756728,13,11.401936182943931,0.91,7.08,2,15.547680085581693,0.45,True,0.0,3.4699998,17.33,0.14441666,False,M,True,False,False,False,work_and_school,True,True,2,1,1,0,0,0,0,0,0,0,0,0 +3188485,1402945,19,4,2,2,2,3,True,True,True,False,True,False,False,False,False,False,False,True,True,True,False,True,False,False,True,3,True,25,10.32100270756728,9,11.406264826287744,1.56,10.530001,2,15.533387802712083,0.45,True,0.0,3.4699998,17.33,0.14441666,False,M,True,False,False,False,work1,False,False,1,1,1,0,0,0,0,0,0,0,0,0 +3232955,1444715,42,1,1,2,3,2,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,4.0074881716523025,-1,,,0.0,8,13.89688636450196,1.18,True,0.0,8.18,15.9911,0.13325916,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +3233462,1445222,43,1,2,1,3,1,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,7.595766438703255,-1,,,0.0,22,13.744452615299863,1.36,True,0.0,7.59,37.2188,0.31015667,False,M,True,False,False,False,work1,False,False,1,1,0,17,3,0,0,2,0,1,0,3 +3328454,1511177,61,1,1,1,3,1,False,True,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,20.71852151097765,-1,,,0.0,23,13.914080192241375,1.81,True,1.0,12.31,37.104996,0.3092083,True,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +3328455,1511177,64,2,2,3,3,4,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,20.71852151097765,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +3328568,1511234,53,1,2,1,3,1,False,True,True,False,True,False,False,False,False,False,False,False,True,False,False,False,False,False,False,0,True,8,4.2960940332239455,-1,,,0.0,1,13.81269859955603,1.05,True,0.0,7.6400003,17.013203,0.1417767,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +3328569,1511234,61,2,1,3,2,3,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,True,False,False,True,3,False,8,4.2960940332239455,13,8.537371920112303,0.91,6.96,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,20,2,0,1,1,0,0,0,2 +3494722,1594311,31,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,True,6,5.40519240111767,-1,,,0.0,2,15.551083937383776,0.81,True,0.0,5.01,22.842,0.19035,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +3494723,1594311,25,2,2,2,3,2,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,6,5.40519240111767,-1,,,0.0,4,15.549150482842517,0.7,True,0.0,4.06,19.676302,0.16396919,False,N,True,False,False,False,,False,False,0,0,0,9,2,0,0,0,1,1,0,2 +3495080,1594490,39,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,9,19.348818756084466,-1,,,0.0,8,15.725096140172473,0.53,True,0.0,3.33,14.864599,0.12387166,False,M,True,False,False,False,work2,False,False,2,2,0,0,0,0,0,0,0,0,0,0 +3495081,1594490,41,2,2,1,3,1,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,9,19.348818756084466,-1,,,0.0,2,15.699268806570679,1.43,True,0.0,9.68,21.235199,0.17695999,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +3495342,1594621,31,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,True,10,17.6624037989451,-1,,,0.0,11,15.65673756421631,0.49,True,0.0,4.61,14.99,0.124916665,False,M,True,False,False,False,work1,False,False,1,1,0,1,1,0,0,0,0,1,0,1 +3495343,1594621,25,2,2,2,3,2,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,10,17.6624037989451,-1,,,0.0,9,15.663788754130458,0.49,True,0.0,2.79,13.610002,0.11341668,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +3596364,1645132,56,1,2,3,2,3,False,True,True,False,True,False,False,False,False,True,False,False,False,False,False,True,False,False,True,3,False,9,11.518178930487295,9,9.065704601782443,0.17,1.08,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,20,2,0,1,1,0,0,0,2 +3596365,1645132,13,2,2,4,1,7,False,False,False,False,True,False,False,False,False,False,False,False,True,False,False,True,True,False,False,1,False,9,7.682625346635026,10,10.997808724651822,0.33,2.79,-1,,,False,,0.0,0.0,0.0,False,N,True,True,False,False,,False,False,0,0,0,2,1,0,0,0,0,0,1,1 +3891102,1747467,36,1,2,1,3,1,False,True,True,False,True,False,False,False,False,True,False,True,False,False,False,False,False,False,False,0,True,16,15.5812014089547,-1,,,0.0,11,15.790768885585281,1.13,True,0.0,6.85,23.182701,0.19318917,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +3891103,1747467,67,2,1,2,3,2,False,True,True,True,False,False,False,False,False,True,True,False,False,False,False,False,False,False,False,0,True,16,15.5812014089547,-1,,,0.0,12,15.810492366417014,0.67,True,0.0,4.65,17.645102,0.14704251,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +3891104,1747467,8,3,1,4,1,7,False,False,False,True,False,False,False,False,False,False,True,True,False,False,False,True,True,False,False,1,False,16,10.392661339772785,17,20.51958126009443,0.55,3.84,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,1,2,0,0,0,0,2,0,2 +4171615,1810015,29,1,1,3,2,3,False,True,True,True,False,True,False,True,True,False,True,True,False,False,False,True,False,False,True,3,False,16,3.705326363656352,12,10.535691561088802,0.67,4.65,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +4171616,1810015,20,2,1,3,3,4,False,True,True,True,False,True,False,True,True,False,True,True,True,False,False,False,False,False,False,0,False,16,3.705326363656352,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,8,1,0,0,0,1,0,0,1 +4171617,1810015,27,3,1,1,3,1,False,True,True,True,False,True,False,True,True,False,True,True,True,False,False,False,False,False,False,0,True,16,3.705326363656352,-1,,,0.0,15,14.465318636285936,0.47,True,0.0,3.3899999,16.379402,0.13649502,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +4171618,1810015,24,4,1,2,3,2,False,True,True,True,False,True,False,True,True,False,True,True,True,False,False,False,False,False,False,0,True,16,3.705326363656352,-1,,,0.0,13,14.461210466251647,0.46,True,0.0,2.99,15.41,0.12841667,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +4171619,1810015,58,5,2,3,3,4,False,True,True,False,True,True,False,True,True,False,True,True,True,False,False,False,False,False,False,0,False,16,3.705326363656352,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +4171620,1810015,3,6,2,4,1,8,False,False,False,False,True,True,False,False,True,False,True,True,True,False,False,True,True,False,False,1,False,16,2.4714526845587867,8,11.178622471450844,1.39,9.309999,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 +4171621,1810015,19,7,2,2,1,6,True,True,True,False,True,True,False,True,False,False,True,True,True,True,False,True,False,True,False,2,True,16,3.705326363656352,13,7.554959896288849,0.46,2.99,22,14.475775585095361,1.01,True,0.0,5.84,25.505198,0.21254331,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +4171622,1810015,31,8,2,3,3,4,False,True,True,False,True,True,False,True,True,False,True,True,True,False,False,False,False,False,False,0,False,16,3.705326363656352,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +4171623,1810015,36,9,2,1,3,1,False,True,True,False,True,True,False,True,True,False,True,True,True,False,False,False,False,False,False,0,True,16,3.705326363656352,-1,,,0.0,21,14.455337491545183,0.96,True,1.0,5.26,28.139997,0.23449998,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +4823797,1952792,74,1,1,2,3,2,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,2.5980714149446418,-1,,,0.0,12,15.708211617788441,0.45,True,0.0,3.15,9.945101,0.08287584,False,M,True,False,False,False,work1,False,False,1,1,0,9,2,0,0,0,1,1,0,2 +5057160,2048204,40,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,6.218529751813423,-1,,,0.0,23,14.004424311191945,1.46,True,1.0,9.16,31.552597,0.26293832,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +5057338,2048382,33,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,8.219354788406312,-1,,,0.0,2,13.895050253457644,0.96,True,0.0,5.88,18.5929,0.15494083,False,M,True,False,False,False,work1,False,False,1,1,0,30,4,0,1,1,1,0,1,4 +5057765,2048809,35,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,9.983387830403386,-1,,,0.0,9,13.945636797575643,0.65,True,0.0,4.41,16.584599,0.13820499,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +5058585,2049629,31,1,2,1,3,1,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,5.366633787619218,-1,,,0.0,2,13.8431911807684,1.07,True,0.0,6.92,23.232903,0.19360752,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +5386806,2222549,22,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,True,True,False,True,False,False,False,False,0,True,7,1.170545707447083,-1,,,0.0,6,15.44169042670343,0.29,True,0.0,1.99,10.61,0.088416666,True,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +5386807,2222549,20,2,1,2,2,3,False,True,True,True,False,False,False,False,False,False,True,False,False,True,False,True,False,False,True,3,True,7,1.170545707447083,13,10.76877178534435,0.9,5.8100004,2,15.412179502336969,0.96,True,0.0,5.88,18.5929,0.15494083,False,N,True,False,False,False,,False,False,0,0,0,9,2,0,0,0,1,1,0,2 +5387236,2222764,38,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,9,5.252877011468592,-1,,,0.0,1,13.90584503758799,1.49,True,0.0,10.16,19.041199,0.15867665,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +5387237,2222764,27,2,2,1,3,1,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,9,5.252877011468592,-1,,,0.0,13,13.925962736849574,1.34,True,0.0,9.48,19.0352,0.15862666,False,N,True,False,False,False,,False,False,0,0,0,4,1,0,1,0,0,0,0,1 +5387752,2223022,30,1,2,1,3,1,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,9,31.326955490366668,-1,,,0.0,19,14.009771610198241,1.06,True,1.0,6.51,28.0832,0.23402667,False,N,True,False,False,False,,False,False,0,0,0,3,3,0,0,0,0,2,1,3 +5387753,2223022,37,2,1,1,3,1,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,9,31.326955490366668,-1,,,0.0,16,14.021017401486423,1.74,True,0.0,10.860001,29.847797,0.24873164,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +5387762,2223027,49,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,9,6.387619611064064,-1,,,0.0,4,13.912084249194642,1.23,True,0.0,8.16,15.9552,0.13296,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +5387763,2223027,39,2,2,1,3,1,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,9,6.387619611064064,-1,,,0.0,14,13.91744334490833,1.55,True,0.0,10.71,20.1446,0.16787167,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +5389226,2223759,28,1,2,1,3,1,False,True,True,False,True,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,16,7.408554295817758,-1,,,0.0,1,14.01123384048398,0.51,True,0.0,3.73,17.6825,0.14735417,False,M,True,False,False,False,work1,False,False,1,1,1,0,0,0,1,0,0,0,0,0 +5389227,2223759,29,2,1,1,3,1,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,16,7.408554295817758,-1,,,0.0,23,14.01521677947659,1.21,True,1.0,8.01,38.2134,0.31844503,False,M,True,False,False,False,work1,False,False,1,1,1,0,0,0,0,0,0,0,0,0 +5390966,2224629,27,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,17,5.2919628192742465,-1,,,0.0,16,13.857398955386689,0.63,True,0.0,3.84,19.759998,0.16466665,False,M,True,False,False,False,work1,False,False,1,1,0,4,1,0,1,0,0,0,0,1 +5390967,2224629,26,2,1,1,3,1,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,True,17,5.2919628192742465,-1,,,0.0,17,13.859679534698827,0.29,True,1.0,1.64,9.959999,0.08299999,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +7305540,2727273,72,1,1,2,3,2,False,True,True,True,False,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,True,20,21.606392235487583,-1,,,0.0,20,13.84592225049636,0.23,True,1.0,1.4,7.7999997,0.065,False,M,True,False,False,False,work1,False,False,1,1,0,1,1,0,0,0,0,1,0,1 +7305541,2727273,62,2,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,0,True,20,21.606392235487583,-1,,,0.0,9,13.82908782269542,0.78,True,0.0,4.6,23.4,0.195,False,M,True,False,False,False,work2,False,False,2,2,0,0,0,0,0,0,0,0,0,0 +7453413,2762078,57,1,1,3,3,4,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,20,6.660210105218662,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,16,1,0,0,1,0,0,0,1 +7511168,2819833,52,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,6.034414161215483,-1,,,0.0,12,15.458585949550693,0.89,True,0.0,5.3199997,20.7137,0.17261416,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +7511873,2820538,18,1,1,2,3,2,True,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,2.467783203776223,-1,,,0.0,11,15.473764868535847,0.54,True,0.0,3.6,14.124699,0.11770582,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +7512109,2820774,35,1,1,1,3,1,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,1.8304507502262177,-1,,,0.0,2,15.359656301391546,0.99,True,0.0,7.16,19.194601,0.15995501,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +7512514,2821179,60,1,1,2,3,2,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,1.0,-1,,,0.0,22,15.316797175665155,1.43,True,0.0,9.67,22.914701,0.19095585,False,N,True,False,False,False,,False,False,0,0,0,22,3,0,1,1,0,0,1,3 +7512596,2821261,20,1,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,5.3417581877081455,-1,,,0.0,9,15.50061395125364,0.53,True,0.0,3.33,14.864599,0.12387166,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +7513075,2821740,22,1,2,2,2,3,False,True,True,False,True,False,False,False,False,False,False,False,False,True,False,True,False,False,True,3,True,8,5.589159817948638,9,12.600470483410831,0.53,3.33,22,15.52162755883858,1.43,True,0.0,9.67,22.914701,0.19095585,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +7513432,2822097,39,1,2,2,3,2,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,10.786630771770398,-1,,,0.0,7,15.586470857848573,0.25,True,0.0,2.38,12.82,0.10683333,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +7513546,2822211,21,1,1,2,3,2,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,8.12753227540645,-1,,,0.0,2,15.576299863271766,0.99,True,0.0,7.16,19.194601,0.15995501,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +7513554,2822219,18,1,2,1,3,1,True,True,True,False,True,False,False,False,False,False,False,False,False,False,True,False,False,False,False,0,True,8,2.9220038814547133,-1,,,0.0,9,15.428749460641615,0.53,True,0.0,3.33,14.864599,0.12387166,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +7513565,2822230,19,1,2,2,2,3,True,True,True,False,True,False,False,False,False,False,False,False,False,True,False,True,False,False,True,3,True,8,7.558195608572484,12,12.656259331864534,0.72,6.04,25,15.543074447856814,1.14,True,0.0,8.04,24.2457,0.20204751,False,M,True,False,False,False,work1,False,False,1,1,0,0,0,0,0,0,0,0,0,0 +7523517,2832182,87,1,2,3,3,5,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,7,3.0402011627479264,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,1,1,0,0,0,0,1,0,1 +7523648,2832313,78,1,2,3,3,5,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,10,40.346540425477535,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,N,True,False,False,False,,False,False,0,0,0,1,1,0,0,0,0,1,0,1 +7523764,2832429,93,1,2,3,3,5,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,0,False,16,7.951880936376377,-1,,,0.0,-1,,,False,,0.0,0.0,0.0,False,H,False,False,False,False,,False,False,0,0,0,0,0,0,0,0,0,0,0,0 +7539466,2848131,38,1,2,3,2,3,False,True,True,False,True,False,False,False,False,False,False,False,False,False,False,True,False,False,True,3,False,3,8.676185203794503,12,12.256775926224485,0.74,4.0699997,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,16,1,0,0,1,0,0,0,1 +7539708,2848373,21,1,1,3,2,3,False,True,True,True,False,False,False,False,False,False,False,False,False,False,False,True,False,False,True,3,False,18,12.964026703751749,13,11.051293664004694,1.13,7.08,-1,,,False,,0.0,0.0,0.0,False,M,True,False,False,False,school1,False,False,1,0,0,0,0,0,0,0,0,0,0,0 diff --git a/test/summarize/data/skims.omx b/test/summarize/data/skims.omx new file mode 100644 index 0000000000..18c6dc4408 Binary files /dev/null and b/test/summarize/data/skims.omx differ diff --git a/test/summarize/data/tours.csv b/test/summarize/data/tours.csv new file mode 100644 index 0000000000..1edd97335a --- /dev/null +++ b/test/summarize/data/tours.csv @@ -0,0 +1,203 @@ +tour_id,person_id,tour_type,tour_type_count,tour_type_num,tour_num,tour_count,tour_category,number_of_participants,destination,origin,household_id,tdd,start,end,duration,composition,destination_logsum,tour_mode,mode_choice_logsum,atwork_subtour_frequency,parent_tour_id,stop_frequency,primary_purpose +10828426,264107,work,1,1,1,1,mandatory,1,24.0,9.0,226869,49.0,7.0,19.0,12.0,,,WALK_LRF,5.706465236833864,no_subtours,,0out_0in,work +10834207,264248,work,1,1,1,1,mandatory,1,22.0,10.0,226939,49.0,7.0,19.0,12.0,,,WALK_LRF,5.740180532970605,no_subtours,,3out_0in,work +13271288,323689,work,1,1,1,1,mandatory,1,1.0,10.0,256660,106.0,11.0,18.0,7.0,,,WALK_LRF,5.762750226520877,no_subtours,,0out_0in,work +13286130,324051,work,1,1,1,1,mandatory,1,13.0,16.0,256841,31.0,6.0,18.0,12.0,,,WALK,1.8942040118891381,no_subtours,,0out_0in,work +13286171,324052,work,1,1,1,1,mandatory,1,2.0,16.0,256841,47.0,7.0,17.0,10.0,,,WALK_LOC,2.0556487799408982,eat,,0out_0in,work +13321308,324909,work,1,1,1,1,mandatory,1,4.0,16.0,257270,28.0,6.0,15.0,9.0,,,WALK_LOC,1.8187067841026583,no_subtours,,0out_0in,work +13342710,325431,work,1,1,1,1,mandatory,1,12.0,16.0,257531,47.0,7.0,17.0,10.0,,,TNC_SINGLE,5.877301554634767,no_subtours,,1out_3in,work +13350582,325623,work,1,1,1,2,mandatory,1,17.0,16.0,257627,56.0,8.0,10.0,2.0,,,WALK,2.382227056832958,no_subtours,,0out_2in,work +13350574,325623,school,1,1,2,2,mandatory,1,13.0,16.0,257627,156.0,16.0,18.0,2.0,,,TNC_SHARED,3.882855728346563,,,0out_1in,univ +13350623,325624,work,1,1,1,1,mandatory,1,15.0,16.0,257627,30.0,6.0,17.0,11.0,,,WALK,1.8258851471681543,no_subtours,,0out_0in,work +15826359,386008,school,1,1,1,1,mandatory,1,9.0,9.0,287819,59.0,8.0,13.0,5.0,,,WALK,0.05685280314597314,,,0out_0in,school +15828573,386062,school,1,1,1,1,mandatory,1,13.0,9.0,287846,45.0,7.0,15.0,8.0,,,WALK_HVY,1.5390734303989222,,,0out_0in,school +17156120,418441,work,1,1,1,1,mandatory,1,14.0,10.0,304036,47.0,7.0,17.0,10.0,,,WALK_LRF,0.08646513852494697,no_subtours,,0out_0in,work +17156153,418442,school,1,1,1,1,mandatory,1,10.0,10.0,304036,54.0,8.0,8.0,0.0,,,SHARED3FREE,-0.15797704775524238,,,0out_0in,school +24423157,595686,school,1,1,1,1,mandatory,1,8.0,21.0,370497,46.0,7.0,16.0,9.0,,,WALK_LOC,19.487029458680386,,,0out_0in,school +26415929,644290,work,1,1,1,1,mandatory,1,12.0,7.0,386699,122.0,12.0,22.0,10.0,,,WALK_LOC,5.610320631120498,no_subtours,,0out_0in,work +26415970,644291,work,1,1,1,1,mandatory,1,2.0,7.0,386699,47.0,7.0,17.0,10.0,,,WALK,5.650927738864148,no_subtours,,0out_0in,work +26416003,644292,school,1,1,1,1,mandatory,1,9.0,7.0,386699,130.0,13.0,19.0,6.0,,,WALK_LRF,20.42262619148089,,,0out_1in,school +26423555,644476,work,1,1,1,1,mandatory,1,4.0,16.0,386761,47.0,7.0,17.0,10.0,,,SHARED3FREE,1.761501686723627,no_subtours,,0out_0in,work +26423629,644478,school,1,1,1,1,mandatory,1,20.0,16.0,386761,107.0,11.0,19.0,8.0,,,WALK_LRF,2.675051981340837,,,0out_0in,school +55599196,1356077,work,1,1,1,1,mandatory,1,2.0,20.0,658964,94.0,10.0,19.0,9.0,,,WALK_LRF,4.590098064090177,no_subtours,,0out_1in,work +55606658,1356259,work,1,1,1,1,mandatory,1,12.0,21.0,659146,172.0,18.0,21.0,3.0,,,WALK,-0.10965721013101073,no_subtours,,0out_0in,work +60521738,1476139,work,1,1,1,1,mandatory,1,22.0,7.0,727854,47.0,7.0,17.0,10.0,,,WALK_LOC,5.613110213598409,no_subtours,,0out_0in,work +66896336,1631617,work,1,1,1,1,mandatory,1,4.0,9.0,822837,95.0,10.0,20.0,10.0,,,WALK_LRF,0.4518593084275171,eat,,0out_1in,work +66922207,1632248,work,1,1,1,1,mandatory,1,9.0,11.0,823468,48.0,7.0,18.0,11.0,,,DRIVEALONEFREE,0.16863990484074717,no_subtours,,0out_0in,work +66923560,1632281,work,1,1,1,1,mandatory,1,13.0,12.0,823501,49.0,7.0,19.0,12.0,,,TNC_SINGLE,5.737987317212601,eat,,0out_0in,work +66952506,1632987,work,1,1,1,1,mandatory,1,4.0,18.0,824207,151.0,15.0,21.0,6.0,,,WALK_LRF,6.1374959346320095,no_subtours,,0out_0in,work +72744896,1774265,school,1,1,1,1,mandatory,1,13.0,7.0,932147,162.0,17.0,17.0,0.0,,,DRIVEALONEFREE,0.11322144401716326,,,3out_1in,univ +72744945,1774266,work,1,1,1,1,mandatory,1,14.0,7.0,932147,95.0,10.0,20.0,10.0,,,WALK_LOC,-0.738008043373175,no_subtours,,0out_0in,work +76904600,1875721,work,1,1,1,1,mandatory,1,10.0,16.0,982875,64.0,8.0,18.0,10.0,,,WALK_LOC,0.9683784523915128,no_subtours,,0out_0in,work +76918786,1876067,work,1,1,1,1,mandatory,1,2.0,17.0,983048,64.0,8.0,18.0,10.0,,,WALK,1.7742350846410724,no_subtours,,0out_0in,work +76918827,1876068,work,1,1,1,2,mandatory,1,22.0,17.0,983048,44.0,7.0,14.0,7.0,,,WALK,1.6005049933311177,no_subtours,,0out_0in,work +76918819,1876068,school,1,1,2,2,mandatory,1,13.0,17.0,983048,159.0,16.0,21.0,5.0,,,WALK_LRF,3.6880285617072834,,,0out_1in,univ +80305829,1958678,school,1,1,1,1,mandatory,1,25.0,9.0,1024353,44.0,7.0,14.0,7.0,,,WALK_LOC,17.269537633732337,,,0out_0in,school +88521376,2159057,work,1,1,1,1,mandatory,1,2.0,20.0,1099626,48.0,7.0,18.0,11.0,,,WALK_LRF,-0.03845876909164505,no_subtours,,0out_1in,work +88521409,2159058,school,1,1,1,1,mandatory,1,9.0,20.0,1099626,148.0,15.0,18.0,3.0,,,TAXI,0.525351958951068,,,0out_0in,univ +88521450,2159059,school,1,1,1,1,mandatory,1,20.0,20.0,1099626,59.0,8.0,13.0,5.0,,,WALK,-0.2634059707184708,,,0out_0in,school +91019875,2219996,work,1,1,1,1,mandatory,1,1.0,16.0,1119939,48.0,7.0,18.0,11.0,,,WALK,1.7948368834811124,no_subtours,,0out_0in,work +91019916,2219997,work,1,1,1,1,mandatory,1,2.0,16.0,1119939,48.0,7.0,18.0,11.0,,,WALK_LOC,1.9613984099108608,eat,,0out_0in,work +91019949,2219998,school,1,1,1,1,mandatory,1,8.0,16.0,1119939,43.0,7.0,13.0,6.0,,,WALK_LOC,3.066512655109443,,,0out_0in,school +100798613,2458502,school,1,1,1,1,mandatory,1,8.0,8.0,1173905,64.0,8.0,18.0,10.0,,,WALK,0.1992035348928025,,,1out_0in,school +100798654,2458503,school,1,1,1,1,mandatory,1,8.0,8.0,1173905,60.0,8.0,14.0,6.0,,,WALK,0.2156875433576043,,,0out_0in,school +105234657,2566698,work,1,1,1,1,mandatory,1,1.0,25.0,1196298,30.0,6.0,17.0,11.0,,,TNC_SINGLE,5.932545072370928,no_subtours,,0out_0in,work +105234731,2566700,school,1,1,1,1,mandatory,1,25.0,25.0,1196298,45.0,7.0,15.0,8.0,,,WALK,18.287824829249224,,,0out_0in,school +105234772,2566701,school,1,1,1,1,mandatory,1,3.0,25.0,1196298,59.0,8.0,13.0,5.0,,,WALK,19.073489619505818,,,0out_0in,school +105234813,2566702,school,1,1,1,1,mandatory,1,6.0,25.0,1196298,120.0,12.0,20.0,8.0,,,WALK_LOC,18.510662532745897,,,0out_1in,school +117968683,2877284,work,1,1,1,2,mandatory,1,13.0,10.0,1259353,41.0,7.0,11.0,4.0,,,WALK_HVY,1.944489544930702,no_subtours,,0out_2in,work +117968675,2877284,school,1,1,2,2,mandatory,1,10.0,10.0,1259353,147.0,15.0,17.0,2.0,,,WALK,3.966818736761839,,,0out_0in,univ +117968798,2877287,school,1,1,1,1,mandatory,1,10.0,10.0,1259353,90.0,10.0,15.0,5.0,,,WALK,2.349313267240865,,,0out_0in,school +121244665,2957186,work,1,1,1,1,mandatory,1,2.0,7.0,1306895,49.0,7.0,19.0,12.0,,,WALK_LOC,4.982256583056754,no_subtours,,0out_0in,work +125537734,3061895,work,1,1,1,1,mandatory,1,25.0,24.0,1363467,26.0,6.0,13.0,7.0,,,WALK,0.2804129197266325,no_subtours,,0out_0in,work +130727801,3188482,work,1,1,1,1,mandatory,1,24.0,25.0,1402945,63.0,8.0,17.0,9.0,,,WALK,2.249899545931642,no_subtours,,1out_0in,work +130727842,3188483,work,1,1,1,1,mandatory,1,2.0,25.0,1402945,78.0,9.0,17.0,8.0,,,WALK_LOC,2.2185417162398577,no_subtours,,0out_0in,work +130727883,3188484,work,1,1,1,2,mandatory,1,2.0,25.0,1402945,73.0,9.0,12.0,3.0,,,WALK_LOC,2.240731078612465,no_subtours,,0out_0in,work +130727875,3188484,school,1,1,2,2,mandatory,1,13.0,25.0,1402945,155.0,16.0,17.0,1.0,,,WALK,3.181510470161417,,,0out_2in,univ +130727924,3188485,work,1,1,1,1,mandatory,1,2.0,25.0,1402945,96.0,10.0,21.0,11.0,,,BIKE,2.1487334423330005,no_subtours,,1out_1in,work +132571981,3233462,work,1,1,1,1,mandatory,1,22.0,17.0,1445222,53.0,7.0,23.0,16.0,,,TNC_SINGLE,5.922341860291894,no_subtours,,0out_0in,work +136466653,3328454,work,1,1,1,1,mandatory,1,23.0,8.0,1511177,63.0,8.0,17.0,9.0,,,WALK_LRF,5.963131291077341,no_subtours,,0out_0in,work +136471327,3328568,work,1,1,1,1,mandatory,1,1.0,8.0,1511234,30.0,6.0,17.0,11.0,,,WALK_LRF,6.052905188790869,no_subtours,,0out_0in,work +143298319,3495080,work,2,1,1,2,mandatory,1,8.0,9.0,1594490,24.0,6.0,11.0,5.0,,,WALK,2.1915444617294035,no_subtours,,0out_0in,work +143298320,3495080,work,2,2,2,2,mandatory,1,8.0,9.0,1594490,128.0,13.0,17.0,4.0,,,BIKE,2.1816006307953986,no_subtours,,0out_0in,work +143298360,3495081,work,1,1,1,1,mandatory,1,2.0,9.0,1594490,49.0,7.0,19.0,12.0,,,SHARED2FREE,2.0638469542231213,no_subtours,,0out_0in,work +143309061,3495342,work,1,1,1,1,mandatory,1,11.0,10.0,1594621,46.0,7.0,16.0,9.0,,,WALK_LOC,6.106308966698332,no_subtours,,0out_0in,work +143309102,3495343,work,1,1,1,1,mandatory,1,9.0,10.0,1594621,128.0,13.0,17.0,4.0,,,WALK,6.301543519645703,eat,,0out_0in,work +159535221,3891102,work,1,1,1,1,mandatory,1,11.0,16.0,1747467,46.0,7.0,16.0,9.0,,,WALK_LOC,5.87041941077222,no_subtours,,0out_0in,work +159535295,3891104,school,1,1,1,1,mandatory,1,17.0,16.0,1747467,44.0,7.0,14.0,7.0,,,WALK_LRF,20.477184369166057,,,0out_0in,school +171036246,4171615,school,1,1,1,1,mandatory,1,12.0,16.0,1810015,124.0,13.0,13.0,0.0,,,WALK,2.9751655865930506,,,0out_0in,univ +171036336,4171617,work,1,1,1,1,mandatory,1,15.0,16.0,1810015,79.0,9.0,18.0,9.0,,,WALK,1.6497477694001255,no_subtours,,1out_0in,work +171036451,4171620,school,1,1,1,1,mandatory,1,8.0,16.0,1810015,45.0,7.0,15.0,8.0,,,WALK_LOC,1.0091399254943096,,,0out_0in,school +171036582,4171623,work,1,1,1,1,mandatory,1,21.0,16.0,1810015,69.0,8.0,23.0,15.0,,,WALK,1.3627881263595452,eat,,1out_1in,work +197775716,4823797,work,1,1,1,1,mandatory,1,12.0,14.0,1952792,103.0,11.0,15.0,4.0,,,BIKE,-0.4317170835900537,no_subtours,,0out_0in,work +207343599,5057160,work,1,1,1,1,mandatory,1,23.0,5.0,2048204,43.0,7.0,13.0,6.0,,,TNC_SINGLE,5.760634465125435,no_subtours,,0out_0in,work +207350897,5057338,work,1,1,1,1,mandatory,1,2.0,7.0,2048382,30.0,6.0,17.0,11.0,,,TNC_SINGLE,5.899143436225317,no_subtours,,0out_0in,work +207368404,5057765,work,1,1,1,1,mandatory,1,9.0,11.0,2048809,80.0,9.0,19.0,10.0,,,DRIVEALONEFREE,0.047095295777511585,no_subtours,,1out_1in,work +220859085,5386806,work,1,1,1,1,mandatory,1,6.0,7.0,2222549,108.0,11.0,20.0,9.0,,,WALK,5.553779106918483,no_subtours,,0out_0in,work +220876715,5387236,work,1,1,1,1,mandatory,1,1.0,9.0,2222764,46.0,7.0,16.0,9.0,,,WALK_LRF,5.984335742775476,no_subtours,,0out_1in,work +220897912,5387753,work,1,1,1,1,mandatory,1,16.0,9.0,2223022,134.0,13.0,23.0,10.0,,,TNC_SINGLE,6.397299847809134,maint,,0out_0in,work +220898281,5387762,work,1,1,1,1,mandatory,1,4.0,9.0,2223027,47.0,7.0,17.0,10.0,,,WALK_HVY,6.208077244952496,no_subtours,,0out_0in,work +220898322,5387763,work,1,1,1,1,mandatory,1,14.0,9.0,2223027,63.0,8.0,17.0,9.0,,,WALK_HVY,6.045289166977812,no_subtours,,1out_1in,work +220958305,5389226,work,1,1,1,1,mandatory,1,1.0,16.0,2223759,79.0,9.0,18.0,9.0,,,WALK,5.842396021294293,eat,,0out_0in,work +220958346,5389227,work,1,1,1,1,mandatory,1,23.0,16.0,2223759,33.0,6.0,20.0,14.0,,,WALK,5.866576082823254,no_subtours,,0out_0in,work +221029645,5390966,work,1,1,1,1,mandatory,1,16.0,17.0,2224629,65.0,8.0,19.0,11.0,,,WALK_LRF,2.0452223336886894,no_subtours,,0out_2in,work +221029686,5390967,work,1,1,1,1,mandatory,1,17.0,17.0,2224629,29.0,6.0,16.0,10.0,,,WALK,2.120036075640142,no_subtours,,0out_0in,work +299527179,7305540,work,1,1,1,1,mandatory,1,20.0,20.0,2727273,103.0,11.0,15.0,4.0,,,DRIVEALONEFREE,1.9004730948098723,no_subtours,,0out_0in,work +299527220,7305541,work,2,1,1,2,mandatory,1,9.0,20.0,2727273,25.0,6.0,12.0,6.0,,,WALK,1.9263240947869809,no_subtours,,0out_0in,work +299527221,7305541,work,2,2,2,2,mandatory,1,9.0,20.0,2727273,129.0,13.0,18.0,5.0,,,WALK,1.9326312814744537,no_subtours,,0out_0in,work +307957927,7511168,work,1,1,1,1,mandatory,1,12.0,6.0,2819833,48.0,7.0,18.0,11.0,,,WALK_LOC,5.616398820880171,no_subtours,,0out_0in,work +307996508,7512109,work,1,1,1,1,mandatory,1,2.0,8.0,2820774,65.0,8.0,19.0,11.0,,,WALK,-0.14126603138986757,eat,,0out_2in,work +308016475,7512596,work,1,1,1,1,mandatory,1,9.0,8.0,2821261,48.0,7.0,18.0,11.0,,,WALK,5.9371580008482665,no_subtours,,0out_0in,work +308050751,7513432,work,1,1,1,1,mandatory,1,7.0,8.0,2822097,10.0,5.0,15.0,10.0,,,BIKE,0.2843400004991259,no_subtours,,0out_0in,work +308055425,7513546,work,1,1,1,1,mandatory,1,2.0,8.0,2822211,44.0,7.0,14.0,7.0,,,WALK_LOC,5.814079244921866,no_subtours,,0out_0in,work +308055753,7513554,work,1,1,1,1,mandatory,1,9.0,8.0,2822219,11.0,5.0,16.0,11.0,,,WALK,5.610133706923624,no_subtours,,0out_0in,work +308056204,7513565,work,1,1,1,1,mandatory,1,25.0,8.0,2822230,79.0,9.0,18.0,9.0,,,WALK,5.728223421490162,no_subtours,,1out_0in,work +309118137,7539466,school,1,1,1,1,mandatory,1,12.0,3.0,2848131,62.0,8.0,16.0,8.0,,,WALK_LOC,7.687677655396567,,,0out_0in,univ +309128059,7539708,school,1,1,1,1,mandatory,1,13.0,18.0,2848373,161.0,16.0,23.0,7.0,,,WALK_LRF,8.986545140046678,,,0out_0in,univ +220958279,5389226,eatout,1,1,1,1,joint,2,13.0,16.0,2223759,180.0,20.0,20.0,0.0,adults,15.700851700188215,WALK,0.10567890761343558,,,0out_0in,eatout +100798519,2458502,shopping,1,1,1,1,joint,2,5.0,8.0,1173905,54.0,8.0,8.0,0.0,children,13.054650480322216,SHARED2FREE,-0.5111781667673684,,,0out_0in,shopping +130727777,3188483,othdiscr,1,1,1,1,joint,3,24.0,25.0,1402945,70.0,9.0,9.0,0.0,adults,14.684837106261803,WALK,-2.2633078286768997,,,0out_0in,othdiscr +1085626,26478,othmaint,1,1,1,2,non_mandatory,1,10.0,8.0,26478,113.0,12.0,13.0,1.0,,14.905499204857126,BIKE,0.7578542591236336,,,0out_0in,othmaint +1085604,26478,eatout,1,1,2,2,non_mandatory,1,13.0,8.0,26478,99.0,11.0,11.0,0.0,,15.635192624809712,WALK,3.457223619690909,,,0out_0in,eatout +1094154,26686,othmaint,1,1,1,2,non_mandatory,1,9.0,8.0,26686,113.0,12.0,13.0,1.0,,15.128287261384761,BIKE,1.8681013354742215,,,0out_0in,othmaint +1094132,26686,eatout,1,1,2,2,non_mandatory,1,5.0,8.0,26686,175.0,19.0,19.0,0.0,,15.839748033438521,WALK,4.389345460274684,,,0out_0in,eatout +1100640,26844,social,1,1,1,1,non_mandatory,1,7.0,8.0,26844,58.0,8.0,12.0,4.0,,14.80937948982704,WALK,2.3971996226244454,,,0out_1in,social +1136791,27726,othdiscr,1,1,1,1,non_mandatory,1,9.0,10.0,27726,56.0,8.0,10.0,2.0,,15.385947148348619,WALK,2.8054735464903384,,,0out_0in,othdiscr +1214658,29625,shopping,1,1,1,1,non_mandatory,1,17.0,17.0,29625,145.0,15.0,15.0,0.0,,14.097979049989863,WALK,2.197070314899941,,,0out_0in,shopping +4412754,107628,eatout,1,1,1,1,non_mandatory,1,6.0,6.0,107628,112.0,12.0,12.0,0.0,,15.569666542853803,WALK,5.065468703259321,,,0out_0in,eatout +4594657,112064,shopping,1,1,1,2,non_mandatory,1,3.0,16.0,112064,155.0,16.0,17.0,1.0,,12.863310046769188,WALK,-0.45236824043048446,,,0out_0in,shopping +4594649,112064,othdiscr,1,1,2,2,non_mandatory,1,21.0,16.0,112064,114.0,12.0,14.0,2.0,,14.175152333791747,DRIVEALONEFREE,-0.2059367766627193,,,0out_0in,othdiscr +10828453,264108,othdiscr,1,1,1,1,non_mandatory,1,19.0,9.0,226869,86.0,10.0,11.0,1.0,,15.408950294845221,WALK,1.5151852085832618,,,0out_0in,othdiscr +13321297,324909,othmaint,1,1,1,1,non_mandatory,1,7.0,16.0,257270,157.0,16.0,19.0,3.0,,14.442406050794952,TNC_SINGLE,0.053275292723290735,,,0out_2in,othmaint +13342745,325432,shopping,1,1,1,1,non_mandatory,1,14.0,16.0,257531,113.0,12.0,13.0,1.0,,14.164245179577405,TAXI,2.245802766560401,,,0out_0in,shopping +15826320,386007,shopping,1,1,1,2,non_mandatory,1,16.0,9.0,287819,125.0,13.0,14.0,1.0,,12.71703918028951,WALK_LRF,-1.6235665523944958,,,0out_1in,shopping +15826293,386007,eatout,1,1,2,2,non_mandatory,1,8.0,9.0,287819,42.0,7.0,12.0,5.0,,13.366912932413255,WALK,0.6064182520675246,,,0out_0in,eatout +15826334,386008,eatout,1,1,1,1,non_mandatory,1,16.0,9.0,287819,166.0,17.0,21.0,4.0,,13.57983015040522,WALK_LRF,-0.6856420408272224,,,0out_0in,eatout +15828529,386061,othmaint,1,1,1,1,non_mandatory,1,24.0,9.0,287846,62.0,8.0,16.0,8.0,,14.106784841830075,WALK,-1.2340428107136567,,,0out_0in,othmaint +17156090,418441,escort,1,1,1,2,non_mandatory,1,7.0,10.0,304036,37.0,7.0,7.0,0.0,,12.58917385404925,SHARED2FREE,-0.9339268037768802,,,0out_0in,escort +17156109,418441,othmaint,1,1,2,2,non_mandatory,1,11.0,10.0,304036,171.0,18.0,20.0,2.0,,14.048445973023219,WALK_LOC,0.1082899917576221,,,0out_0in,othmaint +26415959,644291,othmaint,1,1,1,1,non_mandatory,1,2.0,7.0,386699,179.0,19.0,23.0,4.0,,15.115958969714466,TNC_SINGLE,1.8502335907456067,,,0out_0in,othmaint +26423525,644476,escort,1,1,1,3,non_mandatory,1,11.0,16.0,386761,1.0,5.0,6.0,1.0,,12.795273575389468,TNC_SINGLE,-0.7934297704888018,,,0out_0in,escort +26423544,644476,othmaint,1,1,2,3,non_mandatory,1,13.0,16.0,386761,170.0,18.0,19.0,1.0,,14.239645494444682,WALK,0.5448752034137055,,,0out_0in,othmaint +26423541,644476,othdiscr,1,1,3,3,non_mandatory,1,16.0,16.0,386761,169.0,18.0,18.0,0.0,,14.737099325402818,WALK,1.901940250188323,,,0out_0in,othdiscr +26423590,644477,shopping,1,1,1,1,non_mandatory,1,16.0,16.0,386761,135.0,14.0,14.0,0.0,,13.817208967526978,DRIVEALONEFREE,1.9264575100035397,,,0out_0in,shopping +51813592,1263746,eatout,1,1,1,1,non_mandatory,1,22.0,8.0,566633,44.0,7.0,14.0,7.0,,15.818450694696336,WALK,3.4872723890269306,,,0out_0in,eatout +51901843,1265898,othdiscr,1,1,1,1,non_mandatory,1,20.0,17.0,568785,81.0,9.0,20.0,11.0,,14.038862408841926,WALK_LRF,-0.5585556103261583,,,0out_0in,othdiscr +51944614,1266941,shopping,1,1,1,1,non_mandatory,1,5.0,21.0,569828,125.0,13.0,14.0,1.0,,12.912434382652988,WALK,0.0592012603113715,,,0out_0in,shopping +55606652,1356259,shopping,1,1,1,1,non_mandatory,1,17.0,21.0,659146,73.0,9.0,12.0,3.0,,12.930990794617765,WALK,-0.5261654502105152,,,0out_0in,shopping +55616077,1356489,othmaint,1,1,1,1,non_mandatory,1,19.0,21.0,659376,87.0,10.0,12.0,2.0,,15.486613249281167,WALK,2.1921770754745915,,,0out_0in,othmaint +58424910,1424997,shopping,1,1,1,1,non_mandatory,1,16.0,9.0,702283,99.0,11.0,11.0,0.0,,14.250421671562862,WALK_LRF,2.496486742614284,,,0out_0in,shopping +58514946,1427193,shopping,1,1,1,1,non_mandatory,1,14.0,25.0,703381,130.0,13.0,19.0,6.0,,12.69331890781131,WALK,-1.0811369726727758,,,0out_0in,shopping +58514982,1427194,othmaint,1,1,1,2,non_mandatory,1,14.0,25.0,703381,43.0,7.0,13.0,6.0,,13.942750115929014,WALK,-0.9941329062085063,,,0out_0in,othmaint +58514990,1427194,social,1,1,2,2,non_mandatory,1,2.0,25.0,703381,160.0,16.0,22.0,6.0,,13.777008651001752,WALK,1.0801844297966243,,,1out_3in,social +60521727,1476139,othmaint,1,1,1,1,non_mandatory,1,24.0,7.0,727854,180.0,20.0,20.0,0.0,,15.47037505264077,BIKE,2.0494114308491214,,,0out_0in,othmaint +60521773,1476140,shopping,1,1,1,1,non_mandatory,1,5.0,7.0,727854,114.0,12.0,14.0,2.0,,14.215143781340355,WALK_LOC,2.642932416786139,,,0out_0in,shopping +64479052,1572659,shopping,1,1,1,1,non_mandatory,1,24.0,6.0,763879,50.0,7.0,20.0,13.0,,12.944687277006528,WALK,-0.5346597893073812,,,2out_2in,shopping +64490163,1572930,shopping,1,1,1,2,non_mandatory,1,7.0,9.0,764150,104.0,11.0,16.0,5.0,,12.871444186599586,WALK,-0.15716862120827904,,,0out_0in,shopping +64490158,1572930,othmaint,1,1,2,2,non_mandatory,1,9.0,9.0,764150,57.0,8.0,11.0,3.0,,14.115990694346833,WALK,0.5775008727356886,,,1out_0in,othmaint +66959115,1633149,eatout,1,1,1,1,non_mandatory,1,13.0,21.0,824369,60.0,8.0,14.0,6.0,,13.512146936522646,WALK,-0.031591330923241775,,,0out_0in,eatout +66961807,1633214,shopping,2,1,1,3,non_mandatory,1,19.0,22.0,824434,114.0,12.0,14.0,2.0,,14.284043561703433,TNC_SINGLE,1.261837600659928,,,0out_0in,shopping +66961808,1633214,shopping,2,2,2,3,non_mandatory,1,18.0,22.0,824434,136.0,14.0,15.0,1.0,,14.29350215281277,WALK_LRF,1.8568062861742674,,,1out_0in,shopping +66961802,1633214,othmaint,1,1,3,3,non_mandatory,1,21.0,22.0,824434,157.0,16.0,19.0,3.0,,15.617308999220183,TNC_SINGLE,2.7303519582786886,,,0out_0in,othmaint +76904608,1875722,eatout,1,1,1,1,non_mandatory,1,14.0,16.0,982875,92.0,10.0,17.0,7.0,,14.382991219857317,WALK,2.162753491521419,,,1out_0in,eatout +80305793,1958677,social,1,1,1,1,non_mandatory,1,14.0,9.0,1024353,86.0,10.0,11.0,1.0,,14.319027940316248,WALK_LRF,1.6081491414017695,,,0out_0in,social +91019946,2219998,othmaint,1,1,1,1,non_mandatory,1,9.0,16.0,1119939,147.0,15.0,17.0,2.0,,14.388890734508266,TNC_SINGLE,0.03930809096910957,,,0out_0in,othmaint +100798528,2458500,othmaint,1,1,1,1,non_mandatory,1,7.0,8.0,1173905,120.0,12.0,20.0,8.0,,14.167855032527061,WALK,0.38559056447197426,,,0out_0in,othmaint +100798550,2458501,escort,1,1,1,1,non_mandatory,1,16.0,8.0,1173905,146.0,15.0,16.0,1.0,,12.678877131453035,WALK_LOC,-1.9324822266532133,,,0out_0in,escort +120398583,2936550,shopping,1,1,1,2,non_mandatory,1,11.0,8.0,1286259,113.0,12.0,13.0,1.0,,14.329923645050131,WALK,2.380720675067925,,,0out_0in,shopping +120398575,2936550,othdiscr,1,1,2,2,non_mandatory,1,6.0,8.0,1286259,138.0,14.0,17.0,3.0,,15.563753675610899,WALK,2.937756877729721,,,0out_0in,othdiscr +120410678,2936845,shopping,2,1,1,2,non_mandatory,1,16.0,11.0,1286554,126.0,13.0,15.0,2.0,,14.288048722886733,WALK_LOC,2.0840813824206115,,,2out_0in,shopping +120410679,2936845,shopping,2,2,2,2,non_mandatory,1,16.0,11.0,1286554,155.0,16.0,17.0,1.0,,14.281148899888505,TAXI,2.0913424655014494,,,0out_2in,shopping +120410793,2936848,othdiscr,1,1,1,2,non_mandatory,1,11.0,11.0,1286557,146.0,15.0,16.0,1.0,,14.200096334451901,DRIVEALONEFREE,0.6742944281956302,,,1out_0in,othdiscr +120410774,2936848,eatout,1,1,2,2,non_mandatory,1,9.0,11.0,1286557,136.0,14.0,15.0,1.0,,13.618742937074572,DRIVEALONEFREE,0.6916712958119103,,,0out_0in,eatout +125537687,3061894,shopping,1,1,1,1,non_mandatory,1,20.0,24.0,1363467,113.0,12.0,13.0,1.0,,12.936400847846238,DRIVEALONEFREE,-0.419345072964738,,,0out_0in,shopping +125537723,3061895,othmaint,1,1,1,2,non_mandatory,1,7.0,24.0,1363467,146.0,15.0,16.0,1.0,,14.06003170940918,WALK,-0.16195911293846704,,,0out_0in,othmaint +125537720,3061895,othdiscr,1,1,2,2,non_mandatory,1,9.0,24.0,1363467,164.0,17.0,19.0,2.0,,14.089291551343601,WALK_HVY,0.30873285639026604,,,0out_0in,othdiscr +132571975,3233462,shopping,2,1,1,3,non_mandatory,1,16.0,17.0,1445222,19.0,6.0,6.0,0.0,,14.283234710901684,WALK_LRF,2.5866729381679985,,,0out_0in,shopping +132571976,3233462,shopping,2,2,2,3,non_mandatory,1,13.0,17.0,1445222,37.0,7.0,7.0,0.0,,14.291671919294387,WALK_LOC,1.7366283594420195,,,0out_0in,shopping +132571967,3233462,othdiscr,1,1,3,3,non_mandatory,1,14.0,17.0,1445222,37.0,7.0,7.0,0.0,,15.3475060062512,WALK_LRF,2.5704471563279228,,,0out_0in,othdiscr +136471362,3328569,shopping,1,1,1,2,non_mandatory,1,4.0,8.0,1511234,85.0,10.0,10.0,0.0,,14.125733968656233,WALK_LRF,2.38356074513733,,,1out_0in,shopping +136471335,3328569,eatout,1,1,2,2,non_mandatory,1,13.0,8.0,1511234,137.0,14.0,16.0,2.0,,15.597840009148284,WALK_LRF,3.672048876588288,,,0out_0in,eatout +143283635,3494722,shopping,1,1,1,1,non_mandatory,1,9.0,6.0,1594311,96.0,10.0,21.0,11.0,,14.046160515883093,WALK_LRF,2.61071375438136,,,0out_0in,shopping +143283671,3494723,othmaint,1,1,1,2,non_mandatory,1,6.0,6.0,1594311,114.0,12.0,14.0,2.0,,15.088923142188515,TAXI,2.1441872607812824,,,0out_3in,othmaint +143283668,3494723,othdiscr,1,1,2,2,non_mandatory,1,14.0,6.0,1594311,85.0,10.0,10.0,0.0,,15.274425423897526,WALK,1.9231493687702297,,,0out_0in,othdiscr +143309047,3495342,othdiscr,1,1,1,1,non_mandatory,1,15.0,10.0,1594621,160.0,16.0,22.0,6.0,,15.508505478543945,TNC_SINGLE,2.3148522693391618,,,0out_0in,othdiscr +147450957,3596364,shopping,1,1,1,2,non_mandatory,1,22.0,9.0,1645132,176.0,19.0,20.0,1.0,,14.363714390192708,WALK_LRF,2.3452602538930165,,,0out_2in,shopping +147450930,3596364,eatout,1,1,2,2,non_mandatory,1,5.0,9.0,1645132,135.0,14.0,14.0,0.0,,15.409586226420789,WALK,3.8915091275806684,,,0out_0in,eatout +147451001,3596365,social,1,1,1,1,non_mandatory,1,9.0,9.0,1645132,48.0,7.0,18.0,11.0,,14.542235377439113,TAXI,1.8197268535726026,,,0out_0in,social +159535256,3891103,shopping,1,1,1,1,non_mandatory,1,16.0,16.0,1747467,127.0,13.0,16.0,3.0,,14.345132902591203,WALK,2.410899830438007,,,0out_0in,shopping +159535289,3891104,othdiscr,2,1,1,2,non_mandatory,1,2.0,16.0,1747467,136.0,14.0,15.0,1.0,,15.50230775562424,WALK,2.706012062287055,,,0out_0in,othdiscr +159535290,3891104,othdiscr,2,2,2,2,non_mandatory,1,19.0,16.0,1747467,159.0,16.0,21.0,5.0,,15.496659202926004,WALK_LOC,1.4568065331937983,,,0out_0in,othdiscr +171036284,4171616,othmaint,1,1,1,1,non_mandatory,1,3.0,16.0,1810015,72.0,9.0,11.0,2.0,,14.289824837336404,WALK,0.18665328796358552,,,0out_0in,othmaint +171036412,4171619,shopping,1,1,1,1,non_mandatory,1,1.0,16.0,1810015,126.0,13.0,15.0,2.0,,13.640567650511668,WALK,0.9902753937389079,,,0out_1in,shopping +171036535,4171622,shopping,1,1,1,1,non_mandatory,1,19.0,16.0,1810015,76.0,9.0,15.0,6.0,,13.569454077979632,WALK,-0.6999014421153607,,,0out_0in,shopping +197775705,4823797,othmaint,1,1,1,2,non_mandatory,1,7.0,14.0,1952792,145.0,15.0,15.0,0.0,,14.077945771016731,DRIVEALONEFREE,0.09809762893266673,,,0out_0in,othmaint +197775702,4823797,othdiscr,1,1,2,2,non_mandatory,1,16.0,14.0,1952792,156.0,16.0,18.0,2.0,,14.148349302926023,WALK,0.3783571737852308,,,0out_0in,othdiscr +207350891,5057338,shopping,1,1,1,4,non_mandatory,1,25.0,7.0,2048382,184.0,21.0,21.0,0.0,,14.255205007211757,WALK_LOC,2.101189166034452,,,0out_0in,shopping +207350886,5057338,othmaint,1,1,2,4,non_mandatory,1,7.0,7.0,2048382,169.0,18.0,18.0,0.0,,15.398681601999414,WALK,2.251684017727115,,,0out_0in,othmaint +207350864,5057338,eatout,1,1,3,4,non_mandatory,1,10.0,7.0,2048382,180.0,20.0,20.0,0.0,,15.673355298407246,WALK_LRF,3.815469226012807,,,0out_0in,eatout +207350894,5057338,social,1,1,4,4,non_mandatory,1,6.0,7.0,2048382,170.0,18.0,19.0,1.0,,14.47070557639591,TNC_SINGLE,2.092887419244588,,,0out_0in,social +220859115,5386807,othmaint,1,1,1,2,non_mandatory,1,3.0,7.0,2222549,108.0,11.0,20.0,9.0,,14.631450775230501,BIKE,1.2525204834789274,,,0out_0in,othmaint +220859112,5386807,othdiscr,1,1,2,2,non_mandatory,1,12.0,7.0,2222549,57.0,8.0,11.0,3.0,,15.22831236942779,WALK,1.9410790271608127,,,0out_0in,othdiscr +220876723,5387237,eatout,1,1,1,1,non_mandatory,1,18.0,9.0,2222764,40.0,7.0,10.0,3.0,,15.533797292653043,WALK,2.7471114575246633,,,0out_0in,eatout +220897857,5387752,othdiscr,2,1,1,3,non_mandatory,1,2.0,9.0,2223022,116.0,12.0,16.0,4.0,,15.669980715045584,WALK_LRF,2.9881539923461227,,,0out_0in,othdiscr +220897858,5387752,othdiscr,2,2,2,3,non_mandatory,1,15.0,9.0,2223022,167.0,17.0,22.0,5.0,,15.612622001311117,TNC_SINGLE,2.7108048765430066,,,0out_0in,othdiscr +220897868,5387752,social,1,1,3,3,non_mandatory,1,1.0,9.0,2223022,155.0,16.0,17.0,1.0,,14.679480135659224,WALK_LRF,2.119119519271625,,,0out_0in,social +221029612,5390966,eatout,1,1,1,1,non_mandatory,1,6.0,17.0,2224629,184.0,21.0,21.0,0.0,,14.16216773997027,WALK,1.180781851328879,,,0out_0in,eatout +299527165,7305540,othdiscr,1,1,1,1,non_mandatory,1,12.0,20.0,2727273,151.0,15.0,21.0,6.0,,14.631393485472051,WALK,0.703051223685245,,,0out_0in,othdiscr +305589966,7453413,shopping,1,1,1,1,non_mandatory,1,19.0,20.0,2762078,154.0,16.0,16.0,0.0,,13.96782273443678,WALK,1.8263069979086812,,,0out_0in,shopping +308013107,7512514,shopping,1,1,1,3,non_mandatory,1,6.0,8.0,2821179,164.0,17.0,19.0,2.0,,13.761715627405522,WALK,1.777915016124194,,,0out_0in,shopping +308013080,7512514,eatout,1,1,2,3,non_mandatory,1,13.0,8.0,2821179,62.0,8.0,16.0,8.0,,15.672503858155086,WALK,3.4520753953932997,,,0out_0in,eatout +308013110,7512514,social,1,1,3,3,non_mandatory,1,9.0,8.0,2821179,154.0,16.0,16.0,0.0,,13.986153838122636,WALK_LOC,1.0884935003375935,,,0out_0in,social +308464222,7523517,othdiscr,1,1,1,1,non_mandatory,1,9.0,7.0,2832182,59.0,8.0,13.0,5.0,,15.215939189600421,WALK_LOC,2.3087491550483623,,,0out_0in,othdiscr +308469593,7523648,othdiscr,1,1,1,1,non_mandatory,1,9.0,10.0,2832313,45.0,7.0,15.0,8.0,,15.619880441376743,SHARED3FREE,3.064671208761337,,,0out_0in,othdiscr +309118139,7539466,shopping,1,1,1,1,non_mandatory,1,8.0,3.0,2848131,173.0,18.0,22.0,4.0,,14.184313761888902,WALK_LOC,1.9450803033436233,,,0out_1in,shopping +13286136,324052,eat,1,1,1,1,atwork,1,25.0,2.0,256841,85.0,10.0,10.0,0.0,,13.067206747534112,WALK,0.3226499939323716,,13286171.0,3out_0in,atwork +66896301,1631617,eat,1,1,1,1,atwork,1,2.0,4.0,822837,124.0,13.0,13.0,0.0,,20.76208440150807,WALK,0.6083812175726425,,66896336.0,0out_0in,atwork +66923525,1632281,eat,1,1,1,1,atwork,1,8.0,13.0,823501,125.0,13.0,14.0,1.0,,15.947502350236292,WALK,5.269628441312229,,66923560.0,1out_0in,atwork +91019881,2219997,eat,1,1,1,1,atwork,1,11.0,2.0,1119939,124.0,13.0,13.0,0.0,,13.140265569028685,WALK,-0.5724414718262922,,91019916.0,0out_0in,atwork +143309067,3495343,eat,1,1,1,1,atwork,1,16.0,9.0,1594621,135.0,14.0,14.0,0.0,,15.54410431803647,WALK,4.189553929647488,,143309102.0,3out_0in,atwork +171036547,4171623,eat,1,1,1,1,atwork,1,7.0,21.0,1810015,85.0,10.0,10.0,0.0,,12.96349084109601,WALK,-0.21208714075218113,,171036582.0,0out_1in,atwork +220897896,5387753,maint,1,1,1,1,atwork,1,15.0,16.0,2223022,125.0,13.0,14.0,1.0,,15.821603676945895,WALK,5.934528318038686,,220897912.0,0out_0in,atwork +220958270,5389226,eat,1,1,1,1,atwork,1,2.0,1.0,2223759,124.0,13.0,13.0,0.0,,15.712981796209124,WALK,6.339068060891636,,220958305.0,0out_0in,atwork +307996473,7512109,eat,1,1,1,1,atwork,1,8.0,2.0,2820774,85.0,10.0,10.0,0.0,,20.633672564068426,WALK,-0.4712382999322044,,307996508.0,0out_1in,atwork diff --git a/test/summarize/data/trips.csv b/test/summarize/data/trips.csv new file mode 100644 index 0000000000..9a7cf745df --- /dev/null +++ b/test/summarize/data/trips.csv @@ -0,0 +1,483 @@ +trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,destination,origin,tour_id,purpose,destination_logsum,depart,trip_mode,mode_choice_logsum +8684833,26478,26478,eatout,1,True,1,13,8,1085604,eatout,,11.0,WALK,-1.171760292653216 +8684837,26478,26478,eatout,1,False,1,8,13,1085604,home,,11.0,WALK,-1.2387189643933358 +8685009,26478,26478,othmaint,1,True,1,10,8,1085626,othmaint,,12.0,BIKE,6.198625510771293 +8685013,26478,26478,othmaint,1,False,1,8,10,1085626,home,,13.0,BIKE,6.175681077458905 +8753057,26686,26686,eatout,1,True,1,5,8,1094132,eatout,,19.0,WALK,4.457539268772517 +8753061,26686,26686,eatout,1,False,1,8,5,1094132,home,,19.0,WALK,4.457539268092902 +8753233,26686,26686,othmaint,1,True,1,9,8,1094154,othmaint,,12.0,BIKE,6.898149355436168 +8753237,26686,26686,othmaint,1,False,1,8,9,1094154,home,,13.0,WALK,6.898149355330578 +8805121,26844,26844,social,1,True,1,7,8,1100640,social,,8.0,WALK,8.97158319245669 +8805125,26844,26844,social,1,False,2,7,7,1100640,othmaint,43.13165717387488,12.0,WALK,9.041583184270134 +8805126,26844,26844,social,2,False,2,8,7,1100640,home,,12.0,WALK,8.789583223221504 +9094329,27726,27726,othdiscr,1,True,1,9,10,1136791,othdiscr,,8.0,WALK,10.602053625992742 +9094333,27726,27726,othdiscr,1,False,1,10,9,1136791,home,,10.0,WALK,10.780613609497287 +9717265,29625,29625,shopping,1,True,1,17,17,1214658,shopping,,15.0,WALK,6.232122380537646 +9717269,29625,29625,shopping,1,False,1,17,17,1214658,home,,15.0,WALK,6.232122380537646 +35302033,107628,107628,eatout,1,True,1,6,6,4412754,eatout,,12.0,WALK,12.980528990209422 +35302037,107628,107628,eatout,1,False,1,6,6,4412754,home,,12.0,WALK,12.980528990209422 +36757193,112064,112064,othdiscr,1,True,1,21,16,4594649,othdiscr,,12.0,WALK,2.1507947003355725 +36757197,112064,112064,othdiscr,1,False,1,16,21,4594649,home,,14.0,TAXI,2.361929055638584 +36757257,112064,112064,shopping,1,True,1,3,16,4594657,shopping,,16.0,WALK,9.171843929425059 +36757261,112064,112064,shopping,1,False,1,16,3,4594657,home,,17.0,WALK,8.920744017488841 +86627409,264107,226869,work,1,True,1,24,9,10828426,work,,7.0,WALK_LRF,2.4072481834219825 +86627413,264107,226869,work,1,False,1,9,24,10828426,home,,19.0,WALK_LRF,2.64270709783459 +86627625,264108,226869,othdiscr,1,True,1,19,9,10828453,othdiscr,,10.0,WALK,-0.8882719505294207 +86627629,264108,226869,othdiscr,1,False,1,9,19,10828453,home,,11.0,WALK,-1.083555087607077 +86673657,264248,226939,work,1,True,4,7,10,10834207,othmaint,32.75764853865741,7.0,WALK,10.983240440000484 +86673658,264248,226939,work,2,True,4,7,7,10834207,eatout,33.21399848139942,8.0,WALK,11.479761506324401 +86673659,264248,226939,work,3,True,4,7,7,10834207,escort,31.978980517219934,8.0,WALK,11.479761506324401 +86673660,264248,226939,work,4,True,4,22,7,10834207,work,,8.0,WALK,0.6702367245215582 +86673661,264248,226939,work,1,False,1,10,22,10834207,home,,19.0,WALK_LRF,1.8345383951740344 +106170305,323689,256660,work,1,True,1,1,10,13271288,work,,11.0,WALK_LRF,-0.011824703285233131 +106170309,323689,256660,work,1,False,1,10,1,13271288,home,,18.0,WALK_LRF,-0.027352899414421275 +106289041,324051,256841,work,1,True,1,13,16,13286130,work,,6.0,WALK,-0.8565593757871062 +106289045,324051,256841,work,1,False,1,16,13,13286130,home,,18.0,WALK,-0.8565580999364296 +106289089,324052,256841,atwork,1,True,4,7,2,13286136,eatout,60.13739371833328,10.0,WALK,13.920506335059669 +106289090,324052,256841,atwork,2,True,4,7,7,13286136,escort,60.15644366452488,10.0,WALK,14.469466216363623 +106289091,324052,256841,atwork,3,True,4,7,7,13286136,othmaint,61.179406839883825,10.0,WALK,14.469466216363623 +106289092,324052,256841,atwork,4,True,4,25,7,13286136,atwork,,10.0,WALK,12.986881842967769 +106289093,324052,256841,atwork,1,False,1,2,25,13286136,work,,10.0,WALK,13.428381736654696 +106289369,324052,256841,work,1,True,1,2,16,13286171,work,,7.0,WALK,0.5749634196246675 +106289373,324052,256841,work,1,False,1,16,2,13286171,home,,17.0,WALK,0.5437689450331312 +106570377,324909,257270,othmaint,1,True,1,7,16,13321297,othmaint,,16.0,WALK_LOC,8.522914192603341 +106570381,324909,257270,othmaint,1,False,3,8,7,13321297,shopping,39.966166488670375,16.0,WALK_LOC,8.591797215128283 +106570382,324909,257270,othmaint,2,False,3,7,8,13321297,othmaint,40.1428027790164,18.0,WALK_LOC,7.611580070561758 +106570383,324909,257270,othmaint,3,False,3,16,7,13321297,home,,19.0,WALK_LOC,8.39325079046685 +106570465,324909,257270,work,1,True,1,4,16,13321308,work,,6.0,WALK_LOC,0.6392968136200081 +106570469,324909,257270,work,1,False,1,16,4,13321308,home,,15.0,WALK,0.6422790343428766 +106741681,325431,257531,work,1,True,2,25,16,13342710,shopping,35.382763983172914,7.0,WALK,10.195186294548499 +106741682,325431,257531,work,2,True,2,12,25,13342710,work,,8.0,WALK,4.112435828979324 +106741685,325431,257531,work,1,False,4,7,12,13342710,eatout,38.563608123329665,17.0,WALK,4.429198666616662 +106741686,325431,257531,work,2,False,4,25,7,13342710,shopping,49.069979336099856,17.0,WALK_LOC,10.976833414968677 +106741687,325431,257531,work,3,False,4,7,25,13342710,escort,49.56683087980665,17.0,WALK_LOC,10.645246813510491 +106741688,325431,257531,work,4,False,4,16,7,13342710,home,,17.0,WALK,10.872836065437152 +106741961,325432,257531,shopping,1,True,1,14,16,13342745,shopping,,12.0,WALK_LOC,1.5232643877229 +106741965,325432,257531,shopping,1,False,1,16,14,13342745,home,,13.0,WALK_LOC,1.5693861133527638 +106804593,325623,257627,univ,1,True,1,13,16,13350574,univ,,16.0,TNC_SHARED,-0.00048192480078950974 +106804597,325623,257627,univ,1,False,2,7,13,13350574,escort,33.15684485603079,17.0,TNC_SHARED,-0.04444080542907919 +106804598,325623,257627,univ,2,False,2,16,7,13350574,home,,18.0,WALK_LOC,12.924473830623523 +106804657,325623,257627,work,1,True,1,17,16,13350582,work,,8.0,WALK,4.35542563087399 +106804661,325623,257627,work,1,False,3,8,17,13350582,escort,29.01718404830073,10.0,WALK,2.617452200044346 +106804662,325623,257627,work,2,False,3,7,8,13350582,work,47.71771075218875,10.0,WALK,9.41457624043595 +106804663,325623,257627,work,3,False,3,16,7,13350582,home,,10.0,WALK,9.584561399058053 +106804985,325624,257627,work,1,True,1,15,16,13350623,work,,6.0,WALK,0.37137969841068 +106804989,325624,257627,work,1,False,1,16,15,13350623,home,,17.0,WALK,0.2394218453090277 +126610345,386007,287819,eatout,1,True,1,8,9,15826293,eatout,,7.0,WALK,12.045414086987227 +126610349,386007,287819,eatout,1,False,1,9,8,15826293,home,,12.0,WALK,12.045414086987227 +126610561,386007,287819,shopping,1,True,1,16,9,15826320,shopping,,13.0,WALK_LRF,7.826194428110367 +126610565,386007,287819,shopping,1,False,2,8,16,15826320,shopping,42.04677268564967,14.0,WALK_LOC,5.852516573240053 +126610566,386007,287819,shopping,2,False,2,9,8,15826320,home,,14.0,WALK,12.094429144855063 +126610673,386008,287819,eatout,1,True,1,16,9,15826334,eatout,,17.0,WALK_LRF,7.923851241604265 +126610677,386008,287819,eatout,1,False,1,9,16,15826334,home,,21.0,WALK_LRF,7.870594411516843 +126610873,386008,287819,school,1,True,1,9,9,15826359,school,,8.0,WALK,10.238432605791907 +126610877,386008,287819,school,1,False,1,9,9,15826359,home,,13.0,WALK,10.238432605791528 +126628233,386061,287846,othmaint,1,True,1,24,9,15828529,othmaint,,8.0,WALK,0.4037946805512129 +126628237,386061,287846,othmaint,1,False,1,9,24,15828529,home,,16.0,WALK,0.24633019373384799 +126628585,386062,287846,school,1,True,1,13,9,15828573,school,,7.0,WALK_LRF,1.0711721884212428 +126628589,386062,287846,school,1,False,1,9,13,15828573,home,,15.0,WALK_LRF,1.0655213796302867 +137248721,418441,304036,escort,1,True,1,7,10,17156090,escort,,7.0,WALK,11.435800072739188 +137248725,418441,304036,escort,1,False,1,10,7,17156090,home,,7.0,WALK,11.480439645000306 +137248873,418441,304036,othmaint,1,True,1,11,10,17156109,othmaint,,18.0,WALK,4.2092676618474565 +137248877,418441,304036,othmaint,1,False,1,10,11,17156109,home,,20.0,WALK,4.182129333548951 +137248961,418441,304036,work,1,True,1,14,10,17156120,work,,7.0,WALK_LRF,1.5386184958463194 +137248965,418441,304036,work,1,False,1,10,14,17156120,home,,17.0,WALK_LRF,1.5347274395324182 +137249225,418442,304036,school,1,True,1,10,10,17156153,school,,8.0,WALK,8.134623223828047 +137249229,418442,304036,school,1,False,1,10,10,17156153,home,,8.0,WALK,8.134623223828047 +195385257,595686,370497,school,1,True,1,8,21,24423157,school,,7.0,WALK_LOC,11.180762378631227 +195385261,595686,370497,school,1,False,1,21,8,24423157,home,,16.0,WALK,11.113688275374244 +211327433,644290,386699,work,1,True,1,12,7,26415929,work,,12.0,WALK_LOC,4.308779715277221 +211327437,644290,386699,work,1,False,1,7,12,26415929,home,,22.0,WALK_LOC,4.332367558204261 +211327673,644291,386699,othmaint,1,True,1,2,7,26415959,othmaint,,19.0,WALK_LOC,0.1926592887611779 +211327677,644291,386699,othmaint,1,False,1,7,2,26415959,home,,23.0,TNC_SINGLE,0.2090608444298338 +211327761,644291,386699,work,1,True,1,2,7,26415970,work,,7.0,WALK,-0.6047304841612396 +211327765,644291,386699,work,1,False,1,7,2,26415970,home,,17.0,WALK,-0.5343416483077198 +211328025,644292,386699,school,1,True,1,9,7,26416003,school,,13.0,WALK_LOC,9.76993799435511 +211328029,644292,386699,school,1,False,2,7,9,26416003,othdiscr,54.47702761519171,19.0,WALK_LRF,11.717824347550579 +211328030,644292,386699,school,2,False,2,7,7,26416003,home,,19.0,WALK,12.412237340788142 +211388201,644476,386761,escort,1,True,1,11,16,26423525,escort,,5.0,WALK_LOC,4.789158412380779 +211388205,644476,386761,escort,1,False,1,16,11,26423525,home,,6.0,WALK_LOC,5.050171287433508 +211388329,644476,386761,othdiscr,1,True,1,16,16,26423541,othdiscr,,18.0,WALK,7.330879513166791 +211388333,644476,386761,othdiscr,1,False,1,16,16,26423541,home,,18.0,WALK,7.330879513166791 +211388353,644476,386761,othmaint,1,True,1,13,16,26423544,othmaint,,18.0,WALK,-0.4192505336997586 +211388357,644476,386761,othmaint,1,False,1,16,13,26423544,home,,19.0,WALK,-0.41925030619506426 +211388441,644476,386761,work,1,True,1,4,16,26423555,work,,7.0,SHARED2FREE,0.6984134734828816 +211388445,644476,386761,work,1,False,1,16,4,26423555,home,,17.0,SHARED3FREE,-0.05867188910234502 +211388721,644477,386761,shopping,1,True,1,16,16,26423590,shopping,,14.0,WALK,5.857453125014367 +211388725,644477,386761,shopping,1,False,1,16,16,26423590,home,,14.0,WALK,5.857453125014367 +211389033,644478,386761,school,1,True,1,20,16,26423629,school,,11.0,WALK_LOC,1.530044582582947 +211389037,644478,386761,school,1,False,1,16,20,26423629,home,,19.0,WALK_LRF,3.76602489416099 +414508737,1263746,566633,eatout,1,True,1,22,8,51813592,eatout,,7.0,WALK,-0.2936314854569598 +414508741,1263746,566633,eatout,1,False,1,8,22,51813592,home,,14.0,WALK,-0.20994188070513117 +415214745,1265898,568785,othdiscr,1,True,1,20,17,51901843,othdiscr,,9.0,WALK_LRF,2.7426144387101616 +415214749,1265898,568785,othdiscr,1,False,1,17,20,51901843,home,,20.0,WALK_LRF,3.0312322271177115 +415556913,1266941,569828,shopping,1,True,1,5,21,51944614,shopping,,13.0,WALK,4.267820185543052 +415556917,1266941,569828,shopping,1,False,1,21,5,51944614,home,,14.0,WALK,4.36826004980817 +444793569,1356077,658964,work,1,True,1,2,20,55599196,work,,10.0,WALK,-1.2449657571455592 +444793573,1356077,658964,work,1,False,2,8,2,55599196,eatout,30.39086593860138,18.0,WALK,-0.18835320325726385 +444793574,1356077,658964,work,2,False,2,20,8,55599196,home,,19.0,WALK,9.31004876483329 +444853217,1356259,659146,shopping,1,True,1,17,21,55606652,shopping,,9.0,WALK,5.517882493114122 +444853221,1356259,659146,shopping,1,False,1,21,17,55606652,home,,12.0,WALK,5.132862738908771 +444853265,1356259,659146,work,1,True,1,12,21,55606658,work,,18.0,WALK,3.384905484149441 +444853269,1356259,659146,work,1,False,1,21,12,55606658,home,,21.0,WALK,3.37610531552257 +444928617,1356489,659376,othmaint,1,True,1,19,21,55616077,othmaint,,10.0,WALK,-0.4019864572176835 +444928621,1356489,659376,othmaint,1,False,1,21,19,55616077,home,,12.0,WALK,-0.3949868811255128 +467399281,1424997,702283,shopping,1,True,1,16,9,58424910,shopping,,11.0,WALK_LRF,7.838946476871253 +467399285,1424997,702283,shopping,1,False,1,9,16,58424910,home,,11.0,WALK_LRF,7.837379593435539 +468119569,1427193,703381,shopping,1,True,1,14,25,58514946,shopping,,13.0,WALK,0.41368191525132 +468119573,1427193,703381,shopping,1,False,1,25,14,58514946,home,,19.0,WALK,0.20722357704976485 +468119857,1427194,703381,othmaint,1,True,1,14,25,58514982,othmaint,,7.0,WALK,0.25954887271815646 +468119861,1427194,703381,othmaint,1,False,1,25,14,58514982,home,,13.0,WALK,0.13005163957603907 +468119921,1427194,703381,social,1,True,2,6,25,58514990,eatout,23.804031444441073,16.0,WALK,7.665909210409199 +468119922,1427194,703381,social,2,True,2,2,6,58514990,social,,19.0,WALK,-0.11373619351391898 +468119925,1427194,703381,social,1,False,4,6,2,58514990,social,25.675224145070427,22.0,WALK,-0.11373628500729509 +468119926,1427194,703381,social,2,False,4,8,6,58514990,shopping,36.086366516709475,22.0,WALK,7.728909184292301 +468119927,1427194,703381,social,3,False,4,7,8,58514990,social,40.832427907262876,22.0,WALK,7.751367569789609 +468119928,1427194,703381,social,4,False,4,25,7,58514990,home,,22.0,WALK,8.429083086926186 +484173817,1476139,727854,othmaint,1,True,1,24,7,60521727,othmaint,,20.0,BIKE,1.9077329030605452 +484173821,1476139,727854,othmaint,1,False,1,7,24,60521727,home,,20.0,BIKE,1.9197303815018285 +484173905,1476139,727854,work,1,True,1,22,7,60521738,work,,7.0,WALK_LOC,1.431014949779601 +484173909,1476139,727854,work,1,False,1,7,22,60521738,home,,17.0,WALK,1.4031093807885369 +484174185,1476140,727854,shopping,1,True,1,5,7,60521773,shopping,,12.0,WALK,5.068835396765922 +484174189,1476140,727854,shopping,1,False,1,7,5,60521773,home,,14.0,WALK,5.1316250710901725 +515832417,1572659,763879,shopping,1,True,3,25,6,64479052,othmaint,40.895784325733594,7.0,WALK,12.896301701456215 +515832418,1572659,763879,shopping,2,True,3,25,25,64479052,escort,40.13139614585728,12.0,WALK,13.621701652814899 +515832419,1572659,763879,shopping,3,True,3,24,25,64479052,shopping,,17.0,WALK,3.0930067693134005 +515832421,1572659,763879,shopping,1,False,3,25,24,64479052,shopping,38.41713719577139,18.0,WALK,3.0706867412992 +515832422,1572659,763879,shopping,2,False,3,7,25,64479052,escort,59.6309483835455,20.0,WALK,12.807021629683366 +515832423,1572659,763879,shopping,3,False,3,6,7,64479052,home,,20.0,WALK,14.258626224164276 +515921265,1572930,764150,othmaint,1,True,2,7,9,64490158,othmaint,38.76005910239585,8.0,WALK,8.642583134383138 +515921266,1572930,764150,othmaint,2,True,2,9,7,64490158,othmaint,,8.0,WALK,6.391034808672385 +515921269,1572930,764150,othmaint,1,False,1,9,9,64490158,home,,11.0,WALK,6.874034571771074 +515921305,1572930,764150,shopping,1,True,1,7,9,64490163,shopping,,11.0,WALK,13.778746190542957 +515921309,1572930,764150,shopping,1,False,1,9,7,64490163,home,,16.0,WALK,13.622506184583505 +535170409,1631617,822837,atwork,1,True,1,2,4,66896301,atwork,,13.0,WALK,0.5424069222138549 +535170413,1631617,822837,atwork,1,False,1,4,2,66896301,work,,13.0,WALK,0.5048205455419607 +535170689,1631617,822837,work,1,True,1,4,9,66896336,work,,10.0,WALK_LOC,0.8227880918676024 +535170693,1631617,822837,work,1,False,2,7,4,66896336,othmaint,33.351479833725996,18.0,WALK,0.7257846055507365 +535170694,1631617,822837,work,2,False,2,9,7,66896336,home,,20.0,WALK,11.77050183374461 +535377657,1632248,823468,work,1,True,1,9,11,66922207,work,,7.0,WALK,7.050090178984107 +535377661,1632248,823468,work,1,False,1,11,9,66922207,home,,18.0,WALK,7.067192814106717 +535388201,1632281,823501,atwork,1,True,2,9,13,66923525,work,52.01208618984001,13.0,WALK,9.392493718811465 +535388202,1632281,823501,atwork,2,True,2,8,9,66923525,atwork,,13.0,WALK,12.238334146563448 +535388205,1632281,823501,atwork,1,False,1,13,8,66923525,work,,14.0,WALK,11.952574143723762 +535388481,1632281,823501,work,1,True,1,13,12,66923560,work,,7.0,WALK,0.3452900411345135 +535388485,1632281,823501,work,1,False,1,12,13,66923560,home,,19.0,WALK,0.29278490089518977 +535620049,1632987,824207,work,1,True,1,4,18,66952506,work,,15.0,WALK_LOC,0.2992185756062765 +535620053,1632987,824207,work,1,False,1,18,4,66952506,home,,21.0,WALK,0.5557332757868809 +535672921,1633149,824369,eatout,1,True,1,13,21,66959115,eatout,,8.0,WALK,-1.0035975607383816 +535672925,1633149,824369,eatout,1,False,1,21,13,66959115,home,,14.0,WALK,-1.0036026245815988 +535694417,1633214,824434,othmaint,1,True,1,21,22,66961802,othmaint,,16.0,WALK_HVY,3.1298473249858025 +535694421,1633214,824434,othmaint,1,False,1,22,21,66961802,home,,19.0,WALK_LRF,3.168194427710749 +535694457,1633214,824434,shopping,1,True,1,19,22,66961807,shopping,,12.0,WALK_LOC,0.13357426357473387 +535694461,1633214,824434,shopping,1,False,1,22,19,66961807,home,,14.0,TNC_SHARED,0.2667534857881095 +535694465,1633214,824434,shopping,1,True,2,7,22,66961808,othmaint,39.241762812956786,14.0,WALK_LOC,13.971363138561252 +535694466,1633214,824434,shopping,2,True,2,18,7,66961808,shopping,,14.0,WALK_LOC,1.4701534313357916 +535694469,1633214,824434,shopping,1,False,1,22,18,66961808,home,,15.0,WALK_LRF,1.6956609367755466 +581959169,1774265,932147,univ,1,True,4,7,7,72744896,escort,32.240330362269596,17.0,WALK,12.537138745144407 +581959170,1774265,932147,univ,2,True,4,7,7,72744896,eatout,31.10264542619,17.0,WALK,12.537137925772948 +581959171,1774265,932147,univ,3,True,4,8,7,72744896,escort,27.965264101392638,17.0,WALK,10.257313375468534 +581959172,1774265,932147,univ,4,True,4,13,8,72744896,univ,,17.0,DRIVEALONEFREE,-0.8437583036825634 +581959173,1774265,932147,univ,1,False,2,7,13,72744896,othdiscr,31.588329924775625,17.0,DRIVEALONEFREE,-1.1239002860886151 +581959174,1774265,932147,univ,2,False,2,7,7,72744896,home,,17.0,WALK,12.537138745144407 +581959561,1774266,932147,work,1,True,1,14,7,72744945,work,,10.0,WALK_LOC,0.9588680552990613 +581959565,1774266,932147,work,1,False,1,7,14,72744945,home,,20.0,WALK_LOC,0.9847662887344608 +615236801,1875721,982875,work,1,True,1,10,16,76904600,work,,8.0,WALK_LOC,7.627291076037503 +615236805,1875721,982875,work,1,False,1,16,10,76904600,home,,18.0,WALK_LOC,7.619393573928726 +615236865,1875722,982875,eatout,1,True,2,7,16,76904608,escort,33.332775271121825,10.0,WALK,12.852466196970816 +615236866,1875722,982875,eatout,2,True,2,14,7,76904608,eatout,,13.0,WALK,0.0679239371174617 +615236869,1875722,982875,eatout,1,False,1,16,14,76904608,home,,17.0,WALK,0.9383092208675533 +615350289,1876067,983048,work,1,True,1,2,17,76918786,work,,8.0,WALK,-0.9257116464202477 +615350293,1876067,983048,work,1,False,1,17,2,76918786,home,,18.0,WALK,-1.1015965246132262 +615350553,1876068,983048,univ,1,True,1,13,17,76918819,univ,,16.0,WALK_LOC,-0.9337661267393614 +615350557,1876068,983048,univ,1,False,2,8,13,76918819,escort,36.340887152617455,20.0,WALK_LRF,1.0865650979530983 +615350558,1876068,983048,univ,2,False,2,17,8,76918819,home,,21.0,WALK_LRF,12.751630607955796 +615350617,1876068,983048,work,1,True,1,22,17,76918827,work,,7.0,WALK,-0.4073801279353381 +615350621,1876068,983048,work,1,False,1,17,22,76918827,home,,14.0,WALK,0.09850814831562954 +642446345,1958677,1024353,social,1,True,1,14,9,80305793,social,,10.0,WALK_LRF,1.5930747782126253 +642446349,1958677,1024353,social,1,False,1,9,14,80305793,home,,11.0,WALK_LRF,1.593105778653508 +642446633,1958678,1024353,school,1,True,1,25,9,80305829,school,,7.0,WALK_LOC,11.368801654479105 +642446637,1958678,1024353,school,1,False,1,9,25,80305829,home,,14.0,WALK_LOC,11.311311743451391 +708171009,2159057,1099626,work,1,True,1,2,20,88521376,work,,7.0,WALK,-0.3540033864901755 +708171013,2159057,1099626,work,1,False,2,8,2,88521376,shopping,28.059656557964445,18.0,WALK,0.34307389812569966 +708171014,2159057,1099626,work,2,False,2,20,8,88521376,home,,18.0,WALK_LOC,9.930931452887558 +708171273,2159058,1099626,univ,1,True,1,9,20,88521409,univ,,15.0,WALK_LOC,10.081589126967758 +708171277,2159058,1099626,univ,1,False,1,20,9,88521409,home,,18.0,WALK_LOC,9.700222902924416 +708171601,2159059,1099626,school,1,True,1,20,20,88521450,school,,8.0,WALK,2.001157626801728 +708171605,2159059,1099626,school,1,False,1,20,20,88521450,home,,13.0,WALK,2.001157626801728 +728159001,2219996,1119939,work,1,True,1,1,16,91019875,work,,7.0,WALK,-1.1211583486125625 +728159005,2219996,1119939,work,1,False,1,16,1,91019875,home,,18.0,WALK,-1.2705268599600643 +728159049,2219997,1119939,atwork,1,True,1,11,2,91019881,atwork,,13.0,WALK,4.579396112020041 +728159053,2219997,1119939,atwork,1,False,1,2,11,91019881,work,,13.0,WALK,4.635195712319878 +728159329,2219997,1119939,work,1,True,1,2,16,91019916,work,,7.0,SHARED2FREE,0.5819833948077359 +728159333,2219997,1119939,work,1,False,1,16,2,91019916,home,,18.0,WALK,0.5423392445943399 +728159569,2219998,1119939,othmaint,1,True,1,9,16,91019946,othmaint,,15.0,WALK_LRF,6.980776875426213 +728159573,2219998,1119939,othmaint,1,False,1,16,9,91019946,home,,17.0,WALK_LRF,6.97814616167097 +728159593,2219998,1119939,school,1,True,1,8,16,91019949,school,,7.0,WALK_LOC,11.348393629788449 +728159597,2219998,1119939,school,1,False,1,16,8,91019949,home,,13.0,WALK_LOC,11.368267487038814 +806388153,2458502,1173905,shopping,1,True,1,5,8,100798519,shopping,,8.0,SHARED2FREE,0.16957406666783342 +806388157,2458502,1173905,shopping,1,False,1,8,5,100798519,home,,8.0,SHARED2FREE,0.1684460835975957 +806388225,2458500,1173905,othmaint,1,True,1,7,8,100798528,othmaint,,12.0,WALK,8.971583091962668 +806388229,2458500,1173905,othmaint,1,False,1,8,7,100798528,home,,20.0,WALK,8.789583098654154 +806388401,2458501,1173905,escort,1,True,1,16,8,100798550,escort,,15.0,WALK_LOC,6.451456988932712 +806388405,2458501,1173905,escort,1,False,1,8,16,100798550,home,,16.0,WALK_LOC,6.4461881453421555 +806388905,2458502,1173905,school,1,True,2,7,8,100798613,social,55.65769426652772,8.0,WALK,13.486637386215971 +806388906,2458502,1173905,school,2,True,2,8,7,100798613,school,,8.0,WALK,11.315206418159061 +806388909,2458502,1173905,school,1,False,1,8,8,100798613,home,,18.0,WALK,11.737966424070635 +806389233,2458503,1173905,school,1,True,1,8,8,100798654,school,,8.0,WALK,11.737966424070635 +806389237,2458503,1173905,school,1,False,1,8,8,100798654,home,,14.0,WALK,11.737966424070635 +841877257,2566698,1196298,work,1,True,1,1,25,105234657,work,,6.0,WALK,0.5218384234138416 +841877261,2566698,1196298,work,1,False,1,25,1,105234657,home,,17.0,WALK_LOC,0.4855336440096437 +841877849,2566700,1196298,school,1,True,1,25,25,105234731,school,,7.0,WALK,12.824615869979219 +841877853,2566700,1196298,school,1,False,1,25,25,105234731,home,,15.0,WALK,12.824615869979219 +841878177,2566701,1196298,school,1,True,1,3,25,105234772,school,,8.0,WALK,8.979312480941104 +841878181,2566701,1196298,school,1,False,1,25,3,105234772,home,,13.0,WALK,8.979312481086987 +841878505,2566702,1196298,school,1,True,1,6,25,105234813,school,,12.0,WALK_LOC,11.70939586566571 +841878509,2566702,1196298,school,1,False,2,25,6,105234813,shopping,51.23589608925055,20.0,WALK_LOC,11.23832543650178 +841878510,2566702,1196298,school,2,False,2,25,25,105234813,home,,20.0,WALK,11.641815891720018 +943749401,2877284,1259353,univ,1,True,1,10,10,117968675,univ,,15.0,WALK,9.34727922548537 +943749405,2877284,1259353,univ,1,False,1,10,10,117968675,home,,17.0,WALK,9.34727922548537 +943749465,2877284,1259353,work,1,True,1,13,10,117968683,work,,7.0,WALK_LRF,0.39285322712215826 +943749469,2877284,1259353,work,1,False,3,9,13,117968683,eatout,29.363709748455584,11.0,WALK_HVY,0.4265638531516511 +943749470,2877284,1259353,work,2,False,3,8,9,117968683,work,47.461855567736485,11.0,WALK,8.991156229083943 +943749471,2877284,1259353,work,3,False,3,10,8,117968683,home,,11.0,WALK,10.039914397114577 +943750385,2877287,1259353,school,1,True,1,10,10,117968798,school,,10.0,WALK,9.347279215466022 +943750389,2877287,1259353,school,1,False,1,10,10,117968798,home,,15.0,WALK,9.347279215466022 +963188601,2936550,1286259,othdiscr,1,True,1,6,8,120398575,othdiscr,,14.0,WALK,12.612248980790358 +963188605,2936550,1286259,othdiscr,1,False,1,8,6,120398575,home,,17.0,WALK,12.322089000527528 +963188665,2936550,1286259,shopping,1,True,1,11,8,120398583,shopping,,12.0,WALK,4.840354366429668 +963188669,2936550,1286259,shopping,1,False,1,8,11,120398583,home,,13.0,WALK,4.940794055372203 +963285425,2936845,1286554,shopping,1,True,3,7,11,120410678,othmaint,50.280827949937844,13.0,WALK_LOC,14.233646338509287 +963285426,2936845,1286554,shopping,2,True,3,7,7,120410678,othmaint,49.79781642836821,13.0,WALK,14.220566232684588 +963285427,2936845,1286554,shopping,3,True,3,16,7,120410678,shopping,,14.0,WALK_LOC,7.183751385110174 +963285429,2936845,1286554,shopping,1,False,1,11,16,120410678,home,,15.0,WALK_LOC,7.336651300626303 +963285433,2936845,1286554,shopping,1,True,1,16,11,120410679,shopping,,16.0,WALK_LOC,7.037766548227764 +963285437,2936845,1286554,shopping,1,False,3,10,16,120410679,social,45.84404928260611,17.0,WALK_LOC,6.923754868269403 +963285438,2936845,1286554,shopping,2,False,3,7,10,120410679,shopping,53.4117213957967,17.0,WALK_LOC,10.288035655105002 +963285439,2936845,1286554,shopping,3,False,3,11,7,120410679,home,,17.0,WALK_LOC,13.878889285182701 +963286193,2936848,1286557,eatout,1,True,1,9,11,120410774,eatout,,14.0,WALK,9.079286100640175 +963286197,2936848,1286557,eatout,1,False,1,11,9,120410774,home,,15.0,WALK,9.101568714168469 +963286345,2936848,1286557,othdiscr,1,True,2,10,11,120410793,escort,33.67980057651356,15.0,WALK,8.178730791217355 +963286346,2936848,1286557,othdiscr,2,True,2,11,10,120410793,othdiscr,,16.0,WALK,3.366293797308929 +963286349,2936848,1286557,othdiscr,1,False,1,11,11,120410793,home,,16.0,WALK,3.65295752128872 +969957321,2957186,1306895,work,1,True,1,2,7,121244665,work,,7.0,WALK,-0.0337780381200135 +969957325,2957186,1306895,work,1,False,1,7,2,121244665,home,,19.0,WALK,0.008177164467904516 +1004301497,3061894,1363467,shopping,1,True,1,20,24,125537687,shopping,,12.0,TNC_SHARED,0.10121955466253282 +1004301501,3061894,1363467,shopping,1,False,1,24,20,125537687,home,,13.0,DRIVEALONEFREE,0.019236377431838474 +1004301761,3061895,1363467,othdiscr,1,True,1,9,24,125537720,othdiscr,,17.0,WALK_HVY,11.684658026322639 +1004301765,3061895,1363467,othdiscr,1,False,1,24,9,125537720,home,,19.0,WALK_LRF,11.49938905905555 +1004301785,3061895,1363467,othmaint,1,True,1,7,24,125537723,othmaint,,15.0,WALK,8.131583343724042 +1004301789,3061895,1363467,othmaint,1,False,1,24,7,125537723,home,,16.0,WALK,8.096583148991245 +1004301873,3061895,1363467,work,1,True,1,25,24,125537734,work,,6.0,WALK,10.08552703351978 +1004301877,3061895,1363467,work,1,False,1,24,25,125537734,home,,13.0,WALK,10.103127058632895 +1045822217,3188483,1402945,othdiscr,1,True,1,24,25,130727777,othdiscr,,9.0,WALK,3.118711021135967 +1045822221,3188483,1402945,othdiscr,1,False,1,25,24,130727777,home,,9.0,WALK,3.0963906344964696 +1045822409,3188482,1402945,work,1,True,2,7,25,130727801,work,34.564591307437105,8.0,WALK,10.411761425965901 +1045822410,3188482,1402945,work,2,True,2,24,7,130727801,work,,9.0,WALK,1.211444903376802 +1045822413,3188482,1402945,work,1,False,1,25,24,130727801,home,,17.0,WALK,2.091377723899355 +1045822737,3188483,1402945,work,1,True,1,2,25,130727842,work,,9.0,WALK,0.7316381092221191 +1045822741,3188483,1402945,work,1,False,1,25,2,130727842,home,,17.0,WALK_LOC,0.6404115318186951 +1045823001,3188484,1402945,univ,1,True,1,13,25,130727875,univ,,16.0,WALK,-1.5428778623620805 +1045823005,3188484,1402945,univ,1,False,3,7,13,130727875,shopping,30.41829198797714,17.0,WALK,-1.4237492795265192 +1045823006,3188484,1402945,univ,2,False,3,7,7,130727875,othmaint,59.4490857231952,17.0,WALK,13.5950373888898 +1045823007,3188484,1402945,univ,3,False,3,25,7,130727875,home,,17.0,WALK,12.646537396714635 +1045823065,3188484,1402945,work,1,True,1,2,25,130727883,work,,9.0,WALK,0.7316381092221191 +1045823069,3188484,1402945,work,1,False,1,25,2,130727883,home,,12.0,WALK_LOC,0.5898827035401254 +1045823393,3188485,1402945,work,1,True,2,25,25,130727924,escort,29.779997197410285,10.0,BIKE,10.416625527744298 +1045823394,3188485,1402945,work,2,True,2,2,25,130727924,work,,12.0,BIKE,-0.019493094347113764 +1045823397,3188485,1402945,work,1,False,2,7,2,130727924,eatout,29.723531295459807,20.0,BIKE,-0.21951892594579855 +1045823398,3188485,1402945,work,2,False,2,25,7,130727924,home,,21.0,BIKE,10.648166757292298 +1060575737,3233462,1445222,othdiscr,1,True,1,14,17,132571967,othdiscr,,7.0,WALK,1.8799351940528457 +1060575741,3233462,1445222,othdiscr,1,False,1,17,14,132571967,home,,7.0,WALK_LOC,1.6549807020273366 +1060575801,3233462,1445222,shopping,1,True,1,16,17,132571975,shopping,,6.0,WALK,7.8891489495492335 +1060575805,3233462,1445222,shopping,1,False,1,17,16,132571975,home,,6.0,WALK_LRF,7.904205187610422 +1060575809,3233462,1445222,shopping,1,True,1,13,17,132571976,shopping,,7.0,WALK_LOC,-0.15795552230629617 +1060575813,3233462,1445222,shopping,1,False,1,17,13,132571976,home,,7.0,WALK_LOC,-0.22691611232387354 +1060575849,3233462,1445222,work,1,True,1,22,17,132571981,work,,7.0,WALK_LRF,1.5282754769935067 +1060575853,3233462,1445222,work,1,False,1,17,22,132571981,home,,23.0,TNC_SINGLE,1.793267333094202 +1091733225,3328454,1511177,work,1,True,1,23,8,136466653,work,,8.0,WALK,1.9973214042777856 +1091733229,3328454,1511177,work,1,False,1,8,23,136466653,home,,17.0,WALK_LRF,1.9274289693810829 +1091770617,3328568,1511234,work,1,True,1,1,8,136471327,work,,6.0,WALK_LRF,0.24234305546243562 +1091770621,3328568,1511234,work,1,False,1,8,1,136471327,home,,17.0,WALK,0.17155654756009 +1091770681,3328569,1511234,eatout,1,True,1,13,8,136471335,eatout,,14.0,WALK,0.5773709562181402 +1091770685,3328569,1511234,eatout,1,False,1,8,13,136471335,home,,16.0,WALK_LRF,1.098907001128995 +1091770897,3328569,1511234,shopping,1,True,2,9,8,136471362,eatout,33.74288275937864,10.0,WALK_LOC,11.097623867544948 +1091770898,3328569,1511234,shopping,2,True,2,4,9,136471362,shopping,,10.0,WALK_LRF,1.1309568013629243 +1091770901,3328569,1511234,shopping,1,False,1,8,4,136471362,home,,10.0,WALK_LRF,1.3002912188200697 +1146269081,3494722,1594311,shopping,1,True,1,9,6,143283635,shopping,,10.0,WALK,10.997738192459229 +1146269085,3494722,1594311,shopping,1,False,1,6,9,143283635,home,,21.0,WALK_LRF,11.709159379750133 +1146269345,3494723,1594311,othdiscr,1,True,1,14,6,143283668,othdiscr,,10.0,WALK,0.15158164486570316 +1146269349,3494723,1594311,othdiscr,1,False,1,6,14,143283668,home,,10.0,WALK,0.2073758562238557 +1146269369,3494723,1594311,othmaint,1,True,1,6,6,143283671,othmaint,,12.0,TNC_SINGLE,1.3432618946478483 +1146269373,3494723,1594311,othmaint,1,False,4,8,6,143283671,escort,38.1793241548843,13.0,WALK_LOC,7.588550238896001 +1146269374,3494723,1594311,othmaint,2,False,4,7,8,143283671,eatout,40.890682936877425,13.0,WALK_LOC,7.537462582059922 +1146269375,3494723,1594311,othmaint,3,False,4,8,7,143283671,escort,39.65675834176312,14.0,WALK_LOC,8.523160001566511 +1146269376,3494723,1594311,othmaint,4,False,4,6,8,143283671,home,,14.0,WALK_LOC,6.863415521734783 +1146386553,3495080,1594490,work,1,True,1,8,9,143298319,work,,6.0,WALK,9.16817628901751 +1146386557,3495080,1594490,work,1,False,1,9,8,143298319,home,,11.0,WALK,9.16817628901751 +1146386561,3495080,1594490,work,1,True,1,8,9,143298320,work,,13.0,BIKE,9.234752840112652 +1146386565,3495080,1594490,work,1,False,1,9,8,143298320,home,,17.0,BIKE,9.234752840131266 +1146386881,3495081,1594490,work,1,True,1,2,9,143298360,work,,7.0,DRIVEALONEFREE,0.3163945129230105 +1146386885,3495081,1594490,work,1,False,1,9,2,143298360,home,,19.0,WALK,-0.6714321248757602 +1146472377,3495342,1594621,othdiscr,1,True,1,15,10,143309047,othdiscr,,16.0,WALK_LOC,1.6922670564497784 +1146472381,3495342,1594621,othdiscr,1,False,1,10,15,143309047,home,,22.0,WALK_LRF,1.7951585505312424 +1146472489,3495342,1594621,work,1,True,1,11,10,143309061,work,,7.0,WALK_LOC,4.611533756385394 +1146472493,3495342,1594621,work,1,False,1,10,11,143309061,home,,16.0,WALK,4.609280148452949 +1146472537,3495343,1594621,atwork,1,True,4,6,9,143309067,othmaint,43.892801127843825,14.0,WALK,12.430369125011044 +1146472538,3495343,1594621,atwork,2,True,4,6,6,143309067,shopping,43.85860241624266,14.0,WALK,13.016929006188155 +1146472539,3495343,1594621,atwork,3,True,4,7,6,143309067,escort,46.55936296536758,14.0,WALK,14.326586254989872 +1146472540,3495343,1594621,atwork,4,True,4,16,7,143309067,atwork,,14.0,WALK,5.875801157805464 +1146472541,3495343,1594621,atwork,1,False,1,9,16,143309067,work,,14.0,WALK,4.620305346152653 +1146472817,3495343,1594621,work,1,True,1,9,10,143309102,work,,13.0,WALK,8.030042709603043 +1146472821,3495343,1594621,work,1,False,1,10,9,143309102,home,,17.0,WALK,8.170842677581534 +1179607441,3596364,1645132,eatout,1,True,1,5,9,147450930,eatout,,14.0,WALK,3.8995482482297024 +1179607445,3596364,1645132,eatout,1,False,1,9,5,147450930,home,,14.0,WALK,3.983247379767863 +1179607657,3596364,1645132,shopping,1,True,1,22,9,147450957,shopping,,19.0,WALK_LRF,2.6756101195264512 +1179607661,3596364,1645132,shopping,1,False,3,8,22,147450957,shopping,37.58009946460086,20.0,WALK_LRF,2.7586049124405254 +1179607662,3596364,1645132,shopping,2,False,3,9,8,147450957,eatout,54.10980461901021,20.0,WALK_LOC,12.741255996041916 +1179607663,3596364,1645132,shopping,3,False,3,9,9,147450957,home,,20.0,WALK,10.764874611676083 +1179608009,3596365,1645132,social,1,True,1,9,9,147451001,social,,7.0,WALK,3.544669911588107 +1179608013,3596365,1645132,social,1,False,1,9,9,147451001,home,,18.0,WALK,3.5446075289165297 +1276281769,3891102,1747467,work,1,True,1,11,16,159535221,work,,7.0,WALK_LOC,4.3180888605508825 +1276281773,3891102,1747467,work,1,False,1,16,11,159535221,home,,16.0,WALK_LOC,4.308039287554886 +1276282049,3891103,1747467,shopping,1,True,1,16,16,159535256,shopping,,13.0,WALK,7.330879778846902 +1276282053,3891103,1747467,shopping,1,False,1,16,16,159535256,home,,16.0,WALK,7.330879779011079 +1276282313,3891104,1747467,othdiscr,1,True,1,2,16,159535289,othdiscr,,14.0,WALK,-0.013620982982507432 +1276282317,3891104,1747467,othdiscr,1,False,1,16,2,159535289,home,,15.0,WALK,-0.20327093589265946 +1276282321,3891104,1747467,othdiscr,1,True,1,19,16,159535290,othdiscr,,16.0,WALK_LOC,-0.028685356425070176 +1276282325,3891104,1747467,othdiscr,1,False,1,16,19,159535290,home,,21.0,WALK_LOC,-0.2990566938111557 +1276282361,3891104,1747467,school,1,True,1,17,16,159535295,school,,7.0,WALK_LRF,6.698072453217584 +1276282365,3891104,1747467,school,1,False,1,16,17,159535295,home,,14.0,WALK_LRF,6.665980554341056 +1368289969,4171615,1810015,univ,1,True,1,12,16,171036246,univ,,13.0,WALK,4.061179288088942 +1368289973,4171615,1810015,univ,1,False,1,16,12,171036246,home,,13.0,WALK,4.06117926693834 +1368290273,4171616,1810015,othmaint,1,True,1,3,16,171036284,othmaint,,9.0,WALK,5.752949863933666 +1368290277,4171616,1810015,othmaint,1,False,1,16,3,171036284,home,,11.0,WALK,5.595449988691705 +1368290689,4171617,1810015,work,1,True,2,8,16,171036336,social,23.477345398553453,9.0,WALK,7.896576327414681 +1368290690,4171617,1810015,work,2,True,2,15,8,171036336,work,,12.0,WALK,-0.8211572450364255 +1368290693,4171617,1810015,work,1,False,1,16,15,171036336,home,,18.0,WALK,0.23912905823533456 +1368291297,4171619,1810015,shopping,1,True,1,1,16,171036412,shopping,,13.0,WALK,-1.0053143437541998 +1368291301,4171619,1810015,shopping,1,False,2,7,1,171036412,shopping,29.483937506467267,14.0,WALK,-1.5297238905680486 +1368291302,4171619,1810015,shopping,2,False,2,16,7,171036412,home,,15.0,WALK,12.573466151788852 +1368291609,4171620,1810015,school,1,True,1,8,16,171036451,school,,7.0,WALK_LOC,10.68060996983474 +1368291613,4171620,1810015,school,1,False,1,16,8,171036451,home,,15.0,WALK_LOC,10.665116381563836 +1368292281,4171622,1810015,shopping,1,True,1,19,16,171036535,shopping,,9.0,WALK,-2.394141994327624 +1368292285,4171622,1810015,shopping,1,False,1,16,19,171036535,home,,15.0,WALK,-2.4219133842589526 +1368292377,4171623,1810015,atwork,1,True,1,7,21,171036547,atwork,,10.0,WALK,13.897946303660285 +1368292381,4171623,1810015,atwork,1,False,2,6,7,171036547,othmaint,62.239483838845736,10.0,WALK,14.364186248721689 +1368292382,4171623,1810015,atwork,2,False,2,21,6,171036547,work,,10.0,WALK,12.200629295549986 +1368292657,4171623,1810015,work,1,True,2,25,16,171036582,escort,30.234430836012045,8.0,WALK,9.029527074456235 +1368292658,4171623,1810015,work,2,True,2,21,25,171036582,work,,8.0,WALK,2.001441630738205 +1368292661,4171623,1810015,work,1,False,2,7,21,171036582,work,34.72578612209499,23.0,WALK,2.5646380272501803 +1368292662,4171623,1810015,work,2,False,2,16,7,171036582,home,,23.0,WALK,9.584561374619746 +1582205617,4823797,1952792,othdiscr,1,True,1,16,14,197775702,othdiscr,,16.0,WALK,6.996079351207767 +1582205621,4823797,1952792,othdiscr,1,False,1,14,16,197775702,home,,18.0,WALK,7.1523193586223615 +1582205641,4823797,1952792,othmaint,1,True,1,7,14,197775705,othmaint,,15.0,WALK,7.130522181030106 +1582205645,4823797,1952792,othmaint,1,False,1,14,7,197775705,home,,15.0,WALK,6.973127233279991 +1582205729,4823797,1952792,work,1,True,1,12,14,197775716,work,,11.0,BIKE,3.423281973078554 +1582205733,4823797,1952792,work,1,False,1,14,12,197775716,home,,15.0,BIKE,3.4232819641055308 +1658748793,5057160,2048204,work,1,True,1,23,5,207343599,work,,7.0,WALK_LRF,1.8355968767710429 +1658748797,5057160,2048204,work,1,False,1,5,23,207343599,home,,13.0,WALK_LOC,1.842947720747105 +1658806913,5057338,2048382,eatout,1,True,1,10,7,207350864,eatout,,20.0,WALK,11.50286632419377 +1658806917,5057338,2048382,eatout,1,False,1,7,10,207350864,home,,20.0,WALK,11.0200368363894 +1658807089,5057338,2048382,othmaint,1,True,1,7,7,207350886,othmaint,,18.0,WALK,9.041583134997413 +1658807093,5057338,2048382,othmaint,1,False,1,7,7,207350886,home,,18.0,WALK,9.041583134997413 +1658807129,5057338,2048382,shopping,1,True,1,25,7,207350891,shopping,,21.0,WALK,12.994038320235191 +1658807133,5057338,2048382,shopping,1,False,1,7,25,207350891,home,,21.0,WALK,13.394104919134762 +1658807153,5057338,2048382,social,1,True,1,6,7,207350894,social,,18.0,WALK_LOC,7.684253228078017 +1658807157,5057338,2048382,social,1,False,1,7,6,207350894,home,,19.0,WALK_LOC,7.33402873870212 +1658807177,5057338,2048382,work,1,True,1,2,7,207350897,work,,6.0,WALK,0.6535205296575887 +1658807181,5057338,2048382,work,1,False,1,7,2,207350897,home,,17.0,WALK_LOC,0.6994347038785153 +1658947233,5057765,2048809,work,1,True,2,7,11,207368404,othmaint,41.32372873126354,9.0,WALK,9.74799655032414 +1658947234,5057765,2048809,work,2,True,2,9,7,207368404,work,,10.0,WALK,6.865132518607951 +1658947237,5057765,2048809,work,1,False,2,7,9,207368404,othdiscr,41.72873279471032,18.0,WALK,6.9879753762580155 +1658947238,5057765,2048809,work,2,False,2,11,7,207368404,home,,19.0,WALK,9.756777663396537 +1766872681,5386806,2222549,work,1,True,1,6,7,220859085,work,,11.0,WALK,9.738342837552318 +1766872685,5386806,2222549,work,1,False,1,7,6,220859085,home,,20.0,WALK,9.694342837653268 +1766872897,5386807,2222549,othdiscr,1,True,1,12,7,220859112,othdiscr,,8.0,WALK,4.487964120759782 +1766872901,5386807,2222549,othdiscr,1,False,1,7,12,220859112,home,,11.0,WALK,4.677684033849861 +1766872921,5386807,2222549,othmaint,1,True,1,3,7,220859115,othmaint,,11.0,BIKE,6.172694404487658 +1766872925,5386807,2222549,othmaint,1,False,1,7,3,220859115,home,,20.0,BIKE,6.238827911694864 +1767013721,5387236,2222764,work,1,True,1,1,9,220876715,work,,7.0,WALK_LRF,0.04664514782966337 +1767013725,5387236,2222764,work,1,False,2,8,1,220876715,shopping,28.909939227991647,16.0,WALK_LRF,0.1788653428074841 +1767013726,5387236,2222764,work,2,False,2,9,8,220876715,home,,16.0,WALK_LOC,10.069778641158862 +1767013785,5387237,2222764,eatout,1,True,1,18,9,220876723,eatout,,7.0,WALK,-0.8620179693137903 +1767013789,5387237,2222764,eatout,1,False,1,9,18,220876723,home,,10.0,WALK,-0.9456924134250098 +1767182857,5387752,2223022,othdiscr,1,True,1,2,9,220897857,othdiscr,,12.0,WALK_LRF,0.8432475264235829 +1767182861,5387752,2223022,othdiscr,1,False,1,9,2,220897857,home,,16.0,WALK_LRF,0.8385261478700968 +1767182865,5387752,2223022,othdiscr,1,True,1,15,9,220897858,othdiscr,,17.0,WALK_LRF,2.0900485586027426 +1767182869,5387752,2223022,othdiscr,1,False,1,9,15,220897858,home,,22.0,WALK_LRF,1.9460060731362039 +1767182945,5387752,2223022,social,1,True,1,1,9,220897868,social,,16.0,WALK,0.46465917604621315 +1767182949,5387752,2223022,social,1,False,1,9,1,220897868,home,,17.0,WALK_LRF,0.45669754120063455 +1767183169,5387753,2223022,atwork,1,True,1,15,16,220897896,atwork,,13.0,WALK,1.060352265238824 +1767183173,5387753,2223022,atwork,1,False,1,16,15,220897896,work,,14.0,WALK,0.9475844555437405 +1767183297,5387753,2223022,work,1,True,1,16,9,220897912,work,,13.0,WALK_LRF,5.8148155261818735 +1767183301,5387753,2223022,work,1,False,1,9,16,220897912,home,,23.0,WALK_LOC,5.672300126651627 +1767186249,5387762,2223027,work,1,True,1,4,9,220898281,work,,7.0,WALK_HVY,0.8851251729940038 +1767186253,5387762,2223027,work,1,False,1,9,4,220898281,home,,17.0,WALK_LRF,0.8808191020800481 +1767186577,5387763,2223027,work,1,True,2,7,9,220898322,escort,33.115120502248885,8.0,WALK,11.45812100506256 +1767186578,5387763,2223027,work,2,True,2,14,7,220898322,work,,8.0,WALK_LOC,1.0900866492604258 +1767186581,5387763,2223027,work,1,False,2,9,14,220898322,othmaint,32.045095679314514,17.0,WALK_LRF,1.600735778924674 +1767186582,5387763,2223027,work,2,False,2,9,9,220898322,home,,17.0,WALK,8.75484607474322 +1767666161,5389226,2223759,atwork,1,True,1,2,1,220958270,atwork,,13.0,WALK,0.5422067947215797 +1767666165,5389226,2223759,atwork,1,False,1,1,2,220958270,work,,13.0,WALK,0.44445625677441347 +1767666233,5389226,2223759,eatout,1,True,1,13,16,220958279,eatout,,20.0,TNC_SINGLE,-0.053423172630162746 +1767666237,5389226,2223759,eatout,1,False,1,16,13,220958279,home,,20.0,TAXI,-0.053623759329434514 +1767666441,5389226,2223759,work,1,True,1,1,16,220958305,work,,9.0,WALK,-1.121725266718706 +1767666445,5389226,2223759,work,1,False,1,16,1,220958305,home,,18.0,WALK,-1.2712056171232493 +1767666769,5389227,2223759,work,1,True,1,23,16,220958346,work,,6.0,WALK,0.7526667284662408 +1767666773,5389227,2223759,work,1,False,1,16,23,220958346,home,,20.0,WALK,0.40072266203872847 +1768236897,5390966,2224629,eatout,1,True,1,6,17,221029612,eatout,,21.0,WALK,10.30212907420816 +1768236901,5390966,2224629,eatout,1,False,1,17,6,221029612,home,,21.0,WALK,10.497429173671067 +1768237161,5390966,2224629,work,1,True,1,16,17,221029645,work,,8.0,WALK,6.2269274780513095 +1768237165,5390966,2224629,work,1,False,3,25,16,221029645,shopping,39.336680792635605,17.0,WALK_LOC,5.402380363553101 +1768237166,5390966,2224629,work,2,False,3,7,25,221029645,work,52.8648395508862,18.0,WALK_LOC,10.68045131796518 +1768237167,5390966,2224629,work,3,False,3,17,7,221029645,home,,19.0,WALK,11.144495817944229 +1768237489,5390967,2224629,work,1,True,1,17,17,221029686,work,,6.0,WALK,4.58422197741571 +1768237493,5390967,2224629,work,1,False,1,17,17,221029686,home,,16.0,WALK,4.584221975695468 +2396217321,7305540,2727273,othdiscr,1,True,1,12,20,299527165,othdiscr,,15.0,WALK,3.8685996173550423 +2396217325,7305540,2727273,othdiscr,1,False,1,20,12,299527165,home,,21.0,WALK,3.5896037288320892 +2396217433,7305540,2727273,work,1,True,1,20,20,299527179,work,,11.0,WALK,1.104068131386293 +2396217437,7305540,2727273,work,1,False,1,20,20,299527179,home,,15.0,WALK,1.053200360752169 +2396217761,7305541,2727273,work,1,True,1,9,20,299527220,work,,6.0,WALK,7.774842814489909 +2396217765,7305541,2727273,work,1,False,1,20,9,299527220,home,,12.0,WALK,7.915642733452835 +2396217769,7305541,2727273,work,1,True,1,9,20,299527221,work,,13.0,WALK,7.774842814936839 +2396217773,7305541,2727273,work,1,False,1,20,9,299527221,home,,18.0,WALK,7.91564273351867 +2444719729,7453413,2762078,shopping,1,True,1,19,20,305589966,shopping,,16.0,WALK,-0.35226970200906427 +2444719733,7453413,2762078,shopping,1,False,1,20,19,305589966,home,,16.0,WALK,-0.30764319648513383 +2463663417,7511168,2819833,work,1,True,1,12,6,307957927,work,,7.0,WALK_LOC,4.3140448507884015 +2463663421,7511168,2819833,work,1,False,1,6,12,307957927,home,,18.0,WALK_LOC,4.242184145903074 +2463971785,7512109,2820774,atwork,1,True,1,8,2,307996473,atwork,,10.0,WALK,11.717494374110142 +2463971789,7512109,2820774,atwork,1,False,2,7,8,307996473,work,60.69572620723573,10.0,WALK,12.448894080618153 +2463971790,7512109,2820774,atwork,2,False,2,2,7,307996473,work,,10.0,WALK,13.86034632280424 +2463972065,7512109,2820774,work,1,True,1,2,8,307996508,work,,8.0,WALK,-0.6314685269146993 +2463972069,7512109,2820774,work,1,False,3,8,2,307996508,shopping,25.44599794712168,18.0,WALK,-0.7722559635889226 +2463972070,7512109,2820774,work,2,False,3,8,8,307996508,shopping,46.27968294620515,19.0,WALK,9.5289762031843 +2463972071,7512109,2820774,work,3,False,3,8,8,307996508,home,,19.0,WALK,9.5289762031843 +2464104641,7512514,2821179,eatout,1,True,1,13,8,308013080,eatout,,8.0,WALK,-1.171759971785514 +2464104645,7512514,2821179,eatout,1,False,1,8,13,308013080,home,,16.0,WALK,-1.238718768693438 +2464104857,7512514,2821179,shopping,1,True,1,6,8,308013107,shopping,,17.0,WALK,12.612248978887928 +2464104861,7512514,2821179,shopping,1,False,1,8,6,308013107,home,,19.0,WALK,12.322088998148224 +2464104881,7512514,2821179,social,1,True,1,9,8,308013110,social,,16.0,WALK,6.292424410910544 +2464104885,7512514,2821179,social,1,False,1,8,9,308013110,home,,16.0,WALK_LOC,6.322192231184282 +2464131801,7512596,2821261,work,1,True,1,9,8,308016475,work,,7.0,WALK,7.994842631686704 +2464131805,7512596,2821261,work,1,False,1,8,9,308016475,home,,18.0,WALK,7.994842631638774 +2464406009,7513432,2822097,work,1,True,1,7,8,308050751,work,,5.0,BIKE,11.002889267549957 +2464406013,7513432,2822097,work,1,False,1,8,7,308050751,home,,15.0,BIKE,10.880760381185553 +2464443401,7513546,2822211,work,1,True,1,2,8,308055425,work,,7.0,WALK,0.39720360149211287 +2464443405,7513546,2822211,work,1,False,1,8,2,308055425,home,,14.0,WALK,0.30758587884088223 +2464446025,7513554,2822219,work,1,True,1,9,8,308055753,work,,5.0,WALK,7.994842572799317 +2464446029,7513554,2822219,work,1,False,1,8,9,308055753,home,,16.0,WALK,7.994842572767652 +2464449633,7513565,2822230,work,1,True,2,9,8,308056204,univ,40.040196758213916,9.0,WALK,7.9948426686587775 +2464449634,7513565,2822230,work,2,True,2,25,9,308056204,work,,9.0,WALK,8.34752700809022 +2464449637,7513565,2822230,work,1,False,1,8,25,308056204,home,,18.0,WALK,9.31552710851258 +2467713777,7523517,2832182,othdiscr,1,True,1,9,7,308464222,othdiscr,,8.0,WALK,10.67469554537436 +2467713781,7523517,2832182,othdiscr,1,False,1,7,9,308464222,home,,13.0,WALK,10.735094428557618 +2467756745,7523648,2832313,othdiscr,1,True,1,9,10,308469593,othdiscr,,7.0,WALK,10.074887020641844 +2467756749,7523648,2832313,othdiscr,1,False,1,10,9,308469593,home,,15.0,WALK,10.253437116379446 +2472945097,7539466,2848131,univ,1,True,1,12,3,309118137,univ,,8.0,WALK_LOC,4.906414878767062 +2472945101,7539466,2848131,univ,1,False,1,3,12,309118137,home,,16.0,WALK_LOC,4.911355019850019 +2472945113,7539466,2848131,shopping,1,True,1,8,3,309118139,shopping,,18.0,WALK_LOC,12.537674605103387 +2472945117,7539466,2848131,shopping,1,False,2,25,8,309118139,shopping,56.84224709947086,21.0,WALK_LOC,11.880803559428648 +2472945118,7539466,2848131,shopping,2,False,2,3,25,309118139,home,,22.0,WALK,13.710030338551734 +2473024473,7539708,2848373,univ,1,True,1,13,18,309128059,univ,,16.0,WALK_LOC,-0.5306958894137668 +2473024477,7539708,2848373,univ,1,False,1,18,13,309128059,home,,23.0,WALK_LRF,0.6243040313566262